.CodeMirror{font-family:monospace;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor-mark{background-color:rgba(20,255,20,.5);-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite}.cm-animate-fat-cursor{width:auto;border:0;-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite;background-color:#7e7}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-30px;margin-right:-30px;padding-bottom:30px;height:100%;outline:0;position:relative}.CodeMirror-sizer{position:relative;border-right:30px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-30px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:0 0!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:0 0;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:''}span.CodeMirror-selectedtext{background:0 0}.cm-s-base16-light.CodeMirror{background:#f5f5f5;color:#202020}.cm-s-base16-light div.CodeMirror-selected{background:#e0e0e0}.cm-s-base16-light .CodeMirror-line::selection,.cm-s-base16-light .CodeMirror-line>span::selection,.cm-s-base16-light .CodeMirror-line>span>span::selection{background:#e0e0e0}.cm-s-base16-light .CodeMirror-line::-moz-selection,.cm-s-base16-light .CodeMirror-line>span::-moz-selection,.cm-s-base16-light .CodeMirror-line>span>span::-moz-selection{background:#e0e0e0}.cm-s-base16-light .CodeMirror-gutters{background:#f5f5f5;border-right:0}.cm-s-base16-light .CodeMirror-guttermarker{color:#ac4142}.cm-s-base16-light .CodeMirror-guttermarker-subtle,.cm-s-base16-light .CodeMirror-linenumber{color:#b0b0b0}.cm-s-base16-light .CodeMirror-cursor{border-left:1px solid #505050}.cm-s-base16-light span.cm-comment{color:#8f5536}.cm-s-base16-light span.cm-atom,.cm-s-base16-light span.cm-number{color:#aa759f}.cm-s-base16-light span.cm-attribute,.cm-s-base16-light span.cm-property{color:#90a959}.cm-s-base16-light span.cm-keyword{color:#ac4142}.cm-s-base16-light span.cm-string{color:#f4bf75}.cm-s-base16-light span.cm-variable{color:#90a959}.cm-s-base16-light span.cm-variable-2{color:#6a9fb5}.cm-s-base16-light span.cm-def{color:#d28445}.cm-s-base16-light span.cm-bracket{color:#202020}.cm-s-base16-light span.cm-tag{color:#ac4142}.cm-s-base16-light span.cm-link{color:#aa759f}.cm-s-base16-light span.cm-error{background:#ac4142;color:#505050}.cm-s-base16-light .CodeMirror-activeline-background{background:#DDDCDC}.cm-s-base16-light .CodeMirror-matchingbracket{color:#f5f5f5!important;background-color:#6A9FB5!important}.card-shadow{box-shadow:0 1px 2px #aaa}.material-shadow{box-shadow:0 5px 10px #000}html{position:relative;min-height:100%}body{padding:0;margin:0;font-family:Roboto,"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:300;font-size:15px;background-color:#fff}.menu-bar,header{background-color:#5cb85c}h4{font-size:1.2em}header{padding-top:1em;padding-bottom:1em}header a{text-decoration:none}.header-title{font-size:2.5em;text-align:center;color:#fff}.menu-bar{height:40px}.menu-bar h1{padding-top:2px;margin:auto;text-align:center}.menu-bar a{color:#fff;text-decoration:none}footer{left:0;bottom:0;height:4em;width:100%;color:#93a1a1;text-align:center;line-height:100%}footer p{margin-bottom:.5em}footer .language-switch{display:block}p{line-height:1.5em}code{color:#a44247}.container,.docs-content .content{max-width:750px;margin-right:auto;margin-left:auto;padding:0 15px}@media (min-width:568px){.header-title{font-size:1em}}@media (min-width:768px){.header-title{font-size:1.5em}}@media (min-width:1024px){.header-title{font-size:2em}}.button,.exercise-action-next,.exercise-action-reset,.exercise-action-run{color:grey;background-color:rgba(0,0,0,.05);border-radius:3px;padding:10px;margin:0;text-decoration:none}.button:hover,.exercise-action-next:hover,.exercise-action-reset:hover,.exercise-action-run:hover{color:#fff;background-color:rgba(0,0,0,.25)}.button.disabled,.exercise-action-next.disabled,.exercise-action-reset.disabled,.exercise-action-run.disabled{pointer-events:none;cursor:default}.github-star{margin-left:10px;margin-right:10px}.front{font-size:13px;line-height:3em}.front .links{border:1px solid rgba(0,0,0,.05)}.front .links:after,.front .links:before{content:'';display:table}.front .links:after{clear:both}.front .links .link-container{float:left;clear:none;text-align:inherit;width:100%;margin-left:0;margin-right:0}.front .links .link-container:after,.front .links .link-container:before{content:'';display:table}.front .links .link-container:after{clear:both}.front .links .link-container a.main-module{display:block;text-align:center;font-size:1.5em;font-weight:700;color:#fff;border-radius:0;background-color:#5cb85c}.front .links .link-container a.main-module:hover{background-color:#79bc5f}.front .links .link-container .module-container{color:#000}.front .links .link-container .module-container>span{line-height:1.5em;display:block;padding-top:1em;padding-left:1em;font-size:1.2em;font-weight:700;color:#444}.front .links .link-container .module-container li{line-height:2em}.front .links .link-container .module-container li span{margin-left:10px;padding:1px;color:#fff;background-color:orange}.front .github-contrib{padding:1em;text-align:center}.front .github-contrib div{margin:0 auto}@media (min-width:768px){.front .links .link-container{float:left;clear:none;text-align:inherit;width:50%;margin-left:0;margin-right:0}.front .links .link-container:after,.front .links .link-container:before{content:'';display:table}.front .links .link-container:after{clear:both}}.docs-row:after,.docs-row:before{content:'';display:table}.docs-list ul,.exercise-answer,.exercise-main .editor-cover.hide{display:none}.docs-row:after{clear:both}.docs-list{background-color:#f0f0f0;overflow:auto}.docs-list ul{margin:0;padding:1em;line-height:1em;list-style-type:none}.docs-list ul li{margin-bottom:.5em}.docs-list ul a{display:block;color:#000;text-decoration:none}.docs-list ul a:hover{color:#79bc5f}.docs-list .docs-list-title{line-height:3em;color:#93a1a1}.docs-list .docs-list-active a{color:#79bc5f}.docs-improve{font-size:.5em;font-weight:400}.docs-repl .CodeMirror{height:300px}.docs-repl nav a{color:#444;position:relative;text-decoration:none}.docs-repl nav a.active{color:#79bc5f}.docs-repl nav ul{list-style-type:none;padding:0;margin:.5em 0}.docs-repl nav ul li{border:1px solid #ccc;display:inline;padding:.5em;margin-right:.2em}.docs-repl-result{position:relative;height:50vh}.docs-repl-result .CodeMirror,.docs-repl-result iframe{height:50vh;width:100%}.docs-repl-result .CodeMirror{top:0;position:absolute;border-top:0 solid #ccc;z-index:1}.docs-repl-result iframe{position:absolute;z-index:2}.docs-repl-result a{position:absolute;top:1em;right:1em;background-color:#fff;box-shadow:0 1px 5px rgba(0,0,0,.15);z-index:1001}.CodeMirror{height:default;width:100%;border:1px solid #ccc}@media (min-width:568px){.docs-content,.docs-list{height:100vh;float:left;text-align:inherit}.docs-list{clear:none;width:22.75%;margin-left:0;margin-right:3%}.docs-list ul{display:block}.docs-content:after,.docs-content:before,.docs-list:after,.docs-list:before{content:'';display:table}.docs-list:after{clear:both}.docs-list:last-child{margin-right:0}.docs-content{overflow:auto;padding:0;margin:0 3% 0 0;clear:none;width:74.25%}.docs-content:after{clear:both}.docs-content:last-child{margin-right:0}}.exercise-lesson:after,.exercise-lesson:before,.exercise-main:after,.exercise-main:before{content:'';display:table}@media (min-width:768px){.gsc-control-cse{padding:.1em 0 .5em 1em!important;width:16em!important;float:right}}body{height:100vh;overflow:hidden}.exercise-contrib{position:fixed;top:0;right:20px;width:100px;text-align:center;font-weight:700;padding:10px;background-color:#5bc0de;box-shadow:0 1px 10px #888;z-index:90000}.exercise-contrib a{color:#fff;text-decoration:none}.exercise-lesson{float:left;clear:none;text-align:inherit;width:50%;margin-left:0;margin-right:0;height:calc(100vh - 40px)}.exercise-lesson:after,.exercise-lesson:nth-child(2n+1){clear:both}.exercise-lesson:nth-child(2n){margin-right:0;float:right}.exercise-lesson-bar{height:40px;border-bottom:1px solid rgba(0,0,0,.15)}.exercise-lesson-bar .line{padding:10px 30px}.exercise-lesson-inner{height:calc(100vh - 80px);overflow:auto}.exercise-lesson-inner .exercise-lesson-article{max-width:85%;margin:0 auto}.exercise-lesson-inner .exercise-lesson-instruction{margin-bottom:25px;background-color:#f0faff;border-top:1px solid #c5dfea;border-bottom:1px solid #c5dfea}.exercise-lesson-inner .exercise-lesson-instruction .exercise-lesson-label{margin:0 auto;text-align:center}.exercise-lesson-inner .exercise-lesson-instruction .exercise-lesson-label span{border:1px solid #c5dfea;padding:.5em;background-color:#fff}.exercise-lesson-inner .exercise-lesson-instruction li{padding-top:1em}.exercise-lesson-inner .exercise-lesson-instruction li:first-child{padding-top:0}.exercise-main{float:left;clear:none;text-align:inherit;width:50%;margin-left:0;margin-right:0;background-color:#e0e0e0}.exercise-main:after,.exercise-main:nth-child(2n+1){clear:both}.exercise-main:nth-child(2n){margin-right:0;float:right}.exercise-main .CodeMirror,.exercise-main .editor-cover{border-width:0;height:calc(50vh - 50px)}.exercise-main .editor-cover{z-index:9001;position:absolute;width:100%;background-color:rgba(255,255,255,.5)}.exercise-main .output{overflow:auto;width:100%;height:calc(50vh - 50px)}.exercise-main .output iframe{width:100%;height:100%}.exercise-main .exercise-fail-msg{pointer-events:none;position:fixed;right:0;z-index:10;margin:1em;padding:1em;color:#fff;width:200px;background-color:rgba(255,0,0,.5);box-shadow:0 1px 3px #888;top:0;opacity:0;transition:opacity .5s ease-in-out,top .5s ease-out}.exercise-main .exercise-fail-msg.show{top:40px;opacity:1}.exercise-main .exercise-fail-msg .message{float:left}.exercise-main .exercise-fail-msg .message .warning{font-weight:900}.exercise-main .exercise-fail-msg .message span.hint{font-weight:400}.exercise-main .exercise-action-bar{position:relative;height:60px}.exercise-main .exercise-action-bar .exercise-action-bar-inner{height:60px;padding:20px 10px}.exercise-main .exercise-action-bar .exercise-action-bar-inner.winner-bar{position:absolute;width:100%;background-color:#5bc0de;color:#fff;opacity:0;top:60px;transition:opacity .25s,ease-in-out,top .5s ease-out}.exercise-main .exercise-action-bar .exercise-action-bar-inner.winner-bar span{font-weight:600}.exercise-main .exercise-action-bar .exercise-action-bar-inner.show{top:0;opacity:1}.exercise-action-next,.exercise-action-run{margin:5px;color:#fff;background-color:#5cb85c}.exercise-action-next:hover,.exercise-action-run:hover{background-color:#79bc5f}.exercise-action-next.disabled,.exercise-action-run.disabled{background-color:#c7e6c7}.exercise-action-reset{margin:5px;color:#fff;background-color:#a8afb2}.exercise-action-reset:hover{background-color:#c2c7c9}.exercise-action-reset.disabled{background-color:#dee1e2}@media (min-width:568px){.exercise-lesson,.exercise-main{text-align:inherit;width:50%;margin-left:0;margin-right:0}.exercise-lesson:after,.exercise-lesson:before,.exercise-main:after,.exercise-main:before{content:'';display:table}.exercise-main{float:left;clear:none}.exercise-main:after,.exercise-main:nth-child(2n+1){clear:both}.exercise-main:nth-child(2n){margin-right:0;float:right}.exercise-lesson{float:left;clear:none}.exercise-lesson:after,.exercise-lesson:nth-child(2n+1){clear:both}.exercise-lesson:nth-child(2n){margin-right:0;float:right}}@media (min-width:768px){.exercise-lesson,.exercise-main{text-align:inherit;margin-left:0;margin-right:0}.exercise-lesson:after,.exercise-lesson:before,.exercise-main:after,.exercise-main:before{content:'';display:table}.exercise-main{float:left;clear:none;width:66.66666666666666%}.exercise-main:after,.exercise-main:nth-child(3n+1){clear:both}.exercise-main:nth-child(3n){margin-right:0;float:right}.exercise-lesson{float:left;clear:none;width:33.33333333333333%}.exercise-lesson:after,.exercise-lesson:nth-child(3n+1){clear:both}.exercise-lesson:nth-child(3n){margin-right:0;float:right}}@media (min-width:1024px){.exercise-lesson,.exercise-main{text-align:inherit;margin-left:0;margin-right:0}.exercise-lesson:after,.exercise-lesson:before,.exercise-main:after,.exercise-main:before{content:'';display:table}.exercise-main{float:left;clear:none;width:75%}.exercise-main:after,.exercise-main:nth-child(4n+1){clear:both}.exercise-main:nth-child(4n){margin-right:0;float:right}.exercise-lesson{float:left;clear:none;width:25%}.exercise-lesson:after,.exercise-lesson:nth-child(4n+1){clear:both}.exercise-lesson:nth-child(4n){margin-right:0;float:right}}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9jb2RlbWlycm9yL2xpYi9jb2RlbWlycm9yLmNzcyIsIm5vZGVfbW9kdWxlcy9jb2RlbWlycm9yL3RoZW1lL2Jhc2UxNi1saWdodC5jc3MiLCJtaXhpbnMvbWF0ZXJpYWwuc3R5bCIsInRlbXBsYXRlcy9iYXNlLnN0eWwiLCJ0ZW1wbGF0ZXMvYnV0dG9uLnN0eWwiLCJ0ZW1wbGF0ZXMvZnJvbnQuc3R5bCIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9qZWV0L3N0eWx1cy9qZWV0L19ncmlkLnN0eWwiLCJ0ZW1wbGF0ZXMvZG9jcy5zdHlsIiwidGVtcGxhdGVzL2V4ZXJjaXNlLnN0eWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsWUFFRSxZQUEyRixVQUUzRixNQUFPLEtBQ1AsVUFBVyxJQUtiLGtCQUNFLFFBQVMsSUFBSSxFQUVmLGdDQUNBLHFDQUNFLFFBQVMsRUFBRSxJQUdpQiwwQkFBOUIsNkJBQ0UsaUJBQWtCLEtBS3BCLG9CQUNFLGFBQWMsSUFBSSxNQUFNLEtBQ3hCLGlCQUFrQixRQUNsQixZQUFhLE9BR2YsdUJBQ0UsUUFBUyxFQUFFLElBQUksRUFBRSxJQUNqQixVQUFXLEtBQ1gsV0FBWSxNQUNaLE1BQU8sS0FDUCxZQUFhLE9BR2YseUJBQTJCLE1BQU8sS0FDbEMsZ0NBQWtDLE1BQU8sS0FJekMsbUJBQ0UsWUFBYSxJQUFJLE1BQU0sS0FDdkIsYUFBYyxLQUNkLE1BQU8sRUFHVCwyQ0FDRSxZQUFhLElBQUksTUFBTSxPQUV6QixrQ0FDRSxNQUFPLEtBQ1AsT0FBUSxZQUNSLFdBQVksS0FFZCxzQ0FDRSxRQUFTLEVBRVgsb0JBQ0UsaUJBQWtCLG1CQUNsQixrQkFBbUIsTUFBTSxNQUFNLFNBQVMsU0FDeEMsZUFBZ0IsTUFBTSxNQUFNLFNBQVMsU0FDckMsVUFBVyxNQUFNLE1BQU0sU0FBUyxTQUVsQyx1QkFDRSxNQUFPLEtBQ1AsT0FBUSxFQUNSLGtCQUFtQixNQUFNLE1BQU0sU0FBUyxTQUN4QyxlQUFnQixNQUFN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QUEsUUFFWSxZQUFBLEVBWWEsYUFBQSxFQXFQekIsdUJBQUEsd0JBQUEscUJBQUEsc0JBQ0UsUUFBQSxHQUNBLFFBQUEsTUV2SUYsZUZoSUEsTUFBQSxLQUNBLE1BQUEsS0FFQSxNQUFBLG1CQXNRQSxxQkF2UEUsK0JBQ0UsTUFBQSxLQUpGLDZCQUN1QixhQUFBLEVBQ3JCLE1BQUEsTUVpSEosaUJGbElBLE1BQUEsS0FDQSxNQUFBLEtBRUEsTUFBQSxtQkFzUUEsdUJBdlBFLGlDQUNFLE1BQUEsS0FKRiwrQkFDdUIsYUFBQSxFQUNyQixNQUFBLE9Fb0htQiwwQkFHdkIsaUJBRkEsZUZwSUEsV0FBQSxRQUVZLFlBQUEsRUFZYSxhQUFBLEVBcVB6Qix1QkFBQSx3QkFBQSxxQkFBQSxzQkFDRSxRQUFBLEdBQ0EsUUFBQSxNRWpJRixlRnRJQSxNQUFBLEtBQ0EsTUFBQSxLQUVBLE1BQUEsSUFzUUEscUJBdlBFLCtCQUNFLE1BQUEsS0FKRiw2QkFDdUIsYUFBQSxFQUNyQixNQUFBLE1FdUhKLGlCRnhJQSxNQUFBLEtBQ0EsTUFBQSxLQUVBLE1BQUEsSUFzUUEsdUJBdlBFLGlDQUNFLE1BQUEsS0FKRiwrQkFDdUIsYUFBQSxFQUNyQixNQUFBIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOltudWxsLG51bGwsIi5jYXJkLXNoYWRvd1xuICBib3gtc2hhZG93IDAgMXB4IDJweCAjYWFhXG4ubWF0ZXJpYWwtc2hhZG93XG4gIGJveC1zaGFkb3cgMCA1cHggMTBweCAjMDAwXG4iLCJAcmVxdWlyZSBcImplZXRcIlxuXG5odG1sXG4gIHBvc2l0aW9uIHJlbGF0aXZlXG4gIG1pbi1oZWlnaHQgMTAwJVxuICBcbmJvZHlcbiAgcGFkZGluZyAwcHhcbiAgbWFyZ2luOiAwIDAgMCAwZW1cbiAgZm9udC1mYW1pbHk6IFJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLFJvYm90byxBcmlhbCxzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodCAzMDBcbiAgZm9udC1zaXplIDE1cHhcbiAgYmFja2dyb3VuZC1jb2xvciBiZ19jb2xvclxuXG5oNFxuICBmb250LXNpemUgMS4yZW1cblxuaGVhZGVyXG4gIHBhZGRpbmctdG9wIDFlbSBcbiAgcGFkZGluZy1ib3R0b20gMWVtXG4gIGJhY2tncm91bmQtY29sb3IgYmdfYWNjZW50XG4gIGFcbiAgICB0ZXh0LWRlY29yYXRpb24gbm9uZVxuXG4uaGVhZGVyLXRpdGxlXG4gIGZvbnQtc2l6ZSAyLjVlbVxuICB0ZXh0LWFsaWduIGNlbnRlclxuICBjb2xvciB3aGl0ZVxuXG4ubWVudS1iYXJcbiAgaGVpZ2h0IDQwcHhcbiAgYmFja2dyb3VuZC1jb2xvciBiZ19hY2NlbnRcbiAgaDFcbiAgICBwYWRkaW5nLXRvcCAycHhcbiAgICBtYXJnaW4gYXV0byBhdXRvXG4gICAgdGV4dC1hbGlnbiBjZW50ZXJcbiAgYVxuICAgIGNvbG9yIHdoaXRlXG4gICAgdGV4dC1kZWNvcmF0aW9uIG5vbmVcblxuZm9vdGVyXG4gIGxlZnQgMFxuICBib3R0b20gMFxuICBoZWlnaHQgNGVtXG4gIHdpZHRoIDEwMCVcbiAgY29sb3IgIzkzYTFhMVxuICB0ZXh0LWFsaWduIGNlbnRlclxuICBsaW5lLWhlaWdodCAxMDAlXG4gIHBcbiAgICBtYXJnaW4tYm90dG9tIDAuNWVtXG4gIC5sYW5ndWFnZS1zd2l0Y2hcbiAgICBkaXNwbGF5IGJsb2NrXG4gIFxucFxuICBsaW5lLWhlaWdodCAxLjVlbVxuXG5jb2RlXG4gIGNvbG9yICNBNDQyNDdcblxuLmNvbnRhaW5lclxuICBtYXgtd2lkdGggNzUwcHhcbiAgbWFyZ2luLXJpZ2h0IGF1dG9cbiAgbWFyZ2luLWxlZnQgYXV0b1xuICBwYWRkaW5nIDBweCAxNXB4IDBweCAxNXB4XG5cbkBtZWRpYSAobWluLXdpZHRoIHNtX3NpemUpXG4gIC5oZWFkZXItdGl0bGVcbiAgICBmb250LXNpemUgMWVtXG5AbWVkaWEgKG1pbi13aWR0aCBtZF9zaXplKVxuICAuaGVhZGVyLXRpdGxlXG4gICAgZm9udC1zaXplIDEuNWVtXG5AbWVkaWEgKG1pbi13aWR0aCBsZ19zaXplKVxuICAuaGVhZGVyLXRpdGxlXG4gICAgZm9udC1zaXplIDJlbVxuIiwiLmJ1dHRvblxuICBjb2xvciBncmF5XG4gIGJhY2tncm91bmQtY29sb3IgcmdiYSgwLDAsMCwwLjA1KVxuICBib3JkZXItcmFkaXVzIDNweFxuICBwYWRkaW5nIDEwcHhcbiAgbWFyZ2luIDBweFxuICB0ZXh0LWRlY29yYXRpb24gbm9uZVxuICAmOmhvdmVyXG4gICAgY29sb3Igd2hpdGVcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIHJnYmEoMCwwLDAsMC4yNSlcbiAgJi5kaXNhYmxlZFxuICAgIHBvaW50ZXItZXZlbnRzIG5vbmVcbiAgICBjdXJzb3IgZGVmYXVsdFxuXG4uZ2l0aHViLXN0YXJcbiAgbWFyZ2luLWxlZnQgMTBweFxuICBtYXJnaW4tcmlnaHQgMTBweFxuIiwiLmZyb250XG4gIGZvbnQtc2l6ZSAxM3B4XG4gIGxpbmUtaGVpZ2h0IDNlbVxuICAubGlua3NcbiAgICBjZigpXG4gICAgYm9yZGVyIDFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMDUpXG4gICAgLmxpbmstY29udGFpbmVyXG4gICAgICBzcGFuKDEvMSlcbiAgICAgIGEubWFpbi1tb2R1bGVcbiAgICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgICB0ZXh0LWFsaWduIGNlbnRlclxuICAgICAgICBmb250LXNpemUgMS41ZW1cbiAgICAgICAgZm9udC13ZWlnaHQgYm9sZFxuICAgICAgICBjb2xvciB3aGl0ZVxuICAgICAgICBib3JkZXItcmFkaXVzIDBweFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIGJnX2FjY2VudFxuICAgICAgICAmOmhvdmVyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvciB0ZXh0X2FjY2VudFxuICAgICAgLm1vZHVsZS1jb250YWluZXJcbiAgICAgICAgY29sb3IgYmxhY2tcbiAgICAgICAgJj5zcGFuXG4gICAgICAgICAgbGluZS1oZWlnaHQgMS41ZW1cbiAgICAgICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICAgICAgcGFkZGluZy10b3AgMWVtXG4gICAgICAgICAgcGFkZGluZy1sZWZ0IDFlbVxuICAgICAgICAgIGZvbnQtc2l6ZSAxLjJlbVxuICAgICAgICAgIGZvbnQtd2VpZ2h0IGJvbGRcbiAgICAgICAgICBjb2xvciB0ZXh0X2NvbG9yXG4gICAgICAgIGxpXG4gICAgICAgICAgbGluZS1oZWlnaHQgMmVtXG4gICAgICAgICAgc3BhblxuICAgICAgICAgICAgbWFyZ2luLWxlZnQgMTBweFxuICAgICAgICAgICAgcGFkZGluZyAxcHhcbiAgICAgICAgICAgIGNvbG9yIHdoaXRlXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIG9yYW5nZSBcbiAgLmdpdGh1Yi1jb250cmliXG4gICAgcGFkZGluZyAxZW1cbiAgICB0ZXh0LWFsaWduIGNlbnRlclxuICAgIGRpdlxuICAgICAgbWFyZ2luIDAgYXV0b1xuXG5AbWVkaWEgKG1pbi13aWR0aCBtZF9zaXplKVxuICAuZnJvbnRcbiAgICAubGlua3NcbiAgICAgIC5saW5rLWNvbnRhaW5lclxuICAgICAgICBzcGFuKDEvMikiLCIvKipcbiAqIFN0eWxlIGFuIGVsZW1lbnQgYXMgYSBjb2x1bW4gd2l0aCBhIGd1dHRlci5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbcmF0aW9zPTFdIC0gQSB3aWR0aCByZWxhdGl2ZSB0byBpdHMgY29udGFpbmVyIGFzIGEgZnJhY3Rpb24uXG4gKiBAcGFyYW0ge251bWJlcn0gW29mZnNldD0wXSAtIEEgb2Zmc2V0IHNwZWNpZmllZCBhcyBhIGZyYWN0aW9uIChzZWUgcmF0aW9zKS5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbY3ljbGU9MF0gLSBFYXNpbHkgY3JlYXRlIGFuIG50aCBjb2x1bW4gZ3JpZCB3aGVyZSBjeWNsZSBlcXVhbHMgdGhlIG51bWJlciBvZiBjb2x1bW5zLlxuICogQHBhcmFtIHtudW1iZXJ9IFt1bmN5Y2xlPTBdIC0gVW5kbyBhIHByZXZpb3VzIGN5Y2xlIHZhbHVlIHRvIGFsbG93IGZvciBhIG5ldyBvbmUuXG4gKiBAcGFyYW0ge251bWJlcn0gW2d1dHRlcj1qZWV0Lmd1dHRlcl0gLSBTcGVjaWZ5IHRoZSBndXR0ZXIgd2lkdGggYXMgYSBwZXJjZW50YWdlIG9mIHRoZSBjb250YWluZXJzIHdpZHRoLlxuICovXG5jb2x1bW4ocmF0aW9zID0gMSwgb2Zmc2V0ID0gMCwgY3ljbGUgPSAwLCB1bmN5Y2xlID0gMCwgZ3V0dGVyID0gamVldC5ndXR0ZXIpXG4gIHNpZGUgPSBqZWV0LWdldC1sYXlvdXQtZGlyZWN0aW9uKClcbiAgb3Bwb3NpdGUtc2lkZSA9IG9wcG9zaXRlLXBvc2l0aW9uKHNpZGUpXG4gIGNvbHVtbi13aWR0aHMgPSBqZWV0LWdldC1jb2x1bW4ocmF0aW9zLCBndXR0ZXIpXG4gIG1hcmdpbi1sYXN0ID0gMFxuICBtYXJnaW4tbCA9IG1hcmdpbi1sYXN0XG4gIG1hcmdpbi1yID0gY29sdW1uLXdpZHRoc1sxXVxuXG4gIHVubGVzcyBvZmZzZXQgPT0gMFxuICAgIGlmIG9mZnNldCA8IDBcbiAgICAgIG9mZnNldCAqPSAtMVxuICAgICAgb2Zmc2V0ID0gamVldC1nZXQtY29sdW1uKG9mZnNldCwgY29sdW1uLXdpZHRoc1sxXSlbMF1cbiAgICAgIG1hcmdpbi1yID0gbWFyZ2luLWxhc3QgPSBvZmZzZXQgKyBjb2x1bW4td2lkdGhzWzFdICogMlxuICAgIGVsc2VcbiAgICAgIG9mZnNldCA9IGplZXQtZ2V0LWNvbHVtbihvZmZzZXQsIGNvbHVtbi13aWR0aHNbMV0pWzBdXG4gICAgICBtYXJnaW4tbCA9IG9mZnNldCArIGNvbHVtbi13aWR0aHNbMV1cblxuICBjZigpXG4gIGZsb2F0OiBzaWRlXG4gIGNsZWFyOiBub25lXG4gIHRleHQtYWxpZ246IGluaGVyaXRcbiAgd2lkdGg6IChjb2x1bW4td2lkdGhzWzBdKSVcbiAgbWFyZ2luLXtzaWRlfTogKG1hcmdpbi1sKSVcbiAgbWFyZ2luLXtvcHBvc2l0ZS1zaWRlfTogKG1hcmdpbi1yKSVcblxuICBpZiB1bmN5Y2xlICE9IDBcbiAgICAmOm50aC1jaGlsZCh7dW5jeWNsZX1uKVxuICAgICAgbWFyZ2luLXtvcHBvc2l0ZS1zaWRlfTogKG1hcmdpbi1yKSVcbiAgICAgIGZsb2F0OiBzaWRlXG4gICAgJjpudGgtY2hpbGQoe3VuY3ljbGV9bisxKVxuICAgICAgY2xlYXI6IG5vbmVcblxuICBpZiBjeWNsZSAhPSAwXG4gICAgJjpudGgtY2hpbGQoe2N5Y2xlfW4pXG4gICAgICBtYXJnaW4te29wcG9zaXRlLXNpZGV9OiAobWFyZ2luLWxhc3QpJVxuICAgICAgZmxvYXQ6IG9wcG9zaXRlLXNpZGVcbiAgICAmOm50aC1jaGlsZCh7Y3ljbGV9bisxKVxuICAgICAgY2xlYXI6IGJvdGhcbiAgIGVsc2VcbiAgICAmOmxhc3QtY2hpbGRcbiAgICAgIG1hcmdpbi17b3Bwb3NpdGUtc2lkZX06IChtYXJnaW4tbGFzdCklXG5cbi8qKlxuICogQW4gYWxpYXMgZm9yIHRoZSBjb2x1bW4gbWl4aW4uXG4gKi9cbmNvbCA9IGNvbHVtblxuXG4vKipcbiAqIEdldCB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYW5kIG5vdGhpbmcgZWxzZS5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbcmF0aW9zPTFdIC0gQSB3aWR0aCByZWxhdGl2ZSB0byBpdHMgY29udGFpbmVyIGFzIGEgZnJhY3Rpb24uXG4gKiBAcGFyYW0ge251bWJlcn0gW2c9amVldC5ndXR0ZXJdIC0gU3BlY2lmeSB0aGUgZ3V0dGVyIHdpZHRoIGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgY29udGFpbmVycyB3aWR0aC5cbiAqL1xuY29sdW1uLXdpZHRoKHJhdGlvcyA9IDEsIGcgPSBqZWV0Lmd1dHRlcilcbiAgcmF0aW9zID0gamVldC1yZXZlcnNlKHJhdGlvcykgdW5sZXNzIGplZXQucGFyZW50LWZpcnN0IGlzIHRydWVcbiAgdyA9IDEwMFxuXG4gIGZvciByYXRpbyBpbiByYXRpb3NcbiAgICB3ID0gMTAwICogcmF0aW8gLSBnICsgcmF0aW8gKiBnXG5cbiAgcmV0dXJuIHcgKyAnJSdcblxuLyoqXG4gKiBBbiBhbGlhcyBmb3IgdGhlIGNvbHVtbi13aWR0aCBmdW5jdGlvbi5cbiAqL1xuY3cgPSBjb2x1bW4td2lkdGhcblxuLyoqXG4gKiBHZXQgdGhlIGd1dHRlciBzaXplIG9mIGEgY29sdW1uIGFuZCBub3RoaW5nIGVsc2UuXG4gKiBAcGFyYW0ge251bWJlcn0gW3JhdGlvcz0xXSAtIEEgd2lkdGggcmVsYXRpdmUgdG8gaXRzIGNvbnRhaW5lciBhcyBhIGZyYWN0aW9uLlxuICogQHBhcmFtIHtudW1iZXJ9IFtnPWplZXQuZ3V0dGVyXSAtIFNwZWNpZnkgdGhlIGd1dHRlciB3aWR0aCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIGNvbnRhaW5lcnMgd2lkdGguXG4gKi9cbmNvbHVtbi1ndXR0ZXIocmF0aW9zID0gMSwgZyA9IGplZXQuZ3V0dGVyKVxuICByYXRpb3MgPSBqZWV0LXJldmVyc2UocmF0aW9zKSB1bmxlc3MgamVldC5wYXJlbnQtZmlyc3QgaXMgdHJ1ZVxuICB3ID0gMTAwXG5cbiAgZm9yIHJhdGlvIGluIHJhdGlvc1xuICAgIGcgPSBnIC8gdyAqIDEwMFxuXG4gIHJldHVybiBnICsgJyUnXG5cbi8qKlxuICogQW4gYWxpYXMgZm9yIHRoZSBjb2x1bW4tZ3V0dGVyIGZ1bmN0aW9uLlxuICovXG5jZyA9IGNvbHVtbi1ndXR0ZXJcblxuLyoqXG4gKiBTdHlsZSBhbiBlbGVtZW50IGFzIGEgY29sdW1uIHdpdGhvdXQgYW55IGd1dHRlcnMgZm9yIGEgc2VhbWxlc3Mgcm93LlxuICogQHBhcmFtIHtudW1iZXJ9IFtyYXRpb3M9MV0gLSBBIHdpZHRoIHJlbGF0aXZlIHRvIGl0cyBjb250YWluZXIgYXMgYSBmcmFjdGlvbi5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbb2Zmc2V0PTBdIC0gQSBvZmZzZXQgc3BlY2lmaWVkIGFzIGEgZnJhY3Rpb24gKHNlZSByYXRpb3MpLlxuICogQHBhcmFtIHtudW1iZXJ9IFtjeWNsZT0wXSAtIEVhc2lseSBjcmVhdGUgYW4gbnRoIGNvbHVtbiBncmlkIHdoZXJlIGN5Y2xlIGVxdWFscyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMuXG4gKiBAcGFyYW0ge251bWJlcn0gW3VuY3ljbGU9MF0gLSBVbmRvIGEgcHJldmlvdXMgY3ljbGUgdmFsdWUgdG8gYWxsb3cgZm9yIGEgbmV3IG9uZS5cbiAqL1xuc3BhbihyYXRpbyA9IDEsIG9mZnNldCA9IDAsIGN5Y2xlID0gMCwgdW5jeWNsZSA9IDApXG4gIHNpZGUgPSBqZWV0LWdldC1sYXlvdXQtZGlyZWN0aW9uKClcbiAgb3Bwb3NpdGUtc2lkZSA9IG9wcG9zaXRlLXBvc2l0aW9uKHNpZGUpXG4gIHNwYW4td2lkdGggPSBqZWV0LWdldC1zcGFuKHJhdGlvKVxuICBtYXJnaW4tciA9IDBcbiAgbWFyZ2luLWwgPSBtYXJnaW4tclxuXG4gIHVubGVzcyBvZmZzZXQgPT0gMFxuICAgIGlmIG9mZnNldCA8IDBcbiAgICAgIG9mZnNldCAqPSAtMVxuICAgICAgbWFyZ2luLXIgPSBqZWV0LWdldC1zcGFuKG9mZnNldClcbiAgICBlbHNlXG4gICAgICBtYXJnaW4tbCA9IGplZXQtZ2V0LXNwYW4ob2Zmc2V0KVxuXG4gIGNmKClcbiAgZmxvYXQ6IHNpZGVcbiAgY2xlYXI6IG5vbmVcbiAgdGV4dC1hbGlnbjogaW5oZXJpdFxuICB3aWR0aDogKHNwYW4td2lkdGgpJVxuICBtYXJnaW4te3NpZGV9OiAobWFyZ2luLWwpJVxuICBtYXJnaW4te29wcG9zaXRlLXNpZGV9OiAobWFyZ2luLXIpJVxuXG4gIGlmIGN5Y2xlICE9IDBcbiAgICAmOm50aC1jaGlsZCh7Y3ljbGV9bilcbiAgICAgIGZsb2F0OiBvcHBvc2l0ZS1zaWRlXG4gICAgJjpudGgtY2hpbGQoe2N5Y2xlfW4gKyAxKVxuICAgICAgY2xlYXI6IGJvdGhcblxuICBpZiB1bmN5Y2xlICE9IDBcbiAgICAmOm50aC1jaGlsZCh7dW5jeWNsZX1uKVxuICAgICAgZmxvYXQ6IHNpZGVcbiAgICAmOm50aC1jaGlsZCh7dW5jeWNsZX1uICsgMSlcbiAgICAgIGNsZWFyOiBub25lXG5cbi8qKlxuICogUmVvcmRlciBjb2x1bW5zIHdpdGhvdXQgYWx0ZXJpbmcgdGhlIEhUTUwuXG4gKiBAcGFyYW0ge251bWJlcn0gW3JhdGlvcz0wXSAtIFNwZWNpZnkgaG93IGZhciBhbG9uZyB5b3Ugd2FudCB0aGUgZWxlbWVudCB0byBtb3ZlLlxuICogQHBhcmFtIHtzdHJpbmd9IFtjb2wtb3Itc3Bhbj1jb2x1bW5dIC0gU3BlY2lmeSB3aGV0aGVyIHRoZSBlbGVtZW50IGhhcyBhIGd1dHRlciBvciBub3QuXG4gKiBAcGFyYW0ge251bWJlcn0gW2d1dHRlcj1qZWV0Lmd1dHRlcl0gLSBTcGVjaWZ5IHRoZSBndXR0ZXIgd2lkdGggYXMgYSBwZXJjZW50YWdlIG9mIHRoZSBjb250YWluZXJzIHdpZHRoLlxuICovXG5zaGlmdChyYXRpb3MgPSAwLCBjb2wtb3Itc3BhbiA9IGNvbHVtbiwgZ3V0dGVyID0gamVldC5ndXR0ZXIpXG4gIHRyYW5zbGF0ZSA9ICcnXG4gIHNpZGUgPSBqZWV0LWdldC1sYXlvdXQtZGlyZWN0aW9uKClcblxuICBpZiBzaWRlID09IHJpZ2h0XG4gICAgcmF0aW9zID0gamVldC1yZXBsYWNlLW50aChyYXRpb3MsIDAsIHJhdGlvc1swXSAqIC0xKVxuXG4gIGlmIGNvbC1vci1zcGFuID09IGNvbHVtbiBvciBjb2wtb3Itc3BhbiA9PSBjb2wgb3IgY29sLW9yLXNwYW4gPT0gY1xuICAgIGNvbHVtbi13aWR0aHMgPSBqZWV0LWdldC1jb2x1bW4ocmF0aW9zLCBndXR0ZXIpXG4gICAgdHJhbnNsYXRlID0gY29sdW1uLXdpZHRoc1swXSArIGNvbHVtbi13aWR0aHNbMV1cbiAgZWxzZVxuICAgIHRyYW5zbGF0ZSA9IGplZXQtZ2V0LXNwYW4ocmF0aW9zKVxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZVxuICBsZWZ0OiAodHJhbnNsYXRlKSVcblxuLyoqXG4gKiBSZXNldCBhbiBlbGVtZW50IHRoYXQgaGFzIGhhZCBzaGlmdCgpIGFwcGxpZWQgdG8gaXQuXG4gKi9cbnVuc2hpZnQoKVxuICBwb3NpdGlvbjogc3RhdGljXG4gIGxlZnQ6IDBcblxuLyoqXG4gKiBWaWV3IHRoZSBncmlkIGFuZCBpdHMgbGF5ZXJzIGZvciBlYXN5IGRlYnVnZ2luZy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBbY29sb3I9YmxhY2tdIC0gVGhlIGJhY2tncm91bmQgdGludCBhcHBsaWVkLlxuICogQHBhcmFtIHtib29sZWFufSBbaW1wb3J0YW50PWZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIHN0eWxlIGFzICFpbXBvcnRhbnQuXG4gKi9cbmVkaXQoY29sb3IgPSBibGFjaywgaW1wb3J0YW50ID0gZmFsc2UpXG4gIGlmIGltcG9ydGFudFxuICAgICpcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoY29sb3IsIDUlKSAhaW1wb3J0YW50XG4gIGVsc2VcbiAgICAqXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKGNvbG9yLCA1JSlcblxuLyoqXG4gKiAgQWxpYXMgZm9yIGVkaXQoKS5cbiAqL1xuZGVidWcgPSBlZGl0XG5cbi8qKlxuICogSG9yaXpvbnRhbGx5IGNlbnRlciBhbiBlbGVtZW50LlxuICogQHBhcmFtIHtudW1iZXJ9IFttYXgtd2lkdGg9amVldC5tYXgtd2lkdGhdIC0gVGhlIG1heCB3aWR0aCB0aGUgZWxlbWVudCBjYW4gYmUuXG4gKiBAcGFyYW0ge251bWJlcn0gW3BhZD0wXSAtIFNwZWNpZnkgdGhlIGVsZW1lbnQncyBsZWZ0IGFuZCByaWdodCBwYWRkaW5nLlxuICovXG5jZW50ZXIobWF4LXdpZHRoID0gamVldC5tYXgtd2lkdGgsIHBhZCA9IDApXG4gIGNmKClcbiAgd2lkdGg6IGF1dG9cbiAgbWF4LXdpZHRoOiBtYXgtd2lkdGhcbiAgZmxvYXQ6IG5vbmVcbiAgZGlzcGxheTogdW5xdW90ZSgnYmxvY2snKVxuICBtYXJnaW4tcmlnaHQ6IGF1dG9cbiAgbWFyZ2luLWxlZnQ6IGF1dG9cbiAgcGFkZGluZy1sZWZ0OiBwYWRcbiAgcGFkZGluZy1yaWdodDogcGFkXG5cbi8qKlxuICogVW5jZW50ZXIgYW4gZWxlbWVudC5cbiAqL1xudW5jZW50ZXIoKVxuICBtYXgtd2lkdGg6IG5vbmVcbiAgbWFyZ2luLXJpZ2h0OiAwXG4gIG1hcmdpbi1sZWZ0OiAwXG4gIHBhZGRpbmctbGVmdDogMFxuICBwYWRkaW5nLXJpZ2h0OiAwXG5cbi8qKlxuICogU3RhY2sgYW4gZWxlbWVudCBzbyB0aGF0IG5vdGhpbmcgaXMgZWl0aGVyIHNpZGUgb2YgaXQuXG4gKiBAcGFyYW0ge251bWJlcn0gW3BhZD0wXSAtIFNwZWNpZnkgdGhlIGVsZW1lbnQncyBsZWZ0IGFuZCByaWdodCBwYWRkaW5nLlxuICogQHBhcmFtIHtib2xsZWFuL3N0cmluZ30gW2FsaWduPWZhbHNlXSAtIFNwZWNpZnkgdGhlIHRleHQgYWxpZ24gZm9yIHRoZSBlbGVtZW50LlxuICovXG5zdGFjayhwYWQgPSAwLCBhbGlnbiA9IGZhbHNlKVxuICBzaWRlID0gamVldC1nZXQtbGF5b3V0LWRpcmVjdGlvbigpXG4gIG9wcG9zaXRlLXNpZGUgPSBvcHBvc2l0ZS1wb3NpdGlvbihzaWRlKVxuXG4gIGRpc3BsYXk6IHVucXVvdGUoJ2Jsb2NrJylcbiAgY2xlYXI6IGJvdGhcbiAgZmxvYXQ6IG5vbmVcbiAgd2lkdGg6IDEwMCVcbiAgbWFyZ2luLWxlZnQ6IGF1dG9cbiAgbWFyZ2luLXJpZ2h0OiBhdXRvXG5cbiAgJjpmaXJzdC1jaGlsZFxuICAgIG1hcmdpbi17c2lkZX06IGF1dG9cblxuICAmOmxhc3QtY2hpbGRcbiAgICBtYXJnaW4te29wcG9zaXRlLXNpZGV9OiBhdXRvXG5cbiAgaWYgcGFkICE9IDBcbiAgICBwYWRkaW5nLWxlZnQ6IHBhZFxuICAgIHBhZGRpbmctcmlnaHQ6IHBhZFxuXG4gIGlmIChhbGlnbiBpcyBub3QgZmFsc2UpXG4gICAgaWYgKGFsaWduID09IGNlbnRlcikgb3IgKGFsaWduID09IGMpXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXJcbiAgICBpZiAoYWxpZ24gPT0gbGVmdCkgb3IgKGFsaWduID09IGwpXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0XG4gICAgaWYgKGFsaWduID09IHJpZ2h0KSBvciAoYWxpZ24gPT0gcilcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0XG5cbi8qKlxuICogVW5zdGFjayBhbiBlbGVtZW50LlxuICovXG51bnN0YWNrKClcbiAgc2lkZSA9IGplZXQtZ2V0LWxheW91dC1kaXJlY3Rpb24oKVxuICBvcHBvc2l0ZS1zaWRlID0gb3Bwb3NpdGUtcG9zaXRpb24oc2lkZSlcblxuICB0ZXh0LWFsaWduOiBzaWRlXG4gIGRpc3BsYXk6IGlubGluZVxuICBjbGVhcjogbm9uZVxuICB3aWR0aDogYXV0b1xuICBtYXJnaW4tbGVmdDogMFxuICBtYXJnaW4tcmlnaHQ6IDBcblxuICAmOmZpcnN0LWNoaWxkXG4gICAgbWFyZ2luLXtzaWRlfTogMFxuXG4gICY6bGFzdC1jaGlsZFxuICAgIG1hcmdpbi17b3Bwb3NpdGUtc2lkZX06IDBcblxuLyoqXG4gKiBDZW50ZXIgYW4gZWxlbWVudCBvbiBlaXRoZXIgb3IgYm90aCBheGVzLlxuICogQHJlcXVpcmVzIEEgcGFyZW50IGNvbnRhaW5lciB3aXRoIHJlbGF0aXZlIHBvc2l0aW9uaW5nLlxuICogQHBhcmFtIHtzdHJpbmd9IFtkaXJlY3Rpb249Ym90aF0gLSBTcGVjaWZ5IHdoaWNoIGF4ZXMgdG8gY2VudGVyIHRoZSBlbGVtZW50IG9uLlxuICovXG5hbGlnbihkaXJlY3Rpb24gPSBib3RoKVxuICBwb3NpdGlvbjogYWJzb2x1dGVcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZFxuXG4gIGlmIChkaXJlY3Rpb24gPT0gaG9yaXpvbnRhbCkgb3IgKGRpcmVjdGlvbiA9PSBoKVxuICAgIGxlZnQ6IDUwJVxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKVxuICBlbHNlIGlmIChkaXJlY3Rpb24gPT0gdmVydGljYWwpIG9yIChkaXJlY3Rpb24gPT0gdilcbiAgICB0b3A6IDUwJVxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKVxuICBlbHNlXG4gICAgdG9wOiA1MCVcbiAgICBsZWZ0OiA1MCVcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKVxuXG4vKipcbiAqIEFwcGx5IGEgY2xlYXJmaXggdG8gYW4gZWxlbWVudC5cbiAqL1xuY2YoKVxuICAqem9vbTogMVxuXG4gICY6YmVmb3JlLCAmOmFmdGVyXG4gICAgY29udGVudDogJydcbiAgICBkaXNwbGF5OiB0YWJsZVxuXG4gICY6YWZ0ZXJcbiAgICBjbGVhcjogYm90aFxuIiwiLmRvY3Mtcm93XG4gIGNmKClcblxuLmRvY3MtbGlzdFxuICBiYWNrZ3JvdW5kLWNvbG9yICNmMGYwZjBcbiAgb3ZlcmZsb3cgYXV0b1xuICB1bCBcbiAgICBkaXNwbGF5IG5vbmVcbiAgICBtYXJnaW4gMFxuICAgIHBhZGRpbmcgMWVtXG4gICAgbGluZS1oZWlnaHQgMWVtXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGxpXG4gICAgICBtYXJnaW4tYm90dG9tIDAuNWVtXG4gICAgYVxuICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgY29sb3IgYmxhY2tcbiAgICAgIHRleHQtZGVjb3JhdGlvbiBub25lXG4gICAgICAmOmhvdmVyXG4gICAgICAgIGNvbG9yIHRleHRfYWNjZW50XG4gIC5kb2NzLWxpc3QtdGl0bGVcbiAgICBsaW5lLWhlaWdodCAzZW1cbiAgICBjb2xvciB0ZXh0X211dGVkXG4gIC5kb2NzLWxpc3QtYWN0aXZlXG4gICAgYVxuICAgICAgY29sb3IgdGV4dF9hY2NlbnRcblxuLmRvY3MtaW1wcm92ZVxuICBmb250LXNpemUgMC41ZW1cbiAgZm9udC13ZWlnaHQgbm9ybWFsXG5cbi5kb2NzLWNvbnRlbnRcbiAgLmNvbnRlbnRcbiAgICBAZXh0ZW5kIC5jb250YWluZXJcblxuLmRvY3Mtc2FtcGxlLWNvZGVcbiAgLy9zdHViXG5cbi5kb2NzLXJlcGxcbiAgIC5Db2RlTWlycm9yXG4gICAgIGhlaWdodCAzMDBweFxuICAgbmF2XG4gICAgIGFcbiAgICAgICBjb2xvciB0ZXh0X2NvbG9yXG4gICAgICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgICAgICB0ZXh0LWRlY29yYXRpb24gbm9uZVxuICAgICBhLmFjdGl2ZVxuICAgICAgIGNvbG9yIHRleHRfYWNjZW50XG4gICAgIHVsXG4gICAgICAgbGlzdC1zdHlsZS10eXBlIG5vbmUgXG4gICAgICAgcGFkZGluZyAwXG4gICAgICAgbWFyZ2luIC41ZW0gMGVtXG4gICAgICAgbGlcbiAgICAgICAgIGJvcmRlciAxcHggc29saWQgI2NjY1xuICAgICAgICAgZGlzcGxheSBpbmxpbmVcbiAgICAgICAgIHBhZGRpbmcgLjVlbVxuICAgICAgICAgbWFyZ2luLXJpZ2h0IC4yZW1cblxuLmRvY3MtcmVwbC1yZXN1bHRcbiAgcG9zaXRpb24gcmVsYXRpdmVcbiAgaGVpZ2h0IDUwdmhcbiAgaWZyYW1lLCAuQ29kZU1pcnJvclxuICAgIGhlaWdodCA1MHZoXG4gICAgd2lkdGggMTAwJVxuICAuQ29kZU1pcnJvciBcbiAgICB0b3AgMHB4XG4gICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICBib3JkZXItdG9wIDBweCBzb2xpZCAjY2NjXG4gICAgei1pbmRleCAxXG4gIGlmcmFtZVxuICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgei1pbmRleCAyXG4gIGFcbiAgICB6LWluZGV4IDNcbiAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgIHRvcCAxZW1cbiAgICByaWdodCAxZW0gXG4gICAgYmFja2dyb3VuZC1jb2xvciB3aGl0ZVxuICAgIGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsMCwwLDAuMTUpO1xuICAgIHotaW5kZXggMTAwMVxuXG4uQ29kZU1pcnJvclxuICBoZWlnaHQgZGVmYXVsdFxuICB3aWR0aCAxMDAlXG4gIGJvcmRlciAxcHggc29saWQgI2NjY1xuICBcbkBtZWRpYSAobWluLXdpZHRoIHNtX3NpemUpXG4gIC5kb2NzLWxpc3RcbiAgICBoZWlnaHQgMTAwdmhcbiAgICB1bCBcbiAgICAgIGRpc3BsYXkgYmxvY2sgXG4gICAgY29sdW1uKDEvNClcbiAgLmRvY3MtY29udGVudFxuICAgIGhlaWdodCAxMDB2aFxuICAgIG92ZXJmbG93IGF1dG9cbiAgICBwYWRkaW5nIDBweFxuICAgIG1hcmdpbiAwcHhcbiAgICBjb2x1bW4oMy80KVxuXG5AbWVkaWEgKG1pbi13aWR0aCBtZF9zaXplKVxuICAuZ3NjLWNvbnRyb2wtY3NlXG4gICAgcGFkZGluZyAwLjFlbSAwIDAuNWVtIDFlbSAhaW1wb3J0YW50XG4gICAgd2lkdGggMTZlbSAhaW1wb3J0YW50XG4gICAgZmxvYXQgcmlnaHRcbiIsIkByZXF1aXJlIFwiamVldFwiXG5leGVyY2lzZV93aWR0aCA9IDI3MHB4XG5tZW51X2Jhcl9oZWlnaHQgPSA0MHB4XG5tZW51X2Jhcl9oZWlnaHRfaGFsZiA9IDIwcHhcbmFjdGlvbl9iYXJfaGVpZ2h0X2hhbGYgPSAzMHB4XG5cbmJvZHlcbiAgaGVpZ2h0IDEwMHZoXG4gIG92ZXJmbG93IGhpZGRlblxuXG4uZXhlcmNpc2UtY29udHJpYlxuICBwb3NpdGlvbiBmaXhlZFxuICB0b3AgMFxuICByaWdodCAyMHB4XG4gIHdpZHRoIDEwMHB4XG4gIHRleHQtYWxpZ24gY2VudGVyXG4gIGZvbnQtd2VpZ2h0IGJvbGRcbiAgcGFkZGluZyAxMHB4XG4gIGJhY2tncm91bmQtY29sb3IgYmdfd2lubmVyXG4gIGJveC1zaGFkb3cgMHB4IDFweCAxMHB4ICM4ODg4ODhcbiAgei1pbmRleCA5MDAwMFxuICBhXG4gICAgY29sb3Igd2hpdGVcbiAgICB0ZXh0LWRlY29yYXRpb24gbm9uZVxuXG4uZXhlcmNpc2UtY29udGFpbmVyXG4gIC8vc3R1YlxuXG4uZXhlcmNpc2UtbGVzc29uXG4gIGNvbHVtbigxLzIsIGN5Y2xlOiAyLCBndXR0ZXI6IDApXG4gIGhlaWdodCBcImNhbGMoMTAwdmggLSAlcylcIiAlIChtZW51X2Jhcl9oZWlnaHQpXG5cbi5leGVyY2lzZS1sZXNzb24tYmFyXG4gIGhlaWdodCA0MHB4XG4gIGJvcmRlci1ib3R0b20gMXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xNSlcbiAgLmxpbmVcbiAgICBwYWRkaW5nIDEwcHggMzBweFxuXG4uZXhlcmNpc2UtbGVzc29uLWlubmVyXG4gIGhlaWdodCBcImNhbGMoMTAwdmggLSAlcylcIiAlKG1lbnVfYmFyX2hlaWdodCArIDQwcHgpXG4gIG92ZXJmbG93IGF1dG9cbiAgLmV4ZXJjaXNlLWxlc3Nvbi1hcnRpY2xlXG4gICAgbWF4LXdpZHRoIDg1JVxuICAgIG1hcmdpbiAwIGF1dG9cbiAgLmV4ZXJjaXNlLWxlc3Nvbi1pbnN0cnVjdGlvblxuICAgIG1hcmdpbi1ib3R0b20gMjVweFxuICAgIGJhY2tncm91bmQtY29sb3IgI2YwZmFmZlxuICAgIGJvcmRlci10b3AgMXB4IHNvbGlkICNjNWRmZWFcbiAgICBib3JkZXItYm90dG9tIDFweCBzb2xpZCAjYzVkZmVhXG4gICAgLmV4ZXJjaXNlLWxlc3Nvbi1sYWJlbFxuICAgICAgbWFyZ2luIDAgYXV0b1xuICAgICAgdGV4dC1hbGlnbiBjZW50ZXJcbiAgICAgIHNwYW5cbiAgICAgICAgYm9yZGVyIDFweCBzb2xpZCAjYzVkZmVhXG4gICAgICAgIHBhZGRpbmcgMC41ZW1cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciB3aGl0ZVxuICAgIGxpXG4gICAgICBwYWRkaW5nLXRvcCAxZW1cbiAgICBsaTpmaXJzdC1jaGlsZFxuICAgICAgcGFkZGluZy10b3AgMGVtXG5cbi5leGVyY2lzZS1tYWluXG4gIGNvbHVtbigxLzIsIGN5Y2xlOiAyLCBndXR0ZXI6IDApXG4gIGJhY2tncm91bmQtY29sb3IgI2UwZTBlMFxuICAuQ29kZU1pcnJvciwgLmVkaXRvci1jb3ZlclxuICAgIGJvcmRlci13aWR0aCAwcHhcbiAgICBoZWlnaHQgXCJjYWxjKDUwdmggLSAlcylcIiAlIChtZW51X2Jhcl9oZWlnaHRfaGFsZiArIGFjdGlvbl9iYXJfaGVpZ2h0X2hhbGYpXG4gIC5lZGl0b3ItY292ZXJcbiAgICB6LWluZGV4IDkwMDFcbiAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgIHdpZHRoIDEwMCVcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KVxuICAgICYuaGlkZVxuICAgICAgZGlzcGxheSBub25lXG4gIC5vdXRwdXRcbiAgICBvdmVyZmxvdyBhdXRvXG4gICAgd2lkdGggMTAwJVxuICAgIGhlaWdodCBcImNhbGMoNTB2aCAtICVzKVwiICUgKG1lbnVfYmFyX2hlaWdodF9oYWxmICsgYWN0aW9uX2Jhcl9oZWlnaHRfaGFsZilcbiAgICBpZnJhbWVcbiAgICAgIHdpZHRoIDEwMCVcbiAgICAgIGhlaWdodCAxMDAlXG4gIC5leGVyY2lzZS1mYWlsLW1zZ1xuICAgIHBvaW50ZXItZXZlbnRzIG5vbmVcbiAgICBwb3NpdGlvbiBmaXhlZFxuICAgIHJpZ2h0IDBweFxuICAgIHotaW5kZXggel9ub3RpZlxuICAgIG1hcmdpbiAxZW1cbiAgICBwYWRkaW5nIDFlbVxuICAgIGNvbG9yIHdoaXRlXG4gICAgd2lkdGggMjAwcHhcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIHJnYmEoMjU2LCAwLCAwLCAwLjUpXG4gICAgYm94LXNoYWRvdyAwcHggMXB4IDNweCAjODg4ODg4XG4gICAgdG9wIDBweFxuICAgIG9wYWNpdHkgMFxuICAgIHRyYW5zaXRpb24gb3BhY2l0eSAuNXMgZWFzZS1pbi1vdXQsIHRvcCAuNXMgZWFzZS1vdXQ7XG4gICAgJi5zaG93XG4gICAgICB0b3AgbWVudV9iYXJfaGVpZ2h0XG4gICAgICBvcGFjaXR5IDFcbiAgICAubWVzc2FnZVxuICAgICAgZmxvYXQgbGVmdFxuICAgICAgLndhcm5pbmdcbiAgICAgICAgZm9udC13ZWlnaHQgOTAwXG4gICAgICBzcGFuLmhpbnRcbiAgICAgICAgZm9udC13ZWlnaHQgNDAwXG4gIC5leGVyY2lzZS1hY3Rpb24tYmFyXG4gICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgICBoZWlnaHQgYWN0aW9uX2Jhcl9oZWlnaHRfaGFsZiAqIDJcbiAgICAuZXhlcmNpc2UtYWN0aW9uLWJhci1pbm5lclxuICAgICAgaGVpZ2h0IGFjdGlvbl9iYXJfaGVpZ2h0X2hhbGYgKiAyXG4gICAgICAmLndpbm5lci1iYXJcbiAgICAgICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICAgICAgd2lkdGggMTAwJVxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yICM1YmMwZGVcbiAgICAgICAgY29sb3Igd2hpdGVcbiAgICAgICAgb3BhY2l0eSAwXG4gICAgICAgIHRvcCBhY3Rpb25fYmFyX2hlaWdodF9oYWxmICogMlxuICAgICAgICB0cmFuc2l0aW9uIG9wYWNpdHkgLjI1cywgZWFzZS1pbi1vdXQsIHRvcCAuNXMgZWFzZS1vdXQ7XG4gICAgICAgIHNwYW5cbiAgICAgICAgICBmb250LXdlaWdodCA2MDBcbiAgICAgICAmLnNob3dcbiAgICAgICAgdG9wIDBcbiAgICAgICAgb3BhY2l0eSAxXG4gICAgICBwYWRkaW5nIDIwcHggMTBweFxuXG4uZXhlcmNpc2UtYWN0aW9uLXJ1biwgLmV4ZXJjaXNlLWFjdGlvbi1uZXh0XG4gIG1hcmdpbiA1cHhcbiAgQGV4dGVuZCAuYnV0dG9uXG4gIGNvbG9yIHdoaXRlXG4gIGJhY2tncm91bmQtY29sb3IgYmdfYWNjZW50XG4gICY6aG92ZXJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIHRleHRfYWNjZW50XG4gICYuZGlzYWJsZWRcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIGxpZ2h0ZW4oYmdfYWNjZW50LCAzMClcblxuLmV4ZXJjaXNlLWFjdGlvbi1yZXNldFxuICBtYXJnaW4gNXB4XG4gIEBleHRlbmQgLmJ1dHRvblxuICBjb2xvciB3aGl0ZVxuICBiYWNrZ3JvdW5kLWNvbG9yIGJnX3RpdGxlIFxuICAmOmhvdmVyXG4gICAgYmFja2dyb3VuZC1jb2xvciBsaWdodGVuKGJnX3RpdGxlLCAzMCUpXG4gICYuZGlzYWJsZWRcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIGxpZ2h0ZW4oYmdfdGl0bGUsIDIwKVxuXG4uZXhlcmNpc2UtYW5zd2VyXG4gIGRpc3BsYXkgbm9uZVxuXG5AbWVkaWEgKG1pbi13aWR0aCBzbV9zaXplKVxuICAuZXhlcmNpc2UtbWFpblxuICAgIGNvbHVtbigxLzIsIGN5Y2xlOiAyLCBndXR0ZXI6IDApXG4gIC5leGVyY2lzZS1sZXNzb25cbiAgICBjb2x1bW4oMS8yLCBjeWNsZTogMiwgZ3V0dGVyOiAwKVxuXG5AbWVkaWEgKG1pbi13aWR0aCBtZF9zaXplKVxuICAuZXhlcmNpc2UtbWFpblxuICAgIGNvbHVtbigyLzMsIGN5Y2xlOiAzLCBndXR0ZXI6IDApXG4gIC5leGVyY2lzZS1sZXNzb25cbiAgICBjb2x1bW4oMS8zLCBjeWNsZTogMywgZ3V0dGVyOiAwKVxuXG5AbWVkaWEgKG1pbi13aWR0aCBsZ19zaXplKVxuICAuZXhlcmNpc2UtbWFpblxuICAgIGNvbHVtbigzLzQsIGN5Y2xlOiA0LCBndXR0ZXI6IDApXG4gIC5leGVyY2lzZS1sZXNzb25cbiAgICBjb2x1bW4oMS80LCBjeWNsZTogNCwgZ3V0dGVyOiAwKSJdfQ== */
