@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, .mod_project .list .item .img {
  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, .mod_project .list .item .txt {
  font-family: 'PingFangSC-Medium', '微软雅黑', 'Microsoft YaHei', '华文细黑', 'STHeiti', sans-serif; }

.f_re, .mod_footer .list, .mod_footer .list .txt .copyright, .mod_nav .title,
.mod_nav .list {
  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 {
  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_project .wrap {
  padding-top: 80px;
  margin: 0 auto;
  width: 1280px; }

.mod_project .list .item {
  transform: translateY(50px);
  opacity: 0;
  width: 48.439%;
  margin-bottom: 40px; }
  .mod_project .list .item .img_wrap {
    position: relative;
    padding-top: 54.839%; }
    .mod_project .list .item .img_wrap:hover + .type {
      opacity: 1; }
  .mod_project .list .item .img {
    position: absolute;
    top: 0;
    left: 0;
    transition: all .2s ease; }
    .mod_project .list .item .img[src=" "] {
      opacity: 0; }
    .mod_project .list .item .img:hover {
      opacity: .8; }
  .mod_project .list .item .txt {
    font-size: 18px;
    line-height: 1.4;
    margin-top: 16px; }
  .mod_project .list .item a:hover + .type {
    opacity: 1; }
  .mod_project .list .item .type {
    position: absolute;
    bottom: -14px;
    color: #ff5722;
    font-size: 12px;
    opacity: 0;
    transition: all .2s ease; }

.mod_project .list .wrap_move {
  transform: translateY(0);
  opacity: 1; }

.mod_project .view_more {
  text-align: center; }
  .mod_project .view_more .btn {
    display: inline-block;
    line-height: 30px;
    width: 90px;
    font-size: 14px;
    color: #7D7D7D;
    border: 1px solid #DADADA;
    border-radius: 2px; }
    .mod_project .view_more .btn .svg_more_arrow {
      position: relative;
      top: 2px;
      margin-left: -4px;
      width: 14px;
      height: 14px;
      transition: all .2s ease; }
    .mod_project .view_more .btn:hover {
      color: #ff5722;
      border-color: #ff5722; }
      .mod_project .view_more .btn:hover .svg_more_arrow {
        transform: translateX(4px); }

@media screen and (max-width: 1439px) {
  .mod_project .wrap {
    width: 88.889%; }
  .mod_project .list .item {
    margin-bottom: 2.7778%; } }

@media (max-width: 767px) {
  .mod_project .wrap {
    width: 91.47%;
    padding-top: 6.4%; }
    .mod_project .wrap .list .item {
      width: 100%;
      margin-bottom: 9.33%; }
      .mod_project .wrap .list .item .txt {
        font-size: 16px;
        margin-top: 2.332%; } }

.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; } }

.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:first-of-type,
  .mod_header .list .item:hover {
    color: #121212; }

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

.mod_nav {
  position: relative;
  margin-bottom: 80px; }
  .mod_nav .title,
  .mod_nav .list {
    display: inline-block; }
  .mod_nav .title {
    line-height: 33px;
    font-weight: normal;
    font-size: 24px; }
  .mod_nav .grey {
    color: #a8a8a8; }
  .mod_nav .list {
    float: right;
    margin-top: 6.5px;
    font-size: 14px;
    white-space: nowrap; }
    .mod_nav .list .item {
      float: left;
      border-right: 1px solid #a8a8a8;
      padding: 0 11px;
      line-height: 18px;
      text-align: center;
      color: #a8a8a8;
      cursor: pointer; }
      .mod_nav .list .item:hover, .mod_nav .list .item:link {
        color: #000; }
      .mod_nav .list .item:last-of-type {
        padding: 0 0 0 11px;
        border: none; }
    .mod_nav .list .cur {
      color: #000; }

.mod_project .wrap {
  padding-top: 0;
  width: 100%; }

.mod_project .list .item {
  width: 48.21%;
  margin-bottom: 48px;
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  opacity: 1; }
  .mod_project .list .item .txt {
    line-height: 25px; }

.mod_project .view_more {
  display: none; }

@media screen and (max-width: 1439px) {
  .mod_container {
    width: 78.82%; }
  .mod_nav {
    margin-bottom: 7.14%; } }

@media screen and (max-width: 767px) {
  .mod_container {
    width: 91.47%;
    margin: 120px auto 0; }
  .mod_nav {
    padding-left: 2.33%;
    margin-bottom: 60px; }
    .mod_nav .title {
      display: block; }
    .mod_nav .list {
      float: none;
      margin-top: 24px; }
      .mod_nav .list .item:first-of-type {
        padding: 0 11px 0 0; }
  .mod_project .list .item .txt {
    line-height: 22px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL2Nhc2UuY3NzIiwic291cmNlcyI6WyJjc3MvY2FzZS5zY3NzIiwiY3NzL2NvbW1vbi9fYmFzZS5zY3NzIiwiY3NzL2NvbW1vbi9fY29sbGVjdGlvbi5zY3NzIiwiY3NzL2NvbW1vbi9fdmFyLnNjc3MiLCJjc3MvY29tbW9uL19taXhpbi5zY3NzIiwiY3NzL2NvbW1vbi9yZXNldC5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX3Byb2plY3RMaXN0LnNjc3MiLCJjc3MvY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnLi9jb21tb24vX2Jhc2Uuc2Nzcyc7XG5AaW1wb3J0ICcuL2NvbXBvbmVudHMvX2hlYWRlci5zY3NzJztcbkBpbXBvcnQgJy4vY29tcG9uZW50cy9fcHJvamVjdExpc3Quc2Nzcyc7XG5AaW1wb3J0ICcuL2NvbXBvbmVudHMvX2Zvb3Rlci5zY3NzJztcbi5tb2RfaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBoZWFkZXJGb250Q29sb3IoI0E4QThBOCk7XG4gICAgLmxpc3Qge1xuICAgICAgICAuaXRlbTpmaXJzdC1vZi10eXBlLFxuICAgICAgICAuaXRlbTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogIzEyMTIxMjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1vZF9jb250YWluZXIge1xuICAgIHdpZHRoOiAxMTIwcHg7XG4gICAgbWFyZ2luOiAxNjBweCBhdXRvIDA7XG59XG5cbi5tb2RfbmF2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgICAudGl0bGUsXG4gICAgLmxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIEBleHRlbmQgLmZfcmU7XG4gICAgfVxuICAgIC50aXRsZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgfVxuICAgIC5ncmV5IHtcbiAgICAgICAgY29sb3I6ICNhOGE4YTg7XG4gICAgfVxuICAgIC5saXN0IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tdG9wOiA2LjVweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNhOGE4YTg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDExcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAjYThhOGE4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6bGluayB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMTFweDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmN1cntcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9kX3Byb2plY3Qge1xuICAgIC53cmFwIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAubGlzdCB7XG4gICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgIHdpZHRoOiA0OC4yMSU7IC8vIDU0MHB4XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgLnR4dCB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnZpZXdfbW9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjE0MzlweCkge1xuICAgIC5tb2RfY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDc4LjgyJTsgLy8gMTQ0MOS4i+eahDExMjBcbiAgICB9XG4gICAgLm1vZF9uYXYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA3LjE0JTsgLy8gODBweFxuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubW9kX2NvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA5MS40NyU7IC8vIDM0My8gMzc1XG4gICAgICAgIG1hcmdpbjogMTIwcHggYXV0byAwO1xuICAgIH1cbiAgICAubW9kX25hdiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMi4zMyU7IC8vIDhweC8zNDNcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIC5saXN0IHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDExcHggMCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAubW9kX3Byb2plY3Qge1xuICAgICAgICAubGlzdCB7XG4gICAgICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAgICAgLnR4dCB7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAaW1wb3J0ICdfY29sbGVjdGlvbic7XG5AaW1wb3J0ICdyZXNldCc7XG4vKmZsZXjluIPlsYAqL1xuXG4uZmxleCB7XG4gICAgLy8gZGlzcGxheTogYm94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OyAvLyBkaXNwbGF5OiAtbW96LWJveDtcbiAgICAvLyBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLy/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+e7hum7kScsICdTVEhlaXRpJywgc2Fucy1zZXJpZjtcbiAgICAgICAgLmxvZ28ge1xuICAgICAgICAgICAgbGVmdDogMTZweDtcbiAgICAgICAgfVxuICAgICAgICAubmF2IHtcbiAgICAgICAgICAgIGZsb2F0OiBpbml0aWFsO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOTYpO1xuICAgICAgICAgICAgLmxpc3Qge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIyLjQlIDAgOS4wNjclOyAvLzg0cHggMzRweCBcbiAgICAgICAgICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjQThBOEE4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEyLjI2NyUgMDsgLy80NnB4XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmljb25fbWVudSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgLm1lbnVfaXRlbV8xIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0IwQjBCMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm1lbnVfaXRlbV8yIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0IwQjBCMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmRlZmF1bHRfb3BlbiB7XG4gICAgICAgIC5sb2dvIC5kZXNjX3dyYXAgLmRlc2Mge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgICAubmF2IHtcbiAgICAgICAgICAgIC5saXN0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIC1tb3otYW5pbWF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIC1tcy1hbmltYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmljb25fbWVudSB7XG4gICAgICAgICAgICAgICAgLm1lbnVfaXRlbV8xIHtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KSByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpIHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KSByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KSByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubWVudV9pdGVtXzIge1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KSByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCkgcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCkgcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KSByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmhlYWRlcl9vcGVuIHtcbiAgICAgICAgLmxvZ28gLmRlc2Mge1xuICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZGVzY1RvTGVmdDtcbiAgICAgICAgICAgIC1tb3otYW5pbWF0aW9uLW5hbWU6IGRlc2NUb0xlZnQ7XG4gICAgICAgICAgICAtbXMtYW5pbWF0aW9uLW5hbWU6IGRlc2NUb0xlZnQ7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogZGVzY1RvTGVmdDtcbiAgICAgICAgfVxuICAgICAgICAubmF2IHtcbiAgICAgICAgICAgIC5saXN0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIC1tcy1hbmltYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgLW1vei1hbmltYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmljb25fbWVudSB7XG4gICAgICAgICAgICAgICAgLm1lbnVfaXRlbV8xIHtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaDUtbWVudTFPdXQ7XG4gICAgICAgICAgICAgICAgICAgIC1tb3otYW5pbWF0aW9uLW5hbWU6IGg1LW1lbnUxT3V0O1xuICAgICAgICAgICAgICAgICAgICAtbXMtYW5pbWF0aW9uLW5hbWU6IGg1LW1lbnUxT3V0O1xuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogaDUtbWVudTFPdXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5tZW51X2l0ZW1fMiB7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGg1LW1lbnUyT3V0O1xuICAgICAgICAgICAgICAgICAgICAtbW96LWFuaW1hdGlvbi1uYW1lOiBoNS1tZW51Mk91dDtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWFuaW1hdGlvbi1uYW1lOiBoNS1tZW51Mk91dDtcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGg1LW1lbnUyT3V0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuaGVhZGVyX2Nsb3NlIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjYpO1xuICAgICAgICB9XG4gICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgIC5pbWcge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWdzL2lmLWxvZ28uc3ZnKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmRlc2Nfd3JhcCAuZGVzYyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZ3MvaWYtbG9nby1kZXNjLnN2ZykgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBkZXNjVG9SaWdodDtcbiAgICAgICAgICAgICAgICAtbW96LWFuaW1hdGlvbi1uYW1lOiBkZXNjVG9SaWdodDtcbiAgICAgICAgICAgICAgICAtbXMtYW5pbWF0aW9uLW5hbWU6IGRlc2NUb1JpZ2h0O1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBkZXNjVG9SaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubmF2IHtcbiAgICAgICAgICAgIC5saXN0IHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoNS1uYXY7XG4gICAgICAgICAgICAgICAgLW1vei1hbmltYXRpb24tbmFtZTogaDUtbmF2O1xuICAgICAgICAgICAgICAgIC1tcy1hbmltYXRpb24tbmFtZTogaDUtbmF2O1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBoNS1uYXY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaWNvbl9tZW51IHtcbiAgICAgICAgICAgICAgICAubWVudV9pdGVtXzEge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjBCMEIwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGg1LW1lbnUxSW47XG4gICAgICAgICAgICAgICAgICAgIC1tb3otYW5pbWF0aW9uLW5hbWU6IGg1LW1lbnUxSW47XG4gICAgICAgICAgICAgICAgICAgIC1tcy1hbmltYXRpb24tbmFtZTogaDUtbWVudTFJbjtcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGg1LW1lbnUxSW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5tZW51X2l0ZW1fMiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNCMEIwQjAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaDUtbWVudTJJbjtcbiAgICAgICAgICAgICAgICAgICAgLW1vei1hbmltYXRpb24tbmFtZTogaDUtbWVudTJJbjtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWFuaW1hdGlvbi1uYW1lOiBoNS1tZW51MkluO1xuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogaDUtbWVudTJJbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBtZW51MUluIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgbWVudTFJbiB7XG4gICAgMCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoNDVkZWcpXG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1lbnUxSW4ge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg0NWRlZylcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg5MGRlZylcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpIHJvdGF0ZSg5MGRlZylcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBtZW51MkluIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpIHJvdGF0ZSgtOTBkZWcpO1xuICAgIH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIG1lbnUySW4ge1xuICAgIDAlIHtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKC00NWRlZyk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgtOTBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCkgcm90YXRlKC05MGRlZyk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1lbnUySW4ge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgtNDVkZWcpXG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoLTkwZGVnKVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpIHJvdGF0ZSgtOTBkZWcpXG4gICAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbWVudTFPdXQge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KSByb3RhdGUoOTBkZWcpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoOTBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBtZW51MU91dCB7XG4gICAgMCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoNDVkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBtZW51MU91dCB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KSByb3RhdGUoOTBkZWcpXG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoOTBkZWcpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDQ1ZGVnKVxuICAgIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIG1lbnUyT3V0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpIHJvdGF0ZSgtOTBkZWcpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIG1lbnUyT3V0IHtcbiAgICAwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpIHJvdGF0ZSgtOTBkZWcpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBtZW51Mk91dCB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCkgcm90YXRlKC05MGRlZylcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgtOTBkZWcpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKC00NWRlZylcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBuYXZUb1JpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAlKTtcbiAgICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBuYXZUb1JpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAlKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgbmF2VG9SaWdodCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAlKTtcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBuYXZUb0xlZnQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBuYXZUb0xlZnQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgbmF2VG9MZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBkZXNjVG9MZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTYwJSk7XG4gICAgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgZGVzY1RvTGVmdCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02MCUpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBkZXNjVG9MZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNjAlKTtcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBkZXNjVG9SaWdodCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNjAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIGRlc2NUb1JpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02MCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGRlc2NUb1JpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNjAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoNS1tZW51MUluIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCkgcm90YXRlKDkwZGVnKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDkwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgaDUtbWVudTFJbiB7XG4gICAgMCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoNDVkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBoNS1tZW51MUluIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpIHJvdGF0ZSg5MGRlZylcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg5MGRlZylcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoNDVkZWcpXG4gICAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaDUtbWVudTJJbiB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KSByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKC05MGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBoNS1tZW51MkluIHtcbiAgICAwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpIHJvdGF0ZSgtOTBkZWcpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBoNS1tZW51MkluIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KSByb3RhdGUoLTkwZGVnKVxuICAgIH1cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKC05MGRlZylcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoLTQ1ZGVnKVxuICAgIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGg1LW1lbnUxT3V0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgaDUtbWVudTFPdXQge1xuICAgIDAlIHtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDkwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCkgcm90YXRlKDkwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgaDUtbWVudTFPdXQge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg0NWRlZylcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg5MGRlZylcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpIHJvdGF0ZSg5MGRlZylcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoNS1tZW51Mk91dCB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKC05MGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KSByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBoNS1tZW51Mk91dCB7XG4gICAgMCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKC05MGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KSByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgaDUtbWVudTJPdXQge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgtNDVkZWcpXG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoLTkwZGVnKVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpIHJvdGF0ZSgtOTBkZWcpXG4gICAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaDUtbmF2IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIGg1LW5hdiB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgaDUtbmF2IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn0iLCIubW9kX3Byb2plY3Qge1xuICAgIC53cmFwIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDgwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB3aWR0aDogMTI4MHB4O1xuICAgIH1cbiAgICAubGlzdCB7XG4gICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MHB4KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB3aWR0aDogNDguNDM5JTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgICAgICAuaW1nX3dyYXAge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNTQuODM5JTtcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICAmKy50eXBle1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pbWcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5nX21heDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7XG4gICAgICAgICAgICAgICAgJltzcmM9XCIgXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50eHQge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmZfcGY7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgICAgICYrLnR5cGUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50eXBlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMTRweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX21haW47XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC53cmFwX21vdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudmlld19tb3JlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBjb2xvcjogIzdEN0Q3RDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNEQURBREE7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgICAuc3ZnX21vcmVfYXJyb3cge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTRweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBnZXRTcXVhcmUoMTRweCk7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9tYWluO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX21haW47XG4gICAgICAgICAgICAgICAgLnN2Z19tb3JlX2Fycm93IHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjE0MzlweCkge1xuICAgIC5tb2RfcHJvamVjdCAud3JhcCB7XG4gICAgICAgIHdpZHRoOiA4OC44ODklO1xuICAgIH1cbiAgICAubW9kX3Byb2plY3QgLmxpc3QgLml0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjc3NzglO1xuICAgIH1cbn1cblxuQG1lZGlhKG1heC13aWR0aDo3NjdweCkge1xuICAgIC5tb2RfcHJvamVjdCAud3JhcCB7XG4gICAgICAgIHdpZHRoOiA5MS40NyU7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2LjQlO1xuICAgICAgICAubGlzdCAuaXRlbSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDkuMzMlO1xuICAgICAgICAgICAgLnR4dCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIuMzMyJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIubW9kX2Zvb3RlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogODBweCAwIDYwcHg7XG4gICAgLmxpc3Qge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBleHRlbmQgLmZfcmU7XG4gICAgICAgIHdpZHRoOiAxMTIwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgIGNvbG9yOiAjQjRCQkJFO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9tYWluO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgzKTpob3ZlciB7XG4gICAgICAgICAgICAgICAgLnFyX2NvZGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc3ZnX2ljb24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdldFNxdWFyZSgyMnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5xcl9jb2RlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAtMjAwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtODNweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgLy8gY29sb3I6ICMxMjEyMTI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLCAwLCAwLCAuMSk7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMTFweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTZweDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5pbWcge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBnZXRTcXVhcmUoMTUwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudHh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgY29sb3I6ICNCNEJCQkU7XG4gICAgICAgICAgICAuaGlnaGxpZ2h0IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX21haW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29weXJpZ2h0IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmZfcmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBie1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDM5cHgpIHtcbiAgICAubW9kX2Zvb3RlciAubGlzdCB7XG4gICAgICAgIHdpZHRoOiA3Ny43NzglO1xuICAgIH1cbn1cblxuQG1lZGlhKG1heC13aWR0aDo3NjdweCkge1xuICAgIC5tb2RfZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZzogMjEuMzM0JSAwIDEzLjMzNCU7XG4gICAgICAgIC5saXN0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgICAgICAuc3ZnX2ljb24ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBnZXRTcXVhcmUoMjRweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50eHQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogLTM5cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIC5jb3B5cmlnaHQge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYShtYXgtd2lkdGg6MzIxcHgpIHtcbiAgICAubW9kX2Zvb3RlciB7XG4gICAgICAgIC5saXN0IC50eHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICB9XG4gICAgfVxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FLQ0EsQUFBQSxJQUFJLENBQUM7RUFDRDtnQ0FDNEI7RUFDNUIsMkJBQTJC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 */

#amaoliu{content:"20181027024354"}