Shoobx/OrgChart.js

View on GitHub
dest/orgchart.min.css

Summary

Maintainability
Test Coverage
.orgchart{display:inline-block;min-height:202px;min-width:202px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:linear-gradient(90deg,rgba(200,0,0,.15) 10%,rgba(0,0,0,0) 10%),linear-gradient(rgba(200,0,0,.15) 10%,rgba(0,0,0,0) 10%);background-size:10px 10px;border:1px dashed transparent;padding:20px}.orgchart .hidden,.orgchart~.hidden{display:none}.orgchart div,.orgchart div::after,.orgchart div::before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.orgchart.b2t{-ms-transform:rotate(180deg);-moz-transform:rotate(180deg);-webkit-transform:rotate(180deg);transform:rotate(180deg)}.orgchart.l2r{position:absolute;-ms-transform:rotate(-90deg) rotateY(180deg);-moz-transform:rotate(-90deg) rotateY(180deg);-webkit-transform:rotate(-90deg) rotateY(180deg);transform:rotate(-90deg) rotateY(180deg);-ms-transform-origin:left top;-moz-transform-origin:left top;-webkit-transform-origin:left top;transform-origin:left top}.orgchart .verticalNodes ul{list-style:none;margin:0;padding-left:18px;text-align:left}.orgchart .verticalNodes ul:first-child{margin-top:3px}.orgchart .verticalNodes>td::before{content:'';border:1px solid rgba(217,83,79,.8)}.orgchart .verticalNodes>td>ul>li:first-child::before{top:-4px;height:30px;width:calc(50% - 2px);border-width:2px 0 0 2px}.orgchart .verticalNodes ul>li{position:relative}.orgchart .verticalNodes ul>li::after,.orgchart .verticalNodes ul>li::before{content:'';position:absolute;left:-6px;border-color:rgba(217,83,79,.8);border-style:solid;border-width:0 0 2px 2px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.orgchart .verticalNodes ul>li::before{top:-4px;height:30px;width:11px}.orgchart .verticalNodes ul>li::after{top:1px;height:100%}.orgchart .verticalNodes ul>li:first-child::after{top:24px;width:11px;border-width:2px 0 0 2px}.orgchart .verticalNodes ul>li:last-child::after{border-width:2px 0 0}.orgchart.r2l{position:absolute;-ms-transform:rotate(90deg);-moz-transform:rotate(90deg);-webkit-transform:rotate(90deg);transform:rotate(90deg);-ms-transform-origin:left top;-moz-transform-origin:left top;-webkit-transform-origin:left top;transform-origin:left top}.orgchart>.spinner{font-size:100px;margin-top:30px;color:rgba(68,157,68,.8)}.orgchart table{border-spacing:0;border-collapse:separate}.orgchart>table:first-child{margin:20px auto}.orgchart td{text-align:center;vertical-align:top;padding:0}.orgchart tr.lines .topLine{border-top:2px solid rgba(217,83,79,.8)}.orgchart tr.lines .rightLine{border-right:1px solid rgba(217,83,79,.8);float:none;border-radius:0}.orgchart tr.lines .leftLine{border-left:1px solid rgba(217,83,79,.8);float:none;border-radius:0}.orgchart tr.lines .downLine{background-color:rgba(217,83,79,.8);margin:0 auto;height:20px;width:2px;float:none}.orgchart .node{display:inline-block;position:relative;margin:0;padding:3px;border:2px dashed transparent;text-align:center;width:200px}.orgchart.l2r .node,.orgchart.r2l .node{width:50px;height:130px}.orgchart .node>.hazy{opacity:.2}.orgchart .node>.spinner{position:absolute;top:calc(50% - 15px);left:calc(50% - 15px);vertical-align:middle;font-size:30px;color:rgba(68,157,68,.8)}.orgchart .node:hover{background-color:rgba(238,217,54,.5);transition:.5s;cursor:default;z-index:20}.orgchart .node.focused{background-color:rgba(238,217,54,.5)}.orgchart .ghost-node{position:fixed;left:-10000px;top:-10000px}.orgchart .ghost-node rect{fill:#fff;stroke:#bf0000}.orgchart .node.allowedDrop{border-color:rgba(68,157,68,.9)}.orgchart .node .title{text-align:center;font-size:12px;font-weight:700;height:20px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:rgba(217,83,79,.8);color:#fff;border-radius:4px 4px 0 0;padding-right:18px}.orgchart .node.rootNode .title{height:60px;line-height:60px;border-radius:4px;padding-right:0}.orgchart.b2t .node .title{-ms-transform:rotate(-180deg);-moz-transform:rotate(-180deg);-webkit-transform:rotate(-180deg);transform:rotate(-180deg);-ms-transform-origin:center bottom;-moz-transform-origin:center bottom;-webkit-transform-origin:center bottom;transform-origin:center bottom}.orgchart.l2r .node .title{-ms-transform:rotate(-90deg) translate(-40px,-40px) rotateY(180deg);-moz-transform:rotate(-90deg) translate(-40px,-40px) rotateY(180deg);-webkit-transform:rotate(-90deg) translate(-40px,-40px) rotateY(180deg);transform:rotate(-90deg) translate(-40px,-40px) rotateY(180deg);-ms-transform-origin:bottom center;-moz-transform-origin:bottom center;-webkit-transform-origin:bottom center;transform-origin:bottom center;width:120px}.orgchart.r2l .node .title{-ms-transform:rotate(-90deg) translate(-40px,-40px);-moz-transform:rotate(-90deg) translate(-40px,-40px);-webkit-transform:rotate(-90deg) translate(-40px,-40px);transform:rotate(-90deg) translate(-40px,-40px);-ms-transform-origin:bottom center;-moz-transform-origin:bottom center;-webkit-transform-origin:bottom center;transform-origin:bottom center;width:120px}.orgchart .node .title .symbol{float:left;top:50%;transform:translateY(-50%);margin-left:4px;position:relative}.orgchart .node .content{width:100%;height:40px;font-size:11px;line-height:18px;border:1px solid rgba(217,83,79,.8);border-radius:0 0 4px 4px;padding-right:18px;text-align:center;background-color:#fff;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.orgchart.b2t .node .content{-ms-transform:rotate(180deg);-moz-transform:rotate(180deg);-webkit-transform:rotate(180deg);transform:rotate(180deg);-ms-transform-origin:center top;-moz-transform-origin:center top;-webkit-transform-origin:center top;transform-origin:center top}.orgchart.l2r .node .content{-ms-transform:rotate(-90deg) translate(-40px,-40px) rotateY(180deg);-moz-transform:rotate(-90deg) translate(-40px,-40px) rotateY(180deg);-webkit-transform:rotate(-90deg) translate(-40px,-40px) rotateY(180deg);transform:rotate(-90deg) translate(-40px,-40px) rotateY(180deg);-ms-transform-origin:top center;-moz-transform-origin:top center;-webkit-transform-origin:top center;transform-origin:top center;width:120px}.orgchart.r2l .node .content{-ms-transform:rotate(-90deg) translate(-40px,-40px);-moz-transform:rotate(-90deg) translate(-40px,-40px);-webkit-transform:rotate(-90deg) translate(-40px,-40px);transform:rotate(-90deg) translate(-40px,-40px);-ms-transform-origin:top center;-moz-transform-origin:top center;-webkit-transform-origin:top center;transform-origin:top center;width:120px}.orgchart .node.withAvatar{padding-left:33px}.orgchart .node.withAvatar .content,.orgchart .node.withAvatar .title{padding-left:30px}.orgchart .node .avatar{position:absolute;top:3px;left:3px;width:60px;height:60px;line-height:58px;overflow:hidden;border-radius:50%;background-color:#fff;background-size:cover;background-position:center center;border:1px solid rgba(217,83,79,.8)}.orgchart .node .edge{font-size:15px;position:absolute;color:rgba(68,157,68,.5);cursor:default;transition:.2s;-webkit-transition:.2s}.orgchart.noncollapsable .node .edge{display:none}.orgchart .edge:hover{color:#449d44;cursor:pointer}.orgchart .node .verticalEdge{width:calc(100% - 10px);width:-webkit-calc(100% - 10px);width:-moz-calc(100% - 10px);left:10px}.orgchart .node .topEdge{top:-4px}.orgchart .node .bottomEdge{bottom:-4px}.orgchart .node .horizontalEdge{width:15px;height:calc(100% - 10px);height:-webkit-calc(100% - 10px);height:-moz-calc(100% - 10px);top:0}.orgchart .node .rightEdge{right:-4px}.orgchart .node .leftEdge{left:-4px}.orgchart .node .horizontalEdge::before{position:absolute;top:calc(50% - 7px);top:-webkit-calc(50% - 7px);top:-moz-calc(50% - 7px)}.orgchart .node .rightEdge::before{right:3px}.orgchart .node .leftEdge::before{left:3px}.orgchart .node .toggleBtn{position:absolute;top:5px;right:5px;color:#fff}.orgchart .node .toggleBtn:hover{opacity:.8}.orgchart .oc-export-btn{display:inline-block;position:absolute;right:5px;top:5px;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#fff;background-color:#5cb85c;border:1px solid transparent;border-color:#4cae4c;border-radius:4px}.oc-export-btn:active,.oc-export-btn:focus,.orgchart .oc-export-btn:hover{background-color:#449d44;border-color:#347a34}.orgchart~.mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:999;text-align:center;background-color:rgba(0,0,0,.3)}.orgchart~.mask .spinner{position:absolute;top:calc(50% - 54px);left:calc(50% - 54px);color:rgba(255,255,255,.8);font-size:108px}.orgchart .node{-webkit-transition:all .3s;transition:all .3s;top:0;left:0}.orgchart .slide-down{opacity:0;top:40px}.orgchart.l2r .node.slide-down,.orgchart.r2l .node.slide-down{top:130px}.orgchart .slide-up{opacity:0;top:-40px}.orgchart.l2r .node.slide-up,.orgchart.r2l .node.slide-up{top:-130px}.orgchart .slide-right{opacity:0;left:130px}.orgchart.l2r .node.slide-right,.orgchart.r2l .node.slide-right{left:40px}.orgchart .slide-left{opacity:0;left:-130px}.orgchart.l2r .node.slide-left,.orgchart.r2l .node.slide-left{left:-40px}.orgchart .show-all{width:60px;height:30px;border:1px solid #97aaaa;line-height:22px;position:absolute;top:-26px;left:87.5px;padding:4px;border-top-left-radius:8px;border-top-right-radius:8px;background:#ddd;text-align:center;cursor:pointer}.orgchart .show-all .fa{vertical-align:top;line-height:22px;padding:0 2px}.orgchart .show-all .fa-angle-double-up{font-size:22px;color:#ca7b00}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,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LG9CQUNFLE1BQU8sS0FDUCxPQUFRLEtBQ1IsT0FBUSxJQUFJLE1BQU0sUUFDbEIsWUFBYSxLQUNiLFNBQVUsU0FDVixJQUFLLE1BQ0wsS0FBTSxPQUNOLFFBQVMsSUFDVCx1QkFBd0IsSUFDeEIsd0JBQXlCLElBQ3pCLFdBQVksS0FDWixXQUFZLE9BQ1osT0FBUSxRQUdWLHdCQUNFLGVBQWdCLElBQ2hCLFlBQWEsS0FDYixRQUFTLEVBQUUsSUFHYix3Q0FDRSxVQUFXLEtBQ1gsTUFBTyIsImZpbGUiOiJvcmdjaGFydC5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIE9yZ2FuaXphdGlvbiBDaGFydCBDbGFzc1xuICogaHR0cHM6Ly9naXRodWIuY29tL2RhYmVuZy9PcmdDaGFydC5qc1xuICpcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2U6XG4gKiBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICovXG5cbi5vcmdjaGFydCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLWhlaWdodDogMjAycHg7XG4gIG1pbi13aWR0aDogMjAycHg7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjAwLCAwLCAwLCAwLjE1KSAxMCUsIHJnYmEoMCwgMCwgMCwgMCkgMTAlKSwgbGluZWFyLWdyYWRpZW50KHJnYmEoMjAwLCAwLCAwLCAwLjE1KSAxMCUsIHJnYmEoMCwgMCwgMCwgMCkgMTAlKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMHB4IDEwcHg7XG4gIGJvcmRlcjogMXB4IGRhc2hlZCB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuLm9yZ2NoYXJ0IC5oaWRkZW4sIC5vcmdjaGFydH4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm9yZ2NoYXJ0IGRpdixcbi5vcmdjaGFydCBkaXY6OmJlZm9yZSxcbi5vcmdjaGFydCBkaXY6OmFmdGVyIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5vcmdjaGFydC5iMnQge1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi5vcmdjaGFydC5sMnIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHJvdGF0ZVkoMTgwZGVnKTtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHJvdGF0ZVkoMTgwZGVnKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHJvdGF0ZVkoMTgwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSByb3RhdGVZKDE4MGRlZyk7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG59XG5cbi5vcmdjaGFydCAudmVydGljYWxOb2RlcyB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ub3JnY2hhcnQgLnZlcnRpY2FsTm9kZXMgdWw6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAzcHg7XG59XG5cbi5vcmdjaGFydCAudmVydGljYWxOb2Rlcz50ZDo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjE3LCA4MywgNzksIDAuOCk7XG59XG5cbi5vcmdjaGFydCAudmVydGljYWxOb2Rlcz50ZD51bD5saTpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgdG9wOiAtNHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDJweCk7XG4gIGJvcmRlci13aWR0aDogMnB4IDAgMCAycHg7XG59XG5cbi5vcmdjaGFydCAudmVydGljYWxOb2RlcyB1bD5saSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm9yZ2NoYXJ0IC52ZXJ0aWNhbE5vZGVzIHVsPmxpOjpiZWZvcmUsXG4ub3JnY2hhcnQgLnZlcnRpY2FsTm9kZXMgdWw+bGk6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTZweDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxNywgODMsIDc5LCAwLjgpO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAgMCAycHggMnB4O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLm9yZ2NoYXJ0IC52ZXJ0aWNhbE5vZGVzIHVsPmxpOjpiZWZvcmUge1xuICB0b3A6IC00cHg7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDExcHg7XG59XG5cbi5vcmdjaGFydCAudmVydGljYWxOb2RlcyB1bD5saTo6YWZ0ZXIge1xuICB0b3A6IDFweDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ub3JnY2hhcnQgLnZlcnRpY2FsTm9kZXMgdWw+bGk6Zmlyc3QtY2hpbGQ6OmFmdGVyIHtcbiAgdG9wOiAyNHB4O1xuICB3aWR0aDogMTFweDtcbiAgYm9yZGVyLXdpZHRoOiAycHggMCAwIDJweDtcbn1cblxuLm9yZ2NoYXJ0IC52ZXJ0aWNhbE5vZGVzIHVsPmxpOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgYm9yZGVyLXdpZHRoOiAycHggMCAwO1xufVxuXG4ub3JnY2hhcnQucjJsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbn1cblxuLm9yZ2NoYXJ0Pi5zcGlubmVyIHtcbiAgZm9udC1zaXplOiAxMDBweDtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgY29sb3I6IHJnYmEoNjgsIDE1NywgNjgsIDAuOCk7XG59XG5cbi5vcmdjaGFydCB0YWJsZSB7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xufVxuXG4ub3JnY2hhcnQ+dGFibGU6Zmlyc3QtY2hpbGR7XG4gIG1hcmdpbjogMjBweCBhdXRvO1xufVxuXG4ub3JnY2hhcnQgdGQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5vcmdjaGFydCB0ci5saW5lcyAudG9wTGluZSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCByZ2JhKDIxNywgODMsIDc5LCAwLjgpO1xufVxuXG4ub3JnY2hhcnQgdHIubGluZXMgLnJpZ2h0TGluZSB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMjE3LCA4MywgNzksIDAuOCk7XG4gIGZsb2F0OiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4ub3JnY2hhcnQgdHIubGluZXMgLmxlZnRMaW5lIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDIxNywgODMsIDc5LCAwLjgpO1xuICBmbG9hdDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLm9yZ2NoYXJ0IHRyLmxpbmVzIC5kb3duTGluZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjE3LCA4MywgNzksIDAuOCk7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAycHg7XG4gIGZsb2F0OiBub25lO1xufVxuXG4vKiBub2RlIHN0eWxpbmcgKi9cbi5vcmdjaGFydCAubm9kZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDNweDtcbiAgYm9yZGVyOiAycHggZGFzaGVkIHRyYW5zcGFyZW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAyMDBweDtcbn1cblxuLm9yZ2NoYXJ0LmwyciAubm9kZSwgLm9yZ2NoYXJ0LnIybCAubm9kZSB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDEzMHB4O1xufVxuXG4ub3JnY2hhcnQgLm5vZGU+Lmhhenkge1xuICBvcGFjaXR5OiAwLjI7XG59XG5cbi5vcmdjaGFydCAubm9kZT4uc3Bpbm5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDUwJSAtIDE1cHgpO1xuICBsZWZ0OiBjYWxjKDUwJSAtIDE1cHgpO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXNpemU6IDMwcHg7XG4gIGNvbG9yOiByZ2JhKDY4LCAxNTcsIDY4LCAwLjgpO1xufVxuXG4ub3JnY2hhcnQgLm5vZGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzOCwgMjE3LCA1NCwgMC41KTtcbiAgdHJhbnNpdGlvbjogLjVzO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHotaW5kZXg6IDIwO1xufVxuXG4ub3JnY2hhcnQgLm5vZGUuZm9jdXNlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM4LCAyMTcsIDU0LCAwLjUpO1xufVxuXG4ub3JnY2hhcnQgLmdob3N0LW5vZGUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IC0xMDAwMHB4O1xuICB0b3A6IC0xMDAwMHB4O1xufVxuXG4ub3JnY2hhcnQgLmdob3N0LW5vZGUgcmVjdCB7XG4gIGZpbGw6ICNmZmZmZmY7XG4gIHN0cm9rZTogI2JmMDAwMDtcbn1cblxuLm9yZ2NoYXJ0IC5ub2RlLmFsbG93ZWREcm9wIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDY4LCAxNTcsIDY4LCAwLjkpO1xufVxuXG4ub3JnY2hhcnQgLm5vZGUgLnRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTcsIDgzLCA3OSwgMC44KTtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwO1xuICBwYWRkaW5nLXJpZ2h0OiAxOHB4O1xufVxuXG4ub3JnY2hhcnQgLm5vZGUucm9vdE5vZGUgLnRpdGxlIHtcbiAgaGVpZ2h0OiA2MHB4O1xuICBsaW5lLWhlaWdodDogNjBweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4ub3JnY2hhcnQuYjJ0IC5ub2RlIC50aXRsZSB7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbn1cblxuLm9yZ2NoYXJ0LmwyciAubm9kZSAudGl0bGUge1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGUoLTQwcHgsIC00MHB4KSByb3RhdGVZKDE4MGRlZyk7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGUoLTQwcHgsIC00MHB4KSByb3RhdGVZKDE4MGRlZyk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGUoLTQwcHgsIC00MHB4KSByb3RhdGVZKDE4MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgdHJhbnNsYXRlKC00MHB4LCAtNDBweCkgcm90YXRlWSgxODBkZWcpO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGNlbnRlcjtcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gY2VudGVyO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XG4gIHdpZHRoOiAxMjBweDtcbn1cblxuLm9yZ2NoYXJ0LnIybCAubm9kZSAudGl0bGUge1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGUoLTQwcHgsIC00MHB4KTtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHRyYW5zbGF0ZSgtNDBweCwgLTQwcHgpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgdHJhbnNsYXRlKC00MHB4LCAtNDBweCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgdHJhbnNsYXRlKC00MHB4LCAtNDBweCk7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gY2VudGVyO1xuICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGNlbnRlcjtcbiAgd2lkdGg6IDEyMHB4O1xufVxuXG4ub3JnY2hhcnQgLm5vZGUgLnRpdGxlIC5zeW1ib2wge1xuICBmbG9hdDogbGVmdDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ub3JnY2hhcnQgLm5vZGUgLmNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0MHB4O1xuICBmb250LXNpemU6IDExcHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIxNywgODMsIDc5LCAwLjgpO1xuICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcbiAgcGFkZGluZy1yaWdodDogMThweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzMzMztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5vcmdjaGFydC5iMnQgLm5vZGUgLmNvbnRlbnQge1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wO1xuICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDtcbn1cblxuLm9yZ2NoYXJ0LmwyciAubm9kZSAuY29udGVudCB7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHRyYW5zbGF0ZSgtNDBweCwgLTQwcHgpIHJvdGF0ZVkoMTgwZGVnKTtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHRyYW5zbGF0ZSgtNDBweCwgLTQwcHgpIHJvdGF0ZVkoMTgwZGVnKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHRyYW5zbGF0ZSgtNDBweCwgLTQwcHgpIHJvdGF0ZVkoMTgwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGUoLTQwcHgsIC00MHB4KSByb3RhdGVZKDE4MGRlZyk7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgd2lkdGg6IDEyMHB4O1xufVxuXG4ub3JnY2hhcnQucjJsIC5ub2RlIC5jb250ZW50IHtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgdHJhbnNsYXRlKC00MHB4LCAtNDBweCk7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGUoLTQwcHgsIC00MHB4KTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHRyYW5zbGF0ZSgtNDBweCwgLTQwcHgpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHRyYW5zbGF0ZSgtNDBweCwgLTQwcHgpO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIHdpZHRoOiAxMjBweDtcbn1cblxuLm9yZ2NoYXJ0IC5ub2RlLndpdGhBdmF0YXIge1xuICBwYWRkaW5nLWxlZnQ6IDMzcHg7XG59XG5cbi5vcmdjaGFydCAubm9kZS53aXRoQXZhdGFyIC50aXRsZSxcbi5vcmdjaGFydCAubm9kZS53aXRoQXZhdGFyIC5jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xufVxuXG4ub3JnY2hhcnQgLm5vZGUgLmF2YXRhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzcHg7XG4gIGxlZnQ6IDNweDtcbiAgd2lkdGg6IDYwcHg7XG4gIGhlaWdodDogNjBweDtcbiAgbGluZS1oZWlnaHQ6IDU4cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMTcsIDgzLCA3OSwgMC44KTtcbn1cblxuLm9yZ2NoYXJ0IC5ub2RlIC5lZGdlIHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiByZ2JhKDY4LCAxNTcsIDY4LCAwLjUpO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHRyYW5zaXRpb246IC4ycztcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAuMnM7XG59XG5cbi5vcmdjaGFydC5ub25jb2xsYXBzYWJsZSAubm9kZSAuZWRnZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vcmdjaGFydCAuZWRnZTpob3ZlciB7XG4gIGNvbG9yOiAjNDQ5ZDQ0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5vcmdjaGFydCAubm9kZSAudmVydGljYWxFZGdlIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwcHgpO1xuICB3aWR0aDogLXdlYmtpdC1jYWxjKDEwMCUgLSAxMHB4KTtcbiAgd2lkdGg6IC1tb3otY2FsYygxMDAlIC0gMTBweCk7XG4gIGxlZnQ6IDEwcHg7XG59XG5cbi5vcmdjaGFydCAubm9kZSAudG9wRWRnZSB7XG4gIHRvcDogLTRweDtcbn1cblxuLm9yZ2NoYXJ0IC5ub2RlIC5ib3R0b21FZGdlIHtcbiAgYm90dG9tOiAtNHB4O1xufVxuXG4ub3JnY2hhcnQgLm5vZGUgLmhvcml6b250YWxFZGdlIHtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMTBweCk7XG4gIGhlaWdodDogLXdlYmtpdC1jYWxjKDEwMCUgLSAxMHB4KTtcbiAgaGVpZ2h0OiAtbW96LWNhbGMoMTAwJSAtIDEwcHgpO1xuICB0b3A6IDA7XG59XG5cbi5vcmdjaGFydCAubm9kZSAucmlnaHRFZGdlIHtcbiAgcmlnaHQ6IC00cHg7XG59XG5cbi5vcmdjaGFydCAubm9kZSAubGVmdEVkZ2Uge1xuICBsZWZ0OiAtNHB4O1xufVxuXG4ub3JnY2hhcnQgLm5vZGUgLmhvcml6b250YWxFZGdlOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYyg1MCUgLSA3cHgpO1xuICB0b3A6IC13ZWJraXQtY2FsYyg1MCUgLSA3cHgpO1xuICB0b3A6IC1tb3otY2FsYyg1MCUgLSA3cHgpO1xufVxuXG4ub3JnY2hhcnQgLm5vZGUgLnJpZ2h0RWRnZTo6YmVmb3JlIHtcbiAgcmlnaHQ6IDNweDtcbn1cblxuLm9yZ2NoYXJ0IC5ub2RlIC5sZWZ0RWRnZTo6YmVmb3JlIHtcbiAgbGVmdDogM3B4O1xufVxuXG4ub3JnY2hhcnQgLm5vZGUgLnRvZ2dsZUJ0biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1cHg7XG4gIHJpZ2h0OiA1cHg7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ub3JnY2hhcnQgLm5vZGUgLnRvZ2dsZUJ0bjpob3ZlciB7XG4gIG9wYWNpdHk6IDAuODtcbn1cblxuLm9yZ2NoYXJ0IC5vYy1leHBvcnQtYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiA1cHg7XG4gIHRvcDogNXB4O1xuICBwYWRkaW5nOiA2cHggMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNiODVjO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjNGNhZTRjO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5vcmdjaGFydCAub2MtZXhwb3J0LWJ0bjpob3Zlciwub2MtZXhwb3J0LWJ0bjpmb2N1cywub2MtZXhwb3J0LWJ0bjphY3RpdmUgIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ0OWQ0NDtcbiAgYm9yZGVyLWNvbG9yOiAjMzQ3YTM0O1xufVxuXG4ub3JnY2hhcnR+Lm1hc2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC4zKTtcbn1cblxuLm9yZ2NoYXJ0fi5tYXNrIC5zcGlubmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoNTAlIC0gNTRweCk7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gNTRweCk7XG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuOCk7XG4gIGZvbnQtc2l6ZTogMTA4cHg7XG59XG5cbi5vcmdjaGFydCAubm9kZSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5vcmdjaGFydCAuc2xpZGUtZG93biB7XG4gIG9wYWNpdHk6IDA7XG4gIHRvcDogNDBweDtcbn1cblxuLm9yZ2NoYXJ0LmwyciAubm9kZS5zbGlkZS1kb3duLCAub3JnY2hhcnQucjJsIC5ub2RlLnNsaWRlLWRvd24ge1xuICB0b3A6IDEzMHB4O1xufVxuXG4ub3JnY2hhcnQgLnNsaWRlLXVwIHtcbiAgb3BhY2l0eTogMDtcbiAgdG9wOiAtNDBweDtcbn1cblxuLm9yZ2NoYXJ0LmwyciAubm9kZS5zbGlkZS11cCwgLm9yZ2NoYXJ0LnIybCAubm9kZS5zbGlkZS11cCB7XG4gIHRvcDogLTEzMHB4O1xufVxuXG4ub3JnY2hhcnQgLnNsaWRlLXJpZ2h0IHtcbiAgb3BhY2l0eTogMDtcbiAgbGVmdDogMTMwcHg7XG59XG5cbi5vcmdjaGFydC5sMnIgLm5vZGUuc2xpZGUtcmlnaHQsIC5vcmdjaGFydC5yMmwgLm5vZGUuc2xpZGUtcmlnaHQge1xuICBsZWZ0OiA0MHB4O1xufVxuXG4ub3JnY2hhcnQgLnNsaWRlLWxlZnQge1xuICBvcGFjaXR5OiAwO1xuICBsZWZ0OiAtMTMwcHg7XG59XG5cbi5vcmdjaGFydC5sMnIgLm5vZGUuc2xpZGUtbGVmdCwgLm9yZ2NoYXJ0LnIybCAubm9kZS5zbGlkZS1sZWZ0IHtcbiAgbGVmdDogLTQwcHg7XG59XG5cbi5vcmdjaGFydCAuc2hvdy1hbGwge1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTdBQUFBO1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0yNnB4O1xuICBsZWZ0OiA4Ny41cHg7XG4gIHBhZGRpbmc6IDRweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOHB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kOiAjZGRkZGRkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm9yZ2NoYXJ0IC5zaG93LWFsbCAuZmEge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgcGFkZGluZzogMCAycHg7XG59XG5cbi5vcmdjaGFydCAuc2hvdy1hbGwgLmZhLWFuZ2xlLWRvdWJsZS11cCB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgY29sb3I6ICNjYTdiMDA7XG59Il19 */