/**
 * Usage:
 *
 *   background-color: color(white);
 */
.u-type--light {
  font-weight: 300;
}

.u-type--regular {
  font-weight: 400;
}

.u-type--medium {
  font-weight: 500;
}

.u-type--bold {
  font-weight: 700;
}

/* breakpoints */
.image img {
  max-width: 100%;
  height: auto;
}

.image a {
  display: inline-block;
  max-width: 100%;
}

[data-whatinput=keyboard] .image a:focus,
[data-whatintent=keyboard] .image a:focus {
  outline: 2px dotted #000000;
  -webkit-box-shadow: 0 0 0 3px #e6e6e6;
          box-shadow: 0 0 0 3px #e6e6e6;
  border: none;
  margin: 2px;
}

.image .image-caption {
  font-family: Verdana, Tahoma, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1.6rem;
  line-height: 24px;
  font-style: normal;
  font-weight: 500;
}

.image.position-center img {
  display: block;
  margin: 0 auto !important;
}

.image.position-center .image-caption {
  text-align: center !important;
}

.image-default-size img {
  max-width: none;
  width: auto !important;
}

.image-full-size img {
  width: 100% !important;
  height: auto !important;
}

.image-left .component-content > div > img {
  float: left;
}

.image-right .component-content > div > img {
  float: right;
}

.c-image--accent,
.c-image--accent-right {
  position: relative;
}

.c-image--accent + .image-caption,
.c-image--accent-right + .image-caption {
  font-family: Verdana, Tahoma, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1.6rem;
  line-height: 24px;
  font-style: normal;
  font-weight: 500;
  margin: 8px 0;
}

.c-image--accent::before,
.c-image--accent-right::before {
  content: "";
  background-color: #da251d;
  top: 5%;
  width: 100%;
  height: 85%;
  position: absolute;
  z-index: -1;
}

.c-image--accent img,
.c-image--accent-right img {
  width: 100%;
}

.c-image--accent::before {
  left: -16px;
}

.c-image--accent-right::before {
  right: -16px;
}

.toggle-content > .image .c-image--accent {
  width: calc(100% - (16px + 2px));
  margin-left: 16px;
}

.toggle-content > .image .c-image--accent::before {
  left: -16px;
}

.toggle-content > .image .c-image--accent-right {
  width: calc(100% - (16px + 2px));
  margin-left: 16px;
}

.toggle-content > .image .c-image--accent-right::before {
  right: -16px;
}

.toggle-content img[alt="Accessible,"], .toggle-content img[alt="Star,"] {
  position: relative;
  top: -5px;
}

.toggle-content img[alt="Elevator icon,"], .toggle-content img[alt="Escalator icon,"] {
  position: relative;
  top: -8px;
}

span.access_entrance {
  position: absolute;
  top: -10em;
  left: -999em;
}

span.accessible_entrance {
  content: " ";
  background-image: url(/-/media/project/ttc/devproto/icons/accessible.svg);
  height: 24px;
  width: 24px;
  display: inline-block;
  background-size: 24px 24px;
  background-repeat: no-repeat;
  margin-left: 1px;
}

span.entry_level {
  content: " ";
  background-image: url(/-/media/project/ttc/devproto/icons/b_star.svg);
  height: 24px;
  width: 24px;
  display: inline-block;
  background-size: 24px 24px;
  background-repeat: no-repeat;
  margin-left: 1px;
}

h3.elevators {
  padding: 8px 0 8px 45px;
  background: url(/-/media/project/ttc/devproto/icons/elevator-icon.png) no-repeat 0px 0;
}

h3.escalators {
  padding: 8px 0 8px 45px;
  background: url(/-/media/project/ttc/devproto/icons/escalator-icon.gif) no-repeat 0px 0;
}

@media (min-width: 768px) {
  :not(.toggle-content) > .image .c-image--accent::before {
    left: -32px;
  }
  :not(.toggle-content) > .image .c-image--accent-right::before {
    right: -32px;
  }
}

@media (min-width: 1225px) {
  :not(.toggle-content) > .image .c-image--accent,
  :not(.toggle-content) > .image .c-image--accent-right {
    margin-left: -104px;
    margin-right: -104px;
  }
  :not(.toggle-content) > .image .c-image--accent + .image-caption,
  :not(.toggle-content) > .image .c-image--accent-right + .image-caption {
    left: -104px;
    position: absolute;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy9mdW5jdGlvbnMvX2NvbG9yLnNjc3MiLCJhYnN0cmFjdHMvdmFycy9fdHlwZS5zY3NzIiwiYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsImNvbXBvbmVudC1pbWFnZS5zY3NzIiwiY29tcG9uZW50LWltYWdlLmNzcyIsImFic3RyYWN0cy92YXJzL19jb2xvcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AY29tbW9uLXVpL3R5cG9ncmFwaHkvX21peGlucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2lvdGFjc3MvbW9kdWxlcy9pb3RhY3NzLXRvb2xzLWNvcmUvdXRpbGl0aWVzL19leHRyYWN0LXR5cGUtc2l6ZXMuc2NzcyIsImFic3RyYWN0cy9mdW5jdGlvbnMvX3B4LXRvLXJlbS5zY3NzIiwic3R5bGVzL2ltYWdlL2ltYWdlLWRlZmF1bHQtc2l6ZS5zY3NzIiwic3R5bGVzL2ltYWdlL2ltYWdlLWZ1bGwtc2l6ZS5zY3NzIiwic3R5bGVzL2ltYWdlL2ltYWdlLWxlZnQuc2NzcyIsInN0eWxlcy9pbWFnZS9pbWFnZS1yaWdodC5zY3NzIiwiYWJzdHJhY3RzL2Z1bmN0aW9ucy9fc3BhY2Uuc2NzcyIsImFic3RyYWN0cy9taXhpbnMvX3Nhc3MtbXEtbW9kLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQzhQRDtFQUNFLGlCQUFhO0NBQ2Q7O0FBRkQ7RUFDRSxpQkFBYTtDQUNkOztBQUZEO0VBQ0UsaUJBQWE7Q0FDZDs7QUFGRDtFQUNFLGlCQUFhO0NBQ2Q7O0FDeFBILGlCQUFpQjtBQ1ZqQjtFQUVJLGdCQUFlO0VBQ2YsYUFBWTtDQUNiOztBQUpIO0VBTUksc0JBQXFCO0VBQ3JCLGdCQUFlO0NBVWhCOztBQ2FIOztFRG5CUSw0QkVjUTtFRmJSLHNDQUFvQztVQUFwQyw4QkFBb0M7RUFDcEMsYUFBWTtFQUNaLFlBQVc7Q0FDWjs7QUFmUDtFR0VFLHlDTEp1RDtFS0t2RCxtQ0FBa0M7RUFDbEMsb0NBQW1DO0VDSGpDLGtCQ1VxRDtFRFRyRCxrQk5vTjJCO0VLbE16QixtQkxQYztFS09kLGlCTGRPO0NFY1Y7O0FBcEJIO0VBd0JNLGVBQWM7RUFDZCwwQkFBeUI7Q0FDMUI7O0FBMUJMO0VBNEJNLDhCQUE2QjtDQUM5Qjs7QU0vQkw7RUFFUSxnQkFBZTtFQUNmLHVCQUFzQjtDQUN6Qjs7QUNKTDtFQUVRLHVCQUFzQjtFQUN0Qix3QkFBdUI7Q0FDMUI7O0FDSkw7RUFDSSxZQUFXO0NBQ2Q7O0FDRkQ7RUFDSSxhQUFZO0NBQ2Y7O0FUc0NEOztFQUVFLG1CQUFrQjtDQW9CbkI7O0FBdEJEOztFR3BDRSx5Q0xKdUQ7RUtLdkQsbUNBQWtDO0VBQ2xDLG9DQUFtQztFQ0hqQyxrQkNVcUQ7RURUckQsa0JOb04yQjtFS2xNekIsbUJMUGM7RUtPZCxpQkxkTztFRXNDVCxjQUFpQjtDQUNsQjs7QUFQSDs7RUFVSSxZQUFXO0VBQ1gsMEJFOUNpQjtFRitDakIsUUFBTztFQUNQLFlBQVc7RUFDWCxZQUFXO0VBQ1gsbUJBQWtCO0VBQ2xCLFlBQVc7Q0FDWjs7QUFqQkg7O0VBb0JJLFlBQVc7Q0FDWjs7QUFHSDtFQUVJLFlVL0RvQjtDVmdFckI7O0FBR0g7RUFFSSxhVXJFb0I7Q1ZzRXJCOztBQUdIO0VBRUksaUNBQXVDO0VBQ3ZDLGtCVTVFb0I7Q1ZnRnJCOztBQVBIO0VBS00sWVU5RWtCO0NWK0VuQjs7QUFOTDtFQVVJLGlDQUF1QztFQUN2QyxrQlVwRm9CO0NWd0ZyQjs7QUFmSDtFQWFNLGFVdEZrQjtDVnVGbkI7O0FBSUw7RUFFSSxtQkFBa0I7RUFDbEIsVUFBUztDQUNWOztBQUpIO0VBT0ksbUJBQWtCO0VBQ2xCLFVBQVM7Q0FDVjs7QUFHSDtFQUNFLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsYUFBWTtDQUNiOztBQUVEO0VBQ0UsYUFBWTtFQUNaLDBFQUF5RTtFQUN6RSxhQUFZO0VBQ1osWUFBVztFQUNYLHNCQUFxQjtFQUNyQiwyQkFBMEI7RUFDMUIsNkJBQTRCO0VBQzVCLGlCQUFnQjtDQUNqQjs7QUFFRDtFQUNFLGFBQVk7RUFDWixzRUFBcUU7RUFDckUsYUFBWTtFQUNaLFlBQVc7RUFDWCxzQkFBcUI7RUFDckIsMkJBQTBCO0VBQzFCLDZCQUE0QjtFQUM1QixpQkFBZ0I7Q0FDakI7O0FBRUQ7RUFDRSx3QkFBdUI7RUFDdkIsdUZBQXNGO0NBQ3ZGOztBQUVEO0VBQ0Usd0JBQXVCO0VBQ3ZCLHdGQUF1RjtDQUN4Rjs7QVdxRk87RVhsRk47SUFHTSxZVWpKZ0I7R1ZrSmpCO0VBSkw7SUFRTSxhVXRKZ0I7R1Z1SmpCO0NDcUNOOztBVW9DTztFWG5FTjs7SUFHSSxvQlVoS2tCO0lWaUtsQixxQlVqS2tCO0dWc0tuQjtFQVRIOztJQU1NLGFVbktnQjtJVm9LaEIsbUJBQWtCO0dBQ25CO0NDb0NOIiwiZmlsZSI6ImNvbXBvbmVudC1pbWFnZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogVXNhZ2U6XHJcbiAqXHJcbiAqICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xyXG4gKi9cclxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XHJcbiRmdW5jdGlvbmFsLWNvbG9yczogKCkgIWRlZmF1bHQ7XHJcblxyXG5AZnVuY3Rpb24gY29sb3IoJGNvbG9yKSB7XHJcbiAgQGlmIG1hcC1nZXQoJGNvbG9ycywgJGNvbG9yKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGNvbG9ycywgJGNvbG9yKTtcclxuICB9IEBlbHNlIGlmIG1hcC1nZXQoJGZ1bmN0aW9uYWwtY29sb3JzLCAkY29sb3IpIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkZnVuY3Rpb25hbC1jb2xvcnMsICRjb2xvcik7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAvKiBTdHlsZWZtdCBjaGFuZ2VzIHRoZSBxdW90ZXMgZXZlcnkgdGltZSwgc28gdHVybmluZyBvZmYgdGhlIGVycm9yIGhlcmUgKi9cclxuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzdHJpbmctcXVvdGVzICovXHJcbiAgICBAZXJyb3IgXCJDb2xvciBcXFwiI3skY29sb3J9XFxcImNvdWxkIG5vdCBiZSBmb3VuZFwiO1xyXG4gIH1cclxufVxyXG4iLCIkdWktdHlwb2dyYXBoeS1zdGFjay1kZWZhdWx0OiBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XHJcblxyXG4kdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5nczogVmVyZGFuYSwgVGFob21hLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xyXG5cclxuJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzOiAoXHJcbiAgLy8gdGhpbjogMTAwLFxyXG4gIGxpZ2h0OiAzMDAsXHJcbiAgcmVndWxhcjogNDAwLFxyXG4gIG1lZGl1bTogNTAwLFxyXG4gIGJvbGQ6IDcwMCxcclxuICAvLyBibGFjazogOTAwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kdWktdHlwb2dyYXBoeS1kZWZhdWx0OiAoXHJcbiAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWRlZmF1bHQsXHJcbiAgZm9udC1zdHlsZTogbm9ybWFsLFxyXG4gIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgbWVkaXVtKSxcclxuICBtYXJnaW46IDAsXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuJHVpLXR5cG9ncmFwaHktc3R5bGVzOiAoXHJcbiAgLy9ob21lcGFnZSBoZWFkZXJcclxuICBkNi1saC1sZzogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMzJweCksIDQwcHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oNjFweCksIDc2cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBkNjogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMzJweCksIDQwcHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oNTBweCksIDU2cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBkNTogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMjlweCksIDM2cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oNDFweCksIDQ0cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBkNS1saWdodDogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMjlweCksIDM2cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oNDFweCksIDQ0cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cyxsaWdodCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBkNDogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMjZweCksIDMycHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMzRweCksIDQwcHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBkMzogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMjNweCksIDI4cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMjhweCksIDM2cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBkMjogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMjFweCksIDI4cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMjRweCksIDMwcHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBkMTogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMThweCksIDI0cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMjBweCksIDI0cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBoMnN6OiAoXHJcbiAgICBzaXplczogMi45cmVtLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBib2xkKSxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGgzc3o6IChcclxuICAgIHNpemVzOiAyLjJyZW0sXHJcbiAgICBmb250LWZhbWlseTogJHVpLXR5cG9ncmFwaHktc3RhY2staGVhZGluZ3MsXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIGJvbGQpLFxyXG4gICAgbWFyZ2luOiAwIDAgc3BhY2UoKSAwLFxyXG4gICksXHJcblxyXG4gIGg0c3o6IChcclxuICAgIHNpemVzOiAxLjdyZW0sXHJcbiAgICBmb250LWZhbWlseTogJHVpLXR5cG9ncmFwaHktc3RhY2staGVhZGluZ3MsXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIGJvbGQpLFxyXG4gICAgbWFyZ2luOiAwIDAgc3BhY2UoKSAwLFxyXG4gICksXHJcbiAgaDVzejogKFxyXG4gICAgc2l6ZXM6IDIuNHJlbSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBsZWFkOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgyMnB4KSwgMzJweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgyNHB4KSwgMzZweCksXHJcbiAgICApLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCByZWd1bGFyKSxcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYyxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGQtc21hbGw6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE4cHgpLCAyOHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgICksXHJcbiAgICBmb250LWZhbWlseTogJHVpLXR5cG9ncmFwaHktc3RhY2staGVhZGluZ3MsXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIGJvbGQpLFxyXG4gICksXHJcbiAgZC14c21hbGw6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDE2cHgpLCAxNnB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIHJlZ3VsYXIpLFxyXG4gICksXHJcbiAgYm9keTogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMThweCksIDI4cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMjBweCksIDMycHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgbGlnaHQpLFxyXG4gICksXHJcbiAgYm9keTI6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE4cHgpLCAyOHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDIwcHgpLCAzMnB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIG1lZGl1bSksXHJcbiAgKSxcclxuICBsaW5rOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxOHB4KSwgMjhweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgyMHB4KSwgMzJweCksXHJcbiAgICApLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCByZWd1bGFyKSxcclxuICApLFxyXG4gIGRhdGU6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE2cHgpLCAyMHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIHJlZ3VsYXIpLFxyXG4gICksXHJcbiAgaGVhZGVyOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxNnB4KSwgMjBweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgyMHB4KSwgMzJweCksXHJcbiAgICApLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBtZWRpdW0pLFxyXG4gICksXHJcbiAgc3ViaGVhZGVyOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxOHB4KSwgMjhweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgyMHB4KSwgMzJweCksXHJcbiAgICApLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBtZWRpdW0pLFxyXG4gICksXHJcbiAgc2l0ZS1zZWFyY2g6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDIwcHgpLCAzMnB4KSxcclxuICAgICAgc206IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIHJlZ3VsYXIpLFxyXG4gICksXHJcbiAgaW5wdXQ6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE4cHgpLCAyOHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIHJlZ3VsYXIpLFxyXG4gICksXHJcbiAgYnJlYWRjcnVtYjogKFxyXG4gICAgc2l6ZXM6ICAoZ2V0LXJlbSgxNnB4KSwgMjRweCksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIHJlZ3VsYXIpLFxyXG4gICksXHJcbiAgZmVhdHVyZWQ6IChcclxuICAgIHNpemVzOiAgKGdldC1yZW0oMThweCksIDI4cHgpLFxyXG4gICksXHJcbiAgY29weXJpZ2h0OiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxNHB4KSwgMjhweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgxM3B4KSwgMjRweCksXHJcbiAgICApLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCByZWd1bGFyKSxcclxuICApLFxyXG4gIGNhcHRpb246IChcclxuICAgIHNpemVzOiAoZ2V0LXJlbSgxNnB4KSwgMjRweCksXHJcbiAgKSxcclxuICBmb3JtLWxhYmVsOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxOHB4KSwgMjhweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgxNnB4KSwgMjRweCksXHJcbiAgICApLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBtZWRpdW0pLFxyXG4gICksXHJcbiAgZm9ybS1oZWxwZXI6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE4cHgpLCAyOHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIHJlZ3VsYXIpLFxyXG4gICksXHJcbiAgcGRmOiAoXHJcbiAgICBzaXplczogKGdldC1yZW0oMTZweCksIDI0cHgpLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBsaWdodCksXHJcbiAgKSxcclxuICBtYXAtcmVzdWx0czogKFxyXG4gICAgc2l6ZXM6IChnZXQtcmVtKDE2cHgpLCAyMHB4KSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgbGlnaHQpLFxyXG4gICksXHJcbiAgYmV0YS1ub3RpY2U6IChcclxuICAgIHNpemVzOiAoZ2V0LXJlbSgxNnB4KSwgMjRweCksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIG1lZGl1bSksXHJcbiAgKSxcclxuICBzaXRlLXdpZGUtYWxlcnQ6IChcclxuICAgIHNpemVzOiAoZ2V0LXJlbSgxNnB4KSwgMjRweCksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIG1lZGl1bSksXHJcbiAgKSxcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG5AZWFjaCAkbmFtZSwgJHN0eWxlIGluICR1aS10eXBvZ3JhcGh5LXN0eWxlcyB7XHJcbiAgJHVpLXR5cG9ncmFwaHktc3R5bGVzOiBtYXAtbWVyZ2UoJHVpLXR5cG9ncmFwaHktc3R5bGVzLCAoXHJcbiAgICAjeyRuYW1lfTogbWFwLW1lcmdlKCR1aS10eXBvZ3JhcGh5LWRlZmF1bHQsICRzdHlsZSlcclxuICApKTtcclxufVxyXG5cclxuQGVhY2ggJG5hbWUsICRzdHlsZSBpbiAkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMge1xyXG4gIC51LXR5cGUtLSN7JG5hbWV9IHtcclxuICAgIGZvbnQtd2VpZ2h0OiAjeyRzdHlsZX07XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuIiwiLy8gQGltcG9ydCAnfnNhc3MtbXEvbXEnO1xyXG5AaW1wb3J0ICdtaXhpbnMvc2Fzcy1tcS1tb2Quc2Nzcyc7XHJcbkBpbXBvcnQgJ35AY29tbW9uLXVpL3R5cG9ncmFwaHkvbWl4aW5zJztcclxuQGltcG9ydCAnbWl4aW5zL2FjY2Vzc2liaWxpdHknO1xyXG5AaW1wb3J0ICdtaXhpbnMvYnV0dG9uJztcclxuQGltcG9ydCAnbWl4aW5zL2xpbmsnO1xyXG5AaW1wb3J0ICdtaXhpbnMvb3ZlcmxheSc7XHJcbkBpbXBvcnQgJ21peGlucy90cmFuc2l0aW9ucyc7XHJcbkBpbXBvcnQgJ21peGlucy9zaGFkb3dzJztcclxuQGltcG9ydCAnbWl4aW5zL3RhZyc7XHJcblxyXG4vLyBCZWxvdyBhcmUgbWl4aW4ncyBmcm9tIEZYQVxyXG4vKiBicmVha3BvaW50cyAqL1xyXG5cclxuJGJyZWFrLWRlc2t0b3A6IDk2MHB4O1xyXG4kYnJlYWstbW9iaWxlOiAzODBweDtcclxuJGJyZWFrLW1vYmlsZS1ob3Jpem9udGFsOiA2NDBweDtcclxuJGJyZWFrLW1vYmlsZS1sYXJnZTogNzg2cHg7XHJcbkBtaXhpbiB3cmFwcGVyKCkge1xyXG4gICAgbWF4LXdpZHRoOiA5NjBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XHJcbn1cclxuQG1peGluIGNsZWFyZml4IHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZVZhbHVlOiAxLjYpIHtcclxuICAgIGZvbnQtc2l6ZTogKCRzaXplVmFsdWUgKiAxMCkgKyBweDtcclxuICAgIGZvbnQtc2l6ZTogJHNpemVWYWx1ZSArIHJlbTtcclxufVxyXG5AbWl4aW4gb3BlbnNhbnMtZm9udC1zdGFjaygpIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZjtcclxufVxyXG5AbWl4aW4gbG9hZGluZy1naWYoKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBek1pQXpNaUlnZDJsa2RHZzlJak15SWlCb1pXbG5hSFE5SWpNeUlpQm1hV3hzUFNKaWJHRmpheUkrRFFvZ0lEeHdZWFJvSUNCdmNHRmphWFI1UFNJdU1qVWlJR1E5SWsweE5pQXdJRUV4TmlBeE5pQXdJREFnTUNBeE5pQXpNaUJCTVRZZ01UWWdNQ0F3SURBZ01UWWdNQ0JOTVRZZ05DQkJNVElnTVRJZ01DQXdJREVnTVRZZ01qZ2dRVEV5SURFeUlEQWdNQ0F4SURFMklEUWlMejROQ2lBZ1BIQmhkR2dnWm1sc2JEMG5JekZoT0RCaU5pY2daRDBpVFRFMklEQWdRVEUySURFMklEQWdNQ0F4SURNeUlERTJJRXd5T0NBeE5pQkJNVElnTVRJZ01DQXdJREFnTVRZZ05Ib2lQZzBLSUNBZ0lEeGhibWx0WVhSbFZISmhibk5tYjNKdElHRjBkSEpwWW5WMFpVNWhiV1U5SW5SeVlXNXpabTl5YlNJZ2RIbHdaVDBpY205MFlYUmxJaUJtY205dFBTSXdJREUySURFMklpQjBiejBpTXpZd0lERTJJREUySWlCa2RYSTlJakF1T0hNaUlISmxjR1ZoZEVOdmRXNTBQU0pwYm1SbFptbHVhWFJsSWlBdlBnMEtJQ0E4TDNCaGRHZytEUW84TDNOMlp6NE5DZz09KTtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiByZXNwb25kLXRvKCRtZWRpYSkge1xyXG4gICAgQGlmICRtZWRpYT09bW9iaWxlIHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJG1lZGlhPT1tb2JpbGUtaG9yaXpvbnRhbCB7XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLWhvcml6b250YWwgLSAxKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRtZWRpYT09bW9iaWxlLWxhcmdlIHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbGFyZ2UpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJG1lZGlhPT10YWJsZXQge1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vYmlsZSArIDEpIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstZGVza3RvcCAtIDEpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJG1lZGlhPT1hbGwtbW9iaWxlIHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1kZXNrdG9wIC0gMSkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkbWVkaWE9PWRlc2t0b3Age1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLWRlc2t0b3ApIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBib3JkZXItYmFzaWMoJHBvc2l0aW9uOmFsbCwgJGJvcmRlci1jb2xvcjokYm9yZGVyLWdyYXksICRib3JkZXItd2lkdGg6MXB4KSB7XHJcbiAgICBAaWYoJHBvc2l0aW9uPT10b3ApIHtcclxuICAgICAgICBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZigkcG9zaXRpb249PWJvdHRvbSkge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmKCRwb3NpdGlvbj09bGVmdCkge1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZigkcG9zaXRpb249PXJpZ2h0KSB7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbn1cclxuQG1peGluIGZpeGVkLWJnKCRwb3MsICRtaW4taGVpZ2h0OjI0MHB4KSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcG9zO1xyXG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcclxuICAgIG1pbi1oZWlnaHQ6ICRtaW4taGVpZ2h0O1xyXG59XHJcbkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzLi4uKSB7XHJcbiAgICAvLyBEaXJlY3Rpb24gaGFzIGJlZW4gb21pdHRlZCBhbmQgaGFwcGVucyB0byBiZSBhIGNvbG9yLXN0b3BcclxuICAgIEBpZiBpcy1kaXJlY3Rpb24oJGRpcmVjdGlvbik9PWZhbHNlIHtcclxuICAgICAgICAkY29sb3Itc3RvcHM6ICRkaXJlY3Rpb24sICRjb2xvci1zdG9wcztcclxuICAgICAgICAkZGlyZWN0aW9uOiAxODBkZWc7XHJcbiAgICB9XHJcbiAgICBiYWNrZ3JvdW5kOiBudGgobnRoKCRjb2xvci1zdG9wcywgMSksIDEpO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVnYWN5LWRpcmVjdGlvbigkZGlyZWN0aW9uKSwgJGNvbG9yLXN0b3BzKTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHMpO1xyXG59XHJcbiIsIkBpbXBvcnQgXCJhYnN0cmFjdHNcIjtcclxuXHJcbi5pbWFnZSB7XHJcbiAgaW1nIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxuICB9XHJcbiAgYSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgW2RhdGEtd2hhdGlucHV0PWtleWJvYXJkXSAmLCBcclxuICAgICAgW2RhdGEtd2hhdGludGVudD1rZXlib2FyZF0gJiB7XHJcbiAgICAgICAgb3V0bGluZTogMnB4IGRvdHRlZCBjb2xvcihibGFjayk7XHJcbiAgICAgICAgYm94LXNoYWRvdzowIDAgMCAzcHggaHNsKDAsIDAlLCA5MCUpO1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDJweDtcclxuICAgICAgfVxyXG4gICAgfSBcclxuICB9XHJcbiAgLmltYWdlLWNhcHRpb24ge1xyXG4gICAgQGluY2x1ZGUgdWktdHlwb2dyYXBoeShjYXB0aW9uKTtcclxuICB9XHJcblxyXG4gICYucG9zaXRpb24tY2VudGVyIHtcclxuICAgIGltZyB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmltYWdlLWNhcHRpb24ge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuQGltcG9ydCBcIkU6L0dpdExhYi1SdW5uZXIvYnVpbGRzL1hkQ3E0TXplLzAvd2Vic2l0ZS90dGMuY2Evc3JjL1VJL3Nhc3Mvc3R5bGVzL2ltYWdlL2ltYWdlLWRlZmF1bHQtc2l6ZS5zY3NzXCI7XG5AaW1wb3J0IFwiRTovR2l0TGFiLVJ1bm5lci9idWlsZHMvWGRDcTRNemUvMC93ZWJzaXRlL3R0Yy5jYS9zcmMvVUkvc2Fzcy9zdHlsZXMvaW1hZ2UvaW1hZ2UtZnVsbC1zaXplLnNjc3NcIjtcbkBpbXBvcnQgXCJFOi9HaXRMYWItUnVubmVyL2J1aWxkcy9YZENxNE16ZS8wL3dlYnNpdGUvdHRjLmNhL3NyYy9VSS9zYXNzL3N0eWxlcy9pbWFnZS9pbWFnZS1sZWZ0LnNjc3NcIjtcbkBpbXBvcnQgXCJFOi9HaXRMYWItUnVubmVyL2J1aWxkcy9YZENxNE16ZS8wL3dlYnNpdGUvdHRjLmNhL3NyYy9VSS9zYXNzL3N0eWxlcy9pbWFnZS9pbWFnZS1yaWdodC5zY3NzXCI7XG5cclxuXHJcbi5jLWltYWdlLS1hY2NlbnQsXHJcbi5jLWltYWdlLS1hY2NlbnQtcmlnaHQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgKyAuaW1hZ2UtY2FwdGlvbiB7XHJcbiAgICBAaW5jbHVkZSB1aS10eXBvZ3JhcGh5KGNhcHRpb24pO1xyXG4gICAgbWFyZ2luOiBzcGFjZSgpIDA7XHJcbiAgfVxyXG5cclxuICAmOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnkpO1xyXG4gICAgdG9wOiA1JTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiA4NSU7IFxyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgfVxyXG5cclxuICBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG4uYy1pbWFnZS0tYWNjZW50IHtcclxuICAmOjpiZWZvcmUge1xyXG4gICAgbGVmdDogLSBzcGFjZSgyKTtcclxuICB9XHJcbn1cclxuXHJcbi5jLWltYWdlLS1hY2NlbnQtcmlnaHQge1xyXG4gICY6OmJlZm9yZSB7XHJcbiAgICByaWdodDogLSBzcGFjZSgyKTtcclxuICB9XHJcbn1cclxuXHJcbi50b2dnbGUtY29udGVudCA+IC5pbWFnZSB7IFxyXG4gIC5jLWltYWdlLS1hY2NlbnQge1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtICgje3NwYWNlKDIpfSArIDJweCkpOyBcclxuICAgIG1hcmdpbi1sZWZ0OiBzcGFjZSgyKTtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGxlZnQ6IC0gc3BhY2UoMik7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC5jLWltYWdlLS1hY2NlbnQtcmlnaHQge1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtICgje3NwYWNlKDIpfSArIDJweCkpOyBcclxuICAgIG1hcmdpbi1sZWZ0OiBzcGFjZSgyKTtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIHJpZ2h0OiAtIHNwYWNlKDIpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnRvZ2dsZS1jb250ZW50IHtcclxuICBpbWdbYWx0PVwiQWNjZXNzaWJsZSxcIl0sIGltZ1thbHQ9XCJTdGFyLFwiXSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IC01cHg7XHJcbiAgfVxyXG5cclxuICBpbWdbYWx0PVwiRWxldmF0b3IgaWNvbixcIl0sIGltZ1thbHQ9XCJFc2NhbGF0b3IgaWNvbixcIl0ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAtOHB4O1xyXG4gIH1cclxufVxyXG5cclxuc3Bhbi5hY2Nlc3NfZW50cmFuY2Uge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IC0xMGVtO1xyXG4gIGxlZnQ6IC05OTllbTtcclxufVxyXG5cclxuc3Bhbi5hY2Nlc3NpYmxlX2VudHJhbmNlIHtcclxuICBjb250ZW50OiBcIiBcIjtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLy0vbWVkaWEvcHJvamVjdC90dGMvZGV2cHJvdG8vaWNvbnMvYWNjZXNzaWJsZS5zdmcpO1xyXG4gIGhlaWdodDogMjRweDtcclxuICB3aWR0aDogMjRweDtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgYmFja2dyb3VuZC1zaXplOiAyNHB4IDI0cHg7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBtYXJnaW4tbGVmdDogMXB4O1xyXG59XHJcblxyXG5zcGFuLmVudHJ5X2xldmVsIHtcclxuICBjb250ZW50OiBcIiBcIjtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLy0vbWVkaWEvcHJvamVjdC90dGMvZGV2cHJvdG8vaWNvbnMvYl9zdGFyLnN2Zyk7XHJcbiAgaGVpZ2h0OiAyNHB4O1xyXG4gIHdpZHRoOiAyNHB4O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggMjRweDtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIG1hcmdpbi1sZWZ0OiAxcHg7XHJcbn1cclxuXHJcbmgzLmVsZXZhdG9ycyB7XHJcbiAgcGFkZGluZzogOHB4IDAgOHB4IDQ1cHg7XHJcbiAgYmFja2dyb3VuZDogdXJsKC8tL21lZGlhL3Byb2plY3QvdHRjL2RldnByb3RvL2ljb25zL2VsZXZhdG9yLWljb24ucG5nKSBuby1yZXBlYXQgMHB4IDA7XHJcbn1cclxuXHJcbmgzLmVzY2FsYXRvcnMge1xyXG4gIHBhZGRpbmc6IDhweCAwIDhweCA0NXB4O1xyXG4gIGJhY2tncm91bmQ6IHVybCgvLS9tZWRpYS9wcm9qZWN0L3R0Yy9kZXZwcm90by9pY29ucy9lc2NhbGF0b3ItaWNvbi5naWYpIG5vLXJlcGVhdCAwcHggMDtcclxufVxyXG5cclxuQGluY2x1ZGUgbXEobWQpIHtcclxuICA6bm90KC50b2dnbGUtY29udGVudCkgPiAuaW1hZ2Uge1xyXG4gICAgLmMtaW1hZ2UtLWFjY2VudCB7XHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgbGVmdDogLSBzcGFjZSg0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmMtaW1hZ2UtLWFjY2VudC1yaWdodCB7XHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgcmlnaHQ6IC0gc3BhY2UoNCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1xKGxnKSB7XHJcbiAgOm5vdCgudG9nZ2xlLWNvbnRlbnQpID4gLmltYWdlIHtcclxuICAgIC5jLWltYWdlLS1hY2NlbnQsXHJcbiAgICAuYy1pbWFnZS0tYWNjZW50LXJpZ2h0IHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0gc3BhY2UoMTMpO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IC0gc3BhY2UoMTMpO1xyXG4gICAgICArIC5pbWFnZS1jYXB0aW9uIHtcclxuICAgICAgICBsZWZ0OiAtIHNwYWNlKDEzKTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLyoqXHJcbiAqIFVzYWdlOlxyXG4gKlxyXG4gKiAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcclxuICovXG4udS10eXBlLS1saWdodCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi51LXR5cGUtLXJlZ3VsYXIge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4udS10eXBlLS1tZWRpdW0ge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4udS10eXBlLS1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLyogYnJlYWtwb2ludHMgKi9cbi5pbWFnZSBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmltYWdlIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuW2RhdGEtd2hhdGlucHV0PWtleWJvYXJkXSAuaW1hZ2UgYTpmb2N1cyxcbltkYXRhLXdoYXRpbnRlbnQ9a2V5Ym9hcmRdIC5pbWFnZSBhOmZvY3VzIHtcbiAgb3V0bGluZTogMnB4IGRvdHRlZCAjMDAwMDAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggI2U2ZTZlNjtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDJweDtcbn1cblxuLmltYWdlIC5pbWFnZS1jYXB0aW9uIHtcbiAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uaW1hZ2UucG9zaXRpb24tY2VudGVyIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xufVxuXG4uaW1hZ2UucG9zaXRpb24tY2VudGVyIC5pbWFnZS1jYXB0aW9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5pbWFnZS1kZWZhdWx0LXNpemUgaW1nIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4uaW1hZ2UtZnVsbC1zaXplIGltZyB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4uaW1hZ2UtbGVmdCAuY29tcG9uZW50LWNvbnRlbnQgPiBkaXYgPiBpbWcge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmltYWdlLXJpZ2h0IC5jb21wb25lbnQtY29udGVudCA+IGRpdiA+IGltZyB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLmMtaW1hZ2UtLWFjY2VudCxcbi5jLWltYWdlLS1hY2NlbnQtcmlnaHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLWltYWdlLS1hY2NlbnQgKyAuaW1hZ2UtY2FwdGlvbixcbi5jLWltYWdlLS1hY2NlbnQtcmlnaHQgKyAuaW1hZ2UtY2FwdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luOiA4cHggMDtcbn1cblxuLmMtaW1hZ2UtLWFjY2VudDo6YmVmb3JlLFxuLmMtaW1hZ2UtLWFjY2VudC1yaWdodDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhMjUxZDtcbiAgdG9wOiA1JTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogODUlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4uYy1pbWFnZS0tYWNjZW50IGltZyxcbi5jLWltYWdlLS1hY2NlbnQtcmlnaHQgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jLWltYWdlLS1hY2NlbnQ6OmJlZm9yZSB7XG4gIGxlZnQ6IC0xNnB4O1xufVxuXG4uYy1pbWFnZS0tYWNjZW50LXJpZ2h0OjpiZWZvcmUge1xuICByaWdodDogLTE2cHg7XG59XG5cbi50b2dnbGUtY29udGVudCA+IC5pbWFnZSAuYy1pbWFnZS0tYWNjZW50IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtICgxNnB4ICsgMnB4KSk7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xufVxuXG4udG9nZ2xlLWNvbnRlbnQgPiAuaW1hZ2UgLmMtaW1hZ2UtLWFjY2VudDo6YmVmb3JlIHtcbiAgbGVmdDogLTE2cHg7XG59XG5cbi50b2dnbGUtY29udGVudCA+IC5pbWFnZSAuYy1pbWFnZS0tYWNjZW50LXJpZ2h0IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtICgxNnB4ICsgMnB4KSk7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xufVxuXG4udG9nZ2xlLWNvbnRlbnQgPiAuaW1hZ2UgLmMtaW1hZ2UtLWFjY2VudC1yaWdodDo6YmVmb3JlIHtcbiAgcmlnaHQ6IC0xNnB4O1xufVxuXG4udG9nZ2xlLWNvbnRlbnQgaW1nW2FsdD1cIkFjY2Vzc2libGUsXCJdLCAudG9nZ2xlLWNvbnRlbnQgaW1nW2FsdD1cIlN0YXIsXCJdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC01cHg7XG59XG5cbi50b2dnbGUtY29udGVudCBpbWdbYWx0PVwiRWxldmF0b3IgaWNvbixcIl0sIC50b2dnbGUtY29udGVudCBpbWdbYWx0PVwiRXNjYWxhdG9yIGljb24sXCJdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC04cHg7XG59XG5cbnNwYW4uYWNjZXNzX2VudHJhbmNlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xMGVtO1xuICBsZWZ0OiAtOTk5ZW07XG59XG5cbnNwYW4uYWNjZXNzaWJsZV9lbnRyYW5jZSB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLy0vbWVkaWEvcHJvamVjdC90dGMvZGV2cHJvdG8vaWNvbnMvYWNjZXNzaWJsZS5zdmcpO1xuICBoZWlnaHQ6IDI0cHg7XG4gIHdpZHRoOiAyNHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQtc2l6ZTogMjRweCAyNHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBtYXJnaW4tbGVmdDogMXB4O1xufVxuXG5zcGFuLmVudHJ5X2xldmVsIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvLS9tZWRpYS9wcm9qZWN0L3R0Yy9kZXZwcm90by9pY29ucy9iX3N0YXIuc3ZnKTtcbiAgaGVpZ2h0OiAyNHB4O1xuICB3aWR0aDogMjRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggMjRweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWFyZ2luLWxlZnQ6IDFweDtcbn1cblxuaDMuZWxldmF0b3JzIHtcbiAgcGFkZGluZzogOHB4IDAgOHB4IDQ1cHg7XG4gIGJhY2tncm91bmQ6IHVybCgvLS9tZWRpYS9wcm9qZWN0L3R0Yy9kZXZwcm90by9pY29ucy9lbGV2YXRvci1pY29uLnBuZykgbm8tcmVwZWF0IDBweCAwO1xufVxuXG5oMy5lc2NhbGF0b3JzIHtcbiAgcGFkZGluZzogOHB4IDAgOHB4IDQ1cHg7XG4gIGJhY2tncm91bmQ6IHVybCgvLS9tZWRpYS9wcm9qZWN0L3R0Yy9kZXZwcm90by9pY29ucy9lc2NhbGF0b3ItaWNvbi5naWYpIG5vLXJlcGVhdCAwcHggMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIDpub3QoLnRvZ2dsZS1jb250ZW50KSA+IC5pbWFnZSAuYy1pbWFnZS0tYWNjZW50OjpiZWZvcmUge1xuICAgIGxlZnQ6IC0zMnB4O1xuICB9XG4gIDpub3QoLnRvZ2dsZS1jb250ZW50KSA+IC5pbWFnZSAuYy1pbWFnZS0tYWNjZW50LXJpZ2h0OjpiZWZvcmUge1xuICAgIHJpZ2h0OiAtMzJweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIyNXB4KSB7XG4gIDpub3QoLnRvZ2dsZS1jb250ZW50KSA+IC5pbWFnZSAuYy1pbWFnZS0tYWNjZW50LFxuICA6bm90KC50b2dnbGUtY29udGVudCkgPiAuaW1hZ2UgLmMtaW1hZ2UtLWFjY2VudC1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMDRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMDRweDtcbiAgfVxuICA6bm90KC50b2dnbGUtY29udGVudCkgPiAuaW1hZ2UgLmMtaW1hZ2UtLWFjY2VudCArIC5pbWFnZS1jYXB0aW9uLFxuICA6bm90KC50b2dnbGUtY29udGVudCkgPiAuaW1hZ2UgLmMtaW1hZ2UtLWFjY2VudC1yaWdodCArIC5pbWFnZS1jYXB0aW9uIHtcbiAgICBsZWZ0OiAtMTA0cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG59XG4iLCIvLyBVc2UgY29sb3IgZnVuY3Rpb25zIGZvciBUVENcclxuLy8gTmFtZXMgdGFrZW4gZnJvbSBodG1sY3NzY29sb3IuY29tIGlmIG5vdCBkZXNjcmlwdGl2ZSBlbm91Z2ggZnJvbSB6ZXBsaW5cclxuJGNvbG9yczogKFxyXG4gIHdoaXRlOiAjZmZmZmZmLFxyXG4gIHdoaXRlLXNtb2tlOiAjZjNmM2YzLFxyXG4gIGNoZXJyeS1yZWQ6ICNkYTI1MWQsXHJcbiAgc2NhcmxldDojNzQwMDAwLFxyXG4gIGNhcm1pbmU6ICNhMzAwMWMsXHJcbiAgY2VydWxlYW46IzAwNzBjZCxcclxuICBvY2Vhbi1ibHVlOiAjMDY1NmE1LFxyXG4gIGNlcnVsZWFuLXR3bzogIzAwOWFkZSxcclxuICBnb2xkZW4teWVsbG93OiAjZmZjNjI3LFxyXG4gIHdhcm0tZ3JleTogIzc2NzY3NixcclxuICBncmV5Mjk6ICM0YTRhNGEsXHJcbiAgZ3JleTcwOiAjYjNiM2IzLFxyXG4gIGR1c3R5LWdyZXk6ICNlZGVkZWQsXHJcbiAgd2FybS1ncmV5LTI6ICM5Nzk3OTcsXHJcbiAgZGltLWdyZXk6ICM2OTY5NjksXHJcbiAgd2hpdGUtdHdvOiAjZDVkNWQ1LFxyXG4gIHdoaXRlLXRocmVlOiAjZDJkMmQyLFxyXG4gIGdhaW5zYm9ybzogI2Q4ZDhkOCxcclxuICBuZXJvOiAjMWUxZTFlLFxyXG4gIGdvbGRlbi1wb3BweTogI2Y4YzMwMCxcclxuICBleHByZXNzLWdyZWVuOiAjMDA5MjNmLFxyXG4gIG5pZ2h0LWJsdWU6ICMwMjQxODIsXHJcbiAgY29tbXVuaXR5LWdyZXk6ICM4MDgwODAsXHJcbiAgbWF1dmUtdGF1cGU6ICM5NzU4NkIsXHJcbiAgYmxhY2s6ICMwMDAwMDAsXHJcbik7XHJcblxyXG4kZnVuY3Rpb25hbC1jb2xvcnM6IChcclxuICBwcmltYXJ5LWNvbnRyYXN0OiBjb2xvcih3aGl0ZSksXHJcbiAgcHJpbWFyeS1jb250cmFzdC1kYXJrOiBjb2xvcih3aGl0ZS1zbW9rZSksXHJcbiAgcHJpbWFyeTogY29sb3IoY2hlcnJ5LXJlZCksXHJcbiAgcHJpbWFyeS1kYXJrOiBjb2xvcihzY2FybGV0KSxcclxuICBwcmltYXJ5LWRhcmtlcjogY29sb3IoY2FybWluZSksXHJcbiAgc2Vjb25kYXJ5OiBjb2xvcihjZXJ1bGVhbiksXHJcbiAgc2Vjb25kYXJ5LWRhcms6IGNvbG9yKG9jZWFuLWJsdWUpLFxyXG4gIHNlY29uZGFyeS1saWdodDogY29sb3IoY2VydWxlYW4tdHdvKSxcclxuICBhY2NlbnQteWVsbG93OiBjb2xvcihnb2xkZW4teWVsbG93KSxcclxuICBncmV5OiBjb2xvcihncmV5MjkpLFxyXG4gIGdyZXktbWVudTogY29sb3IoZHVzdHktZ3JleSksXHJcbiAgZ3JleS1ib3JkZXI6IGNvbG9yKHdhcm0tZ3JleSksXHJcbiAgZ3JleS1ib3JkZXItMjogY29sb3Iod2hpdGUtdGhyZWUpLFxyXG4gIGdyZXktcGxhY2Vob2xkZXI6IGNvbG9yKGdyZXk3MCksXHJcbiAgZ3JleS0yOiBjb2xvcih3YXJtLWdyZXktMiksXHJcbiAgY2Fyb3VzZWwtZG90czogY29sb3IoZGltLWdyZXkpLFxyXG4gIGdyZXktbGlnaHQ6IGNvbG9yKGdhaW5zYm9ybyksXHJcbiAgdGFiLS1kaXNhYmxlZDogY29sb3Iod2hpdGUtdHdvKSxcclxuICBiYWNrZHJvcDogcmdiYSgwLDAsMCwwLjcpLFxyXG4gIGJsYWNrOiBjb2xvcihibGFjayksXHJcbiAgc2l0ZS13aWRlLWFsZXJ0OiBjb2xvcihnb2xkZW4tcG9wcHkpLFxyXG4gIHZpc2l0ZWQtLWxpbms6IGNvbG9yKG1hdXZlLXRhdXBlKSxcclxuKTtcclxuXHJcbi8vQmFja2dyb3VuZHMgY29sb3JzXHJcbiRiZy10cmFuc3BhcmVudDp0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuJGJnLWJhc2ljLWNvbG9yOiNGRkZGRkYgIWRlZmF1bHQ7XHJcbiRiZy1iYXNpYy1jb2xvci1hY3RpdmU6ICNjY2NjY2MgIWRlZmF1bHQ7XHJcbiRiZy1saWdodC1ncmF5OiAjZjdmN2Y3ICFkZWZhdWx0O1xyXG4kYmctbGlnaHQtZ3JheS1hY3RpdmU6ICNkYWRhZGEgIWRlZmF1bHQ7XHJcbiRiZy1ibHVlOiM4OUM2Q0M7XHJcbiRiZy1ibHVlLWFjdGl2ZTogIzE1OTA5YyAhZGVmYXVsdDtcclxuJGJnLXN1Ym1lbnU6I2VkZWJlYiAhZGVmYXVsdDtcclxuJGJnLXN1Ym1lbnUtYWN0aXZlOiNmNmY2ZjYgIWRlZmF1bHQ7XHJcbiRiZy1ibGFjazojMDAwMDAwO1xyXG4kYmctYmxhY2stYWN0aXZlOiMzZDNkM2Q7XHJcbi8vVGV4dCBjb2xvcnNcclxuJHRleHQtd2hpdGU6I2ZmZiAhZGVmYXVsdDtcclxuJHRleHQtaGVhZGluZy1jb2xvcjogIzIyMiAhZGVmYXVsdDtcclxuJHRleHQtYmFzaWM6Izc0NzQ3NCAhZGVmYXVsdDtcclxuJHRleHQtYmFzaWMtYWN0aXZlOiM4Nzg3ODcgIWRlZmF1bHQ7XHJcbiR0ZXh0LWJsdWU6Izg5QzZDQyAhZGVmYXVsdDtcclxuJHRleHQtYmx1ZS1hY3RpdmU6IzE1OTA5YyAhZGVmYXVsdDtcclxuJHRleHQtc3VibWVudS1hY3RpdmU6ICMyMjIgIWRlZmF1bHQ7XHJcbiR0ZXh0LWRpc2FibGVkOiAjYWFhICFkZWZhdWx0O1xyXG4kdGV4dC1ibGFjazogIzAwMDAwMCAhZGVmYXVsdDtcclxuLy9Cb3JkZXIgY29sb3JzXHJcbiRib3JkZXItZ3JheTogI2QyZDJkMiAhZGVmYXVsdDtcclxuJGJvcmRlci13aGl0ZTogI2ZmZmZmZiAhZGVmYXVsdDtcclxuJGJvcmRlci1iYXNpYy1jb2xvcjogIzg5QzZDQyAhZGVmYXVsdDtcclxuJGJvcmRlci1iYXNpYy1hY3RpdmU6IzE1OTA5YyAhZGVmYXVsdDtcclxuXHJcbi8vU3R5bGVzIGZvciBlYWNoIGNvbXBvbmVudCBzZXBhcmF0ZWx5XHJcbi8vQWNjb3JkaW9uXHJcbiRhY2NvcmRpb24taGVhZGVyLWJnOiB0cmFuc3BhcmVudDtcclxuJGFjY29yZGlvbi1oZWFkZXItYmctYWN0aXZlOiB0cmFuc3BhcmVudDtcclxuJGFjY29yZGlvbi10b2dnbGVkLWJnOiB0cmFuc3BhcmVudDtcclxuJGFjY29yZGlvbi1oZWFkZXItYm9yZGVyOiAkYm9yZGVyLWdyYXk7XHJcbi8vQnJlYWRjcnVtYlxyXG4kYnJlYWRjcnVtYi1kcm9wZG93bi1iZzokYmctYmFzaWMtY29sb3I7XHJcbiRicmVhZGNydW1iLWRyb3Bkb3duLWJnLWFjdGl2ZTokYmctYmx1ZTtcclxuJGJyZWFkY3J1bWItZHJvcGRvd24tdGV4dC1hY3RpdmU6JHRleHQtd2hpdGU7XHJcbiRicmVhZGNydW1iLWJnOnRyYW5zcGFyZW50O1xyXG4kYnJlYWRjcnVtYi1jb2xvcjokdGV4dC1iYXNpYztcclxuJGJyZWFkY3J1bWItY29sb3ItYWN0aXZlOiR0ZXh0LWJsdWUtYWN0aXZlO1xyXG4vL0J1dHRvbnMgY29sb3JzXHJcbiRidG4tZ3JlZW4tbGlnaHQ6ICNhMGNlNGU7XHJcbiRidG4tZ3JlZW46ICM5MmJlNDM7XHJcbiRidG4tcmVkLWFjdGl2ZTogI2MzNGUzMDtcclxuJGJ0bi1yZWQ6ICNiYzQ1MjY7XHJcbi8vQ2Fyb3VzZWxcclxuJGNhcm91c2VsLWJnOiRiZy1iYXNpYy1jb2xvcjtcclxuJGNhcm91c2VsLW5hdi1hY3RpdmU6JHRleHQtYmFzaWMtYWN0aXZlO1xyXG4kY2Fyb3VzZWwtbmF2LWJvcmRlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4vL0NvbnRhaW5lciBjb21wb25lbnRcclxuJGNvbnRhaW5lci10aXRsZS1yb3ctYmc6ICRiZy1saWdodC1ncmF5O1xyXG4vL0V2ZW50IExpc3RcclxuJGV2ZW50LWxpc3QtYmc6dHJhbnNwYXJlbnQ7XHJcbiRldmVudC1saXN0LWl0ZW0tYmc6JGJnLWJhc2ljLWNvbG9yO1xyXG4kZXZlbnQtbGlzdC1pdGVtLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kZXZlbnQtbGlzdC10aXRsZS1ib3JkZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuLy9DYWxlbmRhclxyXG4kY2FsZW5kYXItYmc6JGJnLWJhc2ljLWNvbG9yO1xyXG4kY2FsZW5kYXItaGVhZGVyLWJnOiRiZy1iYXNpYy1jb2xvci1hY3RpdmU7XHJcbiRjYWxlbmRhci1kYXktY29sb3ItYWN0aXZlOiR0ZXh0LXdoaXRlO1xyXG4vL0ZlZWRcclxuJGZlZWQtYmc6dHJhbnNwYXJlbnQ7XHJcbiRmZWVkLWl0ZW0tYmc6dHJhbnNwYXJlbnQ7XHJcbi8vRmllbGQgRWRpdG9yXHJcbiRmaWVsZC1lZGl0b3ItYmc6dHJhbnNwYXJlbnQ7XHJcbiRmaWVsZC1lZGl0b3ItdGFibGUtYm9yZGVyOiRiZy1saWdodC1ncmF5O1xyXG4kZmllbGQtZWRpdG9yLXRleHQtaGVhZGVyOiR0ZXh0LWJsYWNrO1xyXG4kZmllbGQtZWRpdG9yLXRleHQ6JHRleHQtYmFzaWM7XHJcbi8vRmlsZSBMaXN0XHJcbiRmaWxlLWxpc3QtYmc6dHJhbnNwYXJlbnQ7XHJcbiRmaWxlLWxpc3QtaXRlbS1iZzp0cmFuc3BhcmVudDtcclxuJGZpbGUtbGlzdC10aXRsZS1jb2xvcjokdGV4dC1iYXNpYztcclxuJGZpbGUtbGlzdC10aXRsZS1ib3JkZXI6dHJhbnNwYXJlbnQ7XHJcbiRmaWxlLWxpc3QtaXRlbS1jb2xvcjokdGV4dC1iYXNpYztcclxuJGZpbGUtbGlzdC1pdGVtLWNvbG9yLWFjdGl2ZTokdGV4dC1iYXNpYy1hY3RpdmU7XHJcbiRmaWxlLWxpc3QtaXRlbS1zaXplOiR0ZXh0LWJhc2ljO1xyXG4kZmlsZS1saXN0LWl0ZW0tYm9yZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuLy9GbGlwXHJcbiRmbGlwLWJnOnRyYW5zcGFyZW50O1xyXG4kZmxpcC1zbGlkZXMtYmc6JGJnLWJhc2ljLWNvbG9yO1xyXG4vL0dhbGxlcnlcclxuJGdhbGxlcmlhLWNvbnRhaW5lci1iZzokYmctYmxhY2s7XHJcbiRnYWxsZXJ5LWluZm8tYmc6JGJnLWJhc2ljLWNvbG9yO1xyXG4kZ2FsbGVyeS1pbmZvLWJvcmRlcjokYm9yZGVyLWdyYXk7XHJcbiRnYWxsZXJ5LWluZm8tdGV4dDokdGV4dC1iYXNpYztcclxuJGdhbGxlcnktbmF2LWFjdGl2ZTokdGV4dC13aGl0ZTtcclxuJGdhbGxlcnktbmF2OiR0ZXh0LWJhc2ljO1xyXG4kZ2FsbGVyeS1jb3VudGVyLWNvbG9yOiR0ZXh0LXdoaXRlO1xyXG4vL0xhbmd1YWdlIHNlbGVjdG9yXHJcbiRsYW5nLXNlbGVjdG9yLWJnOiRiZy1iYXNpYy1jb2xvcjtcclxuJGxhbmctc2VsZWN0b3ItYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbiRsYW5nLXNlbGVjdG9yLWl0ZW0tYmctYWN0aXZlOiRiZy1iYXNpYy1jb2xvcjtcclxuJGxhbmctc2VsZWN0b3ItaXRlbS1ib3JkZXI6JGJvcmRlci13aGl0ZTtcclxuJGxhbmctc2VsZWN0b3ItaXRlbS1ib3JkZXItYWN0aXZlOiRib3JkZXItYmFzaWMtYWN0aXZlO1xyXG4vL1NpdGUgc2VsZWN0b3JcclxuJHNpdGUtc2VsZWN0b3ItY29sb3I6JHRleHQtYmFzaWM7XHJcbi8vTGluayBMaXN0XHJcbiRsaW5rLWxpc3QtYmc6dHJhbnNwYXJlbnQ7XHJcbiRsaW5rLWxpc3QtaGVhZGVyLWJvcmRlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4kbGluay1saXN0LWl0ZW1zLWJnOnRyYW5zcGFyZW50O1xyXG4kbGluay1saXN0LWl0ZW0tYmc6dHJhbnNwYXJlbnQ7XHJcbiRsaW5rLWxpc3QtaXRlbS1jb2xvcjokdGV4dC1iYXNpYztcclxuJGxpbmstbGlzdC1pdGVtLWNvbG9yLWFjdGl2ZTokdGV4dC1iYXNpYy1hY3RpdmU7XHJcbiRsaW5rLWxpc3QtaXRlbS1ib3JkZXItYWN0aXZlOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbi8vTG9naW5cclxuJGxvZ2luLWJnOnRyYW5zcGFyZW50O1xyXG4vL0xvZ291dFxyXG4kbG9nb3V0LWJnOnRyYW5zcGFyZW50O1xyXG4kbG9nb3V0LWxpbmstdGV4dC1jb2xvcjokdGV4dC1iYXNpYztcclxuJGxvZ291dC1saW5rLXRleHQtY29sb3ItYWN0aXZlOiR0ZXh0LWJhc2ljLWFjdGl2ZTtcclxuJGxvZ291dC1saW5rLWJvcmRlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4vL01hcFxyXG4kbWFwLWJnOnRyYW5zcGFyZW50O1xyXG4kbWFwLWJvcmRlcjpub25lO1xyXG4vL1BhZ2UgTGlzdFxyXG4kcGFnZS1saXN0LWJnOiRiZy10cmFuc3BhcmVudDtcclxuJHBhZ2UtbGlzdC1pdGVtLWJnOiRiZy10cmFuc3BhcmVudDtcclxuJHBhZ2UtbGlzdC1pdGVtLXRpdGxlLXRleHQ6JHRleHQtYmxhY2s7XHJcbiRwYWdlLWxpc3QtaXRlbS1ib3JkZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuLy9QYWdpbmF0aW9uXHJcbiRsaXN0LXBhZ2luYXRpb24tYmc6dHJhbnNwYXJlbnQ7XHJcbiRsaXN0LXBhZ2luYXRpb24tYWN0aXZlLWJnOiRiZy1ibHVlO1xyXG4kbGlzdC1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjokdGV4dC13aGl0ZTtcclxuJGxpc3QtcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6JHRleHQtYmx1ZTtcclxuJGxpc3QtcGFnaW5hdGlvbi1hY3RpdmUtYmc6JGJnLXN1Ym1lbnUtYWN0aXZlO1xyXG4kbGlzdC1wYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI6JGJvcmRlci1iYXNpYy1hY3RpdmU7XHJcbi8vUGxheSBsaXN0IFxyXG4kcGxheS1saXN0LWJnOnRyYW5zcGFyZW50O1xyXG4kcGxheS1saXN0LWl0ZW0tYmc6dHJhbnNwYXJlbnQ7XHJcbiRwbGF5LWxpc3QtaXRlbS1jb2xvcjokdGV4dC1iYXNpYztcclxuJHBsYXktbGlzdC1pdGVtLWNvbG9yLWFjdGl2ZTokdGV4dC13aGl0ZTtcclxuJHBsYXktbGlzdC1uYXYtYWN0aXZlOiR0ZXh0LWJsdWU7XHJcbiRwbGF5LWxpc3QtaXRlbS1iZzokYmctbGlnaHQtZ3JheTtcclxuJHBsYXktbGlzdC1pdGVtLWFjdGl2ZS1iZzokYmctYmx1ZTtcclxuJHBsYXktbGlzdC1ib3JkZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuJHBsYXktbGlzdC10aXRsZS1ib3JkZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuLy9Qcm9tb1xyXG4kcHJvbW8tYmc6JGJnLWJhc2ljLWNvbG9yO1xyXG4kcHJvbW8tYmctaGVybzpyZ2JhKDAsIDAsIDAsIDAuNSk7XHJcbiRwcm9tby1ib3JkZXI6JGJvcmRlci1ncmF5O1xyXG4kcHJvbW8taGVyby10ZXh0LWNvbG9yOiR0ZXh0LXdoaXRlO1xyXG4kcHJvbW8tc2hhZG93LWJvcmRlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4vL1JpY2ggVGV4dCBDb250ZW50XHJcbiRyaWNoLWNvbnRlbnQtYmc6dHJhbnNwYXJlbnQ7XHJcbiRyaWNoLWNvbnRlbnQtY29sb3I6JHRleHQtYmFzaWM7XHJcbiRyaWNoLWNvbnRlbnQtYm9yZGVyOm5vbmU7XHJcbi8vU2VhcmNoXHJcbiRzZWFyY2gtZmlsdGVyOiR0ZXh0LWJhc2ljO1xyXG4kc2VhcmNoLWZpbHRlci1ib3JkZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuLy9NZW51IGNvbG9yc1xyXG4kbWVudS1ob3Zlci1jb2xvcjojMWI4MDllO1xyXG4kbWVudS1hY3RpdmUtY29sb3I6IzE3NmY4OTtcclxuLy9OYXZpZ2F0aW9uXHJcbiRuYXYtYmc6dHJhbnNwYXJlbnQ7XHJcbiRuYXYtY29sb3Itcm9vdDokdGV4dC1iYXNpYztcclxuJG5hdi1jb2xvci1yb290LWFjdGl2ZTokdGV4dC1iYXNpYztcclxuJG5hdi1ib3JkZXItcm9vdDokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4kbmF2LWJvcmRlci1yb290LWFjdGl2ZTokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4kbmF2LWNvbG9yLXN1Ym1lbnU6JHRleHQtc3VibWVudS1hY3RpdmU7XHJcbiRuYXYtY29sb3Itc3VibWVudS1hY3RpdmU6JHRleHQtc3VibWVudS1hY3RpdmU7XHJcbiRuYXYtYmctcm9vdDokYmctc3VibWVudS1hY3RpdmU7XHJcbiRuYXYtYmctc3VibWVudTokYmctc3VibWVudS1hY3RpdmU7XHJcbiRuYXYtYmctc3VibWVudS1hY3RpdmU6JGJnLXN1Ym1lbnUtYWN0aXZlO1xyXG4kbmF2LWJvcmRlci1zdWJtZW51OiRib3JkZXItYmFzaWMtY29sb3I7XHJcbiRuYXYtc3VibWVudS1pdGVtLWJvcmRlcjokYm9yZGVyLWdyYXk7XHJcbiRuYXYtc3VibWVudS1ib3JkZXItYWN0aXZlOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbi8vU29jaWFsIE1lZGlhIFNoYXJlXHJcbiRzb2NpYWwtbWVkaWEtc2hhcmUtYmc6dHJhbnNwYXJlbnQ7XHJcbi8vVGFic1xyXG4kdGFiLWhlYWRpbmctYmc6JGJnLWxpZ2h0LWdyYXk7XHJcbiR0YWItaGVhZGluZy1hY3RpdmUtYmc6JGJnLWJhc2ljLWNvbG9yO1xyXG4kdGFiLWhlYWRpbmctY29sb3I6JHRleHQtaGVhZGluZy1jb2xvcjtcclxuJHRhYi1oZWFkaW5nLWFjdGl2ZS1jb2xvcjokdGV4dC1ibGFjaztcclxuJHRhYi1jb250YWluZXItYmc6dHJhbnNwYXJlbnQ7XHJcbiR0YWItY29udGFpbmVyLWJvcmRlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4vL1RpdGxlXHJcbiR0aXRsZS1iZzp0cmFuc3BhcmVudDtcclxuJHRpdGxlLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kdGl0bGUtY29sb3ItYWN0aXZlOiR0ZXh0LWJhc2ljLWFjdGl2ZTtcclxuLy9Ub2dnbGVcclxuJHRvZ2dsZS1oZWFkZXItYmc6JGJnLWJhc2ljLWNvbG9yO1xyXG4kdG9nZ2xlLWNvbnRlbnQtYmc6JGJnLWJhc2ljLWNvbG9yO1xyXG4kdG9nZ2xlLXNob3ctY29sb3I6JHRleHQtYmFzaWMtYWN0aXZlO1xyXG4vL1NlYXJjaCBDb21wb25lbnRzXHJcbiRzZWFyY2gtYnRuLWJnOnRyYW5zcGFyZW50O1xyXG4kc2VhcmNoLWJ0bi1hY3RpdmUtYmc6I2UwZTBlMDtcclxuJHNlYXJjaC1idG4tYWN0aXZlLWJvcmRlcjojYWRhZGFkO1xyXG4vL0ltYWdlIGNvbXBvbmVudFxyXG4kaW1hZ2UtY2FwdGlvbi1jb2xvcjokdGV4dC1iYXNpYztcclxuLy9NZWRpYSBMaW5rIENvbXBvbmVudFxyXG4kbWVkaWEtbGluay1iZzp0cmFuc3BhcmVudDtcclxuJG1lZGlhLWxpbmstYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbiRtZWRpYS1saW5rLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kbWVkaWEtbGluay1jb2xvci1hY3RpdmU6JHRleHQtYmFzaWMtYWN0aXZlO1xyXG4vL1RhZyBDb21wb25lbnRcclxuJHRhZy1jb2xvcjokdGV4dC1iYXNpYztcclxuJHRhZy1jb2xvci1hY3RpdmU6JHRleHQtYmFzaWMtYWN0aXZlO1xyXG4kdGFnLWJvcmRlci1hY3RpdmU6JGJvcmRlci1iYXNpYy1hY3RpdmU7XHJcbiR0YWctbGluay1iZyA6JGJnLWJsdWU7XHJcbiR0YWctbGluay1iZy1hY3RpdmUgOiRiZy1ibHVlLWFjdGl2ZTtcclxuJHRhZy1saW5rLWNvbG9yIDokdGV4dC13aGl0ZTtcclxuLy9MaW5rIENvbXBvbmVudFxyXG4kbGluay1iZzp0cmFuc3BhcmVudDtcclxuJGxpbmstdGV4dC1jb2xvcjokdGV4dC1iYXNpYztcclxuJGxpbmstdGV4dC1jb2xvci1hY3RpdmU6JHRleHQtYmFzaWMtYWN0aXZlO1xyXG4kbGluay1ib3JkZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuLy9PdmVybGF5XHJcbiRvdmVybGF5LWJnOiRiZy1saWdodC1ncmF5O1xyXG4vL1NlYXJjaCBDb21wb25lbnRzXHJcbiRzZWFyY2gtdGl0bGUtYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbiRzZWFyY2gtdGl0bGUtY29sb3I6JHRleHQtYmFzaWM7XHJcbiRzZWFyY2gtaXRlbS1jb2xvcjokdGV4dC1iYXNpYztcclxuJHNlYXJjaC1pdGVtLWNvbG9yLWFjdGl2ZTokdGV4dC1iYXNpYztcclxuJHNlYXJjaC1pdGVtLWJvcmRlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4kc2VhcmNoLWl0ZW0tYm9yZGVyLWFjdGl2ZTokYm9yZGVyLWJhc2ljLWFjdGl2ZTtcclxuLy9cclxuJHNlYXJjaC1maWx0ZXItcmFkaXVzLWFjdGl2ZTokdGV4dC1ibHVlO1xyXG4kc2VhcmNoLWZpbHRlci1yYWRpdXMtYm9yZGVyOiRib3JkZXItZ3JheTtcclxuJHNlYXJjaC1maWx0ZXItcmFkaXVzLWJnOiRib3JkZXItZ3JheTtcclxuLy9cclxuJHNlYXJjaC1maWx0ZXItc2xpZGVyLWJvcmRlci1hY3RpdmU6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuJHNlYXJjaC1maWx0ZXItc2xpZGVyLWJnLWFjdGl2ZTokYmctYmx1ZTtcclxuJHNlYXJjaC1maWx0ZXItc2xpZGVyLWJ0bi1ib3JkZXI6JGJvcmRlci1ncmF5O1xyXG4kc2VhcmNoLWZpbHRlci1zbGlkZXItYnRuLWJnOiRiZy1saWdodC1ncmF5O1xyXG4kc2VhcmNoLWZpbHRlci1zbGlkZXItYnRuLWJnLWFjdGl2ZTokYmctbGlnaHQtZ3JheS1hY3RpdmU7XHJcbi8vU2VyYWNoIFBhZ2luYXRpb25cclxuJHNlYXJjaC1wYWdpbmF0aW9uLWJnOnRyYW5zcGFyZW50O1xyXG4kc2VhcmNoLXBhZ2luYXRpb24tYWN0aXZlLWJnOiRiZy1ibHVlO1xyXG4kc2VhcmNoLXBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiR0ZXh0LXdoaXRlO1xyXG4kc2VhcmNoLXBhZ2luYXRpb24taG92ZXItY29sb3I6JHRleHQtYmx1ZTtcclxuJHNlYXJjaC1wYWdpbmF0aW9uLWhvdmVyLWJnOiRiZy1zdWJtZW51LWFjdGl2ZTtcclxuJHNlYXJjaC1wYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjokYm9yZGVyLWJhc2ljLWFjdGl2ZTtcclxuLy9TZWFyY2ggc2VsZWN0b3JcclxuJHNlcmFjaC1zZWxlY3Rvci12YXJpYW50LWNvbG9yLWFjdGl2ZTogJHRleHQtYmx1ZS1hY3RpdmU7XHJcbi8vVHlwZWhlYWRcclxuJHR0LWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kdHQtY29sb3ItYWN0aXZlOiR0ZXh0LWJsdWU7XHJcbiR0dC1wcmljZS1jb2xvcjokdGV4dC1ibHVlO1xyXG4kdHQtZHJvcGRvd24tYmc6JGJnLWxpZ2h0LWdyYXk7XHJcbiR0dC1zdWdnZXN0aW9uLWJnLWFjdGl2ZTokYmctbGlnaHQtZ3JheS1hY3RpdmU7XHJcbiR0dC1kcm9wZG93bi1ib3JkZXI6JGJvcmRlci1ncmF5O1xyXG4vL1ZpZGVvXHJcbiR2aWRlby1jb250cm9sLWJnOiRiZy1iYXNpYy1jb2xvcjtcclxuJHZpZGVvLXRpbWUtY29sb3I6JHRleHQtYmFzaWM7XHJcbiR2aWRlby10aW1lLXRvdGFsLWJnOiRiZy1ibGFjaztcclxuJHZpZGVvLXRpbWUtaGFuZGxlLWJvcmRlcjokYm9yZGVyLWdyYXk7XHJcbiR2aWRlby10aW1lLWhhbmRsZS1iZzokYmctYmxhY2s7XHJcbi8vTWFpblxyXG4kcGFnZS1iZzogJGJnLWJhc2ljLWNvbG9yO1xyXG4kcGFnZS1iZy1lZGl0b3I6bm9uZTtcclxuIiwiQGltcG9ydCAnLi92YXJpYWJsZXMnO1xuQGltcG9ydCAnfmlvdGFjc3MtdG9vbHMtdHlwZS90b29scy50eXBlJztcblxuQG1peGluIHVpLXR5cG9ncmFwaHktYmFzZSgkZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWRlZmF1bHQpIHtcbiAgZm9udC1mYW1pbHk6IGlmKCRmb250LWZhbWlseSAhPSBudWxsLCAkZm9udC1mYW1pbHksICR1aS10eXBvZ3JhcGh5LXN0YWNrLWRlZmF1bHQpO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuQG1peGluIHVpLXR5cG9ncmFwaHkoJHN0eWxlKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkdWktdHlwb2dyYXBoeS1zdHlsZXMsICRzdHlsZSkge1xuICAgICRzdHlsZTogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1zdHlsZXMsICRzdHlsZSk7XG4gICAgJGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRzdHlsZSwgZm9udC1mYW1pbHkpO1xuXG4gICAgQGluY2x1ZGUgdWktdHlwb2dyYXBoeS1iYXNlKCRmb250LWZhbWlseSk7XG4gICAgQGluY2x1ZGUgaW90YS10eXBlKG1hcC1nZXQoJHN0eWxlLCBzaXplcykpO1xuXG4gICAgLy8gUmVtb3ZlIHByb3BlcnRpZXMgdGhhdCBkbyBub3QgbmVlZCB0byBiZSBnZW5lcmF0ZWQgYmVsb3dcbiAgICAkcHJvcHM6IG1hcC1yZW1vdmUoJHN0eWxlLCBmb250LWZhbWlseSwgbWFyZ2luLCBzaXplcyk7XG4gICAgJGtleXM6IG1hcC1rZXlzKCRwcm9wcyk7XG5cbiAgICBAZWFjaCAka2V5IGluICRrZXlzIHtcbiAgICAgICN7JGtleX06IG1hcC1nZXQoJHByb3BzLCAka2V5KTtcbiAgICB9XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4oJ0NvdWxkIG5vdCBmaW5kIGAjeyRzdHlsZX1gIGluIGAkdWktdHlwb2dyYXBoeS1zdHlsZXNgJyk7XG4gIH1cbn1cblxuQG1peGluIHVpLXR5cG9ncmFwaHktbWFyZ2luKCRzdHlsZSkge1xuICBtYXJnaW46IG1hcC1nZXQobWFwLWdldCgkdWktdHlwb2dyYXBoeS1zdHlsZXMsICRzdHlsZSksIG1hcmdpbik7XG59XG4iLCJAbWl4aW4gX2lvdGEtZXh0cmFjdC10eXBlLXNpemVzKCRzaXplcykge1xuXG4gIEBpZiAoIGxlbmd0aCgkc2l6ZXMpID09IDIgKSB7XG4gICAgZm9udC1zaXplOiBudGgoJHNpemVzLCAxKTtcbiAgICBsaW5lLWhlaWdodDogbnRoKCRzaXplcywgMik7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAkc2l6ZXM7ICBcbiAgfVxuICBcbn1cbiIsIi8vIGh0dHBzOi8vam9lY2lhbmZsb25lLmNvL2FydGljbGUvc2Fzcy1weC10by1yZW1zXHJcbi8vIEJ1dCBObyBuZWVkIGZvciBwaXhlbCBmYWxsYmFjayBhbnltb3JlIHNlZSBzdXBwb3J0XHJcbi8vIGFuZCBmb3IgaW51aXQgdHlwZSB0b29sIChyZXNwb25zaXZlKSB3ZSBuZWVkIGp1c3QgYSByZXR1cm5lZCByZW0gdmFsdWUsIG5vIG5lZWQgZm9yIG1peGluc1xyXG5cclxuJGJhc2U6IDYyLjUlO1xyXG5cclxuQGZ1bmN0aW9uIGdldC12YWx1ZSgkbikge1xyXG4gIEByZXR1cm4gJG4gLyAoJG4gKiAwICsgMSk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBnZXQtcmVtKCRmb250LXNpemUpIHtcclxuICAkYmFzZS1zaXplOiBnZXQtdmFsdWUoJGJhc2UgLyAxMDApO1xyXG4gICRiYXNlLXB4LXNpemU6IDE2ICogJGJhc2Utc2l6ZTtcclxuICBAcmV0dXJuICgoZ2V0LXZhbHVlKCRmb250LXNpemUpIC8gJGJhc2UtcHgtc2l6ZSkgKyByZW0pO1xyXG59IiwiLmltYWdlLWRlZmF1bHQtc2l6ZSB7XHJcbiAgICBpbWcge1xyXG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbiIsIi5pbWFnZS1mdWxsLXNpemUge1xyXG4gICAgaW1nIHtcclxuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbiIsIi5pbWFnZS1sZWZ0IC5jb21wb25lbnQtY29udGVudD5kaXY+aW1nIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG59XHJcbiIsIi5pbWFnZS1yaWdodCAuY29tcG9uZW50LWNvbnRlbnQ+ZGl2PmltZyB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbn1cclxuIiwiJHNwYWNlOiA4cHggIWRlZmF1bHQ7XHJcblxyXG5AZnVuY3Rpb24gc3BhY2UoJHNpemU6IDEpIHtcclxuICBAcmV0dXJuICRzcGFjZSAqICRzaXplO1xyXG59XHJcbiIsIi8vbW9kZGVkIHRvIHVzZSBweFxyXG5cclxuQGNoYXJzZXQgXCJVVEYtOFwiOyAvLyBGaXhlcyBhbiBpc3N1ZSB3aGVyZSBSdWJ5IGxvY2FsZSBpcyBub3Qgc2V0IHByb3Blcmx5XHJcbiAgICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xL3B1bGwvMTBcclxuXHJcbi8vLyBCYXNlIGZvbnQgc2l6ZSBvbiB0aGUgYDxib2R5PmAgZWxlbWVudFxyXG4vLy8gQHR5cGUgTnVtYmVyICh1bml0KVxyXG4kbXEtYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XHJcblxyXG4vLy8gUmVzcG9uc2l2ZSBtb2RlXHJcbi8vL1xyXG4vLy8gU2V0IHRvIGBmYWxzZWAgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQG1lZGlhIHF1ZXJpZXMsXHJcbi8vLyAoSUUgPD0gOCwgRmlyZWZveCA8PSAzLCBPcGVyYSA8PSA5KVxyXG4vLy9cclxuLy8vIFlvdSBjb3VsZCBjcmVhdGUgYSBzdHlsZXNoZWV0IHNlcnZlZCBleGNsdXNpdmVseSB0byBvbGRlciBicm93c2VycyxcclxuLy8vIHdoZXJlIEBtZWRpYSBxdWVyaWVzIGFyZSByYXN0ZXJpemVkXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2Nzc1xyXG4vLy8gIC8vIG9sZC1pZS5zY3NzXHJcbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xyXG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvICRtcS1zdGF0aWMtYnJlYWtwb2ludFxyXG4vLy8gICAgICAgICAgICAgICAgICAgLy8gbGFyZ2VyIGJyZWFrcG9pbnRzIHdpbGwgYmUgaWdub3JlZFxyXG4vLy9cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9mZiBEaXNhYmxlZCByZXNwb25zaXZlIG1vZGUgZG9jdW1lbnRhdGlvblxyXG4kbXEtcmVzcG9uc2l2ZTogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCcmVha3BvaW50IGxpc3RcclxuLy8vXHJcbi8vLyBOYW1lIHlvdXIgYnJlYWtwb2ludHMgaW4gYSB3YXkgdGhhdCBjcmVhdGVzIGEgdWJpcXVpdG91cyBsYW5ndWFnZVxyXG4vLy8gYWNyb3NzIHRlYW0gbWVtYmVycy4gSXQgd2lsbCBpbXByb3ZlIGNvbW11bmljYXRpb24gYmV0d2VlblxyXG4vLy8gc3Rha2Vob2xkZXJzLCBkZXNpZ25lcnMsIGRldmVsb3BlcnMsIGFuZCB0ZXN0ZXJzLlxyXG4vLy9cclxuLy8vIEB0eXBlIE1hcFxyXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXHJcbiRtcS1icmVha3BvaW50czogKFxyXG4gICAgbW9iaWxlOiAgMzIwcHgsXHJcbiAgICB0YWJsZXQ6ICA3NDBweCxcclxuICAgIGRlc2t0b3A6IDk4MHB4LFxyXG4gICAgd2lkZTogICAgMTMwMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU3RhdGljIGJyZWFrcG9pbnQgKGZvciBmaXhlZC13aWR0aCBsYXlvdXRzKVxyXG4vLy9cclxuLy8vIERlZmluZSB0aGUgYnJlYWtwb2ludCBmcm9tICRtcS1icmVha3BvaW50cyB0aGF0IHNob3VsZFxyXG4vLy8gYmUgdXNlZCBhcyB0aGUgdGFyZ2V0IHdpZHRoIGZvciB0aGUgZml4ZWQtd2lkdGggbGF5b3V0XHJcbi8vLyAoaS5lLiB3aGVuICRtcS1yZXNwb25zaXZlIGlzIHNldCB0byAnZmFsc2UnKSBpbiBhIG9sZC1pZS5zY3NzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2Nzc1xyXG4vLy8gIC8vIHRhYmxldC1vbmx5LnNjc3NcclxuLy8vICAvL1xyXG4vLy8gIC8vIElnbm9yZSBhbGwgc3R5bGVzIGFib3ZlIHRhYmxldCBicmVha3BvaW50LFxyXG4vLy8gIC8vIGFuZCBmaXggdGhlIHN0eWxlcyAoZS5nLiBsYXlvdXQpIGF0IHRhYmxldCB3aWR0aFxyXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcclxuLy8vICAkbXEtc3RhdGljLWJyZWFrcG9pbnQ6IHRhYmxldDtcclxuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byB0YWJsZXRcclxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcclxuLy8vXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjYWRkaW5nLWN1c3RvbS1icmVha3BvaW50cyBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXHJcbiRtcS1zdGF0aWMtYnJlYWtwb2ludDogZGVza3RvcCAhZGVmYXVsdDtcclxuXHJcbi8vLyBTaG93IGJyZWFrcG9pbnRzIGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXHJcbi8vL1xyXG4vLy8gSWYgeW91IHdhbnQgdG8gZGlzcGxheSB0aGUgY3VycmVudGx5IGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3BcclxuLy8vIHJpZ2h0IGNvcm5lciBvZiB5b3VyIHNpdGUgZHVyaW5nIGRldmVsb3BtZW50LCBhZGQgdGhlIGJyZWFrcG9pbnRzXHJcbi8vLyB0byB0aGlzIGxpc3QsIG9yZGVyZWQgYnkgd2lkdGgsIGUuZy4gKG1vYmlsZSwgdGFibGV0LCBkZXNrdG9wKS5cclxuLy8vXHJcbi8vLyBAdHlwZSBtYXBcclxuJG1xLXNob3ctYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xyXG5cclxuLy8vIEN1c3RvbWl6ZSB0aGUgbWVkaWEgdHlwZSAoZS5nLiBgQG1lZGlhIHNjcmVlbmAgb3IgYEBtZWRpYSBwcmludGApXHJcbi8vLyBCeSBkZWZhdWx0IHNhc3MtbXEgdXNlcyBhbiBcImFsbFwiIG1lZGlhIHR5cGUgKGBAbWVkaWEgYWxsIGFuZCDigKZgKVxyXG4vLy9cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNjaGFuZ2luZy1tZWRpYS10eXBlIEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcclxuJG1xLW1lZGlhLXR5cGU6IGFsbCAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHB4IC0gdmFsdWUgdG8gY29udmVydFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlLWZvbnQtc2l6ZSAoJG1xLWJhc2UtZm9udC1zaXplKSAtIGA8Ym9keT5gIGZvbnQgc2l6ZVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3NcclxuLy8vICAkZm9udC1zaXplLWluLWVtczogbXEtcHgyZW0oMTZweCk7XHJcbi8vLyAgcCB7IGZvbnQtc2l6ZTogbXEtcHgyZW0oMTZweCk7IH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZXMgJG1xLWJhc2UtZm9udC1zaXplXHJcbi8vLyBAcmV0dXJucyB7TnVtYmVyfVxyXG5AZnVuY3Rpb24gbXEtcHgyZW0oJHB4LCAkYmFzZS1mb250LXNpemU6ICRtcS1iYXNlLWZvbnQtc2l6ZSkge1xyXG4gICAgQGlmIHVuaXRsZXNzKCRweCkge1xyXG4gICAgICAgIEB3YXJuIFwiQXNzdW1pbmcgI3skcHh9IHRvIGJlIGluIHBpeGVscywgYXR0ZW1wdGluZyB0byBjb252ZXJ0IGl0IGludG8gcGl4ZWxzLlwiO1xyXG4gICAgICAgIEByZXR1cm4gbXEtcHgyZW0oJHB4ICogMXB4LCAkYmFzZS1mb250LXNpemUpO1xyXG4gICAgfSBAZWxzZSBpZiB1bml0KCRweCkgPT0gZW0ge1xyXG4gICAgICAgIEByZXR1cm4gJHB4O1xyXG4gICAgfVxyXG4gICAgQHJldHVybiAoJHB4IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTtcclxufVxyXG5cclxuLy8vIEdldCBhIGJyZWFrcG9pbnQncyB3aWR0aFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnQuIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgJHRhYmxldC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgodGFibGV0KTtcclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoZGVza3RvcCkpIHt9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge051bWJlcn0gVmFsdWUgaW4gcGl4ZWxzXHJcbkBmdW5jdGlvbiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcclxuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRuYW1lKSB7XHJcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJCcmVha3BvaW50ICN7JG5hbWV9IHdhc24ndCBmb3VuZCBpbiAkYnJlYWtwb2ludHMuXCI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLyBNZWRpYSBRdWVyeSBtaXhpblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGZyb20gKGZhbHNlKSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcclxuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJHVudGlsIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXHJcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRhbmQgKGZhbHNlKSAtIEFkZGl0aW9uYWwgbWVkaWEgcXVlcnkgcGFyYW1ldGVyc1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZWRpYS10eXBlICgkbXEtbWVkaWEtdHlwZSkgLSBNZWRpYSB0eXBlOiBzY3JlZW4sIHByaW504oCmXHJcbi8vL1xyXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XHJcbi8vLyBAaWdub3JlIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgKCRtcS1icmVha3BvaW50cylcclxuLy8vIEBpZ25vcmUgQHBhcmFtIHtTdHJpbmd9ICRzdGF0aWMtYnJlYWtwb2ludCAoJG1xLXN0YXRpYy1icmVha3BvaW50KVxyXG4vLy9cclxuLy8vIEBjb250ZW50IHN0eWxpbmcgcnVsZXMsIHdyYXBwZWQgaW50byBhIEBtZWRpYSBxdWVyeSB3aGVuICRyZXNwb25zaXZlIGlzIHRydWVcclxuLy8vXHJcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtbWVkaWEtdHlwZVxyXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXHJcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc3RhdGljLWJyZWFrcG9pbnRcclxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLXB4MmVtXHJcbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1nZXQtYnJlYWtwb2ludC13aWR0aFxyXG4vLy9cclxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9uLWRlZmF1bHQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3NcclxuLy8vICAuZWxlbWVudCB7XHJcbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKSB7XHJcbi8vLyAgICAgIGNvbG9yOiByZWQ7XHJcbi8vLyAgICB9XHJcbi8vLyAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xyXG4vLy8gICAgICBjb2xvcjogYmx1ZTtcclxuLy8vICAgIH1cclxuLy8vICAgIEBpbmNsdWRlIG1xKG1vYmlsZSwgdGFibGV0KSB7XHJcbi8vLyAgICAgIGNvbG9yOiBncmVlbjtcclxuLy8vICAgIH1cclxuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQsICRhbmQ6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknKSB7XHJcbi8vLyAgICAgIGNvbG9yOiB0ZWFsO1xyXG4vLy8gICAgfVxyXG4vLy8gICAgQGluY2x1ZGUgbXEoOTUwcHgpIHtcclxuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XHJcbi8vLyAgICB9XHJcbi8vLyAgICBAaW5jbHVkZSBtcSh0YWJsZXQsICRtZWRpYS10eXBlOiBzY3JlZW4pIHtcclxuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XHJcbi8vLyAgICB9XHJcbi8vLyAgICAvLyBBZHZhbmNlZCB1c2U6XHJcbi8vLyAgICAkbXktYnJlYWtwb2ludHM6IChMOiA5MDBweCwgWEw6IDEyMDBweCk7XHJcbi8vLyAgICBAaW5jbHVkZSBtcShMLCAkYnJlYWtwb2ludHM6ICRteS1icmVha3BvaW50cywgJHN0YXRpYy1icmVha3BvaW50OiBMKSB7XHJcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuQG1peGluIG1xKFxyXG4gICAgJGZyb206IGZhbHNlLFxyXG4gICAgJHVudGlsOiBmYWxzZSxcclxuICAgICRhbmQ6IGZhbHNlLFxyXG4gICAgJGVtcy1vbjogZmFsc2UsXHJcbiAgICAkbWVkaWEtdHlwZTogJG1xLW1lZGlhLXR5cGUsXHJcbiAgICAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cyxcclxuICAgICRyZXNwb25zaXZlOiAkbXEtcmVzcG9uc2l2ZSxcclxuICAgICRzdGF0aWMtYnJlYWtwb2ludDogJG1xLXN0YXRpYy1icmVha3BvaW50XHJcbikge1xyXG4gICAgJG1pbi13aWR0aDogMDtcclxuICAgICRtYXgtd2lkdGg6IDA7XHJcbiAgICAkbWVkaWEtcXVlcnk6ICcnO1xyXG5cclxuICAgIC8vIEZyb206IHRoaXMgYnJlYWtwb2ludCAoaW5jbHVzaXZlKVxyXG4gICAgQGlmICRmcm9tIHtcclxuICAgICAgICBAaWYgdHlwZS1vZigkZnJvbSkgPT0gbnVtYmVyIHtcclxuICAgICAgICAgICAgJG1pbi13aWR0aDogaWYoJGVtcy1vbiwgbXEtcHgyZW0oJGZyb20pLCAoJGZyb20pKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgJG1pbi13aWR0aDogaWYoJGVtcy1vbiwgbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJGZyb20sICRicmVha3BvaW50cykpLCBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkZnJvbSwgJGJyZWFrcG9pbnRzKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFVudGlsOiB0aGF0IGJyZWFrcG9pbnQgKGV4Y2x1c2l2ZSlcclxuICAgIEBpZiAkdW50aWwge1xyXG4gICAgICAgIEBpZiB0eXBlLW9mKCR1bnRpbCkgPT0gbnVtYmVyIHtcclxuICAgICAgICAgICAgJG1heC13aWR0aDogaWYoJGVtcy1vbiwgbXEtcHgyZW0oJHVudGlsKSwoJHVudGlsKSk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICRtYXgtd2lkdGg6IGlmKCRlbXMtb24sIG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCR1bnRpbCwgJGJyZWFrcG9pbnRzKSkgLSAuMDFlbSwgbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHVudGlsLCAkYnJlYWtwb2ludHMpIC0gMXB4KTsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlc3BvbnNpdmUgc3VwcG9ydCBpcyBkaXNhYmxlZCwgcmFzdGVyaXplIHRoZSBvdXRwdXQgb3V0c2lkZSBAbWVkaWEgYmxvY2tzXHJcbiAgICAvLyBUaGUgYnJvd3NlciB3aWxsIHJlbHkgb24gdGhlIGNhc2NhZGUgaXRzZWxmLlxyXG4gICAgQGlmICRyZXNwb25zaXZlID09IGZhbHNlIHtcclxuICAgICAgICAkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzdGF0aWMtYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcclxuICAgICAgICAkdGFyZ2V0LXdpZHRoOiBpZigkZW1zLW9uLCBtcS1weDJlbSgkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGgpLCAkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGgpO1xyXG5cclxuICAgICAgICAvLyBPdXRwdXQgb25seSBydWxlcyB0aGF0IHN0YXJ0IGF0IG9yIHNwYW4gb3VyIHRhcmdldCB3aWR0aFxyXG4gICAgICAgIEBpZiAoXHJcbiAgICAgICAgICAgICRhbmQgPT0gZmFsc2VcclxuICAgICAgICAgICAgYW5kICRtaW4td2lkdGggPD0gJHRhcmdldC13aWR0aFxyXG4gICAgICAgICAgICBhbmQgKFxyXG4gICAgICAgICAgICAgICAgJHVudGlsID09IGZhbHNlIG9yICRtYXgtd2lkdGggPj0gJHRhcmdldC13aWR0aFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZW5hYmxlZCwgb3V0cHV0IHJ1bGVzIGluc2lkZSBAbWVkaWEgcXVlcmllc1xyXG4gICAgQGVsc2Uge1xyXG4gICAgICAgIEBpZiAkbWluLXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtaW4td2lkdGg6ICN7JG1pbi13aWR0aH0pJzsgfVxyXG4gICAgICAgIEBpZiAkbWF4LXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtYXgtd2lkdGg6ICN7JG1heC13aWR0aH0pJzsgfVxyXG4gICAgICAgIEBpZiAkYW5kICAgICAgICAgICAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kICN7JGFuZH0nOyB9XHJcblxyXG4gICAgICAgIC8vIFJlbW92ZSB1bm5lY2Vzc2FyeSBtZWRpYSBxdWVyeSBwcmVmaXggJ2FsbCBhbmQgJ1xyXG4gICAgICAgIEBpZiAoJG1lZGlhLXR5cGUgPT0gJ2FsbCcgYW5kICRtZWRpYS1xdWVyeSAhPSAnJykge1xyXG4gICAgICAgICAgICAkbWVkaWEtdHlwZTogJyc7XHJcbiAgICAgICAgICAgICRtZWRpYS1xdWVyeTogc3RyLXNsaWNlKHVucXVvdGUoJG1lZGlhLXF1ZXJ5KSwgNik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgI3skbWVkaWEtdHlwZSArICRtZWRpYS1xdWVyeX0ge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLyBRdWljayBzb3J0XHJcbi8vL1xyXG4vLy8gQGF1dGhvciBTYW0gUmljaGFyZHNcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc29ydFxyXG4vLy8gQHJldHVybnMge0xpc3R9IFNvcnRlZCBMaXN0XHJcbkBmdW5jdGlvbiBfbXEtcXVpY2stc29ydCgkbGlzdCkge1xyXG4gICAgJGxlc3M6ICAoKTtcclxuICAgICRlcXVhbDogKCk7XHJcbiAgICAkbGFyZ2U6ICgpO1xyXG5cclxuICAgIEBpZiBsZW5ndGgoJGxpc3QpID4gMSB7XHJcbiAgICAgICAgJHNlZWQ6IG50aCgkbGlzdCwgY2VpbChsZW5ndGgoJGxpc3QpIC8gMikpO1xyXG5cclxuICAgICAgICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XHJcbiAgICAgICAgICAgIEBpZiAoJGl0ZW0gPT0gJHNlZWQpIHtcclxuICAgICAgICAgICAgICAgICRlcXVhbDogYXBwZW5kKCRlcXVhbCwgJGl0ZW0pO1xyXG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkaXRlbSA8ICRzZWVkKSB7XHJcbiAgICAgICAgICAgICAgICAkbGVzczogYXBwZW5kKCRsZXNzLCAkaXRlbSk7XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRpdGVtID4gJHNlZWQpIHtcclxuICAgICAgICAgICAgICAgICRsYXJnZTogYXBwZW5kKCRsYXJnZSwgJGl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAcmV0dXJuIGpvaW4oam9pbihfbXEtcXVpY2stc29ydCgkbGVzcyksICRlcXVhbCksIF9tcS1xdWljay1zb3J0KCRsYXJnZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIEByZXR1cm4gJGxpc3Q7XHJcbn1cclxuXHJcbi8vLyBTb3J0IGEgbWFwIGJ5IHZhbHVlcyAod29ya3Mgd2l0aCBudW1iZXJzIG9ubHkpXHJcbi8vL1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzb3J0XHJcbi8vLyBAcmV0dXJucyB7TWFwfSBNYXAgc29ydGVkIGJ5IHZhbHVlXHJcbkBmdW5jdGlvbiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1hcCkge1xyXG4gICAgJG1hcC1zb3J0ZWQ6ICgpO1xyXG4gICAgJG1hcC1rZXlzOiBtYXAta2V5cygkbWFwKTtcclxuICAgICRtYXAtdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xyXG4gICAgJG1hcC12YWx1ZXMtc29ydGVkOiBfbXEtcXVpY2stc29ydCgkbWFwLXZhbHVlcyk7XHJcblxyXG4gICAgLy8gUmVvcmRlciBrZXkvdmFsdWUgcGFpcnMgYmFzZWQgb24ga2V5IHZhbHVlc1xyXG4gICAgQGVhY2ggJHZhbHVlIGluICRtYXAtdmFsdWVzLXNvcnRlZCB7XHJcbiAgICAgICAgJGluZGV4OiBpbmRleCgkbWFwLXZhbHVlcywgJHZhbHVlKTtcclxuICAgICAgICAka2V5OiBudGgoJG1hcC1rZXlzLCAkaW5kZXgpO1xyXG4gICAgICAgICRtYXAtc29ydGVkOiBtYXAtbWVyZ2UoJG1hcC1zb3J0ZWQsICgka2V5OiAkdmFsdWUpKTtcclxuXHJcbiAgICAgICAgLy8gVW5zZXQgdGhlIHZhbHVlIGluICRtYXAtdmFsdWVzIHRvIHByZXZlbnQgdGhlIGxvb3BcclxuICAgICAgICAvLyBmcm9tIGZpbmRpbmcgdGhlIHNhbWUgaW5kZXggdHdpY2VcclxuICAgICAgICAkbWFwLXZhbHVlczogc2V0LW50aCgkbWFwLXZhbHVlcywgJGluZGV4LCAwKTtcclxuICAgIH1cclxuXHJcbiAgICBAcmV0dXJuICRtYXAtc29ydGVkO1xyXG59XHJcblxyXG4vLy8gQWRkIGEgYnJlYWtwb2ludFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgYnJlYWtwb2ludFxyXG4vLy9cclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3NcclxuLy8vICBAaW5jbHVkZSBtcS1hZGQtYnJlYWtwb2ludCh0dnNjcmVlbiwgMTkyMHB4KTtcclxuLy8vICBAaW5jbHVkZSBtcSh0dnNjcmVlbikge31cclxuQG1peGluIG1xLWFkZC1icmVha3BvaW50KCRuYW1lLCAkd2lkdGgpIHtcclxuICAgICRuZXctYnJlYWtwb2ludDogKCRuYW1lOiAkd2lkdGgpO1xyXG4gICAgJG1xLWJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJG1xLWJyZWFrcG9pbnRzLCAkbmV3LWJyZWFrcG9pbnQpICFnbG9iYWw7XHJcbiAgICAkbXEtYnJlYWtwb2ludHM6IF9tcS1tYXAtc29ydC1ieS12YWx1ZSgkbXEtYnJlYWtwb2ludHMpICFnbG9iYWw7XHJcbn1cclxuXHJcbi8vLyBTaG93IHRoZSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiB0aGUgdmlld3BvcnRcclxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnRcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG93LWJyZWFrcG9pbnRzICgkbXEtc2hvdy1icmVha3BvaW50cykgLSBMaXN0IG9mIGJyZWFrcG9pbnRzIHRvIHNob3cgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcclxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgKCRtcS1icmVha3BvaW50cykgLSBCcmVha3BvaW50IG5hbWVzIGFuZCBzaXplc1xyXG4vLy9cclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xyXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXNob3ctYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBnbG9iYWwgc2V0dGluZ3NcclxuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xyXG4vLy9cclxuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGN1c3RvbSBzZXR0aW5nc1xyXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHMoKEwsIFhMKSwgKFM6IDMwMHB4LCBMOiA4MDBweCwgWEw6IDEyMDBweCkpO1xyXG5AbWl4aW4gbXEtc2hvdy1icmVha3BvaW50cygkc2hvdy1icmVha3BvaW50czogJG1xLXNob3ctYnJlYWtwb2ludHMsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XHJcbiAgICBib2R5OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZDRjhFMztcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZCRUVENTtcclxuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNGQkVFRDU7XHJcbiAgICAgICAgY29sb3I6ICNDMDk4NTM7XHJcbiAgICAgICAgZm9udDogc21hbGwtY2FwdGlvbjtcclxuICAgICAgICBwYWRkaW5nOiAzcHggNnB4O1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgei1pbmRleDogMTAwO1xyXG5cclxuICAgICAgICAvLyBMb29wIHRocm91Z2ggdGhlIGJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkIGJlIHNob3duXHJcbiAgICAgICAgQGVhY2ggJHNob3ctYnJlYWtwb2ludCBpbiAkc2hvdy1icmVha3BvaW50cyB7XHJcbiAgICAgICAgICAgICR3aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiI3skc2hvdy1icmVha3BvaW50fSDiiaUgI3skd2lkdGh9ICgje21xLXB4MmVtKCR3aWR0aCl9KVwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaWYgbGVuZ3RoKCRtcS1zaG93LWJyZWFrcG9pbnRzKSA+IDAge1xyXG4gICAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcclxufVxyXG4iXX0= */
