.bullet-list-block {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: var(--spacer1);
}
.bullet-list-block > div:first-of-type {
  height: -moz-fit-content;
  height: fit-content;
  align-self: center;
}
.bullet-list-block > div:first-of-type h2 span {
  display: block;
  color: #87b545;
}
.bullet-list-block > .bubble-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.bullet-list-block > .bubble-list div {
  flex-grow: 1;
  display: inline-flex;
  align-items: center;
  border-radius: var(--border-radius, 6px);
  justify-content: center;
  padding: calc(var(--gap) * 0.5) calc(var(--gap) * 2);
  margin: 0 5px 10px;
  width: auto;
}
.bullet-list-block > .bubble-list div p {
  text-align: left;
  color: white;
  font-size: 14px;
}
@media (min-width: 651px) {
  .bullet-list-block > .bubble-list div p {
    text-align: center;
  }
}
@media (max-width: 650px) {
  .bullet-list-block > .bubble-list div {
    justify-content: flex-start;
    max-width: unset !important;
    max-height: unset !important;
  }
}
.bullet-list-block > .bubble-list div.blue1 {
  background-color: #387bb5;
}
.bullet-list-block > .bubble-list div.blue2 {
  background-color: #6699cc;
}
.bullet-list-block > .bubble-list div.blue3 {
  background-color: #5b74d1;
}
.bullet-list-block > .bubble-list div.blue4 {
  background-color: #50a7ba;
}
.bullet-list-block > .bubble-list div.green1 {
  background-color: #64a955;
}
.bullet-list-block > .bubble-list div.green2 {
  background-color: #537542;
}
.bullet-list-block > .bubble-list div.green3 {
  background-color: #429748;
}
.bullet-list-block > .bubble-list div.yellow1 {
  background-color: #edb844;
}
.bullet-list-block > .bubble-list div.yellow2 {
  background-color: #c38e40;
}
.bullet-list-block > .bubble-list div.yellow3 {
  background-color: #c1ae48;
}
.bullet-list-block > .bubble-list div.orange {
  background-color: #ff9933;
}
.bullet-list-block > .bubble-list div.purple {
  background-color: #9c5caa;
}
@media (min-width: 981px) {
  .bullet-list-block {
    grid-template-columns: 1fr 1fr;
  }
}

body.esg#planet section.bullet-list-block > div.sustainability-agenda, body.esg#people section.bullet-list-block > div.sustainability-agenda, body.esg#profit section.bullet-list-block > div.sustainability-agenda {
  grid-column: 1/-1 !important;
  padding: var(--spacer1) 0 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.5);
  display: flex;
  flex-direction: column;
}
body.esg#planet section.bullet-list-block > div.sustainability-agenda .agenda-header, body.esg#people section.bullet-list-block > div.sustainability-agenda .agenda-header, body.esg#profit section.bullet-list-block > div.sustainability-agenda .agenda-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap);
}
body.esg#planet section.bullet-list-block > div.sustainability-agenda .agenda-header p, body.esg#people section.bullet-list-block > div.sustainability-agenda .agenda-header p, body.esg#profit section.bullet-list-block > div.sustainability-agenda .agenda-header p {
  color: white;
}
body.esg#planet section.bullet-list-block > div.sustainability-agenda::before, body.esg#people section.bullet-list-block > div.sustainability-agenda::before, body.esg#profit section.bullet-list-block > div.sustainability-agenda::before {
  content: none;
}
body.esg#planet section.bullet-list-block > div.sustainability-agenda > div.tiles-container, body.esg#people section.bullet-list-block > div.sustainability-agenda > div.tiles-container, body.esg#profit section.bullet-list-block > div.sustainability-agenda > div.tiles-container {
  margin: calc(var(--gap) * 2) auto;
  grid-column: 1/-1;
}
@media (min-width: 769px) {
  body.esg#planet section.bullet-list-block > div.sustainability-agenda > div.tiles-container, body.esg#people section.bullet-list-block > div.sustainability-agenda > div.tiles-container, body.esg#profit section.bullet-list-block > div.sustainability-agenda > div.tiles-container {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media (min-width: 769px) and (max-width: 1200px) {
  body.esg#planet section.bullet-list-block > div.sustainability-agenda > div.tiles-container .tile:nth-child(5n) div, body.esg#people section.bullet-list-block > div.sustainability-agenda > div.tiles-container .tile:nth-child(5n) div, body.esg#profit section.bullet-list-block > div.sustainability-agenda > div.tiles-container .tile:nth-child(5n) div {
    left: unset;
    right: 90%;
    width: 60%;
    border-radius: var(--border-radius, 6px);
    padding-right: 5%;
  }
}
body.esg#planet section.bullet-list-block > div.sustainability-agenda .agenda-header, body.esg#people section.bullet-list-block > div.sustainability-agenda .agenda-header, body.esg#profit section.bullet-list-block > div.sustainability-agenda .agenda-header {
  justify-content: center;
}
@media (min-width: 981px) {
  body.esg#planet section.bullet-list-block > div.sustainability-agenda, body.esg#people section.bullet-list-block > div.sustainability-agenda, body.esg#profit section.bullet-list-block > div.sustainability-agenda {
    grid-row: 2;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvYnVsbGV0LWxpc3Quc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AZG9nZ2lzdHlsZS9zYXNzL2xpYnJhcnkvc3JjL2NyZWF0ZS9fdW5pdHMuc2NzcyIsImNvbXBvbmVudHMvYnVsbGV0LWxpc3QuY3NzIiwiX3ZhcmlhYmxlcy91bml0cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bkb2dnaXN0eWxlL3Nhc3MvbGlicmFyeS9zcmMvaGVscGVycy9fYnJlYWsuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNJLGFBQUE7RUFDQSwwQkFBQTtFQUNBLHdCQ29HTztBQ3JHWDtBRkdJO0VBQ0ksd0JBQUE7RUFBQSxtQkFBQTtFQUNBLGtCQUFBO0FFRFI7QUZLWTtFQUNJLGNBQUE7RUFDQSxjQUFBO0FFSGhCO0FGUUk7RUFDSSxhQUFBO0VBQ0EsZUFBQTtFQUNBLHVCQUFBO0FFTlI7QUZPUTtFQUNJLFlBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0Esd0NHbUJLO0VIbEJMLHVCQUFBO0VBQ0Esb0RBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7QUVMWjtBRk9ZO0VBQ0ksZ0JBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtBRUxoQjtBRTNCRTtFSm1DYztJQUNJLGtCQUFBO0VFTGxCO0FBQ0Y7QUUxQkU7RUphTTtJQXFCUSwyQkFBQTtJQUNBLDJCQUFBO0lBQ0EsNEJBQUE7RUVKZDtBQUNGO0FGS1k7RUFDSSx5QkFBQTtBRUhoQjtBRktZO0VBQ0kseUJBQUE7QUVIaEI7QUZLWTtFQUNJLHlCQUFBO0FFSGhCO0FGS1k7RUFDSSx5QkFBQTtBRUhoQjtBRktZO0VBQ0kseUJBQUE7QUVIaEI7QUZLWTtFQUNJLHlCQUFBO0FFSGhCO0FGS1k7RUFDSSx5QkFBQTtBRUhoQjtBRktZO0VBQ0kseUJBQUE7QUVIaEI7QUZLWTtFQUNJLHlCQUFBO0FFSGhCO0FGS1k7RUFDSSx5QkFBQTtBRUhoQjtBRktZO0VBQ0kseUJBQUE7QUVIaEI7QUZLWTtFQUNJLHlCQUFBO0FFSGhCO0FFM0VFO0VKSEY7SUF1RlEsOEJBQUE7RUVMTjtBQUNGOztBRmVnQjtFQUNJLDRCQUFBO0VBQ0EsNkJBQUE7RUFDQSw4Q0FBQTtFQUVBLGFBQUE7RUFDQSxzQkFBQTtBRWJwQjtBRmVvQjtFQUNJLGFBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZUM3RGhCO0FDZ0RSO0FGY3dCO0VBQ0ksWUFBQTtBRVo1QjtBRmdCb0I7RUFDSSxhQUFBO0FFZHhCO0FGZ0JvQjtFQUNJLGlDQUFBO0VBQ0EsaUJBQUE7QUVkeEI7QUV4R0U7RUpvSGtCO0lBS1EscUNBQUE7RUViMUI7QUFDRjtBRmNnQztFQUVRO0lBQ0ksV0FBQTtJQUNBLFVBQUE7SUFDQSxVQUFBO0lBQ0Esd0NHdkYzQjtJSHdGMkIsaUJBQUE7RUViMUM7QUFDRjtBRm9Cb0I7RUFDSSx1QkFBQTtBRWxCeEI7QUV6SEU7RUorRmM7SUErQ1EsV0FBQTtFRWpCdEI7QUFDRiIsImZpbGUiOiJjb21wb25lbnRzL2J1bGxldC1saXN0LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG4uYnVsbGV0LWxpc3QtYmxvY2t7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLWdhcDogJHNwYWNlcjtcblxuICAgID4gZGl2OmZpcnN0LW9mLXR5cGV7XG4gICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcblxuXG4gICAgICAgIGgye1xuICAgICAgICAgICAgc3BhbntcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBjb2xvcjogIzg3YjU0NTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgID4gLmJ1YmJsZS1saXN0e1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBkaXYge1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRnYXAwICRnYXAyO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDVweCAxMHB4O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgICAgIHB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWstb3V0KDY1MCkge1xuICAgICAgICAgICAgICAgIHB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVhay1pbig2NTApIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmJsdWUxe1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzODdiYjU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmJsdWUye1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2Njk5Y2M7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmJsdWUze1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1Yjc0ZDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmJsdWU0e1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1MGE3YmE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmdyZWVuMXtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjRhOTU1O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5ncmVlbjJ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzUzNzU0MjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuZ3JlZW4ze1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0Mjk3NDg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnllbGxvdzF7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkYjg0NDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYueWVsbG93MntcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzM4ZTQwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi55ZWxsb3cze1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMWFlNDg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLm9yYW5nZXtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY5OTMzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5wdXJwbGV7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzljNWNhYTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrLW91dCg5ODApIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIH1cbn1cblxuYm9keS5lc2cge1xuICAgICYjcGxhbmV0LCBcbiAgICAmI3Blb3BsZSxcbiAgICAmI3Byb2ZpdHtcblxuICAgICAgICAgICAgc2VjdGlvbi5idWxsZXQtbGlzdC1ibG9ja3tcblxuICAgICAgICAgICAgICAgICYgPiBkaXYuc3VzdGFpbmFiaWxpdHktYWdlbmRhe1xuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZXIgMCAwIDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuNSk7XG5cbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgICAgICAgICAuYWdlbmRhLWhlYWRlcntcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdhcDogJGdhcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA+IGRpdi50aWxlcy1jb250YWluZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICRnYXAyIGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVhay1vdXQoNzY4KXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aWxle1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg1bil7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGl2e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDkwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5hZ2VuZGEtaGVhZGVye1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWstb3V0KDk4MCl7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBVbml0c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSAnc2FzczpzdHJpbmcnO1xuQHVzZSAnc2FzczptZXRhJztcblxuLy8gVGhpcyB1bml0cyBjcmVhdG9yIHdpbGwgcmVuZGVyIHNpeCBwb3NpdGl2ZSBhbmQgc2l4IG5lZ2F0aXZlIHNhc3MgdmFyaWFibGVzIGZvciBcbi8vIGdhcHMsIHNwYWNlcnMsIGFuZCBndXR0ZXJzIHJlbGF0aXZlIHRvIHRoZSBiYXNldiB2YWx1ZXMgZGVmaW5lZCBiZWxvdy5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCYXNlIFZhbHVlcyBcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBAc2VlIGh0dHBzOi8vY29kZXBlbi5pby9tYXJrbm90dG9uL3Blbi9FeFBiTkdlXG5cbi8vIFRoZXNlIHRocmVlIHZhbHVlcyB3aWxsIGFjdCBhIGNvbnN0YW50IGJhc2VsaW5lIGZvciBhbGwgZm9sbG93aW5nIHVuaXQgZGVsY2FyYXRpb25zLlxuXG4vLyBHYXBzIG11c3QgdXNlIGFuIGFic29sdXRlIGFuZCBzdGF0aWMgJ3B4JyB1bml0LiBJdCBzaG91bGQgbm90IGJlIHJlbGF0aXZlIHRvIGFueVxuLy8gcGFyZW50IGNvbnRhaW5lciBhbmQgaXMgbm90IGludGVuZGVkIGZvciBmb250IHNpemVzLCBzbyB5b3Ugc2hvdWxkIG5vdCB1c2UgJ3JlbScgb3IgJ2VtJy4gXG4kZ2FwIDogMTZweCAhZGVmYXVsdDtcbiRiYXNlLWdhcCA6ICRnYXA7XG5cbi8vIFNwYWNlcnMgbXVzdCB1c2UgYSAndmgnIHVuaXQgc28gdGhleSBhcmUgcmVsYXRpdmUgdG8gdGhlIHVzZXJzIHZpZXdwb3J0IGhlaWdodC13aXNlLlxuLy8gVGhleSBzaG91bGQgcHJpbWFyaWx5IGJlIHVzZWQgZm9yIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zIG9uIGEgY29tcG9uZW50IGxldmVsLlxuJHNwYWNlciA6IDR2aCAhZGVmYXVsdDsgXG4kYmFzZS1zcGFjZXIgOiAkc3BhY2VyOyBcblxuLy8gR3V0dGVycyBtdXN0IHVzZSBhICd2dycgdW5pdCBzbyB0aGV5IGFyZSByZWxhdGl2ZSB0byB0aGUgdXNlcnMgdmlld3BvcnQgd2lkdGgtd2lzZS4gXG4vLyBUaGV5IHNob3VsZCBwcmltYXJpbHkgYmUgdXNlZCBmb3IgdGhlIGxlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb3IgbWFyZ2luIG9uIGEgcGFyZW50IGxldmVsLlxuLy8gQXMgYSBzdWdnZXN0aW9uLCB0aGlzIGd1dHRlciBjb25zdGFudCBzaG91bGQgYmUgaGFsZiB0aGUgc2l6ZSBvZiB0aGUgc3BhY2VyIHZhbHVlLlxuJGd1dHRlciA6IDN2dyAhZGVmYXVsdDtcbiRiYXNlLWd1dHRlciA6ICRndXR0ZXI7IFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQXNib2x1dGUgVW5pdHMgXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBHYXBzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR2FwcyBhcmUgYW4gYWJzb2x1dGUgdW5pdCAocHgpIGludGVuZGVkIHRvIGJlIHVzZWQgb24gaW5kaXZpZHVhbCBlbGVtZW50cyB3aXRoaW4gYSBjb21wb25lbnRlZC4gXG4vLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IHNwYWNpbmcgYW1vbmdzdCBibG9jaywgaW5saW5lLCB0YWJsZSBhbmQgZ3JvdXAgaHRtbCBlbGVtZW50cy5cblxuQGZ1bmN0aW9uIGdhcCgkYW1vdW50IDogMSkge1xuICBAaWYgKCAkYW1vdW50ID09IDEgKSB7IFxuICAgIEByZXR1cm4gdmFyKC0tZ2FwKTsgXG4gIH0gQGVsc2UgeyBcbiAgICBAcmV0dXJuIGNhbGModmFyKC0tZ2FwKSAqICN7JGFtb3VudH0pOyBcbiAgfVxufVxuXG4kZ2FwMCA6IGdhcCgwLjUpOyAkZ2FwMC0gOiBnYXAoLTAuNSk7XG4kZ2FwICA6IGdhcCgxKTsgICAkZ2FwLSAgOiBnYXAoLTEpO1xuJGdhcDIgOiBnYXAoMik7ICAgJGdhcDItIDogZ2FwKC0yKTtcbiRnYXAzIDogZ2FwKDMpOyAgICRnYXAzLSA6IGdhcCgtMyk7XG4kZ2FwNCA6IGdhcCg0KTsgICAkZ2FwNC0gOiBnYXAoLTQpO1xuJGdhcDUgOiBnYXAoNSk7ICAgJGdhcDUtIDogZ2FwKC01KTtcbiRnYXA2IDogZ2FwKDYpOyAgICRnYXA2LSA6IGdhcCgtNik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSZWxhdGl2ZSBVbml0cyBcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBmdW5jdGlvbiBfZHluYW1pYy11bml0KCRjdXN0b20tcHJvcGVydHksICRhbW91bnQsICRtaW4sICRtYXgsICR1c2UtbmVnYXRpdmUgOiBmYWxzZSwgJHVzZS1jbGFtcCA6IHRydWUpIHtcblxuICAvLyBDYWxjIE1ldGhvZFxuICAkcmVzdWx0IDogY2FsYygoI3skY3VzdG9tLXByb3BlcnR5fSAqICN7JGFtb3VudH0pICsgI3tpZigkbWluID09IDAsIDBweCwgJG1pbil9KTtcbiAgXG4gIC8vIENsYW1wIE1ldGhvZFxuICBAaWYgKCAkdXNlLWNsYW1wICkge1xuICAgIEBpZiAoICRhbW91bnQgPT0gMCApIHtcbiAgICAgICRyZXN1bHQgOiBjbGFtcCgje21hdGguZGl2KCRtaW4sIDIpfSwgI3skY3VzdG9tLXByb3BlcnR5fSAqIDAuNSwgI3skbWF4fSk7XG4gICAgfSBAZWxzZSBpZiAoICRhbW91bnQgPT0gMSApIHtcbiAgICAgICRyZXN1bHQgOiBjbGFtcCgjeyRtaW59LCAjeyRjdXN0b20tcHJvcGVydHl9LCAjeyRtYXh9KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXN1bHQgOiBjbGFtcCgjeyRtaW59LCAjeyRjdXN0b20tcHJvcGVydHl9ICogI3skYW1vdW50fSwgI3skbWF4fSk7XG4gICAgfVxuICB9IFxuXG4gIEBpZiAoICR1c2UtbmVnYXRpdmUgKSB7XG4gICAgJHJlc3VsdCA6IGNhbGMoLTEgKiAjeyRyZXN1bHR9KTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcblxufSBcblxuLy8gU3BhY2VycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNwYWNlcnMgYXJlIGEgcmVsYXRpdmUgdmlld3BvcnQgaGVpZ2h0ICh2aCkgdW5pdCBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGEgY29tcG9uZW50ZWQgbGV2ZWwuXG4vLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IHRvcCBhbmQgYm90dG9tIHNwYWNpbmcgYW1vbmdzdCAnc2VjdGlvbicgYW5kICdjdXN0b20nIGVsZW1lbnRzLlxuLy8gU3BhY2VycyB3aWxsIGVxdWF0ZSB0byBzb21ldGhpbmcgbGlrZTogYCgkc3BhY2VyICogeCkgKyAkZ2FwYC4gXG4vLyBUaGUgJyRnYXAnIGlzIGFkZGVkIHNvIHRoYXQgdmggc3BhY2luZyB3aWxsIG5ldmVyIHNjYWxlIHRvbyBjbG9zZSB0byAwcHguIFxuXG5AZnVuY3Rpb24gc3BhY2VyKCRhbW91bnQgOiAxLCAkbWluIDogJGJhc2UtZ2FwLCAkbWF4IDogbnVsbCwgJHVzZS1uZWdhdGl2ZSA6IGZhbHNlLCAkdXNlLWNsYW1wIDogdHJ1ZSkge1xuICBAaWYgKCAkYW1vdW50ID09IDApIHsgJGFtb3VudCA6IDAuNTsgJG1pbiA6IG1hdGguZGl2KCRtaW4sIDIpOyB9XG4gIEBpZiAoIG1ldGEudHlwZS1vZigkbWF4KSA9PSAnbnVsbCcgKSB7IFxuICAgIEBpZiAoIG1ldGEudHlwZS1vZigkbWluKSA9PSAnc3RyaW5nJyBhbmQgc3RyaW5nLmluZGV4KCRtaW4sICd2YXInKSApIHtcbiAgICAgICRtYXggOiBjYWxjKCN7JG1pbn0gKiAjeyRhbW91bnQgKyAxfSk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgJG1heCA6ICN7JG1pbiAqICgkYW1vdW50ICsgMSl9OyBcbiAgICB9XG4gIH1cbiAgQHJldHVybiBfZHluYW1pYy11bml0KHZhcigtLXNwYWNlciksICRhbW91bnQsICRtaW4sICRtYXgsICR1c2UtbmVnYXRpdmUsICR1c2UtY2xhbXApO1xufVxuXG4kc3BhY2VyMCA6IHZhcigtLXNwYWNlcjApOyAkc3BhY2VyMC0gOiB2YXIoLS1zcGFjZXIwLSk7XG4kc3BhY2VyICA6IHZhcigtLXNwYWNlcjEpOyAkc3BhY2VyLSAgOiB2YXIoLS1zcGFjZXIxLSk7XG4kc3BhY2VyMiA6IHZhcigtLXNwYWNlcjIpOyAkc3BhY2VyMi0gOiB2YXIoLS1zcGFjZXIyLSk7XG4kc3BhY2VyMyA6IHZhcigtLXNwYWNlcjMpOyAkc3BhY2VyMy0gOiB2YXIoLS1zcGFjZXIzLSk7XG4kc3BhY2VyNCA6IHZhcigtLXNwYWNlcjQpOyAkc3BhY2VyNC0gOiB2YXIoLS1zcGFjZXI0LSk7XG4kc3BhY2VyNSA6IHZhcigtLXNwYWNlcjUpOyAkc3BhY2VyNS0gOiB2YXIoLS1zcGFjZXI1LSk7XG4kc3BhY2VyNiA6IHZhcigtLXNwYWNlcjYpOyAkc3BhY2VyNi0gOiB2YXIoLS1zcGFjZXI2LSk7XG5cbi8vIEd1dHRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHdXR0ZXJzIGFyZSBhIHJlbGF0aXZlIHZpZXdwb3J0IHdpZHRoICh2dykgdW5pdCBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGEgcGFyZW50IGxldmVsO1xuLy8gZm9yIGV4YW1wbGUsIGEgd3JhcHBlciBjb250YWluZXIgb3IgYm9keSB3aXRoIG5lc3RlZCBjb21wb25lbnRzLiBcbi8vIFRoZSBhaW0gaXMgdG8gcmV0YWluIGNvbnNpc3RhbnQgbGVmdCBhbmQgcmlnaHQgc3BhY2luZyBhbW9uZ3N0ICdzZWN0aW9uJyBhbmQgJ2N1c3RvbScgZWxlbWVudHMuXG4vLyBHdXR0ZXJzIHdpbGwgZXF1YXRlIHRvIHNvbWV0aGluZyBsaWtlOiBgKCRndXR0ZXIgKiB4KSArICRnYXBgLiBcbi8vIFRoZSAnJGdhcCcgaXMgYWRkZWQgc28gdGhhdCB2dyBzcGFjaW5nIHdpbGwgbmV2ZXIgc2NhbGUgdG9vIGNsb3NlIHRvIDBweC4gXG5cbkBmdW5jdGlvbiBndXR0ZXIoJGFtb3VudCA6IDEsICRtaW4gOiAkYmFzZS1nYXAsICRtYXggOiBudWxsLCAkdXNlLW5lZ2F0aXZlIDogZmFsc2UsICR1c2UtY2xhbXAgOiB0cnVlKSB7XG4gIEBpZiAoICRhbW91bnQgPT0gMCkgeyAkYW1vdW50IDogMC41OyAkbWluIDogbWF0aC5kaXYoJG1pbiwgMik7IH1cbiAgQGlmICggbWV0YS50eXBlLW9mKCRtYXgpID09ICdudWxsJyApIHsgXG4gICAgQGlmICggbWV0YS50eXBlLW9mKCRtaW4pID09ICdzdHJpbmcnIGFuZCBzdHJpbmcuaW5kZXgoJG1pbiwgJ3ZhcicpICkge1xuICAgICAgJG1heCA6IGNhbGMoI3skbWlufSAqICN7JGFtb3VudCArIDF9KTsgXG4gICAgfSBAZWxzZSB7XG4gICAgICAkbWF4IDogI3skbWluICogKCRhbW91bnQgKyAxKX07IFxuICAgIH1cbiAgfVxuICBAcmV0dXJuIF9keW5hbWljLXVuaXQodmFyKC0tZ3V0dGVyKSwgJGFtb3VudCwgJG1pbiwgJG1heCwgJHVzZS1uZWdhdGl2ZSwgJHVzZS1jbGFtcCk7XG59XG5cbiRndXR0ZXIwIDogdmFyKC0tZ3V0dGVyMCk7ICRndXR0ZXIwLSA6IHZhcigtLWd1dHRlcjAtKTtcbiRndXR0ZXIgIDogdmFyKC0tZ3V0dGVyMSk7ICRndXR0ZXItICA6IHZhcigtLWd1dHRlcjEtKTtcbiRndXR0ZXIyIDogdmFyKC0tZ3V0dGVyMik7ICRndXR0ZXIyLSA6IHZhcigtLWd1dHRlcjItKTtcbiRndXR0ZXIzIDogdmFyKC0tZ3V0dGVyMyk7ICRndXR0ZXIzLSA6IHZhcigtLWd1dHRlcjMtKTtcbiRndXR0ZXI0IDogdmFyKC0tZ3V0dGVyNCk7ICRndXR0ZXI0LSA6IHZhcigtLWd1dHRlcjQtKTtcbiRndXR0ZXI1IDogdmFyKC0tZ3V0dGVyNSk7ICRndXR0ZXI1LSA6IHZhcigtLWd1dHRlcjUtKTtcbiRndXR0ZXI2IDogdmFyKC0tZ3V0dGVyNik7ICRndXR0ZXI2LSA6IHZhcigtLWd1dHRlcjYtKTtcbiIsIi5idWxsZXQtbGlzdC1ibG9jayB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBncmlkLWdhcDogdmFyKC0tc3BhY2VyMSk7XG59XG4uYnVsbGV0LWxpc3QtYmxvY2sgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cbi5idWxsZXQtbGlzdC1ibG9jayA+IGRpdjpmaXJzdC1vZi10eXBlIGgyIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICM4N2I1NDU7XG59XG4uYnVsbGV0LWxpc3QtYmxvY2sgPiAuYnViYmxlLWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmJ1bGxldC1saXN0LWJsb2NrID4gLmJ1YmJsZS1saXN0IGRpdiB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpIGNhbGModmFyKC0tZ2FwKSAqIDIpO1xuICBtYXJnaW46IDAgNXB4IDEwcHg7XG4gIHdpZHRoOiBhdXRvO1xufVxuLmJ1bGxldC1saXN0LWJsb2NrID4gLmJ1YmJsZS1saXN0IGRpdiBwIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDE0cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjUxcHgpIHtcbiAgLmJ1bGxldC1saXN0LWJsb2NrID4gLmJ1YmJsZS1saXN0IGRpdiBwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NTBweCkge1xuICAuYnVsbGV0LWxpc3QtYmxvY2sgPiAuYnViYmxlLWxpc3QgZGl2IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbWF4LXdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIG1heC1oZWlnaHQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5idWxsZXQtbGlzdC1ibG9jayA+IC5idWJibGUtbGlzdCBkaXYuYmx1ZTEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzg3YmI1O1xufVxuLmJ1bGxldC1saXN0LWJsb2NrID4gLmJ1YmJsZS1saXN0IGRpdi5ibHVlMiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2Njk5Y2M7XG59XG4uYnVsbGV0LWxpc3QtYmxvY2sgPiAuYnViYmxlLWxpc3QgZGl2LmJsdWUzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzViNzRkMTtcbn1cbi5idWxsZXQtbGlzdC1ibG9jayA+IC5idWJibGUtbGlzdCBkaXYuYmx1ZTQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTBhN2JhO1xufVxuLmJ1bGxldC1saXN0LWJsb2NrID4gLmJ1YmJsZS1saXN0IGRpdi5ncmVlbjEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjRhOTU1O1xufVxuLmJ1bGxldC1saXN0LWJsb2NrID4gLmJ1YmJsZS1saXN0IGRpdi5ncmVlbjIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM3NTQyO1xufVxuLmJ1bGxldC1saXN0LWJsb2NrID4gLmJ1YmJsZS1saXN0IGRpdi5ncmVlbjMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI5NzQ4O1xufVxuLmJ1bGxldC1saXN0LWJsb2NrID4gLmJ1YmJsZS1saXN0IGRpdi55ZWxsb3cxIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkYjg0NDtcbn1cbi5idWxsZXQtbGlzdC1ibG9jayA+IC5idWJibGUtbGlzdCBkaXYueWVsbG93MiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMzhlNDA7XG59XG4uYnVsbGV0LWxpc3QtYmxvY2sgPiAuYnViYmxlLWxpc3QgZGl2LnllbGxvdzMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzFhZTQ4O1xufVxuLmJ1bGxldC1saXN0LWJsb2NrID4gLmJ1YmJsZS1saXN0IGRpdi5vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY5OTMzO1xufVxuLmJ1bGxldC1saXN0LWJsb2NrID4gLmJ1YmJsZS1saXN0IGRpdi5wdXJwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWM1Y2FhO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk4MXB4KSB7XG4gIC5idWxsZXQtbGlzdC1ibG9jayB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICB9XG59XG5cbmJvZHkuZXNnI3BsYW5ldCBzZWN0aW9uLmJ1bGxldC1saXN0LWJsb2NrID4gZGl2LnN1c3RhaW5hYmlsaXR5LWFnZW5kYSwgYm9keS5lc2cjcGVvcGxlIHNlY3Rpb24uYnVsbGV0LWxpc3QtYmxvY2sgPiBkaXYuc3VzdGFpbmFiaWxpdHktYWdlbmRhLCBib2R5LmVzZyNwcm9maXQgc2VjdGlvbi5idWxsZXQtbGlzdC1ibG9jayA+IGRpdi5zdXN0YWluYWJpbGl0eS1hZ2VuZGEge1xuICBncmlkLWNvbHVtbjogMS8tMSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZXIxKSAwIDAgMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbmJvZHkuZXNnI3BsYW5ldCBzZWN0aW9uLmJ1bGxldC1saXN0LWJsb2NrID4gZGl2LnN1c3RhaW5hYmlsaXR5LWFnZW5kYSAuYWdlbmRhLWhlYWRlciwgYm9keS5lc2cjcGVvcGxlIHNlY3Rpb24uYnVsbGV0LWxpc3QtYmxvY2sgPiBkaXYuc3VzdGFpbmFiaWxpdHktYWdlbmRhIC5hZ2VuZGEtaGVhZGVyLCBib2R5LmVzZyNwcm9maXQgc2VjdGlvbi5idWxsZXQtbGlzdC1ibG9jayA+IGRpdi5zdXN0YWluYWJpbGl0eS1hZ2VuZGEgLmFnZW5kYS1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLWdhcCk7XG59XG5ib2R5LmVzZyNwbGFuZXQgc2VjdGlvbi5idWxsZXQtbGlzdC1ibG9jayA+IGRpdi5zdXN0YWluYWJpbGl0eS1hZ2VuZGEgLmFnZW5kYS1oZWFkZXIgcCwgYm9keS5lc2cjcGVvcGxlIHNlY3Rpb24uYnVsbGV0LWxpc3QtYmxvY2sgPiBkaXYuc3VzdGFpbmFiaWxpdHktYWdlbmRhIC5hZ2VuZGEtaGVhZGVyIHAsIGJvZHkuZXNnI3Byb2ZpdCBzZWN0aW9uLmJ1bGxldC1saXN0LWJsb2NrID4gZGl2LnN1c3RhaW5hYmlsaXR5LWFnZW5kYSAuYWdlbmRhLWhlYWRlciBwIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuYm9keS5lc2cjcGxhbmV0IHNlY3Rpb24uYnVsbGV0LWxpc3QtYmxvY2sgPiBkaXYuc3VzdGFpbmFiaWxpdHktYWdlbmRhOjpiZWZvcmUsIGJvZHkuZXNnI3Blb3BsZSBzZWN0aW9uLmJ1bGxldC1saXN0LWJsb2NrID4gZGl2LnN1c3RhaW5hYmlsaXR5LWFnZW5kYTo6YmVmb3JlLCBib2R5LmVzZyNwcm9maXQgc2VjdGlvbi5idWxsZXQtbGlzdC1ibG9jayA+IGRpdi5zdXN0YWluYWJpbGl0eS1hZ2VuZGE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5ib2R5LmVzZyNwbGFuZXQgc2VjdGlvbi5idWxsZXQtbGlzdC1ibG9jayA+IGRpdi5zdXN0YWluYWJpbGl0eS1hZ2VuZGEgPiBkaXYudGlsZXMtY29udGFpbmVyLCBib2R5LmVzZyNwZW9wbGUgc2VjdGlvbi5idWxsZXQtbGlzdC1ibG9jayA+IGRpdi5zdXN0YWluYWJpbGl0eS1hZ2VuZGEgPiBkaXYudGlsZXMtY29udGFpbmVyLCBib2R5LmVzZyNwcm9maXQgc2VjdGlvbi5idWxsZXQtbGlzdC1ibG9jayA+IGRpdi5zdXN0YWluYWJpbGl0eS1hZ2VuZGEgPiBkaXYudGlsZXMtY29udGFpbmVyIHtcbiAgbWFyZ2luOiBjYWxjKHZhcigtLWdhcCkgKiAyKSBhdXRvO1xuICBncmlkLWNvbHVtbjogMS8tMTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICBib2R5LmVzZyNwbGFuZXQgc2VjdGlvbi5idWxsZXQtbGlzdC1ibG9jayA+IGRpdi5zdXN0YWluYWJpbGl0eS1hZ2VuZGEgPiBkaXYudGlsZXMtY29udGFpbmVyLCBib2R5LmVzZyNwZW9wbGUgc2VjdGlvbi5idWxsZXQtbGlzdC1ibG9jayA+IGRpdi5zdXN0YWluYWJpbGl0eS1hZ2VuZGEgPiBkaXYudGlsZXMtY29udGFpbmVyLCBib2R5LmVzZyNwcm9maXQgc2VjdGlvbi5idWxsZXQtbGlzdC1ibG9jayA+IGRpdi5zdXN0YWluYWJpbGl0eS1hZ2VuZGEgPiBkaXYudGlsZXMtY29udGFpbmVyIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgYm9keS5lc2cjcGxhbmV0IHNlY3Rpb24uYnVsbGV0LWxpc3QtYmxvY2sgPiBkaXYuc3VzdGFpbmFiaWxpdHktYWdlbmRhID4gZGl2LnRpbGVzLWNvbnRhaW5lciAudGlsZTpudGgtY2hpbGQoNW4pIGRpdiwgYm9keS5lc2cjcGVvcGxlIHNlY3Rpb24uYnVsbGV0LWxpc3QtYmxvY2sgPiBkaXYuc3VzdGFpbmFiaWxpdHktYWdlbmRhID4gZGl2LnRpbGVzLWNvbnRhaW5lciAudGlsZTpudGgtY2hpbGQoNW4pIGRpdiwgYm9keS5lc2cjcHJvZml0IHNlY3Rpb24uYnVsbGV0LWxpc3QtYmxvY2sgPiBkaXYuc3VzdGFpbmFiaWxpdHktYWdlbmRhID4gZGl2LnRpbGVzLWNvbnRhaW5lciAudGlsZTpudGgtY2hpbGQoNW4pIGRpdiB7XG4gICAgbGVmdDogdW5zZXQ7XG4gICAgcmlnaHQ6IDkwJTtcbiAgICB3aWR0aDogNjAlO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7XG4gICAgcGFkZGluZy1yaWdodDogNSU7XG4gIH1cbn1cbmJvZHkuZXNnI3BsYW5ldCBzZWN0aW9uLmJ1bGxldC1saXN0LWJsb2NrID4gZGl2LnN1c3RhaW5hYmlsaXR5LWFnZW5kYSAuYWdlbmRhLWhlYWRlciwgYm9keS5lc2cjcGVvcGxlIHNlY3Rpb24uYnVsbGV0LWxpc3QtYmxvY2sgPiBkaXYuc3VzdGFpbmFiaWxpdHktYWdlbmRhIC5hZ2VuZGEtaGVhZGVyLCBib2R5LmVzZyNwcm9maXQgc2VjdGlvbi5idWxsZXQtbGlzdC1ibG9jayA+IGRpdi5zdXN0YWluYWJpbGl0eS1hZ2VuZGEgLmFnZW5kYS1oZWFkZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5ODFweCkge1xuICBib2R5LmVzZyNwbGFuZXQgc2VjdGlvbi5idWxsZXQtbGlzdC1ibG9jayA+IGRpdi5zdXN0YWluYWJpbGl0eS1hZ2VuZGEsIGJvZHkuZXNnI3Blb3BsZSBzZWN0aW9uLmJ1bGxldC1saXN0LWJsb2NrID4gZGl2LnN1c3RhaW5hYmlsaXR5LWFnZW5kYSwgYm9keS5lc2cjcHJvZml0IHNlY3Rpb24uYnVsbGV0LWxpc3QtYmxvY2sgPiBkaXYuc3VzdGFpbmFiaWxpdHktYWdlbmRhIHtcbiAgICBncmlkLXJvdzogMjtcbiAgfVxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBVbml0c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8vIEBzZWUgaHR0cHM6Ly9jb2RlcGVuLmlvL21hcmtub3R0b24vcGVuL0V4UGJOR2Vcbi8vLyBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXJrbm90dG9uL2RvZ2dpc3R5bGUvYmxvYi9tYXN0ZXIvbGlicmFyeS9zcmMvY3JlYXRlL191bml0cy5zY3NzXG5cbi8vLyBUaGlzIHVuaXRzIGNyZWF0b3Igd2lsbCByZW5kZXIgc2l4IHBvc2l0aXZlIGFuZCBzaXggbmVnYXRpdmUgc2FzcyB2YXJpYWJsZXMgZm9yIFxuLy8vIGdhcHMsIHNwYWNlcnMsIGFuZCBndXR0ZXJzIHJlbGF0aXZlIHRvIHRoZSBiYXNlIHZhbHVlcyBkZWZpbmVkIGJlbG93LiBcblxuQGZvcndhcmQgJ2NyZWF0ZS91bml0cycgd2l0aCAoXG5cbiAgLy8vIEdhcHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vLyBHYXBzIGFyZSBhbiBhYnNvbHV0ZSB1bml0IChweCkgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBpbmRpdmlkdWFsIGVsZW1lbnRzIHdpdGhpbiBhIGNvbXBvbmVudGVkLiBcbiAgLy8vIFRoZSBhaW0gaXMgdG8gcmV0YWluIGNvbnNpc3RhbnQgc3BhY2luZyBhbW9uZ3N0IGJsb2NrLCBpbmxpbmUsIHRhYmxlIGFuZCBncm91cCBodG1sIGVsZW1lbnRzLlxuICAvLy8gR2FwcyBtdXN0IHVzZSBhbiBhYnNvbHV0ZSBhbmQgc3RhdGljICdweCcgdW5pdC4gSXQgc2hvdWxkIG5vdCBiZSByZWxhdGl2ZSB0byBhbnlcbiAgLy8vIHBhcmVudCBjb250YWluZXIgYW5kIGlzIG5vdCBpbnRlbmRlZCBmb3IgZm9udCBzaXplcywgc28geW91IHNob3VsZCBub3QgdXNlICdyZW0nIG9yICdlbScuIFxuICAvLy8gQHJlc3VsdCA6ICRnYXAwLCAkZ2FwLCAkZ2FwMiwgJGdhcDMsICRnYXA0LCAkZ2FwNSAsICRnYXA2LCAkZ2FwMC0sICRnYXAtLCAkZ2FwMi0sICRnYXAzLSwgJGdhcDQtLCAkZ2FwNS0gYW5kICRnYXA2LVxuICBcbiAgJGdhcCA6IDE2cHgsXG5cbiAgLy8gU3BhY2VycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU3BhY2VycyBhcmUgYSByZWxhdGl2ZSB2aWV3cG9ydCBoZWlnaHQgKHZoKSB1bml0IGludGVuZGVkIHRvIGJlIHVzZWQgb24gYSBjb21wb25lbnRlZCBsZXZlbC5cbiAgLy8vIFRoZSBhaW0gaXMgdG8gcmV0YWluIGNvbnNpc3RhbnQgdG9wIGFuZCBib3R0b20gc3BhY2luZyBhbW9uZ3N0ICdzZWN0aW9uJyBhbmQgJ2N1c3RvbScgZWxlbWVudHMuXG4gIC8vLyBTcGFjZXJzIHdpbGwgZXF1YXRlIHRvIHNvbWV0aGluZyBsaWtlOiBgKCRzcGFjZXIgKiB4KSArICRnYXBgLiBcbiAgLy8vIFRoZSAnJGdhcCcgaXMgYWRkZWQgc28gdGhhdCB2aCBzcGFjaW5nIHdpbGwgbmV2ZXIgc2NhbGUgdG9vIGNsb3NlIHRvIDBweC4gXG4gIC8vLyBTcGFjZXJzIG11c3QgdXNlIGEgJ3ZoJyB1bml0IHNvIHRoZXkgYXJlIHJlbGF0aXZlIHRvIHRoZSB1c2VycyB2aWV3cG9ydCBoZWlnaHQtd2lzZS5cbiAgLy8vIFRoZXkgc2hvdWxkIHByaW1hcmlseSBiZSB1c2VkIGZvciB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucyBvbiBhIGNvbXBvbmVudCBsZXZlbC5cbiAgLy8vIEByZXN1bHQgOiAkc3BhY2VyMCwgJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlcjQsICRzcGFjZXI1LCAkc3BhY2VyNiwgJHNwYWNlcjAtLCAkc3BhY2VyLSwgJHNwYWNlci0sICRzcGFjZXItLCAkc3BhY2VyNC0sICRzcGFjZXI1LSBhbmQgJHNwYWNlcjYtXG4gIFxuICAkc3BhY2VyIDogNHZoLCBcblxuICAvLyBHdXR0ZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBHdXR0ZXJzIGFyZSBhIHJlbGF0aXZlIHZpZXdwb3J0IHdpZHRoICh2dykgdW5pdCBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGEgcGFyZW50IGxldmVsO1xuICAvLyBmb3IgZXhhbXBsZSwgYSB3cmFwcGVyIGNvbnRhaW5lciBvciBib2R5IHdpdGggbmVzdGVkIGNvbXBvbmVudHMuIFxuICAvLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IGxlZnQgYW5kIHJpZ2h0IHNwYWNpbmcgYW1vbmdzdCAnc2VjdGlvbicgYW5kICdjdXN0b20nIGVsZW1lbnRzLlxuICAvLy8gR3V0dGVycyB3aWxsIGVxdWF0ZSB0byBzb21ldGhpbmcgbGlrZTogYCgkZ3V0dGVyICogeCkgKyAkZ2FwYC4gXG4gIC8vLyBUaGUgJyRnYXAnIGlzIGFkZGVkIHNvIHRoYXQgdncgc3BhY2luZyB3aWxsIG5ldmVyIHNjYWxlIHRvbyBjbG9zZSB0byAwcHguIFxuICAvLy8gR3V0dGVycyBtdXN0IHVzZSBhICd2dycgdW5pdCBzbyB0aGV5IGFyZSByZWxhdGl2ZSB0byB0aGUgdXNlcnMgdmlld3BvcnQgd2lkdGgtd2lzZS4gXG4gIC8vLyBUaGV5IHNob3VsZCBwcmltYXJpbHkgYmUgdXNlZCBmb3IgdGhlIGxlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb3IgbWFyZ2luIG9uIGEgcGFyZW50IGxldmVsLlxuICAvLy8gQXMgYSBzdWdnZXN0aW9uLCB0aGlzIGd1dHRlciBjb25zdGFudCBzaG91bGQgYmUgaGFsZiB0aGUgc2l6ZSBvZiB0aGUgc3BhY2VyIHZhbHVlLlxuICAvLy8gQHJlc3VsdCA6ICRndXR0ZXIwLCAkZ3V0dGVyLCAkZ3V0dGVyMiwgJGd1dHRlcjMsICRndXR0ZXI0LCAkZ3V0dGVyNSwgJGd1dHRlcjYsICRndXR0ZXIwLSwgJGd1dHRlci0sICRndXR0ZXIyLSwgJGd1dHRlcjMtLCAkZ3V0dGVyNC0sICRndXR0ZXI1LSBhbmQgJGd1dHRlcjYtXG4gIFxuICAkZ3V0dGVyIDogM3Z3LCBcblxuKTtcblxuJGJvcmRlci1yYWRpdXMgOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuJHNpZGViYXItd2lkdGggOiA1MDBweDsiLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIEJyZWFrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjYnJlYWtcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBvdXQoJGJyZWFrcG9pbnQpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6I3skYnJlYWtwb2ludCArIDF9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGluKCRicmVha3BvaW50KSB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiN7JGJyZWFrcG9pbnR9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJldHdlZW4oJG1pbiwgJG1heCkge1xuICBAbWVkaWEgKG1pbi13aWR0aDojeyRtaW59KSBhbmQgKG1heC13aWR0aDojeyRtYXh9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn0iXX0= */