From 70459f05109634eb62b8b0e9f842c9e24c9d50c1 Mon Sep 17 00:00:00 2001 From: "Jorge hangar.org" Date: Thu, 30 Sep 2021 11:59:49 +0200 Subject: [PATCH] added logo EU creativemedia. added dis directory for wp theme --- .gitignore | 1 - dist/assets/css/app.css | 13741 ++++++++++ dist/assets/css/editor.css | 658 + dist/assets/fonts/WorkSans-Medium.woff | Bin 0 -> 105508 bytes dist/assets/fonts/WorkSans-MediumItalic.woff | Bin 0 -> 98824 bytes dist/assets/images/demo/customizable.svg | 54 + .../demo/hero-bg-foundation-6-large.svg | 1321 + .../demo/hero-bg-foundation-6-small.svg | 1309 + dist/assets/images/demo/professional.svg | 139 + dist/assets/images/demo/responsive.svg | 75 + dist/assets/images/demo/semantic.svg | 47 + dist/assets/img/ARC-HIVE-logo.jpg | Bin 0 -> 246683 bytes dist/assets/img/ARC-HIVE-logo.svg | 45 + ..._creative_europe_co_funded_black_right.svg | 146 + ...eu_flag_creative_europe_co_funded_left.svg | 261 + ...a-programme-of-the-european-union-flag.png | Bin 0 -> 295225 bytes dist/assets/js/app.js | 22516 ++++++++++++++++ dist/assets/js/app.js.map | 1 + ...a-programme-of-the-european-union-flag.png | Bin 0 -> 295225 bytes 19 files changed, 40313 insertions(+), 1 deletion(-) create mode 100644 dist/assets/css/app.css create mode 100644 dist/assets/css/editor.css create mode 100755 dist/assets/fonts/WorkSans-Medium.woff create mode 100755 dist/assets/fonts/WorkSans-MediumItalic.woff create mode 100644 dist/assets/images/demo/customizable.svg create mode 100644 dist/assets/images/demo/hero-bg-foundation-6-large.svg create mode 100644 dist/assets/images/demo/hero-bg-foundation-6-small.svg create mode 100644 dist/assets/images/demo/professional.svg create mode 100644 dist/assets/images/demo/responsive.svg create mode 100644 dist/assets/images/demo/semantic.svg create mode 100644 dist/assets/img/ARC-HIVE-logo.jpg create mode 100644 dist/assets/img/ARC-HIVE-logo.svg create mode 100644 dist/assets/img/eu_flag_creative_europe_co_funded_black_right.svg create mode 100644 dist/assets/img/eu_flag_creative_europe_co_funded_left.svg create mode 100644 dist/assets/img/rechts_co-funded-by-the-creative-europe-media-programme-of-the-european-union-flag.png create mode 100644 dist/assets/js/app.js create mode 100644 dist/assets/js/app.js.map create mode 100644 src/assets/img/rechts_co-funded-by-the-creative-europe-media-programme-of-the-european-union-flag.png diff --git a/.gitignore b/.gitignore index 4e18f8d..63c5cee 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,6 @@ FoundationPress/ .DS_Store node_modules npm-debug.log -dist config.yml *.sass-cache* *.log diff --git a/dist/assets/css/app.css b/dist/assets/css/app.css new file mode 100644 index 0000000..8de324d --- /dev/null +++ b/dist/assets/css/app.css @@ -0,0 +1,13741 @@ +@charset "UTF-8"; +@font-face { + font-family: 'worksans-medium'; + src: url("../fonts/WorkSans-Medium.woff") format("woff"); + font-weight: normal; + font-style: normal; } + +@font-face { + font-family: 'worksans-mediumitalic'; + src: url("../fonts/WorkSans-MediumItalic.woff") format("woff"); + font-weight: normal; + font-style: italic; } + +/** + * Foundation for Sites + * Version 6.6.3 + * https://get.foundation + * Licensed under MIT Open Source + */ +@media print, screen and (min-width: 40em) { + .reveal, .reveal.tiny, .reveal.small, .reveal.large { + right: auto; + left: auto; + margin: 0 auto; } } + +/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */ +html { + line-height: 1.15; + -webkit-text-size-adjust: 100%; } + +body { + margin: 0; } + +h1 { + font-size: 2em; + margin: 0.67em 0; } + +hr { + -webkit-box-sizing: content-box; + box-sizing: content-box; + height: 0; + overflow: visible; } + +pre { + font-family: monospace, monospace; + font-size: 1em; } + +a { + background-color: transparent; } + +abbr[title] { + border-bottom: none; + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; } + +b, +strong { + font-weight: bolder; } + +code, +kbd, +samp { + font-family: monospace, monospace; + font-size: 1em; } + +small { + font-size: 80%; } + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; } + +sub { + bottom: -0.25em; } + +sup { + top: -0.5em; } + +img { + border-style: none; } + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + font-size: 100%; + line-height: 1.15; + margin: 0; } + +button, +input { + overflow: visible; } + +button, +select { + text-transform: none; } + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; } + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; } + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; } + +fieldset { + padding: 0.35em 0.75em 0.625em; } + +legend { + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: inherit; + display: table; + max-width: 100%; + padding: 0; + white-space: normal; } + +progress { + vertical-align: baseline; } + +textarea { + overflow: auto; } + +[type="checkbox"], +[type="radio"] { + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 0; } + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; } + +[type="search"] { + -webkit-appearance: textfield; + outline-offset: -2px; } + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; } + +::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit; } + +details { + display: block; } + +summary { + display: list-item; } + +template { + display: none; } + +[hidden] { + display: none; } + +.foundation-mq { + font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; } + +html { + -webkit-box-sizing: border-box; + box-sizing: border-box; + font-size: 100%; } + +*, +*::before, +*::after { + -webkit-box-sizing: inherit; + box-sizing: inherit; } + +body { + margin: 0; + padding: 0; + background: #fefefe; + font-family: worksans-medium, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; + font-weight: normal; + line-height: 1.5; + color: #0a0a0a; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } + +img { + display: inline-block; + vertical-align: middle; + max-width: 100%; + height: auto; + -ms-interpolation-mode: bicubic; } + +textarea { + height: auto; + min-height: 50px; + border-radius: 0; } + +select { + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + border-radius: 0; } + +.map_canvas img, +.map_canvas embed, +.map_canvas object, +.mqa-display img, +.mqa-display embed, +.mqa-display object { + max-width: none !important; } + +button { + padding: 0; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border: 0; + border-radius: 0; + background: transparent; + line-height: 1; + cursor: auto; } + [data-whatinput='mouse'] button { + outline: 0; } + +pre { + overflow: auto; } + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; } + +.is-visible { + display: block !important; } + +.is-hidden { + display: none !important; } + +[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'], +textarea { + display: block; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + height: 2.4375rem; + margin: 0 0 1rem; + padding: 0.5rem; + border: 1px solid #cacaca; + border-radius: 0; + background-color: #fefefe; + -webkit-box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1); + box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1); + font-family: inherit; + font-size: 1rem; + font-weight: normal; + line-height: 1.5; + color: #0a0a0a; + -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; + transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; + transition: box-shadow 0.5s, border-color 0.25s ease-in-out; + transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; } + [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus, + textarea:focus { + outline: none; + border: 1px solid #8a8a8a; + background-color: #fefefe; + -webkit-box-shadow: 0 0 5px #cacaca; + box-shadow: 0 0 5px #cacaca; + -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; + transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; + transition: box-shadow 0.5s, border-color 0.25s ease-in-out; + transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; } + +textarea { + max-width: 100%; } + textarea[rows] { + height: auto; } + +input:disabled, input[readonly], +textarea:disabled, +textarea[readonly] { + background-color: #e6e6e6; + cursor: not-allowed; } + +[type='submit'], +[type='button'] { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: 0; } + +input[type='search'] { + -webkit-box-sizing: border-box; + box-sizing: border-box; } + +::-webkit-input-placeholder { + color: #cacaca; } + +::-moz-placeholder { + color: #cacaca; } + +:-ms-input-placeholder { + color: #cacaca; } + +::-ms-input-placeholder { + color: #cacaca; } + +::placeholder { + color: #cacaca; } + +[type='file'], +[type='checkbox'], +[type='radio'] { + margin: 0 0 1rem; } + +[type='checkbox'] + label, +[type='radio'] + label { + display: inline-block; + vertical-align: baseline; + margin-left: 0.5rem; + margin-right: 1rem; + margin-bottom: 0; } + [type='checkbox'] + label[for], + [type='radio'] + label[for] { + cursor: pointer; } + +label > [type='checkbox'], +label > [type='radio'] { + margin-right: 0.5rem; } + +[type='file'] { + width: 100%; } + +label { + display: block; + margin: 0; + font-size: 0.875rem; + font-weight: normal; + line-height: 1.8; + color: #0a0a0a; } + label.middle { + margin: 0 0 1rem; + padding: 0.5625rem 0; } + +.help-text { + margin-top: -0.5rem; + font-size: 0.8125rem; + font-style: italic; + color: #0a0a0a; } + +.input-group { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + width: 100%; + margin-bottom: 1rem; + -webkit-box-align: stretch; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + align-items: stretch; } + .input-group > :first-child, .input-group > :first-child.input-group-button > * { + border-radius: 0 0 0 0; } + .input-group > :last-child, .input-group > :last-child.input-group-button > * { + border-radius: 0 0 0 0; } + +.input-group-label, .input-group-field, .input-group-button, .input-group-button a, +.input-group-button input, +.input-group-button button, +.input-group-button label { + margin: 0; + white-space: nowrap; } + +.input-group-label { + padding: 0 1rem; + border: 1px solid #cacaca; + background: #e6e6e6; + color: #0a0a0a; + text-align: center; + white-space: nowrap; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; } + .input-group-label:first-child { + border-right: 0; } + .input-group-label:last-child { + border-left: 0; } + +.input-group-field { + border-radius: 0; + -webkit-box-flex: 1; + -webkit-flex: 1 1 0px; + -ms-flex: 1 1 0px; + flex: 1 1 0px; + min-width: 0; } + +.input-group-button { + padding-top: 0; + padding-bottom: 0; + text-align: center; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; } + .input-group-button a, + .input-group-button input, + .input-group-button button, + .input-group-button label { + -webkit-align-self: stretch; + -ms-flex-item-align: stretch; + align-self: stretch; + height: auto; + padding-top: 0; + padding-bottom: 0; + font-size: 1rem; } + +fieldset { + margin: 0; + padding: 0; + border: 0; } + +legend { + max-width: 100%; + margin-bottom: 0.5rem; } + +.fieldset { + margin: 1.125rem 0; + padding: 1.25rem; + border: 1px solid #cacaca; } + .fieldset legend { + margin: 0; + margin-left: -0.1875rem; + padding: 0 0.1875rem; } + +select { + height: 2.4375rem; + margin: 0 0 1rem; + padding: 0.5rem; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border: 1px solid #cacaca; + border-radius: 0; + background-color: #fefefe; + font-family: inherit; + font-size: 1rem; + font-weight: normal; + line-height: 1.5; + color: #0a0a0a; + background-image: url("data:image/svg+xml;utf8,"); + background-origin: content-box; + background-position: right -1rem center; + background-repeat: no-repeat; + background-size: 9px 6px; + padding-right: 1.5rem; + -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; + transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; + transition: box-shadow 0.5s, border-color 0.25s ease-in-out; + transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; } + @media screen and (min-width: 0\0) { + select { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } } + select:focus { + outline: none; + border: 1px solid #8a8a8a; + background-color: #fefefe; + -webkit-box-shadow: 0 0 5px #cacaca; + box-shadow: 0 0 5px #cacaca; + -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; + transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; + transition: box-shadow 0.5s, border-color 0.25s ease-in-out; + transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; } + select:disabled { + background-color: #e6e6e6; + cursor: not-allowed; } + select::-ms-expand { + display: none; } + select[multiple] { + height: auto; + background-image: none; } + select:not([multiple]) { + padding-top: 0; + padding-bottom: 0; } + +.is-invalid-input:not(:focus) { + border-color: #D32D1F; + background-color: #fae9e8; } + .is-invalid-input:not(:focus)::-webkit-input-placeholder { + color: #D32D1F; } + .is-invalid-input:not(:focus)::-moz-placeholder { + color: #D32D1F; } + .is-invalid-input:not(:focus):-ms-input-placeholder { + color: #D32D1F; } + .is-invalid-input:not(:focus)::-ms-input-placeholder { + color: #D32D1F; } + .is-invalid-input:not(:focus)::placeholder { + color: #D32D1F; } + +.is-invalid-label { + color: #D32D1F; } + +.form-error { + display: none; + margin-top: -0.5rem; + margin-bottom: 1rem; + font-size: 0.75rem; + font-weight: bold; + color: #D32D1F; } + .form-error.is-visible { + display: block; } + +div, +dl, +dt, +dd, +ul, +ol, +li, +h1, +h2, +h3, +h4, +h5, +h6, +pre, +form, +p, +blockquote, +th, +td { + margin: 0; + padding: 0; } + +p { + margin-bottom: 1rem; + font-size: inherit; + line-height: 1.6; + text-rendering: optimizeLegibility; } + +em, +i { + font-style: italic; + line-height: inherit; } + +strong, +b { + font-weight: bold; + line-height: inherit; } + +small { + font-size: 80%; + line-height: inherit; } + +h1, .h1, +h2, .h2, +h3, .h3, +h4, .h4, +h5, .h5, +h6, .h6 { + font-family: worksans-medium, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; + font-style: normal; + font-weight: normal; + color: inherit; + text-rendering: optimizeLegibility; } + h1 small, .h1 small, + h2 small, .h2 small, + h3 small, .h3 small, + h4 small, .h4 small, + h5 small, .h5 small, + h6 small, .h6 small { + line-height: 0; + color: #8a8a8a; } + +h1, .h1 { + font-size: 2.25rem; + line-height: 1.4; + margin-top: 0; + margin-bottom: 0.5rem; } + +h2, .h2 { + font-size: 1.875rem; + line-height: 1.4; + margin-top: 0; + margin-bottom: 0.5rem; } + +h3, .h3 { + font-size: 1.4375rem; + line-height: 1.4; + margin-top: 0; + margin-bottom: 0.5rem; } + +h4, .h4 { + font-size: 1.125rem; + line-height: 1.4; + margin-top: 0; + margin-bottom: 0.5rem; } + +h5, .h5 { + font-size: 1.0625rem; + line-height: 1.4; + margin-top: 0; + margin-bottom: 0.5rem; } + +h6, .h6 { + font-size: 1rem; + line-height: 1.4; + margin-top: 0; + margin-bottom: 0.5rem; } + +@media print, screen and (min-width: 40em) { + h1, .h1 { + font-size: 3.625rem; } + h2, .h2 { + font-size: 3.25rem; } + h3, .h3 { + font-size: 2.5rem; } + h4, .h4 { + font-size: 1.5625rem; } + h5, .h5 { + font-size: 1.25rem; } + h6, .h6 { + font-size: 1rem; } } + +a { + line-height: inherit; + color: #0000DD; + text-decoration: none; + cursor: pointer; } + a:hover, a:focus { + color: #0000DD; } + a img { + border: 0; } + +hr { + clear: both; + max-width: 100vw; + height: 0; + margin: 1.25rem auto; + border-top: 0; + border-right: 0; + border-bottom: 1px solid #cacaca; + border-left: 0; } + +ul, +ol, +dl { + margin-bottom: 1rem; + list-style-position: outside; + line-height: 1.6; } + +li { + font-size: inherit; } + +ul { + margin-left: 1.25rem; + list-style-type: disc; } + +ol { + margin-left: 1.25rem; } + +ul ul, ol ul, ul ol, ol ol { + margin-left: 1.25rem; + margin-bottom: 0; } + +dl { + margin-bottom: 1rem; } + dl dt { + margin-bottom: 0.3rem; + font-weight: bold; } + +blockquote { + margin: 0 0 1rem; + padding: 0.5625rem 1.25rem 0 1.1875rem; + border-left: 1px solid #cacaca; } + blockquote, blockquote p { + line-height: 1.6; + color: #8a8a8a; } + +abbr, abbr[title] { + border-bottom: 1px dotted #0a0a0a; + cursor: help; + text-decoration: none; } + +figure { + margin: 0; } + +kbd { + margin: 0; + padding: 0.125rem 0.25rem 0; + background-color: #e6e6e6; + font-family: Consolas, "Liberation Mono", Courier, monospace; + color: #0a0a0a; } + +.subheader { + margin-top: 0.2rem; + margin-bottom: 0.5rem; + font-weight: normal; + line-height: 1.4; + color: #8a8a8a; } + +.lead { + font-size: 125%; + line-height: 1.6; } + +.stat { + font-size: 2.5rem; + line-height: 1; } + p + .stat { + margin-top: -1rem; } + +ul.no-bullet, ol.no-bullet { + margin-left: 0; + list-style: none; } + +.cite-block, cite { + display: block; + color: #8a8a8a; + font-size: 0.8125rem; } + .cite-block:before, cite:before { + content: "— "; } + +.code-inline, code { + border: 1px solid #cacaca; + background-color: #e6e6e6; + font-family: Consolas, "Liberation Mono", Courier, monospace; + font-weight: normal; + color: #0a0a0a; + display: inline; + max-width: 100%; + word-wrap: break-word; + padding: 0.125rem 0.3125rem 0.0625rem; } + +.code-block { + border: 1px solid #cacaca; + background-color: #e6e6e6; + font-family: Consolas, "Liberation Mono", Courier, monospace; + font-weight: normal; + color: #0a0a0a; + display: block; + overflow: auto; + white-space: pre; + padding: 1rem; + margin-bottom: 1.5rem; } + +.text-left { + text-align: left; } + +.text-right { + text-align: right; } + +.text-center { + text-align: center; } + +.text-justify { + text-align: justify; } + +@media print, screen and (min-width: 40em) { + .medium-text-left { + text-align: left; } + .medium-text-right { + text-align: right; } + .medium-text-center { + text-align: center; } + .medium-text-justify { + text-align: justify; } } + +@media print, screen and (min-width: 64em) { + .large-text-left { + text-align: left; } + .large-text-right { + text-align: right; } + .large-text-center { + text-align: center; } + .large-text-justify { + text-align: justify; } } + +.show-for-print { + display: none !important; } + +@media print { + * { + background: transparent !important; + color: black !important; + -webkit-print-color-adjust: economy; + color-adjust: economy; + -webkit-box-shadow: none !important; + box-shadow: none !important; + text-shadow: none !important; } + .show-for-print { + display: block !important; } + .hide-for-print { + display: none !important; } + 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) ")"; } + .ir a:after, + a[href^='javascript:']:after, + a[href^='#']:after { + content: ''; } + abbr[title]:after { + content: " (" attr(title) ")"; } + pre, + blockquote { + border: 1px solid #8a8a8a; + page-break-inside: avoid; } + thead { + display: table-header-group; } + tr, + img { + page-break-inside: avoid; } + img { + max-width: 100% !important; } + @page { + margin: 0.5cm; } + p, + h2, + h3 { + orphans: 3; + widows: 3; } + h2, + h3 { + page-break-after: avoid; } + .print-break-inside { + page-break-inside: auto; } } + +.grid-container { + padding-right: 0.625rem; + padding-left: 0.625rem; + max-width: 100vw; + margin-left: auto; + margin-right: auto; } + @media print, screen and (min-width: 40em) { + .grid-container { + padding-right: 0.9375rem; + padding-left: 0.9375rem; } } + .grid-container.fluid { + padding-right: 0.625rem; + padding-left: 0.625rem; + max-width: 100%; + margin-left: auto; + margin-right: auto; } + @media print, screen and (min-width: 40em) { + .grid-container.fluid { + padding-right: 0.9375rem; + padding-left: 0.9375rem; } } + .grid-container.full { + padding-right: 0; + padding-left: 0; + max-width: 100%; + margin-left: auto; + margin-right: auto; } + +.grid-x { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; } + +.cell { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + min-height: 0px; + min-width: 0px; + width: 100%; } + .cell.auto { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0px; + -ms-flex: 1 1 0px; + flex: 1 1 0px; } + .cell.shrink { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; } + +.grid-x > .auto { + width: auto; } + +.grid-x > .shrink { + width: auto; } + +.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 { + -webkit-flex-basis: auto; + -ms-flex-preferred-size: auto; + flex-basis: auto; } + +@media print, screen and (min-width: 40em) { + .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 { + -webkit-flex-basis: auto; + -ms-flex-preferred-size: auto; + flex-basis: auto; } } + +@media print, screen and (min-width: 64em) { + .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 { + -webkit-flex-basis: auto; + -ms-flex-preferred-size: auto; + flex-basis: auto; } } + +.grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; } + +.grid-x > .small-1 { + width: 8.33333%; } + +.grid-x > .small-2 { + width: 16.66667%; } + +.grid-x > .small-3 { + width: 25%; } + +.grid-x > .small-4 { + width: 33.33333%; } + +.grid-x > .small-5 { + width: 41.66667%; } + +.grid-x > .small-6 { + width: 50%; } + +.grid-x > .small-7 { + width: 58.33333%; } + +.grid-x > .small-8 { + width: 66.66667%; } + +.grid-x > .small-9 { + width: 75%; } + +.grid-x > .small-10 { + width: 83.33333%; } + +.grid-x > .small-11 { + width: 91.66667%; } + +.grid-x > .small-12 { + width: 100%; } + +@media print, screen and (min-width: 40em) { + .grid-x > .medium-auto { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0px; + -ms-flex: 1 1 0px; + flex: 1 1 0px; + width: auto; } + .grid-x > .medium-shrink, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; } + .grid-x > .medium-shrink { + width: auto; } + .grid-x > .medium-1 { + width: 8.33333%; } + .grid-x > .medium-2 { + width: 16.66667%; } + .grid-x > .medium-3 { + width: 25%; } + .grid-x > .medium-4 { + width: 33.33333%; } + .grid-x > .medium-5 { + width: 41.66667%; } + .grid-x > .medium-6 { + width: 50%; } + .grid-x > .medium-7 { + width: 58.33333%; } + .grid-x > .medium-8 { + width: 66.66667%; } + .grid-x > .medium-9 { + width: 75%; } + .grid-x > .medium-10 { + width: 83.33333%; } + .grid-x > .medium-11 { + width: 91.66667%; } + .grid-x > .medium-12 { + width: 100%; } } + +@media print, screen and (min-width: 64em) { + .grid-x > .large-auto { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0px; + -ms-flex: 1 1 0px; + flex: 1 1 0px; + width: auto; } + .grid-x > .large-shrink, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; } + .grid-x > .large-shrink { + width: auto; } + .grid-x > .large-1 { + width: 8.33333%; } + .grid-x > .large-2 { + width: 16.66667%; } + .grid-x > .large-3 { + width: 25%; } + .grid-x > .large-4 { + width: 33.33333%; } + .grid-x > .large-5 { + width: 41.66667%; } + .grid-x > .large-6 { + width: 50%; } + .grid-x > .large-7 { + width: 58.33333%; } + .grid-x > .large-8 { + width: 66.66667%; } + .grid-x > .large-9 { + width: 75%; } + .grid-x > .large-10 { + width: 83.33333%; } + .grid-x > .large-11 { + width: 91.66667%; } + .grid-x > .large-12 { + width: 100%; } } + +.grid-margin-x:not(.grid-x) > .cell { + width: auto; } + +.grid-margin-y:not(.grid-y) > .cell { + height: auto; } + +.grid-margin-x { + margin-left: -0.625rem; + margin-right: -0.625rem; } + @media print, screen and (min-width: 40em) { + .grid-margin-x { + margin-left: -0.9375rem; + margin-right: -0.9375rem; } } + .grid-margin-x > .cell { + width: calc(100% - 1.25rem); + margin-left: 0.625rem; + margin-right: 0.625rem; } + @media print, screen and (min-width: 40em) { + .grid-margin-x > .cell { + width: calc(100% - 1.875rem); + margin-left: 0.9375rem; + margin-right: 0.9375rem; } } + .grid-margin-x > .auto { + width: auto; } + .grid-margin-x > .shrink { + width: auto; } + .grid-margin-x > .small-1 { + width: calc(8.33333% - 1.25rem); } + .grid-margin-x > .small-2 { + width: calc(16.66667% - 1.25rem); } + .grid-margin-x > .small-3 { + width: calc(25% - 1.25rem); } + .grid-margin-x > .small-4 { + width: calc(33.33333% - 1.25rem); } + .grid-margin-x > .small-5 { + width: calc(41.66667% - 1.25rem); } + .grid-margin-x > .small-6 { + width: calc(50% - 1.25rem); } + .grid-margin-x > .small-7 { + width: calc(58.33333% - 1.25rem); } + .grid-margin-x > .small-8 { + width: calc(66.66667% - 1.25rem); } + .grid-margin-x > .small-9 { + width: calc(75% - 1.25rem); } + .grid-margin-x > .small-10 { + width: calc(83.33333% - 1.25rem); } + .grid-margin-x > .small-11 { + width: calc(91.66667% - 1.25rem); } + .grid-margin-x > .small-12 { + width: calc(100% - 1.25rem); } + @media print, screen and (min-width: 40em) { + .grid-margin-x > .auto { + width: auto; } + .grid-margin-x > .shrink { + width: auto; } + .grid-margin-x > .small-1 { + width: calc(8.33333% - 1.875rem); } + .grid-margin-x > .small-2 { + width: calc(16.66667% - 1.875rem); } + .grid-margin-x > .small-3 { + width: calc(25% - 1.875rem); } + .grid-margin-x > .small-4 { + width: calc(33.33333% - 1.875rem); } + .grid-margin-x > .small-5 { + width: calc(41.66667% - 1.875rem); } + .grid-margin-x > .small-6 { + width: calc(50% - 1.875rem); } + .grid-margin-x > .small-7 { + width: calc(58.33333% - 1.875rem); } + .grid-margin-x > .small-8 { + width: calc(66.66667% - 1.875rem); } + .grid-margin-x > .small-9 { + width: calc(75% - 1.875rem); } + .grid-margin-x > .small-10 { + width: calc(83.33333% - 1.875rem); } + .grid-margin-x > .small-11 { + width: calc(91.66667% - 1.875rem); } + .grid-margin-x > .small-12 { + width: calc(100% - 1.875rem); } + .grid-margin-x > .medium-auto { + width: auto; } + .grid-margin-x > .medium-shrink { + width: auto; } + .grid-margin-x > .medium-1 { + width: calc(8.33333% - 1.875rem); } + .grid-margin-x > .medium-2 { + width: calc(16.66667% - 1.875rem); } + .grid-margin-x > .medium-3 { + width: calc(25% - 1.875rem); } + .grid-margin-x > .medium-4 { + width: calc(33.33333% - 1.875rem); } + .grid-margin-x > .medium-5 { + width: calc(41.66667% - 1.875rem); } + .grid-margin-x > .medium-6 { + width: calc(50% - 1.875rem); } + .grid-margin-x > .medium-7 { + width: calc(58.33333% - 1.875rem); } + .grid-margin-x > .medium-8 { + width: calc(66.66667% - 1.875rem); } + .grid-margin-x > .medium-9 { + width: calc(75% - 1.875rem); } + .grid-margin-x > .medium-10 { + width: calc(83.33333% - 1.875rem); } + .grid-margin-x > .medium-11 { + width: calc(91.66667% - 1.875rem); } + .grid-margin-x > .medium-12 { + width: calc(100% - 1.875rem); } } + @media print, screen and (min-width: 64em) { + .grid-margin-x > .large-auto { + width: auto; } + .grid-margin-x > .large-shrink { + width: auto; } + .grid-margin-x > .large-1 { + width: calc(8.33333% - 1.875rem); } + .grid-margin-x > .large-2 { + width: calc(16.66667% - 1.875rem); } + .grid-margin-x > .large-3 { + width: calc(25% - 1.875rem); } + .grid-margin-x > .large-4 { + width: calc(33.33333% - 1.875rem); } + .grid-margin-x > .large-5 { + width: calc(41.66667% - 1.875rem); } + .grid-margin-x > .large-6 { + width: calc(50% - 1.875rem); } + .grid-margin-x > .large-7 { + width: calc(58.33333% - 1.875rem); } + .grid-margin-x > .large-8 { + width: calc(66.66667% - 1.875rem); } + .grid-margin-x > .large-9 { + width: calc(75% - 1.875rem); } + .grid-margin-x > .large-10 { + width: calc(83.33333% - 1.875rem); } + .grid-margin-x > .large-11 { + width: calc(91.66667% - 1.875rem); } + .grid-margin-x > .large-12 { + width: calc(100% - 1.875rem); } } + +.grid-padding-x .grid-padding-x { + margin-right: -0.625rem; + margin-left: -0.625rem; } + @media print, screen and (min-width: 40em) { + .grid-padding-x .grid-padding-x { + margin-right: -0.9375rem; + margin-left: -0.9375rem; } } + +.grid-container:not(.full) > .grid-padding-x { + margin-right: -0.625rem; + margin-left: -0.625rem; } + @media print, screen and (min-width: 40em) { + .grid-container:not(.full) > .grid-padding-x { + margin-right: -0.9375rem; + margin-left: -0.9375rem; } } + +.grid-padding-x > .cell { + padding-right: 0.625rem; + padding-left: 0.625rem; } + @media print, screen and (min-width: 40em) { + .grid-padding-x > .cell { + padding-right: 0.9375rem; + padding-left: 0.9375rem; } } + +.small-up-1 > .cell { + width: 100%; } + +.small-up-2 > .cell { + width: 50%; } + +.small-up-3 > .cell { + width: 33.33333%; } + +.small-up-4 > .cell { + width: 25%; } + +.small-up-5 > .cell { + width: 20%; } + +.small-up-6 > .cell { + width: 16.66667%; } + +.small-up-7 > .cell { + width: 14.28571%; } + +.small-up-8 > .cell { + width: 12.5%; } + +@media print, screen and (min-width: 40em) { + .medium-up-1 > .cell { + width: 100%; } + .medium-up-2 > .cell { + width: 50%; } + .medium-up-3 > .cell { + width: 33.33333%; } + .medium-up-4 > .cell { + width: 25%; } + .medium-up-5 > .cell { + width: 20%; } + .medium-up-6 > .cell { + width: 16.66667%; } + .medium-up-7 > .cell { + width: 14.28571%; } + .medium-up-8 > .cell { + width: 12.5%; } } + +@media print, screen and (min-width: 64em) { + .large-up-1 > .cell { + width: 100%; } + .large-up-2 > .cell { + width: 50%; } + .large-up-3 > .cell { + width: 33.33333%; } + .large-up-4 > .cell { + width: 25%; } + .large-up-5 > .cell { + width: 20%; } + .large-up-6 > .cell { + width: 16.66667%; } + .large-up-7 > .cell { + width: 14.28571%; } + .large-up-8 > .cell { + width: 12.5%; } } + +.grid-margin-x.small-up-1 > .cell { + width: calc(100% - 1.25rem); } + +.grid-margin-x.small-up-2 > .cell { + width: calc(50% - 1.25rem); } + +.grid-margin-x.small-up-3 > .cell { + width: calc(33.33333% - 1.25rem); } + +.grid-margin-x.small-up-4 > .cell { + width: calc(25% - 1.25rem); } + +.grid-margin-x.small-up-5 > .cell { + width: calc(20% - 1.25rem); } + +.grid-margin-x.small-up-6 > .cell { + width: calc(16.66667% - 1.25rem); } + +.grid-margin-x.small-up-7 > .cell { + width: calc(14.28571% - 1.25rem); } + +.grid-margin-x.small-up-8 > .cell { + width: calc(12.5% - 1.25rem); } + +@media print, screen and (min-width: 40em) { + .grid-margin-x.small-up-1 > .cell { + width: calc(100% - 1.875rem); } + .grid-margin-x.small-up-2 > .cell { + width: calc(50% - 1.875rem); } + .grid-margin-x.small-up-3 > .cell { + width: calc(33.33333% - 1.875rem); } + .grid-margin-x.small-up-4 > .cell { + width: calc(25% - 1.875rem); } + .grid-margin-x.small-up-5 > .cell { + width: calc(20% - 1.875rem); } + .grid-margin-x.small-up-6 > .cell { + width: calc(16.66667% - 1.875rem); } + .grid-margin-x.small-up-7 > .cell { + width: calc(14.28571% - 1.875rem); } + .grid-margin-x.small-up-8 > .cell { + width: calc(12.5% - 1.875rem); } + .grid-margin-x.medium-up-1 > .cell { + width: calc(100% - 1.875rem); } + .grid-margin-x.medium-up-2 > .cell { + width: calc(50% - 1.875rem); } + .grid-margin-x.medium-up-3 > .cell { + width: calc(33.33333% - 1.875rem); } + .grid-margin-x.medium-up-4 > .cell { + width: calc(25% - 1.875rem); } + .grid-margin-x.medium-up-5 > .cell { + width: calc(20% - 1.875rem); } + .grid-margin-x.medium-up-6 > .cell { + width: calc(16.66667% - 1.875rem); } + .grid-margin-x.medium-up-7 > .cell { + width: calc(14.28571% - 1.875rem); } + .grid-margin-x.medium-up-8 > .cell { + width: calc(12.5% - 1.875rem); } } + +@media print, screen and (min-width: 64em) { + .grid-margin-x.large-up-1 > .cell { + width: calc(100% - 1.875rem); } + .grid-margin-x.large-up-2 > .cell { + width: calc(50% - 1.875rem); } + .grid-margin-x.large-up-3 > .cell { + width: calc(33.33333% - 1.875rem); } + .grid-margin-x.large-up-4 > .cell { + width: calc(25% - 1.875rem); } + .grid-margin-x.large-up-5 > .cell { + width: calc(20% - 1.875rem); } + .grid-margin-x.large-up-6 > .cell { + width: calc(16.66667% - 1.875rem); } + .grid-margin-x.large-up-7 > .cell { + width: calc(14.28571% - 1.875rem); } + .grid-margin-x.large-up-8 > .cell { + width: calc(12.5% - 1.875rem); } } + +.small-margin-collapse { + margin-right: 0; + margin-left: 0; } + .small-margin-collapse > .cell { + margin-right: 0; + margin-left: 0; } + .small-margin-collapse > .small-1 { + width: 8.33333%; } + .small-margin-collapse > .small-2 { + width: 16.66667%; } + .small-margin-collapse > .small-3 { + width: 25%; } + .small-margin-collapse > .small-4 { + width: 33.33333%; } + .small-margin-collapse > .small-5 { + width: 41.66667%; } + .small-margin-collapse > .small-6 { + width: 50%; } + .small-margin-collapse > .small-7 { + width: 58.33333%; } + .small-margin-collapse > .small-8 { + width: 66.66667%; } + .small-margin-collapse > .small-9 { + width: 75%; } + .small-margin-collapse > .small-10 { + width: 83.33333%; } + .small-margin-collapse > .small-11 { + width: 91.66667%; } + .small-margin-collapse > .small-12 { + width: 100%; } + @media print, screen and (min-width: 40em) { + .small-margin-collapse > .medium-1 { + width: 8.33333%; } + .small-margin-collapse > .medium-2 { + width: 16.66667%; } + .small-margin-collapse > .medium-3 { + width: 25%; } + .small-margin-collapse > .medium-4 { + width: 33.33333%; } + .small-margin-collapse > .medium-5 { + width: 41.66667%; } + .small-margin-collapse > .medium-6 { + width: 50%; } + .small-margin-collapse > .medium-7 { + width: 58.33333%; } + .small-margin-collapse > .medium-8 { + width: 66.66667%; } + .small-margin-collapse > .medium-9 { + width: 75%; } + .small-margin-collapse > .medium-10 { + width: 83.33333%; } + .small-margin-collapse > .medium-11 { + width: 91.66667%; } + .small-margin-collapse > .medium-12 { + width: 100%; } } + @media print, screen and (min-width: 64em) { + .small-margin-collapse > .large-1 { + width: 8.33333%; } + .small-margin-collapse > .large-2 { + width: 16.66667%; } + .small-margin-collapse > .large-3 { + width: 25%; } + .small-margin-collapse > .large-4 { + width: 33.33333%; } + .small-margin-collapse > .large-5 { + width: 41.66667%; } + .small-margin-collapse > .large-6 { + width: 50%; } + .small-margin-collapse > .large-7 { + width: 58.33333%; } + .small-margin-collapse > .large-8 { + width: 66.66667%; } + .small-margin-collapse > .large-9 { + width: 75%; } + .small-margin-collapse > .large-10 { + width: 83.33333%; } + .small-margin-collapse > .large-11 { + width: 91.66667%; } + .small-margin-collapse > .large-12 { + width: 100%; } } + +.small-padding-collapse { + margin-right: 0; + margin-left: 0; } + .small-padding-collapse > .cell { + padding-right: 0; + padding-left: 0; } + +@media print, screen and (min-width: 40em) { + .medium-margin-collapse { + margin-right: 0; + margin-left: 0; } + .medium-margin-collapse > .cell { + margin-right: 0; + margin-left: 0; } } + +@media print, screen and (min-width: 40em) { + .medium-margin-collapse > .small-1 { + width: 8.33333%; } + .medium-margin-collapse > .small-2 { + width: 16.66667%; } + .medium-margin-collapse > .small-3 { + width: 25%; } + .medium-margin-collapse > .small-4 { + width: 33.33333%; } + .medium-margin-collapse > .small-5 { + width: 41.66667%; } + .medium-margin-collapse > .small-6 { + width: 50%; } + .medium-margin-collapse > .small-7 { + width: 58.33333%; } + .medium-margin-collapse > .small-8 { + width: 66.66667%; } + .medium-margin-collapse > .small-9 { + width: 75%; } + .medium-margin-collapse > .small-10 { + width: 83.33333%; } + .medium-margin-collapse > .small-11 { + width: 91.66667%; } + .medium-margin-collapse > .small-12 { + width: 100%; } } + +@media print, screen and (min-width: 40em) { + .medium-margin-collapse > .medium-1 { + width: 8.33333%; } + .medium-margin-collapse > .medium-2 { + width: 16.66667%; } + .medium-margin-collapse > .medium-3 { + width: 25%; } + .medium-margin-collapse > .medium-4 { + width: 33.33333%; } + .medium-margin-collapse > .medium-5 { + width: 41.66667%; } + .medium-margin-collapse > .medium-6 { + width: 50%; } + .medium-margin-collapse > .medium-7 { + width: 58.33333%; } + .medium-margin-collapse > .medium-8 { + width: 66.66667%; } + .medium-margin-collapse > .medium-9 { + width: 75%; } + .medium-margin-collapse > .medium-10 { + width: 83.33333%; } + .medium-margin-collapse > .medium-11 { + width: 91.66667%; } + .medium-margin-collapse > .medium-12 { + width: 100%; } } + +@media print, screen and (min-width: 64em) { + .medium-margin-collapse > .large-1 { + width: 8.33333%; } + .medium-margin-collapse > .large-2 { + width: 16.66667%; } + .medium-margin-collapse > .large-3 { + width: 25%; } + .medium-margin-collapse > .large-4 { + width: 33.33333%; } + .medium-margin-collapse > .large-5 { + width: 41.66667%; } + .medium-margin-collapse > .large-6 { + width: 50%; } + .medium-margin-collapse > .large-7 { + width: 58.33333%; } + .medium-margin-collapse > .large-8 { + width: 66.66667%; } + .medium-margin-collapse > .large-9 { + width: 75%; } + .medium-margin-collapse > .large-10 { + width: 83.33333%; } + .medium-margin-collapse > .large-11 { + width: 91.66667%; } + .medium-margin-collapse > .large-12 { + width: 100%; } } + +@media print, screen and (min-width: 40em) { + .medium-padding-collapse { + margin-right: 0; + margin-left: 0; } + .medium-padding-collapse > .cell { + padding-right: 0; + padding-left: 0; } } + +@media print, screen and (min-width: 64em) { + .large-margin-collapse { + margin-right: 0; + margin-left: 0; } + .large-margin-collapse > .cell { + margin-right: 0; + margin-left: 0; } } + +@media print, screen and (min-width: 64em) { + .large-margin-collapse > .small-1 { + width: 8.33333%; } + .large-margin-collapse > .small-2 { + width: 16.66667%; } + .large-margin-collapse > .small-3 { + width: 25%; } + .large-margin-collapse > .small-4 { + width: 33.33333%; } + .large-margin-collapse > .small-5 { + width: 41.66667%; } + .large-margin-collapse > .small-6 { + width: 50%; } + .large-margin-collapse > .small-7 { + width: 58.33333%; } + .large-margin-collapse > .small-8 { + width: 66.66667%; } + .large-margin-collapse > .small-9 { + width: 75%; } + .large-margin-collapse > .small-10 { + width: 83.33333%; } + .large-margin-collapse > .small-11 { + width: 91.66667%; } + .large-margin-collapse > .small-12 { + width: 100%; } } + +@media print, screen and (min-width: 64em) { + .large-margin-collapse > .medium-1 { + width: 8.33333%; } + .large-margin-collapse > .medium-2 { + width: 16.66667%; } + .large-margin-collapse > .medium-3 { + width: 25%; } + .large-margin-collapse > .medium-4 { + width: 33.33333%; } + .large-margin-collapse > .medium-5 { + width: 41.66667%; } + .large-margin-collapse > .medium-6 { + width: 50%; } + .large-margin-collapse > .medium-7 { + width: 58.33333%; } + .large-margin-collapse > .medium-8 { + width: 66.66667%; } + .large-margin-collapse > .medium-9 { + width: 75%; } + .large-margin-collapse > .medium-10 { + width: 83.33333%; } + .large-margin-collapse > .medium-11 { + width: 91.66667%; } + .large-margin-collapse > .medium-12 { + width: 100%; } } + +@media print, screen and (min-width: 64em) { + .large-margin-collapse > .large-1 { + width: 8.33333%; } + .large-margin-collapse > .large-2 { + width: 16.66667%; } + .large-margin-collapse > .large-3 { + width: 25%; } + .large-margin-collapse > .large-4 { + width: 33.33333%; } + .large-margin-collapse > .large-5 { + width: 41.66667%; } + .large-margin-collapse > .large-6 { + width: 50%; } + .large-margin-collapse > .large-7 { + width: 58.33333%; } + .large-margin-collapse > .large-8 { + width: 66.66667%; } + .large-margin-collapse > .large-9 { + width: 75%; } + .large-margin-collapse > .large-10 { + width: 83.33333%; } + .large-margin-collapse > .large-11 { + width: 91.66667%; } + .large-margin-collapse > .large-12 { + width: 100%; } } + +@media print, screen and (min-width: 64em) { + .large-padding-collapse { + margin-right: 0; + margin-left: 0; } + .large-padding-collapse > .cell { + padding-right: 0; + padding-left: 0; } } + +.small-offset-0 { + margin-left: 0%; } + +.grid-margin-x > .small-offset-0 { + margin-left: calc(0% + 0.625rem); } + +.small-offset-1 { + margin-left: 8.33333%; } + +.grid-margin-x > .small-offset-1 { + margin-left: calc(8.33333% + 0.625rem); } + +.small-offset-2 { + margin-left: 16.66667%; } + +.grid-margin-x > .small-offset-2 { + margin-left: calc(16.66667% + 0.625rem); } + +.small-offset-3 { + margin-left: 25%; } + +.grid-margin-x > .small-offset-3 { + margin-left: calc(25% + 0.625rem); } + +.small-offset-4 { + margin-left: 33.33333%; } + +.grid-margin-x > .small-offset-4 { + margin-left: calc(33.33333% + 0.625rem); } + +.small-offset-5 { + margin-left: 41.66667%; } + +.grid-margin-x > .small-offset-5 { + margin-left: calc(41.66667% + 0.625rem); } + +.small-offset-6 { + margin-left: 50%; } + +.grid-margin-x > .small-offset-6 { + margin-left: calc(50% + 0.625rem); } + +.small-offset-7 { + margin-left: 58.33333%; } + +.grid-margin-x > .small-offset-7 { + margin-left: calc(58.33333% + 0.625rem); } + +.small-offset-8 { + margin-left: 66.66667%; } + +.grid-margin-x > .small-offset-8 { + margin-left: calc(66.66667% + 0.625rem); } + +.small-offset-9 { + margin-left: 75%; } + +.grid-margin-x > .small-offset-9 { + margin-left: calc(75% + 0.625rem); } + +.small-offset-10 { + margin-left: 83.33333%; } + +.grid-margin-x > .small-offset-10 { + margin-left: calc(83.33333% + 0.625rem); } + +.small-offset-11 { + margin-left: 91.66667%; } + +.grid-margin-x > .small-offset-11 { + margin-left: calc(91.66667% + 0.625rem); } + +@media print, screen and (min-width: 40em) { + .medium-offset-0 { + margin-left: 0%; } + .grid-margin-x > .medium-offset-0 { + margin-left: calc(0% + 0.9375rem); } + .medium-offset-1 { + margin-left: 8.33333%; } + .grid-margin-x > .medium-offset-1 { + margin-left: calc(8.33333% + 0.9375rem); } + .medium-offset-2 { + margin-left: 16.66667%; } + .grid-margin-x > .medium-offset-2 { + margin-left: calc(16.66667% + 0.9375rem); } + .medium-offset-3 { + margin-left: 25%; } + .grid-margin-x > .medium-offset-3 { + margin-left: calc(25% + 0.9375rem); } + .medium-offset-4 { + margin-left: 33.33333%; } + .grid-margin-x > .medium-offset-4 { + margin-left: calc(33.33333% + 0.9375rem); } + .medium-offset-5 { + margin-left: 41.66667%; } + .grid-margin-x > .medium-offset-5 { + margin-left: calc(41.66667% + 0.9375rem); } + .medium-offset-6 { + margin-left: 50%; } + .grid-margin-x > .medium-offset-6 { + margin-left: calc(50% + 0.9375rem); } + .medium-offset-7 { + margin-left: 58.33333%; } + .grid-margin-x > .medium-offset-7 { + margin-left: calc(58.33333% + 0.9375rem); } + .medium-offset-8 { + margin-left: 66.66667%; } + .grid-margin-x > .medium-offset-8 { + margin-left: calc(66.66667% + 0.9375rem); } + .medium-offset-9 { + margin-left: 75%; } + .grid-margin-x > .medium-offset-9 { + margin-left: calc(75% + 0.9375rem); } + .medium-offset-10 { + margin-left: 83.33333%; } + .grid-margin-x > .medium-offset-10 { + margin-left: calc(83.33333% + 0.9375rem); } + .medium-offset-11 { + margin-left: 91.66667%; } + .grid-margin-x > .medium-offset-11 { + margin-left: calc(91.66667% + 0.9375rem); } } + +@media print, screen and (min-width: 64em) { + .large-offset-0 { + margin-left: 0%; } + .grid-margin-x > .large-offset-0 { + margin-left: calc(0% + 0.9375rem); } + .large-offset-1 { + margin-left: 8.33333%; } + .grid-margin-x > .large-offset-1 { + margin-left: calc(8.33333% + 0.9375rem); } + .large-offset-2 { + margin-left: 16.66667%; } + .grid-margin-x > .large-offset-2 { + margin-left: calc(16.66667% + 0.9375rem); } + .large-offset-3 { + margin-left: 25%; } + .grid-margin-x > .large-offset-3 { + margin-left: calc(25% + 0.9375rem); } + .large-offset-4 { + margin-left: 33.33333%; } + .grid-margin-x > .large-offset-4 { + margin-left: calc(33.33333% + 0.9375rem); } + .large-offset-5 { + margin-left: 41.66667%; } + .grid-margin-x > .large-offset-5 { + margin-left: calc(41.66667% + 0.9375rem); } + .large-offset-6 { + margin-left: 50%; } + .grid-margin-x > .large-offset-6 { + margin-left: calc(50% + 0.9375rem); } + .large-offset-7 { + margin-left: 58.33333%; } + .grid-margin-x > .large-offset-7 { + margin-left: calc(58.33333% + 0.9375rem); } + .large-offset-8 { + margin-left: 66.66667%; } + .grid-margin-x > .large-offset-8 { + margin-left: calc(66.66667% + 0.9375rem); } + .large-offset-9 { + margin-left: 75%; } + .grid-margin-x > .large-offset-9 { + margin-left: calc(75% + 0.9375rem); } + .large-offset-10 { + margin-left: 83.33333%; } + .grid-margin-x > .large-offset-10 { + margin-left: calc(83.33333% + 0.9375rem); } + .large-offset-11 { + margin-left: 91.66667%; } + .grid-margin-x > .large-offset-11 { + margin-left: calc(91.66667% + 0.9375rem); } } + +.grid-y { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-flow: column nowrap; + -ms-flex-flow: column nowrap; + flex-flow: column nowrap; } + .grid-y > .cell { + height: auto; + max-height: none; } + .grid-y > .auto { + height: auto; } + .grid-y > .shrink { + height: auto; } + .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 { + -webkit-flex-basis: auto; + -ms-flex-preferred-size: auto; + flex-basis: auto; } + @media print, screen and (min-width: 40em) { + .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 { + -webkit-flex-basis: auto; + -ms-flex-preferred-size: auto; + flex-basis: auto; } } + @media print, screen and (min-width: 64em) { + .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 { + -webkit-flex-basis: auto; + -ms-flex-preferred-size: auto; + flex-basis: auto; } } + .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; } + .grid-y > .small-1 { + height: 8.33333%; } + .grid-y > .small-2 { + height: 16.66667%; } + .grid-y > .small-3 { + height: 25%; } + .grid-y > .small-4 { + height: 33.33333%; } + .grid-y > .small-5 { + height: 41.66667%; } + .grid-y > .small-6 { + height: 50%; } + .grid-y > .small-7 { + height: 58.33333%; } + .grid-y > .small-8 { + height: 66.66667%; } + .grid-y > .small-9 { + height: 75%; } + .grid-y > .small-10 { + height: 83.33333%; } + .grid-y > .small-11 { + height: 91.66667%; } + .grid-y > .small-12 { + height: 100%; } + @media print, screen and (min-width: 40em) { + .grid-y > .medium-auto { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0px; + -ms-flex: 1 1 0px; + flex: 1 1 0px; + height: auto; } + .grid-y > .medium-shrink, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; } + .grid-y > .medium-shrink { + height: auto; } + .grid-y > .medium-1 { + height: 8.33333%; } + .grid-y > .medium-2 { + height: 16.66667%; } + .grid-y > .medium-3 { + height: 25%; } + .grid-y > .medium-4 { + height: 33.33333%; } + .grid-y > .medium-5 { + height: 41.66667%; } + .grid-y > .medium-6 { + height: 50%; } + .grid-y > .medium-7 { + height: 58.33333%; } + .grid-y > .medium-8 { + height: 66.66667%; } + .grid-y > .medium-9 { + height: 75%; } + .grid-y > .medium-10 { + height: 83.33333%; } + .grid-y > .medium-11 { + height: 91.66667%; } + .grid-y > .medium-12 { + height: 100%; } } + @media print, screen and (min-width: 64em) { + .grid-y > .large-auto { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0px; + -ms-flex: 1 1 0px; + flex: 1 1 0px; + height: auto; } + .grid-y > .large-shrink, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; } + .grid-y > .large-shrink { + height: auto; } + .grid-y > .large-1 { + height: 8.33333%; } + .grid-y > .large-2 { + height: 16.66667%; } + .grid-y > .large-3 { + height: 25%; } + .grid-y > .large-4 { + height: 33.33333%; } + .grid-y > .large-5 { + height: 41.66667%; } + .grid-y > .large-6 { + height: 50%; } + .grid-y > .large-7 { + height: 58.33333%; } + .grid-y > .large-8 { + height: 66.66667%; } + .grid-y > .large-9 { + height: 75%; } + .grid-y > .large-10 { + height: 83.33333%; } + .grid-y > .large-11 { + height: 91.66667%; } + .grid-y > .large-12 { + height: 100%; } } + +.grid-padding-y .grid-padding-y { + margin-top: -0.625rem; + margin-bottom: -0.625rem; } + @media print, screen and (min-width: 40em) { + .grid-padding-y .grid-padding-y { + margin-top: -0.9375rem; + margin-bottom: -0.9375rem; } } + +.grid-padding-y > .cell { + padding-top: 0.625rem; + padding-bottom: 0.625rem; } + @media print, screen and (min-width: 40em) { + .grid-padding-y > .cell { + padding-top: 0.9375rem; + padding-bottom: 0.9375rem; } } + +.grid-margin-y { + margin-top: -0.625rem; + margin-bottom: -0.625rem; } + @media print, screen and (min-width: 40em) { + .grid-margin-y { + margin-top: -0.9375rem; + margin-bottom: -0.9375rem; } } + .grid-margin-y > .cell { + height: calc(100% - 1.25rem); + margin-top: 0.625rem; + margin-bottom: 0.625rem; } + @media print, screen and (min-width: 40em) { + .grid-margin-y > .cell { + height: calc(100% - 1.875rem); + margin-top: 0.9375rem; + margin-bottom: 0.9375rem; } } + .grid-margin-y > .auto { + height: auto; } + .grid-margin-y > .shrink { + height: auto; } + .grid-margin-y > .small-1 { + height: calc(8.33333% - 1.25rem); } + .grid-margin-y > .small-2 { + height: calc(16.66667% - 1.25rem); } + .grid-margin-y > .small-3 { + height: calc(25% - 1.25rem); } + .grid-margin-y > .small-4 { + height: calc(33.33333% - 1.25rem); } + .grid-margin-y > .small-5 { + height: calc(41.66667% - 1.25rem); } + .grid-margin-y > .small-6 { + height: calc(50% - 1.25rem); } + .grid-margin-y > .small-7 { + height: calc(58.33333% - 1.25rem); } + .grid-margin-y > .small-8 { + height: calc(66.66667% - 1.25rem); } + .grid-margin-y > .small-9 { + height: calc(75% - 1.25rem); } + .grid-margin-y > .small-10 { + height: calc(83.33333% - 1.25rem); } + .grid-margin-y > .small-11 { + height: calc(91.66667% - 1.25rem); } + .grid-margin-y > .small-12 { + height: calc(100% - 1.25rem); } + @media print, screen and (min-width: 40em) { + .grid-margin-y > .auto { + height: auto; } + .grid-margin-y > .shrink { + height: auto; } + .grid-margin-y > .small-1 { + height: calc(8.33333% - 1.875rem); } + .grid-margin-y > .small-2 { + height: calc(16.66667% - 1.875rem); } + .grid-margin-y > .small-3 { + height: calc(25% - 1.875rem); } + .grid-margin-y > .small-4 { + height: calc(33.33333% - 1.875rem); } + .grid-margin-y > .small-5 { + height: calc(41.66667% - 1.875rem); } + .grid-margin-y > .small-6 { + height: calc(50% - 1.875rem); } + .grid-margin-y > .small-7 { + height: calc(58.33333% - 1.875rem); } + .grid-margin-y > .small-8 { + height: calc(66.66667% - 1.875rem); } + .grid-margin-y > .small-9 { + height: calc(75% - 1.875rem); } + .grid-margin-y > .small-10 { + height: calc(83.33333% - 1.875rem); } + .grid-margin-y > .small-11 { + height: calc(91.66667% - 1.875rem); } + .grid-margin-y > .small-12 { + height: calc(100% - 1.875rem); } + .grid-margin-y > .medium-auto { + height: auto; } + .grid-margin-y > .medium-shrink { + height: auto; } + .grid-margin-y > .medium-1 { + height: calc(8.33333% - 1.875rem); } + .grid-margin-y > .medium-2 { + height: calc(16.66667% - 1.875rem); } + .grid-margin-y > .medium-3 { + height: calc(25% - 1.875rem); } + .grid-margin-y > .medium-4 { + height: calc(33.33333% - 1.875rem); } + .grid-margin-y > .medium-5 { + height: calc(41.66667% - 1.875rem); } + .grid-margin-y > .medium-6 { + height: calc(50% - 1.875rem); } + .grid-margin-y > .medium-7 { + height: calc(58.33333% - 1.875rem); } + .grid-margin-y > .medium-8 { + height: calc(66.66667% - 1.875rem); } + .grid-margin-y > .medium-9 { + height: calc(75% - 1.875rem); } + .grid-margin-y > .medium-10 { + height: calc(83.33333% - 1.875rem); } + .grid-margin-y > .medium-11 { + height: calc(91.66667% - 1.875rem); } + .grid-margin-y > .medium-12 { + height: calc(100% - 1.875rem); } } + @media print, screen and (min-width: 64em) { + .grid-margin-y > .large-auto { + height: auto; } + .grid-margin-y > .large-shrink { + height: auto; } + .grid-margin-y > .large-1 { + height: calc(8.33333% - 1.875rem); } + .grid-margin-y > .large-2 { + height: calc(16.66667% - 1.875rem); } + .grid-margin-y > .large-3 { + height: calc(25% - 1.875rem); } + .grid-margin-y > .large-4 { + height: calc(33.33333% - 1.875rem); } + .grid-margin-y > .large-5 { + height: calc(41.66667% - 1.875rem); } + .grid-margin-y > .large-6 { + height: calc(50% - 1.875rem); } + .grid-margin-y > .large-7 { + height: calc(58.33333% - 1.875rem); } + .grid-margin-y > .large-8 { + height: calc(66.66667% - 1.875rem); } + .grid-margin-y > .large-9 { + height: calc(75% - 1.875rem); } + .grid-margin-y > .large-10 { + height: calc(83.33333% - 1.875rem); } + .grid-margin-y > .large-11 { + height: calc(91.66667% - 1.875rem); } + .grid-margin-y > .large-12 { + height: calc(100% - 1.875rem); } } + +.grid-frame { + overflow: hidden; + position: relative; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-align: stretch; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + align-items: stretch; + width: 100vw; } + +.cell .grid-frame { + width: 100%; } + +.cell-block { + overflow-x: auto; + max-width: 100%; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; } + +.cell-block-y { + overflow-y: auto; + max-height: 100%; + min-height: 100%; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; } + +.cell-block-container { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + max-height: 100%; } + .cell-block-container > .grid-x { + max-height: 100%; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; } + +@media print, screen and (min-width: 40em) { + .medium-grid-frame { + overflow: hidden; + position: relative; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-align: stretch; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + align-items: stretch; + width: 100vw; } + .cell .medium-grid-frame { + width: 100%; } + .medium-cell-block { + overflow-x: auto; + max-width: 100%; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; } + .medium-cell-block-container { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + max-height: 100%; } + .medium-cell-block-container > .grid-x { + max-height: 100%; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; } + .medium-cell-block-y { + overflow-y: auto; + max-height: 100%; + min-height: 100%; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; } } + +@media print, screen and (min-width: 64em) { + .large-grid-frame { + overflow: hidden; + position: relative; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-align: stretch; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + align-items: stretch; + width: 100vw; } + .cell .large-grid-frame { + width: 100%; } + .large-cell-block { + overflow-x: auto; + max-width: 100%; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; } + .large-cell-block-container { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + max-height: 100%; } + .large-cell-block-container > .grid-x { + max-height: 100%; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; } + .large-cell-block-y { + overflow-y: auto; + max-height: 100%; + min-height: 100%; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; } } + +.grid-y.grid-frame { + width: auto; + overflow: hidden; + position: relative; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-align: stretch; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + align-items: stretch; + height: 100vh; } + +@media print, screen and (min-width: 40em) { + .grid-y.medium-grid-frame { + width: auto; + overflow: hidden; + position: relative; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-align: stretch; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + align-items: stretch; + height: 100vh; } } + +@media print, screen and (min-width: 64em) { + .grid-y.large-grid-frame { + width: auto; + overflow: hidden; + position: relative; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-align: stretch; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + align-items: stretch; + height: 100vh; } } + +.cell .grid-y.grid-frame { + height: 100%; } + +@media print, screen and (min-width: 40em) { + .cell .grid-y.medium-grid-frame { + height: 100%; } } + +@media print, screen and (min-width: 64em) { + .cell .grid-y.large-grid-frame { + height: 100%; } } + +.grid-margin-y { + margin-top: -0.625rem; + margin-bottom: -0.625rem; } + @media print, screen and (min-width: 40em) { + .grid-margin-y { + margin-top: -0.9375rem; + margin-bottom: -0.9375rem; } } + .grid-margin-y > .cell { + height: calc(100% - 1.25rem); + margin-top: 0.625rem; + margin-bottom: 0.625rem; } + @media print, screen and (min-width: 40em) { + .grid-margin-y > .cell { + height: calc(100% - 1.875rem); + margin-top: 0.9375rem; + margin-bottom: 0.9375rem; } } + .grid-margin-y > .auto { + height: auto; } + .grid-margin-y > .shrink { + height: auto; } + .grid-margin-y > .small-1 { + height: calc(8.33333% - 1.25rem); } + .grid-margin-y > .small-2 { + height: calc(16.66667% - 1.25rem); } + .grid-margin-y > .small-3 { + height: calc(25% - 1.25rem); } + .grid-margin-y > .small-4 { + height: calc(33.33333% - 1.25rem); } + .grid-margin-y > .small-5 { + height: calc(41.66667% - 1.25rem); } + .grid-margin-y > .small-6 { + height: calc(50% - 1.25rem); } + .grid-margin-y > .small-7 { + height: calc(58.33333% - 1.25rem); } + .grid-margin-y > .small-8 { + height: calc(66.66667% - 1.25rem); } + .grid-margin-y > .small-9 { + height: calc(75% - 1.25rem); } + .grid-margin-y > .small-10 { + height: calc(83.33333% - 1.25rem); } + .grid-margin-y > .small-11 { + height: calc(91.66667% - 1.25rem); } + .grid-margin-y > .small-12 { + height: calc(100% - 1.25rem); } + @media print, screen and (min-width: 40em) { + .grid-margin-y > .auto { + height: auto; } + .grid-margin-y > .shrink { + height: auto; } + .grid-margin-y > .small-1 { + height: calc(8.33333% - 1.875rem); } + .grid-margin-y > .small-2 { + height: calc(16.66667% - 1.875rem); } + .grid-margin-y > .small-3 { + height: calc(25% - 1.875rem); } + .grid-margin-y > .small-4 { + height: calc(33.33333% - 1.875rem); } + .grid-margin-y > .small-5 { + height: calc(41.66667% - 1.875rem); } + .grid-margin-y > .small-6 { + height: calc(50% - 1.875rem); } + .grid-margin-y > .small-7 { + height: calc(58.33333% - 1.875rem); } + .grid-margin-y > .small-8 { + height: calc(66.66667% - 1.875rem); } + .grid-margin-y > .small-9 { + height: calc(75% - 1.875rem); } + .grid-margin-y > .small-10 { + height: calc(83.33333% - 1.875rem); } + .grid-margin-y > .small-11 { + height: calc(91.66667% - 1.875rem); } + .grid-margin-y > .small-12 { + height: calc(100% - 1.875rem); } + .grid-margin-y > .medium-auto { + height: auto; } + .grid-margin-y > .medium-shrink { + height: auto; } + .grid-margin-y > .medium-1 { + height: calc(8.33333% - 1.875rem); } + .grid-margin-y > .medium-2 { + height: calc(16.66667% - 1.875rem); } + .grid-margin-y > .medium-3 { + height: calc(25% - 1.875rem); } + .grid-margin-y > .medium-4 { + height: calc(33.33333% - 1.875rem); } + .grid-margin-y > .medium-5 { + height: calc(41.66667% - 1.875rem); } + .grid-margin-y > .medium-6 { + height: calc(50% - 1.875rem); } + .grid-margin-y > .medium-7 { + height: calc(58.33333% - 1.875rem); } + .grid-margin-y > .medium-8 { + height: calc(66.66667% - 1.875rem); } + .grid-margin-y > .medium-9 { + height: calc(75% - 1.875rem); } + .grid-margin-y > .medium-10 { + height: calc(83.33333% - 1.875rem); } + .grid-margin-y > .medium-11 { + height: calc(91.66667% - 1.875rem); } + .grid-margin-y > .medium-12 { + height: calc(100% - 1.875rem); } } + @media print, screen and (min-width: 64em) { + .grid-margin-y > .large-auto { + height: auto; } + .grid-margin-y > .large-shrink { + height: auto; } + .grid-margin-y > .large-1 { + height: calc(8.33333% - 1.875rem); } + .grid-margin-y > .large-2 { + height: calc(16.66667% - 1.875rem); } + .grid-margin-y > .large-3 { + height: calc(25% - 1.875rem); } + .grid-margin-y > .large-4 { + height: calc(33.33333% - 1.875rem); } + .grid-margin-y > .large-5 { + height: calc(41.66667% - 1.875rem); } + .grid-margin-y > .large-6 { + height: calc(50% - 1.875rem); } + .grid-margin-y > .large-7 { + height: calc(58.33333% - 1.875rem); } + .grid-margin-y > .large-8 { + height: calc(66.66667% - 1.875rem); } + .grid-margin-y > .large-9 { + height: calc(75% - 1.875rem); } + .grid-margin-y > .large-10 { + height: calc(83.33333% - 1.875rem); } + .grid-margin-y > .large-11 { + height: calc(91.66667% - 1.875rem); } + .grid-margin-y > .large-12 { + height: calc(100% - 1.875rem); } } + +.grid-frame.grid-margin-y { + height: calc(100vh + 1.25rem); } + @media print, screen and (min-width: 40em) { + .grid-frame.grid-margin-y { + height: calc(100vh + 1.875rem); } } + @media print, screen and (min-width: 64em) { + .grid-frame.grid-margin-y { + height: calc(100vh + 1.875rem); } } + +@media print, screen and (min-width: 40em) { + .grid-margin-y.medium-grid-frame { + height: calc(100vh + 1.875rem); } } + +@media print, screen and (min-width: 64em) { + .grid-margin-y.large-grid-frame { + height: calc(100vh + 1.875rem); } } + +.button, .wp-block-button .wp-block-button__link { + display: inline-block; + vertical-align: middle; + margin: 0; + padding: 1rem 3rem; + border: 1px solid transparent; + border-radius: 2rem; + -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out; + transition: background-color 0.25s ease-out, color 0.25s ease-out; + font-family: inherit; + font-size: 1.2rem; + -webkit-appearance: none; + line-height: 1; + text-align: center; + cursor: pointer; } + [data-whatinput='mouse'] .button, [data-whatinput='mouse'] .wp-block-button .wp-block-button__link, .wp-block-button [data-whatinput='mouse'] .wp-block-button__link { + outline: 0; } + .button.tiny, .wp-block-button .tiny.wp-block-button__link { + font-size: 0.6rem; } + .button.small, .wp-block-button .small.wp-block-button__link { + font-size: 0.75rem; } + .button.large, .wp-block-button .large.wp-block-button__link { + font-size: 1.5rem; } + .button.expanded, .wp-block-button .expanded.wp-block-button__link { + display: block; + width: 100%; + margin-right: 0; + margin-left: 0; } + .button, .wp-block-button .wp-block-button__link, .button.disabled, .wp-block-button .disabled.wp-block-button__link, .button[disabled], .wp-block-button .wp-block-button__link[disabled], .button.disabled:hover, .wp-block-button .disabled.wp-block-button__link:hover, .button[disabled]:hover, .wp-block-button .wp-block-button__link[disabled]:hover, .button.disabled:focus, .wp-block-button .disabled.wp-block-button__link:focus, .button[disabled]:focus, .wp-block-button .wp-block-button__link[disabled]:focus { + background-color: #0000DD; + color: #fefefe; } + .button:hover, .wp-block-button .wp-block-button__link:hover, .button:focus, .wp-block-button .wp-block-button__link:focus { + background-color: #0000bc; + color: #fefefe; } + .button.primary, .wp-block-button .primary.wp-block-button__link, .button.primary.disabled, .wp-block-button .primary.disabled.wp-block-button__link, .button.primary[disabled], .wp-block-button .primary.wp-block-button__link[disabled], .button.primary.disabled:hover, .wp-block-button .primary.disabled.wp-block-button__link:hover, .button.primary[disabled]:hover, .wp-block-button .primary.wp-block-button__link[disabled]:hover, .button.primary.disabled:focus, .wp-block-button .primary.disabled.wp-block-button__link:focus, .button.primary[disabled]:focus, .wp-block-button .primary.wp-block-button__link[disabled]:focus { + background-color: #0000DD; + color: #fefefe; } + .button.primary:hover, .wp-block-button .primary.wp-block-button__link:hover, .button.primary:focus, .wp-block-button .primary.wp-block-button__link:focus { + background-color: #0000b1; + color: #fefefe; } + .button.secondary, .wp-block-button .secondary.wp-block-button__link, .button.secondary.disabled, .wp-block-button .secondary.disabled.wp-block-button__link, .button.secondary[disabled], .wp-block-button .secondary.wp-block-button__link[disabled], .button.secondary.disabled:hover, .wp-block-button .secondary.disabled.wp-block-button__link:hover, .button.secondary[disabled]:hover, .wp-block-button .secondary.wp-block-button__link[disabled]:hover, .button.secondary.disabled:focus, .wp-block-button .secondary.disabled.wp-block-button__link:focus, .button.secondary[disabled]:focus, .wp-block-button .secondary.wp-block-button__link[disabled]:focus { + background-color: #D75930; + color: #0a0a0a; } + .button.secondary:hover, .wp-block-button .secondary.wp-block-button__link:hover, .button.secondary:focus, .wp-block-button .secondary.wp-block-button__link:focus { + background-color: #b04522; + color: #0a0a0a; } + .button.success, .wp-block-button .success.wp-block-button__link, .button.success.disabled, .wp-block-button .success.disabled.wp-block-button__link, .button.success[disabled], .wp-block-button .success.wp-block-button__link[disabled], .button.success.disabled:hover, .wp-block-button .success.disabled.wp-block-button__link:hover, .button.success[disabled]:hover, .wp-block-button .success.wp-block-button__link[disabled]:hover, .button.success.disabled:focus, .wp-block-button .success.disabled.wp-block-button__link:focus, .button.success[disabled]:focus, .wp-block-button .success.wp-block-button__link[disabled]:focus { + background-color: #69E344; + color: #0a0a0a; } + .button.success:hover, .wp-block-button .success.wp-block-button__link:hover, .button.success:focus, .wp-block-button .success.wp-block-button__link:focus { + background-color: #47cd1f; + color: #0a0a0a; } + .button.warning, .wp-block-button .warning.wp-block-button__link, .button.warning.disabled, .wp-block-button .warning.disabled.wp-block-button__link, .button.warning[disabled], .wp-block-button .warning.wp-block-button__link[disabled], .button.warning.disabled:hover, .wp-block-button .warning.disabled.wp-block-button__link:hover, .button.warning[disabled]:hover, .wp-block-button .warning.wp-block-button__link[disabled]:hover, .button.warning.disabled:focus, .wp-block-button .warning.disabled.wp-block-button__link:focus, .button.warning[disabled]:focus, .wp-block-button .warning.wp-block-button__link[disabled]:focus { + background-color: #D32D1F; + color: #fefefe; } + .button.warning:hover, .wp-block-button .warning.wp-block-button__link:hover, .button.warning:focus, .wp-block-button .warning.wp-block-button__link:focus { + background-color: #a92419; + color: #fefefe; } + .button.alert, .wp-block-button .alert.wp-block-button__link, .button.alert.disabled, .wp-block-button .alert.disabled.wp-block-button__link, .button.alert[disabled], .wp-block-button .alert.wp-block-button__link[disabled], .button.alert.disabled:hover, .wp-block-button .alert.disabled.wp-block-button__link:hover, .button.alert[disabled]:hover, .wp-block-button .alert.wp-block-button__link[disabled]:hover, .button.alert.disabled:focus, .wp-block-button .alert.disabled.wp-block-button__link:focus, .button.alert[disabled]:focus, .wp-block-button .alert.wp-block-button__link[disabled]:focus { + background-color: #D32D1F; + color: #fefefe; } + .button.alert:hover, .wp-block-button .alert.wp-block-button__link:hover, .button.alert:focus, .wp-block-button .alert.wp-block-button__link:focus { + background-color: #a92419; + color: #fefefe; } + .button.hollow, .wp-block-button .hollow.wp-block-button__link, .wp-block-button.is-style-outline .wp-block-button__link, .button.hollow:hover, .wp-block-button .hollow.wp-block-button__link:hover, .wp-block-button.is-style-outline .wp-block-button__link:hover, .button.hollow:focus, .wp-block-button .hollow.wp-block-button__link:focus, .wp-block-button.is-style-outline .wp-block-button__link:focus, .button.hollow.disabled, .wp-block-button .hollow.disabled.wp-block-button__link, .wp-block-button.is-style-outline .disabled.wp-block-button__link, .button.hollow.disabled:hover, .wp-block-button .hollow.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .disabled.wp-block-button__link:hover, .button.hollow.disabled:focus, .wp-block-button .hollow.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .disabled.wp-block-button__link:focus, .button.hollow[disabled], .wp-block-button .hollow.wp-block-button__link[disabled], .wp-block-button.is-style-outline .wp-block-button__link[disabled], .button.hollow[disabled]:hover, .wp-block-button .hollow.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .wp-block-button__link[disabled]:hover, .button.hollow[disabled]:focus, .wp-block-button .hollow.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .wp-block-button__link[disabled]:focus { + background-color: transparent; } + .button.hollow, .wp-block-button .hollow.wp-block-button__link, .wp-block-button.is-style-outline .wp-block-button__link, .button.hollow.disabled, .wp-block-button .hollow.disabled.wp-block-button__link, .wp-block-button.is-style-outline .disabled.wp-block-button__link, .button.hollow[disabled], .wp-block-button .hollow.wp-block-button__link[disabled], .wp-block-button.is-style-outline .wp-block-button__link[disabled], .button.hollow.disabled:hover, .wp-block-button .hollow.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .disabled.wp-block-button__link:hover, .button.hollow[disabled]:hover, .wp-block-button .hollow.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .wp-block-button__link[disabled]:hover, .button.hollow.disabled:focus, .wp-block-button .hollow.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .disabled.wp-block-button__link:focus, .button.hollow[disabled]:focus, .wp-block-button .hollow.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .wp-block-button__link[disabled]:focus { + border: 2px solid #0000DD; + color: #0000DD; } + .button.hollow:hover, .wp-block-button .hollow.wp-block-button__link:hover, .wp-block-button.is-style-outline .wp-block-button__link:hover, .button.hollow:focus, .wp-block-button .hollow.wp-block-button__link:focus, .wp-block-button.is-style-outline .wp-block-button__link:focus { + border-color: #00006f; + color: #00006f; } + .button.hollow.primary, .wp-block-button .hollow.primary.wp-block-button__link, .wp-block-button.is-style-outline .primary.wp-block-button__link, .button.hollow.primary.disabled, .wp-block-button .hollow.primary.disabled.wp-block-button__link, .wp-block-button.is-style-outline .primary.disabled.wp-block-button__link, .button.hollow.primary[disabled], .wp-block-button .hollow.primary.wp-block-button__link[disabled], .wp-block-button.is-style-outline .primary.wp-block-button__link[disabled], .button.hollow.primary.disabled:hover, .wp-block-button .hollow.primary.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .primary.disabled.wp-block-button__link:hover, .button.hollow.primary[disabled]:hover, .wp-block-button .hollow.primary.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .primary.wp-block-button__link[disabled]:hover, .button.hollow.primary.disabled:focus, .wp-block-button .hollow.primary.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .primary.disabled.wp-block-button__link:focus, .button.hollow.primary[disabled]:focus, .wp-block-button .hollow.primary.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .primary.wp-block-button__link[disabled]:focus { + border: 2px solid #0000DD; + color: #0000DD; } + .button.hollow.primary:hover, .wp-block-button .hollow.primary.wp-block-button__link:hover, .wp-block-button.is-style-outline .primary.wp-block-button__link:hover, .button.hollow.primary:focus, .wp-block-button .hollow.primary.wp-block-button__link:focus, .wp-block-button.is-style-outline .primary.wp-block-button__link:focus { + border-color: #00006f; + color: #00006f; } + .button.hollow.secondary, .wp-block-button .hollow.secondary.wp-block-button__link, .wp-block-button.is-style-outline .secondary.wp-block-button__link, .button.hollow.secondary.disabled, .wp-block-button .hollow.secondary.disabled.wp-block-button__link, .wp-block-button.is-style-outline .secondary.disabled.wp-block-button__link, .button.hollow.secondary[disabled], .wp-block-button .hollow.secondary.wp-block-button__link[disabled], .wp-block-button.is-style-outline .secondary.wp-block-button__link[disabled], .button.hollow.secondary.disabled:hover, .wp-block-button .hollow.secondary.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .secondary.disabled.wp-block-button__link:hover, .button.hollow.secondary[disabled]:hover, .wp-block-button .hollow.secondary.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .secondary.wp-block-button__link[disabled]:hover, .button.hollow.secondary.disabled:focus, .wp-block-button .hollow.secondary.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .secondary.disabled.wp-block-button__link:focus, .button.hollow.secondary[disabled]:focus, .wp-block-button .hollow.secondary.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .secondary.wp-block-button__link[disabled]:focus { + border: 2px solid #D75930; + color: #D75930; } + .button.hollow.secondary:hover, .wp-block-button .hollow.secondary.wp-block-button__link:hover, .wp-block-button.is-style-outline .secondary.wp-block-button__link:hover, .button.hollow.secondary:focus, .wp-block-button .hollow.secondary.wp-block-button__link:focus, .wp-block-button.is-style-outline .secondary.wp-block-button__link:focus { + border-color: #6e2b15; + color: #6e2b15; } + .button.hollow.success, .wp-block-button .hollow.success.wp-block-button__link, .wp-block-button.is-style-outline .success.wp-block-button__link, .button.hollow.success.disabled, .wp-block-button .hollow.success.disabled.wp-block-button__link, .wp-block-button.is-style-outline .success.disabled.wp-block-button__link, .button.hollow.success[disabled], .wp-block-button .hollow.success.wp-block-button__link[disabled], .wp-block-button.is-style-outline .success.wp-block-button__link[disabled], .button.hollow.success.disabled:hover, .wp-block-button .hollow.success.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .success.disabled.wp-block-button__link:hover, .button.hollow.success[disabled]:hover, .wp-block-button .hollow.success.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .success.wp-block-button__link[disabled]:hover, .button.hollow.success.disabled:focus, .wp-block-button .hollow.success.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .success.disabled.wp-block-button__link:focus, .button.hollow.success[disabled]:focus, .wp-block-button .hollow.success.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .success.wp-block-button__link[disabled]:focus { + border: 2px solid #69E344; + color: #69E344; } + .button.hollow.success:hover, .wp-block-button .hollow.success.wp-block-button__link:hover, .wp-block-button.is-style-outline .success.wp-block-button__link:hover, .button.hollow.success:focus, .wp-block-button .hollow.success.wp-block-button__link:focus, .wp-block-button.is-style-outline .success.wp-block-button__link:focus { + border-color: #2d8013; + color: #2d8013; } + .button.hollow.warning, .wp-block-button .hollow.warning.wp-block-button__link, .wp-block-button.is-style-outline .warning.wp-block-button__link, .button.hollow.warning.disabled, .wp-block-button .hollow.warning.disabled.wp-block-button__link, .wp-block-button.is-style-outline .warning.disabled.wp-block-button__link, .button.hollow.warning[disabled], .wp-block-button .hollow.warning.wp-block-button__link[disabled], .wp-block-button.is-style-outline .warning.wp-block-button__link[disabled], .button.hollow.warning.disabled:hover, .wp-block-button .hollow.warning.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .warning.disabled.wp-block-button__link:hover, .button.hollow.warning[disabled]:hover, .wp-block-button .hollow.warning.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .warning.wp-block-button__link[disabled]:hover, .button.hollow.warning.disabled:focus, .wp-block-button .hollow.warning.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .warning.disabled.wp-block-button__link:focus, .button.hollow.warning[disabled]:focus, .wp-block-button .hollow.warning.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .warning.wp-block-button__link[disabled]:focus { + border: 2px solid #D32D1F; + color: #D32D1F; } + .button.hollow.warning:hover, .wp-block-button .hollow.warning.wp-block-button__link:hover, .wp-block-button.is-style-outline .warning.wp-block-button__link:hover, .button.hollow.warning:focus, .wp-block-button .hollow.warning.wp-block-button__link:focus, .wp-block-button.is-style-outline .warning.wp-block-button__link:focus { + border-color: #6a1710; + color: #6a1710; } + .button.hollow.alert, .wp-block-button .hollow.alert.wp-block-button__link, .wp-block-button.is-style-outline .alert.wp-block-button__link, .button.hollow.alert.disabled, .wp-block-button .hollow.alert.disabled.wp-block-button__link, .wp-block-button.is-style-outline .alert.disabled.wp-block-button__link, .button.hollow.alert[disabled], .wp-block-button .hollow.alert.wp-block-button__link[disabled], .wp-block-button.is-style-outline .alert.wp-block-button__link[disabled], .button.hollow.alert.disabled:hover, .wp-block-button .hollow.alert.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .alert.disabled.wp-block-button__link:hover, .button.hollow.alert[disabled]:hover, .wp-block-button .hollow.alert.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .alert.wp-block-button__link[disabled]:hover, .button.hollow.alert.disabled:focus, .wp-block-button .hollow.alert.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .alert.disabled.wp-block-button__link:focus, .button.hollow.alert[disabled]:focus, .wp-block-button .hollow.alert.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .alert.wp-block-button__link[disabled]:focus { + border: 2px solid #D32D1F; + color: #D32D1F; } + .button.hollow.alert:hover, .wp-block-button .hollow.alert.wp-block-button__link:hover, .wp-block-button.is-style-outline .alert.wp-block-button__link:hover, .button.hollow.alert:focus, .wp-block-button .hollow.alert.wp-block-button__link:focus, .wp-block-button.is-style-outline .alert.wp-block-button__link:focus { + border-color: #6a1710; + color: #6a1710; } + .button.clear, .wp-block-button .clear.wp-block-button__link, .button.clear:hover, .wp-block-button .clear.wp-block-button__link:hover, .button.clear:focus, .wp-block-button .clear.wp-block-button__link:focus, .button.clear.disabled, .wp-block-button .clear.disabled.wp-block-button__link, .button.clear.disabled:hover, .wp-block-button .clear.disabled.wp-block-button__link:hover, .button.clear.disabled:focus, .wp-block-button .clear.disabled.wp-block-button__link:focus, .button.clear[disabled], .wp-block-button .clear.wp-block-button__link[disabled], .button.clear[disabled]:hover, .wp-block-button .clear.wp-block-button__link[disabled]:hover, .button.clear[disabled]:focus, .wp-block-button .clear.wp-block-button__link[disabled]:focus { + border-color: transparent; + background-color: transparent; } + .button.clear, .wp-block-button .clear.wp-block-button__link, .button.clear.disabled, .wp-block-button .clear.disabled.wp-block-button__link, .button.clear[disabled], .wp-block-button .clear.wp-block-button__link[disabled], .button.clear.disabled:hover, .wp-block-button .clear.disabled.wp-block-button__link:hover, .button.clear[disabled]:hover, .wp-block-button .clear.wp-block-button__link[disabled]:hover, .button.clear.disabled:focus, .wp-block-button .clear.disabled.wp-block-button__link:focus, .button.clear[disabled]:focus, .wp-block-button .clear.wp-block-button__link[disabled]:focus { + color: #0000DD; } + .button.clear:hover, .wp-block-button .clear.wp-block-button__link:hover, .button.clear:focus, .wp-block-button .clear.wp-block-button__link:focus { + color: #00006f; } + .button.clear.primary, .wp-block-button .clear.primary.wp-block-button__link, .button.clear.primary.disabled, .wp-block-button .clear.primary.disabled.wp-block-button__link, .button.clear.primary[disabled], .wp-block-button .clear.primary.wp-block-button__link[disabled], .button.clear.primary.disabled:hover, .wp-block-button .clear.primary.disabled.wp-block-button__link:hover, .button.clear.primary[disabled]:hover, .wp-block-button .clear.primary.wp-block-button__link[disabled]:hover, .button.clear.primary.disabled:focus, .wp-block-button .clear.primary.disabled.wp-block-button__link:focus, .button.clear.primary[disabled]:focus, .wp-block-button .clear.primary.wp-block-button__link[disabled]:focus { + color: #0000DD; } + .button.clear.primary:hover, .wp-block-button .clear.primary.wp-block-button__link:hover, .button.clear.primary:focus, .wp-block-button .clear.primary.wp-block-button__link:focus { + color: #00006f; } + .button.clear.secondary, .wp-block-button .clear.secondary.wp-block-button__link, .button.clear.secondary.disabled, .wp-block-button .clear.secondary.disabled.wp-block-button__link, .button.clear.secondary[disabled], .wp-block-button .clear.secondary.wp-block-button__link[disabled], .button.clear.secondary.disabled:hover, .wp-block-button .clear.secondary.disabled.wp-block-button__link:hover, .button.clear.secondary[disabled]:hover, .wp-block-button .clear.secondary.wp-block-button__link[disabled]:hover, .button.clear.secondary.disabled:focus, .wp-block-button .clear.secondary.disabled.wp-block-button__link:focus, .button.clear.secondary[disabled]:focus, .wp-block-button .clear.secondary.wp-block-button__link[disabled]:focus { + color: #D75930; } + .button.clear.secondary:hover, .wp-block-button .clear.secondary.wp-block-button__link:hover, .button.clear.secondary:focus, .wp-block-button .clear.secondary.wp-block-button__link:focus { + color: #6e2b15; } + .button.clear.success, .wp-block-button .clear.success.wp-block-button__link, .button.clear.success.disabled, .wp-block-button .clear.success.disabled.wp-block-button__link, .button.clear.success[disabled], .wp-block-button .clear.success.wp-block-button__link[disabled], .button.clear.success.disabled:hover, .wp-block-button .clear.success.disabled.wp-block-button__link:hover, .button.clear.success[disabled]:hover, .wp-block-button .clear.success.wp-block-button__link[disabled]:hover, .button.clear.success.disabled:focus, .wp-block-button .clear.success.disabled.wp-block-button__link:focus, .button.clear.success[disabled]:focus, .wp-block-button .clear.success.wp-block-button__link[disabled]:focus { + color: #69E344; } + .button.clear.success:hover, .wp-block-button .clear.success.wp-block-button__link:hover, .button.clear.success:focus, .wp-block-button .clear.success.wp-block-button__link:focus { + color: #2d8013; } + .button.clear.warning, .wp-block-button .clear.warning.wp-block-button__link, .button.clear.warning.disabled, .wp-block-button .clear.warning.disabled.wp-block-button__link, .button.clear.warning[disabled], .wp-block-button .clear.warning.wp-block-button__link[disabled], .button.clear.warning.disabled:hover, .wp-block-button .clear.warning.disabled.wp-block-button__link:hover, .button.clear.warning[disabled]:hover, .wp-block-button .clear.warning.wp-block-button__link[disabled]:hover, .button.clear.warning.disabled:focus, .wp-block-button .clear.warning.disabled.wp-block-button__link:focus, .button.clear.warning[disabled]:focus, .wp-block-button .clear.warning.wp-block-button__link[disabled]:focus { + color: #D32D1F; } + .button.clear.warning:hover, .wp-block-button .clear.warning.wp-block-button__link:hover, .button.clear.warning:focus, .wp-block-button .clear.warning.wp-block-button__link:focus { + color: #6a1710; } + .button.clear.alert, .wp-block-button .clear.alert.wp-block-button__link, .button.clear.alert.disabled, .wp-block-button .clear.alert.disabled.wp-block-button__link, .button.clear.alert[disabled], .wp-block-button .clear.alert.wp-block-button__link[disabled], .button.clear.alert.disabled:hover, .wp-block-button .clear.alert.disabled.wp-block-button__link:hover, .button.clear.alert[disabled]:hover, .wp-block-button .clear.alert.wp-block-button__link[disabled]:hover, .button.clear.alert.disabled:focus, .wp-block-button .clear.alert.disabled.wp-block-button__link:focus, .button.clear.alert[disabled]:focus, .wp-block-button .clear.alert.wp-block-button__link[disabled]:focus { + color: #D32D1F; } + .button.clear.alert:hover, .wp-block-button .clear.alert.wp-block-button__link:hover, .button.clear.alert:focus, .wp-block-button .clear.alert.wp-block-button__link:focus { + color: #6a1710; } + .button.disabled, .wp-block-button .disabled.wp-block-button__link, .button[disabled], .wp-block-button .wp-block-button__link[disabled] { + opacity: 0.25; + cursor: not-allowed; } + .button.dropdown::after, .wp-block-button .dropdown.wp-block-button__link::after { + display: block; + width: 0; + height: 0; + border: inset 0.4em; + content: ''; + border-bottom-width: 0; + border-top-style: solid; + border-color: #fefefe transparent transparent; + position: relative; + top: 0.4em; + display: inline-block; + float: right; + margin-left: 3rem; } + .button.dropdown.hollow::after, .wp-block-button .dropdown.hollow.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.wp-block-button__link::after, .button.dropdown.clear::after, .wp-block-button .dropdown.clear.wp-block-button__link::after { + border-top-color: #0000DD; } + .button.dropdown.hollow.primary::after, .wp-block-button .dropdown.hollow.primary.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.primary.wp-block-button__link::after, .button.dropdown.clear.primary::after, .wp-block-button .dropdown.clear.primary.wp-block-button__link::after { + border-top-color: #0000DD; } + .button.dropdown.hollow.secondary::after, .wp-block-button .dropdown.hollow.secondary.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.secondary.wp-block-button__link::after, .button.dropdown.clear.secondary::after, .wp-block-button .dropdown.clear.secondary.wp-block-button__link::after { + border-top-color: #D75930; } + .button.dropdown.hollow.success::after, .wp-block-button .dropdown.hollow.success.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.success.wp-block-button__link::after, .button.dropdown.clear.success::after, .wp-block-button .dropdown.clear.success.wp-block-button__link::after { + border-top-color: #69E344; } + .button.dropdown.hollow.warning::after, .wp-block-button .dropdown.hollow.warning.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.warning.wp-block-button__link::after, .button.dropdown.clear.warning::after, .wp-block-button .dropdown.clear.warning.wp-block-button__link::after { + border-top-color: #D32D1F; } + .button.dropdown.hollow.alert::after, .wp-block-button .dropdown.hollow.alert.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.alert.wp-block-button__link::after, .button.dropdown.clear.alert::after, .wp-block-button .dropdown.clear.alert.wp-block-button__link::after { + border-top-color: #D32D1F; } + .button.arrow-only::after, .wp-block-button .arrow-only.wp-block-button__link::after { + top: -0.1em; + float: none; + margin-left: 0; } + +a.button:hover, .wp-block-button a.wp-block-button__link:hover, a.button:focus, .wp-block-button a.wp-block-button__link:focus { + text-decoration: none; } + +.button-group { + margin-bottom: 1rem; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: stretch; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + align-items: stretch; + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; } + .button-group::before, .button-group::after { + display: table; + content: ' '; + -webkit-flex-basis: 0; + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + -ms-flex-order: 1; + order: 1; } + .button-group::after { + clear: both; } + .button-group::before, .button-group::after { + display: none; } + .button-group .button, .button-group .wp-block-button .wp-block-button__link, .wp-block-button .button-group .wp-block-button__link { + margin: 0; + margin-right: 1px; + margin-bottom: 1px; + font-size: 1.2rem; + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; } + .button-group .button:last-child, .button-group .wp-block-button .wp-block-button__link:last-child, .wp-block-button .button-group .wp-block-button__link:last-child { + margin-right: 0; } + .button-group.tiny .button, .button-group.tiny .wp-block-button .wp-block-button__link, .wp-block-button .button-group.tiny .wp-block-button__link { + font-size: 0.6rem; } + .button-group.small .button, .button-group.small .wp-block-button .wp-block-button__link, .wp-block-button .button-group.small .wp-block-button__link { + font-size: 0.75rem; } + .button-group.large .button, .button-group.large .wp-block-button .wp-block-button__link, .wp-block-button .button-group.large .wp-block-button__link { + font-size: 1.5rem; } + .button-group.expanded .button, .button-group.expanded .wp-block-button .wp-block-button__link, .wp-block-button .button-group.expanded .wp-block-button__link { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0px; + -ms-flex: 1 1 0px; + flex: 1 1 0px; + margin-right: 0; } + .button-group.primary .button, .button-group.primary .wp-block-button .wp-block-button__link, .wp-block-button .button-group.primary .wp-block-button__link, .button-group.primary .button.disabled, .button-group.primary .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.primary .disabled.wp-block-button__link, .button-group.primary .button[disabled], .button-group.primary .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.primary .wp-block-button__link[disabled], .button-group.primary .button.disabled:hover, .button-group.primary .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.primary .disabled.wp-block-button__link:hover, .button-group.primary .button[disabled]:hover, .button-group.primary .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.primary .wp-block-button__link[disabled]:hover, .button-group.primary .button.disabled:focus, .button-group.primary .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.primary .disabled.wp-block-button__link:focus, .button-group.primary .button[disabled]:focus, .button-group.primary .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.primary .wp-block-button__link[disabled]:focus { + background-color: #0000DD; + color: #fefefe; } + .button-group.primary .button:hover, .button-group.primary .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.primary .wp-block-button__link:hover, .button-group.primary .button:focus, .button-group.primary .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.primary .wp-block-button__link:focus { + background-color: #0000b1; + color: #fefefe; } + .button-group.secondary .button, .button-group.secondary .wp-block-button .wp-block-button__link, .wp-block-button .button-group.secondary .wp-block-button__link, .button-group.secondary .button.disabled, .button-group.secondary .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.secondary .disabled.wp-block-button__link, .button-group.secondary .button[disabled], .button-group.secondary .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.secondary .wp-block-button__link[disabled], .button-group.secondary .button.disabled:hover, .button-group.secondary .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.secondary .disabled.wp-block-button__link:hover, .button-group.secondary .button[disabled]:hover, .button-group.secondary .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.secondary .wp-block-button__link[disabled]:hover, .button-group.secondary .button.disabled:focus, .button-group.secondary .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.secondary .disabled.wp-block-button__link:focus, .button-group.secondary .button[disabled]:focus, .button-group.secondary .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.secondary .wp-block-button__link[disabled]:focus { + background-color: #D75930; + color: #0a0a0a; } + .button-group.secondary .button:hover, .button-group.secondary .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.secondary .wp-block-button__link:hover, .button-group.secondary .button:focus, .button-group.secondary .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.secondary .wp-block-button__link:focus { + background-color: #b04522; + color: #0a0a0a; } + .button-group.success .button, .button-group.success .wp-block-button .wp-block-button__link, .wp-block-button .button-group.success .wp-block-button__link, .button-group.success .button.disabled, .button-group.success .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.success .disabled.wp-block-button__link, .button-group.success .button[disabled], .button-group.success .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.success .wp-block-button__link[disabled], .button-group.success .button.disabled:hover, .button-group.success .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.success .disabled.wp-block-button__link:hover, .button-group.success .button[disabled]:hover, .button-group.success .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.success .wp-block-button__link[disabled]:hover, .button-group.success .button.disabled:focus, .button-group.success .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.success .disabled.wp-block-button__link:focus, .button-group.success .button[disabled]:focus, .button-group.success .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.success .wp-block-button__link[disabled]:focus { + background-color: #69E344; + color: #0a0a0a; } + .button-group.success .button:hover, .button-group.success .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.success .wp-block-button__link:hover, .button-group.success .button:focus, .button-group.success .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.success .wp-block-button__link:focus { + background-color: #47cd1f; + color: #0a0a0a; } + .button-group.warning .button, .button-group.warning .wp-block-button .wp-block-button__link, .wp-block-button .button-group.warning .wp-block-button__link, .button-group.warning .button.disabled, .button-group.warning .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.warning .disabled.wp-block-button__link, .button-group.warning .button[disabled], .button-group.warning .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.warning .wp-block-button__link[disabled], .button-group.warning .button.disabled:hover, .button-group.warning .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.warning .disabled.wp-block-button__link:hover, .button-group.warning .button[disabled]:hover, .button-group.warning .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.warning .wp-block-button__link[disabled]:hover, .button-group.warning .button.disabled:focus, .button-group.warning .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.warning .disabled.wp-block-button__link:focus, .button-group.warning .button[disabled]:focus, .button-group.warning .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.warning .wp-block-button__link[disabled]:focus { + background-color: #D32D1F; + color: #fefefe; } + .button-group.warning .button:hover, .button-group.warning .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.warning .wp-block-button__link:hover, .button-group.warning .button:focus, .button-group.warning .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.warning .wp-block-button__link:focus { + background-color: #a92419; + color: #fefefe; } + .button-group.alert .button, .button-group.alert .wp-block-button .wp-block-button__link, .wp-block-button .button-group.alert .wp-block-button__link, .button-group.alert .button.disabled, .button-group.alert .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.alert .disabled.wp-block-button__link, .button-group.alert .button[disabled], .button-group.alert .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.alert .wp-block-button__link[disabled], .button-group.alert .button.disabled:hover, .button-group.alert .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.alert .disabled.wp-block-button__link:hover, .button-group.alert .button[disabled]:hover, .button-group.alert .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.alert .wp-block-button__link[disabled]:hover, .button-group.alert .button.disabled:focus, .button-group.alert .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.alert .disabled.wp-block-button__link:focus, .button-group.alert .button[disabled]:focus, .button-group.alert .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.alert .wp-block-button__link[disabled]:focus { + background-color: #D32D1F; + color: #fefefe; } + .button-group.alert .button:hover, .button-group.alert .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.alert .wp-block-button__link:hover, .button-group.alert .button:focus, .button-group.alert .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.alert .wp-block-button__link:focus { + background-color: #a92419; + color: #fefefe; } + .button-group.hollow .button, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button, .button-group.hollow .wp-block-button .wp-block-button__link, .wp-block-button .button-group.hollow .wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link, .button-group.hollow .button:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button:hover, .button-group.hollow .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.hollow .wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link:hover, .button-group.hollow .button:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button:focus, .button-group.hollow .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.hollow .wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link:focus, .button-group.hollow .button.disabled, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.disabled, .button-group.hollow .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.hollow .disabled.wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .disabled.wp-block-button__link, .button-group.hollow .button.disabled:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.disabled:hover, .button-group.hollow .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.hollow .disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .disabled.wp-block-button__link:hover, .button-group.hollow .button.disabled:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.disabled:focus, .button-group.hollow .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.hollow .disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .disabled.wp-block-button__link:focus, .button-group.hollow .button[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .button[disabled], .button-group.hollow .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.hollow .wp-block-button__link[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link[disabled], .button-group.hollow .button[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button[disabled]:hover, .button-group.hollow .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.hollow .wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link[disabled]:hover, .button-group.hollow .button[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button[disabled]:focus, .button-group.hollow .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.hollow .wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link[disabled]:focus { + background-color: transparent; } + .button-group.hollow .button, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button, .button-group.hollow .wp-block-button .wp-block-button__link, .wp-block-button .button-group.hollow .wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link, .button-group.hollow .button.disabled, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.disabled, .button-group.hollow .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.hollow .disabled.wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .disabled.wp-block-button__link, .button-group.hollow .button[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .button[disabled], .button-group.hollow .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.hollow .wp-block-button__link[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link[disabled], .button-group.hollow .button.disabled:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.disabled:hover, .button-group.hollow .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.hollow .disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .disabled.wp-block-button__link:hover, .button-group.hollow .button[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button[disabled]:hover, .button-group.hollow .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.hollow .wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link[disabled]:hover, .button-group.hollow .button.disabled:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.disabled:focus, .button-group.hollow .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.hollow .disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .disabled.wp-block-button__link:focus, .button-group.hollow .button[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button[disabled]:focus, .button-group.hollow .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.hollow .wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link[disabled]:focus { + border: 2px solid #0000DD; + color: #0000DD; } + .button-group.hollow .button:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button:hover, .button-group.hollow .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.hollow .wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link:hover, .button-group.hollow .button:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button:focus, .button-group.hollow .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.hollow .wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link:focus { + border-color: #00006f; + color: #00006f; } + .button-group.hollow.primary .button, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button, .button-group.hollow.primary .wp-block-button .wp-block-button__link, .wp-block-button .button-group.hollow.primary .wp-block-button__link, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .wp-block-button__link, .button-group.hollow.primary .button.disabled, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button.disabled, .button-group.hollow.primary .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.hollow.primary .disabled.wp-block-button__link, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .disabled.wp-block-button__link, .button-group.hollow.primary .button[disabled], .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button[disabled], .button-group.hollow.primary .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.hollow.primary .wp-block-button__link[disabled], .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .wp-block-button__link[disabled], .button-group.hollow.primary .button.disabled:hover, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button.disabled:hover, .button-group.hollow.primary .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.hollow.primary .disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .disabled.wp-block-button__link:hover, .button-group.hollow.primary .button[disabled]:hover, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button[disabled]:hover, .button-group.hollow.primary .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.hollow.primary .wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .wp-block-button__link[disabled]:hover, .button-group.hollow.primary .button.disabled:focus, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button.disabled:focus, .button-group.hollow.primary .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.hollow.primary .disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .disabled.wp-block-button__link:focus, .button-group.hollow.primary .button[disabled]:focus, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button[disabled]:focus, .button-group.hollow.primary .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.hollow.primary .wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .wp-block-button__link[disabled]:focus, .button-group.hollow .button.primary, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary, .button-group.hollow .wp-block-button .primary.wp-block-button__link, .wp-block-button .button-group.hollow .primary.wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.wp-block-button__link, .button-group.hollow .button.primary.disabled, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary.disabled, .button-group.hollow .wp-block-button .primary.disabled.wp-block-button__link, .wp-block-button .button-group.hollow .primary.disabled.wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.disabled.wp-block-button__link, .button-group.hollow .button.primary[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary[disabled], .button-group.hollow .wp-block-button .primary.wp-block-button__link[disabled], .wp-block-button .button-group.hollow .primary.wp-block-button__link[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.wp-block-button__link[disabled], .button-group.hollow .button.primary.disabled:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary.disabled:hover, .button-group.hollow .wp-block-button .primary.disabled.wp-block-button__link:hover, .wp-block-button .button-group.hollow .primary.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.disabled.wp-block-button__link:hover, .button-group.hollow .button.primary[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary[disabled]:hover, .button-group.hollow .wp-block-button .primary.wp-block-button__link[disabled]:hover, .wp-block-button .button-group.hollow .primary.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.wp-block-button__link[disabled]:hover, .button-group.hollow .button.primary.disabled:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary.disabled:focus, .button-group.hollow .wp-block-button .primary.disabled.wp-block-button__link:focus, .wp-block-button .button-group.hollow .primary.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.disabled.wp-block-button__link:focus, .button-group.hollow .button.primary[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary[disabled]:focus, .button-group.hollow .wp-block-button .primary.wp-block-button__link[disabled]:focus, .wp-block-button .button-group.hollow .primary.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.wp-block-button__link[disabled]:focus { + border: 2px solid #0000DD; + color: #0000DD; } + .button-group.hollow.primary .button:hover, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button:hover, .button-group.hollow.primary .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.hollow.primary .wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .wp-block-button__link:hover, .button-group.hollow.primary .button:focus, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button:focus, .button-group.hollow.primary .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.hollow.primary .wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .wp-block-button__link:focus, .button-group.hollow .button.primary:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary:hover, .button-group.hollow .wp-block-button .primary.wp-block-button__link:hover, .wp-block-button .button-group.hollow .primary.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.wp-block-button__link:hover, .button-group.hollow .button.primary:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary:focus, .button-group.hollow .wp-block-button .primary.wp-block-button__link:focus, .wp-block-button .button-group.hollow .primary.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.wp-block-button__link:focus { + border-color: #00006f; + color: #00006f; } + .button-group.hollow.secondary .button, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button, .button-group.hollow.secondary .wp-block-button .wp-block-button__link, .wp-block-button .button-group.hollow.secondary .wp-block-button__link, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .wp-block-button__link, .button-group.hollow.secondary .button.disabled, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button.disabled, .button-group.hollow.secondary .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.hollow.secondary .disabled.wp-block-button__link, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .disabled.wp-block-button__link, .button-group.hollow.secondary .button[disabled], .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button[disabled], .button-group.hollow.secondary .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.hollow.secondary .wp-block-button__link[disabled], .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .wp-block-button__link[disabled], .button-group.hollow.secondary .button.disabled:hover, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button.disabled:hover, .button-group.hollow.secondary .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.hollow.secondary .disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .disabled.wp-block-button__link:hover, .button-group.hollow.secondary .button[disabled]:hover, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button[disabled]:hover, .button-group.hollow.secondary .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.hollow.secondary .wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .wp-block-button__link[disabled]:hover, .button-group.hollow.secondary .button.disabled:focus, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button.disabled:focus, .button-group.hollow.secondary .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.hollow.secondary .disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .disabled.wp-block-button__link:focus, .button-group.hollow.secondary .button[disabled]:focus, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button[disabled]:focus, .button-group.hollow.secondary .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.hollow.secondary .wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .wp-block-button__link[disabled]:focus, .button-group.hollow .button.secondary, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary, .button-group.hollow .wp-block-button .secondary.wp-block-button__link, .wp-block-button .button-group.hollow .secondary.wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.wp-block-button__link, .button-group.hollow .button.secondary.disabled, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary.disabled, .button-group.hollow .wp-block-button .secondary.disabled.wp-block-button__link, .wp-block-button .button-group.hollow .secondary.disabled.wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.disabled.wp-block-button__link, .button-group.hollow .button.secondary[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary[disabled], .button-group.hollow .wp-block-button .secondary.wp-block-button__link[disabled], .wp-block-button .button-group.hollow .secondary.wp-block-button__link[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.wp-block-button__link[disabled], .button-group.hollow .button.secondary.disabled:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary.disabled:hover, .button-group.hollow .wp-block-button .secondary.disabled.wp-block-button__link:hover, .wp-block-button .button-group.hollow .secondary.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.disabled.wp-block-button__link:hover, .button-group.hollow .button.secondary[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary[disabled]:hover, .button-group.hollow .wp-block-button .secondary.wp-block-button__link[disabled]:hover, .wp-block-button .button-group.hollow .secondary.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.wp-block-button__link[disabled]:hover, .button-group.hollow .button.secondary.disabled:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary.disabled:focus, .button-group.hollow .wp-block-button .secondary.disabled.wp-block-button__link:focus, .wp-block-button .button-group.hollow .secondary.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.disabled.wp-block-button__link:focus, .button-group.hollow .button.secondary[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary[disabled]:focus, .button-group.hollow .wp-block-button .secondary.wp-block-button__link[disabled]:focus, .wp-block-button .button-group.hollow .secondary.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.wp-block-button__link[disabled]:focus { + border: 2px solid #D75930; + color: #D75930; } + .button-group.hollow.secondary .button:hover, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button:hover, .button-group.hollow.secondary .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.hollow.secondary .wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .wp-block-button__link:hover, .button-group.hollow.secondary .button:focus, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button:focus, .button-group.hollow.secondary .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.hollow.secondary .wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .wp-block-button__link:focus, .button-group.hollow .button.secondary:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary:hover, .button-group.hollow .wp-block-button .secondary.wp-block-button__link:hover, .wp-block-button .button-group.hollow .secondary.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.wp-block-button__link:hover, .button-group.hollow .button.secondary:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary:focus, .button-group.hollow .wp-block-button .secondary.wp-block-button__link:focus, .wp-block-button .button-group.hollow .secondary.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.wp-block-button__link:focus { + border-color: #6e2b15; + color: #6e2b15; } + .button-group.hollow.success .button, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button, .button-group.hollow.success .wp-block-button .wp-block-button__link, .wp-block-button .button-group.hollow.success .wp-block-button__link, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .wp-block-button__link, .button-group.hollow.success .button.disabled, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button.disabled, .button-group.hollow.success .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.hollow.success .disabled.wp-block-button__link, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .disabled.wp-block-button__link, .button-group.hollow.success .button[disabled], .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button[disabled], .button-group.hollow.success .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.hollow.success .wp-block-button__link[disabled], .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .wp-block-button__link[disabled], .button-group.hollow.success .button.disabled:hover, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button.disabled:hover, .button-group.hollow.success .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.hollow.success .disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .disabled.wp-block-button__link:hover, .button-group.hollow.success .button[disabled]:hover, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button[disabled]:hover, .button-group.hollow.success .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.hollow.success .wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .wp-block-button__link[disabled]:hover, .button-group.hollow.success .button.disabled:focus, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button.disabled:focus, .button-group.hollow.success .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.hollow.success .disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .disabled.wp-block-button__link:focus, .button-group.hollow.success .button[disabled]:focus, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button[disabled]:focus, .button-group.hollow.success .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.hollow.success .wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .wp-block-button__link[disabled]:focus, .button-group.hollow .button.success, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success, .button-group.hollow .wp-block-button .success.wp-block-button__link, .wp-block-button .button-group.hollow .success.wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .success.wp-block-button__link, .button-group.hollow .button.success.disabled, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success.disabled, .button-group.hollow .wp-block-button .success.disabled.wp-block-button__link, .wp-block-button .button-group.hollow .success.disabled.wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .success.disabled.wp-block-button__link, .button-group.hollow .button.success[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success[disabled], .button-group.hollow .wp-block-button .success.wp-block-button__link[disabled], .wp-block-button .button-group.hollow .success.wp-block-button__link[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .success.wp-block-button__link[disabled], .button-group.hollow .button.success.disabled:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success.disabled:hover, .button-group.hollow .wp-block-button .success.disabled.wp-block-button__link:hover, .wp-block-button .button-group.hollow .success.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .success.disabled.wp-block-button__link:hover, .button-group.hollow .button.success[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success[disabled]:hover, .button-group.hollow .wp-block-button .success.wp-block-button__link[disabled]:hover, .wp-block-button .button-group.hollow .success.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .success.wp-block-button__link[disabled]:hover, .button-group.hollow .button.success.disabled:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success.disabled:focus, .button-group.hollow .wp-block-button .success.disabled.wp-block-button__link:focus, .wp-block-button .button-group.hollow .success.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .success.disabled.wp-block-button__link:focus, .button-group.hollow .button.success[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success[disabled]:focus, .button-group.hollow .wp-block-button .success.wp-block-button__link[disabled]:focus, .wp-block-button .button-group.hollow .success.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .success.wp-block-button__link[disabled]:focus { + border: 2px solid #69E344; + color: #69E344; } + .button-group.hollow.success .button:hover, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button:hover, .button-group.hollow.success .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.hollow.success .wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .wp-block-button__link:hover, .button-group.hollow.success .button:focus, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button:focus, .button-group.hollow.success .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.hollow.success .wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .wp-block-button__link:focus, .button-group.hollow .button.success:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success:hover, .button-group.hollow .wp-block-button .success.wp-block-button__link:hover, .wp-block-button .button-group.hollow .success.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .success.wp-block-button__link:hover, .button-group.hollow .button.success:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success:focus, .button-group.hollow .wp-block-button .success.wp-block-button__link:focus, .wp-block-button .button-group.hollow .success.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .success.wp-block-button__link:focus { + border-color: #2d8013; + color: #2d8013; } + .button-group.hollow.warning .button, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button, .button-group.hollow.warning .wp-block-button .wp-block-button__link, .wp-block-button .button-group.hollow.warning .wp-block-button__link, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .wp-block-button__link, .button-group.hollow.warning .button.disabled, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button.disabled, .button-group.hollow.warning .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.hollow.warning .disabled.wp-block-button__link, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .disabled.wp-block-button__link, .button-group.hollow.warning .button[disabled], .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button[disabled], .button-group.hollow.warning .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.hollow.warning .wp-block-button__link[disabled], .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .wp-block-button__link[disabled], .button-group.hollow.warning .button.disabled:hover, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button.disabled:hover, .button-group.hollow.warning .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.hollow.warning .disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .disabled.wp-block-button__link:hover, .button-group.hollow.warning .button[disabled]:hover, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button[disabled]:hover, .button-group.hollow.warning .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.hollow.warning .wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .wp-block-button__link[disabled]:hover, .button-group.hollow.warning .button.disabled:focus, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button.disabled:focus, .button-group.hollow.warning .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.hollow.warning .disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .disabled.wp-block-button__link:focus, .button-group.hollow.warning .button[disabled]:focus, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button[disabled]:focus, .button-group.hollow.warning .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.hollow.warning .wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .wp-block-button__link[disabled]:focus, .button-group.hollow .button.warning, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning, .button-group.hollow .wp-block-button .warning.wp-block-button__link, .wp-block-button .button-group.hollow .warning.wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.wp-block-button__link, .button-group.hollow .button.warning.disabled, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning.disabled, .button-group.hollow .wp-block-button .warning.disabled.wp-block-button__link, .wp-block-button .button-group.hollow .warning.disabled.wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.disabled.wp-block-button__link, .button-group.hollow .button.warning[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning[disabled], .button-group.hollow .wp-block-button .warning.wp-block-button__link[disabled], .wp-block-button .button-group.hollow .warning.wp-block-button__link[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.wp-block-button__link[disabled], .button-group.hollow .button.warning.disabled:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning.disabled:hover, .button-group.hollow .wp-block-button .warning.disabled.wp-block-button__link:hover, .wp-block-button .button-group.hollow .warning.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.disabled.wp-block-button__link:hover, .button-group.hollow .button.warning[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning[disabled]:hover, .button-group.hollow .wp-block-button .warning.wp-block-button__link[disabled]:hover, .wp-block-button .button-group.hollow .warning.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.wp-block-button__link[disabled]:hover, .button-group.hollow .button.warning.disabled:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning.disabled:focus, .button-group.hollow .wp-block-button .warning.disabled.wp-block-button__link:focus, .wp-block-button .button-group.hollow .warning.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.disabled.wp-block-button__link:focus, .button-group.hollow .button.warning[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning[disabled]:focus, .button-group.hollow .wp-block-button .warning.wp-block-button__link[disabled]:focus, .wp-block-button .button-group.hollow .warning.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.wp-block-button__link[disabled]:focus { + border: 2px solid #D32D1F; + color: #D32D1F; } + .button-group.hollow.warning .button:hover, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button:hover, .button-group.hollow.warning .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.hollow.warning .wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .wp-block-button__link:hover, .button-group.hollow.warning .button:focus, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button:focus, .button-group.hollow.warning .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.hollow.warning .wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .wp-block-button__link:focus, .button-group.hollow .button.warning:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning:hover, .button-group.hollow .wp-block-button .warning.wp-block-button__link:hover, .wp-block-button .button-group.hollow .warning.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.wp-block-button__link:hover, .button-group.hollow .button.warning:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning:focus, .button-group.hollow .wp-block-button .warning.wp-block-button__link:focus, .wp-block-button .button-group.hollow .warning.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.wp-block-button__link:focus { + border-color: #6a1710; + color: #6a1710; } + .button-group.hollow.alert .button, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button, .button-group.hollow.alert .wp-block-button .wp-block-button__link, .wp-block-button .button-group.hollow.alert .wp-block-button__link, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .wp-block-button__link, .button-group.hollow.alert .button.disabled, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button.disabled, .button-group.hollow.alert .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.hollow.alert .disabled.wp-block-button__link, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .disabled.wp-block-button__link, .button-group.hollow.alert .button[disabled], .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button[disabled], .button-group.hollow.alert .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.hollow.alert .wp-block-button__link[disabled], .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .wp-block-button__link[disabled], .button-group.hollow.alert .button.disabled:hover, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button.disabled:hover, .button-group.hollow.alert .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.hollow.alert .disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .disabled.wp-block-button__link:hover, .button-group.hollow.alert .button[disabled]:hover, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button[disabled]:hover, .button-group.hollow.alert .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.hollow.alert .wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .wp-block-button__link[disabled]:hover, .button-group.hollow.alert .button.disabled:focus, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button.disabled:focus, .button-group.hollow.alert .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.hollow.alert .disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .disabled.wp-block-button__link:focus, .button-group.hollow.alert .button[disabled]:focus, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button[disabled]:focus, .button-group.hollow.alert .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.hollow.alert .wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .wp-block-button__link[disabled]:focus, .button-group.hollow .button.alert, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert, .button-group.hollow .wp-block-button .alert.wp-block-button__link, .wp-block-button .button-group.hollow .alert.wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.wp-block-button__link, .button-group.hollow .button.alert.disabled, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert.disabled, .button-group.hollow .wp-block-button .alert.disabled.wp-block-button__link, .wp-block-button .button-group.hollow .alert.disabled.wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.disabled.wp-block-button__link, .button-group.hollow .button.alert[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert[disabled], .button-group.hollow .wp-block-button .alert.wp-block-button__link[disabled], .wp-block-button .button-group.hollow .alert.wp-block-button__link[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.wp-block-button__link[disabled], .button-group.hollow .button.alert.disabled:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert.disabled:hover, .button-group.hollow .wp-block-button .alert.disabled.wp-block-button__link:hover, .wp-block-button .button-group.hollow .alert.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.disabled.wp-block-button__link:hover, .button-group.hollow .button.alert[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert[disabled]:hover, .button-group.hollow .wp-block-button .alert.wp-block-button__link[disabled]:hover, .wp-block-button .button-group.hollow .alert.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.wp-block-button__link[disabled]:hover, .button-group.hollow .button.alert.disabled:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert.disabled:focus, .button-group.hollow .wp-block-button .alert.disabled.wp-block-button__link:focus, .wp-block-button .button-group.hollow .alert.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.disabled.wp-block-button__link:focus, .button-group.hollow .button.alert[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert[disabled]:focus, .button-group.hollow .wp-block-button .alert.wp-block-button__link[disabled]:focus, .wp-block-button .button-group.hollow .alert.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.wp-block-button__link[disabled]:focus { + border: 2px solid #D32D1F; + color: #D32D1F; } + .button-group.hollow.alert .button:hover, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button:hover, .button-group.hollow.alert .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.hollow.alert .wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .wp-block-button__link:hover, .button-group.hollow.alert .button:focus, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button:focus, .button-group.hollow.alert .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.hollow.alert .wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .wp-block-button__link:focus, .button-group.hollow .button.alert:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert:hover, .button-group.hollow .wp-block-button .alert.wp-block-button__link:hover, .wp-block-button .button-group.hollow .alert.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.wp-block-button__link:hover, .button-group.hollow .button.alert:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert:focus, .button-group.hollow .wp-block-button .alert.wp-block-button__link:focus, .wp-block-button .button-group.hollow .alert.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.wp-block-button__link:focus { + border-color: #6a1710; + color: #6a1710; } + .button-group.clear .button, .button-group.clear .wp-block-button .wp-block-button__link, .wp-block-button .button-group.clear .wp-block-button__link, .button-group.clear .button:hover, .button-group.clear .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.clear .wp-block-button__link:hover, .button-group.clear .button:focus, .button-group.clear .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.clear .wp-block-button__link:focus, .button-group.clear .button.disabled, .button-group.clear .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.clear .disabled.wp-block-button__link, .button-group.clear .button.disabled:hover, .button-group.clear .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.clear .disabled.wp-block-button__link:hover, .button-group.clear .button.disabled:focus, .button-group.clear .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.clear .disabled.wp-block-button__link:focus, .button-group.clear .button[disabled], .button-group.clear .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.clear .wp-block-button__link[disabled], .button-group.clear .button[disabled]:hover, .button-group.clear .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.clear .wp-block-button__link[disabled]:hover, .button-group.clear .button[disabled]:focus, .button-group.clear .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.clear .wp-block-button__link[disabled]:focus { + border-color: transparent; + background-color: transparent; } + .button-group.clear .button, .button-group.clear .wp-block-button .wp-block-button__link, .wp-block-button .button-group.clear .wp-block-button__link, .button-group.clear .button.disabled, .button-group.clear .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.clear .disabled.wp-block-button__link, .button-group.clear .button[disabled], .button-group.clear .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.clear .wp-block-button__link[disabled], .button-group.clear .button.disabled:hover, .button-group.clear .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.clear .disabled.wp-block-button__link:hover, .button-group.clear .button[disabled]:hover, .button-group.clear .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.clear .wp-block-button__link[disabled]:hover, .button-group.clear .button.disabled:focus, .button-group.clear .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.clear .disabled.wp-block-button__link:focus, .button-group.clear .button[disabled]:focus, .button-group.clear .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.clear .wp-block-button__link[disabled]:focus { + color: #0000DD; } + .button-group.clear .button:hover, .button-group.clear .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.clear .wp-block-button__link:hover, .button-group.clear .button:focus, .button-group.clear .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.clear .wp-block-button__link:focus { + color: #00006f; } + .button-group.clear.primary .button, .button-group.clear.primary .wp-block-button .wp-block-button__link, .wp-block-button .button-group.clear.primary .wp-block-button__link, .button-group.clear.primary .button.disabled, .button-group.clear.primary .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.clear.primary .disabled.wp-block-button__link, .button-group.clear.primary .button[disabled], .button-group.clear.primary .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.clear.primary .wp-block-button__link[disabled], .button-group.clear.primary .button.disabled:hover, .button-group.clear.primary .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.clear.primary .disabled.wp-block-button__link:hover, .button-group.clear.primary .button[disabled]:hover, .button-group.clear.primary .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.clear.primary .wp-block-button__link[disabled]:hover, .button-group.clear.primary .button.disabled:focus, .button-group.clear.primary .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.clear.primary .disabled.wp-block-button__link:focus, .button-group.clear.primary .button[disabled]:focus, .button-group.clear.primary .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.clear.primary .wp-block-button__link[disabled]:focus, .button-group.clear .button.primary, .button-group.clear .wp-block-button .primary.wp-block-button__link, .wp-block-button .button-group.clear .primary.wp-block-button__link, .button-group.clear .button.primary.disabled, .button-group.clear .wp-block-button .primary.disabled.wp-block-button__link, .wp-block-button .button-group.clear .primary.disabled.wp-block-button__link, .button-group.clear .button.primary[disabled], .button-group.clear .wp-block-button .primary.wp-block-button__link[disabled], .wp-block-button .button-group.clear .primary.wp-block-button__link[disabled], .button-group.clear .button.primary.disabled:hover, .button-group.clear .wp-block-button .primary.disabled.wp-block-button__link:hover, .wp-block-button .button-group.clear .primary.disabled.wp-block-button__link:hover, .button-group.clear .button.primary[disabled]:hover, .button-group.clear .wp-block-button .primary.wp-block-button__link[disabled]:hover, .wp-block-button .button-group.clear .primary.wp-block-button__link[disabled]:hover, .button-group.clear .button.primary.disabled:focus, .button-group.clear .wp-block-button .primary.disabled.wp-block-button__link:focus, .wp-block-button .button-group.clear .primary.disabled.wp-block-button__link:focus, .button-group.clear .button.primary[disabled]:focus, .button-group.clear .wp-block-button .primary.wp-block-button__link[disabled]:focus, .wp-block-button .button-group.clear .primary.wp-block-button__link[disabled]:focus { + color: #0000DD; } + .button-group.clear.primary .button:hover, .button-group.clear.primary .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.clear.primary .wp-block-button__link:hover, .button-group.clear.primary .button:focus, .button-group.clear.primary .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.clear.primary .wp-block-button__link:focus, .button-group.clear .button.primary:hover, .button-group.clear .wp-block-button .primary.wp-block-button__link:hover, .wp-block-button .button-group.clear .primary.wp-block-button__link:hover, .button-group.clear .button.primary:focus, .button-group.clear .wp-block-button .primary.wp-block-button__link:focus, .wp-block-button .button-group.clear .primary.wp-block-button__link:focus { + color: #00006f; } + .button-group.clear.secondary .button, .button-group.clear.secondary .wp-block-button .wp-block-button__link, .wp-block-button .button-group.clear.secondary .wp-block-button__link, .button-group.clear.secondary .button.disabled, .button-group.clear.secondary .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.clear.secondary .disabled.wp-block-button__link, .button-group.clear.secondary .button[disabled], .button-group.clear.secondary .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.clear.secondary .wp-block-button__link[disabled], .button-group.clear.secondary .button.disabled:hover, .button-group.clear.secondary .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.clear.secondary .disabled.wp-block-button__link:hover, .button-group.clear.secondary .button[disabled]:hover, .button-group.clear.secondary .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.clear.secondary .wp-block-button__link[disabled]:hover, .button-group.clear.secondary .button.disabled:focus, .button-group.clear.secondary .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.clear.secondary .disabled.wp-block-button__link:focus, .button-group.clear.secondary .button[disabled]:focus, .button-group.clear.secondary .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.clear.secondary .wp-block-button__link[disabled]:focus, .button-group.clear .button.secondary, .button-group.clear .wp-block-button .secondary.wp-block-button__link, .wp-block-button .button-group.clear .secondary.wp-block-button__link, .button-group.clear .button.secondary.disabled, .button-group.clear .wp-block-button .secondary.disabled.wp-block-button__link, .wp-block-button .button-group.clear .secondary.disabled.wp-block-button__link, .button-group.clear .button.secondary[disabled], .button-group.clear .wp-block-button .secondary.wp-block-button__link[disabled], .wp-block-button .button-group.clear .secondary.wp-block-button__link[disabled], .button-group.clear .button.secondary.disabled:hover, .button-group.clear .wp-block-button .secondary.disabled.wp-block-button__link:hover, .wp-block-button .button-group.clear .secondary.disabled.wp-block-button__link:hover, .button-group.clear .button.secondary[disabled]:hover, .button-group.clear .wp-block-button .secondary.wp-block-button__link[disabled]:hover, .wp-block-button .button-group.clear .secondary.wp-block-button__link[disabled]:hover, .button-group.clear .button.secondary.disabled:focus, .button-group.clear .wp-block-button .secondary.disabled.wp-block-button__link:focus, .wp-block-button .button-group.clear .secondary.disabled.wp-block-button__link:focus, .button-group.clear .button.secondary[disabled]:focus, .button-group.clear .wp-block-button .secondary.wp-block-button__link[disabled]:focus, .wp-block-button .button-group.clear .secondary.wp-block-button__link[disabled]:focus { + color: #D75930; } + .button-group.clear.secondary .button:hover, .button-group.clear.secondary .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.clear.secondary .wp-block-button__link:hover, .button-group.clear.secondary .button:focus, .button-group.clear.secondary .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.clear.secondary .wp-block-button__link:focus, .button-group.clear .button.secondary:hover, .button-group.clear .wp-block-button .secondary.wp-block-button__link:hover, .wp-block-button .button-group.clear .secondary.wp-block-button__link:hover, .button-group.clear .button.secondary:focus, .button-group.clear .wp-block-button .secondary.wp-block-button__link:focus, .wp-block-button .button-group.clear .secondary.wp-block-button__link:focus { + color: #6e2b15; } + .button-group.clear.success .button, .button-group.clear.success .wp-block-button .wp-block-button__link, .wp-block-button .button-group.clear.success .wp-block-button__link, .button-group.clear.success .button.disabled, .button-group.clear.success .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.clear.success .disabled.wp-block-button__link, .button-group.clear.success .button[disabled], .button-group.clear.success .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.clear.success .wp-block-button__link[disabled], .button-group.clear.success .button.disabled:hover, .button-group.clear.success .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.clear.success .disabled.wp-block-button__link:hover, .button-group.clear.success .button[disabled]:hover, .button-group.clear.success .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.clear.success .wp-block-button__link[disabled]:hover, .button-group.clear.success .button.disabled:focus, .button-group.clear.success .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.clear.success .disabled.wp-block-button__link:focus, .button-group.clear.success .button[disabled]:focus, .button-group.clear.success .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.clear.success .wp-block-button__link[disabled]:focus, .button-group.clear .button.success, .button-group.clear .wp-block-button .success.wp-block-button__link, .wp-block-button .button-group.clear .success.wp-block-button__link, .button-group.clear .button.success.disabled, .button-group.clear .wp-block-button .success.disabled.wp-block-button__link, .wp-block-button .button-group.clear .success.disabled.wp-block-button__link, .button-group.clear .button.success[disabled], .button-group.clear .wp-block-button .success.wp-block-button__link[disabled], .wp-block-button .button-group.clear .success.wp-block-button__link[disabled], .button-group.clear .button.success.disabled:hover, .button-group.clear .wp-block-button .success.disabled.wp-block-button__link:hover, .wp-block-button .button-group.clear .success.disabled.wp-block-button__link:hover, .button-group.clear .button.success[disabled]:hover, .button-group.clear .wp-block-button .success.wp-block-button__link[disabled]:hover, .wp-block-button .button-group.clear .success.wp-block-button__link[disabled]:hover, .button-group.clear .button.success.disabled:focus, .button-group.clear .wp-block-button .success.disabled.wp-block-button__link:focus, .wp-block-button .button-group.clear .success.disabled.wp-block-button__link:focus, .button-group.clear .button.success[disabled]:focus, .button-group.clear .wp-block-button .success.wp-block-button__link[disabled]:focus, .wp-block-button .button-group.clear .success.wp-block-button__link[disabled]:focus { + color: #69E344; } + .button-group.clear.success .button:hover, .button-group.clear.success .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.clear.success .wp-block-button__link:hover, .button-group.clear.success .button:focus, .button-group.clear.success .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.clear.success .wp-block-button__link:focus, .button-group.clear .button.success:hover, .button-group.clear .wp-block-button .success.wp-block-button__link:hover, .wp-block-button .button-group.clear .success.wp-block-button__link:hover, .button-group.clear .button.success:focus, .button-group.clear .wp-block-button .success.wp-block-button__link:focus, .wp-block-button .button-group.clear .success.wp-block-button__link:focus { + color: #2d8013; } + .button-group.clear.warning .button, .button-group.clear.warning .wp-block-button .wp-block-button__link, .wp-block-button .button-group.clear.warning .wp-block-button__link, .button-group.clear.warning .button.disabled, .button-group.clear.warning .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.clear.warning .disabled.wp-block-button__link, .button-group.clear.warning .button[disabled], .button-group.clear.warning .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.clear.warning .wp-block-button__link[disabled], .button-group.clear.warning .button.disabled:hover, .button-group.clear.warning .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.clear.warning .disabled.wp-block-button__link:hover, .button-group.clear.warning .button[disabled]:hover, .button-group.clear.warning .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.clear.warning .wp-block-button__link[disabled]:hover, .button-group.clear.warning .button.disabled:focus, .button-group.clear.warning .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.clear.warning .disabled.wp-block-button__link:focus, .button-group.clear.warning .button[disabled]:focus, .button-group.clear.warning .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.clear.warning .wp-block-button__link[disabled]:focus, .button-group.clear .button.warning, .button-group.clear .wp-block-button .warning.wp-block-button__link, .wp-block-button .button-group.clear .warning.wp-block-button__link, .button-group.clear .button.warning.disabled, .button-group.clear .wp-block-button .warning.disabled.wp-block-button__link, .wp-block-button .button-group.clear .warning.disabled.wp-block-button__link, .button-group.clear .button.warning[disabled], .button-group.clear .wp-block-button .warning.wp-block-button__link[disabled], .wp-block-button .button-group.clear .warning.wp-block-button__link[disabled], .button-group.clear .button.warning.disabled:hover, .button-group.clear .wp-block-button .warning.disabled.wp-block-button__link:hover, .wp-block-button .button-group.clear .warning.disabled.wp-block-button__link:hover, .button-group.clear .button.warning[disabled]:hover, .button-group.clear .wp-block-button .warning.wp-block-button__link[disabled]:hover, .wp-block-button .button-group.clear .warning.wp-block-button__link[disabled]:hover, .button-group.clear .button.warning.disabled:focus, .button-group.clear .wp-block-button .warning.disabled.wp-block-button__link:focus, .wp-block-button .button-group.clear .warning.disabled.wp-block-button__link:focus, .button-group.clear .button.warning[disabled]:focus, .button-group.clear .wp-block-button .warning.wp-block-button__link[disabled]:focus, .wp-block-button .button-group.clear .warning.wp-block-button__link[disabled]:focus { + color: #D32D1F; } + .button-group.clear.warning .button:hover, .button-group.clear.warning .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.clear.warning .wp-block-button__link:hover, .button-group.clear.warning .button:focus, .button-group.clear.warning .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.clear.warning .wp-block-button__link:focus, .button-group.clear .button.warning:hover, .button-group.clear .wp-block-button .warning.wp-block-button__link:hover, .wp-block-button .button-group.clear .warning.wp-block-button__link:hover, .button-group.clear .button.warning:focus, .button-group.clear .wp-block-button .warning.wp-block-button__link:focus, .wp-block-button .button-group.clear .warning.wp-block-button__link:focus { + color: #6a1710; } + .button-group.clear.alert .button, .button-group.clear.alert .wp-block-button .wp-block-button__link, .wp-block-button .button-group.clear.alert .wp-block-button__link, .button-group.clear.alert .button.disabled, .button-group.clear.alert .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.clear.alert .disabled.wp-block-button__link, .button-group.clear.alert .button[disabled], .button-group.clear.alert .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.clear.alert .wp-block-button__link[disabled], .button-group.clear.alert .button.disabled:hover, .button-group.clear.alert .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.clear.alert .disabled.wp-block-button__link:hover, .button-group.clear.alert .button[disabled]:hover, .button-group.clear.alert .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.clear.alert .wp-block-button__link[disabled]:hover, .button-group.clear.alert .button.disabled:focus, .button-group.clear.alert .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.clear.alert .disabled.wp-block-button__link:focus, .button-group.clear.alert .button[disabled]:focus, .button-group.clear.alert .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.clear.alert .wp-block-button__link[disabled]:focus, .button-group.clear .button.alert, .button-group.clear .wp-block-button .alert.wp-block-button__link, .wp-block-button .button-group.clear .alert.wp-block-button__link, .button-group.clear .button.alert.disabled, .button-group.clear .wp-block-button .alert.disabled.wp-block-button__link, .wp-block-button .button-group.clear .alert.disabled.wp-block-button__link, .button-group.clear .button.alert[disabled], .button-group.clear .wp-block-button .alert.wp-block-button__link[disabled], .wp-block-button .button-group.clear .alert.wp-block-button__link[disabled], .button-group.clear .button.alert.disabled:hover, .button-group.clear .wp-block-button .alert.disabled.wp-block-button__link:hover, .wp-block-button .button-group.clear .alert.disabled.wp-block-button__link:hover, .button-group.clear .button.alert[disabled]:hover, .button-group.clear .wp-block-button .alert.wp-block-button__link[disabled]:hover, .wp-block-button .button-group.clear .alert.wp-block-button__link[disabled]:hover, .button-group.clear .button.alert.disabled:focus, .button-group.clear .wp-block-button .alert.disabled.wp-block-button__link:focus, .wp-block-button .button-group.clear .alert.disabled.wp-block-button__link:focus, .button-group.clear .button.alert[disabled]:focus, .button-group.clear .wp-block-button .alert.wp-block-button__link[disabled]:focus, .wp-block-button .button-group.clear .alert.wp-block-button__link[disabled]:focus { + color: #D32D1F; } + .button-group.clear.alert .button:hover, .button-group.clear.alert .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.clear.alert .wp-block-button__link:hover, .button-group.clear.alert .button:focus, .button-group.clear.alert .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.clear.alert .wp-block-button__link:focus, .button-group.clear .button.alert:hover, .button-group.clear .wp-block-button .alert.wp-block-button__link:hover, .wp-block-button .button-group.clear .alert.wp-block-button__link:hover, .button-group.clear .button.alert:focus, .button-group.clear .wp-block-button .alert.wp-block-button__link:focus, .wp-block-button .button-group.clear .alert.wp-block-button__link:focus { + color: #6a1710; } + .button-group.no-gaps .button, .button-group.no-gaps .wp-block-button .wp-block-button__link, .wp-block-button .button-group.no-gaps .wp-block-button__link { + margin-right: -0.125rem; } + .button-group.no-gaps .button + .button, .button-group.no-gaps .wp-block-button .wp-block-button__link + .button, .wp-block-button .button-group.no-gaps .wp-block-button__link + .button, .button-group.no-gaps .wp-block-button .button + .wp-block-button__link, .wp-block-button .button-group.no-gaps .button + .wp-block-button__link, .button-group.no-gaps .wp-block-button .wp-block-button__link + .wp-block-button__link, .wp-block-button .button-group.no-gaps .wp-block-button__link + .wp-block-button__link { + border-left-color: transparent; } + .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium { + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; } + .button-group.stacked .button, .button-group.stacked .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked .wp-block-button__link, .button-group.stacked-for-small .button, .button-group.stacked-for-small .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked-for-small .wp-block-button__link, .button-group.stacked-for-medium .button, .button-group.stacked-for-medium .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked-for-medium .wp-block-button__link { + -webkit-box-flex: 0; + -webkit-flex: 0 0 100%; + -ms-flex: 0 0 100%; + flex: 0 0 100%; } + .button-group.stacked .button:last-child, .button-group.stacked .wp-block-button .wp-block-button__link:last-child, .wp-block-button .button-group.stacked .wp-block-button__link:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-small .wp-block-button .wp-block-button__link:last-child, .wp-block-button .button-group.stacked-for-small .wp-block-button__link:last-child, .button-group.stacked-for-medium .button:last-child, .button-group.stacked-for-medium .wp-block-button .wp-block-button__link:last-child, .wp-block-button .button-group.stacked-for-medium .wp-block-button__link:last-child { + margin-bottom: 0; } + .button-group.stacked.expanded .button, .button-group.stacked.expanded .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked.expanded .wp-block-button__link, .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-small.expanded .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked-for-small.expanded .wp-block-button__link, .button-group.stacked-for-medium.expanded .button, .button-group.stacked-for-medium.expanded .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked-for-medium.expanded .wp-block-button__link { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0px; + -ms-flex: 1 1 0px; + flex: 1 1 0px; + margin-right: 0; } + @media print, screen and (min-width: 40em) { + .button-group.stacked-for-small .button, .button-group.stacked-for-small .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked-for-small .wp-block-button__link { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + margin-bottom: 0; } } + @media print, screen and (min-width: 64em) { + .button-group.stacked-for-medium .button, .button-group.stacked-for-medium .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked-for-medium .wp-block-button__link { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + margin-bottom: 0; } } + @media print, screen and (max-width: 39.99875em) { + .button-group.stacked-for-small.expanded { + display: block; } + .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-small.expanded .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked-for-small.expanded .wp-block-button__link { + display: block; + margin-right: 0; } } + @media print, screen and (max-width: 63.99875em) { + .button-group.stacked-for-medium.expanded { + display: block; } + .button-group.stacked-for-medium.expanded .button, .button-group.stacked-for-medium.expanded .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked-for-medium.expanded .wp-block-button__link { + display: block; + margin-right: 0; } } + +.close-button { + position: absolute; + z-index: 10; + color: #8a8a8a; + cursor: pointer; } + [data-whatinput='mouse'] .close-button { + outline: 0; } + .close-button:hover, .close-button:focus { + color: #0a0a0a; } + .close-button.small { + right: 0.66rem; + top: 0.33em; + font-size: 1.5em; + line-height: 1; } + .close-button.medium, .close-button { + right: 1rem; + top: 0.5rem; + font-size: 2em; + line-height: 1; } + +.label { + display: inline-block; + padding: 0.33333rem 0.5rem; + border-radius: 0; + font-size: 0.8rem; + line-height: 1; + white-space: nowrap; + cursor: default; + background: #0000DD; + color: #fefefe; } + .label.primary { + background: #0000DD; + color: #fefefe; } + .label.secondary { + background: #D75930; + color: #0a0a0a; } + .label.success { + background: #69E344; + color: #0a0a0a; } + .label.warning { + background: #D32D1F; + color: #fefefe; } + .label.alert { + background: #D32D1F; + color: #fefefe; } + +table { + border-collapse: collapse; + width: 100%; + margin-bottom: 2rem; + border-radius: 0; } + thead, + tbody, + tfoot { + border: 1px solid #f1f1f1; + background-color: #fefefe; } + caption { + padding: 0.5rem 0.625rem 0.625rem; + font-weight: bold; } + thead { + background: #f8f8f8; + color: #0a0a0a; } + tfoot { + background: #f1f1f1; + color: #0a0a0a; } + thead tr, + tfoot tr { + background: transparent; } + thead th, + thead td, + tfoot th, + tfoot td { + padding: 0.5rem 0.625rem 0.625rem; + font-weight: bold; + text-align: left; } + tbody th, + tbody td { + padding: 0.5rem 0.625rem 0.625rem; } + tbody tr:nth-child(even) { + border-bottom: 0; + background-color: #f1f1f1; } + table.unstriped tbody { + background-color: #fefefe; } + table.unstriped tbody tr { + border-bottom: 0; + border-bottom: 1px solid #f1f1f1; + background-color: #fefefe; } + +@media print, screen and (max-width: 63.99875em) { + table.stack thead { + display: none; } + table.stack tfoot { + display: none; } + table.stack tr, + table.stack th, + table.stack td { + display: block; } + table.stack td { + border-top: 0; } } + +table.scroll { + display: block; + width: 100%; + overflow-x: auto; } + +table.hover thead tr:hover { + background-color: #f3f3f3; } + +table.hover tfoot tr:hover { + background-color: #ececec; } + +table.hover tbody tr:hover { + background-color: #f9f9f9; } + +table.hover:not(.unstriped) tr:nth-of-type(even):hover { + background-color: #ececec; } + +.table-scroll { + overflow-x: auto; } + +.badge { + display: inline-block; + min-width: 2.1em; + padding: 0.3em; + border-radius: 50%; + font-size: 0.6rem; + text-align: center; + background: #0000DD; + color: #fefefe; } + .badge.primary { + background: #0000DD; + color: #fefefe; } + .badge.secondary { + background: #D75930; + color: #0a0a0a; } + .badge.success { + background: #69E344; + color: #0a0a0a; } + .badge.warning { + background: #D32D1F; + color: #fefefe; } + .badge.alert { + background: #D32D1F; + color: #fefefe; } + +.breadcrumbs { + margin: 0 0 2rem 0; + list-style: none; } + .breadcrumbs::before, .breadcrumbs::after { + display: table; + content: ' '; + -webkit-flex-basis: 0; + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + -ms-flex-order: 1; + order: 1; } + .breadcrumbs::after { + clear: both; } + .breadcrumbs li { + float: left; + font-size: 0.6875rem; + color: #0a0a0a; + cursor: default; + text-transform: uppercase; } + .breadcrumbs li:not(:last-child)::after { + position: relative; + margin: 0 0.75rem; + opacity: 1; + content: "/"; + color: #cacaca; } + .breadcrumbs a { + color: #0000DD; } + .breadcrumbs a:hover { + text-decoration: underline; } + .breadcrumbs .disabled { + color: #cacaca; + cursor: not-allowed; } + +.callout { + position: relative; + margin: 0 0 1rem 0; + padding: 1rem; + border: 1px solid rgba(10, 10, 10, 0.25); + border-radius: 0; + background-color: white; + color: #0a0a0a; } + .callout > :first-child { + margin-top: 0; } + .callout > :last-child { + margin-bottom: 0; } + .callout.primary { + background-color: #d4d4ff; + color: #0a0a0a; } + .callout.secondary { + background-color: #f9e6e0; + color: #0a0a0a; } + .callout.success { + background-color: #e9fbe3; + color: #0a0a0a; } + .callout.warning { + background-color: #fadedc; + color: #0a0a0a; } + .callout.alert { + background-color: #fadedc; + color: #0a0a0a; } + .callout.small { + padding-top: 0.5rem; + padding-right: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 0.5rem; } + .callout.large { + padding-top: 3rem; + padding-right: 3rem; + padding-bottom: 3rem; + padding-left: 3rem; } + +.card { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + margin-bottom: 4rem; + border: none; + border-radius: 0; + background: unset; + -webkit-box-shadow: none; + box-shadow: none; + overflow: hidden; + color: #0a0a0a; } + .card > :last-child { + margin-bottom: 0; } + +.card-divider { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 0; + -webkit-flex: 0 1 auto; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + padding: 4rem; + background: #e6e6e6; } + .card-divider > :last-child { + margin-bottom: 0; } + +.card-section { + -webkit-box-flex: 1; + -webkit-flex: 1 0 auto; + -ms-flex: 1 0 auto; + flex: 1 0 auto; + padding: 4rem; } + .card-section > :last-child { + margin-bottom: 0; } + +.card-image { + min-height: 1px; } + +.dropdown-pane { + position: absolute; + z-index: 10; + display: none; + width: 300px; + padding: 1rem; + visibility: hidden; + border: 1px solid #cacaca; + border-radius: 0; + background-color: #fefefe; + font-size: 1rem; } + .dropdown-pane.is-opening { + display: block; } + .dropdown-pane.is-open { + display: block; + visibility: visible; } + +.dropdown-pane.tiny { + width: 100px; } + +.dropdown-pane.small { + width: 200px; } + +.dropdown-pane.large { + width: 400px; } + +.pagination { + margin-left: 0; + margin-bottom: 2rem; } + .pagination::before, .pagination::after { + display: table; + content: ' '; + -webkit-flex-basis: 0; + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + -ms-flex-order: 1; + order: 1; } + .pagination::after { + clear: both; } + .pagination li { + margin-right: 0.0625rem; + border-radius: 0; + font-size: 0.875rem; + display: none; } + .pagination li:last-child, .pagination li:first-child { + display: inline-block; } + @media print, screen and (min-width: 40em) { + .pagination li { + display: inline-block; } } + .pagination a, + .pagination button { + display: block; + padding: 0.1875rem 0.625rem; + border-radius: 0; + color: #0a0a0a; } + .pagination a:hover, + .pagination button:hover { + background: #e6e6e6; } + .pagination .current { + padding: 0.1875rem 0.625rem; + background: #0000DD; + color: #fefefe; + cursor: default; } + .pagination .disabled { + padding: 0.1875rem 0.625rem; + color: #cacaca; + cursor: not-allowed; } + .pagination .disabled:hover { + background: transparent; } + .pagination .ellipsis::after { + padding: 0.1875rem 0.625rem; + content: '\2026'; + color: #0a0a0a; } + +.pagination-previous a::before, +.pagination-previous.disabled::before { + display: inline-block; + margin-right: 0.5rem; + content: "«"; } + +.pagination-next a::after, +.pagination-next.disabled::after { + display: inline-block; + margin-left: 0.5rem; + content: "»"; } + +.has-tip { + position: relative; + display: inline-block; + border-bottom: dotted 1px #8a8a8a; + font-weight: bold; + cursor: help; } + +.tooltip { + position: absolute; + top: calc(100% + 0.6495rem); + z-index: 1200; + max-width: 10rem; + padding: 0.75rem; + border-radius: 0; + background-color: #0a0a0a; + font-size: 80%; + color: #fefefe; } + .tooltip::before { + position: absolute; } + .tooltip.bottom::before { + display: block; + width: 0; + height: 0; + border: inset 0.75rem; + content: ''; + border-top-width: 0; + border-bottom-style: solid; + border-color: transparent transparent #0a0a0a; + bottom: 100%; } + .tooltip.bottom.align-center::before { + left: 50%; + -webkit-transform: translateX(-50%); + -ms-transform: translateX(-50%); + transform: translateX(-50%); } + .tooltip.top::before { + display: block; + width: 0; + height: 0; + border: inset 0.75rem; + content: ''; + border-bottom-width: 0; + border-top-style: solid; + border-color: #0a0a0a transparent transparent; + top: 100%; + bottom: auto; } + .tooltip.top.align-center::before { + left: 50%; + -webkit-transform: translateX(-50%); + -ms-transform: translateX(-50%); + transform: translateX(-50%); } + .tooltip.left::before { + display: block; + width: 0; + height: 0; + border: inset 0.75rem; + content: ''; + border-right-width: 0; + border-left-style: solid; + border-color: transparent transparent transparent #0a0a0a; + left: 100%; } + .tooltip.left.align-center::before { + bottom: auto; + top: 50%; + -webkit-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); } + .tooltip.right::before { + display: block; + width: 0; + height: 0; + border: inset 0.75rem; + content: ''; + border-left-width: 0; + border-right-style: solid; + border-color: transparent #0a0a0a transparent transparent; + right: 100%; + left: auto; } + .tooltip.right.align-center::before { + bottom: auto; + top: 50%; + -webkit-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); } + .tooltip.align-top::before { + bottom: auto; + top: 10%; } + .tooltip.align-bottom::before { + bottom: 10%; + top: auto; } + .tooltip.align-left::before { + left: 10%; + right: auto; } + .tooltip.align-right::before { + left: auto; + right: 10%; } + +.accordion { + margin-left: 0; + background: #fefefe; + list-style-type: none; } + .accordion[disabled] .accordion-title { + cursor: not-allowed; } + +.accordion-item:first-child > :first-child { + border-radius: 0 0 0 0; } + +.accordion-item:last-child > :last-child { + border-radius: 0 0 0 0; } + +.accordion-title { + position: relative; + display: block; + padding: 1.5rem 0; + border: none; + border-bottom: 0; + font-size: 0.75rem; + line-height: 1; + color: #0a0a0a; } + :last-child:not(.is-active) > .accordion-title { + border-bottom: none; + border-radius: 0 0 0 0; } + .accordion-title:hover, .accordion-title:focus { + background-color: none; } + .accordion-title::before { + position: absolute; + top: 50%; + right: 1rem; + margin-top: -0.5rem; + content: "+"; } + .is-active > .accordion-title::before { + content: "–"; } + +.accordion-content { + display: none; + padding: 1.5rem 0; + border: none; + border-bottom: 0; + background-color: #fefefe; + color: #0a0a0a; } + :last-child > .accordion-content:last-child { + border-bottom: none; } + +.media-object { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + margin-bottom: 2rem; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; } + .media-object img { + max-width: none; } + @media print, screen and (max-width: 39.99875em) { + .media-object.stack-for-small { + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; } } + +.media-object-section { + -webkit-box-flex: 0; + -webkit-flex: 0 1 auto; + -ms-flex: 0 1 auto; + flex: 0 1 auto; } + .media-object-section:first-child { + padding-right: 1rem; } + .media-object-section:last-child:not(:nth-child(2)) { + padding-left: 1rem; } + .media-object-section > :last-child { + margin-bottom: 0; } + @media print, screen and (max-width: 39.99875em) { + .stack-for-small .media-object-section { + padding: 0; + padding-bottom: 1rem; + -webkit-flex-basis: 100%; + -ms-flex-preferred-size: 100%; + flex-basis: 100%; + max-width: 100%; } + .stack-for-small .media-object-section img { + width: 100%; } } + .media-object-section.main-section { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0px; + -ms-flex: 1 1 0px; + flex: 1 1 0px; } + +.responsive-embed, +.flex-video { + position: relative; + height: 0; + margin-bottom: 1rem; + padding-bottom: 56.25%; + overflow: hidden; } + .responsive-embed iframe, + .responsive-embed object, + .responsive-embed embed, + .responsive-embed video, + .flex-video iframe, + .flex-video object, + .flex-video embed, + .flex-video video { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; } + .responsive-embed.standard, + .flex-video.standard { + padding-bottom: 75%; } + .responsive-embed.widescreen, + .flex-video.widescreen { + padding-bottom: 56.25%; } + .responsive-embed.classicfilm, + .flex-video.classicfilm { + padding-bottom: 66.66667%; } + +.tabs { + margin: 0; + border: 1px solid #e6e6e6; + background: #fefefe; + list-style-type: none; } + .tabs::before, .tabs::after { + display: table; + content: ' '; + -webkit-flex-basis: 0; + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + -ms-flex-order: 1; + order: 1; } + .tabs::after { + clear: both; } + +.tabs.vertical > li { + display: block; + float: none; + width: auto; } + +.tabs.simple > li > a { + padding: 0; } + .tabs.simple > li > a:hover { + background: transparent; } + +.tabs.primary { + background: #0000DD; } + .tabs.primary > li > a { + color: #fefefe; } + .tabs.primary > li > a:hover, .tabs.primary > li > a:focus { + background: #0000d2; } + +.tabs-title { + float: left; } + .tabs-title > a { + display: block; + padding: 1.25rem 1.5rem; + font-size: 0.75rem; + line-height: 1; + color: #0000DD; } + [data-whatinput='mouse'] .tabs-title > a { + outline: 0; } + .tabs-title > a:hover { + background: #fefefe; + color: #0000be; } + .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] { + background: #e6e6e6; + color: #0000DD; } + +.tabs-content { + border: 1px solid #e6e6e6; + border-top: 0; + background: #fefefe; + color: #0a0a0a; + -webkit-transition: all 0.5s ease; + transition: all 0.5s ease; } + +.tabs-content.vertical { + border: 1px solid #e6e6e6; + border-left: 0; } + +.tabs-panel { + display: none; + padding: 1rem; } + .tabs-panel.is-active { + display: block; } + +.thumbnail { + display: inline-block; + max-width: 100%; + margin-bottom: 2rem; + border: 4px solid #fefefe; + border-radius: 0; + -webkit-box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2); + box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2); + line-height: 0; } + +a.thumbnail { + -webkit-transition: -webkit-box-shadow 200ms ease-out; + transition: -webkit-box-shadow 200ms ease-out; + transition: box-shadow 200ms ease-out; + transition: box-shadow 200ms ease-out, -webkit-box-shadow 200ms ease-out; } + a.thumbnail:hover, a.thumbnail:focus { + -webkit-box-shadow: 0 0 6px 1px rgba(0, 0, 221, 0.5); + box-shadow: 0 0 6px 1px rgba(0, 0, 221, 0.5); } + a.thumbnail image { + -webkit-box-shadow: none; + box-shadow: none; } + +.menu { + padding: 0; + margin: 0; + list-style: none; + position: relative; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; } + [data-whatinput='mouse'] .menu li { + outline: 0; } + .menu a, + .menu .button, + .menu .wp-block-button .wp-block-button__link, + .wp-block-button .menu .wp-block-button__link { + line-height: 1; + text-decoration: none; + display: block; + padding: 0.7rem 1rem; } + .menu input, + .menu select, + .menu a, + .menu button { + margin-bottom: 0; } + .menu input { + display: inline-block; } + .menu, .menu.horizontal { + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; } + .menu.vertical { + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } + .menu.expanded li { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0px; + -ms-flex: 1 1 0px; + flex: 1 1 0px; } + .menu.simple { + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; } + .menu.simple li + li { + margin-left: 1rem; } + .menu.simple a { + padding: 0; } + @media print, screen and (min-width: 40em) { + .menu.medium-horizontal { + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; } + .menu.medium-vertical { + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } + .menu.medium-expanded li { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0px; + -ms-flex: 1 1 0px; + flex: 1 1 0px; } + .menu.medium-simple li { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0px; + -ms-flex: 1 1 0px; + flex: 1 1 0px; } } + @media print, screen and (min-width: 64em) { + .menu.large-horizontal { + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; } + .menu.large-vertical { + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } + .menu.large-expanded li { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0px; + -ms-flex: 1 1 0px; + flex: 1 1 0px; } + .menu.large-simple li { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0px; + -ms-flex: 1 1 0px; + flex: 1 1 0px; } } + .menu.nested { + margin-right: 0; + margin-left: 1rem; } + .menu.icons a { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } + .menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } + .menu.icon-left li a { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-flow: row nowrap; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; } + .menu.icon-left li a img, + .menu.icon-left li a i, + .menu.icon-left li a svg { + margin-right: 0.25rem; } + .menu.icon-right li a { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-flow: row nowrap; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; } + .menu.icon-right li a img, + .menu.icon-right li a i, + .menu.icon-right li a svg { + margin-left: 0.25rem; } + .menu.icon-top li a { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-flow: column nowrap; + -ms-flex-flow: column nowrap; + flex-flow: column nowrap; } + .menu.icon-top li a img, + .menu.icon-top li a i, + .menu.icon-top li a svg { + -webkit-align-self: stretch; + -ms-flex-item-align: stretch; + align-self: stretch; + margin-bottom: 0.25rem; + text-align: center; } + .menu.icon-bottom li a { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-flow: column nowrap; + -ms-flex-flow: column nowrap; + flex-flow: column nowrap; } + .menu.icon-bottom li a img, + .menu.icon-bottom li a i, + .menu.icon-bottom li a svg { + -webkit-align-self: stretch; + -ms-flex-item-align: stretch; + align-self: stretch; + margin-bottom: 0.25rem; + text-align: center; } + .menu .is-active > a { + background: #fefefe; + color: #0a0a0a; } + .menu .active > a { + background: #fefefe; + color: #0a0a0a; } + .menu.align-left { + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + -ms-flex-pack: start; + justify-content: flex-start; } + .menu.align-right li { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end; } + .menu.align-right li .submenu li { + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + -ms-flex-pack: start; + justify-content: flex-start; } + .menu.align-right.vertical li { + display: block; + text-align: right; } + .menu.align-right.vertical li .submenu li { + text-align: right; } + .menu.align-right .nested { + margin-right: 1rem; + margin-left: 0; } + .menu.align-center li { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; } + .menu.align-center li .submenu li { + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + -ms-flex-pack: start; + justify-content: flex-start; } + .menu .menu-text { + padding: 0.7rem 1rem; + font-weight: bold; + line-height: 1; + color: inherit; } + +.menu-centered > .menu { + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; } + .menu-centered > .menu li { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; } + .menu-centered > .menu li .submenu li { + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + -ms-flex-pack: start; + justify-content: flex-start; } + +.no-js [data-responsive-menu] ul { + display: none; } + +.menu-icon { + position: relative; + display: inline-block; + vertical-align: middle; + width: 20px; + height: 16px; + cursor: pointer; } + .menu-icon::after { + position: absolute; + top: 0; + left: 0; + display: block; + width: 100%; + height: 2px; + background: #0a0a0a; + -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; + box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; + content: ''; } + .menu-icon:hover::after { + background: #cacaca; + -webkit-box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; + box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; } + +.menu-icon.dark { + position: relative; + display: inline-block; + vertical-align: middle; + width: 20px; + height: 16px; + cursor: pointer; } + .menu-icon.dark::after { + position: absolute; + top: 0; + left: 0; + display: block; + width: 100%; + height: 2px; + background: #0a0a0a; + -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; + box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; + content: ''; } + .menu-icon.dark:hover::after { + background: #8a8a8a; + -webkit-box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; + box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; } + +.accordion-menu li { + width: 100%; } + +.accordion-menu a { + padding: 0.7rem 1rem; } + +.accordion-menu .is-accordion-submenu a { + padding: 0.7rem 1rem; } + +.accordion-menu .nested.is-accordion-submenu { + margin-right: 0; + margin-left: 1rem; } + +.accordion-menu.align-right .nested.is-accordion-submenu { + margin-right: 1rem; + margin-left: 0; } + +.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a { + position: relative; } + .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-bottom-width: 0; + border-top-style: solid; + border-color: #0000DD transparent transparent; + position: absolute; + top: 50%; + margin-top: -3px; + right: 1rem; } + +.accordion-menu.align-left .is-accordion-submenu-parent > a::after { + right: 1rem; + left: auto; } + +.accordion-menu.align-right .is-accordion-submenu-parent > a::after { + right: auto; + left: 1rem; } + +.accordion-menu .is-accordion-submenu-parent[aria-expanded='true'] > a::after { + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); + -webkit-transform-origin: 50% 50%; + -ms-transform-origin: 50% 50%; + transform-origin: 50% 50%; } + +.is-accordion-submenu-parent { + position: relative; } + +.has-submenu-toggle > a { + margin-right: 40px; } + +.submenu-toggle { + position: absolute; + top: 0; + right: 0; + width: 40px; + height: 40px; + cursor: pointer; } + .submenu-toggle::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-bottom-width: 0; + border-top-style: solid; + border-color: #0000DD transparent transparent; + top: 0; + bottom: 0; + margin: auto; } + +.submenu-toggle[aria-expanded='true']::after { + -webkit-transform: scaleY(-1); + -ms-transform: scaleY(-1); + transform: scaleY(-1); + -webkit-transform-origin: 50% 50%; + -ms-transform-origin: 50% 50%; + transform-origin: 50% 50%; } + +.submenu-toggle-text { + position: absolute !important; + width: 1px !important; + height: 1px !important; + padding: 0 !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; } + +.is-drilldown { + position: relative; + overflow: hidden; } + .is-drilldown li { + display: block; } + .is-drilldown.animate-height { + -webkit-transition: height 0.5s; + transition: height 0.5s; } + +.drilldown a { + padding: 0.7rem 1rem; + background: #fefefe; } + +.drilldown .is-drilldown-submenu { + position: absolute; + top: 0; + left: 100%; + z-index: -1; + width: 100%; + background: #fefefe; + -webkit-transition: -webkit-transform 0.15s linear; + transition: -webkit-transform 0.15s linear; + transition: transform 0.15s linear; + transition: transform 0.15s linear, -webkit-transform 0.15s linear; } + .drilldown .is-drilldown-submenu.is-active { + z-index: 1; + display: block; + -webkit-transform: translateX(-100%); + -ms-transform: translateX(-100%); + transform: translateX(-100%); } + .drilldown .is-drilldown-submenu.is-closing { + -webkit-transform: translateX(100%); + -ms-transform: translateX(100%); + transform: translateX(100%); } + .drilldown .is-drilldown-submenu a { + padding: 0.7rem 1rem; } + +.drilldown .nested.is-drilldown-submenu { + margin-right: 0; + margin-left: 0; } + +.drilldown .drilldown-submenu-cover-previous { + min-height: 100%; } + +.drilldown .is-drilldown-submenu-parent > a { + position: relative; } + .drilldown .is-drilldown-submenu-parent > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-right-width: 0; + border-left-style: solid; + border-color: transparent transparent transparent #0000DD; + position: absolute; + top: 50%; + margin-top: -6px; + right: 1rem; } + +.drilldown.align-left .is-drilldown-submenu-parent > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-right-width: 0; + border-left-style: solid; + border-color: transparent transparent transparent #0000DD; + right: 1rem; + left: auto; } + +.drilldown.align-right .is-drilldown-submenu-parent > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-left-width: 0; + border-right-style: solid; + border-color: transparent #0000DD transparent transparent; + right: auto; + left: 1rem; } + +.drilldown .js-drilldown-back > a::before { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-left-width: 0; + border-right-style: solid; + border-color: transparent #0000DD transparent transparent; + display: inline-block; + vertical-align: middle; + margin-right: 0.75rem; } + +.dropdown.menu > li.opens-left > .is-dropdown-submenu { + top: 100%; + right: 0; + left: auto; } + +.dropdown.menu > li.opens-right > .is-dropdown-submenu { + top: 100%; + right: auto; + left: 0; } + +.dropdown.menu > li.is-dropdown-submenu-parent > a { + position: relative; + padding-right: 1.5rem; } + +.dropdown.menu > li.is-dropdown-submenu-parent > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-bottom-width: 0; + border-top-style: solid; + border-color: #0000DD transparent transparent; + right: 5px; + left: auto; + margin-top: -3px; } + +[data-whatinput='mouse'] .dropdown.menu a { + outline: 0; } + +.dropdown.menu > li > a { + padding: 0.7rem 1rem; } + +.dropdown.menu > li.is-active > a { + background: transparent; + color: #0000DD; } + +.no-js .dropdown.menu ul { + display: none; } + +.dropdown.menu .nested.is-dropdown-submenu { + margin-right: 0; + margin-left: 0; } + +.dropdown.menu.vertical > li .is-dropdown-submenu { + top: 0; } + +.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu { + top: 0; + right: 100%; + left: auto; } + +.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu { + right: auto; + left: 100%; } + +.dropdown.menu.vertical > li > a::after { + right: 14px; } + +.dropdown.menu.vertical > li.opens-left > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-left-width: 0; + border-right-style: solid; + border-color: transparent #0000DD transparent transparent; + right: auto; + left: 5px; } + +.dropdown.menu.vertical > li.opens-right > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-right-width: 0; + border-left-style: solid; + border-color: transparent transparent transparent #0000DD; } + +@media print, screen and (min-width: 40em) { + .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu { + top: 100%; + right: 0; + left: auto; } + .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu { + top: 100%; + right: auto; + left: 0; } + .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a { + position: relative; + padding-right: 1.5rem; } + .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-bottom-width: 0; + border-top-style: solid; + border-color: #0000DD transparent transparent; + right: 5px; + left: auto; + margin-top: -3px; } + .dropdown.menu.medium-vertical > li .is-dropdown-submenu { + top: 0; } + .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu { + top: 0; + right: 100%; + left: auto; } + .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu { + right: auto; + left: 100%; } + .dropdown.menu.medium-vertical > li > a::after { + right: 14px; } + .dropdown.menu.medium-vertical > li.opens-left > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-left-width: 0; + border-right-style: solid; + border-color: transparent #0000DD transparent transparent; + right: auto; + left: 5px; } + .dropdown.menu.medium-vertical > li.opens-right > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-right-width: 0; + border-left-style: solid; + border-color: transparent transparent transparent #0000DD; } } + +@media print, screen and (min-width: 64em) { + .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu { + top: 100%; + right: 0; + left: auto; } + .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu { + top: 100%; + right: auto; + left: 0; } + .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a { + position: relative; + padding-right: 1.5rem; } + .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-bottom-width: 0; + border-top-style: solid; + border-color: #0000DD transparent transparent; + right: 5px; + left: auto; + margin-top: -3px; } + .dropdown.menu.large-vertical > li .is-dropdown-submenu { + top: 0; } + .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu { + top: 0; + right: 100%; + left: auto; } + .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu { + right: auto; + left: 100%; } + .dropdown.menu.large-vertical > li > a::after { + right: 14px; } + .dropdown.menu.large-vertical > li.opens-left > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-left-width: 0; + border-right-style: solid; + border-color: transparent #0000DD transparent transparent; + right: auto; + left: 5px; } + .dropdown.menu.large-vertical > li.opens-right > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-right-width: 0; + border-left-style: solid; + border-color: transparent transparent transparent #0000DD; } } + +.dropdown.menu.align-right .is-dropdown-submenu.first-sub { + top: 100%; + right: 0; + left: auto; } + +.is-dropdown-menu.vertical { + width: 100px; } + .is-dropdown-menu.vertical.align-right { + float: right; } + +.is-dropdown-submenu-parent { + position: relative; } + .is-dropdown-submenu-parent a::after { + position: absolute; + top: 50%; + right: 5px; + left: auto; + margin-top: -6px; } + .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu { + top: 100%; + left: auto; } + .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu { + right: 100%; + left: auto; } + .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu { + right: auto; + left: 100%; } + +.is-dropdown-submenu { + position: absolute; + top: 0; + left: 100%; + z-index: 1; + display: none; + min-width: 200px; + border: 1px solid #cacaca; + background: #fefefe; } + .dropdown .is-dropdown-submenu a { + padding: 0.7rem 1rem; } + .is-dropdown-submenu .is-dropdown-submenu-parent > a::after { + right: 14px; } + .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-left-width: 0; + border-right-style: solid; + border-color: transparent #0000DD transparent transparent; + right: auto; + left: 5px; } + .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ''; + border-right-width: 0; + border-left-style: solid; + border-color: transparent transparent transparent #0000DD; } + .is-dropdown-submenu .is-dropdown-submenu { + margin-top: -1px; } + .is-dropdown-submenu > li { + width: 100%; } + .is-dropdown-submenu.js-dropdown-active { + display: block; } + +.is-off-canvas-open { + overflow: hidden; } + +.js-off-canvas-overlay { + position: absolute; + top: 0; + left: 0; + z-index: 11; + width: 100%; + height: 100%; + -webkit-transition: opacity 0.5s ease, visibility 0.5s ease; + transition: opacity 0.5s ease, visibility 0.5s ease; + background: rgba(254, 254, 254, 0.25); + opacity: 0; + visibility: hidden; + overflow: hidden; } + .js-off-canvas-overlay.is-visible { + opacity: 1; + visibility: visible; } + .js-off-canvas-overlay.is-closable { + cursor: pointer; } + .js-off-canvas-overlay.is-overlay-absolute { + position: absolute; } + .js-off-canvas-overlay.is-overlay-fixed { + position: fixed; } + +.off-canvas-wrapper { + position: relative; + overflow: hidden; } + +.off-canvas { + position: fixed; + z-index: 12; + -webkit-transition: -webkit-transform 0.5s ease; + transition: -webkit-transform 0.5s ease; + transition: transform 0.5s ease; + transition: transform 0.5s ease, -webkit-transform 0.5s ease; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + background: #e6e6e6; } + [data-whatinput='mouse'] .off-canvas { + outline: 0; } + .off-canvas.is-transition-push { + z-index: 12; } + .off-canvas.is-closed { + visibility: hidden; } + .off-canvas.is-transition-overlap { + z-index: 13; } + .off-canvas.is-transition-overlap.is-open { + -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); + box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); } + .off-canvas.is-open { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + transform: translate(0, 0); } + +.off-canvas-absolute { + position: absolute; + z-index: 12; + -webkit-transition: -webkit-transform 0.5s ease; + transition: -webkit-transform 0.5s ease; + transition: transform 0.5s ease; + transition: transform 0.5s ease, -webkit-transform 0.5s ease; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + background: #e6e6e6; } + [data-whatinput='mouse'] .off-canvas-absolute { + outline: 0; } + .off-canvas-absolute.is-transition-push { + z-index: 12; } + .off-canvas-absolute.is-closed { + visibility: hidden; } + .off-canvas-absolute.is-transition-overlap { + z-index: 13; } + .off-canvas-absolute.is-transition-overlap.is-open { + -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); + box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); } + .off-canvas-absolute.is-open { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + transform: translate(0, 0); } + +.position-left { + top: 0; + left: 0; + height: 100%; + overflow-y: auto; + width: 250px; + -webkit-transform: translateX(-250px); + -ms-transform: translateX(-250px); + transform: translateX(-250px); } + .off-canvas-content .off-canvas.position-left { + -webkit-transform: translateX(-250px); + -ms-transform: translateX(-250px); + transform: translateX(-250px); } + .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + transform: translate(0, 0); } + .off-canvas-content.is-open-left.has-transition-push { + -webkit-transform: translateX(250px); + -ms-transform: translateX(250px); + transform: translateX(250px); } + .position-left.is-transition-push { + -webkit-box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25); + box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25); } + +.position-right { + top: 0; + right: 0; + height: 100%; + overflow-y: auto; + width: 250px; + -webkit-transform: translateX(250px); + -ms-transform: translateX(250px); + transform: translateX(250px); } + .off-canvas-content .off-canvas.position-right { + -webkit-transform: translateX(250px); + -ms-transform: translateX(250px); + transform: translateX(250px); } + .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + transform: translate(0, 0); } + .off-canvas-content.is-open-right.has-transition-push { + -webkit-transform: translateX(-250px); + -ms-transform: translateX(-250px); + transform: translateX(-250px); } + .position-right.is-transition-push { + -webkit-box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25); + box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25); } + +.position-top { + top: 0; + left: 0; + width: 100%; + overflow-x: auto; + height: 250px; + -webkit-transform: translateY(-250px); + -ms-transform: translateY(-250px); + transform: translateY(-250px); } + .off-canvas-content .off-canvas.position-top { + -webkit-transform: translateY(-250px); + -ms-transform: translateY(-250px); + transform: translateY(-250px); } + .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + transform: translate(0, 0); } + .off-canvas-content.is-open-top.has-transition-push { + -webkit-transform: translateY(250px); + -ms-transform: translateY(250px); + transform: translateY(250px); } + .position-top.is-transition-push { + -webkit-box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25); + box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25); } + +.position-bottom { + bottom: 0; + left: 0; + width: 100%; + overflow-x: auto; + height: 250px; + -webkit-transform: translateY(250px); + -ms-transform: translateY(250px); + transform: translateY(250px); } + .off-canvas-content .off-canvas.position-bottom { + -webkit-transform: translateY(250px); + -ms-transform: translateY(250px); + transform: translateY(250px); } + .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + transform: translate(0, 0); } + .off-canvas-content.is-open-bottom.has-transition-push { + -webkit-transform: translateY(-250px); + -ms-transform: translateY(-250px); + transform: translateY(-250px); } + .position-bottom.is-transition-push { + -webkit-box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25); + box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25); } + +.off-canvas-content { + -webkit-transform: none; + -ms-transform: none; + transform: none; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; } + .off-canvas-content.has-transition-overlap, .off-canvas-content.has-transition-push { + -webkit-transition: -webkit-transform 0.5s ease; + transition: -webkit-transform 0.5s ease; + transition: transform 0.5s ease; + transition: transform 0.5s ease, -webkit-transform 0.5s ease; } + .off-canvas-content.has-transition-push { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + transform: translate(0, 0); } + .off-canvas-content .off-canvas.is-open { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + transform: translate(0, 0); } + +@media print, screen and (min-width: 40em) { + .position-left.reveal-for-medium { + -webkit-transform: none; + -ms-transform: none; + transform: none; + z-index: 12; + -webkit-transition: none; + transition: none; + visibility: visible; } + .position-left.reveal-for-medium .close-button { + display: none; } + .off-canvas-content .position-left.reveal-for-medium { + -webkit-transform: none; + -ms-transform: none; + transform: none; } + .off-canvas-content.has-reveal-left { + margin-left: 250px; } + .position-left.reveal-for-medium ~ .off-canvas-content { + margin-left: 250px; } + .position-right.reveal-for-medium { + -webkit-transform: none; + -ms-transform: none; + transform: none; + z-index: 12; + -webkit-transition: none; + transition: none; + visibility: visible; } + .position-right.reveal-for-medium .close-button { + display: none; } + .off-canvas-content .position-right.reveal-for-medium { + -webkit-transform: none; + -ms-transform: none; + transform: none; } + .off-canvas-content.has-reveal-right { + margin-right: 250px; } + .position-right.reveal-for-medium ~ .off-canvas-content { + margin-right: 250px; } + .position-top.reveal-for-medium { + -webkit-transform: none; + -ms-transform: none; + transform: none; + z-index: 12; + -webkit-transition: none; + transition: none; + visibility: visible; } + .position-top.reveal-for-medium .close-button { + display: none; } + .off-canvas-content .position-top.reveal-for-medium { + -webkit-transform: none; + -ms-transform: none; + transform: none; } + .off-canvas-content.has-reveal-top { + margin-top: 250px; } + .position-top.reveal-for-medium ~ .off-canvas-content { + margin-top: 250px; } + .position-bottom.reveal-for-medium { + -webkit-transform: none; + -ms-transform: none; + transform: none; + z-index: 12; + -webkit-transition: none; + transition: none; + visibility: visible; } + .position-bottom.reveal-for-medium .close-button { + display: none; } + .off-canvas-content .position-bottom.reveal-for-medium { + -webkit-transform: none; + -ms-transform: none; + transform: none; } + .off-canvas-content.has-reveal-bottom { + margin-bottom: 250px; } + .position-bottom.reveal-for-medium ~ .off-canvas-content { + margin-bottom: 250px; } } + +@media print, screen and (min-width: 64em) { + .position-left.reveal-for-large { + -webkit-transform: none; + -ms-transform: none; + transform: none; + z-index: 12; + -webkit-transition: none; + transition: none; + visibility: visible; } + .position-left.reveal-for-large .close-button { + display: none; } + .off-canvas-content .position-left.reveal-for-large { + -webkit-transform: none; + -ms-transform: none; + transform: none; } + .off-canvas-content.has-reveal-left { + margin-left: 250px; } + .position-left.reveal-for-large ~ .off-canvas-content { + margin-left: 250px; } + .position-right.reveal-for-large { + -webkit-transform: none; + -ms-transform: none; + transform: none; + z-index: 12; + -webkit-transition: none; + transition: none; + visibility: visible; } + .position-right.reveal-for-large .close-button { + display: none; } + .off-canvas-content .position-right.reveal-for-large { + -webkit-transform: none; + -ms-transform: none; + transform: none; } + .off-canvas-content.has-reveal-right { + margin-right: 250px; } + .position-right.reveal-for-large ~ .off-canvas-content { + margin-right: 250px; } + .position-top.reveal-for-large { + -webkit-transform: none; + -ms-transform: none; + transform: none; + z-index: 12; + -webkit-transition: none; + transition: none; + visibility: visible; } + .position-top.reveal-for-large .close-button { + display: none; } + .off-canvas-content .position-top.reveal-for-large { + -webkit-transform: none; + -ms-transform: none; + transform: none; } + .off-canvas-content.has-reveal-top { + margin-top: 250px; } + .position-top.reveal-for-large ~ .off-canvas-content { + margin-top: 250px; } + .position-bottom.reveal-for-large { + -webkit-transform: none; + -ms-transform: none; + transform: none; + z-index: 12; + -webkit-transition: none; + transition: none; + visibility: visible; } + .position-bottom.reveal-for-large .close-button { + display: none; } + .off-canvas-content .position-bottom.reveal-for-large { + -webkit-transform: none; + -ms-transform: none; + transform: none; } + .off-canvas-content.has-reveal-bottom { + margin-bottom: 250px; } + .position-bottom.reveal-for-large ~ .off-canvas-content { + margin-bottom: 250px; } } + +@media print, screen and (min-width: 40em) { + .off-canvas.in-canvas-for-medium { + visibility: visible; + height: auto; + position: static; + background: none; + width: auto; + overflow: visible; + -webkit-transition: none; + transition: none; } + .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom { + -webkit-box-shadow: none; + box-shadow: none; + -webkit-transform: none; + -ms-transform: none; + transform: none; } + .off-canvas.in-canvas-for-medium .close-button { + display: none; } } + +@media print, screen and (min-width: 64em) { + .off-canvas.in-canvas-for-large { + visibility: visible; + height: auto; + position: static; + background: none; + width: auto; + overflow: visible; + -webkit-transition: none; + transition: none; } + .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom { + -webkit-box-shadow: none; + box-shadow: none; + -webkit-transform: none; + -ms-transform: none; + transform: none; } + .off-canvas.in-canvas-for-large .close-button { + display: none; } } + +html.is-reveal-open { + position: fixed; + width: 100%; + overflow-y: hidden; } + html.is-reveal-open.zf-has-scroll { + overflow-y: scroll; } + html.is-reveal-open body { + overflow-y: hidden; } + +.reveal-overlay { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1005; + display: none; + background-color: rgba(10, 10, 10, 0.45); + overflow-y: auto; } + +.reveal { + z-index: 1006; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + display: none; + padding: 1rem; + border: 1px solid #cacaca; + border-radius: 0; + background-color: #fefefe; + position: relative; + top: 100px; + margin-right: auto; + margin-left: auto; + overflow-y: auto; } + [data-whatinput='mouse'] .reveal { + outline: 0; } + @media print, screen and (min-width: 40em) { + .reveal { + min-height: 0; } } + .reveal .column { + min-width: 0; } + .reveal > :last-child { + margin-bottom: 0; } + @media print, screen and (min-width: 40em) { + .reveal { + width: 600px; + max-width: 100vw; } } + .reveal.collapse { + padding: 0; } + @media print, screen and (min-width: 40em) { + .reveal.tiny { + width: 30%; + max-width: 100vw; } } + @media print, screen and (min-width: 40em) { + .reveal.small { + width: 50%; + max-width: 100vw; } } + @media print, screen and (min-width: 40em) { + .reveal.large { + width: 90%; + max-width: 100vw; } } + .reveal.full { + top: 0; + right: 0; + bottom: 0; + left: 0; + width: 100%; + max-width: none; + height: 100%; + min-height: 100%; + margin-left: 0; + border: 0; + border-radius: 0; } + @media print, screen and (max-width: 39.99875em) { + .reveal { + top: 0; + right: 0; + bottom: 0; + left: 0; + width: 100%; + max-width: none; + height: 100%; + min-height: 100%; + margin-left: 0; + border: 0; + border-radius: 0; } } + .reveal.without-overlay { + position: fixed; } + +.sticky-container { + position: relative; } + +.sticky { + position: relative; + z-index: 0; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +.sticky.is-stuck { + position: fixed; + z-index: 5; + width: 100%; } + .sticky.is-stuck.is-at-top { + top: 0; } + .sticky.is-stuck.is-at-bottom { + bottom: 0; } + +.sticky.is-anchored { + position: relative; + right: auto; + left: auto; } + .sticky.is-anchored.is-at-bottom { + bottom: 0; } + +.title-bar { + padding: 0.5rem; + background: #fefefe; + color: #0a0a0a; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + -ms-flex-pack: start; + justify-content: flex-start; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; } + .title-bar .menu-icon { + margin-left: 0.25rem; + margin-right: 0.25rem; } + +.title-bar-left, +.title-bar-right { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0px; + -ms-flex: 1 1 0px; + flex: 1 1 0px; } + +.title-bar-right { + text-align: right; } + +.title-bar-title { + display: inline-block; + vertical-align: middle; + font-weight: bold; } + +.top-bar { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + padding: 0.5rem; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; } + .top-bar, + .top-bar ul { + background-color: #e6e6e6; } + .top-bar input { + max-width: 200px; + margin-right: 1rem; } + .top-bar .input-group-field { + width: 100%; + margin-right: 0; } + .top-bar input.button, .top-bar .wp-block-button input.wp-block-button__link, .wp-block-button .top-bar input.wp-block-button__link { + width: auto; } + .top-bar .top-bar-left, + .top-bar .top-bar-right { + -webkit-box-flex: 0; + -webkit-flex: 0 0 100%; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; } + @media print, screen and (min-width: 40em) { + .top-bar { + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; } + .top-bar .top-bar-left { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + margin-right: auto; } + .top-bar .top-bar-right { + -webkit-box-flex: 0; + -webkit-flex: 0 1 auto; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + margin-left: auto; } } + @media print, screen and (max-width: 63.99875em) { + .top-bar.stacked-for-medium { + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; } + .top-bar.stacked-for-medium .top-bar-left, + .top-bar.stacked-for-medium .top-bar-right { + -webkit-box-flex: 0; + -webkit-flex: 0 0 100%; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; } } + @media print, screen and (max-width: 74.99875em) { + .top-bar.stacked-for-large { + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; } + .top-bar.stacked-for-large .top-bar-left, + .top-bar.stacked-for-large .top-bar-right { + -webkit-box-flex: 0; + -webkit-flex: 0 0 100%; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; } } + +.top-bar-title { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + margin: 0.5rem 1rem 0.5rem 0; } + +.top-bar-left, +.top-bar-right { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; } + +.float-left { + float: left !important; } + +.float-right { + float: right !important; } + +.float-center { + display: block; + margin-right: auto; + margin-left: auto; } + +.clearfix::before, .clearfix::after { + display: table; + content: ' '; + -webkit-flex-basis: 0; + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + -ms-flex-order: 1; + order: 1; } + +.clearfix::after { + clear: both; } + +.align-left { + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + -ms-flex-pack: start; + justify-content: flex-start; } + +.align-right { + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end; } + +.align-center { + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; } + +.align-justify { + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; } + +.align-spaced { + -webkit-justify-content: space-around; + -ms-flex-pack: distribute; + justify-content: space-around; } + +.align-left.vertical.menu > li > a { + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + -ms-flex-pack: start; + justify-content: flex-start; } + +.align-right.vertical.menu > li > a { + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end; } + +.align-center.vertical.menu > li > a { + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; } + +.align-top { + -webkit-box-align: start; + -webkit-align-items: flex-start; + -ms-flex-align: start; + align-items: flex-start; } + +.align-self-top { + -webkit-align-self: flex-start; + -ms-flex-item-align: start; + align-self: flex-start; } + +.align-bottom { + -webkit-box-align: end; + -webkit-align-items: flex-end; + -ms-flex-align: end; + align-items: flex-end; } + +.align-self-bottom { + -webkit-align-self: flex-end; + -ms-flex-item-align: end; + align-self: flex-end; } + +.align-middle { + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; } + +.align-self-middle { + -webkit-align-self: center; + -ms-flex-item-align: center; + align-self: center; } + +.align-stretch { + -webkit-box-align: stretch; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + align-items: stretch; } + +.align-self-stretch { + -webkit-align-self: stretch; + -ms-flex-item-align: stretch; + align-self: stretch; } + +.align-center-middle { + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-align-content: center; + -ms-flex-line-pack: center; + align-content: center; } + +.small-order-1 { + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + -ms-flex-order: 1; + order: 1; } + +.small-order-2 { + -webkit-box-ordinal-group: 3; + -webkit-order: 2; + -ms-flex-order: 2; + order: 2; } + +.small-order-3 { + -webkit-box-ordinal-group: 4; + -webkit-order: 3; + -ms-flex-order: 3; + order: 3; } + +.small-order-4 { + -webkit-box-ordinal-group: 5; + -webkit-order: 4; + -ms-flex-order: 4; + order: 4; } + +.small-order-5 { + -webkit-box-ordinal-group: 6; + -webkit-order: 5; + -ms-flex-order: 5; + order: 5; } + +.small-order-6 { + -webkit-box-ordinal-group: 7; + -webkit-order: 6; + -ms-flex-order: 6; + order: 6; } + +@media print, screen and (min-width: 40em) { + .medium-order-1 { + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + -ms-flex-order: 1; + order: 1; } + .medium-order-2 { + -webkit-box-ordinal-group: 3; + -webkit-order: 2; + -ms-flex-order: 2; + order: 2; } + .medium-order-3 { + -webkit-box-ordinal-group: 4; + -webkit-order: 3; + -ms-flex-order: 3; + order: 3; } + .medium-order-4 { + -webkit-box-ordinal-group: 5; + -webkit-order: 4; + -ms-flex-order: 4; + order: 4; } + .medium-order-5 { + -webkit-box-ordinal-group: 6; + -webkit-order: 5; + -ms-flex-order: 5; + order: 5; } + .medium-order-6 { + -webkit-box-ordinal-group: 7; + -webkit-order: 6; + -ms-flex-order: 6; + order: 6; } } + +@media print, screen and (min-width: 64em) { + .large-order-1 { + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + -ms-flex-order: 1; + order: 1; } + .large-order-2 { + -webkit-box-ordinal-group: 3; + -webkit-order: 2; + -ms-flex-order: 2; + order: 2; } + .large-order-3 { + -webkit-box-ordinal-group: 4; + -webkit-order: 3; + -ms-flex-order: 3; + order: 3; } + .large-order-4 { + -webkit-box-ordinal-group: 5; + -webkit-order: 4; + -ms-flex-order: 4; + order: 4; } + .large-order-5 { + -webkit-box-ordinal-group: 6; + -webkit-order: 5; + -ms-flex-order: 5; + order: 5; } + .large-order-6 { + -webkit-box-ordinal-group: 7; + -webkit-order: 6; + -ms-flex-order: 6; + order: 6; } } + +.flex-container { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } + +.flex-child-auto { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; } + +.flex-child-grow { + -webkit-box-flex: 1; + -webkit-flex: 1 0 auto; + -ms-flex: 1 0 auto; + flex: 1 0 auto; } + +.flex-child-shrink { + -webkit-box-flex: 0; + -webkit-flex: 0 1 auto; + -ms-flex: 0 1 auto; + flex: 0 1 auto; } + +.flex-dir-row { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; } + +.flex-dir-row-reverse { + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + -webkit-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; } + +.flex-dir-column { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } + +.flex-dir-column-reverse { + -webkit-box-orient: vertical; + -webkit-box-direction: reverse; + -webkit-flex-direction: column-reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; } + +@media print, screen and (min-width: 40em) { + .medium-flex-container { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } + .medium-flex-child-auto { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; } + .medium-flex-child-grow { + -webkit-box-flex: 1; + -webkit-flex: 1 0 auto; + -ms-flex: 1 0 auto; + flex: 1 0 auto; } + .medium-flex-child-shrink { + -webkit-box-flex: 0; + -webkit-flex: 0 1 auto; + -ms-flex: 0 1 auto; + flex: 0 1 auto; } + .medium-flex-dir-row { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; } + .medium-flex-dir-row-reverse { + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + -webkit-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; } + .medium-flex-dir-column { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } + .medium-flex-dir-column-reverse { + -webkit-box-orient: vertical; + -webkit-box-direction: reverse; + -webkit-flex-direction: column-reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; } } + +@media print, screen and (min-width: 64em) { + .large-flex-container { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } + .large-flex-child-auto { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; } + .large-flex-child-grow { + -webkit-box-flex: 1; + -webkit-flex: 1 0 auto; + -ms-flex: 1 0 auto; + flex: 1 0 auto; } + .large-flex-child-shrink { + -webkit-box-flex: 0; + -webkit-flex: 0 1 auto; + -ms-flex: 0 1 auto; + flex: 0 1 auto; } + .large-flex-dir-row { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; } + .large-flex-dir-row-reverse { + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + -webkit-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; } + .large-flex-dir-column { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } + .large-flex-dir-column-reverse { + -webkit-box-orient: vertical; + -webkit-box-direction: reverse; + -webkit-flex-direction: column-reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; } } + +.hide { + display: none !important; } + +.invisible { + visibility: hidden; } + +@media print, screen and (max-width: 39.99875em) { + .hide-for-small-only { + display: none !important; } } + +@media screen and (max-width: 0em), screen and (min-width: 40em) { + .show-for-small-only { + display: none !important; } } + +@media print, screen and (min-width: 40em) { + .hide-for-medium { + display: none !important; } } + +@media screen and (max-width: 39.99875em) { + .show-for-medium { + display: none !important; } } + +@media print, screen and (min-width: 40em) and (max-width: 63.99875em) { + .hide-for-medium-only { + display: none !important; } } + +@media screen and (max-width: 39.99875em), screen and (min-width: 64em) { + .show-for-medium-only { + display: none !important; } } + +@media print, screen and (min-width: 64em) { + .hide-for-large { + display: none !important; } } + +@media screen and (max-width: 63.99875em) { + .show-for-large { + display: none !important; } } + +@media print, screen and (min-width: 64em) and (max-width: 74.99875em) { + .hide-for-large-only { + display: none !important; } } + +@media screen and (max-width: 63.99875em), screen and (min-width: 75em) { + .show-for-large-only { + display: none !important; } } + +.show-for-sr, +.show-on-focus { + position: absolute !important; + width: 1px !important; + height: 1px !important; + padding: 0 !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; } + +.show-on-focus:active, .show-on-focus:focus { + position: static !important; + width: auto !important; + height: auto !important; + overflow: visible !important; + clip: auto !important; + white-space: normal !important; } + +.show-for-landscape, +.hide-for-portrait { + display: block !important; } + @media screen and (orientation: landscape) { + .show-for-landscape, + .hide-for-portrait { + display: block !important; } } + @media screen and (orientation: portrait) { + .show-for-landscape, + .hide-for-portrait { + display: none !important; } } + +.hide-for-landscape, +.show-for-portrait { + display: none !important; } + @media screen and (orientation: landscape) { + .hide-for-landscape, + .show-for-portrait { + display: none !important; } } + @media screen and (orientation: portrait) { + .hide-for-landscape, + .show-for-portrait { + display: block !important; } } + +.slide-in-down.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: translateY(-100%); + -ms-transform: translateY(-100%); + transform: translateY(-100%); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; } + +.slide-in-down.mui-enter.mui-enter-active { + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); } + +.slide-in-left.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: translateX(-100%); + -ms-transform: translateX(-100%); + transform: translateX(-100%); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; } + +.slide-in-left.mui-enter.mui-enter-active { + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); } + +.slide-in-up.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: translateY(100%); + -ms-transform: translateY(100%); + transform: translateY(100%); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; } + +.slide-in-up.mui-enter.mui-enter-active { + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); } + +.slide-in-right.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: translateX(100%); + -ms-transform: translateX(100%); + transform: translateX(100%); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; } + +.slide-in-right.mui-enter.mui-enter-active { + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); } + +.slide-out-down.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; } + +.slide-out-down.mui-leave.mui-leave-active { + -webkit-transform: translateY(100%); + -ms-transform: translateY(100%); + transform: translateY(100%); } + +.slide-out-right.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; } + +.slide-out-right.mui-leave.mui-leave-active { + -webkit-transform: translateX(100%); + -ms-transform: translateX(100%); + transform: translateX(100%); } + +.slide-out-up.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; } + +.slide-out-up.mui-leave.mui-leave-active { + -webkit-transform: translateY(-100%); + -ms-transform: translateY(-100%); + transform: translateY(-100%); } + +.slide-out-left.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; } + +.slide-out-left.mui-leave.mui-leave-active { + -webkit-transform: translateX(-100%); + -ms-transform: translateX(-100%); + transform: translateX(-100%); } + +.fade-in.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + opacity: 0; + -webkit-transition-property: opacity; + transition-property: opacity; } + +.fade-in.mui-enter.mui-enter-active { + opacity: 1; } + +.fade-out.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + opacity: 1; + -webkit-transition-property: opacity; + transition-property: opacity; } + +.fade-out.mui-leave.mui-leave-active { + opacity: 0; } + +.hinge-in-from-top.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: perspective(2000px) rotateX(-90deg); + transform: perspective(2000px) rotateX(-90deg); + -webkit-transform-origin: top; + -ms-transform-origin: top; + transform-origin: top; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 0; } + +.hinge-in-from-top.mui-enter.mui-enter-active { + -webkit-transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); + opacity: 1; } + +.hinge-in-from-right.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: perspective(2000px) rotateY(-90deg); + transform: perspective(2000px) rotateY(-90deg); + -webkit-transform-origin: right; + -ms-transform-origin: right; + transform-origin: right; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 0; } + +.hinge-in-from-right.mui-enter.mui-enter-active { + -webkit-transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); + opacity: 1; } + +.hinge-in-from-bottom.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: perspective(2000px) rotateX(90deg); + transform: perspective(2000px) rotateX(90deg); + -webkit-transform-origin: bottom; + -ms-transform-origin: bottom; + transform-origin: bottom; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 0; } + +.hinge-in-from-bottom.mui-enter.mui-enter-active { + -webkit-transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); + opacity: 1; } + +.hinge-in-from-left.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: perspective(2000px) rotateY(90deg); + transform: perspective(2000px) rotateY(90deg); + -webkit-transform-origin: left; + -ms-transform-origin: left; + transform-origin: left; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 0; } + +.hinge-in-from-left.mui-enter.mui-enter-active { + -webkit-transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); + opacity: 1; } + +.hinge-in-from-middle-x.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: perspective(2000px) rotateX(-90deg); + transform: perspective(2000px) rotateX(-90deg); + -webkit-transform-origin: center; + -ms-transform-origin: center; + transform-origin: center; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 0; } + +.hinge-in-from-middle-x.mui-enter.mui-enter-active { + -webkit-transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); + opacity: 1; } + +.hinge-in-from-middle-y.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: perspective(2000px) rotateY(-90deg); + transform: perspective(2000px) rotateY(-90deg); + -webkit-transform-origin: center; + -ms-transform-origin: center; + transform-origin: center; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 0; } + +.hinge-in-from-middle-y.mui-enter.mui-enter-active { + -webkit-transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); + opacity: 1; } + +.hinge-out-from-top.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); + -webkit-transform-origin: top; + -ms-transform-origin: top; + transform-origin: top; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 1; } + +.hinge-out-from-top.mui-leave.mui-leave-active { + -webkit-transform: perspective(2000px) rotateX(90deg); + transform: perspective(2000px) rotateX(90deg); + opacity: 0; } + +.hinge-out-from-right.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); + -webkit-transform-origin: right; + -ms-transform-origin: right; + transform-origin: right; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 1; } + +.hinge-out-from-right.mui-leave.mui-leave-active { + -webkit-transform: perspective(2000px) rotateY(90deg); + transform: perspective(2000px) rotateY(90deg); + opacity: 0; } + +.hinge-out-from-bottom.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); + -webkit-transform-origin: bottom; + -ms-transform-origin: bottom; + transform-origin: bottom; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 1; } + +.hinge-out-from-bottom.mui-leave.mui-leave-active { + -webkit-transform: perspective(2000px) rotateX(-90deg); + transform: perspective(2000px) rotateX(-90deg); + opacity: 0; } + +.hinge-out-from-left.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); + -webkit-transform-origin: left; + -ms-transform-origin: left; + transform-origin: left; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 1; } + +.hinge-out-from-left.mui-leave.mui-leave-active { + -webkit-transform: perspective(2000px) rotateY(-90deg); + transform: perspective(2000px) rotateY(-90deg); + opacity: 0; } + +.hinge-out-from-middle-x.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); + -webkit-transform-origin: center; + -ms-transform-origin: center; + transform-origin: center; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 1; } + +.hinge-out-from-middle-x.mui-leave.mui-leave-active { + -webkit-transform: perspective(2000px) rotateX(90deg); + transform: perspective(2000px) rotateX(90deg); + opacity: 0; } + +.hinge-out-from-middle-y.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); + -webkit-transform-origin: center; + -ms-transform-origin: center; + transform-origin: center; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 1; } + +.hinge-out-from-middle-y.mui-leave.mui-leave-active { + -webkit-transform: perspective(2000px) rotateY(90deg); + transform: perspective(2000px) rotateY(90deg); + opacity: 0; } + +.scale-in-up.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: scale(0.5); + -ms-transform: scale(0.5); + transform: scale(0.5); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 0; } + +.scale-in-up.mui-enter.mui-enter-active { + -webkit-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + opacity: 1; } + +.scale-in-down.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: scale(1.5); + -ms-transform: scale(1.5); + transform: scale(1.5); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 0; } + +.scale-in-down.mui-enter.mui-enter-active { + -webkit-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + opacity: 1; } + +.scale-out-up.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 1; } + +.scale-out-up.mui-leave.mui-leave-active { + -webkit-transform: scale(1.5); + -ms-transform: scale(1.5); + transform: scale(1.5); + opacity: 0; } + +.scale-out-down.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 1; } + +.scale-out-down.mui-leave.mui-leave-active { + -webkit-transform: scale(0.5); + -ms-transform: scale(0.5); + transform: scale(0.5); + opacity: 0; } + +.spin-in.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: rotate(-0.75turn); + -ms-transform: rotate(-0.75turn); + transform: rotate(-0.75turn); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 0; } + +.spin-in.mui-enter.mui-enter-active { + -webkit-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + opacity: 1; } + +.spin-out.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 1; } + +.spin-out.mui-leave.mui-leave-active { + -webkit-transform: rotate(0.75turn); + -ms-transform: rotate(0.75turn); + transform: rotate(0.75turn); + opacity: 0; } + +.spin-in-ccw.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: rotate(0.75turn); + -ms-transform: rotate(0.75turn); + transform: rotate(0.75turn); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 0; } + +.spin-in-ccw.mui-enter.mui-enter-active { + -webkit-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + opacity: 1; } + +.spin-out-ccw.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 1; } + +.spin-out-ccw.mui-leave.mui-leave-active { + -webkit-transform: rotate(-0.75turn); + -ms-transform: rotate(-0.75turn); + transform: rotate(-0.75turn); + opacity: 0; } + +.slow { + -webkit-transition-duration: 750ms !important; + transition-duration: 750ms !important; } + +.fast { + -webkit-transition-duration: 250ms !important; + transition-duration: 250ms !important; } + +.linear { + -webkit-transition-timing-function: linear !important; + transition-timing-function: linear !important; } + +.ease { + -webkit-transition-timing-function: ease !important; + transition-timing-function: ease !important; } + +.ease-in { + -webkit-transition-timing-function: ease-in !important; + transition-timing-function: ease-in !important; } + +.ease-out { + -webkit-transition-timing-function: ease-out !important; + transition-timing-function: ease-out !important; } + +.ease-in-out { + -webkit-transition-timing-function: ease-in-out !important; + transition-timing-function: ease-in-out !important; } + +.bounce-in { + -webkit-transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; + transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; } + +.bounce-out { + -webkit-transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; + transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; } + +.bounce-in-out { + -webkit-transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; + transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; } + +.short-delay { + -webkit-transition-delay: 300ms !important; + transition-delay: 300ms !important; } + +.long-delay { + -webkit-transition-delay: 700ms !important; + transition-delay: 700ms !important; } + +.shake { + -webkit-animation-name: shake-7; + animation-name: shake-7; } + +@-webkit-keyframes shake-7 { + 0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% { + -webkit-transform: translateX(7%); + transform: translateX(7%); } + 5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% { + -webkit-transform: translateX(-7%); + transform: translateX(-7%); } } + +@keyframes shake-7 { + 0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% { + -webkit-transform: translateX(7%); + transform: translateX(7%); } + 5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% { + -webkit-transform: translateX(-7%); + transform: translateX(-7%); } } + +.spin-cw { + -webkit-animation-name: spin-cw-1turn; + animation-name: spin-cw-1turn; } + +@-webkit-keyframes spin-cw-1turn { + 0% { + -webkit-transform: rotate(-1turn); + transform: rotate(-1turn); } + 100% { + -webkit-transform: rotate(0); + transform: rotate(0); } } + +@keyframes spin-cw-1turn { + 0% { + -webkit-transform: rotate(-1turn); + transform: rotate(-1turn); } + 100% { + -webkit-transform: rotate(0); + transform: rotate(0); } } + +.spin-ccw { + -webkit-animation-name: spin-ccw-1turn; + animation-name: spin-ccw-1turn; } + +@-webkit-keyframes spin-ccw-1turn { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); } + 100% { + -webkit-transform: rotate(-1turn); + transform: rotate(-1turn); } } + +@keyframes spin-ccw-1turn { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); } + 100% { + -webkit-transform: rotate(-1turn); + transform: rotate(-1turn); } } + +.wiggle { + -webkit-animation-name: wiggle-7deg; + animation-name: wiggle-7deg; } + +@-webkit-keyframes wiggle-7deg { + 40%, 50%, 60% { + -webkit-transform: rotate(7deg); + transform: rotate(7deg); } + 35%, 45%, 55%, 65% { + -webkit-transform: rotate(-7deg); + transform: rotate(-7deg); } + 0%, 30%, 70%, 100% { + -webkit-transform: rotate(0); + transform: rotate(0); } } + +@keyframes wiggle-7deg { + 40%, 50%, 60% { + -webkit-transform: rotate(7deg); + transform: rotate(7deg); } + 35%, 45%, 55%, 65% { + -webkit-transform: rotate(-7deg); + transform: rotate(-7deg); } + 0%, 30%, 70%, 100% { + -webkit-transform: rotate(0); + transform: rotate(0); } } + +.shake, +.spin-cw, +.spin-ccw, +.wiggle { + -webkit-animation-duration: 500ms; + animation-duration: 500ms; } + +.infinite { + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; } + +.slow { + -webkit-animation-duration: 750ms !important; + animation-duration: 750ms !important; } + +.fast { + -webkit-animation-duration: 250ms !important; + animation-duration: 250ms !important; } + +.linear { + -webkit-animation-timing-function: linear !important; + animation-timing-function: linear !important; } + +.ease { + -webkit-animation-timing-function: ease !important; + animation-timing-function: ease !important; } + +.ease-in { + -webkit-animation-timing-function: ease-in !important; + animation-timing-function: ease-in !important; } + +.ease-out { + -webkit-animation-timing-function: ease-out !important; + animation-timing-function: ease-out !important; } + +.ease-in-out { + -webkit-animation-timing-function: ease-in-out !important; + animation-timing-function: ease-in-out !important; } + +.bounce-in { + -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; + animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; } + +.bounce-out { + -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; + animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; } + +.bounce-in-out { + -webkit-animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; + animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; } + +.short-delay { + -webkit-animation-delay: 300ms !important; + animation-delay: 300ms !important; } + +.long-delay { + -webkit-animation-delay: 700ms !important; + animation-delay: 700ms !important; } + +#wpadminbar { + position: fixed !important; } + +body.admin-bar.f-topbar-fixed .sticky.fixed { + margin-top: 2rem; } + +body.admin-bar.offcanvas .off-canvas.is-open { + top: 2.875rem; + top: 2rem; } + +@font-face { + font-family: 'worksans-medium'; + src: url("../fonts/WorkSans-Medium.woff") format("woff"); + font-weight: normal; + font-style: normal; } + +@font-face { + font-family: 'worksans-mediumitalic'; + src: url("../fonts/WorkSans-MediumItalic.woff") format("woff"); + font-weight: normal; + font-style: italic; } + +/* +Frontend styles for gutenberg blocks +*/ +/** === Base Color Palatte === */ +.has-primary-background-color { + background-color: #0000DD; } + +.has-primary-color { + color: #0000DD; } + +.has-secondary-background-color { + background-color: #D75930; } + +.has-secondary-color { + color: #D75930; } + +.has-success-background-color { + background-color: #69E344; } + +.has-success-color { + color: #69E344; } + +.has-warning-background-color { + background-color: #D32D1F; } + +.has-warning-color { + color: #D32D1F; } + +.has-alert-background-color { + background-color: #D32D1F; } + +.has-alert-color { + color: #D32D1F; } + +/** === Button === */ +.wp-block-button .wp-block-button__link.has-primary-background-color { + background-color: #0000DD; } + +.wp-block-button .wp-block-button__link.has-primary-color { + color: #0000DD; } + +.wp-block-button .wp-block-button__link.has-secondary-background-color { + background-color: #D75930; } + +.wp-block-button .wp-block-button__link.has-secondary-color { + color: #D75930; } + +.wp-block-button .wp-block-button__link.has-success-background-color { + background-color: #69E344; } + +.wp-block-button .wp-block-button__link.has-success-color { + color: #69E344; } + +.wp-block-button .wp-block-button__link.has-warning-background-color { + background-color: #D32D1F; } + +.wp-block-button .wp-block-button__link.has-warning-color { + color: #D32D1F; } + +.wp-block-button .wp-block-button__link.has-alert-background-color { + background-color: #D32D1F; } + +.wp-block-button .wp-block-button__link.has-alert-color { + color: #D32D1F; } + +.wp-block-button.is-style-squared .wp-block-button__link { + border-radius: 0; } + +/** === File === */ +.wp-block-file .wp-block-file__button { + display: inline-block; + vertical-align: middle; + margin: 0; + padding: 1rem 3rem; + border: 1px solid transparent; + border-radius: 2rem; + -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out; + transition: background-color 0.25s ease-out, color 0.25s ease-out; + font-family: inherit; + font-size: 1.2rem; + -webkit-appearance: none; + line-height: 1; + text-align: center; + cursor: pointer; } + [data-whatinput='mouse'] .wp-block-file .wp-block-file__button { + outline: 0; } + .wp-block-file .wp-block-file__button, .wp-block-file .wp-block-file__button.disabled, .wp-block-file .wp-block-file__button[disabled], .wp-block-file .wp-block-file__button.disabled:hover, .wp-block-file .wp-block-file__button[disabled]:hover, .wp-block-file .wp-block-file__button.disabled:focus, .wp-block-file .wp-block-file__button[disabled]:focus { + background-color: #0000DD; + color: #fefefe; } + .wp-block-file .wp-block-file__button:hover, .wp-block-file .wp-block-file__button:focus { + background-color: #0000bc; + color: #fefefe; } + +.brand-logo .site-name, .brand-logo .site-description, .site-brand .site-name, .site-brand .site-description { + display: none; } + +.brand-logo::before, .site-brand::before { + content: ''; + display: inline-block; + margin-top: -1rem; + width: 100%; + height: 5rem; + background-size: contain; + background-repeat: no-repeat; + background-position: center; } + +.brand-logo.archive::before, .site-brand.archive::before { + max-width: 10rem; + background-image: url("../img/ARC-HIVE-logo.svg"); } + +.brand-logo.eu::before, .site-brand.eu::before { + max-width: 15rem; + background-image: url("../img/eu_flag_creative_europe_co_funded_left.svg"); } + +.screen-reader-text { + clip: rect(1px, 1px, 1px, 1px); + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; } + +.screen-reader-text:focus { + background-color: #f1f1f1; + border-radius: 3px; + -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); + box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); + clip: auto !important; + color: #21759b; + display: block; + font-size: 14px; + font-size: 0.875rem; + font-weight: bold; + height: auto; + left: 5px; + line-height: normal; + padding: 15px 23px 14px; + text-decoration: none; + top: 5px; + width: auto; + z-index: 100000; } + +header { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + margin-right: 0; + margin-left: 0; } + header main { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: calc(100% - 1.25rem); + margin-left: 0.625rem; + margin-right: 0.625rem; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + padding: 2rem 1rem; + min-width: 14rem; + text-align: center; } + @media print, screen and (min-width: 40em) { + header main { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + margin-left: 0.9375rem; + margin-right: 0.9375rem; + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + -ms-flex-pack: start; + justify-content: flex-start; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + text-align: unset; } } + header nav { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: calc(100% - 1.25rem); + margin-left: 0.625rem; + margin-right: 0.625rem; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; } + header nav a, header nav button { + color: #0a0a0a; } + header nav a:hover, header nav button:hover { + color: #0000DD; } + header nav menu { + margin: 0; + padding: 0; + font-size: 0.8rem; } + @media print, screen and (min-width: 40em) { + header nav { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0px; + -ms-flex: 1 1 0px; + flex: 1 1 0px; + width: auto; + margin-left: 0.9375rem; + margin-right: 0.9375rem; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; } + header nav menu { + margin: inherit; + padding: inherit; + font-size: 150%; } } + +footer { + background-color: #D75930; } + footer a { + color: #0a0a0a; } + footer a:hover { + color: #0000DD; } + footer h1, footer h2, footer h3, footer h4, footer h5, footer h6, + footer .h1, footer .h2, footer .h3, footer .h4, footer .h5, footer .h6, + footer p, footer ul, footer ol, footer li { + margin: 0; } + footer ul, footer ol { + list-style: none; } + footer ul li, footer ol li { + float: left; + padding-right: 1rem; } + footer .clear.clearfix { + width: 100%; } + footer .site-brand.archive::before, footer .brand-logo.archive::before { + margin-top: unset; } + footer .site-brand.eu::before, footer .brand-logo.eu::before { + margin-top: unset; + max-width: 100%; + max-height: 4rem; } + footer .copyright, footer .legal-credits { + font-size: 80%; } + footer .subsection { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + display: flex; + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + -ms-flex-pack: start; + justify-content: flex-start; + -webkit-box-align: end; + -webkit-align-items: flex-end; + -ms-flex-align: end; + align-items: flex-end; + border-top: 1px solid black; + padding: 1rem; + font-size: 80%; } + footer .subsection .co-founded { + text-align: right; } + @media print, screen and (min-width: 40em) { + footer .subsection { + font-size: 100%; } } + footer .subsection aside { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: calc(100% - 1.25rem); + margin-left: 0.625rem; + margin-right: 0.625rem; } + @media print, screen and (min-width: 40em) { + footer .subsection aside { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: calc(25% - 1.875rem); + margin-left: 0.9375rem; + margin-right: 0.9375rem; } } + footer .subsection aside.double { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: calc(100% - 1.25rem); + margin-left: 0.625rem; + margin-right: 0.625rem; } + @media print, screen and (min-width: 40em) { + footer .subsection aside.double { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: calc(50% - 1.875rem); + margin-left: 0.9375rem; + margin-right: 0.9375rem; } } + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h4, .h5, .h6, +button, .button, .wp-block-button .wp-block-button__link, +header nav, +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h4, .h5, .h6 { + font-variant: all-small-caps; } + h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, + .h1 a, .h2 a, .h3 a, .h4 a, .h4 a, .h5 a, .h6 a, + button a, .button a, .wp-block-button .wp-block-button__link a, + header nav a, + h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, + .h1 a, .h2 a, .h3 a, .h4 a, .h4 a, .h5 a, .h6 a { + color: #0a0a0a; } + +.excerpt a, .post-excerpt a { + color: #0a0a0a; } + .excerpt a:hover p, .post-excerpt a:hover p { + color: #0000DD; } + +main article { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; } + main article header { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: calc(100% - 1.25rem); + margin-left: 0.625rem; + margin-right: 0.625rem; } + main article header .entry-title { + width: 100%; + text-align: center; } + main article .entry-content { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: calc(100% - 1.25rem); + margin-left: 0.625rem; + margin-right: 0.625rem; + padding: 2rem; + margin: 0 auto; } + @media print, screen and (min-width: 40em) { + main article .entry-content { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: calc(100% - 1.875rem); + margin-left: 0.9375rem; + margin-right: 0.9375rem; + padding: 2rem 3rem; + max-width: 50rem; + margin: 0 auto; } } + @media screen and (min-width: 75em) { + main article .entry-content { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: calc(100% - 1.875rem); + margin-left: 0.9375rem; + margin-right: 0.9375rem; + max-width: 50rem; + padding: 2rem 3rem; + font-size: 120%; + margin: 0 auto; } } + +.news, .news-category { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; } + .news header, .news main, .news aside, .news-category header, .news-category main, .news-category aside { + padding-top: 0; + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: calc(100% - 1.25rem); + margin-left: 0.625rem; + margin-right: 0.625rem; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: start; + -webkit-align-items: flex-start; + -ms-flex-align: start; + align-items: flex-start; + padding-top: 3rem; } + .news main, .news-category main { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; } + .news main article, .news-category main article { + text-align: center; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + margin-bottom: 4rem; + border: none; + border-radius: 0; + background: unset; + -webkit-box-shadow: none; + box-shadow: none; + overflow: hidden; + color: #0a0a0a; + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: calc(100% - 1.25rem); + margin-left: 0.625rem; + margin-right: 0.625rem; } + .news main article > :last-child, .news-category main article > :last-child { + margin-bottom: 0; } + @media print, screen and (min-width: 40em) { + .news main article, .news-category main article { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: calc(50% - 1.875rem); + margin-left: 0.9375rem; + margin-right: 0.9375rem; } } + @media print, screen and (min-width: 64em) { + .news main article, .news-category main article { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: calc(33.33333% - 1.875rem); + margin-left: 0.9375rem; + margin-right: 0.9375rem; } } + .news main article figure, .news-category main article figure { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: calc(100% - 1.25rem); + margin-left: 0.625rem; + margin-right: 0.625rem; + height: 58vw; + max-width: 100%; + overflow: hidden; + background-position: center; + background-repeat: no-repeat; + background-size: cover; } + @media print, screen and (min-width: 40em) { + .news main article figure, .news-category main article figure { + height: 28vw; } } + @media print, screen and (min-width: 64em) { + .news main article figure, .news-category main article figure { + height: 20vw; } } + .news main article .date, .news-category main article .date { + height: 1rem; + padding-top: 2rem; } + .news main article .entry-title, .news-category main article .entry-title { + padding-top: 2rem; + line-height: 0.7; + font-size: 150%; } + .news aside, .news-category aside { + padding-top: 0; + padding-bottom: 3rem; } + @media print, screen and (min-width: 40em) { + .news aside, .news-category aside { + padding-top: 3rem; + padding-bottom: 0; } } + +.collections-list { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; } + .collections-list header, .collections-list main, .collections-list aside { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: calc(100% - 1.25rem); + margin-left: 0.625rem; + margin-right: 0.625rem; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: start; + -webkit-align-items: flex-start; + -ms-flex-align: start; + align-items: flex-start; + padding: 3rem 0; } + .collections-list header { + border-top: 1px solid #0a0a0a; + padding: 4rem 0; } + .collections-list main { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; } + .collections-list main article { + text-align: center; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + margin-bottom: 4rem; + border: none; + border-radius: 0; + background: unset; + -webkit-box-shadow: none; + box-shadow: none; + overflow: hidden; + color: #0a0a0a; + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + min-height: 0px; + min-width: 0px; + width: calc(100% - 1.25rem); + margin-left: 0.625rem; + margin-right: 0.625rem; } + .collections-list main article > :last-child { + margin-bottom: 0; } + +.partners .entry-content { + max-width: unset; } + .partners .entry-content p { + padding-left: 30vw; + padding-bottom: 2rem; + margin-bottom: 2rem; } + .partners .entry-content p:after { + content: ''; + display: inline-block; + border-bottom: 1px solid #0a0a0a; + width: 100vw; + position: absolute; + left: 0; + padding-top: 2rem; } + .partners .entry-content .alignleft { + margin: 0; + padding: 0; } + .partners .entry-content .wp-block-image { + margin: 0; } + +.hero { + border-top: 2px solid #0000DD; } + .hero .slides { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; } + .hero .slides .slide { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + width: 100vw; + margin: 0; + color: #fefefe; } + .hero .slides .slide .textwidget { + padding: 2rem; } + @media print, screen and (min-width: 40em) { + .hero .slides .slide .textwidget { + max-width: 50rem; + margin: auto; + padding: 2rem; + font-size: 130%; } } + @media print, screen and (min-width: 64em) { + .hero .slides .slide { + width: 50%; + height: calc((50vw*9)/16); + padding: 0; + margin: 0; + overflow: hidden; } + .hero .slides .slide a { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; } + .hero .slides .slide img { + height: 100% !important; } + .hero .slides .slide .textwidget { + font-size: 120%; + padding: 2rem; } } + @media screen and (min-width: 75em) { + .hero .slides .slide .textwidget { + font-size: 130%; + padding: 3rem; } } + @media screen and (min-width: 90em) { + .hero .slides .slide .textwidget { + font-size: 160%; + padding: 3rem; } } + .hero .slides .slide:first-child { + background-color: #0000DD; + font-variant: all-small-caps; } + @media print, screen and (min-width: 40em) { + .hero .slides .slide .logo { + max-width: 80%; } } + .hero aside { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + background-color: #D75930; } + .hero aside nav { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0px; + -ms-flex: 1 1 0px; + flex: 1 1 0px; + width: auto; + margin-left: 0.625rem; + margin-right: 0.625rem; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-justify-content: space-around; + -ms-flex-pack: distribute; + justify-content: space-around; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + min-height: 6rem; + padding: 1rem 0; } + .hero aside nav a { + color: #0a0a0a; } + .hero aside nav .button, .hero aside nav .wp-block-button .wp-block-button__link, .wp-block-button .hero aside nav .wp-block-button__link { + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; } + .hero.secondary { + border-top: none; + background-color: #D75930; } + .hero.secondary .slide figure { + background-color: unset; } + +[data-whatinput="mouse"] a:focus, button:focus [data-whatinput="touch"] a:focus, button:focus { + outline: none; } + +.featured-hero { + background-size: cover; + background-position: center; + background-repeat: no-repeat; + height: 6.25rem; } + @media print, screen and (min-width: 40em) { + .featured-hero { + height: 12.5rem; } } + @media screen and (min-width: 75em) { + .featured-hero { + height: 25rem; } } + +.dotted { + border-style: dashed; + margin: 2rem 0; } + +.card { + padding: 1rem; } + +button, .button, .wp-block-button .wp-block-button__link { + min-width: 20rem; } + +.hero button, .hero .button, .hero .wp-block-button .wp-block-button__link, .wp-block-button .hero .wp-block-button__link { + min-width: 20vw; + padding: 0.3rem 2rem; + color: #0a0a0a; + font-size: 130%; + border-color: #0a0a0a; + border-radius: 4rem; } + .hero button:hover, .hero .button:hover, .hero .wp-block-button .wp-block-button__link:hover, .wp-block-button .hero .wp-block-button__link:hover { + color: #0000DD; + border-color: #0000DD; } + +.accordion-item { + border-bottom: 1px solid #0a0a0a; } + +.accordion-title ul, .accordion-title ol { + list-style: none; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; } + +.accordion-title li { + display: inline; + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: calc(25% - 1.25rem); + margin-left: 0.625rem; + margin-right: 0.625rem; + text-align: left; } + +/*! + * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa, +.fas, +.far, +.fal, +.fad, +.fab { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; } + +.fa-lg { + font-size: 1.33333em; + line-height: 0.75em; + vertical-align: -.0667em; } + +.fa-xs { + font-size: .75em; } + +.fa-sm { + font-size: .875em; } + +.fa-1x { + font-size: 1em; } + +.fa-2x { + font-size: 2em; } + +.fa-3x { + font-size: 3em; } + +.fa-4x { + font-size: 4em; } + +.fa-5x { + font-size: 5em; } + +.fa-6x { + font-size: 6em; } + +.fa-7x { + font-size: 7em; } + +.fa-8x { + font-size: 8em; } + +.fa-9x { + font-size: 9em; } + +.fa-10x { + font-size: 10em; } + +.fa-fw { + text-align: center; + width: 1.25em; } + +.fa-ul { + list-style-type: none; + margin-left: 2.5em; + padding-left: 0; } + .fa-ul > li { + position: relative; } + +.fa-li { + left: -2em; + position: absolute; + text-align: center; + width: 2em; + line-height: inherit; } + +.fa-border { + border: solid 0.08em #eee; + border-radius: .1em; + padding: .2em .25em .15em; } + +.fa-pull-left { + float: left; } + +.fa-pull-right { + float: right; } + +.fa.fa-pull-left, +.fas.fa-pull-left, +.far.fa-pull-left, +.fal.fa-pull-left, +.fab.fa-pull-left { + margin-right: .3em; } + +.fa.fa-pull-right, +.fas.fa-pull-right, +.far.fa-pull-right, +.fal.fa-pull-right, +.fab.fa-pull-right { + margin-left: .3em; } + +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; } + +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); } + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); } + +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); } + +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); } + +.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(-1, -1); + -ms-transform: scale(-1, -1); + transform: scale(-1, -1); } + +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical, +:root .fa-flip-both { + -webkit-filter: none; + filter: none; } + +.fa-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2.5em; } + +.fa-stack-1x, +.fa-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; } + +.fa-stack-1x { + line-height: inherit; } + +.fa-stack-2x { + font-size: 2em; } + +.fa-inverse { + color: #fff; } + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen +readers do not read off random characters that represent icons */ +.fa-500px:before { + content: "\f26e"; } + +.fa-accessible-icon:before { + content: "\f368"; } + +.fa-accusoft:before { + content: "\f369"; } + +.fa-acquisitions-incorporated:before { + content: "\f6af"; } + +.fa-ad:before { + content: "\f641"; } + +.fa-address-book:before { + content: "\f2b9"; } + +.fa-address-card:before { + content: "\f2bb"; } + +.fa-adjust:before { + content: "\f042"; } + +.fa-adn:before { + content: "\f170"; } + +.fa-adversal:before { + content: "\f36a"; } + +.fa-affiliatetheme:before { + content: "\f36b"; } + +.fa-air-freshener:before { + content: "\f5d0"; } + +.fa-airbnb:before { + content: "\f834"; } + +.fa-algolia:before { + content: "\f36c"; } + +.fa-align-center:before { + content: "\f037"; } + +.fa-align-justify:before { + content: "\f039"; } + +.fa-align-left:before { + content: "\f036"; } + +.fa-align-right:before { + content: "\f038"; } + +.fa-alipay:before { + content: "\f642"; } + +.fa-allergies:before { + content: "\f461"; } + +.fa-amazon:before { + content: "\f270"; } + +.fa-amazon-pay:before { + content: "\f42c"; } + +.fa-ambulance:before { + content: "\f0f9"; } + +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; } + +.fa-amilia:before { + content: "\f36d"; } + +.fa-anchor:before { + content: "\f13d"; } + +.fa-android:before { + content: "\f17b"; } + +.fa-angellist:before { + content: "\f209"; } + +.fa-angle-double-down:before { + content: "\f103"; } + +.fa-angle-double-left:before { + content: "\f100"; } + +.fa-angle-double-right:before { + content: "\f101"; } + +.fa-angle-double-up:before { + content: "\f102"; } + +.fa-angle-down:before { + content: "\f107"; } + +.fa-angle-left:before { + content: "\f104"; } + +.fa-angle-right:before { + content: "\f105"; } + +.fa-angle-up:before { + content: "\f106"; } + +.fa-angry:before { + content: "\f556"; } + +.fa-angrycreative:before { + content: "\f36e"; } + +.fa-angular:before { + content: "\f420"; } + +.fa-ankh:before { + content: "\f644"; } + +.fa-app-store:before { + content: "\f36f"; } + +.fa-app-store-ios:before { + content: "\f370"; } + +.fa-apper:before { + content: "\f371"; } + +.fa-apple:before { + content: "\f179"; } + +.fa-apple-alt:before { + content: "\f5d1"; } + +.fa-apple-pay:before { + content: "\f415"; } + +.fa-archive:before { + content: "\f187"; } + +.fa-archway:before { + content: "\f557"; } + +.fa-arrow-alt-circle-down:before { + content: "\f358"; } + +.fa-arrow-alt-circle-left:before { + content: "\f359"; } + +.fa-arrow-alt-circle-right:before { + content: "\f35a"; } + +.fa-arrow-alt-circle-up:before { + content: "\f35b"; } + +.fa-arrow-circle-down:before { + content: "\f0ab"; } + +.fa-arrow-circle-left:before { + content: "\f0a8"; } + +.fa-arrow-circle-right:before { + content: "\f0a9"; } + +.fa-arrow-circle-up:before { + content: "\f0aa"; } + +.fa-arrow-down:before { + content: "\f063"; } + +.fa-arrow-left:before { + content: "\f060"; } + +.fa-arrow-right:before { + content: "\f061"; } + +.fa-arrow-up:before { + content: "\f062"; } + +.fa-arrows-alt:before { + content: "\f0b2"; } + +.fa-arrows-alt-h:before { + content: "\f337"; } + +.fa-arrows-alt-v:before { + content: "\f338"; } + +.fa-artstation:before { + content: "\f77a"; } + +.fa-assistive-listening-systems:before { + content: "\f2a2"; } + +.fa-asterisk:before { + content: "\f069"; } + +.fa-asymmetrik:before { + content: "\f372"; } + +.fa-at:before { + content: "\f1fa"; } + +.fa-atlas:before { + content: "\f558"; } + +.fa-atlassian:before { + content: "\f77b"; } + +.fa-atom:before { + content: "\f5d2"; } + +.fa-audible:before { + content: "\f373"; } + +.fa-audio-description:before { + content: "\f29e"; } + +.fa-autoprefixer:before { + content: "\f41c"; } + +.fa-avianex:before { + content: "\f374"; } + +.fa-aviato:before { + content: "\f421"; } + +.fa-award:before { + content: "\f559"; } + +.fa-aws:before { + content: "\f375"; } + +.fa-baby:before { + content: "\f77c"; } + +.fa-baby-carriage:before { + content: "\f77d"; } + +.fa-backspace:before { + content: "\f55a"; } + +.fa-backward:before { + content: "\f04a"; } + +.fa-bacon:before { + content: "\f7e5"; } + +.fa-bacteria:before { + content: "\e059"; } + +.fa-bacterium:before { + content: "\e05a"; } + +.fa-bahai:before { + content: "\f666"; } + +.fa-balance-scale:before { + content: "\f24e"; } + +.fa-balance-scale-left:before { + content: "\f515"; } + +.fa-balance-scale-right:before { + content: "\f516"; } + +.fa-ban:before { + content: "\f05e"; } + +.fa-band-aid:before { + content: "\f462"; } + +.fa-bandcamp:before { + content: "\f2d5"; } + +.fa-barcode:before { + content: "\f02a"; } + +.fa-bars:before { + content: "\f0c9"; } + +.fa-baseball-ball:before { + content: "\f433"; } + +.fa-basketball-ball:before { + content: "\f434"; } + +.fa-bath:before { + content: "\f2cd"; } + +.fa-battery-empty:before { + content: "\f244"; } + +.fa-battery-full:before { + content: "\f240"; } + +.fa-battery-half:before { + content: "\f242"; } + +.fa-battery-quarter:before { + content: "\f243"; } + +.fa-battery-three-quarters:before { + content: "\f241"; } + +.fa-battle-net:before { + content: "\f835"; } + +.fa-bed:before { + content: "\f236"; } + +.fa-beer:before { + content: "\f0fc"; } + +.fa-behance:before { + content: "\f1b4"; } + +.fa-behance-square:before { + content: "\f1b5"; } + +.fa-bell:before { + content: "\f0f3"; } + +.fa-bell-slash:before { + content: "\f1f6"; } + +.fa-bezier-curve:before { + content: "\f55b"; } + +.fa-bible:before { + content: "\f647"; } + +.fa-bicycle:before { + content: "\f206"; } + +.fa-biking:before { + content: "\f84a"; } + +.fa-bimobject:before { + content: "\f378"; } + +.fa-binoculars:before { + content: "\f1e5"; } + +.fa-biohazard:before { + content: "\f780"; } + +.fa-birthday-cake:before { + content: "\f1fd"; } + +.fa-bitbucket:before { + content: "\f171"; } + +.fa-bitcoin:before { + content: "\f379"; } + +.fa-bity:before { + content: "\f37a"; } + +.fa-black-tie:before { + content: "\f27e"; } + +.fa-blackberry:before { + content: "\f37b"; } + +.fa-blender:before { + content: "\f517"; } + +.fa-blender-phone:before { + content: "\f6b6"; } + +.fa-blind:before { + content: "\f29d"; } + +.fa-blog:before { + content: "\f781"; } + +.fa-blogger:before { + content: "\f37c"; } + +.fa-blogger-b:before { + content: "\f37d"; } + +.fa-bluetooth:before { + content: "\f293"; } + +.fa-bluetooth-b:before { + content: "\f294"; } + +.fa-bold:before { + content: "\f032"; } + +.fa-bolt:before { + content: "\f0e7"; } + +.fa-bomb:before { + content: "\f1e2"; } + +.fa-bone:before { + content: "\f5d7"; } + +.fa-bong:before { + content: "\f55c"; } + +.fa-book:before { + content: "\f02d"; } + +.fa-book-dead:before { + content: "\f6b7"; } + +.fa-book-medical:before { + content: "\f7e6"; } + +.fa-book-open:before { + content: "\f518"; } + +.fa-book-reader:before { + content: "\f5da"; } + +.fa-bookmark:before { + content: "\f02e"; } + +.fa-bootstrap:before { + content: "\f836"; } + +.fa-border-all:before { + content: "\f84c"; } + +.fa-border-none:before { + content: "\f850"; } + +.fa-border-style:before { + content: "\f853"; } + +.fa-bowling-ball:before { + content: "\f436"; } + +.fa-box:before { + content: "\f466"; } + +.fa-box-open:before { + content: "\f49e"; } + +.fa-box-tissue:before { + content: "\e05b"; } + +.fa-boxes:before { + content: "\f468"; } + +.fa-braille:before { + content: "\f2a1"; } + +.fa-brain:before { + content: "\f5dc"; } + +.fa-bread-slice:before { + content: "\f7ec"; } + +.fa-briefcase:before { + content: "\f0b1"; } + +.fa-briefcase-medical:before { + content: "\f469"; } + +.fa-broadcast-tower:before { + content: "\f519"; } + +.fa-broom:before { + content: "\f51a"; } + +.fa-brush:before { + content: "\f55d"; } + +.fa-btc:before { + content: "\f15a"; } + +.fa-buffer:before { + content: "\f837"; } + +.fa-bug:before { + content: "\f188"; } + +.fa-building:before { + content: "\f1ad"; } + +.fa-bullhorn:before { + content: "\f0a1"; } + +.fa-bullseye:before { + content: "\f140"; } + +.fa-burn:before { + content: "\f46a"; } + +.fa-buromobelexperte:before { + content: "\f37f"; } + +.fa-bus:before { + content: "\f207"; } + +.fa-bus-alt:before { + content: "\f55e"; } + +.fa-business-time:before { + content: "\f64a"; } + +.fa-buy-n-large:before { + content: "\f8a6"; } + +.fa-buysellads:before { + content: "\f20d"; } + +.fa-calculator:before { + content: "\f1ec"; } + +.fa-calendar:before { + content: "\f133"; } + +.fa-calendar-alt:before { + content: "\f073"; } + +.fa-calendar-check:before { + content: "\f274"; } + +.fa-calendar-day:before { + content: "\f783"; } + +.fa-calendar-minus:before { + content: "\f272"; } + +.fa-calendar-plus:before { + content: "\f271"; } + +.fa-calendar-times:before { + content: "\f273"; } + +.fa-calendar-week:before { + content: "\f784"; } + +.fa-camera:before { + content: "\f030"; } + +.fa-camera-retro:before { + content: "\f083"; } + +.fa-campground:before { + content: "\f6bb"; } + +.fa-canadian-maple-leaf:before { + content: "\f785"; } + +.fa-candy-cane:before { + content: "\f786"; } + +.fa-cannabis:before { + content: "\f55f"; } + +.fa-capsules:before { + content: "\f46b"; } + +.fa-car:before { + content: "\f1b9"; } + +.fa-car-alt:before { + content: "\f5de"; } + +.fa-car-battery:before { + content: "\f5df"; } + +.fa-car-crash:before { + content: "\f5e1"; } + +.fa-car-side:before { + content: "\f5e4"; } + +.fa-caravan:before { + content: "\f8ff"; } + +.fa-caret-down:before { + content: "\f0d7"; } + +.fa-caret-left:before { + content: "\f0d9"; } + +.fa-caret-right:before { + content: "\f0da"; } + +.fa-caret-square-down:before { + content: "\f150"; } + +.fa-caret-square-left:before { + content: "\f191"; } + +.fa-caret-square-right:before { + content: "\f152"; } + +.fa-caret-square-up:before { + content: "\f151"; } + +.fa-caret-up:before { + content: "\f0d8"; } + +.fa-carrot:before { + content: "\f787"; } + +.fa-cart-arrow-down:before { + content: "\f218"; } + +.fa-cart-plus:before { + content: "\f217"; } + +.fa-cash-register:before { + content: "\f788"; } + +.fa-cat:before { + content: "\f6be"; } + +.fa-cc-amazon-pay:before { + content: "\f42d"; } + +.fa-cc-amex:before { + content: "\f1f3"; } + +.fa-cc-apple-pay:before { + content: "\f416"; } + +.fa-cc-diners-club:before { + content: "\f24c"; } + +.fa-cc-discover:before { + content: "\f1f2"; } + +.fa-cc-jcb:before { + content: "\f24b"; } + +.fa-cc-mastercard:before { + content: "\f1f1"; } + +.fa-cc-paypal:before { + content: "\f1f4"; } + +.fa-cc-stripe:before { + content: "\f1f5"; } + +.fa-cc-visa:before { + content: "\f1f0"; } + +.fa-centercode:before { + content: "\f380"; } + +.fa-centos:before { + content: "\f789"; } + +.fa-certificate:before { + content: "\f0a3"; } + +.fa-chair:before { + content: "\f6c0"; } + +.fa-chalkboard:before { + content: "\f51b"; } + +.fa-chalkboard-teacher:before { + content: "\f51c"; } + +.fa-charging-station:before { + content: "\f5e7"; } + +.fa-chart-area:before { + content: "\f1fe"; } + +.fa-chart-bar:before { + content: "\f080"; } + +.fa-chart-line:before { + content: "\f201"; } + +.fa-chart-pie:before { + content: "\f200"; } + +.fa-check:before { + content: "\f00c"; } + +.fa-check-circle:before { + content: "\f058"; } + +.fa-check-double:before { + content: "\f560"; } + +.fa-check-square:before { + content: "\f14a"; } + +.fa-cheese:before { + content: "\f7ef"; } + +.fa-chess:before { + content: "\f439"; } + +.fa-chess-bishop:before { + content: "\f43a"; } + +.fa-chess-board:before { + content: "\f43c"; } + +.fa-chess-king:before { + content: "\f43f"; } + +.fa-chess-knight:before { + content: "\f441"; } + +.fa-chess-pawn:before { + content: "\f443"; } + +.fa-chess-queen:before { + content: "\f445"; } + +.fa-chess-rook:before { + content: "\f447"; } + +.fa-chevron-circle-down:before { + content: "\f13a"; } + +.fa-chevron-circle-left:before { + content: "\f137"; } + +.fa-chevron-circle-right:before { + content: "\f138"; } + +.fa-chevron-circle-up:before { + content: "\f139"; } + +.fa-chevron-down:before { + content: "\f078"; } + +.fa-chevron-left:before { + content: "\f053"; } + +.fa-chevron-right:before { + content: "\f054"; } + +.fa-chevron-up:before { + content: "\f077"; } + +.fa-child:before { + content: "\f1ae"; } + +.fa-chrome:before { + content: "\f268"; } + +.fa-chromecast:before { + content: "\f838"; } + +.fa-church:before { + content: "\f51d"; } + +.fa-circle:before { + content: "\f111"; } + +.fa-circle-notch:before { + content: "\f1ce"; } + +.fa-city:before { + content: "\f64f"; } + +.fa-clinic-medical:before { + content: "\f7f2"; } + +.fa-clipboard:before { + content: "\f328"; } + +.fa-clipboard-check:before { + content: "\f46c"; } + +.fa-clipboard-list:before { + content: "\f46d"; } + +.fa-clock:before { + content: "\f017"; } + +.fa-clone:before { + content: "\f24d"; } + +.fa-closed-captioning:before { + content: "\f20a"; } + +.fa-cloud:before { + content: "\f0c2"; } + +.fa-cloud-download-alt:before { + content: "\f381"; } + +.fa-cloud-meatball:before { + content: "\f73b"; } + +.fa-cloud-moon:before { + content: "\f6c3"; } + +.fa-cloud-moon-rain:before { + content: "\f73c"; } + +.fa-cloud-rain:before { + content: "\f73d"; } + +.fa-cloud-showers-heavy:before { + content: "\f740"; } + +.fa-cloud-sun:before { + content: "\f6c4"; } + +.fa-cloud-sun-rain:before { + content: "\f743"; } + +.fa-cloud-upload-alt:before { + content: "\f382"; } + +.fa-cloudflare:before { + content: "\e07d"; } + +.fa-cloudscale:before { + content: "\f383"; } + +.fa-cloudsmith:before { + content: "\f384"; } + +.fa-cloudversify:before { + content: "\f385"; } + +.fa-cocktail:before { + content: "\f561"; } + +.fa-code:before { + content: "\f121"; } + +.fa-code-branch:before { + content: "\f126"; } + +.fa-codepen:before { + content: "\f1cb"; } + +.fa-codiepie:before { + content: "\f284"; } + +.fa-coffee:before { + content: "\f0f4"; } + +.fa-cog:before { + content: "\f013"; } + +.fa-cogs:before { + content: "\f085"; } + +.fa-coins:before { + content: "\f51e"; } + +.fa-columns:before { + content: "\f0db"; } + +.fa-comment:before { + content: "\f075"; } + +.fa-comment-alt:before { + content: "\f27a"; } + +.fa-comment-dollar:before { + content: "\f651"; } + +.fa-comment-dots:before { + content: "\f4ad"; } + +.fa-comment-medical:before { + content: "\f7f5"; } + +.fa-comment-slash:before { + content: "\f4b3"; } + +.fa-comments:before { + content: "\f086"; } + +.fa-comments-dollar:before { + content: "\f653"; } + +.fa-compact-disc:before { + content: "\f51f"; } + +.fa-compass:before { + content: "\f14e"; } + +.fa-compress:before { + content: "\f066"; } + +.fa-compress-alt:before { + content: "\f422"; } + +.fa-compress-arrows-alt:before { + content: "\f78c"; } + +.fa-concierge-bell:before { + content: "\f562"; } + +.fa-confluence:before { + content: "\f78d"; } + +.fa-connectdevelop:before { + content: "\f20e"; } + +.fa-contao:before { + content: "\f26d"; } + +.fa-cookie:before { + content: "\f563"; } + +.fa-cookie-bite:before { + content: "\f564"; } + +.fa-copy:before { + content: "\f0c5"; } + +.fa-copyright:before { + content: "\f1f9"; } + +.fa-cotton-bureau:before { + content: "\f89e"; } + +.fa-couch:before { + content: "\f4b8"; } + +.fa-cpanel:before { + content: "\f388"; } + +.fa-creative-commons:before { + content: "\f25e"; } + +.fa-creative-commons-by:before { + content: "\f4e7"; } + +.fa-creative-commons-nc:before { + content: "\f4e8"; } + +.fa-creative-commons-nc-eu:before { + content: "\f4e9"; } + +.fa-creative-commons-nc-jp:before { + content: "\f4ea"; } + +.fa-creative-commons-nd:before { + content: "\f4eb"; } + +.fa-creative-commons-pd:before { + content: "\f4ec"; } + +.fa-creative-commons-pd-alt:before { + content: "\f4ed"; } + +.fa-creative-commons-remix:before { + content: "\f4ee"; } + +.fa-creative-commons-sa:before { + content: "\f4ef"; } + +.fa-creative-commons-sampling:before { + content: "\f4f0"; } + +.fa-creative-commons-sampling-plus:before { + content: "\f4f1"; } + +.fa-creative-commons-share:before { + content: "\f4f2"; } + +.fa-creative-commons-zero:before { + content: "\f4f3"; } + +.fa-credit-card:before { + content: "\f09d"; } + +.fa-critical-role:before { + content: "\f6c9"; } + +.fa-crop:before { + content: "\f125"; } + +.fa-crop-alt:before { + content: "\f565"; } + +.fa-cross:before { + content: "\f654"; } + +.fa-crosshairs:before { + content: "\f05b"; } + +.fa-crow:before { + content: "\f520"; } + +.fa-crown:before { + content: "\f521"; } + +.fa-crutch:before { + content: "\f7f7"; } + +.fa-css3:before { + content: "\f13c"; } + +.fa-css3-alt:before { + content: "\f38b"; } + +.fa-cube:before { + content: "\f1b2"; } + +.fa-cubes:before { + content: "\f1b3"; } + +.fa-cut:before { + content: "\f0c4"; } + +.fa-cuttlefish:before { + content: "\f38c"; } + +.fa-d-and-d:before { + content: "\f38d"; } + +.fa-d-and-d-beyond:before { + content: "\f6ca"; } + +.fa-dailymotion:before { + content: "\e052"; } + +.fa-dashcube:before { + content: "\f210"; } + +.fa-database:before { + content: "\f1c0"; } + +.fa-deaf:before { + content: "\f2a4"; } + +.fa-deezer:before { + content: "\e077"; } + +.fa-delicious:before { + content: "\f1a5"; } + +.fa-democrat:before { + content: "\f747"; } + +.fa-deploydog:before { + content: "\f38e"; } + +.fa-deskpro:before { + content: "\f38f"; } + +.fa-desktop:before { + content: "\f108"; } + +.fa-dev:before { + content: "\f6cc"; } + +.fa-deviantart:before { + content: "\f1bd"; } + +.fa-dharmachakra:before { + content: "\f655"; } + +.fa-dhl:before { + content: "\f790"; } + +.fa-diagnoses:before { + content: "\f470"; } + +.fa-diaspora:before { + content: "\f791"; } + +.fa-dice:before { + content: "\f522"; } + +.fa-dice-d20:before { + content: "\f6cf"; } + +.fa-dice-d6:before { + content: "\f6d1"; } + +.fa-dice-five:before { + content: "\f523"; } + +.fa-dice-four:before { + content: "\f524"; } + +.fa-dice-one:before { + content: "\f525"; } + +.fa-dice-six:before { + content: "\f526"; } + +.fa-dice-three:before { + content: "\f527"; } + +.fa-dice-two:before { + content: "\f528"; } + +.fa-digg:before { + content: "\f1a6"; } + +.fa-digital-ocean:before { + content: "\f391"; } + +.fa-digital-tachograph:before { + content: "\f566"; } + +.fa-directions:before { + content: "\f5eb"; } + +.fa-discord:before { + content: "\f392"; } + +.fa-discourse:before { + content: "\f393"; } + +.fa-disease:before { + content: "\f7fa"; } + +.fa-divide:before { + content: "\f529"; } + +.fa-dizzy:before { + content: "\f567"; } + +.fa-dna:before { + content: "\f471"; } + +.fa-dochub:before { + content: "\f394"; } + +.fa-docker:before { + content: "\f395"; } + +.fa-dog:before { + content: "\f6d3"; } + +.fa-dollar-sign:before { + content: "\f155"; } + +.fa-dolly:before { + content: "\f472"; } + +.fa-dolly-flatbed:before { + content: "\f474"; } + +.fa-donate:before { + content: "\f4b9"; } + +.fa-door-closed:before { + content: "\f52a"; } + +.fa-door-open:before { + content: "\f52b"; } + +.fa-dot-circle:before { + content: "\f192"; } + +.fa-dove:before { + content: "\f4ba"; } + +.fa-download:before { + content: "\f019"; } + +.fa-draft2digital:before { + content: "\f396"; } + +.fa-drafting-compass:before { + content: "\f568"; } + +.fa-dragon:before { + content: "\f6d5"; } + +.fa-draw-polygon:before { + content: "\f5ee"; } + +.fa-dribbble:before { + content: "\f17d"; } + +.fa-dribbble-square:before { + content: "\f397"; } + +.fa-dropbox:before { + content: "\f16b"; } + +.fa-drum:before { + content: "\f569"; } + +.fa-drum-steelpan:before { + content: "\f56a"; } + +.fa-drumstick-bite:before { + content: "\f6d7"; } + +.fa-drupal:before { + content: "\f1a9"; } + +.fa-dumbbell:before { + content: "\f44b"; } + +.fa-dumpster:before { + content: "\f793"; } + +.fa-dumpster-fire:before { + content: "\f794"; } + +.fa-dungeon:before { + content: "\f6d9"; } + +.fa-dyalog:before { + content: "\f399"; } + +.fa-earlybirds:before { + content: "\f39a"; } + +.fa-ebay:before { + content: "\f4f4"; } + +.fa-edge:before { + content: "\f282"; } + +.fa-edge-legacy:before { + content: "\e078"; } + +.fa-edit:before { + content: "\f044"; } + +.fa-egg:before { + content: "\f7fb"; } + +.fa-eject:before { + content: "\f052"; } + +.fa-elementor:before { + content: "\f430"; } + +.fa-ellipsis-h:before { + content: "\f141"; } + +.fa-ellipsis-v:before { + content: "\f142"; } + +.fa-ello:before { + content: "\f5f1"; } + +.fa-ember:before { + content: "\f423"; } + +.fa-empire:before { + content: "\f1d1"; } + +.fa-envelope:before { + content: "\f0e0"; } + +.fa-envelope-open:before { + content: "\f2b6"; } + +.fa-envelope-open-text:before { + content: "\f658"; } + +.fa-envelope-square:before { + content: "\f199"; } + +.fa-envira:before { + content: "\f299"; } + +.fa-equals:before { + content: "\f52c"; } + +.fa-eraser:before { + content: "\f12d"; } + +.fa-erlang:before { + content: "\f39d"; } + +.fa-ethereum:before { + content: "\f42e"; } + +.fa-ethernet:before { + content: "\f796"; } + +.fa-etsy:before { + content: "\f2d7"; } + +.fa-euro-sign:before { + content: "\f153"; } + +.fa-evernote:before { + content: "\f839"; } + +.fa-exchange-alt:before { + content: "\f362"; } + +.fa-exclamation:before { + content: "\f12a"; } + +.fa-exclamation-circle:before { + content: "\f06a"; } + +.fa-exclamation-triangle:before { + content: "\f071"; } + +.fa-expand:before { + content: "\f065"; } + +.fa-expand-alt:before { + content: "\f424"; } + +.fa-expand-arrows-alt:before { + content: "\f31e"; } + +.fa-expeditedssl:before { + content: "\f23e"; } + +.fa-external-link-alt:before { + content: "\f35d"; } + +.fa-external-link-square-alt:before { + content: "\f360"; } + +.fa-eye:before { + content: "\f06e"; } + +.fa-eye-dropper:before { + content: "\f1fb"; } + +.fa-eye-slash:before { + content: "\f070"; } + +.fa-facebook:before { + content: "\f09a"; } + +.fa-facebook-f:before { + content: "\f39e"; } + +.fa-facebook-messenger:before { + content: "\f39f"; } + +.fa-facebook-square:before { + content: "\f082"; } + +.fa-fan:before { + content: "\f863"; } + +.fa-fantasy-flight-games:before { + content: "\f6dc"; } + +.fa-fast-backward:before { + content: "\f049"; } + +.fa-fast-forward:before { + content: "\f050"; } + +.fa-faucet:before { + content: "\e005"; } + +.fa-fax:before { + content: "\f1ac"; } + +.fa-feather:before { + content: "\f52d"; } + +.fa-feather-alt:before { + content: "\f56b"; } + +.fa-fedex:before { + content: "\f797"; } + +.fa-fedora:before { + content: "\f798"; } + +.fa-female:before { + content: "\f182"; } + +.fa-fighter-jet:before { + content: "\f0fb"; } + +.fa-figma:before { + content: "\f799"; } + +.fa-file:before { + content: "\f15b"; } + +.fa-file-alt:before { + content: "\f15c"; } + +.fa-file-archive:before { + content: "\f1c6"; } + +.fa-file-audio:before { + content: "\f1c7"; } + +.fa-file-code:before { + content: "\f1c9"; } + +.fa-file-contract:before { + content: "\f56c"; } + +.fa-file-csv:before { + content: "\f6dd"; } + +.fa-file-download:before { + content: "\f56d"; } + +.fa-file-excel:before { + content: "\f1c3"; } + +.fa-file-export:before { + content: "\f56e"; } + +.fa-file-image:before { + content: "\f1c5"; } + +.fa-file-import:before { + content: "\f56f"; } + +.fa-file-invoice:before { + content: "\f570"; } + +.fa-file-invoice-dollar:before { + content: "\f571"; } + +.fa-file-medical:before { + content: "\f477"; } + +.fa-file-medical-alt:before { + content: "\f478"; } + +.fa-file-pdf:before { + content: "\f1c1"; } + +.fa-file-powerpoint:before { + content: "\f1c4"; } + +.fa-file-prescription:before { + content: "\f572"; } + +.fa-file-signature:before { + content: "\f573"; } + +.fa-file-upload:before { + content: "\f574"; } + +.fa-file-video:before { + content: "\f1c8"; } + +.fa-file-word:before { + content: "\f1c2"; } + +.fa-fill:before { + content: "\f575"; } + +.fa-fill-drip:before { + content: "\f576"; } + +.fa-film:before { + content: "\f008"; } + +.fa-filter:before { + content: "\f0b0"; } + +.fa-fingerprint:before { + content: "\f577"; } + +.fa-fire:before { + content: "\f06d"; } + +.fa-fire-alt:before { + content: "\f7e4"; } + +.fa-fire-extinguisher:before { + content: "\f134"; } + +.fa-firefox:before { + content: "\f269"; } + +.fa-firefox-browser:before { + content: "\e007"; } + +.fa-first-aid:before { + content: "\f479"; } + +.fa-first-order:before { + content: "\f2b0"; } + +.fa-first-order-alt:before { + content: "\f50a"; } + +.fa-firstdraft:before { + content: "\f3a1"; } + +.fa-fish:before { + content: "\f578"; } + +.fa-fist-raised:before { + content: "\f6de"; } + +.fa-flag:before { + content: "\f024"; } + +.fa-flag-checkered:before { + content: "\f11e"; } + +.fa-flag-usa:before { + content: "\f74d"; } + +.fa-flask:before { + content: "\f0c3"; } + +.fa-flickr:before { + content: "\f16e"; } + +.fa-flipboard:before { + content: "\f44d"; } + +.fa-flushed:before { + content: "\f579"; } + +.fa-fly:before { + content: "\f417"; } + +.fa-folder:before { + content: "\f07b"; } + +.fa-folder-minus:before { + content: "\f65d"; } + +.fa-folder-open:before { + content: "\f07c"; } + +.fa-folder-plus:before { + content: "\f65e"; } + +.fa-font:before { + content: "\f031"; } + +.fa-font-awesome:before { + content: "\f2b4"; } + +.fa-font-awesome-alt:before { + content: "\f35c"; } + +.fa-font-awesome-flag:before { + content: "\f425"; } + +.fa-font-awesome-logo-full:before { + content: "\f4e6"; } + +.fa-fonticons:before { + content: "\f280"; } + +.fa-fonticons-fi:before { + content: "\f3a2"; } + +.fa-football-ball:before { + content: "\f44e"; } + +.fa-fort-awesome:before { + content: "\f286"; } + +.fa-fort-awesome-alt:before { + content: "\f3a3"; } + +.fa-forumbee:before { + content: "\f211"; } + +.fa-forward:before { + content: "\f04e"; } + +.fa-foursquare:before { + content: "\f180"; } + +.fa-free-code-camp:before { + content: "\f2c5"; } + +.fa-freebsd:before { + content: "\f3a4"; } + +.fa-frog:before { + content: "\f52e"; } + +.fa-frown:before { + content: "\f119"; } + +.fa-frown-open:before { + content: "\f57a"; } + +.fa-fulcrum:before { + content: "\f50b"; } + +.fa-funnel-dollar:before { + content: "\f662"; } + +.fa-futbol:before { + content: "\f1e3"; } + +.fa-galactic-republic:before { + content: "\f50c"; } + +.fa-galactic-senate:before { + content: "\f50d"; } + +.fa-gamepad:before { + content: "\f11b"; } + +.fa-gas-pump:before { + content: "\f52f"; } + +.fa-gavel:before { + content: "\f0e3"; } + +.fa-gem:before { + content: "\f3a5"; } + +.fa-genderless:before { + content: "\f22d"; } + +.fa-get-pocket:before { + content: "\f265"; } + +.fa-gg:before { + content: "\f260"; } + +.fa-gg-circle:before { + content: "\f261"; } + +.fa-ghost:before { + content: "\f6e2"; } + +.fa-gift:before { + content: "\f06b"; } + +.fa-gifts:before { + content: "\f79c"; } + +.fa-git:before { + content: "\f1d3"; } + +.fa-git-alt:before { + content: "\f841"; } + +.fa-git-square:before { + content: "\f1d2"; } + +.fa-github:before { + content: "\f09b"; } + +.fa-github-alt:before { + content: "\f113"; } + +.fa-github-square:before { + content: "\f092"; } + +.fa-gitkraken:before { + content: "\f3a6"; } + +.fa-gitlab:before { + content: "\f296"; } + +.fa-gitter:before { + content: "\f426"; } + +.fa-glass-cheers:before { + content: "\f79f"; } + +.fa-glass-martini:before { + content: "\f000"; } + +.fa-glass-martini-alt:before { + content: "\f57b"; } + +.fa-glass-whiskey:before { + content: "\f7a0"; } + +.fa-glasses:before { + content: "\f530"; } + +.fa-glide:before { + content: "\f2a5"; } + +.fa-glide-g:before { + content: "\f2a6"; } + +.fa-globe:before { + content: "\f0ac"; } + +.fa-globe-africa:before { + content: "\f57c"; } + +.fa-globe-americas:before { + content: "\f57d"; } + +.fa-globe-asia:before { + content: "\f57e"; } + +.fa-globe-europe:before { + content: "\f7a2"; } + +.fa-gofore:before { + content: "\f3a7"; } + +.fa-golf-ball:before { + content: "\f450"; } + +.fa-goodreads:before { + content: "\f3a8"; } + +.fa-goodreads-g:before { + content: "\f3a9"; } + +.fa-google:before { + content: "\f1a0"; } + +.fa-google-drive:before { + content: "\f3aa"; } + +.fa-google-pay:before { + content: "\e079"; } + +.fa-google-play:before { + content: "\f3ab"; } + +.fa-google-plus:before { + content: "\f2b3"; } + +.fa-google-plus-g:before { + content: "\f0d5"; } + +.fa-google-plus-square:before { + content: "\f0d4"; } + +.fa-google-wallet:before { + content: "\f1ee"; } + +.fa-gopuram:before { + content: "\f664"; } + +.fa-graduation-cap:before { + content: "\f19d"; } + +.fa-gratipay:before { + content: "\f184"; } + +.fa-grav:before { + content: "\f2d6"; } + +.fa-greater-than:before { + content: "\f531"; } + +.fa-greater-than-equal:before { + content: "\f532"; } + +.fa-grimace:before { + content: "\f57f"; } + +.fa-grin:before { + content: "\f580"; } + +.fa-grin-alt:before { + content: "\f581"; } + +.fa-grin-beam:before { + content: "\f582"; } + +.fa-grin-beam-sweat:before { + content: "\f583"; } + +.fa-grin-hearts:before { + content: "\f584"; } + +.fa-grin-squint:before { + content: "\f585"; } + +.fa-grin-squint-tears:before { + content: "\f586"; } + +.fa-grin-stars:before { + content: "\f587"; } + +.fa-grin-tears:before { + content: "\f588"; } + +.fa-grin-tongue:before { + content: "\f589"; } + +.fa-grin-tongue-squint:before { + content: "\f58a"; } + +.fa-grin-tongue-wink:before { + content: "\f58b"; } + +.fa-grin-wink:before { + content: "\f58c"; } + +.fa-grip-horizontal:before { + content: "\f58d"; } + +.fa-grip-lines:before { + content: "\f7a4"; } + +.fa-grip-lines-vertical:before { + content: "\f7a5"; } + +.fa-grip-vertical:before { + content: "\f58e"; } + +.fa-gripfire:before { + content: "\f3ac"; } + +.fa-grunt:before { + content: "\f3ad"; } + +.fa-guilded:before { + content: "\e07e"; } + +.fa-guitar:before { + content: "\f7a6"; } + +.fa-gulp:before { + content: "\f3ae"; } + +.fa-h-square:before { + content: "\f0fd"; } + +.fa-hacker-news:before { + content: "\f1d4"; } + +.fa-hacker-news-square:before { + content: "\f3af"; } + +.fa-hackerrank:before { + content: "\f5f7"; } + +.fa-hamburger:before { + content: "\f805"; } + +.fa-hammer:before { + content: "\f6e3"; } + +.fa-hamsa:before { + content: "\f665"; } + +.fa-hand-holding:before { + content: "\f4bd"; } + +.fa-hand-holding-heart:before { + content: "\f4be"; } + +.fa-hand-holding-medical:before { + content: "\e05c"; } + +.fa-hand-holding-usd:before { + content: "\f4c0"; } + +.fa-hand-holding-water:before { + content: "\f4c1"; } + +.fa-hand-lizard:before { + content: "\f258"; } + +.fa-hand-middle-finger:before { + content: "\f806"; } + +.fa-hand-paper:before { + content: "\f256"; } + +.fa-hand-peace:before { + content: "\f25b"; } + +.fa-hand-point-down:before { + content: "\f0a7"; } + +.fa-hand-point-left:before { + content: "\f0a5"; } + +.fa-hand-point-right:before { + content: "\f0a4"; } + +.fa-hand-point-up:before { + content: "\f0a6"; } + +.fa-hand-pointer:before { + content: "\f25a"; } + +.fa-hand-rock:before { + content: "\f255"; } + +.fa-hand-scissors:before { + content: "\f257"; } + +.fa-hand-sparkles:before { + content: "\e05d"; } + +.fa-hand-spock:before { + content: "\f259"; } + +.fa-hands:before { + content: "\f4c2"; } + +.fa-hands-helping:before { + content: "\f4c4"; } + +.fa-hands-wash:before { + content: "\e05e"; } + +.fa-handshake:before { + content: "\f2b5"; } + +.fa-handshake-alt-slash:before { + content: "\e05f"; } + +.fa-handshake-slash:before { + content: "\e060"; } + +.fa-hanukiah:before { + content: "\f6e6"; } + +.fa-hard-hat:before { + content: "\f807"; } + +.fa-hashtag:before { + content: "\f292"; } + +.fa-hat-cowboy:before { + content: "\f8c0"; } + +.fa-hat-cowboy-side:before { + content: "\f8c1"; } + +.fa-hat-wizard:before { + content: "\f6e8"; } + +.fa-hdd:before { + content: "\f0a0"; } + +.fa-head-side-cough:before { + content: "\e061"; } + +.fa-head-side-cough-slash:before { + content: "\e062"; } + +.fa-head-side-mask:before { + content: "\e063"; } + +.fa-head-side-virus:before { + content: "\e064"; } + +.fa-heading:before { + content: "\f1dc"; } + +.fa-headphones:before { + content: "\f025"; } + +.fa-headphones-alt:before { + content: "\f58f"; } + +.fa-headset:before { + content: "\f590"; } + +.fa-heart:before { + content: "\f004"; } + +.fa-heart-broken:before { + content: "\f7a9"; } + +.fa-heartbeat:before { + content: "\f21e"; } + +.fa-helicopter:before { + content: "\f533"; } + +.fa-highlighter:before { + content: "\f591"; } + +.fa-hiking:before { + content: "\f6ec"; } + +.fa-hippo:before { + content: "\f6ed"; } + +.fa-hips:before { + content: "\f452"; } + +.fa-hire-a-helper:before { + content: "\f3b0"; } + +.fa-history:before { + content: "\f1da"; } + +.fa-hive:before { + content: "\e07f"; } + +.fa-hockey-puck:before { + content: "\f453"; } + +.fa-holly-berry:before { + content: "\f7aa"; } + +.fa-home:before { + content: "\f015"; } + +.fa-hooli:before { + content: "\f427"; } + +.fa-hornbill:before { + content: "\f592"; } + +.fa-horse:before { + content: "\f6f0"; } + +.fa-horse-head:before { + content: "\f7ab"; } + +.fa-hospital:before { + content: "\f0f8"; } + +.fa-hospital-alt:before { + content: "\f47d"; } + +.fa-hospital-symbol:before { + content: "\f47e"; } + +.fa-hospital-user:before { + content: "\f80d"; } + +.fa-hot-tub:before { + content: "\f593"; } + +.fa-hotdog:before { + content: "\f80f"; } + +.fa-hotel:before { + content: "\f594"; } + +.fa-hotjar:before { + content: "\f3b1"; } + +.fa-hourglass:before { + content: "\f254"; } + +.fa-hourglass-end:before { + content: "\f253"; } + +.fa-hourglass-half:before { + content: "\f252"; } + +.fa-hourglass-start:before { + content: "\f251"; } + +.fa-house-damage:before { + content: "\f6f1"; } + +.fa-house-user:before { + content: "\e065"; } + +.fa-houzz:before { + content: "\f27c"; } + +.fa-hryvnia:before { + content: "\f6f2"; } + +.fa-html5:before { + content: "\f13b"; } + +.fa-hubspot:before { + content: "\f3b2"; } + +.fa-i-cursor:before { + content: "\f246"; } + +.fa-ice-cream:before { + content: "\f810"; } + +.fa-icicles:before { + content: "\f7ad"; } + +.fa-icons:before { + content: "\f86d"; } + +.fa-id-badge:before { + content: "\f2c1"; } + +.fa-id-card:before { + content: "\f2c2"; } + +.fa-id-card-alt:before { + content: "\f47f"; } + +.fa-ideal:before { + content: "\e013"; } + +.fa-igloo:before { + content: "\f7ae"; } + +.fa-image:before { + content: "\f03e"; } + +.fa-images:before { + content: "\f302"; } + +.fa-imdb:before { + content: "\f2d8"; } + +.fa-inbox:before { + content: "\f01c"; } + +.fa-indent:before { + content: "\f03c"; } + +.fa-industry:before { + content: "\f275"; } + +.fa-infinity:before { + content: "\f534"; } + +.fa-info:before { + content: "\f129"; } + +.fa-info-circle:before { + content: "\f05a"; } + +.fa-innosoft:before { + content: "\e080"; } + +.fa-instagram:before { + content: "\f16d"; } + +.fa-instagram-square:before { + content: "\e055"; } + +.fa-instalod:before { + content: "\e081"; } + +.fa-intercom:before { + content: "\f7af"; } + +.fa-internet-explorer:before { + content: "\f26b"; } + +.fa-invision:before { + content: "\f7b0"; } + +.fa-ioxhost:before { + content: "\f208"; } + +.fa-italic:before { + content: "\f033"; } + +.fa-itch-io:before { + content: "\f83a"; } + +.fa-itunes:before { + content: "\f3b4"; } + +.fa-itunes-note:before { + content: "\f3b5"; } + +.fa-java:before { + content: "\f4e4"; } + +.fa-jedi:before { + content: "\f669"; } + +.fa-jedi-order:before { + content: "\f50e"; } + +.fa-jenkins:before { + content: "\f3b6"; } + +.fa-jira:before { + content: "\f7b1"; } + +.fa-joget:before { + content: "\f3b7"; } + +.fa-joint:before { + content: "\f595"; } + +.fa-joomla:before { + content: "\f1aa"; } + +.fa-journal-whills:before { + content: "\f66a"; } + +.fa-js:before { + content: "\f3b8"; } + +.fa-js-square:before { + content: "\f3b9"; } + +.fa-jsfiddle:before { + content: "\f1cc"; } + +.fa-kaaba:before { + content: "\f66b"; } + +.fa-kaggle:before { + content: "\f5fa"; } + +.fa-key:before { + content: "\f084"; } + +.fa-keybase:before { + content: "\f4f5"; } + +.fa-keyboard:before { + content: "\f11c"; } + +.fa-keycdn:before { + content: "\f3ba"; } + +.fa-khanda:before { + content: "\f66d"; } + +.fa-kickstarter:before { + content: "\f3bb"; } + +.fa-kickstarter-k:before { + content: "\f3bc"; } + +.fa-kiss:before { + content: "\f596"; } + +.fa-kiss-beam:before { + content: "\f597"; } + +.fa-kiss-wink-heart:before { + content: "\f598"; } + +.fa-kiwi-bird:before { + content: "\f535"; } + +.fa-korvue:before { + content: "\f42f"; } + +.fa-landmark:before { + content: "\f66f"; } + +.fa-language:before { + content: "\f1ab"; } + +.fa-laptop:before { + content: "\f109"; } + +.fa-laptop-code:before { + content: "\f5fc"; } + +.fa-laptop-house:before { + content: "\e066"; } + +.fa-laptop-medical:before { + content: "\f812"; } + +.fa-laravel:before { + content: "\f3bd"; } + +.fa-lastfm:before { + content: "\f202"; } + +.fa-lastfm-square:before { + content: "\f203"; } + +.fa-laugh:before { + content: "\f599"; } + +.fa-laugh-beam:before { + content: "\f59a"; } + +.fa-laugh-squint:before { + content: "\f59b"; } + +.fa-laugh-wink:before { + content: "\f59c"; } + +.fa-layer-group:before { + content: "\f5fd"; } + +.fa-leaf:before { + content: "\f06c"; } + +.fa-leanpub:before { + content: "\f212"; } + +.fa-lemon:before { + content: "\f094"; } + +.fa-less:before { + content: "\f41d"; } + +.fa-less-than:before { + content: "\f536"; } + +.fa-less-than-equal:before { + content: "\f537"; } + +.fa-level-down-alt:before { + content: "\f3be"; } + +.fa-level-up-alt:before { + content: "\f3bf"; } + +.fa-life-ring:before { + content: "\f1cd"; } + +.fa-lightbulb:before { + content: "\f0eb"; } + +.fa-line:before { + content: "\f3c0"; } + +.fa-link:before { + content: "\f0c1"; } + +.fa-linkedin:before { + content: "\f08c"; } + +.fa-linkedin-in:before { + content: "\f0e1"; } + +.fa-linode:before { + content: "\f2b8"; } + +.fa-linux:before { + content: "\f17c"; } + +.fa-lira-sign:before { + content: "\f195"; } + +.fa-list:before { + content: "\f03a"; } + +.fa-list-alt:before { + content: "\f022"; } + +.fa-list-ol:before { + content: "\f0cb"; } + +.fa-list-ul:before { + content: "\f0ca"; } + +.fa-location-arrow:before { + content: "\f124"; } + +.fa-lock:before { + content: "\f023"; } + +.fa-lock-open:before { + content: "\f3c1"; } + +.fa-long-arrow-alt-down:before { + content: "\f309"; } + +.fa-long-arrow-alt-left:before { + content: "\f30a"; } + +.fa-long-arrow-alt-right:before { + content: "\f30b"; } + +.fa-long-arrow-alt-up:before { + content: "\f30c"; } + +.fa-low-vision:before { + content: "\f2a8"; } + +.fa-luggage-cart:before { + content: "\f59d"; } + +.fa-lungs:before { + content: "\f604"; } + +.fa-lungs-virus:before { + content: "\e067"; } + +.fa-lyft:before { + content: "\f3c3"; } + +.fa-magento:before { + content: "\f3c4"; } + +.fa-magic:before { + content: "\f0d0"; } + +.fa-magnet:before { + content: "\f076"; } + +.fa-mail-bulk:before { + content: "\f674"; } + +.fa-mailchimp:before { + content: "\f59e"; } + +.fa-male:before { + content: "\f183"; } + +.fa-mandalorian:before { + content: "\f50f"; } + +.fa-map:before { + content: "\f279"; } + +.fa-map-marked:before { + content: "\f59f"; } + +.fa-map-marked-alt:before { + content: "\f5a0"; } + +.fa-map-marker:before { + content: "\f041"; } + +.fa-map-marker-alt:before { + content: "\f3c5"; } + +.fa-map-pin:before { + content: "\f276"; } + +.fa-map-signs:before { + content: "\f277"; } + +.fa-markdown:before { + content: "\f60f"; } + +.fa-marker:before { + content: "\f5a1"; } + +.fa-mars:before { + content: "\f222"; } + +.fa-mars-double:before { + content: "\f227"; } + +.fa-mars-stroke:before { + content: "\f229"; } + +.fa-mars-stroke-h:before { + content: "\f22b"; } + +.fa-mars-stroke-v:before { + content: "\f22a"; } + +.fa-mask:before { + content: "\f6fa"; } + +.fa-mastodon:before { + content: "\f4f6"; } + +.fa-maxcdn:before { + content: "\f136"; } + +.fa-mdb:before { + content: "\f8ca"; } + +.fa-medal:before { + content: "\f5a2"; } + +.fa-medapps:before { + content: "\f3c6"; } + +.fa-medium:before { + content: "\f23a"; } + +.fa-medium-m:before { + content: "\f3c7"; } + +.fa-medkit:before { + content: "\f0fa"; } + +.fa-medrt:before { + content: "\f3c8"; } + +.fa-meetup:before { + content: "\f2e0"; } + +.fa-megaport:before { + content: "\f5a3"; } + +.fa-meh:before { + content: "\f11a"; } + +.fa-meh-blank:before { + content: "\f5a4"; } + +.fa-meh-rolling-eyes:before { + content: "\f5a5"; } + +.fa-memory:before { + content: "\f538"; } + +.fa-mendeley:before { + content: "\f7b3"; } + +.fa-menorah:before { + content: "\f676"; } + +.fa-mercury:before { + content: "\f223"; } + +.fa-meteor:before { + content: "\f753"; } + +.fa-microblog:before { + content: "\e01a"; } + +.fa-microchip:before { + content: "\f2db"; } + +.fa-microphone:before { + content: "\f130"; } + +.fa-microphone-alt:before { + content: "\f3c9"; } + +.fa-microphone-alt-slash:before { + content: "\f539"; } + +.fa-microphone-slash:before { + content: "\f131"; } + +.fa-microscope:before { + content: "\f610"; } + +.fa-microsoft:before { + content: "\f3ca"; } + +.fa-minus:before { + content: "\f068"; } + +.fa-minus-circle:before { + content: "\f056"; } + +.fa-minus-square:before { + content: "\f146"; } + +.fa-mitten:before { + content: "\f7b5"; } + +.fa-mix:before { + content: "\f3cb"; } + +.fa-mixcloud:before { + content: "\f289"; } + +.fa-mixer:before { + content: "\e056"; } + +.fa-mizuni:before { + content: "\f3cc"; } + +.fa-mobile:before { + content: "\f10b"; } + +.fa-mobile-alt:before { + content: "\f3cd"; } + +.fa-modx:before { + content: "\f285"; } + +.fa-monero:before { + content: "\f3d0"; } + +.fa-money-bill:before { + content: "\f0d6"; } + +.fa-money-bill-alt:before { + content: "\f3d1"; } + +.fa-money-bill-wave:before { + content: "\f53a"; } + +.fa-money-bill-wave-alt:before { + content: "\f53b"; } + +.fa-money-check:before { + content: "\f53c"; } + +.fa-money-check-alt:before { + content: "\f53d"; } + +.fa-monument:before { + content: "\f5a6"; } + +.fa-moon:before { + content: "\f186"; } + +.fa-mortar-pestle:before { + content: "\f5a7"; } + +.fa-mosque:before { + content: "\f678"; } + +.fa-motorcycle:before { + content: "\f21c"; } + +.fa-mountain:before { + content: "\f6fc"; } + +.fa-mouse:before { + content: "\f8cc"; } + +.fa-mouse-pointer:before { + content: "\f245"; } + +.fa-mug-hot:before { + content: "\f7b6"; } + +.fa-music:before { + content: "\f001"; } + +.fa-napster:before { + content: "\f3d2"; } + +.fa-neos:before { + content: "\f612"; } + +.fa-network-wired:before { + content: "\f6ff"; } + +.fa-neuter:before { + content: "\f22c"; } + +.fa-newspaper:before { + content: "\f1ea"; } + +.fa-nimblr:before { + content: "\f5a8"; } + +.fa-node:before { + content: "\f419"; } + +.fa-node-js:before { + content: "\f3d3"; } + +.fa-not-equal:before { + content: "\f53e"; } + +.fa-notes-medical:before { + content: "\f481"; } + +.fa-npm:before { + content: "\f3d4"; } + +.fa-ns8:before { + content: "\f3d5"; } + +.fa-nutritionix:before { + content: "\f3d6"; } + +.fa-object-group:before { + content: "\f247"; } + +.fa-object-ungroup:before { + content: "\f248"; } + +.fa-octopus-deploy:before { + content: "\e082"; } + +.fa-odnoklassniki:before { + content: "\f263"; } + +.fa-odnoklassniki-square:before { + content: "\f264"; } + +.fa-oil-can:before { + content: "\f613"; } + +.fa-old-republic:before { + content: "\f510"; } + +.fa-om:before { + content: "\f679"; } + +.fa-opencart:before { + content: "\f23d"; } + +.fa-openid:before { + content: "\f19b"; } + +.fa-opera:before { + content: "\f26a"; } + +.fa-optin-monster:before { + content: "\f23c"; } + +.fa-orcid:before { + content: "\f8d2"; } + +.fa-osi:before { + content: "\f41a"; } + +.fa-otter:before { + content: "\f700"; } + +.fa-outdent:before { + content: "\f03b"; } + +.fa-page4:before { + content: "\f3d7"; } + +.fa-pagelines:before { + content: "\f18c"; } + +.fa-pager:before { + content: "\f815"; } + +.fa-paint-brush:before { + content: "\f1fc"; } + +.fa-paint-roller:before { + content: "\f5aa"; } + +.fa-palette:before { + content: "\f53f"; } + +.fa-palfed:before { + content: "\f3d8"; } + +.fa-pallet:before { + content: "\f482"; } + +.fa-paper-plane:before { + content: "\f1d8"; } + +.fa-paperclip:before { + content: "\f0c6"; } + +.fa-parachute-box:before { + content: "\f4cd"; } + +.fa-paragraph:before { + content: "\f1dd"; } + +.fa-parking:before { + content: "\f540"; } + +.fa-passport:before { + content: "\f5ab"; } + +.fa-pastafarianism:before { + content: "\f67b"; } + +.fa-paste:before { + content: "\f0ea"; } + +.fa-patreon:before { + content: "\f3d9"; } + +.fa-pause:before { + content: "\f04c"; } + +.fa-pause-circle:before { + content: "\f28b"; } + +.fa-paw:before { + content: "\f1b0"; } + +.fa-paypal:before { + content: "\f1ed"; } + +.fa-peace:before { + content: "\f67c"; } + +.fa-pen:before { + content: "\f304"; } + +.fa-pen-alt:before { + content: "\f305"; } + +.fa-pen-fancy:before { + content: "\f5ac"; } + +.fa-pen-nib:before { + content: "\f5ad"; } + +.fa-pen-square:before { + content: "\f14b"; } + +.fa-pencil-alt:before { + content: "\f303"; } + +.fa-pencil-ruler:before { + content: "\f5ae"; } + +.fa-penny-arcade:before { + content: "\f704"; } + +.fa-people-arrows:before { + content: "\e068"; } + +.fa-people-carry:before { + content: "\f4ce"; } + +.fa-pepper-hot:before { + content: "\f816"; } + +.fa-perbyte:before { + content: "\e083"; } + +.fa-percent:before { + content: "\f295"; } + +.fa-percentage:before { + content: "\f541"; } + +.fa-periscope:before { + content: "\f3da"; } + +.fa-person-booth:before { + content: "\f756"; } + +.fa-phabricator:before { + content: "\f3db"; } + +.fa-phoenix-framework:before { + content: "\f3dc"; } + +.fa-phoenix-squadron:before { + content: "\f511"; } + +.fa-phone:before { + content: "\f095"; } + +.fa-phone-alt:before { + content: "\f879"; } + +.fa-phone-slash:before { + content: "\f3dd"; } + +.fa-phone-square:before { + content: "\f098"; } + +.fa-phone-square-alt:before { + content: "\f87b"; } + +.fa-phone-volume:before { + content: "\f2a0"; } + +.fa-photo-video:before { + content: "\f87c"; } + +.fa-php:before { + content: "\f457"; } + +.fa-pied-piper:before { + content: "\f2ae"; } + +.fa-pied-piper-alt:before { + content: "\f1a8"; } + +.fa-pied-piper-hat:before { + content: "\f4e5"; } + +.fa-pied-piper-pp:before { + content: "\f1a7"; } + +.fa-pied-piper-square:before { + content: "\e01e"; } + +.fa-piggy-bank:before { + content: "\f4d3"; } + +.fa-pills:before { + content: "\f484"; } + +.fa-pinterest:before { + content: "\f0d2"; } + +.fa-pinterest-p:before { + content: "\f231"; } + +.fa-pinterest-square:before { + content: "\f0d3"; } + +.fa-pizza-slice:before { + content: "\f818"; } + +.fa-place-of-worship:before { + content: "\f67f"; } + +.fa-plane:before { + content: "\f072"; } + +.fa-plane-arrival:before { + content: "\f5af"; } + +.fa-plane-departure:before { + content: "\f5b0"; } + +.fa-plane-slash:before { + content: "\e069"; } + +.fa-play:before { + content: "\f04b"; } + +.fa-play-circle:before { + content: "\f144"; } + +.fa-playstation:before { + content: "\f3df"; } + +.fa-plug:before { + content: "\f1e6"; } + +.fa-plus:before { + content: "\f067"; } + +.fa-plus-circle:before { + content: "\f055"; } + +.fa-plus-square:before { + content: "\f0fe"; } + +.fa-podcast:before { + content: "\f2ce"; } + +.fa-poll:before { + content: "\f681"; } + +.fa-poll-h:before { + content: "\f682"; } + +.fa-poo:before { + content: "\f2fe"; } + +.fa-poo-storm:before { + content: "\f75a"; } + +.fa-poop:before { + content: "\f619"; } + +.fa-portrait:before { + content: "\f3e0"; } + +.fa-pound-sign:before { + content: "\f154"; } + +.fa-power-off:before { + content: "\f011"; } + +.fa-pray:before { + content: "\f683"; } + +.fa-praying-hands:before { + content: "\f684"; } + +.fa-prescription:before { + content: "\f5b1"; } + +.fa-prescription-bottle:before { + content: "\f485"; } + +.fa-prescription-bottle-alt:before { + content: "\f486"; } + +.fa-print:before { + content: "\f02f"; } + +.fa-procedures:before { + content: "\f487"; } + +.fa-product-hunt:before { + content: "\f288"; } + +.fa-project-diagram:before { + content: "\f542"; } + +.fa-pump-medical:before { + content: "\e06a"; } + +.fa-pump-soap:before { + content: "\e06b"; } + +.fa-pushed:before { + content: "\f3e1"; } + +.fa-puzzle-piece:before { + content: "\f12e"; } + +.fa-python:before { + content: "\f3e2"; } + +.fa-qq:before { + content: "\f1d6"; } + +.fa-qrcode:before { + content: "\f029"; } + +.fa-question:before { + content: "\f128"; } + +.fa-question-circle:before { + content: "\f059"; } + +.fa-quidditch:before { + content: "\f458"; } + +.fa-quinscape:before { + content: "\f459"; } + +.fa-quora:before { + content: "\f2c4"; } + +.fa-quote-left:before { + content: "\f10d"; } + +.fa-quote-right:before { + content: "\f10e"; } + +.fa-quran:before { + content: "\f687"; } + +.fa-r-project:before { + content: "\f4f7"; } + +.fa-radiation:before { + content: "\f7b9"; } + +.fa-radiation-alt:before { + content: "\f7ba"; } + +.fa-rainbow:before { + content: "\f75b"; } + +.fa-random:before { + content: "\f074"; } + +.fa-raspberry-pi:before { + content: "\f7bb"; } + +.fa-ravelry:before { + content: "\f2d9"; } + +.fa-react:before { + content: "\f41b"; } + +.fa-reacteurope:before { + content: "\f75d"; } + +.fa-readme:before { + content: "\f4d5"; } + +.fa-rebel:before { + content: "\f1d0"; } + +.fa-receipt:before { + content: "\f543"; } + +.fa-record-vinyl:before { + content: "\f8d9"; } + +.fa-recycle:before { + content: "\f1b8"; } + +.fa-red-river:before { + content: "\f3e3"; } + +.fa-reddit:before { + content: "\f1a1"; } + +.fa-reddit-alien:before { + content: "\f281"; } + +.fa-reddit-square:before { + content: "\f1a2"; } + +.fa-redhat:before { + content: "\f7bc"; } + +.fa-redo:before { + content: "\f01e"; } + +.fa-redo-alt:before { + content: "\f2f9"; } + +.fa-registered:before { + content: "\f25d"; } + +.fa-remove-format:before { + content: "\f87d"; } + +.fa-renren:before { + content: "\f18b"; } + +.fa-reply:before { + content: "\f3e5"; } + +.fa-reply-all:before { + content: "\f122"; } + +.fa-replyd:before { + content: "\f3e6"; } + +.fa-republican:before { + content: "\f75e"; } + +.fa-researchgate:before { + content: "\f4f8"; } + +.fa-resolving:before { + content: "\f3e7"; } + +.fa-restroom:before { + content: "\f7bd"; } + +.fa-retweet:before { + content: "\f079"; } + +.fa-rev:before { + content: "\f5b2"; } + +.fa-ribbon:before { + content: "\f4d6"; } + +.fa-ring:before { + content: "\f70b"; } + +.fa-road:before { + content: "\f018"; } + +.fa-robot:before { + content: "\f544"; } + +.fa-rocket:before { + content: "\f135"; } + +.fa-rocketchat:before { + content: "\f3e8"; } + +.fa-rockrms:before { + content: "\f3e9"; } + +.fa-route:before { + content: "\f4d7"; } + +.fa-rss:before { + content: "\f09e"; } + +.fa-rss-square:before { + content: "\f143"; } + +.fa-ruble-sign:before { + content: "\f158"; } + +.fa-ruler:before { + content: "\f545"; } + +.fa-ruler-combined:before { + content: "\f546"; } + +.fa-ruler-horizontal:before { + content: "\f547"; } + +.fa-ruler-vertical:before { + content: "\f548"; } + +.fa-running:before { + content: "\f70c"; } + +.fa-rupee-sign:before { + content: "\f156"; } + +.fa-rust:before { + content: "\e07a"; } + +.fa-sad-cry:before { + content: "\f5b3"; } + +.fa-sad-tear:before { + content: "\f5b4"; } + +.fa-safari:before { + content: "\f267"; } + +.fa-salesforce:before { + content: "\f83b"; } + +.fa-sass:before { + content: "\f41e"; } + +.fa-satellite:before { + content: "\f7bf"; } + +.fa-satellite-dish:before { + content: "\f7c0"; } + +.fa-save:before { + content: "\f0c7"; } + +.fa-schlix:before { + content: "\f3ea"; } + +.fa-school:before { + content: "\f549"; } + +.fa-screwdriver:before { + content: "\f54a"; } + +.fa-scribd:before { + content: "\f28a"; } + +.fa-scroll:before { + content: "\f70e"; } + +.fa-sd-card:before { + content: "\f7c2"; } + +.fa-search:before { + content: "\f002"; } + +.fa-search-dollar:before { + content: "\f688"; } + +.fa-search-location:before { + content: "\f689"; } + +.fa-search-minus:before { + content: "\f010"; } + +.fa-search-plus:before { + content: "\f00e"; } + +.fa-searchengin:before { + content: "\f3eb"; } + +.fa-seedling:before { + content: "\f4d8"; } + +.fa-sellcast:before { + content: "\f2da"; } + +.fa-sellsy:before { + content: "\f213"; } + +.fa-server:before { + content: "\f233"; } + +.fa-servicestack:before { + content: "\f3ec"; } + +.fa-shapes:before { + content: "\f61f"; } + +.fa-share:before { + content: "\f064"; } + +.fa-share-alt:before { + content: "\f1e0"; } + +.fa-share-alt-square:before { + content: "\f1e1"; } + +.fa-share-square:before { + content: "\f14d"; } + +.fa-shekel-sign:before { + content: "\f20b"; } + +.fa-shield-alt:before { + content: "\f3ed"; } + +.fa-shield-virus:before { + content: "\e06c"; } + +.fa-ship:before { + content: "\f21a"; } + +.fa-shipping-fast:before { + content: "\f48b"; } + +.fa-shirtsinbulk:before { + content: "\f214"; } + +.fa-shoe-prints:before { + content: "\f54b"; } + +.fa-shopify:before { + content: "\e057"; } + +.fa-shopping-bag:before { + content: "\f290"; } + +.fa-shopping-basket:before { + content: "\f291"; } + +.fa-shopping-cart:before { + content: "\f07a"; } + +.fa-shopware:before { + content: "\f5b5"; } + +.fa-shower:before { + content: "\f2cc"; } + +.fa-shuttle-van:before { + content: "\f5b6"; } + +.fa-sign:before { + content: "\f4d9"; } + +.fa-sign-in-alt:before { + content: "\f2f6"; } + +.fa-sign-language:before { + content: "\f2a7"; } + +.fa-sign-out-alt:before { + content: "\f2f5"; } + +.fa-signal:before { + content: "\f012"; } + +.fa-signature:before { + content: "\f5b7"; } + +.fa-sim-card:before { + content: "\f7c4"; } + +.fa-simplybuilt:before { + content: "\f215"; } + +.fa-sink:before { + content: "\e06d"; } + +.fa-sistrix:before { + content: "\f3ee"; } + +.fa-sitemap:before { + content: "\f0e8"; } + +.fa-sith:before { + content: "\f512"; } + +.fa-skating:before { + content: "\f7c5"; } + +.fa-sketch:before { + content: "\f7c6"; } + +.fa-skiing:before { + content: "\f7c9"; } + +.fa-skiing-nordic:before { + content: "\f7ca"; } + +.fa-skull:before { + content: "\f54c"; } + +.fa-skull-crossbones:before { + content: "\f714"; } + +.fa-skyatlas:before { + content: "\f216"; } + +.fa-skype:before { + content: "\f17e"; } + +.fa-slack:before { + content: "\f198"; } + +.fa-slack-hash:before { + content: "\f3ef"; } + +.fa-slash:before { + content: "\f715"; } + +.fa-sleigh:before { + content: "\f7cc"; } + +.fa-sliders-h:before { + content: "\f1de"; } + +.fa-slideshare:before { + content: "\f1e7"; } + +.fa-smile:before { + content: "\f118"; } + +.fa-smile-beam:before { + content: "\f5b8"; } + +.fa-smile-wink:before { + content: "\f4da"; } + +.fa-smog:before { + content: "\f75f"; } + +.fa-smoking:before { + content: "\f48d"; } + +.fa-smoking-ban:before { + content: "\f54d"; } + +.fa-sms:before { + content: "\f7cd"; } + +.fa-snapchat:before { + content: "\f2ab"; } + +.fa-snapchat-ghost:before { + content: "\f2ac"; } + +.fa-snapchat-square:before { + content: "\f2ad"; } + +.fa-snowboarding:before { + content: "\f7ce"; } + +.fa-snowflake:before { + content: "\f2dc"; } + +.fa-snowman:before { + content: "\f7d0"; } + +.fa-snowplow:before { + content: "\f7d2"; } + +.fa-soap:before { + content: "\e06e"; } + +.fa-socks:before { + content: "\f696"; } + +.fa-solar-panel:before { + content: "\f5ba"; } + +.fa-sort:before { + content: "\f0dc"; } + +.fa-sort-alpha-down:before { + content: "\f15d"; } + +.fa-sort-alpha-down-alt:before { + content: "\f881"; } + +.fa-sort-alpha-up:before { + content: "\f15e"; } + +.fa-sort-alpha-up-alt:before { + content: "\f882"; } + +.fa-sort-amount-down:before { + content: "\f160"; } + +.fa-sort-amount-down-alt:before { + content: "\f884"; } + +.fa-sort-amount-up:before { + content: "\f161"; } + +.fa-sort-amount-up-alt:before { + content: "\f885"; } + +.fa-sort-down:before { + content: "\f0dd"; } + +.fa-sort-numeric-down:before { + content: "\f162"; } + +.fa-sort-numeric-down-alt:before { + content: "\f886"; } + +.fa-sort-numeric-up:before { + content: "\f163"; } + +.fa-sort-numeric-up-alt:before { + content: "\f887"; } + +.fa-sort-up:before { + content: "\f0de"; } + +.fa-soundcloud:before { + content: "\f1be"; } + +.fa-sourcetree:before { + content: "\f7d3"; } + +.fa-spa:before { + content: "\f5bb"; } + +.fa-space-shuttle:before { + content: "\f197"; } + +.fa-speakap:before { + content: "\f3f3"; } + +.fa-speaker-deck:before { + content: "\f83c"; } + +.fa-spell-check:before { + content: "\f891"; } + +.fa-spider:before { + content: "\f717"; } + +.fa-spinner:before { + content: "\f110"; } + +.fa-splotch:before { + content: "\f5bc"; } + +.fa-spotify:before { + content: "\f1bc"; } + +.fa-spray-can:before { + content: "\f5bd"; } + +.fa-square:before { + content: "\f0c8"; } + +.fa-square-full:before { + content: "\f45c"; } + +.fa-square-root-alt:before { + content: "\f698"; } + +.fa-squarespace:before { + content: "\f5be"; } + +.fa-stack-exchange:before { + content: "\f18d"; } + +.fa-stack-overflow:before { + content: "\f16c"; } + +.fa-stackpath:before { + content: "\f842"; } + +.fa-stamp:before { + content: "\f5bf"; } + +.fa-star:before { + content: "\f005"; } + +.fa-star-and-crescent:before { + content: "\f699"; } + +.fa-star-half:before { + content: "\f089"; } + +.fa-star-half-alt:before { + content: "\f5c0"; } + +.fa-star-of-david:before { + content: "\f69a"; } + +.fa-star-of-life:before { + content: "\f621"; } + +.fa-staylinked:before { + content: "\f3f5"; } + +.fa-steam:before { + content: "\f1b6"; } + +.fa-steam-square:before { + content: "\f1b7"; } + +.fa-steam-symbol:before { + content: "\f3f6"; } + +.fa-step-backward:before { + content: "\f048"; } + +.fa-step-forward:before { + content: "\f051"; } + +.fa-stethoscope:before { + content: "\f0f1"; } + +.fa-sticker-mule:before { + content: "\f3f7"; } + +.fa-sticky-note:before { + content: "\f249"; } + +.fa-stop:before { + content: "\f04d"; } + +.fa-stop-circle:before { + content: "\f28d"; } + +.fa-stopwatch:before { + content: "\f2f2"; } + +.fa-stopwatch-20:before { + content: "\e06f"; } + +.fa-store:before { + content: "\f54e"; } + +.fa-store-alt:before { + content: "\f54f"; } + +.fa-store-alt-slash:before { + content: "\e070"; } + +.fa-store-slash:before { + content: "\e071"; } + +.fa-strava:before { + content: "\f428"; } + +.fa-stream:before { + content: "\f550"; } + +.fa-street-view:before { + content: "\f21d"; } + +.fa-strikethrough:before { + content: "\f0cc"; } + +.fa-stripe:before { + content: "\f429"; } + +.fa-stripe-s:before { + content: "\f42a"; } + +.fa-stroopwafel:before { + content: "\f551"; } + +.fa-studiovinari:before { + content: "\f3f8"; } + +.fa-stumbleupon:before { + content: "\f1a4"; } + +.fa-stumbleupon-circle:before { + content: "\f1a3"; } + +.fa-subscript:before { + content: "\f12c"; } + +.fa-subway:before { + content: "\f239"; } + +.fa-suitcase:before { + content: "\f0f2"; } + +.fa-suitcase-rolling:before { + content: "\f5c1"; } + +.fa-sun:before { + content: "\f185"; } + +.fa-superpowers:before { + content: "\f2dd"; } + +.fa-superscript:before { + content: "\f12b"; } + +.fa-supple:before { + content: "\f3f9"; } + +.fa-surprise:before { + content: "\f5c2"; } + +.fa-suse:before { + content: "\f7d6"; } + +.fa-swatchbook:before { + content: "\f5c3"; } + +.fa-swift:before { + content: "\f8e1"; } + +.fa-swimmer:before { + content: "\f5c4"; } + +.fa-swimming-pool:before { + content: "\f5c5"; } + +.fa-symfony:before { + content: "\f83d"; } + +.fa-synagogue:before { + content: "\f69b"; } + +.fa-sync:before { + content: "\f021"; } + +.fa-sync-alt:before { + content: "\f2f1"; } + +.fa-syringe:before { + content: "\f48e"; } + +.fa-table:before { + content: "\f0ce"; } + +.fa-table-tennis:before { + content: "\f45d"; } + +.fa-tablet:before { + content: "\f10a"; } + +.fa-tablet-alt:before { + content: "\f3fa"; } + +.fa-tablets:before { + content: "\f490"; } + +.fa-tachometer-alt:before { + content: "\f3fd"; } + +.fa-tag:before { + content: "\f02b"; } + +.fa-tags:before { + content: "\f02c"; } + +.fa-tape:before { + content: "\f4db"; } + +.fa-tasks:before { + content: "\f0ae"; } + +.fa-taxi:before { + content: "\f1ba"; } + +.fa-teamspeak:before { + content: "\f4f9"; } + +.fa-teeth:before { + content: "\f62e"; } + +.fa-teeth-open:before { + content: "\f62f"; } + +.fa-telegram:before { + content: "\f2c6"; } + +.fa-telegram-plane:before { + content: "\f3fe"; } + +.fa-temperature-high:before { + content: "\f769"; } + +.fa-temperature-low:before { + content: "\f76b"; } + +.fa-tencent-weibo:before { + content: "\f1d5"; } + +.fa-tenge:before { + content: "\f7d7"; } + +.fa-terminal:before { + content: "\f120"; } + +.fa-text-height:before { + content: "\f034"; } + +.fa-text-width:before { + content: "\f035"; } + +.fa-th:before { + content: "\f00a"; } + +.fa-th-large:before { + content: "\f009"; } + +.fa-th-list:before { + content: "\f00b"; } + +.fa-the-red-yeti:before { + content: "\f69d"; } + +.fa-theater-masks:before { + content: "\f630"; } + +.fa-themeco:before { + content: "\f5c6"; } + +.fa-themeisle:before { + content: "\f2b2"; } + +.fa-thermometer:before { + content: "\f491"; } + +.fa-thermometer-empty:before { + content: "\f2cb"; } + +.fa-thermometer-full:before { + content: "\f2c7"; } + +.fa-thermometer-half:before { + content: "\f2c9"; } + +.fa-thermometer-quarter:before { + content: "\f2ca"; } + +.fa-thermometer-three-quarters:before { + content: "\f2c8"; } + +.fa-think-peaks:before { + content: "\f731"; } + +.fa-thumbs-down:before { + content: "\f165"; } + +.fa-thumbs-up:before { + content: "\f164"; } + +.fa-thumbtack:before { + content: "\f08d"; } + +.fa-ticket-alt:before { + content: "\f3ff"; } + +.fa-tiktok:before { + content: "\e07b"; } + +.fa-times:before { + content: "\f00d"; } + +.fa-times-circle:before { + content: "\f057"; } + +.fa-tint:before { + content: "\f043"; } + +.fa-tint-slash:before { + content: "\f5c7"; } + +.fa-tired:before { + content: "\f5c8"; } + +.fa-toggle-off:before { + content: "\f204"; } + +.fa-toggle-on:before { + content: "\f205"; } + +.fa-toilet:before { + content: "\f7d8"; } + +.fa-toilet-paper:before { + content: "\f71e"; } + +.fa-toilet-paper-slash:before { + content: "\e072"; } + +.fa-toolbox:before { + content: "\f552"; } + +.fa-tools:before { + content: "\f7d9"; } + +.fa-tooth:before { + content: "\f5c9"; } + +.fa-torah:before { + content: "\f6a0"; } + +.fa-torii-gate:before { + content: "\f6a1"; } + +.fa-tractor:before { + content: "\f722"; } + +.fa-trade-federation:before { + content: "\f513"; } + +.fa-trademark:before { + content: "\f25c"; } + +.fa-traffic-light:before { + content: "\f637"; } + +.fa-trailer:before { + content: "\e041"; } + +.fa-train:before { + content: "\f238"; } + +.fa-tram:before { + content: "\f7da"; } + +.fa-transgender:before { + content: "\f224"; } + +.fa-transgender-alt:before { + content: "\f225"; } + +.fa-trash:before { + content: "\f1f8"; } + +.fa-trash-alt:before { + content: "\f2ed"; } + +.fa-trash-restore:before { + content: "\f829"; } + +.fa-trash-restore-alt:before { + content: "\f82a"; } + +.fa-tree:before { + content: "\f1bb"; } + +.fa-trello:before { + content: "\f181"; } + +.fa-tripadvisor:before { + content: "\f262"; } + +.fa-trophy:before { + content: "\f091"; } + +.fa-truck:before { + content: "\f0d1"; } + +.fa-truck-loading:before { + content: "\f4de"; } + +.fa-truck-monster:before { + content: "\f63b"; } + +.fa-truck-moving:before { + content: "\f4df"; } + +.fa-truck-pickup:before { + content: "\f63c"; } + +.fa-tshirt:before { + content: "\f553"; } + +.fa-tty:before { + content: "\f1e4"; } + +.fa-tumblr:before { + content: "\f173"; } + +.fa-tumblr-square:before { + content: "\f174"; } + +.fa-tv:before { + content: "\f26c"; } + +.fa-twitch:before { + content: "\f1e8"; } + +.fa-twitter:before { + content: "\f099"; } + +.fa-twitter-square:before { + content: "\f081"; } + +.fa-typo3:before { + content: "\f42b"; } + +.fa-uber:before { + content: "\f402"; } + +.fa-ubuntu:before { + content: "\f7df"; } + +.fa-uikit:before { + content: "\f403"; } + +.fa-umbraco:before { + content: "\f8e8"; } + +.fa-umbrella:before { + content: "\f0e9"; } + +.fa-umbrella-beach:before { + content: "\f5ca"; } + +.fa-uncharted:before { + content: "\e084"; } + +.fa-underline:before { + content: "\f0cd"; } + +.fa-undo:before { + content: "\f0e2"; } + +.fa-undo-alt:before { + content: "\f2ea"; } + +.fa-uniregistry:before { + content: "\f404"; } + +.fa-unity:before { + content: "\e049"; } + +.fa-universal-access:before { + content: "\f29a"; } + +.fa-university:before { + content: "\f19c"; } + +.fa-unlink:before { + content: "\f127"; } + +.fa-unlock:before { + content: "\f09c"; } + +.fa-unlock-alt:before { + content: "\f13e"; } + +.fa-unsplash:before { + content: "\e07c"; } + +.fa-untappd:before { + content: "\f405"; } + +.fa-upload:before { + content: "\f093"; } + +.fa-ups:before { + content: "\f7e0"; } + +.fa-usb:before { + content: "\f287"; } + +.fa-user:before { + content: "\f007"; } + +.fa-user-alt:before { + content: "\f406"; } + +.fa-user-alt-slash:before { + content: "\f4fa"; } + +.fa-user-astronaut:before { + content: "\f4fb"; } + +.fa-user-check:before { + content: "\f4fc"; } + +.fa-user-circle:before { + content: "\f2bd"; } + +.fa-user-clock:before { + content: "\f4fd"; } + +.fa-user-cog:before { + content: "\f4fe"; } + +.fa-user-edit:before { + content: "\f4ff"; } + +.fa-user-friends:before { + content: "\f500"; } + +.fa-user-graduate:before { + content: "\f501"; } + +.fa-user-injured:before { + content: "\f728"; } + +.fa-user-lock:before { + content: "\f502"; } + +.fa-user-md:before { + content: "\f0f0"; } + +.fa-user-minus:before { + content: "\f503"; } + +.fa-user-ninja:before { + content: "\f504"; } + +.fa-user-nurse:before { + content: "\f82f"; } + +.fa-user-plus:before { + content: "\f234"; } + +.fa-user-secret:before { + content: "\f21b"; } + +.fa-user-shield:before { + content: "\f505"; } + +.fa-user-slash:before { + content: "\f506"; } + +.fa-user-tag:before { + content: "\f507"; } + +.fa-user-tie:before { + content: "\f508"; } + +.fa-user-times:before { + content: "\f235"; } + +.fa-users:before { + content: "\f0c0"; } + +.fa-users-cog:before { + content: "\f509"; } + +.fa-users-slash:before { + content: "\e073"; } + +.fa-usps:before { + content: "\f7e1"; } + +.fa-ussunnah:before { + content: "\f407"; } + +.fa-utensil-spoon:before { + content: "\f2e5"; } + +.fa-utensils:before { + content: "\f2e7"; } + +.fa-vaadin:before { + content: "\f408"; } + +.fa-vector-square:before { + content: "\f5cb"; } + +.fa-venus:before { + content: "\f221"; } + +.fa-venus-double:before { + content: "\f226"; } + +.fa-venus-mars:before { + content: "\f228"; } + +.fa-vest:before { + content: "\e085"; } + +.fa-vest-patches:before { + content: "\e086"; } + +.fa-viacoin:before { + content: "\f237"; } + +.fa-viadeo:before { + content: "\f2a9"; } + +.fa-viadeo-square:before { + content: "\f2aa"; } + +.fa-vial:before { + content: "\f492"; } + +.fa-vials:before { + content: "\f493"; } + +.fa-viber:before { + content: "\f409"; } + +.fa-video:before { + content: "\f03d"; } + +.fa-video-slash:before { + content: "\f4e2"; } + +.fa-vihara:before { + content: "\f6a7"; } + +.fa-vimeo:before { + content: "\f40a"; } + +.fa-vimeo-square:before { + content: "\f194"; } + +.fa-vimeo-v:before { + content: "\f27d"; } + +.fa-vine:before { + content: "\f1ca"; } + +.fa-virus:before { + content: "\e074"; } + +.fa-virus-slash:before { + content: "\e075"; } + +.fa-viruses:before { + content: "\e076"; } + +.fa-vk:before { + content: "\f189"; } + +.fa-vnv:before { + content: "\f40b"; } + +.fa-voicemail:before { + content: "\f897"; } + +.fa-volleyball-ball:before { + content: "\f45f"; } + +.fa-volume-down:before { + content: "\f027"; } + +.fa-volume-mute:before { + content: "\f6a9"; } + +.fa-volume-off:before { + content: "\f026"; } + +.fa-volume-up:before { + content: "\f028"; } + +.fa-vote-yea:before { + content: "\f772"; } + +.fa-vr-cardboard:before { + content: "\f729"; } + +.fa-vuejs:before { + content: "\f41f"; } + +.fa-walking:before { + content: "\f554"; } + +.fa-wallet:before { + content: "\f555"; } + +.fa-warehouse:before { + content: "\f494"; } + +.fa-watchman-monitoring:before { + content: "\e087"; } + +.fa-water:before { + content: "\f773"; } + +.fa-wave-square:before { + content: "\f83e"; } + +.fa-waze:before { + content: "\f83f"; } + +.fa-weebly:before { + content: "\f5cc"; } + +.fa-weibo:before { + content: "\f18a"; } + +.fa-weight:before { + content: "\f496"; } + +.fa-weight-hanging:before { + content: "\f5cd"; } + +.fa-weixin:before { + content: "\f1d7"; } + +.fa-whatsapp:before { + content: "\f232"; } + +.fa-whatsapp-square:before { + content: "\f40c"; } + +.fa-wheelchair:before { + content: "\f193"; } + +.fa-whmcs:before { + content: "\f40d"; } + +.fa-wifi:before { + content: "\f1eb"; } + +.fa-wikipedia-w:before { + content: "\f266"; } + +.fa-wind:before { + content: "\f72e"; } + +.fa-window-close:before { + content: "\f410"; } + +.fa-window-maximize:before { + content: "\f2d0"; } + +.fa-window-minimize:before { + content: "\f2d1"; } + +.fa-window-restore:before { + content: "\f2d2"; } + +.fa-windows:before { + content: "\f17a"; } + +.fa-wine-bottle:before { + content: "\f72f"; } + +.fa-wine-glass:before { + content: "\f4e3"; } + +.fa-wine-glass-alt:before { + content: "\f5ce"; } + +.fa-wix:before { + content: "\f5cf"; } + +.fa-wizards-of-the-coast:before { + content: "\f730"; } + +.fa-wodu:before { + content: "\e088"; } + +.fa-wolf-pack-battalion:before { + content: "\f514"; } + +.fa-won-sign:before { + content: "\f159"; } + +.fa-wordpress:before { + content: "\f19a"; } + +.fa-wordpress-simple:before { + content: "\f411"; } + +.fa-wpbeginner:before { + content: "\f297"; } + +.fa-wpexplorer:before { + content: "\f2de"; } + +.fa-wpforms:before { + content: "\f298"; } + +.fa-wpressr:before { + content: "\f3e4"; } + +.fa-wrench:before { + content: "\f0ad"; } + +.fa-x-ray:before { + content: "\f497"; } + +.fa-xbox:before { + content: "\f412"; } + +.fa-xing:before { + content: "\f168"; } + +.fa-xing-square:before { + content: "\f169"; } + +.fa-y-combinator:before { + content: "\f23b"; } + +.fa-yahoo:before { + content: "\f19e"; } + +.fa-yammer:before { + content: "\f840"; } + +.fa-yandex:before { + content: "\f413"; } + +.fa-yandex-international:before { + content: "\f414"; } + +.fa-yarn:before { + content: "\f7e3"; } + +.fa-yelp:before { + content: "\f1e9"; } + +.fa-yen-sign:before { + content: "\f157"; } + +.fa-yin-yang:before { + content: "\f6ad"; } + +.fa-yoast:before { + content: "\f2b1"; } + +.fa-youtube:before { + content: "\f167"; } + +.fa-youtube-square:before { + content: "\f431"; } + +.fa-zhihu:before { + content: "\f63f"; } + +.sr-only { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; } + +.sr-only-focusable:active, .sr-only-focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; } + +/*! + * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face { + font-family: 'Font Awesome 5 Brands'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-brands-400.eot"); + src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); } + +.fab { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +/*! + * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-regular-400.eot"); + src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); } + +.far { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +/*! + * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 900; + font-display: block; + src: url("../webfonts/fa-solid-900.eot"); + src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); } + +.fa, +.fas { + font-family: 'Font Awesome 5 Free'; + font-weight: 900; } + +/*! + * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa.fa-glass:before { + content: "\f000"; } + +.fa.fa-meetup { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-star-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-star-o:before { + content: "\f005"; } + +.fa.fa-remove:before { + content: "\f00d"; } + +.fa.fa-close:before { + content: "\f00d"; } + +.fa.fa-gear:before { + content: "\f013"; } + +.fa.fa-trash-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-trash-o:before { + content: "\f2ed"; } + +.fa.fa-file-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-o:before { + content: "\f15b"; } + +.fa.fa-clock-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-clock-o:before { + content: "\f017"; } + +.fa.fa-arrow-circle-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-down:before { + content: "\f358"; } + +.fa.fa-arrow-circle-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-up:before { + content: "\f35b"; } + +.fa.fa-play-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-play-circle-o:before { + content: "\f144"; } + +.fa.fa-repeat:before { + content: "\f01e"; } + +.fa.fa-rotate-right:before { + content: "\f01e"; } + +.fa.fa-refresh:before { + content: "\f021"; } + +.fa.fa-list-alt { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-dedent:before { + content: "\f03b"; } + +.fa.fa-video-camera:before { + content: "\f03d"; } + +.fa.fa-picture-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-picture-o:before { + content: "\f03e"; } + +.fa.fa-photo { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-photo:before { + content: "\f03e"; } + +.fa.fa-image { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-image:before { + content: "\f03e"; } + +.fa.fa-pencil:before { + content: "\f303"; } + +.fa.fa-map-marker:before { + content: "\f3c5"; } + +.fa.fa-pencil-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-pencil-square-o:before { + content: "\f044"; } + +.fa.fa-share-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-share-square-o:before { + content: "\f14d"; } + +.fa.fa-check-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-check-square-o:before { + content: "\f14a"; } + +.fa.fa-arrows:before { + content: "\f0b2"; } + +.fa.fa-times-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-times-circle-o:before { + content: "\f057"; } + +.fa.fa-check-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-check-circle-o:before { + content: "\f058"; } + +.fa.fa-mail-forward:before { + content: "\f064"; } + +.fa.fa-expand:before { + content: "\f424"; } + +.fa.fa-compress:before { + content: "\f422"; } + +.fa.fa-eye { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-eye-slash { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-warning:before { + content: "\f071"; } + +.fa.fa-calendar:before { + content: "\f073"; } + +.fa.fa-arrows-v:before { + content: "\f338"; } + +.fa.fa-arrows-h:before { + content: "\f337"; } + +.fa.fa-bar-chart { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bar-chart:before { + content: "\f080"; } + +.fa.fa-bar-chart-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bar-chart-o:before { + content: "\f080"; } + +.fa.fa-twitter-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gears:before { + content: "\f085"; } + +.fa.fa-thumbs-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-thumbs-o-up:before { + content: "\f164"; } + +.fa.fa-thumbs-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-thumbs-o-down:before { + content: "\f165"; } + +.fa.fa-heart-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-heart-o:before { + content: "\f004"; } + +.fa.fa-sign-out:before { + content: "\f2f5"; } + +.fa.fa-linkedin-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-linkedin-square:before { + content: "\f08c"; } + +.fa.fa-thumb-tack:before { + content: "\f08d"; } + +.fa.fa-external-link:before { + content: "\f35d"; } + +.fa.fa-sign-in:before { + content: "\f2f6"; } + +.fa.fa-github-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-lemon-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-lemon-o:before { + content: "\f094"; } + +.fa.fa-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-square-o:before { + content: "\f0c8"; } + +.fa.fa-bookmark-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bookmark-o:before { + content: "\f02e"; } + +.fa.fa-twitter { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook:before { + content: "\f39e"; } + +.fa.fa-facebook-f { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook-f:before { + content: "\f39e"; } + +.fa.fa-github { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-credit-card { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-feed:before { + content: "\f09e"; } + +.fa.fa-hdd-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hdd-o:before { + content: "\f0a0"; } + +.fa.fa-hand-o-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-o-right:before { + content: "\f0a4"; } + +.fa.fa-hand-o-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-o-left:before { + content: "\f0a5"; } + +.fa.fa-hand-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-o-up:before { + content: "\f0a6"; } + +.fa.fa-hand-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-o-down:before { + content: "\f0a7"; } + +.fa.fa-arrows-alt:before { + content: "\f31e"; } + +.fa.fa-group:before { + content: "\f0c0"; } + +.fa.fa-chain:before { + content: "\f0c1"; } + +.fa.fa-scissors:before { + content: "\f0c4"; } + +.fa.fa-files-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-files-o:before { + content: "\f0c5"; } + +.fa.fa-floppy-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-floppy-o:before { + content: "\f0c7"; } + +.fa.fa-navicon:before { + content: "\f0c9"; } + +.fa.fa-reorder:before { + content: "\f0c9"; } + +.fa.fa-pinterest { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pinterest-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus:before { + content: "\f0d5"; } + +.fa.fa-money { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-money:before { + content: "\f3d1"; } + +.fa.fa-unsorted:before { + content: "\f0dc"; } + +.fa.fa-sort-desc:before { + content: "\f0dd"; } + +.fa.fa-sort-asc:before { + content: "\f0de"; } + +.fa.fa-linkedin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-linkedin:before { + content: "\f0e1"; } + +.fa.fa-rotate-left:before { + content: "\f0e2"; } + +.fa.fa-legal:before { + content: "\f0e3"; } + +.fa.fa-tachometer:before { + content: "\f3fd"; } + +.fa.fa-dashboard:before { + content: "\f3fd"; } + +.fa.fa-comment-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-comment-o:before { + content: "\f075"; } + +.fa.fa-comments-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-comments-o:before { + content: "\f086"; } + +.fa.fa-flash:before { + content: "\f0e7"; } + +.fa.fa-clipboard { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-paste { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-paste:before { + content: "\f328"; } + +.fa.fa-lightbulb-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-lightbulb-o:before { + content: "\f0eb"; } + +.fa.fa-exchange:before { + content: "\f362"; } + +.fa.fa-cloud-download:before { + content: "\f381"; } + +.fa.fa-cloud-upload:before { + content: "\f382"; } + +.fa.fa-bell-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bell-o:before { + content: "\f0f3"; } + +.fa.fa-cutlery:before { + content: "\f2e7"; } + +.fa.fa-file-text-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-text-o:before { + content: "\f15c"; } + +.fa.fa-building-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-building-o:before { + content: "\f1ad"; } + +.fa.fa-hospital-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hospital-o:before { + content: "\f0f8"; } + +.fa.fa-tablet:before { + content: "\f3fa"; } + +.fa.fa-mobile:before { + content: "\f3cd"; } + +.fa.fa-mobile-phone:before { + content: "\f3cd"; } + +.fa.fa-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-circle-o:before { + content: "\f111"; } + +.fa.fa-mail-reply:before { + content: "\f3e5"; } + +.fa.fa-github-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-folder-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-folder-o:before { + content: "\f07b"; } + +.fa.fa-folder-open-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-folder-open-o:before { + content: "\f07c"; } + +.fa.fa-smile-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-smile-o:before { + content: "\f118"; } + +.fa.fa-frown-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-frown-o:before { + content: "\f119"; } + +.fa.fa-meh-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-meh-o:before { + content: "\f11a"; } + +.fa.fa-keyboard-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-keyboard-o:before { + content: "\f11c"; } + +.fa.fa-flag-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-flag-o:before { + content: "\f024"; } + +.fa.fa-mail-reply-all:before { + content: "\f122"; } + +.fa.fa-star-half-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-star-half-o:before { + content: "\f089"; } + +.fa.fa-star-half-empty { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-star-half-empty:before { + content: "\f089"; } + +.fa.fa-star-half-full { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-star-half-full:before { + content: "\f089"; } + +.fa.fa-code-fork:before { + content: "\f126"; } + +.fa.fa-chain-broken:before { + content: "\f127"; } + +.fa.fa-shield:before { + content: "\f3ed"; } + +.fa.fa-calendar-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-o:before { + content: "\f133"; } + +.fa.fa-maxcdn { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-html5 { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-css3 { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ticket:before { + content: "\f3ff"; } + +.fa.fa-minus-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-minus-square-o:before { + content: "\f146"; } + +.fa.fa-level-up:before { + content: "\f3bf"; } + +.fa.fa-level-down:before { + content: "\f3be"; } + +.fa.fa-pencil-square:before { + content: "\f14b"; } + +.fa.fa-external-link-square:before { + content: "\f360"; } + +.fa.fa-compass { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-down:before { + content: "\f150"; } + +.fa.fa-toggle-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-toggle-down:before { + content: "\f150"; } + +.fa.fa-caret-square-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-up:before { + content: "\f151"; } + +.fa.fa-toggle-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-toggle-up:before { + content: "\f151"; } + +.fa.fa-caret-square-o-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-right:before { + content: "\f152"; } + +.fa.fa-toggle-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-toggle-right:before { + content: "\f152"; } + +.fa.fa-eur:before { + content: "\f153"; } + +.fa.fa-euro:before { + content: "\f153"; } + +.fa.fa-gbp:before { + content: "\f154"; } + +.fa.fa-usd:before { + content: "\f155"; } + +.fa.fa-dollar:before { + content: "\f155"; } + +.fa.fa-inr:before { + content: "\f156"; } + +.fa.fa-rupee:before { + content: "\f156"; } + +.fa.fa-jpy:before { + content: "\f157"; } + +.fa.fa-cny:before { + content: "\f157"; } + +.fa.fa-rmb:before { + content: "\f157"; } + +.fa.fa-yen:before { + content: "\f157"; } + +.fa.fa-rub:before { + content: "\f158"; } + +.fa.fa-ruble:before { + content: "\f158"; } + +.fa.fa-rouble:before { + content: "\f158"; } + +.fa.fa-krw:before { + content: "\f159"; } + +.fa.fa-won:before { + content: "\f159"; } + +.fa.fa-btc { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitcoin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitcoin:before { + content: "\f15a"; } + +.fa.fa-file-text:before { + content: "\f15c"; } + +.fa.fa-sort-alpha-asc:before { + content: "\f15d"; } + +.fa.fa-sort-alpha-desc:before { + content: "\f881"; } + +.fa.fa-sort-amount-asc:before { + content: "\f160"; } + +.fa.fa-sort-amount-desc:before { + content: "\f884"; } + +.fa.fa-sort-numeric-asc:before { + content: "\f162"; } + +.fa.fa-sort-numeric-desc:before { + content: "\f886"; } + +.fa.fa-youtube-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-youtube { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-xing { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-xing-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-youtube-play { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-youtube-play:before { + content: "\f167"; } + +.fa.fa-dropbox { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-stack-overflow { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-instagram { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-flickr { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-adn { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket-square:before { + content: "\f171"; } + +.fa.fa-tumblr { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-tumblr-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-long-arrow-down:before { + content: "\f309"; } + +.fa.fa-long-arrow-up:before { + content: "\f30c"; } + +.fa.fa-long-arrow-left:before { + content: "\f30a"; } + +.fa.fa-long-arrow-right:before { + content: "\f30b"; } + +.fa.fa-apple { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-windows { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-android { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-linux { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-dribbble { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-skype { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-foursquare { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-trello { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gratipay { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gittip { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gittip:before { + content: "\f184"; } + +.fa.fa-sun-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-sun-o:before { + content: "\f185"; } + +.fa.fa-moon-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-moon-o:before { + content: "\f186"; } + +.fa.fa-vk { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-weibo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-renren { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pagelines { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-stack-exchange { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-right:before { + content: "\f35a"; } + +.fa.fa-arrow-circle-o-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-left:before { + content: "\f359"; } + +.fa.fa-caret-square-o-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-left:before { + content: "\f191"; } + +.fa.fa-toggle-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-toggle-left:before { + content: "\f191"; } + +.fa.fa-dot-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-dot-circle-o:before { + content: "\f192"; } + +.fa.fa-vimeo-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-try:before { + content: "\f195"; } + +.fa.fa-turkish-lira:before { + content: "\f195"; } + +.fa.fa-plus-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-plus-square-o:before { + content: "\f0fe"; } + +.fa.fa-slack { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wordpress { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-openid { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-institution:before { + content: "\f19c"; } + +.fa.fa-bank:before { + content: "\f19c"; } + +.fa.fa-mortar-board:before { + content: "\f19d"; } + +.fa.fa-yahoo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-reddit { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-reddit-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-stumbleupon-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-stumbleupon { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-delicious { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-digg { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper-pp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-drupal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-joomla { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-spoon:before { + content: "\f2e5"; } + +.fa.fa-behance { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-behance-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-steam { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-steam-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-automobile:before { + content: "\f1b9"; } + +.fa.fa-envelope-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-envelope-o:before { + content: "\f0e0"; } + +.fa.fa-spotify { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-deviantart { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-soundcloud { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-file-pdf-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-pdf-o:before { + content: "\f1c1"; } + +.fa.fa-file-word-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-word-o:before { + content: "\f1c2"; } + +.fa.fa-file-excel-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-excel-o:before { + content: "\f1c3"; } + +.fa.fa-file-powerpoint-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-powerpoint-o:before { + content: "\f1c4"; } + +.fa.fa-file-image-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-image-o:before { + content: "\f1c5"; } + +.fa.fa-file-photo-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-photo-o:before { + content: "\f1c5"; } + +.fa.fa-file-picture-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-picture-o:before { + content: "\f1c5"; } + +.fa.fa-file-archive-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-archive-o:before { + content: "\f1c6"; } + +.fa.fa-file-zip-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-zip-o:before { + content: "\f1c6"; } + +.fa.fa-file-audio-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-audio-o:before { + content: "\f1c7"; } + +.fa.fa-file-sound-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-sound-o:before { + content: "\f1c7"; } + +.fa.fa-file-video-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-video-o:before { + content: "\f1c8"; } + +.fa.fa-file-movie-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-movie-o:before { + content: "\f1c8"; } + +.fa.fa-file-code-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-code-o:before { + content: "\f1c9"; } + +.fa.fa-vine { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-codepen { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-jsfiddle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-life-ring { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-life-bouy { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-life-bouy:before { + content: "\f1cd"; } + +.fa.fa-life-buoy { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-life-buoy:before { + content: "\f1cd"; } + +.fa.fa-life-saver { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-life-saver:before { + content: "\f1cd"; } + +.fa.fa-support { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-support:before { + content: "\f1cd"; } + +.fa.fa-circle-o-notch:before { + content: "\f1ce"; } + +.fa.fa-rebel { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ra { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ra:before { + content: "\f1d0"; } + +.fa.fa-resistance { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-resistance:before { + content: "\f1d0"; } + +.fa.fa-empire { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ge { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ge:before { + content: "\f1d1"; } + +.fa.fa-git-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-git { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-hacker-news { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator-square:before { + content: "\f1d4"; } + +.fa.fa-yc-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yc-square:before { + content: "\f1d4"; } + +.fa.fa-tencent-weibo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-qq { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-weixin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wechat { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wechat:before { + content: "\f1d7"; } + +.fa.fa-send:before { + content: "\f1d8"; } + +.fa.fa-paper-plane-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-paper-plane-o:before { + content: "\f1d8"; } + +.fa.fa-send-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-send-o:before { + content: "\f1d8"; } + +.fa.fa-circle-thin { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-circle-thin:before { + content: "\f111"; } + +.fa.fa-header:before { + content: "\f1dc"; } + +.fa.fa-sliders:before { + content: "\f1de"; } + +.fa.fa-futbol-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-futbol-o:before { + content: "\f1e3"; } + +.fa.fa-soccer-ball-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-soccer-ball-o:before { + content: "\f1e3"; } + +.fa.fa-slideshare { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-twitch { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yelp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-newspaper-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-newspaper-o:before { + content: "\f1ea"; } + +.fa.fa-paypal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-wallet { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-visa { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-mastercard { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-discover { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-amex { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-paypal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-stripe { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bell-slash-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bell-slash-o:before { + content: "\f1f6"; } + +.fa.fa-trash:before { + content: "\f2ed"; } + +.fa.fa-copyright { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-eyedropper:before { + content: "\f1fb"; } + +.fa.fa-area-chart:before { + content: "\f1fe"; } + +.fa.fa-pie-chart:before { + content: "\f200"; } + +.fa.fa-line-chart:before { + content: "\f201"; } + +.fa.fa-lastfm { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-lastfm-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ioxhost { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-angellist { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-cc:before { + content: "\f20a"; } + +.fa.fa-ils:before { + content: "\f20b"; } + +.fa.fa-shekel:before { + content: "\f20b"; } + +.fa.fa-sheqel:before { + content: "\f20b"; } + +.fa.fa-meanpath { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-meanpath:before { + content: "\f2b4"; } + +.fa.fa-buysellads { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-connectdevelop { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-dashcube { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-forumbee { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-leanpub { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-sellsy { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-shirtsinbulk { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-simplybuilt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-skyatlas { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-diamond { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-diamond:before { + content: "\f3a5"; } + +.fa.fa-intersex:before { + content: "\f224"; } + +.fa.fa-facebook-official { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook-official:before { + content: "\f09a"; } + +.fa.fa-pinterest-p { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-whatsapp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-hotel:before { + content: "\f236"; } + +.fa.fa-viacoin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-medium { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yc { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yc:before { + content: "\f23b"; } + +.fa.fa-optin-monster { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-opencart { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-expeditedssl { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-battery-4:before { + content: "\f240"; } + +.fa.fa-battery:before { + content: "\f240"; } + +.fa.fa-battery-3:before { + content: "\f241"; } + +.fa.fa-battery-2:before { + content: "\f242"; } + +.fa.fa-battery-1:before { + content: "\f243"; } + +.fa.fa-battery-0:before { + content: "\f244"; } + +.fa.fa-object-group { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-object-ungroup { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-sticky-note-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-sticky-note-o:before { + content: "\f249"; } + +.fa.fa-cc-jcb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-diners-club { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-clone { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hourglass-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hourglass-o:before { + content: "\f254"; } + +.fa.fa-hourglass-1:before { + content: "\f251"; } + +.fa.fa-hourglass-2:before { + content: "\f252"; } + +.fa.fa-hourglass-3:before { + content: "\f253"; } + +.fa.fa-hand-rock-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-rock-o:before { + content: "\f255"; } + +.fa.fa-hand-grab-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-grab-o:before { + content: "\f255"; } + +.fa.fa-hand-paper-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-paper-o:before { + content: "\f256"; } + +.fa.fa-hand-stop-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-stop-o:before { + content: "\f256"; } + +.fa.fa-hand-scissors-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-scissors-o:before { + content: "\f257"; } + +.fa.fa-hand-lizard-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-lizard-o:before { + content: "\f258"; } + +.fa.fa-hand-spock-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-spock-o:before { + content: "\f259"; } + +.fa.fa-hand-pointer-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-pointer-o:before { + content: "\f25a"; } + +.fa.fa-hand-peace-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-peace-o:before { + content: "\f25b"; } + +.fa.fa-registered { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-creative-commons { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gg { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gg-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-tripadvisor { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-get-pocket { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wikipedia-w { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-safari { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-chrome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-firefox { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-opera { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-internet-explorer { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-television:before { + content: "\f26c"; } + +.fa.fa-contao { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-500px { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-amazon { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-calendar-plus-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-plus-o:before { + content: "\f271"; } + +.fa.fa-calendar-minus-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-minus-o:before { + content: "\f272"; } + +.fa.fa-calendar-times-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-times-o:before { + content: "\f273"; } + +.fa.fa-calendar-check-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-check-o:before { + content: "\f274"; } + +.fa.fa-map-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-map-o:before { + content: "\f279"; } + +.fa.fa-commenting:before { + content: "\f4ad"; } + +.fa.fa-commenting-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-commenting-o:before { + content: "\f4ad"; } + +.fa.fa-houzz { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-vimeo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-vimeo:before { + content: "\f27d"; } + +.fa.fa-black-tie { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-fonticons { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-reddit-alien { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-edge { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-credit-card-alt:before { + content: "\f09d"; } + +.fa.fa-codiepie { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-modx { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-fort-awesome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-usb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-product-hunt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-mixcloud { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-scribd { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pause-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-pause-circle-o:before { + content: "\f28b"; } + +.fa.fa-stop-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-stop-circle-o:before { + content: "\f28d"; } + +.fa.fa-bluetooth { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bluetooth-b { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gitlab { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wpbeginner { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wpforms { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-envira { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wheelchair-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wheelchair-alt:before { + content: "\f368"; } + +.fa.fa-question-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-question-circle-o:before { + content: "\f059"; } + +.fa.fa-volume-control-phone:before { + content: "\f2a0"; } + +.fa.fa-asl-interpreting:before { + content: "\f2a3"; } + +.fa.fa-deafness:before { + content: "\f2a4"; } + +.fa.fa-hard-of-hearing:before { + content: "\f2a4"; } + +.fa.fa-glide { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-glide-g { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-signing:before { + content: "\f2a7"; } + +.fa.fa-viadeo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-viadeo-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-snapchat { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-ghost { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-first-order { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yoast { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-themeisle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-official { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-official:before { + content: "\f2b3"; } + +.fa.fa-google-plus-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-circle:before { + content: "\f2b3"; } + +.fa.fa-font-awesome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-fa { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-fa:before { + content: "\f2b4"; } + +.fa.fa-handshake-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-handshake-o:before { + content: "\f2b5"; } + +.fa.fa-envelope-open-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-envelope-open-o:before { + content: "\f2b6"; } + +.fa.fa-linode { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-address-book-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-address-book-o:before { + content: "\f2b9"; } + +.fa.fa-vcard:before { + content: "\f2bb"; } + +.fa.fa-address-card-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-address-card-o:before { + content: "\f2bb"; } + +.fa.fa-vcard-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-vcard-o:before { + content: "\f2bb"; } + +.fa.fa-user-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-user-circle-o:before { + content: "\f2bd"; } + +.fa.fa-user-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-user-o:before { + content: "\f007"; } + +.fa.fa-id-badge { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-drivers-license:before { + content: "\f2c2"; } + +.fa.fa-id-card-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-id-card-o:before { + content: "\f2c2"; } + +.fa.fa-drivers-license-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-drivers-license-o:before { + content: "\f2c2"; } + +.fa.fa-quora { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-free-code-camp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-telegram { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-thermometer-4:before { + content: "\f2c7"; } + +.fa.fa-thermometer:before { + content: "\f2c7"; } + +.fa.fa-thermometer-3:before { + content: "\f2c8"; } + +.fa.fa-thermometer-2:before { + content: "\f2c9"; } + +.fa.fa-thermometer-1:before { + content: "\f2ca"; } + +.fa.fa-thermometer-0:before { + content: "\f2cb"; } + +.fa.fa-bathtub:before { + content: "\f2cd"; } + +.fa.fa-s15:before { + content: "\f2cd"; } + +.fa.fa-window-maximize { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-window-restore { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-times-rectangle:before { + content: "\f410"; } + +.fa.fa-window-close-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-window-close-o:before { + content: "\f410"; } + +.fa.fa-times-rectangle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-times-rectangle-o:before { + content: "\f410"; } + +.fa.fa-bandcamp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-grav { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-etsy { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-imdb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ravelry { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-eercast { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-eercast:before { + content: "\f2da"; } + +.fa.fa-snowflake-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-snowflake-o:before { + content: "\f2dc"; } + +.fa.fa-superpowers { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wpexplorer { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cab:before { + content: "\f1ba"; } + +/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJnbG9iYWwvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiZ2xvYmFsL19jb2xvcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3RpY2t5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NsaWRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsImdsb2JhbC9fd3AtYWRtaW4uc2NzcyIsImdsb2JhbC9fZ3V0ZW5iZXJnLnNjc3MiLCJnbG9iYWwvX2JyYW5kaW5nLnNjc3MiLCJnbG9iYWwvX2FjY2Vzc2liaWxpdHkuc2NzcyIsIm1vZHVsZXMvX2hlYWRlci5zY3NzIiwibW9kdWxlcy9fZm9vdGVyLnNjc3MiLCJtb2R1bGVzL19jb250ZW50LnNjc3MiLCJjb21wb25lbnRzL19saW5rcy5zY3NzIiwiY29tcG9uZW50cy9fZmVhdHVyZWQtaW1hZ2Uuc2NzcyIsImNvbXBvbmVudHMvX2RpdmlkZXJzLnNjc3MiLCJjb21wb25lbnRzL19jYXJkcy5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9mb250YXdlc29tZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX2NvcmUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL19sYXJnZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL19maXhlZC13aWR0aC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX2xpc3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL19ib3JkZXJlZC1wdWxsZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL19hbmltYXRlZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX3JvdGF0ZWQtZmxpcHBlZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX3N0YWNrZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL19pY29ucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL2JyYW5kcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvcmVndWxhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3Mvc29saWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL3Y0LXNoaW1zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9fc2hpbXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEI7RUFDSSw4QkFBOEI7RUFDOUIsd0RBQXdEO0VBQ3hELG1CQUFtQjtFQUNuQixrQkFBa0IsRUFBQTs7QUFFdEI7RUFDSSxvQ0FBb0M7RUFDcEMsOERBQThEO0VBQzlELG1CQUFtQjtFQUNuQixrQkFBa0IsRUFBQTs7QUNWdEI7Ozs7O0VGa0JFO0FHOEpNO0VDbklOO0lBQ0UsV0FBVztJQUNYLFVBQVU7SUFDVixjQUFjLEVBQUEsRUFDZjs7QUNoREQsMkVBQUE7QUFRQTtFQUNFLGlCQUFpQjtFQUNqQiw4QkFBOEIsRUFBQTs7QUFRaEM7RUFDRSxTQUFTLEVBQUE7O0FBTVg7RUFDRSxjQUFjO0VBQ2QsZ0JBQWdCLEVBQUE7O0FBU2xCO0VBQ0UsK0JBQXVCO1VBQXZCLHVCQUF1QjtFQUN2QixTQUFTO0VBQ1QsaUJBQWlCLEVBQUE7O0FBTW5CO0VBQ0UsaUNBQWlDO0VBQ2pDLGNBQWMsRUFBQTs7QUFRaEI7RUFDRSw2QkFBNkIsRUFBQTs7QUFNL0I7RUFDRSxtQkFBbUI7RUFDbkIsMEJBQTBCO0VBQzFCLHlDQUFpQztVQUFqQyxpQ0FBaUMsRUFBQTs7QUFLbkM7O0VBRUUsbUJBQW1CLEVBQUE7O0FBTXJCOzs7RUFHRSxpQ0FBaUM7RUFDakMsY0FBYyxFQUFBOztBQUtoQjtFQUNFLGNBQWMsRUFBQTs7QUFNaEI7O0VBRUUsY0FBYztFQUNkLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsd0JBQXdCLEVBQUE7O0FBRzFCO0VBQ0UsZUFBZSxFQUFBOztBQUdqQjtFQUNFLFdBQVcsRUFBQTs7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QlRzRWU7RVNyRWYseUJUMkRhO0VTekRiLG9CVGdieUI7RVMvYXpCLGVOdUR1RDtFTXREdkQsbUJUK0QyQjtFUzlEM0IsZ0JUeUNxQjtFU3hDckIsY1RvRGE7RUM4RGIsd09BQXlOO0VROUd2Tiw4QkFBOEI7RUFDOUIsdUNBQTBEO0VBQzFELDRCQUE0QjtFQUM1Qix3QkFBd0I7RUFFeEIscUJBQXVEO0VBSXZELDJFVDRhOEQ7RVM1YTlELG1FVDRhOEQ7RVM1YTlELDJEVDRhOEQ7RVM1YTlELG9GVDRhOEQsRUFBQTtFQ3JVaEU7SUZ3Q0E7TUVyQ0ksdVdBQXVXLEVBQUEsRVFuRTFXO0VBbkNEO0lBQ0UsYUFBYTtJQUNiLHlCVGdDZTtJUy9CZix5QlRpQ1c7SVNoQ1gsbUNUNkJpQjtZUzdCakIsMkJUNkJpQjtJUzFCZiwyRVRpYTREO0lTamE1RCxtRVRpYTREO0lTamE1RCwyRFRpYTREO0lTamE1RCxvRlRpYTRELEVBQUE7RVM1WmhFO0lBQ0UseUJUbUJnQjtJU2xCaEIsbUJUeVorQixFQUFBO0VTclpqQztJQUNFLGFBQWEsRUFBQTtFQUdmO0lBQ0UsWUFBWTtJQUNaLHNCQUFzQixFQUFBO0VBRXhCO0lBQ0UsY0FBYztJQUNkLGlCQUFpQixFQUFBOztBQ3JDbkI7RUFDRSxxQkN0Q2dCO0VEdUNoQix5QkFBK0QsRUFBQTtFQUUvRDtJQUNFLGNDMUNjLEVBQUE7RUR5Q2hCO0lBQ0UsY0MxQ2MsRUFBQTtFRHlDaEI7SUFDRSxjQzFDYyxFQUFBO0VEeUNoQjtJQUNFLGNDMUNjLEVBQUE7RUR5Q2hCO0lBQ0UsY0MxQ2MsRUFBQTs7QURvRWhCO0VBQ0UsY0NyRWMsRUFBQTs7QUQwRWxCO0VBekJBLGFBQWE7RUFDYixtQkFBZ0M7RUFDaEMsbUJQOEJ1RDtFTzVCdkQsa0JQNEJ1RDtFTzNCdkQsaUJWcUN1QjtFVXBDdkIsY0N2RGtCLEVBQUE7RUQwRWxCO0lBSUksY0FBYyxFQUFBOztBRThJbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkUsU0FBUztFQUNULFVBQVUsRUFBQTs7QUFJWjtFQUNFLG1CWjFFMEI7RVk0RTFCLGtCQUFrQjtFQUNsQixnQlo5RXNCO0VZK0V0QixrQ1o3RXlDLEVBQUE7O0FZaUYzQzs7RUFFRSxrQkFBa0I7RUFDbEIsb0JBQW9CLEVBQUE7O0FBSXRCOztFQUVFLGlCWjNLcUI7RVk0S3JCLG9CQUFvQixFQUFBOztBZHRMdEI7RWMyTEUsY1pwR2lCO0VZcUdqQixvQkFBb0IsRUFBQTs7QUFJdEI7Ozs7OztFQU1FLCtLWmxNaUw7RVltTWpMLGtCWnhJc0I7RVl5SXRCLG1CWi9MeUI7RVlnTXpCLGNaeElrQjtFWXlJbEIsa0NacEhzQyxFQUFBO0VZMEd4Qzs7Ozs7O0lBYUksY0FBYztJQUNkLGNaL01hLEVBQUE7O0FZd05YO0VBSUksa0JUM042QztFU3VPN0MsZ0JacktXO0VZNktYLGFBQWE7RUFPYixxQlpuTGlCLEVBQUE7O0FZb0pyQjtFQUlJLG1CVDNONkM7RVN1TzdDLGdCWnJLVztFWTZLWCxhQUFhO0VBT2IscUJabkxpQixFQUFBOztBWW9KckI7RUFJSSxvQlQzTjZDO0VTdU83QyxnQlpyS1c7RVk2S1gsYUFBYTtFQU9iLHFCWm5MaUIsRUFBQTs7QVlvSnJCO0VBSUksbUJUM042QztFU3VPN0MsZ0JacktXO0VZNktYLGFBQWE7RUFPYixxQlpuTGlCLEVBQUE7O0FZb0pyQjtFQUlJLG9CVDNONkM7RVN1TzdDLGdCWnJLVztFWTZLWCxhQUFhO0VBT2IscUJabkxpQixFQUFBOztBWW9KckI7RUFJSSxlVDNONkM7RVN1TzdDLGdCWnJLVztFWTZLWCxhQUFhO0VBT2IscUJabkxpQixFQUFBOztBSnFCckI7RWdCK0hBO0lBSUksbUJUM042QyxFQUFBO0VTdU5qRDtJQUlJLGtCVDNONkMsRUFBQTtFU3VOakQ7SUFJSSxpQlQzTjZDLEVBQUE7RVN1TmpEO0lBSUksb0JUM042QyxFQUFBO0VTdU5qRDtJQUlJLGtCVDNONkMsRUFBQTtFU3VOakQ7SUFJSSxlVDNONkMsRUFBQSxFU3dQaEQ7O0FkeFJQO0VjK1JFLG9CQUFvQjtFQUNwQixjRGxWb0I7RUNtVnBCLHFCWmxLeUI7RVlvS3pCLGVBQWUsRUFB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O0VKdER2RDtJR3lFRixVQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsVUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixXQ25CeUQsRUFBQSxFSm5EdEQ7O0FwQmtGQztFb0J6R0Y7SUdrREosbUJBQU07SUFBTixxQkFBTTtRQUFOLGlCQUFNO1lBQU4sYUFBTTtJQTJDSixXQWxGWSxFQUFBO0VITlo7SUc2Q0YsbUJBQU07SUFBTixzQkFBTTtRQUFOLGtCQUFNO1lBQU4sY0FBTSxFQUFBO0VIdkNGO0lHa0ZGLFdBbEZZLEVBQUE7RUhTVjtJR3lFRixlQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixVQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsVUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixXQ25CeUQsRUFBQSxFSm5EdEQ7O0FBS0w7RUFDRSxXQUFXLEVBQUE7O0FBSWI7RUFDRSxZQUFZLEVBQUE7O0FBOEJkO0VDdkdNLHNCQUE2RDtFQUE3RCx1QkFBNkQsRUFBQTtFckJnSjdEO0lvQnpDTjtNQ3ZHTSx1QkFBNkQ7TUFBN0Qsd0JBQTZELEVBQUEsRURzSWxFO0VBL0JEO0lHNkJFLDJCQXREOEY7SUZyRTVGLHFCQUE2RDtJQUE3RCxzQkFBNkQsRUFBQTtFckJ1STNEO0lvQnpDTjtNRzZCRSw0QkF0RDhGO01GckU1RixzQkFBNkQ7TUFBN0QsdUJBQTZELEVBQUEsRUQyRzFEO0VBckNQO0lHcURFLFdBbEZZLEVBQUE7RUhpQ2Q7SUdpREUsV0FsRlksRUFBQTtFSHlDWjtJR3lDQSwrQkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsZ0NBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDBCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxnQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsZ0NBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDBCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxnQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsZ0NBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDBCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxnQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsZ0NBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDJCQXREOEYsRUFBQTtFdkJrRTFGO0lvQmpFTjtNR3FERSxXQWxGWSxFQUFBO0lIaUNkO01HaURFLFdBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsZ0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSwyQkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSwyQkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSwyQkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhDaEc7TUdxREUsV0FsRlksRUFBQTtJSGlDZDtNR2lERSxXQWxGWSxFQUFBO0lIeUNaO01HeUNBLGdDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsMkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsMkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsMkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBLEVIZTdGO0VwQm1ERztJb0JqRU47TUdxREUsV0FsRlksRUFBQTtJSGlDZDtNR2lERSxXQWxGWSxFQUFBO0lIeUNaO01HeUNBLGdDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsMkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsMkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsMkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBLEVIZTdGOztBQThDSDtFQzNJTSx1QkFBNkQ7RUFBN0Qsc0JBQTZELEVBQUE7RXJCZ0o3RDtJb0JMTjtNQzNJTSx3QkFBNkQ7TUFBN0QsdUJBQTZELEVBQUEsRURnSmhFOztBQUlEO0VDcEpJLHVCQUE2RDtFQUE3RCxzQkFBNkQsRUFBQTtFckJnSjdEO0lvQklKO01DcEpJLHdCQUE2RDtNQUE3RCx1QkFBNkQsRUFBQSxFRHNKaEU7O0FBWEg7RUMzSU0sdUJBQTZEO0VBQTdELHNCQUE2RCxFQUFBO0VyQmdKN0Q7SW9CTE47TUMzSU0sd0JBQTZEO01BQTdELHVCQUE2RCxFQUFBLEVEMkpoRTs7QUszSkg7RUZvSUUsV0NuQnlELEVBQUE7O0FDakgzRDtFRm9JRSxVQ25CeUQsRUFBQTs7QUNqSDNEO0VGb0lFLGdCQ25CeUQsRUFBQTs7QUNqSDNEO0VGb0lFLFVDbkJ5RCxFQUFBOztBQ2pIM0Q7RUZvSUUsVUNuQnlELEVBQUE7O0FDakgzRDtFRm9JRSxnQkNuQnlELEVBQUE7O0FDakgzRDtFRm9JRSxnQkNuQnlELEVBQUE7O0FDakgzRDtFRm9JRSxZQ25CeUQsRUFBQTs7QXhCK0JyRDtFeUJoSk47SUZvSUUsV0NuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxVQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsZ0JDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFlDbkJ5RCxFQUFBLEVDL0cxRDs7QXpCOElLO0V5QmhKTjtJRm9JRSxXQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsVUNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLGdCQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsVUNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLGdCQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsWUNuQnlELEVBQUEsRUMvRzFEOztBQUZEO0VGb0lFLDJCQXREOEYsRUFBQTs7QUU5RWhHO0VGb0lFLDBCQXREOEYsRUFBQTs7QUU5RWhHO0VGb0lFLGdDQXREOEYsRUFBQTs7QUU5RWhHO0VGb0lFLDBCQXREOEYsRUFBQTs7QUU5RWhHO0VGb0lFLDBCQXREOEYsRUFBQTs7QUU5RWhHO0VGb0lFLGdDQXREOEYsRUFBQTs7QUU5RWhHO0VGb0lFLGdDQXREOEYsRUFBQTs7QUU5RWhHO0VGb0lFLDRCQXREOEYsRUFBQTs7QXZCa0UxRjtFeUJoSk47SUZvSUUsNEJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSwyQkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLGlDQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSwyQkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLGlDQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSw2QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDRCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLGlDQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsNkJBdEQ4RixFQUFBLEVFNUUvRjs7QXpCOElLO0V5QmhKTjtJRm9JRSw0QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSwyQkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDZCQXREOEYsRUFBQSxFRTVFL0Y7O0FMcU1HO0VNOU1FLGVBQTBCO0VBQTFCLGNBQTBCLEVBQUE7RUFHNUI7SUFFSSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0VBc0J4QjtJSGdIUixlQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixXQ25CeUQsRUFBQTtFeEIrQnJEO0kwQjVISTtNSGdIUixlQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixVQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsVUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7RTFCMEhMO0kwQjVISTtNSGdIUixlQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixVQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsVUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7O0FOdUxQO0VNN0tFLGVBQTBCO0VBQTFCLGNBQTBCLEVBQUE7RUFHNUI7SUFFSSxnQkFBNEI7SUFBNUIsZUFBNEIsRUFBQTs7QTFCMkc5QjtFb0J1REY7SU05TUUsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGVBQTBCO01BQTFCLGNBQTBCLEVBQUEsRUFFN0I7O0ExQmdKQztFMEJySUk7SUh5SFIsZUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsV0NuQnlELEVBQUEsRUVwR2hEOztBMUJtSUw7RTBCNUhJO0lIZ0hSLGVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDs7QTFCMEhMO0UwQjVISTtJSGdIUixlQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7O0ExQjBITDtFb0I2REY7SU03S0UsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGdCQUE0QjtNQUE1QixlQUE0QixFQUFBLEVBRS9COztBMUJ5R0M7RW9CdURGO0lNOU1FLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxlQUEwQjtNQUExQixjQUEwQixFQUFBLEVBRTdCOztBMUJnSkM7RTBCcklJO0lIeUhSLGVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFdDbkJ5RCxFQUFBLEVFcEdoRDs7QTFCbUlMO0UwQnJJSTtJSHlIUixlQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixXQ25CeUQsRUFBQSxFRXBHaEQ7O0ExQm1JTDtFMEI1SEk7SUhnSFIsZUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEOztBMUIwSEw7RW9CNkRGO0lNN0tFLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxnQkFBNEI7TUFBNUIsZUFBNEIsRUFBQSxFQUUvQjs7QU5vTEQ7RU92TUYsZUFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLGdDQUE2QixFQUFBOztBUHVNM0I7RU92TUYscUJBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRixzQ0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLHNCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsdUNBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixnQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLGlDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsc0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRix1Q0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLHNCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsdUNBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixnQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLGlDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsc0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRix1Q0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLHNCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsdUNBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixnQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLGlDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsc0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRix1Q0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLHNCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsdUNBQTZCLEVBQUE7O0EzQjRIekI7RW9CMkVGO0lPdk1GLGVBQTZCLEVBQUE7RVAyTTNCO0lPM01GLGlDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixxQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsdUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRix3Q0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLGtDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsd0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRix3Q0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLGtDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsd0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRix3Q0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLGtDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsd0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRix3Q0FBNkIsRUFBQSxFUDZNMUI7O0FwQmpGQztFb0IyRUY7SU92TUYsZUFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsaUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHFCQUE2QixFQUFBO0VQMk0zQjtJTzNNRix1Q0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHdDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixnQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsa0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRix3Q0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHdDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixnQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsa0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRix3Q0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHdDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixnQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsa0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRix3Q0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHdDQUE2QixFQUFBLEVQNk0xQjs7QUF6SlM7RUV0RWQsb0JBQWE7RUFBYixxQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUg2QjtFQUc3Qiw2QkFINkI7RUFHN0IsZ0NBSDZCO01BRzdCLDRCQUg2QjtVQUc3Qix3QkFINkIsRUFBQTtFRmlQN0I7SUcxSUEsWUFBbUI7SUFDbkIsZ0JBQTJCLEVBQUE7RUh5STNCO0lHN0dFLFlBbEZZLEVBQUE7RUgrTGQ7SUc3R0UsWUFsRlksRUFBQTtFSCtMZDtJQTJCTSx3QkFBZ0I7UUFBaEIsNkJBQWdCO1lBQWhCLGdCQUFnQixFQUFBO0VwQjVIaEI7SW9CaUdOO01BMkJNLHdCQUFnQjtVQUFoQiw2QkFBZ0I7Y0FBaEIsZ0JBQWdCLEVBQUEsRUFDakI7RXBCN0hDO0lvQmlHTjtNQTJCTSx3QkFBZ0I7VUFBaEIsNkJBQWdCO2NBQWhCLGdCQUFnQixFQUFBLEVBQ2pCO0VBNUJMO0lHeEpBLG1CQUFNO0lBQU4sc0JBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTtFSHdKTjtJRzdHRSxnQkNuQnlELEVBQUE7RUpnSTNEO0lHN0dFLGlCQ25CeUQsRUFBQTtFSmdJM0Q7SUc3R0UsV0NuQnlELEVBQUE7RUpnSTNEO0lHN0dFLGlCQ25CeUQsRUFBQTtFSmdJM0Q7SUc3R0UsaUJDbkJ5RCxFQUFBO0VKZ0kzRDtJRzdHRSxXQ25CeUQsRUFBQTtFSmdJM0Q7SUc3R0UsaUJDbkJ5RCxFQUFBO0VKZ0kzRDtJRzdHRSxpQkNuQnlELEVBQUE7RUpnSTNEO0lHN0dFLFdDbkJ5RCxFQUFBO0VKZ0kzRDtJRzdHRSxpQkNuQnlELEVBQUE7RUpnSTNEO0lHN0dFLGlCQ25CeUQsRUFBQTtFSmdJM0Q7SUc3R0UsWUNuQnlELEVBQUE7RXhCK0JyRDtJb0JpR047TUd4SkEsbUJBQU07TUFBTixxQkFBTTtVQUFOLGlCQUFNO2NBQU4sYUFBTTtNQTJDSixZQWxGWSxFQUFBO0lIK0xkO01HeEpBLG1CQUFNO01BQU4sc0JBQU07VUFBTixrQkFBTTtjQUFOLGNBQU0sRUFBQTtJSHdKTjtNRzdHRSxZQWxGWSxFQUFBO0lIK0xkO01HN0dFLGdCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxXQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLFdDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsV0NuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxZQ25CeUQsRUFBQSxFSnlMcEQ7RXBCMUpEO0lvQmlHTjtNR3hKQSxtQkFBTTtNQUFOLHFCQUFNO1VBQU4saUJBQU07Y0FBTixhQUFNO01BMkNKLFlBbEZZLEVBQUE7SUgrTGQ7TUd4SkEsbUJBQU07TUFBTixzQkFBTTtVQUFOLGtCQUFNO2NBQU4sY0FBTSxFQUFBO0lId0pOO01HN0dFLFlBbEZZLEVBQUE7SUgrTGQ7TUc3R0UsZ0JDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLFdDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsV0NuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxXQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLFlDbkJ5RCxFQUFBLEVKeUxwRDs7QUFPTDtFQ2pUSSxxQkFBNkQ7RUFBN0Qsd0JBQTZELEVBQUE7RXJCZ0o3RDtJb0JpS0o7TUNqVEksc0JBQTZEO01BQTdELHlCQUE2RCxFQUFBLEVEcVQ5RDs7QUFKSDtFQ2pUSSxxQkFBNkQ7RUFBN0Qsd0JBQTZELEVBQUE7RXJCZ0o3RDtJb0JpS0o7TUNqVEksc0JBQTZEO01BQTdELHlCQUE2RCxFQUFBLEVEMFQ5RDs7QUFuTkw7RUN2R00scUJBQTZEO0VBQTdELHdCQUE2RCxFQUFBO0VyQmdKN0Q7SW9CekNOO01DdkdNLHNCQUE2RDtNQUE3RCx5QkFBNkQsRUFBQSxFRHNJbEU7RUEvQkQ7SUc2QkUsNEJBdEQ4RjtJRnJFNUYsb0JBQTZEO0lBQTdELHVCQUE2RCxFQUFBO0VyQnVJM0Q7SW9CekNOO01HNkJFLDZCQXREOEY7TUZyRTVGLHFCQUE2RDtNQUE3RCx3QkFBNkQsRUFBQSxFRDJHMUQ7RUFyQ1A7SUdxREUsWUFsRlksRUFBQTtFSGlDZDtJR2lERSxZQWxGWSxFQUFBO0VIeUNaO0lHeUNBLGdDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsMkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsMkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsMkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsNEJBdEQ4RixFQUFBO0V2QmtFMUY7SW9CakVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSENoRztNR3FERSxZQWxGWSxFQUFBO0lIaUNkO01HaURFLFlBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUEsRUhlN0Y7RXBCbURHO0lvQmpFTjtNR3FERSxZQWxGWSxFQUFBO0lIaUNkO01HaURFLFlBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlG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RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSwyQkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSwyQkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSw0QkF0RDhGLEVBQUE7RXZCa0UxRjtJb0JqRU47TUdxREUsWUFsRlksRUFBQTtJSGlDZDtNR2lERSxZQWxGWSxFQUFBO0lIeUNaO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIQ2hHO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQSxFSGU3RjtFcEJtREc7SW9CakVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQSxFSGU3Rjs7QUFrVEQ7RVE1WUksNkJBQW1DLEVBQUE7RTVCNkluQztJb0IrUEo7TVE1WUksOEJBQW1DLEVBQUEsRVI4WXRDO0VwQmpRRztJb0IrUEo7TVE1WUksOEJBQW1DLEVBQUEsRVI4WXRDOztBcEJqUUc7RW9CbVFGO0lRaFpFLDhCQUFtQyxFQUFBLEVSa1pwQzs7QXBCclFDO0VvQm1RRjtJUWhaRSw4QkFBbUMsRUFBQSxFUmtacEM7O0FTekdMO0VBMU9BLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIsU3pCK01lO0V5QnJNYixrQnpCb004QztFeUJqTWhELDZCekJ5TW1DO0V5QnhNbkMsbUJ6QmQwQjtFeUJlMUIseUV6Qm1OdUU7RXlCbk52RSxpRXpCbU51RTtFeUJsTnZFLG9CekIyTDBCO0V5QjFMMUIsaUJ6QjBNZTtFeUJ4TWYsd0JBQXdCO0VBQ3hCLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsZUFBZSxFQUFBO0VoQ3NrRWY7SVF0L0RFLFVBQVUsRUFBQTtFd0JrSVo7SUFNTSxpQnpCckJNLEVBQUE7RXlCZVo7SUFNTSxrQnpCcEJRLEVBQUE7RXlCY2Q7SUFNTSxpQnpCbEJPLEVBQUE7RXlC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QTs7QUFDWjtFQ2hDSiw0QkQrQmdCO0VDL0JoQixnQkQrQmdCO01DL0JoQixpQkQrQmdCO1VDL0JoQixRRCtCZ0IsRUFBQTs7QUFDWjtFQ2hDSiw0QkQrQmdCO0VDL0JoQixnQkQrQmdCO01DL0JoQixpQkQrQmdCO1VDL0JoQixRRCtCZ0IsRUFBQTs7QUFDWjtFQ2hDSiw0QkQrQmdCO0VDL0JoQixnQkQrQmdCO01DL0JoQixpQkQrQmdCO1VDL0JoQixRRCtCZ0IsRUFBQTs7QXpEbUVWO0V5RGxFRjtJQ2hDSiw0QkQrQmdCO0lDL0JoQixnQkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7SUMvQmhCLGdCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtJQy9CaEIsZ0JEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO0lDL0JoQixnQkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7SUMvQmhCLGdCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtJQy9CaEIsZ0JEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUEsRUFHWDs7QXpEZ0VDO0V5RGxFRjtJQ2hDSiw0QkQrQmdCO0lDL0JoQixnQkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7SUMvQmhCLGdCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtJQy9CaEIsZ0JEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO0lDL0JoQixnQkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0Jo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QTJCLEVBQUE7O0FKQzNCO0VHb0JBLG9DQUZ5QjtNQUV6QixnQ0FGeUI7VUFFekIsNEJBRnlCLEVBQUE7O0FIOUJ6QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsVUZoQ2tDO0VJRWxDLG9DQUE0QjtFQUE1Qiw0QkFBNEIsRUFBQTs7QUxVNUI7RUdvQkEsVUZoQ3FDLEVBQUE7O0FEQXJDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixVRi9Ca0M7RUlDbEMsb0NBQTRCO0VBQTVCLDRCQUE0QixFQUFBOztBTFU1QjtFR29CQSxVRi9CcUMsRUFBQTs7QUREckM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLHNER3JDbUM7VUhxQ25DLDhDR3JDbUM7RUhxQ25DLDZCRjVCbUQ7TUU0Qm5ELHlCRjVCbUQ7VUU0Qm5ELHFCRjVCbUQ7RU1JakQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQTJCLEVBQUE7O0FQRzdCO0VHb0JBLG1ER1Q0QztVSFM1QywyQ0dUNEM7RUNKMUMsVUFBMkIsRUFBQTs7QVBuQjdCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixzREdwQ3FDO1VIb0NyQyw4Q0dwQ3FDO0VIb0NyQywrQkYzQnFEO01FMkJyRCwyQkYzQnFEO1VFMkJyRCx1QkYzQnFEO0VNR25ELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEc3QjtFR29CQSxtREdUNEM7VUhTNUMsMkNHVDRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbkI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIscURHbkNpQztVSG1DakMsNkNHbkNpQztFSG1DakMsZ0NGMUJzRDtNRTBCdEQsNEJGMUJzRDtVRTBCdEQsd0JGMUJzRDtFTUVwRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBHN0I7RUdvQkEsbURHVDRDO1VIUzVDLDJDR1Q0QztFQ0oxQyxVQUEyQixFQUFBOztBUG5CN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLHFER2xDK0I7VUhrQy9CLDZDR2xDK0I7RUhrQy9CLDhCRnpCb0Q7TUV5QnBELDBCRnpCb0Q7VUV5QnBELHNCRnpCb0Q7RU1DbEQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQTJCLEVBQUE7O0FQRzdCO0VHb0JBLG1ER1Q0QztVSFM1QywyQ0dUNEM7RUNKMUMsVUFBMkIsRUFBQTs7QVBuQjdCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixzREdyQ21DO1VIcUNuQyw4Q0dyQ21DO0VIcUNuQyxnQ0dFZTtNSEZmLDRCR0VlO1VIRmYsd0JHRWU7RUMxQmIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQTJCLEVBQUE7O0FQRzdCO0VHb0JBLG1ER1Q0QztVSFM1QywyQ0dUNEM7RUNKMUMsVUFBMkIsRUFBQTs7QVBuQjdCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixzREdwQ3FDO1VIb0NyQyw4Q0dwQ3FDO0VIb0NyQyxnQ0dFZTtNSEZmLDRCR0VlO1VIRmYsd0JHRWU7RUMxQmIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQTJCLEVBQUE7O0FQRzdCO0VHb0JBLG1ER1Q0QztVSFM1QywyQ0dUNEM7RUNKMUMsVUFBMkIsRUFBQTs7QVBuQjdCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtREdQOEM7VUhPOUMsMkNHUDhDO0VITzlDLDZCRnRCbUQ7TUVzQm5ELHlCRnRCbUQ7VUVzQm5ELHFCRnRCbUQ7RU1GakQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQThCLEVBQUE7O0FQR2hDO0VHb0JBLHFERy9COEI7VUgrQjlCLDZDRy9COEI7RUNrQjVCLFVBQThCLEVBQUE7O0FQbkJoQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbURHUDhDO1VITzlDLDJDR1A4QztFSE85QywrQkZyQnFEO01FcUJyRCwyQkZyQnFEO1VFcUJyRCx1QkZyQnFEO0VNSG5ELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEdoQztFR29CQSxxREc5QmdDO1VIOEJoQyw2Q0c5QmdDO0VDaUI5QixVQUE4QixFQUFBOztBUG5CaEM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1A4QztVSE85QywyQ0dQOEM7RUhPOUMsZ0NGcEJzRDtNRW9CdEQsNEJGcEJzRDtVRW9CdEQsd0JGcEJzRDtFTUpwRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBOEIsRUFBQTs7QVBHaEM7RUdvQkEsc0RHN0JzQztVSDZCdEMsOENHN0JzQztFQ2dCcEMsVUFBOEIsRUFBQTs7QVBuQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtREdQOEM7VUhPOUMsMkNHUDhDO0VITzlDLDhCRm5Cb0Q7TUVtQnBELDBCRm5Cb0Q7VUVtQnBELHNCRm5Cb0Q7RU1MbEQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQThCLEVBQUE7O0FQR2hDO0VHb0JBLHNERzVCb0M7VUg0QnBDLDhDRzVCb0M7RUNlbEMsVUFBOEIsRUFBQTs7QVBuQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtREdQOEM7VUhPOUMsMkNHUDhDO0VITzlDLGdDR0VlO01IRmYsNEJHRWU7VUhGZix3QkdFZTtFQzFCYix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBOEIsRUFBQTs7QVBHaEM7RUdvQkEscURHL0I4QjtVSCtCOUIsNkNHL0I4QjtFQ2tCNUIsVUFBOEIsRUFBQTs7QVBuQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtREdQOEM7VUhPOUMsMkNHUDhDO0VITzlDLGdDR0VlO01IRmYsNEJHRWU7VUhGZix3QkdFZTtFQzFCYix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBOEIsRUFBQTs7QVBHaEM7RUdvQkEscURHOUJnQztVSDhCaEMsNkNHOUJnQztFQ2lCOUIsVUFBOEIsRUFBQTs7QVBuQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYiw2QkFGeUI7TUFFekIseUJBRnlCO1VBRXpCLHFCQUZ5QjtFS3pCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQTJCLEVBQUE7O0FSTTdCO0VHb0JBLDJCQUZ5QjtNQUV6Qix1QkFGeUI7VUFFekIsbUJBRnlCO0VLZHZCLFVBQTJCLEVBQUE7O0FSaEI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsNkJBRnlCO01BRXpCLHlCQUZ5QjtVQUV6QixxQkFGeUI7RUt6QnZCLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUk03QjtFR29CQSwyQkFGeUI7TUFFekIsdUJBRnlCO1VBRXpCLG1CQUZ5QjtFS2R2QixVQUEyQixFQUFBOztBUmhCN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLDJCQUZ5QjtNQUV6Qix1QkFGeUI7VUFFekIsbUJBRnlCO0VLekJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBOEIsRUFBQTs7QVJNaEM7RUdvQkEsNkJBRnlCO01BRXpCLHlCQUZ5QjtVQUV6QixxQkFGeUI7RUtkdkIsVUFBOEIsRUFBQTs7QVJoQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYiwyQkFGeUI7TUFFekIsdUJBRnlCO1VBRXpCLG1CQUZ5QjtFS3pCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQThCLEVBQUE7O0FSTWhDO0VHb0JBLDZCQUZ5QjtNQUV6Qix5QkFGeUI7VUFFekIscUJBRnlCO0VLZHZCLFVBQThCLEVBQUE7O0FSaEJoQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsb0NBRnlCO01BRXpCLGdDQUZ5QjtVQUV6Qiw0QkFGeUI7RU0xQnZCLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBVE83QjtFR29CQSw0QkFGeUI7TUFFekIsd0JBRnlCO1VBRXpCLG9CQUZ5QjtFTWZ2QixVQUEyQixFQUFBOztBVGY3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsNEJBRnlCO01BRXpCLHdCQUZ5QjtVQUV6QixvQkFGeUI7RU0xQnZCLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBVE9oQztFR29CQSxtQ0FGeUI7TUFFekIsK0JBRnlCO1VBRXpCLDJCQUZ5QjtFTWZ2QixVQUE4QixFQUFBOztBVGZoQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbUNBRnlCO01BRXpCLCtCQUZ5QjtVQUV6QiwyQkFGeUI7RU0xQnZCLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBVE83QjtFR29CQSw0QkFGeUI7TUFFekIsd0JBRnlCO1VBRXpCLG9CQUZ5QjtFTWZ2QixVQUEyQixFQUFBOztBVGY3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsNEJBRnlCO01BRXpCLHdCQUZ5QjtVQUV6QixvQkFGeUI7RU0xQnZCLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBVE9oQztFR29CQSxvQ0FGeUI7TUFFekIsZ0NBRnlCO1VBRXpCLDRCQUZ5QjtFTWZ2QixVQUE4QixFQUFBOztBUm1COUI7RUFBWSw2Q0FBc0M7VUFBdEMscUNBQXNDLEVBQUE7O0FBQWxEO0VBQVksNkNBQXNDO1VBQXRDLHFDQUFzQyxFQUFBOztBQU1sRDtFQUFZLHFEQUE2QztVQUE3Qyw2Q0FBNkMsRUFBQTs7QUFBekQ7RUFBWSxtREFBNkM7VUFBN0MsMkNBQTZDLEVBQUE7O0FBQXpEO0VBQVksc0RBQTZDO1VBQTdDLDhDQUE2QyxFQUFBOztBQUF6RDtFQUFZLHVEQUE2QztVQUE3QywrQ0FBNkMsRUFBQTs7QUFBekQ7RUFBWSwwREFBNkM7VUFBN0Msa0RBQTZDLEVBQUE7O0FBQXpEO0VBQVksc0ZBQTZDO1VBQTdDLDhFQUE2QyxFQUFBOztBQUF6RDtFQUFZLHVGQUE2QztVQUE3QywrRUFBNkMsRUFBQTs7QUFBekQ7RUFBWSxzRkFBNkM7VUFBN0MsOEVBQTZDLEVBQUE7O0FBTXpEO0VBQWtCLDBDQUFtQztVQUFuQyxrQ0FBbUMsRUFBQTs7QUFBckQ7RUFBa0IsMENBQW1DO1VBQW5DLGtDQUFtQyxFQUFBOztBQVF6RDtFU3RFQSwrQkFBOEI7VUFBOUIsdUJBQThCLEVBQUE7O0FQSzlCO0VBR0k7SUFHSSxpQ0FBVTtZQUFWLHlCQUFVLEVBQUE7RUFIZDtJQUdJLGtDQUFVO1lBQVYsMEJBQVUsRUFBQSxFQUFBOztBQU5sQjtFQUdJO0lBR0ksaUNBQVU7WUFBVix5QkFBVSxFQUFBO0VBSGQ7SUFHSSxrQ0FBVTtZQUFWLDBCQUFVLEVBQUEsRUFBQTs7QUY0RGxCO0VTdkVBLHFDQUE4QjtVQUE5Qiw2QkFBOEIsRUFBQTs7QVBLOUI7RUFHSTtJQUdJLGlDQUFVO1lBQVYseUJBQVUsRUFBQTtFQUhkO0lBR0ksNEJBQVU7WUFBVixvQkFBVSxFQUFBLEVBQUE7O0FBTmxCO0VBR0k7SUFHSSxpQ0FBVTtZQUFWLHlCQUFVLEVBQUE7RUFIZDtJQUdJLDRCQUFVO1lBQVYsb0JBQVUsRUFBQSxFQUFBOztBRjZEbEI7RVN4RUEsc0NBQThCO1VBQTlCLDhCQUE4QixFQUFBOztBUEs5QjtFQUdJO0lBR0ksNEJBQVU7WUFBVixvQkFBVSxFQUFBO0VBSGQ7SUFHSSxpQ0FBVTtZQUFWLHlCQUFVLEVBQUEsRUFBQTs7QUFObEI7RUFHSTtJQUdJLDRCQUFVO1lBQVYsb0JBQVUsRUFBQTtFQUhkO0lBR0ksaUNBQVU7WUFBVix5QkFBVSxFQUFBLEVBQUE7O0FGOERsQjtFU3pFQSxtQ0FBOEI7VUFBOUIsMkJBQThCLEVBQUE7O0FQSzlCO0VBR0k7SUFHSSwrQkFBVTtZQUFWLHVCQUFVLEVBQUE7RUFIZDtJQUdJLGdDQUFVO1lBQVYsd0JBQVUsRUFBQTtFQUhkO0lBR0ksNEJBQVU7WUFBVixvQkFBVSxFQUFBLEVBQUE7O0FBTmxCO0VBR0k7SUFHSSwrQkFBVTtZQUFWLHVCQUFVLEVBQUE7RUFIZDtJQUdJLGdDQUFVO1lBQVYsd0JBQVUsRUFBQTtFQUhkO0lBR0ksNEJBQVU7WUFBVixvQkFBVSxFQUFBLEVBQUE7O0FGZ0VsQjs7OztFQUlFLGlDQy9EWTtVRCtEWix5QkMvRFksRUFBQTs7QURvRWQ7RUFBWSwyQ0FBbUM7VUFBbkMsbUNBQW1DLEVBQUE7O0FBbEMzQztFQXNDWSw0Q0FBcUM7VUFBckMsb0NBQXFDLEVBQUE7O0FBdENqRDtFQXNDWSw0Q0FBcUM7VUFBckMsb0NBQXFDLEVBQUE7O0FBaENqRDtFQXNDWSxvREFBNEM7VUFBNUMsNENBQTRDLEVBQUE7O0FBdEN4RDtFQXNDWSxrREFBNEM7VUFBNUMsMENBQTRDLEVBQUE7O0FBdEN4RDtFQXNDWSxxREFBNEM7VUFBNUMsNkNBQTRDLEVBQUE7O0FBdEN4RDtFQXNDWSxzREFBNEM7VUFBNUMsOENBQTRDLEVBQUE7O0FBdEN4RDtFQXNDWSx5REFBNEM7VUFBNUMsaURBQTRDLEVBQUE7O0FBdEN4RDtFQXNDWSxxRkFBNEM7VUFBNUMsNkVBQTRDLEVBQUE7O0FBdEN4RDtFQXNDWSxzRkFBNEM7VUFBNUMsOEVBQTRDLEVBQUE7O0FBdEN4RDtFQXNDWSxxRkFBNEM7VUFBNUMsNkVBQTRDLEVBQUE7O0FBaEN4RDtFQXNDa0IseUNBQWtDO1VBQWxDLGlDQUFrQyxFQUFBOztBQXRDcEQ7RUFzQ2tCLHlDQUFrQztVQUFsQyxpQ0FBa0MsRUFBQTs7QVV4RzFEO0VBQ0UsMEJBQTBCLEVBQUE7O0FBSTVCO0VBSU0sZ0JoRThFbUQsRUFBQTs7QWdFbEZ6RDtFQVVNLGFoRXdFbUQ7RWdFdEVqRCxTaEVzRWlELEVBQUE7O0FUeEZ6RDtFQUNJLDhCQUE4QjtFQUM5Qix3REFBd0Q7RUFDeEQsbUJBQW1CO0VBQ25CLGtCQUFrQixFQUFBOztBQUV0QjtFQUNJLG9DQUFvQztFQUNwQyw4REFBOEQ7RUFDOUQsbUJBQW1CO0VBQ25CLGtCQUFrQixFQUFBOztBMEVWdEI7O0MzRWczSkM7QTJFNTJKRCxnQ0FBQTtBQUdFO0VBQ0kseUJ6REZrQixFQUFBOztBeURLdEI7RUFDSSxjekROa0IsRUFBQTs7QXlEQ3RCO0VBQ0kseUJ6RExjLEVBQUE7O0F5RFFsQjtFQUNJLGN6RFRjLEVBQUE7O0F5RElsQjtFQUNJLHlCekRQYyxFQUFBOztBeURVbEI7RUFDSSxjekRYYyxFQUFBOztBeURNbEI7RUFDSSx5QnpERGMsRUFBQTs7QXlESWxCO0VBQ0ksY3pETGMsRUFBQTs7QXlEQWxCO0VBQ0kseUJ6RERjLEVBQUE7O0F5RElsQjtFQUNJLGN6RExjLEVBQUE7O0F5RFNwQixvQkFBQTtBQUNBO0VBUVUseUJ6RG5CYyxFQUFBOztBeURXeEI7RUFZVSxjekR2QmMsRUFBQTs7QXlEV3hCO0VBUVUseUJ6RHRCVSxFQUFBOztBeURjcEI7RUFZVSxjekQxQlUsRUFBQTs7QXlEY3BCO0VBUVUseUJ6RHhCVSxFQUFBOztBeURnQnBCO0VBWVUsY3pENUJVLEVBQUE7O0F5RGdCcEI7RUFRVSx5QnpEbEJVLEVBQUE7O0F5RFVwQjtFQVlVLGN6RHRCVSxFQUFBOztBeURVcEI7RUFRVSx5QnpEbEJVLEVBQUE7O0F5RFVwQjtFQVlVLGN6RHRCVSxFQUFBOztBeURVcEI7RUFtQkUsZ0JBQWdCLEVBQUE7O0FBb0JsQixrQkFBQTtBQUNBO0UzQ3lDRSxxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLFN6QitNZTtFeUJyTWIsa0J6Qm9NOEM7RXlCak1oRCw2QnpCeU1tQztFeUJ4TW5DLG1CekJkMEI7RXlCZTFCLHlFekJtTnVFO0V5Qm5OdkUsaUV6Qm1OdUU7RXlCbE52RSxvQnpCMkwwQjtFeUIxTDFCLGlCekIwTWU7RXlCeE1mLHdCQUF3QjtFQUN4QixjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLGVBQWUsRUFBQTtFaEN1MEpmO0lRdnZKRSxVQUFVLEVBQUE7RXdCTFo7SUFJRSx5QmRuTW9CO0ljb01wQixjekJqSFcsRUFBQTtFeUJvSGI7SUFDRSx5QnpCd0d1RTtJeUJ2R3ZFLGN6QnRI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T09yQztFQUF1QyxnQlBQRixFQUFBOztBT1FyQztFQUFzQyxnQlBSRCxFQUFBOztBT1NyQztFQUFnRSxnQlBUM0IsRUFBQTs7QU9VckM7RUFBbUMsZ0JQVkUsRUFBQTs7QU9XckM7RUFBbUMsZ0JQWEUsRUFBQTs7QU9ZckM7RUFBb0MsZ0JQWkMsRUFBQTs7QU9hckM7RUFBc0MsZ0JQYkQsRUFBQTs7QU9jckM7RUFBOEMsZ0JQZFQsRUFBQTs7QU9lckM7RUFBOEMsZ0JQZlQsRUFBQTs7QU9nQnJDO0VBQStDLGdCUGhCVixFQUFBOztBT2lCckM7RUFBNEMsZ0JQakJQLEVBQUE7O0FPa0JyQztFQUF1QyxnQlBsQkYsRUFBQTs7QU9tQnJDO0VBQXVDLGdCUG5CRixFQUFBOztBT29CckM7RUFBd0MsZ0JQcEJILEVBQUE7O0FPcUJyQztFQUFxQyxnQlByQkEsRUFBQTs7QU9zQnJDO0VBQWtDLGdCUHRCRyxFQUFBOztBT3VCckM7RUFBMEMsZ0JQdkJMLEVBQUE7O0FPd0JyQztFQUFvQyxnQlB4QkMsRUFBQTs7QU95QnJDO0VBQWlDLGdCUHpCSSxFQUFBOztBTzBCckM7RUFBc0MsZ0JQMUJELEVBQUE7O0FPMkJyQztFQUEwQyxnQlAzQkwsRUFBQTs7QU80QnJDO0VBQWtDLGdCUDVCRyxFQUFBOztBTzZCckM7RUFBa0MsZ0JQN0JHLEVBQUE7O0FPOEJyQztFQUFzQyxnQlA5QkQsRUFBQTs7QU8rQnJDO0VBQXNDLGdCUC9CRCxFQUFBOztBT2dDckM7RUFBb0MsZ0JQaENDLEVBQUE7O0FPaUNyQztFQUFvQyxnQlBqQ0MsRUFBQTs7QU9rQ3JDO0VBQWtELGdCUGxDYixFQUFBOztBT21DckM7RUFBa0QsZ0JQbkNiLEVBQUE7O0FPb0NyQztFQUFtRCxnQlBwQ2QsRUFBQTs7QU9xQ3JDO0VBQWdELGdCUHJDWCxFQUFBOztBT3NDckM7RUFBOEMsZ0JQdENULEVBQUE7O0FPdUNyQztFQUE4QyxnQlB2Q1QsRUFBQTs7QU93Q3JDO0VBQStDLGdCUHhDVixFQUFBOztBT3lDckM7RUFBNEMsZ0JQekNQLEVBQUE7O0FPMENyQztFQUF1QyxnQlAxQ0YsRUFBQTs7QU8yQ3JDO0VBQXVDLGdCUDNDRixFQUFBOztBTzRDckM7RUFBd0MsZ0JQNUNILEVBQUE7O0FPNkNyQztFQUFxQyxnQlA3Q0EsRUFBQTs7QU84Q3JDO0VBQXVDLGdCUDlDRixFQUFBOztBTytDckM7RUFBeUMsZ0JQL0NKLEVBQUE7O0FPZ0RyQztFQUF5QyxnQlBoREosRUFBQTs7QU9pRHJDO0VBQXVDLGdCUGpERixFQUFBOztBT2tEckM7RUFBd0QsZ0JQbERuQixFQUFBOztBT21EckM7RUFBcUMsZ0JQbkRBLEVBQUE7O0FPb0RyQztFQUF1QyxnQlBwREYsRUFBQTs7QU9xRHJDO0VBQStCLGdCUHJETSxFQUFBOztBT3NEckM7RUFBa0MsZ0JQdERHLEVBQUE7O0FPdURyQztFQUFzQyxnQlB2REQsRUFBQTs7QU93RHJDO0VBQWlDLGdCUHhESSxFQUFBOztBT3lEckM7RUFBb0MsZ0JQekRDLEVBQUE7O0FPMERyQztFQUE4QyxnQlAxRFQsRUFBQTs7QU8yRHJDO0VBQXlDLGdCUDNESixFQUFBOztBTzREckM7RUFBb0MsZ0JQNURDLEVBQUE7O0FPNkRyQztFQUFtQyxnQlA3REUsRUFBQTs7QU84RHJDO0VBQWtDLGdCUDlERyxFQUFBOztBTytEckM7RUFBZ0MsZ0JQL0RLLEVBQUE7O0FPZ0VyQztFQUFpQyxnQlBoRUksRUFBQTs7QU9pRXJDO0VBQTBDLGdCUGpFTCxFQUFBOztBT2tFckM7RUFBc0MsZ0JQbEVELEVBQUE7O0FPbUVyQztFQUFxQyxnQlBuRUEsRUFBQTs7QU9vRXJDO0VBQWtDLGdCUHBFRyxFQUFBOztBT3FFckM7RUFBcUMsZ0JQckVBLEVBQUE7O0FPc0VyQztFQUFzQyxnQlB0RUQsRUFBQTs7QU91RXJDO0VBQWtDLGdCUHZFRyxFQUFBOztBT3dFckM7RUFBMEMsZ0JQeEVMLEVBQUE7O0FPeUVyQztFQUErQyxnQlB6RVYsRUFBQTs7QU8wRXJDO0VBQWdELGdCUDFFWCxFQUFBOztBTzJFckM7RUFBZ0MsZ0JQM0VLLEVBQUE7O0FPNEVyQztFQUFxQyxnQlA1RUEsRUFBQTs7QU82RXJDO0VBQXFDLGdCUDdFQSxFQUFBOztBTzhFckM7RUFBb0MsZ0JQOUVDLEVBQUE7O0FPK0VyQztFQUFpQyxnQlAvRUksRUFBQTs7QU9nRnJDO0VBQTBDLGdCUGhGTCxFQUFBOztBT2lGckM7RUFBNEMsZ0JQakZQLEVBQUE7O0FPa0ZyQztFQUFpQyxnQlBsRkksRUFBQTs7QU9tRnJDO0VBQTBDLGdCUG5GTCxFQUFBOztBT29GckM7RUFBeUMsZ0JQcEZKLEVBQUE7O0FPcUZyQztFQUF5QyxnQlByRkosRUFBQTs7QU9zRnJDO0VBQTRDLGdCUHRGUCxFQUFBOztBT3VGckM7RUFBbUQsZ0JQdkZkLEVBQUE7O0FPd0ZyQztFQUF1QyxnQlB4RkYsRUFBQTs7QU95RnJDO0VBQWdDLGdCUHpGSyxFQUFBOztBTzBGckM7RUFBaUMsZ0JQMUZJLEVBQUE7O0FPMkZyQztFQUFvQyxnQlAzRkMsRUFBQTs7QU80RnJDO0VBQTJDLGdCUDVGTixFQUFBOztBTzZGckM7RUFBaUMsZ0JQN0ZJLEVBQUE7O0FPOEZyQztFQUF1QyxnQlA5RkYsRUFBQTs7QU8rRnJDO0VBQXlDLGdCUC9GSixFQUFBOztBT2dHckM7RUFBa0MsZ0JQaEdHLEVBQUE7O0FPaUdyQztFQUFvQyxnQlBqR0MsRUFBQTs7QU9rR3JDO0VBQW1DLGdCUGxHRSxFQUFBOztBT21HckM7RUFBc0MsZ0JQbkdELEVBQUE7O0FPb0dyQztFQUF1QyxnQlBwR0YsRUFBQTs7QU9xR3JDO0VBQXNDLGdCUHJHRCxFQUFBOztBT3NHckM7RUFBMEMsZ0JQdEdMLEVBQUE7O0FPdUdyQztFQUFzQyxnQlB2R0QsRUFBQTs7QU93R3JDO0VBQW9DLGdCUHhHQyxFQUFBOztBT3lHckM7RUFBaUMsZ0JQekdJLEVBQUE7O0FPMEdyQztFQUFzQyxnQlAxR0QsRUFBQTs7QU8yR3JDO0VBQXVDLGdCUDNHRixFQUFBOztBTzRHckM7RUFBb0MsZ0JQNUdDLEVBQUE7O0FPNkdyQztFQUEwQyxnQlA3R0wsRUFBQTs7QU84R3JDO0VBQWtDLGdCUDlHRyxFQUFBOztBTytHckM7RUFBaUMsZ0JQL0dJLEVBQUE7O0FPZ0hyQztFQUFvQyxnQlBoSEMsRUFBQTs7QU9pSHJDO0VBQXNDLGdCUGpIRCxFQUFBOztBT2tIckM7RUFBc0MsZ0JQbEhELEVBQUE7O0FPbUhyQztFQUF3QyxnQlBuSEgsRUFBQTs7QU9vSHJDO0VBQWlDLGdCUHBISSxFQUFBOztBT3FIckM7RUFBaUMsZ0JQckhJLEVBQUE7O0FPc0hyQztFQUFpQyxnQlB0SEksRUFBQTs7QU91SHJDO0VBQWlDLGdCUHZISSxFQUFBOztBT3dIckM7RUFBaUMsZ0JQeEhJLEVBQUE7O0FPeUhyQztFQUFpQyxnQlB6SEksRUFBQTs7QU8wSHJDO0VBQXNDLGdCUDFIRCxFQUFBOztBTzJIckM7RUFBeUMsZ0JQM0hKLEVBQUE7O0FPNEhyQztFQUFzQyxnQlA1SEQsRUFBQTs7QU82SHJDO0VBQXdDLGdCUDdISCxFQUFBOztBTzhIckM7RUFBcUMsZ0JQOUhBLEVBQUE7O0FPK0hyQztFQUFzQyxnQlAvSEQsRUFBQTs7QU9nSXJDO0VBQXVDLGdCUGhJRixFQUFBOztBT2lJckM7RUFBd0MsZ0JQaklILEVBQUE7O0FPa0lyQztFQUF5QyxnQlBsSUosRUFBQTs7QU9tSXJDO0VBQXlDLGdCUG5JSixFQUFBOztBT29JckM7RUFBZ0MsZ0JQcElLLEVBQUE7O0FPcUlyQztFQUFxQyxnQlBySUEsRUFBQTs7QU9zSXJDO0VBQXVDLGdCUHRJRixFQUFBOztBT3VJckM7RUFBa0MsZ0JQdklHLEVBQUE7O0FPd0lyQztFQUFvQyxnQlB4SUMsRUFBQTs7QU95SXJDO0VBQWtDLGdCUHpJRyxFQUFBOztBTzBJckM7RUFBd0MsZ0JQMUlILEVBQUE7O0FPMklyQztFQUFzQyxnQlAzSUQsRUFBQTs7QU80SXJDO0VBQThDLGdCUDVJVCxFQUFBOztBTzZJckM7RUFBNEMsZ0JQN0lQLEVBQUE7O0FPOElyQztFQUFrQyxnQlA5SUcsRUFBQTs7QU8rSXJDO0VBQWtDLGdCUC9JRyxFQUFBOztBT2dKckM7RUFBZ0MsZ0JQaEpLLEVBQUE7O0FPaUpyQztFQUFtQyxnQlBqSkUsRUFBQTs7QU9rSnJDO0VBQWdDLGdCUGxKSyxFQUFBOztBT21KckM7RUFBcUMsZ0JQbkpBLEVBQUE7O0FPb0pyQztFQUFxQyxnQlBwSkEsRUFBQTs7QU9xSnJDO0VBQXFDLGdCUHJKQSxFQUFBOztBT3NKckM7RUFBaUMsZ0JQdEpJLEVBQUE7O0FPdUpyQztFQUE2QyxnQlB2SlIsRUFBQTs7QU93SnJDO0VBQWdDLGdCUHhKSyxFQUFBOztBT3lKckM7RUFBb0MsZ0JQekpDLEVBQUE7O0FPMEpyQztFQUEwQyxnQlAxSkwsRUFBQTs7QU8ySnJDO0VBQXdDLGdCUDNKSCxFQUFBOztBTzRKckM7RUFBdUMsZ0JQNUpGLEVBQUE7O0FPNkpyQztFQUF1QyxnQlA3SkYsRUFBQTs7QU84SnJDO0VBQXFDLGdCUDlKQSxFQUFBOztBTytKckM7RUFBeUMsZ0JQL0pKLEVBQUE7O0FPZ0tyQztFQUEyQyxnQlBoS04sRUFBQTs7QU9pS3JDO0VBQXlDLGdCUGpLSixFQUFBOztBT2tLckM7RUFBMkMsZ0JQbEtOLEVBQUE7O0FPbUtyQztFQUEwQyxnQlBuS0wsRUFBQTs7QU9vS3JDO0VBQTJDLGdCUHBLTixFQUFBOztBT3FLckM7RUFBMEMsZ0JQcktMLEVBQUE7O0FPc0tyQztFQUFtQyxnQlB0S0UsRUFBQTs7QU91S3JDO0VBQXlDLGdCUHZLSixFQUFBOztBT3dLckM7RUFBdUMsZ0JQeEtGLEVBQUE7O0FPeUtyQztFQUFnRCxnQlB6S1gsRUFBQTs7QU8wS3JDO0VBQXVDLGdCUDFLRixFQUFBOztBTzJLckM7RUFBcUMsZ0JQM0tBLEVBQUE7O0FPNEtyQztFQUFxQyxnQlA1S0EsRUFBQTs7QU82S3JDO0VBQWdDLGdCUDdLSyxFQUFBOztBTzhLckM7RUFBb0MsZ0JQOUtDLEVBQUE7O0FPK0tyQztFQUF3QyxnQlAvS0gsRUFBQTs7QU9nTHJDO0VBQXNDLGdCUGhMRCxFQUFBOztBT2lMckM7RUFBcUMsZ0JQakxBLEVBQUE7O0FPa0xyQztFQUFvQyxnQlBsTEMsRUFBQTs7QU9tTHJDO0VBQXVDLGdCUG5MRixFQUFBOztBT29MckM7RUFBdUMsZ0JQcExGLEVBQUE7O0FPcUxyQztFQUF3QyxnQlByTEgsRUFBQTs7QU9zTHJDO0VBQThDLGdCUHRMVCxFQUFBOztBT3VMckM7RUFBOEMsZ0JQdkxULEVBQUE7O0FPd0xyQztFQUErQyxnQlB4TFYsRUFBQTs7QU95THJDO0VBQTRDLGdCUHpMUCxFQUFBOztBTzBMckM7RUFBcUMsZ0JQMUxBLEVBQUE7O0FPMkxyQztFQUFtQyxnQlAzTEUsRUFBQTs7QU80THJDO0VBQTRDLGdCUDVMUCxFQUFBOztBTzZMckM7RUFBc0MsZ0JQN0xELEVBQUE7O0FPOExyQztFQUEwQyxnQlA5TEwsRUFBQTs7QU8rTHJDO0VBQWdDLGdCUC9MSyxFQUFBOztBT2dNckM7RUFBMEMsZ0JQaE1MLEVBQUE7O0FPaU1yQztFQUFvQyxnQlBqTUMsRUFBQTs7QU9rTXJDO0VBQXlDLGdCUGxNSixFQUFBOztBT21NckM7RUFBMkMsZ0JQbk1OLEVBQUE7O0FPb01yQztFQUF3QyxnQlBwTUgsRUFBQTs7QU9xTXJDO0VBQW1DLGdCUHJNRSxFQUFBOztBT3NNckM7RUFBMEMsZ0JQdE1MLEVBQUE7O0FPdU1yQztFQUFzQyxnQlB2TUQsRUFBQTs7QU93TXJDO0VBQXNDLGdCUHhNRCxFQUFBOztBT3lNckM7RUFBb0MsZ0JQek1DLEVBQUE7O0FPME1yQztFQUF1QyxnQlAxTUYsRUFBQTs7QU8yTXJDO0VBQW1DLGdCUDNNRSxFQUFBOztBTzRNckM7RUFBd0MsZ0JQNU1ILEVBQUE7O0FPNk1yQztFQUFrQyxnQlA3TUcsRUFBQTs7QU84TXJDO0VBQXVDLGdCUDlNRixFQUFBOztBTytNckM7RUFBK0MsZ0JQL01WLEVBQUE7O0FPZ05yQztFQUE2QyxnQlBoTlIsRUFBQTs7QU9pTnJDO0VBQXVDLGdCUGpORixFQUFBOztBT2tOckM7RUFBc0MsZ0JQbE5ELEVBQUE7O0FPbU5yQztFQUF1QyxnQlBuTkYsRUFBQTs7QU9vTnJDO0VBQXNDLGdCUHBORCxFQUFBOztBT3FOckM7RUFBa0MsZ0JQck5HLEVBQUE7O0FPc05yQztFQUF5QyxnQlB0TkosRUFBQTs7QU91TnJDO0VBQXlDLGdCUHZOSixFQUFBOztBT3dOckM7RUFBeUMsZ0JQeE5KLEVBQUE7O0FPeU5yQztFQUFtQyxnQlB6TkUsRUFBQTs7QU8wTnJDO0VBQWtDLGdCUDFORyxFQUFBOztBTzJOckM7RUFBeUMsZ0JQM05KLEVBQUE7O0FPNE5yQztFQUF3QyxnQlA1TkgsRUFBQTs7QU82TnJDO0VBQXVDLGdCUDdORixFQUFBOztBTzhOckM7RUFBeUMsZ0JQOU5KLEVBQUE7O0FPK05yQztFQUF1QyxnQlAvTkYsRUFBQTs7QU9nT3JDO0VBQXdDLGdCUGhPSCxFQUFBOztBT2lPckM7RUFBdUMsZ0JQak9GLEVBQUE7O0FPa09yQztFQUFnRCxnQlBsT1gsRUFBQTs7QU9tT3JDO0VBQWdELGdCUG5PWCxFQUFBOztBT29PckM7RUFBaUQsZ0JQcE9aLEVBQUE7O0FPcU9yQztFQUE4QyxnQlByT1QsRUFBQTs7QU9zT3JDO0VBQXlDLGdCUHRPSixFQUFBOztBT3VPckM7RUFBeUMsZ0JQdk9KLEVBQUE7O0FPd09yQztFQUEwQyxnQlB4T0wsRUFBQTs7QU95T3JDO0VBQXVDLGdCUHpPRixFQUFBOztBTzBPckM7RUFBa0MsZ0JQMU9HLEVBQUE7O0FPMk9yQztFQUFtQyxnQlAzT0UsRUFBQTs7QU80T3JDO0VBQXVDLGdCUDVPRixFQUFBOztBTzZPckM7RUFBbUMsZ0JQN09FLEVBQUE7O0FPOE9yQztFQUFtQyxnQlA5T0UsRUFBQTs7QU8rT3JDO0VBQXlDLGdCUC9PSixFQUFBOztBT2dQckM7RUFBaUMsZ0JQaFBJLEVBQUE7O0FPaVByQztFQUEyQyxnQlBqUE4sRUFBQTs7QU9rUHJDO0VBQXNDLGdCUGxQRCxFQUFBOztBT21QckM7RUFBNEMsZ0JQblBQLEVBQUE7O0FPb1ByQztFQUEyQyxnQlBwUE4sRUFBQTs7QU9xUHJDO0VBQWtDLGdCUHJQRyxFQUFBOztBT3NQckM7RUFBa0MsZ0JQdFBHLEVBQUE7O0FPdVByQztFQUE4QyxnQlB2UFQsRUFBQTs7QU93UHJDO0VBQWtDLGdCUHhQRyxFQUFBOztBT3lQckM7RUFBK0MsZ0JQelBWLEVBQUE7O0FPMFByQztFQUEyQyxnQlAxUE4sRUFBQTs7QU8yUHJDO0VBQXVDLGdCUDNQRixFQUFBOztBTzRQckM7RUFBNEMsZ0JQNVBQLEVBQUE7O0FPNlByQztFQUF1QyxnQlA3UEYsRUFBQTs7QU84UHJDO0VBQWdELGdCUDlQWCxFQUFBOztBTytQckM7RUFBc0MsZ0JQL1BELEVBQUE7O0FPZ1FyQztFQUEyQyxnQlBoUU4sRUFBQTs7QU9pUXJDO0VBQTZDLGdCUGpRUixFQUFBOztBT2tRckM7RUFBdUMsZ0JQbFFGLEVBQUE7O0FPbVFyQztFQUF1QyxnQlBuUUYsRUFBQTs7QU9vUXJDO0VBQXVDLGdCUHBRRixFQUFBOztBT3FRckM7RUFBeUMsZ0JQclFKLEVBQUE7O0FPc1FyQztFQUFxQyxnQlB0UUEsRUFBQTs7QU91UXJDO0VBQWlDLGdCUHZRSSxFQUFBOztBT3dRckM7RUFBd0MsZ0JQeFFILEVBQUE7O0FPeVFyQztFQUFvQyxnQlB6UUMsRUFBQTs7QU8wUXJDO0VBQXFDLGdCUDFRQSxFQUFBOztBTzJRckM7RUFBbUMsZ0JQM1FFLEVBQUE7O0FPNFFyQztFQUFnQyxnQlA1UUssRUFBQTs7QU82UXJDO0VBQWlDLGdCUDdRSSxFQUFBOztBTzhRckM7RUFBa0MsZ0JQOVFHLEVBQUE7O0FPK1FyQztFQUFvQyxnQlAvUUMsRUFBQTs7QU9nUnJDO0VBQW9DLGdCUGhSQyxFQUFBOztBT2lSckM7RUFBd0MsZ0JQalJILEVBQUE7O0FPa1JyQztFQUEyQyxnQlBsUk4sRUFBQTs7QU9tUnJDO0VBQXlDLGdCUG5SSixFQUFBOztBT29SckM7RUFBNEMsZ0JQcFJQLEVBQUE7O0FPcVJyQztFQUEwQyxnQlByUkwsRUFBQTs7QU9zUnJDO0VBQXFDLGdCUHRSQSxFQUFBOztBT3VSckM7RUFBNEMsZ0JQdlJQLEVBQUE7O0FPd1JyQztFQUF5QyxnQlB4UkosRUFBQTs7QU95UnJDO0VBQW9DLGdCUHpSQyxFQUFBOztBTzBSckM7RUFBcUMsZ0JQMVJBLEVBQUE7O0FPMlJyQztFQUF5QyxnQlAzUkosRUFBQTs7QU80UnJDO0VBQWdELGdCUDVSWCxFQUFBOztBTzZSckM7RUFBMkMsZ0JQN1JOLEVBQUE7O0FPOFJyQztFQUF1QyxnQlA5UkYsRUFBQTs7QU8rUnJDO0VBQTJDLGdCUC9STixFQUFBOztBT2dTckM7RUFBbUMsZ0JQaFNFLEVBQUE7O0FPaVNyQztFQUFtQyxnQlBqU0UsRUFBQTs7QU9rU3JDO0VBQXdDLGdCUGxTSCxFQUFBOztBT21TckM7RUFBaUMsZ0JQblNJLEVBQUE7O0FPb1NyQztFQUFzQyxnQlBwU0QsRUFBQTs7QU9xU3JDO0VBQTBDLGdCUHJTTCxFQUFBOztBT3NTckM7RUFBa0MsZ0JQdFNHLEVBQUE7O0FPdVNyQztFQUFtQyxnQlB2U0UsRUFBQTs7QU93U3JDO0VBQTZDLGdCUHhTUixFQUFBOztBT3lTckM7RUFBZ0QsZ0JQelNYLEVBQUE7O0FPMFNyQztFQUFnRCxnQlAxU1gsRUFBQTs7QU8yU3JDO0VBQW1ELGdCUDNTZCxFQUFBOztBTzRTckM7RUFBbUQsZ0JQNVNkLEVBQUE7O0FPNlNyQztFQUFnRCxnQlA3U1gsRUFBQTs7QU84U3JDO0VBQWdELGdCUDlTWCxFQUFBOztBTytTckM7RUFBb0QsZ0JQL1NmLEVBQUE7O0FPZ1RyQztFQUFtRCxnQlBoVGQsRUFBQTs7QU9pVHJDO0VBQWdELGdCUGpUWCxFQUFBOztBT2tUckM7RUFBc0QsZ0JQbFRqQixFQUFBOztBT21UckM7RUFBMkQsZ0JQblR0QixFQUFBOztBT29UckM7RUFBbUQsZ0JQcFRkLEVBQUE7O0FPcVRyQztFQUFrRCxnQlByVGIsRUFBQTs7QU9zVHJDO0VBQXdDLGdCUHRUSCxFQUFBOztBT3VUckM7RUFBMEMsZ0JQdlRMLEVBQUE7O0FPd1RyQztFQUFpQyxnQlB4VEksRUFBQTs7QU95VHJDO0VBQXFDLGdCUHpUQSxFQUFBOztBTzBUckM7RUFBa0MsZ0JQMVRHLEVBQUE7O0FPMlRyQztFQUF1QyxnQlAzVEYsRUFBQTs7QU80VHJDO0VBQWlDLGdCUDVUSSxFQUFBOztBTzZUckM7RUFBa0MsZ0JQN1RHLEVBQUE7O0FPOFRyQztFQUFtQyxnQlA5VEUsRUFBQTs7QU8rVHJDO0VBQWlDLGdCUC9USSxFQUFBOztBT2dVckM7RUFBcUMsZ0JQaFVBLEVBQUE7O0FPaVVyQztFQUFpQyxnQlBqVUksRUFBQTs7QU9rVXJDO0VBQWtDLGdCUGxVRyxFQUFBOztBT21VckM7RUFBZ0MsZ0JQblVLLEVBQUE7O0FPb1VyQztFQUF1QyxnQlBwVUYsRUFBQTs7QU9xVXJDO0VBQW9DLGdCUHJVQyxFQUFBOztBT3NVckM7RUFBMkMsZ0JQdFVOLEVBQUE7O0FPdVVyQztFQUF3QyxnQlB2VUgsRUFBQTs7QU93VXJDO0VBQXFDLGdCUHhVQSxFQUFBOztBT3lVckM7RUFBcUMsZ0JQelVBLEVBQUE7O0FPMFVyQztFQUFpQyxnQlAxVUksRUFBQTs7QU8yVXJDO0VBQW1DLGdCUDNVRSxFQUFBOztBTzRVckM7RUFBc0MsZ0JQNVVELEVBQUE7O0FPNlVyQztFQUFxQyxnQlA3VUEsRUFBQTs7QU84VXJDO0VBQXNDLGdCUDlVRCxFQUFBOztBTytVckM7RUFBb0MsZ0JQL1VDLEVBQUE7O0FPZ1ZyQztFQUFvQyxnQlBoVkMsRUFBQTs7QU9pVnJDO0VBQWdDLGdCUGpWSyxFQUFBOztBT2tWckM7RUFBdUMsZ0JQbFZGLEVBQUE7O0FPbVZyQztFQUF5QyxnQlBuVkosRUFBQTs7QU9vVnJDO0VBQWdDLGdCUHBWSyxFQUFBOztBT3FWckM7RUFBc0MsZ0JQclZELEVBQUE7O0FPc1ZyQztFQUFxQyxnQlB0VkEsRUFBQTs7QU91VnJDO0VBQWlDLGdCUHZWSSxFQUFBOztBT3dWckM7RUFBcUMsZ0JQeFZBLEVBQUE7O0FPeVZyQztFQUFvQyxnQlB6VkMsRUFBQTs7QU8wVnJDO0VBQXNDLGdCUDFWRCxFQUFBOztBTzJWckM7RUFBc0MsZ0JQM1ZELEVBQUE7O0FPNFZyQztFQUFxQyxnQlA1VkEsRUFBQTs7QU82VnJDO0VBQXFDLGdCUDdWQSxFQUFBOztBTzhWckM7RUFBdUMsZ0JQOVZGLEVBQUE7O0FPK1ZyQztFQUFxQyxnQlAvVkEsRUFBQTs7QU9nV3JDO0VBQWlDLGdCUGhXSSxFQUFBOztBT2lXckM7RUFBMEMsZ0JQaldMLEVBQUE7O0FPa1dyQztFQUErQyxnQlBsV1YsRUFBQTs7QU9tV3JDO0VBQXVDLGdCUG5XRixFQUFBOztBT29XckM7RUFBb0MsZ0JQcFdDLEVBQUE7O0FPcVdyQztFQUFzQyxnQlByV0QsRUFBQTs7QU9zV3JDO0VBQW9DLGdCUHRXQyxFQUFBOztBT3VXckM7RUFBbUMsZ0JQdldFLEVBQUE7O0FPd1dyQztFQUFrQyxnQlB4V0csRUFBQTs7QU95V3JDO0VBQWdDLGdCUHpXSyxFQUFBOztBTzBXckM7RUFBbUMsZ0JQMVdFLEVBQUE7O0FPMldyQztFQUFtQyxnQlAzV0UsRUFBQTs7QU80V3JDO0VBQWdDLGdCUDVXSyxFQUFBOztBTzZXckM7RUFBd0MsZ0JQN1dILEVBQUE7O0FPOFdyQztFQUFrQyxnQlA5V0csRUFBQTs7QU8rV3JDO0VBQTBDLGdCUC9XTCxFQUFBOztBT2dYckM7RUFBbUMsZ0JQaFhFLEVBQUE7O0FPaVhyQztFQUF3QyxnQlBqWEgsRUFBQTs7QU9rWHJDO0VBQXNDLGdCUGxYRCxFQUFBOztBT21YckM7RUFBdUMsZ0JQblhGLEVBQUE7O0FPb1hyQztFQUFpQyxnQlBwWEksRUFBQTs7QU9xWHJDO0VBQXFDLGdCUHJYQSxFQUFBOztBT3NYckM7RUFBMEMsZ0JQdFhMLEVBQUE7O0FPdVhyQztFQUE2QyxnQlB2WFIsRUFBQTs7QU93WHJDO0VBQW1DLGdCUHhYRSxFQUFBOztBT3lYckM7RUFBeUMsZ0JQelhKLEVBQUE7O0FPMFhyQztFQUFxQyxnQlAxWEEsRUFBQTs7QU8yWHJDO0VBQTRDLGdCUDNYUCxFQUFBOztBTzRYckM7RUFBb0MsZ0JQNVhDLEVBQUE7O0FPNlhyQztFQUFpQyxnQlA3WEksRUFBQTs7QU84WHJDO0VBQTBDLGdCUDlYTCxFQUFBOztBTytYckM7RUFBMkMsZ0JQL1hOLEVBQUE7O0FPZ1lyQztFQUFtQyxnQlBoWUUsRUFBQTs7QU9pWXJDO0VBQXFDLGdCUGpZQSxFQUFBOztBT2tZckM7RUFBcUMsZ0JQbFlBLEVBQUE7O0FPbVlyQztFQUEwQyxnQlBuWUwsRUFBQTs7QU9vWXJDO0VBQW9DLGdCUHBZQyxFQUFBOztBT3FZckM7RUFBbUMsZ0JQcllFLEVBQUE7O0FPc1lyQztFQUF1QyxnQlB0WUYsRUFBQTs7QU91WXJDO0VBQWlDLGdCUHZZSSxFQUFBOztBT3dZckM7RUFBaUMsZ0JQeFlJLEVBQUE7O0FPeVlyQztFQUF3QyxnQlB6WUgsRUFBQTs7QU8wWXJDO0VBQWlDLGdCUDFZSSxFQUFBOztBTzJZckM7RUFBZ0MsZ0JQM1lLLEVBQUE7O0FPNFlyQztFQUFrQyxnQlA1WUcsRUFBQTs7QU82WXJDO0VBQXNDLGdCUDdZRCxFQUFBOztBTzhZckM7RUFBdUMsZ0JQOVlGLEVBQUE7O0FPK1lyQztFQUF1QyxnQlAvWUYsRUFBQTs7QU9nWnJDO0VBQWlDLGdCUGhaSSxFQUFBOztBT2lackM7RUFBa0MsZ0JQalpHLEVBQUE7O0FPa1pyQztFQUFtQyxnQlBsWkUsRUFBQTs7QU9tWnJDO0VBQXFDLGdCUG5aQSxFQUFBOztBT29ackM7RUFBMEMsZ0JQcFpMLEVBQUE7O0FPcVpyQztFQUErQyxnQlByWlYsRUFBQTs7QU9zWnJDO0VBQTRDLGdCUHRaUCxFQUFBOztBT3VackM7RUFBbUMsZ0JQdlpFLEVBQUE7O0FPd1pyQztFQUFtQyxnQlB4WkUsRUFBQTs7QU95WnJDO0VBQW1DLGdCUHpaRSxFQUFBOztBTzBackM7RUFBbUMsZ0JQMVpFLEVBQUE7O0FPMlpyQztFQUFxQyxnQlAzWkEsRUFBQTs7QU80WnJDO0VBQXFDLGdCUDVaQSxFQUFBOztBTzZackM7RUFBaUMsZ0JQN1pJLEVBQUE7O0FPOFpyQztFQUFzQyxnQlA5WkQsRUFBQTs7QU8rWnJDO0VBQXFDLGdCUC9aQSxFQUFBOztBT2dhckM7RUFBeUMsZ0JQaGFKLEVBQUE7O0FPaWFyQztFQUF3QyxnQlBqYUgsRUFBQTs7QU9rYXJDO0VBQStDLGdCUGxhVixFQUFBOztBT21hckM7RUFBaUQsZ0JQbmFaLEVBQUE7O0FPb2FyQztFQUFtQyxnQlBwYUUsRUFBQTs7QU9xYXJDO0VBQXVDLGdCUHJhRixFQUFBOztBT3NhckM7RUFBOEMsZ0JQdGFULEVBQUE7O0FPdWFyQztFQUF5QyxnQlB2YUosRUFBQTs7QU93YXJDO0VBQThDLGdCUHhhVCxFQUFBOztBT3lhckM7RUFBcUQsZ0JQemFoQixFQUFBOztBTzBhckM7RUFBZ0MsZ0JQMWFLLEVBQUE7O0FPMmFyQztFQUF3QyxnQlAzYUgsRUFBQTs7QU80YXJDO0VBQXNDLGdCUDVhRCxFQUFBOztBTzZhckM7RUFBcUMsZ0JQN2FBLEVBQUE7O0FPOGFyQztFQUF1QyxnQlA5YUYsRUFBQTs7QU8rYXJDO0VBQStDLGdCUC9hVixFQUFBOztBT2dickM7RUFBNEMsZ0JQaGJQLEVBQUE7O0FPaWJyQztFQUFnQyxnQlBqYkssRUFBQTs7QU9rYnJDO0VBQWlELGdCUGxiWixFQUFBOztBT21ickM7RUFBMEMsZ0JQbmJMLEVBQUE7O0FPb2JyQztFQUF5QyxnQlBwYkosRUFBQTs7QU9xYnJDO0VBQW1DLGdCUHJiRSxFQUFBOztBT3NickM7RUFBZ0MsZ0JQdGJLLEVBQUE7O0FPdWJyQztFQUFvQyxnQlB2YkMsRUFBQTs7QU93YnJDO0VBQXdDLGdCUHhiSCxFQUFBOztBT3lickM7RUFBa0MsZ0JQemJHLEVBQUE7O0FPMGJyQztFQUFtQyxnQlAxYkUsRUFBQTs7QU8yYnJDO0VBQW1DLGdCUDNiRSxFQUFBOztBTzRickM7RUFBd0MsZ0JQNWJILEVBQUE7O0FPNmJyQztFQUFrQyxnQlA3YkcsRUFBQTs7QU84YnJDO0VBQWlDLGdCUDliSSxFQUFBOztBTytickM7RUFBcUMsZ0JQL2JBLEVBQUE7O0FPZ2NyQztFQUF5QyxnQlBoY0osRUFBQTs7QU9pY3JDO0VBQXVDLGdCUGpjRixFQUFBOztBT2tjckM7RUFBc0MsZ0JQbGNELEVBQUE7O0FPbWNyQztFQUEwQyxnQlBuY0wsRUFBQTs7QU9vY3JDO0VBQXFDLGdCUHBjQSxFQUFBOztBT3FjckM7RUFBMEMsZ0JQcmNMLEVBQUE7O0FPc2NyQztFQUF1QyxnQlB0Y0YsRUFBQTs7QU91Y3JDO0VBQXdDLGdCUHZjSCxFQUFBOztBT3djckM7RUFBdUMsZ0JQeGNGLEVBQUE7O0FPeWNyQztFQUF3QyxnQlB6Y0gsRUFBQTs7QU8wY3JDO0VBQXlDLGdCUDFjSixFQUFBOztBTzJjckM7RUFBZ0QsZ0JQM2NYLEVBQUE7O0FPNGNyQztFQUF5QyxnQlA1Y0osRUFBQTs7QU82Y3JDO0VBQTZDLGdCUDdjUixFQUFBOztBTzhjckM7RUFBcUMsZ0JQOWNBLEVBQUE7O0FPK2NyQztFQUE0QyxnQlAvY1AsRUFBQTs7QU9nZHJDO0VBQThDLGdCUGhkVCxFQUFBOztBT2lkckM7RUFBMkMsZ0JQamROLEVBQUE7O0FPa2RyQztFQUF3QyxnQlBsZEgsRUFBQTs7QU9tZHJDO0VBQXVDLGdCUG5kRixFQUFBOztBT29kckM7RUFBc0MsZ0JQcGRELEVBQUE7O0FPcWRyQztFQUFpQyxnQlByZEksRUFBQTs7QU9zZHJDO0VBQXNDLGdCUHRkRCxFQUFBOztBT3VkckM7RUFBaUMsZ0JQdmRJLEVBQUE7O0FPd2RyQztFQUFtQyxnQlB4ZEUsRUFBQTs7QU95ZHJDO0VBQXdDLGdCUHpkSCxFQUFBOztBTzBkckM7RUFBaUMsZ0JQMWRJLEVBQUE7O0FPMmRyQztFQUFxQyxnQlAzZEEsRUFBQTs7QU80ZHJDO0VBQThDLGdCUDVkVCxFQUFBOztBTzZkckM7RUFBb0MsZ0JQN2RDLEVBQUE7O0FPOGRyQztFQUE0QyxnQlA5ZFAsRUFBQTs7QU8rZHJDO0VBQXNDLGdCUC9kRCxFQUFBOztBT2dlckM7RUFBd0MsZ0JQaGVILEVBQUE7O0FPaWVyQztFQUE0QyxnQlBqZVAsRUFBQTs7QU9rZXJDO0VBQXVDLGdCUGxlRixFQUFBOztBT21lckM7RUFBaUMsZ0JQbmVJLEVBQUE7O0FPb2VyQztFQUF3QyxnQlBwZUgsRUFBQTs7QU9xZXJDO0VBQWlDLGdCUHJlSSxFQUFBOztBT3NlckM7RUFBMkMsZ0JQdGVOLEVBQUE7O0FPdWVyQztFQUFxQyxnQlB2ZUEsRUFBQTs7QU93ZXJDO0VBQWtDLGdCUHhlRyxFQUFBOztBT3llckM7RUFBbUMsZ0JQemVFLEVBQUE7O0FPMGVyQztFQUFzQyxnQlAxZUQsRUFBQTs7QU8yZXJDO0VBQW9DLGdCUDNlQyxFQUFBOztBTzRlckM7RUFBZ0MsZ0JQNWVLLEVBQUE7O0FPNmVyQztFQUFtQyxnQlA3ZUUsRUFBQTs7QU84ZXJDO0VBQXlDLGdCUDllSixFQUFBOztBTytlckM7RUFBd0MsZ0JQL2VILEVBQUE7O0FPZ2ZyQztFQUF3QyxnQlBoZkgsRUFBQTs7QU9pZnJDO0VBQWlDLGdCUGpmSSxFQUFBOztBT2tmckM7RUFBeUMsZ0JQbGZKLEVBQUE7O0FPbWZyQztFQUE2QyxnQlBuZlIsRUFBQTs7QU9vZnJDO0VBQThDLGdCUHBmVCxFQUFBOztBT3FmckM7RUFBbUQsZ0JQcmZkLEVBQUE7O0FPc2ZyQztFQUFzQyxnQlB0ZkQsRUFBQTs7QU91ZnJDO0VBQXlDLGdCUHZmSixFQUFBOztBT3dmckM7RUFBMEMsZ0JQeGZMLEVBQUE7O0FPeWZyQztFQUF5QyxnQlB6ZkosRUFBQTs7QU8wZnJDO0VBQTZDLGdCUDFmUixFQUFBOztBTzJmckM7RUFBcUMsZ0JQM2ZBLEVBQUE7O0FPNGZyQztFQUFvQyxnQlA1ZkMsRUFBQTs7QU82ZnJDO0VBQXVDLGdCUDdmRixFQUFBOztBTzhmckM7RUFBMkMsZ0JQOWZOLEVBQUE7O0FPK2ZyQztFQUFvQyxnQlAvZkMsRUFBQTs7QU9nZ0JyQztFQUFpQyxnQlBoZ0JJLEVBQUE7O0FPaWdCckM7RUFBa0MsZ0JQamdCRyxFQUFBOztBT2tnQnJDO0VBQXVDLGdCUGxnQkYsRUFBQTs7QU9tZ0JyQztFQUFvQyxnQlBuZ0JDLEVBQUE7O0FPb2dCckM7RUFBMEMsZ0JQcGdCTCxFQUFBOztBT3FnQnJDO0VBQW1DLGdCUHJnQkUsRUFBQTs7QU9zZ0JyQztFQUE4QyxnQlB0Z0JULEVBQUE7O0FPdWdCckM7RUFBNEMsZ0JQdmdCUCxFQUFBOztBT3dnQnJDO0VBQW9DLGdCUHhnQkMsRUFBQTs7QU95Z0JyQztFQUFxQyxnQlB6Z0JBLEVBQUE7O0FPMGdCckM7RUFBa0MsZ0JQMWdCRyxFQUFBOztBTzJnQnJDO0VBQWdDLGdCUDNnQkssRUFBQTs7QU80Z0JyQztFQUF1QyxnQlA1Z0JGLEVBQUE7O0FPNmdCckM7RUFBdUMsZ0JQN2dCRixFQUFBOztBTzhnQnJDO0VBQStCLGdCUDlnQk0sRUFBQTs7QU8rZ0JyQztFQUFzQyxnQlAvZ0JELEVBQUE7O0FPZ2hCckM7RUFBa0MsZ0JQaGhCRyxFQUFBOztBT2loQnJDO0VBQWlDLGdCUGpoQkksRUFBQTs7QU9raEJyQztFQUFrQyxnQlBsaEJHLEVBQUE7O0FPbWhCckM7RUFBZ0MsZ0JQbmhCSyxFQUFBOztBT29oQnJDO0VBQW9DLGdCUHBoQkMsRUFBQTs7QU9xaEJyQztFQUF1QyxnQlByaEJGLEVBQUE7O0FPc2hCckM7RUFBbUMsZ0JQdGhCRSxFQUFBOztBT3VoQnJDO0VBQXVDLGdCUHZoQkYsRUFBQTs7QU93aEJyQztFQUEwQyxnQlB4aEJMLEVBQUE7O0FPeWhCckM7RUFBc0MsZ0JQemhCRCxFQUFBOztBTzBoQnJDO0VBQW1DLGdCUDFoQkUsRUFBQTs7QU8yaEJyQztFQUFtQyxnQlAzaEJFLEVBQUE7O0FPNGhCckM7RUFBeUMsZ0JQNWhCSixFQUFBOztBTzZoQnJDO0VBQTBDLGdCUDdoQkwsRUFBQTs7QU84aEJyQztFQUE4QyxnQlA5aEJULEVBQUE7O0FPK2hCckM7RUFBMEMsZ0JQL2hCTCxFQUFBOztBT2dpQnJDO0VBQW9DLGdCUGhpQkMsRUFBQTs7QU9paUJyQztFQUFrQyxnQlBqaUJHLEVBQUE7O0FPa2lCckM7RUFBb0MsZ0JQbGlCQyxFQUFBOztBT21pQnJDO0VBQWtDLGdCUG5pQkcsRUFBQTs7QU9vaUJyQztFQUF5QyxnQlBwaUJKLEVBQUE7O0FPcWlCckM7RUFBMkMsZ0JQcmlCTixFQUFBOztBT3NpQnJDO0VBQXVDLGdCUHRpQkYsRUFBQTs7QU91aUJyQztFQUF5QyxnQlB2aUJKLEVBQUE7O0FPd2lCckM7RUFBbUMsZ0JQeGlCRSxFQUFBOztBT3lpQnJDO0VBQXNDLGdCUHppQkQsRUFBQTs7QU8waUJyQztFQUFzQyxnQlAxaUJELEVBQUE7O0FPMmlCckM7RUFBd0MsZ0JQM2lCSCxFQUFBOztBTzRpQnJDO0VBQW1DLGdCUDVpQkUsRUFBQTs7QU82aUJyQztFQUF5QyxnQlA3aUJKLEVBQUE7O0FPOGlCckM7RUFBdUMsZ0JQOWlCRixFQUFBOztBTytpQnJDO0VBQXdDLGdCUC9pQkgsRUFBQTs7QU9nakJyQztFQUF3QyxnQlBoakJILEVBQUE7O0FPaWpCckM7RUFBMEMsZ0JQampCTCxFQUFBOztBT2tqQnJDO0VBQStDLGdCUGxqQlYsRUFBQTs7QU9takJyQztFQUEwQyxnQlBuakJMLEVBQUE7O0FPb2pCckM7RUFBb0MsZ0JQcGpCQyxFQUFBOztBT3FqQnJDO0VBQTJDLGdCUHJqQk4sRUFBQTs7QU9zakJyQztFQUFxQyxnQlB0akJBLEVBQUE7O0FPdWpCckM7RUFBaUMsZ0JQdmpCSSxFQUFBOztBT3dqQnJDO0VBQXlDLGdCUHhqQkosRUFBQTs7QU95akJyQztFQUErQyxnQlB6akJWLEVBQUE7O0FPMGpCckM7RUFBb0MsZ0JQMWpCQyxFQUFBOztBTzJqQnJDO0VBQWlDLGdCUDNqQkksRUFBQTs7QU80akJyQztFQUFxQyxnQlA1akJBLEVBQUE7O0FPNmpCckM7RUFBc0MsZ0JQN2pCRCxFQUFBOztBTzhqQnJDO0VBQTRDLGdCUDlqQlAsRUFBQTs7QU8rakJyQztFQUF3QyxnQlAvakJILEVBQUE7O0FPZ2tCckM7RUFBd0MsZ0JQaGtCSCxFQUFBOztBT2lrQnJDO0VBQThDLGdCUGprQlQsRUFBQTs7QU9ra0JyQztFQUF1QyxnQlBsa0JGLEVBQUE7O0FPbWtCckM7RUFBdUMsZ0JQbmtCRixFQUFBOztBT29rQnJDO0VBQXdDLGdCUHBrQkgsRUFBQTs7QU9xa0JyQztFQUErQyxnQlBya0JWLEVBQUE7O0FPc2tCckM7RUFBNkMsZ0JQdGtCUixFQUFBOztBT3VrQnJDO0VBQXNDLGdCUHZrQkQsRUFBQTs7QU93a0JyQztFQUE0QyxnQlB4a0JQLEVBQUE7O0FPeWtCckM7RUFBdUMsZ0JQemtCRixFQUFBOztBTzBrQnJDO0VBQWdELGdCUDFrQlgsRUFBQTs7QU8ya0JyQztFQUEwQyxnQlAza0JMLEVBQUE7O0FPNGtCckM7RUFBcUMsZ0JQNWtCQSxFQUFBOztBTzZrQnJDO0VBQWtDLGdCUDdrQkcsRUFBQTs7QU84a0JyQztFQUFvQyxnQlA5a0JDLEVBQUE7O0FPK2tCckM7RUFBbUMsZ0JQL2tCRSxFQUFBOztBT2dsQnJDO0VBQWlDLGdCUGhsQkksRUFBQTs7QU9pbEJyQztFQUFxQyxnQlBqbEJBLEVBQUE7O0FPa2xCckM7RUFBd0MsZ0JQbGxCSCxFQUFBOztBT21sQnJDO0VBQStDLGdCUG5sQlYsRUFBQTs7QU9vbEJyQztFQUF1QyxnQlBwbEJGLEVBQUE7O0FPcWxCckM7RUFBc0MsZ0JQcmxCRCxFQUFBOztBT3NsQnJDO0VBQW1DLGdCUHRsQkUsRUFBQTs7QU91bEJyQztFQUFrQyxnQlB2bEJHLEVBQUE7O0FPd2xCckM7RUFBeUMsZ0JQeGxCSixFQUFBOztBT3lsQnJDO0VBQStDLGdCUHpsQlYsRUFBQTs7QU8wbEJyQztFQUFpRCxnQlAxbEJaLEVBQUE7O0FPMmxCckM7RUFBNkMsZ0JQM2xCUixFQUFBOztBTzRsQnJDO0VBQStDLGdCUDVsQlYsRUFBQTs7QU82bEJyQztFQUF3QyxnQlA3bEJILEVBQUE7O0FPOGxCckM7RUFBK0MsZ0JQOWxCVixFQUFBOztBTytsQnJDO0VBQXVDLGdCUC9sQkYsRUFBQTs7QU9nbUJyQztFQUF1QyxnQlBobUJGLEVBQUE7O0FPaW1CckM7RUFBNEMsZ0JQam1CUCxFQUFBOztBT2ttQnJDO0VBQTRDLGdCUGxtQlAsRUFBQTs7QU9tbUJyQztFQUE2QyxnQlBubUJSLEVBQUE7O0FPb21CckM7RUFBMEMsZ0JQcG1CTCxFQUFBOztBT3FtQnJDO0VBQXlDLGdCUHJtQkosRUFBQTs7QU9zbUJyQztFQUFzQyxnQlB0bUJELEVBQUE7O0FPdW1CckM7RUFBMEMsZ0JQdm1CTCxFQUFBOztBT3dtQnJDO0VBQTBDLGdCUHhtQkwsRUFBQTs7QU95bUJyQztFQUF1QyxnQlB6bUJGLEVBQUE7O0FPMG1CckM7RUFBa0MsZ0JQMW1CRyxFQUFBOztBTzJtQnJDO0VBQTBDLGdCUDNtQkwsRUFBQTs7QU80bUJyQztFQUF1QyxnQlA1bUJGLEVBQUE7O0FPNm1CckM7RUFBc0MsZ0JQN21CRCxFQUFBOztBTzhtQnJDO0VBQWdELGdCUDltQlgsRUFBQTs7QU8rbUJyQztFQUE0QyxnQlAvbUJQLEVBQUE7O0FPZ25CckM7RUFBcUMsZ0JQaG5CQSxFQUFBOztBT2luQnJDO0VBQXFDLGdCUGpuQkEsRUFBQTs7QU9rbkJyQztFQUFvQyxnQlBsbkJDLEVBQUE7O0FPbW5CckM7RUFBdUMsZ0JQbm5CRixFQUFBOztBT29uQnJDO0VBQTRDLGdCUHBuQlAsRUFBQTs7QU9xbkJyQztFQUF1QyxnQlBybkJGLEVBQUE7O0FPc25CckM7RUFBZ0MsZ0JQdG5CSyxFQUFBOztBT3VuQnJDO0VBQTRDLGdCUHZuQlAsRUFBQTs7QU93bkJyQztFQUFrRCxnQlB4bkJiLEVBQUE7O0FPeW5CckM7RUFBMkMsZ0JQem5CTixFQUFBOztBTzBuQnJDO0VBQTRDLGdCUDFuQlAsRUFBQTs7QU8ybkJyQztFQUFvQyxnQlAzbkJDLEVBQUE7O0FPNG5CckM7RUFBdUMsZ0JQNW5CRixFQUFBOztBTzZuQnJDO0VBQTJDLGdCUDduQk4sRUFBQTs7QU84bkJyQztFQUFvQyxnQlA5bkJDLEVBQUE7O0FPK25CckM7RUFBa0MsZ0JQL25CRyxFQUFBOztBT2dvQnJDO0VBQXlDLGdCUGhvQkosRUFBQTs7QU9pb0JyQztFQUFzQyxnQlBqb0JELEVBQUE7O0FPa29CckM7RUFBdUMsZ0JQbG9CRixFQUFBOztBT21vQnJDO0VBQXdDLGdCUG5vQkgsRUFBQTs7QU9vb0JyQztFQUFtQyxnQlBwb0JFLEVBQUE7O0FPcW9CckM7RUFBa0MsZ0JQcm9CRyxFQUFBOztBT3NvQnJDO0VBQWlDLGdCUHRvQkksRUFBQTs7QU91b0JyQztFQUEwQyxnQlB2b0JMLEVBQUE7O0FPd29CckM7RUFBb0MsZ0JQeG9CQyxFQUFBOztBT3lvQnJDO0VBQWlDLGdCUHpvQkksRUFBQTs7QU8wb0JyQztFQUF3QyxnQlAxb0JILEVBQUE7O0FPMm9CckM7RUFBd0MsZ0JQM29CSCxFQUFBOztBTzRvQnJDO0VBQWlDLGdCUDVvQkksRUFBQTs7QU82b0JyQztFQUFrQyxnQlA3b0JHLEVBQUE7O0FPOG9CckM7RUFBcUMsZ0JQOW9CQSxFQUFBOztBTytvQnJDO0VBQWtDLGdCUC9vQkcsRUFBQTs7QU9ncEJyQztFQUF1QyxnQlBocEJGLEVBQUE7O0FPaXBCckM7RUFBcUMsZ0JQanBCQSxFQUFBOztBT2twQnJDO0VBQXlDLGdCUGxwQkosRUFBQTs7QU9tcEJyQztFQUE0QyxnQlBucEJQLEVBQUE7O0FPb3BCckM7RUFBMEMsZ0JQcHBCTCxFQUFBOztBT3FwQnJDO0VBQW9DLGdCUHJwQkMsRUFBQTs7QU9zcEJyQztFQUFtQyxnQlB0cEJFLEVBQUE7O0FPdXBCckM7RUFBa0MsZ0JQdnBCRyxFQUFBOztBT3dwQnJDO0VBQW1DLGdCUHhwQkUsRUFBQTs7QU95cEJyQztFQUFzQyxnQlB6cEJELEVBQUE7O0FPMHBCckM7RUFBMEMsZ0JQMXBCTCxFQUFBOztBTzJwQnJDO0VBQTJDLGdCUDNwQk4sRUFBQTs7QU80cEJyQztFQUE0QyxnQlA1cEJQLEVBQUE7O0FPNnBCckM7RUFBeUMsZ0JQN3BCSixFQUFBOztBTzhwQnJDO0VBQXVDLGdCUDlwQkYsRUFBQTs7QU8rcEJyQztFQUFrQyxnQlAvcEJHLEVBQUE7O0FPZ3FCckM7RUFBb0MsZ0JQaHFCQyxFQUFBOztBT2lxQnJDO0VBQWtDLGdCUGpxQkcsRUFBQTs7QU9rcUJyQztFQUFvQyxnQlBscUJDLEVBQUE7O0FPbXFCckM7RUFBcUMsZ0JQbnFCQSxFQUFBOztBT29xQnJDO0VBQXNDLGdCUHBxQkQsRUFBQTs7QU9xcUJyQztFQUFvQyxnQlBycUJDLEVBQUE7O0FPc3FCckM7RUFBa0MsZ0JQdHFCRyxFQUFBOztBT3VxQnJDO0VBQXFDLGdCUHZxQkEsRUFBQTs7QU93cUJyQztFQUFvQyxnQlB4cUJDLEVBQUE7O0FPeXFCckM7RUFBd0MsZ0JQenFCSCxFQUFBOztBTzBxQnJDO0VBQWtDLGdCUDFxQkcsRUFBQTs7QU8ycUJyQztFQUFrQyxnQlAzcUJHLEVBQUE7O0FPNHFCckM7RUFBa0MsZ0JQNXFCRyxFQUFBOztBTzZxQnJDO0VBQW1DLGdCUDdxQkUsRUFBQTs7QU84cUJyQztFQUFpQyxnQlA5cUJJLEVBQUE7O0FPK3FCckM7RUFBa0MsZ0JQL3FCRyxFQUFBOztBT2dyQnJDO0VBQW1DLGdCUGhyQkUsRUFBQTs7QU9pckJyQztFQUFxQyxnQlBqckJBLEVBQUE7O0FPa3JCckM7RUFBcUMsZ0JQbHJCQSxFQUFBOztBT21yQnJDO0VBQWlDLGdCUG5yQkksRUFBQTs7QU9vckJyQztFQUF3QyxnQlBwckJILEVBQUE7O0FPcXJCckM7RUFBcUMsZ0JQcnJCQSxFQUFBOztBT3NyQnJDO0VBQXNDLGdCUHRyQkQsRUFBQTs7QU91ckJyQztFQUE2QyxnQlB2ckJSLEVBQUE7O0FPd3JCckM7RUFBcUMsZ0JQeHJCQSxFQUFBOztBT3lyQnJDO0VBQXFDLGdCUHpyQkEsRUFBQTs7QU8wckJyQztFQUE4QyxnQlAxckJULEVBQUE7O0FPMnJCckM7RUFBcUMsZ0JQM3JCQSxFQUFBOztBTzRyQnJDO0VBQW9DLGdCUDVyQkMsRUFBQTs7QU82ckJyQztFQUFtQyxnQlA3ckJFLEVBQUE7O0FPOHJCckM7RUFBb0MsZ0JQOXJCQyxFQUFBOztBTytyQnJDO0VBQW1DLGdCUC9yQkUsRUFBQTs7QU9nc0JyQztFQUF3QyxnQlBoc0JILEVBQUE7O0FPaXNCckM7RUFBaUMsZ0JQanNCSSxFQUFBOztBT2tzQnJDO0VBQWlDLGdCUGxzQkksRUFBQTs7QU9tc0JyQztFQUF1QyxnQlBuc0JGLEVBQUE7O0FPb3NCckM7RUFBb0MsZ0JQcHNCQyxFQUFBOztBT3FzQnJDO0VBQWlDLGdCUHJzQkksRUFBQTs7QU9zc0JyQztFQUFrQyxnQlB0c0JHLEVBQUE7O0FPdXNCckM7RUFBa0MsZ0JQdnNCRyxFQUFBOztBT3dzQnJDO0VBQW1DLGdCUHhzQkUsRUFBQTs7QU95c0JyQztFQUEyQyxnQlB6c0JOLEVBQUE7O0FPMHNCckM7RUFBK0IsZ0JQMXNCTSxFQUFBOztBTzJzQnJDO0VBQXNDLGdCUDNzQkQsRUFBQTs7QU80c0JyQztFQUFxQyxnQlA1c0JBLEVBQUE7O0FPNnNCckM7RUFBa0MsZ0JQN3NCRyxFQUFBOztBTzhzQnJDO0VBQW1DLGdCUDlzQkUsRUFBQTs7QU8rc0JyQztFQUFnQyxnQlAvc0JLLEVBQUE7O0FPZ3RCckM7RUFBb0MsZ0JQaHRCQyxFQUFBOztBT2l0QnJDO0VBQXFDLGdCUGp0QkEsRUFBQTs7QU9rdEJyQztFQUFtQyxnQlBsdEJFLEVBQUE7O0FPbXRCckM7RUFBbUMsZ0JQbnRCRSxFQUFBOztBT290QnJDO0VBQXdDLGdCUHB0QkgsRUFBQTs7QU9xdEJyQztFQUEwQyxnQlBydEJMLEVBQUE7O0FPc3RCckM7RUFBaUMsZ0JQdHRCSSxFQUFBOztBT3V0QnJDO0VBQXNDLGdCUHZ0QkQsRUFBQTs7QU93dEJyQztFQUE0QyxnQlB4dEJQLEVBQUE7O0FPeXRCckM7RUFBc0MsZ0JQenRCRCxFQUFBOztBTzB0QnJDO0VBQW1DLGdCUDF0QkUsRUFBQTs7QU8ydEJyQztFQUFxQyxnQlAzdEJBLEVBQUE7O0FPNHRCckM7RUFBcUMsZ0JQNXRCQSxFQUFBOztBTzZ0QnJDO0VBQW1DLGdCUDd0QkUsRUFBQTs7QU84dEJyQztFQUF3QyxnQlA5dEJILEVBQUE7O0FPK3RCckM7RUFBeUMsZ0JQL3RCSixFQUFBOztBT2d1QnJDO0VBQTJDLGdCUGh1Qk4sRUFBQTs7QU9pdUJyQztFQUFvQyxnQlBqdUJDLEVBQUE7O0FPa3VCckM7RUFBbUMsZ0JQbHVCRSxFQUFBOztBT211QnJDO0VBQTBDLGdCUG51QkwsRUFBQTs7QU9vdUJyQztFQUFrQyxnQlBwdUJHLEVBQUE7O0FPcXVCckM7RUFBdUMsZ0JQcnVCRixFQUFBOztBT3N1QnJDO0VBQXlDLGdCUHR1QkosRUFBQTs7QU91dUJyQztFQUF1QyxnQlB2dUJGLEVBQUE7O0FPd3VCckM7RUFBd0MsZ0JQeHVCSCxFQUFBOztBT3l1QnJDO0VBQWlDLGdCUHp1QkksRUFBQTs7QU8wdUJyQztFQUFvQyxnQlAxdUJDLEVBQUE7O0FPMnVCckM7RUFBa0MsZ0JQM3VCRyxFQUFBOztBTzR1QnJDO0VBQWlDLGdCUDV1QkksRUFBQTs7QU82dUJyQztFQUFzQyxnQlA3dUJELEVBQUE7O0FPOHVCckM7RUFBNEMsZ0JQOXVCUCxFQUFBOztBTyt1QnJDO0VBQTJDLGdCUC91Qk4sRUFBQTs7QU9ndkJyQztFQUF5QyxnQlBodkJKLEVBQUE7O0FPaXZCckM7RUFBc0MsZ0JQanZCRCxFQUFBOztBT2t2QnJDO0VBQXNDLGdCUGx2QkQsRUFBQTs7QU9tdkJyQztFQUFpQyxnQlBudkJJLEVBQUE7O0FPb3ZCckM7RUFBaUMsZ0JQcHZCSSxFQUFBOztBT3F2QnJDO0VBQXFDLGdCUHJ2QkEsRUFBQTs7QU9zdkJyQztFQUF3QyxnQlB0dkJILEVBQUE7O0FPdXZCckM7RUFBbUMsZ0JQdnZCRSxFQUFBOztBT3d2QnJDO0VBQWtDLGdCUHh2QkcsRUFBQTs7QU95dkJyQztFQUFzQyxnQlB6dkJELEVBQUE7O0FPMHZCckM7RUFBaUMsZ0JQMXZCSSxFQUFBOztBTzJ2QnJDO0VBQXFDLGdCUDN2QkEsRUFBQTs7QU80dkJyQztFQUFvQyxnQlA1dkJDLEVBQUE7O0FPNnZCckM7RUFBb0MsZ0JQN3ZCQyxFQUFBOztBTzh2QnJDO0VBQTJDLGdCUDl2Qk4sRUFBQTs7QU8rdkJyQztFQUFpQyxnQlAvdkJJLEVBQUE7O0FPZ3dCckM7RUFBc0MsZ0JQaHdCRCxFQUFBOztBT2l3QnJDO0VBQWdELGdCUGp3QlgsRUFBQTs7QU9rd0JyQztFQUFnRCxnQlBsd0JYLEVBQUE7O0FPbXdCckM7RUFBaUQsZ0JQbndCWixFQUFBOztBT293QnJDO0VBQThDLGdCUHB3QlQsRUFBQTs7QU9xd0JyQztFQUF1QyxnQlByd0JGLEVBQUE7O0FPc3dCckM7RUFBeUMsZ0JQdHdCSixFQUFBOztBT3V3QnJDO0VBQWtDLGdCUHZ3QkcsRUFBQTs7QU93d0JyQztFQUF3QyxnQlB4d0JILEVBQUE7O0FPeXdCckM7RUFBaUMsZ0JQendCSSxFQUFBOztBTzB3QnJDO0VBQW9DLGdCUDF3QkMsRUFBQTs7QU8yd0JyQztFQUFrQyxnQlAzd0JHLEVBQUE7O0FPNHdCckM7RUFBbUMsZ0JQNXdCRSxFQUFBOztBTzZ3QnJDO0VBQXNDLGdCUDd3QkQsRUFBQTs7QU84d0JyQztFQUFzQyxnQlA5d0JELEVBQUE7O0FPK3dCckM7RUFBaUMsZ0JQL3dCSSxFQUFBOztBT2d4QnJDO0VBQXdDLGdCUGh4QkgsRUFBQTs7QU9peEJyQztFQUFnQyxnQlBqeEJLLEVBQUE7O0FPa3hCckM7RUFBdUMsZ0JQbHhCRixFQUFBOztBT214QnJDO0VBQTJDLGdCUG54Qk4sRUFBQTs7QU9veEJyQztFQUF1QyxnQlBweEJGLEVBQUE7O0FPcXhCckM7RUFBMkMsZ0JQcnhCTixFQUFBOztBT3N4QnJDO0VBQW9DLGdCUHR4QkMsRUFBQTs7QU91eEJyQztFQUFzQyxnQlB2eEJELEVBQUE7O0FPd3hCckM7RUFBcUMsZ0JQeHhCQSxFQUFBOztBT3l4QnJDO0VBQW1DLGdCUHp4QkUsRUFBQTs7QU8weEJyQztFQUFpQyxnQlAxeEJJLEVBQUE7O0FPMnhCckM7RUFBd0MsZ0JQM3hCSCxFQUFBOztBTzR4QnJDO0VBQXdDLGdCUDV4QkgsRUFBQTs7QU82eEJyQztFQUEwQyxnQlA3eEJMLEVBQUE7O0FPOHhCckM7RUFBMEMsZ0JQOXhCTCxFQUFBOztBTyt4QnJDO0VBQWlDLGdCUC94QkksRUFBQTs7QU9neUJyQztFQUFxQyxnQlBoeUJBLEVBQUE7O0FPaXlCckM7RUFBbUMsZ0JQanlCRSxFQUFBOztBT2t5QnJDO0VBQWdDLGdCUGx5QkssRUFBQTs7QU9teUJyQztFQUFrQyxnQlBueUJHLEVBQUE7O0FPb3lCckM7RUFBb0MsZ0JQcHlCQyxFQUFBOztBT3F5QnJDO0VBQW1DLGdCUHJ5QkUsRUFBQTs7QU9zeUJyQztFQUFxQyxnQlB0eUJBLEVBQUE7O0FPdXlCckM7RUFBbUMsZ0JQdnlCRSxFQUFBOztBT3d5QnJDO0VBQWtDLGdCUHh5QkcsRUFBQTs7QU95eUJyQztFQUFtQyxnQlB6eUJFLEVBQUE7O0FPMHlCckM7RUFBcUMsZ0JQMXlCQSxFQUFBOztBTzJ5QnJDO0VBQWdDLGdCUDN5QkssRUFBQTs7QU80eUJyQztFQUFzQyxnQlA1eUJELEVBQUE7O0FPNnlCckM7RUFBNkMsZ0JQN3lCUixFQUFBOztBTzh5QnJDO0VBQW1DLGdCUDl5QkUsRUFBQTs7QU8reUJyQztFQUFxQyxnQlAveUJBLEVBQUE7O0FPZ3pCckM7RUFBb0MsZ0JQaHpCQyxFQUFBOztBT2l6QnJDO0VBQW9DLGdCUGp6QkMsRUFBQTs7QU9rekJyQztFQUFtQyxnQlBsekJFLEVBQUE7O0FPbXpCckM7RUFBc0MsZ0JQbnpCRCxFQUFBOztBT296QnJDO0VBQXNDLGdCUHB6QkQsRUFBQTs7QU9xekJyQztFQUF1QyxnQlByekJGLEVBQUE7O0FPc3pCckM7RUFBMkMsZ0JQdHpCTixFQUFBOztBT3V6QnJDO0VBQWlELGdCUHZ6QlosRUFBQTs7QU93ekJyQztFQUE2QyxnQlB4ekJSLEVBQUE7O0FPeXpCckM7RUFBdUMsZ0JQenpCRixFQUFBOztBTzB6QnJDO0VBQXNDLGdCUDF6QkQsRUFBQTs7QU8yekJyQztFQUFrQyxnQlAzekJHLEVBQUE7O0FPNHpCckM7RUFBeUMsZ0JQNXpCSixFQUFBOztBTzZ6QnJDO0VBQXlDLGdCUDd6QkosRUFBQTs7QU84ekJyQztFQUFtQyxnQlA5ekJFLEVBQUE7O0FPK3pCckM7RUFBZ0MsZ0JQL3pCSyxFQUFBOztBT2cwQnJDO0VBQXFDLGdCUGgwQkEsRUFBQTs7QU9pMEJyQztFQUFrQyxnQlBqMEJHLEVBQUE7O0FPazBCckM7RUFBbUMsZ0JQbDBCRSxFQUFBOztBT20wQnJDO0VBQW1DLGdCUG4wQkUsRUFBQTs7QU9vMEJyQztFQUF1QyxnQlBwMEJGLEVBQUE7O0FPcTBCckM7RUFBaUMsZ0JQcjBCSSxFQUFBOztBT3MwQnJDO0VBQW1DLGdCUHQwQkUsRUFBQTs7QU91MEJyQztFQUF1QyxnQlB2MEJGLEVBQUE7O0FPdzBCckM7RUFBMkMsZ0JQeDBCTixFQUFBOztBT3kwQnJDO0VBQTRDLGdCUHowQlAsRUFBQTs7QU8wMEJyQztFQUFnRCxnQlAxMEJYLEVBQUE7O0FPMjBCckM7RUFBd0MsZ0JQMzBCSCxFQUFBOztBTzQwQnJDO0VBQTRDLGdCUDUwQlAsRUFBQTs7QU82MEJyQztFQUFxQyxnQlA3MEJBLEVBQUE7O0FPODBCckM7RUFBaUMsZ0JQOTBCSSxFQUFBOztBTyswQnJDO0VBQTBDLGdCUC8wQkwsRUFBQTs7QU9nMUJyQztFQUFtQyxnQlBoMUJFLEVBQUE7O0FPaTFCckM7RUFBdUMsZ0JQajFCRixFQUFBOztBT2sxQnJDO0VBQXFDLGdCUGwxQkEsRUFBQTs7QU9tMUJyQztFQUFrQyxnQlBuMUJHLEVBQUE7O0FPbzFCckM7RUFBMEMsZ0JQcDFCTCxFQUFBOztBT3ExQnJDO0VBQW9DLGdCUHIxQkMsRUFBQTs7QU9zMUJyQztFQUFrQyxnQlB0MUJHLEVBQUE7O0FPdTFCckM7RUFBb0MsZ0JQdjFCQyxFQUFBOztBT3cxQnJDO0VBQWlDLGdCUHgxQkksRUFBQTs7QU95MUJyQztFQUEwQyxnQlB6MUJMLEVBQUE7O0FPMDFCckM7RUFBbUMsZ0JQMTFCRSxFQUFBOztBTzIxQnJDO0VBQXNDLGdCUDMxQkQsRUFBQTs7QU80MUJyQztFQUFtQyxnQlA1MUJFLEVBQUE7O0FPNjFCckM7RUFBaUMsZ0JQNzFCSSxFQUFBOztBTzgxQnJDO0VBQW9DLGdCUDkxQkMsRUFBQTs7QU8rMUJyQztFQUFzQyxnQlAvMUJELEVBQUE7O0FPZzJCckM7RUFBMEMsZ0JQaDJCTCxFQUFBOztBT2kyQnJDO0VBQWdDLGdCUGoyQkssRUFBQTs7QU9rMkJyQztFQUFnQyxnQlBsMkJLLEVBQUE7O0FPbTJCckM7RUFBd0MsZ0JQbjJCSCxFQUFBOztBT28yQnJDO0VBQXlDLGdCUHAyQkosRUFBQTs7QU9xMkJyQztFQUEyQyxnQlByMkJOLEVBQUE7O0FPczJCckM7RUFBMkMsZ0JQdDJCTixFQUFBOztBT3UyQnJDO0VBQTBDLGdCUHYyQkwsRUFBQTs7QU93MkJyQztFQUFpRCxnQlB4MkJaLEVBQUE7O0FPeTJCckM7RUFBb0MsZ0JQejJCQyxFQUFBOztBTzAyQnJDO0VBQXlDLGdCUDEyQkosRUFBQTs7QU8yMkJyQztFQUErQixnQlAzMkJNLEVBQUE7O0FPNDJCckM7RUFBcUMsZ0JQNTJCQSxFQUFBOztBTzYyQnJDO0VBQW1DLGdCUDcyQkUsRUFBQTs7QU84MkJyQztFQUFrQyxnQlA5MkJHLEVBQUE7O0FPKzJCckM7RUFBMEMsZ0JQLzJCTCxFQUFBOztBT2czQnJDO0VBQWtDLGdCUGgzQkcsRUFBQTs7QU9pM0JyQztFQUFnQyxnQlBqM0JLLEVBQUE7O0FPazNCckM7RUFBa0MsZ0JQbDNCRyxFQUFBOztBT20zQnJDO0VBQW9DLGdCUG4zQkMsRUFBQTs7QU9vM0JyQztFQUFrQyxnQlBwM0JHLEVBQUE7O0FPcTNCckM7RUFBc0MsZ0JQcjNCRCxFQUFBOztBT3MzQnJDO0VBQWtDLGdCUHQzQkcsRUFBQTs7QU91M0JyQztFQUF3QyxnQlB2M0JILEVBQUE7O0FPdzNCckM7RUFBeUMsZ0JQeDNCSixFQUFBOztBT3kzQnJDO0VBQW9DLGdCUHozQkMsRUFBQTs7QU8wM0JyQztFQUFtQyxnQlAxM0JFLEVBQUE7O0FPMjNCckM7RUFBbUMsZ0JQMzNCRSxFQUFBOztBTzQzQnJDO0VBQXdDLGdCUDUzQkgsRUFBQTs7QU82M0JyQztFQUFzQyxnQlA3M0JELEVBQUE7O0FPODNCckM7RUFBMEMsZ0JQOTNCTCxFQUFBOztBTyszQnJDO0VBQXNDLGdCUC8zQkQsRUFBQTs7QU9nNEJyQztFQUFvQyxnQlBoNEJDLEVBQUE7O0FPaTRCckM7RUFBcUMsZ0JQajRCQSxFQUFBOztBT2s0QnJDO0VBQTJDLGdCUGw0Qk4sRUFBQTs7QU9tNEJyQztFQUFrQyxnQlBuNEJHLEVBQUE7O0FPbzRCckM7RUFBb0MsZ0JQcDRCQyxFQUFBOztBT3E0QnJDO0VBQWtDLGdCUHI0QkcsRUFBQTs7QU9zNEJyQztFQUF5QyxnQlB0NEJKLEVBQUE7O0FPdTRCckM7RUFBZ0MsZ0JQdjRCSyxFQUFBOztBT3c0QnJDO0VBQW1DLGdCUHg0QkUsRUFBQTs7QU95NEJyQztFQUFrQyxnQlB6NEJHLEVBQUE7O0FPMDRCckM7RUFBZ0MsZ0JQMTRCSyxFQUFBOztBTzI0QnJDO0VBQW9DLGdCUDM0QkMsRUFBQTs7QU80NEJyQztFQUFzQyxnQlA1NEJELEVBQUE7O0FPNjRCckM7RUFBb0MsZ0JQNzRCQyxFQUFBOztBTzg0QnJDO0VBQXVDLGdCUDk0QkYsRUFBQTs7QU8rNEJyQztFQUF1QyxnQlAvNEJGLEVBQUE7O0FPZzVCckM7RUFBeUMsZ0JQaDVCSixFQUFBOztBT2k1QnJDO0VBQXlDLGdCUGo1QkosRUFBQTs7QU9rNUJyQztFQUEwQyxnQlBsNUJMLEVBQUE7O0FPbTVCckM7RUFBeUMsZ0JQbjVCSixFQUFBOztBT281QnJDO0VBQXVDLGdCUHA1QkYsRUFBQTs7QU9xNUJyQztFQUFvQyxnQlByNUJDLEVBQUE7O0FPczVCckM7RUFBb0MsZ0JQdDVCQyxFQUFBOztBT3U1QnJDO0VBQXVDLGdCUHY1QkYsRUFBQTs7QU93NUJyQztFQUFzQyxnQlB4NUJELEVBQUE7O0FPeTVCckM7RUFBeUMsZ0JQejVCSixFQUFBOztBTzA1QnJDO0VBQXdDLGdCUDE1QkgsRUFBQTs7QU8yNUJyQztFQUE4QyxnQlAzNUJULEVBQUE7O0FPNDVCckM7RUFBNkMsZ0JQNTVCUixFQUFBOztBTzY1QnJDO0VBQWtDLGdCUDc1QkcsRUFBQTs7QU84NUJyQztFQUFzQyxnQlA5NUJELEVBQUE7O0FPKzVCckM7RUFBd0MsZ0JQLzVCSCxFQUFBOztBT2c2QnJDO0VBQXlDLGdCUGg2QkosRUFBQTs7QU9pNkJyQztFQUE2QyxnQlBqNkJSLEVBQUE7O0FPazZCckM7RUFBeUMsZ0JQbDZCSixFQUFBOztBT202QnJDO0VBQXdDLGdCUG42QkgsRUFBQTs7QU9vNkJyQztFQUFnQyxnQlBwNkJLLEVBQUE7O0FPcTZCckM7RUFBdUMsZ0JQcjZCRixFQUFBOztBT3M2QnJDO0VBQTJDLGdCUHQ2Qk4sRUFBQTs7QU91NkJyQztFQUEyQyxnQlB2NkJOLEVBQUE7O0FPdzZCckM7RUFBMEMsZ0JQeDZCTCxFQUFBOztBT3k2QnJDO0VBQThDLGdCUHo2QlQsRUFBQTs7QU8wNkJyQztFQUF1QyxnQlAxNkJGLEVBQUE7O0FPMjZCckM7RUFBa0MsZ0JQMzZCRyxFQUFBOztBTzQ2QnJDO0VBQXNDLGdCUDU2QkQsRUFBQTs7QU82NkJyQztFQUF3QyxnQlA3NkJILEVBQUE7O0FPODZCckM7RUFBNkMsZ0JQOTZCUixFQUFBOztBTys2QnJDO0VBQXdDLGdCUC82QkgsRUFBQTs7QU9nN0JyQztFQUE2QyxnQlBoN0JSLEVBQUE7O0FPaTdCckM7RUFBa0MsZ0JQajdCRyxFQUFBOztBT2s3QnJDO0VBQTBDLGdCUGw3QkwsRUFBQTs7QU9tN0JyQztFQUE0QyxnQlBuN0JQLEVBQUE7O0FPbzdCckM7RUFBd0MsZ0JQcDdCSCxFQUFBOztBT3E3QnJDO0VBQWlDLGdCUHI3QkksRUFBQTs7QU9zN0JyQztFQUF3QyxnQlB0N0JILEVBQUE7O0FPdTdCckM7RUFBd0MsZ0JQdjdCSCxFQUFBOztBT3c3QnJDO0VBQWlDLGdCUHg3QkksRUFBQTs7QU95N0JyQztFQUFpQyxnQlB6N0JJLEVBQUE7O0FPMDdCckM7RUFBd0MsZ0JQMTdCSCxFQUFBOztBTzI3QnJDO0VBQXdDLGdCUDM3QkgsRUFBQTs7QU80N0JyQztFQUFvQyxnQlA1N0JDLEVBQUE7O0FPNjdCckM7RUFBaUMsZ0JQNzdCSSxFQUFBOztBTzg3QnJDO0VBQW1DLGdCUDk3QkUsRUFBQTs7QU8rN0JyQztFQUFnQyxnQlAvN0JLLEVBQUE7O0FPZzhCckM7RUFBc0MsZ0JQaDhCRCxFQUFBOztBT2k4QnJDO0VBQWlDLGdCUGo4QkksRUFBQTs7QU9rOEJyQztFQUFxQyxnQlBsOEJBLEVBQUE7O0FPbThCckM7RUFBdUMsZ0JQbjhCRixFQUFBOztBT284QnJDO0VBQXNDLGdCUHA4QkQsRUFBQTs7QU9xOEJyQztFQUFpQyxnQlByOEJJLEVBQUE7O0FPczhCckM7RUFBMEMsZ0JQdDhCTCxFQUFBOztBT3U4QnJDO0VBQXlDLGdCUHY4QkosRUFBQTs7QU93OEJyQztFQUFnRCxnQlB4OEJYLEVBQUE7O0FPeThCckM7RUFBb0QsZ0JQejhCZixFQUFBOztBTzA4QnJDO0VBQWtDLGdCUDE4QkcsRUFBQTs7QU8yOEJyQztFQUF1QyxnQlAzOEJGLEVBQUE7O0FPNDhCckM7RUFBeUMsZ0JQNThCSixFQUFBOztBTzY4QnJDO0VBQTRDLGdCUDc4QlAsRUFBQTs7QU84OEJyQztFQUF5QyxnQlA5OEJKLEVBQUE7O0FPKzhCckM7RUFBc0MsZ0JQLzhCRCxFQUFBOztBT2c5QnJDO0VBQW1DLGdCUGg5QkUsRUFBQTs7QU9pOUJyQztFQUF5QyxnQlBqOUJKLEVBQUE7O0FPazlCckM7RUFBbUMsZ0JQbDlCRSxFQUFBOztBT205QnJDO0VBQStCLGdCUG45Qk0sRUFBQTs7QU9vOUJyQztFQUFtQyxnQlBwOUJFLEVBQUE7O0FPcTlCckM7RUFBcUMsZ0JQcjlCQSxFQUFBOztBT3M5QnJDO0VBQTRDLGdCUHQ5QlAsRUFBQTs7QU91OUJyQztFQUFzQyxnQlB2OUJELEVBQUE7O0FPdzlCckM7RUFBc0MsZ0JQeDlCRCxFQUFBOztBT3k5QnJDO0VBQWtDLGdCUHo5QkcsRUFBQTs7QU8wOUJyQztFQUF1QyxnQlAxOUJGLEVBQUE7O0FPMjlCckM7RUFBd0MsZ0JQMzlCSCxFQUFBOztBTzQ5QnJDO0VBQWtDLGdCUDU5QkcsRUFBQTs7QU82OUJyQztFQUFzQyxnQlA3OUJELEVBQUE7O0FPODlCckM7RUFBc0MsZ0JQOTlCRCxFQUFBOztBTys5QnJDO0VBQTBDLGdCUC85QkwsRUFBQTs7QU9nK0JyQztFQUFvQyxnQlBoK0JDLEVBQUE7O0FPaStCckM7RUFBbUMsZ0JQaitCRSxFQUFBOztBT2srQnJDO0VBQXlDLGdCUGwrQkosRUFBQTs7QU9tK0JyQztFQUFvQyxnQlBuK0JDLEVBQUE7O0FPbytCckM7RUFBa0MsZ0JQcCtCRyxFQUFBOztBT3ErQnJDO0VBQXdDLGdCUHIrQkgsRUFBQTs7QU9zK0JyQztFQUFtQyxnQlB0K0JFLEVBQUE7O0FPdStCckM7RUFBa0MsZ0JQditCRyxFQUFBOztBT3crQnJDO0VBQW9DLGdCUHgrQkMsRUFBQTs7QU95K0JyQztFQUF5QyxnQlB6K0JKLEVBQUE7O0FPMCtCckM7RUFBb0MsZ0JQMStCQyxFQUFBOztBTzIrQnJDO0VBQXNDLGdCUDMrQkQsRUFBQTs7QU80K0JyQztFQUFtQyxnQlA1K0JFLEVBQUE7O0FPNitCckM7RUFBeUMsZ0JQNytCSixFQUFBOztBTzgrQnJDO0VBQTBDLGdCUDkrQkwsRUFBQTs7QU8rK0JyQztFQUFtQyxnQlAvK0JFLEVBQUE7O0FPZy9CckM7RUFBaUMsZ0JQaC9CSSxFQUFBOztBT2kvQnJDO0VBQXFDLGdCUGovQkEsRUFBQTs7QU9rL0JyQztFQUF1QyxnQlBsL0JGLEVBQUE7O0FPbS9CckM7RUFBMEMsZ0JQbi9CTCxFQUFBOztBT28vQnJDO0VBQW1DLGdCUHAvQkUsRUFBQTs7QU9xL0JyQztFQUFrQyxnQlByL0JHLEVBQUE7O0FPcy9CckM7RUFBc0MsZ0JQdC9CRCxFQUFBOztBT3UvQnJDO0VBQW1DLGdCUHYvQkUsRUFBQTs7QU93L0JyQztFQUF1QyxnQlB4L0JGLEVBQUE7O0FPeS9CckM7RUFBeUMsZ0JQei9CSixFQUFBOztBTzAvQnJDO0VBQXNDLGdCUDEvQkQsRUFBQTs7QU8yL0JyQztFQUFxQyxnQlAzL0JBLEVBQUE7O0FPNC9CckM7RUFBb0MsZ0JQNS9CQyxFQUFBOztBTzYvQnJDO0VBQWdDLGdCUDcvQkssRUFBQTs7QU84L0JyQztFQUFtQyxnQlA5L0JFLEVBQUE7O0FPKy9CckM7RUFBaUMsZ0JQLy9CSSxFQUFBOztBT2dnQ3JDO0VBQWlDLGdCUGhnQ0ksRUFBQTs7QU9pZ0NyQztFQUFrQyxnQlBqZ0NHLEVBQUE7O0FPa2dDckM7RUFBbUMsZ0JQbGdDRSxFQUFBOztBT21nQ3JDO0VBQXVDLGdCUG5nQ0YsRUFBQTs7QU9vZ0NyQztFQUFvQyxnQlBwZ0NDLEVBQUE7O0FPcWdDckM7RUFBa0MsZ0JQcmdDRyxFQUFBOztBT3NnQ3JDO0VBQWdDLGdCUHRnQ0ssRUFBQTs7QU91Z0NyQztFQUF1QyxnQlB2Z0NGLEVBQUE7O0FPd2dDckM7RUFBdUMsZ0JQeGdDRixFQUFBOztBT3lnQ3JDO0VBQWtDLGdCUHpnQ0csRUFBQTs7QU8wZ0NyQztFQUEyQyxnQlAxZ0NOLEVBQUE7O0FPMmdDckM7RUFBNkMsZ0JQM2dDUixFQUFBOztBTzRnQ3JDO0VBQTJDLGdCUDVnQ04sRUFBQTs7QU82Z0NyQztFQUFvQyxnQlA3Z0NDLEVBQUE7O0FPOGdDckM7RUFBdUMsZ0JQOWdDRixFQUFBOztBTytnQ3JDO0VBQWlDLGdCUC9nQ0ksRUFBQTs7QU9naENyQztFQUFvQyxnQlBoaENDLEVBQUE7O0FPaWhDckM7RUFBcUMsZ0JQamhDQSxFQUFBOztBT2toQ3JDO0VBQW1DLGdCUGxoQ0UsRUFBQTs7QU9taENyQztFQUF1QyxnQlBuaENGLEVBQUE7O0FPb2hDckM7RUFBaUMsZ0JQcGhDSSxFQUFBOztBT3FoQ3JDO0VBQXNDLGdCUHJoQ0QsRUFBQTs7QU9zaENyQztFQUEyQyxnQlB0aENOLEVBQUE7O0FPdWhDckM7RUFBaUMsZ0JQdmhDSSxFQUFBOztBT3doQ3JDO0VBQW1DLGdCUHhoQ0UsRUFBQTs7QU95aENyQztFQUFtQyxnQlB6aENFLEVBQUE7O0FPMGhDckM7RUFBd0MsZ0JQMWhDSCxFQUFBOztBTzJoQ3JDO0VBQW1DLGdCUDNoQ0UsRUFBQTs7QU80aENyQztFQUFtQyxnQlA1aENFLEVBQUE7O0FPNmhDckM7RUFBb0MsZ0JQN2hDQyxFQUFBOztBTzhoQ3JDO0VBQW1DLGdCUDloQ0UsRUFBQTs7QU8raENyQztFQUEwQyxnQlAvaENMLEVBQUE7O0FPZ2lDckM7RUFBNEMsZ0JQaGlDUCxFQUFBOztBT2lpQ3JDO0VBQXlDLGdCUGppQ0osRUFBQTs7QU9raUNyQztFQUF3QyxnQlBsaUNILEVBQUE7O0FPbWlDckM7RUFBd0MsZ0JQbmlDSCxFQUFBOztBT29pQ3JDO0VBQXFDLGdCUHBpQ0EsRUFBQTs7QU9xaUNyQztFQUFxQyxnQlByaUNBLEVBQUE7O0FPc2lDckM7RUFBbUMsZ0JQdGlDRSxFQUFBOztBT3VpQ3JDO0VBQW1DLGdCUHZpQ0UsRUFBQTs7QU93aUNyQztFQUF5QyxnQlB4aUNKLEVBQUE7O0FPeWlDckM7RUFBbUMsZ0JQemlDRSxFQUFBOztBTzBpQ3JDO0VBQWtDLGdCUDFpQ0csRUFBQTs7QU8yaUNyQztFQUFzQyxnQlAzaUNELEVBQUE7O0FPNGlDckM7RUFBNkMsZ0JQNWlDUixFQUFBOztBTzZpQ3JDO0VBQXlDLGdCUDdpQ0osRUFBQTs7QU84aUNyQztFQUF3QyxnQlA5aUNILEVBQUE7O0FPK2lDckM7RUFBdUMsZ0JQL2lDRixFQUFBOztBT2dqQ3JDO0VBQXlDLGdCUGhqQ0osRUFBQTs7QU9pakNyQztFQUFpQyxnQlBqakNJLEVBQUE7O0FPa2pDckM7RUFBMEMsZ0JQbGpDTCxFQUFBOztBT21qQ3JDO0VBQXlDLGdCUG5qQ0osRUFBQTs7QU9vakNyQztFQUF3QyxnQlBwakNILEVBQUE7O0FPcWpDckM7RUFBb0MsZ0JQcmpDQyxFQUFBOztBT3NqQ3JDO0VBQXlDLGdCUHRqQ0osRUFBQTs7QU91akNyQztFQUE0QyxnQlB2akNQLEVBQUE7O0FPd2pDckM7RUFBMEMsZ0JQeGpDTCxFQUFBOztBT3lqQ3JDO0VBQXFDLGdCUHpqQ0EsRUFBQTs7QU8wakNyQztFQUFtQyxnQlAxakNFLEVBQUE7O0FPMmpDckM7RUFBd0MsZ0JQM2pDSCxFQUFBOztBTzRqQ3JDO0VBQWlDLGdCUDVqQ0ksRUFBQTs7QU82akNyQztFQUF3QyxnQlA3akNILEVBQUE7O0FPOGpDckM7RUFBMEMsZ0JQOWpDTCxFQUFBOztBTytqQ3JDO0VBQXlDLGdCUC9qQ0osRUFBQTs7QU9na0NyQztFQUFtQyxnQlBoa0NFLEVBQUE7O0FPaWtDckM7RUFBc0MsZ0JQamtDRCxFQUFBOztBT2trQ3JDO0VBQXFDLGdCUGxrQ0EsRUFBQTs7QU9ta0NyQztFQUF3QyxnQlBua0NILEVBQUE7O0FPb2tDckM7RUFBaUMsZ0JQcGtDSSxFQUFBOztBT3FrQ3JDO0VBQW9DLGdCUHJrQ0MsRUFBQTs7QU9za0NyQztFQUFvQyxnQlB0a0NDLEVBQUE7O0FPdWtDckM7RUFBaUMsZ0JQdmtDSSxFQUFBOztBT3drQ3JDO0VBQW9DLGdCUHhrQ0MsRUFBQTs7QU95a0NyQztFQUFtQyxnQlB6a0NFLEVBQUE7O0FPMGtDckM7RUFBbUMsZ0JQMWtDRSxFQUFBOztBTzJrQ3JDO0VBQTBDLGdCUDNrQ0wsRUFBQTs7QU80a0NyQztFQUFrQyxnQlA1a0NHLEVBQUE7O0FPNmtDckM7RUFBNkMsZ0JQN2tDUixFQUFBOztBTzhrQ3JDO0VBQXFDLGdCUDlrQ0EsRUFBQTs7QU8ra0NyQztFQUFrQyxnQlAva0NHLEVBQUE7O0FPZ2xDckM7RUFBa0MsZ0JQaGxDRyxFQUFBOztBT2lsQ3JDO0VBQXVDLGdCUGpsQ0YsRUFBQTs7QU9rbENyQztFQUFrQyxnQlBsbENHLEVBQUE7O0FPbWxDckM7RUFBbUMsZ0JQbmxDRSxFQUFBOztBT29sQ3JDO0VBQXNDLGdCUHBsQ0QsRUFBQTs7QU9xbENyQztFQUF1QyxnQlBybENGLEVBQUE7O0FPc2xDckM7RUFBa0MsZ0JQdGxDRyxFQUFBOztBT3VsQ3JDO0VBQXVDLGdCUHZsQ0YsRUFBQTs7QU93bENyQztFQUF1QyxnQlB4bENGLEVBQUE7O0FPeWxDckM7RUFBaUMsZ0JQemxDSSxFQUFBOztBTzBsQ3JDO0VBQW9DLGdCUDFsQ0MsRUFBQTs7QU8ybENyQztFQUF3QyxnQlAzbENILEVBQUE7O0FPNGxDckM7RUFBZ0MsZ0JQNWxDSyxFQUFBOztBTzZsQ3JDO0VBQXFDLGdCUDdsQ0EsRUFBQTs7QU84bENyQztFQUEyQyxnQlA5bENOLEVBQUE7O0FPK2xDckM7RUFBNEMsZ0JQL2xDUCxFQUFBOztBT2dtQ3JDO0VBQXlDLGdCUGhtQ0osRUFBQTs7QU9pbUNyQztFQUFzQyxnQlBqbUNELEVBQUE7O0FPa21DckM7RUFBb0MsZ0JQbG1DQyxFQUFBOztBT21tQ3JDO0VBQXFDLGdCUG5tQ0EsRUFBQTs7QU9vbUNyQztFQUFpQyxnQlBwbUNJLEVBQUE7O0FPcW1DckM7RUFBa0MsZ0JQcm1DRyxFQUFBOztBT3NtQ3JDO0VBQXdDLGdCUHRtQ0gsRUFBQTs7QU91bUNyQztFQUFpQyxnQlB2bUNJLEVBQUE7O0FPd21DckM7RUFBNEMsZ0JQeG1DUCxFQUFBOztBT3ltQ3JDO0VBQWdELGdCUHptQ1gsRUFBQTs7QU8wbUNyQztFQUEwQyxnQlAxbUNMLEVBQUE7O0FPMm1DckM7RUFBOEMsZ0JQM21DVCxFQUFBOztBTzRtQ3JDO0VBQTZDLGdCUDVtQ1IsRUFBQTs7QU82bUNyQztFQUFpRCxnQlA3bUNaLEVBQUE7O0FPOG1DckM7RUFBMkMsZ0JQOW1DTixFQUFBOztBTyttQ3JDO0VBQStDLGdCUC9tQ1YsRUFBQTs7QU9nbkNyQztFQUFzQyxnQlBobkNELEVBQUE7O0FPaW5DckM7RUFBOEMsZ0JQam5DVCxFQUFBOztBT2tuQ3JDO0VBQWtELGdCUGxuQ2IsRUFBQTs7QU9tbkNyQztFQUE0QyxnQlBubkNQLEVBQUE7O0FPb25DckM7RUFBZ0QsZ0JQcG5DWCxFQUFBOztBT3FuQ3JDO0VBQW9DLGdCUHJuQ0MsRUFBQTs7QU9zbkNyQztFQUF1QyxnQlB0bkNGLEVBQUE7O0FPdW5DckM7RUFBdUMsZ0JQdm5DRixFQUFBOztBT3duQ3JDO0VBQWdDLGdCUHhuQ0ssRUFBQTs7QU95bkNyQztFQUEwQyxnQlB6bkNMLEVBQUE7O0FPMG5DckM7RUFBb0MsZ0JQMW5DQyxFQUFBOztBTzJuQ3JDO0VBQXlDLGdCUDNuQ0osRUFBQTs7QU80bkNyQztFQUF3QyxnQlA1bkNILEVBQUE7O0FPNm5DckM7RUFBbUMsZ0JQN25DRSxFQUFBOztBTzhuQ3JDO0VBQW9DLGdCUDluQ0MsRUFBQTs7QU8rbkNyQztFQUFvQyxnQlAvbkNDLEVBQUE7O0FPZ29DckM7RUFBb0MsZ0JQaG9DQyxFQUFBOztBT2lvQ3JDO0VBQXNDLGdCUGpvQ0QsRUFBQTs7QU9rb0NyQztFQUFtQyxnQlBsb0NFLEVBQUE7O0FPbW9DckM7RUFBd0MsZ0JQbm9DSCxFQUFBOztBT29vQ3JDO0VBQTRDLGdCUHBvQ1AsRUFBQTs7QU9xb0NyQztFQUF3QyxnQlByb0NILEVBQUE7O0FPc29DckM7RUFBMkMsZ0JQdG9DTixFQUFBOztBT3VvQ3JDO0VBQTJDLGdCUHZvQ04sRUFBQTs7QU93b0NyQztFQUFzQyxnQlB4b0NELEVBQUE7O0FPeW9DckM7RUFBa0MsZ0JQem9DRyxFQUFBOztBTzBvQ3JDO0VBQWlDLGdCUDFvQ0ksRUFBQTs7QU8yb0NyQztFQUE4QyxnQlAzb0NULEVBQUE7O0FPNG9DckM7RUFBc0MsZ0JQNW9DRCxFQUFBOztBTzZvQ3JDO0VBQTBDLGdCUDdvQ0wsRUFBQTs7QU84b0NyQztFQUEwQyxnQlA5b0NMLEVBQUE7O0FPK29DckM7RUFBeUMsZ0JQL29DSixFQUFBOztBT2dwQ3JDO0VBQXVDLGdCUGhwQ0YsRUFBQTs7QU9pcENyQztFQUFrQyxnQlBqcENHLEVBQUE7O0FPa3BDckM7RUFBeUMsZ0JQbHBDSixFQUFBOztBT21wQ3JDO0VBQXlDLGdCUG5wQ0osRUFBQTs7QU9vcENyQztFQUEwQyxnQlBwcENMLEVBQUE7O0FPcXBDckM7RUFBeUMsZ0JQcnBDSixFQUFBOztBT3NwQ3JDO0VBQXdDLGdCUHRwQ0gsRUFBQTs7QU91cENyQztFQUF5QyxnQlB2cENKLEVBQUE7O0FPd3BDckM7RUFBd0MsZ0JQeHBDSCxFQUFBOztBT3lwQ3JDO0VBQWlDLGdCUHpwQ0ksRUFBQTs7QU8wcENyQztFQUF3QyxnQlAxcENILEVBQUE7O0FPMnBDckM7RUFBc0MsZ0JQM3BDRCxFQUFBOztBTzRwQ3JDO0VBQXlDLGdCUDVwQ0osRUFBQTs7QU82cENyQztFQUFrQyxnQlA3cENHLEVBQUE7O0FPOHBDckM7RUFBc0MsZ0JQOXBDRCxFQUFBOztBTytwQ3JDO0VBQTRDLGdCUC9wQ1AsRUFBQTs7QU9ncUNyQztFQUF3QyxnQlBocUNILEVBQUE7O0FPaXFDckM7RUFBbUMsZ0JQanFDRSxFQUFBOztBT2txQ3JDO0VBQW1DLGdCUGxxQ0UsRUFBQTs7QU9tcUNyQztFQUF3QyxnQlBucUNILEVBQUE7O0FPb3FDckM7RUFBMEMsZ0JQcHFDTCxFQUFBOztBT3FxQ3JDO0VBQW1DLGdCUHJxQ0UsRUFBQTs7QU9zcUNyQztFQUFxQyxnQlB0cUNBLEVBQUE7O0FPdXFDckM7RUFBd0MsZ0JQdnFDSCxFQUFBOztBT3dxQ3JDO0VBQXlDLGdCUHhxQ0osRUFBQTs7QU95cUNyQztFQUF3QyxnQlB6cUNILEVBQUE7O0FPMHFDckM7RUFBK0MsZ0JQMXFDVixFQUFBOztBTzJxQ3JDO0VBQXNDLGdCUDNxQ0QsRUFBQTs7QU80cUNyQztFQUFtQyxnQlA1cUNFLEVBQUE7O0FPNnFDckM7RUFBcUMsZ0JQN3FDQSxFQUFBOztBTzhxQ3JDO0VBQTZDLGdCUDlxQ1IsRUFBQTs7QU8rcUNyQztFQUFnQyxnQlAvcUNLLEVBQUE7O0FPZ3JDckM7RUFBd0MsZ0JQaHJDSCxFQUFBOztBT2lyQ3JDO0VBQXdDLGdCUGpyQ0gsRUFBQTs7QU9rckNyQztFQUFtQyxnQlBsckNFLEVBQUE7O0FPbXJDckM7RUFBcUMsZ0JQbnJDQSxFQUFBOztBT29yQ3JDO0VBQWlDLGdCUHByQ0ksRUFBQTs7QU9xckNyQztFQUF1QyxnQlByckNGLEVBQUE7O0FPc3JDckM7RUFBa0MsZ0JQdHJDRyxFQUFBOztBT3VyQ3JDO0VBQW9DLGdCUHZyQ0MsRUFBQTs7QU93ckNyQztFQUEwQyxnQlB4ckNMLEVBQUE7O0FPeXJDckM7RUFBb0MsZ0JQenJDQyxFQUFBOztBTzByQ3JDO0VBQXNDLGdCUDFyQ0QsRUFBQTs7QU8yckNyQztFQUFpQyxnQlAzckNJLEVBQUE7O0FPNHJDckM7RUFBcUMsZ0JQNXJDQSxFQUFBOztBTzZyQ3JDO0VBQW9DLGdCUDdyQ0MsRUFBQTs7QU84ckNyQztFQUFrQyxnQlA5ckNHLEVBQUE7O0FPK3JDckM7RUFBeUMsZ0JQL3JDSixFQUFBOztBT2dzQ3JDO0VBQW1DLGdCUGhzQ0UsRUFBQTs7QU9pc0NyQztFQUF1QyxnQlBqc0NGLEVBQUE7O0FPa3NDckM7RUFBb0MsZ0JQbHNDQyxFQUFBOztBT21zQ3JDO0VBQTJDLGdCUG5zQ04sRUFBQTs7QU9vc0NyQztFQUFnQyxnQlBwc0NLLEVBQUE7O0FPcXNDckM7RUFBaUMsZ0JQcnNDSSxFQUFBOztBT3NzQ3JDO0VBQWlDLGdCUHRzQ0ksRUFBQTs7QU91c0NyQztFQUFrQyxnQlB2c0NHLEVBQUE7O0FPd3NDckM7RUFBaUMsZ0JQeHNDSSxFQUFBOztBT3lzQ3JDO0VBQXNDLGdCUHpzQ0QsRUFBQTs7QU8wc0NyQztFQUFrQyxnQlAxc0NHLEVBQUE7O0FPMnNDckM7RUFBdUMsZ0JQM3NDRixFQUFBOztBTzRzQ3JDO0VBQXFDLGdCUDVzQ0EsRUFBQTs7QU82c0NyQztFQUEyQyxnQlA3c0NOLEVBQUE7O0FPOHNDckM7RUFBNkMsZ0JQOXNDUixFQUFBOztBTytzQ3JDO0VBQTRDLGdCUC9zQ1AsRUFBQTs7QU9ndENyQztFQUEwQyxnQlBodENMLEVBQUE7O0FPaXRDckM7RUFBa0MsZ0JQanRDRyxFQUFBOztBT2t0Q3JDO0VBQXFDLGdCUGx0Q0EsRUFBQTs7QU9tdENyQztFQUF3QyxnQlBudENILEVBQUE7O0FPb3RDckM7RUFBdUMsZ0JQcHRDRixFQUFBOztBT3F0Q3JDO0VBQStCLGdCUHJ0Q00sRUFBQTs7QU9zdENyQztFQUFxQyxnQlB0dENBLEVBQUE7O0FPdXRDckM7RUFBb0MsZ0JQdnRDQyxFQUFBOztBT3d0Q3JDO0VBQXlDLGdCUHh0Q0osRUFBQTs7QU95dENyQztFQUEwQyxnQlB6dENMLEVBQUE7O0FPMHRDckM7RUFBb0MsZ0JQMXRDQyxFQUFBOztBTzJ0Q3JDO0VBQXNDLGdCUDN0Q0QsRUFBQTs7QU80dENyQztFQUF3QyxnQlA1dENILEVBQUE7O0FPNnRDckM7RUFBOEMsZ0JQN3RDVCxFQUFBOztBTzh0Q3JDO0VBQTZDLGdCUDl0Q1IsRUFBQTs7QU8rdENyQztFQUE2QyxnQlAvdENSLEVBQUE7O0FPZ3VDckM7RUFBZ0QsZ0JQaHVDWCxFQUFBOztBT2l1Q3JDO0VBQXVELGdCUGp1Q2xCLEVBQUE7O0FPa3VDckM7RUFBd0MsZ0JQbHVDSCxFQUFBOztBT211Q3JDO0VBQXdDLGdCUG51Q0gsRUFBQTs7QU9vdUNyQztFQUFzQyxnQlBwdUNELEVBQUE7O0FPcXVDckM7RUFBc0MsZ0JQcnVDRCxFQUFBOztBT3N1Q3JDO0VBQXVDLGdCUHR1Q0YsRUFBQTs7QU91dUNyQztFQUFtQyxnQlB2dUNFLEVBQUE7O0FPd3VDckM7RUFBa0MsZ0JQeHVDRyxFQUFBOztBT3l1Q3JDO0VBQXlDLGdCUHp1Q0osRUFBQTs7QU8wdUNyQztFQUFpQyxnQlAxdUNJLEVBQUE7O0FPMnVDckM7RUFBdUMsZ0JQM3VDRixFQUFBOztBTzR1Q3JDO0VBQWtDLGdCUDV1Q0csRUFBQTs7QU82dUNyQztFQUF1QyxnQlA3dUNGLEVBQUE7O0FPOHVDckM7RUFBc0MsZ0JQOXVDRCxFQUFBOztBTyt1Q3JDO0VBQW1DLGdCUC91Q0UsRUFBQTs7QU9ndkNyQztFQUF5QyxnQlBodkNKLEVBQUE7O0FPaXZDckM7RUFBK0MsZ0JQanZDVixFQUFBOztBT2t2Q3JDO0VBQW9DLGdCUGx2Q0MsRUFBQTs7QU9tdkNyQztFQUFrQyxnQlBudkNHLEVBQUE7O0FPb3ZDckM7RUFBa0MsZ0JQcHZDRyxFQUFBOztBT3F2Q3JDO0VBQWtDLGdCUHJ2Q0csRUFBQTs7QU9zdkNyQztFQUF1QyxnQlB0dkNGLEVBQUE7O0FPdXZDckM7RUFBb0MsZ0JQdnZDQyxFQUFBOztBT3d2Q3JDO0VBQTZDLGdCUHh2Q1IsRUFBQTs7QU95dkNyQztFQUFzQyxnQlB6dkNELEVBQUE7O0FPMHZDckM7RUFBMEMsZ0JQMXZDTCxFQUFBOztBTzJ2Q3JDO0VBQW9DLGdCUDN2Q0MsRUFBQTs7QU80dkNyQztFQUFrQyxnQlA1dkNHLEVBQUE7O0FPNnZDckM7RUFBaUMsZ0JQN3ZDSSxFQUFBOztBTzh2Q3JDO0VBQXdDLGdCUDl2Q0gsRUFBQTs7QU8rdkNyQztFQUE0QyxnQlAvdkNQLEVBQUE7O0FPZ3dDckM7RUFBa0MsZ0JQaHdDRyxFQUFBOztBT2l3Q3JDO0VBQXNDLGdCUGp3Q0QsRUFBQTs7QU9rd0NyQztFQUEwQyxnQlBsd0NMLEVBQUE7O0FPbXdDckM7RUFBOEMsZ0JQbndDVCxFQUFBOztBT293Q3JDO0VBQWlDLGdCUHB3Q0ksRUFBQTs7QU9xd0NyQztFQUFtQyxnQlByd0NFLEVBQUE7O0FPc3dDckM7RUFBd0MsZ0JQdHdDSCxFQUFBOztBT3V3Q3JDO0VBQW1DLGdCUHZ3Q0UsRUFBQTs7QU93d0NyQztFQUFrQyxnQlB4d0NHLEVBQUE7O0FPeXdDckM7RUFBMEMsZ0JQendDTCxFQUFBOztBTzB3Q3JDO0VBQTBDLGdCUDF3Q0wsRUFBQTs7QU8yd0NyQztFQUF5QyxnQlAzd0NKLEVBQUE7O0FPNHdDckM7RUFBeUMsZ0JQNXdDSixFQUFBOztBTzZ3Q3JDO0VBQW1DLGdCUDd3Q0UsRUFBQTs7QU84d0NyQztFQUFnQyxnQlA5d0NLLEVBQUE7O0FPK3dDckM7RUFBbUMsZ0JQL3dDRSxFQUFBOztBT2d4Q3JDO0VBQTBDLGdCUGh4Q0wsRUFBQTs7QU9peENyQztFQUErQixnQlBqeENNLEVBQUE7O0FPa3hDckM7RUFBbUMsZ0JQbHhDRSxFQUFBOztBT214Q3JDO0VBQW9DLGdCUG54Q0MsRUFBQTs7QU9veENyQztFQUEyQyxnQlBweENOLEVBQUE7O0FPcXhDckM7RUFBa0MsZ0JQcnhDRyxFQUFBOztBT3N4Q3JDO0VBQWlDLGdCUHR4Q0ksRUFBQTs7QU91eENyQztFQUFtQyxnQlB2eENFLEVBQUE7O0FPd3hDckM7RUFBa0MsZ0JQeHhDRyxFQUFBOztBT3l4Q3JDO0VBQW9DLGdCUHp4Q0MsRUFBQTs7QU8weENyQztFQUFxQyxnQlAxeENBLEVBQUE7O0FPMnhDckM7RUFBMkMsZ0JQM3hDTixFQUFBOztBTzR4Q3JDO0VBQXNDLGdCUDV4Q0QsRUFBQTs7QU82eENyQztFQUFzQyxnQlA3eENELEVBQUE7O0FPOHhDckM7RUFBaUMsZ0JQOXhDSSxFQUFBOztBTyt4Q3JDO0VBQXFDLGdCUC94Q0EsRUFBQTs7QU9neUNyQztFQUF3QyxnQlBoeUNILEVBQUE7O0FPaXlDckM7RUFBa0MsZ0JQanlDRyxFQUFBOztBT2t5Q3JDO0VBQTZDLGdCUGx5Q1IsRUFBQTs7QU9teUNyQztFQUF1QyxnQlBueUNGLEVBQUE7O0FPb3lDckM7RUFBbUMsZ0JQcHlDRSxFQUFBOztBT3F5Q3JDO0VBQW1DLGdCUHJ5Q0UsRUFBQTs7QU9zeUNyQztFQUF1QyxnQlB0eUNGLEVBQUE7O0FPdXlDckM7RUFBcUMsZ0JQdnlDQSxFQUFBOztBT3d5Q3JDO0VBQW9DLGdCUHh5Q0MsRUFBQTs7QU95eUNyQztFQUFtQyxnQlB6eUNFLEVBQUE7O0FPMHlDckM7RUFBZ0MsZ0JQMXlDSyxFQUFBOztBTzJ5Q3JDO0VBQWdDLGdCUDN5Q0ssRUFBQTs7QU80eUNyQztFQUFpQyxnQlA1eUNJLEVBQUE7O0FPNnlDckM7RUFBcUMsZ0JQN3lDQSxFQUFBOztBTzh5Q3JDO0VBQTJDLGdCUDl5Q04sRUFBQTs7QU8reUNyQztFQUEyQyxnQlAveUNOLEVBQUE7O0FPZ3pDckM7RUFBdUMsZ0JQaHpDRixFQUFBOztBT2l6Q3JDO0VBQXdDLGdCUGp6Q0gsRUFBQTs7QU9rekNyQztFQUF1QyxnQlBsekNGLEVBQUE7O0FPbXpDckM7RUFBcUMsZ0JQbnpDQSxFQUFBOztBT296Q3JDO0VBQXNDLGdCUHB6Q0QsRUFBQTs7QU9xekNyQztFQUF5QyxnQlByekNKLEVBQUE7O0FPc3pDckM7RUFBMEMsZ0JQdHpDTCxFQUFBOztBT3V6Q3JDO0VBQXlDLGdCUHZ6Q0osRUFBQTs7QU93ekNyQztFQUFzQyxnQlB4ekNELEVBQUE7O0FPeXpDckM7RUFBb0MsZ0JQenpDQyxFQUFBOztBTzB6Q3JDO0VBQXVDLGdCUDF6Q0YsRUFBQTs7QU8yekNyQztFQUF1QyxnQlAzekNGLEVBQUE7O0FPNHpDckM7RUFBdUMsZ0JQNXpDRixFQUFBOztBTzZ6Q3JDO0VBQXNDLGdCUDd6Q0QsRUFBQTs7QU84ekNyQztFQUF3QyxnQlA5ekNILEVBQUE7O0FPK3pDckM7RUFBd0MsZ0JQL3pDSCxFQUFBOztBT2cwQ3JDO0VBQXVDLGdCUGgwQ0YsRUFBQTs7QU9pMENyQztFQUFxQyxnQlBqMENBLEVBQUE7O0FPazBDckM7RUFBcUMsZ0JQbDBDQSxFQUFBOztBT20wQ3JDO0VBQXVDLGdCUG4wQ0YsRUFBQTs7QU9vMENyQztFQUFrQyxnQlBwMENHLEVBQUE7O0FPcTBDckM7RUFBc0MsZ0JQcjBDRCxFQUFBOztBT3MwQ3JDO0VBQXdDLGdCUHQwQ0gsRUFBQTs7QU91MENyQztFQUFpQyxnQlB2MENJLEVBQUE7O0FPdzBDckM7RUFBcUMsZ0JQeDBDQSxFQUFBOztBT3kwQ3JDO0VBQTBDLGdCUHowQ0wsRUFBQTs7QU8wMENyQztFQUFxQyxnQlAxMENBLEVBQUE7O0FPMjBDckM7RUFBbUMsZ0JQMzBDRSxFQUFBOztBTzQwQ3JDO0VBQTBDLGdCUDUwQ0wsRUFBQTs7QU82MENyQztFQUFrQyxnQlA3MENHLEVBQUE7O0FPODBDckM7RUFBeUMsZ0JQOTBDSixFQUFBOztBTyswQ3JDO0VBQXVDLGdCUC8wQ0YsRUFBQTs7QU9nMUNyQztFQUFpQyxnQlBoMUNJLEVBQUE7O0FPaTFDckM7RUFBeUMsZ0JQajFDSixFQUFBOztBT2sxQ3JDO0VBQW9DLGdCUGwxQ0MsRUFBQTs7QU9tMUNyQztFQUFtQyxnQlBuMUNFLEVBQUE7O0FPbzFDckM7RUFBMEMsZ0JQcDFDTCxFQUFBOztBT3ExQ3JDO0VBQWlDLGdCUHIxQ0ksRUFBQTs7QU9zMUNyQztFQUFrQyxnQlB0MUNHLEVBQUE7O0FPdTFDckM7RUFBa0MsZ0JQdjFDRyxFQUFBOztBT3cxQ3JDO0VBQWtDLGdCUHgxQ0csRUFBQTs7QU95MUNyQztFQUF3QyxnQlB6MUNILEVBQUE7O0FPMDFDckM7RUFBbUMsZ0JQMTFDRSxFQUFBOztBTzIxQ3JDO0VBQWtDLGdCUDMxQ0csRUFBQTs7QU80MUNyQztFQUF5QyxnQlA1MUNKLEVBQUE7O0FPNjFDckM7RUFBb0MsZ0JQNzFDQyxFQUFBOztBTzgxQ3JDO0VBQWlDLGdCUDkxQ0ksRUFBQTs7QU8rMUNyQztFQUFrQyxnQlAvMUNHLEVBQUE7O0FPZzJDckM7RUFBd0MsZ0JQaDJDSCxFQUFBOztBT2kyQ3JDO0VBQW9DLGdCUGoyQ0MsRUFBQTs7QU9rMkNyQztFQUErQixnQlBsMkNNLEVBQUE7O0FPbTJDckM7RUFBZ0MsZ0JQbjJDSyxFQUFBOztBT28yQ3JDO0VBQXNDLGdCUHAyQ0QsRUFBQTs7QU9xMkNyQztFQUE0QyxnQlByMkNQLEVBQUE7O0FPczJDckM7RUFBd0MsZ0JQdDJDSCxFQUFBOztBT3UyQ3JDO0VBQXdDLGdCUHYyQ0gsRUFBQTs7QU93MkNyQztFQUF1QyxnQlB4MkNGLEVBQUE7O0FPeTJDckM7RUFBc0MsZ0JQejJDRCxFQUFBOztBTzAyQ3JDO0VBQXFDLGdCUDEyQ0EsRUFBQTs7QU8yMkNyQztFQUF5QyxnQlAzMkNKLEVBQUE7O0FPNDJDckM7RUFBa0MsZ0JQNTJDRyxFQUFBOztBTzYyQ3JDO0VBQW9DLGdCUDcyQ0MsRUFBQTs7QU84MkNyQztFQUFtQyxnQlA5MkNFLEVBQUE7O0FPKzJDckM7RUFBc0MsZ0JQLzJDRCxFQUFBOztBT2czQ3JDO0VBQWdELGdCUGgzQ1gsRUFBQTs7QU9pM0NyQztFQUFrQyxnQlBqM0NHLEVBQUE7O0FPazNDckM7RUFBd0MsZ0JQbDNDSCxFQUFBOztBT20zQ3JDO0VBQWlDLGdCUG4zQ0ksRUFBQTs7QU9vM0NyQztFQUFtQyxnQlBwM0NFLEVBQUE7O0FPcTNDckM7RUFBa0MsZ0JQcjNDRyxFQUFBOztBT3MzQ3JDO0VBQW1DLGdCUHQzQ0UsRUFBQTs7QU91M0NyQztFQUEyQyxnQlB2M0NOLEVBQUE7O0FPdzNDckM7RUFBbUMsZ0JQeDNDRSxFQUFBOztBT3kzQ3JDO0VBQXFDLGdCUHozQ0EsRUFBQTs7QU8wM0NyQztFQUE0QyxnQlAxM0NQLEVBQUE7O0FPMjNDckM7RUFBdUMsZ0JQMzNDRixFQUFBOztBTzQzQ3JDO0VBQWtDLGdCUDUzQ0csRUFBQTs7QU82M0NyQztFQUFpQyxnQlA3M0NJLEVBQUE7O0FPODNDckM7RUFBd0MsZ0JQOTNDSCxFQUFBOztBTyszQ3JDO0VBQWlDLGdCUC8zQ0ksRUFBQTs7QU9nNENyQztFQUF5QyxnQlBoNENKLEVBQUE7O0FPaTRDckM7RUFBNEMsZ0JQajRDUCxFQUFBOztBT2s0Q3JDO0VBQTRDLGdCUGw0Q1AsRUFBQTs7QU9tNENyQztFQUEyQyxnQlBuNENOLEVBQUE7O0FPbzRDckM7RUFBb0MsZ0JQcDRDQyxFQUFBOztBT3E0Q3JDO0VBQXdDLGdCUHI0Q0gsRUFBQTs7QU9zNENyQztFQUF1QyxnQlB0NENGLEVBQUE7O0FPdTRDckM7RUFBMkMsZ0JQdjRDTixFQUFBOztBT3c0Q3JDO0VBQWdDLGdCUHg0Q0ssRUFBQTs7QU95NENyQztFQUFpRCxnQlB6NENaLEVBQUE7O0FPMDRDckM7RUFBaUMsZ0JQMTRDSSxFQUFBOztBTzI0Q3JDO0VBQWdELGdCUDM0Q1gsRUFBQTs7QU80NENyQztFQUFxQyxnQlA1NENBLEVBQUE7O0FPNjRDckM7RUFBc0MsZ0JQNzRDRCxFQUFBOztBTzg0Q3JDO0VBQTZDLGdCUDk0Q1IsRUFBQTs7QU8rNENyQztFQUF1QyxnQlAvNENGLEVBQUE7O0FPZzVDckM7RUFBdUMsZ0JQaDVDRixFQUFBOztBT2k1Q3JDO0VBQW9DLGdCUGo1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QUdsQjtFQUNFLGtDQUFrQztFQUNsQyxnQkFBZ0IsRUFBQTs7QUFHbEI7RUFBOEQsZ0JibDhEekIsRUFBQTs7QWFvOERyQztFQUNFLGtDQUFrQztFQUNsQyxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFBNkQsZ0JieDhEeEIsRUFBQTs7QWEwOERyQztFQUNFLGtDQUFrQztFQUNsQyxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFBZ0UsZ0JiOThEM0IsRUFBQTs7QWFnOURyQztFQUNFLG9DQUFvQztFQUNwQyxnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxvQ0FBb0M7RUFDcEMsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0Usb0NBQW9DO0VBQ3BDLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLG9DQUFvQztFQUNwQyxnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxvQ0FBb0M7RUFDcEMsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0Usb0NBQW9DO0VBQ3BDLGdCQUFnQixFQUFBOztBQUVsQjtFQUFzRCxnQmI3K0RqQixFQUFBOztBYSsrRHJDO0VBQ0Usa0NBQWtDO0VBQ2xDLGdCQUFnQixFQUFBOztBQUVsQjtFQUEwRCxnQmJuL0RyQixFQUFBOztBYXEvRHJDO0VBQ0Usb0NBQW9DO0VBQ3BDLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLG9DQUFvQztFQUNwQyxnQkFBZ0IsRUFBQTs7QUFHbEI7RUFBa0QsZ0JiLy9EYixFQUFBIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICd3b3Jrc2Fucy1tZWRpdW0nO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1dvcmtTYW5zLU1lZGl1bS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICd3b3Jrc2Fucy1tZWRpdW1pdGFsaWMnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1dvcmtTYW5zLU1lZGl1bUl0YWxpYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4gKiBWZXJzaW9uIDYuNi4zXG4gKiBodHRwczovL2dldC5mb3VuZGF0aW9uXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnJldmVhbCwgLnJldmVhbC50aW55LCAucmV2ZWFsLnNtYWxsLCAucmV2ZWFsLmxhcmdlIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cblxuLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyB9XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgbWFyZ2luOiAwOyB9XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTsgfVxuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDsgfVxuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgZm9udDogaW5oZXJpdDsgfVxuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTY0ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MGVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiB3b3Jrc2Fucy1tZWRpdW0sIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgxMCwgMTAsIDEwLCAwLjEpO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG46OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjYWNhY2E7IH1cblxuW3R5cGU9J2ZpbGUnXSxcblt0eXBlPSdjaGVja2JveCddLFxuW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW46IDAgMCAxcmVtOyB9XG5cblt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG5bdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsW2Zvcl0sXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWxbZm9yXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG5sYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuW3R5cGU9J2ZpbGUnXSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwOyB9XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCwgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWJ1dHRvbiwgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmbGV4OiAxIDEgMHB4O1xuICBtaW4td2lkdGg6IDA7IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uZmllbGRzZXQge1xuICBtYXJnaW46IDEuMTI1cmVtIDA7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgLmZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODEzOCwgMTM4LCAxMzglMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG4gIHNlbGVjdDpub3QoW211bHRpcGxlXSkge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjRDMyRDFGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFlOWU4OyB9XG4gIC5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNEMzJEMUY7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI0QzMkQxRjsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjRDMyRDFGOyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzLFxuaDQsIC5oNCxcbmg1LCAuaDUsXG5oNiwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IHdvcmtzYW5zLW1lZGl1bSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgaDEgc21hbGwsIC5oMSBzbWFsbCxcbiAgaDIgc21hbGwsIC5oMiBzbWFsbCxcbiAgaDMgc21hbGwsIC5oMyBzbWFsbCxcbiAgaDQgc21hbGwsIC5oNCBzbWFsbCxcbiAgaDUgc21hbGwsIC5oNSBzbWFsbCxcbiAgaDYgc21hbGwsIC5oNiBzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICM4YThhOGE7IH1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDEuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDMsIC5oMyB7XG4gIGZvbnQtc2l6ZTogMS40Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaDEsIC5oMSB7XG4gICAgZm9udC1zaXplOiAzLjYyNXJlbTsgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDMuMjVyZW07IH1cbiAgaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07IH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIGg2LCAuaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMwMDAwREQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwMEREOyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzhhOGE4YTsgfVxuXG5hYmJyLCBhYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzBhMGEwYTtcbiAgY3Vyc29yOiBoZWxwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzhhOGE4YTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmNpdGUtYmxvY2ssIGNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICM4YThhOGE7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5jaXRlLWJsb2NrOmJlZm9yZSwgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbi5jb2RlLWlubGluZSwgY29kZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfVxuXG4uY29kZS1ibG9jayB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87IH0gfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiAxMDB2dztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZnVsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uZ3JpZC14IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4uY2VsbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAuY2VsbC5hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5jZWxsLnNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cblxuLmdyaWQteCA+IC5hdXRvIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zaHJpbmsge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLXNocmluaywgLmdyaWQteCA+IC5zbWFsbC1mdWxsLCAuZ3JpZC14ID4gLnNtYWxsLTEsIC5ncmlkLXggPiAuc21hbGwtMiwgLmdyaWQteCA+IC5zbWFsbC0zLCAuZ3JpZC14ID4gLnNtYWxsLTQsIC5ncmlkLXggPiAuc21hbGwtNSwgLmdyaWQteCA+IC5zbWFsbC02LCAuZ3JpZC14ID4gLnNtYWxsLTcsIC5ncmlkLXggPiAuc21hbGwtOCwgLmdyaWQteCA+IC5zbWFsbC05LCAuZ3JpZC14ID4gLnNtYWxsLTEwLCAuZ3JpZC14ID4gLnNtYWxsLTExLCAuZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgZmxleC1iYXNpczogYXV0bzsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXggPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXggPiAubWVkaXVtLTEsIC5ncmlkLXggPiAubWVkaXVtLTIsIC5ncmlkLXggPiAubWVkaXVtLTMsIC5ncmlkLXggPiAubWVkaXVtLTQsIC5ncmlkLXggPiAubWVkaXVtLTUsIC5ncmlkLXggPiAubWVkaXVtLTYsIC5ncmlkLXggPiAubWVkaXVtLTcsIC5ncmlkLXggPiAubWVkaXVtLTgsIC5ncmlkLXggPiAubWVkaXVtLTksIC5ncmlkLXggPiAubWVkaXVtLTEwLCAuZ3JpZC14ID4gLm1lZGl1bS0xMSwgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS1mdWxsLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOSB7XG4gIHdpZHRoOiA3NSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi14IHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cblxuLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG5cbi5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IDIwJTsgfVxuXG4uc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuXG4uc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IDEyLjUlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS4yNXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9IH1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9IH1cblxuLmdyaWQteSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAuZ3JpZC15ID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiBub25lOyB9XG4gIC5ncmlkLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXkgPiAuc21hbGwtZnVsbCwgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluaywgLmdyaWQteSA+IC5sYXJnZS1mdWxsLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogMjUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogNTAlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogNzUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMHZ3OyB9XG5cbi5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNlbGwtYmxvY2sge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbi5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDB2aDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuLmNlbGwgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gIGhlaWdodDogY2FsYygxMDB2aCArIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbi5idXR0b24sIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxcmVtIDNyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAycmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiwgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uLnRpbnksIC53cC1ibG9jay1idXR0b24gLnRpbnkud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLnNtYWxsLCAud3AtYmxvY2stYnV0dG9uIC5zbWFsbC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlLCAud3AtYmxvY2stYnV0dG9uIC5sYXJnZS53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIC5idXR0b24uZXhwYW5kZWQsIC53cC1ibG9jay1idXR0b24gLmV4cGFuZGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5idXR0b24sIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDBERDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b246Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDBiYztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnByaW1hcnksIC53cC1ibG9jay1idXR0b24gLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMEREO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwYjE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnksIC53cC1ibG9jay1idXR0b24gLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuc2Vjb25kYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNENzU5MzA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjA0NTIyO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24uc3VjY2VzcywgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2OUUzNDQ7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ3Y2QxZjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLndhcm5pbmcsIC53cC1ibG9jay1idXR0b24gLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDMyRDFGO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24ud2FybmluZzpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhOTI0MTk7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5hbGVydCwgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5hbGVydC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5hbGVydC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5hbGVydC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDMyRDFGO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uYWxlcnQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTkyNDE5O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uaG9sbG93LCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uaG9sbG93LCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwMDBERDtcbiAgICBjb2xvcjogIzAwMDBERDsgfVxuICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDZmO1xuICAgIGNvbG9yOiAjMDAwMDZmOyB9XG4gIC5idXR0b24uaG9sbG93LnByaW1hcnksIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5W2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwMDBERDtcbiAgICBjb2xvcjogIzAwMDBERDsgfVxuICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDZmO1xuICAgIGNvbG9yOiAjMDAwMDZmOyB9XG4gIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnlbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc2Vjb25kYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI0Q3NTkzMDtcbiAgICBjb2xvcjogI0Q3NTkzMDsgfVxuICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmUyYjE1O1xuICAgIGNvbG9yOiAjNmUyYjE1OyB9XG4gIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzY5RTM0NDtcbiAgICBjb2xvcjogIzY5RTM0NDsgfVxuICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMmQ4MDEzO1xuICAgIGNvbG9yOiAjMmQ4MDEzOyB9XG4gIC5idXR0b24uaG9sbG93Lndhcm5pbmcsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3cud2FybmluZy5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93Lndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI0QzMkQxRjtcbiAgICBjb2xvcjogI0QzMkQxRjsgfVxuICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmExNzEwO1xuICAgIGNvbG9yOiAjNmExNzEwOyB9XG4gIC5idXR0b24uaG9sbG93LmFsZXJ0LCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5hbGVydC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmhvbGxvdy5hbGVydFtkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmFsZXJ0LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydC5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmFsZXJ0LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5hbGVydC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI0QzMkQxRjtcbiAgICBjb2xvcjogI0QzMkQxRjsgfVxuICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmExNzEwO1xuICAgIGNvbG9yOiAjNmExNzEwOyB9XG4gIC5idXR0b24uY2xlYXIsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi5jbGVhciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwMDBERDsgfVxuICAuYnV0dG9uLmNsZWFyOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDAwNmY7IH1cbiAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDAwREQ7IH1cbiAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDAwNmY7IH1cbiAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnksIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjRDc1OTMwOyB9XG4gIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICM2ZTJiMTU7IH1cbiAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICM2OUUzNDQ7IH1cbiAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICMyZDgwMTM7IH1cbiAgLmJ1dHRvbi5jbGVhci53YXJuaW5nLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNEMzJEMUY7IH1cbiAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICM2YTE3MTA7IH1cbiAgLmJ1dHRvbi5jbGVhci5hbGVydCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5hbGVydC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5hbGVydC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5hbGVydC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI0QzMkQxRjsgfVxuICAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICM2YTE3MTA7IH1cbiAgLmJ1dHRvbi5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uIC5kcm9wZG93bi53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93OjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24uaG9sbG93LndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuZHJvcGRvd24ud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhcjo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmRyb3Bkb3duLmNsZWFyLndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDAwREQ7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmRyb3Bkb3duLmhvbGxvdy5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuZHJvcGRvd24ucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnByaW1hcnk6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uIC5kcm9wZG93bi5jbGVhci5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDAwREQ7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmRyb3Bkb3duLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnNlY29uZGFyeTo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmRyb3Bkb3duLmNsZWFyLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjRDc1OTMwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3M6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uIC5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmRyb3Bkb3duLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5zdWNjZXNzOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24uY2xlYXIuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNjlFMzQ0OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93Lndhcm5pbmc6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uIC5kcm9wZG93bi5ob2xsb3cud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmRyb3Bkb3duLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci53YXJuaW5nOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24uY2xlYXIud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjRDMyRDFGOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24uaG9sbG93LmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuZHJvcGRvd24uYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5hbGVydDo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmRyb3Bkb3duLmNsZWFyLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNEMzJEMUY7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuYXJyb3ctb25seS53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyIHtcbiAgICB0b3A6IC0wLjFlbTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG5hLmJ1dHRvbjpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiBhLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgYS5idXR0b246Zm9jdXMsIC53cC1ibG9jay1idXR0b24gYS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGZsZXgtZ3JvdzogMTsgfVxuICAuYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYnV0dG9uLWdyb3VwIC5idXR0b24sIC5idXR0b24tZ3JvdXAgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpsYXN0LWNoaWxkLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuYnV0dG9uLWdyb3VwLnRpbnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC50aW55IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnRpbnkgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5zbWFsbCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnNtYWxsIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnNtYWxsIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmxhcmdlIC5idXR0b24sIC5idXR0b24tZ3JvdXAubGFyZ2UgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAubGFyZ2UgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMEREO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDBiMTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Q3NTkzMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiMDQ1MjI7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2OUUzNDQ7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDdjZDFmO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAud2FybmluZyAud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAud2FybmluZyAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAud2FybmluZyAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAud2FybmluZyAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC53YXJuaW5nIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDMyRDFGO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAud2FybmluZyAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2E5MjQxOTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24sIC5idXR0b24tZ3JvdXAuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmFsZXJ0IC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuYWxlcnQgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5hbGVydCAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5hbGVydCAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5hbGVydCAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0QzMkQxRjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmFsZXJ0IC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhOTI0MTk7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbiwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbjpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbjpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbiwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwMDBERDtcbiAgICBjb2xvcjogIzAwMDBERDsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDAwNmY7XG4gICAgY29sb3I6ICMwMDAwNmY7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmsgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24ucHJpbWFyeSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDAwMEREO1xuICAgIGNvbG9yOiAjMDAwMEREOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b246Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24ucHJpbWFyeTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDAwNmY7XG4gICAgY29sb3I6ICMwMDAwNmY7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uc2Vjb25kYXJ5LCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuc2Vjb25kYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuc2Vjb25kYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuc2Vjb25kYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNENzU5MzA7XG4gICAgY29sb3I6ICNENzU5MzA7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZTJiMTU7XG4gICAgY29sb3I6ICM2ZTJiMTU7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmsgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2VzcywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uc3VjY2VzcywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjNjlFMzQ0O1xuICAgIGNvbG9yOiAjNjlFMzQ0OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b246Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzczpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uc3VjY2Vzczpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMyZDgwMTM7XG4gICAgY29sb3I6ICMyZDgwMTM7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmsgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24ud2FybmluZywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjRDMyRDFGO1xuICAgIGNvbG9yOiAjRDMyRDFGOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b246Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZzpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24ud2FybmluZzpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM2YTE3MTA7XG4gICAgY29sb3I6ICM2YTE3MTA7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbiwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmsgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydCwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uYWxlcnQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uYWxlcnQuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLmFsZXJ0LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmFsZXJ0LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5hbGVydC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5hbGVydC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmFsZXJ0LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5hbGVydC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI0QzMkQxRjtcbiAgICBjb2xvcjogI0QzMkQxRjsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0OmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5hbGVydDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM2YTE3MTA7XG4gICAgY29sb3I6ICM2YTE3MTA7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDAwREQ7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwMDA2ZjsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnksIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwMEREOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwMDA2ZjsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeSwgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAuc2Vjb25kYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAuc2Vjb25kYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjRDc1OTMwOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogIzZlMmIxNTsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3MsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjNjlFMzQ0OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogIzJkODAxMzsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmcsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjRDMyRDFGOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogIzZhMTcxMDsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0LCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5hbGVydC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLmFsZXJ0LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5hbGVydC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLmFsZXJ0LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjRDMyRDFGOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogIzZhMTcxMDsgfVxuICAuYnV0dG9uLWdyb3VwLm5vLWdhcHMgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5uby1nYXBzIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLm5vLWdhcHMgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4xMjVyZW07IH1cbiAgICAuYnV0dG9uLWdyb3VwLm5vLWdhcHMgLmJ1dHRvbiArIC5idXR0b24sIC5idXR0b24tZ3JvdXAubm8tZ2FwcyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmsgKyAuYnV0dG9uLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAubm8tZ2FwcyAud3AtYmxvY2stYnV0dG9uX19saW5rICsgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5uby1nYXBzIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbiArIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5uby1nYXBzIC5idXR0b24gKyAud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLm5vLWdhcHMgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rICsgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLm5vLWdhcHMgLndwLWJsb2NrLWJ1dHRvbl9fbGluayArIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6bGFzdC1jaGlsZCwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6bGFzdC1jaGlsZCwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC53cC1ibG9jay1idXR0b25fX2xpbms6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6bGFzdC1jaGlsZCwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAud3AtYmxvY2stYnV0dG9uX19saW5rOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2xvc2UtYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5jbG9zZS1idXR0b246aG92ZXIsIC5jbG9zZS1idXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jbG9zZS1idXR0b24uc21hbGwge1xuICAgIHJpZ2h0OiAwLjY2cmVtO1xuICAgIHRvcDogMC4zM2VtO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNsb3NlLWJ1dHRvbi5tZWRpdW0sIC5jbG9zZS1idXR0b24ge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHRvcDogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAjMDAwMEREO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzAwMDBERDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjRDc1OTMwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5sYWJlbC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjNjlFMzQ0O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjRDMyRDFGO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI0QzMkQxRjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMWYxZjE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgdGhlYWQgdHIsXG4gIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZCB0aCxcbiAgdGhlYWQgdGQsXG4gIHRmb290IHRoLFxuICB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGJvZHkgdGgsXG4gIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7IH1cbiAgdGFibGUudW5zdHJpcGVkIHRib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gICAgdGFibGUudW5zdHJpcGVkIHRib2R5IHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YxZjFmMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH0gfVxuXG50YWJsZS5zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxudGFibGUuaG92ZXIgdGhlYWQgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG5cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuXG50YWJsZS5ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7IH1cblxudGFibGUuaG92ZXI6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogMi4xZW07XG4gIHBhZGRpbmc6IDAuM2VtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICMwMDAwREQ7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwMEREO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICNENzU5MzA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJhZGdlLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICM2OUUzNDQ7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJhZGdlLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNEMzJEMUY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjRDMyRDFGO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5icmVhZGNydW1icyB7XG4gIG1hcmdpbjogMCAwIDJyZW0gMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDAgMC43NXJlbTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgIGNvbG9yOiAjY2FjYWNhOyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICBjb2xvcjogIzAwMDBERDsgfVxuICAgIC5icmVhZGNydW1icyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5icmVhZGNydW1icyAuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmNhbGxvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNhbGxvdXQucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q0ZDRmZjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWU2ZTA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZmJlMztcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFkZWRjO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0LmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFkZWRjO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jYWxsb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuXG4uY2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB1bnNldDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhcmQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1kaXZpZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAxIGF1dG87XG4gIHBhZGRpbmc6IDRyZW07XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgLmNhcmQtZGl2aWRlciA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLXNlY3Rpb24ge1xuICBmbGV4OiAxIDAgYXV0bztcbiAgcGFkZGluZzogNHJlbTsgfVxuICAuY2FyZC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtaW1hZ2Uge1xuICBtaW4taGVpZ2h0OiAxcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMzAwcHg7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLmRyb3Bkb3duLXBhbmUudGlueSB7XG4gIHdpZHRoOiAxMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5zbWFsbCB7XG4gIHdpZHRoOiAyMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5sYXJnZSB7XG4gIHdpZHRoOiA0MDBweDsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gIC5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2luYXRpb24gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAucGFnaW5hdGlvbiBhLFxuICAucGFnaW5hdGlvbiBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLnBhZ2luYXRpb24gYTpob3ZlcixcbiAgICAucGFnaW5hdGlvbiBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICAucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJhY2tncm91bmQ6ICMwMDAwREQ7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLnBhZ2luYXRpb24gLmVsbGlwc2lzOjphZnRlciB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbi5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBjb250ZW50OiBcIsKrXCI7IH1cblxuLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbi5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBjb250ZW50OiBcIsK7XCI7IH1cblxuLmhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjOGE4YThhO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArIDAuNjQ5NXJlbSk7XG4gIHotaW5kZXg6IDEyMDA7XG4gIG1heC13aWR0aDogMTByZW07XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAudG9vbHRpcDo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLnRvb2x0aXAuYm90dG9tOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gICAgYm90dG9tOiAxMDAlOyB9XG4gIC50b29sdGlwLmJvdHRvbS5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvOyB9XG4gIC50b29sdGlwLnRvcC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC5sZWZ0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gICAgbGVmdDogMTAwJTsgfVxuICAudG9vbHRpcC5sZWZ0LmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC50b29sdGlwLnJpZ2h0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAudG9vbHRpcC5yaWdodC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlOyB9XG4gIC50b29sdGlwLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87IH1cbiAgLnRvb2x0aXAuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnRvb2x0aXAuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlOyB9XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5hY2NvcmRpb25bZGlzYWJsZWRdIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS41cmVtIDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG5vbmU7IH1cbiAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICBjb250ZW50OiBcIitcIjsgfVxuICAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAk1wiOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDEuNXJlbSAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLm1lZGlhLW9iamVjdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpYS1vYmplY3QgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAuc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAuc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5tYWluLXNlY3Rpb24ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQuc3RhbmRhcmQsXG4gIC5mbGV4LXZpZGVvLnN0YW5kYXJkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzUlOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQuY2xhc3NpY2ZpbG0sXG4gIC5mbGV4LXZpZGVvLmNsYXNzaWNmaWxtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjYuNjY2NjclOyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLnRhYnM6OmJlZm9yZSwgLnRhYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAudGFiczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4udGFicy5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzAwMDBERDsgfVxuICAudGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzAwMDBkMjsgfVxuXG4udGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJzLXRpdGxlID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjMDAwMEREOyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC50YWJzLXRpdGxlID4gYSB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICBjb2xvcjogIzAwMDBiZTsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICAgICAgY29sb3I6ICMwMDAwREQ7IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIGJvcmRlcjogNHB4IHNvbGlkICNmZWZlZmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDEwLCAxMCwgMTAsIDAuMik7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbmEudGh1bWJuYWlsIHtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDsgfVxuICBhLnRodW1ibmFpbDpob3ZlciwgYS50aHVtYm5haWw6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoMCwgMCwgMjIxLCAwLjUpOyB9XG4gIGEudGh1bWJuYWlsIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5tZW51IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1lbnUgbGkge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm1lbnUgYSxcbiAgLm1lbnUgLmJ1dHRvbixcbiAgLm1lbnUgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLFxuICAud3AtYmxvY2stYnV0dG9uIC5tZW51IC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgc2VsZWN0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lbnUudmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lbnUuZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLm1lbnUuc2ltcGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAubWVudS5zaW1wbGUgYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5tZWRpdW0tZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51Lm1lZGl1bS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51LmxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUuaWNvbnMgYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5pY29uLXRvcCBhLCAubWVudS5pY29uLXJpZ2h0IGEsIC5tZW51Lmljb24tYm90dG9tIGEsIC5tZW51Lmljb24tbGVmdCBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tbGVmdCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tcmlnaHQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tdG9wIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaSxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLm1lbnUuYWxpZ24tbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZW51LmFsaWduLWNlbnRlciBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LmFsaWduLWNlbnRlciBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUgLm1lbnUtdGV4dCB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1lbnUtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzBhMGEwYSwgMCAxNHB4IDAgIzBhMGEwYTtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2NhY2FjYTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNjYWNhY2EsIDAgMTRweCAwICNjYWNhY2E7IH1cblxuLm1lbnUtaWNvbi5kYXJrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uLmRhcms6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMwYTBhMGEsIDAgMTRweCAwICMwYTBhMGE7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzhhOGE4YTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICM4YThhOGEsIDAgMTRweCAwICM4YThhOGE7IH1cblxuLmFjY29yZGlvbi1tZW51IGxpIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmFjY29yZGlvbi1tZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDBERCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogMXJlbTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH1cblxuLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnN1Ym1lbnUtdG9nZ2xlOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMEREIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG5cbi5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzOyB9XG5cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmRyaWxsZG93biAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJpbGxkb3duIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAwMEREO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5kcmlsbGRvd24uYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAwMEREO1xuICByaWdodDogMXJlbTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJpbGxkb3duLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwMDAwREQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtOyB9XG5cbi5kcmlsbGRvd24gLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzAwMDBERCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjMDAwMEREIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogNXB4O1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAtM3B4OyB9XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgb3V0bGluZTogMDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzAwMDBERDsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51IC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDE0cHg7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMDAwMEREIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogYXV0bztcbiAgbGVmdDogNXB4OyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMDAwREQ7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMwMDAwREQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwMDAwREQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwMDBERDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMwMDAwREQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMDAwMEREIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwMDBERDsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC02cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAuZHJvcGRvd24gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzAwMDBERCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwMDBERDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbWFyZ2luLXRvcDogLTFweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCB2aXNpYmlsaXR5IDAuNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjI1KTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtY2xvc2FibGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vZmYtY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTI7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMzsgfVxuICAgIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC43KTsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ucG9zaXRpb24tbGVmdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IC0xM3B4IDAgMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1yaWdodCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAxM3B4IDAgMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi10b3Age1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tdG9wLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTEzcHggMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxM3B4IDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1vdmVybGFwLCAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuaHRtbC5pcy1yZXZlYWwtb3BlbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuICBodG1sLmlzLXJldmVhbC1vcGVuLnpmLWhhcy1zY3JvbGwge1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjQ1KTtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4ucmV2ZWFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5yZXZlYWwge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuICAucmV2ZWFsIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAucmV2ZWFsID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgIG1heC13aWR0aDogMTAwdnc7IH0gfVxuICAucmV2ZWFsLmNvbGxhcHNlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC50aW55IHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMHZ3OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMHZ3OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLmxhcmdlIHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMHZ3OyB9IH1cbiAgLnJldmVhbC5mdWxsIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAucmV2ZWFsLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnN0aWNreS5pcy1zdHVjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICAgIHRvcDogMDsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiBhdXRvOyB9XG4gIC5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuLnRpdGxlLWJhciB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4udGl0bGUtYmFyLWxlZnQsXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxleDogMSAxIDBweDsgfVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnRvcC1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAudG9wLWJhcixcbiAgLnRvcC1iYXIgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgLnRvcC1iYXIgaW5wdXQge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC50b3AtYmFyIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC50b3AtYmFyIGlucHV0LmJ1dHRvbiwgLnRvcC1iYXIgLndwLWJsb2NrLWJ1dHRvbiBpbnB1dC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLnRvcC1iYXIgaW5wdXQud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAudG9wLWJhciAudG9wLWJhci1sZWZ0LFxuICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRvcC1iYXIge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG4udG9wLWJhci10aXRsZSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXJnaW46IDAuNXJlbSAxcmVtIDAuNXJlbSAwOyB9XG5cbi50b3AtYmFyLWxlZnQsXG4udG9wLWJhci1yaWdodCB7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLmNsZWFyZml4OjpiZWZvcmUsIC5jbGVhcmZpeDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogJyAnO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTsgfVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmFsaWduLWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLWp1c3RpZnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmFsaWduLXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5hbGlnbi1sZWZ0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXJpZ2h0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tc2VsZi10b3Age1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmFsaWduLXNlbGYtYm90dG9tIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmFsaWduLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmFsaWduLXNlbGYtbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuLmFsaWduLWNlbnRlci1taWRkbGUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG4uZmxleC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5mbGV4LWNoaWxkLWF1dG8ge1xuICBmbGV4OiAxIDEgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1ncm93IHtcbiAgZmxleDogMSAwIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgZmxleDogMCAxIGF1dG87IH1cblxuLmZsZXgtZGlyLXJvdyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLmZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cbi5mYWRlLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4uc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogc2hha2UtNzsgfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlLTcge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTsgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7IH0gfVxuXG4uc3Bpbi1jdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNwaW4tY2N3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY2N3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfSB9XG5cbi53aWdnbGUge1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlLTdkZWc7IH1cblxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpOyB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpOyB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc2hha2UsXG4uc3Bpbi1jdyxcbi5zcGluLWNjdyxcbi53aWdnbGUge1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zOyB9XG5cbi5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbiN3cGFkbWluYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IH1cblxuYm9keS5hZG1pbi1iYXIuZi10b3BiYXItZml4ZWQgLnN0aWNreS5maXhlZCB7XG4gIG1hcmdpbi10b3A6IDJyZW07IH1cblxuYm9keS5hZG1pbi1iYXIub2ZmY2FudmFzIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICB0b3A6IDIuODc1cmVtO1xuICB0b3A6IDJyZW07IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnd29ya3NhbnMtbWVkaXVtJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9Xb3JrU2Fucy1NZWRpdW0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnd29ya3NhbnMtbWVkaXVtaXRhbGljJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9Xb3JrU2Fucy1NZWRpdW1JdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLypcbkZyb250ZW5kIHN0eWxlcyBmb3IgZ3V0ZW5iZXJnIGJsb2Nrc1xuKi9cbi8qKiA9PT0gQmFzZSBDb2xvciBQYWxhdHRlID09PSAqL1xuLmhhcy1wcmltYXJ5LWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMEREOyB9XG5cbi5oYXMtcHJpbWFyeS1jb2xvciB7XG4gIGNvbG9yOiAjMDAwMEREOyB9XG5cbi5oYXMtc2Vjb25kYXJ5LWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDc1OTMwOyB9XG5cbi5oYXMtc2Vjb25kYXJ5LWNvbG9yIHtcbiAgY29sb3I6ICNENzU5MzA7IH1cblxuLmhhcy1zdWNjZXNzLWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjlFMzQ0OyB9XG5cbi5oYXMtc3VjY2Vzcy1jb2xvciB7XG4gIGNvbG9yOiAjNjlFMzQ0OyB9XG5cbi5oYXMtd2FybmluZy1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0QzMkQxRjsgfVxuXG4uaGFzLXdhcm5pbmctY29sb3Ige1xuICBjb2xvcjogI0QzMkQxRjsgfVxuXG4uaGFzLWFsZXJ0LWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDMyRDFGOyB9XG5cbi5oYXMtYWxlcnQtY29sb3Ige1xuICBjb2xvcjogI0QzMkQxRjsgfVxuXG4vKiogPT09IEJ1dHRvbiA9PT0gKi9cbi53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluay5oYXMtcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDBERDsgfVxuXG4ud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmsuaGFzLXByaW1hcnktY29sb3Ige1xuICBjb2xvcjogIzAwMDBERDsgfVxuXG4ud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmsuaGFzLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Q3NTkzMDsgfVxuXG4ud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmsuaGFzLXNlY29uZGFyeS1jb2xvciB7XG4gIGNvbG9yOiAjRDc1OTMwOyB9XG5cbi53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluay5oYXMtc3VjY2Vzcy1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY5RTM0NDsgfVxuXG4ud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmsuaGFzLXN1Y2Nlc3MtY29sb3Ige1xuICBjb2xvcjogIzY5RTM0NDsgfVxuXG4ud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmsuaGFzLXdhcm5pbmctYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEMzJEMUY7IH1cblxuLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLmhhcy13YXJuaW5nLWNvbG9yIHtcbiAgY29sb3I6ICNEMzJEMUY7IH1cblxuLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLmhhcy1hbGVydC1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0QzMkQxRjsgfVxuXG4ud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmsuaGFzLWFsZXJ0LWNvbG9yIHtcbiAgY29sb3I6ICNEMzJEMUY7IH1cblxuLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1zcXVhcmVkIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi8qKiA9PT0gRmlsZSA9PT0gKi9cbi53cC1ibG9jay1maWxlIC53cC1ibG9jay1maWxlX19idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMXJlbSAzcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC53cC1ibG9jay1maWxlIC53cC1ibG9jay1maWxlX19idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLndwLWJsb2NrLWZpbGUgLndwLWJsb2NrLWZpbGVfX2J1dHRvbiwgLndwLWJsb2NrLWZpbGUgLndwLWJsb2NrLWZpbGVfX2J1dHRvbi5kaXNhYmxlZCwgLndwLWJsb2NrLWZpbGUgLndwLWJsb2NrLWZpbGVfX2J1dHRvbltkaXNhYmxlZF0sIC53cC1ibG9jay1maWxlIC53cC1ibG9jay1maWxlX19idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1maWxlIC53cC1ibG9jay1maWxlX19idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stZmlsZSAud3AtYmxvY2stZmlsZV9fYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stZmlsZSAud3AtYmxvY2stZmlsZV9fYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDBERDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAud3AtYmxvY2stZmlsZSAud3AtYmxvY2stZmlsZV9fYnV0dG9uOmhvdmVyLCAud3AtYmxvY2stZmlsZSAud3AtYmxvY2stZmlsZV9fYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMGJjO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5icmFuZC1sb2dvIC5zaXRlLW5hbWUsIC5icmFuZC1sb2dvIC5zaXRlLWRlc2NyaXB0aW9uLCAuc2l0ZS1icmFuZCAuc2l0ZS1uYW1lLCAuc2l0ZS1icmFuZCAuc2l0ZS1kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmJyYW5kLWxvZ286OmJlZm9yZSwgLnNpdGUtYnJhbmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IC0xcmVtO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1cmVtO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuXG4uYnJhbmQtbG9nby5hcmNoaXZlOjpiZWZvcmUsIC5zaXRlLWJyYW5kLmFyY2hpdmU6OmJlZm9yZSB7XG4gIG1heC13aWR0aDogMTByZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9BUkMtSElWRS1sb2dvLnN2Z1wiKTsgfVxuXG4uYnJhbmQtbG9nby5ldTo6YmVmb3JlLCAuc2l0ZS1icmFuZC5ldTo6YmVmb3JlIHtcbiAgbWF4LXdpZHRoOiAxNXJlbTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2V1X2ZsYWdfY3JlYXRpdmVfZXVyb3BlX2NvX2Z1bmRlZF9sZWZ0LnN2Z1wiKTsgfVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjE3NTliO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRvcDogNXB4O1xuICB3aWR0aDogYXV0bztcbiAgei1pbmRleDogMTAwMDAwOyB9XG5cbmhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgaGVhZGVyIG1haW4ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDJyZW0gMXJlbTtcbiAgICBtaW4td2lkdGg6IDE0cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBoZWFkZXIgbWFpbiB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogdW5zZXQ7IH0gfVxuICBoZWFkZXIgbmF2IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgaGVhZGVyIG5hdiBhLCBoZWFkZXIgbmF2IGJ1dHRvbiB7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgICAgaGVhZGVyIG5hdiBhOmhvdmVyLCBoZWFkZXIgbmF2IGJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMDAwMEREOyB9XG4gICAgaGVhZGVyIG5hdiBtZW51IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmb250LXNpemU6IDAuOHJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBoZWFkZXIgbmF2IHtcbiAgICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAgIGhlYWRlciBuYXYgbWVudSB7XG4gICAgICAgICAgbWFyZ2luOiBpbmhlcml0O1xuICAgICAgICAgIHBhZGRpbmc6IGluaGVyaXQ7XG4gICAgICAgICAgZm9udC1zaXplOiAxNTAlOyB9IH1cblxuZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Q3NTkzMDsgfVxuICBmb290ZXIgYSB7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICBmb290ZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzAwMDBERDsgfVxuICBmb290ZXIgaDEsIGZvb3RlciBoMiwgZm9vdGVyIGgzLCBmb290ZXIgaDQsIGZvb3RlciBoNSwgZm9vdGVyIGg2LFxuICBmb290ZXIgLmgxLCBmb290ZXIgLmgyLCBmb290ZXIgLmgzLCBmb290ZXIgLmg0LCBmb290ZXIgLmg1LCBmb290ZXIgLmg2LFxuICBmb290ZXIgcCwgZm9vdGVyIHVsLCBmb290ZXIgb2wsIGZvb3RlciBsaSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIGZvb3RlciB1bCwgZm9vdGVyIG9sIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgZm9vdGVyIHVsIGxpLCBmb290ZXIgb2wgbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIGZvb3RlciAuY2xlYXIuY2xlYXJmaXgge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIGZvb3RlciAuc2l0ZS1icmFuZC5hcmNoaXZlOjpiZWZvcmUsIGZvb3RlciAuYnJhbmQtbG9nby5hcmNoaXZlOjpiZWZvcmUge1xuICAgIG1hcmdpbi10b3A6IHVuc2V0OyB9XG4gIGZvb3RlciAuc2l0ZS1icmFuZC5ldTo6YmVmb3JlLCBmb290ZXIgLmJyYW5kLWxvZ28uZXU6OmJlZm9yZSB7XG4gICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDRyZW07IH1cbiAgZm9vdGVyIC5jb3B5cmlnaHQsIGZvb3RlciAubGVnYWwtY3JlZGl0cyB7XG4gICAgZm9udC1zaXplOiA4MCU7IH1cbiAgZm9vdGVyIC5zdWJzZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBibGFjaztcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogODAlOyB9XG4gICAgZm9vdGVyIC5zdWJzZWN0aW9uIC5jby1mb3VuZGVkIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGZvb3RlciAuc3Vic2VjdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAwJTsgfSB9XG4gICAgZm9vdGVyIC5zdWJzZWN0aW9uIGFzaWRlIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgZm9vdGVyIC5zdWJzZWN0aW9uIGFzaWRlIHtcbiAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgICBmb290ZXIgLnN1YnNlY3Rpb24gYXNpZGUuZG91YmxlIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgZm9vdGVyIC5zdWJzZWN0aW9uIGFzaWRlLmRvdWJsZSB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNCwgLmg1LCAuaDYsXG5idXR0b24sIC5idXR0b24sIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluayxcbmhlYWRlciBuYXYsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDQsIC5oNSwgLmg2IHtcbiAgZm9udC12YXJpYW50OiBhbGwtc21hbGwtY2FwczsgfVxuICBoMSBhLCBoMiBhLCBoMyBhLCBoNCBhLCBoNSBhLCBoNiBhLFxuICAuaDEgYSwgLmgyIGEsIC5oMyBhLCAuaDQgYSwgLmg0IGEsIC5oNSBhLCAuaDYgYSxcbiAgYnV0dG9uIGEsIC5idXR0b24gYSwgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rIGEsXG4gIGhlYWRlciBuYXYgYSxcbiAgaDEgYSwgaDIgYSwgaDMgYSwgaDQgYSwgaDUgYSwgaDYgYSxcbiAgLmgxIGEsIC5oMiBhLCAuaDMgYSwgLmg0IGEsIC5oNCBhLCAuaDUgYSwgLmg2IGEge1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5leGNlcnB0IGEsIC5wb3N0LWV4Y2VycHQgYSB7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5leGNlcnB0IGE6aG92ZXIgcCwgLnBvc3QtZXhjZXJwdCBhOmhvdmVyIHAge1xuICAgIGNvbG9yOiAjMDAwMEREOyB9XG5cbm1haW4gYXJ0aWNsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgbWFpbiBhcnRpY2xlIGhlYWRlciB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgbWFpbiBhcnRpY2xlIGhlYWRlciAuZW50cnktdGl0bGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgbWFpbiBhcnRpY2xlIC5lbnRyeS1jb250ZW50IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBtYWluIGFydGljbGUgLmVudHJ5LWNvbnRlbnQge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmc6IDJyZW0gM3JlbTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MHJlbTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIG1haW4gYXJ0aWNsZSAuZW50cnktY29udGVudCB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MHJlbTtcbiAgICAgICAgcGFkZGluZzogMnJlbSAzcmVtO1xuICAgICAgICBmb250LXNpemU6IDEyMCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cblxuLm5ld3MsIC5uZXdzLWNhdGVnb3J5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAubmV3cyBoZWFkZXIsIC5uZXdzIG1haW4sIC5uZXdzIGFzaWRlLCAubmV3cy1jYXRlZ29yeSBoZWFkZXIsIC5uZXdzLWNhdGVnb3J5IG1haW4sIC5uZXdzLWNhdGVnb3J5IGFzaWRlIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTsgfVxuICAubmV3cyBtYWluLCAubmV3cy1jYXRlZ29yeSBtYWluIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgICAubmV3cyBtYWluIGFydGljbGUsIC5uZXdzLWNhdGVnb3J5IG1haW4gYXJ0aWNsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYmFja2dyb3VuZDogdW5zZXQ7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgICAubmV3cyBtYWluIGFydGljbGUgPiA6bGFzdC1jaGlsZCwgLm5ld3MtY2F0ZWdvcnkgbWFpbiBhcnRpY2xlID4gOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAubmV3cyBtYWluIGFydGljbGUsIC5uZXdzLWNhdGVnb3J5IG1haW4gYXJ0aWNsZSB7XG4gICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLm5ld3MgbWFpbiBhcnRpY2xlLCAubmV3cy1jYXRlZ29yeSBtYWluIGFydGljbGUge1xuICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgICAgIC5uZXdzIG1haW4gYXJ0aWNsZSBmaWd1cmUsIC5uZXdzLWNhdGVnb3J5IG1haW4gYXJ0aWNsZSBmaWd1cmUge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgICAgIGhlaWdodDogNTh2dztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAubmV3cyBtYWluIGFydGljbGUgZmlndXJlLCAubmV3cy1jYXRlZ29yeSBtYWluIGFydGljbGUgZmlndXJlIHtcbiAgICAgICAgICAgIGhlaWdodDogMjh2dzsgfSB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLm5ld3MgbWFpbiBhcnRpY2xlIGZpZ3VyZSwgLm5ld3MtY2F0ZWdvcnkgbWFpbiBhcnRpY2xlIGZpZ3VyZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwdnc7IH0gfVxuICAgICAgLm5ld3MgbWFpbiBhcnRpY2xlIC5kYXRlLCAubmV3cy1jYXRlZ29yeSBtYWluIGFydGljbGUgLmRhdGUge1xuICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtOyB9XG4gICAgICAubmV3cyBtYWluIGFydGljbGUgLmVudHJ5LXRpdGxlLCAubmV3cy1jYXRlZ29yeSBtYWluIGFydGljbGUgLmVudHJ5LXRpdGxlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwLjc7XG4gICAgICAgIGZvbnQtc2l6ZTogMTUwJTsgfVxuICAubmV3cyBhc2lkZSwgLm5ld3MtY2F0ZWdvcnkgYXNpZGUge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5uZXdzIGFzaWRlLCAubmV3cy1jYXRlZ29yeSBhc2lkZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG5cbi5jb2xsZWN0aW9ucy1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAuY29sbGVjdGlvbnMtbGlzdCBoZWFkZXIsIC5jb2xsZWN0aW9ucy1saXN0IG1haW4sIC5jb2xsZWN0aW9ucy1saXN0IGFzaWRlIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nOiAzcmVtIDA7IH1cbiAgLmNvbGxlY3Rpb25zLWxpc3QgaGVhZGVyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzBhMGEwYTtcbiAgICBwYWRkaW5nOiA0cmVtIDA7IH1cbiAgLmNvbGxlY3Rpb25zLWxpc3QgbWFpbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgLmNvbGxlY3Rpb25zLWxpc3QgbWFpbiBhcnRpY2xlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB1bnNldDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICAgIG1pbi13aWR0aDogMHB4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgICAgLmNvbGxlY3Rpb25zLWxpc3QgbWFpbiBhcnRpY2xlID4gOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5wYXJ0bmVycyAuZW50cnktY29udGVudCB7XG4gIG1heC13aWR0aDogdW5zZXQ7IH1cbiAgLnBhcnRuZXJzIC5lbnRyeS1jb250ZW50IHAge1xuICAgIHBhZGRpbmctbGVmdDogMzB2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gICAgLnBhcnRuZXJzIC5lbnRyeS1jb250ZW50IHA6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzBhMGEwYTtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuICAucGFydG5lcnMgLmVudHJ5LWNvbnRlbnQgLmFsaWdubGVmdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLnBhcnRuZXJzIC5lbnRyeS1jb250ZW50IC53cC1ibG9jay1pbWFnZSB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5oZXJvIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMwMDAwREQ7IH1cbiAgLmhlcm8gLnNsaWRlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgLmhlcm8gLnNsaWRlcyAuc2xpZGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgICAgLmhlcm8gLnNsaWRlcyAuc2xpZGUgLnRleHR3aWRnZXQge1xuICAgICAgICBwYWRkaW5nOiAycmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuaGVybyAuc2xpZGVzIC5zbGlkZSAudGV4dHdpZGdldCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA1MHJlbTtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgICBmb250LXNpemU6IDEzMCU7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmhlcm8gLnNsaWRlcyAuc2xpZGUge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKCg1MHZ3KjkpLzE2KTtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAgICAgLmhlcm8gLnNsaWRlcyAuc2xpZGUgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAgICAgLmhlcm8gLnNsaWRlcyAuc2xpZGUgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgLmhlcm8gLnNsaWRlcyAuc2xpZGUgLnRleHR3aWRnZXQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMjAlO1xuICAgICAgICAgICAgcGFkZGluZzogMnJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIC5oZXJvIC5zbGlkZXMgLnNsaWRlIC50ZXh0d2lkZ2V0IHtcbiAgICAgICAgICBmb250LXNpemU6IDEzMCU7XG4gICAgICAgICAgcGFkZGluZzogM3JlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAgIC5oZXJvIC5zbGlkZXMgLnNsaWRlIC50ZXh0d2lkZ2V0IHtcbiAgICAgICAgICBmb250LXNpemU6IDE2MCU7XG4gICAgICAgICAgcGFkZGluZzogM3JlbTsgfSB9XG4gICAgICAuaGVybyAuc2xpZGVzIC5zbGlkZTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwREQ7XG4gICAgICAgIGZvbnQtdmFyaWFudDogYWxsLXNtYWxsLWNhcHM7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5oZXJvIC5zbGlkZXMgLnNsaWRlIC5sb2dvIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDgwJTsgfSB9XG4gIC5oZXJvIGFzaWRlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Q3NTkzMDsgfVxuICAgIC5oZXJvIGFzaWRlIG5hdiB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1pbi1oZWlnaHQ6IDZyZW07XG4gICAgICBwYWRkaW5nOiAxcmVtIDA7IH1cbiAgICAgIC5oZXJvIGFzaWRlIG5hdiBhIHtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAgIC5oZXJvIGFzaWRlIG5hdiAuYnV0dG9uLCAuaGVybyBhc2lkZSBuYXYgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5oZXJvIGFzaWRlIG5hdiAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmhlcm8uc2Vjb25kYXJ5IHtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNENzU5MzA7IH1cbiAgICAuaGVyby5zZWNvbmRhcnkgLnNsaWRlIGZpZ3VyZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSBhOmZvY3VzLCBidXR0b246Zm9jdXMgW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0gYTpmb2N1cywgYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uZmVhdHVyZWQtaGVybyB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgaGVpZ2h0OiA2LjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZlYXR1cmVkLWhlcm8ge1xuICAgICAgaGVpZ2h0OiAxMi41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5mZWF0dXJlZC1oZXJvIHtcbiAgICAgIGhlaWdodDogMjVyZW07IH0gfVxuXG4uZG90dGVkIHtcbiAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gIG1hcmdpbjogMnJlbSAwOyB9XG5cbi5jYXJkIHtcbiAgcGFkZGluZzogMXJlbTsgfVxuXG5idXR0b24sIC5idXR0b24sIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gIG1pbi13aWR0aDogMjByZW07IH1cblxuLmhlcm8gYnV0dG9uLCAuaGVybyAuYnV0dG9uLCAuaGVybyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmhlcm8gLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gIG1pbi13aWR0aDogMjB2dztcbiAgcGFkZGluZzogMC4zcmVtIDJyZW07XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBmb250LXNpemU6IDEzMCU7XG4gIGJvcmRlci1jb2xvcjogIzBhMGEwYTtcbiAgYm9yZGVyLXJhZGl1czogNHJlbTsgfVxuICAuaGVybyBidXR0b246aG92ZXIsIC5oZXJvIC5idXR0b246aG92ZXIsIC5oZXJvIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaGVybyAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwMDBERDtcbiAgICBib3JkZXItY29sb3I6ICMwMDAwREQ7IH1cblxuLmFjY29yZGlvbi1pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwYTBhMGE7IH1cblxuLmFjY29yZGlvbi10aXRsZSB1bCwgLmFjY29yZGlvbi10aXRsZSBvbCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLmFjY29yZGlvbi10aXRsZSBsaSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA1LjE1LjMgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKi9cbi5mYSxcbi5mYXMsXG4uZmFyLFxuLmZhbCxcbi5mYWQsXG4uZmFiIHtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5mYS1sZyB7XG4gIGZvbnQtc2l6ZTogMS4zMzMzM2VtO1xuICBsaW5lLWhlaWdodDogMC43NWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4wNjY3ZW07IH1cblxuLmZhLXhzIHtcbiAgZm9udC1zaXplOiAuNzVlbTsgfVxuXG4uZmEtc20ge1xuICBmb250LXNpemU6IC44NzVlbTsgfVxuXG4uZmEtMXgge1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4uZmEtMngge1xuICBmb250LXNpemU6IDJlbTsgfVxuXG4uZmEtM3gge1xuICBmb250LXNpemU6IDNlbTsgfVxuXG4uZmEtNHgge1xuICBmb250LXNpemU6IDRlbTsgfVxuXG4uZmEtNXgge1xuICBmb250LXNpemU6IDVlbTsgfVxuXG4uZmEtNngge1xuICBmb250LXNpemU6IDZlbTsgfVxuXG4uZmEtN3gge1xuICBmb250LXNpemU6IDdlbTsgfVxuXG4uZmEtOHgge1xuICBmb250LXNpemU6IDhlbTsgfVxuXG4uZmEtOXgge1xuICBmb250LXNpemU6IDllbTsgfVxuXG4uZmEtMTB4IHtcbiAgZm9udC1zaXplOiAxMGVtOyB9XG5cbi5mYS1mdyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEuMjVlbTsgfVxuXG4uZmEtdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAyLjVlbTtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5mYS11bCA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZhLWxpIHtcbiAgbGVmdDogLTJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAyZW07XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbi5mYS1ib3JkZXIge1xuICBib3JkZXI6IHNvbGlkIDAuMDhlbSAjZWVlO1xuICBib3JkZXItcmFkaXVzOiAuMWVtO1xuICBwYWRkaW5nOiAuMmVtIC4yNWVtIC4xNWVtOyB9XG5cbi5mYS1wdWxsLWxlZnQge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uZmEtcHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uZmEuZmEtcHVsbC1sZWZ0LFxuLmZhcy5mYS1wdWxsLWxlZnQsXG4uZmFyLmZhLXB1bGwtbGVmdCxcbi5mYWwuZmEtcHVsbC1sZWZ0LFxuLmZhYi5mYS1wdWxsLWxlZnQge1xuICBtYXJnaW4tcmlnaHQ6IC4zZW07IH1cblxuLmZhLmZhLXB1bGwtcmlnaHQsXG4uZmFzLmZhLXB1bGwtcmlnaHQsXG4uZmFyLmZhLXB1bGwtcmlnaHQsXG4uZmFsLmZhLXB1bGwtcmlnaHQsXG4uZmFiLmZhLXB1bGwtcmlnaHQge1xuICBtYXJnaW4tbGVmdDogLjNlbTsgfVxuXG4uZmEtc3BpbiB7XG4gIGFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7IH1cblxuLmZhLXB1bHNlIHtcbiAgYW5pbWF0aW9uOiBmYS1zcGluIDFzIGluZmluaXRlIHN0ZXBzKDgpOyB9XG5cbkBrZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuLmZhLXJvdGF0ZS05MCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MSlcIjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XG5cbi5mYS1yb3RhdGUtMTgwIHtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yKVwiO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG5cbi5mYS1yb3RhdGUtMjcwIHtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0zKVwiO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9XG5cbi5mYS1mbGlwLWhvcml6b250YWwge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTAsIG1pcnJvcj0xKVwiO1xuICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTsgfVxuXG4uZmEtZmxpcC12ZXJ0aWNhbCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MiwgbWlycm9yPTEpXCI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOyB9XG5cbi5mYS1mbGlwLWJvdGgsIC5mYS1mbGlwLWhvcml6b250YWwuZmEtZmxpcC12ZXJ0aWNhbCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MiwgbWlycm9yPTEpXCI7XG4gIHRyYW5zZm9ybTogc2NhbGUoLTEsIC0xKTsgfVxuXG46cm9vdCAuZmEtcm90YXRlLTkwLFxuOnJvb3QgLmZhLXJvdGF0ZS0xODAsXG46cm9vdCAuZmEtcm90YXRlLTI3MCxcbjpyb290IC5mYS1mbGlwLWhvcml6b250YWwsXG46cm9vdCAuZmEtZmxpcC12ZXJ0aWNhbCxcbjpyb290IC5mYS1mbGlwLWJvdGgge1xuICBmaWx0ZXI6IG5vbmU7IH1cblxuLmZhLXN0YWNrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMi41ZW07IH1cblxuLmZhLXN0YWNrLTF4LFxuLmZhLXN0YWNrLTJ4IHtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mYS1zdGFjay0xeCB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbi5mYS1zdGFjay0yeCB7XG4gIGZvbnQtc2l6ZTogMmVtOyB9XG5cbi5mYS1pbnZlcnNlIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogRm9udCBBd2Vzb21lIHVzZXMgdGhlIFVuaWNvZGUgUHJpdmF0ZSBVc2UgQXJlYSAoUFVBKSB0byBlbnN1cmUgc2NyZWVuXG5yZWFkZXJzIGRvIG5vdCByZWFkIG9mZiByYW5kb20gY2hhcmFjdGVycyB0aGF0IHJlcHJlc2VudCBpY29ucyAqL1xuLmZhLTUwMHB4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZlXCI7IH1cblxuLmZhLWFjY2Vzc2libGUtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2OFwiOyB9XG5cbi5mYS1hY2N1c29mdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2OVwiOyB9XG5cbi5mYS1hY3F1aXNpdGlvbnMtaW5jb3Jwb3JhdGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmFmXCI7IH1cblxuLmZhLWFkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjQxXCI7IH1cblxuLmZhLWFkZHJlc3MtYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiOVwiOyB9XG5cbi5mYS1hZGRyZXNzLWNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYmJcIjsgfVxuXG4uZmEtYWRqdXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQyXCI7IH1cblxuLmZhLWFkbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MFwiOyB9XG5cbi5mYS1hZHZlcnNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2YVwiOyB9XG5cbi5mYS1hZmZpbGlhdGV0aGVtZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2YlwiOyB9XG5cbi5mYS1haXItZnJlc2hlbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWQwXCI7IH1cblxuLmZhLWFpcmJuYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzNFwiOyB9XG5cbi5mYS1hbGdvbGlhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzZjXCI7IH1cblxuLmZhLWFsaWduLWNlbnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzN1wiOyB9XG5cbi5mYS1hbGlnbi1qdXN0aWZ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDM5XCI7IH1cblxuLmZhLWFsaWduLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzZcIjsgfVxuXG4uZmEtYWxpZ24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzhcIjsgfVxuXG4uZmEtYWxpcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjQyXCI7IH1cblxuLmZhLWFsbGVyZ2llczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ2MVwiOyB9XG5cbi5mYS1hbWF6b246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzBcIjsgfVxuXG4uZmEtYW1hem9uLXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyY1wiOyB9XG5cbi5mYS1hbWJ1bGFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjlcIjsgfVxuXG4uZmEtYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTNcIjsgfVxuXG4uZmEtYW1pbGlhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzZkXCI7IH1cblxuLmZhLWFuY2hvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzZFwiOyB9XG5cbi5mYS1hbmRyb2lkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdiXCI7IH1cblxuLmZhLWFuZ2VsbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwOVwiOyB9XG5cbi5mYS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwM1wiOyB9XG5cbi5mYS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwMFwiOyB9XG5cbi5mYS1hbmdsZS1kb3VibGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDFcIjsgfVxuXG4uZmEtYW5nbGUtZG91YmxlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAyXCI7IH1cblxuLmZhLWFuZ2xlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDdcIjsgfVxuXG4uZmEtYW5nbGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNFwiOyB9XG5cbi5mYS1hbmdsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNVwiOyB9XG5cbi5mYS1hbmdsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNlwiOyB9XG5cbi5mYS1hbmdyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1NlwiOyB9XG5cbi5mYS1hbmdyeWNyZWF0aXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzZlXCI7IH1cblxuLmZhLWFuZ3VsYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjBcIjsgfVxuXG4uZmEtYW5raDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY0NFwiOyB9XG5cbi5mYS1hcHAtc3RvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmZcIjsgfVxuXG4uZmEtYXBwLXN0b3JlLWlvczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3MFwiOyB9XG5cbi5mYS1hcHBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3MVwiOyB9XG5cbi5mYS1hcHBsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3OVwiOyB9XG5cbi5mYS1hcHBsZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZDFcIjsgfVxuXG4uZmEtYXBwbGUtcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDE1XCI7IH1cblxuLmZhLWFyY2hpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODdcIjsgfVxuXG4uZmEtYXJjaHdheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1N1wiOyB9XG5cbi5mYS1hcnJvdy1hbHQtY2lyY2xlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNThcIjsgfVxuXG4uZmEtYXJyb3ctYWx0LWNpcmNsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzU5XCI7IH1cblxuLmZhLWFycm93LWFsdC1jaXJjbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNWFcIjsgfVxuXG4uZmEtYXJyb3ctYWx0LWNpcmNsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1YlwiOyB9XG5cbi5mYS1hcnJvdy1jaXJjbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhYlwiOyB9XG5cbi5mYS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhOFwiOyB9XG5cbi5mYS1hcnJvdy1jaXJjbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTlcIjsgfVxuXG4uZmEtYXJyb3ctY2lyY2xlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFhXCI7IH1cblxuLmZhLWFycm93LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjNcIjsgfVxuXG4uZmEtYXJyb3ctbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2MFwiOyB9XG5cbi5mYS1hcnJvdy1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2MVwiOyB9XG5cbi5mYS1hcnJvdy11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2MlwiOyB9XG5cbi5mYS1hcnJvd3MtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGIyXCI7IH1cblxuLmZhLWFycm93cy1hbHQtaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMzN1wiOyB9XG5cbi5mYS1hcnJvd3MtYWx0LXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMzhcIjsgfVxuXG4uZmEtYXJ0c3RhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc3YVwiOyB9XG5cbi5mYS1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTJcIjsgfVxuXG4uZmEtYXN0ZXJpc2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjlcIjsgfVxuXG4uZmEtYXN5bW1ldHJpazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3MlwiOyB9XG5cbi5mYS1hdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmYVwiOyB9XG5cbi5mYS1hdGxhczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1OFwiOyB9XG5cbi5mYS1hdGxhc3NpYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3N2JcIjsgfVxuXG4uZmEtYXRvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVkMlwiOyB9XG5cbi5mYS1hdWRpYmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzczXCI7IH1cblxuLmZhLWF1ZGlvLWRlc2NyaXB0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjllXCI7IH1cblxuLmZhLWF1dG9wcmVmaXhlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxY1wiOyB9XG5cbi5mYS1hdmlhbmV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzc0XCI7IH1cblxuLmZhLWF2aWF0bzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyMVwiOyB9XG5cbi5mYS1hd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1OVwiOyB9XG5cbi5mYS1hd3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzVcIjsgfVxuXG4uZmEtYmFieTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc3Y1wiOyB9XG5cbi5mYS1iYWJ5LWNhcnJpYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzdkXCI7IH1cblxuLmZhLWJhY2tzcGFjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1YVwiOyB9XG5cbi5mYS1iYWNrd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0YVwiOyB9XG5cbi5mYS1iYWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdlNVwiOyB9XG5cbi5mYS1iYWN0ZXJpYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1OVwiOyB9XG5cbi5mYS1iYWN0ZXJpdW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNWFcIjsgfVxuXG4uZmEtYmFoYWk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NjZcIjsgfVxuXG4uZmEtYmFsYW5jZS1zY2FsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0ZVwiOyB9XG5cbi5mYS1iYWxhbmNlLXNjYWxlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MTVcIjsgfVxuXG4uZmEtYmFsYW5jZS1zY2FsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxNlwiOyB9XG5cbi5mYS1iYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWVcIjsgfVxuXG4uZmEtYmFuZC1haWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NjJcIjsgfVxuXG4uZmEtYmFuZGNhbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDVcIjsgfVxuXG4uZmEtYmFyY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyYVwiOyB9XG5cbi5mYS1iYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM5XCI7IH1cblxuLmZhLWJhc2ViYWxsLWJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzNcIjsgfVxuXG4uZmEtYmFza2V0YmFsbC1iYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDM0XCI7IH1cblxuLmZhLWJhdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyY2RcIjsgfVxuXG4uZmEtYmF0dGVyeS1lbXB0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0NFwiOyB9XG5cbi5mYS1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDBcIjsgfVxuXG4uZmEtYmF0dGVyeS1oYWxmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQyXCI7IH1cblxuLmZhLWJhdHRlcnktcXVhcnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0M1wiOyB9XG5cbi5mYS1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQxXCI7IH1cblxuLmZhLWJhdHRsZS1uZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MzVcIjsgfVxuXG4uZmEtYmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM2XCI7IH1cblxuLmZhLWJlZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmNcIjsgfVxuXG4uZmEtYmVoYW5jZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiNFwiOyB9XG5cbi5mYS1iZWhhbmNlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiNVwiOyB9XG5cbi5mYS1iZWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYzXCI7IH1cblxuLmZhLWJlbGwtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjZcIjsgfVxuXG4uZmEtYmV6aWVyLWN1cnZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTViXCI7IH1cblxuLmZhLWJpYmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjQ3XCI7IH1cblxuLmZhLWJpY3ljbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDZcIjsgfVxuXG4uZmEtYmlraW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODRhXCI7IH1cblxuLmZhLWJpbW9iamVjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3OFwiOyB9XG5cbi5mYS1iaW5vY3VsYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU1XCI7IH1cblxuLmZhLWJpb2hhemFyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4MFwiOyB9XG5cbi5mYS1iaXJ0aGRheS1jYWtlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZkXCI7IH1cblxuLmZhLWJpdGJ1Y2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MVwiOyB9XG5cbi5mYS1iaXRjb2luOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzc5XCI7IH1cblxuLmZhLWJpdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2FcIjsgfVxuXG4uZmEtYmxhY2stdGllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjdlXCI7IH1cblxuLmZhLWJsYWNrYmVycnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2JcIjsgfVxuXG4uZmEtYmxlbmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxN1wiOyB9XG5cbi5mYS1ibGVuZGVyLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmI2XCI7IH1cblxuLmZhLWJsaW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjlkXCI7IH1cblxuLmZhLWJsb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ODFcIjsgfVxuXG4uZmEtYmxvZ2dlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3Y1wiOyB9XG5cbi5mYS1ibG9nZ2VyLWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2RcIjsgfVxuXG4uZmEtYmx1ZXRvb3RoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjkzXCI7IH1cblxuLmZhLWJsdWV0b290aC1iOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk0XCI7IH1cblxuLmZhLWJvbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzJcIjsgfVxuXG4uZmEtYm9sdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlN1wiOyB9XG5cbi5mYS1ib21iOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWUyXCI7IH1cblxuLmZhLWJvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZDdcIjsgfVxuXG4uZmEtYm9uZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1Y1wiOyB9XG5cbi5mYS1ib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJkXCI7IH1cblxuLmZhLWJvb2stZGVhZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZiN1wiOyB9XG5cbi5mYS1ib29rLW1lZGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZTZcIjsgfVxuXG4uZmEtYm9vay1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTE4XCI7IH1cblxuLmZhLWJvb2stcmVhZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWRhXCI7IH1cblxuLmZhLWJvb2ttYXJrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJlXCI7IH1cblxuLmZhLWJvb3RzdHJhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzNlwiOyB9XG5cbi5mYS1ib3JkZXItYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODRjXCI7IH1cblxuLmZhLWJvcmRlci1ub25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODUwXCI7IH1cblxuLmZhLWJvcmRlci1zdHlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg1M1wiOyB9XG5cbi5mYS1ib3dsaW5nLWJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzZcIjsgfVxuXG4uZmEtYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDY2XCI7IH1cblxuLmZhLWJveC1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDllXCI7IH1cblxuLmZhLWJveC10aXNzdWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNWJcIjsgfVxuXG4uZmEtYm94ZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NjhcIjsgfVxuXG4uZmEtYnJhaWxsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhMVwiOyB9XG5cbi5mYS1icmFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVkY1wiOyB9XG5cbi5mYS1icmVhZC1zbGljZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdlY1wiOyB9XG5cbi5mYS1icmllZmNhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYjFcIjsgfVxuXG4uZmEtYnJpZWZjYXNlLW1lZGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NjlcIjsgfVxuXG4uZmEtYnJvYWRjYXN0LXRvd2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTE5XCI7IH1cblxuLmZhLWJyb29tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTFhXCI7IH1cblxuLmZhLWJydXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTVkXCI7IH1cblxuLmZhLWJ0YzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1YVwiOyB9XG5cbi5mYS1idWZmZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MzdcIjsgfVxuXG4uZmEtYnVnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg4XCI7IH1cblxuLmZhLWJ1aWxkaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFkXCI7IH1cblxuLmZhLWJ1bGxob3JuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGExXCI7IH1cblxuLmZhLWJ1bGxzZXllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQwXCI7IH1cblxuLmZhLWJ1cm46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NmFcIjsgfVxuXG4uZmEtYnVyb21vYmVsZXhwZXJ0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3ZlwiOyB9XG5cbi5mYS1idXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDdcIjsgfVxuXG4uZmEtYnVzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1ZVwiOyB9XG5cbi5mYS1idXNpbmVzcy10aW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjRhXCI7IH1cblxuLmZhLWJ1eS1uLWxhcmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmOGE2XCI7IH1cblxuLmZhLWJ1eXNlbGxhZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGRcIjsgfVxuXG4uZmEtY2FsY3VsYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlY1wiOyB9XG5cbi5mYS1jYWxlbmRhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzM1wiOyB9XG5cbi5mYS1jYWxlbmRhci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzNcIjsgfVxuXG4uZmEtY2FsZW5kYXItY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzRcIjsgfVxuXG4uZmEtY2FsZW5kYXItZGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzgzXCI7IH1cblxuLmZhLWNhbGVuZGFyLW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjcyXCI7IH1cblxuLmZhLWNhbGVuZGFyLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzFcIjsgfVxuXG4uZmEtY2FsZW5kYXItdGltZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzNcIjsgfVxuXG4uZmEtY2FsZW5kYXItd2VlazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4NFwiOyB9XG5cbi5mYS1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzBcIjsgfVxuXG4uZmEtY2FtZXJhLXJldHJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDgzXCI7IH1cblxuLmZhLWNhbXBncm91bmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YmJcIjsgfVxuXG4uZmEtY2FuYWRpYW4tbWFwbGUtbGVhZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4NVwiOyB9XG5cbi5mYS1jYW5keS1jYW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzg2XCI7IH1cblxuLmZhLWNhbm5hYmlzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTVmXCI7IH1cblxuLmZhLWNhcHN1bGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDZiXCI7IH1cblxuLmZhLWNhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiOVwiOyB9XG5cbi5mYS1jYXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWRlXCI7IH1cblxuLmZhLWNhci1iYXR0ZXJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWRmXCI7IH1cblxuLmZhLWNhci1jcmFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVlMVwiOyB9XG5cbi5mYS1jYXItc2lkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVlNFwiOyB9XG5cbi5mYS1jYXJhdmFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmOGZmXCI7IH1cblxuLmZhLWNhcmV0LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDdcIjsgfVxuXG4uZmEtY2FyZXQtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkOVwiOyB9XG5cbi5mYS1jYXJldC1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkYVwiOyB9XG5cbi5mYS1jYXJldC1zcXVhcmUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MFwiOyB9XG5cbi5mYS1jYXJldC1zcXVhcmUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5MVwiOyB9XG5cbi5mYS1jYXJldC1zcXVhcmUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTJcIjsgfVxuXG4uZmEtY2FyZXQtc3F1YXJlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUxXCI7IH1cblxuLmZhLWNhcmV0LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ4XCI7IH1cblxuLmZhLWNhcnJvdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4N1wiOyB9XG5cbi5mYS1jYXJ0LWFycm93LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMThcIjsgfVxuXG4uZmEtY2FydC1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE3XCI7IH1cblxuLmZhLWNhc2gtcmVnaXN0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ODhcIjsgfVxuXG4uZmEtY2F0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmJlXCI7IH1cblxuLmZhLWNjLWFtYXpvbi1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmRcIjsgfVxuXG4uZmEtY2MtYW1leDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmM1wiOyB9XG5cbi5mYS1jYy1hcHBsZS1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTZcIjsgfVxuXG4uZmEtY2MtZGluZXJzLWNsdWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGNcIjsgfVxuXG4uZmEtY2MtZGlzY292ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjJcIjsgfVxuXG4uZmEtY2MtamNiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjRiXCI7IH1cblxuLmZhLWNjLW1hc3RlcmNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjFcIjsgfVxuXG4uZmEtY2MtcGF5cGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY0XCI7IH1cblxuLmZhLWNjLXN0cmlwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNVwiOyB9XG5cbi5mYS1jYy12aXNhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYwXCI7IH1cblxuLmZhLWNlbnRlcmNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODBcIjsgfVxuXG4uZmEtY2VudG9zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzg5XCI7IH1cblxuLmZhLWNlcnRpZmljYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGEzXCI7IH1cblxuLmZhLWNoYWlyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmMwXCI7IH1cblxuLmZhLWNoYWxrYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MWJcIjsgfVxuXG4uZmEtY2hhbGtib2FyZC10ZWFjaGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTFjXCI7IH1cblxuLmZhLWNoYXJnaW5nLXN0YXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZTdcIjsgfVxuXG4uZmEtY2hhcnQtYXJlYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmZVwiOyB9XG5cbi5mYS1jaGFydC1iYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODBcIjsgfVxuXG4uZmEtY2hhcnQtbGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwMVwiOyB9XG5cbi5mYS1jaGFydC1waWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDBcIjsgfVxuXG4uZmEtY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGNcIjsgfVxuXG4uZmEtY2hlY2stY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU4XCI7IH1cblxuLmZhLWNoZWNrLWRvdWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2MFwiOyB9XG5cbi5mYS1jaGVjay1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGFcIjsgfVxuXG4uZmEtY2hlZXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2VmXCI7IH1cblxuLmZhLWNoZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDM5XCI7IH1cblxuLmZhLWNoZXNzLWJpc2hvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzYVwiOyB9XG5cbi5mYS1jaGVzcy1ib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzY1wiOyB9XG5cbi5mYS1jaGVzcy1raW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDNmXCI7IH1cblxuLmZhLWNoZXNzLWtuaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ0MVwiOyB9XG5cbi5mYS1jaGVzcy1wYXduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDQzXCI7IH1cblxuLmZhLWNoZXNzLXF1ZWVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDQ1XCI7IH1cblxuLmZhLWNoZXNzLXJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NDdcIjsgfVxuXG4uZmEtY2hldnJvbi1jaXJjbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzYVwiOyB9XG5cbi5mYS1jaGV2cm9uLWNpcmNsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM3XCI7IH1cblxuLmZhLWNoZXZyb24tY2lyY2xlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM4XCI7IH1cblxuLmZhLWNoZXZyb24tY2lyY2xlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM5XCI7IH1cblxuLmZhLWNoZXZyb24tZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3OFwiOyB9XG5cbi5mYS1jaGV2cm9uLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTNcIjsgfVxuXG4uZmEtY2hldnJvbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1NFwiOyB9XG5cbi5mYS1jaGV2cm9uLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc3XCI7IH1cblxuLmZhLWNoaWxkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFlXCI7IH1cblxuLmZhLWNocm9tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2OFwiOyB9XG5cbi5mYS1jaHJvbWVjYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM4XCI7IH1cblxuLmZhLWNodXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxZFwiOyB9XG5cbi5mYS1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTFcIjsgfVxuXG4uZmEtY2lyY2xlLW5vdGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNlXCI7IH1cblxuLmZhLWNpdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NGZcIjsgfVxuXG4uZmEtY2xpbmljLW1lZGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZjJcIjsgfVxuXG4uZmEtY2xpcGJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzI4XCI7IH1cblxuLmZhLWNsaXBib2FyZC1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ2Y1wiOyB9XG5cbi5mYS1jbGlwYm9hcmQtbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ2ZFwiOyB9XG5cbi5mYS1jbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxN1wiOyB9XG5cbi5mYS1jbG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0ZFwiOyB9XG5cbi5mYS1jbG9zZWQtY2FwdGlvbmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwYVwiOyB9XG5cbi5mYS1jbG91ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMlwiOyB9XG5cbi5mYS1jbG91ZC1kb3dubG9hZC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODFcIjsgfVxuXG4uZmEtY2xvdWQtbWVhdGJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3M2JcIjsgfVxuXG4uZmEtY2xvdWQtbW9vbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjM1wiOyB9XG5cbi5mYS1jbG91ZC1tb29uLXJhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3M2NcIjsgfVxuXG4uZmEtY2xvdWQtcmFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjczZFwiOyB9XG5cbi5mYS1jbG91ZC1zaG93ZXJzLWhlYXZ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzQwXCI7IH1cblxuLmZhLWNsb3VkLXN1bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjNFwiOyB9XG5cbi5mYS1jbG91ZC1zdW4tcmFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc0M1wiOyB9XG5cbi5mYS1jbG91ZC11cGxvYWQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzgyXCI7IH1cblxuLmZhLWNsb3VkZmxhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwN2RcIjsgfVxuXG4uZmEtY2xvdWRzY2FsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4M1wiOyB9XG5cbi5mYS1jbG91ZHNtaXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzg0XCI7IH1cblxuLmZhLWNsb3VkdmVyc2lmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4NVwiOyB9XG5cbi5mYS1jb2NrdGFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2MVwiOyB9XG5cbi5mYS1jb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIxXCI7IH1cblxuLmZhLWNvZGUtYnJhbmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI2XCI7IH1cblxuLmZhLWNvZGVwZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2JcIjsgfVxuXG4uZmEtY29kaWVwaWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODRcIjsgfVxuXG4uZmEtY29mZmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGY0XCI7IH1cblxuLmZhLWNvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxM1wiOyB9XG5cbi5mYS1jb2dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg1XCI7IH1cblxuLmZhLWNvaW5zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTFlXCI7IH1cblxuLmZhLWNvbHVtbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGJcIjsgfVxuXG4uZmEtY29tbWVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3NVwiOyB9XG5cbi5mYS1jb21tZW50LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3YVwiOyB9XG5cbi5mYS1jb21tZW50LWRvbGxhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY1MVwiOyB9XG5cbi5mYS1jb21tZW50LWRvdHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YWRcIjsgfVxuXG4uZmEtY29tbWVudC1tZWRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2Y1XCI7IH1cblxuLmZhLWNvbW1lbnQtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YjNcIjsgfVxuXG4uZmEtY29tbWVudHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODZcIjsgfVxuXG4uZmEtY29tbWVudHMtZG9sbGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjUzXCI7IH1cblxuLmZhLWNvbXBhY3QtZGlzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxZlwiOyB9XG5cbi5mYS1jb21wYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRlXCI7IH1cblxuLmZhLWNvbXByZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY2XCI7IH1cblxuLmZhLWNvbXByZXNzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyMlwiOyB9XG5cbi5mYS1jb21wcmVzcy1hcnJvd3MtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzhjXCI7IH1cblxuLmZhLWNvbmNpZXJnZS1iZWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTYyXCI7IH1cblxuLmZhLWNvbmZsdWVuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OGRcIjsgfVxuXG4uZmEtY29ubmVjdGRldmVsb3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGVcIjsgfVxuXG4uZmEtY29udGFvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZkXCI7IH1cblxuLmZhLWNvb2tpZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2M1wiOyB9XG5cbi5mYS1jb29raWUtYml0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2NFwiOyB9XG5cbi5mYS1jb3B5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM1XCI7IH1cblxuLmZhLWNvcHlyaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmOVwiOyB9XG5cbi5mYS1jb3R0b24tYnVyZWF1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODllXCI7IH1cblxuLmZhLWNvdWNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGI4XCI7IH1cblxuLmZhLWNwYW5lbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4OFwiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjVlXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtYnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZTdcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1uYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlOFwiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLW5jLWV1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU5XCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtbmMtanA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWFcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1uZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlYlwiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXBkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGVjXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGVkXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtcmVtaXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWVcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1zYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlZlwiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGYwXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmMVwiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGYyXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtemVybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmM1wiOyB9XG5cbi5mYS1jcmVkaXQtY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5ZFwiOyB9XG5cbi5mYS1jcml0aWNhbC1yb2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmM5XCI7IH1cblxuLmZhLWNyb3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjVcIjsgfVxuXG4uZmEtY3JvcC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NjVcIjsgfVxuXG4uZmEtY3Jvc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NTRcIjsgfVxuXG4uZmEtY3Jvc3NoYWlyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1YlwiOyB9XG5cbi5mYS1jcm93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTIwXCI7IH1cblxuLmZhLWNyb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTIxXCI7IH1cblxuLmZhLWNydXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdmN1wiOyB9XG5cbi5mYS1jc3MzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNjXCI7IH1cblxuLmZhLWNzczMtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzhiXCI7IH1cblxuLmZhLWN1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjJcIjsgfVxuXG4uZmEtY3ViZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjNcIjsgfVxuXG4uZmEtY3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM0XCI7IH1cblxuLmZhLWN1dHRsZWZpc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGNcIjsgfVxuXG4uZmEtZC1hbmQtZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4ZFwiOyB9XG5cbi5mYS1kLWFuZC1kLWJleW9uZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjYVwiOyB9XG5cbi5mYS1kYWlseW1vdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1MlwiOyB9XG5cbi5mYS1kYXNoY3ViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxMFwiOyB9XG5cbi5mYS1kYXRhYmFzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjMFwiOyB9XG5cbi5mYS1kZWFmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE0XCI7IH1cblxuLmZhLWRlZXplcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3N1wiOyB9XG5cbi5mYS1kZWxpY2lvdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTVcIjsgfVxuXG4uZmEtZGVtb2NyYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NDdcIjsgfVxuXG4uZmEtZGVwbG95ZG9nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzhlXCI7IH1cblxuLmZhLWRlc2twcm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGZcIjsgfVxuXG4uZmEtZGVza3RvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwOFwiOyB9XG5cbi5mYS1kZXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2Y2NcIjsgfVxuXG4uZmEtZGV2aWFudGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiZFwiOyB9XG5cbi5mYS1kaGFybWFjaGFrcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NTVcIjsgfVxuXG4uZmEtZGhsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzkwXCI7IH1cblxuLmZhLWRpYWdub3NlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3MFwiOyB9XG5cbi5mYS1kaWFzcG9yYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5MVwiOyB9XG5cbi5mYS1kaWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTIyXCI7IH1cblxuLmZhLWRpY2UtZDIwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmNmXCI7IH1cblxuLmZhLWRpY2UtZDY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZDFcIjsgfVxuXG4uZmEtZGljZS1maXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTIzXCI7IH1cblxuLmZhLWRpY2UtZm91cjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyNFwiOyB9XG5cbi5mYS1kaWNlLW9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyNVwiOyB9XG5cbi5mYS1kaWNlLXNpeDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyNlwiOyB9XG5cbi5mYS1kaWNlLXRocmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTI3XCI7IH1cblxuLmZhLWRpY2UtdHdvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTI4XCI7IH1cblxuLmZhLWRpZ2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTZcIjsgfVxuXG4uZmEtZGlnaXRhbC1vY2VhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5MVwiOyB9XG5cbi5mYS1kaWdpdGFsLXRhY2hvZ3JhcGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NjZcIjsgfVxuXG4uZmEtZGlyZWN0aW9uczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVlYlwiOyB9XG5cbi5mYS1kaXNjb3JkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzkyXCI7IH1cblxuLmZhLWRpc2NvdXJzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5M1wiOyB9XG5cbi5mYS1kaXNlYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2ZhXCI7IH1cblxuLmZhLWRpdmlkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyOVwiOyB9XG5cbi5mYS1kaXp6eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2N1wiOyB9XG5cbi5mYS1kbmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NzFcIjsgfVxuXG4uZmEtZG9jaHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzk0XCI7IH1cblxuLmZhLWRvY2tlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5NVwiOyB9XG5cbi5mYS1kb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZDNcIjsgfVxuXG4uZmEtZG9sbGFyLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTVcIjsgfVxuXG4uZmEtZG9sbHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NzJcIjsgfVxuXG4uZmEtZG9sbHktZmxhdGJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3NFwiOyB9XG5cbi5mYS1kb25hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YjlcIjsgfVxuXG4uZmEtZG9vci1jbG9zZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MmFcIjsgfVxuXG4uZmEtZG9vci1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTJiXCI7IH1cblxuLmZhLWRvdC1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTJcIjsgfVxuXG4uZmEtZG92ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRiYVwiOyB9XG5cbi5mYS1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxOVwiOyB9XG5cbi5mYS1kcmFmdDJkaWdpdGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzk2XCI7IH1cblxuLmZhLWRyYWZ0aW5nLWNvbXBhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NjhcIjsgfVxuXG4uZmEtZHJhZ29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmQ1XCI7IH1cblxuLmZhLWRyYXctcG9seWdvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVlZVwiOyB9XG5cbi5mYS1kcmliYmJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3ZFwiOyB9XG5cbi5mYS1kcmliYmJsZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTdcIjsgfVxuXG4uZmEtZHJvcGJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2YlwiOyB9XG5cbi5mYS1kcnVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTY5XCI7IH1cblxuLmZhLWRydW0tc3RlZWxwYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NmFcIjsgfVxuXG4uZmEtZHJ1bXN0aWNrLWJpdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZDdcIjsgfVxuXG4uZmEtZHJ1cGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE5XCI7IH1cblxuLmZhLWR1bWJiZWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDRiXCI7IH1cblxuLmZhLWR1bXBzdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzkzXCI7IH1cblxuLmZhLWR1bXBzdGVyLWZpcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTRcIjsgfVxuXG4uZmEtZHVuZ2VvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZkOVwiOyB9XG5cbi5mYS1keWFsb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTlcIjsgfVxuXG4uZmEtZWFybHliaXJkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5YVwiOyB9XG5cbi5mYS1lYmF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGY0XCI7IH1cblxuLmZhLWVkZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODJcIjsgfVxuXG4uZmEtZWRnZS1sZWdhY3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzhcIjsgfVxuXG4uZmEtZWRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0NFwiOyB9XG5cbi5mYS1lZ2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZmJcIjsgfVxuXG4uZmEtZWplY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTJcIjsgfVxuXG4uZmEtZWxlbWVudG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDMwXCI7IH1cblxuLmZhLWVsbGlwc2lzLWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDFcIjsgfVxuXG4uZmEtZWxsaXBzaXMtdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0MlwiOyB9XG5cbi5mYS1lbGxvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWYxXCI7IH1cblxuLmZhLWVtYmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDIzXCI7IH1cblxuLmZhLWVtcGlyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkMVwiOyB9XG5cbi5mYS1lbnZlbG9wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMFwiOyB9XG5cbi5mYS1lbnZlbG9wZS1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI2XCI7IH1cblxuLmZhLWVudmVsb3BlLW9wZW4tdGV4dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY1OFwiOyB9XG5cbi5mYS1lbnZlbG9wZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTlcIjsgfVxuXG4uZmEtZW52aXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk5XCI7IH1cblxuLmZhLWVxdWFsczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyY1wiOyB9XG5cbi5mYS1lcmFzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmRcIjsgfVxuXG4uZmEtZXJsYW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzlkXCI7IH1cblxuLmZhLWV0aGVyZXVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJlXCI7IH1cblxuLmZhLWV0aGVybmV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzk2XCI7IH1cblxuLmZhLWV0c3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDdcIjsgfVxuXG4uZmEtZXVyby1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUzXCI7IH1cblxuLmZhLWV2ZXJub3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM5XCI7IH1cblxuLmZhLWV4Y2hhbmdlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2MlwiOyB9XG5cbi5mYS1leGNsYW1hdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyYVwiOyB9XG5cbi5mYS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNmFcIjsgfVxuXG4uZmEtZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzFcIjsgfVxuXG4uZmEtZXhwYW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY1XCI7IH1cblxuLmZhLWV4cGFuZC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjRcIjsgfVxuXG4uZmEtZXhwYW5kLWFycm93cy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMWVcIjsgfVxuXG4uZmEtZXhwZWRpdGVkc3NsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNlXCI7IH1cblxuLmZhLWV4dGVybmFsLWxpbmstYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzVkXCI7IH1cblxuLmZhLWV4dGVybmFsLWxpbmstc3F1YXJlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2MFwiOyB9XG5cbi5mYS1leWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNmVcIjsgfVxuXG4uZmEtZXllLWRyb3BwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmJcIjsgfVxuXG4uZmEtZXllLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDcwXCI7IH1cblxuLmZhLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDlhXCI7IH1cblxuLmZhLWZhY2Vib29rLWY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWVcIjsgfVxuXG4uZmEtZmFjZWJvb2stbWVzc2VuZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzlmXCI7IH1cblxuLmZhLWZhY2Vib29rLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MlwiOyB9XG5cbi5mYS1mYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4NjNcIjsgfVxuXG4uZmEtZmFudGFzeS1mbGlnaHQtZ2FtZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZGNcIjsgfVxuXG4uZmEtZmFzdC1iYWNrd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0OVwiOyB9XG5cbi5mYS1mYXN0LWZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTBcIjsgfVxuXG4uZmEtZmF1Y2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDA1XCI7IH1cblxuLmZhLWZheDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhY1wiOyB9XG5cbi5mYS1mZWF0aGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTJkXCI7IH1cblxuLmZhLWZlYXRoZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTZiXCI7IH1cblxuLmZhLWZlZGV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzk3XCI7IH1cblxuLmZhLWZlZG9yYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5OFwiOyB9XG5cbi5mYS1mZW1hbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODJcIjsgfVxuXG4uZmEtZmlnaHRlci1qZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmJcIjsgfVxuXG4uZmEtZmlnbWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTlcIjsgfVxuXG4uZmEtZmlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1YlwiOyB9XG5cbi5mYS1maWxlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1Y1wiOyB9XG5cbi5mYS1maWxlLWFyY2hpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzZcIjsgfVxuXG4uZmEtZmlsZS1hdWRpbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjN1wiOyB9XG5cbi5mYS1maWxlLWNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzlcIjsgfVxuXG4uZmEtZmlsZS1jb250cmFjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2Y1wiOyB9XG5cbi5mYS1maWxlLWNzdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZkZFwiOyB9XG5cbi5mYS1maWxlLWRvd25sb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTZkXCI7IH1cblxuLmZhLWZpbGUtZXhjZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzNcIjsgfVxuXG4uZmEtZmlsZS1leHBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NmVcIjsgfVxuXG4uZmEtZmlsZS1pbWFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNVwiOyB9XG5cbi5mYS1maWxlLWltcG9ydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2ZlwiOyB9XG5cbi5mYS1maWxlLWludm9pY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NzBcIjsgfVxuXG4uZmEtZmlsZS1pbnZvaWNlLWRvbGxhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3MVwiOyB9XG5cbi5mYS1maWxlLW1lZGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NzdcIjsgfVxuXG4uZmEtZmlsZS1tZWRpY2FsLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3OFwiOyB9XG5cbi5mYS1maWxlLXBkZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjMVwiOyB9XG5cbi5mYS1maWxlLXBvd2VycG9pbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzRcIjsgfVxuXG4uZmEtZmlsZS1wcmVzY3JpcHRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NzJcIjsgfVxuXG4uZmEtZmlsZS1zaWduYXR1cmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NzNcIjsgfVxuXG4uZmEtZmlsZS11cGxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NzRcIjsgfVxuXG4uZmEtZmlsZS12aWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjOFwiOyB9XG5cbi5mYS1maWxlLXdvcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzJcIjsgfVxuXG4uZmEtZmlsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3NVwiOyB9XG5cbi5mYS1maWxsLWRyaXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NzZcIjsgfVxuXG4uZmEtZmlsbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwOFwiOyB9XG5cbi5mYS1maWx0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYjBcIjsgfVxuXG4uZmEtZmluZ2VycHJpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NzdcIjsgfVxuXG4uZmEtZmlyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2ZFwiOyB9XG5cbi5mYS1maXJlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdlNFwiOyB9XG5cbi5mYS1maXJlLWV4dGluZ3Vpc2hlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzNFwiOyB9XG5cbi5mYS1maXJlZm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY5XCI7IH1cblxuLmZhLWZpcmVmb3gtYnJvd3NlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwN1wiOyB9XG5cbi5mYS1maXJzdC1haWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NzlcIjsgfVxuXG4uZmEtZmlyc3Qtb3JkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjBcIjsgfVxuXG4uZmEtZmlyc3Qtb3JkZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTBhXCI7IH1cblxuLmZhLWZpcnN0ZHJhZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTFcIjsgfVxuXG4uZmEtZmlzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3OFwiOyB9XG5cbi5mYS1maXN0LXJhaXNlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZkZVwiOyB9XG5cbi5mYS1mbGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI0XCI7IH1cblxuLmZhLWZsYWctY2hlY2tlcmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFlXCI7IH1cblxuLmZhLWZsYWctdXNhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzRkXCI7IH1cblxuLmZhLWZsYXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGMzXCI7IH1cblxuLmZhLWZsaWNrcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2ZVwiOyB9XG5cbi5mYS1mbGlwYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NGRcIjsgfVxuXG4uZmEtZmx1c2hlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3OVwiOyB9XG5cbi5mYS1mbHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTdcIjsgfVxuXG4uZmEtZm9sZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdiXCI7IH1cblxuLmZhLWZvbGRlci1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY1ZFwiOyB9XG5cbi5mYS1mb2xkZXItb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3Y1wiOyB9XG5cbi5mYS1mb2xkZXItcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY1ZVwiOyB9XG5cbi5mYS1mb250OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDMxXCI7IH1cblxuLmZhLWZvbnQtYXdlc29tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiNFwiOyB9XG5cbi5mYS1mb250LWF3ZXNvbWUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzVjXCI7IH1cblxuLmZhLWZvbnQtYXdlc29tZS1mbGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI1XCI7IH1cblxuLmZhLWZvbnQtYXdlc29tZS1sb2dvLWZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZTZcIjsgfVxuXG4uZmEtZm9udGljb25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjgwXCI7IH1cblxuLmZhLWZvbnRpY29ucy1maTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhMlwiOyB9XG5cbi5mYS1mb290YmFsbC1iYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDRlXCI7IH1cblxuLmZhLWZvcnQtYXdlc29tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4NlwiOyB9XG5cbi5mYS1mb3J0LWF3ZXNvbWUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2EzXCI7IH1cblxuLmZhLWZvcnVtYmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjExXCI7IH1cblxuLmZhLWZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNGVcIjsgfVxuXG4uZmEtZm91cnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MFwiOyB9XG5cbi5mYS1mcmVlLWNvZGUtY2FtcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjNVwiOyB9XG5cbi5mYS1mcmVlYnNkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E0XCI7IH1cblxuLmZhLWZyb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MmVcIjsgfVxuXG4uZmEtZnJvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTlcIjsgfVxuXG4uZmEtZnJvd24tb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3YVwiOyB9XG5cbi5mYS1mdWxjcnVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTBiXCI7IH1cblxuLmZhLWZ1bm5lbC1kb2xsYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NjJcIjsgfVxuXG4uZmEtZnV0Ym9sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWUzXCI7IH1cblxuLmZhLWdhbGFjdGljLXJlcHVibGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTBjXCI7IH1cblxuLmZhLWdhbGFjdGljLXNlbmF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwZFwiOyB9XG5cbi5mYS1nYW1lcGFkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFiXCI7IH1cblxuLmZhLWdhcy1wdW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTJmXCI7IH1cblxuLmZhLWdhdmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUzXCI7IH1cblxuLmZhLWdlbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhNVwiOyB9XG5cbi5mYS1nZW5kZXJsZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjJkXCI7IH1cblxuLmZhLWdldC1wb2NrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjVcIjsgfVxuXG4uZmEtZ2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjBcIjsgfVxuXG4uZmEtZ2ctY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYxXCI7IH1cblxuLmZhLWdob3N0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmUyXCI7IH1cblxuLmZhLWdpZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNmJcIjsgfVxuXG4uZmEtZ2lmdHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OWNcIjsgfVxuXG4uZmEtZ2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQzXCI7IH1cblxuLmZhLWdpdC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4NDFcIjsgfVxuXG4uZmEtZ2l0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkMlwiOyB9XG5cbi5mYS1naXRodWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWJcIjsgfVxuXG4uZmEtZ2l0aHViLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExM1wiOyB9XG5cbi5mYS1naXRodWItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkyXCI7IH1cblxuLmZhLWdpdGtyYWtlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhNlwiOyB9XG5cbi5mYS1naXRsYWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTZcIjsgfVxuXG4uZmEtZ2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI2XCI7IH1cblxuLmZhLWdsYXNzLWNoZWVyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5ZlwiOyB9XG5cbi5mYS1nbGFzcy1tYXJ0aW5pOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDAwXCI7IH1cblxuLmZhLWdsYXNzLW1hcnRpbmktYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTdiXCI7IH1cblxuLmZhLWdsYXNzLXdoaXNrZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YTBcIjsgfVxuXG4uZmEtZ2xhc3NlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzMFwiOyB9XG5cbi5mYS1nbGlkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhNVwiOyB9XG5cbi5mYS1nbGlkZS1nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE2XCI7IH1cblxuLmZhLWdsb2JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFjXCI7IH1cblxuLmZhLWdsb2JlLWFmcmljYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3Y1wiOyB9XG5cbi5mYS1nbG9iZS1hbWVyaWNhczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3ZFwiOyB9XG5cbi5mYS1nbG9iZS1hc2lhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTdlXCI7IH1cblxuLmZhLWdsb2JlLWV1cm9wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhMlwiOyB9XG5cbi5mYS1nb2ZvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTdcIjsgfVxuXG4uZmEtZ29sZi1iYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDUwXCI7IH1cblxuLmZhLWdvb2RyZWFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhOFwiOyB9XG5cbi5mYS1nb29kcmVhZHMtZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhOVwiOyB9XG5cbi5mYS1nb29nbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTBcIjsgfVxuXG4uZmEtZ29vZ2xlLWRyaXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FhXCI7IH1cblxuLmZhLWdvb2dsZS1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzlcIjsgfVxuXG4uZmEtZ29vZ2xlLXBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWJcIjsgfVxuXG4uZmEtZ29vZ2xlLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjNcIjsgfVxuXG4uZmEtZ29vZ2xlLXBsdXMtZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkNVwiOyB9XG5cbi5mYS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDRcIjsgfVxuXG4uZmEtZ29vZ2xlLXdhbGxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlZVwiOyB9XG5cbi5mYS1nb3B1cmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjY0XCI7IH1cblxuLmZhLWdyYWR1YXRpb24tY2FwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTlkXCI7IH1cblxuLmZhLWdyYXRpcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg0XCI7IH1cblxuLmZhLWdyYXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDZcIjsgfVxuXG4uZmEtZ3JlYXRlci10aGFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTMxXCI7IH1cblxuLmZhLWdyZWF0ZXItdGhhbi1lcXVhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzMlwiOyB9XG5cbi5mYS1ncmltYWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTdmXCI7IH1cblxuLmZhLWdyaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODBcIjsgfVxuXG4uZmEtZ3Jpbi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODFcIjsgfVxuXG4uZmEtZ3Jpbi1iZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTgyXCI7IH1cblxuLmZhLWdyaW4tYmVhbS1zd2VhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4M1wiOyB9XG5cbi5mYS1ncmluLWhlYXJ0czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4NFwiOyB9XG5cbi5mYS1ncmluLXNxdWludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4NVwiOyB9XG5cbi5mYS1ncmluLXNxdWludC10ZWFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4NlwiOyB9XG5cbi5mYS1ncmluLXN0YXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTg3XCI7IH1cblxuLmZhLWdyaW4tdGVhcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODhcIjsgfVxuXG4uZmEtZ3Jpbi10b25ndWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODlcIjsgfVxuXG4uZmEtZ3Jpbi10b25ndWUtc3F1aW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNThhXCI7IH1cblxuLmZhLWdyaW4tdG9uZ3VlLXdpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OGJcIjsgfVxuXG4uZmEtZ3Jpbi13aW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNThjXCI7IH1cblxuLmZhLWdyaXAtaG9yaXpvbnRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4ZFwiOyB9XG5cbi5mYS1ncmlwLWxpbmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2E0XCI7IH1cblxuLmZhLWdyaXAtbGluZXMtdmVydGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YTVcIjsgfVxuXG4uZmEtZ3JpcC12ZXJ0aWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4ZVwiOyB9XG5cbi5mYS1ncmlwZmlyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhY1wiOyB9XG5cbi5mYS1ncnVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhZFwiOyB9XG5cbi5mYS1ndWlsZGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDdlXCI7IH1cblxuLmZhLWd1aXRhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhNlwiOyB9XG5cbi5mYS1ndWxwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FlXCI7IH1cblxuLmZhLWgtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZkXCI7IH1cblxuLmZhLWhhY2tlci1uZXdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ0XCI7IH1cblxuLmZhLWhhY2tlci1uZXdzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhZlwiOyB9XG5cbi5mYS1oYWNrZXJyYW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWY3XCI7IH1cblxuLmZhLWhhbWJ1cmdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgwNVwiOyB9XG5cbi5mYS1oYW1tZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZTNcIjsgfVxuXG4uZmEtaGFtc2E6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NjVcIjsgfVxuXG4uZmEtaGFuZC1ob2xkaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGJkXCI7IH1cblxuLmZhLWhhbmQtaG9sZGluZy1oZWFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRiZVwiOyB9XG5cbi5mYS1oYW5kLWhvbGRpbmctbWVkaWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1Y1wiOyB9XG5cbi5mYS1oYW5kLWhvbGRpbmctdXNkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGMwXCI7IH1cblxuLmZhLWhhbmQtaG9sZGluZy13YXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRjMVwiOyB9XG5cbi5mYS1oYW5kLWxpemFyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1OFwiOyB9XG5cbi5mYS1oYW5kLW1pZGRsZS1maW5nZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MDZcIjsgfVxuXG4uZmEtaGFuZC1wYXBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1NlwiOyB9XG5cbi5mYS1oYW5kLXBlYWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjViXCI7IH1cblxuLmZhLWhhbmQtcG9pbnQtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhN1wiOyB9XG5cbi5mYS1oYW5kLXBvaW50LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTVcIjsgfVxuXG4uZmEtaGFuZC1wb2ludC1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhNFwiOyB9XG5cbi5mYS1oYW5kLXBvaW50LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE2XCI7IH1cblxuLmZhLWhhbmQtcG9pbnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1YVwiOyB9XG5cbi5mYS1oYW5kLXJvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTVcIjsgfVxuXG4uZmEtaGFuZC1zY2lzc29yczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1N1wiOyB9XG5cbi5mYS1oYW5kLXNwYXJrbGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDVkXCI7IH1cblxuLmZhLWhhbmQtc3BvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTlcIjsgfVxuXG4uZmEtaGFuZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YzJcIjsgfVxuXG4uZmEtaGFuZHMtaGVscGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRjNFwiOyB9XG5cbi5mYS1oYW5kcy13YXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDVlXCI7IH1cblxuLmZhLWhhbmRzaGFrZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiNVwiOyB9XG5cbi5mYS1oYW5kc2hha2UtYWx0LXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDVmXCI7IH1cblxuLmZhLWhhbmRzaGFrZS1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2MFwiOyB9XG5cbi5mYS1oYW51a2lhaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZlNlwiOyB9XG5cbi5mYS1oYXJkLWhhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgwN1wiOyB9XG5cbi5mYS1oYXNodGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjkyXCI7IH1cblxuLmZhLWhhdC1jb3dib3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4YzBcIjsgfVxuXG4uZmEtaGF0LWNvd2JveS1zaWRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmOGMxXCI7IH1cblxuLmZhLWhhdC13aXphcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZThcIjsgfVxuXG4uZmEtaGRkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGEwXCI7IH1cblxuLmZhLWhlYWQtc2lkZS1jb3VnaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2MVwiOyB9XG5cbi5mYS1oZWFkLXNpZGUtY291Z2gtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjJcIjsgfVxuXG4uZmEtaGVhZC1zaWRlLW1hc2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjNcIjsgfVxuXG4uZmEtaGVhZC1zaWRlLXZpcnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDY0XCI7IH1cblxuLmZhLWhlYWRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZGNcIjsgfVxuXG4uZmEtaGVhZHBob25lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyNVwiOyB9XG5cbi5mYS1oZWFkcGhvbmVzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4ZlwiOyB9XG5cbi5mYS1oZWFkc2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTkwXCI7IH1cblxuLmZhLWhlYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA0XCI7IH1cblxuLmZhLWhlYXJ0LWJyb2tlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhOVwiOyB9XG5cbi5mYS1oZWFydGJlYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWVcIjsgfVxuXG4uZmEtaGVsaWNvcHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzM1wiOyB9XG5cbi5mYS1oaWdobGlnaHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5MVwiOyB9XG5cbi5mYS1oaWtpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZWNcIjsgfVxuXG4uZmEtaGlwcG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZWRcIjsgfVxuXG4uZmEtaGlwczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1MlwiOyB9XG5cbi5mYS1oaXJlLWEtaGVscGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2IwXCI7IH1cblxuLmZhLWhpc3Rvcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZGFcIjsgfVxuXG4uZmEtaGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3ZlwiOyB9XG5cbi5mYS1ob2NrZXktcHVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1M1wiOyB9XG5cbi5mYS1ob2xseS1iZXJyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhYVwiOyB9XG5cbi5mYS1ob21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE1XCI7IH1cblxuLmZhLWhvb2xpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI3XCI7IH1cblxuLmZhLWhvcm5iaWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTkyXCI7IH1cblxuLmZhLWhvcnNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmYwXCI7IH1cblxuLmZhLWhvcnNlLWhlYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YWJcIjsgfVxuXG4uZmEtaG9zcGl0YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjhcIjsgfVxuXG4uZmEtaG9zcGl0YWwtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDdkXCI7IH1cblxuLmZhLWhvc3BpdGFsLXN5bWJvbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3ZVwiOyB9XG5cbi5mYS1ob3NwaXRhbC11c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODBkXCI7IH1cblxuLmZhLWhvdC10dWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTNcIjsgfVxuXG4uZmEtaG90ZG9nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODBmXCI7IH1cblxuLmZhLWhvdGVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTk0XCI7IH1cblxuLmZhLWhvdGphcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiMVwiOyB9XG5cbi5mYS1ob3VyZ2xhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTRcIjsgfVxuXG4uZmEtaG91cmdsYXNzLWVuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1M1wiOyB9XG5cbi5mYS1ob3VyZ2xhc3MtaGFsZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1MlwiOyB9XG5cbi5mYS1ob3VyZ2xhc3Mtc3RhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTFcIjsgfVxuXG4uZmEtaG91c2UtZGFtYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmYxXCI7IH1cblxuLmZhLWhvdXNlLXVzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjVcIjsgfVxuXG4uZmEtaG91eno6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2NcIjsgfVxuXG4uZmEtaHJ5dm5pYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZmMlwiOyB9XG5cbi5mYS1odG1sNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzYlwiOyB9XG5cbi5mYS1odWJzcG90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2IyXCI7IH1cblxuLmZhLWktY3Vyc29yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQ2XCI7IH1cblxuLmZhLWljZS1jcmVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgxMFwiOyB9XG5cbi5mYS1pY2ljbGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2FkXCI7IH1cblxuLmZhLWljb25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODZkXCI7IH1cblxuLmZhLWlkLWJhZGdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmMxXCI7IH1cblxuLmZhLWlkLWNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzJcIjsgfVxuXG4uZmEtaWQtY2FyZC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0N2ZcIjsgfVxuXG4uZmEtaWRlYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMTNcIjsgfVxuXG4uZmEtaWdsb286YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YWVcIjsgfVxuXG4uZmEtaW1hZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2VcIjsgfVxuXG4uZmEtaW1hZ2VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzAyXCI7IH1cblxuLmZhLWltZGI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDhcIjsgfVxuXG4uZmEtaW5ib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMWNcIjsgfVxuXG4uZmEtaW5kZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNjXCI7IH1cblxuLmZhLWluZHVzdHJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjc1XCI7IH1cblxuLmZhLWluZmluaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTM0XCI7IH1cblxuLmZhLWluZm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjlcIjsgfVxuXG4uZmEtaW5mby1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWFcIjsgfVxuXG4uZmEtaW5ub3NvZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODBcIjsgfVxuXG4uZmEtaW5zdGFncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZkXCI7IH1cblxuLmZhLWluc3RhZ3JhbS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTVcIjsgfVxuXG4uZmEtaW5zdGFsb2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODFcIjsgfVxuXG4uZmEtaW50ZXJjb206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YWZcIjsgfVxuXG4uZmEtaW50ZXJuZXQtZXhwbG9yZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmJcIjsgfVxuXG4uZmEtaW52aXNpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YjBcIjsgfVxuXG4uZmEtaW94aG9zdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwOFwiOyB9XG5cbi5mYS1pdGFsaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzNcIjsgfVxuXG4uZmEtaXRjaC1pbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzYVwiOyB9XG5cbi5mYS1pdHVuZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjRcIjsgfVxuXG4uZmEtaXR1bmVzLW5vdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjVcIjsgfVxuXG4uZmEtamF2YTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlNFwiOyB9XG5cbi5mYS1qZWRpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjY5XCI7IH1cblxuLmZhLWplZGktb3JkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MGVcIjsgfVxuXG4uZmEtamVua2luczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiNlwiOyB9XG5cbi5mYS1qaXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2IxXCI7IH1cblxuLmZhLWpvZ2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2I3XCI7IH1cblxuLmZhLWpvaW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTk1XCI7IH1cblxuLmZhLWpvb21sYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhYVwiOyB9XG5cbi5mYS1qb3VybmFsLXdoaWxsczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY2YVwiOyB9XG5cbi5mYS1qczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiOFwiOyB9XG5cbi5mYS1qcy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjlcIjsgfVxuXG4uZmEtanNmaWRkbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2NcIjsgfVxuXG4uZmEta2FhYmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NmJcIjsgfVxuXG4uZmEta2FnZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWZhXCI7IH1cblxuLmZhLWtleTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4NFwiOyB9XG5cbi5mYS1rZXliYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGY1XCI7IH1cblxuLmZhLWtleWJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFjXCI7IH1cblxuLmZhLWtleWNkbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiYVwiOyB9XG5cbi5mYS1raGFuZGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NmRcIjsgfVxuXG4uZmEta2lja3N0YXJ0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmJcIjsgfVxuXG4uZmEta2lja3N0YXJ0ZXItazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiY1wiOyB9XG5cbi5mYS1raXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTk2XCI7IH1cblxuLmZhLWtpc3MtYmVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5N1wiOyB9XG5cbi5mYS1raXNzLXdpbmstaGVhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OThcIjsgfVxuXG4uZmEta2l3aS1iaXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTM1XCI7IH1cblxuLmZhLWtvcnZ1ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyZlwiOyB9XG5cbi5mYS1sYW5kbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY2ZlwiOyB9XG5cbi5mYS1sYW5ndWFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhYlwiOyB9XG5cbi5mYS1sYXB0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDlcIjsgfVxuXG4uZmEtbGFwdG9wLWNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZmNcIjsgfVxuXG4uZmEtbGFwdG9wLWhvdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDY2XCI7IH1cblxuLmZhLWxhcHRvcC1tZWRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODEyXCI7IH1cblxuLmZhLWxhcmF2ZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmRcIjsgfVxuXG4uZmEtbGFzdGZtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAyXCI7IH1cblxuLmZhLWxhc3RmbS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDNcIjsgfVxuXG4uZmEtbGF1Z2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTlcIjsgfVxuXG4uZmEtbGF1Z2gtYmVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5YVwiOyB9XG5cbi5mYS1sYXVnaC1zcXVpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OWJcIjsgfVxuXG4uZmEtbGF1Z2gtd2luazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5Y1wiOyB9XG5cbi5mYS1sYXllci1ncm91cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVmZFwiOyB9XG5cbi5mYS1sZWFmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZjXCI7IH1cblxuLmZhLWxlYW5wdWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTJcIjsgfVxuXG4uZmEtbGVtb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTRcIjsgfVxuXG4uZmEtbGVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxZFwiOyB9XG5cbi5mYS1sZXNzLXRoYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MzZcIjsgfVxuXG4uZmEtbGVzcy10aGFuLWVxdWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTM3XCI7IH1cblxuLmZhLWxldmVsLWRvd24tYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2JlXCI7IH1cblxuLmZhLWxldmVsLXVwLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiZlwiOyB9XG5cbi5mYS1saWZlLXJpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2RcIjsgfVxuXG4uZmEtbGlnaHRidWxiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGViXCI7IH1cblxuLmZhLWxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzBcIjsgfVxuXG4uZmEtbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMVwiOyB9XG5cbi5mYS1saW5rZWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4Y1wiOyB9XG5cbi5mYS1saW5rZWRpbi1pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMVwiOyB9XG5cbi5mYS1saW5vZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjhcIjsgfVxuXG4uZmEtbGludXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2NcIjsgfVxuXG4uZmEtbGlyYS1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk1XCI7IH1cblxuLmZhLWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2FcIjsgfVxuXG4uZmEtbGlzdC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjJcIjsgfVxuXG4uZmEtbGlzdC1vbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjYlwiOyB9XG5cbi5mYS1saXN0LXVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNhXCI7IH1cblxuLmZhLWxvY2F0aW9uLWFycm93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI0XCI7IH1cblxuLmZhLWxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjNcIjsgfVxuXG4uZmEtbG9jay1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2MxXCI7IH1cblxuLmZhLWxvbmctYXJyb3ctYWx0LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMDlcIjsgfVxuXG4uZmEtbG9uZy1hcnJvdy1hbHQtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwYVwiOyB9XG5cbi5mYS1sb25nLWFycm93LWFsdC1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwYlwiOyB9XG5cbi5mYS1sb25nLWFycm93LWFsdC11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwY1wiOyB9XG5cbi5mYS1sb3ctdmlzaW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE4XCI7IH1cblxuLmZhLWx1Z2dhZ2UtY2FydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5ZFwiOyB9XG5cbi5mYS1sdW5nczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYwNFwiOyB9XG5cbi5mYS1sdW5ncy12aXJ1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2N1wiOyB9XG5cbi5mYS1seWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2MzXCI7IH1cblxuLmZhLW1hZ2VudG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzRcIjsgfVxuXG4uZmEtbWFnaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDBcIjsgfVxuXG4uZmEtbWFnbmV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc2XCI7IH1cblxuLmZhLW1haWwtYnVsazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY3NFwiOyB9XG5cbi5mYS1tYWlsY2hpbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OWVcIjsgfVxuXG4uZmEtbWFsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4M1wiOyB9XG5cbi5mYS1tYW5kYWxvcmlhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwZlwiOyB9XG5cbi5mYS1tYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzlcIjsgfVxuXG4uZmEtbWFwLW1hcmtlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5ZlwiOyB9XG5cbi5mYS1tYXAtbWFya2VkLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhMFwiOyB9XG5cbi5mYS1tYXAtbWFya2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQxXCI7IH1cblxuLmZhLW1hcC1tYXJrZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M1XCI7IH1cblxuLmZhLW1hcC1waW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzZcIjsgfVxuXG4uZmEtbWFwLXNpZ25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjc3XCI7IH1cblxuLmZhLW1hcmtkb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjBmXCI7IH1cblxuLmZhLW1hcmtlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhMVwiOyB9XG5cbi5mYS1tYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIyXCI7IH1cblxuLmZhLW1hcnMtZG91YmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI3XCI7IH1cblxuLmZhLW1hcnMtc3Ryb2tlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI5XCI7IH1cblxuLmZhLW1hcnMtc3Ryb2tlLWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmJcIjsgfVxuXG4uZmEtbWFycy1zdHJva2UtdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyYVwiOyB9XG5cbi5mYS1tYXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmZhXCI7IH1cblxuLmZhLW1hc3RvZG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGY2XCI7IH1cblxuLmZhLW1heGNkbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzNlwiOyB9XG5cbi5mYS1tZGI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4Y2FcIjsgfVxuXG4uZmEtbWVkYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YTJcIjsgfVxuXG4uZmEtbWVkYXBwczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjNlwiOyB9XG5cbi5mYS1tZWRpdW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2FcIjsgfVxuXG4uZmEtbWVkaXVtLW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzdcIjsgfVxuXG4uZmEtbWVka2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZhXCI7IH1cblxuLmZhLW1lZHJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M4XCI7IH1cblxuLmZhLW1lZXR1cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJlMFwiOyB9XG5cbi5mYS1tZWdhcG9ydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhM1wiOyB9XG5cbi5mYS1tZWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWFcIjsgfVxuXG4uZmEtbWVoLWJsYW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWE0XCI7IH1cblxuLmZhLW1laC1yb2xsaW5nLWV5ZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YTVcIjsgfVxuXG4uZmEtbWVtb3J5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTM4XCI7IH1cblxuLmZhLW1lbmRlbGV5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2IzXCI7IH1cblxuLmZhLW1lbm9yYWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NzZcIjsgfVxuXG4uZmEtbWVyY3VyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyM1wiOyB9XG5cbi5mYS1tZXRlb3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NTNcIjsgfVxuXG4uZmEtbWljcm9ibG9nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDFhXCI7IH1cblxuLmZhLW1pY3JvY2hpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkYlwiOyB9XG5cbi5mYS1taWNyb3Bob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMwXCI7IH1cblxuLmZhLW1pY3JvcGhvbmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M5XCI7IH1cblxuLmZhLW1pY3JvcGhvbmUtYWx0LXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTM5XCI7IH1cblxuLmZhLW1pY3JvcGhvbmUtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzFcIjsgfVxuXG4uZmEtbWljcm9zY29wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYxMFwiOyB9XG5cbi5mYS1taWNyb3NvZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzY2FcIjsgfVxuXG4uZmEtbWludXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjhcIjsgfVxuXG4uZmEtbWludXMtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU2XCI7IH1cblxuLmZhLW1pbnVzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NlwiOyB9XG5cbi5mYS1taXR0ZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YjVcIjsgfVxuXG4uZmEtbWl4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2NiXCI7IH1cblxuLmZhLW1peGNsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg5XCI7IH1cblxuLmZhLW1peGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDU2XCI7IH1cblxuLmZhLW1penVuaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjY1wiOyB9XG5cbi5mYS1tb2JpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGJcIjsgfVxuXG4uZmEtbW9iaWxlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjZFwiOyB9XG5cbi5mYS1tb2R4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg1XCI7IH1cblxuLmZhLW1vbmVybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkMFwiOyB9XG5cbi5mYS1tb25leS1iaWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ2XCI7IH1cblxuLmZhLW1vbmV5LWJpbGwtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2QxXCI7IH1cblxuLmZhLW1vbmV5LWJpbGwtd2F2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzYVwiOyB9XG5cbi5mYS1tb25leS1iaWxsLXdhdmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTNiXCI7IH1cblxuLmZhLW1vbmV5LWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTNjXCI7IH1cblxuLmZhLW1vbmV5LWNoZWNrLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzZFwiOyB9XG5cbi5mYS1tb251bWVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhNlwiOyB9XG5cbi5mYS1tb29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg2XCI7IH1cblxuLmZhLW1vcnRhci1wZXN0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YTdcIjsgfVxuXG4uZmEtbW9zcXVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjc4XCI7IH1cblxuLmZhLW1vdG9yY3ljbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWNcIjsgfVxuXG4uZmEtbW91bnRhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZmNcIjsgfVxuXG4uZmEtbW91c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4Y2NcIjsgfVxuXG4uZmEtbW91c2UtcG9pbnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0NVwiOyB9XG5cbi5mYS1tdWctaG90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2I2XCI7IH1cblxuLmZhLW11c2ljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDAxXCI7IH1cblxuLmZhLW5hcHN0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDJcIjsgfVxuXG4uZmEtbmVvczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYxMlwiOyB9XG5cbi5mYS1uZXR3b3JrLXdpcmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmZmXCI7IH1cblxuLmZhLW5ldXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyY1wiOyB9XG5cbi5mYS1uZXdzcGFwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWFcIjsgfVxuXG4uZmEtbmltYmxyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWE4XCI7IH1cblxuLmZhLW5vZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTlcIjsgfVxuXG4uZmEtbm9kZS1qczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkM1wiOyB9XG5cbi5mYS1ub3QtZXF1YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1M2VcIjsgfVxuXG4uZmEtbm90ZXMtbWVkaWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4MVwiOyB9XG5cbi5mYS1ucG06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDRcIjsgfVxuXG4uZmEtbnM4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q1XCI7IH1cblxuLmZhLW51dHJpdGlvbml4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q2XCI7IH1cblxuLmZhLW9iamVjdC1ncm91cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0N1wiOyB9XG5cbi5mYS1vYmplY3QtdW5ncm91cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0OFwiOyB9XG5cbi5mYS1vY3RvcHVzLWRlcGxveTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4MlwiOyB9XG5cbi5mYS1vZG5va2xhc3NuaWtpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYzXCI7IH1cblxuLmZhLW9kbm9rbGFzc25pa2ktc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY0XCI7IH1cblxuLmZhLW9pbC1jYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2MTNcIjsgfVxuXG4uZmEtb2xkLXJlcHVibGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTEwXCI7IH1cblxuLmZhLW9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjc5XCI7IH1cblxuLmZhLW9wZW5jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNkXCI7IH1cblxuLmZhLW9wZW5pZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5YlwiOyB9XG5cbi5mYS1vcGVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2YVwiOyB9XG5cbi5mYS1vcHRpbi1tb25zdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNjXCI7IH1cblxuLmZhLW9yY2lkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmOGQyXCI7IH1cblxuLmZhLW9zaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxYVwiOyB9XG5cbi5mYS1vdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcwMFwiOyB9XG5cbi5mYS1vdXRkZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNiXCI7IH1cblxuLmZhLXBhZ2U0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q3XCI7IH1cblxuLmZhLXBhZ2VsaW5lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4Y1wiOyB9XG5cbi5mYS1wYWdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgxNVwiOyB9XG5cbi5mYS1wYWludC1icnVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmY1wiOyB9XG5cbi5mYS1wYWludC1yb2xsZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YWFcIjsgfVxuXG4uZmEtcGFsZXR0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzZlwiOyB9XG5cbi5mYS1wYWxmZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDhcIjsgfVxuXG4uZmEtcGFsbGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDgyXCI7IH1cblxuLmZhLXBhcGVyLXBsYW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ4XCI7IH1cblxuLmZhLXBhcGVyY2xpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjNlwiOyB9XG5cbi5mYS1wYXJhY2h1dGUtYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGNkXCI7IH1cblxuLmZhLXBhcmFncmFwaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkZFwiOyB9XG5cbi5mYS1wYXJraW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTQwXCI7IH1cblxuLmZhLXBhc3Nwb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWFiXCI7IH1cblxuLmZhLXBhc3RhZmFyaWFuaXNtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjdiXCI7IH1cblxuLmZhLXBhc3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGVhXCI7IH1cblxuLmZhLXBhdHJlb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDlcIjsgfVxuXG4uZmEtcGF1c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNGNcIjsgfVxuXG4uZmEtcGF1c2UtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjhiXCI7IH1cblxuLmZhLXBhdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiMFwiOyB9XG5cbi5mYS1wYXlwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWRcIjsgfVxuXG4uZmEtcGVhY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2N2NcIjsgfVxuXG4uZmEtcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzA0XCI7IH1cblxuLmZhLXBlbi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMDVcIjsgfVxuXG4uZmEtcGVuLWZhbmN5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWFjXCI7IH1cblxuLmZhLXBlbi1uaWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YWRcIjsgfVxuXG4uZmEtcGVuLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0YlwiOyB9XG5cbi5mYS1wZW5jaWwtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzAzXCI7IH1cblxuLmZhLXBlbmNpbC1ydWxlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhZVwiOyB9XG5cbi5mYS1wZW5ueS1hcmNhZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MDRcIjsgfVxuXG4uZmEtcGVvcGxlLWFycm93czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2OFwiOyB9XG5cbi5mYS1wZW9wbGUtY2Fycnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0Y2VcIjsgfVxuXG4uZmEtcGVwcGVyLWhvdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgxNlwiOyB9XG5cbi5mYS1wZXJieXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgzXCI7IH1cblxuLmZhLXBlcmNlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTVcIjsgfVxuXG4uZmEtcGVyY2VudGFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0MVwiOyB9XG5cbi5mYS1wZXJpc2NvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGFcIjsgfVxuXG4uZmEtcGVyc29uLWJvb3RoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzU2XCI7IH1cblxuLmZhLXBoYWJyaWNhdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2RiXCI7IH1cblxuLmZhLXBob2VuaXgtZnJhbWV3b3JrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2RjXCI7IH1cblxuLmZhLXBob2VuaXgtc3F1YWRyb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MTFcIjsgfVxuXG4uZmEtcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTVcIjsgfVxuXG4uZmEtcGhvbmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODc5XCI7IH1cblxuLmZhLXBob25lLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2RkXCI7IH1cblxuLmZhLXBob25lLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5OFwiOyB9XG5cbi5mYS1waG9uZS1zcXVhcmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODdiXCI7IH1cblxuLmZhLXBob25lLXZvbHVtZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhMFwiOyB9XG5cbi5mYS1waG90by12aWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg3Y1wiOyB9XG5cbi5mYS1waHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NTdcIjsgfVxuXG4uZmEtcGllZC1waXBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhZVwiOyB9XG5cbi5mYS1waWVkLXBpcGVyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhOFwiOyB9XG5cbi5mYS1waWVkLXBpcGVyLWhhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlNVwiOyB9XG5cbi5mYS1waWVkLXBpcGVyLXBwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE3XCI7IH1cblxuLmZhLXBpZWQtcGlwZXItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDFlXCI7IH1cblxuLmZhLXBpZ2d5LWJhbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZDNcIjsgfVxuXG4uZmEtcGlsbHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ODRcIjsgfVxuXG4uZmEtcGludGVyZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQyXCI7IH1cblxuLmZhLXBpbnRlcmVzdC1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjMxXCI7IH1cblxuLmZhLXBpbnRlcmVzdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDNcIjsgfVxuXG4uZmEtcGl6emEtc2xpY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MThcIjsgfVxuXG4uZmEtcGxhY2Utb2Ytd29yc2hpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY3ZlwiOyB9XG5cbi5mYS1wbGFuZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3MlwiOyB9XG5cbi5mYS1wbGFuZS1hcnJpdmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWFmXCI7IH1cblxuLmZhLXBsYW5lLWRlcGFydHVyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViMFwiOyB9XG5cbi5mYS1wbGFuZS1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2OVwiOyB9XG5cbi5mYS1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDRiXCI7IH1cblxuLmZhLXBsYXktY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ0XCI7IH1cblxuLmZhLXBsYXlzdGF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2RmXCI7IH1cblxuLmZhLXBsdWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTZcIjsgfVxuXG4uZmEtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2N1wiOyB9XG5cbi5mYS1wbHVzLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1NVwiOyB9XG5cbi5mYS1wbHVzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmZVwiOyB9XG5cbi5mYS1wb2RjYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmNlXCI7IH1cblxuLmZhLXBvbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ODFcIjsgfVxuXG4uZmEtcG9sbC1oOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjgyXCI7IH1cblxuLmZhLXBvbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmZVwiOyB9XG5cbi5mYS1wb28tc3Rvcm06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NWFcIjsgfVxuXG4uZmEtcG9vcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYxOVwiOyB9XG5cbi5mYS1wb3J0cmFpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlMFwiOyB9XG5cbi5mYS1wb3VuZC1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU0XCI7IH1cblxuLmZhLXBvd2VyLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMVwiOyB9XG5cbi5mYS1wcmF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjgzXCI7IH1cblxuLmZhLXByYXlpbmctaGFuZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ODRcIjsgfVxuXG4uZmEtcHJlc2NyaXB0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWIxXCI7IH1cblxuLmZhLXByZXNjcmlwdGlvbi1ib3R0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ODVcIjsgfVxuXG4uZmEtcHJlc2NyaXB0aW9uLWJvdHRsZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ODZcIjsgfVxuXG4uZmEtcHJpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmZcIjsgfVxuXG4uZmEtcHJvY2VkdXJlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4N1wiOyB9XG5cbi5mYS1wcm9kdWN0LWh1bnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODhcIjsgfVxuXG4uZmEtcHJvamVjdC1kaWFncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTQyXCI7IH1cblxuLmZhLXB1bXAtbWVkaWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2YVwiOyB9XG5cbi5mYS1wdW1wLXNvYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNmJcIjsgfVxuXG4uZmEtcHVzaGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2UxXCI7IH1cblxuLmZhLXB1enpsZS1waWVjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyZVwiOyB9XG5cbi5mYS1weXRob246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTJcIjsgfVxuXG4uZmEtcXE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDZcIjsgfVxuXG4uZmEtcXJjb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI5XCI7IH1cblxuLmZhLXF1ZXN0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI4XCI7IH1cblxuLmZhLXF1ZXN0aW9uLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1OVwiOyB9XG5cbi5mYS1xdWlkZGl0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NThcIjsgfVxuXG4uZmEtcXVpbnNjYXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDU5XCI7IH1cblxuLmZhLXF1b3JhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmM0XCI7IH1cblxuLmZhLXF1b3RlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGRcIjsgfVxuXG4uZmEtcXVvdGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGVcIjsgfVxuXG4uZmEtcXVyYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ODdcIjsgfVxuXG4uZmEtci1wcm9qZWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGY3XCI7IH1cblxuLmZhLXJhZGlhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiOVwiOyB9XG5cbi5mYS1yYWRpYXRpb24tYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2JhXCI7IH1cblxuLmZhLXJhaW5ib3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NWJcIjsgfVxuXG4uZmEtcmFuZG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc0XCI7IH1cblxuLmZhLXJhc3BiZXJyeS1waTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiYlwiOyB9XG5cbi5mYS1yYXZlbHJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQ5XCI7IH1cblxuLmZhLXJlYWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDFiXCI7IH1cblxuLmZhLXJlYWN0ZXVyb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzVkXCI7IH1cblxuLmZhLXJlYWRtZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkNVwiOyB9XG5cbi5mYS1yZWJlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkMFwiOyB9XG5cbi5mYS1yZWNlaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTQzXCI7IH1cblxuLmZhLXJlY29yZC12aW55bDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhkOVwiOyB9XG5cbi5mYS1yZWN5Y2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI4XCI7IH1cblxuLmZhLXJlZC1yaXZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlM1wiOyB9XG5cbi5mYS1yZWRkaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTFcIjsgfVxuXG4uZmEtcmVkZGl0LWFsaWVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjgxXCI7IH1cblxuLmZhLXJlZGRpdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTJcIjsgfVxuXG4uZmEtcmVkaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2JjXCI7IH1cblxuLmZhLXJlZG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMWVcIjsgfVxuXG4uZmEtcmVkby1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZjlcIjsgfVxuXG4uZmEtcmVnaXN0ZXJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1ZFwiOyB9XG5cbi5mYS1yZW1vdmUtZm9ybWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODdkXCI7IH1cblxuLmZhLXJlbnJlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4YlwiOyB9XG5cbi5mYS1yZXBseTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlNVwiOyB9XG5cbi5mYS1yZXBseS1hbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjJcIjsgfVxuXG4uZmEtcmVwbHlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U2XCI7IH1cblxuLmZhLXJlcHVibGljYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NWVcIjsgfVxuXG4uZmEtcmVzZWFyY2hnYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGY4XCI7IH1cblxuLmZhLXJlc29sdmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlN1wiOyB9XG5cbi5mYS1yZXN0cm9vbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiZFwiOyB9XG5cbi5mYS1yZXR3ZWV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc5XCI7IH1cblxuLmZhLXJldjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViMlwiOyB9XG5cbi5mYS1yaWJib246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZDZcIjsgfVxuXG4uZmEtcmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcwYlwiOyB9XG5cbi5mYS1yb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE4XCI7IH1cblxuLmZhLXJvYm90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTQ0XCI7IH1cblxuLmZhLXJvY2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzNVwiOyB9XG5cbi5mYS1yb2NrZXRjaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U4XCI7IH1cblxuLmZhLXJvY2tybXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTlcIjsgfVxuXG4uZmEtcm91dGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZDdcIjsgfVxuXG4uZmEtcnNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDllXCI7IH1cblxuLmZhLXJzcy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDNcIjsgfVxuXG4uZmEtcnVibGUtc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1OFwiOyB9XG5cbi5mYS1ydWxlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0NVwiOyB9XG5cbi5mYS1ydWxlci1jb21iaW5lZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0NlwiOyB9XG5cbi5mYS1ydWxlci1ob3Jpem9udGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTQ3XCI7IH1cblxuLmZhLXJ1bGVyLXZlcnRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTQ4XCI7IH1cblxuLmZhLXJ1bm5pbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MGNcIjsgfVxuXG4uZmEtcnVwZWUtc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NlwiOyB9XG5cbi5mYS1ydXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDdhXCI7IH1cblxuLmZhLXNhZC1jcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjNcIjsgfVxuXG4uZmEtc2FkLXRlYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjRcIjsgfVxuXG4uZmEtc2FmYXJpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY3XCI7IH1cblxuLmZhLXNhbGVzZm9yY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4M2JcIjsgfVxuXG4uZmEtc2FzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxZVwiOyB9XG5cbi5mYS1zYXRlbGxpdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YmZcIjsgfVxuXG4uZmEtc2F0ZWxsaXRlLWRpc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YzBcIjsgfVxuXG4uZmEtc2F2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjN1wiOyB9XG5cbi5mYS1zY2hsaXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWFcIjsgfVxuXG4uZmEtc2Nob29sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTQ5XCI7IH1cblxuLmZhLXNjcmV3ZHJpdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTRhXCI7IH1cblxuLmZhLXNjcmliZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4YVwiOyB9XG5cbi5mYS1zY3JvbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MGVcIjsgfVxuXG4uZmEtc2QtY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdjMlwiOyB9XG5cbi5mYS1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDJcIjsgfVxuXG4uZmEtc2VhcmNoLWRvbGxhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY4OFwiOyB9XG5cbi5mYS1zZWFyY2gtbG9jYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ODlcIjsgfVxuXG4uZmEtc2VhcmNoLW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDEwXCI7IH1cblxuLmZhLXNlYXJjaC1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBlXCI7IH1cblxuLmZhLXNlYXJjaGVuZ2luOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2ViXCI7IH1cblxuLmZhLXNlZWRsaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGQ4XCI7IH1cblxuLmZhLXNlbGxjYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRhXCI7IH1cblxuLmZhLXNlbGxzeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxM1wiOyB9XG5cbi5mYS1zZXJ2ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzNcIjsgfVxuXG4uZmEtc2VydmljZXN0YWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2VjXCI7IH1cblxuLmZhLXNoYXBlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYxZlwiOyB9XG5cbi5mYS1zaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2NFwiOyB9XG5cbi5mYS1zaGFyZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTBcIjsgfVxuXG4uZmEtc2hhcmUtYWx0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlMVwiOyB9XG5cbi5mYS1zaGFyZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGRcIjsgfVxuXG4uZmEtc2hla2VsLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGJcIjsgfVxuXG4uZmEtc2hpZWxkLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlZFwiOyB9XG5cbi5mYS1zaGllbGQtdmlydXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNmNcIjsgfVxuXG4uZmEtc2hpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxYVwiOyB9XG5cbi5mYS1zaGlwcGluZy1mYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDhiXCI7IH1cblxuLmZhLXNoaXJ0c2luYnVsazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxNFwiOyB9XG5cbi5mYS1zaG9lLXByaW50czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0YlwiOyB9XG5cbi5mYS1zaG9waWZ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDU3XCI7IH1cblxuLmZhLXNob3BwaW5nLWJhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5MFwiOyB9XG5cbi5mYS1zaG9wcGluZy1iYXNrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTFcIjsgfVxuXG4uZmEtc2hvcHBpbmctY2FydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3YVwiOyB9XG5cbi5mYS1zaG9wd2FyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViNVwiOyB9XG5cbi5mYS1zaG93ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyY2NcIjsgfVxuXG4uZmEtc2h1dHRsZS12YW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjZcIjsgfVxuXG4uZmEtc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkOVwiOyB9XG5cbi5mYS1zaWduLWluLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmNlwiOyB9XG5cbi5mYS1zaWduLWxhbmd1YWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE3XCI7IH1cblxuLmZhLXNpZ24tb3V0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmNVwiOyB9XG5cbi5mYS1zaWduYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTJcIjsgfVxuXG4uZmEtc2lnbmF0dXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWI3XCI7IH1cblxuLmZhLXNpbS1jYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2M0XCI7IH1cblxuLmZhLXNpbXBseWJ1aWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE1XCI7IH1cblxuLmZhLXNpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNmRcIjsgfVxuXG4uZmEtc2lzdHJpeDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlZVwiOyB9XG5cbi5mYS1zaXRlbWFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU4XCI7IH1cblxuLmZhLXNpdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MTJcIjsgfVxuXG4uZmEtc2thdGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdjNVwiOyB9XG5cbi5mYS1za2V0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YzZcIjsgfVxuXG4uZmEtc2tpaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2M5XCI7IH1cblxuLmZhLXNraWluZy1ub3JkaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3Y2FcIjsgfVxuXG4uZmEtc2t1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NGNcIjsgfVxuXG4uZmEtc2t1bGwtY3Jvc3Nib25lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcxNFwiOyB9XG5cbi5mYS1za3lhdGxhczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxNlwiOyB9XG5cbi5mYS1za3lwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3ZVwiOyB9XG5cbi5mYS1zbGFjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5OFwiOyB9XG5cbi5mYS1zbGFjay1oYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2VmXCI7IH1cblxuLmZhLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzE1XCI7IH1cblxuLmZhLXNsZWlnaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdjY1wiOyB9XG5cbi5mYS1zbGlkZXJzLWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZGVcIjsgfVxuXG4uZmEtc2xpZGVzaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlN1wiOyB9XG5cbi5mYS1zbWlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExOFwiOyB9XG5cbi5mYS1zbWlsZS1iZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWI4XCI7IH1cblxuLmZhLXNtaWxlLXdpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZGFcIjsgfVxuXG4uZmEtc21vZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc1ZlwiOyB9XG5cbi5mYS1zbW9raW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDhkXCI7IH1cblxuLmZhLXNtb2tpbmctYmFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTRkXCI7IH1cblxuLmZhLXNtczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdjZFwiOyB9XG5cbi5mYS1zbmFwY2hhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhYlwiOyB9XG5cbi5mYS1zbmFwY2hhdC1naG9zdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhY1wiOyB9XG5cbi5mYS1zbmFwY2hhdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWRcIjsgfVxuXG4uZmEtc25vd2JvYXJkaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2NlXCI7IH1cblxuLmZhLXNub3dmbGFrZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkY1wiOyB9XG5cbi5mYS1zbm93bWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2QwXCI7IH1cblxuLmZhLXNub3dwbG93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2QyXCI7IH1cblxuLmZhLXNvYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNmVcIjsgfVxuXG4uZmEtc29ja3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2OTZcIjsgfVxuXG4uZmEtc29sYXItcGFuZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YmFcIjsgfVxuXG4uZmEtc29ydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkY1wiOyB9XG5cbi5mYS1zb3J0LWFscGhhLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWRcIjsgfVxuXG4uZmEtc29ydC1hbHBoYS1kb3duLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg4MVwiOyB9XG5cbi5mYS1zb3J0LWFscGhhLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVlXCI7IH1cblxuLmZhLXNvcnQtYWxwaGEtdXAtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODgyXCI7IH1cblxuLmZhLXNvcnQtYW1vdW50LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjBcIjsgfVxuXG4uZmEtc29ydC1hbW91bnQtZG93bi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4ODRcIjsgfVxuXG4uZmEtc29ydC1hbW91bnQtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjFcIjsgfVxuXG4uZmEtc29ydC1hbW91bnQtdXAtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODg1XCI7IH1cblxuLmZhLXNvcnQtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkZFwiOyB9XG5cbi5mYS1zb3J0LW51bWVyaWMtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MlwiOyB9XG5cbi5mYS1zb3J0LW51bWVyaWMtZG93bi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4ODZcIjsgfVxuXG4uZmEtc29ydC1udW1lcmljLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYzXCI7IH1cblxuLmZhLXNvcnQtbnVtZXJpYy11cC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4ODdcIjsgfVxuXG4uZmEtc29ydC11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkZVwiOyB9XG5cbi5mYS1zb3VuZGNsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJlXCI7IH1cblxuLmZhLXNvdXJjZXRyZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZDNcIjsgfVxuXG4uZmEtc3BhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWJiXCI7IH1cblxuLmZhLXNwYWNlLXNodXR0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTdcIjsgfVxuXG4uZmEtc3BlYWthcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmM1wiOyB9XG5cbi5mYS1zcGVha2VyLWRlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4M2NcIjsgfVxuXG4uZmEtc3BlbGwtY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4OTFcIjsgfVxuXG4uZmEtc3BpZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzE3XCI7IH1cblxuLmZhLXNwaW5uZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTBcIjsgfVxuXG4uZmEtc3Bsb3RjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViY1wiOyB9XG5cbi5mYS1zcG90aWZ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJjXCI7IH1cblxuLmZhLXNwcmF5LWNhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViZFwiOyB9XG5cbi5mYS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzhcIjsgfVxuXG4uZmEtc3F1YXJlLWZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NWNcIjsgfVxuXG4uZmEtc3F1YXJlLXJvb3QtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjk4XCI7IH1cblxuLmZhLXNxdWFyZXNwYWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWJlXCI7IH1cblxuLmZhLXN0YWNrLWV4Y2hhbmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThkXCI7IH1cblxuLmZhLXN0YWNrLW92ZXJmbG93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZjXCI7IH1cblxuLmZhLXN0YWNrcGF0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg0MlwiOyB9XG5cbi5mYS1zdGFtcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViZlwiOyB9XG5cbi5mYS1zdGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA1XCI7IH1cblxuLmZhLXN0YXItYW5kLWNyZXNjZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjk5XCI7IH1cblxuLmZhLXN0YXItaGFsZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4OVwiOyB9XG5cbi5mYS1zdGFyLWhhbGYtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWMwXCI7IH1cblxuLmZhLXN0YXItb2YtZGF2aWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2OWFcIjsgfVxuXG4uZmEtc3Rhci1vZi1saWZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjIxXCI7IH1cblxuLmZhLXN0YXlsaW5rZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZjVcIjsgfVxuXG4uZmEtc3RlYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjZcIjsgfVxuXG4uZmEtc3RlYW0tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI3XCI7IH1cblxuLmZhLXN0ZWFtLXN5bWJvbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmNlwiOyB9XG5cbi5mYS1zdGVwLWJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ4XCI7IH1cblxuLmZhLXN0ZXAtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1MVwiOyB9XG5cbi5mYS1zdGV0aG9zY29wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmMVwiOyB9XG5cbi5mYS1zdGlja2VyLW11bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZjdcIjsgfVxuXG4uZmEtc3RpY2t5LW5vdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDlcIjsgfVxuXG4uZmEtc3RvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0ZFwiOyB9XG5cbi5mYS1zdG9wLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4ZFwiOyB9XG5cbi5mYS1zdG9wd2F0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZjJcIjsgfVxuXG4uZmEtc3RvcHdhdGNoLTIwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDZmXCI7IH1cblxuLmZhLXN0b3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTRlXCI7IH1cblxuLmZhLXN0b3JlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0ZlwiOyB9XG5cbi5mYS1zdG9yZS1hbHQtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzBcIjsgfVxuXG4uZmEtc3RvcmUtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzFcIjsgfVxuXG4uZmEtc3RyYXZhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI4XCI7IH1cblxuLmZhLXN0cmVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1MFwiOyB9XG5cbi5mYS1zdHJlZXQtdmlldzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxZFwiOyB9XG5cbi5mYS1zdHJpa2V0aHJvdWdoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNjXCI7IH1cblxuLmZhLXN0cmlwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyOVwiOyB9XG5cbi5mYS1zdHJpcGUtczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyYVwiOyB9XG5cbi5mYS1zdHJvb3B3YWZlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1MVwiOyB9XG5cbi5mYS1zdHVkaW92aW5hcmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZjhcIjsgfVxuXG4uZmEtc3R1bWJsZXVwb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTRcIjsgfVxuXG4uZmEtc3R1bWJsZXVwb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEzXCI7IH1cblxuLmZhLXN1YnNjcmlwdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyY1wiOyB9XG5cbi5mYS1zdWJ3YXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzlcIjsgfVxuXG4uZmEtc3VpdGNhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjJcIjsgfVxuXG4uZmEtc3VpdGNhc2Utcm9sbGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjMVwiOyB9XG5cbi5mYS1zdW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODVcIjsgfVxuXG4uZmEtc3VwZXJwb3dlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGRcIjsgfVxuXG4uZmEtc3VwZXJzY3JpcHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmJcIjsgfVxuXG4uZmEtc3VwcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y5XCI7IH1cblxuLmZhLXN1cnByaXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWMyXCI7IH1cblxuLmZhLXN1c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZDZcIjsgfVxuXG4uZmEtc3dhdGNoYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjM1wiOyB9XG5cbi5mYS1zd2lmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhlMVwiOyB9XG5cbi5mYS1zd2ltbWVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWM0XCI7IH1cblxuLmZhLXN3aW1taW5nLXBvb2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YzVcIjsgfVxuXG4uZmEtc3ltZm9ueTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzZFwiOyB9XG5cbi5mYS1zeW5hZ29ndWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2OWJcIjsgfVxuXG4uZmEtc3luYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyMVwiOyB9XG5cbi5mYS1zeW5jLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmMVwiOyB9XG5cbi5mYS1zeXJpbmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDhlXCI7IH1cblxuLmZhLXRhYmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNlXCI7IH1cblxuLmZhLXRhYmxlLXRlbm5pczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1ZFwiOyB9XG5cbi5mYS10YWJsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGFcIjsgfVxuXG4uZmEtdGFibGV0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmYVwiOyB9XG5cbi5mYS10YWJsZXRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDkwXCI7IH1cblxuLmZhLXRhY2hvbWV0ZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2ZkXCI7IH1cblxuLmZhLXRhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyYlwiOyB9XG5cbi5mYS10YWdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJjXCI7IH1cblxuLmZhLXRhcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZGJcIjsgfVxuXG4uZmEtdGFza3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWVcIjsgfVxuXG4uZmEtdGF4aTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiYVwiOyB9XG5cbi5mYS10ZWFtc3BlYWs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjlcIjsgfVxuXG4uZmEtdGVldGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2MmVcIjsgfVxuXG4uZmEtdGVldGgtb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYyZlwiOyB9XG5cbi5mYS10ZWxlZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjNlwiOyB9XG5cbi5mYS10ZWxlZ3JhbS1wbGFuZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmZVwiOyB9XG5cbi5mYS10ZW1wZXJhdHVyZS1oaWdoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzY5XCI7IH1cblxuLmZhLXRlbXBlcmF0dXJlLWxvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc2YlwiOyB9XG5cbi5mYS10ZW5jZW50LXdlaWJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ1XCI7IH1cblxuLmZhLXRlbmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2Q3XCI7IH1cblxuLmZhLXRlcm1pbmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIwXCI7IH1cblxuLmZhLXRleHQtaGVpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDM0XCI7IH1cblxuLmZhLXRleHQtd2lkdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzVcIjsgfVxuXG4uZmEtdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGFcIjsgfVxuXG4uZmEtdGgtbGFyZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDlcIjsgfVxuXG4uZmEtdGgtbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwYlwiOyB9XG5cbi5mYS10aGUtcmVkLXlldGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2OWRcIjsgfVxuXG4uZmEtdGhlYXRlci1tYXNrczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYzMFwiOyB9XG5cbi5mYS10aGVtZWNvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWM2XCI7IH1cblxuLmZhLXRoZW1laXNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiMlwiOyB9XG5cbi5mYS10aGVybW9tZXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ5MVwiOyB9XG5cbi5mYS10aGVybW9tZXRlci1lbXB0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjYlwiOyB9XG5cbi5mYS10aGVybW9tZXRlci1mdWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmM3XCI7IH1cblxuLmZhLXRoZXJtb21ldGVyLWhhbGY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzlcIjsgfVxuXG4uZmEtdGhlcm1vbWV0ZXItcXVhcnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjYVwiOyB9XG5cbi5mYS10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjOFwiOyB9XG5cbi5mYS10aGluay1wZWFrczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjczMVwiOyB9XG5cbi5mYS10aHVtYnMtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2NVwiOyB9XG5cbi5mYS10aHVtYnMtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjRcIjsgfVxuXG4uZmEtdGh1bWJ0YWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDhkXCI7IH1cblxuLmZhLXRpY2tldC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZmZcIjsgfVxuXG4uZmEtdGlrdG9rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDdiXCI7IH1cblxuLmZhLXRpbWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBkXCI7IH1cblxuLmZhLXRpbWVzLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1N1wiOyB9XG5cbi5mYS10aW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQzXCI7IH1cblxuLmZhLXRpbnQtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YzdcIjsgfVxuXG4uZmEtdGlyZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YzhcIjsgfVxuXG4uZmEtdG9nZ2xlLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwNFwiOyB9XG5cbi5mYS10b2dnbGUtb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDVcIjsgfVxuXG4uZmEtdG9pbGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2Q4XCI7IH1cblxuLmZhLXRvaWxldC1wYXBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcxZVwiOyB9XG5cbi5mYS10b2lsZXQtcGFwZXItc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzJcIjsgfVxuXG4uZmEtdG9vbGJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1MlwiOyB9XG5cbi5mYS10b29sczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdkOVwiOyB9XG5cbi5mYS10b290aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjOVwiOyB9XG5cbi5mYS10b3JhaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZhMFwiOyB9XG5cbi5mYS10b3JpaS1nYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmExXCI7IH1cblxuLmZhLXRyYWN0b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MjJcIjsgfVxuXG4uZmEtdHJhZGUtZmVkZXJhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxM1wiOyB9XG5cbi5mYS10cmFkZW1hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWNcIjsgfVxuXG4uZmEtdHJhZmZpYy1saWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYzN1wiOyB9XG5cbi5mYS10cmFpbGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQxXCI7IH1cblxuLmZhLXRyYWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM4XCI7IH1cblxuLmZhLXRyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZGFcIjsgfVxuXG4uZmEtdHJhbnNnZW5kZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjRcIjsgfVxuXG4uZmEtdHJhbnNnZW5kZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI1XCI7IH1cblxuLmZhLXRyYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY4XCI7IH1cblxuLmZhLXRyYXNoLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJlZFwiOyB9XG5cbi5mYS10cmFzaC1yZXN0b3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODI5XCI7IH1cblxuLmZhLXRyYXNoLXJlc3RvcmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODJhXCI7IH1cblxuLmZhLXRyZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmJcIjsgfVxuXG4uZmEtdHJlbGxvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTgxXCI7IH1cblxuLmZhLXRyaXBhZHZpc29yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYyXCI7IH1cblxuLmZhLXRyb3BoeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5MVwiOyB9XG5cbi5mYS10cnVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMVwiOyB9XG5cbi5mYS10cnVjay1sb2FkaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGRlXCI7IH1cblxuLmZhLXRydWNrLW1vbnN0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2M2JcIjsgfVxuXG4uZmEtdHJ1Y2stbW92aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGRmXCI7IH1cblxuLmZhLXRydWNrLXBpY2t1cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYzY1wiOyB9XG5cbi5mYS10c2hpcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NTNcIjsgfVxuXG4uZmEtdHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU0XCI7IH1cblxuLmZhLXR1bWJscjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3M1wiOyB9XG5cbi5mYS10dW1ibHItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc0XCI7IH1cblxuLmZhLXR2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZjXCI7IH1cblxuLmZhLXR3aXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlOFwiOyB9XG5cbi5mYS10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk5XCI7IH1cblxuLmZhLXR3aXR0ZXItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDgxXCI7IH1cblxuLmZhLXR5cG8zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJiXCI7IH1cblxuLmZhLXViZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDJcIjsgfVxuXG4uZmEtdWJ1bnR1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2RmXCI7IH1cblxuLmZhLXVpa2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDAzXCI7IH1cblxuLmZhLXVtYnJhY286YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4ZThcIjsgfVxuXG4uZmEtdW1icmVsbGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTlcIjsgfVxuXG4uZmEtdW1icmVsbGEtYmVhY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1Y2FcIjsgfVxuXG4uZmEtdW5jaGFydGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg0XCI7IH1cblxuLmZhLXVuZGVybGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjZFwiOyB9XG5cbi5mYS11bmRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUyXCI7IH1cblxuLmZhLXVuZG8tYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmVhXCI7IH1cblxuLmZhLXVuaXJlZ2lzdHJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDA0XCI7IH1cblxuLmZhLXVuaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQ5XCI7IH1cblxuLmZhLXVuaXZlcnNhbC1hY2Nlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOWFcIjsgfVxuXG4uZmEtdW5pdmVyc2l0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5Y1wiOyB9XG5cbi5mYS11bmxpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjdcIjsgfVxuXG4uZmEtdW5sb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDljXCI7IH1cblxuLmZhLXVubG9jay1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2VcIjsgfVxuXG4uZmEtdW5zcGxhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwN2NcIjsgfVxuXG4uZmEtdW50YXBwZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwNVwiOyB9XG5cbi5mYS11cGxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTNcIjsgfVxuXG4uZmEtdXBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2UwXCI7IH1cblxuLmZhLXVzYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4N1wiOyB9XG5cbi5mYS11c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA3XCI7IH1cblxuLmZhLXVzZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDA2XCI7IH1cblxuLmZhLXVzZXItYWx0LXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGZhXCI7IH1cblxuLmZhLXVzZXItYXN0cm9uYXV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGZiXCI7IH1cblxuLmZhLXVzZXItY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZmNcIjsgfVxuXG4uZmEtdXNlci1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYmRcIjsgfVxuXG4uZmEtdXNlci1jbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmZFwiOyB9XG5cbi5mYS11c2VyLWNvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmZVwiOyB9XG5cbi5mYS11c2VyLWVkaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZmZcIjsgfVxuXG4uZmEtdXNlci1mcmllbmRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTAwXCI7IH1cblxuLmZhLXVzZXItZ3JhZHVhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MDFcIjsgfVxuXG4uZmEtdXNlci1pbmp1cmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzI4XCI7IH1cblxuLmZhLXVzZXItbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwMlwiOyB9XG5cbi5mYS11c2VyLW1kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYwXCI7IH1cblxuLmZhLXVzZXItbWludXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MDNcIjsgfVxuXG4uZmEtdXNlci1uaW5qYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwNFwiOyB9XG5cbi5mYS11c2VyLW51cnNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODJmXCI7IH1cblxuLmZhLXVzZXItcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNFwiOyB9XG5cbi5mYS11c2VyLXNlY3JldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxYlwiOyB9XG5cbi5mYS11c2VyLXNoaWVsZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwNVwiOyB9XG5cbi5mYS11c2VyLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTA2XCI7IH1cblxuLmZhLXVzZXItdGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTA3XCI7IH1cblxuLmZhLXVzZXItdGllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTA4XCI7IH1cblxuLmZhLXVzZXItdGltZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzVcIjsgfVxuXG4uZmEtdXNlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzBcIjsgfVxuXG4uZmEtdXNlcnMtY29nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTA5XCI7IH1cblxuLmZhLXVzZXJzLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDczXCI7IH1cblxuLmZhLXVzcHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZTFcIjsgfVxuXG4uZmEtdXNzdW5uYWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDdcIjsgfVxuXG4uZmEtdXRlbnNpbC1zcG9vbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJlNVwiOyB9XG5cbi5mYS11dGVuc2lsczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJlN1wiOyB9XG5cbi5mYS12YWFkaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDhcIjsgfVxuXG4uZmEtdmVjdG9yLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjYlwiOyB9XG5cbi5mYS12ZW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyMVwiOyB9XG5cbi5mYS12ZW51cy1kb3VibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjZcIjsgfVxuXG4uZmEtdmVudXMtbWFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyOFwiOyB9XG5cbi5mYS12ZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg1XCI7IH1cblxuLmZhLXZlc3QtcGF0Y2hlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4NlwiOyB9XG5cbi5mYS12aWFjb2luOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM3XCI7IH1cblxuLmZhLXZpYWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhOVwiOyB9XG5cbi5mYS12aWFkZW8tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFhXCI7IH1cblxuLmZhLXZpYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OTJcIjsgfVxuXG4uZmEtdmlhbHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OTNcIjsgfVxuXG4uZmEtdmliZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDlcIjsgfVxuXG4uZmEtdmlkZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2RcIjsgfVxuXG4uZmEtdmlkZW8tc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZTJcIjsgfVxuXG4uZmEtdmloYXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmE3XCI7IH1cblxuLmZhLXZpbWVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDBhXCI7IH1cblxuLmZhLXZpbWVvLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5NFwiOyB9XG5cbi5mYS12aW1lby12OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjdkXCI7IH1cblxuLmZhLXZpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2FcIjsgfVxuXG4uZmEtdmlydXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzRcIjsgfVxuXG4uZmEtdmlydXMtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzVcIjsgfVxuXG4uZmEtdmlydXNlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3NlwiOyB9XG5cbi5mYS12azpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4OVwiOyB9XG5cbi5mYS12bnY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGJcIjsgfVxuXG4uZmEtdm9pY2VtYWlsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODk3XCI7IH1cblxuLmZhLXZvbGxleWJhbGwtYmFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1ZlwiOyB9XG5cbi5mYS12b2x1bWUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyN1wiOyB9XG5cbi5mYS12b2x1bWUtbXV0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZhOVwiOyB9XG5cbi5mYS12b2x1bWUtb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI2XCI7IH1cblxuLmZhLXZvbHVtZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyOFwiOyB9XG5cbi5mYS12b3RlLXllYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc3MlwiOyB9XG5cbi5mYS12ci1jYXJkYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MjlcIjsgfVxuXG4uZmEtdnVlanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWZcIjsgfVxuXG4uZmEtd2Fsa2luZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1NFwiOyB9XG5cbi5mYS13YWxsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NTVcIjsgfVxuXG4uZmEtd2FyZWhvdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDk0XCI7IH1cblxuLmZhLXdhdGNobWFuLW1vbml0b3Jpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODdcIjsgfVxuXG4uZmEtd2F0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NzNcIjsgfVxuXG4uZmEtd2F2ZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4M2VcIjsgfVxuXG4uZmEtd2F6ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzZlwiOyB9XG5cbi5mYS13ZWVibHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1Y2NcIjsgfVxuXG4uZmEtd2VpYm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGFcIjsgfVxuXG4uZmEtd2VpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDk2XCI7IH1cblxuLmZhLXdlaWdodC1oYW5naW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWNkXCI7IH1cblxuLmZhLXdlaXhpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkN1wiOyB9XG5cbi5mYS13aGF0c2FwcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzMlwiOyB9XG5cbi5mYS13aGF0c2FwcC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGNcIjsgfVxuXG4uZmEtd2hlZWxjaGFpcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5M1wiOyB9XG5cbi5mYS13aG1jczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwZFwiOyB9XG5cbi5mYS13aWZpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWViXCI7IH1cblxuLmZhLXdpa2lwZWRpYS13OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY2XCI7IH1cblxuLmZhLXdpbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MmVcIjsgfVxuXG4uZmEtd2luZG93LWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDEwXCI7IH1cblxuLmZhLXdpbmRvdy1tYXhpbWl6ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkMFwiOyB9XG5cbi5mYS13aW5kb3ctbWluaW1pemU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDFcIjsgfVxuXG4uZmEtd2luZG93LXJlc3RvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDJcIjsgfVxuXG4uZmEtd2luZG93czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3YVwiOyB9XG5cbi5mYS13aW5lLWJvdHRsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcyZlwiOyB9XG5cbi5mYS13aW5lLWdsYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGUzXCI7IH1cblxuLmZhLXdpbmUtZ2xhc3MtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWNlXCI7IH1cblxuLmZhLXdpeDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjZlwiOyB9XG5cbi5mYS13aXphcmRzLW9mLXRoZS1jb2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjczMFwiOyB9XG5cbi5mYS13b2R1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg4XCI7IH1cblxuLmZhLXdvbGYtcGFjay1iYXR0YWxpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MTRcIjsgfVxuXG4uZmEtd29uLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTlcIjsgfVxuXG4uZmEtd29yZHByZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTlhXCI7IH1cblxuLmZhLXdvcmRwcmVzcy1zaW1wbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTFcIjsgfVxuXG4uZmEtd3BiZWdpbm5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5N1wiOyB9XG5cbi5mYS13cGV4cGxvcmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRlXCI7IH1cblxuLmZhLXdwZm9ybXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOThcIjsgfVxuXG4uZmEtd3ByZXNzcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlNFwiOyB9XG5cbi5mYS13cmVuY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWRcIjsgfVxuXG4uZmEteC1yYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OTdcIjsgfVxuXG4uZmEteGJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxMlwiOyB9XG5cbi5mYS14aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY4XCI7IH1cblxuLmZhLXhpbmctc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY5XCI7IH1cblxuLmZhLXktY29tYmluYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzYlwiOyB9XG5cbi5mYS15YWhvbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5ZVwiOyB9XG5cbi5mYS15YW1tZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4NDBcIjsgfVxuXG4uZmEteWFuZGV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDEzXCI7IH1cblxuLmZhLXlhbmRleC1pbnRlcm5hdGlvbmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDE0XCI7IH1cblxuLmZhLXlhcm46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZTNcIjsgfVxuXG4uZmEteWVscDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlOVwiOyB9XG5cbi5mYS15ZW4tc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1N1wiOyB9XG5cbi5mYS15aW4teWFuZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZhZFwiOyB9XG5cbi5mYS15b2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiMVwiOyB9XG5cbi5mYS15b3V0dWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY3XCI7IH1cblxuLmZhLXlvdXR1YmUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDMxXCI7IH1cblxuLmZhLXpoaWh1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjNmXCI7IH1cblxuLnNyLW9ubHkge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDsgfVxuXG4uc3Itb25seS1mb2N1c2FibGU6YWN0aXZlLCAuc3Itb25seS1mb2N1c2FibGU6Zm9jdXMge1xuICBjbGlwOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNS4xNS4zIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogYmxvY2s7XG4gIHNyYzogdXJsKFwiLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1icmFuZHMtNDAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1icmFuZHMtNDAwLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAuc3ZnI2ZvbnRhd2Vzb21lXCIpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG4uZmFiIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNS4xNS4zIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xuICBzcmM6IHVybChcIi4uL3dlYmZvbnRzL2ZhLXJlZ3VsYXItNDAwLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLXJlZ3VsYXItNDAwLnN2ZyNmb250YXdlc29tZVwiKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuLmZhciB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA1LjE1LjMgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtZGlzcGxheTogYmxvY2s7XG4gIHNyYzogdXJsKFwiLi4vd2ViZm9udHMvZmEtc29saWQtOTAwLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi93ZWJmb250cy9mYS1zb2xpZC05MDAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vd2ViZm9udHMvZmEtc29saWQtOTAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1zb2xpZC05MDAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1zb2xpZC05MDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1zb2xpZC05MDAuc3ZnI2ZvbnRhd2Vzb21lXCIpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG4uZmEsXG4uZmFzIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDkwMDsgfVxuXG4vKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuMTUuMyBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqL1xuLmZhLmZhLWdsYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDAwXCI7IH1cblxuLmZhLmZhLW1lZXR1cCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtc3Rhci1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtc3Rhci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA1XCI7IH1cblxuLmZhLmZhLXJlbW92ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwZFwiOyB9XG5cbi5mYS5mYS1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwZFwiOyB9XG5cbi5mYS5mYS1nZWFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDEzXCI7IH1cblxuLmZhLmZhLXRyYXNoLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS10cmFzaC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmVkXCI7IH1cblxuLmZhLmZhLWZpbGUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZpbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1YlwiOyB9XG5cbi5mYS5mYS1jbG9jay1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtY2xvY2stbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxN1wiOyB9XG5cbi5mYS5mYS1hcnJvdy1jaXJjbGUtby1kb3duIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtYXJyb3ctY2lyY2xlLW8tZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1OFwiOyB9XG5cbi5mYS5mYS1hcnJvdy1jaXJjbGUtby11cCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWFycm93LWNpcmNsZS1vLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzViXCI7IH1cblxuLmZhLmZhLXBsYXktY2lyY2xlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1wbGF5LWNpcmNsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ0XCI7IH1cblxuLmZhLmZhLXJlcGVhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxZVwiOyB9XG5cbi5mYS5mYS1yb3RhdGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMWVcIjsgfVxuXG4uZmEuZmEtcmVmcmVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyMVwiOyB9XG5cbi5mYS5mYS1saXN0LWFsdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWRlZGVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzYlwiOyB9XG5cbi5mYS5mYS12aWRlby1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2RcIjsgfVxuXG4uZmEuZmEtcGljdHVyZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtcGljdHVyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNlXCI7IH1cblxuLmZhLmZhLXBob3RvIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtcGhvdG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2VcIjsgfVxuXG4uZmEuZmEtaW1hZ2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1pbWFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzZVwiOyB9XG5cbi5mYS5mYS1wZW5jaWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMDNcIjsgfVxuXG4uZmEuZmEtbWFwLW1hcmtlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjNVwiOyB9XG5cbi5mYS5mYS1wZW5jaWwtc3F1YXJlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1wZW5jaWwtc3F1YXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDRcIjsgfVxuXG4uZmEuZmEtc2hhcmUtc3F1YXJlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1zaGFyZS1zcXVhcmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0ZFwiOyB9XG5cbi5mYS5mYS1jaGVjay1zcXVhcmUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWNoZWNrLXNxdWFyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRhXCI7IH1cblxuLmZhLmZhLWFycm93czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBiMlwiOyB9XG5cbi5mYS5mYS10aW1lcy1jaXJjbGUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXRpbWVzLWNpcmNsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU3XCI7IH1cblxuLmZhLmZhLWNoZWNrLWNpcmNsZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtY2hlY2stY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNThcIjsgfVxuXG4uZmEuZmEtbWFpbC1mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY0XCI7IH1cblxuLmZhLmZhLWV4cGFuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyNFwiOyB9XG5cbi5mYS5mYS1jb21wcmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyMlwiOyB9XG5cbi5mYS5mYS1leWUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1leWUtc2xhc2gge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS13YXJuaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDcxXCI7IH1cblxuLmZhLmZhLWNhbGVuZGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDczXCI7IH1cblxuLmZhLmZhLWFycm93cy12OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzM4XCI7IH1cblxuLmZhLmZhLWFycm93cy1oOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzM3XCI7IH1cblxuLmZhLmZhLWJhci1jaGFydCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWJhci1jaGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MFwiOyB9XG5cbi5mYS5mYS1iYXItY2hhcnQtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWJhci1jaGFydC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDgwXCI7IH1cblxuLmZhLmZhLXR3aXR0ZXItc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1mYWNlYm9vay1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWdlYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg1XCI7IH1cblxuLmZhLmZhLXRodW1icy1vLXVwIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtdGh1bWJzLW8tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjRcIjsgfVxuXG4uZmEuZmEtdGh1bWJzLW8tZG93biB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXRodW1icy1vLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjVcIjsgfVxuXG4uZmEuZmEtaGVhcnQtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWhlYXJ0LW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDRcIjsgfVxuXG4uZmEuZmEtc2lnbi1vdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZjVcIjsgfVxuXG4uZmEuZmEtbGlua2VkaW4tc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1saW5rZWRpbi1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOGNcIjsgfVxuXG4uZmEuZmEtdGh1bWItdGFjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4ZFwiOyB9XG5cbi5mYS5mYS1leHRlcm5hbC1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzVkXCI7IH1cblxuLmZhLmZhLXNpZ24taW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZjZcIjsgfVxuXG4uZmEuZmEtZ2l0aHViLXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtbGVtb24tbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWxlbW9uLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTRcIjsgfVxuXG4uZmEuZmEtc3F1YXJlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1zcXVhcmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjOFwiOyB9XG5cbi5mYS5mYS1ib29rbWFyay1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtYm9va21hcmstbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyZVwiOyB9XG5cbi5mYS5mYS10d2l0dGVyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1mYWNlYm9vayB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZmFjZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWVcIjsgfVxuXG4uZmEuZmEtZmFjZWJvb2stZiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZmFjZWJvb2stZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5ZVwiOyB9XG5cbi5mYS5mYS1naXRodWIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWNyZWRpdC1jYXJkIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZmVlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5ZVwiOyB9XG5cbi5mYS5mYS1oZGQtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWhkZC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGEwXCI7IH1cblxuLmZhLmZhLWhhbmQtby1yaWdodCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWhhbmQtby1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhNFwiOyB9XG5cbi5mYS5mYS1oYW5kLW8tbGVmdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWhhbmQtby1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE1XCI7IH1cblxuLmZhLmZhLWhhbmQtby11cCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWhhbmQtby11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhNlwiOyB9XG5cbi5mYS5mYS1oYW5kLW8tZG93biB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWhhbmQtby1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE3XCI7IH1cblxuLmZhLmZhLWFycm93cy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMWVcIjsgfVxuXG4uZmEuZmEtZ3JvdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzBcIjsgfVxuXG4uZmEuZmEtY2hhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzFcIjsgfVxuXG4uZmEuZmEtc2Npc3NvcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzRcIjsgfVxuXG4uZmEuZmEtZmlsZXMtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZpbGVzLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzVcIjsgfVxuXG4uZmEuZmEtZmxvcHB5LW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1mbG9wcHktbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjN1wiOyB9XG5cbi5mYS5mYS1uYXZpY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM5XCI7IH1cblxuLmZhLmZhLXJlb3JkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzlcIjsgfVxuXG4uZmEuZmEtcGludGVyZXN0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1waW50ZXJlc3Qtc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1nb29nbGUtcGx1cy1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWdvb2dsZS1wbHVzIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1nb29nbGUtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkNVwiOyB9XG5cbi5mYS5mYS1tb25leSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLW1vbmV5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2QxXCI7IH1cblxuLmZhLmZhLXVuc29ydGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRjXCI7IH1cblxuLmZhLmZhLXNvcnQtZGVzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkZFwiOyB9XG5cbi5mYS5mYS1zb3J0LWFzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkZVwiOyB9XG5cbi5mYS5mYS1saW5rZWRpbiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtbGlua2VkaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTFcIjsgfVxuXG4uZmEuZmEtcm90YXRlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTJcIjsgfVxuXG4uZmEuZmEtbGVnYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTNcIjsgfVxuXG4uZmEuZmEtdGFjaG9tZXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmZFwiOyB9XG5cbi5mYS5mYS1kYXNoYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZmRcIjsgfVxuXG4uZmEuZmEtY29tbWVudC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtY29tbWVudC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc1XCI7IH1cblxuLmZhLmZhLWNvbW1lbnRzLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jb21tZW50cy1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg2XCI7IH1cblxuLmZhLmZhLWZsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU3XCI7IH1cblxuLmZhLmZhLWNsaXBib2FyZCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXBhc3RlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtcGFzdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMjhcIjsgfVxuXG4uZmEuZmEtbGlnaHRidWxiLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1saWdodGJ1bGItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlYlwiOyB9XG5cbi5mYS5mYS1leGNoYW5nZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2MlwiOyB9XG5cbi5mYS5mYS1jbG91ZC1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4MVwiOyB9XG5cbi5mYS5mYS1jbG91ZC11cGxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODJcIjsgfVxuXG4uZmEuZmEtYmVsbC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtYmVsbC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYzXCI7IH1cblxuLmZhLmZhLWN1dGxlcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZTdcIjsgfVxuXG4uZmEuZmEtZmlsZS10ZXh0LW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1maWxlLXRleHQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1Y1wiOyB9XG5cbi5mYS5mYS1idWlsZGluZy1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtYnVpbGRpbmctbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhZFwiOyB9XG5cbi5mYS5mYS1ob3NwaXRhbC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtaG9zcGl0YWwtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmOFwiOyB9XG5cbi5mYS5mYS10YWJsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZmFcIjsgfVxuXG4uZmEuZmEtbW9iaWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2NkXCI7IH1cblxuLmZhLmZhLW1vYmlsZS1waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjZFwiOyB9XG5cbi5mYS5mYS1jaXJjbGUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWNpcmNsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTExXCI7IH1cblxuLmZhLmZhLW1haWwtcmVwbHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTVcIjsgfVxuXG4uZmEuZmEtZ2l0aHViLWFsdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZm9sZGVyLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1mb2xkZXItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3YlwiOyB9XG5cbi5mYS5mYS1mb2xkZXItb3Blbi1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZm9sZGVyLW9wZW4tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3Y1wiOyB9XG5cbi5mYS5mYS1zbWlsZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtc21pbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExOFwiOyB9XG5cbi5mYS5mYS1mcm93bi1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZnJvd24tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExOVwiOyB9XG5cbi5mYS5mYS1tZWgtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLW1laC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFhXCI7IH1cblxuLmZhLmZhLWtleWJvYXJkLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1rZXlib2FyZC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFjXCI7IH1cblxuLmZhLmZhLWZsYWctbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZsYWctbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyNFwiOyB9XG5cbi5mYS5mYS1tYWlsLXJlcGx5LWFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyMlwiOyB9XG5cbi5mYS5mYS1zdGFyLWhhbGYtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXN0YXItaGFsZi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg5XCI7IH1cblxuLmZhLmZhLXN0YXItaGFsZi1lbXB0eSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXN0YXItaGFsZi1lbXB0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4OVwiOyB9XG5cbi5mYS5mYS1zdGFyLWhhbGYtZnVsbCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXN0YXItaGFsZi1mdWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg5XCI7IH1cblxuLmZhLmZhLWNvZGUtZm9yazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyNlwiOyB9XG5cbi5mYS5mYS1jaGFpbi1icm9rZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjdcIjsgfVxuXG4uZmEuZmEtc2hpZWxkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2VkXCI7IH1cblxuLmZhLmZhLWNhbGVuZGFyLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jYWxlbmRhci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMzXCI7IH1cblxuLmZhLmZhLW1heGNkbiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtaHRtbDUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWNzczMge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXRpY2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmZlwiOyB9XG5cbi5mYS5mYS1taW51cy1zcXVhcmUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLW1pbnVzLXNxdWFyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ2XCI7IH1cblxuLmZhLmZhLWxldmVsLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2JmXCI7IH1cblxuLmZhLmZhLWxldmVsLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmVcIjsgfVxuXG4uZmEuZmEtcGVuY2lsLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0YlwiOyB9XG5cbi5mYS5mYS1leHRlcm5hbC1saW5rLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2MFwiOyB9XG5cbi5mYS5mYS1jb21wYXNzIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtY2FyZXQtc3F1YXJlLW8tZG93biB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWNhcmV0LXNxdWFyZS1vLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTBcIjsgfVxuXG4uZmEuZmEtdG9nZ2xlLWRvd24ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS10b2dnbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MFwiOyB9XG5cbi5mYS5mYS1jYXJldC1zcXVhcmUtby11cCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWNhcmV0LXNxdWFyZS1vLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUxXCI7IH1cblxuLmZhLmZhLXRvZ2dsZS11cCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXRvZ2dsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MVwiOyB9XG5cbi5mYS5mYS1jYXJldC1zcXVhcmUtby1yaWdodCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWNhcmV0LXNxdWFyZS1vLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUyXCI7IH1cblxuLmZhLmZhLXRvZ2dsZS1yaWdodCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXRvZ2dsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MlwiOyB9XG5cbi5mYS5mYS1ldXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTNcIjsgfVxuXG4uZmEuZmEtZXVybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1M1wiOyB9XG5cbi5mYS5mYS1nYnA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTRcIjsgfVxuXG4uZmEuZmEtdXNkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU1XCI7IH1cblxuLmZhLmZhLWRvbGxhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NVwiOyB9XG5cbi5mYS5mYS1pbnI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTZcIjsgfVxuXG4uZmEuZmEtcnVwZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTZcIjsgfVxuXG4uZmEuZmEtanB5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU3XCI7IH1cblxuLmZhLmZhLWNueTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1N1wiOyB9XG5cbi5mYS5mYS1ybWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTdcIjsgfVxuXG4uZmEuZmEteWVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU3XCI7IH1cblxuLmZhLmZhLXJ1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1OFwiOyB9XG5cbi5mYS5mYS1ydWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1OFwiOyB9XG5cbi5mYS5mYS1yb3VibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNThcIjsgfVxuXG4uZmEuZmEta3J3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU5XCI7IH1cblxuLmZhLmZhLXdvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1OVwiOyB9XG5cbi5mYS5mYS1idGMge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWJpdGNvaW4ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWJpdGNvaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWFcIjsgfVxuXG4uZmEuZmEtZmlsZS10ZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVjXCI7IH1cblxuLmZhLmZhLXNvcnQtYWxwaGEtYXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVkXCI7IH1cblxuLmZhLmZhLXNvcnQtYWxwaGEtZGVzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg4MVwiOyB9XG5cbi5mYS5mYS1zb3J0LWFtb3VudC1hc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjBcIjsgfVxuXG4uZmEuZmEtc29ydC1hbW91bnQtZGVzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg4NFwiOyB9XG5cbi5mYS5mYS1zb3J0LW51bWVyaWMtYXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYyXCI7IH1cblxuLmZhLmZhLXNvcnQtbnVtZXJpYy1kZXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODg2XCI7IH1cblxuLmZhLmZhLXlvdXR1YmUtc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS15b3V0dWJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS14aW5nIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS14aW5nLXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEteW91dHViZS1wbGF5IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS15b3V0dWJlLXBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjdcIjsgfVxuXG4uZmEuZmEtZHJvcGJveCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtc3RhY2stb3ZlcmZsb3cge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWluc3RhZ3JhbSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZmxpY2tyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1hZG4ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWJpdGJ1Y2tldCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtYml0YnVja2V0LXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtYml0YnVja2V0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MVwiOyB9XG5cbi5mYS5mYS10dW1ibHIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXR1bWJsci1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWxvbmctYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwOVwiOyB9XG5cbi5mYS5mYS1sb25nLWFycm93LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzBjXCI7IH1cblxuLmZhLmZhLWxvbmctYXJyb3ctbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwYVwiOyB9XG5cbi5mYS5mYS1sb25nLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzBiXCI7IH1cblxuLmZhLmZhLWFwcGxlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS13aW5kb3dzIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1hbmRyb2lkIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1saW51eCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZHJpYmJibGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXNreXBlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1mb3Vyc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS10cmVsbG8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWdyYXRpcGF5IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1naXR0aXAge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWdpdHRpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4NFwiOyB9XG5cbi5mYS5mYS1zdW4tbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXN1bi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg1XCI7IH1cblxuLmZhLmZhLW1vb24tbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLW1vb24tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4NlwiOyB9XG5cbi5mYS5mYS12ayB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtd2VpYm8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXJlbnJlbiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtcGFnZWxpbmVzIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1zdGFjay1leGNoYW5nZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtYXJyb3ctY2lyY2xlLW8tcmlnaHQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1hcnJvdy1jaXJjbGUtby1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1YVwiOyB9XG5cbi5mYS5mYS1hcnJvdy1jaXJjbGUtby1sZWZ0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtYXJyb3ctY2lyY2xlLW8tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1OVwiOyB9XG5cbi5mYS5mYS1jYXJldC1zcXVhcmUtby1sZWZ0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtY2FyZXQtc3F1YXJlLW8tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5MVwiOyB9XG5cbi5mYS5mYS10b2dnbGUtbGVmdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXRvZ2dsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkxXCI7IH1cblxuLmZhLmZhLWRvdC1jaXJjbGUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWRvdC1jaXJjbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5MlwiOyB9XG5cbi5mYS5mYS12aW1lby1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXRyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5NVwiOyB9XG5cbi5mYS5mYS10dXJraXNoLWxpcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTVcIjsgfVxuXG4uZmEuZmEtcGx1cy1zcXVhcmUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXBsdXMtc3F1YXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmVcIjsgfVxuXG4uZmEuZmEtc2xhY2sge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXdvcmRwcmVzcyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtb3BlbmlkIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1pbnN0aXR1dGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5Y1wiOyB9XG5cbi5mYS5mYS1iYW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTljXCI7IH1cblxuLmZhLmZhLW1vcnRhci1ib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5ZFwiOyB9XG5cbi5mYS5mYS15YWhvbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZ29vZ2xlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1yZWRkaXQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXJlZGRpdC1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXN0dW1ibGV1cG9uLWNpcmNsZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtc3R1bWJsZXVwb24ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWRlbGljaW91cyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZGlnZyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtcGllZC1waXBlci1wcCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtcGllZC1waXBlci1hbHQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWRydXBhbCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtam9vbWxhIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1zcG9vbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJlNVwiOyB9XG5cbi5mYS5mYS1iZWhhbmNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1iZWhhbmNlLXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtc3RlYW0ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXN0ZWFtLXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtYXV0b21vYmlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiOVwiOyB9XG5cbi5mYS5mYS1lbnZlbG9wZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZW52ZWxvcGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMFwiOyB9XG5cbi5mYS5mYS1zcG90aWZ5IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1kZXZpYW50YXJ0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1zb3VuZGNsb3VkIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1maWxlLXBkZi1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZmlsZS1wZGYtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjMVwiOyB9XG5cbi5mYS5mYS1maWxlLXdvcmQtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZpbGUtd29yZC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMyXCI7IH1cblxuLmZhLmZhLWZpbGUtZXhjZWwtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZpbGUtZXhjZWwtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjM1wiOyB9XG5cbi5mYS5mYS1maWxlLXBvd2VycG9pbnQtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZpbGUtcG93ZXJwb2ludC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM0XCI7IH1cblxuLmZhLmZhLWZpbGUtaW1hZ2UtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZpbGUtaW1hZ2UtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNVwiOyB9XG5cbi5mYS5mYS1maWxlLXBob3RvLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1maWxlLXBob3RvLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzVcIjsgfVxuXG4uZmEuZmEtZmlsZS1waWN0dXJlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1maWxlLXBpY3R1cmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNVwiOyB9XG5cbi5mYS5mYS1maWxlLWFyY2hpdmUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZpbGUtYXJjaGl2ZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM2XCI7IH1cblxuLmZhLmZhLWZpbGUtemlwLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1maWxlLXppcC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM2XCI7IH1cblxuLmZhLmZhLWZpbGUtYXVkaW8tbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZpbGUtYXVkaW8tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjN1wiOyB9XG5cbi5mYS5mYS1maWxlLXNvdW5kLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1maWxlLXNvdW5kLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzdcIjsgfVxuXG4uZmEuZmEtZmlsZS12aWRlby1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZmlsZS12aWRlby1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM4XCI7IH1cblxuLmZhLmZhLWZpbGUtbW92aWUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZpbGUtbW92aWUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjOFwiOyB9XG5cbi5mYS5mYS1maWxlLWNvZGUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZpbGUtY29kZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM5XCI7IH1cblxuLmZhLmZhLXZpbmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWNvZGVwZW4ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWpzZmlkZGxlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1saWZlLXJpbmcge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1saWZlLWJvdXkge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1saWZlLWJvdXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2RcIjsgfVxuXG4uZmEuZmEtbGlmZS1idW95IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtbGlmZS1idW95OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNkXCI7IH1cblxuLmZhLmZhLWxpZmUtc2F2ZXIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1saWZlLXNhdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNkXCI7IH1cblxuLmZhLmZhLXN1cHBvcnQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1zdXBwb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNkXCI7IH1cblxuLmZhLmZhLWNpcmNsZS1vLW5vdGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNlXCI7IH1cblxuLmZhLmZhLXJlYmVsIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1yYSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDBcIjsgfVxuXG4uZmEuZmEtcmVzaXN0YW5jZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtcmVzaXN0YW5jZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkMFwiOyB9XG5cbi5mYS5mYS1lbXBpcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWdlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1nZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkMVwiOyB9XG5cbi5mYS5mYS1naXQtc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1naXQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWhhY2tlci1uZXdzIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS15LWNvbWJpbmF0b3Itc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS15LWNvbWJpbmF0b3Itc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ0XCI7IH1cblxuLmZhLmZhLXljLXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEteWMtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ0XCI7IH1cblxuLmZhLmZhLXRlbmNlbnQtd2VpYm8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXFxIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS13ZWl4aW4ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXdlY2hhdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtd2VjaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ3XCI7IH1cblxuLmZhLmZhLXNlbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDhcIjsgfVxuXG4uZmEuZmEtcGFwZXItcGxhbmUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXBhcGVyLXBsYW5lLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDhcIjsgfVxuXG4uZmEuZmEtc2VuZC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtc2VuZC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ4XCI7IH1cblxuLmZhLmZhLWNpcmNsZS10aGluIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtY2lyY2xlLXRoaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTFcIjsgfVxuXG4uZmEuZmEtaGVhZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRjXCI7IH1cblxuLmZhLmZhLXNsaWRlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZGVcIjsgfVxuXG4uZmEuZmEtZnV0Ym9sLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1mdXRib2wtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlM1wiOyB9XG5cbi5mYS5mYS1zb2NjZXItYmFsbC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtc29jY2VyLWJhbGwtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlM1wiOyB9XG5cbi5mYS5mYS1zbGlkZXNoYXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS10d2l0Y2gge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXllbHAge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLW5ld3NwYXBlci1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtbmV3c3BhcGVyLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWFcIjsgfVxuXG4uZmEuZmEtcGF5cGFsIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1nb29nbGUtd2FsbGV0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jYy12aXNhIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jYy1tYXN0ZXJjYXJkIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jYy1kaXNjb3ZlciB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtY2MtYW1leCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtY2MtcGF5cGFsIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jYy1zdHJpcGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWJlbGwtc2xhc2gtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWJlbGwtc2xhc2gtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNlwiOyB9XG5cbi5mYS5mYS10cmFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJlZFwiOyB9XG5cbi5mYS5mYS1jb3B5cmlnaHQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1leWVkcm9wcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZiXCI7IH1cblxuLmZhLmZhLWFyZWEtY2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmVcIjsgfVxuXG4uZmEuZmEtcGllLWNoYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAwXCI7IH1cblxuLmZhLmZhLWxpbmUtY2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDFcIjsgfVxuXG4uZmEuZmEtbGFzdGZtIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1sYXN0Zm0tc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1pb3hob3N0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1hbmdlbGxpc3Qge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWNjIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtY2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGFcIjsgfVxuXG4uZmEuZmEtaWxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBiXCI7IH1cblxuLmZhLmZhLXNoZWtlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwYlwiOyB9XG5cbi5mYS5mYS1zaGVxZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGJcIjsgfVxuXG4uZmEuZmEtbWVhbnBhdGgge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLW1lYW5wYXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI0XCI7IH1cblxuLmZhLmZhLWJ1eXNlbGxhZHMge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWNvbm5lY3RkZXZlbG9wIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1kYXNoY3ViZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZm9ydW1iZWUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWxlYW5wdWIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXNlbGxzeSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtc2hpcnRzaW5idWxrIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1zaW1wbHlidWlsdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtc2t5YXRsYXMge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWRpYW1vbmQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1kaWFtb25kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E1XCI7IH1cblxuLmZhLmZhLWludGVyc2V4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI0XCI7IH1cblxuLmZhLmZhLWZhY2Vib29rLW9mZmljaWFsIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1mYWNlYm9vay1vZmZpY2lhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5YVwiOyB9XG5cbi5mYS5mYS1waW50ZXJlc3QtcCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtd2hhdHNhcHAge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWhvdGVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM2XCI7IH1cblxuLmZhLmZhLXZpYWNvaW4ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLW1lZGl1bSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEteS1jb21iaW5hdG9yIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS15YyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEteWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2JcIjsgfVxuXG4uZmEuZmEtb3B0aW4tbW9uc3RlciB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtb3BlbmNhcnQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWV4cGVkaXRlZHNzbCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtYmF0dGVyeS00OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQwXCI7IH1cblxuLmZhLmZhLWJhdHRlcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDBcIjsgfVxuXG4uZmEuZmEtYmF0dGVyeS0zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQxXCI7IH1cblxuLmZhLmZhLWJhdHRlcnktMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0MlwiOyB9XG5cbi5mYS5mYS1iYXR0ZXJ5LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDNcIjsgfVxuXG4uZmEuZmEtYmF0dGVyeS0wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQ0XCI7IH1cblxuLmZhLmZhLW9iamVjdC1ncm91cCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLW9iamVjdC11bmdyb3VwIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtc3RpY2t5LW5vdGUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXN0aWNreS1ub3RlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDlcIjsgfVxuXG4uZmEuZmEtY2MtamNiIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jYy1kaW5lcnMtY2x1YiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtY2xvbmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1ob3VyZ2xhc3MtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWhvdXJnbGFzcy1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU0XCI7IH1cblxuLmZhLmZhLWhvdXJnbGFzcy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjUxXCI7IH1cblxuLmZhLmZhLWhvdXJnbGFzcy0yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjUyXCI7IH1cblxuLmZhLmZhLWhvdXJnbGFzcy0zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjUzXCI7IH1cblxuLmZhLmZhLWhhbmQtcm9jay1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtaGFuZC1yb2NrLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTVcIjsgfVxuXG4uZmEuZmEtaGFuZC1ncmFiLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1oYW5kLWdyYWItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1NVwiOyB9XG5cbi5mYS5mYS1oYW5kLXBhcGVyLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1oYW5kLXBhcGVyLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTZcIjsgfVxuXG4uZmEuZmEtaGFuZC1zdG9wLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1oYW5kLXN0b3AtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1NlwiOyB9XG5cbi5mYS5mYS1oYW5kLXNjaXNzb3JzLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1oYW5kLXNjaXNzb3JzLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTdcIjsgfVxuXG4uZmEuZmEtaGFuZC1saXphcmQtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWhhbmQtbGl6YXJkLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNThcIjsgfVxuXG4uZmEuZmEtaGFuZC1zcG9jay1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtaGFuZC1zcG9jay1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU5XCI7IH1cblxuLmZhLmZhLWhhbmQtcG9pbnRlci1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtaGFuZC1wb2ludGVyLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWFcIjsgfVxuXG4uZmEuZmEtaGFuZC1wZWFjZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtaGFuZC1wZWFjZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjViXCI7IH1cblxuLmZhLmZhLXJlZ2lzdGVyZWQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jcmVhdGl2ZS1jb21tb25zIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1nZyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZ2ctY2lyY2xlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS10cmlwYWR2aXNvciB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtb2Rub2tsYXNzbmlraSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtb2Rub2tsYXNzbmlraS1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWdldC1wb2NrZXQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXdpa2lwZWRpYS13IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1zYWZhcmkge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWNocm9tZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZmlyZWZveCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtb3BlcmEge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWludGVybmV0LWV4cGxvcmVyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS10ZWxldmlzaW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZjXCI7IH1cblxuLmZhLmZhLWNvbnRhbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtNTAwcHgge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWFtYXpvbiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtY2FsZW5kYXItcGx1cy1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtY2FsZW5kYXItcGx1cy1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjcxXCI7IH1cblxuLmZhLmZhLWNhbGVuZGFyLW1pbnVzLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jYWxlbmRhci1taW51cy1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjcyXCI7IH1cblxuLmZhLmZhLWNhbGVuZGFyLXRpbWVzLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jYWxlbmRhci10aW1lcy1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjczXCI7IH1cblxuLmZhLmZhLWNhbGVuZGFyLWNoZWNrLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jYWxlbmRhci1jaGVjay1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjc0XCI7IH1cblxuLmZhLmZhLW1hcC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtbWFwLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzlcIjsgfVxuXG4uZmEuZmEtY29tbWVudGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRhZFwiOyB9XG5cbi5mYS5mYS1jb21tZW50aW5nLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jb21tZW50aW5nLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YWRcIjsgfVxuXG4uZmEuZmEtaG91enoge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXZpbWVvIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS12aW1lbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3ZFwiOyB9XG5cbi5mYS5mYS1ibGFjay10aWUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZvbnRpY29ucyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtcmVkZGl0LWFsaWVuIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1lZGdlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jcmVkaXQtY2FyZC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWRcIjsgfVxuXG4uZmEuZmEtY29kaWVwaWUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLW1vZHgge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZvcnQtYXdlc29tZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtdXNiIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1wcm9kdWN0LWh1bnQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLW1peGNsb3VkIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1zY3JpYmQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXBhdXNlLWNpcmNsZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtcGF1c2UtY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOGJcIjsgfVxuXG4uZmEuZmEtc3RvcC1jaXJjbGUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXN0b3AtY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOGRcIjsgfVxuXG4uZmEuZmEtYmx1ZXRvb3RoIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1ibHVldG9vdGgtYiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZ2l0bGFiIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS13cGJlZ2lubmVyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS13cGZvcm1zIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1lbnZpcmEge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXdoZWVsY2hhaXItYWx0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS13aGVlbGNoYWlyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2OFwiOyB9XG5cbi5mYS5mYS1xdWVzdGlvbi1jaXJjbGUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXF1ZXN0aW9uLWNpcmNsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU5XCI7IH1cblxuLmZhLmZhLXZvbHVtZS1jb250cm9sLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmEwXCI7IH1cblxuLmZhLmZhLWFzbC1pbnRlcnByZXRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTNcIjsgfVxuXG4uZmEuZmEtZGVhZm5lc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTRcIjsgfVxuXG4uZmEuZmEtaGFyZC1vZi1oZWFyaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE0XCI7IH1cblxuLmZhLmZhLWdsaWRlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1nbGlkZS1nIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1zaWduaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE3XCI7IH1cblxuLmZhLmZhLXZpYWRlbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtdmlhZGVvLXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtc25hcGNoYXQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXNuYXBjaGF0LWdob3N0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1zbmFwY2hhdC1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXBpZWQtcGlwZXIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZpcnN0LW9yZGVyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS15b2FzdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtdGhlbWVpc2xlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1nb29nbGUtcGx1cy1vZmZpY2lhbCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZ29vZ2xlLXBsdXMtb2ZmaWNpYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjNcIjsgfVxuXG4uZmEuZmEtZ29vZ2xlLXBsdXMtY2lyY2xlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1nb29nbGUtcGx1cy1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjNcIjsgfVxuXG4uZmEuZmEtZm9udC1hd2Vzb21lIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1mYSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjRcIjsgfVxuXG4uZmEuZmEtaGFuZHNoYWtlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1oYW5kc2hha2UtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiNVwiOyB9XG5cbi5mYS5mYS1lbnZlbG9wZS1vcGVuLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1lbnZlbG9wZS1vcGVuLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjZcIjsgfVxuXG4uZmEuZmEtbGlub2RlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1hZGRyZXNzLWJvb2stbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWFkZHJlc3MtYm9vay1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI5XCI7IH1cblxuLmZhLmZhLXZjYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmJiXCI7IH1cblxuLmZhLmZhLWFkZHJlc3MtY2FyZC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtYWRkcmVzcy1jYXJkLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYmJcIjsgfVxuXG4uZmEuZmEtdmNhcmQtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXZjYXJkLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYmJcIjsgfVxuXG4uZmEuZmEtdXNlci1jaXJjbGUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXVzZXItY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYmRcIjsgfVxuXG4uZmEuZmEtdXNlci1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtdXNlci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA3XCI7IH1cblxuLmZhLmZhLWlkLWJhZGdlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZHJpdmVycy1saWNlbnNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmMyXCI7IH1cblxuLmZhLmZhLWlkLWNhcmQtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWlkLWNhcmQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjMlwiOyB9XG5cbi5mYS5mYS1kcml2ZXJzLWxpY2Vuc2UtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWRyaXZlcnMtbGljZW5zZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmMyXCI7IH1cblxuLmZhLmZhLXF1b3JhIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1mcmVlLWNvZGUtY2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtdGVsZWdyYW0ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXRoZXJtb21ldGVyLTQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzdcIjsgfVxuXG4uZmEuZmEtdGhlcm1vbWV0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzdcIjsgfVxuXG4uZmEuZmEtdGhlcm1vbWV0ZXItMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjOFwiOyB9XG5cbi5mYS5mYS10aGVybW9tZXRlci0yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmM5XCI7IH1cblxuLmZhLmZhLXRoZXJtb21ldGVyLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyY2FcIjsgfVxuXG4uZmEuZmEtdGhlcm1vbWV0ZXItMDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjYlwiOyB9XG5cbi5mYS5mYS1iYXRodHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmNkXCI7IH1cblxuLmZhLmZhLXMxNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjZFwiOyB9XG5cbi5mYS5mYS13aW5kb3ctbWF4aW1pemUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS13aW5kb3ctcmVzdG9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXRpbWVzLXJlY3RhbmdsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxMFwiOyB9XG5cbi5mYS5mYS13aW5kb3ctY2xvc2UtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXdpbmRvdy1jbG9zZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDEwXCI7IH1cblxuLmZhLmZhLXRpbWVzLXJlY3RhbmdsZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtdGltZXMtcmVjdGFuZ2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTBcIjsgfVxuXG4uZmEuZmEtYmFuZGNhbXAge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWdyYXYge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWV0c3kge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWltZGIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXJhdmVscnkge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWVlcmNhc3Qge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWVlcmNhc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGFcIjsgfVxuXG4uZmEuZmEtc25vd2ZsYWtlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1zbm93Zmxha2UtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkY1wiOyB9XG5cbi5mYS5mYS1zdXBlcnBvd2VycyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtd3BleHBsb3JlciB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtY2FiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJhXCI7IH1cbiIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnd29ya3NhbnMtbWVkaXVtJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvV29ya1NhbnMtTWVkaXVtLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnd29ya3NhbnMtbWVkaXVtaXRhbGljJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvV29ya1NhbnMtTWVkaXVtSXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuQG1peGluIGZvbnQtd29ya3NhbnMtbWVkaXVtIHtcbiAgZm9udC1mYWNlOiB3b3Jrc2Fucy1tZWRpdW0sIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufSBcbkBtaXhpbiBmb250LXdvcmtzYW5zLW1lZGl1bWl0YWxpYyB7XG4gIGZvbnQtZmFjZTogd29ya3NhbnMtbWVkaXVtaXRhbGljLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn0gXG5cblxuLy9cbi8vIG1vZHMgb24gZm9udHMgYW5kIHR5cG9ncmFwaHkgXG4vLyBub3QgaW4gZm91bmRhdGlvbiB2YXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vaDEsaDIsaDMsaDQsaDUsaDYsXG4vLy5oMSwuaDIsLmgzLC5oNCwuaDQsLmg1LC5oNixcbi8vYnV0dG9uLC5idXR0b24sXG4vL2hlYWRlciBuYXYsXG4vLy5oZXJvIC5jbGFpbVxuLy97XG4vLyAgZm9udC12YXJpYW50OmFsbC1zbWFsbC1jYXBzO1xuLy99XG4vL1xuLy9cbi8vaDEsaDIsaDMsaDQsaDUsaDYsXG4vLy5oMSwuaDIsLmgzLC5oNCwuaDQsLmg1LC5oNiB7XG4vLyAgYSB7XG4vLyAgICBjb2xvcjogJGJsYWNrO1xuLy8gIH1cbi8vfVxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjYuM1xuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gLS0tIERlcGVuZGVuY2llcyAtLS1cbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlLFxuICAkeHktZ3JpZDogJHh5LWdyaWRcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGlmICR4eS1ncmlkIHtcbiAgICAkeHktZ3JpZDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLy8gR2xvYmFsIHN0eWxlc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuICAvLyBHcmlkc1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIC8vIEJhc2ljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXG4gIC8vIENvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5cbiAgLy8gTGF5b3V0IGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cbiAgLy8gSGVscGVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4gIEBpZiAkZmxleCB7IEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzOyB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBIaURQSSBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcyBmb3IgcmVzb2x1dGlvbnMuXG4vLy8gVmFsdWVzIG11c3QgcmVwcmVzZW50IHRoZSBkZXZpY2UgcGl4ZWxzIC8gd2ViIHBpeGVscyByYXRpb24gYW5kIGJlIHVuaXRsZXNzIG9yIGluIERQUFguXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHMtaGlkcGk6IChcbiAgaGlkcGktMTogMSxcbiAgaGlkcGktMS01OiAxLjUsXG4gIGhpZHBpLTI6IDIsXG4gIHJldGluYTogMixcbiAgaGlkcGktMzogM1xuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBXZWIgc3RhbmRhcmQgUGl4ZWxzIHBlciBpbmNoLiAoMWRkcHggLyAkc3RkLXdlYi1kcGkpID0gMWRwaVxuICAvLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy12YWx1ZXMtMy8jYWJzb2x1dGUtbGVuZ3Roc1xuICAkc3RkLXdlYi1kcGk6IDk2O1xuXG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgb2YgdGhlIGZvbGxvd2luZyBicmVha3BvaW50XG4gICRicC1uZXh0OiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1pbjogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1pbi13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IG51bGw7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBJZiBuYW1lZCwgbmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuICAkbmFtZTogbnVsbDtcbiAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSBIaURQSSBicmVha3BvaW50XG4gICRoaWRwaTogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG5cbiAgLy8gSWYgYSBicmVha3BvaW50IG5hbWUgaXMgZ2l2ZW4sIGdldCBpdHMgdmFsdWUgZnJvbSB0aGUgJGJyZWFrcG9pbnRzLyRicmVha3BvaW50cy1oaWRwaSBtYXAuXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cy1oaWRwaSwgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cy1oaWRwaSwgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dC1udW1iZXIoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApO1xuICAgICAgJGhpZHBpOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyIGAkYnJlYWtwb2ludHNgIG9yIGAkYnJlYWtwb2ludHMtaGlkcGlgIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICBAaWYgbm90ICRuYW1lIGFuZCAkZGlyID09ICdvbmx5JyB7XG4gICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIE9ubHkgJ29ubHknIGFuZCAndXAnIGhhdmUgYSBtaW4gbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICd1cCcge1xuICAgICRicC1taW46IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gIH1cbiAgLy8gT25seSAnb25seScgYW5kICdkb3duJyBoYXZlIGEgbWF4IGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgdmFsdWUsIHVzZSBpdCBhcyBtYXggbGltaXQuXG4gICAgQGlmIG5vdCAkbmFtZSB7XG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICAgIH1cbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBuYW1lZCwgdGhlIG1heCBsaW1pdCBpcyB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnQgLSAxcHguXG4gICAgQGVsc2UgaWYgJGJwLW5leHQge1xuICAgICAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAgICAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgJGJwLW5leHQgLSAoMS8kc3RkLXdlYi1kcGkpLCAtemYtYnAtdG8tZW0oJGJwLW5leHQpIC0gMC4wMDEyNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJhdGUgdGhlIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIG1pbiBhbmQgbWF4IGxpbWl0cy5cbiAgQGlmICRoaWRwaSB7XG4gICAgLy8gR2VuZXJhdGUgdmFsdWVzIGluIERQSSBpbnN0ZWFkIG9mIERQUFggZm9yIGFuIElFOS0xMS9PcGVyYSBtaW5pIGNvbXBhdGliaWxpdHkuXG4gICAgLy8gU2VlIGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgICAkYnAtbWluLWRwaTogaWYoJGJwLW1pbiwgJGJwLW1pbiAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1taW4pO1xuICAgICRicC1tYXgtZHBpOiBpZigkYnAtbWF4LCAkYnAtbWF4ICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1heCk7XG4gICAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgsICctd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8nLCAnLXdlYmtpdC1tYXgtZGV2aWNlLXBpeGVsLXJhdGlvJyksXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLWRwaSwgJGJwLW1heC1kcGksICdtaW4tcmVzb2x1dGlvbicsICdtYXgtcmVzb2x1dGlvbicpLFxuICAgICAgJywgJyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCk7XG4gIH1cbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBhbmQgYCRicmVha3BvaW50cy1oaWRwaWAgbWFwcywgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIElmIG11bHRpcGxlIHZhbHVlcyBhcmUgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBnZW5lcmF0ZSBhIG1lZGlhIHF1ZXJ5IGZvciBlYWNoIG9mIHRoZW0gYXMgZGVzY3JpYmVkIGFib3ZlLlxuLy8vIFNpbmNlIHRoZSBjb250ZW50IGlzIGR1cGxpY2F0ZWQgZm9yIGVhY2ggYnJlYWtwb2ludCwgdGhpcyBtaXhpbiBzaG91bGQgb25seSBiZSB1c2VkIHdpdGggcHJvcGVydGllcyB0aGF0XG4vLy8gY2hhbmdlIGFjcm9zcyBicmVha3BvaW50cy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZXMuLi4gLSBCcmVha3BvaW50IG5hbWUgb3IgcHgvcmVtL2VtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZXMuLi4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHZhbHVlcykge1xuICAgICR2YWx1ZTogbnRoKCR2YWx1ZXMsICRpKTtcbiAgICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsIG50aCgkdmFsdWUsIDEpKTtcbiAgICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcbiAgICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAgICRkaXI6IGlmKGxlbmd0aCgkdmFsdWUpID4gMSwgbnRoKCR2YWx1ZSwgMiksIHVwKTtcblxuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAgIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAgIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICAgIC8vIGdlbmVyYXRlIHByaW50IGlmIHRoZSBicmVha3BvaW50IGFmZmVjdHMgdGhlIHByaW50LWJyZWFrcG9pbnQgKG9yIHNtYWxsZXIpLlxuICAgICAgLy8gVGhpcyBtZWFucyB0aGUgY3VycmVudCBjb25kaXRpb24gb25seSBuZWVkcyB0byBiZSBleHRlbmRlZCBzbyAnZG93bicgYWx3YXlzIGdlbmVyYXRlcyBwcmludC5cbiAgICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgKCRicCA8PSAkcGJwIG9yICRkaXIgPT0gZG93bikge1xuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJ0cyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBudW1iZXIgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgbnVtYmVyIGZvbGxvd2luZyBgJG51bWJlcmAsIGlmIGAkbnVtYmVyYCB3YXMgZm91bmQuIElmIGAkbnVtYmVyYCB3YXMgbm90IGZvdW5kLCBvciBgJG51bWJlcmAgd2FzIHRoZSBiaWdnZXN0IG51bWJlciBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQtbnVtYmVyKCRtYXAsICRudW1iZXIpIHtcblxuICAkbmV4dF9udW1iZXI6IG51bGw7XG5cbiAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgIEBpZiB0eXBlLW9mKCR2KSA9PSAnbnVtYmVyJyBhbmQgJHYgPiAkbnVtYmVyIGFuZCAoJG5leHRfbnVtYmVyID09IG51bGwgb3IgJHYgPCAkbmV4dF9udW1iZXIpIHtcbiAgICAgICRuZXh0X251bWJlcjogJHY7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV4dF9udW1iZXI7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuLy8vIFJldHVybiB0aGUgYmVzdCBicmVha3BvaW50IHRvIHVzZSBhY2NvcmRpbmcgdG8gdGhlIGNhbGxpbmcgY29udGV4dC4gSXQgcmV0dXJucyBpbiBvcmRlcjpcbi8vLyAxLiB0aGUgZ2l2ZW4gYCR2YWx1ZWAgYXJndW1lbnQgaWYgaXQgaXMgbm90IG51bGwuXG4vLy8gMi4gdGhlIGdsb2JhbCBicmVha3BvaW50IGNvbnRleHQgYCQtemYtc2l6ZWAgaWYgaXQgaXMgbm90IG51bGwgKGxpa2UgaWYgY2FsbGVkIGluc2lkZSB0aGVuIGBicmVha3BvaW50KClgIG1peGluKVxuLy8vIDMuIHRoZSBnaXZlbiBgJGRlZmF1bHRgIGFyZ3VtZW50LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgaW4gcHJpb3JpdHkgaWYgbm9uLW51bGwuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGVmYXVsdCBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBieSBkZWZhdWx0IGlmIG5vIG90aGVyIHZhbHVlIGNhbiBiZSB1c2VkLlxuLy8vXG4vLy8gQHJldHVybiB7S2V5d29yZH0gVGhlIHJlc29sdmVkIGJyZWFrcG9pbnQuXG5AZnVuY3Rpb24gLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkdmFsdWU6IG51bGwsICRkZWZhdWx0OiBudWxsKSB7XG4gIEBpZiAoJHZhbHVlICE9IG51bGwpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuICBAZWxzZSBpZiAodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgIEByZXR1cm4gJC16Zi1zaXplO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRkZWZhdWx0O1xuICB9XG59XG5cbi8vLyBSZXR1cm4gbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gdGhlIGdpdmVuIG1pbiBhbmQvb3IgbWF4IGxpbWl0cy5cbi8vLyBJZiBhIGxpbWl0IGlzIGVxdWFsIHRvIGBudWxsYCBvciBgMGAsIGl0IGlzIGlnbm9yZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1pbiBbMF0gLSBNaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggWzBdIC0gTWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWluLW5hbWUgWydtaW4td2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlbGltaXRlciBbJ21heC13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gTWVkaWEgUXVlcnkgc3RyaW5nLlxuQGZ1bmN0aW9uIC16Zi1icC1qb2luKFxuICAkbWluOiAwLFxuICAkbWF4OiAwLFxuICAkbWluLW5hbWU6ICdtaW4td2lkdGgnLFxuICAkbWF4LW5hbWU6ICdtYXgtd2lkdGgnXG4pIHtcbiAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICBpZigkbWluIGFuZCAkbWluID4gMCwgJygjeyRtaW4tbmFtZX06ICN7JG1pbn0pJywgbnVsbCksXG4gICAgaWYoJG1heCBhbmQgJG1heCA+IDAsICcoI3skbWF4LW5hbWV9OiAjeyRtYXh9KScsIG51bGwpLFxuICAgICcgYW5kICcpO1xufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbi8vIFRoaXMgc2hvdWxkIGJlIGluIHRoZSBzYW1lIGJyZWFrcG9pbnQgdGhlbiBgQG1peGluIHJldmVhbC1tb2RhbC13aWR0aGBcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIC8vIEV4dGVuZHMgbXVzdCBiZSBtYWRlIG91dHNpZGUgb2YgYnJlYWtwb2ludHMgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBuZXdlciBTYXNzIHZlcnNpb25zIChsaWJzYXNzIHYzLjUpXG4gIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuXG4gIC8vLyBEaXNhYmxlcyB0aGUgc2Nyb2xsIHdoZW4gUmV2ZWFsIGlzIHNob3duIHRvIHByZXZlbnQgdGhlIGJhY2tncm91bmQgZnJvbSBzaGlmdGluZ1xuICBodG1sLmlzLXJldmVhbC1vcGVuIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gICAgJi56Zi1oYXMtc2Nyb2xsIHtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB9XG5cbiAgICBib2R5IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbm9ybWFsaXplKCkge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLy8gRG9jdW1lbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuXG4gIGh0bWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG4gIH1cblxuICAvLyBTZWN0aW9uc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cblxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gIC8vIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG4gIH1cblxuICAvLyBHcm91cGluZyBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gICAgaGVpZ2h0OiAwOyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBwcmUge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBUZXh0LWxldmVsIHNlbWFudGljc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gIC8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8vIDFcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgY29kZSxcbiAga2JkLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gIC8vIGFsbCBicm93c2Vycy5cblxuICBzdWIsXG4gIHN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIC8vIEVtYmVkZGVkIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuXG4gIGltZyB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICB9XG5cbiAgLy8gRm9ybXNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMTAwJTsgLy8gMVxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgbWFyZ2luOiAwOyAvLyAyXG4gIH1cblxuICAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgLy8gMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cblxuICBidXR0b24sXG4gIGlucHV0IHsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gIC8vIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cblxuICBidXR0b24sXG4gIHNlbGVjdCB7IC8vIDFcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG5cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBmaWVsZHNldCB7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAvLyAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gIC8vICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGxlZ2VuZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDFcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAzXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblxuICBwcm9ncmVzcyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG5cbiAgdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gIC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cblxuICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gMlxuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cblxuICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxuICAgIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgfVxuXG4gIC8vIEludGVyYWN0aXZlXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cblxuICBkZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cblxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIH1cblxuICAvLyBNaXNjXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuXG4gIHRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG5cbiAgW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlIHRoYXQgY29udGFpbnMgdGhlIGZsZXgganVzdGlmeWluZyBvcHRpb25zXG4kLXpmLWZsZXgtanVzdGlmeTogLXpmLWZsZXgtanVzdGlmeSgkZ2xvYmFsLXRleHQtZGlyZWN0aW9uKTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDYXJkXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxuLy8gIDE2LiBEcmlsbGRvd25cbi8vICAxNy4gRHJvcGRvd25cbi8vICAxOC4gRHJvcGRvd24gTWVudVxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gIDIwLiBGb3Jtc1xuLy8gIDIxLiBMYWJlbFxuLy8gIDIyLiBNZWRpYSBPYmplY3Rcbi8vICAyMy4gTWVudVxuLy8gIDI0LiBNZXRlclxuLy8gIDI1LiBPZmYtY2FudmFzXG4vLyAgMjYuIE9yYml0XG4vLyAgMjcuIFBhZ2luYXRpb25cbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vICAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vICAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAgMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vICA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vICA0Ny4gUmV2ZWFsXG4vLyAgNDguIFNsaWRlclxuLy8gIDQ5LiBTd2l0Y2hcbi8vICA1MC4gVGFibGVcbi8vICA1MS4gVGFic1xuLy8gIDUyLiBUaHVtYm5haWxcbi8vICA1My4gVGl0bGUgQmFyXG4vLyAgNTQuIFRvb2x0aXBcbi8vICA1NS4gVG9wIEJhclxuLy8gIDU2LiBYeSBHcmlkXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cblxuLy8gMC4gYXJjSElWRSBzcGVjaWZpYyBzdHlsZXNcbi8vIC0tLS0tLS0tLVxuLy8gZ2xvYmFsIHByb2plY3Qgc3R5bGVzXG5AaW1wb3J0IFwiZ2xvYmFsL2NvbG9yc1wiO1xuQGltcG9ydCBcImdsb2JhbC90eXBvZ3JhcGh5XCI7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOjEwMCU7IFxuJGdsb2JhbC13aWR0aDogMTAwdnc7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcblxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAkaHlwZXJsaW5rLWJsdWUsXG4gIHNlY29uZGFyeTogJGRlc2VydC1yZWQsXG4gIHN1Y2Nlc3M6ICRhY2lkLWdyZWVuLFxuICB3YXJuaW5nOiAkYmxvb2R5LXJlZCxcbiAgYWxlcnQ6ICRibG9vZHktcmVkLFxuKTtcbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xuJG1lZGl1bS1ncmF5OiAjY2FjYWNhO1xuJGRhcmstZ3JheTogIzhhOGE4YTtcbiRibGFjazogIzBhMGEwYTtcbiR3aGl0ZTogI2ZlZmVmZTtcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjaztcbiRib2R5LWZvbnQtZmFtaWx5OiB3b3Jrc2Fucy1tZWRpdW0sIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMnJlbTtcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtcmFkaXVzLWFyY2hpdmU6IDJyZW07XG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG4kcHJpbnQtaHJlZnM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbik7XG4kYnJlYWtwb2ludHMtaGlkcGk6IChcbiAgaGlkcGktMTogMSxcbiAgaGlkcGktMS01OiAxLjUsXG4gIGhpZHBpLTI6IDIsXG4gIHJldGluYTogMixcbiAgaGlkcGktMzogM1xuKTtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAzNiksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAzMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAyMyksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNTgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNTIpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJGRhcmstZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGVuYWJsZS1jb2RlLWlubGluZTogdHJ1ZTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3ZlcjogJHByaW1hcnktY29sb3I7Ly9zY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGVuYWJsZS1jaXRlLWJsb2NrOiB0cnVlO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRjb2RlLWJsb2NrLXBhZGRpbmc6IDFyZW07XG4kY29kZS1ibG9jay1tYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6ICdcXDAwMkInO1xuJGFjY29yZGlvbi1taW51cy1jb250ZW50OiAnXFwyMDEzJztcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3Zlcjogbm9uZTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcqMS41IDA7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogbm9uZTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcqMS41IDA7XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGJ1dHRvbi1mb250LXdlaWdodDogbnVsbDtcbiRidXR0b24tZm9udC12YXJpYW50OiBhbGwtcGV0aXRlLWNhcHM7XG4kYnV0dG9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAkZ2xvYmFsLXBhZGRpbmcqMztcbiRidXR0b24tbWFyZ2luOiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzLWFyY2hpdmU7XG4kYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAycHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDEuMnJlbSxcbiAgbGFyZ2U6IDEuNXJlbSxcbik7XG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2U7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1zaXplczogKFxuICBzbWFsbDogMC41cmVtLFxuICBkZWZhdWx0OiAxcmVtLFxuICBsYXJnZTogM3JlbSxcbik7XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDYXJkXG4vLyAtLS0tLS0tLVxuXG4kY2FyZC1iYWNrZ3JvdW5kOiB1bnNldDtcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiBub25lO1xuJGNhcmQtc2hhZG93OiBub25lO1xuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcqNDtcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luKjI7XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tei1pbmRleDogMTA7XG4kY2xvc2VidXR0b24tZGVmYXVsdC1zaXplOiBtZWRpdW07XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjIuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjMuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvcjogJGJsYWNrO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICRhbmNob3ItY29sb3I7XG4kbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmU6ICRibGFjaztcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWFuY2hvci1jb2xvcjogJGJsYWNrO1xuJG1lbnUtYW5jaG9yLWNvbG9yLWhvdmVyOiAkYW5jaG9yLWNvbG9yO1xuLy8gMjQuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNS4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcblxuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNy4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG4kcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91czogJ1xcMDBBQic7XG4kcGFnaW5hdGlvbi1hcnJvdy1uZXh0OiAnXFwwMEJCJztcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbik7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pO1xuXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbik7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7XG5cbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pO1xuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbik7XG5cbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XG5cbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKTtcblxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcbiAgbG93ZXJjYXNlLFxuICB1cHBlcmNhc2UsXG4gIGNhcGl0YWxpemVcbik7XG5cbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiAxNiBieSA5LFxuICBzdGFuZGFyZDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuICBjbGFzc2ljZmlsbTogMyBieSAyLFxuKTtcblxuLy8gNDcuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkOiAuNTtcbiRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcblxuLy8gNTAuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlOiBldmVuO1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpO1xuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDUxLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gNTIuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGh1bWJuYWlsLWJvcmRlcjogNHB4IHNvbGlkICR3aGl0ZTtcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDUzLiBUaXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0aXRsZWJhci1jb2xvcjogJGJsYWNrO1xuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xuJHRpdGxlYmFyLWljb24tY29sb3I6ICRibGFjaztcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyA1NC4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtY3Vyc29yOiBoZWxwO1xuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDU1LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTYuIFh5IEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiR4eS1ncmlkOiB0cnVlO1xuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uczogMTI7XG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4XG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiAxcHggI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiAxcHggI3skaW1wb3J0YW50fTtcbiAgcGFkZGluZzogMCAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogaGlkZGVuICN7JGltcG9ydGFudH07XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCkgI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAjeyRpbXBvcnRhbnR9O1xuICBib3JkZXI6IDAgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZihcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogc3RhdGljICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiBhdXRvICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogdmlzaWJsZSAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiBhdXRvICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludChcbiAgJHNtYWxsOiB0cnVlLFxuICAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWVcbikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKGF1dG8sIC16Zi1ib29sKCRzbWFsbCksIC16Zi1ib29sKCRhdXRvLWluc2VydC1icmVha3BvaW50cykpIHtcbiAgICBAY29udGVudFxuICB9O1xufVxuXG4vLy8gSXRlcmF0ZXMgd2l0aCBgQGNvbnRlbnRgIHRocm91Z2ggdGhlIGdpdmVuIGxpc3Qgb2YgYnJlYWtwb2ludHMgYCRicmVha3BvaW50c2AuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYnJlYWtwb2ludHMgW2F1dG9dIC0gQnJlYWtwb2ludHMgdG8gaXRlcmF0ZXMgb24uIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58TnVsbH0gJHplcm8tYnJlYWtwb2ludCBbbnVsbF0gLSBXaGV0aGVyIHRoZSB6ZXJvLWJyZWFrcG9pbnQgKG9mdGVuIGBzbWFsbGApIG11c3QgYmUgaW5jbHVkZWQuIElmIGB0cnVlYCwgaXQgd2lsbCBhbHdheXMgYmUgYWRkZWQgdG8gdGhlIGxpc3QgaWYgbm90IGFscmVhZHkgdGhlcmUuIElmIGBmYWxzZWAsIGl0IHdpbGwgYWx3YXlzIGJlIHJlbW92ZWQuIERvZXMgbm90aGluZyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxLZXl3b3JkfSAkbWVkaWEtcXVlcmllcyBbdHJ1ZV0gLSBXaGV0aGVyIG1lZGlhLXF1ZXJpZXMgbXVzdCBiZSBnZW5lcmF0ZWQuIElmIGBmb3ItbGlzdHNgLCBvbmx5IGdlbmVyYXRlIG1lZGlhLXF1ZXJpZXMgd2hlbiBgJGJyZWFrcG9pbnRzYCBpcyBhIGxpc3QuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludC1pbihcbiAgJGJyZWFrcG9pbnRzOiBhdXRvLFxuICAkemVyby1icmVha3BvaW50OiBudWxsLFxuICAkbWVkaWEtcXVlcmllczogdHJ1ZVxuKSB7XG4gICQtbGlzdDogKCk7XG4gICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiB0cnVlO1xuXG4gIC8vIFJldHJpZXZlIHRoZSBsaXN0IG9mIGJyZWFrcG9pbnQocykgdG8gaXRlcmF0ZSBvbi5cbiAgQGlmICRicmVha3BvaW50cyA9PSBhdXRvIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdsaXN0JyB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludHM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdzdHJpbmcnIHtcbiAgICAkLWxpc3Q6ICgkYnJlYWtwb2ludHMpO1xuICAgICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiBmYWxzZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiJGJyZWFrcG9pbnRzXCIgaW4gXCItemYtZWFjaC1icmVha3BvaW50LWluKClcIi4gR290IFwiI3skYnJlYWtwb2ludHN9XCIgKCN7dHlwZS1vZigkYnJlYWtwb2ludHMpfSkuIEV4cGVjdGVkIGEgYnJlYWtwb2ludCBuYW1lLCBhIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgXCJhdXRvXCInO1xuICB9XG5cbiAgLy8gQWRkIG9yIHJlbW92ZSB0aGUgemVybyBicmVha3BvaW50IGFjY29yZGluZyB0byBgJHplcm8tYnJlYWtwb2ludGBcbiAgQGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gdHJ1ZSB7XG4gICAgJC1saXN0OiBqb2luKCgkLXpmLXplcm8tYnJlYWtwb2ludCksIHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KSk7XG4gIH1cbiAgQGVsc2UgaWYgJHplcm8tYnJlYWtwb2ludCA9PSBmYWxzZSB7XG4gICAgJC1saXN0OiBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBJdGVyYXRlIG9uIGJyZWFrcG9pbnQocylcbiAgQGVhY2ggJGJwIGluICQtbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkYnAgIWdsb2JhbDtcblxuICAgIEBpZiAoJG1lZGlhLXF1ZXJpZXMgPT0gdHJ1ZVxuICAgICAgb3IgKCRtZWRpYS1xdWVyaWVzID09ICdmb3ItbGlzdHMnIGFuZCAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdCkpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRicC12YWx1ZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgICAgQGlmICRicC12YWx1ZSAhPSBudWxsIHtcbiAgICAgICAgJG5hbWU6ICRicC12YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldCdzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlciB0aGFuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqICRpbnB1dC1saW5lLWhlaWdodCkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcblxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgfVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgJjpub3QoW211bHRpcGxlXSkge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIkc3RvbmUtZ3JleTogI0NDQ0NDQztcbiRhY2lkLWdyZWVuOiAjNjlFMzQ0O1xuJGJ1YmJsZWd1bS1waW5rOiAjRjA5NkY5O1xuJGRlc2VydC1yZWQ6ICNENzU5MzA7XG4kbXVzdGFyZC15ZWxsb3c6ICNGNUMwNDI7XG4kYmVhY2gtYmx1ZTogIzVDQzhEMTtcbiRoeXBlcmxpbmstYmx1ZTogIzAwMDBERDtcbiRibG9vZHktcmVkOiAjRDMyRDFGO1xuJG1pZC1ncmV5OiAjODA4MDgwO1xuJGFudHJhY2l0ZS1ncmV5OiAjMzMzMzMzO1xuJGZvcmVzdC1ncmVlbjogIzFFNjA0MTtcbiRyYXNwYmVycnktcHVycGxlOiAjNTQzNjdCO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpO1xuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFVzZSB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y29kZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWU7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudCBhcyBkZWZhdWx0IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIElubGluZSBDaXRhdGlvbnNcbiAgQGlmICgkZW5hYmxlLWNpdGUtYmxvY2sgPT0gdHJ1ZSkge1xuICAgIGNpdGUge1xuICAgICAgLy8gRXh0ZW5kaW5nIGEgY2xhc3MgaXMgbm90IHJlY29tbWVuZGVkLlxuICAgICAgLy8gVE9ETzogQnJlYWsgdGhlIHR5cG9ncmFwaHktYmFzZS90eXBvZ3JhcGh5LWhlbHBlcnMgc2VwYXJhdGlvblxuICAgICAgQGV4dGVuZCAuY2l0ZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb2RlXG4gIEBpZiAoJGVuYWJsZS1jb2RlLWlubGluZSA9PSB0cnVlKSB7XG4gICAgY29kZSB7XG4gICAgICBAZXh0ZW5kIC5jb2RlLWlubGluZTtcbiAgICB9XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1pbmxpbmVgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIHVuZGVyIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGNpdGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICRjaXRlLWNvbG9yO1xuICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZCBiYXNpYyBzdHlsZXMgZm9yIGEgY29kZSBoZWxwZXIuXG4vLy8gU2VlIGBjb2RlLWlubGluZWAgYW5kIGBjb2RlLWJsb2NrYCBtaXhpbnMuXG5AbWl4aW4gY29kZS1zdHlsZSB7XG4gIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBpbmxpbmUuXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtaW5saW5lYFxuQG1peGluIGNvZGUtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gYSBibG9jay5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1ibG9ja2BcbkBtaXhpbiBjb2RlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuXG4gIHBhZGRpbmc6ICRjb2RlLWJsb2NrLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206ICRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b207XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5jaXRlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjaXRlLWJsb2NrO1xuICB9XG5cbiAgLmNvZGUtaW5saW5lIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtaW5saW5lO1xuICB9XG5cbiAgLmNvZGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1ibG9jaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheXMgbmV4dCB0byBhbGwgbGlua3MgdGhlaXIgXCJocmVmXCIgd2hlbiBwcmludGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgLy8gRW5zdXJlIGEgXCJibGFjay1vbi13aGl0ZVwiIHByaW50IGJ5IHJlbW92aW5nIGJhY2tncm91bmRzLFxuICAgICAgLy8gdXNpbmcgYmxhY2sgdGV4dCBldmVyeXdoZXJlIGFuZCBmb3JjaW5nIHRoZSBicm93c2VyIHRvIGVjb25vbWl6ZSBpbmsuXG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgICAgY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgICAgfVxuICAgICAgLy8gT3RoZXJ3aXNlLCBwcmV2ZW50IGFueSBlY29ub215IGJ5IHRoZSBicm93c2VyLlxuICAgICAgQGVsc2Uge1xuICAgICAgICBjb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbChmdWxsLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHZlcnRpY2FsOiAkdmVydGljYWwsICRvdXRwdXQ6IChzaXplIGd1dHRlcnMpKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHZlcnRpY2FsOiAkdmVydGljYWwsICRvdXRwdXQ6IChzaXplIGd1dHRlcnMpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgYWxsIHByaW9yIGJyZWFrcG9pbnRzLlxuICAgICAgLy8gQXMgdGhlaXIgZ3V0dGVyIGlzIGRlZmluZWQgd2l0aCB0aGVpciB3aWR0aC9oZWlnaHQsIGV2ZW4gYnJlYWtwb2ludCB3aXRob3V0IGEgbmV3IG1hcmdpbiBtdXN0IGJlXG4gICAgICAvLyBnZW5lcmF0ZWQgdG8gbm90IGhhdmluZyB0aGVpciB3aWR0aC9oZWlnaHQgb3ZlcnJpZGVkIGJ5IHJlLWFkanVzdGVkIHNtYWxsZXIgYnJlYWtwb2ludHMuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogcGFkZGluZywgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBtYXJnaW4sICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBtYXJnaW4sICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICAgID4gLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgfVxuXG59XG5cbkBtaXhpbiB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQ6IHRydWUsICRtYXJnaW4tZ3JpZDogdHJ1ZSkge1xuICAvLyBGcmFtZWQgZ3JpZCBzdHlsZXNcbiAgLmdyaWQtZnJhbWUge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gIH1cblxuICAuY2VsbCAuZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gIH1cblxuICAuY2VsbC1ibG9jayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICB9XG5cbiAgLmNlbGwtYmxvY2steSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgfVxuXG5cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICB9XG5cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG5cbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgICB9XG5cbiAgICAuY2VsbCAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLXkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xuICAgIC5ncmlkLXkge1xuICAgICAgJi5ncmlkLWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgJi4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgLmdyaWQteS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGluY2x1ZGUtYmFzZTogZmFsc2UpO1xuICAgIH1cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAuZ3JpZC1tYXJnaW4teS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmluYWwgY2xhc3Nlc1xuQG1peGluIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzKFxuICAkYmFzZS1ncmlkOiB0cnVlLFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWUsXG4gICRibG9jay1ncmlkOiB0cnVlLFxuICAkY29sbGFwc2U6IHRydWUsXG4gICRvZmZzZXQ6IHRydWUsXG4gICR2ZXJ0aWNhbC1ncmlkOiB0cnVlLFxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICBAaWYoJGJhc2UtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJhc2UtZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBNYXJnaW4gZ3JpZFxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gUGFkZGluZyBncmlkXG4gIEBpZigkcGFkZGluZy1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWRcbiAgQGlmKCRibG9jay1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBDb2xsYXBzZSBndXR0ZXJzXG4gIEBpZigkY29sbGFwc2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIE9mZnNldCBndXR0ZXJzXG4gIEBpZigkb2Zmc2V0KSB7XG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JpZFxuICBAaWYoJHZlcnRpY2FsLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIEBpZiAoJGZyYW1lLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQsICRtYXJnaW4tZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskZ3JpZC1jb250YWluZXItcGFkZGluZ10gLSBwYWRkaW5ncyBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgZmxleCB2YWx1ZSBmb3IgYSBjZWxsIGJhc2UuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBUaGUgY2VsbCBmbGV4IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gMSAxIDBweDtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2dyb3cnKSB7XG4gICAgQHJldHVybiAxIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3Nocmluaycgb3IgJHNpemUgPT0gJ2Z1bGwnIG9yIHpmLWlzLWZyYWN0aW9uKCRzaXplLCAkYWxsb3ctbm8tZGVub21pbmF0b3I6IHRydWUpKSB7XG4gICAgQHJldHVybiAwIDAgYXV0bztcbiAgfVxuICBAcmV0dXJuIG51bGw7XG59XG5cbi8vLyBDYWxjdWxhdGUgdGhlIHNpemUgb2YgYSBjZWxsIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcCBgJGd1dHRlcnNgLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfE1hcH0gVGhlIGNlbGwgZ3V0dGVyIHNpemUgb3IgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAuXG5AZnVuY3Rpb24geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgLy8gRm9yIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBtYXAgYCRndXR0ZXJzYC5cbiAgQGlmICgkYnJlYWtwb2ludCA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuICRndXR0ZXJzO1xuICB9XG5cbiAgLy8gVXNlIHRoZSBjb250ZXh0dWFsIGJyZWFrcG9pbnQgYnkgZGVmYXVsdC5cbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpO1xuXG4gIEBpZiAoJGJyZWFrcG9pbnQpIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtemVyby1icmVha3BvaW50KSBvciAwO1xuICB9XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzNgLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gU2l6ZSBvZiB0aGUgY2VsbCAoaW4gcGVyY2VudCkuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIEByZXR1cm4gZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgkc2l6ZSwgJGRlbm9taW5hdG9yOiAkZ3JpZC1jb2x1bW5zKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSBmb3IgYSBjZWxsIHNpemUuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2Agb3IgYW55IGZyYWN0aW9uIGxpa2UgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgYSBtYXAgb2Ygc2l6ZXMgYWRhcHRlZCB0byByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfE1hcH0gVGhlIGNlbGwgc2l6aW5nIHByb3BlcnR5IHZhbHVlLCBvciBhIHJlc3BvbnNpdmUgbWFwIG9mIHRoZW0uXG5AZnVuY3Rpb24geHktY2VsbC1zaXplLWNzcyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJG1hcmdpbi1ndXR0ZXI6IDA7XG5cbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycgb3IgJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBAcmV0dXJuIGF1dG87XG4gIH1cblxuICAvLyBGb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycywgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgJG1hcmdpbi1ndXR0ZXI6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAgIEBpZiAoJG1hcmdpbi1ndXR0ZXIgPT0gbnVsbCkge1xuICAgICAgQGVycm9yICd4eS1jZWxsLXNpemU6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgICB9XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgc2l6ZSAobnVtYmVyKVxuICAkc2l6ZS1yYXc6IGlmKCRzaXplID09ICdmdWxsJywgMTAwJSwgeHktY2VsbC1zaXplKCRzaXplKSk7XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIENTUyBzaXplIGluY2x1ZGluZyBndXR0ZXJzIChzdHJpbmcpXG4gIC8vIElmIHRoZSBjZWxsIGhhcyByZXNwb25zaXZlIG1hcmdpbiBndXR0ZXJzLCByZXR1cm4gYSByZXNwb25zaXZlIG1hcCBvZiBzaXplcy5cbiAgQGlmIHR5cGUtb2YoJG1hcmdpbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6ICgpO1xuXG4gICAgQGVhY2ggJGJwLCAkbWcgaW4gJG1hcmdpbi1ndXR0ZXIge1xuICAgICAgJHNpemUtY3NzOiBpZigkbWcgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7cmVtLWNhbGMoJG1nKX0pKTtcbiAgICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogbWFwLW1lcmdlKCRyZXNwb25zaXZlLWNzcy1zaXplcywgKCRicDogJHNpemUtY3NzKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gYSBzaW5nbGUgQ1NTIHNpemUuXG4gIEBlbHNlIHtcbiAgICAkY3NzLXNpemU6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICBAcmV0dXJuICRjc3Mtc2l6ZTtcbiAgfVxufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgJGJhc2U6IHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgZmxleDogI3skYmFzZX07XG5cbiAgLy8gU2V0IGJhc2Ugc3R5bGVzIGZvciBcImZ1bGxcIiBvbmx5XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICBtYXgtI3skZGlyZWN0aW9ufTogbm9uZTtcbn1cblxuLy8vIFNldHMgc2l6aW5nIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgc2l6ZXMgYWRhcHRlZCBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemVzOiB4eS1jZWxsLXNpemUtY3NzKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcblxuICBAaWYgKHR5cGUtb2YoJHNpemVzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRzaXplcykge1xuICAgICAgI3skZGlyZWN0aW9ufTogJC16Zi1icC12YWx1ZTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICN7JGRpcmVjdGlvbn06ICRzaXplcztcbiAgfVxufVxuXG4vLy8gU2V0cyBndXR0ZXJzIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gRGlyZWN0aW9uIG9mIHRoZSBndXR0ZXJzIHRvIG91dHB1dC4gU2VlIGAkZ3V0dGVyLXBvc2l0aW9uYC5cbkBtaXhpbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgLy8gR2V0IHRoZSBkZWZhdWx0IGd1dHRlciBwb3NpdGlvbiBhY2NvcmRpbmcgdG8gY2VsbCBkaXJlY3Rpb25cbiAgQGlmKCRndXR0ZXItcG9zaXRpb24gPT0gbnVsbCkge1xuICAgICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcbiAgfVxuXG4gIC8vIEdldCB0aGUgZ3V0dGVyIHdpZHRoIGZvciB0aGlzIGJyZWFrcG9pbnRcbiAgJGd1dHRlci13aWR0aDogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIEBpZiAoJGd1dHRlci13aWR0aCA9PSBudWxsKSB7XG4gICAgQGVycm9yICd4eS1jZWxsLWd1dHRlcnM6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgfVxuXG4gIEBpZiAoJGd1dHRlci10eXBlIGFuZCAkZ3V0dGVyLXR5cGUgIT0gbm9uZSkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci13aWR0aCwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBwcm9wZXJseSBvdGhlcndpc2UuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gIC8vIERlZmF1bHQgZm9yICRndXR0ZXItb3V0cHV0XG4gIEBpZiAoJGd1dHRlci1vdXRwdXQgIT0gbnVsbCkge1xuICAgIEB3YXJuICd4eS1jZWxsOiAkZ3V0dGVyLW91dHB1dCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG4gICAgQGlmICgkZ3V0dGVyLW91dHB1dCA9PSBmYWxzZSkge1xuICAgICAgJG91dHB1dDogc2wtcmVtb3ZlKCRvdXRwdXQsIGd1dHRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgYmFzZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgc2l6ZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgZ3V0dGVycykpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBgeHktY2VsbC1zdGF0aWMoKWAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLlxuLy8vIFVzZSBgeHktY2VsbCgpYCBpbnN0ZWFkIHdpdGggYCRvdXRwdXQ6IChzaXplIGd1dHRlcnMpYCB0byBub3QgZ2VuZXJhdGUgdGhlIGNlbGwgYmFzZS5cbi8vLyBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTBcbi8vL1xuLy8vIEBkZXByZWNhdGVkIHY2LjYuMFxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuIEFsd2F5cyBgdHJ1ZWAgZm9yIG1hcmdpbiBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQHdhcm4gJ3h5LWNlbGwtc3RhdGljKCkgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgXCJ4eS1jZWxsKClcIiBpbnN0ZWFkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICAkLWd1dHRlci1vdXRwdXQ6IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgdHJ1ZSwgJGd1dHRlci1vdXRwdXQpO1xuICAkLWd1dHRlci1tYXJnaW46IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgJGd1dHRlciwgMCk7XG5cbiAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJC1ndXR0ZXItbWFyZ2luLCAkdmVydGljYWwpO1xuICBAaWYgKCQtZ3V0dGVyLW91dHB1dCkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuXG4vLy8gUGFyc2UgdGhlIGdpdmVuIGAkZnJhY3Rpb25gIHRvIG51bWVyYXRvcnMgYW5kIGRlbnVtZXJhdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJGZyYWN0aW9uIC0gVmFsdWUgcmVwcmVzZW50aW5nIGEgZnJhY3Rpb24gdG8gcGFyc2UuIEl0IGNhbiBiZSBmb3JtYXR0ZWQgYXMgYDUwJWAsIGAxIG9mIDJgLCBgMS8yYCBvciBgNTBgIChubyBkZW5vbWluYXRvciB3b3VsZCBiZSByZXR1cm5lZCkuXG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBMaXN0IG9mIHBhcnNlZCB2YWx1ZXMgd2l0aCBudW1lcmF0b3IgYXQgZmlyc3QgcG9zaXRpb24gYW5kIGRlbnVtZXJhdG9yIGFzIHNlY29uZC4gVGhlc2UgdmFsdWVzIG1heSBiZSBudWxsLlxuQGZ1bmN0aW9uIHpmLXBhcnNlLWZyYWN0aW9uKCRmcmFjdGlvbikge1xuXG4gIEBpZiB0eXBlLW9mKCRmcmFjdGlvbikgPT0gJ251bWJlcicge1xuICAgIC8vIFwiNTAlXCJcbiAgICBAaWYgdW5pdCgkZnJhY3Rpb24pID09ICclJyB7XG4gICAgICBAcmV0dXJuIChzdHJpcC11bml0KCRmcmFjdGlvbiksIDEwMCk7XG4gICAgfVxuICAgIEBlbHNlIGlmICh1bml0KCRmcmFjdGlvbikgPT0gJycpIHtcbiAgICAgIC8vIFwiMC41XCJcbiAgICAgIEBpZiAkZnJhY3Rpb24gPCAxIHtcbiAgICAgICAgQHJldHVybiAoJGZyYWN0aW9uICogMTAwLCAxMDApO1xuICAgICAgfVxuICAgICAgLy8gXCI1MFwiXG4gICAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gKCRmcmFjdGlvbiwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgdHlwZS1vZigkZnJhY3Rpb24pID09ICdsaXN0JyB7XG4gICAgLy8gXCI1MCBvZiAxMDBcIiwgXCI1MC8xMDBcIi4uLlxuICAgIEBpZiBsZW5ndGgoJGZyYWN0aW9uKSA9PSAzXG4gICAgICBhbmQgdHlwZS1vZihudGgoJGZyYWN0aW9uLCAxKSA9PSAnbnVtYmVyJylcbiAgICAgIGFuZCB0eXBlLW9mKG50aCgkZnJhY3Rpb24sIDMpID09ICdudW1iZXInKSB7XG4gICAgICBAcmV0dXJuIChudGgoJGZyYWN0aW9uLCAxKSwgbnRoKCRmcmFjdGlvbiwgMykpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gKG51bGwsIG51bGwpO1xufVxuXG4vLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBnaXZlbiBgJHZhbHVlYCByZXByZXNlbnRzIGEgZnJhY3Rpb24uIFN1cHBvcnRzIGZvcm1hdHMgbGlrZSBgNTAlYCwgYDEgb2YgMmAsIGAxIHBlciAyYCBvciBgMS8yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlIC0gVmFsdWUgdG8gdGVzdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhbGxvdy1uby1kZW5vbWluYXRvciBbZmFsc2VdIC0gSWYgYHRydWVgLCBzaW1wbGUgbnVtYmVycyB3aXRob3V0IGRlbm9taW5hdG9ycyBsaWtlIGA1MGAgYXJlIHN1cHBvcnRlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IGB0cnVlYCBpZiBgJHZhbHVlYCByZXByZXNlbnRzIGEgZnJhY3Rpb24sIGBmYWxzZWAgb3RoZXJ3aXNlLlxuQGZ1bmN0aW9uIHpmLWlzLWZyYWN0aW9uKCR2YWx1ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiBmYWxzZSkge1xuICAkcGFyc2VkOiB6Zi1wYXJzZS1mcmFjdGlvbigkdmFsdWUpO1xuICBAcmV0dXJuIG5vdChudGgoJHBhcnNlZCwgMSkgPT0gbnVsbFxuICAgIG9yIChudGgoJHBhcnNlZCwgMikgPT0gbnVsbCBhbmQgJGFsbG93LW5vLWRlbm9taW5hdG9yID09IGZhbHNlKSk7XG59XG5cbi8vLyBDYWxjdWxhdGUgYSBwZXJjZW50YWdlIGZyb20gYSBnaXZlbiBmcmFjdGlvbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRmcmFjdGlvbiAtIFZhbHVlIHJlcHJlc2VudGluZyBhIGZyYWN0aW9uIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2UsIGZvcm1hdHRlZCBhcyBgNTBgIChyZWxhdGl2ZSB0byBgJGRlbm9taW5hdG9yYCksIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZGVub21pbmF0b3IgLSBEZWZhdWx0IHZhbHVlIHRvIHVzZSBhcyBkZW5vbWluYXRvciB3aGVuIGAkZnJhY3Rpb25gIHJlcHJlc2VudHMgYW4gYWJzb2x1dGUgdmFsdWUuXG5AZnVuY3Rpb24gZnJhY3Rpb24tdG8tcGVyY2VudGFnZShcbiAgJGZyYWN0aW9uLFxuICAkZGVub21pbmF0b3I6IG51bGxcbikge1xuICAkcGFyc2VkOiB6Zi1wYXJzZS1mcmFjdGlvbigkZnJhY3Rpb24pO1xuICAkcGFyc2VkLW5vbWluYXRvcjogbnRoKCRwYXJzZWQsIDEpO1xuICAkcGFyc2VkLWRlbm9taW5hdG9yOiBudGgoJHBhcnNlZCwgMik7XG5cbiAgQGlmICRwYXJzZWQtbm9taW5hdG9yID09IG51bGwge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcImZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoKVwiLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cbiAgQGlmICRwYXJzZWQtZGVub21pbmF0b3IgPT0gbnVsbCB7XG4gICAgQGlmIHR5cGUtb2YoJGRlbm9taW5hdG9yKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkcGFyc2VkLWRlbm9taW5hdG9yOiAkZGVub21pbmF0b3I7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciAnRXJyb3Igd2l0aCBcImZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoKVwiLiBBIGRlZmF1bHQgXCIkZGVub21pbmF0b3JcIiBpcyByZXF1aXJlZCB0byBzdXBwb3J0IGFic29sdXRlIHZhbHVlcyc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBwZXJjZW50YWdlKCRwYXJzZWQtbm9taW5hdG9yIC8gJHBhcnNlZC1kZW5vbWluYXRvcik7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgYnJlYWtwb2ludCB0byB1c2UgZm9yIHRoZSBjZWxsIGdlbmVyYXRpb24uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgY29ycmVjdGx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwsICRvdXRwdXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbWluLWJyZWFrcG9pbnQgWyQtemYtemVyby1icmVha3BvaW50XSAtIE1pbmltdW0gYnJlYWtwb2ludCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgZm9yIHdoaWNoIHRvIGNvbGxhcHNlIHRoZSBndXR0ZXIuXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgdG8gb2Zmc2V0IGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfSBUaGUgY2VsbCBvZmZzZXQgcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1vZmZzZXQoXG4gICRuLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkc2l6ZTogeHktY2VsbC1zaXplKCRuKTtcblxuICAkb2Zmc2V0OiAkc2l6ZTtcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYyh4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KSAvIDIpO1xuICAgICRvZmZzZXQ6IGlmKCRndXR0ZXIgPT0gMCwgJHNpemUsIGNhbGMoI3skc2l6ZX0gKyAjeyRndXR0ZXJ9KSk7XG4gIH1cbiAgQHJldHVybiAkb2Zmc2V0O1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRicmVha3BvaW50IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGZvciBgJGd1dHRlcnNgLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuIElmIGEgbGlzdCBpcyBnaXZlbiwgbWVkaWEtcXVlcmllcyB3aWxsIGJlIGdlbmVyYXRlZC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICRuLFxuICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAkYnJlYWtwb2ludDogbnVsbCxcbiAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbigkYnJlYWtwb2ludCwgJG1lZGlhLXF1ZXJpZXM6ICdmb3ItbGlzdHMnKSB7XG4gICAgJG9mZnNldDogeHktY2VsbC1vZmZzZXQoJG4sICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUpO1xuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRvZmZzZXR9O1xuICB9XG59XG4iLCIvLy8gTW9kaWZpZXMgYSBncmlkIHRvIGdpdmUgaXQgXCJmcmFtZVwiIGJlaGF2aW9yIChubyBvdmVyZmxvdywgbm8gd3JhcCwgc3RyZXRjaCBiZWhhdmlvcilcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3RlZCBbZmFsc2VdIC0gSXMgZ3JpZCBuZXN0ZWQgb3Igbm90LiBJZiBuZXN0ZWQgaXMgdHJ1ZSB0aGlzIHNldHMgdGhlIGZyYW1lIHRvIDEwMCUgaGVpZ2h0LCBvdGhlcndpc2Ugd2lsbCBiZSAxMDB2aC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFtudWxsXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbmNsdWRlLWJhc2UgW3RydWVdIC0gSW5jbHVkZSB0aGUgYmFzZSBzdHlsZXMgdGhhdCBkb24ndCB2YXJ5IHBlciBicmVha3BvaW50LlxuQG1peGluIHh5LWdyaWQtZnJhbWUoXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRuZXN0ZWQ6IGZhbHNlLFxuICAkZ3V0dGVyczogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICRpbmNsdWRlLWJhc2U6IHRydWVcbikge1xuXG4gIEBpZiAkaW5jbHVkZS1iYXNlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIGFuZCB0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUoJHZlcnRpY2FsLCAkbmVzdGVkLCAkZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBHZXQgb3VyIGd1dHRlcnMgaWYgYXBwbGljYWJsZVxuICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgICAvLyBJZiB3ZSBoYXZlIGEgZ3V0dGVyLCBhZGQgaXQgdG8gdGhlIHdpZHRoL2hlaWdodFxuICAgIEBpZiAkZ3V0dGVyIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIGhlaWdodDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgIGhlaWdodDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcbi8vLyBhcyBhIG1vZGlmaWVyIGZvciBhIGAuY2VsbGAgdG8gYWxsb3cgdGhlIGNlbGwgdG8gcGFzcyBhbG9uZyBmbGV4IHNpemluZ1xuLy8vIGNvbnN0cmFpbnRzIC8gZnJvbSBwYXJlbnRzIHRvIGNoaWxkcmVuLlxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBJZ25vcmVkIGlmIG51bGwgKGRlZmF1bHQpXG4vLy8gQHR5cGUgRm9udC1XZWlnaHRcbiRidXR0b24tZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgYnV0dG9ucywgdHJhbnNwYXJlbnQgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICBib3JkZXI6ICRidXR0b24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBmb250LXdlaWdodDogJGJ1dHRvbi1mb250LXdlaWdodDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgb3IgY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGluIGBidXR0b24tZmlsbC1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuIGBzb2xpZGAgaGFzIG5vIGVmZmVjdHMuXG5AbWl4aW4gYnV0dG9uLWZpbGwoXG4gICRmaWxsOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGNsZWFyIHtcbiAgICBAaW5jbHVkZSBidXR0b24tY2xlYXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZXMgb2YgYSBzb2xpZC9ob2xsb3cvY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGlucyBgYnV0dG9uLXN0eWxlYCwgYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGFuZCBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgZWZmZWN0cyBvZiB2aXN1YWwgc3R5bGluZyBwYXJhbWV0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZpbGwgWyRidXR0b24tZmlsbF0gLSBUeXBlIG9mIGZpbGxpbmcgYmV0d2VlbiBgaG9sbG93YCBhbmQgYGNsZWFyYC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gLVxuQG1peGluIGJ1dHRvbi1maWxsLXN0eWxlKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGZpbGwgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyLXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWhvbGxvdy1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgYW5kIGJvcmRlciBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRob3Zlci1saWdodG5lc3MgWyRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc10gLSBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJvcmRlci13aWR0aCBbJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXSAtIEJvcmRlciB3aWR0aCBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBjbGVhciBidXR0b24uXG4vLy8gU2VlIG1peGluIGBidXR0b24tY2xlYXItc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWNsZWFyIHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuQG1peGluIGJ1dHRvbi1jbGVhci1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCBhbmQgcmVzZXRpbmcgdGhlIGN1cnNvci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9wYWNpdHkgWyRidXR0b24tb3BhY2l0eS1kaXNhYmxlZF0gLSBPcGFjaXR5IG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkXG4pIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRzdHlsZSk7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRzdHlsZSwgJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbigkc3R5bGU6IG5vbmUpO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICBAaWYgJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkIHtcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IG9ubHkpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LW9ubHktZXhwYW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IGRvd24pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZG93bi1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSkge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRzZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnLiN7JGZpbGxpbmd9Jyk7XG5cbiAgICAgICYjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbCgkZmlsbGluZyk7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3csICYuY2xlYXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG5cbiAgYS5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC4gKE9ubHkgbmVlZGVkIHdoZW4gJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTspXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERldGVybWluZXMgaWYgJGJ1dHRvbi1yYWRpdXMgaXMgYXBwbGllZCB0byBlYWNoIGJ1dHRvbiBvciB0aGUgYnV0dG9uIGdyb3VwIGFzIGEgd2hvbGUuIFVzZSAkZ2xvYmFsLXJhZGl1cyBpbiBfc2V0dGluZ3Muc2NzcyB0byBjaGFuZ2UgcmFkaXVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZ1xuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyAvLyBEaXNhYmxlIGNsZWFyZml4XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1ha2UgYnV0dG9ucyBib25kZWQgd2l0aG91dCBnYXAgYmV0d2VlbiB0aGVtLiBCb3JkZXJzIGJldHdlZW4gYnV0dG9ucyBhcmUgbWVyZ2VkXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLW5vLWdhcHMoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiByZW0tY2FsYygtJGJvcmRlci13aWR0aCk7XG5cbiAgICArICN7JHNlbGVjdG9yfSB7XG4gICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgLy8gRGlzYWJsZSBjbGVhcmZpeFxuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIEdyb3VwXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFNvbGlkLCBob2xsb3cgJiBjbGVhciBzdHlsZXNcbiAgICBAZWFjaCAkZmlsbGluZyBpbiAoc29saWQgaG9sbG93IGNsZWFyKSB7XG4gICAgICAkYmFzZS1zZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnLiN7JGZpbGxpbmd9Jyk7XG5cbiAgICAgICYjeyRiYXNlLXNlbGVjdG9yfSB7XG4gICAgICAgIC8vIERvIG5vdCBnZW5lcmF0ZSBidXR0b24gYmFzZSBzdHlsZXMgZm9yIHRoZSBkZWZhdWx0IGZpbGxpbmdcbiAgICAgICAgQGlmKCRidXR0b24tZmlsbCAhPSAkZmlsbGluZykge1xuICAgICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbCgkZmlsbGluZyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICRpbmRpdmlkdWFsLXNlbGVjdG9yOiBpZigkYnV0dG9uLWZpbGwgPT0gJGZpbGxpbmcsIG51bGwsICcgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9LiN7JG5hbWV9Jyk7XG5cbiAgICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSwgI3skaW5kaXZpZHVhbC1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcsICRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAmLm5vLWdhcHMge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLW5vLWdhcHM7XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLFxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwsXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xuXG4gICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLXotaW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIHNpemUgdG8gdXNlIGFzIGRlZmF1bHRcbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1zaXplXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWxcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWxcbiRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemU6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gU2l6ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLiBVc2VkIHRvIGdlbmVyYXRlIHNpemluZyBtb2RpZmllcnMuXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJGNsb3NlYnV0dG9uLXotaW5kZXg7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcblxuICAgIC8vIEdlbmVyYXRlIGEgcGxhY2Vob2xkZXIgYW5kIGEgY2xhc3MgZm9yIGVhY2ggc2l6ZVxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkY2xvc2VidXR0b24tc2l6ZSB7XG4gICAgICBAYXQtcm9vdCB7XG4gICAgICAgICV6Zi1jbG9zZS1idXR0b24tLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZSgkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBleHRlbmQgJXpmLWNsb3NlLWJ1dHRvbi0tI3skbmFtZX07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVXNlIGJ5IGRlZmF1bHQgdGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBkZWZhdWx0IHNpemVcbiAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZX07XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3QgW2ZhbHNlXSAtIE5lZWRlZCBpZiB5b3Ugb25seSB3YW50IHRvIGFwcGx5IHRoaXMgdG8gYSBzcGVjaWZpYyB0YWJsZS5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRwcmltYXJ5LWNvbG9yOiAjMTc3OWJhICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiAjNzY3Njc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHdhcm5pbmctY29sb3I6ICNmZmFlMDAgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRhbGVydC1jb2xvcjogI2NjNGIzNyAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzZXBlcmF0b3IgYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDtcbn1cblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJyAhZGVmYXVsdDtcblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IgaW4gcnRsIG1vZGUuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCcgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IgaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcikge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzZXBhcmF0b3I6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGwpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBjb250ZW50OiAkc2VwYXJhdG9yO1xuICAgICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgQ2FsbG91dCBwYWRkaW5ncy5cbi8vLyBAdHlwZSBNYXBcbiRjYWxsb3V0LXNpemVzOiAoXG4gIHNtYWxsOiAwLjVyZW0sXG4gIGRlZmF1bHQ6IDFyZW0sXG4gIGxhcmdlOiAzcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiBtYXAtZ2V0KCRjYWxsb3V0LXNpemVzLCBkZWZhdWx0KTtcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluIG1hcC1yZW1vdmUoJGNhbGxvdXQtc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoJHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhcmRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYXJkcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjYXJkIHNoYWRvdy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4uXG4vLy8gQHR5cGUgbnVtYmVyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLWJvdHRvbSxcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgZGl2aWRlci5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxuXG4gIC8vIEZvciBJRSAxMSAtIEZsZXhidWdcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvNzVcbiAgLmNhcmQtaW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuXG4gIC8vIEFsbG93IGFuIGludGVybWl0dGVudCBzdGF0ZSB0byBkbyBwb3NpdGlvbmluZyBiZWZvcmUgbWFraW5nIHZpc2libGUuXG4gICYuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgcHJldmlvdXMgYXJyb3cgd2hlbiBgJHBhZ2luYXRpb24tYXJyb3dzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzOiAnXFwwMEFCJyAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBuZXh0IGFycm93IHdoZW4gYCRwYWdpbmF0aW9uLWFycm93c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFnaW5hdGlvbi1hcnJvdy1uZXh0OiAnXFwwMEJCJyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJHBhZ2luYXRpb24tYXJyb3ctbmV4dDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGN1cnNvciBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoYXMtdGlwLWN1cnNvcjogaGVscCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXggd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgei1pbmRleDogMTIwMDtcblxuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnRvcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnJpZ2h0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7XG4gIH1cblxuICAmLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIHBsdXMgaWNvbiB3aGVuIGAkYWNjb3JkaW9uLXBsdXNtaW51c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWNjb3JkaW9uLXBsdXMtY29udGVudDogJ1xcMDAyQicgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgbWludXMgaWNvbiB3aGVuIGAkYWNjb3JkaW9uLXBsdXNtaW51c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ6ICdcXDIwMTMnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgJltkaXNhYmxlZF0ge1xuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3IsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgY29udGVudDogJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICYubWlkZGxlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgJi5ib3R0b20ge1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIChcbiAgJG1hcmdpbjogJHRhYi1tYXJnaW4sXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkbWFyZ2luO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIChcbiAgJHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxuICAkY29sb3I6ICR0YWItY29sb3IsXG4gICRjb2xvci1hY3RpdmU6ICR0YWItYWN0aXZlLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXG4gICRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZVxuKSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiA0cHggc29saWQgJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuXG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cblxuICBhLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIHRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS4uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBhY3RpdmVgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHBvc2l0aW9uIGNsYXNzZXMgZm9yIGljb25zIHdpdGhpbiBhIG1lbnUuXG5AbWl4aW4gbWVudS1pY29uLXBvc2l0aW9uKCRwb3NpdGlvbjogbGVmdCwgJHNwYWNpbmc6ICRtZW51LWljb24tc3BhY2luZykge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAkc3BhY2luZyBhdXRvIDA7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBwYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcblxuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gbWVudS1zdGF0ZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlLCAoJG1lbnUtaXRlbS1jb2xvci1hY3RpdmUsICRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZSkpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcblxuICAgIC8vIERlZmF1bHQgb3JpZW50YXRpb246IGhvcml6b250YWxcbiAgICAmLCAmLmhvcml6b250YWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWNvbiBMZWZ0XG4gICAgJi5pY29uLWxlZnQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEljb24gUmlnaHRcbiAgICAmLmljb24tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHJpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFRvcFxuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCb3R0b21cbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cbiAgICBcbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtc3RhdGUtYmFjay1jb21wYXQge1xuICAgICAgLmFjdGl2ZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBsZWZ0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUtaWNvbiB7XG4gIC5tZW51LWljb24ge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcbiAgfVxuXG4gIC5tZW51LWljb24uZGFyayB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBib3JkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTGlzdFxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIGhlaWdodC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxufVxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnUge1xuXG4gIC5hY2NvcmRpb24tbWVudSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICAgIGJvcmRlci10b3A6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbiwgcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICB9XG5cbiAgLy8gU3VibWVudSB0b2dnbGVcbiAgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1yaWdodH06IDA7XG5cbiAgICB3aWR0aDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjtcblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBhcnJvdyB0byB0aGUgdG9nZ2xlXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuXG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxuICAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cblxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nIGluIHRoZSBzdWJtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG5cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHRvcCBsZXZlbCA8dWw+XG4gIC5kcmlsbGRvd24ge1xuICAgIGEge1xuICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFwcGxpZWQgdG8gc3VibWVudSA8dWw+c1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN1Ym1lbnUgaXRlbSBwYWRkaW5nXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJpbGxkb3duLW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBzdWItbWVudSBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBpdGVtXG4gICAgPiBsaSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBpdGVtIGFjdGl2ZSBzdGF0ZVxuICAgID4gbGkuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG1hcCBvZiBhIGxlZnQvcmlnaHQgb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBtYXAgb2YgYSB0b3AvYm90dG9tIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGZvciB0aGUgb2ZmLWNhbnZhcyBvdmVybGFwIHBhbmVsLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBzaXplIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweCAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgY29sb3IgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgY29udGVudCBvdmVybGF5LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTEgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYHB1c2hgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgb3ZlcmxhcGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4vLy8gQHR5cGUgQm9vbFxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGNvbnRlbnQuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcblxuICAvLy8gVHJhbnNmb3JtIGRlcHJlY2F0ZWQgc2l6ZSBzZXR0aW5ncyBpbnRvIG1hcCAmIHNob3cgd2FybmluZ1xuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXNpemVzIGluc3RlYWQnO1xuICB9XG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cblxuICAvLyBDaGVja3MgdGhlIHotaW5kZXhlcyBhbmQgaW5jcmVhc2UgdGhlbSBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIG92ZXJsYXkncyB6LWluZGV4IGlzIG5ldyBzaW5jZSB2Ni40IGFuZCBtYXkgYmUgaWRlbnRpY2FsIHRvIHRoZSB1c2VyIGN1c3RvbSBzZXR0aW5ncyBvZiB0aGUgcHVzaCB6LWluZGV4LlxuICBAaWYgJG9mZmNhbnZhcy1wdXNoLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1wdXNoLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleCA8PSAkb2ZmY2FudmFzLXB1c2gtemluZGV4IHsgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cblxuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZywgdmlzaWJpbGl0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3NhYmxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy8gU2V0IHRoZSBvZmYtY2FudmFzIHotaW5kZXguXG4gIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgLy8gSGlkZSBpbmFjdGl2ZSBvZmYtY2FudmFzIHdpdGhpbiB0aGUgY29udGVudCB0aGF0IGhhdmUgdGhlIHNhbWUgcG9zaXRpb25cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplczogaWYoJG9yaWVudGF0aW9uID09IGhvcml6b250YWwsICRvZmZjYW52YXMtc2l6ZXMsICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSBpcyBzZXQsIGFkZCBpbm5lciBib3gtc2hhZG93LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUge1xuICAgICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHJpZ2h0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhsZWZ0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3coYm90dG9tLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3codG9wLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8vIFNldHMgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIG9mZi1jYW52YXMtY29udGVudCgpIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgLy8gQmluZCB0byBoYXMtdHJhbnNpdGlvbi1YIGNsYXNzIHRvIHByZXZlbnQgdHJhbnNpdGlvbiBmb3IgdHJhbnNmb3JtOm5vbmVcbiAgJi5oYXMtdHJhbnNpdGlvbi1vdmVybGFwLFxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gc2NvcGUgdW50aWwgdGhlIGVsZW1lbnQgaXMgY2xvc2VkIChtYWtlcyBzdXJlIHRyYW5zaXRpb25lbmQgZ2V0cyB0cmlnZ2VyZWQpXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cblxuICAvLyBDb25zaWRlciBlbGVtZW50ICYgY29udGVudCwgbmVzdGVkIGluIGFub3RoZXIgY29udGVudFxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiRwb3NpdGlvbjogbGVmdCxcbiR6aW5kZXg6ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCxcbiRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3MsXG4kYnJlYWtwb2ludDogc21hbGxcbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIHJldmVhbGVkIGVsZW1lbnQgaXMgbmVzdGVkIGluIGNvbnRlbnRcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IChwcmlvciB0byB2Ni40KVxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vIE92ZXJyaWRlcyB0aGUgb2ZmLWNhbnZhcyBzdHlsZXNcbkBtaXhpbiBpbi1jYW52YXMoKSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB0cmFuc2l0aW9uOiBub25lO1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLnBvc2l0aW9uLWxlZnQsXG4gICYucG9zaXRpb24tcmlnaHQsXG4gICYucG9zaXRpb24tdG9wLFxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgIC8vIEZvcmNlIHBvc2l0aW9uIGFic29sdXRlIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBiZWNhdXNlIGZpeGVkIGRvZXNuJ3Qgd29yayBmb3IgcHVzaCB0cmFuc2l0aW9uIHdpdGhpbiB0aGUgdHJhbnNmb3JtIHNjb3BlLlxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cbiAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lciB3aXRoIGFic29sdXRlIHBvc2l0aW9uXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2UoJGZpeGVkOiBmYWxzZSk7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIHBvc2l0aW9uIGNsYXNzZXNcbiAgLnBvc2l0aW9uLWxlZnQgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQsICAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXRvcCAgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHRvcCwgICAgdmVydGljYWwpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20gIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihib3R0b20sIHZlcnRpY2FsKTsgfVxuXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtY29udGVudDtcbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIHBhbmVsIG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChib3R0b20sICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtanVzdGlmeSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgJi5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKXtcbiAgJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgICAnbGVmdCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtZW5kLCBmbGV4LXN0YXJ0KSxcbiAgICAncmlnaHQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCksXG4gICAgJ2NlbnRlcic6IGNlbnRlcixcbiAgICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbiAgKTtcblxuICBAcmV0dXJuICQtemYtZmxleC1qdXN0aWZ5O1xufVxuXG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gLjAwMTI1O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gLjAwMTI1O1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbkBtaXhpbiAtbW90aW9uLXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdXApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC5zaGFrZSxcbiAgLnNwaW4tY3csXG4gIC5zcGluLWNjdyxcbiAgLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEZvcm1hdCBmb3IgQ1NTIGNsYXNzZXMgY3JlYXRlZCB3aXRoIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gYXBwZW5kIFt0cnVlXSAtIERlZmluZXMgaWYgc2VsZWN0b3JzIGFyZSBjaGFpbmVkIHRvIHRoZSBzZWxlY3RvciAoYC5jbGFzcy5lbnRlcmApLCBvciBhcHBlbmRlZCBhcyBhIG5ldyBjbGFzcyAoYC5jbGFzcy1lbnRlcmApLlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJ211aS0nXSAtIFByZWZpeCB0byBhZGQgYmVmb3JlIHRoZSBzdGF0ZSBvZiBhIGNsYXNzLiBFbnRlciBhbiBlbXB0eSBzdHJpbmcgdG8gdXNlIG5vIHByZWZpeC5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWyctYWN0aXZlJ10gLSBTdWZmaXggdG8gYWRkIHRvIHRoZSBhY3RpdmUgc3RhdGUgY2xhc3MuXG4kbW90aW9uLXVpLWNsYXNzZXM6IChcbiAgY2hhaW46IHRydWUsXG4gIHByZWZpeDogJ211aS0nLFxuICBhY3RpdmU6ICctYWN0aXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0ZSBuYW1lcyB0byByZWZlcmVuY2Ugd2hlbiB3cml0aW5nIG1vdGlvbiBjbGFzc2VzLiBUbyB1c2UgbXVsdGlwbGUgY2xhc3MgbmFtZXMgZm9yIG9uZSBzdGF0ZSwgZW50ZXIgYSBsaXN0IG9mIHN0cmluZ3MgaW5zdGVhZCBvZiBvbmUgc3RyaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zdGF0ZXM6IChcbiAgaW46ICdlbnRlcicsXG4gIG91dDogJ2xlYXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNwZWVkIHRoYXQgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMgcGxheSBhdCwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBzcGVlZC5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3BlZWRzOiAoXG4gIGRlZmF1bHQ6IDUwMG1zLFxuICBzbG93OiA3NTBtcyxcbiAgZmFzdDogMjUwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkZWxheSB0byBhZGQgYmVmb3JlIG1vdGlvbiwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBkZWxheS5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZGVsYXlzOiAoXG4gIGRlZmF1bHQ6IDAsXG4gIHNob3J0OiAzMDBtcyxcbiAgbG9uZzogNzAwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBlYXNpbmcgZm9yIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGVhc2luZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZWFzaW5nczogKFxuICBkZWZhdWx0OiBsaW5lYXIsXG4gIGxpbmVhcjogbGluZWFyLFxuICBlYXNlOiBlYXNlLFxuICBlYXNlLWluOiBlYXNlLWluLFxuICBlYXNlLW91dDogZWFzZS1vdXQsXG4gIGVhc2UtaW4tb3V0OiBlYXNlLWluLW91dCxcbiAgYm91bmNlLWluOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSksXG4gIGJvdW5jZS1vdXQ6IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSksXG4gIGJvdW5jZS1pbi1vdXQ6IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBNaXNjZWxsYW5lb3VzIHNldHRpbmdzIHJlbGF0ZWQgdG8gTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbZmFsc2VdIC0gRGVmaW5lcyBpZiBzbGlkZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIGhpbmdlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc2NhbGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzcGluIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4kbW90aW9uLXVpLXNldHRpbmdzOiAoXG4gIHNsaWRlLWFuZC1mYWRlOiBmYWxzZSxcbiAgaGluZ2UtYW5kLWZhZGU6IHRydWUsXG4gIHNjYWxlLWFuZC1mYWRlOiB0cnVlLFxuICBzcGluLWFuZC1mYWRlOiB0cnVlLFxuICBwYXVzZS1xdWV1ZS1jbGFzczogJ2lzLXBhdXNlZCcsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWtleWZyYW1lcygkbmFtZSwgJGVmZmVjdHMuLi4pIHtcbiAgJG9iajogLW11aS1wcm9jZXNzLWFyZ3MoJGVmZmVjdHMuLi4pO1xuICAkb2JqOiBtYXAtcmVtb3ZlKCRvYmosIG5hbWUpO1xuXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgIC8vIE5vdyBpdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgQGVhY2ggJHBjdCwgJHByb3BzIGluICRvYmoge1xuICAgICAgI3stbXVpLWtleWZyYW1lLXBjdCgkcGN0KX0ge1xuICAgICAgICAvLyBMYXN0bHksIGl0ZXJhdGUgdGhyb3VnaCBlYWNoIENTUyBwcm9wZXJ0eSB3aXRoaW4gYSBwZXJjZW50YWdlIGFuZCBwcmludCBpdCBvdXRcbiAgICAgICAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgICAgICN7JHByb3B9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzdHJpbmcgZm9yIGEgQ1NTIGtleWZyYW1lLCBieSBjb252ZXJ0aW5nIGEgbGlzdCBvZiBudW1iZXJzIHRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGlucHV0IC0gTGlzdCBvZiBudW1iZXJzIHRvIHVzZS5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IEEgc2V0IG9mIGNvbW1hLXNlcGFyYXRlZCBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXBjdCgkaW5wdXQpIHtcbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbnVtYmVyJyB7XG4gICAgJG91dHB1dDogKCRpbnB1dCAqIDElKTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ2xpc3QnIHtcbiAgICBAZWFjaCAkaSBpbiAkaW5wdXQge1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICgkaSAqIDElKSwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gXCIjeyRvdXRwdXR9XCI7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiAtbXVpLWlzLWZ1bmN0aW9uKCRtYXApIHtcbiAgICAgICRtYXA6IC1tdWktc2FmZS1jYWxsKCRtYXApO1xuICAgIH1cblxuICAgICRtYXA6IC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCk7XG5cbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBpbiB0aGUgbWFwXG4gICAgLy8gJGtleSBpcyB0aGUga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIC8vICR2YWx1ZSBpcyBhIG1hcCBvZiBDU1MgcHJvcGVydGllc1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICRuZXctdmFsdWU6ICgpO1xuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJG5ldy1tYXAsICRrZXkpIHtcbiAgICAgICAgLy8gSWYgdGhlIG1hcCBhbHJlYWR5IGhhcyB0aGUga2V5ZnJhbWUgJSwgYXBwZW5kIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogLW11aS1tZXJnZS1wcm9wZXJ0aWVzKG1hcC1nZXQoJG5ldy1tYXAsICRrZXkpLCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSwgY3JlYXRlIGEgbmV3IG1hcCB3aXRoIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5hbGx5LCBtZXJnZSB0aGUgbW9kaWZpZWQga2V5ZnJhbWUgdmFsdWUgaW50byB0aGUgb3V0cHV0IG1hcFxuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRuZXctdmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICAvLyBNYWtlIGEgbmFtZSBmb3IgdGhlIGtleWZyYW1lc1xuICAkLW11aS1jdXN0b206ICQtbXVpLWN1c3RvbSArIDEgIWdsb2JhbDtcbiAgJG1hcC1uYW1lOiAobmFtZTogJ2N1c3RvbS0jeyQtbXVpLWN1c3RvbX0nKTtcbiAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgJG1hcC1uYW1lKTtcblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgdHdvIG1hcHMgb2YgQ1NTIHByb3BlcnRpZXMgaW50byBvbmUgbWFwLiBJZiBib3RoIG1hcHMgaGF2ZSBhIHRyYW5zZm9ybSBwcm9wZXJ0eSwgdGhlIHZhbHVlcyBmcm9tIGVhY2ggd2lsbCBiZSBjb21iaW5lZCBpbnRvIG9uZSBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge01hcH0gJG9uZSAtIEZpcnN0IG1hcCB0byBtZXJnZS5cbi8vLyBAcGFyYW0ge01hcH0gJHR3byAtIFNlY29uZCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLW1lcmdlLXByb3BlcnRpZXMoJG9uZSwgJHR3bykge1xuICBAaWYgbWFwLWhhcy1rZXkoJG9uZSwgdHJhbnNmb3JtKSBhbmQgbWFwLWhhcy1rZXkoJHR3bywgdHJhbnNmb3JtKSB7XG4gICAgJHRyYW5zZm9ybTogam9pbihtYXAtZ2V0KCRvbmUsIHRyYW5zZm9ybSksIG1hcC1nZXQoJHR3bywgdHJhbnNmb3JtKSk7XG4gICAgJG9uZTogbWFwLW1lcmdlKCRvbmUsICh0cmFuc2Zvcm06ICR0cmFuc2Zvcm0pKTtcbiAgICAkdHdvOiBtYXAtcmVtb3ZlKCR0d28sIHRyYW5zZm9ybSk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkb25lLCAkdHdvKTtcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2xpZGluZyB0cmFuc2l0aW9uIGJ5IHRyYW5zbGF0aW5nIHRoZSBlbGVtZW50IGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbnVsbF0gLSBEaXJlY3Rpb24gdG8gc2xpZGUgdG8uIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC4gQnkgZGVmYXVsdCBgbGVmdGAgYW5kIGByaWdodGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBudWxsLFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiAhPSBudWxsLCAkZGlyZWN0aW9uLCBpZigkc3RhdGUgPT0gaW4sIGxlZnQsIHJpZ2h0KSk7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gW251bGxdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuIEJ5IGRlZmF1bHQgYDBgIGFuZCBgMWAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbbnVsbF0gLSBPcGFjaXR5IHRvIGVuZCBvbi4gQnkgZGVmYXVsdCBgMWAgYW5kIGAwYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbnVsbCxcbiAgJHRvOiBudWxsLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmcm9tOiBpZigkZnJvbSAhPSBudWxsLCAkZnJvbSwgaWYoJHN0YXRlID09IGluLCAwLCAxKSk7XG4gICR0bzogaWYoJHRvICE9IG51bGwsICR0bywgaWYoJHN0YXRlID09IGluLCAxLCAwKSk7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSBlZmZlY3QgYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW251bGxdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC4gQnkgZGVmYXVsdCBgZnJvbS1iYWNrYCBhbmQgYGZyb20tZnJvbnRgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuQGZ1bmN0aW9uIGhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBudWxsXG4pIHtcbiAgLy8gUm90YXRpb24gZGlyZWN0aW9ucyB3aGVuIGhpbmdpbmcgZnJvbSBiYWNrIHZzLiBmcm9udFxuICAkcm90YXRpb24tYW1vdW50OiA5MGRlZztcbiAgJHJvdGF0aW9ucy1iYWNrOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgKTtcbiAgJHJvdGF0aW9ucy1mcm9tOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgKTtcblxuICAvLyBSb3RhdGlvbiBvcmlnaW5cbiAgJHR1cm4tb3JpZ2luOiBpZigkdHVybi1vcmlnaW4gIT0gbnVsbCwgJHR1cm4tb3JpZ2luLCBpZigkc3RhdGUgPT0gaW4sIGZyb20tYmFjaywgZnJvbS1mcm9udCkpO1xuICAkcm90YXRpb246ICcnO1xuICBAaWYgJHR1cm4tb3JpZ2luID09IGZyb20tZnJvbnQge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWZyb20sICRmcm9tKTtcbiAgfSBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1iYWNrLCAkZnJvbSk7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICckdHVybi1vcmlnaW4gbXVzdCBiZSBlaXRoZXIgXCJmcm9tLWJhY2tcIiBvciBcImZyb20tZnJvbnRcIic7XG4gIH1cblxuICAvLyBTdGFydCBhbmQgZW5kIHN0YXRlXG4gICRzdGFydDogJyc7XG4gICRlbmQ6ICcnO1xuICBAaWYgJHN0YXRlID09IGluIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICB9XG5cbiAgLy8gVHVybiBheGlzXG4gICRvcmlnaW46ICcnO1xuICBAaWYgJGF4aXMgPT0gZWRnZSB7XG4gICAgJG9yaWdpbjogJGZyb207XG4gIH0gQGVsc2Uge1xuICAgICRvcmlnaW46IGNlbnRlcjtcbiAgfVxuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAtbXVpLXN0cmluZy1zYWZlKCdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyksXG4gICAgMDogKHRyYW5zZm9ybTogJHN0YXJ0LCB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICRlbmQpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbbnVsbF0gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLiBCeSBkZWZhdWx0IGBmcm9tLWJhY2tgIGFuZCBgZnJvbS1mcm9udGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1oaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogbnVsbCxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgaGluZ2UtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICR0dXJuLW9yaWdpbjogaWYoJHR1cm4tb3JpZ2luICE9IG51bGwsICR0dXJuLW9yaWdpbiwgaWYoJHN0YXRlID09IGluLCBmcm9tLWJhY2ssIGZyb20tZnJvbnQpKTtcbiAgJGhpbmdlOiBoaW5nZSgkc3RhdGUsICRmcm9tLCAkYXhpcywgJHBlcnNwZWN0aXZlLCAkdHVybi1vcmlnaW4pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFtudWxsXSAtIFNpemUgdG8gc3RhcnQgYXQuIEJ5IGRlZmF1bHQgYDBgIGFuZCBgMWAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbbnVsbF0gLSBTaXplIHRvIGVuZCBhdC4gQnkgZGVmYXVsdCBgMWAgYW5kIGAwYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBudWxsLFxuICAkdG86IG51bGwsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNjYWxlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZnJvbTogaWYoJGZyb20gIT0gbnVsbCwgJGZyb20sIGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSkpO1xuICAkdG86IGlmKCR0byAhPSBudWxsLCAkdG8sIGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCkpO1xuICAkc2NhbGU6IHpvb20oJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbnVsbF0gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLiBCeSBkZWZhdWx0IGBjd2AgYW5kIGBjY3dgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gIT0gbnVsbCwgJGRpcmVjdGlvbiwgaWYoJHN0YXRlID09IGluLCBjdywgY2N3KSk7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktYW5pbWF0aW9uKCRhcmdzLi4uKSB7XG4gICRuYW1lOiBtYXAtZ2V0KC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSwgbmFtZSk7XG4gIEBpbmNsdWRlIG11aS1rZXlmcmFtZXMoJG5hbWUsICRhcmdzLi4uKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVucXVvdGUoJG5hbWUpO1xufVxuIiwiLy8gRml4IHRoZSBpc3N1ZSB3aGVyZSB0aGUgV1AgYWRtaW4tYmFyIG92ZXJsYXBzIHRoZSBtb2JpbGUgbWVudVxuI3dwYWRtaW5iYXIge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbn1cblxuLy8gTWFrZSBzdXJlIHRoYXQgdGhlIFdQIGFkbWluLWJhciBkb2VzIG5vdCBvdmVybGFwIEZvdW5kYXRpb24gY29tcG9uZW50c1xuYm9keS5hZG1pbi1iYXIge1xuICAvLyBPZmZzZXQgc3RpY2t5IHRvcCBiYXJcbiAgJi5mLXRvcGJhci1maXhlZCB7XG4gICAgLnN0aWNreS5maXhlZCB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMik7XG4gICAgfVxuICB9XG4gIC8vIE9mZnNldCBtb2JpbGUgb2ZmLWNhbnZhcyBtZW51XG4gICYub2ZmY2FudmFzIHtcbiAgICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICAgIHRvcDogcmVtLWNhbGMoNDYpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDMyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qXG5Gcm9udGVuZCBzdHlsZXMgZm9yIGd1dGVuYmVyZyBibG9ja3NcbiovXG5cbi8qKiA9PT0gQmFzZSBDb2xvciBQYWxhdHRlID09PSAqL1xuQGVhY2ggJGNvbG9yLCAkY29kZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcblxuICAuaGFzLSN7JGNvbG9yfS1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlO1xuICB9XG5cbiAgLmhhcy0jeyRjb2xvcn0tY29sb3Ige1xuICAgICAgY29sb3I6ICRjb2RlO1xuICB9XG59XG5cbi8qKiA9PT0gQnV0dG9uID09PSAqL1xuLndwLWJsb2NrLWJ1dHRvbiB7XG5cblx0Ly8gYWRkIGdlbmVyYWwgZm91bmRhdGlvbiBidXR0b24gc3R5bGluZ1xuXHQud3AtYmxvY2stYnV0dG9uX19saW5rIHtcblx0XHRAZXh0ZW5kIC5idXR0b247XG4gICAgQGVhY2ggJGNvbG9yLCAkY29kZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcblxuICAgICAgJi5oYXMtI3skY29sb3J9LWJhY2tncm91bmQtY29sb3Ige1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlO1xuICAgICAgfVxuXG4gICAgICAmLmhhcy0jeyRjb2xvcn0tY29sb3Ige1xuICAgICAgICAgIGNvbG9yOiAkY29kZTtcbiAgICAgIH1cbiAgICB9XG5cdH1cblxuXHQvLyBhZGQgc3BlY2lhbCBzdHlsaW5nIGZvciBzcXVhcmVkIGJ1dHRvbnNcblx0Ji5pcy1zdHlsZS1zcXVhcmVkIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdH1cblxuXHQvLyBhZGQgb3V0bGluZSBzdHlsZXNcblx0Ji5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbmt7XG5cdFx0QGV4dGVuZCAuaG9sbG93O1xuXHR9XG5cblx0Ly8gc2V0IHRyYW5zcGFyZW50IGJhY2tncm91bmQgdG8gYmxvY2sgZm9yIG91dGxpbmUgYnV0dG9uXG5cdCYuaXMtc3R5bGUtb3V0bGluZSxcblx0Ji5pcy1zdHlsZS1vdXRsaW5lOmhvdmVyLFxuXHQmLmlzLXN0eWxlLW91dGxpbmU6Zm9jdXMsXG5cdCYuaXMtc3R5bGUtb3V0bGluZTphY3RpdmUge1xuICAgIC8vIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIC53cC1ibG9jay1idXR0b25fX2xpbmt7XG4gICAgICAvLyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cdH1cbn1cblxuLyoqID09PSBGaWxlID09PSAqL1xuLndwLWJsb2NrLWZpbGUgLndwLWJsb2NrLWZpbGVfX2J1dHRvbntcbiAgQGluY2x1ZGUgYnV0dG9uKCk7XG59XG4iLCIuYnJhbmQtbG9nbywuc2l0ZS1icmFuZCB7XG4gIC5zaXRlLW5hbWUsLnNpdGUtZGVzY3JpcHRpb24ge1xuICAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDotJGdsb2JhbC1wYWRkaW5nO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJGdsb2JhbC1wYWRkaW5nKjU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICB9XG4gICYuYXJjaGl2ZXtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgbWF4LXdpZHRoOiAxMHJlbTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL0FSQy1ISVZFLWxvZ28uc3ZnJyk7XG4gICAgfVxuICB9XG4gICYuZXV7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIG1heC13aWR0aDogMTVyZW07XG4vLyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2V1X2ZsYWdfY3JlYXRpdmVfZXVyb3BlX2NvX2Z1bmRlZF9ibGFja19yaWdodC5zdmcnKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2V1X2ZsYWdfY3JlYXRpdmVfZXVyb3BlX2NvX2Z1bmRlZF9sZWZ0LnN2ZycpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gVGV4dCBtZWFudCBvbmx5IGZvciBzY3JlZW4gcmVhZGVycy4gQWRkcmVzc2VzIHBhcnQgb2YgdGhlbWUtY2hlY2sgaXNzdWUgIzg0MC5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9BdXRvbWF0dGljL19zL2Jsb2IvbWFzdGVyL3N0eWxlLmNzc1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgY29sb3I6ICMyMTc1OWI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdG9wOiA1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICB6LWluZGV4OiAxMDAwMDA7IC8vIEFib3ZlIFdQIHRvb2xiYXIuXG59XG4iLCJcbiAgaGVhZGVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKCk7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygwKTtcbiAgICBtYWluIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpe1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihjZW50ZXIsIG1pZGRsZSk7XG4gICAgICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyoyICRnbG9iYWwtcGFkZGluZztcbiAgICAgICAgbWluLXdpZHRoOiAxNHJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKHNocmluayk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24obGVmdCwgbWlkZGxlKTtcbiAgICAgICAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gICAgICB9XG4gICAgfVxuICAgIG5hdiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKXtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oY2VudGVyLCBtaWRkbGUpO1xuICAgICAgICBhLCBidXR0b24ge1xuICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbWVudSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihyaWdodCwgbWlkZGxlKTtcbiAgICAgICAgbWVudSB7XG4gICAgICAgICAgbWFyZ2luOiBpbmhlcml0O1xuICAgICAgICAgIHBhZGRpbmc6IGluaGVyaXQ7XG4gICAgICAgICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSoxLjU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuIiwiZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgYSB7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxuICB9XG4gIGgxLGgyLGgzLGg0LGg1LGg2LFxuICAuaDEsLmgyLC5oMywuaDQsLmg1LC5oNixcbiAgcCx1bCxvbCxsaSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIHVsLG9sIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpIHtcbiAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkZ2xvYmFsLXBhZGRpbmc7XG4gICAgfVxuICB9XG4gIC5jbGVhci5jbGVhcmZpeCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmxvZ28ge1xuICB9XG4gIC5zaXRlLWJyYW5kLC5icmFuZC1sb2dvIHtcbiAgICAmLmFyY2hpdmV7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tdG9wOnVuc2V0O1xuICAgICAgfVxuICAgIH1cbiAgICAmLmV1IHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi10b3A6dW5zZXQ7XG4gICAgICAgIG1heC13aWR0aDoxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiA0cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuY29weXJpZ2h0LC5sZWdhbC1jcmVkaXRzIHtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplKjAuODtcbiAgfVxuICAuc3Vic2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGxlZnQsYm90dG9tKTtcbiAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgYmxhY2s7XG4gICAgICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuICAgICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAwLjg7XG4gICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAvL3BhZGRpbmctdG9wOiAkZ2xvYmFsLXBhZGRpbmcqMztcbiAgICAgICB9XG4gICAgICAgLmNvLWZvdW5kZWQge1xuICAgICAgICAgdGV4dC1hbGlnbjpyaWdodDtcbiAgICAgICB9XG4gICAgIH1cbiAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICAgICB9XG4gICAgIGFzaWRlIHtcbiAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICAgICB9XG4gICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMyk7XG4gICAgICAgfVxuICAgICAgJi5kb3VibGUge1xuICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgICAgIH1cbiAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg2KTtcbiAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gfVxuXG4iLCIgIC8vY29udGVudCB7XG4gICAgXG4gICAgLy8gZ2VuZXJhbCBzdHlsZXNcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIG1vZHMgb24gZm9udHMgYW5kIHR5cG9ncmFwaHkgXG4gICAgLy8gbm90IGluIGZvdW5kYXRpb24gdmFyaWFibGVzXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBcbiAgICBoMSxoMixoMyxoNCxoNSxoNixcbiAgICAuaDEsLmgyLC5oMywuaDQsLmg0LC5oNSwuaDYsXG4gICAgYnV0dG9uLC5idXR0b24sXG4gICAgaGVhZGVyIG5hdixcbiAgICBcbiAgICBcbiAgICBoMSxoMixoMyxoNCxoNSxoNixcbiAgICAuaDEsLmgyLC5oMywuaDQsLmg0LC5oNSwuaDYge1xuICAgICAgICAgICAgZm9udC12YXJpYW50OmFsbC1zbWFsbC1jYXBzO1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICAuZXhjZXJwdCwucG9zdC1leGNlcnB0e1xuICAgICAgYSB7XG4gICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgICAgJjpob3ZlciB7XG4gICAgICAgICBwIHtcbiAgICAgICAgICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgICAgICB9XG4gICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAvL1xuICAgIC8vIG1haW4gYmxvY2tcbiAgICAvLy0tLS0tLS0tLS0tLS0tXG5cblxuICAgIG1haW4ge1xuICAgICAgYXJ0aWNsZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgICAgIGhlYWRlciB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgICAgICAgLmVudHJ5LXRpdGxlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZW50cnktY29udGVudCB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCl7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyoyIDtcbiAgICAgICAgICAgIG1hcmdpbjowIGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgICAgICAgICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nKjIgJGdsb2JhbC1wYWRkaW5nKjM7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUwcmVtO1xuICAgICAgICAgICAgbWFyZ2luOjAgYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2Upe1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUwcmVtO1xuICAgICAgICAgICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nKjIgJGdsb2JhbC1wYWRkaW5nKjM7XG4gICAgICAgICAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplKjEuMjtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuXG4gICAgLy9cbiAgICAvLyBuZXdzIGNhdGVnb3J5XG4gICAgLy8tLS0tLS0tLS0tLS0tLVxuICAgIFxuICAgIC5uZXdzLC5uZXdzLWNhdGVnb3J5IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgICBoZWFkZXIsbWFpbixhc2lkZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpe1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihjZW50ZXIsdG9wKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkZ2xvYmFsLXBhZGRpbmcqMztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbWFpbiB7XG4gICAgICAgIC8vQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgICAgIGFydGljbGV7XG4gICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXIoKTtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKXtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDYpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKXtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgICAgICAgICAgIGhlaWdodDogNTh2dztcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgICAgICAgICAgIGhlaWdodDogMjh2dztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuICAgICAgICAgICAgICBoZWlnaHQ6IDIwdnc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5kYXRlIHtcbiAgICAgICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkZ2xvYmFsLXBhZGRpbmcqMjtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmVudHJ5LXRpdGxlIHtcbiAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJGdsb2JhbC1wYWRkaW5nKjI7XG4gICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuNztcbiAgICAgICAgICAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplKjEuNTtcbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGFzaWRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpe1xuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDowO1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGdsb2JhbC1wYWRkaW5nKjM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiRnbG9iYWwtcGFkZGluZyozO1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBlbmQgbmV3cyBjYXRlZ29yeVxuXG5cbiAgICAvL1xuICAgIC8vIGNvbGxlY3Rpb25zIGNhdGVnb3J5XG4gICAgLy8tLS0tLS0tLS0tLS0tLVxuICAgIFxuICAgIC5jb2xsZWN0aW9ucy1saXN0IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgICBoZWFkZXIsbWFpbixhc2lkZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGNlbnRlcix0b3ApO1xuICAgICAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcqMyAwO1xuICAgICAgfVxuICAgICAgaGVhZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib2R5LWZvbnQtY29sb3I7XG4gICAgICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyo0IDA7XG4gICAgICB9XG4gICAgICBtYWluIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICAgICAgYXJ0aWNsZXtcbiAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcigpO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpe1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYXNpZGUge1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBlbmQgbmV3cyBjYXRlZ29yeVxuXG4gICAgLy9cbiAgICAvLyBwYXJ0bmVycyBcbiAgICAvLyBmb3IgYmlnIGFubm91bmNlbW50c1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wYXJ0bmVycyB7XG4gIC5lbnRyeS1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgIHAge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHZ3O1xuICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9keS1mb250LWNvbG9yO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICB9XG4gICAgfVxuICAgIC5hbGlnbmxlZnQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLndwLWJsb2NrLWltYWdlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICB9XG4gfVxuXG4gICAgLy9cbiAgICAvLyBoZXJvXG4gICAgLy8gZm9yIGJpZyBhbm5vdW5jZW1udHNcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbiAgLmhlcm8ge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAuc2xpZGVzIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQoKTtcbiAgICAgIC5zbGlkZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpe1xuICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgLnRleHR3aWRnZXQge1xuICAgICAgICAgICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICogMjsgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcbiAgICAgICAgICAudGV4dHdpZGdldCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUwcmVtO1xuICAgICAgICAgICAgbWFyZ2luOmF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgKiAyOyBcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUqMS4zO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgIGhlaWdodDogY2FsYygoNTB2dyo5KS8xNik7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24gKGNlbnRlcixtaWRkbGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgIC8vICBtYXgtd2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnRleHR3aWRnZXQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSoxLjI7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgKiAyOyBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2Upe1xuICAgICAgICAgIC50ZXh0d2lkZ2V0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUqMS4zO1xuICAgICAgICAgICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nKjM7IFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2Upe1xuICAgICAgICAgIC50ZXh0d2lkZ2V0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUqMS42O1xuICAgICAgICAgICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nKjM7IFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgZm9udC12YXJpYW50OmFsbC1zbWFsbC1jYXBzO1xuICAgICAgICB9XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgLmxvZ28ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcbiAgICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBhc2lkZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkKCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgbmF2IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihzcGFjZWQsbWlkZGxlKTtcbiAgICAgICAgbWluLWhlaWdodDogNnJlbTtcbiAgICAgICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nIDAgO1xuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vaGVybyBzZWNvbmRhcnlcbiAgICAmLnNlY29uZGFyeSB7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgIC5zbGlkZXtcbiAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSBcbiAgLy9lbmQgaGVyb1xuXG4vL31cbi8vIGVuZCBjb250ZW50XG4iLCIvLyBBcHBseSBvdXRsaW5lIHN0eWxlcyBvbmx5IHdoZW4gaW5wdXQgbWV0aG9kIGlzIGtleWJvYXJkXG4vLyByZW1vdmUgOmZvY3VzIHN0eWxlIHZpYSBXaGF0IElucHV0IHVzaW5nIHByb2dyZXNzaXZlIGVuaGFuY2VtZW50XG4vLyBzbyA6Zm9jdXMgaXNuJ3QgbGVmdCBicm9rZW4gaWYgSmF2YVNjcmlwdCBmYWlsc1xuXG5bZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSBhOmZvY3VzLCBidXR0b246Zm9jdXNcbltkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdIGE6Zm9jdXMsIGJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4iLCIuZmVhdHVyZWQtaGVybyB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgaGVpZ2h0OiByZW0tY2FsYygxMDApO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygyMDApO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDQwMCk7XG4gIH1cbn1cbiIsIi5kb3R0ZWQge1xuICBib3JkZXItc3R5bGU6IGRhc2hlZDtcbiAgbWFyZ2luOiAycmVtIDA7XG59XG4iLCIuY2FyZCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbn1cbiIsImJ1dHRvbiwuYnV0dG9uIHtcbiAgICBtaW4td2lkdGg6IDIwcmVtO1xufVxuLmhlcm8ge1xuICBidXR0b24sLmJ1dHRvbiB7XG4gICAgbWluLXdpZHRoOiAyMHZ3O1xuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyowLjMgJGdsb2JhbC1wYWRkaW5nKjI7XG4gICAgY29sb3I6ICRidXR0b24tY29sb3ItYWx0O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUqMS4zO1xuICAgIGJvcmRlci1jb2xvcjogJGJ1dHRvbi1jb2xvci1hbHQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHJlbTtcbi8vICAgIG1hcmdpbjogJGdsb2JhbC1tYXJnaW4qMiAwO1xuICAgICY6aG92ZXJ7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICAgIGJvcmRlci1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cbiIsIi5hY2NvcmRpb24taXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9keS1mb250LWNvbG9yO1xufVxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHVsLG9sIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8vQGluY2x1ZGUgZmxleDtcbiAgICAvL0BpbmNsdWRlIGZsZXgtYWxpZ24oanVzdGlmeSxtaWRkbGUpO1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cbiAgbGkge1xuICAgIGRpc3BsYXk6aW5saW5lO1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoMyk7XG4gICAgdGV4dC1hbGlnbjpsZWZ0O1xuICB9XG59XG4iLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuMTUuMyBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqL1xuQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ21peGlucyc7XG5AaW1wb3J0ICdjb3JlJztcbkBpbXBvcnQgJ2xhcmdlcic7XG5AaW1wb3J0ICdmaXhlZC13aWR0aCc7XG5AaW1wb3J0ICdsaXN0JztcbkBpbXBvcnQgJ2JvcmRlcmVkLXB1bGxlZCc7XG5AaW1wb3J0ICdhbmltYXRlZCc7XG5AaW1wb3J0ICdyb3RhdGVkLWZsaXBwZWQnO1xuQGltcG9ydCAnc3RhY2tlZCc7XG5AaW1wb3J0ICdpY29ucyc7XG5AaW1wb3J0ICdzY3JlZW4tcmVhZGVyJztcbiIsIi8vIEJhc2UgQ2xhc3MgRGVmaW5pdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0sXG4uZmFzLFxuLmZhcixcbi5mYWwsXG4uZmFkLFxuLmZhYiB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuJWZhLWljb24ge1xuICBAaW5jbHVkZSBmYS1pY29uO1xufVxuIiwiLy8gSWNvbiBTaXplc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBtYWtlcyB0aGUgZm9udCAzMyUgbGFyZ2VyIHJlbGF0aXZlIHRvIHRoZSBpY29uIGNvbnRhaW5lclxuLiN7JGZhLWNzcy1wcmVmaXh9LWxnIHtcbiAgZm9udC1zaXplOiAoNGVtIC8gMyk7XG4gIGxpbmUtaGVpZ2h0OiAoM2VtIC8gNCk7XG4gIHZlcnRpY2FsLWFsaWduOiAtLjA2NjdlbTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXhzIHtcbiAgZm9udC1zaXplOiAuNzVlbTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXNtIHtcbiAgZm9udC1zaXplOiAuODc1ZW07XG59XG5cbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTAge1xuICAuI3skZmEtY3NzLXByZWZpeH0tI3skaX14IHtcbiAgICBmb250LXNpemU6ICRpICogMWVtO1xuICB9XG59XG4iLCIvLyBGaXhlZCBXaWR0aCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZ3IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogJGZhLWZ3LXdpZHRoO1xufVxuIiwiLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmEtZm9udC1wYXRoOiAgICAgICAgIFwiLi4vd2ViZm9udHNcIiAhZGVmYXVsdDtcbiRmYS1mb250LXNpemUtYmFzZTogICAgMTZweCAhZGVmYXVsdDtcbiRmYS1mb250LWRpc3BsYXk6ICAgICAgYmxvY2sgIWRlZmF1bHQ7XG4kZmEtY3NzLXByZWZpeDogICAgICAgIGZhICFkZWZhdWx0O1xuJGZhLXZlcnNpb246ICAgICAgICAgICBcIjUuMTUuM1wiICFkZWZhdWx0O1xuJGZhLWJvcmRlci1jb2xvcjogICAgICAjZWVlICFkZWZhdWx0O1xuJGZhLWludmVyc2U6ICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGZhLWxpLXdpZHRoOiAgICAgICAgICAyZW0gIWRlZmF1bHQ7XG4kZmEtZnctd2lkdGg6ICAgICAgICAgICgyMGVtIC8gMTYpO1xuJGZhLXByaW1hcnktb3BhY2l0eTogICAxICFkZWZhdWx0O1xuJGZhLXNlY29uZGFyeS1vcGFjaXR5OiAuNCAhZGVmYXVsdDtcblxuLy8gQ29udmVuaWVuY2UgZnVuY3Rpb24gdXNlZCB0byBzZXQgY29udGVudCBwcm9wZXJ0eVxuQGZ1bmN0aW9uIGZhLWNvbnRlbnQoJGZhLXZhcikge1xuICBAcmV0dXJuIHVucXVvdGUoXCJcXFwiI3sgJGZhLXZhciB9XFxcIlwiKTtcbn1cblxuJGZhLXZhci01MDBweDogXFxmMjZlO1xuJGZhLXZhci1hY2Nlc3NpYmxlLWljb246IFxcZjM2ODtcbiRmYS12YXItYWNjdXNvZnQ6IFxcZjM2OTtcbiRmYS12YXItYWNxdWlzaXRpb25zLWluY29ycG9yYXRlZDogXFxmNmFmO1xuJGZhLXZhci1hZDogXFxmNjQxO1xuJGZhLXZhci1hZGRyZXNzLWJvb2s6IFxcZjJiOTtcbiRmYS12YXItYWRkcmVzcy1jYXJkOiBcXGYyYmI7XG4kZmEtdmFyLWFkanVzdDogXFxmMDQyO1xuJGZhLXZhci1hZG46IFxcZjE3MDtcbiRmYS12YXItYWR2ZXJzYWw6IFxcZjM2YTtcbiRmYS12YXItYWZmaWxpYXRldGhlbWU6IFxcZjM2YjtcbiRmYS12YXItYWlyLWZyZXNoZW5lcjogXFxmNWQwO1xuJGZhLXZhci1haXJibmI6IFxcZjgzNDtcbiRmYS12YXItYWxnb2xpYTogXFxmMzZjO1xuJGZhLXZhci1hbGlnbi1jZW50ZXI6IFxcZjAzNztcbiRmYS12YXItYWxpZ24tanVzdGlmeTogXFxmMDM5O1xuJGZhLXZhci1hbGlnbi1sZWZ0OiBcXGYwMzY7XG4kZmEtdmFyLWFsaWduLXJpZ2h0OiBcXGYwMzg7XG4kZmEtdmFyLWFsaXBheTogXFxmNjQyO1xuJGZhLXZhci1hbGxlcmdpZXM6IFxcZjQ2MTtcbiRmYS12YXItYW1hem9uOiBcXGYyNzA7XG4kZmEtdmFyLWFtYXpvbi1wYXk6IFxcZjQyYztcbiRmYS12YXItYW1idWxhbmNlOiBcXGYwZjk7XG4kZmEtdmFyLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOiBcXGYyYTM7XG4kZmEtdmFyLWFtaWxpYTogXFxmMzZkO1xuJGZhLXZhci1hbmNob3I6IFxcZjEzZDtcbiRmYS12YXItYW5kcm9pZDogXFxmMTdiO1xuJGZhLXZhci1hbmdlbGxpc3Q6IFxcZjIwOTtcbiRmYS12YXItYW5nbGUtZG91YmxlLWRvd246IFxcZjEwMztcbiRmYS12YXItYW5nbGUtZG91YmxlLWxlZnQ6IFxcZjEwMDtcbiRmYS12YXItYW5nbGUtZG91YmxlLXJpZ2h0OiBcXGYxMDE7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS11cDogXFxmMTAyO1xuJGZhLXZhci1hbmdsZS1kb3duOiBcXGYxMDc7XG4kZmEtdmFyLWFuZ2xlLWxlZnQ6IFxcZjEwNDtcbiRmYS12YXItYW5nbGUtcmlnaHQ6IFxcZjEwNTtcbiRmYS12YXItYW5nbGUtdXA6IFxcZjEwNjtcbiRmYS12YXItYW5ncnk6IFxcZjU1NjtcbiRmYS12YXItYW5ncnljcmVhdGl2ZTogXFxmMzZlO1xuJGZhLXZhci1hbmd1bGFyOiBcXGY0MjA7XG4kZmEtdmFyLWFua2g6IFxcZjY0NDtcbiRmYS12YXItYXBwLXN0b3JlOiBcXGYzNmY7XG4kZmEtdmFyLWFwcC1zdG9yZS1pb3M6IFxcZjM3MDtcbiRmYS12YXItYXBwZXI6IFxcZjM3MTtcbiRmYS12YXItYXBwbGU6IFxcZjE3OTtcbiRmYS12YXItYXBwbGUtYWx0OiBcXGY1ZDE7XG4kZmEtdmFyLWFwcGxlLXBheTogXFxmNDE1O1xuJGZhLXZhci1hcmNoaXZlOiBcXGYxODc7XG4kZmEtdmFyLWFyY2h3YXk6IFxcZjU1NztcbiRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1kb3duOiBcXGYzNTg7XG4kZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtbGVmdDogXFxmMzU5O1xuJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLXJpZ2h0OiBcXGYzNWE7XG4kZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtdXA6IFxcZjM1YjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLWRvd246IFxcZjBhYjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLWxlZnQ6IFxcZjBhODtcbiRmYS12YXItYXJyb3ctY2lyY2xlLXJpZ2h0OiBcXGYwYTk7XG4kZmEtdmFyLWFycm93LWNpcmNsZS11cDogXFxmMGFhO1xuJGZhLXZhci1hcnJvdy1kb3duOiBcXGYwNjM7XG4kZmEtdmFyLWFycm93LWxlZnQ6IFxcZjA2MDtcbiRmYS12YXItYXJyb3ctcmlnaHQ6IFxcZjA2MTtcbiRmYS12YXItYXJyb3ctdXA6IFxcZjA2MjtcbiRmYS12YXItYXJyb3dzLWFsdDogXFxmMGIyO1xuJGZhLXZhci1hcnJvd3MtYWx0LWg6IFxcZjMzNztcbiRmYS12YXItYXJyb3dzLWFsdC12OiBcXGYzMzg7XG4kZmEtdmFyLWFydHN0YXRpb246IFxcZjc3YTtcbiRmYS12YXItYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOiBcXGYyYTI7XG4kZmEtdmFyLWFzdGVyaXNrOiBcXGYwNjk7XG4kZmEtdmFyLWFzeW1tZXRyaWs6IFxcZjM3MjtcbiRmYS12YXItYXQ6IFxcZjFmYTtcbiRmYS12YXItYXRsYXM6IFxcZjU1ODtcbiRmYS12YXItYXRsYXNzaWFuOiBcXGY3N2I7XG4kZmEtdmFyLWF0b206IFxcZjVkMjtcbiRmYS12YXItYXVkaWJsZTogXFxmMzczO1xuJGZhLXZhci1hdWRpby1kZXNjcmlwdGlvbjogXFxmMjllO1xuJGZhLXZhci1hdXRvcHJlZml4ZXI6IFxcZjQxYztcbiRmYS12YXItYXZpYW5leDogXFxmMzc0O1xuJGZhLXZhci1hdmlhdG86IFxcZjQyMTtcbiRmYS12YXItYXdhcmQ6IFxcZjU1OTtcbiRmYS12YXItYXdzOiBcXGYzNzU7XG4kZmEtdmFyLWJhYnk6IFxcZjc3YztcbiRmYS12YXItYmFieS1jYXJyaWFnZTogXFxmNzdkO1xuJGZhLXZhci1iYWNrc3BhY2U6IFxcZjU1YTtcbiRmYS12YXItYmFja3dhcmQ6IFxcZjA0YTtcbiRmYS12YXItYmFjb246IFxcZjdlNTtcbiRmYS12YXItYmFjdGVyaWE6IFxcZTA1OTtcbiRmYS12YXItYmFjdGVyaXVtOiBcXGUwNWE7XG4kZmEtdmFyLWJhaGFpOiBcXGY2NjY7XG4kZmEtdmFyLWJhbGFuY2Utc2NhbGU6IFxcZjI0ZTtcbiRmYS12YXItYmFsYW5jZS1zY2FsZS1sZWZ0OiBcXGY1MTU7XG4kZmEtdmFyLWJhbGFuY2Utc2NhbGUtcmlnaHQ6IFxcZjUxNjtcbiRmYS12YXItYmFuOiBcXGYwNWU7XG4kZmEtdmFyLWJhbmQtYWlkOiBcXGY0NjI7XG4kZmEtdmFyLWJhbmRjYW1wOiBcXGYyZDU7XG4kZmEtdmFyLWJhcmNvZGU6IFxcZjAyYTtcbiRmYS12YXItYmFyczogXFxmMGM5O1xuJGZhLXZhci1iYXNlYmFsbC1iYWxsOiBcXGY0MzM7XG4kZmEtdmFyLWJhc2tldGJhbGwtYmFsbDogXFxmNDM0O1xuJGZhLXZhci1iYXRoOiBcXGYyY2Q7XG4kZmEtdmFyLWJhdHRlcnktZW1wdHk6IFxcZjI0NDtcbiRmYS12YXItYmF0dGVyeS1mdWxsOiBcXGYyNDA7XG4kZmEtdmFyLWJhdHRlcnktaGFsZjogXFxmMjQyO1xuJGZhLXZhci1iYXR0ZXJ5LXF1YXJ0ZXI6IFxcZjI0MztcbiRmYS12YXItYmF0dGVyeS10aHJlZS1xdWFydGVyczogXFxmMjQxO1xuJGZhLXZhci1iYXR0bGUtbmV0OiBcXGY4MzU7XG4kZmEtdmFyLWJlZDogXFxmMjM2O1xuJGZhLXZhci1iZWVyOiBcXGYwZmM7XG4kZmEtdmFyLWJlaGFuY2U6IFxcZjFiNDtcbiRmYS12YXItYmVoYW5jZS1zcXVhcmU6IFxcZjFiNTtcbiRmYS12YXItYmVsbDogXFxmMGYzO1xuJGZhLXZhci1iZWxsLXNsYXNoOiBcXGYxZjY7XG4kZmEtdmFyLWJlemllci1jdXJ2ZTogXFxmNTViO1xuJGZhLXZhci1iaWJsZTogXFxmNjQ3O1xuJGZhLXZhci1iaWN5Y2xlOiBcXGYyMDY7XG4kZmEtdmFyLWJpa2luZzogXFxmODRhO1xuJGZhLXZhci1iaW1vYmplY3Q6IFxcZjM3ODtcbiRmYS12YXItYmlub2N1bGFyczogXFxmMWU1O1xuJGZhLXZhci1iaW9oYXphcmQ6IFxcZjc4MDtcbiRmYS12YXItYmlydGhkYXktY2FrZTogXFxmMWZkO1xuJGZhLXZhci1iaXRidWNrZXQ6IFxcZjE3MTtcbiRmYS12YXItYml0Y29pbjogXFxmMzc5O1xuJGZhLXZhci1iaXR5OiBcXGYzN2E7XG4kZmEtdmFyLWJsYWNrLXRpZTogXFxmMjdlO1xuJGZhLXZhci1ibGFja2JlcnJ5OiBcXGYzN2I7XG4kZmEtdmFyLWJsZW5kZXI6IFxcZjUxNztcbiRmYS12YXItYmxlbmRlci1waG9uZTogXFxmNmI2O1xuJGZhLXZhci1ibGluZDogXFxmMjlkO1xuJGZhLXZhci1ibG9nOiBcXGY3ODE7XG4kZmEtdmFyLWJsb2dnZXI6IFxcZjM3YztcbiRmYS12YXItYmxvZ2dlci1iOiBcXGYzN2Q7XG4kZmEtdmFyLWJsdWV0b290aDogXFxmMjkzO1xuJGZhLXZhci1ibHVldG9vdGgtYjogXFxmMjk0O1xuJGZhLXZhci1ib2xkOiBcXGYwMzI7XG4kZmEtdmFyLWJvbHQ6IFxcZjBlNztcbiRmYS12YXItYm9tYjogXFxmMWUyO1xuJGZhLXZhci1ib25lOiBcXGY1ZDc7XG4kZmEtdmFyLWJvbmc6IFxcZjU1YztcbiRmYS12YXItYm9vazogXFxmMDJkO1xuJGZhLXZhci1ib29rLWRlYWQ6IFxcZjZiNztcbiRmYS12YXItYm9vay1tZWRpY2FsOiBcXGY3ZTY7XG4kZmEtdmFyLWJvb2stb3BlbjogXFxmNTE4O1xuJGZhLXZhci1ib29rLXJlYWRlcjogXFxmNWRhO1xuJGZhLXZhci1ib29rbWFyazogXFxmMDJlO1xuJGZhLXZhci1ib290c3RyYXA6IFxcZjgzNjtcbiRmYS12YXItYm9yZGVyLWFsbDogXFxmODRjO1xuJGZhLXZhci1ib3JkZXItbm9uZTogXFxmODUwO1xuJGZhLXZhci1ib3JkZXItc3R5bGU6IFxcZjg1MztcbiRmYS12YXItYm93bGluZy1iYWxsOiBcXGY0MzY7XG4kZmEtdmFyLWJveDogXFxmNDY2O1xuJGZhLXZhci1ib3gtb3BlbjogXFxmNDllO1xuJGZhLXZhci1ib3gtdGlzc3VlOiBcXGUwNWI7XG4kZmEtdmFyLWJveGVzOiBcXGY0Njg7XG4kZmEtdmFyLWJyYWlsbGU6IFxcZjJhMTtcbiRmYS12YXItYnJhaW46IFxcZjVkYztcbiRmYS12YXItYnJlYWQtc2xpY2U6IFxcZjdlYztcbiRmYS12YXItYnJpZWZjYXNlOiBcXGYwYjE7XG4kZmEtdmFyLWJyaWVmY2FzZS1tZWRpY2FsOiBcXGY0Njk7XG4kZmEtdmFyLWJyb2FkY2FzdC10b3dlcjogXFxmNTE5O1xuJGZhLXZhci1icm9vbTogXFxmNTFhO1xuJGZhLXZhci1icnVzaDogXFxmNTVkO1xuJGZhLXZhci1idGM6IFxcZjE1YTtcbiRmYS12YXItYnVmZmVyOiBcXGY4Mzc7XG4kZmEtdmFyLWJ1ZzogXFxmMTg4O1xuJGZhLXZhci1idWlsZGluZzogXFxmMWFkO1xuJGZhLXZhci1idWxsaG9ybjogXFxmMGExO1xuJGZhLXZhci1idWxsc2V5ZTogXFxmMTQwO1xuJGZhLXZhci1idXJuOiBcXGY0NmE7XG4kZmEtdmFyLWJ1cm9tb2JlbGV4cGVydGU6IFxcZjM3ZjtcbiRmYS12YXItYnVzOiBcXGYyMDc7XG4kZmEtdmFyLWJ1cy1hbHQ6IFxcZjU1ZTtcbiRmYS12YXItYnVzaW5lc3MtdGltZTogXFxmNjRhO1xuJGZhLXZhci1idXktbi1sYXJnZTogXFxmOGE2O1xuJGZhLXZhci1idXlzZWxsYWRzOiBcXGYyMGQ7XG4kZmEtdmFyLWNhbGN1bGF0b3I6IFxcZjFlYztcbiRmYS12YXItY2FsZW5kYXI6IFxcZjEzMztcbiRmYS12YXItY2FsZW5kYXItYWx0OiBcXGYwNzM7XG4kZmEtdmFyLWNhbGVuZGFyLWNoZWNrOiBcXGYyNzQ7XG4kZmEtdmFyLWNhbGVuZGFyLWRheTogXFxmNzgzO1xuJGZhLXZhci1jYWxlbmRhci1taW51czogXFxmMjcyO1xuJGZhLXZhci1jYWxlbmRhci1wbHVzOiBcXGYyNzE7XG4kZmEtdmFyLWNhbGVuZGFyLXRpbWVzOiBcXGYyNzM7XG4kZmEtdmFyLWNhbGVuZGFyLXdlZWs6IFxcZjc4NDtcbiRmYS12YXItY2FtZXJhOiBcXGYwMzA7XG4kZmEtdmFyLWNhbWVyYS1yZXRybzogXFxmMDgzO1xuJGZhLXZhci1jYW1wZ3JvdW5kOiBcXGY2YmI7XG4kZmEtdmFyLWNhbmFkaWFuLW1hcGxlLWxlYWY6IFxcZjc4NTtcbiRmYS12YXItY2FuZHktY2FuZTogXFxmNzg2O1xuJGZhLXZhci1jYW5uYWJpczogXFxmNTVmO1xuJGZhLXZhci1jYXBzdWxlczogXFxmNDZiO1xuJGZhLXZhci1jYXI6IFxcZjFiOTtcbiRmYS12YXItY2FyLWFsdDogXFxmNWRlO1xuJGZhLXZhci1jYXItYmF0dGVyeTogXFxmNWRmO1xuJGZhLXZhci1jYXItY3Jhc2g6IFxcZjVlMTtcbiRmYS12YXItY2FyLXNpZGU6IFxcZjVlNDtcbiRmYS12YXItY2FyYXZhbjogXFxmOGZmO1xuJGZhLXZhci1jYXJldC1kb3duOiBcXGYwZDc7XG4kZmEtdmFyLWNhcmV0LWxlZnQ6IFxcZjBkOTtcbiRmYS12YXItY2FyZXQtcmlnaHQ6IFxcZjBkYTtcbiRmYS12YXItY2FyZXQtc3F1YXJlLWRvd246IFxcZjE1MDtcbiRmYS12YXItY2FyZXQtc3F1YXJlLWxlZnQ6IFxcZjE5MTtcbiRmYS12YXItY2FyZXQtc3F1YXJlLXJpZ2h0OiBcXGYxNTI7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS11cDogXFxmMTUxO1xuJGZhLXZhci1jYXJldC11cDogXFxmMGQ4O1xuJGZhLXZhci1jYXJyb3Q6IFxcZjc4NztcbiRmYS12YXItY2FydC1hcnJvdy1kb3duOiBcXGYyMTg7XG4kZmEtdmFyLWNhcnQtcGx1czogXFxmMjE3O1xuJGZhLXZhci1jYXNoLXJlZ2lzdGVyOiBcXGY3ODg7XG4kZmEtdmFyLWNhdDogXFxmNmJlO1xuJGZhLXZhci1jYy1hbWF6b24tcGF5OiBcXGY0MmQ7XG4kZmEtdmFyLWNjLWFtZXg6IFxcZjFmMztcbiRmYS12YXItY2MtYXBwbGUtcGF5OiBcXGY0MTY7XG4kZmEtdmFyLWNjLWRpbmVycy1jbHViOiBcXGYyNGM7XG4kZmEtdmFyLWNjLWRpc2NvdmVyOiBcXGYxZjI7XG4kZmEtdmFyLWNjLWpjYjogXFxmMjRiO1xuJGZhLXZhci1jYy1tYXN0ZXJjYXJkOiBcXGYxZjE7XG4kZmEtdmFyLWNjLXBheXBhbDogXFxmMWY0O1xuJGZhLXZhci1jYy1zdHJpcGU6IFxcZjFmNTtcbiRmYS12YXItY2MtdmlzYTogXFxmMWYwO1xuJGZhLXZhci1jZW50ZXJjb2RlOiBcXGYzODA7XG4kZmEtdmFyLWNlbnRvczogXFxmNzg5O1xuJGZhLXZhci1jZXJ0aWZpY2F0ZTogXFxmMGEzO1xuJGZhLXZhci1jaGFpcjogXFxmNmMwO1xuJGZhLXZhci1jaGFsa2JvYXJkOiBcXGY1MWI7XG4kZmEtdmFyLWNoYWxrYm9hcmQtdGVhY2hlcjogXFxmNTFjO1xuJGZhLXZhci1jaGFyZ2luZy1zdGF0aW9uOiBcXGY1ZTc7XG4kZmEtdmFyLWNoYXJ0LWFyZWE6IFxcZjFmZTtcbiRmYS12YXItY2hhcnQtYmFyOiBcXGYwODA7XG4kZmEtdmFyLWNoYXJ0LWxpbmU6IFxcZjIwMTtcbiRmYS12YXItY2hhcnQtcGllOiBcXGYyMDA7XG4kZmEtdmFyLWNoZWNrOiBcXGYwMGM7XG4kZmEtdmFyLWNoZWNrLWNpcmNsZTogXFxmMDU4O1xuJGZhLXZhci1jaGVjay1kb3VibGU6IFxcZjU2MDtcbiRmYS12YXItY2hlY2stc3F1YXJlOiBcXGYxNGE7XG4kZmEtdmFyLWNoZWVzZTogXFxmN2VmO1xuJGZhLXZhci1jaGVzczogXFxmNDM5O1xuJGZhLXZhci1jaGVzcy1iaXNob3A6IFxcZjQzYTtcbiRmYS12YXItY2hlc3MtYm9hcmQ6IFxcZjQzYztcbiRmYS12YXItY2hlc3Mta2luZzogXFxmNDNmO1xuJGZhLXZhci1jaGVzcy1rbmlnaHQ6IFxcZjQ0MTtcbiRmYS12YXItY2hlc3MtcGF3bjogXFxmNDQzO1xuJGZhLXZhci1jaGVzcy1xdWVlbjogXFxmNDQ1O1xuJGZhLXZhci1jaGVzcy1yb29rOiBcXGY0NDc7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLWRvd246IFxcZjEzYTtcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtbGVmdDogXFxmMTM3O1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1yaWdodDogXFxmMTM4O1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS11cDogXFxmMTM5O1xuJGZhLXZhci1jaGV2cm9uLWRvd246IFxcZjA3ODtcbiRmYS12YXItY2hldnJvbi1sZWZ0OiBcXGYwNTM7XG4kZmEtdmFyLWNoZXZyb24tcmlnaHQ6IFxcZjA1NDtcbiRmYS12YXItY2hldnJvbi11cDogXFxmMDc3O1xuJGZhLXZhci1jaGlsZDogXFxmMWFlO1xuJGZhLXZhci1jaHJvbWU6IFxcZjI2ODtcbiRmYS12YXItY2hyb21lY2FzdDogXFxmODM4O1xuJGZhLXZhci1jaHVyY2g6IFxcZjUxZDtcbiRmYS12YXItY2lyY2xlOiBcXGYxMTE7XG4kZmEtdmFyLWNpcmNsZS1ub3RjaDogXFxmMWNlO1xuJGZhLXZhci1jaXR5OiBcXGY2NGY7XG4kZmEtdmFyLWNsaW5pYy1tZWRpY2FsOiBcXGY3ZjI7XG4kZmEtdmFyLWNsaXBib2FyZDogXFxmMzI4O1xuJGZhLXZhci1jbGlwYm9hcmQtY2hlY2s6IFxcZjQ2YztcbiRmYS12YXItY2xpcGJvYXJkLWxpc3Q6IFxcZjQ2ZDtcbiRmYS12YXItY2xvY2s6IFxcZjAxNztcbiRmYS12YXItY2xvbmU6IFxcZjI0ZDtcbiRmYS12YXItY2xvc2VkLWNhcHRpb25pbmc6IFxcZjIwYTtcbiRmYS12YXItY2xvdWQ6IFxcZjBjMjtcbiRmYS12YXItY2xvdWQtZG93bmxvYWQtYWx0OiBcXGYzODE7XG4kZmEtdmFyLWNsb3VkLW1lYXRiYWxsOiBcXGY3M2I7XG4kZmEtdmFyLWNsb3VkLW1vb246IFxcZjZjMztcbiRmYS12YXItY2xvdWQtbW9vbi1yYWluOiBcXGY3M2M7XG4kZmEtdmFyLWNsb3VkLXJhaW46IFxcZjczZDtcbiRmYS12YXItY2xvdWQtc2hvd2Vycy1oZWF2eTogXFxmNzQwO1xuJGZhLXZhci1jbG91ZC1zdW46IFxcZjZjNDtcbiRmYS12YXItY2xvdWQtc3VuLXJhaW46IFxcZjc0MztcbiRmYS12YXItY2xvdWQtdXBsb2FkLWFsdDogXFxmMzgyO1xuJGZhLXZhci1jbG91ZGZsYXJlOiBcXGUwN2Q7XG4kZmEtdmFyLWNsb3Vkc2NhbGU6IFxcZjM4MztcbiRmYS12YXItY2xvdWRzbWl0aDogXFxmMzg0O1xuJGZhLXZhci1jbG91ZHZlcnNpZnk6IFxcZjM4NTtcbiRmYS12YXItY29ja3RhaWw6IFxcZjU2MTtcbiRmYS12YXItY29kZTogXFxmMTIxO1xuJGZhLXZhci1jb2RlLWJyYW5jaDogXFxmMTI2O1xuJGZhLXZhci1jb2RlcGVuOiBcXGYxY2I7XG4kZmEtdmFyLWNvZGllcGllOiBcXGYyODQ7XG4kZmEtdmFyLWNvZmZlZTogXFxmMGY0O1xuJGZhLXZhci1jb2c6IFxcZjAxMztcbiRmYS12YXItY29nczogXFxmMDg1O1xuJGZhLXZhci1jb2luczogXFxmNTFlO1xuJGZhLXZhci1jb2x1bW5zOiBcXGYwZGI7XG4kZmEtdmFyLWNvbW1lbnQ6IFxcZjA3NTtcbiRmYS12YXItY29tbWVudC1hbHQ6IFxcZjI3YTtcbiRmYS12YXItY29tbWVudC1kb2xsYXI6IFxcZjY1MTtcbiRmYS12YXItY29tbWVudC1kb3RzOiBcXGY0YWQ7XG4kZmEtdmFyLWNvbW1lbnQtbWVkaWNhbDogXFxmN2Y1O1xuJGZhLXZhci1jb21tZW50LXNsYXNoOiBcXGY0YjM7XG4kZmEtdmFyLWNvbW1lbnRzOiBcXGYwODY7XG4kZmEtdmFyLWNvbW1lbnRzLWRvbGxhcjogXFxmNjUzO1xuJGZhLXZhci1jb21wYWN0LWRpc2M6IFxcZjUxZjtcbiRmYS12YXItY29tcGFzczogXFxmMTRlO1xuJGZhLXZhci1jb21wcmVzczogXFxmMDY2O1xuJGZhLXZhci1jb21wcmVzcy1hbHQ6IFxcZjQyMjtcbiRmYS12YXItY29tcHJlc3MtYXJyb3dzLWFsdDogXFxmNzhjO1xuJGZhLXZhci1jb25jaWVyZ2UtYmVsbDogXFxmNTYyO1xuJGZhLXZhci1jb25mbHVlbmNlOiBcXGY3OGQ7XG4kZmEtdmFyLWNvbm5lY3RkZXZlbG9wOiBcXGYyMGU7XG4kZmEtdmFyLWNvbnRhbzogXFxmMjZkO1xuJGZhLXZhci1jb29raWU6IFxcZjU2MztcbiRmYS12YXItY29va2llLWJpdGU6IFxcZjU2NDtcbiRmYS12YXItY29weTogXFxmMGM1O1xuJGZhLXZhci1jb3B5cmlnaHQ6IFxcZjFmOTtcbiRmYS12YXItY290dG9uLWJ1cmVhdTogXFxmODllO1xuJGZhLXZhci1jb3VjaDogXFxmNGI4O1xuJGZhLXZhci1jcGFuZWw6IFxcZjM4ODtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9uczogXFxmMjVlO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLWJ5OiBcXGY0ZTc7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmM6IFxcZjRlODtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1ldTogXFxmNGU5O1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jLWpwOiBcXGY0ZWE7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmQ6IFxcZjRlYjtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1wZDogXFxmNGVjO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXBkLWFsdDogXFxmNGVkO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXJlbWl4OiBcXGY0ZWU7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2E6IFxcZjRlZjtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZzogXFxmNGYwO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nLXBsdXM6IFxcZjRmMTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zaGFyZTogXFxmNGYyO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXplcm86IFxcZjRmMztcbiRmYS12YXItY3JlZGl0LWNhcmQ6IFxcZjA5ZDtcbiRmYS12YXItY3JpdGljYWwtcm9sZTogXFxmNmM5O1xuJGZhLXZhci1jcm9wOiBcXGYxMjU7XG4kZmEtdmFyLWNyb3AtYWx0OiBcXGY1NjU7XG4kZmEtdmFyLWNyb3NzOiBcXGY2NTQ7XG4kZmEtdmFyLWNyb3NzaGFpcnM6IFxcZjA1YjtcbiRmYS12YXItY3JvdzogXFxmNTIwO1xuJGZhLXZhci1jcm93bjogXFxmNTIxO1xuJGZhLXZhci1jcnV0Y2g6IFxcZjdmNztcbiRmYS12YXItY3NzMzogXFxmMTNjO1xuJGZhLXZhci1jc3MzLWFsdDogXFxmMzhiO1xuJGZhLXZhci1jdWJlOiBcXGYxYjI7XG4kZmEtdmFyLWN1YmVzOiBcXGYxYjM7XG4kZmEtdmFyLWN1dDogXFxmMGM0O1xuJGZhLXZhci1jdXR0bGVmaXNoOiBcXGYzOGM7XG4kZmEtdmFyLWQtYW5kLWQ6IFxcZjM4ZDtcbiRmYS12YXItZC1hbmQtZC1iZXlvbmQ6IFxcZjZjYTtcbiRmYS12YXItZGFpbHltb3Rpb246IFxcZTA1MjtcbiRmYS12YXItZGFzaGN1YmU6IFxcZjIxMDtcbiRmYS12YXItZGF0YWJhc2U6IFxcZjFjMDtcbiRmYS12YXItZGVhZjogXFxmMmE0O1xuJGZhLXZhci1kZWV6ZXI6IFxcZTA3NztcbiRmYS12YXItZGVsaWNpb3VzOiBcXGYxYTU7XG4kZmEtdmFyLWRlbW9jcmF0OiBcXGY3NDc7XG4kZmEtdmFyLWRlcGxveWRvZzogXFxmMzhlO1xuJGZhLXZhci1kZXNrcHJvOiBcXGYzOGY7XG4kZmEtdmFyLWRlc2t0b3A6IFxcZjEwODtcbiRmYS12YXItZGV2OiBcXGY2Y2M7XG4kZmEtdmFyLWRldmlhbnRhcnQ6IFxcZjFiZDtcbiRmYS12YXItZGhhcm1hY2hha3JhOiBcXGY2NTU7XG4kZmEtdmFyLWRobDogXFxmNzkwO1xuJGZhLXZhci1kaWFnbm9zZXM6IFxcZjQ3MDtcbiRmYS12YXItZGlhc3BvcmE6IFxcZjc5MTtcbiRmYS12YXItZGljZTogXFxmNTIyO1xuJGZhLXZhci1kaWNlLWQyMDogXFxmNmNmO1xuJGZhLXZhci1kaWNlLWQ2OiBcXGY2ZDE7XG4kZmEtdmFyLWRpY2UtZml2ZTogXFxmNTIzO1xuJGZhLXZhci1kaWNlLWZvdXI6IFxcZjUyNDtcbiRmYS12YXItZGljZS1vbmU6IFxcZjUyNTtcbiRmYS12YXItZGljZS1zaXg6IFxcZjUyNjtcbiRmYS12YXItZGljZS10aHJlZTogXFxmNTI3O1xuJGZhLXZhci1kaWNlLXR3bzogXFxmNTI4O1xuJGZhLXZhci1kaWdnOiBcXGYxYTY7XG4kZmEtdmFyLWRpZ2l0YWwtb2NlYW46IFxcZjM5MTtcbiRmYS12YXItZGlnaXRhbC10YWNob2dyYXBoOiBcXGY1NjY7XG4kZmEtdmFyLWRpcmVjdGlvbnM6IFxcZjVlYjtcbiRmYS12YXItZGlzY29yZDogXFxmMzkyO1xuJGZhLXZhci1kaXNjb3Vyc2U6IFxcZjM5MztcbiRmYS12YXItZGlzZWFzZTogXFxmN2ZhO1xuJGZhLXZhci1kaXZpZGU6IFxcZjUyOTtcbiRmYS12YXItZGl6enk6IFxcZjU2NztcbiRmYS12YXItZG5hOiBcXGY0NzE7XG4kZmEtdmFyLWRvY2h1YjogXFxmMzk0O1xuJGZhLXZhci1kb2NrZXI6IFxcZjM5NTtcbiRmYS12YXItZG9nOiBcXGY2ZDM7XG4kZmEtdmFyLWRvbGxhci1zaWduOiBcXGYxNTU7XG4kZmEtdmFyLWRvbGx5OiBcXGY0NzI7XG4kZmEtdmFyLWRvbGx5LWZsYXRiZWQ6IFxcZjQ3NDtcbiRmYS12YXItZG9uYXRlOiBcXGY0Yjk7XG4kZmEtdmFyLWRvb3ItY2xvc2VkOiBcXGY1MmE7XG4kZmEtdmFyLWRvb3Itb3BlbjogXFxmNTJiO1xuJGZhLXZhci1kb3QtY2lyY2xlOiBcXGYxOTI7XG4kZmEtdmFyLWRvdmU6IFxcZjRiYTtcbiRmYS12YXItZG93bmxvYWQ6IFxcZjAxOTtcbiRmYS12YXItZHJhZnQyZGlnaXRhbDogXFxmMzk2O1xuJGZhLXZhci1kcmFmdGluZy1jb21wYXNzOiBcXGY1Njg7XG4kZmEtdmFyLWRyYWdvbjogXFxmNmQ1O1xuJGZhLXZhci1kcmF3LXBvbHlnb246IFxcZjVlZTtcbiRmYS12YXItZHJpYmJibGU6IFxcZjE3ZDtcbiRmYS12YXItZHJpYmJibGUtc3F1YXJlOiBcXGYzOTc7XG4kZmEtdmFyLWRyb3Bib3g6IFxcZjE2YjtcbiRmYS12YXItZHJ1bTogXFxmNTY5O1xuJGZhLXZhci1kcnVtLXN0ZWVscGFuOiBcXGY1NmE7XG4kZmEtdmFyLWRydW1zdGljay1iaXRlOiBcXGY2ZDc7XG4kZmEtdmFyLWRydXBhbDogXFxmMWE5O1xuJGZhLXZhci1kdW1iYmVsbDogXFxmNDRiO1xuJGZhLXZhci1kdW1wc3RlcjogXFxmNzkzO1xuJGZhLXZhci1kdW1wc3Rlci1maXJlOiBcXGY3OTQ7XG4kZmEtdmFyLWR1bmdlb246IFxcZjZkOTtcbiRmYS12YXItZHlhbG9nOiBcXGYzOTk7XG4kZmEtdmFyLWVhcmx5YmlyZHM6IFxcZjM5YTtcbiRmYS12YXItZWJheTogXFxmNGY0O1xuJGZhLXZhci1lZGdlOiBcXGYyODI7XG4kZmEtdmFyLWVkZ2UtbGVnYWN5OiBcXGUwNzg7XG4kZmEtdmFyLWVkaXQ6IFxcZjA0NDtcbiRmYS12YXItZWdnOiBcXGY3ZmI7XG4kZmEtdmFyLWVqZWN0OiBcXGYwNTI7XG4kZmEtdmFyLWVsZW1lbnRvcjogXFxmNDMwO1xuJGZhLXZhci1lbGxpcHNpcy1oOiBcXGYxNDE7XG4kZmEtdmFyLWVsbGlwc2lzLXY6IFxcZjE0MjtcbiRmYS12YXItZWxsbzogXFxmNWYxO1xuJGZhLXZhci1lbWJlcjogXFxmNDIzO1xuJGZhLXZhci1lbXBpcmU6IFxcZjFkMTtcbiRmYS12YXItZW52ZWxvcGU6IFxcZjBlMDtcbiRmYS12YXItZW52ZWxvcGUtb3BlbjogXFxmMmI2O1xuJGZhLXZhci1lbnZlbG9wZS1vcGVuLXRleHQ6IFxcZjY1ODtcbiRmYS12YXItZW52ZWxvcGUtc3F1YXJlOiBcXGYxOTk7XG4kZmEtdmFyLWVudmlyYTogXFxmMjk5O1xuJGZhLXZhci1lcXVhbHM6IFxcZjUyYztcbiRmYS12YXItZXJhc2VyOiBcXGYxMmQ7XG4kZmEtdmFyLWVybGFuZzogXFxmMzlkO1xuJGZhLXZhci1ldGhlcmV1bTogXFxmNDJlO1xuJGZhLXZhci1ldGhlcm5ldDogXFxmNzk2O1xuJGZhLXZhci1ldHN5OiBcXGYyZDc7XG4kZmEtdmFyLWV1cm8tc2lnbjogXFxmMTUzO1xuJGZhLXZhci1ldmVybm90ZTogXFxmODM5O1xuJGZhLXZhci1leGNoYW5nZS1hbHQ6IFxcZjM2MjtcbiRmYS12YXItZXhjbGFtYXRpb246IFxcZjEyYTtcbiRmYS12YXItZXhjbGFtYXRpb24tY2lyY2xlOiBcXGYwNmE7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOiBcXGYwNzE7XG4kZmEtdmFyLWV4cGFuZDogXFxmMDY1O1xuJGZhLXZhci1leHBhbmQtYWx0OiBcXGY0MjQ7XG4kZmEtdmFyLWV4cGFuZC1hcnJvd3MtYWx0OiBcXGYzMWU7XG4kZmEtdmFyLWV4cGVkaXRlZHNzbDogXFxmMjNlO1xuJGZhLXZhci1leHRlcm5hbC1saW5rLWFsdDogXFxmMzVkO1xuJGZhLXZhci1leHRlcm5hbC1saW5rLXNxdWFyZS1hbHQ6IFxcZjM2MDtcbiRmYS12YXItZXllOiBcXGYwNmU7XG4kZmEtdmFyLWV5ZS1kcm9wcGVyOiBcXGYxZmI7XG4kZmEtdmFyLWV5ZS1zbGFzaDogXFxmMDcwO1xuJGZhLXZhci1mYWNlYm9vazogXFxmMDlhO1xuJGZhLXZhci1mYWNlYm9vay1mOiBcXGYzOWU7XG4kZmEtdmFyLWZhY2Vib29rLW1lc3NlbmdlcjogXFxmMzlmO1xuJGZhLXZhci1mYWNlYm9vay1zcXVhcmU6IFxcZjA4MjtcbiRmYS12YXItZmFuOiBcXGY4NjM7XG4kZmEtdmFyLWZhbnRhc3ktZmxpZ2h0LWdhbWVzOiBcXGY2ZGM7XG4kZmEtdmFyLWZhc3QtYmFja3dhcmQ6IFxcZjA0OTtcbiRmYS12YXItZmFzdC1mb3J3YXJkOiBcXGYwNTA7XG4kZmEtdmFyLWZhdWNldDogXFxlMDA1O1xuJGZhLXZhci1mYXg6IFxcZjFhYztcbiRmYS12YXItZmVhdGhlcjogXFxmNTJkO1xuJGZhLXZhci1mZWF0aGVyLWFsdDogXFxmNTZiO1xuJGZhLXZhci1mZWRleDogXFxmNzk3O1xuJGZhLXZhci1mZWRvcmE6IFxcZjc5ODtcbiRmYS12YXItZmVtYWxlOiBcXGYxODI7XG4kZmEtdmFyLWZpZ2h0ZXItamV0OiBcXGYwZmI7XG4kZmEtdmFyLWZpZ21hOiBcXGY3OTk7XG4kZmEtdmFyLWZpbGU6IFxcZjE1YjtcbiRmYS12YXItZmlsZS1hbHQ6IFxcZjE1YztcbiRmYS12YXItZmlsZS1hcmNoaXZlOiBcXGYxYzY7XG4kZmEtdmFyLWZpbGUtYXVkaW86IFxcZjFjNztcbiRmYS12YXItZmlsZS1jb2RlOiBcXGYxYzk7XG4kZmEtdmFyLWZpbGUtY29udHJhY3Q6IFxcZjU2YztcbiRmYS12YXItZmlsZS1jc3Y6IFxcZjZkZDtcbiRmYS12YXItZmlsZS1kb3dubG9hZDogXFxmNTZkO1xuJGZhLXZhci1maWxlLWV4Y2VsOiBcXGYxYzM7XG4kZmEtdmFyLWZpbGUtZXhwb3J0OiBcXGY1NmU7XG4kZmEtdmFyLWZpbGUtaW1hZ2U6IFxcZjFjNTtcbiRmYS12YXItZmlsZS1pbXBvcnQ6IFxcZjU2ZjtcbiRmYS12YXItZmlsZS1pbnZvaWNlOiBcXGY1NzA7XG4kZmEtdmFyLWZpbGUtaW52b2ljZS1kb2xsYXI6IFxcZjU3MTtcbiRmYS12YXItZmlsZS1tZWRpY2FsOiBcXGY0Nzc7XG4kZmEtdmFyLWZpbGUtbWVkaWNhbC1hbHQ6IFxcZjQ3ODtcbiRmYS12YXItZmlsZS1wZGY6IFxcZjFjMTtcbiRmYS12YXItZmlsZS1wb3dlcnBvaW50OiBcXGYxYzQ7XG4kZmEtdmFyLWZpbGUtcHJlc2NyaXB0aW9uOiBcXGY1NzI7XG4kZmEtdmFyLWZpbGUtc2lnbmF0dXJlOiBcXGY1NzM7XG4kZmEtdmFyLWZpbGUtdXBsb2FkOiBcXGY1NzQ7XG4kZmEtdmFyLWZpbGUtdmlkZW86IFxcZjFjODtcbiRmYS12YXItZmlsZS13b3JkOiBcXGYxYzI7XG4kZmEtdmFyLWZpbGw6IFxcZjU3NTtcbiRmYS12YXItZmlsbC1kcmlwOiBcXGY1NzY7XG4kZmEtdmFyLWZpbG06IFxcZjAwODtcbiRmYS12YXItZmlsdGVyOiBcXGYwYjA7XG4kZmEtdmFyLWZpbmdlcnByaW50OiBcXGY1Nzc7XG4kZmEtdmFyLWZpcmU6IFxcZjA2ZDtcbiRmYS12YXItZmlyZS1hbHQ6IFxcZjdlNDtcbiRmYS12YXItZmlyZS1leHRpbmd1aXNoZXI6IFxcZjEzNDtcbiRmYS12YXItZmlyZWZveDogXFxmMjY5O1xuJGZhLXZhci1maXJlZm94LWJyb3dzZXI6IFxcZTAwNztcbiRmYS12YXItZmlyc3QtYWlkOiBcXGY0Nzk7XG4kZmEtdmFyLWZpcnN0LW9yZGVyOiBcXGYyYjA7XG4kZmEtdmFyLWZpcnN0LW9yZGVyLWFsdDogXFxmNTBhO1xuJGZhLXZhci1maXJzdGRyYWZ0OiBcXGYzYTE7XG4kZmEtdmFyLWZpc2g6IFxcZjU3ODtcbiRmYS12YXItZmlzdC1yYWlzZWQ6IFxcZjZkZTtcbiRmYS12YXItZmxhZzogXFxmMDI0O1xuJGZhLXZhci1mbGFnLWNoZWNrZXJlZDogXFxmMTFlO1xuJGZhLXZhci1mbGFnLXVzYTogXFxmNzRkO1xuJGZhLXZhci1mbGFzazogXFxmMGMzO1xuJGZhLXZhci1mbGlja3I6IFxcZjE2ZTtcbiRmYS12YXItZmxpcGJvYXJkOiBcXGY0NGQ7XG4kZmEtdmFyLWZsdXNoZWQ6IFxcZjU3OTtcbiRmYS12YXItZmx5OiBcXGY0MTc7XG4kZmEtdmFyLWZvbGRlcjogXFxmMDdiO1xuJGZhLXZhci1mb2xkZXItbWludXM6IFxcZjY1ZDtcbiRmYS12YXItZm9sZGVyLW9wZW46IFxcZjA3YztcbiRmYS12YXItZm9sZGVyLXBsdXM6IFxcZjY1ZTtcbiRmYS12YXItZm9udDogXFxmMDMxO1xuJGZhLXZhci1mb250LWF3ZXNvbWU6IFxcZjJiNDtcbiRmYS12YXItZm9udC1hd2Vzb21lLWFsdDogXFxmMzVjO1xuJGZhLXZhci1mb250LWF3ZXNvbWUtZmxhZzogXFxmNDI1O1xuJGZhLXZhci1mb250LWF3ZXNvbWUtbG9nby1mdWxsOiBcXGY0ZTY7XG4kZmEtdmFyLWZvbnRpY29uczogXFxmMjgwO1xuJGZhLXZhci1mb250aWNvbnMtZmk6IFxcZjNhMjtcbiRmYS12YXItZm9vdGJhbGwtYmFsbDogXFxmNDRlO1xuJGZhLXZhci1mb3J0LWF3ZXNvbWU6IFxcZjI4NjtcbiRmYS12YXItZm9ydC1hd2Vzb21lLWFsdDogXFxmM2EzO1xuJGZhLXZhci1mb3J1bWJlZTogXFxmMjExO1xuJGZhLXZhci1mb3J3YXJkOiBcXGYwNGU7XG4kZmEtdmFyLWZvdXJzcXVhcmU6IFxcZjE4MDtcbiRmYS12YXItZnJlZS1jb2RlLWNhbXA6IFxcZjJjNTtcbiRmYS12YXItZnJlZWJzZDogXFxmM2E0O1xuJGZhLXZhci1mcm9nOiBcXGY1MmU7XG4kZmEtdmFyLWZyb3duOiBcXGYxMTk7XG4kZmEtdmFyLWZyb3duLW9wZW46IFxcZjU3YTtcbiRmYS12YXItZnVsY3J1bTogXFxmNTBiO1xuJGZhLXZhci1mdW5uZWwtZG9sbGFyOiBcXGY2NjI7XG4kZmEtdmFyLWZ1dGJvbDogXFxmMWUzO1xuJGZhLXZhci1nYWxhY3RpYy1yZXB1YmxpYzogXFxmNTBjO1xuJGZhLXZhci1nYWxhY3RpYy1zZW5hdGU6IFxcZjUwZDtcbiRmYS12YXItZ2FtZXBhZDogXFxmMTFiO1xuJGZhLXZhci1nYXMtcHVtcDogXFxmNTJmO1xuJGZhLXZhci1nYXZlbDogXFxmMGUzO1xuJGZhLXZhci1nZW06IFxcZjNhNTtcbiRmYS12YXItZ2VuZGVybGVzczogXFxmMjJkO1xuJGZhLXZhci1nZXQtcG9ja2V0OiBcXGYyNjU7XG4kZmEtdmFyLWdnOiBcXGYyNjA7XG4kZmEtdmFyLWdnLWNpcmNsZTogXFxmMjYxO1xuJGZhLXZhci1naG9zdDogXFxmNmUyO1xuJGZhLXZhci1naWZ0OiBcXGYwNmI7XG4kZmEtdmFyLWdpZnRzOiBcXGY3OWM7XG4kZmEtdmFyLWdpdDogXFxmMWQzO1xuJGZhLXZhci1naXQtYWx0OiBcXGY4NDE7XG4kZmEtdmFyLWdpdC1zcXVhcmU6IFxcZjFkMjtcbiRmYS12YXItZ2l0aHViOiBcXGYwOWI7XG4kZmEtdmFyLWdpdGh1Yi1hbHQ6IFxcZjExMztcbiRmYS12YXItZ2l0aHViLXNxdWFyZTogXFxmMDkyO1xuJGZhLXZhci1naXRrcmFrZW46IFxcZjNhNjtcbiRmYS12YXItZ2l0bGFiOiBcXGYyOTY7XG4kZmEtdmFyLWdpdHRlcjogXFxmNDI2O1xuJGZhLXZhci1nbGFzcy1jaGVlcnM6IFxcZjc5ZjtcbiRmYS12YXItZ2xhc3MtbWFydGluaTogXFxmMDAwO1xuJGZhLXZhci1nbGFzcy1tYXJ0aW5pLWFsdDogXFxmNTdiO1xuJGZhLXZhci1nbGFzcy13aGlza2V5OiBcXGY3YTA7XG4kZmEtdmFyLWdsYXNzZXM6IFxcZjUzMDtcbiRmYS12YXItZ2xpZGU6IFxcZjJhNTtcbiRmYS12YXItZ2xpZGUtZzogXFxmMmE2O1xuJGZhLXZhci1nbG9iZTogXFxmMGFjO1xuJGZhLXZhci1nbG9iZS1hZnJpY2E6IFxcZjU3YztcbiRmYS12YXItZ2xvYmUtYW1lcmljYXM6IFxcZjU3ZDtcbiRmYS12YXItZ2xvYmUtYXNpYTogXFxmNTdlO1xuJGZhLXZhci1nbG9iZS1ldXJvcGU6IFxcZjdhMjtcbiRmYS12YXItZ29mb3JlOiBcXGYzYTc7XG4kZmEtdmFyLWdvbGYtYmFsbDogXFxmNDUwO1xuJGZhLXZhci1nb29kcmVhZHM6IFxcZjNhODtcbiRmYS12YXItZ29vZHJlYWRzLWc6IFxcZjNhOTtcbiRmYS12YXItZ29vZ2xlOiBcXGYxYTA7XG4kZmEtdmFyLWdvb2dsZS1kcml2ZTogXFxmM2FhO1xuJGZhLXZhci1nb29nbGUtcGF5OiBcXGUwNzk7XG4kZmEtdmFyLWdvb2dsZS1wbGF5OiBcXGYzYWI7XG4kZmEtdmFyLWdvb2dsZS1wbHVzOiBcXGYyYjM7XG4kZmEtdmFyLWdvb2dsZS1wbHVzLWc6IFxcZjBkNTtcbiRmYS12YXItZ29vZ2xlLXBsdXMtc3F1YXJlOiBcXGYwZDQ7XG4kZmEtdmFyLWdvb2dsZS13YWxsZXQ6IFxcZjFlZTtcbiRmYS12YXItZ29wdXJhbTogXFxmNjY0O1xuJGZhLXZhci1ncmFkdWF0aW9uLWNhcDogXFxmMTlkO1xuJGZhLXZhci1ncmF0aXBheTogXFxmMTg0O1xuJGZhLXZhci1ncmF2OiBcXGYyZDY7XG4kZmEtdmFyLWdyZWF0ZXItdGhhbjogXFxmNTMxO1xuJGZhLXZhci1ncmVhdGVyLXRoYW4tZXF1YWw6IFxcZjUzMjtcbiRmYS12YXItZ3JpbWFjZTogXFxmNTdmO1xuJGZhLXZhci1ncmluOiBcXGY1ODA7XG4kZmEtdmFyLWdyaW4tYWx0OiBcXGY1ODE7XG4kZmEtdmFyLWdyaW4tYmVhbTogXFxmNTgyO1xuJGZhLXZhci1ncmluLWJlYW0tc3dlYXQ6IFxcZjU4MztcbiRmYS12YXItZ3Jpbi1oZWFydHM6IFxcZjU4NDtcbiRmYS12YXItZ3Jpbi1zcXVpbnQ6IFxcZjU4NTtcbiRmYS12YXItZ3Jpbi1zcXVpbnQtdGVhcnM6IFxcZjU4NjtcbiRmYS12YXItZ3Jpbi1zdGFyczogXFxmNTg3O1xuJGZhLXZhci1ncmluLXRlYXJzOiBcXGY1ODg7XG4kZmEtdmFyLWdyaW4tdG9uZ3VlOiBcXGY1ODk7XG4kZmEtdmFyLWdyaW4tdG9uZ3VlLXNxdWludDogXFxmNThhO1xuJGZhLXZhci1ncmluLXRvbmd1ZS13aW5rOiBcXGY1OGI7XG4kZmEtdmFyLWdyaW4td2luazogXFxmNThjO1xuJGZhLXZhci1ncmlwLWhvcml6b250YWw6IFxcZjU4ZDtcbiRmYS12YXItZ3JpcC1saW5lczogXFxmN2E0O1xuJGZhLXZhci1ncmlwLWxpbmVzLXZlcnRpY2FsOiBcXGY3YTU7XG4kZmEtdmFyLWdyaXAtdmVydGljYWw6IFxcZjU4ZTtcbiRmYS12YXItZ3JpcGZpcmU6IFxcZjNhYztcbiRmYS12YXItZ3J1bnQ6IFxcZjNhZDtcbiRmYS12YXItZ3VpbGRlZDogXFxlMDdlO1xuJGZhLXZhci1ndWl0YXI6IFxcZjdhNjtcbiRmYS12YXItZ3VscDogXFxmM2FlO1xuJGZhLXZhci1oLXNxdWFyZTogXFxmMGZkO1xuJGZhLXZhci1oYWNrZXItbmV3czogXFxmMWQ0O1xuJGZhLXZhci1oYWNrZXItbmV3cy1zcXVhcmU6IFxcZjNhZjtcbiRmYS12YXItaGFja2VycmFuazogXFxmNWY3O1xuJGZhLXZhci1oYW1idXJnZXI6IFxcZjgwNTtcbiRmYS12YXItaGFtbWVyOiBcXGY2ZTM7XG4kZmEtdmFyLWhhbXNhOiBcXGY2NjU7XG4kZmEtdmFyLWhhbmQtaG9sZGluZzogXFxmNGJkO1xuJGZhLXZhci1oYW5kLWhvbGRpbmctaGVhcnQ6IFxcZjRiZTtcbiRmYS12YXItaGFuZC1ob2xkaW5nLW1lZGljYWw6IFxcZTA1YztcbiRmYS12YXItaGFuZC1ob2xkaW5nLXVzZDogXFxmNGMwO1xuJGZhLXZhci1oYW5kLWhvbGRpbmctd2F0ZXI6IFxcZjRjMTtcbiRmYS12YXItaGFuZC1saXphcmQ6IFxcZjI1ODtcbiRmYS12YXItaGFuZC1taWRkbGUtZmluZ2VyOiBcXGY4MDY7XG4kZmEtdmFyLWhhbmQtcGFwZXI6IFxcZjI1NjtcbiRmYS12YXItaGFuZC1wZWFjZTogXFxmMjViO1xuJGZhLXZhci1oYW5kLXBvaW50LWRvd246IFxcZjBhNztcbiRmYS12YXItaGFuZC1wb2ludC1sZWZ0OiBcXGYwYTU7XG4kZmEtdmFyLWhhbmQtcG9pbnQtcmlnaHQ6IFxcZjBhNDtcbiRmYS12YXItaGFuZC1wb2ludC11cDogXFxmMGE2O1xuJGZhLXZhci1oYW5kLXBvaW50ZXI6IFxcZjI1YTtcbiRmYS12YXItaGFuZC1yb2NrOiBcXGYyNTU7XG4kZmEtdmFyLWhhbmQtc2Npc3NvcnM6IFxcZjI1NztcbiRmYS12YXItaGFuZC1zcGFya2xlczogXFxlMDVkO1xuJGZhLXZhci1oYW5kLXNwb2NrOiBcXGYyNTk7XG4kZmEtdmFyLWhhbmRzOiBcXGY0YzI7XG4kZmEtdmFyLWhhbmRzLWhlbHBpbmc6IFxcZjRjNDtcbiRmYS12YXItaGFuZHMtd2FzaDogXFxlMDVlO1xuJGZhLXZhci1oYW5kc2hha2U6IFxcZjJiNTtcbiRmYS12YXItaGFuZHNoYWtlLWFsdC1zbGFzaDogXFxlMDVmO1xuJGZhLXZhci1oYW5kc2hha2Utc2xhc2g6IFxcZTA2MDtcbiRmYS12YXItaGFudWtpYWg6IFxcZjZlNjtcbiRmYS12YXItaGFyZC1oYXQ6IFxcZjgwNztcbiRmYS12YXItaGFzaHRhZzogXFxmMjkyO1xuJGZhLXZhci1oYXQtY293Ym95OiBcXGY4YzA7XG4kZmEtdmFyLWhhdC1jb3dib3ktc2lkZTogXFxmOGMxO1xuJGZhLXZhci1oYXQtd2l6YXJkOiBcXGY2ZTg7XG4kZmEtdmFyLWhkZDogXFxmMGEwO1xuJGZhLXZhci1oZWFkLXNpZGUtY291Z2g6IFxcZTA2MTtcbiRmYS12YXItaGVhZC1zaWRlLWNvdWdoLXNsYXNoOiBcXGUwNjI7XG4kZmEtdmFyLWhlYWQtc2lkZS1tYXNrOiBcXGUwNjM7XG4kZmEtdmFyLWhlYWQtc2lkZS12aXJ1czogXFxlMDY0O1xuJGZhLXZhci1oZWFkaW5nOiBcXGYxZGM7XG4kZmEtdmFyLWhlYWRwaG9uZXM6IFxcZjAyNTtcbiRmYS12YXItaGVhZHBob25lcy1hbHQ6IFxcZjU4ZjtcbiRmYS12YXItaGVhZHNldDogXFxmNTkwO1xuJGZhLXZhci1oZWFydDogXFxmMDA0O1xuJGZhLXZhci1oZWFydC1icm9rZW46IFxcZjdhOTtcbiRmYS12YXItaGVhcnRiZWF0OiBcXGYyMWU7XG4kZmEtdmFyLWhlbGljb3B0ZXI6IFxcZjUzMztcbiRmYS12YXItaGlnaGxpZ2h0ZXI6IFxcZjU5MTtcbiRmYS12YXItaGlraW5nOiBcXGY2ZWM7XG4kZmEtdmFyLWhpcHBvOiBcXGY2ZWQ7XG4kZmEtdmFyLWhpcHM6IFxcZjQ1MjtcbiRmYS12YXItaGlyZS1hLWhlbHBlcjogXFxmM2IwO1xuJGZhLXZhci1oaXN0b3J5OiBcXGYxZGE7XG4kZmEtdmFyLWhpdmU6IFxcZTA3ZjtcbiRmYS12YXItaG9ja2V5LXB1Y2s6IFxcZjQ1MztcbiRmYS12YXItaG9sbHktYmVycnk6IFxcZjdhYTtcbiRmYS12YXItaG9tZTogXFxmMDE1O1xuJGZhLXZhci1ob29saTogXFxmNDI3O1xuJGZhLXZhci1ob3JuYmlsbDogXFxmNTkyO1xuJGZhLXZhci1ob3JzZTogXFxmNmYwO1xuJGZhLXZhci1ob3JzZS1oZWFkOiBcXGY3YWI7XG4kZmEtdmFyLWhvc3BpdGFsOiBcXGYwZjg7XG4kZmEtdmFyLWhvc3BpdGFsLWFsdDogXFxmNDdkO1xuJGZhLXZhci1ob3NwaXRhbC1zeW1ib2w6IFxcZjQ3ZTtcbiRmYS12YXItaG9zcGl0YWwtdXNlcjogXFxmODBkO1xuJGZhLXZhci1ob3QtdHViOiBcXGY1OTM7XG4kZmEtdmFyLWhvdGRvZzogXFxmODBmO1xuJGZhLXZhci1ob3RlbDogXFxmNTk0O1xuJGZhLXZhci1ob3RqYXI6IFxcZjNiMTtcbiRmYS12YXItaG91cmdsYXNzOiBcXGYyNTQ7XG4kZmEtdmFyLWhvdXJnbGFzcy1lbmQ6IFxcZjI1MztcbiRmYS12YXItaG91cmdsYXNzLWhhbGY6IFxcZjI1MjtcbiRmYS12YXItaG91cmdsYXNzLXN0YXJ0OiBcXGYyNTE7XG4kZmEtdmFyLWhvdXNlLWRhbWFnZTogXFxmNmYxO1xuJGZhLXZhci1ob3VzZS11c2VyOiBcXGUwNjU7XG4kZmEtdmFyLWhvdXp6OiBcXGYyN2M7XG4kZmEtdmFyLWhyeXZuaWE6IFxcZjZmMjtcbiRmYS12YXItaHRtbDU6IFxcZjEzYjtcbiRmYS12YXItaHVic3BvdDogXFxmM2IyO1xuJGZhLXZhci1pLWN1cnNvcjogXFxmMjQ2O1xuJGZhLXZhci1pY2UtY3JlYW06IFxcZjgxMDtcbiRmYS12YXItaWNpY2xlczogXFxmN2FkO1xuJGZhLXZhci1pY29uczogXFxmODZkO1xuJGZhLXZhci1pZC1iYWRnZTogXFxmMmMxO1xuJGZhLXZhci1pZC1jYXJkOiBcXGYyYzI7XG4kZmEtdmFyLWlkLWNhcmQtYWx0OiBcXGY0N2Y7XG4kZmEtdmFyLWlkZWFsOiBcXGUwMTM7XG4kZmEtdmFyLWlnbG9vOiBcXGY3YWU7XG4kZmEtdmFyLWltYWdlOiBcXGYwM2U7XG4kZmEtdmFyLWltYWdlczogXFxmMzAyO1xuJGZhLXZhci1pbWRiOiBcXGYyZDg7XG4kZmEtdmFyLWluYm94OiBcXGYwMWM7XG4kZmEtdmFyLWluZGVudDogXFxmMDNjO1xuJGZhLXZhci1pbmR1c3RyeTogXFxmMjc1O1xuJGZhLXZhci1pbmZpbml0eTogXFxmNTM0O1xuJGZhLXZhci1pbmZvOiBcXGYxMjk7XG4kZmEtdmFyLWluZm8tY2lyY2xlOiBcXGYwNWE7XG4kZmEtdmFyLWlubm9zb2Z0OiBcXGUwODA7XG4kZmEtdmFyLWluc3RhZ3JhbTogXFxmMTZkO1xuJGZhLXZhci1pbnN0YWdyYW0tc3F1YXJlOiBcXGUwNTU7XG4kZmEtdmFyLWluc3RhbG9kOiBcXGUwODE7XG4kZmEtdmFyLWludGVyY29tOiBcXGY3YWY7XG4kZmEtdmFyLWludGVybmV0LWV4cGxvcmVyOiBcXGYyNmI7XG4kZmEtdmFyLWludmlzaW9uOiBcXGY3YjA7XG4kZmEtdmFyLWlveGhvc3Q6IFxcZjIwODtcbiRmYS12YXItaXRhbGljOiBcXGYwMzM7XG4kZmEtdmFyLWl0Y2gtaW86IFxcZjgzYTtcbiRmYS12YXItaXR1bmVzOiBcXGYzYjQ7XG4kZmEtdmFyLWl0dW5lcy1ub3RlOiBcXGYzYjU7XG4kZmEtdmFyLWphdmE6IFxcZjRlNDtcbiRmYS12YXItamVkaTogXFxmNjY5O1xuJGZhLXZhci1qZWRpLW9yZGVyOiBcXGY1MGU7XG4kZmEtdmFyLWplbmtpbnM6IFxcZjNiNjtcbiRmYS12YXItamlyYTogXFxmN2IxO1xuJGZhLXZhci1qb2dldDogXFxmM2I3O1xuJGZhLXZhci1qb2ludDogXFxmNTk1O1xuJGZhLXZhci1qb29tbGE6IFxcZjFhYTtcbiRmYS12YXItam91cm5hbC13aGlsbHM6IFxcZjY2YTtcbiRmYS12YXItanM6IFxcZjNiODtcbiRmYS12YXItanMtc3F1YXJlOiBcXGYzYjk7XG4kZmEtdmFyLWpzZmlkZGxlOiBcXGYxY2M7XG4kZmEtdmFyLWthYWJhOiBcXGY2NmI7XG4kZmEtdmFyLWthZ2dsZTogXFxmNWZhO1xuJGZhLXZhci1rZXk6IFxcZjA4NDtcbiRmYS12YXIta2V5YmFzZTogXFxmNGY1O1xuJGZhLXZhci1rZXlib2FyZDogXFxmMTFjO1xuJGZhLXZhci1rZXljZG46IFxcZjNiYTtcbiRmYS12YXIta2hhbmRhOiBcXGY2NmQ7XG4kZmEtdmFyLWtpY2tzdGFydGVyOiBcXGYzYmI7XG4kZmEtdmFyLWtpY2tzdGFydGVyLWs6IFxcZjNiYztcbiRmYS12YXIta2lzczogXFxmNTk2O1xuJGZhLXZhci1raXNzLWJlYW06IFxcZjU5NztcbiRmYS12YXIta2lzcy13aW5rLWhlYXJ0OiBcXGY1OTg7XG4kZmEtdmFyLWtpd2ktYmlyZDogXFxmNTM1O1xuJGZhLXZhci1rb3J2dWU6IFxcZjQyZjtcbiRmYS12YXItbGFuZG1hcms6IFxcZjY2ZjtcbiRmYS12YXItbGFuZ3VhZ2U6IFxcZjFhYjtcbiRmYS12YXItbGFwdG9wOiBcXGYxMDk7XG4kZmEtdmFyLWxhcHRvcC1jb2RlOiBcXGY1ZmM7XG4kZmEtdmFyLWxhcHRvcC1ob3VzZTogXFxlMDY2O1xuJGZhLXZhci1sYXB0b3AtbWVkaWNhbDogXFxmODEyO1xuJGZhLXZhci1sYXJhdmVsOiBcXGYzYmQ7XG4kZmEtdmFyLWxhc3RmbTogXFxmMjAyO1xuJGZhLXZhci1sYXN0Zm0tc3F1YXJlOiBcXGYyMDM7XG4kZmEtdmFyLWxhdWdoOiBcXGY1OTk7XG4kZmEtdmFyLWxhdWdoLWJlYW06IFxcZjU5YTtcbiRmYS12YXItbGF1Z2gtc3F1aW50OiBcXGY1OWI7XG4kZmEtdmFyLWxhdWdoLXdpbms6IFxcZjU5YztcbiRmYS12YXItbGF5ZXItZ3JvdXA6IFxcZjVmZDtcbiRmYS12YXItbGVhZjogXFxmMDZjO1xuJGZhLXZhci1sZWFucHViOiBcXGYyMTI7XG4kZmEtdmFyLWxlbW9uOiBcXGYwOTQ7XG4kZmEtdmFyLWxlc3M6IFxcZjQxZDtcbiRmYS12YXItbGVzcy10aGFuOiBcXGY1MzY7XG4kZmEtdmFyLWxlc3MtdGhhbi1lcXVhbDogXFxmNTM3O1xuJGZhLXZhci1sZXZlbC1kb3duLWFsdDogXFxmM2JlO1xuJGZhLXZhci1sZXZlbC11cC1hbHQ6IFxcZjNiZjtcbiRmYS12YXItbGlmZS1yaW5nOiBcXGYxY2Q7XG4kZmEtdmFyLWxpZ2h0YnVsYjogXFxmMGViO1xuJGZhLXZhci1saW5lOiBcXGYzYzA7XG4kZmEtdmFyLWxpbms6IFxcZjBjMTtcbiRmYS12YXItbGlua2VkaW46IFxcZjA4YztcbiRmYS12YXItbGlua2VkaW4taW46IFxcZjBlMTtcbiRmYS12YXItbGlub2RlOiBcXGYyYjg7XG4kZmEtdmFyLWxpbnV4OiBcXGYxN2M7XG4kZmEtdmFyLWxpcmEtc2lnbjogXFxmMTk1O1xuJGZhLXZhci1saXN0OiBcXGYwM2E7XG4kZmEtdmFyLWxpc3QtYWx0OiBcXGYwMjI7XG4kZmEtdmFyLWxpc3Qtb2w6IFxcZjBjYjtcbiRmYS12YXItbGlzdC11bDogXFxmMGNhO1xuJGZhLXZhci1sb2NhdGlvbi1hcnJvdzogXFxmMTI0O1xuJGZhLXZhci1sb2NrOiBcXGYwMjM7XG4kZmEtdmFyLWxvY2stb3BlbjogXFxmM2MxO1xuJGZhLXZhci1sb25nLWFycm93LWFsdC1kb3duOiBcXGYzMDk7XG4kZmEtdmFyLWxvbmctYXJyb3ctYWx0LWxlZnQ6IFxcZjMwYTtcbiRmYS12YXItbG9uZy1hcnJvdy1hbHQtcmlnaHQ6IFxcZjMwYjtcbiRmYS12YXItbG9uZy1hcnJvdy1hbHQtdXA6IFxcZjMwYztcbiRmYS12YXItbG93LXZpc2lvbjogXFxmMmE4O1xuJGZhLXZhci1sdWdnYWdlLWNhcnQ6IFxcZjU5ZDtcbiRmYS12YXItbHVuZ3M6IFxcZjYwNDtcbiRmYS12YXItbHVuZ3MtdmlydXM6IFxcZTA2NztcbiRmYS12YXItbHlmdDogXFxmM2MzO1xuJGZhLXZhci1tYWdlbnRvOiBcXGYzYzQ7XG4kZmEtdmFyLW1hZ2ljOiBcXGYwZDA7XG4kZmEtdmFyLW1hZ25ldDogXFxmMDc2O1xuJGZhLXZhci1tYWlsLWJ1bGs6IFxcZjY3NDtcbiRmYS12YXItbWFpbGNoaW1wOiBcXGY1OWU7XG4kZmEtdmFyLW1hbGU6IFxcZjE4MztcbiRmYS12YXItbWFuZGFsb3JpYW46IFxcZjUwZjtcbiRmYS12YXItbWFwOiBcXGYyNzk7XG4kZmEtdmFyLW1hcC1tYXJrZWQ6IFxcZjU5ZjtcbiRmYS12YXItbWFwLW1hcmtlZC1hbHQ6IFxcZjVhMDtcbiRmYS12YXItbWFwLW1hcmtlcjogXFxmMDQxO1xuJGZhLXZhci1tYXAtbWFya2VyLWFsdDogXFxmM2M1O1xuJGZhLXZhci1tYXAtcGluOiBcXGYyNzY7XG4kZmEtdmFyLW1hcC1zaWduczogXFxmMjc3O1xuJGZhLXZhci1tYXJrZG93bjogXFxmNjBmO1xuJGZhLXZhci1tYXJrZXI6IFxcZjVhMTtcbiRmYS12YXItbWFyczogXFxmMjIyO1xuJGZhLXZhci1tYXJzLWRvdWJsZTogXFxmMjI3O1xuJGZhLXZhci1tYXJzLXN0cm9rZTogXFxmMjI5O1xuJGZhLXZhci1tYXJzLXN0cm9rZS1oOiBcXGYyMmI7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlLXY6IFxcZjIyYTtcbiRmYS12YXItbWFzazogXFxmNmZhO1xuJGZhLXZhci1tYXN0b2RvbjogXFxmNGY2O1xuJGZhLXZhci1tYXhjZG46IFxcZjEzNjtcbiRmYS12YXItbWRiOiBcXGY4Y2E7XG4kZmEtdmFyLW1lZGFsOiBcXGY1YTI7XG4kZmEtdmFyLW1lZGFwcHM6IFxcZjNjNjtcbiRmYS12YXItbWVkaXVtOiBcXGYyM2E7XG4kZmEtdmFyLW1lZGl1bS1tOiBcXGYzYzc7XG4kZmEtdmFyLW1lZGtpdDogXFxmMGZhO1xuJGZhLXZhci1tZWRydDogXFxmM2M4O1xuJGZhLXZhci1tZWV0dXA6IFxcZjJlMDtcbiRmYS12YXItbWVnYXBvcnQ6IFxcZjVhMztcbiRmYS12YXItbWVoOiBcXGYxMWE7XG4kZmEtdmFyLW1laC1ibGFuazogXFxmNWE0O1xuJGZhLXZhci1tZWgtcm9sbGluZy1leWVzOiBcXGY1YTU7XG4kZmEtdmFyLW1lbW9yeTogXFxmNTM4O1xuJGZhLXZhci1tZW5kZWxleTogXFxmN2IzO1xuJGZhLXZhci1tZW5vcmFoOiBcXGY2NzY7XG4kZmEtdmFyLW1lcmN1cnk6IFxcZjIyMztcbiRmYS12YXItbWV0ZW9yOiBcXGY3NTM7XG4kZmEtdmFyLW1pY3JvYmxvZzogXFxlMDFhO1xuJGZhLXZhci1taWNyb2NoaXA6IFxcZjJkYjtcbiRmYS12YXItbWljcm9waG9uZTogXFxmMTMwO1xuJGZhLXZhci1taWNyb3Bob25lLWFsdDogXFxmM2M5O1xuJGZhLXZhci1taWNyb3Bob25lLWFsdC1zbGFzaDogXFxmNTM5O1xuJGZhLXZhci1taWNyb3Bob25lLXNsYXNoOiBcXGYxMzE7XG4kZmEtdmFyLW1pY3Jvc2NvcGU6IFxcZjYxMDtcbiRmYS12YXItbWljcm9zb2Z0OiBcXGYzY2E7XG4kZmEtdmFyLW1pbnVzOiBcXGYwNjg7XG4kZmEtdmFyLW1pbnVzLWNpcmNsZTogXFxmMDU2O1xuJGZhLXZhci1taW51cy1zcXVhcmU6IFxcZjE0NjtcbiRmYS12YXItbWl0dGVuOiBcXGY3YjU7XG4kZmEtdmFyLW1peDogXFxmM2NiO1xuJGZhLXZhci1taXhjbG91ZDogXFxmMjg5O1xuJGZhLXZhci1taXhlcjogXFxlMDU2O1xuJGZhLXZhci1taXp1bmk6IFxcZjNjYztcbiRmYS12YXItbW9iaWxlOiBcXGYxMGI7XG4kZmEtdmFyLW1vYmlsZS1hbHQ6IFxcZjNjZDtcbiRmYS12YXItbW9keDogXFxmMjg1O1xuJGZhLXZhci1tb25lcm86IFxcZjNkMDtcbiRmYS12YXItbW9uZXktYmlsbDogXFxmMGQ2O1xuJGZhLXZhci1tb25leS1iaWxsLWFsdDogXFxmM2QxO1xuJGZhLXZhci1tb25leS1iaWxsLXdhdmU6IFxcZjUzYTtcbiRmYS12YXItbW9uZXktYmlsbC13YXZlLWFsdDogXFxmNTNiO1xuJGZhLXZhci1tb25leS1jaGVjazogXFxmNTNjO1xuJGZhLXZhci1tb25leS1jaGVjay1hbHQ6IFxcZjUzZDtcbiRmYS12YXItbW9udW1lbnQ6IFxcZjVhNjtcbiRmYS12YXItbW9vbjogXFxmMTg2O1xuJGZhLXZhci1tb3J0YXItcGVzdGxlOiBcXGY1YTc7XG4kZmEtdmFyLW1vc3F1ZTogXFxmNjc4O1xuJGZhLXZhci1tb3RvcmN5Y2xlOiBcXGYyMWM7XG4kZmEtdmFyLW1vdW50YWluOiBcXGY2ZmM7XG4kZmEtdmFyLW1vdXNlOiBcXGY4Y2M7XG4kZmEtdmFyLW1vdXNlLXBvaW50ZXI6IFxcZjI0NTtcbiRmYS12YXItbXVnLWhvdDogXFxmN2I2O1xuJGZhLXZhci1tdXNpYzogXFxmMDAxO1xuJGZhLXZhci1uYXBzdGVyOiBcXGYzZDI7XG4kZmEtdmFyLW5lb3M6IFxcZjYxMjtcbiRmYS12YXItbmV0d29yay13aXJlZDogXFxmNmZmO1xuJGZhLXZhci1uZXV0ZXI6IFxcZjIyYztcbiRmYS12YXItbmV3c3BhcGVyOiBcXGYxZWE7XG4kZmEtdmFyLW5pbWJscjogXFxmNWE4O1xuJGZhLXZhci1ub2RlOiBcXGY0MTk7XG4kZmEtdmFyLW5vZGUtanM6IFxcZjNkMztcbiRmYS12YXItbm90LWVxdWFsOiBcXGY1M2U7XG4kZmEtdmFyLW5vdGVzLW1lZGljYWw6IFxcZjQ4MTtcbiRmYS12YXItbnBtOiBcXGYzZDQ7XG4kZmEtdmFyLW5zODogXFxmM2Q1O1xuJGZhLXZhci1udXRyaXRpb25peDogXFxmM2Q2O1xuJGZhLXZhci1vYmplY3QtZ3JvdXA6IFxcZjI0NztcbiRmYS12YXItb2JqZWN0LXVuZ3JvdXA6IFxcZjI0ODtcbiRmYS12YXItb2N0b3B1cy1kZXBsb3k6IFxcZTA4MjtcbiRmYS12YXItb2Rub2tsYXNzbmlraTogXFxmMjYzO1xuJGZhLXZhci1vZG5va2xhc3NuaWtpLXNxdWFyZTogXFxmMjY0O1xuJGZhLXZhci1vaWwtY2FuOiBcXGY2MTM7XG4kZmEtdmFyLW9sZC1yZXB1YmxpYzogXFxmNTEwO1xuJGZhLXZhci1vbTogXFxmNjc5O1xuJGZhLXZhci1vcGVuY2FydDogXFxmMjNkO1xuJGZhLXZhci1vcGVuaWQ6IFxcZjE5YjtcbiRmYS12YXItb3BlcmE6IFxcZjI2YTtcbiRmYS12YXItb3B0aW4tbW9uc3RlcjogXFxmMjNjO1xuJGZhLXZhci1vcmNpZDogXFxmOGQyO1xuJGZhLXZhci1vc2k6IFxcZjQxYTtcbiRmYS12YXItb3R0ZXI6IFxcZjcwMDtcbiRmYS12YXItb3V0ZGVudDogXFxmMDNiO1xuJGZhLXZhci1wYWdlNDogXFxmM2Q3O1xuJGZhLXZhci1wYWdlbGluZXM6IFxcZjE4YztcbiRmYS12YXItcGFnZXI6IFxcZjgxNTtcbiRmYS12YXItcGFpbnQtYnJ1c2g6IFxcZjFmYztcbiRmYS12YXItcGFpbnQtcm9sbGVyOiBcXGY1YWE7XG4kZmEtdmFyLXBhbGV0dGU6IFxcZjUzZjtcbiRmYS12YXItcGFsZmVkOiBcXGYzZDg7XG4kZmEtdmFyLXBhbGxldDogXFxmNDgyO1xuJGZhLXZhci1wYXBlci1wbGFuZTogXFxmMWQ4O1xuJGZhLXZhci1wYXBlcmNsaXA6IFxcZjBjNjtcbiRmYS12YXItcGFyYWNodXRlLWJveDogXFxmNGNkO1xuJGZhLXZhci1wYXJhZ3JhcGg6IFxcZjFkZDtcbiRmYS12YXItcGFya2luZzogXFxmNTQwO1xuJGZhLXZhci1wYXNzcG9ydDogXFxmNWFiO1xuJGZhLXZhci1wYXN0YWZhcmlhbmlzbTogXFxmNjdiO1xuJGZhLXZhci1wYXN0ZTogXFxmMGVhO1xuJGZhLXZhci1wYXRyZW9uOiBcXGYzZDk7XG4kZmEtdmFyLXBhdXNlOiBcXGYwNGM7XG4kZmEtdmFyLXBhdXNlLWNpcmNsZTogXFxmMjhiO1xuJGZhLXZhci1wYXc6IFxcZjFiMDtcbiRmYS12YXItcGF5cGFsOiBcXGYxZWQ7XG4kZmEtdmFyLXBlYWNlOiBcXGY2N2M7XG4kZmEtdmFyLXBlbjogXFxmMzA0O1xuJGZhLXZhci1wZW4tYWx0OiBcXGYzMDU7XG4kZmEtdmFyLXBlbi1mYW5jeTogXFxmNWFjO1xuJGZhLXZhci1wZW4tbmliOiBcXGY1YWQ7XG4kZmEtdmFyLXBlbi1zcXVhcmU6IFxcZjE0YjtcbiRmYS12YXItcGVuY2lsLWFsdDogXFxmMzAzO1xuJGZhLXZhci1wZW5jaWwtcnVsZXI6IFxcZjVhZTtcbiRmYS12YXItcGVubnktYXJjYWRlOiBcXGY3MDQ7XG4kZmEtdmFyLXBlb3BsZS1hcnJvd3M6IFxcZTA2ODtcbiRmYS12YXItcGVvcGxlLWNhcnJ5OiBcXGY0Y2U7XG4kZmEtdmFyLXBlcHBlci1ob3Q6IFxcZjgxNjtcbiRmYS12YXItcGVyYnl0ZTogXFxlMDgzO1xuJGZhLXZhci1wZXJjZW50OiBcXGYyOTU7XG4kZmEtdmFyLXBlcmNlbnRhZ2U6IFxcZjU0MTtcbiRmYS12YXItcGVyaXNjb3BlOiBcXGYzZGE7XG4kZmEtdmFyLXBlcnNvbi1ib290aDogXFxmNzU2O1xuJGZhLXZhci1waGFicmljYXRvcjogXFxmM2RiO1xuJGZhLXZhci1waG9lbml4LWZyYW1ld29yazogXFxmM2RjO1xuJGZhLXZhci1waG9lbml4LXNxdWFkcm9uOiBcXGY1MTE7XG4kZmEtdmFyLXBob25lOiBcXGYwOTU7XG4kZmEtdmFyLXBob25lLWFsdDogXFxmODc5O1xuJGZhLXZhci1waG9uZS1zbGFzaDogXFxmM2RkO1xuJGZhLXZhci1waG9uZS1zcXVhcmU6IFxcZjA5ODtcbiRmYS12YXItcGhvbmUtc3F1YXJlLWFsdDogXFxmODdiO1xuJGZhLXZhci1waG9uZS12b2x1bWU6IFxcZjJhMDtcbiRmYS12YXItcGhvdG8tdmlkZW86IFxcZjg3YztcbiRmYS12YXItcGhwOiBcXGY0NTc7XG4kZmEtdmFyLXBpZWQtcGlwZXI6IFxcZjJhZTtcbiRmYS12YXItcGllZC1waXBlci1hbHQ6IFxcZjFhODtcbiRmYS12YXItcGllZC1waXBlci1oYXQ6IFxcZjRlNTtcbiRmYS12YXItcGllZC1waXBlci1wcDogXFxmMWE3O1xuJGZhLXZhci1waWVkLXBpcGVyLXNxdWFyZTogXFxlMDFlO1xuJGZhLXZhci1waWdneS1iYW5rOiBcXGY0ZDM7XG4kZmEtdmFyLXBpbGxzOiBcXGY0ODQ7XG4kZmEtdmFyLXBpbnRlcmVzdDogXFxmMGQyO1xuJGZhLXZhci1waW50ZXJlc3QtcDogXFxmMjMxO1xuJGZhLXZhci1waW50ZXJlc3Qtc3F1YXJlOiBcXGYwZDM7XG4kZmEtdmFyLXBpenphLXNsaWNlOiBcXGY4MTg7XG4kZmEtdmFyLXBsYWNlLW9mLXdvcnNoaXA6IFxcZjY3ZjtcbiRmYS12YXItcGxhbmU6IFxcZjA3MjtcbiRmYS12YXItcGxhbmUtYXJyaXZhbDogXFxmNWFmO1xuJGZhLXZhci1wbGFuZS1kZXBhcnR1cmU6IFxcZjViMDtcbiRmYS12YXItcGxhbmUtc2xhc2g6IFxcZTA2OTtcbiRmYS12YXItcGxheTogXFxmMDRiO1xuJGZhLXZhci1wbGF5LWNpcmNsZTogXFxmMTQ0O1xuJGZhLXZhci1wbGF5c3RhdGlvbjogXFxmM2RmO1xuJGZhLXZhci1wbHVnOiBcXGYxZTY7XG4kZmEtdmFyLXBsdXM6IFxcZjA2NztcbiRmYS12YXItcGx1cy1jaXJjbGU6IFxcZjA1NTtcbiRmYS12YXItcGx1cy1zcXVhcmU6IFxcZjBmZTtcbiRmYS12YXItcG9kY2FzdDogXFxmMmNlO1xuJGZhLXZhci1wb2xsOiBcXGY2ODE7XG4kZmEtdmFyLXBvbGwtaDogXFxmNjgyO1xuJGZhLXZhci1wb286IFxcZjJmZTtcbiRmYS12YXItcG9vLXN0b3JtOiBcXGY3NWE7XG4kZmEtdmFyLXBvb3A6IFxcZjYxOTtcbiRmYS12YXItcG9ydHJhaXQ6IFxcZjNlMDtcbiRmYS12YXItcG91bmQtc2lnbjogXFxmMTU0O1xuJGZhLXZhci1wb3dlci1vZmY6IFxcZjAxMTtcbiRmYS12YXItcHJheTogXFxmNjgzO1xuJGZhLXZhci1wcmF5aW5nLWhhbmRzOiBcXGY2ODQ7XG4kZmEtdmFyLXByZXNjcmlwdGlvbjogXFxmNWIxO1xuJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlOiBcXGY0ODU7XG4kZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0OiBcXGY0ODY7XG4kZmEtdmFyLXByaW50OiBcXGYwMmY7XG4kZmEtdmFyLXByb2NlZHVyZXM6IFxcZjQ4NztcbiRmYS12YXItcHJvZHVjdC1odW50OiBcXGYyODg7XG4kZmEtdmFyLXByb2plY3QtZGlhZ3JhbTogXFxmNTQyO1xuJGZhLXZhci1wdW1wLW1lZGljYWw6IFxcZTA2YTtcbiRmYS12YXItcHVtcC1zb2FwOiBcXGUwNmI7XG4kZmEtdmFyLXB1c2hlZDogXFxmM2UxO1xuJGZhLXZhci1wdXp6bGUtcGllY2U6IFxcZjEyZTtcbiRmYS12YXItcHl0aG9uOiBcXGYzZTI7XG4kZmEtdmFyLXFxOiBcXGYxZDY7XG4kZmEtdmFyLXFyY29kZTogXFxmMDI5O1xuJGZhLXZhci1xdWVzdGlvbjogXFxmMTI4O1xuJGZhLXZhci1xdWVzdGlvbi1jaXJjbGU6IFxcZjA1OTtcbiRmYS12YXItcXVpZGRpdGNoOiBcXGY0NTg7XG4kZmEtdmFyLXF1aW5zY2FwZTogXFxmNDU5O1xuJGZhLXZhci1xdW9yYTogXFxmMmM0O1xuJGZhLXZhci1xdW90ZS1sZWZ0OiBcXGYxMGQ7XG4kZmEtdmFyLXF1b3RlLXJpZ2h0OiBcXGYxMGU7XG4kZmEtdmFyLXF1cmFuOiBcXGY2ODc7XG4kZmEtdmFyLXItcHJvamVjdDogXFxmNGY3O1xuJGZhLXZhci1yYWRpYXRpb246IFxcZjdiOTtcbiRmYS12YXItcmFkaWF0aW9uLWFsdDogXFxmN2JhO1xuJGZhLXZhci1yYWluYm93OiBcXGY3NWI7XG4kZmEtdmFyLXJhbmRvbTogXFxmMDc0O1xuJGZhLXZhci1yYXNwYmVycnktcGk6IFxcZjdiYjtcbiRmYS12YXItcmF2ZWxyeTogXFxmMmQ5O1xuJGZhLXZhci1yZWFjdDogXFxmNDFiO1xuJGZhLXZhci1yZWFjdGV1cm9wZTogXFxmNzVkO1xuJGZhLXZhci1yZWFkbWU6IFxcZjRkNTtcbiRmYS12YXItcmViZWw6IFxcZjFkMDtcbiRmYS12YXItcmVjZWlwdDogXFxmNTQzO1xuJGZhLXZhci1yZWNvcmQtdmlueWw6IFxcZjhkOTtcbiRmYS12YXItcmVjeWNsZTogXFxmMWI4O1xuJGZhLXZhci1yZWQtcml2ZXI6IFxcZjNlMztcbiRmYS12YXItcmVkZGl0OiBcXGYxYTE7XG4kZmEtdmFyLXJlZGRpdC1hbGllbjogXFxmMjgxO1xuJGZhLXZhci1yZWRkaXQtc3F1YXJlOiBcXGYxYTI7XG4kZmEtdmFyLXJlZGhhdDogXFxmN2JjO1xuJGZhLXZhci1yZWRvOiBcXGYwMWU7XG4kZmEtdmFyLXJlZG8tYWx0OiBcXGYyZjk7XG4kZmEtdmFyLXJlZ2lzdGVyZWQ6IFxcZjI1ZDtcbiRmYS12YXItcmVtb3ZlLWZvcm1hdDogXFxmODdkO1xuJGZhLXZhci1yZW5yZW46IFxcZjE4YjtcbiRmYS12YXItcmVwbHk6IFxcZjNlNTtcbiRmYS12YXItcmVwbHktYWxsOiBcXGYxMjI7XG4kZmEtdmFyLXJlcGx5ZDogXFxmM2U2O1xuJGZhLXZhci1yZXB1YmxpY2FuOiBcXGY3NWU7XG4kZmEtdmFyLXJlc2VhcmNoZ2F0ZTogXFxmNGY4O1xuJGZhLXZhci1yZXNvbHZpbmc6IFxcZjNlNztcbiRmYS12YXItcmVzdHJvb206IFxcZjdiZDtcbiRmYS12YXItcmV0d2VldDogXFxmMDc5O1xuJGZhLXZhci1yZXY6IFxcZjViMjtcbiRmYS12YXItcmliYm9uOiBcXGY0ZDY7XG4kZmEtdmFyLXJpbmc6IFxcZjcwYjtcbiRmYS12YXItcm9hZDogXFxmMDE4O1xuJGZhLXZhci1yb2JvdDogXFxmNTQ0O1xuJGZhLXZhci1yb2NrZXQ6IFxcZjEzNTtcbiRmYS12YXItcm9ja2V0Y2hhdDogXFxmM2U4O1xuJGZhLXZhci1yb2Nrcm1zOiBcXGYzZTk7XG4kZmEtdmFyLXJvdXRlOiBcXGY0ZDc7XG4kZmEtdmFyLXJzczogXFxmMDllO1xuJGZhLXZhci1yc3Mtc3F1YXJlOiBcXGYxNDM7XG4kZmEtdmFyLXJ1YmxlLXNpZ246IFxcZjE1ODtcbiRmYS12YXItcnVsZXI6IFxcZjU0NTtcbiRmYS12YXItcnVsZXItY29tYmluZWQ6IFxcZjU0NjtcbiRmYS12YXItcnVsZXItaG9yaXpvbnRhbDogXFxmNTQ3O1xuJGZhLXZhci1ydWxlci12ZXJ0aWNhbDogXFxmNTQ4O1xuJGZhLXZhci1ydW5uaW5nOiBcXGY3MGM7XG4kZmEtdmFyLXJ1cGVlLXNpZ246IFxcZjE1NjtcbiRmYS12YXItcnVzdDogXFxlMDdhO1xuJGZhLXZhci1zYWQtY3J5OiBcXGY1YjM7XG4kZmEtdmFyLXNhZC10ZWFyOiBcXGY1YjQ7XG4kZmEtdmFyLXNhZmFyaTogXFxmMjY3O1xuJGZhLXZhci1zYWxlc2ZvcmNlOiBcXGY4M2I7XG4kZmEtdmFyLXNhc3M6IFxcZjQxZTtcbiRmYS12YXItc2F0ZWxsaXRlOiBcXGY3YmY7XG4kZmEtdmFyLXNhdGVsbGl0ZS1kaXNoOiBcXGY3YzA7XG4kZmEtdmFyLXNhdmU6IFxcZjBjNztcbiRmYS12YXItc2NobGl4OiBcXGYzZWE7XG4kZmEtdmFyLXNjaG9vbDogXFxmNTQ5O1xuJGZhLXZhci1zY3Jld2RyaXZlcjogXFxmNTRhO1xuJGZhLXZhci1zY3JpYmQ6IFxcZjI4YTtcbiRmYS12YXItc2Nyb2xsOiBcXGY3MGU7XG4kZmEtdmFyLXNkLWNhcmQ6IFxcZjdjMjtcbiRmYS12YXItc2VhcmNoOiBcXGYwMDI7XG4kZmEtdmFyLXNlYXJjaC1kb2xsYXI6IFxcZjY4ODtcbiRmYS12YXItc2VhcmNoLWxvY2F0aW9uOiBcXGY2ODk7XG4kZmEtdmFyLXNlYXJjaC1taW51czogXFxmMDEwO1xuJGZhLXZhci1zZWFyY2gtcGx1czogXFxmMDBlO1xuJGZhLXZhci1zZWFyY2hlbmdpbjogXFxmM2ViO1xuJGZhLXZhci1zZWVkbGluZzogXFxmNGQ4O1xuJGZhLXZhci1zZWxsY2FzdDogXFxmMmRhO1xuJGZhLXZhci1zZWxsc3k6IFxcZjIxMztcbiRmYS12YXItc2VydmVyOiBcXGYyMzM7XG4kZmEtdmFyLXNlcnZpY2VzdGFjazogXFxmM2VjO1xuJGZhLXZhci1zaGFwZXM6IFxcZjYxZjtcbiRmYS12YXItc2hhcmU6IFxcZjA2NDtcbiRmYS12YXItc2hhcmUtYWx0OiBcXGYxZTA7XG4kZmEtdmFyLXNoYXJlLWFsdC1zcXVhcmU6IFxcZjFlMTtcbiRmYS12YXItc2hhcmUtc3F1YXJlOiBcXGYxNGQ7XG4kZmEtdmFyLXNoZWtlbC1zaWduOiBcXGYyMGI7XG4kZmEtdmFyLXNoaWVsZC1hbHQ6IFxcZjNlZDtcbiRmYS12YXItc2hpZWxkLXZpcnVzOiBcXGUwNmM7XG4kZmEtdmFyLXNoaXA6IFxcZjIxYTtcbiRmYS12YXItc2hpcHBpbmctZmFzdDogXFxmNDhiO1xuJGZhLXZhci1zaGlydHNpbmJ1bGs6IFxcZjIxNDtcbiRmYS12YXItc2hvZS1wcmludHM6IFxcZjU0YjtcbiRmYS12YXItc2hvcGlmeTogXFxlMDU3O1xuJGZhLXZhci1zaG9wcGluZy1iYWc6IFxcZjI5MDtcbiRmYS12YXItc2hvcHBpbmctYmFza2V0OiBcXGYyOTE7XG4kZmEtdmFyLXNob3BwaW5nLWNhcnQ6IFxcZjA3YTtcbiRmYS12YXItc2hvcHdhcmU6IFxcZjViNTtcbiRmYS12YXItc2hvd2VyOiBcXGYyY2M7XG4kZmEtdmFyLXNodXR0bGUtdmFuOiBcXGY1YjY7XG4kZmEtdmFyLXNpZ246IFxcZjRkOTtcbiRmYS12YXItc2lnbi1pbi1hbHQ6IFxcZjJmNjtcbiRmYS12YXItc2lnbi1sYW5ndWFnZTogXFxmMmE3O1xuJGZhLXZhci1zaWduLW91dC1hbHQ6IFxcZjJmNTtcbiRmYS12YXItc2lnbmFsOiBcXGYwMTI7XG4kZmEtdmFyLXNpZ25hdHVyZTogXFxmNWI3O1xuJGZhLXZhci1zaW0tY2FyZDogXFxmN2M0O1xuJGZhLXZhci1zaW1wbHlidWlsdDogXFxmMjE1O1xuJGZhLXZhci1zaW5rOiBcXGUwNmQ7XG4kZmEtdmFyLXNpc3RyaXg6IFxcZjNlZTtcbiRmYS12YXItc2l0ZW1hcDogXFxmMGU4O1xuJGZhLXZhci1zaXRoOiBcXGY1MTI7XG4kZmEtdmFyLXNrYXRpbmc6IFxcZjdjNTtcbiRmYS12YXItc2tldGNoOiBcXGY3YzY7XG4kZmEtdmFyLXNraWluZzogXFxmN2M5O1xuJGZhLXZhci1za2lpbmctbm9yZGljOiBcXGY3Y2E7XG4kZmEtdmFyLXNrdWxsOiBcXGY1NGM7XG4kZmEtdmFyLXNrdWxsLWNyb3NzYm9uZXM6IFxcZjcxNDtcbiRmYS12YXItc2t5YXRsYXM6IFxcZjIxNjtcbiRmYS12YXItc2t5cGU6IFxcZjE3ZTtcbiRmYS12YXItc2xhY2s6IFxcZjE5ODtcbiRmYS12YXItc2xhY2staGFzaDogXFxmM2VmO1xuJGZhLXZhci1zbGFzaDogXFxmNzE1O1xuJGZhLXZhci1zbGVpZ2g6IFxcZjdjYztcbiRmYS12YXItc2xpZGVycy1oOiBcXGYxZGU7XG4kZmEtdmFyLXNsaWRlc2hhcmU6IFxcZjFlNztcbiRmYS12YXItc21pbGU6IFxcZjExODtcbiRmYS12YXItc21pbGUtYmVhbTogXFxmNWI4O1xuJGZhLXZhci1zbWlsZS13aW5rOiBcXGY0ZGE7XG4kZmEtdmFyLXNtb2c6IFxcZjc1ZjtcbiRmYS12YXItc21va2luZzogXFxmNDhkO1xuJGZhLXZhci1zbW9raW5nLWJhbjogXFxmNTRkO1xuJGZhLXZhci1zbXM6IFxcZjdjZDtcbiRmYS12YXItc25hcGNoYXQ6IFxcZjJhYjtcbiRmYS12YXItc25hcGNoYXQtZ2hvc3Q6IFxcZjJhYztcbiRmYS12YXItc25hcGNoYXQtc3F1YXJlOiBcXGYyYWQ7XG4kZmEtdmFyLXNub3dib2FyZGluZzogXFxmN2NlO1xuJGZhLXZhci1zbm93Zmxha2U6IFxcZjJkYztcbiRmYS12YXItc25vd21hbjogXFxmN2QwO1xuJGZhLXZhci1zbm93cGxvdzogXFxmN2QyO1xuJGZhLXZhci1zb2FwOiBcXGUwNmU7XG4kZmEtdmFyLXNvY2tzOiBcXGY2OTY7XG4kZmEtdmFyLXNvbGFyLXBhbmVsOiBcXGY1YmE7XG4kZmEtdmFyLXNvcnQ6IFxcZjBkYztcbiRmYS12YXItc29ydC1hbHBoYS1kb3duOiBcXGYxNWQ7XG4kZmEtdmFyLXNvcnQtYWxwaGEtZG93bi1hbHQ6IFxcZjg4MTtcbiRmYS12YXItc29ydC1hbHBoYS11cDogXFxmMTVlO1xuJGZhLXZhci1zb3J0LWFscGhhLXVwLWFsdDogXFxmODgyO1xuJGZhLXZhci1zb3J0LWFtb3VudC1kb3duOiBcXGYxNjA7XG4kZmEtdmFyLXNvcnQtYW1vdW50LWRvd24tYWx0OiBcXGY4ODQ7XG4kZmEtdmFyLXNvcnQtYW1vdW50LXVwOiBcXGYxNjE7XG4kZmEtdmFyLXNvcnQtYW1vdW50LXVwLWFsdDogXFxmODg1O1xuJGZhLXZhci1zb3J0LWRvd246IFxcZjBkZDtcbiRmYS12YXItc29ydC1udW1lcmljLWRvd246IFxcZjE2MjtcbiRmYS12YXItc29ydC1udW1lcmljLWRvd24tYWx0OiBcXGY4ODY7XG4kZmEtdmFyLXNvcnQtbnVtZXJpYy11cDogXFxmMTYzO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtdXAtYWx0OiBcXGY4ODc7XG4kZmEtdmFyLXNvcnQtdXA6IFxcZjBkZTtcbiRmYS12YXItc291bmRjbG91ZDogXFxmMWJlO1xuJGZhLXZhci1zb3VyY2V0cmVlOiBcXGY3ZDM7XG4kZmEtdmFyLXNwYTogXFxmNWJiO1xuJGZhLXZhci1zcGFjZS1zaHV0dGxlOiBcXGYxOTc7XG4kZmEtdmFyLXNwZWFrYXA6IFxcZjNmMztcbiRmYS12YXItc3BlYWtlci1kZWNrOiBcXGY4M2M7XG4kZmEtdmFyLXNwZWxsLWNoZWNrOiBcXGY4OTE7XG4kZmEtdmFyLXNwaWRlcjogXFxmNzE3O1xuJGZhLXZhci1zcGlubmVyOiBcXGYxMTA7XG4kZmEtdmFyLXNwbG90Y2g6IFxcZjViYztcbiRmYS12YXItc3BvdGlmeTogXFxmMWJjO1xuJGZhLXZhci1zcHJheS1jYW46IFxcZjViZDtcbiRmYS12YXItc3F1YXJlOiBcXGYwYzg7XG4kZmEtdmFyLXNxdWFyZS1mdWxsOiBcXGY0NWM7XG4kZmEtdmFyLXNxdWFyZS1yb290LWFsdDogXFxmNjk4O1xuJGZhLXZhci1zcXVhcmVzcGFjZTogXFxmNWJlO1xuJGZhLXZhci1zdGFjay1leGNoYW5nZTogXFxmMThkO1xuJGZhLXZhci1zdGFjay1vdmVyZmxvdzogXFxmMTZjO1xuJGZhLXZhci1zdGFja3BhdGg6IFxcZjg0MjtcbiRmYS12YXItc3RhbXA6IFxcZjViZjtcbiRmYS12YXItc3RhcjogXFxmMDA1O1xuJGZhLXZhci1zdGFyLWFuZC1jcmVzY2VudDogXFxmNjk5O1xuJGZhLXZhci1zdGFyLWhhbGY6IFxcZjA4OTtcbiRmYS12YXItc3Rhci1oYWxmLWFsdDogXFxmNWMwO1xuJGZhLXZhci1zdGFyLW9mLWRhdmlkOiBcXGY2OWE7XG4kZmEtdmFyLXN0YXItb2YtbGlmZTogXFxmNjIxO1xuJGZhLXZhci1zdGF5bGlua2VkOiBcXGYzZjU7XG4kZmEtdmFyLXN0ZWFtOiBcXGYxYjY7XG4kZmEtdmFyLXN0ZWFtLXNxdWFyZTogXFxmMWI3O1xuJGZhLXZhci1zdGVhbS1zeW1ib2w6IFxcZjNmNjtcbiRmYS12YXItc3RlcC1iYWNrd2FyZDogXFxmMDQ4O1xuJGZhLXZhci1zdGVwLWZvcndhcmQ6IFxcZjA1MTtcbiRmYS12YXItc3RldGhvc2NvcGU6IFxcZjBmMTtcbiRmYS12YXItc3RpY2tlci1tdWxlOiBcXGYzZjc7XG4kZmEtdmFyLXN0aWNreS1ub3RlOiBcXGYyNDk7XG4kZmEtdmFyLXN0b3A6IFxcZjA0ZDtcbiRmYS12YXItc3RvcC1jaXJjbGU6IFxcZjI4ZDtcbiRmYS12YXItc3RvcHdhdGNoOiBcXGYyZjI7XG4kZmEtdmFyLXN0b3B3YXRjaC0yMDogXFxlMDZmO1xuJGZhLXZhci1zdG9yZTogXFxmNTRlO1xuJGZhLXZhci1zdG9yZS1hbHQ6IFxcZjU0ZjtcbiRmYS12YXItc3RvcmUtYWx0LXNsYXNoOiBcXGUwNzA7XG4kZmEtdmFyLXN0b3JlLXNsYXNoOiBcXGUwNzE7XG4kZmEtdmFyLXN0cmF2YTogXFxmNDI4O1xuJGZhLXZhci1zdHJlYW06IFxcZjU1MDtcbiRmYS12YXItc3RyZWV0LXZpZXc6IFxcZjIxZDtcbiRmYS12YXItc3RyaWtldGhyb3VnaDogXFxmMGNjO1xuJGZhLXZhci1zdHJpcGU6IFxcZjQyOTtcbiRmYS12YXItc3RyaXBlLXM6IFxcZjQyYTtcbiRmYS12YXItc3Ryb29wd2FmZWw6IFxcZjU1MTtcbiRmYS12YXItc3R1ZGlvdmluYXJpOiBcXGYzZjg7XG4kZmEtdmFyLXN0dW1ibGV1cG9uOiBcXGYxYTQ7XG4kZmEtdmFyLXN0dW1ibGV1cG9uLWNpcmNsZTogXFxmMWEzO1xuJGZhLXZhci1zdWJzY3JpcHQ6IFxcZjEyYztcbiRmYS12YXItc3Vid2F5OiBcXGYyMzk7XG4kZmEtdmFyLXN1aXRjYXNlOiBcXGYwZjI7XG4kZmEtdmFyLXN1aXRjYXNlLXJvbGxpbmc6IFxcZjVjMTtcbiRmYS12YXItc3VuOiBcXGYxODU7XG4kZmEtdmFyLXN1cGVycG93ZXJzOiBcXGYyZGQ7XG4kZmEtdmFyLXN1cGVyc2NyaXB0OiBcXGYxMmI7XG4kZmEtdmFyLXN1cHBsZTogXFxmM2Y5O1xuJGZhLXZhci1zdXJwcmlzZTogXFxmNWMyO1xuJGZhLXZhci1zdXNlOiBcXGY3ZDY7XG4kZmEtdmFyLXN3YXRjaGJvb2s6IFxcZjVjMztcbiRmYS12YXItc3dpZnQ6IFxcZjhlMTtcbiRmYS12YXItc3dpbW1lcjogXFxmNWM0O1xuJGZhLXZhci1zd2ltbWluZy1wb29sOiBcXGY1YzU7XG4kZmEtdmFyLXN5bWZvbnk6IFxcZjgzZDtcbiRmYS12YXItc3luYWdvZ3VlOiBcXGY2OWI7XG4kZmEtdmFyLXN5bmM6IFxcZjAyMTtcbiRmYS12YXItc3luYy1hbHQ6IFxcZjJmMTtcbiRmYS12YXItc3lyaW5nZTogXFxmNDhlO1xuJGZhLXZhci10YWJsZTogXFxmMGNlO1xuJGZhLXZhci10YWJsZS10ZW5uaXM6IFxcZjQ1ZDtcbiRmYS12YXItdGFibGV0OiBcXGYxMGE7XG4kZmEtdmFyLXRhYmxldC1hbHQ6IFxcZjNmYTtcbiRmYS12YXItdGFibGV0czogXFxmNDkwO1xuJGZhLXZhci10YWNob21ldGVyLWFsdDogXFxmM2ZkO1xuJGZhLXZhci10YWc6IFxcZjAyYjtcbiRmYS12YXItdGFnczogXFxmMDJjO1xuJGZhLXZhci10YXBlOiBcXGY0ZGI7XG4kZmEtdmFyLXRhc2tzOiBcXGYwYWU7XG4kZmEtdmFyLXRheGk6IFxcZjFiYTtcbiRmYS12YXItdGVhbXNwZWFrOiBcXGY0Zjk7XG4kZmEtdmFyLXRlZXRoOiBcXGY2MmU7XG4kZmEtdmFyLXRlZXRoLW9wZW46IFxcZjYyZjtcbiRmYS12YXItdGVsZWdyYW06IFxcZjJjNjtcbiRmYS12YXItdGVsZWdyYW0tcGxhbmU6IFxcZjNmZTtcbiRmYS12YXItdGVtcGVyYXR1cmUtaGlnaDogXFxmNzY5O1xuJGZhLXZhci10ZW1wZXJhdHVyZS1sb3c6IFxcZjc2YjtcbiRmYS12YXItdGVuY2VudC13ZWlibzogXFxmMWQ1O1xuJGZhLXZhci10ZW5nZTogXFxmN2Q3O1xuJGZhLXZhci10ZXJtaW5hbDogXFxmMTIwO1xuJGZhLXZhci10ZXh0LWhlaWdodDogXFxmMDM0O1xuJGZhLXZhci10ZXh0LXdpZHRoOiBcXGYwMzU7XG4kZmEtdmFyLXRoOiBcXGYwMGE7XG4kZmEtdmFyLXRoLWxhcmdlOiBcXGYwMDk7XG4kZmEtdmFyLXRoLWxpc3Q6IFxcZjAwYjtcbiRmYS12YXItdGhlLXJlZC15ZXRpOiBcXGY2OWQ7XG4kZmEtdmFyLXRoZWF0ZXItbWFza3M6IFxcZjYzMDtcbiRmYS12YXItdGhlbWVjbzogXFxmNWM2O1xuJGZhLXZhci10aGVtZWlzbGU6IFxcZjJiMjtcbiRmYS12YXItdGhlcm1vbWV0ZXI6IFxcZjQ5MTtcbiRmYS12YXItdGhlcm1vbWV0ZXItZW1wdHk6IFxcZjJjYjtcbiRmYS12YXItdGhlcm1vbWV0ZXItZnVsbDogXFxmMmM3O1xuJGZhLXZhci10aGVybW9tZXRlci1oYWxmOiBcXGYyYzk7XG4kZmEtdmFyLXRoZXJtb21ldGVyLXF1YXJ0ZXI6IFxcZjJjYTtcbiRmYS12YXItdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnM6IFxcZjJjODtcbiRmYS12YXItdGhpbmstcGVha3M6IFxcZjczMTtcbiRmYS12YXItdGh1bWJzLWRvd246IFxcZjE2NTtcbiRmYS12YXItdGh1bWJzLXVwOiBcXGYxNjQ7XG4kZmEtdmFyLXRodW1idGFjazogXFxmMDhkO1xuJGZhLXZhci10aWNrZXQtYWx0OiBcXGYzZmY7XG4kZmEtdmFyLXRpa3RvazogXFxlMDdiO1xuJGZhLXZhci10aW1lczogXFxmMDBkO1xuJGZhLXZhci10aW1lcy1jaXJjbGU6IFxcZjA1NztcbiRmYS12YXItdGludDogXFxmMDQzO1xuJGZhLXZhci10aW50LXNsYXNoOiBcXGY1Yzc7XG4kZmEtdmFyLXRpcmVkOiBcXGY1Yzg7XG4kZmEtdmFyLXRvZ2dsZS1vZmY6IFxcZjIwNDtcbiRmYS12YXItdG9nZ2xlLW9uOiBcXGYyMDU7XG4kZmEtdmFyLXRvaWxldDogXFxmN2Q4O1xuJGZhLXZhci10b2lsZXQtcGFwZXI6IFxcZjcxZTtcbiRmYS12YXItdG9pbGV0LXBhcGVyLXNsYXNoOiBcXGUwNzI7XG4kZmEtdmFyLXRvb2xib3g6IFxcZjU1MjtcbiRmYS12YXItdG9vbHM6IFxcZjdkOTtcbiRmYS12YXItdG9vdGg6IFxcZjVjOTtcbiRmYS12YXItdG9yYWg6IFxcZjZhMDtcbiRmYS12YXItdG9yaWktZ2F0ZTogXFxmNmExO1xuJGZhLXZhci10cmFjdG9yOiBcXGY3MjI7XG4kZmEtdmFyLXRyYWRlLWZlZGVyYXRpb246IFxcZjUxMztcbiRmYS12YXItdHJhZGVtYXJrOiBcXGYyNWM7XG4kZmEtdmFyLXRyYWZmaWMtbGlnaHQ6IFxcZjYzNztcbiRmYS12YXItdHJhaWxlcjogXFxlMDQxO1xuJGZhLXZhci10cmFpbjogXFxmMjM4O1xuJGZhLXZhci10cmFtOiBcXGY3ZGE7XG4kZmEtdmFyLXRyYW5zZ2VuZGVyOiBcXGYyMjQ7XG4kZmEtdmFyLXRyYW5zZ2VuZGVyLWFsdDogXFxmMjI1O1xuJGZhLXZhci10cmFzaDogXFxmMWY4O1xuJGZhLXZhci10cmFzaC1hbHQ6IFxcZjJlZDtcbiRmYS12YXItdHJhc2gtcmVzdG9yZTogXFxmODI5O1xuJGZhLXZhci10cmFzaC1yZXN0b3JlLWFsdDogXFxmODJhO1xuJGZhLXZhci10cmVlOiBcXGYxYmI7XG4kZmEtdmFyLXRyZWxsbzogXFxmMTgxO1xuJGZhLXZhci10cmlwYWR2aXNvcjogXFxmMjYyO1xuJGZhLXZhci10cm9waHk6IFxcZjA5MTtcbiRmYS12YXItdHJ1Y2s6IFxcZjBkMTtcbiRmYS12YXItdHJ1Y2stbG9hZGluZzogXFxmNGRlO1xuJGZhLXZhci10cnVjay1tb25zdGVyOiBcXGY2M2I7XG4kZmEtdmFyLXRydWNrLW1vdmluZzogXFxmNGRmO1xuJGZhLXZhci10cnVjay1waWNrdXA6IFxcZjYzYztcbiRmYS12YXItdHNoaXJ0OiBcXGY1NTM7XG4kZmEtdmFyLXR0eTogXFxmMWU0O1xuJGZhLXZhci10dW1ibHI6IFxcZjE3MztcbiRmYS12YXItdHVtYmxyLXNxdWFyZTogXFxmMTc0O1xuJGZhLXZhci10djogXFxmMjZjO1xuJGZhLXZhci10d2l0Y2g6IFxcZjFlODtcbiRmYS12YXItdHdpdHRlcjogXFxmMDk5O1xuJGZhLXZhci10d2l0dGVyLXNxdWFyZTogXFxmMDgxO1xuJGZhLXZhci10eXBvMzogXFxmNDJiO1xuJGZhLXZhci11YmVyOiBcXGY0MDI7XG4kZmEtdmFyLXVidW50dTogXFxmN2RmO1xuJGZhLXZhci11aWtpdDogXFxmNDAzO1xuJGZhLXZhci11bWJyYWNvOiBcXGY4ZTg7XG4kZmEtdmFyLXVtYnJlbGxhOiBcXGYwZTk7XG4kZmEtdmFyLXVtYnJlbGxhLWJlYWNoOiBcXGY1Y2E7XG4kZmEtdmFyLXVuY2hhcnRlZDogXFxlMDg0O1xuJGZhLXZhci11bmRlcmxpbmU6IFxcZjBjZDtcbiRmYS12YXItdW5kbzogXFxmMGUyO1xuJGZhLXZhci11bmRvLWFsdDogXFxmMmVhO1xuJGZhLXZhci11bmlyZWdpc3RyeTogXFxmNDA0O1xuJGZhLXZhci11bml0eTogXFxlMDQ5O1xuJGZhLXZhci11bml2ZXJzYWwtYWNjZXNzOiBcXGYyOWE7XG4kZmEtdmFyLXVuaXZlcnNpdHk6IFxcZjE5YztcbiRmYS12YXItdW5saW5rOiBcXGYxMjc7XG4kZmEtdmFyLXVubG9jazogXFxmMDljO1xuJGZhLXZhci11bmxvY2stYWx0OiBcXGYxM2U7XG4kZmEtdmFyLXVuc3BsYXNoOiBcXGUwN2M7XG4kZmEtdmFyLXVudGFwcGQ6IFxcZjQwNTtcbiRmYS12YXItdXBsb2FkOiBcXGYwOTM7XG4kZmEtdmFyLXVwczogXFxmN2UwO1xuJGZhLXZhci11c2I6IFxcZjI4NztcbiRmYS12YXItdXNlcjogXFxmMDA3O1xuJGZhLXZhci11c2VyLWFsdDogXFxmNDA2O1xuJGZhLXZhci11c2VyLWFsdC1zbGFzaDogXFxmNGZhO1xuJGZhLXZhci11c2VyLWFzdHJvbmF1dDogXFxmNGZiO1xuJGZhLXZhci11c2VyLWNoZWNrOiBcXGY0ZmM7XG4kZmEtdmFyLXVzZXItY2lyY2xlOiBcXGYyYmQ7XG4kZmEtdmFyLXVzZXItY2xvY2s6IFxcZjRmZDtcbiRmYS12YXItdXNlci1jb2c6IFxcZjRmZTtcbiRmYS12YXItdXNlci1lZGl0OiBcXGY0ZmY7XG4kZmEtdmFyLXVzZXItZnJpZW5kczogXFxmNTAwO1xuJGZhLXZhci11c2VyLWdyYWR1YXRlOiBcXGY1MDE7XG4kZmEtdmFyLXVzZXItaW5qdXJlZDogXFxmNzI4O1xuJGZhLXZhci11c2VyLWxvY2s6IFxcZjUwMjtcbiRmYS12YXItdXNlci1tZDogXFxmMGYwO1xuJGZhLXZhci11c2VyLW1pbnVzOiBcXGY1MDM7XG4kZmEtdmFyLXVzZXItbmluamE6IFxcZjUwNDtcbiRmYS12YXItdXNlci1udXJzZTogXFxmODJmO1xuJGZhLXZhci11c2VyLXBsdXM6IFxcZjIzNDtcbiRmYS12YXItdXNlci1zZWNyZXQ6IFxcZjIxYjtcbiRmYS12YXItdXNlci1zaGllbGQ6IFxcZjUwNTtcbiRmYS12YXItdXNlci1zbGFzaDogXFxmNTA2O1xuJGZhLXZhci11c2VyLXRhZzogXFxmNTA3O1xuJGZhLXZhci11c2VyLXRpZTogXFxmNTA4O1xuJGZhLXZhci11c2VyLXRpbWVzOiBcXGYyMzU7XG4kZmEtdmFyLXVzZXJzOiBcXGYwYzA7XG4kZmEtdmFyLXVzZXJzLWNvZzogXFxmNTA5O1xuJGZhLXZhci11c2Vycy1zbGFzaDogXFxlMDczO1xuJGZhLXZhci11c3BzOiBcXGY3ZTE7XG4kZmEtdmFyLXVzc3VubmFoOiBcXGY0MDc7XG4kZmEtdmFyLXV0ZW5zaWwtc3Bvb246IFxcZjJlNTtcbiRmYS12YXItdXRlbnNpbHM6IFxcZjJlNztcbiRmYS12YXItdmFhZGluOiBcXGY0MDg7XG4kZmEtdmFyLXZlY3Rvci1zcXVhcmU6IFxcZjVjYjtcbiRmYS12YXItdmVudXM6IFxcZjIyMTtcbiRmYS12YXItdmVudXMtZG91YmxlOiBcXGYyMjY7XG4kZmEtdmFyLXZlbnVzLW1hcnM6IFxcZjIyODtcbiRmYS12YXItdmVzdDogXFxlMDg1O1xuJGZhLXZhci12ZXN0LXBhdGNoZXM6IFxcZTA4NjtcbiRmYS12YXItdmlhY29pbjogXFxmMjM3O1xuJGZhLXZhci12aWFkZW86IFxcZjJhOTtcbiRmYS12YXItdmlhZGVvLXNxdWFyZTogXFxmMmFhO1xuJGZhLXZhci12aWFsOiBcXGY0OTI7XG4kZmEtdmFyLXZpYWxzOiBcXGY0OTM7XG4kZmEtdmFyLXZpYmVyOiBcXGY0MDk7XG4kZmEtdmFyLXZpZGVvOiBcXGYwM2Q7XG4kZmEtdmFyLXZpZGVvLXNsYXNoOiBcXGY0ZTI7XG4kZmEtdmFyLXZpaGFyYTogXFxmNmE3O1xuJGZhLXZhci12aW1lbzogXFxmNDBhO1xuJGZhLXZhci12aW1lby1zcXVhcmU6IFxcZjE5NDtcbiRmYS12YXItdmltZW8tdjogXFxmMjdkO1xuJGZhLXZhci12aW5lOiBcXGYxY2E7XG4kZmEtdmFyLXZpcnVzOiBcXGUwNzQ7XG4kZmEtdmFyLXZpcnVzLXNsYXNoOiBcXGUwNzU7XG4kZmEtdmFyLXZpcnVzZXM6IFxcZTA3NjtcbiRmYS12YXItdms6IFxcZjE4OTtcbiRmYS12YXItdm52OiBcXGY0MGI7XG4kZmEtdmFyLXZvaWNlbWFpbDogXFxmODk3O1xuJGZhLXZhci12b2xsZXliYWxsLWJhbGw6IFxcZjQ1ZjtcbiRmYS12YXItdm9sdW1lLWRvd246IFxcZjAyNztcbiRmYS12YXItdm9sdW1lLW11dGU6IFxcZjZhOTtcbiRmYS12YXItdm9sdW1lLW9mZjogXFxmMDI2O1xuJGZhLXZhci12b2x1bWUtdXA6IFxcZjAyODtcbiRmYS12YXItdm90ZS15ZWE6IFxcZjc3MjtcbiRmYS12YXItdnItY2FyZGJvYXJkOiBcXGY3Mjk7XG4kZmEtdmFyLXZ1ZWpzOiBcXGY0MWY7XG4kZmEtdmFyLXdhbGtpbmc6IFxcZjU1NDtcbiRmYS12YXItd2FsbGV0OiBcXGY1NTU7XG4kZmEtdmFyLXdhcmVob3VzZTogXFxmNDk0O1xuJGZhLXZhci13YXRjaG1hbi1tb25pdG9yaW5nOiBcXGUwODc7XG4kZmEtdmFyLXdhdGVyOiBcXGY3NzM7XG4kZmEtdmFyLXdhdmUtc3F1YXJlOiBcXGY4M2U7XG4kZmEtdmFyLXdhemU6IFxcZjgzZjtcbiRmYS12YXItd2VlYmx5OiBcXGY1Y2M7XG4kZmEtdmFyLXdlaWJvOiBcXGYxOGE7XG4kZmEtdmFyLXdlaWdodDogXFxmNDk2O1xuJGZhLXZhci13ZWlnaHQtaGFuZ2luZzogXFxmNWNkO1xuJGZhLXZhci13ZWl4aW46IFxcZjFkNztcbiRmYS12YXItd2hhdHNhcHA6IFxcZjIzMjtcbiRmYS12YXItd2hhdHNhcHAtc3F1YXJlOiBcXGY0MGM7XG4kZmEtdmFyLXdoZWVsY2hhaXI6IFxcZjE5MztcbiRmYS12YXItd2htY3M6IFxcZjQwZDtcbiRmYS12YXItd2lmaTogXFxmMWViO1xuJGZhLXZhci13aWtpcGVkaWEtdzogXFxmMjY2O1xuJGZhLXZhci13aW5kOiBcXGY3MmU7XG4kZmEtdmFyLXdpbmRvdy1jbG9zZTogXFxmNDEwO1xuJGZhLXZhci13aW5kb3ctbWF4aW1pemU6IFxcZjJkMDtcbiRmYS12YXItd2luZG93LW1pbmltaXplOiBcXGYyZDE7XG4kZmEtdmFyLXdpbmRvdy1yZXN0b3JlOiBcXGYyZDI7XG4kZmEtdmFyLXdpbmRvd3M6IFxcZjE3YTtcbiRmYS12YXItd2luZS1ib3R0bGU6IFxcZjcyZjtcbiRmYS12YXItd2luZS1nbGFzczogXFxmNGUzO1xuJGZhLXZhci13aW5lLWdsYXNzLWFsdDogXFxmNWNlO1xuJGZhLXZhci13aXg6IFxcZjVjZjtcbiRmYS12YXItd2l6YXJkcy1vZi10aGUtY29hc3Q6IFxcZjczMDtcbiRmYS12YXItd29kdTogXFxlMDg4O1xuJGZhLXZhci13b2xmLXBhY2stYmF0dGFsaW9uOiBcXGY1MTQ7XG4kZmEtdmFyLXdvbi1zaWduOiBcXGYxNTk7XG4kZmEtdmFyLXdvcmRwcmVzczogXFxmMTlhO1xuJGZhLXZhci13b3JkcHJlc3Mtc2ltcGxlOiBcXGY0MTE7XG4kZmEtdmFyLXdwYmVnaW5uZXI6IFxcZjI5NztcbiRmYS12YXItd3BleHBsb3JlcjogXFxmMmRlO1xuJGZhLXZhci13cGZvcm1zOiBcXGYyOTg7XG4kZmEtdmFyLXdwcmVzc3I6IFxcZjNlNDtcbiRmYS12YXItd3JlbmNoOiBcXGYwYWQ7XG4kZmEtdmFyLXgtcmF5OiBcXGY0OTc7XG4kZmEtdmFyLXhib3g6IFxcZjQxMjtcbiRmYS12YXIteGluZzogXFxmMTY4O1xuJGZhLXZhci14aW5nLXNxdWFyZTogXFxmMTY5O1xuJGZhLXZhci15LWNvbWJpbmF0b3I6IFxcZjIzYjtcbiRmYS12YXIteWFob286IFxcZjE5ZTtcbiRmYS12YXIteWFtbWVyOiBcXGY4NDA7XG4kZmEtdmFyLXlhbmRleDogXFxmNDEzO1xuJGZhLXZhci15YW5kZXgtaW50ZXJuYXRpb25hbDogXFxmNDE0O1xuJGZhLXZhci15YXJuOiBcXGY3ZTM7XG4kZmEtdmFyLXllbHA6IFxcZjFlOTtcbiRmYS12YXIteWVuLXNpZ246IFxcZjE1NztcbiRmYS12YXIteWluLXlhbmc6IFxcZjZhZDtcbiRmYS12YXIteW9hc3Q6IFxcZjJiMTtcbiRmYS12YXIteW91dHViZTogXFxmMTY3O1xuJGZhLXZhci15b3V0dWJlLXNxdWFyZTogXFxmNDMxO1xuJGZhLXZhci16aGlodTogXFxmNjNmO1xuIiwiLy8gTGlzdCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAkZmEtbGktd2lkdGggKiA1LzQ7XG4gIHBhZGRpbmctbGVmdDogMDtcblxuICA+IGxpIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1saSB7XG4gIGxlZnQ6IC0kZmEtbGktd2lkdGg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogJGZhLWxpLXdpZHRoO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cbiIsIi8vIEJvcmRlcmVkICYgUHVsbGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3JkZXIge1xuICBib3JkZXI6IHNvbGlkIC4wOGVtICRmYS1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IC4xZW07XG4gIHBhZGRpbmc6IC4yZW0gLjI1ZW0gLjE1ZW07XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1wdWxsLWxlZnQgeyBmbG9hdDogbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtcmlnaHQgeyBmbG9hdDogcmlnaHQ7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LFxuLmZhcyxcbi5mYXIsXG4uZmFsLFxuLmZhYiB7XG4gICYuI3skZmEtY3NzLXByZWZpeH0tcHVsbC1sZWZ0IHsgbWFyZ2luLXJpZ2h0OiAuM2VtOyB9XG4gICYuI3skZmEtY3NzLXByZWZpeH0tcHVsbC1yaWdodCB7IG1hcmdpbi1sZWZ0OiAuM2VtOyB9XG59XG4iLCIvLyBBbmltYXRlZCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW4ge1xuICBhbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0tcHVsc2Uge1xuICBhbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7XG59XG5cbkBrZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbiIsIi8vIFJvdGF0ZWQgJiBGbGlwcGVkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAgIHsgQGluY2x1ZGUgZmEtaWNvbi1yb3RhdGUoOTBkZWcsIDEpOyAgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS0xODAgeyBAaW5jbHVkZSBmYS1pY29uLXJvdGF0ZSgxODBkZWcsIDIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTI3MCB7IEBpbmNsdWRlIGZhLWljb24tcm90YXRlKDI3MGRlZywgMyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCB7IEBpbmNsdWRlIGZhLWljb24tZmxpcCgtMSwgMSwgMCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLXZlcnRpY2FsICAgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoMSwgLTEsIDIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpcC1ib3RoLCAuI3skZmEtY3NzLXByZWZpeH0tZmxpcC1ob3Jpem9udGFsLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtdmVydGljYWwgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoLTEsIC0xLCAyKTsgfVxuXG4vLyBIb29rIGZvciBJRTgtOVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG46cm9vdCB7XG4gIC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAsXG4gIC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtMTgwLFxuICAuI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTI3MCxcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCxcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtdmVydGljYWwsXG4gIC4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLWJvdGgge1xuICAgIGZpbHRlcjogbm9uZTtcbiAgfVxufVxuIiwiLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gZmEtaWNvbiB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5AbWl4aW4gZmEtaWNvbi1yb3RhdGUoJGRlZ3JlZXMsICRyb3RhdGlvbikge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPSN7JHJvdGF0aW9ufSlcIjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xufVxuXG5AbWl4aW4gZmEtaWNvbi1mbGlwKCRob3JpeiwgJHZlcnQsICRyb3RhdGlvbikge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPSN7JHJvdGF0aW9ufSwgbWlycm9yPTEpXCI7XG4gIHRyYW5zZm9ybTogc2NhbGUoJGhvcml6LCAkdmVydCk7XG59XG5cblxuLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnMuIEEgbGEgQm9vdHN0cmFwIDQuXG4vL1xuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXG5cbkBtaXhpbiBzci1vbmx5IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGNsaXA6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG4iLCIvLyBTdGFja2VkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICgkZmEtZnctd2lkdGgqMik7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0xeCxcbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0yeCB7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLTF4IHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0yeCB7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0taW52ZXJzZSB7XG4gIGNvbG9yOiAkZmEtaW52ZXJzZTtcbn1cbiIsIi8qIEZvbnQgQXdlc29tZSB1c2VzIHRoZSBVbmljb2RlIFByaXZhdGUgVXNlIEFyZWEgKFBVQSkgdG8gZW5zdXJlIHNjcmVlblxucmVhZGVycyBkbyBub3QgcmVhZCBvZmYgcmFuZG9tIGNoYXJhY3RlcnMgdGhhdCByZXByZXNlbnQgaWNvbnMgKi9cblxuLiN7JGZhLWNzcy1wcmVmaXh9LTUwMHB4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci01MDBweCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hY2Nlc3NpYmxlLWljb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFjY2Vzc2libGUtaWNvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hY2N1c29mdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWNjdXNvZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWNxdWlzaXRpb25zLWluY29ycG9yYXRlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWNxdWlzaXRpb25zLWluY29ycG9yYXRlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1ib29rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZGRyZXNzLWJvb2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZGRyZXNzLWNhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRqdXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZGp1c3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZG4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWR2ZXJzYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFkdmVyc2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFmZmlsaWF0ZXRoZW1lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZmZpbGlhdGV0aGVtZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1haXItZnJlc2hlbmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1haXItZnJlc2hlbmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFpcmJuYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWlyYm5iKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsZ29saWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsZ29saWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tY2VudGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGlnbi1jZW50ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tanVzdGlmeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWxpZ24tanVzdGlmeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGlnbi1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGlnbi1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlwYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsaXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGxlcmdpZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsbGVyZ2llcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWF6b246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFtYXpvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWF6b24tcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbWF6b24tcGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFtYnVsYW5jZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW1idWxhbmNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWlsaWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFtaWxpYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmNob3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuY2hvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmRyb2lkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmRyb2lkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2VsbGlzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nZWxsaXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1kb3VibGUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtZG91YmxlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1kb3VibGUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1kb3VibGUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5ncnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ3J5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ3J5Y3JlYXRpdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ3J5Y3JlYXRpdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5ndWxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5ndWxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmtoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmtoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcC1zdG9yZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXBwLXN0b3JlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcC1zdG9yZS1pb3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcC1zdG9yZS1pb3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXBwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcHBsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcHBsZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcGxlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcHBsZS1wYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcGxlLXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcmNoaXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcmNoaXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFyY2h3YXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFyY2h3YXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWNpcmNsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWNpcmNsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1hbHQtY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1jaXJjbGUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctY2lyY2xlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1jaXJjbGUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1jaXJjbGUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3dzLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3MtYWx0LWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93cy1hbHQtaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3MtYWx0LXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93cy1hbHQtdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnRzdGF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnRzdGF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFzdGVyaXNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hc3Rlcmlzayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hc3ltbWV0cmlrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hc3ltbWV0cmlrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdGxhczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXRsYXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXRsYXNzaWFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdGxhc3NpYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXRvbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXRvbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdWRpYmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdWRpYmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF1ZGlvLWRlc2NyaXB0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdWRpby1kZXNjcmlwdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdXRvcHJlZml4ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF1dG9wcmVmaXhlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdmlhbmV4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdmlhbmV4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF2aWF0bzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXZpYXRvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hd2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hd3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF3cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhYnktY2FycmlhZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhYnktY2FycmlhZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFja3NwYWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWNrc3BhY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhY2t3YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhY29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWNvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWN0ZXJpYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFjdGVyaWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFjdGVyaXVtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWN0ZXJpdW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFoYWk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhaGFpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbGFuY2Utc2NhbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhbGFuY2Utc2NhbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFsYW5jZS1zY2FsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWxhbmNlLXNjYWxlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFsYW5jZS1zY2FsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFsYW5jZS1zY2FsZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYW5kLWFpZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFuZC1haWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFuZGNhbXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhbmRjYW1wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhcmNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhcmNvZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXNlYmFsbC1iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXNlYmFsbC1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhc2tldGJhbGwtYmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFza2V0YmFsbC1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGVyeS1lbXB0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktZnVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWhhbGY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktaGFsZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LXF1YXJ0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktcXVhcnRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRsZS1uZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRsZS1uZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmVlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWhhbmNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWhhbmNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlaGFuY2Utc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWhhbmNlLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGwtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJlbGwtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmV6aWVyLWN1cnZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZXppZXItY3VydmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlibGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpYmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpY3ljbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpY3ljbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlraW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaWtpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmltb2JqZWN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaW1vYmplY3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlub2N1bGFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmlub2N1bGFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaW9oYXphcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpb2hhemFyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXJ0aGRheS1jYWtlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaXJ0aGRheS1jYWtlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdGJ1Y2tldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYml0YnVja2V0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdGNvaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpdGNvaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYml0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYml0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGFjay10aWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsYWNrLXRpZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGFja2JlcnJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibGFja2JlcnJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsZW5kZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsZW5kZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxlbmRlci1waG9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxlbmRlci1waG9uZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGluZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxpbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibG9nZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibG9nZ2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsb2dnZXItYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxvZ2dlci1iKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsdWV0b290aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmx1ZXRvb3RoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsdWV0b290aC1iOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibHVldG9vdGgtYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib2xkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib2xkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9tYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9tYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9vazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLWRlYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2stZGVhZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2stbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2stb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLXJlYWRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vay1yZWFkZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9va21hcms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2ttYXJrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb3RzdHJhcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vdHN0cmFwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlci1hbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvcmRlci1hbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9yZGVyLW5vbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvcmRlci1ub25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlci1zdHlsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9yZGVyLXN0eWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvd2xpbmctYmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm93bGluZy1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJveDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJveC1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3gtb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3gtdGlzc3VlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3gtdGlzc3VlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJveGVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3hlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icmFpbGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icmFpbGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyYWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icmFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icmVhZC1zbGljZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJlYWQtc2xpY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJpZWZjYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icmllZmNhc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJpZWZjYXNlLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyaWVmY2FzZS1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyb2FkY2FzdC10b3dlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJvYWRjYXN0LXRvd2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyb29tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icm9vbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icnVzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJ1c2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnRjOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idGMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVmZmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idWZmZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVpbGRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1aWxkaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1bGxob3JuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idWxsaG9ybik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWxsc2V5ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVsbHNleWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVybjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVybik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXJvbW9iZWxleHBlcnRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idXJvbW9iZWxleHBlcnRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1cy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1cy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVzaW5lc3MtdGltZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVzaW5lc3MtdGltZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXktbi1sYXJnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnV5LW4tbGFyZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnV5c2VsbGFkczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnV5c2VsbGFkcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxjdWxhdG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxjdWxhdG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FsZW5kYXItY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItZGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhci1kYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLW1pbnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItdGltZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLXRpbWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXdlZWs6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLXdlZWspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW1lcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhLXJldHJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW1lcmEtcmV0cm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtcGdyb3VuZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FtcGdyb3VuZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYW5hZGlhbi1tYXBsZS1sZWFmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW5hZGlhbi1tYXBsZS1sZWFmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbmR5LWNhbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbmR5LWNhbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FubmFiaXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbm5hYmlzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcHN1bGVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXBzdWxlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhci1iYXR0ZXJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXItYmF0dGVyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXItY3Jhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhci1jcmFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXItc2lkZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyLXNpZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyYXZhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyYXZhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtc3F1YXJlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcnJvdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2Fycm90KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcnQtYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FydC1hcnJvdy1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcnQtcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FydC1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhc2gtcmVnaXN0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhc2gtcmVnaXN0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2F0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtYW1hem9uLXBheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtYW1hem9uLXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1hbWV4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1hbWV4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWFwcGxlLXBheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtYXBwbGUtcGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWRpbmVycy1jbHViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1kaW5lcnMtY2x1Yik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1kaXNjb3ZlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtZGlzY292ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtamNiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1qY2IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtbWFzdGVyY2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtbWFzdGVyY2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1wYXlwYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLXBheXBhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1zdHJpcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLXN0cmlwZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy12aXNhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy12aXNhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNlbnRlcmNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNlbnRlcmNvZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2VudG9zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jZW50b3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2VydGlmaWNhdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNlcnRpZmljYXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYWlyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFpcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFsa2JvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFsa2JvYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYWxrYm9hcmQtdGVhY2hlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhbGtib2FyZC10ZWFjaGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYXJnaW5nLXN0YXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJnaW5nLXN0YXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhcnQtYXJlYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhcnQtYXJlYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFydC1iYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJ0LWJhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFydC1saW5lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFydC1saW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYXJ0LXBpZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhcnQtcGllKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZWNrLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1kb3VibGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZWNrLWRvdWJsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZWNrLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVlc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZWVzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3MtYmlzaG9wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1iaXNob3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3MtYm9hcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLWJvYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLWtpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLWtpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3Mta25pZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1rbmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3MtcGF3bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3MtcGF3bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzcy1xdWVlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3MtcXVlZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3Mtcm9vazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3Mtcm9vayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tY2lyY2xlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tY2lyY2xlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWNpcmNsZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hpbGQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoaWxkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNocm9tZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hyb21lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNocm9tZWNhc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNocm9tZWNhc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2h1cmNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaHVyY2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlLW5vdGNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaXJjbGUtbm90Y2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2l0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2l0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbGluaWMtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xpbmljLW1lZGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xpcGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbGlwYm9hcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xpcGJvYXJkLWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbGlwYm9hcmQtY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xpcGJvYXJkLWxpc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsaXBib2FyZC1saXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG9jayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvc2VkLWNhcHRpb25pbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3NlZC1jYXB0aW9uaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1kb3dubG9hZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLWRvd25sb2FkLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1tZWF0YmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtbWVhdGJhbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtbW9vbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtbW9vbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1tb29uLXJhaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLW1vb24tcmFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1yYWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1yYWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXNob3dlcnMtaGVhdnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXNob3dlcnMtaGVhdnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtc3VuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1zdW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtc3VuLXJhaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXN1bi1yYWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXVwbG9hZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXVwbG9hZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWRmbGFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWRmbGFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZHNjYWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZHNjYWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3Vkc21pdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3Vkc21pdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWR2ZXJzaWZ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZHZlcnNpZnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29ja3RhaWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvY2t0YWlsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZS1icmFuY2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZGUtYnJhbmNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZGVwZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZGVwZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kaWVwaWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZGllcGllKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZmZlZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29mZmVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZ3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZ3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29pbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvaW5zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbHVtbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbHVtbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnQtZG9sbGFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtZG90czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1kb3RzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnQtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRzLWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudHMtZG9sbGFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXBhY3QtZGlzYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tcGFjdC1kaXNjKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXBhc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXBhc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcHJlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXByZXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXByZXNzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tcHJlc3MtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXByZXNzLWFycm93cy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXByZXNzLWFycm93cy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29uY2llcmdlLWJlbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbmNpZXJnZS1iZWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbmZsdWVuY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbmZsdWVuY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29ubmVjdGRldmVsb3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbm5lY3RkZXZlbG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbnRhbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29udGFvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvb2tpZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29va2llKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvb2tpZS1iaXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb29raWUtYml0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb3B5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb3B5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvcHlyaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29weXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvdHRvbi1idXJlYXU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvdHRvbi1idXJlYXUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY291Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvdWNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNwYW5lbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3BhbmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1ieTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1ieSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLW5jOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtbmMtZXU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmMtZXUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1uYy1qcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1qcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLW5kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtcGQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcGQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1wZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtcmVtaXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcmVtaXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1zYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtc2hhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2hhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy16ZXJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXplcm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlZGl0LWNhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWRpdC1jYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyaXRpY2FsLXJvbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyaXRpY2FsLXJvbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JvcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm9wLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JvcC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3Jvc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyb3NzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyb3NzaGFpcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyb3NzaGFpcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3Jvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3Jvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3J1dGNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcnV0Y2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3NzMzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3NzMyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jc3MzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3NzMy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3ViZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3ViZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jdWJlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3ViZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jdXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3V0dGxlZmlzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3V0dGxlZmlzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kLWFuZC1kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kLWFuZC1kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWQtYW5kLWQtYmV5b25kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kLWFuZC1kLWJleW9uZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kYWlseW1vdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGFpbHltb3Rpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGFzaGN1YmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRhc2hjdWJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRhdGFiYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kYXRhYmFzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZWFmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZWFmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlZXplcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGVlemVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlbGljaW91czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGVsaWNpb3VzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlbW9jcmF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZW1vY3JhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXBsb3lkb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlcGxveWRvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXNrcHJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZXNrcHJvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlc2t0b3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlc2t0b3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGV2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGV2aWFudGFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGV2aWFudGFydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaGFybWFjaGFrcmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRoYXJtYWNoYWtyYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRobCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWFnbm9zZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpYWdub3Nlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWFzcG9yYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlhc3BvcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLWQyMDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1kMjApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS1kNjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1kNik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLWZpdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UtZml2ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLWZvdXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UtZm91cik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLW9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1vbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS1zaXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2Utc2l4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2UtdGhyZWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UtdGhyZWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS10d286YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UtdHdvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpZ2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpZ2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlnaXRhbC1vY2VhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlnaXRhbC1vY2Vhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWdpdGFsLXRhY2hvZ3JhcGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpZ2l0YWwtdGFjaG9ncmFwaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXJlY3Rpb25zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaXJlY3Rpb25zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpc2NvcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpc2NvcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlzY291cnNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaXNjb3Vyc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlzZWFzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlzZWFzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXZpZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpdmlkZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXp6eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGl6enkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG5hOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kbmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9jaHViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2NodWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9ja2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2NrZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9sbGFyLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvbGxhci1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvbGx5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2xseSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb2xseS1mbGF0YmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2xseS1mbGF0YmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvbmF0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG9uYXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvb3ItY2xvc2VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb29yLWNsb3NlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb29yLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvb3Itb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb3QtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb3QtY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvd25sb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyYWZ0MmRpZ2l0YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYWZ0MmRpZ2l0YWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJhZnRpbmctY29tcGFzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJhZnRpbmctY29tcGFzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmFnb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYWdvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmF3LXBvbHlnb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYXctcG9seWdvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmliYmJsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJpYmJibGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJpYmJibGUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcmliYmJsZS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJvcGJveDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJvcGJveCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcnVtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcnVtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRydW0tc3RlZWxwYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRydW0tc3RlZWxwYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJ1bXN0aWNrLWJpdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRydW1zdGljay1iaXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRydXBhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJ1cGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWR1bWJiZWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kdW1iYmVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kdW1wc3RlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHVtcHN0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHVtcHN0ZXItZmlyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHVtcHN0ZXItZmlyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kdW5nZW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kdW5nZW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWR5YWxvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHlhbG9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVhcmx5YmlyZHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVhcmx5YmlyZHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWJheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWJheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lZGdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lZGdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVkZ2UtbGVnYWN5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lZGdlLWxlZ2FjeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lZGl0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lZGl0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVnZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWdnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVqZWN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lamVjdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbGVtZW50b3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVsZW1lbnRvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbGxpcHNpcy1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbGxpcHNpcy1oKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsbGlwc2lzLXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVsbGlwc2lzLXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWxsbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWxsbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbWJlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZW1iZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW1waXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbXBpcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVudmVsb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVudmVsb3BlLW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtb3Blbi10ZXh0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbnZlbG9wZS1vcGVuLXRleHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbnZlbG9wZS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52aXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbnZpcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXF1YWxzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lcXVhbHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXJhc2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lcmFzZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXJsYW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lcmxhbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXRoZXJldW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV0aGVyZXVtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV0aGVybmV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ldGhlcm5ldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ldHN5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ldHN5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV1cm8tc2lnbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXVyby1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV2ZXJub3RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ldmVybm90ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNoYW5nZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4Y2hhbmdlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhjbGFtYXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhjbGFtYXRpb24tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leGNsYW1hdGlvbi1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4cGFuZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhwYW5kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4cGFuZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4cGFuZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwYW5kLWFycm93cy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4cGFuZC1hcnJvd3MtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4cGVkaXRlZHNzbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhwZWRpdGVkc3NsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4dGVybmFsLWxpbmstYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leHRlcm5hbC1saW5rLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHRlcm5hbC1saW5rLXNxdWFyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV5ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWUtZHJvcHBlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXllLWRyb3BwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXllLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leWUtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhY2Vib29rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rLWY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhY2Vib29rLWYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stbWVzc2VuZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYWNlYm9vay1tZXNzZW5nZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYWNlYm9vay1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFudGFzeS1mbGlnaHQtZ2FtZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhbnRhc3ktZmxpZ2h0LWdhbWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhc3QtYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhc3QtYmFja3dhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFzdC1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYXN0LWZvcndhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmF1Y2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYXVjZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmF4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmVhdGhlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVhdGhlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mZWF0aGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVhdGhlci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmVkZXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZlZGV4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlZG9yYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVkb3JhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlbWFsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVtYWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpZ2h0ZXItamV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWdodGVyLWpldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWdtYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlnbWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hcmNoaXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWFyY2hpdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hdWRpbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hdWRpbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtY29kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWNvbnRyYWN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWNvbnRyYWN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtY3N2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWNzdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWRvd25sb2FkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWRvd25sb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtZXhjZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtZXhjZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1leHBvcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtZXhwb3J0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW1hZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtaW1hZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1pbXBvcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtaW1wb3J0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW52b2ljZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1pbnZvaWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW52b2ljZS1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtaW52b2ljZS1kb2xsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLW1lZGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1tZWRpY2FsLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1tZWRpY2FsLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBkZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1wZGYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1wb3dlcnBvaW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXBvd2VycG9pbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1wcmVzY3JpcHRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtcHJlc2NyaXB0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtc2lnbmF0dXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXNpZ25hdHVyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS11cGxvYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS12aWRlbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS12aWRlbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXdvcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtd29yZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGwtZHJpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsbC1kcmlwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbG06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbG0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWx0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmluZ2VycHJpbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbmdlcnByaW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJlLWV4dGluZ3Vpc2hlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJlZm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJlZm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmVmb3gtYnJvd3NlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlyZWZveC1icm93c2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcnN0LWFpZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlyc3QtYWlkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcnN0LW9yZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJzdC1vcmRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJzdC1vcmRlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcnN0LW9yZGVyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJzdGRyYWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJzdGRyYWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlzdC1yYWlzZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpc3QtcmFpc2VkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsYWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhZy1jaGVja2VyZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsYWctY2hlY2tlcmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWctdXNhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbGFnLXVzYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFzazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxhc2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpY2tyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbGlja3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpcGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbGlwYm9hcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmx1c2hlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmx1c2hlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZseSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlci1taW51cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9sZGVyLW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlci1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udC1hd2Vzb21lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb250LWF3ZXNvbWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udC1hd2Vzb21lLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udC1hd2Vzb21lLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250LWF3ZXNvbWUtZmxhZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udC1hd2Vzb21lLWZsYWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udC1hd2Vzb21lLWxvZ28tZnVsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udC1hd2Vzb21lLWxvZ28tZnVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250aWNvbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbnRpY29ucyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250aWNvbnMtZmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbnRpY29ucy1maSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb290YmFsbC1iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb290YmFsbC1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnQtYXdlc29tZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9ydC1hd2Vzb21lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnQtYXdlc29tZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcnQtYXdlc29tZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9ydW1iZWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcnVtYmVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcndhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm91cnNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm91cnNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcmVlLWNvZGUtY2FtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnJlZS1jb2RlLWNhbXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnJlZWJzZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnJlZWJzZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcm9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcm9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZyb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcm93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcm93bi1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcm93bi1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZ1bGNydW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZ1bGNydW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnVubmVsLWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnVubmVsLWRvbGxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mdXRib2w6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZ1dGJvbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYWxhY3RpYy1yZXB1YmxpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FsYWN0aWMtcmVwdWJsaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2FsYWN0aWMtc2VuYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nYWxhY3RpYy1zZW5hdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2FtZXBhZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FtZXBhZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYXMtcHVtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FzLXB1bXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2F2ZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhdmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2VtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlbmRlcmxlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdlbmRlcmxlc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2V0LXBvY2tldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2V0LXBvY2tldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2ctY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nZy1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2hvc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdob3N0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2lmdHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpZnRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRodWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdGh1Yik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRodWItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXRodWItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGh1Yi1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdGh1Yi1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0a3Jha2VuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXRrcmFrZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0bGFiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXRsYWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0dGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXR0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3MtY2hlZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbGFzcy1jaGVlcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3MtbWFydGluaTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3MtbWFydGluaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGFzcy1tYXJ0aW5pLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3MtbWFydGluaS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3Mtd2hpc2tleTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3Mtd2hpc2tleSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGFzc2VzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbGFzc2VzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsaWRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbGlkZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGlkZS1nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbGlkZS1nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsb2JlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbG9iZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbG9iZS1hZnJpY2E6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsb2JlLWFmcmljYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbG9iZS1hbWVyaWNhczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xvYmUtYW1lcmljYXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xvYmUtYXNpYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xvYmUtYXNpYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbG9iZS1ldXJvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsb2JlLWV1cm9wZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb2ZvcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvZm9yZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb2xmLWJhbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvbGYtYmFsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29kcmVhZHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2RyZWFkcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29kcmVhZHMtZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZHJlYWRzLWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLWRyaXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUtZHJpdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGxheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLXBsYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2dsZS1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wbHVzLWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2dsZS1wbHVzLWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUtcGx1cy1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXdhbGxldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLXdhbGxldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb3B1cmFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb3B1cmFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyYWR1YXRpb24tY2FwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmFkdWF0aW9uLWNhcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmF0aXBheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JhdGlwYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JhdjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jhdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmVhdGVyLXRoYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyZWF0ZXItdGhhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmVhdGVyLXRoYW4tZXF1YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyZWF0ZXItdGhhbi1lcXVhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmltYWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmltYWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tYmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1iZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tYmVhbS1zd2VhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1iZWFtLXN3ZWF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4taGVhcnRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLWhlYXJ0cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXNxdWludDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1zcXVpbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1zcXVpbnQtdGVhcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tc3F1aW50LXRlYXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tc3RhcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tc3RhcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi10ZWFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi10ZWFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXRvbmd1ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi10b25ndWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi10b25ndWUtc3F1aW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLXRvbmd1ZS1zcXVpbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi10b25ndWUtd2luazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi10b25ndWUtd2luayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXdpbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4td2luayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmlwLWhvcml6b250YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaXAtaG9yaXpvbnRhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmlwLWxpbmVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmlwLWxpbmVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaXAtbGluZXMtdmVydGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaXAtbGluZXMtdmVydGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JpcC12ZXJ0aWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JpcC12ZXJ0aWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmlwZmlyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JpcGZpcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3J1bnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdydW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWd1aWxkZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWd1aWxkZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3VpdGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ndWl0YXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3VscDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3VscCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaC1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFja2VyLW5ld3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhY2tlci1uZXdzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhY2tlci1uZXdzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFja2VyLW5ld3Mtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhY2tlcnJhbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhY2tlcnJhbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFtYnVyZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW1idXJnZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFtbWVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW1tZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFtc2E6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbXNhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1ob2xkaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy1oZWFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1ob2xkaW5nLWhlYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLWhvbGRpbmctbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWhvbGRpbmctdXNkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLWhvbGRpbmctdXNkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy13YXRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1ob2xkaW5nLXdhdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtbGl6YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLWxpemFyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLW1pZGRsZS1maW5nZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtbWlkZGxlLWZpbmdlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBhcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBhcGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcGVhY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcGVhY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludC1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1wb2ludC1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBvaW50LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcG9pbnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1wb2ludGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcm9jazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1yb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtc2Npc3NvcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtc2Npc3NvcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1zcGFya2xlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1zcGFya2xlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXNwb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXNwb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kcy1oZWxwaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kcy1oZWxwaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmRzLXdhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmRzLXdhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZHNoYWtlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kc2hha2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZHNoYWtlLWFsdC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZHNoYWtlLWFsdC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kc2hha2Utc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmRzaGFrZS1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW51a2lhaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFudWtpYWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFyZC1oYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhcmQtaGF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhc2h0YWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhc2h0YWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGF0LWNvd2JveTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGF0LWNvd2JveSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYXQtY293Ym95LXNpZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhdC1jb3dib3ktc2lkZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYXQtd2l6YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYXQtd2l6YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhkZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGRkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWQtc2lkZS1jb3VnaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZC1zaWRlLWNvdWdoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWQtc2lkZS1jb3VnaC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZC1zaWRlLWNvdWdoLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWQtc2lkZS1tYXNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFkLXNpZGUtbWFzayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkLXNpZGUtdmlydXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWQtc2lkZS12aXJ1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFkaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWRwaG9uZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWRwaG9uZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZHBob25lcy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWRwaG9uZXMtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWRzZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWRzZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYXJ0LWJyb2tlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhcnQtYnJva2VuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYXJ0YmVhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhcnRiZWF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlbGljb3B0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlbGljb3B0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGlnaGxpZ2h0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhpZ2hsaWdodGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpa2luZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGlraW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpcHBvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oaXBwbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaXBzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oaXBzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpcmUtYS1oZWxwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhpcmUtYS1oZWxwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGlzdG9yeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGlzdG9yeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oaXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvY2tleS1wdWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob2NrZXktcHVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob2xseS1iZXJyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9sbHktYmVycnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9tZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9tZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob29saTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9vbGkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9ybmJpbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvcm5iaWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvcnNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3JzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3JzZS1oZWFkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3JzZS1oZWFkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvc3BpdGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3NwaXRhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvc3BpdGFsLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC1zeW1ib2w6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvc3BpdGFsLXN5bWJvbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC11c2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3NwaXRhbC11c2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdC10dWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdC10dWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG90ZG9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3Rkb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG90ZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdGVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdGphcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG90amFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91cmdsYXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1lbmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXJnbGFzcy1lbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLWhhbGY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXJnbGFzcy1oYWxmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1zdGFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91cmdsYXNzLXN0YXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXNlLWRhbWFnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91c2UtZGFtYWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXNlLXVzZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXNlLXVzZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91eno6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXp6KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhyeXZuaWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhyeXZuaWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taHRtbDU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWh0bWw1KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWh1YnNwb3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWh1YnNwb3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taS1jdXJzb3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWktY3Vyc29yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWljZS1jcmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWNlLWNyZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWljaWNsZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWljaWNsZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWNvbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWljb25zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkLWJhZGdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pZC1iYWRnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pZC1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pZC1jYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkLWNhcmQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pZC1jYXJkLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pZGVhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWRlYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWdsb286YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlnbG9vKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWltYWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbWFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbWFnZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWltYWdlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbWRiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbWRiKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluYm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbmJveCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmRlbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZGVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmR1c3RyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5kdXN0cnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5maW5pdHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZmluaXR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZm86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5mby1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZm8tY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlubm9zb2Z0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbm5vc29mdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnN0YWdyYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluc3RhZ3JhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnN0YWdyYW0tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnN0YWdyYW0tc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluc3RhbG9kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnN0YWxvZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnRlcmNvbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW50ZXJjb20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW50ZXJuZXQtZXhwbG9yZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWludGVybmV0LWV4cGxvcmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWludmlzaW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnZpc2lvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pb3hob3N0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pb3hob3N0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWl0YWxpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaXRhbGljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWl0Y2gtaW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWl0Y2gtaW8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taXR1bmVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pdHVuZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taXR1bmVzLW5vdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWl0dW5lcy1ub3RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWphdmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWphdmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tamVkaTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItamVkaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qZWRpLW9yZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qZWRpLW9yZGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWplbmtpbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWplbmtpbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tamlyYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItamlyYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qb2dldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItam9nZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tam9pbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWpvaW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpvb21sYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItam9vbWxhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpvdXJuYWwtd2hpbGxzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qb3VybmFsLXdoaWxscyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItanMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tanMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qcy1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tanNmaWRkbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWpzZmlkZGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWthYWJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rYWFiYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rYWdnbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWthZ2dsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rZXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtleSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rZXliYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rZXliYXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtleWJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rZXlib2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rZXljZG46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtleWNkbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raGFuZGE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtoYW5kYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raWNrc3RhcnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2lja3N0YXJ0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2lja3N0YXJ0ZXItazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2lja3N0YXJ0ZXItayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtpc3MtYmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2lzcy1iZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtpc3Mtd2luay1oZWFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2lzcy13aW5rLWhlYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtpd2ktYmlyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2l3aS1iaXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtvcnZ1ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta29ydnVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhbmRtYXJrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYW5kbWFyayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYW5ndWFnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFuZ3VhZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFwdG9wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXB0b3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFwdG9wLWNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhcHRvcC1jb2RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhcHRvcC1ob3VzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFwdG9wLWhvdXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhcHRvcC1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXB0b3AtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXJhdmVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXJhdmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhc3RmbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFzdGZtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhc3RmbS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhc3RmbS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGF1Z2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhdWdoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhdWdoLWJlYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhdWdoLWJlYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGF1Z2gtc3F1aW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXVnaC1zcXVpbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGF1Z2gtd2luazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGF1Z2gtd2luayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXllci1ncm91cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGF5ZXItZ3JvdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVhZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVhZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZWFucHViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZWFucHViKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlbW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZW1vbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlc3MtdGhhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVzcy10aGFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlc3MtdGhhbi1lcXVhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVzcy10aGFuLWVxdWFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxldmVsLWRvd24tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZXZlbC1kb3duLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXZlbC11cC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxldmVsLXVwLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saWZlLXJpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpZmUtcmluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saWdodGJ1bGI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpZ2h0YnVsYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlua2VkaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmtlZGluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbmtlZGluLWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saW5rZWRpbi1pbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5vZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbm9kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW51eDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGludXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlyYS1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXJhLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlzdC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlzdC1vbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlzdC1vbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LXVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXN0LXVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvY2F0aW9uLWFycm93OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb2NhdGlvbi1hcnJvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvY2stb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9jay1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctYWx0LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvbmctYXJyb3ctYWx0LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1hbHQtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy1hbHQtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LWFsdC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy1hbHQtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1hbHQtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvbmctYXJyb3ctYWx0LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvdy12aXNpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvdy12aXNpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbHVnZ2FnZS1jYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sdWdnYWdlLWNhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbHVuZ3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWx1bmdzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWx1bmdzLXZpcnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sdW5ncy12aXJ1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1seWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1seWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hZ2VudG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hZ2VudG8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFnaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hZ2ljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hZ25ldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFnbmV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1haWwtYnVsazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFpbC1idWxrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1haWxjaGltcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFpbGNoaW1wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFuZGFsb3JpYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hbmRhbG9yaWFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZWQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1waW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1waW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLXNpZ25zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXAtc2lnbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFya2Rvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcmtkb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcmtlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFya2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1kb3VibGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcnMtZG91YmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXJzLXN0cm9rZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJzLXN0cm9rZS1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXJzLXN0cm9rZS1oKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlLXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcnMtc3Ryb2tlLXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFzazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFzayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXN0b2RvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFzdG9kb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWF4Y2RuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXhjZG4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWRiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZGIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVkYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGFwcHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZGFwcHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVkaXVtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWRpdW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVkaXVtLW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZGl1bS1tKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGtpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVka2l0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZHJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWRydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWV0dXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZXR1cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWdhcG9ydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVnYXBvcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVoLWJsYW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWgtYmxhbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVoLXJvbGxpbmctZXllczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVoLXJvbGxpbmctZXllcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZW1vcnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lbW9yeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZW5kZWxleTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVuZGVsZXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVub3JhaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVub3JhaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZXJjdXJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZXJjdXJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1ldGVvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWV0ZW9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvYmxvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWljcm9ibG9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvY2hpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWljcm9jaGlwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvcGhvbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3JvcGhvbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9waG9uZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3JvcGhvbmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvcGhvbmUtYWx0LXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3Bob25lLWFsdC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb3Bob25lLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3Bob25lLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3Jvc2NvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3Jvc2NvcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9zb2Z0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3NvZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pbnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWludXMtY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWludXMtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pdHRlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWl0dGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1peDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWl4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1peGNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taXhjbG91ZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taXhlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWl4ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWl6dW5pOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taXp1bmkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb2JpbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9iaWxlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb2R4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb2R4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmVybzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9uZXJvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5LWJpbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmV5LWJpbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXktYmlsbC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmV5LWJpbGwtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5LWJpbGwtd2F2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9uZXktYmlsbC13YXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5LWJpbGwtd2F2ZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmV5LWJpbGwtd2F2ZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXktY2hlY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmV5LWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5LWNoZWNrLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9uZXktY2hlY2stYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbnVtZW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb251bWVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb29uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vcnRhci1wZXN0bGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vcnRhci1wZXN0bGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9zcXVlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb3NxdWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW90b3JjeWNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW90b3JjeWNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3VudGFpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW91bnRhaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW91c2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vdXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vdXNlLXBvaW50ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vdXNlLXBvaW50ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbXVnLWhvdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbXVnLWhvdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tdXNpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbXVzaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmFwc3RlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbmFwc3Rlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uZW9zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uZW9zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5ldHdvcmstd2lyZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5ldHdvcmstd2lyZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmV1dGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uZXV0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmV3c3BhcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uZXdzcGFwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmltYmxyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uaW1ibHIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbm9kZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbm9kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ub2RlLWpzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ub2RlLWpzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5vdC1lcXVhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbm90LWVxdWFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5vdGVzLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5vdGVzLW1lZGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbnBtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ucG0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbnM4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uczgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbnV0cml0aW9uaXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW51dHJpdGlvbml4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9iamVjdC1ncm91cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2JqZWN0LWdyb3VwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9iamVjdC11bmdyb3VwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vYmplY3QtdW5ncm91cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vY3RvcHVzLWRlcGxveTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2N0b3B1cy1kZXBsb3kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2Rub2tsYXNzbmlraTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2Rub2tsYXNzbmlraSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vZG5va2xhc3NuaWtpLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2Rub2tsYXNzbmlraS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2lsLWNhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2lsLWNhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vbGQtcmVwdWJsaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9sZC1yZXB1YmxpYyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3BlbmNhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9wZW5jYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZW5pZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3BlbmlkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vcGVyYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcHRpbi1tb25zdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vcHRpbi1tb25zdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9yY2lkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vcmNpZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vc2k6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9zaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vdHRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3R0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3V0ZGVudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3V0ZGVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWdlNDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFnZTQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFnZWxpbmVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWdlbGluZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFnZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhZ2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhaW50LWJydXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWludC1icnVzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWludC1yb2xsZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhaW50LXJvbGxlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWxldHRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWxldHRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhbGZlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFsZmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhbGxldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFsbGV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcGVyLXBsYW5lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXBlci1wbGFuZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXBlcmNsaXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhcGVyY2xpcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXJhY2h1dGUtYm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXJhY2h1dGUtYm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcmFncmFwaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFyYWdyYXBoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcmtpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhcmtpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFzc3BvcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhc3Nwb3J0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhc3RhZmFyaWFuaXNtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXN0YWZhcmlhbmlzbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXN0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFzdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF0cmVvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGF0cmVvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXVzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGF1c2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF1c2UtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXVzZS1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF3OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF5cGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXlwYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVhY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlYWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuLWZhbmN5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW4tZmFuY3kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuLW5pYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuLW5pYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW4tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW4tc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbmNpbC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuY2lsLXJ1bGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW5jaWwtcnVsZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVubnktYXJjYWRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW5ueS1hcmNhZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVvcGxlLWFycm93czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVvcGxlLWFycm93cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW9wbGUtY2Fycnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlb3BsZS1jYXJyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZXBwZXItaG90OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZXBwZXItaG90KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcmJ5dGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlcmJ5dGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVyY2VudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyY2VudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZXJjZW50YWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZXJjZW50YWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcmlzY29wZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyaXNjb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcnNvbi1ib290aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyc29uLWJvb3RoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBoYWJyaWNhdG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waGFicmljYXRvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG9lbml4LWZyYW1ld29yazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvZW5peC1mcmFtZXdvcmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvZW5peC1zcXVhZHJvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvZW5peC1zcXVhZHJvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waG9uZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmUtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvbmUtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLXNxdWFyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lLXNxdWFyZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmUtdm9sdW1lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waG9uZS12b2x1bWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvdG8tdmlkZW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob3RvLXZpZGVvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBocDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpZWQtcGlwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllZC1waXBlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpZWQtcGlwZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXItaGF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWVkLXBpcGVyLWhhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyLXBwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWVkLXBpcGVyLXBwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWVkLXBpcGVyLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWdneS1iYW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWdneS1iYW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpbGxzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWxscyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpbnRlcmVzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3QtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGludGVyZXN0LXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGludGVyZXN0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGludGVyZXN0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waXp6YS1zbGljZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGl6emEtc2xpY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhY2Utb2Ytd29yc2hpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhY2Utb2Ytd29yc2hpcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGFuZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhbmUtYXJyaXZhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhbmUtYXJyaXZhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGFuZS1kZXBhcnR1cmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYW5lLWRlcGFydHVyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGFuZS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhbmUtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGF5LWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxheS1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxheXN0YXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYXlzdGF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsdWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGx1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVzLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGx1cy1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1cy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsdXMtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvZGNhc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvZGNhc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG9sbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9sbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb2xsLWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvbGwtaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb286YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb28tc3Rvcm06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvby1zdG9ybSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb29wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb29wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvcnRyYWl0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb3J0cmFpdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb3VuZC1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb3VuZC1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvd2VyLW9mZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG93ZXItb2ZmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJheWluZy1oYW5kczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJheWluZy1oYW5kcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmVzY3JpcHRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByZXNjcmlwdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmVzY3JpcHRpb24tYm90dGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmludDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJpbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJvY2VkdXJlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJvY2VkdXJlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcm9kdWN0LWh1bnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByb2R1Y3QtaHVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcm9qZWN0LWRpYWdyYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByb2plY3QtZGlhZ3JhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdW1wLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXB1bXAtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdW1wLXNvYXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXB1bXAtc29hcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdXNoZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXB1c2hlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdXp6bGUtcGllY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXB1enpsZS1waWVjZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1weXRob246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXB5dGhvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xcTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXJjb2RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xcmNvZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVlc3Rpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1ZXN0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1ZXN0aW9uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXVlc3Rpb24tY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1aWRkaXRjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXVpZGRpdGNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1aW5zY2FwZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXVpbnNjYXBlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1b3JhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdW9yYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdW90ZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdW90ZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1b3RlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdW90ZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdXJhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXVyYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tci1wcm9qZWN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yLXByb2plY3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFkaWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yYWRpYXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFkaWF0aW9uLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFkaWF0aW9uLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYWluYm93OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yYWluYm93KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhbmRvbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFuZG9tKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhc3BiZXJyeS1waTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFzcGJlcnJ5LXBpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhdmVscnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhdmVscnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVhY3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlYWN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlYWN0ZXVyb3BlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWFjdGV1cm9wZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWFkbWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlYWRtZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWJlbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmViZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVjZWlwdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVjZWlwdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWNvcmQtdmlueWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlY29yZC12aW55bCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWN5Y2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZC1yaXZlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkLXJpdmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGRpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkZGl0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGRpdC1hbGllbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkZGl0LWFsaWVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGRpdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZGRpdC1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkaGF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWRoYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRvLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkby1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVnaXN0ZXJlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVnaXN0ZXJlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZW1vdmUtZm9ybWF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZW1vdmUtZm9ybWF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlbnJlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVucmVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlcGx5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXBseSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBseS1hbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlcGx5LWFsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBseWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlcGx5ZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXB1YmxpY2FuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXB1YmxpY2FuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlc2VhcmNoZ2F0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVzZWFyY2hnYXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlc29sdmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVzb2x2aW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlc3Ryb29tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXN0cm9vbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXR3ZWV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXR3ZWV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJldjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmV2KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJpYmJvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmliYm9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcm9hZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb2JvdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcm9ib3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9ja2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb2NrZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9ja2V0Y2hhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcm9ja2V0Y2hhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb2Nrcm1zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb2Nrcm1zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb3V0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yc3Mtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yc3Mtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1YmxlLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1YmxlLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVsZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1bGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1bGVyLWNvbWJpbmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWxlci1jb21iaW5lZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydWxlci1ob3Jpem9udGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWxlci1ob3Jpem9udGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1bGVyLXZlcnRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWxlci12ZXJ0aWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydW5uaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydW5uaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1cGVlLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1cGVlLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcnVzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYWQtY3J5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYWQtY3J5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhZC10ZWFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYWQtdGVhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYWZhcmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNhZmFyaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYWxlc2ZvcmNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYWxlc2ZvcmNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNhc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2F0ZWxsaXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYXRlbGxpdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2F0ZWxsaXRlLWRpc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNhdGVsbGl0ZS1kaXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNhdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2NobGl4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zY2hsaXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2Nob29sOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zY2hvb2wpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2NyZXdkcml2ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNjcmV3ZHJpdmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNjcmliZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2NyaWJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNjcm9sbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2Nyb2xsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNkLWNhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNkLWNhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWFyY2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoLWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VhcmNoLWRvbGxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2gtbG9jYXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlYXJjaC1sb2NhdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2gtbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlYXJjaC1taW51cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2gtcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VhcmNoLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoZW5naW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlYXJjaGVuZ2luKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlZWRsaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWVkbGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWxsY2FzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VsbGNhc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VsbHN5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWxsc3kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VydmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZXJ2ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VydmljZXN0YWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZXJ2aWNlc3RhY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcGVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGFwZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoYXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hhcmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLWFsdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoYXJlLWFsdC1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGFyZS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hla2VsLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoZWtlbC1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaWVsZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoaWVsZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpZWxkLXZpcnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGllbGQtdmlydXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hpcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGlwcGluZy1mYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGlwcGluZy1mYXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaXJ0c2luYnVsazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hpcnRzaW5idWxrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob2UtcHJpbnRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaG9lLXByaW50cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaG9waWZ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaG9waWZ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3BwaW5nLWJhZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvcHBpbmctYmFnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3BwaW5nLWJhc2tldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvcHBpbmctYmFza2V0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3BwaW5nLWNhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNob3BwaW5nLWNhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHdhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNob3B3YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3dlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvd2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNodXR0bGUtdmFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaHV0dGxlLXZhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ24taW4tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduLWluLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduLWxhbmd1YWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduLWxhbmd1YWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ24tb3V0LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lnbi1vdXQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ25hbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lnbmFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ25hdHVyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lnbmF0dXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpbS1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaW0tY2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaW1wbHlidWlsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2ltcGx5YnVpbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2luazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2luayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaXN0cml4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaXN0cml4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpdGVtYXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpdGVtYXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2l0aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2l0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1za2F0aW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1za2F0aW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNrZXRjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2tldGNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNraWluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2tpaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNraWluZy1ub3JkaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNraWluZy1ub3JkaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2t1bGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNrdWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNrdWxsLWNyb3NzYm9uZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNrdWxsLWNyb3NzYm9uZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2t5YXRsYXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNreWF0bGFzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNreXBlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1za3lwZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGFjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xhY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xhY2staGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xhY2staGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xlaWdoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbGVpZ2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xpZGVycy1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbGlkZXJzLWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xpZGVzaGFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xpZGVzaGFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbWlsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21pbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21pbGUtYmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21pbGUtYmVhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbWlsZS13aW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbWlsZS13aW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNtb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNtb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21va2luZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21va2luZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbW9raW5nLWJhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21va2luZy1iYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc25hcGNoYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNuYXBjaGF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNuYXBjaGF0LWdob3N0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbmFwY2hhdC1naG9zdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbmFwY2hhdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNuYXBjaGF0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93Ym9hcmRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNub3dib2FyZGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93Zmxha2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNub3dmbGFrZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93bWFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbm93bWFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNub3dwbG93OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbm93cGxvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb2FwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb2FwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvY2tzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb2Nrcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb2xhci1wYW5lbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29sYXItcGFuZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFscGhhLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYWxwaGEtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFscGhhLWRvd24tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFscGhhLWRvd24tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYWxwaGEtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYWxwaGEtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbHBoYS11cC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYWxwaGEtdXAtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYW1vdW50LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYW1vdW50LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbW91bnQtZG93bi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYW1vdW50LWRvd24tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYW1vdW50LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFtb3VudC11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFtb3VudC11cC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYW1vdW50LXVwLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LW51bWVyaWMtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1udW1lcmljLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLWRvd24tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LW51bWVyaWMtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLXVwLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1udW1lcmljLXVwLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvdW5kY2xvdWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvdW5kY2xvdWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc291cmNldHJlZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc291cmNldHJlZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGFjZS1zaHV0dGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGFjZS1zaHV0dGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwZWFrYXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwZWFrYXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BlYWtlci1kZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGVha2VyLWRlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BlbGwtY2hlY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwZWxsLWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaWRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3BpZGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW5uZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwaW5uZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Bsb3RjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Bsb3RjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcG90aWZ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcG90aWZ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwcmF5LWNhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3ByYXktY2FuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZS1mdWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcXVhcmUtZnVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcXVhcmUtcm9vdC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNxdWFyZS1yb290LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcXVhcmVzcGFjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3F1YXJlc3BhY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stZXhjaGFuZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YWNrLWV4Y2hhbmdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLW92ZXJmbG93OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFjay1vdmVyZmxvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFja3BhdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YWNrcGF0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RhbXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWFuZC1jcmVzY2VudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhci1hbmQtY3Jlc2NlbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyLWhhbGYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhci1oYWxmLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLW9mLWRhdmlkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyLW9mLWRhdmlkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItb2YtbGlmZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhci1vZi1saWZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXlsaW5rZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YXlsaW5rZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0ZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZWFtLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RlYW0tc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZWFtLXN5bWJvbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RlYW0tc3ltYm9sKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZXAtYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0ZXAtYmFja3dhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlcC1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGVwLWZvcndhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RldGhvc2NvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0ZXRob3Njb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0aWNrZXItbXVsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RpY2tlci1tdWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0aWNreS1ub3RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGlja3ktbm90ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0b3AtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9wLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wd2F0Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0b3B3YXRjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wd2F0Y2gtMjA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0b3B3YXRjaC0yMCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9yZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RvcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9yZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcmUtYWx0LXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9yZS1hbHQtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcmUtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0b3JlLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmF2YTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RyYXZhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RyZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmVldC12aWV3OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJlZXQtdmlldyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHJpa2V0aHJvdWdoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJpa2V0aHJvdWdoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmlwZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RyaXBlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmlwZS1zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJpcGUtcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHJvb3B3YWZlbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Ryb29wd2FmZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3R1ZGlvdmluYXJpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHVkaW92aW5hcmkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3R1bWJsZXVwb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0dW1ibGV1cG9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0dW1ibGV1cG9uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3R1bWJsZXVwb24tY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1YnNjcmlwdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Vic2NyaXB0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1YndheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Vid2F5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1aXRjYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdWl0Y2FzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdWl0Y2FzZS1yb2xsaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdWl0Y2FzZS1yb2xsaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1cGVycG93ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdXBlcnBvd2Vycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdXBlcnNjcmlwdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VwZXJzY3JpcHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VwcGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdXBwbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VycHJpc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1cnByaXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1c2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1c2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3dhdGNoYm9vazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3dhdGNoYm9vayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zd2lmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3dpZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3dpbW1lcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3dpbW1lcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zd2ltbWluZy1wb29sOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zd2ltbWluZy1wb29sKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN5bWZvbnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN5bWZvbnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3luYWdvZ3VlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zeW5hZ29ndWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3luYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3luYyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zeW5jLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3luYy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3lyaW5nZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3lyaW5nZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWJsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFibGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGUtdGVubmlzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWJsZS10ZW5uaXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWJsZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGV0LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFibGV0LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWJsZXRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWJsZXRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhY2hvbWV0ZXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWNob21ldGVyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWdzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWdzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFza3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhc2tzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRheGk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRheGkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVhbXNwZWFrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZWFtc3BlYWspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVldGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlZXRoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlZXRoLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlZXRoLW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVsZWdyYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlbGVncmFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbGVncmFtLXBsYW5lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZWxlZ3JhbS1wbGFuZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZW1wZXJhdHVyZS1oaWdoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZW1wZXJhdHVyZS1oaWdoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbXBlcmF0dXJlLWxvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVtcGVyYXR1cmUtbG93KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbmNlbnQtd2VpYm86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlbmNlbnQtd2VpYm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVuZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlbmdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlcm1pbmFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZXJtaW5hbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZXh0LWhlaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGV4dC1oZWlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGV4dC13aWR0aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGV4dC13aWR0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGgtbGFyZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoLWxhcmdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoLWxpc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoLWxpc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlLXJlZC15ZXRpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGUtcmVkLXlldGkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlYXRlci1tYXNrczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlYXRlci1tYXNrcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVtZWNvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVtZWNvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZW1laXNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlbWVpc2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVybW9tZXRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlcm1vbWV0ZXItZW1wdHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItZnVsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlcm1vbWV0ZXItZnVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVybW9tZXRlci1oYWxmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLXF1YXJ0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZXJtb21ldGVyLXF1YXJ0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoaW5rLXBlYWtzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGluay1wZWFrcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aHVtYnMtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGh1bWJzLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJzLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aHVtYnMtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJ0YWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aHVtYnRhY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGlja2V0LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGlja2V0LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aWt0b2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRpa3Rvayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW1lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGltZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGltZXMtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aW1lcy1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGludDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW50LXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aW50LXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpcmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aXJlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10b2dnbGUtb2ZmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS1vbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9nZ2xlLW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvaWxldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9pbGV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvaWxldC1wYXBlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9pbGV0LXBhcGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvaWxldC1wYXBlci1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9pbGV0LXBhcGVyLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvb2xib3g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvb2xib3gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9vbHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvb2xzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvb3RoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10b290aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b3JhaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9yYWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9yaWktZ2F0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9yaWktZ2F0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFjdG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFjdG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYWRlLWZlZGVyYXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYWRlLWZlZGVyYXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhZGVtYXJrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFkZW1hcmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhZmZpYy1saWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhZmZpYy1saWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFpbGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFpbGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYW5zZ2VuZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFuc2dlbmRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFuc2dlbmRlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYW5zZ2VuZGVyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhc2gtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFzaC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhc2gtcmVzdG9yZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhc2gtcmVzdG9yZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFzaC1yZXN0b3JlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhc2gtcmVzdG9yZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJlZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJlZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmVsbG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyZWxsbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmlwYWR2aXNvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJpcGFkdmlzb3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJvcGh5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cm9waHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJ1Y2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRydWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRydWNrLWxvYWRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRydWNrLWxvYWRpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJ1Y2stbW9uc3RlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJ1Y2stbW9uc3Rlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cnVjay1tb3Zpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRydWNrLW1vdmluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cnVjay1waWNrdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRydWNrLXBpY2t1cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10c2hpcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRzaGlydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10dHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10dW1ibHI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR1bWJscik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10dW1ibHItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10dW1ibHItc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10dik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10d2l0Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR3aXRjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10d2l0dGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10d2l0dGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR3aXR0ZXItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10d2l0dGVyLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10eXBvMzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHlwbzMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdWJlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdWJlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11YnVudHU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVidW50dSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11aWtpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdWlraXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW1icmFjbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW1icmFjbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bWJyZWxsYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW1icmVsbGEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW1icmVsbGEtYmVhY2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVtYnJlbGxhLWJlYWNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuY2hhcnRlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5jaGFydGVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuZGVybGluZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5kZXJsaW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuZG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuZG8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5kby1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuZG8tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuaXJlZ2lzdHJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bmlyZWdpc3RyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bml0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5pdHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5pdmVyc2FsLWFjY2VzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5pdmVyc2FsLWFjY2Vzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bml2ZXJzaXR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bml2ZXJzaXR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVubGluazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5saW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVubG9jazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5sb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVubG9jay1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVubG9jay1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5zcGxhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuc3BsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVudGFwcGQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVudGFwcGQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXBsb2FkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11cGxvYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXBzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11cHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1hbHQtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItYWx0LXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItYXN0cm9uYXV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWFzdHJvbmF1dCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWNsb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWNsb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItY29nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWNvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWVkaXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItZWRpdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWZyaWVuZHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItZnJpZW5kcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWdyYWR1YXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWdyYWR1YXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItaW5qdXJlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1pbmp1cmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbG9jazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1sb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItbWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1taW51czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1taW51cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLW5pbmphOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLW5pbmphKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbnVyc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItbnVyc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1zZWNyZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItc2VjcmV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItc2hpZWxkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLXNoaWVsZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItdGFnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLXRhZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXRpZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci10aWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci10aW1lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci10aW1lcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlcnMtY29nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2Vycy1jb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlcnMtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXJzLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzcHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzcHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNzdW5uYWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzc3VubmFoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXV0ZW5zaWwtc3Bvb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXV0ZW5zaWwtc3Bvb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXRlbnNpbHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXV0ZW5zaWxzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZhYWRpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmFhZGluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlY3Rvci1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZlY3Rvci1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmVudXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZlbnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlbnVzLWRvdWJsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmVudXMtZG91YmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlbnVzLW1hcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZlbnVzLW1hcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmVzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmVzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12ZXN0LXBhdGNoZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZlc3QtcGF0Y2hlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWFjb2luOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aWFjb2luKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWRlbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlhZGVvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWRlby1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpYWRlby1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWFsczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlhbHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmliZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpYmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpZGVvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aWRlbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWRlby1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlkZW8tc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmloYXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aWhhcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmltZW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpbWVvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpbWVvLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmltZW8tc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpbWVvLXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpbWVvLXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmluZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmluZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aXJ1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlydXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlydXMtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpcnVzLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpcnVzZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpcnVzZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZudjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm52KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvaWNlbWFpbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm9pY2VtYWlsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvbGxleWJhbGwtYmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm9sbGV5YmFsbC1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvbHVtZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12b2x1bWUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtbXV0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm9sdW1lLW11dGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9sdW1lLW9mZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm9sdW1lLW9mZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZvbHVtZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b3RlLXllYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm90ZS15ZWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdnItY2FyZGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12ci1jYXJkYm9hcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdnVlanM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZ1ZWpzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdhbGtpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdhbGtpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2FsbGV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13YWxsZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2FyZWhvdXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13YXJlaG91c2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2F0Y2htYW4tbW9uaXRvcmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2F0Y2htYW4tbW9uaXRvcmluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13YXRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2F0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2F2ZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdhdmUtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdhemU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdhemUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2VlYmx5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13ZWVibHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2VpYm86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdlaWJvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2VpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlaWdodC1oYW5naW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13ZWlnaHQtaGFuZ2luZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13ZWl4aW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdlaXhpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aGF0c2FwcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2hhdHNhcHApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2hhdHNhcHAtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aGF0c2FwcC1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2hlZWxjaGFpcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2hlZWxjaGFpcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aG1jczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2htY3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2lmaTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2lmaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aWtpcGVkaWEtdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2lraXBlZGlhLXcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3ctY2xvc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmRvdy1jbG9zZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3ctbWF4aW1pemU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmRvdy1tYXhpbWl6ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3ctbWluaW1pemU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmRvdy1taW5pbWl6ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3ctcmVzdG9yZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZG93LXJlc3RvcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZG93cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5lLWJvdHRsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZS1ib3R0bGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZS1nbGFzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZS1nbGFzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5lLWdsYXNzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZS1nbGFzcy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2l4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2l6YXJkcy1vZi10aGUtY29hc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpemFyZHMtb2YtdGhlLWNvYXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdvZHU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdvZHUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td29sZi1wYWNrLWJhdHRhbGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd29sZi1wYWNrLWJhdHRhbGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13b24tc2lnbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd29uLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td29yZHByZXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13b3JkcHJlc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td29yZHByZXNzLXNpbXBsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd29yZHByZXNzLXNpbXBsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13cGJlZ2lubmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13cGJlZ2lubmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdwZXhwbG9yZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdwZXhwbG9yZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td3Bmb3JtczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd3Bmb3Jtcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13cHJlc3NyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13cHJlc3NyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdyZW5jaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd3JlbmNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXgtcmF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci14LXJheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS14Ym94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci14Ym94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXhpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXhpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teGluZy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXhpbmctc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXktY29tYmluYXRvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteS1jb21iaW5hdG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlhaG9vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15YWhvbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15YW1tZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlhbW1lcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15YW5kZXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlhbmRleCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15YW5kZXgtaW50ZXJuYXRpb25hbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteWFuZGV4LWludGVybmF0aW9uYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWFybjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteWFybik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15ZWxwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15ZWxwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXllbi1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15ZW4tc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15aW4teWFuZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteWluLXlhbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teW9hc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlvYXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlvdXR1YmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlvdXR1YmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teW91dHViZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlvdXR1YmUtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXpoaWh1OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci16aGlodSk7IH1cbiIsIi8vIFNjcmVlbiBSZWFkZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5zci1vbmx5IHsgQGluY2x1ZGUgc3Itb25seTsgfVxuLnNyLW9ubHktZm9jdXNhYmxlIHsgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGU7IH1cbiIsIi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNS4xNS4zIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogJGZhLWZvbnQtZGlzcGxheTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC5lb3QnKTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLWJyYW5kcy00MDAud29mZicpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1icmFuZHMtNDAwLnN2ZyNmb250YXdlc29tZScpIGZvcm1hdCgnc3ZnJyk7XG59XG5cbi5mYWIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4iLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuMTUuMyBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqL1xuQGltcG9ydCAndmFyaWFibGVzJztcblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiAkZmEtZm9udC1kaXNwbGF5O1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1yZWd1bGFyLTQwMC5lb3QnKTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtcmVndWxhci00MDAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXJlZ3VsYXItNDAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtcmVndWxhci00MDAud29mZicpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtcmVndWxhci00MDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtcmVndWxhci00MDAuc3ZnI2ZvbnRhd2Vzb21lJykgZm9ybWF0KCdzdmcnKTtcbn1cblxuLmZhciB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4iLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuMTUuMyBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqL1xuQGltcG9ydCAndmFyaWFibGVzJztcblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1kaXNwbGF5OiAkZmEtZm9udC1kaXNwbGF5O1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1zb2xpZC05MDAuZW90Jyk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXNvbGlkLTkwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtc29saWQtOTAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtc29saWQtOTAwLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXNvbGlkLTkwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1zb2xpZC05MDAuc3ZnI2ZvbnRhd2Vzb21lJykgZm9ybWF0KCdzdmcnKTtcbn1cblxuLmZhLFxuLmZhcyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG59XG4iLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuMTUuMyBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqL1xuQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ3NoaW1zJztcbiIsIi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1nbGFzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3MtbWFydGluaSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LW1lZXR1cCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcmVtb3ZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aW1lcyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNsb3NlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aW1lcyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWdlYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXRyYXNoLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXRyYXNoLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYXNoLWFsdCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2xvY2stbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2xvY2stbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvY2spOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtby1kb3duIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtby1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWRvd24pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtby11cCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLW8tdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtdXApOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1wbGF5LWNpcmNsZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1wbGF5LWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbGF5LWNpcmNsZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXJlcGVhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkbyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkbyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXJlZnJlc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN5bmMpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1saXN0LWFsdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1kZWRlbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW91dGRlbnQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS12aWRlby1jYW1lcmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpZGVvKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcGljdHVyZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1waWN0dXJlLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWltYWdlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcGhvdG8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXBob3RvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbWFnZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWltYWdlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1pbWFnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW1hZ2UpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1wZW5jaWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbmNpbC1hbHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1tYXAtbWFya2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXAtbWFya2VyLWFsdCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbC1zcXVhcmUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcGVuY2lsLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lZGl0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtc3F1YXJlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGFyZS1zcXVhcmUpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1zcXVhcmUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZWNrLXNxdWFyZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWFycm93czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3dzLWFsdCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzLWNpcmNsZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10aW1lcy1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGltZXMtY2lyY2xlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stY2lyY2xlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrLWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVjay1jaXJjbGUpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1tYWlsLWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoYXJlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZXhwYW5kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leHBhbmQtYWx0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY29tcHJlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXByZXNzLWFsdCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWV5ZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1leWUtc2xhc2gge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0td2FybmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhjbGFtYXRpb24tdHJpYW5nbGUpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FsZW5kYXItYWx0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93cy1hbHQtdik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWFycm93cy1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvd3MtYWx0LWgpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1iYXItY2hhcnQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWJhci1jaGFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhcnQtYmFyKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYmFyLWNoYXJ0LW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWJhci1jaGFydC1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFydC1iYXIpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10d2l0dGVyLXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rLXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWdlYXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2dzKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJzLW8tdXAge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXRodW1icy1vLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aHVtYnMtdXApOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10aHVtYnMtby1kb3duIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10aHVtYnMtby1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aHVtYnMtZG93bik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhlYXJ0LW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhlYXJ0LW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYXJ0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc2lnbi1vdXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpZ24tb3V0LWFsdCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWxpbmtlZGluLXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1saW5rZWRpbi1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmtlZGluKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdGh1bWItdGFjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGh1bWJ0YWNrKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZXh0ZXJuYWwtbGluazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXh0ZXJuYWwtbGluay1hbHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zaWduLWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduLWluLWFsdCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWdpdGh1Yi1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1sZW1vbi1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1sZW1vbi1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZW1vbik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zcXVhcmUtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3F1YXJlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYm9va21hcmstbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYm9va21hcmstbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9va21hcmspOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10d2l0dGVyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2sge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhY2Vib29rLWYpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1mYWNlYm9vay1mIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rLWY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhY2Vib29rLWYpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1naXRodWIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jcmVkaXQtY2FyZCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1mZWVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yc3MpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1oZGQtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taGRkLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhkZCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtby1yaWdodCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taGFuZC1vLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LXJpZ2h0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taGFuZC1vLWxlZnQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtby1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LWxlZnQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLW8tdXAge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtby11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1wb2ludC11cCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtby1kb3duIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLW8tZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1wb2ludC1kb3duKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhwYW5kLWFycm93cy1hbHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1ncm91cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlcnMpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jaGFpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGluayk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNjaXNzb3JzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jdXQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlcy1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlcy1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb3B5KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmxvcHB5LW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZsb3BweS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYXZlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbmF2aWNvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFycyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXJlb3JkZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhcnMpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3Qge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3Qtc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXMtc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXMge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2dsZS1wbHVzLWcpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1tb25leSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbW9uZXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmV5LWJpbGwtYWx0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdW5zb3J0ZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWRlc2M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtZG93bik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYXNjOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LXVwKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbGlua2VkaW4ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbGlua2VkaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmtlZGluLWluKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuZG8pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1sZWdhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2F2ZWwpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10YWNob21ldGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWNob21ldGVyLWFsdCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWRhc2hib2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFjaG9tZXRlci1hbHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRzLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRzLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnRzKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmxhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvbHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jbGlwYm9hcmQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcGFzdGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXBhc3RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbGlwYm9hcmQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1saWdodGJ1bGItbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbGlnaHRidWxiLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpZ2h0YnVsYik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWV4Y2hhbmdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leGNoYW5nZS1hbHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1kb3dubG9hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtZG93bmxvYWQtYWx0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtdXBsb2FkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC11cGxvYWQtYWx0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYmVsbC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1iZWxsLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJlbGwpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jdXRsZXJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11dGVuc2lscyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtdGV4dC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXRleHQtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hbHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1idWlsZGluZy1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1idWlsZGluZy1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idWlsZGluZyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhvc3BpdGFsLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhvc3BpdGFsLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvc3BpdGFsKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdGFibGV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWJsZXQtYWx0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb2JpbGUtYWx0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlLXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb2JpbGUtYWx0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaXJjbGUpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1tYWlsLXJlcGx5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXBseSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWdpdGh1Yi1hbHQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlcik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlci1vcGVuLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlci1vcGVuLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlci1vcGVuKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc21pbGUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc21pbGUtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21pbGUpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1mcm93bi1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1mcm93bi1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcm93bik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LW1laC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1tZWgtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVoKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0ta2V5Ym9hcmQtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0ta2V5Ym9hcmQtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2V5Ym9hcmQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1mbGFnLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZsYWctbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxhZyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LW1haWwtcmVwbHktYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXBseS1hbGwpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWhhbGYtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YXItaGFsZik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItaGFsZi1lbXB0eSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmLWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyLWhhbGYpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWhhbGYtZnVsbCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmLWZ1bGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YXItaGFsZik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNvZGUtZm9yazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29kZS1icmFuY2gpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jaGFpbi1icm9rZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVubGluayk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNoaWVsZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hpZWxkLWFsdCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbWF4Y2RuIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taHRtbDUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jc3MzIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdGlja2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aWNrZXQtYWx0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbWludXMtc3F1YXJlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taW51cy1zcXVhcmUpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1sZXZlbC11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGV2ZWwtdXAtYWx0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbGV2ZWwtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGV2ZWwtZG93bi1hbHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1wZW5jaWwtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW4tc3F1YXJlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZXh0ZXJuYWwtbGluay1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlLWFsdCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNvbXBhc3Mge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLW8tZG93biB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLW8tZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtc3F1YXJlLWRvd24pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtZG93biB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LXNxdWFyZS1kb3duKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLW8tdXAge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1vLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtdXApOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtdXAge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtc3F1YXJlLXVwKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLW8tcmlnaHQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1vLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtcmlnaHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtcmlnaHQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtc3F1YXJlLXJpZ2h0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZXVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ldXJvLXNpZ24pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1ldXJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ldXJvLXNpZ24pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1nYnA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvdW5kLXNpZ24pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS11c2Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvbGxhci1zaWduKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZG9sbGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2xsYXItc2lnbik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWlucjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcnVwZWUtc2lnbik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXJ1cGVlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydXBlZS1zaWduKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tanB5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15ZW4tc2lnbik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNueTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteWVuLXNpZ24pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1ybWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXllbi1zaWduKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0teWVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15ZW4tc2lnbik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXJ1YjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcnVibGUtc2lnbik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXJ1YmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWJsZS1zaWduKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcm91YmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWJsZS1zaWduKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0ta3J3OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13b24tc2lnbik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXdvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd29uLXNpZ24pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1idGMge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1iaXRjb2luIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWJpdGNvaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ0Yyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtdGV4dDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hbHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFscGhhLWFzYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1hbHBoYS1kb3duKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbHBoYS1kZXNjOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFscGhhLWRvd24tYWx0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbW91bnQtYXNjOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFtb3VudC1kb3duKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbW91bnQtZGVzYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1hbW91bnQtZG93bi1hbHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LW51bWVyaWMtYXNjOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtbnVtZXJpYy1kZXNjOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bi1hbHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS15b3V0dWJlLXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXlvdXR1YmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS14aW5nIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0teGluZy1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS15b3V0dWJlLXBsYXkge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0teW91dHViZS1wbGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15b3V0dWJlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZHJvcGJveCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLW92ZXJmbG93IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taW5zdGFncmFtIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmxpY2tyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYWRuIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYml0YnVja2V0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYml0YnVja2V0LXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1iaXRidWNrZXQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaXRidWNrZXQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10dW1ibHIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10dW1ibHItc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb25nLWFycm93LWFsdC1kb3duKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy1hbHQtdXApOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvbmctYXJyb3ctYWx0LWxlZnQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb25nLWFycm93LWFsdC1yaWdodCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWFwcGxlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0td2luZG93cyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWFuZHJvaWQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1saW51eCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWRyaWJiYmxlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc2t5cGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1mb3Vyc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdHJlbGxvIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZ3JhdGlwYXkge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1naXR0aXAge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZ2l0dGlwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmF0aXBheSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXN1bi1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zdW4tbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VuKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbW9vbi1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1tb29uLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vb24pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS12ayB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXdlaWJvIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcmVucmVuIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcGFnZWxpbmVzIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stZXhjaGFuZ2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtby1yaWdodCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLW8tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtcmlnaHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtby1sZWZ0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtby1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWxlZnQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtby1sZWZ0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtby1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtbGVmdCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS1sZWZ0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtc3F1YXJlLWxlZnQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1kb3QtY2lyY2xlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWRvdC1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG90LWNpcmNsZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXZpbWVvLXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXRyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlyYS1zaWduKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdHVya2lzaC1saXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXJhLXNpZ24pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1wbHVzLXNxdWFyZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1wbHVzLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbHVzLXNxdWFyZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNsYWNrIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0td29yZHByZXNzIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tb3BlbmlkIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taW5zdGl0dXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuaXZlcnNpdHkpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1iYW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bml2ZXJzaXR5KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbW9ydGFyLWJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmFkdWF0aW9uLWNhcCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXlhaG9vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcmVkZGl0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcmVkZGl0LXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXN0dW1ibGV1cG9uLWNpcmNsZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXN0dW1ibGV1cG9uIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZGVsaWNpb3VzIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZGlnZyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXItcHAge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyLWFsdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWRydXBhbCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWpvb21sYSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNwb29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11dGVuc2lsLXNwb29uKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYmVoYW5jZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWJlaGFuY2Utc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc3RlYW0ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zdGVhbS1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1hdXRvbW9iaWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXIpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbnZlbG9wZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNwb3RpZnkge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1kZXZpYW50YXJ0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc291bmRjbG91ZCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcGRmLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcGRmLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtcGRmKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmlsZS13b3JkLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtd29yZC1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXdvcmQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWV4Y2VsLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtZXhjZWwtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1leGNlbCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcG93ZXJwb2ludC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBvd2VycG9pbnQtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1wb3dlcnBvaW50KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1pbWFnZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWltYWdlLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtaW1hZ2UpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBob3RvLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcGhvdG8tbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1pbWFnZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcGljdHVyZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBpY3R1cmUtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1pbWFnZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtYXJjaGl2ZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWFyY2hpdmUtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hcmNoaXZlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmlsZS16aXAtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmlsZS16aXAtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hcmNoaXZlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hdWRpby1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWF1ZGlvLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtYXVkaW8pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXNvdW5kLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtc291bmQtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hdWRpbyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtdmlkZW8tbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmlsZS12aWRlby1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXZpZGVvKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1tb3ZpZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlLW1vdmllLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtdmlkZW8pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWNvZGUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1jb2RlLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtY29kZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXZpbmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jb2RlcGVuIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tanNmaWRkbGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1saWZlLXJpbmcge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbGlmZS1ib3V5IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1saWZlLWJvdXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpZmUtcmluZyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWxpZmUtYnVveSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbGlmZS1idW95OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saWZlLXJpbmcpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1saWZlLXNhdmVyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1saWZlLXNhdmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saWZlLXJpbmcpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zdXBwb3J0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zdXBwb3J0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saWZlLXJpbmcpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jaXJjbGUtby1ub3RjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2lyY2xlLW5vdGNoKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcmViZWwge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1yYSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1yYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmViZWwpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1yZXNpc3RhbmNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXJlc2lzdGFuY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlYmVsKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZW1waXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZ2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVtcGlyZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWdpdC1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1naXQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1oYWNrZXItbmV3cyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXktY29tYmluYXRvci1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0teS1jb21iaW5hdG9yLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFja2VyLW5ld3MpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS15Yy1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0teWMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYWNrZXItbmV3cyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXRlbmNlbnQtd2VpYm8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1xcSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXdlaXhpbiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXdlY2hhdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS13ZWNoYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdlaXhpbik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNlbmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhcGVyLXBsYW5lKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcGFwZXItcGxhbmUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcGFwZXItcGxhbmUtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFwZXItcGxhbmUpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zZW5kLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNlbmQtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFwZXItcGxhbmUpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jaXJjbGUtdGhpbiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlLXRoaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNpcmNsZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhlYWRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZGluZyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNsaWRlcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNsaWRlcnMtaCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZ1dGJvbC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1mdXRib2wtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnV0Ym9sKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc29jY2VyLWJhbGwtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc29jY2VyLWJhbGwtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnV0Ym9sKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc2xpZGVzaGFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXR3aXRjaCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXllbHAge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1uZXdzcGFwZXItbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbmV3c3BhcGVyLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5ld3NwYXBlcik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXBheXBhbCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS13YWxsZXQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jYy12aXNhIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2MtbWFzdGVyY2FyZCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNjLWRpc2NvdmVyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2MtYW1leCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNjLXBheXBhbCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNjLXN0cmlwZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWJlbGwtc2xhc2gtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYmVsbC1zbGFzaC1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWxsLXNsYXNoKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdHJhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYXNoLWFsdCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNvcHlyaWdodCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1leWVkcm9wcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leWUtZHJvcHBlcik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWFyZWEtY2hhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJ0LWFyZWEpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1waWUtY2hhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJ0LXBpZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWxpbmUtY2hhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJ0LWxpbmUpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1sYXN0Zm0ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1sYXN0Zm0tc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taW94aG9zdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2VsbGlzdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNjIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvc2VkLWNhcHRpb25pbmcpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1pbHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoZWtlbC1zaWduKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc2hla2VsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGVrZWwtc2lnbik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNoZXFlbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hla2VsLXNpZ24pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1tZWFucGF0aCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1tZWFucGF0aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udC1hd2Vzb21lKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYnV5c2VsbGFkcyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNvbm5lY3RkZXZlbG9wIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZGFzaGN1YmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1mb3J1bWJlZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWxlYW5wdWIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zZWxsc3kge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zaGlydHNpbmJ1bGsge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zaW1wbHlidWlsdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNreWF0bGFzIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZGlhbW9uZCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZGlhbW9uZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2VtKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taW50ZXJzZXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYW5zZ2VuZGVyKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stb2ZmaWNpYWwge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stb2ZmaWNpYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhY2Vib29rKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcGludGVyZXN0LXAge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS13aGF0c2FwcCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhvdGVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS12aWFjb2luIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbWVkaXVtIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0teS1jb21iaW5hdG9yIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0teWMge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0teWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXktY29tYmluYXRvcik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LW9wdGluLW1vbnN0ZXIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1vcGVuY2FydCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWV4cGVkaXRlZHNzbCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktNDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGVyeS1mdWxsKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGVyeS1mdWxsKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS0zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS0yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXR0ZXJ5LWhhbGYpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LTE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktcXVhcnRlcik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktMDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGVyeS1lbXB0eSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LW9iamVjdC1ncm91cCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1vYmplY3QtdW5ncm91cCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zdGlja3ktbm90ZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zdGlja3ktbm90ZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGlja3ktbm90ZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNjLWpjYiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNjLWRpbmVycy1jbHViIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2xvbmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3VyZ2xhc3MpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtMTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91cmdsYXNzLXN0YXJ0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLTI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXJnbGFzcy1oYWxmKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLTM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXJnbGFzcy1lbmQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXJvY2stbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taGFuZC1yb2NrLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcm9jayk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtZ3JhYi1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWdyYWItbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1yb2NrKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wYXBlci1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBhcGVyLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcGFwZXIpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXN0b3AtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taGFuZC1zdG9wLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcGFwZXIpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXNjaXNzb3JzLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtc2Npc3NvcnMtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1zY2lzc29ycyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtbGl6YXJkLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtbGl6YXJkLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtbGl6YXJkKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taGFuZC1zcG9jay1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXNwb2NrLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtc3BvY2spOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBvaW50ZXItbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludGVyLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcG9pbnRlcik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcGVhY2UtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wZWFjZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBlYWNlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcmVnaXN0ZXJlZCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZ2cge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1nZy1jaXJjbGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10cmlwYWR2aXNvciB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LW9kbm9rbGFzc25pa2kge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1vZG5va2xhc3NuaWtpLXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWdldC1wb2NrZXQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS13aWtpcGVkaWEtdyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNhZmFyaSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNocm9tZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpcmVmb3gge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1vcGVyYSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWludGVybmV0LWV4cGxvcmVyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdGVsZXZpc2lvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHYpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jb250YW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS01MDBweCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWFtYXpvbiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXBsdXMtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItcGx1cy1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhci1wbHVzKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItbWludXMtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItbWludXMtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FsZW5kYXItbWludXMpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci10aW1lcy1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci10aW1lcy1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhci10aW1lcyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLWNoZWNrLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLWNoZWNrLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLWNoZWNrKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbWFwLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXApOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50aW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWRvdHMpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50aW5nLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRpbmctbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1kb3RzKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taG91enoge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS12aW1lbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS12aW1lbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmltZW8tdik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWJsYWNrLXRpZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZvbnRpY29ucyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXJlZGRpdC1hbGllbiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWVkZ2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jcmVkaXQtY2FyZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWRpdC1jYXJkKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY29kaWVwaWUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1tb2R4IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZm9ydC1hd2Vzb21lIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdXNiIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcHJvZHVjdC1odW50IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbWl4Y2xvdWQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zY3JpYmQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1wYXVzZS1jaXJjbGUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcGF1c2UtY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhdXNlLWNpcmNsZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXN0b3AtY2lyY2xlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXN0b3AtY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0b3AtY2lyY2xlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYmx1ZXRvb3RoIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYmx1ZXRvb3RoLWIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1naXRsYWIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS13cGJlZ2lubmVyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0td3Bmb3JtcyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWVudmlyYSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXdoZWVsY2hhaXItYWx0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXdoZWVsY2hhaXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hY2Nlc3NpYmxlLWljb24pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1xdWVzdGlvbi1jaXJjbGUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcXVlc3Rpb24tY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXZvbHVtZS1jb250cm9sLXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waG9uZS12b2x1bWUpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1hc2wtaW50ZXJwcmV0aW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWRlYWZuZXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZWFmKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taGFyZC1vZi1oZWFyaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZWFmKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZ2xpZGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1nbGlkZS1nIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc2lnbmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lnbi1sYW5ndWFnZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXZpYWRlbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXZpYWRlby1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zbmFwY2hhdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNuYXBjaGF0LWdob3N0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc25hcGNoYXQtc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcGllZC1waXBlciB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpcnN0LW9yZGVyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0teW9hc3Qge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10aGVtZWlzbGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1cy1vZmZpY2lhbCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1cy1vZmZpY2lhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLXBsdXMpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1cy1jaXJjbGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXMtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUtcGx1cyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZvbnQtYXdlc29tZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZhIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb250LWF3ZXNvbWUpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1oYW5kc2hha2UtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taGFuZHNoYWtlLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmRzaGFrZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLW9wZW4tbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtb3Blbi1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbnZlbG9wZS1vcGVuKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbGlub2RlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1ib29rLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWFkZHJlc3MtYm9vay1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZGRyZXNzLWJvb2spOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS12Y2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWRkcmVzcy1jYXJkKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1jYXJkLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWFkZHJlc3MtY2FyZC1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZGRyZXNzLWNhcmQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS12Y2FyZC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS12Y2FyZC1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZGRyZXNzLWNhcmQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWNpcmNsZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWNpcmNsZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdXNlci1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taWQtYmFkZ2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZHJpdmVycy1saWNlbnNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pZC1jYXJkKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taWQtY2FyZC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1pZC1jYXJkLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlkLWNhcmQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1kcml2ZXJzLWxpY2Vuc2UtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZHJpdmVycy1saWNlbnNlLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlkLWNhcmQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1xdW9yYSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZyZWUtY29kZS1jYW1wIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdGVsZWdyYW0ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci00OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVybW9tZXRlci1mdWxsKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZXJtb21ldGVyLWZ1bGwpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci0zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVybW9tZXRlci10aHJlZS1xdWFydGVycyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLTI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZXJtb21ldGVyLWhhbGYpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci0xOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVybW9tZXRlci1xdWFydGVyKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItMDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlcm1vbWV0ZXItZW1wdHkpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1iYXRodHViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXRoKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tczE1OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXRoKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0td2luZG93LW1heGltaXplIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1yZXN0b3JlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzLXJlY3RhbmdsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZG93LWNsb3NlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0td2luZG93LWNsb3NlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1jbG9zZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aW5kb3ctY2xvc2UpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10aW1lcy1yZWN0YW5nbGUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdGltZXMtcmVjdGFuZ2xlLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmRvdy1jbG9zZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWJhbmRjYW1wIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZ3JhdiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWV0c3kge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1pbWRiIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcmF2ZWxyeSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWVlcmNhc3Qge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZWVyY2FzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VsbGNhc3QpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zbm93Zmxha2UtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc25vd2ZsYWtlLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNub3dmbGFrZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXN1cGVycG93ZXJzIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0td3BleHBsb3JlciB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNhYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGF4aSk7IH1cblxuIl19 */ diff --git a/dist/assets/css/editor.css b/dist/assets/css/editor.css new file mode 100644 index 0000000..a2e0489 --- /dev/null +++ b/dist/assets/css/editor.css @@ -0,0 +1,658 @@ +@charset "UTF-8"; +/*! + * Gutenberg Editor Styles + */ +/** === Includes === */ +@font-face { + font-family: 'worksans-medium'; + src: url("../fonts/WorkSans-Medium.woff") format("woff"); + font-weight: normal; + font-style: normal; } + +@font-face { + font-family: 'worksans-mediumitalic'; + src: url("../fonts/WorkSans-MediumItalic.woff") format("woff"); + font-weight: normal; + font-style: italic; } + +/** + * Foundation for Sites + * Version 6.6.3 + * https://get.foundation + * Licensed under MIT Open Source + */ +div, +dl, +dt, +dd, +ul, +ol, +li, +h1, +.editor-post-title__block .editor-post-title__input, +h2, +h3, +h4, +h5, +h6, +pre, +form, +p, +blockquote, +th, +td { + margin: 0; + padding: 0; } + +p { + margin-bottom: 1rem; + font-size: inherit; + line-height: 1.6; + text-rendering: optimizeLegibility; } + +em, +i { + font-style: italic; + line-height: inherit; } + +strong, +b { + font-weight: bold; + line-height: inherit; } + +small { + font-size: 80%; + line-height: inherit; } + + +h1, +.editor-post-title__block .editor-post-title__input, .h1, +h2, .h2, +h3, .h3, +h4, .h4, +h5, .h5, +h6, .h6 { + font-family: worksans-medium, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; + font-style: normal; + font-weight: normal; + color: inherit; + text-rendering: optimizeLegibility; } + h1 small, .editor-post-title__block .editor-post-title__input small, .h1 small, + h2 small, .h2 small, + h3 small, .h3 small, + h4 small, .h4 small, + h5 small, .h5 small, + h6 small, .h6 small { + line-height: 0; + color: #8a8a8a; } + + +h1, +.editor-post-title__block .editor-post-title__input, .h1 { + font-size: 2.25rem; + line-height: 1.4; + margin-top: 0; + margin-bottom: 0.5rem; } + +h2, .h2 { + font-size: 1.875rem; + line-height: 1.4; + margin-top: 0; + margin-bottom: 0.5rem; } + +h3, .h3 { + font-size: 1.4375rem; + line-height: 1.4; + margin-top: 0; + margin-bottom: 0.5rem; } + +h4, .h4 { + font-size: 1.125rem; + line-height: 1.4; + margin-top: 0; + margin-bottom: 0.5rem; } + +h5, .h5 { + font-size: 1.0625rem; + line-height: 1.4; + margin-top: 0; + margin-bottom: 0.5rem; } + +h6, .h6 { + font-size: 1rem; + line-height: 1.4; + margin-top: 0; + margin-bottom: 0.5rem; } + +@media print, screen and (min-width: 40em) { + + h1, + .editor-post-title__block .editor-post-title__input, .h1 { + font-size: 3.625rem; } + h2, .h2 { + font-size: 3.25rem; } + h3, .h3 { + font-size: 2.5rem; } + h4, .h4 { + font-size: 1.5625rem; } + h5, .h5 { + font-size: 1.25rem; } + h6, .h6 { + font-size: 1rem; } } + +a { + line-height: inherit; + color: #0000DD; + text-decoration: none; + cursor: pointer; } + a:hover, a:focus { + color: #0000DD; } + a img { + border: 0; } + +hr { + clear: both; + max-width: 100vw; + height: 0; + margin: 1.25rem auto; + border-top: 0; + border-right: 0; + border-bottom: 1px solid #cacaca; + border-left: 0; } + +ul, +ol, +dl { + margin-bottom: 1rem; + list-style-position: outside; + line-height: 1.6; } + +li { + font-size: inherit; } + +ul { + margin-left: 1.25rem; + list-style-type: disc; } + +ol { + margin-left: 1.25rem; } + +ul ul, ol ul, ul ol, ol ol { + margin-left: 1.25rem; + margin-bottom: 0; } + +dl { + margin-bottom: 1rem; } + dl dt { + margin-bottom: 0.3rem; + font-weight: bold; } + +blockquote { + margin: 0 0 1rem; + padding: 0.5625rem 1.25rem 0 1.1875rem; + border-left: 1px solid #cacaca; } + blockquote, blockquote p { + line-height: 1.6; + color: #8a8a8a; } + +abbr, abbr[title] { + border-bottom: 1px dotted #0a0a0a; + cursor: help; + text-decoration: none; } + +figure { + margin: 0; } + +kbd { + margin: 0; + padding: 0.125rem 0.25rem 0; + background-color: #e6e6e6; + font-family: Consolas, "Liberation Mono", Courier, monospace; + color: #0a0a0a; } + +.subheader { + margin-top: 0.2rem; + margin-bottom: 0.5rem; + font-weight: normal; + line-height: 1.4; + color: #8a8a8a; } + +.lead { + font-size: 125%; + line-height: 1.6; } + +.stat { + font-size: 2.5rem; + line-height: 1; } + p + .stat { + margin-top: -1rem; } + +ul.no-bullet, ol.no-bullet { + margin-left: 0; + list-style: none; } + +.cite-block, cite { + display: block; + color: #8a8a8a; + font-size: 0.8125rem; } + .cite-block:before, cite:before { + content: "— "; } + +.code-inline, code { + border: 1px solid #cacaca; + background-color: #e6e6e6; + font-family: Consolas, "Liberation Mono", Courier, monospace; + font-weight: normal; + color: #0a0a0a; + display: inline; + max-width: 100%; + word-wrap: break-word; + padding: 0.125rem 0.3125rem 0.0625rem; } + +.code-block { + border: 1px solid #cacaca; + background-color: #e6e6e6; + font-family: Consolas, "Liberation Mono", Courier, monospace; + font-weight: normal; + color: #0a0a0a; + display: block; + overflow: auto; + white-space: pre; + padding: 1rem; + margin-bottom: 1.5rem; } + +.text-left { + text-align: left; } + +.text-right { + text-align: right; } + +.text-center { + text-align: center; } + +.text-justify { + text-align: justify; } + +@media print, screen and (min-width: 40em) { + .medium-text-left { + text-align: left; } + .medium-text-right { + text-align: right; } + .medium-text-center { + text-align: center; } + .medium-text-justify { + text-align: justify; } } + +@media print, screen and (min-width: 64em) { + .large-text-left { + text-align: left; } + .large-text-right { + text-align: right; } + .large-text-center { + text-align: center; } + .large-text-justify { + text-align: justify; } } + +.show-for-print { + display: none !important; } + +@media print { + * { + background: transparent !important; + color: black !important; + -webkit-print-color-adjust: economy; + color-adjust: economy; + -webkit-box-shadow: none !important; + box-shadow: none !important; + text-shadow: none !important; } + .show-for-print { + display: block !important; } + .hide-for-print { + display: none !important; } + 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) ")"; } + .ir a:after, + a[href^='javascript:']:after, + a[href^='#']:after { + content: ''; } + abbr[title]:after { + content: " (" attr(title) ")"; } + pre, + blockquote { + border: 1px solid #8a8a8a; + page-break-inside: avoid; } + thead { + display: table-header-group; } + tr, + img { + page-break-inside: avoid; } + img { + max-width: 100% !important; } + @page { + margin: 0.5cm; } + p, + h2, + h3 { + orphans: 3; + widows: 3; } + h2, + h3 { + page-break-after: avoid; } + .print-break-inside { + page-break-inside: auto; } } + +.button, .wp-block-button .wp-block-button__link { + display: inline-block; + vertical-align: middle; + margin: 0; + padding: 1rem 3rem; + border: 1px solid transparent; + border-radius: 2rem; + -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out; + transition: background-color 0.25s ease-out, color 0.25s ease-out; + font-family: inherit; + font-size: 1.2rem; + -webkit-appearance: none; + line-height: 1; + text-align: center; + cursor: pointer; } + [data-whatinput='mouse'] .button, [data-whatinput='mouse'] .wp-block-button .wp-block-button__link, .wp-block-button [data-whatinput='mouse'] .wp-block-button__link { + outline: 0; } + .button.tiny, .wp-block-button .tiny.wp-block-button__link { + font-size: 0.6rem; } + .button.small, .wp-block-button .small.wp-block-button__link { + font-size: 0.75rem; } + .button.large, .wp-block-button .large.wp-block-button__link { + font-size: 1.5rem; } + .button.expanded, .wp-block-button .expanded.wp-block-button__link { + display: block; + width: 100%; + margin-right: 0; + margin-left: 0; } + .button, .wp-block-button .wp-block-button__link, .button.disabled, .wp-block-button .disabled.wp-block-button__link, .button[disabled], .wp-block-button .wp-block-button__link[disabled], .button.disabled:hover, .wp-block-button .disabled.wp-block-button__link:hover, .button[disabled]:hover, .wp-block-button .wp-block-button__link[disabled]:hover, .button.disabled:focus, .wp-block-button .disabled.wp-block-button__link:focus, .button[disabled]:focus, .wp-block-button .wp-block-button__link[disabled]:focus { + background-color: #0000DD; + color: #fefefe; } + .button:hover, .wp-block-button .wp-block-button__link:hover, .button:focus, .wp-block-button .wp-block-button__link:focus { + background-color: #0000bc; + color: #fefefe; } + .button.primary, .wp-block-button .primary.wp-block-button__link, .button.primary.disabled, .wp-block-button .primary.disabled.wp-block-button__link, .button.primary[disabled], .wp-block-button .primary.wp-block-button__link[disabled], .button.primary.disabled:hover, .wp-block-button .primary.disabled.wp-block-button__link:hover, .button.primary[disabled]:hover, .wp-block-button .primary.wp-block-button__link[disabled]:hover, .button.primary.disabled:focus, .wp-block-button .primary.disabled.wp-block-button__link:focus, .button.primary[disabled]:focus, .wp-block-button .primary.wp-block-button__link[disabled]:focus { + background-color: #0000DD; + color: #fefefe; } + .button.primary:hover, .wp-block-button .primary.wp-block-button__link:hover, .button.primary:focus, .wp-block-button .primary.wp-block-button__link:focus { + background-color: #0000b1; + color: #fefefe; } + .button.secondary, .wp-block-button .secondary.wp-block-button__link, .button.secondary.disabled, .wp-block-button .secondary.disabled.wp-block-button__link, .button.secondary[disabled], .wp-block-button .secondary.wp-block-button__link[disabled], .button.secondary.disabled:hover, .wp-block-button .secondary.disabled.wp-block-button__link:hover, .button.secondary[disabled]:hover, .wp-block-button .secondary.wp-block-button__link[disabled]:hover, .button.secondary.disabled:focus, .wp-block-button .secondary.disabled.wp-block-button__link:focus, .button.secondary[disabled]:focus, .wp-block-button .secondary.wp-block-button__link[disabled]:focus { + background-color: #D75930; + color: #0a0a0a; } + .button.secondary:hover, .wp-block-button .secondary.wp-block-button__link:hover, .button.secondary:focus, .wp-block-button .secondary.wp-block-button__link:focus { + background-color: #b04522; + color: #0a0a0a; } + .button.success, .wp-block-button .success.wp-block-button__link, .button.success.disabled, .wp-block-button .success.disabled.wp-block-button__link, .button.success[disabled], .wp-block-button .success.wp-block-button__link[disabled], .button.success.disabled:hover, .wp-block-button .success.disabled.wp-block-button__link:hover, .button.success[disabled]:hover, .wp-block-button .success.wp-block-button__link[disabled]:hover, .button.success.disabled:focus, .wp-block-button .success.disabled.wp-block-button__link:focus, .button.success[disabled]:focus, .wp-block-button .success.wp-block-button__link[disabled]:focus { + background-color: #69E344; + color: #0a0a0a; } + .button.success:hover, .wp-block-button .success.wp-block-button__link:hover, .button.success:focus, .wp-block-button .success.wp-block-button__link:focus { + background-color: #47cd1f; + color: #0a0a0a; } + .button.warning, .wp-block-button .warning.wp-block-button__link, .button.warning.disabled, .wp-block-button .warning.disabled.wp-block-button__link, .button.warning[disabled], .wp-block-button .warning.wp-block-button__link[disabled], .button.warning.disabled:hover, .wp-block-button .warning.disabled.wp-block-button__link:hover, .button.warning[disabled]:hover, .wp-block-button .warning.wp-block-button__link[disabled]:hover, .button.warning.disabled:focus, .wp-block-button .warning.disabled.wp-block-button__link:focus, .button.warning[disabled]:focus, .wp-block-button .warning.wp-block-button__link[disabled]:focus { + background-color: #D32D1F; + color: #fefefe; } + .button.warning:hover, .wp-block-button .warning.wp-block-button__link:hover, .button.warning:focus, .wp-block-button .warning.wp-block-button__link:focus { + background-color: #a92419; + color: #fefefe; } + .button.alert, .wp-block-button .alert.wp-block-button__link, .button.alert.disabled, .wp-block-button .alert.disabled.wp-block-button__link, .button.alert[disabled], .wp-block-button .alert.wp-block-button__link[disabled], .button.alert.disabled:hover, .wp-block-button .alert.disabled.wp-block-button__link:hover, .button.alert[disabled]:hover, .wp-block-button .alert.wp-block-button__link[disabled]:hover, .button.alert.disabled:focus, .wp-block-button .alert.disabled.wp-block-button__link:focus, .button.alert[disabled]:focus, .wp-block-button .alert.wp-block-button__link[disabled]:focus { + background-color: #D32D1F; + color: #fefefe; } + .button.alert:hover, .wp-block-button .alert.wp-block-button__link:hover, .button.alert:focus, .wp-block-button .alert.wp-block-button__link:focus { + background-color: #a92419; + color: #fefefe; } + .button.hollow, .wp-block-button .hollow.wp-block-button__link, .wp-block-button.is-style-outline .wp-block-button__link, .button.hollow:hover, .wp-block-button .hollow.wp-block-button__link:hover, .wp-block-button.is-style-outline .wp-block-button__link:hover, .button.hollow:focus, .wp-block-button .hollow.wp-block-button__link:focus, .wp-block-button.is-style-outline .wp-block-button__link:focus, .button.hollow.disabled, .wp-block-button .hollow.disabled.wp-block-button__link, .wp-block-button.is-style-outline .disabled.wp-block-button__link, .button.hollow.disabled:hover, .wp-block-button .hollow.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .disabled.wp-block-button__link:hover, .button.hollow.disabled:focus, .wp-block-button .hollow.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .disabled.wp-block-button__link:focus, .button.hollow[disabled], .wp-block-button .hollow.wp-block-button__link[disabled], .wp-block-button.is-style-outline .wp-block-button__link[disabled], .button.hollow[disabled]:hover, .wp-block-button .hollow.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .wp-block-button__link[disabled]:hover, .button.hollow[disabled]:focus, .wp-block-button .hollow.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .wp-block-button__link[disabled]:focus { + background-color: transparent; } + .button.hollow, .wp-block-button .hollow.wp-block-button__link, .wp-block-button.is-style-outline .wp-block-button__link, .button.hollow.disabled, .wp-block-button .hollow.disabled.wp-block-button__link, .wp-block-button.is-style-outline .disabled.wp-block-button__link, .button.hollow[disabled], .wp-block-button .hollow.wp-block-button__link[disabled], .wp-block-button.is-style-outline .wp-block-button__link[disabled], .button.hollow.disabled:hover, .wp-block-button .hollow.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .disabled.wp-block-button__link:hover, .button.hollow[disabled]:hover, .wp-block-button .hollow.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .wp-block-button__link[disabled]:hover, .button.hollow.disabled:focus, .wp-block-button .hollow.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .disabled.wp-block-button__link:focus, .button.hollow[disabled]:focus, .wp-block-button .hollow.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .wp-block-button__link[disabled]:focus { + border: 2px solid #0000DD; + color: #0000DD; } + .button.hollow:hover, .wp-block-button .hollow.wp-block-button__link:hover, .wp-block-button.is-style-outline .wp-block-button__link:hover, .button.hollow:focus, .wp-block-button .hollow.wp-block-button__link:focus, .wp-block-button.is-style-outline .wp-block-button__link:focus { + border-color: #00006f; + color: #00006f; } + .button.hollow.primary, .wp-block-button .hollow.primary.wp-block-button__link, .wp-block-button.is-style-outline .primary.wp-block-button__link, .button.hollow.primary.disabled, .wp-block-button .hollow.primary.disabled.wp-block-button__link, .wp-block-button.is-style-outline .primary.disabled.wp-block-button__link, .button.hollow.primary[disabled], .wp-block-button .hollow.primary.wp-block-button__link[disabled], .wp-block-button.is-style-outline .primary.wp-block-button__link[disabled], .button.hollow.primary.disabled:hover, .wp-block-button .hollow.primary.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .primary.disabled.wp-block-button__link:hover, .button.hollow.primary[disabled]:hover, .wp-block-button .hollow.primary.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .primary.wp-block-button__link[disabled]:hover, .button.hollow.primary.disabled:focus, .wp-block-button .hollow.primary.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .primary.disabled.wp-block-button__link:focus, .button.hollow.primary[disabled]:focus, .wp-block-button .hollow.primary.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .primary.wp-block-button__link[disabled]:focus { + border: 2px solid #0000DD; + color: #0000DD; } + .button.hollow.primary:hover, .wp-block-button .hollow.primary.wp-block-button__link:hover, .wp-block-button.is-style-outline .primary.wp-block-button__link:hover, .button.hollow.primary:focus, .wp-block-button .hollow.primary.wp-block-button__link:focus, .wp-block-button.is-style-outline .primary.wp-block-button__link:focus { + border-color: #00006f; + color: #00006f; } + .button.hollow.secondary, .wp-block-button .hollow.secondary.wp-block-button__link, .wp-block-button.is-style-outline .secondary.wp-block-button__link, .button.hollow.secondary.disabled, .wp-block-button .hollow.secondary.disabled.wp-block-button__link, .wp-block-button.is-style-outline .secondary.disabled.wp-block-button__link, .button.hollow.secondary[disabled], .wp-block-button .hollow.secondary.wp-block-button__link[disabled], .wp-block-button.is-style-outline .secondary.wp-block-button__link[disabled], .button.hollow.secondary.disabled:hover, .wp-block-button .hollow.secondary.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .secondary.disabled.wp-block-button__link:hover, .button.hollow.secondary[disabled]:hover, .wp-block-button .hollow.secondary.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .secondary.wp-block-button__link[disabled]:hover, .button.hollow.secondary.disabled:focus, .wp-block-button .hollow.secondary.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .secondary.disabled.wp-block-button__link:focus, .button.hollow.secondary[disabled]:focus, .wp-block-button .hollow.secondary.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .secondary.wp-block-button__link[disabled]:focus { + border: 2px solid #D75930; + color: #D75930; } + .button.hollow.secondary:hover, .wp-block-button .hollow.secondary.wp-block-button__link:hover, .wp-block-button.is-style-outline .secondary.wp-block-button__link:hover, .button.hollow.secondary:focus, .wp-block-button .hollow.secondary.wp-block-button__link:focus, .wp-block-button.is-style-outline .secondary.wp-block-button__link:focus { + border-color: #6e2b15; + color: #6e2b15; } + .button.hollow.success, .wp-block-button .hollow.success.wp-block-button__link, .wp-block-button.is-style-outline .success.wp-block-button__link, .button.hollow.success.disabled, .wp-block-button .hollow.success.disabled.wp-block-button__link, .wp-block-button.is-style-outline .success.disabled.wp-block-button__link, .button.hollow.success[disabled], .wp-block-button .hollow.success.wp-block-button__link[disabled], .wp-block-button.is-style-outline .success.wp-block-button__link[disabled], .button.hollow.success.disabled:hover, .wp-block-button .hollow.success.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .success.disabled.wp-block-button__link:hover, .button.hollow.success[disabled]:hover, .wp-block-button .hollow.success.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .success.wp-block-button__link[disabled]:hover, .button.hollow.success.disabled:focus, .wp-block-button .hollow.success.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .success.disabled.wp-block-button__link:focus, .button.hollow.success[disabled]:focus, .wp-block-button .hollow.success.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .success.wp-block-button__link[disabled]:focus { + border: 2px solid #69E344; + color: #69E344; } + .button.hollow.success:hover, .wp-block-button .hollow.success.wp-block-button__link:hover, .wp-block-button.is-style-outline .success.wp-block-button__link:hover, .button.hollow.success:focus, .wp-block-button .hollow.success.wp-block-button__link:focus, .wp-block-button.is-style-outline .success.wp-block-button__link:focus { + border-color: #2d8013; + color: #2d8013; } + .button.hollow.warning, .wp-block-button .hollow.warning.wp-block-button__link, .wp-block-button.is-style-outline .warning.wp-block-button__link, .button.hollow.warning.disabled, .wp-block-button .hollow.warning.disabled.wp-block-button__link, .wp-block-button.is-style-outline .warning.disabled.wp-block-button__link, .button.hollow.warning[disabled], .wp-block-button .hollow.warning.wp-block-button__link[disabled], .wp-block-button.is-style-outline .warning.wp-block-button__link[disabled], .button.hollow.warning.disabled:hover, .wp-block-button .hollow.warning.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .warning.disabled.wp-block-button__link:hover, .button.hollow.warning[disabled]:hover, .wp-block-button .hollow.warning.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .warning.wp-block-button__link[disabled]:hover, .button.hollow.warning.disabled:focus, .wp-block-button .hollow.warning.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .warning.disabled.wp-block-button__link:focus, .button.hollow.warning[disabled]:focus, .wp-block-button .hollow.warning.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .warning.wp-block-button__link[disabled]:focus { + border: 2px solid #D32D1F; + color: #D32D1F; } + .button.hollow.warning:hover, .wp-block-button .hollow.warning.wp-block-button__link:hover, .wp-block-button.is-style-outline .warning.wp-block-button__link:hover, .button.hollow.warning:focus, .wp-block-button .hollow.warning.wp-block-button__link:focus, .wp-block-button.is-style-outline .warning.wp-block-button__link:focus { + border-color: #6a1710; + color: #6a1710; } + .button.hollow.alert, .wp-block-button .hollow.alert.wp-block-button__link, .wp-block-button.is-style-outline .alert.wp-block-button__link, .button.hollow.alert.disabled, .wp-block-button .hollow.alert.disabled.wp-block-button__link, .wp-block-button.is-style-outline .alert.disabled.wp-block-button__link, .button.hollow.alert[disabled], .wp-block-button .hollow.alert.wp-block-button__link[disabled], .wp-block-button.is-style-outline .alert.wp-block-button__link[disabled], .button.hollow.alert.disabled:hover, .wp-block-button .hollow.alert.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .alert.disabled.wp-block-button__link:hover, .button.hollow.alert[disabled]:hover, .wp-block-button .hollow.alert.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .alert.wp-block-button__link[disabled]:hover, .button.hollow.alert.disabled:focus, .wp-block-button .hollow.alert.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .alert.disabled.wp-block-button__link:focus, .button.hollow.alert[disabled]:focus, .wp-block-button .hollow.alert.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .alert.wp-block-button__link[disabled]:focus { + border: 2px solid #D32D1F; + color: #D32D1F; } + .button.hollow.alert:hover, .wp-block-button .hollow.alert.wp-block-button__link:hover, .wp-block-button.is-style-outline .alert.wp-block-button__link:hover, .button.hollow.alert:focus, .wp-block-button .hollow.alert.wp-block-button__link:focus, .wp-block-button.is-style-outline .alert.wp-block-button__link:focus { + border-color: #6a1710; + color: #6a1710; } + .button.clear, .wp-block-button .clear.wp-block-button__link, .button.clear:hover, .wp-block-button .clear.wp-block-button__link:hover, .button.clear:focus, .wp-block-button .clear.wp-block-button__link:focus, .button.clear.disabled, .wp-block-button .clear.disabled.wp-block-button__link, .button.clear.disabled:hover, .wp-block-button .clear.disabled.wp-block-button__link:hover, .button.clear.disabled:focus, .wp-block-button .clear.disabled.wp-block-button__link:focus, .button.clear[disabled], .wp-block-button .clear.wp-block-button__link[disabled], .button.clear[disabled]:hover, .wp-block-button .clear.wp-block-button__link[disabled]:hover, .button.clear[disabled]:focus, .wp-block-button .clear.wp-block-button__link[disabled]:focus { + border-color: transparent; + background-color: transparent; } + .button.clear, .wp-block-button .clear.wp-block-button__link, .button.clear.disabled, .wp-block-button .clear.disabled.wp-block-button__link, .button.clear[disabled], .wp-block-button .clear.wp-block-button__link[disabled], .button.clear.disabled:hover, .wp-block-button .clear.disabled.wp-block-button__link:hover, .button.clear[disabled]:hover, .wp-block-button .clear.wp-block-button__link[disabled]:hover, .button.clear.disabled:focus, .wp-block-button .clear.disabled.wp-block-button__link:focus, .button.clear[disabled]:focus, .wp-block-button .clear.wp-block-button__link[disabled]:focus { + color: #0000DD; } + .button.clear:hover, .wp-block-button .clear.wp-block-button__link:hover, .button.clear:focus, .wp-block-button .clear.wp-block-button__link:focus { + color: #00006f; } + .button.clear.primary, .wp-block-button .clear.primary.wp-block-button__link, .button.clear.primary.disabled, .wp-block-button .clear.primary.disabled.wp-block-button__link, .button.clear.primary[disabled], .wp-block-button .clear.primary.wp-block-button__link[disabled], .button.clear.primary.disabled:hover, .wp-block-button .clear.primary.disabled.wp-block-button__link:hover, .button.clear.primary[disabled]:hover, .wp-block-button .clear.primary.wp-block-button__link[disabled]:hover, .button.clear.primary.disabled:focus, .wp-block-button .clear.primary.disabled.wp-block-button__link:focus, .button.clear.primary[disabled]:focus, .wp-block-button .clear.primary.wp-block-button__link[disabled]:focus { + color: #0000DD; } + .button.clear.primary:hover, .wp-block-button .clear.primary.wp-block-button__link:hover, .button.clear.primary:focus, .wp-block-button .clear.primary.wp-block-button__link:focus { + color: #00006f; } + .button.clear.secondary, .wp-block-button .clear.secondary.wp-block-button__link, .button.clear.secondary.disabled, .wp-block-button .clear.secondary.disabled.wp-block-button__link, .button.clear.secondary[disabled], .wp-block-button .clear.secondary.wp-block-button__link[disabled], .button.clear.secondary.disabled:hover, .wp-block-button .clear.secondary.disabled.wp-block-button__link:hover, .button.clear.secondary[disabled]:hover, .wp-block-button .clear.secondary.wp-block-button__link[disabled]:hover, .button.clear.secondary.disabled:focus, .wp-block-button .clear.secondary.disabled.wp-block-button__link:focus, .button.clear.secondary[disabled]:focus, .wp-block-button .clear.secondary.wp-block-button__link[disabled]:focus { + color: #D75930; } + .button.clear.secondary:hover, .wp-block-button .clear.secondary.wp-block-button__link:hover, .button.clear.secondary:focus, .wp-block-button .clear.secondary.wp-block-button__link:focus { + color: #6e2b15; } + .button.clear.success, .wp-block-button .clear.success.wp-block-button__link, .button.clear.success.disabled, .wp-block-button .clear.success.disabled.wp-block-button__link, .button.clear.success[disabled], .wp-block-button .clear.success.wp-block-button__link[disabled], .button.clear.success.disabled:hover, .wp-block-button .clear.success.disabled.wp-block-button__link:hover, .button.clear.success[disabled]:hover, .wp-block-button .clear.success.wp-block-button__link[disabled]:hover, .button.clear.success.disabled:focus, .wp-block-button .clear.success.disabled.wp-block-button__link:focus, .button.clear.success[disabled]:focus, .wp-block-button .clear.success.wp-block-button__link[disabled]:focus { + color: #69E344; } + .button.clear.success:hover, .wp-block-button .clear.success.wp-block-button__link:hover, .button.clear.success:focus, .wp-block-button .clear.success.wp-block-button__link:focus { + color: #2d8013; } + .button.clear.warning, .wp-block-button .clear.warning.wp-block-button__link, .button.clear.warning.disabled, .wp-block-button .clear.warning.disabled.wp-block-button__link, .button.clear.warning[disabled], .wp-block-button .clear.warning.wp-block-button__link[disabled], .button.clear.warning.disabled:hover, .wp-block-button .clear.warning.disabled.wp-block-button__link:hover, .button.clear.warning[disabled]:hover, .wp-block-button .clear.warning.wp-block-button__link[disabled]:hover, .button.clear.warning.disabled:focus, .wp-block-button .clear.warning.disabled.wp-block-button__link:focus, .button.clear.warning[disabled]:focus, .wp-block-button .clear.warning.wp-block-button__link[disabled]:focus { + color: #D32D1F; } + .button.clear.warning:hover, .wp-block-button .clear.warning.wp-block-button__link:hover, .button.clear.warning:focus, .wp-block-button .clear.warning.wp-block-button__link:focus { + color: #6a1710; } + .button.clear.alert, .wp-block-button .clear.alert.wp-block-button__link, .button.clear.alert.disabled, .wp-block-button .clear.alert.disabled.wp-block-button__link, .button.clear.alert[disabled], .wp-block-button .clear.alert.wp-block-button__link[disabled], .button.clear.alert.disabled:hover, .wp-block-button .clear.alert.disabled.wp-block-button__link:hover, .button.clear.alert[disabled]:hover, .wp-block-button .clear.alert.wp-block-button__link[disabled]:hover, .button.clear.alert.disabled:focus, .wp-block-button .clear.alert.disabled.wp-block-button__link:focus, .button.clear.alert[disabled]:focus, .wp-block-button .clear.alert.wp-block-button__link[disabled]:focus { + color: #D32D1F; } + .button.clear.alert:hover, .wp-block-button .clear.alert.wp-block-button__link:hover, .button.clear.alert:focus, .wp-block-button .clear.alert.wp-block-button__link:focus { + color: #6a1710; } + .button.disabled, .wp-block-button .disabled.wp-block-button__link, .button[disabled], .wp-block-button .wp-block-button__link[disabled] { + opacity: 0.25; + cursor: not-allowed; } + .button.dropdown::after, .wp-block-button .dropdown.wp-block-button__link::after { + display: block; + width: 0; + height: 0; + border: inset 0.4em; + content: ''; + border-bottom-width: 0; + border-top-style: solid; + border-color: #fefefe transparent transparent; + position: relative; + top: 0.4em; + display: inline-block; + float: right; + margin-left: 3rem; } + .button.dropdown.hollow::after, .wp-block-button .dropdown.hollow.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.wp-block-button__link::after, .button.dropdown.clear::after, .wp-block-button .dropdown.clear.wp-block-button__link::after { + border-top-color: #0000DD; } + .button.dropdown.hollow.primary::after, .wp-block-button .dropdown.hollow.primary.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.primary.wp-block-button__link::after, .button.dropdown.clear.primary::after, .wp-block-button .dropdown.clear.primary.wp-block-button__link::after { + border-top-color: #0000DD; } + .button.dropdown.hollow.secondary::after, .wp-block-button .dropdown.hollow.secondary.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.secondary.wp-block-button__link::after, .button.dropdown.clear.secondary::after, .wp-block-button .dropdown.clear.secondary.wp-block-button__link::after { + border-top-color: #D75930; } + .button.dropdown.hollow.success::after, .wp-block-button .dropdown.hollow.success.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.success.wp-block-button__link::after, .button.dropdown.clear.success::after, .wp-block-button .dropdown.clear.success.wp-block-button__link::after { + border-top-color: #69E344; } + .button.dropdown.hollow.warning::after, .wp-block-button .dropdown.hollow.warning.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.warning.wp-block-button__link::after, .button.dropdown.clear.warning::after, .wp-block-button .dropdown.clear.warning.wp-block-button__link::after { + border-top-color: #D32D1F; } + .button.dropdown.hollow.alert::after, .wp-block-button .dropdown.hollow.alert.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.alert.wp-block-button__link::after, .button.dropdown.clear.alert::after, .wp-block-button .dropdown.clear.alert.wp-block-button__link::after { + border-top-color: #D32D1F; } + .button.arrow-only::after, .wp-block-button .arrow-only.wp-block-button__link::after { + top: -0.1em; + float: none; + margin-left: 0; } + +a.button:hover, .wp-block-button a.wp-block-button__link:hover, a.button:focus, .wp-block-button a.wp-block-button__link:focus { + text-decoration: none; } + +table { + border-collapse: collapse; + width: 100%; + margin-bottom: 2rem; + border-radius: 0; } + thead, + tbody, + tfoot { + border: 1px solid #f1f1f1; + background-color: #fefefe; } + caption { + padding: 0.5rem 0.625rem 0.625rem; + font-weight: bold; } + thead { + background: #f8f8f8; + color: #0a0a0a; } + tfoot { + background: #f1f1f1; + color: #0a0a0a; } + thead tr, + tfoot tr { + background: transparent; } + thead th, + thead td, + tfoot th, + tfoot td { + padding: 0.5rem 0.625rem 0.625rem; + font-weight: bold; + text-align: left; } + tbody th, + tbody td { + padding: 0.5rem 0.625rem 0.625rem; } + tbody tr:nth-child(even) { + border-bottom: 0; + background-color: #f1f1f1; } + table.unstriped tbody { + background-color: #fefefe; } + table.unstriped tbody tr { + border-bottom: 0; + border-bottom: 1px solid #f1f1f1; + background-color: #fefefe; } + +@media print, screen and (max-width: 63.99875em) { + table.stack thead { + display: none; } + table.stack tfoot { + display: none; } + table.stack tr, + table.stack th, + table.stack td { + display: block; } + table.stack td { + border-top: 0; } } + +table.scroll { + display: block; + width: 100%; + overflow-x: auto; } + +table.hover thead tr:hover { + background-color: #f3f3f3; } + +table.hover tfoot tr:hover { + background-color: #ececec; } + +table.hover tbody tr:hover { + background-color: #f9f9f9; } + +table.hover:not(.unstriped) tr:nth-of-type(even):hover { + background-color: #ececec; } + +.table-scroll { + overflow-x: auto; } + +/** === Content Width === */ +.wp-block { + width: calc(100vw - (2 * 10)); + width: calc(100vw - ($size)); } + @media print, screen and (min-width: 40em) { + .wp-block { + width: calc(100vw - ($size)); } } + +/** === Base Typography === */ +body { + font-size: 100%; + font-family: worksans-medium, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; + color: #0a0a0a; } + +/** === Post Title === */ +/** === Button === */ +.wp-block-button.is-style-squared .wp-block-button__link { + border-radius: 0; } + +.wp-block-button.is-style-outline, .wp-block-button.is-style-outline:hover, .wp-block-button.is-style-outline:focus, .wp-block-button.is-style-outline:active { + background: transparent; } + +/** === File === */ +.wp-block-file__button { + display: inline-block; + vertical-align: middle; + margin: 0; + padding: 1rem 3rem; + border: 1px solid transparent; + border-radius: 2rem; + -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out; + transition: background-color 0.25s ease-out, color 0.25s ease-out; + font-family: inherit; + font-size: 1.2rem; + -webkit-appearance: none; + line-height: 1; + text-align: center; + cursor: pointer; } + [data-whatinput='mouse'] .wp-block-file__button { + outline: 0; } + .wp-block-file__button, .wp-block-file__button.disabled, .wp-block-file__button[disabled], .wp-block-file__button.disabled:hover, .wp-block-file__button[disabled]:hover, .wp-block-file__button.disabled:focus, .wp-block-file__button[disabled]:focus { + background-color: #0000DD; + color: #fefefe; } + .wp-block-file__button:hover, .wp-block-file__button:focus { + background-color: #0000bc; + color: #fefefe; } + +/** === Pullquote === */ +.wp-block-paragraph.has-background { + padding: 1.25rem 1.875rem; } + +/** === Table === */ +.wp-block-table td { + border: none; } + +/** === Latest Posts grid view === */ +.wp-block-latest-posts.is-grid { + list-style: none; } + +/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci5jc3MiLCJlZGl0b3Iuc2NzcyIsImdsb2JhbC9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsImdsb2JhbC9fY29sb3JzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEI7O0VE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TnZFLG9CUDJMMEI7RU8xTDFCLGlCUDBNZTtFT3hNZix3QkFBd0I7RUFDeEIsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixlQUFlLEVBQUE7RVo4ZmY7SWE5YUUsVUFBVSxFQUFBO0VadElkO0lXcUlJLHlCSm5Nb0I7SUlvTXBCLGNQakhXLEVBQUE7RUpyQmY7SVcwSUkseUJQd0d1RTtJT3ZHdkUsY1B0SFcsRUFBQTs7QUpqQmYsdUJBQUE7QUFDQTtFQUNDLHlCS2N3RCxFQUFBOztBTFh6RCxtQkFBQTtBQUNBO0VBQ0MsWUFBWSxFQUFBOztBQUdiLG9DQUFBO0FBQ0E7RUFDQyxnQkFBZ0IsRUFBQSIsImZpbGUiOiJlZGl0b3IuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyohXG4gKiBHdXRlbmJlcmcgRWRpdG9yIFN0eWxlc1xuICovXG4vKiogPT09IEluY2x1ZGVzID09PSAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnd29ya3NhbnMtbWVkaXVtJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9Xb3JrU2Fucy1NZWRpdW0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnd29ya3NhbnMtbWVkaXVtaXRhbGljJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9Xb3JrU2Fucy1NZWRpdW1JdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjYuM1xuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuLmVkaXRvci1wb3N0LXRpdGxlX19ibG9jayAuZWRpdG9yLXBvc3QtdGl0bGVfX2lucHV0LFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuXG5oMSxcbi5lZGl0b3ItcG9zdC10aXRsZV9fYmxvY2sgLmVkaXRvci1wb3N0LXRpdGxlX19pbnB1dCwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBmb250LWZhbWlseTogd29ya3NhbnMtbWVkaXVtLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBzbWFsbCwgLmVkaXRvci1wb3N0LXRpdGxlX19ibG9jayAuZWRpdG9yLXBvc3QtdGl0bGVfX2lucHV0IHNtYWxsLCAuaDEgc21hbGwsXG4gIGgyIHNtYWxsLCAuaDIgc21hbGwsXG4gIGgzIHNtYWxsLCAuaDMgc21hbGwsXG4gIGg0IHNtYWxsLCAuaDQgc21hbGwsXG4gIGg1IHNtYWxsLCAuaDUgc21hbGwsXG4gIGg2IHNtYWxsLCAuaDYgc21hbGwge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGNvbG9yOiAjOGE4YThhOyB9XG5cblxuaDEsXG4uZWRpdG9yLXBvc3QtdGl0bGVfX2Jsb2NrIC5lZGl0b3ItcG9zdC10aXRsZV9faW5wdXQsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDEuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDMsIC5oMyB7XG4gIGZvbnQtc2l6ZTogMS40Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgXG4gIGgxLFxuICAuZWRpdG9yLXBvc3QtdGl0bGVfX2Jsb2NrIC5lZGl0b3ItcG9zdC10aXRsZV9faW5wdXQsIC5oMSB7XG4gICAgZm9udC1zaXplOiAzLjYyNXJlbTsgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDMuMjVyZW07IH1cbiAgaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07IH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIGg2LCAuaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMwMDAwREQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwMEREOyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzhhOGE4YTsgfVxuXG5hYmJyLCBhYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzBhMGEwYTtcbiAgY3Vyc29yOiBoZWxwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzhhOGE4YTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmNpdGUtYmxvY2ssIGNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICM4YThhOGE7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5jaXRlLWJsb2NrOmJlZm9yZSwgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbi5jb2RlLWlubGluZSwgY29kZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfVxuXG4uY29kZS1ibG9jayB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87IH0gfVxuXG4uYnV0dG9uLCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMXJlbSAzcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24sIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbi50aW55LCAud3AtYmxvY2stYnV0dG9uIC50aW55LndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCwgLndwLWJsb2NrLWJ1dHRvbiAuc21hbGwud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSwgLndwLWJsb2NrLWJ1dHRvbiAubGFyZ2Uud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkLCAud3AtYmxvY2stYnV0dG9uIC5leHBhbmRlZC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnV0dG9uLCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbltkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwREQ7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwYmM7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5LCAud3AtYmxvY2stYnV0dG9uIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDBERDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMGIxO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5LCAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuc2Vjb25kYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDc1OTMwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IwNDUyMjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLnN1Y2Nlc3MsIC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjlFMzQ0O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0N2NkMWY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi53YXJuaW5nLCAud3AtYmxvY2stYnV0dG9uIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0QzMkQxRjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTkyNDE5O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uYWxlcnQsIC53cC1ibG9jay1idXR0b24gLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0QzMkQxRjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2E5MjQxOTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmhvbGxvdywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uaG9sbG93OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLmhvbGxvdywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDAwREQ7XG4gICAgY29sb3I6ICMwMDAwREQ7IH1cbiAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDA2ZjtcbiAgICBjb2xvcjogIzAwMDA2ZjsgfVxuICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDAwREQ7XG4gICAgY29sb3I6ICMwMDAwREQ7IH1cbiAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDA2ZjtcbiAgICBjb2xvcjogIzAwMDA2ZjsgfVxuICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnksIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc2Vjb25kYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNENzU5MzA7XG4gICAgY29sb3I6ICNENzU5MzA7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzZlMmIxNTtcbiAgICBjb2xvcjogIzZlMmIxNTsgfVxuICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM2OUUzNDQ7XG4gICAgY29sb3I6ICM2OUUzNDQ7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzJkODAxMztcbiAgICBjb2xvcjogIzJkODAxMzsgfVxuICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93Lndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNEMzJEMUY7XG4gICAgY29sb3I6ICNEMzJEMUY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93Lndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzZhMTcxMDtcbiAgICBjb2xvcjogIzZhMTcxMDsgfVxuICAuYnV0dG9uLmhvbGxvdy5hbGVydCwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uaG9sbG93LmFsZXJ0LmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmFsZXJ0LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3cuYWxlcnRbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydC5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmFsZXJ0LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5hbGVydC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5hbGVydC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5hbGVydFtkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNEMzJEMUY7XG4gICAgY29sb3I6ICNEMzJEMUY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzZhMTcxMDtcbiAgICBjb2xvcjogIzZhMTcxMDsgfVxuICAuYnV0dG9uLmNsZWFyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXI6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uY2xlYXIsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDAwREQ7IH1cbiAgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwMDZmOyB9XG4gIC5idXR0b24uY2xlYXIucHJpbWFyeSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwMEREOyB9XG4gIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwMDZmOyB9XG4gIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI0Q3NTkzMDsgfVxuICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAjNmUyYjE1OyB9XG4gIC5idXR0b24uY2xlYXIuc3VjY2VzcywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjNjlFMzQ0OyB9XG4gIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAjMmQ4MDEzOyB9XG4gIC5idXR0b24uY2xlYXIud2FybmluZywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjRDMyRDFGOyB9XG4gIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAjNmExNzEwOyB9XG4gIC5idXR0b24uY2xlYXIuYWxlcnQsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNEMzJEMUY7IH1cbiAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAjNmExNzEwOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbltkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24ud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogM3JlbTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmRyb3Bkb3duLmhvbGxvdy53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmRyb3Bkb3duLndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXI6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uIC5kcm9wZG93bi5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwMEREOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uIC5kcm9wZG93bi5ob2xsb3cucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmRyb3Bkb3duLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5wcmltYXJ5OjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24uY2xlYXIucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwMEREOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5kcm9wZG93bi5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5zZWNvbmRhcnk6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uIC5kcm9wZG93bi5jbGVhci5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0Q3NTkzMDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5kcm9wZG93bi5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuc3VjY2Vzczo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmRyb3Bkb3duLmNsZWFyLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzY5RTM0NDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24uaG9sbG93Lndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5kcm9wZG93bi53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIud2FybmluZzo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmRyb3Bkb3duLmNsZWFyLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0QzMkQxRjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmRyb3Bkb3duLmhvbGxvdy5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmRyb3Bkb3duLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuYWxlcnQ6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uIC5kcm9wZG93bi5jbGVhci5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjRDMyRDFGOyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmFycm93LW9ubHkud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYS5idXR0b246aG92ZXIsIC53cC1ibG9jay1idXR0b24gYS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIGEuYnV0dG9uOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIGEud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YxZjFmMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogI2YxZjFmMTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICB0aGVhZCB0cixcbiAgdGZvb3QgdHIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIHRoZWFkIHRoLFxuICB0aGVhZCB0ZCxcbiAgdGZvb3QgdGgsXG4gIHRmb290IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0Ym9keSB0aCxcbiAgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTsgfVxuICB0YWJsZS51bnN0cmlwZWQgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgICB0YWJsZS51bnN0cmlwZWQgdGJvZHkgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjFmMWYxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuXG50YWJsZS5ob3Zlcjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbi8qKiA9PT0gQ29udGVudCBXaWR0aCA9PT0gKi9cbi53cC1ibG9jayB7XG4gIHdpZHRoOiBjYWxjKDEwMHZ3IC0gKDIgKiAxMCkpO1xuICB3aWR0aDogY2FsYygxMDB2dyAtICgkc2l6ZSkpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLndwLWJsb2NrIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gKCRzaXplKSk7IH0gfVxuXG4vKiogPT09IEJhc2UgVHlwb2dyYXBoeSA9PT0gKi9cbmJvZHkge1xuICBmb250LXNpemU6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiB3b3Jrc2Fucy1tZWRpdW0sIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG4vKiogPT09IFBvc3QgVGl0bGUgPT09ICovXG4vKiogPT09IEJ1dHRvbiA9PT0gKi9cbi53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtc3F1YXJlZCAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmU6YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLyoqID09PSBGaWxlID09PSAqL1xuLndwLWJsb2NrLWZpbGVfX2J1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxcmVtIDNyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAycmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLndwLWJsb2NrLWZpbGVfX2J1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAud3AtYmxvY2stZmlsZV9fYnV0dG9uLCAud3AtYmxvY2stZmlsZV9fYnV0dG9uLmRpc2FibGVkLCAud3AtYmxvY2stZmlsZV9fYnV0dG9uW2Rpc2FibGVkXSwgLndwLWJsb2NrLWZpbGVfX2J1dHRvbi5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWZpbGVfX2J1dHRvbltkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1maWxlX19idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1maWxlX19idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMEREO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC53cC1ibG9jay1maWxlX19idXR0b246aG92ZXIsIC53cC1ibG9jay1maWxlX19idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwYmM7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLyoqID09PSBQdWxscXVvdGUgPT09ICovXG4ud3AtYmxvY2stcGFyYWdyYXBoLmhhcy1iYWNrZ3JvdW5kIHtcbiAgcGFkZGluZzogMS4yNXJlbSAxLjg3NXJlbTsgfVxuXG4vKiogPT09IFRhYmxlID09PSAqL1xuLndwLWJsb2NrLXRhYmxlIHRkIHtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi8qKiA9PT0gTGF0ZXN0IFBvc3RzIGdyaWQgdmlldyA9PT0gKi9cbi53cC1ibG9jay1sYXRlc3QtcG9zdHMuaXMtZ3JpZCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiIsIi8qIVxuICogR3V0ZW5iZXJnIEVkaXRvciBTdHlsZXNcbiAqL1xuXG4vKiogPT09IEluY2x1ZGVzID09PSAqL1xuXG5AY2hhcnNldCAndXRmLTgnO1xuXG5AaW1wb3J0ICdzZXR0aW5ncyc7XG5AaW1wb3J0ICdmb3VuZGF0aW9uJztcblxuQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuXG5cbi8qKiA9PT0gQ29udGVudCBXaWR0aCA9PT0gKi9cbi53cC1ibG9jayB7XG5cdHdpZHRoOiBjYWxjKDEwMHZ3IC0gKDIgKiAxMCkpO1xuXHRAZWFjaCAkYnJlYWtwb2ludCwgJHNpemUgaW4gJGdyaWQtbWFyZ2luLWd1dHRlcnMge1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuXHRcdFx0d2lkdGg6IGNhbGMoMTAwdncgLSAoJHNpemUpKTtcblx0XHR9XG5cblx0fVxufVxuXG4vKiogPT09IEJhc2UgVHlwb2dyYXBoeSA9PT0gKi9cbmJvZHkge1xuXHRmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuXHRmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG5cdGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xufVxuXG4vKiogPT09IFBvc3QgVGl0bGUgPT09ICovXG4uZWRpdG9yLXBvc3QtdGl0bGVfX2Jsb2NrIC5lZGl0b3ItcG9zdC10aXRsZV9faW5wdXR7XG4gIEBleHRlbmQgaDE7XG59XG5cbi8qKiA9PT0gQnV0dG9uID09PSAqL1xuLndwLWJsb2NrLWJ1dHRvbiB7XG5cblx0Ly8gYWRkIGdlbmVyYWwgZm91bmRhdGlvbiBidXR0b24gc3R5bGluZyB0byBidXR0b24gaW4gZWRpdG9yXG5cdC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuXHRcdEBleHRlbmQgLmJ1dHRvbjtcblx0fVxuXG5cdC8vIGFkZCBzcGVjaWFsIHN0eWxpbmcgZm9yIHNxdWFyZWQgYnV0dG9uc1xuXHQmLmlzLXN0eWxlLXNxdWFyZWQgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0fVxuXG5cdC8vIGFkZCBvdXRsaW5lIHN0eWxlc1xuXHQmLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGlua3tcblx0XHRAZXh0ZW5kIC5ob2xsb3c7XG5cdH1cblxuXHQvLyBzZXQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZCB0byBibG9jayBmb3Igb3V0bGluZSBidXR0b25cblx0Ji5pcy1zdHlsZS1vdXRsaW5lLFxuXHQmLmlzLXN0eWxlLW91dGxpbmU6aG92ZXIsXG5cdCYuaXMtc3R5bGUtb3V0bGluZTpmb2N1cyxcblx0Ji5pcy1zdHlsZS1vdXRsaW5lOmFjdGl2ZSB7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdH1cbn1cblxuLyoqID09PSBGaWxlID09PSAqL1xuLndwLWJsb2NrLWZpbGVfX2J1dHRvbntcblx0QGluY2x1ZGUgYnV0dG9uKCk7XG59XG5cbi8qKiA9PT0gUHVsbHF1b3RlID09PSAqL1xuLndwLWJsb2NrLXBhcmFncmFwaC5oYXMtYmFja2dyb3VuZHtcblx0cGFkZGluZzogcmVtLWNhbGMoMjBweCAzMHB4KTtcbn1cblxuLyoqID09PSBUYWJsZSA9PT0gKi9cbi53cC1ibG9jay10YWJsZSB0ZHtcblx0Ym9yZGVyOiBub25lO1xufVxuXG4vKiogPT09IExhdGVzdCBQb3N0cyBncmlkIHZpZXcgPT09ICovXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzLmlzLWdyaWR7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCJAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3dvcmtzYW5zLW1lZGl1bSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1dvcmtTYW5zLU1lZGl1bS53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3dvcmtzYW5zLW1lZGl1bWl0YWxpYyc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1dvcmtTYW5zLU1lZGl1bUl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbkBtaXhpbiBmb250LXdvcmtzYW5zLW1lZGl1bSB7XG4gIGZvbnQtZmFjZTogd29ya3NhbnMtbWVkaXVtLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn0gXG5AbWl4aW4gZm9udC13b3Jrc2Fucy1tZWRpdW1pdGFsaWMge1xuICBmb250LWZhY2U6IHdvcmtzYW5zLW1lZGl1bWl0YWxpYywgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59IFxuXG5cbi8vXG4vLyBtb2RzIG9uIGZvbnRzIGFuZCB0eXBvZ3JhcGh5IFxuLy8gbm90IGluIGZvdW5kYXRpb24gdmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vL2gxLGgyLGgzLGg0LGg1LGg2LFxuLy8uaDEsLmgyLC5oMywuaDQsLmg0LC5oNSwuaDYsXG4vL2J1dHRvbiwuYnV0dG9uLFxuLy9oZWFkZXIgbmF2LFxuLy8uaGVybyAuY2xhaW1cbi8ve1xuLy8gIGZvbnQtdmFyaWFudDphbGwtc21hbGwtY2Fwcztcbi8vfVxuLy9cbi8vXG4vL2gxLGgyLGgzLGg0LGg1LGg2LFxuLy8uaDEsLmgyLC5oMywuaDQsLmg0LC5oNSwuaDYge1xuLy8gIGEge1xuLy8gICAgY29sb3I6ICRibGFjaztcbi8vICB9XG4vL31cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi42LjNcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIC0tLSBEZXBlbmRlbmNpZXMgLS0tXG5AaW1wb3J0ICd2ZW5kb3Ivbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyAtLS0gU2V0dGluZ3MgLS0tXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIC0tLSBDb21wb25lbnRzIC0tLVxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuLy8gR2xvYmFsIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5cbi8vIEdyaWRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbi8vIEdlbmVyaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbi8vIEJhc2ljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbi8vIENvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5cbi8vIExheW91dCBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcblxuLy8gSGVscGVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZSxcbiAgJHh5LWdyaWQ6ICR4eS1ncmlkXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpZiAkeHktZ3JpZCB7XG4gICAgJHh5LWdyaWQ6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7XG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNvZGUtaW5saW5lYCBjb21wb25lbnQgYXMgZGVmYXVsdCBmb3IgYDxjb2RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGVuYWJsZS1jb2RlLWlubGluZTogdHJ1ZTtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBVc2UgdGhlIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY2l0ZS1ibG9jazogdHJ1ZTtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSwgLmgxLFxuICBoMiwgLmgyLFxuICBoMywgLmgzLFxuICBoNCwgLmg0LFxuICBoNSwgLmg1LFxuICBoNiwgLmg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5saW5lIENpdGF0aW9uc1xuICBAaWYgKCRlbmFibGUtY2l0ZS1ibG9jayA9PSB0cnVlKSB7XG4gICAgY2l0ZSB7XG4gICAgICAvLyBFeHRlbmRpbmcgYSBjbGFzcyBpcyBub3QgcmVjb21tZW5kZWQuXG4gICAgICAvLyBUT0RPOiBCcmVhayB0aGUgdHlwb2dyYXBoeS1iYXNlL3R5cG9ncmFwaHktaGVscGVycyBzZXBhcmF0aW9uXG4gICAgICBAZXh0ZW5kIC5jaXRlLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciwgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvZGVcbiAgQGlmICgkZW5hYmxlLWNvZGUtaW5saW5lID09IHRydWUpIHtcbiAgICBjb2RlIHtcbiAgICAgIEBleHRlbmQgLmNvZGUtaW5saW5lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuXG4vLyAwLiBhcmNISVZFIHNwZWNpZmljIHN0eWxlc1xuLy8gLS0tLS0tLS0tXG4vLyBnbG9iYWwgcHJvamVjdCBzdHlsZXNcbkBpbXBvcnQgXCJnbG9iYWwvY29sb3JzXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL3R5cG9ncmFwaHlcIjtcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6MTAwJTsgXG4kZ2xvYmFsLXdpZHRoOiAxMDB2dztcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICRoeXBlcmxpbmstYmx1ZSxcbiAgc2Vjb25kYXJ5OiAkZGVzZXJ0LXJlZCxcbiAgc3VjY2VzczogJGFjaWQtZ3JlZW4sXG4gIHdhcm5pbmc6ICRibG9vZHktcmVkLFxuICBhbGVydDogJGJsb29keS1yZWQsXG4pO1xuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuJGJsYWNrOiAjMGEwYTBhO1xuJHdoaXRlOiAjZmVmZWZlO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6IHdvcmtzYW5zLW1lZGl1bSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAycmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC1yYWRpdXMtYXJjaGl2ZTogMnJlbTtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvO1xuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcbiRwcmludC1ocmVmczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBoaWRwaS0xOiAxLFxuICBoaWRwaS0xLTU6IDEuNSxcbiAgaGlkcGktMjogMixcbiAgcmV0aW5hOiAyLFxuICBoaWRwaS0zOiAzXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDM2KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDMwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDIzKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA1OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA1MiksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkZGFyay1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kZW5hYmxlLWNvZGUtaW5saW5lOiB0cnVlO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiAkcHJpbWFyeS1jb2xvcjsvL3NjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGNvZGUtYmxvY2stcGFkZGluZzogMXJlbTtcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXBsdXMtY29udGVudDogJ1xcMDAyQic7XG4kYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ6ICdcXDIwMTMnO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiBub25lO1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyoxLjUgMDtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiBub25lO1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyoxLjUgMDtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLyc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBudWxsO1xuJGJ1dHRvbi1mb250LXZhcmlhbnQ6IGFsbC1wZXRpdGUtY2FwcztcbiRidXR0b24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICRnbG9iYWwtcGFkZGluZyozO1xuJGJ1dHRvbi1tYXJnaW46IDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMtYXJjaGl2ZTtcbiRidXR0b24tYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDJweDtcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMS4ycmVtLFxuICBsYXJnZTogMS41cmVtLFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZTtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbiRjYWxsb3V0LXNpemVzOiAoXG4gIHNtYWxsOiAwLjVyZW0sXG4gIGRlZmF1bHQ6IDFyZW0sXG4gIGxhcmdlOiAzcmVtLFxuKTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6IHVuc2V0O1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IG5vbmU7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyo0O1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4qMjtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMDtcbiRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemU6IG1lZGl1bTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGw7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcblxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcblxuLy8gMjAuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMi4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMy4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XG4kbWVudS1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJGFuY2hvci1jb2xvcjtcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogJGJsYWNrO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtYW5jaG9yLWNvbG9yOiAkYmxhY2s7XG4kbWVudS1hbmNob3ItY29sb3ItaG92ZXI6ICRhbmNob3ItY29sb3I7XG4vLyAyNC4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI1LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTM7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcbiRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzOiAnXFwwMEFCJztcbiRwYWdpbmF0aW9uLWFycm93LW5leHQ6ICdcXDAwQkInO1xuXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKTtcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbik7XG5cbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbik7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pO1xuXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKTtcblxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pO1xuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XG5cbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbik7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDE2IGJ5IDksXG4gIHN0YW5kYXJkOiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4gIGNsYXNzaWNmaWxtOiAzIGJ5IDIsXG4pO1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA0OS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4kc3dpdGNoLW9wYWNpdHktZGlzYWJsZWQ6IC41O1xuJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA1Mi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiA0cHggc29saWQgJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRpdGxlYmFyLWNvbG9yOiAkYmxhY2s7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJGJsYWNrO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDU0LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTUuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1Ni4gWHkgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJHh5LWdyaWQ6IHRydWU7XG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW5zOiAxMjtcbiRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHhcbik7XG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1tYXg6ICRnbG9iYWwtd2lkdGg7XG4keHktYmxvY2stZ3JpZC1tYXg6IDg7XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIEhpRFBJIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzIGZvciByZXNvbHV0aW9ucy5cbi8vLyBWYWx1ZXMgbXVzdCByZXByZXNlbnQgdGhlIGRldmljZSBwaXhlbHMgLyB3ZWIgcGl4ZWxzIHJhdGlvbiBhbmQgYmUgdW5pdGxlc3Mgb3IgaW4gRFBQWC5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBoaWRwaS0xOiAxLFxuICBoaWRwaS0xLTU6IDEuNSxcbiAgaGlkcGktMjogMixcbiAgcmV0aW5hOiAyLFxuICBoaWRwaS0zOiAzXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1RoZSBmaXJzdCBrZXkgaW4gdGhlICRicmVha3BvaW50cyBtYXAgbXVzdCBoYXZlIGEgdmFsdWUgb2YgXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFdlYiBzdGFuZGFyZCBQaXhlbHMgcGVyIGluY2guICgxZGRweCAvICRzdGQtd2ViLWRwaSkgPSAxZHBpXG4gIC8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXZhbHVlcy0zLyNhYnNvbHV0ZS1sZW5ndGhzXG4gICRzdGQtd2ViLWRwaTogOTY7XG5cbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBvZiB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnRcbiAgJGJwLW5leHQ6IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWluOiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWluLXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogbnVsbDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIElmIG5hbWVkLCBuYW1lIG9mIHRoZSBicmVha3BvaW50XG4gICRuYW1lOiBudWxsO1xuICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIEhpRFBJIGJyZWFrcG9pbnRcbiAgJGhpZHBpOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cblxuICAvLyBJZiBhIGJyZWFrcG9pbnQgbmFtZSBpcyBnaXZlbiwgZ2V0IGl0cyB2YWx1ZSBmcm9tIHRoZSAkYnJlYWtwb2ludHMvJGJyZWFrcG9pbnRzLWhpZHBpIG1hcC5cbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLWhpZHBpLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0LW51bWJlcigkYnJlYWtwb2ludHMtaGlkcGksICRicCk7XG4gICAgICAkaGlkcGk6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgYCRicmVha3BvaW50c2Agb3IgYCRicmVha3BvaW50cy1oaWRwaWAgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBub3QgJG5hbWUgYW5kICRkaXIgPT0gJ29ubHknIHtcbiAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gT25seSAnb25seScgYW5kICd1cCcgaGF2ZSBhIG1pbiBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ3VwJyB7XG4gICAgJGJwLW1pbjogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgfVxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ2Rvd24nIGhhdmUgYSBtYXggbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSB2YWx1ZSwgdXNlIGl0IGFzIG1heCBsaW1pdC5cbiAgICBAaWYgbm90ICRuYW1lIHtcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gICAgfVxuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIG5hbWVkLCB0aGUgbWF4IGxpbWl0IGlzIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludCAtIDFweC5cbiAgICBAZWxzZSBpZiAkYnAtbmV4dCB7XG4gICAgICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gICAgICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCAkYnAtbmV4dCAtICgxLyRzdGQtd2ViLWRwaSksIC16Zi1icC10by1lbSgkYnAtbmV4dCkgLSAwLjAwMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmF0ZSB0aGUgbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gbWluIGFuZCBtYXggbGltaXRzLlxuICBAaWYgJGhpZHBpIHtcbiAgICAvLyBHZW5lcmF0ZSB2YWx1ZXMgaW4gRFBJIGluc3RlYWQgb2YgRFBQWCBmb3IgYW4gSUU5LTExL09wZXJhIG1pbmkgY29tcGF0aWJpbGl0eS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICAgICRicC1taW4tZHBpOiBpZigkYnAtbWluLCAkYnAtbWluICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1pbik7XG4gICAgJGJwLW1heC1kcGk6IGlmKCRicC1tYXgsICRicC1tYXggKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWF4KTtcbiAgICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCwgJy13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbycsICctd2Via2l0LW1heC1kZXZpY2UtcGl4ZWwtcmF0aW8nKSxcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4tZHBpLCAkYnAtbWF4LWRwaSwgJ21pbi1yZXNvbHV0aW9uJywgJ21heC1yZXNvbHV0aW9uJyksXG4gICAgICAnLCAnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4KTtcbiAgfVxufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIGFuZCBgJGJyZWFrcG9pbnRzLWhpZHBpYCBtYXBzLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gSWYgbXVsdGlwbGUgdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGVhY2ggb2YgdGhlbSBhcyBkZXNjcmliZWQgYWJvdmUuXG4vLy8gU2luY2UgdGhlIGNvbnRlbnQgaXMgZHVwbGljYXRlZCBmb3IgZWFjaCBicmVha3BvaW50LCB0aGlzIG1peGluIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBwcm9wZXJ0aWVzIHRoYXRcbi8vLyBjaGFuZ2UgYWNyb3NzIGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlcy4uLiAtIEJyZWFrcG9pbnQgbmFtZSBvciBweC9yZW0vZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlcy4uLikge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdmFsdWVzKSB7XG4gICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJGkpO1xuICAgICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgbnRoKCR2YWx1ZSwgMSkpO1xuICAgICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuICAgIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICAgJGRpcjogaWYobGVuZ3RoKCR2YWx1ZSkgPiAxLCBudGgoJHZhbHVlLCAyKSwgdXApO1xuXG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gICAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gICAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICAgIEBpZiAkc3RyID09ICcnIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gICAgQGVsc2Uge1xuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgICAgLy8gZ2VuZXJhdGUgcHJpbnQgaWYgdGhlIGJyZWFrcG9pbnQgYWZmZWN0cyB0aGUgcHJpbnQtYnJlYWtwb2ludCAob3Igc21hbGxlcikuXG4gICAgICAvLyBUaGlzIG1lYW5zIHRoZSBjdXJyZW50IGNvbmRpdGlvbiBvbmx5IG5lZWRzIHRvIGJlIGV4dGVuZGVkIHNvICdkb3duJyBhbHdheXMgZ2VuZXJhdGVzIHByaW50LlxuICAgICAgQGlmICRicCAhPSBudWxsIGFuZCAoJGJwIDw9ICRwYnAgb3IgJGRpciA9PSBkb3duKSB7XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IG51bWJlciBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRudW1iZXIgLSBOdW1iZXIgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSBudW1iZXIgZm9sbG93aW5nIGAkbnVtYmVyYCwgaWYgYCRudW1iZXJgIHdhcyBmb3VuZC4gSWYgYCRudW1iZXJgIHdhcyBub3QgZm91bmQsIG9yIGAkbnVtYmVyYCB3YXMgdGhlIGJpZ2dlc3QgbnVtYmVyIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dC1udW1iZXIoJG1hcCwgJG51bWJlcikge1xuXG4gICRuZXh0X251bWJlcjogbnVsbDtcblxuICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09ICdudW1iZXInIGFuZCAkdiA+ICRudW1iZXIgYW5kICgkbmV4dF9udW1iZXIgPT0gbnVsbCBvciAkdiA8ICRuZXh0X251bWJlcikge1xuICAgICAgJG5leHRfbnVtYmVyOiAkdjtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXh0X251bWJlcjtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIHRoZSBiZXN0IGJyZWFrcG9pbnQgdG8gdXNlIGFjY29yZGluZyB0byB0aGUgY2FsbGluZyBjb250ZXh0LiBJdCByZXR1cm5zIGluIG9yZGVyOlxuLy8vIDEuIHRoZSBnaXZlbiBgJHZhbHVlYCBhcmd1bWVudCBpZiBpdCBpcyBub3QgbnVsbC5cbi8vLyAyLiB0aGUgZ2xvYmFsIGJyZWFrcG9pbnQgY29udGV4dCBgJC16Zi1zaXplYCBpZiBpdCBpcyBub3QgbnVsbCAobGlrZSBpZiBjYWxsZWQgaW5zaWRlIHRoZW4gYGJyZWFrcG9pbnQoKWAgbWl4aW4pXG4vLy8gMy4gdGhlIGdpdmVuIGAkZGVmYXVsdGAgYXJndW1lbnQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBpbiBwcmlvcml0eSBpZiBub24tbnVsbC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkZWZhdWx0IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGJ5IGRlZmF1bHQgaWYgbm8gb3RoZXIgdmFsdWUgY2FuIGJlIHVzZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBUaGUgcmVzb2x2ZWQgYnJlYWtwb2ludC5cbkBmdW5jdGlvbiAtemYtY3VycmVudC1icmVha3BvaW50KCR2YWx1ZTogbnVsbCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgQGlmICgkdmFsdWUgIT0gbnVsbCkge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIEBlbHNlIGlmICh2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgQHJldHVybiAkLXpmLXNpemU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG4gIH1cbn1cblxuLy8vIFJldHVybiBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gbWluIGFuZC9vciBtYXggbGltaXRzLlxuLy8vIElmIGEgbGltaXQgaXMgZXF1YWwgdG8gYG51bGxgIG9yIGAwYCwgaXQgaXMgaWdub3JlZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluIFswXSAtIE1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCBbMF0gLSBNYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtaW4tbmFtZSBbJ21pbi13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFsnbWF4LXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBNZWRpYSBRdWVyeSBzdHJpbmcuXG5AZnVuY3Rpb24gLXpmLWJwLWpvaW4oXG4gICRtaW46IDAsXG4gICRtYXg6IDAsXG4gICRtaW4tbmFtZTogJ21pbi13aWR0aCcsXG4gICRtYXgtbmFtZTogJ21heC13aWR0aCdcbikge1xuICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgIGlmKCRtaW4gYW5kICRtaW4gPiAwLCAnKCN7JG1pbi1uYW1lfTogI3skbWlufSknLCBudWxsKSxcbiAgICBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJygjeyRtYXgtbmFtZX06ICN7JG1heH0pJywgbnVsbCksXG4gICAgJyBhbmQgJyk7XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIiRzdG9uZS1ncmV5OiAjQ0NDQ0NDO1xuJGFjaWQtZ3JlZW46ICM2OUUzNDQ7XG4kYnViYmxlZ3VtLXBpbms6ICNGMDk2Rjk7XG4kZGVzZXJ0LXJlZDogI0Q3NTkzMDtcbiRtdXN0YXJkLXllbGxvdzogI0Y1QzA0MjtcbiRiZWFjaC1ibHVlOiAjNUNDOEQxO1xuJGh5cGVybGluay1ibHVlOiAjMDAwMEREO1xuJGJsb29keS1yZWQ6ICNEMzJEMUY7XG4kbWlkLWdyZXk6ICM4MDgwODA7XG4kYW50cmFjaXRlLWdyZXk6ICMzMzMzMzM7XG4kZm9yZXN0LWdyZWVuOiAjMUU2MDQxO1xuJHJhc3BiZXJyeS1wdXJwbGU6ICM1NDM2N0I7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtaW5saW5lYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiB0aGUgYC5jb2RlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtYmxvY2stcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiB1bmRlciB0aGUgYC5jb2RlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY29kZS1ibG9jay1tYXJnaW4tYm90dG9tOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBjaXRlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAkY2l0ZS1jb2xvcjtcbiAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICB9XG59XG5cbi8vLyBBZGQgYmFzaWMgc3R5bGVzIGZvciBhIGNvZGUgaGVscGVyLlxuLy8vIFNlZSBgY29kZS1pbmxpbmVgIGFuZCBgY29kZS1ibG9ja2AgbWl4aW5zLlxuQG1peGluIGNvZGUtc3R5bGUge1xuICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gaW5saW5lLlxuLy8vIFVzZWQgdG8gZ2VuZXJhdGUgYC5jb2RlLWlubGluZWBcbkBtaXhpbiBjb2RlLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcbn1cblxuLy8vIE1ha2UgY29kZSBoZWxwZXIgZnJvbSB0aGUgYGNvZGUtc3R5bGVgIG1peGluIGEgYmxvY2suXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtYmxvY2tgXG5AbWl4aW4gY29kZS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2hpdGUtc3BhY2U6IHByZTtcblxuICBwYWRkaW5nOiAkY29kZS1ibG9jay1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAkY29kZS1ibG9jay1tYXJnaW4tYm90dG9tO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICAvLyBVc2UgdG8gcmVtb3ZlIG51bWJlcnMgZnJvbSBvcmRlcmVkIGxpc3QgJiBidWxsZXRzIGZyb20gdW5vcmRlcmVkIGxpc3RcbiAgICAmLm5vLWJ1bGxldCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuY2l0ZS1ibG9jayB7XG4gICAgQGluY2x1ZGUgY2l0ZS1ibG9jaztcbiAgfVxuXG4gIC5jb2RlLWlubGluZSB7XG4gICAgQGluY2x1ZGUgY29kZS1zdHlsZTtcbiAgICBAaW5jbHVkZSBjb2RlLWlubGluZTtcbiAgfVxuXG4gIC5jb2RlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtYmxvY2s7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXlzIG5leHQgdG8gYWxsIGxpbmtzIHRoZWlyIFwiaHJlZlwiIHdoZW4gcHJpbnRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIC8vIEVuc3VyZSBhIFwiYmxhY2stb24td2hpdGVcIiBwcmludCBieSByZW1vdmluZyBiYWNrZ3JvdW5kcyxcbiAgICAgIC8vIHVzaW5nIGJsYWNrIHRleHQgZXZlcnl3aGVyZSBhbmQgZm9yY2luZyB0aGUgYnJvd3NlciB0byBlY29ub21pemUgaW5rLlxuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICAgIGNvbG9yLWFkanVzdDogZWNvbm9teTtcbiAgICAgIH1cbiAgICAgIC8vIE90aGVyd2lzZSwgcHJldmVudCBhbnkgZWNvbm9teSBieSB0aGUgYnJvd3Nlci5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBJZ25vcmVkIGlmIG51bGwgKGRlZmF1bHQpXG4vLy8gQHR5cGUgRm9udC1XZWlnaHRcbiRidXR0b24tZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgYnV0dG9ucywgdHJhbnNwYXJlbnQgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICBib3JkZXI6ICRidXR0b24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBmb250LXdlaWdodDogJGJ1dHRvbi1mb250LXdlaWdodDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgb3IgY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGluIGBidXR0b24tZmlsbC1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuIGBzb2xpZGAgaGFzIG5vIGVmZmVjdHMuXG5AbWl4aW4gYnV0dG9uLWZpbGwoXG4gICRmaWxsOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGNsZWFyIHtcbiAgICBAaW5jbHVkZSBidXR0b24tY2xlYXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZXMgb2YgYSBzb2xpZC9ob2xsb3cvY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGlucyBgYnV0dG9uLXN0eWxlYCwgYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGFuZCBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgZWZmZWN0cyBvZiB2aXN1YWwgc3R5bGluZyBwYXJhbWV0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZpbGwgWyRidXR0b24tZmlsbF0gLSBUeXBlIG9mIGZpbGxpbmcgYmV0d2VlbiBgaG9sbG93YCBhbmQgYGNsZWFyYC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gLVxuQG1peGluIGJ1dHRvbi1maWxsLXN0eWxlKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGZpbGwgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyLXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWhvbGxvdy1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgYW5kIGJvcmRlciBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRob3Zlci1saWdodG5lc3MgWyRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc10gLSBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJvcmRlci13aWR0aCBbJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXSAtIEJvcmRlciB3aWR0aCBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBjbGVhciBidXR0b24uXG4vLy8gU2VlIG1peGluIGBidXR0b24tY2xlYXItc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWNsZWFyIHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuQG1peGluIGJ1dHRvbi1jbGVhci1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCBhbmQgcmVzZXRpbmcgdGhlIGN1cnNvci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9wYWNpdHkgWyRidXR0b24tb3BhY2l0eS1kaXNhYmxlZF0gLSBPcGFjaXR5IG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkXG4pIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRzdHlsZSk7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRzdHlsZSwgJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbigkc3R5bGU6IG5vbmUpO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICBAaWYgJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkIHtcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IG9ubHkpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LW9ubHktZXhwYW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IGRvd24pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZG93bi1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSkge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRzZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnLiN7JGZpbGxpbmd9Jyk7XG5cbiAgICAgICYjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbCgkZmlsbGluZyk7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3csICYuY2xlYXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG5cbiAgYS5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogMXB4ICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogMXB4ICN7JGltcG9ydGFudH07XG4gIHBhZGRpbmc6IDAgI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiByZWN0KDAsMCwwLDApICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgI3skaW1wb3J0YW50fTtcbiAgYm9yZGVyOiAwICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IHN0YXRpYyAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IHZpc2libGUgI3skaW1wb3J0YW50fTtcbiAgY2xpcDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoXG4gICRzbWFsbDogdHJ1ZSxcbiAgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbihhdXRvLCAtemYtYm9vbCgkc21hbGwpLCAtemYtYm9vbCgkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMpKSB7XG4gICAgQGNvbnRlbnRcbiAgfTtcbn1cblxuLy8vIEl0ZXJhdGVzIHdpdGggYEBjb250ZW50YCB0aHJvdWdoIHRoZSBnaXZlbiBsaXN0IG9mIGJyZWFrcG9pbnRzIGAkYnJlYWtwb2ludHNgLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJyZWFrcG9pbnRzIFthdXRvXSAtIEJyZWFrcG9pbnRzIHRvIGl0ZXJhdGVzIG9uLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufE51bGx9ICR6ZXJvLWJyZWFrcG9pbnQgW251bGxdIC0gV2hldGhlciB0aGUgemVyby1icmVha3BvaW50IChvZnRlbiBgc21hbGxgKSBtdXN0IGJlIGluY2x1ZGVkLiBJZiBgdHJ1ZWAsIGl0IHdpbGwgYWx3YXlzIGJlIGFkZGVkIHRvIHRoZSBsaXN0IGlmIG5vdCBhbHJlYWR5IHRoZXJlLiBJZiBgZmFsc2VgLCBpdCB3aWxsIGFsd2F5cyBiZSByZW1vdmVkLiBEb2VzIG5vdGhpbmcgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58S2V5d29yZH0gJG1lZGlhLXF1ZXJpZXMgW3RydWVdIC0gV2hldGhlciBtZWRpYS1xdWVyaWVzIG11c3QgYmUgZ2VuZXJhdGVkLiBJZiBgZm9yLWxpc3RzYCwgb25seSBnZW5lcmF0ZSBtZWRpYS1xdWVyaWVzIHdoZW4gYCRicmVha3BvaW50c2AgaXMgYSBsaXN0LlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oXG4gICRicmVha3BvaW50czogYXV0byxcbiAgJHplcm8tYnJlYWtwb2ludDogbnVsbCxcbiAgJG1lZGlhLXF1ZXJpZXM6IHRydWVcbikge1xuICAkLWxpc3Q6ICgpO1xuICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogdHJ1ZTtcblxuICAvLyBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBicmVha3BvaW50KHMpIHRvIGl0ZXJhdGUgb24uXG4gIEBpZiAkYnJlYWtwb2ludHMgPT0gYXV0byB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnbGlzdCcge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnRzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnc3RyaW5nJyB7XG4gICAgJC1saXN0OiAoJGJyZWFrcG9pbnRzKTtcbiAgICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogZmFsc2U7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcIiRicmVha3BvaW50c1wiIGluIFwiLXpmLWVhY2gtYnJlYWtwb2ludC1pbigpXCIuIEdvdCBcIiN7JGJyZWFrcG9pbnRzfVwiICgje3R5cGUtb2YoJGJyZWFrcG9pbnRzKX0pLiBFeHBlY3RlZCBhIGJyZWFrcG9pbnQgbmFtZSwgYSBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIFwiYXV0b1wiJztcbiAgfVxuXG4gIC8vIEFkZCBvciByZW1vdmUgdGhlIHplcm8gYnJlYWtwb2ludCBhY2NvcmRpbmcgdG8gYCR6ZXJvLWJyZWFrcG9pbnRgXG4gIEBpZiAkemVyby1icmVha3BvaW50ID09IHRydWUge1xuICAgICQtbGlzdDogam9pbigoJC16Zi16ZXJvLWJyZWFrcG9pbnQpLCBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCkpO1xuICB9XG4gIEBlbHNlIGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgICQtbGlzdDogc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gSXRlcmF0ZSBvbiBicmVha3BvaW50KHMpXG4gIEBlYWNoICRicCBpbiAkLWxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJGJwICFnbG9iYWw7XG5cbiAgICBAaWYgKCRtZWRpYS1xdWVyaWVzID09IHRydWVcbiAgICAgIG9yICgkbWVkaWEtcXVlcmllcyA9PSAnZm9yLWxpc3RzJyBhbmQgJC1icmVha3BvaW50cy1pcy1hLWxpc3QpKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkYnAtdmFsdWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICAgIEBpZiAkYnAtdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICRuYW1lOiAkYnAtdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0IFtmYWxzZV0gLSBOZWVkZWQgaWYgeW91IG9ubHkgd2FudCB0byBhcHBseSB0aGlzIHRvIGEgc3BlY2lmaWMgdGFibGUuXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogIzc2NzY3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkYWxlcnQtY29sb3I6ICNjYzRiMzcgIWdsb2JhbDtcbiAgfVxufVxuIl19 */ diff --git a/dist/assets/fonts/WorkSans-Medium.woff b/dist/assets/fonts/WorkSans-Medium.woff new file mode 100755 index 0000000000000000000000000000000000000000..79150e373becd17941acb567250983ebab7d4c36 GIT binary patch literal 105508 zcmZsCbCBoG7wu|TMM?3WINYCukpB-r;v%9ydZ4f$Kko;l`eZr* z;_`Be03cur03b*Q07Pk0Cjd(+uBa>o01EkuLrVkzC|wXQx!vUy>6rikV8kDt!VmO# zx$J-qt@Z5y04N3k0DR@=G#`-7>CJ{NPJ{pe#^6tk(GNzcun@aV>`biz0K}g>z^?!R zcvu5^2!B(3N4uX~{C;A7`2PXX)XLoi03db)00z|oKslX4A+D zL&PexAM%Hr`0beL#j{pRalOG1KE@|Zbe_P{`Z{n|NFj!E@ zA0He5{2vPdxUCuL8R_ZiJmjYO`!7EA%;{pO;DhHuGU+)305jL&0ZJv}HRSXDi}EZ79YkA4;~2}%YA5J2%O{N{goO|JM_ zsVw4++)i^IrwF_fRV6K@2uYbo3TWb6F!0U8+MoOsnrfJ~jO48zZv6U7ixrLZ-fi;speJHSXYd?VShI_F zmN4aBovSK~D_rthQ%eq2M){8UVZY^t;OpP(W1ZJTUYT}mUho!&pSjMU6iDTN>3EcuX)xd&e_7IQm#MSeRdlFCOMiU;3`nsl8 zw#yfdvhk*!xJ%N{DJI4B&rCL4Nu0kB6u(jFc3N-+XQsT#Pb-K%T49g#uMKru@<+Ch z*CfO;AUvD?Ic_J5IhQhtJEJ)JW|+c1;-CdvzjZQp#d?P1(K)NS#oh~pnuZIn>y{Sp zPhP4-kEm_yrT*or!aLY5*LVlMCAtU$eJ5^C=GiY+Up&G>TT!R_ZOQ$(T@Cd|+UKP3 zp9+ju=a3OOf1f+9I6q%ljVD&x(fvvSLpFr)8>|msZ*{>%T3PXgMpNdae&zo{B{~m8ZiF4 zg#O73$OFbnui)>;p|W$Wpi!H+mAn1Rb$L04Z(B`bV7u?`IydYD@9;@+emN7iqiisb z;c$;J<}2{%LUb#67B_`d{jD*iAH`@3-UdyOm}&<^exol^VX#a%eH?yg!3I3%%_e>? zq)Fl0n}MqR2lgs#K9aTX@Lp>LV;)8aKSjrb)s8$odcjm#tJG%Ct|GKpQ@wPUVnwb} zc{dEc{wV6e4!dx(MSZzlyPYms#*E7H&ruqS*(_T3ZvxmB6EzQd?=)E$OU#LRDu#}- zaWdML=eiWF1H8=vjXRqAdTpp-C9GqNTkSss>@pzt1yQbgg_|W}&q-`C!>O!GcWMwR z>DTh9#I%jU8U5UP-Ccsp7lx^;3Uk>D?{uuMUX8X;Dgy-DehQ6wSdsQ5<@;XFCqg7= zyYJP!Qw=Of(~IfX<}vme7Wf9TK8nl}AY&}gl&RkRxD5%PBShUTPxfBP$Me1kn^!IBC znKY~g!!$D%EFGbbWRBSytG=vt*ECJZ)gK4Q zm%nph?p5mPD~w>pX1`rl-y|mAC|=9j#AQZVd8zszO)_nUvZ$-C58kH6m#YjnJVzR1 zT&fEvDB!c`_2l9bMx>3l-{7~3>9>ptSkpPuUE~zV%B69xKiT#es}{*MJcrx|T5suQ zj$o)@*IiPWzP#FKWTfD?Y}w{xGqI+56Rr|YRBzXVA0UE#AH>s|V;N1(F&o~)LkHSe zVp)5}zH;7lqK6o{v}ivL%tPPTVlI0EuiOTA z=5oF`xn-7kd8pYGcrEtLpL9BryWEOCw70;rt&i5&(*MNR{Jwzgm51KAwy%N6;Idg` zMq-%i#Cb{KWNZORYXqOGT=g}%aw_`EaJ@sfjV#sEQQWbV?b2(AY_q z|5u90@gshr@@-dlRPGKSW#svl33Imc`g1Kz)h^1lH*=6pw?>T}U(hj&FYLJW*-R@} z*bRo;-gAQg+jOvPFn0e~DJ1a(%Homje(>Bd`{pd&v*z}SvjF>3GwY0Bi{|lkhZKe5tb8K`Hgp;x|ddT;8)~66TA~Gam^)qiP6k;D>u9Tu+ zuBbxbBnUer?DwBBiEBKdJ`oG#hzE2Jw73{QQlRZfL}1_u1>n1*n;CU@=7y!Lrl(cc z+~%p4>s9`rc^LP-cPdg;vku^~jGu&QiH+OoQ7)Wht!Vc-I}+1T?!f_u2yV7dN$ZSwN#NzXHlcPqz$ zd`;@&&?TX3Ovlu=v1OHeLv%xQ6W_I{qoAX>qsudgd$nt`kVh~_PcDpnLb2b_y@20kRl%Y`HaF9ei51dz4sVS==zwSs=U z{+6w|s_B!tX@z4IX@GZ?CPh3Y3>K$2eR``Esq@j}6-Uk2DtYSu`YI+B_lg4L$#Ubx zI&5|8$|n_D%Q)8l41-C?TJn{)3n746o zitIP?C-f_|XBO84&rE$+tf&5vu9u#b{VY)ORrO;l2Zij-DZ%3~eP7gcTr|rSaS>xt z?vQMsp7Hp%BlQKi1Hf1P8Rl2v>;C8A7w$cqZTf_k2{`>7&-7j6cdc)tFYi~)(fJwN zcgu^{k>3OvUk^Pa^DxGBBs+<6lr>}Xcnf>&-nfA8sOw706#GoeF!wn3G6=vgwh=Yf>=YOmRA#PJbM31Bxp6J*yt z=7W7w(%xoMw(rEgDg3-t@fgy3^6OsJ^^D}LQubX}`mKnsiv9%FTh!CJq`SPqskyt% zk+kIiO_TUgwCopaPBjak)RjaGkA2y(9FilBJ1kG8eIHo~hU$!Cg+tD3>AvsEHOcf* zZd&%)>ejc9rg=%O1g*VfCFvMc8Lhs8lE`rSd&&|5nFRk_tZ}(?0wpk~4HKHb0!3hi z8=mbBEsMD6U_Q>9A%IU1xO>o`NDszkS2If-d(K`aLW+)($dPnS*{_Bn#dYwbAcPVG@&5uAUBB7|WLqU5~A;u&Iv@g{{ zJ7wwQ7E!6rK$Womk+d*>g2$>gn%?6OrTK4yQ zk|}m*#z;rZkxQO_yp5r2H~C+80niHazr*X@L{}jVrOcKD|8&DeUhe3VCz+Ub_C8UJ zS5u7GxCQ4DhIq?o2Hs$c=OMor@Qv)r#E1#Uh=arkE6NHQ$_kPH$^*gJwVo0Y_wi@T zib2;3qtlA2)*3TD=|ejiGI}sV-b)Yg(F*j}ibZHcBCrDicZ4yyrwMT+H@Rc!)&ozO z2{rxzl1dLx?(}c!46Jd(sdy!6W`P4?tjPZulhT}_!4!zyCeD}!m%wX+1%%) zBf@|~l0++?NU(SPfqCt~ws!9rwF@+{hedO&Ov(uJo-_=F7Ulc_Rpu3B&l4mnJ>rHx zj4&3T>9DD^#@a^4-wxddJua6(+j1DPVISOj*AdYg(I%wbcNh6V^?Vr5lM?En>XWi9 zZM>BTVb?%1*1%n`3gXOxTjPL9)j)u451e67m0`!E;YjDYTpO?)H*u~uom=PcS{K1y7t&H2-=hcNJ0Q!~$B7oASk6FKme88l zf16F^f1QlOuEYY}Kp9cXc~{SO*FXeaiv)c~dte9xsVj`AD^Az#zu|>Kw=|^7f$6(1 zzi=qgIq@tXeO<@}Q2@>_pbRg-O(#HetPk8XOo~4waW!1J5&35$bao@w*AAiN21j}y zO8QuGVuw=t&>mNw4p*V=rfDp&kcuFt?BhiYtrsa7gHIV-=TNYODzJh|0b5GZoJgjq zI4SWCnJi|uul}xHDH*ejM!6_KD}iOUUSxR8jFJ+mUTt`kf|59YPLNAV)0{lJsKY5K zXHImlD70u)L7h&r{=0u!6hr}ZQXRX>5yoZ zNz_T$I$`b7P2zV{X_U*heKmKVp7;#}u~9m$$am7od_R?So~15fCb{Q>I;`MA5dNA? zr+md5b`m1Bymyd~yA}IaUXDK#eZF8@^}YHyK1>qS!jcphiPR?%SBA-br6@op=PpBO z!NE>Rs~UIcfUe3?%N>A+s`K z>?rKv`zxZ2W^5;kE71~8=@saKn{2+#t z3Pli$L`z0vo?vnU9caxh5MUIM_QnjO5G=7q6t__?fEX!|k7eEe?b?JG8O!@h+D zweNX7VW{EB?NlIV$4mcP77KAgJW0r`6UOnB>%g@`an%^fUQT3*?%_RUiMFcm0VR` zI3boXs@5xY>7EE%!IT*4ZKmrSy>mX|+P<2^M2hOY+F!Q*hdHBglZm(Hvs#6zy=+Oy zRV*BHWY0fR&9`|CkFP~W9d}Cd#WAy+``dJE;ibx+IkZD$-*=2s0ru_4U%l=dhxQTd zv-}#kL)Pt>BD@&3UEYU-XVvT6b!WNl&yw80GA-D03a!PbE{2fnt;0JD z=}M%HqUS3}*r{!Ns@4aJUU{!e&UEs@=kxuO4ac_UR^YaiZsXr-bJ^djXbo~3BWuuA zXKGz;_BN&va4#x`xXG%F?VC4B_^BJ2l8{%#psb#kx2yp;I@Yr?8+Xf7Y1exkrft9J z0X@~HqG9YD5k&p8Ew?u@g^wji0VV8!o+@!6E06~OE;zTxL0Y;tfY~vY6VH$Lh@o{F z7kpbEKJfaC%=92fWAsMwAL^LNKmG~*`dIw|*hVV(@#kU` z?58a{)93XM2v*WjzRZbGLVm=Gyj-^3R%LrJzk?0Jd^2Xi4SNLVA(T4TxN-THCg}km zr$8$ItCikt_1O_q7?6+{>K=d(XXC=+!u|up!CJ}2<-j7w!o|W=TE%MY_44OH=Z9xU zr)DETr$y&vbD{fdhpdR1iIE5riIs?-2o0l_HvKPN@x$*1s1L*o!VTUIPmjO1cd8dI z2@&i!14o`f+@LJD2{?FaG*uLyKN1cu7qP$xYHBn#;TJqSco-m1s^~$?Ic|n71{_=r zJv8P3F%1-w1Co>htk#`jwKk36l!3Cg_TKzb?_;~&zu1)oC2-ti36%{T0|W4s!RqqA zx-TJ$gaF|@&oKS>_s4SJEbOWP<`m+TQEzXr(d{>cFeV}w&~EVe6s+p^I`M%Zm7fKy zKsn-BnhoO{)268tLXCe_17KKYpOcb9!&1i67D1(&Fpd>_`OTr=^BaajxhlunKi?c-UBn(mg9@B7& z)8J@y^mt+han?Qi*g5CeJ!kpHaK~@C=ZW>a-nw?(h5!KS0fzu00cc2|r7e=43#D&C9@@)Gw4q-289u|BYxrox?)Irt3 z4);wB`u0VZP(u%uuK zq5@s9onpDdnL-k!HsvSfz$mT}`CRY=k*PvoS(uU*6;TtHa?V=1g`{(-Y!SGEs-mj` z2?Zi_On;%nADScpndqrJ+XAEoa#PTnWMDB`vHg7coRN73i|U%fn#mdvc9>Y6y%|$R z_)#I58O~bpQ-SG>)M@%@k&}goq=#}ljdr4qv~OUaVOSauER13>l70~;naL^3Yvbd? z`aDEwp&A3a|B(JaHSA^#%aQgv!xhR4CKqauT*0YY(^lqTrV^$U<|XDQJLoL@mgw~n zyxef^K(0i`5Qmb33BH^d)jjT;^Ox*~poWx&4pRhX|MXgEts@Z=LPt)=PpvD?H_j=} zUCtrSWlmdk2AGtgX>9&j{%w1o`;V*Ffs5UXaNmW49mg0xQ16qk8F6`Ek(ZM&NaFr* zOanH?R0(p2Fz&%ouo&rz9nBTX_drBBj!~>{9oeq z0rbRldvpnO3iRD=t%>JfreI*A|BB)$lzu}M2Pg=~|6xI89+FAV1LYI+B5n)%W_h3A z;BmmGjm;(>Z8)epzC6G?47{U1Og)CVFMd7q^8OO@A^lFn7MCe8DC1OuPL_O>{{*uK za|f#gRu(k%FV*YP3k@knGIzob{gt;kn-$zEq?Vs2ul1K=0nG(N1E$c40Z(vbcE|}# zTm1S9_73Z{ zYMNF_TA8sJf6c2`RIrhx8kGupMXIrBo4R4;seuS%b((^f5)B1926cq<(B{yRfh$yL zQ3t731YL5fg%n)zlY;B1nt2kO;r@ydTjHc?)9aNMVvxwu43{l*8p(bl%XkW%TmhU)IAwR-VO-5PfXRHdus)ticU5{78Dk{b zKD4z^wZ7&+Ctr70Yqhi9^DqwLSl>+=KUQ@z@kXgrc577mM0sIxqC!&@VNCq1xa@CP zoVWjHz$nCBYPEZfj1G*BW?Qqn_48UjfWi){Gk~-2{I>&HRf6`v8dPNus?TJ{UCD*XlOi1)|2qq1vBYb88csG3VyjKHk-GaH<+u&#G@QKaf;I= zNgblx`FW{#JHz-=Kck?}Q0DF@5f&1x-InzONWWR_+QOyW#>{`Nzz9;68Wosm$A zN~!!iaIP#%iEi_%)4J`lo7da((naJ@p{j*YQ;BvfB|RlMWill&k)2FEq z6>rg=|DNxzu&ypQxv%zIqMfUJ2i{B`GQ)`0<&6=sib9YER$9Vr%eG^jgxkkEIy%TZ zKsI;r%@7J8<_FGppKd%uJUV&jdB=G(dEdqSkW2=#!^JYDA>!R@x%gW zt#Fwv`|2z&8(Es&V(_SeCAHy7+4w zEU$E2sB~=O*Vn9(1TqHJ3Qp)v<+;hTV&ZENc(K2GfzW9Ij~-boHeb_o!)9&%CngEt{vqu1}5&yVBvZx~!x z_`F_VE>rV$w_@VN@5HovgnX61xp<+!XrI|9Z8!1#$fp7yP~FFP9byOepDX!>`H%SU z-7kDQKVC*N50%|reWpLOZ#<7N&7@h`K0!Z%?nGV&zeqW9IICYlZbyy?-uaSZ&mCVn zyZvm3S}r4bqCF#gsNA_YfwE_0J3T|ZetDGmn7Fe&T0N>S#NH@=O7oAOS^7et%{?bzZfdzrNg`9*-xwf2+tS%Upg*zBn3jnR=XpT?HQm?*<^~3rO z^E5D{xMMvde=^CgHC&Q_NWRk(~d^K2P$hFh!0>~pvX5k)rCkqI;>1a}=$%L9`NP|#A& zT#K7&KuRf4ScAa5mJ0YcvoN|KuNPi#9Co?evXF2$`U-dAW_xaT9cOu7aUSP*(jm)} z3%z_pBM>2_%O_?DK!yV&Bai?Y>H|Rm>m=>ix`7iV&JqG;oUmYaO;VbUVo7n5WWRK8 zu=_r9@8(O5nB1z9=KT%|auxFZWhBbTX*HA(Mjju;kZ^-U8quH#EM^8T!@a8-+;?RQ zFN#d0IGByBSa36S9_rYG#rHLwKK(skH|;I!M&SzV+83vys@}7ADTM10P>1>9_8X)} zFc<;~w_AKS0So*>gq6b2cai&+1yQ+YYn;%c_b zF?kSm2fWM%AAh&L5A=w^?2E7Y5&72blxzENi!}}cdE##5Gvz#)qeislQ4#~BlWg%Z z8;M+f+p3<;jUyAg8Kr?!df6#Cx{GKQn#&Gk45>nKsnhesU_OMD>}h-x^ITLLLYq9V zg}`JGfl5>@*g#mO{>|Q6AAJqGTT4e-9T8HjD9LVI$CfsM3t53Z*Ncd&YdbYQROSwS znQU5i-Gf$1;Fm=UvwS?|xw+Yuq^_oc2Kyjx_gMYdnw@ql^X$yNmTQdiXr#ekw5CGg zJLSvP34d~GngFQu_qrN76SAvyi(IDJ z)zxAYt4nKh(&UiSyx*BTv@$VNS`*d2h z+$IfmG+j{jCg5vcvxd$-$hW~jS`)!p7*i3yv^u>IvhZ2~l_D@KIP`raBerST^x8fK z)3j1S}4WjfIwH%AAdy|Vy#!}3CQ(n*TCA88* z(j!~*gA+SOrjYH#ZVe4NHDiK>*$KA_1CBA>W39lMJT7ZN;9UU%&Sdn8K7@N(#7qJtLm5Ka8WU><=Osg8}nd_wDm_q?Y#E%frg0>RK5H$ z6LQe~CL5M21JNOGq#7OH{VgiVw)>6tcMyj&+Ek zD{vLj{Sdu2f5m)Qh-{w>1I_Y0gpkVx#3d44UY0?b{CpVfgn=s)+bCa8Xa?_FA)eq;Wl9M`I?5%1ws^1Bu>IhP{w8H3=7J1dml{zH4*08j#by|nFNv8fhzuL*FKC8@XbKg0 zQxFdaldoqT-BLcM40Jgr^oyI7G@b88DW0F$pqzOVEu7<@EF3n81ELf=9>GZ>`=;0a z2!7||5(GadY!4qLkCUGGau(cr^YaBq*miSc5{wI3qPD_l7%{GSwl(LKt%3n%R>7b5td^Ik+>4O8_NQiB1 zSDB9z?`1q~+==#{T2K4+!twD~n{~EzkGm%vxot)sX*1Ct8FS@vb7x*E@EXP4XroH1 z4L`YqT`He|zU9*z6$t*R9YVPppsZ1prBRgK^}t?s=9QQ#2b4n;GkZN$8ur>JBxBT3 zu5yY7jw;zip!B*`NNOlWJ|N4DELK^b+x%(oE8*|2>+xmn7O#q%8B_kJy6OIa*L6+V zoK7-~pPQux*5yS7R|O&p#)$(jKZftXmKK9U;Te2ZFT zB%2BKx>Yk3&P~Ev*x>I*47G4<56GC$dCfu?W@eaWyy;KJ9FFqjzw(lY_C6njvKt*H z`15Bxe6OgC$c*fW%o>5y0Pq5trss(15X~>2w$i-f-3c_d$+1T^oKfK75Cd)tX>oD? z)4%yJe9JA)9(5GjsPlh{VKblUY}kiqbT}&-utlqeB!+WaFqaPtry*RB)HI`F@%I+1 zECnq>zq!)llB)&WZQX4R9c^75j&I9E>B;S}U!pt++6QCTl3uTs6*NXe5t~X(g*ZphLcj_>XF;?Ua9O z5ZLHlMoFn9oS*o|*=$}J+gXTD)qRQ>iZf;HQ%zYy#|(cJo`;_GvsIHkqc6hnZMt3` z+tsovnpNo(G@HcR{>kD)J2s%ir7Wp54H33(Ofpdq}Ti*t3*@&%Vtt}3;{d3VL5K4MS zy1sZjv-G}+Dw`g4F8x}2fWa3gV)XIG76=t+wGS;&8TEM33pWm{bSjLQ6!v&aZnz=9 zm+HaGQ1=S$1jK&*3cvPJ=%mQ1VI4FOaZmtxrjb=(oDfkA8E$SD*mBwo`ES>8Dv2mV z)G%j=Nk1wzwI>6y)V!*qGSsg)s9?L%30$b?=rnfZ`BMpOv1~x>-b?qh^n{Pz?Tz(q z#RiPR`o2-QYBQ#eCeJR&EW1wXY?Aeo+fp?L7bU^ ztz=q;1{hn|I+jBTq||QD@y)Q|h=XqvF#JW0-D9y~E8jD+6ZrO%K+ksmn|?&~^9g;j zH@isp$nLMe@bwWVT&J(!okv0Crj0MaO_`^yvyLpo+9axdW{l1$M>8y&U81FsI0cze zcEK;6R?-lv)8RlCrPhVb=Ym;E-O<#iEiH_hP~K6!s`Nmefp>9zfhYRV{4h6sa6Yu5 z-(WnVxAZv!`B1>|xJ@*PGA_w#Vr^!~;a%(M6T zN17f5PK7LHK;lkpPA?D3?eqQ;vBJ*#X_`c{gH`o56M4gqJlWV$C1%G+E!cr1iV7@x zPy`S8fkPWk!?2q=9(EU)kJ!W;DLBr-;Etg4{Bi-i|IozepnY~RAVzNOU05N6;H)U{uR4k{at8yHSjbAhtgFW&oA);@(I&Hxeb5E`ifCL)tY%0)r!lQNh%$+CJChkK`buFLnDwBvVO>fm^%S= z7fVv`PgqIpZi=0;{qdbz#L^4RcB(7GlN-N%mwOD`Ilg;0Q`OPiRpIkj6jCE^rK<=z z)DFl*Q}Cu((6rI0PND}q!8mL6#b!mdyLndi&qwr=Fy+&~9_HHc_AI~j7gMi_J%;+H zr)~-c7l^!+d3xD6f+Tn%*0+?Zdoxf@k8hXP*p$8fVg%hzUXST{VL*28&x-H429KQ? z_~DJcR!F=3OYKqW0l7U9nUIBT@C(goNzE0}210JK={R3OanFiPFD3y9ER~_QctN(D zklPX`>C$~sY7C-3e=6kUnJaREAZOjCP4yLF$Kdlm1=C+_dNw}`AmIP&>b?fpXJYz_ zfIM9OdY1@RCw{Y@12n_&;-R80UWnP48k5CMK+Iv)$IAbaco_Y>6&`bw5(4c2hfflet1bPT&!|LUt$526-VIxdqH0NVR`f;)))|X(Nwb z2r&KoU{DbQqV7MnNB$Qi7zX7GfGV|Hx2|AHf#1r&=|lc}8Ih|waOn?Cwc!f+)><8y zlAQjNlYPMSsL+S+lJLI8jv7qu$rlgR-10--;=_H}gVWcw96t{wdVO8*KADqb`vM-v zdGSMKP(>V8U?QL+6OpGz)WRbeC>WP4=x-?}#ZY^JNSLFLv0NHchO_uqGLaSY1fyO| z^RIrlknF;+9r-W{g#}YlEv$7?IWp?WBv*HFjE;kCLt+--rd$hzrm&lbKv5%5xZB|$)*UccM)+zzk* z^Ob07!Y}3N4!-|N0{01oMmXDX|Ih%2IL_!(-{^x#%1A7wM-i+GNYzs#7Boz&UzP5P z1lwn^qHnhA;>QnDZMWjb!%khQSdy5!`!SlB?(b0n$HeXBc&p#+r6feUg+1{hI#xpn3o@z< z!aYYUu|Wn)=~nS^6UIlAd(75<5%5xK=2B4R!(MGWG*kTmG)8CQ5~!9pm?DX$gdBE zUn!4JB+Xd!c}f4jMPt|x)8=3=DAe^rGuSJo@MdqSsUZapmK+zD*wXAh##Tj^oRrjjFW71&ob7gNA@?>A zEfOF1N9Wpfu#d&XWy%Cd4t|g<{?JE!5vT{o)yrCF-?I z(yqkFWMamC%Xq~vH9jaj$IIYjK2F)){l4SCk^|RTejV#hg(Fa3Gk;j)u$iFr(0=wGzN9r zR1WWh6TG$x?k)mCrl-%`pDMd$8f)QZWnRKmdLVUdLJk(V0V)KKXn=*87!zUECalu zT(cm+!*XxN)*0Yhr17O)phlYh&|b56K;T!D>1lJJ4V8I2axKlZZcEZ7$DF zE~vJ9PjA&+`_R=4rrCC4dBIS(+Gjh=Ng&hqHE>AZv7*C0^rnO9T(CuHp|Q1W%Fs|6 z4XGp^)vhM;+dS=njJIqyf9#C;T4Cd?gMMw^7K1EjgY@j4dv|qx_8e?y6(9H8B*k}( zwlSo@N^nigi@_Iqb(Thf>)~E8v5%JvxmdBE^Jm?;k>Dr9__=O)ty{DAcp4vWUi&OfoE)5zICmirr3l+iob@Es-g$1=#R zH!lCql8?86lDh`2b|t#mjdeW6@wm~)WL&N+zA_qqYHk7C#5S4e=$10dH|l96SQJB z7Yd>4`jApq*W)%)y6uaKGnMrkcQZ4)nfcu2&@*_nao&4+9E0}`_55g)|8^qR#)qxy zEkN5T>mPXS1@nmYo%B9660sMm^wA2hJF~mpyW@0?qg!|#=38!U`O8{xRa}5yCNPSn z0KToNL<5;Dp2K3WL4{Y|_|ib>yrvu!p#zB>8?)+89A2l!!imDhRh6f&7!YfGZMKQ4 zi@VCSw(&hR)HaJ#no3}?g5BxkF(6Is{e6`!%nnI_hqF49dS(vU%z0Ms5(RITJhbC)JgH3VFyX6@>-+GHWgmCzaIRXBe21?Dm+o-gwwdYDz7>EcwNEM z6=ieaWEy6#l3Rry@_Ei}S{OyHv2V?lk_b(|9zF6>8$Njk(Zs8r9sU(SX+n`O5e zET8gdT@kLbS^_>5(JA;H9Gn+ zpxFLkgFYa7qe;Rj(${p-@H9TpH3&`X#35}#jE<_7Wn=YiR(wwyH2mz0)A!`lKdE#P z%&C~23HJ})`4T1%0DZNAPLPSj=(nJM;AsXz@zP`|O;bHjdc8)E9|rdxYNKJR0tueX zlt2iqM~1iLGb^B%I{A^qHC9(h0?X`6y$AOoLoJBW7*MFLoohoD+Gbc;CU))dv;uT`?>-lFfMg~5 zkf80^sDJ8r_#)5sUg4f-cnu(CZUJ*=IPEW9`rq9NhONQ-e*7(hq4`hu^b6ufpP}}e z__FW5D&o|F%f4AH-Y%0Xjn>|x>&RJ}95GC6`j;z%m2(I`OB23YUyGB%QsF$(Y~`GO zzKPS$lHAsxA|~mSEoaqFZSEGXC2+deJ{Prj+Dx?vZ~Q*?EsW+CTeWQqAg02VF zVkV`DIk(|RjE7Gq8~wCBJ%`Wa1eRuQQFwmG%^U6zUsRX$fVCSa53z)}LYG2{06cz4 z1ap(plXy7Z-GWk5It<mbaWBKk1&~ zTuO|C`N+$9P~y)gk?mcV6t*HN=`adA$rD0!y3(T9qS1z6X?5 zKSA*LFBLoShrboOO)^z|M~p9BwU(gmEu{9OsW=2GOq>V`7rmjYFsFRbj#*3>!>sjQwx)Rjv3WhyUaf@$PJw3^d+@Fr9-KxvvXQ!@y%RXph&lWiO7{Iwxd{HwR@LYmtQ^*MP2=d{>RPl zkc{=cd1VTAue=V<_Sm$`B|Ku~v8;Ttpy8Upn;^^nn31OKZTG0yzifUb>8BP+xVht- z$_c6u!}$PW`caEi;YtrnLpctU8Bo(swF4)>ELW`Qd)u!`?j~a`1Pm+69_flZ7*p7C zk?tK@QPEOT<5{%&+4~sF`?PY|FFgKkQcd@6_J^Z1AiBbG` z{mADIq;;O?n?3gNW51qp-csGVK-hI_*e3{zWN{3{=IlBI}SX zc5`4)i7ml=$g#5Xmmx)##LYe9r1f|yaK1dD20q(<&>|{bY(M|?lGZ))+4<*}hp!4^ zz0X~X6nzKdV?Z)nN+@ zsT{j#ZS*&SD~^&$uzziTx#pnLg8v~MY&O7LL}p5_7ZIlPkJHQEtRC#TXnNAnZ7Q8p zpSs(Ce60IF0B}H$zb3;iv&MlCH9y4%eZl$~f3W_n>QwxRufE>r3kHRF&{tDeSK|vF zFZ42Umy{o=`924zpB5tVMKdfn=BXiV_=~PQk`u;!$561=Pu#RvD=fPj-F+vr@;nh5 z!iz+lPImK&F1}48y=hUh+RP^{HiI;_@#e>Fza4C|)jKJ5)%YB&aRUGGHk-U~H;570(f_-uZVFT<{!WnWGSB+#4x0@5Nq5`7| zcZJ*KwA;)^NhC=wJj#+u@pM0uyo2F)JaqB~`?6_ZV7%|xncQElSg$=a&^JGiKSUA$ zaT7k3yO+rx8N*4?+aw}*iEHjpz~GFyoQ@H#J|Mmg#u$Oszd;^tsC0`)fyBuTuzZZ5 zfQ<&QQcU2mple8UXpzP0sS3s@9-}vJeKeF6!4We{ndDIpat_ZnSd+2^69sHEVp9sX zwa-uPHuu^yZK0NE<&$@ky*9@7;r2JKAIkl*C2%zk%=~1sPB=c?JKPtq?n~hp=#D$X zcH~RPKKHiSd13R9|6!5MmCl9o*~#~$VGaBS6&}>V^Z2zo_+ADlb`HP`&*ux<`h<)I z-lw*`sI=9{1zK$s?*N*2p+2-AZ|?<~n}lSoBudyAhm9mbPPQh=$r3ghf%<05uIFgU zZ&(7Qw#NWG$aHtK!@d&cTN>CnFDsYxm>v9T37NrY3^@ykmcPujbs=ldWVOOpUMfprz>=$ zV(_{W@LC;wFN0H=>|JAfGo0fp&T9$|F2u?A?-QCd@IJNe#lp6P7pnoW2YAtjo{_x@ zFQV9Jj)9y?lRgmC3C5Vl;*2pbTCmwXM{ajeqhgPVoWYU{H_7$*RIHiYQrNHdU%5zNTS^&hx=~fY51xK9b@?$QEq=MtC`NQelgxgtPtY?v$EvFCgKPh z$aPE|z6L2PSJQh19;uRC!n7#23oJ?&_?k)JM_R`{|E!(K(?9&-rST&3QF7n;d?b96 znz#LVpe4N-Z84j`a01s=AlKkUEQpiqk+%j_J1b)zO5S`bw?{w1_tLEH?+hi*eda(`p2*6or+6E*O(8$B~n_#I}98WQAkq`$@iwh3y(ZThV~ zUAUCiINO!RpUx~e25eoOU47d$yGnu6y?lJ6cPNz{?Z!XXuA?>H_YdcesX6N(5?%za zdz);jDKC>Gww78zV7!Q@Gf-=Fn;IAO%N~B~jgeb{XJrTcJAeZ2Sc4+WG^1Q^!SZx- zmS3LSGdi=gY|sWyLLW^#Cu!#IIDyld9UUW?!OqqVJ(teokH7syZl_|Ciyxx$-c*=h zu7hjx%gOvyxF)|G@ULa?5_#2x&r87P2JlfoI`Kpukfg$eO+v^m7);d06DR!?WYmJP z3^fb}h(R(Lm;nM(VKE8?2B4o@loX9d;p7@zSZMU3MP4`gn;J1{ZEj39CCNqG0F$H! z++bZ_lJW@ v^Mkbj-YI)-eiRH|1iO2?1hGBNt)cYON&*J9(NkKS>7taqTRZM+-* zt5%Yh_iZ}h&ixjf|6=}_@Ts3DJ{qMJrN0u-XebJ=Q{gT`TNN$|vs51YRv!@Nz;9|J zne4RzBRMRDbtSQN#d8UEim;$UL4S?iN|usAt%s7yJNoeioj;9XD4rAXOzAQ3=&kP+ z4@%p!Gc&=-vFy?0@Qt&-a$X~jPi>kGO^@$9)H43|;|CThs{&Q7!G5{Ft|eOG>6^=p zUETAIhOP2QUwwPrS(Ta0j9*1^3h0>W98=vSz$u2h6 z1-lqI!)WaSmh-suH|ZRD_#8gXZJ9>;?Krv17qC!X;i~FTtjSR@;O|s*2iu2Z!wzSiFA%Hd!{>5F#;J~9 z!e3PE2kC1t{yGu|t#jEeu+#B4C_e=v`Wuv5$m4Xmv?JD^0>QGC69j=@ngVIPKk&1WKVT@*3<;ae|Nb3?l{iT_-cpT))H}pktU!Tu#tpGvH}PvvNV#;k~BeXz77G(m$6dOF6i;QUGh?Fp7pgg*F)5KK;`yG+w6~6w?RHQZg(6k!w$!S1GvyzQM`OA82HOdFU8wt zn(HO2mFTW!ga?RuaMFM^wMf>=`GMTuAysQ_n+74{ycqOp!7wB^tEyNl008c zxv=%<%b3!}8yU}BSu6b=*n);7*pih42ocVN>&d23?kIf$_AT@1FG=ySx5^`SPxcDA zr10P>dT(|RG}XhhUw3bI<6vv39+;5=W*9WWE*T{vv`PiDb;+94T)ib!%@;l^DeI$h zCe37>-nw0{;MrRy>(>g3qP-;w3y-e7oO@-&R%m^O-qjsN)9A~xi`>?O@*}RRGh$9zvvr}cnNmz1#dS9>uwfi(Tf33)9En1tcc;l>G zkI<$K1AX0HWJidE-s;8Qx6F%Yc-=Nqt4&w8?X8LZtwrt!U*Qrc;xpuQKEu;0{8bem zCq9w_XL_wjKWBCQoab<(bm=@Q>XWSM@E=p*7pcA^zF8gh&3eG9J1%=idYEt4)*={$ zFcu9FEQu12!Pe(}H6yvPNscWSh$}4}gvGjt#1L!A5soMwDuzi)ZCe`~V=ds=k!-l4 zj$JC^F`9~;*j%}{hq1vh+8OfOYpu@mw(9i8_O>Sb<-ETwFv{9=jn^lUqn(~)^FWoW zW!=49Y*cCark2LyPXNA?#>r}M6!o%t#J$Ry9pl4uYTFBx4-J zxjtCqC09LA5-08XGDw-Umi%7zx`!!Lr6D~~-JPN#OHrXXu;!&L2e*to)!WuI;@nkn za<+d@b#QObhJ#&#ko%ChZJ@Q!y~BTOjZ{q&xd?cmL=}?&sc)c#F>*4EQ31Zj?TB9b~x= z{xvGU^FYr*;YYC7)S;EHm`T(dPpa3`g>7oqR(48rQJt2m3l;pF-tW}imC4H9N;gKn zYIj{_ot>8FK`!i4F8P>9DJk7O8TD=_UhK3j*%^!M}{XSt^LUZ z!jE##HKvA6Z<{+cv~%Cw+}_36*}WtVn1Z>OK?eLJO5&`5btGu-uVtr{D?JM&=In9P z905P}ueraL=O4SV)|@@+y~feoHa0Oi+BIlh@|@VQ^?F%8fpgPC4Q(BJc5L6>nGB83 z4V|8wJ3U0@l#YecdoQPVtSJ0-72Zh3uD}fjp0`ZlDt>~&*Yx*_+TVE{{Cg_=H3H|c zqDwMOTYS!*4bFiIm$*6!6}tXI04EvRprfiO{yGgCf0P~j=`0&p6QyZ)aT3ZPjA1azvXnr-p1Cx6Vq)Y;jLq1 z6I-o!ot{3?AFba#-aHuW>WH+}^;Zr&vTx6OCU&$;w9f8?eRl`ZafElz0PjRvS>nuB zD$50jGHxx$$uFi2>66PhBv*o&KFRWKyT!Pe7 za@eFQLskB12e2;i`fL@RX&v|E{=7JEg&#ft{H0Jy1~XZ`4(3blzQ5}$)i%LwQD&Pk zV3GKJqQKn;i-k)iiE*GMlU0%0=8~9*)GuY|R)yigfFJYPIbKa=Vvu7W_Sp;MI2}o+ z(kYUVzMeck_~6RSOi`JB-=+fxHeGsNFV@_afi((i_o{rZJ%#Vq!ObfCoU|S2#Nk3h zxIqK|wF++}aG)#E4P~GwYfwG8_voz>M3&Jghz8*>S<(3wUU=`Z-d|toswlS<-g_*v z{fV$UhT?IYoVZ>dzHalDL*1~yJz$y|>>P6K@Lj(xvk5#5Y23=RCTwHwdK=%y@R#Jl zfe}TIl~Mh-!u4Jh<>4==@HceuJpSt{yitQs^k_?wcCV=I&eNO)iNc4tKO9BP=##RI zNK-f@m`zGC#q`>Mffbp|RuhvrJGNN3O9ftnVabN6F-NOsmkK!W_9dEvgBy?8ZH*1F z=6G|k*6*uy*`oF+4MI5dC9%ZIvgf6InemqOImM$5m#Rv0jMFl%p=E;I!6~3=nTDpn zr8GqLZ}1;GU^O&tY`)cPbE6Z$_;(J zq^j89K<{whaH=EO)({W&)b|tw7+jYNFkGJYKT;~eyWP?zO=x-G%0#lOGZ?5zgpGdKc>PjYT@GDiVkIP zdcQIXQf4N#h$O`)E`{qWiW|z$hu#f-KwoQ09n*8_m@ZJg&FlsT*bP-+af97Z<|tY( zA*=TZNPRND&s$qv>#DGk;wrp8S-xIE-irq5p~Vuas<3aQLmTEHAnWRnb=;oFp$=sk4yc*Q=QO z=)re>Y-RuceRFcK(iU(vwc)eda|iIpw{M=@UOif^DQ8<&RL&6_g@ z(P=R4w5D%7*ckSEH+8oS4z?u+2b;Ie#M(bm8=IXT>rYQ4CVRu(R(o?elybE0pWIj3 zIkFuOw{4!dA;xga-bo!6)oUuxuUZ{ zuo`?4oT#R$7AI652MMvjBLmv*(^uPMCLE?f>*Os71(O!8(29=yW;?IIOafI z+wIC_1V3Zm2)W~67TAL#MY_C#j^yD|eUy`%c6P~eWNl~K9>6wfnVgV^%gYd&pPg8k zT-Z21yj9-X)7{?M+?0q_RhA8v4+2>nVHc?Tnr5s&NnDrZDQ}o8;45SKliN3L*fEXc zu~@=d$o;WS^F&&52~u-fN|xfj@WO`e+c$*U+ryXMQA`l3((-&L(mKALAW%KX)*sQ| zcX2<#LTytfBd@^bnn7b|7T3s?25dylAR>lNpJ29DVml4!5;+-h2w=FIjM#LBq}&^f zCSu{3MXQ-4({2NfS}c?aB&IKl_C?r#=YUH#8`VN2;;Tprw7Pvr^VDx|HGuK|5bN|6Yp~!@2<}zV4kR2s2E8kOPsv-bBxrgMwlB{+-Nku|QoXe6-Yvnl#5AsARBkG+2Zc34oM`TAa zdYtnsH9NY}J33be+d@N)!jE#_Pc}Es59OZ5;fdbhhQ8eESZLOF3^b3pD*7zFv!J$=As*auX!wRKpscA|siaTKVHY){Ul(gfZS*I3S?U zJlGlm8n3vAzl}lP?ppl?8K?LpgOhp?=smCx(tPc9#ZH+AyGz@aKJN^AkhqvX5S{}K zSWYNQ;<`#kJEog8E7)hp$X;$QFLSVjJ)`CtG)-lJ8NG*`Wrkxh_lmGNQePhq*Vjk3 z=j`|_;`~Ejhrg@uam*KgkK^kr_$+M%W1dCiS|iaZ_p?|9qWS5o{{`>}wfz|U4Gw<^ z;GNV@X7KYI{y4yEH2vfV9EtRujymD5`MVo?SR~9xAKw5Xi1hvkd46MFO-Zi?ApJQ= zz_Rv7S=qnt;~ZKE3KNwn4 zypPX?yv^|*X2-&x<;*rMS9s2OD;W9R(~;FU{db)Fo4&un^8Lxe{JMrdXE_|UH}nf? zdo%c@)s>?3U*-5CtBv?&Qoo(`k3WH36kZMgdXui}``NlC_)XuFiTvSJAD6!nIwaeJ zRW4ByiS4F1cL76QBoUQJNfHi{Q@lMS{#t`1QjbtLRDeb+C=!O$`aPBQkR!yHVJcvT zSo{qRF3KIsTO751o8RK9&kOd&=jpQ?L{{_9auC{l4@NOcY0PMIfy$b&`nlCcKF^jv0$d9>&R)|y!uwi9=cR3P(>_Cs@b>;Km2v= z2l3f8-vQddcli4Jll=PRx;+DW)<#~`u!8d=k;fsZf|aNe%D>D&9vX7fH$$+AxXYwu zr!ylof8#qhKX%p1%75as-^%^qH;3*9mEL@o={**9kf!yEouhRUK5PDd(q zCYI#Qz;dGX@JdoEH9YiH`K%XiTIP{Y)P1Z28SMyzd4& zVMn-Qba>ys6?}gGmTxIjet+-2K71(m6QszGcnEy=7~1(23w=a`pQKb7skcrqO3Y80 zO$L$Q3nO=8=jj?}MS`>WAF>zRVkj1IM=E0x{(@VI9fEs@1f9{KvmO==zJ-qNJ>H6* z@lgBru9g0lu4(wKZlD3YG=g&jPt6s<)=5{=8M>2?8ckk6!R7_fEEok*^Fxa;IlhB z+nD7O+1gvTp*MGq*)P-y5RHdLZeoJ`)Q8Kyn0%iU5k>H$u=8CptBPZ z{)lUyP6bMK4bhSljgg*8H&wcN`aL)@rRZP0fm4#svr+7)d-NCi8!Ib({=0SaH|yy2 zoJy|?gkC&$6$QGic~>R-KYCZCWy^`-;S*c7oRH-cTSg}*M@J_naE^s0+3(x;?AWn~ z{FjddMk)WF=5o=Zfxn=_-_XHdQQ_z5xfP2uZ{%kv>yBrNkddD@yuj*f7S+~`dJ>jA!?f>E%F8GJ+0BIc>^EX_IQ<>4Q zlb;unH(VZ+%M0Fc(d3_!XVvxjrzIsWdHJVb3I*rlye2?j!BI7%&gP-ScqjafEyB8c$;0F9hg?q$z3-*XO$Nz4L?|!$$cfVWYyU(fk z7jRY4@t-TPH?8X6kE!sBI=bJj(()psrNIw>7CXBthU+Veo5<6ho?U%pHOJ4ca_ZUD zD=?-Cm8RB9%A8-}bNfk=efK$a4i|KD_>4NP3+f!2Q3D%SgMJQo72?twrq2>wA^&a& z!#%hL_o9NUyfFf*9&p7EQk%U4^`M>dybW7Sk=lSLkxHQ!BuW4}A3?3SSMLr6P9Y52v$%@UQlI)Z2>PnNm)mq!;NqTbI z1;5m_ju%IVhDH(3Pi+$hfd(XB@yJ)4`utRqw#zJ8a^%P=^3fE&9qjoeYRc;J8TB|> zxw6uYc)lWh!WEA=>GL&ti&kNt) zpX?nvHMi~bP^vNaA`X&_uKlw!`;~d{yvt#EfKP;lgx48iso^=-8y?S^Ef}5nseIaO z!SHCVU7Jv^(zzTL&{+{M^&KD`ooU>qAa7KQvxd&@c!W&E;MBkJl1Vv5t)M+swU8!x zbcct#7d(c=bHkGpLnB)^Kab@JYM^@LS$b;}!AMbNFSTXM_4K z2rcBneZuUNnqkco*nPlJF;~p zu(fhaLr1zUadLD232R?kZtSS9b=R7!DmHgFZfs6>3^gPo0e8?`T{hOfIScckW2N-? zHP`btIzI{*|CGZM3{LAA+R%?!owXk+I=Zlr*L8h7r1tT;rjKv4KE9prqmj@|=>rx= znWpbo)V|NFeYkEQmH* zBGj+^!wCQ23nNYn?uimQ3A-`qERoy~qqm8-v4vs8)N$tSQPVou^c8!)mPiY^nInUx zd|7O8io6&##KWPw0Bm4xT39oQlNP;$u8LX&tW{N$@V7&h*N5;2hNff9*$v6DifU(5 zG}V7kpP{*bXuNBxe*p*A-Uu-@; z)H#=InCv2^H#zg^7hXgTv_ZB4F^~y7XeHmosRX09O^KL?pUSysz04t5nJ~zK91$8{ zO*wfk2_5+C#8h8Rxyu)d2?LYcz0+lh=1b2}KKei|9u?jNwtJ79CN8Cwez(daNL$H^ z-qNDcAkgqUx#+@5)j~rs^_}imM16}xcTI>M{AE1&{>K~Y0|{rfcdT)A_kjZ|B!T5z zG~z6uuJn#f;lTFObq^|Icnro6B(-w$WAN1o#;sNhFqC?}hsn7UD=%0$nji`~-Q?vj z7!kct=!xiVUnFRTH5(NHdso{p@hdaPk|H$DKrRvv#G&uqS49o?Oq=g9E3&%vI? zXp{p>%8#bxtuQWx9at2~uq2A0{(($J`oy{*7#A%jfeugGbl;* zUJj)dfs{wWXacF5zVu?<$?^?{O#1SHqfoHHPyY73YnTI4`O==S$+`zm-#P zghHGzt2nO~#fcMIG8|3*eqsM-OOD~cI1c!1l{yTypPPjvNa-KL4wi>Q|AJXZD*@}r zb~EuI1@oG*Y1^JH+Lqw_7spY?CKMUlGipBB3X37)6p-KpUFN6NX!${}W@XS^M_P*Z zppvvzLvjfv!=XYfvPj(I$=2#BzD(jcZYsJ=G$*_~y{2H@s0Y2N&P}OismLNy4|~&H z$wBW#vL#QGkV>~VOVa-t73V@p+I~W%?FB|#@R2)Ey^gl{iF!_3kP3n11{jfFt|t2> zd8vh(+4Kn0>8zmVT`BtP3;ytlzdilzjqhVA7P)2iE{Zq??d_ya8maWP_88RV1Px@M zfoSN3cH~aEh3}vG^yyn~I{m2|PTst7Gwtz)9O?Nqz9)B@$}a7j*nNVR+m4TG;IF9g z^E&v`D*RO)Jm1e*0_X4EIFvJ7>w0InE`EkfUQcDA^u#A_y6GKX`pRv$-2V2bzlhI1 z_0;cIpMLt{>$G3A+9+75?rxQv++}94EKKx7oWB3Sj>HeDN8%pj@kH5sR-$4w5h2SY z_(MC^e+g|LjSYBx(Uia0S(X0q+pen(E#tG7ez>r~<(#h%v~=H$-;w+F{=>j$R=XI! zPjyEv*E{8FWQF0psN$S2iSuO@=T!wqD8%`;it}30e&U2442SBtCyS2rY{@ZvpW~2w z;XmORKT&lY!+AjM=VHlzo>6fw6ylKks_@&-fo~4>1`M!Ct?0FgxYl5`N7(~L#7J~f z&ZW}sjEPi@7fqRzC-v&!!jJKvzB;h@ldae{By8WB`vv^Y;!WfmR2CE5&%9U^{<;qS zJr(|%0tb8I=ai-iZckjKv2JqyT_yY)EF%-DMgd|8I*_|>)V&ojD@I;YhTt9m3s%?1pv4iv1 zwNEsKdMe$HM0F_fsTJYZpZ@fxrbTd=~#(%xCf2{nb@hkk6t| zXKC6HuZom8-PM5_Z8po#Mz_?Nj9F_mDFkRP%ga2MrTp@_Eaj*?TA0hiQdu+~gJr7! z2FWv1@>qm6O&*JYGQhhq`1N(D3Ed*wYixqSXpjU<--PAw1{+yLxhzdAqjb@{;<$&{ zf^kHtMljJjh*`O&K1eRp2Ak@e{64Rz++jANI$UQ_9*JeMNv{bBRT_0cp;+HF8!XEe zw~mchZR;7ix=+5QcX)@#uz2Ump^2@-BU`roV`x)f)#17E*@o1>^|Lc42huGIxvsn3 zfjf81&F$E?WqKFLGo3q$g9z>Xyp`pEGWf4m`0G0OD=PdvfrHdjxM+sIg;5*&plq)# z7ffc0nLL!ssn~2$i!hVBPDXmPMGpVyBH)MXRwY3!na8FJhBQIzw8+Z!pv}QmX=;eH zMcaaPev-{+mBNN_{UH$Su}s^TNguDPV4Wfw0liQ)5lc!MM_hQ zcEIo7r1?QS_i|hD+{Q)1N z*mfJw6{T*TNmA-w8`boph!bA}uH3{5O(o*rX~~KbiZCTDRn!8t*-4fEP>sdZ{f+H9sJGbVNP%E>*8gO)NuNe!scm7^>yEm^Xm+*`7Z z**wo0viF9_1s~S93@cdzP4Sr9MWnZ-Db^luC#7TkHLj>TT2P^~qM$-0+eyXsnQ@L3 zq?{k$FwZK#9V)>ZT?NWZ@e+(u@3brYAh{axb@}oydcJg)t~HsbZW*JlL&ui(QY9x# zwv&5GH7UXr*4CjiCCr#oj3u;iWqCp2$}3_9K0GsV=)o)E#v_+y2GY=*)uT+IVf1fu zg<6lYqXj507Epfq52pO`Tc`Z;A42(bS2*N$_xE-Ur-$2j2xaBUdKkQ-8kObcwk10z zg(ls&tjv1Q;SyLT31d+I6_lzh*@ZlI1+DG&dDaE3c1f?cv2I+LWu;{0w!Yp3t$QgC z^^W(Ar@K;}$<}yJqNhmh%gW2vzGU%|%W?4~Lw{R#-^d0^u_C|2w;&jSbJfnDVR)q$nT zU9QuPCW)15SA_no1GR=l|2j1+F4sCs%2*KgAymk~D=K4Al#MU+Z=K$MSvIQGD@rkv z@hQ!75nDhj{;HsMMNbrd5OxP2E z8l*%8sa9cGvR4SK(gown=;eE`+2&a{N}-E6-j!N2WBf{LW?Zft;8jDalO$61W;zE` zgKe!X%?ZLljKvDxhoC*msv_Bs%5OJAN4*|PUk~Ct-@bb z;c?6Rwgu z!3!=_H7~TO#I4jzE0|=7nb-l1rqm`AtT^*$2|8L2TaGA&IZNUrA{#aF80P+1z~^yO z?>CC0mbKn*ks6)r`NLbfNkvXu1+B;l!c*Kk4rY963C^}5@Ag6;jI7m0m9B4U=`D%M z{>b3${1De5%aaoRDz4#iZN{7D)IKgy-jKYKKN0>2cvFw|%T^4$D1+YwHKIT+mI>Fe zdSc`hIjde#t>r&6vfHTy1Lc3tZkyDj`bsddBP46Voxf{RMJw5|vv=jDNyPa@gD=~i z-q9Iw`8@XWpg%J}FPg02v-9n(NG8vN%}e0B$g-BYRt8dahh*+y=?*-0XrLZr8zf>wzt8zT7>G^$|8 zQ&BW^WPXpuGu7VE)zDnu9cgWibWh{6yHg!5pVu&B_E*hL1xleHwUwpF4J2^lb-k5Y$| z_H&ePwo& z{%t(dxA$z2%I#iqJ8eKzppRF<- zNDfEot4+RWrFmqG^MU2Dkokbj9L(pjz&vd*&-V#au)K%l{wiRIx7;eilzV! z*r-RC26mEwk-vthR$xXwt~b(>ynGhwA*SZ7Fq3FB-agSBbT)Yd%@tK$AAZ~M+VE2K z=5&9Z$Le<0M$7)De#bvHZ1a?B4mK@gLxFLVDHzL@Eo>ljU}Gig;Skpic9e%dt-@dB za8k(qMiSpeU#0QgdxYIe{&pAcrhWWyNja32I=wl!tzVM3?X)@bFH`!#nZ4D*QJDE*zuq`$Rv31J5Tl z@J}gl`c`|spZj>-1Hc#lMg#v8txrJnaK$Xh$fO`mJmDdd02)jf8f+o&of%r`s^NYo z{KT^MC&c1$YoWphCW z8I{>nFyx)cx`4-RHlj&9Xso7dq zSJ6Ka32*Hm(ygZt40I)%!W&a<4Ut53An0&z7#>?t*3G}<*N2eNtdH6JIuJ5^9W1O~ z6!r@3;0KJ$BPMJ>ZrBys9p^eA{{*k-e3-rf2rXLJfvJhS+1W}HPopRrj>h0WvpGOh zZpq_?Cbiy4o~)5bIz!E=g`R^W*z{4$+~MW9-s#GSD;;Xf40X*s@<7){d}LsE=k`C_ zIz73wu4<#Rx+UIGzw!T!cIQ6A><}0HHUZ-`AuDQ;8?9I($959gzl9@odQCayp$xGnjSm6gZ0!Qzn&g{q(k<9#5a`p8udeSjskNF3*r^!%j;1<*cucK}<@dR2Ts76ShH~M9Y35=Nrs4cl&*|Sn%RQQ( zx>%<~%8D6!9Vb!(#<=d}Qqu^W*+8J+o;*&4fqlnN2fHKwLY4<#i_z3c1})jiH86Ln2P} zOa28g^A)@Rrkzi+ zGGML7X`8LmZFAXNPN$3A<2To7BlX%D|C+y2we$G#+~+hidmD|!Uwoxt9&}ySuUVJp zORmfOeEyi+s1OjF4-3P$6IP({TPj9hhRV2DbMR-*-@CZG+FABd{G|ye37s(m6q)B2ROu*_AC4+cG ziS-e?hGbN>N?_LbYM^zsCl+^_%sy(@tcibS@`lcqj!?i+Yjag3Ycdo3)HgrP^VvIA|AzD8Z*;W!8sOZ+?W8W$$7%rd>1ZKZ)P61$qXlfM z%|MHC4?dlN=IBcf`6U+!LNRW2Xc#lvFo<`YK8XsN9R8}|M|~j^fPsD5SyuNyr0kI z>4LpM1Q!Ac4RoBOT63@5Z3b77)R#h}NXKCkXH|!Z7m3$G&CgnYjkl`OMMhc{GJ&>B zIl0#Guy~P3o}7~B$*Ptt$&xI~y{K63mV56Wd+Zt8(>xx}4AYpx z05c3E3<(S=FiB{kgd~Krglx)YA>Ra80;z-$!X|{03dv@(O9Bf+8Tot8eNWXgkl*h9 zKEFSH26_B+%e(j7b5FbHo&#`Ql*HFnpQ~1)C6QOXBQS` z57L@Xp1$h3>7|AF9Rj{#KJ#UuQ8IcnduH!sW4}R!kv{|fXuJ)l0sbafgykrXu%wN2 z5e8QwScw#b=PS{>oypLK+#G131{S77^+!msk}+1?FuSLxQ%8LE?AvW`CI)>+8;%j^ z>J+1^H;8oAFN}S4F710o{Ci-mALkvM_&vXgUMA?8Fb@;VLybQAxZ5ST+tW8W9$m0K z&cglSk6eLav2b?_|ILuE#lAskEJonnQ#VZ9Iu(bbiNWzU5l?E?;DAskH(m$yneucT z$kLCKl&|dva5K>l!_7cifAl^2b7b}>(wA;gRx_gpC4`?^U+M(GT`5V3d?bMJNgLt`%ibAGbL=n-Sq@T`BZE*VJaS`D{KGEnkpF*_y5|kERa) zr|F@YD%Q?qJ%Lo1RD3N3d9;k%7u_R-V9Jz4v$_CqnjE!e8T3aMS-%4P*0hT{qSaPv znMmp?bD;*AT`1MRuTYvg(dSbR`FkW8hx{39x1Lm*peMr_`_>)bw={#EFq!nWM2wnd z;qGw8{#PaHyq1mT;J#vX^fr;c)@G$0wrsSB)d`AqKyJ-R={*b0TV0RlF}d}&MEsoW zbn%h+-WTeKF?^z&E?yUDK=l3E*w$;q?2!f30zAUW^+vmlL@GBC8EC9(V0nWHmLcV2 zQrS`(=a4U=7i^^*Ifs*Tf^dvKN|X#!a3qVPKngqQYxERo;-Ye}M#P4KI=j^_ML&Q@ zbw!gUF)w8TUhibW3kKS>`UV}N4Irtz-Xp(9Rf@kqh-$Wc!Z`}^T{aiqk(bLjE3qmR zad(G^yErXLsgNFzW%%eCINl>Acgh!{!O^^Jj?=Tl$9sB@_cm-$#lA=8RqaPc3S6_3 zp(;<$MD*0c!iTyx4vhAV$9b|E;H~7m(Lz)=fG{niR*g1wX6yxt0zs*h;${@U=+(Qa zT7cSa@-_1OO;i8DuAPW-=^)6Zh1{X2TCJi|>LkMT9VbwJ7c8BGmr9m1BvqN5G60}& z$l4m9kqg!20+?o_CWMpSmTyHVM=8g%%Ospq&MU=;Y9RZ#g^Th%6PI-MTsHkrtqb~* zy3y_P8@nd%By?C}omB{O?zLsXs+FzVc6Zk6`(rPSmQ;(fqoDhJQ{?j#Yxajw#}Tgs za>GPc88o$yBWs;Jgr87{`9W+;>0gx?!)xn}f$igOiu*XDj=0`kOa^mDoybB#m08Ak zGZn+UAmFl%qmwBLKxok8y+}|{Om6br?%lChcJC(ns64*TAXDq=`DhD`_Q@|qSM0paJAh2X*_Uf}y zttiyMN2g*!jmaVxhv<)lgC?KU9hQW?JoRu@~R@2sm&Ak9u~OWAc}24C(`T9dqQRe|@dDwFrE z6vBP0NB1Bcp`!3UYy&#MWAXPBC42v4Vtn_rS>At+cQP6KF{G{ZSz=`}nVsIfdP|~B zUP6!f3NQY#y1M!|=(U*P^J4-&b7wMfY4uMm)_igd4(?3m7*_9x5_3u&cf1Zw$hMfD zfCT6{G0uKnG?*DhpHc5h$;i4P^cC+NLjSK$uNOn-|B?M$RCHnwz1ZWx@cGHl0E2Wq zUjhm6KcXVsB!9!XGkBfh29YNTyc=z)gYkXU3pJl+dryGZYir@f^{y6kPcwXYOuU;W zoMU5%nnzP$WaB=(W-W2${=!!#>J+Z-TLbINHCxRx2EYmWB1}{qgMbr){{;6oqYKy; zWAH=U($i5cgEmN5JpLNk$z@T$K_%lUF#<=RL&z0iukQqMTtP+%XuwJZMkJ9a5-FT( z(_<{04D?kN?`f=c*fn-VUg66uVm@MgB8URa>8J40ZpKH2IlYrPCm2)F>N)Z_jLC>G z)iJb^5L3M(ai6!EZ7m~bEb~ef)^egZCUSGf$-kaFerRRe66Kfps@iBRt%=>VbMNe+ z#;P&c48fZ2F0zrq3EoA6Y^|OZ_x&d_bTxr~jxzem;to(ef5fm0xY1ekfy#KS`aHcs z3W~Rz7XsCT24)~nJ+KHQH0P4%e@o;Gcf&ybljvWG{S#ZeJnR?V{R@%qk0of)D5DL( zNYHN{-Y-S^BB=iG^%hPf-8vp#837)x4?arTV^e!(W)d`p@@#Iu5^2iy8FQnFzIl)a z00V^Vwm{hkvw-khIMKYIRIu#R?1ra8yb;S@Nxoa%W4e>Qm)1P}bj%Mg7w5*ax&2C< zTX$k^xeQ;~nE1Cy6ZfXD{%@wr#;I*-yzS~ai7wt2ah(n%Y!a#U6I2ga4_I~*JY9iTzzoocO$?oat7%=wOr#4KJ-CSb5dKnJA zEZSHmv+5(Mb)4Di06z4xIlL_5!d;+Gz18lsAY;YACPbwaPUsIjC>BGBWO$VJ*98eBBXv< zMaWY1(7y_S)@%J_rwFm{jqWGb^LIsu-6EduV0iknh^MzE@HBNEiZmD~6EJuu69&w8 z`yAZ`GPW3hJsxwtYB(8*9jM}(`0I)_35L^Mq(^5?c6FVc5q^&?ER4ZN(R2Ci?BzYe z@0nd&x9-A^C~NLw>-?&S3!_=>vbz}1dR3I0N7vZLGW&64_QUQ)oTDqEEeT_fk4Hz= zTFBC`R*Au`t5SkyS4&5-hgny=SCZfK6x`}$e&0wIXvNKD&u4{N!ry-vv!T5z+R#Qt z8`|iaGh6{S$$5V|&5Bl&aW^R?_IhIW$*}0v(#!zr>^jr?wRzw8>5BKt!kdm?uO}1m zt^+*Lp0*zNk}$a~5kq}8I=#MyE&b|HcAUr_30?7bB*;yl<$q<(jhk)4S zgJ#enW~X~qw9}2QIXf2mxiY>lg*r@!9_9WFdVyFM&p7{_-saPZHm{|$c^BJ|gf8)J zvQ074Zn2G+Yb47&Z0pj~pjbyHIbWN8MlHpE7l=Z49de)j)oaxL8AoWzU7}6lZ+XZW!Lxy)sPG_yk zdU8P}w^)g30b(%fjEYe=5F2u3N^fiGFb`a#yO84w{cgXr0O^ZA&#wSc)DlS;?IJ;W zJp8O*ZZKL5NJm&WZa;7C>MAJ%GO?wrw5_AK6#km;sC4@Ov#fP&;r_7&?|+tBr;GRX z0C^}6PWUe9f?NzHVagk8I0&+ghf8I1k7KwOJI3i!oq(qtEY&0bR`aOa(Mapw;S zJa{L8J0skVbUfIR-sa)VHb8GifQ9LkZRj_NByB9Wu4(gbW*Z{55oAREQy?Q+I4}2x zu-qyo;fWbkA&UO%RpK|)Oyn{auNWSbW}<)xbUMctUW~galSr4Lh!-vaRter+qH}dM zbLGaa>eH(-aa74J0WtlGHIgrKa(QLE0~HZXzQK4?PN_^9h2sa?$!0{MNVEcMa^+hI z=W;hheQ+-3y*>&f{@s3YkcB+|N75m|L~Bd-|r?adrwYxoKv3TY?!2y0RJMdKIVV0?}$2I`e|Ifj7&An^|!^L!%~~POH{y z^e8oPDx#7rSe#|FWqD0ry@7dum`K;wg9o>MX!jou9JqwmEKW@<{21*63yc3J@jg5A z0WfhP5afuQNTkd!8+3LlGuc)6uI@d%|Pum1>)JhJAQE z#Zf7mhnC`*uBs#>jsn7Y-35M!-)z*VI6JY+#TD_VC%8}KMo3$g7Xst8^x!E$Hu&&i zc~eDUoxZ@-_jOT7xVx~gN%NUY1c~6p4XPTqQ9GnJpG%dO1emomo!`g>qcsXbB?({g z6o+sA!b6XF#H{N{YMzFmG_i2?^QGfdaG)S zikx1#S?Ou6tsSWfM|uJkweCWP(yH(@RfLC2h4}5~g!5D0DXxWYjV(f`^P*4(?dMpB z*&cjE$K@sJ;^GjUAj4$#>s+_rUncr>ru3`M>{lJ{w-jM4wn1O0CNA4N99iF&m)2H7 z8dKV;;%)K$YiugT?EE>|mL}R3C)+al*2nl8D__&cImry*hu8=2q#X=z9Ds8+c3;CC zbz*c{AqXe4-?BX?UeRDiDH8^Y^M;DFvPqeo=i zSt8zB(kl?pelZBTR}6ga#-QgX>#I6aYa7@ZT8PALa6+7ce2#Tgefx)l}257UBP@uX_aUD4MxI3SO+ zyMD05qw$(89v{qmCRS>ybJeu@*fr1sAC3{$*v9r|nYhLU$+4q;Ba9tniGnqL2o6}w z)V4I<7WRAU_X<)V#xOren;6Vt-6VY62%KVa2S|GiUcs0s*xb=j21HU%n@$`*eqzrx z*8l^%=fI&u2gr2nE7x5IQr4=_FP{VN3y6ENd-aS6=QD{|$oTHncpb@Gq?@Y{@U0>~ zpUi$7>-CdT#~rUjGvD>c#Jm0$e-}-CS24musFPxY&g|c|&KN#VKhMSM5bpe%{m1I? zX6UC;)X9V~P?A1|&oiB@am^S~+rFN)E!OdhbwDTcr_@M{@vTH3@2t~D>Rb!fg=KQx zR@YlMj5#dUd3W8lJtM-~FVqp&<|)B%q(Tfc{#3G!H@QZle)YDv7H_BF!-mAW-_E+$ zIKH3Nbd_PZ&?;T-$fXiLnROVSM5t(Ad(Bhn1XCuV-gi zEY3Eb5zyXWop}Dxl|`iJv~XM;yXDAXvIPC*10~(c&fWddBCTA)^DO!|6%HP#cv6Fz zb@T>kB1yARBkTzvS1e|GPeu9)x>-#EPBo7aRQ>+6ky*>y$*8uEI&pP4YmXA^zAyKW!KM4fjs>j3;KppGu?Bdiooa4ZiwJj}EeNuy?R^nHAT? zx@KK6>p0h~ql(u7m|NG(xdLFWV=$i;VQx+6CS@>B8|OxeTGUNAP71p4a$HAYnh6VJ z?{+!tP}kCG1xZYexGwsrGtW4GgOBL9%0`_v}TRlE9& z=XY<}w!6H|Dd{h{^vbwxXN=8hrzq=;W%cVCV=&t(!h5|sg^4D%-)rl1L!ElIXZ8uY6!$T~7m55!c3&je2hfK6jrklHxW&N-a+vLs z$LkD-fQj>otHTnyO-OZQk2*Q=UT*dZvr#h(Lv4^4bXtvC%yh31<6OH1Sv3-r39caz z?jd&`*}i|LdPNovhU$R?E65#-j(xCG-XsD=UP4sg)jku2v2& zXP1Bo?9vrZrX+Hie1{at(^iQB81Z&)q_&oDwV~QjFi`3*bYk2ajS6E}sdC~@O_7LT z^@txbnNlJ#VGOG{hQT*-K(aI8=0NLCcR@jQPE<48)-#l+(aB{>bB@a|(KUD4%z4H6 zeTDf`WQ4Q_{H2u|Lyn`+?kOm%Yi;>(UXCOvl{y_Z_g1}8<0`P{%8lwUgK3`F6IK3s>KzPmVHUxXJe(&*w7r%&XMmLDy;5m z)jV(Z_zmaxGI-U(Wb`l(7grOl%+bKulgTlJ31uY5aB;4FUx|<$qm@rXP$BJ`sg(wU zrk=&iN4%Ylt^Lw@<;h+BJL_6cU!W-~%Xw zYI3kP(%cfLt>)(l2}P;{q3Y7E$?DPCKzA{4kfLa5^IU-ObCd--Vf{3m6|Dn#Fk7Bk zNu^AL0qJxX%wmk);v7fh)Z*%8^u_NMxF5wBrF4uHLib43d%bJakT$s*gvLRJBT zk>z9pILfHW8_J8gi^-cOR`wpaFm@3=J9{ej$2&huT$gZ+Cbs}=s_18#??-^^j&>Mj zRLZQbASUwCl_W`?PDYrTAtNRJ0z2WVD*S@pIw*;ju?n(vSnsx)rQ9A zDHAaahb9*0f>o8lU}aS>meUvvH8zHVjj-k|;+o@aB3N?+EVo)kF@X%;dxj~lByUAb zr)I89COyfw#8aLql36R0(PmI2(^7GIX_?haHXLsL=p|Ff9ZTA1LrafSqN(pIif*qz zxv#CGr>UW@kKQ_U!}2}%4h&RRHMAWWQ`t_(qIX zCT(NBi_eq#)h5w~-z4e>nRQ+un$>QxPWL)>UL@w#da+LZI(1&+-VxqK*MHZqiEcF@ z_7hmA&TqJPS0iFSk#*|)mQ=2mi~W?ZQ|EVt3S;KiAM@{tR;WY8I)KDU{)*l_bJ zlB<=ZUSvjA%j7A6NMSMzL%uOToQTi$H>M*W&Gjz-Eic|@GRss6Zt4SAC2deMLq`4#}ayFC#!!E zdlqRiJRj%c{a3Q~7YpqLdI8UuuxD|S(ZecJ04A#?y6t{rzoW-nCN*K+Ru)_;>*@maM z7_h>0R@{OV)|$hcR>nLQvQt!rNtW}7*1Jba#@6_&vgU&^5duz12qph;bG*dz@ zi#=l{<^j@mcwx_xk=|gay|=Bc*X_(Bd#8V7b&5FdOY(*fE)OJm17;XY;|)o9Ajsr_ zHR6EC8#+h!I5y`r)YT1?fHctW-Focg%H+}3p5whueSJ->U0w9n&f${Ex~^lx#?pZG z;MN_7H{7`Mz-NYIU+HUX?(1o5=@N137Aj$Trzq;CM7a1z$!QLy0le&kxX#g0gDEZy zXhmT_L(a|YsMvk*SnMFJnVtLEBYQtfyq5~TL2pnG$O3q)xE5sr!v~WE{Ka+~;VR3E zYyGt#IQ#5AkOlHdel}U)1Be0@+mF^()_3C3cY9-H;OLHUTU$8P))tBm4Mp3BKoVG- z2n-vEX{u#rX=$cu8U=yi#NuSQx+Wa1sSclCZ3)-4wA6)L1o^KG@UjZ_p9?4iXx1iJ zYK@x70y511ECJM9iAx2Uh>0Sg-&a`fF1J}(66>T0xF(5p$nQM1^4>o`Jup&>>+!$VLhqdo+ zZRzf7Z0Zwom&Iu_^0H90Hp$C`OO-4C9ZnV}*0J;6`yC}fv7PtX5=5JLc817IUToV> z7J{++wE|oNFrKpiIo-AD$W>Pz!OzD({_!=sEBYk(LGIOI-aWYtk0Nl|1a(({&6cEM zspE8dn-FC=EOHH0VS}d0hl{q?7>unQb=tZ6X36(G0o5i!h5hcVklzg6VS)Jo@0HQ3z0aHP5CqMpW{{zyxjMpImC4J}5uAD+H(>A(#`sL+J^lKM=I2vhZY z=re0bSPhj6RgthE-kgq4xUn(BW;{4hPHYI;a&M*aL zC^WISI1wBc^%`;p6&X}$Vox?geQ47t?6n}w%bny|8dzf7`G9<|+RT!_5?|zWTSlrr zlghKC*%cXa+0zKJbB!t!IdQ>;!%ZK#1az4O&}md_G#RGfkZIIqP^S@e%_P0}-;u@R z1SIyZ?@P8Kpdy~T@>68-lWpX#T#&^tZjEimqdl&X@w@*qS@*<=WB9rH>Z`NJx*Oqz zRlu(^=od$>{J`{U_EF!aYNN3^8rDw#!wlKuu2pSd^eg6{5oCFG*R2s~#MwN2ZUVk% zV$Yvqes&cgGqkXCM*p1AwOgbjbpkrZ1$Ceo# zJ9rT2m;}k#jxV&6`{Q)XX^GRZK^T(<#vtQAQ-II7Un>~Ry+JOVq1?jaV5#0uu32N` zs3U(nv9jmj(bz>G)}WE&R^qudkuL$|8X13+cwTlL&{BlU&3{3>Oya@+4qp`zBeq&} zzq1Um!+e(|g|DuJ$VMaZ)rmmt8%hC2uGJQDi2FG&=YPd<=id;d?DKCV@)_r>c5*-E zo`Uk{IQ)l_)F^Vd@01J7Sig$F!; zBX$1p{7q?TJ(-z9Ub{R>&kjnMxXD}OO-xeD4Zvi@Jn`hLsmn`Dxe|2k`X9RGIK z|8KIkmqP!oto?7Zws%AO6>_bxzCt;l+5Zyj|Myw@cM%ymL~rF~0Ke~uI_P&qn@|qX za6hFtLfP{|8A+B|K|-2i?Os?@W`sV+SlNqf%2d#9k@fk~n)g|VoJ_K^U$1G0!{jVj+c(Z!r@W4m7X4)ro__ZGSrsS=VBNBHOFT#I;H)* z$tlQxRx%80@)GC4bE91CnscLp0>*^xRPLpBvNSJYoELG;J zu-W7BmXI-ix+mQ2ZtK)Kb?R#ENiy7!>(Y6HWu^jORhgx=&)4WKo2*jl(IG^*&us*F zj=|VUxWQ;&v9Exa%5=FbQ8b6gl|*tXVY*?r6#%{iiFD+HXl5$%6gq7dgK&^kLP`_} zYf*pfq)=0ssOf&uwDs$MZ#lHKhRfX6z}W-!`}tNjW1uE z&tvctx!RU+Y&8IUYaFbrd#bg2 zQ%A#?c^F+KO8cB%b*G8YN97>b5KSo^?hf_z_$y27PM@nIPpAHM*N9Rh%hii}Wjm}b z>IooEtCWC zB!Ym@y&erbVlZO5VGQ9Ciy*<%^ zJGWq#9e}|KeUY;=uLIDP@}%q7dj^vB9$2el9|n;UvSt-J^NVanIcf|erHrrH-(&9i zZufXkNyWyY!PyGGyJ)PZ&|Bnk6&1OP%F2qo+uIo~AU3Gw^u(sLHeFjnyaNTvyKtj>RlQE-*#^x4A z8b)-(a*wyRLP`{k?#|(gB zxgfjz#TLGrtkv)oDW+$(%qH|W4-xm_OD;KlE;t6>L3)y8~KITfi$){VVWD-At+%Xnpl?W%q%FG636#;r3mds>!BA5;qA;rDx$<3ss;WB0mb^o>eq(ESvx^XW$X_>9 z*40&BSzA+D>LWlT7Okz z?N+NrMVhBRYA42m#i9A-_+C0k{tD}jIgf#^s#QQz4QOXv!!I-94Z55}%uOqvr#py4 zjH8!+MJx5_B<-S}@7RgxzOI3Vf*DPyy1d=Xt7_Za8}?qXlO6UqH!D7U&BCen`nFO} zY2AFYuAtO3KRK~uB2--+sxPms6ZU2i{Q47H+ckE^_{|-DUik-3gJ?xB%4{B$$q{1eD*Coy2%D|z; z#e;#$aPuY0)r}1`wGE9m^&Op&`i^$Rbbp{XkLcUWddJ6m%i8rMuQ$*?O~%TLic3q2 zi^^AFAJpIn*0_fGN!Bx85M1N;urXGpAtSni2u>hoqfQHJY$G;B8ba3jnT0ViuQdCj zWMWtTW?e&VeXE5i18vT^gNJtRzvR*bftHp)2-df)xxB2TX=l`3W>}b-+J5s@XRaeY zSlURqx+)B7+p_uw_Y8Lx(0N zs;RPmo4q`@!3Bzg$LlV``;{=>Uy~ScthYD~IYwmsTOc?y9grLo^}HyI<&We%@V2+r zEN&IlJSzBxlcQptKHz`VFka|~ZekqpEfU0xt^8YR+_N34Z*u<%a)lJ=8E_5>V!bFb zVxaLcrWeM~1>`ag)IynFu7~>4JQ?$4m3#eqLki#?(@tsY5qO@G5_&dv?!gC%;{2=r z!ouR>!a_fesSTu=XUKVy%g2bBy#6pJ=&0m%QAhQyzDX(Ye7rLrjkcJKYK25J@}cqd z6ubW=Wrr4c(^#?<$lr`)BzX@zPp4Ai?Q40;A)H+94cDdk;-wCm*gJPM2d6{)^0vvA zwx$93cKwOXFnrJnOX#hoBa!BjGU?K1G!3EhU`JEs@YeIM_zT^|#cp9fm8;WKh4X<8 zP@Op+EGIVZF>)`i(CVwCNLl*=O# z3y^<{-0zoz+7$8o`!DKHlS!iPxX5~}KQz!W;PLc#3yIia03 zJKNjgS11SFM>vp4=|zA?cHmMM3lSSiw7MK%?x?Oyxn&hmD8?`g2wtRDW3r-27U>g2 zSbMY>zrZr7T(&DqGqK`q)X8x!r=tK~gT4SPLz6!7qj8n{K<)EJ*e4uhpP-z5@O$`z z4qfh;aNO*ebRNCJcJPE_68@fWTzuO0A2-`?erMn-@H24Rzyt6zaNBLn_OSXO`6B&! zT<#{^X_V6@(&TPJyo7u)_UsN)Mt}b9A9#COJ3~~5HvH29?DaaTLHh^sTA}(5tk2}s zHYk3EewLT>m`C$=P5~J7!0p1FmTHhuHT1JYE-B{TAp8&=alTd%v6e3wwTBmnawM zm{y=;+Dtmu4sHGfb%2g(1Ui;Wj)`>am`D>akH6dad=8$l?z+&1 ze~;Lf4_SYA)_V5c{;$GM|Ly%>hM)f1Z)Y?-_9yPIq?DIS?Ah$xt8YX3y{x=oZ8_jo z+iC}yq<`jeIN4Vf90`;Yi!7cCkWse!#gUQ4`V02&r+==W`QFJB-=D6Z`S(v=_h+U% zb&zuUXP{dqvYS>uEUpW!6n%9Hp?nbfF5qUrZf3_ULS9FEGL0*T8Ay=hvkSQ!FpNgw z+ER{_&Wd%U-1ux%Y15nZCLLx7MtKH_au}oC0ckU#Rm3P4E+CM>rRiWxOK^HASbo6; z<-u=vcmH!k^+ZkmgWcUD&cY{l+46TiQRqZCmcm%4*jy~+aF)4DuWlp*upi}IK|FQ! zcHF`!HRHC_>va;1t(;(xVfc`N>#u+Pb$aT2!V=>0kvUB z26)d&q%4mdPbBE|24Xp~98|mr9T!5E!x9zfF*`T0ur*=Xg>hBn=}SiXq@jw2y1Isn zkaYV7T&@kgY{cpMN;sO6(-!{6LdQr~&za*lN(f~NiWPW76GgM6YL%7jYDv$U2?u*?^8n$nb-%(?2sZ8P( z`S>sC7^(Y!ebKQPA$9ZfaT(y3{GA`TEq~{`_ouWaE~+M%e$e--V?E?j))wX2mBbP#5-`X>1i=*(u$gZhlofcM0+ z=`&SHeWqG6VzsaUHXf^o#kn>UGa7IVfw(&3Ur(JmH-D^Zq>3()`M$ckx~Ozp&Y|h} z1nP(S0v%rI@L^4LxwkA-TiQ7q>x@r_#o>61{ERljTsp{~Xl-IHwQ*gB`yI%GhXr{M zBs~WGzX-BuEs2sZ(0Rb`UWVVj+>gZlR8Q`v8{qps_I)4sLvcSvVL#0a`-wae$4Bx+ zVn5Zxe%c`HC-S6N`eZ^js^;EWeVkm)WZS z0)1m7Hy=F<@Eam?^lV~}ofUDRW%YJCLtkh4II5!+jsgovm^y8aT0u18yM*BV%)y<* zh=-VEkNLMt1*=aTrWioM!mno$tK=pg32IvHYw-GJFKhn3+xXIi(XxeC4=>1kpZJ>F_e9l!D>^q$^zgaO*?;qF4Zpxi< zwvNg-llg(!9I{P28^43}Af2Pna9*wy_W$;%vAVLtU+gKw)Ej!O25^W4q{Wzn`7$Y$ zz&1L_G&PKCF+D8UFYHk(E0dgFQ#2bzhgC1<&9fWzbtv{&BBJpT<$E)W322e?bwbV- z)BuY8a^7e$$Ychy#Zc_uUOUrwYJ*H_7_oQ?TqCs>ZU41_-rO16hvuny#Of|^=i06v zo*S{b@3eY)&dlAj@|lVH4ux*+TBqL~+aqnMx6RDA_R4eT$tPx-$tRVkW8W|-$x~Jp zyPw82(T#MP#XrLv0&*!vny{HQ3JFi~dN`hb@AN`+KHbn9W6hw~Wn&;WvHhUP*`*q^Z%OcwDv18)fnlDFT)2qZCY zxY*lkn`tbcnFuU)j(v2vyJ2JH{K(O58>9{4vU@FcEhSsFEBZoxmCee>RE7<$fyp}g z)~(tD9W%NoRHljO_)g_E@-q3REaY`nUL*Uutg6&r4)dvAy_=4KPLU6IrQR;rP%)#;1W{7M0~MTqUJCsmkX`s7`)J5RD`zXB7c#;*ynQCymoI&Vlq58 z$S3)^0C->06fb1(V|nN?myO^Lf)K~M)r6Zr9A0d#8!_E=*UIqlW~ph?dGcia;Nacl z-Rk3e`gTT2+}Cu?%ygY!?JusJxbFJlp6=mabax|-MgP?s>8-$HMx#TzTuLSWVyaZI zvlSUZoo!i8IE|Vrl$-*u+Q(g4l}Z*SMtzh>hxo*$=3EQl8xS?x4?>~&cBlJn*m-9CEG>z-#U{CM= znDx1Ki&dva&a^*Zw`j3mW|8{yc z(2W8{{ad1qZi6mYqXc4CTxjK~#Ex_Xp+v0+$XnQUAprfSI3=b@twE+sll1%>n-a)6n|;wAb^ z_wL(7FR+f`i=3Td4_9n9!z7<~(0}}bKT%h4uwO0Kn#q!!~V_8 zI%a{rCHz988sp{`b6QM~2v)r@*xK1(_3IV4TrSnfrP9R?ZTCBQv@us_&Qq#!Z{VGp1F$!2=y4urKN>ZL_t$b% zhC$@f*^i=U*eOO>P@dT$-25obcMF!gAoY6n@^A!`rG#0s6!w8BQpGOi>OWl!KfAsM zKV2K9i6!hGC{hsvQWD0$L0{LKf_}f31pQ&J<>bD7C+|A7 z6@K4+a?;p=PEV3)EAb5?DZ$TR>{rAGpL-gME{z@7)lwE8<712;m_a@rjP~UaB`1+8 zCCeIM0L=GnY*?k1@fa~nj&V{Z@wU;p6ja>2JWM2Rv0LqV<~&$>#wmblzVgCM+>-X;cji=>mKK3S2(W~3NFOxkTq4q<~ zb?rI18cj!}^$oJ;NsHxhZca$OGd~|_d=<=ZH_XorSOOeUNqDJ1g;MykO2s6QI*UZDun|n^2*z@tPe)VKuM@QeulRX_n zq+{=<`Q05oC&@%pLn8)oTR(sUSljAuE)p0Xbl35=^W|<$_=bBCdi- z{fe!ef>WRk+RoWM7&XVO&-18du5!08jP%MK1`P0nsOdM0h#~h9a$)R|FNZpmv8PFu zVegm8A8)g`WZSo?R;D`0^jqUq6@#;6aG0p73kSRBXzVK5|y%i*_63rBzC* zAzdIuH^Kf&^2J1%GOf(JZoBMF5`3{vMtHffN|^sdqaYgQ_=@%)U={$7ZK@oBS*X?A zR^jgiH*DdQpq48&r;@#Je^)2o|Hcshn{P*c=O$cVPe-&N5)K7wF!e4XBkCQ%=UPaM zHj~c@3~nul6E@ff<8M0sHQP;jDXdLrq2!16s?_h#*<2xKkH6WK;A)QAatYsKtF>h3 zYDjZ{F7kT;|1H4T99$vS8f^mR%1ekgN2QPe0J&Wz z>`{lrn+E{!K)i+jc$hY3?cxpcARqBcBi^6%9N*coFLGh?{^lc%OYJ+4_gorXiXL)z z{-kVzoGzUr<>SN}`(ykw9{V{dkNuq5ZjJr%iN_xoc%KtC#%8u>JEPGY!b|d$;w@-# znRkKW0wY%eK>@j+5fhbaoM~R{&{VI_Gvx`i1h#CPmRK-MWf0?3Mv$1`hiD#t_~DZ^ z&mTQrO{*_H@@AVrPaRL>^dr$$0aneTz084e$}k5Xmv7bPfDTe1DkQ?u)e1YhnoU2tLPf3E zDwXB0v7E&RCYaBNYTMomwlce!eM|q?c;7A?+Rk>&=bYZR?<$R8Hru%{H@A72nawx` zuLofbpW({62cjme2E-?KA>fi!!k3i*Uyxw-4kK)SzhKKhfJ%o{Dm#eEmW1PX19_H8 zX2q~q66v^Iux1peR+pV#w|3OW>^4`vPrX?|V=d>(G1HMzU#FBgvK!q}7YkMNTEY0X z6qxHfwLva5j#%7w_ejv9Wox&*WwB{Whh{hPNWRS=M$1ny8pzsyEbLU1hJ(xQ!{csfIwr z@2b=~MEevc?i19L{oFvbSFeRRn2c14fdM7BRb-MO4unNs#+_OlaZ;AHb@X~ek>6$n z5jDPhGPUN+q{g%XwBxZ9mD#wdZSmlq<>BRjA+BMj7H25Tk@_o+U3A6JkZC4%Us6YY zo6$>333X*zLRS`Z<_U5x=Fvmx z_OIPPJSo%KPY7k_#Aa5wtGw_dEvB)XZicu$s zuSFh*&*{q$T61OZBeW()YXf05Hn7)zd(+>37U8qvRmc{{Lszw+V?EI8KJHlZnY;<8jMsYwNXuH$k zku77B$Gm;cy+d6iW#Nx*9;w~jF?Q8pk8iHEud}@A^vuYkxQ%hU_k=oXs~i;?r(v$8 zc7kp9Lv0O#`jW!x9EV{-*egZ=&!vD1Mm$k8z+M6VgGwO_@<6XtD&R?eS}N=oDcdcw z_--+BEPpj}X_d^GkSh%MzbIAkzwEheZ^yp<$M#=z;ZpnF%X%)o@DLLpF!=ZRpVDe3 zK2Y2Fm)V(?u(tmz=SG^uvYI;w%`>pjAN<^CbrqzpCfZD=f%wh+9x*Du?*A{JL1=OD z^Cug8iG{D9s+k!%vSnIUA1eQXv96_zk@}wU7S-d5)Pn$N6FS*={*AoX5* z9DbJ2#?^fHR>d1c=3y2tPr}0WlW)cTQ{ZoQF;3|JzP;esX83t!_a&F?{?He{c(gkj z?LK;{t8;*K?%g!M(%E&2j5jwlHsP3x0GDe4mz%hrbbY)6_392#pc~fe<5;FlEAy_~ zE_;*zUmuU_<2_x`R=}!2O%)oqFrb`hcWxq0>H2tvI&RLeIKQ_xetobx8n%_@<>g+z zH7`HB*gn3^G^+^*Lyb25BX=m(a%+vd*gZ_T+N=5sjnQ$7!Qocuy@pbzj4R|)PeVbs ztKA=*4vmeM*Ecs*d83~0{E)*{ptFN2KC!XbZ1aFBZp>3@@UAf+S2x>xsDX<5s9`pdQP7 zsdKo;$gQF;wMFz-v53CBJj;=kOFzr0Sw`hEgAdpNBW%J|02z%(RO7cv<&;qcF@2&_ zFo`E4Ic3y}dNM1>k*ct2(rthpGg3SXw(E5oO*~bzCRZb@JOvf^i)aq*dJ}bz7e-PuZd=a?p zUS2M_a&5d0%>PCnAfxmsKuL}=2KqN-x`j%aZp~t@%OyZrg~ae`3&^!@lN3I6BtP~F z$)|PE=;^jLG2hbapGXVmhxcBU)xX+7UL!5E7W#5V?b*Zv=K3bS#6b$lYpt!=uAb|l zMYI{#vLadvN*0mK;6a9%F$y!(EdoboJz(kx{9(Sfi9}IB6D@jT{(Ik>Cwpgq`qSB` zo)X5>MD)~6E_gp*Jelb0>5kdR1)D`3x1ZYta+(ibDEq1eeUu}9_z&GbEOP(V?VtZV z{2#^tHwk~U|DnGouA2JksEC&x(Kf^)OfeWS#%Gz zq~65|xcz>&$L}YWnDI^VZ#r7+7ChK~H#_@4v2gc>-8+eLchCazIKzvYXeCn*dA6BB z0C_-$zYykUq+;qvo~}U*(H)k#rxwJD$n)@deB;I+Z`{cA6)sF&G{_ma!-EfKV3(D1 zXd^km^nrtNB2}>CzFim;0Nyx*|ANv2>kC?o9hO`sm0ij1eY{WI*=U|{*qgBRp{?6z zawqN>xW)Sg)D?RzG!r`c#kN0?oY2P5i7&RjHnn^A)a8?V_fB5UV$+$Zl}1Uf!7#yYIOV_Zt8=pI!!a zRh%d4lCfKUoSY0W0L&y6BE5ymtmTm~^d&Xv-C=hfxjD8(eiw6)-+grFr_b*E*2&mI zvuqD{!mnbn&yuJw-Y4eb$kE?SIzLf<#DzQ1+yTRYEw`afrd zzU$#v5&ba3(H&yOSVhW)BSe&Cl%T517CCmxZjZWB>qs!61X)h4F&i~&G#n=&aAK#b zGIpu~aj59~vp@L3?Du0v@|}&3J+|??-;LccGb8xbac5x9z72vCJ9jc-90`*Gs8@L* zmCGtzR3eqcWk1k>LH3gI+zKYfkk10JP>9DvWXV<~0R$dLztB=YXz_MSrL{6om!p_2r&gzt3zfkdiZ>GZmP9?mNu|CSM_=iQI93?_Lo2 z`vxCS!pd72LLEfI5ur2aS%K7+64;m)c86yPc-%hrZBe81)uMFnb z!foRF$-A7JtL9o!f2;SKfPTu!5H2)8k6`)^Ae(ZK;bc?_$UvzKe#_`q%qmaEy&j-c zO`$+}si)doZO_lssT3F)1yKQ5w%O9k2b0(2i~U+Y9;;F6(NcNbav??8td&OC3jAAf z_dsQNb7irmYP7m$tk&PzTTxnHQD&TQbZ%{@Jvs~oL0RrLkRDtxH!SL6rEn!>I14XrmeHY;qkWu>*IW&sX0 ztFO^t(K~>*6mzx6UvhIO<*KU+T{^T6*-=pAhqMF<1;@M^F%C50XC)-z*I45B*Ot_l zR+OR{*5YTmoY_rr=G_PoV0VlCXjLG>RdPc>IHV_L^R958w>KZ$_MP6m^%G-bpV+$jv~PM=f7zb> zmtD4h&t>{qLB=bAU!P^Z*9sh!g5anG#TZJjWZFB5dSsEu+h`!{$YsnQTY~=BVc2UX zpPMgPJ+^xO-^o{>o1)S44^PdIKjD10t)8Msp>H|nsbd#wPYXyi!;okZktpR#kqom* zVwN7So*vy5`_?Xc_T7I6fwYe|3bIrK^f$orY}7}?D$E!Hlt4|GiDD2>21K?4qn!~0 zZxD(vz+@W+;RPl)F%e7!O-Psy0HyK7enviV{y#}w><9GhT)cW#T+RD9@y0(+0w|Fv81x$oC)y*JfH`-HU+^YQ?H-5gcr0su^~m{h#1XhmF} zWY(0e%$hPRBU0%GDKP&6u?W9J0fF5kj~5FL;bzY4)f>G`Hn(72Q6U(rUT_)2U1*xz z(-`tL`}S;-TPFeqwRum|$74T>HWcZShEx@zA&(|^@=(4rI0<)$--4s{+pNG?0ld<6c7KK($bo}f2z`J5@5XVI!*0cA`kIBLiv zDDkjBNlwbVdVw_o@n!*(mRd(InlF`=EL=3&Hgeb}mF=Duyo-GdUg?An1CV^jU0LE7yEm29?EwVf{B?HcUE0KUIoea~!u3#4VnHuDe z)ZrTwX_X_1Tfkzt!-sl*Th!$$-yR-lm)BhoX}>%wQK}Wn?P|3$ztuO{`&(aYzEZ8) zp;V}q(zeUnBNx;u+6Tki%beX_;V$Fb^vCoja+Tx@T#!D(aSwBtI8D^_9!cDN+6(&S zKDrg^-9vx8`Vt4V9!}I-eJN4T5B)vC?kjzP{zvA0B`7}y{agY4{0b7vFOnZcZ!7rT0U<`}u9FuVmDFC4pD|)k*pU-wqP9 z?5kyYXu~igcL}G4%1XfikWTQ%4#>LRD(at~IOan;h40uz9YcxI`HM#D@JpF2{mZB8 z_Js=j%gDuL{e_`@bsOWDvQhXxb~@vGPB>G%h<^%X0w3Ny1SOv%UJWM1r9(c#_a_uQ zJl&iT@1Aq~XqUTa7~NE)Fu*Vj--1I9x<%`GSTw4;fz^QM+Lu7tolD;75D8Du%}uwo zoWAkK)3G0hroBr$KQeY~p+r`?aBQsY<^hRxsK0-B&y|;6`eCVL;AR-W|LyEbz}u>> z^u6~gUj|VF~d$Qnqh&)4o0JgwQjq(4h)@C9F6RBhWA8h0ML9w zzB@WgX-mF3H$Oku+&nftJ%+=Sw%JjM`r8?4#||Ex+cD7F+fPYr0kUZq-47&qQy-Am zfW{z|M0`pj<4h_-WTfBiAY1|w8e|tAkzfX9vwEUj0!*p$xP&r`wg3fjkk67tq~0jb z;X&3y3b4zEAGs-nZyRoC3KqoZwGQ{NyAV3R7<^w`*#!L2K< zEA|i7OwX%_@0p2jUt#HWUlZ@1jf6IL_ir~?o2`1c9v+-lsir`TGWN|hZ@P0xdbb~E zy&EP~Wt8Rp`T{}{bU!}kWJjcEjEmRypv+)f(mFkf}qyD@P@2+!pfU322whW? zs|ennd>oJAF*Q9TA7}J0KBqv+^Sq28!k(2!Jc{)5$;aP#;|+D@>G}{_CM_eg)blNw)z##_LJL!gt91$!}2SCWb@#0pv;N*%vs?GV`Pz@>oso zhx;#*=a<Fmf~pg`Nr}b%@6a-;m!wuGcgwSfdbD8=9VcK`=#9Wc6RPvk~yTO zu~)uG=0RZud690zWE)0Am2>zKZwpW=oo)tOLZMaoMexP+;v8xB&pol-u5ga@9KQEU z$F94rY4$BLKj0k*$xAH#y)Tg<_MoAUB7?jAnwQL?VlxgJ}-iwJdw*48wwf^lhD;*|K@l#trM&tzENv z)%4Wl#Q50C(G?@ZLxcV1`~=D`$e%+6nu0l`(Q4+9R;QgqI)iSm5F3n!Ib_ru=TM#= z>GMF$Mp%#VVT5z_IQOs$is5p3?uZGl=JNX7ZEB^QV=IL0gd-br6m%~V8JRowg*!ff z;`ZB)ot!&)%b}YNT)Xp{9ox6HwZ@|L;h?{!+EJ%}y&$m=tENYEi%YNUoRF{?IPL@?!tvTJt+<97E9#`VG@#P9{WhGaksNky# zoOy1ot;l9AbsH*kqRMz-OG(_>Roh)xAC4`^i%SJlsa~ly7_^?V7K&H5IvO=KvU0yC&#vDrw-;KhdX2`CZ_hQFi}SQ)MHUfPA2lhw z#U{NrM~T{TdtN3;eOl~d!f7NE`HZazMgkn430a7oMN`6wDMUHM;uj z?p^n<^cK;bi#RVd6%4fm#{;nzIxc!)oIe0_X9bF&PP*5vM$dCZ-rj60hW-cxBz0yb za!yXTBSg+RO8)$JQ<3Qc*no}yBp9+WwG)1GRlkqqXP zS?z9;uPO7`EFq8GS(Q8$h!q;$F-x7XEDCMile&*gvH0PI)VoqaarVe@>d1`ZD_X=y}pt=6qo(a1sC#YsVc52qDp0#E<-t(}KPv1QdwYX?V1H)CsT zdr$9<=z@|wys#GU#l97tUBgUBv!w1Mtx!jP)J8Fy8-qTJ*&ySTG}I?`x`63=OB!Z+ zoMVx^ON*5}@?*dJ(s0v~Q*Y$*eMge7Cqt@*+K8}cJ>qf?c1-Lo>ndE?+|=bLKeJ+> zuF?|T)PAzJ%iQO0j63RY-JJ0GN)H%q#Zg>d|7B;X#p;V(8?9<|`6}HetJ1DX#H!*2 zLZGg%a$~GqsIr&1a|*RRp{h=uqb{)yhk3Q3*6htG<@0iFMdpf}bR641!h2IWs~)Xm zHp-RZP=!~f;8~m^5C>^!1;i`lJPZ~&phqiY+fWvjQ> zXUk-2U=hRh`V_e=k`?S=$^H#|*UagOiPJM%zA`cKl`TUD+S?Bd4b$WJ_{NRn%_F)l zQ+rJ$Qsb=6Z8wbMOwDiHI6oyGySs1d@4rbpj%*&E*c_^HM5Cc#%wn?y>tQ6z=7A5i z?8hh<&X;3eN#S9raX6T(Aab7Y@;#IzGRhGdQYmGsSs46yxssn%iwsdShU74Yl*U8p zWaP+aNH-N1Y>bz|y4q@+&qnujdj)$oKl84VpB~A-l45%a#t@4EB3zM|Ee|vf)ReEA zT2Y^9Z%;@}oIHIQ6UXqb)^J5ked6fR=NcPDJDeRS$e)<4%tB*fmgsWTYzH)zgQ!PK zj#8nLiJmO%EaS_fq(~(erLrxbD zt^Lz<3vo?e(k&#u>o4bf#+3P|(1_1B5(*DjR}Y81p^(=b4C3ypfj}KqFzNyWRYO5~ z4ZaL}_eu2X)#9Y-U+o#GmVnY27S@ya7KXj{b9A1`=|4vjZY6s9Q}Ac?z}ctQlAnEi zlm=)fS!onBk{q=Zf~2@91A?{!4KCvhMRO5zS_^q4PvTt*@6n^kYg6h&yb5@2MsAAw zQC6Z?DR`LBIB{U1JV%V>Xp!R-)V-(>W;io8Qxi6I9}Q7Alt>nKxi~B+c+Qxf&@K)p z1ee><&=L>#bqUU5SCPWI)9uz83bi?HeVrOrk4pQuoh{51UAeD2(HGEpoJ=oc98M$T@RdFc+0(~d+KDQ>YlZ`A0AsdKifL%#9wmGko&)N z{t<80z{HB4PPjTdzp|mK{E@RB5tDBtw5K-mWoR9HSbU9L2)g_=R zxNU`4i-=lFw&mq0ImRG%0zAr9DU348r~Ugdy7kE6gE!r{@96%cyRX~66}0G8Q{$jO z4-fWrwzoFNqBYf;0yPXYat>|88%)rG?HP469V);C3TXtCQO~l9=x0}WBN*96chDf}s)7q(tbM+?RL}ghZx9JMn>_w$eEL5s_y7oyHtvW)HvB@z+<#f8VNY{5T+vS>v^0Zo~mZxSQt+*B-O6b_M`<7$3V)OLP zn_*(wwPEuvQ6^{Y(UtmN5+(JZFNIMD^_6LBtoAqsTS=~pqtXNm{4Qgnc(oMR6^j8Q z8ls^E$K$2+|^iRo2p;6JvQLBIJ$yuV}_t# zT~c5aK>Z+H*j#F@u_W)%IRYg@na$SOTGbsafEssdf=;E$Ww8#$>xKkhgWcZfX=${E z{Ka`tdG3PJgg-B`+EuE>c#qNTvDB2B%|h~JSGBXiWh``SEj1_$9~S2J5c~T{(t(>f zDm(BLhMYzU*~f@2-NUuVNE=>D{s`CJ$3E#=TJA{84DI*=dLQP0 zEebHHsQmKXm2`&Y=nSpN2N_O|v{)-&l!ulW_X5Tr(V*%scbOah;|skFvEEjfrOeeT zVrgDL3k(qm^BM@L?^cl1Kf9X=}kZ1^? z#6$vGp>=YyG5HZ)%fvrI^W}(eu(u=X`pPKx&#aqesZ|FteLbh~->C(H?2$ zQ|tuc4Rj2`BQ&0qUYl#mGcAT^rNwbsUKfF^^DPV?RS@UT7dyXVf z7r6lCm$T9>R5F0F)3HII;Ot-yv_NgP%ZIdY;=16 zKb}3y_?>zg@;J!y_*8!D0}4TN&88KQSmfzeNc%IER)OkRYLEC<6YQ@NNn9e+RmO$(=|aFpgq5hcw}ce7cwj!>IqHen8`(}V*z|wMuJBn zL;{aZj*Lw1-bEUA?0AgjF%I;d1^Tjla;bTYy5k}|heW&0QlDJVJp!i4+1_Y4v6&Ez7|p-PtCmc#0ru3ud4 zkK;}^X`IGMUUWaiMr)bbs5k2(c@17)teyx}d8GzTq0QlNfR5JybtOQ%Iw`e#7b~rV z6RG9!qQNa4Hh@(OG%GoLD@QhL#d0{XroOaYWsM8y_@y-t4JwnFUJyMd1vU~RG4vz6vwUk8r+n!p#D)U=6n>O!g*UBYdDxNIcL+1R zBDM;RSXcni=XIHmglPbP0B{p|e52F&sg7{-+G#cprrfA2^>wO$i8Os;OdFb&F>Azy zAZ|Al)xEovKHVq@IDX|6PPW{z$Y|ef&|{FDUi3lnw<`&wd6zn1Bz#_JQ*5 zM<0ds$5UQ31G<)eY1>j~?5tUB%av(cbe-^$@T2bLig>KM-d>|E%quG_6+C>grnNfI zq0Mbo2HW95+K6r zY-WooU*r7+jqhbL>IA2;s8rpe6yt`cW>R)^I`yx>$NvL9{!W}jKmJ_?Q+pycjUG## z<*3Yo7V;&(zWfZItFZ^YhOhmMefYKH8hmYcH^ur(y$yPvhU#Q2y-)S32%R}c$0>@#_Rmk4UTze2?jxk9_a!S`;foq2)IfO{p zI^fzrvuhus|B|kakOq*s-iB)zGx?3cb7$Cd|BL=6U0Y9L_-^Ral#l7>4v>0$5XN_f z>?5=wU5k?z{4|WW3fbQ>X_u4hPNckeJG4KAoLY0lYxlsl_0UEXavrZ1WvA3vxk41> zs2_=Fw_dszOGBLyVX6#7hx=!_!p}+bKcv~j(tOe$MqoP!Gj%jH+Yc!}2kHKi{00TN zTdzWYrZPuf>xv2P)(0OH%lrYP-OJJzT}j@cvPRz4i4~AYYiCT)4? z*TuZn!1Xh5ou_MHSCA1T`QXe%f8XSeUF0`2GY?*p*7_;3fg~54*|BTKWM4mhlbIQ* z&yd&AY3_Ql&xrAtFpIwgFY|TsGQNd71#^;c74y+@bCJ~wO192i5G{y$E2ClZvMaB| zm~Sj|ScO2jHwtr+1K!~T+;Kr+2Uy;Uu z8`rF%@htG0U>a1cqcJ=*bu=s!4xynI=|;{YCjG2(S`?GK63q-R08 zq2Z5ZnefL;T#k)_5Je24AU7von4ElJg1r9l!^!I(eH7mzVTh!f@KXr%4td40dy{Rr z8$U(fWb4pNV#p>kF=YFwche>7&tl-<%;qd5J-Qq2$CjxBj6(Q5%(H#kpV+3< zCbqQ?^RE$qbF-B0_*JH}hw$;_H(A1TnPldw(~_BmA1$VBf*IncT*Xz#I8ql^Mx+== zO`u7Y2U98ccXdy&y zTP*lVbCJnxHWir}&E@E~=po4Gim@;IvSME@MzLQK`*O3z=B;#@y@Vq?ueCuD6%J3Q zzD(^kf;3!GVlt=W&H>Hje&VL>1+!Lz-hq)9T0WlHNoYLb@^%rh5s20brHcRMur|b(AGwcb8sAP zoT{svYHXPD`=`7Is_Si*j_#PN7XIDYx_@wJZ(G~mp~3yFEp^ikjnj2?(~S+&buHN7 zudr4sXE$v4&1i*J#A^Hlz9&7_Eo0~C!IzG8OY9u?oEkfIYK#o`Cf~wky(dnf>^${! zj~S0;3K6JPiHRx=)QaTmkX+t_2KBlOJY|mBTIssfz5!n>gECH?VuwG>b*|~0qX*#j z%G7^yF_7h`Kku-JFKB>)lNpY-q({vabgxe7C)o6+;`+bK<@e>0+c!lbn{FRT|BfFY z7&t!8j^&X}w~dV4Mz4#%ZG$H!Cr=EDNA&*^`niJu004N}rBgXh13?h1^%?}?CL%%; zf&}Ia3?!TumW((Bu>rFz*j~%K#v6-I6$t9#7Qh@b9=|Be5c zSo-woS60nh8I1OQ!8lPQU@ty>BGu%EJ}IQR7TUV_sRq%+V7sZsS4%_VSmC&)AzCeQbXd&zSqi+WSHQ!2NTcMbcB zBPwJ*sTGn_zMKkeAv1>WbvgxjTSwBnGxMa# zvK=QWGjmgcCD~2e?zO!#Gc#YAnepz*_`lsZ4`k=} z_gOQuJ3G9)^PVI?=)b?u7ZI_HKVy6IV?FVt1c{QQA$`&>9+zWeK(@%BY?WK~50YiIe4WVtuiJ_*48XdgStQ1-YWwP_86b7GKC!3Kt|>MW zMY)z-TdpIXkn76z6vP*W$EyZSXEAfonT0ASa5zonO#cy&u@x0t#CS^*dWkzf+vtpvmi7n(LIayAT zQ{@hFn%q%N7axj{oFT$;C%LnnDQC&qa*o_Z&Xv20UNa&u$lb(?a(B6h+*9r)_m=ZS zpWH|0<$UpyEXW>Nl)bV~_REr7AQ#HA9FT*uB2JNu#PxDtS(P<$gNTZ6M5lg~7m2OJ*5WI9 zvAA1aA}^Jf$;;&x@=CFd{HOR-UL~)V*T{d#YvpzFdU=DqQQjnPmbb`TP<|vomY>K^d{v|S^B>x5h5&#fLECd65;D<2~fEH1PpjZH{ z&<5==Rt!Ri7!Vi1IFS`O@s|{$0^?xJULz_zd*Y%g|%B&5W2NJB=K^+>fSnL8ruta&5foI`4cphGW7vbOV61)trz^m{Yybf=`oA4IA4e!9a@E*Jm zAHaw35qu1vz^CvTd=6iT2gHN$C42>6!#D6Pd5~*p6ed1IOWboPf*W^0)%7h%4dBxC*X{tKsUn z2Cj)~;o7(ku8Zs8`nUmZh#TR?xCw5Go8jg-5x2k)hB1Os?8F$xF@as!ja%YYxHWEr z+v0Y(Jti@QY0O|2b2ten;}o2VJK!|j5vSt}+zEHanK%n);~d-t=i;uo8}5#K;GVb_ z?v3+sAI#%?EMN~7u^0QWA4|9Z7h)L)a1blF2=~P**07EZT#Q4w1cz}c?uYy10eB!D zga_jxcqkr*hvN}=Bp!uF<1u(F9*4){33wu&geT)Ecq*QTr{fuTCZ2_7<2iUPo`>h- z1$ZI;124jh@e;fgFT>063cM2kiC5v(cn$swuf^-|db|N|#GCMDyajK?+wgY01MkGU z@NT>Z@5TG@etZBQ#E0-GOzJu@Ld-y(nfFI&V_%VKhpW4twO8PYP347L2J@lv^K3n>(Y9(K5al7 z(nho~Z9<#UX0$m?q%9~!VTw?cIw?kRN>CSd)0VUqZB5(IwzM5>Pf1EqnlhB798IFh zG=-+p4m6E+r0Fz+b`tl9A82QqDSi|`(JY!xb7&WuOS{r;v^(uVd(vLCH_fAc#5gfl ztS;6N*9a1qigm;#;$d-=XcIm$UTjBsnokAlp(6ECAN5m-7SKW}(|`zyRq zUl^i=4x)qU5IU3&qr>S4I+Bi}qv;qrmX4$2=>$5FPNI|P6grho6G*4i8FVI{MQ77F z;&3`w+$;Qa9-S|)5I@rebRqqNE~1O+61tQwqs!?EaRgl{&ZK|RRdh97L;s>{={mZe zZlD|KCc2q!p}|={~xj9-s&5A<-_r6W@zF#9HDcv9?%KoFPsZ zr->^?UR)-U;#7KAoKKI?qvBj~j<{T$O^=B&;xT%ho}ee`DSDcop=aqidY)dO7wO;h z61_~X(5v(sy-sh?o8nG-i{7Sp=v{h`-lq@fL;8q5rcdZo`iwrOFX&79ioT|A=v(@Z zz8C9?fH+zlDUK7zisQv$^dI`Km?u7`|A|AzL-YgvNI%if^b7q;ztQjX2mMKZ(cgwJ zqyYvRWEh6e@Ec={fYD+EjaH-0Xg9_h9mY6gyfML8&RE`9!C28)$ynJ~#aPu?%~;)7 z!&uW;%UD~SDBc!nae{bHye>WvZ;5xr8{$pzu6W;A$5_``&sg8sz}V2($k^D}#Mso> z%-GzRXl!AGjIa?gqDH3?GvY?V=rX#EEsd>=t&MGrZH?`W?Tw_7GSWuI$Qn6gk}=ts z;!Do278e)&jlohlo6K4;6=xV?7-87Sd^SuoWd39q!=!?tNQl=bZ5ZM4h(9@yFH|do z{$!=EGFV*LlB|{n`|^cGz35M7EvT1-x`OFKsaj|Z^p=ZDTGBn0dcII74%W4#a4u}Y zbf+&<$eRL9P_5+ayqN6^Wtls|+%aEPyY0*BMHW|>xl(d;CbSHb!*^+HC z$6U$*NZA31`?Kt*rGiCkCNrqiKpY%^*L#J4V`KHuM<(^`2>PUm4aSmd_H%%wXH_Zv6 zIh&$srn#1Mhn2NQS!<`Ahoo=1C1ScqL}!e-xXL=?m>uln6)7I;^3CuRZiZ8oVMQ5E zRfa`m;_PPHf)UP7)J`p@KAkmY^jE5!tqhx+wWTpvhJ%<5waw^nm}OgS43zVYI_t># zXLxfSm{>Tm?-y6y+& z_LPd%Vy#s3&F!n^7Z-!Ojodw5oZeigZ#T`tBu78Wp~`jncGu!tb|0}nyCW^xiM63x z|HM!zJk~nRJhTp_Lob(g^*e*(v$mDa&;<9a@yOElIdlgfHqJoHjxIXWT{d%sNi&;G z>fmZ~2d3x+^QKNLR|@6n(=zQz$G+;~>R|hfW^zswIl*PFm+EC}Y{oLi=8PWmnO4_A z(V%Uy#@SjEZ*?rS33GEegxVqAnTU5Ls|nvE1v-P1bm21Y$nWf!8uI=l&K2FmLC~AJ?cy9;0BX!CW1+}!Nfa~BZ|TkaEsSXd~4E^^j5x4nM>~m zjr**M40@_D=&8hxkyY5cEvJx$r3Cj7;wR*Xf4WBy`OE0(eNW8Jc=SaN5M?aTP8R$!{$4voDCv(+*7 zB5Z5O`D)${jh&Atg0)c{8V4%QqT(zf-ffgCgMH>>zv|2C-oA|YZkU78%@rPJ)8jc` z!`q*+@~jOLM#IyevHBdV&)Sh@VcA?;V;TLKsj{g*Ggonc*3kV~!`q*A`-ZIkY{=7} z4LSYUkky|JkLu4jxw)8c*xR3R?4um0T(@tj)t@aL*`Gx_O4g;kz`m6I3ntb~=j&~} zqbzFN0`IM;Mtpth`VI&CoPNQ?oqi$Q(bwEBgt=dcYGQ0(Q@;@Aej%(0Us-`ju ziI^rj^35@@CC0o&#!Gm`C%e5w$|2NMrHS^u+nBhFVfKT&5_cl%mB2*a?pHKn_bVo0 z-EkTn>t1&(ni~rf_gU9`aM05%4326@;ymGLNUGLQ)w8ZTsv${OyxeEiN3|7EZ(CtC zO}=4^dDs=)KHSv5;p}<+SkV7C+dG!{J>H6^ZTCjy51Si%CWR^@J zU>A&uak&&)oMK^Am5PmqT{P;VW*HRPn@Yr%5_8dvi@E|;Y1n9rQL8Kpt)8N=S;E>< zE(m)t>aNqMQwk<(7eZkSmqDS;TLh*sPG!N!YmwXrsQ}Ga9|gr!aM%l+x`Nps+1(@C z5mK(S7n-8bR`8q-1?n+Be8qadlGI~MGBNdb%a!8>Dr6@?^;AlLw!yJ5P_%OvDB99m zxYts)6qk{al$+PIn})QT*R-40bj*#cLR*WTjIw41#u74)gqYGmz3M|HGtlQmz&^1H?R}%%wodCpTi*z(bh$D>9m$c)q5nT$L(g)O-xG5Y>sof z+m)y0jnV=&P;#SPa^e~&*=0|PslDk=EYLzHZt4~)jP90e68NtI>fJ>%|?jO#M@9@;jQEX4gE;RvED+W3I?p*okCT=c{7ptKHL3>j^uq9BkK? z&YbJE8Z|09{EL)Zb#{yPRUc{t2C9z8YIDkCZdk)^%wldN!ydbpPEzp>)NFYz+@b5i z<`XlnM4KJEbEvo1ma$R8ZsOyv0dZGryj!0$#p-~$S>~6OdQ!pm*R8`PP;d4q?p|JD zH>2I|i5PdI7}p*(l$3@Op@vhljb+)ZkL|{&gC(m&(6GyFOrxo`vaXjo*UPM@;#{M$ z%BYUUGHZ(u_7Sy}u;jQmbAxZ@K%=>U68fxPtUiX+^pNdz`%sgstwSFF0zr*; zH8$+59By7YJSs9>?zYM4APqO~#hhD$Q8(>5ZR%3Rztl<1QajacOGn>3-BDfN=7)Y~ z+3wUlllEFoj&-ZwrL8UC(7X@4^U)FWIhzjjG1l4cT%b&P^>$8ZzDlhZr0#vH>G4gM zs>8xJtEN|4#*L`on6~IEN~8KYFKWHY3Pn@;g+nCK6=E1>7-1M?*vT-)FwQW+uq&{% zSglM{AAXIMdwpizDNr9$lzIM`cbkd$dn=8qhNZ=NzE)bI=4)nn1{G2)_4U^k!(d4Z z7^CG?YQ26XP(dZpgaJ#WiH*@RHKK$n9wk-rSYj1s$yH2Ru!*$Ul0A0UExYTM-F4gU zI@?`myX%(Sb=&T`ZFimRuJ^XGJT2S`PhDx(;uWG5m`Dq&P)1rxG^W)kKCMXcu_}eK zGR0`AGqH9@hvkpTOo%fZ;>?CPvmwrGh%+1F%!W9#Arkkr!@`sf&8Ku|K1+v2 zEghOs>(H3iG1wTWY8@I;Iuyb>6l&?PFr`EDDIJ>6(xFjHhi23|6lTRNVSQ^EvRuLYH*jJIkNnXqcxY}j<> z3c9v+PoT3_uxeXDow0(hZF8QpRp8n-8LUhd#uk?p%K3qw%Fy7%LcUfUw{N3ZtCuQ+ z&d7vC#cHY2qmC={sgyV3N1 zpkxzmW=iH4tF=;}qPU(j46__#rW4urMfs}Pgcp13+OV;jtm*(Lx_!QRg%sUsO}f(^ zie6Z(I}GD^z-6(DAem|DE%h}_r_A2Y(jDeH2=kr|hlBmYi~5UJL|b{8CW6I5wT|%t z2OrJ5X+B(?c#>z)G`z3Uw21_HTB&RVg&3zE&7FB4e7P zQZJfan$~4@F*aT0s%q5(Jlm!TdurwXFaOF0ONweYG_H-;<*e@{>sxXYTDvC{;$0O= zGVJ0+aI`}`=_3-4pUEMu#d70`;<-bshZ4Cxm3;b zAS>caHk6F}78PsedLHHzImMNiV*SbPR@SM%#SQ2iUt!~$OwdE-ld;)FS2fP7A|4_c zx40~|Uaqi3XxZi!rN4P*SxmBoZcX@^F<59+&D~HKHt~SN?^l6PBfaH{*<+em3kSeO zGir6sOk!Czq2~2DTy!=gzpsykte<;CBKAh;;>aZ!cBPn3jVTT+st=o9Stnw|Iyu#E zhO86T7QiV;B>nknwKCLLWbt<=S~RW8jEA}cdPtQqk91ojsxWyZZjH>Z)cXT0u!p&m zd`Mfr-!h*vY-rgWOXqy5$txF`j5AD_*NeF`dgfP_SR>Zgi6%@kWC1xFrv2tl&iAn| zu~gim*^rp^lPhyP$}qt&!}FH>ILnW-{6x%#+!Mw!46PF~VSSmB>&oSP1EoRr?M<j1>sT41p3&?hO$l}iPD!_l(L8n4`^QE7)?9wT zJP2y$vmS5nP$b1aN3y@8w0|~cfA^QR$C*y?mrp7FnNZs1XF2?9u4u@HiGY40F|U^S z0o_+CjOS7eBMj3F;|!Al{fOmR(b?8tsVvOTuPpYCS~f+kue?mi^1`WBv)P|tELVnH z=13<)RuV}tWP`1rr-hUd-CgD5~9^)3=*D>D)P{yIvyVCDL9Z zZrv?Sj(X>F9wO|O8I5@fOAJk)Gi_R%K8Z_%z3LXI1}3{$t+B|$W;kOr?6G$1*0d+u zt-I1C2fXA2&xLJ|E$6+nopsh#WRq>W=kQSG+3c`d1~~Ru2Ds#am-HH7k2M+Ktg{TT zNy`8aWg6g6I&L;KzFO=n)$|4G$m+@W^_e@0$#E8`-lW)ZEe-Y*m#8-e{|6F!jo|a(3 zz=iqP*RX4Du*CjxQ$9AggLL%7+(&*EFMbtktj)2()_?*#agS20a996Jfei%wqX`#A9FffwrvZvpITpGzWvjH=C zC)xs?^B*o_7g2cH)ZGb~TV>t%@sp)3EjzSb2UHW=+PyYVs`L&bB1)BB11bUv3ZnE5 zk=}bJ0s_)i1e7Wr>Agb;Ez(6G3BC7TLJ1`KQE$nOY!7U^CohC8@NV@xt zk-{cN0@K2qb5Qn0z+N>ZkLzGbYqyI%nA}bq+Tr>I$qJw_eQn>obgl5PSMz&1>v0j?gUbD) z?cLb=<9#LRi6OI&d133r4~#2b2fM3Pkz#AgBNkXd#8IbtuQw*TUoG;1hAGlKE6s&T z+$jhw8eS0TGou3XVYKb_Rzn}f0*-R~^7We$u17=m9EG(DRUnkpK*yR7FmYZ&eA+*Y z1iBVY?=q&x6DeZTVvp4PSk)s1igTQ;KdE;aNAYB_^y+&LAH8GQLH3Wc*v)n9a3~!m z)b$30JI0G+$52ZjB3Q)t4vooiY;PG@CKJDR3qA{**QQg~ zV~}W~M6ORbXli%h!}TnJyT{)ZwfQlOzLZWI{9?o!g%dni_DJ7TQSO6F=;U6zTTB?qZU>THg5Vy;e}7@$N`} zj8f8F891Yeo_oI$HtaBPA&r~P8Jqn+%_J-*(WT2Ao*;xNyO&j-AcWopC`zsF+Gk<+ zcBvFWYr6x_W)zdr(f0ad+qqeZ#V{JWrvX*n`eM`|h1*EPWdIz&9W*NB!P_L1DA(#9CU^##!utA)L&&84k{aVhL*6|+(v zvZV+|7{FW6)AE+gv_KNulFkNq=i474OBzDIH6(19avCeGRVXH*-e2`up1DN^bH`#G zm)Gsd6yxo>pUGW4_PE{o>@C?m+6J|ABnjSVi3#RUrrRF%=w;YEZg_;ebltOIw*KSN z@#OSm&ZOVu@}w(-0@CshK+WVN&UFE0)NWvI6^=mNa<$q)%-;f8#Ui+Gksl>IzBmHE zPI>ew?>c29fRv6(oMSJ&pS3v4hzuCpruQ5qwpV|!zJ)dlIKXV7fzb!2wv>w-4u-be zx5B5ZTQs*u$V}O|74wp-y3BW4T*=^9EAEcYmU&Odw2TEaknUeySMs{LWiUO}vK}1P zuNPdIu&3DNGR#(tSlS7mQ#`sVMz+D)@Z$Nat(Ky6EGf&YGg1DeEK&YZ(xh^1aK(Z| z5us{jhtd}NcCM(AtBUeA$r3m0J+>!jH(R3HN!niqGr_!B>~*(a&t|s}w)aP6vDw^D zdMUwT|9HD=_HA%{lqqYk{OGH?OYXO(VY4#rwyZV^dN1oP+pBM*W|6_QQNpaY3ZqeV zJns6_kSFY-Tw4zvWci}pL=M#))TU43xa~v1$!t_tsIIhK8F^(LEQh-)Wq@q~LR=tu zW{+;L;Q=R}iy1}Yn6@QF#Iy)Uj0f9N3{Gpy?Mx@P2q7p(3_Vw$DjCYrQ#(U@D*(6) zvOA>BX)!GseN9g;0;0m?7}}o*FpFNZkhh_ycoi?3F*~np>0r4~Y40Px5E(gt)l|0k z+`_ryY|@sOH%ZUjxaePmg9AJdYtho6TQShh3qls3lJq4kCJ}18iXe|S+%a=6I+qlR z@>|$Ct#^lCuc`A51@f$|T)BZzi5u>Qk>UVFSGbs;`a$6Y zNNt{56f@1RRgnl!nT#4es|;h`+DUCVn5&p*rKloRpYp7tg->dEF-bKNZ?WhEt=OOO z2}_=o9eoyWk8jgzeQ@0-Qf%7w4nuImr6djCed_hb?B&H>F);=DL?Su1jYUp-Co%d& zF9%mRO$dIf);1pS#s`Td0i`_wrQz-DBD^uALfq%1c`<)-o$+b6+x`8yL(;!Ww}^YAH;(Wk$5-cQ?} z&L?EV9(TP(w~B6mQg1ZqXzM4&7HR76puT6xQzXaqk%pJm+#b>ODLo!>5+L%SigQn~Vnn|c5Sa?sf*po-J@rqD>2{!V~+(~#AWsj%W zdMzQa@Q!UuLkRz-U_x-=4CgUb1Bo$kq6|Q{FsYLev}1pYyG5poI(G7r7yd+>s~rtD z)Ybl6L5u1EV?mo>73Hs8KxMYqvR@jLHlz#2C?R_vLAb-zI<9 z;^6d-O!ry}-CQ;g%#xmCu^CTAx!H43F8vekbLNP%uc)8;Qa=;CK`mW$71lJYfxBV^ z$crT0ykPY_yvSZ9%r;f=z06j3k!VF@OrKG(%Imu_KY-Q)#lG6D#A1AxRvQGsgGG|u z(?Dr8puU)xNTr>q1V9}$`H()anU_G$KqR8&d{~RJ2rYC{gFa}+{&YhanLVju+jS9& zGzl=jo!S5gZzyT$HQrErOBNgJ79OX=pAR`l90j&w&DHMhiXLP5OETbW3$-Y(tYX-| zp>GZn88-^dl#gvj{XOlO)}d$IKK3#-nMs6QJtl~pT%h)s+oJaI)t^?U4ux)69t*ck zU62T#n7l3#J~2%b1}%N_^dv;e=$X3aSn>7z)jf;d!j(#XroPFJc@Dop^LUf(e(Q=E zgwBl&B#YO7gTcJ(CJz4=rHRY}bfV2_q4e|3fN0)`ah@gUoLTEPXV6UU`RNdi2%_G! zFDKA=_Z=0*uHm_y>?y!5O9&6VLfr|%Io-Xv)H=BjrtW`sd;4(_PjKRJU5m9k{< z29K=*yNl0NJQIvVh{YuzT&aLmAc#hQxL$bTMr^BLx^{shUWBI8D<|=A&jd$1?w;nu zlc@LfWhpSVx)_KKl{!Mk@i08*s)ZX*O(Oi5xm_jdzTg+ACUa@yMo`pF^&b#OhV~k| zRx*SD{O>r}u9B6rN-=RMu3H|R8$nxxpLjl9^R0mL4?RvzN=GKr8+%^m_VZHEGdemM zp_^)zU83e>I7(MkZPhd+jx8?0%w|F+XJHW9c56SusF8F2{(_RzTE>d71zLYPIQ2kP zTN(t1$v)qq2nV$081B(9xMB_y+$PA64(2Ha&lyO=-P!~_bY>XfZ)RyzEG3{L6SHf! z+k46d-cXND(nU*BZixlwM8uO<*cW&x#-IS{+_7sIH2#?4X>KFM1{xsq-9Q=Opj~v z3w6&lu9s1??JKA>gKL+qa1A3V*E~X9>Sb!jQ+2<{#4&dU4X(#9N4n%~zS)rBN+=3Q zix$;-`#lV0yEvBd$#ML5V5js&a=Sh>s#<>qqV)Z6UfI#4ZYB2?`NN2K>sgj()3xSEnhsQ?9Fc=M5o}xY{>oZVbn{; zrr|Q2-68*f0NZ(&E!j&lzXLv#;4sb0z=9}Vczeu>%19Y|>HX-XN5(O^e4Q$9xm8W7 zyELyl#vQ79^N@;S22nMYJf0hGsG_&J=0X@OaTodQX$Q zn&Ex9BCkP96+wnu59A*9lMFbW{Zkt53#WEFfxOHiHRT@m4ow-++-s&3b9t!=s;^5! z9R8lDWkJCu7_awBqiin_;f|9}3 zMO*_<4LrZG&w4_xI{LLk%6mZn!ODd)RFSz({rFf(1hTn(h&mulYU)4WO8VK(x>|$L zS?43(dFjt$5CG5HjHA#iZL(Bz>$XTDSJA}+MlfdXR)hp?7xRM4i-cg1*wlMpOh~;@ zh9BO5-Z4con0iVmHpbdtR%~h)IhSQbuGp-eO0F-zmGK?C&FAvE-WvPpuYw8se#7f& zh3h|t5Z&H6+oDLRHYGb2o2KrnbFL@XuIYnZ(>286B^u8bb`MT1YP!(qLR+pdfd7^o zCE2FrC;}3F6-&>y&EHKOazZsw8T+jc1>ytNV=oyPm$XDA_IZ|LH%EbFqo>Cn0Ua6!x zjIA4$u9^I^s2f+VQ0ih1$qMAE|3+K}1yzo+_s85)5S!z8IsFUO=c?=0S- zl3$di0W8X#^VaZXw{Rmy7s(<|;qU&VMwhr`ReisOh&Cb_>TEd!r52RXzcwy$W&hyaYV>P1V4HMAL3fX9gd8_v9_6u_&gj*MLF&c4 z54g|u#De)T{#&gN1Gh6N`O07XRcT}YhPI4oW(?5c8yKfIwLF;|9{3%=I$<6|S`qnk zi2n`nXs;Ms)?4Mr<|9kW^(ww@?iUfW{3tqKbx7+EFsOeI@AF;-SaCsN4u60rCtZL+ zVJL(allBVG(%ULOG9Ou7F8L3{&XRIY?cag+2Uv*}SLc5TYKF7|@>LPv!;oflqUz8P zy^ET$sp_9YjIpVv%l`mWKd&ZrHXf%Y+te6;#5#+`DMpJ+NK%u5$C}W+M9ZpeRoGPR? z&=xYRp-jh-Qt+QP|-;`c&AgKe3^2o<_`3*cjGtDL4xcB>p7 zd-s9(s>{o!s?52|K-IyPa^-MMB&*F{sWy65NUC-WJF#TydZ;;QT%IjOb7%00M2?_O zs8EZ`kr`fRTvJJAQQmb<%RiyHajiKyc@~tpIVCxoc{v?9CdE1Ixj98S^tl}+C$Ma+ zDykL@RMq?p^?B^j9E-f14>>VKIjrsHl$lDkNWJ(Dya!0SEb8?0*>#g&W-7^lWMiG_ zCtZ`dK0sQlO*=++1-Osv4@~oSTP2ZT=zdMlv-q-BWl)$7EIwMYMFh5*{*-Mxc;1QD zm%W$XmK?RVCB8RH=*id3xQnBWCW{>3-)B6W@EJgD+z$=+^bxagCN`{Ju&z6@JD)i? zA&sbNn>bo(Y^xoXoMx~NPu}&O-Oz+6gh|s!%EeX+qp#xPw9j6Gk0MyC zmY**%kLIvchwqGtO7Sn_3t>LM@6Z(n2J67I>Pe3tqx{0|HeeUlDcQzWt z9TNu&x#9XGdT5JHDX()?n2wF7sPk>aR`m558Mg5)#)RR9jQ z^u0@i`tJ^o)Y-2-2wn;1PHEP7Uo5|a`#vsXFh8d@bNtE z0L>;zbvkqCR5pDN({I$OYywuk0s0j@c)s1(7YIQrPt{NqXrF*%%9me$a#JMJj(4{TAa*>`{7zGp*A@UfM`*}ip_5%wX;WJ<5Xa|C9(Ev7d5?hdHP zh3`DlA4$T4<}#43K2AEAh?w05u^F@(IE-E0&LpU2yAV1ceYtc-{s zJ2UD~q)p_|d8>WQPf2*(wP+exNK%PwiGce=Qi#MlF<=+$UH7Uy-9{4u>x}Ja9gIvD zfzX20w@sN?t$D#+v@EmRb)UJOs? zD{_cqPF#@F8tc5-AboyZnyO=&MTA;+Uyi7jpj_@B#loTgyabS6LrJYaYH;_7AVBlM zH&jZkKXPyvD2Ud0@Ym=7G|ne4lPPxzYJn>L5oOx%vD`5)Iut;7(OO9o3MJ#jpYiYZ zg|N%LgXb)jTX^Kh>E&kro-R8+C{*pY9Ng6stXKP+G;}b^n0ubtGz$EGMm4VJaL z{MZ9|y&m;i&s)9_la`6iUXrpvMaKO?=NAneor*-o5cCXI5kx|AxbbQJs?bv&QE}tx znZoav9$5TiimIis@OTj?uY*OK-b1sq=CC{FV-%ehj#TmMby?t5xp?ITcqP7ge0R=i zYFl%>w`S!q=I59rQ|mBM>tM^vg24I>at)YmbGFjs$^}0TpS&8~yt|HS0>M9emi>tr zzg5IZ_Z7D73#gqEP;u0bYP0Ol~vX)bt{%twldvB=@t<1FN9-CoKAZ zD!=|P{`6k}!AmF0L5~5NMfdA3g!SpnkmV4LvEOP-%2M?U*z*Yle89CF@y`P+J_pds z*bFVjtl6BrYRqFSr#FAxKDTnrqFB4zA=en9mAmhW1frXvL!(?;fX+!Qq;#}&i*u#d zCgTC8PIRp!9Zs>yj5m&>#ISH`D`CIbMu@XQZq&=*7Mqr9|kFGK2hFe%Fph}Nx<+pJTz1`e!u7)RtWueiUYF@pEqH9~_ zHoplO_FEVGblP~RUCfc>NbkuIrRpPA|5>R01@6|$Ee1e)kW{_$&ixqAtH!wnz2K}bagELpBDC$C_rUmb}ksn`pyd|c!i8J1k z{IW^lz8o$83tv$l8u?c#SAGEG@wOmJM8z<7%Vkbkx|q)%@QuR?mOH0pIOTA~K3hJ0 zWX@PJFw0u_7mq?-;lWP?Etm3qA=G|?#gwo%F%7B}LvO36N(Rza&%(QR9~4~|YMw`& z7C#*N`qYqJj!xIR_Z?{6%ZX0^r*K`eLo&g)loq_ed9Uh|T*0`lOu!(AhJ19o%KN@s zuyFSWg84iR3V_f#AOIIv3re>lENtw*tvjB7eFgT~+5gGdCFcV637m7%gA|gYG9zY6L*C({vkJuoFZ1$1-nR*QTF9KMq5t6kD2t@o zFCa~M8@BQZkoVmM5X&r%?~;_g*^eYd9}1b&x8>^fEfk>6YOkX$nV9Cnm6S?SfP@%Yi6kGg-|M+ZLTfK-QMF#Ls@J`%dVERAK+$!se~& z^Rm?j-^RyMmK#vvsBeN^XY5{RIo=?Gq=*m%0jVPz?dXF^sDsn&1R@~CB1F)cvtBf8 z(^nG09^0|!iB|V>xNbYJ@q7=qG2~B_^!8?r|0^)pgI8U8dp+-kILGYIG#iY^D!t8j zh3CHy+bldx9os3KKL!gMz3%SZYIi~5!uk2Z(Ym-xwY=j!iDSegJX3y z@#?NSe@B$`(c8`Rh*!7Wv9LUpR@K0XM9T zq)Do2R?yV0n_kU37W5Y9YT1Eo3`qIaVJTGAaRIwd*c0cs?w0SBhVxA!A{f ziQr*KlvqZJScZ3cYmZn)@1l<+nZz-;f-Tk=o9nTHI+CsA%h8_s&Z!i+ax#DN4pwSH zF4EKRLXzQ|F`hc3O^mwb+?mE9XCHi;U#9Zv%R$3gbQeIF_{ z5TR!rIv>oZr%!_H<&Jhz6RaOGs@JZ^@AjV5{e*0=HZM{}yAp;U=^b)^=yrztLbsvWcbM3oez$I;0^$7it3Rv*L^kmnkha6Z%`CQC=}M9hhS|cp}`> zj%U3Y?e-HG>gdMEGbtl5bK)P@?2Fo}?3?mpt9f`^xMT4a5BsmV6HoHa{1SWD2nhZ| z@@X)$A8DIc}s$?u}#n8oZD5;dU#EmO0&AA+o7@`7u75 z!p=E5@xxxJ$QxrGZ)^bfD;YDjiTm?|mSD{%Z*Q;p`|?3Ja+A&xC3wl)aXX!r*zEKrluM;LBn=F|*2pvfFe*3KDm7<;`Eqa!?P zC<_vi%^qe^XB|G;*)5dR-xYRrL7Im6`G%8=wy_teW1|an3O8h=uFEKCT(1wGh+v|u zA3x}J(?;`yb3tbqMi^2!gN^r!-J91{JECPKbaf^Rn_Sra(*28h?c&bSA z@%kAtT|rWqInN-D!C~FaX}nN zRiw?IZ<0CKRTlSFjlbW*M63IL?pt#~{`{-jV#W$tR!gtB5=$~3S2%UVC`K10@z@IH z7;JzR(Y;4E8hhh`N5ei47tjdL5Tk+TyEVi4*(rLPH%_8WE>+fObhmZ5sOGCXXU0aD z=Z6jZ@T8V@ql|zJ0rT2s{}^&PnxGAy8!4B@-Pp#U^`SPDw%&Bu`0sXcg66}U^dc9IV&%!!jjz&K3N ziTcP5YHcYW8ZyT58w)uAT??fn(nRhRqfZ%&!h03nVU8+ z+5#MRt4vy183^gJwWWiOatD*wa$I@4v6HoLXrn8Wy3x7g6XXS`wZ|IZto=mGxuY}> zCm-)%j?o#_HhC1QjWZ^zXClQ2Ekx|K`V6%4IvB9XF$&mv>p)9EG&8C(GhIO%_euE6L!c8wW#*IRuv?Z8!)4gAxxgTLdPew98X9-vcw=?q7W=)dvXjZ zAU74#V9&SX=)JuZlrYW}#*c>*Pokl;Sev-25$`dw2M^xf`~JC5DT8B+lT~Q9al}$VBSy{s*`q`M^)fkzn4PML3yS+DP`cdg#%-XEVEuO0P__1tjS z(ETC`dZZ_TwLsW5jzEt=4;*yqm{xBP+;P)fx9ic5+NU;g#mL<*xi8NE4#y8^^AZ+4 zKLABB%Jj4+_^?u3(X=5;0nc!g!k5SWLCdY{+;kz$8M8NJU7xMljga&a=ynoNmOmt1 zQkI6zrzo26_$E1lr+(WN$4hyplAN9Gm zEZD#mN4vTwwN;Z_-dACPqVuVX^QeIg68%PXR}AV z&mLhTVGv!0sBbN~3}Y7$wNOBAYto=muSKzGIigf+Rg-HkkJ9st%=DNIE5xD>Z-?ZL z4~~PEb*UM)&d^1U4rOxykV;R^wi|RBWM#L}Oc$X04HS#?W<1-~#*GZUW)`bau2HQ_ zAr=<5NAqp((Wf=(q?YI{FOHG{m{)Qfkj9Qhd8dy{Y)0n|D&^b+X+CT{aZ;LL==Yx; zWJYexUPubf#QillQyC;Ys&ifVBn71T^v?t6R8i#qqn6&>3Au}pGiL5y3O@CM8SMjgg6@yi(-fe;@2^>_ziuSW~jrrIpFcaDQC$B&2K0i$PZ8* zvG+874SH%1+#q>>VuldpUZ)~ofq!ViBi?F4~xd4%+eNLfU4+XB7IN!F+L!CV7^3Ab_W71i0| z^qGXZ%g0~zAPODxH6d}E96mF(wbtBN=L0&+4F%b;8gBdR6ZN#Zi!f15-q!iqo4IN2g&RBN;6#I5dP(o4@K2(E*LRV-ozzenWOn8U3z%>l+kk*-zzuAA8~vc^6dw0j8sk?JT77--ED0sagQlPSH;$ z!u}fun+yaE{t(w22Shj%kV$cBFWfJpg;sWEz;}=ou&kN=kHJDc+a-XYfyKvNfEn|{ zr&JZA@Z@h10JYJ; zjL2EPJfQomCiI~z$ujrtF`4XFb$PGqMvFXipS=&d4|uZ7{FwNy$Am@Z*8olcBA@LgoAmig5L+`=#V`oq%r?+GA|`9-=`NZ1H%NK zq^GbWT5d~6+hxj&JZ4RJPuin$!8GR?ziQK4_Nn{-R5np*3X^}Me1V_cP?ohT`x#C2 zjWp7VoUea>_~kzkb0t~#Yb*|a*F08>&6KS;lOk$>;Bs%AnJvz%CsRQJu1D zjvK=&xY2+buhjXeZ^_jKwuf(2eaKFwQ58rFF;VFYV~ zlv4Ri9UT7p-|)sy%8*@84u8Bc{(%3{o4}>JKpehokkK?(o)^GU{>B$$kXM+tu$Sh~ zTJKMIw+PYCQ%~bxD|-4Jw7{BAi4<)eB5jsNxe{wL94npHV|vCuRcnj63j2)gJkXB5 zE9R=O@Pn`afw;4cNQ49y{~;vkFWmM^jl;pYBp8c8?ZnB2hXC2IdbIPKE~_AEHa+yW|8D;FH-@J%H%@!{+j5NNuJ0d zvmoDB{m7}{gx=C-HOoC~9sMq!v`p2nLjI%Lg<aBgs)%7S>C`9c)goFKSbREhS3S8O;xvPg+)oW*SKp@B3GK*NXwNE*^ zTICA4F6M*W`NJ8i{|ynjVQr(dniDzlOBRSn*)vA2;vj(`vM;4uy+D1hQzr&2f=S;G z_2MBDDelzI^9^LGq*kY5)R=*rLwH=5Us%~*Q~$=L;?o;~ zKBYQJ-EjkX_x>ET9KMt>rnVGkzmh``RWgt~P>5)` z9uC&*=K|orDt%FRDef`=|5K^92jvx0X7_+j6Pdzu+IJJ`TG|!91(n5Dc=eA`)Y*6C z1N7d1tX+0)ddTJ@t(FukE+4sB0k%R;NQ==}O^@PX$l zeI<|M5#QegT;#?TFMQ^X#WPH1Ud>+J?vf9&G42g|6@i^FyCGU`?Pg=ks^j7bNpL}O zA+BX3Ef2JTyj-{;9Mjmg|Dx+pYN6~nf0y@r;)&4@{)7rD!!YNA?yfL>L+2O2{q)Tj z|B8lGn^d4&Qyo4#FBT3Ec@B9y_I=cSduGH4P z-*|ZWcezP)Gz1q(|5LTfPL?x+`Kl2`JH@2yCG`p0w^7lZRK9>bE4y}KfH8!eZOJ&$Bc z!K7hoQ(TdkQW&p<>BA1_V%E04b%p(>yq;VPO7B=Pa^Jpi7_hkTO^sqU#9mMYLp?BA zMN6;lKVxC1Ll}|!Su4PSCjadA`K=&txsY733|*y;Ke$*$%b=b%W8tI|9+BH;FDObl82Z@@ioDCv-mwH{F8{4HrL(j^M#FMxwoinfk46gk~&f8|Tmyd7ddG~9D*PBB=!zCL9|k4zJ~G)?6;+*!~u>a_y?Q zxz%SKC_aPCzXfboz2m9K95Fa{IQG&d2Qre2%CBA=G2BUiPEJ8WK?0!Ufr4d1pWjv9 zih!|0PmdRsk1yvBYn2aZDYM^w54~J&k+*<2r%XH3YDN5~N9Y2$TQ(W+;F_t$w1>eolesmx-tH$|F z?uQ2ee%-%+z8_z@_k*7kem(|2-1^khBui8PlT4>fpM!Fl4mlUqH}qDg%tr^3GM%$r zRNv95lpFJ0THJmyq3`A{n^m9x0o@iq8!D@AT0qJIRv&3GEB(F_SeFNaK&|qv>7@GjWpT7fYi_ z{7W(cI#-NDK<4ZNl3S1Od?f!$gLPwJ;LK7ohQ6nPW;dk;Qkh-a3Y1p#`-g&k%x;Pc zykns4BN7L~-y?U(T~g_2KN1oy2Ff}$E1om~>9gIFDKwYO0t)~Kaa%k`TtAsYC9&%l zq__DIpV0#%{d*Bl)hvL$%r8i7^CKRk7DSrE&Fma;{$vV;#D7s7NTXQp!$X<{c$D1+ zXr(abKa5n%mgD$EK1VEB7|;u-s-xuIpR^}t{2qu31DXK`wX~RmKydEVhQ+_87mpeI zz|xzp=P^W(3FZUwv!I~KjT=7_f4Jmd5(j)Od4W@(*BS_B*>t7G5H(L29*7fwf_@g8 zzY`}nez?|$Ctk_l@8}N~{B!YSJ1718(Z==8fC_!V@Wu(t$qm8HecA(0!sB`z%&)TZ zrYpm-E-nZTnfQkOhfe&kXTOOWK2q1m7Fy1rwGL`=Fa^HglkL)err(@}ul*>tX#zyTjF#rENN))iFEOM74~yr)o)RFVxb+hmQG;g?JO!5*|sqh`Znl z5g+laDz4%pysS=DT&%^frK`oQjm1)-m?_U&=6jvWb5aMhj6%aelLJjoZW@15b0buVCfc| z#VRuZ#9oGP5~)4Lcr$DyJ2PzLuG75rhcpx+lWsUmQA-G(_-u}15yTcCrmlKy=}{9{ zec}es<%7(d;4&C@drihosf`D!9l|pcMz}GpM4X`v8kFKioGu2MtBoZHU*qC4wNx4U zK{?n`?{r#I;--kEh&CMHTMf#Xa6*VfkvYN`aWX|_0slB?dHr?J(0!Gh65Q|2Uc z_wkvu)#(3b>v`YdaMd8oFbimE0C{{?90h>4L^%z+heT+Z_HON;yi(=}O}N@6T*N=o z*yD9ZeCOv62K>M`%ATuo#mNSdhLJ!e10^FRL#fuJwj_v8Ae!Ej^61XkqSKWC_i0iako&+1L`7!z{;u{pCNq6u094WS0j#lT_`ggxT!Djnk5s+*O7%V{B; zqpL!c;w0i1#A)b)68*yWC!7?K*ya0;ip`49p2nWt*do7}KWidX_61ntTIwSqA=M=M zdPp@ve1vX9cVj`LiIMs%Nrj~8yyVM6ixI%q#LK-6g|2J{C{F}*S~_QwS@qxryVqR` z$#guXM*+m|n}SrP{;s^Z<+}8vHh1Wog{ob8JGR?p<6$BUDAhjdB9hA3l@Mq@M4Uqe zAVAA(K_WAT@xj}#`=DF1QVvSH$?CWyBjIm6S?4dkJ__ExztTHPvyA(4oAWy8YO6Ci zSYN6Sd;Puky|IFVn0GT(IO` zWfN9=3Y)))RXYH29PgYv)+fZOH)97kL4v=hX^G8?^EYZlID5~ae!H47lPyZ%wol;| zh@d0wH6IO-)lV*Gg)SDDf+HT~$Xy>yd%dhIkGz)Q@%j-!{yk%cO5~%Q%B)Ad0^=ul zr%vH36{{2P66`G}}+GO#d4KXU+# zw@KyBzEz6>iErf655C1%N38kNE@hPOIyzcS^xuulkETa0!Q$JC?pOWvwwIfuZbq4knp#E*r_`!=M(pj8N1TQr7X%sY2PI+8mm zZh^FenM&nJ3H>B~8{5Drt_fq)drwrT5~QBf%rQ6>y}T*!?3N)`_X^{^gK^7DbjuWz zc+8OWUa_HFgpAmpRS5rxyKVhk??9NTg-OANQ41A6)RlKRbPP|{JsaG^(00UI7r6`P zI|Jj}j;A^74m;K|K@&REKbBHwP-5$y_^5<-f9NC5-4qfoCOHbcppZ|>jpuR+|`;zH)aFGN*)u9o76(S>f$d(~x?$ck}KACZV4 zE;>Y3ONLhB;tg5#12K6ww$pSAlw z&Z+Gnis*j74$Ytr^ILOy!0vqG?)+%oZAEvZXk91L(#I5F6<*l~YHYdbQeYyzhj|^7 zU`q6~cj2)*anKtt4YCTT?R>d!oIkkdp0iAmNqM9cHcG&rs~u`vIjc{IVyO_kZk#N4 z?1|YG%{nghv``?hyzMpQ@ngN&AZ4Fs`bh3=2`(3Z(%tjd@TCe$z=8x>dSXq zcNU%8vA3JXKjgYl_7Wt zX7M`fN$;8FUth*yP66W1t<>wOFlI{YPoPeO?bN2Rkm;Yfw^DiQBazpG%RX{m83#;k ztvI4-?Ywy=Y?2Yym{sqxjKiDon+^)YhmL-IL;B)k)6TDsB%A?eSYwmbl6P6u<@#5T zL)>2TOzR20zXAw*WhIDnlvKQgK6!_>1=E$%`9TD>Fntzv=9Vi>27~poC%Gr7XJ&IL zR0+kFHppH;I3GB9{}&-S-p1Bz&JSUqeod^Lw37Vo zF@M&QIQjw1z>XZvtR}xY%?hZCdpgZDvAA~wpC0?~HLVL;kC^-ozy`K+)M}%z4zzc+ zryadrUtf>J)d-{CoHT2`h^a?U&bL|OJ~d3!fNtDv{HEQW_G#OeM9;;&>ApN|tJn>x zb2oVo$N0%k&pWN#(UDb|&~%!MlNFWr=`gfb(2M=&#P>h%Z}oq!XN~{9UrE^Luk_!S zyvt){Dn-@2hK~3HX|Mas{f~osQ`K}jMV%ORVV;&G+tzlbXii~t_H^JZoqe8nQFkqx<}LOSKhrwQ|FORseXq}V9bQEHlwZnzJlJK_ zfS#8g(Omn9e=WXvbQi~P}` zUnhL3_WH54)6_=CHt%aTr1fVl3I1=b!2K$N5?s72WuCh2c?e*(Miu0*2|XUH6QHXv5jdC){ge}AClEt$LKvLJEhW!sSg%&Ix_0`jlh*OuZ8b*wS8yoXkhH&y;|~+HnEl9(wHh!fjiGhXr+pR}tY*U)++8N37 zRr6M2C*F3pCT5XniQ2YWH8wZCNZu*=@1$JKSSk#du1C9K-P&n?ZCigByTZJImD)Xa zZJ;}TKDb7(!v7V$ulxTNwAnkX?)&{J{CiJ&qPOl3t-=KD@$XKW|2zDj`tx}$;B~iu zUz-`*CuaMZ*$Kas7=70Nt8z8_6^`dp+|H-T!bG0+LO3_MDZ~Iz(Tcm@EyY;?! z(^p~W{rkdyp4Jf`)_mapxV>{|=QEH!?Oi1~aPQw{MK`MdC4UEYP39lkl7D!g#FU`^ zbpEZjbHRV7{p(_}9FKJ5>Qc(5cza}D((aihG_$`TDR$*PuQtQ9{vE0N_Y}pIwBt$M z3;H*vZNVDjyM7Q{kxof{UAH6Xw?w`8ySSd~+-^&f+Y-~_{=MA6}q`K?->7jP%N}znVvBf)IGH&Z9J9T&b79A{k*9Kgs*ls(-1!uXc4iasP&V%CfVy zAJW%E+wPTGUAz4kIb(mPxr(zcjkiziuA5@K(BgldyjK0+%ax$IG*_duuf3z)34U=@$!Csu;=jK_W#HZwBC>UpZa@(&$(jPcw(R6$5&La%ZOhyjqS+x zCa*5JO1k5#UuXNLtg+4iE1J>ye?=?wHOOMs)35sHe3H0dZ&sUpz32b@=zK*E{D-eQ zTa7~R9sxR1oy7Y%H3Ppmlh<@LOWmk0S2wFC)wSwr^*8mX`dF=1@2jxdran|Vc-5+1 zma9Cgv(-y&w+2`P_&?vuSG%oJt5of=Mpz?Mi*>wpiTcv|j`f(8Z9QSVU|nb}=5@LC zBCi?NOV)3#E3D<#4(l503;PJ`Mf*s*$okMOvqxHw?fdM0_Wkx!d#L@IU1OhTuXlRew>gJ7r`SuJQ=K#HP0pFlRC}8<&6#EU&KzEy zo$H)ioG#9MUcH=!&izhrXDzP*PMFsb&L_^N&Om3E^QDvJX1OOgdG5*Xc;{qyf_s{C zs{1YXJm)m`0`~%EqIv2&(7)t%~0a%Z?#IA^(6x>q@8yVtwdJ5$^{+&i4}+>raB zbG}>YRyr4EjLI10{3m_=CVkysby5T9>CW_c7HEjdQ3a}qwR@B*VGKGm2B))j&QRZ$ z?>S6`*)HMbs!P>()C4t+SH8N8m&+K<0PE4pXSBXcIGZtZ8MC>BPx9)lo>4ETL)9}N&^WadK2ieSn<4HZiI)R*HtSPFSb)I#; z>S|qJU7#|U6;st9>k{Tlf9A?})Oc%}H647pHA5Z64Ea7eZ?|qI=N;A^YMeFCTBvfY zyR7?E4{MQpgZl~j-S?-hrQcvS+C*`@8mc!L#kz;H&Jb$aA%Q4fR}W-=hw; z@3rq!U04+lsa*SE`*CI4PuNeWBKt}ERpOW0ONn{SUa5N9zqdbDj$LI}tD*Kury4qrIK@2B(*@SslGq7gp3^;J(h0s*f|s$ybLv1x~p-+Np3(QHSW2rixi$I)p5=Z&JF4$=SJs7b+U7lbCVkB z-0a+}zTwPu=BiUzqqnGU>Qzdqh0a1s-R0axsk@!KDRqx?52fyP?xoay&V7_xYfCPfc<*IvdIPsq?8iku|?t zl{$Nz7IiAC|4UWM`Y%<7xn*uSxWcVaC%8l1q3U>dm^%!7jC%}txI0{xyT`i6sxo(k zI|6*1dmMPA`wdm$j&es4bG&;zF{9nl;1k>vz$d#WtI_T_cbppKp5mSY9`B9^<7Lzs zyv(=M0C$QzMGbP#bI$|gaa3RJaa2$3anx8m&J4mU+$&Tbe&Vyj#5EUtP={S^E(FIT*bEncRVc$t&bZ+W@mYX*p~=`6lxp!k}@#Mfl1dS15L z$;%dxW5+zs9$v2aoz5}8vzM1E-lwy8A6vYSE8fQz@6#D}$p#l#1%!dG8EuUwkM=m7 z@i^z>ceJnRj<30d75*K(i6!2ozj%`)#G7=-oBUKAB7UTc_>n{KBR?npS-eRXyvd8| za6HKC;1zfc3$O7Bcs;(Ody?nThoNJwHRfTwm zeDMwi;vJ3^?=V8VL!o$wBJmE#iFX((-XYIf;4Gl5_7VBwBMQVv94kIzg!qU;@exJh zBaRavG1OV-tiw~(I5ldt_=vIM9ZnGMFh;z?iQ*TAi(eQleqp5eg~8$%dWv5dEPkO( z{6dNNg);FACE^#d#V=%uU&t1}kR^U$i1>wU@e5hv7qZ1KWQkuW6~9m{exX$SLb3RT za`6kU_ytS+f-8QZm-q!&{K7Et3&X@O3>3fMieIqAFSz0tdWm0f#V-sLzc5_tQu<=zpCm8ZYYsc1un`M(=l!BJz>d-{8xZlg}furoTV9vS^I2CKdq*%{gDX!3Q{ zEXF*%64v@IY{e|J|ETZb(60!|94_u_e`>`wBSzjzjC_8tY16UJN7Ox)@0RqDl0G|4i`8}!5XAz7+BA<1%!QNbZ0QWGgxPueLPe|2FJaQ*IZt=Q}4YhDEW+puSobO34bZ!atR+HbeuzUkJ~FG=3#wQ)`P|y^^A4& z%2v)D5>A)!5(&pjPC1G*&Gfo$#=MWxtI5u=GBV{;f}ZlphD}aVtuy3Y&ye%$#{9@o z4_i0s*~Tb!l~D@Drw{3qDS3{%n)f;C26YwtmuAj%Hw?dnJ;nFwu{&Vso2)z8L(WC# zzh?c&T5eBguQO)vk%&_cjVp54M`cL z*0q{1(vxPz^oXq+i=EZ(bo0pft7E+<~Bu zlpTC-91R)Pw(Q`kCg1clWoM;{n`6*T2Hj@Ro!ActKTLSHK~G>m%kE6LLaFkBgWm?d zWY7x+kve#3JT-$xmgYA6gb&!t3HF=i)d@qzalV`EEBQ=EqUyb$X04Z*PqBy$Hb^4VbKj+{>MxJ0U;m2KlP*R?9EEINzX)<4C9GOw&k@Q6es@z@RcIF*BZ;Yv*>(?Vj5wcR<$F1`Us+L~1I^ zI%i+0v06sO(U6fQZmdD$+t!yg(WIWAroOAwl(@QWiL8tF*{W#<&1{R(mPj1q27_)j zXr4g}4O&D$KbVDf%zC=*T$9$nlC_+Exs+A$PSzWY);NPsH;B|BlLbvliMuF{lHz7) zl=B?NsL9g)dQlu@tu}EFnz;8&oGuYEC=pjB`8KA+Z8dQLYQkEw(IG?FwPedx|7>Ph zcAxB`?207RJxv@auhzs3Fepc(+@o`IN2pomhXorb_hL*6my1A`K&l?JUdsMeq@X-e$oOjY4)+W!@I&*_#kC?`9o zlR>>xP(MKhIb}J+b4KNiO^kU*IWLLT@J2be<}4(<+MpZaNK)rX9DXh5v7A=|j~PP` z8l+R7Ht0n`_|u#>azZ&(Im-=Nor2yIR0G-!m0eaJkr9p{&ryImBA@9;Wb_jX+tGs*j@Hct04NAn#HRyJO<{N|`Dw|c&sWr-bv~65j zg+_&VjG}XjSqFu?<0$W0gBHgT%O)Q8TAC6so46gxsGuUXMBd6YWmmN=oA*v~T;2zH zl|hLB>9zz&&)qz^e^rp^dg)z>%kP%oJD>eTes#h|MVy1}3qQ{omd%pm$Ux2?ac%lG*U+{kMq~eo`FD$4oc%gVw!Ak{8L5Vm}!HPI4K3CA2 zDXDK8^pQq|T?;b{^9u2i1@#8)HE6v-%?53XBVD#+cB|CJ zZJS!yvu!Pf0}aC87mh5)&lTd^3oj}}X%>z%=yZc78#Kiryn5m6LVS23KDzL=LcCz% zT!U^mXud)B8l+1+D(EQ__pCvS4SLxiJYivFAzrX>l|kiU;mg)Gg+p z1&QYm5MHrpc+n`r-UjtEXpljPd<6!T8FY2g4Mo$6=7Gi57U39J>v}o~7#VF0`&OhW`(~QB_YL~UplXBA!Nu~eqvHBFs$ia$3@l|2Rl<5J z=~;q?E#7NTa~w&kYf@bk7o>KLqoBSL6ln>1x7;m3!=8z=cnbey1Jl8VnMd9(yC zQ!>V&(+wJz5;s{;qC^5s(bpr|O--PS47${y87cXKTCOv3bJNsvyFv5QphUh048nJo z-CYXPm!L{ZJ}5y&mMk{tWrJQzK`RBVGI8%1q(@;#DJrc*@1trB?l`4(O z?u@q}fl9j>)H_XTzcg`!49ZSUEiI6^GLt$yP1#Xt;>H?;qAfkA^!yZrW-XnmKf@4o zu|YxHywZi`FPE~1FTKH_dC92s*0yow*J%V^7S4vmM z&>MnKZlx{yidX4-289gLsa1k%QsOom)F7xSo?7<9vWLrNmCY%8p=^>toelb78q^(B z(Qax2^)YCGK}Q>ulTxChRSQO^sjnzai4kc^oV(9fon+92G$>t(Noi`n(4eUXO*aSy zT6SC9!lBE&?bZG4Qh-dU81Zxj*{Z`3hJ30SKime1xR0?98*4}{Gue3nG%;*UJ^sYByMC% z>NtZY3woe@arw*T_?zCXo%x*62lpne7o zGDw#w5L9O3h8r}>ps@zQ#ud{l(3utI7<9ft7aOGWT`h?DSMgW{{;J|ugXS5eQx^(a zloI!#L5aBM1mWc>YAR576|Wey+@LoM()r#K6f$vD2BH6k+C$mNR^at28Y-HSc7+ z>bLy!3C|Ah7Ln95rT(*|p0ng!PLgAtC1-S&bE1U$h!;vdXT|bAAfZ0Hv)n^;DD_X0 zv%660pCB=_^<7%l?4aek23ziYQ%}mBMGxsC5>C^h+mG;JeJu5`-1Bu`ERVjEOJu^r8WRA0i@LH#taHjOewUTp=^vO(V=N##oInpz8B+r~6-Yu7~ zn}n9W!%rVq?(?%;OOAVj+`03R^wOUtW{zJ%p3(jo!doQf6gN-8EW$h)uOi(K)|enw z#_OBXs-H;AEIGSbg11O`sf5SKxCi$$4ww9~I~?V#uL$y3qjY~dB@#|1yhL(Nm7`2` zz9(U}gdgg;=X_uAcpbU}2~U+ePnFu{OSnm5Hp%STB>l5V#$~&t4wKYj5);hTLT9Li zI)9-(PlwWmLT8GEcSxxFq(J|En>AeO94=>fth95u)Oo4ITpGhCN_dWh(t6@ftbS zB00(lx;DbG5}v5<^Nz)g(4owb(R%*aCy1}OK}yLv+H#KeaZ+leuGubdE|(Zx_BdVE z5r1NrNULs^dG(OA|M~z+{3X)17o@dsS+rceA@SeQcL`cgN&JTrMs%tzrEHm{PF?IA zr%QN=tcc!%b(`~~oq5vENz#&0I@S4hY_3k1P?wtEKSo%w_bnYGM<2fTMZ!lU{yE9> zvXpvGQlF5c)C4j59yj}QY1QY_s@;K?mYiqEaqkRPljO;h_&E|&s}9oGnjl`~Hd1ev z)D8NcQmc=YJz6;$>pLn5ACd5v51`lp4X*jxhvQHoxZ2i8lvymjNLyxL{fXpN*^M}9is2>Ounz!DwX^GN+sqA ziP5}bv;vy_-uB-Hiv(w@!wu|HZfk=)O_K;Ior_$LYV-KqeZ)qJ^s^%z})y1*YM@zNfd71?q`Subjy+{^m1j#sNCX0`CkJn0Qb+PqqN zshhOD40f zjYZ8nVr27N{cOM4D><_lgf_(t7J zGJg)1`;B)=KXjL)A1uc@So);9oauaN!vyK!59R1@Nk2a*qqAJXm&DHpcec)zJi&e6 zzZNbC?h604&ZB(YD)l!x>k8@N3i~G#zM(^>tKfAKE|QoNbZFHJ17_&nkhYaO3s@tW z(%K4HiGAhhT_r~DZnqW-UMxMZSjKd*9C5LX-C`*faPFa!^H7O7L}GeKdwNLz9@4@d z_F^4MOMW9g(?i;Mn7vi7Zf$pI+i#>#elD}UMMkPcMyf^b^lp*V78#=!sb_;6@zK~i z`hyOG5tPxHB=uaXSB;e;^D{@rF-OiQM_QgE$IX%1D60%V%sN#+kkzz6#;%Ku+5$QH z>vAXfbux1nO3Ym{Mhhk9!IE>KjFk8{^$Us5mH1ys{x#zFN~Ld0rB$WUo>J+tTsf~& z>E}{eHKo$F(qO#wJ?(`0+g2sAQgUK`Tld2#sdJQ^B;l- z_b06Lq;2m=SR%bqVsF-=V+;O7pPig_iQ`H*QQ|+6uuPQF`#N-V{}kKJv2SBo)(S~o zA*EJG%tYNzYof#qlXW`LZqWM?NtJbH z$m7U2VDu5yUAncw_h76=^39kp1P={nnzV4N94k;eXUegDBt1|rv*<^XdZ~mbi%N7P z&odHpt%T=FSGQKC|HU$Plck46i`u71 z*)yeY&y-O+Q%3Df8MQN=c@jP#VTQ0+j^LvuoG3Xz68yY`uJmoQ%&tF6_?(1~>r^?` zt6Ce_nev^XOgYn}Zxm6RZs#@$&y<}`C;vhztIsP}>d%#P94_aWE3KU%t(p+*G^G!N z89PMs=QyiGBl&`VPnapQG)HO}8RV2B=17lyLu#8X@dKsQKv}1wBK~MsuaKbES-z_$zyvggrp-b=>4r;K&4K)p-YPwMF>{nlS<=oiEXN0b@cGw?9d&Rn}myihQj za_+&ElOT_j8ZToS=-Wv$S0_oSNz&R$!5WboCdm;eN!w;f{vQX|Kx7~NJDG1$i8)VV zWCx)(OUxw_BOX!(O6i*5n^)3H-&5-U1E@&auK)me+Ra%Bcvi*LKFi#jg%FY$LkQVO z!VUpK2#|z5AR?QH77-B$BG3?!ghe(H5L{3ZccscE`z|5^T5BnyQnYB*qE$hpN>xzy zMd&+|&n$|qw*1fYKl6O=x!>Hmb7#&r=bTGSM4{Tk>q?T>scUZvFBn){NKw=p{n-@K zu5ZU=n%1FR?_}E5p;zx@j=8E`-(()ptw+~nUeUd4UNRr+)uUUowC;^Da#!zOS0&3H zq6-(O24-LqQZnR`PeBw+ArwlL=yHmosuWArD2}RAJS9*fB~db-NTF0pqncEUYEvDm z>*h)M*?Gb)*-Vu$*-YV=Y^ExgY^I1yHdEv!nBMi0#A%%Q`Iin%qq2XbCP z;g}KJrC?-!0rzxxox^?(2RR(-u+U+#!wC+j7TPz?!~~;x_DDO=+>xUP7xLpHM;DIZ z`J-&lvLZWXP0_HzA-u6@ME)q=QdHEq3BLl&;2prGybGAgdw|XO17H?^Tr_4-5g#ZT zGpdLW6^$zz%14Ta6&HvUV@?U4aP#Pq5)KZEqI7CRjj0J`P*ciu{n-v{Ijl<^X||si{y~*qXb)G} zRb^L%ACVbxf5g0q6%j9^eOlU%MM`XZWK3jlw1UVLk-H+liEbaWJ7#y)g4p=j%-F86 zgJbtrn_6v0+?==#aeJ!|sQz?(zxcWF#}ZN!S|a+^$$i84v1$n7#!?vQCRUG9`wa+lmIv*mty zK<3DUGFKjwhvgA@R34MZmU4bor@(NL|VVOm+kwTeb) zq(W*4M_`L^HIhW@As=@r^pyXaNgRl8|-?V&yOYVD=hXm7n%uhZXXAH81t>J8dYZ=~<(JYAq;Kf}NB z+bBj{CC_u z^I!5aPOEFYCTJ2kTf_0TW(jw-E_mDMN8D}x3;26wISyZaao);nGDgPAxN^EXxq|l2 zfd0;O8hp3hRO{8gS+M6i-++3-r^^Bg?bH+1CCfPJJxu%tAZQ7VF<|=cw8EhbK#eud7A%aT+y5s{#Mh7``q8Efqef zCGO{<)q@{xgHi3^!5YGI<-t>Rr(PJ_n{I|5yanwF`YjbwXSx-wD;1%2qj5A5~@Jvs``>X+{UWFgo1F!Khe8wR;0uON>o*)!fAFGM5 z?|QK57O>qs*lAB#W$|#FKh=Z! zm42tE^t>@9)I^vV6K_&X9g}V{O*ZVTlj&-Dfvf$^U~q2~tY?y$X6`cgn@7z&v(PLv zYs@QVk2zpYc)_ro2C$!=-XO2QEA}RNGrZZ}!`?h^vA4?G=xy^}^>%u@y?4F6-lyI{ z?$mqi``!KCeqVopKg2Kai~ULd4F4W~PSw5s zJb$sj%HQa3^SArE{CEA2{QdqH{x|+H|6Gs+1qX%0VMfXr9ZAAbG8TB5i~~l?WZb!& zTgeRki;6@A{&9J@&YheHUmTCMPR6G0alW&z%bbctSm19!{udC`Mp=$tAl@4 zkdX{2f?ZJ_gp2&+w*WTvra@Up+YptS|onHjpoX4dqKp~N=r|KM(imKwVCKeJ6;~%&xQWK%>J%$yXf=#B8VB^WI?&g6V2~yNn`$C3 zQ>;+Z{c}Wv1FUhd-lBQN(l4<27 z&8)m&w=ZKKkIQykH za=n$I^tCdS8>|fB3m`+e5i%4jLtuYMP2?s>Ok@D0B{I-S>V%WXw^jx+$Z}uuE%*7X z47S{tn=SWci1q;9qCJ5_wHF2JEO><9>2o++|Dqr2Vf0MVhu|SL!Y}O6kMsz7Zr6wP z8GRmS?>qW;{T4k_^%0#9|M3Pq$H)2|dhXCib%DNsv-z+3i5^AIG<{4L>SmnP@4>em zL(g>ho<;g1&hGbhpB_ig41EH=XbU{h2fANRpyy6~QlHhWINSfGpXo{T%+#lJ2|U%? z@KFc!6d8E4yL6r|Bh@i_w=M@AtM}*%&~bXN!X9-zJRR&&Z`1p9HRuGrUtyOzQ6JE? zpp$ftt^=K{59)f*VqJ>)1oJHij>TMpxmE(lV;;dgtAP_RhhUDiz)5&s@VtH6a&QCw zfp0+Y3JCrH!4n|(0L0#b*e?)!1Y%#n=M=gEenVHlW9SO_3S9v&p)24YbOk(vu7FR_ z74QbS0)8AIHQ`=kuLWoouZheBn&LI`nu9j*>U&K=)8WH2K^u7uy=IuPqj>|^$-D`?!t4ZgHm~FU zwO%bRhol6}B7;4enFf|-W*FEWq8xT7WC)rfGKzqgi9+*SUg;xmuZFYJ=4m0w)0!Zf zYKj(yJS_*AV=J^O$oJafxejQN$k@8!>1)uc(-5?H8cM^F(T=21$oxj5rBE@AMXWW6 zCL<1;g;s|a(JEwnYtWj~I&h_n}rigYTj1 zcn;5@8+idQp#Hpw7tu|;l-JS#-oVe(Fy6}BXaw))&uJtd;zLx#hxsrS^GQBQWB4?m zrLmGAiFBJJOEOJ_)=j2K(4MDgCNyXX&CzAhrziEWo~6ZlK`+pH0~bsiAipqr-dt{C zXp^aC;%Ku;HL0}4)HJndtI06U=p{tBz32}(jqj#En%QPHqCFoRH;6`)={oR71351{ zY1o`z1Npsxe+^upu@x5Va)GS|Ailu}&+|etQi#oWwmg7qrdQmLO6TD!U2(l8&|}K7 zSY+&Bh$9zXG>&H6!@Ceu9XBV;Nps4awviRy8{*b3h_B-VtL*8j4R&7Ntsttj24ORN ztPXETEv;IXZ5y6rzZEWuJT`e@9;MLxtuuS5-JDU&}w_3;D8Kec>?jhD%pth|#LZJ*t(~ z8WKyZ4XI`I23O6gr}edgHq`Y0vF`A1D?9QUyyp@97J1B3J*LO?gr3w>$X(i*_NIe9 z1#yOT!r9f?RRs`lIg7M)Oq;EzAq(FDecp-ec)RoeUpO!QC2}I6qc-cLQ_kO>Mn;rF z-3A5&_d`Ui`7LAvoQfjT3zHQtBV|Cb&+Gs z`N*DB6PaXPM3@^9S#Cl^xfzk<7DSNSF4l)wvWb_0*f1K=U?W6;4G{I!@@gTTn`ve^ zOX-G2h^QvRpIf^S7psK1$fTN!Osc!cB*8@{i7qBdb}>nci%HVTt?oLi8doYD& zRJm2AQ}jjWxX3DPgjymC$Ai#vvka#UWQcboC%hMV;C;yb9zeeL;KlZjOew@=NC_s< zRgG(y6w|;oH0h>MY5jPg+5ac8kn1i*e#tKLwYlc9(kLp{#bDc9L|GD> z+b8=3^sRomnc7kUM{*Qj#?gE^$8c4S22=5oFCl^dj=+$jC!CK(_DWsu~{V7Xa_$SpDy^Vk2$ zZiXOd8U|e&iI}mN#vq%VRBm^xknOCa4aoeSpRu^b1=))QXx6xXF=E}kxLy%FSZ|5M9XyZ7sxiQOkQPL z`5z@$w&FBLE1T!cM)SPcWL_|v&5LG>*=n|#m&_;TQ47pWr1^r>f?!btaxNoFb3o+ubo}#meDz0MB z95e?xvUGH2x%oU=h(@l0!MuPMQ84f0eN@SQcW_y!qIV(sD`f4`P|~H*PyL?D+THk{ zX3-V3{i4r?{M)CZ$mdqv8v8E!LTgXg2%3dh{0yC?bLB=ZrXC#3Asot;IE*WEI9IWW zEek6fI8&d4ID(ELZfYm(rGw;2N9iP2NN2fHy2w@1Rk}%c=^;JkYUw4{NN>4Tu9M$L zA8@6KWJpuVlxC78&83C3lx)e7Txlh(rOhwD*&TG{VnlxM$-QAhh-j5@iKrF(_=!&MIWP+9KF z=OFb6=zRmq;`y$6F$|Vy<6Q?8g-#w)RzXq;z!d2nnw4~TzV3^ zvjTRrgcTfG!BoRiHC%Hg5GW`(gFH#fIbtTD-eZ- z!2896-wj}=xs(ST=^fx%Vt_Y^0Ujg<_L>;jQ(|E4iGejH2G)`ocxR&Xx|_KlA42Sr z;J#9qXi1i%9&{zT0ve2O4MTQb9b))5U%#n*;q5Uh1@JdIe2e<-C*CSo)E- zxTu}L3aqzS%FB2;ui%xuidXX*UJE@RWx~qMPzyHkBkTRKMLExCZHSy51ebd{g~BWP zf{OO(o^+PzY$~W?d8{690wy|+G*f?)&+uUqy+qO5@*tY$~HoyG7d+&d@&v~Y%YwGE$ zK684ytEb%*B_#o10000i5Eg*;B_SxzzOMh@BCaYU^=0?pGuZzNFez~fNdVxQ;H#ea zg=R%g1rsSHMb$4|Edbzu4ge$QnucG*lT!UD3IKD=1prX=000stD#ES_MO7wN0012I zi>LMl0|7p}E1->`Jpcgb4gf%pf4O<9wp9!Px;m2p061SJ0P8Od(?X-RncAD#005}s zUv?J&05YNx6HI`aq0<-l8sp36|HX%DX6<1L0FX`t04)LlFmDPC35QH`6GP*#4*wS~ z=YPQ6M2$87Qhw>ad;-Y7Kml6^*JN(v{1pfImo3aU005mLR;9GT+79?-hw~K&+?O6M zaekYv*T&HO%P-i~7mwsWKr5k0*&5oI001kfU;1?b05ac=DOK9u&dC`7SUm#(u&4k4 z#xcpnqB46&lP@kd`xkHQ3zyvgSnL7+y$^8km={jAnJ?Wjf@C@1VH@PhT)CDTW`;3PtW`S#`UK_5Z7;0SmQ__ zv(dbvFgOAZ&Ib%Le`)A-pRNEd4jwL!FB=Qf%hXs;585zJbx#jBF2&GOhy{GCih%(% zK+YU>)P1!x#lt>n0e3LxQQ#4pLTp?GJYH!<6wxXWR^|sRTm~EkSm=Nky0j)5wF2QE zRKDd98C6wUa>gp7e<2ElC(CsOd&InniwLbPyJqh}$UV_k`di(Om&q-gpOax&opftj|nR~ug;6;3l3 z*$kvPjHu5Qwcch8(Kz+D2YqFas1fA3lFgKXHfLZv^?FH;Qq3Tz@!$mGdaj>nQnduR z1*{bX+dbwuK6A5S!b(il%n|R}zqfWeM(_tCcE%xRFChX+mme3s;4xJD$n2(UgS?sw zODz0mMmujBMtDoy8W~_w}}mM3%6w+F}Q`_*{VV#Q96tW{&h5aDY6 z;p+z@eU#JV+O9n4a0k^Xvrtm`Y+=$i(#jbMOH|bt6Boo64~2GRYxp{5yop+B=UN|L z#{Lfw>)-XdiOxcM@96MK#k!gi5wkUgiMvL5T4og?(YR+siLTSMt(Z91)g0BwSUwh6 zja4BOc2gHv-G7fZ+g`wHfo7rKc6Z9VUYWmoZoPAtC*90c{Dh+h6j#DhSZ3y!#~bv< zqkPW0mf18OnqV?dP!9{pdmK^Hl#RpYxk#-+t4@cWgJe2Obhk9`kCMwB%HC1eVaKX= zdWYUv^+E$Xf=eOR0?YILNjT{L@E4bwSA^;0LZLQigMI7sJ6bY6xj}KSRWIpHPcsBR zD`$~a!_wn(iB*rmG`6nLUoD=GY&BC~aD+;WB8Vau&iET#Y=(6FZ9>jU_Xx=*%ftgp z{bsXVmQRwWX7h@wiVdGh*t^oNv+Jk#So$FDp@|3ZwW-;fgcp>RP>ixc=1GJ?DA{hy zm#SFP@x=STbSJT569rpnFAOF6aPP9mEup^nM_f7Q5_e-IlX?1t?~8Lae|+WKQTEe_ z$+y_ax2RJsZZv%Xs^bas5%Up$?Q#zOP9EH5q!xtZ$g;XXf~dls(gxbtHH%c4f0YZSGKpN;*;t))XrhNzCdx5*Y;}Mwx!Cm+n3n_lUi7NzAk` ziVmghK|H~3$v^_HsQ2Hm;NIxmEwQtx?l7A%PP;4X_?YQa_Z9||m%V83oR1c$`BV1m zpfe(yo%ihzw+m2~Ud*@kwYfVQ&@2DvUgqv+s^1QlPwH!j|CYMT+lAG^hsDkAyHIt+ zv5~l->X?t_n4JuWn0D*TI=;N=0eDh+B`E9k8oEb2H_*Ixkkz=tv@bX>7yFFXBilSh zRkSIn4LUZC7mLL9YI3EO) zg!$uvh0*FXb|yJ31TE5a%j6Am6d3!+l)`VyY>efv&xjO;I#%2~=HT^WT zw>2||nJPr4zjC?pv!Ombb@B#fNwYBBSX=JC2~0h#vCMm;M~s`(b1voSAm_p9lass- zlN@#d`BdCFCrN!LWs+(FL0aD~8G1FxjA568>TvA{LH5kRMP|iEFP8SJNGj=cs_oqI zf8_hG)~Ee&YXRuXh|Ab%u6AB*yNWO&QEwspmaJHkag>u{zisz?h0 zvnZs7m-d~_OO{hg6H3{R8#dR387iN9h~geS9{&!p9SUSeN$>}uEF-)GclJ0Clkr^_ zzXQU~YqCbGmT6#W4_z6ddZi9&t?dVD*pio zS4l)8dlr=S*PUu-WE4kUAuSy;i2WD6z@6vHeD3y>Ls#i`dgIpNF)@*JvT?Ce!PB9Coe(v(f>(|}m1l%`D{C#G(< z9eLFbowlj?2kMSi?e`nzE!}**gr^ElW*yfTo^A;pD;tLwu8(bD>*9)fieNEI=!fBV zjStRu^taa61P{EMBzCo2{TW;MCmfrwb`X~^n-^W~Tk2axTVVS6m#vqLmz9@+ms-n< zSJ69JeI=nnzhS-NKPnQkk&SCRev8WY*C|7L5x8AJUS5;>8KtWZhL0Ku9T7Mv@GL>1 z8L!-GKA@pJzg*;evx)Ymw1{d%anU>x(EmVZL`qEn1Ct2S!@#hOh0Z}Yu=wQjcq z&&^M+uMe+i-b3Cc-e&Z#HHO-~Kzc80cgx_ZdNu*wmN64Aj!Cmjuvs~t%N@V$yVR;g=GxHt5KZq>5FBrV#Fh<*FGH_=RZOsj{B?RN*@ZgtJOGLsdA*OQi0@1A8%dqQ8#`o_O<%0H*seX>V9 zTritDX3ToV;(iPlHZS}TsWC3EUSEKL0O2ij%3AryA8sqgQRL#hMmn)m>Xop#5V+6E6KXq-6$U<|xqiDBuIM`zpimjmJ~9@E9mbj0(1I}6@y2jHkbTKz+XDeRxr9%S&gN4iF)ngW9EEm zWmbh@2~(K{*%vu`@q9DA@a z*9cS&90_qbq^MpC@XSnz5j|tOG$PmoS{Ox|;6++!cC}dfI03&Z|8PCy(bm%A-7x&^ zA|{iNGns#wlv%Do))z)L{*$?O{H2Xg+}BY+~kYrr|2a^w1M_7P5I39hG7K2zEQeg~4F~N-%9giWS4?fTdG&mF%JQP7vA3UuLe_VklTtQal{)WJV zlF>?((e_RMhMVyU|LhQ%;)QhLWlAeK@3xN-V;APcw&=-Ln~S_$M@Q6t&_IgSv`_UI4x)DMo>%?=2z zS8Qi{wiGwa(ac~P9=KaK;I=os)z^IM+Z=^gF#Nj^`-Y7BCbq^v(|rT=ePhmjBUfWH zEShizJY0(q1OZv z;gJIr(L=@xJ&@6T){{LtlfC?tgWi+>2qybwe8cDX!)rY7%$_+WuMxX;v@&-zV40zO zHwOt{9Aexmi8f=k9XHB%iB{-3jKj_nH`HZfMoBA5!yPp{tWeU5;?kvpOoFWE9n-a) zMrgGdP%1q)6JBqmed}dk8s2n$6a6eP8EP;aT1&{u+-A-nn zW@<^B%k27M463*ihd*aA{=5+QeH1FUw7Z{2uo+XTq$reuHJ87o@mdXv`z-@$X+=Ts zjlws9K%UiOxiC;Y`zBp&-qBu7ry5Qu*ODZme+qsqAZH;03^TA(Or`;zL>flzgfJRD z1U#Dba=U)0q2M`vPe0jzl=x>B?IK3Fo-=BUdS;-q=B%2v62osz;wnfH1^WZxS&#s2 zl^~9;(_vsOu?l4*Kkee)MhjW&h9O1SQr|q)a^pX9@@Ny&mD(e`;+wca7d?HmLr|wQ z8D5{-><=bcW^xak&>4A2E_AN&y=93;bIzlLwz9lxLmhHn>&lu;o_&VjE5zwC)$PTgc9}<+7kb zWgJ={CeZ2ZNAgqB4urhZWygv)Ya`Nf6!hL`K?J+nT??HDh*+`o4k?O*W2 zGCseouad+po>!ngw0cl@=!PZgHX~S(iQn$ShMDIXD?Q-X2A7*o|3Y!4nHjmy2D}rF zXa88l{XQOCO50CI;$XJV9X+BhAMpdDxAS*$B9mCU)bqsm#7w4yPo4Jt-xA80U6)Rf z$#sW?D>u$Tf;O#+hl)3Kh$JUEhx43|Ms;M$-FG@jv8N+cP#TaxAJPeEi=k89EtAz5ZamV zuBtc#IehXzQ5!DJUBwgy`q9_)3MIQd4LM?d)V)!?0X>kuB-R_S4f<2FxzRc!u(LYv zL4|DQE|Y@!`v9f2!$h@J`)2NGYs}O(t@A$airR7L?%;=b=-8$ZpMnFYK3v=GQCd^w z*?cdod|apZg{J%D?)vnN2k`lpd&04|=A^$#U;!%|o9+|st;I#k#+WM;@6{9i+8?51 zEoLmP#FVx zZ_9Lt`VpBqW#e3Xo=HP*$*stq!Lo`h%57=>8;iC|uYidYH81T*y>pCg z#X*Tt4&OOqdNV8EysK!^_VsDHeM>`)%6Dn#Kcntybvp1W*xWk`k5Abc#d)67_e!_5f{L=E4Lo1vfj`d?DRS4KdD~ht2@bQf0W?^ zmv6ySRB0_bb_K$&wGM92r>RjiN}Mi#!%Jxs)UerC_0D}>bYWBqIi2gBXaL!rT0`4S zxQ~5m&SrgTU^XbO53RyiooIHtJJ_1RAU&xA36eBe+BdG$h*H)wWMD7IAUV9wuQ>wo z^=xM3*Kd|4Q!jV9&Dvy{0NvHc62G~)|B&`Fv|L|B7u**g1{QMxx~rr_ts(9J1kik* z`>AQV05+!>9zuVCL*~{g0_ZJ6#@gx&SA$K8WGJUd)itUE1VaNFKY%Y5`=W4%+PH+~`h4|QzR zZzG~qZ!2GbT2G+{y)Q%}zT083zF&TUcsULI!-5n&^oy)2z-!lKUA7x78)Ed^FMS#s z*ex;#qxN@|k3eW~f(h_;45t2H?gqTt{AW)_V?<64)Zd35%pyP}KpcU>$6d}M;Kn7x zCBVf|TfuGY@ebg|5<=#}qT?jTV!-0zbY(2HM^nYgz)paOz)c`ZfJe|wof?T#ee=Hp z`v>6-D=c~+H5C$;8{AaRA@nOYqL{p0a3p&PMJI8?fy-zNZ z*UQh#PYw}B`};>+0YDHL{jB?{$;7*2It)0#V30;d+;})KF#nccVP+2_E?>16@!J-! z5DhJv*q`6hX=0{)?x&>%7;zqxEK@v^X+ZNhr%2MG-{Uy5se?GcNS49WLH1A_Al}z) z6pLG%KGPKOl`u)H&Tmw*Fmn>nWzQCFKzv@tw8kat=0O)9l-R#^8 zYmUXHL92SJ_a(9=_3bkI?>b0J|KzV6o-p_ULV-Ed!sxMZWpJ~QE`f~y5}A`x94>bVMdzYpA>pN1_>#iCNc%ZOr;ffW+qN>-Cip~0Xrgztr`hC7AJ zh2zt}!iV%0I4Xsd@+P8EN?9mD&>&bsxCFQV5T)3OuaEy)<`iBRrWJC@*v+(=^QOln z=l(pBX~ZWK9hyEp+AtPpNQ;epp0ZQY*hX(8zTH{a;M!kLca3!o4BM-F(%~o653lKyyP|#DM%oU29UQ~& z;M#@63y=W7G6a7MOxULGht&?|-bsWdFGgz!cQ&GoQ%pp^L}w7^bBJygU8f*Iotk4g z9>3dkX5PpYOuJCn`q4cuY-VgS&B~1%gCb5rs zm;}1Mf%KT=cgbd)5+BLOP}0QkuUF)mv>S2T_qqvsrhE2!4tq9(S`AF-&M2jz4H?a? zFT0<|we)Wn*DbnG+52RE2mX!K!(qC?3i)FsaVpUvah*SxPlp$uECHN$X9t_mMr3fs z@`?}}sN22Y-Pq+8$f(XknU*?seZhJU_SFic`IlszgqXN2dq&Ad84zC-zYuQ&ok(gt zj7vKBZSRfhnd-cFzxcNJ@sJYz9|iNs54^elb$XLzN7*4+!lLY1gJZ|zUs_tYEs^?E z-g!cVtUawl$RsNM4Xv}L2)AhhRg;e!wISdBYD$(=Ph5a0+HM`aXPyWL( zTwj+-&qUY%3)pF@>uvl*qo<{gTOO!kSRws0kyaA3qr8i@C$ypNOouZIsaAWL)s+d~ zIAaB!SXD^f?{BZ6{W^gV^{5u;%yD<&%u=K&|CfeMm8+UpIr)Os0^fqv0!RlkrH5g= zzBNh**UjInzq3+gX@3#GVGz|esJ>Tuy=Z-F&(9h&0^x3y9S?IO>8_BS(=x?(s5{?l z$_B2`1{_c``S_ML_{NGbs33hKXE>sYRvlW}~{=qZjX9--2o zbDX0ho|L+6c!KXrw%gWz{`P_QiTSzD`NsLt{Lp;x5FkvljQSTVlcO)AZh~jx&eXP{ zR%?xa_O1N65X!u5%W)RoW}qov+oCFSFl&J4Q+EJ=oU;R-ny(GJ&uq3h+9$0BW3kcDislZW-q{)Qu zCM(v|IHOZ&&)aCVb>wQu*kU+dbjI%>+@RaAOQNBa(JD2j{>EL$d`FU-gqy}Zc$2n3 z3354;P{pV9c7vv!NKHA{gU2MO2c(Q7qgrZc1&J3TSyE?7fR|(1#?%orD|JeD3Va0f zc@tF5sZ?AjIoH16o1JY`IA6!EWlGdve#v{k`B?7E^xE~h@jCI^^a^-weKmOmb&31& zJRO80my4a$wqs?9mrSoXyJpFuECBCUJkztQK&K|2Rhy+P$GV<1g1IqAz?Yxz#l9M! zzx)b?pz=tt#-S}p@b`mQl@Rbm@VTL0dT3hVFZ>;@&cN=#4#AECPX6r&b%M?G^b5by zJ!p*9a3ZQf7@*>+K~EcSEFWS=M^nTVL&4y)7Nq>`4~ZP13Mf zMo9wuTVH5Sm3In8rT$2ZQ68IT0ZcjS*)M#bl70 z7Ohw|XY?JW9NOFlJUhd(Ci3+YSmMSbA|bAX^@@#&F@L8w=&Sr&4c%@&eyoi6TQ4cL;GEww zTVKGQ3~gC`94&9Iq$XorgsNALT~pqls23IaqOD;jb{w7v$D+BSE2xhZPqIt1Q**3& z@)W`wmMmPMvugZIKh9pCConw9eJyXXADGCy2|8dIqpf-l-Z8H$mXVw;I~0qL=gN=U zjt`ETjysR{jw5iFBOR&kFs?Bk8$XY?Rk!9^h#JFozq!w6J4|JojWvLHu5>2z%^FM* zOrIOdwd@!9J6ODSioAF>C2Qt8?k|J3PW(D<>U@}dK_9;RX3q@1DO(`@`O|@Oc0#Ds*E&l}Ep~^T)v3>f7R5#dF_tf`M%;t}#rJi2OA1I+C8CoX?;~u`lQK z*-sie3WPM#ndup))!RYPw$tP7_H7k2?Km7l?@cYw8S-oIjy?TftWD(0u$W%6oeHRa za92{FfWJL@s7(F{K!muEcUbCb&qW1h#xT%xtMH_Yu zb%LQUzb7guKT6 zzAOFpha^}WEc`Xjzm7Qy5^Tz1+s>VUv{Ru1jD4nh!Nbz%!CwHQ0Vd;0ARMIcr`!5@ zlXw4wL_yyf7)v7J=V>h3q>=<@g-RrXcce%@E_Qh;)kJnD5HN(wiU*LlYguzi&QB+a z<_U`P-^4|)xFU>TyUp(Z9QWJqFr2*?dPnEnVHTB>Yy334jzpEj@tm_F8tR1iZgGzS z_Y3Ta3+-*OKxDoKSBo5-e$8R%qaq~IdUW1=nNWdHikVDf!Mf&&P)Fs!yQWF2R3ImS z1V{8tFeEy5K9#DH6sgIXj(IM8xue=`GtnNG#}J4#l`}Q~4ZOwS3w9d^Yp8C~Ts=Bw8+BK&bZquD>r#v58BSOE|@%Mru7D60= zLxVwL;lxfFPZNrB8ndj?-wqr960&T8H@ywUOGp5H zccbrC)H3`aDSyS0oPq{#Lp|SICkR zmUkoAcHDZ=Tt}gy@2nOCTB*c}k^$EDZ82ckAw?ett-6n+M;%DY;iIKW$Q_y>EFy-WEcS5I<3{=dq`S}@f!aT zD@oXY;48;tH9V0O8cjga#>4Z~W-ZW_VIyv7%|^kenpHISSwTY4#5Sf!Sy z3iQU5C6wiK4skZ;*Ia5#vK?$RKhv^1L^NWSRUUJr&qQ>y zMW*pxgyS&NF%~!Lt4qcygd6ld1jh)^@CWK;xE}`nx?WQx-Ug&~Y17fh<^2(8cVDEzXc z((ebkS@a76fpRV}pzuNgQ4i+gX$Ll(5X{ILOv_(x=CXhxF$bcdxg+JCne7tdpL?08 zD0J`iraMDi!XDm8PjO+Hr5Y#T2Q(+coWTWR!0B@?BPAxML`?fsE6@*5k&3KoaQw_% ziQJ#rS?{dce*&<c+HSP4%-kLe@0En~Du`GurO=YLO6QYATkA(fw+ zNtQilXe$XL`@TsQGlzVB1MWF($71Gx0^<{q@s@}1r`BBD?W!9xC@+k8lbvg3Zkd5l z+w08GqO|j&x+41*o9C6x&PVu9t3zu|q4{Yc{DGx=t|dtHBHb$Vp0&6lu8^S+lzf$W zngz^Pk%m9cp5U8s@eLMD4EGrtL1~Dk7%7$v7kD-vI26S&4-IPtC_#7y zz59nCIzeV%R|;MqQ_DxA9m7*|yS2fG-4~>Z4Y3ffa>cZl%}$&B>VkJZx8&*zi|lN> zf2x21bC%EqKw-HhRPF(FCN!&)Z$~#FL@!In=swy^ zdY$fFPTKm<#c3WpA3wRGiG55jlS7eiZO{?ax`y3X)p3{*JKzrg=%HuJ^?pYp9YnvT zgb&N2!v+7w0S=Q!{ns6EHBqWp zPWekrtWmPOe%i2_4lwqkDVS)IbveZI*{^m>&w-k#bYP&m-%s)y$#&1_%v~?V*bbE>Biu$U&@+rlbd)OW=XZUK|*|dy7c9gU0 zLgv?R1`p;es+~a5IadpWI*RMxJQfnal1qlt3t<*Hg2)DP8;fugE$b&s8Ah#*%PM8H zh@RH<4>(O=CuFo$>1CBon4Q5$CQZ&*9%25K7_?KI0RR#F=2$I4d|l1-?z+A8G~ zNDD6C*PAOP!wMn#>-)()Rw_rmSIXJRBNnVzP`a`lqSKRyEt@7*>Lxf1_YO@gT)yAO zIN_v5V}SW=&Z+RV+H2s6te*84o%mkXcP70R0YhQW^Y5 zOHj{Lx>>RJa%HgSz*HFN#S|7qh$ouX9=4jNHJHy$2tV1T!<`;mulOCgX)ii=NVzLg z&bnzx!_tXV13$k6ccT>XUPi#SazVA@yQ=o-j`Qs4zxf4A7e2!d>zQwzx}l@Av}K2! zfj%XR>rrKrOiiA1O&%h@m%Fg|>U`vO51JUf2NFW&+__^$dLk-o|2oky&p zbqD*RHf?->n?1thU4~IMOwgK#kU(EVR(h@e^=(jtpY)fUw|pqUb>i(5uHxBhFNx3) z&46P6o(ct_qa6yp2>vfUEe@X9sC-!aXc&f^C0Hy}ja=D=676Cr$RU>nxp=q#%0 zd@Ir26xayn(1G+Ma^S@wMBY-dZHDnwL~s@1P8Y@ptB?7V^+ZnlMvkcPcrtZ|vj~8j(s!Tkb@g*}^G)!ej|S8SCUIGM zJ%#Sg>8B%qiT#IyYaFi_=?acrQjvFtF@7&$@{W|Xdn|0I^7X zvC}$;dCFOX-T743!9m2vRuA46T0&E}^6(X#>jB};WD4gPzMu=l2r4*}@)2i$yPhM~ zI9B`{GP(&(k7RT9a8j1C4H10x%N+9GOQPaOvf|9p-X~@9?CkP^%+?b>fgIw zmDtgwh%*EjtlyooA#$kG3P%Jsq=M#M6S-21XR|%|?wZ5k51|SrrFYTo|I!a12|Z~9 zl_mqRg)FQQAF<)wbOrZ+|9m;i{VNZjwN>PqG1HbRLM^GVJO#l_&4*`Z*#v7CM{_y% z8@;@Bs7ptP{6%@RZ`hLMqzTV>$dw_(i<@X^Mg{_mb0-DpCHMFCqkSQZa55|G5!7B)zOoLbXiVVB}gnn4H6azA%Fg0W3rt}=fR zKh;{kdBF)@&5jS%=R20oThCe!-=9eHsv^Yyh&tUP;e2V;`*e|2edP#QLL@$U8|w92 zZ@-^t_HkIxPF>}qtV!U8@ZlTj8m0b5B*EE;7mLA2ps??}g5YnXM@FciNUt!J>5d9B zkgJC%;H+N-rTF%A9p-9NjgFR+M${89K|*gv^b8P00!?)Yc|5O)_EDpm9W(?*!Z{Ni zczbXjoQ;WLssPrTDve}CouKMdN728LJEL)RF$D^AxCuG;^%ipFX@eBS}MriM)o}s((z;7XE zvq~%5P3$6T1EtP(gy4vavWgTzjwj&}U(2vsmgJ(ROnR+~#JfM_OUPDE=741pq1pwB zDHy=vqMbX3TN|25X&CW5;<-J05mxP&t3|W=_f=+SoX+)CvZ0FoR}69cvAGdC^HsC< z)UIku#ZahmTj!612b`3(OFGAjV$ddr9)Y@hUFsylaz}xj9efTH-$FDv4eif9^#jvF ztcv-Pxq!Hu;cxcPJ?@Z%WpZpp2s)gkz2tJ^q5ZFtiZS9`IoSkl7P`(a#ZA{EoS&1| zPiorN$aC9iHb6I`3tavVm$ON+&NU!DO0(@6@tQkHmk)6kR~EYNt*QMiCG1tVNb;KpMt&NXG~1}bNQ>Hb*B zSt4Ybb`Rw2bt&j1llRV*=SB!nyCrT%_-S#nwD-}r%ltU3c7E9b$-F$j6A`gc6|fc~ zt}-OLHl(`-&z4QObhm&bY~o8pn)e@$@H>HejlSZ|_%XU{gqitc1<96t0>MS+c(phsQAY{&a>>ARDYFdiaed zeR0;X@hW?I%!KLQB)>Jg0{&1s-k7<6NkNseWqdhV5t0eg<=clnR2P4l&i8hgm1+zp zHX5nzp-+YTQPuA+K)Rqg&FS#FSIOvGE0Y>!f)g>l{=H$wJ;4I7S77EEaplBTA}94v z8`oG)%?HZtKE6aw!~B>eo>_q`lM8H>Ltmz_Q+CB>GKrdQN_tYJa!Ep!^>7aHOE^t# zDaMA>KTC#al+&!3myd>O$`=(68lVI#3Z{n>)x^I;8>@IR$IdS%O+FOMJZgC>wnTOj z^B|>H$pUI3yzGUrXvBkgD`q#@(=44&McNl+bCqq&&C+WonkUFFuMl=dCm$$m+ydA! z#aquRnKh+P?=#kBs8MrS!>bPs?34C?hHxFXr&HIy6FKqy+jIUp!ltdl8Sl`pW5Yto3H+Et9L3GA(tbF<`1%*0^4HlYPwN3Qcx6fxvCs%^+~BJ6iknTqmeb< zLQpY=>&b5pZU%qVpNQ#DIR&sZw;;B7I<){L33dzyI?|N2q-a?PoapRUGPP@*loA6E z@k?h9<|G;v%xYLyDc2|2aLtLDbDXUmI*9Pq+S+QTQh=O`n0Tq6$o^Q?lTp^WlD!vS zT(yD)Dff~HWJL!`Scm2H2Q6yVC#C2jp*+9%BTi9P^|_eVSw!DxJHw$)3&$uPefi>f z$UKKTX_LH!WCr?^1AomTM6Z*(UKL*tq@tY@V<*y~jlon5eP@{#LUSgHLNC{nfG%W& zS-nA&CZwf4&JK$N@(lX#8jJ0DG`T&sY)R{+{Q*sWQx%drWAfbcuMP1ub%vcS+RR^{I1`;;>OJa@O!#a9{JkbPH0u}sDjajuh$;JDp>OE@im=idwV z-0|QHCV1vl%!Zk+%Jbjo;pg#rIkJ8d>mrA#KIId9soT|GNBtB|P@{r-B;MlVaL>J^ zdTZK}^b~8Fxbc{idH+rFC$AvB3^76!P>GCo742UN8LK|FgiBSDr^VF3pNdq`5jQLj zhqiM`wwi&IVvep@3SM9?FF}t%ca80NV*|UsWlX@QM_oFB)EOa_#m}3S+WsJ9nPxlV zY-4qBC~-bN626%%?36dS=GSr3|MJV6=Fon1k%;)fbl~V&EIxNZU1QB!`?ji;=HLh| z(HjlFQY>R0oU;^bQb!XKF+x~+Mo@xxgrA4NA|AvUW9E<@sq%S-O5l8K~SvpLjiUNs!>;(yp}qr7NIdu#JHbT}&XZzP6~pv#kYa zbxUr8#G;{HSolvx&r4?&i=2JBO{MFNcyf!ku!rNFfXL7uFRT@cSW0rc&*_PK>H645 zNA|ct`*<&YcF4jT^Ky^2C`PuItth7B3UYMuQ9@^ICmQ38?|EhDDu$Vx(2AAZb~lVe zqeY;m5$S6n@wvrk|GWcPu&m`5ePVXOc~ShPOZ6~}7o)%9H~O6J5!&Wvouy+YJR{B$ zuCLp#aHWO5!A$keYerm!lxWb?vh&bb)ZR$CgATKxf>wM})t#EC#cxOJZmI1tnQBNE zsZ2BYPciV~p#YvjX5+!z9$ng< z*n&e-&K7GRi`lO@Dy=JYuC*|A{X3RMq8bLb4VD0sUzxK*Zd)3y4xwAh1`(G7UQZb8 z(YpKGyo&(U+ile;U&||~{Bo`7qW@Q91!p$VajJD4#RVGG4>9V&(-Rk}jrEVghodKH zApzf_b9vP|q}OnQbMj}ZyA3&E+Hca_z-Xx>cUNq`6H)LaO_cO`+(-oM^_orZqr;qd z>)bIWSR0BO6Q)xb<3}FaN8-MFIX@$Z{UV`j0m-3!uVbDrMf_6w%b-rF!);0(x}Fnr z(l*PunwX^6JOyOjQCEaYw#Nqk?sXDUSsw-xJ+f59V6^#p7sM}T z=N`@Q`VRf@h1Q*KQ8(@`+HhG+XAU7$?L#YRwI~l|c)mnj%I!!%xD!F*>7+p|nXYh6VLZ)hKuQuz0{^6n!G_fILF?P`B8j#4e<)^FA0) zKR*q=!u$M({Z7JV|?y^6l9tE}n`uO@G2?r`6%2amUfuO<3o@%U|LYFtw%p%71u zfcDcjscv}+ax9@hItrOfJT+v9VbyD44s1_y1dq62-j##mG;+g0&VIMXSaJC3t_jm}rtp5~^vkaBTTj;JcFk9shb~AcvvrJcpX4?v)b)7Zi~6 zsj9_bKjzR(cvV@*E4m~cNTpV=`#At>`|Gdm8kZu)$L)pHL-!vuhoMWqoG0sDTqALa zDP*xN;=<>?1C{TcFmYa3Nr}?Lgnx3h`i%O|?4+l|DW8V6rn^&87gj42YHoZ!Q$T-dQ1QXoRNhWFE{zXI{H z0ZZ9GVKSH-KE3$MtV3QhHD$eB7;AlQyy>qq4?|URTrMS znmC%<(ftO!LVsBntao=r-yA(=y2=09Dhbt(-!X{Lk$S%IvW?J5!u)M(60d!`?|?=d62FWyeIhW&azm^X%f7YRLnc&a>Muoum#U+2Om= z*sdP04nuo4yuZ>kGhxQ%N{rV+Jf2};x3&JW-b;H-t>6j?yBc-ylDU$v#be_<%u^H} z`p@gy>7ZN7S!Vh=1q%~f)jg%BtpzyFV-WpJjuV3pO*I%1(YS<8ZVs!QBx zFHb)7@Z6`9&?Lx)zXV1jFwYaFC}#ZKt~MrI>XW)Fffy>^`N&3A8{*9yjXD+`YI;b> zqy-kQirz$mJzE02jBPyx%|(`=iH57U63v_e+L2o7pjHz)9z*(-N2XQT!)kmakspdN z@=Z@8m!v1CSmBKQ%9{GQN{L^xL6BVjtvTV)_Fb^6jFi2WVUx|~o{=D@0b3rlfVgnS z$yHr;!qRwlbjtI$F0W;;JlI6r=X7v#gHTs2i*M~k9lcAr3$`1qO`>G zjlOy2RRUd3@r0SQIxT`!>X|MeAb5=wUR}v1qc9Paf zP`$qX=`!*n{35Lqz~#ziB#6sOSS2eY&!KHunc0ylGq7?NRt(`COUyfNnv|DDrRh7A zmX@3imzS0HD{S}wg`{My2eGoGEcEOS?f(BuQe-)Jgw~K~L#y#NDPO4}(b@Uw)>Xmya)gFWkd*LAeF#haU|yKB0$R0wgsg9;%l z%9$V;2WpE{=|+VCA9-s=>V~N5vHWZqffJ7}Q$=K1fm7_AUn=&_X<`R)IsCZTMRW8@ zP%YjqnMsbK-y;}Jf}*a}`HJKXBD*OErjw1U2PVyoTEUgm?lf2gn#;z8=bg5k)ygu{ zn!BZ5KgpV-tgQpky5mY)!xos}U05*d0aRD!Ls*)&w^CCoVS%zzlCl^HmDZNkl7dDB zPIHN+L{8bXd0Mm6Eqw z6NUxX@CA>`Ijrww@4tga$>na$+UN>)e9ILy%(mHMsgJAQ!9K6ABk8)W&2^pio#YvE zMY%WXi^?gxwku89&9UbBtZJ7dnja6)=hrJQzwkh|yxlKciOqVN=Iu5i3Ev@^N#1Tl zjbOFO`@Jp8OKtK_Td$h~4gs6VDQkvPc4pLptybesi(R03yj&9gzV@?5StzV>*WMQnN&glT}4Zo64Fp z(wm*{AiX(<3=Qy7WqA%#s;oaMmnuvA^A+flcW2FU{=&+>a%#Ng)|7b5=M?w}1s*1G zD+Nx^qb&WLO6lh<4%caJc?)HY=iHWp|F8l-N6$Gy9v1~sBf2D+1E5WGg>cZxGG7i- zA;-kXGfw{OU_ABeuFR`_|dn$O}7 zg)sRy)@we3i%~nP+te<{XxUo4sI*O^S6B;J3L<${t(STQBjiIro zTGVR95is^OT7zc4Sx*X;?j-kMGowbzL>*5GZE41+Ujlo+yQRB6S{W`65dP&^Q4Gf{ z%6rh(UZFK5F~q~tLke8_fGS}R7#e}a0<2gw!N>enx?ZPyVREv5B6dm8wA3|81(W`x z8#^a$WxM-2rs}MT4-d7~b~-ne9$h`W&+eJW2c$K5Z{hgm|65tvK4>u>ZRs|Rchz+T zb#6m`eq}>-U1iUzrch;lY^FWhpw)E`N6PAA9fM7ctMNariD`_Q#*V~KOUk?A;e5TH z@R0I~>bC`P>;;l@ooeL5V`2c0powN*^@uWugT9~#`!+BakN z9e844sBmLxbhx@dR==jQ3%`AIf6w8mhJltN!pn(&i!>(IckJlwAMD)S)iDH$wrS}t z!3A>RC;52ZA~3Dg^`~Z%^`~e)o~Iz+2J`Y`f3p4*TVZ+yqU;t@eyVWIzIgu)le0%n z3u1F?-EdWZZ?MO@$9IjfYk%+5;>eaEcXdbGj?S*}NGRCZ4}7O{p?vppzUNb!Ch(97 zenx>;k-0NCCV6ooporc_V0k}K9Hni9;b7i(1}+)@m&!P&RpYyaZ!7SVv@N?2xCP{a z+y~s7dLK~CY@=+^{OOdC|ArMp{u@>Z`CnPY-?>7>e{|szIhyiohpW@I6<&Y2CgTti zP(AF0{lX7nC)A-slD(+V0e_7$nfe;VCwXDHG$Pggxj|QZlt(KmTf@3)PfOp`!yOwOnyL?4 zZm(N=RY_C9&3VVY-ip-++ZzT$Yvc8+LPMsmebVTu;hMM;2J!aPXFhEe&6zzly5koF4UiqPqvsmY0%_Sj%H`PiVM z++S5(mHn|niaijF$Ko+kRBid)6nQ-VqXi4@$^6MPxpvi)Lpyd1U4AKB3@J=>3h0^u zx7Ao)U+vOt3jAIU2Oet{fX5t;eqKB$eXlYKFWUD=qN_{lNlf9ytKK*lS4Li=;H7`fwNFSPzi&Q0yMs*CyRCy>mgU zPdqf-Rp05@RC;xVG@OTVo3V4BwEo=sW7}NS1)`>B9X*-xC)UIa#>Ngx2c0j~-&Oof zFsk6+Q{ZQ@MuC^8@Xsjtl`4F44oDg8tW@_`aoumEK0JXx&SNzp&~;C-*j=z(FzAVv z3(z+*DZwlg(i=?r{c0zfxVA}GSLGVF=8A*yPI5E^*EkX;VUX&oa9yOXti)U7a+pJw zP>v9o^9mM9=uJk!_T?|LXi609^UJLspzpaj+ELsscrvCF)3% zEsZ@&e5om0e2I6EqtT31$#{xTHm>FhEnN|71Ig&pO01QmOP^nUYsmaN$>U4SVAnsH z7GG*=1V(B&Ba=axcOsvSSwc4}ie_sIiQ2TcwRE?Fmrzw140xM;%~uw+xgvJz@=E-k zjKIyZoXsA%S&7Mv$89`z(~kPlmssp3-YQtkvW#X8TG)`;Vl(eo$3IA@A{n|+MLoKf zk9zQ~ax|ZjYCAhvz@w+TqrbDixv36Zv(omm_IDoexFYtqk(fuoSCmJ}_!;`;GJaYf z^H^TOv&TG^Ux+N{z^y6gz~>bBi4^#^75GU79wz6X0zc1d_NDiKDy5&dI9#W><##CS z`Ey$e{=*9VoC@w1&ndc)!fB4E6{O5S-jZr$KZN#?1@}T$-0CDfnB+HqoZ<*+{gsiJ z0H4z$)xSwwfaD`~N^Lpbgv^X0mB)cWJ(rb`=O6|>v61wOjno9Eege9s zzO9W01KvN_+T3T~SbAt$+8LK__-uPq|5{t(ZETFq#9h&1jka^NF;Lqy+`eyM{M`C4 zHg=4)T1bLS7yS00!mA+3J0+7D%sY|?K{jA5_rB@-u??fdePH!}Cr3#Pe1cq*`$*YB z(1-`J{B%aj17^Smu{%RSyWL>%vwFI5wO^~JMqkg4U9O!@=Z>|dvHVhFz*$vmvOVZ} z?+*N-sr4IHTg_uSQ>eaYDzO6zOK*bTxgIA_DT<a1z-rpl`XT5Q*+576yHrVy$BV+wj6_Yh$c?+|ez( zocM95s&Pwi;zeBB-nV`<@s?^_TBpd2^;$dvV{0&}nKv(Ayl8iV4>&VwsxG|0Nh4feWu-wZRO^o~92bVm{K0UkFBG0iSnwP2 z+M++h-<3LwlbLlCozT~xp*?*+idIm|js){?Ux&`@4%O#=K>f zW$@p>lRt|BRoe&~doqeDrt;+h@g7bOsjGMkJLAwDu&VUj%2VWkt+${fdG4_PURw&& ze}~z-KF#?gk5EFzqf;v0_0n^h!EafbSK#xiHMmX2hyC45>T0q6@fxZcAJ(Tx+;Wu^#~nX)oFlAxcx>zL5oDqKUYFBSW-Vijq)!uVFMRb4yj61|RB|dI=5rSk&af2_~k{L5~`81gq#M^tc=r zpVgP04xB8YMrl!#koZBF5$fZzC9;=8Z! zxdYCG?q6`Zb&&pH++F-_MRRgopqtj4)RRZ_2=t{WAT&8D$X`DoV>;Q>D5pLYlZX9t zGuGeEhXuv<)1R_Ip*M`eOMk&(pvQ&=pEc7Gpe$f#XDdyfhKh3dHVsD8^sN|~3|bAc zVH+EgITF;2!Oo)elJU=pj{&``&i+Tx z&2*m<__t}y)q!T7&7+^dV>2tHdsfs6Toi>}L<(u?n(RNKbtYUSN@}wh4H}2mK{vIY zZ)!1h%J|z`)~xzU>bzO>Gj;Mykp{nVh7kruOd=C`Z20fZW(E z3luB8DaP{zc~(DM*J=0f_w1io7&z`ZUPEW*u@m_^*|EDF&n12`uzTP+Mb6m%5s%Zm z=}n(9(jt)DD0l1V1q*#XIXP<3Yeo71ja*g`fR08;`AxL^!x@QO2nA6v=nT3lg1q2) zOs~HDR2g1L3+(uIt9MIleB4sHyQ5{KG;e5Ol`Y!PvDVeUu-X=F>>hP=<2TkvqpeNN z&5c|865qkqoqa=tiC>XFnL);EDnbj$&Jk`?eLrct0*x*-@+@(GWD=b;wo5eAq+-4L zBoC!8)2@Xj$S`fQ7?XsQZLMu%Wk7^%MAEr8ZtYEcJ83}5b|O8~kMfvqy#gOp!OzHW z(1CT7zN1_RcB}gNwgNw?;D=N2&(m+AVQK>qew3lZlFbe7Bb*l^d&|!lQ zi3tSpWjIfZ)wM!rRJB53TiWwscf0e8?Zx0X!kMZ|y$oQUf9ge?ckO(<|6LPn=3D!( zAB(Q8>gkIPRrMOX_w`Jj8|m8DJGD4E)wZLnV|^Tcn^58wK`IY7ayiLU!M~@#&#Gc9 zL3&2t$bG>)C5HDTk28BwCA#NXRw9%|?;27<@J4lN8?PZbqpBfEqoQ>y6c zXLmo#%8D|c)hg9ROa0OtzjQ`bzm!JJ zo3E(sXZQopyrl}Cg*f+Lo+l&54S zr7k0t(iv#x(v4H)+&#R%wf}|<1KYjj`v#;fjkd%G@K9HMmvd9;)$61=fBBy8!a3I7 z)Vn6}%Q_JKUh*5s%>bEijm27Hvu#ziTBDYyPPQ~QHREQjQPb41Ht{>y6P@EUkB|7J z|97cQXvc5U9Lf1l*+rfc$I{(M`Xh5Yl%kK*bT@AlX}TMAKvL4-QgOg-cR3Nyk%S=} z;UKMTsaLFNTHX?vAv#ky;C*~9-@BzPHc{VqY`A;Iw&thN;p)ET`r)dsmxQm+*2kLW z2BywW_O>UU$0eORJET=CKa$hKb3S{eE=~};0!W?dF7-@vO;cQcnm=3^_D;7pu5ZYk zrg$mwVoiOnd7=iGC&{%Y^StX*c{n8(F}?HvB3afl-{l0>EJ(BJ#mQElK#en#u{zFh zkdUo)X51pB<*%+-qAmKenWrT(aRmU zRGni+eO&wu(4CKVGeXS7n-}ni0i(4($!s778iCMig9O1r>q;;&qyRdc5QSYdIsG+eT?A_Viag}+buQ3*{D5=UXbgr)N z-`v&S9Bv5si@b*7yuRAe&Fnm*^Q7zc1YiIEPQt|t93EkCT6e{dUS?En#jhZTLD_3`y&AC-h(N*{M&yJ~*FRN$wTz8xv}camIq1^?R${G@^( zPQgE~;D=TC5r!}SoW^9{6sCoLM=|s;uV$U4R;UguvIu87$fiL!O+xJ?&GP{0B>K>O z0}sU*dFH58yBsS0fF8j&%K64c7}ZpVf@P)TNrTgoPXahG95bZ^aJbeA#+!H@$7Hci zUeULpM4$yb$EsHql;$^;RK@*+eR`|TZFCrh)^ygjuW=q-xW4Gzp1A|{>l*`Ip|(9H zhi%Giuk5X8?#CO2HSP6vt2QRQg67El*0n7gW59v%K;7znZS;Fs@Y{!kSCJL1l1w@v zK#v71=Rw#hMf7muRm^-ey8#?je1Jn{By#a(Mb==DmNs+pT}TOWE;{DcwY$pl3j=kg zvqIOpjh-=Eq~`LAbgep;{sI=<8JdG(b73tmz(^~Mfd9LehvLc2nJ`C2noK@+po@|H zM{<27;I_qVqF;{kV2>PjrunvUntGv=EuBA&O*uPuId^%l2|VC@u*+0aQ5dutym7NUW=B^xfGp}Y<}?7i!m|^BUY^8b1nx48Zb5rtcbT}j)(t@ zMpY^Em5?YMJ~{SBQi#na{w1tZTxwR+qtHbEOQFlN!#?L!Xmh^L{=Pyrefx$dD1{Tl z`(+XZvL>+p39v$a=tjwAg^g2)^5y7nSi$pulhuebrTZ*`mb;QEz9D8?&tuW1#1Vo<5{k=3>@xA zf#1n;M5ugzi`2~{aAMb^7c=VSb$~unw>{6>n&Dhj!|$baXE2Hae+Tg!a9S>Wl6(?x z9pkA}Wa$F5RH`;5S3ToLG%wx5p|mov`rc(mvSUPfO3JLduuCU@n@(M3mE@bh5?>#r zHw3X**NCHM;rN`*J7Z{=m2gwym9E~gQEW_D*4MHc&~)CyFMyuUQ(n9qmo5E;SMd7_ zukpulzNO%t#l9RkuPQjFbM})Q>sA>@NXPl4f^#A(PMGkT;n1}SXQky-&N=*% zreG-jd|H@Ca{uo^-&es&|6fnxm4H*{_G#+Ve?4Pv>b9q{wk0@!HkT7Wak7w0CriVna&r`s+Nd>OZXWJ&(o@-`o8}%E_ z*KfrJU2C8@zZ6Tuiap{w*X&t z2+mP*=9B8K)Y?{m>5&$5jXCibu1~yp?fQdFEMqA#&(6Uigv1@thlSLLHLGjHPO59f zT98FuBi2d&58aB_*3J7~I9UC{vBaOQjeZ5XJ&6|+*W=q^h+~PnfG*lUwNYQ@aT}I* z!{EPE;HOjIpHtu`QsBvcPGOp7vGni2gI1dFkX{RRGDj^~XN1&()st9l_>Fg6KlXvs zuf6-ajgMo^>!1AOU;p>>pQn6TdTgmm=!Jfr#hrPH}9yPTo&Xh&6K^Fl>_|Ap%k@2lPRiZgGrv>!%EymsmpIumSKKG!aNwsv`S~l(&r&59?NRzRYd!P*@JH#L?GBccwsftMcjbNOc~>5{ z({Axvz02iYS2I?*D5(zze~xvDuUl?X)X}Y+uV@j``5KkEIc8+e7QzoHL6Lw+h}glA9!xj zElLjHH)wx)R4Ik1L}^7(1uPjQcm5yw=*| znZq||J`aV9cc4E}{NI3Gs>VMrG@u~rlX_J0nD%XsTGiJ(qC`3~KFDFX!VhxX6kYGH zvA2~~wrwBFfBv!d9?R6iX6H4#agF2O%$*yWrZv98)ed)E&B)M4I%A3V;*%4*Cq6bj z&^lU0_V^FsHxtZPk4z-*)I_Z%UJIHW*|nouQU*GT={J@6hc0vmQsX@43`T;W$s(0_ z_Uxv;or%`;I*4!)x>*W2n&Kp<@UAIZ zzm!&i6GNm5+~xmKaZfBsD?|DA8!|%)uRxD0yrQ`hy(v5sub5}`glcfD#baQqBnx>i z!?Fg}0@VNMD{FGaJj+_&Q_Zu*o?W3me;3abKKzi@>8wTd=>1Brgox^aBO>QWota$X zQ;w*LS!PgYNy-pwfCxjbq{WQn4~3l0x@f32R9i!eNQIRWmsZ0Smbg^2+&HM*IY=RoRG|(bLa1W1C5qoA!L51{ne?N-5Tj+%jC9jqlxnh6ada52 zyo#fWmBI{tNa*#_hlIvH!JKqU3iOQu4dh zvcMV<=%id zKnnN!eM*j$VYwVB_57>U2~lm`aza!JDZ+QNalIhwaevalog<)^=Z#Gw9(AOij zYza(x20?Em2~1Wnovr41WHi=}=34}lDQX%krI|~Wk3D9g-TGOUofq^5IA zt`9W-bGEhnOxEnA_oUk%Ce@yMO13?ORNJFQ_=|#bg3GTUaQWr34)zh3bv={yEd5`| zVcVF*7{>u$G*4yO@So?YY@gfY@v&-rnp^w>1?OBk4zc0b96@6Jq?U#sYmpmkL@S2h zM#!PP4#7szXvKM0WC06%sa;1h$fFuC>wI4Fy{wKP!ZV z0&Xi-q7Ie^)}iLbplDS3S@u>pWUhr^p|wk`2CSt;uaH(F zXo;_ooGPBvVQz+(mH3JZ-3~HaTR;!GPyURjzJT5r2St7*$o~=y7N7m?==AEgXzPjH z^XKB7^;I`)f1syt%X@`})!p4=7Od;8nViDCt(Ad5;#gzN0D0#O{?N40hDyo3cCjBc zuDTvqU9uimJ@H<=g?92G?^0Z#mPOFfpaM< zP9>p@;n4dW?n@H5+?Lj68A%yOSZ17yxH!jLObX6PJV@mgC*_sOz!=DY5#%)@RjAe+ zSWRC5(lvM5Ehh3-C!kfWw=NiwuYzHT|M~dYv3qtOyLMo%Y2CURq2ctx+%&3X{F=R`ImD(S<~cGklVlk;6rh#83a&|>D?S0ax|NmN~Snxz@iux zsU`s%zaZZREi3`M-3V?XyJ*auFWFWN9h+>MI#TByzQcCM-+JFtP5!Z7I$zLnV?+;= z`BFX1zE4-YG@AmySBAr(_oP^iI9&LZa5ekxE6}tSXfmUEsg`I54bcv%N!3*?GPSw2@O;4-|)dH`h8N;Kjmu`mmN!nTriwG1?McT zNtKH%{anh{56G+1k6cSg)t|6Te;2VSwLj2D1m|1aR&%2*(q9_(6TiwdgR zKGYU%OgkGGeG3YG+odh+DM4C^o@HpWCTRoN$e>O!NNs5bshY$!<^5fXMVd*X$|&VT zvUxwwZPE~$leVU1`={2%S$S=US?UdWncbFRm|B-NOx1KmsbwnHzEM*3(@Dx{oO0@9 z`sTQ8T8$1#2UuEu&SEswDm5dE)oj@hexh-Xnx@EVwawYF%@(zB^R%?Ol=|5@3{=O8 z2CACgIU_5u3l^$&C`%%J##-hyQgiBxr{p~@r0EJ`qjH=RT&}T@zPC*Z&Pf?Zz5mHR zp?Wg4-c0%&F67i#F^&UvtW(u{7JYVGw(%()KTvSa<-!rar0iviLv?5ilGryayZDu) zv{IW3x!TZge^Xw7ZPO!l7GSNO+Fa};&?22yw>RZL(9e-irbPARKqy6}U?-DbMniGR zk&tRLQ=>WUlnC{P!u-Oww6(mpg-b%xY%ZuN4|jTyiY}wVuf=qJ!HkK0F$*@@^50Uf zQ8%xo+feyAfZ)lY>oTh1&x+&#pQ;AP5!ft{!R}sxc?NiiZqc zhgO$|1)FAMLuEtdz^b-|k-;0bw{EN&tm>cQ=dVQVohni&IsN?A%1#OS%%Yu!n!TLO z0e0?w#F=;@gs~&B)CLTEcd)%nik(hiv`=WLx2Ke<1P0!d#zoyNUXrY@L!O7r#su8T@1Q3geCeq+a z>5x=4ethkwv+n)Yq1N6l4V#CgajWiUI)4O^{+2~=k?dg9;t@kz6t$0LG5=+ZR9e;tP_xlRIg!S+Wi_#ELk~Dix8>5 z3HVOC{L5-6RVvs7l){?%7xalUK8HDVvx1~d3$+X%Kh5`V<^4^P3b z;l!cWU&lkE++Gb3I)N8*&6+XA9$%zuz-!jv#*8%}Hn6(wc|0cb4(owNA#3z5y?ui~B5t|q-lgdMnmeW6fT zTzZ7GIrRu~C|<-fqSBc6{{bqmV@zJrdoyH(;M}5`!^LA+<^Vt0uEKfhc*?1XxNnUg z6#l|%*R)Ep^vX0;wS%h3S(e7ILRp%zqCi!tx2*CvUh-$4Y7b%VjTvQW2)Fs1pAi35 z;C$1ZKo7CA4Lyd|k#mZj=OlKzPR)xBy0;j=PLejM{95|mQkbqG>zCZuo>$uDt9W$b zcy>OHh*72gCzqx&WscMUQmxr-nRB2rQ3Nu@=fGux`nLF(@B@0ET`fg4vYkyT+E52K znt7vbP*t=!=6K6-2jS`u#>OsEsl`j5TMANHcaiVJJ7~EHMDADxL=Np*OtNEa20ck& z)EMMK@M$Sob#;T$*3nDwkk%1zi^740*1!*|#Pt!A)(Y}~YJI(+9tDu4T z*h&5Y!eEYL;WXm(sUjq#j=ENZ?AWd~@Px6rk}hTwzO{O5iF=R42o9GH@5vI@fob!`(eJ$4$?P_FV}!c>aN?V z9@(YnqaVQ>w5U|_Gb;*XI3=(=ycTKgc8#Hsj!v}q!d1AZ00xXq%Y6S4rE@RSL)WIs zE{~fCROcC~Cr@%E$k%p>?h{4L4j$d4;$_qr71vD91q{=X1!4QTp~NY9{Fh!LQbuMW z(@W@J^Pu#0D*NVbD(|e0%FTEh{f)`R-;#SGoYMBZ+;-`&nlia9*(-uyj$@?Y-%Id8 z-r*3#zo9XhN-1Q}3#9ZKO{BJPgPNej*Y;QCl4(D-7* zWCPCs@yO)pQ`7QVK^F}y`jk(ie2TniH6T5_b2tuN_5yB=#hjiPO$K(x!PpUlda?NI zoz+%6`00iN<()J{t%AzmBDQ(Y_wlsHSkkao%ZBmQN zVxr|>SOy7k^5NvdXs<@4JV|vc5`Tab%ZGhBC1r$KnUp6%g-2j+?k;V2`h6880fX_q zRk&bc_u1=iuEzzd_uOqC|C}vv+*K9~;_-uf6Hfu_Ub^ZqZn*sDaG!GSYaXU@dz8!V zgG&5OP0PJ0d@w3}SWM>w?BQ8S&fe(PkyPrl-Kw$WUKMf zBT%=6dSSSG_3_oKZ{4%%npLZA-C8%?P&hqMKipV2ZRj{UvHAX)&ZFz$_vxzD8*9g= zs#a~P9iOCgrt_ieej}HSvW&Pd!^u-{&f?yTSX+8O7ja4YeJ{oNDUU^Y!Aj-#y&2KA z^im9Us!|N~+A&t6qN3ba?XOO&=V8e5@wr?a6K+%m-ZVM5rv%{6F2hDfe;DX5WAxLQ z+#Vj2Ta|u4O!;t=iVysL7>_Jds-sR-szc!c`AU5%7joSXufU3JssPP70#$r70#$Pj>%Os+FI*-8hUb7%`jZi2eoqYpW{cq5Mku1deFrZ`uV+6aPNQ)3nNG0x$m=(pfwa9nby`rFht4=Qa=s@l9w z+F->mc{|xAO!PKyqi6d&3mq47>dzR*(P?gpsI@0M6YdlqM}?@8)ZK7o*4?O6)!l&O z!CQn;d0A1Vw~~Glq7WDAQw|7Eqg;4nnUf+|*4Jg3GUl|B}+9knuy*3>?dYxB`u zGNwA)Zp$&31scn_k;ig!;Lwa3?< z$tj?v3DOb33ah8m7^U?KN(hpU_<*-$MWsEJl9!MiiFzx%enA?d6aZ52IaO~NIP@cf zu3$MrY5Z4kk3?LwgsHo*Q>gF^@0 zMXPSzwRhFS9Ze4A{D zXfW}s5Ig@V&#A0Em|{nX8G68|tleTxIr^0%6N`!*4Wm7&GO;JM&GQ*;PT<3^@b+XI z;W?~P&E<&r!HhQN(%WF(hQ;2+Z-VVgzA5x3TY8fPYedjSI$;FXxh@IO>*yPD{ttsN zGBd+k1mSSh>NMK@MpFNeR=ucW$z%LeLiO}DXC3{vOA0F0gXFLL9-cPR&mp}&DtBPQ zJd7Qao66rHqJeJt0zcVI`6N;O6?~G2>)1$`f09U@DU(s(sH*p1pMWdY9bGeYmBWwE zx)R^3_%G*wg>btwaok?9xuk2dX0oqms%E31ZDH-ejdSt-o_9?>wBgaIk!WOk@Nm!A z#?^;A$2W4nznaE3Tr}b$5>uI^B5RZz1nw!i95xFHbc6yr7HQx)2tmD5&W|ZR`{lWV z9S4VRtM9+DTWX1K7aC?qIyNMLr5{XCP3$EV#c zn)_f41?+m}pz4#O#*?ESbZ?tG+&Mq^U}4RfZmG3ppU|*#^Jx3##`(`kQ8sS((lqsr z0;HCY)CJ2Tl6z{B3rZBjUc~hPyWJ6Yk~!3iV?-O&RFyXd8=+;OIus__KwBPE*XW`5 zJj?q}qS#VZ)@j!ltt%edq#4&NIfTQ z+WV3)FF=wkg~AGu&^IR4yYCK<`i}L*+ajT@ee2tH4?NvJ?w*Uq+iEKI+|s$nFtV;w z>ZvXFm72Vcwe7Ld+S6_A)zOl|u-PBl7hhk^)_~5H^5_Y^1}G!0!f^hB;gEX;f>?i)NRizZNtg7)K(ACbBcY}J-v^=XpVzi@IHhmggz=S z8$i}(>3g4mR3c#hXt9Kxu#sD?p!n30uRHOdU0*qZe>6Rvh@|wBN3^0A zV;!jgg6LhEI7j2($xHKORwcbO=jA5?y!6CVv6HTo5jH~Pl7f4G zC%OL?&dB4~0PCx6d!D!Tz}{EG@1@`W#3&B3bUo1RAn{U>-TTpM5At^BuhbpbA*W@g zy;8@asjF(7YZgZGSNC_X&Rf4Q z{6EaS2Y@3-nJC;-}~QtyDP1_tGc?vS6{C0 zqxdqI_bJQc9z^)K2R!m6sFK7zkgkqRDa()Uo9`K|zypI!&Id>vP*&JCBVL-Eyjh5hyEb@*!SyRKc^4uh7z z2Xi?|`SrE&64o0ebz*w1lqK;JSdt?mgw)p@oqYJrYv+${{Uiz^+0#!KUM&3LJKy2w zbPC#@fwtw0C-0;-gJR1oRxvpvH|Th)7_@6nrxS>~KYsQ=t2y_klZBtv|0|mP_~gu^ zh5NtF^C+}Ux?jF8)^F@E|uz>-KZVdA2W1+ ze1BD(AifWl(zDlIt`Bs5zR%;2Kb6%ez5i>aHqKvm9Iut?oLgH5*7&bbCqws3SsaAO zN*n|pv|-EWwEPmMk()$80LEUA-dXsZ0ew+d*nwt@W9ZiDk-~}TE2O80*ztivDH z@>uKYeBiQmNWioe1fXXqUNY*j8O!k5Q!9nDb-+_fOHFdzXk;yp##g-R?m z%Zb-*w?f^jK*Y@{1&PIMl5jDTiIbSjMi9Kx4S|3lfCkAg`%T~3wjJT2fp|5i5VQL+ z@Jxn~^>m{9Y(2DfKJ}i8;dtA8bo*%69QvphcEBB6{;J{0|1sx`^fTTe8gbSk!O;y z=d_HGxrJYG2ZO|9xk&s(;O-GieOuSA`ITzXRsTE9kQDYh9SGD$ozb9Qan~uPuumt- z+;xKR{Yq{oDBmlM);2{oqX%Y`$t{2G-QUaAjW@)jt(|CF;kNWl{58~A_zIs(?J4vK zz8l8n1Z?u5C)9EwGA_{rIst`Hz0zJrB1fErTa;0kU04H#S)@Y@((H?*&Rnq$Q5RBK zYhj45E=7Fpe2`hw93x0&YibfLpUb6(QM&@DCcsAzn0I_2nA1}yJ2p~IU^_W(j+!PjM%-5NJ>JwE^?^2P|#_cO|3$V&1rKw z>?VWCsy30qRhqU;eNRlS z9+2I3+|%hEJvWp)Ht6Yajh!Fa)VRH+tz~ksaiO)nX_`2=GQIG14&Ma~uPbkt66-HT z{G(+_!+;mIlMp&2G-z6dIp`KZ;2U;vYN?^E$HjT4hD`H!qbD4RO1;-A-XZmd^_LFt zu}QHV#_uE%O@Me{zHMO=)`VwrGR|3lH4Unq&a!J0$HHrk@H@fj4a09blxwNY4XLKh z*DkhgiFX~kzFC!0zhs(8ZQr_(td9-nQX_k6N8%mF7pDWj*={D|^ew-NJ@|g6jv37N z*=<^u6=_5);ZFw{U>#Tq@fH-K!U}QbrdN`r(xAb?fZJJBY0#-j*o-<QX^8Cu&T^BFUP%&c6BK*ibEtxqP}~YaHN9Lt?hT+Eu_z*X6?+>V+w$j!MAY zFEJ!*A@RQ(BaZxPUW= zk`if#*L@N*26fT*AWxB`2h-Fqpfq*#s6k0Dj#Sz0t+M?hYpS-k$<`b5#Vq3o(SB3m zKU(Vs5)<_;2j$VBT9-ZUtmz0grw#f_G`RW6>YB0U{$qJc&w8Q1lK_i$riSUvw<#5v z#ReoIK^<7Y(JbI-;c&rp**Oj9u+xDUzt>UYtP#@U+L2va+@h<_)^gUOyyT-c? zWamdSv8=z@li~AK?V{&E?*duMk~a~WxsC2rK9G~%K%@S_yh$+UZP2CN*Pve-uYJIK z#P-n5g&Xl*^M?w*{`fs8c!Jtv!!REMFdtSX$fTIAe7ljO%pIV3dg^)a3bvA#Pe-Vl zn4{|Js#Bqq07O8$zt?RG+Jou}Vu+Hhux6`m8Up0A#VLUq;eQJkCRE#XvS+^E>1*1V z&+cyR&(_rE4@i?8*@kpmUfj|h>Ik$9)^y1ulPv>t8hy^+JQEELHsm(x%$;?)`53yT zrLHEGs|_|3o@-8eV^#T>ufCG3c?ibX3S)E#YYxjzPEP}j!U|KVfkc3&hjXS^0jbN0 zn1Ih&<0`JX135~&orlxanUD#BDjy*dZ91yn$J!FX{8TNc-JHyAinZ+TIdRlKe3Hwy zcQmwi<>U*aPDje!e|2{}5ueVq?QMPIso{5A-HWD&lbMztK;ndV+r9j+>@bOoDEcb( zaovr$<&0np$p~`r+B$ofUo3YEb-FK8X9;Aqv`{B~nL2x!-!C@{wv*<|)Y-@Uaycfn z6T3{E{mi%dcj3#w>j1P9650t}rp`g;yL>zB<=Z*L{ABgJ0M=LNu#*XsGYFw-VxcKJ zM?X!oyOu~YNrvqTyTew?l}R#h#V6$0EKuhlGHpPYzb->6M}ku28!3tA3NLFT>*@2~ z0(Nx9PN?(uDWwkB3%6=`J%ca?EWrhOEzoVaUZ&Rqt))4E$+bZ5;2P0ufmXmZrq=@g zhHI8@kH?R2Euz-~u7PWs%d&_s;95ejg}nvW9L2A3=wB2!!h3wY2R_d^uHtlbT7vzx zKAjJ?lm=-etI#OjL_C+X!sgJ;q}g#cG`O!lzt{->wS+tBDnyd*M5H6C6pOoMR~_uR zVMk+fv5)*W5uZw$Bc}dbVk%J?G4_*yI7|n8ouaxgcitfua--7FW2-WwT6iW0UK^ww z&TUJ<%@O377`4pbh(6_v$mTgut>w~pC@v;UKeiF2mVS z-hi+Nl()f#o?8#*Gqt&X$j>M8f2=od|yBAY44dx#$#jc;n~I6;m)1Y zb(}&1ZsL9?Dm1?90nL*yv(-CUSYo{z{#+&Ao zfsQbWwY2X$yg2Si_Xe7ri7+ex&Ncwai&S^@2m6!J!KesJx*IyTlCu`_<#*!{t|tcu z|3-953|_G}sg~c0$$1wK!S1Vh5S9^%S<#*nFS35TcI#R;#C%ycq_|Xn%q}!b7sa+r zU8Kd)lk~?eV+YYbL*d1oIp-eR*K+Vsbg0f@PkC#50xeA@LnRuT{*2zRb(U};803>z z@gSu~VbWuO8WtO04-X>Hqp&M%G1DHe(4*JOgv18+HwH(q9v|GV*~(=jv4NyZtXs^? z>}lBDooxq(y2Uvl?>OE+^!BU!`-a{1iP+d;B9YoX-nFk~e5^UqQ{C!n?B(^nIarep zn0F=P$XglUIxmnzAPhOkK)hKPJYp~wnGxub7j~0-3jK$1--S`jVe{Or+Y2|~`njnm zp4q?eo1Yxy&xv_pZt?;@lK6-Dk!WpoB9!>=@goA|_I91 zOEvR;7fyiH80=3w6JmPuor)D+q`3AgJjq&M6JfZ>%TDC#2%#QrmwnOS2 zqI^^Pbd=L><(ZN0lZS&t$K~1n?o4ZM?$FNBs#yQXwLS4 zJzd_ZbA#uPxVt=)7l!AX7F)U+CwiL~TRSt;U3A}(%%nQt|Mld|wn7f1p7`VvDUaCI z+3hPNhn$+V^BIcLtHt&NS8x3AIH!`Ddq#Ysnyq8z`E#E%&Y?Z_s7dFyi??z9TK%PG z<|q$AeTD7=`Iym?>m=;aILOezQxJ9n@GgTJ{x`~>&OqVEAb%Q=?oHcH>(2yU{l>sI z^uCA2%=MKh$IG8xezD7YLw_`0`-ty|{jpmLr`F1M^)MgZ|BuLb9ar^C4>;Y8i>)m?TY9pg+U!0_GT)j^ zwzY~IyQ|v*Exn=6jpVzo+AGR;gvV|C-zndjU$1<(yy=K$pU9dBwoTUY;$6HIFzV63 z&`GYfqa)qY{d&YZvQ8^_iHu@CFRKoc>{TT*i+LjvML<#;3on4A$oR-%re=KyQN3 zNh$RS0KCc(iHPD=2AyAvSBYDIrG!^Yl0t$D8XlPp?})M9O_P@CLr)rJ(2^q}o8sJc zmO^j_@Rc9l;Q;zCVI5wAzpTr5U^BgTlGig5;HkXShHfAdDvwJEZ*^Wm)zo6*qJU@U zoNcG)tVbC}sUUWBtyV{Isu*ypfKdGjf?d7PL1YRPzOF^5&u=?qI20%pUWiJxa;&W} z?0jedJxG!2S8N?_Yn_Rg8v~S2sfT{KE6Mc$?6E0I13WV7lL7slqr4yWbpmGZ0_9g` zgxDd784=P(7)UxPGvWQxlnp#^A zzRG-?Xn2a{sJ#3e%N@u=pWm}#`InYkk&c!xZCL&}cwWzZhiG*+eE(PAc_)4Uz73!M zC6qVQ_V;i2{BNQCCffdi4WEA=p3gAnUB;rV|0{(T!g&uF21H*J6ahW$4}`@3lS2R3}3f#(;|o9OxqHGGrdu|lU9-?jTU-#T3wD}-y^T4|2a`4=H@x4%XkS}9b%G#jp zF52dy)olWn-->$CC-6@|=5m+Y5c|snlL20{R#mBW>)e80LEeTV#HWK1> z06PI%+wk|vnen_$iUhM^FEtzXt(XlJ=CGa!9)M$c`Qt5(tW<(boi?edA+G7!jE4TK zu$z(ADjEuhyljXMPgZ@9&{V@ zBg~x5E3H*Dr2%Cx2QJEiHS-h0p-6IUt=+JH#cnu27`4FV42-KQ(g;>QuhVWZ>$Nof zL>Pso{6emzpID`YThSsGHE=&_pOjCrey`Kprr=cK3eN5IRA#gTnvv$_;dmH1L*Xve zlS}EGK7VCBYC*_ZWvNU$Yw8*K9kf}=`B-bf7BCs85~m7PNfoR7Is|W~QU`-&5=WtbDl*@l z>QfA{UaK!|W0kGmRNGj$$M11?s{^QKYB+bKI~KK8x+9(5DtmLhbu=HcTU|k$!v*uY z26ZW`aNDWG<~tHyZxrG z5?*W==HOBMZ;YAoGEpL1>MtW(_Ls?)Fa>^}r4ljWkT2?wI_;HSi?>2S@_WkoY2al` zKDZMvS+1D_uI%?~btAFH`ug!~O?OSSwr$R35BQx|Fr`8KI6WjAW`j0wU6n|YaW?e?J0tz$HM3QoV71*-?L$3{aiiT6 z%=;^?ZHelvZ+awqxch~m)#>uOEPkT*kC88Y7awzMjpIf!_mLMR(6{ma#Y=bLyDlAI z1fQ_i*lqZoOn}`?{IS`?h@<(3Ca_K@f0Z5CpnOs&Z-DY20>2($w+Q8T3g!2e+ShFG z{1kdl$e;HbdyqcARVZKN%W<^y{u3KKKPSAu7RsO9;Q2Wc%ZAW!T27wdzF~PglwXhU zhVmUkxmGB*3I1QSyRth6OmRz3Gf#ih@U?lp zO^b=p^{-vAX-Nf}7EgW;FWKj6#Lj^(nDV>(s4v zBX%&38GkiBp0wVoRie8Uy7se+&8c9jQ$DLdv1xWs%eI4Yb)@2}hOyAl;Ao_}x-Ap$ zo}cPy+&0?fKnTy!xS)SUzXDk=!VKhlZB`9iBD|NQq;)HllpeV8`&g5 zU7h8drflBGQ%4BhE_r44D%FytDH(5AlvGG`8hyO6#aElC*la#LG`e@7u{P7RT{_ce zi8eI)2hcEE7pnG${GpcIP-k|O#au%yJrbgFJo13(!aB?k|99jSgr zN2+4~>?*vh(>Qdm+%|eZcfj?l$Fq+}IhpC^5kpXql!fXPnOzoG7SgBYqlkGZ2Avep8v71r8(Sz5bVW&7K)z3ScKcs$b^6syN- zCw4V#&+k6$?%JzJW-|4O){Jzl%kFD#-q9GW-qe?#NnCZPOxCFY~hj)BSM z6$&apk*IQg0~ci=S}1WbtK$p;31a1P9+8CYB(@^)OCj${3tj|(!qUOw1nlrthetE^ zrVb?*E9F&=x|{0*H4}MdO5WhXA~sOzjQ|YXU!VG++vbmu53euT&b*2)L62`i73gK!W00%S%Ys}zPi>j+W-5Wcx8|Dw=TN0D zBSEZ~p^=d3!R=|1n_jd)u+F?_xXMDZepq}}K6tLu@7GF|7U*4>zrc!5gc_Ii_iNt# zwp3fJc~HB#>iQkI#Z2?QF5^tG`*&4lVzuF>SRy|a8cOA7>&4@%#&T(S7ClGD@FoAr$<^lPH7>yvSGv7k{(X#-vPI~5|XkEsFE5r)mrpx;L@0rfw z*2a#ZZ*|6UBb~84ALI5aB*Q%*M^ut?WCoHBL&k9gdMg1liBMlLg!DKXHaSRYNfZon zAb6#N!8ASg#c}Dhnd8i6^yZi$x-GN4C3i4*uu)Pq?X2p)UVLqzFOFn~^37Wsx6~Sw zy~#lDnH#$*Eu$83(?M7_61V#807t|_{c1kJdbLW1ky4If5F}l_NHjX6mSV!Ka3o^! z#E^!hFB>Dd&jREQDFo(WY5ilxigS4f$(Luh!E0zP4MGh|VTiR#CpkQw;y)nel8@0# zKVBg{O?UIIYg31AZk}p>XY+LPf%BMaey}-#;hg%Vn3>0{xRHv^5qPQ3FWa;`5)k!8+jOodTU^mvSUG3WoIFqUcAcDiBP>6VF>+u$SoZoR!_>bCUlkM+H$?;`wx{~mknvHyAxokO

PLizjG>+tDWuy&C9Uu4vb-UA20jH7v71&6P6x*_28rfHx~DzFeN&e14k@Si!sy)ZkduBoW5~@8u4nS z^j%)kl zG9+SG#)V0wVnp2XNPL97HOv)< zk|u$T8|cu;NK7k3^JcYN3eGO;P6M%Do-_Be3RAxlDrji6fJzA|sq^t^)6WN?spFr=s^MiL8U;6e- z_=ZchQ|z@A);b%T|16fU zAEABkW4@2KpoZ7k7T#hkAR}tnvPF27z4*GHWiJ|E`)KLeIp7vU=TFO1)&038=(x|_XNErV>^h>LfuE!)rB(l^R(>Z+Op*z0L}XlPxD?A zuF)~L4v=exW6v>9^S;~Y9#p`eg!`YRI<3z#U!(Uop}Wz`_({0`IePzdFyjSD`w{yQK3@OLhK#aZPEIW680zutt96)?fsUq>ojUzBlhy&$i3K!1LPGgMwX z{e(hJ7kJ>JfgZ;d5=Jv1rb!r4NqD1aV#EtlK5Q>Jj$2F=edU^SdE;tH&lK=!Wzwo} zI=v$4l@5Zemh}F~vUeg=+t8?+QY1F@r00^E%}MR3%@=~9hdy;2MH+mONG$BmhWs7T zOphPupI(^=KDPjR1UJDvd;|R%$4c{1JX=%G{G9m`I!^gy2lIP=)qcfXq%m=0sRC|!Tsmx{pXl}ruRvG2cCxY|Lkw>73|gb3hyD$81NL`pS#hw z1Wx)}C0?|n6n`9ukv~-%{q-*DJ9qr_!s_NqGC8uyaRw@1`B%b zRCN`l$!XqyC{06o0wWS+ODV0r91FaOUd4XL+%p}SIM!txHMY+vH>-wEh~k~b8Q+m< zsnl>H95@>3N!YgUvYg*D{H8;ll9^4)vAktcQxHW{)xCYwXkT{LgnlD$on7K(k@WJr zu?5f4+)^$1Mz_ms(y3JnDS>~MXmW|0ni!Z$5fS|6sFr>QY|(kDq_;6PqeW|$05?_& zMOy4VbiaY`eX;ZSF>}{Y`>A2$h`FUtwuqhfF<-u7OVx=1iE+v69u0Q{cJ479ADBKj zuxY1eqQU5lR}|iZYl809_D!fY+^t7*;-)PO?<@Wkz8C)s6JY9?B(o!LNXBC|A-~sJ zWj5+HDp)6`=;Bx@5o6MSD)5rfKGOup%&@RyH!gy)@tkjf322)Q`bxt27FQ=xPe(}O zt(v*w5Isa}3edo-ut;VYZ6FvQv{>ust{FhqQJ32q8SOSn2fq?((viiIh@GQ8S5-VD z`*fr?X-}A4KR5Zh@9}JE9KGX6KGQDMZhDKW##mSqMeBmSz1e<+ZVws@y3mcXmf5AR zSIW_IW+}BTGR=5D>`7u1O|Y8mchXD z!}`t%ie46t*=@X`G2#&ux!z1e%9@D+mosxg8dNq&jHl_K*dxTl08DkqY_hFAG1E5h za&Kyzi??+MzmY1@-kwObwc+VaPUoh!*#s@x9MYchVJf$hAt8_0rt** z*gGT>eKWDin2?BZ*sClusaOR65RKluL7d#tp<;N<4je)Y3FlIi|^Yqk+!e zwgc@-h1o2NboA7nP)Ed)w$AYO1KO#MWJ8Dg8L@u4rExC4eZQ)^F&<4QzNRn?rt_O( zXaW5af2Jj1ufHJrbUx_v6E)@XKjHU)yi)~h7-oLY3vY4-lFBL(Bc(BA`3o9TcHp8J zilY@s$|*4;moj@9xe6)diba@~@gWI~%txFRM~8}mU?*fGv;=9j77CySQ5{^af%1p) zNrsa$QjWP{)pNkZUFos8xqPs?n%D}e!`0!Mkk@Su+Ja@VWtB3H*bUUYMsOwW1fP0~ zPrFqf)gbE0j(k;tAs5kSMng zkulM)Qg&poClIVw&m-xmdc1P(>b|)Xs!g)aOvjS__kkbF&=)=TD#r5yX5V?C;s0_wO#sm%uI>mk5dQBqFh7@2Yyxz?@(p!)Red&!g4(yjq#k zP7>{~{E&#zGfh*d2_7e2567XO>F+!0*qwDnjb3YY)_L$&{X5#Tx7g~8o=RVrs};R% zvhd^KQMr2DFoDdI|8&1XHDR2%kI%aVNbXZWx3wfQF$r*tMB+VshGHo>(I5mk9vzY) zsdP+A7DdaHv|MtfgO5X5$}C7sol~~m+T900zAD^bjp~hsXRUW?@3fuiL(k29X#Pas z8A4wM0Vh35>3M*OF#jWOQXvUr)M;5P@l;_c#|{GiL<0jC-7v2qikoCe%!)6-yuvo+ zmKYM7nWrdHDZ3!}cw6(e#k!&m>q0H^fM|iC7J<3E0iY~Y9rSt0oa?m~okdQmQ5~k# zs2rW~VOzK&wG|Urr1XE9(sPNrxf`dDVbs*IL%&Cn45nY47}nXQnv8ceCXe1M{5Gx?JSJ?!MpC{{|_>qD$sIf!KH2BeaSSMO_01(qtwzE(17nNq!X&Hh#(*x*Bq zN+tXxdwq1czZc%pozFI9lJVNGRQV1vEI?+eO@lv9n( zBQA5+AI{_wrl3xOuJh@fN|jx!HTmOsG^_2J=1fd$ zt4*4QhpH>>-l#9wAd}kc9QPK7$smq+$qBYeV3zE7w>VSrDxqiM2H zw`3Z>b`D8gIp-XFK6y_p7n_Y`f{<_lA1r{RoxETOOt%>lp#H3#2$%#qZONmkt1ZWi|id-wJRaMR1 zy0dE7Ix|z_T5{FZq^=*ip=myEs8F+wXL5%>eo%bqD*c=GkAG=l%a=xawyQ7w5Qk)w zZ=7p9*+h9+kOkr8WFJ}hxJZ>$IV~3hcczd^SQ2q}Nkq32&0aZ1qU}2DCgbYtl}cxE zLy^BMC8O|H&n1FEuRf7Zd(G{gu(>+VY(CeyK!2Uyc4OzFYOW%H|0go3H>r?+0Qm|( zBAyO-73L4N)$zUq4KQ0TQG9HM^if~WY7~#4MfDP)vA=XV&=^_zfoxXb`JKFmxC?g=Gqnx zXb%LRT|B|<)oszganC)C=XI}1TT{k#r>gK*J$hi^gPVp1hPS_j8;5+M7o$EJk6gs0 zpwlYouMO6;8f1l?`2`Q1U4;ebGLAuCJ%9Y4O^w z_CeISYqWDms=e!4G&-1xCCR>xLI3vBHOc0if2Rih zyY|V5{IF(G(Y`gEM}82BYHJ6=b!cD+RpkcaeF0P`!2FqjrpyCPX=Qqu-T6gT1t2^> zl8Q0`C##TlAh9BXZkunOgR8e*a6nHAh0tcWEghVbEei9nk)76%P zrdxeJe}Iw@vT^lSA{_ucS0WpMa=J0D*(s5=5Q>pvw~7++V8+3TKBaj8n}AmM1B#)F z$)=`JXJxBD+?Y$60y>F^Jxz#3g+rq=AVX(W%2rM(Y;jAc#oUtGfKKSV+OG(NLIik= zVIQP0R|R;%MPyNe#T-^FWALDo6SE>jl1hkxA!U{%B24gvT7hMJO0MuBcui078cKV`Y44rrD*bk}M|#z@$Hd33*>~f9-SxL!$L&1#`>yuF zi?ics)8r@$kD(cTAFlYY_QR^Z z$qP%vRk-E-*A#wKw_o)U?MEs;Qgt}f*DOK@f4#8y%fg+a=Dy5f=vz^@T+h(w)IsbQ2?OLZG~wG>D)$*HVork|H!uQmI6G^Rbrs zT~vY*Vx04OC=YWguT=qS?Q-h0BI24arejpm0}+JpI6}>oN69Hq;57CD<`C0?P@|{#VSz7OJMX7@yz_sj9tn_% znJ|&st4sjWGAY1AJ+7Cnz(cSE6sxsi>p_F)x%@6`e6(B_R#i)MVQYazn(bF;cdu1} z5m4E5tQkNh8SE9}gB0~eN#>fo)(KLV*8`ozVlg?XImm|z^)Y0qOmPB%*b^^L*yMA? zV4#?xpdwVG6S8qFYTd66IP5k{g#zXxiIN=5h1T4M%gN@k%+yL zlGrOGY~}fMlEhWu&TkAN(@uduKNrBJMV>2Pyx}0a$n)iQpF38V;`R3{{CE|iTrvdm z86bH%FnXBV!y=MLm@<4)u~<3-ER}d0BbJIs^g5DyM^~kPtf5BA*GG+lJT>Y#Ibs|xQKNx~K#h);im|V2+HG*cDTn5Z;739r)H zs0u&41e1sawJpJ-HRZC1b3NW98v3UzJ9k+}t!Mh%J8Elo^^P^|@0ChTLzSnaQuYy)Eekfa(df}M)Ys-FJi zSyfhGP__SgO#WwqJyrgmvZR-u#nDUO!y(F&;>t_EW_VjP4|o4ZY;vDn1wq6n=g(CD z^bAUjOFs8#&VEu1>ugh|=DAe-VJ};#v$4bx0MFNC4h=cuIAso)MP;Q(Z#w4Mh=< z&`;492x#3X`YeGu-k1MXd=>pjYN-o$KauY+ghUDg=jUgH6?LT!;I8$%~emnj#NO#BbItx&ms{dbY z3@*my_h|JS+87#E85yXR0XOI$Ip$bs^~8)GTa7EMIrJ|52RpLooV7-e(r#*VXUpsi zp_-zhK_Q>GPsmB%LFrW{pW^kLh$|{OucYI&G1e>UIHAvzEmvud8INm@g?D*Bq5g#N zN%be{vyI~!?N0aGZa`v3&N1)IIi9>HmW|EB=Ua|}j@wT1XS=ALgyb}R{dyb{MEW1m zl<4oqR(qSh>)==KlR8g z_~V!b-)wfdKyrKIdl?0zW~|KZ0~f8Z*Q+G-+z|1epo_>ZNJSjW8@hN!yo2h4C1@oo z`|4VRe_CCEL(~LDPQ^(1Q!yY1ShX4@@Q7xk#;Ua{)k?Lhf?n z!R8IS?4FvRW7D=vzd^lr{t{O@s{GaDbLrRQ%(B#O^^waU^*s{KJcE3Gm|p*S`TZ!$ z96+2%UG!^Ti5&xbU^}{qK7daG#p7u1P=-*p)h@VV>ViwM*NZq&F<-reMz3&lV)$II zLRIR*SK(WQ8}j)Jxg75Y^>53+K}seF@7AvOsRvk^MlYdrI0o&JSeY9*5>l5x;YHIb zR z5U|f)04$I4?W%M?yv#;K^t(v1#W9Xlfy()_Y`9iRwq$iyue4;TtQ z1NsR4{_^bXH)m(be1(`4@LmZ<&m14PsDzytW+Z@BkMJ504vAr?AY?DeW&Glj|5;`m zUEC3CJ_NNT{PO>ux^sD*5CF3HhiKycoLhhg5Wt1V9N4ZeyfV0T@U;Gct^ZSxGZ?6N&kKjDeLIDmCCl+)5 zG(J*Q7(zSEg$WDJA9(n&9X}yF3SNEaK(uhWC#F!j0EhcsrGvvw#uj_s?$^`Bq9>BLoOj(kBWgD zjWI-{CXz@m+=h427j4NzgEQ0}GzGeR_H?Sj>S^o}^cLq9yTxEN*sP1j%I6Fg!>Sv+pAhp~>_Km4OiYsc?uP)mGom?)BMDyFOJx>J zRp{`5i7|OST3|#ayWTa&(}Xx$#I5*WVX1_(3Sv}pm8HoMiLWedMy-}K zMTV$H3B8wP<0!Il-S(|NMT_V};WoiPgJpV{P3#1E4LH~+&>N70GC?DtUk(it0Dzf9 zB=-^ETW&8SmSB?g2xAF+OYi~=L4wD;9>laZC*$FeC+dw_Ejo={%D9o6fQX)OfLXTa zDNQ13232e^u%?&c~a3 zPil$RG^ete#_ZiqEz+u3O(edDL-Kd)G!ee&T zZtCNIRyynE@vCaZxU3=&x%Aw?6#1$2M{wQ16txrZ`J7|_DJMzcQH%}e^`+-8SYKC*3Mo( zHhBHumZ^6b3a=PyJL}8~qnXJ@TfV_K?K#uk_lBK~?bpulcrY|QE6q$S#J22-j_yni z9MfzDn(!ac|5MawT}tAbN)aD01vBTVTuL}gw2dX+48Tiq66(S(0;=Op!^!dpd^jm(POF@=@4%+5Oo>F@H<^m6JGZf&q5r8W@G6n!g&WyO> zgP(h1>4CzhA6R+<-}Tz>fD!Ix4g5L8pF*3&hN>j-Gs)>yl2Da6gk9-OnvzlKwFdG6 zE{#~Alx{uA80j#eYyV`zT2tZ3Z$*W7p>u{C=1>Yn=I0ClqA&d092r9^%*Bt{I+&e$ z>exzVhbZizZHC<_Y^aox>iEIHKvD_7TnI&P+w;Mjka~CF^JscY;Ys|Z*Pi2JhP;X+ z06SHTpXttb=t!~ym}!>+i-^u@CC>q$e{IE@Dxsu+#FB8@33T(WuAF35WkQu{>`dE9Na@jLhs4BuWJ;xiF;qGXY7>g6@P&|Q z2k}2F7W43LWQ<-d2(t7XXnB5VFCQ2q$W=YKze^QQv<~XB`;Tv{sG5vhV#d^S_{)Xw zHRp$ikgT8_2}df_zhvlvi}~eO*wwBB#NR8ncSc{kt*pkRH#(Y!IB3h3l+R_VJ;tz*127JoeGd{L$aW)@ zlMnq1xtk&733Bam)|h>$Zo0E^M>Bjav=p8r;wieey4B?k)33rAT0pA|!yR8uFzfV% z$xem&6#Z`1eD(oj`ZzzQaSal|NEI+iz!+8_g`88A&#FPGXXSEsK_}Hp)M8;~n>KuC z_1voI-13i0$m6Uqzs&>vtt~5aJU-e#GceQH-qP3Fcjfsu{=@U_UUlVPRnz@C*Mi+t zDk`*pe#fNh`WPqesr zqZ2u#&4`b(ykt!#33K$W?x^WWPl0KaSkv^;>piGCQ`^k0%Z!0&}Ut7f>!W7f6uYeixVt zd@G&;86%Ppflxz^<5ehSEb2FC0Vn~oR}PPoIU3WOu%wb`322-iU>v9l5V}Gxxo`FU z)Zgvwe{4#6@=wRbI*DBMJl!XR+yW&!QAw~bJkL?5L3sfM0Wg9 z;I!lUXl=l5REde5YS2=tkb|HKj5JG50F}g5BJPhwf_mUUO(4P7;b00D(9B1(a#Jcr z9FEOKV55V4_#@b8u(IeQv&E&GZ8(^8_SK-P!@aKL!G_uT&5N1L;%0i^)f+BcsOfVi z4|X<;oZb?WgtnX>X&67{7fB={|EcjcH^pMO$>)EW!2iy+!8jxztI-kNkBRgp#X}Rf z7Rn5yzx1527lv?h{A553e*!1R)1#+&up3RoP4ZIVW=K*EH=k=blys4<*YvrPhZ@R; zMDLTXue#5lM_4}1J_S6EpGoBFhr1|2+U7JC;w2w9v;MQKQIK1|Ln!ufYDjiwP4R-Aw%3(4f;UW!ZjU z%-Qq2k$PoYiHez=q=ms*%a;w zbj7o+`#anBX1gZ<1ei z;4z(U4%ie!-+|ulV-vOfc~a>At8`q=Y<=0d+JIO44bVNk5Ho9Bp)`BrP0|1 zzmd4mySMdSvn7$(a!nr*Z4#T$%HdP|P5-C54$}7TXxrY)DLd*b2<3R zQQ1RAqHq9H#fnPlV4&qO5)_)oUm`B%2|WuKF89o-r=LDGea9Vlp#H)W^ziHxNK*J) z;cxsp9f$oOrLjcy)WBCvJtD*sa%Ym?}AYDgM+sUWIb}p0mx|Y7dfk4B#%O}~k+s5vzQPXdCv^KH z?FuF++KWH}x(VHc@4rN8-bsMXM*%i*5eD=Koy5(Tp27DOK3w=P-7`CvUt#wF4eAl~ zGI!&<^30l(%f(!N+n}8uQ6GN3w6Abkf5apk12I1Km$bbFRAfPuF4#1UyE`<}(73xb z-Z+iByVJP4ySuwP6z=X;xVuxhv;4Df-p(62JF;6RD{j=6xAIh-inuo`Ga^25CDkim zF`uWT~h3DwcU9x z0bvEwM#IJs<;kJyv*n_91ud=OXQ<(aUzQB0I1vj-A|yiBlksnF6x>gjsVlLnmIX;4 zL4+}UjnjNe2a$#CL=*!0x%9^DE{vnlm6=B;T(xC(E?IjdZdje^j3|{p0aJTmIl@yZ zGrS^N6py?68Yuo7>53lH(yy&2+N__u$1cka~f&^_Ruz|g(I_) zZymA-Ip1ix*rPdh7hm!+5vIF{lG^EPsBg|Q&8hBceC?z*{n{btEwwvG=^6D~!TprE zbl{?vR66-0(wd-5h+inRa{YWa5Muw8uA=>RBMp<4H#{$}TILm<8R72<&owx3~2aA zPwnW{eTOgGC=bl~sgFFQ3d58B2}Oz-CJ7|_uBee;!x4WgS=FV7FPI{A|raqSinW}guLGs=Qx4uSkH)*}ghpxomW8Dd-> zOPL+lK8c;7-r7%~Dh+OJ0h2x}gaeq;IDTcAtN-03qGxe~)_gH;DL(uIOS7SZ73+E@ zT_f;2JCwuUmd?rTl9&{!z!zk;GLbB&dW78)Evr3r{m5C}zKRdT;O1FV25jn%M{xC8 zVXC+kT0${ZlNnR$+RoB-KIH{Hi_&p!`z%e*CcfpAQJ}*Tx1t(bK3wn`>m-+z;E#A< zdZK!Zph44P%^;oeIfPlwD4HKc%#knY5SwJ={GlCogSvm;jUB(JUK~r}Ud&jn31~GH zajW&6wE7;qMk-54K0_=b;c*w`&KrD$iat4XuRn~$WrZ?UO0;p`C95B&hdUr!p0Yj% zIWGm|x0{$vsNw2nc|M2nQR!U%p>f&t-n=1=t}_v#`mLL^%Xhg3<;3~Nt&iHGFkk(J z8D)Zas+Nj11k%(e`I51m17WtJy#EA zCjZ!PR2w;_Ik|@YmDocWo|fjfasTjQqKyQt--XO1Hx8bb3~PY44n0+~jg?@v@Qw8| zycPq{7F094WlL+m!G=*28-l~Px=tyrf{De)z)GyCv-j!cNm`_fO(#hk1(vvo3AVe; z<1sQP^v()~-<2!3oxWD=4;QbG$Fb!U7G(~R7>QH`(i7x(e@l;D6r!5lk9Kvc8cm6`E6Ycc;jI0dme~%-S)x%jL8Y z;Z8=S?5avJUPdc(wD_*lL%Y`*tqR%&j(Miloo63}bi)?mRLb?|I5b&ndj*0)eaIQuM#Xc8?`F?0uheGN zi_6Lnj{sRm2DRHX+N9@-PRWYR<{Z+U+J;sKN0wQRfhNvq&Br5L$7byl7hHF^W|!mc zsJ%%R?L&vWd#UU<2kR}&59!>_7X*iSEL8$#wSqE83d3=+Q`O8+h=xqpvxS^Vbn{^y zTe=O!EvjtS$ws7sXuLhfr>#(sqy%7v&K4>YhVvYXZ20gj35)AkurHoeQ%y8BskLhd ze3~W=spTh^+MC;UjQ}e6q_w|RCh^szZA-1z)0Id7-Ynea0ZSz{SV2A&*{qEng1aqI zC0||E1XX(is*c_&cCH)j>N!>8Y%qkM_m;oXm*0<7JGw?k;QnHYMfhLjY>@8zNg*o8 zv3`wnkfHKDtPE(;H*W?)CR& zHV8p-)g+sc$lJ}y)<$e-qlegyh$uT1$A*CJXx0$`4%TdyStrDt!Ru;ie6Y0FkJ{nv z%)hkxk>fzL!PcplzNtkB|9pxYX>6bcJ|6uU7RWEoVhhI3BU^eEM=(}jL)LThjV9jy z@3QA|4bRZGt98U52lllj;VR=j<_dIUaZ_5CSw$>+$zgU-*2Qav!vd_+327USjgA*w zDBOQK?75_sP^IlwM41XJt2`3p`shOJ{U%R*3Om(JXs=!093SUjXP1^{Uti^EnppVT z+3`2HdD|*D7qvS==fuAZm_l&7Zd!fQ=R3HjqX|m*k%qyVpvfW?p7u!-2%?o2a(7 zUEXKLiBn6^>D%o^_3aCFrWgN370#9G@#xqoUI|WxJ=f{cj}shnP;+hiQ_ox=%Q*QV zG%D6?`Ris25n;OIQ&+x`mzd`XNMm};^1Ke>hi7b>%|3f7(AdlVS^9diQE2|-XGNyU zC=AO9>3Sv^zP$mJIijc>OMEOAFI~5JxD_t@V3EOI=Hu6m##hP?X18**?5(aK)+ChW zV-Fju*c*rZ4u0|5hB*t85wlyh4ou+;6ui>+D9*yd17_b|#Q+z9wNY?n?Vt1E+thSX z5$1}BZ7bF`Oc#Gy*(}W{G0iQmC2kt1gsi1?JN{@CL=CFj17x%VL0DQFP3x-_-0M!g zA}%;~?b>fonBlR58v1q=*@B!>{&6hyQuW3=`Rr+!^5SG^nCh%1&XboOe{SO3y$Ify zh1)SdZu*~Y#t)B~3o@Rhu7cZf&Vc>w<6z&gCAbLH7*!SI{aGzWb!l79efg&|9Bu5o zN?dDU=^h=G?VFyVb`K{byHH=ArVOg(p2hUMUg)=+X~%6ka_J0UVnL($I0%ftIxJyQ zl8Lh>K`Fxp2sSHt=y<5ss?~kNa%IfN(kvO@B6MhhRKk5wJ@RC@bXb*XUI8TGo7O`V z(b)rIU5%TIye-HjPvz1NSrI)fvwS9fVpgjo_52>kr;};E2&BB3JA1Q=3Qu>;h)v|x zUkKa62Xh4;X4XCaCcef+qG;_<*`e;6zvXhu5Zs%L9MgJ1gnHe@PZ>=UNlXn@)6mci zD|BHVxr?C=wNQ+F=yLMsu9G}Rti^pY56j{YCGK5U4w~%CvcDy0cHR?24Gu`0KuZmW zt_V&j3T+wUeie2>&VTgTD{!Tg_N9$SU&3fY2gi}5=e@KbqYZ6Cd z8bZE)33FO9ocg0Zr2Pf7cB$})*k$v}UFO8);3cS7{=HIG+^sV@XQIo{>K*R3`ga58lVcv?dSIHF0}gO7 z@ALsjZH0L%LdlgyicU%OKN;zXfF>ueLU{;6ReLq}$9U1)r1&KctV)uEFB+)s^d6jkweHzL^Vr zem_+s!BGg0E4$wD8LilvEgrMyLH3Jww38Q@hDPWWDlu#2>_`Jl+uJ>S0lc3b!^W5- z>SZ;$1LOSA z@C`%=ljnU{hHb-MQ|-_rmt^EL>#6`LYhb07=00h4clzT0`NV}sv=A>{?^kMU@sDj< z8T>ts2(P0@*CdyQPimzqwvmGy(742L8Z)V`9n&+YmSw#c;W(PLf~p~Im({9xq~z2R zZdG{O?AJcCoKHEkB&Bs5y+C$9hI1fedCWElenT6*0J_A8DKt%BQlqom(ut+^xhqp6 zIKV%!$jFjw@6jyi&B7;M`r|E>!p4(jQfsEvGQg<>ahG)R%wXqYc;M&PzLueGRod1X zl-5gzsrULOh%1S@-@h#s4KqhnDqWWzL5>L6_^MK6@jc?k9CGD&sVEPh$ zjtO+!5yC{$xK#9vE*zxb@jQITNs^73;}?d(w;w0qURg>{G?jLOaChUGqKK2Rz+-lX zeR*3xUq_R=tOy4n*qe8Ir5k2LOkGMg9<}(hKl4qY_)8C*3le)#TJF~PkA#|;5SzLys`0#0<-S-cL+H4GFWDste zg|krTjcu zi?+#T2VGmiocNB1u#`V3gsQysVm-~p?#Y&6#XF!3CxCUw_ zZz?J+$SId09+X-Zic<7~WPL{!T<~&txYC| zWkq?7d3nD}CzDR;T~1G0!y+a8^9vOF?6+ymhl*rXr)_s$esu+-bu99s?>{yo#lMV$ z_WRLsWixzVNkf1@F7GP)uT>4P94*1@p+NgOs{)rave>lz)*t;>5gt?IL=!p`wkDl}M?SkeG{O zxMJuNRwdpBh<%?JnC<+{n-{(m#ezaR{M(oRiw<>>Zw9HzS&KimxY^-v(h9hZpoZWX zCCYP8)c#A~3gky2Y)LaQal8ai@L9xsKtd9jNnV-o4?4&Vv`32RA$fK0-YBbXqOTuD zJhVF;ds_`hmw?@74%wfJN(w04SZR&+D`G^2jE$VM!xg(bX>_C$lnzG`6PJb%OP@@L zByK_6fFKtL^p~?Hv6U8o3YiciykU`yfzdLXZeH{okGl=}h`u?gL9Z`U8v|Jwrr*LE zcQVOG(C2BHyu?{pZz-DHY!_Z!kg)<0 zwSj68w5?R6)w@#wkr+r|3}^ZTuUe{M{sbMQa(NdYEC*kTit%)r1f1p*SUB^Nptkdf zbYNf^YV$@-RckB3hBxN(E$JgBxAzIzLSANAolStFJkq;OoDX5lPRO4b#snr3SeNBL zu9}r>FLg!sm&CPfHnwgO1+u(sIs99m7Tah?HT>uU#ox%Hpnjeg&&}aBlq*;O2S0)lZ6Br%IwtEYp}`;FfA| zABrILfqnwCs6~9di|<%6SrMDw&n#Y=5xhXZhaBha4wHDhI^|6Ecl?XN|=Z4Iy8H~D~a*L1SC7trN_MY@zdZPE#{+{ z=Hrt2pexflS_QgG`8D*8%Arouk{HdSf)V9U{f_ z*IiPW%hI+*?b#D+5=4f(HpWMkVoKtVsp=LQSMA1E*o+#Xm;TvBapd9Ukh^p)sF>?{UH!A+Yd0IwsY%TtSIuCu|Vh_hVw z>T)qD?ap@Fx&zXyXW+<41Z(CYhY*1&NWz89Sq~RXBBQ}HkPT`i7jlcGz1?GhONVft zix+mBI-r-NzH?p|R=WZ2UcVP-e&FD*kXpQCT=2BA`Kj5VH$459DglHertuu?E?c!T z2g1f2iV?Y$ci{c>A=UChlKgijPTv{tU)P+_<>Yqu=3;;Csl?WhNA&Vp(#;On8xI;L zDC@_@Bit*Jl+qP`<%Vfk-gC}(HdL1SG%zl(3ODBl1>HM1oZ*;f-MWycr;~SVh#zXJ zOk18EnK!ue5I)48yXW~M1@s}oi#{|oyB4RV6}NAc9u!g9-~nCAq!z+jDmCb%lsV1# z*L>-=k>c#NPh7w>>hfH-atm0@;RcS33ub&ej+?@3FC{u8=fE_cAHYGd?;RQ z9>u)D3eV9pVnlmujA=G)bttfJy@774b#->%(EUzk;T4 zOX)l&Trw=V`Y@t<4et?3f9rV~5`#jr0^RYY?<_`BTx_JZYtZ#bWm(Xr{T4|x6 z^rNRB`ucRT2)WnT+iT2j<%pj7Ie>@PwShzW)zS_sDKnrL zZLCxvybV8|N^LC?=V5S1+i(pk{AK!*PY(i&3NZM?1O1O+KbEZC*Z36Dm0fAy7qAXG zJJAL>B%=V~)pi(LiI-T>eYt&YdD&VdN)6$AS6qyKLf;d5wNyBpUJ8oFZ68N z^lUjGxBFVR`)zui2Jt9^I>nK;9x1{}S1x^CwMx^ka1k1XR=I@P!qJ|1ZwlmddmXaj z^OwwJ73!UbY-K|*o+70_tk1WhisjVLhKysZ>vHQh+7zug6^nPz9`U!t7lP7_m_#!g z4w(EP^i7f^0G-QyD)I5`2hM$i`i!-7VyNPjkGZhnjcVn%+8K(9^7Lq-xzIb4^B>^R zHw+dxaMueB4;6t%FOx}j#)#_!107*2wW4jK3D@{VmosV2@Szr770C&iI@KRGh}>bM zREB&d7;y@nRj`+W#_*MNvwEo)w1bBq=r^uRU72I-iM3tBE-Q{)5H5H_v*37?Oo5~0 zYl^z!PHNbuX$@wx2^wliRzK_b_!25*q)PU9n76u0+N|5Mz8wNiT%(Bn`noji2?NgS`}2ji+e>@6>71)0zj+^ zKkbH(ZQ!5ZB+ zfFG}+8a;3TR&s_=N~ylV6yMO4Kxtc4nL$bpjOHFQ0If`LG;s*?_kh*ydk!?`ZZ!@( z=YCEA+N~;zD~fYavMtschI8M#9nu<_n;reQ9#*@b>)GJfdtLf_J(R;89vVGK0OmnLz%hv^&Fd}#>7kQ}f z%9iJAbbtPp>5-2L2-^iAI*^YCQF~|?^o<8awl^Mx&VwP_HwS{}L7VEW2jTNzap@`W zAWaRyT?sD1vjy8+kpQ6R2PLoM+u`YlsCD7mQTc|-ugu#as|QZ6+}gox`qQtB+aYWQ zRXpdwGSClE?vb)TWG<;Ct zk36@1fsbDezr%e9`7m{c&~J}1z;q6(AcK@V5Ojvvb(zM8*g>=&cvO#wo#B_;FOOhe z&`Ph+{6QTcv{!Wgz9|sgD{5D7wH~ZgApaHKD`r>UB?xK>(!2j-%Ns*XOLn)@{I^vF=0-W{ z#u;o}$z4+(nt)UWVKiML^{}KOBU3f?sH9*|GYIuqWj~Pyrb@x`S@Q<2N&$;m^#-;| zq0?En20l$;yl$@sVk=?1KIs~852SisHt7QCpTCJ=6#`cD#KPp^`SLklr3vQ6(`Stv zIPpa^y75=yn(`_s1;i!(;5zxeQG!FsV+kTNQqGU;I$~9}Cl`h6s@caJC|{v&T7Eg*L6PeqyH(pu9!o3QpiU&tC=SD zWxk&IY1$S*U4W2V?@N;OSfkYyugv=~xGJ z0_maYS_garS&HdU2h>cd;^|Tc+)Nph=~M^IOzFev76-yiS*+G)f8Ug@dn`dfTnS^DYlThtDz>gn>&opKqQ>GWI74(ZG3wp+puS)%FSTNF>J z?CIiL98VdY>Ev4sPwCC+=34?!S^nwhTcT(BH(~xc`djKZ(XKh7TZ%Uk?>YWk{^w-h z*w9prXnmp=R~9HhXnISaMoZ+-l`7%TuIpF&0m&Ptb{hJju^ZTSlIniy8>)7y>cR3G z+;;Nn0gD^1e=uL1-axh!+w|kz2yX=V$<9fDF-A11|7A# z{o7-LT~IFjUaq~``9HnwTEK&Ws5kgp&x3=gN9_8K2MbZ((6yZhPj)xOwYUdUc5m^u znFm*PkIA)~2U~XE;kBy=pH4T{wTK6!PH*xjJqf2ykIJ=@2dhrs;({Pp_g6meZlY_kS4QvN>}!)(PVXL_Yn4~l z2!F;Jri!nNK7NwA2mowCU(y^54+g@f9h*mu_o%KzqDQfJq>p6po$M#9_e5`hV^d#V zUHT=|ri0BVr1$ubovtUMccKqC1B~to+i*dVutdKC+(M7hYSF&@E9^Dc=ALs~C`|~J zzPGC{5q{(ta?)jLjU~zpMS~@^<{7xva_h4aF{Ws>_!>}!RvWny<_d`gP;3p`5lZ|1)e7d#r9%Sy`1N?X-)AQuE#3ov`q zkbOwEZ8;#Lf(*8i8>3gS?gQu-ylfeGD(+RFO28KcPIMhZxD*MB5LLuVNEiN`m^wyq zDH9Y&sZf-lEr_2OI)-s6WfsY(n3OOtsGV3kMscZR7Eh{RmB1~Coaj4-wkm2B(W$7E zP%kK*m~#+r1ft_Z5p}0up?uyadNi)s+L4ILEan?exEwoL1=dTf<=M+M<||Lw9NSuj z)=Mwsoy*9mJrG#m5a^ipD^A5+yr?`v*cyVP3G%QIPcos1UgEz<>_Bg zwGw;%{JQw$;Ehmm@W>6m`hV^Fx*9m;OX=I2eT1Ac&47(KdIJL$WW;+WdwY1Dc)$tT?*-`HqOYf^iBb zFdx;Y0L>?bpEPQPO4zVuJ-e0w>pj6HuC~B6?zFkW4MYjdUr7zFI)W)Z1}5YuSbWJNXi2xjn(YhigHmj^RXV0sdIp~xR~ z`9w^V;}k$@ou2A7nw>m#sjQLc#1XX$nT8o7`|fYFs)lcjXqK5XD$S!!@|X1cC#*BE zpsA|^9x7Qe|0cLp;hP9^N|o~)Mc209)>9##l$%oA49vW~pUpFU&vv#|@@dI(tM8+6dS2oL;wC;?)B$JJ zi!bN;fMB5Yv*`_<5wc%b zL9h3IKc%`Vp(TxaqB9*uDHlWkEBAVy%YCo}8DD!xHS_aPTk@&B&NaxXeJlC;+6R-YDoBORPzY46KN_ zFNbb!KEpw_!QUBhk)Z9{Wf`4iZay-5vp+FO@I@lRTyz%_k9~1XA@O#lA&O3l%glWJ z;}N9NfLVF=R5=S*m|fCSdL%reYX?PZu2e&N*IE#9+-kkP&WcJcxB@5&2}DAsEH)4x zlTUnF?lu(6K@`ref`vzfT9OhH78;^@SR(J5v)C$fn)~Ml5rMOf7)GL4(M3us+Q`%K z@(Ot$2Wn7kfwxa+-bBQ6Fth=B%uwT05}Pn-RIjhkO(IBa9X`6%*~Q@*@_d`|2#3%= za+}ckeP8&K zd8uV1t4hV=$9jCcKib1HvrDVrL4V_nM$<8F}YU8N#M*JgX2()%f@;| z_alC%DscVMdM2$-y+*iiC!@1Ls1bCoRUBnKgEm)Lx$euGPJ0-)J$0|T+oqm>ZYZ!8 ziwiuy6s^K%mlL3XaXT^t8w?5x^!1Cc|J4%4t}Lkk6vT4!OqR;1WNi>BWt3xuSvQ170wBX=mZ>M^*(%KT z7urSF96ocQKpSwkUgF_DSx0O3X!+Wb_urf-&{j$8nq$_{h#0Lo2xzLG@wm^qv_>xo zLOZhjs$tU-l#z%LmE{qY^us{|whVwojh4nrebuU)qvCRacc)W1xpisBT`-@IuY{1H zk;`blwW^Tyc%C(x5Mf)ROyMp;3D zgUq5SbgDO?-Z7QgodndXPJOy$4%=FO3U|ApwJ7&`6t;anHZ$QuV}cv0;GO6MFxjx$ zZ1rvcS8^~Q=OSVG=(%QP6rgRaMbDfSW*<3fnm-6kR@InY5}Q|EOWKt=Xq7tn<>>-8 zAYHAK!w-3PpR?<*y2YTP0m=Ig0ZCAtU}hxbW>o^(o4%q5#tfGVcDJk}|1H!vr4OX- z2}!@NV04T<(3$@|K|--m8IGCFor$8b2@G~smE6Mh-G9NSoy6H+7p30VS;YP_owjBpCTM9M@%4aTJI&F87*NP@<+YEh@~78-oH@K zj*yqk+T<#ol_KFFXXs3YHK$9?{UXh<;Io~2u9oSr=bd^OaIxTx9UPDnULq0wO$l&O z2yh!6mr{Uwj}3@@CZ`M~m3<7j1dz;JkSA{#`F-EjgGGgdMXd|UObZ_`o8|Sw+r>u)F(<_8u}-7jmHKdHKhCA$Eamyby1(D31nX1 zq=c-_Z=J!cnXxL{p8_ETzG1mSP3HqIwVW{Fi!0-N@{=j;MMQ!Uv+;z z+aG&-DcB5-e0dTS%C;~3?swaF=>I6=VPc#z_!;HVL-qTu$qXncL%%zrBqBRz9(m>d@r2Y8V*ICt-oLNNh$J>?W zOiwlZ7}OVdx&7w-^tD;sq_j zBc;^VIivVlB{VZ7D&@a*Kf?@%A<-B&Uj-N3w37-+DGIOS^7v<#Nw_GKF%==d8t+(G zzA~VV$K6dVwTh^~)5!+%3X>SyFPnF05~nlNRiYGzvc>)=_sFrGo5O;HzPOHHC5The6kpUe7Z-7bA2X=uIcA$wIC6ABMc<%u zw&_ljg8cJq9ir4zWqigdhECo{igY;fpBE^13tkciItJR8rq`6==+IY}dEdVj5k(Ly z1WeXl=aWu`^_}lKK3*N#w0o5XHf=az-yHCcrqoR2l`WCtw@bQH_)VGFY8a~7i}`%%I@xDWE>bW5;m(dHzPAXOtxMLazvh|QSW%&y8gop*xN;_NY}v59JM-hEWAEEkgcC67I_h}P{{Gf(SlNE!N=}*Ex@HBE<*XLL zcEpSRn6+CC&-m9a=jxZ>281iQBrt^0{)yZ{71)k}veZ-rwe^+_?NebG&PnpSF*J&* z0pE*W!MC`rk1rFV2LIRu0Q&;=@$m)8W#vay8$z!xe8A;vHZn#)Tok1#3LbLN@YkQv z-uz6W=8)K)Az4lwuAgTnW%Pc<+VhzH1IWo z=dUnL-}=wK^?BLUCn@@RX@U~Lz?KCJarTAJ6#Mkhz3@~|{p{9@o6Xgj&GMA%!dWP1dzd&o#p<3VPM#T3B*XFiwOTp z@&nYu(VZnU$^Fz=&J`{R@iAJGsQCq+P^bzkI7ca6+~B}fXqL{26DJj)!6G#2Ioa?N zuyxZ{w7dkY^y(w9q@ADe5KdJRgC{}Gv{~b$GiSM zpnJ3-=4o}h75;MOsd|2x+nBAh`SO#$%Wk;G%j;&#^Nr^=#^%vg^^Gr>;MtMi|GTt5 zSFWW&ilW*x+uYJt2a7}!ltU|Jgd~PQr#aZ}gnq6XYA8M;XckWP)V&8=P z7W@|c9sOl#G@O@#=Tk}dVLGLo6lfK`tZ!Z+*;)KJ9T-V*BwZkdKn%%>o{e; zEq>N_?+^8MTrC7xEH2|!?lKKJjf=MBJEcA}Pt{ysCwII~(ceFZ&?>J!pJ@$sJ}}um zZMM1eqpW(~&?jqge`Jn1O+@3rO&SfY@_)2U@xLr4Yax|1dc85d(7#->pD(+1i+`LL zH9IO>cdZ;Tx$h)icH+-=t{!&QzF6BMnei8N0H^L=UQd&k+iYrvn%wbUlgBnd+{wI? zJbM=_M$y|Tfa~Ycu`KqpC!g$S0^7LkDIi@ikHfH#yA#lh@OpaV@O_{2{qNJsnNl*s zhsXJ57Yoqq;>Oo=@~wPK$opZo=~C-OMT;Eh4W#!jcH{?Djd3@hxBYd$iU1#ce`0#u z!tr)5ZG0RJcPhQ>zG%#DqQGa`pha3JU9Wr9(0Ff4?n@$Uy448we93XvL3F>TPtM<6 z;eC%BtKTGa8o$46!GCQ|zC3$+u&(?#_|h)lMZ;@3uSYacHpcJP-}Z3N-$}z;@p47) zeJLh})cJ7T0s7dwo_D7oI(w?t=~Uq`Kjhcxbi6(HK1BU^x<2H6Drc)~+{_(X`#WAg zM8kWZKjd|>L`1-S2yl$zJ_D3TyB`5k`*4FQnJpjm*b&^lmbO4d9A169pMh0tpk*{5 zx85#V6R+M7nv>_AFWUWc4;Mf7yMM6^&u+iHY{qqdx%caSHvZW)OtQZ>(@n8PHqXmA z_$1eHGBcejBUR_#m1G(n4*ttcEvYr#+M3r3LUVN6&7pG?z+y#<`I7UvBe^a66m62&S zm61Vd(#m9GNJTdwCHojZo_AHifY^oQ6eP~Uj_;s`4l#4Goj&6>)epTc>U|h&r&Xh&s?GBJQJ%MXE)hfaY$uccyv`Kc7V# zmi9Gf{2nVwp;xf%V-~p{wxw%^PI)V`L4RD*xm#DaM zw?l$R^NCpS*KMV4`+|0HgGBhPIdZoHj*1Z|*fa1m=WX5kj%P*?6!3~fi@#|=)X$0c zw6jcFraKu&!37z~NGBT_7uqvd7cY#r-$ssmwEIH*)Flp64Pc*1r$aI+n(MZoOx^@ZDp<$b}k$^(q5zhWI4XwIe7Ke9vk#PUb@~nYd>|l4ibG! zWq}bCHtj~P2wJFx4APgb2t?Ags_;kB*Ybcq)$_FUK{61s42Z0SVUym3C6wIVvg7d` zF&&I|fvun0$YIsO92X$82XP$~uJ^n){BQw>lj{~luZ6bJXIz<08dquj;9J7d>GN75 zg3`54Gn{3C0q5A51_ed2JGAHSA`sXdxd;v6as9tTeUXi?zpFT5^BLI)rr|u@^g^|d z=Hbr&`8b1i!HmOuTo)9vOMsi9E8G0JI#n@svKjYoH8zeQ=($!Ioy>xNtkeWFnRu>H z%Vs^TH}(WpOr_na)$>{W*TA!TUAVWpA5Fc$CCF8M?z7-GyDy0S0*_pXgD_@nfbM%i z&46tHHYo#YzAX&hfT?EC7$c<0mV{sU5g=zcc`+c}qE>&&ssF+K&68 zI}8B@aJtLc=C$nV~ZO#Asq(x8TPED)3|FoG% zaAoK5HM>7*35I)D;gN;UU+YTE12KE3Y6+oj7w(ayGl1Rz=`6Hbm;NmCKGm7?hR$ST zf4nWjHJSPH?|~MbeMmbu%cGoe%6TXUt5zE4#Jxj?Z}zrSMqu_X*5ePaz8 z8ISDDxU|VXBX@U=u3b`j{`)EtyY$$$@p1b0!O~X^eQL`{tD4G9o8WU0iU>AL1hi zpRcUG*jYd(h|&W$yNB*`*Ee{|;FCLU9R%Tl^10(w3w7VGQj@&6v3g(L^rEZdf$*Z| zjqd~g_Ws?20BRTSksPt7`N|4E>~f3211osfo#U(6&QA{_v0ZHZ@LdKPUP_*xdngVR z{{HAIgV%5T1L7Pw#aoIQL34JHUO~)um|jsjTgi_YlY^Wbi;Nk;H+Eoj{UX>=;f!BN z8DW#R&p9D6t^ak%?sXI z=;jXHE28r*;aWN!wD-UMJ!|F-l5z=t^dH@FX&s3|jLrCKlbLbC&avksFftJkMfUzU zo;{L}aPqW#c5v{17QOvK*e~RQjRt~FyZZU=Bklqpy$cha8A0Ly(+yW)w&^I3zm2?L54xy1qBi%tlelL?ql2tN8O8-gKg!0FYh}SN;?h93N*;Pr?kSj2Z{Bse+)Ez58Di0^yd~X+ww^I+Q9bVD9es}LD+Prt0 zllz?OJjLmU4mTOrS#uNit*$ccQ^yDYC6GdS>Sf`^>#kjg_fqA5pwiv7Oa8kfbZwBV z>bZM-BN`a00q2X7-HKmA;np+pfXyB>se$7QpW41z!f4ZT_5joAPrfob^W_C$oCQ{o z?t9kIcLu%H@FR9J5PFh$l@xmg5baVtQp)s>a6lBdOdWH8^Y^84!0`{!UrD~gn(X3d zoH|bRJpsO8?U29^4Pg7mVh2jvQi|>}X+|*uzN+j{X+~NwU@q=(X-4DOl3Mpp03e$6 z@vVhOy{x=1Y6$)hgTWp;aqoKGsP23yzkK`GYPQ)dx$Me+!ubb|VH=$TSK0*6wQ}#P z7~+*n+-o(D4{nnk`VTJSCpSjrQ^}Ql(GHgumF{VIc(c+S#>tJc`sek- z7S3ufWI(=f9*uO2BhEXM_Wh4JleH_)Y`fpjf(XRbHEd%Z^2XB1YI8bkx-+lr4Ek@E0fnT#U_USXQ0^72q{BD5>hmr)Zt-aQF5j_Ao!TkzXX_KKhK#* z`%jr;QEfzoks%GK0S?aCu&U^ws0hgvs%z44y>Ql#YnoV-P#(!Wwf`}c^dnU)a++Tk zm9THuFa% z4Qf{MReQkU4}2S#Aq|r7q0yb%I+qF>>sZz?L+R!US4kjEJnMSh0qtaS#0~AP#~8;Z z(|@E&Wkn|*8sr;yJ}9m~CEaxFYua#5X=ppQ=XoB-zKN%?7@7wqcH)f3E1%DnX{k3# zmOGg(&{eJ!Dz!D3C;yi~^T2{M($dcYYMgQAQU6;llax;+QxgAYv7jl=svtj+pve4V zLF(VCwFO~6lxRxz#RpEl5*s-{4S)ZvCJ*0Zu1a8``xDr&{`dtr$o2RgI1pSz2pocZ zWMJzrT7pkEfU^v(tYK~Haatn$j1vJdp80$RXUWksaqCl@MaXW?J;FQnn1DDv2;218 z&!XtJ!XHsPBY0~lI{i9q=_dbMm&A+iis!bPLZ!<%73LcdBxa6J;7@&&jeh+GJ(y4D zoNf4?2|HW*-xf(}rBnahZ0h{k>K(I|SM-|bSTqh(D+!EG1(`3^m@k))#Ooi-cs@&Q zEBt|HGS;A!@QYYh)uc6ntzP@ z?~6y$|G4kpzNx}1vrH%12oZs86d$vqXv&-~Z5K+-D`x-y579X2%5?Mljb0q?_MU}s z+8i@N(ZoA%5zBUu)2%a=h+a-Csf<*Om2A~kI88z5eaZH(Is%(}@#5V{pWCHghrM^l zopV+5nkThJF5h33rrw{;3))XQ9t+N0>OVhbDa(N9N)};dtRf3(dFIl88jDKQ6%;G~ zi*S^wd`+OiDyoK_g{8k$Ex~=?JI5EOoqw9G1~{18`kn^@p!@6?MRmzUw^232W&rTX z2Jltgi2zuYUEGL)MgZdCF63HBx-GMHPbGHn>NK>)@|M#Y*y++1-$nMoo68rZ9b%q{ zP?vAgF6i-VI)dfxN{P*7*UCy8WuqEOuH{rVO8b>%?F%_j9Y;cbUKQP6Am@~Erm4Wy zjXsN0nI?i&GUX^iHsI3!-^Wp(|K0iLw)Ow%|Ccy0ZTY7s-@pC8HD@GHPGgz~QCXLx zgxN6ar>r(j1*iVcps4k~?lc#kiv15x{-+U)@2k3+nHF00${hO?PlHN<2nv;WMe6KQ zi5L*fhP0fuP6r`5#P$vC*h!eo6#Dy{Qemn8-bCIa>;Ig{Q)SW`s2fR@N0=otRx%YS z4K|FXDC5jg{ingSr^f$_x32(eD_P&)3ec7U1&Uko7A;WR3KS?(DDFk3Y+c5TI>ag6)@U14f!ZQNVCxl znc*k`;->_5Cc}GUl`&}CNG zP&=2kQbETet$J9%#;ErHYcH*z6n=A#YU$bKy(?eA?;Up;mrYasR2)bZx=2n*2HUkx z`F-9Pe9_<|+gQ@=vZoyELaV(;WW>kTc`LmAp{}1C2Wi5xV|WWeEuO}*m9BqTE#cI% z=lp9j2YlO3)>?uUdot1kz=f0Gu08PIZs9B?k`mvZs=Ss8XGu)xZ4d`;lwp1si-e$T z@W`gi)hbYT;xjS8&o6x*L#uLpSglIq^#)+D(vQA&JCKxm5l(Q-$s)1dJ6FjB>%U>ir$Sgu?sY_7@3FoNbdE-o#|awASG- zUg{*+#SoGx#4O+c75t;nsQVt3r_%f@@STb!KTe|=d&K#F10p$NUC!r;3RGj8CIUeD z+^EfCjRrGMB{PS>Cy~poWcg;-2h=<@0fIF=)Cw9WQJXt|~tj9_~>jfid z)0CS76r%N_-^y4WzalwtqP>v8?9WJMA|S2LR)nR=XoY6iuBgRfIK$9yAqRf)sbeQQ z7VKP}pa383(HEGJWAxfIWxox2t|>_dvM?dADf|?nR#_IxqdwBfgr^=;8v0g^u8_uv z;D;=&e?zKrOPkY_gr;r$P~_~l_57KF=?c>t-0n9;WjfrA>~P?_R{mazE}X{b{_V`? z#FDKK@uXrNhra#q(n#mSSz<}DObe6yHsPNllqxwwd8Ga!@#;XJX-7Q2cO*(?_g_i< z0j$|GI9l5AVU`&2XvZif1buHMHxgO=eEojuJxLZ=a^G+y-k0-+3!Ct)h?q)_cRW&~ zozG{9Wyok{h-G{ebAU<=6s8OuT$|<$H%7J!EV4iDZhD(mYt-Ixc1Skks3-$Jt!ACLqp0MThJ9@u>u9zldhOh^BF?Y3)@Lgcc4k2EtM#eYA=4>H z-&#f#RDXPMn&Mb??HrV9MIi`S6Dal}gkxEnLrYp=&15BwQ=;`KB6M^MyhQW-dilmB_h8 z=MO%%pQoKS1yAhnS3swD{U12#+MBNTKG1}T?0r%*XB{eOuDNhPfA=_=?r5NL=m5UC z($rt$@UY3hZC{T(a&P$-c}V6ykUYY~o+YyFAg?It%D||D*=)mlSzWb1H`!`uK1(sx zUD?0ZN8VJ(TLAZvab`sMv^FzlYDEd<+oYER1zv2i)`_TATS-986QN1rD3>9Vg`>Ys8x5UkUH-B~5PYDv z;}1OG_PzmWr#>ZYijX*+v@%J@n34Sv1<0%@sB7lSXa7Z80YsQ!T zV(%3SywjY3I4MV6iDWDekZetKK;4J8#1s!#Se-v%PRx2`nCaCY`h#GiVuAmC;6%?@ zgssPV>)dRbT*pw(I-sZwt2&N;ZpJn$YAN%S*!6SQmDvaHPxSOl-OlGPif^em?bYR* z>gzeWm=3}ckL*R*KL2hP=k@(Q-GDzDAEI!7GQe?2PCN81=(1*L?Ku^m@K0WlZv!J? zB3+&tCg34S(YuooJ}j0#c-DA`aagRiVwo^Ou94|^c(|8Tr!Z}qRR&2CYf<31(=J=j zaR%7#Al%zqYSe~(vpT_fPOcuR)yf%I%HpZdniNW;n-MrQhNh&n#VGbbVvaNr4GZSf zYDHifKzUwTf925#uFzO{wUq`htagh+7n}qv^?Efyz%<~-K(CvT_K#1WB4!f}BfeUl zxP$>0TAFr^4ctmg8m7Cb;SSH+%33<%=FdyL%eushsd zdVzmDOeD0N!ta}5z8lFJj%TlEf#zWi`Z|XRABP+%fgVV z{cD90F8gAIVK_#@g;7}hM%KX*I}@GLZ*6S0ASp&p)^AwL2&y}IU{1C1=G9%&`%2z- z1(#M%Z;FIal;OK}=I&d1qc<#7oRW(~>6MYWb`kAMdfztaq@2b#Xwi3X9tx$fXvS%s za(LYI27muXDih8i?DUTxrT@@d4xWRKQB+4w56XHKE?#__!uvl;t-qvo%8TJ2?bUqZY;L@5lwNp%Y#VYgcb6|>lm@{_G)nT2BD{rmDrh^CGmd$UgW^=I5Nr_ z5xtYCBuI9|R^sD3%X+PW-mvE8PW9V* z=c`;L`iEPuw5VaDXYdbZOI6_RnJ_}HvTptUN+M{B00>TF$1dRExHY0zRbejVm@Yjz zxCTAxuA`jUiU|{Ttd?fOob(w&mUs^Mo_nSsW{{|h%mt87W!3B)5=R{u03uY`+VCDY zDwxX&(Lv{Zef%j81s&A+!w-X*0BgaorG8*Txu=h=4qc!E!Yl9i) zv3nDt`R1DHK{c$q+i=C=zEo!Q$;w#Gjz^TR0j2PAbx%uYi_>8}O$qb=0D`M7L50QL zTcQ7FAPdH5wnD*Mnodc7Fd(&=&WG?}<*wYlylei2<&yj=eC~ibHNwfhctZqdW97PT zaM)vVB9oh@pU6wP4?_PonEo;_r3o?r#n4f*f)Hj{5;1iUrTpygehbHhCb>Vx7s-3r zbQQozsB!0{dfaeNP$~bS~T6 zUMvDjmZ%m%@n<2XER!MuxZ_RIhC2C<1=X8H8*`Ux8MN$;M-O|ZZBYV+tTjt+KMqhY zja*s1aV}QABM!lX4Tk;$1~M3^^NcDru4-@{opl5eNAXw6JqMMh<_ z>nt=|yP(P^5Pj+=KX1g#7w%%JpP+#*{3d`cTTO;82Br1vnhQif$N?X^oM4}DZl9N3 zzd>POK`OX~&p`0CRa*hni@wbc(}{9m211=9Q# zHvWiC96Y7KnRXx+ex!HRGM#n36YItBqOe_Vk~;G`#N@m#B+ibS|ZWNTw$$PEOf%wCrfJ~Wvup!Hm#5G}}1^Dv!N^M%x! zb=wtr?$v^j!Eq!LO zYEIc!#i|2w1$D~Y8U^dJe_t%pNN}?GujAmKi3WlS&R%j;6|754c;_YKs2zQ@5>fqC zgsMbL^ly9GQm(IHu{^zosnkx>7%~gNmeMAOXtfAebLiAjDY`V(O{g2TWOGi&Oj{Sv z{X;4|X>^r#raFO##cm(0Rzx@^0p^{m+j|=0i@@ITMd^a(xw1pVCl{+dgYhW{tU0|< zyQ0b5#>%Yla_+eu!j86NYUugiK6zC$#(d$s5|YCxdp7+pq5dv1&DYlnKe?`V&B7Eh z2RT#*%OZt%)9^NHEZondHIl!^b%Hm%T=ZS%m^V`mqfq&KiMLZmkw&+qwK`x3j0D)KmXZs9vGPOV878S1Q}U$IvIf-QgIc=fds#I6`_nZ33S zu!HVxwqPuHrfH>~4lMYLt?>$*9kPye*fww?LcR1%tPS?lhmcLFB8F1F^wZt)WHvbw zJY!NRmYD;UBWAM}TsDV?RK=v>W-@A1nb<-@yrW-ckxaaFRcXbDXh zNBm-Wuke8JH-onFNj$9r)002untlD-6u#+Ga@yz$vZ^WgSD4Lx@40hgY^fSA_3C$E z%{~SR#19(@q{rLzJI`g3CMKW_55@I8%I`((#J;Bu&%5Hcdo>1L6LKvbJ6qaE$6HUm zgKC%S$yEb-Tv=y|>F26U8~&QeT=|8(h)c8zd6vQ< zpbRDt7&#SOncyN4<|50Vs?(-OF=3e68j>X|QcG|wl|twM1G85m-dyx2H=UaY=*t)s z`YL=qcJ{OfizH`7F>GeaoLjv6+tidD`2p#iFRHhtm~cLp{hujqV!?mT@Lx;#6B!5= z0cO7$>3CqrGt{x27$Dl!(Kp;7j7aCH@Ybs;Zjm?800Z(e zQh@a%nq+oETSZgQHDfPMR!=P~Z+g9DO1)jB;;5Qw_ppe+3$^LD_uSyCu7^#o3@aCD z9em+bNIL{Xjd|~1Hh#}AsVCfS42V490Myo+ciAos=LYdc$~G0bbiwV z1j{t=aGmjU%h2mAP*>kQFB{D~SHNdfU1FD+{Q%=!vyMiS`0JScPI9w0aibaMl0%AiQNi)bd!Zp>ROx%ZvqZ zst6=>IHR`b%%b%Q>!4t7qYy~szj9Zh#+Cfj6wgQ`RbE=kh6nn>=sG|8f;Py|f6ppq zR-}^>qB1vR=wvfWks2*RnQHrFOGWx5(KSDfRy#6FyfS@`$9YZ)<|NTKk^>`v?tCSM za`FI2ncyz~E4-O}1Co7XlYub0(euqq^uYOjqbc5TQl0D@=brIZM_K2P9?xyo*n@rv zp{=&+lfvgU%V%Z$*V??MFM?B1XvSnnJcsC>E-;Z5t6< zGj4K1eJP-GTN#A#j$730K{eVB&*rltF=0lj#=bKU&8 zHDK0If_g}eH19cx(#BUKs(Q-nxOo#?g)BH(Z?Y>XI>PZRLS(>I@7v@9t9edpKtPmq zWdzTBv1_^&G&c@Ks*VI`o|PEIH3zC8Nk?M!FE(e*gFX!icM&ozsqfZdRd={X?$N>u zb!nIrx_jx%9Yg+z;&JC5317^AeKeOlR_ACT=T)HwM0tY6%}aX2C$js@?e1%(3)t;w2#nEFbJHu;tG=q)7>nsQT zduh3-mWwx&O-!@R_2);Sdr2oPk?K-%Md9(f4O&-^i|aYt2)O9+Z7q6(@*IeKLR+lfh zkvXJ)UEW0P-x&$rxb(~qjc zQBg?F)q~ivpzS(ePXX4`RaCcN7gy3=uU1X}w2s*hD;GST#H%kH{Hk-2)8uOA{_kaV z#dpgv(&O<4z{~w?RM`$-lricHPU73HeZKV1riI62Y|@p}xU8-4L(Y4x# zT+G0ST)e?s5Q$ocQnA{!n|x{v{qkLJo%~$dd}hGnFXm{#5=Gl;8~Q3L83j|dPCH$7 zn|dz3&Ciio8-*r2sEJJ&?8v$#E{c7s=?$|xOB(JkX7rD)O%vW~yT5iNI`V*FM-DB7 zEr@Fww|*xgL`BZ^d;2DMRvVq{wG8_ABjviFt?BzkVhoA?LhD~#_Pcz~RO(RpkcIQ1 zrV1Ep;iL-N^p_U%2c*mlN*DstzEGI(f{yKRTsxr-yEypCgBxJp1>OcDXE%J*!9#X> z!jNRoCfKnzVDk*N$6iz<8e7>+t%9m98;A&IB}T+g-_bE4vkrrnf+4=&J2G2Ax&nTf z9?i8~VVdM>mZk%e9lxP3PNzby9k$aHS2Hvn(0h}387g|Cc^TP#&3~$h=E*dy(&7Vu z^}V;e!@Z_R{{yUM)Nj4zt18|{ww^dViEJs077>FAc13pG?q7K}NA*Sel*7j_;|pDC zxXK4@jNFzjhTr%<+rM8DN{zzYLH)kLKa}*34gNm_gt%WEk_s@v74N$19g7$dVClt_vG8Q6vZ?G2%^ z5iJ5qRI|uiqMeHSDyeT{9quT+Ad>s~=`EY=KMu3JPYAePz_*oPs9%0Co~-m#vL4+} z@4PSMZ+<|Y-lf|3TGW_Szumd(#giv+}FRydDPH<`5XG=NO0g%fvb6}fA5JhJ}o!L zzX8*`$1jK^&D`FXeW7~SL|QbcH072;LJFL=NvRzWh{`7)N!>d%V>C_72UtP-mTdQ>2Prz3N`PT73unmS93aUDTl zk*00OpOiq-wy^Hsnc`K-{&$J1M}c9chfXlblreV4^j(^Kd8~{p=TBmhYD(chmh5nXvP-ma z*v>RioE`RzT=PA5-5i~L1-LxFb+`2WOeYlBb?~<9g;WdyW7VEJM<3}xxl~2r2n*oJ z|3J5AT>6VmTq!EH6ZN`w1k9!!fLM(g&~H3PkMrxbNF`Y~%tAQi!nKV1@l4{0E7}w3 zJO4LHFnq><_hQ@3cVVX_1>sWBYzv^@kd(->>+TNHBq9k4aVS zk%{};kVLO$_WNJ|^gosRFUK@rFa&LUsHOj&g@dbvk7Qnzg?PoWB$2hfG7^?{0|fetku%K z#oI+V{iCY*t+_T~^VEgxzk1B?KD(E@L?RTnu`iVK1?>`dY@a4)g}yOdbeW(rl*FP%e)aK{FV@<{J@%VU z(OtTYk!PFFc7rVcaDxpDNiV3O?V-r+L{6r&{Y%UeORa!(ZT>WMRPf;aJ z9}V}8i~4!}u{eKrS+FN=3TrzMCVxZg@T*H3WmU7zrQP|upWs%8f{n)7tXiF`TCrXn z;8(h>w&tl;r>|D55%+hfZ9EgNL0n2n?|{bII>_-zt=2dPUU&SH;p+Qn>`!_raDhM( z#QP6a%#U9)Eh<2iEoGTr$Yejte?lLZlQsHYHF>s%c&e$THmmo&YSKF<73Ej51@ba+ z`M?|YGA@tu+2|*-v+CcgCcN8HR@Rd(kozaZDmx@=z>Ce*eWlB5u@BtD>+pNiUhcjf zu#`TfOZS_LEHRA)tVG+lTfwsnr+AYN%}%FzKmfg9@D0 z;))Bt6}dfIO&BxzfwZ2SX@tVBE-Il%n@1z6jRl_upBsc~Tbs`g${IxIx3!+5zEEHd_7(0OFg?ZvJFL5mup z*&ZwdCYF?PN1Dl9qeAiPWly5AJ$5E88nq2dV>Gmv;t1Wd(ey3f{7gaV4#Qm7o}FSt zd|yd0gjYV8lOKos{~#j4ZUufY&XoQ3pSwk=uc?+?_e14L>^|cE7?#_%;A2yzTdvKf z#hOqUFQ?u|4_bRS;n-tUXZly=0^o{%smE*^?;Y>V&)-4|+z0j7qM(W3of>60@Q$gi z41D(e^y_<%eubNm{R_J<_q;J7ogYuJvD@4nYDF&6p}0T$seOP`JnJ$djx6z2hQXHp zt$SzBq|mnco6cQo*pa;t;s}a1sJ>+VPeZ^5*Z3W~tqdpjo6S{V%;vU*T8t_?&_310%m6GqvHlNY7?%N7;IBr8@4C=1%mTB+I2k{|S>1DI(j&R{xl%(a z_MNUKO>Qr-=NW9N(_i_%Pi{}m)@rXCj!PV(RC_bQ_z7Fv8nHjKJ$-TOL@m0B18Z>` zto9o37l!$89ed`^Wu7Nrrr;aca|hMUEorB$yFc{DTfm#!Nf49kyAp&aE7ydAgZ3XY zd>N^XV6JxP;3=N&B$%r;CeyH93AI5bpn{Hhk-I0xLq({ejlQ2}6)3iWCFO(J0k9rS z6Mf>N)FnJ|L8$P!{3z&`5wi^wdeB{-HLjUhe@QqahFI zmkEzl&qkiT$67F_J;?`-Ce}D06OXQ7R!}$Yt2e6YL0SijNRsFRaSPRSqj`A_bL={i z-SU?JHD6vf`-7i37u(H|hQTFPb8S=?((Q7=@EJV05G&Ewjs88NLozPyZQXkPau*;6umdl5Q%0Bv( zo%eh~yJ}HxM7ipIOaV;2GClzWv*K*U5~60JkJeWo{8Ap-zM$rCF9nC;@eY3@k@MaWXL_#vtVBZ24p@hGC$UQID8p3(aqh>9#hs`67A4k)$P&^ z>vms7ud81B59jes4S$;|Qha~4RDL(PJymp)NC@%$(k|-oC4=ukG4+&D;S!$_8G?^G zZ5I{!;WGYhI*yC_HPNTfQ~pry)%<8z)g83El%apg__q}3JBCkd72@Ung)*bIi*fhh z7mC~u5%xC5$(U|qg#SWod>=w$#;2CO`R0S#fd4eq&IP5c*gKKiMz#$&)beBVb}g^- z&69sC*5TUPzD*%pUYDxsyd?VH+F&xU{E5LSMeoFNB;WHCo z>7C#GdU)#_HuA6k4D5DszphyR{E(bD;0BQI@f{4QpEfe>4ew)L)ui;TsK+-PaO0nc zt7_|iuewb8C0Raudh%L4Y~9-!#cywDw7y|p{v7wKJbxF%Ht+^-+nbc-tCcC1%=qlN z$ZJV{bKJjsGJhnhbq<9U_z{z9VqvJay_v8#0 zt^t?9!zv*Ng(I-Sxd@}TtgL_ifiFTt`eONI1~OxD&wI1>%cIGYq-XQPLT1k+h-5V* z6py*ARRg?l?6bNOdF-$qPV23fHFTS}#dPh`L@h{OEvX#xtSlu&6H=p|KUOsH{C>Wa zh}h%OB7X5G;WC{))|ds6#UjW*)} zAiC=L-GgYCZckGQ`#1A2w}M`C%A=$%?{$t0kNzJiAb86dNX1Wdc8&A?*~iN*L!xcz z?z8Tw7^7~*=;dz37|iGlY9bn8srxV&H*oE4~onG3gpP#@(j`GxnaS zQH-pL@}HplJ~aWQU2H0$IK_EAJzncG(0h(3hG~kk=Z^Jpgy?T=(#weg{3va+g7)kD zjc}TTLQWVDxA78sxjsyOwfoLQE#h3uF4aR`lq;Ak-{jb(fVOK+s)&AEo1xiFg+2qv zE^D1}TsH^1!W^SX7$Yg{b0S>sIX@?khnA0)hNyYwWU;t9H7Mqxa)h^Eq1YtNIr1^W zIg9UN?w?63QFBzxefohc(oE3=&rd6}5C}^3u~>9%kKWhXHqcC0_SJ4f)`rchot&xi z6#YJ1&!0AC>)vlrpFO{(9DJX;x_P5bV(e(TsJm$W zqfz1tPn!Z#gT2Z4Z}XFo^p`0vqw+6N*p8%!daKT>%`sfjT#rOC`N{Y(&L}x=o{2cJ z9o{f~cqp+dwEDYuo;rahftohDFNQgqIVPriC`PH9J$fVFqj95lqdj?WLUTgh zEX_dU`;>wDgcj$4?=uEkUvbK3l;V_9$Z&Zvq@TPbrIFBBv~?EcTH%fUjbSWeixP{{B2Pu0#nVtx+wKP<9QI?tceNr_A23J9wXm>Q5E4GY#7quA z8))@2GZL#P{h*~ed?m+&L!1`E#~VM2BYHzcloilW zaX;+hc{-WyHj703ifCk)uj&_3rURNQ#>>8 z+gwd=Neo)U*^N3Ax{uz8V7qd0H6$f1^!MAEnbp7(E-s$%%+bOPf(oU19-KF+Bdk}* z_Qz`G*mhJODXMwh+(SxlTuo~0QC!28_RP{;mO-`$@$7uB4_~~d7vB;`_EH%}XC)*P zagvYg5WjQ;!9mIvky_cPB$P4+m;Xbll@(+fb*fw{6GwX#oe*=@eRad0agB$52t57x zOF|c!mAQN=`NxTVNF&j|UsC^>zIbnpM|WShx2aZXk2dAFCc&+)3cmD?gQW&-n!^8( zW~m^WbXNLQ%H&q4><`ToJi7l zqw|4Eq85XFkS*!!&267|?VY~dPSRQPh!J5G(te`(Z1IpxPwkvHXE@DlXgcRrghzFb z58ImA8PLTB^L(m1MHrW7tyhXw$)scn>xpr|d`mQ0VPz9ZVOi4<)7xekD6`>~l7isb zdkN8nPt?sW;hl-{N7nw^g=7~(I6k2aO+Xt-#xoSh>EaZ2x zs<~1?S%E&t4Jj+@=v;!gie3xPBe2e8&^V9gp3Y?zFXo<&FE90bHc)t`)Are&hP|G`JzO6Y%yP!*W?wd1GGinM-XciD_S+z&+=V zkP2FQ{`Dc%D|yM9(2)moWHMk-ymFn@l%$+IA7^W1{yZ4@V$b2L-CK&M&-jCVsw8G< zDWW60#SQ^2xRrE%>QciSx9SO%f@t(&N~jm2+oE^7m!IRT-pXQp7jP`jhNkyo&jy%V zM5EceV{7Wl%h^Ddv=Gr>?6WSx&!sciAJ0{>)^Gi^~$px7KN<)TI(F z^2%X+JXqAKor+sKqbHW%wd@_&@SI-Z`dxDo(8(PU%WEiuHIz8ZDr=U=ba$w&sielo zo@(8m!Z?G7df_^p7`rRyV&PQA=60w_oWq9gIaq_w;^Sla+LPgCp_&(3{o>~8!pF-O zC;bulMXxEE#fO>5ipod+2DrY#y)cgJU@KkN@Nw#)pFB&f{o&R}p<%Byc+?s4QD8(#JTqjoeONDBCTwJk0FFX2CT3+{eH? zmG{V)Q}9PRhn(gm+B5Ubj945izZw-;QXNaBT(t8)(%j>haCbX;r7a!yuQzY49SgfRFraDqC@{Hh}%&ht+OrZbybo2xy?HpW@Z zJA9lszn%@2Zo#jGTiK1(eg(LBYAItJtbPKyQy_Ntmc3htBL{D5h-5EFt-=^6kg2%A z6E_8&LC*#wSIOx#9$KP_rA?x8;yrKrRhxaCMt-V(Uec4w`Z4~d6W*RVFW`VdhKQsm z@@h3kF-l2FNE9uvmbeXHs9{1`C-}u$PnB%3N3H%cDfwp)pIKduRuN594IY2SO|11q z9b!3J6AwXm_C(sIM+F;#?p%osYk*+ehPTOiL)`oL$V@S>sHLG>Jmih=HSaIYp9VIx zq(JnKn&@6owGl#*ap~euOmtecPePjt7osTrZ|q~_Q`&3fXo=042hQfga1ic|J@48G zTMpNoi%tTiSX}fp}vUR#FYOxwiNjrwv zlt>gHcB6c4CGmMFU!w_PlwK|WEN2)>*4iYjR{K6AO3LnC+*^Sc)Yd^yUR3K>NOT zGF}DG6H7w(u?;VJVF+uZc#4u-=_8Vm#8eWa)K@hA!UNt_lffzN7=`mg6$8W`U-(Hw zS^)kvexhiody87+EbkUG2z`(7$^|%7%0393dJ${&3i#sb4mC(FPy1J;N>b=sNpPvp zDF|r5wVC}Gwa2bIrRTF$vA$Y_#CJc@O)K)u3Q5|HX$pN5V+BP@;dn~FKMvUxpit$3 zX101Lgu7}G^Y2RhP5Oq-9@QqX=bP&iv`Xmoh%S?RXUIpAzN z)RZ@aq+)2`iG)tFj=Up;WIp}WSFM6Dihk&k-UYq+bw_4SOVP<@j<|+V%|89V;N==$_p9wqoqO%ToAauYnn6 z$nBt+b}{xlxo005ZUg1f_nMQh z){)vBBM;973cBA=FQ6rz4-QI~sDIo2kj`l+W>FE>>W+aWBA)gnz%s$UEY7it-}4bYr- zeVg3qDh{fDzkPlAE;|oDC|2k*^BQST6PfC)t;|MD$V81ukW2KFZ)`hvb>bL7t%v>`Ttz4a>TXuG%JHw303tJ8A3)hze zNjXzHM)yf^mE4FX0)j1_?!C~(1uFQWzt&&8FGQs)chlMTF|VdV>aps+ zAjJv>>iw7`_eSx{3~ zdpNXp`z33nVXlGbZJ&%B(KO8-e@@D^o}oEG^Lk`{iF#k*-kH#@_2^i2$;X<}p-w^v zF-|KWV+SEmE|gHj!c0a7eqoWZLZ$=R$Ofp+7TdHXtnc^+H80G0Q)(luEez%W6Xz4T zW=)0E;}PxH<^}+-&>OSVc6Qmytw&bulZCKDM4hYscbNyG<~Mb?X4IFm^&-xdFD}(L zK9~ali5RP{m)A;mzKFIUz-8Q_2-gT!1k$@3+Wyi|1Y&YIMt$ltC2BW5> z>SK`ndWrw+o}w0BhSgi2jgd;d{_8Vkxsm6F2P!XoYBHPHqIvulNjg91ypV5JNSV<= zi>f^CwUN3I&T~3>vy06+&=kU``dG9*gaFteDL*3S@_Dd91|o3&^<85!0IqU2zBz7v zmjYHSSVm?WTa@C<6gN*&IkSGkiWo^KuM1R{n=~(;5)!aDpMSEM87z7N{OFE=bmL#l zn7y#l&2S9ZT6&f~M`Na$>IpkBINiu{dhX7uplRtPKvhY2!>lQ?y;mzKa^g#<=_;hw zu}F_(=h#Er#{JX5>k={Y_qFP0T3>VppI^=nw%>!cJJHb&U1Oc4it^q7g`}Hym3;~c z@EZ~z@1>Nlx>~<>8=*nxN>8wU$IWJx8AHcUd&dJ<%Ev*Kt_xatRop41V)ANCLc*#s z&M=jtGZKzuKfFVRlE#4?_#S`d0dPKb!D2!&YTN_{S2Z^6qehs#scp}#_QI?PWq|nD ze0by1X`QICiHAZn7W%Xk#4i5lb>~%{s(K(wmA;AlRpLd;RC#&ls=&gnA|I>RICHET z>>9RGDQ!rF)B&kzm`5bnZSw^Ecec?%F(HR?I8{c1uJlNEA4u5H%gp{5OMRM!?P z8Y*OBF0Cl6g2%uO0VTi!U|<@+z$&UzZbu2O23LaL^eO-rBJvP12$KsFuK-{ac(k|* zWjHk>2S#}uY4-ZuCC6{M@W0a7XHwNT3@yEr`PozWj#d;%ro>2%rm#06 zi#Ol$`0`;1cHyweQrASq)?=wBLC;;;O7`-JJZ84&t6q;Z_A*h@ff9$9Yz^DVCI~w< z`j|gemlp@+dsYRNLDvYBG7bc~1zNZAXLYpH;~fk2)guK)x4LGjT4p!$#|phc_jFAO zK#S@jE}YyLI{x_{p;rsoPF(#-tZAETLsaw%sVD6xNQ!EMkMXwgM&*idw=A|D0a;tQ zRYCWm)RJC#qKox!oc&-#o+(x@vNxm)EtfVYRSHUAmE0<@r#0&!Yd}oZGlEQwzVYQr zM?m&gRCUpfk{TYa0#Z<*$=M{&)e1Zl9P5fjiY*q@kF=lHkInX2kQGT;?UuW81TIY4 z?o$GA+)H32F4r$^O^obXn&-P(Sc%33#S=d2W2+8RyIt?edFBsoS^dzm_40}PTY=uD zdCGjpO3GM;Qk3|nsuvSCRTUMQVoip!9yAxKRnQRlv@ui zK1ZeOXj@IrU>!G(Ey_?F>r-rheGN^CT+`g*>vFZ`o?cc=`|>O`SYXj|qf*5`6|Ud~ zqsa9i6HCiteXG8Zwp%GM&!4I;oJv_K(8}+pE}WKL+3Q$tG10dv38GD-wG3d*x3kbu zMn$k9bko+t9i{Rs(hT^TUz+n}rj2aLZ!m2zxkPexl1L1I(m)eE({s>*{=0pVwD(YdssB8=PBZaV7MJI4oZC{py|9w8r8RUx0EHaTK}U5Q*8@I#E-$UsaHc z?_|97yvs@G@nmtmB|sy{0-$lGd7*GfmL|2eh>S(uoaB0@5vg#o9NA$PQmc9M3< za(b2e)U8sB<;bwCzeKB|P-}Il+H6c#XA^gld9te@cG}#aY^beW4#4|Cjy|FEG{YrFZAtZlb6-IYA*B`+E_w&RCZK8&o0i+n9mZuVXv}#koJHF9vsnp zPY%EszaE_JLLj$I9q$^gsa>t9&0AKvXlxm&sV!Jm>Axe@5JPTbC+TX4v1L(KZ(LT7 zS5|M*vDNfQU4uz|%AjzU?`pe!D>St&wao%#Q=(~I^2~ZqvkYt(3XKbe!ieSs6|DD& zH|}iQdE%bMg*P``?eh{1ejuNya$`r8=^%}!RJ3NjsT{2m(aRZ zWH<0SHVZsCoa(M9kY26pc47+R)Txx85iRw7JpsS*0w6(Y0Y@(1zr2}@at^hiY-(%N zfLGj3%AjG-TB-{{**#=-PpPJucPbvU zj7;IXrt;)i8t~ofRoO85hGqDsG!EsRJ2F(*=rKs1uTtlxFU8NhzVjuzbb0&Wra|&`bE+Ej*7<(gjnYsVeHsWNSwwTb3>2H>G%o9M z=a0KCxI_k&Go69kijmb|jI_DusMopW;kdb$9F17t49KMnNr3h z=kd=PbhV&N8gFc@l&uyXnfqp>0?dzd(mX%cO9H63kEON1_6yjVjiRg=j*E!0;Ib{< z9Wx<^qY|TDhiA23yZ z!*!s~o^*mspb~Q(VL8zHRyC`;;gNg(WzD#iW#)KJI4K=hQYjr2Ans+Qm)pv}XO>2> zl>n~hZI}{SxG=;3L%6!RE$poH_gn@JvA=_A%*px}a8(v@c({KS3n~;rr5dD3WwyuPMqlUU6|wNWtYlgJ4@ z@7H{b&$mW7viIO5Q|6}S`m&TZ7xKd%e!KTn(PoEp)iV_PGeety+2J*^L=+g;NjUiG=|kcif#V zx;#+Nw$boYbyrV#`})I%+E@C`k4Ry_+3+Pze}(6t-jBARr`Znkqhr0Wi4m4RWP6fL zs|`=M{VIy{7QCmaxYnH14_I#ZegxpG!FPU*R+hcrhtn%iSv#XUBSx4%X-c&~3I6`B z$Jp4M?B>g~1Yxd=?9{PxB2)JMPSID*Dd1$)%sUb2pS^D|V87lgH$k_NrO``<$}L7# zHZI7FYgmrgfFDtexamW@&K0&U^dTeYE()J=M$NvC^T@U7*OQEoeX#aF)PYacjK8OR zH5`IYkq}Q*&DXYy#qqU~N1A*7Ll{>5rvbtjN1T%%4$v2@hoR`g!MXf3d#dYaW%2b4 z!p)OzxUl_P;I`xb2cVum6V_<MWE$Avv!)Dm-y@QMzMs|V&|9s0n~%X&Tu_P)EbpIzOp zuZqNIo-0uiZL}J6y{ZyUuhbkYcDgVxgYfj;{%_zyY<5#aM3qCr*3;HUtIWb$=Gp!W%GC5d?pq3eNKxvVwhvY4Sw;-jiGeCw4|G&0yXbXQrZh{&fBlHI}F;LS{k;^ZJ*4`?cB0$Znq41Jq^k>DBqx?kP~xHB|R>Q@`yL`cjTVI z`}2^ox#LNP8#KfqU3#%84bc^*bhJTJb7$vH%6&Tb`4UD|I3f3D@@`M$-P2Sm=s|-X z(}1R9n^T8s1Kn^=Ng5HuH&dzbR6^48>ikXM_xJ?{;Js?yNn40+2m zqP5)JlE~X2rHy&}@+0}3^1J5ad-Hqb<6i~k3Sy-B7wS39A863A2I{E(Sn`@c*_F( zWI<^GKC%GsSa4zi-mw4=S8%b`zk)Li8e)(xJx|c^)Vz}WOlecS(Sq=h#U~cv6ANw^ zg#RkI$Dm0DJ!lYKv0$p8$I|ki7Bo98Z(cGlf$)h1?-k(t3h-+M)dhI6Lc6eI*&Bu3 z3wyPO3Th0h)2N^!t#oe^6?PGHLE*T<35D#N3kMmLV^E<%WdJG@4i>-#RFo60*4DO_$Oc z#m^VbEFyj@B62HQSoE$^rNm*yJ&UoyqNN5^BvDE!c}0GD-u|MZ)%(}BC}vPvY1p=C zhbi6NvMrO_GOxWsoek<{5I(2)sABw0acL6uAFFM;81GX|%vF4GG2WweMiLdDVUR8z zVoHaYys&h55|s_oJB;E7i>LP2V;Nt3bMfuPqg&=ly?bD44N3;o4Xi!-iI!4eSlXsFqL|P>uln_ys5L1+1SaNP6 z?|jK?Dh2gFQ4n6G)Gv7<4UIHtOoq~N22C*N7K83cZBcTcpa)Fe!x{RUmLc!iBr3(f zl*}!epNdKr%XutIpf?PXywcqz+ed(nx8i z0X<5)h9fBLQCgfpxq{Bo^V}bMDII9gu?FeV69f%T%RAkmp@N1bOZ&I)-?{YN(xv^g zOJ^7~B8i$xQ|gTZO>V6;rQS6LU1!jZ2Hl$0Li#Jc%al$`B1V`QO>VQa^-)bRXu3g9 zw%MX-US=Bfl0gd$T4)d+y>xYHEcBSAzP7hgy%Uy|);;&{*1spmATsK|NLC@=pi+Z$ z=~04?OUpaapr*W21&!5v;{L>7{f8KIokV9=!o z;s44el;QEp@LXkYl;L^G?l9;+gB~#GVS{vwCj>of@?J1#u0it++MsvQWq75s4-8sn zP?bTtUadw0@J$1H4A58O8V%Z)L{b_N)F~~mt3ge9xq|Rq1BMN_kaVCy#~O5kLAu`Q zg3d8{Lk%Lz8!&3XHKf-eHx9V9l|1vAgR-op`ZH>4k$gJ+fpZ1vJI;5MrFQE339L#f ztpqNTpJ#$X{*2EV>#cFV--lcMt>e| zZIIFueUE}QTl)OOIgfOR)R`;kds6dQ!6#c^V^noAs_F8H?CxMVxWCTlEH0D!`YaBX zK9|Y4e5lWbRQIf;?J_y;YB{6#<&1*JA*7#4`h<++JvpPJ5_fv&qdzYB>!ttAa;#S* zCr{sLVQrHBH%Ms_gNv>dm$^pG!O>nmgXL8PZ(dQfFD!fdHoCL`>v zM`9l$=PRFBTSrU!vgFk2qubw>oI<(RV71Os+ohjI$)95VoV2@)VY#eJPsyJr`M(bD zpOMmYbSpb?M~sYNo7}muPtMVobL=iX_m!F7BC`~gGg>cav__wieUP(B(niVG{cM$U zStod=9IHV3iAhe4l)BPewVp$}t6mGci>$~-sZ%ZU&^2|Vlq(7BU_wSc8y<3jnDHupv73g~aZ@13UYa~ZmDCZlO^Ia@wbdZd5 zko5Vmv^`9pyM2=6ye6%-M2hu%idL+T9*7O}|^#?hlDw+R*Qu9>nM13yKF*2X$%ZhwMW_y_A43inYjdYb$ ztmn;HA**mZ=||3QrR_Od2O>G7@5vY**7pcmQw4uFyn{-gseP>I&&9IJm&>_7E2U4% zNG3|@*91Q)$9+^rGF|k1oE-6Ql0QSn^N1b~DMz<*rPbf1&%en`J|X&+E%`UdS^F{r zJHr*1ny<(#)yX`+F6-4^>U>k`+%MzrD(lr(ay}7VT_^p&D5b{)ePx!;6YbUZd%eZJaa`koG8Ub{f^wdc9o3bLOJ3Hxu3_PuLy9@nJzpntus|$v zKyaLBINnlivlo(XmU&nsBdn9Vv9`#l`Z(kDU32GF(O_-($71W`JSzm%Gf zJNL`_j@D=7T%x_M)QQM=ekmH;Uo@(>Gxdb@ z&_TS}<8~l*^x7RGck(UOGlSJkk`>o0b+5fzTaftMy~}AQ`Px$EICnGKKb6_24P!P*2T9K2FwzM5NY1oIW~N4TrdGz#D64;&=w~>$ z;a!v;3w~eHEA-e%b^R-4v{%|QNKcgUoGD`-C!@XEt`V;_Nm4z+@iJG(%gPRwqn{=# za-Pijdg;GdjyOm9c}#K+65q8=-^Z(DrJFx9e;r+h)DE86P>JO41vUxOd?!tGXKifrP zZl6IE#2QqsrfrjZSR#C*eFN& zlbqdOsHUnIZl>yT;x0>anUof3VMWplrs&Z;$@QFBl#i2{!;K{ znaSyL^l@@m^lq`BN9F7uk)CCzVBM_mSGT*$%&d`U`2m@?P@miB@u;};=IAl2eKO{w zoY{i)$ot929U1w-jy~2N-GAb4>^*w4;oaD3j-)k`ekkL)Q%2ieR_72oVtYB_d?~f0 z=10>1qte@IvGj$Kzh2tDAn9^xd%mO}NKTP(@oyyObs5{svev7l=Xo;nPo?LH((_*F z`9+!Ae$whuIqPR+z5XHV^{kxx$Ik7NPL}+L^gl#qSoij{%x#sdSEZ!?lsZpI&sEO* z()MZDF+D8%eIRFg zspQ`$IyOSaFjJ2~xsv`xj(D%w@0vsuty^6zHD8w5K3sa}1BWw{_D<2v#ajREdYMUA zu+D!{(mBpyq^~-sNY2|5KVL_Blbt8A>xq)TMP~jr`CgkI^I>w7YsB-6mZNW#oH9up zWDaw*x3_cjTHF2fnC*cM(YST1Xy#a{c|oXwfX#fBKc-qZb30Rj^x__4g0s67y)n0lkW z2l>XQ^^2e>edALisJL%3u>98evkHD2y6XBML{mCe)OgQ3N%oNNPb*ws(`O^sar4 z{r#`8f50{N54^_yb*{00&^7k2dyV~rud#omZ#urZJFjS{=)117!b2%y}KQo8hT8y>W#bPgu z2^I%hOtP3_F)a_@;?WqOfV1X6M_vN##4CWEd3E948HK!|@a{>4Ts+z7yK7ojK|b$=X2fd8`D<#iy~Wn{ zjX+<{Q=G;6Ky~%yJa@3z#$uGkdKP^x23xFSG0>uq#Q=*z7VBDUVKKyFEBoDWYcru6 zsGY5CX))GfgvDkSJ6h~yv9rZ47Moj)v>0u%Ep??yUSIniuAPChy!KbMzw!_DPxN2x zzuJGh{|6{1E|!4k022@l>=aOdGCSZvKxtrT(3s%j;Np6zA>JWPL%M{luAf|gL1;$k ziqQR`6%8U9Y-&&z)-LQ&SXrab!^6T;!{@p>^&v6-qEID^KpOE9Z>c3d;wyeqTl^(J z0;P@wNnHt+dJ-b_B~%(nm^73|5-yFUi8PgF5+ThcQd&z3iISEQEv@jojkJ{;q@A>v z7`ahmrGvytN9iP;rHgcxZqi+PNKfe{H%V`~S>ojuxm5y|CB#SffUMQxm*4NPg7*7 z+#~nObeSRd$^G(x%#;V^A$eG4$s_WpJSMZ{k1|IdmnY;;GFSdf=E;-tl+2f>roEURR-td(`LUS5$6d_nriCfO`oq*%7g4%sQM$}ZV0d*n5F zUEYwr@}}&Qw`9M(E$_&?@}9geAIOLDk$fx%Hlw|KCn`P^p!;EC;erB43yt_tTyB-RvS@eH$GymHpaEl z^|a6uc|n%SGFdJ!$_iQeYkSE?kF~a4S9=ZRU--P7kdsm(r=(O)OPQRJaycwN%1`pM z9Fe1POpfbNP1a$WqPJ_R{$7Xc9h#=k={x$KF4BDcL?6_L^kJQ)f6|xqW!RNc$-?r$M_mQtu&;E^jrN-f6&8vR7$r!E^f}FQ95u2kKs7Z-oD^KBVych5G@lX5+pG8^C=TO$b-v;tp846u)hA)laEwJxO-l})%7~Tz?%;LB8 zQGJx((b+ni--V9m@_Ra8=ko`;Ko{|c`hqUyPj#)X<lgL;tv1`QqJuN^J% zK}S#gcWCM;{{z}8;cua_QvOcMw2Z&kaxLc{v_dQRFtqK*KbqktjZ4f(Gm=l643oiS zCd*{=88h9?!&28fCya)Pvj}P#-T!vWC2>ZA< zc3}qg)hz6i1<+IxJiZuyy&t~&1^n}S_*@A*@PZok(;yAirW&PfHCDT5FHO*angl;g z)6tr(Ia;7obOwBHw$6nvmuL~RxGAUvTHLQ6=@^iUQRA=8wH>UI3VTe@8K?=+NNulu5hc=fqTYv^Ky9Hhnuw^80gK&_nmVxPjoJ@U zBvW(s0n`L(OIWx+>^esCbSAWXL4!3~Ixu6{|o?yI=Bp9s|kTDXDD~ux;rz_B448a(PGZ>)< zu$I%?YOoicpf@0N1%!Tp&@fi40}SauqSj0dqRJ( zCv*mTLQk+KbOU=rA9?ul0<+D$2KlVnZeE96Xm*%4@OGZQ3w%=FCog>p@#Ja!KtI9z z`TC5Nf7TauCFEjVp+%6Z%vQ4-aLk>gnrRgYsw2WRxuDBkh z9_>I0p(7~u=>ke9B1sZ8;88q^!Z@ANsUc@^E;Zt5JdIi)k`z%Cui-V+l8d>RqG88c z)C%@!NgZI5Sn8>9uuwmpst?l;eM}#t5&B1coJK+;Pt$09UYAh1F4N_dscUo%W$8Ly zPuaRtchfliQoo`cM232lXF^RV&JJ&^!GLi`P%4dc<6<=adfU~hTN8p6HwL?A+Zx#s z)-lRq{D`V^Q1yg)5-kPs^d9q=?Z>po{*h-Ku6+!@*Sa<465~ZC;g9oabd6^q;~l<* zNIt{dXYMx-n3+yI$9L!1xeGMj*q!BVHnVWX^|mtzw(F?+UM)MjWf+mFeYp|&UFEBO zHGa`tJU1|Bu{R2gx+D0V;r!yCpqWuNdraZm?EDmYe>C;6^Kn{FaV4QQJczSAZ|?HE zscn5L+w&&T^TywKgJ{W~c|_WAEh0dC%H^kHcU`6fIV%;;pVa|l-(Elq zQ%#Rm(irRso~934ixgZML%dN@`EQY@T`dDh0zdohGq-8iF*CT7%dM#~o7;Mw^SPmj zs?+oyy;rA$XWggw>jOFyy#HM=|M#8qMn444`dAM*OyA^NuVfEDj{-m62hZM*c(B*{ z-j86ybLf=AeyQ9>;Iq0{-=y>A4s!=pUMFw5KKW$Q|CUjD{Amn4s%C%sH}ED;uDSL4 zXPf_LZ>o(b6b+YXjWeVT*uh3hM>e*XHaU6N6+Y#h_W#tUa2mD*livU~)*CFW57<`% zSXUz0R{xsnz`M4a9pF)m!JLZ0mNtVStwU)K-Vk0|1Tg3vFyy?N>db5Ab@K)|-U_qZ z>@hpdt7ezkixOk%nmWj$kwatDfNP(llSM*v$R8~ax^yb~+B2onJyR~7Rfp_ZdjsS;_1b2=CXTEfw@a3=X37lJ1%lybPKR+jn zrVuA*riM=Ti!<~xo1<-O)ziOjQpg3er^^hmkM{d*r`A|dT zK;bp6e;zUiCu>-VoY}dvS*5FWi*D6o-FETz#!NIhSGk1=tg^1Fe}{92fOF5G`gRvK zfNw3QFnE>YPkZzYc+zk)oT8nZ2x{frLBQ9+ASuSVgP>UF4uU#>ZTPr8)Wu3K`yZml zU{9^N94e0o?>%c}7N5b<5YH8scb@}hS%wyWIj2G98;z{5m&042Gbe|OyL8iGcb^Xh zn43&*bF=AV;!T3-YZ6UA)87m*tHp5IR>bwwdUe#T?+oXB8 zZ48a@u&Ol^OuotIx}MfC zp7D?c&{9s|zMRPYxIYizfykjoBSt=tcUtxPij3lCKEg+TZBd(1*!I6>_|--TBi|bP z`u@{i8JO#7Dx))0PG_lt&e1P)l#bDHIzcC?gicW@o#$hGoKNscF5y#L%BQ*PU%Z!m z24C<;#yJSzb283aHrMpA`DKvJBkMYMb;u^q!AruOyEA=qnR`tTz?@g#g{kGc6y!Op#$_+It1&N zPz4M7+559dZp(4p12(&blR1quw2r-{SYlZyRw}tyF%8sw;)wA z!j(6;vI}I8z5S??EnOMw%ASxu_IAZe#GWeI+Law41MO`}m2Bb47*}?O46wH@RWj0* z?OoXo($C)3RLN$pZ0pL-kiPa-r%E<;WgAy^!s+B|cYhQzoKDmWIo}{kadlSY>ZZum zL6N)GB6m$i?%a#qITpEdDRRGA_<=TQ9D4MF#r|op*MK&EAI5 X5%~Cs{{b%9{XhT!0000100000CE^0& literal 0 HcmV?d00001 diff --git a/dist/assets/images/demo/customizable.svg b/dist/assets/images/demo/customizable.svg new file mode 100644 index 0000000..202f600 --- /dev/null +++ b/dist/assets/images/demo/customizable.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dist/assets/images/demo/hero-bg-foundation-6-large.svg b/dist/assets/images/demo/hero-bg-foundation-6-large.svg new file mode 100644 index 0000000..56dae96 --- /dev/null +++ b/dist/assets/images/demo/hero-bg-foundation-6-large.svg @@ -0,0 +1,1321 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dist/assets/images/demo/hero-bg-foundation-6-small.svg b/dist/assets/images/demo/hero-bg-foundation-6-small.svg new file mode 100644 index 0000000..7bb9030 --- /dev/null +++ b/dist/assets/images/demo/hero-bg-foundation-6-small.svg @@ -0,0 +1,1309 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dist/assets/images/demo/professional.svg b/dist/assets/images/demo/professional.svg new file mode 100644 index 0000000..ce4beed --- /dev/null +++ b/dist/assets/images/demo/professional.svg @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dist/assets/images/demo/responsive.svg b/dist/assets/images/demo/responsive.svg new file mode 100644 index 0000000..173ea9f --- /dev/null +++ b/dist/assets/images/demo/responsive.svg @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dist/assets/images/demo/semantic.svg b/dist/assets/images/demo/semantic.svg new file mode 100644 index 0000000..29c3647 --- /dev/null +++ b/dist/assets/images/demo/semantic.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dist/assets/img/ARC-HIVE-logo.jpg b/dist/assets/img/ARC-HIVE-logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8ede09c69db7c0ce830b513dbca74cbff74d0c9e GIT binary patch literal 246683 zcmeFa2RvL)_b`4}@1jdYi4xI!50Z#Z^b&%wR<|qcs$tU`iI5N>A_$@f(St-1goKFR ziQZdQS?s=dr9aR2DewFLKcDyadw;Ia-h1ZEnVB&b3^#>XlU>pF?58w!wF#_Kw45-N?B4y zSw@maN=jKuQCUtJ%mo05pFn=`_k`$28RQ?I5dVOQ19vF_fDA(XotEtPxj!5a{rIz!iXo zf`WpQf`*ckhJl)jnt_F$hK8Pnor#HsiHV(oX7~F3_!juvJA{^+nwE}sA06F3W;!}L zX2Ok*`CAf(e)k_!J8q7HIN3fa9th6xuj03jkF zB_pSxq@o4|;Lk`1Kt%i_avuO8fe;gs5RsCTQIHbT$bgXy#3Y9prAUvPI5P2`yC_Y@ z9F<&ff{&lY^tF?WtnZ~(4RV2Kv!#(`sGl5bO5x?hC-0d%Yu2VB<=H-4e1WYLU3t@n z8eP>Ay#Ms-i*EM5Gs#ip0kbxy1)Xj{1kTz`;JTHiIf&HxY*f!vbp z@wQ5?Zt>JzByR^;ymW8)Om|!J}Qn$GzLe`42Awv$zhUv zQVPx+dE3+GQ|E=w7srT?0lG$NVZ|uc+l$!B_8oQBTL%}n+{U~souu#`d_y8O|m(YpNi)7YwF3OcQa>m=Ef znk9h)<;~|#+xg8N7Su%r=0b~t^Ne?l(pz&&I71hDws21LR5$B z<-SX@j_E69!vo}|cpy>ru*=pE)QkRQB z6hFHuG%<_aY>k^J$})S{dS=}#2SXFkUe7IhEx3DVvcG~#`pEmV2cz9hna|;Qz5NI4 zi8nul2;_O(>uzG7P)+{eBj$I8e;-oJMVePdhwi4zmxh8P;ID~6j zoz06G&G4VT4yGpEZu9Y#SxGGAW-YaKT%_elu6em02DOyvP)mrOIE@LU7g_R(kHDNf$>E@#;D4w=Q);lA>kLkP%Ec0~6u-?nQmh zTlS^OHP+Kr9FQH2%ri&ooN4QH`FB_?>zZ;xYNDePvib5tZQsr`=Zi)9vst|3&cp~K zON#Of@IXRT#C$X6oc9iAOb_A{hDB68KU99Z;+&sk5!R&9|AVdH@<%zF)vq3T1D#<} zLkTm%o=8{rw!d?SN~k#FS9xDxY#~p)vX;5L~v)8 zGPZUI=YEu&=;ziY$Cis`HYJ;cqPltOu1AssXkopet(rRe_L)bWVQqPnFW;Qj@G5`1 zK{jgT!Gs;^v@gJNU2XH4Zm+PxWpr>%&oOZ<2O}%_4sCJH7|-q;Q2(446H{=B{Zs2O zNth=8{c)svc9|V#iOs>eyySZeA7^qu(M8M^7W_N7q(PMFYM#wm>6h= zccQI=^^lCGLBTIjM})oZ#RJ7V_vZVCgTo$Vu6b9MA~2yw8?poRc}}Pgw$kSw!nDG3 z>Z%jsIbi5%W?j|nLdEMk&hjGtb_+z9B0$cbagrTWKSoar{Lt4igi|_RNuMcQL*F{-(W=Nl_j&)Uh!?19db( zxhe;t*Yvg?bzk}=TUg54P>y9?$HqEJotEb2~opQYVsbGe1MLA`Zth1HBPC2mNKRSaQ9KcoM z0o(Q+!PT2Wk=BhAAFeReuI_n9REOkr!OOxAx8g^ZJqH=h zo<=vYEy%DJ{1z$KUQrt#JXf&)WVm%ar%~AHua&hF;X!X}PgS|fG zF*GBcVdc7NyS9ak&*+@RHV#%{Jl8&U`xnjQffV+b?)p=2z7C*DN}nbgi$ zNmhzv1lPa<&q1myHLaQ;y*nQelj$wf?5Y}k^nyZHJHKv)dO01OxK=IS6kn@=2fPIo z)p1BXuyz>_RNl(%xsA=lB;@w4;Zoau5o2WvR7AuN8RnAQgx!|w9{9Mf&^vx%XgLJq z9^vifqHo<=oVz~=02DoKXP;)IooVSSh&^c7m8fP5BwXI~U;B>2G*<=eK^HFn3+ko6e7y>{#QwoNR&On_l$N2~p|ZuLj!PB`uy9%yjV z^A;5^!o)d^hc!&g;y%wt0;LSs_UjvPzraxA?#R)4R!6ROh25$EXDJvKK@_|k6Bn#* z)s0K|oU}b@)8ObGiTI2M1RQ(l1D*{e_(`kEqgAH6W-Uu96f~v>*x2SaK>RV$}}%WcfXNozuKllH+lvN#bkb9A+ga zWIlhhPE1cNC)Bo{`^mI5YMQZEB=M+SkzZ`Qu256WOle2XUCkX4+7-TYDOE#)bAugm zi&^_sj|A6P$mC2fAUM?pnj2oDC%xos9HPQ!YT#ST-dOJ8u2a!^=adCIJysV33}={C z(otC_`!2eZl-I2D(T&VC)veVGIehBDYL*mLbRC->fM2tStEYBXSuV^{kx2Q-J7?Rs zkX2Wn6R;4Xu2YcErQFp~Fty{7+fzo1<@94L)UXBT0Y`;PPv5}C6rL|#Wi1{+cI%0I&+S5jcxd;4f{VO+x8}&?el!D^o%pXNG&DJGXDEB??lr##T z6Z4ql#@u^``Ess0vptlYvlR8=8bhRYVxB*(yf@mUA>TV`-69qnmOquFtH0y&zBC6$ zpQS1{8Fq|rR*6QvwSX=!8{G=G4?$}fIy~JW+seuQydyk)B;`@CXMOUe3U{}>irz!H zo?4w!sp~c!+Q~>!@#{CvEeD*2<;jnY^#%-}@~{D8Hem_hFe(KS)eJ_|p35Bz*c|*yZ{iPqGOsJaAEhSXV&(1RnTs z>%f;uOkUwc0JLbXk6SDc52Rmh!@6!%zM7HJjFU%cA3fgC0N2va+^kgV^6ruz+DKc) z>Iz{q1y-{D!DD?cF9s(beBBu5N0s-qOYziU{d0>$YCH39N*+`X3{Bfa;sNO+;&cd` z*+YqOGGMV7hp$~Ny8IbKTL4-d#DJ$AR_-S+!z6U?g_3D@LKt@~=P&}b)NFuPij@`F=|LwLLr%XUV2!;wm zJYgXZ0MtIdpvA!mh4euo!63of0T}xs&72SjuU!gVI1&bfqr3?b1eoyD@bV>u>37qb zxd##`PPiipX$aBZ@`U-Ga`c9oYg(IwsQthRz!yLONWcw%fe;U9Lofiuz@IcA1IPoC zz)2A2w;SgU-u(#qd@sP*7lCjwgCS8qMou135X}G_2Rr~2NQ4AQc>w3#yAPNx3WS^h z$KAwKK0nieVF&?t!V3xiUKbiCl)D$w9lo167)7~Dtzmdt|64n%5a@}-z}v63V*IVG zjC_#p2snXFHUg!F4-)>P`e5@o`Th);y80RZ3~2bmHGT!)$X@{iCojLBF{fOS{yzhn z-d-nv2EaG)E9(Fx5Vx0dhmIUje4hJUq?_l+!W9Fd?{mY5T(e4tK)q z@99qXI-6U-ky?DFUIeN5d7bcb=J_kUsh<~e7jGQsbh^mC^^XXUx1aQc zUPe6sjR%M*_yo-(Kc2fi@bGRN-SHrchE?|rocn8gY;05`PNq!jr6GJd6LI4}^{)0wt z7ekQz@0i^@H^49e_y7R@FE8RLLiAro;s3wH?Y0FWYp`zLTZ&+8{S}hj4MD!O2MK{| z0^bBlBi>C*v5WcMhl!4X3Blj@oVW&$12$atsC^Cev zyQ}+8#i(gU$lYic2j)TRh(aQ?VQ`qQBNFBeA^`IspC2Ov)i+`Sh7hCc?aBi_{?qj* zM)`VuA6LHXJ;Dq66JzM-`eW?*MnmT4g*10`{ey}Q3Io%@0+G6YI_8E3KXequ5A+|z zlx_&$;NxEIu0L9e{#)gBexSjclRLv)98tSElhPmNi~I|6%OB`J$*G-OH4t71-`^US z;amPEw0}l`Nq|!bIH9d6kq94f)b@k@u9T>}K<)K+SQ@8YZTEM0YVZ}i{SEnUpE*J( z2cQ9eMCwbs@VEZKybBW~m~@wpKmpJvfHy)DKLLN*AUF&FS9w4@8ej*V0DDe?Jtx7Q zlVHzDu;(P$a}w-13HF=>drpEqC&8YRV9!ag=Ooy366`q%{?kr^Z|n9$;L02T%)lRL zCj(dJp!wVxG*vn6n$3+ti#)+Dj{wbB1jq-ZVEh*pJb(uHM_Bd~>;UvnKoB5p_D1*+ zjKu^i**B95Xb&NTe*{4Ir-hI}L$DSSaDRLKz?1v{{?U_=kdVXPZ?6sZWZ-|M4E&}% zAO>LIm(`xm+|kz+h6Ejl1Q!s&Qoid8Fhn9X{;-%+opMCF`@>97js)vAL3@FILY^P? z`CSb~aGQO%q3?zXuC?F8=DzS<=iRP$g?T%{oOLxcK+mF!yBF+-?}>^K&_eingJ$$^ z?o=wRpBS)AQsYzF(y|~x1^TRDzFv+{nDdXcG;oBWBN7SQH3a`aav*&j;eI}jzA!j6 z=%hQ+4d#2?%N4ZcBi+2emq7nFXhPk-+mG4*BDFW@w%9c%6BO>QW=|%h0K~jOGc)-7 z)wU$xJtBk(lYe-`0~ z)bt0d@z36}AHm}xVG8p@pnRb)O@EM0K0;wW${M~fN6>q04tkD%yr^Fr9{&7V;}Qcek~0QLazCZ{MXE#@RA zB`GGS1e2Cgly`KLQgr;0+c)>1qu1}b61Z{(b99zbkaTfWloNB7bApP=D#$jP}lI}+r6SCo`>-2K3p9Q3^>nZeF|hrHZ*cBMzz5lYx;p~?#-hy%=- z_dDACFWTeZD*1c*0C0c6KNXX2rTZaVkO82MJ?;v&-M=K@A~lP+u=bXcz%Ad z`M+wTKl;c2NgI7{f2f-y+!Y4uatU5SWh4k%@7vp#_*=o)jr&bQ{vZd{E&=?h@6~?j z<-O-#3+%PPUJLBCz+MaNwZQ+N7WlPdgu%h7MF6-S#DAf&1}E4K#->JEx(1rNCQuq3 z19v!r2wcy4gZpU-Gj8kCHaz6b;2uLtaQ7g%PtOtR=VNH5WlmVcg0pcR!nB+Kf4{(W z?^@?KD`%USjxi6$aui(3)42WyJN*VD z!3}gEEuew$3EJIK#&ZNJ!~-sQ6?t@E0bZc}Ma&pn#yk2tgNtl$A4fR&Y0S4e6H)<; zf4Ah>MSr{f)5zcG{uxMkx8LGdO?KZIg!RKO+^>|sa0t+Pp$P7xCBFL$=kyQ&O0NO{ zd+#qC{}a%fegyzZT7Ih!D?wg}YtY~=L z;eRY@f6L+jFxhW85WsJ84FXJ0aR9S}IIypU86ckj0FW?I1H@+@gE5ew@6CYH5+L+E zEAGi}au32_{O= ziH;NL6PXj)5xEkbBMK(ELUe~HjwppFhp2?;HBl2$2hlLmED;7gJ%XB;mG}^`7_lO; z2C)&b4Y3QcFL4<0E#g?>6yiMM3gUX=HsWF8IpR$cG7=^d9uhGU6%rj13lb>FIg&7v z2$Fb`XCx&gZ%NunMo5-OaHO=P2T4Upl}U9;tw~);14yrt#*(I!7L&ds?I0Z|T_YnS zVoqspUtN7YZYN=;48ORYq0LhVj{fjW-*Iduc|2=yinBaJYP z2F)276wMu)44PLoJv6Jdw6uq5kI~xDB5Ci?X41Z)9i-i$W1ctw#TFBbTie=+uJI)4UyUCWv_L*&+orC=tJB&yJ9a%Fvr2np~3;>xW!S((R+~SpzuM{ zgCPe~4}Lg^;pF1f=Jerw$oYnIj*FG+7?%gveXeS*X>KNNHEwtA``k6$GdwIj$9cSX z;&|TjEFC&{NaqmhQ1YSXLtDIpycWEdc=LG&_^9|4`CRz!^VRY#@pJPV@}K9==I<4t z6i^g!6L=s{FR*@C@UYe4>xWAZPYJRM>Iw!6W()Qop*^C0zBke+DLW)A3LWx43 zgo%XZgx!P_gj+<2MC3)>MG{3?MM*`KMB$<-qFrJ%V#me&#j?dl#974+#4m}LiZ4j; zOV~(6Nz_Z=B;_Q%B%ez5Nij<4NnMhvkXn%zmWE0vNVm(-%4o@;Wy)lhWkqCRvX5oE z<(T9Q<*v)s%I(N2$otCY$xkcrE1Xq$q|l|vtZ1wlq1d2As&qmLt@Ki9Q(0aasa&YM zs3NA~sgk8KbyV;u?C8^@qpG~Bj;hJ3!)iQgXVspl4XYngcT`VN|8k7)nDeppW0S{) zj(Z%>Ilgd0@`Ue+;uGr{${L{>uTB!5)INFZWV0rtriEs_=Aag@maA5_){?fIc8K;X z9a0^AohY3yT~1x7Zl>;%o`PPe-dlYdeKY-d{VxW>2EGOrhD3&XhW8BnPYIlYpDHy1 zjC76e84VZ<8lN++G$AuFHc2pQ&p$Pfq*{17A@ zbTeo&SSvU!gd_wSQhWZ;`HSaALXU?ghe5)e!fMfc=qu>)3)&Z+U8K6`dGX^V$xG3f zzFxMvTycf-%7rVVSGBKZU!%L`d#&rb%JrlhBsbh|G~blD`S2$0mh-K~aLMr4@a+g_ zMB{C#+i|z?cU&T+giW1v47*)rs8Hj z)(Shh6|had9k(O2Q-RaR_2a!k7ul}^kB)(Jfo}&MeLGI*ukS?P&_sV+#D8AjQ-Y-6 zfK5d7XXL*V!V?ZWA`T?~NDKi_2>Ny45f(h~2%OdeWJJGj$RMX6BPF3ErUDOs0uMX_ z$cVx6L85OL7)4A@L;;}$sHpdWU$PN{M;;LqSRx{$M1lN~Fpx5m9U^Dq1t_GLk4y8h zP@0@zb>x>}Gd*{a-6={yBe`Jdu&giD{@1N?f+J?~mzJYbPMZ5^YAI+#k62h*9Vo2* z{AI=YGV&T zEj{B|X4Z@1lG3vBins6T>KooSws&-Pb@%j+jZaKYP0xJAtgUZsV!`SYj%XqwCM6*u zAtNL823ckRk7y#5A_I7tj+>B6J2Ic6IB}6Lip4b9iB*QOfd6%?hVK&F$R%0uq$YOg z$>o&7!*cu0d8X3P=upMF z{rW;xSJhTNYB6kfAY>1**B*P~u-6;@PzLx{_cX}iTUP4O=^McbaH*wYkynqp5={7X&IzNabnG{v5#*wYmMQd4yN zzpE)~b)nZ3V%-^!q?)ei@?~k=NSSM%KMQO}hi>H~StnKcp2|1rB-|@k&PK>8tcv?R zU%Mla()NCZ3fs`ww~7wSx1SPzzdg61amCf3B*6qdZMPBEa297nSKtAxdHG7ZC(R zEp~8Kg`_R;O{l*$d^O8OKCWF)(;ta7V;EG0M*B}1rMa!#F*+K8(YBvD+qZN1d8s?G z$6{!5c{pJ1z0-8+W-fYPeFvtKqppE9-K%<7ar zeb|Tl8Q(O9d?-sbc-^oS56C!-my6s;!JQqV;J@2XF}msSsd?;KIfP9;4B+3wXy@Bc z_uktK#{&`(m))Lh_AT`m*OLmV86jiziO5o?uPfG1Nqp-=o!|Psa(Jq~nFj!jQ@%bXs*J@GhbOegso`~8>EO`=zXvo7dM$rImO90*Ba z7~uY>y?Ji?d~hSYdoyi$77|m>#_HN>ZnDV z>-qLG&s0KiEbiNR%9xqV5{6C45DUYsjb3%lOxap9UCME+O>p%6y^KCt}BW7aN-P8Y3G@2fxt8w75 zD!1+I>Dl(Fa0DKhT-_er;%g`BYgE!Dd8{_6mBa9IF|p3Dih;w5 z_2bZ4Gt|P(!4;fil9~#AW98^XeG_K~O>eP@3r@rTqraR6N1;YUf~fnb(b|nK7I=U@ zICFM@)$mQ#`s0PWA1f97C;L}fJ7N7w+j$-*)~gFQg<#kNe)D2ZX5YP4QHtO(PqLAmgbDRXEn6l~(T^+O~O$`n2-^ni=jE3uP z8LRVb4Hk7}cHBW}Z;LvlNMCy_zOv!iXUk4YX>qzkHL7UK%%Uu4xE?-Zn3#?SOqeX> zsvm1%6E`mBn`LWE4{ey%uiTkW)i;b@Ol)Zj3N8$%<14Eu4RItY^3k*$>qYkD96W#) zQ?p>hGPP8C+81{eer;)r4Cm$@xdp$v$?=)nO?*yXC5^iP@JD+A2cvZfy+?2%e?oVOX|%|~ zY+d1lM5HaBnC944Vv$+T7F6uz=ra0INkbooCCI;Ecsk|iGG=rzi`;%DV+)OAQQFQ_ z?#MdZQ<+++GLu4kE_tRo<-LbtJV4F; zsum-gD6r%y5fw4JWq=1f0t~tKf39ndPfULCTyA6$bI8vVk@j&x5~_hhRR?0T(?Lp4ju z4wJ;)hRS1V&TzwWZSiDIy4u;n~a(y{}%XR04#GAq_kP6mOq z_L>RqZV9PDb){;XiQ&gM1LP3TmT3b0%#Qt00XkD**_z3d#DiI(!RwjY|YPa%*8RV=NwkF4~1WRrp=S{jT%!UYGJ+QX&ac1s5NJ^Y)7i zw{Nwoy`NwB)YC#~Mm=wb2P)Q9Pg;GAOJK61v<(wm>`)C!H7Qb$k6aa=U8U&714qM7 zx0$uYNJ3Xam%IBOFi~ju6pWP0pD4U5fia=iIg73Z{}IWf!?jB%!Ysux z^~W=I>Jhl7)4A`)+wcJAs{Vz`N4gGjuYl?fySf;hkdF*iZo#n(tgd?RR4KS1BkSls zCSTW%&E~u~r+TqmI0x<1bT_4?YqUM;>+%=Y`WcF01USgd)CDKuSmoM!m<;KIwuR<$ zA2X*|j8!DP@UL;+ue~;zUW=d!>sZDESH$k3H{BP*c)&EDg8gvJ9otVs>@wYp>^@dk z=nGn#@YJnyn=N2j7}YzKbJkvk`+O1ligSL}kaF(LV+n81&WaNI*v;f+rm=v&42|;% zQ(*%+&oohQ=D6B>Lhkvz$wX1imJBKv%uYWoJuH07*+)ra5k;PlbO~MjSIgi3(zAYi z*MGAKn8nVD>n6C2m2kMh{Z=Ssb^N;Nymx)XO0LVBT36fWDu*dk%d9<=XY-+rE@#Ex zoT$=dJ~z1T!*ZjQ=iKaoCmvXl!Lh6_Uw7NVNsN-$HFqwYzi)379NN@Vp2KbAwGRF} zw-c8l4_00mvjRpUI}lgD++ETpyA&%}fjO>j3ZM$5D)gl$JH;D+y{ zKoyo2YUk!h%9oHI^Bb5rOIKoijX&4rHfkCg9T3_PR&9?C#4Lngulj95^Luaq>nYE_ zN6|#G`niSHQ1)|MyIJGC<0d4LG)sm|8hyAk3=u! zB_*g(&z&1ORH6M8cic(nrKeeJ-=xClt+ki-ZMqh*@6hb82m7;Lmy7^|W0z#Rl~%#- zyMa?g*Jh(*OA$NQWXhh*w}fw9ORZ-y@0)dPs$S!@XgV8ZyiomINq8dC){cDNq)3)3V zHTMTJy7p(0xIXLggS(YVIJ+J94-9T{71!|5DIGNr>}2DypB%hN9BDu6fCr+6mhy(K ztI%{g;pDz*`<%bj)b@}sqXpiZW2EPGpfFU*!no72KB2iW6(eh*NTtQwxL;SaSo~A_d|)Nd<_Djl<*o6H=%&2i>*UJ$Fv*~u1g z74v0d98|tlxHCI>=Qf%b`gZDiZF(~Zw)h8`*p&hc3Ot}h)4`EeKfPkQ)ad5WmfM!= z5oU%~q@Pe-Wgc@2$r#sm)_vh?Z#^-4`=SGzC8n)aoiZ}N*Y14W%=w6Omz~d-4(M;X z@4u-wW&OCS!y}~YUkndvTAe){E$6#v?BDmQBn3L(G?wbKg~ar;yse=iJ$zW`>E!bC zB>2gP))ov8h&oKjb)TU0zy8`Nw%kVVZaPisS8~@;$---Fq%se^oSFSg)hF@5;LgJJ ze58ke>9*kFW-WsB=CT82K=FY_h{NKk?dht!jr0@NrH{v+fd6@OUnBiS$YAX306Pu& z_F?kPDi;QBzBW70;{EekqIe(}m8ky?jdAtta()oG7OS?CT(N$lSp>%zu>IMWBG)Qz zqx6y}L~1+)f&4I~3uGTW+?`_^-rp117Wr=d31;SNaT++wz5%Xgdaray_-qR%d(!u1 z%{4CsC{(?hs+fU&>BrU_4fCES&$r5S_)1~4dIS$74J-xV0WGUg^xBJcLQJ|%%ZASS zs(hNEvA@-u^WlD5$k5cjBikIIz8rL-uQP7oIcX z++}GOXrs-;o|N0cz`k$cP?(Q#06F^iv@ypVZ@}B*XIpaXS9lZFVxr znq2$W-Kd2U=*9z3q4sVB^vs9%4T&nJKChNu5RPPK33&s5sB$mMM!hWarjz%F@7g=tKL54?BVVb< zv62=qPYRaen9f5R;KDI0Z!~(6_@pmWUq201lY5pvQ+3%w%+8#V`;4hM+(wA#;#daF zJJYK>$^*)sspAr>1vr-^@n&uAo+P2t!M>hyCQ(F}o$ArhlwgCUeJitzt4J zuzslG+^?0KA|9-Q`6!EMot4Tak(bdr^Zd~|?*_H~G6x3obou-5Vb=4iy6FFzpQWvn z91iDfbKny3I_swrDRktebw8bWrGx`dRX!(|D*xS;V&F&LF>!u7kJ=q&1&FaIL8Q%-XF#O z;8awlOyarcaUR$prt=faACg9MsKY`R^}(6Q;UQ25H=q^IH1auzsm~>*+w`XPbFQ|@ zNpRvSnmax^cSSaTSM6({YLDD*FQmF{Idou2GZ)#ohO=}5Z8kH_Or+L|puJXb@GDo9 zeeBnorKpw(cN4Di5S5WMrgK{scFBE_g6by0Vwa_tH!tFSZ$a_q zS3FS8c@wDN?(C0TE`0$Oe)n|bhTip6>pC)7b9K&Ame^s(ty|XA+!&Fa;kTbaCtJQF zZg-?QHZcm;yaf*^zGRg7bl#)Sw!oNiXrOs>>V7ESjHTH7vUANtU3!^6M!}gk zm|S_gV&mOPpBFj=C%2w&6Clrc#3|v>PQw8EcC0IjVCgN+){@ir1aHRmbCgwloG@I;B z(B~H{nSs{ttNdORj;%Zv#5{ZF==}7V@yQ?(8gMT3YNRW(^Qk(x%_OO2RcteU^Nbpz zGFw?AS6ad$!f3S>qWR>~*%E|8>$p-e}x*AmXXYO}sPl9iuPdZ>rpef{k9d=z{@4i8XF z%<6H!$l9b_H424?hRNr>`r2hZEHBZA2kNbb6kOKx`t3be)2(XXAwIaS*3ft5TV?Cb zpf?NxR_@HImpo8u3%%Hn`5J#f7}vePxp=tTY^Trc=Iq0@33*Q(H2!9)`ixp^$<YQW~W?}PHeFjcP*(3I2J+8Ll+B^v!(+g|p6>FRY=SyL9 z)exyN)x{ai=HzT*uEHq`mG{_jmQW2fI!)goX%Vu+6YKn2t;WIY7O8#crF-CBrSKZf zGdm$Mn+&ZT&79BN*U&I%DSRj+s^&z;=$1NLe15zD9x#1q{b)Hztu*gqS9XVafciFH zQqeQU!u-*ekDNCv5{s+Ih|4Qle7qP)Yd*fVsw~ljkF7ea3On-Rfmn1>aO-sEY=?S4 z#u?z~N*-LWB|@tu^PIt>Olk)9S0$A%-?5fCaByMh@#8F>cUn)PFL;04 z0iA<|>TkF=EEJk?SI(d6-4wdsnFb8;aFEqms-cb$7t-vwh0d>Uq>s8dU3WBunX6rz~y`^J`Mk@dm^fAlWM#bHT z4fk9q7k2I242ZSOm6PK#?`$Y>Nxe}L?psG}y*wx#B^x#99g~NB%>7-Dl3LPi7bP zy^rn;uH&nn%+6i|;(ex#bC zztiMUFf;Kar0(v-mcV3^pM}g@1C+^|`x#H;=YwTU8QiQNmv(SiT6Q{n%oOgYs))y8 zXKrTAdS(m8X5|&;rEAD(T38s2Ki1{7(E@DJ=%DyBZG{1UaQgejV})90&1sahy%iq(Y@#hx7UND#_VxYf*zGCR zknDiznhov4bcb|pSLi1?ZC;i{R`;nYw0{k}$iOO1Ww=~b7*nmk!dyM5Z!^ZxZ7rB@ zpKqDaKD6|Jdt3$_aJ{y&&w`}{wYRw;)I9^Zz9j3WpE`NZ1V!bobI>7)@4vuMSUf^(Yto)4b}eUr#!&`$8b zu|@gNdj4rtDa`nhD-^X>KeW-Q!2w;*YkRej#d^EO+~uB%(NUPun0qOxEN-Z~q7T=M z!}^*`6(V1&-)S$j^xTTCx?GSMe2-7&J_Z_luc+c zxIWOsS#E7x=s&M-;EKpP$7k~9`If2b#~bN)@j!y!ty8`AaN%+%heomUaP6%ZT%ldZ zW;JVKoD1EluBi9>vR-P7Fzo57Y#~?Z9|`cU?+?12QNGMVyfYNh za@HjyD+9guEX@q;0=W@k?C9F3=s31|nOl8!8ws8hY-d{I&PIhmuC>lr=&|Rdh`M^r zH@dQjhZ?L-F7H?B?+*GzA3&#VKMPN~;;@t)2@VX$3sgK#HKXs?6+}t4N!XsheBR|l z_@TSetvl77bFz=^D(|i|oOfHou?t!2+G=cfz7k`Wzyl z^}ixoX8=xh_c#d$!@@vFUf5q%^53&f|L4XA{C}-4T#pR}Z(o}libx>m>s9Bew1uMR zUcb9`di^lA<*csO58D<8+an~$k83a&GbyAWNxZ?eW2}f-D5lvQ2Q70$ zz1Bi9A@rLeD2esn3K>;qyUl@irGskiv>(uK{T<9r-y7Y}G0h#z$ZWRw#6D(g7!fby z)Pp`%dg{f}rrGM{@#`NG2Lm!1xmJhlileWkdptTNs1R)<_ORrDkEKpYSZ!^ZJR9Rx zT}yT>1#0I^5u+icV5I$2CTObsW4zCpFDfoo!!(cjSAXn#INw)Z#6qomqp#AH;ckno zZ?S>+i|&3cVI>d2yBBnHQlU6PFQ~)=;Ymx6)F+ZwU{aeNxCiyyemxyugxLJH?|!U) zm1`aUQ5am74ewV&l)V(O{@y)@d}{Pd%F9X2#IpwqnSUSH42 zWpi_Hx~H{Yf>T|e)()OQh55;C2Z-IhJiFDN!FFi$YC(t3qWk^&7npf)GcE*B)p)U%?BW_h{27xXZ}C;bzk3+heS%&rY{8X zCwDs>k{@vCd|%HTfVvnWcvkandiLYv)5j0@r$opV>twx6(*yTRVe-(8h;h>GdbNWQ zF=+quR&zJxuSx2QX+!6PDMGaKoRaU1`zp~6b+tsL*K5sC3&U=UKJjVIEL%VE6t$4; zFj(>Twoc3WC9BP0v}DqSmK(1yErUZMGiG3BIfzQPuFc%R+7Y8#hHC z)UJK?X*(WCqoHzmEVW*fv-8MImcu=t;pJI7uj{wpj}|G;9IWO(q#65mTu5kz{X@EZ z9@U(`)}_Kjssi4$-XcfMG(^4f4@MPOno>p6S7H{@2`lX1=O%wFs{V7@?SF4^_dkaZ zn#zC*<;W-g;*tR4q0+=Oh%8bIwsfa*|l2BIlfovWoI;`gGru?z`iR z_qtE_IrseCgHcrNz4o`}H|PB3iqEm3v)D46;2ky&qU=%I9s@*v)z&oVVX=P3lwHyk z6w9MaX>-p0vXjis%|^wvCRcNGs8+prmi#;ZtT|G^ZZ=CCi75QZnp8$$WFFoCg4uQMXK-D z8#$k4jiWqXOj}ESjX%d#*55Hy4ii6&2+wNIzG<-5-50jg$`TOlF&HyK?)I?Eo>L*7 zLyG@mJ}9ZUG}q~C8ilkFn7&V=*=P42ApM*{K$NY~3&(92EwMzD7Kexe?v(eSm3YdP znZ$pqWc;e`U#$fD>*HO`l_RvPOW&xf=QCp~?iE9Kon>l07Ep;hH^g=IW;%%W9{sv16 z{X%#jAazrFe#gQ#@}UJ9dKI+r?8!rAic!wf8NmR?qz4*U%07VyhklwS@Xo>W_j z%}1KlDygA5Ms#KnkJ+5TF?gKvev^`NTXp97`Hxid(Q+S=0(bGLswW2$71kd*y*Ww= zuvzEwe19$ZV@~f??yCbcH-^`{n6e#sr6NKHzSiP)Q^3Y%*V-&F+ACi3#R_-d zWcV$@Bsxc$Fv=;WGmGw0mt4rnJwQY@-4kt?p0C2ZLgBI<#D$KpEUenuEVCS;o~70Y z!p;`7lq`-(u}xvhdQguiqtB}n`|7kG{0VF}BT0`_R%QCb+Y0wU(cW#%r~uCi(rAjD zgZ^F(S^umwWuE1lnwuY_!au+CCyRgoP*zzfH!kpj_fM7Z2M&+Fq19|bcf_L>PH2!# ziA5WF&h%QZT}rgtSVf!XRn^a2+v5Fmx+ro;9lyvX4XTzk=YCpdiM%JtDdJhC>VeSH zLO%nPqA>KEozpH`@g&jyW-*EVCulw*ZwSo5Y5Y=;AcZW{R+2}V7L~w2@)-Dn;6TIg zo3N%(brKt}!pQ+~N*^jO-HVvoZ&-~6WMA}elM4Ttigc&SWxTeu_4tiav6jvcJ zEtW^4t<6zIX-YVS@Af}k>nL_MZvOq;z&Zwi%Oj@rcomt!{g!I;qPzU{JW`yu;ygl6 zO?CnvZMEK9@s@J1;tpxwKmy%EK_Y8|Nt!qN*%CW&%as#s%me&Zd#kv)1spLcBey|3 zAIo5|0wlIP@eKSK$^MRP=-!=7rKyImN$kYD#qCDa*TLJ??)l0}wffaYNSQ;mHAMTs zH!OtbD!`l1cWn#O6?(9`dJ6mV&610%kc zOlfC-J+ret>;o7 zxK<-~Mbv}t3QtqOS40zSHcFE|)FHv;rp=UG-R8Jy?*Y>zrpXGdknTHbD9p^fDI-l5 z7nk6BYxSr8SO1UL|Nd=p|Gf(0Z~i@^P^hvRkoqnf@y6BlWCre8&R>m}B--0lo8w7Z zw^90NtyX=2iRm1hZ`vMg_2?2sw@RPA(8Kj^fG94y)b>(~mDQIvx_1YYg5|uFsFDIz4~@(}YSF0qJ8J(_=tA)S z)}&d5@4wL7iVXDHz!1f6DM#p~ki*_8<3%Cx%?n*}HIu(Dx~crI&h4=bzbR4OB>yFy zS0+YqirktB5C94>)R1<`26=N}{ACWxhe9}>pPO>rQ8dswtrltahK&r>5ExaYtZ>I{ zR8$T2J{VDZV@l!FHoo{%l^X()w%kGsT{wg&7_5jH#*O znM^|ExeH;l(+qua+mYs^U26C#Up+R#gWkIu+v&|`&pwq2G2`p+Xc;6L97Zav-RrZp z^If2^IC;q!pOKJ{kyfJ@X1veAl+$_M)sx9P*7pr-eQU9JwknUc#d2O}(oa+f?lEDv z7I1uygdRe;r=WngMTNpCVxlVDEuU>KC8u&L;fcErrFcTsH~T+Mo#E9`|=5 zQ6KsLROjgbuFiF};6nIXQx^Ig1#if7hr@fi%jWAeH$2q5aZ{JZQo_;<*tF($x9cNU zHa^S_MzxK&jiy!8+`nR&vwz7L!Es^lm7rH(=fp-bY`k9iGZ6Z5v4 zTxexLLF^BDnJfz!W`+5gAiifUoxT}c=bkKYR^*H}ZKx8n3hs-7pA}SVC>(#cRw27G z`Sq_>S~k__G^!S|uOK!!m7?cx0A8rGGU|TKpEKHSjG$i~GNx}0evkjYLyAvBVbCat z@v-So&1G>i1`pD%M%+&-?_(X;A^rUendzaGo`Zn zs62x1o$gojauTN4Io3J~4MIPqBr4_7MnCLg7hAEtzXk=rH|Y{HTWY?ih^%#-mGrU+ zYi>GE^NHHzX*6(Ia%c>(UC%Rl)GHO=ZnB)5oI_kTK{3J&?YY`=>L3EGOYE)JFmmjA zE?!<3uEU+mLXk7BwAO6QiSxd6gI<|+uG%{DV?x>XEQh_hH2zziQ)6=Tn=h#V@lC+T z74jIgPI<^{D!{(Kox9JT+8MO1*WkhCsJCJH(&$Z7m|hd7g)*_-cjeug`^?<#Q=4%^ zfrSh;nE>h5l3xk;_-oP)j5vm4yuV=yh$qC>u|=nZVV85%v} z6W2V*)eZHZGu8{VP+@im)=4cdrFnbfigNpk4Pjr{xN}&Gj9FsZYOn%6${FRKLSf~` z(T(Yf4#1wih*BnQ@-w{~X5wLeF2q7Ch{t-U=Fe@Su@_mZ^S%8#m1XAyqhr+UafXwsc3wUBWb{AJHFlA zyf*7CQ{MD08bJMI;nMGiqRM|w^Q+=ZT%bhUSnixm0f#=C!V~zbZ zxU-H&qs+*Dij`QXk|U|#*fQ(B>K7xf#M9`v>rsK)%R!`xhu6da{5_4o*ovk**@);J z?>GQOig&b7oSC@!0z6%oi1qaTM(-C{vx(4cA=0e{s;)uuoRyvxv(POEdG0jZduafA z>hvLiJStslK1|{w-DOZ3Lqu2^T_;GJMq<_Nw-2hV8dinq)zoB5iRgLWJ(A7Ow`6pX z*CC56)na;y*(bbPJuy;Hkf(7?iOhW z+Y*9(Zg6BUVqj6=CU*#rU;h_%_M}Zm_o86g8_(IFxMzpOM&w=HSD4#60!=S~^h9To z+Kh~m6eV=DjFy~?OT})>ky&E$i%TOZ@sqbcgqD42!~KS3N?ETH`0$Ls(%$?fRrBNr zkT7IPd|^Oladcfk(M%6gd2P(SO;p|$CMgjEKTRAk){31t5RF(;IH!;zN-N3HC3QF= z&nu0dY5tN=X;&bP(En?#T8jl;*P3Q9xUe>;6)=O+a}#$&duJsx?zD)z=Eze=&+?L7 zx+Mv%I1sS;z@V~`pQ~!cWZD`?UIBy!@jT}9UwwbKgd7|rKInU_xz>J{LWKL zCkPdaJ12mkC2nhp+nBjV(NTQbR+r?o2jlh1KjX>M_?qwt-P~Gi?8$~&ao4}0Ck}oq zM)JQUF%7=`Zs}R~#M2fAx|aoxm#07r;!&3&$`Wkm&J5ZpBclFm=a4l6=z;g2}HLb}oOu`=cpl*3C;( zDVg6_@ZTJtOIdllue({E;$~rkN3ZN?`wHk%F3dTnSVhz{)CVT%4E^bijJmJL+nEKV z7o=U)=Q%>bUB3f4+(dUV468P<0fW@{)Pm-k4^q>kM@bwf9LYlIVaL*aJ(kjP75sOI zl!Q_{FXyOFb|!XQO8o&avsC-ZyM%wEiz;%ak+>x%jEM*Jwcz2L_s2$comI?cX0m_Hbb@2v4*o9vjgyb8a&$@7*x0J+rTAwf3RFH|{L>W#)V$SeC$L5C z4S~$vGvu8wiP?EYw(DC(J~FIzA_}zSMZ4f1+7)VUcat2ePnZ{Ub=tRnPOUqiRux)M ze+yVc{|g&<%%;RRSnpy$E_)OhE6e?`=BVucMFIM`KG^G%3z2HPjEoSbfB_@g;Ed!9 zQbG~6j>iq0H?;3x`6oJBHsv9*C?2b^5VcR2 z&}xUipt}6WVER{SVo#2P^A1=^ErV=JaL#t%cA{gKgA<@fLMOJa!?Ndh$M^2m!mA8x z?G7kY60!&16t3VX9FlGU8vbj~P7PV1tV6kC!jbOB6*w&VlvW>k{&Td?Z-2DUgNT&Y z0hZ;6g8&kr!IL*(sfjcWIF7g)F+n z=RSm^h?W;Z-k^r<2OpL^*C~O+nNwQp1js}Th03EAlAJAr%^Aup9Hz1}(t^gH^$g)AJGSDQw$f`t*W_F2 zy;tp5h6?DVkEnxE%OLj1E|yAjabEsZpa8~*v-Ls=F%0ru5ooR%ngc*g$j5SDkD9%^ zsU60aZo~_nlCFHNg<*q&|m+#%9|ywYs#anBc#yx@r^b3ckD zZ5HPDUoYyO>?BeYNeFj0iX^%_*(3yecJTWce*fu_Zuk8Y4Y~^3gHO%1Bzx%D}m?_VfUpc_!PYCpT2vOo&6&%=kt6#uI>lSH|qeG zx!uq3@>LX>w7Qg;+v~u<+dP%z%mv}H3_sui&#XosqYFr{$#w|~+%eeGP-;k^m)s_R z#%oG*3gH)mru$(hA<<(j)|lE7a}cGn3gzdw3aC%tHMtOu>)et>*#CG0ES{)CE2NPZ z4+e~S`C5$cjGp68y%i(PM>u75gNQJ+7LidBpMYv>VP4iT%5_s=I2^EcPCWH&QjaR9 zt;3=ag2^BNPt=-Czehh6Izl6!s1X_G78Z}`Lz$tbqGi!ADugdm&Q*OUh*nfxb z5tGvBZo}R>OFFpIDj+sLttVh@RKSgjakU*761KBxy2%{nGGTn8Gtd+{raIOo_%Cp4HHuOamJdYWC{ z_)(^%kcQa!>u5(0#8Y52=`R+>8;-Sdz)!t$){%kaemrB5iu={ey**@wa9N}FjUE1jxCSPxe0 z)yH}5vUOijJvC`h1LG|1x;7%=bm-cFYVZq|5rnAUqVkNaKv8NeH=7EL{`o~&zLczpG$1f<&*9yZ#vNHf? zxS;ee?3m7OEqDMZ`i2!}(BE2_xjP&t8lqJjUt=lJEQH`?7&r?sUdgA3>pTcc8|@~N zipmPd-FEYBh!swj%Ojmi^_98X3>zs$s(-^09S(sE6oNvgh{n{Mwffx6T}&EeT-G1O z$G8p3E18z`JD+c+zE%Jt6y9cai#QnP#~E`dvxykIr6~Xgl1do>2JP?e*Kd2_pPGIq zHMYjk4~qDPg(nmuIuD{1roov+VPDT7EbQ$YTSE}PS$dmy-ZeaX`f-Q5UM@2H^~Vf< zS=_?DHtKL$g6Crl0G$$o0Uq;Vx-u{&F(6iJ@A6Q!#VuWoy6Hrv2}z#9lwYaF8gU|p(3&kF6b(`z!L zoqS=A=ytR{(fVOq(YKRhd7?M?bldf3c|UTdtpblPI}@Vdjoe5X7pkx)dJ^)4V(?RkeAJAotn~y zgK%qcWt5a;RmkoSc z5LP5WC)@n|=&WR~*ureKn!D!XU4chqMx=0>aBB@-SGL&G9hV*H@U6}Lg^P`;*?>IM zSc#jN#<|jD9?EO}%e;1SsI+F1PGD|v4go%;2IaE|Iyx7YUS$>12W_lT73FsR_&@^v zUn;HEQRqC#lC%M>&t2GFS_TrNSMMY1rJl=MmsdV*?YrvfmVacad23r}!^M^v^d4_?Ys3h-N-ym0*UgpBq;UP18ejM@ zDx4O`ceAx-dl_E&Fedx>Q9-v>8{yHmYHxN_(kF?f$p)%_3Bv5xSUtb}XK0$8&||Ei z#NzSdukQ5Dp#o6d)2R29YATc9J5_~D^t*~EHBxixqWJG`)6?L_Fv&Hoc?7;>$rjR> z_%S=?DsstdN<4A+!~yvZ-S6h7XyAAtTQjWk#e}wa8U(5l1)K5|)f92{KmsO=^WJ~Y zlVtuS^=)W*{L8^d*>ZAjgqyvF9t#?f1Mr{OJrT&wZ&(T9{mSdqQ_#(CSStcLFk9wV z-io}Q{pBbAUJo_S;B2zv)hS~h@`RD?Ykcx|#p0M*wuxSijw-4A@Y8soH{cVC7eF(p zEkA6#F?*RbbDDS%3!&Tefl*Uk%wIgg2cKc|g_T-2J4$v!4{1-2Z*Z<3=VVlg7(xZH&PWnIne?N@xTRzOHots!#*s3Mu(KjdP~hg=cyJk`ezqP!MnXJJ514=3a1nI zopbgJ1oGl3qoSmeGc7gxI)7A8X6Pj5>ZH)_k?h|Gj4=zk^oWCQpM#6)>H7H($nPih zN(+P;Y+u}zv9=v>QW=+*JLYws_7ZiL+H!pIH4JY&iPh^wbtqGvN9bfPgQ>gJ8SfX% znEmIqibRSW0m1jZ#+=hdeBShG_Y*%)svA`#7Nv=Ow9MmvGUrE5Tc&(HuR@YnsU#em z={oim+dJM0_;JuoCrrLE)?Q8+lca{C$va_G_@-VJx;mDXiS}4IAG;AHLVjd&Up*}% zP{XqK^PdqNzZ~CzQWFGYWJ+C{YUburJlz*L8%r(B%4RdI_C-vHt?XH#N87zYp;ByPTK zqS&@z&`d3|u=*+gt3gW%36v@NuDLX z&zPAw`aOAQw+hRk==0+SDLgJ3;l>*;Wv?tbdNB}Y{0n*4o!x6Ss99umXZ(~NvqpCR z9x$Mm==I~&P}^M9fn~7U-eqUF1N}mlb4?Swm`d#HPD@L!nCD-5mUEM?)PPA!oykj< za{di%7pl$~xD6~t`W;t_m8tar-A!Qn+Jl#Fn(?S^HJo!)(84s<_qb<}HguGS%cgt9~w{FF7DVTK$`MKp~$E&;uBcdrjd)5LB zjQ{e+Wp*D513t=h44ASS$I8oofqU7gBs!Q90TUdq?{mpDdt<)FUT3pcL##ci8hl*L z=FQWgC%ft-ulBv$MA-`qIdkgy z-`yyg14H7B-wE8k|LSYO)xR!w8!YA07w+rCf7#9h0*26@`#{GCS@`BR;B2qG3RB;e_~ zfA||qWOn@b<)za0oIu?X9a`8I8#};s!9^S4!U!i<0~5Pfp-GB^O>VYI);UHD>Yr#; zl1zl&t%cB{^uLlQ?B*`+l4hffFQBoySoUz1{WVt z6**8ibFj2d1Fdwi7a5@fyq@053-ZLKy9U|M5mU)F$#^y$phjz3mrpF1yo3+cFV$N( z9hP+gb^A2THp`B{-KxIU7S|LrX17^irUd46EHhoh-e+D9|6r9@nD=I_usHuMGczq4 z>v1m)&%>v=cdNf-{*k6+eue!p!|6n3QKmBjdTGL;<@I43t$Efx)~$)sa#i*F>g(%RpoACGGK0^VZwvY<5KQ+U+n{1h-G8VGZ&R{{^^D^eWYm;;=MVjvTP zynpm8SvPoO8s&Dc!`&r^v)(rq@)*7c%>Z4H$tq&_}$wJCD+)!(8CW(_d+gA0| zMkR)YBsjPxbo>+0r>r(=RihZ1Jn>y!yX_8aI;WbWS{%pL5&Fk)9n#~Zrb%ggf?gFh z!P9OE%gC{@&%}(>&;1EsMBUfj@y40|`OObQv=95X(qSOyXE+LI^PO!tJk>~Eqd|b} zO#*pY!w$9zmmfm>wQWtF=XOXRbZkAV zv=PbC@bw;_2=e!a5{pq+{m8j^3=GXwYKCAy=&eMY5cDrL98|BNSm}q5^oE(A&RPvM zD0!>K!P$zp!V_%P)@&FqvaG1+KZd-0NY+m_URSyb_^16kS=Blz4rM9643f#?jR^G; zmcRJ85-oTyvhNdco)Jyd-ca?V@;@E@{fomHXNq%}olAhE%ly_}$=ZUaRdK_tiIH)? zt@m1^qw~cFcII&I``6U|*z{!l9K2s!t0j0Tz|_a6MtyWfptAkZbYTj}#?iJB=R*8rtJlZ0m8y zxzK4p08TO^{~5Mz9-(gmC#BIr5*VCR5cu8RbK@+U{<&mAfXOx zKJivosBF4OtC@k)(WFXcaVJ{qh8kO!uz(_NH)EArx4dS>=;y;LyS~GL_n(*QuMR7& zHr(Gjxo0w|byyigsG~R$(If^8wQ;~#6eD-123=?O#iR8+3djcRUiI*)nz)Lq7=L7= zR9aLkU`C%xWpq)#97*WehEmLmNA7r=YZw@SV@ryAS9dIr1zE$uQa+N@1}c0eF5WK2 zT^S`cH6`g)z`=i^!?fX@NkOKx(cZPNhM=Dx=k{r9tl2Ra5(hmfa8tZY0ITn`^|P0f z%E!6p{^+h*w&q!o%5txbZPMpeLVCGM-DXi~U5zJSZ$5ZSmXkv*!4@aG1NUaa(0hqp z932Ma9;SkhDoY$Fy(_q=nOWwO#10(x(Od6c7r{MO9M!QkVtdE0181Dbr`~#Sif+IM*Siwf?ZZH5??|@ct(dutVNblWLY+_d_{ZoXt@8-kFP8UN;dZfoa)kzge&U)lrKyjlG%z3)DT~K> z4do=Fo~0QJ-OwmF&2epkE6f$`xogunLuuBqcx;HEf)`j^CsN6%Hhm}%mZ!aaG|jBK z9hW$BL7o5ZlKXQ&gzft)PipOdJgNT}OE%#E;fh#~Ix<3|~M*;y<+@!V==F$7gSAq=5Y)0p(esVcO3yaNxz_VrfLfJ(-qi4^#&@fSSKzrW;@ATK z&%OKmi{yH%ZYM+?8y<*)b;7sJsYhA;IzR0CwB^|F@m4n%s(l|`XlrN!7T>3*k6?Rw z`>h^X9@OzqJZEnCIsd?p=*L>%vr5i$=BH-K&6o2z_4Lg56r}Fr*xKxh;`uNu*n;pw zUo7VObA46i#oqSGg4(*2#OeRsJ^iX}!Y?h^AL&C2A}|)9-r<#pC*o5Tse9q?i!lYepBPpY6ApE(nV! zZ1h6crsp)gMUTZzWc}09CpC7xQU0h831C;Bh3rJB%cZHtxaA=8RU^gJ;gCUTdxNwwrEbuF_bly-RFT_2tDg*c&J9 z?H^93@obD=cYwo-g5^8{du5H@9DEw10l?z|M#*5PHCH?d(;i~BPwlsTkf0}k8z<^F zZs0z$;$}ibR;1w_FkS&`RMZKI>aiT~?4{G^mcFk}n$CMx&A|c;$u!yhmLk5vZK5|L0%&d*CLi6Eeas;o&zV_0w5ok)ccDYwB6u`6!`Ki_JQlLhgZzZ z+XvD6wz@G~FiO#sk5(lDXA<#q>c`kRJ2~lZWJ_|2YwV~ezm7s?{{lD74kPJ+@^6p8 z=?Sa}=vzpeq8J+5^oXdK6SesgXW;ESpW6F;#(`U?Dyu* zg=+CrKW%WGCRwvv-H*<-R0!u_3n`U-1Za8;?m52Z)08B@$#)Sz7hsM=FF}?#$3`F? zJ}xx%7T&0O%a+ zKIGsqMYnBm)#LG7-7(M#>0joqav|BxVPS~Kvy?--%7e7?Sqa*hfs8q3mdt!jEMHLo zFxver7CC!kupr#ZvCw|E>X?ca;RF8M&nBjsN*&w9U6vKzCeu^NGIWdr`t#x1r{m9y zmLr&CX!)udK1d36(~k82NzedH!a$e0fq!I&gzoy;HurIW5nb3sly-(*9`JfOnRyaw z6752sM(Juz!Z{LZmKzGG6il?b8M@n+OeW#{KS>&<|IS_EKZXYWXU0Rf8OW+pzEBxf z@!}xQTtR%+IfuRV%E={i2Y1we?oHel3-6^{EQ}D=l6>@Pe=)}@uYFYh{Iv2WDe0s( z2*gL4{|-P4D+n|9^MfADAY8O}KJ|UQr+B4Xs*|w*@c~?84;)n#J;SucwDPiSbYx5> zhfE0fMMh4JpDLMqW)Knfb6AAlCettLMgZ-0u>c3oml8IxaZczishb0ToCc!KN#KpO z`5Ks+Xh9+tp0{(U@-nhvU84b7MZH?XcX)AK5Y4K8Ten?t*atN=DHgx1xfF4GDeR8$d2*0_SB{sd zW{jS@r^)b>+&?#SQki z$mbWgc&WM_LGa5%4?VLsb;3?c_jW#u<+Hyhb0hl26k#;K`Kngfv~mN&Kz?{N0DW?f ze*&7(#zgNo6j6ObW>(qzE9BsE+~u%!3kMM>7PNZ13<}>Xhjo*Yo@ieeN+;XS>lpc7 zHE7N9tfYqOH!B*yMF7aiqwi#~uw-ecfW1HFioU%KS$YZ`{;JfK;ORwp!Phh+)(~_| zuCo0j0{?I_?o|7mPh zm5GV@n8>+`kg%GldZPN?sEUfJB%LA{3|8s?xbXAYX2rxZ0_tE`fGwkydih|)1{wFU z>xj;=H?mqxuv3`_)-bm)n`-r&ZL9wpAfkW(c$s>PR$5Q!I@eIb#-TD&UJW_v45Tv` zO{S^U(*!DG7e^QDn{6uzU`ry6+yG$(=w}Op?!p6$bUETeMxf(P$?aDTfIb$(KgXD5 ziOIPP8I;!6aDbJ>dB=ySRU*Ea&T(v#y-j$YM z{EL=QwNui)0GDdvA2vC2J(}}|ObPR_D5uOc_M5NmToHnCId#F6q_N!%^5hn*;n+GO zNfg{XOaNem;IEzmK-6#w7=62(yx2m2I&O3;6mEc2w%f2{m}F`jN~>993CF8awrTH= z?s=_l$fDk55@=D|2T)S`#+zwe0$PGA3rj%*cLle=}(#w%i)aV`gS5e}=qt*Q6a_aBRFTS{677p`IaH_G`2^kd+VndF-Ol5~J1H z3tMA25ufjIz037=BmGcNd$SRLm4B~uqGhDL%EY+%)9&`YFD*+$fr;EJ=Ibv$PLOM9 zsC2U`{gn2)Wp#KPY3KC{qX$<3>7ZSwE#zbSB&8VMxTY-=){719qN^#4>1AB^8JEMq zNDu7Egk*-3k%4Vr=W0dk&^liQe?|O`!C!xb_FvM~OveS`xJwC}XfCb<0$^Xe%wKd& zycVz>f%*D?Q5-pI zZK7eniD87HAc?+(IR19NXy z`dC}?jS-T*Ff!oxym9M0aSfXXmr==NI2wiTCmW_};lIJ;ALO^lxyXz_Gln3KUyL3= z*Uk_xGfDfgE8;+m71(sv5Ht{1+EBx#9qr! zZZ78yzxH(jdLx3`nsWxawBd~k^(WR;_;(~VVh2o}NaeCKx|YkeXXxG*Fk8|)``@CL zeoGmrA%E|Rlsi?xJO>>@(F~t)DNB!6*2U(4Owu@w@h_%A2gO#CF>JLM;j!^9x}2U# zzheoVCOHsTm8T$<#p6q!1?hH* z&Aa4TFfLlehSyHeqDucvq|{hql%aClY4oiquv;p=uG!){cTlFTyCLCh~!iuCKJGGCrrU-l39N%CRr0K{Y7J zqFO%&_+qX8R52=9mK2M~ea?^dBQvAb)~ky`hl#RIHAP1A++ab%JlASqR^s6$u-5)@ zb>!FRd;gH1q1AeF8#o%27!qHq3DoC<%XvCDX|itR$eXi=XggY!{eXllCw9E;EyaLD@AJRm=IB3uKie zA7suZFI|K%DfD#UvDdj<`)-UWO9q)sU+ha2wZ3u8%oS~4=nebR!*G0VL8?NO3io~d zh;?Ydx}ZRiHVumkAjxO@k)n`xQv}Q#;?g1w;k4FV+Q!7C?4EeatSouJn`gW;rES#Y zby{;IDfOq?l~~0_oJ|TM>kXFjm-5oK<9Y!@G7OgLR`xZjApF>E&enX3u>V)+QVpjOE*_N#FEG(fVGX6li%tQBFUt?ouQ%%*ZD{jzh9|%mx zM>BlG;yNO(bVfH{*wi}eyR)YwXfeErn3})BaMngZVTMS8G1cHF2rg8r)62ygCDVu*%JLt~7=8!z>cm z%_mll-DkEPNom8zL7P$&?^GoKP_eayj)0`n4`58a!I*Giq0HM=V#Y51H`8p}W@0gT zt~^!zmrQa5vy>1C2lF)PFemq^cPQK>!gRuF!c~!C;OHsjuRZ+I`YWe9OlE)%GoTw$ z4BZq;%NKM<T~^9me@HF*HE~hTO7rqKdpn zJTkll(mmU96_GCh`g1ZA1emi32x4az<^lg-zX6T`bT*iUrxCX7F{~0br_HN34m0*( zuPIKmj^iYQqRQ21G^z3Gwk(?>zdV~|NZj$ZFfot-2bUCgt}zxI)r;5whD{kt14TYc zmm4k=gUVV`da^GIY1O12S2@Z&_Sd|j{oSqe1^sP?U%E6rjK285%9_CO*dEbB^NmIY zlro>z3r~g|#PjO7OOt8$ZAXIc5AB_g$*g}=fty$IvJshx_I*#4x}KZzI;sP}i}e^C z$YB5S@QLUY==0Z7UVbgdJ@hN0)VL#*n=#W()C`AVH$ZA z$;fV)TBnv2SW4@DZb4>IcHSL|a(QxYS@L{MRf+2luDZFCP7DOnBb~V%W(o{29j;ib zPkNd3Y4yhLrR8;u^=oJxq3ELWnt(uHwJy>H(_xMV=+B)}M`a7F4| z0d-t&I=FY{(Qx&-fSYs8QNK0&&`#(X`|^xl?j6SP0^gS8qy8Juxo-yNL>D}aj&BIg zrov5rOP8A_NF6oObmz+5mv7LEK$f0CPhMQ0s5ag?2n(-@gVl^2C{M=6C)li|^)q-V zi4ilL6T-v%@PR5vS?T>@I@W$R!ULN2m~oMuOdw{t0b;7&l(;kXuVc?W57g!cy;crb-1U!*@?@9pu&)oKtiDhy2OAjrr0bQkkj7M zCcj;Cb#pZ})Q;Ips~x)<&aaRntn8=Y?4})4d@Mz%LLk$$)iF+VOT6ZeT_~@wB^FDk6z*zBz2t1z z{`_>E{&r-vNtTOdlBj2Kb@M{;f7-V{=Y0O1;yT%~FgT0+4h_K=@d^&jZLhrFv`grh zJL#B;)m{%Vacx%Q<qTTN;&x^FA=1W+Z%HX^9;I7f?hfD=x<7JXFFN=WR( z)>R9Kcv3Jw3bzpX=3w$ zMntXsYi2UNd$tUqtz8+&---9`U^Gi5VWz!nK~nF=4$3u08*Zs2PSBtMj zp)Hs4HdC1xpx&i|n=EJ66tlxU^4Xf&UN+yrIv@lIwt%!5d-ND^~IL>kU;q~RP z8=`nhI(cQMEJT!|{Y8o*G0H6IK-#R!8>)ZGRM@`+XZUwOAdgf*pGPpXXNkvs8?TF; zOF}24-_SAE8Hs1AMjDxWWzLcIE!JmRyz&J3s~bBT7Tuz~YWvnN(ciEjQQ3BF#lta3 zgCkEntyP~#2d`#QC#ub(Gg@+2()I=?-M7m5ICi3Ha-L;Kh2Vpk#4Uu`g|g2?39A*k z$AG!z!UJHvTz z*`Y2WJ>6tQ`FXO0g+v;{of^v5M|R1`!kb}}T8lVCEr}RI1G00op82HG`>Lii82pwR zDU(-3&DG`SIQa^I+kMRbv(J6;LD2bNysEd{1{^5|1Xa`Jb;Q2q4-oLBG z|Mv@!Un!hGOW;HTV+7VhSNd?+>Ypq~M~F5bL!4@a)QaxB&g})7`q;WNXqi#lzJ3SYh$a+q@CE%?!cwe;@osYg(@{| zaM{ac2VOZjRijO&Xfjq8yhl>Xii9t_zI#M9MPI+;jeSMZT{Wk*(SQ`c0HLW{4lspq z*(EeS5q+K!;)qt?2KP&D=7t1+Fz~Y7Rn$G9@i3iHuVjm}iD%X+AI%JGF#|FsaB7AA zmzC%L$IWPj3)yx^umU>4-DYlqBALo8YU!@aYpGS%=CHPf>?&0aO+0&yIkKjlSc#Ss z+>c7y%91tTZfA9gow$z=YW^uwV9)?r_zjB|H~|gPPvER!%bLxmZ0lt>U?N4|e{fkH zl*Z~!Ffo`3s%ezDO`tG^SKpAOucIGcb|Rxjn_=lrW&*sK3O;|4C{PSIxMLR3jEEWx z8N>x6hHiyAxdn9g*#W});Ox3rx2>})7w_1pOkhE=JrMFF7jLk5rg}L@`v}h&!${Mu z=;HDEY`?`nl?@J;J?1FpZ*_2Xdu@|8v?IFlwEj+g<9Ut*H%Z@AX+}o!o2~fdlC-B^ zCSOj-P)hOk9ga&;VAyh>?>0_*UPpnm=xS@UaN$ar{yKt`f}Ql}YAy#nWhXX(XrG>?1&+-VEQ;B925 zR~E($1^C}urv-M>-hWy%F5VfA5SC}sM9JV9u@Mn_x@!^nA?`Xq@6@By!Iin2PwXEb zE@&cSUM^}^5cf-z^VIc7EZUgYIJ7aRSXY(bhGP{0%#LU88bm|kkSLHSS7Sn6!%axV z;GR-kv*yBH+G09?eop>e)@J_91#VRCc$;Hf6fy6PB>5Pud4eSd5P7bhMQFLe^%A@B2VkyLc|u zr&sBIVY2by$hSRf9-Hh~K>o|>v4wUs;WAvMwwiEvLs!M0n+vnaIgUT`vYo%CtI>bK zE7wX^W7@vXNo)8*Y0lRc>YTz)y}c>-hrTFqIq4|R*;oNppss2T#owmZe|YKI#3kM5C<|7f1yCM$q0Cyr#-SmX$@j$nPI?QZcfR#+BV?85jnQ==gzoZUU*|FLqx1@TsTL>TndCCbNVp$q#OtBa*@}C1@12JbLw&Rqk<^*yPwb?R@&32R zVr+8S+WM8lp)Dz#ZVe3ybuEt^49OM5<^<(rgq5dwDt0R@WEW-?1U=%gwt4cdO+w<~)fb)LJ``pW zNuRy~wa2cN9$y8=Jx@9BLI-}x7f5I3YU&~E?YJ%xct^+42l{aS%o-yVb6rDMmK)Mf zBW;SjRSN0i!YE1Q-=}@iq>L4joQ>{L;%U8djP=(O3>o^oW;?b;R#MlmsW>pKjau8| z?Il1KE7Mb!E375+q+5Fda5@Oh&$7AnQ*UsfDDpq^yO>!~=!$)lI22J>Pb#y6j9dpqS z>=VzwPB>pPjZmAojXs|J0ajDN^YUGn)^XqoWE9-@!LH;i=28zzbEV6HyG;wWi->?r z(32B~~NnmsDL%8CZgq<@nJ&4D&EIp*lg(b#k!)R_PrePf$I(?IGDz}FoB3cJ<`;K zY5OSd)Yc+h)fAXLzm4A35##@o??~axICGUO=huABcRX%R8jbOb1+x@86~y<@kXVXN zWpptgkV^Z&tNCB|=l&0k`k(QKH1NDsM}Ia>eTeouQJPnWwc5II*=iA`9EtN&P9g*R{9P=~`)OK*kqmSGeX}C97$FvT@x&J2Ndk z=Yf9wYr`(CqCv%ltcWQ&3tntVobkVlc=gZNRDbs#Rigw)=tin)0O6??GN9fQv`_K? z-|Ws>oaCzcxe?Hu(b+vi2L)G`?&poq!rr~4aj>~=P%I7HodGu^T5brM1FL#F0>`}x zZIZm{IyDQJ!AAHvrmpa`BQ=aOuOz-S2#Fq= zSU#P0##z89lIZAXvGh3!*-44)&ql#j@aNfki;F9&-Q)V#x8RoU7_RsGMg2VaC&C`; zr;D1ua_?yYf}0vBFT-2Kogc1+t^v?dI?1t$`V9-ju?M_X(~+7u>}8qV1dwpK=toz5 zoW33e!}<DUoMl(_f1@KGPPA+xK3(&B-d1o=9yGKvPnv3&bc?f#CmI`lm?vocC&f z`2=lvsn|6L1`}FV?avAmt9SEV>G}NCb#baytz)6EYmuLtE$qCzDHySJk3kyy6IJFx z^AahbU$8@=T920Z=kWF0)KiV0M>ev0f>>6$-2Mi_pE zN(#jY2C3c87o@gDS3zItBwi3!Aac`Pni{*7z77*KodyK)VL&EIQyKF^;f^+191yXlsu=n^QF6ZA1`Ct;k0OUl1(f8{dM0 zAZty^QcO+at{rXkm{m}C@^m$aP@DxM>}wwKFr1Rzn%(kqp=M~`45wnj@SL+ixr|Y0 zafnq)qF%N!E%LP5XKd3;USLXpj7ESTN$sn|Z9j92H{xj~^ICGD8Hl1gQJoLW??mv! zmT{bujdw%t&XwWxZE{7?6<%&y*YWvYJ?e^xnBJjY+xbw0%~wDZ7ry8F6Wi|}o%2Hf zmUme(7xlE2JEjz9R(BpKtQ0vIv>@=oN5ngst5Y8&kLKdxm;U(<+^0e z{`#PytIEK*QD$v^_3m_9LxkFwLMCnV=eX`qx`&S)_`*cCs5z=N7<2sf&x+c)5<7|R zfepb6eH)wwQgIAzjp3U;MYjT&^uxjrTgHg20r+sx5_x=qm^fl_{HA^u0d$J@PrAX;q>Fu)Cla2=^{$(YK< z+1y^S7;6mlJG29vL&9vzZ-yq0(0#d}TE*(A8)$v}*U7u&}4 zW%Uf57KgcW3UVlNa^UA_3>=yJ_+aENS>Lq#rxyn@^$s5 za}dz@l2DD_OG(liufiJ>HtZZ68s_Bo#c-`^DKEYYZ_I=R)HT}#s2L%O$C#X-krKk_ z>E|Q2s`|K`YS!@;wgrBHvnSCJ_a;L-vCP-+`;>QLsbFf3LZ}~hY_XFwDuw1%}Z$X1XUDg z+=~8dna4N-DvvE%tApTPECmf{TAo{i+BO29TqY^pc-O_O(Y~ofUg_L+t6bs6+X-Wl zD@D?$FH2t|K^i%h9M5E_o5c6lt-KA_`m1roLt;VpuyG&V`rE>)W8EF|o^C18@rBQ* zZM4h|-}^p@SxW0thg;=kCt88OFz$V|2CBMIO`Mna%nHLI?WS&tq%tHVLOo|8<6h`t zMW})HeEnR7)8`KQ&9OS&6M9u#gUmac4OTXJ7TJYbT6t;=XEGXXGt2(KJ@b!?*Jbw> zKwZ8i`yQLyl>`MhR>OVO59nf;ZY`e)YruZ2Lqqu&`=k7q{;sldEOD^dB--%61nu0! zJH7e&{()(LT4|nTTWSGjg`dN5Po%OQdRF$-A96aW7%BMs=h%eE^-NUS+;&ZALuS}g zrhod(EbuNeeSrf@Zj)kdl)#$P=$KLW3xu((1nk)l1P$wr-1MOZkQ*jlX)AnQbvz@L zA*e^geJfdbNS}$ykhG$gJe)-cETECfo}x3v%u(rbAwo$>dl5qQs?oMM$!Ge9VCm-q z^S7hr|9S1m;@00b?vqq0%mCiyK_HP!rVe;*9a0y}#nHFv1NMEb0VUxbx}iNYTMEpS zmurs{Ze8(W$RhztTLa2tvvuW^_2u<-Q0Mx>Xh8oigSPBmLgUP4wpr1DtCaE3ZJWe` zwW9pwtis9oc>i=fhYYL1d*V$Y1^qsLyA;!6Z0_qarPJjt;uc`O##Xs^uTVF6P1bUxf?*ac%OFx2oE@af8S>t;<{(xX09VP zo7;)rR0>zAYOHVy%b!m0;654Fu$l-YZQU8rWKE@_6=E-dbVlz)&Oa7-^Wp2}ijkf1 z*_)Rg$Zm#7lYEo@gQfW&m|6aj!ZW;p1Jul|k-cri=j+cXipPk*JgNo{6%Q3Nh$X?{Zu20M zHG1SaPa7&ZcbqmSckOvnv&SMwg@|V{^HJjsJ}o+mooKYTRjNIK&*&z4Fa^?$P6F`k1F4_Nh+6c(+i8^JyJ>-Cp;3r;e9ocx;@C>x4;b*Zs`tUd|F}3fOF3Y9C z1EjS)tTlfkeVX)9z2;NP*(Bg?G3h>0&t;(z)%OSmUy&sA2u}}<5D?Kj<|F~eD@(Fl408c)cr}bq z&mfr5bM6@gYGJSc(QJ2dHb?6)NP#XgT-dK`NFX|a%U(^+Q#|JMwx(*PmPRQF^5GS~ zk%QAdf1}~jEyUL~&qy*5*pitW;l<=%%k{G5eV12)bbo7?6JF$XgIiAN z%oPe|isvk@LX3Gi_r$L4J^2KXBdZAD<^i^^pzX8a7psM&OnEi;{N?VMB&8n)*<37c zDCASFj*K&1NYrU_5VW`|aCf#~s^U|VK@f-S@})BXO#bYDMZQ6vhftztf(Qi<$)(1T z;Av540`Mm5i){7KP<$jN#9z}^UANJ96it^?fpJJ3FTdPF{$y91t0YRRz359wiiSF^Cc=NEm)M6(B4Ns~Jh42kxPB{A ztwI4L;i6Q?5*JBzQQj|YRGlX~5?qsYby&9a+;KpX5x_`?EhqrCxTe?^q|x1)<_4eS z+Pgc5ql9VN>aZ~1w&|+dIv#nMc_Dlzck=lHvRXdhc_WY&L#C@kUm*Vq2>Yzy{gb%H zf48;%y^kvwsy#PlNJnQ%=Bi{U234Z~_Z+QsEzz}H!xKL#A2BH}y`E^J_(E`Kct|0m zAgJUPOKx5m`>c7az|&byfI{BcgNwpnS_LiiY>k%r3OQzKM}L|vxaJJ8*iVeZyH>&V*YJ-!{jKEZ+V+9Q7cP1XwQ-tcTSQtfnL}u5 zC2Wf`j{dRc@E?<&Yc_8;5lkzgJ$^GhYg2Grb`=t+>*zGZv18I!Ktp?QZ8b+C%(m1Z z0!x*Rq~O9`U8nsxobxKumRnB}-R=j2Y(Yx^TlkR?vvTbi{R?3a3Nq@On(8wQ>L<_> zb;?-nm>A7i5A&Gu6a~6q{;LYihnB_IYe4rUM>`wdZrq0p-C`<`6oi}+-VZy(gbvHs zlx-{BfQ5aSdr;*%hZ=8xaZTBkf$pM?YLhJS>&udFEC+L+XaO=p><)kjfC`(g;vLY< zAt)*7UAS$+EYoy0 zBDC>lXaTzdBupVMhg=O2Ev>Jl7DPVv6Pmu%j31Di5l!WhB&nWRC1mGx;?wv0?%R}K zb+k`-9ltAOJbO7I`~b8vaZ2Fhd8<~BiufpX*$knS;%5^hm%jie^afjAe`8fs$JF3Z zF4r5$#F?2%=>idriHUnBJ%0u0!wS*+bU;hZO?WDGKI&qnF#Trm0-Lg_H$`j7VGmRxKSB(l;C|G!AI8VokDW{$!Fs8bXV3|-mah=o^JRND7^4>O;0XJj-%jc zXi#I-yUUtQ9qR=}zT`HeW?3hU>0rpxJ0B43X68Z3&XIFAOD3mX&<37FP3Im0~q?-#zo~Bj#dNxJLG{O@;n)TCUua+y~Txcd67s^hW>- zu!y7|w6DGNDJ)L8y?_6C1wWWW>}2YI!lk_)RwbCH)HS`dPd0!P^n<#|C4XtOe-xd9 zil}~C*D_<{=i03mmlfsp_t3uFCClxzo!V_%WcAJ+u&hE#y|w7EllBoqwW$DVRr)sk781J zi-d!1XZfg)+EThl6lSy9pO)6NaAMH=Cv%+<3Pc zVI?cY@!yGTW7@sVCq&FtKTWz|Y~J3&a4&?o1)os4wM=fZ>8uoK=BmI^2DuW=a~cbH z+OQ*xM23BcN8!)&4|HL>xq6VM!AuG+>xabB3r_(>#efuzGmeDPqp z%W4_1AY9FW(aH4MIjj%v!keU|h-^NBs;Z{MoNBu$t8P=82aJy@&4V790qk9Oi#Jp3 zCNVT3w<3i;Z+3>86lMJc@k=-s`2u@d5PDA1a96k`HCjS;3tGhLHh_&?drW1lxL&oKQE79XbI`k@k7le%hPUQ#@_{v~T#5}AS?^aWGH3WoA0q3;tFC0dObPw(eDq#Mi}d16J!mu8!{@9r~htDYC! zpV@LOa$EE*XNhsWsQPp_z_N9@p~<0QDq?OsQ4K}o{*C6Ue1_azfTL@ zCcdH3BB-MLMRQ2AjTuWx-WdUC2^b^wb7CJ*s%ueMm=K*@0=ByLxvd`D8k7t4_7r=_ z6qITAJCUVh!;@s%Vo~B-7}N;1a+G{_#o5qP{YASrlc&Ljew)yi*-2WhQaZ0P}9Bu>;C-oR^F3sbxg87zJ3+w0& zM~-|a%HkPn8DZT=-3zq8nN(7rW0~ElT~t=C00PHEF-UW%Eac|r56#-1W&^CSm$vW( zjZ{*p*tMxJdjFO9t>gsV@I$(RDU{!?VN#7SP0w}3ZujlQv%t)<=P8W(bxu}}&+Q?3 zfdX@$H$Z@<#SazyUjwrLxr9Aj1@vPQG}a7yRZ?9OUxF@f-jz7F)hry_ZIOQ$(Zr?N zvi>17c1rJZ*~QD64%hKXemCB{StPJuc=S#~PNH(wztOSyY2(k{I1V+y@pq44YDrw@ z7PmExxqvMbE8F(T-z=~T1!aW0XlT3-u)=1ah>oOcie#$IWB<%-%`K$epKpV>b{Pkm z8`&jHt{DB!KJ@o%*GqWu?9Xv;QUjVv&<9daEmfr&e2sG)OYUG~G-tc*!!mPnLd6_i z^WUxn765`GsQQ@S0{ zjMsZfHE#>#SW!h4RS&yJJ*&A1dz&9r;iRLW^d{R1*>e@4q!ZMo#8Q-z3!njcpG@u= zLdkT(TO$7<^i=&uf>Bldo%qnM8vaVkdks^kq(U=$pYmVt?hK)fUoGLh z6)CNLI!{sI!k2Qs$m_=)dhwIycrrXo>MU93GQZ*Btm+f|LyTgJgsJ^w2T}Xh&xWrW zyW%=nySG@3QGC_$pW-JEu)aAJLK!*`hNK%{BJSN|>x!f$7*<#_PJ@Wc#>mgG}Db%=86&5wOgum^FQ}y;U z;CSS#r0&u_TXZE33BI|zYglLy(DQ`YVY@_sxAf+uaJb}d)j-atF}{?l;TAidu9XtR z2kH9yR;XP`#{|~EchuRAd+62F_4CO}#opARjS{kAs7Fl70bxE!m`l|^lRD;dY7f*6 z4h7$MhKX8VBP{nPWNpyAZ635V#c(HR>c!TV2>D6qp2liO6yMPL0tb)(y zofpP)FyQoeN=wqlyjm+H6&+|m%%rkIjXq%6mj(;9kI-&VONE+m^SO;x+NP3NJBMIK zVxModbY2ByICcO9!s65$bs698!#C#&4tS}hV$a(Tjd>`;oE_hqUb|v;7x6{@)yF~Q z$-DkAx_6--MxcYE&vnO0gt1gqYOmiCs5j6iZa$#<(&%c4pqan5&|~Ba;Gk0=UAd}> zjqO+Voeu0E5;c|4J5lh#E1!9D1$7nd`4_JBU;Fp|d-I8pX8eU?^^Ht}ZV#s@FuM*$ zv{?$BQ~^ZO!vZgnSv%g9-ECg){Pq} ziiwBYKCKD-TUa)$r zvLrv2H{Gq)R4|yURmiN+ccLH_6%|d;={jZ&^({VF%}HRC0cZGUMxOokN&G+|{yK{N zau0{w7=7Z6+fPO|Ul${`Ubfy_n~qe;tjo%wq%N_QFq3HR#UWJ^wELL7aZ)W7+5->V-xdmacaZCxt&^N9bSM&|kh>;Z5giTF*i3zJ3 z8cR80-e-B(*_D4fd-bE)TjmX^485NAubHKi!0_zw0-g%zSVnk`S6hZgi=A!(g{~fD zDj6kzXj9{09Y37AjtQ9d;wxLvYvSi7HsW~n)gwc1Nj*c0Wy6MZq+Y1$_w_KpOS_K% zNHqrM4HD7lL{APH4v&HrPL9Q}#MsE#M1Db86_tl=8u#X8dDiBMi6ZaQ0~igC0eWve zMKHBjcqz`oO-C3=wHy|6tvI6Ek)a-WtyB>eJ zs>5=^Ul1_bsNO62iy8t8Ffbx7JoX1ljlL|e*Hv0ok8{OAS8|x-i^g%N{_Lw@& z`|HEW&(w>!BEA!mwre#)%*6|s1DM{G1O{_G8(*LR(yKB5-nOUzjmHH-@!7Ay4Gj&mVNk+k2Kwzh@phhEN5s% zsfH!`8mra9YDSuIN6je{3GZVkQP-85kdyap>a6&$-yjH8kR^N?z3(z08`(CmA@VhW z3@By_$vOd3kDt6C|3g_CYe-uLCoSTCx8_he?bQPlW|2%iGc$(F6t1jzXJv0a)ANKa zH`&gE#*9iF_|oWMPhA}DJCRUHD22-yLp*%Xd)C^8t2S(@9pk$|`MI5|blCFns(&+I z=1aHSt`1<5s%v{#YC-2!XoP0i*WK%FtYpuJ7tVn@nnts7&qivmcBA$XNw2C%Ry^w` zy8HU>Gm9UjwSDpnM;=5qTEa971<=#`db*$9PYmTg_twObj0#@;rjLa2qr8xM2f7Z_ zDY+8bm26gsEq!)UMB)EI)#%AO`%IR1-%rvuWsFIOd z4!a<^Q`j*q_MJ#ePYHOYjWVM!7bhV%CkUGfm;LBb_Ndr0fIZqLH}3W?=~IN>Z+D8( zoHR_4SckbV{Wb_N$6VIZRa;i0xA#FoK``LVM|28(d}fn4f}*Br>L-=G$mfOSRvAIh zMW&LgN?l9+K3ZQHGL?e{g&TNmFn3{^c| zK6q=2-mka_{3vHz$@lj#N&v9RcoYMaOECnELrP0AQy({Z=LXRo`4JRn?PjQk?zfx1 zs3@CUsryFJUL{p4C|!^ZfYP)dL^14L-U;~V+m5QQ;$~H<^3t`#E(IJt#9mj)3_;O@ zHv^ro0J-hbxY0nMs6v;D1rR9n@$Gwn4+R<%u-TJ!ckmoBoiDG2gTx^`AF`42IA^~{ z%fy_$1-y6i)gI!y-bGsp&t$D;S0I=Wy6CkM+3OaAwPWco4 zaR0-B@#7D_Lb0t>09eTufO_QHhGEoGAYGxUvc;-n4Oe=kuq7$(Bb;$@KvrfKr9U=2 zdlQ7Sry#2-EMVrOk>KID>tUl8JL!Qf8;SNs{-u{Nd;|Tc;_FLay+&x+CvD#Lr%Rr` zGU5tSVu7e8J_b8slqL3DQ5pJYwZ;5SC~|n%dX!y}r%A90T?-Ic>42rl*LaTpj%)RI zIVz06Q#Z0<$sM!2TZBHW&gZ@xZcg5f`Q0wN6BHHu<$5KRinq~Xsm~vrxHw0kRtLR6 zWQi)p25Bua{frzj{(>C2F?7=6plkz`+lTkB_^&GbD&Cb~HQ?zA?{5mNGFS^mnh{D1R+g5 zB-?VEYu4XIp4XI>udS%1NSluL)Hr*`ey#n3AgkAnoIOsN$hTLC*PpKclp9(E>ml2J z1d>~8jhtk-*!0lxQU>5LPQ#4dtq6T%d2mJGn%P zofXK6Aw#s(Mk;JEdDD7JaNIFW#NpdG;5o~AadWe~816=^c|n+88|t!oSGL}I<{`a& zVvXa6mkvsvhAN7Ha4ToEotC$zJZ4Opz{%p*XM#4%?3(4L5Y+3<5iMb|wzkdV)MoLQ z73X{OGGHDcqb%3_>X_d3-091YZoWDz1c)#jGI-mM z_wgqKrqDi~dk>~KaoyjE1aI7vR@fe$FZy^V9U8PNse4Z~HK!s;khr-+dmXojkq3&D z`b>fsxUW6nk>3)py=17+VYf;|L{rS5;0=FPBk-KpQUFJpGMC$5x?plqexc0eprj>muW8XBdksN?7K~fjK zc!>Y99n@vGy|SQuqOYrUk7^y+d#@&YgHoUkI(B7!A{=J?jc!t^mt-k+?Gn6jaiAx( zJMyupCE<}9y|ECFRpUV}%mpkAvT&8dS@^7siA}rnSLfOf)o&wTCI@_p zUnpP&COYKnMqXLRzUaTcBVId{F0W0jVfsMj2eyC_t;FltEMRYsS9rNVS(yidR8nAcOJ{CDm3s($Y7m{*X4QcA{=`52KG`^Kl&L~Otd^Xnce#s{@ zrtEGtF{c=TO_3wX9a&jGQU)kiBa+FQeR=n4?C_qe2V^sc+qruqU&rA70tyI}^^a*XE#;1&@@;7ns1ax6u zf02K&b}=Aua>$e^j}lZ}!*QnFQ6*JdbYpv_f&x2MH|8{Wzn3TL>i)5LGj;QCCRBre zpMykqA%TK?`(=|YP>1yoB{^8Ag7TUq#T!oy2ZN;IsP!*(clIXjK?dE!gTS-!H(Pwt z`qvu}chz3?mSrcHYK|Oa@k0JmiGej70jTx^VqYKM=xY28r3aot4Q(au1Ci%q!D-Ao13x)7 z4`22U0Ibzy zh9+41Y!KOYkpEX*B~Qp&p}Z3yq^;Zz*U@kpCIr66u++T-PFZWNaJudwKA<^EIw^>rkG9?{BGCW^@U*;jzm)4F6 zGRQBPewmrt(X7!Rx~J3jrFkPIb#ZjcKP)GFw%WGPNn2Jtfv`0R2N%j-f>R16fh4q# z<_;dGQc+@T1w&s}$F87^*rcH!#k_cLT9q^0_Io#?(i>l6db7^a)PIZ7Z0;qyf==JAP?q@oxYYq(E@J=$&r2zgty zv7tF&ttR`>%DIpB-EYT^n2JAvp0;PAx$Q}TVTy4LI;>>5uLe}%8C+a_O~;-_Mas6S ze#sJpiK?*0j*?#aEkW z9y6TMB&`>X!o9H*=LwRS+m&FLj#QUkrcELbkF3bwOSvycN>$iCH1Y&pV8-$G_Oo}v z4IeSJ+bgEUw;OAIw%+##4u>G`nWt=S--&pSRuWjK+13eRud02oAcnq*J-1O4=s3JT z`&^*X>4-ZzZ>TpE^GVXk9ot~}+g(|B)Z+^rofm1sCiQM99BO3o!-%<_|Je9m0WM{YX55gT3hm1tc8WJ zg@t$|h&j~`(sUdef<^#_IUi4Lui*T4;#4fkKv8H+O=MK{VeR$aXy~^J7zbnLf)nm! zLy>;>@?E5x!B+7*U8=!H6G4EV#R%cvod3NUe}SOe5yx}V<2lXoob(9=5fPCdnIpEO z?#DLy-?8P>_JB0k0xvfTCm+~|gxC1kgK+BBUHTrR*ARsUX#4H6!^p%OTH#&)Fz9i! zRD5X+NS5vf)%GbTMa>B7*mu{5+Ep2;tHVW2G3E{r5ePcXh}JI$pj*N@z``XyJBL!t zUqR_CSwcT5K;zD=2~ryQj5V`)CRSm6s_4bM?fT}bzakvOYmZPhOPyW0-?-z9C2Pb( zt>`=(FY|l?Hlu@feqwGu!F{MZR~I=0Cr>xeWygVp7LkS-M!E-d_hM>Blg4aYaoGAD z1-Ah_vmq|%iGg*st|J~ajj%3kJu&5zQ1v{@aM|-l2_iDkks!h}a0vDM?1}Ycr)?&X z3*%?1Tb1y}G5qC0#vo{5BiruFf*uPCRS`A*a-Exd=}ULLJKS&`av4foEzg0UBW1{b41 zp}VEc+a5Mom}ck$oqR(@|A_4HoCG>x2}@SyRRSf_yNnb(nmPwHite1j# zNN35qZwx8qw%4Y-z<38nsnvg@aF1(T<974{UPd}bwxEFTbK|@YU=3~&uOPyJKNYGxcGsM4L{TUE{ zj7jcz4e%y_5f1lgJwKeEaCH-p5|(~zaZp&`Ij>-E-*DLaRQD_|7Vucl9N+$g+)fkT z2TxZD8-M${Dzz^UFx>F@Zw{H}Q`=B+r(=1NG<*lAu^WsBf$Uq?FI*t**ip;@?>2iK zFAH%az=QGZ^h&qXX;jU2rpFq$fk7eNs05qecnUApsU=|&=_fG{i~?z1N_~C*yqRoi zv~buD3&pd@MA_^DzbzNeLG7b8;Eo>qf!y6A9fSsNC%+i3d_F-g%w7v zwcKAp>FJOLSdAc3`}q4fMRIM_$)_vc(MwW53sn}uQe>kSgB(^E$taAB&Bsp~W!s0vBz zg>sDTsJtlENNASPX|b#|*NpG&b{H-*0{ud!=7!$_)wg}at$}o35Qa&c1*+~!#o%QA zEIRUR_N1XuRy8fuo}Y>Gg!7oA0^;*6X&)5ZNfPQDJB9on$+=i!kn54HC6(ws9E6oM(=6oGW*F?8n1qm(8usx$$7p zQiF^Hsrp>CS`x(Ags>epYsMieP00*t#Jelh4ojbW@;%Y9dB~*~U>|55U z_0-BdXX_=iRNLN(o&nL9IqvLthfemS1*n-cx?`*M;MgC7jekND`mffm{OI`pUgh)O z{XB3D(2oU8lx))YS>!aEPzuxPE=f;c8LO=z3zwuQ2hX>aF>5EywHW6c)F22ZqHG zSSK4n5qWhxZ6`03OlRLu@^K-0S zT3l@$ZDz}eG!>n(;@4MTZLu$~2C=4IyU$*RXx+SUmd74yN3LmH^92f!>ppjEE@jm~ zyCiqfmtKsi;c5b$U4_1^yeAa^2~cP!!Gtf}T(FH5qs-1wFfJ*1aQ~5M#Mm1Rd4ClE z4Y!btLmMT1PL>&wU>S`*MP23@_Y|WFpKy7|7Rz<%^G6xK4hgNdB#|CWFBH_-X|iIH zCsscls@-89sVDz24*4++`oFl`e>v!J8aW& zeNYTQcQbs`JkxW!+q~mG&y%`+;=taeA9QydTxkL;)!G`Dp4HYTu`av=|Kgoyf zJT7Xu>RwJm-#9unjYQf0hFj=2X|8R72L3z*XZ)RrPAb-7W#v89qc4uo7_Vm1LA~MJ zI9V6ko1ANF1Dza?&*UW0-mm3=75l4mi6E+;O9L$Dz+um~ERu^kNu z%R(J~)T955p~#PV^v@qO{dlH-|4d5}nt*rKfRgrUL4m3}Js?dL^{Xl%br9e6#aHfT z#71-qIywMl>DF;Ky}t_;;0+w~X2M~%z;iJY6bM5@OIIEl?vYuw)pD%Gp1;J(=m`$P zz?2KJJ}fNCZ|(Ok_rB)j(4`ZL?>6=A@b-=_?)DBv!I*XOydCy~Xf9R0v3N&vhpt%0zeq1M zhBg0v9=3wN`?lz)ZW~|?^cyY@uOG9+-v<5sIym&>6~BQE_v1wUt-DgzabJ(EO(1O& zdacRk>$7^MfzOMQBCgsl>h3cHwt&Nw59s{dyTRgEiorE^vxp;OQAHQxnEP@+ala#{ ze&&9I0k4|{WWo&%Xnh%?Cv5hckS~S#C|U;2{kyO*Q{W=Ln*9ncG(!t zXr#%uYwAzoaf3kglh4of^?16Y7@Yc6(mX?FZ%dv**aD_+yV+`)BT1|FJ(Zi3pxpQe z(kQbI)20#sn+oL*G8RX7-zO$wn}WjuHf9LJr?oe|_$-|8XDHnr)(oxy7uWuF;Jai? zGslM*&re=fvvfPfc~aaRO_f&?A0re-B_veS_)=4~adf=L*8V+J4^qs{(%u^)$zX3U zPQ_%0nUuZtExYYW>An3;_xBJ!U#3?nw`ZmI&r39q)cgE1h0i~_=O5kkk4f3@(4G7P z=!$0Zz^T~-?{b13m_zg+oMG<}ZfU1*2!p*=_b427b3uM5@*NDIh!xK3HeKesu0^$A zt9SC;1&)uIfY~W%cfjx`M#VT8;p+I-*-KR zyHvjbs151fcB&Hu6R+@was! z&;BL)v5jF`pXcVvG7Dy^>IbUzg98u1ME?Rf;J@igewvs2swBnJAdfLWJKx{HGtuVl zpcTi>gbUB51^7;ugk=?So;=G;e>~jSEC)2)oBiNGDZwU?xAUP#ep#~iq}RZyDjgpa zo6tAfQFfz7^DI{%qYGNJO$$J5*o|Hht}8OCHDB%@&t(QSd+MG;>3r|I#Q9(bI4uq= ztEx#XP1F3PX?6O_g=KkW?~O9QFwHk`&5fZQ>|8B|FnevZ0LGRW+A238a!*WXT|;%B zx4udp-07ZAU(J>iZA-*Q%d*XdXWAQ4M}cXvBG>R_Rdlww|MkuAt73rca6FfMb8`R$ z*18@%c7SYJnM#^#bThi(Y;DC}ElDL2P?nu1-NT}su)6!geOMWUAQfiIHKen0!!-TH z+hGULQ@@V!c2lj{Cmur`zDwU&l2mjvHYyvQl3?%}ZIpQAs(L~^Aa>I-2le3VGEI@l zup2PFx58F2z_CBNsvk(k518hE2Y2=VA8|WYS$?b{h~*mMaVx4v?O%MF0Op_KoK&#( ze&x}3qNgqxtMP=6t(O*?Uo9u{2l9N~IWf7^Fhe>U*w6VtD=XLVeusxg@z4e7O(rL8 zouese$*!!fti!!=eAE}jPLqkxo0{1IUq|LK4rLYdt~&BiJT($3K=}x`#=I$cb5|m zKljP(q~H=C^*ISZM^Tt`=zab?q$Hf=PYxda#=U-NYWzD9L%nU4SWhVjp~nnM26kBM zK#>>Td_Uvrd)^xZk)Y|k?->|*>Y{+mFmut{vC-#ZWa{6Erbu0d31Jvu zur{_=jSZ_&1=JnV@30I)N8w((fQ`s#^EW>F%w!LEfH@-NTr|G>bp& z((fVZ63VJA&FtQ1QTHW{(P}!Z+h-?c3+MFOCl9|35PR9JnTn;PsA%K(PUJ`C04a${ z`AxL8Uy#cjqpk#%x|-*Q{*P!1#4larOz_ltMvlng@mE}Y$^7I&+_|i~XGR;3k(SDl z??h>xp5cTI!?NZbH~UmVM`KM9;G(*Ia3LV?JJC8Zoc24ByesgGSG}gI!Ww_~)7d*Z zBZGkMy+VZo^jWywccNX1^@$GSTwsLxe}C|y-U?#nKlxRfZRtFdy$F7cXsN>%hxYG8 zUr^Q1L;9bdXFdYDQ8pFfDh=KUsA7LtcU6$V0YkH>RdXRw=+^tY&AUou*rVe&{$@W8 z-hidP^sr9%^TGSzbSspzIJIX=QQ8eC=SB9YebMYN3UXYpA++YUzO){ZH8PvZM819@T+PL&1RU8t2hJ zuDWFtcG#E@JLRz8=6{G1dv0#eMai$TxF?6{n-iKswW_C|$9g=TIu6a7J$)RSr+(xE zeAt8O+s!k|)7>j`#d7i_m2fgQ?_?B$Opt%J{**ndrM;})>moUa4pi0k5K0w(dKFcg z3P$sJCI(P_+$k7D_GkcbuA*G)jmBzyC!+Vg0deTfk&6@+hdHmK#>XL)>OclaUW;9P zb%tiy*Z6Bp_ZT*Z8%ICw00uDido_3tVO-5xzIhb!xRK0AAQL}}WY;oX0+@oaDUjTi z&*9uzaC?pEk-}cF{b>DZj^-KJ??nA3C19>p0lvG*$}QHOGIK^ZWYo`0aTp~A-LE0? zbKGT{suDI{miGe=xZ6;X$KuN@x;+Ws^gS z<3X=}b8jP@r;zfRZ~`{2x5Qb6Mf_-3x$zvk508y+ObYr6q|aww58FA@S;j?S;_mdY zoO0ZtI!57~CkL{M)IiHTq41ktoYd~Gtnv%j;>7wR1VIYp0dwxy`rODyL=v&Xgv3D%Ce{I{=8^n1}Tie*3*X$p5WAn z`VoKTx_=DwPIy9|n*b+CL;{c9r#&EJSlJDN*q?%W*)Lub0^VjK1zI?63w^|_OO}8`&3K5M z<2vK|ni=$XOTx0snu{_W3vXq52_Q<$HmK5SIyH}(;4{R72GRzukD6x(GML_GO1b=j z|AbNMy*swJ_r-1Z|5+B23!8{0)l5+IU>pk@RNPok0SEW^_NZ42UVB}y<0^+`i>$?5 zyrMYtq?w&{T0_u1DMe1&>gXV^?WXZ*FKA`n$9=i4iXSY$zja^5up0Ykk^&P^b#u=M zay^}e#%`@nHZel2oOD?QG=XNlEp-=O`}7uBTTe%D$9v1`MGUk7>_>N)=?uQcR9a$J3~cB>zSPEH8fWYl}tk$w6v}(i->It-&9wfN2Zem zd6UE_i-XTOiWji2kdXs#?QG__?dR}bUUnn526eC6sp|`Bj|DJ_?J-Z&pV}{xnr@jQ z;@4*IxYH8A6_@BgqY3P<&;+z~DU9NJ5Z)5t>AsWN+}m)lQl@C#+!{AfHGKc$+(&N zg!yc@#GnN22GyUTrspQq{4WMmKiv)gx1hm9$rK>j&>z$rtn5>+tJw^d*23eyuSOw z^qK+-!jQvzT&nmhbB_dilLzkZQHw!A1o-0Hg2FX7dh=P|v1)adN_JdeOGYEAb<`$##2Vu}Ffal?V-@HH8=&FJz(yohZ7@4#H_>uh6~2K#{W5}}nvOqnEi8uE(L z-qtWIxi_l6@mbK$E)GsOhaCThF-z4W(*mDjn78`{-sQ&JUz>(HGi1#Nk z>jU!?a+FG$!vQ6gU|1N3>Ye+nrHlGawN3_sU9aCf)7vF05|)IpJI0eQUlPEqC*b7( zL4dfAT%mScfx%t7KjNw)G5yAcp8X!zPb%Bab0kKjH{UAI9D5dXcSx193P3Ro42D=S^JO6#HEa-sd=}-)**>eF*AIfp8W4F#73mvM~y2uk|Lk&{i zVhsw&-4`Jp{}{K9L=Z zVlEo%t_B+n%Sm%_YM(x8_1JR9<*Y67mWFdso_Hy*Bv-Ike*Ox_f)>jf*-lHGE|U<^ zQP9ZL)AQKQDZ>e#11e!0Gz0J9BlIrZE2J)5o14rfXtimosw!!8lS||Ba)#L8jI6ti zu~j{p`Z;mi6b|LMeD+{~1qX??)3P6{2)H>0TKMl_nu&yHZ#9ZZr44a@G;eKbjz&n7 zdzD_@E;Y4gH43V&wQd~Xglia&Hcbhw*0;%%w(@6fFbR6u!k#Zbb$9`5piBRs%;x+i zsQAY={Nn-q^QZYg;VWZ8q)`ZN8Y2a&E#{K48&vK~Ubm{ayVrB=znR5Do8fQIY*391 zlIl=1;v?>4i`fJ_g~^^^XqA`qUuk$MK~A3mDjd9&hK`X|ir}CQWxb-O1mg$g@LnZ< z^PuqKdJ0=rPvAr?o?8*8ti1+xadyu&m=%|m#E-2ZyEp*d84AHQqs~B<1~;hi0&c=( zs2ZRp*Zr;~-z*ZsEL8nqtBNQl$l?u8$Oe^9q;UVJpZ*m3pP`~Z?EU;x78rnP^i{In zMlJqw9HrgS19X_YJOjiAyO3Ar3oT7Taz}`RZrI7FUN{hN?Q4 zi{*{iYYn?I^}aJ%rNHT7tdGhM#MEe4NeVp8c|dt`GyeS1P&iGBmvQdr*6%nR9*kEs zZ-&joWl4AOrmqWpucEKn%}9@6WAvkoRgb@!4H1FXum(QhQV|oDRA4lzy-O@j$Tn=6 zVb=hG_0XE{@7BXrxmttA5ky{0GxONBg*uZBsz>whJKv%g*K!Sx6Fm#dB<*&;iuRnf z`80Foh27BA38T2q{X8j9=*ph_m!O6pC-tp{|0ULC%#)5|MyQDbT+ITx;_~jys~mny z!Q5I)Y_1pDrgH*p=R6f12Q>l@oT9VbpelDMV!iz24nu25=GOIqGYy;KQS2Xc$SM&o zQNZLCP@wRUmbD%V`6{AlG8j5l@b|XTR43^m@DLfq0~#biV-X9M(**YrngO`OpC!V7 zXT|=hq-O|eNk~RFw2mW|l`}_E7zu*NOZEn>$P+~#w1$h=D>A+P{LwoCW3HBPK4H95 z7Vh|YE$tIn!dxg|KeGAQa-XAy`J~=?VhIV&-7AcbB5uxWzPNT7%1xgVGVOx-_`E|$mrtZJqUxMG z)9{;X?Dd$T7@sEwoE>+0*t3>#lQJM@pA`~(E|lRjdS3WQg)D*d9u z1MMzcYHpKunjXwr5}MjKM`qZe4Q%%oJLg_cKJbyPXZH;V;H?7#tX+v-f9om#>9POI zg(ei`;F;yUO|vo<#S5&s{3ofiyna`Xd}~Y=P9V z5fvQd4#?sQSpD1{hj<_VF8*vc%*hYlI3z4}&RWBSymfEzB@C1lj;j-OhcXRz!Y1Y%P zJ=?NX!|Ju_xYfefSqesh&j00HH(^Q;o>N&&mXN z6J#IuZaYI?`F0|InL4e(*m~b>>-?^KB~>+6K0%wbA<}ME@LV$>OEwgTIAhX>by0L;C(N>-N7^wDvDsZZmrSkG|mj5cR^GTq!w;q6kh}z~?BcHsZCO7_HpzDAvOs zFApa{QO}WNdD68Fs$7n6Tmxx+5$oOxDp-G=ycIJ5;{L$~Rqr8hy$!0m*sKjIj84pI z{{q$+5sxYPI@h~xbTNR^q%qn<;pI#NrMoq*`I=y$B$34_{3LTsM&Z?Y$))ZS<`gIj z*aq3vt?A%Fyb$2}*4y_5G~#wIU@48vBWQ|1Fkl1c3+jm84p;-0`9FG5E`eSAke_sM zgUZyM5bZ|y`OOFgjgZzHvGm%YvTfWhaUyB3v?)_Ws_^LAm!Md+#(=yjjg`1@SYNStC!?o-;+|P8JRa842f~ z6sV6ZC-04kdwlp9>ju>gJr#OGELH$F_q(uUnF4g3c$LUDI15cR2$lL|M(s>WQk+*%zc83fPx#)W)*+?cZY2WhV^x+L{*U zg~+GS?|$5`dqaBQjd7+U3kNCyJ$&kU3`^u5c0+DP#b+!7uI#(t%54`(aeVoS|1OSF z+>s9c&3{=p_*!p}h!!*xYysR5$H0gyr>i>R0qxNE9qA4IcAmKThk-$f2Bq137)=pU zMI*?>=fPg=3Si)F2l&_j#zD|&)g*BvkV9L#EdEg0p&835EFV9E>AkGTG;UhC3yV@U z+{uil7xpP`9=Ub!v0#lZ7x4yP{M33^gjJb)sib&z+VVit{3~RtUH4L<_)IsS>(2F4 z;@j`z&R3^HrBc!%t<-nG1{$ z?I$QwAuaZ_n5zgppoD0vOR1J~U{fc@e1YRhrTFjr-u>3`=^_h{Zf*8dy`Qk1qCg5G zmU-GX7pzlIY~72hqaoU>c}o#uaOg!o!wHMg=I#$&TJ&($Uf2i%CjLOENM9Q@u{k)kgA!DM^3C`pAPf*8YwH zD%}iAC`oD4&%AXv%+!%vsIBLjk_KXfITSd2?D~7z;0zk&?%lp&kxuy+I$!(mX|(J% z+tsnF>$Nqe>5(i5dcWi3Xs_hGWZQ|Cs)wns zbap5n3~k8Y6y^DV<()o=C@t(4aJC&BFLsL1m1-|4d>zin*y*WRh@ z4>(SDbjq>k7r!>8-pu4o5cd;!PeD#oj)Ee&Br=d+rk`wmcfccN5ATx3r?nRh?BX|V zpE)T(-Y!2YWq0IRy2ZQvwe3#S_b=P-zVFYF!GsN}(><>M4^uygBEHPn+!M92eZF6( zM{Y(!yKvG=0E;DIyL`P#RA9u^VDrZWUIz}pkI^UFliwSyk9w~}GFxcW6_i6o^A}Z~ zqV1$&qjCb{!#TEfvRaSP^0{4qti?3*(tl+x2SvGikfP7Eye4f0vVoRqdrFTl?xkzi z%KZ9v4T1%{b%2l!;F)+TifBMwz1x!ws$UGMU& z)}zmFyK4{fe>A3u4r%xp?FM$%d8DW)qbVHC74!VU`-?nj_pR1oIz6^!3L$&n7JIE3 zo1D(u=8&Ud$L5>pHGOD-EV1I*oj$R)ltSnrRn7z|G*H5uM^<@O8fE-(zlNWoWcbBqn8t2%Of4U|zel3k)R5OZcbhblokOg=oZtX*fP^sp|fS zyYbxa1EW37v^Bx~_$lj|$Mv(E#2m#%D6@;&6D3`v*3;F<)3>$~IIp^1&dYBLu?v(1 zO*bFH`z!x~GOu!hEF>pPO2U@13(jD6`HI_>9vJ1-vSUibNp;=L7El=?$04(G)s#3~ z&*-OHf8tMWzvS;N+SOhOpRb`4)3of{1exmp3^Fg#Yp+1e-F?^JxCX1*&<^$vJ}l#Z z$cgEV<=PT9P#(Z{>d^SvkMA^{lt-Uz3G;})>?nUoiIqXm@Ab-DNf{mndf<-|n0wEj ziyL0ncuiaLwe9VcoW9Bo;-lbduibo8a>r9& zD{&hm2Csm@n%P|M#3=`)mZ8H{yi&b!!Wt?|^QouuwM?8mPNLp)-y%9&8S%{v78AoW zhpc+7riU+Gh&Z=rW>rg%HzPgeq4J(*+Bo=968Mla{6?A0Ha??)A){-L>RMUu zZBRvwU`JzKG$v}_exRkcZTsSx3$${cJ@Tl(%%^@YiTQszLx3Hzp9FZ*{u*H(;H~q0 zTtrlOKkXtXvdjAWDD@#Ig#n!8O!E^!MWBW{fWj)65S<{>6`q63{c(SBB5Xpi+{^Ic zTaZ=x1Sa^R*$ir}YofA*B=HeDiTtLyb~#5f0+{a^er1E|2|5$CR*5DqfHRDEov8Mc zj+=~m%0a-W*clL_H>e`PZ?A^t`*cx&6-N`gU+Uk=Cd5nL65vnE;q!sv_h|bD6>&D- z7sD>mBQN>K@BiG?H!|&M(1BA`-AvXWo_7p_1RofH%7x0O@b^;Zl^x!R!j|y<_WrNtHfhh za^x=6J=*HcDELvFpy&N6c%t2z|DG~LSs&|*0z3fa;f-9y0D_i z%$nJZEO{Y#Kk|EofW%EGe*b1$*^-jLZOz(#<)UdUVKo@=Ek zSZ_n|9P5%}Cyy8IkL6}8t+SI6*FL~2lDVwY%rP2$;1VKP>*Js%gGNtTIbwYq@sl5U z%&!?vB7UCSpfWQ2h93TOo&3^u2B3=ntFM1P>Ix<^vki-@tfF<@R=15YH`&CyXO+{N zy2&%MJ#ShO7;$2?4J@@pN{a=Ycm~yH4Ln<@p5pvCP2mJoIa|-~-WH&*Z6BKd9WTZo zmS(Ed;R}g&=^Ip+;Vqc)mK{>!{UgY3xan&B@rz|lg=FrPAps}5Lm{ZuvM62#NZ13i z%6*|l*Q!kOLC>{ow{O%d*qe!*C&?+do4)dpps7Duz-`HQ`dm{=Zc^sc4XUglO>M3b zDZsg`*349{$o5Iy>fwlf%J9_Q$VMu$Du3j-@V>;se&BnfzH49zJDLGyTawDa8VGNG z<%cv4{8xq&-7nz_uc{hsRBIFbIj)31-=IPz94YKy*NrGDzRUsZ5q-WthgvY;_-x?g zb*nbjBR=i#`MS|C=>*$v32=%6i3gDjDT6e_eC(V29f~Upm)u{S(Ja=#Qq=EdWkaqk zm^xg#{un#8ltaJb1mPUK#$mBiq*MN%+;k$3!0P~&mZ&+J>t4Sx-&9Ia`k1}V2MrZh zQPHi1#w%j{8EU zhqHD{xj&i_iqgE7k_b43;rLR@ z9Y}Qj)a+AvNt~E_lWjnWR}|-hT+%&`afJgm*Xq#nt2?qx^6JpBS?kN;>hu!Yc_%#A z^rwiR=V&tl!I)F_GcVHfLUUz|<$+gq+<{sA0T zz&$+Ip52?bmd24j`2?OO`tdc82VpOBB*23gA9 z9UtrKPdFeO*WXJLyL3R+!2jKFfg>HC4OM zqu;qY;3EcOA0ZeN?nYW=5hPR#dD5az4f+xeB`vi)Zun56p@W==SBPec&k9R?-cci^ zakU7{5AN>yW^US<#ozbN*7mpphmM9!2)aw7yRAp9RY=s7(Nr+WQ@>3A`IQPM`I)?+ z2d7_c-?uq!sj3#RektfyNdp6OA3p zNV{t($qesMzUp1n6|q~5lbQCENLh=Tnw~0e6npbrj)lY;?6mMd5rZ=|@JP&34`B;rPHSwJ}MB0_>-vV6jiFDb}l> z`3?&!JxbKI096C^w;dIQO$$_jh}2d1S*bl&3NkE%0UWtocPobLJcVV}^D4Egt>=yS z`FY>OzT2Nu>)n~QMv66<6SrC3oO;Fs%?sTgp|?lhWt+&pFgcB9P?HnQ6A~C0B>4Mj zvsoCiNx)w*Z|%#AB*>LkG1$N8m+OY{e##o)aHqAExgvzZuqn`W@i7XAJRV^Sr&bZA z84K&sY8(0V)XLc_F%h8ssqp`8BmNBzu>ne`hxd0>0rq(0y_+9per&bITOoHve`w`v z@I(UU;ek0I#LEc*@J{>M`Stc*p!jM9g=z2KJBZY{@Vctx(Db?ll3p2tyyAhdMbVW= z5O75MufdEC!h)Jjm6n2!IL_FU=N&1ea{#h-N_V>cn6}T71a$IIcz=|y8GO7PWSZKu zFju%AXr<5p-b%k2)T`PO=uoqvzJl3rYmj_TKm>a`8|#*N_Svw(+4U| zKl;d_9GfFQl9LO>bqwc7P)06ziF+iSPvwgg?VHtl(^))P)*Q#ti}M43jbjZC8$3`h zeaid(96Xq9oW(9adNyvbCt5#vuSU%?N$WEwC4wd8*us2!j$8}XQ5S8nFb%wW7;vcv z&tiSHa(*LlVxx?%FK~I%23K~1&Dor{fafgliG8EU`=W2S*pSfNOK)qm0TVxwxvdMq~t57 zr5LSMo?WSo*1mO#tA^Z@)ZET`cQ5;j=6c|uR@OuS5LuXir%>Ip-c@TdnH|y6-2blj zBNcUL0?4L)JmJqEwa4%fQUyia<(k4Fk@6Xih@BMNgWC^W{fdZ3-Y*OtWSqZg;(eo7 z>4E>HEvM8j2@2u9j2A!g!|~$v+!H8rB&^wj(0Wu=oAt|BVYUNqW3afGJT-r46%djLPB?^R#7|PD6a=lP{^oZ zticUL`5#IqKSbC6f>D0@i3~l#z@1ziu*jzF52KE^%lLDGl)0f7Tsk!m9y}$gVrpw} zwU)_x5Z;kQ6Gj|ggAK1wi#EyE|N8|K3q85vIxd(r2gR(h2=^B}Z25KD_- z_fpPTY*jt>KplNQF;VnNR$|s6yb9P;W@X3GPPDV^&Ar*Kxc#(^lt< zuFOmX7!zBY!?IJIRd=Vh`mURD)!ThG8$9%}sBe4d*GvAd)t>9%$a-rD$F(Fdp>Q5c z+cv1~ak~&*r8$ec7Ko@{DD$&B2)QJaT2eX15H290Ue3m(d?sv0rKP-tF5_~r@6^sGAf<~R8?Q>LpMnUnEX6mam}jBZi8xk zysy$UB-3(ohAWJi#(w$gn!Z$a)vDnEXSI$bPHlo(%=3gqVX{nlW(|U~B;`kXs&2l? zM=`8fR%ZV3@$r1T@g8G}iT7AS8U;I)kL=0H+IvQXYK!yc3JZlS`w*%PNN=RQ-Q7Jk zOvVvdZ#S!Jg;VQJOFqT)sx}ghi{;vRVXP;O&ObSXaOk?M)S(d)E%V{vPL|GDQNl9YE%IfRL;WKe z(js!2_i!S+E33eGcZr03s3`Y$t#RcK9bhaH%$}>qXhZ|#o@2PoIft-9g~w{Hln3V{ z52z1Mrz$o+Q;R9o;?G==5zxE#hS$#!>x>!)sC4(uYVX^#bgzIsydPE2pIuVc;b!Yw z+sEPBRxDa>Y=X-jE?R1vd=j3#J zQNWKM%5N!m{$CK2R$aopKSLRcTLyeSlXDSd4bEG_HUcD8-Jr(zCDK+PN!$>M5au0} zlI+V1?+$8Q9rN|My;45;Tg6lT$KWh^3!e>?76bsar3*fv-Qs17cg^o=#MHF6fI|E6$PW%l%>8Y zlyujYLJ1bW2R5iqVV=eAfNq^9CDN;Tc~3(MPD+H87A$h_ zyYM-rxca($XB&XVRX6W#*}m`M;rk9UWBU}4>pcd0w`IBZUM{Q`&GrqxZsHOh@C4BzTAhm8!_?a&zrUQtDJ?u^L~-h;;FO%e1>H z;YTr#xn?Ip@pOYK*o$5$fWp^PX&Ym=j?*3Un>!I}x*~U#HS4O`wf%yhdu>LCUpZ%T zx9iuFyb8WdS2O;p74;~?GK|tJJdUIYVtnB9olV4Rw}BfUF97miHeq5Ei5p942pGdq zgsuXrd}XRS*X(4Yw0I;EXcm+Yg z%-gZq+6i9Xk0SL`cHd|Z09qUh>e1K|c*Dx?k1 zFNUtg1nb6p?s)kk7ossDZ)k2P_(6*`PwM}p*6T~Vb*ONAVcm9sg^Ht{Gaxu75;G?YI@(kM#cYViq$M_FkhGc-+yzECHE z_TQ+JWZFgH(e4R?@sfEGMGUt^!i*SO=$2NeKXr8Z1*d@Uv&#csF}F)ASaO`Y#q~nL7=!cb1!Kbh;yx2bBEcpo8VOj^WCN4W^*~B*SDrKl#11B-#G5fdY$^i z70--gpr%x(S|Wi_3jUrA>A}Xdmg&iHT;r*WK=f{QI-yRIIVYdCEiRX*(5KGYUOFrF zK7(9D<2#k1bm4p9w6PgR)N|VBw!WndX@K$-5(8TQ|5Ty*(}n*+Oqj1iBMJN318!Cw=xZ6D54eZ7U92b<=G=hQ&HX?w{Xr!!9WvRolm~wTX<8n0!@V7QFYLVDLQ`kn;!u0U!-?AS6c{@>&z_6D2PemsMmOo^lh z!Ownxzwvo%_qc?@OT)4_=&Tz>WF(<@tzNu|#VR+4XtP7~swq#P<>?SMw7LRvpU28* z_iX$C*5FU?=1&(i;mb)BC?o3K+Ax0FATF{`5{6t2HlBT7J<~E=3FTF}Q=`?P!-1-_ zJiYQ!LcgyoE%S|ziQdh7(Y3`P?btp0lsR-Y!F*oOMASn%hWv!82meK^8H+H}ncy;4 z!}G@n+-~Q{{&2etk2{v(iDp$h8!e}<&$shaV|T~3MA+;td&RbkfWawI?<4Bi*aV`U z^g)H~Zn{0{dZShsRBaoF@I!wRqcC$(6`f^yA$I&+W@e)5Y#ohN@`4lw;X>X-+5g`l ztp5nW{Qth8=ljE(c@9Zvt)*XeghVQMeR9B~Mhu>OC{pu&f|U#6k}@`1F9}L3cQLlO zB{LRj6V#ho7T^1|JpLs&?(QJ)co%O_nF|vvy{%>k;#KkS z#6C$C30RRyq`i~}Chp1s%g(W-f~^Vz z*`S&0%f4=r_=YrY(-m;^6N&DoCLPJFC1Sq&eQM$nH*2>ZNllMb-Y=a1^Bo2`Zv*N1 zyg~bt`yg1{L7A>byoOWY1HiFDiGdBIzeYdRj@75 z^_**R_W-D|wcAX9W76RI$>F)!#m6E;6c`DgU@yRYZrgtqY*H9X` z0h62b8S>#f1h#zc${;JP&NzUmg8ZrNHT;)Ofz9-kgK?!nBNRvAsge0XRYs*G=5+@`e~Ir|+`II_+2AK^M=xB{-gRtAU8R38QB|p2JZD5P=!tX( zBj*sB@o*92zHWI%!I?wO8rP8BdD7p6-z7jp^B~Auc7sY0exf{T;^b%@0n{_mfzM*M zA!cTdkde5Ped#gbLZS7Y`((mdOEQ-Z7Ap!~8vkUyZ0{};vohM#7W`cxIKc~GrV~C8 z2(Om~2Mwa`)%!$N6O2nl278}`?eccnH(%#mA_-+F(6!Et;=K|*gUChsqg%zaZ(Lug zD(?N>TZGgh@%VweJ4aCJN71f{>C}`^;@GfvJzySkHl~rRD(OdlrMRPI=&7D`VuH- zi~+Pr-Jn8>c>_6r@ni!%WmjMat`qOsqf_(C>}a>-TG65pTf0xo;Q7*#^qLi3EjN18 zv9!2QqboweMKfzc^2x`Z4O%{?A}eiMo=39+#Hw*TQvZo*ya%UVTIhI;9!pV}GB{tcqTf98qYdYY1cAAL~wfTy4{2`J91$zK3it7oEWX!=@8~ z%DE1|ejnF440JZWUO%#DQGnxhQQq&UYlNSkn;AK5{4s91LL>$sW!v=b*49>+3_(zDtq!9Q{6oYSqOneq6Xjh z5ZD&79mYtv-#7LbNiB94MI5;ONoBl%MpEZh{%4T`#0Wh>xoanL?ws>uID+CFkR1m* zdiICPxlNwH8f>*a4+)l(=GLXY=9QCsc~_y>@%ZIBSD}LrDkBZDJKd-JhBp>S=e32P7<5G!6mq<6!$1Qt0IjjXWx zw3eUQ_sQX01ND08OxDpS@Vdj0#& zXDm&j_E?nJoT1;~K3a)5R$_;}t;cxqI-?&ipE2G57W}oS-t)bvK4ec}$S!^Q96qtT zFeU75z_G<-XSG^Y?0E@;<$y-TWO6!=Z_5|Q$S z!egi01z)S^bloZ`DG|5Zjv^|icG%bD;v(_E(3uS22kIjDnRB-;179ea_vi<^roPXM(_cspHos`S&Zf*FkHgfgSHs6+!J`V97$?|;X zj6$9>J?geM1baMFig>RsF2vw_qm90l@oGg8?9sKsN0zC1(mCIN_v?l z>o7$RIcoixQF8xR?S=Juum|G-8Un)NK#12(5x7T{@6q`fp|y!e2c%r$pj9d9y*?4a z=~~PTXvv$)TEbpDEWNwALKPS}ybv*dC1qdu^tQ!CFO<7^U2v!Y-_jXl;AQGjW?tYH z4|-Kn^!nljYguTDTs;iR_4sd)ORhat4bFyoCdSB-h+mAjXKT7S0*i?EbISlh=EkXX zhK;+hM7w*IHX$-t@kZpwp>vAjbbCsgbhjN7y?jl3qPBk#yv^w^^|)UKyx(Z^@wo~g zK8sqNXbpg^RuI7Qt!60mDNCT&pTYlfUafu{$f(j#&*%E5VNb0Wlo3cqQB@aGXfU%u zucq!y#!#V=i?+atQa&JEXKA$H7nkx8)LqwQ@g3i;$K~g89YFOY$@R~wrhnf@VTyvzN+f!Z-mx0^+w)c`0HbjFc+`J=DygV z$`k&)+DtOA&vp53w5u1qWHX&1IZsITK7x&Dl0%?5SNgrygk^Yqbp>9YF$1~cRW!_fa1_WTzTS^rD^{4-DZL6X8qSll+ZfMTOK+vXTd z)^v7}oN=CIw_PQTopvI?Af{^>m!(9iua^e}Sv@(qx3gU~gJVz2>t&EEFjsy{7J^_) zp9u=E1>^*>em?wccxPSk%-s9xp7~uCwSgKT*r&Zdh~DRq_e+K!GsNUIYSc|zOJ;uP z&i{B;6cprx@=FiV)JxnK_RmRc7+HFzS;}sA$=_ne0y`z}Qa?tb>B{3LdPgJ0bOJj= znq+pOL0e;H)sMhDAqD<6tx6xB-Z~*Dp}ZrE*b=(PZDj1Zc=VCIC{0{+CAXi~s?2hoy?CV{ZbTIsvVw@ENw83{-+Bh>RcW~VtC*w8HfC`?*Y=<+!y_~MB{0ZOlWm7*@Xn_+2QIQyY zq0b6XlWPdz&X0Dl3&wxDovKH$ghhKUJci+yXMdI| zVeV$QBm4yB#q+hNSBl6ga&dd)-uUEJIkLr^7b2@=)ZE7xle?-wUrwWW|F^yzCsn+H zv`zKWfr+4jC0$cb>s)6u0ZQSWp_OMxmElF81bq~AVj6xGK+gSC0QpO|J2aM1VgltO zwNl`kg;65j$ax!w<2`#H&+^Y+;oZKFM3tO?KFqm|wid`mngIxxulZysat3zZm*v*D z43CF>Bo~Kc*pcEm0V16K%9N{PgO~HXaWLo`ulsv_<3EZg zs>>+X=S^GfC9FJ9o+p!LB+72!ug+?i&uNT zW~;9f#&s5t!eT))tFNfHN7hSEa^mYXGSk@XV&YSV747OLYw5RS)y{o>Yb{cA#@I5& zS9&6Cdm+;vx1`O^{a1o&a@*BvXdG*3L{ik`_6s`79kfn5HyS9&s7Xb&^^F%W`uW~( z^I==@daLD{g3hYA>U`6dXT2Qh`R?WhbF+@^o`b~|3xKN|JbmWTo)#6g!}9qbY~Y+= z#R87?$+S@KBBIJGV3b05nl?L~*Eq!C82jwfLXCk|(Q^2$9-+%YD%07_lFEP2^Djrj2mxlS! zIX6^-hrOP~fHLSkv%v!b+qyM`i^RZ|-k-U!l85m7kwQ`qTJGya62lM5=|P83 zCp>wx`yL+i5RpU_y2a5=WLj*ov|RL3vP$5Co}!}Eaj+M#Irt4_f$ElS!UT{n>_JcG z#y)tzvbMC?$I974g>x@N_me#J8 z*AR-mr<$)&zX(J!aS8%vYDu8&pTU3cL-x5NRl6SV+;huLb zUWAhzFyiMv>FFfh>XUz*c;n<=vk6p%YN5{Ia?`A9v-M*a;1;J#X}Ro2yC!Tsi_+rm zDbQ86*MQ{c4*Ufdd18pLLDj~V4k5CyRRX{HHS+dtq)#AfimkO$?hJwq?c*fM+O86K z0vzU=qz1VavI_or=X5ItEk%Ta9|H`usWzz2L5MAt%ixcSUxTlnpYPku@YZ)x6RLqv zjqQ8_c}tly7#Y#(+db$7e0DEF-qTZ-?Y)7ViMAtw9OSiH0-gZn-WG}jd@a^%a)auk z9Y_ggoiW8oLogI!AN?|*YbyFNko9dY;Qt!OZ`#*yni2fz9&q3u1mOIrX!G}w*jQED zS^H<0!{YSzwknCQW8G{k#Ek82Zd^E5`4->%3K#Bgo9+KH`eTRcS$)&cuy@zuE;1x3 zfd<>7ly6ep|5neyf9&f`+LZ_P?*7O_>XuE8n45B@RaNDrdA{c)AGszzr#{rU9AYD3 zH&ocDB>542P_OS0eJOvF{x*K5J(EL^Gl2MeG&dC8Gjf{oV@@i^HA&v5Ihp7&$CX!& zDtfXoIY|v|wXTk)ZD>Jt0iMTi7;nlja{>zw+3zRZiWaDWEN_-2&CmqH&o;f@35&GE zw%vM*?`&6#z*_%urCYQC$Zqf&B zI+3u<_0G2R3`(W;a@15|gOt78(ujkV0p$gp<=S>C)A0$8X6Z6Vj2N@{O-`i53i*xp z`69nqf_$l0Ot*t9_bF&*ZiX%O^&2E6)RCiZl1c_#4LTyiZhN~fxPDgSDD8ZX4689X z`}*VYfrII>G=z>cqR7B4&|kv+zo&Z(HLy3N7E=u;rEU8r!Rcl(*Ipwu;T!4p_{P0WKVcN z(wOu8Kv1s8m+beL#e_t2+`ZEp@6XRCLe!27+kHc8j6b2}DD#nf zGas_HJyv1`Z-jmhoG8D<;{URXe#p0FXA{asHH1hAX!{A6Eq;?h=f7Gl9v1#?wOE82<|<_hn1nadC_3#&j>togHr7Sw`=E<5LtDi^X`f>E z^-W%O8SM#%U8cAD86)v4XT=@>))O^sk5i0Mka6$TDVt>PKEf3NKAt|7jEqd&Afc^M z$*?q;r=dhEa47QVH1>#UdO!6OtdCB`TgFHkRi1)3ERR!S4yH%+ESNmxyqHef9!Nof z2oi)`YSV=gg5knr84{M52~3@6Tvg=5^8T&I#DQWJ^VP+Y?QgnR{wbVoUhq!Zph`f! zgRFwea&)@qjDBI1lvXZm_=W&Zv+0jV$$nk{pA!%{cdGQuI zKAtdYJ`|7aI`zGWbqMsZZd;_U4kGX^hdUYJguFXp?4DT#NgRTFeA2DHZtvxvUzJi4 zOt)2+QDeMgVSTIfS~1;b6K(F0&mZMhlba-D6CfcUSJ{GevPlK?l<1SWl#LikABZ?5 zYe8-6x~^moFm;Ixbm zzJa^2sxj+{9T$^;2gjzJpXiXIn;LKpHStUk7&hA13BR2=wJ6e1dwaN{Gt?`@<`L*2 zTVY;Z`-zp?_l27xZoWbFu6Pzg5<%Kirua9B*~R0l3IEoca7lh>?%GhFZj23GC(f{; z{~W(qT*gAVm-n3a$>X6}=~lp#3vFzb{OAl%-qLx^L(u_jVX7z{gv$!$ok9aWf#L%= z-DGjk4XPD)lqSfS|1&O!d%W+$(Y9`XRvum;J~y2DJU=q_e1$lj{%+;{x{b6xm;HNq z!W{vtl0yGS835E31)YEY2@|WFy^gY+6z{oZUopP3ua8aEwyim=Wpder@4?w;2hWBC zgei5-)gC=;$zv*K#tE__6?mA!QhYzAi8yNWOftjBow{*uB>2E*_-JL)`jD*`-Pv-V&BN170*{nJQx5 zh2XQa^|_VPq#U#9n8oNAaDbL*qYq-u?B7`2WWz{+h=8n_13(yHn%8 z9KlV?l!K~^+sMyQ6V3yo=dQvQD8Lqk1JZyC81|E6cV(lLBuUrTUv9s<|14Wll!%~9 zqdlYG=c~6Xu4{i4p0NK>c+#DNS;(P}OqjC&6x4$6y4&be zf+HAzeAemVZ;`gx2~YA(i4XU%E8TY46%i|byf@`=uj#!j&v@=MSxg?p)*xPpe=7pD zN8`;Gk&fPP2s&+W))Le}UFh7kcm2>yg-4WGVs6m&X5=u&wz@ojY^yfnu+U>Nen>TG z=O?n%?4B5)BWnVZYumxQMQ$aveJo`*oE^PTXX>JoDyG0IA8xJA_1DWidTTVTIq-OT zI?gEcro{zkw2OYZjl(Zg7RW5B#OJ-85R(Ts=%?$BvEea`6I&w86j_V-Wy z^#TLn0k5z|4)JTGCqcbY6hccXP^)wYLoL02)$jIuJ2**z)Yi>R(TBe~e9h%0UU?}F zm}#|)O_4@Bf?K;UCJzN~0~8gO2wLBcMp$y*EH2d4s5Yy3R+QiM?$A)kkw}Xz+sUdS z&~+{l;%(so)G_&O;ac85S6^@HTO~o6MB6rlb3h^0F8o~~wVCRCk9A*g-LKpkd(f?f{5E#`Wl74-gX34CrD3GIhOA<b%L-FUVMRi%&+0f)dwzYt-JHHO479k zds@Y<=LtIIvwYJpFT6Wpoqa$+tN>i~u&>NsZJS5Azrcv)oiXSsJ87 z>X{fVDe(j;nHeeZ#D+JnqM=wW5HnNM)wOiGG_JRGsOmxW)M$@!91}dPsimc*sdywk zE$!Z6gE99bY6th%-r2&tDK@%=8IN9+h#F?Dh6Eu4={G^7DK)oqG$83`Y^P= zvBHZ#c}^ob`9_zI&B46dP*wI5f*CKRckGbpQ9%CDYDrC)bfR@coG1!!rbaHEyJ5aa z3#|T2(t^j_T14csGV_UaVM(zC8QO~fhrRcXYjRt+g>l&nvMhjtfC{1@MY@83hzLmU zQls=9kt!{U0t(Uv1O$}cdv6hu-g^lUI#NO>5K{bRRQ%T3Ygx`Y``o+t-TrBQ5<=cN zpEAaH##8BEgVo4nS3WI&Bma0;uVzY4x4XE`+@#+Z#k$SRlV*d0VY4GeStqH=Zrbm7 z@w)l${jOs?f_7Z2Ua7a{?QZ(otTSZEP)Snzie8|fA#yREE=r>zn9y?J#cFs8T7fAUdLnQ~u*$^T!+g zQ!==}9NWKrK^U?J76NJVn>te#gAk?$m0&0$Z@pf;L;z|nu2QfC(?6ITw!w%=avwEm zKOw>KaxJA!BGlM~;lO+I-yA@k@)2%;VCbD~2x?d>dz<@}gAgXZ!whXu+LadFm^dvO z8ZEs=w4d^wDHC663S>;e>xT9GDU=dt6u`qG%i(tK0wMEoPV!LZpQP}Xqb zX!{`->=xJ;?ET*3*N=y7c{$j2HFgPRD@o?tU$T8_7COIbWib%XYU@T;7Sxf3TJYu2 z0UjW=ShLTG_yqJ>^yv+{YPulpV=JPj44dn-}hczUwbjrDQ!->S-Z!uKG=b zUb8CyYb_n7K`k8unv@ivQHI(9Wd+l^^Ubk+0s`mvm>DmYXFnX))Z~(uOlY)dZuRo! zdtBcMHo4Cjc`1Y1o>(|A{jqR>u(fU~CN|2U4T;T!K8l4+Zn1!_x`~%>d}>gFv0DNW zVcE)NmVZ%W_c_%B!D>zIr(u<)wSI2sj^mtDiRtUtXu)(d@%9!{0+jBVvoHa((dy*f zGgt&?I~H$OCMeuvYkO(dL$-GQsSv<#4LEWiRo}b_z5YV!H?gs1U$XAcE_3*AN~XR( z-yb<-{OKfq{i*VQtasXX5{}@(@avfs(Cttl*?}zI+QjLTEPp`fM@-bWqu2HUo-Kn% z7>Za$H}0KYm%1!+{=Mr)?O-5VzhzlwHS<03S+3mxL2j<4T^j^PaeN)+`*~2R0D@!q z?P2}u^n|LC(Sk2XD#t46NUB>sk(0c24 zVvwV-haX9JA(1xxS6y9~8>aFGdI>9clL{%|n1c)XubX{*9Eg(?kJHB(^q~_aY)G9?PD3U%H zIC?kgc{ZnFct}UXbHRQwFeg7NLTFm7fn)1*e8Jk|+${LkC~CkrzZc#gx!DU&^1*iG z7Ox#R^;&{kvEVABja+#E-*A1+p5PPd{*k1Y%ryz{3ivRj4{XD~9AJ*IMt5QBRmc>6 zB6(nFKMui9u#3Y!^!GvV_cmsI%RBA#Citp-DxWpnv35bVg=w)tX*8cUj$bU5%bdNC zbGs~!^BMr0|vTGIB|^Ux-c(4-N|L|$;3J~4+I9MGdoZY?Z<|a z=I{wobBIR09u$Nrso@}Z41+HE2HrLZOg*S1%00?paWuC^(m<&HtVbj?rW91DpB|(W zbW?(_iG8e8bV9Atr};&%X5QQkLDW|4+>L=ri_*xzP(ySATYx_OjpGk?zwN0$WWPt+ zUF!*%g3<37+wq>c?~dzrQ0IOmnbJVh5l$cqKa$vx(-Mj3ASW=!xLtb34t2m9k6|7< z`^`C%-LrvIA0D13WDl-Pjv%nTrg!KwDktOLPMt?!UVfO>P+>8dGcjd~Ut3zv!a4Qr zTACX=0GyE;AYdMNNpxZ_!3}8I!2@&c7>)$=PZbl42Z^mD^QYT7Pz5F$@mMLxPejt8 zcw8@RahK3F*oTW`c-RJt70h7l19YYV4!7Cc`#=`42z@qG+aqZ5IJLTMsxV^;!7lgk zz4FvtC;2n!U<-k|(;8mMx(QyA*ONme#=Fzo=zbTcEpMmX#$Sjz6-p1flo^5wqyaj$ zxAqiYUGrQ4AJo}?xO$Kaxc+X=<|2(YwdMYt z<13OI%GDYgSFT@vBkQ=KnQ1{2nFrFM#oYqKssV(x{ye@^jFu0Il8Jp%V^N;(Rx1i4 z-$S?C!;4Dew(7LB{EZahoxmP8o>;VRhpfL3Y8V;VyQc-*rN=PuoGarmIV5ec>7^C6 z@LwxYOkqWK3OI52NABHJE7y{SvG@R0Y6(&~exdx+0h$H27^6Je-V|>MP~@qkl$6~( zd-X;HyfacJ4G(x|g(@2q?xBiYTwm4Cej)#w4q>~YzX_TGMc{aA`%61F^gpH)zWrc- z3_58h!rqB)L6e+}=x}eT^Z8TLv8-7<(Ug>Xh8|@X)T~@q2=dHokyt(hk@cTFHTdpG#yBCKAMM??6 z_I##mpoEOa3eI&2x|eQ^Tfa-1J7{QUXXi|6A#=u6C(7tyv)qM}`eXFT%x_=d_>m$; z+Yu-+6UQhwnT$Dy%e8~*7;(a!;6hB6=7~3_j>cHncACGW*KY1sKSti-bvv8f+YLx~ zH?>|_-Cv>d&F`t&=61b>n_2_<=$=L&#{#S5f-$Vgg%W6Lq3X(;H>p9@hpq3oj}Jr} zSwx>c+Zx>1DC*-KFcB^42EQ!JA=x`Pn%(S!SP<`$XJ_5=ZUCF&REvMeA^vdC6zN1bYSFGu zKM;M0AU-7^oXDSpXoksWC(N!aGNzW z(+boU@hx*4i1_P08~`N5ztlbaRtz~%N|wgoo3b42pp!M%?9+R~+}+yX;<5ml$sJw~ z&O*kuimR~{@cNHyO~XSjG3D1g@XMsa*^co z1P);tsVCj{3N4yTtV*pEr|}A@2cgZVh4iH;pts~ge9>E4`E81;Qns$hO$m*)!$w_b zvX&~O?!jvd=X#CdShXdfbIU?cI0M`QmibM`rtewc^)@sTj=L1VN+B(xldZn&=|~to*e!t*qBSsM-oa+P=NxAe@5So7`Kd&k`PgH74jS8HXWI> zUNKP$+?-^~swCJAFj6~IU~Pkqu(ZI}OG5JoPe`j;hDvt9p~0_xE2#M@OV}c)_OkRr45c3nfR<#-5u&M;;+I%RHcbA(>$&AFLdntI+pOS1Heuk#R)cSp72e^#9_K zscZ{je@QIt20{QPqa<4fa=WrycP+=Y zH6Kg^D{s7LujmHsKa{qQ`E8#s(ckFXc>O=mn&h$N_$*t+VoSJx5EoP--V zn<9nn1FJ_b?iroM&nU>C+w9IO8>O6ci6~=wx8p?ExbH2N7YaxH^_ga8x?kQn`SMfW zLI0)inC%q~ie5c87~Lo^MbVAY@OmC>FR=*E?V~$W;7%D5y9w7(>%Expp;j+sj#1OH z>r#W>Qw0XE{NraO#xugo`#&w`V$bJOMIbdHmQahxh?)h9*s@EPecJOkXsJ?|=WoI+ zr<3R#My)TG^zD~So=uMTbuhRtO26k69jH8`@&AYw{N-r2L=eb3J3CNhQF!*j<9QyZ z#P2&>y&pF<&AY9-csP6bfwYdk=P5eci}VkrT*TM2Nw{&2eRIlC8&K$g8*$TVRL%h` zK4@RTj-Q9sbNjd1k~!M?Vp|-la+NJ!9bSk_8&ck_w@#j15~to#krBz5)aH@KJ%{^zQTh4gNXF$ zJ${I9{%5S>`wKd}3JQLAi1W3NB%*Xzc%k*EQg5t9#7d)XwL)anJ{!eq#E^oFWZuRt z&i7ZX@WT``rMC})-H<$i>MsSHKI>Srh>L278MS|oa5Q$M6TcTo%B7LDg9~yfUZY0W ziu8fCEGa&Z=XQzefI2~w>#tmCf53qpzN)|Pn#uWe_v5o?G(H%c0GCgFSRz2%+dH(lP_TSyxU}`2KW49JDM!Ll81=>;oVF zGFbBT+k+(?$nkF$70vVna@$;3DP8mRt4Qw}0m^YT`9&H#`WEB+{R?nT$SQP1LwJJD zLYTIIzbEL6r(bVBY~&_TGD^VrxKcrTLYvuEHq)0ktd%8Gm0X6+l9#U>c<=v_BvoDC z)@t*P2zqn0r-b+CH?93`;h3@$+!RLKJK*c6hcU8aYkxcGT9xgpG?7dYLfN=!^8{E} zR7zh0)f6HSn0-ULBw!hRrHgP{0;#{=g{s7q{>fk~k zV$-=-fDX>PhxgB3xu6Un(*t`6YT&b8LOvtctV+MMUvtHK+=mwGxGvnU^f(xaFiGx7bY4GL z@>@s6trJIc4?W+n6@2ygSTS+~C7w_IMp~TW44hXLW2;$Y+v`tx)id0uH?grX`(0$$ z?_!n2@ovvAZD{%em|}r93t(#>M`KLwEyuef5!_)uy~_~3(9~`rP4lYBrbWwF>eKvD zTDMoHma?~=#quoeJjJb?&GmFx+bO;0FXF!K{^09DP=;=*0`r!WrF0{$3b?1$dIOoP z%bCTxZ(3AX^q)hu?NxSZLb#My((6czF7T$2Q16^5Um!8PTn%c7X&KZP9TzeBy6C|J zC>sYLF9Es5HQut2-oPdfTNm0R>{p)P#}`#XGt||^y{Tm=dY*~T^m)OKtm5QXkL=U# z;)76=JTzvhPyW_}{2wcYP8}%EGlYYA#aOF8lhx&`d)VMSVGXKvXJTu{tZe+W1L{z-L1sFqC|Xxt;gGGP2AEJZe?-OSrl8< zQ`!lIUe!9<;NBBbkhnwPa^kDoo{7;nk}8AS)g>r_Y@UMn0sfMje!cML=?>!e@vDsa z`zB8ewiE*gCa?V;NmwkA>F;zul03CLUjuwPZq8dD;-6!P>r+F1!iXTAvR|&!OLC-r#*baZj&?6-2)f@TG^wL9Ed zN6MgPkv{GA*lHvNzbkV=vFknV=#?$vDmE=*^E;^qqUCAKbyqnU51s!}y&Ul~xg`|l zkQ)4}T@|;JgHp@d7K_H2ZGJ}-WZvV?agmR&KTGJhR-JQEBr93}#08{dV54WEe-|z( z7hKsnH8okinS)O+I{kr=nVRf*V4L>&y;!6hqecvoVv% zjfTN8ON0-X@ndqZW}juyF8g4kw55FWuBULx^K=x^i{kZ;q^}sWX+^RfOOJ#v&*DB1 zmX8q!+5qW1-ZT77gE{#3+|qg;!j`gSp7bpSA`d%VeWzmYc@rA>`eDec(I z(%-mOPMCNf4;LY{1YV{`G%kU(U;fRszfIbGp8~EhqgzV;Nb(Xg16;ixwXN+LYH(S2 zx9OgHw_on~u?I}48*=fCPUCf_SQ;vg$m1$TmF9gIZJ1Iz=w4Y3DdbT1@~BfS9Fmhc zsF-F!dQOTvrS2Ic(NukQ2=?J9*%W~7gy}|G2|lzvVCL)C@ERX+=4=1nRX#8>;I}mW zk>sYI84SIDaex|Rm#tloF<|DUwRY1Q@VVmoaO|!P6e)3V?Kcrz^GA~DaU2j>x5o}3 z@or9N576}!9-SrtWPEj*0PH9}w4Pa8)#(N-!Nv$DM~8Tb6g9c3#?K z8iq7xPV5mM_p94I5KP?>WM&aLqh6rF*y#9*=9o-T}7j^>qIlN3h$%ToKK z8Rp!sysl?w_8+N3_2)+4o3)iXM}Epq_n1uERHVcDnlyUx8?yxe>@x9FPv5eWaJ(M} zzL9}oteZr>;rk8N48y+0FPPw}6 zP1t#JeR1NZt=Ve);&%!evBW9yS{nGu z>KNSB*?6#d*X4!DIhyudru#e`VS1I8%maI(jV-NCklI%p#KhF!;EvWhSh;PwY-Zn6 zKSX0vUg)Q_=q#p+9FEv)vp^bJn#Gesk$bQhU7%r3>vT*tW<*j>Wmi_w-q}P14Kyxu zyG9O%k8%k&*?EpmH&Ma;T%x0-)owZ$N9@egfzvCVeLr6@Q`34*Si@3sGBQu8(|}av z=5G~ZD!XSdoR1Q7dm3QF%?&afyI|?}92SVlj95AM@)3?#t`2yPLEk!WNTAF+6gPyM zjyKrK?(q#tRyyZ78|=ZmAlS{qEb72m+YI*ZDTi^o-RNSP_|4at3A9OmARe#5=X82e zhr@=rHK&sV=v>wf*J@#JNfEu8g@QSS=T7u6T$GDI1Rw9d5SMiBMhNeO(*{_>`xbH> z@Yf2kro`969-~f1tl6$=^C`l|k9OEq9JopW3<=!?bWR!R&)*f}4$9uM{-EJhY(&K4 zna+C?L{-{hSE>zy^`u&LlsD!~kz+$?A}396Z;?*5cgB4IH^FYT!Yo8E72Hz5a$nN& zyZDP%%~Jl)nh&wiN2b&M z$CR!JjPpp7bLjGqXXm75r!Y79@k*r?GBeK4U44~Xjtgvd%Xn?-mR4!B@Fd8CLH5fvB$rJOhS7Fgqi%YL&)VIyM-u^=4bKcns+z?Ys>f-V&B!w$s8tQ z7xzlEn$Z(IeJYlO$m4cb;))mN`Kn>wL--XwLG+?%r=U#v29Dd7J?3hK(auNVsg|fU zGrz%l{oSm)=;h0TE)5l6e(_-NB?nRMzDfO=Wz6#AiN-#d`)sZ zp#{ox_lgU?IDn<#iu9zc=-Icvhu%9mA2?u};Uo8VYc;;&0^2~r4~gD?2}j}1odgO& zIH4+$KxV7k`jLbVVqj1Ekt93}%;v1J7gSJMcFHl6CE}brQjV>!51@H1WefP*a=&Qv z=4Oh41WLD0Cif%Bi{bV`M)ngZ*_DOJt;|HZNUQ#E%dC~hm~4arJE0R=Tc`w9YnfXt z;J+b>`JS6z&#UOAY@K4~=o%2PhYC)2MbMXm8cQo**88PqUIBw<*y-NQ71F3?Xp7$x zdN8Wo-1fD2!Pe(n)saXz3hRdn`CfYl2WEq=$Y23Id+3^||5=UrU#&$PDK90h1|7!S4q9s9goYB@iWYxx|CFr3-tf<$4CNQmeS)nbKHc zZ!9ZzWzM0;&O$l2YAn+;4P7de$Deyrm^R5kVkK-=ytqtVVQp)#yu58jf$X;yrG7#=b#NY*Rcyp@H$P# zW$3wgHqXjyJ-f$^cHlF0CVIZscVXxw2^AKZNVsOs^jx4S0ZVO+X4`!z^ALG{gc{G` z+hb;7J6NSOPeCQsPVTzODe?S3_TH*J_2%YFpXzluDDaIhiIKp*CDXg`-vZbOa7Ak{(02v_96IC`3@OSp1K@eWQ8;+FDbNE9!*I1V2Z6?FlVSEzQG99y_3tB z=gxWkRJ>-FedPn0Z)JGZALkZ?#tbcLe^&1SnS6lfs$dd@sS za~(V0%)?9Zq=(Z&rzbAfQ^B-6UrB+bbC>u7tIpoe8XxYg9CacMJDcxQH@}PjSYQ5KtA%y@o$hgjde=5<@+YWUk<>% z)fmv11C=1VSCj`v;Rz-+E6eq85=OCJ1kUj0vDje*W=COm`2Co;o4?%vg?iN0ysM#6 zIT5TE5uM42$9d*lOoO*Q!UA*YFUFGFo(X;tY+%5rs(Q+etc`dhK43s}LJ{mQ3%`tX zDyX2vMGSSV(Xo~+?t57tP`tXHdIUqBy`*fHkl|4h=f^u=qgb2Berw(^(?fX7>SV;G zTSrN{7Hxh{N7VPE??%nQn?cDVMzYB$h8MU@F5cDAzH(Kk4a6xyo@-=u1mCfl& zuqi@?vt_Kx9Tt)4hhjTfrA{VfHgqK&6toqSPRf4YUQNwF^v4$wocr8k&@E0rUWygO zy{)jY39T8l6*L~`$5&HKpwgP@0=WuGU?vh_E`TlIv0C2MsmQ)GXya#Kx|MRfzU=Yv z+hoAm&F}W88Y@84lNT=C-jbF*w%6xP)#$SF@8@{-aFIWc*I;oK@(Mpqarv(M(aY`E z4!qv+7RbvqW*Wcyq<^8dzd+j08*TpfBp8F@;Q)4%X!hevccq|*T}J4BNalE=S$Ahu z3{S&2#V6at#Okfdqx%8w$sX>igAYJb33Nq#j_R6Vh2lFgf-Jytz)nH@ z(6Tj$|I%Hd8@Bq?aI=nPw)lwb5}ge5=Qhfh_ztWKz?dSFlWZnKJWjuLR}2*mw;k^W zBgXG?2y!1uV*DOalZ|K4)1wjIlYD05Gb>$YY|ofWY7=FIHU~3)qtP;oA9yOVmU9&h zV2B!BPSl`r9>agxd07D9z$dLl{@lm5h7L|1;CeNVlB2z1yy)64#$(AG zuDbhf#Wi<{ze?QY7({ughaO^v`Z zTJZv6iPJu3NoM~y>F_W4@t^U6^BQdQj$kMbI^|d6n&9>Z_l=k*grWAS zsA*-hAXGxFDGi! zIHO(iKTmvlMteu@E^$?I_L*V#bz+ey^()458L#7Mbg!EpBaz9%DrXi~=-a@7Ih4-^VK0bb=IVA{y0K4aL9MP=xMood_I%uaxlL6=Q!qY&J>+TW9?$=Y~z#3jH{vfyp)0aQ2{p{Z4g_or|zDjo0%$OFvUEe*)3} zmpq(JK^1+#i~yME`Cgoz-xQx53R#NTx$J4FCRh4_!=^$y(ZGhBC1-MD4`1zxZXV0N zz+2CWGH=BSS#ov5z+ehr=8HXB7`W4y2}a@*fQV#nN_nn=NGhYP#=f!+n(--=P{3QM zV1RFjHmV#`D=*Qcz1}m=9sW9q$F9Q&lKYgy=)EMB*zewy-0odMfI+YL=H3|MZxG{~ zCaYS=#*8jM&KJ6bE~6EM_q}BFCM$X!?~%%yZJ)qH0E>$j%Z@gv;Zjd(1;~vbPF0`` z2~oTgrDAbJLAJcNE@)D%h8D4DfgB22t}4wsdPiVyI@kIMFZ@N0YNKq+-LgCFElP^p zNoCntZ!Yz=DVr#^)xGIvIP6vVsX$&|1n@4nVKc}b(Jd(HDLQMEbC0IQf_5nw5=Y^y z9@X{eayeXWVT(7j3Ud}xqg`&5QIg|i$dWtcwOrz%dT0j#9(ooa4OIkkaZzz^gv%LR zWAX~A;34Ig&U6jU@$R7v>o&_NRXaCiYu?>7JyiD^!}XHtfrhS9tM6gP^nhv@eQ(L& zT#{36k^mT|7#E6@HQdp|{K2io7e}&Fc5mXFtdrj%w#*v71 z{#q?aheNQ7j;)X3CsGL4HVzLttJOnZ+)fkHJLA=$c!En%uQOZod=8pinrCOD48-65 zWZL|B(Tn-yr)2sWod82qpx7%nCI)^O=8n93ZLh(=E$!=f>ujKh(aQVu~z!Ffz` z$^HLF2{ZG~S7l-uAl`JF8G>|R*0+%owOo~MqgVb@0J{#nS#693a=Bs$E^u>M#?Ke- zU`gYyUhG&z4&l~L&x)6s?rm4j|pYy!1g%ZDda6{y!Pqv2}+?<__EXS%D zj#biEadXj&vvAf_GkDz|{4Fi+_Xe@b5u&$=9|&$YS4Ym*GsB+>bGvfk0^J^ryqWbK z9C$F)#$=1HHmpobC+zO)OLBIeO@FI0k-YoSN0KXBnjh?lL*QzAK{$VkQIT9B!vreZ zR`fTEg!VRa+bS|KnVO{}Cnb%9B;@48P-$ow%h&UW z$=q-|aoUS#GOW*CUMP+jk5Ojrg4SemYo0Re=Qzb^gjLtobZndXMdIH1&-=uR7wAgd zT8?AAaL|$!b!|@jKn1|;w!`45)ARuPK}rc&YiO#Ok6k46<6?}$5FG| zR5(QL&fJtjwpQ({(VHa-?GcZx)=wdZeSs~?c;fbadQK?roK#V7hH$t6ZDmsOk&cZG zQFNwOr40Rymw5}q*Sp9#QDy6-UIK!r{f%&c$h9j%3!dNtC+z*^tU58$|7~~oHD1>z zVrGa^Nh5Jg2<{Q`<@3a4*^)WwcWdm*lBb3p8T(ySRD@`AnS5SS3-UtvF|URMNQ5o3 zMNT;x_{eF_zQ%)j7UFNP0LOa&xlK<(kdUTbZDVuo^HmGDj{r3`F?%-AqrK1!jpva) zt1+;Dkld~omEzn)E>RJ8h1rNfYfs6c-b~sGPobfoZm(E@qXPSTC>qpPVMr6pQ;b~m zynE{hZOQ5)Q`)K$0=P;`Qk?CL+rrv*aYZ(Y2i9M`w(}HE-Ufw%p+Pm7=IoR04HPJ9&=!J~s~ec|@W_pfs2 z^XOkvz0;#43V_{6BBJ(>-|$Zv%KZ2Csyzv)Wq}?~3KTobeP8^nr?12yQEKV7kM}g* z1w8AOF@WCff?X^Y4vlU!EuZXpxi@CBc!fWgr`$1i-lR{rV9%8LXE`V7r3C&59k~ad zlbBoFxD+eJN~4s@a={U)O#NlT_=DyL%jNlKAMM7Tq4iFz8`w^utyIe4RApj#wrg43 zzozlQh5OtM4a^tJ&X^eI9QSp$J>Jo{>tQYZ&JhzZhSdwhIO2xqpi|__QfUMk+tSJ# ze6m-^3Kv?*&D0>h+L2GZF54&6)bj+_$0yl_dzsLSDv9#2-WI#%PK(?VQ*IWU{at&I znCNLITm;&4RcL0`r8i4$f1az3tq^UxW2$5C?wDHW^8@va*AtTpQ8uQU^UQ`17^_u_ z^nB9-CN!10dgAg8fOCK|yi_1f;9xvA{9{zH?lO{Z&h4Iq5CYI zht+@u?xC0?%1q&VJM7%EVLow|^$P!}Kg5VPumsm@8;P|tZKb_$1Uz%L%q4drR2y@^R=$MzWLGry<%4Hz|d_pUACn2?yfbrn|DJx+OB zy=51Y0(29-i%KFaySh)vlVo=rmJFiO+$G1ROv8)M@$tu9)u=>d+E`n`ma^nt-RopF ztl)N5s8c23Y4wgp%?ol-J9>4fEI3Y6;&iN`%NylJnM!eXE8t|4 z?sDps;|Ao~x99nO*uVcN;{U12`rDlF@BTmh3s;{57oSAu4Pejn3PpxT)}uU#3$XIb zzu?zURxnurSV(XCRiMmBLOw&T$L6>c(?#nDT4GQw`G2qU{9{z?i4k7PipJ8*c?)mm z+Cs3it2zi*8nDIzfku9&$o}>0hyL`iC&_Slq0_J&TU>MLwB_hBtcriNICTtjq{rmA z&;g#ec98~Rt`jwF?;hWf*DGYX(qzGX!Q5Yj?7)c&2JRr^gt>glll+Fc>OQr>nJv>R z!I-oj#e`c;A!KW%KTv3Ly_c1CRfC{++ko(t}oS!(7VutIS`9~dDjl-v_wu60)_E+X7VN~ ztb_gBk=GLwrQI=WdRzNoftnb|9)}+I7r!Upk#=yNC2{0<^4!f z{s;&9*^cKZ7@-7jj2iPTy_Q1mm@$+O;!h{z_X24aq7n#qO2_%k7bC4zk0ljw>G)1?#^1(aK zEe=Ew55hn9FDk@?mZAxqSKL#A7N!}G)XwdTY_2$iIoDt6NQ3N0R0)=EFx+Ob>qgir zpRj3KV47v#&CRJS#~{C-`=Z1I$?c&ohUe=U1(ZKEvhb(tuB9GK9@(#OM2d^!KuQW* zQhc5EG>gq%u6{^l3-Vge$tCiB73`{572vMh*qM z>*)yP)n{~}>huZfN9AHu_v~^b%bVU434P5D`cLshjK2MSoHgMt-C?J|nACYI0r3ek zEwSQRToij@zh;CmMLUwyY{belGh-xzF7}>Wc?O_)=av3@dw05xV3+A$(vM89EMusL zFE_ocfldz`UGG)omp+>=nAk6a?;I#TbwBWGpsvh~{(kyh$95koxa!nNbr_&{&Vlc9 zk2bvz0S=Tw_a%kEssP*V96j3)3VpD)!jsUjccuEnb6&lZIKC{Wia=OEq;HPsNa{(; zj@ZPs0f()+R}bjJADfG~y-9KtwMp`_Jf1DT;srbkJAYp2+#O0Fhb>d%xtx#pBN=%K zTnqNF_rq`9a=8=^G2RN9)#*=)>&IpY9wCLIF-hnl?dF~nM>DP;r@SkEB2$OPd32lp zNzlvT*?jJPSd&~`$+v#|BGdiL^X|u2lvL$=+hy~)ZC?am@?UN|?v+WMy!-ZVq_sef zS@9m(2%QYx+YGi&B2T$WizrC3L9v98SR+q|gofli(`}uFzQ=aQoX6F<9$4R4CEpC_hf&%04(R1PXy7Q~uX2== z+2C65H5)OR3^Ifsxc9J5S5iOF@7!@Qome^rHR&`D3#k}pqMGx_#(8-(nTTEHowZCe z)IfQ1A0AT5CBW`5a#4IiZ`FanCN^bBy5iZ)WCvq>%F~yL?&IN%#uKV6_vT#oY`4q> zzkyf;DhcjF0*Iy;@6Ii>50Z*48%_9%lIE3iq|V;fb)0^%UxuO{)z>2$voD$9Wt)+{ z;+yPFo*QmzuM`xV7Pi7&}1>sGWQxS;v^z?z%ogZTet}{ z@0tg9VhYs(DW2o+sAd70{~~XpQZP^C6!1Cts@VJH$0YXOa?~)W(T1V*kpkWfGLGUx zwvoCH-Ae*a&~Y>CD^0^16?bJsyx;3u)t>{1#tLWcq2Fs-=C7v&UL!)>D7yM8!ZA93 zX^(CU2d<%D{`guRRIG@X?tMwv*_7}cn~N$wjrN0U^X)7b@3L>mQW*NrNT)qbReBy! zEyvYcGR)}f8$=^1gFDIzW=CcaBK?}g2a?0rnhCMK^B1k_S7$DF;OB2Pj> zWWzoIDcj-n-@WMlUu^;~2Vs|6v5xkwFr0cz8`!Iki|QjTWJ=ZC7XPmxmq5+ESqS5R zZux9Rg3Kjw9ua_9AMaWGuCd$Kb8kxjk>nrYX+aq22@d#x=K%27``e=_4qJ+o!`@$PYQ+`82nU9|7c!Rs z^{pz@|A#GL1II>t@qz5semFH+P>>-Fyg!ZYat#0UhVuLipcyqMVxW@9qmHSQ3y5k= zAzzKl0&l`*N}@-Hu#(-n3NJ1Hz>GYFKPab9IG6-@yf{gfSX4|3;yPeRmj%Btq+buB zCEcbZT@@(kf>#O)2zM=|ArTfh%YMjUxx1PIX{>86szKwqfq|=#-7c4*_2nEo-RbRsIdgDL9~AiEp0n0~=+f;UNUU!-qSDgA`q=DX*>dTG*upO1LM- zW;E*FnVB~&hDyE=nl%|!s^d6G`Er3Jno?(OrWCdCjpIdZ31Q#$&m^A86;NEeGuzm2 zQ4lP&X9DA6u`F~B78ym0r%qiLJjlKgWGCHH4||zKr^;-p9N6f^r#b6R zY_sas1A^PVO8grdZsp`eq+UEMviE}vcwe;sChPFBbL6JUG7Mg=*xiFJ6t}HG4Ia*5 zxMaCClr2ZQR$Dh$>8O>X+9@H9jurZhLaBcjh5C9N{uoj67{FiP==_ebYFAjh_!wct zH1U4jm%=SkMa$J1d_a9fX)oFaT5v^a>&Gep~jTZO`g@~V~3cD*} zXRDOOYyyzzio9(%7`Vi z0BI3gl;Hn+Ju`i>s=Rm+2qT;{_1&6RpY0J?qLp2xVj6rFlj5uEgp2vWq~jLof&B%}gCR(NC``*Vb)mtbgMgUSQW z$cVNViegVIdrunhCuR<;NXmF*GMGAw*R*Jugr|3R@f@GiwqXBZBzY`^obgS-?8xFO zR~ss~&c!Na6fy{%>S;xupdzh$oOXc>(ap*za!O2TC*3(7t#gcS*BCr**d7wB&9qIL zZUM%oA4yafZ>80sH%SM{x=xyghNsZJSa`6inVJ4R^M0O_S;Teg1znpBLPQEfm6bIPJFyZ(7&!3kUE=%R4+7$>+8P3b*)WG7SDjY97YY$8v zjC8)g-`DFJ&soExfp^y&f{Qk;$Js8VGPRG{``$2~@Cjq^>57eg(@{4&=tj1S4s@0G z{_%*5?v=$kFT(s0k9ZSB*LscZ8OKfNeU|VB+4gMc^n{gY>HKBXtf^n&(}TIqS0vg+ z4DY-Sm_1gNX`3BdCAWDC+TyyHRBg%rLcr75S+eg~9uK)g_*VGgrUm8!-m@witZ(v} zK{4F^KykJ?sHIjxw&`G7o#;)r-=hSb(pxJ?K9ZbAK8|kmqm$EYkJK+7?slYzX|k_1 zloBs3HDU}B9ZmP72{S$&|E{AYQM${4ivM!FJp5iR{~X)yot_%AZ9hk^{^R}qirxGN zlJUO=n*KV_w0#V0_Ta)kxFoJT9`Cim*(3KQnr-lDEG(4QcfC}N(NY+EX<~eVt4pDH z=Ymx?E2#^;7J2xIzTdBHj0eb;_tu!@IgZ=e09#8+Md+ZlE?=$MqD5yfqU!k8vsz1+ zh*!~2BjfeUiZ^VzSCY&QJ|vqSa4qaO_9d);N<8asgzIo%0K`jBciEk9eF8oj>4_-n z7rJieC`sm)4csp~lqRwqnx3%m)G9njWQ{DVaAcn|Oz>ZJIYZQOasTxtIkS;b_Yac4G98t_y z(dgkNc{TXReELTcPIMF^^Sru3*e*gDcLr-o;mKUFXy>n})#5Ej=;M}eC zg@*&JU@!cNPqKfRpf=*fI!kSp_%QX%_>OdgJryRyjh1X1(}4~JdF(nfqJ{8LPP+Ql zgUpfvA83|K$+?3Lk1qO-CwfW2QVDa09OwS@;M`>vS9gvt)*iC3AJlWCOIV?9y&`u!#MjTsUe=Z&`Azau7k$5j58o-r^0hOk z6?FBQw3vYHmA>1q9$P7}ceY!5@jGBl(LT@AZx|O+T8owlV6BePc`pig=-ih?8(35% z>h#9H^|`r`Uz;dFb|GdxBLh41x%>M2{_x}XJmZLGMk0DChTS)DLTx1)Lq|%wKYg(L zyxc>~kphd8K`1iS-tcskdYtvlK(N3g5xVPdqh%^n4*>RTQej)WU$7U);56Z7+uBS( zZjJ}nxfIY%gvwT^?Uv|(y(Lu7-0HVyWDLK2`w?sbEp8(_Uq)!~K61a1I6KnYF7?g5 zV?Phe{J)kC{=)7 zWIds7AQD!K({Gwlse!C%$Jk^$A-G9mWbk z(Tt5lcv$I$&~y2PJ-w~-s77BW<2nm`>$8acVKFY(yrpEW21Gnw|76HLwzxu>ut8R9 ziCM689|EG~G8di!>bbPsqj@*U)6)7iLlU7vH+Ko&HWj;^^r$P?ct~ARalc$u`r2Xa zhRz3s^C1kK%JQ)(qnhZzOL7XNl!|C{>!4GZ$qkQ~LS3mqExEg6caLc2tB$1H=XQJh zk>u4DU)wwt(OkQMo4iZ?78OerZ$=cHCLk^`<8?+{@cH<(nA9iAirt-ZCz+S)o@e;R zx$UF(gRW=9gJ1Yxz_0&R4&JZN@$VWkem%K=?vu+9o*G@T6*~QqgbflxgOCXzoGf0( ztB3ZxxG0?}VIH4%ZMB(8_fr=;aVE}@#Y6VgbFWuVO(yTFsJt}s*{d@*aco=ao<)XZ zd^|4Y>_#x9(JWr!rhAY_;I+^mLKc4{VNgpTTznGmXKcRj{XBQtvgM%`0r~^32^x|I zyy-dncgq3m1N!e$OvIK2@;%>@ua&Gb*b1S9q>PRe4r3{A^s2=dv}4qJ5YVjgBo8{$ z15kXZ44pQ#N&oacLk{^d&UI;F<*=i*U2+Al+t*(zhQ;SwS(9b4S%ut441^O>cZOw3hp} zHk?%U?d*pX719Z}oQ%Z#P3`3`q(l$)hbhN?;(Kpw>oqc8gBd#p(XrKeh&K&prIgQa zX|i-R#|rO~n{wW3MHsR+#L}o4SSu}lM0Gj`LnYZQm%RK`b1kz_Uboy~y)e3T{RgYv zzBgt6H7J@{f%HTG$Nj+iV_Hx+;&E+pC7Y>TfQC6_=qR)le-* zFUZDM=7@-1%<4GEdWyIx(Tp(gSuLXJ0eg4DRg=2 zq4Dl+SVP2;dp~qB<#ck*o-@)VL){GxFyr}bZ@K52_LhIkx&KP`|J-E%>r4K@^2T3Z z&=0;K3;@}$WQNSG%3=JSLl;iTDs5)Gt6pT{&rM12fbt4%O{a8XBc3#j$KUZf0cG2keY<{?#;V}F?$TRoPYCtogRDSFO7N#hn3 z)h&lgqY!m%J)h&+FCShJ0>X1F18(1DtH{#yXmriu^EIoEcs0d!+5Wc+CP{fN3F59j zN~ad}rjl{a#+j|%6RB!J@5^#&rAFkH(rqk%OsRiw0Q74F-Hk_dMaaSVt@HVXT{@}C z!w^Fc${Z0k*OUC%mtFK& z4&9Q=87>#=6DZB#yRn1jE`cXEH+RG=F^-euA2$6>pO|ymT><`bP9!NoVnOaH9n%)& zL`@g=+5JeKekZ6y*Z55Q@AXlLyl%Hp2MePY0SQ+N&YI5a*UICI5drHPS;l7IYh#*s znJI9hH?TPTzF*zcoY0Ich3qIphuA&KZ=Wh?`A{tuQE8BT8?ToXAI0SVktF#p5T zUzQoEgT=Xax@p5jU%W4Wi+#m*d7|*Z<4P^3gM2eQdc^%W^xOM!bkuO?p<@ELOoA~D z6R##EPBfDs;L=-%U+bvO@E6urxyHZZC3-pLu>>Rf(1Cz3o`lt2Z0Y7Zx zKPe%;H@fqu0}r_jMAa&bRS7eG5m> zQou3UX$k1_HBQ4oe;?WZjYjtL89;Z<>%-(KJAnX0Q!h z2{}~v&ECr)**mi7;KHZRE>2eR=r6r;qr-6^un@c9q+~>$%{<6tsI8z)Q(_ns8ehFa zFarhGDs(C9^I%7UZr(gfepO_GP)%28gw2>Xs|}u5ZPH>^j-gdp>}7M%3KR)BQ$gI6 zHxLaPz+ z@;bi}sN*2R3rpT{v`3n@yR9O*Qm~xxW3+Z0^Hiu=!?7-S z{bk`Ij*Sr8xzHUXq0dd3D*ufj+VF@29eWY@Uzu0ej2K zBGf%ojl~lcQ?~hYPP=y}e^AWJeRhmQ2O% zGV|=d-V#QqE-B}93)wrA3(-fPXuet4rV5wFRyOP6ypOdpgG2mqB|4yw#JaGLCmWxEuipaq;W!wuMjIsOM4KI;$t%|W zUn}|78%vPdxM$ojRY}#6WItYYMw1iO=NWW+bn+Wo7`2s;M@`r@7#lZIpnnaKe4^x= znwIVXc|?O6cyx)%k4C}3*5uwGCUetthYT0M0EY}VHb4q!F=1=VVd!)`)1Y4Muy|hB z)}^L5K-AQD{cP|j+jC9eD)yC(ulC|PMSb-e??nzCx&IUz^M|A0cTDQ9U{e2s59k$L zRLVgqo@l1az4zBoP&BXWtkpX9F>$B|p3XyLuGibOTI3bx z$#x^oX0xi?A3Xo?EFp7)Ls|xa(ntlgroNtpvEm=@F1Fb>yvm-W=@^BW7|zUZia);H z4DZNd@`2G)n_ia-&E_}d(4S_!);{+#^LVotkOi8hCa;91^wY=nqQ=nM%EN>$gp6>Ym76@_z{qHy%=o zdiTjhlDgTqJzL&BPnc_;vP0w*XURK^w>nGR-g^Bx-;0db>@QCHN_=v%!2=2X3-QMX=r#_G)=l(Jk#{IMavT6&xhOP#?mC+y_jpo|SnG^1|TIb~Zi=NbL z{}BG^_qT}=exEe{KTR466ek~Fj@NjdG}rMbgjT<7QLWTheE{!JHrhNKS33aM5YPWFJVuMbeq-3irkm+dl$I0=>1G3a|W z;a%O3FO**hUu4J{zc604;v z5$9FRRN~d%@rq!&<*;N+H`rE)4$Gc&1`+Je@u;!LfyQ2c(`Mnu0{=)hV2bEwAqn;S z+^V`!uzf7WG<-as%k}CQ+Gn6XVDxT~r$7T0ovicWnqA@E3fR^AJaDzScj*4U=O$!8Sc4)$3XRyY!s~t` zU{CUm&hjyIowNZ(^JZP`Mv1+%`uW4VwNY`kx)6;dQ$;HA5k$EZ8rEqM<4T->JM z`nhWt@Az_GoV(`pJskvta{nhj>)-iwzv9&ScP!|N3Siec;5PIcN{-^O(A5`TC;-6v&mY;jSo+S<+!JlM-sKQbpW-0y~_Z}oB`;oLw16Z+=_CTGy$ zlY>uZ8z9j&5}pp!5277*hea}SMBMW8FMkACIJ{69a=YqI!%MC723h_w%-*&m*+)>e z<%>CRkKY9Q?S7trm3{y7xp@k(4Hv^V^EP}9R-190&A8k#4-@UNscU8Go^N-Q2QbCm zuI8JmM8pS5cR!z%$K5Owb917VVN;N!RTw*$kct_2Da^OF=4fJnZn#H<4tk+dDHNL`ZDJ^c56g_?uQ z+Ox{KJpZbuQlBW8^(_$U_PmB#_YT-;`mlSc)6g&uG#5Kt;aEgf| z#v%r~z#jPr0fwqo^kKp0WxuyomLoUl<6;IF@USRAwdVp{6^6~&(JOW!5*av0eczKj4Zvs$sy z9^iC=o>V>`^ajT1ECLI_8DOvLA>@?GmlZqmhl;?=@C&>Mr}pYW$R3IQ@;aSglc2Q} zCF~6y>mt!Z6OuOkXbcflCdddD!>{xIx}1Gg-F)i#>LzeCNZKqg7A40V#4$lnx^b!=i(d82Ic}C*l^W9=x$88hE1}ufV(h!A{`h))S?dW5vPoTj`0n5%KfyZC$O0R8|Q~?^zhT3!9t2L!!Kg z>iL}Bh&&@=AOy#eEftr09@I|Bk8!z!bi zScQ)jZaP#|S4lmPdJ~s6BwOhg%bv|(vf3$EC@2-sJkW2F0r_s0jzJFCLYv0{t7_GGBOye71?%JKea2$p(sx^Ir5#i*3*+Esn8q(l>cMqK%s z({`@}u|0F>^78Q3W_`K@?@U~fZPn*-vOVwDN$;MUOrUaV^{NSt7l+-xlcSI4P*x@< ziHQpf6Y=25W;(OU$~IglM*Ex1mHyjE^FO;TJ?#kwuC9z9L!fq{ZDj{;v;mH53RADT z?Y#S5c0Q`SKd~@5aU09~pin|4r6!6f$tug=RE&?84h~cWs1IP$0sGX`jBCPM9XPbw z)@iEQo#fTb^??1oYUQHAV4>wk3&c+LyN7ZX#}qfh?-jj2IQ%C_pUwJ>^rwv6UFu}j*mi5>w<>L#k=U!ALnh_6veYcn2k3E zo%7l#slKXDIk}0sIK3iqlIf|su{Z@Wp}X;AL;KxKh;B6HU@eTjwUj82gUy8TYeTB4 z@^D>sliUBVT&3Tq`Cm@+>M1+A*hVP9A@NNqnkn&(SMXBHbhq%VBebmH{`}(^u}GES zwHJ)9c`qotTsihFpi|tZH)jd=;v}SP7zQ#4`C&7MY}(vE}@{@`u-mdbwq*y5QW^ij_VaQ!${scvbuA$!`RA zkIT#Ilbx|FUOH>v2C?pz^f&V4mcYB z;steo)-ucwup^L=KFLfW-*RXY)$pyz33yOem*Zt#)yW7?w{93xka4QmN)DD6S7Bio z>T7tZ1ekso?*Re`d2IE5L^k}vfbQii-XSAO>Tn0Qg`VuYKqQ!(+KkAyT}!O*#N>me z8;T(5BJU+&yieS7z%j(vJIgEaxIu?j8sgAW>iu8`&GpG%jcPtArD#+wak>WX6^9Cy z_cM#-4KEUXga*wBXfwjV_fRl9xg0MAOj zXIHtcVF_@%{4@sd7{F?;@?QIhyL8y5J#$vdffn(>jp0c8mHX<&ZL{#hQfAzV_r{Z5 z42oi{Xp3;xyiIGs461*)R{r%)I@36cWw_qkCb9 za(>OTn}cZtY^6X1BKZEz7!EHyUrgN@99s5OLJAJ`5c7p1bseOwnN>|i+-P9;6 z+R<)R#!TDJhHuU&;yO^6)3J5#%S=xs=Gjn}enuvrKjd z{jX|pbY5u~6nW?}4luln89pJsviMOk{N2u!!2u6NGRC>Cv5|BHJc^(@^w>piZRltY zAY2uM0X8?&09JN`{H@)3*;-?sRi&l(D-?3%&R|QU|M|5`!gse0w>d~Q57sV^)X|^B z0xsKYht09t-v|J~cNhL}v`na}N<6Z>?zqzAd-xY7g|hkwZ%KMm9M&6eW56qQ5Ka7b z><;Of15($Kj&B6vH1SGTvxA6tLRV>Xx`xv6F*#W+{q{+c98P9&4WvgMC*ZWbl|3yQ zz$Nd}EZ#olKKn{Op4F`W7V%R?w#4PN<&t{p;fq)kxvG1K45?yTxzI;(4KX(^Qho)1 zu>3WN?>8hu+CxA+r`9~ZH;AzVoz zzb5ySfZqTmj`a5V#l~2mVeR-2WA)Z?P67>fG3~PN>+);Fl2$Y_iVnOqW*MRkpNi{o zaSA@9Y7@D4Md%VRKIrPwMkK>^ zNYI<}31L)v21Qbl8{->GGJ@=x6R$lHBo+Er4@nSEQQX20kZ2Mw@HYa-nRH)@ZP$8> zdwF$2)4A3DG*e~H!AgnEog-P zhjFtoPVdXtz6@{w2+|;a25GFC4&@0yDD4|H8Z6-T9NzPwzz&~1tl0P873FYArfxL! z%X8|=+=pg7ZbGe`QBRJ^u*oU3efGUo1f-5A2~fa>;ZYd9zu~n1O`5bnd%yeu9D4xP z3s!!9%jEnH2;m5GA8#Tv%=PmjqI6)Ea>9A{j$A4a2feu!e~gHVbh-ZBBS~rH_{2aF z@BS8PuPK8EeRe;hy9FKihwyGk7!UlduBY&@>nvUr8gRQfcfF}Dm)F>BHI{tU>l;A@ zd-Jtm+*t1_7Bcy!9*sQuM_ z{y%ux_8&b^}9?j7L(Vy&KX9>Mvguf2bAFBk^vtQ z=1TIiQnO!#Sc9`Alnt%5t~Lxu!$g~AWMSPr3##T-*tV;_7FP;Ogu>b>%h#{L?=OoE5ho<+=hqI(L!8mnRFuMG$Tfl3=iUw z35lTr$8c2OwH9>L+*u}XQ`Soa)eMs#SOWAhh9sfi2sWdY7A}uJ@?)Dyp30H9H=TdZ zyqY4iM-G`1DpRH%EL*jI`5VD^(N7w)yoac)OR5Kh&q;WDH5kyf^&QH&Zy#dJ(h(ba z$EYdB^5<{x$26Mo%oV*?S}HBw_i6l_+Kh(nNsf>7y9_xcO$_~tGz%)1;PZ*NCJBKe z(%qcq_3y`kV6X6U6d!p1mdi%&d$)d{50h*WJq>S&G3~UTM?32u&NL%jJpotE(|_N6 zIP-ykS(8Dn7Y!Csa>8_~XbvwWF&oBOJcFwCVEIg3vEgL84Laoo zp!L_JhU7i>I#7dcQ{k_lY*o7it;VDjtIO}%7xl1*?kyP__nUibF9S!{oqO0p~U$N z-Gn5)fX4Js<}A5)KjxLHRet6ztIr);e|-^yQg$%gKYaXsY&aV!o>Cqor z^@i8D$)I!8T_`+D>f=(AvNWGFD2Gj1LgY%HYYHIw_b|D;7_AoDhH%WSB+3S~ajTdh#%X~^3U&l;D-k-Xs*10oPG zBX2BR0xr2iq2}u$7nb|JDi@j0V6LEH;CdUYoGf$O{SRF+g#ugk9!-JDT+-*lF8b%o z8z5hvb{o*&yN&rq7d)Z?z@;lO_+#(={hf~W?lQ)* zF6n@*TqF5c``bNCP+jiqGqpl3?(80 z7Z=`|Jo?L%?q6;uf0LZ_Px~3yz8W_?iQ6=PvZl+dB|p-^#b_G>bDZ9;=+~It(Gu$+ zMVF1fjisK>tk@ISmb=n_pS`{1$qz{MoEZ)&@!cXQo~5U;e@Q3@5noi0FKgtgFBi{)RyO>zGYsK%P_>&&pXA z-2FJDy4HCi@`+k*_yhg^%C4^|B04i9aD9ZX1Wp-vgEbfjEckL*CrB1nez}oVOc6OS z7wZi&C1tqE4ZC$;S3bP2@ddN}gfhByd0O06K^ zs#VBLLL(RW*@SiWW>7R;Xxft*e!5zis`LKJ)zYnMW@- zF(~WB9YQ=Q1FoZypIOxjoIQe^;_})L=n*lilgWNpe<9UZ^l*x85b{zoCN2vA5YM>b z5^Y}S;j7*~5}DG$t$P>M?kmFBDuq)g`s`@>{R+IUOd=-^L;TNz0*ZqspNeJEaZsz1 zZ5OrXE`)0N$O81U1n)mFpL{Bw@m|>e!$ghVa;dP)?3iw|-AHpRvL0b&UZ(5fZ0PK| zu#2S@av|XqR4adXa^oX=3GS4$W*3YD+*4-MPYwngUSX6{k@ko=OX>w($L z6HL|8a6gkGgtkZi4T|@3Q2w)4--hBHB|UAf$YN?Nz>j(F(4v$GqwuiQNe-gMDYLF}$1eT;4%wz|@#6pcM++Y?WWu^^ZEyH?2b^F0-1(3T3lru{S&=(i|~ae2t5VI`dBRiZa_|^4H=xZ{veoJx}QVnt%2qNCS%4_O$1@(W$8_)^XlVH7Z zr7MW&29JT^#@?(M;xPy7Qp4SrGp zDP|-m{kXhX;)(0Q3-=~vdm``tVN^lImS~&hLfTh^1V0Bs#8=IM?|PJUE)b)d~sjyEu5QiEn z$KBIhsI=}~2c1sqQcqg^1leu}O0+I+A=Ro%f_+ET?x|e7c2H3gG*6YfzauzBpU3Xj zF2>uMC$(?UUD1Z4R#?J@tLEUQJH2{buf@(7Wp|?ue@t=0pvGKT?F+vSap}ij`Nhf= z7(`1sKS#q{F(`rKKf%xoEoSJp-(g2^ANk1owvd@FvB}pl5`9b)^`lko%c~E<42X@q zG4T%*DXhk)oTU8x>nhKj8_=4X{1gpbebpv=nFE_MX{MD%pWER~LRqRC|Q6 zl8eEF#kLK-q*>-*w=`2|d#jcC+$5#IDWWqobN6cYqdl*2mfSj}oFhW>=in*X zJ)ci23c(?z8RIGLm5%kY7osh%cW856xN%!WC-6Hz!DsKXB8$I@@-j}w%na9&p8U!A z_P?QMlkvpDzLTJZB9V&@xU@qcfNYu$g5ve?wFJh8v7B6uK9&YvH4&+CSGB+&xI8RJG~4 zHSqK^oScc<;+7)$LqQ4|VVEo1@-SvN9nRRugo`iJaTdKdyt-qI`m}Q z@;vggxULX6uA3Cm6WrZjKttylRG90hnbYAYTX#*CwxQqsp!kosUBpv#K636&Es7nV z-8S0n2PbJ{M-xJJ-vq(h+T% z{pBrUq%vKMDxX)2Gx?$}N^A_*{UVOzf5W=?#ZmKb`hu!KuK_l48Wb1b>^(MCA((I! zw!6xN!1RS3>*q?T?49@-Jk+s68H7bGJkv+!ILyY*$G0&0#=TAzE)E2o(@)L%25R`R z4I`;N>nS~P?G^{jb6s=g$9|%51xZaDNj(c3bPTawrkH$rIYH@X+j0V5+gnmb%Wuf- z_vtSGAUBb1Q}kPf#iT3_HPP0EUvu#eMkcqBmRAi?d1^$ZLcgyoaCu-gt9kE>NuCPS zUnWQHno6@kx4^rD=^xUI&O`4VW{l8XY~;j-X28x8zots3x=94aqve+Ciy z=*Umf=v6m1qYXNt**0!=?Yx7NVoLgMwb6&+M&K_`2!nvYA~{&7;cSJ~{(zF4;%nYA z;U5hJyMLAr*O1_ty0H0e12i$fO>kTN0UdHLz{Q@zxrvtF)4D);wHV!bjZY7u3kCbjhESP=Q+;HfDM6`kuvJhnGxv2ga$Vxb0t0-W?o#v?r)xBqguHkT_Ft59mCT z;(MnSsI~*JLHk2WHqeMEmxY^AI_*^;z3Cnep2DLpVs-9v|1m1xxU02#JAZ zRNfs!c2)ZK*6Gn3)<#!~xcM(D>FSgFofHR`jGhBVUI!jrW7Et%10p=v6~1sADOEjxQ!!ueR<-6%)ui-fe5!(I0aHF(a4 zw9Pmsj9(F=B9&DNZ<%#cb3MeF3)9J6^Nk9ilYEj#cJFgg9<_4X4}p>ZdZzS011tPu z@BZowuH*+SvaXBm-hnX~+FcAyI8yg4AE;|T6_502=nC*0qM%1)XLq!*Acv%KE5*$o z$j#V@sW7~h&C>@Go*sT9NKnEt)|=a3+(`+=)j`fzNtm9rcph#cu|c@v-a@es9LUfu zq)S4cc3e|hoY|WrN{({dH1968km^9uND&ua8mEsX++rxTIm(y|S8Gh#|rzgbFX{gYki%jqa zm#dHl0|LC8aOkk(f_CUrOlv*RYz=E}+psHDp3a=O?I~b#ko~c*gD};uplQFNaOn2< z;p>$Jde!Dtw|~aL{;1( za3d-nGLGaoTf?=kppxSS)oHFWIIQ(Fg-3HFb^yqcSa-C2W~1s1kA(J=|B!_i)sw;a!mxor~$#;sC9#2$s<ECcclz!U}7R9B0P{OV@>btK8)HydF5;>{m7 zV_!j8F$N2lw^YmVy!$%Ra!U1E@XtaTYsZfZ+QEyaGs-J&`bRBn?DI=2ib1(1k;Dqr zm1?#a8mZ%cax#Dh>wkQle$0X9adp#tcyRSQz49?V<$68{$j#W4d$Y(*ME+xBt6EuZ zZd!4UrA_IOrGT1B&y_6{ql(tu1dR7NT445%mo(4|E=~thsjauhIKg`2J|KEYWkDM7 zc`)^-^r)(!;3z(VTzTV81 zOKBVr!AlkGz4JMk672)%+Otz9fpyha52vW=IW*s*sOrJIJ%h}*8J+jdWAyQImfx!})`%er5m1V!222saI z{M+GW!5bZ*AUF-)5ZnS&g~qNZz>&$6)m@DDQT<`tn$wu<;14dMN{;;%+SC$~&tsqB z^j?q?W#&f9-C26+vA14fj5lxEjJrC!YhOd`-UJaVyk;A_g%A%a~ zG#(ox0{ce0sXl&Jp~|Q>Chsv51ZU#4@~#5fiM?FB&E-U-Cp3F%LhEfRq4@WRf)?|V z#C)PceS_;UX(@R&rM1uOoMi>YAM+K+a`L6u-DCf7O|}lao-F>AyI|{*f0lgmLU3Y(<*^m&JD95=|#$jNo;duJR9xVM2h44{R7G*! z62^9o^_^c$t?EdNKmq%=+Ee>Ir1R~N2Dnk zw|^%);0Xo9$yJx=%AfHYPd2z7hCH^go!Lr;*iSp|Mwo2fe|Ga`Aa6~G47YCrr=#kC zY8&-EDazN6)zt|I#2bd|JpRsM;x`*l{KbbnoCVsiOePLlp11FR>NmY+9 z*l=?P(m_Ri)rF*S$!d z)FfuA3;qodL^0uKhgfgv9Ru`;E-reRdTJ{)aP;sAW;Q$5Qd6*Ur=r_Rn6?W==2#vC zO=T}N%P4%qPj7nT)3zj|O8tjHHE?lAJdlL<&uUHok2VEo@sDv)OWz0r8*s_` z)+P}cg@TK=VKWngoZ0zhY8L4qr=488nDphD)Rg1GsU*)0@t53XP4KfLeU{oV((8w9 z`bO}{AJV)yfsD@Zk)Ub$(sbP{E{Dn>D5%sDB3jQXc)Jl@?p%{cVOgrm!ck?(;&Geb z`$XD(jY-sY=mW;v#&bR8kBwc!#ykt|jgJhB?|maj>A|CUFX35f=7%ADj`Lfvbr+bd zl^*bv8@fEEE6_oU_c9WsdaHT0kPuG9c z!&4i4@9-e8&+zjfRrgprZaXzOR5m`gg{t$}v*c#^wS>00Dc%tBCGH7P;B7+} zx)%B~^-JqM&1xRZ6^9^_S^6C2`?rI!PW#;ry4%90a^acnUAo*KR~woR9w?Tt;>4+6 z(Q%Z!bF^G@57pt<49gFrT+y>S5ZDU5YhmeoAHaSPKS4h^V%#?TRXewfnya11#4fn$>4VsUI=;MjQ5}?IXDsQvT#%7#X87>5c|z@A#bKXPH4N6P zTQ?STQ?%xo!_SsU=n4=;iti4XY&9H6JxQZKl0Ly?DS+N>M+B?Qbp_#N5#ahbI^MvE z`)|!5XJXnc?r9f#)9Ml@H4hJ%ZauKof0Saq#HZCAN-D-b&_|kC(nDG%a?gzMns@DR zozvf0pBw&{-5mXlsQeGG4AkOrTcD)%vsg2z8T>d|FSrAjv+nh*3b|BNq`bceM{Q8w zg^MHWgXy@l?yugCC1&KO*O~Ae7+A7AZyKSV=Xda*7wPbp^@?2M6UC2YMK8x|^FbMtPSHA6WpO;n!vaAQSN1 zZ#*75F&hzeVW~d=%xWfT?BL~9jg%xcoxn}OOuKAw^K7nh%>}uf*lRZp3%s9orbPl8 zt>JjA9E_VQ5m)YWca1x~t(c!@{5XE?pv`BalXXvMZM8e}29p`_dDEb>Du&C~Ug*;b zsa;^5%u9coR2S8kn}*TT-uMR!$=_s_@rw_5nC+c^Higy7-5@|1&PJblDMQXEiQ;)? zsXVD~VPU4f%EddQr`NR$Q~*1H1g|pijey4>621({71{+*{2LNd7JQ!Kp)|yz)b6VL zWcgUVjzMys+x^7MaBe9(n}OnhuBVN%t$qAuT~fnGBhe_YAE=l^fY5~=zOWaE*A+iJ zRcLJ25>36KK_|BP#pe`mTG1Un{5+8pgu=rc))$O_(jDU4_3zT>LS2RI`9$ z`%-5oK)i$$xy}QF>;KWS{2v4=S2Dj5B+>1J9M3t6 zlZ-!y7O%-$@H)_aZ&WhsUHhhG?W7^7b=vX1m^UrM1yvEn`K))#tx zgVM|6?&F}_#?p_aiP8uN0TfVC|KD!J|JAm6i3s2(!80UYfQ8V@B#|^u)%BpF>c<+z zA1(5bJ(3304m39*_Vdd+BHiYS@w$S{GQJ-9^o&ap7Ytn=-Uph7w{1Is*8cl__nhq$ zxYL2V)HebT(ZyLZ=RO0?8v1md-p*yOn z0oHx>?IGLNK#9*&cYljRx4zLs%yVNl#+U2FTlF@v=}1u$E9Kr!c0O&9mv>*wT_Q8q zN%9YhyEGsE_zU3r*7%f8M8ewrR^K;*sO00hYOv|q#RD^ye!GTJS!FRKthkCZY+TUxYv4&&pA5VdG) zJXoMD4xgPI>F!_79oId}qd2JTGXn^9z-@XpcdS@9?Xp~r$E~yYvK2`$zY#k+&`mgY zDf)Gk|1Zwpe|AV4{Iz)1zy9W~x_Dij`U+1{6YVhr+QEIg)xv0B;>I)R&^1nuBqT+r z+i_9-`~3#fm037TP@z@<>pXj>wwQBfgdC?*Iy)N>jX)3GK2$(Xb#2V`8A7erMedH- z6=-nmr>ryYK+064;W*d z9zE5vz_uTPiNM#nK@QDZPRVA&a%q}Nm zNir9b^1c!HqtbHIp9)`pAFhvqHUXIFuU4nuq5nT}`v1`7%&tdf$T6_rXa8>SfavJ2oegcN`L^lvng}o#m06iYGcyblL6tHnGxoM6iEZlL=L38->fLj0F zE;nQ51h(dC#zE-ZXO)_Vus~2!DiJ^SYW1)$>h&mOqsqN_el@Ijk}4dwaWWs9+p}JT zu6N$6U2B1Nsb60x?lg1eVfhyFB2xmq^f#R*_3c9N^NXqdJN zik<6^J?6x~+B&%bV|I42FLw&bbrIg{*01(!-rJskX|-slQme(5k(&MFo%g8+#mHAF ztQ^ojt6mMf4w8PKxBC${{{MnK1;emv*+gIa1YUbHO>9z9!U;y-H zm_BMvPC@i}Mt%iG&w#N0k359`sHH@OeRYnC_7oV;{zkC#8rY}pc0OP6ySQ-tiv(Nlmem0A+MfBXS7w=?Y-x6$JE*Jc z4U&V2X}G64pNuz6FmBLtJ3q{ZI)${UAX$KWKuf3h`}!N0l#v=CK&3g3J&A2_OVubp zU%MZ-@>z4*op!PtJ%10-NZq%6>!hZtMCywmD=j#?M~lRum`|?*Pnj`PFn@#ljZdK$ z)^P5wP|H>JljNG&V{5&(SGn7!ZXhE=dUy}_@G5csdW5N^X}#5;ikG{CIN-X&9?kuc z0npeki{f%XsY#czg>Mh6`-Jt)n|OKm??3l+ri#wlseA-N3s90T zroPOdV~qi&Qn2-NSb()?D~F~|eX=J1bGo;G{oj%qcQRGaU*M*QSq*EM81+sp*#}n1 zdJ!OEJ#VUo#lr)HX&%roau(Z1iflXjseu`8YA9Enp{M!y`*ymiM)qIn+1TcsLM zpPZfzMZT~ImhIqTyfI)N+h*yuaG?+?xnw&j(Nt=l8)WSzF)~?_Z@TF%7*v3M!Iu|Q z?$mLH>-?D~f>J_{;>^m50Qg?%h?0_1kDQjDLRLPk%_Pri$?5Qj(!+{1*D{ZuY&XW$ zHD<;nh&4m~30j&cACN~AR@aTF{Db(;Z;Sc;>s^+r!A=%lEg6J`<7{%9XAD12ODKS) zxiuYkubvcMACTsLYN=t1&|c4<7KEMa^Dqva6BbanQPO$!m2G*2y$f*r#cDdB0^T20 zL+pF2R~0Jb$Le>C*RK>0p^jBSvP>5&9PBx1OwijkZ(|wXXO?t_ggm$~a?baXMbU25 zX-OAw5B&NBl@TSR8TQyXEG$5!j&J*-nD1$Y*;NI~3jnf+jy7tqJ)`>skJYUOjloAp z4XRcePT+-?RkzQY&aie>i8AS_z+mo1%Nbm1+V5*c1O#(BRL?^TS1KKWX-pr|r1P&| z&3`yU|H0Y$fATja6y2D+^$e=N($k01I~lEaD5&eQR5|Ijab34=R#Ieg^clDnobg&e zyNO<{xkWncoxgQ{;>ECwna;N+1JAM`z&oXQM}y7u)J5!pmI#Kw%Lgx)zE+hoY)ZQ$C{I74Rf77o}r0bE#azc&p7WFC_g76H# zJp9v{QUi-pyrdmeL2NAGsn(k`q<3sUXqsNLzp4?nYIm%w??O=iInVUeEJ=V7G>CTr z+QO#jsjjAKcCYBUxMuiSarxmv+oFR2K?=p{)d?o*PyDH)$(b#bYOQBK50SYrs#o|w ze%fhC6D$AtdRx)%Q}LfBE3q|HTaA!Egt)FM)t$FWSYo21-@FQsMvjS0aJ!#RY#rp% z7v&1*LZ^xZStofaoB4Z~YRUrs_yng=q-Xft9sowVx7pLJH?@8vSWthP{%Mh9%+O7# zi`kcwnpQ7qaPa>6L3*ZokS}C8{J39%@@ow{mes04DI&H7#sFLuXwpQs&2Q~KuvGxl zs*=ZKWVfT8wN?^1oUqj1wwG09^`x|)^-zE5q2i2`ry@6_kBN}nU({K#_^-|%|Hk#; zU-qk)3=R(T4-9H(s7cAo$zQ1yR9ENAB-u9o3Y@1`zAkCuc8A~+^JzncZH9dU z8qJjVO@hMNO0y)b!~?8{@gs@zR3jcn`TF-Iq&B+A^>Z;9xo^US20yFav3>laMNb9( z8QvZkey^hE1u%CMr7r(C?u5&3uO1RlfVy4ghIxW`%2KV0{f&TdmqRL;jR`6lY~GRV_@$OFJ6jKY>Kn(#SPXi2f|aK1koEVQV% z*LXurUz~AEKCag^+eAGDm7G+^7`|SX__R8%sxjx0f1J$4$j^C{V&~5j>MVVN{1XVF zf3pX{ucH7u8Ng^40*ZQvwJUdq3rX;-@zh{NNA8~&&nhh;Gub%aK-?2}WrAqyR}CJr zFC-W6vK*33W_ScQZqx~~btRV3nFHdlT~`Z3+E+SPTC}yu&CG<%%*1?21|c>@du>2R zr-amXT~`RNt-|k&)vh)Uqw19eLna_5&eMG4T7?T|LH>o${8{(|I{Nt(lvEYOtOWQU z&qNOLMaTmCsWGXkJp((oX0RYULgvkaN_-(Rj?EgmecrA)ypo%PYEsnV){SNsv(n&gTUWix>S%QogULHvt8-2S6oH+dosnJp+>*JmDDwHy`bd27WlkhNvONU z!UgPl!^hyH>LR>^9d#(n0ot{c>pZiGWA7)m57X~EJGk}h_zM{eq?L4)NhQ~_UIHgT z|0(r*hYu@{>x3xO6V6@TV5=$_67(w;f!TIwhGS^UTh*$fFHC;yVo1bfJuJ{oDE73m zw$0rxy#DbV*9|4w>LKXy$d7YWa%k(E%LB?QGIxEeIpR8pzoMNy-rI5RjZw$R)Pb|o z)6&wjG~%qXW8?0phsujy%fEEzl+g)BoR1s`vLiUY9^a@P^ao8x;4y_ zd6?OiC9T$N2Fp`|U!xOU4;oK;Jk``yh7h07d+gG%w{>=%DIb5L@`dquCpV8d83(7D zxc%aVHQYKWj`e_xOkSGf%mJ@SR@_AZ4 zoL7Sua&0hWauM>BQV}p;I$w7a#t=_B^ft(hdpXk z@7C93DW=AHP+9qIy^FQod!4gf>Za3O%G$cBOzBza8LyZM5yiQ#zDY@J7KvY3Q2{k* zfKu*)SA}(v7JMTBtVmnmT4=2G%^;Jj4}#F{EIw}U1+qnob{aCW%)%*xA-5=xXIq`f>F?2Lbx~%mIG2&I|_{Y-UW&xp0paO~SfmXRr2- zRB_A~PBgK3McX}(LORg%C%r{@+Feng+zHDy9pX95#gQ6WZNNKx^fmY= z>&Ru#VH)_TIM=8ysPZVs-F*L+iS3oWs|#btP4>frH%-nbwaL$C7i1;qY0;V_QK+ZK z33+762BN4YfGb@kp1BMhMr0A241TZYJ<2yDMAGfk_)%KeaP^|uQ%+42W6M~!oVBZ^ zzHVGh)M0A#yhf?Ew!LJDY^FJ>vatojb&X2Dds+YDb9Q|~5cQDYMf3*(?;oN1f*+vz zxT6iU13{;L(EDmP9fUBv*EHvhj@QI%8~%tl z1!TOwH&}=6hN=jt6NA?yQhx$LL*Ol-H%;^swr=|*8F-<+R*O>iNzefY z(VT+yIbQZ6MFI(hW)HwOhK4%xdpoW?lA8}=89g@*w0#kI#p~CR=H;eto)hml)XGQBhWK1Tw$mk}M?|Qz0_4~r ze*}qt@!bC7Ur;V!UD_4^d*EI(33{LR7T5(33Ib6Nvf8rh*L}02ijy2W7@ZmT~9`U9;;cJ)m{5a8PJ?JFZ)8YsTRSiMF+Wq3%ZF zXvnWMHXctO*gdmtMJ_G)>;{Ld0I5uI$VJ18`&0VM0Y9}*{T+w0JIJ|_?ZdTkiP^)U zrj@Ez6)8D|`YQh?3Ne_;jt^hE%|snwYf_9(8UqnuFIvb1700GzW#nZieI@plJ-z3F zV^sj~&>*C#8)N&`E{P~fKMgDSrX{He{Y5vP>q=#!K!#sO#6*L7a-tCh?)jO_M20{P z%axeY@lLFb0Zrd~tMYm3>{~vqr85ZT5Wewv| zFoCE9MUqOAELpNh2BFBQ1eBbSP~>m~CFdN3B8MUrIR_BdHMON5`Om$UJPuKh%o?XMPCuVB#TWr1RP4HQ2O7B zX70~OIj`tjzcwH7FwU^BN?}miVyX&jV#}K5e-hk*4!p})ed|SHg}VA9 z0WVJEZ@RFb{%EDDo*?bgr8QB zna|Yo$>;hN@WuBb(0r^Uie@N24z1y%?i&mgRIz{ulV>tb-Rj>cq-5^II=Mho#&gC*sgJL=8ObG?ht1975`jmfeD;ey(luS>>9g>ml<@L;=e+7L2ly#7 zd_N{R+;oSaR%2A#ie4u$Jj~3fRF)?4W~-_Krw~^QTAbTnoF>!VPa5c?%dxSdDc^B) zytxR%<;Rf8Y*&j#j5qt(p-xsZ#-|j776zpy@3bd9wJBB0Il)KvHM+LKH%T42RCJ78 zbs8-Tj{Y^X|9NJ|r9{qpitp7IR!iGE!(VR|mu#>mz8E|8cea5Yq<0Rde;XMZ?zpU= zsjYJ87v>YiXklSu?3c<&2N6e&0CI@cK$y~@VUEmGmYeXdRb%h&UlOa z6d>!PFrGl4d_G)b{E$iEW|gMM_n8TU>UZ8m=9%SKc@S`EUM@NSI%Hrk>erbCg%XXW zMoVG1umjF?RH&TXg7ux?gpc{z$g_i*JuX>1-MrPkC8r71d4{JSx0P-W^>fO^a7*wZ z)vmu+E1yyWH2=f#^L(FnLIBlBo>`skqT;9Q=}AB0N^m)337=o_(`Lv4H$CZ0{dXKl z!eU%q9x9^!ZlPlZY>R|an42^}0Ou#)B1gM_dBy&K_Eg~eug+zf0eM;C0HP2HA^w&k zh>j)-BCZ#2a$2D$GwEZcpc3+$-U^|`yOYxXGwBl(^SgBcxTiYruEoW<#a;#Y8!)DH zS9EC*jom`cCSzDjm=23yC&5zk>(=lwBF&p21l%pax$&;U+O_M;L8OcW;{;$Db_B-4 z+(!Z2Viaz35`Zh&5B6r**L=Hwq~wVArkho0X9_SNST38DCtEshg;YA-e7l7m5U^7f zi)%Hpi;`4UP{j{|6MyL{F1+-k53x1JrZ&$jCQzQ9jUUfpyY{sjvm28)OWfI)<;4{O zrx3*^l{{3Ub!++RjJuVa(`q&k%tk0#4>YBp8@j>#NwC0qcd(GF(>c+xKs`uun`WAJ zu~^$+qz}u8D~`+H;1O2fk)X|r?0U~B5Ox2y*ux727R@iM$DiN0U+eEb*$)D%8Gh!c zJ-=XJGmrLnfXIoPg_qs1kB)CP!j-%Ow)8L?FTS73NI1AREs(k3RU|-n2wT??wL7V zoHm)tvmtq|+c>oEE`-;aqF9Cv%so{sJL1?jftuNAj8(Ija_$4?CS`Dp4^zzXdZmNf z2L_#hITdgBGVbB~Wn53j!g8I{0^dhz#6vU^g)NKngy;UYz5jn>SSrA9xRp}qq2+soALSSnR}4}K(Bc+CvCTY|c=gD3@8Vo*uM8!jULD2vb{ zRiWTp)a=Y$BZBlIjeR+Bu-Y6QBS=$a@Gk~Dj_^sKv2#DrI{@zeaRgkrw0gUzUul~) zxBjq6v49YYz%*F3xUs~s(@AvGs$>$vsvo01)!!z>)@&Z_MiF?s9ho3*a__}jl1XOp+hiAf&Q3{fRa4SP3c@f85+4UWA2 z38>cp5?dX64FoFLLn3>9~xJ1zvgyL&?b%C z^wo}x%H`8b<;al84lB#oi2Vix9ZdA!!vufF;noM%FZw#my_-_D>b(7}tOy{lQcQ>4 zH7x2xDmH@1cJ4Nbk}<~>_sHKF0Vl&b)fMamz6=*~my~G%@_E?uQSqOi1$|gpIgPe_ zc<1owgyw|WXK8V9=_{4$v9Yl#0gUtp$BZThI9Dz*%WT{)$~T90zy2rCdAytR-^e- zM>pmcb$9meT8u}9m+wt}I;}2bMCA^N`)zwr@o=l+Xqzw05J!f1%CDhWaV7SYPcMM_ zvCF^plCFAquGGAnW^;0`#{>4xagRSf^1wbPxjjtZmtQQG`gtA2Z#2T=t+Zla#>7MM zI?)KhGr~$<(nvdrp-t5;ECj}jwdK9|Wri2nHk3l+EHyEsUM^BGCFW8~0l?!o&nC&Vs2i#yN z+J4g@LV?9a9=J56+38lD`Y$QsWw=qmEhRn;8}ouRCZscTbSqk4@nGIF^Qu|+C3J?c z)5})bJ{mt6`4v#!5N2gnfGF^gkZ>Qw#zwcw%L00USP~v}p1ar5a&mkg>Ml7yQYOAD zi}Mrcf(d>v+I1C!C%KmcHOEe2GArNYVF3?`_lneuK%mEnHiDbM& zBmX%0eeX6rK-*#kjyx5)ter3erLaVk@a}5LKZ?qzHkW0FDJ>hD#08WMPn3K08_U0} z=mJb!SASWlM%nPuMYbB5aou-2nb81~faRmwmpLj`zbx6+J|G*11vU9p#YSnF`l)F@ zj^o7-xy%T-k^=%uv}lw*mXVoglEa!X5V((2orb<19TS6{3%!(AO?~_?HHj+Fb6Gp< zTCN3CC!BG7uB9kqwY~h%95n_j_^62n9K{C4V#jpJbScG|8Sx7X*$NAvJq#10n%U5` z|K}|8FwG0)^#_K7@OID+s59L600@I_k{&r*A#`+#gIOIZJ61_TRL4F`?Z)}qZ!>As zoqc?1H|n6J(W}bBwWvV04(RMK`-g)zPR{O!RO?%*OLO4(GIs{IrL10?(B*pjSTd_w zoyt+ERGlQB7vlI95hJP+`S`ap#PRLg0)i&=)&zc)J`r6E2d~z% zmmJ;1+@lQmVA%0>Pq{B*d|P)a6~-tX)ILH+w9UMc6Gp-knAc5fhQLXs1R8xf+7Hlq zo`0i8Z)JTtqPC?V^z>*xHG?%b^QaMuw4ff;E_}y%((;^->%Bz-1+a$FTjQLNah zS?Q3x&|Lx8Rh^AD(0>s_zdNpuvZQiRCUqJ;#e{g0g73s-z&e&WTm@v9FHE-_3FN_I z5$Q0^AT#>FBz}WPxjG;UoA%;*lVe}Kc_F3906;@GFBxyvmn3ZLEMEJ9jZJigdnyL@ zEVjz}QEP6fYOS^9rhL)5F~x_kwK<~2GN9x%R;h+X2bo@95mRTmDL}C9*!$kCqW)@o zNX@HrttpAw67q;#6Ffj}i71Djg|i*w}8#cmUZ1}6R6jf-_< zcMO5{+k^ITMY$|0%G}5ZVAV-na}yW+t}Vq$NF4!#$N&vy49F=zC12e#abFzl=svoq z?jev>7!}S+8&1#Qp#udB z!7mQCs$I=Ym?@2zf9n^GW&0_e=~p)F_d>H%>uI98CKM|w)QE}IVCa6K;kr&@<$O~E z5;0mrU>fnf{v9U*j%C>PU&I%bUeWKjE|rbJPzw>)ZfC7GG~Cu$I3X1XX!{1vby97r zK{*Giz(Lm=Tnr!tt`Dg`jOiEwo?Wv?UVo6O?0;`J|MxqGi!V&cKB2+Hfh@9RrF4|v zgICWFelMY6V@n$HlPJ`-aA;mof{JgHUcCFho7lnOr1GDbk;>_82 znSKZJZdcHJi3>@rQ*GxoC^r8vzuUC#%`I3%>h{L8#DuWZC`hd`;eb%&ku8&}-MjBN z{@lGQz~b%C?tqr&*M*p>g!7kkyP0eq#}>S~9XknQ?!myu#)xO?P4k`D(~vncNBU=X zK++)T!iuS_a=9wiz{sSspi5Q`-Nbhcjp`bo0(%zXsjw}t${nhvX(W7`^H<9+7+@J>K6?LjXm4ZQQ)6XaG-OQF-FN2nJI<>bMdbFTB`T-D z$2>o|x7uk-1?lZK(#34~h!>vpBscj%DAxqQ6TtpGPp}9GYi!Y47-8(7v#yAx?a<&D z^@EaH{qi~Lht*Q_IaY#=Ea{eqb2p7p@irv*a`;Tg01 zHm$ST85br|>b)S=8xdlWDxBPMG`qb#+}7ee+84_JQ(i{c#~8X@=4!MqGg=?cNzUvr zfbf?=6q77;sHU=Wwbq@sHKaz) zR~~8YsYcC0I?5RH?euDZ;iG*%=|O@)UTz%Y`f3n=S}GZ-mWiJ_A#thP`vPW0TrKiD zU4ZU$gZ-aH_rDhDv2*@LluR@p1R6Ws=|XOi(pf~6B^w-U-ySilrzzhbExj)K^QLD7 zx@{zu{XVQXWg#<5Q@SAUgYHeU2wV{06r+zF_WpRaJAB1|@^P-$c(dL&-pQUp@VF?o z(|}@*bwPE2W=_rwxU8m-HFbvIa)rGSDqUutkOi>sjFe}R88QH3?RbF1%ZsI}b=5Ln zslCmjxhlXg2JY14?zR)Un2?S@XqsDl=$cr*-KJPkv{MiZYBMNZ+Xo31e^z<+CHlPj z0!;{ocCBJ?tf_sUozjPZ{}H@m)u>>Jp!_6r*l( zNCo%%N?x9zK+6J3^&F7ShUwfNnTPi`SndA{x1PjL*B;)M47kwhU*y6Uad@Z9Vd=Mn z%Z!oDtlsfX!)dLD_&N14~cDi>sf)*iQT9Emb<-0Yl5(sX`u46K3{+o}p30vV_7^k@S4#y;>GegRBzJmAs3- zqc|*E>!%+bfAcRL|5%nc%gzcC4aK}Uyt-$TJ3zTSg79U;H8u9|LQdVNniT91WFgUh zDgQ8X*Y)!am{?L;xH98i4RNpnHG;?Y4$$yxc(XOHB<_i0;twW{;OR#$owhSnB1xI0 zC*n^1(&3xujrlQ!oC@H;&?)=-)v-P*D|`K{EOl{wW)>0^Lju=?1ST|ucRc^G9e`jl z=SI{6-t*z;@s{yLL1t&Tp>tLRUZxG!b;E7O3*aEsGsZYc zrm~TQ&QfaV^oLQ;v+xyJ?6?=OtI6fndA{$gxOlz;iMvdrsyePqSb;))-AM6OcwBLN zoQL}Zm^INwI||OPS0spX`KqJyBBr!LRtR{Rp}$!5Z14yR9XPbg%j1vn@Nh|kfIsB@ z!V>$>02tEmsWx)*gSwI|Ee`v|N$vcO6Fq^Y7k6}u2kd#g_sLsLoY=wLhpvq&d!E^a zpLfpo702_linmVcOu`Cm7io1Fj%f+0RNNy~j_0YvvfDv=jpN6sfN}V(+UaC>11kdf z&r@J#a|5$ou)ewVE6H0|ZLBxhL>}SZVkhwLpjG?!MdD{BNn(pM&kL&_Ia^@1_}!WN zAElf8TlT$<8s~Z*oX5-inR%RNbZBsKsr!-X1cs@Uq!{P6 zIH{oRk;tuga*MgQxlikRTj$w^54~qs)S&a)jF#hmpDC6nQ3ZIS5tz8WH z6xnv~rb5dJHC=q7Vdp%Da?if9bz{Cy_VphyBlXtax2NqlNS%j`oSl9ohXn8Z;vSj4 zxMu3BzjciOs|)g&Bk|6ic+tf2F&tS zBFn<_WqQMNA!+?gIOCy=FrB$J9=SctS2ygZyUW$<&Duf$DJVB|s<@|_#X`NgA z<6u@woGY!`aZ%4U>_sx4HQ8_=6C~-me0xE39;v1-6G|M(c@cLn$7Zl{8jLhK4T5eSwvzZ0l&H0$Y0R>LiYL zR69W$K*+j2UwA|_r67C(YGo4^fx(?f_APYhGgCX}L^!-vg>jD#bKPJWxJRQntg>WR zX^|tx5{f@OqQ+3nsOx$-MErTf^QY8bjDy~%rf;*2tg*ErC@Y6gPaO`RMw>G}Mpff` z(_}g!Ql?}oX<4O#>s@z82Fc7U@)vvocil+coHs)0mRn(4UsK!+f2~} zD};May@`5u+t>3KLz1M_xqJuu#Jk^dfc)I8EuolBd08#OUDsD#%cU}p-ywf674>VD zd1a1jt}NEZY~qv=*}27O@btW(;-I>q;zz=)#*}KfQCitj7hVU2S+`{_^1xy*n3{h8 zHt|IDedMdj&%t#gHZg6 zgc%Pab;Z_~9D;T`W4Tm~IGVbMzVW;{A7%XHLhnBok+3b%n;FUQchB-EmUR5 z3RaEmG3Mkce~>f-gdA!Ovh4TMa7XnrmkZwQlcfb*;?{rdKEG`3wJwUfdDLu$)(?wP z*3G>=^fuZy2Ti>$;YPhlOAC_-D;KUQJ5ZnmJU`@%2=t_yT=M6ySVoX4IpMwqij|b@ zGA;m|Z>}{jpW-36XOGW!oacJGGIG0AY{>Fb%ZuFfYSJR}-Qag(L-lg$h$vZW3%<%h zWloJ`v-wp#p|d2j;Igc=I}Y3z|)d5ZCDjO%&LhsO-e zKJ%O;2_FaUafqvi^cry1p!~AB3^@~~$7J(S4`Znq(_=}7MhkGnE}V>bFL?C}tn{9n zXtQAMqUM|Vdc(9+L01U7!B@TGt+6r(h|8;RL`5*26yL*&t%bsL=!+tCTqFAt#niwI zM>zI;rZ z@t*57QkXAYaJN!J#Hi{Z5lh5{({aRwU#dfq1-l-L#)7B^@q>J>VN`mKG#?pYg!F6Anqgx)0bCeGqbL z?h>o5WB5zEUUa_-|ZRpq$E zjn<-re2EcxWfmY=C3;XO97tB#qAi!Fxp$GQBF}YKo`a7e8erxNy?)uYD$K-K0~}X0 zz_2e?c-J;E{|p$Jf!*pN1?3x#Bq?;-=Y>Q}|e>;3dc`S4S`mo9^ zw9`Mk=sOOerLT&Lrk-jvj4l9ID$WdalLzKyzYPTk6v>*w91DbAxXdT9-oBO&z@a0e ziJfR~j4HO|s4c=tgXHK)+5{b?e6ZSO4Gk$gU)<(+WNuc1NJ?CAL+ ztW#RIp^nevfp9azU0_-x$1SvRB~B>zC&9&L?`NV>C_t#spqT#?OZ|RI31elNSIK*CeLtDq7)KEfn?ouq_%wlf)R$))IB4k`g z@YACA&ZaV?7?u-_-6q5vR)Fy{qELHf>xM7Bz6BmLw#fvG#>nsQl$&g^M>l3B%<;=m z6$`_w9x)J2oOy@9A_U(!QT1iMkq-Bj>nQ7kjqwPO%GCu0zKf{3074{Af057szz^P1 z_nczbu*K&l^<}V~My7V>JxElb}x~{y-fN}KDJ%5#=K&XLrn7XrwLf;;eZLa4MVYK&5oWcY>>&XGT zZmR`xu7wQq&Y}e zN)CrE8G1I#_pI&kkcL$B=R^D$wOJOg%eA{&yX23qOUk)8yk*~eAaUmeww|VQFaO85 zG#C#wmtHTiL|X#085o{1%s|tOUE`|+{EDFmTZv73#O2rg7AFPkVji#*5usiTUP+Z9 zYv559Q-a^9xY*Hc{!49Kq$#7uj%o$F{@P&StX9!~3)i+zY?kY}Fft3+0D@~%AiX6X@Evqpun901v0O)wd2bYJi^Il}$oJGwFgdkhH3c;v& z%A@4m#T^5X_=n9I{@h@_7uA4wzp~kR}Tmmy~8c7Jv6{Ls!T9AH-2p zFMP!vm?EDXhwrkVwvJP(D~Dr5(U#OlTI*G8ef=#0`*8ccSv<y%Fr($cwXXuf**>lzx!!=elu(A0p`TE!yL{ek6 z!K-V^PG(p2?mL>KI;YgSY-IvnUGc{yKk$w~>fZ#VZkQ1+Ujoid+cqc>Z5@WiI4IPf z&@7C0gmd{IqExG>tLvL74)d}F-FzRBS&`ypTXph*2~%?(H@D``^2asZgb@J^%{PIy z^B@#qXo_LwiDib{ku}6$+p6c0cy(3ScsjAmiMnBNPF1lcyRfeH%lM?KrZQ~{3uBWc zSEJa(-iD_F6E8adZWLMb-`GOoFQd7`f+Ye+22LHlGbwgc^`h20XTA*_4)e~61IS}H z{By+M0_^#|(y|>HcNAGBE#9Rs>#qx|jIX%EAsPPr#(@5lT+Y3yH!~dVuaihx4y}kL^-$Q%Dud1G> zoC-jhr_f3_`kTL;Ihj>!+L|_e!Q>g|A-aW>=GRv5aV$Ahayt&=w2;w7TpI|!1iX=H z&HF%!_<)Zc#2nUc*G)}b_u|0Xc6;{Yr|6DjraO?}!8@#rPo3h8C1NTQ?=Qbt=jHTa zVsQ-k%*1G+O=@t#qpA`8!lV9}KdGB|Jit3U36!}X*2BXn-_+KFO3JN@6H=PxnvMNC zugBd8IbR|6(F%W!p=-(FQSOVLBKjP45uA@eKH|5zUWfC$1;dn_2=9t>&ut3Z zF1@ZC?pgu8m}&IVlR9>5jdY?;ytOXHiYe9!7Dbp2uF020_!(|2sWj}NE-*&e zBM9NeLTbn*m1}?^ZXDs=Yj{qgjud{Da0`a{j#G_>K6FDtfijmeUzyQ4?Cdw42^Ob7 zl#_6&8dj@uJW(2{h|#_)6s@2dkx*zdzwSFxH_HVGnR@|8DSfV!?c|CkPUl;LTSb{n zBgHQi8ue5Kt1K-txg-N--9e8_mY-H;i`kaZmB zOV694*AVtbUXo5l#DcR0RAZ;6*;Pt8NZrTyD;CK*9Lm&Key z=_1x5fJpBOnsa05ZYC4}+n#;L2|uV-8q>h49j`{57JAf+zcIBSFXtPlm;cl~*_bF( zF-CPGp!a&ou~AkQN7oniDlv6q)_V*^2gN(Tcs^gW`D>QPr+d8(BI-_IbL-*Zy5@C) znq}22ah=vhaPgzNVlq)I5bcmzDW|Y#^01uoBF(5S5CO{#hyoM4$eG+OfRHK zbE(9R7}{1gGV{X1B6t^=z$iXub zCU&*2@qDdZm3$XkvMNiSHE7!tG*-Pz1^i6F`?Z@ZYkkXnR4aYU&ZP4Lnxo5H+MC-_ zNu$ZgtR$bvuR5?gXEHZszkefz707kDiNir!qkd z30Rb#-=%x|BTw>QL8X7TANk|Ru)JnKp%~vp4M>`VNEE>(Ri_ZB*U+LQ={V-j#PP`! zzU-$t{+*#6wjq|s>(y*bkMBrQiN$3+X{95uz7vUrsZjx&56u{$vM|g6wV+qteze+l zvtyQ$PdoBdI2%m}UoSu-O+V@cIxglp01l)ccp75H&-&^lh6TD0?Z;oFI{m0rrN6CI z_$fr_dkrESPNdA0O(KV>2Pn3d)`*JaWTO>S$w9PAqK0;DS8u&W#p-*q+j6WaJ>y#=*m3+ z^C`yA&C>8qcwcpDl+gh+fPrmWXVa4(oat&Cs`^m zGUUVLY#_j)8YT#L+Acb(hm}hr&HdWh@N^UB4 zw(%2PK@|l??#X>olg@2V?YU<5LWVy3Rh+*sGFBGo*iT5YPmTc-RE+1rN6$BV;e~ef zB2h3VDP;XXvy^G+DG{B_dwPA(9l7@;JY{&UR1b{yl!q~tPuBA@Y^kfCU-s8oTRENk zA7QV*fB8GX@z&im? zm^EhGx*?zAWpwqD zf1B^?O~S+2VtmFikAW1p#C z5es%IOZGq57~Qb>juX@@a8Bbfji8=w4n`i7xEmxr(1M|BSVR;`Pgkwm8E-&m2O0;m z*&OaU2`Crr?J*~>nNXb8Jlx&TB^Ui)7_2uYhMhfk_3q96nz390Aj5S}+(j!(Q(ZtW z9p7{w@}BrU!X4W?4J!`IVd1@@W-TJ);HsnjEk(JNeFS*{29LO}nqrycR|&fxB}_pd zJh7X*by8OWlHw$nf5-=NUS2b5Fy3(ItxLUDO7}_IkldS6R$Z|@`uP2Z3HOi6Qjr{P zZ^OEn(rc4~g!bE{45k)C8B%84!&D~6Et`ybI;@)H~M`O z!bVt9j3-DGltC2V(6~=c><86#%A^>wo}ss{IXi36Ut1rP&OY4-K zY6q~m>(&hE_OyF6rMmx&prM0-85hD`IIuXN6&&0*Ul!S`pbp}^8`Uag6+)2kW0OD> zFd_@b(n%M&GgcGYc(e6w^W`}=tQ0Wn?;+eY$GXSJee&VTLc*?f%lqTj-OJWqOgDy9 z!`QkhR1DUm{d(LWO%-k!+&y?x6XT(XYQC2wL=lZ*``kuqUUk0PF8jhVudN8*)dNqF z^PB5SkHW%-U5geB*>P>{%we8YV)upJ(?oySC%70u9l5@Nx{42u+nd(h`4;D_cAB7b zj+YD-+Dnc|#V@OC%ajE|?m+`{h9D)YV z)BGzqI9wR%x6h-q+O|T^C|-0OATkRrjdDIOEt}9~#S>`;$P8J{&l`>PDx$YIOv*k<9KJX(va8Z=d()8!>f|Ei32E zTsW14b^b3zxKa7%K)DvMU0&a1RZevZhw(wskaSiJVFbdwQz;%4Q3ap(knub&R z#DuBYu*BlL=^>@Ptnvx6UGWuz02-zoOeFe}13B}8&1?r&YQv&b_&$;t!d*Ynuulwf z(UC%qeOnLvj8PdNx)XNVeSM_xB!V8u8ImSa*f#xh(^ZhukKl74F$L8bp*zc+aKX#eIM^~_*M z3MdXqOw1FZvOUnE#m{=K3AV`nrR%YXQKw4a#_IEqq$vAqMcw6n0^<0c2pAq zW2ufy_o48)qH`t3?Xk^G7LL*HIG1`SMnnYNta|FQe|j0$HG7=n&lvPER-9p4oz?;O zx>8h|4%ZLZd1w_A;N7BnF8-~2wVwQI+$wYlsxy+5v_FbSeWh`=$!Yn9o+>B^rmWzP zWWLMHVPQLeP%I}23d?t|wMs{CKsMBL=gO;{^=+)id*_nDc2+5iRU6su7glI*6Ip9( z-||0UUFlqT>l%;_%T8hAkra|^!Ct`448p%rWXtKMHyruvZNF4RPYS~AH$CTmhUsjQ zqNd4aa;9ezbVjexnK1Bwh`RwZe@;Iv&Qx;V1PHn&tLJmEOzfBs*tah=rgpCLcJ@&< zr0+iea%d@*@ma8zbC;{fbW5}Oi8U4v6y?@t4VRC>3uAFEzP4`O%| z`hZZyIc<0loBpqtDqocG9#q&^g9kUV7&3< zqJ{lK@1fs6C^*i*aM~OSC8-)h&e6E{777^Red*;P2Fi=`{4Ng$dKJ^fyK)z%tQ!sW zweaxd9!@5IRNZ*@Dxfqj_kJom4~7z-Oxf4l&abNM=trI=vGWL1oz3>Dk2ZoR{5J5U zf`aMr5y`XxlCyD{_ku@RbFyAVsw`fVAf+Z#Zz0eI@vgT@<%HMq*4I#LEWM7ilVp%p&>=>e?vu`$|vrRqGq zsOjmq0rXZ;7hD0WV@2@O=PIWnR&b0jT_azda$4JbzE;5%D4q6=dV)J~_Qab%xd4&5 zM(4VsyD=i^8(cn{gDZp$jPA{DpAV;Qcm-~tuvOG~Pb-G z`zGew{-o>q1mE?IiGuMN1hs)xYT2|F<%bD!ajQ+%@XFFXgR1etsTv`ZX~cbet9u+u zZ+2Z=(sObGWoe~}<=A8^yDu_NG=JMD{(flzVD~=`v-#)!XV+>xpvQrG)ho8I#tt;Q zi_@nmE6YuZy2bGp(vAA9>resjIZb$NP@NV0LOf0p_jWj9fvU3hD&1J%Ar;V>(>5o> zV`%|OOW^COAT!2&hyN6A(q_SV_nWlA632Z-M60TgiJLXF;iJl%qbqjBMZ^ceVFlL; zC`=y-zN%6kDVivft|uz0zX>=*+rkA^4Q*zt=aOymhHMCuo16~87TX>?N)H5>$70Ywh`G=D1m5!s)P24S=mn=a6Ppl*Ua#uT07mF_WJ`Aa4Jb89 zLtwx*1#d`2EW4%Wz}Ij#9NKH=aV7QuCZ_H20zhYgoewtZNNCG0WpfM?dZ+r#*6+HR zph<|y$*k4;sML8_}~3V#SgBbpsF1Id`ehyc-4F>#OZK@aI9EHlb}2N9+sO=jkH&>T(vIi^Cnmn-V0bih9)kHYOpXUwAo z_@Ycb_)u?R5Z-rB7TvK~$cXE&bC8(#g($X+AR9xS1ZHOfT14=pg}2&i_nBm}m4qN^ zyp`#8%j4_gc~EXqsOCNcrkJyabqpD+%RkO9#(fte+Bw<<$(hPaPq@FFK4`jbVLHQa zW-QP04Ui~*>ysQ$6^z{e5V(O}RPnWSk+qgO6ebVe*DzU@RmSY%eM{uIE&QkA zseDm9qflVm3(59=qGwPz>Zq$0~?5~=bCn2$-4MY zGVeXN9P!0pF~IfU;CBa|+6NOLs|LbX5UGx7PumjS#s`as+kKPA_Zzj$k5A8lcSc|fst9U33q_po!K>7A}paSBXYInFS1s%Z?8sVO5?|I~g;=exwgQLJ4)Ys29jE z&uL^i48dc@ClSIwR0Nf07#?8eTswB1SbP+4{CQXyj;7|j7R997U2l@HZc~?-JVIbh zfw^B+?*mcYaAA7NE%_lvE-Owao=Vpy#S)56J|}L)4v9zsd`X-2txkmKeJ5SpxH~>; ztPM{Qq50$i1R&$>Kzr9U3pKC&J(7wW{at~QF-o<B^o_kkD_>aKP`%#M4f}m zhG+t=SyWT!o^|58xZU0k373YXcA;#VTNuyDE1Yg2+5t~_E&1@3)$tF;R+Mg~Pa`X@D4 zF0y_YS^q_Fj&ZyZIqtrge{@Jz6ge&YuFC#YQxN~AyZOD$OBX9VO@~%{edk=4=w$=d`f!9%NWcJ z?^acfc9xgVjA&+m6juXwptu%-peYhHSiY{%#Ia_kLnM13lYJtK8-&nw5MS>dg*)6} zM1<(uTRqPrmcmb5ag_z(z6jfvi)pv-<**^HN?xQIbFW>7aT_eo5u|9K~S`wF-O2bAU8VqmCBc zEt-2zX^j;p+AGLEwOwkmhjvxCZe}St=IV@7sW7JZ+PE-R-zh!dcCdD_sru=;>hUh$;|3n+mK*b%7S1+0-Ku>q5E$iqdb8}5yy{5O>v+rhJ5HlJmz%MSRnGP%!N|v1F!ZrFDPFyBO>RCc zu08OmXUgPjZa?ro)OCErN^>2u%W5;I24L$VNwhj=90l7Z-m0p+cGgie-l8CNY z@P%P|D|yKYiM$P7#yUPa56lm^`kJT}4ynogA1Mj_MW_XmL7)ix~j_y`D2C95J8EI1cE zQ0zbv_=XIRo?04MZ+hVcW#mbe%0~Be%lKHJre63e>w{@4iTGgJx`84y+0P)we(b-Y zfB&qs`X4H>-rq<5Ckfbp_e_8L6*y{%fIL`_3-$%gzT?<8fxhYMAK_6wVaV-J-?kFy ztaF;oYfiFGZ`@M=CARiV2;{U+d|Hjr@{w-5O$Y!*+4{Vq^N)_}x;al5?mEyD z=ZQ?>!IsZ2I2?zZ&X$hnk7Ywd_kGVbkrRjAB~A8NXCC!BTq<^V+a4-d|CrFnEaFM3 zk^4FmK(aw6-OtUZpsUEr%M*1al;!n+B&I_;X{tWcW_w1cYR|Z8z>++*LpIMspVEs- z+klTESQKDUV)TCb4*xGzYaOZuGy@j>RN!HsSX`SZCUy+Vz#QwRowPW(3zGCI#8 zT{&WKGSn?^1F4Y7)xiLXKVvnZNBYUQx@WMwTi$o{~VRwzxmSGhE{)f zf5|Z9J5Irg`*`-j22x!bSifp%_M+H=6y~fohkBkNrXF~j<7ymrS*4~Rc!n>X+N&&? zq4=aEB)sW8By9Mfs1k@WecN02X+4(niVBCP%r_Lh~7beKOtucrzEvgwqt- z6$pj(1O#NKAj4wS)t91NaDb1YR+{d6Km3lfqPqWbq1@d$3w5GdXs<`+Z-IT!f2$I) zuhefUH**V7kdtg@oEasofGZ_P$jTgXd9>p`Up+2>o>rT-h#t!gw%q#p{7$`>lBx66 z-r4r7UG*k%9uldR^;Zxpr&v;`!8}tIyyx1-7>9)3etD&|d!3#3soS?*4`2u7c-@or z3`M+E)P@HG1Jj7B##<=K^iS3V@zr~RV5>JzB9M$6_bDipR7NDO)6#M<0k)<9F%$b& z9-e<*aPsdA_y&K+>4FA9DMWNOYXy#$pz@F-d+QhFXDOryh;NAxHfax@&?Gfmntq{| zzN4XrOOjAm=lbcZjPTk;7+BbD&@=H9ET`k&pVKcl4=i%+Hn^-^=U z)=&8eC6Wj8(NwY?j-jAQgaT~uZTGWBnVCg-K82Uf8HaqIq^kh6K0x$8tMw^w6K7_p zd%mnXtr#*_?zw(rOTS?6S;A)uJ$5&H}Z@oJ&iha=+??Guy0oGCH zfpGFZQCYRkjo?n|BZt~BntG1mq4pNT;p+1BGS>%MYB+fnBwsk6+z2V?tjBvZQCCM5 z4%GYi9!ZFdu<#|mcDAG~IkWd~N0;52AvW8o{R;QLRa#4mcsg5Cl!HgR@wta;=Ov!c zSn=;~jG~Zrw&x_d*jm0XS(#h9!Dxm|PJ6S{>6x7VPfmD)+3c+@oCtCT<+ucPfxu4; zq$TuU!CD(?s1dhhz#^I{b^X+M%A3FLv5#B-O_1~yI0&A-krk(SH^rfVA0xH*W zPgw{@mTD{C)9py(QCU4TT#$i+ixSezYjWO3B1NVUTldsGmqJ6#@r|xes!QRVZvhn0 z1F@X_RpgW-$swPcV?0Pz7K}(~AM*rD6YH56^eGo zF2f;U-AXL57!nh&5R`XB*soZD-pl=6iizgc<(-31^CWgv5%%-6h~*BTwP+f|Nq+i&akGlZT;A11_eh&6ojatNEeVIErW=3 z5$P?6^o~ePAQ4bdP!JFh5Q6m3B1M8gh=6n$I!FmYn)J{@0tw;%nDgbFd(VIVbMEn+ zv{L5l-PPX`#M|C zq(5Ojg>frbQj-wWhR#)F#;IjQJ7oA}C5#%|#15%lioVsqs!H-`16Wz9T_0fdccVa|clP+V0;(57*keiE3R0*6_(d6622Dyk6F_*N3-6ReiGqI}~7r0o? z-+h5{F9Q(Xo}(%QCaFq&(6#uCumcjphKz06;Q2HqTuRd;u!S<(oCa|T_ha^j=KBA7 zukJk4WMQka#+^scic&=t-Ge&{3=5KB^Z8p}b0kB!Fhog;V?creSuN!HTpCETu}zSE!Y3+$Z)X3^aX6VP+7@!!PB<|IF%YL z!lU^NQ+$!Y!HqK@kPc7@2_iweORf>W$Gz@k? zRm4#;7CO_r=tecLSi3nqe`0FmYrWR;9nh*PB70QNL(2_~T!PMhy287i3EBa%!25xY zl&fc0s78iuFl)sM1p&HUo2t;H{~np}hxzu|Vc6y8Z5mds>?p&EnjYs18m z2PK&mKe8vWj?%)JACH*j>MtgaOXC8q7!4z&Pn%wIo~4<fFavRLoLt*K2Cg~p<&LKz5i1Jjuw=1* zAV6-F;(6xmvr4YL+iW#ou&HPPji-apaqI_*?cep0MtK2JA(bW$d=CfdSsl`cagxj> zn(z6h!_iG}<}lsSM9@`c2ejCT_eBZgZU+W514kA5Ce4IX64Ti6G%0{^SQ@#XjSUt*`^+>h$*f2I-hGxFL1M-xy_}TOezNc|} zJGXt5_yUHTH}zTyGuUDvQ0=65Rjo;z*w4P@)4g(VHfOI;6Y9(56K5-Ehn~MOa_2C1 zYrgMCS=0hpUmo*kYmw9OuFrZ(t4-`{Y?YjTYcl@=1dmz%Mm z>MkG5&+<^`ez?=&o`QqnTsT(_YyynBh+8nKuGpMu1#i`LtjhUI{NzYSWmADf#-u*0KNl#a*9Of4d1-)U&i1|low&N z5-le+dpKz;4Ox+e;r(iUM>mB6H^`%(J6D={%}r}3)~q}Acb~At zn_^79_yR!6m%Y#2vL2o7C`xH%Y%w7bq z7;ph}h4eO@-U4WWSm@=8dhLMPiLo3WAt>!o78aPdyerXMPH1CV`-1$wcVo~uD~&y) zb1;gEwl%W$8S;%n{m)8jYfM7rGwI#zk#Mq`y6f6i?bLXI#NlYe9Z(>jK?cLs`PQzJ z=v#zP^*h#dhQryXxv4#Pb%$PBNsidMizEv3(%E@~6^O)S_5&b}BbfqtZYj9~q6@N3 zZ;Pc8EY2eMZOu%Zh7l;NWDAzunZVf^C%^zOV+bG_ZfpoJPD4iC3jg2ZY zZ?AYaM;y4JKQBQ`$pgk~9u;l7l^Uk4s>j84ULk|9%ZwhQf);7@k-HAYm`Iw;bTyp(QqZ8@e z%&~1Fo%<^T;4cptc)V{Y;8h+z*yU%cVg1~Nz0~;??)^r`d49E&4SlF~1~Q~wLiqf? z7jo!T__pFXcz?+Ny330|T+Vfy#(g-UTxSP6f*B+`#MrO*NjTLZ-#&M13vtoHv-jZ} z803Nqin0{YNg4=w!*Y+Ob6UZXWTquo@hIGCAtHSq`-J1s%l-v(TqOE5_?Gx-dK@nb z(My1*seMK&AUrm@^%Mv3qSbfYDr5?7nAv_MAv#*WtV8C)1SOzaXl^A&nzTN$ZZuaL zI+LTPr>EZ`p>MXPuh*-(2E0=TRPnnd(U%e(ezdi{JoP$Sdtf)1|J|ZK71TIswR3Y~ zP0WN(L7Hx{s0C~$Oq5k!euPk$AHlc~UB6yvI8nHOS;bT0 zCsHP2taOyQ&C`r3)GNLD62Oa z4n&UXjcf#6YSFwVIBm6smXwoIv^^MnO~@T=0c0Sn7F`WifSjH2y+3aGSxz>NN?`l}qwA$4oMcRPnF84kAI23Zj{E&*PTTb3Y(REGlv4v-1 z+Aoryeqfw6%LZnU0m8H9ycu}6R^uk*)G$3Ly;m_3KxIy^~WuDuUB?YJ}{P^3i54#(rq-T zy$-B=pNM|~u#bUz==o7GVC2iBiC*)Ql>$|vwBZ%})otTT;u_wz!B%yw(C%uCLH2MP z@r3~o`)=HaAvKYxD)E+9FT8cfEm~dB756TyUGcU+F3P2JV1jrmd5(QH-RH5a-!jpi zS+>Z2cw6&S^!r`CnZ6VBAchjL-EJbrpm!BBuUjjjQG@r6UQc z@r>*J_gACp<+K>gk7yX^Z20e;&HkCWz5$dXia7e5hRNskn%jNm%>FR7LM{7h=G@+h zTkG~Sy=fxKVVjtnIwvQTKDjIpu%sSfF!GBuzC8vH4ar4DmIiQO0a1++{CS@c4ojgc zF)@@%;YX8LO_*Y(<45G9%Ke9eislIxY>i;5N=RFpG#%5b9WNW|jvMz6X`*hIUh!_{ zaZN#A2rrgBXq}n!q9bG2xknnRv|rKmFHq6(9N#PpMD^MXuth)qqQA;2C(2`$B3|5=EDeVQG3k2;mX97rb=276ehn~}FbGb5X z)A2S7O#`M~<8Yt+GQ3S`HtiHyHrRH+1#+BGTqvo5Y!qLrJ~Qt%R}9x>oKT{F+6eE} zBWK&u?G{HI*=UaTKHh7eE7MX%_-*Q!oWaYV$xJ4LSzm)2c}-ZL7=6N^#WD)WR<89m z__Xc9)wey;Ft6;pPl8aoia;==MhHR&VL+5x@_*DSiaXoo>TBEVDaU?n}qB=S& zq&T_lVRyfxkc6hN0$T9oAsg2bWF<*T~01jsfmm=R#z{8xW(noEY*Izcd2i^ryR?9 z=+cqN6Nrhx=84gn02zwPKmp{7ghe~0h&|C{2NaQn%zyCS#M4Grq+F(iy(ljLn$1*J z{K2f$1SxP?PHO$g=(-eiu2CkN@$>9zrDQLLfE1KrD&(8$B>y-d>xSG|x)CQi6_q-2 zd|`%N|D0H+j>a};C@+i!1;rRV>%lL->OmK~Km~PdB z18x+aRv2W^xfRDu8p`XtoHUbCP!*>q&j_wwYOb#M@1<+0chAeqCnh<~Vz?aIb<2cfdzoz+G}{|G#{syOxS@N3N! zk9U>JVSGhV>J&&|HVXKrbDY8SV&v;=dtb1X|G7=Wq;z!8msY8p8wvuTExZ<%*$%9I z1A>tN-$tZRlm;pkk^!NXAIlhSgvgDxUb;hrSG8ESqGqvS#V+E3m`T&89w+wlUs=_0-ja{%HTC!qIv-IS1T$}r z`WY*EYSZ@(G7pku&k4hss;D6^bWBNflGF^#5bRzJE3J2_gR9%^I_0!N_1vdBAT7Oe zL`Ol({WQeB_reN1M_#6`{RV4}91yF8LR_t`OLAbzMs?%xEC0JL+bE#e#qLM-Yfk{Z zvU*F)po3%kW}mws0fd-icWK8zDOCOE z-u~#*S9B?ty06%~mNH29D6nWkvPql%{y&Z)lq#!F_^Xa|2&b*tA*9zg?xyPom^%tw zC0)dRz55O_LDJ)dr*d4UzsAQJj5(O#$Lt!}9}1C=a@D2}^NWyIE)P5Yf?5S}ZD#^b zU(rCDadMlE5?de{F2`8iG&_Dv+@HervvSRm81=*pW5 zy2{Hwd0E|pknkxQi~E5c(BZQSeX5WJx7{D|yt)XK;?Xf>_(-bVN654Hhh-gPgEJ&A zFUkclarUX0m@;nQakE^>@N}m43S9mwpAjNUQuU|^Q}G%%7K(0$OouDgrD+BELxWNl z@e8S!6P|uVSxM31O4=Yj9mY?)yhY}JFNxdp=)aQ; z`5RyRCxxC}1N`Gd&oY}H8m>%v+39L_n9aR2X*B$L*xS~-oHyEGj?~H9NQGTTc6z&O zSsQ3!bFhH60IlJhhc}IvB%_MK`xUP0 zCb;EM+4L6)`G7sGw0pPdSwbd3@-)@;dBVX>$RsB{b#-A;e>u4DqL{^<23Oav+AHPU zov)qAfH80ULPsi+OaRk)p0jI>$je~~M~nT1>+?8Pv)Az)aa7OCn6j1_E22UdtN%P-KIpB zs6FDe<(s4x!x22U7*iAWM~f;RFbOo~ciKJt?f)olZv%dVim1JH`Bxj{ce_u&_g1LAAY(7c*u(hm0ptHv71et**q@CC R`))nt-oXCR@Nj4FzW}_IJDdOj literal 0 HcmV?d00001 diff --git a/dist/assets/img/ARC-HIVE-logo.svg b/dist/assets/img/ARC-HIVE-logo.svg new file mode 100644 index 0000000..d9f10d8 --- /dev/null +++ b/dist/assets/img/ARC-HIVE-logo.svg @@ -0,0 +1,45 @@ + +image/svg+xml diff --git a/dist/assets/img/eu_flag_creative_europe_co_funded_black_right.svg b/dist/assets/img/eu_flag_creative_europe_co_funded_black_right.svg new file mode 100644 index 0000000..b844459 --- /dev/null +++ b/dist/assets/img/eu_flag_creative_europe_co_funded_black_right.svg @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dist/assets/img/eu_flag_creative_europe_co_funded_left.svg b/dist/assets/img/eu_flag_creative_europe_co_funded_left.svg new file mode 100644 index 0000000..d111a37 --- /dev/null +++ b/dist/assets/img/eu_flag_creative_europe_co_funded_left.svg @@ -0,0 +1,261 @@ + +image/svg+xml diff --git a/dist/assets/img/rechts_co-funded-by-the-creative-europe-media-programme-of-the-european-union-flag.png b/dist/assets/img/rechts_co-funded-by-the-creative-europe-media-programme-of-the-european-union-flag.png new file mode 100644 index 0000000000000000000000000000000000000000..19b69dcb30a589ebb9c9efe50e545e3d0506237f GIT binary patch literal 295225 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

L}}tJ!#0sf%I;);T#j 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

P~rNm#0_wl2_$so^Jv~nd@ISZf-oo zhqCa|_t)wA(BE{DlS{?tGA=$Ypk8P0m%r6s`|}vuERcu6t5AdUg2C6Afp{~!^Ok;> zokFfvX({oXTf27Fd01$$%Xl?5PF(2xw~c&Fos{PDd`m~l&@UH!46L;a6UO*Yv~DGQ zqU*Z@uspdl4O#9TQNQVXg8R%(PL4chBW4@_+@v4B_dS2(Bny}u*l=f=u_=vEc{zij zO%p`Feb>IxlE^pMq)ipqgL8Du`LRE7f&8^CRJGP%u}OCjDJTm`M9$o|diD8J7I(Ds zOBz77q?IoVlKM%;f8@VLe5RIF}JIvLqOXoY|mhMOedKNG6KP z3#paBtptNy0i@=jMtH=v5fQUyh1#Htb#8HIxpG{C5NHkd`fzBKED|0K1 zgN2JUig?&<(Clfuzr+5S@`jlW|JLS--iv18COxL#O7_nE6l`>Nyr20tiiLRvZ z%N_mMn`h9=<&CS}%ZV>40}Pw-lUH7WX3`WymX{LGlTnqPm~c96rBr7WBlmp%&VD%a*n!R=QxogeaU{Jfc? z89UP?^uz58q*pb5j`N9c?6v);@!X`>+0RXU0T&t+q-imvk+fSK>Oa*Wtykk0%>CU1 z-;<6=ys)$|A*eR*eVs6s!S5#>lfq&l;#knK<>=~V2@&naN96`xufaJH% zl5)`t9rU3mw)BHY+aT-$7o>VJ<9L3Rks$vA$L)N}ZO|R%xOaHW#B^Q+J=T{b7m|KVB{jFWTfiBcC@XE&*j(tsnWXWYD`{Dhx* zlhO!#XDaEF*@qb%*MQrUOSA; z5wK+VA(Fe~Xv1)t?@ocE+MgSqO3CR(A=rPgr}s(aX#>Bi^GE-pLPdeV>6EbG^bt~i zjbyf0vLge((W|u{*IN(`*py*{=2xO4k0A&-{xz=EyFgS+)@^XW`1sMNsMZ$6*&u&T ziRY6KK2EYN^LX&C&A(b7)?mp+R7cxX$MZbofGzzy1!Pn;z$>{(5s_D77xU<+#a1PF zNd&nud4uFm-f3(3cdOeF=Z|1mdCK2>Q!PjIq78;gwZhkOjmNYL=Y)4<%qe7o1A|Ne zwpBa;)yx`ES%ziP_cEd<`6rppZiI-6M;zb5-Np@au*2T7#4X}Q($4b;EG!hR#XU@! zBvWFOR#Y^&*>xttOHTjW^-*ehC&)%r*amBl9KO%Ya$F2Ce%pIKe1hga`d6<8o4F0Vpn*uReZ)gT zHh49HL$7CWQ095?FiI((Qq;@qt%|i@|50sagE96~=^3};yH2pOVkKZ)x{B|{n<|UF z$p-&0_V;HzXkYMkc#@F(Cl|OWEFyxc=fkFM!wN+*@MVi%wiM(CozXVP={-(ag~#Os z1d{kEiu^gp~Tk#%{?^X0GT7EedC zb1$5I#IO3F2W)LqLRk=5cWZv6X1J$RxHI3k(9dUTZA=nzAzYK> z+x92DT*DxW!9)bsWs=CAzd?)RGpeTXY7tbJ*f}!6?VbH6qVP5ls}CR$0pF~2^2bk? zvlF3g(oTFoZAeZR?D{5)kyI)q(B-6ihV5q+h?tot~eYW5DsOR5>Lz z+>fs4jU6QkY*V+tJdFqWap?9Mlj0>> z;@{DXH^wN*&hP!-w^YsBd$$;m$8VeSVb@f=r9P#oP^{6jvg!=?^juQAo{i(xd&U>^ z?c2AfTeEM~F>dTbaI)4Z-)+6ZtarlN+>etPRi(l9=@ISZAXqFoCk~q|!lO&t`lsdxBfV_gdA9boc3h)@y?4plx8Z}Qcb5!LV_HD&Zu zf1eN1cHf?dS5+{dKXE2QrBl`1{Ok$hhMx>|Ej-#MZcv?i$L;6>VAOdq$sZ&wx|+f} z1c>xf^~9S$KC;}Ar}_*-yhjx_Qc1la-zI^i(qxGi951_$x!+@pdd(o=jQOjrG^LTVGLIdt#_3 zf!)Sw`-Y&dm>&SALSqA}oedKCKRJuR?JV+7UF>q{4H=+|zC%ezcW@r7F)B8{=Km}Z zTmy|*&$1MCp-%4hn@?ptB43qbTQy7hR8~+R#=z_8mvnb1E!}r*zcbD`_m1nIItD{vzw3S0eCGU3@kr^U z+Z%C=wJ#Kf;tQQI+#MT5vxybUq5upy1Nx zXYKuP=lXVAZ(1N+*GP)yPE%t;{EH(n0UD_CL|Hmighs^6=XdR`xl6gWmMIXWBR6d6 z2;f3k!3@VKelZR{?qp|QG9vrlp&=ZnRs~KPfRC??_@?jZlLNX6)j?aeo;)lvVXOJ- z=PbBbR0lD`vI-jFCh+6P+UzSfDS@M^`x>3h*C}lK*AnH0#b1QP&)@~e$8ZTQ*ruO3 z9T*fdjycydc^UOhJ+q->;bUCepV3eYo-Y#P49$|?W!W9%>(ln(?gtwudMbo=?8&ZgzZiIINN?n$EyU$A?1b#;@RoO~fptnTVhiRv8VfgU(Q^_4q> zRKkl>J|g~;jeZt&vH18Sn88VAUw0vNA;+x3b^mVW4iP}{6;AJ&@oQ53oBw**vio%g zQSmH27>PAuDZ?!r{oY<=ubV%!Pvut;DXyM73E(!VOXcD^$YMw*DZ%~c$s~HM0<1kV z0H17{77GQT}{n1q2CWQ=wCswlK8@g zOZj4FwcneD``}BYVNRJ++w*8`*@&m(hdUjjr4F4Z53RH?(r- z1zaLEtYa|@$ojT5OE?y+3`?JYitjm~)CL=XfmN-yP4JIZ-~&J*?{JB?>c4%h8Nm z+KJDmpQF-o`n%abj++$w+m4af4bPG1@{v^Q%leQHpBM%qSiBQ}$*<{2Sh_)3h%MWX zozV|ogcsZiJ6ifJQirMR?)?$=0s0UF3C=SG!;?x)SL@1_V9eP$PbY3Mqee=jfg=*b zLn=ZkVoR6t?dte%QqhYaXcPa?8^OQv0r#_c{ko;I^u4czg=Iyc$ZhlQ@Q8;jY5O;_ zBINzh!b~@_z`1<=0T*`va~!8v*>*b6Mrj&JGhY-Ri?)|`_wx!J2s=zM8?zG=1VQ}= z$H@k{Tr4|S3r@L<2A{&Cqsyx3MA5Icl!8^dH(3lVeny>&QEc=$q1UzL<>p3-FPFrl z2MqlLz8`$`Qk@123z@^CJ_iEoJn`8_!^89|;l8Id%?Nfo`g9@;NS4ikU<~|UmsT`e zc?Auh2C}&0?w=K6A)%pjANBOwe1aBr#0zoj2uU?OZBUVSPj^OFw$%_mnoy3d(TMJ& zUOlHmSoe>QkX_BDI7M((nW1Q6=LbZB~`H~)TtpxSAp7DAOlzUf`*CZNb^C0Sa)Y(ZeNKU2M?2LxnI{g`Gery9QIE_KPnBsq*J~lMmIPJWA6)l3SF|1@}xqDWHled2j4#aWmt6KT{_a7$QTfe=QnfY#Ski5GYRApp?vEkdu)=gv)Jh zZoaT@9vQYl=d?S?^cWJ*4doDXQ9+~rn@nq|kUF@Frr#F6K-?YKar+V%Mg5;-Z#FOv9yeUv2pboL; z*mxNBnVpr9B}6neQzs%2A_86#asw(s(%{r3vzo_kHnCS{2{Dng%>buHw2a0G1}S=A zg!Amk+Qa0-C+7P&2pBuA(Q==q4M{!|CTZ%t;3Bux1RiRwAC^coz(jDd&p{R6b;;7> zxF4mv8*2Scgq`;Cldp-JG6QmXcmVRq02ep6Vq;TN=iJloby>Y;&J@ZMQ_`XY*2ChT z?>w=&GW*++E;xwGEZc+19YqHFcsL|r`0K!_%66-{;^2V5cobjHz|jnwD%qy3Xr<-s z2J@!%Fc#5;8uJ+n?!T5GIkx_@XETz7!!~ni^S<&_YA1KmAAnWbmaAp+b=?}Grg7U#KU_F`S#ECb@Yzuf`HuFR4sBC9FB@_+ zE@BJ*L9}rjNt6g~hrx=s7kFpB|1PjNVEZzgX%m(;;Nal*tq$5hX)=GgzOxW3J?!~T z9?n0iDR~k87XEJDrXp}za!h>J^|iJF9x~D zW6L-bAlD|l<;{+J)3<&ZXtkhY3{Ref_A{|F(&hVA+}$gGvi7LsOP|=5AZDKcV~|Eb zt%;)ufu`bfQMPToVZP9i$E|>a9|XjWo}W@zy0YrbPD(XGnxdd&rn6M?9n7psSCI9} zV=1qm>YR9&*{Hz)ypE#dpd2{j9d^L0jW1$OI0#o!J~QLKYU<{8vji@k*7XJ+pcWH2 z4uK`j)2F26Q;Ki`UY?O)wxegb3>%lLJ6H(bd4N=HZLBFAI_87~Y7KtZZJzg)Gshee zA%xYs?fycns^*lbsjOSegFW_c-oj5*I2e!(nPyu(h4B6$!-IKP-%G6Pt89v~-p=M` zKDYLF;TTQ~dN2eG`Sj*@opN!fU4`(~Wm~5KtCXj|E*}BUoRh>ZC^Ya2CqET$aLXOkJU9bX`xV(&b_bSyt2$&n<B5nfCeWHI` zg~U3P4JR*ooy5&$8Tl#@3s^rR!y!}u zWU!VK*LeP*gQ9C=!-dsqax&)IIYP(Ji{d3*YQxkmB(s*UymjuGA(8w<6IbaLz7ctI zXQ#|pnrykhZvnonIHpTM;f+gcw=|lb#ih*^5m3C;KYTD9q#!^Kcib>A8L$4O1{qx$ z^*tvhC2eQ|=aitvISXW4Vuprhqr>jQ;A}`E7bj;0&DhcgNTr*?!IQW@WubpZ5N~+w z>qdiL0qw8NRU$Ob{@W;eudbt$PPE_MYK0VAj%%Ss4c_z>B5O!u=U}N2H<|>IAtPI9~qgrA%LDecTPiV?hFw5uxVLp?z zeuA~Otb&b&C7|30yQWXZW2tf$y=(gr#9C&O^-ijT^`C=Za4GcWtM70-E}x3`C1)MD z1FsfVPM1~~db<8jZ~hJJx+}|GfN8aY(bE8o#b4CYp)pt(p&MJKOu^TsK{V zly%!=dF{i<_AcGS6=*Fa?eJQr3xDe#9^G!9qMH<#nb|tQW`rdD??G>|SsBo3K@&^t zH`uZ*p7uP76voduAw=v?(>48>?G5bO%SNXcH7;2ud(;nF45o5OQg?^2#nZa?!;W{U zp%JQ`vI@&)cP>_ejOZUtz5Ob_VbF~-BL!M=wBvjZQNTbBdBGoay&XL3b(5)Cn~`v0 z@k3t2$KebZqr3<5aJvT9q4gS5`%m#7lnMyyv@;fdrjddhe(z70fv~ymJ^MFLln+?n zMl7uMyZ}5J%O|pFLO^FM1jz39izHn5v_jh|ie6vlJ#0G=YVN4$46ePum6Svpw#tz% zw{cM;_qGjXdW)LEVu@y!mKjFfSMX}@z{85dnCk29@9mF@a~R+2;Tign#=0}Ca6C;Y zXQ3MOaiYUx1fwanaqe@ItI&*p4-_o!ZDR)M;*Hid{U}d^Hu~2aJ7;|RC{zF4$nfZh z`?h?y-E6$pEkzb2Wb+E-pchXVYu}Gi5D__cDY&Mo$CZN@XP03HOm# z1j;jGMR#^~?#+rYkcLi)Zy=X*3ifC17xx`j96LG%91v?XSv=7K_LfS&wPu`cM6%?H z;0nVCW_1nzlLq8;b?;@1KGdUw9zko)@OlKiTLqkmAsXkj;C)`%-9axZPC7>C}n0Gw2 zLhD$upkJWHC*JGn9LoKi?y@G0p}9 z7Ugf>eX>!?o>&ffe2Rhv(=(tnl*H% z8}l*)9I)KtD(bpW+hDFLdFk$RG_kUVZL&clF0h&~hH-wd`zX7*Y&ZqgAfKxj#HR8# zTJU24Umje}Ak`kgi+=!*{~u};hoe7WklWU-D3G?J zmB_4PD*H`OuQnZ4fN-WCkLd$Cx8;{Jt$UrEcR($=~(k~Ru za(TnnMy+8Uru?^Y*1wyPgB*N^Bw*FCMc#6h27-R@0z%_eqJrg~--EjXukTpq+8CEO zN`WsS0i1%#Kav8Z`Aj6G0!&&91+U{}#X4&5Eu|l`Z>`&JwZiw`cyvSSvOa^lgyl+L zq+m#C<@J|-xBGF)aMRvTO{Iwx=+iOvi^;&8K*`Tt3&P9}Ki(sUgP#+S^=-fSZ{uAUT5Rt&HRoio&-TZz!vrj7`mS+CpsKU6EfA zfU#qbjh$TuCny~cj{W;qgR1#K^>kWX8+h6JBX_`vcR@c!}I>F_Ra(DxWH>ZcX|W(UlcU@@D0y;LOn9{Wo7cjg%V2Y(wI8$Vk;o7xHxA6v!S3Hi}& zgs`-z7Ev)EUjoHq4m7tiYCSjv)T14DG^Ajk|KH=w0^VjsZWumYot&Jr0I1NcQ;4*N z?&~jx>MV?_{r){K1K701i{Vg4f(6L53kB|`9}R~CdF8rIs#Hl{Y*|G-W$u~?GYjim zdKA1%QSl46n#&M7sc;X8e)3_Mp^8UDq@}&&77jZ_TU*;mD40dtLP|XF5DK>V-r6{vcK+}Qf;mi z=F1KV#pX}EOOjofM9UmA!qBbSe+53%0H#Q!v}x4X@>zWqjo*cT1dRX8$jZ-Rrvpu3$)tG0_heaRaX66?}N80gYq=S=&@$*6Y?F9 zX6$`7B_w$Fx!+J6t$6>*eHN2KEGA+fS5x=a#=1Iw-`m{fzTZ&v>`JJbb^qR#^U2F8 z522R+h243|q$k#dF}oQc{DMMaa$UtfWnsubz0TgvL-t%l1f(>Rvm zzyb1V^0Mym!&bOgLPAVzX6Ol}y8;>bi^9mcC!Ld^i?9nN7{K zY6V#m6|P(Fui8DtAu!M5j@v}lx@%e8{jl+Od981pqSOCOjTV2m9QUX-@#3l4^n@oI z=)WKoUz<6#w%te!i^Xg`4+$)uJvul%%#@FtAO*7JZF|oxqs5}$FY>grH*kv`7G+S1 zy-Fe3H8vC)dVN@b#fq@k-4&%T>)1|L&XdGHeA`KzOv4`;Qchf#$#(k4=tDLKHPpjp z5)5ryK8pMq_Ofvw30dDci`8-`{7X}EVq`5dTRGzrUh@r?P;Zrek5+%fop}Ebz;jLc z3a{CwsL~m%ZP4_*C(8O7axJu4rBr)6BrYj#)u=LH)GHz)VnF2}n`?|!)Q?wUu1Bm# zY$SD6LFVhLRXn$HyCLUn zI|+}N>t97$sbsMIJ-Bhi(Z*9RuN#=P@{C}8$!H1@CA`}>;jaqW6@Ns)izKk4is&;D zMyb@GXVf<+OM}oys|tz5cOx3-`)F;Z*4gux?0p!L`epA0?8u+?LLp?!(}`t!@3o`N zOugNv%bxN-1=^^Tsi|r6!oGAXl?cjdxH0EvQPJ5%k_{mbRBoSPfwJo2sfkZ~yd*2)jHS)ftp^is;MIhAM5m|jw2lTcTO zd&V&NSL(?eZG=GKy0dwTH*zW4yPb@W!Wh0$%hF`l5$CNBK|9Jih%O?b_IZgeM(Tx9 zqS(iRHsVHdJ4rV;H+|r_&*JDTpJDF2GQXDKZ_^X&W#3iMurc&278sbJSe=O?<27>z zCyibCZ*^tap7;;-Po^tdZS0=h0e^;?c!*iH6zxL%)Y8(@np=2X%WwV{g94LbpC-@J zW{Fglgb6R}$LaKxq={I&TifCOdk{cz@30ViUw{geh~WbrR|~mX5^;B}-ZmRGz2A#) zKJgEb=59j&@$5EyH2kH;^g+@BX6`Zx0a9elCYnMC8<;P4+hvfI{W3RcH0c^O7U9hA zfb4)i>l|?6pJkSxHG4@I?$kBXlbiJ|@h9V{`*|1F)V|`DkT$SKvMgGpNyKdfNhEus z;5jm-VFhrvW;3u)HAaN#*2_?L_X&q_9suR@C7odf3hePc)NKJchC8^}c&uF$mLBZp z5+jwE7*i8~AQW#8S-#3A#oZv%vP5kP-}l*1ybqZ&U-?G#u5VvrQ6WWMW0T`m2e_Rs z{sSjaOddC@Z5e z4=2IUC9B72i|X3ipvPS~F}Jj(Q)tS)6$%t0n!B7x}CygTH#kR zl*Kc(Ju|4U#a)IbBkYm*W6JfLOaQC88!Wi)XE1jZ_ohn*QPx#rr8|@#(?=Q8l3;t9 z0wO_rghZqk*FrPVAl6{4LBbPjtTY2v8@k!tUmo^#b6Bg=}o>9q~9=t zWX8hBb^=>YUNRLm%?1>jwVb*da@$XS62-J9O=_whOV^bOmO^Va6>7i_`0m*LM6`D% z>O42%C)J?7u(E))48>dCT-+K8lDs{VeQ5^n0_2y|R?>VMF6G}8k6jD3Vt*)o*c*>u zmVaMf+_^dB2E}<$qVj*A`ie&kEK=F8%%S>=6A{>P`6eFH%EI-FfCQ1Q8+MV6Z?YtDUU-1aA_)U6I4tUQJGPqf_!Oao z)c~IORlBAXfmM6^HV%HdC+MgNAd^+1a>%xG&$j>U4kL7prf@txJ zCl&3w@ZH#nW*4zqB(fA@F<`{Ae@@>Wf89{&M|5)k(j(YQ@IZYbf}q@o^%t4noBR$|lA_Fm!>!!a1f_Dh#+FrK=eMHD5{ z@p0=*KlX(@I9xfgi6iZp;1iFLgH$E!m$`eB8}HmmrWG>;){;sylla=_%sW-!1r z!U5o#1sJ$Su6y)te_8c{3V%%z)n-k_^#Q#;o{_!m$cOH`XR%#UUpjNC2t!4ie@l>Z zHk7rjmr*!{-GA?OA}|)CCa>+GPqx@Qb?-Vw)C*|lGJMWihS>XeGLyjg+k1$dIAq}L z?hx#oJmywxbv{nUd$6K_@-^`Sw^Pn@TzY*$I_(LQ_V4y`EXGv=RqhgObuWaQ0oe|~j)OPB?0#}ZYD6g?9ZUGj_sAo>0YI~A! zqcYOc`zBdwN>Z;mQXK;Q>zmyXOtX7s#NgG>hQS?8$55u6${FLtMCTK!oThJ6ogcR* zSLEzkpSGNBO)2Ez>6>I#gSC#pw7FDf$D4V;iF-%|LB3HxM121xnidA+Z?Wsgg6ew$ z�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

|zZVkk*Ed4R3> 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 literal 0 HcmV?d00001 diff --git a/dist/assets/js/app.js b/dist/assets/js/app.js new file mode 100644 index 0000000..b3d2c70 --- /dev/null +++ b/dist/assets/js/app.js @@ -0,0 +1,22516 @@ +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 0); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "./node_modules/foundation-sites/dist/js/foundation.esm.js": +/*!*****************************************************************!*\ + !*** ./node_modules/foundation-sites/dist/js/foundation.esm.js ***! + \*****************************************************************/ +/*! exports provided: default, Abide, Accordion, AccordionMenu, Box, Core, CoreUtils, Drilldown, Dropdown, DropdownMenu, Equalizer, Foundation, Interchange, Keyboard, Magellan, MediaQuery, Motion, Move, Nest, OffCanvas, Orbit, ResponsiveAccordionTabs, ResponsiveMenu, ResponsiveToggle, Reveal, Slider, SmoothScroll, Sticky, Tabs, Timer, Toggler, Tooltip, Touch, Triggers, onImagesLoaded */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Abide", function() { return Abide; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Accordion", function() { return Accordion; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AccordionMenu", function() { return AccordionMenu; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Box", function() { return Box; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Core", function() { return Foundation; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CoreUtils", function() { return foundation_core_utils; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Drilldown", function() { return Drilldown; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Dropdown", function() { return Dropdown; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DropdownMenu", function() { return DropdownMenu; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Equalizer", function() { return Equalizer; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Foundation", function() { return Foundation; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Interchange", function() { return Interchange; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Keyboard", function() { return Keyboard; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Magellan", function() { return Magellan; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MediaQuery", function() { return MediaQuery; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Motion", function() { return Motion; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Move", function() { return Move; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Nest", function() { return Nest; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "OffCanvas", function() { return OffCanvas; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Orbit", function() { return Orbit; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ResponsiveAccordionTabs", function() { return ResponsiveAccordionTabs; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ResponsiveMenu", function() { return ResponsiveMenu; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ResponsiveToggle", function() { return ResponsiveToggle; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Reveal", function() { return Reveal; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Slider", function() { return Slider; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SmoothScroll", function() { return SmoothScroll; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Sticky", function() { return Sticky; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Tabs", function() { return Tabs; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Timer", function() { return Timer; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Toggler", function() { return Toggler; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Tooltip", function() { return Tooltip; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Touch", function() { return Touch; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Triggers", function() { return Triggers; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onImagesLoaded", function() { return onImagesLoaded; }); +/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); +/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__); +function _typeof2(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); } + + + +function _typeof(obj) { + if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") { + _typeof = function _typeof(obj) { + return _typeof2(obj); + }; + } else { + _typeof = function _typeof(obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj); + }; + } + + return _typeof(obj); +} + +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} + +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} + +function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function"); + } + + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + writable: true, + configurable: true + } + }); + if (superClass) _setPrototypeOf(subClass, superClass); +} + +function _getPrototypeOf(o) { + _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { + return o.__proto__ || Object.getPrototypeOf(o); + }; + return _getPrototypeOf(o); +} + +function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); +} + +function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return self; +} + +function _possibleConstructorReturn(self, call) { + if (call && (_typeof2(call) === "object" || typeof call === "function")) { + return call; + } + + return _assertThisInitialized(self); +} + +function _superPropBase(object, property) { + while (!Object.prototype.hasOwnProperty.call(object, property)) { + object = _getPrototypeOf(object); + if (object === null) break; + } + + return object; +} + +function _get(target, property, receiver) { + if (typeof Reflect !== "undefined" && Reflect.get) { + _get = Reflect.get; + } else { + _get = function _get(target, property, receiver) { + var base = _superPropBase(target, property); + + if (!base) return; + var desc = Object.getOwnPropertyDescriptor(base, property); + + if (desc.get) { + return desc.get.call(receiver); + } + + return desc.value; + }; + } + + return _get(target, property, receiver || target); +} + +function _slicedToArray(arr, i) { + return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); +} + +function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; +} + +function _iterableToArrayLimit(arr, i) { + var _arr = []; + var _n = true; + var _d = false; + var _e = undefined; + + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; +} + +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance"); +} +/** + * Returns a boolean for RTL support + */ + + +function rtl() { + return jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').attr('dir') === 'rtl'; +} +/** + * returns a random base-36 uid with namespacing + * @function + * @param {Number} length - number of random base-36 digits desired. Increase for more random strings. + * @param {String} namespace - name of plugin to be incorporated in uid, optional. + * @default {String} '' - if no plugin name is provided, nothing is appended to the uid. + * @returns {String} - unique id + */ + + +function GetYoDigits() { + var length = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 6; + var namespace = arguments.length > 1 ? arguments[1] : undefined; + var str = ''; + var chars = '0123456789abcdefghijklmnopqrstuvwxyz'; + var charsLength = chars.length; + + for (var i = 0; i < length; i++) { + str += chars[Math.floor(Math.random() * charsLength)]; + } + + return namespace ? "".concat(str, "-").concat(namespace) : str; +} +/** + * Escape a string so it can be used as a regexp pattern + * @function + * @see https://stackoverflow.com/a/9310752/4317384 + * + * @param {String} str - string to escape. + * @returns {String} - escaped string + */ + + +function RegExpEscape(str) { + return str.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); +} + +function transitionend($elem) { + var transitions = { + 'transition': 'transitionend', + 'WebkitTransition': 'webkitTransitionEnd', + 'MozTransition': 'transitionend', + 'OTransition': 'otransitionend' + }; + var elem = document.createElement('div'), + end; + + for (var transition in transitions) { + if (typeof elem.style[transition] !== 'undefined') { + end = transitions[transition]; + } + } + + if (end) { + return end; + } else { + setTimeout(function () { + $elem.triggerHandler('transitionend', [$elem]); + }, 1); + return 'transitionend'; + } +} +/** + * Return an event type to listen for window load. + * + * If `$elem` is passed, an event will be triggered on `$elem`. If window is already loaded, the event will still be triggered. + * If `handler` is passed, attach it to the event on `$elem`. + * Calling `onLoad` without handler allows you to get the event type that will be triggered before attaching the handler by yourself. + * @function + * + * @param {Object} [] $elem - jQuery element on which the event will be triggered if passed. + * @param {Function} [] handler - function to attach to the event. + * @returns {String} - event type that should or will be triggered. + */ + + +function onLoad($elem, handler) { + var didLoad = document.readyState === 'complete'; + var eventType = (didLoad ? '_didLoad' : 'load') + '.zf.util.onLoad'; + + var cb = function cb() { + return $elem.triggerHandler(eventType); + }; + + if ($elem) { + if (handler) $elem.one(eventType, handler); + if (didLoad) setTimeout(cb);else jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).one('load', cb); + } + + return eventType; +} +/** + * Retuns an handler for the `mouseleave` that ignore disappeared mouses. + * + * If the mouse "disappeared" from the document (like when going on a browser UI element, See https://git.io/zf-11410), + * the event is ignored. + * - If the `ignoreLeaveWindow` is `true`, the event is ignored when the user actually left the window + * (like by switching to an other window with [Alt]+[Tab]). + * - If the `ignoreReappear` is `true`, the event will be ignored when the mouse will reappear later on the document + * outside of the element it left. + * + * @function + * + * @param {Function} [] handler - handler for the filtered `mouseleave` event to watch. + * @param {Object} [] options - object of options: + * - {Boolean} [false] ignoreLeaveWindow - also ignore when the user switched windows. + * - {Boolean} [false] ignoreReappear - also ignore when the mouse reappeared outside of the element it left. + * @returns {Function} - filtered handler to use to listen on the `mouseleave` event. + */ + + +function ignoreMousedisappear(handler) { + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$ignoreLeaveWindo = _ref.ignoreLeaveWindow, + ignoreLeaveWindow = _ref$ignoreLeaveWindo === void 0 ? false : _ref$ignoreLeaveWindo, + _ref$ignoreReappear = _ref.ignoreReappear, + ignoreReappear = _ref$ignoreReappear === void 0 ? false : _ref$ignoreReappear; + + return function leaveEventHandler(eLeave) { + for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + rest[_key - 1] = arguments[_key]; + } + + var callback = handler.bind.apply(handler, [this, eLeave].concat(rest)); // The mouse left: call the given callback if the mouse entered elsewhere + + if (eLeave.relatedTarget !== null) { + return callback(); + } // Otherwise, check if the mouse actually left the window. + // In firefox if the user switched between windows, the window sill have the focus by the time + // the event is triggered. We have to debounce the event to test this case. + + + setTimeout(function leaveEventDebouncer() { + if (!ignoreLeaveWindow && document.hasFocus && !document.hasFocus()) { + return callback(); + } // Otherwise, wait for the mouse to reeapear outside of the element, + + + if (!ignoreReappear) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).one('mouseenter', function reenterEventHandler(eReenter) { + if (!jquery__WEBPACK_IMPORTED_MODULE_0___default()(eLeave.currentTarget).has(eReenter.target).length) { + // Fill where the mouse finally entered. + eLeave.relatedTarget = eReenter.target; + callback(); + } + }); + } + }, 0); + }; +} + +var foundation_core_utils = /*#__PURE__*/Object.freeze({ + rtl: rtl, + GetYoDigits: GetYoDigits, + RegExpEscape: RegExpEscape, + transitionend: transitionend, + onLoad: onLoad, + ignoreMousedisappear: ignoreMousedisappear +}); // Authors & copyright © 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license + +/* eslint-disable */ + +window.matchMedia || (window.matchMedia = function () { + var styleMedia = window.styleMedia || window.media; // For those that don't support matchMedium + + if (!styleMedia) { + var style = document.createElement('style'), + script = document.getElementsByTagName('script')[0], + info = null; + style.type = 'text/css'; + style.id = 'matchmediajs-test'; + + if (!script) { + document.head.appendChild(style); + } else { + script.parentNode.insertBefore(style, script); + } // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers + + + info = 'getComputedStyle' in window && window.getComputedStyle(style, null) || style.currentStyle; + styleMedia = { + matchMedium: function matchMedium(media) { + var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }'; // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers + + if (style.styleSheet) { + style.styleSheet.cssText = text; + } else { + style.textContent = text; + } // Test if media query is true or false + + + return info.width === '1px'; + } + }; + } + + return function (media) { + return { + matches: styleMedia.matchMedium(media || 'all'), + media: media || 'all' + }; + }; +}()); +/* eslint-enable */ + +var MediaQuery = { + queries: [], + current: '', + + /** + * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher. + * @function + * @private + */ + _init: function _init() { + // make sure the initialization is only done once when calling _init() several times + if (this.isInitialized === true) { + return; + } else { + this.isInitialized = true; + } + + var self = this; + var $meta = jquery__WEBPACK_IMPORTED_MODULE_0___default()('meta.foundation-mq'); + + if (!$meta.length) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()('').appendTo(document.head); + } + + var extractedStyles = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.foundation-mq').css('font-family'); + var namedQueries; + namedQueries = parseStyleToObject(extractedStyles); + self.queries = []; // reset + + for (var key in namedQueries) { + if (namedQueries.hasOwnProperty(key)) { + self.queries.push({ + name: key, + value: "only screen and (min-width: ".concat(namedQueries[key], ")") + }); + } + } + + this.current = this._getCurrentSize(); + + this._watcher(); + }, + + /** + * Reinitializes the media query helper. + * Useful if your CSS breakpoint configuration has just been loaded or has changed since the initialization. + * @function + * @private + */ + _reInit: function _reInit() { + this.isInitialized = false; + + this._init(); + }, + + /** + * Checks if the screen is at least as wide as a breakpoint. + * @function + * @param {String} size - Name of the breakpoint to check. + * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller. + */ + atLeast: function atLeast(size) { + var query = this.get(size); + + if (query) { + return window.matchMedia(query).matches; + } + + return false; + }, + + /** + * Checks if the screen is within the given breakpoint. + * If smaller than the breakpoint of larger than its upper limit it returns false. + * @function + * @param {String} size - Name of the breakpoint to check. + * @returns {Boolean} `true` if the breakpoint matches, `false` otherwise. + */ + only: function only(size) { + return size === this._getCurrentSize(); + }, + + /** + * Checks if the screen is within a breakpoint or smaller. + * @function + * @param {String} size - Name of the breakpoint to check. + * @returns {Boolean} `true` if the breakpoint matches, `false` if it's larger. + */ + upTo: function upTo(size) { + var nextSize = this.next(size); // If the next breakpoint does not match, the screen is smaller than + // the upper limit of this breakpoint. + + if (nextSize) { + return !this.atLeast(nextSize); + } // If there is no next breakpoint, the "size" breakpoint does not have + // an upper limit and the screen will always be within it or smaller. + + + return true; + }, + + /** + * Checks if the screen matches to a breakpoint. + * @function + * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method. + * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not. + */ + is: function is(size) { + var parts = size.trim().split(' ').filter(function (p) { + return !!p.length; + }); + + var _parts = _slicedToArray(parts, 2), + bpSize = _parts[0], + _parts$ = _parts[1], + bpModifier = _parts$ === void 0 ? '' : _parts$; // Only the breakpont + + + if (bpModifier === 'only') { + return this.only(bpSize); + } // At least the breakpoint (included) + + + if (!bpModifier || bpModifier === 'up') { + return this.atLeast(bpSize); + } // Up to the breakpoint (included) + + + if (bpModifier === 'down') { + return this.upTo(bpSize); + } + + throw new Error("\n Invalid breakpoint passed to MediaQuery.is().\n Expected a breakpoint name formatted like \" \", got \"".concat(size, "\".\n ")); + }, + + /** + * Gets the media query of a breakpoint. + * @function + * @param {String} size - Name of the breakpoint to get. + * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist. + */ + get: function get(size) { + for (var i in this.queries) { + if (this.queries.hasOwnProperty(i)) { + var query = this.queries[i]; + if (size === query.name) return query.value; + } + } + + return null; + }, + + /** + * Get the breakpoint following the given breakpoint. + * @function + * @param {String} size - Name of the breakpoint. + * @returns {String|null} - The name of the following breakpoint, or `null` if the passed breakpoint was the last one. + */ + next: function next(size) { + var _this = this; + + var queryIndex = this.queries.findIndex(function (q) { + return _this._getQueryName(q) === size; + }); + + if (queryIndex === -1) { + throw new Error("\n Unknown breakpoint \"".concat(size, "\" passed to MediaQuery.next().\n Ensure it is present in your Sass \"$breakpoints\" setting.\n ")); + } + + var nextQuery = this.queries[queryIndex + 1]; + return nextQuery ? nextQuery.name : null; + }, + + /** + * Returns the name of the breakpoint related to the given value. + * @function + * @private + * @param {String|Object} value - Breakpoint name or query object. + * @returns {String} Name of the breakpoint. + */ + _getQueryName: function _getQueryName(value) { + if (typeof value === 'string') return value; + if (_typeof(value) === 'object') return value.name; + throw new TypeError("\n Invalid value passed to MediaQuery._getQueryName().\n Expected a breakpoint name (String) or a breakpoint query (Object), got \"".concat(value, "\" (").concat(_typeof(value), ")\n ")); + }, + + /** + * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one). + * @function + * @private + * @returns {String} Name of the current breakpoint. + */ + _getCurrentSize: function _getCurrentSize() { + var matched; + + for (var i = 0; i < this.queries.length; i++) { + var query = this.queries[i]; + + if (window.matchMedia(query.value).matches) { + matched = query; + } + } + + return matched && this._getQueryName(matched); + }, + + /** + * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes. + * @function + * @private + */ + _watcher: function _watcher() { + var _this2 = this; + + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('resize.zf.mediaquery').on('resize.zf.mediaquery', function () { + var newSize = _this2._getCurrentSize(), + currentSize = _this2.current; + + if (newSize !== currentSize) { + // Change the current media query + _this2.current = newSize; // Broadcast the media query change on the window + + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).trigger('changed.zf.mediaquery', [newSize, currentSize]); + } + }); + } +}; // Thank you: https://github.com/sindresorhus/query-string + +function parseStyleToObject(str) { + var styleObject = {}; + + if (typeof str !== 'string') { + return styleObject; + } + + str = str.trim().slice(1, -1); // browsers re-quote string style values + + if (!str) { + return styleObject; + } + + styleObject = str.split('&').reduce(function (ret, param) { + var parts = param.replace(/\+/g, ' ').split('='); + var key = parts[0]; + var val = parts[1]; + key = decodeURIComponent(key); // missing `=` should be `null`: + // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters + + val = typeof val === 'undefined' ? null : decodeURIComponent(val); + + if (!ret.hasOwnProperty(key)) { + ret[key] = val; + } else if (Array.isArray(ret[key])) { + ret[key].push(val); + } else { + ret[key] = [ret[key], val]; + } + + return ret; + }, {}); + return styleObject; +} + +var FOUNDATION_VERSION = '6.6.3'; // Global Foundation object +// This is attached to the window, or used as a module for AMD/Browserify + +var Foundation = { + version: FOUNDATION_VERSION, + + /** + * Stores initialized plugins. + */ + _plugins: {}, + + /** + * Stores generated unique ids for plugin instances + */ + _uuids: [], + + /** + * Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing. + * @param {Object} plugin - The constructor of the plugin. + */ + plugin: function plugin(_plugin, name) { + // Object key to use when adding to global Foundation object + // Examples: Foundation.Reveal, Foundation.OffCanvas + var className = name || functionName(_plugin); // Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin + // Examples: data-reveal, data-off-canvas + + var attrName = hyphenate(className); // Add to the Foundation object and the plugins list (for reflowing) + + this._plugins[attrName] = this[className] = _plugin; + }, + + /** + * @function + * Populates the _uuids array with pointers to each individual plugin instance. + * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls. + * Also fires the initialization event for each plugin, consolidating repetitive code. + * @param {Object} plugin - an instance of a plugin, usually `this` in context. + * @param {String} name - the name of the plugin, passed as a camelCased string. + * @fires Plugin#init + */ + registerPlugin: function registerPlugin(plugin, name) { + var pluginName = name ? hyphenate(name) : functionName(plugin.constructor).toLowerCase(); + plugin.uuid = GetYoDigits(6, pluginName); + + if (!plugin.$element.attr("data-".concat(pluginName))) { + plugin.$element.attr("data-".concat(pluginName), plugin.uuid); + } + + if (!plugin.$element.data('zfPlugin')) { + plugin.$element.data('zfPlugin', plugin); + } + /** + * Fires when the plugin has initialized. + * @event Plugin#init + */ + + + plugin.$element.trigger("init.zf.".concat(pluginName)); + + this._uuids.push(plugin.uuid); + + return; + }, + + /** + * @function + * Removes the plugins uuid from the _uuids array. + * Removes the zfPlugin data attribute, as well as the data-plugin-name attribute. + * Also fires the destroyed event for the plugin, consolidating repetitive code. + * @param {Object} plugin - an instance of a plugin, usually `this` in context. + * @fires Plugin#destroyed + */ + unregisterPlugin: function unregisterPlugin(plugin) { + var pluginName = hyphenate(functionName(plugin.$element.data('zfPlugin').constructor)); + + this._uuids.splice(this._uuids.indexOf(plugin.uuid), 1); + + plugin.$element.removeAttr("data-".concat(pluginName)).removeData('zfPlugin') + /** + * Fires when the plugin has been destroyed. + * @event Plugin#destroyed + */ + .trigger("destroyed.zf.".concat(pluginName)); + + for (var prop in plugin) { + plugin[prop] = null; //clean up script to prep for garbage collection. + } + + return; + }, + + /** + * @function + * Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc. + * @param {String} plugins - optional string of an individual plugin key, attained by calling `$(element).data('pluginName')`, or string of a plugin class i.e. `'dropdown'` + * @default If no argument is passed, reflow all currently active plugins. + */ + reInit: function reInit(plugins) { + var isJQ = plugins instanceof jquery__WEBPACK_IMPORTED_MODULE_0___default.a; + + try { + if (isJQ) { + plugins.each(function () { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('zfPlugin')._init(); + }); + } else { + var type = _typeof(plugins), + _this = this, + fns = { + 'object': function object(plgs) { + plgs.forEach(function (p) { + p = hyphenate(p); + jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-' + p + ']').foundation('_init'); + }); + }, + 'string': function string() { + plugins = hyphenate(plugins); + jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-' + plugins + ']').foundation('_init'); + }, + 'undefined': function undefined$1() { + this['object'](Object.keys(_this._plugins)); + } + }; + + fns[type](plugins); + } + } catch (err) { + console.error(err); + } finally { + return plugins; + } + }, + + /** + * Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized. + * @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object. + * @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything. + */ + reflow: function reflow(elem, plugins) { + // If plugins is undefined, just grab everything + if (typeof plugins === 'undefined') { + plugins = Object.keys(this._plugins); + } // If plugins is a string, convert it to an array with one item + else if (typeof plugins === 'string') { + plugins = [plugins]; + } + + var _this = this; // Iterate through each plugin + + + jquery__WEBPACK_IMPORTED_MODULE_0___default.a.each(plugins, function (i, name) { + // Get the current plugin + var plugin = _this._plugins[name]; // Localize the search to all elements inside elem, as well as elem itself, unless elem === document + + var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(elem).find('[data-' + name + ']').addBack('[data-' + name + ']').filter(function () { + return typeof jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data("zfPlugin") === 'undefined'; + }); // For each plugin found, initialize it + + $elem.each(function () { + var $el = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), + opts = { + reflow: true + }; + + if ($el.attr('data-options')) { + $el.attr('data-options').split(';').forEach(function (option, _index) { + var opt = option.split(':').map(function (el) { + return el.trim(); + }); + if (opt[0]) opts[opt[0]] = parseValue(opt[1]); + }); + } + + try { + $el.data('zfPlugin', new plugin(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), opts)); + } catch (er) { + console.error(er); + } finally { + return; + } + }); + }); + }, + getFnName: functionName, + addToJquery: function addToJquery($) { + // TODO: consider not making this a jQuery function + // TODO: need way to reflow vs. re-initialize + + /** + * The Foundation jQuery method. + * @param {String|Array} method - An action to perform on the current jQuery object. + */ + var foundation = function foundation(method) { + var type = _typeof(method), + $noJS = $('.no-js'); + + if ($noJS.length) { + $noJS.removeClass('no-js'); + } + + if (type === 'undefined') { + //needs to initialize the Foundation object, or an individual plugin. + MediaQuery._init(); + + Foundation.reflow(this); + } else if (type === 'string') { + //an individual method to invoke on a plugin or group of plugins + var args = Array.prototype.slice.call(arguments, 1); //collect all the arguments, if necessary + + var plugClass = this.data('zfPlugin'); //determine the class of plugin + + if (typeof plugClass !== 'undefined' && typeof plugClass[method] !== 'undefined') { + //make sure both the class and method exist + if (this.length === 1) { + //if there's only one, call it directly. + plugClass[method].apply(plugClass, args); + } else { + this.each(function (i, el) { + //otherwise loop through the jQuery collection and invoke the method on each + plugClass[method].apply($(el).data('zfPlugin'), args); + }); + } + } else { + //error for no class or no method + throw new ReferenceError("We're sorry, '" + method + "' is not an available method for " + (plugClass ? functionName(plugClass) : 'this element') + '.'); + } + } else { + //error for invalid argument type + throw new TypeError("We're sorry, ".concat(type, " is not a valid parameter. You must use a string representing the method you wish to invoke.")); + } + + return this; + }; + + $.fn.foundation = foundation; + return $; + } +}; +Foundation.util = { + /** + * Function for applying a debounce effect to a function call. + * @function + * @param {Function} func - Function to be called at end of timeout. + * @param {Number} delay - Time in ms to delay the call of `func`. + * @returns function + */ + throttle: function throttle(func, delay) { + var timer = null; + return function () { + var context = this, + args = arguments; + + if (timer === null) { + timer = setTimeout(function () { + func.apply(context, args); + timer = null; + }, delay); + } + }; + } +}; +window.Foundation = Foundation; // Polyfill for requestAnimationFrame + +(function () { + if (!Date.now || !window.Date.now) window.Date.now = Date.now = function () { + return new Date().getTime(); + }; + var vendors = ['webkit', 'moz']; + + for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) { + var vp = vendors[i]; + window.requestAnimationFrame = window[vp + 'RequestAnimationFrame']; + window.cancelAnimationFrame = window[vp + 'CancelAnimationFrame'] || window[vp + 'CancelRequestAnimationFrame']; + } + + if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) || !window.requestAnimationFrame || !window.cancelAnimationFrame) { + var lastTime = 0; + + window.requestAnimationFrame = function (callback) { + var now = Date.now(); + var nextTime = Math.max(lastTime + 16, now); + return setTimeout(function () { + callback(lastTime = nextTime); + }, nextTime - now); + }; + + window.cancelAnimationFrame = clearTimeout; + } + /** + * Polyfill for performance.now, required by rAF + */ + + + if (!window.performance || !window.performance.now) { + window.performance = { + start: Date.now(), + now: function now() { + return Date.now() - this.start; + } + }; + } +})(); + +if (!Function.prototype.bind) { + Function.prototype.bind = function (oThis) { + if (typeof this !== 'function') { + // closest thing possible to the ECMAScript 5 + // internal IsCallable function + throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable'); + } + + var aArgs = Array.prototype.slice.call(arguments, 1), + fToBind = this, + fNOP = function fNOP() {}, + fBound = function fBound() { + return fToBind.apply(this instanceof fNOP ? this : oThis, aArgs.concat(Array.prototype.slice.call(arguments))); + }; + + if (this.prototype) { + // native functions don't have a prototype + fNOP.prototype = this.prototype; + } + + fBound.prototype = new fNOP(); + return fBound; + }; +} // Polyfill to get the name of a function in IE9 + + +function functionName(fn) { + if (typeof Function.prototype.name === 'undefined') { + var funcNameRegex = /function\s([^(]{1,})\(/; + var results = funcNameRegex.exec(fn.toString()); + return results && results.length > 1 ? results[1].trim() : ""; + } else if (typeof fn.prototype === 'undefined') { + return fn.constructor.name; + } else { + return fn.prototype.constructor.name; + } +} + +function parseValue(str) { + if ('true' === str) return true;else if ('false' === str) return false;else if (!isNaN(str * 1)) return parseFloat(str); + return str; +} // Convert PascalCase to kebab-case +// Thank you: http://stackoverflow.com/a/8955580 + + +function hyphenate(str) { + return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); +} + +var Box = { + ImNotTouchingYou: ImNotTouchingYou, + OverlapArea: OverlapArea, + GetDimensions: GetDimensions, + GetExplicitOffsets: GetExplicitOffsets + /** + * Compares the dimensions of an element to a container and determines collision events with container. + * @function + * @param {jQuery} element - jQuery object to test for collisions. + * @param {jQuery} parent - jQuery object to use as bounding container. + * @param {Boolean} lrOnly - set to true to check left and right values only. + * @param {Boolean} tbOnly - set to true to check top and bottom values only. + * @default if no parent object passed, detects collisions with `window`. + * @returns {Boolean} - true if collision free, false if a collision in any direction. + */ + +}; + +function ImNotTouchingYou(element, parent, lrOnly, tbOnly, ignoreBottom) { + return OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) === 0; +} + +function OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) { + var eleDims = GetDimensions(element), + topOver, + bottomOver, + leftOver, + rightOver; + + if (parent) { + var parDims = GetDimensions(parent); + bottomOver = parDims.height + parDims.offset.top - (eleDims.offset.top + eleDims.height); + topOver = eleDims.offset.top - parDims.offset.top; + leftOver = eleDims.offset.left - parDims.offset.left; + rightOver = parDims.width + parDims.offset.left - (eleDims.offset.left + eleDims.width); + } else { + bottomOver = eleDims.windowDims.height + eleDims.windowDims.offset.top - (eleDims.offset.top + eleDims.height); + topOver = eleDims.offset.top - eleDims.windowDims.offset.top; + leftOver = eleDims.offset.left - eleDims.windowDims.offset.left; + rightOver = eleDims.windowDims.width - (eleDims.offset.left + eleDims.width); + } + + bottomOver = ignoreBottom ? 0 : Math.min(bottomOver, 0); + topOver = Math.min(topOver, 0); + leftOver = Math.min(leftOver, 0); + rightOver = Math.min(rightOver, 0); + + if (lrOnly) { + return leftOver + rightOver; + } + + if (tbOnly) { + return topOver + bottomOver; + } // use sum of squares b/c we care about overlap area. + + + return Math.sqrt(topOver * topOver + bottomOver * bottomOver + leftOver * leftOver + rightOver * rightOver); +} +/** + * Uses native methods to return an object of dimension values. + * @function + * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window. + * @returns {Object} - nested object of integer pixel values + * TODO - if element is window, return only those values. + */ + + +function GetDimensions(elem) { + elem = elem.length ? elem[0] : elem; + + if (elem === window || elem === document) { + throw new Error("I'm sorry, Dave. I'm afraid I can't do that."); + } + + var rect = elem.getBoundingClientRect(), + parRect = elem.parentNode.getBoundingClientRect(), + winRect = document.body.getBoundingClientRect(), + winY = window.pageYOffset, + winX = window.pageXOffset; + return { + width: rect.width, + height: rect.height, + offset: { + top: rect.top + winY, + left: rect.left + winX + }, + parentDims: { + width: parRect.width, + height: parRect.height, + offset: { + top: parRect.top + winY, + left: parRect.left + winX + } + }, + windowDims: { + width: winRect.width, + height: winRect.height, + offset: { + top: winY, + left: winX + } + } + }; +} +/** + * Returns an object of top and left integer pixel values for dynamically rendered elements, + * such as: Tooltip, Reveal, and Dropdown. Maintained for backwards compatibility, and where + * you don't know alignment, but generally from + * 6.4 forward you should use GetExplicitOffsets, as GetOffsets conflates position and alignment. + * @function + * @param {jQuery} element - jQuery object for the element being positioned. + * @param {jQuery} anchor - jQuery object for the element's anchor point. + * @param {String} position - a string relating to the desired position of the element, relative to it's anchor + * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element. + * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element. + * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset. + * TODO alter/rewrite to work with `em` values as well/instead of pixels + */ + + +function GetExplicitOffsets(element, anchor, position, alignment, vOffset, hOffset, isOverflow) { + var $eleDims = GetDimensions(element), + $anchorDims = anchor ? GetDimensions(anchor) : null; + var topVal, leftVal; + + if ($anchorDims !== null) { + // set position related attribute + switch (position) { + case 'top': + topVal = $anchorDims.offset.top - ($eleDims.height + vOffset); + break; + + case 'bottom': + topVal = $anchorDims.offset.top + $anchorDims.height + vOffset; + break; + + case 'left': + leftVal = $anchorDims.offset.left - ($eleDims.width + hOffset); + break; + + case 'right': + leftVal = $anchorDims.offset.left + $anchorDims.width + hOffset; + break; + } // set alignment related attribute + + + switch (position) { + case 'top': + case 'bottom': + switch (alignment) { + case 'left': + leftVal = $anchorDims.offset.left + hOffset; + break; + + case 'right': + leftVal = $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset; + break; + + case 'center': + leftVal = isOverflow ? hOffset : $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2 + hOffset; + break; + } + + break; + + case 'right': + case 'left': + switch (alignment) { + case 'bottom': + topVal = $anchorDims.offset.top - vOffset + $anchorDims.height - $eleDims.height; + break; + + case 'top': + topVal = $anchorDims.offset.top + vOffset; + break; + + case 'center': + topVal = $anchorDims.offset.top + vOffset + $anchorDims.height / 2 - $eleDims.height / 2; + break; + } + + break; + } + } + + return { + top: topVal, + left: leftVal + }; +} +/** + * Runs a callback function when images are fully loaded. + * @param {Object} images - Image(s) to check if loaded. + * @param {Func} callback - Function to execute when image is fully loaded. + */ + + +function onImagesLoaded(images, callback) { + var unloaded = images.length; + + if (unloaded === 0) { + callback(); + } + + images.each(function () { + // Check if image is loaded + if (this.complete && typeof this.naturalWidth !== 'undefined') { + singleImageLoaded(); + } else { + // If the above check failed, simulate loading on detached element. + var image = new Image(); // Still count image as loaded if it finalizes with an error. + + var events = "load.zf.images error.zf.images"; + jquery__WEBPACK_IMPORTED_MODULE_0___default()(image).one(events, function me(event) { + // Unbind the event listeners. We're using 'one' but only one of the two events will have fired. + jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).off(events, me); + singleImageLoaded(); + }); + image.src = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).attr('src'); + } + }); + + function singleImageLoaded() { + unloaded--; + + if (unloaded === 0) { + callback(); + } + } +} +/******************************************* + * * + * This util was created by Marius Olbertz * + * Please thank Marius on GitHub /owlbertz * + * or the web http://www.mariusolbertz.de/ * + * * + ******************************************/ + + +var keyCodes = { + 9: 'TAB', + 13: 'ENTER', + 27: 'ESCAPE', + 32: 'SPACE', + 35: 'END', + 36: 'HOME', + 37: 'ARROW_LEFT', + 38: 'ARROW_UP', + 39: 'ARROW_RIGHT', + 40: 'ARROW_DOWN' +}; +var commands = {}; // Functions pulled out to be referenceable from internals + +function findFocusable($element) { + if (!$element) { + return false; + } + + return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function () { + if (!jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is(':visible') || jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).attr('tabindex') < 0) { + return false; + } //only have visible elements and those that have a tabindex greater or equal 0 + + + return true; + }); +} + +function parseKey(event) { + var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase(); // Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events + + key = key.replace(/\W+/, ''); + if (event.shiftKey) key = "SHIFT_".concat(key); + if (event.ctrlKey) key = "CTRL_".concat(key); + if (event.altKey) key = "ALT_".concat(key); // Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`) + + key = key.replace(/_$/, ''); + return key; +} + +var Keyboard = { + keys: getKeyCodes(keyCodes), + + /** + * Parses the (keyboard) event and returns a String that represents its key + * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE + * @param {Event} event - the event generated by the event handler + * @return String key - String that represents the key pressed + */ + parseKey: parseKey, + + /** + * Handles the given (keyboard) event + * @param {Event} event - the event generated by the event handler + * @param {String} component - Foundation component's name, e.g. Slider or Reveal + * @param {Objects} functions - collection of functions that are to be executed + */ + handleKey: function handleKey(event, component, functions) { + var commandList = commands[component], + keyCode = this.parseKey(event), + cmds, + command, + fn; + if (!commandList) return console.warn('Component not defined!'); // Ignore the event if it was already handled + + if (event.zfIsKeyHandled === true) return; // This component does not differentiate between ltr and rtl + + if (typeof commandList.ltr === 'undefined') { + cmds = commandList; // use plain list + } else { + // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa + if (rtl()) cmds = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, commandList.ltr, commandList.rtl);else cmds = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, commandList.rtl, commandList.ltr); + } + + command = cmds[keyCode]; + fn = functions[command]; // Execute the handler if found + + if (fn && typeof fn === 'function') { + var returnValue = fn.apply(); // Mark the event as "handled" to prevent future handlings + + event.zfIsKeyHandled = true; // Execute function when event was handled + + if (functions.handled || typeof functions.handled === 'function') { + functions.handled(returnValue); + } + } else { + // Execute function when event was not handled + if (functions.unhandled || typeof functions.unhandled === 'function') { + functions.unhandled(); + } + } + }, + + /** + * Finds all focusable elements within the given `$element` + * @param {jQuery} $element - jQuery object to search within + * @return {jQuery} $focusable - all focusable elements within `$element` + */ + findFocusable: findFocusable, + + /** + * Returns the component name name + * @param {Object} component - Foundation component, e.g. Slider or Reveal + * @return String componentName + */ + register: function register(componentName, cmds) { + commands[componentName] = cmds; + }, + // TODO9438: These references to Keyboard need to not require global. Will 'this' work in this context? + // + + /** + * Traps the focus in the given element. + * @param {jQuery} $element jQuery object to trap the foucs into. + */ + trapFocus: function trapFocus($element) { + var $focusable = findFocusable($element), + $firstFocusable = $focusable.eq(0), + $lastFocusable = $focusable.eq(-1); + $element.on('keydown.zf.trapfocus', function (event) { + if (event.target === $lastFocusable[0] && parseKey(event) === 'TAB') { + event.preventDefault(); + $firstFocusable.focus(); + } else if (event.target === $firstFocusable[0] && parseKey(event) === 'SHIFT_TAB') { + event.preventDefault(); + $lastFocusable.focus(); + } + }); + }, + + /** + * Releases the trapped focus from the given element. + * @param {jQuery} $element jQuery object to release the focus for. + */ + releaseFocus: function releaseFocus($element) { + $element.off('keydown.zf.trapfocus'); + } +}; +/* + * Constants for easier comparing. + * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE + */ + +function getKeyCodes(kcs) { + var k = {}; + + for (var kc in kcs) { + k[kcs[kc]] = kcs[kc]; + } + + return k; +} +/** + * Motion module. + * @module foundation.motion + */ + + +var initClasses = ['mui-enter', 'mui-leave']; +var activeClasses = ['mui-enter-active', 'mui-leave-active']; +var Motion = { + animateIn: function animateIn(element, animation, cb) { + animate(true, element, animation, cb); + }, + animateOut: function animateOut(element, animation, cb) { + animate(false, element, animation, cb); + } +}; + +function Move(duration, elem, fn) { + var anim, + prog, + start = null; // console.log('called'); + + if (duration === 0) { + fn.apply(elem); + elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]); + return; + } + + function move(ts) { + if (!start) start = ts; // console.log(start, ts); + + prog = ts - start; + fn.apply(elem); + + if (prog < duration) { + anim = window.requestAnimationFrame(move, elem); + } else { + window.cancelAnimationFrame(anim); + elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]); + } + } + + anim = window.requestAnimationFrame(move); +} +/** + * Animates an element in or out using a CSS transition class. + * @function + * @private + * @param {Boolean} isIn - Defines if the animation is in or out. + * @param {Object} element - jQuery or HTML object to animate. + * @param {String} animation - CSS class to use. + * @param {Function} cb - Callback to run when animation is finished. + */ + + +function animate(isIn, element, animation, cb) { + element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(element).eq(0); + if (!element.length) return; + var initClass = isIn ? initClasses[0] : initClasses[1]; + var activeClass = isIn ? activeClasses[0] : activeClasses[1]; // Set up the animation + + reset(); + element.addClass(animation).css('transition', 'none'); + requestAnimationFrame(function () { + element.addClass(initClass); + if (isIn) element.show(); + }); // Start the animation + + requestAnimationFrame(function () { + // will trigger the browser to synchronously calculate the style and layout + // also called reflow or layout thrashing + // see https://gist.github.com/paulirish/5d52fb081b3570c81e3a + element[0].offsetWidth; + element.css('transition', '').addClass(activeClass); + }); // Clean up the animation when it finishes + + element.one(transitionend(element), finish); // Hides the element (for out animations), resets the element, and runs a callback + + function finish() { + if (!isIn) element.hide(); + reset(); + if (cb) cb.apply(element); + } // Resets transitions and removes motion-specific classes + + + function reset() { + element[0].style.transitionDuration = 0; + element.removeClass("".concat(initClass, " ").concat(activeClass, " ").concat(animation)); + } +} + +var Nest = { + Feather: function Feather(menu) { + var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'zf'; + menu.attr('role', 'menubar'); + menu.find('a').attr({ + 'role': 'menuitem' + }); + var items = menu.find('li').attr({ + 'role': 'none' + }), + subMenuClass = "is-".concat(type, "-submenu"), + subItemClass = "".concat(subMenuClass, "-item"), + hasSubClass = "is-".concat(type, "-submenu-parent"), + applyAria = type !== 'accordion'; // Accordions handle their own ARIA attriutes. + + items.each(function () { + var $item = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), + $sub = $item.children('ul'); + + if ($sub.length) { + $item.addClass(hasSubClass); + + if (applyAria) { + $item.attr({ + 'aria-haspopup': true, + 'aria-label': $item.children('a:first').text() + }); // Note: Drilldowns behave differently in how they hide, and so need + // additional attributes. We should look if this possibly over-generalized + // utility (Nest) is appropriate when we rework menus in 6.4 + + if (type === 'drilldown') { + $item.attr({ + 'aria-expanded': false + }); + } + } + + $sub.addClass("submenu ".concat(subMenuClass)).attr({ + 'data-submenu': '', + 'role': 'menubar' + }); + + if (type === 'drilldown') { + $sub.attr({ + 'aria-hidden': true + }); + } + } + + if ($item.parent('[data-submenu]').length) { + $item.addClass("is-submenu-item ".concat(subItemClass)); + } + }); + return; + }, + Burn: function Burn(menu, type) { + var //items = menu.find('li'), + subMenuClass = "is-".concat(type, "-submenu"), + subItemClass = "".concat(subMenuClass, "-item"), + hasSubClass = "is-".concat(type, "-submenu-parent"); + menu.find('>li, > li > ul, .menu, .menu > li, [data-submenu] > li').removeClass("".concat(subMenuClass, " ").concat(subItemClass, " ").concat(hasSubClass, " is-submenu-item submenu is-active")).removeAttr('data-submenu').css('display', ''); + } +}; + +function Timer(elem, options, cb) { + var _this = this, + duration = options.duration, + //options is an object for easily adding features later. + nameSpace = Object.keys(elem.data())[0] || 'timer', + remain = -1, + start, + timer; + + this.isPaused = false; + + this.restart = function () { + remain = -1; + clearTimeout(timer); + this.start(); + }; + + this.start = function () { + this.isPaused = false; // if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things. + + clearTimeout(timer); + remain = remain <= 0 ? duration : remain; + elem.data('paused', false); + start = Date.now(); + timer = setTimeout(function () { + if (options.infinite) { + _this.restart(); //rerun the timer. + + } + + if (cb && typeof cb === 'function') { + cb(); + } + }, remain); + elem.trigger("timerstart.zf.".concat(nameSpace)); + }; + + this.pause = function () { + this.isPaused = true; //if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things. + + clearTimeout(timer); + elem.data('paused', true); + var end = Date.now(); + remain = remain - (end - start); + elem.trigger("timerpaused.zf.".concat(nameSpace)); + }; +} + +var Touch = {}; +var startPosX, + startPosY, + startTime, + elapsedTime, + startEvent, + isMoving = false, + didMoved = false; + +function onTouchEnd(e) { + this.removeEventListener('touchmove', onTouchMove); + this.removeEventListener('touchend', onTouchEnd); // If the touch did not move, consider it as a "tap" + + if (!didMoved) { + var tapEvent = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.Event('tap', startEvent || e); + jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger(tapEvent); + } + + startEvent = null; + isMoving = false; + didMoved = false; +} + +function onTouchMove(e) { + if (jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe.preventDefault) { + e.preventDefault(); + } + + if (isMoving) { + var x = e.touches[0].pageX; + var y = e.touches[0].pageY; + var dx = startPosX - x; + var dir; + didMoved = true; + elapsedTime = new Date().getTime() - startTime; + + if (Math.abs(dx) >= jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe.moveThreshold && elapsedTime <= jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe.timeThreshold) { + dir = dx > 0 ? 'left' : 'right'; + } // else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) { + // dir = dy > 0 ? 'down' : 'up'; + // } + + + if (dir) { + e.preventDefault(); + onTouchEnd.apply(this, arguments); + jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger(jquery__WEBPACK_IMPORTED_MODULE_0___default.a.Event('swipe', Object.assign({}, e)), dir).trigger(jquery__WEBPACK_IMPORTED_MODULE_0___default.a.Event("swipe".concat(dir), Object.assign({}, e))); + } + } +} + +function onTouchStart(e) { + if (e.touches.length == 1) { + startPosX = e.touches[0].pageX; + startPosY = e.touches[0].pageY; + startEvent = e; + isMoving = true; + didMoved = false; + startTime = new Date().getTime(); + this.addEventListener('touchmove', onTouchMove, false); + this.addEventListener('touchend', onTouchEnd, false); + } +} + +function init() { + this.addEventListener && this.addEventListener('touchstart', onTouchStart, false); +} + +var SpotSwipe = /*#__PURE__*/function () { + function SpotSwipe($) { + _classCallCheck(this, SpotSwipe); + + this.version = '1.0.0'; + this.enabled = 'ontouchstart' in document.documentElement; + this.preventDefault = false; + this.moveThreshold = 75; + this.timeThreshold = 200; + this.$ = $; + + this._init(); + } + + _createClass(SpotSwipe, [{ + key: "_init", + value: function _init() { + var $ = this.$; + $.event.special.swipe = { + setup: init + }; + $.event.special.tap = { + setup: init + }; + $.each(['left', 'up', 'down', 'right'], function () { + $.event.special["swipe".concat(this)] = { + setup: function setup() { + $(this).on('swipe', $.noop); + } + }; + }); + } + }]); + + return SpotSwipe; +}(); +/**************************************************** + * As far as I can tell, both setupSpotSwipe and * + * setupTouchHandler should be idempotent, * + * because they directly replace functions & * + * values, and do not add event handlers directly. * + ****************************************************/ + + +Touch.setupSpotSwipe = function ($) { + $.spotSwipe = new SpotSwipe($); +}; +/**************************************************** + * Method for adding pseudo drag events to elements * + ***************************************************/ + + +Touch.setupTouchHandler = function ($) { + $.fn.addTouch = function () { + this.each(function (i, el) { + $(el).bind('touchstart touchmove touchend touchcancel', function (event) { + //we pass the original event object because the jQuery event + //object is normalized to w3c specs and does not provide the TouchList + handleTouch(event); + }); + }); + + var handleTouch = function handleTouch(event) { + var touches = event.changedTouches, + first = touches[0], + eventTypes = { + touchstart: 'mousedown', + touchmove: 'mousemove', + touchend: 'mouseup' + }, + type = eventTypes[event.type], + simulatedEvent; + + if ('MouseEvent' in window && typeof window.MouseEvent === 'function') { + simulatedEvent = new window.MouseEvent(type, { + 'bubbles': true, + 'cancelable': true, + 'screenX': first.screenX, + 'screenY': first.screenY, + 'clientX': first.clientX, + 'clientY': first.clientY + }); + } else { + simulatedEvent = document.createEvent('MouseEvent'); + simulatedEvent.initMouseEvent(type, true, true, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, false, false, false, false, 0 + /*left*/ + , null); + } + + first.target.dispatchEvent(simulatedEvent); + }; + }; +}; + +Touch.init = function ($) { + if (typeof $.spotSwipe === 'undefined') { + Touch.setupSpotSwipe($); + Touch.setupTouchHandler($); + } +}; + +var MutationObserver = function () { + var prefixes = ['WebKit', 'Moz', 'O', 'Ms', '']; + + for (var i = 0; i < prefixes.length; i++) { + if ("".concat(prefixes[i], "MutationObserver") in window) { + return window["".concat(prefixes[i], "MutationObserver")]; + } + } + + return false; +}(); + +var triggers = function triggers(el, type) { + el.data(type).split(' ').forEach(function (id) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat(id))[type === 'close' ? 'trigger' : 'triggerHandler']("".concat(type, ".zf.trigger"), [el]); + }); +}; + +var Triggers = { + Listeners: { + Basic: {}, + Global: {} + }, + Initializers: {} +}; +Triggers.Listeners.Basic = { + openListener: function openListener() { + triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'open'); + }, + closeListener: function closeListener() { + var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('close'); + + if (id) { + triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'close'); + } else { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('close.zf.trigger'); + } + }, + toggleListener: function toggleListener() { + var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle'); + + if (id) { + triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'toggle'); + } else { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('toggle.zf.trigger'); + } + }, + closeableListener: function closeableListener(e) { + var animation = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('closable'); // Only close the first closable element. See https://git.io/zf-7833 + + e.stopPropagation(); + + if (animation !== '') { + Motion.animateOut(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), animation, function () { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('closed.zf'); + }); + } else { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).fadeOut().trigger('closed.zf'); + } + }, + toggleFocusListener: function toggleFocusListener() { + var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle-focus'); + jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat(id)).triggerHandler('toggle.zf.trigger', [jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)]); + } +}; // Elements with [data-open] will reveal a plugin that supports it when clicked. + +Triggers.Initializers.addOpenListener = function ($elem) { + $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener); + $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener); +}; // Elements with [data-close] will close a plugin that supports it when clicked. +// If used without a value on [data-close], the event will bubble, allowing it to close a parent component. + + +Triggers.Initializers.addCloseListener = function ($elem) { + $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener); + $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener); +}; // Elements with [data-toggle] will toggle a plugin that supports it when clicked. + + +Triggers.Initializers.addToggleListener = function ($elem) { + $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener); + $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener); +}; // Elements with [data-closable] will respond to close.zf.trigger events. + + +Triggers.Initializers.addCloseableListener = function ($elem) { + $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener); + $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener); +}; // Elements with [data-toggle-focus] will respond to coming in and out of focus + + +Triggers.Initializers.addToggleFocusListener = function ($elem) { + $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener); + $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener); +}; // More Global/complex listeners and triggers + + +Triggers.Listeners.Global = { + resizeListener: function resizeListener($nodes) { + if (!MutationObserver) { + //fallback for IE 9 + $nodes.each(function () { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).triggerHandler('resizeme.zf.trigger'); + }); + } //trigger all listening elements and signal a resize event + + + $nodes.attr('data-events', "resize"); + }, + scrollListener: function scrollListener($nodes) { + if (!MutationObserver) { + //fallback for IE 9 + $nodes.each(function () { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).triggerHandler('scrollme.zf.trigger'); + }); + } //trigger all listening elements and signal a scroll event + + + $nodes.attr('data-events', "scroll"); + }, + closeMeListener: function closeMeListener(e, pluginId) { + var plugin = e.namespace.split('.')[0]; + var plugins = jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-".concat(plugin, "]")).not("[data-yeti-box=\"".concat(pluginId, "\"]")); + plugins.each(function () { + var _this = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this); + + _this.triggerHandler('close.zf.trigger', [_this]); + }); + } // Global, parses whole document. + +}; + +Triggers.Initializers.addClosemeListener = function (pluginName) { + var yetiBoxes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-yeti-box]'), + plugNames = ['dropdown', 'tooltip', 'reveal']; + + if (pluginName) { + if (typeof pluginName === 'string') { + plugNames.push(pluginName); + } else if (_typeof(pluginName) === 'object' && typeof pluginName[0] === 'string') { + plugNames = plugNames.concat(pluginName); + } else { + console.error('Plugin names must be strings'); + } + } + + if (yetiBoxes.length) { + var listeners = plugNames.map(function (name) { + return "closeme.zf.".concat(name); + }).join(' '); + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener); + } +}; + +function debounceGlobalListener(debounce, trigger, listener) { + var timer, + args = Array.prototype.slice.call(arguments, 3); + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(trigger).on(trigger, function (e) { + if (timer) { + clearTimeout(timer); + } + + timer = setTimeout(function () { + listener.apply(null, args); + }, debounce || 10); //default time to emit scroll event + }); +} + +Triggers.Initializers.addResizeListener = function (debounce) { + var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-resize]'); + + if ($nodes.length) { + debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes); + } +}; + +Triggers.Initializers.addScrollListener = function (debounce) { + var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-scroll]'); + + if ($nodes.length) { + debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes); + } +}; + +Triggers.Initializers.addMutationEventsListener = function ($elem) { + if (!MutationObserver) { + return false; + } + + var $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]'); //element callback + + var listeningElementsMutation = function listeningElementsMutation(mutationRecordsList) { + var $target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(mutationRecordsList[0].target); //trigger the event handler for the element depending on type + + switch (mutationRecordsList[0].type) { + case "attributes": + if ($target.attr("data-events") === "scroll" && mutationRecordsList[0].attributeName === "data-events") { + $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]); + } + + if ($target.attr("data-events") === "resize" && mutationRecordsList[0].attributeName === "data-events") { + $target.triggerHandler('resizeme.zf.trigger', [$target]); + } + + if (mutationRecordsList[0].attributeName === "style") { + $target.closest("[data-mutate]").attr("data-events", "mutate"); + $target.closest("[data-mutate]").triggerHandler('mutateme.zf.trigger', [$target.closest("[data-mutate]")]); + } + + break; + + case "childList": + $target.closest("[data-mutate]").attr("data-events", "mutate"); + $target.closest("[data-mutate]").triggerHandler('mutateme.zf.trigger', [$target.closest("[data-mutate]")]); + break; + + default: + return false; + //nothing + } + }; + + if ($nodes.length) { + //for each element that needs to listen for resizing, scrolling, or mutation add a single observer + for (var i = 0; i <= $nodes.length - 1; i++) { + var elementObserver = new MutationObserver(listeningElementsMutation); + elementObserver.observe($nodes[i], { + attributes: true, + childList: true, + characterData: false, + subtree: true, + attributeFilter: ["data-events", "style"] + }); + } + } +}; + +Triggers.Initializers.addSimpleListeners = function () { + var $document = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document); + Triggers.Initializers.addOpenListener($document); + Triggers.Initializers.addCloseListener($document); + Triggers.Initializers.addToggleListener($document); + Triggers.Initializers.addCloseableListener($document); + Triggers.Initializers.addToggleFocusListener($document); +}; + +Triggers.Initializers.addGlobalListeners = function () { + var $document = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document); + Triggers.Initializers.addMutationEventsListener($document); + Triggers.Initializers.addResizeListener(); + Triggers.Initializers.addScrollListener(); + Triggers.Initializers.addClosemeListener(); +}; + +Triggers.init = function ($, Foundation) { + onLoad($(window), function () { + if ($.triggersInitialized !== true) { + Triggers.Initializers.addSimpleListeners(); + Triggers.Initializers.addGlobalListeners(); + $.triggersInitialized = true; + } + }); + + if (Foundation) { + Foundation.Triggers = Triggers; // Legacy included to be backwards compatible for now. + + Foundation.IHearYou = Triggers.Initializers.addGlobalListeners; + } +}; // {function} _setup (replaces previous constructor), +// {function} _destroy (replaces previous destroy) + + +var Plugin = /*#__PURE__*/function () { + function Plugin(element, options) { + _classCallCheck(this, Plugin); + + this._setup(element, options); + + var pluginName = getPluginName(this); + this.uuid = GetYoDigits(6, pluginName); + + if (!this.$element.attr("data-".concat(pluginName))) { + this.$element.attr("data-".concat(pluginName), this.uuid); + } + + if (!this.$element.data('zfPlugin')) { + this.$element.data('zfPlugin', this); + } + /** + * Fires when the plugin has initialized. + * @event Plugin#init + */ + + + this.$element.trigger("init.zf.".concat(pluginName)); + } + + _createClass(Plugin, [{ + key: "destroy", + value: function destroy() { + this._destroy(); + + var pluginName = getPluginName(this); + this.$element.removeAttr("data-".concat(pluginName)).removeData('zfPlugin') + /** + * Fires when the plugin has been destroyed. + * @event Plugin#destroyed + */ + .trigger("destroyed.zf.".concat(pluginName)); + + for (var prop in this) { + this[prop] = null; //clean up script to prep for garbage collection. + } + } + }]); + + return Plugin; +}(); // Convert PascalCase to kebab-case +// Thank you: http://stackoverflow.com/a/8955580 + + +function hyphenate$1(str) { + return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); +} + +function getPluginName(obj) { + return hyphenate$1(obj.className); +} +/** + * Abide module. + * @module foundation.abide + */ + + +var Abide = /*#__PURE__*/function (_Plugin) { + _inherits(Abide, _Plugin); + + function Abide() { + _classCallCheck(this, Abide); + + return _possibleConstructorReturn(this, _getPrototypeOf(Abide).apply(this, arguments)); + } + + _createClass(Abide, [{ + key: "_setup", + + /** + * Creates a new instance of Abide. + * @class + * @name Abide + * @fires Abide#init + * @param {Object} element - jQuery object to add the trigger to. + * @param {Object} options - Overrides to the default plugin settings. + */ + value: function _setup(element) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + this.$element = element; + this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(true, {}, Abide.defaults, this.$element.data(), options); + this.isEnabled = true; + this.formnovalidate = null; + this.className = 'Abide'; // ie9 back compat + + this._init(); + } + /** + * Initializes the Abide plugin and calls functions to get Abide functioning on load. + * @private + */ + + }, { + key: "_init", + value: function _init() { + var _this2 = this; + + this.$inputs = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.merge( // Consider as input to validate: + this.$element.find('input').not('[type="submit"]'), // * all input fields expect submit + this.$element.find('textarea, select') // * all textareas and select fields + ); + this.$submits = this.$element.find('[type="submit"]'); + var $globalErrors = this.$element.find('[data-abide-error]'); // Add a11y attributes to all fields + + if (this.options.a11yAttributes) { + this.$inputs.each(function (i, input) { + return _this2.addA11yAttributes(jquery__WEBPACK_IMPORTED_MODULE_0___default()(input)); + }); + $globalErrors.each(function (i, error) { + return _this2.addGlobalErrorA11yAttributes(jquery__WEBPACK_IMPORTED_MODULE_0___default()(error)); + }); + } + + this._events(); + } + /** + * Initializes events for Abide. + * @private + */ + + }, { + key: "_events", + value: function _events() { + var _this3 = this; + + this.$element.off('.abide').on('reset.zf.abide', function () { + _this3.resetForm(); + }).on('submit.zf.abide', function () { + return _this3.validateForm(); + }); + this.$submits.off('click.zf.abide keydown.zf.abide').on('click.zf.abide keydown.zf.abide', function (e) { + if (!e.key || e.key === ' ' || e.key === 'Enter') { + e.preventDefault(); + _this3.formnovalidate = e.target.getAttribute('formnovalidate') !== null; + + _this3.$element.submit(); + } + }); + + if (this.options.validateOn === 'fieldChange') { + this.$inputs.off('change.zf.abide').on('change.zf.abide', function (e) { + _this3.validateInput(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target)); + }); + } + + if (this.options.liveValidate) { + this.$inputs.off('input.zf.abide').on('input.zf.abide', function (e) { + _this3.validateInput(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target)); + }); + } + + if (this.options.validateOnBlur) { + this.$inputs.off('blur.zf.abide').on('blur.zf.abide', function (e) { + _this3.validateInput(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target)); + }); + } + } + /** + * Calls necessary functions to update Abide upon DOM change + * @private + */ + + }, { + key: "_reflow", + value: function _reflow() { + this._init(); + } + /** + * Checks whether the submitted form should be validated or not, consodering formnovalidate and isEnabled + * @returns {Boolean} + * @private + */ + + }, { + key: "_validationIsDisabled", + value: function _validationIsDisabled() { + if (this.isEnabled === false) { + // whole validation disabled + return true; + } else if (typeof this.formnovalidate === 'boolean') { + // triggered by $submit + return this.formnovalidate; + } // triggered by Enter in non-submit input + + + return this.$submits.length ? this.$submits[0].getAttribute('formnovalidate') !== null : false; + } + /** + * Enables the whole validation + */ + + }, { + key: "enableValidation", + value: function enableValidation() { + this.isEnabled = true; + } + /** + * Disables the whole validation + */ + + }, { + key: "disableValidation", + value: function disableValidation() { + this.isEnabled = false; + } + /** + * Checks whether or not a form element has the required attribute and if it's checked or not + * @param {Object} element - jQuery object to check for required attribute + * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty + */ + + }, { + key: "requiredCheck", + value: function requiredCheck($el) { + if (!$el.attr('required')) return true; + var isGood = true; + + switch ($el[0].type) { + case 'checkbox': + isGood = $el[0].checked; + break; + + case 'select': + case 'select-one': + case 'select-multiple': + var opt = $el.find('option:selected'); + if (!opt.length || !opt.val()) isGood = false; + break; + + default: + if (!$el.val() || !$el.val().length) isGood = false; + } + + return isGood; + } + /** + * Get: + * - Based on $el, the first element(s) corresponding to `formErrorSelector` in this order: + * 1. The element's direct sibling('s). + * 2. The element's parent's children. + * - Element(s) with the attribute `[data-form-error-for]` set with the element's id. + * + * This allows for multiple form errors per input, though if none are found, no form errors will be shown. + * + * @param {Object} $el - jQuery object to use as reference to find the form error selector. + * @param {String[]} [failedValidators] - List of failed validators. + * @returns {Object} jQuery object with the selector. + */ + + }, { + key: "findFormError", + value: function findFormError($el, failedValidators) { + var _this4 = this; + + var id = $el.length ? $el[0].id : ''; + var $error = $el.siblings(this.options.formErrorSelector); + + if (!$error.length) { + $error = $el.parent().find(this.options.formErrorSelector); + } + + if (id) { + $error = $error.add(this.$element.find("[data-form-error-for=\"".concat(id, "\"]"))); + } + + if (!!failedValidators) { + $error = $error.not('[data-form-error-on]'); + failedValidators.forEach(function (v) { + $error = $error.add($el.siblings("[data-form-error-on=\"".concat(v, "\"]"))); + $error = $error.add(_this4.$element.find("[data-form-error-for=\"".concat(id, "\"][data-form-error-on=\"").concat(v, "\"]"))); + }); + } + + return $error; + } + /** + * Get the first element in this order: + * 2. The

  • '); + } + + if (_this.options.submenuToggle) { + $elem.addClass('has-submenu-toggle'); + $elem.children('a').after(''); + } else { + $elem.attr({ + 'aria-controls': subId, + 'aria-expanded': isActive, + 'id': linkId + }); + } + + $sub.attr({ + 'aria-labelledby': linkId, + 'aria-hidden': !isActive, + 'role': 'group', + 'id': subId + }); + }); + this.$element.find('li').attr({ + 'role': 'treeitem' + }); + var initPanes = this.$element.find('.is-active'); + + if (initPanes.length) { + initPanes.each(function () { + _this.down(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)); + }); + } + + this._events(); + } + /** + * Adds event handlers for items within the menu. + * @private + */ + + }, { + key: "_events", + value: function _events() { + var _this = this; + + this.$element.find('li').each(function () { + var $submenu = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).children('[data-submenu]'); + + if ($submenu.length) { + if (_this.options.submenuToggle) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).children('.submenu-toggle').off('click.zf.accordionMenu').on('click.zf.accordionMenu', function (e) { + _this.toggle($submenu); + }); + } else { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).children('a').off('click.zf.accordionMenu').on('click.zf.accordionMenu', function (e) { + e.preventDefault(); + + _this.toggle($submenu); + }); + } + } + }).on('keydown.zf.accordionMenu', function (e) { + var $element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), + $elements = $element.parent('ul').children('li'), + $prevElement, + $nextElement, + $target = $element.children('[data-submenu]'); + $elements.each(function (i) { + if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is($element)) { + $prevElement = $elements.eq(Math.max(0, i - 1)).find('a').first(); + $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1)).find('a').first(); + + if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).children('[data-submenu]:visible').length) { + // has open sub menu + $nextElement = $element.find('li:first-child').find('a').first(); + } + + if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is(':first-child')) { + // is first element of sub menu + $prevElement = $element.parents('li').first().find('a').first(); + } else if ($prevElement.parents('li').first().children('[data-submenu]:visible').length) { + // if previous element has open sub menu + $prevElement = $prevElement.parents('li').find('li:last-child').find('a').first(); + } + + if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is(':last-child')) { + // is last element of sub menu + $nextElement = $element.parents('li').first().next('li').find('a').first(); + } + + return; + } + }); + Keyboard.handleKey(e, 'AccordionMenu', { + open: function open() { + if ($target.is(':hidden')) { + _this.down($target); + + $target.find('li').first().find('a').first().focus(); + } + }, + close: function close() { + if ($target.length && !$target.is(':hidden')) { + // close active sub of this item + _this.up($target); + } else if ($element.parent('[data-submenu]').length) { + // close currently open sub + _this.up($element.parent('[data-submenu]')); + + $element.parents('li').first().find('a').first().focus(); + } + }, + up: function up() { + $prevElement.focus(); + return true; + }, + down: function down() { + $nextElement.focus(); + return true; + }, + toggle: function toggle() { + if (_this.options.submenuToggle) { + return false; + } + + if ($element.children('[data-submenu]').length) { + _this.toggle($element.children('[data-submenu]')); + + return true; + } + }, + closeAll: function closeAll() { + _this.hideAll(); + }, + handled: function handled(preventDefault) { + if (preventDefault) { + e.preventDefault(); + } + } + }); + }); //.attr('tabindex', 0); + } + /** + * Closes all panes of the menu. + * @function + */ + + }, { + key: "hideAll", + value: function hideAll() { + this.up(this.$element.find('[data-submenu]')); + } + /** + * Opens all panes of the menu. + * @function + */ + + }, { + key: "showAll", + value: function showAll() { + this.down(this.$element.find('[data-submenu]')); + } + /** + * Toggles the open/close state of a submenu. + * @function + * @param {jQuery} $target - the submenu to toggle + */ + + }, { + key: "toggle", + value: function toggle($target) { + if (!$target.is(':animated')) { + if (!$target.is(':hidden')) { + this.up($target); + } else { + this.down($target); + } + } + } + /** + * Opens the sub-menu defined by `$target`. + * @param {jQuery} $target - Sub-menu to open. + * @fires AccordionMenu#down + */ + + }, { + key: "down", + value: function down($target) { + var _this2 = this; // If having multiple submenus active is disabled, close all the submenus + // that are not parents or children of the targeted submenu. + + + if (!this.options.multiOpen) { + // The "branch" of the targetted submenu, from the component root to + // the active submenus nested in it. + var $targetBranch = $target.parentsUntil(this.$element).add($target).add($target.find('.is-active')); // All the active submenus that are not in the branch. + + var $othersActiveSubmenus = this.$element.find('.is-active').not($targetBranch); + this.up($othersActiveSubmenus); + } + + $target.addClass('is-active').attr({ + 'aria-hidden': false + }); + + if (this.options.submenuToggle) { + $target.prev('.submenu-toggle').attr({ + 'aria-expanded': true + }); + } else { + $target.parent('.is-accordion-submenu-parent').attr({ + 'aria-expanded': true + }); + } + + $target.slideDown(this.options.slideSpeed, function () { + /** + * Fires when the menu is done opening. + * @event AccordionMenu#down + */ + _this2.$element.trigger('down.zf.accordionMenu', [$target]); + }); + } + /** + * Closes the sub-menu defined by `$target`. All sub-menus inside the target will be closed as well. + * @param {jQuery} $target - Sub-menu to close. + * @fires AccordionMenu#up + */ + + }, { + key: "up", + value: function up($target) { + var _this3 = this; + + var $submenus = $target.find('[data-submenu]'); + var $allmenus = $target.add($submenus); + $submenus.slideUp(0); + $allmenus.removeClass('is-active').attr('aria-hidden', true); + + if (this.options.submenuToggle) { + $allmenus.prev('.submenu-toggle').attr('aria-expanded', false); + } else { + $allmenus.parent('.is-accordion-submenu-parent').attr('aria-expanded', false); + } + + $target.slideUp(this.options.slideSpeed, function () { + /** + * Fires when the menu is done collapsing up. + * @event AccordionMenu#up + */ + _this3.$element.trigger('up.zf.accordionMenu', [$target]); + }); + } + /** + * Destroys an instance of accordion menu. + * @fires AccordionMenu#destroyed + */ + + }, { + key: "_destroy", + value: function _destroy() { + this.$element.find('[data-submenu]').slideDown(0).css('display', ''); + this.$element.find('a').off('click.zf.accordionMenu'); + this.$element.find('[data-is-parent-link]').detach(); + + if (this.options.submenuToggle) { + this.$element.find('.has-submenu-toggle').removeClass('has-submenu-toggle'); + this.$element.find('.submenu-toggle').remove(); + } + + Nest.Burn(this.$element, 'accordion'); + } + }]); + + return AccordionMenu; +}(Plugin); + +AccordionMenu.defaults = { + /** + * Adds the parent link to the submenu. + * @option + * @type {boolean} + * @default false + */ + parentLink: false, + + /** + * Amount of time to animate the opening of a submenu in ms. + * @option + * @type {number} + * @default 250 + */ + slideSpeed: 250, + + /** + * Adds a separate submenu toggle button. This allows the parent item to have a link. + * @option + * @example true + */ + submenuToggle: false, + + /** + * The text used for the submenu toggle if enabled. This is used for screen readers only. + * @option + * @example true + */ + submenuToggleText: 'Toggle menu', + + /** + * Allow the menu to have multiple open panes. + * @option + * @type {boolean} + * @default true + */ + multiOpen: true +}; +/** + * Drilldown module. + * @module foundation.drilldown + * @requires foundation.util.keyboard + * @requires foundation.util.nest + * @requires foundation.util.box + */ + +var Drilldown = /*#__PURE__*/function (_Plugin) { + _inherits(Drilldown, _Plugin); + + function Drilldown() { + _classCallCheck(this, Drilldown); + + return _possibleConstructorReturn(this, _getPrototypeOf(Drilldown).apply(this, arguments)); + } + + _createClass(Drilldown, [{ + key: "_setup", + + /** + * Creates a new instance of a drilldown menu. + * @class + * @name Drilldown + * @param {jQuery} element - jQuery object to make into an accordion menu. + * @param {Object} options - Overrides to the default plugin settings. + */ + value: function _setup(element, options) { + this.$element = element; + this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Drilldown.defaults, this.$element.data(), options); + this.className = 'Drilldown'; // ie9 back compat + + this._init(); + + Keyboard.register('Drilldown', { + 'ENTER': 'open', + 'SPACE': 'open', + 'ARROW_RIGHT': 'next', + 'ARROW_UP': 'up', + 'ARROW_DOWN': 'down', + 'ARROW_LEFT': 'previous', + 'ESCAPE': 'close', + 'TAB': 'down', + 'SHIFT_TAB': 'up' + }); + } + /** + * Initializes the drilldown by creating jQuery collections of elements + * @private + */ + + }, { + key: "_init", + value: function _init() { + Nest.Feather(this.$element, 'drilldown'); + + if (this.options.autoApplyClass) { + this.$element.addClass('drilldown'); + } + + this.$element.attr({ + 'role': 'tree', + 'aria-multiselectable': false + }); + this.$submenuAnchors = this.$element.find('li.is-drilldown-submenu-parent').children('a'); + this.$submenus = this.$submenuAnchors.parent('li').children('[data-submenu]').attr('role', 'group'); + this.$menuItems = this.$element.find('li').not('.js-drilldown-back').attr('role', 'treeitem').find('a'); // Set the main menu as current by default (unless a submenu is selected) + // Used to set the wrapper height when the drilldown is closed/reopened from any (sub)menu + + this.$currentMenu = this.$element; + this.$element.attr('data-mutate', this.$element.attr('data-drilldown') || GetYoDigits(6, 'drilldown')); + + this._prepareMenu(); + + this._registerEvents(); + + this._keyboardEvents(); + } + /** + * prepares drilldown menu by setting attributes to links and elements + * sets a min height to prevent content jumping + * wraps the element if not already wrapped + * @private + * @function + */ + + }, { + key: "_prepareMenu", + value: function _prepareMenu() { + var _this = this; // if(!this.options.holdOpen){ + // this._menuLinkEvents(); + // } + + + this.$submenuAnchors.each(function () { + var $link = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this); + var $sub = $link.parent(); + + if (_this.options.parentLink) { + $link.clone().prependTo($sub.children('[data-submenu]')).wrap('
  • '); + } + + $link.data('savedHref', $link.attr('href')).removeAttr('href').attr('tabindex', 0); + $link.children('[data-submenu]').attr({ + 'aria-hidden': true, + 'tabindex': 0, + 'role': 'group' + }); + + _this._events($link); + }); + this.$submenus.each(function () { + var $menu = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), + $back = $menu.find('.js-drilldown-back'); + + if (!$back.length) { + switch (_this.options.backButtonPosition) { + case "bottom": + $menu.append(_this.options.backButton); + break; + + case "top": + $menu.prepend(_this.options.backButton); + break; + + default: + console.error("Unsupported backButtonPosition value '" + _this.options.backButtonPosition + "'"); + } + } + + _this._back($menu); + }); + this.$submenus.addClass('invisible'); + + if (!this.options.autoHeight) { + this.$submenus.addClass('drilldown-submenu-cover-previous'); + } // create a wrapper on element if it doesn't exist. + + + if (!this.$element.parent().hasClass('is-drilldown')) { + this.$wrapper = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.options.wrapper).addClass('is-drilldown'); + if (this.options.animateHeight) this.$wrapper.addClass('animate-height'); + this.$element.wrap(this.$wrapper); + } // set wrapper + + + this.$wrapper = this.$element.parent(); + this.$wrapper.css(this._getMaxDims()); + } + }, { + key: "_resize", + value: function _resize() { + this.$wrapper.css({ + 'max-width': 'none', + 'min-height': 'none' + }); // _getMaxDims has side effects (boo) but calling it should update all other necessary heights & widths + + this.$wrapper.css(this._getMaxDims()); + } + /** + * Adds event handlers to elements in the menu. + * @function + * @private + * @param {jQuery} $elem - the current menu item to add handlers to. + */ + + }, { + key: "_events", + value: function _events($elem) { + var _this = this; + + $elem.off('click.zf.drilldown').on('click.zf.drilldown', function (e) { + if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).parentsUntil('ul', 'li').hasClass('is-drilldown-submenu-parent')) { + e.preventDefault(); + } // if(e.target !== e.currentTarget.firstElementChild){ + // return false; + // } + + + _this._show($elem.parent('li')); + + if (_this.options.closeOnClick) { + var $body = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body'); + $body.off('.zf.drilldown').on('click.zf.drilldown', function (e) { + if (e.target === _this.$element[0] || jquery__WEBPACK_IMPORTED_MODULE_0___default.a.contains(_this.$element[0], e.target)) { + return; + } + + e.preventDefault(); + + _this._hideAll(); + + $body.off('.zf.drilldown'); + }); + } + }); + } + /** + * Adds event handlers to the menu element. + * @function + * @private + */ + + }, { + key: "_registerEvents", + value: function _registerEvents() { + if (this.options.scrollTop) { + this._bindHandler = this._scrollTop.bind(this); + this.$element.on('open.zf.drilldown hide.zf.drilldown close.zf.drilldown closed.zf.drilldown', this._bindHandler); + } + + this.$element.on('mutateme.zf.trigger', this._resize.bind(this)); + } + /** + * Scroll to Top of Element or data-scroll-top-element + * @function + * @fires Drilldown#scrollme + */ + + }, { + key: "_scrollTop", + value: function _scrollTop() { + var _this = this; + + var $scrollTopElement = _this.options.scrollTopElement != '' ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(_this.options.scrollTopElement) : _this.$element, + scrollPos = parseInt($scrollTopElement.offset().top + _this.options.scrollTopOffset, 10); + jquery__WEBPACK_IMPORTED_MODULE_0___default()('html, body').stop(true).animate({ + scrollTop: scrollPos + }, _this.options.animationDuration, _this.options.animationEasing, function () { + /** + * Fires after the menu has scrolled + * @event Drilldown#scrollme + */ + if (this === jquery__WEBPACK_IMPORTED_MODULE_0___default()('html')[0]) _this.$element.trigger('scrollme.zf.drilldown'); + }); + } + /** + * Adds keydown event listener to `li`'s in the menu. + * @private + */ + + }, { + key: "_keyboardEvents", + value: function _keyboardEvents() { + var _this = this; + + this.$menuItems.add(this.$element.find('.js-drilldown-back > a, .is-submenu-parent-item > a')).on('keydown.zf.drilldown', function (e) { + var $element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), + $elements = $element.parent('li').parent('ul').children('li').children('a'), + $prevElement, + $nextElement; + $elements.each(function (i) { + if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is($element)) { + $prevElement = $elements.eq(Math.max(0, i - 1)); + $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1)); + return; + } + }); + Keyboard.handleKey(e, 'Drilldown', { + next: function next() { + if ($element.is(_this.$submenuAnchors)) { + _this._show($element.parent('li')); + + $element.parent('li').one(transitionend($element), function () { + $element.parent('li').find('ul li a').not('.js-drilldown-back a').first().focus(); + }); + return true; + } + }, + previous: function previous() { + _this._hide($element.parent('li').parent('ul')); + + $element.parent('li').parent('ul').one(transitionend($element), function () { + setTimeout(function () { + $element.parent('li').parent('ul').parent('li').children('a').first().focus(); + }, 1); + }); + return true; + }, + up: function up() { + $prevElement.focus(); // Don't tap focus on first element in root ul + + return !$element.is(_this.$element.find('> li:first-child > a')); + }, + down: function down() { + $nextElement.focus(); // Don't tap focus on last element in root ul + + return !$element.is(_this.$element.find('> li:last-child > a')); + }, + close: function close() { + // Don't close on element in root ul + if (!$element.is(_this.$element.find('> li > a'))) { + _this._hide($element.parent().parent()); + + $element.parent().parent().siblings('a').focus(); + } + }, + open: function open() { + if (_this.options.parentLink && $element.attr('href')) { + // Link with href + return false; + } else if (!$element.is(_this.$menuItems)) { + // not menu item means back button + _this._hide($element.parent('li').parent('ul')); + + $element.parent('li').parent('ul').one(transitionend($element), function () { + setTimeout(function () { + $element.parent('li').parent('ul').parent('li').children('a').first().focus(); + }, 1); + }); + return true; + } else if ($element.is(_this.$submenuAnchors)) { + // Sub menu item + _this._show($element.parent('li')); + + $element.parent('li').one(transitionend($element), function () { + $element.parent('li').find('ul li a').not('.js-drilldown-back a').first().focus(); + }); + return true; + } + }, + handled: function handled(preventDefault) { + if (preventDefault) { + e.preventDefault(); + } + } + }); + }); // end keyboardAccess + } + /** + * Closes all open elements, and returns to root menu. + * @function + * @fires Drilldown#close + * @fires Drilldown#closed + */ + + }, { + key: "_hideAll", + value: function _hideAll() { + var _this2 = this; + + var $elem = this.$element.find('.is-drilldown-submenu.is-active'); + $elem.addClass('is-closing'); + + if (this.options.autoHeight) { + var calcHeight = $elem.parent().closest('ul').data('calcHeight'); + this.$wrapper.css({ + height: calcHeight + }); + } + /** + * Fires when the menu is closing. + * @event Drilldown#close + */ + + + this.$element.trigger('close.zf.drilldown'); + $elem.one(transitionend($elem), function () { + $elem.removeClass('is-active is-closing'); + /** + * Fires when the menu is fully closed. + * @event Drilldown#closed + */ + + _this2.$element.trigger('closed.zf.drilldown'); + }); + } + /** + * Adds event listener for each `back` button, and closes open menus. + * @function + * @fires Drilldown#back + * @param {jQuery} $elem - the current sub-menu to add `back` event. + */ + + }, { + key: "_back", + value: function _back($elem) { + var _this = this; + + $elem.off('click.zf.drilldown'); + $elem.children('.js-drilldown-back').on('click.zf.drilldown', function (e) { + // console.log('mouseup on back'); + _this._hide($elem); // If there is a parent submenu, call show + + + var parentSubMenu = $elem.parent('li').parent('ul').parent('li'); + + if (parentSubMenu.length) { + _this._show(parentSubMenu); + } + }); + } + /** + * Adds event listener to menu items w/o submenus to close open menus on click. + * @function + * @private + */ + + }, { + key: "_menuLinkEvents", + value: function _menuLinkEvents() { + var _this = this; + + this.$menuItems.not('.is-drilldown-submenu-parent').off('click.zf.drilldown').on('click.zf.drilldown', function (e) { + setTimeout(function () { + _this._hideAll(); + }, 0); + }); + } + /** + * Sets the CSS classes for submenu to show it. + * @function + * @private + * @param {jQuery} $elem - the target submenu (`ul` tag) + * @param {boolean} trigger - trigger drilldown event + */ + + }, { + key: "_setShowSubMenuClasses", + value: function _setShowSubMenuClasses($elem, trigger) { + $elem.addClass('is-active').removeClass('invisible').attr('aria-hidden', false); + $elem.parent('li').attr('aria-expanded', true); + + if (trigger === true) { + this.$element.trigger('open.zf.drilldown', [$elem]); + } + } + /** + * Sets the CSS classes for submenu to hide it. + * @function + * @private + * @param {jQuery} $elem - the target submenu (`ul` tag) + * @param {boolean} trigger - trigger drilldown event + */ + + }, { + key: "_setHideSubMenuClasses", + value: function _setHideSubMenuClasses($elem, trigger) { + $elem.removeClass('is-active').addClass('invisible').attr('aria-hidden', true); + $elem.parent('li').attr('aria-expanded', false); + + if (trigger === true) { + $elem.trigger('hide.zf.drilldown', [$elem]); + } + } + /** + * Opens a specific drilldown (sub)menu no matter which (sub)menu in it is currently visible. + * Compared to _show() this lets you jump into any submenu without clicking through every submenu on the way to it. + * @function + * @fires Drilldown#open + * @param {jQuery} $elem - the target (sub)menu (`ul` tag) + * @param {boolean} autoFocus - if true the first link in the target (sub)menu gets auto focused + */ + + }, { + key: "_showMenu", + value: function _showMenu($elem, autoFocus) { + var _this = this; // Reset drilldown + + + var $expandedSubmenus = this.$element.find('li[aria-expanded="true"] > ul[data-submenu]'); + $expandedSubmenus.each(function (index) { + _this._setHideSubMenuClasses(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)); + }); // Save the menu as the currently displayed one. + + this.$currentMenu = $elem; // If target menu is root, focus first link & exit + + if ($elem.is('[data-drilldown]')) { + if (autoFocus === true) $elem.find('li[role="treeitem"] > a').first().focus(); + if (this.options.autoHeight) this.$wrapper.css('height', $elem.data('calcHeight')); + return; + } // Find all submenus on way to root incl. the element itself + + + var $submenus = $elem.children().first().parentsUntil('[data-drilldown]', '[data-submenu]'); // Open target menu and all submenus on its way to root + + $submenus.each(function (index) { + // Update height of first child (target menu) if autoHeight option true + if (index === 0 && _this.options.autoHeight) { + _this.$wrapper.css('height', jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('calcHeight')); + } + + var isLastChild = index == $submenus.length - 1; // Add transitionsend listener to last child (root due to reverse order) to open target menu's first link + // Last child makes sure the event gets always triggered even if going through several menus + + if (isLastChild === true) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).one(transitionend(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)), function () { + if (autoFocus === true) { + $elem.find('li[role="treeitem"] > a').first().focus(); + } + }); + } + + _this._setShowSubMenuClasses(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), isLastChild); + }); + } + /** + * Opens a submenu. + * @function + * @fires Drilldown#open + * @param {jQuery} $elem - the current element with a submenu to open, i.e. the `li` tag. + */ + + }, { + key: "_show", + value: function _show($elem) { + var $submenu = $elem.children('[data-submenu]'); + $elem.attr('aria-expanded', true); + this.$currentMenu = $submenu; + $submenu.addClass('is-active').removeClass('invisible').attr('aria-hidden', false); + + if (this.options.autoHeight) { + this.$wrapper.css({ + height: $submenu.data('calcHeight') + }); + } + /** + * Fires when the submenu has opened. + * @event Drilldown#open + */ + + + this.$element.trigger('open.zf.drilldown', [$elem]); + } + /** + * Hides a submenu + * @function + * @fires Drilldown#hide + * @param {jQuery} $elem - the current sub-menu to hide, i.e. the `ul` tag. + */ + + }, { + key: "_hide", + value: function _hide($elem) { + if (this.options.autoHeight) this.$wrapper.css({ + height: $elem.parent().closest('ul').data('calcHeight') + }); + $elem.parent('li').attr('aria-expanded', false); + $elem.attr('aria-hidden', true); + $elem.addClass('is-closing').one(transitionend($elem), function () { + $elem.removeClass('is-active is-closing'); + $elem.blur().addClass('invisible'); + }); + /** + * Fires when the submenu has closed. + * @event Drilldown#hide + */ + + $elem.trigger('hide.zf.drilldown', [$elem]); + } + /** + * Iterates through the nested menus to calculate the min-height, and max-width for the menu. + * Prevents content jumping. + * @function + * @private + */ + + }, { + key: "_getMaxDims", + value: function _getMaxDims() { + var maxHeight = 0, + result = {}, + _this = this; // Recalculate menu heights and total max height + + + this.$submenus.add(this.$element).each(function () { + var numOfElems = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).children('li').length; + var height = Box.GetDimensions(this).height; + maxHeight = height > maxHeight ? height : maxHeight; + + if (_this.options.autoHeight) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('calcHeight', height); + } + }); + if (this.options.autoHeight) result['height'] = this.$currentMenu.data('calcHeight');else result['min-height'] = "".concat(maxHeight, "px"); + result['max-width'] = "".concat(this.$element[0].getBoundingClientRect().width, "px"); + return result; + } + /** + * Destroys the Drilldown Menu + * @function + */ + + }, { + key: "_destroy", + value: function _destroy() { + if (this.options.scrollTop) this.$element.off('.zf.drilldown', this._bindHandler); + + this._hideAll(); + + this.$element.off('mutateme.zf.trigger'); + Nest.Burn(this.$element, 'drilldown'); + this.$element.unwrap().find('.js-drilldown-back, .is-submenu-parent-item').remove().end().find('.is-active, .is-closing, .is-drilldown-submenu').removeClass('is-active is-closing is-drilldown-submenu').end().find('[data-submenu]').removeAttr('aria-hidden tabindex role'); + this.$submenuAnchors.each(function () { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).off('.zf.drilldown'); + }); + this.$element.find('[data-is-parent-link]').detach(); + this.$submenus.removeClass('drilldown-submenu-cover-previous invisible'); + this.$element.find('a').each(function () { + var $link = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this); + $link.removeAttr('tabindex'); + + if ($link.data('savedHref')) { + $link.attr('href', $link.data('savedHref')).removeData('savedHref'); + } else { + return; + } + }); + } + }]); + + return Drilldown; +}(Plugin); + +Drilldown.defaults = { + /** + * Drilldowns depend on styles in order to function properly; in the default build of Foundation these are + * on the `drilldown` class. This option auto-applies this class to the drilldown upon initialization. + * @option + * @type {boolean} + * @default true + */ + autoApplyClass: true, + + /** + * Markup used for JS generated back button. Prepended or appended (see backButtonPosition) to submenu lists and deleted on `destroy` method, 'js-drilldown-back' class required. Remove the backslash (`\`) if copy and pasting. + * @option + * @type {string} + * @default '
  • Back
  • ' + */ + backButton: '
  • Back
  • ', + + /** + * Position the back button either at the top or bottom of drilldown submenus. Can be `'left'` or `'bottom'`. + * @option + * @type {string} + * @default top + */ + backButtonPosition: 'top', + + /** + * Markup used to wrap drilldown menu. Use a class name for independent styling; the JS applied class: `is-drilldown` is required. Remove the backslash (`\`) if copy and pasting. + * @option + * @type {string} + * @default '
    ' + */ + wrapper: '
    ', + + /** + * Adds the parent link to the submenu. + * @option + * @type {boolean} + * @default false + */ + parentLink: false, + + /** + * Allow the menu to return to root list on body click. + * @option + * @type {boolean} + * @default false + */ + closeOnClick: false, + + /** + * Allow the menu to auto adjust height. + * @option + * @type {boolean} + * @default false + */ + autoHeight: false, + + /** + * Animate the auto adjust height. + * @option + * @type {boolean} + * @default false + */ + animateHeight: false, + + /** + * Scroll to the top of the menu after opening a submenu or navigating back using the menu back button + * @option + * @type {boolean} + * @default false + */ + scrollTop: false, + + /** + * String jquery selector (for example 'body') of element to take offset().top from, if empty string the drilldown menu offset().top is taken + * @option + * @type {string} + * @default '' + */ + scrollTopElement: '', + + /** + * ScrollTop offset + * @option + * @type {number} + * @default 0 + */ + scrollTopOffset: 0, + + /** + * Scroll animation duration + * @option + * @type {number} + * @default 500 + */ + animationDuration: 500, + + /** + * Scroll animation easing. Can be `'swing'` or `'linear'`. + * @option + * @type {string} + * @see {@link https://api.jquery.com/animate|JQuery animate} + * @default 'swing' + */ + animationEasing: 'swing' // holdOpen: false + +}; +var POSITIONS = ['left', 'right', 'top', 'bottom']; +var VERTICAL_ALIGNMENTS = ['top', 'bottom', 'center']; +var HORIZONTAL_ALIGNMENTS = ['left', 'right', 'center']; +var ALIGNMENTS = { + 'left': VERTICAL_ALIGNMENTS, + 'right': VERTICAL_ALIGNMENTS, + 'top': HORIZONTAL_ALIGNMENTS, + 'bottom': HORIZONTAL_ALIGNMENTS +}; + +function nextItem(item, array) { + var currentIdx = array.indexOf(item); + + if (currentIdx === array.length - 1) { + return array[0]; + } else { + return array[currentIdx + 1]; + } +} + +var Positionable = /*#__PURE__*/function (_Plugin) { + _inherits(Positionable, _Plugin); + + function Positionable() { + _classCallCheck(this, Positionable); + + return _possibleConstructorReturn(this, _getPrototypeOf(Positionable).apply(this, arguments)); + } + + _createClass(Positionable, [{ + key: "_init", + + /** + * Abstract class encapsulating the tether-like explicit positioning logic + * including repositioning based on overlap. + * Expects classes to define defaults for vOffset, hOffset, position, + * alignment, allowOverlap, and allowBottomOverlap. They can do this by + * extending the defaults, or (for now recommended due to the way docs are + * generated) by explicitly declaring them. + * + **/ + value: function _init() { + this.triedPositions = {}; + this.position = this.options.position === 'auto' ? this._getDefaultPosition() : this.options.position; + this.alignment = this.options.alignment === 'auto' ? this._getDefaultAlignment() : this.options.alignment; + this.originalPosition = this.position; + this.originalAlignment = this.alignment; + } + }, { + key: "_getDefaultPosition", + value: function _getDefaultPosition() { + return 'bottom'; + } + }, { + key: "_getDefaultAlignment", + value: function _getDefaultAlignment() { + switch (this.position) { + case 'bottom': + case 'top': + return rtl() ? 'right' : 'left'; + + case 'left': + case 'right': + return 'bottom'; + } + } + /** + * Adjusts the positionable possible positions by iterating through alignments + * and positions. + * @function + * @private + */ + + }, { + key: "_reposition", + value: function _reposition() { + if (this._alignmentsExhausted(this.position)) { + this.position = nextItem(this.position, POSITIONS); + this.alignment = ALIGNMENTS[this.position][0]; + } else { + this._realign(); + } + } + /** + * Adjusts the dropdown pane possible positions by iterating through alignments + * on the current position. + * @function + * @private + */ + + }, { + key: "_realign", + value: function _realign() { + this._addTriedPosition(this.position, this.alignment); + + this.alignment = nextItem(this.alignment, ALIGNMENTS[this.position]); + } + }, { + key: "_addTriedPosition", + value: function _addTriedPosition(position, alignment) { + this.triedPositions[position] = this.triedPositions[position] || []; + this.triedPositions[position].push(alignment); + } + }, { + key: "_positionsExhausted", + value: function _positionsExhausted() { + var isExhausted = true; + + for (var i = 0; i < POSITIONS.length; i++) { + isExhausted = isExhausted && this._alignmentsExhausted(POSITIONS[i]); + } + + return isExhausted; + } + }, { + key: "_alignmentsExhausted", + value: function _alignmentsExhausted(position) { + return this.triedPositions[position] && this.triedPositions[position].length == ALIGNMENTS[position].length; + } // When we're trying to center, we don't want to apply offset that's going to + // take us just off center, so wrap around to return 0 for the appropriate + // offset in those alignments. TODO: Figure out if we want to make this + // configurable behavior... it feels more intuitive, especially for tooltips, but + // it's possible someone might actually want to start from center and then nudge + // slightly off. + + }, { + key: "_getVOffset", + value: function _getVOffset() { + return this.options.vOffset; + } + }, { + key: "_getHOffset", + value: function _getHOffset() { + return this.options.hOffset; + } + }, { + key: "_setPosition", + value: function _setPosition($anchor, $element, $parent) { + if ($anchor.attr('aria-expanded') === 'false') { + return false; + } + + if (!this.options.allowOverlap) { + // restore original position & alignment before checking overlap + this.position = this.originalPosition; + this.alignment = this.originalAlignment; + } + + $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset())); + + if (!this.options.allowOverlap) { + var minOverlap = 100000000; // default coordinates to how we start, in case we can't figure out better + + var minCoordinates = { + position: this.position, + alignment: this.alignment + }; + + while (!this._positionsExhausted()) { + var overlap = Box.OverlapArea($element, $parent, false, false, this.options.allowBottomOverlap); + + if (overlap === 0) { + return; + } + + if (overlap < minOverlap) { + minOverlap = overlap; + minCoordinates = { + position: this.position, + alignment: this.alignment + }; + } + + this._reposition(); + + $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset())); + } // If we get through the entire loop, there was no non-overlapping + // position available. Pick the version with least overlap. + + + this.position = minCoordinates.position; + this.alignment = minCoordinates.alignment; + $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset())); + } + } + }]); + + return Positionable; +}(Plugin); + +Positionable.defaults = { + /** + * Position of positionable relative to anchor. Can be left, right, bottom, top, or auto. + * @option + * @type {string} + * @default 'auto' + */ + position: 'auto', + + /** + * Alignment of positionable relative to anchor. Can be left, right, bottom, top, center, or auto. + * @option + * @type {string} + * @default 'auto' + */ + alignment: 'auto', + + /** + * Allow overlap of container/window. If false, dropdown positionable first + * try to position as defined by data-position and data-alignment, but + * reposition if it would cause an overflow. + * @option + * @type {boolean} + * @default false + */ + allowOverlap: false, + + /** + * Allow overlap of only the bottom of the container. This is the most common + * behavior for dropdowns, allowing the dropdown to extend the bottom of the + * screen but not otherwise influence or break out of the container. + * @option + * @type {boolean} + * @default true + */ + allowBottomOverlap: true, + + /** + * Number of pixels the positionable should be separated vertically from anchor + * @option + * @type {number} + * @default 0 + */ + vOffset: 0, + + /** + * Number of pixels the positionable should be separated horizontally from anchor + * @option + * @type {number} + * @default 0 + */ + hOffset: 0 +}; +/** + * Dropdown module. + * @module foundation.dropdown + * @requires foundation.util.keyboard + * @requires foundation.util.box + * @requires foundation.util.touch + * @requires foundation.util.triggers + */ + +var Dropdown = /*#__PURE__*/function (_Positionable) { + _inherits(Dropdown, _Positionable); + + function Dropdown() { + _classCallCheck(this, Dropdown); + + return _possibleConstructorReturn(this, _getPrototypeOf(Dropdown).apply(this, arguments)); + } + + _createClass(Dropdown, [{ + key: "_setup", + + /** + * Creates a new instance of a dropdown. + * @class + * @name Dropdown + * @param {jQuery} element - jQuery object to make into a dropdown. + * Object should be of the dropdown panel, rather than its anchor. + * @param {Object} options - Overrides to the default plugin settings. + */ + value: function _setup(element, options) { + this.$element = element; + this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Dropdown.defaults, this.$element.data(), options); + this.className = 'Dropdown'; // ie9 back compat + // Touch and Triggers init are idempotent, just need to make sure they are initialized + + Touch.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); + Triggers.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); + + this._init(); + + Keyboard.register('Dropdown', { + 'ENTER': 'toggle', + 'SPACE': 'toggle', + 'ESCAPE': 'close' + }); + } + /** + * Initializes the plugin by setting/checking options and attributes, adding helper variables, and saving the anchor. + * @function + * @private + */ + + }, { + key: "_init", + value: function _init() { + var $id = this.$element.attr('id'); + this.$anchors = jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-toggle=\"".concat($id, "\"]")).length ? jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-toggle=\"".concat($id, "\"]")) : jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-open=\"".concat($id, "\"]")); + this.$anchors.attr({ + 'aria-controls': $id, + 'data-is-focus': false, + 'data-yeti-box': $id, + 'aria-haspopup': true, + 'aria-expanded': false + }); + + this._setCurrentAnchor(this.$anchors.first()); + + if (this.options.parentClass) { + this.$parent = this.$element.parents('.' + this.options.parentClass); + } else { + this.$parent = null; + } // Set [aria-labelledby] on the Dropdown if it is not set + + + if (typeof this.$element.attr('aria-labelledby') === 'undefined') { + // Get the anchor ID or create one + if (typeof this.$currentAnchor.attr('id') === 'undefined') { + this.$currentAnchor.attr('id', GetYoDigits(6, 'dd-anchor')); + } + + this.$element.attr('aria-labelledby', this.$currentAnchor.attr('id')); + } + + this.$element.attr({ + 'aria-hidden': 'true', + 'data-yeti-box': $id, + 'data-resize': $id + }); + + _get(_getPrototypeOf(Dropdown.prototype), "_init", this).call(this); + + this._events(); + } + }, { + key: "_getDefaultPosition", + value: function _getDefaultPosition() { + // handle legacy classnames + var position = this.$element[0].className.match(/(top|left|right|bottom)/g); + + if (position) { + return position[0]; + } else { + return 'bottom'; + } + } + }, { + key: "_getDefaultAlignment", + value: function _getDefaultAlignment() { + // handle legacy float approach + var horizontalPosition = /float-(\S+)/.exec(this.$currentAnchor.attr('class')); + + if (horizontalPosition) { + return horizontalPosition[1]; + } + + return _get(_getPrototypeOf(Dropdown.prototype), "_getDefaultAlignment", this).call(this); + } + /** + * Sets the position and orientation of the dropdown pane, checks for collisions if allow-overlap is not true. + * Recursively calls itself if a collision is detected, with a new position class. + * @function + * @private + */ + + }, { + key: "_setPosition", + value: function _setPosition() { + this.$element.removeClass("has-position-".concat(this.position, " has-alignment-").concat(this.alignment)); + + _get(_getPrototypeOf(Dropdown.prototype), "_setPosition", this).call(this, this.$currentAnchor, this.$element, this.$parent); + + this.$element.addClass("has-position-".concat(this.position, " has-alignment-").concat(this.alignment)); + } + /** + * Make it a current anchor. + * Current anchor as the reference for the position of Dropdown panes. + * @param {HTML} el - DOM element of the anchor. + * @function + * @private + */ + + }, { + key: "_setCurrentAnchor", + value: function _setCurrentAnchor(el) { + this.$currentAnchor = jquery__WEBPACK_IMPORTED_MODULE_0___default()(el); + } + /** + * Adds event listeners to the element utilizing the triggers utility library. + * @function + * @private + */ + + }, { + key: "_events", + value: function _events() { + var _this = this, + hasTouch = 'ontouchstart' in window || typeof window.ontouchstart !== 'undefined'; + + this.$element.on({ + 'open.zf.trigger': this.open.bind(this), + 'close.zf.trigger': this.close.bind(this), + 'toggle.zf.trigger': this.toggle.bind(this), + 'resizeme.zf.trigger': this._setPosition.bind(this) + }); + this.$anchors.off('click.zf.trigger').on('click.zf.trigger', function (e) { + _this._setCurrentAnchor(this); + + if ( // if forceFollow false, always prevent default action + _this.options.forceFollow === false || // if forceFollow true and hover option true, only prevent default action on 1st click + // on 2nd click (dropown opened) the default action (e.g. follow a href) gets executed + hasTouch && _this.options.hover && _this.$element.hasClass('is-open') === false) { + e.preventDefault(); + } + }); + + if (this.options.hover) { + this.$anchors.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown', function () { + _this._setCurrentAnchor(this); + + var bodyData = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').data(); + + if (typeof bodyData.whatinput === 'undefined' || bodyData.whatinput === 'mouse') { + clearTimeout(_this.timeout); + _this.timeout = setTimeout(function () { + _this.open(); + + _this.$anchors.data('hover', true); + }, _this.options.hoverDelay); + } + }).on('mouseleave.zf.dropdown', ignoreMousedisappear(function () { + clearTimeout(_this.timeout); + _this.timeout = setTimeout(function () { + _this.close(); + + _this.$anchors.data('hover', false); + }, _this.options.hoverDelay); + })); + + if (this.options.hoverPane) { + this.$element.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown', function () { + clearTimeout(_this.timeout); + }).on('mouseleave.zf.dropdown', ignoreMousedisappear(function () { + clearTimeout(_this.timeout); + _this.timeout = setTimeout(function () { + _this.close(); + + _this.$anchors.data('hover', false); + }, _this.options.hoverDelay); + })); + } + } + + this.$anchors.add(this.$element).on('keydown.zf.dropdown', function (e) { + var $target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), + visibleFocusableElements = Keyboard.findFocusable(_this.$element); + Keyboard.handleKey(e, 'Dropdown', { + open: function open() { + if ($target.is(_this.$anchors) && !$target.is('input, textarea')) { + _this.open(); + + _this.$element.attr('tabindex', -1).focus(); + + e.preventDefault(); + } + }, + close: function close() { + _this.close(); + + _this.$anchors.focus(); + } + }); + }); + } + /** + * Adds an event handler to the body to close any dropdowns on a click. + * @function + * @private + */ + + }, { + key: "_addBodyHandler", + value: function _addBodyHandler() { + var $body = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body).not(this.$element), + _this = this; + + $body.off('click.zf.dropdown tap.zf.dropdown').on('click.zf.dropdown tap.zf.dropdown', function (e) { + if (_this.$anchors.is(e.target) || _this.$anchors.find(e.target).length) { + return; + } + + if (_this.$element.is(e.target) || _this.$element.find(e.target).length) { + return; + } + + _this.close(); + + $body.off('click.zf.dropdown tap.zf.dropdown'); + }); + } + /** + * Opens the dropdown pane, and fires a bubbling event to close other dropdowns. + * @function + * @fires Dropdown#closeme + * @fires Dropdown#show + */ + + }, { + key: "open", + value: function open() { + // var _this = this; + + /** + * Fires to close other open dropdowns, typically when dropdown is opening + * @event Dropdown#closeme + */ + this.$element.trigger('closeme.zf.dropdown', this.$element.attr('id')); + this.$anchors.addClass('hover').attr({ + 'aria-expanded': true + }); // this.$element/*.show()*/; + + this.$element.addClass('is-opening'); + + this._setPosition(); + + this.$element.removeClass('is-opening').addClass('is-open').attr({ + 'aria-hidden': false + }); + + if (this.options.autoFocus) { + var $focusable = Keyboard.findFocusable(this.$element); + + if ($focusable.length) { + $focusable.eq(0).focus(); + } + } + + if (this.options.closeOnClick) { + this._addBodyHandler(); + } + + if (this.options.trapFocus) { + Keyboard.trapFocus(this.$element); + } + /** + * Fires once the dropdown is visible. + * @event Dropdown#show + */ + + + this.$element.trigger('show.zf.dropdown', [this.$element]); + } + /** + * Closes the open dropdown pane. + * @function + * @fires Dropdown#hide + */ + + }, { + key: "close", + value: function close() { + if (!this.$element.hasClass('is-open')) { + return false; + } + + this.$element.removeClass('is-open').attr({ + 'aria-hidden': true + }); + this.$anchors.removeClass('hover').attr('aria-expanded', false); + /** + * Fires once the dropdown is no longer visible. + * @event Dropdown#hide + */ + + this.$element.trigger('hide.zf.dropdown', [this.$element]); + + if (this.options.trapFocus) { + Keyboard.releaseFocus(this.$element); + } + } + /** + * Toggles the dropdown pane's visibility. + * @function + */ + + }, { + key: "toggle", + value: function toggle() { + if (this.$element.hasClass('is-open')) { + if (this.$anchors.data('hover')) return; + this.close(); + } else { + this.open(); + } + } + /** + * Destroys the dropdown. + * @function + */ + + }, { + key: "_destroy", + value: function _destroy() { + this.$element.off('.zf.trigger').hide(); + this.$anchors.off('.zf.dropdown'); + jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body).off('click.zf.dropdown tap.zf.dropdown'); + } + }]); + + return Dropdown; +}(Positionable); + +Dropdown.defaults = { + /** + * Class that designates bounding container of Dropdown (default: window) + * @option + * @type {?string} + * @default null + */ + parentClass: null, + + /** + * Amount of time to delay opening a submenu on hover event. + * @option + * @type {number} + * @default 250 + */ + hoverDelay: 250, + + /** + * Allow submenus to open on hover events + * @option + * @type {boolean} + * @default false + */ + hover: false, + + /** + * Don't close dropdown when hovering over dropdown pane + * @option + * @type {boolean} + * @default false + */ + hoverPane: false, + + /** + * Number of pixels between the dropdown pane and the triggering element on open. + * @option + * @type {number} + * @default 0 + */ + vOffset: 0, + + /** + * Number of pixels between the dropdown pane and the triggering element on open. + * @option + * @type {number} + * @default 0 + */ + hOffset: 0, + + /** + * Position of dropdown. Can be left, right, bottom, top, or auto. + * @option + * @type {string} + * @default 'auto' + */ + position: 'auto', + + /** + * Alignment of dropdown relative to anchor. Can be left, right, bottom, top, center, or auto. + * @option + * @type {string} + * @default 'auto' + */ + alignment: 'auto', + + /** + * Allow overlap of container/window. If false, dropdown will first try to position as defined by data-position and data-alignment, but reposition if it would cause an overflow. + * @option + * @type {boolean} + * @default false + */ + allowOverlap: false, + + /** + * Allow overlap of only the bottom of the container. This is the most common + * behavior for dropdowns, allowing the dropdown to extend the bottom of the + * screen but not otherwise influence or break out of the container. + * @option + * @type {boolean} + * @default true + */ + allowBottomOverlap: true, + + /** + * Allow the plugin to trap focus to the dropdown pane if opened with keyboard commands. + * @option + * @type {boolean} + * @default false + */ + trapFocus: false, + + /** + * Allow the plugin to set focus to the first focusable element within the pane, regardless of method of opening. + * @option + * @type {boolean} + * @default false + */ + autoFocus: false, + + /** + * Allows a click on the body to close the dropdown. + * @option + * @type {boolean} + * @default false + */ + closeOnClick: false, + + /** + * If true the default action of the toggle (e.g. follow a link with href) gets executed on click. If hover option is also true the default action gets prevented on first click for mobile / touch devices and executed on second click. + * @option + * @type {boolean} + * @default true + */ + forceFollow: true +}; +/** + * DropdownMenu module. + * @module foundation.dropdownMenu + * @requires foundation.util.keyboard + * @requires foundation.util.box + * @requires foundation.util.nest + * @requires foundation.util.touch + */ + +var DropdownMenu = /*#__PURE__*/function (_Plugin) { + _inherits(DropdownMenu, _Plugin); + + function DropdownMenu() { + _classCallCheck(this, DropdownMenu); + + return _possibleConstructorReturn(this, _getPrototypeOf(DropdownMenu).apply(this, arguments)); + } + + _createClass(DropdownMenu, [{ + key: "_setup", + + /** + * Creates a new instance of DropdownMenu. + * @class + * @name DropdownMenu + * @fires DropdownMenu#init + * @param {jQuery} element - jQuery object to make into a dropdown menu. + * @param {Object} options - Overrides to the default plugin settings. + */ + value: function _setup(element, options) { + this.$element = element; + this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, DropdownMenu.defaults, this.$element.data(), options); + this.className = 'DropdownMenu'; // ie9 back compat + + Touch.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); // Touch init is idempotent, we just need to make sure it's initialied. + + this._init(); + + Keyboard.register('DropdownMenu', { + 'ENTER': 'open', + 'SPACE': 'open', + 'ARROW_RIGHT': 'next', + 'ARROW_UP': 'up', + 'ARROW_DOWN': 'down', + 'ARROW_LEFT': 'previous', + 'ESCAPE': 'close' + }); + } + /** + * Initializes the plugin, and calls _prepareMenu + * @private + * @function + */ + + }, { + key: "_init", + value: function _init() { + Nest.Feather(this.$element, 'dropdown'); + var subs = this.$element.find('li.is-dropdown-submenu-parent'); + this.$element.children('.is-dropdown-submenu-parent').children('.is-dropdown-submenu').addClass('first-sub'); + this.$menuItems = this.$element.find('li[role="none"]'); + this.$tabs = this.$element.children('li[role="none"]'); + this.$tabs.find('ul.is-dropdown-submenu').addClass(this.options.verticalClass); + + if (this.options.alignment === 'auto') { + if (this.$element.hasClass(this.options.rightClass) || rtl() || this.$element.parents('.top-bar-right').is('*')) { + this.options.alignment = 'right'; + subs.addClass('opens-left'); + } else { + this.options.alignment = 'left'; + subs.addClass('opens-right'); + } + } else { + if (this.options.alignment === 'right') { + subs.addClass('opens-left'); + } else { + subs.addClass('opens-right'); + } + } + + this.changed = false; + + this._events(); + } + }, { + key: "_isVertical", + value: function _isVertical() { + return this.$tabs.css('display') === 'block' || this.$element.css('flex-direction') === 'column'; + } + }, { + key: "_isRtl", + value: function _isRtl() { + return this.$element.hasClass('align-right') || rtl() && !this.$element.hasClass('align-left'); + } + /** + * Adds event listeners to elements within the menu + * @private + * @function + */ + + }, { + key: "_events", + value: function _events() { + var _this = this, + hasTouch = 'ontouchstart' in window || typeof window.ontouchstart !== 'undefined', + parClass = 'is-dropdown-submenu-parent'; // used for onClick and in the keyboard handlers + + + var handleClickFn = function handleClickFn(e) { + var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).parentsUntil('ul', ".".concat(parClass)), + hasSub = $elem.hasClass(parClass), + hasClicked = $elem.attr('data-is-click') === 'true', + $sub = $elem.children('.is-dropdown-submenu'); + + if (hasSub) { + if (hasClicked) { + if (!_this.options.closeOnClick || !_this.options.clickOpen && !hasTouch || _this.options.forceFollow && hasTouch) { + return; + } + + e.stopImmediatePropagation(); + e.preventDefault(); + + _this._hide($elem); + } else { + e.stopImmediatePropagation(); + e.preventDefault(); + + _this._show($sub); + + $elem.add($elem.parentsUntil(_this.$element, ".".concat(parClass))).attr('data-is-click', true); + } + } + }; + + if (this.options.clickOpen || hasTouch) { + this.$menuItems.on('click.zf.dropdownMenu touchstart.zf.dropdownMenu', handleClickFn); + } // Handle Leaf element Clicks + + + if (_this.options.closeOnClickInside) { + this.$menuItems.on('click.zf.dropdownMenu', function (e) { + var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), + hasSub = $elem.hasClass(parClass); + + if (!hasSub) { + _this._hide(); + } + }); + } + + if (!this.options.disableHover) { + this.$menuItems.on('mouseenter.zf.dropdownMenu', function (e) { + var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), + hasSub = $elem.hasClass(parClass); + + if (hasSub) { + clearTimeout($elem.data('_delay')); + $elem.data('_delay', setTimeout(function () { + _this._show($elem.children('.is-dropdown-submenu')); + }, _this.options.hoverDelay)); + } + }).on('mouseleave.zf.dropdownMenu', ignoreMousedisappear(function (e) { + var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), + hasSub = $elem.hasClass(parClass); + + if (hasSub && _this.options.autoclose) { + if ($elem.attr('data-is-click') === 'true' && _this.options.clickOpen) { + return false; + } + + clearTimeout($elem.data('_delay')); + $elem.data('_delay', setTimeout(function () { + _this._hide($elem); + }, _this.options.closingTime)); + } + })); + } + + this.$menuItems.on('keydown.zf.dropdownMenu', function (e) { + var $element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).parentsUntil('ul', '[role="none"]'), + isTab = _this.$tabs.index($element) > -1, + $elements = isTab ? _this.$tabs : $element.siblings('li').add($element), + $prevElement, + $nextElement; + $elements.each(function (i) { + if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is($element)) { + $prevElement = $elements.eq(i - 1); + $nextElement = $elements.eq(i + 1); + return; + } + }); + + var nextSibling = function nextSibling() { + $nextElement.children('a:first').focus(); + e.preventDefault(); + }, + prevSibling = function prevSibling() { + $prevElement.children('a:first').focus(); + e.preventDefault(); + }, + openSub = function openSub() { + var $sub = $element.children('ul.is-dropdown-submenu'); + + if ($sub.length) { + _this._show($sub); + + $element.find('li > a:first').focus(); + e.preventDefault(); + } else { + return; + } + }, + closeSub = function closeSub() { + //if ($element.is(':first-child')) { + var close = $element.parent('ul').parent('li'); + close.children('a:first').focus(); + + _this._hide(close); + + e.preventDefault(); //} + }; + + var functions = { + open: openSub, + close: function close() { + _this._hide(_this.$element); + + _this.$menuItems.eq(0).children('a').focus(); // focus to first element + + + e.preventDefault(); + } + }; + + if (isTab) { + if (_this._isVertical()) { + // vertical menu + if (_this._isRtl()) { + // right aligned + jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(functions, { + down: nextSibling, + up: prevSibling, + next: closeSub, + previous: openSub + }); + } else { + // left aligned + jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(functions, { + down: nextSibling, + up: prevSibling, + next: openSub, + previous: closeSub + }); + } + } else { + // horizontal menu + if (_this._isRtl()) { + // right aligned + jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(functions, { + next: prevSibling, + previous: nextSibling, + down: openSub, + up: closeSub + }); + } else { + // left aligned + jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(functions, { + next: nextSibling, + previous: prevSibling, + down: openSub, + up: closeSub + }); + } + } + } else { + // not tabs -> one sub + if (_this._isRtl()) { + // right aligned + jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(functions, { + next: closeSub, + previous: openSub, + down: nextSibling, + up: prevSibling + }); + } else { + // left aligned + jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(functions, { + next: openSub, + previous: closeSub, + down: nextSibling, + up: prevSibling + }); + } + } + + Keyboard.handleKey(e, 'DropdownMenu', functions); + }); + } + /** + * Adds an event handler to the body to close any dropdowns on a click. + * @function + * @private + */ + + }, { + key: "_addBodyHandler", + value: function _addBodyHandler() { + var _this2 = this; + + var $body = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body); + + this._removeBodyHandler(); + + $body.on('click.zf.dropdownMenu tap.zf.dropdownMenu', function (e) { + var isItself = !!jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).closest(_this2.$element).length; + if (isItself) return; + + _this2._hide(); + + _this2._removeBodyHandler(); + }); + } + /** + * Remove the body event handler. See `_addBodyHandler`. + * @function + * @private + */ + + }, { + key: "_removeBodyHandler", + value: function _removeBodyHandler() { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body).off('click.zf.dropdownMenu tap.zf.dropdownMenu'); + } + /** + * Opens a dropdown pane, and checks for collisions first. + * @param {jQuery} $sub - ul element that is a submenu to show + * @function + * @private + * @fires DropdownMenu#show + */ + + }, { + key: "_show", + value: function _show($sub) { + var idx = this.$tabs.index(this.$tabs.filter(function (i, el) { + return jquery__WEBPACK_IMPORTED_MODULE_0___default()(el).find($sub).length > 0; + })); + var $sibs = $sub.parent('li.is-dropdown-submenu-parent').siblings('li.is-dropdown-submenu-parent'); + + this._hide($sibs, idx); + + $sub.css('visibility', 'hidden').addClass('js-dropdown-active').parent('li.is-dropdown-submenu-parent').addClass('is-active'); + var clear = Box.ImNotTouchingYou($sub, null, true); + + if (!clear) { + var oldClass = this.options.alignment === 'left' ? '-right' : '-left', + $parentLi = $sub.parent('.is-dropdown-submenu-parent'); + $parentLi.removeClass("opens".concat(oldClass)).addClass("opens-".concat(this.options.alignment)); + clear = Box.ImNotTouchingYou($sub, null, true); + + if (!clear) { + $parentLi.removeClass("opens-".concat(this.options.alignment)).addClass('opens-inner'); + } + + this.changed = true; + } + + $sub.css('visibility', ''); + + if (this.options.closeOnClick) { + this._addBodyHandler(); + } + /** + * Fires when the new dropdown pane is visible. + * @event DropdownMenu#show + */ + + + this.$element.trigger('show.zf.dropdownMenu', [$sub]); + } + /** + * Hides a single, currently open dropdown pane, if passed a parameter, otherwise, hides everything. + * @function + * @param {jQuery} $elem - element with a submenu to hide + * @param {Number} idx - index of the $tabs collection to hide + * @fires DropdownMenu#hide + * @private + */ + + }, { + key: "_hide", + value: function _hide($elem, idx) { + var $toClose; + + if ($elem && $elem.length) { + $toClose = $elem; + } else if (typeof idx !== 'undefined') { + $toClose = this.$tabs.not(function (i, el) { + return i === idx; + }); + } else { + $toClose = this.$element; + } + + var somethingToClose = $toClose.hasClass('is-active') || $toClose.find('.is-active').length > 0; + + if (somethingToClose) { + var $activeItem = $toClose.find('li.is-active'); + $activeItem.add($toClose).attr({ + 'data-is-click': false + }).removeClass('is-active'); + $toClose.find('ul.js-dropdown-active').removeClass('js-dropdown-active'); + + if (this.changed || $toClose.find('opens-inner').length) { + var oldClass = this.options.alignment === 'left' ? 'right' : 'left'; + $toClose.find('li.is-dropdown-submenu-parent').add($toClose).removeClass("opens-inner opens-".concat(this.options.alignment)).addClass("opens-".concat(oldClass)); + this.changed = false; + } + + clearTimeout($activeItem.data('_delay')); + + this._removeBodyHandler(); + /** + * Fires when the open menus are closed. + * @event DropdownMenu#hide + */ + + + this.$element.trigger('hide.zf.dropdownMenu', [$toClose]); + } + } + /** + * Destroys the plugin. + * @function + */ + + }, { + key: "_destroy", + value: function _destroy() { + this.$menuItems.off('.zf.dropdownMenu').removeAttr('data-is-click').removeClass('is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner'); + jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body).off('.zf.dropdownMenu'); + Nest.Burn(this.$element, 'dropdown'); + } + }]); + + return DropdownMenu; +}(Plugin); +/** + * Default settings for plugin + */ + + +DropdownMenu.defaults = { + /** + * Disallows hover events from opening submenus + * @option + * @type {boolean} + * @default false + */ + disableHover: false, + + /** + * Allow a submenu to automatically close on a mouseleave event, if not clicked open. + * @option + * @type {boolean} + * @default true + */ + autoclose: true, + + /** + * Amount of time to delay opening a submenu on hover event. + * @option + * @type {number} + * @default 50 + */ + hoverDelay: 50, + + /** + * Allow a submenu to open/remain open on parent click event. Allows cursor to move away from menu. + * @option + * @type {boolean} + * @default false + */ + clickOpen: false, + + /** + * Amount of time to delay closing a submenu on a mouseleave event. + * @option + * @type {number} + * @default 500 + */ + closingTime: 500, + + /** + * Position of the menu relative to what direction the submenus should open. Handled by JS. Can be `'auto'`, `'left'` or `'right'`. + * @option + * @type {string} + * @default 'auto' + */ + alignment: 'auto', + + /** + * Allow clicks on the body to close any open submenus. + * @option + * @type {boolean} + * @default true + */ + closeOnClick: true, + + /** + * Allow clicks on leaf anchor links to close any open submenus. + * @option + * @type {boolean} + * @default true + */ + closeOnClickInside: true, + + /** + * Class applied to vertical oriented menus, Foundation default is `vertical`. Update this if using your own class. + * @option + * @type {string} + * @default 'vertical' + */ + verticalClass: 'vertical', + + /** + * Class applied to right-side oriented menus, Foundation default is `align-right`. Update this if using your own class. + * @option + * @type {string} + * @default 'align-right' + */ + rightClass: 'align-right', + + /** + * Boolean to force overide the clicking of links to perform default action, on second touch event for mobile. + * @option + * @type {boolean} + * @default true + */ + forceFollow: true +}; +/** + * Equalizer module. + * @module foundation.equalizer + * @requires foundation.util.mediaQuery + * @requires foundation.util.imageLoader if equalizer contains images + */ + +var Equalizer = /*#__PURE__*/function (_Plugin) { + _inherits(Equalizer, _Plugin); + + function Equalizer() { + _classCallCheck(this, Equalizer); + + return _possibleConstructorReturn(this, _getPrototypeOf(Equalizer).apply(this, arguments)); + } + + _createClass(Equalizer, [{ + key: "_setup", + + /** + * Creates a new instance of Equalizer. + * @class + * @name Equalizer + * @fires Equalizer#init + * @param {Object} element - jQuery object to add the trigger to. + * @param {Object} options - Overrides to the default plugin settings. + */ + value: function _setup(element, options) { + this.$element = element; + this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Equalizer.defaults, this.$element.data(), options); + this.className = 'Equalizer'; // ie9 back compat + + this._init(); + } + /** + * Initializes the Equalizer plugin and calls functions to get equalizer functioning on load. + * @private + */ + + }, { + key: "_init", + value: function _init() { + var eqId = this.$element.attr('data-equalizer') || ''; + var $watched = this.$element.find("[data-equalizer-watch=\"".concat(eqId, "\"]")); + + MediaQuery._init(); + + this.$watched = $watched.length ? $watched : this.$element.find('[data-equalizer-watch]'); + this.$element.attr('data-resize', eqId || GetYoDigits(6, 'eq')); + this.$element.attr('data-mutate', eqId || GetYoDigits(6, 'eq')); + this.hasNested = this.$element.find('[data-equalizer]').length > 0; + this.isNested = this.$element.parentsUntil(document.body, '[data-equalizer]').length > 0; + this.isOn = false; + this._bindHandler = { + onResizeMeBound: this._onResizeMe.bind(this), + onPostEqualizedBound: this._onPostEqualized.bind(this) + }; + var imgs = this.$element.find('img'); + var tooSmall; + + if (this.options.equalizeOn) { + tooSmall = this._checkMQ(); + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', this._checkMQ.bind(this)); + } else { + this._events(); + } + + if (typeof tooSmall !== 'undefined' && tooSmall === false || typeof tooSmall === 'undefined') { + if (imgs.length) { + onImagesLoaded(imgs, this._reflow.bind(this)); + } else { + this._reflow(); + } + } + } + /** + * Removes event listeners if the breakpoint is too small. + * @private + */ + + }, { + key: "_pauseEvents", + value: function _pauseEvents() { + this.isOn = false; + this.$element.off({ + '.zf.equalizer': this._bindHandler.onPostEqualizedBound, + 'resizeme.zf.trigger': this._bindHandler.onResizeMeBound, + 'mutateme.zf.trigger': this._bindHandler.onResizeMeBound + }); + } + /** + * function to handle $elements resizeme.zf.trigger, with bound this on _bindHandler.onResizeMeBound + * @private + */ + + }, { + key: "_onResizeMe", + value: function _onResizeMe(e) { + this._reflow(); + } + /** + * function to handle $elements postequalized.zf.equalizer, with bound this on _bindHandler.onPostEqualizedBound + * @private + */ + + }, { + key: "_onPostEqualized", + value: function _onPostEqualized(e) { + if (e.target !== this.$element[0]) { + this._reflow(); + } + } + /** + * Initializes events for Equalizer. + * @private + */ + + }, { + key: "_events", + value: function _events() { + this._pauseEvents(); + + if (this.hasNested) { + this.$element.on('postequalized.zf.equalizer', this._bindHandler.onPostEqualizedBound); + } else { + this.$element.on('resizeme.zf.trigger', this._bindHandler.onResizeMeBound); + this.$element.on('mutateme.zf.trigger', this._bindHandler.onResizeMeBound); + } + + this.isOn = true; + } + /** + * Checks the current breakpoint to the minimum required size. + * @private + */ + + }, { + key: "_checkMQ", + value: function _checkMQ() { + var tooSmall = !MediaQuery.is(this.options.equalizeOn); + + if (tooSmall) { + if (this.isOn) { + this._pauseEvents(); + + this.$watched.css('height', 'auto'); + } + } else { + if (!this.isOn) { + this._events(); + } + } + + return tooSmall; + } + /** + * A noop version for the plugin + * @private + */ + + }, { + key: "_killswitch", + value: function _killswitch() { + return; + } + /** + * Calls necessary functions to update Equalizer upon DOM change + * @private + */ + + }, { + key: "_reflow", + value: function _reflow() { + if (!this.options.equalizeOnStack) { + if (this._isStacked()) { + this.$watched.css('height', 'auto'); + return false; + } + } + + if (this.options.equalizeByRow) { + this.getHeightsByRow(this.applyHeightByRow.bind(this)); + } else { + this.getHeights(this.applyHeight.bind(this)); + } + } + /** + * Manually determines if the first 2 elements are *NOT* stacked. + * @private + */ + + }, { + key: "_isStacked", + value: function _isStacked() { + if (!this.$watched[0] || !this.$watched[1]) { + return true; + } + + return this.$watched[0].getBoundingClientRect().top !== this.$watched[1].getBoundingClientRect().top; + } + /** + * Finds the outer heights of children contained within an Equalizer parent and returns them in an array + * @param {Function} cb - A non-optional callback to return the heights array to. + * @returns {Array} heights - An array of heights of children within Equalizer container + */ + + }, { + key: "getHeights", + value: function getHeights(cb) { + var heights = []; + + for (var i = 0, len = this.$watched.length; i < len; i++) { + this.$watched[i].style.height = 'auto'; + heights.push(this.$watched[i].offsetHeight); + } + + cb(heights); + } + /** + * Finds the outer heights of children contained within an Equalizer parent and returns them in an array + * @param {Function} cb - A non-optional callback to return the heights array to. + * @returns {Array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child + */ + + }, { + key: "getHeightsByRow", + value: function getHeightsByRow(cb) { + var lastElTopOffset = this.$watched.length ? this.$watched.first().offset().top : 0, + groups = [], + group = 0; //group by Row + + groups[group] = []; + + for (var i = 0, len = this.$watched.length; i < len; i++) { + this.$watched[i].style.height = 'auto'; //maybe could use this.$watched[i].offsetTop + + var elOffsetTop = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.$watched[i]).offset().top; + + if (elOffsetTop != lastElTopOffset) { + group++; + groups[group] = []; + lastElTopOffset = elOffsetTop; + } + + groups[group].push([this.$watched[i], this.$watched[i].offsetHeight]); + } + + for (var j = 0, ln = groups.length; j < ln; j++) { + var heights = jquery__WEBPACK_IMPORTED_MODULE_0___default()(groups[j]).map(function () { + return this[1]; + }).get(); + var max = Math.max.apply(null, heights); + groups[j].push(max); + } + + cb(groups); + } + /** + * Changes the CSS height property of each child in an Equalizer parent to match the tallest + * @param {array} heights - An array of heights of children within Equalizer container + * @fires Equalizer#preequalized + * @fires Equalizer#postequalized + */ + + }, { + key: "applyHeight", + value: function applyHeight(heights) { + var max = Math.max.apply(null, heights); + /** + * Fires before the heights are applied + * @event Equalizer#preequalized + */ + + this.$element.trigger('preequalized.zf.equalizer'); + this.$watched.css('height', max); + /** + * Fires when the heights have been applied + * @event Equalizer#postequalized + */ + + this.$element.trigger('postequalized.zf.equalizer'); + } + /** + * Changes the CSS height property of each child in an Equalizer parent to match the tallest by row + * @param {array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child + * @fires Equalizer#preequalized + * @fires Equalizer#preequalizedrow + * @fires Equalizer#postequalizedrow + * @fires Equalizer#postequalized + */ + + }, { + key: "applyHeightByRow", + value: function applyHeightByRow(groups) { + /** + * Fires before the heights are applied + */ + this.$element.trigger('preequalized.zf.equalizer'); + + for (var i = 0, len = groups.length; i < len; i++) { + var groupsILength = groups[i].length, + max = groups[i][groupsILength - 1]; + + if (groupsILength <= 2) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(groups[i][0][0]).css({ + 'height': 'auto' + }); + continue; + } + /** + * Fires before the heights per row are applied + * @event Equalizer#preequalizedrow + */ + + + this.$element.trigger('preequalizedrow.zf.equalizer'); + + for (var j = 0, lenJ = groupsILength - 1; j < lenJ; j++) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(groups[i][j][0]).css({ + 'height': max + }); + } + /** + * Fires when the heights per row have been applied + * @event Equalizer#postequalizedrow + */ + + + this.$element.trigger('postequalizedrow.zf.equalizer'); + } + /** + * Fires when the heights have been applied + */ + + + this.$element.trigger('postequalized.zf.equalizer'); + } + /** + * Destroys an instance of Equalizer. + * @function + */ + + }, { + key: "_destroy", + value: function _destroy() { + this._pauseEvents(); + + this.$watched.css('height', 'auto'); + } + }]); + + return Equalizer; +}(Plugin); +/** + * Default settings for plugin + */ + + +Equalizer.defaults = { + /** + * Enable height equalization when stacked on smaller screens. + * @option + * @type {boolean} + * @default false + */ + equalizeOnStack: false, + + /** + * Enable height equalization row by row. + * @option + * @type {boolean} + * @default false + */ + equalizeByRow: false, + + /** + * String representing the minimum breakpoint size the plugin should equalize heights on. + * @option + * @type {string} + * @default '' + */ + equalizeOn: '' +}; +/** + * Interchange module. + * @module foundation.interchange + * @requires foundation.util.mediaQuery + */ + +var Interchange = /*#__PURE__*/function (_Plugin) { + _inherits(Interchange, _Plugin); + + function Interchange() { + _classCallCheck(this, Interchange); + + return _possibleConstructorReturn(this, _getPrototypeOf(Interchange).apply(this, arguments)); + } + + _createClass(Interchange, [{ + key: "_setup", + + /** + * Creates a new instance of Interchange. + * @class + * @name Interchange + * @fires Interchange#init + * @param {Object} element - jQuery object to add the trigger to. + * @param {Object} options - Overrides to the default plugin settings. + */ + value: function _setup(element, options) { + this.$element = element; + this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Interchange.defaults, this.$element.data(), options); + this.rules = []; + this.currentPath = ''; + this.className = 'Interchange'; // ie9 back compat + // Triggers init is idempotent, just need to make sure it is initialized + + Triggers.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); + + this._init(); + + this._events(); + } + /** + * Initializes the Interchange plugin and calls functions to get interchange functioning on load. + * @function + * @private + */ + + }, { + key: "_init", + value: function _init() { + MediaQuery._init(); + + var id = this.$element[0].id || GetYoDigits(6, 'interchange'); + this.$element.attr({ + 'data-resize': id, + 'id': id + }); + + this._parseOptions(); + + this._addBreakpoints(); + + this._generateRules(); + + this._reflow(); + } + /** + * Initializes events for Interchange. + * @function + * @private + */ + + }, { + key: "_events", + value: function _events() { + var _this = this; + + this.$element.off('resizeme.zf.trigger').on('resizeme.zf.trigger', function () { + return _this._reflow(); + }); + } + /** + * Calls necessary functions to update Interchange upon DOM change + * @function + * @private + */ + + }, { + key: "_reflow", + value: function _reflow() { + var match; // Iterate through each rule, but only save the last match + + for (var i in this.rules) { + if (this.rules.hasOwnProperty(i)) { + var rule = this.rules[i]; + + if (window.matchMedia(rule.query).matches) { + match = rule; + } + } + } + + if (match) { + this.replace(match.path); + } + } + /** + * Check options valifity and set defaults for: + * - `data-interchange-type`: if set, enforce the type of replacement (auto, src, background or html) + * @function + * @private + */ + + }, { + key: "_parseOptions", + value: function _parseOptions() { + var types = ['auto', 'src', 'background', 'html']; + if (typeof this.options.type === 'undefined') this.options.type = 'auto';else if (types.indexOf(this.options.type) === -1) { + console.log("Warning: invalid value \"".concat(this.options.type, "\" for Interchange option \"type\"")); + this.options.type = 'auto'; + } + } + /** + * Gets the Foundation breakpoints and adds them to the Interchange.SPECIAL_QUERIES object. + * @function + * @private + */ + + }, { + key: "_addBreakpoints", + value: function _addBreakpoints() { + for (var i in MediaQuery.queries) { + if (MediaQuery.queries.hasOwnProperty(i)) { + var query = MediaQuery.queries[i]; + Interchange.SPECIAL_QUERIES[query.name] = query.value; + } + } + } + /** + * Checks the Interchange element for the provided media query + content pairings + * @function + * @private + * @param {Object} element - jQuery object that is an Interchange instance + * @returns {Array} scenarios - Array of objects that have 'mq' and 'path' keys with corresponding keys + */ + + }, { + key: "_generateRules", + value: function _generateRules(element) { + var rulesList = []; + var rules; + + if (this.options.rules) { + rules = this.options.rules; + } else { + rules = this.$element.data('interchange'); + } + + rules = typeof rules === 'string' ? rules.match(/\[.*?, .*?\]/g) : rules; + + for (var i in rules) { + if (rules.hasOwnProperty(i)) { + var rule = rules[i].slice(1, -1).split(', '); + var path = rule.slice(0, -1).join(''); + var query = rule[rule.length - 1]; + + if (Interchange.SPECIAL_QUERIES[query]) { + query = Interchange.SPECIAL_QUERIES[query]; + } + + rulesList.push({ + path: path, + query: query + }); + } + } + + this.rules = rulesList; + } + /** + * Update the `src` property of an image, or change the HTML of a container, to the specified path. + * @function + * @param {String} path - Path to the image or HTML partial. + * @fires Interchange#replaced + */ + + }, { + key: "replace", + value: function replace(path) { + var _this2 = this; + + if (this.currentPath === path) return; + var trigger = 'replaced.zf.interchange'; + var type = this.options.type; + + if (type === 'auto') { + if (this.$element[0].nodeName === 'IMG') type = 'src';else if (path.match(/\.(gif|jpe?g|png|svg|tiff)([?#].*)?/i)) type = 'background';else type = 'html'; + } // Replacing images + + + if (type === 'src') { + this.$element.attr('src', path).on('load', function () { + _this2.currentPath = path; + }).trigger(trigger); + } // Replacing background images + else if (type === 'background') { + path = path.replace(/\(/g, '%28').replace(/\)/g, '%29'); + this.$element.css({ + 'background-image': 'url(' + path + ')' + }).trigger(trigger); + } // Replacing HTML + else if (type === 'html') { + jquery__WEBPACK_IMPORTED_MODULE_0___default.a.get(path, function (response) { + _this2.$element.html(response).trigger(trigger); + + jquery__WEBPACK_IMPORTED_MODULE_0___default()(response).foundation(); + _this2.currentPath = path; + }); + } + /** + * Fires when content in an Interchange element is done being loaded. + * @event Interchange#replaced + */ + // this.$element.trigger('replaced.zf.interchange'); + + } + /** + * Destroys an instance of interchange. + * @function + */ + + }, { + key: "_destroy", + value: function _destroy() { + this.$element.off('resizeme.zf.trigger'); + } + }]); + + return Interchange; +}(Plugin); +/** + * Default settings for plugin + */ + + +Interchange.defaults = { + /** + * Rules to be applied to Interchange elements. Set with the `data-interchange` array notation. + * @option + * @type {?array} + * @default null + */ + rules: null, + + /** + * Type of the responsive ressource to replace. It can take the following options: + * - `auto` (default): choose the type according to the element tag or the ressource extension, + * - `src`: replace the `[src]` attribute, recommended for images ``. + * - `background`: replace the `background-image` CSS property. + * - `html`: replace the element content. + * @option + * @type {string} + * @default 'auto' + */ + type: 'auto' +}; +Interchange.SPECIAL_QUERIES = { + 'landscape': 'screen and (orientation: landscape)', + 'portrait': 'screen and (orientation: portrait)', + 'retina': 'only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)' +}; +/** + * SmoothScroll module. + * @module foundation.smoothScroll + */ + +var SmoothScroll = /*#__PURE__*/function (_Plugin) { + _inherits(SmoothScroll, _Plugin); + + function SmoothScroll() { + _classCallCheck(this, SmoothScroll); + + return _possibleConstructorReturn(this, _getPrototypeOf(SmoothScroll).apply(this, arguments)); + } + + _createClass(SmoothScroll, [{ + key: "_setup", + + /** + * Creates a new instance of SmoothScroll. + * @class + * @name SmoothScroll + * @fires SmoothScroll#init + * @param {Object} element - jQuery object to add the trigger to. + * @param {Object} options - Overrides to the default plugin settings. + */ + value: function _setup(element, options) { + this.$element = element; + this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, SmoothScroll.defaults, this.$element.data(), options); + this.className = 'SmoothScroll'; // ie9 back compat + + this._init(); + } + /** + * Initialize the SmoothScroll plugin + * @private + */ + + }, { + key: "_init", + value: function _init() { + var id = this.$element[0].id || GetYoDigits(6, 'smooth-scroll'); + this.$element.attr({ + id: id + }); + + this._events(); + } + /** + * Initializes events for SmoothScroll. + * @private + */ + + }, { + key: "_events", + value: function _events() { + this._linkClickListener = this._handleLinkClick.bind(this); + this.$element.on('click.zf.smoothScroll', this._linkClickListener); + this.$element.on('click.zf.smoothScroll', 'a[href^="#"]', this._linkClickListener); + } + /** + * Handle the given event to smoothly scroll to the anchor pointed by the event target. + * @param {*} e - event + * @function + * @private + */ + + }, { + key: "_handleLinkClick", + value: function _handleLinkClick(e) { + var _this = this; // Follow the link if it does not point to an anchor. + + + if (!jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.currentTarget).is('a[href^="#"]')) return; + var arrival = e.currentTarget.getAttribute('href'); + this._inTransition = true; + SmoothScroll.scrollToLoc(arrival, this.options, function () { + _this._inTransition = false; + }); + e.preventDefault(); + } + }, { + key: "_destroy", + + /** + * Destroys the SmoothScroll instance. + * @function + */ + value: function _destroy() { + this.$element.off('click.zf.smoothScroll', this._linkClickListener); + this.$element.off('click.zf.smoothScroll', 'a[href^="#"]', this._linkClickListener); + } + }], [{ + key: "scrollToLoc", + + /** + * Function to scroll to a given location on the page. + * @param {String} loc - A properly formatted jQuery id selector. Example: '#foo' + * @param {Object} options - The options to use. + * @param {Function} callback - The callback function. + * @static + * @function + */ + value: function scrollToLoc(loc) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : SmoothScroll.defaults; + var callback = arguments.length > 2 ? arguments[2] : undefined; + var $loc = jquery__WEBPACK_IMPORTED_MODULE_0___default()(loc); // Do nothing if target does not exist to prevent errors + + if (!$loc.length) return false; + var scrollPos = Math.round($loc.offset().top - options.threshold / 2 - options.offset); + jquery__WEBPACK_IMPORTED_MODULE_0___default()('html, body').stop(true).animate({ + scrollTop: scrollPos + }, options.animationDuration, options.animationEasing, function () { + if (typeof callback === 'function') { + callback(); + } + }); + } + }]); + + return SmoothScroll; +}(Plugin); +/** + * Default settings for plugin. + */ + + +SmoothScroll.defaults = { + /** + * Amount of time, in ms, the animated scrolling should take between locations. + * @option + * @type {number} + * @default 500 + */ + animationDuration: 500, + + /** + * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`. + * @option + * @type {string} + * @default 'linear' + * @see {@link https://api.jquery.com/animate|Jquery animate} + */ + animationEasing: 'linear', + + /** + * Number of pixels to use as a marker for location changes. + * @option + * @type {number} + * @default 50 + */ + threshold: 50, + + /** + * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar. + * @option + * @type {number} + * @default 0 + */ + offset: 0 +}; +/** + * Magellan module. + * @module foundation.magellan + * @requires foundation.smoothScroll + * @requires foundation.util.triggers + */ + +var Magellan = /*#__PURE__*/function (_Plugin) { + _inherits(Magellan, _Plugin); + + function Magellan() { + _classCallCheck(this, Magellan); + + return _possibleConstructorReturn(this, _getPrototypeOf(Magellan).apply(this, arguments)); + } + + _createClass(Magellan, [{ + key: "_setup", + + /** + * Creates a new instance of Magellan. + * @class + * @name Magellan + * @fires Magellan#init + * @param {Object} element - jQuery object to add the trigger to. + * @param {Object} options - Overrides to the default plugin settings. + */ + value: function _setup(element, options) { + this.$element = element; + this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Magellan.defaults, this.$element.data(), options); + this.className = 'Magellan'; // ie9 back compat + // Triggers init is idempotent, just need to make sure it is initialized + + Triggers.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); + + this._init(); + + this.calcPoints(); + } + /** + * Initializes the Magellan plugin and calls functions to get equalizer functioning on load. + * @private + */ + + }, { + key: "_init", + value: function _init() { + var id = this.$element[0].id || GetYoDigits(6, 'magellan'); + this.$targets = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-magellan-target]'); + this.$links = this.$element.find('a'); + this.$element.attr({ + 'data-resize': id, + 'data-scroll': id, + 'id': id + }); + this.$active = jquery__WEBPACK_IMPORTED_MODULE_0___default()(); + this.scrollPos = parseInt(window.pageYOffset, 10); + + this._events(); + } + /** + * Calculates an array of pixel values that are the demarcation lines between locations on the page. + * Can be invoked if new elements are added or the size of a location changes. + * @function + */ + + }, { + key: "calcPoints", + value: function calcPoints() { + var _this = this, + body = document.body, + html = document.documentElement; + + this.points = []; + this.winHeight = Math.round(Math.max(window.innerHeight, html.clientHeight)); + this.docHeight = Math.round(Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight)); + this.$targets.each(function () { + var $tar = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), + pt = Math.round($tar.offset().top - _this.options.threshold); + $tar.targetPoint = pt; + + _this.points.push(pt); + }); + } + /** + * Initializes events for Magellan. + * @private + */ + + }, { + key: "_events", + value: function _events() { + var _this = this; + + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).one('load', function () { + if (_this.options.deepLinking) { + if (location.hash) { + _this.scrollToLoc(location.hash); + } + } + + _this.calcPoints(); + + _this._updateActive(); + }); + _this.onLoadListener = onLoad(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () { + _this.$element.on({ + 'resizeme.zf.trigger': _this.reflow.bind(_this), + 'scrollme.zf.trigger': _this._updateActive.bind(_this) + }).on('click.zf.magellan', 'a[href^="#"]', function (e) { + e.preventDefault(); + var arrival = this.getAttribute('href'); + + _this.scrollToLoc(arrival); + }); + }); + + this._deepLinkScroll = function (e) { + if (_this.options.deepLinking) { + _this.scrollToLoc(window.location.hash); + } + }; + + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('hashchange', this._deepLinkScroll); + } + /** + * Function to scroll to a given location on the page. + * @param {String} loc - a properly formatted jQuery id selector. Example: '#foo' + * @function + */ + + }, { + key: "scrollToLoc", + value: function scrollToLoc(loc) { + this._inTransition = true; + + var _this = this; + + var options = { + animationEasing: this.options.animationEasing, + animationDuration: this.options.animationDuration, + threshold: this.options.threshold, + offset: this.options.offset + }; + SmoothScroll.scrollToLoc(loc, options, function () { + _this._inTransition = false; + }); + } + /** + * Calls necessary functions to update Magellan upon DOM change + * @function + */ + + }, { + key: "reflow", + value: function reflow() { + this.calcPoints(); + + this._updateActive(); + } + /** + * Updates the visibility of an active location link, and updates the url hash for the page, if deepLinking enabled. + * @private + * @function + * @fires Magellan#update + */ + + }, { + key: "_updateActive", + value: function _updateActive() + /*evt, elem, scrollPos*/ + { + var _this2 = this; + + if (this._inTransition) return; + var newScrollPos = parseInt(window.pageYOffset, 10); + var isScrollingUp = this.scrollPos > newScrollPos; + this.scrollPos = newScrollPos; + var activeIdx; // Before the first point: no link + + if (newScrollPos < this.points[0]) ; + /* do nothing */ + // At the bottom of the page: last link + else if (newScrollPos + this.winHeight === this.docHeight) { + activeIdx = this.points.length - 1; + } // Otherwhise, use the last visible link + else { + var visibleLinks = this.points.filter(function (p, i) { + return p - _this2.options.offset - (isScrollingUp ? _this2.options.threshold : 0) <= newScrollPos; + }); + activeIdx = visibleLinks.length ? visibleLinks.length - 1 : 0; + } // Get the new active link + + var $oldActive = this.$active; + var activeHash = ''; + + if (typeof activeIdx !== 'undefined') { + this.$active = this.$links.filter('[href="#' + this.$targets.eq(activeIdx).data('magellan-target') + '"]'); + if (this.$active.length) activeHash = this.$active[0].getAttribute('href'); + } else { + this.$active = jquery__WEBPACK_IMPORTED_MODULE_0___default()(); + } + + var isNewActive = !(!this.$active.length && !$oldActive.length) && !this.$active.is($oldActive); + var isNewHash = activeHash !== window.location.hash; // Update the active link element + + if (isNewActive) { + $oldActive.removeClass(this.options.activeClass); + this.$active.addClass(this.options.activeClass); + } // Update the hash (it may have changed with the same active link) + + + if (this.options.deepLinking && isNewHash) { + if (window.history.pushState) { + // Set or remove the hash (see: https://stackoverflow.com/a/5298684/4317384 + var url = activeHash ? activeHash : window.location.pathname + window.location.search; + + if (this.options.updateHistory) { + window.history.pushState({}, '', url); + } else { + window.history.replaceState({}, '', url); + } + } else { + window.location.hash = activeHash; + } + } + + if (isNewActive) { + /** + * Fires when magellan is finished updating to the new active element. + * @event Magellan#update + */ + this.$element.trigger('update.zf.magellan', [this.$active]); + } + } + /** + * Destroys an instance of Magellan and resets the url of the window. + * @function + */ + + }, { + key: "_destroy", + value: function _destroy() { + this.$element.off('.zf.trigger .zf.magellan').find(".".concat(this.options.activeClass)).removeClass(this.options.activeClass); + + if (this.options.deepLinking) { + var hash = this.$active[0].getAttribute('href'); + window.location.hash.replace(hash, ''); + } + + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('hashchange', this._deepLinkScroll); + if (this.onLoadListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener); + } + }]); + + return Magellan; +}(Plugin); +/** + * Default settings for plugin + */ + + +Magellan.defaults = { + /** + * Amount of time, in ms, the animated scrolling should take between locations. + * @option + * @type {number} + * @default 500 + */ + animationDuration: 500, + + /** + * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`. + * @option + * @type {string} + * @default 'linear' + * @see {@link https://api.jquery.com/animate|Jquery animate} + */ + animationEasing: 'linear', + + /** + * Number of pixels to use as a marker for location changes. + * @option + * @type {number} + * @default 50 + */ + threshold: 50, + + /** + * Class applied to the active locations link on the magellan container. + * @option + * @type {string} + * @default 'is-active' + */ + activeClass: 'is-active', + + /** + * Allows the script to manipulate the url of the current page, and if supported, alter the history. + * @option + * @type {boolean} + * @default false + */ + deepLinking: false, + + /** + * Update the browser history with the active link, if deep linking is enabled. + * @option + * @type {boolean} + * @default false + */ + updateHistory: false, + + /** + * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar. + * @option + * @type {number} + * @default 0 + */ + offset: 0 +}; +/** + * OffCanvas module. + * @module foundation.offCanvas + * @requires foundation.util.keyboard + * @requires foundation.util.mediaQuery + * @requires foundation.util.triggers + */ + +var OffCanvas = /*#__PURE__*/function (_Plugin) { + _inherits(OffCanvas, _Plugin); + + function OffCanvas() { + _classCallCheck(this, OffCanvas); + + return _possibleConstructorReturn(this, _getPrototypeOf(OffCanvas).apply(this, arguments)); + } + + _createClass(OffCanvas, [{ + key: "_setup", + + /** + * Creates a new instance of an off-canvas wrapper. + * @class + * @name OffCanvas + * @fires OffCanvas#init + * @param {Object} element - jQuery object to initialize. + * @param {Object} options - Overrides to the default plugin settings. + */ + value: function _setup(element, options) { + var _this2 = this; + + this.className = 'OffCanvas'; // ie9 back compat + + this.$element = element; + this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, OffCanvas.defaults, this.$element.data(), options); + this.contentClasses = { + base: [], + reveal: [] + }; + this.$lastTrigger = jquery__WEBPACK_IMPORTED_MODULE_0___default()(); + this.$triggers = jquery__WEBPACK_IMPORTED_MODULE_0___default()(); + this.position = 'left'; + this.$content = jquery__WEBPACK_IMPORTED_MODULE_0___default()(); + this.nested = !!this.options.nested; + this.$sticky = jquery__WEBPACK_IMPORTED_MODULE_0___default()(); + this.isInCanvas = false; // Defines the CSS transition/position classes of the off-canvas content container. + + jquery__WEBPACK_IMPORTED_MODULE_0___default()(['push', 'overlap']).each(function (index, val) { + _this2.contentClasses.base.push('has-transition-' + val); + }); + jquery__WEBPACK_IMPORTED_MODULE_0___default()(['left', 'right', 'top', 'bottom']).each(function (index, val) { + _this2.contentClasses.base.push('has-position-' + val); + + _this2.contentClasses.reveal.push('has-reveal-' + val); + }); // Triggers init is idempotent, just need to make sure it is initialized + + Triggers.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); + + MediaQuery._init(); + + this._init(); + + this._events(); + + Keyboard.register('OffCanvas', { + 'ESCAPE': 'close' + }); + } + /** + * Initializes the off-canvas wrapper by adding the exit overlay (if needed). + * @function + * @private + */ + + }, { + key: "_init", + value: function _init() { + var id = this.$element.attr('id'); + this.$element.attr('aria-hidden', 'true'); // Find off-canvas content, either by ID (if specified), by siblings or by closest selector (fallback) + + if (this.options.contentId) { + this.$content = jquery__WEBPACK_IMPORTED_MODULE_0___default()('#' + this.options.contentId); + } else if (this.$element.siblings('[data-off-canvas-content]').length) { + this.$content = this.$element.siblings('[data-off-canvas-content]').first(); + } else { + this.$content = this.$element.closest('[data-off-canvas-content]').first(); + } + + if (!this.options.contentId) { + // Assume that the off-canvas element is nested if it isn't a sibling of the content + this.nested = this.$element.siblings('[data-off-canvas-content]').length === 0; + } else if (this.options.contentId && this.options.nested === null) { + // Warning if using content ID without setting the nested option + // Once the element is nested it is required to work properly in this case + console.warn('Remember to use the nested option if using the content ID option!'); + } + + if (this.nested === true) { + // Force transition overlap if nested + this.options.transition = 'overlap'; // Remove appropriate classes if already assigned in markup + + this.$element.removeClass('is-transition-push'); + } + + this.$element.addClass("is-transition-".concat(this.options.transition, " is-closed")); // Find triggers that affect this element and add aria-expanded to them + + this.$triggers = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).find('[data-open="' + id + '"], [data-close="' + id + '"], [data-toggle="' + id + '"]').attr('aria-expanded', 'false').attr('aria-controls', id); // Get position by checking for related CSS class + + this.position = this.$element.is('.position-left, .position-top, .position-right, .position-bottom') ? this.$element.attr('class').match(/position\-(left|top|right|bottom)/)[1] : this.position; // Add an overlay over the content if necessary + + if (this.options.contentOverlay === true) { + var overlay = document.createElement('div'); + var overlayPosition = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.$element).css("position") === 'fixed' ? 'is-overlay-fixed' : 'is-overlay-absolute'; + overlay.setAttribute('class', 'js-off-canvas-overlay ' + overlayPosition); + this.$overlay = jquery__WEBPACK_IMPORTED_MODULE_0___default()(overlay); + + if (overlayPosition === 'is-overlay-fixed') { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.$overlay).insertAfter(this.$element); + } else { + this.$content.append(this.$overlay); + } + } // Get the revealOn option from the class. + + + var revealOnRegExp = new RegExp(RegExpEscape(this.options.revealClass) + '([^\\s]+)', 'g'); + var revealOnClass = revealOnRegExp.exec(this.$element[0].className); + + if (revealOnClass) { + this.options.isRevealed = true; + this.options.revealOn = this.options.revealOn || revealOnClass[1]; + } // Ensure the `reveal-on-*` class is set. + + + if (this.options.isRevealed === true && this.options.revealOn) { + this.$element.first().addClass("".concat(this.options.revealClass).concat(this.options.revealOn)); + + this._setMQChecker(); + } + + if (this.options.transitionTime) { + this.$element.css('transition-duration', this.options.transitionTime); + } // Find fixed elements that should stay fixed while off-canvas is opened + + + this.$sticky = this.$content.find('[data-off-canvas-sticky]'); + + if (this.$sticky.length > 0 && this.options.transition === 'push') { + // If there's at least one match force contentScroll:false because the absolute top value doesn't get recalculated on scroll + // Limit to push transition since there's no transform scope for overlap + this.options.contentScroll = false; + } + + var inCanvasFor = this.$element.attr('class').match(/\bin-canvas-for-(\w+)/); + + if (inCanvasFor && inCanvasFor.length === 2) { + // Set `inCanvasOn` option if found in-canvas-for-[BREAKPONT] CSS class + this.options.inCanvasOn = inCanvasFor[1]; + } else if (this.options.inCanvasOn) { + // Ensure the CSS class is set + this.$element.addClass("in-canvas-for-".concat(this.options.inCanvasOn)); + } + + if (this.options.inCanvasOn) { + this._checkInCanvas(); + } // Initally remove all transition/position CSS classes from off-canvas content container. + + + this._removeContentClasses(); + } + /** + * Adds event handlers to the off-canvas wrapper and the exit overlay. + * @function + * @private + */ + + }, { + key: "_events", + value: function _events() { + var _this3 = this; + + this.$element.off('.zf.trigger .zf.offCanvas').on({ + 'open.zf.trigger': this.open.bind(this), + 'close.zf.trigger': this.close.bind(this), + 'toggle.zf.trigger': this.toggle.bind(this), + 'keydown.zf.offCanvas': this._handleKeyboard.bind(this) + }); + + if (this.options.closeOnClick === true) { + var $target = this.options.contentOverlay ? this.$overlay : this.$content; + $target.on({ + 'click.zf.offCanvas': this.close.bind(this) + }); + } + + if (this.options.inCanvasOn) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', function () { + _this3._checkInCanvas(); + }); + } + } + /** + * Applies event listener for elements that will reveal at certain breakpoints. + * @private + */ + + }, { + key: "_setMQChecker", + value: function _setMQChecker() { + var _this = this; + + this.onLoadListener = onLoad(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () { + if (MediaQuery.atLeast(_this.options.revealOn)) { + _this.reveal(true); + } + }); + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', function () { + if (MediaQuery.atLeast(_this.options.revealOn)) { + _this.reveal(true); + } else { + _this.reveal(false); + } + }); + } + /** + * Checks if InCanvas on current breakpoint and adjust off-canvas accordingly + * @private + */ + + }, { + key: "_checkInCanvas", + value: function _checkInCanvas() { + this.isInCanvas = MediaQuery.atLeast(this.options.inCanvasOn); + + if (this.isInCanvas === true) { + this.close(); + } + } + /** + * Removes the CSS transition/position classes of the off-canvas content container. + * Removing the classes is important when another off-canvas gets opened that uses the same content container. + * @param {Boolean} hasReveal - true if related off-canvas element is revealed. + * @private + */ + + }, { + key: "_removeContentClasses", + value: function _removeContentClasses(hasReveal) { + if (typeof hasReveal !== 'boolean') { + this.$content.removeClass(this.contentClasses.base.join(' ')); + } else if (hasReveal === false) { + this.$content.removeClass("has-reveal-".concat(this.position)); + } + } + /** + * Adds the CSS transition/position classes of the off-canvas content container, based on the opening off-canvas element. + * Beforehand any transition/position class gets removed. + * @param {Boolean} hasReveal - true if related off-canvas element is revealed. + * @private + */ + + }, { + key: "_addContentClasses", + value: function _addContentClasses(hasReveal) { + this._removeContentClasses(hasReveal); + + if (typeof hasReveal !== 'boolean') { + this.$content.addClass("has-transition-".concat(this.options.transition, " has-position-").concat(this.position)); + } else if (hasReveal === true) { + this.$content.addClass("has-reveal-".concat(this.position)); + } + } + /** + * Preserves the fixed behavior of sticky elements on opening an off-canvas with push transition. + * Since the off-canvas container has got a transform scope in such a case, it is done by calculating position absolute values. + * @private + */ + + }, { + key: "_fixStickyElements", + value: function _fixStickyElements() { + this.$sticky.each(function (_, el) { + var $el = jquery__WEBPACK_IMPORTED_MODULE_0___default()(el); // If sticky element is currently fixed, adjust its top value to match absolute position due to transform scope + // Limit to push transition because postion:fixed works without problems for overlap (no transform scope) + + if ($el.css('position') === 'fixed') { + // Save current inline styling to restore it if undoing the absolute fixing + var topVal = parseInt($el.css('top'), 10); + $el.data('offCanvasSticky', { + top: topVal + }); + var absoluteTopVal = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).scrollTop() + topVal; + $el.css({ + top: "".concat(absoluteTopVal, "px"), + width: '100%', + transition: 'none' + }); + } + }); + } + /** + * Restores the original fixed styling of sticky elements after having closed an off-canvas that got pseudo fixed beforehand. + * This reverts the changes of _fixStickyElements() + * @private + */ + + }, { + key: "_unfixStickyElements", + value: function _unfixStickyElements() { + this.$sticky.each(function (_, el) { + var $el = jquery__WEBPACK_IMPORTED_MODULE_0___default()(el); + var stickyData = $el.data('offCanvasSticky'); // If sticky element has got data object with prior values (meaning it was originally fixed) restore these values once off-canvas is closed + + if (_typeof(stickyData) === 'object') { + $el.css({ + top: "".concat(stickyData.top, "px"), + width: '', + transition: '' + }); + $el.data('offCanvasSticky', ''); + } + }); + } + /** + * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open. + * @param {Boolean} isRevealed - true if element should be revealed. + * @function + */ + + }, { + key: "reveal", + value: function reveal(isRevealed) { + if (isRevealed) { + this.close(); + this.isRevealed = true; + this.$element.attr('aria-hidden', 'false'); + this.$element.off('open.zf.trigger toggle.zf.trigger'); + this.$element.removeClass('is-closed'); + } else { + this.isRevealed = false; + this.$element.attr('aria-hidden', 'true'); + this.$element.off('open.zf.trigger toggle.zf.trigger').on({ + 'open.zf.trigger': this.open.bind(this), + 'toggle.zf.trigger': this.toggle.bind(this) + }); + this.$element.addClass('is-closed'); + } + + this._addContentClasses(isRevealed); + } + /** + * Stops scrolling of the body when OffCanvas is open on mobile Safari and other troublesome browsers. + * @function + * @private + */ + + }, { + key: "_stopScrolling", + value: function _stopScrolling(event) { + return false; + } + /** + * Tag the element given as context whether it can be scrolled up and down. + * Used to allow or prevent it to scroll. See `_stopScrollPropagation`. + * + * Taken and adapted from http://stackoverflow.com/questions/16889447/prevent-full-page-scrolling-ios + * Only really works for y, not sure how to extend to x or if we need to. + * + * @function + * @private + */ + + }, { + key: "_recordScrollable", + value: function _recordScrollable(event) { + var elem = this; // called from event handler context with this as elem + // If the element is scrollable (content overflows), then... + + if (elem.scrollHeight !== elem.clientHeight) { + // If we're at the top, scroll down one pixel to allow scrolling up + if (elem.scrollTop === 0) { + elem.scrollTop = 1; + } // If we're at the bottom, scroll up one pixel to allow scrolling down + + + if (elem.scrollTop === elem.scrollHeight - elem.clientHeight) { + elem.scrollTop = elem.scrollHeight - elem.clientHeight - 1; + } + } + + elem.allowUp = elem.scrollTop > 0; + elem.allowDown = elem.scrollTop < elem.scrollHeight - elem.clientHeight; + elem.lastY = event.originalEvent.pageY; + } + /** + * Prevent the given event propagation if the element given as context can scroll. + * Used to preserve the element scrolling on mobile (`touchmove`) when the document + * scrolling is prevented. See https://git.io/zf-9707. + * @function + * @private + */ + + }, { + key: "_stopScrollPropagation", + value: function _stopScrollPropagation(event) { + var elem = this; // called from event handler context with this as elem + + var parent; // off-canvas elem if called from inner scrollbox + + var up = event.pageY < elem.lastY; + var down = !up; + elem.lastY = event.pageY; + + if (up && elem.allowUp || down && elem.allowDown) { + // It is not recommended to stop event propagation (the user cannot watch it), + // but in this case this is the only solution we have. + event.stopPropagation(); // If elem is inner scrollbox we are scrolling the outer off-canvas down/up once the box end has been reached + // This lets the user continue to touch move the off-canvas without the need to place the finger outside the scrollbox + + if (elem.hasAttribute('data-off-canvas-scrollbox')) { + parent = elem.closest('[data-off-canvas], [data-off-canvas-scrollbox-outer]'); + + if (elem.scrollTop <= 1 && parent.scrollTop > 0) { + parent.scrollTop--; + } else if (elem.scrollTop >= elem.scrollHeight - elem.clientHeight - 1 && parent.scrollTop < parent.scrollHeight - parent.clientHeight) { + parent.scrollTop++; + } + } + } else { + event.preventDefault(); + } + } + /** + * Opens the off-canvas menu. + * @function + * @param {Object} event - Event object passed from listener. + * @param {jQuery} trigger - element that triggered the off-canvas to open. + * @fires OffCanvas#opened + * @todo also trigger 'open' event? + */ + + }, { + key: "open", + value: function open(event, trigger) { + var _this4 = this; + + if (this.$element.hasClass('is-open') || this.isRevealed || this.isInCanvas) { + return; + } + + var _this = this; + + if (trigger) { + this.$lastTrigger = trigger; + } + + if (this.options.forceTo === 'top') { + window.scrollTo(0, 0); + } else if (this.options.forceTo === 'bottom') { + window.scrollTo(0, document.body.scrollHeight); + } + + if (this.options.transitionTime && this.options.transition !== 'overlap') { + this.$element.siblings('[data-off-canvas-content]').css('transition-duration', this.options.transitionTime); + } else { + this.$element.siblings('[data-off-canvas-content]').css('transition-duration', ''); + } + + this.$element.addClass('is-open').removeClass('is-closed'); + this.$triggers.attr('aria-expanded', 'true'); + this.$element.attr('aria-hidden', 'false'); + this.$content.addClass('is-open-' + this.position); // If `contentScroll` is set to false, add class and disable scrolling on touch devices. + + if (this.options.contentScroll === false) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').addClass('is-off-canvas-open').on('touchmove', this._stopScrolling); + this.$element.on('touchstart', this._recordScrollable); + this.$element.on('touchmove', this._stopScrollPropagation); + this.$element.on('touchstart', '[data-off-canvas-scrollbox]', this._recordScrollable); + this.$element.on('touchmove', '[data-off-canvas-scrollbox]', this._stopScrollPropagation); + } + + if (this.options.contentOverlay === true) { + this.$overlay.addClass('is-visible'); + } + + if (this.options.closeOnClick === true && this.options.contentOverlay === true) { + this.$overlay.addClass('is-closable'); + } + + if (this.options.autoFocus === true) { + this.$element.one(transitionend(this.$element), function () { + if (!_this.$element.hasClass('is-open')) { + return; // exit if prematurely closed + } + + var canvasFocus = _this.$element.find('[data-autofocus]'); + + if (canvasFocus.length) { + canvasFocus.eq(0).focus(); + } else { + _this.$element.find('a, button').eq(0).focus(); + } + }); + } + + if (this.options.trapFocus === true) { + this.$content.attr('tabindex', '-1'); + Keyboard.trapFocus(this.$element); + } + + if (this.options.transition === 'push') { + this._fixStickyElements(); + } + + this._addContentClasses(); + /** + * Fires when the off-canvas menu opens. + * @event OffCanvas#opened + */ + + + this.$element.trigger('opened.zf.offCanvas'); + /** + * Fires when the off-canvas menu open transition is done. + * @event OffCanvas#openedEnd + */ + + this.$element.one(transitionend(this.$element), function () { + _this4.$element.trigger('openedEnd.zf.offCanvas'); + }); + } + /** + * Closes the off-canvas menu. + * @function + * @param {Function} cb - optional cb to fire after closure. + * @fires OffCanvas#close + * @fires OffCanvas#closed + */ + + }, { + key: "close", + value: function close(cb) { + var _this5 = this; + + if (!this.$element.hasClass('is-open') || this.isRevealed) { + return; + } + /** + * Fires when the off-canvas menu closes. + * @event OffCanvas#close + */ + + + this.$element.trigger('close.zf.offCanvas'); + this.$element.removeClass('is-open'); + this.$element.attr('aria-hidden', 'true'); + this.$content.removeClass('is-open-left is-open-top is-open-right is-open-bottom'); + + if (this.options.contentOverlay === true) { + this.$overlay.removeClass('is-visible'); + } + + if (this.options.closeOnClick === true && this.options.contentOverlay === true) { + this.$overlay.removeClass('is-closable'); + } + + this.$triggers.attr('aria-expanded', 'false'); // Listen to transitionEnd: add class, re-enable scrolling and release focus when done. + + this.$element.one(transitionend(this.$element), function (e) { + _this5.$element.addClass('is-closed'); + + _this5._removeContentClasses(); + + if (_this5.options.transition === 'push') { + _this5._unfixStickyElements(); + } // If `contentScroll` is set to false, remove class and re-enable scrolling on touch devices. + + + if (_this5.options.contentScroll === false) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').removeClass('is-off-canvas-open').off('touchmove', _this5._stopScrolling); + + _this5.$element.off('touchstart', _this5._recordScrollable); + + _this5.$element.off('touchmove', _this5._stopScrollPropagation); + + _this5.$element.off('touchstart', '[data-off-canvas-scrollbox]', _this5._recordScrollable); + + _this5.$element.off('touchmove', '[data-off-canvas-scrollbox]', _this5._stopScrollPropagation); + } + + if (_this5.options.trapFocus === true) { + _this5.$content.removeAttr('tabindex'); + + Keyboard.releaseFocus(_this5.$element); + } + /** + * Fires when the off-canvas menu close transition is done. + * @event OffCanvas#closed + */ + + + _this5.$element.trigger('closed.zf.offCanvas'); + }); + } + /** + * Toggles the off-canvas menu open or closed. + * @function + * @param {Object} event - Event object passed from listener. + * @param {jQuery} trigger - element that triggered the off-canvas to open. + */ + + }, { + key: "toggle", + value: function toggle(event, trigger) { + if (this.$element.hasClass('is-open')) { + this.close(event, trigger); + } else { + this.open(event, trigger); + } + } + /** + * Handles keyboard input when detected. When the escape key is pressed, the off-canvas menu closes, and focus is restored to the element that opened the menu. + * @function + * @private + */ + + }, { + key: "_handleKeyboard", + value: function _handleKeyboard(e) { + var _this6 = this; + + Keyboard.handleKey(e, 'OffCanvas', { + close: function close() { + _this6.close(); + + _this6.$lastTrigger.focus(); + + return true; + }, + handled: function handled() { + e.preventDefault(); + } + }); + } + /** + * Destroys the OffCanvas plugin. + * @function + */ + + }, { + key: "_destroy", + value: function _destroy() { + this.close(); + this.$element.off('.zf.trigger .zf.offCanvas'); + this.$overlay.off('.zf.offCanvas'); + if (this.onLoadListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener); + } + }]); + + return OffCanvas; +}(Plugin); + +OffCanvas.defaults = { + /** + * Allow the user to click outside of the menu to close it. + * @option + * @type {boolean} + * @default true + */ + closeOnClick: true, + + /** + * Adds an overlay on top of `[data-off-canvas-content]`. + * @option + * @type {boolean} + * @default true + */ + contentOverlay: true, + + /** + * Target an off-canvas content container by ID that may be placed anywhere. If null the closest content container will be taken. + * @option + * @type {?string} + * @default null + */ + contentId: null, + + /** + * Define the off-canvas element is nested in an off-canvas content. This is required when using the contentId option for a nested element. + * @option + * @type {boolean} + * @default null + */ + nested: null, + + /** + * Enable/disable scrolling of the main content when an off canvas panel is open. + * @option + * @type {boolean} + * @default true + */ + contentScroll: true, + + /** + * Amount of time the open and close transition requires, including the appropriate milliseconds (`ms`) or seconds (`s`) unit (e.g. `500ms`, `.75s`) If none selected, pulls from body style. + * @option + * @type {string} + * @default null + */ + transitionTime: null, + + /** + * Type of transition for the OffCanvas menu. Options are 'push', 'detached' or 'slide'. + * @option + * @type {string} + * @default push + */ + transition: 'push', + + /** + * Force the page to scroll to top or bottom on open. + * @option + * @type {?string} + * @default null + */ + forceTo: null, + + /** + * Allow the OffCanvas to remain open for certain breakpoints. + * @option + * @type {boolean} + * @default false + */ + isRevealed: false, + + /** + * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option. + * @option + * @type {?string} + * @default null + */ + revealOn: null, + + /** + * Breakpoint at which the off-canvas gets moved into canvas content and acts as regular page element. + * @option + * @type {?string} + * @default null + */ + inCanvasOn: null, + + /** + * Force focus to the offcanvas on open. If true, will focus the opening trigger on close. + * @option + * @type {boolean} + * @default true + */ + autoFocus: true, + + /** + * Class used to force an OffCanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`. + * @option + * @type {string} + * @default reveal-for- + * @todo improve the regex testing for this. + */ + revealClass: 'reveal-for-', + + /** + * Triggers optional focus trapping when opening an OffCanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes. + * @option + * @type {boolean} + * @default false + */ + trapFocus: false +}; +/** + * Orbit module. + * @module foundation.orbit + * @requires foundation.util.keyboard + * @requires foundation.util.motion + * @requires foundation.util.timer + * @requires foundation.util.imageLoader + * @requires foundation.util.touch + */ + +var Orbit = /*#__PURE__*/function (_Plugin) { + _inherits(Orbit, _Plugin); + + function Orbit() { + _classCallCheck(this, Orbit); + + return _possibleConstructorReturn(this, _getPrototypeOf(Orbit).apply(this, arguments)); + } + + _createClass(Orbit, [{ + key: "_setup", + + /** + * Creates a new instance of an orbit carousel. + * @class + * @name Orbit + * @param {jQuery} element - jQuery object to make into an Orbit Carousel. + * @param {Object} options - Overrides to the default plugin settings. + */ + value: function _setup(element, options) { + this.$element = element; + this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Orbit.defaults, this.$element.data(), options); + this.className = 'Orbit'; // ie9 back compat + + Touch.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); // Touch init is idempotent, we just need to make sure it's initialied. + + this._init(); + + Keyboard.register('Orbit', { + 'ltr': { + 'ARROW_RIGHT': 'next', + 'ARROW_LEFT': 'previous' + }, + 'rtl': { + 'ARROW_LEFT': 'next', + 'ARROW_RIGHT': 'previous' + } + }); + } + /** + * Initializes the plugin by creating jQuery collections, setting attributes, and starting the animation. + * @function + * @private + */ + + }, { + key: "_init", + value: function _init() { + // @TODO: consider discussion on PR #9278 about DOM pollution by changeSlide + this._reset(); + + this.$wrapper = this.$element.find(".".concat(this.options.containerClass)); + this.$slides = this.$element.find(".".concat(this.options.slideClass)); + var $images = this.$element.find('img'), + initActive = this.$slides.filter('.is-active'), + id = this.$element[0].id || GetYoDigits(6, 'orbit'); + this.$element.attr({ + 'data-resize': id, + 'id': id + }); + + if (!initActive.length) { + this.$slides.eq(0).addClass('is-active'); + } + + if (!this.options.useMUI) { + this.$slides.addClass('no-motionui'); + } + + if ($images.length) { + onImagesLoaded($images, this._prepareForOrbit.bind(this)); + } else { + this._prepareForOrbit(); //hehe + + } + + if (this.options.bullets) { + this._loadBullets(); + } + + this._events(); + + if (this.options.autoPlay && this.$slides.length > 1) { + this.geoSync(); + } + + if (this.options.accessible) { + // allow wrapper to be focusable to enable arrow navigation + this.$wrapper.attr('tabindex', 0); + } + } + /** + * Creates a jQuery collection of bullets, if they are being used. + * @function + * @private + */ + + }, { + key: "_loadBullets", + value: function _loadBullets() { + this.$bullets = this.$element.find(".".concat(this.options.boxOfBullets)).find('button'); + } + /** + * Sets a `timer` object on the orbit, and starts the counter for the next slide. + * @function + */ + + }, { + key: "geoSync", + value: function geoSync() { + var _this = this; + + this.timer = new Timer(this.$element, { + duration: this.options.timerDelay, + infinite: false + }, function () { + _this.changeSlide(true); + }); + this.timer.start(); + } + /** + * Sets wrapper and slide heights for the orbit. + * @function + * @private + */ + + }, { + key: "_prepareForOrbit", + value: function _prepareForOrbit() { + this._setWrapperHeight(); + } + /** + * Calulates the height of each slide in the collection, and uses the tallest one for the wrapper height. + * @function + * @private + * @param {Function} cb - a callback function to fire when complete. + */ + + }, { + key: "_setWrapperHeight", + value: function _setWrapperHeight(cb) { + //rewrite this to `for` loop + var max = 0, + temp, + counter = 0, + _this = this; + + this.$slides.each(function () { + temp = this.getBoundingClientRect().height; + jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).attr('data-slide', counter); // hide all slides but the active one + + if (!/mui/g.test(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)[0].className) && _this.$slides.filter('.is-active')[0] !== _this.$slides.eq(counter)[0]) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).css({ + 'display': 'none' + }); + } + + max = temp > max ? temp : max; + counter++; + }); + + if (counter === this.$slides.length) { + this.$wrapper.css({ + 'height': max + }); //only change the wrapper height property once. + + if (cb) { + cb(max); + } //fire callback with max height dimension. + + } + } + /** + * Sets the max-height of each slide. + * @function + * @private + */ + + }, { + key: "_setSlideHeight", + value: function _setSlideHeight(height) { + this.$slides.each(function () { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).css('max-height', height); + }); + } + /** + * Adds event listeners to basically everything within the element. + * @function + * @private + */ + + }, { + key: "_events", + value: function _events() { + var _this = this; //*************************************** + //**Now using custom event - thanks to:** + //** Yohai Ararat of Toronto ** + //*************************************** + // + + + this.$element.off('.resizeme.zf.trigger').on({ + 'resizeme.zf.trigger': this._prepareForOrbit.bind(this) + }); + + if (this.$slides.length > 1) { + if (this.options.swipe) { + this.$slides.off('swipeleft.zf.orbit swiperight.zf.orbit').on('swipeleft.zf.orbit', function (e) { + e.preventDefault(); + + _this.changeSlide(true); + }).on('swiperight.zf.orbit', function (e) { + e.preventDefault(); + + _this.changeSlide(false); + }); + } //*************************************** + + + if (this.options.autoPlay) { + this.$slides.on('click.zf.orbit', function () { + _this.$element.data('clickedOn', _this.$element.data('clickedOn') ? false : true); + + _this.timer[_this.$element.data('clickedOn') ? 'pause' : 'start'](); + }); + + if (this.options.pauseOnHover) { + this.$element.on('mouseenter.zf.orbit', function () { + _this.timer.pause(); + }).on('mouseleave.zf.orbit', function () { + if (!_this.$element.data('clickedOn')) { + _this.timer.start(); + } + }); + } + } + + if (this.options.navButtons) { + var $controls = this.$element.find(".".concat(this.options.nextClass, ", .").concat(this.options.prevClass)); + $controls.attr('tabindex', 0) //also need to handle enter/return and spacebar key presses + .on('click.zf.orbit touchend.zf.orbit', function (e) { + e.preventDefault(); + + _this.changeSlide(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).hasClass(_this.options.nextClass)); + }); + } + + if (this.options.bullets) { + this.$bullets.on('click.zf.orbit touchend.zf.orbit', function () { + if (/is-active/g.test(this.className)) { + return false; + } //if this is active, kick out of function. + + + var idx = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('slide'), + ltr = idx > _this.$slides.filter('.is-active').data('slide'), + $slide = _this.$slides.eq(idx); + + _this.changeSlide(ltr, $slide, idx); + }); + } + + if (this.options.accessible) { + this.$wrapper.add(this.$bullets).on('keydown.zf.orbit', function (e) { + // handle keyboard event with keyboard util + Keyboard.handleKey(e, 'Orbit', { + next: function next() { + _this.changeSlide(true); + }, + previous: function previous() { + _this.changeSlide(false); + }, + handled: function handled() { + // if bullet is focused, make sure focus moves + if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).is(_this.$bullets)) { + _this.$bullets.filter('.is-active').focus(); + } + } + }); + }); + } + } + } + /** + * Resets Orbit so it can be reinitialized + */ + + }, { + key: "_reset", + value: function _reset() { + // Don't do anything if there are no slides (first run) + if (typeof this.$slides == 'undefined') { + return; + } + + if (this.$slides.length > 1) { + // Remove old events + this.$element.off('.zf.orbit').find('*').off('.zf.orbit'); // Restart timer if autoPlay is enabled + + if (this.options.autoPlay) { + this.timer.restart(); + } // Reset all sliddes + + + this.$slides.each(function (el) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(el).removeClass('is-active is-active is-in').removeAttr('aria-live').hide(); + }); // Show the first slide + + this.$slides.first().addClass('is-active').show(); // Triggers when the slide has finished animating + + this.$element.trigger('slidechange.zf.orbit', [this.$slides.first()]); // Select first bullet if bullets are present + + if (this.options.bullets) { + this._updateBullets(0); + } + } + } + /** + * Changes the current slide to a new one. + * @function + * @param {Boolean} isLTR - if true the slide moves from right to left, if false the slide moves from left to right. + * @param {jQuery} chosenSlide - the jQuery element of the slide to show next, if one is selected. + * @param {Number} idx - the index of the new slide in its collection, if one chosen. + * @fires Orbit#slidechange + */ + + }, { + key: "changeSlide", + value: function changeSlide(isLTR, chosenSlide, idx) { + if (!this.$slides) { + return; + } // Don't freak out if we're in the middle of cleanup + + + var $curSlide = this.$slides.filter('.is-active').eq(0); + + if (/mui/g.test($curSlide[0].className)) { + return false; + } //if the slide is currently animating, kick out of the function + + + var $firstSlide = this.$slides.first(), + $lastSlide = this.$slides.last(), + dirIn = isLTR ? 'Right' : 'Left', + dirOut = isLTR ? 'Left' : 'Right', + _this = this, + $newSlide; + + if (!chosenSlide) { + //most of the time, this will be auto played or clicked from the navButtons. + $newSlide = isLTR ? //if wrapping enabled, check to see if there is a `next` or `prev` sibling, if not, select the first or last slide to fill in. if wrapping not enabled, attempt to select `next` or `prev`, if there's nothing there, the function will kick out on next step. CRAZY NESTED TERNARIES!!!!! + this.options.infiniteWrap ? $curSlide.next(".".concat(this.options.slideClass)).length ? $curSlide.next(".".concat(this.options.slideClass)) : $firstSlide : $curSlide.next(".".concat(this.options.slideClass)) : //pick next slide if moving left to right + this.options.infiniteWrap ? $curSlide.prev(".".concat(this.options.slideClass)).length ? $curSlide.prev(".".concat(this.options.slideClass)) : $lastSlide : $curSlide.prev(".".concat(this.options.slideClass)); //pick prev slide if moving right to left + } else { + $newSlide = chosenSlide; + } + + if ($newSlide.length) { + /** + * Triggers before the next slide starts animating in and only if a next slide has been found. + * @event Orbit#beforeslidechange + */ + this.$element.trigger('beforeslidechange.zf.orbit', [$curSlide, $newSlide]); + + if (this.options.bullets) { + idx = idx || this.$slides.index($newSlide); //grab index to update bullets + + this._updateBullets(idx); + } + + if (this.options.useMUI && !this.$element.is(':hidden')) { + Motion.animateIn($newSlide.addClass('is-active'), this.options["animInFrom".concat(dirIn)], function () { + $newSlide.css({ + 'display': 'block' + }).attr('aria-live', 'polite'); + }); + Motion.animateOut($curSlide.removeClass('is-active'), this.options["animOutTo".concat(dirOut)], function () { + $curSlide.removeAttr('aria-live'); + + if (_this.options.autoPlay && !_this.timer.isPaused) { + _this.timer.restart(); + } //do stuff? + + }); + } else { + $curSlide.removeClass('is-active is-in').removeAttr('aria-live').hide(); + $newSlide.addClass('is-active is-in').attr('aria-live', 'polite').show(); + + if (this.options.autoPlay && !this.timer.isPaused) { + this.timer.restart(); + } + } + /** + * Triggers when the slide has finished animating in. + * @event Orbit#slidechange + */ + + + this.$element.trigger('slidechange.zf.orbit', [$newSlide]); + } + } + /** + * Updates the active state of the bullets, if displayed. + * Move the descriptor of the current slide `[data-slide-active-label]` to the newly active bullet. + * If no `[data-slide-active-label]` is set, will move the exceeding `span` element. + * + * @function + * @private + * @param {Number} idx - the index of the current slide. + */ + + }, { + key: "_updateBullets", + value: function _updateBullets(idx) { + var $oldBullet = this.$bullets.filter('.is-active'); + var $othersBullets = this.$bullets.not('.is-active'); + var $newBullet = this.$bullets.eq(idx); + $oldBullet.removeClass('is-active').blur(); + $newBullet.addClass('is-active'); // Find the descriptor for the current slide to move it to the new slide button + + var activeStateDescriptor = $oldBullet.children('[data-slide-active-label]').last(); // If not explicitely given, search for the last "exceeding" span element (compared to others bullets). + + if (!activeStateDescriptor.length) { + var spans = $oldBullet.children('span'); + var spanCountInOthersBullets = $othersBullets.toArray().map(function (b) { + return jquery__WEBPACK_IMPORTED_MODULE_0___default()(b).children('span').length; + }); // If there is an exceeding span element, use it as current slide descriptor + + if (spanCountInOthersBullets.every(function (count) { + return count < spans.length; + })) { + activeStateDescriptor = spans.last(); + activeStateDescriptor.attr('data-slide-active-label', ''); + } + } // Move the current slide descriptor to the new slide button + + + if (activeStateDescriptor.length) { + activeStateDescriptor.detach(); + $newBullet.append(activeStateDescriptor); + } + } + /** + * Destroys the carousel and hides the element. + * @function + */ + + }, { + key: "_destroy", + value: function _destroy() { + this.$element.off('.zf.orbit').find('*').off('.zf.orbit').end().hide(); + } + }]); + + return Orbit; +}(Plugin); + +Orbit.defaults = { + /** + * Tells the JS to look for and loadBullets. + * @option + * @type {boolean} + * @default true + */ + bullets: true, + + /** + * Tells the JS to apply event listeners to nav buttons + * @option + * @type {boolean} + * @default true + */ + navButtons: true, + + /** + * motion-ui animation class to apply + * @option + * @type {string} + * @default 'slide-in-right' + */ + animInFromRight: 'slide-in-right', + + /** + * motion-ui animation class to apply + * @option + * @type {string} + * @default 'slide-out-right' + */ + animOutToRight: 'slide-out-right', + + /** + * motion-ui animation class to apply + * @option + * @type {string} + * @default 'slide-in-left' + * + */ + animInFromLeft: 'slide-in-left', + + /** + * motion-ui animation class to apply + * @option + * @type {string} + * @default 'slide-out-left' + */ + animOutToLeft: 'slide-out-left', + + /** + * Allows Orbit to automatically animate on page load. + * @option + * @type {boolean} + * @default true + */ + autoPlay: true, + + /** + * Amount of time, in ms, between slide transitions + * @option + * @type {number} + * @default 5000 + */ + timerDelay: 5000, + + /** + * Allows Orbit to infinitely loop through the slides + * @option + * @type {boolean} + * @default true + */ + infiniteWrap: true, + + /** + * Allows the Orbit slides to bind to swipe events for mobile, requires an additional util library + * @option + * @type {boolean} + * @default true + */ + swipe: true, + + /** + * Allows the timing function to pause animation on hover. + * @option + * @type {boolean} + * @default true + */ + pauseOnHover: true, + + /** + * Allows Orbit to bind keyboard events to the slider, to animate frames with arrow keys + * @option + * @type {boolean} + * @default true + */ + accessible: true, + + /** + * Class applied to the container of Orbit + * @option + * @type {string} + * @default 'orbit-container' + */ + containerClass: 'orbit-container', + + /** + * Class applied to individual slides. + * @option + * @type {string} + * @default 'orbit-slide' + */ + slideClass: 'orbit-slide', + + /** + * Class applied to the bullet container. You're welcome. + * @option + * @type {string} + * @default 'orbit-bullets' + */ + boxOfBullets: 'orbit-bullets', + + /** + * Class applied to the `next` navigation button. + * @option + * @type {string} + * @default 'orbit-next' + */ + nextClass: 'orbit-next', + + /** + * Class applied to the `previous` navigation button. + * @option + * @type {string} + * @default 'orbit-previous' + */ + prevClass: 'orbit-previous', + + /** + * Boolean to flag the js to use motion ui classes or not. Default to true for backwards compatibility. + * @option + * @type {boolean} + * @default true + */ + useMUI: true +}; +var MenuPlugins = { + dropdown: { + cssClass: 'dropdown', + plugin: DropdownMenu + }, + drilldown: { + cssClass: 'drilldown', + plugin: Drilldown + }, + accordion: { + cssClass: 'accordion-menu', + plugin: AccordionMenu + } +}; // import "foundation.util.triggers.js"; + +/** + * ResponsiveMenu module. + * @module foundation.responsiveMenu + * @requires foundation.util.triggers + * @requires foundation.util.mediaQuery + */ + +var ResponsiveMenu = /*#__PURE__*/function (_Plugin) { + _inherits(ResponsiveMenu, _Plugin); + + function ResponsiveMenu() { + _classCallCheck(this, ResponsiveMenu); + + return _possibleConstructorReturn(this, _getPrototypeOf(ResponsiveMenu).apply(this, arguments)); + } + + _createClass(ResponsiveMenu, [{ + key: "_setup", + + /** + * Creates a new instance of a responsive menu. + * @class + * @name ResponsiveMenu + * @fires ResponsiveMenu#init + * @param {jQuery} element - jQuery object to make into a dropdown menu. + * @param {Object} options - Overrides to the default plugin settings. + */ + value: function _setup(element, options) { + this.$element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(element); + this.rules = this.$element.data('responsive-menu'); + this.currentMq = null; + this.currentPlugin = null; + this.className = 'ResponsiveMenu'; // ie9 back compat + + this._init(); + + this._events(); + } + /** + * Initializes the Menu by parsing the classes from the 'data-ResponsiveMenu' attribute on the element. + * @function + * @private + */ + + }, { + key: "_init", + value: function _init() { + MediaQuery._init(); // The first time an Interchange plugin is initialized, this.rules is converted from a string of "classes" to an object of rules + + + if (typeof this.rules === 'string') { + var rulesTree = {}; // Parse rules from "classes" pulled from data attribute + + var rules = this.rules.split(' '); // Iterate through every rule found + + for (var i = 0; i < rules.length; i++) { + var rule = rules[i].split('-'); + var ruleSize = rule.length > 1 ? rule[0] : 'small'; + var rulePlugin = rule.length > 1 ? rule[1] : rule[0]; + + if (MenuPlugins[rulePlugin] !== null) { + rulesTree[ruleSize] = MenuPlugins[rulePlugin]; + } + } + + this.rules = rulesTree; + } + + if (!jquery__WEBPACK_IMPORTED_MODULE_0___default.a.isEmptyObject(this.rules)) { + this._checkMediaQueries(); + } // Add data-mutate since children may need it. + + + this.$element.attr('data-mutate', this.$element.attr('data-mutate') || GetYoDigits(6, 'responsive-menu')); + } + /** + * Initializes events for the Menu. + * @function + * @private + */ + + }, { + key: "_events", + value: function _events() { + var _this = this; + + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', function () { + _this._checkMediaQueries(); + }); // $(window).on('resize.zf.ResponsiveMenu', function() { + // _this._checkMediaQueries(); + // }); + } + /** + * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out. + * @function + * @private + */ + + }, { + key: "_checkMediaQueries", + value: function _checkMediaQueries() { + var matchedMq, + _this = this; // Iterate through each rule and find the last matching rule + + + jquery__WEBPACK_IMPORTED_MODULE_0___default.a.each(this.rules, function (key) { + if (MediaQuery.atLeast(key)) { + matchedMq = key; + } + }); // No match? No dice + + if (!matchedMq) return; // Plugin already initialized? We good + + if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return; // Remove existing plugin-specific CSS classes + + jquery__WEBPACK_IMPORTED_MODULE_0___default.a.each(MenuPlugins, function (key, value) { + _this.$element.removeClass(value.cssClass); + }); // Add the CSS class for the new plugin + + this.$element.addClass(this.rules[matchedMq].cssClass); // Create an instance of the new plugin + + if (this.currentPlugin) this.currentPlugin.destroy(); + this.currentPlugin = new this.rules[matchedMq].plugin(this.$element, {}); + } + /** + * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out. + * @function + */ + + }, { + key: "_destroy", + value: function _destroy() { + this.currentPlugin.destroy(); + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('.zf.ResponsiveMenu'); + } + }]); + + return ResponsiveMenu; +}(Plugin); + +ResponsiveMenu.defaults = {}; +/** + * ResponsiveToggle module. + * @module foundation.responsiveToggle + * @requires foundation.util.mediaQuery + * @requires foundation.util.motion + */ + +var ResponsiveToggle = /*#__PURE__*/function (_Plugin) { + _inherits(ResponsiveToggle, _Plugin); + + function ResponsiveToggle() { + _classCallCheck(this, ResponsiveToggle); + + return _possibleConstructorReturn(this, _getPrototypeOf(ResponsiveToggle).apply(this, arguments)); + } + + _createClass(ResponsiveToggle, [{ + key: "_setup", + + /** + * Creates a new instance of Tab Bar. + * @class + * @name ResponsiveToggle + * @fires ResponsiveToggle#init + * @param {jQuery} element - jQuery object to attach tab bar functionality to. + * @param {Object} options - Overrides to the default plugin settings. + */ + value: function _setup(element, options) { + this.$element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(element); + this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, ResponsiveToggle.defaults, this.$element.data(), options); + this.className = 'ResponsiveToggle'; // ie9 back compat + + this._init(); + + this._events(); + } + /** + * Initializes the tab bar by finding the target element, toggling element, and running update(). + * @function + * @private + */ + + }, { + key: "_init", + value: function _init() { + MediaQuery._init(); + + var targetID = this.$element.data('responsive-toggle'); + + if (!targetID) { + console.error('Your tab bar needs an ID of a Menu as the value of data-tab-bar.'); + } + + this.$targetMenu = jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat(targetID)); + this.$toggler = this.$element.find('[data-toggle]').filter(function () { + var target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle'); + return target === targetID || target === ""; + }); + this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, this.options, this.$targetMenu.data()); // If they were set, parse the animation classes + + if (this.options.animate) { + var input = this.options.animate.split(' '); + this.animationIn = input[0]; + this.animationOut = input[1] || null; + } + + this._update(); + } + /** + * Adds necessary event handlers for the tab bar to work. + * @function + * @private + */ + + }, { + key: "_events", + value: function _events() { + this._updateMqHandler = this._update.bind(this); + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', this._updateMqHandler); + this.$toggler.on('click.zf.responsiveToggle', this.toggleMenu.bind(this)); + } + /** + * Checks the current media query to determine if the tab bar should be visible or hidden. + * @function + * @private + */ + + }, { + key: "_update", + value: function _update() { + // Mobile + if (!MediaQuery.atLeast(this.options.hideFor)) { + this.$element.show(); + this.$targetMenu.hide(); + } // Desktop + else { + this.$element.hide(); + this.$targetMenu.show(); + } + } + /** + * Toggles the element attached to the tab bar. The toggle only happens if the screen is small enough to allow it. + * @function + * @fires ResponsiveToggle#toggled + */ + + }, { + key: "toggleMenu", + value: function toggleMenu() { + var _this2 = this; + + if (!MediaQuery.atLeast(this.options.hideFor)) { + /** + * Fires when the element attached to the tab bar toggles. + * @event ResponsiveToggle#toggled + */ + if (this.options.animate) { + if (this.$targetMenu.is(':hidden')) { + Motion.animateIn(this.$targetMenu, this.animationIn, function () { + _this2.$element.trigger('toggled.zf.responsiveToggle'); + + _this2.$targetMenu.find('[data-mutate]').triggerHandler('mutateme.zf.trigger'); + }); + } else { + Motion.animateOut(this.$targetMenu, this.animationOut, function () { + _this2.$element.trigger('toggled.zf.responsiveToggle'); + }); + } + } else { + this.$targetMenu.toggle(0); + this.$targetMenu.find('[data-mutate]').trigger('mutateme.zf.trigger'); + this.$element.trigger('toggled.zf.responsiveToggle'); + } + } + } + }, { + key: "_destroy", + value: function _destroy() { + this.$element.off('.zf.responsiveToggle'); + this.$toggler.off('.zf.responsiveToggle'); + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('changed.zf.mediaquery', this._updateMqHandler); + } + }]); + + return ResponsiveToggle; +}(Plugin); + +ResponsiveToggle.defaults = { + /** + * The breakpoint after which the menu is always shown, and the tab bar is hidden. + * @option + * @type {string} + * @default 'medium' + */ + hideFor: 'medium', + + /** + * To decide if the toggle should be animated or not. + * @option + * @type {boolean} + * @default false + */ + animate: false +}; +/** + * Reveal module. + * @module foundation.reveal + * @requires foundation.util.keyboard + * @requires foundation.util.touch + * @requires foundation.util.triggers + * @requires foundation.util.mediaQuery + * @requires foundation.util.motion if using animations + */ + +var Reveal = /*#__PURE__*/function (_Plugin) { + _inherits(Reveal, _Plugin); + + function Reveal() { + _classCallCheck(this, Reveal); + + return _possibleConstructorReturn(this, _getPrototypeOf(Reveal).apply(this, arguments)); + } + + _createClass(Reveal, [{ + key: "_setup", + + /** + * Creates a new instance of Reveal. + * @class + * @name Reveal + * @param {jQuery} element - jQuery object to use for the modal. + * @param {Object} options - optional parameters. + */ + value: function _setup(element, options) { + this.$element = element; + this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Reveal.defaults, this.$element.data(), options); + this.className = 'Reveal'; // ie9 back compat + + this._init(); // Touch and Triggers init are idempotent, just need to make sure they are initialized + + + Touch.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); + Triggers.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); + Keyboard.register('Reveal', { + 'ESCAPE': 'close' + }); + } + /** + * Initializes the modal by adding the overlay and close buttons, (if selected). + * @private + */ + + }, { + key: "_init", + value: function _init() { + var _this2 = this; + + MediaQuery._init(); + + this.id = this.$element.attr('id'); + this.isActive = false; + this.cached = { + mq: MediaQuery.current + }; + this.$anchor = jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-open=\"".concat(this.id, "\"]")).length ? jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-open=\"".concat(this.id, "\"]")) : jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-toggle=\"".concat(this.id, "\"]")); + this.$anchor.attr({ + 'aria-controls': this.id, + 'aria-haspopup': true, + 'tabindex': 0 + }); + + if (this.options.fullScreen || this.$element.hasClass('full')) { + this.options.fullScreen = true; + this.options.overlay = false; + } + + if (this.options.overlay && !this.$overlay) { + this.$overlay = this._makeOverlay(this.id); + } + + this.$element.attr({ + 'role': 'dialog', + 'aria-hidden': true, + 'data-yeti-box': this.id, + 'data-resize': this.id + }); + + if (this.$overlay) { + this.$element.detach().appendTo(this.$overlay); + } else { + this.$element.detach().appendTo(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.options.appendTo)); + this.$element.addClass('without-overlay'); + } + + this._events(); + + if (this.options.deepLink && window.location.hash === "#".concat(this.id)) { + this.onLoadListener = onLoad(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () { + return _this2.open(); + }); + } + } + /** + * Creates an overlay div to display behind the modal. + * @private + */ + + }, { + key: "_makeOverlay", + value: function _makeOverlay() { + var additionalOverlayClasses = ''; + + if (this.options.additionalOverlayClasses) { + additionalOverlayClasses = ' ' + this.options.additionalOverlayClasses; + } + + return jquery__WEBPACK_IMPORTED_MODULE_0___default()('
    ').addClass('reveal-overlay' + additionalOverlayClasses).appendTo(this.options.appendTo); + } + /** + * Updates position of modal + * TODO: Figure out if we actually need to cache these values or if it doesn't matter + * @private + */ + + }, { + key: "_updatePosition", + value: function _updatePosition() { + var width = this.$element.outerWidth(); + var outerWidth = jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).width(); + var height = this.$element.outerHeight(); + var outerHeight = jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).height(); + var left, + top = null; + + if (this.options.hOffset === 'auto') { + left = parseInt((outerWidth - width) / 2, 10); + } else { + left = parseInt(this.options.hOffset, 10); + } + + if (this.options.vOffset === 'auto') { + if (height > outerHeight) { + top = parseInt(Math.min(100, outerHeight / 10), 10); + } else { + top = parseInt((outerHeight - height) / 4, 10); + } + } else if (this.options.vOffset !== null) { + top = parseInt(this.options.vOffset, 10); + } + + if (top !== null) { + this.$element.css({ + top: top + 'px' + }); + } // only worry about left if we don't have an overlay or we have a horizontal offset, + // otherwise we're perfectly in the middle + + + if (!this.$overlay || this.options.hOffset !== 'auto') { + this.$element.css({ + left: left + 'px' + }); + this.$element.css({ + margin: '0px' + }); + } + } + /** + * Adds event handlers for the modal. + * @private + */ + + }, { + key: "_events", + value: function _events() { + var _this3 = this; + + var _this = this; + + this.$element.on({ + 'open.zf.trigger': this.open.bind(this), + 'close.zf.trigger': function closeZfTrigger(event, $element) { + if (event.target === _this.$element[0] || jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.target).parents('[data-closable]')[0] === $element) { + // only close reveal when it's explicitly called + return _this3.close.apply(_this3); + } + }, + 'toggle.zf.trigger': this.toggle.bind(this), + 'resizeme.zf.trigger': function resizemeZfTrigger() { + _this._updatePosition(); + } + }); + + if (this.options.closeOnClick && this.options.overlay) { + this.$overlay.off('.zf.reveal').on('click.zf.dropdown tap.zf.dropdown', function (e) { + if (e.target === _this.$element[0] || jquery__WEBPACK_IMPORTED_MODULE_0___default.a.contains(_this.$element[0], e.target) || !jquery__WEBPACK_IMPORTED_MODULE_0___default.a.contains(document, e.target)) { + return; + } + + _this.close(); + }); + } + + if (this.options.deepLink) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on("hashchange.zf.reveal:".concat(this.id), this._handleState.bind(this)); + } + } + /** + * Handles modal methods on back/forward button clicks or any other event that triggers hashchange. + * @private + */ + + }, { + key: "_handleState", + value: function _handleState(e) { + if (window.location.hash === '#' + this.id && !this.isActive) { + this.open(); + } else { + this.close(); + } + } + /** + * Disables the scroll when Reveal is shown to prevent the background from shifting + * @param {number} scrollTop - Scroll to visually apply, window current scroll by default + */ + + }, { + key: "_disableScroll", + value: function _disableScroll(scrollTop) { + scrollTop = scrollTop || jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scrollTop(); + + if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).height() > jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).height()) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()("html").css("top", -scrollTop); + } + } + /** + * Reenables the scroll when Reveal closes + * @param {number} scrollTop - Scroll to restore, html "top" property by default (as set by `_disableScroll`) + */ + + }, { + key: "_enableScroll", + value: function _enableScroll(scrollTop) { + scrollTop = scrollTop || parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()("html").css("top")); + + if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).height() > jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).height()) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()("html").css("top", ""); + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scrollTop(-scrollTop); + } + } + /** + * Opens the modal controlled by `this.$anchor`, and closes all others by default. + * @function + * @fires Reveal#closeme + * @fires Reveal#open + */ + + }, { + key: "open", + value: function open() { + var _this4 = this; // either update or replace browser history + + + var hash = "#".concat(this.id); + + if (this.options.deepLink && window.location.hash !== hash) { + if (window.history.pushState) { + if (this.options.updateHistory) { + window.history.pushState({}, '', hash); + } else { + window.history.replaceState({}, '', hash); + } + } else { + window.location.hash = hash; + } + } // Remember anchor that opened it to set focus back later, have general anchors as fallback + + + this.$activeAnchor = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.activeElement).is(this.$anchor) ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.activeElement) : this.$anchor; + this.isActive = true; // Make elements invisible, but remove display: none so we can get size and positioning + + this.$element.css({ + 'visibility': 'hidden' + }).show().scrollTop(0); + + if (this.options.overlay) { + this.$overlay.css({ + 'visibility': 'hidden' + }).show(); + } + + this._updatePosition(); + + this.$element.hide().css({ + 'visibility': '' + }); + + if (this.$overlay) { + this.$overlay.css({ + 'visibility': '' + }).hide(); + + if (this.$element.hasClass('fast')) { + this.$overlay.addClass('fast'); + } else if (this.$element.hasClass('slow')) { + this.$overlay.addClass('slow'); + } + } + + if (!this.options.multipleOpened) { + /** + * Fires immediately before the modal opens. + * Closes any other modals that are currently open + * @event Reveal#closeme + */ + this.$element.trigger('closeme.zf.reveal', this.id); + } + + if (jquery__WEBPACK_IMPORTED_MODULE_0___default()('.reveal:visible').length === 0) { + this._disableScroll(); + } + + var _this = this; // Motion UI method of reveal + + + if (this.options.animationIn) { + var afterAnimation = function afterAnimation() { + _this.$element.attr({ + 'aria-hidden': false, + 'tabindex': -1 + }).focus(); + + _this._addGlobalClasses(); + + Keyboard.trapFocus(_this.$element); + }; + + if (this.options.overlay) { + Motion.animateIn(this.$overlay, 'fade-in'); + } + + Motion.animateIn(this.$element, this.options.animationIn, function () { + if (_this4.$element) { + // protect against object having been removed + _this4.focusableElements = Keyboard.findFocusable(_this4.$element); + afterAnimation(); + } + }); + } // jQuery method of reveal + else { + if (this.options.overlay) { + this.$overlay.show(0); + } + + this.$element.show(this.options.showDelay); + } // handle accessibility + + + this.$element.attr({ + 'aria-hidden': false, + 'tabindex': -1 + }).focus(); + Keyboard.trapFocus(this.$element); + + this._addGlobalClasses(); + + this._addGlobalListeners(); + /** + * Fires when the modal has successfully opened. + * @event Reveal#open + */ + + + this.$element.trigger('open.zf.reveal'); + } + /** + * Adds classes and listeners on document required by open modals. + * + * The following classes are added and updated: + * - `.is-reveal-open` - Prevents the scroll on document + * - `.zf-has-scroll` - Displays a disabled scrollbar on document if required like if the + * scroll was not disabled. This prevent a "shift" of the page content due + * the scrollbar disappearing when the modal opens. + * + * @private + */ + + }, { + key: "_addGlobalClasses", + value: function _addGlobalClasses() { + var updateScrollbarClass = function updateScrollbarClass() { + jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').toggleClass('zf-has-scroll', !!(jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).height() > jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).height())); + }; + + this.$element.on('resizeme.zf.trigger.revealScrollbarListener', function () { + return updateScrollbarClass(); + }); + updateScrollbarClass(); + jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').addClass('is-reveal-open'); + } + /** + * Removes classes and listeners on document that were required by open modals. + * @private + */ + + }, { + key: "_removeGlobalClasses", + value: function _removeGlobalClasses() { + this.$element.off('resizeme.zf.trigger.revealScrollbarListener'); + jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').removeClass('is-reveal-open'); + jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').removeClass('zf-has-scroll'); + } + /** + * Adds extra event handlers for the body and window if necessary. + * @private + */ + + }, { + key: "_addGlobalListeners", + value: function _addGlobalListeners() { + var _this = this; + + if (!this.$element) { + return; + } // If we're in the middle of cleanup, don't freak out + + + this.focusableElements = Keyboard.findFocusable(this.$element); + + if (!this.options.overlay && this.options.closeOnClick && !this.options.fullScreen) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').on('click.zf.dropdown tap.zf.dropdown', function (e) { + if (e.target === _this.$element[0] || jquery__WEBPACK_IMPORTED_MODULE_0___default.a.contains(_this.$element[0], e.target) || !jquery__WEBPACK_IMPORTED_MODULE_0___default.a.contains(document, e.target)) { + return; + } + + _this.close(); + }); + } + + if (this.options.closeOnEsc) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('keydown.zf.reveal', function (e) { + Keyboard.handleKey(e, 'Reveal', { + close: function close() { + if (_this.options.closeOnEsc) { + _this.close(); + } + } + }); + }); + } + } + /** + * Closes the modal. + * @function + * @fires Reveal#closed + */ + + }, { + key: "close", + value: function close() { + if (!this.isActive || !this.$element.is(':visible')) { + return false; + } + + var _this = this; // Motion UI method of hiding + + + if (this.options.animationOut) { + if (this.options.overlay) { + Motion.animateOut(this.$overlay, 'fade-out'); + } + + Motion.animateOut(this.$element, this.options.animationOut, finishUp); + } // jQuery method of hiding + else { + this.$element.hide(this.options.hideDelay); + + if (this.options.overlay) { + this.$overlay.hide(0, finishUp); + } else { + finishUp(); + } + } // Conditionals to remove extra event listeners added on open + + + if (this.options.closeOnEsc) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('keydown.zf.reveal'); + } + + if (!this.options.overlay && this.options.closeOnClick) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').off('click.zf.dropdown tap.zf.dropdown'); + } + + this.$element.off('keydown.zf.reveal'); + + function finishUp() { + // Get the current top before the modal is closed and restore the scroll after. + // TODO: use component properties instead of HTML properties + // See https://github.com/foundation/foundation-sites/pull/10786 + var scrollTop = parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()("html").css("top")); + + if (jquery__WEBPACK_IMPORTED_MODULE_0___default()('.reveal:visible').length === 0) { + _this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal + + } + + Keyboard.releaseFocus(_this.$element); + + _this.$element.attr('aria-hidden', true); + + if (jquery__WEBPACK_IMPORTED_MODULE_0___default()('.reveal:visible').length === 0) { + _this._enableScroll(scrollTop); + } + /** + * Fires when the modal is done closing. + * @event Reveal#closed + */ + + + _this.$element.trigger('closed.zf.reveal'); + } + /** + * Resets the modal content + * This prevents a running video to keep going in the background + */ + + + if (this.options.resetOnClose) { + this.$element.html(this.$element.html()); + } + + this.isActive = false; // If deepLink and we did not switched to an other modal... + + if (_this.options.deepLink && window.location.hash === "#".concat(this.id)) { + // Remove the history hash + if (window.history.replaceState) { + var urlWithoutHash = window.location.pathname + window.location.search; + + if (this.options.updateHistory) { + window.history.pushState({}, '', urlWithoutHash); // remove the hash + } else { + window.history.replaceState('', document.title, urlWithoutHash); + } + } else { + window.location.hash = ''; + } + } + + this.$activeAnchor.focus(); + } + /** + * Toggles the open/closed state of a modal. + * @function + */ + + }, { + key: "toggle", + value: function toggle() { + if (this.isActive) { + this.close(); + } else { + this.open(); + } + } + }, { + key: "_destroy", + + /** + * Destroys an instance of a modal. + * @function + */ + value: function _destroy() { + if (this.options.overlay) { + this.$element.appendTo(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.options.appendTo)); // move $element outside of $overlay to prevent error unregisterPlugin() + + this.$overlay.hide().off().remove(); + } + + this.$element.hide().off(); + this.$anchor.off('.zf'); + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(".zf.reveal:".concat(this.id)); + if (this.onLoadListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener); + + if (jquery__WEBPACK_IMPORTED_MODULE_0___default()('.reveal:visible').length === 0) { + this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal + + } + } + }]); + + return Reveal; +}(Plugin); + +Reveal.defaults = { + /** + * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide. + * @option + * @type {string} + * @default '' + */ + animationIn: '', + + /** + * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide. + * @option + * @type {string} + * @default '' + */ + animationOut: '', + + /** + * Time, in ms, to delay the opening of a modal after a click if no animation used. + * @option + * @type {number} + * @default 0 + */ + showDelay: 0, + + /** + * Time, in ms, to delay the closing of a modal after a click if no animation used. + * @option + * @type {number} + * @default 0 + */ + hideDelay: 0, + + /** + * Allows a click on the body/overlay to close the modal. + * @option + * @type {boolean} + * @default true + */ + closeOnClick: true, + + /** + * Allows the modal to close if the user presses the `ESCAPE` key. + * @option + * @type {boolean} + * @default true + */ + closeOnEsc: true, + + /** + * If true, allows multiple modals to be displayed at once. + * @option + * @type {boolean} + * @default false + */ + multipleOpened: false, + + /** + * Distance, in pixels, the modal should push down from the top of the screen. + * @option + * @type {number|string} + * @default auto + */ + vOffset: 'auto', + + /** + * Distance, in pixels, the modal should push in from the side of the screen. + * @option + * @type {number|string} + * @default auto + */ + hOffset: 'auto', + + /** + * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well. + * @option + * @type {boolean} + * @default false + */ + fullScreen: false, + + /** + * Allows the modal to generate an overlay div, which will cover the view when modal opens. + * @option + * @type {boolean} + * @default true + */ + overlay: true, + + /** + * Allows the modal to remove and reinject markup on close. Should be true if using video elements w/o using provider's api, otherwise, videos will continue to play in the background. + * @option + * @type {boolean} + * @default false + */ + resetOnClose: false, + + /** + * Link the location hash to the modal. + * Set the location hash when the modal is opened/closed, and open/close the modal when the location changes. + * @option + * @type {boolean} + * @default false + */ + deepLink: false, + + /** + * If `deepLink` is enabled, update the browser history with the open modal + * @option + * @default false + */ + updateHistory: false, + + /** + * Allows the modal to append to custom div. + * @option + * @type {string} + * @default "body" + */ + appendTo: "body", + + /** + * Allows adding additional class names to the reveal overlay. + * @option + * @type {string} + * @default '' + */ + additionalOverlayClasses: '' +}; +/** + * Slider module. + * @module foundation.slider + * @requires foundation.util.motion + * @requires foundation.util.triggers + * @requires foundation.util.keyboard + * @requires foundation.util.touch + */ + +var Slider = /*#__PURE__*/function (_Plugin) { + _inherits(Slider, _Plugin); + + function Slider() { + _classCallCheck(this, Slider); + + return _possibleConstructorReturn(this, _getPrototypeOf(Slider).apply(this, arguments)); + } + + _createClass(Slider, [{ + key: "_setup", + + /** + * Creates a new instance of a slider control. + * @class + * @name Slider + * @param {jQuery} element - jQuery object to make into a slider control. + * @param {Object} options - Overrides to the default plugin settings. + */ + value: function _setup(element, options) { + this.$element = element; + this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Slider.defaults, this.$element.data(), options); + this.className = 'Slider'; // ie9 back compat + // Touch and Triggers inits are idempotent, we just need to make sure it's initialied. + + Touch.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); + Triggers.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); + + this._init(); + + Keyboard.register('Slider', { + 'ltr': { + 'ARROW_RIGHT': 'increase', + 'ARROW_UP': 'increase', + 'ARROW_DOWN': 'decrease', + 'ARROW_LEFT': 'decrease', + 'SHIFT_ARROW_RIGHT': 'increase_fast', + 'SHIFT_ARROW_UP': 'increase_fast', + 'SHIFT_ARROW_DOWN': 'decrease_fast', + 'SHIFT_ARROW_LEFT': 'decrease_fast', + 'HOME': 'min', + 'END': 'max' + }, + 'rtl': { + 'ARROW_LEFT': 'increase', + 'ARROW_RIGHT': 'decrease', + 'SHIFT_ARROW_LEFT': 'increase_fast', + 'SHIFT_ARROW_RIGHT': 'decrease_fast' + } + }); + } + /** + * Initilizes the plugin by reading/setting attributes, creating collections and setting the initial position of the handle(s). + * @function + * @private + */ + + }, { + key: "_init", + value: function _init() { + this.inputs = this.$element.find('input'); + this.handles = this.$element.find('[data-slider-handle]'); + this.$handle = this.handles.eq(0); + this.$input = this.inputs.length ? this.inputs.eq(0) : jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat(this.$handle.attr('aria-controls'))); + this.$fill = this.$element.find('[data-slider-fill]').css(this.options.vertical ? 'height' : 'width', 0); + + if (this.options.disabled || this.$element.hasClass(this.options.disabledClass)) { + this.options.disabled = true; + this.$element.addClass(this.options.disabledClass); + } + + if (!this.inputs.length) { + this.inputs = jquery__WEBPACK_IMPORTED_MODULE_0___default()().add(this.$input); + this.options.binding = true; + } + + this._setInitAttr(0); + + if (this.handles[1]) { + this.options.doubleSided = true; + this.$handle2 = this.handles.eq(1); + this.$input2 = this.inputs.length > 1 ? this.inputs.eq(1) : jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat(this.$handle2.attr('aria-controls'))); + + if (!this.inputs[1]) { + this.inputs = this.inputs.add(this.$input2); + } // this.$handle.triggerHandler('click.zf.slider'); + + + this._setInitAttr(1); + } // Set handle positions + + + this.setHandles(); + + this._events(); + } + }, { + key: "setHandles", + value: function setHandles() { + var _this2 = this; + + if (this.handles[1]) { + this._setHandlePos(this.$handle, this.inputs.eq(0).val(), function () { + _this2._setHandlePos(_this2.$handle2, _this2.inputs.eq(1).val()); + }); + } else { + this._setHandlePos(this.$handle, this.inputs.eq(0).val()); + } + } + }, { + key: "_reflow", + value: function _reflow() { + this.setHandles(); + } + /** + * @function + * @private + * @param {Number} value - floating point (the value) to be transformed using to a relative position on the slider (the inverse of _value) + */ + + }, { + key: "_pctOfBar", + value: function _pctOfBar(value) { + var pctOfBar = percent(value - this.options.start, this.options.end - this.options.start); + + switch (this.options.positionValueFunction) { + case "pow": + pctOfBar = this._logTransform(pctOfBar); + break; + + case "log": + pctOfBar = this._powTransform(pctOfBar); + break; + } + + return pctOfBar.toFixed(2); + } + /** + * @function + * @private + * @param {Number} pctOfBar - floating point, the relative position of the slider (typically between 0-1) to be transformed to a value + */ + + }, { + key: "_value", + value: function _value(pctOfBar) { + switch (this.options.positionValueFunction) { + case "pow": + pctOfBar = this._powTransform(pctOfBar); + break; + + case "log": + pctOfBar = this._logTransform(pctOfBar); + break; + } + + var value; + + if (this.options.vertical) { + // linear interpolation which is working with negative values for start + // https://math.stackexchange.com/a/1019084 + value = parseFloat(this.options.end) + pctOfBar * (this.options.start - this.options.end); + } else { + value = (this.options.end - this.options.start) * pctOfBar + parseFloat(this.options.start); + } + + return value; + } + /** + * @function + * @private + * @param {Number} value - floating point (typically between 0-1) to be transformed using the log function + */ + + }, { + key: "_logTransform", + value: function _logTransform(value) { + return baseLog(this.options.nonLinearBase, value * (this.options.nonLinearBase - 1) + 1); + } + /** + * @function + * @private + * @param {Number} value - floating point (typically between 0-1) to be transformed using the power function + */ + + }, { + key: "_powTransform", + value: function _powTransform(value) { + return (Math.pow(this.options.nonLinearBase, value) - 1) / (this.options.nonLinearBase - 1); + } + /** + * Sets the position of the selected handle and fill bar. + * @function + * @private + * @param {jQuery} $hndl - the selected handle to move. + * @param {Number} location - floating point between the start and end values of the slider bar. + * @param {Function} cb - callback function to fire on completion. + * @fires Slider#moved + * @fires Slider#changed + */ + + }, { + key: "_setHandlePos", + value: function _setHandlePos($hndl, location, cb) { + // don't move if the slider has been disabled since its initialization + if (this.$element.hasClass(this.options.disabledClass)) { + return; + } //might need to alter that slightly for bars that will have odd number selections. + + + location = parseFloat(location); //on input change events, convert string to number...grumble. + // prevent slider from running out of bounds, if value exceeds the limits set through options, override the value to min/max + + if (location < this.options.start) { + location = this.options.start; + } else if (location > this.options.end) { + location = this.options.end; + } + + var isDbl = this.options.doubleSided; + + if (isDbl) { + //this block is to prevent 2 handles from crossing eachother. Could/should be improved. + if (this.handles.index($hndl) === 0) { + var h2Val = parseFloat(this.$handle2.attr('aria-valuenow')); + location = location >= h2Val ? h2Val - this.options.step : location; + } else { + var h1Val = parseFloat(this.$handle.attr('aria-valuenow')); + location = location <= h1Val ? h1Val + this.options.step : location; + } + } + + var _this = this, + vert = this.options.vertical, + hOrW = vert ? 'height' : 'width', + lOrT = vert ? 'top' : 'left', + handleDim = $hndl[0].getBoundingClientRect()[hOrW], + elemDim = this.$element[0].getBoundingClientRect()[hOrW], + //percentage of bar min/max value based on click or drag point + pctOfBar = this._pctOfBar(location), + //number of actual pixels to shift the handle, based on the percentage obtained above + pxToMove = (elemDim - handleDim) * pctOfBar, + //percentage of bar to shift the handle + movement = (percent(pxToMove, elemDim) * 100).toFixed(this.options.decimal); //fixing the decimal value for the location number, is passed to other methods as a fixed floating-point value + + + location = parseFloat(location.toFixed(this.options.decimal)); // declare empty object for css adjustments, only used with 2 handled-sliders + + var css = {}; + + this._setValues($hndl, location); // TODO update to calculate based on values set to respective inputs?? + + + if (isDbl) { + var isLeftHndl = this.handles.index($hndl) === 0, + //empty variable, will be used for min-height/width for fill bar + dim, + //percentage w/h of the handle compared to the slider bar + handlePct = ~~(percent(handleDim, elemDim) * 100); //if left handle, the math is slightly different than if it's the right handle, and the left/top property needs to be changed for the fill bar + + if (isLeftHndl) { + //left or top percentage value to apply to the fill bar. + css[lOrT] = "".concat(movement, "%"); //calculate the new min-height/width for the fill bar. + + dim = parseFloat(this.$handle2[0].style[lOrT]) - movement + handlePct; //this callback is necessary to prevent errors and allow the proper placement and initialization of a 2-handled slider + //plus, it means we don't care if 'dim' isNaN on init, it won't be in the future. + + if (cb && typeof cb === 'function') { + cb(); + } //this is only needed for the initialization of 2 handled sliders + + } else { + //just caching the value of the left/bottom handle's left/top property + var handlePos = parseFloat(this.$handle[0].style[lOrT]); //calculate the new min-height/width for the fill bar. Use isNaN to prevent false positives for numbers <= 0 + //based on the percentage of movement of the handle being manipulated, less the opposing handle's left/top position, plus the percentage w/h of the handle itself + + dim = movement - (isNaN(handlePos) ? (this.options.initialStart - this.options.start) / ((this.options.end - this.options.start) / 100) : handlePos) + handlePct; + } // assign the min-height/width to our css object + + + css["min-".concat(hOrW)] = "".concat(dim, "%"); + } + + this.$element.one('finished.zf.animate', function () { + /** + * Fires when the handle is done moving. + * @event Slider#moved + */ + _this.$element.trigger('moved.zf.slider', [$hndl]); + }); //because we don't know exactly how the handle will be moved, check the amount of time it should take to move. + + var moveTime = this.$element.data('dragging') ? 1000 / 60 : this.options.moveTime; + Move(moveTime, $hndl, function () { + // adjusting the left/top property of the handle, based on the percentage calculated above + // if movement isNaN, that is because the slider is hidden and we cannot determine handle width, + // fall back to next best guess. + if (isNaN(movement)) { + $hndl.css(lOrT, "".concat(pctOfBar * 100, "%")); + } else { + $hndl.css(lOrT, "".concat(movement, "%")); + } + + if (!_this.options.doubleSided) { + //if single-handled, a simple method to expand the fill bar + _this.$fill.css(hOrW, "".concat(pctOfBar * 100, "%")); + } else { + //otherwise, use the css object we created above + _this.$fill.css(css); + } + }); + /** + * Fires when the value has not been change for a given time. + * @event Slider#changed + */ + + clearTimeout(_this.timeout); + _this.timeout = setTimeout(function () { + _this.$element.trigger('changed.zf.slider', [$hndl]); + }, _this.options.changedDelay); + } + /** + * Sets the initial attribute for the slider element. + * @function + * @private + * @param {Number} idx - index of the current handle/input to use. + */ + + }, { + key: "_setInitAttr", + value: function _setInitAttr(idx) { + var initVal = idx === 0 ? this.options.initialStart : this.options.initialEnd; + var id = this.inputs.eq(idx).attr('id') || GetYoDigits(6, 'slider'); + this.inputs.eq(idx).attr({ + 'id': id, + 'max': this.options.end, + 'min': this.options.start, + 'step': this.options.step + }); + this.inputs.eq(idx).val(initVal); + this.handles.eq(idx).attr({ + 'role': 'slider', + 'aria-controls': id, + 'aria-valuemax': this.options.end, + 'aria-valuemin': this.options.start, + 'aria-valuenow': initVal, + 'aria-orientation': this.options.vertical ? 'vertical' : 'horizontal', + 'tabindex': 0 + }); + } + /** + * Sets the input and `aria-valuenow` values for the slider element. + * @function + * @private + * @param {jQuery} $handle - the currently selected handle. + * @param {Number} val - floating point of the new value. + */ + + }, { + key: "_setValues", + value: function _setValues($handle, val) { + var idx = this.options.doubleSided ? this.handles.index($handle) : 0; + this.inputs.eq(idx).val(val); + $handle.attr('aria-valuenow', val); + } + /** + * Handles events on the slider element. + * Calculates the new location of the current handle. + * If there are two handles and the bar was clicked, it determines which handle to move. + * @function + * @private + * @param {Object} e - the `event` object passed from the listener. + * @param {jQuery} $handle - the current handle to calculate for, if selected. + * @param {Number} val - floating point number for the new value of the slider. + * TODO clean this up, there's a lot of repeated code between this and the _setHandlePos fn. + */ + + }, { + key: "_handleEvent", + value: function _handleEvent(e, $handle, val) { + var value; + + if (!val) { + //click or drag events + e.preventDefault(); + + var _this = this, + vertical = this.options.vertical, + param = vertical ? 'height' : 'width', + direction = vertical ? 'top' : 'left', + eventOffset = vertical ? e.pageY : e.pageX, + barDim = this.$element[0].getBoundingClientRect()[param], + windowScroll = vertical ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scrollTop() : jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scrollLeft(); + + var elemOffset = this.$element.offset()[direction]; // touch events emulated by the touch util give position relative to screen, add window.scroll to event coordinates... + // best way to guess this is simulated is if clientY == pageY + + if (e.clientY === e.pageY) { + eventOffset = eventOffset + windowScroll; + } + + var eventFromBar = eventOffset - elemOffset; + var barXY; + + if (eventFromBar < 0) { + barXY = 0; + } else if (eventFromBar > barDim) { + barXY = barDim; + } else { + barXY = eventFromBar; + } + + var offsetPct = percent(barXY, barDim); + value = this._value(offsetPct); // turn everything around for RTL, yay math! + + if (rtl() && !this.options.vertical) { + value = this.options.end - value; + } + + value = _this._adjustValue(null, value); //boolean flag for the setHandlePos fn, specifically for vertical sliders + + if (!$handle) { + //figure out which handle it is, pass it to the next function. + var firstHndlPos = absPosition(this.$handle, direction, barXY, param), + secndHndlPos = absPosition(this.$handle2, direction, barXY, param); + $handle = firstHndlPos <= secndHndlPos ? this.$handle : this.$handle2; + } + } else { + //change event on input + value = this._adjustValue(null, val); + } + + this._setHandlePos($handle, value); + } + /** + * Adjustes value for handle in regard to step value. returns adjusted value + * @function + * @private + * @param {jQuery} $handle - the selected handle. + * @param {Number} value - value to adjust. used if $handle is falsy + */ + + }, { + key: "_adjustValue", + value: function _adjustValue($handle, value) { + var val, + step = this.options.step, + div = parseFloat(step / 2), + left, + prev_val, + next_val; + + if (!!$handle) { + val = parseFloat($handle.attr('aria-valuenow')); + } else { + val = value; + } + + if (val >= 0) { + left = val % step; + } else { + left = step + val % step; + } + + prev_val = val - left; + next_val = prev_val + step; + + if (left === 0) { + return val; + } + + val = val >= prev_val + div ? next_val : prev_val; + return val; + } + /** + * Adds event listeners to the slider elements. + * @function + * @private + */ + + }, { + key: "_events", + value: function _events() { + this._eventsForHandle(this.$handle); + + if (this.handles[1]) { + this._eventsForHandle(this.$handle2); + } + } + /** + * Adds event listeners a particular handle + * @function + * @private + * @param {jQuery} $handle - the current handle to apply listeners to. + */ + + }, { + key: "_eventsForHandle", + value: function _eventsForHandle($handle) { + var _this = this, + curHandle; + + var handleChangeEvent = function handleChangeEvent(e) { + var idx = _this.inputs.index(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)); + + _this._handleEvent(e, _this.handles.eq(idx), jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).val()); + }; // IE only triggers the change event when the input loses focus which strictly follows the HTML specification + // listen for the enter key and trigger a change + // @see https://html.spec.whatwg.org/multipage/input.html#common-input-element-events + + + this.inputs.off('keyup.zf.slider').on('keyup.zf.slider', function (e) { + if (e.keyCode == 13) handleChangeEvent.call(this, e); + }); + this.inputs.off('change.zf.slider').on('change.zf.slider', handleChangeEvent); + + if (this.options.clickSelect) { + this.$element.off('click.zf.slider').on('click.zf.slider', function (e) { + if (_this.$element.data('dragging')) { + return false; + } + + if (!jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).is('[data-slider-handle]')) { + if (_this.options.doubleSided) { + _this._handleEvent(e); + } else { + _this._handleEvent(e, _this.$handle); + } + } + }); + } + + if (this.options.draggable) { + this.handles.addTouch(); + var $body = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body'); + $handle.off('mousedown.zf.slider').on('mousedown.zf.slider', function (e) { + $handle.addClass('is-dragging'); + + _this.$fill.addClass('is-dragging'); // + + + _this.$element.data('dragging', true); + + curHandle = jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.currentTarget); + $body.on('mousemove.zf.slider', function (e) { + e.preventDefault(); + + _this._handleEvent(e, curHandle); + }).on('mouseup.zf.slider', function (e) { + _this._handleEvent(e, curHandle); + + $handle.removeClass('is-dragging'); + + _this.$fill.removeClass('is-dragging'); + + _this.$element.data('dragging', false); + + $body.off('mousemove.zf.slider mouseup.zf.slider'); + }); + }) // prevent events triggered by touch + .on('selectstart.zf.slider touchmove.zf.slider', function (e) { + e.preventDefault(); + }); + } + + $handle.off('keydown.zf.slider').on('keydown.zf.slider', function (e) { + var _$handle = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), + idx = _this.options.doubleSided ? _this.handles.index(_$handle) : 0, + oldValue = parseFloat(_this.inputs.eq(idx).val()), + newValue; // handle keyboard event with keyboard util + + + Keyboard.handleKey(e, 'Slider', { + decrease: function decrease() { + newValue = oldValue - _this.options.step; + }, + increase: function increase() { + newValue = oldValue + _this.options.step; + }, + decrease_fast: function decrease_fast() { + newValue = oldValue - _this.options.step * 10; + }, + increase_fast: function increase_fast() { + newValue = oldValue + _this.options.step * 10; + }, + min: function min() { + newValue = _this.options.start; + }, + max: function max() { + newValue = _this.options.end; + }, + handled: function handled() { + // only set handle pos when event was handled specially + e.preventDefault(); + + _this._setHandlePos(_$handle, newValue); + } + }); + /*if (newValue) { // if pressed key has special function, update value + e.preventDefault(); + _this._setHandlePos(_$handle, newValue); + }*/ + }); + } + /** + * Destroys the slider plugin. + */ + + }, { + key: "_destroy", + value: function _destroy() { + this.handles.off('.zf.slider'); + this.inputs.off('.zf.slider'); + this.$element.off('.zf.slider'); + clearTimeout(this.timeout); + } + }]); + + return Slider; +}(Plugin); + +Slider.defaults = { + /** + * Minimum value for the slider scale. + * @option + * @type {number} + * @default 0 + */ + start: 0, + + /** + * Maximum value for the slider scale. + * @option + * @type {number} + * @default 100 + */ + end: 100, + + /** + * Minimum value change per change event. + * @option + * @type {number} + * @default 1 + */ + step: 1, + + /** + * Value at which the handle/input *(left handle/first input)* should be set to on initialization. + * @option + * @type {number} + * @default 0 + */ + initialStart: 0, + + /** + * Value at which the right handle/second input should be set to on initialization. + * @option + * @type {number} + * @default 100 + */ + initialEnd: 100, + + /** + * Allows the input to be located outside the container and visible. Set to by the JS + * @option + * @type {boolean} + * @default false + */ + binding: false, + + /** + * Allows the user to click/tap on the slider bar to select a value. + * @option + * @type {boolean} + * @default true + */ + clickSelect: true, + + /** + * Set to true and use the `vertical` class to change alignment to vertical. + * @option + * @type {boolean} + * @default false + */ + vertical: false, + + /** + * Allows the user to drag the slider handle(s) to select a value. + * @option + * @type {boolean} + * @default true + */ + draggable: true, + + /** + * Disables the slider and prevents event listeners from being applied. Double checked by JS with `disabledClass`. + * @option + * @type {boolean} + * @default false + */ + disabled: false, + + /** + * Allows the use of two handles. Double checked by the JS. Changes some logic handling. + * @option + * @type {boolean} + * @default false + */ + doubleSided: false, + + /** + * Potential future feature. + */ + // steps: 100, + + /** + * Number of decimal places the plugin should go to for floating point precision. + * @option + * @type {number} + * @default 2 + */ + decimal: 2, + + /** + * Time delay for dragged elements. + */ + // dragDelay: 0, + + /** + * Time, in ms, to animate the movement of a slider handle if user clicks/taps on the bar. Needs to be manually set if updating the transition time in the Sass settings. + * @option + * @type {number} + * @default 200 + */ + moveTime: 200, + //update this if changing the transition time in the sass + + /** + * Class applied to disabled sliders. + * @option + * @type {string} + * @default 'disabled' + */ + disabledClass: 'disabled', + + /** + * Will invert the default layout for a vertical slider. + * @option + * @type {boolean} + * @default false + */ + invertVertical: false, + + /** + * Milliseconds before the `changed.zf-slider` event is triggered after value change. + * @option + * @type {number} + * @default 500 + */ + changedDelay: 500, + + /** + * Basevalue for non-linear sliders + * @option + * @type {number} + * @default 5 + */ + nonLinearBase: 5, + + /** + * Basevalue for non-linear sliders, possible values are: `'linear'`, `'pow'` & `'log'`. Pow and Log use the nonLinearBase setting. + * @option + * @type {string} + * @default 'linear' + */ + positionValueFunction: 'linear' +}; + +function percent(frac, num) { + return frac / num; +} + +function absPosition($handle, dir, clickPos, param) { + return Math.abs($handle.position()[dir] + $handle[param]() / 2 - clickPos); +} + +function baseLog(base, value) { + return Math.log(value) / Math.log(base); +} +/** + * Sticky module. + * @module foundation.sticky + * @requires foundation.util.triggers + * @requires foundation.util.mediaQuery + */ + + +var Sticky = /*#__PURE__*/function (_Plugin) { + _inherits(Sticky, _Plugin); + + function Sticky() { + _classCallCheck(this, Sticky); + + return _possibleConstructorReturn(this, _getPrototypeOf(Sticky).apply(this, arguments)); + } + + _createClass(Sticky, [{ + key: "_setup", + + /** + * Creates a new instance of a sticky thing. + * @class + * @name Sticky + * @param {jQuery} element - jQuery object to make sticky. + * @param {Object} options - options object passed when creating the element programmatically. + */ + value: function _setup(element, options) { + this.$element = element; + this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Sticky.defaults, this.$element.data(), options); + this.className = 'Sticky'; // ie9 back compat + // Triggers init is idempotent, just need to make sure it is initialized + + Triggers.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); + + this._init(); + } + /** + * Initializes the sticky element by adding classes, getting/setting dimensions, breakpoints and attributes + * @function + * @private + */ + + }, { + key: "_init", + value: function _init() { + MediaQuery._init(); + + var $parent = this.$element.parent('[data-sticky-container]'), + id = this.$element[0].id || GetYoDigits(6, 'sticky'), + _this = this; + + if ($parent.length) { + this.$container = $parent; + } else { + this.wasWrapped = true; + this.$element.wrap(this.options.container); + this.$container = this.$element.parent(); + } + + this.$container.addClass(this.options.containerClass); + this.$element.addClass(this.options.stickyClass).attr({ + 'data-resize': id, + 'data-mutate': id + }); + + if (this.options.anchor !== '') { + jquery__WEBPACK_IMPORTED_MODULE_0___default()('#' + _this.options.anchor).attr({ + 'data-mutate': id + }); + } + + this.scrollCount = this.options.checkEvery; + this.isStuck = false; + this.onLoadListener = onLoad(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () { + //We calculate the container height to have correct values for anchor points offset calculation. + _this.containerHeight = _this.$element.css("display") == "none" ? 0 : _this.$element[0].getBoundingClientRect().height; + + _this.$container.css('height', _this.containerHeight); + + _this.elemHeight = _this.containerHeight; + + if (_this.options.anchor !== '') { + _this.$anchor = jquery__WEBPACK_IMPORTED_MODULE_0___default()('#' + _this.options.anchor); + } else { + _this._parsePoints(); + } + + _this._setSizes(function () { + var scroll = window.pageYOffset; + + _this._calc(false, scroll); //Unstick the element will ensure that proper classes are set. + + + if (!_this.isStuck) { + _this._removeSticky(scroll >= _this.topPoint ? false : true); + } + }); + + _this._events(id.split('-').reverse().join('-')); + }); + } + /** + * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on. + * @function + * @private + */ + + }, { + key: "_parsePoints", + value: function _parsePoints() { + var top = this.options.topAnchor == "" ? 1 : this.options.topAnchor, + btm = this.options.btmAnchor == "" ? document.documentElement.scrollHeight : this.options.btmAnchor, + pts = [top, btm], + breaks = {}; + + for (var i = 0, len = pts.length; i < len && pts[i]; i++) { + var pt; + + if (typeof pts[i] === 'number') { + pt = pts[i]; + } else { + var place = pts[i].split(':'), + anchor = jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat(place[0])); + pt = anchor.offset().top; + + if (place[1] && place[1].toLowerCase() === 'bottom') { + pt += anchor[0].getBoundingClientRect().height; + } + } + + breaks[i] = pt; + } + + this.points = breaks; + return; + } + /** + * Adds event handlers for the scrolling element. + * @private + * @param {String} id - pseudo-random id for unique scroll event listener. + */ + + }, { + key: "_events", + value: function _events(id) { + var _this = this, + scrollListener = this.scrollListener = "scroll.zf.".concat(id); + + if (this.isOn) { + return; + } + + if (this.canStick) { + this.isOn = true; + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(scrollListener).on(scrollListener, function (e) { + if (_this.scrollCount === 0) { + _this.scrollCount = _this.options.checkEvery; + + _this._setSizes(function () { + _this._calc(false, window.pageYOffset); + }); + } else { + _this.scrollCount--; + + _this._calc(false, window.pageYOffset); + } + }); + } + + this.$element.off('resizeme.zf.trigger').on('resizeme.zf.trigger', function (e, el) { + _this._eventsHandler(id); + }); + this.$element.on('mutateme.zf.trigger', function (e, el) { + _this._eventsHandler(id); + }); + + if (this.$anchor) { + this.$anchor.on('mutateme.zf.trigger', function (e, el) { + _this._eventsHandler(id); + }); + } + } + /** + * Handler for events. + * @private + * @param {String} id - pseudo-random id for unique scroll event listener. + */ + + }, { + key: "_eventsHandler", + value: function _eventsHandler(id) { + var _this = this, + scrollListener = this.scrollListener = "scroll.zf.".concat(id); + + _this._setSizes(function () { + _this._calc(false); + + if (_this.canStick) { + if (!_this.isOn) { + _this._events(id); + } + } else if (_this.isOn) { + _this._pauseListeners(scrollListener); + } + }); + } + /** + * Removes event handlers for scroll and change events on anchor. + * @fires Sticky#pause + * @param {String} scrollListener - unique, namespaced scroll listener attached to `window` + */ + + }, { + key: "_pauseListeners", + value: function _pauseListeners(scrollListener) { + this.isOn = false; + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(scrollListener); + /** + * Fires when the plugin is paused due to resize event shrinking the view. + * @event Sticky#pause + * @private + */ + + this.$element.trigger('pause.zf.sticky'); + } + /** + * Called on every `scroll` event and on `_init` + * fires functions based on booleans and cached values + * @param {Boolean} checkSizes - true if plugin should recalculate sizes and breakpoints. + * @param {Number} scroll - current scroll position passed from scroll event cb function. If not passed, defaults to `window.pageYOffset`. + */ + + }, { + key: "_calc", + value: function _calc(checkSizes, scroll) { + if (checkSizes) { + this._setSizes(); + } + + if (!this.canStick) { + if (this.isStuck) { + this._removeSticky(true); + } + + return false; + } + + if (!scroll) { + scroll = window.pageYOffset; + } + + if (scroll >= this.topPoint) { + if (scroll <= this.bottomPoint) { + if (!this.isStuck) { + this._setSticky(); + } + } else { + if (this.isStuck) { + this._removeSticky(false); + } + } + } else { + if (this.isStuck) { + this._removeSticky(true); + } + } + } + /** + * Causes the $element to become stuck. + * Adds `position: fixed;`, and helper classes. + * @fires Sticky#stuckto + * @function + * @private + */ + + }, { + key: "_setSticky", + value: function _setSticky() { + var _this = this, + stickTo = this.options.stickTo, + mrgn = stickTo === 'top' ? 'marginTop' : 'marginBottom', + notStuckTo = stickTo === 'top' ? 'bottom' : 'top', + css = {}; + + css[mrgn] = "".concat(this.options[mrgn], "em"); + css[stickTo] = 0; + css[notStuckTo] = 'auto'; + this.isStuck = true; + this.$element.removeClass("is-anchored is-at-".concat(notStuckTo)).addClass("is-stuck is-at-".concat(stickTo)).css(css) + /** + * Fires when the $element has become `position: fixed;` + * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top` + * @event Sticky#stuckto + */ + .trigger("sticky.zf.stuckto:".concat(stickTo)); + this.$element.on("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd", function () { + _this._setSizes(); + }); + } + /** + * Causes the $element to become unstuck. + * Removes `position: fixed;`, and helper classes. + * Adds other helper classes. + * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element. + * @fires Sticky#unstuckfrom + * @private + */ + + }, { + key: "_removeSticky", + value: function _removeSticky(isTop) { + var stickTo = this.options.stickTo, + stickToTop = stickTo === 'top', + css = {}, + anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight, + mrgn = stickToTop ? 'marginTop' : 'marginBottom', + topOrBottom = isTop ? 'top' : 'bottom'; + css[mrgn] = 0; + css['bottom'] = 'auto'; + + if (isTop) { + css['top'] = 0; + } else { + css['top'] = anchorPt; + } + + this.isStuck = false; + this.$element.removeClass("is-stuck is-at-".concat(stickTo)).addClass("is-anchored is-at-".concat(topOrBottom)).css(css) + /** + * Fires when the $element has become anchored. + * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom` + * @event Sticky#unstuckfrom + */ + .trigger("sticky.zf.unstuckfrom:".concat(topOrBottom)); + } + /** + * Sets the $element and $container sizes for plugin. + * Calls `_setBreakPoints`. + * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`. + * @private + */ + + }, { + key: "_setSizes", + value: function _setSizes(cb) { + this.canStick = MediaQuery.is(this.options.stickyOn); + + if (!this.canStick) { + if (cb && typeof cb === 'function') { + cb(); + } + } + + var newElemWidth = this.$container[0].getBoundingClientRect().width, + comp = window.getComputedStyle(this.$container[0]), + pdngl = parseInt(comp['padding-left'], 10), + pdngr = parseInt(comp['padding-right'], 10); + + if (this.$anchor && this.$anchor.length) { + this.anchorHeight = this.$anchor[0].getBoundingClientRect().height; + } else { + this._parsePoints(); + } + + this.$element.css({ + 'max-width': "".concat(newElemWidth - pdngl - pdngr, "px") + }); // Recalculate the height only if it is "dynamic" + + if (this.options.dynamicHeight || !this.containerHeight) { + // Get the sticked element height and apply it to the container to "hold the place" + var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight; + newContainerHeight = this.$element.css("display") == "none" ? 0 : newContainerHeight; + this.$container.css('height', newContainerHeight); + this.containerHeight = newContainerHeight; + } + + this.elemHeight = this.containerHeight; + + if (!this.isStuck) { + if (this.$element.hasClass('is-at-bottom')) { + var anchorPt = (this.points ? this.points[1] - this.$container.offset().top : this.anchorHeight) - this.elemHeight; + this.$element.css('top', anchorPt); + } + } + + this._setBreakPoints(this.containerHeight, function () { + if (cb && typeof cb === 'function') { + cb(); + } + }); + } + /** + * Sets the upper and lower breakpoints for the element to become sticky/unsticky. + * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`. + * @param {Function} cb - optional callback function to be called on completion. + * @private + */ + + }, { + key: "_setBreakPoints", + value: function _setBreakPoints(elemHeight, cb) { + if (!this.canStick) { + if (cb && typeof cb === 'function') { + cb(); + } else { + return false; + } + } + + var mTop = emCalc(this.options.marginTop), + mBtm = emCalc(this.options.marginBottom), + topPoint = this.points ? this.points[0] : this.$anchor.offset().top, + bottomPoint = this.points ? this.points[1] : topPoint + this.anchorHeight, + // topPoint = this.$anchor.offset().top || this.points[0], + // bottomPoint = topPoint + this.anchorHeight || this.points[1], + winHeight = window.innerHeight; + + if (this.options.stickTo === 'top') { + topPoint -= mTop; + bottomPoint -= elemHeight + mTop; + } else if (this.options.stickTo === 'bottom') { + topPoint -= winHeight - (elemHeight + mBtm); + bottomPoint -= winHeight - mBtm; + } + + this.topPoint = topPoint; + this.bottomPoint = bottomPoint; + + if (cb && typeof cb === 'function') { + cb(); + } + } + /** + * Destroys the current sticky element. + * Resets the element to the top position first. + * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container. + * @function + */ + + }, { + key: "_destroy", + value: function _destroy() { + this._removeSticky(true); + + this.$element.removeClass("".concat(this.options.stickyClass, " is-anchored is-at-top")).css({ + height: '', + top: '', + bottom: '', + 'max-width': '' + }).off('resizeme.zf.trigger').off('mutateme.zf.trigger'); + + if (this.$anchor && this.$anchor.length) { + this.$anchor.off('change.zf.sticky'); + } + + if (this.scrollListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.scrollListener); + if (this.onLoadListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener); + + if (this.wasWrapped) { + this.$element.unwrap(); + } else { + this.$container.removeClass(this.options.containerClass).css({ + height: '' + }); + } + } + }]); + + return Sticky; +}(Plugin); + +Sticky.defaults = { + /** + * Customizable container template. Add your own classes for styling and sizing. + * @option + * @type {string} + * @default '<div data-sticky-container></div>' + */ + container: '
    ', + + /** + * Location in the view the element sticks to. Can be `'top'` or `'bottom'`. + * @option + * @type {string} + * @default 'top' + */ + stickTo: 'top', + + /** + * If anchored to a single element, the id of that element. + * @option + * @type {string} + * @default '' + */ + anchor: '', + + /** + * If using more than one element as anchor points, the id of the top anchor. + * @option + * @type {string} + * @default '' + */ + topAnchor: '', + + /** + * If using more than one element as anchor points, the id of the bottom anchor. + * @option + * @type {string} + * @default '' + */ + btmAnchor: '', + + /** + * Margin, in `em`'s to apply to the top of the element when it becomes sticky. + * @option + * @type {number} + * @default 1 + */ + marginTop: 1, + + /** + * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky. + * @option + * @type {number} + * @default 1 + */ + marginBottom: 1, + + /** + * Breakpoint string that is the minimum screen size an element should become sticky. + * @option + * @type {string} + * @default 'medium' + */ + stickyOn: 'medium', + + /** + * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`. + * @option + * @type {string} + * @default 'sticky' + */ + stickyClass: 'sticky', + + /** + * Class applied to sticky container. Foundation defaults to `sticky-container`. + * @option + * @type {string} + * @default 'sticky-container' + */ + containerClass: 'sticky-container', + + /** + * If true (by default), keep the sticky container the same height as the element. Otherwise, the container height is set once and does not change. + * @option + * @type {boolean} + * @default true + */ + dynamicHeight: true, + + /** + * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll. + * @option + * @type {number} + * @default -1 + */ + checkEvery: -1 +}; +/** + * Helper function to calculate em values + * @param Number {em} - number of em's to calculate into pixels + */ + +function emCalc(em) { + return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * em; +} +/** + * Tabs module. + * @module foundation.tabs + * @requires foundation.util.keyboard + * @requires foundation.util.imageLoader if tabs contain images + */ + + +var Tabs = /*#__PURE__*/function (_Plugin) { + _inherits(Tabs, _Plugin); + + function Tabs() { + _classCallCheck(this, Tabs); + + return _possibleConstructorReturn(this, _getPrototypeOf(Tabs).apply(this, arguments)); + } + + _createClass(Tabs, [{ + key: "_setup", + + /** + * Creates a new instance of tabs. + * @class + * @name Tabs + * @fires Tabs#init + * @param {jQuery} element - jQuery object to make into tabs. + * @param {Object} options - Overrides to the default plugin settings. + */ + value: function _setup(element, options) { + this.$element = element; + this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Tabs.defaults, this.$element.data(), options); + this.className = 'Tabs'; // ie9 back compat + + this._init(); + + Keyboard.register('Tabs', { + 'ENTER': 'open', + 'SPACE': 'open', + 'ARROW_RIGHT': 'next', + 'ARROW_UP': 'previous', + 'ARROW_DOWN': 'next', + 'ARROW_LEFT': 'previous' // 'TAB': 'next', + // 'SHIFT_TAB': 'previous' + + }); + } + /** + * Initializes the tabs by showing and focusing (if autoFocus=true) the preset active tab. + * @private + */ + + }, { + key: "_init", + value: function _init() { + var _this2 = this; + + var _this = this; + + this._isInitializing = true; + this.$element.attr({ + 'role': 'tablist' + }); + this.$tabTitles = this.$element.find(".".concat(this.options.linkClass)); + this.$tabContent = jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-tabs-content=\"".concat(this.$element[0].id, "\"]")); + this.$tabTitles.each(function () { + var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), + $link = $elem.find('a'), + isActive = $elem.hasClass("".concat(_this.options.linkActiveClass)), + hash = $link.attr('data-tabs-target') || $link[0].hash.slice(1), + linkId = $link[0].id ? $link[0].id : "".concat(hash, "-label"), + $tabContent = jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat(hash)); + $elem.attr({ + 'role': 'presentation' + }); + $link.attr({ + 'role': 'tab', + 'aria-controls': hash, + 'aria-selected': isActive, + 'id': linkId, + 'tabindex': isActive ? '0' : '-1' + }); + $tabContent.attr({ + 'role': 'tabpanel', + 'aria-labelledby': linkId + }); // Save up the initial hash to return to it later when going back in history + + if (isActive) { + _this._initialAnchor = "#".concat(hash); + } + + if (!isActive) { + $tabContent.attr('aria-hidden', 'true'); + } + + if (isActive && _this.options.autoFocus) { + _this.onLoadListener = onLoad(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () { + jquery__WEBPACK_IMPORTED_MODULE_0___default()('html, body').animate({ + scrollTop: $elem.offset().top + }, _this.options.deepLinkSmudgeDelay, function () { + $link.focus(); + }); + }); + } + }); + + if (this.options.matchHeight) { + var $images = this.$tabContent.find('img'); + + if ($images.length) { + onImagesLoaded($images, this._setHeight.bind(this)); + } else { + this._setHeight(); + } + } // Current context-bound function to open tabs on page load or history hashchange + + + this._checkDeepLink = function () { + var anchor = window.location.hash; + + if (!anchor.length) { + // If we are still initializing and there is no anchor, then there is nothing to do + if (_this2._isInitializing) return; // Otherwise, move to the initial anchor + + if (_this2._initialAnchor) anchor = _this2._initialAnchor; + } + + var anchorNoHash = anchor.indexOf('#') >= 0 ? anchor.slice(1) : anchor; + var $anchor = anchorNoHash && jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat(anchorNoHash)); + + var $link = anchor && _this2.$element.find("[href$=\"".concat(anchor, "\"],[data-tabs-target=\"").concat(anchorNoHash, "\"]")).first(); // Whether the anchor element that has been found is part of this element + + + var isOwnAnchor = !!($anchor.length && $link.length); + + if (isOwnAnchor) { + // If there is an anchor for the hash, select it + if ($anchor && $anchor.length && $link && $link.length) { + _this2.selectTab($anchor, true); + } // Otherwise, collapse everything + else { + _this2._collapse(); + } // Roll up a little to show the titles + + + if (_this2.options.deepLinkSmudge) { + var offset = _this2.$element.offset(); + + jquery__WEBPACK_IMPORTED_MODULE_0___default()('html, body').animate({ + scrollTop: offset.top + }, _this2.options.deepLinkSmudgeDelay); + } + /** + * Fires when the plugin has deeplinked at pageload + * @event Tabs#deeplink + */ + + + _this2.$element.trigger('deeplink.zf.tabs', [$link, $anchor]); + } + }; //use browser to open a tab, if it exists in this tabset + + + if (this.options.deepLink) { + this._checkDeepLink(); + } + + this._events(); + + this._isInitializing = false; + } + /** + * Adds event handlers for items within the tabs. + * @private + */ + + }, { + key: "_events", + value: function _events() { + this._addKeyHandler(); + + this._addClickHandler(); + + this._setHeightMqHandler = null; + + if (this.options.matchHeight) { + this._setHeightMqHandler = this._setHeight.bind(this); + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', this._setHeightMqHandler); + } + + if (this.options.deepLink) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('hashchange', this._checkDeepLink); + } + } + /** + * Adds click handlers for items within the tabs. + * @private + */ + + }, { + key: "_addClickHandler", + value: function _addClickHandler() { + var _this = this; + + this.$element.off('click.zf.tabs').on('click.zf.tabs', ".".concat(this.options.linkClass), function (e) { + e.preventDefault(); + + _this._handleTabChange(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)); + }); + } + /** + * Adds keyboard event handlers for items within the tabs. + * @private + */ + + }, { + key: "_addKeyHandler", + value: function _addKeyHandler() { + var _this = this; + + this.$tabTitles.off('keydown.zf.tabs').on('keydown.zf.tabs', function (e) { + if (e.which === 9) return; + var $element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), + $elements = $element.parent('ul').children('li'), + $prevElement, + $nextElement; + $elements.each(function (i) { + if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is($element)) { + if (_this.options.wrapOnKeys) { + $prevElement = i === 0 ? $elements.last() : $elements.eq(i - 1); + $nextElement = i === $elements.length - 1 ? $elements.first() : $elements.eq(i + 1); + } else { + $prevElement = $elements.eq(Math.max(0, i - 1)); + $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1)); + } + + return; + } + }); // handle keyboard event with keyboard util + + Keyboard.handleKey(e, 'Tabs', { + open: function open() { + $element.find('[role="tab"]').focus(); + + _this._handleTabChange($element); + }, + previous: function previous() { + $prevElement.find('[role="tab"]').focus(); + + _this._handleTabChange($prevElement); + }, + next: function next() { + $nextElement.find('[role="tab"]').focus(); + + _this._handleTabChange($nextElement); + }, + handled: function handled() { + e.preventDefault(); + } + }); + }); + } + /** + * Opens the tab `$targetContent` defined by `$target`. Collapses active tab. + * @param {jQuery} $target - Tab to open. + * @param {boolean} historyHandled - browser has already handled a history update + * @fires Tabs#change + * @function + */ + + }, { + key: "_handleTabChange", + value: function _handleTabChange($target, historyHandled) { + // With `activeCollapse`, if the target is the active Tab, collapse it. + if ($target.hasClass("".concat(this.options.linkActiveClass))) { + if (this.options.activeCollapse) { + this._collapse(); + } + + return; + } + + var $oldTab = this.$element.find(".".concat(this.options.linkClass, ".").concat(this.options.linkActiveClass)), + $tabLink = $target.find('[role="tab"]'), + target = $tabLink.attr('data-tabs-target'), + anchor = target && target.length ? "#".concat(target) : $tabLink[0].hash, + $targetContent = this.$tabContent.find(anchor); //close old tab + + this._collapseTab($oldTab); //open new tab + + + this._openTab($target); //either replace or update browser history + + + if (this.options.deepLink && !historyHandled) { + if (this.options.updateHistory) { + history.pushState({}, '', anchor); + } else { + history.replaceState({}, '', anchor); + } + } + /** + * Fires when the plugin has successfully changed tabs. + * @event Tabs#change + */ + + + this.$element.trigger('change.zf.tabs', [$target, $targetContent]); //fire to children a mutation event + + $targetContent.find("[data-mutate]").trigger("mutateme.zf.trigger"); + } + /** + * Opens the tab `$targetContent` defined by `$target`. + * @param {jQuery} $target - Tab to open. + * @function + */ + + }, { + key: "_openTab", + value: function _openTab($target) { + var $tabLink = $target.find('[role="tab"]'), + hash = $tabLink.attr('data-tabs-target') || $tabLink[0].hash.slice(1), + $targetContent = this.$tabContent.find("#".concat(hash)); + $target.addClass("".concat(this.options.linkActiveClass)); + $tabLink.attr({ + 'aria-selected': 'true', + 'tabindex': '0' + }); + $targetContent.addClass("".concat(this.options.panelActiveClass)).removeAttr('aria-hidden'); + } + /** + * Collapses `$targetContent` defined by `$target`. + * @param {jQuery} $target - Tab to collapse. + * @function + */ + + }, { + key: "_collapseTab", + value: function _collapseTab($target) { + var $target_anchor = $target.removeClass("".concat(this.options.linkActiveClass)).find('[role="tab"]').attr({ + 'aria-selected': 'false', + 'tabindex': -1 + }); + jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat($target_anchor.attr('aria-controls'))).removeClass("".concat(this.options.panelActiveClass)).attr({ + 'aria-hidden': 'true' + }); + } + /** + * Collapses the active Tab. + * @fires Tabs#collapse + * @function + */ + + }, { + key: "_collapse", + value: function _collapse() { + var $activeTab = this.$element.find(".".concat(this.options.linkClass, ".").concat(this.options.linkActiveClass)); + + if ($activeTab.length) { + this._collapseTab($activeTab); + /** + * Fires when the plugin has successfully collapsed tabs. + * @event Tabs#collapse + */ + + + this.$element.trigger('collapse.zf.tabs', [$activeTab]); + } + } + /** + * Public method for selecting a content pane to display. + * @param {jQuery | String} elem - jQuery object or string of the id of the pane to display. + * @param {boolean} historyHandled - browser has already handled a history update + * @function + */ + + }, { + key: "selectTab", + value: function selectTab(elem, historyHandled) { + var idStr, hashIdStr; + + if (_typeof(elem) === 'object') { + idStr = elem[0].id; + } else { + idStr = elem; + } + + if (idStr.indexOf('#') < 0) { + hashIdStr = "#".concat(idStr); + } else { + hashIdStr = idStr; + idStr = idStr.slice(1); + } + + var $target = this.$tabTitles.has("[href$=\"".concat(hashIdStr, "\"],[data-tabs-target=\"").concat(idStr, "\"]")).first(); + + this._handleTabChange($target, historyHandled); + } + }, { + key: "_setHeight", + + /** + * Sets the height of each panel to the height of the tallest panel. + * If enabled in options, gets called on media query change. + * If loading content via external source, can be called directly or with _reflow. + * If enabled with `data-match-height="true"`, tabs sets to equal height + * @function + * @private + */ + value: function _setHeight() { + var max = 0, + _this = this; // Lock down the `this` value for the root tabs object + + + this.$tabContent.find(".".concat(this.options.panelClass)).css('height', '').each(function () { + var panel = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), + isActive = panel.hasClass("".concat(_this.options.panelActiveClass)); // get the options from the parent instead of trying to get them from the child + + if (!isActive) { + panel.css({ + 'visibility': 'hidden', + 'display': 'block' + }); + } + + var temp = this.getBoundingClientRect().height; + + if (!isActive) { + panel.css({ + 'visibility': '', + 'display': '' + }); + } + + max = temp > max ? temp : max; + }).css('height', "".concat(max, "px")); + } + /** + * Destroys an instance of tabs. + * @fires Tabs#destroyed + */ + + }, { + key: "_destroy", + value: function _destroy() { + this.$element.find(".".concat(this.options.linkClass)).off('.zf.tabs').hide().end().find(".".concat(this.options.panelClass)).hide(); + + if (this.options.matchHeight) { + if (this._setHeightMqHandler != null) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('changed.zf.mediaquery', this._setHeightMqHandler); + } + } + + if (this.options.deepLink) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('hashchange', this._checkDeepLink); + } + + if (this.onLoadListener) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener); + } + } + }]); + + return Tabs; +}(Plugin); + +Tabs.defaults = { + /** + * Link the location hash to the active pane. + * Set the location hash when the active pane changes, and open the corresponding pane when the location changes. + * @option + * @type {boolean} + * @default false + */ + deepLink: false, + + /** + * If `deepLink` is enabled, adjust the deep link scroll to make sure the top of the tab panel is visible + * @option + * @type {boolean} + * @default false + */ + deepLinkSmudge: false, + + /** + * If `deepLinkSmudge` is enabled, animation time (ms) for the deep link adjustment + * @option + * @type {number} + * @default 300 + */ + deepLinkSmudgeDelay: 300, + + /** + * If `deepLink` is enabled, update the browser history with the open tab + * @option + * @type {boolean} + * @default false + */ + updateHistory: false, + + /** + * Allows the window to scroll to content of active pane on load. + * Not recommended if more than one tab panel per page. + * @option + * @type {boolean} + * @default false + */ + autoFocus: false, + + /** + * Allows keyboard input to 'wrap' around the tab links. + * @option + * @type {boolean} + * @default true + */ + wrapOnKeys: true, + + /** + * Allows the tab content panes to match heights if set to true. + * @option + * @type {boolean} + * @default false + */ + matchHeight: false, + + /** + * Allows active tabs to collapse when clicked. + * @option + * @type {boolean} + * @default false + */ + activeCollapse: false, + + /** + * Class applied to `li`'s in tab link list. + * @option + * @type {string} + * @default 'tabs-title' + */ + linkClass: 'tabs-title', + + /** + * Class applied to the active `li` in tab link list. + * @option + * @type {string} + * @default 'is-active' + */ + linkActiveClass: 'is-active', + + /** + * Class applied to the content containers. + * @option + * @type {string} + * @default 'tabs-panel' + */ + panelClass: 'tabs-panel', + + /** + * Class applied to the active content container. + * @option + * @type {string} + * @default 'is-active' + */ + panelActiveClass: 'is-active' +}; +/** + * Toggler module. + * @module foundation.toggler + * @requires foundation.util.motion + * @requires foundation.util.triggers + */ + +var Toggler = /*#__PURE__*/function (_Plugin) { + _inherits(Toggler, _Plugin); + + function Toggler() { + _classCallCheck(this, Toggler); + + return _possibleConstructorReturn(this, _getPrototypeOf(Toggler).apply(this, arguments)); + } + + _createClass(Toggler, [{ + key: "_setup", + + /** + * Creates a new instance of Toggler. + * @class + * @name Toggler + * @fires Toggler#init + * @param {Object} element - jQuery object to add the trigger to. + * @param {Object} options - Overrides to the default plugin settings. + */ + value: function _setup(element, options) { + this.$element = element; + this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Toggler.defaults, element.data(), options); + this.className = ''; + this.className = 'Toggler'; // ie9 back compat + // Triggers init is idempotent, just need to make sure it is initialized + + Triggers.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); + + this._init(); + + this._events(); + } + /** + * Initializes the Toggler plugin by parsing the toggle class from data-toggler, or animation classes from data-animate. + * @function + * @private + */ + + }, { + key: "_init", + value: function _init() { + // Collect triggers to set ARIA attributes to + var id = this.$element[0].id, + $triggers = jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-open~=\"".concat(id, "\"], [data-close~=\"").concat(id, "\"], [data-toggle~=\"").concat(id, "\"]")); + var input; // Parse animation classes if they were set + + if (this.options.animate) { + input = this.options.animate.split(' '); + this.animationIn = input[0]; + this.animationOut = input[1] || null; // - aria-expanded: according to the element visibility. + + $triggers.attr('aria-expanded', !this.$element.is(':hidden')); + } // Otherwise, parse toggle class + else { + input = this.options.toggler; + + if (typeof input !== 'string' || !input.length) { + throw new Error("The 'toogler' option containing the target class is required, got \"".concat(input, "\"")); + } // Allow for a . at the beginning of the string + + + this.className = input[0] === '.' ? input.slice(1) : input; // - aria-expanded: according to the elements class set. + + $triggers.attr('aria-expanded', this.$element.hasClass(this.className)); + } // - aria-controls: adding the element id to it if not already in it. + + + $triggers.each(function (index, trigger) { + var $trigger = jquery__WEBPACK_IMPORTED_MODULE_0___default()(trigger); + var controls = $trigger.attr('aria-controls') || ''; + var containsId = new RegExp("\\b".concat(RegExpEscape(id), "\\b")).test(controls); + if (!containsId) $trigger.attr('aria-controls', controls ? "".concat(controls, " ").concat(id) : id); + }); + } + /** + * Initializes events for the toggle trigger. + * @function + * @private + */ + + }, { + key: "_events", + value: function _events() { + this.$element.off('toggle.zf.trigger').on('toggle.zf.trigger', this.toggle.bind(this)); + } + /** + * Toggles the target class on the target element. An event is fired from the original trigger depending on if the resultant state was "on" or "off". + * @function + * @fires Toggler#on + * @fires Toggler#off + */ + + }, { + key: "toggle", + value: function toggle() { + this[this.options.animate ? '_toggleAnimate' : '_toggleClass'](); + } + }, { + key: "_toggleClass", + value: function _toggleClass() { + this.$element.toggleClass(this.className); + var isOn = this.$element.hasClass(this.className); + + if (isOn) { + /** + * Fires if the target element has the class after a toggle. + * @event Toggler#on + */ + this.$element.trigger('on.zf.toggler'); + } else { + /** + * Fires if the target element does not have the class after a toggle. + * @event Toggler#off + */ + this.$element.trigger('off.zf.toggler'); + } + + this._updateARIA(isOn); + + this.$element.find('[data-mutate]').trigger('mutateme.zf.trigger'); + } + }, { + key: "_toggleAnimate", + value: function _toggleAnimate() { + var _this = this; + + if (this.$element.is(':hidden')) { + Motion.animateIn(this.$element, this.animationIn, function () { + _this._updateARIA(true); + + this.trigger('on.zf.toggler'); + this.find('[data-mutate]').trigger('mutateme.zf.trigger'); + }); + } else { + Motion.animateOut(this.$element, this.animationOut, function () { + _this._updateARIA(false); + + this.trigger('off.zf.toggler'); + this.find('[data-mutate]').trigger('mutateme.zf.trigger'); + }); + } + } + }, { + key: "_updateARIA", + value: function _updateARIA(isOn) { + var id = this.$element[0].id; + jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-open=\"".concat(id, "\"], [data-close=\"").concat(id, "\"], [data-toggle=\"").concat(id, "\"]")).attr({ + 'aria-expanded': isOn ? true : false + }); + } + /** + * Destroys the instance of Toggler on the element. + * @function + */ + + }, { + key: "_destroy", + value: function _destroy() { + this.$element.off('.zf.toggler'); + } + }]); + + return Toggler; +}(Plugin); + +Toggler.defaults = { + /** + * Class of the element to toggle. It can be provided with or without "." + * @option + * @type {string} + */ + toggler: undefined, + + /** + * Tells the plugin if the element should animated when toggled. + * @option + * @type {boolean} + * @default false + */ + animate: false +}; +/** + * Tooltip module. + * @module foundation.tooltip + * @requires foundation.util.box + * @requires foundation.util.mediaQuery + * @requires foundation.util.triggers + */ + +var Tooltip = /*#__PURE__*/function (_Positionable) { + _inherits(Tooltip, _Positionable); + + function Tooltip() { + _classCallCheck(this, Tooltip); + + return _possibleConstructorReturn(this, _getPrototypeOf(Tooltip).apply(this, arguments)); + } + + _createClass(Tooltip, [{ + key: "_setup", + + /** + * Creates a new instance of a Tooltip. + * @class + * @name Tooltip + * @fires Tooltip#init + * @param {jQuery} element - jQuery object to attach a tooltip to. + * @param {Object} options - object to extend the default configuration. + */ + value: function _setup(element, options) { + this.$element = element; + this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Tooltip.defaults, this.$element.data(), options); + this.className = 'Tooltip'; // ie9 back compat + + this.isActive = false; + this.isClick = false; // Triggers init is idempotent, just need to make sure it is initialized + + Triggers.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); + + this._init(); + } + /** + * Initializes the tooltip by setting the creating the tip element, adding it's text, setting private variables and setting attributes on the anchor. + * @private + */ + + }, { + key: "_init", + value: function _init() { + MediaQuery._init(); + + var elemId = this.$element.attr('aria-describedby') || GetYoDigits(6, 'tooltip'); + this.options.tipText = this.options.tipText || this.$element.attr('title'); + this.template = this.options.template ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.options.template) : this._buildTemplate(elemId); + + if (this.options.allowHtml) { + this.template.appendTo(document.body).html(this.options.tipText).hide(); + } else { + this.template.appendTo(document.body).text(this.options.tipText).hide(); + } + + this.$element.attr({ + 'title': '', + 'aria-describedby': elemId, + 'data-yeti-box': elemId, + 'data-toggle': elemId, + 'data-resize': elemId + }).addClass(this.options.triggerClass); + + _get(_getPrototypeOf(Tooltip.prototype), "_init", this).call(this); + + this._events(); + } + }, { + key: "_getDefaultPosition", + value: function _getDefaultPosition() { + // handle legacy classnames + var elementClassName = this.$element[0].className; + + if (this.$element[0] instanceof SVGElement) { + elementClassName = elementClassName.baseVal; + } + + var position = elementClassName.match(/\b(top|left|right|bottom)\b/g); + return position ? position[0] : 'top'; + } + }, { + key: "_getDefaultAlignment", + value: function _getDefaultAlignment() { + return 'center'; + } + }, { + key: "_getHOffset", + value: function _getHOffset() { + if (this.position === 'left' || this.position === 'right') { + return this.options.hOffset + this.options.tooltipWidth; + } else { + return this.options.hOffset; + } + } + }, { + key: "_getVOffset", + value: function _getVOffset() { + if (this.position === 'top' || this.position === 'bottom') { + return this.options.vOffset + this.options.tooltipHeight; + } else { + return this.options.vOffset; + } + } + /** + * builds the tooltip element, adds attributes, and returns the template. + * @private + */ + + }, { + key: "_buildTemplate", + value: function _buildTemplate(id) { + var templateClasses = "".concat(this.options.tooltipClass, " ").concat(this.options.templateClasses).trim(); + var $template = jquery__WEBPACK_IMPORTED_MODULE_0___default()('
    ').addClass(templateClasses).attr({ + 'role': 'tooltip', + 'aria-hidden': true, + 'data-is-active': false, + 'data-is-focus': false, + 'id': id + }); + return $template; + } + /** + * sets the position class of an element and recursively calls itself until there are no more possible positions to attempt, or the tooltip element is no longer colliding. + * if the tooltip is larger than the screen width, default to full width - any user selected margin + * @private + */ + + }, { + key: "_setPosition", + value: function _setPosition() { + _get(_getPrototypeOf(Tooltip.prototype), "_setPosition", this).call(this, this.$element, this.template); + } + /** + * reveals the tooltip, and fires an event to close any other open tooltips on the page + * @fires Tooltip#closeme + * @fires Tooltip#show + * @function + */ + + }, { + key: "show", + value: function show() { + if (this.options.showOn !== 'all' && !MediaQuery.is(this.options.showOn)) { + // console.error('The screen is too small to display this tooltip'); + return false; + } + + var _this = this; + + this.template.css('visibility', 'hidden').show(); + + this._setPosition(); + + this.template.removeClass('top bottom left right').addClass(this.position); + this.template.removeClass('align-top align-bottom align-left align-right align-center').addClass('align-' + this.alignment); + /** + * Fires to close all other open tooltips on the page + * @event Closeme#tooltip + */ + + this.$element.trigger('closeme.zf.tooltip', this.template.attr('id')); + this.template.attr({ + 'data-is-active': true, + 'aria-hidden': false + }); + _this.isActive = true; // console.log(this.template); + + this.template.stop().hide().css('visibility', '').fadeIn(this.options.fadeInDuration, function () {//maybe do stuff? + }); + /** + * Fires when the tooltip is shown + * @event Tooltip#show + */ + + this.$element.trigger('show.zf.tooltip'); + } + /** + * Hides the current tooltip, and resets the positioning class if it was changed due to collision + * @fires Tooltip#hide + * @function + */ + + }, { + key: "hide", + value: function hide() { + // console.log('hiding', this.$element.data('yeti-box')); + var _this = this; + + this.template.stop().attr({ + 'aria-hidden': true, + 'data-is-active': false + }).fadeOut(this.options.fadeOutDuration, function () { + _this.isActive = false; + _this.isClick = false; + }); + /** + * fires when the tooltip is hidden + * @event Tooltip#hide + */ + + this.$element.trigger('hide.zf.tooltip'); + } + /** + * adds event listeners for the tooltip and its anchor + * TODO combine some of the listeners like focus and mouseenter, etc. + * @private + */ + + }, { + key: "_events", + value: function _events() { + var _this = this; + + var hasTouch = 'ontouchstart' in window || typeof window.ontouchstart !== 'undefined'; + var $template = this.template; + var isFocus = false; // `disableForTouch: Fully disable the tooltip on touch devices + + if (hasTouch && this.options.disableForTouch) return; + + if (!this.options.disableHover) { + this.$element.on('mouseenter.zf.tooltip', function (e) { + if (!_this.isActive) { + _this.timeout = setTimeout(function () { + _this.show(); + }, _this.options.hoverDelay); + } + }).on('mouseleave.zf.tooltip', ignoreMousedisappear(function (e) { + clearTimeout(_this.timeout); + + if (!isFocus || _this.isClick && !_this.options.clickOpen) { + _this.hide(); + } + })); + } + + if (hasTouch) { + this.$element.on('tap.zf.tooltip touchend.zf.tooltip', function (e) { + _this.isActive ? _this.hide() : _this.show(); + }); + } + + if (this.options.clickOpen) { + this.$element.on('mousedown.zf.tooltip', function (e) { + if (_this.isClick) ;else { + _this.isClick = true; + + if ((_this.options.disableHover || !_this.$element.attr('tabindex')) && !_this.isActive) { + _this.show(); + } + } + }); + } else { + this.$element.on('mousedown.zf.tooltip', function (e) { + _this.isClick = true; + }); + } + + this.$element.on({ + // 'toggle.zf.trigger': this.toggle.bind(this), + // 'close.zf.trigger': this.hide.bind(this) + 'close.zf.trigger': this.hide.bind(this) + }); + this.$element.on('focus.zf.tooltip', function (e) { + isFocus = true; + + if (_this.isClick) { + // If we're not showing open on clicks, we need to pretend a click-launched focus isn't + // a real focus, otherwise on hover and come back we get bad behavior + if (!_this.options.clickOpen) { + isFocus = false; + } + + return false; + } else { + _this.show(); + } + }).on('focusout.zf.tooltip', function (e) { + isFocus = false; + _this.isClick = false; + + _this.hide(); + }).on('resizeme.zf.trigger', function () { + if (_this.isActive) { + _this._setPosition(); + } + }); + } + /** + * adds a toggle method, in addition to the static show() & hide() functions + * @function + */ + + }, { + key: "toggle", + value: function toggle() { + if (this.isActive) { + this.hide(); + } else { + this.show(); + } + } + /** + * Destroys an instance of tooltip, removes template element from the view. + * @function + */ + + }, { + key: "_destroy", + value: function _destroy() { + this.$element.attr('title', this.template.text()).off('.zf.trigger .zf.tooltip').removeClass(this.options.triggerClass).removeClass('top right left bottom').removeAttr('aria-describedby data-disable-hover data-resize data-toggle data-tooltip data-yeti-box'); + this.template.remove(); + } + }]); + + return Tooltip; +}(Positionable); + +Tooltip.defaults = { + /** + * Time, in ms, before a tooltip should open on hover. + * @option + * @type {number} + * @default 200 + */ + hoverDelay: 200, + + /** + * Time, in ms, a tooltip should take to fade into view. + * @option + * @type {number} + * @default 150 + */ + fadeInDuration: 150, + + /** + * Time, in ms, a tooltip should take to fade out of view. + * @option + * @type {number} + * @default 150 + */ + fadeOutDuration: 150, + + /** + * Disables hover events from opening the tooltip if set to true + * @option + * @type {boolean} + * @default false + */ + disableHover: false, + + /** + * Disable the tooltip for touch devices. + * This can be useful to make elements with a tooltip on it trigger their + * action on the first tap instead of displaying the tooltip. + * @option + * @type {booelan} + * @default false + */ + disableForTouch: false, + + /** + * Optional addtional classes to apply to the tooltip template on init. + * @option + * @type {string} + * @default '' + */ + templateClasses: '', + + /** + * Non-optional class added to tooltip templates. Foundation default is 'tooltip'. + * @option + * @type {string} + * @default 'tooltip' + */ + tooltipClass: 'tooltip', + + /** + * Class applied to the tooltip anchor element. + * @option + * @type {string} + * @default 'has-tip' + */ + triggerClass: 'has-tip', + + /** + * Minimum breakpoint size at which to open the tooltip. + * @option + * @type {string} + * @default 'small' + */ + showOn: 'small', + + /** + * Custom template to be used to generate markup for tooltip. + * @option + * @type {string} + * @default '' + */ + template: '', + + /** + * Text displayed in the tooltip template on open. + * @option + * @type {string} + * @default '' + */ + tipText: '', + touchCloseText: 'Tap to close.', + + /** + * Allows the tooltip to remain open if triggered with a click or touch event. + * @option + * @type {boolean} + * @default true + */ + clickOpen: true, + + /** + * Position of tooltip. Can be left, right, bottom, top, or auto. + * @option + * @type {string} + * @default 'auto' + */ + position: 'auto', + + /** + * Alignment of tooltip relative to anchor. Can be left, right, bottom, top, center, or auto. + * @option + * @type {string} + * @default 'auto' + */ + alignment: 'auto', + + /** + * Allow overlap of container/window. If false, tooltip will first try to + * position as defined by data-position and data-alignment, but reposition if + * it would cause an overflow. @option + * @type {boolean} + * @default false + */ + allowOverlap: false, + + /** + * Allow overlap of only the bottom of the container. This is the most common + * behavior for dropdowns, allowing the dropdown to extend the bottom of the + * screen but not otherwise influence or break out of the container. + * Less common for tooltips. + * @option + * @type {boolean} + * @default false + */ + allowBottomOverlap: false, + + /** + * Distance, in pixels, the template should push away from the anchor on the Y axis. + * @option + * @type {number} + * @default 0 + */ + vOffset: 0, + + /** + * Distance, in pixels, the template should push away from the anchor on the X axis + * @option + * @type {number} + * @default 0 + */ + hOffset: 0, + + /** + * Distance, in pixels, the template spacing auto-adjust for a vertical tooltip + * @option + * @type {number} + * @default 14 + */ + tooltipHeight: 14, + + /** + * Distance, in pixels, the template spacing auto-adjust for a horizontal tooltip + * @option + * @type {number} + * @default 12 + */ + tooltipWidth: 12, + + /** + * Allow HTML in tooltip. Warning: If you are loading user-generated content into tooltips, + * allowing HTML may open yourself up to XSS attacks. + * @option + * @type {boolean} + * @default false + */ + allowHtml: false +}; +var MenuPlugins$1 = { + tabs: { + cssClass: 'tabs', + plugin: Tabs, + open: function open(plugin, target) { + return plugin.selectTab(target); + }, + close: null + /* not supported */ + , + toggle: null + /* not supported */ + + }, + accordion: { + cssClass: 'accordion', + plugin: Accordion, + open: function open(plugin, target) { + return plugin.down(jquery__WEBPACK_IMPORTED_MODULE_0___default()(target)); + }, + close: function close(plugin, target) { + return plugin.up(jquery__WEBPACK_IMPORTED_MODULE_0___default()(target)); + }, + toggle: function toggle(plugin, target) { + return plugin.toggle(jquery__WEBPACK_IMPORTED_MODULE_0___default()(target)); + } + } +}; +/** + * ResponsiveAccordionTabs module. + * @module foundation.responsiveAccordionTabs + * @requires foundation.util.motion + * @requires foundation.accordion + * @requires foundation.tabs + */ + +var ResponsiveAccordionTabs = /*#__PURE__*/function (_Plugin) { + _inherits(ResponsiveAccordionTabs, _Plugin); + + function ResponsiveAccordionTabs(element, options) { + var _this2; + + _classCallCheck(this, ResponsiveAccordionTabs); + + _this2 = _possibleConstructorReturn(this, _getPrototypeOf(ResponsiveAccordionTabs).call(this, element, options)); + return _possibleConstructorReturn(_this2, _this2.options.reflow && _this2.storezfData || _assertThisInitialized(_this2)); + } + /** + * Creates a new instance of a responsive accordion tabs. + * @class + * @name ResponsiveAccordionTabs + * @fires ResponsiveAccordionTabs#init + * @param {jQuery} element - jQuery object to make into Responsive Accordion Tabs. + * @param {Object} options - Overrides to the default plugin settings. + */ + + + _createClass(ResponsiveAccordionTabs, [{ + key: "_setup", + value: function _setup(element, options) { + this.$element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(element); + this.$element.data('zfPluginBase', this); + this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, ResponsiveAccordionTabs.defaults, this.$element.data(), options); + this.rules = this.$element.data('responsive-accordion-tabs'); + this.currentMq = null; + this.currentRule = null; + this.currentPlugin = null; + this.className = 'ResponsiveAccordionTabs'; // ie9 back compat + + if (!this.$element.attr('id')) { + this.$element.attr('id', GetYoDigits(6, 'responsiveaccordiontabs')); + } + + this._init(); + + this._events(); + } + /** + * Initializes the Menu by parsing the classes from the 'data-responsive-accordion-tabs' attribute on the element. + * @function + * @private + */ + + }, { + key: "_init", + value: function _init() { + MediaQuery._init(); // The first time an Interchange plugin is initialized, this.rules is converted from a string of "classes" to an object of rules + + + if (typeof this.rules === 'string') { + var rulesTree = {}; // Parse rules from "classes" pulled from data attribute + + var rules = this.rules.split(' '); // Iterate through every rule found + + for (var i = 0; i < rules.length; i++) { + var rule = rules[i].split('-'); + var ruleSize = rule.length > 1 ? rule[0] : 'small'; + var rulePlugin = rule.length > 1 ? rule[1] : rule[0]; + + if (MenuPlugins$1[rulePlugin] !== null) { + rulesTree[ruleSize] = MenuPlugins$1[rulePlugin]; + } + } + + this.rules = rulesTree; + } + + this._getAllOptions(); + + if (!jquery__WEBPACK_IMPORTED_MODULE_0___default.a.isEmptyObject(this.rules)) { + this._checkMediaQueries(); + } + } + }, { + key: "_getAllOptions", + value: function _getAllOptions() { + //get all defaults and options + var _this = this; + + _this.allOptions = {}; + + for (var key in MenuPlugins$1) { + if (MenuPlugins$1.hasOwnProperty(key)) { + var obj = MenuPlugins$1[key]; + + try { + var dummyPlugin = jquery__WEBPACK_IMPORTED_MODULE_0___default()('
      '); + var tmpPlugin = new obj.plugin(dummyPlugin, _this.options); + + for (var keyKey in tmpPlugin.options) { + if (tmpPlugin.options.hasOwnProperty(keyKey) && keyKey !== 'zfPlugin') { + var objObj = tmpPlugin.options[keyKey]; + _this.allOptions[keyKey] = objObj; + } + } + + tmpPlugin.destroy(); + } catch (e) {} + } + } + } + /** + * Initializes events for the Menu. + * @function + * @private + */ + + }, { + key: "_events", + value: function _events() { + this._changedZfMediaQueryHandler = this._checkMediaQueries.bind(this); + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', this._changedZfMediaQueryHandler); + } + /** + * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out. + * @function + * @private + */ + + }, { + key: "_checkMediaQueries", + value: function _checkMediaQueries() { + var matchedMq, + _this = this; // Iterate through each rule and find the last matching rule + + + jquery__WEBPACK_IMPORTED_MODULE_0___default.a.each(this.rules, function (key) { + if (MediaQuery.atLeast(key)) { + matchedMq = key; + } + }); // No match? No dice + + if (!matchedMq) return; // Plugin already initialized? We good + + if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return; // Remove existing plugin-specific CSS classes + + jquery__WEBPACK_IMPORTED_MODULE_0___default.a.each(MenuPlugins$1, function (key, value) { + _this.$element.removeClass(value.cssClass); + }); // Add the CSS class for the new plugin + + this.$element.addClass(this.rules[matchedMq].cssClass); // Create an instance of the new plugin + + if (this.currentPlugin) { + //don't know why but on nested elements data zfPlugin get's lost + if (!this.currentPlugin.$element.data('zfPlugin') && this.storezfData) this.currentPlugin.$element.data('zfPlugin', this.storezfData); + this.currentPlugin.destroy(); + } + + this._handleMarkup(this.rules[matchedMq].cssClass); + + this.currentRule = this.rules[matchedMq]; + this.currentPlugin = new this.currentRule.plugin(this.$element, this.options); + this.storezfData = this.currentPlugin.$element.data('zfPlugin'); + } + }, { + key: "_handleMarkup", + value: function _handleMarkup(toSet) { + var _this = this, + fromString = 'accordion'; + + var $panels = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-tabs-content=' + this.$element.attr('id') + ']'); + if ($panels.length) fromString = 'tabs'; + + if (fromString === toSet) { + return; + } + + var tabsTitle = _this.allOptions.linkClass ? _this.allOptions.linkClass : 'tabs-title'; + var tabsPanel = _this.allOptions.panelClass ? _this.allOptions.panelClass : 'tabs-panel'; + this.$element.removeAttr('role'); + var $liHeads = this.$element.children('.' + tabsTitle + ',[data-accordion-item]').removeClass(tabsTitle).removeClass('accordion-item').removeAttr('data-accordion-item'); + var $liHeadsA = $liHeads.children('a').removeClass('accordion-title'); + + if (fromString === 'tabs') { + $panels = $panels.children('.' + tabsPanel).removeClass(tabsPanel).removeAttr('role').removeAttr('aria-hidden').removeAttr('aria-labelledby'); + $panels.children('a').removeAttr('role').removeAttr('aria-controls').removeAttr('aria-selected'); + } else { + $panels = $liHeads.children('[data-tab-content]').removeClass('accordion-content'); + } + + $panels.css({ + display: '', + visibility: '' + }); + $liHeads.css({ + display: '', + visibility: '' + }); + + if (toSet === 'accordion') { + $panels.each(function (key, value) { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(value).appendTo($liHeads.get(key)).addClass('accordion-content').attr('data-tab-content', '').removeClass('is-active').css({ + height: '' + }); + jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-tabs-content=' + _this.$element.attr('id') + ']').after('
      ').detach(); + $liHeads.addClass('accordion-item').attr('data-accordion-item', ''); + $liHeadsA.addClass('accordion-title'); + }); + } else if (toSet === 'tabs') { + var $tabsContent = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-tabs-content=' + _this.$element.attr('id') + ']'); + var $placeholder = jquery__WEBPACK_IMPORTED_MODULE_0___default()('#tabs-placeholder-' + _this.$element.attr('id')); + + if ($placeholder.length) { + $tabsContent = jquery__WEBPACK_IMPORTED_MODULE_0___default()('
      ').insertAfter($placeholder).attr('data-tabs-content', _this.$element.attr('id')); + $placeholder.remove(); + } else { + $tabsContent = jquery__WEBPACK_IMPORTED_MODULE_0___default()('
      ').insertAfter(_this.$element).attr('data-tabs-content', _this.$element.attr('id')); + } + + $panels.each(function (key, value) { + var tempValue = jquery__WEBPACK_IMPORTED_MODULE_0___default()(value).appendTo($tabsContent).addClass(tabsPanel); + var hash = $liHeadsA.get(key).hash.slice(1); + var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(value).attr('id') || GetYoDigits(6, 'accordion'); + + if (hash !== id) { + if (hash !== '') { + jquery__WEBPACK_IMPORTED_MODULE_0___default()(value).attr('id', hash); + } else { + hash = id; + jquery__WEBPACK_IMPORTED_MODULE_0___default()(value).attr('id', hash); + jquery__WEBPACK_IMPORTED_MODULE_0___default()($liHeadsA.get(key)).attr('href', jquery__WEBPACK_IMPORTED_MODULE_0___default()($liHeadsA.get(key)).attr('href').replace('#', '') + '#' + hash); + } + } + + var isActive = jquery__WEBPACK_IMPORTED_MODULE_0___default()($liHeads.get(key)).hasClass('is-active'); + + if (isActive) { + tempValue.addClass('is-active'); + } + }); + $liHeads.addClass(tabsTitle); + } + } + /** + * Opens the plugin pane defined by `target`. + * @param {jQuery | String} target - jQuery object or string of the id of the pane to open. + * @see Accordion.down + * @see Tabs.selectTab + * @function + */ + + }, { + key: "open", + value: function open(_target) { + if (this.currentRule && typeof this.currentRule.open === 'function') { + var _this$currentRule; + + return (_this$currentRule = this.currentRule).open.apply(_this$currentRule, [this.currentPlugin].concat(Array.prototype.slice.call(arguments))); + } + } + /** + * Closes the plugin pane defined by `target`. Not availaible for Tabs. + * @param {jQuery | String} target - jQuery object or string of the id of the pane to close. + * @see Accordion.up + * @function + */ + + }, { + key: "close", + value: function close(_target) { + if (this.currentRule && typeof this.currentRule.close === 'function') { + var _this$currentRule2; + + return (_this$currentRule2 = this.currentRule).close.apply(_this$currentRule2, [this.currentPlugin].concat(Array.prototype.slice.call(arguments))); + } + } + /** + * Toggles the plugin pane defined by `target`. Not availaible for Tabs. + * @param {jQuery | String} target - jQuery object or string of the id of the pane to toggle. + * @see Accordion.toggle + * @function + */ + + }, { + key: "toggle", + value: function toggle(_target) { + if (this.currentRule && typeof this.currentRule.toggle === 'function') { + var _this$currentRule3; + + return (_this$currentRule3 = this.currentRule).toggle.apply(_this$currentRule3, [this.currentPlugin].concat(Array.prototype.slice.call(arguments))); + } + } + /** + * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out. + * @function + */ + + }, { + key: "_destroy", + value: function _destroy() { + if (this.currentPlugin) this.currentPlugin.destroy(); + jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('changed.zf.mediaquery', this._changedZfMediaQueryHandler); + } + }]); + + return ResponsiveAccordionTabs; +}(Plugin); + +ResponsiveAccordionTabs.defaults = {}; +Foundation.addToJquery(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); // Add Foundation Utils to Foundation global namespace for backwards +// compatibility. + +Foundation.rtl = rtl; +Foundation.GetYoDigits = GetYoDigits; +Foundation.transitionend = transitionend; +Foundation.RegExpEscape = RegExpEscape; +Foundation.onLoad = onLoad; +Foundation.Box = Box; +Foundation.onImagesLoaded = onImagesLoaded; +Foundation.Keyboard = Keyboard; +Foundation.MediaQuery = MediaQuery; +Foundation.Motion = Motion; +Foundation.Move = Move; +Foundation.Nest = Nest; +Foundation.Timer = Timer; // Touch and Triggers previously were almost purely sede effect driven, +// so no need to add it to Foundation, just init them. + +Touch.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); +Triggers.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a, Foundation); + +MediaQuery._init(); + +Foundation.plugin(Abide, 'Abide'); +Foundation.plugin(Accordion, 'Accordion'); +Foundation.plugin(AccordionMenu, 'AccordionMenu'); +Foundation.plugin(Drilldown, 'Drilldown'); +Foundation.plugin(Dropdown, 'Dropdown'); +Foundation.plugin(DropdownMenu, 'DropdownMenu'); +Foundation.plugin(Equalizer, 'Equalizer'); +Foundation.plugin(Interchange, 'Interchange'); +Foundation.plugin(Magellan, 'Magellan'); +Foundation.plugin(OffCanvas, 'OffCanvas'); +Foundation.plugin(Orbit, 'Orbit'); +Foundation.plugin(ResponsiveMenu, 'ResponsiveMenu'); +Foundation.plugin(ResponsiveToggle, 'ResponsiveToggle'); +Foundation.plugin(Reveal, 'Reveal'); +Foundation.plugin(Slider, 'Slider'); +Foundation.plugin(SmoothScroll, 'SmoothScroll'); +Foundation.plugin(Sticky, 'Sticky'); +Foundation.plugin(Tabs, 'Tabs'); +Foundation.plugin(Toggler, 'Toggler'); +Foundation.plugin(Tooltip, 'Tooltip'); +Foundation.plugin(ResponsiveAccordionTabs, 'ResponsiveAccordionTabs'); +/* harmony default export */ __webpack_exports__["default"] = (Foundation); + + +/***/ }), + +/***/ "./node_modules/jquery/dist/jquery.js": +/*!********************************************!*\ + !*** ./node_modules/jquery/dist/jquery.js ***! + \********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +/*! + * jQuery JavaScript Library v3.6.0 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2021-03-02T17:08Z + */ +(function (global, factory) { + "use strict"; + + if (( false ? undefined : _typeof(module)) === "object" && _typeof(module.exports) === "object") { + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? factory(global, true) : function (w) { + if (!w.document) { + throw new Error("jQuery requires a window with a document"); + } + + return factory(w); + }; + } else { + factory(global); + } // Pass this if window is not defined yet + +})(typeof window !== "undefined" ? window : this, function (window, noGlobal) { + // Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 + // throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode + // arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common + // enough that all such attempts are guarded in a try block. + "use strict"; + + var arr = []; + var getProto = Object.getPrototypeOf; + var _slice = arr.slice; + var flat = arr.flat ? function (array) { + return arr.flat.call(array); + } : function (array) { + return arr.concat.apply([], array); + }; + var push = arr.push; + var indexOf = arr.indexOf; + var class2type = {}; + var toString = class2type.toString; + var hasOwn = class2type.hasOwnProperty; + var fnToString = hasOwn.toString; + var ObjectFunctionString = fnToString.call(Object); + var support = {}; + + var isFunction = function isFunction(obj) { + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 + // Plus for old WebKit, typeof returns "function" for HTML collections + // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) + return typeof obj === "function" && typeof obj.nodeType !== "number" && typeof obj.item !== "function"; + }; + + var isWindow = function isWindow(obj) { + return obj != null && obj === obj.window; + }; + + var document = window.document; + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval(code, node, doc) { + doc = doc || document; + var i, + val, + script = doc.createElement("script"); + script.text = code; + + if (node) { + for (i in preservedScriptAttributes) { + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[i] || node.getAttribute && node.getAttribute(i); + + if (val) { + script.setAttribute(i, val); + } + } + } + + doc.head.appendChild(script).parentNode.removeChild(script); + } + + function toType(obj) { + if (obj == null) { + return obj + ""; + } // Support: Android <=2.3 only (functionish RegExp) + + + return _typeof(obj) === "object" || typeof obj === "function" ? class2type[toString.call(obj)] || "object" : _typeof(obj); + } + /* global Symbol */ + // Defining this global in .eslintrc.json would create a danger of using the global + // unguarded in another place, it seems safer to define global only for this module + + + var version = "3.6.0", + // Define a local copy of jQuery + jQuery = function jQuery(selector, context) { + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init(selector, context); + }; + + jQuery.fn = jQuery.prototype = { + // The current version of jQuery being used + jquery: version, + constructor: jQuery, + // The default length of a jQuery object is 0 + length: 0, + toArray: function toArray() { + return _slice.call(this); + }, + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function get(num) { + // Return all the elements in a clean array + if (num == null) { + return _slice.call(this); + } // Return just the one element from the set + + + return num < 0 ? this[num + this.length] : this[num]; + }, + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function pushStack(elems) { + // Build a new jQuery matched element set + var ret = jQuery.merge(this.constructor(), elems); // Add the old object onto the stack (as a reference) + + ret.prevObject = this; // Return the newly-formed element set + + return ret; + }, + // Execute a callback for every element in the matched set. + each: function each(callback) { + return jQuery.each(this, callback); + }, + map: function map(callback) { + return this.pushStack(jQuery.map(this, function (elem, i) { + return callback.call(elem, i, elem); + })); + }, + slice: function slice() { + return this.pushStack(_slice.apply(this, arguments)); + }, + first: function first() { + return this.eq(0); + }, + last: function last() { + return this.eq(-1); + }, + even: function even() { + return this.pushStack(jQuery.grep(this, function (_elem, i) { + return (i + 1) % 2; + })); + }, + odd: function odd() { + return this.pushStack(jQuery.grep(this, function (_elem, i) { + return i % 2; + })); + }, + eq: function eq(i) { + var len = this.length, + j = +i + (i < 0 ? len : 0); + return this.pushStack(j >= 0 && j < len ? [this[j]] : []); + }, + end: function end() { + return this.prevObject || this.constructor(); + }, + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice + }; + + jQuery.extend = jQuery.fn.extend = function () { + var options, + name, + src, + copy, + copyIsArray, + clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; // Handle a deep copy situation + + if (typeof target === "boolean") { + deep = target; // Skip the boolean and the target + + target = arguments[i] || {}; + i++; + } // Handle case when target is a string or something (possible in deep copy) + + + if (_typeof(target) !== "object" && !isFunction(target)) { + target = {}; + } // Extend jQuery itself if only one argument is passed + + + if (i === length) { + target = this; + i--; + } + + for (; i < length; i++) { + // Only deal with non-null/undefined values + if ((options = arguments[i]) != null) { + // Extend the base object + for (name in options) { + copy = options[name]; // Prevent Object.prototype pollution + // Prevent never-ending loop + + if (name === "__proto__" || target === copy) { + continue; + } // Recurse if we're merging plain objects or arrays + + + if (deep && copy && (jQuery.isPlainObject(copy) || (copyIsArray = Array.isArray(copy)))) { + src = target[name]; // Ensure proper type for the source value + + if (copyIsArray && !Array.isArray(src)) { + clone = []; + } else if (!copyIsArray && !jQuery.isPlainObject(src)) { + clone = {}; + } else { + clone = src; + } + + copyIsArray = false; // Never move original objects, clone them + + target[name] = jQuery.extend(deep, clone, copy); // Don't bring in undefined values + } else if (copy !== undefined) { + target[name] = copy; + } + } + } + } // Return the modified object + + + return target; + }; + + jQuery.extend({ + // Unique for each copy of jQuery on the page + expando: "jQuery" + (version + Math.random()).replace(/\D/g, ""), + // Assume jQuery is ready without the ready module + isReady: true, + error: function error(msg) { + throw new Error(msg); + }, + noop: function noop() {}, + isPlainObject: function isPlainObject(obj) { + var proto, Ctor; // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + + if (!obj || toString.call(obj) !== "[object Object]") { + return false; + } + + proto = getProto(obj); // Objects with no prototype (e.g., `Object.create( null )`) are plain + + if (!proto) { + return true; + } // Objects with prototype are plain iff they were constructed by a global Object function + + + Ctor = hasOwn.call(proto, "constructor") && proto.constructor; + return typeof Ctor === "function" && fnToString.call(Ctor) === ObjectFunctionString; + }, + isEmptyObject: function isEmptyObject(obj) { + var name; + + for (name in obj) { + return false; + } + + return true; + }, + // Evaluates a script in a provided context; falls back to the global one + // if not specified. + globalEval: function globalEval(code, options, doc) { + DOMEval(code, { + nonce: options && options.nonce + }, doc); + }, + each: function each(obj, callback) { + var length, + i = 0; + + if (isArrayLike(obj)) { + length = obj.length; + + for (; i < length; i++) { + if (callback.call(obj[i], i, obj[i]) === false) { + break; + } + } + } else { + for (i in obj) { + if (callback.call(obj[i], i, obj[i]) === false) { + break; + } + } + } + + return obj; + }, + // results is for internal usage only + makeArray: function makeArray(arr, results) { + var ret = results || []; + + if (arr != null) { + if (isArrayLike(Object(arr))) { + jQuery.merge(ret, typeof arr === "string" ? [arr] : arr); + } else { + push.call(ret, arr); + } + } + + return ret; + }, + inArray: function inArray(elem, arr, i) { + return arr == null ? -1 : indexOf.call(arr, elem, i); + }, + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function merge(first, second) { + var len = +second.length, + j = 0, + i = first.length; + + for (; j < len; j++) { + first[i++] = second[j]; + } + + first.length = i; + return first; + }, + grep: function grep(elems, callback, invert) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; // Go through the array, only saving the items + // that pass the validator function + + for (; i < length; i++) { + callbackInverse = !callback(elems[i], i); + + if (callbackInverse !== callbackExpect) { + matches.push(elems[i]); + } + } + + return matches; + }, + // arg is for internal usage only + map: function map(elems, callback, arg) { + var length, + value, + i = 0, + ret = []; // Go through the array, translating each of the items to their new values + + if (isArrayLike(elems)) { + length = elems.length; + + for (; i < length; i++) { + value = callback(elems[i], i, arg); + + if (value != null) { + ret.push(value); + } + } // Go through every key on the object, + + } else { + for (i in elems) { + value = callback(elems[i], i, arg); + + if (value != null) { + ret.push(value); + } + } + } // Flatten any nested arrays + + + return flat(ret); + }, + // A global GUID counter for objects + guid: 1, + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support + }); + + if (typeof Symbol === "function") { + jQuery.fn[Symbol.iterator] = arr[Symbol.iterator]; + } // Populate the class2type map + + + jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function (_i, name) { + class2type["[object " + name + "]"] = name.toLowerCase(); + }); + + function isArrayLike(obj) { + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType(obj); + + if (isFunction(obj) || isWindow(obj)) { + return false; + } + + return type === "array" || length === 0 || typeof length === "number" && length > 0 && length - 1 in obj; + } + + var Sizzle = + /*! + * Sizzle CSS Selector Engine v2.3.6 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2021-02-16 + */ + function (window) { + var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function sortOrder(a, b) { + if (a === b) { + hasDuplicate = true; + } + + return 0; + }, + // Instance methods + hasOwn = {}.hasOwnProperty, + arr = [], + pop = arr.pop, + pushNative = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function indexOf(list, elem) { + var i = 0, + len = list.length; + + for (; i < len; i++) { + if (list[i] === elem) { + return i; + } + } + + return -1; + }, + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + "ismap|loop|multiple|open|readonly|required|scoped", + // Regular expressions + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram + identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + // "Attribute values must be CSS identifiers [capture 5] + // or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + "*\\]", + pseudos = ":(" + identifier + ")(?:\\((" + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + // 3. anything else (capture 2) + ".*" + ")\\)|)", + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp(whitespace + "+", "g"), + rtrim = new RegExp("^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g"), + rcomma = new RegExp("^" + whitespace + "*," + whitespace + "*"), + rcombinators = new RegExp("^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*"), + rdescend = new RegExp(whitespace + "|>"), + rpseudo = new RegExp(pseudos), + ridentifier = new RegExp("^" + identifier + "$"), + matchExpr = { + "ID": new RegExp("^#(" + identifier + ")"), + "CLASS": new RegExp("^\\.(" + identifier + ")"), + "TAG": new RegExp("^(" + identifier + "|[*])"), + "ATTR": new RegExp("^" + attributes), + "PSEUDO": new RegExp("^" + pseudos), + "CHILD": new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i"), + "bool": new RegExp("^(?:" + booleans + ")$", "i"), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp("^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i") + }, + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + rnative = /^[^{]+\{\s*\[native \w/, + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + rsibling = /[+~]/, + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp("\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g"), + funescape = function funescape(escape, nonHex) { + var high = "0x" + escape.slice(1) - 0x10000; + return nonHex ? // Strip the backslash prefix from a non-hex escape sequence + nonHex : // Replace a hexadecimal escape sequence with the encoded Unicode code point + // Support: IE <=11+ + // For values outside the Basic Multilingual Plane (BMP), manually construct a + // surrogate pair + high < 0 ? String.fromCharCode(high + 0x10000) : String.fromCharCode(high >> 10 | 0xD800, high & 0x3FF | 0xDC00); + }, + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function fcssescape(ch, asCodePoint) { + if (asCodePoint) { + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if (ch === "\0") { + return "\uFFFD"; + } // Control characters and (dependent upon position) numbers get escaped as code points + + + return ch.slice(0, -1) + "\\" + ch.charCodeAt(ch.length - 1).toString(16) + " "; + } // Other potentially-special ASCII characters get backslash-escaped + + + return "\\" + ch; + }, + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function unloadHandler() { + setDocument(); + }, + inDisabledFieldset = addCombinator(function (elem) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, { + dir: "parentNode", + next: "legend" + }); // Optimize for push.apply( _, NodeList ) + + + try { + push.apply(arr = slice.call(preferredDoc.childNodes), preferredDoc.childNodes); // Support: Android<4.0 + // Detect silently failing push.apply + // eslint-disable-next-line no-unused-expressions + + arr[preferredDoc.childNodes.length].nodeType; + } catch (e) { + push = { + apply: arr.length ? // Leverage slice if possible + function (target, els) { + pushNative.apply(target, slice.call(els)); + } : // Support: IE<9 + // Otherwise append directly + function (target, els) { + var j = target.length, + i = 0; // Can't trust NodeList.length + + while (target[j++] = els[i++]) {} + + target.length = j - 1; + } + }; + } + + function Sizzle(selector, context, results, seed) { + var m, + i, + elem, + nid, + match, + groups, + newSelector, + newContext = context && context.ownerDocument, + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + results = results || []; // Return early from calls with invalid selector or context + + if (typeof selector !== "string" || !selector || nodeType !== 1 && nodeType !== 9 && nodeType !== 11) { + return results; + } // Try to shortcut find operations (as opposed to filters) in HTML documents + + + if (!seed) { + setDocument(context); + context = context || document; + + if (documentIsHTML) { + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if (nodeType !== 11 && (match = rquickExpr.exec(selector))) { + // ID selector + if (m = match[1]) { + // Document context + if (nodeType === 9) { + if (elem = context.getElementById(m)) { + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if (elem.id === m) { + results.push(elem); + return results; + } + } else { + return results; + } // Element context + + } else { + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if (newContext && (elem = newContext.getElementById(m)) && contains(context, elem) && elem.id === m) { + results.push(elem); + return results; + } + } // Type selector + + } else if (match[2]) { + push.apply(results, context.getElementsByTagName(selector)); + return results; // Class selector + } else if ((m = match[3]) && support.getElementsByClassName && context.getElementsByClassName) { + push.apply(results, context.getElementsByClassName(m)); + return results; + } + } // Take advantage of querySelectorAll + + + if (support.qsa && !nonnativeSelectorCache[selector + " "] && (!rbuggyQSA || !rbuggyQSA.test(selector)) && ( // Support: IE 8 only + // Exclude object elements + nodeType !== 1 || context.nodeName.toLowerCase() !== "object")) { + newSelector = selector; + newContext = context; // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // The technique has to be used as well when a leading combinator is used + // as such selectors are not recognized by querySelectorAll. + // Thanks to Andrew Dupont for this technique. + + if (nodeType === 1 && (rdescend.test(selector) || rcombinators.test(selector))) { + // Expand context for sibling selectors + newContext = rsibling.test(selector) && testContext(context.parentNode) || context; // We can use :scope instead of the ID hack if the browser + // supports it & if we're not changing the context. + + if (newContext !== context || !support.scope) { + // Capture the context ID, setting it first if necessary + if (nid = context.getAttribute("id")) { + nid = nid.replace(rcssescape, fcssescape); + } else { + context.setAttribute("id", nid = expando); + } + } // Prefix every selector in the list + + + groups = tokenize(selector); + i = groups.length; + + while (i--) { + groups[i] = (nid ? "#" + nid : ":scope") + " " + toSelector(groups[i]); + } + + newSelector = groups.join(","); + } + + try { + push.apply(results, newContext.querySelectorAll(newSelector)); + return results; + } catch (qsaError) { + nonnativeSelectorCache(selector, true); + } finally { + if (nid === expando) { + context.removeAttribute("id"); + } + } + } + } + } // All others + + + return select(selector.replace(rtrim, "$1"), context, results, seed); + } + /** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ + + + function createCache() { + var keys = []; + + function cache(key, value) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if (keys.push(key + " ") > Expr.cacheLength) { + // Only keep the most recent entries + delete cache[keys.shift()]; + } + + return cache[key + " "] = value; + } + + return cache; + } + /** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ + + + function markFunction(fn) { + fn[expando] = true; + return fn; + } + /** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ + + + function assert(fn) { + var el = document.createElement("fieldset"); + + try { + return !!fn(el); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if (el.parentNode) { + el.parentNode.removeChild(el); + } // release memory in IE + + + el = null; + } + } + /** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ + + + function addHandle(attrs, handler) { + var arr = attrs.split("|"), + i = arr.length; + + while (i--) { + Expr.attrHandle[arr[i]] = handler; + } + } + /** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ + + + function siblingCheck(a, b) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && a.sourceIndex - b.sourceIndex; // Use IE sourceIndex if available on both nodes + + if (diff) { + return diff; + } // Check if b follows a + + + if (cur) { + while (cur = cur.nextSibling) { + if (cur === b) { + return -1; + } + } + } + + return a ? 1 : -1; + } + /** + * Returns a function to use in pseudos for input types + * @param {String} type + */ + + + function createInputPseudo(type) { + return function (elem) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; + } + /** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ + + + function createButtonPseudo(type) { + return function (elem) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; + } + /** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ + + + function createDisabledPseudo(disabled) { + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function (elem) { + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ("form" in elem) { + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if (elem.parentNode && elem.disabled === false) { + // Option elements defer to a parent optgroup if present + if ("label" in elem) { + if ("label" in elem.parentNode) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + + + return elem.isDisabled === disabled || // Where there is no isDisabled, check manually + + /* jshint -W018 */ + elem.isDisabled !== !disabled && inDisabledFieldset(elem) === disabled; + } + + return elem.disabled === disabled; // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ("label" in elem) { + return elem.disabled === disabled; + } // Remaining elements are neither :enabled nor :disabled + + + return false; + }; + } + /** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ + + + function createPositionalPseudo(fn) { + return markFunction(function (argument) { + argument = +argument; + return markFunction(function (seed, matches) { + var j, + matchIndexes = fn([], seed.length, argument), + i = matchIndexes.length; // Match elements found at the specified indexes + + while (i--) { + if (seed[j = matchIndexes[i]]) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); + } + /** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ + + + function testContext(context) { + return context && typeof context.getElementsByTagName !== "undefined" && context; + } // Expose support vars for convenience + + + support = Sizzle.support = {}; + /** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ + + isXML = Sizzle.isXML = function (elem) { + var namespace = elem && elem.namespaceURI, + docElem = elem && (elem.ownerDocument || elem).documentElement; // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + + return !rhtml.test(namespace || docElem && docElem.nodeName || "HTML"); + }; + /** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ + + + setDocument = Sizzle.setDocument = function (node) { + var hasCompare, + subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; // Return early if doc is invalid or already selected + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + + if (doc == document || doc.nodeType !== 9 || !doc.documentElement) { + return document; + } // Update global variables + + + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML(document); // Support: IE 9 - 11+, Edge 12 - 18+ + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + + if (preferredDoc != document && (subWindow = document.defaultView) && subWindow.top !== subWindow) { + // Support: IE 11, Edge + if (subWindow.addEventListener) { + subWindow.addEventListener("unload", unloadHandler, false); // Support: IE 9 - 10 only + } else if (subWindow.attachEvent) { + subWindow.attachEvent("onunload", unloadHandler); + } + } // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, + // Safari 4 - 5 only, Opera <=11.6 - 12.x only + // IE/Edge & older browsers don't support the :scope pseudo-class. + // Support: Safari 6.0 only + // Safari 6.0 supports :scope but it's an alias of :root there. + + + support.scope = assert(function (el) { + docElem.appendChild(el).appendChild(document.createElement("div")); + return typeof el.querySelectorAll !== "undefined" && !el.querySelectorAll(":scope fieldset div").length; + }); + /* Attributes + ---------------------------------------------------------------------- */ + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + + support.attributes = assert(function (el) { + el.className = "i"; + return !el.getAttribute("className"); + }); + /* getElement(s)By* + ---------------------------------------------------------------------- */ + // Check if getElementsByTagName("*") returns only elements + + support.getElementsByTagName = assert(function (el) { + el.appendChild(document.createComment("")); + return !el.getElementsByTagName("*").length; + }); // Support: IE<9 + + support.getElementsByClassName = rnative.test(document.getElementsByClassName); // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + + support.getById = assert(function (el) { + docElem.appendChild(el).id = expando; + return !document.getElementsByName || !document.getElementsByName(expando).length; + }); // ID filter and find + + if (support.getById) { + Expr.filter["ID"] = function (id) { + var attrId = id.replace(runescape, funescape); + return function (elem) { + return elem.getAttribute("id") === attrId; + }; + }; + + Expr.find["ID"] = function (id, context) { + if (typeof context.getElementById !== "undefined" && documentIsHTML) { + var elem = context.getElementById(id); + return elem ? [elem] : []; + } + }; + } else { + Expr.filter["ID"] = function (id) { + var attrId = id.replace(runescape, funescape); + return function (elem) { + var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + + + Expr.find["ID"] = function (id, context) { + if (typeof context.getElementById !== "undefined" && documentIsHTML) { + var node, + i, + elems, + elem = context.getElementById(id); + + if (elem) { + // Verify the id attribute + node = elem.getAttributeNode("id"); + + if (node && node.value === id) { + return [elem]; + } // Fall back on getElementsByName + + + elems = context.getElementsByName(id); + i = 0; + + while (elem = elems[i++]) { + node = elem.getAttributeNode("id"); + + if (node && node.value === id) { + return [elem]; + } + } + } + + return []; + } + }; + } // Tag + + + Expr.find["TAG"] = support.getElementsByTagName ? function (tag, context) { + if (typeof context.getElementsByTagName !== "undefined") { + return context.getElementsByTagName(tag); // DocumentFragment nodes don't have gEBTN + } else if (support.qsa) { + return context.querySelectorAll(tag); + } + } : function (tag, context) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName(tag); // Filter out possible comments + + if (tag === "*") { + while (elem = results[i++]) { + if (elem.nodeType === 1) { + tmp.push(elem); + } + } + + return tmp; + } + + return results; + }; // Class + + Expr.find["CLASS"] = support.getElementsByClassName && function (className, context) { + if (typeof context.getElementsByClassName !== "undefined" && documentIsHTML) { + return context.getElementsByClassName(className); + } + }; + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + // QSA and matchesSelector support + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + + + rbuggyMatches = []; // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + + rbuggyQSA = []; + + if (support.qsa = rnative.test(document.querySelectorAll)) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function (el) { + var input; // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + + docElem.appendChild(el).innerHTML = "" + ""; // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + + if (el.querySelectorAll("[msallowcapture^='']").length) { + rbuggyQSA.push("[*^$]=" + whitespace + "*(?:''|\"\")"); + } // Support: IE8 + // Boolean attributes and "value" are not treated correctly + + + if (!el.querySelectorAll("[selected]").length) { + rbuggyQSA.push("\\[" + whitespace + "*(?:value|" + booleans + ")"); + } // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + + + if (!el.querySelectorAll("[id~=" + expando + "-]").length) { + rbuggyQSA.push("~="); + } // Support: IE 11+, Edge 15 - 18+ + // IE 11/Edge don't find elements on a `[name='']` query in some cases. + // Adding a temporary attribute to the document before the selection works + // around the issue. + // Interestingly, IE 10 & older don't seem to have the issue. + + + input = document.createElement("input"); + input.setAttribute("name", ""); + el.appendChild(input); + + if (!el.querySelectorAll("[name='']").length) { + rbuggyQSA.push("\\[" + whitespace + "*name" + whitespace + "*=" + whitespace + "*(?:''|\"\")"); + } // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + + + if (!el.querySelectorAll(":checked").length) { + rbuggyQSA.push(":checked"); + } // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + + + if (!el.querySelectorAll("a#" + expando + "+*").length) { + rbuggyQSA.push(".#.+[+~]"); + } // Support: Firefox <=3.6 - 5 only + // Old Firefox doesn't throw on a badly-escaped identifier. + + + el.querySelectorAll("\\\f"); + rbuggyQSA.push("[\\r\\n\\f]"); + }); + assert(function (el) { + el.innerHTML = "" + ""; // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + + var input = document.createElement("input"); + input.setAttribute("type", "hidden"); + el.appendChild(input).setAttribute("name", "D"); // Support: IE8 + // Enforce case-sensitivity of name attribute + + if (el.querySelectorAll("[name=d]").length) { + rbuggyQSA.push("name" + whitespace + "*[*^$|!~]?="); + } // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + + + if (el.querySelectorAll(":enabled").length !== 2) { + rbuggyQSA.push(":enabled", ":disabled"); + } // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + + + docElem.appendChild(el).disabled = true; + + if (el.querySelectorAll(":disabled").length !== 2) { + rbuggyQSA.push(":enabled", ":disabled"); + } // Support: Opera 10 - 11 only + // Opera 10-11 does not throw on post-comma invalid pseudos + + + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if (support.matchesSelector = rnative.test(matches = docElem.matches || docElem.webkitMatchesSelector || docElem.mozMatchesSelector || docElem.oMatchesSelector || docElem.msMatchesSelector)) { + assert(function (el) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call(el, "*"); // This should fail with an exception + // Gecko does not error, returns false instead + + matches.call(el, "[s!='']:x"); + rbuggyMatches.push("!=", pseudos); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp(rbuggyQSA.join("|")); + rbuggyMatches = rbuggyMatches.length && new RegExp(rbuggyMatches.join("|")); + /* Contains + ---------------------------------------------------------------------- */ + + hasCompare = rnative.test(docElem.compareDocumentPosition); // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + + contains = hasCompare || rnative.test(docElem.contains) ? function (a, b) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!(bup && bup.nodeType === 1 && (adown.contains ? adown.contains(bup) : a.compareDocumentPosition && a.compareDocumentPosition(bup) & 16)); + } : function (a, b) { + if (b) { + while (b = b.parentNode) { + if (b === a) { + return true; + } + } + } + + return false; + }; + /* Sorting + ---------------------------------------------------------------------- */ + // Document order sorting + + sortOrder = hasCompare ? function (a, b) { + // Flag for duplicate removal + if (a === b) { + hasDuplicate = true; + return 0; + } // Sort on method existence if only one input has compareDocumentPosition + + + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + + if (compare) { + return compare; + } // Calculate position if both inputs belong to the same document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + + + compare = (a.ownerDocument || a) == (b.ownerDocument || b) ? a.compareDocumentPosition(b) : // Otherwise we know they are disconnected + 1; // Disconnected nodes + + if (compare & 1 || !support.sortDetached && b.compareDocumentPosition(a) === compare) { + // Choose the first element that is related to our preferred document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if (a == document || a.ownerDocument == preferredDoc && contains(preferredDoc, a)) { + return -1; + } // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + + + if (b == document || b.ownerDocument == preferredDoc && contains(preferredDoc, b)) { + return 1; + } // Maintain original order + + + return sortInput ? indexOf(sortInput, a) - indexOf(sortInput, b) : 0; + } + + return compare & 4 ? -1 : 1; + } : function (a, b) { + // Exit early if the nodes are identical + if (a === b) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [a], + bp = [b]; // Parentless nodes are either documents or disconnected + + if (!aup || !bup) { + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + + /* eslint-disable eqeqeq */ + return a == document ? -1 : b == document ? 1 : + /* eslint-enable eqeqeq */ + aup ? -1 : bup ? 1 : sortInput ? indexOf(sortInput, a) - indexOf(sortInput, b) : 0; // If the nodes are siblings, we can do a quick check + } else if (aup === bup) { + return siblingCheck(a, b); + } // Otherwise we need full lists of their ancestors for comparison + + + cur = a; + + while (cur = cur.parentNode) { + ap.unshift(cur); + } + + cur = b; + + while (cur = cur.parentNode) { + bp.unshift(cur); + } // Walk down the tree looking for a discrepancy + + + while (ap[i] === bp[i]) { + i++; + } + + return i ? // Do a sibling check if the nodes have a common ancestor + siblingCheck(ap[i], bp[i]) : // Otherwise nodes in our document sort first + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + + /* eslint-disable eqeqeq */ + ap[i] == preferredDoc ? -1 : bp[i] == preferredDoc ? 1 : + /* eslint-enable eqeqeq */ + 0; + }; + return document; + }; + + Sizzle.matches = function (expr, elements) { + return Sizzle(expr, null, null, elements); + }; + + Sizzle.matchesSelector = function (elem, expr) { + setDocument(elem); + + if (support.matchesSelector && documentIsHTML && !nonnativeSelectorCache[expr + " "] && (!rbuggyMatches || !rbuggyMatches.test(expr)) && (!rbuggyQSA || !rbuggyQSA.test(expr))) { + try { + var ret = matches.call(elem, expr); // IE 9's matchesSelector returns false on disconnected nodes + + if (ret || support.disconnectedMatch || // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11) { + return ret; + } + } catch (e) { + nonnativeSelectorCache(expr, true); + } + } + + return Sizzle(expr, document, null, [elem]).length > 0; + }; + + Sizzle.contains = function (context, elem) { + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ((context.ownerDocument || context) != document) { + setDocument(context); + } + + return contains(context, elem); + }; + + Sizzle.attr = function (elem, name) { + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ((elem.ownerDocument || elem) != document) { + setDocument(elem); + } + + var fn = Expr.attrHandle[name.toLowerCase()], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call(Expr.attrHandle, name.toLowerCase()) ? fn(elem, name, !documentIsHTML) : undefined; + return val !== undefined ? val : support.attributes || !documentIsHTML ? elem.getAttribute(name) : (val = elem.getAttributeNode(name)) && val.specified ? val.value : null; + }; + + Sizzle.escape = function (sel) { + return (sel + "").replace(rcssescape, fcssescape); + }; + + Sizzle.error = function (msg) { + throw new Error("Syntax error, unrecognized expression: " + msg); + }; + /** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ + + + Sizzle.uniqueSort = function (results) { + var elem, + duplicates = [], + j = 0, + i = 0; // Unless we *know* we can detect duplicates, assume their presence + + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice(0); + results.sort(sortOrder); + + if (hasDuplicate) { + while (elem = results[i++]) { + if (elem === results[i]) { + j = duplicates.push(i); + } + } + + while (j--) { + results.splice(duplicates[j], 1); + } + } // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + + + sortInput = null; + return results; + }; + /** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ + + + getText = Sizzle.getText = function (elem) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if (!nodeType) { + // If no nodeType, this is expected to be an array + while (node = elem[i++]) { + // Do not traverse comment nodes + ret += getText(node); + } + } else if (nodeType === 1 || nodeType === 9 || nodeType === 11) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if (typeof elem.textContent === "string") { + return elem.textContent; + } else { + // Traverse its children + for (elem = elem.firstChild; elem; elem = elem.nextSibling) { + ret += getText(elem); + } + } + } else if (nodeType === 3 || nodeType === 4) { + return elem.nodeValue; + } // Do not include comment or processing instruction nodes + + + return ret; + }; + + Expr = Sizzle.selectors = { + // Can be adjusted by the user + cacheLength: 50, + createPseudo: markFunction, + match: matchExpr, + attrHandle: {}, + find: {}, + relative: { + ">": { + dir: "parentNode", + first: true + }, + " ": { + dir: "parentNode" + }, + "+": { + dir: "previousSibling", + first: true + }, + "~": { + dir: "previousSibling" + } + }, + preFilter: { + "ATTR": function ATTR(match) { + match[1] = match[1].replace(runescape, funescape); // Move the given value to match[3] whether quoted or unquoted + + match[3] = (match[3] || match[4] || match[5] || "").replace(runescape, funescape); + + if (match[2] === "~=") { + match[3] = " " + match[3] + " "; + } + + return match.slice(0, 4); + }, + "CHILD": function CHILD(match) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if (match[1].slice(0, 3) === "nth") { + // nth-* requires argument + if (!match[3]) { + Sizzle.error(match[0]); + } // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + + + match[4] = +(match[4] ? match[5] + (match[6] || 1) : 2 * (match[3] === "even" || match[3] === "odd")); + match[5] = +(match[7] + match[8] || match[3] === "odd"); // other types prohibit arguments + } else if (match[3]) { + Sizzle.error(match[0]); + } + + return match; + }, + "PSEUDO": function PSEUDO(match) { + var excess, + unquoted = !match[6] && match[2]; + + if (matchExpr["CHILD"].test(match[0])) { + return null; + } // Accept quoted arguments as-is + + + if (match[3]) { + match[2] = match[4] || match[5] || ""; // Strip excess characters from unquoted arguments + } else if (unquoted && rpseudo.test(unquoted) && ( // Get excess from tokenize (recursively) + excess = tokenize(unquoted, true)) && ( // advance to the next closing parenthesis + excess = unquoted.indexOf(")", unquoted.length - excess) - unquoted.length)) { + // excess is a negative index + match[0] = match[0].slice(0, excess); + match[2] = unquoted.slice(0, excess); + } // Return only captures needed by the pseudo filter method (type and argument) + + + return match.slice(0, 3); + } + }, + filter: { + "TAG": function TAG(nodeNameSelector) { + var nodeName = nodeNameSelector.replace(runescape, funescape).toLowerCase(); + return nodeNameSelector === "*" ? function () { + return true; + } : function (elem) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + "CLASS": function CLASS(className) { + var pattern = classCache[className + " "]; + return pattern || (pattern = new RegExp("(^|" + whitespace + ")" + className + "(" + whitespace + "|$)")) && classCache(className, function (elem) { + return pattern.test(typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || ""); + }); + }, + "ATTR": function ATTR(name, operator, check) { + return function (elem) { + var result = Sizzle.attr(elem, name); + + if (result == null) { + return operator === "!="; + } + + if (!operator) { + return true; + } + + result += ""; + /* eslint-disable max-len */ + + return operator === "=" ? result === check : operator === "!=" ? result !== check : operator === "^=" ? check && result.indexOf(check) === 0 : operator === "*=" ? check && result.indexOf(check) > -1 : operator === "$=" ? check && result.slice(-check.length) === check : operator === "~=" ? (" " + result.replace(rwhitespace, " ") + " ").indexOf(check) > -1 : operator === "|=" ? result === check || result.slice(0, check.length + 1) === check + "-" : false; + /* eslint-enable max-len */ + }; + }, + "CHILD": function CHILD(type, what, _argument, first, last) { + var simple = type.slice(0, 3) !== "nth", + forward = type.slice(-4) !== "last", + ofType = what === "of-type"; + return first === 1 && last === 0 ? // Shortcut for :nth-*(n) + function (elem) { + return !!elem.parentNode; + } : function (elem, _context, xml) { + var cache, + uniqueCache, + outerCache, + node, + nodeIndex, + start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if (parent) { + // :(first|last|only)-(child|of-type) + if (simple) { + while (dir) { + node = elem; + + while (node = node[dir]) { + if (ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1) { + return false; + } + } // Reverse direction for :only-* (if we haven't yet done so) + + + start = dir = type === "only" && !start && "nextSibling"; + } + + return true; + } + + start = [forward ? parent.firstChild : parent.lastChild]; // non-xml :nth-child(...) stores cache data on `parent` + + if (forward && useCache) { + // Seek `elem` from a previously-cached index + // ...in a gzip-friendly way + node = parent; + outerCache = node[expando] || (node[expando] = {}); // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + + uniqueCache = outerCache[node.uniqueID] || (outerCache[node.uniqueID] = {}); + cache = uniqueCache[type] || []; + nodeIndex = cache[0] === dirruns && cache[1]; + diff = nodeIndex && cache[2]; + node = nodeIndex && parent.childNodes[nodeIndex]; + + while (node = ++nodeIndex && node && node[dir] || ( // Fallback to seeking `elem` from the start + diff = nodeIndex = 0) || start.pop()) { + // When found, cache indexes on `parent` and break + if (node.nodeType === 1 && ++diff && node === elem) { + uniqueCache[type] = [dirruns, nodeIndex, diff]; + break; + } + } + } else { + // Use previously-cached element index if available + if (useCache) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[expando] || (node[expando] = {}); // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + + uniqueCache = outerCache[node.uniqueID] || (outerCache[node.uniqueID] = {}); + cache = uniqueCache[type] || []; + nodeIndex = cache[0] === dirruns && cache[1]; + diff = nodeIndex; + } // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + + + if (diff === false) { + // Use the same loop as above to seek `elem` from the start + while (node = ++nodeIndex && node && node[dir] || (diff = nodeIndex = 0) || start.pop()) { + if ((ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1) && ++diff) { + // Cache the index of each encountered element + if (useCache) { + outerCache = node[expando] || (node[expando] = {}); // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + + uniqueCache = outerCache[node.uniqueID] || (outerCache[node.uniqueID] = {}); + uniqueCache[type] = [dirruns, diff]; + } + + if (node === elem) { + break; + } + } + } + } + } // Incorporate the offset, then check against cycle size + + + diff -= last; + return diff === first || diff % first === 0 && diff / first >= 0; + } + }; + }, + "PSEUDO": function PSEUDO(pseudo, argument) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[pseudo] || Expr.setFilters[pseudo.toLowerCase()] || Sizzle.error("unsupported pseudo: " + pseudo); // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + + if (fn[expando]) { + return fn(argument); + } // But maintain support for old signatures + + + if (fn.length > 1) { + args = [pseudo, pseudo, "", argument]; + return Expr.setFilters.hasOwnProperty(pseudo.toLowerCase()) ? markFunction(function (seed, matches) { + var idx, + matched = fn(seed, argument), + i = matched.length; + + while (i--) { + idx = indexOf(seed, matched[i]); + seed[idx] = !(matches[idx] = matched[i]); + } + }) : function (elem) { + return fn(elem, 0, args); + }; + } + + return fn; + } + }, + pseudos: { + // Potentially complex pseudos + "not": markFunction(function (selector) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile(selector.replace(rtrim, "$1")); + return matcher[expando] ? markFunction(function (seed, matches, _context, xml) { + var elem, + unmatched = matcher(seed, null, xml, []), + i = seed.length; // Match elements unmatched by `matcher` + + while (i--) { + if (elem = unmatched[i]) { + seed[i] = !(matches[i] = elem); + } + } + }) : function (elem, _context, xml) { + input[0] = elem; + matcher(input, null, xml, results); // Don't keep the element (issue #299) + + input[0] = null; + return !results.pop(); + }; + }), + "has": markFunction(function (selector) { + return function (elem) { + return Sizzle(selector, elem).length > 0; + }; + }), + "contains": markFunction(function (text) { + text = text.replace(runescape, funescape); + return function (elem) { + return (elem.textContent || getText(elem)).indexOf(text) > -1; + }; + }), + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction(function (lang) { + // lang value must be a valid identifier + if (!ridentifier.test(lang || "")) { + Sizzle.error("unsupported lang: " + lang); + } + + lang = lang.replace(runescape, funescape).toLowerCase(); + return function (elem) { + var elemLang; + + do { + if (elemLang = documentIsHTML ? elem.lang : elem.getAttribute("xml:lang") || elem.getAttribute("lang")) { + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf(lang + "-") === 0; + } + } while ((elem = elem.parentNode) && elem.nodeType === 1); + + return false; + }; + }), + // Miscellaneous + "target": function target(elem) { + var hash = window.location && window.location.hash; + return hash && hash.slice(1) === elem.id; + }, + "root": function root(elem) { + return elem === docElem; + }, + "focus": function focus(elem) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + // Boolean properties + "enabled": createDisabledPseudo(false), + "disabled": createDisabledPseudo(true), + "checked": function checked(elem) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return nodeName === "input" && !!elem.checked || nodeName === "option" && !!elem.selected; + }, + "selected": function selected(elem) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if (elem.parentNode) { + // eslint-disable-next-line no-unused-expressions + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + // Contents + "empty": function empty(elem) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for (elem = elem.firstChild; elem; elem = elem.nextSibling) { + if (elem.nodeType < 6) { + return false; + } + } + + return true; + }, + "parent": function parent(elem) { + return !Expr.pseudos["empty"](elem); + }, + // Element/input types + "header": function header(elem) { + return rheader.test(elem.nodeName); + }, + "input": function input(elem) { + return rinputs.test(elem.nodeName); + }, + "button": function button(elem) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + "text": function text(elem) { + var attr; + return elem.nodeName.toLowerCase() === "input" && elem.type === "text" && ( // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text"); + }, + // Position-in-collection + "first": createPositionalPseudo(function () { + return [0]; + }), + "last": createPositionalPseudo(function (_matchIndexes, length) { + return [length - 1]; + }), + "eq": createPositionalPseudo(function (_matchIndexes, length, argument) { + return [argument < 0 ? argument + length : argument]; + }), + "even": createPositionalPseudo(function (matchIndexes, length) { + var i = 0; + + for (; i < length; i += 2) { + matchIndexes.push(i); + } + + return matchIndexes; + }), + "odd": createPositionalPseudo(function (matchIndexes, length) { + var i = 1; + + for (; i < length; i += 2) { + matchIndexes.push(i); + } + + return matchIndexes; + }), + "lt": createPositionalPseudo(function (matchIndexes, length, argument) { + var i = argument < 0 ? argument + length : argument > length ? length : argument; + + for (; --i >= 0;) { + matchIndexes.push(i); + } + + return matchIndexes; + }), + "gt": createPositionalPseudo(function (matchIndexes, length, argument) { + var i = argument < 0 ? argument + length : argument; + + for (; ++i < length;) { + matchIndexes.push(i); + } + + return matchIndexes; + }) + } + }; + Expr.pseudos["nth"] = Expr.pseudos["eq"]; // Add button/input type pseudos + + for (i in { + radio: true, + checkbox: true, + file: true, + password: true, + image: true + }) { + Expr.pseudos[i] = createInputPseudo(i); + } + + for (i in { + submit: true, + reset: true + }) { + Expr.pseudos[i] = createButtonPseudo(i); + } // Easy API for creating new setFilters + + + function setFilters() {} + + setFilters.prototype = Expr.filters = Expr.pseudos; + Expr.setFilters = new setFilters(); + + tokenize = Sizzle.tokenize = function (selector, parseOnly) { + var matched, + match, + tokens, + type, + soFar, + groups, + preFilters, + cached = tokenCache[selector + " "]; + + if (cached) { + return parseOnly ? 0 : cached.slice(0); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while (soFar) { + // Comma and first run + if (!matched || (match = rcomma.exec(soFar))) { + if (match) { + // Don't consume trailing commas as valid + soFar = soFar.slice(match[0].length) || soFar; + } + + groups.push(tokens = []); + } + + matched = false; // Combinators + + if (match = rcombinators.exec(soFar)) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace(rtrim, " ") + }); + soFar = soFar.slice(matched.length); + } // Filters + + + for (type in Expr.filter) { + if ((match = matchExpr[type].exec(soFar)) && (!preFilters[type] || (match = preFilters[type](match)))) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice(matched.length); + } + } + + if (!matched) { + break; + } + } // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + + + return parseOnly ? soFar.length : soFar ? Sizzle.error(selector) : // Cache the tokens + tokenCache(selector, groups).slice(0); + }; + + function toSelector(tokens) { + var i = 0, + len = tokens.length, + selector = ""; + + for (; i < len; i++) { + selector += tokens[i].value; + } + + return selector; + } + + function addCombinator(matcher, combinator, base) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + return combinator.first ? // Check against closest ancestor/preceding element + function (elem, context, xml) { + while (elem = elem[dir]) { + if (elem.nodeType === 1 || checkNonElements) { + return matcher(elem, context, xml); + } + } + + return false; + } : // Check against all ancestor/preceding elements + function (elem, context, xml) { + var oldCache, + uniqueCache, + outerCache, + newCache = [dirruns, doneName]; // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + + if (xml) { + while (elem = elem[dir]) { + if (elem.nodeType === 1 || checkNonElements) { + if (matcher(elem, context, xml)) { + return true; + } + } + } + } else { + while (elem = elem[dir]) { + if (elem.nodeType === 1 || checkNonElements) { + outerCache = elem[expando] || (elem[expando] = {}); // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + + uniqueCache = outerCache[elem.uniqueID] || (outerCache[elem.uniqueID] = {}); + + if (skip && skip === elem.nodeName.toLowerCase()) { + elem = elem[dir] || elem; + } else if ((oldCache = uniqueCache[key]) && oldCache[0] === dirruns && oldCache[1] === doneName) { + // Assign to newCache so results back-propagate to previous elements + return newCache[2] = oldCache[2]; + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[key] = newCache; // A match means we're done; a fail means we have to keep checking + + if (newCache[2] = matcher(elem, context, xml)) { + return true; + } + } + } + } + } + + return false; + }; + } + + function elementMatcher(matchers) { + return matchers.length > 1 ? function (elem, context, xml) { + var i = matchers.length; + + while (i--) { + if (!matchers[i](elem, context, xml)) { + return false; + } + } + + return true; + } : matchers[0]; + } + + function multipleContexts(selector, contexts, results) { + var i = 0, + len = contexts.length; + + for (; i < len; i++) { + Sizzle(selector, contexts[i], results); + } + + return results; + } + + function condense(unmatched, map, filter, context, xml) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for (; i < len; i++) { + if (elem = unmatched[i]) { + if (!filter || filter(elem, context, xml)) { + newUnmatched.push(elem); + + if (mapped) { + map.push(i); + } + } + } + } + + return newUnmatched; + } + + function setMatcher(preFilter, selector, matcher, postFilter, postFinder, postSelector) { + if (postFilter && !postFilter[expando]) { + postFilter = setMatcher(postFilter); + } + + if (postFinder && !postFinder[expando]) { + postFinder = setMatcher(postFinder, postSelector); + } + + return markFunction(function (seed, results, context, xml) { + var temp, + i, + elem, + preMap = [], + postMap = [], + preexisting = results.length, + // Get initial elements from seed or context + elems = seed || multipleContexts(selector || "*", context.nodeType ? [context] : context, []), + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && (seed || !selector) ? condense(elems, preMap, preFilter, context, xml) : elems, + matcherOut = matcher ? // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || (seed ? preFilter : preexisting || postFilter) ? // ...intermediate processing is necessary + [] : // ...otherwise use results directly + results : matcherIn; // Find primary matches + + if (matcher) { + matcher(matcherIn, matcherOut, context, xml); + } // Apply postFilter + + + if (postFilter) { + temp = condense(matcherOut, postMap); + postFilter(temp, [], context, xml); // Un-match failing elements by moving them back to matcherIn + + i = temp.length; + + while (i--) { + if (elem = temp[i]) { + matcherOut[postMap[i]] = !(matcherIn[postMap[i]] = elem); + } + } + } + + if (seed) { + if (postFinder || preFilter) { + if (postFinder) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + + while (i--) { + if (elem = matcherOut[i]) { + // Restore matcherIn since elem is not yet a final match + temp.push(matcherIn[i] = elem); + } + } + + postFinder(null, matcherOut = [], temp, xml); + } // Move matched elements from seed to results to keep them synchronized + + + i = matcherOut.length; + + while (i--) { + if ((elem = matcherOut[i]) && (temp = postFinder ? indexOf(seed, elem) : preMap[i]) > -1) { + seed[temp] = !(results[temp] = elem); + } + } + } // Add elements to results, through postFinder if defined + + } else { + matcherOut = condense(matcherOut === results ? matcherOut.splice(preexisting, matcherOut.length) : matcherOut); + + if (postFinder) { + postFinder(null, results, matcherOut, xml); + } else { + push.apply(results, matcherOut); + } + } + }); + } + + function matcherFromTokens(tokens) { + var checkContext, + matcher, + j, + len = tokens.length, + leadingRelative = Expr.relative[tokens[0].type], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator(function (elem) { + return elem === checkContext; + }, implicitRelative, true), + matchAnyContext = addCombinator(function (elem) { + return indexOf(checkContext, elem) > -1; + }, implicitRelative, true), + matchers = [function (elem, context, xml) { + var ret = !leadingRelative && (xml || context !== outermostContext) || ((checkContext = context).nodeType ? matchContext(elem, context, xml) : matchAnyContext(elem, context, xml)); // Avoid hanging onto element (issue #299) + + checkContext = null; + return ret; + }]; + + for (; i < len; i++) { + if (matcher = Expr.relative[tokens[i].type]) { + matchers = [addCombinator(elementMatcher(matchers), matcher)]; + } else { + matcher = Expr.filter[tokens[i].type].apply(null, tokens[i].matches); // Return special upon seeing a positional matcher + + if (matcher[expando]) { + // Find the next relative operator (if any) for proper handling + j = ++i; + + for (; j < len; j++) { + if (Expr.relative[tokens[j].type]) { + break; + } + } + + return setMatcher(i > 1 && elementMatcher(matchers), i > 1 && toSelector( // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice(0, i - 1).concat({ + value: tokens[i - 2].type === " " ? "*" : "" + })).replace(rtrim, "$1"), matcher, i < j && matcherFromTokens(tokens.slice(i, j)), j < len && matcherFromTokens(tokens = tokens.slice(j)), j < len && toSelector(tokens)); + } + + matchers.push(matcher); + } + } + + return elementMatcher(matchers); + } + + function matcherFromGroupMatchers(elementMatchers, setMatchers) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function superMatcher(seed, context, xml, results, outermost) { + var elem, + j, + matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]("*", outermost), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = dirruns += contextBackup == null ? 1 : Math.random() || 0.1, + len = elems.length; + + if (outermost) { + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + outermostContext = context == document || context || outermost; + } // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + + + for (; i !== len && (elem = elems[i]) != null; i++) { + if (byElement && elem) { + j = 0; // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + + if (!context && elem.ownerDocument != document) { + setDocument(elem); + xml = !documentIsHTML; + } + + while (matcher = elementMatchers[j++]) { + if (matcher(elem, context || document, xml)) { + results.push(elem); + break; + } + } + + if (outermost) { + dirruns = dirrunsUnique; + } + } // Track unmatched elements for set filters + + + if (bySet) { + // They will have gone through all possible matchers + if (elem = !matcher && elem) { + matchedCount--; + } // Lengthen the array for every element, matched or not + + + if (seed) { + unmatched.push(elem); + } + } + } // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + + + matchedCount += i; // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + + if (bySet && i !== matchedCount) { + j = 0; + + while (matcher = setMatchers[j++]) { + matcher(unmatched, setMatched, context, xml); + } + + if (seed) { + // Reintegrate element matches to eliminate the need for sorting + if (matchedCount > 0) { + while (i--) { + if (!(unmatched[i] || setMatched[i])) { + setMatched[i] = pop.call(results); + } + } + } // Discard index placeholder values to get only actual matches + + + setMatched = condense(setMatched); + } // Add matches to results + + + push.apply(results, setMatched); // Seedless set matches succeeding multiple successful matchers stipulate sorting + + if (outermost && !seed && setMatched.length > 0 && matchedCount + setMatchers.length > 1) { + Sizzle.uniqueSort(results); + } + } // Override manipulation of globals by nested matchers + + + if (outermost) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? markFunction(superMatcher) : superMatcher; + } + + compile = Sizzle.compile = function (selector, match + /* Internal Use Only */ + ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[selector + " "]; + + if (!cached) { + // Generate a function of recursive functions that can be used to check each element + if (!match) { + match = tokenize(selector); + } + + i = match.length; + + while (i--) { + cached = matcherFromTokens(match[i]); + + if (cached[expando]) { + setMatchers.push(cached); + } else { + elementMatchers.push(cached); + } + } // Cache the compiled function + + + cached = compilerCache(selector, matcherFromGroupMatchers(elementMatchers, setMatchers)); // Save selector and tokenization + + cached.selector = selector; + } + + return cached; + }; + /** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ + + + select = Sizzle.select = function (selector, context, results, seed) { + var i, + tokens, + token, + type, + find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize(selector = compiled.selector || selector); + results = results || []; // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + + if (match.length === 1) { + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice(0); + + if (tokens.length > 2 && (token = tokens[0]).type === "ID" && context.nodeType === 9 && documentIsHTML && Expr.relative[tokens[1].type]) { + context = (Expr.find["ID"](token.matches[0].replace(runescape, funescape), context) || [])[0]; + + if (!context) { + return results; // Precompiled matchers will still verify ancestry, so step up a level + } else if (compiled) { + context = context.parentNode; + } + + selector = selector.slice(tokens.shift().value.length); + } // Fetch a seed set for right-to-left matching + + + i = matchExpr["needsContext"].test(selector) ? 0 : tokens.length; + + while (i--) { + token = tokens[i]; // Abort if we hit a combinator + + if (Expr.relative[type = token.type]) { + break; + } + + if (find = Expr.find[type]) { + // Search, expanding context for leading sibling combinators + if (seed = find(token.matches[0].replace(runescape, funescape), rsibling.test(tokens[0].type) && testContext(context.parentNode) || context)) { + // If seed is empty or no tokens remain, we can return early + tokens.splice(i, 1); + selector = seed.length && toSelector(tokens); + + if (!selector) { + push.apply(results, seed); + return results; + } + + break; + } + } + } + } // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + + + (compiled || compile(selector, match))(seed, context, !documentIsHTML, results, !context || rsibling.test(selector) && testContext(context.parentNode) || context); + return results; + }; // One-time assignments + // Sort stability + + + support.sortStable = expando.split("").sort(sortOrder).join("") === expando; // Support: Chrome 14-35+ + // Always assume duplicates if they aren't passed to the comparison function + + support.detectDuplicates = !!hasDuplicate; // Initialize against the default document + + setDocument(); // Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) + // Detached nodes confoundingly follow *each other* + + support.sortDetached = assert(function (el) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition(document.createElement("fieldset")) & 1; + }); // Support: IE<8 + // Prevent attribute/property "interpolation" + // https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx + + if (!assert(function (el) { + el.innerHTML = ""; + return el.firstChild.getAttribute("href") === "#"; + })) { + addHandle("type|href|height|width", function (elem, name, isXML) { + if (!isXML) { + return elem.getAttribute(name, name.toLowerCase() === "type" ? 1 : 2); + } + }); + } // Support: IE<9 + // Use defaultValue in place of getAttribute("value") + + + if (!support.attributes || !assert(function (el) { + el.innerHTML = ""; + el.firstChild.setAttribute("value", ""); + return el.firstChild.getAttribute("value") === ""; + })) { + addHandle("value", function (elem, _name, isXML) { + if (!isXML && elem.nodeName.toLowerCase() === "input") { + return elem.defaultValue; + } + }); + } // Support: IE<9 + // Use getAttributeNode to fetch booleans when getAttribute lies + + + if (!assert(function (el) { + return el.getAttribute("disabled") == null; + })) { + addHandle(booleans, function (elem, name, isXML) { + var val; + + if (!isXML) { + return elem[name] === true ? name.toLowerCase() : (val = elem.getAttributeNode(name)) && val.specified ? val.value : null; + } + }); + } + + return Sizzle; + }(window); + + jQuery.find = Sizzle; + jQuery.expr = Sizzle.selectors; // Deprecated + + jQuery.expr[":"] = jQuery.expr.pseudos; + jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; + jQuery.text = Sizzle.getText; + jQuery.isXMLDoc = Sizzle.isXML; + jQuery.contains = Sizzle.contains; + jQuery.escapeSelector = Sizzle.escape; + + var dir = function dir(elem, _dir, until) { + var matched = [], + truncate = until !== undefined; + + while ((elem = elem[_dir]) && elem.nodeType !== 9) { + if (elem.nodeType === 1) { + if (truncate && jQuery(elem).is(until)) { + break; + } + + matched.push(elem); + } + } + + return matched; + }; + + var _siblings = function siblings(n, elem) { + var matched = []; + + for (; n; n = n.nextSibling) { + if (n.nodeType === 1 && n !== elem) { + matched.push(n); + } + } + + return matched; + }; + + var rneedsContext = jQuery.expr.match.needsContext; + + function nodeName(elem, name) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + } + + var rsingleTag = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i; // Implement the identical functionality for filter and not + + function winnow(elements, qualifier, not) { + if (isFunction(qualifier)) { + return jQuery.grep(elements, function (elem, i) { + return !!qualifier.call(elem, i, elem) !== not; + }); + } // Single element + + + if (qualifier.nodeType) { + return jQuery.grep(elements, function (elem) { + return elem === qualifier !== not; + }); + } // Arraylike of elements (jQuery, arguments, Array) + + + if (typeof qualifier !== "string") { + return jQuery.grep(elements, function (elem) { + return indexOf.call(qualifier, elem) > -1 !== not; + }); + } // Filtered directly for both simple and complex selectors + + + return jQuery.filter(qualifier, elements, not); + } + + jQuery.filter = function (expr, elems, not) { + var elem = elems[0]; + + if (not) { + expr = ":not(" + expr + ")"; + } + + if (elems.length === 1 && elem.nodeType === 1) { + return jQuery.find.matchesSelector(elem, expr) ? [elem] : []; + } + + return jQuery.find.matches(expr, jQuery.grep(elems, function (elem) { + return elem.nodeType === 1; + })); + }; + + jQuery.fn.extend({ + find: function find(selector) { + var i, + ret, + len = this.length, + self = this; + + if (typeof selector !== "string") { + return this.pushStack(jQuery(selector).filter(function () { + for (i = 0; i < len; i++) { + if (jQuery.contains(self[i], this)) { + return true; + } + } + })); + } + + ret = this.pushStack([]); + + for (i = 0; i < len; i++) { + jQuery.find(selector, self[i], ret); + } + + return len > 1 ? jQuery.uniqueSort(ret) : ret; + }, + filter: function filter(selector) { + return this.pushStack(winnow(this, selector || [], false)); + }, + not: function not(selector) { + return this.pushStack(winnow(this, selector || [], true)); + }, + is: function is(selector) { + return !!winnow(this, // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test(selector) ? jQuery(selector) : selector || [], false).length; + } + }); // Initialize a jQuery object + // A central reference to the root jQuery(document) + + var rootjQuery, + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + init = jQuery.fn.init = function (selector, context, root) { + var match, elem; // HANDLE: $(""), $(null), $(undefined), $(false) + + if (!selector) { + return this; + } // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + + + root = root || rootjQuery; // Handle HTML strings + + if (typeof selector === "string") { + if (selector[0] === "<" && selector[selector.length - 1] === ">" && selector.length >= 3) { + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [null, selector, null]; + } else { + match = rquickExpr.exec(selector); + } // Match html or make sure no context is specified for #id + + + if (match && (match[1] || !context)) { + // HANDLE: $(html) -> $(array) + if (match[1]) { + context = context instanceof jQuery ? context[0] : context; // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + + jQuery.merge(this, jQuery.parseHTML(match[1], context && context.nodeType ? context.ownerDocument || context : document, true)); // HANDLE: $(html, props) + + if (rsingleTag.test(match[1]) && jQuery.isPlainObject(context)) { + for (match in context) { + // Properties of context are called as methods if possible + if (isFunction(this[match])) { + this[match](context[match]); // ...and otherwise set as attributes + } else { + this.attr(match, context[match]); + } + } + } + + return this; // HANDLE: $(#id) + } else { + elem = document.getElementById(match[2]); + + if (elem) { + // Inject the element directly into the jQuery object + this[0] = elem; + this.length = 1; + } + + return this; + } // HANDLE: $(expr, $(...)) + + } else if (!context || context.jquery) { + return (context || root).find(selector); // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor(context).find(selector); + } // HANDLE: $(DOMElement) + + } else if (selector.nodeType) { + this[0] = selector; + this.length = 1; + return this; // HANDLE: $(function) + // Shortcut for document ready + } else if (isFunction(selector)) { + return root.ready !== undefined ? root.ready(selector) : // Execute immediately if ready is not present + selector(jQuery); + } + + return jQuery.makeArray(selector, this); + }; // Give the init function the jQuery prototype for later instantiation + + + init.prototype = jQuery.fn; // Initialize central reference + + rootjQuery = jQuery(document); + var rparentsprev = /^(?:parents|prev(?:Until|All))/, + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + jQuery.fn.extend({ + has: function has(target) { + var targets = jQuery(target, this), + l = targets.length; + return this.filter(function () { + var i = 0; + + for (; i < l; i++) { + if (jQuery.contains(this, targets[i])) { + return true; + } + } + }); + }, + closest: function closest(selectors, context) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery(selectors); // Positional selectors never match, since there's no _selection_ context + + if (!rneedsContext.test(selectors)) { + for (; i < l; i++) { + for (cur = this[i]; cur && cur !== context; cur = cur.parentNode) { + // Always skip document fragments + if (cur.nodeType < 11 && (targets ? targets.index(cur) > -1 : // Don't pass non-elements to Sizzle + cur.nodeType === 1 && jQuery.find.matchesSelector(cur, selectors))) { + matched.push(cur); + break; + } + } + } + } + + return this.pushStack(matched.length > 1 ? jQuery.uniqueSort(matched) : matched); + }, + // Determine the position of an element within the set + index: function index(elem) { + // No argument, return index in parent + if (!elem) { + return this[0] && this[0].parentNode ? this.first().prevAll().length : -1; + } // Index in selector + + + if (typeof elem === "string") { + return indexOf.call(jQuery(elem), this[0]); + } // Locate the position of the desired element + + + return indexOf.call(this, // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem); + }, + add: function add(selector, context) { + return this.pushStack(jQuery.uniqueSort(jQuery.merge(this.get(), jQuery(selector, context)))); + }, + addBack: function addBack(selector) { + return this.add(selector == null ? this.prevObject : this.prevObject.filter(selector)); + } + }); + + function sibling(cur, dir) { + while ((cur = cur[dir]) && cur.nodeType !== 1) {} + + return cur; + } + + jQuery.each({ + parent: function parent(elem) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function parents(elem) { + return dir(elem, "parentNode"); + }, + parentsUntil: function parentsUntil(elem, _i, until) { + return dir(elem, "parentNode", until); + }, + next: function next(elem) { + return sibling(elem, "nextSibling"); + }, + prev: function prev(elem) { + return sibling(elem, "previousSibling"); + }, + nextAll: function nextAll(elem) { + return dir(elem, "nextSibling"); + }, + prevAll: function prevAll(elem) { + return dir(elem, "previousSibling"); + }, + nextUntil: function nextUntil(elem, _i, until) { + return dir(elem, "nextSibling", until); + }, + prevUntil: function prevUntil(elem, _i, until) { + return dir(elem, "previousSibling", until); + }, + siblings: function siblings(elem) { + return _siblings((elem.parentNode || {}).firstChild, elem); + }, + children: function children(elem) { + return _siblings(elem.firstChild); + }, + contents: function contents(elem) { + if (elem.contentDocument != null && // Support: IE 11+ + // elements with no `data` attribute has an object + // `contentDocument` with a `null` prototype. + getProto(elem.contentDocument)) { + return elem.contentDocument; + } // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + + + if (nodeName(elem, "template")) { + elem = elem.content || elem; + } + + return jQuery.merge([], elem.childNodes); + } + }, function (name, fn) { + jQuery.fn[name] = function (until, selector) { + var matched = jQuery.map(this, fn, until); + + if (name.slice(-5) !== "Until") { + selector = until; + } + + if (selector && typeof selector === "string") { + matched = jQuery.filter(selector, matched); + } + + if (this.length > 1) { + // Remove duplicates + if (!guaranteedUnique[name]) { + jQuery.uniqueSort(matched); + } // Reverse order for parents* and prev-derivatives + + + if (rparentsprev.test(name)) { + matched.reverse(); + } + } + + return this.pushStack(matched); + }; + }); + var rnothtmlwhite = /[^\x20\t\r\n\f]+/g; // Convert String-formatted options into Object-formatted ones + + function createOptions(options) { + var object = {}; + jQuery.each(options.match(rnothtmlwhite) || [], function (_, flag) { + object[flag] = true; + }); + return object; + } + /* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ + + + jQuery.Callbacks = function (options) { + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? createOptions(options) : jQuery.extend({}, options); + + var // Flag to know if list is currently firing + firing, + // Last fire value for non-forgettable lists + memory, + // Flag to know if list was already fired + _fired, + // Flag to prevent firing + _locked, + // Actual callback list + list = [], + // Queue of execution data for repeatable lists + queue = [], + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + // Fire callbacks + fire = function fire() { + // Enforce single-firing + _locked = _locked || options.once; // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + + _fired = firing = true; + + for (; queue.length; firingIndex = -1) { + memory = queue.shift(); + + while (++firingIndex < list.length) { + // Run callback and check for early termination + if (list[firingIndex].apply(memory[0], memory[1]) === false && options.stopOnFalse) { + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } // Forget the data if we're done with it + + + if (!options.memory) { + memory = false; + } + + firing = false; // Clean up if we're done firing for good + + if (_locked) { + // Keep an empty list if we have data for future add calls + if (memory) { + list = []; // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + // Actual Callbacks object + self = { + // Add a callback or a collection of callbacks to the list + add: function add() { + if (list) { + // If we have memory from a past run, we should fire after adding + if (memory && !firing) { + firingIndex = list.length - 1; + queue.push(memory); + } + + (function add(args) { + jQuery.each(args, function (_, arg) { + if (isFunction(arg)) { + if (!options.unique || !self.has(arg)) { + list.push(arg); + } + } else if (arg && arg.length && toType(arg) !== "string") { + // Inspect recursively + add(arg); + } + }); + })(arguments); + + if (memory && !firing) { + fire(); + } + } + + return this; + }, + // Remove a callback from the list + remove: function remove() { + jQuery.each(arguments, function (_, arg) { + var index; + + while ((index = jQuery.inArray(arg, list, index)) > -1) { + list.splice(index, 1); // Handle firing indexes + + if (index <= firingIndex) { + firingIndex--; + } + } + }); + return this; + }, + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function has(fn) { + return fn ? jQuery.inArray(fn, list) > -1 : list.length > 0; + }, + // Remove all callbacks from the list + empty: function empty() { + if (list) { + list = []; + } + + return this; + }, + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function disable() { + _locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function disabled() { + return !list; + }, + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function lock() { + _locked = queue = []; + + if (!memory && !firing) { + list = memory = ""; + } + + return this; + }, + locked: function locked() { + return !!_locked; + }, + // Call all callbacks with the given context and arguments + fireWith: function fireWith(context, args) { + if (!_locked) { + args = args || []; + args = [context, args.slice ? args.slice() : args]; + queue.push(args); + + if (!firing) { + fire(); + } + } + + return this; + }, + // Call all the callbacks with the given arguments + fire: function fire() { + self.fireWith(this, arguments); + return this; + }, + // To know if the callbacks have already been called at least once + fired: function fired() { + return !!_fired; + } + }; + + return self; + }; + + function Identity(v) { + return v; + } + + function Thrower(ex) { + throw ex; + } + + function adoptValue(value, resolve, reject, noValue) { + var method; + + try { + // Check for promise aspect first to privilege synchronous behavior + if (value && isFunction(method = value.promise)) { + method.call(value).done(resolve).fail(reject); // Other thenables + } else if (value && isFunction(method = value.then)) { + method.call(value, resolve, reject); // Other non-thenables + } else { + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply(undefined, [value].slice(noValue)); + } // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + + } catch (value) { + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply(undefined, [value]); + } + } + + jQuery.extend({ + Deferred: function Deferred(func) { + var tuples = [// action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + ["notify", "progress", jQuery.Callbacks("memory"), jQuery.Callbacks("memory"), 2], ["resolve", "done", jQuery.Callbacks("once memory"), jQuery.Callbacks("once memory"), 0, "resolved"], ["reject", "fail", jQuery.Callbacks("once memory"), jQuery.Callbacks("once memory"), 1, "rejected"]], + _state = "pending", + _promise = { + state: function state() { + return _state; + }, + always: function always() { + deferred.done(arguments).fail(arguments); + return this; + }, + "catch": function _catch(fn) { + return _promise.then(null, fn); + }, + // Keep pipe for back-compat + pipe: function pipe() + /* fnDone, fnFail, fnProgress */ + { + var fns = arguments; + return jQuery.Deferred(function (newDefer) { + jQuery.each(tuples, function (_i, tuple) { + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction(fns[tuple[4]]) && fns[tuple[4]]; // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + + deferred[tuple[1]](function () { + var returned = fn && fn.apply(this, arguments); + + if (returned && isFunction(returned.promise)) { + returned.promise().progress(newDefer.notify).done(newDefer.resolve).fail(newDefer.reject); + } else { + newDefer[tuple[0] + "With"](this, fn ? [returned] : arguments); + } + }); + }); + fns = null; + }).promise(); + }, + then: function then(onFulfilled, onRejected, onProgress) { + var maxDepth = 0; + + function resolve(depth, deferred, handler, special) { + return function () { + var that = this, + args = arguments, + mightThrow = function mightThrow() { + var returned, then; // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + + if (depth < maxDepth) { + return; + } + + returned = handler.apply(that, args); // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + + if (returned === deferred.promise()) { + throw new TypeError("Thenable self-resolution"); + } // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + + + then = returned && ( // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + _typeof(returned) === "object" || typeof returned === "function") && returned.then; // Handle a returned thenable + + if (isFunction(then)) { + // Special processors (notify) just wait for resolution + if (special) { + then.call(returned, resolve(maxDepth, deferred, Identity, special), resolve(maxDepth, deferred, Thrower, special)); // Normal processors (resolve) also hook into progress + } else { + // ...and disregard older resolution values + maxDepth++; + then.call(returned, resolve(maxDepth, deferred, Identity, special), resolve(maxDepth, deferred, Thrower, special), resolve(maxDepth, deferred, Identity, deferred.notifyWith)); + } // Handle all other returned values + + } else { + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if (handler !== Identity) { + that = undefined; + args = [returned]; + } // Process the value(s) + // Default process is resolve + + + (special || deferred.resolveWith)(that, args); + } + }, + // Only normal processors (resolve) catch and reject exceptions + process = special ? mightThrow : function () { + try { + mightThrow(); + } catch (e) { + if (jQuery.Deferred.exceptionHook) { + jQuery.Deferred.exceptionHook(e, process.stackTrace); + } // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + + + if (depth + 1 >= maxDepth) { + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if (handler !== Thrower) { + that = undefined; + args = [e]; + } + + deferred.rejectWith(that, args); + } + } + }; // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + + + if (depth) { + process(); + } else { + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if (jQuery.Deferred.getStackHook) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + + window.setTimeout(process); + } + }; + } + + return jQuery.Deferred(function (newDefer) { + // progress_handlers.add( ... ) + tuples[0][3].add(resolve(0, newDefer, isFunction(onProgress) ? onProgress : Identity, newDefer.notifyWith)); // fulfilled_handlers.add( ... ) + + tuples[1][3].add(resolve(0, newDefer, isFunction(onFulfilled) ? onFulfilled : Identity)); // rejected_handlers.add( ... ) + + tuples[2][3].add(resolve(0, newDefer, isFunction(onRejected) ? onRejected : Thrower)); + }).promise(); + }, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function promise(obj) { + return obj != null ? jQuery.extend(obj, _promise) : _promise; + } + }, + deferred = {}; // Add list-specific methods + + jQuery.each(tuples, function (i, tuple) { + var list = tuple[2], + stateString = tuple[5]; // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + + _promise[tuple[1]] = list.add; // Handle state + + if (stateString) { + list.add(function () { + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + _state = stateString; + }, // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[3 - i][2].disable, // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[3 - i][3].disable, // progress_callbacks.lock + tuples[0][2].lock, // progress_handlers.lock + tuples[0][3].lock); + } // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + + + list.add(tuple[3].fire); // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + + deferred[tuple[0]] = function () { + deferred[tuple[0] + "With"](this === deferred ? undefined : this, arguments); + return this; + }; // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + + + deferred[tuple[0] + "With"] = list.fireWith; + }); // Make the deferred a promise + + _promise.promise(deferred); // Call given func if any + + + if (func) { + func.call(deferred, deferred); + } // All done! + + + return deferred; + }, + // Deferred helper + when: function when(singleValue) { + var // count of uncompleted subordinates + remaining = arguments.length, + // count of unprocessed arguments + i = remaining, + // subordinate fulfillment data + resolveContexts = Array(i), + resolveValues = _slice.call(arguments), + // the primary Deferred + primary = jQuery.Deferred(), + // subordinate callback factory + updateFunc = function updateFunc(i) { + return function (value) { + resolveContexts[i] = this; + resolveValues[i] = arguments.length > 1 ? _slice.call(arguments) : value; + + if (! --remaining) { + primary.resolveWith(resolveContexts, resolveValues); + } + }; + }; // Single- and empty arguments are adopted like Promise.resolve + + + if (remaining <= 1) { + adoptValue(singleValue, primary.done(updateFunc(i)).resolve, primary.reject, !remaining); // Use .then() to unwrap secondary thenables (cf. gh-3000) + + if (primary.state() === "pending" || isFunction(resolveValues[i] && resolveValues[i].then)) { + return primary.then(); + } + } // Multiple arguments are aggregated like Promise.all array elements + + + while (i--) { + adoptValue(resolveValues[i], updateFunc(i), primary.reject); + } + + return primary.promise(); + } + }); // These usually indicate a programmer mistake during development, + // warn about them ASAP rather than swallowing them by default. + + var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + + jQuery.Deferred.exceptionHook = function (error, stack) { + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if (window.console && window.console.warn && error && rerrorNames.test(error.name)) { + window.console.warn("jQuery.Deferred exception: " + error.message, error.stack, stack); + } + }; + + jQuery.readyException = function (error) { + window.setTimeout(function () { + throw error; + }); + }; // The deferred used on DOM ready + + + var readyList = jQuery.Deferred(); + + jQuery.fn.ready = function (fn) { + readyList.then(fn) // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch(function (error) { + jQuery.readyException(error); + }); + return this; + }; + + jQuery.extend({ + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + // Handle when the DOM is ready + ready: function ready(wait) { + // Abort if there are pending holds or we're already ready + if (wait === true ? --jQuery.readyWait : jQuery.isReady) { + return; + } // Remember that the DOM is ready + + + jQuery.isReady = true; // If a normal DOM Ready event fired, decrement, and wait if need be + + if (wait !== true && --jQuery.readyWait > 0) { + return; + } // If there are functions bound, to execute + + + readyList.resolveWith(document, [jQuery]); + } + }); + jQuery.ready.then = readyList.then; // The ready event handler and self cleanup method + + function completed() { + document.removeEventListener("DOMContentLoaded", completed); + window.removeEventListener("load", completed); + jQuery.ready(); + } // Catch cases where $(document).ready() is called + // after the browser event has already occurred. + // Support: IE <=9 - 10 only + // Older IE sometimes signals "interactive" too soon + + + if (document.readyState === "complete" || document.readyState !== "loading" && !document.documentElement.doScroll) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout(jQuery.ready); + } else { + // Use the handy event callback + document.addEventListener("DOMContentLoaded", completed); // A fallback to window.onload, that will always work + + window.addEventListener("load", completed); + } // Multifunctional method to get and set values of a collection + // The value/s can optionally be executed if it's a function + + + var access = function access(elems, fn, key, value, chainable, emptyGet, raw) { + var i = 0, + len = elems.length, + bulk = key == null; // Sets many values + + if (toType(key) === "object") { + chainable = true; + + for (i in key) { + access(elems, fn, i, key[i], true, emptyGet, raw); + } // Sets one value + + } else if (value !== undefined) { + chainable = true; + + if (!isFunction(value)) { + raw = true; + } + + if (bulk) { + // Bulk operations run against the entire set + if (raw) { + fn.call(elems, value); + fn = null; // ...except when executing function values + } else { + bulk = fn; + + fn = function fn(elem, _key, value) { + return bulk.call(jQuery(elem), value); + }; + } + } + + if (fn) { + for (; i < len; i++) { + fn(elems[i], key, raw ? value : value.call(elems[i], i, fn(elems[i], key))); + } + } + } + + if (chainable) { + return elems; + } // Gets + + + if (bulk) { + return fn.call(elems); + } + + return len ? fn(elems[0], key) : emptyGet; + }; // Matches dashed string for camelizing + + + var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; // Used by camelCase as callback to replace() + + function fcamelCase(_all, letter) { + return letter.toUpperCase(); + } // Convert dashed to camelCase; used by the css and data modules + // Support: IE <=9 - 11, Edge 12 - 15 + // Microsoft forgot to hump their vendor prefix (#9572) + + + function camelCase(string) { + return string.replace(rmsPrefix, "ms-").replace(rdashAlpha, fcamelCase); + } + + var acceptData = function acceptData(owner) { + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !+owner.nodeType; + }; + + function Data() { + this.expando = jQuery.expando + Data.uid++; + } + + Data.uid = 1; + Data.prototype = { + cache: function cache(owner) { + // Check if the owner object already has a cache + var value = owner[this.expando]; // If not, create one + + if (!value) { + value = {}; // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + + if (acceptData(owner)) { + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if (owner.nodeType) { + owner[this.expando] = value; // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty(owner, this.expando, { + value: value, + configurable: true + }); + } + } + } + + return value; + }, + set: function set(owner, data, value) { + var prop, + cache = this.cache(owner); // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + + if (typeof data === "string") { + cache[camelCase(data)] = value; // Handle: [ owner, { properties } ] args + } else { + // Copy the properties one-by-one to the cache object + for (prop in data) { + cache[camelCase(prop)] = data[prop]; + } + } + + return cache; + }, + get: function get(owner, key) { + return key === undefined ? this.cache(owner) : // Always use camelCase key (gh-2257) + owner[this.expando] && owner[this.expando][camelCase(key)]; + }, + access: function access(owner, key, value) { + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if (key === undefined || key && typeof key === "string" && value === undefined) { + return this.get(owner, key); + } // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + + + this.set(owner, key, value); // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + + return value !== undefined ? value : key; + }, + remove: function remove(owner, key) { + var i, + cache = owner[this.expando]; + + if (cache === undefined) { + return; + } + + if (key !== undefined) { + // Support array or space separated string of keys + if (Array.isArray(key)) { + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map(camelCase); + } else { + key = camelCase(key); // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + + key = key in cache ? [key] : key.match(rnothtmlwhite) || []; + } + + i = key.length; + + while (i--) { + delete cache[key[i]]; + } + } // Remove the expando if there's no more data + + + if (key === undefined || jQuery.isEmptyObject(cache)) { + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if (owner.nodeType) { + owner[this.expando] = undefined; + } else { + delete owner[this.expando]; + } + } + }, + hasData: function hasData(owner) { + var cache = owner[this.expando]; + return cache !== undefined && !jQuery.isEmptyObject(cache); + } + }; + var dataPriv = new Data(); + var dataUser = new Data(); // Implementation Summary + // + // 1. Enforce API surface and semantic compatibility with 1.9.x branch + // 2. Improve the module's maintainability by reducing the storage + // paths to a single mechanism. + // 3. Use the same single mechanism to support "private" and "user" data. + // 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) + // 5. Avoid exposing implementation details on user objects (eg. expando properties) + // 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + + var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + + function getData(data) { + if (data === "true") { + return true; + } + + if (data === "false") { + return false; + } + + if (data === "null") { + return null; + } // Only convert to a number if it doesn't change the string + + + if (data === +data + "") { + return +data; + } + + if (rbrace.test(data)) { + return JSON.parse(data); + } + + return data; + } + + function dataAttr(elem, key, data) { + var name; // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + + if (data === undefined && elem.nodeType === 1) { + name = "data-" + key.replace(rmultiDash, "-$&").toLowerCase(); + data = elem.getAttribute(name); + + if (typeof data === "string") { + try { + data = getData(data); + } catch (e) {} // Make sure we set the data so it isn't changed later + + + dataUser.set(elem, key, data); + } else { + data = undefined; + } + } + + return data; + } + + jQuery.extend({ + hasData: function hasData(elem) { + return dataUser.hasData(elem) || dataPriv.hasData(elem); + }, + data: function data(elem, name, _data) { + return dataUser.access(elem, name, _data); + }, + removeData: function removeData(elem, name) { + dataUser.remove(elem, name); + }, + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function _data(elem, name, data) { + return dataPriv.access(elem, name, data); + }, + _removeData: function _removeData(elem, name) { + dataPriv.remove(elem, name); + } + }); + jQuery.fn.extend({ + data: function data(key, value) { + var i, + name, + data, + elem = this[0], + attrs = elem && elem.attributes; // Gets all values + + if (key === undefined) { + if (this.length) { + data = dataUser.get(elem); + + if (elem.nodeType === 1 && !dataPriv.get(elem, "hasDataAttrs")) { + i = attrs.length; + + while (i--) { + // Support: IE 11 only + // The attrs elements can be null (#14894) + if (attrs[i]) { + name = attrs[i].name; + + if (name.indexOf("data-") === 0) { + name = camelCase(name.slice(5)); + dataAttr(elem, name, data[name]); + } + } + } + + dataPriv.set(elem, "hasDataAttrs", true); + } + } + + return data; + } // Sets multiple values + + + if (_typeof(key) === "object") { + return this.each(function () { + dataUser.set(this, key); + }); + } + + return access(this, function (value) { + var data; // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + + if (elem && value === undefined) { + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get(elem, key); + + if (data !== undefined) { + return data; + } // Attempt to "discover" the data in + // HTML5 custom data-* attrs + + + data = dataAttr(elem, key); + + if (data !== undefined) { + return data; + } // We tried really hard, but the data doesn't exist. + + + return; + } // Set the data... + + + this.each(function () { + // We always store the camelCased key + dataUser.set(this, key, value); + }); + }, null, value, arguments.length > 1, null, true); + }, + removeData: function removeData(key) { + return this.each(function () { + dataUser.remove(this, key); + }); + } + }); + jQuery.extend({ + queue: function queue(elem, type, data) { + var queue; + + if (elem) { + type = (type || "fx") + "queue"; + queue = dataPriv.get(elem, type); // Speed up dequeue by getting out quickly if this is just a lookup + + if (data) { + if (!queue || Array.isArray(data)) { + queue = dataPriv.access(elem, type, jQuery.makeArray(data)); + } else { + queue.push(data); + } + } + + return queue || []; + } + }, + dequeue: function dequeue(elem, type) { + type = type || "fx"; + + var queue = jQuery.queue(elem, type), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks(elem, type), + next = function next() { + jQuery.dequeue(elem, type); + }; // If the fx queue is dequeued, always remove the progress sentinel + + + if (fn === "inprogress") { + fn = queue.shift(); + startLength--; + } + + if (fn) { + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if (type === "fx") { + queue.unshift("inprogress"); + } // Clear up the last queue stop function + + + delete hooks.stop; + fn.call(elem, next, hooks); + } + + if (!startLength && hooks) { + hooks.empty.fire(); + } + }, + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function _queueHooks(elem, type) { + var key = type + "queueHooks"; + return dataPriv.get(elem, key) || dataPriv.access(elem, key, { + empty: jQuery.Callbacks("once memory").add(function () { + dataPriv.remove(elem, [type + "queue", key]); + }) + }); + } + }); + jQuery.fn.extend({ + queue: function queue(type, data) { + var setter = 2; + + if (typeof type !== "string") { + data = type; + type = "fx"; + setter--; + } + + if (arguments.length < setter) { + return jQuery.queue(this[0], type); + } + + return data === undefined ? this : this.each(function () { + var queue = jQuery.queue(this, type, data); // Ensure a hooks for this queue + + jQuery._queueHooks(this, type); + + if (type === "fx" && queue[0] !== "inprogress") { + jQuery.dequeue(this, type); + } + }); + }, + dequeue: function dequeue(type) { + return this.each(function () { + jQuery.dequeue(this, type); + }); + }, + clearQueue: function clearQueue(type) { + return this.queue(type || "fx", []); + }, + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function promise(type, obj) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function resolve() { + if (! --count) { + defer.resolveWith(elements, [elements]); + } + }; + + if (typeof type !== "string") { + obj = type; + type = undefined; + } + + type = type || "fx"; + + while (i--) { + tmp = dataPriv.get(elements[i], type + "queueHooks"); + + if (tmp && tmp.empty) { + count++; + tmp.empty.add(resolve); + } + } + + resolve(); + return defer.promise(obj); + } + }); + var pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source; + var rcssNum = new RegExp("^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i"); + var cssExpand = ["Top", "Right", "Bottom", "Left"]; + var documentElement = document.documentElement; + + var isAttached = function isAttached(elem) { + return jQuery.contains(elem.ownerDocument, elem); + }, + composed = { + composed: true + }; // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + + + if (documentElement.getRootNode) { + isAttached = function isAttached(elem) { + return jQuery.contains(elem.ownerDocument, elem) || elem.getRootNode(composed) === elem.ownerDocument; + }; + } + + var isHiddenWithinTree = function isHiddenWithinTree(elem, el) { + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; // Inline style trumps all + + return elem.style.display === "none" || elem.style.display === "" && // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached(elem) && jQuery.css(elem, "display") === "none"; + }; + + function adjustCSS(elem, prop, valueParts, tween) { + var adjusted, + scale, + maxIterations = 20, + currentValue = tween ? function () { + return tween.cur(); + } : function () { + return jQuery.css(elem, prop, ""); + }, + initial = currentValue(), + unit = valueParts && valueParts[3] || (jQuery.cssNumber[prop] ? "" : "px"), + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && (jQuery.cssNumber[prop] || unit !== "px" && +initial) && rcssNum.exec(jQuery.css(elem, prop)); + + if (initialInUnit && initialInUnit[3] !== unit) { + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; // Trust units reported by jQuery.css + + unit = unit || initialInUnit[3]; // Iteratively approximate from a nonzero starting point + + initialInUnit = +initial || 1; + + while (maxIterations--) { + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style(elem, prop, initialInUnit + unit); + + if ((1 - scale) * (1 - (scale = currentValue() / initial || 0.5)) <= 0) { + maxIterations = 0; + } + + initialInUnit = initialInUnit / scale; + } + + initialInUnit = initialInUnit * 2; + jQuery.style(elem, prop, initialInUnit + unit); // Make sure we update the tween properties later on + + valueParts = valueParts || []; + } + + if (valueParts) { + initialInUnit = +initialInUnit || +initial || 0; // Apply relative offset (+=/-=) if specified + + adjusted = valueParts[1] ? initialInUnit + (valueParts[1] + 1) * valueParts[2] : +valueParts[2]; + + if (tween) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + + return adjusted; + } + + var defaultDisplayMap = {}; + + function getDefaultDisplay(elem) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[nodeName]; + + if (display) { + return display; + } + + temp = doc.body.appendChild(doc.createElement(nodeName)); + display = jQuery.css(temp, "display"); + temp.parentNode.removeChild(temp); + + if (display === "none") { + display = "block"; + } + + defaultDisplayMap[nodeName] = display; + return display; + } + + function showHide(elements, show) { + var display, + elem, + values = [], + index = 0, + length = elements.length; // Determine new display value for elements that need to change + + for (; index < length; index++) { + elem = elements[index]; + + if (!elem.style) { + continue; + } + + display = elem.style.display; + + if (show) { + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if (display === "none") { + values[index] = dataPriv.get(elem, "display") || null; + + if (!values[index]) { + elem.style.display = ""; + } + } + + if (elem.style.display === "" && isHiddenWithinTree(elem)) { + values[index] = getDefaultDisplay(elem); + } + } else { + if (display !== "none") { + values[index] = "none"; // Remember what we're overwriting + + dataPriv.set(elem, "display", display); + } + } + } // Set the display of the elements in a second loop to avoid constant reflow + + + for (index = 0; index < length; index++) { + if (values[index] != null) { + elements[index].style.display = values[index]; + } + } + + return elements; + } + + jQuery.fn.extend({ + show: function show() { + return showHide(this, true); + }, + hide: function hide() { + return showHide(this); + }, + toggle: function toggle(state) { + if (typeof state === "boolean") { + return state ? this.show() : this.hide(); + } + + return this.each(function () { + if (isHiddenWithinTree(this)) { + jQuery(this).show(); + } else { + jQuery(this).hide(); + } + }); + } + }); + var rcheckableType = /^(?:checkbox|radio)$/i; + var rtagName = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i; + var rscriptType = /^$|^module$|\/(?:java|ecma)script/i; + + (function () { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild(document.createElement("div")), + input = document.createElement("input"); // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + + input.setAttribute("type", "radio"); + input.setAttribute("checked", "checked"); + input.setAttribute("name", "t"); + div.appendChild(input); // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + + support.checkClone = div.cloneNode(true).cloneNode(true).lastChild.checked; // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode(true).lastChild.defaultValue; // Support: IE <=9 only + // IE <=9 replaces "; + support.option = !!div.lastChild; + })(); // We have to close these tags to support XHTML (#13200) + + + var wrapMap = { + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [1, "", "
      "], + col: [2, "", "
      "], + tr: [2, "", "
      "], + td: [3, "", "
      "], + _default: [0, "", ""] + }; + wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; + wrapMap.th = wrapMap.td; // Support: IE <=9 only + + if (!support.option) { + wrapMap.optgroup = wrapMap.option = [1, ""]; + } + + function getAll(context, tag) { + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if (typeof context.getElementsByTagName !== "undefined") { + ret = context.getElementsByTagName(tag || "*"); + } else if (typeof context.querySelectorAll !== "undefined") { + ret = context.querySelectorAll(tag || "*"); + } else { + ret = []; + } + + if (tag === undefined || tag && nodeName(context, tag)) { + return jQuery.merge([context], ret); + } + + return ret; + } // Mark scripts as having already been evaluated + + + function setGlobalEval(elems, refElements) { + var i = 0, + l = elems.length; + + for (; i < l; i++) { + dataPriv.set(elems[i], "globalEval", !refElements || dataPriv.get(refElements[i], "globalEval")); + } + } + + var rhtml = /<|&#?\w+;/; + + function buildFragment(elems, context, scripts, selection, ignored) { + var elem, + tmp, + tag, + wrap, + attached, + j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for (; i < l; i++) { + elem = elems[i]; + + if (elem || elem === 0) { + // Add nodes directly + if (toType(elem) === "object") { + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge(nodes, elem.nodeType ? [elem] : elem); // Convert non-html into a text node + } else if (!rhtml.test(elem)) { + nodes.push(context.createTextNode(elem)); // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild(context.createElement("div")); // Deserialize a standard representation + + tag = (rtagName.exec(elem) || ["", ""])[1].toLowerCase(); + wrap = wrapMap[tag] || wrapMap._default; + tmp.innerHTML = wrap[1] + jQuery.htmlPrefilter(elem) + wrap[2]; // Descend through wrappers to the right content + + j = wrap[0]; + + while (j--) { + tmp = tmp.lastChild; + } // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + + + jQuery.merge(nodes, tmp.childNodes); // Remember the top-level container + + tmp = fragment.firstChild; // Ensure the created nodes are orphaned (#12392) + + tmp.textContent = ""; + } + } + } // Remove wrapper from fragment + + + fragment.textContent = ""; + i = 0; + + while (elem = nodes[i++]) { + // Skip elements already in the context collection (trac-4087) + if (selection && jQuery.inArray(elem, selection) > -1) { + if (ignored) { + ignored.push(elem); + } + + continue; + } + + attached = isAttached(elem); // Append to fragment + + tmp = getAll(fragment.appendChild(elem), "script"); // Preserve script evaluation history + + if (attached) { + setGlobalEval(tmp); + } // Capture executables + + + if (scripts) { + j = 0; + + while (elem = tmp[j++]) { + if (rscriptType.test(elem.type || "")) { + scripts.push(elem); + } + } + } + } + + return fragment; + } + + var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + + function returnTrue() { + return true; + } + + function returnFalse() { + return false; + } // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous, except when they are no-op. + // So expect focus to be synchronous when the element is already active, + // and blur to be synchronous when the element is not already active. + // (focus and blur are always synchronous in other supported browsers, + // this just defines when we can count on it). + + + function expectSync(elem, type) { + return elem === safeActiveElement() === (type === "focus"); + } // Support: IE <=9 only + // Accessing document.activeElement can throw unexpectedly + // https://bugs.jquery.com/ticket/13393 + + + function safeActiveElement() { + try { + return document.activeElement; + } catch (err) {} + } + + function _on(elem, types, selector, data, fn, one) { + var origFn, type; // Types can be a map of types/handlers + + if (_typeof(types) === "object") { + // ( types-Object, selector, data ) + if (typeof selector !== "string") { + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + + for (type in types) { + _on(elem, type, selector, data, types[type], one); + } + + return elem; + } + + if (data == null && fn == null) { + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if (fn == null) { + if (typeof selector === "string") { + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + + if (fn === false) { + fn = returnFalse; + } else if (!fn) { + return elem; + } + + if (one === 1) { + origFn = fn; + + fn = function fn(event) { + // Can use an empty set, since event contains the info + jQuery().off(event); + return origFn.apply(this, arguments); + }; // Use same guid so caller can remove using origFn + + + fn.guid = origFn.guid || (origFn.guid = jQuery.guid++); + } + + return elem.each(function () { + jQuery.event.add(this, types, fn, data, selector); + }); + } + /* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ + + + jQuery.event = { + global: {}, + add: function add(elem, types, handler, data, selector) { + var handleObjIn, + eventHandle, + tmp, + events, + t, + handleObj, + special, + handlers, + type, + namespaces, + origType, + elemData = dataPriv.get(elem); // Only attach events to objects that accept data + + if (!acceptData(elem)) { + return; + } // Caller can pass in an object of custom data in lieu of the handler + + + if (handler.handler) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + + + if (selector) { + jQuery.find.matchesSelector(documentElement, selector); + } // Make sure that the handler has a unique ID, used to find/remove it later + + + if (!handler.guid) { + handler.guid = jQuery.guid++; + } // Init the element's event structure and main handler, if this is the first + + + if (!(events = elemData.events)) { + events = elemData.events = Object.create(null); + } + + if (!(eventHandle = elemData.handle)) { + eventHandle = elemData.handle = function (e) { + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? jQuery.event.dispatch.apply(elem, arguments) : undefined; + }; + } // Handle multiple events separated by a space + + + types = (types || "").match(rnothtmlwhite) || [""]; + t = types.length; + + while (t--) { + tmp = rtypenamespace.exec(types[t]) || []; + type = origType = tmp[1]; + namespaces = (tmp[2] || "").split(".").sort(); // There *must* be a type, no attaching namespace-only handlers + + if (!type) { + continue; + } // If event changes its type, use the special event handlers for the changed type + + + special = jQuery.event.special[type] || {}; // If selector defined, determine special event api type, otherwise given type + + type = (selector ? special.delegateType : special.bindType) || type; // Update special based on newly reset type + + special = jQuery.event.special[type] || {}; // handleObj is passed to all event handlers + + handleObj = jQuery.extend({ + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test(selector), + namespace: namespaces.join(".") + }, handleObjIn); // Init the event handler queue if we're the first + + if (!(handlers = events[type])) { + handlers = events[type] = []; + handlers.delegateCount = 0; // Only use addEventListener if the special events handler returns false + + if (!special.setup || special.setup.call(elem, data, namespaces, eventHandle) === false) { + if (elem.addEventListener) { + elem.addEventListener(type, eventHandle); + } + } + } + + if (special.add) { + special.add.call(elem, handleObj); + + if (!handleObj.handler.guid) { + handleObj.handler.guid = handler.guid; + } + } // Add to the element's handler list, delegates in front + + + if (selector) { + handlers.splice(handlers.delegateCount++, 0, handleObj); + } else { + handlers.push(handleObj); + } // Keep track of which events have ever been used, for event optimization + + + jQuery.event.global[type] = true; + } + }, + // Detach an event or set of events from an element + remove: function remove(elem, types, handler, selector, mappedTypes) { + var j, + origCount, + tmp, + events, + t, + handleObj, + special, + handlers, + type, + namespaces, + origType, + elemData = dataPriv.hasData(elem) && dataPriv.get(elem); + + if (!elemData || !(events = elemData.events)) { + return; + } // Once for each type.namespace in types; type may be omitted + + + types = (types || "").match(rnothtmlwhite) || [""]; + t = types.length; + + while (t--) { + tmp = rtypenamespace.exec(types[t]) || []; + type = origType = tmp[1]; + namespaces = (tmp[2] || "").split(".").sort(); // Unbind all events (on this namespace, if provided) for the element + + if (!type) { + for (type in events) { + jQuery.event.remove(elem, type + types[t], handler, selector, true); + } + + continue; + } + + special = jQuery.event.special[type] || {}; + type = (selector ? special.delegateType : special.bindType) || type; + handlers = events[type] || []; + tmp = tmp[2] && new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)"); // Remove matching events + + origCount = j = handlers.length; + + while (j--) { + handleObj = handlers[j]; + + if ((mappedTypes || origType === handleObj.origType) && (!handler || handler.guid === handleObj.guid) && (!tmp || tmp.test(handleObj.namespace)) && (!selector || selector === handleObj.selector || selector === "**" && handleObj.selector)) { + handlers.splice(j, 1); + + if (handleObj.selector) { + handlers.delegateCount--; + } + + if (special.remove) { + special.remove.call(elem, handleObj); + } + } + } // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + + + if (origCount && !handlers.length) { + if (!special.teardown || special.teardown.call(elem, namespaces, elemData.handle) === false) { + jQuery.removeEvent(elem, type, elemData.handle); + } + + delete events[type]; + } + } // Remove data and the expando if it's no longer used + + + if (jQuery.isEmptyObject(events)) { + dataPriv.remove(elem, "handle events"); + } + }, + dispatch: function dispatch(nativeEvent) { + var i, + j, + ret, + matched, + handleObj, + handlerQueue, + args = new Array(arguments.length), + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix(nativeEvent), + handlers = (dataPriv.get(this, "events") || Object.create(null))[event.type] || [], + special = jQuery.event.special[event.type] || {}; // Use the fix-ed jQuery.Event rather than the (read-only) native event + + args[0] = event; + + for (i = 1; i < arguments.length; i++) { + args[i] = arguments[i]; + } + + event.delegateTarget = this; // Call the preDispatch hook for the mapped type, and let it bail if desired + + if (special.preDispatch && special.preDispatch.call(this, event) === false) { + return; + } // Determine handlers + + + handlerQueue = jQuery.event.handlers.call(this, event, handlers); // Run delegates first; they may want to stop propagation beneath us + + i = 0; + + while ((matched = handlerQueue[i++]) && !event.isPropagationStopped()) { + event.currentTarget = matched.elem; + j = 0; + + while ((handleObj = matched.handlers[j++]) && !event.isImmediatePropagationStopped()) { + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if (!event.rnamespace || handleObj.namespace === false || event.rnamespace.test(handleObj.namespace)) { + event.handleObj = handleObj; + event.data = handleObj.data; + ret = ((jQuery.event.special[handleObj.origType] || {}).handle || handleObj.handler).apply(matched.elem, args); + + if (ret !== undefined) { + if ((event.result = ret) === false) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } // Call the postDispatch hook for the mapped type + + + if (special.postDispatch) { + special.postDispatch.call(this, event); + } + + return event.result; + }, + handlers: function handlers(event, _handlers) { + var i, + handleObj, + sel, + matchedHandlers, + matchedSelectors, + handlerQueue = [], + delegateCount = _handlers.delegateCount, + cur = event.target; // Find delegate handlers + + if (delegateCount && // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !(event.type === "click" && event.button >= 1)) { + for (; cur !== this; cur = cur.parentNode || this) { + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if (cur.nodeType === 1 && !(event.type === "click" && cur.disabled === true)) { + matchedHandlers = []; + matchedSelectors = {}; + + for (i = 0; i < delegateCount; i++) { + handleObj = _handlers[i]; // Don't conflict with Object.prototype properties (#13203) + + sel = handleObj.selector + " "; + + if (matchedSelectors[sel] === undefined) { + matchedSelectors[sel] = handleObj.needsContext ? jQuery(sel, this).index(cur) > -1 : jQuery.find(sel, this, null, [cur]).length; + } + + if (matchedSelectors[sel]) { + matchedHandlers.push(handleObj); + } + } + + if (matchedHandlers.length) { + handlerQueue.push({ + elem: cur, + handlers: matchedHandlers + }); + } + } + } + } // Add the remaining (directly-bound) handlers + + + cur = this; + + if (delegateCount < _handlers.length) { + handlerQueue.push({ + elem: cur, + handlers: _handlers.slice(delegateCount) + }); + } + + return handlerQueue; + }, + addProp: function addProp(name, hook) { + Object.defineProperty(jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + get: isFunction(hook) ? function () { + if (this.originalEvent) { + return hook(this.originalEvent); + } + } : function () { + if (this.originalEvent) { + return this.originalEvent[name]; + } + }, + set: function set(value) { + Object.defineProperty(this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + }); + } + }); + }, + fix: function fix(originalEvent) { + return originalEvent[jQuery.expando] ? originalEvent : new jQuery.Event(originalEvent); + }, + special: { + load: { + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + // Utilize native event to ensure correct state for checkable inputs + setup: function setup(data) { + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; // Claim the first handler + + if (rcheckableType.test(el.type) && el.click && nodeName(el, "input")) { + // dataPriv.set( el, "click", ... ) + leverageNative(el, "click", returnTrue); + } // Return false to allow normal processing in the caller + + + return false; + }, + trigger: function trigger(data) { + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; // Force setup before triggering a click + + if (rcheckableType.test(el.type) && el.click && nodeName(el, "input")) { + leverageNative(el, "click"); + } // Return non-false to allow normal event-path propagation + + + return true; + }, + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function _default(event) { + var target = event.target; + return rcheckableType.test(target.type) && target.click && nodeName(target, "input") && dataPriv.get(target, "click") || nodeName(target, "a"); + } + }, + beforeunload: { + postDispatch: function postDispatch(event) { + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if (event.result !== undefined && event.originalEvent) { + event.originalEvent.returnValue = event.result; + } + } + } + } + }; // Ensure the presence of an event listener that handles manually-triggered + // synthetic events by interrupting progress until reinvoked in response to + // *native* events that it fires directly, ensuring that state changes have + // already occurred before other listeners are invoked. + + function leverageNative(el, type, expectSync) { + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if (!expectSync) { + if (dataPriv.get(el, type) === undefined) { + jQuery.event.add(el, type, returnTrue); + } + + return; + } // Register the controller as a special universal handler for all event namespaces + + + dataPriv.set(el, type, false); + jQuery.event.add(el, type, { + namespace: false, + handler: function handler(event) { + var notAsync, + result, + saved = dataPriv.get(this, type); + + if (event.isTrigger & 1 && this[type]) { + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if (!saved.length) { + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = _slice.call(arguments); + dataPriv.set(this, type, saved); // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + + notAsync = expectSync(this, type); + this[type](); + result = dataPriv.get(this, type); + + if (saved !== result || notAsync) { + dataPriv.set(this, type, false); + } else { + result = {}; + } + + if (saved !== result) { + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); // Support: Chrome 86+ + // In Chrome, if an element having a focusout handler is blurred by + // clicking outside of it, it invokes the handler synchronously. If + // that handler calls `.remove()` on the element, the data is cleared, + // leaving `result` undefined. We need to guard against this. + + return result && result.value; + } // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + + } else if ((jQuery.event.special[type] || {}).delegateType) { + event.stopPropagation(); + } // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + + } else if (saved.length) { + // ...and capture the result + dataPriv.set(this, type, { + value: jQuery.event.trigger( // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend(saved[0], jQuery.Event.prototype), saved.slice(1), this) + }); // Abort handling of the native event + + event.stopImmediatePropagation(); + } + } + }); + } + + jQuery.removeEvent = function (elem, type, handle) { + // This "if" is needed for plain objects + if (elem.removeEventListener) { + elem.removeEventListener(type, handle); + } + }; + + jQuery.Event = function (src, props) { + // Allow instantiation without the 'new' keyword + if (!(this instanceof jQuery.Event)) { + return new jQuery.Event(src, props); + } // Event object + + + if (src && src.type) { + this.originalEvent = src; + this.type = src.type; // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + + this.isDefaultPrevented = src.defaultPrevented || src.defaultPrevented === undefined && // Support: Android <=2.3 only + src.returnValue === false ? returnTrue : returnFalse; // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + + this.target = src.target && src.target.nodeType === 3 ? src.target.parentNode : src.target; + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; // Event type + } else { + this.type = src; + } // Put explicitly provided properties onto the event object + + + if (props) { + jQuery.extend(this, props); + } // Create a timestamp if incoming event doesn't have one + + + this.timeStamp = src && src.timeStamp || Date.now(); // Mark it as fixed + + this[jQuery.expando] = true; + }; // jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding + // https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html + + + jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + preventDefault: function preventDefault() { + var e = this.originalEvent; + this.isDefaultPrevented = returnTrue; + + if (e && !this.isSimulated) { + e.preventDefault(); + } + }, + stopPropagation: function stopPropagation() { + var e = this.originalEvent; + this.isPropagationStopped = returnTrue; + + if (e && !this.isSimulated) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function stopImmediatePropagation() { + var e = this.originalEvent; + this.isImmediatePropagationStopped = returnTrue; + + if (e && !this.isSimulated) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } + }; // Includes all common event props including KeyEvent and MouseEvent specific props + + jQuery.each({ + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + which: true + }, jQuery.event.addProp); + jQuery.each({ + focus: "focusin", + blur: "focusout" + }, function (type, delegateType) { + jQuery.event.special[type] = { + // Utilize native event if possible so blur/focus sequence is correct + setup: function setup() { + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative(this, type, expectSync); // Return false to allow normal processing in the caller + + return false; + }, + trigger: function trigger() { + // Force setup before trigger + leverageNative(this, type); // Return non-false to allow normal event-path propagation + + return true; + }, + // Suppress native focus or blur as it's already being fired + // in leverageNative. + _default: function _default() { + return true; + }, + delegateType: delegateType + }; + }); // Create mouseenter/leave events using mouseover/out and event-time checks + // so that event delegation works in jQuery. + // Do the same for pointerenter/pointerleave and pointerover/pointerout + // + // Support: Safari 7 only + // Safari sends mouseenter too often; see: + // https://bugs.chromium.org/p/chromium/issues/detail?id=470258 + // for the description of the bug (it existed in older Chrome versions as well). + + jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" + }, function (orig, fix) { + jQuery.event.special[orig] = { + delegateType: fix, + bindType: fix, + handle: function handle(event) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + + if (!related || related !== target && !jQuery.contains(target, related)) { + event.type = handleObj.origType; + ret = handleObj.handler.apply(this, arguments); + event.type = fix; + } + + return ret; + } + }; + }); + jQuery.fn.extend({ + on: function on(types, selector, data, fn) { + return _on(this, types, selector, data, fn); + }, + one: function one(types, selector, data, fn) { + return _on(this, types, selector, data, fn, 1); + }, + off: function off(types, selector, fn) { + var handleObj, type; + + if (types && types.preventDefault && types.handleObj) { + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery(types.delegateTarget).off(handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, handleObj.selector, handleObj.handler); + return this; + } + + if (_typeof(types) === "object") { + // ( types-object [, selector] ) + for (type in types) { + this.off(type, selector, types[type]); + } + + return this; + } + + if (selector === false || typeof selector === "function") { + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + + if (fn === false) { + fn = returnFalse; + } + + return this.each(function () { + jQuery.event.remove(this, types, fn, selector); + }); + } + }); + var // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; // Prefer a tbody over its parent table for containing new rows + + function manipulationTarget(elem, content) { + if (nodeName(elem, "table") && nodeName(content.nodeType !== 11 ? content : content.firstChild, "tr")) { + return jQuery(elem).children("tbody")[0] || elem; + } + + return elem; + } // Replace/restore the type attribute of script elements for safe DOM manipulation + + + function disableScript(elem) { + elem.type = (elem.getAttribute("type") !== null) + "/" + elem.type; + return elem; + } + + function restoreScript(elem) { + if ((elem.type || "").slice(0, 5) === "true/") { + elem.type = elem.type.slice(5); + } else { + elem.removeAttribute("type"); + } + + return elem; + } + + function cloneCopyEvent(src, dest) { + var i, l, type, pdataOld, udataOld, udataCur, events; + + if (dest.nodeType !== 1) { + return; + } // 1. Copy private data: events, handlers, etc. + + + if (dataPriv.hasData(src)) { + pdataOld = dataPriv.get(src); + events = pdataOld.events; + + if (events) { + dataPriv.remove(dest, "handle events"); + + for (type in events) { + for (i = 0, l = events[type].length; i < l; i++) { + jQuery.event.add(dest, type, events[type][i]); + } + } + } + } // 2. Copy user data + + + if (dataUser.hasData(src)) { + udataOld = dataUser.access(src); + udataCur = jQuery.extend({}, udataOld); + dataUser.set(dest, udataCur); + } + } // Fix IE bugs, see support tests + + + function fixInput(src, dest) { + var nodeName = dest.nodeName.toLowerCase(); // Fails to persist the checked state of a cloned checkbox or radio button. + + if (nodeName === "input" && rcheckableType.test(src.type)) { + dest.checked = src.checked; // Fails to return the selected option to the default selected state when cloning options + } else if (nodeName === "input" || nodeName === "textarea") { + dest.defaultValue = src.defaultValue; + } + } + + function domManip(collection, args, callback, ignored) { + // Flatten any nested arrays + args = flat(args); + var fragment, + first, + scripts, + hasScripts, + node, + doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[0], + valueIsFunction = isFunction(value); // We can't cloneNode fragments that contain checked, in WebKit + + if (valueIsFunction || l > 1 && typeof value === "string" && !support.checkClone && rchecked.test(value)) { + return collection.each(function (index) { + var self = collection.eq(index); + + if (valueIsFunction) { + args[0] = value.call(this, index, self.html()); + } + + domManip(self, args, callback, ignored); + }); + } + + if (l) { + fragment = buildFragment(args, collection[0].ownerDocument, false, collection, ignored); + first = fragment.firstChild; + + if (fragment.childNodes.length === 1) { + fragment = first; + } // Require either new content or an interest in ignored elements to invoke the callback + + + if (first || ignored) { + scripts = jQuery.map(getAll(fragment, "script"), disableScript); + hasScripts = scripts.length; // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + + for (; i < l; i++) { + node = fragment; + + if (i !== iNoClone) { + node = jQuery.clone(node, true, true); // Keep references to cloned scripts for later restoration + + if (hasScripts) { + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge(scripts, getAll(node, "script")); + } + } + + callback.call(collection[i], node, i); + } + + if (hasScripts) { + doc = scripts[scripts.length - 1].ownerDocument; // Reenable scripts + + jQuery.map(scripts, restoreScript); // Evaluate executable scripts on first document insertion + + for (i = 0; i < hasScripts; i++) { + node = scripts[i]; + + if (rscriptType.test(node.type || "") && !dataPriv.access(node, "globalEval") && jQuery.contains(doc, node)) { + if (node.src && (node.type || "").toLowerCase() !== "module") { + // Optional AJAX dependency, but won't run scripts if not present + if (jQuery._evalUrl && !node.noModule) { + jQuery._evalUrl(node.src, { + nonce: node.nonce || node.getAttribute("nonce") + }, doc); + } + } else { + DOMEval(node.textContent.replace(rcleanScript, ""), node, doc); + } + } + } + } + } + } + + return collection; + } + + function _remove(elem, selector, keepData) { + var node, + nodes = selector ? jQuery.filter(selector, elem) : elem, + i = 0; + + for (; (node = nodes[i]) != null; i++) { + if (!keepData && node.nodeType === 1) { + jQuery.cleanData(getAll(node)); + } + + if (node.parentNode) { + if (keepData && isAttached(node)) { + setGlobalEval(getAll(node, "script")); + } + + node.parentNode.removeChild(node); + } + } + + return elem; + } + + jQuery.extend({ + htmlPrefilter: function htmlPrefilter(html) { + return html; + }, + clone: function clone(elem, dataAndEvents, deepDataAndEvents) { + var i, + l, + srcElements, + destElements, + clone = elem.cloneNode(true), + inPage = isAttached(elem); // Fix IE cloning issues + + if (!support.noCloneChecked && (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem)) { + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll(clone); + srcElements = getAll(elem); + + for (i = 0, l = srcElements.length; i < l; i++) { + fixInput(srcElements[i], destElements[i]); + } + } // Copy the events from the original to the clone + + + if (dataAndEvents) { + if (deepDataAndEvents) { + srcElements = srcElements || getAll(elem); + destElements = destElements || getAll(clone); + + for (i = 0, l = srcElements.length; i < l; i++) { + cloneCopyEvent(srcElements[i], destElements[i]); + } + } else { + cloneCopyEvent(elem, clone); + } + } // Preserve script evaluation history + + + destElements = getAll(clone, "script"); + + if (destElements.length > 0) { + setGlobalEval(destElements, !inPage && getAll(elem, "script")); + } // Return the cloned set + + + return clone; + }, + cleanData: function cleanData(elems) { + var data, + elem, + type, + special = jQuery.event.special, + i = 0; + + for (; (elem = elems[i]) !== undefined; i++) { + if (acceptData(elem)) { + if (data = elem[dataPriv.expando]) { + if (data.events) { + for (type in data.events) { + if (special[type]) { + jQuery.event.remove(elem, type); // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent(elem, type, data.handle); + } + } + } // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + + + elem[dataPriv.expando] = undefined; + } + + if (elem[dataUser.expando]) { + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[dataUser.expando] = undefined; + } + } + } + } + }); + jQuery.fn.extend({ + detach: function detach(selector) { + return _remove(this, selector, true); + }, + remove: function remove(selector) { + return _remove(this, selector); + }, + text: function text(value) { + return access(this, function (value) { + return value === undefined ? jQuery.text(this) : this.empty().each(function () { + if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) { + this.textContent = value; + } + }); + }, null, value, arguments.length); + }, + append: function append() { + return domManip(this, arguments, function (elem) { + if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) { + var target = manipulationTarget(this, elem); + target.appendChild(elem); + } + }); + }, + prepend: function prepend() { + return domManip(this, arguments, function (elem) { + if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) { + var target = manipulationTarget(this, elem); + target.insertBefore(elem, target.firstChild); + } + }); + }, + before: function before() { + return domManip(this, arguments, function (elem) { + if (this.parentNode) { + this.parentNode.insertBefore(elem, this); + } + }); + }, + after: function after() { + return domManip(this, arguments, function (elem) { + if (this.parentNode) { + this.parentNode.insertBefore(elem, this.nextSibling); + } + }); + }, + empty: function empty() { + var elem, + i = 0; + + for (; (elem = this[i]) != null; i++) { + if (elem.nodeType === 1) { + // Prevent memory leaks + jQuery.cleanData(getAll(elem, false)); // Remove any remaining nodes + + elem.textContent = ""; + } + } + + return this; + }, + clone: function clone(dataAndEvents, deepDataAndEvents) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + return this.map(function () { + return jQuery.clone(this, dataAndEvents, deepDataAndEvents); + }); + }, + html: function html(value) { + return access(this, function (value) { + var elem = this[0] || {}, + i = 0, + l = this.length; + + if (value === undefined && elem.nodeType === 1) { + return elem.innerHTML; + } // See if we can take a shortcut and just use innerHTML + + + if (typeof value === "string" && !rnoInnerhtml.test(value) && !wrapMap[(rtagName.exec(value) || ["", ""])[1].toLowerCase()]) { + value = jQuery.htmlPrefilter(value); + + try { + for (; i < l; i++) { + elem = this[i] || {}; // Remove element nodes and prevent memory leaks + + if (elem.nodeType === 1) { + jQuery.cleanData(getAll(elem, false)); + elem.innerHTML = value; + } + } + + elem = 0; // If using innerHTML throws an exception, use the fallback method + } catch (e) {} + } + + if (elem) { + this.empty().append(value); + } + }, null, value, arguments.length); + }, + replaceWith: function replaceWith() { + var ignored = []; // Make the changes, replacing each non-ignored context element with the new content + + return domManip(this, arguments, function (elem) { + var parent = this.parentNode; + + if (jQuery.inArray(this, ignored) < 0) { + jQuery.cleanData(getAll(this)); + + if (parent) { + parent.replaceChild(elem, this); + } + } // Force callback invocation + + }, ignored); + } + }); + jQuery.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" + }, function (name, original) { + jQuery.fn[name] = function (selector) { + var elems, + ret = [], + insert = jQuery(selector), + last = insert.length - 1, + i = 0; + + for (; i <= last; i++) { + elems = i === last ? this : this.clone(true); + jQuery(insert[i])[original](elems); // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + + push.apply(ret, elems.get()); + } + + return this.pushStack(ret); + }; + }); + var rnumnonpx = new RegExp("^(" + pnum + ")(?!px)[a-z%]+$", "i"); + + var getStyles = function getStyles(elem) { + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if (!view || !view.opener) { + view = window; + } + + return view.getComputedStyle(elem); + }; + + var swap = function swap(elem, options, callback) { + var ret, + name, + old = {}; // Remember the old values, and insert the new ones + + for (name in options) { + old[name] = elem.style[name]; + elem.style[name] = options[name]; + } + + ret = callback.call(elem); // Revert the old values + + for (name in options) { + elem.style[name] = old[name]; + } + + return ret; + }; + + var rboxStyle = new RegExp(cssExpand.join("|"), "i"); + + (function () { + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + // This is a singleton, we need to execute it only once + if (!div) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + "margin-top:1px;padding:0;border:0"; + div.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + "margin:auto;border:1px;padding:1px;" + "width:60%;top:1%"; + documentElement.appendChild(container).appendChild(div); + var divStyle = window.getComputedStyle(div); + pixelPositionVal = divStyle.top !== "1%"; // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + + reliableMarginLeftVal = roundPixelMeasures(divStyle.marginLeft) === 12; // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures(divStyle.right) === 36; // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + + boxSizingReliableVal = roundPixelMeasures(divStyle.width) === 36; // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures(div.offsetWidth / 3) === 12; + documentElement.removeChild(container); // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + + div = null; + } + + function roundPixelMeasures(measure) { + return Math.round(parseFloat(measure)); + } + + var pixelPositionVal, + boxSizingReliableVal, + scrollboxSizeVal, + pixelBoxStylesVal, + reliableTrDimensionsVal, + reliableMarginLeftVal, + container = document.createElement("div"), + div = document.createElement("div"); // Finish early in limited (non-browser) environments + + if (!div.style) { + return; + } // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + + + div.style.backgroundClip = "content-box"; + div.cloneNode(true).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + jQuery.extend(support, { + boxSizingReliable: function boxSizingReliable() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function pixelBoxStyles() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function pixelPosition() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function reliableMarginLeft() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function scrollboxSize() { + computeStyleTests(); + return scrollboxSizeVal; + }, + // Support: IE 9 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Behavior in IE 9 is more subtle than in newer versions & it passes + // some versions of this test; make sure not to make it pass there! + // + // Support: Firefox 70+ + // Only Firefox includes border widths + // in computed dimensions. (gh-4529) + reliableTrDimensions: function reliableTrDimensions() { + var table, tr, trChild, trStyle; + + if (reliableTrDimensionsVal == null) { + table = document.createElement("table"); + tr = document.createElement("tr"); + trChild = document.createElement("div"); + table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; + tr.style.cssText = "border:1px solid"; // Support: Chrome 86+ + // Height set through cssText does not get applied. + // Computed height then comes back as 0. + + tr.style.height = "1px"; + trChild.style.height = "9px"; // Support: Android 8 Chrome 86+ + // In our bodyBackground.html iframe, + // display for all div elements is set to "inline", + // which causes a problem only in Android 8 Chrome 86. + // Ensuring the div is display: block + // gets around this issue. + + trChild.style.display = "block"; + documentElement.appendChild(table).appendChild(tr).appendChild(trChild); + trStyle = window.getComputedStyle(tr); + reliableTrDimensionsVal = parseInt(trStyle.height, 10) + parseInt(trStyle.borderTopWidth, 10) + parseInt(trStyle.borderBottomWidth, 10) === tr.offsetHeight; + documentElement.removeChild(table); + } + + return reliableTrDimensionsVal; + } + }); + })(); + + function curCSS(elem, name, computed) { + var width, + minWidth, + maxWidth, + ret, + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + computed = computed || getStyles(elem); // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + + if (computed) { + ret = computed.getPropertyValue(name) || computed[name]; + + if (ret === "" && !isAttached(elem)) { + ret = jQuery.style(elem, name); + } // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + + + if (!support.pixelBoxStyles() && rnumnonpx.test(ret) && rboxStyle.test(name)) { + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; // Put in the new values to get a computed value out + + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; // Revert the changed values + + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : ret; + } + + function addGetHookIf(conditionFn, hookFn) { + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function get() { + if (conditionFn()) { + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } // Hook needed; redefine it so that the support test is not executed again. + + + return (this.get = hookFn).apply(this, arguments); + } + }; + } + + var cssPrefixes = ["Webkit", "Moz", "ms"], + emptyStyle = document.createElement("div").style, + vendorProps = {}; // Return a vendor-prefixed property or undefined + + function vendorPropName(name) { + // Check for vendor prefixed names + var capName = name[0].toUpperCase() + name.slice(1), + i = cssPrefixes.length; + + while (i--) { + name = cssPrefixes[i] + capName; + + if (name in emptyStyle) { + return name; + } + } + } // Return a potentially-mapped jQuery.cssProps or vendor prefixed property + + + function finalPropName(name) { + var final = jQuery.cssProps[name] || vendorProps[name]; + + if (final) { + return final; + } + + if (name in emptyStyle) { + return name; + } + + return vendorProps[name] = vendorPropName(name) || name; + } + + var // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { + position: "absolute", + visibility: "hidden", + display: "block" + }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + + function setPositiveNumber(_elem, value, subtract) { + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec(value); + return matches ? // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max(0, matches[2] - (subtract || 0)) + (matches[3] || "px") : value; + } + + function boxModelAdjustment(elem, dimension, box, isBorderBox, styles, computedVal) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; // Adjustment may not be necessary + + if (box === (isBorderBox ? "border" : "content")) { + return 0; + } + + for (; i < 4; i += 2) { + // Both box models exclude margin + if (box === "margin") { + delta += jQuery.css(elem, box + cssExpand[i], true, styles); + } // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + + + if (!isBorderBox) { + // Add padding + delta += jQuery.css(elem, "padding" + cssExpand[i], true, styles); // For "border" or "margin", add border + + if (box !== "padding") { + delta += jQuery.css(elem, "border" + cssExpand[i] + "Width", true, styles); // But still keep track of it otherwise + } else { + extra += jQuery.css(elem, "border" + cssExpand[i] + "Width", true, styles); + } // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + + } else { + // For "content", subtract padding + if (box === "content") { + delta -= jQuery.css(elem, "padding" + cssExpand[i], true, styles); + } // For "content" or "padding", subtract border + + + if (box !== "margin") { + delta -= jQuery.css(elem, "border" + cssExpand[i] + "Width", true, styles); + } + } + } // Account for positive content-box scroll gutter when requested by providing computedVal + + + if (!isBorderBox && computedVal >= 0) { + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max(0, Math.ceil(elem["offset" + dimension[0].toUpperCase() + dimension.slice(1)] - computedVal - delta - extra - 0.5 // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + )) || 0; + } + + return delta; + } + + function getWidthOrHeight(elem, dimension, extra) { + // Start with computed style + var styles = getStyles(elem), + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && jQuery.css(elem, "boxSizing", false, styles) === "border-box", + valueIsBorderBox = isBorderBox, + val = curCSS(elem, dimension, styles), + offsetProp = "offset" + dimension[0].toUpperCase() + dimension.slice(1); // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + + if (rnumnonpx.test(val)) { + if (!extra) { + return val; + } + + val = "auto"; + } // Support: IE 9 - 11 only + // Use offsetWidth/offsetHeight for when box sizing is unreliable. + // In those cases, the computed value can be trusted to be border-box. + + + if ((!support.boxSizingReliable() && isBorderBox || // Support: IE 10 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Interestingly, in some cases IE 9 doesn't suffer from this issue. + !support.reliableTrDimensions() && nodeName(elem, "tr") || // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + val === "auto" || // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + !parseFloat(val) && jQuery.css(elem, "display", false, styles) === "inline") && // Make sure the element is visible & connected + elem.getClientRects().length) { + isBorderBox = jQuery.css(elem, "boxSizing", false, styles) === "border-box"; // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + + valueIsBorderBox = offsetProp in elem; + + if (valueIsBorderBox) { + val = elem[offsetProp]; + } + } // Normalize "" and auto + + + val = parseFloat(val) || 0; // Adjust for the element's box model + + return val + boxModelAdjustment(elem, dimension, extra || (isBorderBox ? "border" : "content"), valueIsBorderBox, styles, // Provide the current computed size to request scroll gutter calculation (gh-3589) + val) + "px"; + } + + jQuery.extend({ + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function get(elem, computed) { + if (computed) { + // We should always get a number back from opacity + var ret = curCSS(elem, "opacity"); + return ret === "" ? "1" : ret; + } + } + } + }, + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + // Get and set the style property on a DOM Node + style: function style(elem, name, value, extra) { + // Don't set styles on text and comment nodes + if (!elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style) { + return; + } // Make sure that we're working with the right name + + + var ret, + type, + hooks, + origName = camelCase(name), + isCustomProp = rcustomProp.test(name), + style = elem.style; // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + + if (!isCustomProp) { + name = finalPropName(origName); + } // Gets hook for the prefixed version, then unprefixed version + + + hooks = jQuery.cssHooks[name] || jQuery.cssHooks[origName]; // Check if we're setting a value + + if (value !== undefined) { + type = _typeof(value); // Convert "+=" or "-=" to relative numbers (#7345) + + if (type === "string" && (ret = rcssNum.exec(value)) && ret[1]) { + value = adjustCSS(elem, name, ret); // Fixes bug #9237 + + type = "number"; + } // Make sure that null and NaN values aren't set (#7116) + + + if (value == null || value !== value) { + return; + } // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + + + if (type === "number" && !isCustomProp) { + value += ret && ret[3] || (jQuery.cssNumber[origName] ? "" : "px"); + } // background-* props affect original clone's values + + + if (!support.clearCloneStyle && value === "" && name.indexOf("background") === 0) { + style[name] = "inherit"; + } // If a hook was provided, use that value, otherwise just set the specified value + + + if (!hooks || !("set" in hooks) || (value = hooks.set(elem, value, extra)) !== undefined) { + if (isCustomProp) { + style.setProperty(name, value); + } else { + style[name] = value; + } + } + } else { + // If a hook was provided get the non-computed value from there + if (hooks && "get" in hooks && (ret = hooks.get(elem, false, extra)) !== undefined) { + return ret; + } // Otherwise just get the value from the style object + + + return style[name]; + } + }, + css: function css(elem, name, extra, styles) { + var val, + num, + hooks, + origName = camelCase(name), + isCustomProp = rcustomProp.test(name); // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + + if (!isCustomProp) { + name = finalPropName(origName); + } // Try prefixed name followed by the unprefixed name + + + hooks = jQuery.cssHooks[name] || jQuery.cssHooks[origName]; // If a hook was provided get the computed value from there + + if (hooks && "get" in hooks) { + val = hooks.get(elem, true, extra); + } // Otherwise, if a way to get the computed value exists, use that + + + if (val === undefined) { + val = curCSS(elem, name, styles); + } // Convert "normal" to computed value + + + if (val === "normal" && name in cssNormalTransform) { + val = cssNormalTransform[name]; + } // Make numeric if forced or a qualifier was provided and val looks numeric + + + if (extra === "" || extra) { + num = parseFloat(val); + return extra === true || isFinite(num) ? num || 0 : val; + } + + return val; + } + }); + jQuery.each(["height", "width"], function (_i, dimension) { + jQuery.cssHooks[dimension] = { + get: function get(elem, computed, extra) { + if (computed) { + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test(jQuery.css(elem, "display")) && ( // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + !elem.getClientRects().length || !elem.getBoundingClientRect().width) ? swap(elem, cssShow, function () { + return getWidthOrHeight(elem, dimension, extra); + }) : getWidthOrHeight(elem, dimension, extra); + } + }, + set: function set(elem, value, extra) { + var matches, + styles = getStyles(elem), + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && styles.position === "absolute", + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && jQuery.css(elem, "boxSizing", false, styles) === "border-box", + subtract = extra ? boxModelAdjustment(elem, dimension, extra, isBorderBox, styles) : 0; // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + + if (isBorderBox && scrollboxSizeBuggy) { + subtract -= Math.ceil(elem["offset" + dimension[0].toUpperCase() + dimension.slice(1)] - parseFloat(styles[dimension]) - boxModelAdjustment(elem, dimension, "border", false, styles) - 0.5); + } // Convert to pixels if value adjustment is needed + + + if (subtract && (matches = rcssNum.exec(value)) && (matches[3] || "px") !== "px") { + elem.style[dimension] = value; + value = jQuery.css(elem, dimension); + } + + return setPositiveNumber(elem, value, subtract); + } + }; + }); + jQuery.cssHooks.marginLeft = addGetHookIf(support.reliableMarginLeft, function (elem, computed) { + if (computed) { + return (parseFloat(curCSS(elem, "marginLeft")) || elem.getBoundingClientRect().left - swap(elem, { + marginLeft: 0 + }, function () { + return elem.getBoundingClientRect().left; + })) + "px"; + } + }); // These hooks are used by animate to expand properties + + jQuery.each({ + margin: "", + padding: "", + border: "Width" + }, function (prefix, suffix) { + jQuery.cssHooks[prefix + suffix] = { + expand: function expand(value) { + var i = 0, + expanded = {}, + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split(" ") : [value]; + + for (; i < 4; i++) { + expanded[prefix + cssExpand[i] + suffix] = parts[i] || parts[i - 2] || parts[0]; + } + + return expanded; + } + }; + + if (prefix !== "margin") { + jQuery.cssHooks[prefix + suffix].set = setPositiveNumber; + } + }); + jQuery.fn.extend({ + css: function css(name, value) { + return access(this, function (elem, name, value) { + var styles, + len, + map = {}, + i = 0; + + if (Array.isArray(name)) { + styles = getStyles(elem); + len = name.length; + + for (; i < len; i++) { + map[name[i]] = jQuery.css(elem, name[i], false, styles); + } + + return map; + } + + return value !== undefined ? jQuery.style(elem, name, value) : jQuery.css(elem, name); + }, name, value, arguments.length > 1); + } + }); + + function Tween(elem, options, prop, end, easing) { + return new Tween.prototype.init(elem, options, prop, end, easing); + } + + jQuery.Tween = Tween; + Tween.prototype = { + constructor: Tween, + init: function init(elem, options, prop, end, easing, unit) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || (jQuery.cssNumber[prop] ? "" : "px"); + }, + cur: function cur() { + var hooks = Tween.propHooks[this.prop]; + return hooks && hooks.get ? hooks.get(this) : Tween.propHooks._default.get(this); + }, + run: function run(percent) { + var eased, + hooks = Tween.propHooks[this.prop]; + + if (this.options.duration) { + this.pos = eased = jQuery.easing[this.easing](percent, this.options.duration * percent, 0, 1, this.options.duration); + } else { + this.pos = eased = percent; + } + + this.now = (this.end - this.start) * eased + this.start; + + if (this.options.step) { + this.options.step.call(this.elem, this.now, this); + } + + if (hooks && hooks.set) { + hooks.set(this); + } else { + Tween.propHooks._default.set(this); + } + + return this; + } + }; + Tween.prototype.init.prototype = Tween.prototype; + Tween.propHooks = { + _default: { + get: function get(tween) { + var result; // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + + if (tween.elem.nodeType !== 1 || tween.elem[tween.prop] != null && tween.elem.style[tween.prop] == null) { + return tween.elem[tween.prop]; + } // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + + + result = jQuery.css(tween.elem, tween.prop, ""); // Empty strings, null, undefined and "auto" are converted to 0. + + return !result || result === "auto" ? 0 : result; + }, + set: function set(tween) { + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if (jQuery.fx.step[tween.prop]) { + jQuery.fx.step[tween.prop](tween); + } else if (tween.elem.nodeType === 1 && (jQuery.cssHooks[tween.prop] || tween.elem.style[finalPropName(tween.prop)] != null)) { + jQuery.style(tween.elem, tween.prop, tween.now + tween.unit); + } else { + tween.elem[tween.prop] = tween.now; + } + } + } + }; // Support: IE <=9 only + // Panic based approach to setting things on disconnected nodes + + Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function set(tween) { + if (tween.elem.nodeType && tween.elem.parentNode) { + tween.elem[tween.prop] = tween.now; + } + } + }; + jQuery.easing = { + linear: function linear(p) { + return p; + }, + swing: function swing(p) { + return 0.5 - Math.cos(p * Math.PI) / 2; + }, + _default: "swing" + }; + jQuery.fx = Tween.prototype.init; // Back compat <1.8 extension point + + jQuery.fx.step = {}; + var fxNow, + inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + + function schedule() { + if (inProgress) { + if (document.hidden === false && window.requestAnimationFrame) { + window.requestAnimationFrame(schedule); + } else { + window.setTimeout(schedule, jQuery.fx.interval); + } + + jQuery.fx.tick(); + } + } // Animations created synchronously will run synchronously + + + function createFxNow() { + window.setTimeout(function () { + fxNow = undefined; + }); + return fxNow = Date.now(); + } // Generate parameters to create a standard animation + + + function genFx(type, includeWidth) { + var which, + i = 0, + attrs = { + height: type + }; // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + + includeWidth = includeWidth ? 1 : 0; + + for (; i < 4; i += 2 - includeWidth) { + which = cssExpand[i]; + attrs["margin" + which] = attrs["padding" + which] = type; + } + + if (includeWidth) { + attrs.opacity = attrs.width = type; + } + + return attrs; + } + + function createTween(value, prop, animation) { + var tween, + collection = (Animation.tweeners[prop] || []).concat(Animation.tweeners["*"]), + index = 0, + length = collection.length; + + for (; index < length; index++) { + if (tween = collection[index].call(animation, prop, value)) { + // We're done with this property + return tween; + } + } + } + + function defaultPrefilter(elem, props, opts) { + var prop, + value, + toggle, + hooks, + oldfire, + propTween, + restoreDisplay, + display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree(elem), + dataShow = dataPriv.get(elem, "fxshow"); // Queue-skipping animations hijack the fx hooks + + if (!opts.queue) { + hooks = jQuery._queueHooks(elem, "fx"); + + if (hooks.unqueued == null) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + + hooks.empty.fire = function () { + if (!hooks.unqueued) { + oldfire(); + } + }; + } + + hooks.unqueued++; + anim.always(function () { + // Ensure the complete handler is called before this completes + anim.always(function () { + hooks.unqueued--; + + if (!jQuery.queue(elem, "fx").length) { + hooks.empty.fire(); + } + }); + }); + } // Detect show/hide animations + + + for (prop in props) { + value = props[prop]; + + if (rfxtypes.test(value)) { + delete props[prop]; + toggle = toggle || value === "toggle"; + + if (value === (hidden ? "hide" : "show")) { + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if (value === "show" && dataShow && dataShow[prop] !== undefined) { + hidden = true; // Ignore all other no-op show/hide data + } else { + continue; + } + } + + orig[prop] = dataShow && dataShow[prop] || jQuery.style(elem, prop); + } + } // Bail out if this is a no-op like .hide().hide() + + + propTween = !jQuery.isEmptyObject(props); + + if (!propTween && jQuery.isEmptyObject(orig)) { + return; + } // Restrict "overflow" and "display" styles during box animations + + + if (isBox && elem.nodeType === 1) { + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [style.overflow, style.overflowX, style.overflowY]; // Identify a display type, preferring old show/hide data over the CSS cascade + + restoreDisplay = dataShow && dataShow.display; + + if (restoreDisplay == null) { + restoreDisplay = dataPriv.get(elem, "display"); + } + + display = jQuery.css(elem, "display"); + + if (display === "none") { + if (restoreDisplay) { + display = restoreDisplay; + } else { + // Get nonempty value(s) by temporarily forcing visibility + showHide([elem], true); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css(elem, "display"); + showHide([elem]); + } + } // Animate inline elements as inline-block + + + if (display === "inline" || display === "inline-block" && restoreDisplay != null) { + if (jQuery.css(elem, "float") === "none") { + // Restore the original display value at the end of pure show/hide animations + if (!propTween) { + anim.done(function () { + style.display = restoreDisplay; + }); + + if (restoreDisplay == null) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + + style.display = "inline-block"; + } + } + } + + if (opts.overflow) { + style.overflow = "hidden"; + anim.always(function () { + style.overflow = opts.overflow[0]; + style.overflowX = opts.overflow[1]; + style.overflowY = opts.overflow[2]; + }); + } // Implement show/hide animations + + + propTween = false; + + for (prop in orig) { + // General show/hide setup for this element animation + if (!propTween) { + if (dataShow) { + if ("hidden" in dataShow) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access(elem, "fxshow", { + display: restoreDisplay + }); + } // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + + + if (toggle) { + dataShow.hidden = !hidden; + } // Show elements before animating them + + + if (hidden) { + showHide([elem], true); + } + /* eslint-disable no-loop-func */ + + + anim.done(function () { + /* eslint-enable no-loop-func */ + // The final step of a "hide" animation is actually hiding the element + if (!hidden) { + showHide([elem]); + } + + dataPriv.remove(elem, "fxshow"); + + for (prop in orig) { + jQuery.style(elem, prop, orig[prop]); + } + }); + } // Per-property setup + + + propTween = createTween(hidden ? dataShow[prop] : 0, prop, anim); + + if (!(prop in dataShow)) { + dataShow[prop] = propTween.start; + + if (hidden) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } + } + + function propFilter(props, specialEasing) { + var index, name, easing, value, hooks; // camelCase, specialEasing and expand cssHook pass + + for (index in props) { + name = camelCase(index); + easing = specialEasing[name]; + value = props[index]; + + if (Array.isArray(value)) { + easing = value[1]; + value = props[index] = value[0]; + } + + if (index !== name) { + props[name] = value; + delete props[index]; + } + + hooks = jQuery.cssHooks[name]; + + if (hooks && "expand" in hooks) { + value = hooks.expand(value); + delete props[name]; // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + + for (index in value) { + if (!(index in props)) { + props[index] = value[index]; + specialEasing[index] = easing; + } + } + } else { + specialEasing[name] = easing; + } + } + } + + function Animation(elem, properties, options) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always(function () { + // Don't match elem in the :animated selector + delete tick.elem; + }), + tick = function tick() { + if (stopped) { + return false; + } + + var currentTime = fxNow || createFxNow(), + remaining = Math.max(0, animation.startTime + animation.duration - currentTime), + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for (; index < length; index++) { + animation.tweens[index].run(percent); + } + + deferred.notifyWith(elem, [animation, percent, remaining]); // If there's more to do, yield + + if (percent < 1 && length) { + return remaining; + } // If this was an empty animation, synthesize a final progress notification + + + if (!length) { + deferred.notifyWith(elem, [animation, 1, 0]); + } // Resolve the animation and report its conclusion + + + deferred.resolveWith(elem, [animation]); + return false; + }, + animation = deferred.promise({ + elem: elem, + props: jQuery.extend({}, properties), + opts: jQuery.extend(true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function createTween(prop, end) { + var tween = jQuery.Tween(elem, animation.opts, prop, end, animation.opts.specialEasing[prop] || animation.opts.easing); + animation.tweens.push(tween); + return tween; + }, + stop: function stop(gotoEnd) { + var index = 0, + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + + if (stopped) { + return this; + } + + stopped = true; + + for (; index < length; index++) { + animation.tweens[index].run(1); + } // Resolve when we played the last frame; otherwise, reject + + + if (gotoEnd) { + deferred.notifyWith(elem, [animation, 1, 0]); + deferred.resolveWith(elem, [animation, gotoEnd]); + } else { + deferred.rejectWith(elem, [animation, gotoEnd]); + } + + return this; + } + }), + props = animation.props; + + propFilter(props, animation.opts.specialEasing); + + for (; index < length; index++) { + result = Animation.prefilters[index].call(animation, elem, props, animation.opts); + + if (result) { + if (isFunction(result.stop)) { + jQuery._queueHooks(animation.elem, animation.opts.queue).stop = result.stop.bind(result); + } + + return result; + } + } + + jQuery.map(props, createTween, animation); + + if (isFunction(animation.opts.start)) { + animation.opts.start.call(elem, animation); + } // Attach callbacks from options + + + animation.progress(animation.opts.progress).done(animation.opts.done, animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always); + jQuery.fx.timer(jQuery.extend(tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + })); + return animation; + } + + jQuery.Animation = jQuery.extend(Animation, { + tweeners: { + "*": [function (prop, value) { + var tween = this.createTween(prop, value); + adjustCSS(tween.elem, prop, rcssNum.exec(value), tween); + return tween; + }] + }, + tweener: function tweener(props, callback) { + if (isFunction(props)) { + callback = props; + props = ["*"]; + } else { + props = props.match(rnothtmlwhite); + } + + var prop, + index = 0, + length = props.length; + + for (; index < length; index++) { + prop = props[index]; + Animation.tweeners[prop] = Animation.tweeners[prop] || []; + Animation.tweeners[prop].unshift(callback); + } + }, + prefilters: [defaultPrefilter], + prefilter: function prefilter(callback, prepend) { + if (prepend) { + Animation.prefilters.unshift(callback); + } else { + Animation.prefilters.push(callback); + } + } + }); + + jQuery.speed = function (speed, easing, fn) { + var opt = speed && _typeof(speed) === "object" ? jQuery.extend({}, speed) : { + complete: fn || !fn && easing || isFunction(speed) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction(easing) && easing + }; // Go to the end state if fx are off + + if (jQuery.fx.off) { + opt.duration = 0; + } else { + if (typeof opt.duration !== "number") { + if (opt.duration in jQuery.fx.speeds) { + opt.duration = jQuery.fx.speeds[opt.duration]; + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } // Normalize opt.queue - true/undefined/null -> "fx" + + + if (opt.queue == null || opt.queue === true) { + opt.queue = "fx"; + } // Queueing + + + opt.old = opt.complete; + + opt.complete = function () { + if (isFunction(opt.old)) { + opt.old.call(this); + } + + if (opt.queue) { + jQuery.dequeue(this, opt.queue); + } + }; + + return opt; + }; + + jQuery.fn.extend({ + fadeTo: function fadeTo(speed, to, easing, callback) { + // Show any hidden elements after setting opacity to 0 + return this.filter(isHiddenWithinTree).css("opacity", 0).show() // Animate to the value specified + .end().animate({ + opacity: to + }, speed, easing, callback); + }, + animate: function animate(prop, speed, easing, callback) { + var empty = jQuery.isEmptyObject(prop), + optall = jQuery.speed(speed, easing, callback), + doAnimation = function doAnimation() { + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation(this, jQuery.extend({}, prop), optall); // Empty animations, or finishing resolves immediately + + if (empty || dataPriv.get(this, "finish")) { + anim.stop(true); + } + }; + + doAnimation.finish = doAnimation; + return empty || optall.queue === false ? this.each(doAnimation) : this.queue(optall.queue, doAnimation); + }, + stop: function stop(type, clearQueue, gotoEnd) { + var stopQueue = function stopQueue(hooks) { + var stop = hooks.stop; + delete hooks.stop; + stop(gotoEnd); + }; + + if (typeof type !== "string") { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + + if (clearQueue) { + this.queue(type || "fx", []); + } + + return this.each(function () { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get(this); + + if (index) { + if (data[index] && data[index].stop) { + stopQueue(data[index]); + } + } else { + for (index in data) { + if (data[index] && data[index].stop && rrun.test(index)) { + stopQueue(data[index]); + } + } + } + + for (index = timers.length; index--;) { + if (timers[index].elem === this && (type == null || timers[index].queue === type)) { + timers[index].anim.stop(gotoEnd); + dequeue = false; + timers.splice(index, 1); + } + } // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + + + if (dequeue || !gotoEnd) { + jQuery.dequeue(this, type); + } + }); + }, + finish: function finish(type) { + if (type !== false) { + type = type || "fx"; + } + + return this.each(function () { + var index, + data = dataPriv.get(this), + queue = data[type + "queue"], + hooks = data[type + "queueHooks"], + timers = jQuery.timers, + length = queue ? queue.length : 0; // Enable finishing flag on private data + + data.finish = true; // Empty the queue first + + jQuery.queue(this, type, []); + + if (hooks && hooks.stop) { + hooks.stop.call(this, true); + } // Look for any active animations, and finish them + + + for (index = timers.length; index--;) { + if (timers[index].elem === this && timers[index].queue === type) { + timers[index].anim.stop(true); + timers.splice(index, 1); + } + } // Look for any animations in the old queue and finish them + + + for (index = 0; index < length; index++) { + if (queue[index] && queue[index].finish) { + queue[index].finish.call(this); + } + } // Turn off finishing flag + + + delete data.finish; + }); + } + }); + jQuery.each(["toggle", "show", "hide"], function (_i, name) { + var cssFn = jQuery.fn[name]; + + jQuery.fn[name] = function (speed, easing, callback) { + return speed == null || typeof speed === "boolean" ? cssFn.apply(this, arguments) : this.animate(genFx(name, true), speed, easing, callback); + }; + }); // Generate shortcuts for custom animations + + jQuery.each({ + slideDown: genFx("show"), + slideUp: genFx("hide"), + slideToggle: genFx("toggle"), + fadeIn: { + opacity: "show" + }, + fadeOut: { + opacity: "hide" + }, + fadeToggle: { + opacity: "toggle" + } + }, function (name, props) { + jQuery.fn[name] = function (speed, easing, callback) { + return this.animate(props, speed, easing, callback); + }; + }); + jQuery.timers = []; + + jQuery.fx.tick = function () { + var timer, + i = 0, + timers = jQuery.timers; + fxNow = Date.now(); + + for (; i < timers.length; i++) { + timer = timers[i]; // Run the timer and safely remove it when done (allowing for external removal) + + if (!timer() && timers[i] === timer) { + timers.splice(i--, 1); + } + } + + if (!timers.length) { + jQuery.fx.stop(); + } + + fxNow = undefined; + }; + + jQuery.fx.timer = function (timer) { + jQuery.timers.push(timer); + jQuery.fx.start(); + }; + + jQuery.fx.interval = 13; + + jQuery.fx.start = function () { + if (inProgress) { + return; + } + + inProgress = true; + schedule(); + }; + + jQuery.fx.stop = function () { + inProgress = null; + }; + + jQuery.fx.speeds = { + slow: 600, + fast: 200, + // Default speed + _default: 400 + }; // Based off of the plugin by Clint Helfers, with permission. + // https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ + + jQuery.fn.delay = function (time, type) { + time = jQuery.fx ? jQuery.fx.speeds[time] || time : time; + type = type || "fx"; + return this.queue(type, function (next, hooks) { + var timeout = window.setTimeout(next, time); + + hooks.stop = function () { + window.clearTimeout(timeout); + }; + }); + }; + + (function () { + var input = document.createElement("input"), + select = document.createElement("select"), + opt = select.appendChild(document.createElement("option")); + input.type = "checkbox"; // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + + support.checkOn = input.value !== ""; // Support: IE <=11 only + // Must access selectedIndex to make default options select + + support.optSelected = opt.selected; // Support: IE <=11 only + // An input loses its value after becoming a radio + + input = document.createElement("input"); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; + })(); + + var boolHook, + attrHandle = jQuery.expr.attrHandle; + jQuery.fn.extend({ + attr: function attr(name, value) { + return access(this, jQuery.attr, name, value, arguments.length > 1); + }, + removeAttr: function removeAttr(name) { + return this.each(function () { + jQuery.removeAttr(this, name); + }); + } + }); + jQuery.extend({ + attr: function attr(elem, name, value) { + var ret, + hooks, + nType = elem.nodeType; // Don't get/set attributes on text, comment and attribute nodes + + if (nType === 3 || nType === 8 || nType === 2) { + return; + } // Fallback to prop when attributes are not supported + + + if (typeof elem.getAttribute === "undefined") { + return jQuery.prop(elem, name, value); + } // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + + + if (nType !== 1 || !jQuery.isXMLDoc(elem)) { + hooks = jQuery.attrHooks[name.toLowerCase()] || (jQuery.expr.match.bool.test(name) ? boolHook : undefined); + } + + if (value !== undefined) { + if (value === null) { + jQuery.removeAttr(elem, name); + return; + } + + if (hooks && "set" in hooks && (ret = hooks.set(elem, value, name)) !== undefined) { + return ret; + } + + elem.setAttribute(name, value + ""); + return value; + } + + if (hooks && "get" in hooks && (ret = hooks.get(elem, name)) !== null) { + return ret; + } + + ret = jQuery.find.attr(elem, name); // Non-existent attributes return null, we normalize to undefined + + return ret == null ? undefined : ret; + }, + attrHooks: { + type: { + set: function set(elem, value) { + if (!support.radioValue && value === "radio" && nodeName(elem, "input")) { + var val = elem.value; + elem.setAttribute("type", value); + + if (val) { + elem.value = val; + } + + return value; + } + } + } + }, + removeAttr: function removeAttr(elem, value) { + var name, + i = 0, + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match(rnothtmlwhite); + + if (attrNames && elem.nodeType === 1) { + while (name = attrNames[i++]) { + elem.removeAttribute(name); + } + } + } + }); // Hooks for boolean attributes + + boolHook = { + set: function set(elem, value, name) { + if (value === false) { + // Remove boolean attributes when set to false + jQuery.removeAttr(elem, name); + } else { + elem.setAttribute(name, name); + } + + return name; + } + }; + jQuery.each(jQuery.expr.match.bool.source.match(/\w+/g), function (_i, name) { + var getter = attrHandle[name] || jQuery.find.attr; + + attrHandle[name] = function (elem, name, isXML) { + var ret, + handle, + lowercaseName = name.toLowerCase(); + + if (!isXML) { + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[lowercaseName]; + attrHandle[lowercaseName] = ret; + ret = getter(elem, name, isXML) != null ? lowercaseName : null; + attrHandle[lowercaseName] = handle; + } + + return ret; + }; + }); + var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + jQuery.fn.extend({ + prop: function prop(name, value) { + return access(this, jQuery.prop, name, value, arguments.length > 1); + }, + removeProp: function removeProp(name) { + return this.each(function () { + delete this[jQuery.propFix[name] || name]; + }); + } + }); + jQuery.extend({ + prop: function prop(elem, name, value) { + var ret, + hooks, + nType = elem.nodeType; // Don't get/set properties on text, comment and attribute nodes + + if (nType === 3 || nType === 8 || nType === 2) { + return; + } + + if (nType !== 1 || !jQuery.isXMLDoc(elem)) { + // Fix name and attach hooks + name = jQuery.propFix[name] || name; + hooks = jQuery.propHooks[name]; + } + + if (value !== undefined) { + if (hooks && "set" in hooks && (ret = hooks.set(elem, value, name)) !== undefined) { + return ret; + } + + return elem[name] = value; + } + + if (hooks && "get" in hooks && (ret = hooks.get(elem, name)) !== null) { + return ret; + } + + return elem[name]; + }, + propHooks: { + tabIndex: { + get: function get(elem) { + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr(elem, "tabindex"); + + if (tabindex) { + return parseInt(tabindex, 10); + } + + if (rfocusable.test(elem.nodeName) || rclickable.test(elem.nodeName) && elem.href) { + return 0; + } + + return -1; + } + } + }, + propFix: { + "for": "htmlFor", + "class": "className" + } + }); // Support: IE <=11 only + // Accessing the selectedIndex property + // forces the browser to respect setting selected + // on the option + // The getter ensures a default option is selected + // when in an optgroup + // eslint rule "no-unused-expressions" is disabled for this code + // since it considers such accessions noop + + if (!support.optSelected) { + jQuery.propHooks.selected = { + get: function get(elem) { + /* eslint no-unused-expressions: "off" */ + var parent = elem.parentNode; + + if (parent && parent.parentNode) { + parent.parentNode.selectedIndex; + } + + return null; + }, + set: function set(elem) { + /* eslint no-unused-expressions: "off" */ + var parent = elem.parentNode; + + if (parent) { + parent.selectedIndex; + + if (parent.parentNode) { + parent.parentNode.selectedIndex; + } + } + } + }; + } + + jQuery.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () { + jQuery.propFix[this.toLowerCase()] = this; + }); // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + + function stripAndCollapse(value) { + var tokens = value.match(rnothtmlwhite) || []; + return tokens.join(" "); + } + + function getClass(elem) { + return elem.getAttribute && elem.getAttribute("class") || ""; + } + + function classesToArray(value) { + if (Array.isArray(value)) { + return value; + } + + if (typeof value === "string") { + return value.match(rnothtmlwhite) || []; + } + + return []; + } + + jQuery.fn.extend({ + addClass: function addClass(value) { + var classes, + elem, + cur, + curValue, + clazz, + j, + finalValue, + i = 0; + + if (isFunction(value)) { + return this.each(function (j) { + jQuery(this).addClass(value.call(this, j, getClass(this))); + }); + } + + classes = classesToArray(value); + + if (classes.length) { + while (elem = this[i++]) { + curValue = getClass(elem); + cur = elem.nodeType === 1 && " " + stripAndCollapse(curValue) + " "; + + if (cur) { + j = 0; + + while (clazz = classes[j++]) { + if (cur.indexOf(" " + clazz + " ") < 0) { + cur += clazz + " "; + } + } // Only assign if different to avoid unneeded rendering. + + + finalValue = stripAndCollapse(cur); + + if (curValue !== finalValue) { + elem.setAttribute("class", finalValue); + } + } + } + } + + return this; + }, + removeClass: function removeClass(value) { + var classes, + elem, + cur, + curValue, + clazz, + j, + finalValue, + i = 0; + + if (isFunction(value)) { + return this.each(function (j) { + jQuery(this).removeClass(value.call(this, j, getClass(this))); + }); + } + + if (!arguments.length) { + return this.attr("class", ""); + } + + classes = classesToArray(value); + + if (classes.length) { + while (elem = this[i++]) { + curValue = getClass(elem); // This expression is here for better compressibility (see addClass) + + cur = elem.nodeType === 1 && " " + stripAndCollapse(curValue) + " "; + + if (cur) { + j = 0; + + while (clazz = classes[j++]) { + // Remove *all* instances + while (cur.indexOf(" " + clazz + " ") > -1) { + cur = cur.replace(" " + clazz + " ", " "); + } + } // Only assign if different to avoid unneeded rendering. + + + finalValue = stripAndCollapse(cur); + + if (curValue !== finalValue) { + elem.setAttribute("class", finalValue); + } + } + } + } + + return this; + }, + toggleClass: function toggleClass(value, stateVal) { + var type = _typeof(value), + isValidValue = type === "string" || Array.isArray(value); + + if (typeof stateVal === "boolean" && isValidValue) { + return stateVal ? this.addClass(value) : this.removeClass(value); + } + + if (isFunction(value)) { + return this.each(function (i) { + jQuery(this).toggleClass(value.call(this, i, getClass(this), stateVal), stateVal); + }); + } + + return this.each(function () { + var className, i, self, classNames; + + if (isValidValue) { + // Toggle individual class names + i = 0; + self = jQuery(this); + classNames = classesToArray(value); + + while (className = classNames[i++]) { + // Check each className given, space separated list + if (self.hasClass(className)) { + self.removeClass(className); + } else { + self.addClass(className); + } + } // Toggle whole class name + + } else if (value === undefined || type === "boolean") { + className = getClass(this); + + if (className) { + // Store className if set + dataPriv.set(this, "__className__", className); + } // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + + + if (this.setAttribute) { + this.setAttribute("class", className || value === false ? "" : dataPriv.get(this, "__className__") || ""); + } + } + }); + }, + hasClass: function hasClass(selector) { + var className, + elem, + i = 0; + className = " " + selector + " "; + + while (elem = this[i++]) { + if (elem.nodeType === 1 && (" " + stripAndCollapse(getClass(elem)) + " ").indexOf(className) > -1) { + return true; + } + } + + return false; + } + }); + var rreturn = /\r/g; + jQuery.fn.extend({ + val: function val(value) { + var hooks, + ret, + valueIsFunction, + elem = this[0]; + + if (!arguments.length) { + if (elem) { + hooks = jQuery.valHooks[elem.type] || jQuery.valHooks[elem.nodeName.toLowerCase()]; + + if (hooks && "get" in hooks && (ret = hooks.get(elem, "value")) !== undefined) { + return ret; + } + + ret = elem.value; // Handle most common string cases + + if (typeof ret === "string") { + return ret.replace(rreturn, ""); + } // Handle cases where value is null/undef or number + + + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction(value); + return this.each(function (i) { + var val; + + if (this.nodeType !== 1) { + return; + } + + if (valueIsFunction) { + val = value.call(this, i, jQuery(this).val()); + } else { + val = value; + } // Treat null/undefined as ""; convert numbers to string + + + if (val == null) { + val = ""; + } else if (typeof val === "number") { + val += ""; + } else if (Array.isArray(val)) { + val = jQuery.map(val, function (value) { + return value == null ? "" : value + ""; + }); + } + + hooks = jQuery.valHooks[this.type] || jQuery.valHooks[this.nodeName.toLowerCase()]; // If set returns undefined, fall back to normal setting + + if (!hooks || !("set" in hooks) || hooks.set(this, val, "value") === undefined) { + this.value = val; + } + }); + } + }); + jQuery.extend({ + valHooks: { + option: { + get: function get(elem) { + var val = jQuery.find.attr(elem, "value"); + return val != null ? val : // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse(jQuery.text(elem)); + } + }, + select: { + get: function get(elem) { + var value, + option, + i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if (index < 0) { + i = max; + } else { + i = one ? index : 0; + } // Loop through all the selected options + + + for (; i < max; i++) { + option = options[i]; // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + + if ((option.selected || i === index) && // Don't return options that are disabled or in a disabled optgroup + !option.disabled && (!option.parentNode.disabled || !nodeName(option.parentNode, "optgroup"))) { + // Get the specific value for the option + value = jQuery(option).val(); // We don't need an array for one selects + + if (one) { + return value; + } // Multi-Selects return an array + + + values.push(value); + } + } + + return values; + }, + set: function set(elem, value) { + var optionSet, + option, + options = elem.options, + values = jQuery.makeArray(value), + i = options.length; + + while (i--) { + option = options[i]; + /* eslint-disable no-cond-assign */ + + if (option.selected = jQuery.inArray(jQuery.valHooks.option.get(option), values) > -1) { + optionSet = true; + } + /* eslint-enable no-cond-assign */ + + } // Force browsers to behave consistently when non-matching value is set + + + if (!optionSet) { + elem.selectedIndex = -1; + } + + return values; + } + } + } + }); // Radios and checkboxes getter/setter + + jQuery.each(["radio", "checkbox"], function () { + jQuery.valHooks[this] = { + set: function set(elem, value) { + if (Array.isArray(value)) { + return elem.checked = jQuery.inArray(jQuery(elem).val(), value) > -1; + } + } + }; + + if (!support.checkOn) { + jQuery.valHooks[this].get = function (elem) { + return elem.getAttribute("value") === null ? "on" : elem.value; + }; + } + }); // Return jQuery for attributes-only inclusion + + support.focusin = "onfocusin" in window; + + var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function stopPropagationCallback(e) { + e.stopPropagation(); + }; + + jQuery.extend(jQuery.event, { + trigger: function trigger(event, data, elem, onlyHandlers) { + var i, + cur, + tmp, + bubbleType, + ontype, + handle, + special, + lastElement, + eventPath = [elem || document], + type = hasOwn.call(event, "type") ? event.type : event, + namespaces = hasOwn.call(event, "namespace") ? event.namespace.split(".") : []; + cur = lastElement = tmp = elem = elem || document; // Don't do events on text and comment nodes + + if (elem.nodeType === 3 || elem.nodeType === 8) { + return; + } // focus/blur morphs to focusin/out; ensure we're not firing them right now + + + if (rfocusMorph.test(type + jQuery.event.triggered)) { + return; + } + + if (type.indexOf(".") > -1) { + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } + + ontype = type.indexOf(":") < 0 && "on" + type; // Caller can pass in a jQuery.Event object, Object, or just an event type string + + event = event[jQuery.expando] ? event : new jQuery.Event(type, _typeof(event) === "object" && event); // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join("."); + event.rnamespace = event.namespace ? new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)") : null; // Clean up the event in case it is being reused + + event.result = undefined; + + if (!event.target) { + event.target = elem; + } // Clone any incoming data and prepend the event, creating the handler arg list + + + data = data == null ? [event] : jQuery.makeArray(data, [event]); // Allow special events to draw outside the lines + + special = jQuery.event.special[type] || {}; + + if (!onlyHandlers && special.trigger && special.trigger.apply(elem, data) === false) { + return; + } // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + + + if (!onlyHandlers && !special.noBubble && !isWindow(elem)) { + bubbleType = special.delegateType || type; + + if (!rfocusMorph.test(bubbleType + type)) { + cur = cur.parentNode; + } + + for (; cur; cur = cur.parentNode) { + eventPath.push(cur); + tmp = cur; + } // Only add window if we got to document (e.g., not plain obj or detached DOM) + + + if (tmp === (elem.ownerDocument || document)) { + eventPath.push(tmp.defaultView || tmp.parentWindow || window); + } + } // Fire handlers on the event path + + + i = 0; + + while ((cur = eventPath[i++]) && !event.isPropagationStopped()) { + lastElement = cur; + event.type = i > 1 ? bubbleType : special.bindType || type; // jQuery handler + + handle = (dataPriv.get(cur, "events") || Object.create(null))[event.type] && dataPriv.get(cur, "handle"); + + if (handle) { + handle.apply(cur, data); + } // Native handler + + + handle = ontype && cur[ontype]; + + if (handle && handle.apply && acceptData(cur)) { + event.result = handle.apply(cur, data); + + if (event.result === false) { + event.preventDefault(); + } + } + } + + event.type = type; // If nobody prevented the default action, do it now + + if (!onlyHandlers && !event.isDefaultPrevented()) { + if ((!special._default || special._default.apply(eventPath.pop(), data) === false) && acceptData(elem)) { + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if (ontype && isFunction(elem[type]) && !isWindow(elem)) { + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ontype]; + + if (tmp) { + elem[ontype] = null; + } // Prevent re-triggering of the same event, since we already bubbled it above + + + jQuery.event.triggered = type; + + if (event.isPropagationStopped()) { + lastElement.addEventListener(type, stopPropagationCallback); + } + + elem[type](); + + if (event.isPropagationStopped()) { + lastElement.removeEventListener(type, stopPropagationCallback); + } + + jQuery.event.triggered = undefined; + + if (tmp) { + elem[ontype] = tmp; + } + } + } + } + + return event.result; + }, + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function simulate(type, elem, event) { + var e = jQuery.extend(new jQuery.Event(), event, { + type: type, + isSimulated: true + }); + jQuery.event.trigger(e, null, elem); + } + }); + jQuery.fn.extend({ + trigger: function trigger(type, data) { + return this.each(function () { + jQuery.event.trigger(type, data, this); + }); + }, + triggerHandler: function triggerHandler(type, data) { + var elem = this[0]; + + if (elem) { + return jQuery.event.trigger(type, data, elem, true); + } + } + }); // Support: Firefox <=44 + // Firefox doesn't have focus(in | out) events + // Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 + // + // Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 + // focus(in | out) events fire after focus & blur events, + // which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order + // Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 + + if (!support.focusin) { + jQuery.each({ + focus: "focusin", + blur: "focusout" + }, function (orig, fix) { + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function handler(event) { + jQuery.event.simulate(fix, event.target, jQuery.event.fix(event)); + }; + + jQuery.event.special[fix] = { + setup: function setup() { + // Handle: regular nodes (via `this.ownerDocument`), window + // (via `this.document`) & document (via `this`). + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access(doc, fix); + + if (!attaches) { + doc.addEventListener(orig, handler, true); + } + + dataPriv.access(doc, fix, (attaches || 0) + 1); + }, + teardown: function teardown() { + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access(doc, fix) - 1; + + if (!attaches) { + doc.removeEventListener(orig, handler, true); + dataPriv.remove(doc, fix); + } else { + dataPriv.access(doc, fix, attaches); + } + } + }; + }); + } + + var location = window.location; + var nonce = { + guid: Date.now() + }; + var rquery = /\?/; // Cross-browser xml parsing + + jQuery.parseXML = function (data) { + var xml, parserErrorElem; + + if (!data || typeof data !== "string") { + return null; + } // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + + + try { + xml = new window.DOMParser().parseFromString(data, "text/xml"); + } catch (e) {} + + parserErrorElem = xml && xml.getElementsByTagName("parsererror")[0]; + + if (!xml || parserErrorElem) { + jQuery.error("Invalid XML: " + (parserErrorElem ? jQuery.map(parserErrorElem.childNodes, function (el) { + return el.textContent; + }).join("\n") : data)); + } + + return xml; + }; + + var rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + + function buildParams(prefix, obj, traditional, add) { + var name; + + if (Array.isArray(obj)) { + // Serialize array item. + jQuery.each(obj, function (i, v) { + if (traditional || rbracket.test(prefix)) { + // Treat each array item as a scalar. + add(prefix, v); + } else { + // Item is non-scalar (array or object), encode its numeric index. + buildParams(prefix + "[" + (_typeof(v) === "object" && v != null ? i : "") + "]", v, traditional, add); + } + }); + } else if (!traditional && toType(obj) === "object") { + // Serialize object item. + for (name in obj) { + buildParams(prefix + "[" + name + "]", obj[name], traditional, add); + } + } else { + // Serialize scalar item. + add(prefix, obj); + } + } // Serialize an array of form elements or a set of + // key/values into a query string + + + jQuery.param = function (a, traditional) { + var prefix, + s = [], + add = function add(key, valueOrFunction) { + // If value is a function, invoke it and use its return value + var value = isFunction(valueOrFunction) ? valueOrFunction() : valueOrFunction; + s[s.length] = encodeURIComponent(key) + "=" + encodeURIComponent(value == null ? "" : value); + }; + + if (a == null) { + return ""; + } // If an array was passed in, assume that it is an array of form elements. + + + if (Array.isArray(a) || a.jquery && !jQuery.isPlainObject(a)) { + // Serialize the form elements + jQuery.each(a, function () { + add(this.name, this.value); + }); + } else { + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for (prefix in a) { + buildParams(prefix, a[prefix], traditional, add); + } + } // Return the resulting serialization + + + return s.join("&"); + }; + + jQuery.fn.extend({ + serialize: function serialize() { + return jQuery.param(this.serializeArray()); + }, + serializeArray: function serializeArray() { + return this.map(function () { + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop(this, "elements"); + return elements ? jQuery.makeArray(elements) : this; + }).filter(function () { + var type = this.type; // Use .is( ":disabled" ) so that fieldset[disabled] works + + return this.name && !jQuery(this).is(":disabled") && rsubmittable.test(this.nodeName) && !rsubmitterTypes.test(type) && (this.checked || !rcheckableType.test(type)); + }).map(function (_i, elem) { + var val = jQuery(this).val(); + + if (val == null) { + return null; + } + + if (Array.isArray(val)) { + return jQuery.map(val, function (val) { + return { + name: elem.name, + value: val.replace(rCRLF, "\r\n") + }; + }); + } + + return { + name: elem.name, + value: val.replace(rCRLF, "\r\n") + }; + }).get(); + } + }); + var r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat("*"), + // Anchor tag for parsing the document origin + originAnchor = document.createElement("a"); + originAnchor.href = location.href; // Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport + + function addToPrefiltersOrTransports(structure) { + // dataTypeExpression is optional and defaults to "*" + return function (dataTypeExpression, func) { + if (typeof dataTypeExpression !== "string") { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match(rnothtmlwhite) || []; + + if (isFunction(func)) { + // For each dataType in the dataTypeExpression + while (dataType = dataTypes[i++]) { + // Prepend if requested + if (dataType[0] === "+") { + dataType = dataType.slice(1) || "*"; + (structure[dataType] = structure[dataType] || []).unshift(func); // Otherwise append + } else { + (structure[dataType] = structure[dataType] || []).push(func); + } + } + } + }; + } // Base inspection function for prefilters and transports + + + function inspectPrefiltersOrTransports(structure, options, originalOptions, jqXHR) { + var inspected = {}, + seekingTransport = structure === transports; + + function inspect(dataType) { + var selected; + inspected[dataType] = true; + jQuery.each(structure[dataType] || [], function (_, prefilterOrFactory) { + var dataTypeOrTransport = prefilterOrFactory(options, originalOptions, jqXHR); + + if (typeof dataTypeOrTransport === "string" && !seekingTransport && !inspected[dataTypeOrTransport]) { + options.dataTypes.unshift(dataTypeOrTransport); + inspect(dataTypeOrTransport); + return false; + } else if (seekingTransport) { + return !(selected = dataTypeOrTransport); + } + }); + return selected; + } + + return inspect(options.dataTypes[0]) || !inspected["*"] && inspect("*"); + } // A special extend for ajax options + // that takes "flat" options (not to be deep extended) + // Fixes #9887 + + + function ajaxExtend(target, src) { + var key, + deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for (key in src) { + if (src[key] !== undefined) { + (flatOptions[key] ? target : deep || (deep = {}))[key] = src[key]; + } + } + + if (deep) { + jQuery.extend(true, target, deep); + } + + return target; + } + /* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ + + + function ajaxHandleResponses(s, jqXHR, responses) { + var ct, + type, + finalDataType, + firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; // Remove auto dataType and get content-type in the process + + while (dataTypes[0] === "*") { + dataTypes.shift(); + + if (ct === undefined) { + ct = s.mimeType || jqXHR.getResponseHeader("Content-Type"); + } + } // Check if we're dealing with a known content-type + + + if (ct) { + for (type in contents) { + if (contents[type] && contents[type].test(ct)) { + dataTypes.unshift(type); + break; + } + } + } // Check to see if we have a response for the expected dataType + + + if (dataTypes[0] in responses) { + finalDataType = dataTypes[0]; + } else { + // Try convertible dataTypes + for (type in responses) { + if (!dataTypes[0] || s.converters[type + " " + dataTypes[0]]) { + finalDataType = type; + break; + } + + if (!firstDataType) { + firstDataType = type; + } + } // Or just use first one + + + finalDataType = finalDataType || firstDataType; + } // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + + + if (finalDataType) { + if (finalDataType !== dataTypes[0]) { + dataTypes.unshift(finalDataType); + } + + return responses[finalDataType]; + } + } + /* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ + + + function ajaxConvert(s, response, jqXHR, isSuccess) { + var conv2, + current, + conv, + tmp, + prev, + converters = {}, + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); // Create converters map with lowercased keys + + if (dataTypes[1]) { + for (conv in s.converters) { + converters[conv.toLowerCase()] = s.converters[conv]; + } + } + + current = dataTypes.shift(); // Convert to each sequential dataType + + while (current) { + if (s.responseFields[current]) { + jqXHR[s.responseFields[current]] = response; + } // Apply the dataFilter if provided + + + if (!prev && isSuccess && s.dataFilter) { + response = s.dataFilter(response, s.dataType); + } + + prev = current; + current = dataTypes.shift(); + + if (current) { + // There's only work to do if current dataType is non-auto + if (current === "*") { + current = prev; // Convert response if prev dataType is non-auto and differs from current + } else if (prev !== "*" && prev !== current) { + // Seek a direct converter + conv = converters[prev + " " + current] || converters["* " + current]; // If none found, seek a pair + + if (!conv) { + for (conv2 in converters) { + // If conv2 outputs current + tmp = conv2.split(" "); + + if (tmp[1] === current) { + // If prev can be converted to accepted input + conv = converters[prev + " " + tmp[0]] || converters["* " + tmp[0]]; + + if (conv) { + // Condense equivalence converters + if (conv === true) { + conv = converters[conv2]; // Otherwise, insert the intermediate dataType + } else if (converters[conv2] !== true) { + current = tmp[0]; + dataTypes.unshift(tmp[1]); + } + + break; + } + } + } + } // Apply converter (if not an equivalence) + + + if (conv !== true) { + // Unless errors are allowed to bubble, catch and return them + if (conv && s.throws) { + response = conv(response); + } else { + try { + response = conv(response); + } catch (e) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { + state: "success", + data: response + }; + } + + jQuery.extend({ + // Counter for holding the number of active queries + active: 0, + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test(location.protocol), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + // Convert anything to text + "* text": String, + // Text to html (true = no transformation) + "text html": true, + // Evaluate text as a json expression + "text json": JSON.parse, + // Parse text as xml + "text xml": jQuery.parseXML + }, + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function ajaxSetup(target, settings) { + return settings ? // Building a settings object + ajaxExtend(ajaxExtend(target, jQuery.ajaxSettings), settings) : // Extending ajaxSettings + ajaxExtend(jQuery.ajaxSettings, target); + }, + ajaxPrefilter: addToPrefiltersOrTransports(prefilters), + ajaxTransport: addToPrefiltersOrTransports(transports), + // Main method + ajax: function ajax(url, options) { + // If url is an object, simulate pre-1.5 signature + if (_typeof(url) === "object") { + options = url; + url = undefined; + } // Force options to be an object + + + options = options || {}; + + var transport, + // URL without anti-cache param + cacheURL, + // Response headers + responseHeadersString, + responseHeaders, + // timeout handle + timeoutTimer, + // Url cleanup var + urlAnchor, + // Request state (becomes false upon send and true upon completion) + completed, + // To know if global events are to be dispatched + fireGlobals, + // Loop variable + i, + // uncached part of the url + uncached, + // Create the final options object + s = jQuery.ajaxSetup({}, options), + // Callbacks context + callbackContext = s.context || s, + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && (callbackContext.nodeType || callbackContext.jquery) ? jQuery(callbackContext) : jQuery.event, + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks("once memory"), + // Status-dependent callbacks + _statusCode = s.statusCode || {}, + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + // Default abort message + strAbort = "canceled", + // Fake xhr + jqXHR = { + readyState: 0, + // Builds headers hashtable if needed + getResponseHeader: function getResponseHeader(key) { + var match; + + if (completed) { + if (!responseHeaders) { + responseHeaders = {}; + + while (match = rheaders.exec(responseHeadersString)) { + responseHeaders[match[1].toLowerCase() + " "] = (responseHeaders[match[1].toLowerCase() + " "] || []).concat(match[2]); + } + } + + match = responseHeaders[key.toLowerCase() + " "]; + } + + return match == null ? null : match.join(", "); + }, + // Raw string + getAllResponseHeaders: function getAllResponseHeaders() { + return completed ? responseHeadersString : null; + }, + // Caches the header + setRequestHeader: function setRequestHeader(name, value) { + if (completed == null) { + name = requestHeadersNames[name.toLowerCase()] = requestHeadersNames[name.toLowerCase()] || name; + requestHeaders[name] = value; + } + + return this; + }, + // Overrides response content-type header + overrideMimeType: function overrideMimeType(type) { + if (completed == null) { + s.mimeType = type; + } + + return this; + }, + // Status-dependent callbacks + statusCode: function statusCode(map) { + var code; + + if (map) { + if (completed) { + // Execute the appropriate callbacks + jqXHR.always(map[jqXHR.status]); + } else { + // Lazy-add the new callbacks in a way that preserves old ones + for (code in map) { + _statusCode[code] = [_statusCode[code], map[code]]; + } + } + } + + return this; + }, + // Cancel the request + abort: function abort(statusText) { + var finalText = statusText || strAbort; + + if (transport) { + transport.abort(finalText); + } + + done(0, finalText); + return this; + } + }; // Attach deferreds + + + deferred.promise(jqXHR); // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + + s.url = ((url || s.url || location.href) + "").replace(rprotocol, location.protocol + "//"); // Alias method option to type as per ticket #12004 + + s.type = options.method || options.type || s.method || s.type; // Extract dataTypes list + + s.dataTypes = (s.dataType || "*").toLowerCase().match(rnothtmlwhite) || [""]; // A cross-domain request is in order when the origin doesn't match the current origin. + + if (s.crossDomain == null) { + urlAnchor = document.createElement("a"); // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + + try { + urlAnchor.href = s.url; // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== urlAnchor.protocol + "//" + urlAnchor.host; + } catch (e) { + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } // Convert data if not already a string + + + if (s.data && s.processData && typeof s.data !== "string") { + s.data = jQuery.param(s.data, s.traditional); + } // Apply prefilters + + + inspectPrefiltersOrTransports(prefilters, s, options, jqXHR); // If request was aborted inside a prefilter, stop there + + if (completed) { + return jqXHR; + } // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + + + fireGlobals = jQuery.event && s.global; // Watch for a new set of requests + + if (fireGlobals && jQuery.active++ === 0) { + jQuery.event.trigger("ajaxStart"); + } // Uppercase the type + + + s.type = s.type.toUpperCase(); // Determine if request has content + + s.hasContent = !rnoContent.test(s.type); // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + + cacheURL = s.url.replace(rhash, ""); // More options handling for requests with no content + + if (!s.hasContent) { + // Remember the hash so we can put it back + uncached = s.url.slice(cacheURL.length); // If data is available and should be processed, append data to url + + if (s.data && (s.processData || typeof s.data === "string")) { + cacheURL += (rquery.test(cacheURL) ? "&" : "?") + s.data; // #9682: remove data so that it's not used in an eventual retry + + delete s.data; + } // Add or update anti-cache param if needed + + + if (s.cache === false) { + cacheURL = cacheURL.replace(rantiCache, "$1"); + uncached = (rquery.test(cacheURL) ? "&" : "?") + "_=" + nonce.guid++ + uncached; + } // Put hash and anti-cache on the URL that will be requested (gh-1732) + + + s.url = cacheURL + uncached; // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if (s.data && s.processData && (s.contentType || "").indexOf("application/x-www-form-urlencoded") === 0) { + s.data = s.data.replace(r20, "+"); + } // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + + + if (s.ifModified) { + if (jQuery.lastModified[cacheURL]) { + jqXHR.setRequestHeader("If-Modified-Since", jQuery.lastModified[cacheURL]); + } + + if (jQuery.etag[cacheURL]) { + jqXHR.setRequestHeader("If-None-Match", jQuery.etag[cacheURL]); + } + } // Set the correct header, if data is being sent + + + if (s.data && s.hasContent && s.contentType !== false || options.contentType) { + jqXHR.setRequestHeader("Content-Type", s.contentType); + } // Set the Accepts header for the server, depending on the dataType + + + jqXHR.setRequestHeader("Accept", s.dataTypes[0] && s.accepts[s.dataTypes[0]] ? s.accepts[s.dataTypes[0]] + (s.dataTypes[0] !== "*" ? ", " + allTypes + "; q=0.01" : "") : s.accepts["*"]); // Check for headers option + + for (i in s.headers) { + jqXHR.setRequestHeader(i, s.headers[i]); + } // Allow custom headers/mimetypes and early abort + + + if (s.beforeSend && (s.beforeSend.call(callbackContext, jqXHR, s) === false || completed)) { + // Abort if not done already and return + return jqXHR.abort(); + } // Aborting is no longer a cancellation + + + strAbort = "abort"; // Install callbacks on deferreds + + completeDeferred.add(s.complete); + jqXHR.done(s.success); + jqXHR.fail(s.error); // Get transport + + transport = inspectPrefiltersOrTransports(transports, s, options, jqXHR); // If no transport, we auto-abort + + if (!transport) { + done(-1, "No Transport"); + } else { + jqXHR.readyState = 1; // Send global event + + if (fireGlobals) { + globalEventContext.trigger("ajaxSend", [jqXHR, s]); + } // If request was aborted inside ajaxSend, stop there + + + if (completed) { + return jqXHR; + } // Timeout + + + if (s.async && s.timeout > 0) { + timeoutTimer = window.setTimeout(function () { + jqXHR.abort("timeout"); + }, s.timeout); + } + + try { + completed = false; + transport.send(requestHeaders, done); + } catch (e) { + // Rethrow post-completion exceptions + if (completed) { + throw e; + } // Propagate others as results + + + done(-1, e); + } + } // Callback for when everything is done + + + function done(status, nativeStatusText, responses, headers) { + var isSuccess, + success, + error, + response, + modified, + statusText = nativeStatusText; // Ignore repeat invocations + + if (completed) { + return; + } + + completed = true; // Clear timeout if it exists + + if (timeoutTimer) { + window.clearTimeout(timeoutTimer); + } // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + + + transport = undefined; // Cache response headers + + responseHeadersString = headers || ""; // Set readyState + + jqXHR.readyState = status > 0 ? 4 : 0; // Determine if successful + + isSuccess = status >= 200 && status < 300 || status === 304; // Get response data + + if (responses) { + response = ajaxHandleResponses(s, jqXHR, responses); + } // Use a noop converter for missing script but not if jsonp + + + if (!isSuccess && jQuery.inArray("script", s.dataTypes) > -1 && jQuery.inArray("json", s.dataTypes) < 0) { + s.converters["text script"] = function () {}; + } // Convert no matter what (that way responseXXX fields are always set) + + + response = ajaxConvert(s, response, jqXHR, isSuccess); // If successful, handle type chaining + + if (isSuccess) { + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if (s.ifModified) { + modified = jqXHR.getResponseHeader("Last-Modified"); + + if (modified) { + jQuery.lastModified[cacheURL] = modified; + } + + modified = jqXHR.getResponseHeader("etag"); + + if (modified) { + jQuery.etag[cacheURL] = modified; + } + } // if no content + + + if (status === 204 || s.type === "HEAD") { + statusText = "nocontent"; // if not modified + } else if (status === 304) { + statusText = "notmodified"; // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + // Extract error from statusText and normalize for non-aborts + error = statusText; + + if (status || !statusText) { + statusText = "error"; + + if (status < 0) { + status = 0; + } + } + } // Set data for the fake xhr object + + + jqXHR.status = status; + jqXHR.statusText = (nativeStatusText || statusText) + ""; // Success/Error + + if (isSuccess) { + deferred.resolveWith(callbackContext, [success, statusText, jqXHR]); + } else { + deferred.rejectWith(callbackContext, [jqXHR, statusText, error]); + } // Status-dependent callbacks + + + jqXHR.statusCode(_statusCode); + _statusCode = undefined; + + if (fireGlobals) { + globalEventContext.trigger(isSuccess ? "ajaxSuccess" : "ajaxError", [jqXHR, s, isSuccess ? success : error]); + } // Complete + + + completeDeferred.fireWith(callbackContext, [jqXHR, statusText]); + + if (fireGlobals) { + globalEventContext.trigger("ajaxComplete", [jqXHR, s]); // Handle the global AJAX counter + + if (! --jQuery.active) { + jQuery.event.trigger("ajaxStop"); + } + } + } + + return jqXHR; + }, + getJSON: function getJSON(url, data, callback) { + return jQuery.get(url, data, callback, "json"); + }, + getScript: function getScript(url, callback) { + return jQuery.get(url, undefined, callback, "script"); + } + }); + jQuery.each(["get", "post"], function (_i, method) { + jQuery[method] = function (url, data, callback, type) { + // Shift arguments if data argument was omitted + if (isFunction(data)) { + type = type || callback; + callback = data; + data = undefined; + } // The url can be an options object (which then must have .url) + + + return jQuery.ajax(jQuery.extend({ + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject(url) && url)); + }; + }); + jQuery.ajaxPrefilter(function (s) { + var i; + + for (i in s.headers) { + if (i.toLowerCase() === "content-type") { + s.contentType = s.headers[i] || ""; + } + } + }); + + jQuery._evalUrl = function (url, options, doc) { + return jQuery.ajax({ + url: url, + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function textScript() {} + }, + dataFilter: function dataFilter(response) { + jQuery.globalEval(response, options, doc); + } + }); + }; + + jQuery.fn.extend({ + wrapAll: function wrapAll(html) { + var wrap; + + if (this[0]) { + if (isFunction(html)) { + html = html.call(this[0]); + } // The elements to wrap the target around + + + wrap = jQuery(html, this[0].ownerDocument).eq(0).clone(true); + + if (this[0].parentNode) { + wrap.insertBefore(this[0]); + } + + wrap.map(function () { + var elem = this; + + while (elem.firstElementChild) { + elem = elem.firstElementChild; + } + + return elem; + }).append(this); + } + + return this; + }, + wrapInner: function wrapInner(html) { + if (isFunction(html)) { + return this.each(function (i) { + jQuery(this).wrapInner(html.call(this, i)); + }); + } + + return this.each(function () { + var self = jQuery(this), + contents = self.contents(); + + if (contents.length) { + contents.wrapAll(html); + } else { + self.append(html); + } + }); + }, + wrap: function wrap(html) { + var htmlIsFunction = isFunction(html); + return this.each(function (i) { + jQuery(this).wrapAll(htmlIsFunction ? html.call(this, i) : html); + }); + }, + unwrap: function unwrap(selector) { + this.parent(selector).not("body").each(function () { + jQuery(this).replaceWith(this.childNodes); + }); + return this; + } + }); + + jQuery.expr.pseudos.hidden = function (elem) { + return !jQuery.expr.pseudos.visible(elem); + }; + + jQuery.expr.pseudos.visible = function (elem) { + return !!(elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length); + }; + + jQuery.ajaxSettings.xhr = function () { + try { + return new window.XMLHttpRequest(); + } catch (e) {} + }; + + var xhrSuccessStatus = { + // File protocol always yields status code 0, assume 200 + 0: 200, + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + support.cors = !!xhrSupported && "withCredentials" in xhrSupported; + support.ajax = xhrSupported = !!xhrSupported; + jQuery.ajaxTransport(function (options) { + var _callback, errorCallback; // Cross domain only allowed if supported through XMLHttpRequest + + + if (support.cors || xhrSupported && !options.crossDomain) { + return { + send: function send(headers, complete) { + var i, + xhr = options.xhr(); + xhr.open(options.type, options.url, options.async, options.username, options.password); // Apply custom fields if provided + + if (options.xhrFields) { + for (i in options.xhrFields) { + xhr[i] = options.xhrFields[i]; + } + } // Override mime type if needed + + + if (options.mimeType && xhr.overrideMimeType) { + xhr.overrideMimeType(options.mimeType); + } // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + + + if (!options.crossDomain && !headers["X-Requested-With"]) { + headers["X-Requested-With"] = "XMLHttpRequest"; + } // Set headers + + + for (i in headers) { + xhr.setRequestHeader(i, headers[i]); + } // Callback + + + _callback = function callback(type) { + return function () { + if (_callback) { + _callback = errorCallback = xhr.onload = xhr.onerror = xhr.onabort = xhr.ontimeout = xhr.onreadystatechange = null; + + if (type === "abort") { + xhr.abort(); + } else if (type === "error") { + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if (typeof xhr.status !== "number") { + complete(0, "error"); + } else { + complete( // File: protocol always yields status 0; see #8605, #14207 + xhr.status, xhr.statusText); + } + } else { + complete(xhrSuccessStatus[xhr.status] || xhr.status, xhr.statusText, // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + (xhr.responseType || "text") !== "text" || typeof xhr.responseText !== "string" ? { + binary: xhr.response + } : { + text: xhr.responseText + }, xhr.getAllResponseHeaders()); + } + } + }; + }; // Listen to events + + + xhr.onload = _callback(); + errorCallback = xhr.onerror = xhr.ontimeout = _callback("error"); // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + + if (xhr.onabort !== undefined) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function () { + // Check readyState before timeout as it changes + if (xhr.readyState === 4) { + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout(function () { + if (_callback) { + errorCallback(); + } + }); + } + }; + } // Create the abort callback + + + _callback = _callback("abort"); + + try { + // Do send the request (this may raise an exception) + xhr.send(options.hasContent && options.data || null); + } catch (e) { + // #14683: Only rethrow if this hasn't been notified as an error yet + if (_callback) { + throw e; + } + } + }, + abort: function abort() { + if (_callback) { + _callback(); + } + } + }; + } + }); // Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) + + jQuery.ajaxPrefilter(function (s) { + if (s.crossDomain) { + s.contents.script = false; + } + }); // Install script dataType + + jQuery.ajaxSetup({ + accepts: { + script: "text/javascript, application/javascript, " + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function textScript(text) { + jQuery.globalEval(text); + return text; + } + } + }); // Handle cache's special case and crossDomain + + jQuery.ajaxPrefilter("script", function (s) { + if (s.cache === undefined) { + s.cache = false; + } + + if (s.crossDomain) { + s.type = "GET"; + } + }); // Bind script tag hack transport + + jQuery.ajaxTransport("script", function (s) { + // This transport only deals with cross domain or forced-by-attrs requests + if (s.crossDomain || s.scriptAttrs) { + var script, _callback2; + + return { + send: function send(_, complete) { + script = jQuery("