metal-links {
  display: grid;
  grid-template-rows: 100px auto;
  width: 100vw;
  margin: 0 -50vw 0 -50vw;
}
metal-links p,
metal-links button,
metal-links a,
metal-links strong,
metal-links div {
  color: #FFFFFF;
  text-align: left;
}
metal-links a svg {
  height: 12px;
  width: 12px;
}
@media (max-width: 900px) {
  metal-links {
    background-color: var(--primary, #131f6b);
  }
  metal-links > .controller {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  metal-links > .controller button {
    padding: calc(var(--gap) * 0.5);
    text-align: center;
    text-transform: uppercase;
    opacity: 0.6;
    font-size: 13px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
  }
  metal-links > .controller button svg {
    opacity: 0;
    color: #df3035;
    height: 12px;
    width: 12px;
    position: absolute;
    bottom: 8px;
    left: calc(50% - 6px);
  }
  metal-links > .controller button.active {
    opacity: 1;
    background: rgba(0, 0, 0, 0.3);
  }
  metal-links > .controller button.active svg {
    opacity: 1;
  }
  metal-links > .controller button:first-of-type {
    border-right: 1px solid #969695;
  }
  metal-links > .controller button:last-of-type {
    border-left: 1px solid #969695;
  }
  metal-links > .content-container > div {
    display: none;
  }
  metal-links > .content-container > div .left {
    grid-template-columns: repeat(2, 50%);
    min-height: 200px;
    height: 100%;
    width: 100%;
    max-width: 100vw;
    opacity: 0;
    animation: fadeInTab 0.3s;
  }
  metal-links > .content-container > div .left > div {
    display: none;
  }
  metal-links > .content-container > div .left > a {
    height: 100%;
    width: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: calc(var(--gap) * 0.5);
    aspect-ratio: 1/1;
  }
  metal-links > .content-container > div .left > a .image {
    height: 100%;
    width: 100%;
    position: absolute;
  }
  metal-links > .content-container > div .left > a .image::after {
    content: "";
    position: absolute;
    pointer-events: none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
  }
  metal-links > .content-container > div .left > a p {
    font-size: 18px;
    font-weight: bold;
    z-index: 9;
    text-align: center;
  }
  metal-links > .content-container > div .right {
    display: none;
  }
  metal-links > .content-container > div.active {
    display: flex;
    width: 100%;
    height: 100%;
  }
  metal-links > .content-container > div.active .left {
    opacity: 1;
    display: grid;
  }
}
@media (min-width: 901px) {
  metal-links {
    grid-template-columns: auto 1fr;
    grid-template-rows: 1fr;
    width: 100%;
    min-height: 600px;
    margin: var(--spacer1) auto;
    left: unset;
    background-color: rgba(0, 0, 0, 0.3);
    padding: 0;
    border-radius: var(--border-radius, 6px);
  }
  metal-links > .controller {
    display: flex;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    flex-direction: row-reverse;
    transform: rotate(180deg);
    height: 100%;
  }
  metal-links > .controller button {
    display: flex;
    flex-grow: 1;
    align-items: center;
    padding: var(--gap);
    border-left: 1px solid #969695;
    color: #969695;
    justify-content: center;
    transition: all var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
    text-transform: uppercase;
    font-size: 14px;
  }
  metal-links > .controller button svg {
    display: none;
  }
  metal-links > .controller button:first-of-type {
    border-bottom-right-radius: var(--border-radius, 6px);
    border-top: 1px solid #969695;
  }
  metal-links > .controller button:last-of-type {
    border-top-right-radius: var(--border-radius, 6px);
    border-bottom: 1px solid #969695;
  }
  metal-links > .controller button.active {
    color: #FFFFFF;
    border-left: 0px solid transparent;
  }
  metal-links > .controller button:hover {
    color: #FFFFFF;
  }
  metal-links > .content-container {
    position: relative;
  }
  metal-links > .content-container .content-link {
    display: none;
  }
  metal-links > .content-container > div {
    display: grid;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    grid-template-columns: 25% 75%;
    grid-template-rows: 100%;
    width: 100%;
    height: 100%;
    z-index: -3;
    animation: fadeOutTab 0.3s;
  }
  metal-links > .content-container > div.active {
    opacity: 1;
    z-index: 1;
    animation: fadeInTab 0.3s;
  }
  metal-links > .content-container > div > .left {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: calc(var(--gap) * 3);
  }
  metal-links > .content-container > div > .left div {
    transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
    margin-bottom: calc(var(--gap) * 0.5);
  }
  metal-links > .content-container > div > .left div strong {
    color: #df3035;
    font-size: 18px;
  }
  metal-links > .content-container > div > .left div strong:hover {
    cursor: pointer;
  }
  metal-links > .content-container > div > .left div p {
    max-height: 0;
    opacity: 0;
    z-index: -9;
    pointer-events: none;
    font-size: 12px;
    transition: height var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  }
  metal-links > .content-container > div > .left div.active p {
    max-height: 100%;
    opacity: 1;
  }
  metal-links > .content-container > div > .left div:hover strong, metal-links > .content-container > div > .left div.active strong {
    color: #FFFFFF;
  }
  metal-links > .content-container > div .right {
    position: relative;
  }
  metal-links > .content-container > div .right > .content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: -1;
    display: grid;
    grid-template-columns: 40% 60%;
    grid-template-rows: 100%;
    width: 100%;
    height: 100%;
  }
  metal-links > .content-container > div .right > .content .content-right {
    display: flex;
    flex-direction: column;
    padding: calc(var(--gap) * 3);
    color: white;
    gap: calc(var(--gap) * 2);
  }
  metal-links > .content-container > div .right > .content .content-right h4 {
    font-size: 14px;
  }
  metal-links > .content-container > div .right > .content .content-right h5 {
    color: #df3035;
    font-size: 12px;
  }
  metal-links > .content-container > div .right > .content .content-right ul li {
    width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  }
  metal-links > .content-container > div .right > .content .content-right ul li a {
    width: 100%;
    text-decoration: none;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: calc(var(--gap) * 0.5) 0;
    transition: background-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
    text-transform: uppercase;
  }
  metal-links > .content-container > div .right > .content .content-right ul li a:hover {
    background-color: rgba(255, 255, 255, 0.3);
  }
  metal-links > .content-container > div .right > .content .content-right ul li a svg {
    fill: #df3035;
    color: #df3035;
    stroke: #df3035;
    height: 12px;
    width: 12px;
  }
  metal-links > .content-container > div .right > .content.active {
    opacity: 1;
    z-index: 9;
    animation: fadeInTab 0.3s;
  }
}
@media (max-width: 400px) {
  metal-links > .controller button {
    font-size: 10px;
  }
}

@keyframes fadeInTab {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeOutTab {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvbWV0YWwtbGlua3Muc2NzcyIsImNvbXBvbmVudHMvbWV0YWwtbGlua3MuY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bkb2dnaXN0eWxlL3Nhc3MvbGlicmFyeS9zcmMvY3JlYXRlL19wYWxldHRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9oZWxwZXJzL19icmVhay5zY3NzIiwiX3ZhcmlhYmxlcy9jb2xvdXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9jcmVhdGUvX3VuaXRzLnNjc3MiLCJfdmFyaWFibGVzL3VuaXRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDRSxhQUFBO0VBQ0EsOEJBQUE7RUFDQSxZQUFBO0VBQ0EsdUJBQUE7QUNERjtBREdFOzs7OztFQUtFLGNFc0NZO0VGckNaLGdCQUFBO0FDREo7QURJRTtFQUNFLFlBQUE7RUFDQSxXQUFBO0FDRko7QUVORTtFSFRGO0lBc0JJLHlDSWlCTTtFSHBCUjtFREtFO0lBQ0UsYUFBQTtJQUNBLHFDQUFBO0VDSEo7RURJSTtJQUNFLCtCS29CQTtJTG5CQSxrQkFBQTtJQUNBLHlCQUFBO0lBQ0EsWUFBQTtJQUNBLGVBQUE7SUFDQSxhQUFBO0lBQ0Esc0JBQUE7SUFDQSxtQkFBQTtJQUNBLHVCQUFBO0lBQ0Esa0JBQUE7RUNGTjtFREdNO0lBQ0UsVUFBQTtJQUNBLGNJbEJKO0lKbUJJLFlBQUE7SUFDQSxXQUFBO0lBQ0Esa0JBQUE7SUFDQSxXQUFBO0lBQ0EscUJBQUE7RUNEUjtFRElNO0lBQ0UsVUFBQTtJQUNBLDhCQUFBO0VDRlI7RURHUTtJQUNFLFVBQUE7RUNEVjtFRElNO0lBQ0UsK0JBQUE7RUNGUjtFRElNO0lBQ0UsOEJBQUE7RUNGUjtFRFFJO0lBQ0UsYUFBQTtFQ05OO0VET007SUFDRSxxQ0FBQTtJQUNBLGlCQUFBO0lBQ0EsWUFBQTtJ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QUNBLHlCQUFBO0VDM0JsQjtFRDRCa0I7SUFDRSwwQ0FBQTtFQzFCcEI7RUQ0QmtCO0lBQ0UsYUl2UmhCO0lKd1JnQixjSXhSaEI7SUp5UmdCLGVJelJoQjtJSjBSZ0IsWUFBQTtJQUNBLFdBQUE7RUMxQnBCO0VEaUNVO0lBQ0UsVUFBQTtJQUNBLFVBQUE7SUFDQSx5QkFBQTtFQy9CWjtBQUNGO0FFcFJFO0VIMFRFO0lBQ0UsZUFBQTtFQ25DSjtBQUNGOztBRHVDQTtFQUNFO0lBQ0UsVUFBQTtFQ3BDRjtFRHNDQTtJQUNFLFVBQUE7RUNwQ0Y7QUFDRjtBRHVDQTtFQUNFO0lBQ0UsVUFBQTtFQ3JDRjtFRHVDQTtJQUNFLFVBQUE7RUNyQ0Y7QUFDRiIsImZpbGUiOiJjb21wb25lbnRzL21ldGFsLWxpbmtzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG5tZXRhbC1saW5rcyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogMTAwcHggYXV0bztcbiAgd2lkdGg6IDEwMHZ3O1xuICBtYXJnaW46IDAgLTUwdncgMCAtNTB2dztcblxuICBwLFxuICBidXR0b24sXG4gIGEsXG4gIHN0cm9uZyxcbiAgZGl2IHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICBhIHN2ZyB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIHdpZHRoOiAxMnB4O1xuICB9XG5cbiAgLy8gTW9iaWxlIHZpZXdcbiAgQGluY2x1ZGUgYnJlYWstaW4oOTAwKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG5cbiAgICA+IC5jb250cm9sbGVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogJGdhcDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogOHB4O1xuICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gNnB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ3JleTtcbiAgICAgICAgfVxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZ3JleTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgID4gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgID4gZGl2IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgLmxlZnQge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDUwJSk7XG4gICAgICAgICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBhbmltYXRpb246IGZhZGVJblRhYiAwLjNzO1xuXG4gICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRnYXAwO1xuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICAgICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgei1pbmRleDogOTtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucmlnaHQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIC5sZWZ0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxldCAvIERlc2t0b3Agdmlld1xuICBAaW5jbHVkZSBicmVhay1vdXQoOTAwKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiA2MDBweDtcbiAgICBtYXJnaW46ICRzcGFjZXIgYXV0bztcbiAgICBsZWZ0OiB1bnNldDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcblxuICAgID4gLmNvbnRyb2xsZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7XG4gICAgICB0ZXh0LW9yaWVudGF0aW9uOiBtaXhlZDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBidXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6ICRnYXA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGdyZXk7XG4gICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBzdmcge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyZXk7XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBib3JkZXItbGVmdDogMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgID4gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLmNvbnRlbnQtbGluayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYgPiBkaXYge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyNSUgNzUlO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IC0zO1xuICAgICAgICBhbmltYXRpb246IGZhZGVPdXRUYWIgMC4zcztcblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIGFuaW1hdGlvbjogZmFkZUluVGFiIDAuM3M7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5sZWZ0IHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6ICRnYXAzO1xuXG4gICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdhcDA7XG5cbiAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgei1pbmRleDogLTk7XG4gICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAkdHJhbnNpdGlvbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJpZ2h0IHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICA+IC5jb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQwJSA2MCU7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgLmNvbnRlbnQtcmlnaHQge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAkZ2FwMztcbiAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICBnYXA6ICRnYXAyO1xuXG4gICAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkZ2FwMCAwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkcmVkO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJHJlZDtcbiAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICB6LWluZGV4OiA5O1xuICAgICAgICAgICAgICBhbmltYXRpb246IGZhZGVJblRhYiAwLjNzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVhay1pbig0MDBweCkge1xuICAgID4gLmNvbnRyb2xsZXIgYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICB9XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5UYWIge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFRhYiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbiIsIm1ldGFsLWxpbmtzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxMDBweCBhdXRvO1xuICB3aWR0aDogMTAwdnc7XG4gIG1hcmdpbjogMCAtNTB2dyAwIC01MHZ3O1xufVxubWV0YWwtbGlua3MgcCxcbm1ldGFsLWxpbmtzIGJ1dHRvbixcbm1ldGFsLWxpbmtzIGEsXG5tZXRhbC1saW5rcyBzdHJvbmcsXG5tZXRhbC1saW5rcyBkaXYge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbm1ldGFsLWxpbmtzIGEgc3ZnIHtcbiAgaGVpZ2h0OiAxMnB4O1xuICB3aWR0aDogMTJweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICBtZXRhbC1saW5rcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeSwgIzEzMWY2Yik7XG4gIH1cbiAgbWV0YWwtbGlua3MgPiAuY29udHJvbGxlciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICB9XG4gIG1ldGFsLWxpbmtzID4gLmNvbnRyb2xsZXIgYnV0dG9uIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIG1ldGFsLWxpbmtzID4gLmNvbnRyb2xsZXIgYnV0dG9uIHN2ZyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBjb2xvcjogI2RmMzAzNTtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogOHB4O1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gNnB4KTtcbiAgfVxuICBtZXRhbC1saW5rcyA+IC5jb250cm9sbGVyIGJ1dHRvbi5hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICB9XG4gIG1ldGFsLWxpbmtzID4gLmNvbnRyb2xsZXIgYnV0dG9uLmFjdGl2ZSBzdmcge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgbWV0YWwtbGlua3MgPiAuY29udHJvbGxlciBidXR0b246Zmlyc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzk2OTY5NTtcbiAgfVxuICBtZXRhbC1saW5rcyA+IC5jb250cm9sbGVyIGJ1dHRvbjpsYXN0LW9mLXR5cGUge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzk2OTY5NTtcbiAgfVxuICBtZXRhbC1saW5rcyA+IC5jb250ZW50LWNvbnRhaW5lciA+IGRpdiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBtZXRhbC1saW5rcyA+IC5jb250ZW50LWNvbnRhaW5lciA+IGRpdiAubGVmdCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgNTAlKTtcbiAgICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICBvcGFjaXR5OiAwO1xuICAgIGFuaW1hdGlvbjogZmFkZUluVGFiIDAuM3M7XG4gIH1cbiAgbWV0YWwtbGlua3MgPiAuY29udGVudC1jb250YWluZXIgPiBkaXYgLmxlZnQgPiBkaXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgbWV0YWwtbGlua3MgPiAuY29udGVudC1jb250YWluZXIgPiBkaXYgLmxlZnQgPiBhIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpO1xuICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICB9XG4gIG1ldGFsLWxpbmtzID4gLmNvbnRlbnQtY29udGFpbmVyID4gZGl2IC5sZWZ0ID4gYSAuaW1hZ2Uge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbiAgbWV0YWwtbGlua3MgPiAuY29udGVudC1jb250YWluZXIgPiBkaXYgLmxlZnQgPiBhIC5pbWFnZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIH1cbiAgbWV0YWwtbGlua3MgPiAuY29udGVudC1jb250YWluZXIgPiBkaXYgLmxlZnQgPiBhIHAge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB6LWluZGV4OiA5O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBtZXRhbC1saW5rcyA+IC5jb250ZW50LWNvbnRhaW5lciA+IGRpdiAucmlnaHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgbWV0YWwtbGlua3MgPiAuY29udGVudC1jb250YWluZXIgPiBkaXYuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICBtZXRhbC1saW5rcyA+IC5jb250ZW50LWNvbnRhaW5lciA+IGRpdi5hY3RpdmUgLmxlZnQge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDkwMXB4KSB7XG4gIG1ldGFsLWxpbmtzIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDYwMHB4O1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2VyMSkgYXV0bztcbiAgICBsZWZ0OiB1bnNldDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICB9XG4gIG1ldGFsLWxpbmtzID4gLmNvbnRyb2xsZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDtcbiAgICB0ZXh0LW9yaWVudGF0aW9uOiBtaXhlZDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgbWV0YWwtbGlua3MgPiAuY29udHJvbGxlciBidXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogdmFyKC0tZ2FwKTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM5Njk2OTU7XG4gICAgY29sb3I6ICM5Njk2OTU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG4gIG1ldGFsLWxpbmtzID4gLmNvbnRyb2xsZXIgYnV0dG9uIHN2ZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBtZXRhbC1saW5rcyA+IC5jb250cm9sbGVyIGJ1dHRvbjpmaXJzdC1vZi10eXBlIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzk2OTY5NTtcbiAgfVxuICBtZXRhbC1saW5rcyA+IC5jb250cm9sbGVyIGJ1dHRvbjpsYXN0LW9mLXR5cGUge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTY5Njk1O1xuICB9XG4gIG1ldGFsLWxpbmtzID4gLmNvbnRyb2xsZXIgYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgYm9yZGVyLWxlZnQ6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuICBtZXRhbC1saW5rcyA+IC5jb250cm9sbGVyIGJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gIH1cbiAgbWV0YWwtbGlua3MgPiAuY29udGVudC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICBtZXRhbC1saW5rcyA+IC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC1saW5rIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIG1ldGFsLWxpbmtzID4gLmNvbnRlbnQtY29udGFpbmVyID4gZGl2IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjUlIDc1JTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IC0zO1xuICAgIGFuaW1hdGlvbjogZmFkZU91dFRhYiAwLjNzO1xuICB9XG4gIG1ldGFsLWxpbmtzID4gLmNvbnRlbnQtY29udGFpbmVyID4gZGl2LmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGFuaW1hdGlvbjogZmFkZUluVGFiIDAuM3M7XG4gIH1cbiAgbWV0YWwtbGlua3MgPiAuY29udGVudC1jb250YWluZXIgPiBkaXYgPiAubGVmdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgKiAzKTtcbiAgfVxuICBtZXRhbC1saW5rcyA+IC5jb250ZW50LWNvbnRhaW5lciA+IGRpdiA+IC5sZWZ0IGRpdiB7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbiAgfVxuICBtZXRhbC1saW5rcyA+IC5jb250ZW50LWNvbnRhaW5lciA+IGRpdiA+IC5sZWZ0IGRpdiBzdHJvbmcge1xuICAgIGNvbG9yOiAjZGYzMDM1O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxuICBtZXRhbC1saW5rcyA+IC5jb250ZW50LWNvbnRhaW5lciA+IGRpdiA+IC5sZWZ0IGRpdiBzdHJvbmc6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICBtZXRhbC1saW5rcyA+IC5jb250ZW50LWNvbnRhaW5lciA+IGRpdiA+IC5sZWZ0IGRpdiBwIHtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogLTk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHRyYW5zaXRpb246IGhlaWdodCB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbiAgfVxuICBtZXRhbC1saW5rcyA+IC5jb250ZW50LWNvbnRhaW5lciA+IGRpdiA+IC5sZWZ0IGRpdi5hY3RpdmUgcCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIG1ldGFsLWxpbmtzID4gLmNvbnRlbnQtY29udGFpbmVyID4gZGl2ID4gLmxlZnQgZGl2OmhvdmVyIHN0cm9uZywgbWV0YWwtbGlua3MgPiAuY29udGVudC1jb250YWluZXIgPiBkaXYgPiAubGVmdCBkaXYuYWN0aXZlIHN0cm9uZyB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gIH1cbiAgbWV0YWwtbGlua3MgPiAuY29udGVudC1jb250YWluZXIgPiBkaXYgLnJpZ2h0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgbWV0YWwtbGlua3MgPiAuY29udGVudC1jb250YWluZXIgPiBkaXYgLnJpZ2h0ID4gLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNDAlIDYwJTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIG1ldGFsLWxpbmtzID4gLmNvbnRlbnQtY29udGFpbmVyID4gZGl2IC5yaWdodCA+IC5jb250ZW50IC5jb250ZW50LXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1nYXApICogMyk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGdhcDogY2FsYyh2YXIoLS1nYXApICogMik7XG4gIH1cbiAgbWV0YWwtbGlua3MgPiAuY29udGVudC1jb250YWluZXIgPiBkaXYgLnJpZ2h0ID4gLmNvbnRlbnQgLmNvbnRlbnQtcmlnaHQgaDQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxuICBtZXRhbC1saW5rcyA+IC5jb250ZW50LWNvbnRhaW5lciA+IGRpdiAucmlnaHQgPiAuY29udGVudCAuY29udGVudC1yaWdodCBoNSB7XG4gICAgY29sb3I6ICNkZjMwMzU7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG4gIG1ldGFsLWxpbmtzID4gLmNvbnRlbnQtY29udGFpbmVyID4gZGl2IC5yaWdodCA+IC5jb250ZW50IC5jb250ZW50LXJpZ2h0IHVsIGxpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICB9XG4gIG1ldGFsLWxpbmtzID4gLmNvbnRlbnQtY29udGFpbmVyID4gZGl2IC5yaWdodCA+IC5jb250ZW50IC5jb250ZW50LXJpZ2h0IHVsIGxpIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1nYXApICogMC41KSAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICBtZXRhbC1saW5rcyA+IC5jb250ZW50LWNvbnRhaW5lciA+IGRpdiAucmlnaHQgPiAuY29udGVudCAuY29udGVudC1yaWdodCB1bCBsaSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gIH1cbiAgbWV0YWwtbGlua3MgPiAuY29udGVudC1jb250YWluZXIgPiBkaXYgLnJpZ2h0ID4gLmNvbnRlbnQgLmNvbnRlbnQtcmlnaHQgdWwgbGkgYSBzdmcge1xuICAgIGZpbGw6ICNkZjMwMzU7XG4gICAgY29sb3I6ICNkZjMwMzU7XG4gICAgc3Ryb2tlOiAjZGYzMDM1O1xuICAgIGhlaWdodDogMTJweDtcbiAgICB3aWR0aDogMTJweDtcbiAgfVxuICBtZXRhbC1saW5rcyA+IC5jb250ZW50LWNvbnRhaW5lciA+IGRpdiAucmlnaHQgPiAuY29udGVudC5hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgei1pbmRleDogOTtcbiAgICBhbmltYXRpb246IGZhZGVJblRhYiAwLjNzO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgbWV0YWwtbGlua3MgPiAuY29udHJvbGxlciBidXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblRhYiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dFRhYiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQ29sb3VyIFBhbGV0dGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgXCIuL21vZHVsZXMvY29sb3VyXCI7XG5cbi8vIEFkanVzdCB0aGVzZSB0byBhbWVuZCB0aGUgbGlnaHRuZXNzIG9yIGRhcmtuZXNzIGFtb3VudHMgZm9yIHRoZSBjb2xvdXJzIGxzaXRlZCBiZWxvdy4uIFxuXG4kX2xpZ2h0bmVzcyA6IDE1JSAhZGVmYXVsdDtcbiRfZGFya25lc3MgIDogMjAlICFkZWZhdWx0O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29tbW9uIENvbG91cnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRyZWQgICAgICAgICAgOiAjOTcwODBFICFkZWZhdWx0O1xuJHJlZC1saWdodCAgICA6IGNvbG91ci5saWdodGVuKCRyZWQsICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiRyZWQtZGFyayAgICAgOiBjb2xvdXIuZGFya2VuKCRyZWQsICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kb3JhbmdlICAgICAgIDogI0RBNEIwRiAhZGVmYXVsdDtcbiRvcmFuZ2UtbGlnaHQgOiBjb2xvdXIubGlnaHRlbigkb3JhbmdlLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kb3JhbmdlLWRhcmsgIDogY29sb3VyLmRhcmtlbigkb3JhbmdlLCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuJHllbGxvdyAgICAgICA6ICNFOUIxMDQgIWRlZmF1bHQ7XG4keWVsbG93LWxpZ2h0IDogY29sb3VyLmxpZ2h0ZW4oJHllbGxvdywgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJHllbGxvdy1kYXJrICA6IGNvbG91ci5kYXJrZW4oJHllbGxvdywgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbiRncmVlbiAgICAgICAgOiAjNDg4QzEzICFkZWZhdWx0O1xuJGdyZWVuLWxpZ2h0ICA6IGNvbG91ci5saWdodGVuKCRncmVlbiwgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJGdyZWVuLWRhcmsgICA6IGNvbG91ci5kYXJrZW4oJGdyZWVuLCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuJGJsdWUgICAgICAgICA6ICMxQjU1QzAgIWRlZmF1bHQ7XG4kYmx1ZS1saWdodCAgIDogY29sb3VyLmxpZ2h0ZW4oJGJsdWUsICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiRibHVlLWRhcmsgICAgOiBjb2xvdXIuZGFya2VuKCRibHVlLCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuJHBpbmsgICAgICAgICA6ICNFMDVENkIgIWRlZmF1bHQ7XG4kcGluay1saWdodCAgIDogY29sb3VyLmxpZ2h0ZW4oJHBpbmssICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiRwaW5rLWRhcmsgICAgOiBjb2xvdXIuZGFya2VuKCRwaW5rLCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuJHB1cnBsZSAgICAgICA6ICM2MTNENUEgIWRlZmF1bHQ7XG4kcHVycGxlLWxpZ2h0IDogY29sb3VyLmxpZ2h0ZW4oJHB1cnBsZSwgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJHB1cnBsZS1kYXJrICA6IGNvbG91ci5kYXJrZW4oJHB1cnBsZSwgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbiRncmV5ICAgICAgICAgOiAjNzg3ODc4ICFkZWZhdWx0O1xuJGdyZXktbGlnaHQgICA6IGNvbG91ci5saWdodGVuKCRncmV5LCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kZ3JleS1kYXJrICAgIDogY29sb3VyLmRhcmtlbigkZ3JleSwgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbiRicm93biAgICAgICAgOiAjNzc0RjM4ICFkZWZhdWx0O1xuJGJyb3duLWxpZ2h0ICA6IGNvbG91ci5saWdodGVuKCRicm93biwgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJGJyb3duLWRhcmsgICA6IGNvbG91ci5kYXJrZW4oJGJyb3duLCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuJHdoaXRlICAgICAgICA6ICNGRkZGRkYgIWRlZmF1bHQgO1xuJHdoaXRlLWRhcmsgICA6IGNvbG91ci5saWdodGVuKCR3aGl0ZSwgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuXG4kYmxhY2sgICAgICAgIDogIzAwMDAwMCAhZGVmYXVsdCA7XG4kYmxhY2stbGlnaHQgIDogY29sb3VyLmRhcmtlbigkYmxhY2ssICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU29jaWFsIE1lZGlhIENvbG91cnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBAc2VlIGh0dHBzOi8vd3d3LmxvY2tlZG93bnNlby5jb20vc29jaWFsLW1lZGlhLWNvbG9ycy9cblxuJGZhY2Vib29rOiAgICAjMTg3N2YyICFkZWZhdWx0O1xuJHR3aXR0ZXI6ICAgICAjMWRhMWYyICFkZWZhdWx0O1xuJGdvb2dsZTogICAgICAjNDI4NWY0ICFkZWZhdWx0O1xuJHlvdXR1YmU6ICAgICAjZmYwMDAwICFkZWZhdWx0O1xuJGxpbmtlZGluOiAgICAjMDA3YmI1ICFkZWZhdWx0O1xuJGluc3RhZ3JhbTogICAjYzMyYWEzICFkZWZhdWx0O1xuJHBpbnRlcmVzdDogICAjYmQwODFjICFkZWZhdWx0O1xuJGRhaWx5bW90aW9uOiAjMDA2NkRDICFkZWZhdWx0O1xuJHNuYXBjaGF0OiAgICAjZmZmYzAwICFkZWZhdWx0O1xuJGZsaWNrcjogICAgICAjZjQwMDgzICFkZWZhdWx0O1xuJHZpbWVvOiAgICAgICAjMWFiN2VhICFkZWZhdWx0O1xuJHRodW1ibGVyOiAgICAjMzU0NjVkICFkZWZhdWx0O1xuJHJlZGRpdDogICAgICAjZmY0NTAwICFkZWZhdWx0O1xuJHdoYXRzYXBwOiAgICAjMjVkMzY2ICFkZWZhdWx0O1xuJHNreXBlOiAgICAgICAjMDBhZmYwICFkZWZhdWx0O1xuJGRpc2NvcmQ6ICAgICAjNzI4OWRhICFkZWZhdWx0O1xuXG4kc29jaWFsLW1lZGlhIDogKFxuICBmYWNlYm9vazogICAgICRmYWNlYm9vayxcbiAgdHdpdHRlcjogICAgICAkdHdpdHRlcixcbiAgZ29vZ2xlOiAgICAgICAkZ29vZ2xlLFxuICB5b3V0dWJlOiAgICAgICR5b3V0dWJlLFxuICBsaW5rZWRpbjogICAgICRsaW5rZWRpbixcbiAgaW5zdGFncmFtOiAgICAkaW5zdGFncmFtLFxuICBwaW50ZXJlc3Q6ICAgICRwaW50ZXJlc3QsXG4gIGRhaWx5bW90aW9uOiAgJGRhaWx5bW90aW9uLFxuICBzbmFwY2hhdDogICAgICRzbmFwY2hhdCxcbiAgZmxpY2tyOiAgICAgICAkZmxpY2tyLFxuICB2aW1lbzogICAgICAgICR2aW1lbyxcbiAgdGh1bWJsZXI6ICAgICAkdGh1bWJsZXIsXG4gIHJlZGRpdDogICAgICAgJHJlZGRpdCxcbiAgd2hhdHNhcHA6ICAgICAkd2hhdHNhcHAsXG4gIHNreXBlOiAgICAgICAgJHNreXBlLFxuICBkaXNjb3JkOiAgICAgICRkaXNjb3JkXG4pO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gT3RoZXIgQ29sb3Vyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHllbGxvOiAjRkZDQjA4ICFkZWZhdWx0O1xuXG4vLy8gSGFuZGxlcyB0aGUgY3Vyc29yIHNlbGVjdGlvbiBjb2xvdXJcbi8vLyBAc2VlIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vYWxtYW5hYy9zZWxlY3RvcnMvcy9zZWxlY3Rpb24vXG5cbiRoaWdobGlnaHQ6ICNCMkQzRkEgIWRlZmF1bHQ7IFxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBCcmVhayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2JyZWFrXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gb3V0KCRicmVha3BvaW50KSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiN7JGJyZWFrcG9pbnQgKyAxfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBpbigkYnJlYWtwb2ludCkge1xuICBAbWVkaWEgKG1heC13aWR0aDojeyRicmVha3BvaW50fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBiZXR3ZWVuKCRtaW4sICRtYXgpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6I3skbWlufSkgYW5kIChtYXgtd2lkdGg6I3skbWF4fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIENvbG91cnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vLyBFeHBsaWNpdCBDb2xvdXJzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gRXhwbGljaXQgY29sb3VycyBhcmUgYSB3aGF0IHRoZXkgYXJlLiBHcmVlbiBpcyBncmVlbiwgYmx1ZSBpcyBibHVlLi4uIG5vIG9ic2N1cml0eS5cbi8vLyBXZSBzdWZmaXggbnVtYmVycyB0byBkZWZpbmUgdmFyaWF0aW9ucyBvZiBjb2xvdXJzIGluIG5vIHBhcnRpY3VsYXIgb3JkZXIgb2Ygc2hhZGUuXG4vLy8gRXhhbXBsZTogZ3JlZW4xLCBncmVlbjIsIGdyZWVuMywgZ3JlZW40LiBUaGlzIGlzIHNvIHdlIGNhbiBpbW1pZGlhdGVseSBzZWUgaG93XG4vLy8gbWFueSBvcHRpb25zIHdlIGhhdmUgZm9yIGEgc2luZ2xlIGNvbG91ciBhdCBhIGdsYW5jZS4gSWYgeW91IHNlZSAkZ3JlZW40LCB5b3Uga25vdyB0aGlzXG4vLy8gcHJvamVjdCBpcyB1c2luZyBmb3VyIHZhcmlhdGlvbnMgb2YgZ3JlZW4uIFRoaXMgaXMgYWxzbyBvZnRlbiB1c2VmdWwgYmVjYXVzZSBtYW55IGRldmVsb3BtZW50XG4vLy8gdG9vbHMgd2lsbCBhdXRvLXN1Z2dlc3QgY29sb3VycyB3aXRoIGFjdHVhbCBleGFtcGxlcyBvZiB0aGUgY29sb3VyLlxuLy8vIFRoZSBQYWxsZXRlcyBtb2R1bGUgKGF0IHRoZSBib3R0b20gb2YgdGhpcyBmaWxlKSB3aWxsIG91dHB1dCBzaGFkZWQgbmFtZWQgdmFyaWF0aW9ucyxcbi8vLy8gPGNvbG91cj4tZGFyayBhbmQgPGNvbG91cj4tbGlnaHQuIElmIHlvdSBuZWVkIGFkZGl0aW9uYWwgc2hhZGVzIHBsZWFzZSByZWZyYWltIGZyb20gZ29pbmcgZG93blxuLy8vIHRoZSAnbGlnaHRlcicsICdsaWdodGVzdCcsICdkYXJrZXInLCAnZGFya2VzdCcgY29udmVudGlvbi4gVGhlc2UgYXJlIG5vdCBwYXJ0aWN1YXJseSBsZWdpYWJsZVxuLy8vIGFuZCB0aGV5IGFyZSBsaW1pdGVkIGJ5IGhvdyBjcmVhdGl2ZSAoY29uZnVzaW5nKSB5b3VyIHdvcmRpbmcgY2FuIGJlLlxuLy8vIEl0IGlzIGJldHRlciB0byBkZWZpbmUgYSBuZXcgZXhwbGNpdCBjb2xvdXIgZW50aXJlbHkuXG4vLy8gQHNlZSBodHRwczovL2Nzcy10cmlja3MuY29tL3doYXQtZG8teW91LW5hbWUtY29sb3ItdmFyaWFibGVzL1xuXG4kYmx1ZTogIzEzMWY2YjsgLy8gUHJpbWFyeVxuJGJsdWUyOiAjMjkyYjY4OyAvLyBOYWtlZCBMaW5rXG4kYmx1ZTM6ICMzZDNmN2Y7IC8vIExpZ250IEdyYWRpZW50XG4kYmx1ZTQ6ICMxMDEyNGQ7IC8vIERhcmsgR3JhZGllbnRcbiRibHVlNTogIzAwOTVmZjsgLy8gTmF2aWdhdGlvbiBsaW5rIGhvdmVyXG4vLyAkcmVkICAgIDogI0UwM0E0MDsgLy8gU2Vjb25kYXJ5XG4kcmVkOiAjZGYzMDM1OyAvLyBTZWNvbmRhcnkgLSBUaGlzIHBhc3NlcyB0aGUgY29udHJhc3QgcmF0aW8gYWNjZXNzaWJpbGl0eSB0ZXN0IGluIEdvb2dsZXMgTGlnaHRob3VzZVxuJGdyZXk6ICM5Njk2OTU7XG4kZ3JleTI6ICM2YTZhNmE7IC8vIEZvbnRcbiRncmV5MzogI2Y0ZjRmNDsgLy8gTGlnaHRlciBHcmV5IEJhY2tncm91bmRcbiRncmV5NDogI2RjZGNkYztcbiRncmV5NTogI2IxYjFiMTsgLy8gU3BhY2VycyA8aHI+XG4kZ3JleTY6ICMzMzMyMzY7IC8vIE5hdmlnYXRpb24gbGluayBob3ZlclxuJGdyZWVuOiAjNTBiYzA4O1xuJGdyZWVuMjogIzc2YmIyODsgLy8gRVNHIGdyZWVuXG4keWVsbG93OiAjZjZmNGRiOyAvLyBEaXNjbGFpbWVyIEJhY2tncm91bmRcbiR5ZWxsb3cyOiAjZmNiMDAyO1xuJG9yYW5nZTogI2ZmNmEwMDtcbiRvcmFuZ2UyOiAjZGE4YjBmO1xuJGJsYWNrOiAjMWUxYzFjO1xuXG4kbWFyazogJGJsdWU1OyAvLyBiYWNrZ3JvdW5kIGNvbG91ciBmb3IgPG1hcms+IHRhZ3NcblxuJHByaW1hcnk6IHZhcigtLXByaW1hcnksICN7JGJsdWV9KTtcbiRzZWNvbmRhcnk6IHZhcigtLXNlY29uZGFyeSwgI3skcmVkfSk7XG5cbi8vLyBQYWxldHRlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gQnkgbG9hZGluZyBjb25maWd1cmF0aW9ucyBpbnRvIHRoaXMgJ3BhbGxldGUnIG1vZHVsZSwgd2Ugd2lsbCBiZSBhYmxlXG4vLy8gdG8gZGVjbGFyZSB2YXJpYW50cyBvZiBhIGZldyBjb21tb24gY29sb3Vycy4gWW91IGNhbiBhbHNvIGFkanVzdCB0aGUgbGlnaHRuZXNzXG4vLy8gb3IgZGFya25lc3Mgb2YgZWFjaCB2YXJpYW50IGJ5IHBhc3NpbmcgaW4gdGhlIHJlbGV2YW50IHByaXZhdGUgcnVsZXMuXG4vLy8gUGFsZXR0ZSB3aWxsIGFsc28gZXhwb3NlIHBvcHVsYXIgc29jaWFsIG1lZGlhIGNvbG91cnMgYW5kIHRoZSBZZWxsbyBicmFuZCBjb2xvdXIuXG4vLy8gQHNlZSBodHRwczovL3Nhc3MtbGFuZy5jb20vZG9jdW1lbnRhdGlvbi9hdC1ydWxlcy9mb3J3YXJkI2NvbmZpZ3VyaW5nLW1vZHVsZXNcbi8vLyBAb3V0cHV0ICRncmVlbiA6ICMwMjkyOUE7ICRncmVlbi1kYXJrIDogIzI1NjU2OTsgJGdyZWVuLWxpZ2h0OiAjMDRiOWM0O1xuXG5AZm9yd2FyZCAnY3JlYXRlL3BhbGV0dGUnIHdpdGggKFxuICAkYmx1ZTogJGJsdWUsXG4gICRyZWQ6ICRyZWQsXG4gICRncmV5OiAkZ3JleSxcbiAgJHllbGxvdzogJHllbGxvdyxcbiAgJG9yYW5nZTogJG9yYW5nZSxcbiAgJGdyZWVuOiAkZ3JlZW4sXG4gICRibGFjazogJGJsYWNrXG4pO1xuXG4kbWFwOiAoXG4gIGJsdWU6ICRibHVlLFxuICByZWQ6ICRyZWQsXG4gIGdyZXk6ICRncmV5MyxcbiAgeWVsbG93OiAkeWVsbG93LFxuICBvcmFuZ2U6ICRvcmFuZ2UsXG4gIGdyZWVuOiAkZ3JlZW4sXG4gIGJsYWNrOiAkYmxhY2ssXG4pO1xuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFVuaXRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlIFwic2FzczptYXRoXCI7XG5AdXNlICdzYXNzOnN0cmluZyc7XG5AdXNlICdzYXNzOm1ldGEnO1xuXG4vLyBUaGlzIHVuaXRzIGNyZWF0b3Igd2lsbCByZW5kZXIgc2l4IHBvc2l0aXZlIGFuZCBzaXggbmVnYXRpdmUgc2FzcyB2YXJpYWJsZXMgZm9yIFxuLy8gZ2Fwcywgc3BhY2VycywgYW5kIGd1dHRlcnMgcmVsYXRpdmUgdG8gdGhlIGJhc2V2IHZhbHVlcyBkZWZpbmVkIGJlbG93LlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJhc2UgVmFsdWVzIFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIEBzZWUgaHR0cHM6Ly9jb2RlcGVuLmlvL21hcmtub3R0b24vcGVuL0V4UGJOR2VcblxuLy8gVGhlc2UgdGhyZWUgdmFsdWVzIHdpbGwgYWN0IGEgY29uc3RhbnQgYmFzZWxpbmUgZm9yIGFsbCBmb2xsb3dpbmcgdW5pdCBkZWxjYXJhdGlvbnMuXG5cbi8vIEdhcHMgbXVzdCB1c2UgYW4gYWJzb2x1dGUgYW5kIHN0YXRpYyAncHgnIHVuaXQuIEl0IHNob3VsZCBub3QgYmUgcmVsYXRpdmUgdG8gYW55XG4vLyBwYXJlbnQgY29udGFpbmVyIGFuZCBpcyBub3QgaW50ZW5kZWQgZm9yIGZvbnQgc2l6ZXMsIHNvIHlvdSBzaG91bGQgbm90IHVzZSAncmVtJyBvciAnZW0nLiBcbiRnYXAgOiAxNnB4ICFkZWZhdWx0O1xuJGJhc2UtZ2FwIDogJGdhcDtcblxuLy8gU3BhY2VycyBtdXN0IHVzZSBhICd2aCcgdW5pdCBzbyB0aGV5IGFyZSByZWxhdGl2ZSB0byB0aGUgdXNlcnMgdmlld3BvcnQgaGVpZ2h0LXdpc2UuXG4vLyBUaGV5IHNob3VsZCBwcmltYXJpbHkgYmUgdXNlZCBmb3IgdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMgb24gYSBjb21wb25lbnQgbGV2ZWwuXG4kc3BhY2VyIDogNHZoICFkZWZhdWx0OyBcbiRiYXNlLXNwYWNlciA6ICRzcGFjZXI7IFxuXG4vLyBHdXR0ZXJzIG11c3QgdXNlIGEgJ3Z3JyB1bml0IHNvIHRoZXkgYXJlIHJlbGF0aXZlIHRvIHRoZSB1c2VycyB2aWV3cG9ydCB3aWR0aC13aXNlLiBcbi8vIFRoZXkgc2hvdWxkIHByaW1hcmlseSBiZSB1c2VkIGZvciB0aGUgbGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvciBtYXJnaW4gb24gYSBwYXJlbnQgbGV2ZWwuXG4vLyBBcyBhIHN1Z2dlc3Rpb24sIHRoaXMgZ3V0dGVyIGNvbnN0YW50IHNob3VsZCBiZSBoYWxmIHRoZSBzaXplIG9mIHRoZSBzcGFjZXIgdmFsdWUuXG4kZ3V0dGVyIDogM3Z3ICFkZWZhdWx0O1xuJGJhc2UtZ3V0dGVyIDogJGd1dHRlcjsgXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBc2JvbHV0ZSBVbml0cyBcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEdhcHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHYXBzIGFyZSBhbiBhYnNvbHV0ZSB1bml0IChweCkgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBpbmRpdmlkdWFsIGVsZW1lbnRzIHdpdGhpbiBhIGNvbXBvbmVudGVkLiBcbi8vIFRoZSBhaW0gaXMgdG8gcmV0YWluIGNvbnNpc3RhbnQgc3BhY2luZyBhbW9uZ3N0IGJsb2NrLCBpbmxpbmUsIHRhYmxlIGFuZCBncm91cCBodG1sIGVsZW1lbnRzLlxuXG5AZnVuY3Rpb24gZ2FwKCRhbW91bnQgOiAxKSB7XG4gIEBpZiAoICRhbW91bnQgPT0gMSApIHsgXG4gICAgQHJldHVybiB2YXIoLS1nYXApOyBcbiAgfSBAZWxzZSB7IFxuICAgIEByZXR1cm4gY2FsYyh2YXIoLS1nYXApICogI3skYW1vdW50fSk7IFxuICB9XG59XG5cbiRnYXAwIDogZ2FwKDAuNSk7ICRnYXAwLSA6IGdhcCgtMC41KTtcbiRnYXAgIDogZ2FwKDEpOyAgICRnYXAtICA6IGdhcCgtMSk7XG4kZ2FwMiA6IGdhcCgyKTsgICAkZ2FwMi0gOiBnYXAoLTIpO1xuJGdhcDMgOiBnYXAoMyk7ICAgJGdhcDMtIDogZ2FwKC0zKTtcbiRnYXA0IDogZ2FwKDQpOyAgICRnYXA0LSA6IGdhcCgtNCk7XG4kZ2FwNSA6IGdhcCg1KTsgICAkZ2FwNS0gOiBnYXAoLTUpO1xuJGdhcDYgOiBnYXAoNik7ICAgJGdhcDYtIDogZ2FwKC02KTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJlbGF0aXZlIFVuaXRzIFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGZ1bmN0aW9uIF9keW5hbWljLXVuaXQoJGN1c3RvbS1wcm9wZXJ0eSwgJGFtb3VudCwgJG1pbiwgJG1heCwgJHVzZS1uZWdhdGl2ZSA6IGZhbHNlLCAkdXNlLWNsYW1wIDogdHJ1ZSkge1xuXG4gIC8vIENhbGMgTWV0aG9kXG4gICRyZXN1bHQgOiBjYWxjKCgjeyRjdXN0b20tcHJvcGVydHl9ICogI3skYW1vdW50fSkgKyAje2lmKCRtaW4gPT0gMCwgMHB4LCAkbWluKX0pO1xuICBcbiAgLy8gQ2xhbXAgTWV0aG9kXG4gIEBpZiAoICR1c2UtY2xhbXAgKSB7XG4gICAgQGlmICggJGFtb3VudCA9PSAwICkge1xuICAgICAgJHJlc3VsdCA6IGNsYW1wKCN7bWF0aC5kaXYoJG1pbiwgMil9LCAjeyRjdXN0b20tcHJvcGVydHl9ICogMC41LCAjeyRtYXh9KTtcbiAgICB9IEBlbHNlIGlmICggJGFtb3VudCA9PSAxICkge1xuICAgICAgJHJlc3VsdCA6IGNsYW1wKCN7JG1pbn0sICN7JGN1c3RvbS1wcm9wZXJ0eX0sICN7JG1heH0pO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJlc3VsdCA6IGNsYW1wKCN7JG1pbn0sICN7JGN1c3RvbS1wcm9wZXJ0eX0gKiAjeyRhbW91bnR9LCAjeyRtYXh9KTtcbiAgICB9XG4gIH0gXG5cbiAgQGlmICggJHVzZS1uZWdhdGl2ZSApIHtcbiAgICAkcmVzdWx0IDogY2FsYygtMSAqICN7JHJlc3VsdH0pO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xuXG59IFxuXG4vLyBTcGFjZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU3BhY2VycyBhcmUgYSByZWxhdGl2ZSB2aWV3cG9ydCBoZWlnaHQgKHZoKSB1bml0IGludGVuZGVkIHRvIGJlIHVzZWQgb24gYSBjb21wb25lbnRlZCBsZXZlbC5cbi8vIFRoZSBhaW0gaXMgdG8gcmV0YWluIGNvbnNpc3RhbnQgdG9wIGFuZCBib3R0b20gc3BhY2luZyBhbW9uZ3N0ICdzZWN0aW9uJyBhbmQgJ2N1c3RvbScgZWxlbWVudHMuXG4vLyBTcGFjZXJzIHdpbGwgZXF1YXRlIHRvIHNvbWV0aGluZyBsaWtlOiBgKCRzcGFjZXIgKiB4KSArICRnYXBgLiBcbi8vIFRoZSAnJGdhcCcgaXMgYWRkZWQgc28gdGhhdCB2aCBzcGFjaW5nIHdpbGwgbmV2ZXIgc2NhbGUgdG9vIGNsb3NlIHRvIDBweC4gXG5cbkBmdW5jdGlvbiBzcGFjZXIoJGFtb3VudCA6IDEsICRtaW4gOiAkYmFzZS1nYXAsICRtYXggOiBudWxsLCAkdXNlLW5lZ2F0aXZlIDogZmFsc2UsICR1c2UtY2xhbXAgOiB0cnVlKSB7XG4gIEBpZiAoICRhbW91bnQgPT0gMCkgeyAkYW1vdW50IDogMC41OyAkbWluIDogbWF0aC5kaXYoJG1pbiwgMik7IH1cbiAgQGlmICggbWV0YS50eXBlLW9mKCRtYXgpID09ICdudWxsJyApIHsgXG4gICAgQGlmICggbWV0YS50eXBlLW9mKCRtaW4pID09ICdzdHJpbmcnIGFuZCBzdHJpbmcuaW5kZXgoJG1pbiwgJ3ZhcicpICkge1xuICAgICAgJG1heCA6IGNhbGMoI3skbWlufSAqICN7JGFtb3VudCArIDF9KTsgXG4gICAgfSBAZWxzZSB7XG4gICAgICAkbWF4IDogI3skbWluICogKCRhbW91bnQgKyAxKX07IFxuICAgIH1cbiAgfVxuICBAcmV0dXJuIF9keW5hbWljLXVuaXQodmFyKC0tc3BhY2VyKSwgJGFtb3VudCwgJG1pbiwgJG1heCwgJHVzZS1uZWdhdGl2ZSwgJHVzZS1jbGFtcCk7XG59XG5cbiRzcGFjZXIwIDogdmFyKC0tc3BhY2VyMCk7ICRzcGFjZXIwLSA6IHZhcigtLXNwYWNlcjAtKTtcbiRzcGFjZXIgIDogdmFyKC0tc3BhY2VyMSk7ICRzcGFjZXItICA6IHZhcigtLXNwYWNlcjEtKTtcbiRzcGFjZXIyIDogdmFyKC0tc3BhY2VyMik7ICRzcGFjZXIyLSA6IHZhcigtLXNwYWNlcjItKTtcbiRzcGFjZXIzIDogdmFyKC0tc3BhY2VyMyk7ICRzcGFjZXIzLSA6IHZhcigtLXNwYWNlcjMtKTtcbiRzcGFjZXI0IDogdmFyKC0tc3BhY2VyNCk7ICRzcGFjZXI0LSA6IHZhcigtLXNwYWNlcjQtKTtcbiRzcGFjZXI1IDogdmFyKC0tc3BhY2VyNSk7ICRzcGFjZXI1LSA6IHZhcigtLXNwYWNlcjUtKTtcbiRzcGFjZXI2IDogdmFyKC0tc3BhY2VyNik7ICRzcGFjZXI2LSA6IHZhcigtLXNwYWNlcjYtKTtcblxuLy8gR3V0dGVycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEd1dHRlcnMgYXJlIGEgcmVsYXRpdmUgdmlld3BvcnQgd2lkdGggKHZ3KSB1bml0IGludGVuZGVkIHRvIGJlIHVzZWQgb24gYSBwYXJlbnQgbGV2ZWw7XG4vLyBmb3IgZXhhbXBsZSwgYSB3cmFwcGVyIGNvbnRhaW5lciBvciBib2R5IHdpdGggbmVzdGVkIGNvbXBvbmVudHMuIFxuLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCBsZWZ0IGFuZCByaWdodCBzcGFjaW5nIGFtb25nc3QgJ3NlY3Rpb24nIGFuZCAnY3VzdG9tJyBlbGVtZW50cy5cbi8vIEd1dHRlcnMgd2lsbCBlcXVhdGUgdG8gc29tZXRoaW5nIGxpa2U6IGAoJGd1dHRlciAqIHgpICsgJGdhcGAuIFxuLy8gVGhlICckZ2FwJyBpcyBhZGRlZCBzbyB0aGF0IHZ3IHNwYWNpbmcgd2lsbCBuZXZlciBzY2FsZSB0b28gY2xvc2UgdG8gMHB4LiBcblxuQGZ1bmN0aW9uIGd1dHRlcigkYW1vdW50IDogMSwgJG1pbiA6ICRiYXNlLWdhcCwgJG1heCA6IG51bGwsICR1c2UtbmVnYXRpdmUgOiBmYWxzZSwgJHVzZS1jbGFtcCA6IHRydWUpIHtcbiAgQGlmICggJGFtb3VudCA9PSAwKSB7ICRhbW91bnQgOiAwLjU7ICRtaW4gOiBtYXRoLmRpdigkbWluLCAyKTsgfVxuICBAaWYgKCBtZXRhLnR5cGUtb2YoJG1heCkgPT0gJ251bGwnICkgeyBcbiAgICBAaWYgKCBtZXRhLnR5cGUtb2YoJG1pbikgPT0gJ3N0cmluZycgYW5kIHN0cmluZy5pbmRleCgkbWluLCAndmFyJykgKSB7XG4gICAgICAkbWF4IDogY2FsYygjeyRtaW59ICogI3skYW1vdW50ICsgMX0pOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgICRtYXggOiAjeyRtaW4gKiAoJGFtb3VudCArIDEpfTsgXG4gICAgfVxuICB9XG4gIEByZXR1cm4gX2R5bmFtaWMtdW5pdCh2YXIoLS1ndXR0ZXIpLCAkYW1vdW50LCAkbWluLCAkbWF4LCAkdXNlLW5lZ2F0aXZlLCAkdXNlLWNsYW1wKTtcbn1cblxuJGd1dHRlcjAgOiB2YXIoLS1ndXR0ZXIwKTsgJGd1dHRlcjAtIDogdmFyKC0tZ3V0dGVyMC0pO1xuJGd1dHRlciAgOiB2YXIoLS1ndXR0ZXIxKTsgJGd1dHRlci0gIDogdmFyKC0tZ3V0dGVyMS0pO1xuJGd1dHRlcjIgOiB2YXIoLS1ndXR0ZXIyKTsgJGd1dHRlcjItIDogdmFyKC0tZ3V0dGVyMi0pO1xuJGd1dHRlcjMgOiB2YXIoLS1ndXR0ZXIzKTsgJGd1dHRlcjMtIDogdmFyKC0tZ3V0dGVyMy0pO1xuJGd1dHRlcjQgOiB2YXIoLS1ndXR0ZXI0KTsgJGd1dHRlcjQtIDogdmFyKC0tZ3V0dGVyNC0pO1xuJGd1dHRlcjUgOiB2YXIoLS1ndXR0ZXI1KTsgJGd1dHRlcjUtIDogdmFyKC0tZ3V0dGVyNS0pO1xuJGd1dHRlcjYgOiB2YXIoLS1ndXR0ZXI2KTsgJGd1dHRlcjYtIDogdmFyKC0tZ3V0dGVyNi0pO1xuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFVuaXRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLy8gQHNlZSBodHRwczovL2NvZGVwZW4uaW8vbWFya25vdHRvbi9wZW4vRXhQYk5HZVxuLy8vIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL21hcmtub3R0b24vZG9nZ2lzdHlsZS9ibG9iL21hc3Rlci9saWJyYXJ5L3NyYy9jcmVhdGUvX3VuaXRzLnNjc3NcblxuLy8vIFRoaXMgdW5pdHMgY3JlYXRvciB3aWxsIHJlbmRlciBzaXggcG9zaXRpdmUgYW5kIHNpeCBuZWdhdGl2ZSBzYXNzIHZhcmlhYmxlcyBmb3IgXG4vLy8gZ2Fwcywgc3BhY2VycywgYW5kIGd1dHRlcnMgcmVsYXRpdmUgdG8gdGhlIGJhc2UgdmFsdWVzIGRlZmluZWQgYmVsb3cuIFxuXG5AZm9yd2FyZCAnY3JlYXRlL3VuaXRzJyB3aXRoIChcblxuICAvLy8gR2FwcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8vIEdhcHMgYXJlIGFuIGFic29sdXRlIHVuaXQgKHB4KSBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGluZGl2aWR1YWwgZWxlbWVudHMgd2l0aGluIGEgY29tcG9uZW50ZWQuIFxuICAvLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCBzcGFjaW5nIGFtb25nc3QgYmxvY2ssIGlubGluZSwgdGFibGUgYW5kIGdyb3VwIGh0bWwgZWxlbWVudHMuXG4gIC8vLyBHYXBzIG11c3QgdXNlIGFuIGFic29sdXRlIGFuZCBzdGF0aWMgJ3B4JyB1bml0LiBJdCBzaG91bGQgbm90IGJlIHJlbGF0aXZlIHRvIGFueVxuICAvLy8gcGFyZW50IGNvbnRhaW5lciBhbmQgaXMgbm90IGludGVuZGVkIGZvciBmb250IHNpemVzLCBzbyB5b3Ugc2hvdWxkIG5vdCB1c2UgJ3JlbScgb3IgJ2VtJy4gXG4gIC8vLyBAcmVzdWx0IDogJGdhcDAsICRnYXAsICRnYXAyLCAkZ2FwMywgJGdhcDQsICRnYXA1ICwgJGdhcDYsICRnYXAwLSwgJGdhcC0sICRnYXAyLSwgJGdhcDMtLCAkZ2FwNC0sICRnYXA1LSBhbmQgJGdhcDYtXG4gIFxuICAkZ2FwIDogMTZweCxcblxuICAvLyBTcGFjZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTcGFjZXJzIGFyZSBhIHJlbGF0aXZlIHZpZXdwb3J0IGhlaWdodCAodmgpIHVuaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBhIGNvbXBvbmVudGVkIGxldmVsLlxuICAvLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCB0b3AgYW5kIGJvdHRvbSBzcGFjaW5nIGFtb25nc3QgJ3NlY3Rpb24nIGFuZCAnY3VzdG9tJyBlbGVtZW50cy5cbiAgLy8vIFNwYWNlcnMgd2lsbCBlcXVhdGUgdG8gc29tZXRoaW5nIGxpa2U6IGAoJHNwYWNlciAqIHgpICsgJGdhcGAuIFxuICAvLy8gVGhlICckZ2FwJyBpcyBhZGRlZCBzbyB0aGF0IHZoIHNwYWNpbmcgd2lsbCBuZXZlciBzY2FsZSB0b28gY2xvc2UgdG8gMHB4LiBcbiAgLy8vIFNwYWNlcnMgbXVzdCB1c2UgYSAndmgnIHVuaXQgc28gdGhleSBhcmUgcmVsYXRpdmUgdG8gdGhlIHVzZXJzIHZpZXdwb3J0IGhlaWdodC13aXNlLlxuICAvLy8gVGhleSBzaG91bGQgcHJpbWFyaWx5IGJlIHVzZWQgZm9yIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zIG9uIGEgY29tcG9uZW50IGxldmVsLlxuICAvLy8gQHJlc3VsdCA6ICRzcGFjZXIwLCAkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyNCwgJHNwYWNlcjUsICRzcGFjZXI2LCAkc3BhY2VyMC0sICRzcGFjZXItLCAkc3BhY2VyLSwgJHNwYWNlci0sICRzcGFjZXI0LSwgJHNwYWNlcjUtIGFuZCAkc3BhY2VyNi1cbiAgXG4gICRzcGFjZXIgOiA0dmgsIFxuXG4gIC8vIEd1dHRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEd1dHRlcnMgYXJlIGEgcmVsYXRpdmUgdmlld3BvcnQgd2lkdGggKHZ3KSB1bml0IGludGVuZGVkIHRvIGJlIHVzZWQgb24gYSBwYXJlbnQgbGV2ZWw7XG4gIC8vIGZvciBleGFtcGxlLCBhIHdyYXBwZXIgY29udGFpbmVyIG9yIGJvZHkgd2l0aCBuZXN0ZWQgY29tcG9uZW50cy4gXG4gIC8vIFRoZSBhaW0gaXMgdG8gcmV0YWluIGNvbnNpc3RhbnQgbGVmdCBhbmQgcmlnaHQgc3BhY2luZyBhbW9uZ3N0ICdzZWN0aW9uJyBhbmQgJ2N1c3RvbScgZWxlbWVudHMuXG4gIC8vLyBHdXR0ZXJzIHdpbGwgZXF1YXRlIHRvIHNvbWV0aGluZyBsaWtlOiBgKCRndXR0ZXIgKiB4KSArICRnYXBgLiBcbiAgLy8vIFRoZSAnJGdhcCcgaXMgYWRkZWQgc28gdGhhdCB2dyBzcGFjaW5nIHdpbGwgbmV2ZXIgc2NhbGUgdG9vIGNsb3NlIHRvIDBweC4gXG4gIC8vLyBHdXR0ZXJzIG11c3QgdXNlIGEgJ3Z3JyB1bml0IHNvIHRoZXkgYXJlIHJlbGF0aXZlIHRvIHRoZSB1c2VycyB2aWV3cG9ydCB3aWR0aC13aXNlLiBcbiAgLy8vIFRoZXkgc2hvdWxkIHByaW1hcmlseSBiZSB1c2VkIGZvciB0aGUgbGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvciBtYXJnaW4gb24gYSBwYXJlbnQgbGV2ZWwuXG4gIC8vLyBBcyBhIHN1Z2dlc3Rpb24sIHRoaXMgZ3V0dGVyIGNvbnN0YW50IHNob3VsZCBiZSBoYWxmIHRoZSBzaXplIG9mIHRoZSBzcGFjZXIgdmFsdWUuXG4gIC8vLyBAcmVzdWx0IDogJGd1dHRlcjAsICRndXR0ZXIsICRndXR0ZXIyLCAkZ3V0dGVyMywgJGd1dHRlcjQsICRndXR0ZXI1LCAkZ3V0dGVyNiwgJGd1dHRlcjAtLCAkZ3V0dGVyLSwgJGd1dHRlcjItLCAkZ3V0dGVyMy0sICRndXR0ZXI0LSwgJGd1dHRlcjUtIGFuZCAkZ3V0dGVyNi1cbiAgXG4gICRndXR0ZXIgOiAzdncsIFxuXG4pO1xuXG4kYm9yZGVyLXJhZGl1cyA6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7XG4kc2lkZWJhci13aWR0aCA6IDUwMHB4OyJdfQ== */