@charset "UTF-8";
html {
  /*-webkit-text-size-adjust:100%;
    -ms-text-size-adjust:100%;*/
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-font-smoothing: antialiased; }

body {
  font-size: 12px;
  -webkit-text-size-adjust: 100% !important;
  font-family: 'helvetica','PingFangSC','微软雅黑', 'Microsoft YaHei', '华文细黑', 'STHeiti', sans-serif; }

@media (max-width: 767px) {
  -webkit-user-select: none;
  /*webkit浏览器*/
  user-select: none; }

body,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td,
hr,
button,
article,
aside,
details,
figcaption,
figure,
footer,
header,
optgroup,
menu,
nav,
section {
  margin: 0;
  padding: 0; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
optgroup,
menu,
nav,
section {
  display: block; }

audio,
canvas,
video {
  display: inline-block; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1em; }

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  a:active {
    background-color: transparent; } }

small,
cite,
code,
em,
th,
i,
b {
  font-size: 1em;
  font-style: normal;
  font-weight: 500;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

input,
select,
textarea,
button {
  font-size: 1em;
  outline: none;
  /* -webkit-box-sizing:content-box;
    -moz-box-sizing:content-box;
    box-sizing:content-box;*/ }

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

button,
input[type=button],
input[type=submit] {
  cursor: pointer; }

button[disabled],
input[disabled] {
  cursor: default; }

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

textarea {
  overflow: auto;
  vertical-align: top; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

fieldset,
img,
iframe {
  border: 0 none; }

img {
  display: inline-block;
  vertical-align: bottom;
  -ms-interpolation-mode: bicubic;
  border: none; }

iframe {
  display: block; }

ul,
ol {
  list-style: none; }

li {
  vertical-align: top; }

q:before,
q:after {
  content: ''; }

.cf:before,
.cf:after {
  content: '';
  display: table; }

.cf:after {
  clear: both; }

a {
  color: inherit;
  text-decoration: none;
  outline: 0; }

/*flex布局*/
.flex, .flex_hc, .flex_v_justify, .flex_vc, .flex_v_h, [class^="btn_"],
[class*=" btn_"], .ui_pop, .flex_justify, .flex_h_avg {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex; }

.flex_hc, .flex_v_justify {
  -webkit-align-items: center;
  align-items: center; }

.flex_vc {
  -webkit-justify-content: center;
  justify-content: center; }

.flex_v_h, [class^="btn_"],
[class*=" btn_"], .ui_pop {
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center; }

.flex_justify, .flex_v_justify {
  justify-content: space-between;
  -webkit-justify-content: space-between; }

.flex_h_avg {
  -webkit-justify-content: space-around;
  justify-content: space-around; }

.g_max, .svg_icon svg {
  width: 100%;
  height: 100%; }

.g_img {
  width: 100%;
  background-color: #ebebeb; }

.g_v_mid, .mod_header .logo, .mod_header .icon_menu {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%); }

.g_c_mid {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%); }

.g_v_c_mid, .mod_header .icon_menu .icon_menu_items {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  -webkit-transform: translate3d(-50%, -50%, 0);
  -moz-transform: translate3d(-50%, -50%, 0);
  -ms-transform: translate3d(-50%, -50%, 0); }

.g_bg_img {
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  width: 100%;
  background-position: center center; }

/*字体相关*/
/*UI组件*/
[class^="btn_"],
[class*=" btn_"] {
  -webkit-tap-highlight-color: transparent; }

.ui_pop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0);
  z-index: 1000; }

.mask {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 999; }

.svg_icon {
  display: inline-block; }

.svg_none {
  position: absolute;
  width: 0;
  height: 0; }

.none {
  display: none !important; }

.hide {
  visibility: hidden !important; }

.icon,
.svg_icon {
  display: inline-block;
  color: inherit; }

.svg_icon {
  width: 16px;
  height: 16px; }

.svg_icon path,
.svg_icon use {
  fill: currentColor; }

.m_grid {
  text-align: justify;
  line-height: 0;
  /*解决inline-box下内联元素基线问题*/ }
  .m_grid .m_justify {
    transform: translateY(0);
    display: inline-block;
    vertical-align: top;
    transition: all .2s ease;
    box-sizing: border-box; }
  .m_grid .fill {
    height: 0 !important;
    margin-bottom: 0 !important; }
  .m_grid .m_justify_fix {
    display: inline-block;
    vertical-align: top;
    width: 100%;
    height: 0;
    overflow: hidden; }

.over_scroll {
  transition: all .2s ease; }
  .over_scroll:hover {
    background-color: rgba(255, 255, 255, 0.96); }

.f_pf {
  font-family: 'PingFangSC-Medium', '微软雅黑', 'Microsoft YaHei', '华文细黑', 'STHeiti', sans-serif; }

.f_re, .mod_footer .list, .mod_footer .list .txt .copyright, .title {
  font-family: 'PingFangSC-Regular', '微软雅黑', 'Microsoft YaHei', '华文细黑', 'STHeiti', sans-serif;
  font-weight: 400; }

.f_st {
  font-family: 'STSongti-SC-Regular', "Songti SC", '微软雅黑', 'Microsoft YaHei', '华文细黑', 'STHeiti', sans-serif; }

.f_he {
  font-family: 'helvetica', 'PingFangSC', '微软雅黑', 'Microsoft YaHei', '华文细黑', 'STHeiti', sans-serif; }

.f_sc_l, .intro, .middle_desc .right {
  font-family: 'PingFangSC-Light', 'PingFangSC', '微软雅黑', 'Microsoft YaHei', '华文细黑', 'STHeiti', sans-serif; }

.mod_header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 80px;
  padding-right: 80px;
  font-size: 15px;
  font-family: 'PingFangSC-Medium', '微软雅黑', 'Microsoft YaHei', '华文细黑', 'STHeiti', sans-serif;
  z-index: 3; }
  .mod_header .logo {
    font-size: 0;
    left: 40px;
    z-index: 3; }
    .mod_header .logo .img {
      display: inline-block;
      width: 25px;
      height: 25px;
      background-image: url("../imgs/if-logo.svg");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center; }
    .mod_header .logo .desc_wrap {
      overflow: hidden;
      display: inline-block;
      margin-left: 10px; }
      .mod_header .logo .desc_wrap .desc {
        display: inline-block;
        width: 77px;
        height: 24px;
        background-image: url("../imgs/if-logo-desc.svg");
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center;
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        -moz-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        -ms-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        -webkit-animation-duration: .45s;
        -moz-animation-duration: .45s;
        -ms-animation-duration: .45s;
        animation-duration: .45s;
        -webkit-animation-direction: alternate;
        -moz-animation-direction: alternate;
        -ms-animation-direction: alternate;
        animation-direction: alternate;
        -webkit-animation-fill-mode: forwards;
        -moz-animation-fill-mode: forwards;
        -ms-animation-fill-mode: forwards;
        animation-fill-mode: forwards; }
  .mod_header .white .img {
    background-image: url("../imgs/if-logo-white.svg"); }
  .mod_header .nav {
    float: right;
    overflow: hidden; }
  .mod_header .list {
    animation-duration: .45s;
    animation-direction: alternate;
    animation-fill-mode: forwards; }
    .mod_header .list .item {
      float: left;
      line-height: 80px;
      margin: 0 20px; }
      .mod_header .list .item a:hover {
        opacity: .8; }
  .mod_header .icon_menu {
    right: 40px;
    width: 36px;
    height: 36px;
    cursor: pointer; }
    .mod_header .icon_menu .icon_menu_items {
      width: 18px;
      height: 18px; }
      .mod_header .icon_menu .icon_menu_items .menu_item_1,
      .mod_header .icon_menu .icon_menu_items .menu_item_2 {
        position: absolute;
        top: 50%;
        left: 50%;
        display: inline-block;
        width: 2px;
        height: 24px;
        margin-left: -1px;
        margin-top: -12px;
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        -moz-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        -ms-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        -webkit-animation-duration: .45s;
        -moz-animation-duration: .45s;
        -ms-animation-duration: .45s;
        animation-duration: .45s;
        -webkit-animation-direction: alternate;
        -moz-animation-direction: alternate;
        -ms-animation-direction: alternate;
        animation-direction: alternate;
        -webkit-animation-fill-mode: forwards;
        -moz-animation-fill-mode: forwards;
        -ms-animation-fill-mode: forwards;
        animation-fill-mode: forwards; }

.default_open .icon_menu .menu_item_1 {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.default_open .icon_menu .menu_item_2 {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.header_close .logo .img:hover + .desc_wrap .desc {
  -webkit-animation-name: descToRight;
  -moz-animation-name: descToRight;
  -ms-animation-name: descToRight;
  animation-name: descToRight; }

.header_close .nav .list {
  -webkit-animation-name: navToRight;
  -moz-animation-name: navToRight;
  -ms-animation-name: navToRight;
  animation-name: navToRight; }

.header_close .logo .desc {
  -webkit-animation-name: descToLeft;
  -moz-animation-name: descToLeft;
  -ms-animation-name: descToLeft;
  animation-name: descToLeft; }

.header_close .icon_menu .menu_item_1 {
  -webkit-animation-name: menu1In;
  -moz-animation-name: menu1In;
  -ms-animation-name: menu1In;
  animation-name: menu1In; }

.header_close .icon_menu .menu_item_2 {
  -webkit-animation-name: menu2In;
  -moz-animation-name: menu2In;
  -ms-animation-name: menu2In;
  animation-name: menu2In; }

.header_open .nav .list {
  -webkit-animation-name: navToLeft;
  -moz-animation-name: navToLeft;
  -ms-animation-name: navToLeft;
  animation-name: navToLeft; }

.header_open .logo .desc {
  -webkit-animation-name: descToRight;
  -moz-animation-name: descToRight;
  -ms-animation-name: descToRight;
  animation-name: descToRight; }

.header_open .icon_menu .menu_item_1 {
  -webkit-animation-name: menu1Out;
  -moz-animation-name: menu1Out;
  -ms-animation-name: menu1Out;
  animation-name: menu1Out; }

.header_open .icon_menu .menu_item_2 {
  -webkit-animation-name: menu2Out;
  -moz-animation-name: menu2Out;
  -ms-animation-name: menu2Out;
  animation-name: menu2Out; }

@media (max-width: 767px) {
  .mod_header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    height: 60px;
    padding: 0;
    background-color: white;
    font-family: 'PingFangSC-Light', 'PingFangSC', '微软雅黑', 'Microsoft YaHei', '华文细黑', 'STHeiti', sans-serif; }
    .mod_header .logo {
      left: 16px; }
    .mod_header .nav {
      float: initial;
      background-color: rgba(255, 255, 255, 0.96); }
      .mod_header .nav .list {
        padding: 22.4% 0 9.067%; }
        .mod_header .nav .list .item {
          text-align: center;
          float: initial;
          color: #A8A8A8;
          margin: 12.267% 0;
          line-height: 28px;
          font-size: 20px; }
      .mod_header .nav .icon_menu {
        right: 10px; }
        .mod_header .nav .icon_menu .menu_item_1 {
          background-color: #B0B0B0; }
        .mod_header .nav .icon_menu .menu_item_2 {
          background-color: #B0B0B0; }
  .default_open .logo .desc_wrap .desc {
    opacity: 0; }
  .default_open .nav .list {
    display: none;
    -webkit-animation: none;
    -moz-animation: none;
    -ms-animation: none;
    animation: none; }
  .default_open .nav .icon_menu .menu_item_1 {
    -webkit-transform: translateY(4px) rotate(90deg);
    -moz-transform: translateY(4px) rotate(90deg);
    -ms-transform: translateY(4px) rotate(90deg);
    transform: translateY(4px) rotate(90deg); }
  .default_open .nav .icon_menu .menu_item_2 {
    -webkit-transform: translateY(-4px) rotate(-90deg);
    -moz-transform: translateY(-4px) rotate(-90deg);
    -ms-transform: translateY(-4px) rotate(-90deg);
    transform: translateY(-4px) rotate(-90deg); }
  .header_open .logo .desc {
    -webkit-animation-name: descToLeft;
    -moz-animation-name: descToLeft;
    -ms-animation-name: descToLeft;
    animation-name: descToLeft; }
  .header_open .nav .list {
    display: none;
    -webkit-animation: none;
    -ms-animation: none;
    -moz-animation: none;
    animation: none; }
  .header_open .nav .icon_menu .menu_item_1 {
    -webkit-animation-name: h5-menu1Out;
    -moz-animation-name: h5-menu1Out;
    -ms-animation-name: h5-menu1Out;
    animation-name: h5-menu1Out; }
  .header_open .nav .icon_menu .menu_item_2 {
    -webkit-animation-name: h5-menu2Out;
    -moz-animation-name: h5-menu2Out;
    -ms-animation-name: h5-menu2Out;
    animation-name: h5-menu2Out; }
  .header_close:after {
    content: " ";
    display: block;
    position: fixed;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6); }
  .header_close .logo .img {
    background-image: url(../imgs/if-logo.svg) !important; }
  .header_close .logo .desc_wrap .desc {
    background-image: url(../imgs/if-logo-desc.svg) !important;
    -webkit-animation-name: descToRight;
    -moz-animation-name: descToRight;
    -ms-animation-name: descToRight;
    animation-name: descToRight; }
  .header_close .nav .list {
    -webkit-animation-name: h5-nav;
    -moz-animation-name: h5-nav;
    -ms-animation-name: h5-nav;
    animation-name: h5-nav; }
  .header_close .nav .icon_menu .menu_item_1 {
    background-color: #B0B0B0 !important;
    -webkit-animation-name: h5-menu1In;
    -moz-animation-name: h5-menu1In;
    -ms-animation-name: h5-menu1In;
    animation-name: h5-menu1In; }
  .header_close .nav .icon_menu .menu_item_2 {
    background-color: #B0B0B0 !important;
    -webkit-animation-name: h5-menu2In;
    -moz-animation-name: h5-menu2In;
    -ms-animation-name: h5-menu2In;
    animation-name: h5-menu2In; } }

@-webkit-keyframes menu1In {
  0% {
    -webkit-transform: translateY(0) rotate(45deg); }
  50% {
    -webkit-transform: translateY(0) rotate(90deg); }
  100% {
    -webkit-transform: translateY(4px) rotate(90deg); } }

@-moz-keyframes menu1In {
  0% {
    -moz-transform: translateY(0) rotate(45deg); }
  50% {
    -moz-transform: translateY(0) rotate(90deg); }
  100% {
    -moz-transform: translateY(4px) rotate(90deg); } }

@keyframes menu1In {
  0% {
    transform: translateY(0) rotate(45deg); }
  50% {
    transform: translateY(0) rotate(90deg); }
  100% {
    transform: translateY(4px) rotate(90deg); } }

@-webkit-keyframes menu2In {
  0% {
    -webkit-transform: translateY(0) rotate(-45deg); }
  50% {
    -webkit-transform: translateY(0) rotate(-90deg); }
  100% {
    -webkit-transform: translateY(-4px) rotate(-90deg); } }

@-moz-keyframes menu2In {
  0% {
    -moz-transform: translateY(0) rotate(-45deg); }
  50% {
    -moz-transform: translateY(0) rotate(-90deg); }
  100% {
    -moz-transform: translateY(-4px) rotate(-90deg); } }

@keyframes menu2In {
  0% {
    transform: translateY(0) rotate(-45deg); }
  50% {
    transform: translateY(0) rotate(-90deg); }
  100% {
    transform: translateY(-4px) rotate(-90deg); } }

@-webkit-keyframes menu1Out {
  0% {
    -webkit-transform: translateY(4px) rotate(90deg); }
  50% {
    -webkit-transform: translateY(0) rotate(90deg); }
  100% {
    -webkit-transform: translateY(0) rotate(45deg); } }

@-moz-keyframes menu1Out {
  0% {
    -moz-transform: translateY(4px) rotate(90deg); }
  50% {
    -moz-transform: translateY(0) rotate(90deg); }
  100% {
    -moz-transform: translateY(0) rotate(45deg); } }

@keyframes menu1Out {
  0% {
    transform: translateY(4px) rotate(90deg); }
  50% {
    transform: translateY(0) rotate(90deg); }
  100% {
    transform: translateY(0) rotate(45deg); } }

@-webkit-keyframes menu2Out {
  0% {
    -webkit-transform: translateY(-4px) rotate(-90deg); }
  50% {
    -webkit-transform: translateY(0) rotate(-90deg); }
  100% {
    -webkit-transform: translateY(0) rotate(-45deg); } }

@-moz-keyframes menu2Out {
  0% {
    -moz-transform: translateY(-4px) rotate(-90deg); }
  50% {
    -moz-transform: translateY(0) rotate(-90deg); }
  100% {
    -moz-transform: translateY(0) rotate(-45deg); } }

@keyframes menu2Out {
  0% {
    transform: translateY(-4px) rotate(-90deg); }
  50% {
    transform: translateY(0) rotate(-90deg); }
  100% {
    transform: translateY(0) rotate(-45deg); } }

@-webkit-keyframes navToRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(40%); } }

@-moz-keyframes navToRight {
  0% {
    opacity: 1;
    -moz-transform: translateX(0); }
  100% {
    opacity: 0;
    -moz-transform: translateX(40%); } }

@keyframes navToRight {
  0% {
    opacity: 1;
    transform: translateX(0); }
  100% {
    opacity: 0;
    transform: translateX(40%); } }

@-webkit-keyframes navToLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(40%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0%); } }

@-moz-keyframes navToLeft {
  0% {
    opacity: 0;
    -moz-transform: translateX(40%); }
  100% {
    opacity: 1;
    -moz-transform: translateX(0%); } }

@keyframes navToLeft {
  0% {
    opacity: 0;
    transform: translateX(40%); }
  100% {
    opacity: 1;
    transform: translateX(0%); } }

@-webkit-keyframes descToLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-60%); } }

@-moz-keyframes descToLeft {
  0% {
    opacity: 1;
    -moz-transform: translateX(0); }
  100% {
    opacity: 0;
    -moz-transform: translateX(-60%); } }

@keyframes descToLeft {
  0% {
    opacity: 1;
    transform: translateX(0); }
  100% {
    opacity: 0;
    transform: translateX(-60%); } }

@-webkit-keyframes descToRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-60%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@-moz-keyframes descToRight {
  0% {
    opacity: 0;
    -moz-transform: translateX(-60%); }
  100% {
    opacity: 1;
    -moz-transform: translateX(0); } }

@keyframes descToRight {
  0% {
    opacity: 0;
    transform: translateX(-60%); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

@-webkit-keyframes h5-menu1In {
  0% {
    -webkit-transform: translateY(4px) rotate(90deg); }
  50% {
    -webkit-transform: translateY(0) rotate(90deg); }
  100% {
    -webkit-transform: translateY(0) rotate(45deg); } }

@-moz-keyframes h5-menu1In {
  0% {
    -moz-transform: translateY(4px) rotate(90deg); }
  50% {
    -moz-transform: translateY(0) rotate(90deg); }
  100% {
    -moz-transform: translateY(0) rotate(45deg); } }

@keyframes h5-menu1In {
  0% {
    transform: translateY(4px) rotate(90deg); }
  50% {
    transform: translateY(0) rotate(90deg); }
  100% {
    transform: translateY(0) rotate(45deg); } }

@-webkit-keyframes h5-menu2In {
  0% {
    -webkit-transform: translateY(-4px) rotate(-90deg); }
  50% {
    -webkit-transform: translateY(0) rotate(-90deg); }
  100% {
    -webkit-transform: translateY(0) rotate(-45deg); } }

@-moz-keyframes h5-menu2In {
  0% {
    -moz-transform: translateY(-4px) rotate(-90deg); }
  50% {
    -moz-transform: translateY(0) rotate(-90deg); }
  100% {
    -moz-transform: translateY(0) rotate(-45deg); } }

@keyframes h5-menu2In {
  0% {
    transform: translateY(-4px) rotate(-90deg); }
  50% {
    transform: translateY(0) rotate(-90deg); }
  100% {
    transform: translateY(0) rotate(-45deg); } }

@-webkit-keyframes h5-menu1Out {
  0% {
    -webkit-transform: translateY(0) rotate(45deg); }
  50% {
    -webkit-transform: translateY(0) rotate(90deg); }
  100% {
    -webkit-transform: translateY(4px) rotate(90deg); } }

@-moz-keyframes h5-menu1Out {
  0% {
    -moz-transform: translateY(0) rotate(45deg); }
  50% {
    -moz-transform: translateY(0) rotate(90deg); }
  100% {
    -moz-transform: translateY(4px) rotate(90deg); } }

@keyframes h5-menu1Out {
  0% {
    transform: translateY(0) rotate(45deg); }
  50% {
    transform: translateY(0) rotate(90deg); }
  100% {
    transform: translateY(4px) rotate(90deg); } }

@-webkit-keyframes h5-menu2Out {
  0% {
    -webkit-transform: translateY(0) rotate(-45deg); }
  50% {
    -webkit-transform: translateY(0) rotate(-90deg); }
  100% {
    -webkit-transform: translateY(-4px) rotate(-90deg); } }

@-moz-keyframes h5-menu2Out {
  0% {
    -moz-transform: translateY(0) rotate(-45deg); }
  50% {
    -moz-transform: translateY(0) rotate(-90deg); }
  100% {
    -moz-transform: translateY(-4px) rotate(-90deg); } }

@keyframes h5-menu2Out {
  0% {
    transform: translateY(0) rotate(-45deg); }
  50% {
    transform: translateY(0) rotate(-90deg); }
  100% {
    transform: translateY(-4px) rotate(-90deg); } }

@-webkit-keyframes h5-nav {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-moz-keyframes h5-nav {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes h5-nav {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.mod_footer {
  width: 100%;
  padding: 80px 0 60px; }
  .mod_footer .list {
    position: relative;
    width: 1120px;
    margin: 0 auto;
    font-size: 0; }
    .mod_footer .list .item {
      position: relative;
      display: inline-block;
      margin-right: 20px;
      color: #B4BBBE; }
      .mod_footer .list .item:hover {
        color: #ff5722; }
      .mod_footer .list .item:nth-of-type(3):hover .qr_code {
        display: block; }
      .mod_footer .list .item .svg_icon {
        width: 22px;
        height: 22px; }
      .mod_footer .list .item .qr_code {
        position: absolute;
        top: -200px;
        left: 50%;
        margin-left: -83px;
        padding: 8px;
        text-align: center;
        font-size: 14px;
        background-color: white;
        display: none;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
        z-index: 2; }
        .mod_footer .list .item .qr_code:after {
          content: " ";
          position: absolute;
          bottom: -11px;
          left: 50%;
          margin-left: -6px;
          display: inline-block;
          border: 6px solid transparent;
          border-top-color: white; }
        .mod_footer .list .item .qr_code .img {
          width: 150px;
          height: 150px; }
    .mod_footer .list .txt {
      display: inline-block;
      font-size: 13px;
      line-height: 22px;
      color: #B4BBBE; }
      .mod_footer .list .txt .highlight {
        color: #ff5722; }
      .mod_footer .list .txt .copyright {
        position: absolute;
        top: 0;
        right: 0; }
      .mod_footer .list .txt b {
        font-weight: bold; }

@media screen and (max-width: 1439px) {
  .mod_footer .list {
    width: 77.778%; } }

@media (max-width: 767px) {
  .mod_footer {
    padding: 21.334% 0 13.334%; }
    .mod_footer .list {
      text-align: center; }
      .mod_footer .list .item .svg_icon {
        width: 24px;
        height: 24px; }
      .mod_footer .list .item:nth-child(4) {
        margin-right: 0; }
      .mod_footer .list .txt {
        position: absolute;
        left: 0;
        top: -39px;
        width: 100%;
        font-size: 12px; }
        .mod_footer .list .txt .copyright {
          position: initial; } }

@media (max-width: 321px) {
  .mod_footer .list .txt {
    font-size: 11px; } }

.hidden {
  overflow: hidden; }

.black {
  color: black !important; }

.mod_header {
  color: #A8A8A8; }
  .mod_header .menu_item_1, .mod_header .menu_item_2, .mod_header .menu_item_3 {
    background: #A8A8A8; }
  .mod_header .list .item:hover {
    color: #121212; }

.mod_container {
  font-size: 0;
  width: 1120px;
  margin: 160px auto 0; }

.title {
  font-size: 24px;
  line-height: 33px;
  font-weight: normal; }
  .title .txt {
    color: #A8A8A8; }

.type {
  margin: 2.858% 0 7.144%;
  line-height: 17px;
  font-size: 12px;
  color: #ff5722; }

.intro {
  width: 71.429%;
  line-height: 32px;
  margin-bottom: 2.858%;
  font-size: 17px;
  color: #6F6F6F; }
  .intro.mgb {
    margin-bottom: 7.143%; }

.video_box {
  position: relative;
  width: 100%; }
  .video_box .btn {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 96px;
    height: 96px;
    margin: -48px 0 0 -48px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.48);
    z-index: 3; }
    .video_box .btn:before {
      position: absolute;
      top: 32%;
      left: 40%;
      content: '';
      width: 0;
      height: 0;
      border-top: 19px solid transparent;
      border-left: 32px solid white;
      border-bottom: 19px solid transparent; }
  .video_box .video {
    width: 100%; }
  .video_box .img {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 2; }

.middle_desc {
  width: 100%;
  font-size: 17px;
  margin: 7.15% 0 7.15%; }
  .middle_desc .left {
    float: left;
    height: 100%;
    line-height: 33px;
    font-size: 24px;
    white-space: nowrap; }
  .middle_desc .right {
    float: right;
    width: 770px; }
  .middle_desc p {
    color: #303030;
    line-height: 30px;
    margin-bottom: 30px; }
    .middle_desc p:last-of-type {
      margin-bottom: 0; }

.imgs {
  margin-top: 1.78%; }
  .imgs .top {
    width: 100%;
    margin-bottom: 1.78%; }

.mod_three {
  margin-top: 80px; }
  .mod_three .img_wrap {
    position: relative;
    overflow: hidden; }
    .mod_three .img_wrap .img {
      position: relative;
      width: 100%;
      z-index: 3; }
  .mod_three .btn,
  .mod_three .wave {
    position: absolute;
    left: 32px;
    bottom: 32px;
    width: 124px;
    height: 60px;
    line-height: 62px;
    text-align: center;
    font-size: 17px;
    color: white;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 31.5px;
    z-index: 3;
    cursor: pointer; }
    .mod_three .btn:hover,
    .mod_three .wave:hover {
      opacity: .8; }
    .mod_three .btn .icon,
    .mod_three .wave .icon {
      line-height: 1;
      float: left;
      margin: 21px -12px 0 21px; }
    .mod_three .btn .svg_icon,
    .mod_three .wave .svg_icon {
      width: 18px;
      height: 18px; }
  .mod_three .less {
    opacity: 0;
    line-height: 60px;
    border: 1px solid rgba(151, 151, 151, 0.54); }
  .mod_three .fadeIn {
    opacity: 1;
    transition: opacity .2s ease-in .2s;
    -webkit-transition: opacity .2s ease-in .2s; }
  .mod_three .fadeOut {
    opacity: 0;
    transition: opacity .2s ease-in .1s;
    -webkit-transition: opacity .2s ease-in .1s; }
  .mod_three .wave {
    z-index: 1; }
  .mod_three .desc {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 80px 0 0 80px;
    font-size: 17px;
    opacity: 0;
    color: white;
    background: rgba(0, 0, 0, 0.8);
    z-index: 2; }
    .mod_three .desc .top {
      font-size: 24px;
      line-height: 33px;
      margin-bottom: 40px; }
    .mod_three .desc .list_box {
      width: 77%;
      overflow-x: hidden; }
    .mod_three .desc .list {
      width: calc(100% + 18px);
      height: 520px;
      overflow-y: scroll; }
      .mod_three .desc .list .item {
        line-height: 30px;
        margin-bottom: 40px; }
    .mod_three .desc.fadeIn {
      opacity: 1;
      transition: opacity .2s ease-in .2s;
      -webkit-transition: opacity .2s ease-in .2s; }
    .mod_three .desc.fadeOut {
      opacity: 0;
      transition: opacity .2s ease-in;
      -webkit-transition: opacity .2s ease-in; }

.mask {
  background: black;
  text-align: center; }
  .mask:hover .mask_close {
    opacity: 1;
    transition: none; }
  .mask .ver_box,
  .mask .video_box {
    width: 1120px;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    -moz-transform: translate3d(-50%, -50%, 0);
    -ms-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0); }
    .mask .ver_box .img,
    .mask .video_box .img {
      width: 100%; }
    .mask .ver_box .video,
    .mask .video_box .video {
      width: 100%; }
  .mask .mask_close {
    position: absolute;
    top: 3.8vh;
    right: 2.7vw;
    width: 44px;
    height: 44px;
    line-height: 44px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    color: white;
    z-index: 6;
    opacity: 0;
    transition: opacity .2s ease-in; }
    .mask .mask_close:hover {
      background: rgba(255, 255, 255, 0.3); }
    .mask .mask_close .icon {
      position: absolute;
      top: 50%;
      left: 50%;
      line-height: 1;
      margin: -9px 0 0 -9px; }
    .mask .mask_close .svg_icon {
      width: 18px;
      height: 18px; }

@media screen and (max-width: 1439px) {
  .mod_container {
    width: 78.82%; }
  .mod_three .img_wrap .desc {
    padding: 7.143% 0 0 7.143%; }
  .mod_three .img_wrap .list_box {
    width: 83%; }
  .mod_three .img_wrap .list {
    height: 36vw; } }

@media screen and (max-width: 1220px) {
  .middle_desc .left,
  .middle_desc .right {
    float: none; }
  .middle_desc .left {
    margin-bottom: 40px; }
  .mod_three .img_wrap .list_box {
    width: 91.75%; }
    .mod_three .img_wrap .list_box .list {
      height: 34vw; } }

@media screen and (max-width: 1135px) {
  .mask .ver_box,
  .mask .video_box {
    width: calc(100vw - 15px); } }

@media screen and (max-width: 1025px) {
  .intro {
    width: 100%; }
  .video_box .btn {
    width: 60px;
    height: 60px;
    margin: -30px 0 0 -30px; }
    .video_box .btn::before {
      border-top: 12px solid transparent;
      border-left: 20px solid white;
      border-bottom: 12px solid transparent; }
  .middle_desc .right {
    width: 100%; }
    .middle_desc .right p {
      line-height: 26.25px; }
  .mask .ver_box,
  .mask .video_box {
    width: 100vw; }
  .mask .mask_close {
    display: none; } }

@media screen and (max-width: 767px) {
  .mod_container {
    width: 91.5%;
    margin: 116px auto 0; }
  .title {
    line-height: 40px; }
    .title .txt {
      line-height: 40px; }
  .type {
    margin: 16px 0 40px; }
  .intro {
    width: 95.3%;
    margin-bottom: 40px;
    line-height: 26.25px;
    font-size: 15px;
    color: #484848; }
  .video_box {
    margin-bottom: 20px; }
  .middle_desc {
    width: 95.3%;
    margin: 80px auto; }
    .middle_desc .left {
      font-size: 20px;
      line-height: 28px; }
    .middle_desc .right {
      font-size: 15px;
      line-height: 26.25px; }
      .middle_desc .right p {
        margin-bottom: 17px; }
        .middle_desc .right p:last-of-type {
          margin-bottom: 0; }
  .imgs .bottom {
    display: none; }
  .imgs .pc_bottom {
    display: block; }
    .imgs .pc_bottom .img {
      width: 100%; }
  .imgs .top,
  .imgs .pc_bottom .img {
    margin-bottom: 20px; }
  .mod_three {
    margin: 0 0 20px; }
    .mod_three .img_wrap {
      position: relative;
      width: 100%; }
      .mod_three .img_wrap .box {
        display: none; } }

.z_hide {
  z-index: 1 !important; }

.scale_big {
  animation: wave .2s ease-out forwards;
  -webkit-animation: wave .2s ease-out forwards; }

.scale_small {
  animation: zoomOut .2s ease-out forwards;
  -webkit-animation: zoomOut .2s ease-out forwards; }

@keyframes wave {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    background: rgba(0, 0, 0, 0); }
  100% {
    -webkit-transform: scale(24);
    -moz-transform: scale(24);
    -ms-transform: scale(24);
    transform: scale(24);
    background: rgba(0, 0, 0, 0.8); } }

@keyframes zoomOut {
  0% {
    -webkit-transform: scale(24);
    -moz-transform: scale(24);
    -ms-transform: scale(24);
    transform: scale(24);
    background: rgba(0, 0, 0, 0.8); }
  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    background: rgba(0, 0, 0, 0); } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL3Byb2plY3RfMjAuY3NzIiwic291cmNlcyI6WyJjc3MvcHJvamVjdF8yMC5zY3NzIiwiY3NzL2NvbW1vbi9fYmFzZS5zY3NzIiwiY3NzL2NvbW1vbi9fY29sbGVjdGlvbi5zY3NzIiwiY3NzL2NvbW1vbi9fdmFyLnNjc3MiLCJjc3MvY29tbW9uL19taXhpbi5zY3NzIiwiY3NzL2NvbW1vbi9yZXNldC5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJy4vY29tbW9uL19iYXNlLnNjc3MnO1xuQGltcG9ydCAnLi9jb21wb25lbnRzL19oZWFkZXIuc2Nzcyc7XG5AaW1wb3J0ICcuL2NvbXBvbmVudHMvX2Zvb3Rlci5zY3NzJztcblxuLmhpZGRlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uYmxhY2sge1xuICBjb2xvcjogYmxhY2shaW1wb3J0YW50O1xufVxuLm1vZF9oZWFkZXJ7XG4gIEBpbmNsdWRlIGhlYWRlckZvbnRDb2xvcigjQThBOEE4KTtcbiAgLmxpc3R7XG4gICAgICAuaXRlbTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICMxMjEyMTI7XG4gICAgICB9XG4gIH0gIFxufVxuLm1vZF9jb250YWluZXIge1xuICBmb250LXNpemU6IDA7IC8vIOWPlua2iGlubGluZS1ibG9ja+eahOmXtOi3neW9seWTjVxuICB3aWR0aDogMTEyMHB4O1xuICBtYXJnaW46IDE2MHB4IGF1dG8gMDtcbn1cbi50aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIEBleHRlbmQgLmZfcmU7XG4gIC50eHQge1xuICAgIGNvbG9yOiAjQThBOEE4O1xuICB9XG59XG4udHlwZSB7XG4gIG1hcmdpbjogMi44NTglIDAgNy4xNDQlOyAvLyAzMnB4IDgwcHhcbiAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICRjb2xvcl9tYWluO1xufVxuLmludHJvIHtcbiAgd2lkdGg6IDcxLjQyOSU7IC8vIDgwMHB4LyAxMTIwXG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICBtYXJnaW4tYm90dG9tOiAyLjg1OCU7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgY29sb3I6ICM2RjZGNkY7XG4gIEBleHRlbmQgLmZfc2NfbDtcbiAgJi5tZ2Ige1xuICAgIG1hcmdpbi1ib3R0b206IDcuMTQzJTsgLy8gODBweC8gMTEyMFxuICB9XG59XG4udmlkZW9fYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgLmJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogOTZweDtcbiAgICBoZWlnaHQ6IDk2cHg7XG4gICAgbWFyZ2luOiAtNDhweCAwIDAgLTQ4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC40OCk7XG4gICAgei1pbmRleDogMztcbiAgICAmOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDMyJTtcbiAgICAgIGxlZnQ6IDQwJTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXItdG9wOiAxOXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWxlZnQ6IDMycHggc29saWQgd2hpdGU7XG4gICAgICBib3JkZXItYm90dG9tOiAxOXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuICAudmlkZW8ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5pbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyO1xuICB9XG59XG4ubWlkZGxlX2Rlc2Mge1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBtYXJnaW46IDcuMTUlIDAgNy4xNSU7IC8vIDgwcHggODBweFxuICAubGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gIC5yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiA3NzBweDtcbiAgICBAZXh0ZW5kIC5mX3NjX2w7XG4gIH1cbiAgcCB7XG4gICAgY29sb3I6ICMzMDMwMzA7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuLmltZ3Mge1xuICBtYXJnaW4tdG9wOiAxLjc4JTsgLy8yMHB4XG4gIC50b3Age1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNzglOyAvLyAyMHB4IC8xMTIwXG4gIH1cbn1cbi5tb2RfdGhyZWUge1xuICBtYXJnaW4tdG9wOiA4MHB4O1xuICAuaW1nX3dyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC5pbWcge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgfVxuICAuYnRuLFxuICAud2F2ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDMycHg7XG4gICAgYm90dG9tOiAzMnB4O1xuICAgIHdpZHRoOiAxMjRweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDYycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjUwKTtcbiAgICBib3JkZXItcmFkaXVzOiAzMS41cHg7XG4gICAgei1pbmRleDogMztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAuODtcbiAgICB9XG4gICAgLmljb24ge1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMjFweCAtMTJweCAwIDIxcHg7XG4gICAgfVxuICAgIC5zdmdfaWNvbiB7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICB9XG4gIH1cbiAgLmxlc3Mge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNTEsMTUxLDE1MSwwLjU0KTtcbiAgfVxuICAvLyDov5vlhaXmtojlpLHliqjnlLtcbiAgLmZhZGVJbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluIC4ycztcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4gLjJzO1xuICB9XG4gIC5mYWRlT3V0IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4gLjFzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbiAuMXM7XG4gIH1cbiAgLndhdmUge1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbiAgLmRlc2Mge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogODBweCAwIDAgODBweDtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjgwKTtcbiAgICB6LWluZGV4OiAyO1xuICAgIC50b3Age1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgICAubGlzdF9ib3gge1xuICAgICAgd2lkdGg6IDc3JTsgLy8gODAwcHgvMTE0MFxuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIH1cbiAgICAubGlzdCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMThweCk7XG4gICAgICBoZWlnaHQ6IDUyMHB4O1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgLml0ZW0ge1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5mYWRlSW4ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4gLjJzO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluIC4ycztcbiAgICB9XG4gICAgJi5mYWRlT3V0IHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluO1xuICAgIH1cbiAgfVxufVxuLm1hc2sge1xuICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAmOmhvdmVyIHtcbiAgICAubWFza19jbG9zZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTsgICAgXG4gICAgfVxuICB9XG4gIC52ZXJfYm94LFxuICAudmlkZW9fYm94IHtcbiAgICB3aWR0aDogMTEyMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsLTUwJSwwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwtNTAlLDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsLTUwJSwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsLTUwJSwwKTtcbiAgICAuaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAudmlkZW8ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIC5tYXNrX2Nsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzLjh2aDsgLy8gNDBweFxuICAgIHJpZ2h0OiAyLjd2dzsgLy8gNDBweFxuICAgIHdpZHRoOiA0NHB4O1xuICAgIGhlaWdodDogNDRweDtcbiAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMSk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHotaW5kZXg6IDY7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMyk7XG4gICAgfVxuICAgIC5pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW46IC05cHggMCAwIC05cHg7XG4gICAgfVxuICAgIC5zdmdfaWNvbiB7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICB9XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0MzlweCkge1xuICAubW9kX2NvbnRhaW5lciB7XG4gICAgd2lkdGg6IDc4LjgyJTsgLy8gMTQ0MOS4i+eahDExMjBcbiAgfVxuICAubW9kX3RocmVlIHtcbiAgICAuaW1nX3dyYXAge1xuICAgICAgLmRlc2Mge1xuICAgICAgICBwYWRkaW5nOiA3LjE0MyUgMCAwIDcuMTQzJTsgLy8gODAvMTEyMCA4MC83MjBcbiAgICAgIH1cbiAgICAgIC5saXN0X2JveCB7XG4gICAgICAgIHdpZHRoOiA4MyU7IC8vIO+8iDU1MC0xNjDvvIkgLyA1NTBcbiAgICAgIH1cbiAgICAgIC5saXN0IHtcbiAgICAgICAgaGVpZ2h0OiAzNnZ3O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIyMHB4KSB7XG4gIC5taWRkbGVfZGVzYyB7XG4gICAgLmxlZnQsXG4gICAgLnJpZ2h0IHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbiAgICAubGVmdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgfVxuICAubW9kX3RocmVlIHtcbiAgICAuaW1nX3dyYXAge1xuICAgICAgLmxpc3RfYm94IHtcbiAgICAgICAgd2lkdGg6IDkxLjc1JTtcbiAgICAgICAgLmxpc3Qge1xuICAgICAgICAgIGhlaWdodDogMzR2dztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEzNXB4KSB7XG4gIC5tYXNrIHtcbiAgICAudmVyX2JveCxcbiAgICAudmlkZW9fYm94IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMTVweCk7XG4gICAgfVxuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgLmludHJvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAudmlkZW9fYm94IHtcbiAgICAuYnRuIHtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgbWFyZ2luOiAtMzBweCAwIDAgLTMwcHg7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItdG9wOiAxMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdDogMjBweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMTJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm1pZGRsZV9kZXNjIHtcbiAgICAucmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI2LjI1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5tYXNrIHtcbiAgICAudmVyX2JveCxcbiAgICAudmlkZW9fYm94IHtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICB9XG4gICAgLm1hc2tfY2xvc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbi8vIOenu+WKqOerr+S7o+eggVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLm1vZF9jb250YWluZXIge1xuICAgIHdpZHRoOiA5MS41JTsgXG4gICAgbWFyZ2luOiAxMTZweCBhdXRvIDA7XG4gIH1cbiAgLnRpdGxlIHtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAudHh0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIH1cbiAgfVxuICAudHlwZSB7XG4gICAgbWFyZ2luOiAxNnB4IDAgNDBweDtcbiAgfVxuICAuaW50cm8ge1xuICAgIHdpZHRoOiA5NS4zJTsgLy8gMzI3cHhcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNi4yNXB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBjb2xvcjogIzQ4NDg0ODtcbiAgfVxuICAudmlkZW9fYm94IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG4gIC5taWRkbGVfZGVzYyB7XG4gICAgd2lkdGg6IDk1LjMlOyAvLyAzMjdweFxuICAgIG1hcmdpbjogODBweCBhdXRvO1xuICAgIC5sZWZ0IHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIH1cbiAgICAucmlnaHQge1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2LjI1cHg7XG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTdweDtcbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmltZ3Mge1xuICAgIC5ib3R0b20ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLnBjX2JvdHRvbSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIC5pbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRvcCxcbiAgICAucGNfYm90dG9tIC5pbWcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gIH1cbiAgLm1vZF90aHJlZSB7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAuaW1nX3dyYXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAuYm94IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gaW1n5bGC57qn6LCD5pW0XG4uel9oaWRlIHtcbiAgei1pbmRleDogMSFpbXBvcnRhbnQ7XG59XG4uc2NhbGVfYmlnIHtcbiAgYW5pbWF0aW9uOiB3YXZlIC4ycyBlYXNlLW91dCBmb3J3YXJkcztcbiAgLXdlYmtpdC1hbmltYXRpb246IHdhdmUgLjJzIGVhc2Utb3V0IGZvcndhcmRzO1xufVxuLnNjYWxlX3NtYWxsIHtcbiAgYW5pbWF0aW9uOiB6b29tT3V0IC4ycyBlYXNlLW91dCBmb3J3YXJkcztcbiAgLXdlYmtpdC1hbmltYXRpb246IHpvb21PdXQgLjJzIGVhc2Utb3V0IGZvcndhcmRzO1xufVxuQGtleWZyYW1lcyB3YXZlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDApO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgyNCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDI0KTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgyNCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgyNCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuOCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgyNCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDI0KTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgyNCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgyNCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuOCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMCk7XG4gIH1cbn0iLCJAaW1wb3J0ICdfY29sbGVjdGlvbic7XG5AaW1wb3J0ICdyZXNldCc7XG4vKmZsZXjluIPlsYAqL1xuXG4uZmxleCB7XG4gICAgLy8gZGlzcGxheTogYm94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OyAvLyBkaXNwbGF5OiAtbW96LWJveDtcbiAgICAvLyBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLy/lnoLnm7TlsYXkuK1cbi8v6L+Z5Liq5ZG95ZCN5ZKM5rC05bmz5bGF5Lit5pCe5re35LqGLCDpgqPlsLHov5nmoLflhYjplJnkuIvljrvlkKcuLlxuLmZsZXhfaGMge1xuICAgIEBleHRlbmQgLmZsZXg7IC8vIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOyAvLyAtbW96LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLy8gLW1zLWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLy8gLW8tYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vL+awtOW5s+WxheS4rVxuLmZsZXhfdmMge1xuICAgIEBleHRlbmQgLmZsZXg7IC8vIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyAtbW96LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC8vIC1tcy1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAvLyAtby1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLy/msLTlubMs5Z6C55u05bGF5LitXG4uZmxleF92X2gge1xuICAgIEBleHRlbmQgLmZsZXg7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLy/kuKTnq6/lr7npvZBcbi5mbGV4X2p1c3RpZnkge1xuICAgIEBleHRlbmQgLmZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4vL+WeguebtOWxheS4rSDkuKTmrrXlr7npvZBcbi5mbGV4X3ZfanVzdGlmeSB7XG4gICAgQGV4dGVuZCAuZmxleF9qdXN0aWZ5O1xuICAgIEBleHRlbmQgLmZsZXhfaGM7XG59XG5cbi5mbGV4X2hfYXZnIHtcbiAgICBAZXh0ZW5kIC5mbGV4O1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbi5nX21heCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uZ19pbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG59XG5cbi5nX3ZfbWlkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5nX2NfbWlkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4uZ192X2NfbWlkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbn1cblxuLmdfYmdfaW1nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuXG4vKuWtl+S9k+ebuOWFsyovXG5cbi8qVUnnu4Tku7YqL1xuXG5bY2xhc3NePVwiYnRuX1wiXSxcbltjbGFzcyo9XCIgYnRuX1wiXSB7XG4gICAgQGV4dGVuZCAuZmxleF92X2g7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnVpX3BvcCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBAZXh0ZW5kIC5mbGV4X3ZfaDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDApO1xuICAgIHotaW5kZXg6IDEwMDA7XG59XG5cbi5tYXNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjQpO1xuICAgIHotaW5kZXg6IDk5OTtcbn1cblxuLnN2Z19pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5zdmdfbm9uZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbn1cblxuLm5vbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmhpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4vLyDlm77moIflpITnkIZcbi5pY29uLFxuLnN2Z19pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5zdmdfaWNvbiB7XG4gICAgQGluY2x1ZGUgZ2V0U3F1YXJlKDE2cHgpO1xuICAgIHN2ZyB7XG4gICAgICAgIEBleHRlbmQgLmdfbWF4O1xuICAgIH1cbn1cblxuLy/loavlhYVzdmfpopzoibIs5L2/5YW25bGe5oCnY29sb3LnlJ/mlYhcbi5zdmdfaWNvbiBwYXRoLFxuLnN2Z19pY29uIHVzZSB7XG4gICAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4ubV9ncmlkIHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIC8q6Kej5YazaW5saW5lLWJveOS4i+WGheiBlOWFg+e0oOWfuue6v+mXrumimCovXG4gICAgLm1fanVzdGlmeSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICAgIC5maWxsIHtcbiAgICAgICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1fanVzdGlmeV9maXgge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxufVxuXG4ub3Zlcl9zY3JvbGwge1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOTYpO1xuICAgIH1cbn1cblxuLmZfcGYge1xuICAgIGZvbnQtZmFtaWx5OiAnUGluZ0ZhbmdTQy1NZWRpdW0nLCAn5b6u6L2v6ZuF6buRJywgJ01pY3Jvc29mdCBZYUhlaScsICfljY7mlofnu4bpu5EnLCAnU1RIZWl0aScsIHNhbnMtc2VyaWY7XG59XG5cbi5mX3JlIHtcbiAgICBmb250LWZhbWlseTogJ1BpbmdGYW5nU0MtUmVndWxhcicsICflvq7ova/pm4Xpu5EnLCAnTWljcm9zb2Z0IFlhSGVpJywgJ+WNjuaWh+e7hum7kScsICdTVEhlaXRpJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uZl9zdCB7XG4gICAgZm9udC1mYW1pbHk6ICdTVFNvbmd0aS1TQy1SZWd1bGFyJywgXCJTb25ndGkgU0NcIiwgJ+W+rui9r+mbhem7kScsICdNaWNyb3NvZnQgWWFIZWknLCAn5Y2O5paH57uG6buRJywgJ1NUSGVpdGknLCBzYW5zLXNlcmlmO1xufVxuXG4uZl9oZSB7XG4gICAgZm9udC1mYW1pbHk6ICdoZWx2ZXRpY2EnLCAnUGluZ0ZhbmdTQycsICflvq7ova/pm4Xpu5EnLCAnTWljcm9zb2Z0IFlhSGVpJywgJ+WNjuaWh+e7hum7kScsICdTVEhlaXRpJywgc2Fucy1zZXJpZjtcbn1cbi5mX3NjX2wge1xuICAgIGZvbnQtZmFtaWx5OiAnUGluZ0ZhbmdTQy1MaWdodCcsICdQaW5nRmFuZ1NDJywgJ+W+rui9r+mbhem7kScsICdNaWNyb3NvZnQgWWFIZWknLCAn5Y2O5paH57uG6buRJywgJ1NUSGVpdGknLCBzYW5zLXNlcmlmO1xufSIsIkBpbXBvcnQgJ192YXInO1xuQGltcG9ydCAnX21peGluJzsiLCIkY29sb3JfbWFpbjojZmY1NzIyO1xuIiwiLy/mqKHmi59ib3JkZXIg5L2G5LiN6IO955So5L2c5pyJ5ZyG6KeS55qE5qC35byPXG5AbWl4aW4gZ2V0Qm9yZGVyKCRkaXJlY3Rpb24sJGNvbG9yOiNlNWU1ZTUpe1xuXHRAaWYgJGRpcmVjdGlvbiA9PSBib3R0b20ge1xuXHQgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlKSAwICRkaXJlY3Rpb24gbm8tcmVwZWF0O1xuXHQgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDFweDtcblx0fVxuXHRAaWYgJGRpcmVjdGlvbiA9PSB0b3Age1xuXHRcdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSkgMCAkZGlyZWN0aW9uIG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMXB4O1xuXHR9XG5cdEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuXHRcdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUpICRkaXJlY3Rpb24gMCBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1zaXplOiAxcHggMTAwJTtcblx0fVxuXHRAaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG5cdFx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSkgJGRpcmVjdGlvbiAwIG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDFweCAxMDAlO1xuXHR9XG5cdEBpZiAkZGlyZWN0aW9uID09IGFsbCB7XG5cdCAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICRjb2xvciwgJGNvbG9yIDUwJSwgdHJhbnNwYXJlbnQgNTAlLCB0cmFuc3BhcmVudCAxMDAlKSAwIHRvcCBuby1yZXBlYXQsXG5cdFx0XHRcdFx0LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgMTAwJSkgMCBib3R0b20gbm8tcmVwZWF0LCBcblx0XHRcdFx0XHQtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkY29sb3IsICRjb2xvciA1MCUsIHRyYW5zcGFyZW50IDUwJSwgdHJhbnNwYXJlbnQgMTAwJSkgbGVmdCAwIG5vLXJlcGVhdCwgXG5cdFx0XHRcdFx0LXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDEwMCUpIHJpZ2h0IDAgbm8tcmVwZWF0O1xuICAgIFx0YmFja2dyb3VuZC1zaXplOiAxMDAlIDFweCwxMDAlIDFweCwgMXB4IDEwMCUsIDFweCAxMDAlO1xuXHR9XG5cdEBpZiAkZGlyZWN0aW9uID09IG5vbmV7XG5cdFx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQgNTAlLCB0cmFuc3BhcmVudCA1MCUsIHRyYW5zcGFyZW50IDEwMCUpIDAgdG9wIG5vLXJlcGVhdCxcblx0XHRcdFx0XHQtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCA1MCUsIHRyYW5zcGFyZW50IDUwJSwgdHJhbnNwYXJlbnQgMTAwJSkgMCBib3R0b20gbm8tcmVwZWF0LCBcblx0XHRcdFx0XHQtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQgNTAlLCB0cmFuc3BhcmVudCA1MCUsIHRyYW5zcGFyZW50IDEwMCUpIGxlZnQgMCBuby1yZXBlYXQsIFxuXHRcdFx0XHRcdC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCA1MCUsIHRyYW5zcGFyZW50IDUwJSwgdHJhbnNwYXJlbnQgMTAwJSkgcmlnaHQgMCBuby1yZXBlYXQ7XG4gICAgXHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMXB4LDEwMCUgMXB4LCAxcHggMTAwJSwgMXB4IDEwMCU7XG5cdH1cbn1cblxuLy/mqKHmi59ib3JkZXIg55So5L2c5pyJ5ZyG6KeS55qE5qC35byPXG5AbWl4aW4gZ2V0UmFkaXVzQm9yZGVyKCRjb2xvciwkZGlyZWN0aW9uLCRyYWRpdXM6OHB4KXtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHQmOmJlZm9yZXtcbiAgICBcdGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvKiDpmLLmraLngrnlh7vop6blj5EgKi9cbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMjAwJTtcbiAgICAgICAgaGVpZ2h0OiAyMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIEBpZiAkZGlyZWN0aW9uID09IGFsbCB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXHQgICAgICAgIGJvcmRlcjoxcHggc29saWQgJGNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZGlyZWN0aW9uID09IHRvcCB7XG5cdCAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAkY29sb3I7XG5cdCAgICAgICAgYm9yZGVyLXRvcDpub25lO1xuXHQgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkcmFkaXVzICRyYWRpdXM7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRkaXJlY3Rpb24gPT0gYm90dG9tIHtcblx0ICAgICAgICBib3JkZXI6MXB4IHNvbGlkICRjb2xvcjtcblx0ICAgICAgICBib3JkZXItYm90dG9tOm5vbmU7XG5cdCAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cyAkcmFkaXVzIDAgMDtcbiAgICAgICAgfVxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwLjUpO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICAgICAgdHJhbnNmb3JtOnNjYWxlKDAuNSk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICB9XG59XG5cbi8v5qih5oufYm9yZGVyIOeUqOS9nOacieiZmue6v+eahOagt+W8j1xuQG1peGluIGdldERhc2hlZEJvcmRlcigkY29sb3IsJGRpcmVjdGlvbiwkcmFkaXVzOjApe1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCY6YmVmb3Jle1xuICAgIFx0Y29udGVudDogXCJcIjtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IC8qIOmYsuatoueCueWHu+inpuWPkSAqL1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAyMDAlO1xuICAgICAgICBoZWlnaHQ6IDIwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgQGlmICRkaXJlY3Rpb24gPT0gYWxsIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cdCAgICAgICAgYm9yZGVyOjFweCBkYXNoZWQgJGNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZGlyZWN0aW9uID09IHRvcCB7XG5cdCAgICAgICAgYm9yZGVyLXRvcDoxcHggZGFzaGVkICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGRpcmVjdGlvbiA9PSBib3R0b20ge1xuXHQgICAgICAgIGJvcmRlci1ib3R0b206MXB4IGRhc2hlZCAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG5cdCAgICAgICAgYm9yZGVyLWxlZnQ6MXB4IGRhc2hlZCAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuXHQgICAgICAgIGJvcmRlci1yaWdodDoxcHggZGFzaGVkICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwLjUpO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICAgICAgdHJhbnNmb3JtOnNjYWxlKDAuNSk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICB9XG59XG5cbi8vIOi2hei/h+afkOS4qumVv+W6puaYvuekuuecgeeVpeWPt1xuQG1peGluIHRfbm93cmFwKCR3aWR0aDoxMDAlKXtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRtYXgtd2lkdGg6JHdpZHRoO1xuXHRsaW5lLWhlaWdodDogMS4yO1xufVxuXG4vLyDmlofmnKzlpJrooYznnIHnlaVcbkBtaXhpbiBsaW5lX2NsYW1wKCRudW06Mil7XG5cdGRpc3BsYXk6IC13ZWJraXQtYm94O1xuXHQtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuXHQtd2Via2l0LWxpbmUtY2xhbXA6ICRudW07XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHdoaXRlLXNwYWNlOm5vcm1hbDtcbn1cblxuLy/mloflrZflnoLnm7Qg5rC05bmz5bGF5Lit55qE5LiA5Liq5oyJ6ZKuXG5AbWl4aW4gZ2V0QnRuKCR3aWR0aCwkaGVpZ2h0LCRiZ0NvbG9yLCRmb250Q29sb3I6d2hpdGUsJGJvcmRlci1yYWRpdXM6MjBweCl7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0d2lkdGg6JHdpZHRoO1xuXHRoZWlnaHQ6JGhlaWdodDtcblx0bGluZS1oZWlnaHQ6ICRoZWlnaHQ7XG5cdGJhY2tncm91bmQtY29sb3I6JGJnQ29sb3I7XG5cdGNvbG9yOiRmb250Q29sb3I7XG5cdGJvcmRlci1yYWRpdXM6JGJvcmRlci1yYWRpdXM7XG59XG4vL+WeguebtOawtOW5s+WxheS4reeahOS4gOS4quWchuW9olxuQG1peGluIGdldENpcmNsZSgkciwkYmdDb2xvciwkZm9udENvbG9yOndoaXRlKXtcblx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdGJvcmRlci1yYWRpdXM6MTAwJTtcblx0d2lkdGg6JHI7XG5cdGhlaWdodDokcjtcblx0YmFja2dyb3VuZC1jb2xvcjokYmdDb2xvcjtcblx0Y29sb3I6JGZvbnRDb2xvcjtcblx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdGxpbmUtaGVpZ2h0OiRyO1xufVxuXG4vL+WPr+S7peaLieS8uOeahOiDjOaZr+WbvlxuQG1peGluIGdldEJnSW1nKCR1cmwpe1xuXHRiYWNrZ3JvdW5kLWltYWdlOnVybCgkdXJsKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG59XG5cbkBtaXhpbiBnZXRTcXVhcmUoJHNpemUpe1xuXHR3aWR0aDokc2l6ZTtcblx0aGVpZ2h0OiRzaXplO1xufVxuXG4vLyDlhbPpl63mjInpkq5cbkBtaXhpbiBnZXRDbG9zZSgkc2l6ZSwkY29sb3Ipe1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0dG9wOiRzaXplLzI7XG5cdHJpZ2h0OiRzaXplLzI7XG5cdHdpZHRoOiRzaXplKjI7XG5cdGhlaWdodDokc2l6ZSoyO1xuXHQmOmJlZm9yZSwmOmFmdGVye1xuXHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHRcdHRvcDo1MCU7XG5cdFx0bGVmdDo1MCU7XG5cdFx0Y29udGVudDpcIiBcIjtcblx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHR3aWR0aDoxcHg7XG5cdFx0aGVpZ2h0OiRzaXplO1xuXHRcdGJhY2tncm91bmQtY29sb3I6JGNvbG9yO1xuXHR9XG5cdCY6YmVmb3Jle1xuXHRcdHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNTAlLC01MCUsMCkgcm90YXRlKDQ1ZGVnKTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNTAlLC01MCUsMCkgcm90YXRlKDQ1ZGVnKTtcblx0fVxuXHQmOmFmdGVye1xuXHRcdHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNTAlLC01MCUsMCkgcm90YXRlKC00NWRlZyk7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTUwJSwtNTAlLDApIHJvdGF0ZSgtNDVkZWcpO1xuXHR9XG5cdHotaW5kZXg6MTAwO1xufVxuXG4vL+S4ieinkueureWktFxuQG1peGluIGdldEFycm93KCRzaXplLCRjb2xvciwkZGlyZWN0aW9uKXtcblx0QGlmICRkaXJlY3Rpb24gPT0gcmlnaHR7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG5cdH1cblx0JjpiZWZvcmUsJjphZnRlcntcblx0XHRjb250ZW50OlwiIFwiO1xuXHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHRcdHdpZHRoOjFweDtcblx0XHRoZWlnaHQ6JHNpemU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjokY29sb3I7XG5cdFx0QGlmICRkaXJlY3Rpb24gPT0gZG93bntcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1x0XG5cdFx0fVxuXHRcdEBpZiAkZGlyZWN0aW9uID09IHVwe1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG5cdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XHRcblx0XHR9XG5cdFx0QGlmICRkaXJlY3Rpb24gPT0gcmlnaHR7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcblx0XHR9XG5cdH1cblx0JjpiZWZvcmV7XG5cdFx0dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC01MCUsLTUwJSwwKSByb3RhdGUoNDVkZWcpO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC01MCUsLTUwJSwwKSByb3RhdGUoNDVkZWcpO1xuXHR9XG5cdCY6YWZ0ZXJ7XG5cdFx0dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC01MCUsLTUwJSwwKSByb3RhdGUoLTQ1ZGVnKTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNTAlLC01MCUsMCkgcm90YXRlKC00NWRlZyk7XG5cdH1cbn1cbi8vIOS4ieinkuW9olxuQG1peGluIGdldFRyaWFuZ2xlKCRzaXplLCRjb2xvciwkZGlyZWN0aW9uKXtcblx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdGJvcmRlcjokc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcblx0QGlmICRkaXJlY3Rpb24gPT0gZG93bntcblx0XHRib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG5cdH1cblx0QGlmICRkaXJlY3Rpb24gPT0gdXB7XG5cdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xuXHR9XG5cdEBpZiAkZGlyZWN0aW9uID09IGxlZnR7XG5cdFx0Ym9yZGVyLXJpZ2h0LWNvbG9yOiAkY29sb3I7XG5cdH1cblx0QGlmICRkaXJlY3Rpb24gPT0gcmlnaHR7XG5cdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcjtcblx0fVxufVxuXG4vL+W+l+WIsOS4gOS4quiDjOaZr+minOiJsua4kOWPmOeahOiDjOaZryBkaXJlY3Rpb27ooajnpLrlvoDlk6rkuKrmlrnlkJHmuJDlj5gg5Y2z5LuOZnJvbUNvbG9y6LWw5ZCRdG9Db2xvclxuQG1peGluIGdldEdyYWRpZW50KCRkaXJlY3Rpb24sJGZyb21Db2xvciwkdG9Db2xvcjp0cmFuc3BhcmVudCwkc3RhclBvc2l0aW9uOjAlKXtcblx0QGlmICRkaXJlY3Rpb24gPT0gdG9we1xuXHRcdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgJGZyb21Db2xvciAkc3RhclBvc2l0aW9uLCR0b0NvbG9yIDEwMCUpO1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICRmcm9tQ29sb3IgJHN0YXJQb3NpdGlvbiwkdG9Db2xvciAxMDAlKTtcblx0fVxuXHRAaWYgJGRpcmVjdGlvbiA9PSBib3R0b217XG5cdFx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAkZnJvbUNvbG9yICRzdGFyUG9zaXRpb24sJHRvQ29sb3IgMTAwJSk7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJGZyb21Db2xvciAkc3RhclBvc2l0aW9uLCR0b0NvbG9yIDEwMCUpO1xuXHR9XG5cdEBpZiAkZGlyZWN0aW9uID09IGxlZnR7XG5cdFx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJGZyb21Db2xvciAkc3RhclBvc2l0aW9uLCR0b0NvbG9yIDEwMCUpO1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCAkZnJvbUNvbG9yICRzdGFyUG9zaXRpb24sJHRvQ29sb3IgMTAwJSk7XG5cdH1cblx0QGlmICRkaXJlY3Rpb24gPT0gcmlnaHR7XG5cdFx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmlnaHQsICRmcm9tQ29sb3IgJHN0YXJQb3NpdGlvbiwkdG9Db2xvciAxMDAlKTtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRmcm9tQ29sb3IgJHN0YXJQb3NpdGlvbiwkdG9Db2xvciAxMDAlKTtcblx0fVxufVxuXG5AbWl4aW4gaGVhZGVyRm9udENvbG9yKCRjb2xvcjp3aGl0ZSl7XG5cdGNvbG9yOiAkY29sb3I7XG5cdC5tZW51X2l0ZW1fMSwubWVudV9pdGVtXzIsLm1lbnVfaXRlbV8ze1xuXHRcdGJhY2tncm91bmQ6ICRjb2xvcjtcblx0fVxufSIsIkBjaGFyc2V0IFwidXRmLThcIjtcbmh0bWwge1xuICAgIC8qLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCU7XG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTsqL1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuYm9keSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiAnaGVsdmV0aWNhJywnUGluZ0ZhbmdTQycsJ+W+rui9r+mbhem7kScsICdNaWNyb3NvZnQgWWFIZWknLCAn5Y2O5paH57uG6buRJywgJ1NUSGVpdGknLCBzYW5zLXNlcmlmO1xufVxuQG1lZGlhKG1heC13aWR0aDo3NjdweCl7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAvKndlYmtpdOa1j+iniOWZqCovXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbmJvZHksXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5jb2RlLFxuZm9ybSxcbmZpZWxkc2V0LFxubGVnZW5kLFxuaW5wdXQsXG50ZXh0YXJlYSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCxcbmhyLFxuYnV0dG9uLFxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5vcHRncm91cCxcbm1lbnUsXG5uYXYsXG5zZWN0aW9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5vcHRncm91cCxcbm1lbnUsXG5uYXYsXG5zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuYXVkaW8sXG5jYW52YXMsXG52aWRlbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSxcbigtbXMtaGlnaC1jb250cmFzdDpub25lKSB7XG4gICAgYTphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG59XG5cbnNtYWxsLFxuY2l0ZSxcbmNvZGUsXG5lbSxcbnRoLFxuaSxcbmIge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhLFxuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIC8qIC13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7XG4gICAgYm94LXNpemluZzpjb250ZW50LWJveDsqL1xufVxuXG4qIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuYnV0dG9uLFxuaW5wdXRbdHlwZT1idXR0b25dLFxuaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5pbnB1dFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuZmllbGRzZXQsXG5pbWcsXG5pZnJhbWUge1xuICAgIGJvcmRlcjogMCBub25lO1xufVxuXG5pbWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG5pZnJhbWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG51bCxcbm9sIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5saSB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxucTpiZWZvcmUsXG5xOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbn1cblxuLmNmOmJlZm9yZSxcbi5jZjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi5jZjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGhcbn1cblxuYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG59IiwiLm1vZF9oZWFkZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC1mYW1pbHk6ICdQaW5nRmFuZ1NDLU1lZGl1bScsICflvq7ova/pm4Xpu5EnLCAnTWljcm9zb2Z0IFlhSGVpJywgJ+WNjuaWh+e7hum7kScsICdTVEhlaXRpJywgc2Fucy1zZXJpZjtcbiAgICB6LWluZGV4OiAzO1xuICAgIC5sb2dvIHtcbiAgICAgICAgQGV4dGVuZCAuZ192X21pZDtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICBsZWZ0OiA0MHB4O1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAuaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIEBpbmNsdWRlIGdldFNxdWFyZSgyNXB4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdldEJnSW1nKCcuLi9pbWdzL2lmLWxvZ28uc3ZnJyk7XG4gICAgICAgIH1cbiAgICAgICAgLmRlc2Nfd3JhcCB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAuZGVzYyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3N3B4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBnZXRCZ0ltZygnLi4vaW1ncy9pZi1sb2dvLWRlc2Muc3ZnJyk7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKTtcbiAgICAgICAgICAgICAgICAtbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LCAuNjEsIC4zNTUsIDEpO1xuICAgICAgICAgICAgICAgIC1tcy1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKTtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogLjQ1cztcbiAgICAgICAgICAgICAgICAtbW96LWFuaW1hdGlvbi1kdXJhdGlvbjogLjQ1cztcbiAgICAgICAgICAgICAgICAtbXMtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNDVzO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjQ1cztcbiAgICAgICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcbiAgICAgICAgICAgICAgICAtbW96LWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcbiAgICAgICAgICAgICAgICAtbXMtYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICAgICAgICAgIC1tb3otYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICAgICAgICAgICAgLW1zLWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC53aGl0ZSAuaW1nIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWdzL2lmLWxvZ28td2hpdGUuc3ZnJyk7XG4gICAgfVxuICAgIC5uYXYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5saXN0IHtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNDVzO1xuICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7XG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA4MHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHg7XG4gICAgICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuODtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuaWNvbl9tZW51IHtcbiAgICAgICAgQGV4dGVuZCAuZ192X21pZDtcbiAgICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgICAgIEBpbmNsdWRlIGdldFNxdWFyZSgzNnB4KTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAuaWNvbl9tZW51X2l0ZW1zIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmdfdl9jX21pZDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdldFNxdWFyZSgxOHB4KTtcbiAgICAgICAgICAgIC5tZW51X2l0ZW1fMSxcbiAgICAgICAgICAgIC5tZW51X2l0ZW1fMiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEycHg7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKTtcbiAgICAgICAgICAgICAgICAtbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LCAuNjEsIC4zNTUsIDEpO1xuICAgICAgICAgICAgICAgIC1tcy1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKTtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogLjQ1cztcbiAgICAgICAgICAgICAgICAtbW96LWFuaW1hdGlvbi1kdXJhdGlvbjogLjQ1cztcbiAgICAgICAgICAgICAgICAtbXMtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNDVzO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjQ1cztcbiAgICAgICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcbiAgICAgICAgICAgICAgICAtbW96LWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcbiAgICAgICAgICAgICAgICAtbXMtYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICAgICAgICAgIC1tb3otYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICAgICAgICAgICAgLW1zLWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZGVmYXVsdF9vcGVuIHtcbiAgICAuaWNvbl9tZW51IHtcbiAgICAgICAgLm1lbnVfaXRlbV8xIHtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG4gICAgICAgIC5tZW51X2l0ZW1fMiB7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oZWFkZXJfY2xvc2Uge1xuICAgIC5sb2dvIC5pbWc6aG92ZXIge1xuICAgICAgICAmKy5kZXNjX3dyYXAge1xuICAgICAgICAgICAgLmRlc2Mge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGRlc2NUb1JpZ2h0O1xuICAgICAgICAgICAgICAgIC1tb3otYW5pbWF0aW9uLW5hbWU6IGRlc2NUb1JpZ2h0O1xuICAgICAgICAgICAgICAgIC1tcy1hbmltYXRpb24tbmFtZTogZGVzY1RvUmlnaHQ7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGRlc2NUb1JpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5uYXYgLmxpc3Qge1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBuYXZUb1JpZ2h0O1xuICAgICAgICAtbW96LWFuaW1hdGlvbi1uYW1lOiBuYXZUb1JpZ2h0O1xuICAgICAgICAtbXMtYW5pbWF0aW9uLW5hbWU6IG5hdlRvUmlnaHQ7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBuYXZUb1JpZ2h0O1xuICAgIH1cbiAgICAubG9nbyAuZGVzYyB7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGRlc2NUb0xlZnQ7XG4gICAgICAgIC1tb3otYW5pbWF0aW9uLW5hbWU6IGRlc2NUb0xlZnQ7XG4gICAgICAgIC1tcy1hbmltYXRpb24tbmFtZTogZGVzY1RvTGVmdDtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGRlc2NUb0xlZnQ7XG4gICAgfVxuICAgIC5pY29uX21lbnUge1xuICAgICAgICAubWVudV9pdGVtXzEge1xuICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbWVudTFJbjtcbiAgICAgICAgICAgIC1tb3otYW5pbWF0aW9uLW5hbWU6IG1lbnUxSW47XG4gICAgICAgICAgICAtbXMtYW5pbWF0aW9uLW5hbWU6IG1lbnUxSW47XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogbWVudTFJbjtcbiAgICAgICAgfVxuICAgICAgICAubWVudV9pdGVtXzIge1xuICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbWVudTJJbjtcbiAgICAgICAgICAgIC1tb3otYW5pbWF0aW9uLW5hbWU6IG1lbnUySW47XG4gICAgICAgICAgICAtbXMtYW5pbWF0aW9uLW5hbWU6IG1lbnUySW47XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogbWVudTJJbjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhlYWRlcl9vcGVuIHtcbiAgICAubmF2IC5saXN0IHtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbmF2VG9MZWZ0O1xuICAgICAgICAtbW96LWFuaW1hdGlvbi1uYW1lOiBuYXZUb0xlZnQ7XG4gICAgICAgIC1tcy1hbmltYXRpb24tbmFtZTogbmF2VG9MZWZ0O1xuICAgICAgICBhbmltYXRpb24tbmFtZTogbmF2VG9MZWZ0O1xuICAgIH1cbiAgICAubG9nbyAuZGVzYyB7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGRlc2NUb1JpZ2h0O1xuICAgICAgICAtbW96LWFuaW1hdGlvbi1uYW1lOiBkZXNjVG9SaWdodDtcbiAgICAgICAgLW1zLWFuaW1hdGlvbi1uYW1lOiBkZXNjVG9SaWdodDtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGRlc2NUb1JpZ2h0O1xuICAgIH1cbiAgICAuaWNvbl9tZW51IHtcbiAgICAgICAgLm1lbnVfaXRlbV8xIHtcbiAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IG1lbnUxT3V0O1xuICAgICAgICAgICAgLW1vei1hbmltYXRpb24tbmFtZTogbWVudTFPdXQ7XG4gICAgICAgICAgICAtbXMtYW5pbWF0aW9uLW5hbWU6IG1lbnUxT3V0O1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG1lbnUxT3V0O1xuICAgICAgICB9XG4gICAgICAgIC5tZW51X2l0ZW1fMiB7XG4gICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBtZW51Mk91dDtcbiAgICAgICAgICAgIC1tb3otYW5pbWF0aW9uLW5hbWU6IG1lbnUyT3V0O1xuICAgICAgICAgICAgLW1zLWFuaW1hdGlvbi1uYW1lOiBtZW51Mk91dDtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBtZW51Mk91dDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhKG1heC13aWR0aDo3NjdweCkge1xuICAgIC5tb2RfaGVhZGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICBmb250LWZhbWlseTogJ1BpbmdGYW5nU0MtTGlnaHQnLCAnUGluZ0ZhbmdTQycsICflvq7ova/pm4Xpu5EnLCAnTWljcm9zb2Z0IFlhSGVpJywgJ+WNjuaWh+e7hum7kScsICdTVEhlaXRpJywgc2Fucy1zZXJpZjtcbiAgICAgICAgLmxvZ28ge1xuICAgICAgICAgICAgbGVmdDogMTZweDtcbiAgICAgICAgfVxuICAgICAgICAubmF2IHtcbiAgICAgICAgICAgIGZsb2F0OiBpbml0aWFsO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOTYpO1xuICAgICAgICAgICAgLmxpc3Qge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIyLjQlIDAgOS4wNjclOyAvLzg0cHggMzRweCBcbiAgICAgICAgICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjQThBOEE4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEyLjI2NyUgMDsgLy80NnB4XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmljb25fbWVudSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgLm1lbnVfaXRlbV8xIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0IwQjBCMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm1lbnVfaXRlbV8yIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0IwQjBCMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmRlZmF1bHRfb3BlbiB7XG4gICAgICAgIC5sb2dvIC5kZXNjX3dyYXAgLmRlc2Mge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgICAubmF2IHtcbiAgICAgICAgICAgIC5saXN0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIC1tb3otYW5pbWF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIC1tcy1hbmltYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmljb25fbWVudSB7XG4gICAgICAgICAgICAgICAgLm1lbnVfaXRlbV8xIHtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KSByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpIHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KSByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KSByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubWVudV9pdGVtXzIge1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KSByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCkgcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCkgcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KSByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmhlYWRlcl9vcGVuIHtcbiAgICAgICAgLmxvZ28gLmRlc2Mge1xuICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZGVzY1RvTGVmdDtcbiAgICAgICAgICAgIC1tb3otYW5pbWF0aW9uLW5hbWU6IGRlc2NUb0xlZnQ7XG4gICAgICAgICAgICAtbXMtYW5pbWF0aW9uLW5hbWU6IGRlc2NUb0xlZnQ7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogZGVzY1RvTGVmdDtcbiAgICAgICAgfVxuICAgICAgICAubmF2IHtcbiAgICAgICAgICAgIC5saXN0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIC1tcy1hbmltYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgLW1vei1hbmltYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmljb25fbWVudSB7XG4gICAgICAgICAgICAgICAgLm1lbnVfaXRlbV8xIHtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaDUtbWVudTFPdXQ7XG4gICAgICAgICAgICAgICAgICAgIC1tb3otYW5pbWF0aW9uLW5hbWU6IGg1LW1lbnUxT3V0O1xuICAgICAgICAgICAgICAgICAgICAtbXMtYW5pbWF0aW9uLW5hbWU6IGg1LW1lbnUxT3V0O1xuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogaDUtbWVudTFPdXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5tZW51X2l0ZW1fMiB7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGg1LW1lbnUyT3V0O1xuICAgICAgICAgICAgICAgICAgICAtbW96LWFuaW1hdGlvbi1uYW1lOiBoNS1tZW51Mk91dDtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWFuaW1hdGlvbi1uYW1lOiBoNS1tZW51Mk91dDtcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGg1LW1lbnUyT3V0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuaGVhZGVyX2Nsb3NlIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjYpO1xuICAgICAgICB9XG4gICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgIC5pbWcge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWdzL2lmLWxvZ28uc3ZnKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmRlc2Nfd3JhcCAuZGVzYyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZ3MvaWYtbG9nby1kZXNjLnN2ZykgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBkZXNjVG9SaWdodDtcbiAgICAgICAgICAgICAgICAtbW96LWFuaW1hdGlvbi1uYW1lOiBkZXNjVG9SaWdodDtcbiAgICAgICAgICAgICAgICAtbXMtYW5pbWF0aW9uLW5hbWU6IGRlc2NUb1JpZ2h0O1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBkZXNjVG9SaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubmF2IHtcbiAgICAgICAgICAgIC5saXN0IHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoNS1uYXY7XG4gICAgICAgICAgICAgICAgLW1vei1hbmltYXRpb24tbmFtZTogaDUtbmF2O1xuICAgICAgICAgICAgICAgIC1tcy1hbmltYXRpb24tbmFtZTogaDUtbmF2O1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBoNS1uYXY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaWNvbl9tZW51IHtcbiAgICAgICAgICAgICAgICAubWVudV9pdGVtXzEge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjBCMEIwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGg1LW1lbnUxSW47XG4gICAgICAgICAgICAgICAgICAgIC1tb3otYW5pbWF0aW9uLW5hbWU6IGg1LW1lbnUxSW47XG4gICAgICAgICAgICAgICAgICAgIC1tcy1hbmltYXRpb24tbmFtZTogaDUtbWVudTFJbjtcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGg1LW1lbnUxSW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5tZW51X2l0ZW1fMiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNCMEIwQjAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaDUtbWVudTJJbjtcbiAgICAgICAgICAgICAgICAgICAgLW1vei1hbmltYXRpb24tbmFtZTogaDUtbWVudTJJbjtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWFuaW1hdGlvbi1uYW1lOiBoNS1tZW51MkluO1xuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogaDUtbWVudTJJbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBtZW51MUluIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgbWVudTFJbiB7XG4gICAgMCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoNDVkZWcpXG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1lbnUxSW4ge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg0NWRlZylcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg5MGRlZylcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpIHJvdGF0ZSg5MGRlZylcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBtZW51MkluIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpIHJvdGF0ZSgtOTBkZWcpO1xuICAgIH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIG1lbnUySW4ge1xuICAgIDAlIHtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKC00NWRlZyk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgtOTBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCkgcm90YXRlKC05MGRlZyk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1lbnUySW4ge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgtNDVkZWcpXG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoLTkwZGVnKVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpIHJvdGF0ZSgtOTBkZWcpXG4gICAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbWVudTFPdXQge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KSByb3RhdGUoOTBkZWcpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoOTBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBtZW51MU91dCB7XG4gICAgMCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoNDVkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBtZW51MU91dCB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KSByb3RhdGUoOTBkZWcpXG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoOTBkZWcpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDQ1ZGVnKVxuICAgIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIG1lbnUyT3V0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpIHJvdGF0ZSgtOTBkZWcpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIG1lbnUyT3V0IHtcbiAgICAwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpIHJvdGF0ZSgtOTBkZWcpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBtZW51Mk91dCB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCkgcm90YXRlKC05MGRlZylcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgtOTBkZWcpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKC00NWRlZylcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBuYXZUb1JpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAlKTtcbiAgICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBuYXZUb1JpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAlKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgbmF2VG9SaWdodCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAlKTtcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBuYXZUb0xlZnQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBuYXZUb0xlZnQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgbmF2VG9MZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBkZXNjVG9MZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTYwJSk7XG4gICAgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgZGVzY1RvTGVmdCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02MCUpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBkZXNjVG9MZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNjAlKTtcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBkZXNjVG9SaWdodCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNjAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIGRlc2NUb1JpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02MCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGRlc2NUb1JpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNjAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoNS1tZW51MUluIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCkgcm90YXRlKDkwZGVnKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDkwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgaDUtbWVudTFJbiB7XG4gICAgMCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoNDVkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBoNS1tZW51MUluIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpIHJvdGF0ZSg5MGRlZylcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg5MGRlZylcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoNDVkZWcpXG4gICAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaDUtbWVudTJJbiB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KSByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKC05MGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBoNS1tZW51MkluIHtcbiAgICAwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpIHJvdGF0ZSgtOTBkZWcpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBoNS1tZW51MkluIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KSByb3RhdGUoLTkwZGVnKVxuICAgIH1cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKC05MGRlZylcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoLTQ1ZGVnKVxuICAgIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGg1LW1lbnUxT3V0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgaDUtbWVudTFPdXQge1xuICAgIDAlIHtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDkwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCkgcm90YXRlKDkwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgaDUtbWVudTFPdXQge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg0NWRlZylcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg5MGRlZylcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpIHJvdGF0ZSg5MGRlZylcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoNS1tZW51Mk91dCB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKC05MGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KSByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBoNS1tZW51Mk91dCB7XG4gICAgMCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKC05MGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KSByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgaDUtbWVudTJPdXQge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgtNDVkZWcpXG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoLTkwZGVnKVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpIHJvdGF0ZSgtOTBkZWcpXG4gICAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaDUtbmF2IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIGg1LW5hdiB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgaDUtbmF2IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn0iLCIubW9kX2Zvb3RlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogODBweCAwIDYwcHg7XG4gICAgLmxpc3Qge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBleHRlbmQgLmZfcmU7XG4gICAgICAgIHdpZHRoOiAxMTIwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgIGNvbG9yOiAjQjRCQkJFO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9tYWluO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgzKTpob3ZlciB7XG4gICAgICAgICAgICAgICAgLnFyX2NvZGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc3ZnX2ljb24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdldFNxdWFyZSgyMnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5xcl9jb2RlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAtMjAwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtODNweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgLy8gY29sb3I6ICMxMjEyMTI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLCAwLCAwLCAuMSk7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMTFweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTZweDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5pbWcge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBnZXRTcXVhcmUoMTUwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudHh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgY29sb3I6ICNCNEJCQkU7XG4gICAgICAgICAgICAuaGlnaGxpZ2h0IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX21haW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29weXJpZ2h0IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmZfcmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBie1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDM5cHgpIHtcbiAgICAubW9kX2Zvb3RlciAubGlzdCB7XG4gICAgICAgIHdpZHRoOiA3Ny43NzglO1xuICAgIH1cbn1cblxuQG1lZGlhKG1heC13aWR0aDo3NjdweCkge1xuICAgIC5tb2RfZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZzogMjEuMzM0JSAwIDEzLjMzNCU7XG4gICAgICAgIC5saXN0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgICAgICAuc3ZnX2ljb24ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBnZXRTcXVhcmUoMjRweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50eHQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogLTM5cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIC5jb3B5cmlnaHQge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYShtYXgtd2lkdGg6MzIxcHgpIHtcbiAgICAubW9kX2Zvb3RlciB7XG4gICAgICAgIC5saXN0IC50eHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICB9XG4gICAgfVxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FLQ0EsQUFBQSxJQUFJLENBQUM7RUFDRDtnQ0FDNEI7RUFDNUIsMkJBQTJCLEVBQUUsZ0JBQWdCO0VBQzdDLHNCQUFzQixFQUFFLFdBQVcsR0FDdEM7O0FBRUQsQUFBQSxJQUFJLENBQUM7RUFDRCxTQUFTLEVBQUUsSUFBSTtFQUNmLHdCQUF3QixFQUFFLGVBQWU7RUFDekMsV0FBVyxFQUFFLHlGQUF5RixHQUN6Rzs7QUFDRCxNQUFNLEVBQUMsU0FBUyxFQUFFLEtBQUs7RUFDbkIsbUJBQW1CLEVBQUUsSUFBSTtFQUN6QixnQkFBZ0I7RUFDaEIsV0FBVyxFQUFFLElBQUk7O0FBR3JCLEFBQUEsSUFBSTtBQUNKLEVBQUU7QUFDRixFQUFFO0FBQ0YsRUFBRTtBQUNGLEVBQUU7QUFDRixFQUFFO0FBQ0YsRUFBRTtBQUNGLEVBQUU7QUFDRixFQUFFO0FBQ0YsRUFBRTtBQUNGLEVB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 */

#amaoliu{content:"20181027024354"}