.text-twitter {
  color: #1DA1F2 !important; }

a.text-twitter:hover, a.text-twitter:focus {
  color: #0c85d0 !important; }

.bg-twitter {
  background-color: #1DA1F2 !important; }

a.bg-twitter:hover, a.bg-twitter:focus {
  background-color: #1c99e6 !important; }

.bg-twitter-dark {
  background-color: #1a91da !important; }

a.bg-twitter-dark:hover, a.bg-twitter-dark:focus {
  background-color: #198acf !important; }

.bg-twitter-darker {
  background-color: #1989ce !important; }

a.bg-twitter-darker:hover, a.bg-twitter-darker:focus {
  background-color: #1882c4 !important; }

.btn-twitter {
  border-color: transparent;
  background: #1DA1F2;
  color: #fff; }
  .btn-twitter:hover {
    border-color: transparent;
    background: #1c99e6;
    color: #fff; }
  .btn-twitter:focus, .btn-twitter.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(29, 161, 242, 0.4);
            box-shadow: 0 0 0 2px rgba(29, 161, 242, 0.4); }
  .btn-twitter.disabled, .btn-twitter:disabled {
    border-color: transparent !important;
    background: #1DA1F2 !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: #fff !important; }

.btn-twitter .badge {
  background: #fff;
  color: #1DA1F2; }

.btn-twitter:active,
.btn-twitter.active,
.show > .btn-twitter.dropdown-toggle {
  border-color: transparent;
  background: #198cd3;
  -webkit-box-shadow: none;
          box-shadow: none; }

.btn-group .btn-twitter,
.input-group-prepend .btn-twitter,
.input-group-append .btn-twitter {
  border-right: 1px solid #198cd3;
  border-left: 1px solid #198cd3; }

.btn-outline-twitter {
  border-color: #1DA1F2;
  background: transparent;
  color: #1DA1F2; }
  .btn-outline-twitter:hover {
    border-color: transparent;
    background: #1DA1F2;
    color: #fff; }
    .btn-outline-twitter:hover .badge {
      background: #fff;
      color: #1DA1F2; }
  .btn-outline-twitter:focus, .btn-outline-twitter.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(29, 161, 242, 0.4);
            box-shadow: 0 0 0 2px rgba(29, 161, 242, 0.4); }
  .btn-outline-twitter.disabled, .btn-outline-twitter:disabled {
    border-color: #1DA1F2 !important;
    background: transparent !important;
    color: #1DA1F2 !important; }

.btn-outline-twitter .badge {
  background: #1DA1F2;
  color: #fff; }

.btn-outline-twitter:active,
.btn-outline-twitter.active,
.show > .btn-outline-twitter.dropdown-toggle {
  border-color: transparent;
  background: #1c99e6;
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none; }
  .btn-outline-twitter:active .badge,
  .btn-outline-twitter.active .badge,
  .show > .btn-outline-twitter.dropdown-toggle .badge {
    background: #fff;
    color: #1DA1F2; }

.text-google {
  color: #D1523F !important; }

a.text-google:hover, a.text-google:focus {
  color: #b23c2b !important; }

.bg-google {
  background-color: #D1523F !important; }

a.bg-google:hover, a.bg-google:focus {
  background-color: #c74e3c !important; }

.bg-google-dark {
  background-color: #bc4a39 !important; }

a.bg-google-dark:hover, a.bg-google-dark:focus {
  background-color: #b34636 !important; }

.bg-google-darker {
  background-color: #b24636 !important; }

a.bg-google-darker:hover, a.bg-google-darker:focus {
  background-color: #a94333 !important; }

.btn-google {
  border-color: transparent;
  background: #D1523F;
  color: #fff; }
  .btn-google:hover {
    border-color: transparent;
    background: #c74e3c;
    color: #fff; }
  .btn-google:focus, .btn-google.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(209, 82, 63, 0.4);
            box-shadow: 0 0 0 2px rgba(209, 82, 63, 0.4); }
  .btn-google.disabled, .btn-google:disabled {
    border-color: transparent !important;
    background: #D1523F !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: #fff !important; }

.btn-google .badge {
  background: #fff;
  color: #D1523F; }

.btn-google:active,
.btn-google.active,
.show > .btn-google.dropdown-toggle {
  border-color: transparent;
  background: #b64737;
  -webkit-box-shadow: none;
          box-shadow: none; }

.btn-group .btn-google,
.input-group-prepend .btn-google,
.input-group-append .btn-google {
  border-right: 1px solid #b64737;
  border-left: 1px solid #b64737; }

.btn-outline-google {
  border-color: #D1523F;
  background: transparent;
  color: #D1523F; }
  .btn-outline-google:hover {
    border-color: transparent;
    background: #D1523F;
    color: #fff; }
    .btn-outline-google:hover .badge {
      background: #fff;
      color: #D1523F; }
  .btn-outline-google:focus, .btn-outline-google.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(209, 82, 63, 0.4);
            box-shadow: 0 0 0 2px rgba(209, 82, 63, 0.4); }
  .btn-outline-google.disabled, .btn-outline-google:disabled {
    border-color: #D1523F !important;
    background: transparent !important;
    color: #D1523F !important; }

.btn-outline-google .badge {
  background: #D1523F;
  color: #fff; }

.btn-outline-google:active,
.btn-outline-google.active,
.show > .btn-outline-google.dropdown-toggle {
  border-color: transparent;
  background: #c74e3c;
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none; }
  .btn-outline-google:active .badge,
  .btn-outline-google.active .badge,
  .show > .btn-outline-google.dropdown-toggle .badge {
    background: #fff;
    color: #D1523F; }

.text-facebook {
  color: #3B5998 !important; }

a.text-facebook:hover, a.text-facebook:focus {
  color: #2d4373 !important; }

.bg-facebook {
  background-color: #3B5998 !important; }

a.bg-facebook:hover, a.bg-facebook:focus {
  background-color: #385590 !important; }

.bg-facebook-dark {
  background-color: #355089 !important; }

a.bg-facebook-dark:hover, a.bg-facebook-dark:focus {
  background-color: #324c82 !important; }

.bg-facebook-darker {
  background-color: #324c81 !important; }

a.bg-facebook-darker:hover, a.bg-facebook-darker:focus {
  background-color: #30487b !important; }

.btn-facebook {
  border-color: transparent;
  background: #3B5998;
  color: #fff; }
  .btn-facebook:hover {
    border-color: transparent;
    background: #385590;
    color: #fff; }
  .btn-facebook:focus, .btn-facebook.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(59, 89, 152, 0.4);
            box-shadow: 0 0 0 2px rgba(59, 89, 152, 0.4); }
  .btn-facebook.disabled, .btn-facebook:disabled {
    border-color: transparent !important;
    background: #3B5998 !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: #fff !important; }

.btn-facebook .badge {
  background: #fff;
  color: #3B5998; }

.btn-facebook:active,
.btn-facebook.active,
.show > .btn-facebook.dropdown-toggle {
  border-color: transparent;
  background: #334d84;
  -webkit-box-shadow: none;
          box-shadow: none; }

.btn-group .btn-facebook,
.input-group-prepend .btn-facebook,
.input-group-append .btn-facebook {
  border-right: 1px solid #334d84;
  border-left: 1px solid #334d84; }

.btn-outline-facebook {
  border-color: #3B5998;
  background: transparent;
  color: #3B5998; }
  .btn-outline-facebook:hover {
    border-color: transparent;
    background: #3B5998;
    color: #fff; }
    .btn-outline-facebook:hover .badge {
      background: #fff;
      color: #3B5998; }
  .btn-outline-facebook:focus, .btn-outline-facebook.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(59, 89, 152, 0.4);
            box-shadow: 0 0 0 2px rgba(59, 89, 152, 0.4); }
  .btn-outline-facebook.disabled, .btn-outline-facebook:disabled {
    border-color: #3B5998 !important;
    background: transparent !important;
    color: #3B5998 !important; }

.btn-outline-facebook .badge {
  background: #3B5998;
  color: #fff; }

.btn-outline-facebook:active,
.btn-outline-facebook.active,
.show > .btn-outline-facebook.dropdown-toggle {
  border-color: transparent;
  background: #385590;
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none; }
  .btn-outline-facebook:active .badge,
  .btn-outline-facebook.active .badge,
  .show > .btn-outline-facebook.dropdown-toggle .badge {
    background: #fff;
    color: #3B5998; }

.text-pinterest {
  color: #bd121c !important; }

a.text-pinterest:hover, a.text-pinterest:focus {
  color: #8e0e15 !important; }

.bg-pinterest {
  background-color: #bd121c !important; }

a.bg-pinterest:hover, a.bg-pinterest:focus {
  background-color: #b4111b !important; }

.bg-pinterest-dark {
  background-color: #aa1019 !important; }

a.bg-pinterest-dark:hover, a.bg-pinterest-dark:focus {
  background-color: #a20f18 !important; }

.bg-pinterest-darker {
  background-color: #a10f18 !important; }

a.bg-pinterest-darker:hover, a.bg-pinterest-darker:focus {
  background-color: #990e17 !important; }

.btn-pinterest {
  border-color: transparent;
  background: #bd121c;
  color: #fff; }
  .btn-pinterest:hover {
    border-color: transparent;
    background: #b4111b;
    color: #fff; }
  .btn-pinterest:focus, .btn-pinterest.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(189, 18, 28, 0.4);
            box-shadow: 0 0 0 2px rgba(189, 18, 28, 0.4); }
  .btn-pinterest.disabled, .btn-pinterest:disabled {
    border-color: transparent !important;
    background: #bd121c !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: #fff !important; }

.btn-pinterest .badge {
  background: #fff;
  color: #bd121c; }

.btn-pinterest:active,
.btn-pinterest.active,
.show > .btn-pinterest.dropdown-toggle {
  border-color: transparent;
  background: #a41018;
  -webkit-box-shadow: none;
          box-shadow: none; }

.btn-group .btn-pinterest,
.input-group-prepend .btn-pinterest,
.input-group-append .btn-pinterest {
  border-right: 1px solid #a41018;
  border-left: 1px solid #a41018; }

.btn-outline-pinterest {
  border-color: #bd121c;
  background: transparent;
  color: #bd121c; }
  .btn-outline-pinterest:hover {
    border-color: transparent;
    background: #bd121c;
    color: #fff; }
    .btn-outline-pinterest:hover .badge {
      background: #fff;
      color: #bd121c; }
  .btn-outline-pinterest:focus, .btn-outline-pinterest.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(189, 18, 28, 0.4);
            box-shadow: 0 0 0 2px rgba(189, 18, 28, 0.4); }
  .btn-outline-pinterest.disabled, .btn-outline-pinterest:disabled {
    border-color: #bd121c !important;
    background: transparent !important;
    color: #bd121c !important; }

.btn-outline-pinterest .badge {
  background: #bd121c;
  color: #fff; }

.btn-outline-pinterest:active,
.btn-outline-pinterest.active,
.show > .btn-outline-pinterest.dropdown-toggle {
  border-color: transparent;
  background: #b4111b;
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none; }
  .btn-outline-pinterest:active .badge,
  .btn-outline-pinterest.active .badge,
  .show > .btn-outline-pinterest.dropdown-toggle .badge {
    background: #fff;
    color: #bd121c; }

.text-instagram {
  color: #000 !important; }

a.text-instagram:hover, a.text-instagram:focus {
  color: black !important; }

.bg-instagram {
  background-color: #000 !important; }

a.bg-instagram:hover, a.bg-instagram:focus {
  background-color: black !important; }

.bg-instagram-dark {
  background-color: black !important; }

a.bg-instagram-dark:hover, a.bg-instagram-dark:focus {
  background-color: black !important; }

.bg-instagram-darker {
  background-color: black !important; }

a.bg-instagram-darker:hover, a.bg-instagram-darker:focus {
  background-color: black !important; }

.btn-instagram {
  border-color: transparent;
  background: #000;
  color: #fff; }
  .btn-instagram:hover {
    border-color: transparent;
    background: black;
    color: #fff; }
  .btn-instagram:focus, .btn-instagram.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.4);
            box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.4); }
  .btn-instagram.disabled, .btn-instagram:disabled {
    border-color: transparent !important;
    background: #000 !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: #fff !important; }

.btn-instagram .badge {
  background: #fff;
  color: #000; }

.btn-instagram:active,
.btn-instagram.active,
.show > .btn-instagram.dropdown-toggle {
  border-color: transparent;
  background: black;
  -webkit-box-shadow: none;
          box-shadow: none; }

.btn-group .btn-instagram,
.input-group-prepend .btn-instagram,
.input-group-append .btn-instagram {
  border-right: 1px solid black;
  border-left: 1px solid black; }

.btn-outline-instagram {
  border-color: #000;
  background: transparent;
  color: #000; }
  .btn-outline-instagram:hover {
    border-color: transparent;
    background: #000;
    color: #fff; }
    .btn-outline-instagram:hover .badge {
      background: #fff;
      color: #000; }
  .btn-outline-instagram:focus, .btn-outline-instagram.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.4);
            box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.4); }
  .btn-outline-instagram.disabled, .btn-outline-instagram:disabled {
    border-color: #000 !important;
    background: transparent !important;
    color: #000 !important; }

.btn-outline-instagram .badge {
  background: #000;
  color: #fff; }

.btn-outline-instagram:active,
.btn-outline-instagram.active,
.show > .btn-outline-instagram.dropdown-toggle {
  border-color: transparent;
  background: black;
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none; }
  .btn-outline-instagram:active .badge,
  .btn-outline-instagram.active .badge,
  .show > .btn-outline-instagram.dropdown-toggle .badge {
    background: #fff;
    color: #000; }

.text-windows {
  color: #26AAE1 !important; }

a.text-windows:hover, a.text-windows:focus {
  color: #1a8bba !important; }

.bg-windows {
  background-color: #26AAE1 !important; }

a.bg-windows:hover, a.bg-windows:focus {
  background-color: #24a2d6 !important; }

.bg-windows-dark {
  background-color: #2299cb !important; }

a.bg-windows-dark:hover, a.bg-windows-dark:focus {
  background-color: #2091c1 !important; }

.bg-windows-darker {
  background-color: #2091bf !important; }

a.bg-windows-darker:hover, a.bg-windows-darker:focus {
  background-color: #1e8ab5 !important; }

.btn-windows {
  border-color: transparent;
  background: #26AAE1;
  color: #fff; }
  .btn-windows:hover {
    border-color: transparent;
    background: #24a2d6;
    color: #fff; }
  .btn-windows:focus, .btn-windows.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(38, 170, 225, 0.4);
            box-shadow: 0 0 0 2px rgba(38, 170, 225, 0.4); }
  .btn-windows.disabled, .btn-windows:disabled {
    border-color: transparent !important;
    background: #26AAE1 !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: #fff !important; }

.btn-windows .badge {
  background: #fff;
  color: #26AAE1; }

.btn-windows:active,
.btn-windows.active,
.show > .btn-windows.dropdown-toggle {
  border-color: transparent;
  background: #2194c4;
  -webkit-box-shadow: none;
          box-shadow: none; }

.btn-group .btn-windows,
.input-group-prepend .btn-windows,
.input-group-append .btn-windows {
  border-right: 1px solid #2194c4;
  border-left: 1px solid #2194c4; }

.btn-outline-windows {
  border-color: #26AAE1;
  background: transparent;
  color: #26AAE1; }
  .btn-outline-windows:hover {
    border-color: transparent;
    background: #26AAE1;
    color: #fff; }
    .btn-outline-windows:hover .badge {
      background: #fff;
      color: #26AAE1; }
  .btn-outline-windows:focus, .btn-outline-windows.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(38, 170, 225, 0.4);
            box-shadow: 0 0 0 2px rgba(38, 170, 225, 0.4); }
  .btn-outline-windows.disabled, .btn-outline-windows:disabled {
    border-color: #26AAE1 !important;
    background: transparent !important;
    color: #26AAE1 !important; }

.btn-outline-windows .badge {
  background: #26AAE1;
  color: #fff; }

.btn-outline-windows:active,
.btn-outline-windows.active,
.show > .btn-outline-windows.dropdown-toggle {
  border-color: transparent;
  background: #24a2d6;
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none; }
  .btn-outline-windows:active .badge,
  .btn-outline-windows.active .badge,
  .show > .btn-outline-windows.dropdown-toggle .badge {
    background: #fff;
    color: #26AAE1; }

.text-macos {
  color: #343434 !important; }

a.text-macos:hover, a.text-macos:focus {
  color: #1b1b1b !important; }

.bg-macos {
  background-color: #343434 !important; }

a.bg-macos:hover, a.bg-macos:focus {
  background-color: #313131 !important; }

.bg-macos-dark {
  background-color: #2f2f2f !important; }

a.bg-macos-dark:hover, a.bg-macos-dark:focus {
  background-color: #2d2d2d !important; }

.bg-macos-darker {
  background-color: #2c2c2c !important; }

a.bg-macos-darker:hover, a.bg-macos-darker:focus {
  background-color: #2a2a2a !important; }

.btn-macos {
  border-color: transparent;
  background: #343434;
  color: #fff; }
  .btn-macos:hover {
    border-color: transparent;
    background: #313131;
    color: #fff; }
  .btn-macos:focus, .btn-macos.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(52, 52, 52, 0.4);
            box-shadow: 0 0 0 2px rgba(52, 52, 52, 0.4); }
  .btn-macos.disabled, .btn-macos:disabled {
    border-color: transparent !important;
    background: #343434 !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: #fff !important; }

.btn-macos .badge {
  background: #fff;
  color: #343434; }

.btn-macos:active,
.btn-macos.active,
.show > .btn-macos.dropdown-toggle {
  border-color: transparent;
  background: #2d2d2d;
  -webkit-box-shadow: none;
          box-shadow: none; }

.btn-group .btn-macos,
.input-group-prepend .btn-macos,
.input-group-append .btn-macos {
  border-right: 1px solid #2d2d2d;
  border-left: 1px solid #2d2d2d; }

.btn-outline-macos {
  border-color: #343434;
  background: transparent;
  color: #343434; }
  .btn-outline-macos:hover {
    border-color: transparent;
    background: #343434;
    color: #fff; }
    .btn-outline-macos:hover .badge {
      background: #fff;
      color: #343434; }
  .btn-outline-macos:focus, .btn-outline-macos.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(52, 52, 52, 0.4);
            box-shadow: 0 0 0 2px rgba(52, 52, 52, 0.4); }
  .btn-outline-macos.disabled, .btn-outline-macos:disabled {
    border-color: #343434 !important;
    background: transparent !important;
    color: #343434 !important; }

.btn-outline-macos .badge {
  background: #343434;
  color: #fff; }

.btn-outline-macos:active,
.btn-outline-macos.active,
.show > .btn-outline-macos.dropdown-toggle {
  border-color: transparent;
  background: #313131;
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none; }
  .btn-outline-macos:active .badge,
  .btn-outline-macos.active .badge,
  .show > .btn-outline-macos.dropdown-toggle .badge {
    background: #fff;
    color: #343434; }

.text-linux {
  color: #800080 !important; }

a.text-linux:hover, a.text-linux:focus {
  color: #4d004d !important; }

.bg-linux {
  background-color: #800080 !important; }

a.bg-linux:hover, a.bg-linux:focus {
  background-color: #7a007a !important; }

.bg-linux-dark {
  background-color: #730073 !important; }

a.bg-linux-dark:hover, a.bg-linux-dark:focus {
  background-color: #6d006d !important; }

.bg-linux-darker {
  background-color: #6d006d !important; }

a.bg-linux-darker:hover, a.bg-linux-darker:focus {
  background-color: #680068 !important; }

.btn-linux {
  border-color: transparent;
  background: #800080;
  color: #fff; }
  .btn-linux:hover {
    border-color: transparent;
    background: #7a007a;
    color: #fff; }
  .btn-linux:focus, .btn-linux.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(128, 0, 128, 0.4);
            box-shadow: 0 0 0 2px rgba(128, 0, 128, 0.4); }
  .btn-linux.disabled, .btn-linux:disabled {
    border-color: transparent !important;
    background: #800080 !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: #fff !important; }

.btn-linux .badge {
  background: #fff;
  color: #800080; }

.btn-linux:active,
.btn-linux.active,
.show > .btn-linux.dropdown-toggle {
  border-color: transparent;
  background: #6f006f;
  -webkit-box-shadow: none;
          box-shadow: none; }

.btn-group .btn-linux,
.input-group-prepend .btn-linux,
.input-group-append .btn-linux {
  border-right: 1px solid #6f006f;
  border-left: 1px solid #6f006f; }

.btn-outline-linux {
  border-color: #800080;
  background: transparent;
  color: #800080; }
  .btn-outline-linux:hover {
    border-color: transparent;
    background: #800080;
    color: #fff; }
    .btn-outline-linux:hover .badge {
      background: #fff;
      color: #800080; }
  .btn-outline-linux:focus, .btn-outline-linux.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(128, 0, 128, 0.4);
            box-shadow: 0 0 0 2px rgba(128, 0, 128, 0.4); }
  .btn-outline-linux.disabled, .btn-outline-linux:disabled {
    border-color: #800080 !important;
    background: transparent !important;
    color: #800080 !important; }

.btn-outline-linux .badge {
  background: #800080;
  color: #fff; }

.btn-outline-linux:active,
.btn-outline-linux.active,
.show > .btn-outline-linux.dropdown-toggle {
  border-color: transparent;
  background: #7a007a;
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none; }
  .btn-outline-linux:active .badge,
  .btn-outline-linux.active .badge,
  .show > .btn-outline-linux.dropdown-toggle .badge {
    background: #fff;
    color: #800080; }

.btn-white {
  border-color: transparent;
  background: #fff;
  color: #4E5155; }
  .btn-white:hover {
    border-color: transparent;
    background: #f2f2f2;
    color: #4E5155; }
  .btn-white:focus, .btn-white.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.4);
            box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.4); }
  .btn-white.disabled, .btn-white:disabled {
    border-color: transparent !important;
    background: #fff !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: #4E5155 !important; }

.btn-white .badge {
  background: #4E5155;
  color: #fff; }

.btn-white:active,
.btn-white.active,
.show > .btn-white.dropdown-toggle {
  border-color: transparent;
  background: #dedede;
  -webkit-box-shadow: none;
          box-shadow: none; }

.btn-group .btn-white,
.input-group-prepend .btn-white,
.input-group-append .btn-white {
  border-right: 1px solid #dedede;
  border-left: 1px solid #dedede; }

.btn-outline-white {
  border-color: #fff;
  background: transparent;
  color: #fff; }
  .btn-outline-white:hover {
    border-color: transparent;
    background: #fff;
    color: #4E5155; }
    .btn-outline-white:hover .badge {
      background: #4E5155;
      color: #fff; }
  .btn-outline-white:focus, .btn-outline-white.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.4);
            box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.4); }
  .btn-outline-white.disabled, .btn-outline-white:disabled {
    border-color: #fff !important;
    background: transparent !important;
    color: #fff !important; }

.btn-outline-white .badge {
  background: #fff;
  color: #fff; }

.btn-outline-white:active,
.btn-outline-white.active,
.show > .btn-outline-white.dropdown-toggle {
  border-color: transparent;
  background: #f2f2f2;
  color: #4E5155;
  -webkit-box-shadow: none;
          box-shadow: none; }
  .btn-outline-white:active .badge,
  .btn-outline-white.active .badge,
  .show > .btn-outline-white.dropdown-toggle .badge {
    background: #4E5155;
    color: #fff; }

.custom-control.custom-control-black .custom-control-label::before,
.custom-control.custom-control-black .custom-control-input:active ~ .custom-control-label::before {
  background-color: #000; }

.custom-control.custom-control-black .custom-control-input:focus ~ .custom-control-label::before,
.custom-control.custom-control-black .custom-control-input:active ~ .custom-control-label::before {
  border-color: #000; }

.custom-control.custom-control-black .custom-control-input:focus ~ .custom-control-label::before {
  -webkit-box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.4);
          box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.4); }

.custom-control.custom-control-black.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before,
.custom-control.custom-control-black.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  border-color: #000;
  background-color: #000; }

.custom-control.custom-control-black.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); }

.custom-control.custom-control-black.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='4.5' style='fill:%23fff'/%3E%3Cpath d='M5,1A4,4,0,1,1,1,5,4,4,0,0,1,5,1M5,0a5,5,0,1,0,5,5A5,5,0,0,0,5,0Z' style='fill:%23fff'/%3E%3C/svg%3E"); }

.custom-control.custom-control-white .custom-control-label::before,
.custom-control.custom-control-white .custom-control-input:active ~ .custom-control-label::before {
  background-color: #fff; }

.custom-control.custom-control-white .custom-control-input:focus ~ .custom-control-label::before,
.custom-control.custom-control-white .custom-control-input:active ~ .custom-control-label::before {
  border-color: #fff; }

.custom-control.custom-control-white .custom-control-input:focus ~ .custom-control-label::before {
  -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.4);
          box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.4); }

.custom-control.custom-control-white.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before,
.custom-control.custom-control-white.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  border-color: #fff;
  background-color: #fff; }

.custom-control.custom-control-white.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23666666;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); }

.custom-control.custom-control-white.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='4.5' style='fill:%23666666'/%3E%3Cpath d='M5,1A4,4,0,1,1,1,5,4,4,0,0,1,5,1M5,0a5,5,0,1,0,5,5A5,5,0,0,0,5,0Z' style='fill:%23666666'/%3E%3C/svg%3E"); }

.custom-control.custom-control-silver .custom-control-label::before,
.custom-control.custom-control-silver .custom-control-input:active ~ .custom-control-label::before {
  background-color: #eee; }

.custom-control.custom-control-silver .custom-control-input:focus ~ .custom-control-label::before,
.custom-control.custom-control-silver .custom-control-input:active ~ .custom-control-label::before {
  border-color: #eee; }

.custom-control.custom-control-silver .custom-control-input:focus ~ .custom-control-label::before {
  -webkit-box-shadow: 0 0 0 2px rgba(238, 238, 238, 0.4);
          box-shadow: 0 0 0 2px rgba(238, 238, 238, 0.4); }

.custom-control.custom-control-silver.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before,
.custom-control.custom-control-silver.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  border-color: #eee;
  background-color: #eee; }

.custom-control.custom-control-silver.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%235f5f5f;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); }

.custom-control.custom-control-silver.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='4.5' style='fill:%235f5f5f'/%3E%3Cpath d='M5,1A4,4,0,1,1,1,5,4,4,0,0,1,5,1M5,0a5,5,0,1,0,5,5A5,5,0,0,0,5,0Z' style='fill:%235f5f5f'/%3E%3C/svg%3E"); }

.custom-control.custom-control-gray .custom-control-label::before,
.custom-control.custom-control-gray .custom-control-input:active ~ .custom-control-label::before {
  background-color: #777; }

.custom-control.custom-control-gray .custom-control-input:focus ~ .custom-control-label::before,
.custom-control.custom-control-gray .custom-control-input:active ~ .custom-control-label::before {
  border-color: #777; }

.custom-control.custom-control-gray .custom-control-input:focus ~ .custom-control-label::before {
  -webkit-box-shadow: 0 0 0 2px rgba(119, 119, 119, 0.4);
          box-shadow: 0 0 0 2px rgba(119, 119, 119, 0.4); }

.custom-control.custom-control-gray.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before,
.custom-control.custom-control-gray.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  border-color: #777;
  background-color: #777; }

.custom-control.custom-control-gray.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); }

.custom-control.custom-control-gray.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='4.5' style='fill:%23fff'/%3E%3Cpath d='M5,1A4,4,0,1,1,1,5,4,4,0,0,1,5,1M5,0a5,5,0,1,0,5,5A5,5,0,0,0,5,0Z' style='fill:%23fff'/%3E%3C/svg%3E"); }

.custom-control.custom-control-gold .custom-control-label::before,
.custom-control.custom-control-gold .custom-control-input:active ~ .custom-control-label::before {
  background-color: #ffeb3b; }

.custom-control.custom-control-gold .custom-control-input:focus ~ .custom-control-label::before,
.custom-control.custom-control-gold .custom-control-input:active ~ .custom-control-label::before {
  border-color: #ffeb3b; }

.custom-control.custom-control-gold .custom-control-input:focus ~ .custom-control-label::before {
  -webkit-box-shadow: 0 0 0 2px rgba(255, 235, 59, 0.4);
          box-shadow: 0 0 0 2px rgba(255, 235, 59, 0.4); }

.custom-control.custom-control-gold.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before,
.custom-control.custom-control-gold.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  border-color: #ffeb3b;
  background-color: #ffeb3b; }

.custom-control.custom-control-gold.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23665e18;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); }

.custom-control.custom-control-gold.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='4.5' style='fill:%23665e18'/%3E%3Cpath d='M5,1A4,4,0,1,1,1,5,4,4,0,0,1,5,1M5,0a5,5,0,1,0,5,5A5,5,0,0,0,5,0Z' style='fill:%23665e18'/%3E%3C/svg%3E"); }

.custom-control.custom-control-pink .custom-control-label::before,
.custom-control.custom-control-pink .custom-control-input:active ~ .custom-control-label::before {
  background-color: #e91e63; }

.custom-control.custom-control-pink .custom-control-input:focus ~ .custom-control-label::before,
.custom-control.custom-control-pink .custom-control-input:active ~ .custom-control-label::before {
  border-color: #e91e63; }

.custom-control.custom-control-pink .custom-control-input:focus ~ .custom-control-label::before {
  -webkit-box-shadow: 0 0 0 2px rgba(233, 30, 99, 0.4);
          box-shadow: 0 0 0 2px rgba(233, 30, 99, 0.4); }

.custom-control.custom-control-pink.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before,
.custom-control.custom-control-pink.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  border-color: #e91e63;
  background-color: #e91e63; }

.custom-control.custom-control-pink.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); }

.custom-control.custom-control-pink.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='4.5' style='fill:%23fff'/%3E%3Cpath d='M5,1A4,4,0,1,1,1,5,4,4,0,0,1,5,1M5,0a5,5,0,1,0,5,5A5,5,0,0,0,5,0Z' style='fill:%23fff'/%3E%3C/svg%3E"); }

.custom-control.custom-control-red .custom-control-label::before,
.custom-control.custom-control-red .custom-control-input:active ~ .custom-control-label::before {
  background-color: #f44336; }

.custom-control.custom-control-red .custom-control-input:focus ~ .custom-control-label::before,
.custom-control.custom-control-red .custom-control-input:active ~ .custom-control-label::before {
  border-color: #f44336; }

.custom-control.custom-control-red .custom-control-input:focus ~ .custom-control-label::before {
  -webkit-box-shadow: 0 0 0 2px rgba(244, 67, 54, 0.4);
          box-shadow: 0 0 0 2px rgba(244, 67, 54, 0.4); }

.custom-control.custom-control-red.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before,
.custom-control.custom-control-red.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  border-color: #f44336;
  background-color: #f44336; }

.custom-control.custom-control-red.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); }

.custom-control.custom-control-red.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='4.5' style='fill:%23fff'/%3E%3Cpath d='M5,1A4,4,0,1,1,1,5,4,4,0,0,1,5,1M5,0a5,5,0,1,0,5,5A5,5,0,0,0,5,0Z' style='fill:%23fff'/%3E%3C/svg%3E"); }

.navbar.bg-secondary {
  background-color: #8897AA !important;
  color: #ebeef1; }
  .navbar.bg-secondary .navbar-brand {
    color: #fff; }
    .navbar.bg-secondary .navbar-brand:hover, .navbar.bg-secondary .navbar-brand:focus {
      color: #fff; }
  .navbar.bg-secondary .navbar-nav .nav-link {
    color: #ebeef1; }
    .navbar.bg-secondary .navbar-nav .nav-link:hover, .navbar.bg-secondary .navbar-nav .nav-link:focus {
      color: #fff; }
    .navbar.bg-secondary .navbar-nav .nav-link.disabled {
      color: #c3cbd5 !important; }
  .navbar.bg-secondary .navbar-nav .show > .nav-link,
  .navbar.bg-secondary .navbar-nav .active > .nav-link,
  .navbar.bg-secondary .navbar-nav .nav-link.show,
  .navbar.bg-secondary .navbar-nav .nav-link.active {
    color: #fff; }
  .navbar.bg-secondary .navbar-toggler {
    color: #ebeef1;
    border-color: rgba(255, 255, 255, 0.15); }
  .navbar.bg-secondary .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.8)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }
  .navbar.bg-secondary .navbar-text {
    color: #ebeef1; }
    .navbar.bg-secondary .navbar-text a {
      color: #fff; }
      .navbar.bg-secondary .navbar-text a:hover, .navbar.bg-secondary .navbar-text a:focus {
        color: #fff; }
  .navbar.bg-secondary hr {
    border-color: rgba(255, 255, 255, 0.15); }

.navbar.bg-success {
  background-color: #02BC77 !important;
  color: #cbf1e3; }
  .navbar.bg-success .navbar-brand {
    color: #fff; }
    .navbar.bg-success .navbar-brand:hover, .navbar.bg-success .navbar-brand:focus {
      color: #fff; }
  .navbar.bg-success .navbar-nav .nav-link {
    color: #cbf1e3; }
    .navbar.bg-success .navbar-nav .nav-link:hover, .navbar.bg-success .navbar-nav .nav-link:focus {
      color: #fff; }
    .navbar.bg-success .navbar-nav .nav-link.disabled {
      color: #7bdcb8 !important; }
  .navbar.bg-success .navbar-nav .show > .nav-link,
  .navbar.bg-success .navbar-nav .active > .nav-link,
  .navbar.bg-success .navbar-nav .nav-link.show,
  .navbar.bg-success .navbar-nav .nav-link.active {
    color: #fff; }
  .navbar.bg-success .navbar-toggler {
    color: #cbf1e3;
    border-color: rgba(255, 255, 255, 0.15); }
  .navbar.bg-success .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.8)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }
  .navbar.bg-success .navbar-text {
    color: #cbf1e3; }
    .navbar.bg-success .navbar-text a {
      color: #fff; }
      .navbar.bg-success .navbar-text a:hover, .navbar.bg-success .navbar-text a:focus {
        color: #fff; }
  .navbar.bg-success hr {
    border-color: rgba(255, 255, 255, 0.15); }

.navbar.bg-info {
  background-color: #28c3d7 !important;
  color: #dcf5f8; }
  .navbar.bg-info .navbar-brand {
    color: #fff; }
    .navbar.bg-info .navbar-brand:hover, .navbar.bg-info .navbar-brand:focus {
      color: #fff; }
  .navbar.bg-info .navbar-nav .nav-link {
    color: #dcf5f8; }
    .navbar.bg-info .navbar-nav .nav-link:hover, .navbar.bg-info .navbar-nav .nav-link:focus {
      color: #fff; }
    .navbar.bg-info .navbar-nav .nav-link.disabled {
      color: #94e1eb !important; }
  .navbar.bg-info .navbar-nav .show > .nav-link,
  .navbar.bg-info .navbar-nav .active > .nav-link,
  .navbar.bg-info .navbar-nav .nav-link.show,
  .navbar.bg-info .navbar-nav .nav-link.active {
    color: #fff; }
  .navbar.bg-info .navbar-toggler {
    color: #dcf5f8;
    border-color: rgba(255, 255, 255, 0.15); }
  .navbar.bg-info .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.8)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }
  .navbar.bg-info .navbar-text {
    color: #dcf5f8; }
    .navbar.bg-info .navbar-text a {
      color: #fff; }
      .navbar.bg-info .navbar-text a:hover, .navbar.bg-info .navbar-text a:focus {
        color: #fff; }
  .navbar.bg-info hr {
    border-color: rgba(255, 255, 255, 0.15); }

.navbar.bg-warning {
  background-color: #FFD950 !important;
  color: #998230; }
  .navbar.bg-warning .navbar-brand {
    color: #665720; }
    .navbar.bg-warning .navbar-brand:hover, .navbar.bg-warning .navbar-brand:focus {
      color: #665720; }
  .navbar.bg-warning .navbar-nav .nav-link {
    color: #998230; }
    .navbar.bg-warning .navbar-nav .nav-link:hover, .navbar.bg-warning .navbar-nav .nav-link:focus {
      color: #665720; }
    .navbar.bg-warning .navbar-nav .nav-link.disabled {
      color: #c2a53d !important; }
  .navbar.bg-warning .navbar-nav .show > .nav-link,
  .navbar.bg-warning .navbar-nav .active > .nav-link,
  .navbar.bg-warning .navbar-nav .nav-link.show,
  .navbar.bg-warning .navbar-nav .nav-link.active {
    color: #665720; }
  .navbar.bg-warning .navbar-toggler {
    color: #998230;
    border-color: rgba(102, 87, 32, 0.0832855); }
  .navbar.bg-warning .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(24, 28, 33, 0.4)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }
  .navbar.bg-warning .navbar-text {
    color: #998230; }
    .navbar.bg-warning .navbar-text a {
      color: #665720; }
      .navbar.bg-warning .navbar-text a:hover, .navbar.bg-warning .navbar-text a:focus {
        color: #665720; }
  .navbar.bg-warning hr {
    border-color: rgba(102, 87, 32, 0.0832855); }

.navbar.bg-danger {
  background-color: #d9534f !important;
  color: #f7dbda; }
  .navbar.bg-danger .navbar-brand {
    color: #fff; }
    .navbar.bg-danger .navbar-brand:hover, .navbar.bg-danger .navbar-brand:focus {
      color: #fff; }
  .navbar.bg-danger .navbar-nav .nav-link {
    color: #f7dbda; }
    .navbar.bg-danger .navbar-nav .nav-link:hover, .navbar.bg-danger .navbar-nav .nav-link:focus {
      color: #fff; }
    .navbar.bg-danger .navbar-nav .nav-link.disabled {
      color: #eba5a2 !important; }
  .navbar.bg-danger .navbar-nav .show > .nav-link,
  .navbar.bg-danger .navbar-nav .active > .nav-link,
  .navbar.bg-danger .navbar-nav .nav-link.show,
  .navbar.bg-danger .navbar-nav .nav-link.active {
    color: #fff; }
  .navbar.bg-danger .navbar-toggler {
    color: #f7dbda;
    border-color: rgba(255, 255, 255, 0.15); }
  .navbar.bg-danger .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.8)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }
  .navbar.bg-danger .navbar-text {
    color: #f7dbda; }
    .navbar.bg-danger .navbar-text a {
      color: #fff; }
      .navbar.bg-danger .navbar-text a:hover, .navbar.bg-danger .navbar-text a:focus {
        color: #fff; }
  .navbar.bg-danger hr {
    border-color: rgba(255, 255, 255, 0.15); }

.navbar.bg-dark {
  background-color: #2f3337 !important;
  color: #9d9fa1; }
  .navbar.bg-dark .navbar-brand {
    color: #fff; }
    .navbar.bg-dark .navbar-brand:hover, .navbar.bg-dark .navbar-brand:focus {
      color: #fff; }
  .navbar.bg-dark .navbar-nav .nav-link {
    color: #9d9fa1; }
    .navbar.bg-dark .navbar-nav .nav-link:hover, .navbar.bg-dark .navbar-nav .nav-link:focus {
      color: #fff; }
    .navbar.bg-dark .navbar-nav .nav-link.disabled {
      color: #717477 !important; }
  .navbar.bg-dark .navbar-nav .show > .nav-link,
  .navbar.bg-dark .navbar-nav .active > .nav-link,
  .navbar.bg-dark .navbar-nav .nav-link.show,
  .navbar.bg-dark .navbar-nav .nav-link.active {
    color: #fff; }
  .navbar.bg-dark .navbar-toggler {
    color: #9d9fa1;
    border-color: rgba(255, 255, 255, 0.06); }
  .navbar.bg-dark .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.8)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }
  .navbar.bg-dark .navbar-text {
    color: #9d9fa1; }
    .navbar.bg-dark .navbar-text a {
      color: #fff; }
      .navbar.bg-dark .navbar-text a:hover, .navbar.bg-dark .navbar-text a:focus {
        color: #fff; }
  .navbar.bg-dark hr {
    border-color: rgba(255, 255, 255, 0.06); }

.navbar.bg-white {
  background-color: #fff !important;
  color: #a3a4a6; }
  .navbar.bg-white .navbar-brand {
    color: #4E5155; }
    .navbar.bg-white .navbar-brand:hover, .navbar.bg-white .navbar-brand:focus {
      color: #4E5155; }
  .navbar.bg-white .navbar-nav .nav-link {
    color: #a3a4a6; }
    .navbar.bg-white .navbar-nav .nav-link:hover, .navbar.bg-white .navbar-nav .nav-link:focus {
      color: #4E5155; }
    .navbar.bg-white .navbar-nav .nav-link.disabled {
      color: #c8c8ca !important; }
  .navbar.bg-white .navbar-nav .show > .nav-link,
  .navbar.bg-white .navbar-nav .active > .nav-link,
  .navbar.bg-white .navbar-nav .nav-link.show,
  .navbar.bg-white .navbar-nav .nav-link.active {
    color: #4E5155; }
  .navbar.bg-white .navbar-toggler {
    color: #a3a4a6;
    border-color: rgba(78, 81, 85, 0.075); }
  .navbar.bg-white .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(24, 28, 33, 0.4)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }
  .navbar.bg-white .navbar-text {
    color: #a3a4a6; }
    .navbar.bg-white .navbar-text a {
      color: #4E5155; }
      .navbar.bg-white .navbar-text a:hover, .navbar.bg-white .navbar-text a:focus {
        color: #4E5155; }
  .navbar.bg-white hr {
    border-color: rgba(78, 81, 85, 0.075); }

.navbar.bg-light {
  background-color: #f1f1f2 !important;
  color: #a3a4a6; }
  .navbar.bg-light .navbar-brand {
    color: #4E5155; }
    .navbar.bg-light .navbar-brand:hover, .navbar.bg-light .navbar-brand:focus {
      color: #4E5155; }
  .navbar.bg-light .navbar-nav .nav-link {
    color: #a3a4a6; }
    .navbar.bg-light .navbar-nav .nav-link:hover, .navbar.bg-light .navbar-nav .nav-link:focus {
      color: #4E5155; }
    .navbar.bg-light .navbar-nav .nav-link.disabled {
      color: #c2c3c4 !important; }
  .navbar.bg-light .navbar-nav .show > .nav-link,
  .navbar.bg-light .navbar-nav .active > .nav-link,
  .navbar.bg-light .navbar-nav .nav-link.show,
  .navbar.bg-light .navbar-nav .nav-link.active {
    color: #4E5155; }
  .navbar.bg-light .navbar-toggler {
    color: #a3a4a6;
    border-color: rgba(78, 81, 85, 0.0777227); }
  .navbar.bg-light .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(24, 28, 33, 0.4)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }
  .navbar.bg-light .navbar-text {
    color: #a3a4a6; }
    .navbar.bg-light .navbar-text a {
      color: #4E5155; }
      .navbar.bg-light .navbar-text a:hover, .navbar.bg-light .navbar-text a:focus {
        color: #4E5155; }
  .navbar.bg-light hr {
    border-color: rgba(78, 81, 85, 0.0777227); }

.navbar.bg-lighter {
  background-color: #f8f8f8 !important;
  color: #a3a4a6; }
  .navbar.bg-lighter .navbar-brand {
    color: #4E5155; }
    .navbar.bg-lighter .navbar-brand:hover, .navbar.bg-lighter .navbar-brand:focus {
      color: #4E5155; }
  .navbar.bg-lighter .navbar-nav .nav-link {
    color: #a3a4a6; }
    .navbar.bg-lighter .navbar-nav .nav-link:hover, .navbar.bg-lighter .navbar-nav .nav-link:focus {
      color: #4E5155; }
    .navbar.bg-lighter .navbar-nav .nav-link.disabled {
      color: #c5c6c7 !important; }
  .navbar.bg-lighter .navbar-nav .show > .nav-link,
  .navbar.bg-lighter .navbar-nav .active > .nav-link,
  .navbar.bg-lighter .navbar-nav .nav-link.show,
  .navbar.bg-lighter .navbar-nav .nav-link.active {
    color: #4E5155; }
  .navbar.bg-lighter .navbar-toggler {
    color: #a3a4a6;
    border-color: rgba(78, 81, 85, 0.0763725); }
  .navbar.bg-lighter .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(24, 28, 33, 0.4)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }
  .navbar.bg-lighter .navbar-text {
    color: #a3a4a6; }
    .navbar.bg-lighter .navbar-text a {
      color: #4E5155; }
      .navbar.bg-lighter .navbar-text a:hover, .navbar.bg-lighter .navbar-text a:focus {
        color: #4E5155; }
  .navbar.bg-lighter hr {
    border-color: rgba(78, 81, 85, 0.0763725); }

.sidenav.bg-secondary {
  background-color: #8897AA !important;
  color: #ebeef1; }
  .sidenav.bg-secondary .sidenav-link,
  .sidenav.bg-secondary .sidenav-horizontal-prev,
  .sidenav.bg-secondary .sidenav-horizontal-next {
    color: #ebeef1; }
    .sidenav.bg-secondary .sidenav-link:hover, .sidenav.bg-secondary .sidenav-link:focus,
    .sidenav.bg-secondary .sidenav-horizontal-prev:hover,
    .sidenav.bg-secondary .sidenav-horizontal-prev:focus,
    .sidenav.bg-secondary .sidenav-horizontal-next:hover,
    .sidenav.bg-secondary .sidenav-horizontal-next:focus {
      color: #fff; }
    .sidenav.bg-secondary .sidenav-link.active,
    .sidenav.bg-secondary .sidenav-horizontal-prev.active,
    .sidenav.bg-secondary .sidenav-horizontal-next.active {
      color: #fff; }
  .sidenav.bg-secondary .sidenav-item.disabled .sidenav-link,
  .sidenav.bg-secondary .sidenav-horizontal-prev.disabled,
  .sidenav.bg-secondary .sidenav-horizontal-next.disabled {
    color: #c3cbd5 !important; }
  .sidenav.bg-secondary .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .sidenav.bg-secondary .sidenav-item.active > .sidenav-link {
    color: #fff; }
  .sidenav.bg-secondary .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #818fa2; }
  .sidenav.bg-secondary.sidenav-horizontal .sidenav-menu > .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #7b889a; }
  .sidenav.bg-secondary.sidenav-horizontal .sidenav-inner > .sidenav-item:not(.sidenav-item-closing) > .sidenav-menu,
  .sidenav.bg-secondary.sidenav-horizontal .sidenav-inner > .sidenav-item.open > .sidenav-toggle {
    background: #818fa2; }
  .sidenav.bg-secondary .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .sidenav.bg-secondary .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    background: transparent;
    color: #ebeef1; }
  .sidenav.bg-secondary .sidenav-text {
    color: #fff; }
  .sidenav.bg-secondary .sidenav-header {
    color: #d2d8df; }
  .sidenav.bg-secondary hr,
  .sidenav.bg-secondary .sidenav-divider,
  .sidenav.bg-secondary .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(255, 255, 255, 0.15) !important; }
  .sidenav.bg-secondary .sidenav-inner > .sidenav-header::before,
  .sidenav.bg-secondary .sidenav-block::before {
    background-color: rgba(255, 255, 255, 0.15); }
  .sidenav.bg-secondary .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: #94a0b0; }
  .sidenav.bg-secondary .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #fff; }
  .sidenav.bg-secondary .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
  .sidenav.bg-secondary .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    -webkit-box-shadow: 0 0 0 2px #818fa2;
            box-shadow: 0 0 0 2px #818fa2; }
  .sidenav.bg-secondary .ps__thumb-y,
  .sidenav.bg-secondary .ps__rail-y.ps--clicking > .ps__thumb-y {
    background: rgba(255, 255, 255, 0.633225) !important; }

.sidenav.bg-success {
  background-color: #02BC77 !important;
  color: #cbf1e3; }
  .sidenav.bg-success .sidenav-link,
  .sidenav.bg-success .sidenav-horizontal-prev,
  .sidenav.bg-success .sidenav-horizontal-next {
    color: #cbf1e3; }
    .sidenav.bg-success .sidenav-link:hover, .sidenav.bg-success .sidenav-link:focus,
    .sidenav.bg-success .sidenav-horizontal-prev:hover,
    .sidenav.bg-success .sidenav-horizontal-prev:focus,
    .sidenav.bg-success .sidenav-horizontal-next:hover,
    .sidenav.bg-success .sidenav-horizontal-next:focus {
      color: #fff; }
    .sidenav.bg-success .sidenav-link.active,
    .sidenav.bg-success .sidenav-horizontal-prev.active,
    .sidenav.bg-success .sidenav-horizontal-next.active {
      color: #fff; }
  .sidenav.bg-success .sidenav-item.disabled .sidenav-link,
  .sidenav.bg-success .sidenav-horizontal-prev.disabled,
  .sidenav.bg-success .sidenav-horizontal-next.disabled {
    color: #7bdcb8 !important; }
  .sidenav.bg-success .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .sidenav.bg-success .sidenav-item.active > .sidenav-link {
    color: #fff; }
  .sidenav.bg-success .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #02b371; }
  .sidenav.bg-success.sidenav-horizontal .sidenav-menu > .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #02aa6b; }
  .sidenav.bg-success.sidenav-horizontal .sidenav-inner > .sidenav-item:not(.sidenav-item-closing) > .sidenav-menu,
  .sidenav.bg-success.sidenav-horizontal .sidenav-inner > .sidenav-item.open > .sidenav-toggle {
    background: #02b371; }
  .sidenav.bg-success .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .sidenav.bg-success .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    background: transparent;
    color: #cbf1e3; }
  .sidenav.bg-success .sidenav-text {
    color: #fff; }
  .sidenav.bg-success .sidenav-header {
    color: #99e4c8; }
  .sidenav.bg-success hr,
  .sidenav.bg-success .sidenav-divider,
  .sidenav.bg-success .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(255, 255, 255, 0.15) !important; }
  .sidenav.bg-success .sidenav-inner > .sidenav-header::before,
  .sidenav.bg-success .sidenav-block::before {
    background-color: rgba(255, 255, 255, 0.15); }
  .sidenav.bg-success .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: #28be86; }
  .sidenav.bg-success .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #fff; }
  .sidenav.bg-success .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
  .sidenav.bg-success .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    -webkit-box-shadow: 0 0 0 2px #02b371;
            box-shadow: 0 0 0 2px #02b371; }
  .sidenav.bg-success .ps__thumb-y,
  .sidenav.bg-success .ps__rail-y.ps--clicking > .ps__thumb-y {
    background: rgba(255, 255, 255, 0.595325) !important; }

.sidenav.bg-info {
  background-color: #28c3d7 !important;
  color: #dcf5f8; }
  .sidenav.bg-info .sidenav-link,
  .sidenav.bg-info .sidenav-horizontal-prev,
  .sidenav.bg-info .sidenav-horizontal-next {
    color: #dcf5f8; }
    .sidenav.bg-info .sidenav-link:hover, .sidenav.bg-info .sidenav-link:focus,
    .sidenav.bg-info .sidenav-horizontal-prev:hover,
    .sidenav.bg-info .sidenav-horizontal-prev:focus,
    .sidenav.bg-info .sidenav-horizontal-next:hover,
    .sidenav.bg-info .sidenav-horizontal-next:focus {
      color: #fff; }
    .sidenav.bg-info .sidenav-link.active,
    .sidenav.bg-info .sidenav-horizontal-prev.active,
    .sidenav.bg-info .sidenav-horizontal-next.active {
      color: #fff; }
  .sidenav.bg-info .sidenav-item.disabled .sidenav-link,
  .sidenav.bg-info .sidenav-horizontal-prev.disabled,
  .sidenav.bg-info .sidenav-horizontal-next.disabled {
    color: #94e1eb !important; }
  .sidenav.bg-info .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .sidenav.bg-info .sidenav-item.active > .sidenav-link {
    color: #fff; }
  .sidenav.bg-info .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #26b9cc; }
  .sidenav.bg-info.sidenav-horizontal .sidenav-menu > .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #24b0c2; }
  .sidenav.bg-info.sidenav-horizontal .sidenav-inner > .sidenav-item:not(.sidenav-item-closing) > .sidenav-menu,
  .sidenav.bg-info.sidenav-horizontal .sidenav-inner > .sidenav-item.open > .sidenav-toggle {
    background: #26b9cc; }
  .sidenav.bg-info .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .sidenav.bg-info .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    background: transparent;
    color: #dcf5f8; }
  .sidenav.bg-info .sidenav-text {
    color: #fff; }
  .sidenav.bg-info .sidenav-header {
    color: #afe9f0; }
  .sidenav.bg-info hr,
  .sidenav.bg-info .sidenav-divider,
  .sidenav.bg-info .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(255, 255, 255, 0.15) !important; }
  .sidenav.bg-info .sidenav-inner > .sidenav-header::before,
  .sidenav.bg-info .sidenav-block::before {
    background-color: rgba(255, 255, 255, 0.15); }
  .sidenav.bg-info .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: #47c4d4; }
  .sidenav.bg-info .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #fff; }
  .sidenav.bg-info .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
  .sidenav.bg-info .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    -webkit-box-shadow: 0 0 0 2px #26b9cc;
            box-shadow: 0 0 0 2px #26b9cc; }
  .sidenav.bg-info .ps__thumb-y,
  .sidenav.bg-info .ps__rail-y.ps--clicking > .ps__thumb-y {
    background: rgba(255, 255, 255, 0.636761) !important; }

.sidenav.bg-warning {
  background-color: #FFD950 !important;
  color: #998230; }
  .sidenav.bg-warning .sidenav-link,
  .sidenav.bg-warning .sidenav-horizontal-prev,
  .sidenav.bg-warning .sidenav-horizontal-next {
    color: #998230; }
    .sidenav.bg-warning .sidenav-link:hover, .sidenav.bg-warning .sidenav-link:focus,
    .sidenav.bg-warning .sidenav-horizontal-prev:hover,
    .sidenav.bg-warning .sidenav-horizontal-prev:focus,
    .sidenav.bg-warning .sidenav-horizontal-next:hover,
    .sidenav.bg-warning .sidenav-horizontal-next:focus {
      color: #665720; }
    .sidenav.bg-warning .sidenav-link.active,
    .sidenav.bg-warning .sidenav-horizontal-prev.active,
    .sidenav.bg-warning .sidenav-horizontal-next.active {
      color: #665720; }
  .sidenav.bg-warning .sidenav-item.disabled .sidenav-link,
  .sidenav.bg-warning .sidenav-horizontal-prev.disabled,
  .sidenav.bg-warning .sidenav-horizontal-next.disabled {
    color: #c2a53d !important; }
  .sidenav.bg-warning .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .sidenav.bg-warning .sidenav-item.active > .sidenav-link {
    color: #665720; }
  .sidenav.bg-warning .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #f9d44e; }
  .sidenav.bg-warning.sidenav-horizontal .sidenav-menu > .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #f3cf4c; }
  .sidenav.bg-warning.sidenav-horizontal .sidenav-inner > .sidenav-item:not(.sidenav-item-closing) > .sidenav-menu,
  .sidenav.bg-warning.sidenav-horizontal .sidenav-inner > .sidenav-item.open > .sidenav-toggle {
    background: #f9d44e; }
  .sidenav.bg-warning .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .sidenav.bg-warning .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    background: transparent;
    color: #998230; }
  .sidenav.bg-warning .sidenav-text {
    color: #665720; }
  .sidenav.bg-warning .sidenav-header {
    color: #b39838; }
  .sidenav.bg-warning hr,
  .sidenav.bg-warning .sidenav-divider,
  .sidenav.bg-warning .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(102, 87, 32, 0.0832855) !important; }
  .sidenav.bg-warning .sidenav-inner > .sidenav-header::before,
  .sidenav.bg-warning .sidenav-block::before {
    background-color: rgba(102, 87, 32, 0.0832855); }
  .sidenav.bg-warning .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: #edca4a; }
  .sidenav.bg-warning .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #665720; }
  .sidenav.bg-warning .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
  .sidenav.bg-warning .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    -webkit-box-shadow: 0 0 0 2px #f9d44e;
            box-shadow: 0 0 0 2px #f9d44e; }
  .sidenav.bg-warning .ps__thumb-y,
  .sidenav.bg-warning .ps__rail-y.ps--clicking > .ps__thumb-y {
    background: rgba(102, 87, 32, 0.266284) !important; }

.sidenav.bg-danger {
  background-color: #d9534f !important;
  color: #f7dbda; }
  .sidenav.bg-danger .sidenav-link,
  .sidenav.bg-danger .sidenav-horizontal-prev,
  .sidenav.bg-danger .sidenav-horizontal-next {
    color: #f7dbda; }
    .sidenav.bg-danger .sidenav-link:hover, .sidenav.bg-danger .sidenav-link:focus,
    .sidenav.bg-danger .sidenav-horizontal-prev:hover,
    .sidenav.bg-danger .sidenav-horizontal-prev:focus,
    .sidenav.bg-danger .sidenav-horizontal-next:hover,
    .sidenav.bg-danger .sidenav-horizontal-next:focus {
      color: #fff; }
    .sidenav.bg-danger .sidenav-link.active,
    .sidenav.bg-danger .sidenav-horizontal-prev.active,
    .sidenav.bg-danger .sidenav-horizontal-next.active {
      color: #fff; }
  .sidenav.bg-danger .sidenav-item.disabled .sidenav-link,
  .sidenav.bg-danger .sidenav-horizontal-prev.disabled,
  .sidenav.bg-danger .sidenav-horizontal-next.disabled {
    color: #eba5a2 !important; }
  .sidenav.bg-danger .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .sidenav.bg-danger .sidenav-item.active > .sidenav-link {
    color: #fff; }
  .sidenav.bg-danger .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #ce4f4b; }
  .sidenav.bg-danger.sidenav-horizontal .sidenav-menu > .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #c44b47; }
  .sidenav.bg-danger.sidenav-horizontal .sidenav-inner > .sidenav-item:not(.sidenav-item-closing) > .sidenav-menu,
  .sidenav.bg-danger.sidenav-horizontal .sidenav-inner > .sidenav-item.open > .sidenav-toggle {
    background: #ce4f4b; }
  .sidenav.bg-danger .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .sidenav.bg-danger .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    background: transparent;
    color: #f7dbda; }
  .sidenav.bg-danger .sidenav-text {
    color: #fff; }
  .sidenav.bg-danger .sidenav-header {
    color: #f0b9b7; }
  .sidenav.bg-danger hr,
  .sidenav.bg-danger .sidenav-divider,
  .sidenav.bg-danger .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(255, 255, 255, 0.15) !important; }
  .sidenav.bg-danger .sidenav-inner > .sidenav-header::before,
  .sidenav.bg-danger .sidenav-block::before {
    background-color: rgba(255, 255, 255, 0.15); }
  .sidenav.bg-danger .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: #d56966; }
  .sidenav.bg-danger .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #fff; }
  .sidenav.bg-danger .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
  .sidenav.bg-danger .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    -webkit-box-shadow: 0 0 0 2px #ce4f4b;
            box-shadow: 0 0 0 2px #ce4f4b; }
  .sidenav.bg-danger .ps__thumb-y,
  .sidenav.bg-danger .ps__rail-y.ps--clicking > .ps__thumb-y {
    background: rgba(255, 255, 255, 0.592329) !important; }

.sidenav.bg-dark {
  background-color: #2f3337 !important;
  color: #9d9fa1; }
  .sidenav.bg-dark .sidenav-link,
  .sidenav.bg-dark .sidenav-horizontal-prev,
  .sidenav.bg-dark .sidenav-horizontal-next {
    color: #9d9fa1; }
    .sidenav.bg-dark .sidenav-link:hover, .sidenav.bg-dark .sidenav-link:focus,
    .sidenav.bg-dark .sidenav-horizontal-prev:hover,
    .sidenav.bg-dark .sidenav-horizontal-prev:focus,
    .sidenav.bg-dark .sidenav-horizontal-next:hover,
    .sidenav.bg-dark .sidenav-horizontal-next:focus {
      color: #fff; }
    .sidenav.bg-dark .sidenav-link.active,
    .sidenav.bg-dark .sidenav-horizontal-prev.active,
    .sidenav.bg-dark .sidenav-horizontal-next.active {
      color: #fff; }
  .sidenav.bg-dark .sidenav-item.disabled .sidenav-link,
  .sidenav.bg-dark .sidenav-horizontal-prev.disabled,
  .sidenav.bg-dark .sidenav-horizontal-next.disabled {
    color: #717477 !important; }
  .sidenav.bg-dark .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .sidenav.bg-dark .sidenav-item.active > .sidenav-link {
    color: #fff; }
  .sidenav.bg-dark .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #393d41; }
  .sidenav.bg-dark.sidenav-horizontal .sidenav-menu > .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #43474b; }
  .sidenav.bg-dark.sidenav-horizontal .sidenav-inner > .sidenav-item:not(.sidenav-item-closing) > .sidenav-menu,
  .sidenav.bg-dark.sidenav-horizontal .sidenav-inner > .sidenav-item.open > .sidenav-toggle {
    background: #393d41; }
  .sidenav.bg-dark .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .sidenav.bg-dark .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    background: transparent;
    color: #9d9fa1; }
  .sidenav.bg-dark .sidenav-text {
    color: #fff; }
  .sidenav.bg-dark .sidenav-header {
    color: #828487; }
  .sidenav.bg-dark hr,
  .sidenav.bg-dark .sidenav-divider,
  .sidenav.bg-dark .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(255, 255, 255, 0.06) !important; }
  .sidenav.bg-dark .sidenav-inner > .sidenav-header::before,
  .sidenav.bg-dark .sidenav-block::before {
    background-color: rgba(255, 255, 255, 0.06); }
  .sidenav.bg-dark .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: #45494c; }
  .sidenav.bg-dark .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #fff; }
  .sidenav.bg-dark .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
  .sidenav.bg-dark .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    -webkit-box-shadow: 0 0 0 2px #393d41;
            box-shadow: 0 0 0 2px #393d41; }
  .sidenav.bg-dark .ps__thumb-y,
  .sidenav.bg-dark .ps__rail-y.ps--clicking > .ps__thumb-y {
    background: rgba(255, 255, 255, 0.478839) !important; }

.sidenav.bg-white {
  background-color: #fff !important;
  color: #a3a4a6; }
  .sidenav.bg-white .sidenav-link,
  .sidenav.bg-white .sidenav-horizontal-prev,
  .sidenav.bg-white .sidenav-horizontal-next {
    color: #a3a4a6; }
    .sidenav.bg-white .sidenav-link:hover, .sidenav.bg-white .sidenav-link:focus,
    .sidenav.bg-white .sidenav-horizontal-prev:hover,
    .sidenav.bg-white .sidenav-horizontal-prev:focus,
    .sidenav.bg-white .sidenav-horizontal-next:hover,
    .sidenav.bg-white .sidenav-horizontal-next:focus {
      color: #4E5155; }
    .sidenav.bg-white .sidenav-link.active,
    .sidenav.bg-white .sidenav-horizontal-prev.active,
    .sidenav.bg-white .sidenav-horizontal-next.active {
      color: #4E5155; }
  .sidenav.bg-white .sidenav-item.disabled .sidenav-link,
  .sidenav.bg-white .sidenav-horizontal-prev.disabled,
  .sidenav.bg-white .sidenav-horizontal-next.disabled {
    color: #c8c8ca !important; }
  .sidenav.bg-white .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .sidenav.bg-white .sidenav-item.active > .sidenav-link {
    color: #4E5155; }
  .sidenav.bg-white .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #fff; }
  .sidenav.bg-white.sidenav-horizontal .sidenav-menu > .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #f9f9f9; }
  .sidenav.bg-white.sidenav-horizontal .sidenav-inner > .sidenav-item:not(.sidenav-item-closing) > .sidenav-menu,
  .sidenav.bg-white.sidenav-horizontal .sidenav-inner > .sidenav-item.open > .sidenav-toggle {
    background: #fff; }
  .sidenav.bg-white .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .sidenav.bg-white .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    background: transparent;
    color: #a3a4a6; }
  .sidenav.bg-white .sidenav-text {
    color: #4E5155; }
  .sidenav.bg-white .sidenav-header {
    color: #babbbc; }
  .sidenav.bg-white hr,
  .sidenav.bg-white .sidenav-divider,
  .sidenav.bg-white .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(78, 81, 85, 0.075) !important; }
  .sidenav.bg-white .sidenav-inner > .sidenav-header::before,
  .sidenav.bg-white .sidenav-block::before {
    background-color: rgba(78, 81, 85, 0.075); }
  .sidenav.bg-white .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: #f2f2f2; }
  .sidenav.bg-white .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #4E5155; }
  .sidenav.bg-white .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
  .sidenav.bg-white .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    -webkit-box-shadow: 0 0 0 2px #fff;
            box-shadow: 0 0 0 2px #fff; }
  .sidenav.bg-white .ps__thumb-y,
  .sidenav.bg-white .ps__rail-y.ps--clicking > .ps__thumb-y {
    background: rgba(78, 81, 85, 0.2) !important; }

.sidenav.bg-light {
  background-color: #f1f1f2 !important;
  color: #a3a4a6; }
  .sidenav.bg-light .sidenav-link,
  .sidenav.bg-light .sidenav-horizontal-prev,
  .sidenav.bg-light .sidenav-horizontal-next {
    color: #a3a4a6; }
    .sidenav.bg-light .sidenav-link:hover, .sidenav.bg-light .sidenav-link:focus,
    .sidenav.bg-light .sidenav-horizontal-prev:hover,
    .sidenav.bg-light .sidenav-horizontal-prev:focus,
    .sidenav.bg-light .sidenav-horizontal-next:hover,
    .sidenav.bg-light .sidenav-horizontal-next:focus {
      color: #4E5155; }
    .sidenav.bg-light .sidenav-link.active,
    .sidenav.bg-light .sidenav-horizontal-prev.active,
    .sidenav.bg-light .sidenav-horizontal-next.active {
      color: #4E5155; }
  .sidenav.bg-light .sidenav-item.disabled .sidenav-link,
  .sidenav.bg-light .sidenav-horizontal-prev.disabled,
  .sidenav.bg-light .sidenav-horizontal-next.disabled {
    color: #c2c3c4 !important; }
  .sidenav.bg-light .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .sidenav.bg-light .sidenav-item.active > .sidenav-link {
    color: #4E5155; }
  .sidenav.bg-light .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #ebebec; }
  .sidenav.bg-light.sidenav-horizontal .sidenav-menu > .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #e5e5e6; }
  .sidenav.bg-light.sidenav-horizontal .sidenav-inner > .sidenav-item:not(.sidenav-item-closing) > .sidenav-menu,
  .sidenav.bg-light.sidenav-horizontal .sidenav-inner > .sidenav-item.open > .sidenav-toggle {
    background: #ebebec; }
  .sidenav.bg-light .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .sidenav.bg-light .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    background: transparent;
    color: #a3a4a6; }
  .sidenav.bg-light .sidenav-text {
    color: #4E5155; }
  .sidenav.bg-light .sidenav-header {
    color: #b7b7b9; }
  .sidenav.bg-light hr,
  .sidenav.bg-light .sidenav-divider,
  .sidenav.bg-light .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(78, 81, 85, 0.0777227) !important; }
  .sidenav.bg-light .sidenav-inner > .sidenav-header::before,
  .sidenav.bg-light .sidenav-block::before {
    background-color: rgba(78, 81, 85, 0.0777227); }
  .sidenav.bg-light .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: #dfdfe0; }
  .sidenav.bg-light .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #4E5155; }
  .sidenav.bg-light .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
  .sidenav.bg-light .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    -webkit-box-shadow: 0 0 0 2px #ebebec;
            box-shadow: 0 0 0 2px #ebebec; }
  .sidenav.bg-light .ps__thumb-y,
  .sidenav.bg-light .ps__rail-y.ps--clicking > .ps__thumb-y {
    background: rgba(78, 81, 85, 0.221782) !important; }

.sidenav.bg-lighter {
  background-color: #f8f8f8 !important;
  color: #a3a4a6; }
  .sidenav.bg-lighter .sidenav-link,
  .sidenav.bg-lighter .sidenav-horizontal-prev,
  .sidenav.bg-lighter .sidenav-horizontal-next {
    color: #a3a4a6; }
    .sidenav.bg-lighter .sidenav-link:hover, .sidenav.bg-lighter .sidenav-link:focus,
    .sidenav.bg-lighter .sidenav-horizontal-prev:hover,
    .sidenav.bg-lighter .sidenav-horizontal-prev:focus,
    .sidenav.bg-lighter .sidenav-horizontal-next:hover,
    .sidenav.bg-lighter .sidenav-horizontal-next:focus {
      color: #4E5155; }
    .sidenav.bg-lighter .sidenav-link.active,
    .sidenav.bg-lighter .sidenav-horizontal-prev.active,
    .sidenav.bg-lighter .sidenav-horizontal-next.active {
      color: #4E5155; }
  .sidenav.bg-lighter .sidenav-item.disabled .sidenav-link,
  .sidenav.bg-lighter .sidenav-horizontal-prev.disabled,
  .sidenav.bg-lighter .sidenav-horizontal-next.disabled {
    color: #c5c6c7 !important; }
  .sidenav.bg-lighter .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .sidenav.bg-lighter .sidenav-item.active > .sidenav-link {
    color: #4E5155; }
  .sidenav.bg-lighter .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #f2f2f2; }
  .sidenav.bg-lighter.sidenav-horizontal .sidenav-menu > .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #ececec; }
  .sidenav.bg-lighter.sidenav-horizontal .sidenav-inner > .sidenav-item:not(.sidenav-item-closing) > .sidenav-menu,
  .sidenav.bg-lighter.sidenav-horizontal .sidenav-inner > .sidenav-item.open > .sidenav-toggle {
    background: #f2f2f2; }
  .sidenav.bg-lighter .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .sidenav.bg-lighter .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    background: transparent;
    color: #a3a4a6; }
  .sidenav.bg-lighter .sidenav-text {
    color: #4E5155; }
  .sidenav.bg-lighter .sidenav-header {
    color: #b8b9bb; }
  .sidenav.bg-lighter hr,
  .sidenav.bg-lighter .sidenav-divider,
  .sidenav.bg-lighter .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(78, 81, 85, 0.0763725) !important; }
  .sidenav.bg-lighter .sidenav-inner > .sidenav-header::before,
  .sidenav.bg-lighter .sidenav-block::before {
    background-color: rgba(78, 81, 85, 0.0763725); }
  .sidenav.bg-lighter .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: #e5e6e6; }
  .sidenav.bg-lighter .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #4E5155; }
  .sidenav.bg-lighter .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
  .sidenav.bg-lighter .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    -webkit-box-shadow: 0 0 0 2px #f2f2f2;
            box-shadow: 0 0 0 2px #f2f2f2; }
  .sidenav.bg-lighter .ps__thumb-y,
  .sidenav.bg-lighter .ps__rail-y.ps--clicking > .ps__thumb-y {
    background: rgba(78, 81, 85, 0.21098) !important; }

.footer.bg-secondary {
  background-color: #8897AA !important;
  color: #ebeef1; }
  .footer.bg-secondary .footer-link {
    color: #ebeef1; }
    .footer.bg-secondary .footer-link:hover, .footer.bg-secondary .footer-link:focus {
      color: #fff; }
    .footer.bg-secondary .footer-link.disabled {
      color: #c3cbd5 !important; }
  .footer.bg-secondary .footer-text {
    color: #fff; }
  .footer.bg-secondary .show > .footer-link,
  .footer.bg-secondary .active > .footer-link,
  .footer.bg-secondary .footer-link.show,
  .footer.bg-secondary .footer-link.active {
    color: #fff; }
  .footer.bg-secondary hr {
    border-color: rgba(255, 255, 255, 0.15); }

.footer.bg-success {
  background-color: #02BC77 !important;
  color: #cbf1e3; }
  .footer.bg-success .footer-link {
    color: #cbf1e3; }
    .footer.bg-success .footer-link:hover, .footer.bg-success .footer-link:focus {
      color: #fff; }
    .footer.bg-success .footer-link.disabled {
      color: #7bdcb8 !important; }
  .footer.bg-success .footer-text {
    color: #fff; }
  .footer.bg-success .show > .footer-link,
  .footer.bg-success .active > .footer-link,
  .footer.bg-success .footer-link.show,
  .footer.bg-success .footer-link.active {
    color: #fff; }
  .footer.bg-success hr {
    border-color: rgba(255, 255, 255, 0.15); }

.footer.bg-info {
  background-color: #28c3d7 !important;
  color: #dcf5f8; }
  .footer.bg-info .footer-link {
    color: #dcf5f8; }
    .footer.bg-info .footer-link:hover, .footer.bg-info .footer-link:focus {
      color: #fff; }
    .footer.bg-info .footer-link.disabled {
      color: #94e1eb !important; }
  .footer.bg-info .footer-text {
    color: #fff; }
  .footer.bg-info .show > .footer-link,
  .footer.bg-info .active > .footer-link,
  .footer.bg-info .footer-link.show,
  .footer.bg-info .footer-link.active {
    color: #fff; }
  .footer.bg-info hr {
    border-color: rgba(255, 255, 255, 0.15); }

.footer.bg-warning {
  background-color: #FFD950 !important;
  color: #998230; }
  .footer.bg-warning .footer-link {
    color: #998230; }
    .footer.bg-warning .footer-link:hover, .footer.bg-warning .footer-link:focus {
      color: #665720; }
    .footer.bg-warning .footer-link.disabled {
      color: #c2a53d !important; }
  .footer.bg-warning .footer-text {
    color: #665720; }
  .footer.bg-warning .show > .footer-link,
  .footer.bg-warning .active > .footer-link,
  .footer.bg-warning .footer-link.show,
  .footer.bg-warning .footer-link.active {
    color: #665720; }
  .footer.bg-warning hr {
    border-color: rgba(102, 87, 32, 0.0832855); }

.footer.bg-danger {
  background-color: #d9534f !important;
  color: #f7dbda; }
  .footer.bg-danger .footer-link {
    color: #f7dbda; }
    .footer.bg-danger .footer-link:hover, .footer.bg-danger .footer-link:focus {
      color: #fff; }
    .footer.bg-danger .footer-link.disabled {
      color: #eba5a2 !important; }
  .footer.bg-danger .footer-text {
    color: #fff; }
  .footer.bg-danger .show > .footer-link,
  .footer.bg-danger .active > .footer-link,
  .footer.bg-danger .footer-link.show,
  .footer.bg-danger .footer-link.active {
    color: #fff; }
  .footer.bg-danger hr {
    border-color: rgba(255, 255, 255, 0.15); }

.footer.bg-dark {
  background-color: #2f3337 !important;
  color: #9d9fa1; }
  .footer.bg-dark .footer-link {
    color: #9d9fa1; }
    .footer.bg-dark .footer-link:hover, .footer.bg-dark .footer-link:focus {
      color: #fff; }
    .footer.bg-dark .footer-link.disabled {
      color: #717477 !important; }
  .footer.bg-dark .footer-text {
    color: #fff; }
  .footer.bg-dark .show > .footer-link,
  .footer.bg-dark .active > .footer-link,
  .footer.bg-dark .footer-link.show,
  .footer.bg-dark .footer-link.active {
    color: #fff; }
  .footer.bg-dark hr {
    border-color: rgba(255, 255, 255, 0.06); }

.footer.bg-white {
  background-color: #fff !important;
  color: #a3a4a6; }
  .footer.bg-white .footer-link {
    color: #a3a4a6; }
    .footer.bg-white .footer-link:hover, .footer.bg-white .footer-link:focus {
      color: #4E5155; }
    .footer.bg-white .footer-link.disabled {
      color: #c8c8ca !important; }
  .footer.bg-white .footer-text {
    color: #4E5155; }
  .footer.bg-white .show > .footer-link,
  .footer.bg-white .active > .footer-link,
  .footer.bg-white .footer-link.show,
  .footer.bg-white .footer-link.active {
    color: #4E5155; }
  .footer.bg-white hr {
    border-color: rgba(78, 81, 85, 0.075); }

.footer.bg-light {
  background-color: #f1f1f2 !important;
  color: #a3a4a6; }
  .footer.bg-light .footer-link {
    color: #a3a4a6; }
    .footer.bg-light .footer-link:hover, .footer.bg-light .footer-link:focus {
      color: #4E5155; }
    .footer.bg-light .footer-link.disabled {
      color: #c2c3c4 !important; }
  .footer.bg-light .footer-text {
    color: #4E5155; }
  .footer.bg-light .show > .footer-link,
  .footer.bg-light .active > .footer-link,
  .footer.bg-light .footer-link.show,
  .footer.bg-light .footer-link.active {
    color: #4E5155; }
  .footer.bg-light hr {
    border-color: rgba(78, 81, 85, 0.0777227); }

.footer.bg-lighter {
  background-color: #f8f8f8 !important;
  color: #a3a4a6; }
  .footer.bg-lighter .footer-link {
    color: #a3a4a6; }
    .footer.bg-lighter .footer-link:hover, .footer.bg-lighter .footer-link:focus {
      color: #4E5155; }
    .footer.bg-lighter .footer-link.disabled {
      color: #c5c6c7 !important; }
  .footer.bg-lighter .footer-text {
    color: #4E5155; }
  .footer.bg-lighter .show > .footer-link,
  .footer.bg-lighter .active > .footer-link,
  .footer.bg-lighter .footer-link.show,
  .footer.bg-lighter .footer-link.active {
    color: #4E5155; }
  .footer.bg-lighter hr {
    border-color: rgba(78, 81, 85, 0.0763725); }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZG9yL2Nzcy9jb2xvcnMuY3NzIiwic291cmNlcyI6WyJ2ZW5kb3IvY3NzL2NvbG9ycy5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9faW5jbHVkZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mdW5jdGlvbnMuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2Z1bmN0aW9ucy5zY3NzIiwidmVuZG9yL2Nzcy9fY3VzdG9tLXZhcmlhYmxlcy9fYXBwd29yay5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fdmFyaWFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19taXhpbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhZGdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNpemUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NpemUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm94LXNoYWRvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zsb2F0LnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19taXhpbnMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwiX2FwcHdvcmsvaW5jbHVkZVwiO1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEN1c3RvbSBjb2xvcnNcblxuJGN1c3RvbS1jb2xvcnM6IChcbiAgdHdpdHRlcjogIzFEQTFGMixcbiAgZ29vZ2xlOiAjRDE1MjNGLFxuICBmYWNlYm9vazogIzNCNTk5OCxcbiAgcGludGVyZXN0OiAjYmQxMjFjLFxuICBpbnN0YWdyYW06ICMwMDAsXG5cbiAgd2luZG93czogIzI2QUFFMSxcbiAgbWFjb3M6ICMzNDM0MzQsXG4gIGxpbnV4OiAjODAwMDgwXG4pICFkZWZhdWx0O1xuXG5AZWFjaCAkY29sb3ItbmFtZSwgJGNvbG9yLXZhbHVlIGluICRjdXN0b20tY29sb3JzIHtcbiAgQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC0jeyRjb2xvci1uYW1lfScsICRjb2xvci12YWx1ZSk7XG4gIEBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy0jeyRjb2xvci1uYW1lfScsICRjb2xvci12YWx1ZSk7XG5cbiAgQGluY2x1ZGUgYXBwd29yay1idXR0b24tdmFyaWFudCgnLmJ0bi0jeyRjb2xvci1uYW1lfScsICRjb2xvci12YWx1ZSk7XG4gIEBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLW91dGxpbmUtdmFyaWFudCgnLmJ0bi1vdXRsaW5lLSN7JGNvbG9yLW5hbWV9JywgJGNvbG9yLXZhbHVlKTtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBCdXR0b25zXG5cbkBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLXZhcmlhbnQoJy5idG4td2hpdGUnLCAjZmZmLCAkYm9keS1jb2xvcik7XG5AaW5jbHVkZSBhcHB3b3JrLWJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJy5idG4tb3V0bGluZS13aGl0ZScsICNmZmYsICRib2R5LWNvbG9yKTtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBDdXN0b20gY29udHJvbHNcblxuJGN1c3RvbS1jb250cm9sLWNvbG9yczogKFxuICBibGFjazogIzAwMCxcbiAgd2hpdGU6ICNmZmYsXG4gIHNpbHZlcjogI2VlZSxcbiAgZ3JheTogIzc3NyxcbiAgZ29sZDogI2ZmZWIzYixcbiAgcGluazogI2U5MWU2MyxcbiAgcmVkOiAjZjQ0MzM2XG4pICFkZWZhdWx0O1xuXG5AZWFjaCAkY29sb3ItbmFtZSwgJGNvbG9yLXZhbHVlIGluICRjdXN0b20tY29udHJvbC1jb2xvcnMge1xuICBAaW5jbHVkZSBhcHB3b3JrLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJy5jdXN0b20tY29udHJvbC5jdXN0b20tY29udHJvbC0jeyRjb2xvci1uYW1lfScsICRjb2xvci12YWx1ZSwgJGRlZmF1bHQtYmFja2dyb3VuZDogJGNvbG9yLXZhbHVlKTtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBOYXZiYXJcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpZiAkY29sb3IgIT0gcHJpbWFyeSBhbmQgJGNvbG9yICE9IGxpZ2h0IHtcbiAgICBAaW5jbHVkZSBhcHB3b3JrLW5hdmJhci12YXJpYW50KCcubmF2YmFyLmJnLSN7JGNvbG9yfScsICR2YWx1ZSk7XG4gIH1cbn1cbkBpbmNsdWRlIGFwcHdvcmstbmF2YmFyLXZhcmlhbnQoJy5uYXZiYXIuYmctd2hpdGUnLCAgICNmZmYsICAgICAgJGNvbG9yOiAkdGV4dC1tdXRlZCwgJGFjdGl2ZS1jb2xvcjogJGJvZHktY29sb3IpO1xuQGluY2x1ZGUgYXBwd29yay1uYXZiYXItdmFyaWFudCgnLm5hdmJhci5iZy1saWdodCcsICAgJGdyYXktMTAwLCAkY29sb3I6ICR0ZXh0LW11dGVkLCAkYWN0aXZlLWNvbG9yOiAkYm9keS1jb2xvcik7XG5AaW5jbHVkZSBhcHB3b3JrLW5hdmJhci12YXJpYW50KCcubmF2YmFyLmJnLWxpZ2h0ZXInLCAkZ3JheS01MCwgICRjb2xvcjogJHRleHQtbXV0ZWQsICRhY3RpdmUtY29sb3I6ICRib2R5LWNvbG9yKTtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTaWRlbmF2XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaWYgJGNvbG9yICE9IHByaW1hcnkgYW5kICRjb2xvciAhPSBsaWdodCB7XG4gICAgQGluY2x1ZGUgYXBwd29yay1zaWRlbmF2LXZhcmlhbnQoJy5zaWRlbmF2LmJnLSN7JGNvbG9yfScsICR2YWx1ZSk7XG4gIH1cbn1cbkBpbmNsdWRlIGFwcHdvcmstc2lkZW5hdi12YXJpYW50KCcuc2lkZW5hdi5iZy13aGl0ZScsICNmZmYsICAgICAgICRjb2xvcjogJHRleHQtbXV0ZWQsICRhY3RpdmUtY29sb3I6ICRib2R5LWNvbG9yLCAkbWVudS1iZzogI2ZmZik7XG5AaW5jbHVkZSBhcHB3b3JrLXNpZGVuYXYtdmFyaWFudCgnLnNpZGVuYXYuYmctbGlnaHQnLCAkZ3JheS0xMDAsICAkY29sb3I6ICR0ZXh0LW11dGVkLCAkYWN0aXZlLWNvbG9yOiAkYm9keS1jb2xvcik7XG5AaW5jbHVkZSBhcHB3b3JrLXNpZGVuYXYtdmFyaWFudCgnLnNpZGVuYXYuYmctbGlnaHRlcicsICRncmF5LTUwLCAkY29sb3I6ICR0ZXh0LW11dGVkLCAkYWN0aXZlLWNvbG9yOiAkYm9keS1jb2xvcik7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRm9vdGVyXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaWYgJGNvbG9yICE9IHByaW1hcnkgYW5kICRjb2xvciAhPSBsaWdodCB7XG4gICAgQGluY2x1ZGUgYXBwd29yay1mb290ZXItdmFyaWFudCgnLmZvb3Rlci5iZy0jeyRjb2xvcn0nLCAkdmFsdWUpO1xuICB9XG59XG5AaW5jbHVkZSBhcHB3b3JrLWZvb3Rlci12YXJpYW50KCcuZm9vdGVyLmJnLXdoaXRlJywgICAjZmZmLCAgICAgICRjb2xvcjogJHRleHQtbXV0ZWQsICRhY3RpdmUtY29sb3I6ICRib2R5LWNvbG9yKTtcbkBpbmNsdWRlIGFwcHdvcmstZm9vdGVyLXZhcmlhbnQoJy5mb290ZXIuYmctbGlnaHQnLCAgICRncmF5LTEwMCwgJGNvbG9yOiAkdGV4dC1tdXRlZCwgJGFjdGl2ZS1jb2xvcjogJGJvZHktY29sb3IpO1xuQGluY2x1ZGUgYXBwd29yay1mb290ZXItdmFyaWFudCgnLmZvb3Rlci5iZy1saWdodGVyJywgJGdyYXktNTAsICAkY29sb3I6ICR0ZXh0LW11dGVkLCAkYWN0aXZlLWNvbG9yOiAkYm9keS1jb2xvcik7XG4iLCJAaW1wb3J0ICcuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZnVuY3Rpb25zJztcbkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICcuLi9fY3VzdG9tLXZhcmlhYmxlcy9hcHB3b3JrJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMnO1xuQGltcG9ydCAnbWl4aW5zJztcbiIsIi8vIEJvb3RzdHJhcCBmdW5jdGlvbnNcbi8vXG4vLyBVdGlsaXR5IG1peGlucyBhbmQgZnVuY3Rpb25zIGZvciBldmFsdWF0aW5nIHNvdXJjZSBjb2RlIGFjcm9zcyBvdXIgdmFyaWFibGVzLCBtYXBzLCBhbmQgbWl4aW5zLlxuXG4vLyBBc2NlbmRpbmdcbi8vIFVzZWQgdG8gZXZhbHVhdGUgU2FzcyBtYXBzIGxpa2Ugb3VyIGdyaWQgYnJlYWtwb2ludHMuXG5AbWl4aW4gX2Fzc2VydC1hc2NlbmRpbmcoJG1hcCwgJG1hcC1uYW1lKSB7XG4gICRwcmV2LWtleTogbnVsbDtcbiAgJHByZXYtbnVtOiBudWxsO1xuICBAZWFjaCAka2V5LCAkbnVtIGluICRtYXAge1xuICAgIEBpZiAkcHJldi1udW0gPT0gbnVsbCB7XG4gICAgICAvLyBEbyBub3RoaW5nXG4gICAgfSBAZWxzZSBpZiBub3QgY29tcGFyYWJsZSgkcHJldi1udW0sICRudW0pIHtcbiAgICAgIEB3YXJuIFwiUG90ZW50aWFsbHkgaW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hvc2UgdW5pdCBtYWtlcyBpdCBpbmNvbXBhcmFibGUgdG8gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfSBAZWxzZSBpZiAkcHJldi1udW0gPj0gJG51bSB7XG4gICAgICBAd2FybiBcIkludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdoaWNoIGlzbid0IGdyZWF0ZXIgdGhhbiAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9XG4gICAgJHByZXYta2V5OiAka2V5O1xuICAgICRwcmV2LW51bTogJG51bTtcbiAgfVxufVxuXG4vLyBTdGFydHMgYXQgemVyb1xuLy8gQW5vdGhlciBncmlkIG1peGluIHRoYXQgZW5zdXJlcyB0aGUgbWluLXdpZHRoIG9mIHRoZSBsb3dlc3QgYnJlYWtwb2ludCBzdGFydHMgYXQgMC5cbkBtaXhpbiBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRtYXApIHtcbiAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgJGZpcnN0LXZhbHVlOiBudGgoJHZhbHVlcywgMSk7XG4gIEBpZiAkZmlyc3QtdmFsdWUgIT0gMCB7XG4gICAgQHdhcm4gXCJGaXJzdCBicmVha3BvaW50IGluIGAkZ3JpZC1icmVha3BvaW50c2AgbXVzdCBzdGFydCBhdCAwLCBidXQgc3RhcnRzIGF0ICN7JGZpcnN0LXZhbHVlfS5cIjtcbiAgfVxufVxuXG4vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4vLyBVc2VkIG9uIG91ciBTVkcgaWNvbiBiYWNrZ3JvdW5kcyBmb3IgY3VzdG9tIGZvcm1zLlxuLy9cbi8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcbi8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gQ29sb3IgY29udHJhc3RcbkBmdW5jdGlvbiBjb2xvci15aXEoJGNvbG9yKSB7XG4gICRyOiByZWQoJGNvbG9yKTtcbiAgJGc6IGdyZWVuKCRjb2xvcik7XG4gICRiOiBibHVlKCRjb2xvcik7XG5cbiAgJHlpcTogKCgkciAqIDI5OSkgKyAoJGcgKiA1ODcpICsgKCRiICogMTE0KSkgLyAxMDAwO1xuXG4gIEBpZiAoJHlpcSA+PSAkeWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkKSB7XG4gICAgQHJldHVybiAkeWlxLXRleHQtZGFyaztcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkeWlxLXRleHQtbGlnaHQ7XG4gIH1cbn1cblxuLy8gUmV0cmlldmUgY29sb3IgU2FzcyBtYXBzXG5AZnVuY3Rpb24gY29sb3IoJGtleTogXCJibHVlXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRjb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gdGhlbWUtY29sb3IoJGtleTogXCJwcmltYXJ5XCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCR0aGVtZS1jb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gZ3JheSgka2V5OiBcIjEwMFwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkZ3JheXMsICRrZXkpO1xufVxuXG4vLyBSZXF1ZXN0IGEgdGhlbWUgY29sb3IgbGV2ZWxcbkBmdW5jdGlvbiB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3ItbmFtZTogXCJwcmltYXJ5XCIsICRsZXZlbDogMCkge1xuICAkY29sb3I6IHRoZW1lLWNvbG9yKCRjb2xvci1uYW1lKTtcbiAgJGNvbG9yLWJhc2U6IGlmKCRsZXZlbCA+IDAsICRibGFjaywgJHdoaXRlKTtcbiAgJGxldmVsOiBhYnMoJGxldmVsKTtcblxuICBAcmV0dXJuIG1peCgkY29sb3ItYmFzZSwgJGNvbG9yLCAkbGV2ZWwgKiAkdGhlbWUtY29sb3ItaW50ZXJ2YWwpO1xufVxuIiwiLy8gRnVuY3Rpb25zXG4vL1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE1hdGhcblxuJHBpOiAzLjE0MTU5MjY1MzU5O1xuJF9wcmVjaXNpb246IDEwO1xuXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwKSB7XG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwIHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBpZiAkZXhwIDwgMXtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwIHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gc3FydCgkcikge1xuICAkeDA6IDE7XG4gICR4MTogJHgwO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTAge1xuICAgICR4MTogJHgwIC0gKCR4MCAqICR4MCAtIGFicygkcikpIC8gKDIgKiAkeDApO1xuICAgICR4MDogJHgxO1xuICB9XG5cbiAgQHJldHVybiAkeDE7XG59XG5cbkBmdW5jdGlvbiBmYWN0KCRudW0pIHtcbiAgJGZhY3Q6IDE7XG4gIEBpZiAkbnVtID4gMHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRudW0ge1xuICAgICAgJGZhY3Q6ICRmYWN0ICogJGk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGZhY3Q7XG59XG5cbkBmdW5jdGlvbiBfdG9fdW5pdGxlc3NfcmFkKCRhbmdsZSkge1xuICBAaWYgdW5pdCgkYW5nbGUpID09IFwiZGVnXCIge1xuICAgICRhbmdsZTogJGFuZ2xlIC8gMTgwZGVnICogJHBpO1xuICB9XG4gIEBpZiB1bml0KCRhbmdsZSkgPT0gXCJyYWRcIiB7XG4gICAgJGFuZ2xlOiAkYW5nbGUgLyAxcmFkO1xuICB9XG4gIEByZXR1cm4gJGFuZ2xlO1xufVxuXG5AZnVuY3Rpb24gc2luKCRhbmdsZSl7XG4gICRhOiBfdG9fdW5pdGxlc3NfcmFkKCRhbmdsZSk7XG4gICRzaW46ICRhO1xuICBAZm9yICRuIGZyb20gMSB0aHJvdWdoICRfcHJlY2lzaW9uIHtcbiAgICAkc2luOiAkc2luICsgKHBvdygtMSwgJG4pIC8gZmFjdCgyICogJG4gKyAxKSApICogcG93KCRhLCAoMiAqICRuICsgMSkpO1xuICB9XG4gIEByZXR1cm4gJHNpbjtcbn1cblxuQGZ1bmN0aW9uIGNvcygkYW5nbGUpe1xuICAkYTogX3RvX3VuaXRsZXNzX3JhZCgkYW5nbGUpO1xuICAkY29zOiAxO1xuICBAZm9yICRuIGZyb20gMSB0aHJvdWdoICRfcHJlY2lzaW9uIHtcbiAgICAkY29zOiAkY29zICsgKCBwb3coLTEsJG4pIC8gZmFjdCgyKiRuKSApICogcG93KCRhLDIqJG4pO1xuICB9XG4gIEByZXR1cm4gJGNvcztcbn1cblxuQGZ1bmN0aW9uIHRhbigkYW5nbGUpe1xuICBAcmV0dXJuIHNpbigkYW5nbGUpIC8gY29zKCRhbmdsZSk7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTGlzdHNcblxuQGZ1bmN0aW9uIHNsaWNlLWxpc3QoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xuICAkcmVzdWx0OiBudWxsO1xuXG4gIEBpZiB0eXBlLW9mKCRzdGFydCkgIT0gbnVtYmVyIG9yIHR5cGUtb2YoJGVuZCkgIT0gbnVtYmVyIHtcbiAgICBAd2FybiBcIkVpdGhlciAkc3RhcnQgb3IgJGVuZCBhcmUgbm90IGEgbnVtYmVyIGZvciBgc2xpY2VgLlwiO1xuICB9XG5cbiAgQGVsc2UgaWYgJHN0YXJ0ID4gJGVuZCB7XG4gICAgQHdhcm4gXCJUaGUgc3RhcnQgaW5kZXggaGFzIHRvIGJlIGxlc3NlciB0aGFuIG9yIGVxdWFscyB0byB0aGUgZW5kIGluZGV4IGZvciBgc2xpY2VgLlwiO1xuICB9XG5cbiAgQGVsc2UgaWYgJHN0YXJ0IDwgMSBvciAkZW5kIDwgMSB7XG4gICAgQHdhcm4gXCJMaXN0IGluZGV4ZXMgbXVzdCBiZSBub24temVybyBpbnRlZ2VycyBmb3IgYHNsaWNlYC5cIjtcbiAgfVxuXG4gIEBlbHNlIGlmICRzdGFydCA+IGxlbmd0aCgkbGlzdCkge1xuICAgIEB3YXJuIFwiTGlzdCBpbmRleCBpcyAjeyRzdGFydH0gYnV0IGxpc3QgaXMgb25seSAje2xlbmd0aCgkbGlzdCl9IGl0ZW0gbG9uZyBmb3IgYHNsaWNlYC5cIjtcbiAgfVxuXG4gIEBlbHNlIGlmICRlbmQgPiBsZW5ndGgoJGxpc3QpIHtcbiAgICBAd2FybiBcIkxpc3QgaW5kZXggaXMgI3skZW5kfSBidXQgbGlzdCBpcyBvbmx5ICN7bGVuZ3RoKCRsaXN0KX0gaXRlbSBsb25nIGZvciBgc2xpY2VgLlwiO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgICRyZXN1bHQ6ICgpO1xuXG4gICAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogU3RyaW5nc1xuXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6ICcnKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBDb2xvcnNcblxuQGZ1bmN0aW9uIHJnYmEtdG8taGV4KCRjb2xvciwgJGJhY2tncm91bmQ6ICNmZmYpIHtcbiAgQGlmICRjb2xvciBhbmQgYWxwaGEoJGNvbG9yKSAhPSAxIHtcbiAgICAkcGVyY2VudDogYWxwaGEoJGNvbG9yKSAqIDEwMCU7XG4gICAgJG9wYXF1ZTogb3BhY2lmeSgkY29sb3IsIDEpO1xuXG4gICAgQHJldHVybiBtaXgoJG9wYXF1ZSwgJGJhY2tncm91bmQsICRwZXJjZW50KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkY29sb3I7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIHlpcS12YWx1ZSgkY29sb3IpIHtcbiAgQGlmICRjb2xvciA9PSB0cmFuc3BhcmVudCB7XG4gICAgQHJldHVybiAkYm9keS1jb2xvcjtcbiAgfSBAZWxzZSBpZiBhbHBoYSgkY29sb3IpICE9IDEge1xuICAgICRjb2xvcjogcmdiYS10by1oZXgoJGNvbG9yKTtcbiAgfVxuXG4gICRyOiByZWQoJGNvbG9yKTtcbiAgJGc6IGdyZWVuKCRjb2xvcik7XG4gICRiOiBibHVlKCRjb2xvcik7XG5cbiAgQHJldHVybiAoKCRyICogMjk5KSArICgkZyAqIDU4NykgKyAoJGIgKiAxMTQpKSAvIDEwMDA7XG59XG5cbi8vIENvbG9yIGNvbnRyYXN0XG5AZnVuY3Rpb24geWlxKCRjb2xvcikge1xuICAkeWlxOiB5aXEtdmFsdWUoJGNvbG9yKTtcblxuICBAaWYgKCR5aXEgPj0gMTYwKSB7XG4gICAgQHJldHVybiByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjQwKSwgIzAwMCk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gI2ZmZjtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFVuaXRzXG5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW1iZXIpIHtcbiAgQGlmIHR5cGUtb2YoJG51bWJlcikgPT0gJ251bWJlcicgYW5kIG5vdCB1bml0bGVzcygkbnVtYmVyKSB7XG4gICAgQHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XG4gIH1cblxuICBAcmV0dXJuICRudW1iZXI7XG59XG5cbkBmdW5jdGlvbiBweC10by1yZW0oJHZhbHVlKSB7XG4gIC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBmb250IHNpemUgPSBgMTZweGBcbiAgQHJldHVybiAoc3RyaXAtdW5pdCgkdmFsdWUpIC8gMTYpICogMXJlbTtcbn1cblxuQGZ1bmN0aW9uIHJlbS10by1weCgkdmFsdWUpIHtcbiAgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0IGZvbnQgc2l6ZSA9IGAxNnB4YFxuICBAcmV0dXJuIChzdHJpcC11bml0KCR2YWx1ZSkgKiAxNikgKiAxcHg7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVXRpbGl0aWVzXG5cbkBmdW5jdGlvbiBnZXQtYnRuLWNvbG9ycygkYmFja2dyb3VuZCwgJGJvcmRlcikge1xuICBAaWYgJGJhY2tncm91bmQgPT0gdHJhbnNwYXJlbnQge1xuICAgICRidG4tc2hhZG93OiByZ2JhKHJnYmEtdG8taGV4KCRib3JkZXIsICMwMDApLCAuMDUpO1xuXG4gICAgQHJldHVybiAoXG4gICAgICBiZy1ob3ZlcjogIHJnYmEoJGJvcmRlciwgLjA2KSxcbiAgICAgIGJnLWFjdGl2ZTogcmdiYSgkYm9yZGVyLCAuMTIpLFxuICAgICAgYm9yZGVyOiAgICAkYm9yZGVyLFxuICAgICAgc2hhZG93OiAgICBpZigkZW5hYmxlLXNoYWRvd3MsICgkYnRuLWJveC1zaGFkb3csIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoICRidG4tc2hhZG93KSwgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggJGJ0bi1zaGFkb3cpXG4gICAgKTtcbiAgfSBAZWxzZSBpZiBhbHBoYSgkYmFja2dyb3VuZCkgIT0gMSB7XG4gICAgJGJnLWFscGhhOiAgIGFscGhhKCRiYWNrZ3JvdW5kKTtcbiAgICAkYnRuLXNoYWRvdzogcmdiYSgkYmFja2dyb3VuZCwgJGJnLWFscGhhIC0gKCRiZy1hbHBoYSAqIDU1IC8gMTAwKSApO1xuXG4gICAgQHJldHVybiAoXG4gICAgICBiZy1ob3ZlcjogIHJnYmEoJGJhY2tncm91bmQsICRiZy1hbHBoYSArIDAuMDUpLFxuICAgICAgYmctYWN0aXZlOiByZ2JhKCRiYWNrZ3JvdW5kLCAkYmctYWxwaGEgKyAwLjEzKSxcbiAgICAgIGJvcmRlcjogICAgdHJhbnNwYXJlbnQsXG4gICAgICBzaGFkb3c6ICAgIGlmKCRlbmFibGUtc2hhZG93cywgKCRidG4tYm94LXNoYWRvdywgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggJGJ0bi1zaGFkb3cpLCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCAkYnRuLXNoYWRvdylcbiAgICApO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIChcbiAgICAgIGJnLWhvdmVyOiAgcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjk1KSwgIzAwMCksXG4gICAgICBiZy1hY3RpdmU6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC44NyksICMwMDApLFxuICAgICAgYm9yZGVyOiAgICB0cmFuc3BhcmVudCxcbiAgICAgIHNoYWRvdzogICAgaWYoJGVuYWJsZS1zaGFkb3dzLCAoJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRiYWNrZ3JvdW5kLCAuNCkpLCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRiYWNrZ3JvdW5kLCAuNCkpXG4gICAgKTtcbiAgfVxufVxuXG5AZnVuY3Rpb24gZ2V0LW1hdGVyaWFsLWJ0bi1jb2xvcnMoJGJhY2tncm91bmQpIHtcbiAgQGlmIGFscGhhKCRiYWNrZ3JvdW5kKSAhPSAxIHtcbiAgICAkYmFja2dyb3VuZDogcmdiYS10by1oZXgoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQHJldHVybiAoXG4gICAgYmctaG92ZXI6ICByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuOTUpLCAjZmZmKSxcbiAgICBiZy1hY3RpdmU6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC44NyksICNmZmYpLFxuICApO1xufVxuXG5AZnVuY3Rpb24gZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yOiBudWxsLCAkaW5hY3RpdmUtY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwpIHtcbiAgJGJnOiByZ2JhLXRvLWhleCgkYmcpO1xuICAkYWN0aXZlLWNvbG9yOiByZ2JhLXRvLWhleCgkYWN0aXZlLWNvbG9yKTtcbiAgJGFjdGl2ZS1jb2xvcjogaWYoJGFjdGl2ZS1jb2xvciwgJGFjdGl2ZS1jb2xvciwgeWlxKCRiZykpO1xuICAkeWlxLXBlcmNlbnQ6IHlpcS12YWx1ZSgkYmcpIC8gMjU1O1xuICAkeWlxLXBlcmNlbnQtaW52ZXJ0ZWQ6IDEgLSAkeWlxLXBlcmNlbnQ7XG5cbiAgJG9wYWNpdHk6IGlmKCRhY3RpdmUtY29sb3IgPT0gI2ZmZiwgLjYgKyAoLjQgKiAkeWlxLXBlcmNlbnQpLCAuNiArICguNCAqICgxIC0gJHlpcS1wZXJjZW50KSkpO1xuXG4gICRjb2xvcjogaWYoJGluYWN0aXZlLWNvbG9yLCByZ2JhLXRvLWhleCgkaW5hY3RpdmUtY29sb3IsICRiZyksIHJnYmEtdG8taGV4KHJnYmEoJGFjdGl2ZS1jb2xvciwgaWYoJHlpcS1wZXJjZW50IDwgLjI1LCAkb3BhY2l0eSAtIC4xNSwgJG9wYWNpdHkpKSwgJGJnKSk7XG4gICRkaXNhYmxlZC1jb2xvcjogcmdiYS10by1oZXgocmdiYSgkY29sb3IsIC42KSwgJGJnKTtcbiAgJG11dGVkLWNvbG9yOiByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjc1KSwgJGJnKTtcbiAgJGJvcmRlcjogaWYoJGJvcmRlciwgJGJvcmRlciwgaWYoJHlpcS1wZXJjZW50ID4gLjc1LCByZ2JhKCRhY3RpdmUtY29sb3IsICRvcGFjaXR5IC8gOCksIGlmKCR5aXEtcGVyY2VudCA8IC4yNSwgcmdiYSgkYWN0aXZlLWNvbG9yLCAuMDYpLCByZ2JhKCRhY3RpdmUtY29sb3IsIC4xNSkpKSk7XG5cbiAgQHJldHVybiAoXG4gICAgLy8gTWV0YWRhdGFcbiAgICBvcGFjaXR5OiAkb3BhY2l0eSxcbiAgICB5aXEtcGVyY2VudDogJHlpcS1wZXJjZW50LFxuICAgIHlpcS1wZXJjZW50LWludmVydGVkOiAkeWlxLXBlcmNlbnQtaW52ZXJ0ZWQsXG5cbiAgICAvLyBDb2xvcnNcbiAgICBiZzogJGJnLFxuICAgIGNvbG9yOiAkY29sb3IsXG4gICAgYWN0aXZlLWNvbG9yOiAkYWN0aXZlLWNvbG9yLFxuICAgIGRpc2FibGVkLWNvbG9yOiAkZGlzYWJsZWQtY29sb3IsXG4gICAgbXV0ZWQtY29sb3I6ICRtdXRlZC1jb2xvcixcbiAgICBib3JkZXI6ICRib3JkZXJcbiAgKTtcbn1cbiIsIiIsIi8vIFZhcmlhYmxlc1xuLy9cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBDb2xvcnNcblxuJHdoaXRlOiAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRibGFjazogICAgICAgICMxODFDMjEgIWRlZmF1bHQ7XG4kZ3JheS0yNTogICAgICByZ2JhKCRibGFjaywgLjAxNSkgIWRlZmF1bHQ7XG4kZ3JheS01MDogICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRncmF5LTEwMDogICAgIHJnYmEoJGJsYWNrLCAuMDYpICFkZWZhdWx0O1xuJGdyYXktMjAwOiAgICAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRncmF5LTMwMDogICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuJGdyYXktNTAwOiAgICAgcmdiYSgkYmxhY2ssIC40KSAhZGVmYXVsdDtcbiRncmF5LTYwMDogICAgIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICAgICByZ2JhKCRibGFjaywgLjYpICFkZWZhdWx0O1xuJGdyYXktODAwOiAgICAgcmdiYSgkYmxhY2ssIC44KSAhZGVmYXVsdDtcbiRncmF5LTkwMDogICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XG5cbiRncmF5czogKFxuICBcIjI1XCI6ICRncmF5LTI1LFxuICBcIjUwXCI6ICRncmF5LTUwXG4pICFkZWZhdWx0O1xuXG4kYmx1ZTogICAgICAgICAjMWU3MGNkICFkZWZhdWx0O1xuJGluZGlnbzogICAgICAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAgICAgICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgICAgICAjZTgzZThjICFkZWZhdWx0O1xuJHJlZDogICAgICAgICAgI2Q5NTM0ZiAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAgICAgICNGRUI3NDQgIWRlZmF1bHQ7XG4keWVsbG93OiAgICAgICAjRkZEOTUwICFkZWZhdWx0O1xuJGdyZWVuOiAgICAgICAgIzAyQkM3NyAhZGVmYXVsdDtcbiR0ZWFsOiAgICAgICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgICAgICAjMjhjM2Q3ICFkZWZhdWx0O1xuXG4kdGhlbWUtY29sb3JzOiAoXG4gIFwicHJpbWFyeVwiOiAgICRpbmRpZ28sXG4gIFwic2Vjb25kYXJ5XCI6ICM4ODk3QUEsXG4gIFwic3VjY2Vzc1wiOiAgICRncmVlbixcbiAgXCJpbmZvXCI6ICAgICAgJGN5YW4sXG4gIFwid2FybmluZ1wiOiAgICR5ZWxsb3csXG4gIFwiZGFuZ2VyXCI6ICAgICRyZWQsXG4gIFwiZGFya1wiOiAgICAgICRncmF5LTkwMFxuKSAhZGVmYXVsdDtcblxuJGJvZHktY29sb3I6ICAgICAgICM0RTUxNTUgIWRlZmF1bHQ7IC8vIzRhNGE0YVxuXG4vLyAjMDZjXG4kbGluay1jb2xvcjogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogbGlnaHRlbigkbGluay1jb2xvciwgMTAlKSAhZGVmYXVsdDtcblxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBGb250c1xuXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogXCJSb2JvdG9cIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktc2VyaWY6ICAgICAgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgXCJTRk1vbm8tUmVndWxhclwiLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAuODk0cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS14bDogICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXhzOiAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkOiAgIDUwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICA5MDAgIWRlZmF1bHQ7XG5cbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAxLjQ3ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXhsOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXhzOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgIDIuMjVyZW0gIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgMS44MTNyZW0gIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgMS41NjNyZW0gIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgMS4zMTNyZW0gIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAkZm9udC13ZWlnaHQtc2VtaWJvbGQgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgMS4xICFkZWZhdWx0O1xuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICA0cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkyLXNpemU6ICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAzcmVtICFkZWZhdWx0O1xuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG5cbiR0aW55LWZvbnQtc2l6ZTogICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgODUlICFkZWZhdWx0O1xuJGJpZy1mb250LXNpemU6ICAgICAgICAgIDExMiUgIWRlZmF1bHQ7XG4kbGFyZ2UtZm9udC1zaXplOiAgICAgICAgMTUwJSAhZGVmYXVsdDtcbiR4bGFyZ2UtZm9udC1zaXplOiAgICAgICAxNzAlICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgcmdiYS10by1oZXgoJGdyYXktNTAwKSAhZGVmYXVsdDtcbiR0ZXh0LW11dGVkLWhvdmVyOiAgICAgICByZ2JhLXRvLWhleCgkZ3JheS02MDApICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6IHJnYmEtdG8taGV4KCRncmF5LTUwMCkgIWRlZmF1bHQ7XG4kdGV4dC1saWdodDogICAgICAgICAgICAgcmdiYS10by1oZXgoJGdyYXktNDAwKSAhZGVmYXVsdDtcbiR0ZXh0LWxpZ2h0ZXI6ICAgICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS0zMDApICFkZWZhdWx0O1xuJHRleHQtbGlnaHRlc3Q6ICAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTIwMCkgIWRlZmF1bHQ7XG5cbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICBub25lICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEdyaWRcblxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRjb250YWluZXItcGFkZGluZy14OiAycmVtICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLXgtc206IDFyZW0gIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmcteTogMS41cmVtICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENvbXBvbmVudHNcblxuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLC4wNikgIWRlZmF1bHQ7XG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMteGw6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMteHM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgMS41NCAhZGVmYXVsdDtcbiRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoOiAgICAycHggIWRlZmF1bHQ7XG5cbiRmbG9hdGluZy1jb21wb25lbnQtYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbiRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93OiAgICAgICAwIDFweCA2cHggcmdiYSgwLCAwLCAwLCAuMDkpICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGJvcmRlcmVkLXJvdy1ib3JkZXItY29sb3I6ICAgICAgICRoci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgICAgICAuNDJlbSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBaLWluZGV4IG1hc3RlciBsaXN0XG5cbiR6aW5kZXgtbGF5b3V0LWZpeGVkOiAgMTA4MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtdG9wOiAgICAgMTA5MCAhZGVmYXVsdDtcbiR6aW5kZXgtbGF5b3V0LW1vYmlsZTogMTEwMCAhZGVmYXVsdDtcbiR6aW5kZXgtbm90aWZpY2F0aW9uOiAgOTk5OTk5ICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFRhYmxlc1xuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXNtOiAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICByZ2JhKCRibGFjaywgLjAyNSkgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDM1KSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgcmdiYS10by1oZXgoJHRhYmxlLWhvdmVyLWJnKSAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICByZ2JhLXRvLWhleCgkZ3JheS0xMDApICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICRncmF5LTUwICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgIHJnYmEoJHdoaXRlLCAuMDMpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogbGlnaHRlbihyZ2JhLXRvLWhleCgkZ3JheS05MDApLCA3JSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBCdXR0b25zXG5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgIC40MzhyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAxLjEyNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgIDEuNTQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXhzOiAgIDAgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC14czogICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXhzOiAgICRmb250LXNpemUteHMgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXhzOiAkbGluZS1oZWlnaHQteHMgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgIC4xODhyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAuNjg3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgIDEuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXhsOiAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC14bDogICAyLjEyNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXhsOiAgICRmb250LXNpemUteGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXhsOiAkbGluZS1oZWlnaHQteGwgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXJhZGl1cy14czogICAgICRib3JkZXItcmFkaXVzLXhzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXhsOiAgICAgJGJvcmRlci1yYWRpdXMteGwgIWRlZmF1bHQ7XG5cbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSwgLjI1KSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRidG4tZGVmYXVsdC1iZzogICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWJvcmRlcjogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRm9ybXNcblxuJGxhYmVsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAuODMxMjVyZW0gIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1zZW1pYm9sZCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS0xMDApICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJHRleHQtbGlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICAgICAgcHgtdG8tcmVtKGZsb29yKHJlbS10by1weCgoJGlucHV0LWJ0bi1mb250LXNpemUgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0KSArICgkaW5wdXQtYnRuLXBhZGRpbmcteSAqIDIpKSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1zbTogICAgICAgICAgICAgICAgICAgICBweC10by1yZW0oZmxvb3IocmVtLXRvLXB4KCgkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20pICsgKCRpbnB1dC1idG4tcGFkZGluZy15LXNtICogMikpKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWxnOiAgICAgICAgICAgICAgICAgICAgIHB4LXRvLXJlbShmbG9vcihyZW0tdG8tcHgoKCRmb250LXNpemUtbGcgKiAkbGluZS1oZWlnaHQtbGcpICsgKCRpbnB1dC1idG4tcGFkZGluZy15LWxnICogMikpKSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1pbnZlcnRlZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgjZmZmLCAuMykgIWRlZmF1bHQ7XG4kaW5wdXQtaW52ZXJ0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kaW5wdXQtaW52ZXJ0ZWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1pbnZlcnRlZC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1pbnZlcnRlZC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgcmdiYSgjZmZmLCAuNykgIWRlZmF1bHQ7XG4kaW5wdXQtaW52ZXJ0ZWQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgIHJnYmEoI2ZmZiwgLjEpICFkZWZhdWx0O1xuJGlucHV0LWludmVydGVkLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAkaW5wdXQtaW52ZXJ0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAgICAgMS4xMjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoOiAgICAgMXB4ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I6ICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgICAgICgkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKyAuNDM4cmVtKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAgICBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDkuNSA3LjUnJTNFJTNDcG9seWxpbmUgcG9pbnRzPScwLjc1IDQuMzUgNC4xOCA2Ljc1IDguNzUgMC43NScgc3R5bGU9J2ZpbGw6bm9uZTtzdHJva2U6X0NPTE9SXztzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLXdpZHRoOjEuNXB4Jy8lM0UlM0Mvc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZy1zaXplOiAgICAgICAgIDY1JSA2NSUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZzogICAgICAgICAgICAgICAgIFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTAgMTAnJTNFJTNDY2lyY2xlIGN4PSc1JyBjeT0nNScgcj0nNC41JyBzdHlsZT0nZmlsbDpfQ09MT1JfJy8lM0UlM0NwYXRoIGQ9J001LDFBNCw0LDAsMSwxLDEsNSw0LDQsMCwwLDEsNSwxTTUsMGE1LDUsMCwxLDAsNSw1QTUsNSwwLDAsMCw1LDBaJyBzdHlsZT0nZmlsbDpfQ09MT1JfJy8lM0UlM0Mvc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZy1zaXplOiAgICAgICAgICAgIDQwJSA0MCUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICBub25lICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgICAgICAgICAgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbnZlcnRlZC1kaXNhYmxlZC1jb2xvcjogICAgICRpbnB1dC1pbnZlcnRlZC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWludmVydGVkLWRpc2FibGVkLWJnOiAgICAgICAgJGlucHV0LWludmVydGVkLWRpc2FibGVkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICAgICAgICAgIDE3cHggMTJweCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgICAgICAgICAgdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJFQUFBQU1DQVlBQUFDRUpWYS9BQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBRjVKUkVGVUtCVmplUGI4eFg4R0NnRVRoZnJCMmdlUElTekVlTWZEeDYvaC83OS85ZGpVTWpJeE5STGxuUjFiTmpXQUZLTWJBaElEeVJGbENFZ3p1a0V3QThBR2t4ckZJSytCTUZnempDRFZFSmcrWkpwbzd5QnJRbWNQSGtNQVI1WWY1NUg5Sk40QUFBQUFTVVZPUks1Q1lJST0nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1pbnZlcnRlZDogICAgICAgICAgdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJFQUFBQU1DQVlBQUFDRUpWYS9BQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUVwSlJFRlVlTnBpK1AvL3Z3TVFNMUNDR1lhWElTd014SUVLSUE3QklyNEdpRHVZaURTa0M0Z1BvWWtkZ29xVDVCME9JRjRBeEdlZ05BZTVZU0lJeEpPZzlIQ05ZcW9ZQWhCZ0FLSFdCZytoUnJOeEFBQUFBRWxGVGtTdVFtQ0MnKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1ydGw6ICAgICAgICAgICAgICAgdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJFQUFBQU1DQVlBQUFDRUpWYS9BQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUV0SlJFRlVlTnBpWUtBUVBIdis0ajhUQXhYQTRER0V4Y1BIcitIL3YzLzEyQ1FabVpnYWQyeloxRURRSlNCRklNWGtHZ0QzRHJwQnBCaUFBVUJlQTJGU281aGhOSjFnQUlBQUF3QzFNeUtGUmw2b213QUFBQUJKUlU1RXJrSmdnZz09JykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItaW52ZXJ0ZWQtcnRsOiAgICAgIHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCRUFBQUFNQ0FZQUFBQ0VKVmEvQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFGTkpSRUZVZU5waStQLy9Qd01GMkFGRU16RlFBUXdlUTFpQXVBS0lRN0RJclFIaURtSmQwZ1hFaDlERUQwSEZpZmJPUHlDdUF1SXJVTEVyVVA0L292MkRGRjJDUUR3SlNwTVV4UXlqNlFRREFBUVlBS3g4b3lCQS8zbENBQUFBQUVsRlRrU3VRbUNDJykgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBEcm9wZG93bnNcblxuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICRmbG9hdGluZy1jb21wb25lbnQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgJGZsb2F0aW5nLWNvbXBvbmVudC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAuNDM4cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAkZHJvcGRvd24tbGluay1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAkZ3JheS01MCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWxpbmUtaGVpZ2h0OiAgICAkY29tcG9uZW50LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE5hdnNcblxuJG5hdi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcblxuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAkY29tcG9uZW50LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbmF2LWxpbmstcGFkZGluZy15LWxnOiAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteC1sZzogICAgICAgICAgICAgMS4zMTI1cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kbmF2LWxpbmstcGFkZGluZy15LXNtOiAgICAgICAgICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXgtc206ICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstbGluZS1oZWlnaHQtc206ICAgICAgICAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRuYXYtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICR0ZXh0LW11dGVkLWhvdmVyICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTEwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE5hdmJhclxuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC44KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuNCkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjA2KSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBQYWdpbmF0aW9uXG5cbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgLjkzNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICR0ZXh0LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICRwYWdpbmF0aW9uLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgbm9uZSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tc3BhY2VyOiAgICAgICAgICAgICAgICAuMTg3NXJlbSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXgtc206ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItY29sb3I6ICByZ2JhKCRibGFjaywuMDYpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGNhcmQtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggNHB4IHJnYmEoJGJsYWNrLC4wMDkpICFkZWZhdWx0O1xuLy8gJGNhcmQtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggNHB4IHJnYmEoJGJsYWNrLC4wMykgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVG9vbHRpcHNcblxuJHRvb2x0aXAtY29sb3I6ICAgICAgI2ZmZiAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTgwMCkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAxICFkZWZhdWx0O1xuJHRvb2x0aXAtYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBQb3BvdmVyc1xuXG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgJGdyYXktNTAgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogLjYyNXJlbSAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQmFkZ2VzXG5cbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgIC44NThlbSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICRmb250LXdlaWdodC1zZW1pYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgLjQxN2VtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcblxuJGJhZGdlLXBpbGwtcGFkZGluZy14OiAgICAgICAgLjU4M2VtICFkZWZhdWx0O1xuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgMTByZW0gIWRlZmF1bHQ7XG5cbiRiYWRnZS1kZWZhdWx0LWJnOiAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRiYWRnZS1vdXRsaW5lLWRlZmF1bHQtY29sb3I6ICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE1vZGFsc1xuXG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAxLjU2MjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLXBhZGRpbmc6ICAgICAgICAgICAxLjI1cmVtICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAxcHggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93ICFkZWZhdWx0O1xuXG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAzNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgMjIuNXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgLjUgIWRlZmF1bHQ7XG5cbiRtb2RhbC1zbGlkZS13aWR0aDogICAgICAgICAgICAgIDIwcmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAuMTVzICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgdHJhbnNmb3JtICRtb2RhbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEFsZXJ0c1xuXG4kYWxlcnQtcGFkZGluZy15OiAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogMXJlbSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAkZ3JheS01MCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAxMHJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAjZmZmICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhLXRvLWhleCgkYm9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgIC45Mzc1cmVtICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0yNSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAkdGV4dC1tdXRlZC1ob3ZlciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAkZ3JheS01MCAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogIDBweCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogMHB4ICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICBub25lICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgXCIvXCIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLXJ0bDogICBcIlxcXFxcIiAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTd2l0Y2hlcnNcblxuJHN3aXRjaGVyLXNwYWNlci14OiAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoZXItc3BhY2VyLXk6ICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHN3aXRjaGVyLWd1dHRlcjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1pbm5lci1zcGFjZXI6ICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kc3dpdGNoZXItc3F1YXJlLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kc3dpdGNoZXItbGFiZWwtY29sb3I6ICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHN3aXRjaGVyLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRzd2l0Y2hlci13aWR0aDogICAgICAgICAgICAgICAgMi4zNzVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoZXItaGVpZ2h0OiAgICAgICAgICAgICAgIDEuMzc1cmVtICFkZWZhdWx0O1xuJHN3aXRjaGVyLWZvbnQtc2l6ZTogICAgICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xuJHN3aXRjaGVyLWxhYmVsLWZvbnQtc2l6ZTogICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kc3dpdGNoZXItbGFiZWwtbGluZS1oZWlnaHQ6ICAgIDEuNCAhZGVmYXVsdDtcblxuJHN3aXRjaGVyLXdpZHRoLXNtOiAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJHN3aXRjaGVyLWhlaWdodC1zbTogICAgICAgICAgICAxLjEyNXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1sYWJlbC1mb250LXNpemUtc206ICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1sYWJlbC1saW5lLWhlaWdodC1zbTogMS40ODYgIWRlZmF1bHQ7XG5cbiRzd2l0Y2hlci13aWR0aC1sZzogICAgICAgICAgICAgMy4yNXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1oZWlnaHQtbGc6ICAgICAgICAgICAgMS43NXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1sYWJlbC1mb250LXNpemUtbGc6ICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRzd2l0Y2hlci1sYWJlbC1saW5lLWhlaWdodC1sZzogMS40NyAhZGVmYXVsdDtcblxuJHN3aXRjaGVyLW9mZi1jb2xvcjogICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4kc3dpdGNoZXItb2ZmLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRzd2l0Y2hlci1ob2xkZXItYmc6ICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRzd2l0Y2hlci1ob2xkZXItc2hhZG93OiAgICAgICAgMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAuMDQpLCAwIDFweCA2cHggcmdiYSgkYmxhY2ssIC4wOSkgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQ2xvc2VcblxuJGNsb3NlLWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogSnVtYm90cm9uXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogM3JlbSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTaWRlbmF2XG5cbiRzaWRlbmF2LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTUuNjI1cmVtICFkZWZhdWx0OyAvLzI1MHB4XG4kc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg6ICAgICAgICAgICAgICAgIDQuMzc1cmVtICFkZWZhdWx0OyAvLzcwcHhcblxuJHNpZGVuYXYtaXRlbS1zcGFjZXI6ICAgICAgICAgICAgICAgICAgICAuMDYyNXJlbSAhZGVmYXVsdDtcblxuJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXk6ICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteDogICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc2lkZW5hdi12ZXJ0aWNhbC1tZW51LWxpbmstcGFkZGluZy15OiAgIC42MjVyZW0gIWRlZmF1bHQ7XG4kc2lkZW5hdi12ZXJ0aWNhbC1tZW51LWxldmVsLXNwYWNlcjogICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRzaWRlbmF2LWhvcml6b250YWwtbGluay1wYWRkaW5nLXk6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzaWRlbmF2LWhvcml6b250YWwtbGluay1wYWRkaW5nLXg6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzaWRlbmF2LWhvcml6b250YWwtbWVudS1saW5rLXBhZGRpbmcteTogLjYyNXJlbSAhZGVmYXVsdDtcbiRzaWRlbmF2LWhvcml6b250YWwtbWVudS1sZXZlbC1zcGFjZXI6ICAgMXJlbSAhZGVmYXVsdDtcblxuJHNpZGVuYXYtbWVudS13aWR0aDogICAgICAgICAgICAgICAgICAgICAxMi41cmVtICFkZWZhdWx0OzsgLy8yMDBweFxuJHNpZGVuYXYtY29udHJvbC13aWR0aDogICAgICAgICAgICAgICAgICAyLjI1cmVtICFkZWZhdWx0O1xuJHNpZGVuYXYtY29udHJvbC1hcnJvdy1zaXplOiAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJHNpZGVuYXYtaWNvbi1leHBhbmRlZC13aWR0aDogICAgICAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuJHNpZGVuYXYtaWNvbi1leHBhbmRlZC1mb250LXNpemU6ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNpZGVuYXYtaWNvbi1leHBhbmRlZC1zcGFjZXI6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgLjJzICFkZWZhdWx0O1xuXG4kc2lkZW5hdi1tYXgtbGV2ZWxzOiAgICAgICAgICAgICAgICAgICAgIDUgIWRlZmF1bHQ7XG5cbiRzaWRlbmF2LWRhcmstYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMikgIWRlZmF1bHQ7XG4kc2lkZW5hdi1kYXJrLW1lbnUtYmc6ICAgICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA2KSAhZGVmYXVsdDtcbiRzaWRlbmF2LWxpZ2h0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDYpICFkZWZhdWx0O1xuJHNpZGVuYXYtbGlnaHQtbWVudS1iZzogICAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNSkgIWRlZmF1bHQ7XG5cbi8vIENvbmZpZ1xuJHJ0bC1zdXBwb3J0OiBmYWxzZSAhZGVmYXVsdDtcbiRtYXRlcmlhbC1zdHlsZTogZmFsc2U7XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG5cbi8vXG4vLyBDb2xvciBzeXN0ZW1cbi8vXG5cbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcblxuJGdyYXlzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZ3JheXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gICAgXCIzMDBcIjogJGdyYXktMzAwLFxuICAgIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gICAgXCI2MDBcIjogJGdyYXktNjAwLFxuICAgIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gICAgXCI5MDBcIjogJGdyYXktOTAwXG4gICksXG4gICRncmF5c1xuKTtcblxuXG4kYmx1ZTogICAgIzAwN2JmZiAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICAgIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICAgIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gICAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICAgIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbiAgKSxcbiAgJGNvbG9yc1xuKTtcblxuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICAgIFwiZGFya1wiOiAgICAgICAkZGFya1xuICApLFxuICAkdGhlbWUtY29sb3JzXG4pO1xuXG4vLyBTZXQgYSBzcGVjaWZpYyBqdW1wIHBvaW50IGZvciByZXF1ZXN0aW5nIGNvbG9yIGp1bXBzXG4kdGhlbWUtY29sb3ItaW50ZXJ2YWw6ICAgICAgOCUgIWRlZmF1bHQ7XG5cbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogIDE1MCAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4keWlxLXRleHQtZGFyazogICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHlpcS10ZXh0LWxpZ2h0OiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogIGZhbHNlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkLCBubyBsb25nZXIgYWZmZWN0cyBhbnkgY29tcGlsZWQgQ1NTXG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICB0cnVlICFkZWZhdWx0O1xuXG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRzcGFjZXJzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAwOiAwLFxuICAgIDE6ICgkc3BhY2VyICogLjI1KSxcbiAgICAyOiAoJHNwYWNlciAqIC41KSxcbiAgICAzOiAkc3BhY2VyLFxuICAgIDQ6ICgkc3BhY2VyICogMS41KSxcbiAgICA1OiAoJHNwYWNlciAqIDMpXG4gICksXG4gICRzcGFjZXJzXG4pO1xuXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXG4kc2l6ZXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRzaXplczogbWFwLW1lcmdlKFxuICAoXG4gICAgMjU6IDI1JSxcbiAgICA1MDogNTAlLFxuICAgIDc1OiA3NSUsXG4gICAgMTAwOiAxMDAlLFxuICAgIGF1dG86IGF1dG9cbiAgKSxcbiAgJHNpemVzXG4pO1xuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWxnOiAgICAgICAgICAgICAgIDAgMXJlbSAzcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG5cblxuLy8gRm9udHNcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAuODc1KSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICgkc3BhY2VyIC8gMikgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIDgwJSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgJHRhYmxlLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1jb2xvcjogICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWFjY2VudC1iZzogICAgICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgbGlnaHRlbigkZ3JheS05MDAsIDcuNSUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgcmdiYSgkY29tcG9uZW50LWFjdGl2ZS1iZywgLjI1KSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogIDAgMCAwICRpbnB1dC1idG4tZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1zbTogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRidG4tYmxvY2stc3BhY2luZy15OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuXG4vLyBGb3Jtc1xuXG4kbGFiZWwtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhaW50ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMiAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0KSArICgkaW5wdXQtYnRuLXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSArICN7JGlucHV0LWhlaWdodC1ib3JkZXJ9KSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lci1zbTogICAgICAgICAgICAgICAgICgkZm9udC1zaXplLXNtICogJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSkgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXItbGc6ICAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1sZyAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcpICsgKCRpbnB1dC1idG4tcGFkZGluZy15LWxnICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItbGd9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93OiAgICBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2IDIuOTc0IDcuMjUgOCAyLjE5M3onLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU6ICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDQnJTNFJTNDcGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiAgbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNFJTNDY2lyY2xlIHI9JzMnIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgIDhweCAxMHB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDUnJTNFJTNDcGF0aCBmaWxsPScjeyRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aCByZ2JhKCRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvciwgLjUpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc6ICAgICAgICAxMjUlICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6ICAgICBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzogICAgICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gSUUvRWRnZVxuJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLWhlaWdodDogICAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnOiAgICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkY3VzdG9tLWZpbGUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBlbjogXCJCcm93c2VcIlxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICAgICAgICAgICRmb3JtLXRleHQtbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTogICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICB0aGVtZS1jb2xvcihcImRhbmdlclwiKSAhZGVmYXVsdDtcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJGdyYXktOTAwLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuXG4vLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgICAgICAoJHNwYWNlciAvIDIpICFkZWZhdWx0O1xuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgKCRzcGFjZXIgLyAyKSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgLyAyICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssIC43KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4vLyBQYWdpbmF0aW9uXG5cbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cblxuLy8gSnVtYm90cm9uXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gQ2FyZHNcblxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIGNhbGMoI3skY2FyZC1ib3JkZXItcmFkaXVzfSAtICN7JGNhcmQtYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgKCRncmlkLWd1dHRlci13aWR0aCAvIDIpICFkZWZhdWx0O1xuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICAgICAgICAgJGNhcmQtZ3JvdXAtbWFyZ2luICFkZWZhdWx0O1xuXG4kY2FyZC1jb2x1bW5zLWNvdW50OiAgICAgICAgICAgICAgICAzICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICFkZWZhdWx0O1xuXG5cbi8vIFRvb2x0aXBzXG5cbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIGZhZGUtaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIEJhZGdlc1xuXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjRlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYWxlcnQtYmctbGV2ZWw6ICAgICAgICAgICAgICAgICAgICAtMTAgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLWxldmVsOiAgICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiRhbGVydC1jb2xvci1sZXZlbDogICAgICAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIC43NSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuXG4vLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cblxuLy8gRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICA5MCUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBxdW90ZShcIi9cIikgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgIC41ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI6ICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBkPSdNNS4yNSAwbC00IDQgNCA0IDEuNS0xLjUtMi41LTIuNSAyLjUtMi41LTEuNS0xLjV6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZD0nTTIuNzUgMGwtMS41IDEuNSAyLjUgMi41LTIuNSAyLjUgMS41IDEuNSA0LTQtNC00eicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjZzIGVhc2UgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG5cblxuLy8gQ2xvc2VcblxuJGNsb3NlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAwIDFweCAwICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gQ29kZVxuXG4kY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICA4Ny41JSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuXG4vLyBQcmludGluZ1xuJHByaW50LXBhZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgYTMgIWRlZmF1bHQ7XG4kcHJpbnQtYm9keS1taW4td2lkdGg6ICAgICAgICAgICAgICBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpICFkZWZhdWx0O1xuIiwiLy8gVG9nZ2xlc1xuLy9cbi8vIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBnbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBjZXJ0YWluIHRoZW1lIGZlYXR1cmVzLlxuXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgXCJtaXhpbnMvYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaG92ZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYmFkZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NjcmVlbi1yZWFkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtZW1waGFzaXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1oaWRlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtdHJ1bmNhdGVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdmlzaWJpbGl0eVwiO1xuXG4vLyAvLyBDb21wb25lbnRzXG5AaW1wb3J0IFwibWl4aW5zL2FsZXJ0XCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY2FyZXRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9saXN0c1wiO1xuQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi1kaXZpZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xuXG4vLyAvLyBTa2luc1xuQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcIm1peGlucy9ib3gtc2hhZG93XCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyYWRpZW50c1wiO1xuQGltcG9ydCBcIm1peGlucy90cmFuc2l0aW9uXCI7XG5cbi8vIC8vIExheW91dFxuQGltcG9ydCBcIm1peGlucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkLWZyYW1ld29ya1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zsb2F0XCI7XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAycHgsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG92ZXIgbWl4aW4gYW5kIGAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5YCBhcmUgZGVwcmVjYXRlZC5cbi8vXG4vLyBPcmlnaW5hbGx5IGFkZGVkIGR1cmluZyBvdXIgYWxwaGFzIGFuZCBtYWludGFpbmVkIGR1cmluZyBiZXRhcywgdGhpcyBtaXhpbiB3YXNcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1MtYW4gaXNzdWUgd2hlcmUgaG92ZXIgc3R5bGVzXG4vLyB3b3VsZCBwZXJzaXN0IGFmdGVyIGluaXRpYWwgdG91Y2guXG4vL1xuLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlJ3ZlIGtlcHQgdGhlc2UgbWl4aW5zIGFuZCB1cGRhdGVkIHRoZW0gdG9cbi8vIGFsd2F5cyByZXR1cm4gdGhlaXIgcmVndWxhciBwc2V1ZG8tY2xhc3NlcyBpbnN0ZWFkIG9mIGEgc2hpbW1lZCBtZWRpYSBxdWVyeS5cbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTE5NVxuXG5AbWl4aW4gaG92ZXIge1xuICAmOmhvdmVyIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgaW5kZW50YXRpb24sIG1lZGlhLXF1ZXJ5LWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTF4KTtcblxuICAvLyBBdXRvcHJlZml4ZXIgdGFrZXMgY2FyZSBvZiBhZGRpbmcgLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvIGFuZCAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvLFxuICAvLyBidXQgZG9lc24ndCBjb252ZXJ0IGRwcHg9PmRwaS5cbiAgLy8gVGhlcmUncyBubyBzdWNoIHRoaW5nIGFzIHVucHJlZml4ZWQgbWluLWRldmljZS1waXhlbC1yYXRpbyBzaW5jZSBpdCdzIG5vbnN0YW5kYXJkLlxuICAvLyBDb21wYXRpYmlsaXR5IGluZm86IGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIC8vIElFOS0xMSBkb24ndCBzdXBwb3J0IGRwcHhcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHsgLy8gU3RhbmRhcmRpemVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTJ4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG59XG4iLCJAbWl4aW4gYmFkZ2UtdmFyaWFudCgkYmcpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG5cbiAgJltocmVmXSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiZywgMTAlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJlc2l6ZSBhbnl0aGluZ1xuXG5AbWl4aW4gcmVzaXphYmxlKCRkaXJlY3Rpb24pIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFBlciBDU1MzIFVJLCBgcmVzaXplYCBvbmx5IGFwcGxpZXMgd2hlbiBgb3ZlcmZsb3dgIGlzbid0IGB2aXNpYmxlYFxuICByZXNpemU6ICRkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXG59XG4iLCIvLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cHM6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudC9cbi8vIFNlZTogaHR0cHM6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5cbkBtaXhpbiBzci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG5AbWl4aW4gc3Itb25seS1mb2N1c2FibGUge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG4iLCIvLyBTaXppbmcgc2hvcnRjdXRzXG5cbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1ibG9jay1uby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuQG1peGluIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG5cbiAgQGlmICgkaWdub3JlLXdhcm5pbmcgIT0gdHJ1ZSkge1xuICAgIEB3YXJuIFwiVGhlIGB0ZXh0LWhpZGUoKWAgbWl4aW4gaGFzIGJlZW4gZGVwcmVjYXRlZCBhcyBvZiB2NC4xLjAuIEl0IHdpbGwgYmUgcmVtb3ZlZCBlbnRpcmVseSBpbiB2NS5cIjtcbiAgfVxufVxuIiwiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVmlzaWJpbGl0eVxuXG5AbWl4aW4gaW52aXNpYmxlKCR2aXNpYmlsaXR5KSB7XG4gIHZpc2liaWxpdHk6ICR2aXNpYmlsaXR5ICFpbXBvcnRhbnQ7XG59XG4iLCJAbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG5cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA3LjUlKSwgJGhvdmVyLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEwJSksICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpLCAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyLjUlKSkge1xuICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRidG4tYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRib3JkZXIsIC41KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkYm9yZGVyLCAuNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBmb3IgdGhlIHByZXNzZWQvYWN0aXZlIHN0YXRlXG4gICAgfVxuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGJvcmRlciwgLjUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkYm9yZGVyLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvciwgJGNvbG9yLWhvdmVyOiBjb2xvci15aXEoJGNvbG9yKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsICRhY3RpdmUtYm9yZGVyOiAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIC8vIE1hbnVhbGx5IGRlY2xhcmUgdG8gcHJvdmlkZSBhbiBvdmVycmlkZSB0byB0aGUgYnJvd3NlciBkZWZhdWx0XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9IEBlbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4iLCJAbWl4aW4gY2FyZXQtZG93biB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC11cCB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1yaWdodCB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQ7XG59XG5cbkBtaXhpbiBjYXJldC1sZWZ0IHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQoJGRpcmVjdGlvbjogZG93bikge1xuICBAaWYgJGVuYWJsZS1jYXJldCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmV0LXdpZHRoICogLjg1O1xuICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC13aWR0aCAqIC44NTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZG93bjtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZXQtd2lkdGggKiAuODU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtd2lkdGggKiAuODU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAucGFnZS1saW5rIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIH1cblxuICAucGFnZS1pdGVtIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTGlzdHNcblxuLy8gVW5zdHlsZWQga2VlcHMgbGlzdCBpdGVtcyBibG9jayBsZXZlbCwganVzdCByZW1vdmVzIGRlZmF1bHQgYnJvd3NlciBwYWRkaW5nIGFuZCBsaXN0LXN0eWxlXG5AbWl4aW4gbGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAmLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAkbmF2LWRpdmlkZXItY29sb3IsICRtYXJnaW4teTogJG5hdi1kaXZpZGVyLW1hcmdpbi15KSB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAkbWFyZ2luLXkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcbn1cbiIsIi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYCRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3JgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCkge1xuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWZvY3VzLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1mb2N1cy1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yKSB7XG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nLXkgJHRvb2x0aXAtcGFkZGluZy14O1xuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xuICAgIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICBjb2xvcjogY29sb3IteWlxKCRjb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICR0b29sdGlwLW9wYWNpdHkpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAuZm9ybS1jb250cm9sLFxuICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wtZmlsZSB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgMjUlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudC1iZyhsaWdodGVuKCRjb2xvciwgMTAlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYm9keS1iZywgMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gY3VzdG9tIGZpbGVcbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6OmFmdGVyIHsgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJixcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyIHtcbiAgICAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG5cbiAgICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSxcbiAgYnV0dG9uI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYmctZ3JhZGllbnQtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG4iLCJAbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG4gIH1cbn1cbiIsIi8vIEdyYWRpZW50c1xuXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yKSB7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14O1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4iLCJAbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbiIsIkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIC8vIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBhbGwgYnJlYWtwb2ludHNcbiAgJWdyaWQtY29sdW1uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4OyAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuICAgIHBhZGRpbmctbGVmdDogKCRndXR0ZXIgLyAyKTtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIC8vIEFsbG93IGNvbHVtbnMgdG8gc3RyZXRjaCBmdWxsIHdpZHRoIGJlbG93IHRoZWlyIGJyZWFrcG9pbnRzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgICB9XG4gICAgfVxuICAgIC5jb2wjeyRpbmZpeH0sXG4gICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiBub25lOyAvLyBSZXNldCBlYXJsaWVyIGdyaWQgdGllcnNcbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2UtY29udGFpbmVyKCkge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gbWFrZS1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1yb3coKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIpO1xuICBtYXJnaW4tbGVmdDogKCRncmlkLWd1dHRlci13aWR0aCAvIC0yKTtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7IC8vIFByZXZlbnQgY29sbGFwc2luZ1xuICBwYWRkaW5nLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gIHBhZGRpbmctbGVmdDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2woJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuICAvLyBBZGQgYSBgbWF4LXdpZHRoYCB0byBlbnN1cmUgY29udGVudCB3aXRoaW4gZWFjaCBjb2x1bW4gZG9lcyBub3QgYmxvdyBvdXRcbiAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXG4gIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06ICRzaXplIC8gJGNvbHVtbnM7XG4gIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBtaXhpbiBmbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cbkBtaXhpbiBmbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuQG1peGluIGZsb2F0LW5vbmUge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gTWl4aW5zXG4vL1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFJUTC9MVFJcblxuQG1peGluIGx0ci1vbmx5KCkge1xuICBAaWYgJHJ0bC1zdXBwb3J0IHtcbiAgICBodG1sOm5vdChbZGlyPXJ0bF0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHJ0bC1vbmx5KCkge1xuICBAaWYgJHJ0bC1zdXBwb3J0IHtcbiAgICBbZGlyPXJ0bF0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsdHItc3R5bGUoKSB7XG4gIEBpZiAkcnRsLXN1cHBvcnQge1xuICAgIGh0bWw6bm90KFtkaXI9cnRsXSkgJiB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBydGwtc3R5bGUoKSB7XG4gIEBpZiAkcnRsLXN1cHBvcnQge1xuICAgIFtkaXI9cnRsXSAmIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEtleWZyYW1lc1xuXG5AbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XG4gIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQC1tb3ota2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENhcmV0c1xuXG5AbWl4aW4gY2FyZXQtZG93biB7XG4gIG1hcmdpbi10b3A6IC0xICogKCRjYXJldC13aWR0aCAvIDEuNSk7XG4gIHdpZHRoOiAkY2FyZXQtd2lkdGg7XG4gIGhlaWdodDogJGNhcmV0LXdpZHRoO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuQG1peGluIGNhcmV0LXVwIHtcbiAgbWFyZ2luLXRvcDogLTA7XG4gIHdpZHRoOiAkY2FyZXQtd2lkdGg7XG4gIGhlaWdodDogJGNhcmV0LXdpZHRoO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG5cbkBtaXhpbiBjYXJldC1yaWdodCB7XG4gIG1hcmdpbi10b3A6IC0xICogKCRjYXJldC13aWR0aCAvIDIpO1xuICB3aWR0aDogJGNhcmV0LXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG5AbWl4aW4gY2FyZXQtbGVmdCB7XG4gIG1hcmdpbi10b3A6IC0xICogKCRjYXJldC13aWR0aCAvIDIpO1xuICB3aWR0aDogJGNhcmV0LXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFJlc3BvbnNpemUgbG9vcHNcblxuQG1peGluIHJlc3BvbnNpdmUtbG9vcC1iZWZvcmUoJHBhcmVudCwgJHN0YXJ0LWJyZWFrcG9pbnQ6IHNtKSB7XG4gICRjdXItYnJlYWtwb2ludDogJHN0YXJ0LWJyZWFrcG9pbnQ7XG5cbiAgQHdoaWxlICRjdXItYnJlYWtwb2ludCB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRjdXItYnJlYWtwb2ludCk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogKGJyZWFrcG9pbnQtbWluKCRjdXItYnJlYWtwb2ludCkgLSAxKSkge1xuICAgICAgI3skcGFyZW50fSN7JGluZml4fSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgICRjdXItYnJlYWtwb2ludDogYnJlYWtwb2ludC1uZXh0KCRjdXItYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuQG1peGluIHJlc3BvbnNpdmUtbG9vcC1hZnRlcigkcGFyZW50LCAkc3RhcnQtYnJlYWtwb2ludDogc20pIHtcbiAgJGN1ci1icmVha3BvaW50OiAkc3RhcnQtYnJlYWtwb2ludDtcblxuICBAd2hpbGUgJGN1ci1icmVha3BvaW50IHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGN1ci1icmVha3BvaW50KTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBicmVha3BvaW50LW1pbigkY3VyLWJyZWFrcG9pbnQpKSB7XG4gICAgICAjeyRwYXJlbnR9I3skaW5maXh9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGN1ci1icmVha3BvaW50OiBicmVha3BvaW50LW5leHQoJGN1ci1icmVha3BvaW50KTtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENvbG9yc1xuXG4vLyBDb250cmFzdFxuQG1peGluIGNvbG9yLXlpcSgkY29sb3IpIHtcbiAgY29sb3I6IHlpcSgkY29sb3IpO1xufVxuXG5AbWl4aW4gYmctY29sb3ItdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRydGgtY29sb3I6ICMwMDApIHtcbiAgI3skcGFyZW50fSB7IGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50OyB9XG4gIGEjeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuOTUpLCAkYmFja2dyb3VuZDogJHJ0aC1jb2xvcikgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJHJ0aC1jb2xvcjogIzAwMCkge1xuICBAaW5jbHVkZSBiZy1jb2xvci12YXJpYW50KCRwYXJlbnQsICRjb2xvcik7XG4gIEBpbmNsdWRlIGJnLWNvbG9yLXZhcmlhbnQoXCIjeyRwYXJlbnR9LWRhcmtcIiwgcmdiYS10by1oZXgocmdiYSgkY29sb3IsIC45KSwgJGJhY2tncm91bmQ6ICRydGgtY29sb3IpKTtcbiAgQGluY2x1ZGUgYmctY29sb3ItdmFyaWFudChcIiN7JHBhcmVudH0tZGFya2VyXCIsIHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuODUpLCAkYmFja2dyb3VuZDogJHJ0aC1jb2xvcikpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kOiBudWxsLCAkYm9yZGVyOiBudWxsLCAkYWN0aXZlLWJhY2tncm91bmQ6IG51bGwsICRhY3RpdmUtYm9yZGVyOiBudWxsKSB7fVxuXG5AbWl4aW4gYXBwd29yay1idXR0b24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsKSB7XG4gICRidG4tY29sb3JzOiBnZXQtYnRuLWNvbG9ycygkYmFja2dyb3VuZCwgaWYoJGJvcmRlciwgJGJvcmRlciwgJGJhY2tncm91bmQpKTtcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkYnRuLWNvbG9ycywgc2hhZG93KTtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkLFxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudH0gLmJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgY29sb3I6IHJnYmEtdG8taGV4KCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gICN7JHBhcmVudH06YWN0aXZlLFxuICAjeyRwYXJlbnR9LmFjdGl2ZSxcbiAgLnNob3cgPiAjeyRwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWFjdGl2ZSk7XG5cbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJ1dHRvbiBncm91cHNcbiAgLmJ0bi1ncm91cCAjeyRwYXJlbnR9LFxuICAuaW5wdXQtZ3JvdXAtcHJlcGVuZCAjeyRwYXJlbnR9LFxuICAuaW5wdXQtZ3JvdXAtYXBwZW5kICN7JHBhcmVudH0ge1xuICAgIGJvcmRlci1yaWdodDogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgbWFwLWdldCgkYnRuLWNvbG9ycywgYmctYWN0aXZlKTtcbiAgICBib3JkZXItbGVmdDogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgbWFwLWdldCgkYnRuLWNvbG9ycywgYmctYWN0aXZlKTtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1idXR0b24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkbWQtY29sb3I6ICRiYWNrZ3JvdW5kKSB7XG4gICRidG4tY29sb3JzOiBnZXQtbWF0ZXJpYWwtYnRuLWNvbG9ycygkYmFja2dyb3VuZCk7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIGJveC1zaGFkb3c6ICRidG4tYm94LXNoYWRvdztcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAkYnRuLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgI3skcGFyZW50fSAuYmFkZ2Uge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBjb2xvcjogcmdiYS10by1oZXgoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgI3skcGFyZW50fSAud2F2ZXMtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gI2ZmZiwgcmdiYSgkY29sb3IsIC4zKSwgcmdiYSgkY29sb3IsIC4yKSkgIWltcG9ydGFudDtcbiAgfVxuXG4gICN7JHBhcmVudH06YWN0aXZlLFxuICAjeyRwYXJlbnR9LmFjdGl2ZSxcbiAgLnNob3cgPiAjeyRwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctYWN0aXZlKTtcbiAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRmxhdCBidXR0b25zXG4gICN7JHBhcmVudH0ubWQtYnRuLWZsYXQge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRtZC1jb2xvciAhaW1wb3J0YW50O1xuXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJG1kLWNvbG9yLCAuMSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAud2F2ZXMtcmlwcGxlIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJG1kLWNvbG9yLCAuMykgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0OmFjdGl2ZSxcbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdC5hY3RpdmUsXG4gIC5zaG93ID4gI3skcGFyZW50fS5tZC1idG4tZmxhdC5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJG1kLWNvbG9yLCAuMTUpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBEaXNhYmxlZFxuXG4gICN7JHBhcmVudH0uZGlzYWJsZWQsXG4gICN7JHBhcmVudH06ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogJG1hdGVyaWFsLWNvbXBvbmVudC1zaGFkb3cgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cblxuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0LmRpc2FibGVkLFxuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogT3V0bGluZSBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvcjogbnVsbCwgJGNvbG9yLWhvdmVyOiBudWxsLCAkaG92ZXItY29sb3I6IG51bGwpIHt9XG5cbkBtaXhpbiBhcHB3b3JrLWJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaG92ZXItY29sb3I6IG51bGwpIHtcbiAgJGJ0bi1jb2xvcnM6IGdldC1idG4tY29sb3JzKCRjb2xvciwgJGNvbG9yKTtcbiAgJGNvbG9yLWhvdmVyOiBpZigkaG92ZXItY29sb3IsICRob3Zlci1jb2xvciwgeWlxKCRjb2xvcikpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcik7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuXG4gICAgICAuYmFkZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICAgIGNvbG9yOiBpZihhbHBoYSgkY29sb3IpID09IDEsICRjb2xvciwgeWlxKCRjb2xvci1ob3ZlcikpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiBtYXAtZ2V0KCRidG4tY29sb3JzLCBzaGFkb3cpO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQsXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAjeyRwYXJlbnR9IC5iYWRnZSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbiAgI3skcGFyZW50fTphY3RpdmUsXG4gICN7JHBhcmVudH0uYWN0aXZlLFxuICAuc2hvdyA+ICN7JHBhcmVudH0uZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcik7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG5cbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC5iYWRnZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBjb2xvcjogaWYoYWxwaGEoJGNvbG9yKSA9PSAxLCAkY29sb3IsIHlpcSgkY29sb3ItaG92ZXIpKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRob3Zlci1jb2xvcjogbnVsbCkge1xuICAkYnRuLWNvbG9yczogZ2V0LW1hdGVyaWFsLWJ0bi1jb2xvcnMoJGNvbG9yKTtcbiAgJGNvbG9yLWhvdmVyOiBpZigkaG92ZXItY29sb3IsICRob3Zlci1jb2xvciwgeWlxKCRjb2xvcikpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY29sb3IgaW5zZXQ7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgIGJveC1zaGFkb3c6ICRidG4tZm9jdXMtYm94LXNoYWRvdztcbiAgICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG5cbiAgICAgIC5iYWRnZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgICAgY29sb3I6IGlmKGFscGhhKCRjb2xvcikgPT0gMSwgJGNvbG9yLCB5aXEoJGNvbG9yLWhvdmVyKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNvbG9yIGluc2V0ICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgI3skcGFyZW50fSAuYmFkZ2Uge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gICN7JHBhcmVudH0gLndhdmVzLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZDogaWYoJGNvbG9yLWhvdmVyID09ICNmZmYsIHJnYmEoJGNvbG9yLWhvdmVyLCAuMyksIHJnYmEoJGNvbG9yLWhvdmVyLCAuMikpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAjeyRwYXJlbnR9OmFjdGl2ZSxcbiAgI3skcGFyZW50fS5hY3RpdmUsXG4gIC5zaG93ID4gI3skcGFyZW50fS5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWhvdmVyKTtcbiAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93O1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG5cbiAgICAuYmFkZ2Uge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgY29sb3I6IGlmKGFscGhhKCRjb2xvcikgPT0gMSwgJGNvbG9yLCB5aXEoJGNvbG9yLWhvdmVyKSk7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQmFkZ2VzXG5cbkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZykge31cblxuQG1peGluIGFwcHdvcmstYmFkZ2UtdmFyaWFudCgkcGFyZW50LCAkYmcsICRjb2xvcjogbnVsbCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJnKSk7XG4gIH1cblxuICAjeyRwYXJlbnR9W2hyZWZdIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpZihhbHBoYSgkYmcpID09IDEsIHJnYmEtdG8taGV4KHJnYmEoJGJnLCAuOTUpLCAjMDAwKSwgcmdiYSgkYmcsIGFscGhhKCRiZykgKyAuMDMpKTtcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiZykpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5idG4gI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJnKSkgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1iYWRnZS1vdXRsaW5lLXZhcmlhbnQoJHBhcmVudCwgJGJnLCAkY29sb3I6ICRiZykge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGJnIGluc2V0O1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAjeyRwYXJlbnR9W2hyZWZdIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5idG4gI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGJnIGluc2V0ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRHJvcGRvd25zXG5cbkBtaXhpbiBhcHB3b3JrLWRyb3Bkb3duLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICAjeyRwYXJlbnR9IC5kcm9wZG93bi1pdGVtOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgI3skcGFyZW50fSAuZHJvcGRvd24taXRlbTpub3QoLmRpc2FibGVkKTphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG4gIH1cblxuICAjeyRwYXJlbnR9LmRyb3Bkb3duLW1lbnUgPiBsaTpub3QoLmRpc2FibGVkKSA+IGE6bm90KC5kcm9wZG93bi1pdGVtKTphY3RpdmUsXG4gICN7JHBhcmVudH0uZHJvcGRvd24tbWVudSA+IGxpLmFjdGl2ZTpub3QoLmRpc2FibGVkKSA+IGE6bm90KC5kcm9wZG93bi1pdGVtKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1kcm9wZG93bi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gIEBpbmNsdWRlIGFwcHdvcmstZHJvcGRvd24tdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XG59XG5cbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWRyb3Bkb3duLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICAjeyRwYXJlbnR9IC5kcm9wZG93bi1pdGVtOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcbiAgfVxuXG4gICN7JHBhcmVudH0uZHJvcGRvd24tbWVudSA+IGxpLmFjdGl2ZTpub3QoLmRpc2FibGVkKSA+IGE6bm90KC5kcm9wZG93bi1pdGVtKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1kcm9wZG93bi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtZHJvcGRvd24tdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTmF2c1xuXG5AbWl4aW4gYXBwd29yay1uYXYtc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQpIHtcbiAgID4gLm5hdiAubmF2LWxpbmssXG4gICYubmF2IC5uYXYtbGluayB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLW5hdi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgJHBpbGxzLXNlbGVjdG9yOiBpZigkcGFyZW50ID09ICcnLCAnLm5hdi1waWxscycsICcjeyRwYXJlbnR9Lm5hdi1waWxscywgI3skcGFyZW50fSA+IC5uYXYtcGlsbHMnKTtcblxuICAjeyRwaWxscy1zZWxlY3Rvcn0gLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudH0udGFicy1hbHQubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSxcbiAgI3skcGFyZW50fS50YWJzLWFsdCA+IC5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAwIC0ycHggMCAkYmFja2dyb3VuZCBpbnNldDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstbmF2LXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgQGluY2x1ZGUgYXBwd29yay1uYXYtdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XG59XG5cbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLW5hdi12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGxpbmstY29sb3I6IG51bGwpIHtcbiAgJHRhYnMtc2VsZWN0b3I6IGlmKCRwYXJlbnQgPT0gJycsICcubmF2LXRhYnMnLCAnI3skcGFyZW50fS5uYXYtdGFicycpO1xuICAkcGlsbHMtc2VsZWN0b3I6IGlmKCRwYXJlbnQgPT0gJycsICcubmF2LXBpbGxzJywgJyN7JHBhcmVudH0ubmF2LXBpbGxzLCAjeyRwYXJlbnR9ID4gLm5hdi1waWxscycpO1xuXG4gICN7JHRhYnMtc2VsZWN0b3J9IC5uYXYtbGluayB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRjb2xvciwgJGNvbG9yKTtcbiAgfVxuXG4gICN7JHBpbGxzLXNlbGVjdG9yfSAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICBjb2xvcjogaWYoJGxpbmstY29sb3IsICRsaW5rLWNvbG9yLCB5aXEoJGNvbG9yKSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLW5hdi10aGVtZSgkY29sb3IsICRsaW5rLWNvbG9yOiBudWxsKSB7XG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtbmF2LXZhcmlhbnQoJycsICRjb2xvciwgJGxpbmstY29sb3IpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFBhZ2luYXRpb25cblxuQG1peGluIGFwcHdvcmstcGFnaW5hdGlvbi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgI3skcGFyZW50fSAucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rLFxuICAjeyRwYXJlbnR9LnBhZ2luYXRpb24gbGkuYWN0aXZlID4gYTpub3QoLnBhZ2UtbGluaykge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLXBhZ2luYXRpb24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLXBhZ2luYXRpb24tdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogUHJvZ3Jlc3MgYmFyc1xuXG5AbWl4aW4gYXBwd29yay1wcm9ncmVzcy1iYXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICAucHJvZ3Jlc3MtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTGlzdCBncm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZTogbnVsbCwgJGJhY2tncm91bmQ6IG51bGwsICRjb2xvcjogbnVsbCkge31cblxuQG1peGluIGFwcHdvcmstbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICAkYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC4xKSwgI2ZmZik7XG4gICRjb2xvcjogeWlxKCRiZyk7XG4gICRob3Zlci1iZzogcmdiYS10by1oZXgocmdiYSgkYmcsIC45OSksICMwMDApO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwuMDcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgYSN7JHBhcmVudH0sXG4gIGJ1dHRvbiN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmc7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLWxpc3QtZ3JvdXAtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLWxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCcubGlzdC1ncm91cC1pdGVtLXByaW1hcnknLCAkYmFja2dyb3VuZCk7XG5cbiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQWxlcnRzXG5cbkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kOiBudWxsLCAkYm9yZGVyOiBudWxsLCAkY29sb3I6IG51bGwpIHt9XG5cbkBtaXhpbiBhcHB3b3JrLWFsZXJ0LXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC4xNSksICNmZmYpO1xuICAkYm9yZGVyOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuOTQpLCAjMDAwKTtcbiAgJGNvbG9yOiB5aXEoJGJhY2tncm91bmQpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgaHIge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG5cbiAgICAuY2xvc2UsXG4gICAgLmFsZXJ0LWxpbmsge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstYWxlcnQtZGFyay12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIGhyIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoeWlxKCRiYWNrZ3JvdW5kKSwuMik7XG4gICAgfVxuXG4gICAgLmNsb3NlLFxuICAgIC5hbGVydC1saW5rIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVG9vbHRpcHNcblxuQG1peGluIGFwcHdvcmstdG9vbHRpcC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgLnRvb2x0aXAtaW5uZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuICAgIH1cblxuICAgICYuYnMtdG9vbHRpcC10b3AgLmFycm93OjpiZWZvcmUsICYuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cInRvcFwiXSAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci10b3AtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gICAgJi5icy10b29sdGlwLXJpZ2h0IC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJyaWdodFwiXSAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci1yaWdodC1jb2xvcjogJGJhY2tncm91bmQ7IH1cbiAgICAmLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJib3R0b21cIl0gLmFycm93OjpiZWZvcmUgeyBib3JkZXItYm90dG9tLWNvbG9yOiAkYmFja2dyb3VuZDsgfVxuICAgICYuYnMtdG9vbHRpcC1sZWZ0IC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdIC5hcnJvdzo6YmVmb3JlIHsgYm9yZGVyLWxlZnQtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBQb3BvdmVyc1xuXG5AbWl4aW4gYXBwd29yay1wb3BvdmVyLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gICAgLnBvcG92ZXItaGVhZGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSh5aXEoJGJhY2tncm91bmQpLC4yKTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICAucG9wb3Zlci1ib2R5IHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuXG4gICAgJi5icy1wb3BvdmVyLXRvcCAuYXJyb3c6OmFmdGVyLCAmLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJ0b3BcIl0gLmFycm93OjphZnRlciB7IGJvcmRlci10b3AtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gICAgJi5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvdzo6YWZ0ZXIsICYuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIC5hcnJvdzo6YWZ0ZXIgeyBib3JkZXItcmlnaHQtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gICAgJi5icy1wb3BvdmVyLWJvdHRvbSAuYXJyb3c6OmFmdGVyLCAmLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJib3R0b21cIl0gLmFycm93OjphZnRlciB7IGJvcmRlci1ib3R0b20tY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gICAgJi5icy1wb3BvdmVyLWxlZnQgLmFycm93OjphZnRlciwgJi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwibGVmdFwiXSAuYXJyb3c6OmFmdGVyIHsgYm9yZGVyLWxlZnQtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBGb3JtIGNvbnRyb2xzXG5cbkBtaXhpbiBhcHB3b3JrLWN1c3RvbS1zZWxlY3Qtc2l6ZSgkc2l6ZSwgJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KSB7XG4gIC5jdXN0b20tc2VsZWN0LSN7JHNpemV9LFxuICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gLmN1c3RvbS1zZWxlY3Qge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgKCRwYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkcGFkZGluZy14IGNlbnRlcjtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcblxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICAmLFxuICAgICAgJltzaXplPVwiMFwiXTpub3QoW211bHRpcGxlXSkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAkcGFkZGluZy14IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW3NpemU9XCIwXCJdOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCwgJGRlZmF1bHQtYmFja2dyb3VuZDogbnVsbCkge1xuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBAaWYgJGRlZmF1bHQtYmFja2dyb3VuZCB7XG4gICAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAgIC5jdXN0b20tY29udHJvbC1pbnB1dDphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAgICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRiYWNrZ3JvdW5kLCAuNCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAmLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xuICAgIH1cblxuICAgICYuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLWN1c3RvbS1jb250cm9sLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgQGluY2x1ZGUgYXBwd29yay1jdXN0b20tY29udHJvbC12YXJpYW50KCcuY3VzdG9tLWNvbnRyb2wnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtY3VzdG9tLWNvbnRyb2wtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkZGVmYXVsdC1iYWNrZ3JvdW5kOiBudWxsKSB7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIEBpZiAkZGVmYXVsdC1iYWNrZ3JvdW5kIHtcbiAgICAgIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuICAgICAgLmN1c3RvbS1jb250cm9sLWlucHV0OmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuICAgICYuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XG4gICAgfVxuXG4gICAgJi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRiYWNrZ3JvdW5kKSwgXCIjXCIsIFwiJTIzXCIpKTtcbiAgICB9XG5cbiAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmFja2dyb3VuZCwgLjE1KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtY3VzdG9tLWNvbnRyb2wtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJy5jdXN0b20tY29udHJvbCcsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZTogbnVsbCwgJGNvbG9yOiBudWxsKSB7fVxuXG5AbWl4aW4gYXBwd29yay1mb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IpIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgcGFkZGluZzogLjVyZW07XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IC4ycmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLC44KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wsXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkY29sb3IsLjI1KSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQsXG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgICAmOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGNvbG9yLCAuNCk7XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZywgJ19DT0xPUl8nLCB5aXEoJGNvbG9yKSksIFwiI1wiLCBcIiUyM1wiKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZywgJ19DT0xPUl8nLCB5aXEoJGNvbG9yKSksIFwiI1wiLCBcIiUyM1wiKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkY29sb3IsLjMpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvcikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBwYWRkaW5nOiAuNXJlbTtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogLjJyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsLjgpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLmZvcm0tY29udHJvbCxcbiAgLmN1c3RvbS1zZWxlY3Qge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwICRjb2xvciBpbnNldCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dCxcbiAgLmN1c3RvbS1jb250cm9sLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAgICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAuMTUpICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX06Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuICAgICYuaXMtI3skc3RhdGV9OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgeWlxKCRjb2xvcikpLCBcIiNcIiwgXCIlMjNcIikpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfTpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgJi5pcy0jeyRzdGF0ZX06Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xuICAgIH1cbiAgfVxuXG4gIC53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDojeyRzdGF0ZX0sXG4gIC5jdXN0b20tZmlsZS1pbnB1dC5pcy0jeyRzdGF0ZX0ge1xuICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAkY29sb3IgaW5zZXQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstY3VzdG9tLWZpbGUtaW5wdXQtdGhlbWUoJGNvbG9yKSB7XG4gIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1jdXN0b20tZmlsZS1pbnB1dC10aGVtZSgkY29sb3IpIHtcbiAgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAkY29sb3IgaW5zZXQ7XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtZm9ybS1jb250cm9sLXNpemUoJHNpemUsICRsaW5lLWhlaWdodCwgJHBhZGRpbmcteSwgJGdyb3VwLWJ0bi1mb250LXNpemU6IG51bGwpIHtcbiAgQGlmICRzaXplID09ICcnIHtcbiAgICAuZm9ybS1jb250cm9sLFxuICAgIC5jdXN0b20tc2VsZWN0LFxuICAgIC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgICAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRwYWRkaW5nLXl9IC0gMXB4KSAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC5mb3JtLWNvbnRyb2wtI3skc2l6ZX0sXG4gICAgLmN1c3RvbS1zZWxlY3QtI3skc2l6ZX0sXG4gICAgLmlucHV0LWdyb3VwLSN7JHNpemV9ID4gLmZvcm0tY29udHJvbCxcbiAgICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gPiAuY3VzdG9tLXNlbGVjdCxcbiAgICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gLmlucHV0LWdyb3VwLXRleHQge1xuICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skcGFkZGluZy15fSAtIDFweCkgIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwLSN7JHNpemV9ID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuICAgIC5pbnB1dC1ncm91cC0jeyRzaXplfSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JHBhZGRpbmcteX0gLSAxcHgpICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6ICRncm91cC1idG4tZm9udC1zaXplO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1mb3JtLWNvbnRyb2wtdGhlbWUoJGNvbG9yKSB7XG4gIC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gIC5jdXN0b20tc2VsZWN0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1mb3JtLWNvbnRyb2wtdGhlbWUoJGNvbG9yKSB7XG4gIC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gIC5jdXN0b20tc2VsZWN0OmZvY3VzIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAkY29sb3IgaW5zZXQ7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTd2l0Y2hlcnNcblxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItc2l6ZS1iYXNlKCR3aWR0aCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0LCAkaW5uZXItc3BhY2VyOiAkc3dpdGNoZXItaW5uZXItc3BhY2VyKSB7XG4gIHBhZGRpbmctbGVmdDogJHdpZHRoO1xuICBtaW4taGVpZ2h0OiAkaGVpZ2h0O1xuICBmb250LXNpemU6ICRkZXNjcmlwdGlvbi1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XG5cbiAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiAkZGVzY3JpcHRpb24tZm9udC1zaXplICogJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xuICAkZGVsdGE6IGlmKCRtYXRlcmlhbC1zdHlsZSwgcHgtdG8tcmVtKGNlaWwocmVtLXRvLXB4KCRoZWlnaHQgKiAuMTI1KSkpLCAwKTtcblxuICAuc3dpdGNoZXItYmxhbmsgLnN3aXRjaGVyLWluZGljYXRvciB7XG4gICAgdG9wOiAkZGVsdGEgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0IC0gKCRkZWx0YSAqIDIpO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlaWdodDtcblxuICAgIEBpZiAkbGluZS1oZWlnaHQtY29tcHV0ZWQgPiAkaGVpZ2h0IHtcbiAgICAgIHRvcDogKCgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLSAkaGVpZ2h0KSAvIDIpICsgJGRlbHRhO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdG9wOiAwICsgJGRlbHRhO1xuICAgIH1cbiAgfVxuXG4gIC5zd2l0Y2hlci1sYWJlbCB7XG4gICAgQGlmICRsaW5lLWhlaWdodC1jb21wdXRlZCA8ICRoZWlnaHQge1xuICAgICAgdG9wOiAoJGhlaWdodCAtICRsaW5lLWhlaWdodC1jb21wdXRlZCkgLyAyO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvcjo6YWZ0ZXIge1xuICAgIGxlZnQ6ICR3aWR0aCAtICRoZWlnaHQ7XG4gIH1cblxuICAuc3dpdGNoZXItaW5kaWNhdG9yOjphZnRlciB7XG4gICAgdG9wOiAkZGVsdGEgKiAtMTtcbiAgICBtYXJnaW46ICRpbm5lci1zcGFjZXIgMCAwICRpbm5lci1zcGFjZXI7XG4gICAgd2lkdGg6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyICogMjtcbiAgICBoZWlnaHQ6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyICogMjtcbiAgfVxuXG4gIC5zd2l0Y2hlci1ubyB7XG4gICAgcGFkZGluZy1yaWdodDogJGlubmVyLXNwYWNlcjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyO1xuICB9XG5cbiAgLnN3aXRjaGVyLXllcyB7XG4gICAgcGFkZGluZy1yaWdodDogJGhlaWdodCAtICRpbm5lci1zcGFjZXI7XG4gICAgcGFkZGluZy1sZWZ0OiAkaW5uZXItc3BhY2VyO1xuICB9XG5cbiAgQGlmICRtYXRlcmlhbC1zdHlsZSB7XG4gICAgLnN3aXRjaGVyLWluZGljYXRvcjo6YmVmb3JlIHtcbiAgICAgIHRvcDogJGRlbHRhICogLTE7XG4gICAgICB3aWR0aDogJGhlaWdodDtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG5cbiAgICAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3I6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAkd2lkdGggLSAkaGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcnRsLXN1cHBvcnQge1xuICAgIFtkaXI9cnRsXSAmIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICR3aWR0aDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3I6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAkd2lkdGggLSAkaGVpZ2h0O1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItaW5kaWNhdG9yOjphZnRlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRpbm5lci1zcGFjZXI7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItbm8ge1xuICAgICAgcGFkZGluZy1yaWdodDogJGhlaWdodCAtICRpbm5lci1zcGFjZXI7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRpbm5lci1zcGFjZXI7XG4gICAgfVxuXG4gICAgW2Rpcj1ydGxdICYgLnN3aXRjaGVyLXllcyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5uZXItc3BhY2VyO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlcjtcbiAgICB9XG5cbiAgICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgICAgIFtkaXI9cnRsXSAmIC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvcjo6YmVmb3JlIHtcbiAgICAgICAgcmlnaHQ6ICR3aWR0aCAtICRoZWlnaHQ7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLXN3aXRjaGVyLXNpemUoJHNpemUsICR3aWR0aCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0LCAkaW5uZXItc3BhY2VyOiAkc3dpdGNoZXItaW5uZXItc3BhY2VyKSB7XG4gIC5zd2l0Y2hlci0jeyRzaXplfSxcbiAgLmZvcm0tZ3JvdXAtI3skc2l6ZX0gLnN3aXRjaGVyIHtcbiAgICBAaW5jbHVkZSBhcHB3b3JrLXN3aXRjaGVyLXNpemUtYmFzZSgkd2lkdGgsICRoZWlnaHQsICRmb250LXNpemUsICRkZXNjcmlwdGlvbi1mb250LXNpemUsICRkZXNjcmlwdGlvbi1saW5lLWhlaWdodCwgJGlubmVyLXNwYWNlcik7XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICRzZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJycsICcjeyRwYXJlbnR9LnN3aXRjaGVyJyk7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuXG4gICN7JHNlbGVjdG9yfSAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0gLnN3aXRjaGVyLWlucHV0OmZvY3VzIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkYmFja2dyb3VuZCwgLjQpO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IC5zd2l0Y2hlci1pbnB1dDphY3RpdmUgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLXN3aXRjaGVyLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1zd2l0Y2hlci12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kKSB7XG4gICRzZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJycsICcjeyRwYXJlbnR9LnN3aXRjaGVyJyk7XG5cbiAgI3skc2VsZWN0b3J9IC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkYmFja2dyb3VuZCwgLjUpO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJhY2tncm91bmQsIC4xNSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLXN3aXRjaGVyLXRoZW1lKCRiYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtc3dpdGNoZXItdmFyaWFudCgnJywgJGJhY2tncm91bmQpO1xufVxuXG5AbWl4aW4gYXBwd29yay1zd2l0Y2hlci12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yKSB7XG4gIC5zd2l0Y2hlci1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgJjpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogeWlxKCRjb2xvcikgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRjb2xvciwgLjQpICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICY6YWN0aXZlIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgfiAuc3dpdGNoZXItbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLXN3aXRjaGVyLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IpIHtcbiAgLnN3aXRjaGVyLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgLjUpICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAuMTUpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgfiAuc3dpdGNoZXItbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7fVxuXG5AbWl4aW4gYXBwd29yay10YWJsZS1yb3ctdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCkge1xuICAkYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC4xKSwgI2ZmZik7XG4gICRjb2xvcjogeWlxKCRiZyk7XG4gICRob3Zlci1iZzogcmdiYS10by1oZXgocmdiYSgkYmcsIC45OSksICMwMDApO1xuXG4gIC50YWJsZSAjeyRwYXJlbnR9LFxuICAudGFibGUgI3skcGFyZW50fSA+IHRoLFxuICAudGFibGUgI3skcGFyZW50fSA+IHRkIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjAzNSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAudGFibGUtaG92ZXIgI3skcGFyZW50fTpob3ZlcixcbiAgLnRhYmxlLWhvdmVyICN7JHBhcmVudH06aG92ZXIgPiB0ZCxcbiAgLnRhYmxlLWhvdmVyICN7JHBhcmVudH06aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJnO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTmF2YmFyXG5cbkBtaXhpbiBhcHB3b3JrLW5hdmJhci12YXJpYW50KCRwYXJlbnQsICRiZywgJGNvbG9yOiBudWxsLCAkYWN0aXZlLWNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsKSB7XG4gICRjb2xvcnM6IGdldC1uYXYtY29sb3JzKCRiZywgJGFjdGl2ZS1jb2xvciwgJGNvbG9yLCAkYm9yZGVyKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJnKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgIC5uYXZiYXItYnJhbmQge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXItbmF2IHtcbiAgICAgIC5uYXYtbGluayB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGRpc2FibGVkLWNvbG9yKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zaG93ID4gLm5hdi1saW5rLFxuICAgICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAgIC5uYXYtbGluay5zaG93LFxuICAgICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5hdmJhci10b2dnbGVyIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBib3JkZXIpO1xuICAgIH1cblxuICAgIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKSA9PSAjZmZmLCAkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnLCAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZyk7XG4gICAgfVxuXG4gICAgLm5hdmJhci10ZXh0IHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG5cbiAgICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBociB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTaWRlbmF2XG5cbkBtaXhpbiBhcHB3b3JrLXNpZGVuYXYtdmFyaWFudCgkcGFyZW50LCAkYmcsICRjb2xvcjogbnVsbCwgJGFjdGl2ZS1jb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCwgJG1lbnUtYmc6IG51bGwpIHtcbiAgJGNvbG9yczogZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yLCAkY29sb3IsICRib3JkZXIpO1xuICAkeWlxLXBlcmNlbnQ6IG1hcC1nZXQoJGNvbG9ycywgeWlxLXBlcmNlbnQpO1xuXG4gIEBpZiBub3QgJG1lbnUtYmcge1xuICAgICRtZW51LWJnOiByZ2JhLXRvLWhleChyZ2JhKG1hcC1nZXQoJGNvbG9ycywgYmcpLCAxIC0gaWYoJHlpcS1wZXJjZW50ID4gLjc1LCAuMDI1LCAuMDUpKSwgaWYoJHlpcS1wZXJjZW50IDwgLjI1LCAjZmZmLCAjMDAwKSk7XG4gIH1cblxuICAkbWVudS1hY3RpdmUtYmc6IHJnYmEtdG8taGV4KHJnYmEoJG1lbnUtYmcsIDEgLSBpZigkeWlxLXBlcmNlbnQgPiAuNzUsIC4wMjUsIC4wNSkpLCBpZigkeWlxLXBlcmNlbnQgPCAuMjUsICNmZmYsICMwMDApKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJnKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgIC5zaWRlbmF2LWxpbmssXG4gICAgLnNpZGVuYXYtaG9yaXpvbnRhbC1wcmV2LFxuICAgIC5zaWRlbmF2LWhvcml6b250YWwtbmV4dCB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaWRlbmF2LWl0ZW0uZGlzYWJsZWQgLnNpZGVuYXYtbGluayxcbiAgICAuc2lkZW5hdi1ob3Jpem9udGFsLXByZXYuZGlzYWJsZWQsXG4gICAgLnNpZGVuYXYtaG9yaXpvbnRhbC1uZXh0LmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGRpc2FibGVkLWNvbG9yKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaWRlbmF2LWl0ZW0ub3Blbjpub3QoLnNpZGVuYXYtaXRlbS1jbG9zaW5nKSA+IC5zaWRlbmF2LXRvZ2dsZSxcbiAgICAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbmsge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcbiAgICB9XG5cbiAgICAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbms6bm90KC5zaWRlbmF2LXRvZ2dsZSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lbnUtYmc7XG4gICAgfVxuXG4gICAgJi5zaWRlbmF2LWhvcml6b250YWwgLnNpZGVuYXYtbWVudSA+IC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazpub3QoLnNpZGVuYXYtdG9nZ2xlKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVudS1hY3RpdmUtYmc7XG4gICAgfVxuXG4gICAgJi5zaWRlbmF2LWhvcml6b250YWwgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtOm5vdCguc2lkZW5hdi1pdGVtLWNsb3NpbmcpID4gLnNpZGVuYXYtbWVudSxcbiAgICAmLnNpZGVuYXYtaG9yaXpvbnRhbCAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWVudS1iZztcbiAgICB9XG5cbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0uc2lkZW5hdi1pdGVtLWNsb3NpbmcgLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LW1lbnUsXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLnNpZGVuYXYtaXRlbS1jbG9zaW5nIC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi10b2dnbGUge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XG4gICAgfVxuXG4gICAgLnNpZGVuYXYtdGV4dCB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgIH1cblxuICAgIC5zaWRlbmF2LWhlYWRlciB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBtdXRlZC1jb2xvcik7XG4gICAgfVxuXG4gICAgaHIsXG4gICAgLnNpZGVuYXYtZGl2aWRlcixcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LW1lbnU6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaGVhZGVyOjpiZWZvcmUsXG4gICAgLnNpZGVuYXYtYmxvY2s6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcik7XG4gICAgfVxuXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtdG9nZ2xlOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYS10by1oZXgobWFwLWdldCgkY29sb3JzLCBib3JkZXIpLCAkbWVudS1iZyk7XG4gICAgfVxuXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgIH1cblxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZTo6YmVmb3JlLFxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazo6YmVmb3JlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAkbWVudS1iZztcbiAgICB9XG5cbiAgICAucHNfX3RodW1iLXksXG4gICAgLnBzX19yYWlsLXkucHMtLWNsaWNraW5nID4gLnBzX190aHVtYi15IHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEobWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpLCBpZigkeWlxLXBlcmNlbnQgPiAuNzUsIG1hcC1nZXQoJGNvbG9ycywgb3BhY2l0eSkgLSAuNCwgbWFwLWdldCgkY29sb3JzLCBvcGFjaXR5KSAtIC4yKSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBGb290ZXJcblxuQG1peGluIGFwcHdvcmstZm9vdGVyLXZhcmlhbnQoJHBhcmVudCwgJGJnLCAkY29sb3I6IG51bGwsICRhY3RpdmUtY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwpIHtcbiAgJGNvbG9yczogZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yLCAkY29sb3IsICRib3JkZXIpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmcpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xuXG4gICAgLmZvb3Rlci1saW5rIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgZGlzYWJsZWQtY29sb3IpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlci10ZXh0IHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG4gICAgfVxuXG4gICAgLnNob3cgPiAuZm9vdGVyLWxpbmssXG4gICAgLmFjdGl2ZSA+IC5mb290ZXItbGluayxcbiAgICAuZm9vdGVyLWxpbmsuc2hvdyxcbiAgICAuZm9vdGVyLWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG4gICAgfVxuXG4gICAgaHIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcik7XG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFnQktFLEFBQUEsYUFBYSxDQUFGO0VBQ1QsS0FBSyxFaEJBRSxPQUFPLENnQkFBLFVBQVUsR0FDekI7O0FBQ0QsQVBRQSxDT1JDLEFBQUEsYUFBYSxBUFE1RyxNQUFxRyxFT1JQLEFQU0EsQ09UQyxBQUFBLGFBQWEsQVBTNUcsTUFBcUcsQ0FBQztFT1BKLEtBQUssRUFBRSxPQUFtQixDQUFDLFVBQVUsR1BTeEM7O0E2QjZIRCxBQUFBLFdBQVcsQ0FBQTtFQUFFLGdCQUFnQixFdEMxSXBCLE9BQU8sQ3NDMElzQixVQUFVLEdBQUk7O0FBQ3BELEE3QmpJQSxDNkJpSUMsQUFBQSxXQUFXLEE3QmpJMUcsTUFBcUcsRTZCaUlQLEE3QmhJQSxDNkJnSUMsQUFBQSxXQUFXLEE3QmhJMUcsTUFBcUcsQ0FBQztFNkJpSWlCLGdCQUFnQixFbkNWL0IsT0FBbUMsQ21DVXNELFVBQVUsRzdCL0g1Rzs7QTZCNkhELEFBQUEsZ0JBQWdCLENBQUw7RUFBRSxnQkFBZ0IsRW5DUm5CLE9BQW1DLENtQ1FQLFVBQVUsR0FBSTs7QUFDcEQsQTdCaklBLEM2QmlJQyxBQUFBLGdCQUFnQixBN0JqSS9HLE1BQXFHLEU2QmlJUCxBN0JoSUEsQzZCZ0lDLEFBQUEsZ0JBQWdCLEE3QmhJL0csTUFBcUcsQ0FBQztFNkJpSWlCLGdCQUFnQixFbkNWL0Is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 */

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlbmRvci9jc3MvY29sb3JzLmNzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX21peGlucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2Z1bmN0aW9ucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fdmFyaWFibGVzLnNjc3MiLCJ2ZW5kb3IvY3NzL2NvbG9ycy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtFO0VDMklBLDBCQUFXLEVBQUU7O0FBRVk7RUFBQSwwQkMvSHhCLEVENkhZOztBQW1FYjtFQUFBLHFDQUFnQyxFQUFBOztBQWpFUDtFRVZmLHFDQUFtQyxFRlFoQzs7QUFtRWI7RUFBQSxxQ0FBZ0MsRUFBQTs7QUFqRVA7RUVWZixxQ0FBbUMsRUZRaEM7O0FBbUViO0VBQUEscUNBQWdDLEVBQUE7O0FBakVQO0VFVmYscUNBQW1DLEVGUWhDOztBRHFCYjtFQUNFLDBCQ0RGO0VBcUtBLG9CQTFMVztFQTJMVCxZQU5jLEVEeElmO0VDN0NEO0lBZ01BLDBCQTNLQTtJQTRLSyxvQkE3SWE7SUE4SWhCLFlBYmMsRUFyTEw7RURxQlg7SUMyS0Esc0RBaE1XO1lBZ01YLDhDQWhNVyxFQWlNWDtFRDVLQTtJSWhLQSxxQ0FBVztJQUNULCtCQUNEO0lKbUxHLG9DQUEyQjtZQUEzQiw0QkFBMkI7SUlsTDlCLHVCQUFBLEVBRUc7O0FIc0lTO0VEZ0RYLGlCQ3FJYztFQXBMZixlQURVLEVBRWM7O0FBRnpCOzs7RUFDQywwQkFvQkQ7RUFuQnlCLG9CQWtEUDtFQW5EakIseUJDakkvRjtVRGlJK0YsaUJDakkvRixFRitMK0Y7O0FDeENDOzs7RUFLRSxnQ0F3QmM7RUF2QmQsK0JBdUJjLEVEbUJqQjs7QUNqREM7RUFDQSxzQkF2QlM7RUF3QlQsd0JB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RUEwcENwQjs7QUQwaUJGLHM1aFRBQXM1aFQiLCJmaWxlIjoidmVuZG9yL2Nzcy9jb2xvcnMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFR5cG9ncmFwaHlcblxuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gTWl4aW5zXG4vL1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFJUTC9MVFJcblxuQG1peGluIGx0ci1vbmx5KCkge1xuICBAaWYgJHJ0bC1zdXBwb3J0IHtcbiAgICBodG1sOm5vdChbZGlyPXJ0bF0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHJ0bC1vbmx5KCkge1xuICBAaWYgJHJ0bC1zdXBwb3J0IHtcbiAgICBbZGlyPXJ0bF0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsdHItc3R5bGUoKSB7XG4gIEBpZiAkcnRsLXN1cHBvcnQge1xuICAgIGh0bWw6bm90KFtkaXI9cnRsXSkgJiB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBydGwtc3R5bGUoKSB7XG4gIEBpZiAkcnRsLXN1cHBvcnQge1xuICAgIFtkaXI9cnRsXSAmIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEtleWZyYW1lc1xuXG5AbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XG4gIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQC1tb3ota2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENhcmV0c1xuXG5AbWl4aW4gY2FyZXQtZG93biB7XG4gIG1hcmdpbi10b3A6IC0xICogKCRjYXJldC13aWR0aCAvIDEuNSk7XG4gIHdpZHRoOiAkY2FyZXQtd2lkdGg7XG4gIGhlaWdodDogJGNhcmV0LXdpZHRoO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuQG1peGluIGNhcmV0LXVwIHtcbiAgbWFyZ2luLXRvcDogLTA7XG4gIHdpZHRoOiAkY2FyZXQtd2lkdGg7XG4gIGhlaWdodDogJGNhcmV0LXdpZHRoO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG5cbkBtaXhpbiBjYXJldC1yaWdodCB7XG4gIG1hcmdpbi10b3A6IC0xICogKCRjYXJldC13aWR0aCAvIDIpO1xuICB3aWR0aDogJGNhcmV0LXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG5AbWl4aW4gY2FyZXQtbGVmdCB7XG4gIG1hcmdpbi10b3A6IC0xICogKCRjYXJldC13aWR0aCAvIDIpO1xuICB3aWR0aDogJGNhcmV0LXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFJlc3BvbnNpemUgbG9vcHNcblxuQG1peGluIHJlc3BvbnNpdmUtbG9vcC1iZWZvcmUoJHBhcmVudCwgJHN0YXJ0LWJyZWFrcG9pbnQ6IHNtKSB7XG4gICRjdXItYnJlYWtwb2ludDogJHN0YXJ0LWJyZWFrcG9pbnQ7XG5cbiAgQHdoaWxlICRjdXItYnJlYWtwb2ludCB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRjdXItYnJlYWtwb2ludCk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogKGJyZWFrcG9pbnQtbWluKCRjdXItYnJlYWtwb2ludCkgLSAxKSkge1xuICAgICAgI3skcGFyZW50fSN7JGluZml4fSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgICRjdXItYnJlYWtwb2ludDogYnJlYWtwb2ludC1uZXh0KCRjdXItYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuQG1peGluIHJlc3BvbnNpdmUtbG9vcC1hZnRlcigkcGFyZW50LCAkc3RhcnQtYnJlYWtwb2ludDogc20pIHtcbiAgJGN1ci1icmVha3BvaW50OiAkc3RhcnQtYnJlYWtwb2ludDtcblxuICBAd2hpbGUgJGN1ci1icmVha3BvaW50IHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGN1ci1icmVha3BvaW50KTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBicmVha3BvaW50LW1pbigkY3VyLWJyZWFrcG9pbnQpKSB7XG4gICAgICAjeyRwYXJlbnR9I3skaW5maXh9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGN1ci1icmVha3BvaW50OiBicmVha3BvaW50LW5leHQoJGN1ci1icmVha3BvaW50KTtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENvbG9yc1xuXG4vLyBDb250cmFzdFxuQG1peGluIGNvbG9yLXlpcSgkY29sb3IpIHtcbiAgY29sb3I6IHlpcSgkY29sb3IpO1xufVxuXG5AbWl4aW4gYmctY29sb3ItdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRydGgtY29sb3I6ICMwMDApIHtcbiAgI3skcGFyZW50fSB7IGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50OyB9XG4gIGEjeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuOTUpLCAkYmFja2dyb3VuZDogJHJ0aC1jb2xvcikgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJHJ0aC1jb2xvcjogIzAwMCkge1xuICBAaW5jbHVkZSBiZy1jb2xvci12YXJpYW50KCRwYXJlbnQsICRjb2xvcik7XG4gIEBpbmNsdWRlIGJnLWNvbG9yLXZhcmlhbnQoXCIjeyRwYXJlbnR9LWRhcmtcIiwgcmdiYS10by1oZXgocmdiYSgkY29sb3IsIC45KSwgJGJhY2tncm91bmQ6ICRydGgtY29sb3IpKTtcbiAgQGluY2x1ZGUgYmctY29sb3ItdmFyaWFudChcIiN7JHBhcmVudH0tZGFya2VyXCIsIHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuODUpLCAkYmFja2dyb3VuZDogJHJ0aC1jb2xvcikpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kOiBudWxsLCAkYm9yZGVyOiBudWxsLCAkYWN0aXZlLWJhY2tncm91bmQ6IG51bGwsICRhY3RpdmUtYm9yZGVyOiBudWxsKSB7fVxuXG5AbWl4aW4gYXBwd29yay1idXR0b24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsKSB7XG4gICRidG4tY29sb3JzOiBnZXQtYnRuLWNvbG9ycygkYmFja2dyb3VuZCwgaWYoJGJvcmRlciwgJGJvcmRlciwgJGJhY2tncm91bmQpKTtcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkYnRuLWNvbG9ycywgc2hhZG93KTtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkLFxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudH0gLmJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgY29sb3I6IHJnYmEtdG8taGV4KCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gICN7JHBhcmVudH06YWN0aXZlLFxuICAjeyRwYXJlbnR9LmFjdGl2ZSxcbiAgLnNob3cgPiAjeyRwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWFjdGl2ZSk7XG5cbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJ1dHRvbiBncm91cHNcbiAgLmJ0bi1ncm91cCAjeyRwYXJlbnR9LFxuICAuaW5wdXQtZ3JvdXAtcHJlcGVuZCAjeyRwYXJlbnR9LFxuICAuaW5wdXQtZ3JvdXAtYXBwZW5kICN7JHBhcmVudH0ge1xuICAgIGJvcmRlci1yaWdodDogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgbWFwLWdldCgkYnRuLWNvbG9ycywgYmctYWN0aXZlKTtcbiAgICBib3JkZXItbGVmdDogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgbWFwLWdldCgkYnRuLWNvbG9ycywgYmctYWN0aXZlKTtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1idXR0b24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkbWQtY29sb3I6ICRiYWNrZ3JvdW5kKSB7XG4gICRidG4tY29sb3JzOiBnZXQtbWF0ZXJpYWwtYnRuLWNvbG9ycygkYmFja2dyb3VuZCk7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIGJveC1zaGFkb3c6ICRidG4tYm94LXNoYWRvdztcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAkYnRuLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgI3skcGFyZW50fSAuYmFkZ2Uge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBjb2xvcjogcmdiYS10by1oZXgoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgI3skcGFyZW50fSAud2F2ZXMtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gI2ZmZiwgcmdiYSgkY29sb3IsIC4zKSwgcmdiYSgkY29sb3IsIC4yKSkgIWltcG9ydGFudDtcbiAgfVxuXG4gICN7JHBhcmVudH06YWN0aXZlLFxuICAjeyRwYXJlbnR9LmFjdGl2ZSxcbiAgLnNob3cgPiAjeyRwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctYWN0aXZlKTtcbiAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRmxhdCBidXR0b25zXG4gICN7JHBhcmVudH0ubWQtYnRuLWZsYXQge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRtZC1jb2xvciAhaW1wb3J0YW50O1xuXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJG1kLWNvbG9yLCAuMSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAud2F2ZXMtcmlwcGxlIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJG1kLWNvbG9yLCAuMykgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0OmFjdGl2ZSxcbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdC5hY3RpdmUsXG4gIC5zaG93ID4gI3skcGFyZW50fS5tZC1idG4tZmxhdC5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJG1kLWNvbG9yLCAuMTUpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBEaXNhYmxlZFxuXG4gICN7JHBhcmVudH0uZGlzYWJsZWQsXG4gICN7JHBhcmVudH06ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogJG1hdGVyaWFsLWNvbXBvbmVudC1zaGFkb3cgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cblxuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0LmRpc2FibGVkLFxuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogT3V0bGluZSBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvcjogbnVsbCwgJGNvbG9yLWhvdmVyOiBudWxsLCAkaG92ZXItY29sb3I6IG51bGwpIHt9XG5cbkBtaXhpbiBhcHB3b3JrLWJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaG92ZXItY29sb3I6IG51bGwpIHtcbiAgJGJ0bi1jb2xvcnM6IGdldC1idG4tY29sb3JzKCRjb2xvciwgJGNvbG9yKTtcbiAgJGNvbG9yLWhvdmVyOiBpZigkaG92ZXItY29sb3IsICRob3Zlci1jb2xvciwgeWlxKCRjb2xvcikpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcik7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuXG4gICAgICAuYmFkZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICAgIGNvbG9yOiBpZihhbHBoYSgkY29sb3IpID09IDEsICRjb2xvciwgeWlxKCRjb2xvci1ob3ZlcikpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiBtYXAtZ2V0KCRidG4tY29sb3JzLCBzaGFkb3cpO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQsXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAjeyRwYXJlbnR9IC5iYWRnZSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbiAgI3skcGFyZW50fTphY3RpdmUsXG4gICN7JHBhcmVudH0uYWN0aXZlLFxuICAuc2hvdyA+ICN7JHBhcmVudH0uZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcik7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG5cbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC5iYWRnZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBjb2xvcjogaWYoYWxwaGEoJGNvbG9yKSA9PSAxLCAkY29sb3IsIHlpcSgkY29sb3ItaG92ZXIpKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRob3Zlci1jb2xvcjogbnVsbCkge1xuICAkYnRuLWNvbG9yczogZ2V0LW1hdGVyaWFsLWJ0bi1jb2xvcnMoJGNvbG9yKTtcbiAgJGNvbG9yLWhvdmVyOiBpZigkaG92ZXItY29sb3IsICRob3Zlci1jb2xvciwgeWlxKCRjb2xvcikpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY29sb3IgaW5zZXQ7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgIGJveC1zaGFkb3c6ICRidG4tZm9jdXMtYm94LXNoYWRvdztcbiAgICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG5cbiAgICAgIC5iYWRnZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgICAgY29sb3I6IGlmKGFscGhhKCRjb2xvcikgPT0gMSwgJGNvbG9yLCB5aXEoJGNvbG9yLWhvdmVyKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNvbG9yIGluc2V0ICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgI3skcGFyZW50fSAuYmFkZ2Uge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gICN7JHBhcmVudH0gLndhdmVzLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZDogaWYoJGNvbG9yLWhvdmVyID09ICNmZmYsIHJnYmEoJGNvbG9yLWhvdmVyLCAuMyksIHJnYmEoJGNvbG9yLWhvdmVyLCAuMikpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAjeyRwYXJlbnR9OmFjdGl2ZSxcbiAgI3skcGFyZW50fS5hY3RpdmUsXG4gIC5zaG93ID4gI3skcGFyZW50fS5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWhvdmVyKTtcbiAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93O1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG5cbiAgICAuYmFkZ2Uge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgY29sb3I6IGlmKGFscGhhKCRjb2xvcikgPT0gMSwgJGNvbG9yLCB5aXEoJGNvbG9yLWhvdmVyKSk7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQmFkZ2VzXG5cbkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZykge31cblxuQG1peGluIGFwcHdvcmstYmFkZ2UtdmFyaWFudCgkcGFyZW50LCAkYmcsICRjb2xvcjogbnVsbCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJnKSk7XG4gIH1cblxuICAjeyRwYXJlbnR9W2hyZWZdIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpZihhbHBoYSgkYmcpID09IDEsIHJnYmEtdG8taGV4KHJnYmEoJGJnLCAuOTUpLCAjMDAwKSwgcmdiYSgkYmcsIGFscGhhKCRiZykgKyAuMDMpKTtcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiZykpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5idG4gI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJnKSkgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1iYWRnZS1vdXRsaW5lLXZhcmlhbnQoJHBhcmVudCwgJGJnLCAkY29sb3I6ICRiZykge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGJnIGluc2V0O1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAjeyRwYXJlbnR9W2hyZWZdIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5idG4gI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGJnIGluc2V0ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRHJvcGRvd25zXG5cbkBtaXhpbiBhcHB3b3JrLWRyb3Bkb3duLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICAjeyRwYXJlbnR9IC5kcm9wZG93bi1pdGVtOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgI3skcGFyZW50fSAuZHJvcGRvd24taXRlbTpub3QoLmRpc2FibGVkKTphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG4gIH1cblxuICAjeyRwYXJlbnR9LmRyb3Bkb3duLW1lbnUgPiBsaTpub3QoLmRpc2FibGVkKSA+IGE6bm90KC5kcm9wZG93bi1pdGVtKTphY3RpdmUsXG4gICN7JHBhcmVudH0uZHJvcGRvd24tbWVudSA+IGxpLmFjdGl2ZTpub3QoLmRpc2FibGVkKSA+IGE6bm90KC5kcm9wZG93bi1pdGVtKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1kcm9wZG93bi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gIEBpbmNsdWRlIGFwcHdvcmstZHJvcGRvd24tdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XG59XG5cbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWRyb3Bkb3duLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICAjeyRwYXJlbnR9IC5kcm9wZG93bi1pdGVtOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcbiAgfVxuXG4gICN7JHBhcmVudH0uZHJvcGRvd24tbWVudSA+IGxpLmFjdGl2ZTpub3QoLmRpc2FibGVkKSA+IGE6bm90KC5kcm9wZG93bi1pdGVtKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1kcm9wZG93bi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtZHJvcGRvd24tdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTmF2c1xuXG5AbWl4aW4gYXBwd29yay1uYXYtc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQpIHtcbiAgID4gLm5hdiAubmF2LWxpbmssXG4gICYubmF2IC5uYXYtbGluayB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLW5hdi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgJHBpbGxzLXNlbGVjdG9yOiBpZigkcGFyZW50ID09ICcnLCAnLm5hdi1waWxscycsICcjeyRwYXJlbnR9Lm5hdi1waWxscywgI3skcGFyZW50fSA+IC5uYXYtcGlsbHMnKTtcblxuICAjeyRwaWxscy1zZWxlY3Rvcn0gLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudH0udGFicy1hbHQubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSxcbiAgI3skcGFyZW50fS50YWJzLWFsdCA+IC5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAwIC0ycHggMCAkYmFja2dyb3VuZCBpbnNldDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstbmF2LXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgQGluY2x1ZGUgYXBwd29yay1uYXYtdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XG59XG5cbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLW5hdi12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGxpbmstY29sb3I6IG51bGwpIHtcbiAgJHRhYnMtc2VsZWN0b3I6IGlmKCRwYXJlbnQgPT0gJycsICcubmF2LXRhYnMnLCAnI3skcGFyZW50fS5uYXYtdGFicycpO1xuICAkcGlsbHMtc2VsZWN0b3I6IGlmKCRwYXJlbnQgPT0gJycsICcubmF2LXBpbGxzJywgJyN7JHBhcmVudH0ubmF2LXBpbGxzLCAjeyRwYXJlbnR9ID4gLm5hdi1waWxscycpO1xuXG4gICN7JHRhYnMtc2VsZWN0b3J9IC5uYXYtbGluayB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRjb2xvciwgJGNvbG9yKTtcbiAgfVxuXG4gICN7JHBpbGxzLXNlbGVjdG9yfSAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICBjb2xvcjogaWYoJGxpbmstY29sb3IsICRsaW5rLWNvbG9yLCB5aXEoJGNvbG9yKSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLW5hdi10aGVtZSgkY29sb3IsICRsaW5rLWNvbG9yOiBudWxsKSB7XG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtbmF2LXZhcmlhbnQoJycsICRjb2xvciwgJGxpbmstY29sb3IpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFBhZ2luYXRpb25cblxuQG1peGluIGFwcHdvcmstcGFnaW5hdGlvbi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgI3skcGFyZW50fSAucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rLFxuICAjeyRwYXJlbnR9LnBhZ2luYXRpb24gbGkuYWN0aXZlID4gYTpub3QoLnBhZ2UtbGluaykge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLXBhZ2luYXRpb24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLXBhZ2luYXRpb24tdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogUHJvZ3Jlc3MgYmFyc1xuXG5AbWl4aW4gYXBwd29yay1wcm9ncmVzcy1iYXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICAucHJvZ3Jlc3MtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTGlzdCBncm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZTogbnVsbCwgJGJhY2tncm91bmQ6IG51bGwsICRjb2xvcjogbnVsbCkge31cblxuQG1peGluIGFwcHdvcmstbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICAkYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC4xKSwgI2ZmZik7XG4gICRjb2xvcjogeWlxKCRiZyk7XG4gICRob3Zlci1iZzogcmdiYS10by1oZXgocmdiYSgkYmcsIC45OSksICMwMDApO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwuMDcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgYSN7JHBhcmVudH0sXG4gIGJ1dHRvbiN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmc7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLWxpc3QtZ3JvdXAtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLWxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCcubGlzdC1ncm91cC1pdGVtLXByaW1hcnknLCAkYmFja2dyb3VuZCk7XG5cbiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQWxlcnRzXG5cbkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kOiBudWxsLCAkYm9yZGVyOiBudWxsLCAkY29sb3I6IG51bGwpIHt9XG5cbkBtaXhpbiBhcHB3b3JrLWFsZXJ0LXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC4xNSksICNmZmYpO1xuICAkYm9yZGVyOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuOTQpLCAjMDAwKTtcbiAgJGNvbG9yOiB5aXEoJGJhY2tncm91bmQpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgaHIge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG5cbiAgICAuY2xvc2UsXG4gICAgLmFsZXJ0LWxpbmsge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstYWxlcnQtZGFyay12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIGhyIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoeWlxKCRiYWNrZ3JvdW5kKSwuMik7XG4gICAgfVxuXG4gICAgLmNsb3NlLFxuICAgIC5hbGVydC1saW5rIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVG9vbHRpcHNcblxuQG1peGluIGFwcHdvcmstdG9vbHRpcC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgLnRvb2x0aXAtaW5uZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuICAgIH1cblxuICAgICYuYnMtdG9vbHRpcC10b3AgLmFycm93OjpiZWZvcmUsICYuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cInRvcFwiXSAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci10b3AtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gICAgJi5icy10b29sdGlwLXJpZ2h0IC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJyaWdodFwiXSAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci1yaWdodC1jb2xvcjogJGJhY2tncm91bmQ7IH1cbiAgICAmLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJib3R0b21cIl0gLmFycm93OjpiZWZvcmUgeyBib3JkZXItYm90dG9tLWNvbG9yOiAkYmFja2dyb3VuZDsgfVxuICAgICYuYnMtdG9vbHRpcC1sZWZ0IC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdIC5hcnJvdzo6YmVmb3JlIHsgYm9yZGVyLWxlZnQtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBQb3BvdmVyc1xuXG5AbWl4aW4gYXBwd29yay1wb3BvdmVyLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gICAgLnBvcG92ZXItaGVhZGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSh5aXEoJGJhY2tncm91bmQpLC4yKTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICAucG9wb3Zlci1ib2R5IHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuXG4gICAgJi5icy1wb3BvdmVyLXRvcCAuYXJyb3c6OmFmdGVyLCAmLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJ0b3BcIl0gLmFycm93OjphZnRlciB7IGJvcmRlci10b3AtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gICAgJi5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvdzo6YWZ0ZXIsICYuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIC5hcnJvdzo6YWZ0ZXIgeyBib3JkZXItcmlnaHQtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gICAgJi5icy1wb3BvdmVyLWJvdHRvbSAuYXJyb3c6OmFmdGVyLCAmLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJib3R0b21cIl0gLmFycm93OjphZnRlciB7IGJvcmRlci1ib3R0b20tY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gICAgJi5icy1wb3BvdmVyLWxlZnQgLmFycm93OjphZnRlciwgJi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwibGVmdFwiXSAuYXJyb3c6OmFmdGVyIHsgYm9yZGVyLWxlZnQtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBGb3JtIGNvbnRyb2xzXG5cbkBtaXhpbiBhcHB3b3JrLWN1c3RvbS1zZWxlY3Qtc2l6ZSgkc2l6ZSwgJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KSB7XG4gIC5jdXN0b20tc2VsZWN0LSN7JHNpemV9LFxuICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gLmN1c3RvbS1zZWxlY3Qge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgKCRwYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkcGFkZGluZy14IGNlbnRlcjtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcblxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICAmLFxuICAgICAgJltzaXplPVwiMFwiXTpub3QoW211bHRpcGxlXSkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAkcGFkZGluZy14IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW3NpemU9XCIwXCJdOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCwgJGRlZmF1bHQtYmFja2dyb3VuZDogbnVsbCkge1xuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBAaWYgJGRlZmF1bHQtYmFja2dyb3VuZCB7XG4gICAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAgIC5jdXN0b20tY29udHJvbC1pbnB1dDphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAgICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRiYWNrZ3JvdW5kLCAuNCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAmLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xuICAgIH1cblxuICAgICYuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLWN1c3RvbS1jb250cm9sLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgQGluY2x1ZGUgYXBwd29yay1jdXN0b20tY29udHJvbC12YXJpYW50KCcuY3VzdG9tLWNvbnRyb2wnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtY3VzdG9tLWNvbnRyb2wtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkZGVmYXVsdC1iYWNrZ3JvdW5kOiBudWxsKSB7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIEBpZiAkZGVmYXVsdC1iYWNrZ3JvdW5kIHtcbiAgICAgIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuICAgICAgLmN1c3RvbS1jb250cm9sLWlucHV0OmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuICAgICYuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XG4gICAgfVxuXG4gICAgJi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRiYWNrZ3JvdW5kKSwgXCIjXCIsIFwiJTIzXCIpKTtcbiAgICB9XG5cbiAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmFja2dyb3VuZCwgLjE1KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtY3VzdG9tLWNvbnRyb2wtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJy5jdXN0b20tY29udHJvbCcsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZTogbnVsbCwgJGNvbG9yOiBudWxsKSB7fVxuXG5AbWl4aW4gYXBwd29yay1mb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IpIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgcGFkZGluZzogLjVyZW07XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IC4ycmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLC44KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wsXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkY29sb3IsLjI1KSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQsXG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgICAmOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGNvbG9yLCAuNCk7XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZywgJ19DT0xPUl8nLCB5aXEoJGNvbG9yKSksIFwiI1wiLCBcIiUyM1wiKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZywgJ19DT0xPUl8nLCB5aXEoJGNvbG9yKSksIFwiI1wiLCBcIiUyM1wiKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkY29sb3IsLjMpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvcikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBwYWRkaW5nOiAuNXJlbTtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogLjJyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsLjgpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLmZvcm0tY29udHJvbCxcbiAgLmN1c3RvbS1zZWxlY3Qge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwICRjb2xvciBpbnNldCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dCxcbiAgLmN1c3RvbS1jb250cm9sLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAgICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAuMTUpICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX06Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuICAgICYuaXMtI3skc3RhdGV9OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgeWlxKCRjb2xvcikpLCBcIiNcIiwgXCIlMjNcIikpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfTpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgJi5pcy0jeyRzdGF0ZX06Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xuICAgIH1cbiAgfVxuXG4gIC53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDojeyRzdGF0ZX0sXG4gIC5jdXN0b20tZmlsZS1pbnB1dC5pcy0jeyRzdGF0ZX0ge1xuICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAkY29sb3IgaW5zZXQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstY3VzdG9tLWZpbGUtaW5wdXQtdGhlbWUoJGNvbG9yKSB7XG4gIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1jdXN0b20tZmlsZS1pbnB1dC10aGVtZSgkY29sb3IpIHtcbiAgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAkY29sb3IgaW5zZXQ7XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtZm9ybS1jb250cm9sLXNpemUoJHNpemUsICRsaW5lLWhlaWdodCwgJHBhZGRpbmcteSwgJGdyb3VwLWJ0bi1mb250LXNpemU6IG51bGwpIHtcbiAgQGlmICRzaXplID09ICcnIHtcbiAgICAuZm9ybS1jb250cm9sLFxuICAgIC5jdXN0b20tc2VsZWN0LFxuICAgIC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgICAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRwYWRkaW5nLXl9IC0gMXB4KSAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC5mb3JtLWNvbnRyb2wtI3skc2l6ZX0sXG4gICAgLmN1c3RvbS1zZWxlY3QtI3skc2l6ZX0sXG4gICAgLmlucHV0LWdyb3VwLSN7JHNpemV9ID4gLmZvcm0tY29udHJvbCxcbiAgICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gPiAuY3VzdG9tLXNlbGVjdCxcbiAgICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gLmlucHV0LWdyb3VwLXRleHQge1xuICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skcGFkZGluZy15fSAtIDFweCkgIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwLSN7JHNpemV9ID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuICAgIC5pbnB1dC1ncm91cC0jeyRzaXplfSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JHBhZGRpbmcteX0gLSAxcHgpICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6ICRncm91cC1idG4tZm9udC1zaXplO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1mb3JtLWNvbnRyb2wtdGhlbWUoJGNvbG9yKSB7XG4gIC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gIC5jdXN0b20tc2VsZWN0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1mb3JtLWNvbnRyb2wtdGhlbWUoJGNvbG9yKSB7XG4gIC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gIC5jdXN0b20tc2VsZWN0OmZvY3VzIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAkY29sb3IgaW5zZXQ7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTd2l0Y2hlcnNcblxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItc2l6ZS1iYXNlKCR3aWR0aCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0LCAkaW5uZXItc3BhY2VyOiAkc3dpdGNoZXItaW5uZXItc3BhY2VyKSB7XG4gIHBhZGRpbmctbGVmdDogJHdpZHRoO1xuICBtaW4taGVpZ2h0OiAkaGVpZ2h0O1xuICBmb250LXNpemU6ICRkZXNjcmlwdGlvbi1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XG5cbiAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiAkZGVzY3JpcHRpb24tZm9udC1zaXplICogJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xuICAkZGVsdGE6IGlmKCRtYXRlcmlhbC1zdHlsZSwgcHgtdG8tcmVtKGNlaWwocmVtLXRvLXB4KCRoZWlnaHQgKiAuMTI1KSkpLCAwKTtcblxuICAuc3dpdGNoZXItYmxhbmsgLnN3aXRjaGVyLWluZGljYXRvciB7XG4gICAgdG9wOiAkZGVsdGEgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0IC0gKCRkZWx0YSAqIDIpO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlaWdodDtcblxuICAgIEBpZiAkbGluZS1oZWlnaHQtY29tcHV0ZWQgPiAkaGVpZ2h0IHtcbiAgICAgIHRvcDogKCgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLSAkaGVpZ2h0KSAvIDIpICsgJGRlbHRhO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdG9wOiAwICsgJGRlbHRhO1xuICAgIH1cbiAgfVxuXG4gIC5zd2l0Y2hlci1sYWJlbCB7XG4gICAgQGlmICRsaW5lLWhlaWdodC1jb21wdXRlZCA8ICRoZWlnaHQge1xuICAgICAgdG9wOiAoJGhlaWdodCAtICRsaW5lLWhlaWdodC1jb21wdXRlZCkgLyAyO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvcjo6YWZ0ZXIge1xuICAgIGxlZnQ6ICR3aWR0aCAtICRoZWlnaHQ7XG4gIH1cblxuICAuc3dpdGNoZXItaW5kaWNhdG9yOjphZnRlciB7XG4gICAgdG9wOiAkZGVsdGEgKiAtMTtcbiAgICBtYXJnaW46ICRpbm5lci1zcGFjZXIgMCAwICRpbm5lci1zcGFjZXI7XG4gICAgd2lkdGg6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyICogMjtcbiAgICBoZWlnaHQ6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyICogMjtcbiAgfVxuXG4gIC5zd2l0Y2hlci1ubyB7XG4gICAgcGFkZGluZy1yaWdodDogJGlubmVyLXNwYWNlcjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyO1xuICB9XG5cbiAgLnN3aXRjaGVyLXllcyB7XG4gICAgcGFkZGluZy1yaWdodDogJGhlaWdodCAtICRpbm5lci1zcGFjZXI7XG4gICAgcGFkZGluZy1sZWZ0OiAkaW5uZXItc3BhY2VyO1xuICB9XG5cbiAgQGlmICRtYXRlcmlhbC1zdHlsZSB7XG4gICAgLnN3aXRjaGVyLWluZGljYXRvcjo6YmVmb3JlIHtcbiAgICAgIHRvcDogJGRlbHRhICogLTE7XG4gICAgICB3aWR0aDogJGhlaWdodDtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG5cbiAgICAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3I6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAkd2lkdGggLSAkaGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcnRsLXN1cHBvcnQge1xuICAgIFtkaXI9cnRsXSAmIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICR3aWR0aDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3I6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAkd2lkdGggLSAkaGVpZ2h0O1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItaW5kaWNhdG9yOjphZnRlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRpbm5lci1zcGFjZXI7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItbm8ge1xuICAgICAgcGFkZGluZy1yaWdodDogJGhlaWdodCAtICRpbm5lci1zcGFjZXI7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRpbm5lci1zcGFjZXI7XG4gICAgfVxuXG4gICAgW2Rpcj1ydGxdICYgLnN3aXRjaGVyLXllcyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5uZXItc3BhY2VyO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlcjtcbiAgICB9XG5cbiAgICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgICAgIFtkaXI9cnRsXSAmIC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvcjo6YmVmb3JlIHtcbiAgICAgICAgcmlnaHQ6ICR3aWR0aCAtICRoZWlnaHQ7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLXN3aXRjaGVyLXNpemUoJHNpemUsICR3aWR0aCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0LCAkaW5uZXItc3BhY2VyOiAkc3dpdGNoZXItaW5uZXItc3BhY2VyKSB7XG4gIC5zd2l0Y2hlci0jeyRzaXplfSxcbiAgLmZvcm0tZ3JvdXAtI3skc2l6ZX0gLnN3aXRjaGVyIHtcbiAgICBAaW5jbHVkZSBhcHB3b3JrLXN3aXRjaGVyLXNpemUtYmFzZSgkd2lkdGgsICRoZWlnaHQsICRmb250LXNpemUsICRkZXNjcmlwdGlvbi1mb250LXNpemUsICRkZXNjcmlwdGlvbi1saW5lLWhlaWdodCwgJGlubmVyLXNwYWNlcik7XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICRzZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJycsICcjeyRwYXJlbnR9LnN3aXRjaGVyJyk7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuXG4gICN7JHNlbGVjdG9yfSAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0gLnN3aXRjaGVyLWlucHV0OmZvY3VzIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkYmFja2dyb3VuZCwgLjQpO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IC5zd2l0Y2hlci1pbnB1dDphY3RpdmUgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLXN3aXRjaGVyLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1zd2l0Y2hlci12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kKSB7XG4gICRzZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJycsICcjeyRwYXJlbnR9LnN3aXRjaGVyJyk7XG5cbiAgI3skc2VsZWN0b3J9IC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkYmFja2dyb3VuZCwgLjUpO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJhY2tncm91bmQsIC4xNSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLXN3aXRjaGVyLXRoZW1lKCRiYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtc3dpdGNoZXItdmFyaWFudCgnJywgJGJhY2tncm91bmQpO1xufVxuXG5AbWl4aW4gYXBwd29yay1zd2l0Y2hlci12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yKSB7XG4gIC5zd2l0Y2hlci1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgJjpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogeWlxKCRjb2xvcikgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRjb2xvciwgLjQpICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICY6YWN0aXZlIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgfiAuc3dpdGNoZXItbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLXN3aXRjaGVyLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IpIHtcbiAgLnN3aXRjaGVyLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgLjUpICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAuMTUpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgfiAuc3dpdGNoZXItbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7fVxuXG5AbWl4aW4gYXBwd29yay10YWJsZS1yb3ctdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCkge1xuICAkYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC4xKSwgI2ZmZik7XG4gICRjb2xvcjogeWlxKCRiZyk7XG4gICRob3Zlci1iZzogcmdiYS10by1oZXgocmdiYSgkYmcsIC45OSksICMwMDApO1xuXG4gIC50YWJsZSAjeyRwYXJlbnR9LFxuICAudGFibGUgI3skcGFyZW50fSA+IHRoLFxuICAudGFibGUgI3skcGFyZW50fSA+IHRkIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjAzNSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAudGFibGUtaG92ZXIgI3skcGFyZW50fTpob3ZlcixcbiAgLnRhYmxlLWhvdmVyICN7JHBhcmVudH06aG92ZXIgPiB0ZCxcbiAgLnRhYmxlLWhvdmVyICN7JHBhcmVudH06aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJnO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTmF2YmFyXG5cbkBtaXhpbiBhcHB3b3JrLW5hdmJhci12YXJpYW50KCRwYXJlbnQsICRiZywgJGNvbG9yOiBudWxsLCAkYWN0aXZlLWNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsKSB7XG4gICRjb2xvcnM6IGdldC1uYXYtY29sb3JzKCRiZywgJGFjdGl2ZS1jb2xvciwgJGNvbG9yLCAkYm9yZGVyKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJnKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgIC5uYXZiYXItYnJhbmQge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXItbmF2IHtcbiAgICAgIC5uYXYtbGluayB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGRpc2FibGVkLWNvbG9yKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zaG93ID4gLm5hdi1saW5rLFxuICAgICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAgIC5uYXYtbGluay5zaG93LFxuICAgICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5hdmJhci10b2dnbGVyIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBib3JkZXIpO1xuICAgIH1cblxuICAgIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKSA9PSAjZmZmLCAkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnLCAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZyk7XG4gICAgfVxuXG4gICAgLm5hdmJhci10ZXh0IHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG5cbiAgICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBociB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTaWRlbmF2XG5cbkBtaXhpbiBhcHB3b3JrLXNpZGVuYXYtdmFyaWFudCgkcGFyZW50LCAkYmcsICRjb2xvcjogbnVsbCwgJGFjdGl2ZS1jb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCwgJG1lbnUtYmc6IG51bGwpIHtcbiAgJGNvbG9yczogZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yLCAkY29sb3IsICRib3JkZXIpO1xuICAkeWlxLXBlcmNlbnQ6IG1hcC1nZXQoJGNvbG9ycywgeWlxLXBlcmNlbnQpO1xuXG4gIEBpZiBub3QgJG1lbnUtYmcge1xuICAgICRtZW51LWJnOiByZ2JhLXRvLWhleChyZ2JhKG1hcC1nZXQoJGNvbG9ycywgYmcpLCAxIC0gaWYoJHlpcS1wZXJjZW50ID4gLjc1LCAuMDI1LCAuMDUpKSwgaWYoJHlpcS1wZXJjZW50IDwgLjI1LCAjZmZmLCAjMDAwKSk7XG4gIH1cblxuICAkbWVudS1hY3RpdmUtYmc6IHJnYmEtdG8taGV4KHJnYmEoJG1lbnUtYmcsIDEgLSBpZigkeWlxLXBlcmNlbnQgPiAuNzUsIC4wMjUsIC4wNSkpLCBpZigkeWlxLXBlcmNlbnQgPCAuMjUsICNmZmYsICMwMDApKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJnKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgIC5zaWRlbmF2LWxpbmssXG4gICAgLnNpZGVuYXYtaG9yaXpvbnRhbC1wcmV2LFxuICAgIC5zaWRlbmF2LWhvcml6b250YWwtbmV4dCB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaWRlbmF2LWl0ZW0uZGlzYWJsZWQgLnNpZGVuYXYtbGluayxcbiAgICAuc2lkZW5hdi1ob3Jpem9udGFsLXByZXYuZGlzYWJsZWQsXG4gICAgLnNpZGVuYXYtaG9yaXpvbnRhbC1uZXh0LmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGRpc2FibGVkLWNvbG9yKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaWRlbmF2LWl0ZW0ub3Blbjpub3QoLnNpZGVuYXYtaXRlbS1jbG9zaW5nKSA+IC5zaWRlbmF2LXRvZ2dsZSxcbiAgICAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbmsge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcbiAgICB9XG5cbiAgICAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbms6bm90KC5zaWRlbmF2LXRvZ2dsZSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lbnUtYmc7XG4gICAgfVxuXG4gICAgJi5zaWRlbmF2LWhvcml6b250YWwgLnNpZGVuYXYtbWVudSA+IC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazpub3QoLnNpZGVuYXYtdG9nZ2xlKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVudS1hY3RpdmUtYmc7XG4gICAgfVxuXG4gICAgJi5zaWRlbmF2LWhvcml6b250YWwgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtOm5vdCguc2lkZW5hdi1pdGVtLWNsb3NpbmcpID4gLnNpZGVuYXYtbWVudSxcbiAgICAmLnNpZGVuYXYtaG9yaXpvbnRhbCAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWVudS1iZztcbiAgICB9XG5cbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0uc2lkZW5hdi1pdGVtLWNsb3NpbmcgLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LW1lbnUsXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLnNpZGVuYXYtaXRlbS1jbG9zaW5nIC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi10b2dnbGUge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XG4gICAgfVxuXG4gICAgLnNpZGVuYXYtdGV4dCB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgIH1cblxuICAgIC5zaWRlbmF2LWhlYWRlciB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBtdXRlZC1jb2xvcik7XG4gICAgfVxuXG4gICAgaHIsXG4gICAgLnNpZGVuYXYtZGl2aWRlcixcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LW1lbnU6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaGVhZGVyOjpiZWZvcmUsXG4gICAgLnNpZGVuYXYtYmxvY2s6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcik7XG4gICAgfVxuXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtdG9nZ2xlOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYS10by1oZXgobWFwLWdldCgkY29sb3JzLCBib3JkZXIpLCAkbWVudS1iZyk7XG4gICAgfVxuXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgIH1cblxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZTo6YmVmb3JlLFxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazo6YmVmb3JlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAkbWVudS1iZztcbiAgICB9XG5cbiAgICAucHNfX3RodW1iLXksXG4gICAgLnBzX19yYWlsLXkucHMtLWNsaWNraW5nID4gLnBzX190aHVtYi15IHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEobWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpLCBpZigkeWlxLXBlcmNlbnQgPiAuNzUsIG1hcC1nZXQoJGNvbG9ycywgb3BhY2l0eSkgLSAuNCwgbWFwLWdldCgkY29sb3JzLCBvcGFjaXR5KSAtIC4yKSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBGb290ZXJcblxuQG1peGluIGFwcHdvcmstZm9vdGVyLXZhcmlhbnQoJHBhcmVudCwgJGJnLCAkY29sb3I6IG51bGwsICRhY3RpdmUtY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwpIHtcbiAgJGNvbG9yczogZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yLCAkY29sb3IsICRib3JkZXIpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmcpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xuXG4gICAgLmZvb3Rlci1saW5rIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgZGlzYWJsZWQtY29sb3IpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlci10ZXh0IHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG4gICAgfVxuXG4gICAgLnNob3cgPiAuZm9vdGVyLWxpbmssXG4gICAgLmFjdGl2ZSA+IC5mb290ZXItbGluayxcbiAgICAuZm9vdGVyLWxpbmsuc2hvdyxcbiAgICAuZm9vdGVyLWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG4gICAgfVxuXG4gICAgaHIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcik7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3ZlciBtaXhpbiBhbmQgYCRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnlgIGFyZSBkZXByZWNhdGVkLlxuLy9cbi8vIE9yaWdpbmFsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPUy1hbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzZXVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlciB7XG4gICY6aG92ZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGdW5jdGlvbnNcbi8vXG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTWF0aFxuXG4kcGk6IDMuMTQxNTkyNjUzNTk7XG4kX3ByZWNpc2lvbjogMTA7XG5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHApIHtcbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHAgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGlmICRleHAgPCAxe1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBzcXJ0KCRyKSB7XG4gICR4MDogMTtcbiAgJHgxOiAkeDA7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMCB7XG4gICAgJHgxOiAkeDAgLSAoJHgwICogJHgwIC0gYWJzKCRyKSkgLyAoMiAqICR4MCk7XG4gICAgJHgwOiAkeDE7XG4gIH1cblxuICBAcmV0dXJuICR4MTtcbn1cblxuQGZ1bmN0aW9uIGZhY3QoJG51bSkge1xuICAkZmFjdDogMTtcbiAgQGlmICRudW0gPiAwe1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG51bSB7XG4gICAgICAkZmFjdDogJGZhY3QgKiAkaTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkZmFjdDtcbn1cblxuQGZ1bmN0aW9uIF90b191bml0bGVzc19yYWQoJGFuZ2xlKSB7XG4gIEBpZiB1bml0KCRhbmdsZSkgPT0gXCJkZWdcIiB7XG4gICAgJGFuZ2xlOiAkYW5nbGUgLyAxODBkZWcgKiAkcGk7XG4gIH1cbiAgQGlmIHVuaXQoJGFuZ2xlKSA9PSBcInJhZFwiIHtcbiAgICAkYW5nbGU6ICRhbmdsZSAvIDFyYWQ7XG4gIH1cbiAgQHJldHVybiAkYW5nbGU7XG59XG5cbkBmdW5jdGlvbiBzaW4oJGFuZ2xlKXtcbiAgJGE6IF90b191bml0bGVzc19yYWQoJGFuZ2xlKTtcbiAgJHNpbjogJGE7XG4gIEBmb3IgJG4gZnJvbSAxIHRocm91Z2ggJF9wcmVjaXNpb24ge1xuICAgICRzaW46ICRzaW4gKyAocG93KC0xLCAkbikgLyBmYWN0KDIgKiAkbiArIDEpICkgKiBwb3coJGEsICgyICogJG4gKyAxKSk7XG4gIH1cbiAgQHJldHVybiAkc2luO1xufVxuXG5AZnVuY3Rpb24gY29zKCRhbmdsZSl7XG4gICRhOiBfdG9fdW5pdGxlc3NfcmFkKCRhbmdsZSk7XG4gICRjb3M6IDE7XG4gIEBmb3IgJG4gZnJvbSAxIHRocm91Z2ggJF9wcmVjaXNpb24ge1xuICAgICRjb3M6ICRjb3MgKyAoIHBvdygtMSwkbikgLyBmYWN0KDIqJG4pICkgKiBwb3coJGEsMiokbik7XG4gIH1cbiAgQHJldHVybiAkY29zO1xufVxuXG5AZnVuY3Rpb24gdGFuKCRhbmdsZSl7XG4gIEByZXR1cm4gc2luKCRhbmdsZSkgLyBjb3MoJGFuZ2xlKTtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBMaXN0c1xuXG5AZnVuY3Rpb24gc2xpY2UtbGlzdCgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XG4gICRyZXN1bHQ6IG51bGw7XG5cbiAgQGlmIHR5cGUtb2YoJHN0YXJ0KSAhPSBudW1iZXIgb3IgdHlwZS1vZigkZW5kKSAhPSBudW1iZXIge1xuICAgIEB3YXJuIFwiRWl0aGVyICRzdGFydCBvciAkZW5kIGFyZSBub3QgYSBudW1iZXIgZm9yIGBzbGljZWAuXCI7XG4gIH1cblxuICBAZWxzZSBpZiAkc3RhcnQgPiAkZW5kIHtcbiAgICBAd2FybiBcIlRoZSBzdGFydCBpbmRleCBoYXMgdG8gYmUgbGVzc2VyIHRoYW4gb3IgZXF1YWxzIHRvIHRoZSBlbmQgaW5kZXggZm9yIGBzbGljZWAuXCI7XG4gIH1cblxuICBAZWxzZSBpZiAkc3RhcnQgPCAxIG9yICRlbmQgPCAxIHtcbiAgICBAd2FybiBcIkxpc3QgaW5kZXhlcyBtdXN0IGJlIG5vbi16ZXJvIGludGVnZXJzIGZvciBgc2xpY2VgLlwiO1xuICB9XG5cbiAgQGVsc2UgaWYgJHN0YXJ0ID4gbGVuZ3RoKCRsaXN0KSB7XG4gICAgQHdhcm4gXCJMaXN0IGluZGV4IGlzICN7JHN0YXJ0fSBidXQgbGlzdCBpcyBvbmx5ICN7bGVuZ3RoKCRsaXN0KX0gaXRlbSBsb25nIGZvciBgc2xpY2VgLlwiO1xuICB9XG5cbiAgQGVsc2UgaWYgJGVuZCA+IGxlbmd0aCgkbGlzdCkge1xuICAgIEB3YXJuIFwiTGlzdCBpbmRleCBpcyAjeyRlbmR9IGJ1dCBsaXN0IGlzIG9ubHkgI3tsZW5ndGgoJGxpc3QpfSBpdGVtIGxvbmcgZm9yIGBzbGljZWAuXCI7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgJHJlc3VsdDogKCk7XG5cbiAgICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTdHJpbmdzXG5cbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogJycpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENvbG9yc1xuXG5AZnVuY3Rpb24gcmdiYS10by1oZXgoJGNvbG9yLCAkYmFja2dyb3VuZDogI2ZmZikge1xuICBAaWYgJGNvbG9yIGFuZCBhbHBoYSgkY29sb3IpICE9IDEge1xuICAgICRwZXJjZW50OiBhbHBoYSgkY29sb3IpICogMTAwJTtcbiAgICAkb3BhcXVlOiBvcGFjaWZ5KCRjb2xvciwgMSk7XG5cbiAgICBAcmV0dXJuIG1peCgkb3BhcXVlLCAkYmFja2dyb3VuZCwgJHBlcmNlbnQpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRjb2xvcjtcbiAgfVxufVxuXG5AZnVuY3Rpb24geWlxLXZhbHVlKCRjb2xvcikge1xuICBAaWYgJGNvbG9yID09IHRyYW5zcGFyZW50IHtcbiAgICBAcmV0dXJuICRib2R5LWNvbG9yO1xuICB9IEBlbHNlIGlmIGFscGhhKCRjb2xvcikgIT0gMSB7XG4gICAgJGNvbG9yOiByZ2JhLXRvLWhleCgkY29sb3IpO1xuICB9XG5cbiAgJHI6IHJlZCgkY29sb3IpO1xuICAkZzogZ3JlZW4oJGNvbG9yKTtcbiAgJGI6IGJsdWUoJGNvbG9yKTtcblxuICBAcmV0dXJuICgoJHIgKiAyOTkpICsgKCRnICogNTg3KSArICgkYiAqIDExNCkpIC8gMTAwMDtcbn1cblxuLy8gQ29sb3IgY29udHJhc3RcbkBmdW5jdGlvbiB5aXEoJGNvbG9yKSB7XG4gICR5aXE6IHlpcS12YWx1ZSgkY29sb3IpO1xuXG4gIEBpZiAoJHlpcSA+PSAxNjApIHtcbiAgICBAcmV0dXJuIHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuNDApLCAjMDAwKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAjZmZmO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVW5pdHNcblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bWJlcikge1xuICBAaWYgdHlwZS1vZigkbnVtYmVyKSA9PSAnbnVtYmVyJyBhbmQgbm90IHVuaXRsZXNzKCRudW1iZXIpIHtcbiAgICBAcmV0dXJuICRudW1iZXIgLyAoJG51bWJlciAqIDAgKyAxKTtcbiAgfVxuXG4gIEByZXR1cm4gJG51bWJlcjtcbn1cblxuQGZ1bmN0aW9uIHB4LXRvLXJlbSgkdmFsdWUpIHtcbiAgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0IGZvbnQgc2l6ZSA9IGAxNnB4YFxuICBAcmV0dXJuIChzdHJpcC11bml0KCR2YWx1ZSkgLyAxNikgKiAxcmVtO1xufVxuXG5AZnVuY3Rpb24gcmVtLXRvLXB4KCR2YWx1ZSkge1xuICAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQgZm9udCBzaXplID0gYDE2cHhgXG4gIEByZXR1cm4gKHN0cmlwLXVuaXQoJHZhbHVlKSAqIDE2KSAqIDFweDtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBVdGlsaXRpZXNcblxuQGZ1bmN0aW9uIGdldC1idG4tY29sb3JzKCRiYWNrZ3JvdW5kLCAkYm9yZGVyKSB7XG4gIEBpZiAkYmFja2dyb3VuZCA9PSB0cmFuc3BhcmVudCB7XG4gICAgJGJ0bi1zaGFkb3c6IHJnYmEocmdiYS10by1oZXgoJGJvcmRlciwgIzAwMCksIC4wNSk7XG5cbiAgICBAcmV0dXJuIChcbiAgICAgIGJnLWhvdmVyOiAgcmdiYSgkYm9yZGVyLCAuMDYpLFxuICAgICAgYmctYWN0aXZlOiByZ2JhKCRib3JkZXIsIC4xMiksXG4gICAgICBib3JkZXI6ICAgICRib3JkZXIsXG4gICAgICBzaGFkb3c6ICAgIGlmKCRlbmFibGUtc2hhZG93cywgKCRidG4tYm94LXNoYWRvdywgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggJGJ0bi1zaGFkb3cpLCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCAkYnRuLXNoYWRvdylcbiAgICApO1xuICB9IEBlbHNlIGlmIGFscGhhKCRiYWNrZ3JvdW5kKSAhPSAxIHtcbiAgICAkYmctYWxwaGE6ICAgYWxwaGEoJGJhY2tncm91bmQpO1xuICAgICRidG4tc2hhZG93OiByZ2JhKCRiYWNrZ3JvdW5kLCAkYmctYWxwaGEgLSAoJGJnLWFscGhhICogNTUgLyAxMDApICk7XG5cbiAgICBAcmV0dXJuIChcbiAgICAgIGJnLWhvdmVyOiAgcmdiYSgkYmFja2dyb3VuZCwgJGJnLWFscGhhICsgMC4wNSksXG4gICAgICBiZy1hY3RpdmU6IHJnYmEoJGJhY2tncm91bmQsICRiZy1hbHBoYSArIDAuMTMpLFxuICAgICAgYm9yZGVyOiAgICB0cmFuc3BhcmVudCxcbiAgICAgIHNoYWRvdzogICAgaWYoJGVuYWJsZS1zaGFkb3dzLCAoJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCAkYnRuLXNoYWRvdyksIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoICRidG4tc2hhZG93KVxuICAgICk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gKFxuICAgICAgYmctaG92ZXI6ICByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuOTUpLCAjMDAwKSxcbiAgICAgIGJnLWFjdGl2ZTogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjg3KSwgIzAwMCksXG4gICAgICBib3JkZXI6ICAgIHRyYW5zcGFyZW50LFxuICAgICAgc2hhZG93OiAgICBpZigkZW5hYmxlLXNoYWRvd3MsICgkYnRuLWJveC1zaGFkb3csIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGJhY2tncm91bmQsIC40KSksIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGJhY2tncm91bmQsIC40KSlcbiAgICApO1xuICB9XG59XG5cbkBmdW5jdGlvbiBnZXQtbWF0ZXJpYWwtYnRuLWNvbG9ycygkYmFja2dyb3VuZCkge1xuICBAaWYgYWxwaGEoJGJhY2tncm91bmQpICE9IDEge1xuICAgICRiYWNrZ3JvdW5kOiByZ2JhLXRvLWhleCgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAcmV0dXJuIChcbiAgICBiZy1ob3ZlcjogIHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC45NSksICNmZmYpLFxuICAgIGJnLWFjdGl2ZTogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjg3KSwgI2ZmZiksXG4gICk7XG59XG5cbkBmdW5jdGlvbiBnZXQtbmF2LWNvbG9ycygkYmcsICRhY3RpdmUtY29sb3I6IG51bGwsICRpbmFjdGl2ZS1jb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCkge1xuICAkYmc6IHJnYmEtdG8taGV4KCRiZyk7XG4gICRhY3RpdmUtY29sb3I6IHJnYmEtdG8taGV4KCRhY3RpdmUtY29sb3IpO1xuICAkYWN0aXZlLWNvbG9yOiBpZigkYWN0aXZlLWNvbG9yLCAkYWN0aXZlLWNvbG9yLCB5aXEoJGJnKSk7XG4gICR5aXEtcGVyY2VudDogeWlxLXZhbHVlKCRiZykgLyAyNTU7XG4gICR5aXEtcGVyY2VudC1pbnZlcnRlZDogMSAtICR5aXEtcGVyY2VudDtcblxuICAkb3BhY2l0eTogaWYoJGFjdGl2ZS1jb2xvciA9PSAjZmZmLCAuNiArICguNCAqICR5aXEtcGVyY2VudCksIC42ICsgKC40ICogKDEgLSAkeWlxLXBlcmNlbnQpKSk7XG5cbiAgJGNvbG9yOiBpZigkaW5hY3RpdmUtY29sb3IsIHJnYmEtdG8taGV4KCRpbmFjdGl2ZS1jb2xvciwgJGJnKSwgcmdiYS10by1oZXgocmdiYSgkYWN0aXZlLWNvbG9yLCBpZigkeWlxLXBlcmNlbnQgPCAuMjUsICRvcGFjaXR5IC0gLjE1LCAkb3BhY2l0eSkpLCAkYmcpKTtcbiAgJGRpc2FibGVkLWNvbG9yOiByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjYpLCAkYmcpO1xuICAkbXV0ZWQtY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuNzUpLCAkYmcpO1xuICAkYm9yZGVyOiBpZigkYm9yZGVyLCAkYm9yZGVyLCBpZigkeWlxLXBlcmNlbnQgPiAuNzUsIHJnYmEoJGFjdGl2ZS1jb2xvciwgJG9wYWNpdHkgLyA4KSwgaWYoJHlpcS1wZXJjZW50IDwgLjI1LCByZ2JhKCRhY3RpdmUtY29sb3IsIC4wNiksIHJnYmEoJGFjdGl2ZS1jb2xvciwgLjE1KSkpKTtcblxuICBAcmV0dXJuIChcbiAgICAvLyBNZXRhZGF0YVxuICAgIG9wYWNpdHk6ICRvcGFjaXR5LFxuICAgIHlpcS1wZXJjZW50OiAkeWlxLXBlcmNlbnQsXG4gICAgeWlxLXBlcmNlbnQtaW52ZXJ0ZWQ6ICR5aXEtcGVyY2VudC1pbnZlcnRlZCxcblxuICAgIC8vIENvbG9yc1xuICAgIGJnOiAkYmcsXG4gICAgY29sb3I6ICRjb2xvcixcbiAgICBhY3RpdmUtY29sb3I6ICRhY3RpdmUtY29sb3IsXG4gICAgZGlzYWJsZWQtY29sb3I6ICRkaXNhYmxlZC1jb2xvcixcbiAgICBtdXRlZC1jb2xvcjogJG11dGVkLWNvbG9yLFxuICAgIGJvcmRlcjogJGJvcmRlclxuICApO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFR5cG9ncmFwaHlcblxuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gVmFyaWFibGVzXG4vL1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENvbG9yc1xuXG4kd2hpdGU6ICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJsYWNrOiAgICAgICAgIzE4MUMyMSAhZGVmYXVsdDtcbiRncmF5LTI1OiAgICAgIHJnYmEoJGJsYWNrLCAuMDE1KSAhZGVmYXVsdDtcbiRncmF5LTUwOiAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGdyYXktMTAwOiAgICAgcmdiYSgkYmxhY2ssIC4wNikgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGdyYXktMzAwOiAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRncmF5LTQwMDogICAgIHJnYmEoJGJsYWNrLCAuMykgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICAgICByZ2JhKCRibGFjaywgLjQpICFkZWZhdWx0O1xuJGdyYXktNjAwOiAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRncmF5LTcwMDogICAgIHJnYmEoJGJsYWNrLCAuNikgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICAgICByZ2JhKCRibGFjaywgLjgpICFkZWZhdWx0O1xuJGdyYXktOTAwOiAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcblxuJGdyYXlzOiAoXG4gIFwiMjVcIjogJGdyYXktMjUsXG4gIFwiNTBcIjogJGdyYXktNTBcbikgIWRlZmF1bHQ7XG5cbiRibHVlOiAgICAgICAgICMxZTcwY2QgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgICAgICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICAgICAgIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAgICAgICAgICNlODNlOGMgIWRlZmF1bHQ7XG4kcmVkOiAgICAgICAgICAjZDk1MzRmICFkZWZhdWx0O1xuJG9yYW5nZTogICAgICAgI0ZFQjc0NCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAgICAgICNGRkQ5NTAgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgICAgICAjMDJCQzc3ICFkZWZhdWx0O1xuJHRlYWw6ICAgICAgICAgIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAgICAgICAgICMyOGMzZDcgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6IChcbiAgXCJwcmltYXJ5XCI6ICAgJGluZGlnbyxcbiAgXCJzZWNvbmRhcnlcIjogIzg4OTdBQSxcbiAgXCJzdWNjZXNzXCI6ICAgJGdyZWVuLFxuICBcImluZm9cIjogICAgICAkY3lhbixcbiAgXCJ3YXJuaW5nXCI6ICAgJHllbGxvdyxcbiAgXCJkYW5nZXJcIjogICAgJHJlZCxcbiAgXCJkYXJrXCI6ICAgICAgJGdyYXktOTAwXG4pICFkZWZhdWx0O1xuXG4kYm9keS1jb2xvcjogICAgICAgIzRFNTE1NSAhZGVmYXVsdDsgLy8jNGE0YTRhXG5cbi8vICMwNmNcbiRsaW5rLWNvbG9yOiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiBsaWdodGVuKCRsaW5rLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEZvbnRzXG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiBcIlJvYm90b1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1zZXJpZjogICAgICBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICBcIlNGTW9uby1SZWd1bGFyXCIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgIC44OTRyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXhsOiAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUteHM6ICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQ6ICAgNTAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgIDkwMCAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgIDEuNDcgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQteGw6ICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQteHM6ICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgMi4yNXJlbSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAxLjgxM3JlbSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAxLjU2M3JlbSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAxLjMxM3JlbSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICRmb250LXdlaWdodC1zZW1pYm9sZCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogJHNwYWNlciAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgIDRyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgMy41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkzLXNpemU6ICAgICAgICAgIDNyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTQtc2l6ZTogICAgICAgICAgMnJlbSAhZGVmYXVsdDtcblxuJHRpbnktZm9udC1zaXplOiAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRzbWFsbC1mb250LXNpemU6ICAgICAgICA4NSUgIWRlZmF1bHQ7XG4kYmlnLWZvbnQtc2l6ZTogICAgICAgICAgMTEyJSAhZGVmYXVsdDtcbiRsYXJnZS1mb250LXNpemU6ICAgICAgICAxNTAlICFkZWZhdWx0O1xuJHhsYXJnZS1mb250LXNpemU6ICAgICAgIDE3MCUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS01MDApICFkZWZhdWx0O1xuJHRleHQtbXV0ZWQtaG92ZXI6ICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTYwMCkgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogcmdiYS10by1oZXgoJGdyYXktNTAwKSAhZGVmYXVsdDtcbiR0ZXh0LWxpZ2h0OiAgICAgICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS00MDApICFkZWZhdWx0O1xuJHRleHQtbGlnaHRlcjogICAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTMwMCkgIWRlZmF1bHQ7XG4kdGV4dC1saWdodGVzdDogICAgICAgICAgcmdiYS10by1oZXgoJGdyYXktMjAwKSAhZGVmYXVsdDtcblxuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogIG5vbmUgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogR3JpZFxuXG4kZ3JpZC1ndXR0ZXItd2lkdGg6IDEuNXJlbSAhZGVmYXVsdDtcblxuJGNvbnRhaW5lci1wYWRkaW5nLXg6IDJyZW0gIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmcteC1zbTogMXJlbSAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy15OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQ29tcG9uZW50c1xuXG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssLjA2KSAhZGVmYXVsdDtcbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy14bDogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy14czogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAxLjU0ICFkZWZhdWx0O1xuJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGg6ICAgIDJweCAhZGVmYXVsdDtcblxuJGZsb2F0aW5nLWNvbXBvbmVudC1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xuJGZsb2F0aW5nLWNvbXBvbmVudC1zaGFkb3c6ICAgICAgIDAgMXB4IDZweCByZ2JhKDAsIDAsIDAsIC4wOSkgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kYm9yZGVyZWQtcm93LWJvcmRlci1jb2xvcjogICAgICAgJGhyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgIC40MmVtICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFotaW5kZXggbWFzdGVyIGxpc3RcblxuJHppbmRleC1sYXlvdXQtZml4ZWQ6ICAxMDgwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC10b3A6ICAgICAxMDkwICFkZWZhdWx0O1xuJHppbmRleC1sYXlvdXQtbW9iaWxlOiAxMTAwICFkZWZhdWx0O1xuJHppbmRleC1ub3RpZmljYXRpb246ICA5OTk5OTkgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVGFibGVzXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDI1KSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMzUpICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICByZ2JhLXRvLWhleCgkdGFibGUtaG92ZXItYmcpICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgIHJnYmEtdG8taGV4KCRncmF5LTEwMCkgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgJGdyYXktNTAgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1jb2xvcjogICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtZGFyay1iZzogICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWFjY2VudC1iZzogICAgcmdiYSgkd2hpdGUsIC4wMykgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1iZzogICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiBsaWdodGVuKHJnYmEtdG8taGV4KCRncmF5LTkwMCksIDclKSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEJ1dHRvbnNcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgLjQzOHJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgIDEuMTI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgMS41NCAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXkteHM6ICAgMCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXhzOiAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUteHM6ICAgJGZvbnQtc2l6ZS14cyAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQteHM6ICRsaW5lLWhlaWdodC14cyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgLjE4OHJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgIC42ODc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgMS41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXkteGw6ICAgLjg3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXhsOiAgIDIuMTI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUteGw6ICAgJGZvbnQtc2l6ZS14bCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQteGw6ICRsaW5lLWhlaWdodC14bCAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItcmFkaXVzLXhzOiAgICAgJGJvcmRlci1yYWRpdXMteHMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMteGw6ICAgICAkYm9yZGVyLXJhZGl1cy14bCAhZGVmYXVsdDtcblxuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuMjUpICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgbm9uZSAhZGVmYXVsdDtcblxuJGJ0bi1kZWZhdWx0LWJnOiAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnRuLWRlZmF1bHQtYm9yZGVyOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kYnRuLWRlZmF1bHQtY29sb3I6ICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBGb3Jtc1xuXG4kbGFiZWwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgIC44MzEyNXJlbSAhZGVmYXVsdDtcbiRsYWJlbC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LXNlbWlib2xkICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTEwMCkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkdGV4dC1saWdodCAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgICAgICBweC10by1yZW0oZmxvb3IocmVtLXRvLXB4KCgkaW5wdXQtYnRuLWZvbnQtc2l6ZSAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQpICsgKCRpbnB1dC1idG4tcGFkZGluZy15ICogMikpKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLXNtOiAgICAgICAgICAgICAgICAgICAgIHB4LXRvLXJlbShmbG9vcihyZW0tdG8tcHgoKCRpbnB1dC1idG4tZm9udC1zaXplLXNtICogJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSkgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gKiAyKSkpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItbGc6ICAgICAgICAgICAgICAgICAgICAgcHgtdG8tcmVtKGZsb29yKHJlbS10by1weCgoJGZvbnQtc2l6ZS1sZyAqICRsaW5lLWhlaWdodC1sZykgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgKiAyKSkpKSAhZGVmYXVsdDtcblxuJGlucHV0LWludmVydGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCNmZmYsIC4zKSAhZGVmYXVsdDtcbiRpbnB1dC1pbnZlcnRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRpbnB1dC1pbnZlcnRlZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWludmVydGVkLWJnICFkZWZhdWx0O1xuJGlucHV0LWludmVydGVkLXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICByZ2JhKCNmZmYsIC43KSAhZGVmYXVsdDtcbiRpbnB1dC1pbnZlcnRlZC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgcmdiYSgjZmZmLCAuMSkgIWRlZmF1bHQ7XG4kaW5wdXQtaW52ZXJ0ZWQtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICRpbnB1dC1pbnZlcnRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAgICAgICAxLjEyNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg6ICAgICAxcHggIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAgICAgKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSArIC40MzhyZW0pICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZzogICAgICAgICAgICAgIFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOS41IDcuNSclM0UlM0Nwb2x5bGluZSBwb2ludHM9JzAuNzUgNC4zNSA0LjE4IDYuNzUgOC43NSAwLjc1JyBzdHlsZT0nZmlsbDpub25lO3N0cm9rZTpfQ09MT1JfO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6MS41cHgnLyUzRSUzQy9zdmclM0VcIiAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgICAgNjUlIDY1JSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnOiAgICAgICAgICAgICAgICAgXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMCAxMCclM0UlM0NjaXJjbGUgY3g9JzUnIGN5PSc1JyByPSc0LjUnIHN0eWxlPSdmaWxsOl9DT0xPUl8nLyUzRSUzQ3BhdGggZD0nTTUsMUE0LDQsMCwxLDEsMSw1LDQsNCwwLDAsMSw1LDFNNSwwYTUsNSwwLDEsMCw1LDVBNSw1LDAsMCwwLDUsMFonIHN0eWxlPSdmaWxsOl9DT0xPUl8nLyUzRSUzQy9zdmclM0VcIiAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLXNpemU6ICAgICAgICAgICAgNDAlIDQwJSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgIG5vbmUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgICAgICAgICAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWludmVydGVkLWRpc2FibGVkLWNvbG9yOiAgICAgJGlucHV0LWludmVydGVkLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW52ZXJ0ZWQtZGlzYWJsZWQtYmc6ICAgICAgICAkaW5wdXQtaW52ZXJ0ZWQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgICAgICAgICAgMTdweCAxMnB4ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgICAgICAgICB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkVBQUFBTUNBWUFBQUNFSlZhL0FBQUFCR2RCVFVFQUFMR1BDL3hoQlFBQUFGNUpSRUZVS0JWamVQYjh4WDhHQ2dFVGhmckIyZ2VQSVN6RWVNZkR4Ni9oLzc5LzlkalVNakl4TlJMbG5SMWJOaldBRktNYkFoSUR5UkZsQ0VnenVrRXdBOEFHa3hyRklLK0JNRmd6akNEVkVKZytaSnBvN3lCclFtY1BIa01BUjVZZjU1SDlKTjRBQUFBQVNVVk9SSzVDWUlJPScpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWludmVydGVkOiAgICAgICAgICB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkVBQUFBTUNBWUFBQUNFSlZhL0FBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBRXBKUkVGVWVOcGkrUC8vdndNUU0xQ0NHWWFYSVN3TXhJRUtJQTdCSXI0R2lEdVlpRFNrQzRnUG9Za2Rnb3FUNUIwT0lGNEF4R2VnTkFlNVlTSUl4Sk9nOUhDTllxb1lBaEJnQUtIV0JnK2hSck54QUFBQUFFbEZUa1N1UW1DQycpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXJ0bDogICAgICAgICAgICAgICB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkVBQUFBTUNBWUFBQUNFSlZhL0FBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBRXRKUkVGVWVOcGlZS0FRUEh2KzRqOFRBeFhBNERHRXhjUEhyK0gvdjMvMTJDUVptWmdhZDJ6WjFFRFFKU0JGSU1Ya0dnRDNEcnBCcEJpQUFVQmVBMkZTbzVoaE5KMWdBSUFBQXdDMU15S0ZSbDZvbXdBQUFBQkpSVTVFcmtKZ2dnPT0nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1pbnZlcnRlZC1ydGw6ICAgICAgdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJFQUFBQU1DQVlBQUFDRUpWYS9BQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUZOSlJFRlVlTnBpK1AvL1B3TUYyQUZFTXpGUUFRd2VRMWlBdUFLSVE3RElyUUhpRG1KZDBnWEVoOURFRDBIRmlmYk9QeUN1QXVJclVMRXJVUDQvb3YyREZGMkNRRHdKU3BNVXhReWo2UVFEQUFRWUFLeDhveUJBLzNsQ0FBQUFBRWxGVGtTdVFtQ0MnKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIERyb3Bkb3duc1xuXG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGZsb2F0aW5nLWNvbXBvbmVudC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgJGRyb3Bkb3duLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgIC40MzhyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICRkcm9wZG93bi1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICRncmF5LTUwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstbGluZS1oZWlnaHQ6ICAgICRjb21wb25lbnQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAkdGV4dC1saWdodGVyICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTmF2c1xuXG4kbmF2LXNwYWNlcjogICAgICAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1saW5lLWhlaWdodDogICAgICAgICAgICAgICRjb21wb25lbnQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRuYXYtbGluay1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14LWxnOiAgICAgICAgICAgICAxLjMxMjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRuYXYtbGluay1wYWRkaW5nLXktc206ICAgICAgICAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteC1zbTogICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1saW5lLWhlaWdodC1zbTogICAgICAgICAgICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJG5hdi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJHRleHQtbXV0ZWQtaG92ZXIgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkdGV4dC1saWdodGVyICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMTAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTmF2YmFyXG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjdyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjgpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC40KSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMDYpICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFBhZ2luYXRpb25cblxuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAuOTM3NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgJHBhZ2luYXRpb24tYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICRncmF5LTEwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICBub25lICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1zcGFjZXI6ICAgICAgICAgICAgICAgIC4xODc1cmVtICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENhcmRzXG5cbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteC1zbTogICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1jb2xvcjogIHJnYmEoJGJsYWNrLC4wNikgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuXG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCA0cHggcmdiYSgkYmxhY2ssLjAwOSkgIWRlZmF1bHQ7XG4vLyAkY2FyZC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCA0cHggcmdiYSgkYmxhY2ssLjAzKSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBUb29sdGlwc1xuXG4kdG9vbHRpcC1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgcmdiYS10by1oZXgoJGdyYXktODAwKSAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgIDEgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAkZ3JheS01MCAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAuNjI1cmVtICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBCYWRnZXNcblxuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgLjg1OGVtICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGZvbnQtd2VpZ2h0LXNlbWlib2xkICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAuNDE3ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAuNTgzZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAxMHJlbSAhZGVmYXVsdDtcblxuJGJhZGdlLWRlZmF1bHQtYmc6ICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGJhZGdlLW91dGxpbmUtZGVmYXVsdC1jb2xvcjogJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTW9kYWxzXG5cbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgIDEuNTYyNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItcGFkZGluZzogICAgICAgICAgIDEuMjVyZW0gJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgIDBweCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgIDFweCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93ICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogJGZsb2F0aW5nLWNvbXBvbmVudC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgIDM1cmVtICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAyMi41cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICAuNSAhZGVmYXVsdDtcblxuJG1vZGFsLXNsaWRlLXdpZHRoOiAgICAgICAgICAgICAgMjByZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgIC4xNXMgIWRlZmF1bHQ7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICB0cmFuc2Zvcm0gJG1vZGFsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQWxlcnRzXG5cbiRhbGVydC1wYWRkaW5nLXk6IDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy14OiAxcmVtICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFByb2dyZXNzIGJhcnNcblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAuNjI1cmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICRncmF5LTUwICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6IDEwcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICNmZmYgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgIHJnYmEtdG8taGV4KCRib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAuNjI1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgLjkzNzVyZW0gIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICRncmF5LTI1ICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAkdGV4dC1saWdodGVyICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICR0ZXh0LW11dGVkLWhvdmVyICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICRncmF5LTUwICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEltYWdlIHRodW1ibmFpbHNcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAwICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgMHB4ICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAwcHggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgIG5vbmUgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgIDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAkdGV4dC1saWdodGVyICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICBcIi9cIiAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItcnRsOiAgIFwiXFxcXFwiICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFN3aXRjaGVyc1xuXG4kc3dpdGNoZXItc3BhY2VyLXg6ICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1zcGFjZXIteTogICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoZXItZ3V0dGVyOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHN3aXRjaGVyLWlubmVyLXNwYWNlcjogICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRzd2l0Y2hlci1zcXVhcmUtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRzd2l0Y2hlci1sYWJlbC1jb2xvcjogICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kc3dpdGNoZXItbGFiZWwtZGlzYWJsZWQtY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuJHN3aXRjaGVyLXdpZHRoOiAgICAgICAgICAgICAgICAyLjM3NXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1oZWlnaHQ6ICAgICAgICAgICAgICAgMS4zNzVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoZXItZm9udC1zaXplOiAgICAgICAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoZXItbGFiZWwtZm9udC1zaXplOiAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1sYWJlbC1saW5lLWhlaWdodDogICAgMS40ICFkZWZhdWx0O1xuXG4kc3dpdGNoZXItd2lkdGgtc206ICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoZXItaGVpZ2h0LXNtOiAgICAgICAgICAgIDEuMTI1cmVtICFkZWZhdWx0O1xuJHN3aXRjaGVyLWxhYmVsLWZvbnQtc2l6ZS1zbTogICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHN3aXRjaGVyLWxhYmVsLWxpbmUtaGVpZ2h0LXNtOiAxLjQ4NiAhZGVmYXVsdDtcblxuJHN3aXRjaGVyLXdpZHRoLWxnOiAgICAgICAgICAgICAzLjI1cmVtICFkZWZhdWx0O1xuJHN3aXRjaGVyLWhlaWdodC1sZzogICAgICAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuJHN3aXRjaGVyLWxhYmVsLWZvbnQtc2l6ZS1sZzogICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJHN3aXRjaGVyLWxhYmVsLWxpbmUtaGVpZ2h0LWxnOiAxLjQ3ICFkZWZhdWx0O1xuXG4kc3dpdGNoZXItb2ZmLWNvbG9yOiAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRzd2l0Y2hlci1vZmYtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHN3aXRjaGVyLWhvbGRlci1iZzogICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHN3aXRjaGVyLWhvbGRlci1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIC4wNCksIDAgMXB4IDZweCByZ2JhKCRibGFjaywgLjA5KSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBDbG9zZVxuXG4kY2xvc2UtZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAzcmVtICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFNpZGVuYXZcblxuJHNpZGVuYXYtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAxNS42MjVyZW0gIWRlZmF1bHQ7IC8vMjUwcHhcbiRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDogICAgICAgICAgICAgICAgNC4zNzVyZW0gIWRlZmF1bHQ7IC8vNzBweFxuXG4kc2lkZW5hdi1pdGVtLXNwYWNlcjogICAgICAgICAgICAgICAgICAgIC4wNjI1cmVtICFkZWZhdWx0O1xuXG4kc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteTogICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy14OiAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzaWRlbmF2LXZlcnRpY2FsLW1lbnUtbGluay1wYWRkaW5nLXk6ICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRzaWRlbmF2LXZlcnRpY2FsLW1lbnUtbGV2ZWwtc3BhY2VyOiAgICAgMXJlbSAhZGVmYXVsdDtcblxuJHNpZGVuYXYtaG9yaXpvbnRhbC1saW5rLXBhZGRpbmcteTogICAgICAxcmVtICFkZWZhdWx0O1xuJHNpZGVuYXYtaG9yaXpvbnRhbC1saW5rLXBhZGRpbmcteDogICAgICAxcmVtICFkZWZhdWx0O1xuJHNpZGVuYXYtaG9yaXpvbnRhbC1tZW51LWxpbmstcGFkZGluZy15OiAuNjI1cmVtICFkZWZhdWx0O1xuJHNpZGVuYXYtaG9yaXpvbnRhbC1tZW51LWxldmVsLXNwYWNlcjogICAxcmVtICFkZWZhdWx0O1xuXG4kc2lkZW5hdi1tZW51LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgIDEyLjVyZW0gIWRlZmF1bHQ7OyAvLzIwMHB4XG4kc2lkZW5hdi1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAgICAgIDIuMjVyZW0gIWRlZmF1bHQ7XG4kc2lkZW5hdi1jb250cm9sLWFycm93LXNpemU6ICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kc2lkZW5hdi1pY29uLWV4cGFuZGVkLXdpZHRoOiAgICAgICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG4kc2lkZW5hdi1pY29uLWV4cGFuZGVkLWZvbnQtc2l6ZTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc2lkZW5hdi1pY29uLWV4cGFuZGVkLXNwYWNlcjogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJHNpZGVuYXYtYW5pbWF0aW9uLWR1cmF0aW9uOiAgICAgICAgICAgICAuMnMgIWRlZmF1bHQ7XG5cbiRzaWRlbmF2LW1heC1sZXZlbHM6ICAgICAgICAgICAgICAgICAgICAgNSAhZGVmYXVsdDtcblxuJHNpZGVuYXYtZGFyay1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKSAhZGVmYXVsdDtcbiRzaWRlbmF2LWRhcmstbWVudS1iZzogICAgICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDYpICFkZWZhdWx0O1xuJHNpZGVuYXYtbGlnaHQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNikgIWRlZmF1bHQ7XG4kc2lkZW5hdi1saWdodC1tZW51LWJnOiAgICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA1KSAhZGVmYXVsdDtcblxuLy8gQ29uZmlnXG4kcnRsLXN1cHBvcnQ6IGZhbHNlICFkZWZhdWx0O1xuJG1hdGVyaWFsLXN0eWxlOiBmYWxzZTtcbiIsIkBpbXBvcnQgXCJfYXBwd29yay9pbmNsdWRlXCI7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQ3VzdG9tIGNvbG9yc1xuXG4kY3VzdG9tLWNvbG9yczogKFxuICB0d2l0dGVyOiAjMURBMUYyLFxuICBnb29nbGU6ICNEMTUyM0YsXG4gIGZhY2Vib29rOiAjM0I1OTk4LFxuICBwaW50ZXJlc3Q6ICNiZDEyMWMsXG4gIGluc3RhZ3JhbTogIzAwMCxcblxuICB3aW5kb3dzOiAjMjZBQUUxLFxuICBtYWNvczogIzM0MzQzNCxcbiAgbGludXg6ICM4MDAwODBcbikgIWRlZmF1bHQ7XG5cbkBlYWNoICRjb2xvci1uYW1lLCAkY29sb3ItdmFsdWUgaW4gJGN1c3RvbS1jb2xvcnMge1xuICBAaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LSN7JGNvbG9yLW5hbWV9JywgJGNvbG9yLXZhbHVlKTtcbiAgQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLSN7JGNvbG9yLW5hbWV9JywgJGNvbG9yLXZhbHVlKTtcblxuICBAaW5jbHVkZSBhcHB3b3JrLWJ1dHRvbi12YXJpYW50KCcuYnRuLSN7JGNvbG9yLW5hbWV9JywgJGNvbG9yLXZhbHVlKTtcbiAgQGluY2x1ZGUgYXBwd29yay1idXR0b24tb3V0bGluZS12YXJpYW50KCcuYnRuLW91dGxpbmUtI3skY29sb3ItbmFtZX0nLCAkY29sb3ItdmFsdWUpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEJ1dHRvbnNcblxuQGluY2x1ZGUgYXBwd29yay1idXR0b24tdmFyaWFudCgnLmJ0bi13aGl0ZScsICNmZmYsICRib2R5LWNvbG9yKTtcbkBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLW91dGxpbmUtdmFyaWFudCgnLmJ0bi1vdXRsaW5lLXdoaXRlJywgI2ZmZiwgJGJvZHktY29sb3IpO1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEN1c3RvbSBjb250cm9sc1xuXG4kY3VzdG9tLWNvbnRyb2wtY29sb3JzOiAoXG4gIGJsYWNrOiAjMDAwLFxuICB3aGl0ZTogI2ZmZixcbiAgc2lsdmVyOiAjZWVlLFxuICBncmF5OiAjNzc3LFxuICBnb2xkOiAjZmZlYjNiLFxuICBwaW5rOiAjZTkxZTYzLFxuICByZWQ6ICNmNDQzMzZcbikgIWRlZmF1bHQ7XG5cbkBlYWNoICRjb2xvci1uYW1lLCAkY29sb3ItdmFsdWUgaW4gJGN1c3RvbS1jb250cm9sLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGFwcHdvcmstY3VzdG9tLWNvbnRyb2wtdmFyaWFudCgnLmN1c3RvbS1jb250cm9sLmN1c3RvbS1jb250cm9sLSN7JGNvbG9yLW5hbWV9JywgJGNvbG9yLXZhbHVlLCAkZGVmYXVsdC1iYWNrZ3JvdW5kOiAkY29sb3ItdmFsdWUpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE5hdmJhclxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGlmICRjb2xvciAhPSBwcmltYXJ5IGFuZCAkY29sb3IgIT0gbGlnaHQge1xuICAgIEBpbmNsdWRlIGFwcHdvcmstbmF2YmFyLXZhcmlhbnQoJy5uYXZiYXIuYmctI3skY29sb3J9JywgJHZhbHVlKTtcbiAgfVxufVxuQGluY2x1ZGUgYXBwd29yay1uYXZiYXItdmFyaWFudCgnLm5hdmJhci5iZy13aGl0ZScsICAgI2ZmZiwgICAgICAkY29sb3I6ICR0ZXh0LW11dGVkLCAkYWN0aXZlLWNvbG9yOiAkYm9keS1jb2xvcik7XG5AaW5jbHVkZSBhcHB3b3JrLW5hdmJhci12YXJpYW50KCcubmF2YmFyLmJnLWxpZ2h0JywgICAkZ3JheS0xMDAsICRjb2xvcjogJHRleHQtbXV0ZWQsICRhY3RpdmUtY29sb3I6ICRib2R5LWNvbG9yKTtcbkBpbmNsdWRlIGFwcHdvcmstbmF2YmFyLXZhcmlhbnQoJy5uYXZiYXIuYmctbGlnaHRlcicsICRncmF5LTUwLCAgJGNvbG9yOiAkdGV4dC1tdXRlZCwgJGFjdGl2ZS1jb2xvcjogJGJvZHktY29sb3IpO1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFNpZGVuYXZcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpZiAkY29sb3IgIT0gcHJpbWFyeSBhbmQgJGNvbG9yICE9IGxpZ2h0IHtcbiAgICBAaW5jbHVkZSBhcHB3b3JrLXNpZGVuYXYtdmFyaWFudCgnLnNpZGVuYXYuYmctI3skY29sb3J9JywgJHZhbHVlKTtcbiAgfVxufVxuQGluY2x1ZGUgYXBwd29yay1zaWRlbmF2LXZhcmlhbnQoJy5zaWRlbmF2LmJnLXdoaXRlJywgI2ZmZiwgICAgICAgJGNvbG9yOiAkdGV4dC1tdXRlZCwgJGFjdGl2ZS1jb2xvcjogJGJvZHktY29sb3IsICRtZW51LWJnOiAjZmZmKTtcbkBpbmNsdWRlIGFwcHdvcmstc2lkZW5hdi12YXJpYW50KCcuc2lkZW5hdi5iZy1saWdodCcsICRncmF5LTEwMCwgICRjb2xvcjogJHRleHQtbXV0ZWQsICRhY3RpdmUtY29sb3I6ICRib2R5LWNvbG9yKTtcbkBpbmNsdWRlIGFwcHdvcmstc2lkZW5hdi12YXJpYW50KCcuc2lkZW5hdi5iZy1saWdodGVyJywgJGdyYXktNTAsICRjb2xvcjogJHRleHQtbXV0ZWQsICRhY3RpdmUtY29sb3I6ICRib2R5LWNvbG9yKTtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBGb290ZXJcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpZiAkY29sb3IgIT0gcHJpbWFyeSBhbmQgJGNvbG9yICE9IGxpZ2h0IHtcbiAgICBAaW5jbHVkZSBhcHB3b3JrLWZvb3Rlci12YXJpYW50KCcuZm9vdGVyLmJnLSN7JGNvbG9yfScsICR2YWx1ZSk7XG4gIH1cbn1cbkBpbmNsdWRlIGFwcHdvcmstZm9vdGVyLXZhcmlhbnQoJy5mb290ZXIuYmctd2hpdGUnLCAgICNmZmYsICAgICAgJGNvbG9yOiAkdGV4dC1tdXRlZCwgJGFjdGl2ZS1jb2xvcjogJGJvZHktY29sb3IpO1xuQGluY2x1ZGUgYXBwd29yay1mb290ZXItdmFyaWFudCgnLmZvb3Rlci5iZy1saWdodCcsICAgJGdyYXktMTAwLCAkY29sb3I6ICR0ZXh0LW11dGVkLCAkYWN0aXZlLWNvbG9yOiAkYm9keS1jb2xvcik7XG5AaW5jbHVkZSBhcHB3b3JrLWZvb3Rlci12YXJpYW50KCcuZm9vdGVyLmJnLWxpZ2h0ZXInLCAkZ3JheS01MCwgICRjb2xvcjogJHRleHQtbXV0ZWQsICRhY3RpdmUtY29sb3I6ICRib2R5LWNvbG9yKTtcbiJdfQ== */
