/*!********************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./runestone/common/css/user-highlights.css ***!
  \********************************************************************************************/
/* Variables holding theme colors */
:root {
	--menu: #FFFFFF;
}

[data-theme="dark"] {
	--menu: #000000;
}

.my-highlighted-text{
	background-color:#FFFF99;
}
.social-highlighted-text{
	background-color:#FFCCCC;
}
.highlight-option-box{
	position:absolute;
	top:0px;
	left:0px;
}
.highlight-option-box li{ 
	height:24px;
}
#continue-reading{
	padding-top:20px;
	display: none;
}
#continue-reading a{
	float:right;
	margin-right:20px;
}
li.completed
{
list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAO5JREFUeNpi/P//PwMlgImBQjAwBthc4osH4skgNguJGrmA1BQgjgPiUJIMAGpWBVKrgNgAiL2P6H3aRrQBQM12QGo1EIsBcQxMM0oYABXxAjETFs2+QGobVHM9UPNSjEAEKgoEUjeBuBhNcwDUZm4gXg/U3IRuAcwLSkAsCcRdQE16QDoRiG2BGGQbOxA/BOIcbN5jhKVEoMYiINULFT8PxCJALAvlhwBtX4vXAKghpSBXoKlZCtQcQ1RCAirsBlJVSEIfgLiRpJQINKQdSNVCuTOB/Nt44xjkBWzY+iJvGRBr4pKHYUZKszNAgAEAln9yGpx/ZXMAAAAASUVORK5CYII=);
}
li.active
{
list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIlJREFUeNpi/P//PwMlgImBQjAMDGCBsxZIkaYz4RmaAZhAHYjNoOxTQHwTvwsQgAeIe4E4DU18FhAXAPF3QgbMB+IQLOIgA4WAOBRfIOri0AwDIDktfAbYEBF89jRNB0eI0HMEnwGXgXgNHs1roGrweiERGmUMWKIxkZh08AWI04G4j5iEBBBgAPddF58mobqdAAAAAElFTkSuQmCC);
}
.infoTextCompleted{
	margin-left:10px;
	font-size:0.9em;
	color:#3dc682;
	display:none;
	font-style:italic;
	opacity: 0.7;
}
.infoTextActive{
	margin-left:10px;
	font-size:0.9em;
	color:#ff9f19;
	display:none;
	font-style:italic;
	opacity: 0.7;
}
.dropdown-menu{
	background-clip: padding-box;
    background-color: var(--menu);
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 5px 5px 5px 5px;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    display: none;
    float: left;
    left: 0;
    list-style: none outside none;
    margin: 1px 0 0;
    min-width: 160px;
    padding: 4px 0;
    position: absolute;
    top: 100%;
    z-index: 1000;
}
.dropdown-menu ul {
    list-style: disc outside none;
    margin: 0 0 9px 25px;
    padding: 0;
}

.sidebar-highlights{
    background-color:#FFFF99;
}
div.documentwrapper {
	border : 0 none;
}
div.bodywrapper {
	border-right: 0 none;
}
div.sphinxsidebar {
	border-left: 1px solid #CCCCCC;
	padding-left: 10px;
}
.body>.section .section{
	padding-top: 1px;
}
#jump-to-chapter{
    border: 1px solid #CCCCCC;
    letter-spacing: 0.015em;
    line-height: 120%;
    padding: 0.5em;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}
#navigation-links{
	background-color: #F8F8F8;
    border: 1px solid #CCCCCC;
	padding:10px;
	margin:10px;
}

/*!***************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./runestone/matrixeq/css/matrixeq.css ***!
  \***************************************************************************************/
.matrixeq_container {
  padding: 6px 6px 6px 6px;
  margin: 0px 0px 6px 0px;
}

span.matrix_table {
  display: inline-table;
  background-color: inherit;
  border-width: 2px 2px;
  border-style: solid;
  border-color: black;
  text-align: center;
  padding: 0px 1px;
  margin: 0px 0px 4px 0px;
  overflow: visible;
}

span.matrix_column {
  display: inline-table;
  background-color: inherit;
  padding: 2px 8px 2px 8px;
  margin: 0px 1px;
  border-width: 0px 0px 0px 0px;
  font-family: monospace;
  font-size: 12px;
  vertical-align: middle;
}

span.matrix_column div {
  display: block;
  margin: 1px;
  padding: 2px;
  background-color: inherit;
}

span.matrix_table .matrix_column {
  border-style: none;
  margin-left: 5px;
  margin-right: 5px;
}

span.matrix_table:before {
  content: " ";
  background-color: inherit;
  width: 85%;
  text-align: center;
  height: 2px;
  position: relative;
  top: -2px;
  z-index: 100;
  display: block;
  margin: 0px auto;
}

span.matrix_table:after {
  content: " ";
  background-color: inherit;
  width: 85%;
  text-align: center;
  height: 2px;
  position: relative;
  top: 2px;
  z-index: 100;
  display: block;
  margin: 0px auto;
}

span.matrix_column:before {
  content: " ";
  width: 85%;
  height: 2px;
  position: relative;
  top: -2px;
  z-index: 100;
  display: block;
}

span.matrix_column:after {
  content: " ";
  width: 85%;
  height: 2px;
  position: relative;
  top: 2px;
  z-index: 100;
  display: block;
}

span.matrix_table span.matrix_column:before {
  height: 0px;
}

span.matrix_table span.matrix_column:after {
  height: 0px;
}

span input[type="text"] {
  display: block;
  margin: 0;
  width: 50px;
  height: 24px;
  font-family: sans-serif;
  font-size: 12px;
  appearance: none;
  box-shadow: none;
  text-align: right;
  background-color: inherit;
}

span.matrix_operator {
  display: inline-table;
  padding: 0px;
  margin: 0px 4px 0px 4px;
  font-family: monospace;
  font-size: 18px;
  vertical-align: middle;
}

span.matrix_label {
  display: inline-table;
  padding: 0px 0px 0px 20px;
  margin: 0px 1px;
  font-family: sans-serif;
  font-size: 12px;
  vertical-align: middle;
}

/* Colors for matrix highlighting */

.lightcyanColor {
  background-color: lightcyan;
}

.lightgreyColor {
  background-color: lightgrey;
}

.purpleColor {
  background-color: #DFB5E8;
}

.yellowColor {
  background-color: #FDFF9D;
}




/*!************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./runestone/webgldemo/css/webglinteractive.css ***!
  \************************************************************************************************/
/********************* Colour reference chart****************
elememt ********* property ********* colour ********

webgl_container  background-color    #fcf8e3

*/

/* Major sections */
.webgl_container {
  background-color: #fcf8e3;
  box-sizing: border-box;
  width: 100%;
  display: block;
  margin-bottom: 1em;
}

.webgl_cmds {
  box-sizing: border-box;
  width: 100%;
  text-align: center;
  padding: 6px;
}

.webgl_row2 {
  box-sizing: border-box;
  width: 100%;
  padding: 0px 4px 0px 4px;
  display: block;
  height: 550px;
}

.webgl_editors {
  box-sizing: border-box;
  float: left;
  display: block;
  visibility: visible;
  width: 50%;
}

.webgl_canvas {
  box-sizing: border-box;
  float: left;
  display: block;
  visibility: visible;
  font-size: 12px;
  font-weight: normal;
  padding-left: 5px;
  width: 50%;
}

.webgl_output {
  box-sizing: border-box;
  width: 100%;
  padding: 4px;
  margin-top: 6px;
  float: left;
}

/* Details within each section */
/* Tabbed titles, ul horizontal list */
.webgl_nav_tabs {
  height: 31px;
  width: 100%;
  margin: 0px;
  padding: 6px 0px 0px 0px;
  background-color: #CFCCB8;
  border-color: #fbeed5;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  list-style-type: none;
  overflow: hidden;
  display: inline-flex;
}

.webgl_nav_tabs li {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  margin: 0px 0px 0px 4px;
  padding: 4px 1px 4px 4px;
  list-style-type: none;
  position: relative;
  float: left;
  background-color: #E6E2CC;
  font-size: 9pt;
}

.webgl_nav_tabs li > a {
  padding: 8px 8px 8px 8px;
  color: #555;
  text-decoration: none;
}

.webgl_nav_tabs > li > a:hover {
  border-color: #b4b19d;
  border-bottom-width: 0;
}

.webgl_nav_tabs li.active {
  background-color: #ffffff;
  list-style-type: none;
  list-style-image: none;
}

/* Webgl editors */
.webgl_tab_content {
  width: 100%;
  position: absolute;
  clear: both;
  margin: 0px 0px 20px 0px;
  border: 0px;
  color: #c09853;
  background-color: #fcf8e3;
  z-index: 1;
}

.webgl_tab_content.active {
  z-index: 2;
}

.webgl_tab_content > * {
  margin-left: auto;
  margin-right: auto;
  /*	position:relative; */
}

.webgl_tab_content .clearfix {
  position: initial;
}

.webgl_tab_editor {
  width: 100%;
  position: absolute;
  clear: both;
  padding: 10px 4px 10px 4px;
  margin: 0px 0px 20px 0px;
  border: 0px;
  color: #c09853;
  background-color: #fcf8e3;
}

/* span that contains the tabbed text editors */
.webgl_code {
  width: 100%;
  float: left;
}

.webgl_tab_contents_text {
  width: 100%;
  position: absolute;
  clear: both;
  padding: 10px 4px 10px 4px;
  margin: 0px 0px 20px 0px;
  border: 0px;
  color: #c09853;
  background-color: #fcf8e3;
  z-index: 1;
}

.webgl_errorMessages {
  color: red;
}

.webgl_warningMessages {
  color: rgb(170, 34, 164);
}

.webgl_infoMessages {
  color: rgb(24, 144, 64);
}

.webgl_output_div {
  width: 100%;
  margin: 2px;
  border: 1px solid lightgrey;
  padding-bottom: 4px;
  padding-top: 4px;
  padding-left: 4px;
  background-color: white;
  overflow: auto;
  height: 14em;
  font-size: 12px;
  font-weight: normal;
}

.webgl_editor_highlight {
  background-color: #EEEEEE; /* very light grey */
}

/* To always show the scroll bar in a div */
::-webkit-scrollbar {
    -webkit-appearance: none;
    width: 7px;
}
::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background-color: rgba(0,0,0,.5);
    -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);
}

.webgl_btn {
  display: inline-block;
  padding: 3px 6px;
  margin-bottom: 0;
  background-color: thistle;
  font-size: 12px;
  font-weight: normal;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid transparent;
  border-radius: 4px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}

.webgl_checkbox {
}

.webgl_tabbed_editor {
  width: 100%;
  resize: none;
  font-family: monospace, sans-serif;
  font-size: 9pt;
  font-style: normal;
}

.canvas3D {
  width: 100%;
  height: 100%;
}

.CodeMirror.webgl-default {
  border: 1px solid #eee;
  font-family: monospace, sans-serif;
  font-size: 8pt;
  font-style: normal;
}

button.btn.webgl-default {
  font-size: 8pt;
}



/*!*******************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./runestone/common/css/presenter_mode.css ***!
  \*******************************************************************************************/
.hidden{
  display: none;
}

.view-toggle{
  padding: 0.85em;
}

.presentation-mode .section *{
  display: none;
}

.presentation-mode .section .runestone, .presentation-mode .section .runestone *{
  display: initial;
}

.present{
    height: 100vh;
}

.full-height{
    height: 100vh;
}

.bottom{
    position: absolute;
    bottom: 0;
}

#codeDisplayDiv{
  width: auto!important;
}

div.ExecutionVisualizer #dataViz{
  margin: 0;  
}

div.ExecutionVisualizer div#stackHeader {
  text-align: center;
}

#stackFrame{
  display: block!important;
}

#stackHeapTable {
  width: 100%;
}

#stackHeapTable tr {
  justify-content: space-around;
}

div.ExecutionVisualizer td#stack_td, div.ExecutionVisualizer td#heap_td {
  flex: 1;
}

.presentation-title {
  display: none;
}

.present .presentation-title {
  display: block;
}

div.ExecutionVisualizer div#heap {
  float: none;
  padding-left: 0;
}

#stack_td tr {
  display: table-row;
}

#heap_td tr {
  display: table-row;
}

#codeDisplayDiv{
  margin: 0 auto;
}

/*  bnm -- comment this out for now as it breaks codelens indentation and arrows
.visualizer tr{
  display: flex;
}
*/

#vizLayoutTd{
  flex: 1;
}

#vizLayoutTdFirst {
  flex: 2;
}

#vizLayoutTdSecond {
  flex: 1;
}

#vizLayoutTdThird {
  flex: 2;
}

#progOutputs {
  display: block!important;
  margin: 0 20px;
  width: 60%;
}

#pyStdout {
  width: 100%!important;
}

div.ExecutionVisualizer #pyStdout {
  margin-bottom: 1em;
}

div.ExecutionVisualizer table.visualizer {
  width: 100%;
}

.present #vizLayoutTdThird{
  text-align: left;
}

.ac-block{
  display: flex;
  margin-bottom: 1em;
}

.row-mode .ac-block{
  display: block;
  margin-bottom: 0;
}

.row-mode .ac_output, .row-mode .ac_code_div{
  float: none;
  display: block;
  width: auto;
  max-width: none;
}

.row-mode .ac_code_div{
  margin-bottom: 1em;
}

.ac_section>* {
  max-width: 100%;
}

.ac_output{
  display: block;
  max-width: 100%;
}

.ac_output pre {
  visibility: visible!important;
  min-height: 60px;
}

.CodeMirror{
  margin: 0;
  max-width: 100%;
  border-radius: 3px;
  min-height: 60px;
}

.container .section > runestone:not(.ac_section){
  max-width:none;
  margin: 0;
}

.presentation-options {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.layout-btn {
  background-color: #FBEED5;
  border: 2px solid #DFD4BE;
  border-radius: 2px;
  padding: .25rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 .5rem;
  transition: all .2s ease;
}

.layout-btn.active-layout, .layout-btn:focus {
  border: 2px solid #979797;
  outline: none;
}

.sketchpad-container {
  min-width: 50%;
  min-height: 300px;
  padding: 0 15px;
}

.card-mode .sketchpad-container {
  width: 50%;
  margin: 0;
  display: inline-block;
  /*margin: 0 -15px;*/
  vertical-align: top;
}

.row-mode .error {
  margin: 20px 15px;
}

.card-mode .error {
  margin: 28px 0 0;
  width: 50%;
  display: inline-block;
  padding: 0 15px;
  vertical-align: top;
  margin-top: 28px;
}

.sketchpad {
  background: white;
  border: 2px solid grey;
  border-radius: 3px;
  width: 100%;
  min-height: 300px;
  display: block;
}

.btn-presenter {
  padding: .5rem 1rem;
  border-radius: 3px;
  font-weight: 500;
  margin: 1.5rem 0 1.5rem 1.5rem;
}

.btn-grey-outline {
  border: 2px solid grey;
  color: grey;
  background: white;
}

.btn-grey-solid {
  border: 2px solid grey;
  color: white;
  background: grey;
}

body.present .ac_section>* {
  max-width: none;
}
body.present iframe {
  width: 100%;
}

body.present {
  /* font-size: 2.0em; */
}

body.present #relations-prev, body.present #relations-next, body.present .navLinkBg {
  display: none;
}

body.present .btn-presenter {
  position: absolute;
}
body.present .btn-presenter.prev-exercise { left: 0px; }
body.present .btn-presenter.next-exercise { right: 0px; }

/* .col-md-12 {
  width: 58.333333333333336%;
}

.card-mode .col-md-7 {
  width: 50%;
} */


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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ZXItaGlnaGxpZ2h0cy5jc3MiLCJ3ZWJwYWNrOi8vV2ViQ29tcG9uZW50cy8uL3J1bmVzdG9uZS9tYXRyaXhlcS9jc3MvbWF0cml4ZXEuY3NzIiwid2VicGFjazovL1dlYkNvbXBvbmVudHMvLi9ydW5lc3RvbmUvd2ViZ2xkZW1vL2Nzcy93ZWJnbGludGVyYWN0aXZlLmNzcyIsIndlYnBhY2s6Ly9XZWJDb21wb25lbnRzLy4vcnVuZXN0b25lL2NvbW1vbi9jc3MvcHJlc2VudGVyX21vZGUuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIFZhcmlhYmxlcyBob2xkaW5nIHRoZW1lIGNvbG9ycyAqL1xuOnJvb3Qge1xuXHQtLW1lbnU6ICNGRkZGRkY7XG59XG5cbltkYXRhLXRoZW1lPVwiZGFya1wiXSB7XG5cdC0tbWVudTogIzAwMDAwMDtcbn1cblxuLm15LWhpZ2hsaWdodGVkLXRleHR7XG5cdGJhY2tncm91bmQtY29sb3I6I0ZGRkY5OTtcbn1cbi5zb2NpYWwtaGlnaGxpZ2h0ZWQtdGV4dHtcblx0YmFja2dyb3VuZC1jb2xvcjojRkZDQ0NDO1xufVxuLmhpZ2hsaWdodC1vcHRpb24tYm94e1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0dG9wOjBweDtcblx0bGVmdDowcHg7XG59XG4uaGlnaGxpZ2h0LW9wdGlvbi1ib3ggbGl7IFxuXHRoZWlnaHQ6MjRweDtcbn1cbiNjb250aW51ZS1yZWFkaW5ne1xuXHRwYWRkaW5nLXRvcDoyMHB4O1xuXHRkaXNwbGF5OiBub25lO1xufVxuI2NvbnRpbnVlLXJlYWRpbmcgYXtcblx0ZmxvYXQ6cmlnaHQ7XG5cdG1hcmdpbi1yaWdodDoyMHB4O1xufVxubGkuY29tcGxldGVkXG57XG5saXN0LXN0eWxlLWltYWdlOiB1cmwoJ2NvbXBsZXRlZC5wbmcnKTtcbn1cbmxpLmFjdGl2ZVxue1xubGlzdC1zdHlsZS1pbWFnZTogdXJsKCdhY3RpdmUucG5nJyk7XG59XG4uaW5mb1RleHRDb21wbGV0ZWR7XG5cdG1hcmdpbi1sZWZ0OjEwcHg7XG5cdGZvbnQtc2l6ZTowLjllbTtcblx0Y29sb3I6IzNkYzY4Mjtcblx0ZGlzcGxheTpub25lO1xuXHRmb250LXN0eWxlOml0YWxpYztcblx0b3BhY2l0eTogMC43O1xufVxuLmluZm9UZXh0QWN0aXZle1xuXHRtYXJnaW4tbGVmdDoxMHB4O1xuXHRmb250LXNpemU6MC45ZW07XG5cdGNvbG9yOiNmZjlmMTk7XG5cdGRpc3BsYXk6bm9uZTtcblx0Zm9udC1zdHlsZTppdGFsaWM7XG5cdG9wYWNpdHk6IDAuNztcbn1cbi5kcm9wZG93bi1tZW51e1xuXHRiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1lbnUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHggNXB4IDVweCA1cHg7XG4gICAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBsZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZSBub25lO1xuICAgIG1hcmdpbjogMXB4IDAgMDtcbiAgICBtaW4td2lkdGg6IDE2MHB4O1xuICAgIHBhZGRpbmc6IDRweCAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgei1pbmRleDogMTAwMDtcbn1cbi5kcm9wZG93bi1tZW51IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBkaXNjIG91dHNpZGUgbm9uZTtcbiAgICBtYXJnaW46IDAgMCA5cHggMjVweDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uc2lkZWJhci1oaWdobGlnaHRze1xuICAgIGJhY2tncm91bmQtY29sb3I6I0ZGRkY5OTtcbn1cbmRpdi5kb2N1bWVudHdyYXBwZXIge1xuXHRib3JkZXIgOiAwIG5vbmU7XG59XG5kaXYuYm9keXdyYXBwZXIge1xuXHRib3JkZXItcmlnaHQ6IDAgbm9uZTtcbn1cbmRpdi5zcGhpbnhzaWRlYmFyIHtcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQ0NDQ0NDO1xuXHRwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG4uYm9keT4uc2VjdGlvbiAuc2VjdGlvbntcblx0cGFkZGluZy10b3A6IDFweDtcbn1cbiNqdW1wLXRvLWNoYXB0ZXJ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0NDQ0NDQztcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMTVlbTtcbiAgICBsaW5lLWhlaWdodDogMTIwJTtcbiAgICBwYWRkaW5nOiAwLjVlbTtcblx0d2lkdGg6IDgwJTtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcbn1cbiNuYXZpZ2F0aW9uLWxpbmtze1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNDQ0NDQ0M7XG5cdHBhZGRpbmc6MTBweDtcblx0bWFyZ2luOjEwcHg7XG59XG4iLCIubWF0cml4ZXFfY29udGFpbmVyIHtcbiAgcGFkZGluZzogNnB4IDZweCA2cHggNnB4O1xuICBtYXJnaW46IDBweCAwcHggNnB4IDBweDtcbn1cblxuc3Bhbi5tYXRyaXhfdGFibGUge1xuICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci13aWR0aDogMnB4IDJweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiBibGFjaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwcHggMXB4O1xuICBtYXJnaW46IDBweCAwcHggNHB4IDBweDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbnNwYW4ubWF0cml4X2NvbHVtbiB7XG4gIGRpc3BsYXk6IGlubGluZS10YWJsZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgcGFkZGluZzogMnB4IDhweCAycHggOHB4O1xuICBtYXJnaW46IDBweCAxcHg7XG4gIGJvcmRlci13aWR0aDogMHB4IDBweCAwcHggMHB4O1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDEycHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbnNwYW4ubWF0cml4X2NvbHVtbiBkaXYge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAxcHg7XG4gIHBhZGRpbmc6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbn1cblxuc3Bhbi5tYXRyaXhfdGFibGUgLm1hdHJpeF9jb2x1bW4ge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG5zcGFuLm1hdHJpeF90YWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIiBcIjtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgd2lkdGg6IDg1JTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBoZWlnaHQ6IDJweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0ycHg7XG4gIHotaW5kZXg6IDEwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMHB4IGF1dG87XG59XG5cbnNwYW4ubWF0cml4X3RhYmxlOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIHdpZHRoOiA4NSU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaGVpZ2h0OiAycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAycHg7XG4gIHotaW5kZXg6IDEwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMHB4IGF1dG87XG59XG5cbnNwYW4ubWF0cml4X2NvbHVtbjpiZWZvcmUge1xuICBjb250ZW50OiBcIiBcIjtcbiAgd2lkdGg6IDg1JTtcbiAgaGVpZ2h0OiAycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMnB4O1xuICB6LWluZGV4OiAxMDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5zcGFuLm1hdHJpeF9jb2x1bW46YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgd2lkdGg6IDg1JTtcbiAgaGVpZ2h0OiAycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAycHg7XG4gIHotaW5kZXg6IDEwMDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbnNwYW4ubWF0cml4X3RhYmxlIHNwYW4ubWF0cml4X2NvbHVtbjpiZWZvcmUge1xuICBoZWlnaHQ6IDBweDtcbn1cblxuc3Bhbi5tYXRyaXhfdGFibGUgc3Bhbi5tYXRyaXhfY29sdW1uOmFmdGVyIHtcbiAgaGVpZ2h0OiAwcHg7XG59XG5cbnNwYW4gaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbn1cblxuc3Bhbi5tYXRyaXhfb3BlcmF0b3Ige1xuICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gIHBhZGRpbmc6IDBweDtcbiAgbWFyZ2luOiAwcHggNHB4IDBweCA0cHg7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuc3Bhbi5tYXRyaXhfbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gIHBhZGRpbmc6IDBweCAwcHggMHB4IDIwcHg7XG4gIG1hcmdpbjogMHB4IDFweDtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLyogQ29sb3JzIGZvciBtYXRyaXggaGlnaGxpZ2h0aW5nICovXG5cbi5saWdodGN5YW5Db2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Y3lhbjtcbn1cblxuLmxpZ2h0Z3JleUNvbG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRncmV5O1xufVxuXG4ucHVycGxlQ29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREZCNUU4O1xufVxuXG4ueWVsbG93Q29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkRGRjlEO1xufVxuXG5cblxuIiwiLyoqKioqKioqKioqKioqKioqKioqKiBDb2xvdXIgcmVmZXJlbmNlIGNoYXJ0KioqKioqKioqKioqKioqKlxuZWxlbWVtdCAqKioqKioqKiogcHJvcGVydHkgKioqKioqKioqIGNvbG91ciAqKioqKioqKlxuXG53ZWJnbF9jb250YWluZXIgIGJhY2tncm91bmQtY29sb3IgICAgI2ZjZjhlM1xuXG4qL1xuXG4vKiBNYWpvciBzZWN0aW9ucyAqL1xuLndlYmdsX2NvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2Y4ZTM7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4ud2ViZ2xfY21kcyB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDZweDtcbn1cblxuLndlYmdsX3JvdzIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMHB4IDRweCAwcHggNHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiA1NTBweDtcbn1cblxuLndlYmdsX2VkaXRvcnMge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi53ZWJnbF9jYW52YXMge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi53ZWJnbF9vdXRwdXQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNHB4O1xuICBtYXJnaW4tdG9wOiA2cHg7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4vKiBEZXRhaWxzIHdpdGhpbiBlYWNoIHNlY3Rpb24gKi9cbi8qIFRhYmJlZCB0aXRsZXMsIHVsIGhvcml6b250YWwgbGlzdCAqL1xuLndlYmdsX25hdl90YWJzIHtcbiAgaGVpZ2h0OiAzMXB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwcHg7XG4gIHBhZGRpbmc6IDZweCAwcHggMHB4IDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0NGQ0NCODtcbiAgYm9yZGVyLWNvbG9yOiAjZmJlZWQ1O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG5cbi53ZWJnbF9uYXZfdGFicyBsaSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbiAgbWFyZ2luOiAwcHggMHB4IDBweCA0cHg7XG4gIHBhZGRpbmc6IDRweCAxcHggNHB4IDRweDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTZFMkNDO1xuICBmb250LXNpemU6IDlwdDtcbn1cblxuLndlYmdsX25hdl90YWJzIGxpID4gYSB7XG4gIHBhZGRpbmc6IDhweCA4cHggOHB4IDhweDtcbiAgY29sb3I6ICM1NTU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLndlYmdsX25hdl90YWJzID4gbGkgPiBhOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjRiMTlkO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xufVxuXG4ud2ViZ2xfbmF2X3RhYnMgbGkuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBsaXN0LXN0eWxlLWltYWdlOiBub25lO1xufVxuXG4vKiBXZWJnbCBlZGl0b3JzICovXG4ud2ViZ2xfdGFiX2NvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAwcHggMHB4IDIwcHggMHB4O1xuICBib3JkZXI6IDBweDtcbiAgY29sb3I6ICNjMDk4NTM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2Y4ZTM7XG4gIHotaW5kZXg6IDE7XG59XG5cbi53ZWJnbF90YWJfY29udGVudC5hY3RpdmUge1xuICB6LWluZGV4OiAyO1xufVxuXG4ud2ViZ2xfdGFiX2NvbnRlbnQgPiAqIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgLypcdHBvc2l0aW9uOnJlbGF0aXZlOyAqL1xufVxuXG4ud2ViZ2xfdGFiX2NvbnRlbnQgLmNsZWFyZml4IHtcbiAgcG9zaXRpb246IGluaXRpYWw7XG59XG5cbi53ZWJnbF90YWJfZWRpdG9yIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY2xlYXI6IGJvdGg7XG4gIHBhZGRpbmc6IDEwcHggNHB4IDEwcHggNHB4O1xuICBtYXJnaW46IDBweCAwcHggMjBweCAwcHg7XG4gIGJvcmRlcjogMHB4O1xuICBjb2xvcjogI2MwOTg1MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMztcbn1cblxuLyogc3BhbiB0aGF0IGNvbnRhaW5zIHRoZSB0YWJiZWQgdGV4dCBlZGl0b3JzICovXG4ud2ViZ2xfY29kZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLndlYmdsX3RhYl9jb250ZW50c190ZXh0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY2xlYXI6IGJvdGg7XG4gIHBhZGRpbmc6IDEwcHggNHB4IDEwcHggNHB4O1xuICBtYXJnaW46IDBweCAwcHggMjBweCAwcHg7XG4gIGJvcmRlcjogMHB4O1xuICBjb2xvcjogI2MwOTg1MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMztcbiAgei1pbmRleDogMTtcbn1cblxuLndlYmdsX2Vycm9yTWVzc2FnZXMge1xuICBjb2xvcjogcmVkO1xufVxuXG4ud2ViZ2xfd2FybmluZ01lc3NhZ2VzIHtcbiAgY29sb3I6IHJnYigxNzAsIDM0LCAxNjQpO1xufVxuXG4ud2ViZ2xfaW5mb01lc3NhZ2VzIHtcbiAgY29sb3I6IHJnYigyNCwgMTQ0LCA2NCk7XG59XG5cbi53ZWJnbF9vdXRwdXRfZGl2IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCBsaWdodGdyZXk7XG4gIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gIHBhZGRpbmctdG9wOiA0cHg7XG4gIHBhZGRpbmctbGVmdDogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGhlaWdodDogMTRlbTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4ud2ViZ2xfZWRpdG9yX2hpZ2hsaWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFRUVFRUU7IC8qIHZlcnkgbGlnaHQgZ3JleSAqL1xufVxuXG4vKiBUbyBhbHdheXMgc2hvdyB0aGUgc2Nyb2xsIGJhciBpbiBhIGRpdiAqL1xuOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIHdpZHRoOiA3cHg7XG59XG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuNSk7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjUpO1xufVxuXG4ud2ViZ2xfYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAzcHggNnB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGlzdGxlO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1vLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLndlYmdsX2NoZWNrYm94IHtcbn1cblxuLndlYmdsX3RhYmJlZF9lZGl0b3Ige1xuICB3aWR0aDogMTAwJTtcbiAgcmVzaXplOiBub25lO1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDlwdDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4uY2FudmFzM0Qge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uQ29kZU1pcnJvci53ZWJnbC1kZWZhdWx0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiA4cHQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuYnV0dG9uLmJ0bi53ZWJnbC1kZWZhdWx0IHtcbiAgZm9udC1zaXplOiA4cHQ7XG59XG5cblxuIiwiLmhpZGRlbntcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnZpZXctdG9nZ2xle1xuICBwYWRkaW5nOiAwLjg1ZW07XG59XG5cbi5wcmVzZW50YXRpb24tbW9kZSAuc2VjdGlvbiAqe1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHJlc2VudGF0aW9uLW1vZGUgLnNlY3Rpb24gLnJ1bmVzdG9uZSwgLnByZXNlbnRhdGlvbi1tb2RlIC5zZWN0aW9uIC5ydW5lc3RvbmUgKntcbiAgZGlzcGxheTogaW5pdGlhbDtcbn1cblxuLnByZXNlbnR7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbn1cblxuLmZ1bGwtaGVpZ2h0e1xuICAgIGhlaWdodDogMTAwdmg7XG59XG5cbi5ib3R0b217XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbn1cblxuI2NvZGVEaXNwbGF5RGl2e1xuICB3aWR0aDogYXV0byFpbXBvcnRhbnQ7XG59XG5cbmRpdi5FeGVjdXRpb25WaXN1YWxpemVyICNkYXRhVml6e1xuICBtYXJnaW46IDA7ICBcbn1cblxuZGl2LkV4ZWN1dGlvblZpc3VhbGl6ZXIgZGl2I3N0YWNrSGVhZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jc3RhY2tGcmFtZXtcbiAgZGlzcGxheTogYmxvY2shaW1wb3J0YW50O1xufVxuXG4jc3RhY2tIZWFwVGFibGUge1xuICB3aWR0aDogMTAwJTtcbn1cblxuI3N0YWNrSGVhcFRhYmxlIHRyIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbmRpdi5FeGVjdXRpb25WaXN1YWxpemVyIHRkI3N0YWNrX3RkLCBkaXYuRXhlY3V0aW9uVmlzdWFsaXplciB0ZCNoZWFwX3RkIHtcbiAgZmxleDogMTtcbn1cblxuLnByZXNlbnRhdGlvbi10aXRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wcmVzZW50IC5wcmVzZW50YXRpb24tdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuZGl2LkV4ZWN1dGlvblZpc3VhbGl6ZXIgZGl2I2hlYXAge1xuICBmbG9hdDogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4jc3RhY2tfdGQgdHIge1xuICBkaXNwbGF5OiB0YWJsZS1yb3c7XG59XG5cbiNoZWFwX3RkIHRyIHtcbiAgZGlzcGxheTogdGFibGUtcm93O1xufVxuXG4jY29kZURpc3BsYXlEaXZ7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4vKiAgYm5tIC0tIGNvbW1lbnQgdGhpcyBvdXQgZm9yIG5vdyBhcyBpdCBicmVha3MgY29kZWxlbnMgaW5kZW50YXRpb24gYW5kIGFycm93c1xuLnZpc3VhbGl6ZXIgdHJ7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4qL1xuXG4jdml6TGF5b3V0VGR7XG4gIGZsZXg6IDE7XG59XG5cbiN2aXpMYXlvdXRUZEZpcnN0IHtcbiAgZmxleDogMjtcbn1cblxuI3ZpekxheW91dFRkU2Vjb25kIHtcbiAgZmxleDogMTtcbn1cblxuI3ZpekxheW91dFRkVGhpcmQge1xuICBmbGV4OiAyO1xufVxuXG4jcHJvZ091dHB1dHMge1xuICBkaXNwbGF5OiBibG9jayFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAyMHB4O1xuICB3aWR0aDogNjAlO1xufVxuXG4jcHlTdGRvdXQge1xuICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG59XG5cbmRpdi5FeGVjdXRpb25WaXN1YWxpemVyICNweVN0ZG91dCB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuZGl2LkV4ZWN1dGlvblZpc3VhbGl6ZXIgdGFibGUudmlzdWFsaXplciB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucHJlc2VudCAjdml6TGF5b3V0VGRUaGlyZHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmFjLWJsb2Nre1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5yb3ctbW9kZSAuYWMtYmxvY2t7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucm93LW1vZGUgLmFjX291dHB1dCwgLnJvdy1tb2RlIC5hY19jb2RlX2RpdntcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4ucm93LW1vZGUgLmFjX2NvZGVfZGl2e1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5hY19zZWN0aW9uPioge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5hY19vdXRwdXR7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5hY19vdXRwdXQgcHJlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDYwcHg7XG59XG5cbi5Db2RlTWlycm9ye1xuICBtYXJnaW46IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBtaW4taGVpZ2h0OiA2MHB4O1xufVxuXG4uY29udGFpbmVyIC5zZWN0aW9uID4gcnVuZXN0b25lOm5vdCguYWNfc2VjdGlvbil7XG4gIG1heC13aWR0aDpub25lO1xuICBtYXJnaW46IDA7XG59XG5cbi5wcmVzZW50YXRpb24tb3B0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5sYXlvdXQtYnRuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZCRUVENTtcbiAgYm9yZGVyOiAycHggc29saWQgI0RGRDRCRTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBwYWRkaW5nOiAuMjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDAgLjVyZW07XG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZTtcbn1cblxuLmxheW91dC1idG4uYWN0aXZlLWxheW91dCwgLmxheW91dC1idG46Zm9jdXMge1xuICBib3JkZXI6IDJweCBzb2xpZCAjOTc5Nzk3O1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uc2tldGNocGFkLWNvbnRhaW5lciB7XG4gIG1pbi13aWR0aDogNTAlO1xuICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgcGFkZGluZzogMCAxNXB4O1xufVxuXG4uY2FyZC1tb2RlIC5za2V0Y2hwYWQtY29udGFpbmVyIHtcbiAgd2lkdGg6IDUwJTtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qbWFyZ2luOiAwIC0xNXB4OyovXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5yb3ctbW9kZSAuZXJyb3Ige1xuICBtYXJnaW46IDIwcHggMTVweDtcbn1cblxuLmNhcmQtbW9kZSAuZXJyb3Ige1xuICBtYXJnaW46IDI4cHggMCAwO1xuICB3aWR0aDogNTAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgbWFyZ2luLXRvcDogMjhweDtcbn1cblxuLnNrZXRjaHBhZCB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXI6IDJweCBzb2xpZCBncmV5O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5idG4tcHJlc2VudGVyIHtcbiAgcGFkZGluZzogLjVyZW0gMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW46IDEuNXJlbSAwIDEuNXJlbSAxLjVyZW07XG59XG5cbi5idG4tZ3JleS1vdXRsaW5lIHtcbiAgYm9yZGVyOiAycHggc29saWQgZ3JleTtcbiAgY29sb3I6IGdyZXk7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xufVxuXG4uYnRuLWdyZXktc29saWQge1xuICBib3JkZXI6IDJweCBzb2xpZCBncmV5O1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQ6IGdyZXk7XG59XG5cbmJvZHkucHJlc2VudCAuYWNfc2VjdGlvbj4qIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuYm9keS5wcmVzZW50IGlmcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5ib2R5LnByZXNlbnQge1xuICAvKiBmb250LXNpemU6IDIuMGVtOyAqL1xufVxuXG5ib2R5LnByZXNlbnQgI3JlbGF0aW9ucy1wcmV2LCBib2R5LnByZXNlbnQgI3JlbGF0aW9ucy1uZXh0LCBib2R5LnByZXNlbnQgLm5hdkxpbmtCZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkucHJlc2VudCAuYnRuLXByZXNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbmJvZHkucHJlc2VudCAuYnRuLXByZXNlbnRlci5wcmV2LWV4ZXJjaXNlIHsgbGVmdDogMHB4OyB9XG5ib2R5LnByZXNlbnQgLmJ0bi1wcmVzZW50ZXIubmV4dC1leGVyY2lzZSB7IHJpZ2h0OiAwcHg7IH1cblxuLyogLmNvbC1tZC0xMiB7XG4gIHdpZHRoOiA1OC4zMzMzMzMzMzMzMzMzMzYlO1xufVxuXG4uY2FyZC1tb2RlIC5jb2wtbWQtNyB7XG4gIHdpZHRoOiA1MCU7XG59ICovXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/