Content-Type: multipart/related; start=; boundary=----------XivgKsbQDpNe127nujFz0X Content-Location: http://bassreview.net/home/index.php/67-safran-bass-guitars Subject: =?utf-8?Q?Safran=20Bass=20Guitars?= MIME-Version: 1.0 ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline; filename=67-safran-bass-guitars.htm Content-Type: text/html; charset=utf-8; name=67-safran-bass-guitars.htm Content-ID: Content-Location: http://bassreview.net/home/index.php/67-safran-bass-guitars Content-Transfer-Encoding: Quoted-Printable Safran Bass Guitars = =
=
=
=
=
3D"Umut

=

Safran Bass Guitars

 

Article by Bas Vossen=

Last Saturday my wife and I went to Me= chelen, Belgium, to visit Umut Dal, who is the builder of Safran Bass gu= itars.
He showed me his workplace, which is pretty small, at the g= round floor of the 3-story rental where he and his lovely wife -who is t= eacher of the Flemish (which is almost like Dutch, but has some differen= t words and a more melodic speech) language for immigrants- live.
D= irectly when you come in you see a huge workbench, with some pieces of n= ice hardwood on it. He showed me how he glued a neck out of two mirrored= parts of Ash wood. New was a bandsaw with which he can work much faster= than in the past.

3D"Beauti=
He has a diploma from the Academy of Instrument Builde= rs in Puurs, Belgium, a major luthier school of Western Europe. His teac= hers were glad he was so driven by building instruments very detailed he= could skip some classes.
I suggested if he could make some extra m= oney by building bridges. As you can see at safran bass guitars they are made out of ebony wood and ivory. The ivory is also = used for the nut, giving a much clearer tone than plastic does.

3D"Sa=
Umut came a long way, showing me his first ins= trument -which already was pretty fine detailed but still with some desi= gn errors, like a neck that is too heavy- and letting me play on all his= basses. It's clear he dislikes electrically filtering the tone, as he e= xplained to us. His first instruments still have tone and volume dials, = but later on he didn't include them anymore; they are not necessary as t= he amps also have tone and volume control.

3D"Vari=
He currently is looking for ways to sell his instr= uments, which are between three and four thousand euros. Any well-known = bass player who would like to endorse him should look up his website, as= there might be a possibility to endorse his business. Umut is in his ea= rly thirties, and as you can see on his biography page, has a young kid = with his pretty wife. He used to travel to bass players showing his inst= ruments, but as that became too cumbersome, we suggested to bring his ba= sses to jam sessions and show off how their superior tone there. He like= d the suggestion, as he is almost like a monk, never leaving his house. = The language might bring problems, as he is born in Turkey and Flemish i= s not easy to comprehend. But his English is good, and he promised to go= out and check out the jams.

3D""    3D= 

 

 

News

=
=
=
Bass Guitar For Dummies
3D"Bass

Training is something that = every aspiring bass pla [ ... ]

=
Music Rocks Autism
3D"Music

Music Rocks Autism is a growing music showcase= in  [ ... ]

Lathon Bass Wear
3D"Latho=

  As bass players, we take pride in our gear [ ... ]

------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline; filename=favicon.ico Content-Type: image/x-icon; name=favicon.ico Content-Location: http://bassreview.net/home/templates/bassreview/favicon.ico Content-Transfer-Encoding: Base64 AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAA AAAAAAAAAAAAAAAAAAD///8A////ANfX1zyrq6tqpKSkeaSkpHmktsB5pN7/efr9 /wz///8A////AP///wD///8A+fz/Cabf/3nH6v5U/v7+AHNzc6EBAQH/AAAA/wAA AP8AAAD/ADRO/wCn///z+v8i////AP///wD///8A////AKff/mcAp///rOH/Yr+/ v00AAAD/MzMz15eXl36jo6N4o6OjeHqnwKAAp///8/r/Iv///wD///8A////AP7+ /gA3uf/UIbH/6Pv9/wdsbGyjEBAQ9e/v7xj///8A////AP///wC95/9LAKf///P6 /yL///8A////AP///wDF6v9HAKf//4zW/oH///8ATExMvUVFRcv///8A////AP// /wD///8Avef/SwCn///z+v8i////AP///wD///8AVML/ug2s//jw+f4V////AFBQ ULtDQ0PL////AP///wD///8A////AL3n/0sAp///8/r/Iv///wD///8A1O//OAOo //160P+T////AP///wCEhISKDQ0N+Ofn5yT///8A////AP///wC95/9LAKf///P6 /yL///8A+Pz/CkG8/skksv/j8fn+F////wD///8A6enpHxgYGPAgICDpdnZ2n4aG hpSGhoaUZJOstACn//9BvP7cRL3/1yCx/+oAp///d87/pfD5/xf///8A////AP// /wDOzs5GBQUF/QAAAP8AAAD/AAAA/wA0Tv8Ap///Eqz/+BKs//gSrP/4Car/+gCn //8ms//l7fj/GP///wD///8AUVFRwSoqKuCsrKxnwsLCXcLCwl2RvdWNAKf///L6 /yL///8A////AP3+/gyy4/9gBan//XrQ/5T///8A6enpIgICAv/AwMBQ////AP// /wD///8Avef/SwCn///y+v8i////AP///wD///8A////AFrF/7MzuP/Z////AMrK ykcAAAD/39/fJf///wD///8A////AL3n/0sAp///8vr/Iv///wD///8A////AP// /wB90f+XIrL/6////wDb29sxAAAA/7y8vFX///8A////AP///wC95/9LAKf///L6 /yL///8A////AP///wD///8AUsP/vDi5/tX///8A/v7+AyUlJecnJyfgnZ2debe3 t1e3t7dXibXNiACn///a8f9Q5fX/NeX1/zXg8/81kNj+gQKo//170P+T////AP// /wC2trZaBwcH+gAAAP8AAAD/AAAA/wA0Tv8AqP//AKf//wCn//8Ap///AKf//wCn //8fsf/p6/f/Gv///wD///8A////ANzc3C+RkZGEhISEm4SEhJuDnKqbgNL+m4DS /puA0v6bgNL+m4LS/pue3P9x7fj/H////wD///8A//8AAID9AACc+QAAPvkAAD7z AAA+8wAAPucAAIAHAADAAwAAnPkAAL75AAC++QAAvvkAAJzxAADAAwAA4A8AAA== ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline; filename=style.css Content-Type: text/css; name=style.css Content-Location: http://bassreview.net/home/modules/mod_minifrontpage/themes/tabbed-fade-in-out/assets/css/style.css Content-Transfer-Encoding: 8bit .clrfix { clear: both; } } .minifrontpage-tabbed-fade-in-out #minifrontpageid { } .minifrontpage-tabbed-fade-in-out .mfp-table-cell { text-align: left; } .minifrontpage-tabbed-fade-in-out .mfp-table-cell-inner { margin-right: 10px; } .minifrontpage-tabbed-fade-in-out .mfp-table-cell p { font-size: 90%; color: #666; padding: 10px; background: #f0f0f0; border-radius: 4px; box-shadow: inset 0px 0px 10px #eee; margin: 0 0 10px 0; text-shadow: 0 1px 0 #fff; line-height: normal; } .minifrontpage-tabbed-fade-in-out .mfp-table-cell:hover p { background: #fbfb71; box-shadow: none; } .minifrontpage-tabbed-fade-in-out .mfp-date-author { font-size:80%; line-height: 120%; color: #666; margin-bottom: 10px; display: block; } .minifrontpage-tabbed-fade-in-out a.mfp-readon { background: #7BA428; color: #fff!important; padding: 5px 10px; font-size: 80%; text-decoration: none; margin: 0 0 10px 0!important; display:inline-block; border-radius: 4px; } .minifrontpage-tabbed-fade-in-out a.mfp-readon:hover { background: #000!important; } .minifrontpage-tabbed-fade-in-out .mfp-introtitle { /* display: inline-block; */ vertical-align: top; font-size: 120%; line-height: 120%; color:#CC9900; margin-bottom: 5px; } .minifrontpage-tabbed-fade-in-out .mfp-other-article { text-align: left; vertical-align: top; } .minifrontpage-tabbed-fade-in-out .mfp-other-article-inner { font-size: 90%; color: #666; padding: 5px 10px; background: #f0f0f0; border-radius: 4px; box-shadow: inset 0px 0px 10px #eee; margin: 10px 10px 0 0; text-shadow: 0 1px 0 #fff; line-height: normal; } .last-cell { margin-right: 0!important; } .minifrontpage-tabbed-fade-in-out .mfp-other-article-inner li { margin-left: 10px; list-style: disc!important; } .minifrontpage-tabbed-fade-in-out .mfp-other-article-title { text-transform: uppercase; font-size: 80%; color: #666; display: block; margin: 10px 0; line-height: 120%; font-weight: 700; } .minifrontpage-tabbed-fade-in-out #mfptabs ul{ position:relative; margin-left: 0!important; padding-left: 0!important; margin-bottom: 10px!important; display: inline-block; float: right; } .minifrontpage-tabbed-fade-in-out #mfptabs ul li{ float:left; font-size:11px; width:4px; height:4px; background:#ccc; color:#747474; cursor:pointer; list-style-type:none!important; text-align:center; margin-right:5px !important; border-radius: 6px; border: 3px solid #fff; } .minifrontpage-tabbed-fade-in-out #mfptabs ul li span { display: none; } .minifrontpage-tabbed-fade-in-out #mfptabs ul li.activex { background: #fff; color:#fff; border: 3px solid #ccc; width:4px; height:4px; } .minifrontpage-tabbed-fade-in-out #mfptabs ul li:hover{ background:#333; color:#fff; } .minifrontpage-tabbed-fade-in-out .minifrontpageid { table-layout: fixed; z-index: 99999!important; overflow: hidden!important; } .minifrontpage-tabbed-fade-in-out .anim-div { z-index: 1!important; } .minifrontpage-tabbed-fade-in-out .mfp-table-cell-inner .mfp-img-left { float: left; margin: 0 10px 10px 0; } .minifrontpage-tabbed-fade-in-out .mfp-table-cell-inner .mfp-img-right { float: right; margin: 0 0 10px 10px; } .minifrontpage-tabbed-fade-in-out .mfp-categ { } .minifrontpage-tabbed-fade-in-out .mfp-categ a { display: inline-block; font-size: 80%; background: url(../../../../images/categ.png) 5px 50% no-repeat #f0f0f0; padding: 5px 10px !important; margin: 0 5px 10px 0; border-radius: 4px; text-decoration: none; text-indent: -9999px; width: 10px; } .minifrontpage-tabbed-fade-in-out .mfp-categ a:hover { background: url(../../../../images/categ.png) 5px 50% no-repeat #666!important; text-indent: 20px; width: auto; position: absolute; z-index: 99999; color: #fff; } ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline; filename=jquery.min.js Content-Type: application/javascript; name=jquery.min.js Content-Location: http://bassreview.net/home/media/jui/js/jquery.min.js Content-Transfer-Encoding: Base64 LyohIGpRdWVyeSB2MS4xMC4yIHwgKGMpIDIwMDUsIDIwMTMgalF1ZXJ5IEZvdW5k YXRpb24sIEluYy4gfCBqcXVlcnkub3JnL2xpY2Vuc2UKLy9AIHNvdXJjZU1hcHBp bmdVUkw9anF1ZXJ5LTEuMTAuMi5taW4ubWFwCiovCihmdW5jdGlvbihlLHQpe3Zh ciBuLHIsaT10eXBlb2YgdCxvPWUubG9jYXRpb24sYT1lLmRvY3VtZW50LHM9YS5k b2N1bWVudEVsZW1lbnQsbD1lLmpRdWVyeSx1PWUuJCxjPXt9LHA9W10sZj0iMS4x MC4yIixkPXAuY29uY2F0LGg9cC5wdXNoLGc9cC5zbGljZSxtPXAuaW5kZXhPZix5 PWMudG9TdHJpbmcsdj1jLmhhc093blByb3BlcnR5LGI9Zi50cmltLHg9ZnVuY3Rp b24oZSx0KXtyZXR1cm4gbmV3IHguZm4uaW5pdChlLHQscil9LHc9L1srLV0/KD86 XGQqXC58KVxkKyg/OltlRV1bKy1dP1xkK3wpLy5zb3VyY2UsVD0vXFMrL2csQz0v Xltcc1x1RkVGRlx4QTBdK3xbXHNcdUZFRkZceEEwXSskL2csTj0vXig/OlxzKig8 W1x3XFddKz4pW14+XSp8IyhbXHctXSopKSQvLGs9L148KFx3KylccypcLz8+KD86 PFwvXDE+fCkkLyxFPS9eW1xdLDp7fVxzXSokLyxTPS8oPzpefDp8LCkoPzpccypc WykrL2csQT0vXFwoPzpbIlxcXC9iZm5ydF18dVtcZGEtZkEtRl17NH0pL2csaj0v IlteIlxcXHJcbl0qInx0cnVlfGZhbHNlfG51bGx8LT8oPzpcZCtcLnwpXGQrKD86 W2VFXVsrLV0/XGQrfCkvZyxEPS9eLW1zLS8sTD0vLShbXGRhLXpdKS9naSxIPWZ1 bmN0aW9uKGUsdCl7cmV0dXJuIHQudG9VcHBlckNhc2UoKX0scT1mdW5jdGlvbihl KXsoYS5hZGRFdmVudExpc3RlbmVyfHwibG9hZCI9PT1lLnR5cGV8fCJjb21wbGV0 ZSI9PT1hLnJlYWR5U3RhdGUpJiYoXygpLHgucmVhZHkoKSl9LF89ZnVuY3Rpb24o KXthLmFkZEV2ZW50TGlzdGVuZXI/KGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9N Q29udGVudExvYWRlZCIscSwhMSksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2Fk IixxLCExKSk6KGEuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIscSks ZS5kZXRhY2hFdmVudCgib25sb2FkIixxKSl9O3guZm49eC5wcm90b3R5cGU9e2px dWVyeTpmLGNvbnN0cnVjdG9yOngsaW5pdDpmdW5jdGlvbihlLG4scil7dmFyIGks bztpZighZSlyZXR1cm4gdGhpcztpZigic3RyaW5nIj09dHlwZW9mIGUpe2lmKGk9 IjwiPT09ZS5jaGFyQXQoMCkmJiI+Ij09PWUuY2hhckF0KGUubGVuZ3RoLTEpJiZl Lmxlbmd0aD49Mz9bbnVsbCxlLG51bGxdOk4uZXhlYyhlKSwhaXx8IWlbMV0mJm4p cmV0dXJuIW58fG4uanF1ZXJ5PyhufHxyKS5maW5kKGUpOnRoaXMuY29uc3RydWN0 b3IobikuZmluZChlKTtpZihpWzFdKXtpZihuPW4gaW5zdGFuY2VvZiB4P25bMF06 bix4Lm1lcmdlKHRoaXMseC5wYXJzZUhUTUwoaVsxXSxuJiZuLm5vZGVUeXBlP24u b3duZXJEb2N1bWVudHx8bjphLCEwKSksay50ZXN0KGlbMV0pJiZ4LmlzUGxhaW5P YmplY3QobikpZm9yKGkgaW4gbil4LmlzRnVuY3Rpb24odGhpc1tpXSk/dGhpc1tp XShuW2ldKTp0aGlzLmF0dHIoaSxuW2ldKTtyZXR1cm4gdGhpc31pZihvPWEuZ2V0 RWxlbWVudEJ5SWQoaVsyXSksbyYmby5wYXJlbnROb2RlKXtpZihvLmlkIT09aVsy XSlyZXR1cm4gci5maW5kKGUpO3RoaXMubGVuZ3RoPTEsdGhpc1swXT1vfXJldHVy biB0aGlzLmNvbnRleHQ9YSx0aGlzLnNlbGVjdG9yPWUsdGhpc31yZXR1cm4gZS5u b2RlVHlwZT8odGhpcy5jb250ZXh0PXRoaXNbMF09ZSx0aGlzLmxlbmd0aD0xLHRo aXMpOnguaXNGdW5jdGlvbihlKT9yLnJlYWR5KGUpOihlLnNlbGVjdG9yIT09dCYm KHRoaXMuc2VsZWN0b3I9ZS5zZWxlY3Rvcix0aGlzLmNvbnRleHQ9ZS5jb250ZXh0 KSx4Lm1ha2VBcnJheShlLHRoaXMpKX0sc2VsZWN0b3I6IiIsbGVuZ3RoOjAsdG9B cnJheTpmdW5jdGlvbigpe3JldHVybiBnLmNhbGwodGhpcyl9LGdldDpmdW5jdGlv bihlKXtyZXR1cm4gbnVsbD09ZT90aGlzLnRvQXJyYXkoKTowPmU/dGhpc1t0aGlz Lmxlbmd0aCtlXTp0aGlzW2VdfSxwdXNoU3RhY2s6ZnVuY3Rpb24oZSl7dmFyIHQ9 eC5tZXJnZSh0aGlzLmNvbnN0cnVjdG9yKCksZSk7cmV0dXJuIHQucHJldk9iamVj dD10aGlzLHQuY29udGV4dD10aGlzLmNvbnRleHQsdH0sZWFjaDpmdW5jdGlvbihl LHQpe3JldHVybiB4LmVhY2godGhpcyxlLHQpfSxyZWFkeTpmdW5jdGlvbihlKXty ZXR1cm4geC5yZWFkeS5wcm9taXNlKCkuZG9uZShlKSx0aGlzfSxzbGljZTpmdW5j dGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhnLmFwcGx5KHRoaXMsYXJndW1l bnRzKSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxhc3Q6 ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgtMSl9LGVxOmZ1bmN0aW9uKGUpe3Zh ciB0PXRoaXMubGVuZ3RoLG49K2UrKDA+ZT90OjApO3JldHVybiB0aGlzLnB1c2hT dGFjayhuPj0wJiZ0Pm4/W3RoaXNbbl1dOltdKX0sbWFwOmZ1bmN0aW9uKGUpe3Jl dHVybiB0aGlzLnB1c2hTdGFjayh4Lm1hcCh0aGlzLGZ1bmN0aW9uKHQsbil7cmV0 dXJuIGUuY2FsbCh0LG4sdCl9KSl9LGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlz LnByZXZPYmplY3R8fHRoaXMuY29uc3RydWN0b3IobnVsbCl9LHB1c2g6aCxzb3J0 OltdLnNvcnQsc3BsaWNlOltdLnNwbGljZX0seC5mbi5pbml0LnByb3RvdHlwZT14 LmZuLHguZXh0ZW5kPXguZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGUsbixyLGks byxhLHM9YXJndW1lbnRzWzBdfHx7fSxsPTEsdT1hcmd1bWVudHMubGVuZ3RoLGM9 ITE7Zm9yKCJib29sZWFuIj09dHlwZW9mIHMmJihjPXMscz1hcmd1bWVudHNbMV18 fHt9LGw9MiksIm9iamVjdCI9PXR5cGVvZiBzfHx4LmlzRnVuY3Rpb24ocyl8fChz PXt9KSx1PT09bCYmKHM9dGhpcywtLWwpO3U+bDtsKyspaWYobnVsbCE9KG89YXJn dW1lbnRzW2xdKSlmb3IoaSBpbiBvKWU9c1tpXSxyPW9baV0scyE9PXImJihjJiZy JiYoeC5pc1BsYWluT2JqZWN0KHIpfHwobj14LmlzQXJyYXkocikpKT8obj8obj0h MSxhPWUmJnguaXNBcnJheShlKT9lOltdKTphPWUmJnguaXNQbGFpbk9iamVjdChl KT9lOnt9LHNbaV09eC5leHRlbmQoYyxhLHIpKTpyIT09dCYmKHNbaV09cikpO3Jl dHVybiBzfSx4LmV4dGVuZCh7ZXhwYW5kbzoialF1ZXJ5IisoZitNYXRoLnJhbmRv bSgpKS5yZXBsYWNlKC9cRC9nLCIiKSxub0NvbmZsaWN0OmZ1bmN0aW9uKHQpe3Jl dHVybiBlLiQ9PT14JiYoZS4kPXUpLHQmJmUualF1ZXJ5PT09eCYmKGUualF1ZXJ5 PWwpLHh9LGlzUmVhZHk6ITEscmVhZHlXYWl0OjEsaG9sZFJlYWR5OmZ1bmN0aW9u KGUpe2U/eC5yZWFkeVdhaXQrKzp4LnJlYWR5KCEwKX0scmVhZHk6ZnVuY3Rpb24o ZSl7aWYoZT09PSEwPyEtLXgucmVhZHlXYWl0OiF4LmlzUmVhZHkpe2lmKCFhLmJv ZHkpcmV0dXJuIHNldFRpbWVvdXQoeC5yZWFkeSk7eC5pc1JlYWR5PSEwLGUhPT0h MCYmLS14LnJlYWR5V2FpdD4wfHwobi5yZXNvbHZlV2l0aChhLFt4XSkseC5mbi50 cmlnZ2VyJiZ4KGEpLnRyaWdnZXIoInJlYWR5Iikub2ZmKCJyZWFkeSIpKX19LGlz RnVuY3Rpb246ZnVuY3Rpb24oZSl7cmV0dXJuImZ1bmN0aW9uIj09PXgudHlwZShl KX0saXNBcnJheTpBcnJheS5pc0FycmF5fHxmdW5jdGlvbihlKXtyZXR1cm4iYXJy YXkiPT09eC50eXBlKGUpfSxpc1dpbmRvdzpmdW5jdGlvbihlKXtyZXR1cm4gbnVs bCE9ZSYmZT09ZS53aW5kb3d9LGlzTnVtZXJpYzpmdW5jdGlvbihlKXtyZXR1cm4h aXNOYU4ocGFyc2VGbG9hdChlKSkmJmlzRmluaXRlKGUpfSx0eXBlOmZ1bmN0aW9u KGUpe3JldHVybiBudWxsPT1lP2UrIiI6Im9iamVjdCI9PXR5cGVvZiBlfHwiZnVu Y3Rpb24iPT10eXBlb2YgZT9jW3kuY2FsbChlKV18fCJvYmplY3QiOnR5cGVvZiBl fSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKGUpe3ZhciBuO2lmKCFlfHwib2JqZWN0 IiE9PXgudHlwZShlKXx8ZS5ub2RlVHlwZXx8eC5pc1dpbmRvdyhlKSlyZXR1cm4h MTt0cnl7aWYoZS5jb25zdHJ1Y3RvciYmIXYuY2FsbChlLCJjb25zdHJ1Y3RvciIp JiYhdi5jYWxsKGUuY29uc3RydWN0b3IucHJvdG90eXBlLCJpc1Byb3RvdHlwZU9m IikpcmV0dXJuITF9Y2F0Y2gocil7cmV0dXJuITF9aWYoeC5zdXBwb3J0Lm93bkxh c3QpZm9yKG4gaW4gZSlyZXR1cm4gdi5jYWxsKGUsbik7Zm9yKG4gaW4gZSk7cmV0 dXJuIG49PT10fHx2LmNhbGwoZSxuKX0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihl KXt2YXIgdDtmb3IodCBpbiBlKXJldHVybiExO3JldHVybiEwfSxlcnJvcjpmdW5j dGlvbihlKXt0aHJvdyBFcnJvcihlKX0scGFyc2VIVE1MOmZ1bmN0aW9uKGUsdCxu KXtpZighZXx8InN0cmluZyIhPXR5cGVvZiBlKXJldHVybiBudWxsOyJib29sZWFu Ij09dHlwZW9mIHQmJihuPXQsdD0hMSksdD10fHxhO3ZhciByPWsuZXhlYyhlKSxp PSFuJiZbXTtyZXR1cm4gcj9bdC5jcmVhdGVFbGVtZW50KHJbMV0pXToocj14LmJ1 aWxkRnJhZ21lbnQoW2VdLHQsaSksaSYmeChpKS5yZW1vdmUoKSx4Lm1lcmdlKFtd LHIuY2hpbGROb2RlcykpfSxwYXJzZUpTT046ZnVuY3Rpb24obil7cmV0dXJuIGUu SlNPTiYmZS5KU09OLnBhcnNlP2UuSlNPTi5wYXJzZShuKTpudWxsPT09bj9uOiJz dHJpbmciPT10eXBlb2YgbiYmKG49eC50cmltKG4pLG4mJkUudGVzdChuLnJlcGxh Y2UoQSwiQCIpLnJlcGxhY2UoaiwiXSIpLnJlcGxhY2UoUywiIikpKT9GdW5jdGlv bigicmV0dXJuICIrbikoKTooeC5lcnJvcigiSW52YWxpZCBKU09OOiAiK24pLHQp fSxwYXJzZVhNTDpmdW5jdGlvbihuKXt2YXIgcixpO2lmKCFufHwic3RyaW5nIiE9 dHlwZW9mIG4pcmV0dXJuIG51bGw7dHJ5e2UuRE9NUGFyc2VyPyhpPW5ldyBET01Q YXJzZXIscj1pLnBhcnNlRnJvbVN0cmluZyhuLCJ0ZXh0L3htbCIpKToocj1uZXcg QWN0aXZlWE9iamVjdCgiTWljcm9zb2Z0LlhNTERPTSIpLHIuYXN5bmM9ImZhbHNl IixyLmxvYWRYTUwobikpfWNhdGNoKG8pe3I9dH1yZXR1cm4gciYmci5kb2N1bWVu dEVsZW1lbnQmJiFyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwYXJzZXJlcnJvciIp Lmxlbmd0aHx8eC5lcnJvcigiSW52YWxpZCBYTUw6ICIrbikscn0sbm9vcDpmdW5j dGlvbigpe30sZ2xvYmFsRXZhbDpmdW5jdGlvbih0KXt0JiZ4LnRyaW0odCkmJihl LmV4ZWNTY3JpcHR8fGZ1bmN0aW9uKHQpe2UuZXZhbC5jYWxsKGUsdCl9KSh0KX0s Y2FtZWxDYXNlOmZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2UoRCwibXMtIiku cmVwbGFjZShMLEgpfSxub2RlTmFtZTpmdW5jdGlvbihlLHQpe3JldHVybiBlLm5v ZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT10LnRvTG93ZXJDYXNl KCl9LGVhY2g6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk9MCxvPWUubGVuZ3RoLGE9 TShlKTtpZihuKXtpZihhKXtmb3IoO28+aTtpKyspaWYocj10LmFwcGx5KGVbaV0s bikscj09PSExKWJyZWFrfWVsc2UgZm9yKGkgaW4gZSlpZihyPXQuYXBwbHkoZVtp XSxuKSxyPT09ITEpYnJlYWt9ZWxzZSBpZihhKXtmb3IoO28+aTtpKyspaWYocj10 LmNhbGwoZVtpXSxpLGVbaV0pLHI9PT0hMSlicmVha31lbHNlIGZvcihpIGluIGUp aWYocj10LmNhbGwoZVtpXSxpLGVbaV0pLHI9PT0hMSlicmVhaztyZXR1cm4gZX0s dHJpbTpiJiYhYi5jYWxsKCJcdWZlZmZcdTAwYTAiKT9mdW5jdGlvbihlKXtyZXR1 cm4gbnVsbD09ZT8iIjpiLmNhbGwoZSl9OmZ1bmN0aW9uKGUpe3JldHVybiBudWxs PT1lPyIiOihlKyIiKS5yZXBsYWNlKEMsIiIpfSxtYWtlQXJyYXk6ZnVuY3Rpb24o ZSx0KXt2YXIgbj10fHxbXTtyZXR1cm4gbnVsbCE9ZSYmKE0oT2JqZWN0KGUpKT94 Lm1lcmdlKG4sInN0cmluZyI9PXR5cGVvZiBlP1tlXTplKTpoLmNhbGwobixlKSks bn0saW5BcnJheTpmdW5jdGlvbihlLHQsbil7dmFyIHI7aWYodCl7aWYobSlyZXR1 cm4gbS5jYWxsKHQsZSxuKTtmb3Iocj10Lmxlbmd0aCxuPW4/MD5uP01hdGgubWF4 KDAscituKTpuOjA7cj5uO24rKylpZihuIGluIHQmJnRbbl09PT1lKXJldHVybiBu fXJldHVybi0xfSxtZXJnZTpmdW5jdGlvbihlLG4pe3ZhciByPW4ubGVuZ3RoLGk9 ZS5sZW5ndGgsbz0wO2lmKCJudW1iZXIiPT10eXBlb2Ygcilmb3IoO3I+bztvKysp ZVtpKytdPW5bb107ZWxzZSB3aGlsZShuW29dIT09dCllW2krK109bltvKytdO3Jl dHVybiBlLmxlbmd0aD1pLGV9LGdyZXA6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk9 W10sbz0wLGE9ZS5sZW5ndGg7Zm9yKG49ISFuO2E+bztvKyspcj0hIXQoZVtvXSxv KSxuIT09ciYmaS5wdXNoKGVbb10pO3JldHVybiBpfSxtYXA6ZnVuY3Rpb24oZSx0 LG4pe3ZhciByLGk9MCxvPWUubGVuZ3RoLGE9TShlKSxzPVtdO2lmKGEpZm9yKDtv Pmk7aSsrKXI9dChlW2ldLGksbiksbnVsbCE9ciYmKHNbcy5sZW5ndGhdPXIpO2Vs c2UgZm9yKGkgaW4gZSlyPXQoZVtpXSxpLG4pLG51bGwhPXImJihzW3MubGVuZ3Ro XT1yKTtyZXR1cm4gZC5hcHBseShbXSxzKX0sZ3VpZDoxLHByb3h5OmZ1bmN0aW9u KGUsbil7dmFyIHIsaSxvO3JldHVybiJzdHJpbmciPT10eXBlb2YgbiYmKG89ZVtu XSxuPWUsZT1vKSx4LmlzRnVuY3Rpb24oZSk/KHI9Zy5jYWxsKGFyZ3VtZW50cywy KSxpPWZ1bmN0aW9uKCl7cmV0dXJuIGUuYXBwbHkobnx8dGhpcyxyLmNvbmNhdChn LmNhbGwoYXJndW1lbnRzKSkpfSxpLmd1aWQ9ZS5ndWlkPWUuZ3VpZHx8eC5ndWlk KyssaSk6dH0sYWNjZXNzOmZ1bmN0aW9uKGUsbixyLGksbyxhLHMpe3ZhciBsPTAs dT1lLmxlbmd0aCxjPW51bGw9PXI7aWYoIm9iamVjdCI9PT14LnR5cGUocikpe289 ITA7Zm9yKGwgaW4gcil4LmFjY2VzcyhlLG4sbCxyW2xdLCEwLGEscyl9ZWxzZSBp ZihpIT09dCYmKG89ITAseC5pc0Z1bmN0aW9uKGkpfHwocz0hMCksYyYmKHM/KG4u Y2FsbChlLGkpLG49bnVsbCk6KGM9bixuPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4g Yy5jYWxsKHgoZSksbil9KSksbikpZm9yKDt1Pmw7bCsrKW4oZVtsXSxyLHM/aTpp LmNhbGwoZVtsXSxsLG4oZVtsXSxyKSkpO3JldHVybiBvP2U6Yz9uLmNhbGwoZSk6 dT9uKGVbMF0scik6YX0sbm93OmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyBEYXRlKS5n ZXRUaW1lKCl9LHN3YXA6ZnVuY3Rpb24oZSx0LG4scil7dmFyIGksbyxhPXt9O2Zv cihvIGluIHQpYVtvXT1lLnN0eWxlW29dLGUuc3R5bGVbb109dFtvXTtpPW4uYXBw bHkoZSxyfHxbXSk7Zm9yKG8gaW4gdCllLnN0eWxlW29dPWFbb107cmV0dXJuIGl9 fSkseC5yZWFkeS5wcm9taXNlPWZ1bmN0aW9uKHQpe2lmKCFuKWlmKG49eC5EZWZl cnJlZCgpLCJjb21wbGV0ZSI9PT1hLnJlYWR5U3RhdGUpc2V0VGltZW91dCh4LnJl YWR5KTtlbHNlIGlmKGEuYWRkRXZlbnRMaXN0ZW5lcilhLmFkZEV2ZW50TGlzdGVu ZXIoIkRPTUNvbnRlbnRMb2FkZWQiLHEsITEpLGUuYWRkRXZlbnRMaXN0ZW5lcigi bG9hZCIscSwhMSk7ZWxzZXthLmF0dGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFu Z2UiLHEpLGUuYXR0YWNoRXZlbnQoIm9ubG9hZCIscSk7dmFyIHI9ITE7dHJ5e3I9 bnVsbD09ZS5mcmFtZUVsZW1lbnQmJmEuZG9jdW1lbnRFbGVtZW50fWNhdGNoKGkp e31yJiZyLmRvU2Nyb2xsJiZmdW5jdGlvbiBvKCl7aWYoIXguaXNSZWFkeSl7dHJ5 e3IuZG9TY3JvbGwoImxlZnQiKX1jYXRjaChlKXtyZXR1cm4gc2V0VGltZW91dChv LDUwKX1fKCkseC5yZWFkeSgpfX0oKX1yZXR1cm4gbi5wcm9taXNlKHQpfSx4LmVh Y2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJl Z0V4cCBPYmplY3QgRXJyb3IiLnNwbGl0KCIgIiksZnVuY3Rpb24oZSx0KXtjWyJb b2JqZWN0ICIrdCsiXSJdPXQudG9Mb3dlckNhc2UoKX0pO2Z1bmN0aW9uIE0oZSl7 dmFyIHQ9ZS5sZW5ndGgsbj14LnR5cGUoZSk7cmV0dXJuIHguaXNXaW5kb3coZSk/ ITE6MT09PWUubm9kZVR5cGUmJnQ/ITA6ImFycmF5Ij09PW58fCJmdW5jdGlvbiIh PT1uJiYoMD09PXR8fCJudW1iZXIiPT10eXBlb2YgdCYmdD4wJiZ0LTEgaW4gZSl9 cj14KGEpLGZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLG8sYSxzLGwsdSxjLHAsZixk LGgsZyxtLHksdixiPSJzaXp6bGUiKy1uZXcgRGF0ZSx3PWUuZG9jdW1lbnQsVD0w LEM9MCxOPXN0KCksaz1zdCgpLEU9c3QoKSxTPSExLEE9ZnVuY3Rpb24oZSx0KXty ZXR1cm4gZT09PXQ/KFM9ITAsMCk6MH0saj10eXBlb2YgdCxEPTE8PDMxLEw9e30u aGFzT3duUHJvcGVydHksSD1bXSxxPUgucG9wLF89SC5wdXNoLE09SC5wdXNoLE89 SC5zbGljZSxGPUguaW5kZXhPZnx8ZnVuY3Rpb24oZSl7dmFyIHQ9MCxuPXRoaXMu bGVuZ3RoO2Zvcig7bj50O3QrKylpZih0aGlzW3RdPT09ZSlyZXR1cm4gdDtyZXR1 cm4tMX0sQj0iY2hlY2tlZHxzZWxlY3RlZHxhc3luY3xhdXRvZm9jdXN8YXV0b3Bs YXl8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJsZWR8aGlkZGVufGlzbWFwfGxvb3B8bXVs dGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxzY29wZWQiLFA9IltcXHgyMFxc dFxcclxcblxcZl0iLFI9Iig/OlxcXFwufFtcXHctXXxbXlxceDAwLVxceGEwXSkr IixXPVIucmVwbGFjZSgidyIsIncjIiksJD0iXFxbIitQKyIqKCIrUisiKSIrUCsi Kig/OihbKl4kfCF+XT89KSIrUCsiKig/OihbJ1wiXSkoKD86XFxcXC58W15cXFxc XSkqPylcXDN8KCIrVysiKXwpfCkiK1ArIipcXF0iLEk9IjooIitSKyIpKD86XFwo KChbJ1wiXSkoKD86XFxcXC58W15cXFxcXSkqPylcXDN8KCg/OlxcXFwufFteXFxc XCgpW1xcXV18IiskLnJlcGxhY2UoMyw4KSsiKSopfC4qKVxcKXwpIix6PVJlZ0V4 cCgiXiIrUCsiK3woKD86XnxbXlxcXFxdKSg/OlxcXFwuKSopIitQKyIrJCIsImci KSxYPVJlZ0V4cCgiXiIrUCsiKiwiK1ArIioiKSxVPVJlZ0V4cCgiXiIrUCsiKihb Pit+XXwiK1ArIikiK1ArIioiKSxWPVJlZ0V4cChQKyIqWyt+XSIpLFk9UmVnRXhw KCI9IitQKyIqKFteXFxdJ1wiXSopIitQKyIqXFxdIiwiZyIpLEo9UmVnRXhwKEkp LEc9UmVnRXhwKCJeIitXKyIkIiksUT17SUQ6UmVnRXhwKCJeIygiK1IrIikiKSxD TEFTUzpSZWdFeHAoIl5cXC4oIitSKyIpIiksVEFHOlJlZ0V4cCgiXigiK1IucmVw bGFjZSgidyIsIncqIikrIikiKSxBVFRSOlJlZ0V4cCgiXiIrJCksUFNFVURPOlJl Z0V4cCgiXiIrSSksQ0hJTEQ6UmVnRXhwKCJeOihvbmx5fGZpcnN0fGxhc3R8bnRo fG50aC1sYXN0KS0oY2hpbGR8b2YtdHlwZSkoPzpcXCgiK1ArIiooZXZlbnxvZGR8 KChbKy1dfCkoXFxkKilufCkiK1ArIiooPzooWystXXwpIitQKyIqKFxcZCspfCkp IitQKyIqXFwpfCkiLCJpIiksYm9vbDpSZWdFeHAoIl4oPzoiK0IrIikkIiwiaSIp LG5lZWRzQ29udGV4dDpSZWdFeHAoIl4iK1ArIipbPit+XXw6KGV2ZW58b2RkfGVx fGd0fGx0fG50aHxmaXJzdHxsYXN0KSg/OlxcKCIrUCsiKigoPzotXFxkKT9cXGQq KSIrUCsiKlxcKXwpKD89W14tXXwkKSIsImkiKX0sSz0vXltee10rXHtccypcW25h dGl2ZSBcdy8sWj0vXig/OiMoW1x3LV0rKXwoXHcrKXxcLihbXHctXSspKSQvLGV0 PS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbikkL2ksdHQ9L15oXGQk L2ksbnQ9Lyd8XFwvZyxydD1SZWdFeHAoIlxcXFwoW1xcZGEtZl17MSw2fSIrUCsi P3woIitQKyIpfC4pIiwiaWciKSxpdD1mdW5jdGlvbihlLHQsbil7dmFyIHI9IjB4 Iit0LTY1NTM2O3JldHVybiByIT09cnx8bj90OjA+cj9TdHJpbmcuZnJvbUNoYXJD b2RlKHIrNjU1MzYpOlN0cmluZy5mcm9tQ2hhckNvZGUoNTUyOTZ8cj4+MTAsNTYz MjB8MTAyMyZyKX07dHJ5e00uYXBwbHkoSD1PLmNhbGwody5jaGlsZE5vZGVzKSx3 LmNoaWxkTm9kZXMpLEhbdy5jaGlsZE5vZGVzLmxlbmd0aF0ubm9kZVR5cGV9Y2F0 Y2gob3Qpe009e2FwcGx5OkgubGVuZ3RoP2Z1bmN0aW9uKGUsdCl7Xy5hcHBseShl LE8uY2FsbCh0KSl9OmZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5sZW5ndGgscj0wO3do aWxlKGVbbisrXT10W3IrK10pO2UubGVuZ3RoPW4tMX19fWZ1bmN0aW9uIGF0KGUs dCxuLGkpe3ZhciBvLGEscyxsLHUsYyxkLG0seSx4O2lmKCh0P3Qub3duZXJEb2N1 bWVudHx8dDp3KSE9PWYmJnAodCksdD10fHxmLG49bnx8W10sIWV8fCJzdHJpbmci IT10eXBlb2YgZSlyZXR1cm4gbjtpZigxIT09KGw9dC5ub2RlVHlwZSkmJjkhPT1s KXJldHVybltdO2lmKGgmJiFpKXtpZihvPVouZXhlYyhlKSlpZihzPW9bMV0pe2lm KDk9PT1sKXtpZihhPXQuZ2V0RWxlbWVudEJ5SWQocyksIWF8fCFhLnBhcmVudE5v ZGUpcmV0dXJuIG47aWYoYS5pZD09PXMpcmV0dXJuIG4ucHVzaChhKSxufWVsc2Ug aWYodC5vd25lckRvY3VtZW50JiYoYT10Lm93bmVyRG9jdW1lbnQuZ2V0RWxlbWVu dEJ5SWQocykpJiZ2KHQsYSkmJmEuaWQ9PT1zKXJldHVybiBuLnB1c2goYSksbn1l bHNle2lmKG9bMl0pcmV0dXJuIE0uYXBwbHkobix0LmdldEVsZW1lbnRzQnlUYWdO YW1lKGUpKSxuO2lmKChzPW9bM10pJiZyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUm JnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSlyZXR1cm4gTS5hcHBseShuLHQuZ2V0 RWxlbWVudHNCeUNsYXNzTmFtZShzKSksbn1pZihyLnFzYSYmKCFnfHwhZy50ZXN0 KGUpKSl7aWYobT1kPWIseT10LHg9OT09PWwmJmUsMT09PWwmJiJvYmplY3QiIT09 dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXtjPW10KGUpLChkPXQuZ2V0QXR0cmli dXRlKCJpZCIpKT9tPWQucmVwbGFjZShudCwiXFwkJiIpOnQuc2V0QXR0cmlidXRl KCJpZCIsbSksbT0iW2lkPSciK20rIiddICIsdT1jLmxlbmd0aDt3aGlsZSh1LS0p Y1t1XT1tK3l0KGNbdV0pO3k9Vi50ZXN0KGUpJiZ0LnBhcmVudE5vZGV8fHQseD1j LmpvaW4oIiwiKX1pZih4KXRyeXtyZXR1cm4gTS5hcHBseShuLHkucXVlcnlTZWxl Y3RvckFsbCh4KSksbn1jYXRjaChUKXt9ZmluYWxseXtkfHx0LnJlbW92ZUF0dHJp YnV0ZSgiaWQiKX19fXJldHVybiBrdChlLnJlcGxhY2UoeiwiJDEiKSx0LG4saSl9 ZnVuY3Rpb24gc3QoKXt2YXIgZT1bXTtmdW5jdGlvbiB0KG4scil7cmV0dXJuIGUu cHVzaChuKz0iICIpPm8uY2FjaGVMZW5ndGgmJmRlbGV0ZSB0W2Uuc2hpZnQoKV0s dFtuXT1yfXJldHVybiB0fWZ1bmN0aW9uIGx0KGUpe3JldHVybiBlW2JdPSEwLGV9 ZnVuY3Rpb24gdXQoZSl7dmFyIHQ9Zi5jcmVhdGVFbGVtZW50KCJkaXYiKTt0cnl7 cmV0dXJuISFlKHQpfWNhdGNoKG4pe3JldHVybiExfWZpbmFsbHl7dC5wYXJlbnRO b2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCksdD1udWxsfX1mdW5jdGlv biBjdChlLHQpe3ZhciBuPWUuc3BsaXQoInwiKSxyPWUubGVuZ3RoO3doaWxlKHIt LSlvLmF0dHJIYW5kbGVbbltyXV09dH1mdW5jdGlvbiBwdChlLHQpe3ZhciBuPXQm JmUscj1uJiYxPT09ZS5ub2RlVHlwZSYmMT09PXQubm9kZVR5cGUmJih+dC5zb3Vy Y2VJbmRleHx8RCktKH5lLnNvdXJjZUluZGV4fHxEKTtpZihyKXJldHVybiByO2lm KG4pd2hpbGUobj1uLm5leHRTaWJsaW5nKWlmKG49PT10KXJldHVybi0xO3JldHVy biBlPzE6LTF9ZnVuY3Rpb24gZnQoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBu PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4iaW5wdXQiPT09biYmdC50 eXBlPT09ZX19ZnVuY3Rpb24gZHQoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBu PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4oImlucHV0Ij09PW58fCJi dXR0b24iPT09bikmJnQudHlwZT09PWV9fWZ1bmN0aW9uIGh0KGUpe3JldHVybiBs dChmdW5jdGlvbih0KXtyZXR1cm4gdD0rdCxsdChmdW5jdGlvbihuLHIpe3ZhciBp LG89ZShbXSxuLmxlbmd0aCx0KSxhPW8ubGVuZ3RoO3doaWxlKGEtLSluW2k9b1th XV0mJihuW2ldPSEocltpXT1uW2ldKSl9KX0pfXM9YXQuaXNYTUw9ZnVuY3Rpb24o ZSl7dmFyIHQ9ZSYmKGUub3duZXJEb2N1bWVudHx8ZSkuZG9jdW1lbnRFbGVtZW50 O3JldHVybiB0PyJIVE1MIiE9PXQubm9kZU5hbWU6ITF9LHI9YXQuc3VwcG9ydD17 fSxwPWF0LnNldERvY3VtZW50PWZ1bmN0aW9uKGUpe3ZhciBuPWU/ZS5vd25lckRv Y3VtZW50fHxlOncsaT1uLmRlZmF1bHRWaWV3O3JldHVybiBuIT09ZiYmOT09PW4u bm9kZVR5cGUmJm4uZG9jdW1lbnRFbGVtZW50PyhmPW4sZD1uLmRvY3VtZW50RWxl bWVudCxoPSFzKG4pLGkmJmkuYXR0YWNoRXZlbnQmJmkhPT1pLnRvcCYmaS5hdHRh Y2hFdmVudCgib25iZWZvcmV1bmxvYWQiLGZ1bmN0aW9uKCl7cCgpfSksci5hdHRy aWJ1dGVzPXV0KGZ1bmN0aW9uKGUpe3JldHVybiBlLmNsYXNzTmFtZT0iaSIsIWUu Z2V0QXR0cmlidXRlKCJjbGFzc05hbWUiKX0pLHIuZ2V0RWxlbWVudHNCeVRhZ05h bWU9dXQoZnVuY3Rpb24oZSl7cmV0dXJuIGUuYXBwZW5kQ2hpbGQobi5jcmVhdGVD b21tZW50KCIiKSksIWUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKS5sZW5ndGh9 KSxyLmdldEVsZW1lbnRzQnlDbGFzc05hbWU9dXQoZnVuY3Rpb24oZSl7cmV0dXJu IGUuaW5uZXJIVE1MPSI8ZGl2IGNsYXNzPSdhJz48L2Rpdj48ZGl2IGNsYXNzPSdh IGknPjwvZGl2PiIsZS5maXJzdENoaWxkLmNsYXNzTmFtZT0iaSIsMj09PWUuZ2V0 RWxlbWVudHNCeUNsYXNzTmFtZSgiaSIpLmxlbmd0aH0pLHIuZ2V0QnlJZD11dChm dW5jdGlvbihlKXtyZXR1cm4gZC5hcHBlbmRDaGlsZChlKS5pZD1iLCFuLmdldEVs ZW1lbnRzQnlOYW1lfHwhbi5nZXRFbGVtZW50c0J5TmFtZShiKS5sZW5ndGh9KSxy LmdldEJ5SWQ/KG8uZmluZC5JRD1mdW5jdGlvbihlLHQpe2lmKHR5cGVvZiB0Lmdl dEVsZW1lbnRCeUlkIT09aiYmaCl7dmFyIG49dC5nZXRFbGVtZW50QnlJZChlKTty ZXR1cm4gbiYmbi5wYXJlbnROb2RlP1tuXTpbXX19LG8uZmlsdGVyLklEPWZ1bmN0 aW9uKGUpe3ZhciB0PWUucmVwbGFjZShydCxpdCk7cmV0dXJuIGZ1bmN0aW9uKGUp e3JldHVybiBlLmdldEF0dHJpYnV0ZSgiaWQiKT09PXR9fSk6KGRlbGV0ZSBvLmZp bmQuSUQsby5maWx0ZXIuSUQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZXBsYWNlKHJ0 LGl0KTtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIG49dHlwZW9mIGUuZ2V0QXR0cmli dXRlTm9kZSE9PWomJmUuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTtyZXR1cm4gbiYm bi52YWx1ZT09PXR9fSksby5maW5kLlRBRz1yLmdldEVsZW1lbnRzQnlUYWdOYW1l P2Z1bmN0aW9uKGUsbil7cmV0dXJuIHR5cGVvZiBuLmdldEVsZW1lbnRzQnlUYWdO YW1lIT09aj9uLmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpOnR9OmZ1bmN0aW9uKGUs dCl7dmFyIG4scj1bXSxpPTAsbz10LmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpO2lm KCIqIj09PWUpe3doaWxlKG49b1tpKytdKTE9PT1uLm5vZGVUeXBlJiZyLnB1c2go bik7cmV0dXJuIHJ9cmV0dXJuIG99LG8uZmluZC5DTEFTUz1yLmdldEVsZW1lbnRz QnlDbGFzc05hbWUmJmZ1bmN0aW9uKGUsbil7cmV0dXJuIHR5cGVvZiBuLmdldEVs ZW1lbnRzQnlDbGFzc05hbWUhPT1qJiZoP24uZ2V0RWxlbWVudHNCeUNsYXNzTmFt ZShlKTp0fSxtPVtdLGc9W10sKHIucXNhPUsudGVzdChuLnF1ZXJ5U2VsZWN0b3JB bGwpKSYmKHV0KGZ1bmN0aW9uKGUpe2UuaW5uZXJIVE1MPSI8c2VsZWN0PjxvcHRp b24gc2VsZWN0ZWQ9Jyc+PC9vcHRpb24+PC9zZWxlY3Q+IixlLnF1ZXJ5U2VsZWN0 b3JBbGwoIltzZWxlY3RlZF0iKS5sZW5ndGh8fGcucHVzaCgiXFxbIitQKyIqKD86 dmFsdWV8IitCKyIpIiksZS5xdWVyeVNlbGVjdG9yQWxsKCI6Y2hlY2tlZCIpLmxl bmd0aHx8Zy5wdXNoKCI6Y2hlY2tlZCIpfSksdXQoZnVuY3Rpb24oZSl7dmFyIHQ9 bi5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO3Quc2V0QXR0cmlidXRlKCJ0eXBlIiwi aGlkZGVuIiksZS5hcHBlbmRDaGlsZCh0KS5zZXRBdHRyaWJ1dGUoInQiLCIiKSxl LnF1ZXJ5U2VsZWN0b3JBbGwoIlt0Xj0nJ10iKS5sZW5ndGgmJmcucHVzaCgiWype JF09IitQKyIqKD86Jyd8XCJcIikiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIjplbmFi bGVkIikubGVuZ3RofHxnLnB1c2goIjplbmFibGVkIiwiOmRpc2FibGVkIiksZS5x dWVyeVNlbGVjdG9yQWxsKCIqLDp4IiksZy5wdXNoKCIsLio6Iil9KSksKHIubWF0 Y2hlc1NlbGVjdG9yPUsudGVzdCh5PWQud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxk Lm1vek1hdGNoZXNTZWxlY3Rvcnx8ZC5vTWF0Y2hlc1NlbGVjdG9yfHxkLm1zTWF0 Y2hlc1NlbGVjdG9yKSkmJnV0KGZ1bmN0aW9uKGUpe3IuZGlzY29ubmVjdGVkTWF0 Y2g9eS5jYWxsKGUsImRpdiIpLHkuY2FsbChlLCJbcyE9JyddOngiKSxtLnB1c2go IiE9IixJKX0pLGc9Zy5sZW5ndGgmJlJlZ0V4cChnLmpvaW4oInwiKSksbT1tLmxl bmd0aCYmUmVnRXhwKG0uam9pbigifCIpKSx2PUsudGVzdChkLmNvbnRhaW5zKXx8 ZC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj9mdW5jdGlvbihlLHQpe3ZhciBuPTk9 PT1lLm5vZGVUeXBlP2UuZG9jdW1lbnRFbGVtZW50OmUscj10JiZ0LnBhcmVudE5v ZGU7cmV0dXJuIGU9PT1yfHwhKCFyfHwxIT09ci5ub2RlVHlwZXx8IShuLmNvbnRh aW5zP24uY29udGFpbnMocik6ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmMTYm ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihyKSkpfTpmdW5jdGlvbihlLHQpe2lm KHQpd2hpbGUodD10LnBhcmVudE5vZGUpaWYodD09PWUpcmV0dXJuITA7cmV0dXJu ITF9LEE9ZC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj9mdW5jdGlvbihlLHQpe2lm KGU9PT10KXJldHVybiBTPSEwLDA7dmFyIGk9dC5jb21wYXJlRG9jdW1lbnRQb3Np dGlvbiYmZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmZS5jb21wYXJlRG9jdW1l bnRQb3NpdGlvbih0KTtyZXR1cm4gaT8xJml8fCFyLnNvcnREZXRhY2hlZCYmdC5j b21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKT09PWk/ZT09PW58fHYodyxlKT8tMTp0 PT09bnx8dih3LHQpPzE6Yz9GLmNhbGwoYyxlKS1GLmNhbGwoYyx0KTowOjQmaT8t MToxOmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24/LTE6MX06ZnVuY3Rpb24oZSx0 KXt2YXIgcixpPTAsbz1lLnBhcmVudE5vZGUsYT10LnBhcmVudE5vZGUscz1bZV0s bD1bdF07aWYoZT09PXQpcmV0dXJuIFM9ITAsMDtpZighb3x8IWEpcmV0dXJuIGU9 PT1uPy0xOnQ9PT1uPzE6bz8tMTphPzE6Yz9GLmNhbGwoYyxlKS1GLmNhbGwoYyx0 KTowO2lmKG89PT1hKXJldHVybiBwdChlLHQpO3I9ZTt3aGlsZShyPXIucGFyZW50 Tm9kZSlzLnVuc2hpZnQocik7cj10O3doaWxlKHI9ci5wYXJlbnROb2RlKWwudW5z aGlmdChyKTt3aGlsZShzW2ldPT09bFtpXSlpKys7cmV0dXJuIGk/cHQoc1tpXSxs W2ldKTpzW2ldPT09dz8tMTpsW2ldPT09dz8xOjB9LG4pOmZ9LGF0Lm1hdGNoZXM9 ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYXQoZSxudWxsLG51bGwsdCl9LGF0Lm1hdGNo ZXNTZWxlY3Rvcj1mdW5jdGlvbihlLHQpe2lmKChlLm93bmVyRG9jdW1lbnR8fGUp IT09ZiYmcChlKSx0PXQucmVwbGFjZShZLCI9JyQxJ10iKSwhKCFyLm1hdGNoZXNT ZWxlY3Rvcnx8IWh8fG0mJm0udGVzdCh0KXx8ZyYmZy50ZXN0KHQpKSl0cnl7dmFy IG49eS5jYWxsKGUsdCk7aWYobnx8ci5kaXNjb25uZWN0ZWRNYXRjaHx8ZS5kb2N1 bWVudCYmMTEhPT1lLmRvY3VtZW50Lm5vZGVUeXBlKXJldHVybiBufWNhdGNoKGkp e31yZXR1cm4gYXQodCxmLG51bGwsW2VdKS5sZW5ndGg+MH0sYXQuY29udGFpbnM9 ZnVuY3Rpb24oZSx0KXtyZXR1cm4oZS5vd25lckRvY3VtZW50fHxlKSE9PWYmJnAo ZSksdihlLHQpfSxhdC5hdHRyPWZ1bmN0aW9uKGUsbil7KGUub3duZXJEb2N1bWVu dHx8ZSkhPT1mJiZwKGUpO3ZhciBpPW8uYXR0ckhhbmRsZVtuLnRvTG93ZXJDYXNl KCldLGE9aSYmTC5jYWxsKG8uYXR0ckhhbmRsZSxuLnRvTG93ZXJDYXNlKCkpP2ko ZSxuLCFoKTp0O3JldHVybiBhPT09dD9yLmF0dHJpYnV0ZXN8fCFoP2UuZ2V0QXR0 cmlidXRlKG4pOihhPWUuZ2V0QXR0cmlidXRlTm9kZShuKSkmJmEuc3BlY2lmaWVk P2EudmFsdWU6bnVsbDphfSxhdC5lcnJvcj1mdW5jdGlvbihlKXt0aHJvdyBFcnJv cigiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIitlKX0s YXQudW5pcXVlU29ydD1mdW5jdGlvbihlKXt2YXIgdCxuPVtdLGk9MCxvPTA7aWYo Uz0hci5kZXRlY3REdXBsaWNhdGVzLGM9IXIuc29ydFN0YWJsZSYmZS5zbGljZSgw KSxlLnNvcnQoQSksUyl7d2hpbGUodD1lW28rK10pdD09PWVbb10mJihpPW4ucHVz aChvKSk7d2hpbGUoaS0tKWUuc3BsaWNlKG5baV0sMSl9cmV0dXJuIGV9LGE9YXQu Z2V0VGV4dD1mdW5jdGlvbihlKXt2YXIgdCxuPSIiLHI9MCxpPWUubm9kZVR5cGU7 aWYoaSl7aWYoMT09PWl8fDk9PT1pfHwxMT09PWkpe2lmKCJzdHJpbmciPT10eXBl b2YgZS50ZXh0Q29udGVudClyZXR1cm4gZS50ZXh0Q29udGVudDtmb3IoZT1lLmZp cnN0Q2hpbGQ7ZTtlPWUubmV4dFNpYmxpbmcpbis9YShlKX1lbHNlIGlmKDM9PT1p fHw0PT09aSlyZXR1cm4gZS5ub2RlVmFsdWV9ZWxzZSBmb3IoO3Q9ZVtyXTtyKysp bis9YSh0KTtyZXR1cm4gbn0sbz1hdC5zZWxlY3RvcnM9e2NhY2hlTGVuZ3RoOjUw LGNyZWF0ZVBzZXVkbzpsdCxtYXRjaDpRLGF0dHJIYW5kbGU6e30sZmluZDp7fSxy ZWxhdGl2ZTp7Ij4iOntkaXI6InBhcmVudE5vZGUiLGZpcnN0OiEwfSwiICI6e2Rp cjoicGFyZW50Tm9kZSJ9LCIrIjp7ZGlyOiJwcmV2aW91c1NpYmxpbmciLGZpcnN0 OiEwfSwifiI6e2RpcjoicHJldmlvdXNTaWJsaW5nIn19LHByZUZpbHRlcjp7QVRU UjpmdW5jdGlvbihlKXtyZXR1cm4gZVsxXT1lWzFdLnJlcGxhY2UocnQsaXQpLGVb M109KGVbNF18fGVbNV18fCIiKS5yZXBsYWNlKHJ0LGl0KSwifj0iPT09ZVsyXSYm KGVbM109IiAiK2VbM10rIiAiKSxlLnNsaWNlKDAsNCl9LENISUxEOmZ1bmN0aW9u KGUpe3JldHVybiBlWzFdPWVbMV0udG9Mb3dlckNhc2UoKSwibnRoIj09PWVbMV0u c2xpY2UoMCwzKT8oZVszXXx8YXQuZXJyb3IoZVswXSksZVs0XT0rKGVbNF0/ZVs1 XSsoZVs2XXx8MSk6MiooImV2ZW4iPT09ZVszXXx8Im9kZCI9PT1lWzNdKSksZVs1 XT0rKGVbN10rZVs4XXx8Im9kZCI9PT1lWzNdKSk6ZVszXSYmYXQuZXJyb3IoZVsw XSksZX0sUFNFVURPOmZ1bmN0aW9uKGUpe3ZhciBuLHI9IWVbNV0mJmVbMl07cmV0 dXJuIFEuQ0hJTEQudGVzdChlWzBdKT9udWxsOihlWzNdJiZlWzRdIT09dD9lWzJd PWVbNF06ciYmSi50ZXN0KHIpJiYobj1tdChyLCEwKSkmJihuPXIuaW5kZXhPZigi KSIsci5sZW5ndGgtbiktci5sZW5ndGgpJiYoZVswXT1lWzBdLnNsaWNlKDAsbiks ZVsyXT1yLnNsaWNlKDAsbikpLGUuc2xpY2UoMCwzKSl9fSxmaWx0ZXI6e1RBRzpm dW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UocnQsaXQpLnRvTG93ZXJDYXNlKCk7 cmV0dXJuIioiPT09ZT9mdW5jdGlvbigpe3JldHVybiEwfTpmdW5jdGlvbihlKXty ZXR1cm4gZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09dH19 LENMQVNTOmZ1bmN0aW9uKGUpe3ZhciB0PU5bZSsiICJdO3JldHVybiB0fHwodD1S ZWdFeHAoIihefCIrUCsiKSIrZSsiKCIrUCsifCQpIikpJiZOKGUsZnVuY3Rpb24o ZSl7cmV0dXJuIHQudGVzdCgic3RyaW5nIj09dHlwZW9mIGUuY2xhc3NOYW1lJiZl LmNsYXNzTmFtZXx8dHlwZW9mIGUuZ2V0QXR0cmlidXRlIT09aiYmZS5nZXRBdHRy aWJ1dGUoImNsYXNzIil8fCIiKX0pfSxBVFRSOmZ1bmN0aW9uKGUsdCxuKXtyZXR1 cm4gZnVuY3Rpb24ocil7dmFyIGk9YXQuYXR0cihyLGUpO3JldHVybiBudWxsPT1p PyIhPSI9PT10OnQ/KGkrPSIiLCI9Ij09PXQ/aT09PW46IiE9Ij09PXQ/aSE9PW46 Il49Ij09PXQ/biYmMD09PWkuaW5kZXhPZihuKToiKj0iPT09dD9uJiZpLmluZGV4 T2Yobik+LTE6IiQ9Ij09PXQ/biYmaS5zbGljZSgtbi5sZW5ndGgpPT09bjoifj0i PT09dD8oIiAiK2krIiAiKS5pbmRleE9mKG4pPi0xOiJ8PSI9PT10P2k9PT1ufHxp LnNsaWNlKDAsbi5sZW5ndGgrMSk9PT1uKyItIjohMSk6ITB9fSxDSElMRDpmdW5j dGlvbihlLHQsbixyLGkpe3ZhciBvPSJudGgiIT09ZS5zbGljZSgwLDMpLGE9Imxh c3QiIT09ZS5zbGljZSgtNCkscz0ib2YtdHlwZSI9PT10O3JldHVybiAxPT09ciYm MD09PWk/ZnVuY3Rpb24oZSl7cmV0dXJuISFlLnBhcmVudE5vZGV9OmZ1bmN0aW9u KHQsbixsKXt2YXIgdSxjLHAsZixkLGgsZz1vIT09YT8ibmV4dFNpYmxpbmciOiJw cmV2aW91c1NpYmxpbmciLG09dC5wYXJlbnROb2RlLHk9cyYmdC5ub2RlTmFtZS50 b0xvd2VyQ2FzZSgpLHY9IWwmJiFzO2lmKG0pe2lmKG8pe3doaWxlKGcpe3A9dDt3 aGlsZShwPXBbZ10paWYocz9wLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT15OjE9 PT1wLm5vZGVUeXBlKXJldHVybiExO2g9Zz0ib25seSI9PT1lJiYhaCYmIm5leHRT aWJsaW5nIn1yZXR1cm4hMH1pZihoPVthP20uZmlyc3RDaGlsZDptLmxhc3RDaGls ZF0sYSYmdil7Yz1tW2JdfHwobVtiXT17fSksdT1jW2VdfHxbXSxkPXVbMF09PT1U JiZ1WzFdLGY9dVswXT09PVQmJnVbMl0scD1kJiZtLmNoaWxkTm9kZXNbZF07d2hp bGUocD0rK2QmJnAmJnBbZ118fChmPWQ9MCl8fGgucG9wKCkpaWYoMT09PXAubm9k ZVR5cGUmJisrZiYmcD09PXQpe2NbZV09W1QsZCxmXTticmVha319ZWxzZSBpZih2 JiYodT0odFtiXXx8KHRbYl09e30pKVtlXSkmJnVbMF09PT1UKWY9dVsxXTtlbHNl IHdoaWxlKHA9KytkJiZwJiZwW2ddfHwoZj1kPTApfHxoLnBvcCgpKWlmKChzP3Au bm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXk6MT09PXAubm9kZVR5cGUpJiYrK2Ym Jih2JiYoKHBbYl18fChwW2JdPXt9KSlbZV09W1QsZl0pLHA9PT10KSlicmVhazty ZXR1cm4gZi09aSxmPT09cnx8MD09PWYlciYmZi9yPj0wfX19LFBTRVVETzpmdW5j dGlvbihlLHQpe3ZhciBuLHI9by5wc2V1ZG9zW2VdfHxvLnNldEZpbHRlcnNbZS50 b0xvd2VyQ2FzZSgpXXx8YXQuZXJyb3IoInVuc3VwcG9ydGVkIHBzZXVkbzogIitl KTtyZXR1cm4gcltiXT9yKHQpOnIubGVuZ3RoPjE/KG49W2UsZSwiIix0XSxvLnNl dEZpbHRlcnMuaGFzT3duUHJvcGVydHkoZS50b0xvd2VyQ2FzZSgpKT9sdChmdW5j dGlvbihlLG4pe3ZhciBpLG89cihlLHQpLGE9by5sZW5ndGg7d2hpbGUoYS0tKWk9 Ri5jYWxsKGUsb1thXSksZVtpXT0hKG5baV09b1thXSl9KTpmdW5jdGlvbihlKXty ZXR1cm4gcihlLDAsbil9KTpyfX0scHNldWRvczp7bm90Omx0KGZ1bmN0aW9uKGUp e3ZhciB0PVtdLG49W10scj1sKGUucmVwbGFjZSh6LCIkMSIpKTtyZXR1cm4gclti XT9sdChmdW5jdGlvbihlLHQsbixpKXt2YXIgbyxhPXIoZSxudWxsLGksW10pLHM9 ZS5sZW5ndGg7d2hpbGUocy0tKShvPWFbc10pJiYoZVtzXT0hKHRbc109bykpfSk6 ZnVuY3Rpb24oZSxpLG8pe3JldHVybiB0WzBdPWUscih0LG51bGwsbyxuKSwhbi5w b3AoKX19KSxoYXM6bHQoZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3Jl dHVybiBhdChlLHQpLmxlbmd0aD4wfX0pLGNvbnRhaW5zOmx0KGZ1bmN0aW9uKGUp e3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4odC50ZXh0Q29udGVudHx8dC5pbm5l clRleHR8fGEodCkpLmluZGV4T2YoZSk+LTF9fSksbGFuZzpsdChmdW5jdGlvbihl KXtyZXR1cm4gRy50ZXN0KGV8fCIiKXx8YXQuZXJyb3IoInVuc3VwcG9ydGVkIGxh bmc6ICIrZSksZT1lLnJlcGxhY2UocnQsaXQpLnRvTG93ZXJDYXNlKCksZnVuY3Rp b24odCl7dmFyIG47ZG8gaWYobj1oP3QubGFuZzp0LmdldEF0dHJpYnV0ZSgieG1s OmxhbmciKXx8dC5nZXRBdHRyaWJ1dGUoImxhbmciKSlyZXR1cm4gbj1uLnRvTG93 ZXJDYXNlKCksbj09PWV8fDA9PT1uLmluZGV4T2YoZSsiLSIpO3doaWxlKCh0PXQu cGFyZW50Tm9kZSkmJjE9PT10Lm5vZGVUeXBlKTtyZXR1cm4hMX19KSx0YXJnZXQ6 ZnVuY3Rpb24odCl7dmFyIG49ZS5sb2NhdGlvbiYmZS5sb2NhdGlvbi5oYXNoO3Jl dHVybiBuJiZuLnNsaWNlKDEpPT09dC5pZH0scm9vdDpmdW5jdGlvbihlKXtyZXR1 cm4gZT09PWR9LGZvY3VzOmZ1bmN0aW9uKGUpe3JldHVybiBlPT09Zi5hY3RpdmVF bGVtZW50JiYoIWYuaGFzRm9jdXN8fGYuaGFzRm9jdXMoKSkmJiEhKGUudHlwZXx8 ZS5ocmVmfHx+ZS50YWJJbmRleCl9LGVuYWJsZWQ6ZnVuY3Rpb24oZSl7cmV0dXJu IGUuZGlzYWJsZWQ9PT0hMX0sZGlzYWJsZWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUu ZGlzYWJsZWQ9PT0hMH0sY2hlY2tlZDpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVO YW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PXQmJiEhZS5jaGVja2Vk fHwib3B0aW9uIj09PXQmJiEhZS5zZWxlY3RlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24o ZSl7cmV0dXJuIGUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnNlbGVjdGVkSW5k ZXgsZS5zZWxlY3RlZD09PSEwfSxlbXB0eTpmdW5jdGlvbihlKXtmb3IoZT1lLmZp cnN0Q2hpbGQ7ZTtlPWUubmV4dFNpYmxpbmcpaWYoZS5ub2RlTmFtZT4iQCJ8fDM9 PT1lLm5vZGVUeXBlfHw0PT09ZS5ub2RlVHlwZSlyZXR1cm4hMTtyZXR1cm4hMH0s cGFyZW50OmZ1bmN0aW9uKGUpe3JldHVybiFvLnBzZXVkb3MuZW1wdHkoZSl9LGhl YWRlcjpmdW5jdGlvbihlKXtyZXR1cm4gdHQudGVzdChlLm5vZGVOYW1lKX0saW5w dXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGV0LnRlc3QoZS5ub2RlTmFtZSl9LGJ1dHRv bjpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0 dXJuImlucHV0Ij09PXQmJiJidXR0b24iPT09ZS50eXBlfHwiYnV0dG9uIj09PXR9 LHRleHQ6ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuImlucHV0Ij09PWUubm9kZU5h bWUudG9Mb3dlckNhc2UoKSYmInRleHQiPT09ZS50eXBlJiYobnVsbD09KHQ9ZS5n ZXRBdHRyaWJ1dGUoInR5cGUiKSl8fHQudG9Mb3dlckNhc2UoKT09PWUudHlwZSl9 LGZpcnN0Omh0KGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDpodChmdW5jdGlv bihlLHQpe3JldHVyblt0LTFdfSksZXE6aHQoZnVuY3Rpb24oZSx0LG4pe3JldHVy blswPm4/bit0Om5dfSksZXZlbjpodChmdW5jdGlvbihlLHQpe3ZhciBuPTA7Zm9y KDt0Pm47bis9MillLnB1c2gobik7cmV0dXJuIGV9KSxvZGQ6aHQoZnVuY3Rpb24o ZSx0KXt2YXIgbj0xO2Zvcig7dD5uO24rPTIpZS5wdXNoKG4pO3JldHVybiBlfSks bHQ6aHQoZnVuY3Rpb24oZSx0LG4pe3ZhciByPTA+bj9uK3Q6bjtmb3IoOy0tcj49 MDspZS5wdXNoKHIpO3JldHVybiBlfSksZ3Q6aHQoZnVuY3Rpb24oZSx0LG4pe3Zh ciByPTA+bj9uK3Q6bjtmb3IoO3Q+KytyOyllLnB1c2gocik7cmV0dXJuIGV9KX19 LG8ucHNldWRvcy5udGg9by5wc2V1ZG9zLmVxO2ZvcihuIGlue3JhZGlvOiEwLGNo ZWNrYm94OiEwLGZpbGU6ITAscGFzc3dvcmQ6ITAsaW1hZ2U6ITB9KW8ucHNldWRv c1tuXT1mdChuKTtmb3IobiBpbntzdWJtaXQ6ITAscmVzZXQ6ITB9KW8ucHNldWRv c1tuXT1kdChuKTtmdW5jdGlvbiBndCgpe31ndC5wcm90b3R5cGU9by5maWx0ZXJz PW8ucHNldWRvcyxvLnNldEZpbHRlcnM9bmV3IGd0O2Z1bmN0aW9uIG10KGUsdCl7 dmFyIG4scixpLGEscyxsLHUsYz1rW2UrIiAiXTtpZihjKXJldHVybiB0PzA6Yy5z bGljZSgwKTtzPWUsbD1bXSx1PW8ucHJlRmlsdGVyO3doaWxlKHMpeyghbnx8KHI9 WC5leGVjKHMpKSkmJihyJiYocz1zLnNsaWNlKHJbMF0ubGVuZ3RoKXx8cyksbC5w dXNoKGk9W10pKSxuPSExLChyPVUuZXhlYyhzKSkmJihuPXIuc2hpZnQoKSxpLnB1 c2goe3ZhbHVlOm4sdHlwZTpyWzBdLnJlcGxhY2UoeiwiICIpfSkscz1zLnNsaWNl KG4ubGVuZ3RoKSk7Zm9yKGEgaW4gby5maWx0ZXIpIShyPVFbYV0uZXhlYyhzKSl8 fHVbYV0mJiEocj11W2FdKHIpKXx8KG49ci5zaGlmdCgpLGkucHVzaCh7dmFsdWU6 bix0eXBlOmEsbWF0Y2hlczpyfSkscz1zLnNsaWNlKG4ubGVuZ3RoKSk7aWYoIW4p YnJlYWt9cmV0dXJuIHQ/cy5sZW5ndGg6cz9hdC5lcnJvcihlKTprKGUsbCkuc2xp Y2UoMCl9ZnVuY3Rpb24geXQoZSl7dmFyIHQ9MCxuPWUubGVuZ3RoLHI9IiI7Zm9y KDtuPnQ7dCsrKXIrPWVbdF0udmFsdWU7cmV0dXJuIHJ9ZnVuY3Rpb24gdnQoZSx0 LG4pe3ZhciByPXQuZGlyLG89biYmInBhcmVudE5vZGUiPT09cixhPUMrKztyZXR1 cm4gdC5maXJzdD9mdW5jdGlvbih0LG4saSl7d2hpbGUodD10W3JdKWlmKDE9PT10 Lm5vZGVUeXBlfHxvKXJldHVybiBlKHQsbixpKX06ZnVuY3Rpb24odCxuLHMpe3Zh ciBsLHUsYyxwPVQrIiAiK2E7aWYocyl7d2hpbGUodD10W3JdKWlmKCgxPT09dC5u b2RlVHlwZXx8bykmJmUodCxuLHMpKXJldHVybiEwfWVsc2Ugd2hpbGUodD10W3Jd KWlmKDE9PT10Lm5vZGVUeXBlfHxvKWlmKGM9dFtiXXx8KHRbYl09e30pLCh1PWNb cl0pJiZ1WzBdPT09cCl7aWYoKGw9dVsxXSk9PT0hMHx8bD09PWkpcmV0dXJuIGw9 PT0hMH1lbHNlIGlmKHU9Y1tyXT1bcF0sdVsxXT1lKHQsbixzKXx8aSx1WzFdPT09 ITApcmV0dXJuITB9fWZ1bmN0aW9uIGJ0KGUpe3JldHVybiBlLmxlbmd0aD4xP2Z1 bmN0aW9uKHQsbixyKXt2YXIgaT1lLmxlbmd0aDt3aGlsZShpLS0paWYoIWVbaV0o dCxuLHIpKXJldHVybiExO3JldHVybiEwfTplWzBdfWZ1bmN0aW9uIHh0KGUsdCxu LHIsaSl7dmFyIG8sYT1bXSxzPTAsbD1lLmxlbmd0aCx1PW51bGwhPXQ7Zm9yKDts PnM7cysrKShvPWVbc10pJiYoIW58fG4obyxyLGkpKSYmKGEucHVzaChvKSx1JiZ0 LnB1c2gocykpO3JldHVybiBhfWZ1bmN0aW9uIHd0KGUsdCxuLHIsaSxvKXtyZXR1 cm4gciYmIXJbYl0mJihyPXd0KHIpKSxpJiYhaVtiXSYmKGk9d3QoaSxvKSksbHQo ZnVuY3Rpb24obyxhLHMsbCl7dmFyIHUsYyxwLGY9W10sZD1bXSxoPWEubGVuZ3Ro LGc9b3x8TnQodHx8IioiLHMubm9kZVR5cGU/W3NdOnMsW10pLG09IWV8fCFvJiZ0 P2c6eHQoZyxmLGUscyxsKSx5PW4/aXx8KG8/ZTpofHxyKT9bXTphOm07aWYobiYm bihtLHkscyxsKSxyKXt1PXh0KHksZCkscih1LFtdLHMsbCksYz11Lmxlbmd0aDt3 aGlsZShjLS0pKHA9dVtjXSkmJih5W2RbY11dPSEobVtkW2NdXT1wKSl9aWYobyl7 aWYoaXx8ZSl7aWYoaSl7dT1bXSxjPXkubGVuZ3RoO3doaWxlKGMtLSkocD15W2Nd KSYmdS5wdXNoKG1bY109cCk7aShudWxsLHk9W10sdSxsKX1jPXkubGVuZ3RoO3do aWxlKGMtLSkocD15W2NdKSYmKHU9aT9GLmNhbGwobyxwKTpmW2NdKT4tMSYmKG9b dV09IShhW3VdPXApKX19ZWxzZSB5PXh0KHk9PT1hP3kuc3BsaWNlKGgseS5sZW5n dGgpOnkpLGk/aShudWxsLGEseSxsKTpNLmFwcGx5KGEseSl9KX1mdW5jdGlvbiBU dChlKXt2YXIgdCxuLHIsaT1lLmxlbmd0aCxhPW8ucmVsYXRpdmVbZVswXS50eXBl XSxzPWF8fG8ucmVsYXRpdmVbIiAiXSxsPWE/MTowLGM9dnQoZnVuY3Rpb24oZSl7 cmV0dXJuIGU9PT10fSxzLCEwKSxwPXZ0KGZ1bmN0aW9uKGUpe3JldHVybiBGLmNh bGwodCxlKT4tMX0scywhMCksZj1bZnVuY3Rpb24oZSxuLHIpe3JldHVybiFhJiYo cnx8biE9PXUpfHwoKHQ9bikubm9kZVR5cGU/YyhlLG4scik6cChlLG4scikpfV07 Zm9yKDtpPmw7bCsrKWlmKG49by5yZWxhdGl2ZVtlW2xdLnR5cGVdKWY9W3Z0KGJ0 KGYpLG4pXTtlbHNle2lmKG49by5maWx0ZXJbZVtsXS50eXBlXS5hcHBseShudWxs LGVbbF0ubWF0Y2hlcyksbltiXSl7Zm9yKHI9KytsO2k+cjtyKyspaWYoby5yZWxh dGl2ZVtlW3JdLnR5cGVdKWJyZWFrO3JldHVybiB3dChsPjEmJmJ0KGYpLGw+MSYm eXQoZS5zbGljZSgwLGwtMSkuY29uY2F0KHt2YWx1ZToiICI9PT1lW2wtMl0udHlw ZT8iKiI6IiJ9KSkucmVwbGFjZSh6LCIkMSIpLG4scj5sJiZUdChlLnNsaWNlKGws cikpLGk+ciYmVHQoZT1lLnNsaWNlKHIpKSxpPnImJnl0KGUpKX1mLnB1c2gobil9 cmV0dXJuIGJ0KGYpfWZ1bmN0aW9uIEN0KGUsdCl7dmFyIG49MCxyPXQubGVuZ3Ro PjAsYT1lLmxlbmd0aD4wLHM9ZnVuY3Rpb24ocyxsLGMscCxkKXt2YXIgaCxnLG0s eT1bXSx2PTAsYj0iMCIseD1zJiZbXSx3PW51bGwhPWQsQz11LE49c3x8YSYmby5m aW5kLlRBRygiKiIsZCYmbC5wYXJlbnROb2RlfHxsKSxrPVQrPW51bGw9PUM/MTpN YXRoLnJhbmRvbSgpfHwuMTtmb3IodyYmKHU9bCE9PWYmJmwsaT1uKTtudWxsIT0o aD1OW2JdKTtiKyspe2lmKGEmJmgpe2c9MDt3aGlsZShtPWVbZysrXSlpZihtKGgs bCxjKSl7cC5wdXNoKGgpO2JyZWFrfXcmJihUPWssaT0rK24pfXImJigoaD0hbSYm aCkmJnYtLSxzJiZ4LnB1c2goaCkpfWlmKHYrPWIsciYmYiE9PXYpe2c9MDt3aGls ZShtPXRbZysrXSltKHgseSxsLGMpO2lmKHMpe2lmKHY+MCl3aGlsZShiLS0peFti XXx8eVtiXXx8KHlbYl09cS5jYWxsKHApKTt5PXh0KHkpfU0uYXBwbHkocCx5KSx3 JiYhcyYmeS5sZW5ndGg+MCYmdit0Lmxlbmd0aD4xJiZhdC51bmlxdWVTb3J0KHAp fXJldHVybiB3JiYoVD1rLHU9QykseH07cmV0dXJuIHI/bHQocyk6c31sPWF0LmNv bXBpbGU9ZnVuY3Rpb24oZSx0KXt2YXIgbixyPVtdLGk9W10sbz1FW2UrIiAiXTtp Zighbyl7dHx8KHQ9bXQoZSkpLG49dC5sZW5ndGg7d2hpbGUobi0tKW89VHQodFtu XSksb1tiXT9yLnB1c2gobyk6aS5wdXNoKG8pO289RShlLEN0KGkscikpfXJldHVy biBvfTtmdW5jdGlvbiBOdChlLHQsbil7dmFyIHI9MCxpPXQubGVuZ3RoO2Zvcig7 aT5yO3IrKylhdChlLHRbcl0sbik7cmV0dXJuIG59ZnVuY3Rpb24ga3QoZSx0LG4s aSl7dmFyIGEscyx1LGMscCxmPW10KGUpO2lmKCFpJiYxPT09Zi5sZW5ndGgpe2lm KHM9ZlswXT1mWzBdLnNsaWNlKDApLHMubGVuZ3RoPjImJiJJRCI9PT0odT1zWzBd KS50eXBlJiZyLmdldEJ5SWQmJjk9PT10Lm5vZGVUeXBlJiZoJiZvLnJlbGF0aXZl W3NbMV0udHlwZV0pe2lmKHQ9KG8uZmluZC5JRCh1Lm1hdGNoZXNbMF0ucmVwbGFj ZShydCxpdCksdCl8fFtdKVswXSwhdClyZXR1cm4gbjtlPWUuc2xpY2Uocy5zaGlm dCgpLnZhbHVlLmxlbmd0aCl9YT1RLm5lZWRzQ29udGV4dC50ZXN0KGUpPzA6cy5s ZW5ndGg7d2hpbGUoYS0tKXtpZih1PXNbYV0sby5yZWxhdGl2ZVtjPXUudHlwZV0p YnJlYWs7aWYoKHA9by5maW5kW2NdKSYmKGk9cCh1Lm1hdGNoZXNbMF0ucmVwbGFj ZShydCxpdCksVi50ZXN0KHNbMF0udHlwZSkmJnQucGFyZW50Tm9kZXx8dCkpKXtp ZihzLnNwbGljZShhLDEpLGU9aS5sZW5ndGgmJnl0KHMpLCFlKXJldHVybiBNLmFw cGx5KG4saSksbjticmVha319fXJldHVybiBsKGUsZikoaSx0LCFoLG4sVi50ZXN0 KGUpKSxufXIuc29ydFN0YWJsZT1iLnNwbGl0KCIiKS5zb3J0KEEpLmpvaW4oIiIp PT09YixyLmRldGVjdER1cGxpY2F0ZXM9UyxwKCksci5zb3J0RGV0YWNoZWQ9dXQo ZnVuY3Rpb24oZSl7cmV0dXJuIDEmZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihm LmNyZWF0ZUVsZW1lbnQoImRpdiIpKX0pLHV0KGZ1bmN0aW9uKGUpe3JldHVybiBl LmlubmVySFRNTD0iPGEgaHJlZj0nIyc+PC9hPiIsIiMiPT09ZS5maXJzdENoaWxk LmdldEF0dHJpYnV0ZSgiaHJlZiIpfSl8fGN0KCJ0eXBlfGhyZWZ8aGVpZ2h0fHdp ZHRoIixmdW5jdGlvbihlLG4scil7cmV0dXJuIHI/dDplLmdldEF0dHJpYnV0ZShu LCJ0eXBlIj09PW4udG9Mb3dlckNhc2UoKT8xOjIpfSksci5hdHRyaWJ1dGVzJiZ1 dChmdW5jdGlvbihlKXtyZXR1cm4gZS5pbm5lckhUTUw9IjxpbnB1dC8+IixlLmZp cnN0Q2hpbGQuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsIiIpLCIiPT09ZS5maXJzdENo aWxkLmdldEF0dHJpYnV0ZSgidmFsdWUiKX0pfHxjdCgidmFsdWUiLGZ1bmN0aW9u KGUsbixyKXtyZXR1cm4gcnx8ImlucHV0IiE9PWUubm9kZU5hbWUudG9Mb3dlckNh c2UoKT90OmUuZGVmYXVsdFZhbHVlfSksdXQoZnVuY3Rpb24oZSl7cmV0dXJuIG51 bGw9PWUuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpfSl8fGN0KEIsZnVuY3Rpb24o ZSxuLHIpe3ZhciBpO3JldHVybiByP3Q6KGk9ZS5nZXRBdHRyaWJ1dGVOb2RlKG4p KSYmaS5zcGVjaWZpZWQ/aS52YWx1ZTplW25dPT09ITA/bi50b0xvd2VyQ2FzZSgp Om51bGx9KSx4LmZpbmQ9YXQseC5leHByPWF0LnNlbGVjdG9ycyx4LmV4cHJbIjoi XT14LmV4cHIucHNldWRvcyx4LnVuaXF1ZT1hdC51bmlxdWVTb3J0LHgudGV4dD1h dC5nZXRUZXh0LHguaXNYTUxEb2M9YXQuaXNYTUwseC5jb250YWlucz1hdC5jb250 YWluc30oZSk7dmFyIE89e307ZnVuY3Rpb24gRihlKXt2YXIgdD1PW2VdPXt9O3Jl dHVybiB4LmVhY2goZS5tYXRjaChUKXx8W10sZnVuY3Rpb24oZSxuKXt0W25dPSEw fSksdH14LkNhbGxiYWNrcz1mdW5jdGlvbihlKXtlPSJzdHJpbmciPT10eXBlb2Yg ZT9PW2VdfHxGKGUpOnguZXh0ZW5kKHt9LGUpO3ZhciBuLHIsaSxvLGEscyxsPVtd LHU9IWUub25jZSYmW10sYz1mdW5jdGlvbih0KXtmb3Iocj1lLm1lbW9yeSYmdCxp PSEwLGE9c3x8MCxzPTAsbz1sLmxlbmd0aCxuPSEwO2wmJm8+YTthKyspaWYobFth XS5hcHBseSh0WzBdLHRbMV0pPT09ITEmJmUuc3RvcE9uRmFsc2Upe3I9ITE7YnJl YWt9bj0hMSxsJiYodT91Lmxlbmd0aCYmYyh1LnNoaWZ0KCkpOnI/bD1bXTpwLmRp c2FibGUoKSl9LHA9e2FkZDpmdW5jdGlvbigpe2lmKGwpe3ZhciB0PWwubGVuZ3Ro OyhmdW5jdGlvbiBpKHQpe3guZWFjaCh0LGZ1bmN0aW9uKHQsbil7dmFyIHI9eC50 eXBlKG4pOyJmdW5jdGlvbiI9PT1yP2UudW5pcXVlJiZwLmhhcyhuKXx8bC5wdXNo KG4pOm4mJm4ubGVuZ3RoJiYic3RyaW5nIiE9PXImJmkobil9KX0pKGFyZ3VtZW50 cyksbj9vPWwubGVuZ3RoOnImJihzPXQsYyhyKSl9cmV0dXJuIHRoaXN9LHJlbW92 ZTpmdW5jdGlvbigpe3JldHVybiBsJiZ4LmVhY2goYXJndW1lbnRzLGZ1bmN0aW9u KGUsdCl7dmFyIHI7d2hpbGUoKHI9eC5pbkFycmF5KHQsbCxyKSk+LTEpbC5zcGxp Y2UociwxKSxuJiYobz49ciYmby0tLGE+PXImJmEtLSl9KSx0aGlzfSxoYXM6ZnVu Y3Rpb24oZSl7cmV0dXJuIGU/eC5pbkFycmF5KGUsbCk+LTE6ISghbHx8IWwubGVu Z3RoKX0sZW1wdHk6ZnVuY3Rpb24oKXtyZXR1cm4gbD1bXSxvPTAsdGhpc30sZGlz YWJsZTpmdW5jdGlvbigpe3JldHVybiBsPXU9cj10LHRoaXN9LGRpc2FibGVkOmZ1 bmN0aW9uKCl7cmV0dXJuIWx9LGxvY2s6ZnVuY3Rpb24oKXtyZXR1cm4gdT10LHJ8 fHAuZGlzYWJsZSgpLHRoaXN9LGxvY2tlZDpmdW5jdGlvbigpe3JldHVybiF1fSxm aXJlV2l0aDpmdW5jdGlvbihlLHQpe3JldHVybiFsfHxpJiYhdXx8KHQ9dHx8W10s dD1bZSx0LnNsaWNlP3Quc2xpY2UoKTp0XSxuP3UucHVzaCh0KTpjKHQpKSx0aGlz fSxmaXJlOmZ1bmN0aW9uKCl7cmV0dXJuIHAuZmlyZVdpdGgodGhpcyxhcmd1bWVu dHMpLHRoaXN9LGZpcmVkOmZ1bmN0aW9uKCl7cmV0dXJuISFpfX07cmV0dXJuIHB9 LHguZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihlKXt2YXIgdD1bWyJyZXNvbHZl IiwiZG9uZSIseC5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksInJlc29sdmVkIl0s WyJyZWplY3QiLCJmYWlsIix4LkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwicmVq ZWN0ZWQiXSxbIm5vdGlmeSIsInByb2dyZXNzIix4LkNhbGxiYWNrcygibWVtb3J5 IildXSxuPSJwZW5kaW5nIixyPXtzdGF0ZTpmdW5jdGlvbigpe3JldHVybiBufSxh bHdheXM6ZnVuY3Rpb24oKXtyZXR1cm4gaS5kb25lKGFyZ3VtZW50cykuZmFpbChh cmd1bWVudHMpLHRoaXN9LHRoZW46ZnVuY3Rpb24oKXt2YXIgZT1hcmd1bWVudHM7 cmV0dXJuIHguRGVmZXJyZWQoZnVuY3Rpb24obil7eC5lYWNoKHQsZnVuY3Rpb24o dCxvKXt2YXIgYT1vWzBdLHM9eC5pc0Z1bmN0aW9uKGVbdF0pJiZlW3RdO2lbb1sx XV0oZnVuY3Rpb24oKXt2YXIgZT1zJiZzLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtl JiZ4LmlzRnVuY3Rpb24oZS5wcm9taXNlKT9lLnByb21pc2UoKS5kb25lKG4ucmVz b2x2ZSkuZmFpbChuLnJlamVjdCkucHJvZ3Jlc3Mobi5ub3RpZnkpOm5bYSsiV2l0 aCJdKHRoaXM9PT1yP24ucHJvbWlzZSgpOnRoaXMscz9bZV06YXJndW1lbnRzKX0p fSksZT1udWxsfSkucHJvbWlzZSgpfSxwcm9taXNlOmZ1bmN0aW9uKGUpe3JldHVy biBudWxsIT1lP3guZXh0ZW5kKGUscik6cn19LGk9e307cmV0dXJuIHIucGlwZT1y LnRoZW4seC5lYWNoKHQsZnVuY3Rpb24oZSxvKXt2YXIgYT1vWzJdLHM9b1szXTty W29bMV1dPWEuYWRkLHMmJmEuYWRkKGZ1bmN0aW9uKCl7bj1zfSx0WzFeZV1bMl0u ZGlzYWJsZSx0WzJdWzJdLmxvY2spLGlbb1swXV09ZnVuY3Rpb24oKXtyZXR1cm4g aVtvWzBdKyJXaXRoIl0odGhpcz09PWk/cjp0aGlzLGFyZ3VtZW50cyksdGhpc30s aVtvWzBdKyJXaXRoIl09YS5maXJlV2l0aH0pLHIucHJvbWlzZShpKSxlJiZlLmNh bGwoaSxpKSxpfSx3aGVuOmZ1bmN0aW9uKGUpe3ZhciB0PTAsbj1nLmNhbGwoYXJn dW1lbnRzKSxyPW4ubGVuZ3RoLGk9MSE9PXJ8fGUmJnguaXNGdW5jdGlvbihlLnBy b21pc2UpP3I6MCxvPTE9PT1pP2U6eC5EZWZlcnJlZCgpLGE9ZnVuY3Rpb24oZSx0 LG4pe3JldHVybiBmdW5jdGlvbihyKXt0W2VdPXRoaXMsbltlXT1hcmd1bWVudHMu bGVuZ3RoPjE/Zy5jYWxsKGFyZ3VtZW50cyk6cixuPT09cz9vLm5vdGlmeVdpdGgo dCxuKTotLWl8fG8ucmVzb2x2ZVdpdGgodCxuKX19LHMsbCx1O2lmKHI+MSlmb3Io cz1BcnJheShyKSxsPUFycmF5KHIpLHU9QXJyYXkocik7cj50O3QrKyluW3RdJiZ4 LmlzRnVuY3Rpb24oblt0XS5wcm9taXNlKT9uW3RdLnByb21pc2UoKS5kb25lKGEo dCx1LG4pKS5mYWlsKG8ucmVqZWN0KS5wcm9ncmVzcyhhKHQsbCxzKSk6LS1pO3Jl dHVybiBpfHxvLnJlc29sdmVXaXRoKHUsbiksby5wcm9taXNlKCl9fSkseC5zdXBw b3J0PWZ1bmN0aW9uKHQpe3ZhciBuLHIsbyxzLGwsdSxjLHAsZixkPWEuY3JlYXRl RWxlbWVudCgiZGl2Iik7aWYoZC5zZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIsInQi KSxkLmlubmVySFRNTD0iICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0n L2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixuPWQuZ2V0RWxlbWVu dHNCeVRhZ05hbWUoIioiKXx8W10scj1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJh IilbMF0sIXJ8fCFyLnN0eWxlfHwhbi5sZW5ndGgpcmV0dXJuIHQ7cz1hLmNyZWF0 ZUVsZW1lbnQoInNlbGVjdCIpLHU9cy5hcHBlbmRDaGlsZChhLmNyZWF0ZUVsZW1l bnQoIm9wdGlvbiIpKSxvPWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0Iilb MF0sci5zdHlsZS5jc3NUZXh0PSJ0b3A6MXB4O2Zsb2F0OmxlZnQ7b3BhY2l0eTou NSIsdC5nZXRTZXRBdHRyaWJ1dGU9InQiIT09ZC5jbGFzc05hbWUsdC5sZWFkaW5n V2hpdGVzcGFjZT0zPT09ZC5maXJzdENoaWxkLm5vZGVUeXBlLHQudGJvZHk9IWQu Z2V0RWxlbWVudHNCeVRhZ05hbWUoInRib2R5IikubGVuZ3RoLHQuaHRtbFNlcmlh bGl6ZT0hIWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKS5sZW5ndGgsdC5z dHlsZT0vdG9wLy50ZXN0KHIuZ2V0QXR0cmlidXRlKCJzdHlsZSIpKSx0LmhyZWZO b3JtYWxpemVkPSIvYSI9PT1yLmdldEF0dHJpYnV0ZSgiaHJlZiIpLHQub3BhY2l0 eT0vXjAuNS8udGVzdChyLnN0eWxlLm9wYWNpdHkpLHQuY3NzRmxvYXQ9ISFyLnN0 eWxlLmNzc0Zsb2F0LHQuY2hlY2tPbj0hIW8udmFsdWUsdC5vcHRTZWxlY3RlZD11 LnNlbGVjdGVkLHQuZW5jdHlwZT0hIWEuY3JlYXRlRWxlbWVudCgiZm9ybSIpLmVu Y3R5cGUsdC5odG1sNUNsb25lPSI8Om5hdj48LzpuYXY+IiE9PWEuY3JlYXRlRWxl bWVudCgibmF2IikuY2xvbmVOb2RlKCEwKS5vdXRlckhUTUwsdC5pbmxpbmVCbG9j a05lZWRzTGF5b3V0PSExLHQuc2hyaW5rV3JhcEJsb2Nrcz0hMSx0LnBpeGVsUG9z aXRpb249ITEsdC5kZWxldGVFeHBhbmRvPSEwLHQubm9DbG9uZUV2ZW50PSEwLHQu cmVsaWFibGVNYXJnaW5SaWdodD0hMCx0LmJveFNpemluZ1JlbGlhYmxlPSEwLG8u Y2hlY2tlZD0hMCx0Lm5vQ2xvbmVDaGVja2VkPW8uY2xvbmVOb2RlKCEwKS5jaGVj a2VkLHMuZGlzYWJsZWQ9ITAsdC5vcHREaXNhYmxlZD0hdS5kaXNhYmxlZDt0cnl7 ZGVsZXRlIGQudGVzdH1jYXRjaChoKXt0LmRlbGV0ZUV4cGFuZG89ITF9bz1hLmNy ZWF0ZUVsZW1lbnQoImlucHV0Iiksby5zZXRBdHRyaWJ1dGUoInZhbHVlIiwiIiks dC5pbnB1dD0iIj09PW8uZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpLG8udmFsdWU9InQi LG8uc2V0QXR0cmlidXRlKCJ0eXBlIiwicmFkaW8iKSx0LnJhZGlvVmFsdWU9InQi PT09by52YWx1ZSxvLnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsInQiKSxvLnNldEF0 dHJpYnV0ZSgibmFtZSIsInQiKSxsPWEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgp LGwuYXBwZW5kQ2hpbGQobyksdC5hcHBlbmRDaGVja2VkPW8uY2hlY2tlZCx0LmNo ZWNrQ2xvbmU9bC5jbG9uZU5vZGUoITApLmNsb25lTm9kZSghMCkubGFzdENoaWxk LmNoZWNrZWQsZC5hdHRhY2hFdmVudCYmKGQuYXR0YWNoRXZlbnQoIm9uY2xpY2si LGZ1bmN0aW9uKCl7dC5ub0Nsb25lRXZlbnQ9ITF9KSxkLmNsb25lTm9kZSghMCku Y2xpY2soKSk7Zm9yKGYgaW57c3VibWl0OiEwLGNoYW5nZTohMCxmb2N1c2luOiEw fSlkLnNldEF0dHJpYnV0ZShjPSJvbiIrZiwidCIpLHRbZisiQnViYmxlcyJdPWMg aW4gZXx8ZC5hdHRyaWJ1dGVzW2NdLmV4cGFuZG89PT0hMTtkLnN0eWxlLmJhY2tn cm91bmRDbGlwPSJjb250ZW50LWJveCIsZC5jbG9uZU5vZGUoITApLnN0eWxlLmJh Y2tncm91bmRDbGlwPSIiLHQuY2xlYXJDbG9uZVN0eWxlPSJjb250ZW50LWJveCI9 PT1kLnN0eWxlLmJhY2tncm91bmRDbGlwO2ZvcihmIGluIHgodCkpYnJlYWs7cmV0 dXJuIHQub3duTGFzdD0iMCIhPT1mLHgoZnVuY3Rpb24oKXt2YXIgbixyLG8scz0i cGFkZGluZzowO21hcmdpbjowO2JvcmRlcjowO2Rpc3BsYXk6YmxvY2s7Ym94LXNp emluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7LXdl YmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94OyIsbD1hLmdldEVsZW1lbnRzQnlU YWdOYW1lKCJib2R5IilbMF07bCYmKG49YS5jcmVhdGVFbGVtZW50KCJkaXYiKSxu LnN0eWxlLmNzc1RleHQ9ImJvcmRlcjowO3dpZHRoOjA7aGVpZ2h0OjA7cG9zaXRp b246YWJzb2x1dGU7dG9wOjA7bGVmdDotOTk5OXB4O21hcmdpbi10b3A6MXB4Iixs LmFwcGVuZENoaWxkKG4pLmFwcGVuZENoaWxkKGQpLGQuaW5uZXJIVE1MPSI8dGFi bGU+PHRyPjx0ZD48L3RkPjx0ZD50PC90ZD48L3RyPjwvdGFibGU+IixvPWQuZ2V0 RWxlbWVudHNCeVRhZ05hbWUoInRkIiksb1swXS5zdHlsZS5jc3NUZXh0PSJwYWRk aW5nOjA7bWFyZ2luOjA7Ym9yZGVyOjA7ZGlzcGxheTpub25lIixwPTA9PT1vWzBd Lm9mZnNldEhlaWdodCxvWzBdLnN0eWxlLmRpc3BsYXk9IiIsb1sxXS5zdHlsZS5k aXNwbGF5PSJub25lIix0LnJlbGlhYmxlSGlkZGVuT2Zmc2V0cz1wJiYwPT09b1sw XS5vZmZzZXRIZWlnaHQsZC5pbm5lckhUTUw9IiIsZC5zdHlsZS5jc3NUZXh0PSJi b3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7 LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzoxcHg7Ym9yZGVy OjFweDtkaXNwbGF5OmJsb2NrO3dpZHRoOjRweDttYXJnaW4tdG9wOjElO3Bvc2l0 aW9uOmFic29sdXRlO3RvcDoxJTsiLHguc3dhcChsLG51bGwhPWwuc3R5bGUuem9v bT97em9vbToxfTp7fSxmdW5jdGlvbigpe3QuYm94U2l6aW5nPTQ9PT1kLm9mZnNl dFdpZHRofSksZS5nZXRDb21wdXRlZFN0eWxlJiYodC5waXhlbFBvc2l0aW9uPSIx JSIhPT0oZS5nZXRDb21wdXRlZFN0eWxlKGQsbnVsbCl8fHt9KS50b3AsdC5ib3hT aXppbmdSZWxpYWJsZT0iNHB4Ij09PShlLmdldENvbXB1dGVkU3R5bGUoZCxudWxs KXx8e3dpZHRoOiI0cHgifSkud2lkdGgscj1kLmFwcGVuZENoaWxkKGEuY3JlYXRl RWxlbWVudCgiZGl2IikpLHIuc3R5bGUuY3NzVGV4dD1kLnN0eWxlLmNzc1RleHQ9 cyxyLnN0eWxlLm1hcmdpblJpZ2h0PXIuc3R5bGUud2lkdGg9IjAiLGQuc3R5bGUu d2lkdGg9IjFweCIsdC5yZWxpYWJsZU1hcmdpblJpZ2h0PSFwYXJzZUZsb2F0KChl LmdldENvbXB1dGVkU3R5bGUocixudWxsKXx8e30pLm1hcmdpblJpZ2h0KSksdHlw ZW9mIGQuc3R5bGUuem9vbSE9PWkmJihkLmlubmVySFRNTD0iIixkLnN0eWxlLmNz c1RleHQ9cysid2lkdGg6MXB4O3BhZGRpbmc6MXB4O2Rpc3BsYXk6aW5saW5lO3pv b206MSIsdC5pbmxpbmVCbG9ja05lZWRzTGF5b3V0PTM9PT1kLm9mZnNldFdpZHRo LGQuc3R5bGUuZGlzcGxheT0iYmxvY2siLGQuaW5uZXJIVE1MPSI8ZGl2PjwvZGl2 PiIsZC5maXJzdENoaWxkLnN0eWxlLndpZHRoPSI1cHgiLHQuc2hyaW5rV3JhcEJs b2Nrcz0zIT09ZC5vZmZzZXRXaWR0aCx0LmlubGluZUJsb2NrTmVlZHNMYXlvdXQm JihsLnN0eWxlLnpvb209MSkpLGwucmVtb3ZlQ2hpbGQobiksbj1kPW89cj1udWxs KX0pLG49cz1sPXU9cj1vPW51bGwsdAp9KHt9KTt2YXIgQj0vKD86XHtbXHNcU10q XH18XFtbXHNcU10qXF0pJC8sUD0vKFtBLVpdKS9nO2Z1bmN0aW9uIFIoZSxuLHIs aSl7aWYoeC5hY2NlcHREYXRhKGUpKXt2YXIgbyxhLHM9eC5leHBhbmRvLGw9ZS5u b2RlVHlwZSx1PWw/eC5jYWNoZTplLGM9bD9lW3NdOmVbc10mJnM7aWYoYyYmdVtj XSYmKGl8fHVbY10uZGF0YSl8fHIhPT10fHwic3RyaW5nIiE9dHlwZW9mIG4pcmV0 dXJuIGN8fChjPWw/ZVtzXT1wLnBvcCgpfHx4Lmd1aWQrKzpzKSx1W2NdfHwodVtj XT1sP3t9Ont0b0pTT046eC5ub29wfSksKCJvYmplY3QiPT10eXBlb2Ygbnx8ImZ1 bmN0aW9uIj09dHlwZW9mIG4pJiYoaT91W2NdPXguZXh0ZW5kKHVbY10sbik6dVtj XS5kYXRhPXguZXh0ZW5kKHVbY10uZGF0YSxuKSksYT11W2NdLGl8fChhLmRhdGF8 fChhLmRhdGE9e30pLGE9YS5kYXRhKSxyIT09dCYmKGFbeC5jYW1lbENhc2Uobild PXIpLCJzdHJpbmciPT10eXBlb2Ygbj8obz1hW25dLG51bGw9PW8mJihvPWFbeC5j YW1lbENhc2UobildKSk6bz1hLG99fWZ1bmN0aW9uIFcoZSx0LG4pe2lmKHguYWNj ZXB0RGF0YShlKSl7dmFyIHIsaSxvPWUubm9kZVR5cGUsYT1vP3guY2FjaGU6ZSxz PW8/ZVt4LmV4cGFuZG9dOnguZXhwYW5kbztpZihhW3NdKXtpZih0JiYocj1uP2Fb c106YVtzXS5kYXRhKSl7eC5pc0FycmF5KHQpP3Q9dC5jb25jYXQoeC5tYXAodCx4 LmNhbWVsQ2FzZSkpOnQgaW4gcj90PVt0XToodD14LmNhbWVsQ2FzZSh0KSx0PXQg aW4gcj9bdF06dC5zcGxpdCgiICIpKSxpPXQubGVuZ3RoO3doaWxlKGktLSlkZWxl dGUgclt0W2ldXTtpZihuPyFJKHIpOiF4LmlzRW1wdHlPYmplY3QocikpcmV0dXJu fShufHwoZGVsZXRlIGFbc10uZGF0YSxJKGFbc10pKSkmJihvP3guY2xlYW5EYXRh KFtlXSwhMCk6eC5zdXBwb3J0LmRlbGV0ZUV4cGFuZG98fGEhPWEud2luZG93P2Rl bGV0ZSBhW3NdOmFbc109bnVsbCl9fX14LmV4dGVuZCh7Y2FjaGU6e30sbm9EYXRh OnthcHBsZXQ6ITAsZW1iZWQ6ITAsb2JqZWN0OiJjbHNpZDpEMjdDREI2RS1BRTZE LTExY2YtOTZCOC00NDQ1NTM1NDAwMDAifSxoYXNEYXRhOmZ1bmN0aW9uKGUpe3Jl dHVybiBlPWUubm9kZVR5cGU/eC5jYWNoZVtlW3guZXhwYW5kb11dOmVbeC5leHBh bmRvXSwhIWUmJiFJKGUpfSxkYXRhOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gUihl LHQsbil9LHJlbW92ZURhdGE6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gVyhlLHQpfSxf ZGF0YTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIFIoZSx0LG4sITApfSxfcmVtb3Zl RGF0YTpmdW5jdGlvbihlLHQpe3JldHVybiBXKGUsdCwhMCl9LGFjY2VwdERhdGE6 ZnVuY3Rpb24oZSl7aWYoZS5ub2RlVHlwZSYmMSE9PWUubm9kZVR5cGUmJjkhPT1l Lm5vZGVUeXBlKXJldHVybiExO3ZhciB0PWUubm9kZU5hbWUmJngubm9EYXRhW2Uu bm9kZU5hbWUudG9Mb3dlckNhc2UoKV07cmV0dXJuIXR8fHQhPT0hMCYmZS5nZXRB dHRyaWJ1dGUoImNsYXNzaWQiKT09PXR9fSkseC5mbi5leHRlbmQoe2RhdGE6ZnVu Y3Rpb24oZSxuKXt2YXIgcixpLG89bnVsbCxhPTAscz10aGlzWzBdO2lmKGU9PT10 KXtpZih0aGlzLmxlbmd0aCYmKG89eC5kYXRhKHMpLDE9PT1zLm5vZGVUeXBlJiYh eC5fZGF0YShzLCJwYXJzZWRBdHRycyIpKSl7Zm9yKHI9cy5hdHRyaWJ1dGVzO3Iu bGVuZ3RoPmE7YSsrKWk9clthXS5uYW1lLDA9PT1pLmluZGV4T2YoImRhdGEtIikm JihpPXguY2FtZWxDYXNlKGkuc2xpY2UoNSkpLCQocyxpLG9baV0pKTt4Ll9kYXRh KHMsInBhcnNlZEF0dHJzIiwhMCl9cmV0dXJuIG99cmV0dXJuIm9iamVjdCI9PXR5 cGVvZiBlP3RoaXMuZWFjaChmdW5jdGlvbigpe3guZGF0YSh0aGlzLGUpfSk6YXJn dW1lbnRzLmxlbmd0aD4xP3RoaXMuZWFjaChmdW5jdGlvbigpe3guZGF0YSh0aGlz LGUsbil9KTpzPyQocyxlLHguZGF0YShzLGUpKTpudWxsfSxyZW1vdmVEYXRhOmZ1 bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt4LnJlbW92ZURh dGEodGhpcyxlKX0pfX0pO2Z1bmN0aW9uICQoZSxuLHIpe2lmKHI9PT10JiYxPT09 ZS5ub2RlVHlwZSl7dmFyIGk9ImRhdGEtIituLnJlcGxhY2UoUCwiLSQxIikudG9M b3dlckNhc2UoKTtpZihyPWUuZ2V0QXR0cmlidXRlKGkpLCJzdHJpbmciPT10eXBl b2Ygcil7dHJ5e3I9InRydWUiPT09cj8hMDoiZmFsc2UiPT09cj8hMToibnVsbCI9 PT1yP251bGw6K3IrIiI9PT1yPytyOkIudGVzdChyKT94LnBhcnNlSlNPTihyKTpy fWNhdGNoKG8pe314LmRhdGEoZSxuLHIpfWVsc2Ugcj10fXJldHVybiByfWZ1bmN0 aW9uIEkoZSl7dmFyIHQ7Zm9yKHQgaW4gZSlpZigoImRhdGEiIT09dHx8IXguaXNF bXB0eU9iamVjdChlW3RdKSkmJiJ0b0pTT04iIT09dClyZXR1cm4hMTtyZXR1cm4h MH14LmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oZSxuLHIpe3ZhciBpO3JldHVybiBl PyhuPShufHwiZngiKSsicXVldWUiLGk9eC5fZGF0YShlLG4pLHImJighaXx8eC5p c0FycmF5KHIpP2k9eC5fZGF0YShlLG4seC5tYWtlQXJyYXkocikpOmkucHVzaChy KSksaXx8W10pOnR9LGRlcXVldWU6ZnVuY3Rpb24oZSx0KXt0PXR8fCJmeCI7dmFy IG49eC5xdWV1ZShlLHQpLHI9bi5sZW5ndGgsaT1uLnNoaWZ0KCksbz14Ll9xdWV1 ZUhvb2tzKGUsdCksYT1mdW5jdGlvbigpe3guZGVxdWV1ZShlLHQpfTsiaW5wcm9n cmVzcyI9PT1pJiYoaT1uLnNoaWZ0KCksci0tKSxpJiYoImZ4Ij09PXQmJm4udW5z aGlmdCgiaW5wcm9ncmVzcyIpLGRlbGV0ZSBvLnN0b3AsaS5jYWxsKGUsYSxvKSks IXImJm8mJm8uZW1wdHkuZmlyZSgpfSxfcXVldWVIb29rczpmdW5jdGlvbihlLHQp e3ZhciBuPXQrInF1ZXVlSG9va3MiO3JldHVybiB4Ll9kYXRhKGUsbil8fHguX2Rh dGEoZSxuLHtlbXB0eTp4LkNhbGxiYWNrcygib25jZSBtZW1vcnkiKS5hZGQoZnVu Y3Rpb24oKXt4Ll9yZW1vdmVEYXRhKGUsdCsicXVldWUiKSx4Ll9yZW1vdmVEYXRh KGUsbil9KX0pfX0pLHguZm4uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihlLG4pe3Zh ciByPTI7cmV0dXJuInN0cmluZyIhPXR5cGVvZiBlJiYobj1lLGU9ImZ4IixyLS0p LHI+YXJndW1lbnRzLmxlbmd0aD94LnF1ZXVlKHRoaXNbMF0sZSk6bj09PXQ/dGhp czp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD14LnF1ZXVlKHRoaXMsZSxuKTt4 Ll9xdWV1ZUhvb2tzKHRoaXMsZSksImZ4Ij09PWUmJiJpbnByb2dyZXNzIiE9PXRb MF0mJnguZGVxdWV1ZSh0aGlzLGUpfSl9LGRlcXVldWU6ZnVuY3Rpb24oZSl7cmV0 dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3guZGVxdWV1ZSh0aGlzLGUpfSl9LGRl bGF5OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9eC5meD94LmZ4LnNwZWVkc1tlXXx8 ZTplLHQ9dHx8ImZ4Iix0aGlzLnF1ZXVlKHQsZnVuY3Rpb24odCxuKXt2YXIgcj1z ZXRUaW1lb3V0KHQsZSk7bi5zdG9wPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KHIp fX0pfSxjbGVhclF1ZXVlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnF1ZXVlKGV8 fCJmeCIsW10pfSxwcm9taXNlOmZ1bmN0aW9uKGUsbil7dmFyIHIsaT0xLG89eC5E ZWZlcnJlZCgpLGE9dGhpcyxzPXRoaXMubGVuZ3RoLGw9ZnVuY3Rpb24oKXstLWl8 fG8ucmVzb2x2ZVdpdGgoYSxbYV0pfTsic3RyaW5nIiE9dHlwZW9mIGUmJihuPWUs ZT10KSxlPWV8fCJmeCI7d2hpbGUocy0tKXI9eC5fZGF0YShhW3NdLGUrInF1ZXVl SG9va3MiKSxyJiZyLmVtcHR5JiYoaSsrLHIuZW1wdHkuYWRkKGwpKTtyZXR1cm4g bCgpLG8ucHJvbWlzZShuKX19KTt2YXIgeixYLFU9L1tcdFxyXG5cZl0vZyxWPS9c ci9nLFk9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9ufG9iamVjdCkk L2ksSj0vXig/OmF8YXJlYSkkL2ksRz0vXig/OmNoZWNrZWR8c2VsZWN0ZWQpJC9p LFE9eC5zdXBwb3J0LmdldFNldEF0dHJpYnV0ZSxLPXguc3VwcG9ydC5pbnB1dDt4 LmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihlLHQpe3JldHVybiB4LmFjY2Vzcyh0 aGlzLHguYXR0cixlLHQsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlQXR0cjpm dW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7eC5yZW1vdmVB dHRyKHRoaXMsZSl9KX0scHJvcDpmdW5jdGlvbihlLHQpe3JldHVybiB4LmFjY2Vz cyh0aGlzLHgucHJvcCxlLHQsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlUHJv cDpmdW5jdGlvbihlKXtyZXR1cm4gZT14LnByb3BGaXhbZV18fGUsdGhpcy5lYWNo KGZ1bmN0aW9uKCl7dHJ5e3RoaXNbZV09dCxkZWxldGUgdGhpc1tlXX1jYXRjaChu KXt9fSl9LGFkZENsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpLG8sYT0wLHM9 dGhpcy5sZW5ndGgsbD0ic3RyaW5nIj09dHlwZW9mIGUmJmU7aWYoeC5pc0Z1bmN0 aW9uKGUpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24odCl7eCh0aGlzKS5hZGRD bGFzcyhlLmNhbGwodGhpcyx0LHRoaXMuY2xhc3NOYW1lKSl9KTtpZihsKWZvcih0 PShlfHwiIikubWF0Y2goVCl8fFtdO3M+YTthKyspaWYobj10aGlzW2FdLHI9MT09 PW4ubm9kZVR5cGUmJihuLmNsYXNzTmFtZT8oIiAiK24uY2xhc3NOYW1lKyIgIiku cmVwbGFjZShVLCIgIik6IiAiKSl7bz0wO3doaWxlKGk9dFtvKytdKTA+ci5pbmRl eE9mKCIgIitpKyIgIikmJihyKz1pKyIgIik7bi5jbGFzc05hbWU9eC50cmltKHIp fXJldHVybiB0aGlzfSxyZW1vdmVDbGFzczpmdW5jdGlvbihlKXt2YXIgdCxuLHIs aSxvLGE9MCxzPXRoaXMubGVuZ3RoLGw9MD09PWFyZ3VtZW50cy5sZW5ndGh8fCJz dHJpbmciPT10eXBlb2YgZSYmZTtpZih4LmlzRnVuY3Rpb24oZSkpcmV0dXJuIHRo aXMuZWFjaChmdW5jdGlvbih0KXt4KHRoaXMpLnJlbW92ZUNsYXNzKGUuY2FsbCh0 aGlzLHQsdGhpcy5jbGFzc05hbWUpKX0pO2lmKGwpZm9yKHQ9KGV8fCIiKS5tYXRj aChUKXx8W107cz5hO2ErKylpZihuPXRoaXNbYV0scj0xPT09bi5ub2RlVHlwZSYm KG4uY2xhc3NOYW1lPygiICIrbi5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKFUsIiAi KToiIikpe289MDt3aGlsZShpPXRbbysrXSl3aGlsZShyLmluZGV4T2YoIiAiK2kr IiAiKT49MClyPXIucmVwbGFjZSgiICIraSsiICIsIiAiKTtuLmNsYXNzTmFtZT1l P3gudHJpbShyKToiIn1yZXR1cm4gdGhpc30sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24o ZSx0KXt2YXIgbj10eXBlb2YgZTtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiB0JiYi c3RyaW5nIj09PW4/dD90aGlzLmFkZENsYXNzKGUpOnRoaXMucmVtb3ZlQ2xhc3Mo ZSk6eC5pc0Z1bmN0aW9uKGUpP3RoaXMuZWFjaChmdW5jdGlvbihuKXt4KHRoaXMp LnRvZ2dsZUNsYXNzKGUuY2FsbCh0aGlzLG4sdGhpcy5jbGFzc05hbWUsdCksdCl9 KTp0aGlzLmVhY2goZnVuY3Rpb24oKXtpZigic3RyaW5nIj09PW4pe3ZhciB0LHI9 MCxvPXgodGhpcyksYT1lLm1hdGNoKFQpfHxbXTt3aGlsZSh0PWFbcisrXSlvLmhh c0NsYXNzKHQpP28ucmVtb3ZlQ2xhc3ModCk6by5hZGRDbGFzcyh0KX1lbHNlKG49 PT1pfHwiYm9vbGVhbiI9PT1uKSYmKHRoaXMuY2xhc3NOYW1lJiZ4Ll9kYXRhKHRo aXMsIl9fY2xhc3NOYW1lX18iLHRoaXMuY2xhc3NOYW1lKSx0aGlzLmNsYXNzTmFt ZT10aGlzLmNsYXNzTmFtZXx8ZT09PSExPyIiOnguX2RhdGEodGhpcywiX19jbGFz c05hbWVfXyIpfHwiIil9KX0saGFzQ2xhc3M6ZnVuY3Rpb24oZSl7dmFyIHQ9IiAi K2UrIiAiLG49MCxyPXRoaXMubGVuZ3RoO2Zvcig7cj5uO24rKylpZigxPT09dGhp c1tuXS5ub2RlVHlwZSYmKCIgIit0aGlzW25dLmNsYXNzTmFtZSsiICIpLnJlcGxh Y2UoVSwiICIpLmluZGV4T2YodCk+PTApcmV0dXJuITA7cmV0dXJuITF9LHZhbDpm dW5jdGlvbihlKXt2YXIgbixyLGksbz10aGlzWzBdO3tpZihhcmd1bWVudHMubGVu Z3RoKXJldHVybiBpPXguaXNGdW5jdGlvbihlKSx0aGlzLmVhY2goZnVuY3Rpb24o bil7dmFyIG87MT09PXRoaXMubm9kZVR5cGUmJihvPWk/ZS5jYWxsKHRoaXMsbix4 KHRoaXMpLnZhbCgpKTplLG51bGw9PW8/bz0iIjoibnVtYmVyIj09dHlwZW9mIG8/ bys9IiI6eC5pc0FycmF5KG8pJiYobz14Lm1hcChvLGZ1bmN0aW9uKGUpe3JldHVy biBudWxsPT1lPyIiOmUrIiJ9KSkscj14LnZhbEhvb2tzW3RoaXMudHlwZV18fHgu dmFsSG9va3NbdGhpcy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSxyJiYic2V0Imlu IHImJnIuc2V0KHRoaXMsbywidmFsdWUiKSE9PXR8fCh0aGlzLnZhbHVlPW8pKX0p O2lmKG8pcmV0dXJuIHI9eC52YWxIb29rc1tvLnR5cGVdfHx4LnZhbEhvb2tzW28u bm9kZU5hbWUudG9Mb3dlckNhc2UoKV0sciYmImdldCJpbiByJiYobj1yLmdldChv LCJ2YWx1ZSIpKSE9PXQ/bjoobj1vLnZhbHVlLCJzdHJpbmciPT10eXBlb2Ygbj9u LnJlcGxhY2UoViwiIik6bnVsbD09bj8iIjpuKX19fSkseC5leHRlbmQoe3ZhbEhv b2tzOntvcHRpb246e2dldDpmdW5jdGlvbihlKXt2YXIgdD14LmZpbmQuYXR0cihl LCJ2YWx1ZSIpO3JldHVybiBudWxsIT10P3Q6ZS50ZXh0fX0sc2VsZWN0OntnZXQ6 ZnVuY3Rpb24oZSl7dmFyIHQsbixyPWUub3B0aW9ucyxpPWUuc2VsZWN0ZWRJbmRl eCxvPSJzZWxlY3Qtb25lIj09PWUudHlwZXx8MD5pLGE9bz9udWxsOltdLHM9bz9p KzE6ci5sZW5ndGgsbD0wPmk/czpvP2k6MDtmb3IoO3M+bDtsKyspaWYobj1yW2xd LCEoIW4uc2VsZWN0ZWQmJmwhPT1pfHwoeC5zdXBwb3J0Lm9wdERpc2FibGVkP24u ZGlzYWJsZWQ6bnVsbCE9PW4uZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpKXx8bi5w YXJlbnROb2RlLmRpc2FibGVkJiZ4Lm5vZGVOYW1lKG4ucGFyZW50Tm9kZSwib3B0 Z3JvdXAiKSkpe2lmKHQ9eChuKS52YWwoKSxvKXJldHVybiB0O2EucHVzaCh0KX1y ZXR1cm4gYX0sc2V0OmZ1bmN0aW9uKGUsdCl7dmFyIG4scixpPWUub3B0aW9ucyxv PXgubWFrZUFycmF5KHQpLGE9aS5sZW5ndGg7d2hpbGUoYS0tKXI9aVthXSwoci5z ZWxlY3RlZD14LmluQXJyYXkoeChyKS52YWwoKSxvKT49MCkmJihuPSEwKTtyZXR1 cm4gbnx8KGUuc2VsZWN0ZWRJbmRleD0tMSksb319fSxhdHRyOmZ1bmN0aW9uKGUs bixyKXt2YXIgbyxhLHM9ZS5ub2RlVHlwZTtpZihlJiYzIT09cyYmOCE9PXMmJjIh PT1zKXJldHVybiB0eXBlb2YgZS5nZXRBdHRyaWJ1dGU9PT1pP3gucHJvcChlLG4s cik6KDE9PT1zJiZ4LmlzWE1MRG9jKGUpfHwobj1uLnRvTG93ZXJDYXNlKCksbz14 LmF0dHJIb29rc1tuXXx8KHguZXhwci5tYXRjaC5ib29sLnRlc3Qobik/WDp6KSks cj09PXQ/byYmImdldCJpbiBvJiZudWxsIT09KGE9by5nZXQoZSxuKSk/YTooYT14 LmZpbmQuYXR0cihlLG4pLG51bGw9PWE/dDphKTpudWxsIT09cj9vJiYic2V0Imlu IG8mJihhPW8uc2V0KGUscixuKSkhPT10P2E6KGUuc2V0QXR0cmlidXRlKG4scisi Iikscik6KHgucmVtb3ZlQXR0cihlLG4pLHQpKX0scmVtb3ZlQXR0cjpmdW5jdGlv bihlLHQpe3ZhciBuLHIsaT0wLG89dCYmdC5tYXRjaChUKTtpZihvJiYxPT09ZS5u b2RlVHlwZSl3aGlsZShuPW9baSsrXSlyPXgucHJvcEZpeFtuXXx8bix4LmV4cHIu bWF0Y2guYm9vbC50ZXN0KG4pP0smJlF8fCFHLnRlc3Qobik/ZVtyXT0hMTplW3gu Y2FtZWxDYXNlKCJkZWZhdWx0LSIrbildPWVbcl09ITE6eC5hdHRyKGUsbiwiIiks ZS5yZW1vdmVBdHRyaWJ1dGUoUT9uOnIpfSxhdHRySG9va3M6e3R5cGU6e3NldDpm dW5jdGlvbihlLHQpe2lmKCF4LnN1cHBvcnQucmFkaW9WYWx1ZSYmInJhZGlvIj09 PXQmJngubm9kZU5hbWUoZSwiaW5wdXQiKSl7dmFyIG49ZS52YWx1ZTtyZXR1cm4g ZS5zZXRBdHRyaWJ1dGUoInR5cGUiLHQpLG4mJihlLnZhbHVlPW4pLHR9fX19LHBy b3BGaXg6eyJmb3IiOiJodG1sRm9yIiwiY2xhc3MiOiJjbGFzc05hbWUifSxwcm9w OmZ1bmN0aW9uKGUsbixyKXt2YXIgaSxvLGEscz1lLm5vZGVUeXBlO2lmKGUmJjMh PT1zJiY4IT09cyYmMiE9PXMpcmV0dXJuIGE9MSE9PXN8fCF4LmlzWE1MRG9jKGUp LGEmJihuPXgucHJvcEZpeFtuXXx8bixvPXgucHJvcEhvb2tzW25dKSxyIT09dD9v JiYic2V0ImluIG8mJihpPW8uc2V0KGUscixuKSkhPT10P2k6ZVtuXT1yOm8mJiJn ZXQiaW4gbyYmbnVsbCE9PShpPW8uZ2V0KGUsbikpP2k6ZVtuXX0scHJvcEhvb2tz Ont0YWJJbmRleDp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PXguZmluZC5hdHRyKGUs InRhYmluZGV4Iik7cmV0dXJuIHQ/cGFyc2VJbnQodCwxMCk6WS50ZXN0KGUubm9k ZU5hbWUpfHxKLnRlc3QoZS5ub2RlTmFtZSkmJmUuaHJlZj8wOi0xfX19fSksWD17 c2V0OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdD09PSExP3gucmVtb3ZlQXR0cihl LG4pOksmJlF8fCFHLnRlc3Qobik/ZS5zZXRBdHRyaWJ1dGUoIVEmJngucHJvcEZp eFtuXXx8bixuKTplW3guY2FtZWxDYXNlKCJkZWZhdWx0LSIrbildPWVbbl09ITAs bn19LHguZWFjaCh4LmV4cHIubWF0Y2guYm9vbC5zb3VyY2UubWF0Y2goL1x3Ky9n KSxmdW5jdGlvbihlLG4pe3ZhciByPXguZXhwci5hdHRySGFuZGxlW25dfHx4LmZp bmQuYXR0cjt4LmV4cHIuYXR0ckhhbmRsZVtuXT1LJiZRfHwhRy50ZXN0KG4pP2Z1 bmN0aW9uKGUsbixpKXt2YXIgbz14LmV4cHIuYXR0ckhhbmRsZVtuXSxhPWk/dDoo eC5leHByLmF0dHJIYW5kbGVbbl09dCkhPXIoZSxuLGkpP24udG9Mb3dlckNhc2Uo KTpudWxsO3JldHVybiB4LmV4cHIuYXR0ckhhbmRsZVtuXT1vLGF9OmZ1bmN0aW9u KGUsbixyKXtyZXR1cm4gcj90OmVbeC5jYW1lbENhc2UoImRlZmF1bHQtIituKV0/ bi50b0xvd2VyQ2FzZSgpOm51bGx9fSksSyYmUXx8KHguYXR0ckhvb2tzLnZhbHVl PXtzZXQ6ZnVuY3Rpb24oZSxuLHIpe3JldHVybiB4Lm5vZGVOYW1lKGUsImlucHV0 Iik/KGUuZGVmYXVsdFZhbHVlPW4sdCk6eiYmei5zZXQoZSxuLHIpfX0pLFF8fCh6 PXtzZXQ6ZnVuY3Rpb24oZSxuLHIpe3ZhciBpPWUuZ2V0QXR0cmlidXRlTm9kZShy KTtyZXR1cm4gaXx8ZS5zZXRBdHRyaWJ1dGVOb2RlKGk9ZS5vd25lckRvY3VtZW50 LmNyZWF0ZUF0dHJpYnV0ZShyKSksaS52YWx1ZT1uKz0iIiwidmFsdWUiPT09cnx8 bj09PWUuZ2V0QXR0cmlidXRlKHIpP246dH19LHguZXhwci5hdHRySGFuZGxlLmlk PXguZXhwci5hdHRySGFuZGxlLm5hbWU9eC5leHByLmF0dHJIYW5kbGUuY29vcmRz PWZ1bmN0aW9uKGUsbixyKXt2YXIgaTtyZXR1cm4gcj90OihpPWUuZ2V0QXR0cmli dXRlTm9kZShuKSkmJiIiIT09aS52YWx1ZT9pLnZhbHVlOm51bGx9LHgudmFsSG9v a3MuYnV0dG9uPXtnZXQ6ZnVuY3Rpb24oZSxuKXt2YXIgcj1lLmdldEF0dHJpYnV0 ZU5vZGUobik7cmV0dXJuIHImJnIuc3BlY2lmaWVkP3IudmFsdWU6dH0sc2V0Onou c2V0fSx4LmF0dHJIb29rcy5jb250ZW50ZWRpdGFibGU9e3NldDpmdW5jdGlvbihl LHQsbil7ei5zZXQoZSwiIj09PXQ/ITE6dCxuKX19LHguZWFjaChbIndpZHRoIiwi aGVpZ2h0Il0sZnVuY3Rpb24oZSxuKXt4LmF0dHJIb29rc1tuXT17c2V0OmZ1bmN0 aW9uKGUscil7cmV0dXJuIiI9PT1yPyhlLnNldEF0dHJpYnV0ZShuLCJhdXRvIiks cik6dH19fSkpLHguc3VwcG9ydC5ocmVmTm9ybWFsaXplZHx8eC5lYWNoKFsiaHJl ZiIsInNyYyJdLGZ1bmN0aW9uKGUsdCl7eC5wcm9wSG9va3NbdF09e2dldDpmdW5j dGlvbihlKXtyZXR1cm4gZS5nZXRBdHRyaWJ1dGUodCw0KX19fSkseC5zdXBwb3J0 LnN0eWxlfHwoeC5hdHRySG9va3Muc3R5bGU9e2dldDpmdW5jdGlvbihlKXtyZXR1 cm4gZS5zdHlsZS5jc3NUZXh0fHx0fSxzZXQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4g ZS5zdHlsZS5jc3NUZXh0PXQrIiJ9fSkseC5zdXBwb3J0Lm9wdFNlbGVjdGVkfHwo eC5wcm9wSG9va3Muc2VsZWN0ZWQ9e2dldDpmdW5jdGlvbihlKXt2YXIgdD1lLnBh cmVudE5vZGU7cmV0dXJuIHQmJih0LnNlbGVjdGVkSW5kZXgsdC5wYXJlbnROb2Rl JiZ0LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCksbnVsbH19KSx4LmVhY2goWyJ0 YWJJbmRleCIsInJlYWRPbmx5IiwibWF4TGVuZ3RoIiwiY2VsbFNwYWNpbmciLCJj ZWxsUGFkZGluZyIsInJvd1NwYW4iLCJjb2xTcGFuIiwidXNlTWFwIiwiZnJhbWVC b3JkZXIiLCJjb250ZW50RWRpdGFibGUiXSxmdW5jdGlvbigpe3gucHJvcEZpeFt0 aGlzLnRvTG93ZXJDYXNlKCldPXRoaXN9KSx4LnN1cHBvcnQuZW5jdHlwZXx8KHgu cHJvcEZpeC5lbmN0eXBlPSJlbmNvZGluZyIpLHguZWFjaChbInJhZGlvIiwiY2hl Y2tib3giXSxmdW5jdGlvbigpe3gudmFsSG9va3NbdGhpc109e3NldDpmdW5jdGlv bihlLG4pe3JldHVybiB4LmlzQXJyYXkobik/ZS5jaGVja2VkPXguaW5BcnJheSh4 KGUpLnZhbCgpLG4pPj0wOnR9fSx4LnN1cHBvcnQuY2hlY2tPbnx8KHgudmFsSG9v a3NbdGhpc10uZ2V0PWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09ZS5nZXRBdHRy aWJ1dGUoInZhbHVlIik/Im9uIjplLnZhbHVlfSl9KTt2YXIgWj0vXig/OmlucHV0 fHNlbGVjdHx0ZXh0YXJlYSkkL2ksZXQ9L15rZXkvLHR0PS9eKD86bW91c2V8Y29u dGV4dG1lbnUpfGNsaWNrLyxudD0vXig/OmZvY3VzaW5mb2N1c3xmb2N1c291dGJs dXIpJC8scnQ9L14oW14uXSopKD86XC4oLispfCkkLztmdW5jdGlvbiBpdCgpe3Jl dHVybiEwfWZ1bmN0aW9uIG90KCl7cmV0dXJuITF9ZnVuY3Rpb24gYXQoKXt0cnl7 cmV0dXJuIGEuYWN0aXZlRWxlbWVudH1jYXRjaChlKXt9fXguZXZlbnQ9e2dsb2Jh bDp7fSxhZGQ6ZnVuY3Rpb24oZSxuLHIsbyxhKXt2YXIgcyxsLHUsYyxwLGYsZCxo LGcsbSx5LHY9eC5fZGF0YShlKTtpZih2KXtyLmhhbmRsZXImJihjPXIscj1jLmhh bmRsZXIsYT1jLnNlbGVjdG9yKSxyLmd1aWR8fChyLmd1aWQ9eC5ndWlkKyspLChs PXYuZXZlbnRzKXx8KGw9di5ldmVudHM9e30pLChmPXYuaGFuZGxlKXx8KGY9di5o YW5kbGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiB4PT09aXx8ZSYmeC5ldmVu dC50cmlnZ2VyZWQ9PT1lLnR5cGU/dDp4LmV2ZW50LmRpc3BhdGNoLmFwcGx5KGYu ZWxlbSxhcmd1bWVudHMpfSxmLmVsZW09ZSksbj0obnx8IiIpLm1hdGNoKFQpfHxb IiJdLHU9bi5sZW5ndGg7d2hpbGUodS0tKXM9cnQuZXhlYyhuW3VdKXx8W10sZz15 PXNbMV0sbT0oc1syXXx8IiIpLnNwbGl0KCIuIikuc29ydCgpLGcmJihwPXguZXZl bnQuc3BlY2lhbFtnXXx8e30sZz0oYT9wLmRlbGVnYXRlVHlwZTpwLmJpbmRUeXBl KXx8ZyxwPXguZXZlbnQuc3BlY2lhbFtnXXx8e30sZD14LmV4dGVuZCh7dHlwZTpn LG9yaWdUeXBlOnksZGF0YTpvLGhhbmRsZXI6cixndWlkOnIuZ3VpZCxzZWxlY3Rv cjphLG5lZWRzQ29udGV4dDphJiZ4LmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LnRl c3QoYSksbmFtZXNwYWNlOm0uam9pbigiLiIpfSxjKSwoaD1sW2ddKXx8KGg9bFtn XT1bXSxoLmRlbGVnYXRlQ291bnQ9MCxwLnNldHVwJiZwLnNldHVwLmNhbGwoZSxv LG0sZikhPT0hMXx8KGUuYWRkRXZlbnRMaXN0ZW5lcj9lLmFkZEV2ZW50TGlzdGVu ZXIoZyxmLCExKTplLmF0dGFjaEV2ZW50JiZlLmF0dGFjaEV2ZW50KCJvbiIrZyxm KSkpLHAuYWRkJiYocC5hZGQuY2FsbChlLGQpLGQuaGFuZGxlci5ndWlkfHwoZC5o YW5kbGVyLmd1aWQ9ci5ndWlkKSksYT9oLnNwbGljZShoLmRlbGVnYXRlQ291bnQr KywwLGQpOmgucHVzaChkKSx4LmV2ZW50Lmdsb2JhbFtnXT0hMCk7ZT1udWxsfX0s cmVtb3ZlOmZ1bmN0aW9uKGUsdCxuLHIsaSl7dmFyIG8sYSxzLGwsdSxjLHAsZixk LGgsZyxtPXguaGFzRGF0YShlKSYmeC5fZGF0YShlKTtpZihtJiYoYz1tLmV2ZW50 cykpe3Q9KHR8fCIiKS5tYXRjaChUKXx8WyIiXSx1PXQubGVuZ3RoO3doaWxlKHUt LSlpZihzPXJ0LmV4ZWModFt1XSl8fFtdLGQ9Zz1zWzFdLGg9KHNbMl18fCIiKS5z cGxpdCgiLiIpLnNvcnQoKSxkKXtwPXguZXZlbnQuc3BlY2lhbFtkXXx8e30sZD0o cj9wLmRlbGVnYXRlVHlwZTpwLmJpbmRUeXBlKXx8ZCxmPWNbZF18fFtdLHM9c1sy XSYmUmVnRXhwKCIoXnxcXC4pIitoLmpvaW4oIlxcLig/Oi4qXFwufCkiKSsiKFxc LnwkKSIpLGw9bz1mLmxlbmd0aDt3aGlsZShvLS0pYT1mW29dLCFpJiZnIT09YS5v cmlnVHlwZXx8biYmbi5ndWlkIT09YS5ndWlkfHxzJiYhcy50ZXN0KGEubmFtZXNw YWNlKXx8ciYmciE9PWEuc2VsZWN0b3ImJigiKioiIT09cnx8IWEuc2VsZWN0b3Ip fHwoZi5zcGxpY2UobywxKSxhLnNlbGVjdG9yJiZmLmRlbGVnYXRlQ291bnQtLSxw LnJlbW92ZSYmcC5yZW1vdmUuY2FsbChlLGEpKTtsJiYhZi5sZW5ndGgmJihwLnRl YXJkb3duJiZwLnRlYXJkb3duLmNhbGwoZSxoLG0uaGFuZGxlKSE9PSExfHx4LnJl bW92ZUV2ZW50KGUsZCxtLmhhbmRsZSksZGVsZXRlIGNbZF0pfWVsc2UgZm9yKGQg aW4gYyl4LmV2ZW50LnJlbW92ZShlLGQrdFt1XSxuLHIsITApO3guaXNFbXB0eU9i amVjdChjKSYmKGRlbGV0ZSBtLmhhbmRsZSx4Ll9yZW1vdmVEYXRhKGUsImV2ZW50 cyIpKX19LHRyaWdnZXI6ZnVuY3Rpb24obixyLGksbyl7dmFyIHMsbCx1LGMscCxm LGQsaD1baXx8YV0sZz12LmNhbGwobiwidHlwZSIpP24udHlwZTpuLG09di5jYWxs KG4sIm5hbWVzcGFjZSIpP24ubmFtZXNwYWNlLnNwbGl0KCIuIik6W107aWYodT1m PWk9aXx8YSwzIT09aS5ub2RlVHlwZSYmOCE9PWkubm9kZVR5cGUmJiFudC50ZXN0 KGcreC5ldmVudC50cmlnZ2VyZWQpJiYoZy5pbmRleE9mKCIuIik+PTAmJihtPWcu c3BsaXQoIi4iKSxnPW0uc2hpZnQoKSxtLnNvcnQoKSksbD0wPmcuaW5kZXhPZigi OiIpJiYib24iK2csbj1uW3guZXhwYW5kb10/bjpuZXcgeC5FdmVudChnLCJvYmpl Y3QiPT10eXBlb2YgbiYmbiksbi5pc1RyaWdnZXI9bz8yOjMsbi5uYW1lc3BhY2U9 bS5qb2luKCIuIiksbi5uYW1lc3BhY2VfcmU9bi5uYW1lc3BhY2U/UmVnRXhwKCIo XnxcXC4pIittLmpvaW4oIlxcLig/Oi4qXFwufCkiKSsiKFxcLnwkKSIpOm51bGws bi5yZXN1bHQ9dCxuLnRhcmdldHx8KG4udGFyZ2V0PWkpLHI9bnVsbD09cj9bbl06 eC5tYWtlQXJyYXkocixbbl0pLHA9eC5ldmVudC5zcGVjaWFsW2ddfHx7fSxvfHwh cC50cmlnZ2VyfHxwLnRyaWdnZXIuYXBwbHkoaSxyKSE9PSExKSl7aWYoIW8mJiFw Lm5vQnViYmxlJiYheC5pc1dpbmRvdyhpKSl7Zm9yKGM9cC5kZWxlZ2F0ZVR5cGV8 fGcsbnQudGVzdChjK2cpfHwodT11LnBhcmVudE5vZGUpO3U7dT11LnBhcmVudE5v ZGUpaC5wdXNoKHUpLGY9dTtmPT09KGkub3duZXJEb2N1bWVudHx8YSkmJmgucHVz aChmLmRlZmF1bHRWaWV3fHxmLnBhcmVudFdpbmRvd3x8ZSl9ZD0wO3doaWxlKCh1 PWhbZCsrXSkmJiFuLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpbi50eXBlPWQ+MT9j OnAuYmluZFR5cGV8fGcscz0oeC5fZGF0YSh1LCJldmVudHMiKXx8e30pW24udHlw ZV0mJnguX2RhdGEodSwiaGFuZGxlIikscyYmcy5hcHBseSh1LHIpLHM9bCYmdVts XSxzJiZ4LmFjY2VwdERhdGEodSkmJnMuYXBwbHkmJnMuYXBwbHkodSxyKT09PSEx JiZuLnByZXZlbnREZWZhdWx0KCk7aWYobi50eXBlPWcsIW8mJiFuLmlzRGVmYXVs dFByZXZlbnRlZCgpJiYoIXAuX2RlZmF1bHR8fHAuX2RlZmF1bHQuYXBwbHkoaC5w b3AoKSxyKT09PSExKSYmeC5hY2NlcHREYXRhKGkpJiZsJiZpW2ddJiYheC5pc1dp bmRvdyhpKSl7Zj1pW2xdLGYmJihpW2xdPW51bGwpLHguZXZlbnQudHJpZ2dlcmVk PWc7dHJ5e2lbZ10oKX1jYXRjaCh5KXt9eC5ldmVudC50cmlnZ2VyZWQ9dCxmJiYo aVtsXT1mKX1yZXR1cm4gbi5yZXN1bHR9fSxkaXNwYXRjaDpmdW5jdGlvbihlKXtl PXguZXZlbnQuZml4KGUpO3ZhciBuLHIsaSxvLGEscz1bXSxsPWcuY2FsbChhcmd1 bWVudHMpLHU9KHguX2RhdGEodGhpcywiZXZlbnRzIil8fHt9KVtlLnR5cGVdfHxb XSxjPXguZXZlbnQuc3BlY2lhbFtlLnR5cGVdfHx7fTtpZihsWzBdPWUsZS5kZWxl Z2F0ZVRhcmdldD10aGlzLCFjLnByZURpc3BhdGNofHxjLnByZURpc3BhdGNoLmNh bGwodGhpcyxlKSE9PSExKXtzPXguZXZlbnQuaGFuZGxlcnMuY2FsbCh0aGlzLGUs dSksbj0wO3doaWxlKChvPXNbbisrXSkmJiFlLmlzUHJvcGFnYXRpb25TdG9wcGVk KCkpe2UuY3VycmVudFRhcmdldD1vLmVsZW0sYT0wO3doaWxlKChpPW8uaGFuZGxl cnNbYSsrXSkmJiFlLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkKCkpKCFl Lm5hbWVzcGFjZV9yZXx8ZS5uYW1lc3BhY2VfcmUudGVzdChpLm5hbWVzcGFjZSkp JiYoZS5oYW5kbGVPYmo9aSxlLmRhdGE9aS5kYXRhLHI9KCh4LmV2ZW50LnNwZWNp YWxbaS5vcmlnVHlwZV18fHt9KS5oYW5kbGV8fGkuaGFuZGxlcikuYXBwbHkoby5l bGVtLGwpLHIhPT10JiYoZS5yZXN1bHQ9cik9PT0hMSYmKGUucHJldmVudERlZmF1 bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpKSl9cmV0dXJuIGMucG9zdERpc3BhdGNo JiZjLnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsZSksZS5yZXN1bHR9fSxoYW5kbGVy czpmdW5jdGlvbihlLG4pe3ZhciByLGksbyxhLHM9W10sbD1uLmRlbGVnYXRlQ291 bnQsdT1lLnRhcmdldDtpZihsJiZ1Lm5vZGVUeXBlJiYoIWUuYnV0dG9ufHwiY2xp Y2siIT09ZS50eXBlKSlmb3IoO3UhPXRoaXM7dT11LnBhcmVudE5vZGV8fHRoaXMp aWYoMT09PXUubm9kZVR5cGUmJih1LmRpc2FibGVkIT09ITB8fCJjbGljayIhPT1l LnR5cGUpKXtmb3Iobz1bXSxhPTA7bD5hO2ErKylpPW5bYV0scj1pLnNlbGVjdG9y KyIgIixvW3JdPT09dCYmKG9bcl09aS5uZWVkc0NvbnRleHQ/eChyLHRoaXMpLmlu ZGV4KHUpPj0wOnguZmluZChyLHRoaXMsbnVsbCxbdV0pLmxlbmd0aCksb1tyXSYm by5wdXNoKGkpO28ubGVuZ3RoJiZzLnB1c2goe2VsZW06dSxoYW5kbGVyczpvfSl9 cmV0dXJuIG4ubGVuZ3RoPmwmJnMucHVzaCh7ZWxlbTp0aGlzLGhhbmRsZXJzOm4u c2xpY2UobCl9KSxzfSxmaXg6ZnVuY3Rpb24oZSl7aWYoZVt4LmV4cGFuZG9dKXJl dHVybiBlO3ZhciB0LG4scixpPWUudHlwZSxvPWUscz10aGlzLmZpeEhvb2tzW2ld O3N8fCh0aGlzLmZpeEhvb2tzW2ldPXM9dHQudGVzdChpKT90aGlzLm1vdXNlSG9v a3M6ZXQudGVzdChpKT90aGlzLmtleUhvb2tzOnt9KSxyPXMucHJvcHM/dGhpcy5w cm9wcy5jb25jYXQocy5wcm9wcyk6dGhpcy5wcm9wcyxlPW5ldyB4LkV2ZW50KG8p LHQ9ci5sZW5ndGg7d2hpbGUodC0tKW49clt0XSxlW25dPW9bbl07cmV0dXJuIGUu dGFyZ2V0fHwoZS50YXJnZXQ9by5zcmNFbGVtZW50fHxhKSwzPT09ZS50YXJnZXQu bm9kZVR5cGUmJihlLnRhcmdldD1lLnRhcmdldC5wYXJlbnROb2RlKSxlLm1ldGFL ZXk9ISFlLm1ldGFLZXkscy5maWx0ZXI/cy5maWx0ZXIoZSxvKTplfSxwcm9wczoi YWx0S2V5IGJ1YmJsZXMgY2FuY2VsYWJsZSBjdHJsS2V5IGN1cnJlbnRUYXJnZXQg ZXZlbnRQaGFzZSBtZXRhS2V5IHJlbGF0ZWRUYXJnZXQgc2hpZnRLZXkgdGFyZ2V0 IHRpbWVTdGFtcCB2aWV3IHdoaWNoIi5zcGxpdCgiICIpLGZpeEhvb2tzOnt9LGtl eUhvb2tzOntwcm9wczoiY2hhciBjaGFyQ29kZSBrZXkga2V5Q29kZSIuc3BsaXQo IiAiKSxmaWx0ZXI6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbnVsbD09ZS53aGljaCYm KGUud2hpY2g9bnVsbCE9dC5jaGFyQ29kZT90LmNoYXJDb2RlOnQua2V5Q29kZSks ZX19LG1vdXNlSG9va3M6e3Byb3BzOiJidXR0b24gYnV0dG9ucyBjbGllbnRYIGNs aWVudFkgZnJvbUVsZW1lbnQgb2Zmc2V0WCBvZmZzZXRZIHBhZ2VYIHBhZ2VZIHNj cmVlblggc2NyZWVuWSB0b0VsZW1lbnQiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0 aW9uKGUsbil7dmFyIHIsaSxvLHM9bi5idXR0b24sbD1uLmZyb21FbGVtZW50O3Jl dHVybiBudWxsPT1lLnBhZ2VYJiZudWxsIT1uLmNsaWVudFgmJihpPWUudGFyZ2V0 Lm93bmVyRG9jdW1lbnR8fGEsbz1pLmRvY3VtZW50RWxlbWVudCxyPWkuYm9keSxl LnBhZ2VYPW4uY2xpZW50WCsobyYmby5zY3JvbGxMZWZ0fHxyJiZyLnNjcm9sbExl ZnR8fDApLShvJiZvLmNsaWVudExlZnR8fHImJnIuY2xpZW50TGVmdHx8MCksZS5w YWdlWT1uLmNsaWVudFkrKG8mJm8uc2Nyb2xsVG9wfHxyJiZyLnNjcm9sbFRvcHx8 MCktKG8mJm8uY2xpZW50VG9wfHxyJiZyLmNsaWVudFRvcHx8MCkpLCFlLnJlbGF0 ZWRUYXJnZXQmJmwmJihlLnJlbGF0ZWRUYXJnZXQ9bD09PWUudGFyZ2V0P24udG9F bGVtZW50OmwpLGUud2hpY2h8fHM9PT10fHwoZS53aGljaD0xJnM/MToyJnM/Mzo0 JnM/MjowKSxlfX0sc3BlY2lhbDp7bG9hZDp7bm9CdWJibGU6ITB9LGZvY3VzOnt0 cmlnZ2VyOmZ1bmN0aW9uKCl7aWYodGhpcyE9PWF0KCkmJnRoaXMuZm9jdXMpdHJ5 e3JldHVybiB0aGlzLmZvY3VzKCksITF9Y2F0Y2goZSl7fX0sZGVsZWdhdGVUeXBl OiJmb2N1c2luIn0sYmx1cjp7dHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiB0aGlz PT09YXQoKSYmdGhpcy5ibHVyPyh0aGlzLmJsdXIoKSwhMSk6dH0sZGVsZWdhdGVU eXBlOiJmb2N1c291dCJ9LGNsaWNrOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJu IHgubm9kZU5hbWUodGhpcywiaW5wdXQiKSYmImNoZWNrYm94Ij09PXRoaXMudHlw ZSYmdGhpcy5jbGljaz8odGhpcy5jbGljaygpLCExKTp0fSxfZGVmYXVsdDpmdW5j dGlvbihlKXtyZXR1cm4geC5ub2RlTmFtZShlLnRhcmdldCwiYSIpfX0sYmVmb3Jl dW5sb2FkOntwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oZSl7ZS5yZXN1bHQhPT10JiYo ZS5vcmlnaW5hbEV2ZW50LnJldHVyblZhbHVlPWUucmVzdWx0KX19fSxzaW11bGF0 ZTpmdW5jdGlvbihlLHQsbixyKXt2YXIgaT14LmV4dGVuZChuZXcgeC5FdmVudCxu LHt0eXBlOmUsaXNTaW11bGF0ZWQ6ITAsb3JpZ2luYWxFdmVudDp7fX0pO3I/eC5l dmVudC50cmlnZ2VyKGksbnVsbCx0KTp4LmV2ZW50LmRpc3BhdGNoLmNhbGwodCxp KSxpLmlzRGVmYXVsdFByZXZlbnRlZCgpJiZuLnByZXZlbnREZWZhdWx0KCl9fSx4 LnJlbW92ZUV2ZW50PWEucmVtb3ZlRXZlbnRMaXN0ZW5lcj9mdW5jdGlvbihlLHQs bil7ZS5yZW1vdmVFdmVudExpc3RlbmVyJiZlLnJlbW92ZUV2ZW50TGlzdGVuZXIo dCxuLCExKX06ZnVuY3Rpb24oZSx0LG4pe3ZhciByPSJvbiIrdDtlLmRldGFjaEV2 ZW50JiYodHlwZW9mIGVbcl09PT1pJiYoZVtyXT1udWxsKSxlLmRldGFjaEV2ZW50 KHIsbikpfSx4LkV2ZW50PWZ1bmN0aW9uKGUsbil7cmV0dXJuIHRoaXMgaW5zdGFu Y2VvZiB4LkV2ZW50PyhlJiZlLnR5cGU/KHRoaXMub3JpZ2luYWxFdmVudD1lLHRo aXMudHlwZT1lLnR5cGUsdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9ZS5kZWZhdWx0 UHJldmVudGVkfHxlLnJldHVyblZhbHVlPT09ITF8fGUuZ2V0UHJldmVudERlZmF1 bHQmJmUuZ2V0UHJldmVudERlZmF1bHQoKT9pdDpvdCk6dGhpcy50eXBlPWUsbiYm eC5leHRlbmQodGhpcyxuKSx0aGlzLnRpbWVTdGFtcD1lJiZlLnRpbWVTdGFtcHx8 eC5ub3coKSx0aGlzW3guZXhwYW5kb109ITAsdCk6bmV3IHguRXZlbnQoZSxuKX0s eC5FdmVudC5wcm90b3R5cGU9e2lzRGVmYXVsdFByZXZlbnRlZDpvdCxpc1Byb3Bh Z2F0aW9uU3RvcHBlZDpvdCxpc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZDpv dCxwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3JpZ2luYWxF dmVudDt0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1pdCxlJiYoZS5wcmV2ZW50RGVm YXVsdD9lLnByZXZlbnREZWZhdWx0KCk6ZS5yZXR1cm5WYWx1ZT0hMSl9LHN0b3BQ cm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3JpZ2luYWxFdmVudDt0 aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPWl0LGUmJihlLnN0b3BQcm9wYWdhdGlv biYmZS5zdG9wUHJvcGFnYXRpb24oKSxlLmNhbmNlbEJ1YmJsZT0hMCl9LHN0b3BJ bW1lZGlhdGVQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3RoaXMuaXNJbW1lZGlhdGVQ cm9wYWdhdGlvblN0b3BwZWQ9aXQsdGhpcy5zdG9wUHJvcGFnYXRpb24oKX19LHgu ZWFjaCh7bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91 dCJ9LGZ1bmN0aW9uKGUsdCl7eC5ldmVudC5zcGVjaWFsW2VdPXtkZWxlZ2F0ZVR5 cGU6dCxiaW5kVHlwZTp0LGhhbmRsZTpmdW5jdGlvbihlKXt2YXIgbixyPXRoaXMs aT1lLnJlbGF0ZWRUYXJnZXQsbz1lLmhhbmRsZU9iajtyZXR1cm4oIWl8fGkhPT1y JiYheC5jb250YWlucyhyLGkpKSYmKGUudHlwZT1vLm9yaWdUeXBlLG49by5oYW5k bGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxlLnR5cGU9dCksbn19fSkseC5zdXBw b3J0LnN1Ym1pdEJ1YmJsZXN8fCh4LmV2ZW50LnNwZWNpYWwuc3VibWl0PXtzZXR1 cDpmdW5jdGlvbigpe3JldHVybiB4Lm5vZGVOYW1lKHRoaXMsImZvcm0iKT8hMToo eC5ldmVudC5hZGQodGhpcywiY2xpY2suX3N1Ym1pdCBrZXlwcmVzcy5fc3VibWl0 IixmdW5jdGlvbihlKXt2YXIgbj1lLnRhcmdldCxyPXgubm9kZU5hbWUobiwiaW5w dXQiKXx8eC5ub2RlTmFtZShuLCJidXR0b24iKT9uLmZvcm06dDtyJiYheC5fZGF0 YShyLCJzdWJtaXRCdWJibGVzIikmJih4LmV2ZW50LmFkZChyLCJzdWJtaXQuX3N1 Ym1pdCIsZnVuY3Rpb24oZSl7ZS5fc3VibWl0X2J1YmJsZT0hMH0pLHguX2RhdGEo ciwic3VibWl0QnViYmxlcyIsITApKX0pLHQpfSxwb3N0RGlzcGF0Y2g6ZnVuY3Rp b24oZSl7ZS5fc3VibWl0X2J1YmJsZSYmKGRlbGV0ZSBlLl9zdWJtaXRfYnViYmxl LHRoaXMucGFyZW50Tm9kZSYmIWUuaXNUcmlnZ2VyJiZ4LmV2ZW50LnNpbXVsYXRl KCJzdWJtaXQiLHRoaXMucGFyZW50Tm9kZSxlLCEwKSl9LHRlYXJkb3duOmZ1bmN0 aW9uKCl7cmV0dXJuIHgubm9kZU5hbWUodGhpcywiZm9ybSIpPyExOih4LmV2ZW50 LnJlbW92ZSh0aGlzLCIuX3N1Ym1pdCIpLHQpfX0pLHguc3VwcG9ydC5jaGFuZ2VC dWJibGVzfHwoeC5ldmVudC5zcGVjaWFsLmNoYW5nZT17c2V0dXA6ZnVuY3Rpb24o KXtyZXR1cm4gWi50ZXN0KHRoaXMubm9kZU5hbWUpPygoImNoZWNrYm94Ij09PXRo aXMudHlwZXx8InJhZGlvIj09PXRoaXMudHlwZSkmJih4LmV2ZW50LmFkZCh0aGlz LCJwcm9wZXJ0eWNoYW5nZS5fY2hhbmdlIixmdW5jdGlvbihlKXsiY2hlY2tlZCI9 PT1lLm9yaWdpbmFsRXZlbnQucHJvcGVydHlOYW1lJiYodGhpcy5fanVzdF9jaGFu Z2VkPSEwKX0pLHguZXZlbnQuYWRkKHRoaXMsImNsaWNrLl9jaGFuZ2UiLGZ1bmN0 aW9uKGUpe3RoaXMuX2p1c3RfY2hhbmdlZCYmIWUuaXNUcmlnZ2VyJiYodGhpcy5f anVzdF9jaGFuZ2VkPSExKSx4LmV2ZW50LnNpbXVsYXRlKCJjaGFuZ2UiLHRoaXMs ZSwhMCl9KSksITEpOih4LmV2ZW50LmFkZCh0aGlzLCJiZWZvcmVhY3RpdmF0ZS5f Y2hhbmdlIixmdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldDtaLnRlc3QodC5ub2Rl TmFtZSkmJiF4Ll9kYXRhKHQsImNoYW5nZUJ1YmJsZXMiKSYmKHguZXZlbnQuYWRk KHQsImNoYW5nZS5fY2hhbmdlIixmdW5jdGlvbihlKXshdGhpcy5wYXJlbnROb2Rl fHxlLmlzU2ltdWxhdGVkfHxlLmlzVHJpZ2dlcnx8eC5ldmVudC5zaW11bGF0ZSgi Y2hhbmdlIix0aGlzLnBhcmVudE5vZGUsZSwhMCl9KSx4Ll9kYXRhKHQsImNoYW5n ZUJ1YmJsZXMiLCEwKSl9KSx0KX0saGFuZGxlOmZ1bmN0aW9uKGUpe3ZhciBuPWUu dGFyZ2V0O3JldHVybiB0aGlzIT09bnx8ZS5pc1NpbXVsYXRlZHx8ZS5pc1RyaWdn ZXJ8fCJyYWRpbyIhPT1uLnR5cGUmJiJjaGVja2JveCIhPT1uLnR5cGU/ZS5oYW5k bGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dH0sdGVhcmRvd246 ZnVuY3Rpb24oKXtyZXR1cm4geC5ldmVudC5yZW1vdmUodGhpcywiLl9jaGFuZ2Ui KSwhWi50ZXN0KHRoaXMubm9kZU5hbWUpfX0pLHguc3VwcG9ydC5mb2N1c2luQnVi Ymxlc3x8eC5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSxm dW5jdGlvbihlLHQpe3ZhciBuPTAscj1mdW5jdGlvbihlKXt4LmV2ZW50LnNpbXVs YXRlKHQsZS50YXJnZXQseC5ldmVudC5maXgoZSksITApfTt4LmV2ZW50LnNwZWNp YWxbdF09e3NldHVwOmZ1bmN0aW9uKCl7MD09PW4rKyYmYS5hZGRFdmVudExpc3Rl bmVyKGUsciwhMCl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7MD09PS0tbiYmYS5yZW1v dmVFdmVudExpc3RlbmVyKGUsciwhMCl9fX0pLHguZm4uZXh0ZW5kKHtvbjpmdW5j dGlvbihlLG4scixpLG8pe3ZhciBhLHM7aWYoIm9iamVjdCI9PXR5cGVvZiBlKXsi c3RyaW5nIiE9dHlwZW9mIG4mJihyPXJ8fG4sbj10KTtmb3IoYSBpbiBlKXRoaXMu b24oYSxuLHIsZVthXSxvKTtyZXR1cm4gdGhpc31pZihudWxsPT1yJiZudWxsPT1p PyhpPW4scj1uPXQpOm51bGw9PWkmJigic3RyaW5nIj09dHlwZW9mIG4/KGk9cixy PXQpOihpPXIscj1uLG49dCkpLGk9PT0hMSlpPW90O2Vsc2UgaWYoIWkpcmV0dXJu IHRoaXM7cmV0dXJuIDE9PT1vJiYocz1pLGk9ZnVuY3Rpb24oZSl7cmV0dXJuIHgo KS5vZmYoZSkscy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGkuZ3VpZD1zLmd1aWR8 fChzLmd1aWQ9eC5ndWlkKyspKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt4LmV2ZW50 LmFkZCh0aGlzLGUsaSxyLG4pfSl9LG9uZTpmdW5jdGlvbihlLHQsbixyKXtyZXR1 cm4gdGhpcy5vbihlLHQsbixyLDEpfSxvZmY6ZnVuY3Rpb24oZSxuLHIpe3ZhciBp LG87aWYoZSYmZS5wcmV2ZW50RGVmYXVsdCYmZS5oYW5kbGVPYmopcmV0dXJuIGk9 ZS5oYW5kbGVPYmoseChlLmRlbGVnYXRlVGFyZ2V0KS5vZmYoaS5uYW1lc3BhY2U/ aS5vcmlnVHlwZSsiLiIraS5uYW1lc3BhY2U6aS5vcmlnVHlwZSxpLnNlbGVjdG9y LGkuaGFuZGxlciksdGhpcztpZigib2JqZWN0Ij09dHlwZW9mIGUpe2ZvcihvIGlu IGUpdGhpcy5vZmYobyxuLGVbb10pO3JldHVybiB0aGlzfXJldHVybihuPT09ITF8 fCJmdW5jdGlvbiI9PXR5cGVvZiBuKSYmKHI9bixuPXQpLHI9PT0hMSYmKHI9b3Qp LHRoaXMuZWFjaChmdW5jdGlvbigpe3guZXZlbnQucmVtb3ZlKHRoaXMsZSxyLG4p fSl9LHRyaWdnZXI6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0 aW9uKCl7eC5ldmVudC50cmlnZ2VyKGUsdCx0aGlzKX0pfSx0cmlnZ2VySGFuZGxl cjpmdW5jdGlvbihlLG4pe3ZhciByPXRoaXNbMF07cmV0dXJuIHI/eC5ldmVudC50 cmlnZ2VyKGUsbixyLCEwKTp0fX0pO3ZhciBzdD0vXi5bXjojXFtcLixdKiQvLGx0 PS9eKD86cGFyZW50c3xwcmV2KD86VW50aWx8QWxsKSkvLHV0PXguZXhwci5tYXRj aC5uZWVkc0NvbnRleHQsY3Q9e2NoaWxkcmVuOiEwLGNvbnRlbnRzOiEwLG5leHQ6 ITAscHJldjohMH07eC5mbi5leHRlbmQoe2ZpbmQ6ZnVuY3Rpb24oZSl7dmFyIHQs bj1bXSxyPXRoaXMsaT1yLmxlbmd0aDtpZigic3RyaW5nIiE9dHlwZW9mIGUpcmV0 dXJuIHRoaXMucHVzaFN0YWNrKHgoZSkuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKHQ9 MDtpPnQ7dCsrKWlmKHguY29udGFpbnMoclt0XSx0aGlzKSlyZXR1cm4hMH0pKTtm b3IodD0wO2k+dDt0KyspeC5maW5kKGUsclt0XSxuKTtyZXR1cm4gbj10aGlzLnB1 c2hTdGFjayhpPjE/eC51bmlxdWUobik6biksbi5zZWxlY3Rvcj10aGlzLnNlbGVj dG9yP3RoaXMuc2VsZWN0b3IrIiAiK2U6ZSxufSxoYXM6ZnVuY3Rpb24oZSl7dmFy IHQsbj14KGUsdGhpcykscj1uLmxlbmd0aDtyZXR1cm4gdGhpcy5maWx0ZXIoZnVu Y3Rpb24oKXtmb3IodD0wO3I+dDt0KyspaWYoeC5jb250YWlucyh0aGlzLG5bdF0p KXJldHVybiEwfSl9LG5vdDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3Rh Y2soZnQodGhpcyxlfHxbXSwhMCkpfSxmaWx0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJu IHRoaXMucHVzaFN0YWNrKGZ0KHRoaXMsZXx8W10sITEpKX0saXM6ZnVuY3Rpb24o ZSl7cmV0dXJuISFmdCh0aGlzLCJzdHJpbmciPT10eXBlb2YgZSYmdXQudGVzdChl KT94KGUpOmV8fFtdLCExKS5sZW5ndGh9LGNsb3Nlc3Q6ZnVuY3Rpb24oZSx0KXt2 YXIgbixyPTAsaT10aGlzLmxlbmd0aCxvPVtdLGE9dXQudGVzdChlKXx8InN0cmlu ZyIhPXR5cGVvZiBlP3goZSx0fHx0aGlzLmNvbnRleHQpOjA7Zm9yKDtpPnI7cisr KWZvcihuPXRoaXNbcl07biYmbiE9PXQ7bj1uLnBhcmVudE5vZGUpaWYoMTE+bi5u b2RlVHlwZSYmKGE/YS5pbmRleChuKT4tMToxPT09bi5ub2RlVHlwZSYmeC5maW5k Lm1hdGNoZXNTZWxlY3RvcihuLGUpKSl7bj1vLnB1c2gobik7YnJlYWt9cmV0dXJu IHRoaXMucHVzaFN0YWNrKG8ubGVuZ3RoPjE/eC51bmlxdWUobyk6byl9LGluZGV4 OmZ1bmN0aW9uKGUpe3JldHVybiBlPyJzdHJpbmciPT10eXBlb2YgZT94LmluQXJy YXkodGhpc1swXSx4KGUpKTp4LmluQXJyYXkoZS5qcXVlcnk/ZVswXTplLHRoaXMp OnRoaXNbMF0mJnRoaXNbMF0ucGFyZW50Tm9kZT90aGlzLmZpcnN0KCkucHJldkFs bCgpLmxlbmd0aDotMX0sYWRkOmZ1bmN0aW9uKGUsdCl7dmFyIG49InN0cmluZyI9 PXR5cGVvZiBlP3goZSx0KTp4Lm1ha2VBcnJheShlJiZlLm5vZGVUeXBlP1tlXTpl KSxyPXgubWVyZ2UodGhpcy5nZXQoKSxuKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2so eC51bmlxdWUocikpfSxhZGRCYWNrOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmFk ZChudWxsPT1lP3RoaXMucHJldk9iamVjdDp0aGlzLnByZXZPYmplY3QuZmlsdGVy KGUpKX19KTtmdW5jdGlvbiBwdChlLHQpe2RvIGU9ZVt0XTt3aGlsZShlJiYxIT09 ZS5ub2RlVHlwZSk7cmV0dXJuIGV9eC5lYWNoKHtwYXJlbnQ6ZnVuY3Rpb24oZSl7 dmFyIHQ9ZS5wYXJlbnROb2RlO3JldHVybiB0JiYxMSE9PXQubm9kZVR5cGU/dDpu dWxsfSxwYXJlbnRzOmZ1bmN0aW9uKGUpe3JldHVybiB4LmRpcihlLCJwYXJlbnRO b2RlIil9LHBhcmVudHNVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHguZGly KGUsInBhcmVudE5vZGUiLG4pfSxuZXh0OmZ1bmN0aW9uKGUpe3JldHVybiBwdChl LCJuZXh0U2libGluZyIpfSxwcmV2OmZ1bmN0aW9uKGUpe3JldHVybiBwdChlLCJw cmV2aW91c1NpYmxpbmciKX0sbmV4dEFsbDpmdW5jdGlvbihlKXtyZXR1cm4geC5k aXIoZSwibmV4dFNpYmxpbmciKX0scHJldkFsbDpmdW5jdGlvbihlKXtyZXR1cm4g eC5kaXIoZSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRVbnRpbDpmdW5jdGlvbihl LHQsbil7cmV0dXJuIHguZGlyKGUsIm5leHRTaWJsaW5nIixuKX0scHJldlVudGls OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4geC5kaXIoZSwicHJldmlvdXNTaWJsaW5n IixuKX0sc2libGluZ3M6ZnVuY3Rpb24oZSl7cmV0dXJuIHguc2libGluZygoZS5w YXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxlKX0sY2hpbGRyZW46ZnVuY3Rpb24o ZSl7cmV0dXJuIHguc2libGluZyhlLmZpcnN0Q2hpbGQpfSxjb250ZW50czpmdW5j dGlvbihlKXtyZXR1cm4geC5ub2RlTmFtZShlLCJpZnJhbWUiKT9lLmNvbnRlbnRE b2N1bWVudHx8ZS5jb250ZW50V2luZG93LmRvY3VtZW50OngubWVyZ2UoW10sZS5j aGlsZE5vZGVzKX19LGZ1bmN0aW9uKGUsdCl7eC5mbltlXT1mdW5jdGlvbihuLHIp e3ZhciBpPXgubWFwKHRoaXMsdCxuKTtyZXR1cm4iVW50aWwiIT09ZS5zbGljZSgt NSkmJihyPW4pLHImJiJzdHJpbmciPT10eXBlb2YgciYmKGk9eC5maWx0ZXIocixp KSksdGhpcy5sZW5ndGg+MSYmKGN0W2VdfHwoaT14LnVuaXF1ZShpKSksbHQudGVz dChlKSYmKGk9aS5yZXZlcnNlKCkpKSx0aGlzLnB1c2hTdGFjayhpKX19KSx4LmV4 dGVuZCh7ZmlsdGVyOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10WzBdO3JldHVybiBu JiYoZT0iOm5vdCgiK2UrIikiKSwxPT09dC5sZW5ndGgmJjE9PT1yLm5vZGVUeXBl P3guZmluZC5tYXRjaGVzU2VsZWN0b3IocixlKT9bcl06W106eC5maW5kLm1hdGNo ZXMoZSx4LmdyZXAodCxmdW5jdGlvbihlKXtyZXR1cm4gMT09PWUubm9kZVR5cGV9 KSl9LGRpcjpmdW5jdGlvbihlLG4scil7dmFyIGk9W10sbz1lW25dO3doaWxlKG8m JjkhPT1vLm5vZGVUeXBlJiYocj09PXR8fDEhPT1vLm5vZGVUeXBlfHwheChvKS5p cyhyKSkpMT09PW8ubm9kZVR5cGUmJmkucHVzaChvKSxvPW9bbl07cmV0dXJuIGl9 LHNpYmxpbmc6ZnVuY3Rpb24oZSx0KXt2YXIgbj1bXTtmb3IoO2U7ZT1lLm5leHRT aWJsaW5nKTE9PT1lLm5vZGVUeXBlJiZlIT09dCYmbi5wdXNoKGUpO3JldHVybiBu fX0pO2Z1bmN0aW9uIGZ0KGUsdCxuKXtpZih4LmlzRnVuY3Rpb24odCkpcmV0dXJu IHguZ3JlcChlLGZ1bmN0aW9uKGUscil7cmV0dXJuISF0LmNhbGwoZSxyLGUpIT09 bn0pO2lmKHQubm9kZVR5cGUpcmV0dXJuIHguZ3JlcChlLGZ1bmN0aW9uKGUpe3Jl dHVybiBlPT09dCE9PW59KTtpZigic3RyaW5nIj09dHlwZW9mIHQpe2lmKHN0LnRl c3QodCkpcmV0dXJuIHguZmlsdGVyKHQsZSxuKTt0PXguZmlsdGVyKHQsZSl9cmV0 dXJuIHguZ3JlcChlLGZ1bmN0aW9uKGUpe3JldHVybiB4LmluQXJyYXkoZSx0KT49 MCE9PW59KX1mdW5jdGlvbiBkdChlKXt2YXIgdD1odC5zcGxpdCgifCIpLG49ZS5j cmVhdGVEb2N1bWVudEZyYWdtZW50KCk7aWYobi5jcmVhdGVFbGVtZW50KXdoaWxl KHQubGVuZ3RoKW4uY3JlYXRlRWxlbWVudCh0LnBvcCgpKTtyZXR1cm4gbn12YXIg aHQ9ImFiYnJ8YXJ0aWNsZXxhc2lkZXxhdWRpb3xiZGl8Y2FudmFzfGRhdGF8ZGF0 YWxpc3R8ZGV0YWlsc3xmaWdjYXB0aW9ufGZpZ3VyZXxmb290ZXJ8aGVhZGVyfGhn cm91cHxtYXJrfG1ldGVyfG5hdnxvdXRwdXR8cHJvZ3Jlc3N8c2VjdGlvbnxzdW1t YXJ5fHRpbWV8dmlkZW8iLGd0PS8galF1ZXJ5XGQrPSIoPzpudWxsfFxkKykiL2cs bXQ9UmVnRXhwKCI8KD86IitodCsiKVtcXHMvPl0iLCJpIikseXQ9L15ccysvLHZ0 PS88KD8hYXJlYXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxw YXJhbSkoKFtcdzpdKylbXj5dKilcLz4vZ2ksYnQ9LzwoW1x3Ol0rKS8seHQ9Lzx0 Ym9keS9pLHd0PS88fCYjP1x3KzsvLFR0PS88KD86c2NyaXB0fHN0eWxlfGxpbmsp L2ksQ3Q9L14oPzpjaGVja2JveHxyYWRpbykkL2ksTnQ9L2NoZWNrZWRccyooPzpb Xj1dfD1ccyouY2hlY2tlZC4pL2ksa3Q9L14kfFwvKD86amF2YXxlY21hKXNjcmlw dC9pLEV0PS9edHJ1ZVwvKC4qKS8sU3Q9L15ccyo8ISg/OlxbQ0RBVEFcW3wtLSl8 KD86XF1cXXwtLSk+XHMqJC9nLEF0PXtvcHRpb246WzEsIjxzZWxlY3QgbXVsdGlw bGU9J211bHRpcGxlJz4iLCI8L3NlbGVjdD4iXSxsZWdlbmQ6WzEsIjxmaWVsZHNl dD4iLCI8L2ZpZWxkc2V0PiJdLGFyZWE6WzEsIjxtYXA+IiwiPC9tYXA+Il0scGFy YW06WzEsIjxvYmplY3Q+IiwiPC9vYmplY3Q+Il0sdGhlYWQ6WzEsIjx0YWJsZT4i LCI8L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90 YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48dGJvZHk+PC90Ym9keT48Y29sZ3JvdXA+ IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLHRkOlszLCI8dGFibGU+PHRib2R5Pjx0 cj4iLCI8L3RyPjwvdGJvZHk+PC90YWJsZT4iXSxfZGVmYXVsdDp4LnN1cHBvcnQu aHRtbFNlcmlhbGl6ZT9bMCwiIiwiIl06WzEsIlg8ZGl2PiIsIjwvZGl2PiJdfSxq dD1kdChhKSxEdD1qdC5hcHBlbmRDaGlsZChhLmNyZWF0ZUVsZW1lbnQoImRpdiIp KTtBdC5vcHRncm91cD1BdC5vcHRpb24sQXQudGJvZHk9QXQudGZvb3Q9QXQuY29s Z3JvdXA9QXQuY2FwdGlvbj1BdC50aGVhZCxBdC50aD1BdC50ZCx4LmZuLmV4dGVu ZCh7dGV4dDpmdW5jdGlvbihlKXtyZXR1cm4geC5hY2Nlc3ModGhpcyxmdW5jdGlv bihlKXtyZXR1cm4gZT09PXQ/eC50ZXh0KHRoaXMpOnRoaXMuZW1wdHkoKS5hcHBl bmQoKHRoaXNbMF0mJnRoaXNbMF0ub3duZXJEb2N1bWVudHx8YSkuY3JlYXRlVGV4 dE5vZGUoZSkpfSxudWxsLGUsYXJndW1lbnRzLmxlbmd0aCl9LGFwcGVuZDpmdW5j dGlvbigpe3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cyxmdW5jdGlvbihl KXtpZigxPT09dGhpcy5ub2RlVHlwZXx8MTE9PT10aGlzLm5vZGVUeXBlfHw5PT09 dGhpcy5ub2RlVHlwZSl7dmFyIHQ9THQodGhpcyxlKTt0LmFwcGVuZENoaWxkKGUp fX0pfSxwcmVwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJn dW1lbnRzLGZ1bmN0aW9uKGUpe2lmKDE9PT10aGlzLm5vZGVUeXBlfHwxMT09PXRo aXMubm9kZVR5cGV8fDk9PT10aGlzLm5vZGVUeXBlKXt2YXIgdD1MdCh0aGlzLGUp O3QuaW5zZXJ0QmVmb3JlKGUsdC5maXJzdENoaWxkKX19KX0sYmVmb3JlOmZ1bmN0 aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLGZ1bmN0aW9uKGUp e3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShl LHRoaXMpfSl9LGFmdGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAo YXJndW1lbnRzLGZ1bmN0aW9uKGUpe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJl bnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMubmV4dFNpYmxpbmcpfSl9LHJlbW92 ZTpmdW5jdGlvbihlLHQpe3ZhciBuLHI9ZT94LmZpbHRlcihlLHRoaXMpOnRoaXMs aT0wO2Zvcig7bnVsbCE9KG49cltpXSk7aSsrKXR8fDEhPT1uLm5vZGVUeXBlfHx4 LmNsZWFuRGF0YShGdChuKSksbi5wYXJlbnROb2RlJiYodCYmeC5jb250YWlucyhu Lm93bmVyRG9jdW1lbnQsbikmJl90KEZ0KG4sInNjcmlwdCIpKSxuLnBhcmVudE5v ZGUucmVtb3ZlQ2hpbGQobikpO3JldHVybiB0aGlzfSxlbXB0eTpmdW5jdGlvbigp e3ZhciBlLHQ9MDtmb3IoO251bGwhPShlPXRoaXNbdF0pO3QrKyl7MT09PWUubm9k ZVR5cGUmJnguY2xlYW5EYXRhKEZ0KGUsITEpKTt3aGlsZShlLmZpcnN0Q2hpbGQp ZS5yZW1vdmVDaGlsZChlLmZpcnN0Q2hpbGQpO2Uub3B0aW9ucyYmeC5ub2RlTmFt ZShlLCJzZWxlY3QiKSYmKGUub3B0aW9ucy5sZW5ndGg9MCl9cmV0dXJuIHRoaXN9 LGNsb25lOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9bnVsbD09ZT8hMTplLHQ9bnVs bD09dD9lOnQsdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4geC5jbG9uZSh0aGlz LGUsdCl9KX0saHRtbDpmdW5jdGlvbihlKXtyZXR1cm4geC5hY2Nlc3ModGhpcyxm dW5jdGlvbihlKXt2YXIgbj10aGlzWzBdfHx7fSxyPTAsaT10aGlzLmxlbmd0aDtp ZihlPT09dClyZXR1cm4gMT09PW4ubm9kZVR5cGU/bi5pbm5lckhUTUwucmVwbGFj ZShndCwiIik6dDtpZighKCJzdHJpbmciIT10eXBlb2YgZXx8VHQudGVzdChlKXx8 IXguc3VwcG9ydC5odG1sU2VyaWFsaXplJiZtdC50ZXN0KGUpfHwheC5zdXBwb3J0 LmxlYWRpbmdXaGl0ZXNwYWNlJiZ5dC50ZXN0KGUpfHxBdFsoYnQuZXhlYyhlKXx8 WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKV0pKXtlPWUucmVwbGFjZSh2dCwiPCQx PjwvJDI+Iik7dHJ5e2Zvcig7aT5yO3IrKyluPXRoaXNbcl18fHt9LDE9PT1uLm5v ZGVUeXBlJiYoeC5jbGVhbkRhdGEoRnQobiwhMSkpLG4uaW5uZXJIVE1MPWUpO249 MH1jYXRjaChvKXt9fW4mJnRoaXMuZW1wdHkoKS5hcHBlbmQoZSl9LG51bGwsZSxh cmd1bWVudHMubGVuZ3RoKX0scmVwbGFjZVdpdGg6ZnVuY3Rpb24oKXt2YXIgZT14 Lm1hcCh0aGlzLGZ1bmN0aW9uKGUpe3JldHVybltlLm5leHRTaWJsaW5nLGUucGFy ZW50Tm9kZV19KSx0PTA7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLGZ1 bmN0aW9uKG4pe3ZhciByPWVbdCsrXSxpPWVbdCsrXTtpJiYociYmci5wYXJlbnRO b2RlIT09aSYmKHI9dGhpcy5uZXh0U2libGluZykseCh0aGlzKS5yZW1vdmUoKSxp Lmluc2VydEJlZm9yZShuLHIpKX0sITApLHQ/dGhpczp0aGlzLnJlbW92ZSgpfSxk ZXRhY2g6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucmVtb3ZlKGUsITApfSxkb21N YW5pcDpmdW5jdGlvbihlLHQsbil7ZT1kLmFwcGx5KFtdLGUpO3ZhciByLGksbyxh LHMsbCx1PTAsYz10aGlzLmxlbmd0aCxwPXRoaXMsZj1jLTEsaD1lWzBdLGc9eC5p c0Z1bmN0aW9uKGgpO2lmKGd8fCEoMT49Y3x8InN0cmluZyIhPXR5cGVvZiBofHx4 LnN1cHBvcnQuY2hlY2tDbG9uZSkmJk50LnRlc3QoaCkpcmV0dXJuIHRoaXMuZWFj aChmdW5jdGlvbihyKXt2YXIgaT1wLmVxKHIpO2cmJihlWzBdPWguY2FsbCh0aGlz LHIsaS5odG1sKCkpKSxpLmRvbU1hbmlwKGUsdCxuKX0pO2lmKGMmJihsPXguYnVp bGRGcmFnbWVudChlLHRoaXNbMF0ub3duZXJEb2N1bWVudCwhMSwhbiYmdGhpcyks cj1sLmZpcnN0Q2hpbGQsMT09PWwuY2hpbGROb2Rlcy5sZW5ndGgmJihsPXIpLHIp KXtmb3IoYT14Lm1hcChGdChsLCJzY3JpcHQiKSxIdCksbz1hLmxlbmd0aDtjPnU7 dSsrKWk9bCx1IT09ZiYmKGk9eC5jbG9uZShpLCEwLCEwKSxvJiZ4Lm1lcmdlKGEs RnQoaSwic2NyaXB0IikpKSx0LmNhbGwodGhpc1t1XSxpLHUpO2lmKG8pZm9yKHM9 YVthLmxlbmd0aC0xXS5vd25lckRvY3VtZW50LHgubWFwKGEscXQpLHU9MDtvPnU7 dSsrKWk9YVt1XSxrdC50ZXN0KGkudHlwZXx8IiIpJiYheC5fZGF0YShpLCJnbG9i YWxFdmFsIikmJnguY29udGFpbnMocyxpKSYmKGkuc3JjP3guX2V2YWxVcmwoaS5z cmMpOnguZ2xvYmFsRXZhbCgoaS50ZXh0fHxpLnRleHRDb250ZW50fHxpLmlubmVy SFRNTHx8IiIpLnJlcGxhY2UoU3QsIiIpKSk7bD1yPW51bGx9cmV0dXJuIHRoaXN9 fSk7ZnVuY3Rpb24gTHQoZSx0KXtyZXR1cm4geC5ub2RlTmFtZShlLCJ0YWJsZSIp JiZ4Lm5vZGVOYW1lKDE9PT10Lm5vZGVUeXBlP3Q6dC5maXJzdENoaWxkLCJ0ciIp P2UuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRib2R5IilbMF18fGUuYXBwZW5kQ2hp bGQoZS5vd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRib2R5IikpOmV9ZnVu Y3Rpb24gSHQoZSl7cmV0dXJuIGUudHlwZT0obnVsbCE9PXguZmluZC5hdHRyKGUs InR5cGUiKSkrIi8iK2UudHlwZSxlfWZ1bmN0aW9uIHF0KGUpe3ZhciB0PUV0LmV4 ZWMoZS50eXBlKTtyZXR1cm4gdD9lLnR5cGU9dFsxXTplLnJlbW92ZUF0dHJpYnV0 ZSgidHlwZSIpLGV9ZnVuY3Rpb24gX3QoZSx0KXt2YXIgbixyPTA7Zm9yKDtudWxs IT0obj1lW3JdKTtyKyspeC5fZGF0YShuLCJnbG9iYWxFdmFsIiwhdHx8eC5fZGF0 YSh0W3JdLCJnbG9iYWxFdmFsIikpfWZ1bmN0aW9uIE10KGUsdCl7aWYoMT09PXQu bm9kZVR5cGUmJnguaGFzRGF0YShlKSl7dmFyIG4scixpLG89eC5fZGF0YShlKSxh PXguX2RhdGEodCxvKSxzPW8uZXZlbnRzO2lmKHMpe2RlbGV0ZSBhLmhhbmRsZSxh LmV2ZW50cz17fTtmb3IobiBpbiBzKWZvcihyPTAsaT1zW25dLmxlbmd0aDtpPnI7 cisrKXguZXZlbnQuYWRkKHQsbixzW25dW3JdKX1hLmRhdGEmJihhLmRhdGE9eC5l eHRlbmQoe30sYS5kYXRhKSl9fWZ1bmN0aW9uIE90KGUsdCl7dmFyIG4scixpO2lm KDE9PT10Lm5vZGVUeXBlKXtpZihuPXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSwh eC5zdXBwb3J0Lm5vQ2xvbmVFdmVudCYmdFt4LmV4cGFuZG9dKXtpPXguX2RhdGEo dCk7Zm9yKHIgaW4gaS5ldmVudHMpeC5yZW1vdmVFdmVudCh0LHIsaS5oYW5kbGUp O3QucmVtb3ZlQXR0cmlidXRlKHguZXhwYW5kbyl9InNjcmlwdCI9PT1uJiZ0LnRl eHQhPT1lLnRleHQ/KEh0KHQpLnRleHQ9ZS50ZXh0LHF0KHQpKToib2JqZWN0Ij09 PW4/KHQucGFyZW50Tm9kZSYmKHQub3V0ZXJIVE1MPWUub3V0ZXJIVE1MKSx4LnN1 cHBvcnQuaHRtbDVDbG9uZSYmZS5pbm5lckhUTUwmJiF4LnRyaW0odC5pbm5lckhU TUwpJiYodC5pbm5lckhUTUw9ZS5pbm5lckhUTUwpKToiaW5wdXQiPT09biYmQ3Qu dGVzdChlLnR5cGUpPyh0LmRlZmF1bHRDaGVja2VkPXQuY2hlY2tlZD1lLmNoZWNr ZWQsdC52YWx1ZSE9PWUudmFsdWUmJih0LnZhbHVlPWUudmFsdWUpKToib3B0aW9u Ij09PW4/dC5kZWZhdWx0U2VsZWN0ZWQ9dC5zZWxlY3RlZD1lLmRlZmF1bHRTZWxl Y3RlZDooImlucHV0Ij09PW58fCJ0ZXh0YXJlYSI9PT1uKSYmKHQuZGVmYXVsdFZh bHVlPWUuZGVmYXVsdFZhbHVlKX19eC5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixw cmVwZW5kVG86InByZXBlbmQiLGluc2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRB ZnRlcjoiYWZ0ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0sZnVuY3Rpb24o ZSx0KXt4LmZuW2VdPWZ1bmN0aW9uKGUpe3ZhciBuLHI9MCxpPVtdLG89eChlKSxh PW8ubGVuZ3RoLTE7Zm9yKDthPj1yO3IrKyluPXI9PT1hP3RoaXM6dGhpcy5jbG9u ZSghMCkseChvW3JdKVt0XShuKSxoLmFwcGx5KGksbi5nZXQoKSk7cmV0dXJuIHRo aXMucHVzaFN0YWNrKGkpfX0pO2Z1bmN0aW9uIEZ0KGUsbil7dmFyIHIsbyxhPTAs cz10eXBlb2YgZS5nZXRFbGVtZW50c0J5VGFnTmFtZSE9PWk/ZS5nZXRFbGVtZW50 c0J5VGFnTmFtZShufHwiKiIpOnR5cGVvZiBlLnF1ZXJ5U2VsZWN0b3JBbGwhPT1p P2UucXVlcnlTZWxlY3RvckFsbChufHwiKiIpOnQ7aWYoIXMpZm9yKHM9W10scj1l LmNoaWxkTm9kZXN8fGU7bnVsbCE9KG89clthXSk7YSsrKSFufHx4Lm5vZGVOYW1l KG8sbik/cy5wdXNoKG8pOngubWVyZ2UocyxGdChvLG4pKTtyZXR1cm4gbj09PXR8 fG4mJngubm9kZU5hbWUoZSxuKT94Lm1lcmdlKFtlXSxzKTpzfWZ1bmN0aW9uIEJ0 KGUpe0N0LnRlc3QoZS50eXBlKSYmKGUuZGVmYXVsdENoZWNrZWQ9ZS5jaGVja2Vk KX14LmV4dGVuZCh7Y2xvbmU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhLHMs bD14LmNvbnRhaW5zKGUub3duZXJEb2N1bWVudCxlKTtpZih4LnN1cHBvcnQuaHRt bDVDbG9uZXx8eC5pc1hNTERvYyhlKXx8IW10LnRlc3QoIjwiK2Uubm9kZU5hbWUr Ij4iKT9vPWUuY2xvbmVOb2RlKCEwKTooRHQuaW5uZXJIVE1MPWUub3V0ZXJIVE1M LER0LnJlbW92ZUNoaWxkKG89RHQuZmlyc3RDaGlsZCkpLCEoeC5zdXBwb3J0Lm5v Q2xvbmVFdmVudCYmeC5zdXBwb3J0Lm5vQ2xvbmVDaGVja2VkfHwxIT09ZS5ub2Rl VHlwZSYmMTEhPT1lLm5vZGVUeXBlfHx4LmlzWE1MRG9jKGUpKSlmb3Iocj1GdChv KSxzPUZ0KGUpLGE9MDtudWxsIT0oaT1zW2FdKTsrK2EpclthXSYmT3QoaSxyW2Fd KTtpZih0KWlmKG4pZm9yKHM9c3x8RnQoZSkscj1yfHxGdChvKSxhPTA7bnVsbCE9 KGk9c1thXSk7YSsrKU10KGksclthXSk7ZWxzZSBNdChlLG8pO3JldHVybiByPUZ0 KG8sInNjcmlwdCIpLHIubGVuZ3RoPjAmJl90KHIsIWwmJkZ0KGUsInNjcmlwdCIp KSxyPXM9aT1udWxsLG99LGJ1aWxkRnJhZ21lbnQ6ZnVuY3Rpb24oZSx0LG4scil7 dmFyIGksbyxhLHMsbCx1LGMscD1lLmxlbmd0aCxmPWR0KHQpLGQ9W10saD0wO2Zv cig7cD5oO2grKylpZihvPWVbaF0sb3x8MD09PW8paWYoIm9iamVjdCI9PT14LnR5 cGUobykpeC5tZXJnZShkLG8ubm9kZVR5cGU/W29dOm8pO2Vsc2UgaWYod3QudGVz dChvKSl7cz1zfHxmLmFwcGVuZENoaWxkKHQuY3JlYXRlRWxlbWVudCgiZGl2Iikp LGw9KGJ0LmV4ZWMobyl8fFsiIiwiIl0pWzFdLnRvTG93ZXJDYXNlKCksYz1BdFts XXx8QXQuX2RlZmF1bHQscy5pbm5lckhUTUw9Y1sxXStvLnJlcGxhY2UodnQsIjwk MT48LyQyPiIpK2NbMl0saT1jWzBdO3doaWxlKGktLSlzPXMubGFzdENoaWxkO2lm KCF4LnN1cHBvcnQubGVhZGluZ1doaXRlc3BhY2UmJnl0LnRlc3QobykmJmQucHVz aCh0LmNyZWF0ZVRleHROb2RlKHl0LmV4ZWMobylbMF0pKSwheC5zdXBwb3J0LnRi b2R5KXtvPSJ0YWJsZSIhPT1sfHx4dC50ZXN0KG8pPyI8dGFibGU+IiE9PWNbMV18 fHh0LnRlc3Qobyk/MDpzOnMuZmlyc3RDaGlsZCxpPW8mJm8uY2hpbGROb2Rlcy5s ZW5ndGg7d2hpbGUoaS0tKXgubm9kZU5hbWUodT1vLmNoaWxkTm9kZXNbaV0sInRi b2R5IikmJiF1LmNoaWxkTm9kZXMubGVuZ3RoJiZvLnJlbW92ZUNoaWxkKHUpfXgu bWVyZ2UoZCxzLmNoaWxkTm9kZXMpLHMudGV4dENvbnRlbnQ9IiI7d2hpbGUocy5m aXJzdENoaWxkKXMucmVtb3ZlQ2hpbGQocy5maXJzdENoaWxkKTtzPWYubGFzdENo aWxkfWVsc2UgZC5wdXNoKHQuY3JlYXRlVGV4dE5vZGUobykpO3MmJmYucmVtb3Zl Q2hpbGQocykseC5zdXBwb3J0LmFwcGVuZENoZWNrZWR8fHguZ3JlcChGdChkLCJp bnB1dCIpLEJ0KSxoPTA7d2hpbGUobz1kW2grK10paWYoKCFyfHwtMT09PXguaW5B cnJheShvLHIpKSYmKGE9eC5jb250YWlucyhvLm93bmVyRG9jdW1lbnQsbykscz1G dChmLmFwcGVuZENoaWxkKG8pLCJzY3JpcHQiKSxhJiZfdChzKSxuKSl7aT0wO3do aWxlKG89c1tpKytdKWt0LnRlc3Qoby50eXBlfHwiIikmJm4ucHVzaChvKX1yZXR1 cm4gcz1udWxsLGZ9LGNsZWFuRGF0YTpmdW5jdGlvbihlLHQpe3ZhciBuLHIsbyxh LHM9MCxsPXguZXhwYW5kbyx1PXguY2FjaGUsYz14LnN1cHBvcnQuZGVsZXRlRXhw YW5kbyxmPXguZXZlbnQuc3BlY2lhbDtmb3IoO251bGwhPShuPWVbc10pO3MrKylp ZigodHx8eC5hY2NlcHREYXRhKG4pKSYmKG89bltsXSxhPW8mJnVbb10pKXtpZihh LmV2ZW50cylmb3IociBpbiBhLmV2ZW50cylmW3JdP3guZXZlbnQucmVtb3ZlKG4s cik6eC5yZW1vdmVFdmVudChuLHIsYS5oYW5kbGUpOwp1W29dJiYoZGVsZXRlIHVb b10sYz9kZWxldGUgbltsXTp0eXBlb2Ygbi5yZW1vdmVBdHRyaWJ1dGUhPT1pP24u cmVtb3ZlQXR0cmlidXRlKGwpOm5bbF09bnVsbCxwLnB1c2gobykpfX0sX2V2YWxV cmw6ZnVuY3Rpb24oZSl7cmV0dXJuIHguYWpheCh7dXJsOmUsdHlwZToiR0VUIixk YXRhVHlwZToic2NyaXB0Iixhc3luYzohMSxnbG9iYWw6ITEsInRocm93cyI6ITB9 KX19KSx4LmZuLmV4dGVuZCh7d3JhcEFsbDpmdW5jdGlvbihlKXtpZih4LmlzRnVu Y3Rpb24oZSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbih0KXt4KHRoaXMpLndy YXBBbGwoZS5jYWxsKHRoaXMsdCkpfSk7aWYodGhpc1swXSl7dmFyIHQ9eChlLHRo aXNbMF0ub3duZXJEb2N1bWVudCkuZXEoMCkuY2xvbmUoITApO3RoaXNbMF0ucGFy ZW50Tm9kZSYmdC5pbnNlcnRCZWZvcmUodGhpc1swXSksdC5tYXAoZnVuY3Rpb24o KXt2YXIgZT10aGlzO3doaWxlKGUuZmlyc3RDaGlsZCYmMT09PWUuZmlyc3RDaGls ZC5ub2RlVHlwZSllPWUuZmlyc3RDaGlsZDtyZXR1cm4gZX0pLmFwcGVuZCh0aGlz KX1yZXR1cm4gdGhpc30sd3JhcElubmVyOmZ1bmN0aW9uKGUpe3JldHVybiB4Lmlz RnVuY3Rpb24oZSk/dGhpcy5lYWNoKGZ1bmN0aW9uKHQpe3godGhpcykud3JhcElu bmVyKGUuY2FsbCh0aGlzLHQpKX0pOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0 PXgodGhpcyksbj10LmNvbnRlbnRzKCk7bi5sZW5ndGg/bi53cmFwQWxsKGUpOnQu YXBwZW5kKGUpfSl9LHdyYXA6ZnVuY3Rpb24oZSl7dmFyIHQ9eC5pc0Z1bmN0aW9u KGUpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24obil7eCh0aGlzKS53cmFwQWxs KHQ/ZS5jYWxsKHRoaXMsbik6ZSl9KX0sdW53cmFwOmZ1bmN0aW9uKCl7cmV0dXJu IHRoaXMucGFyZW50KCkuZWFjaChmdW5jdGlvbigpe3gubm9kZU5hbWUodGhpcywi Ym9keSIpfHx4KHRoaXMpLnJlcGxhY2VXaXRoKHRoaXMuY2hpbGROb2Rlcyl9KS5l bmQoKX19KTt2YXIgUHQsUnQsV3QsJHQ9L2FscGhhXChbXildKlwpL2ksSXQ9L29w YWNpdHlccyo9XHMqKFteKV0qKS8senQ9L14odG9wfHJpZ2h0fGJvdHRvbXxsZWZ0 KSQvLFh0PS9eKG5vbmV8dGFibGUoPyEtY1tlYV0pLispLyxVdD0vXm1hcmdpbi8s VnQ9UmVnRXhwKCJeKCIrdysiKSguKikkIiwiaSIpLFl0PVJlZ0V4cCgiXigiK3cr IikoPyFweClbYS16JV0rJCIsImkiKSxKdD1SZWdFeHAoIl4oWystXSk9KCIrdysi KSIsImkiKSxHdD17Qk9EWToiYmxvY2sifSxRdD17cG9zaXRpb246ImFic29sdXRl Iix2aXNpYmlsaXR5OiJoaWRkZW4iLGRpc3BsYXk6ImJsb2NrIn0sS3Q9e2xldHRl clNwYWNpbmc6MCxmb250V2VpZ2h0OjQwMH0sWnQ9WyJUb3AiLCJSaWdodCIsIkJv dHRvbSIsIkxlZnQiXSxlbj1bIldlYmtpdCIsIk8iLCJNb3oiLCJtcyJdO2Z1bmN0 aW9uIHRuKGUsdCl7aWYodCBpbiBlKXJldHVybiB0O3ZhciBuPXQuY2hhckF0KDAp LnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKSxyPXQsaT1lbi5sZW5ndGg7d2hpbGUo aS0tKWlmKHQ9ZW5baV0rbix0IGluIGUpcmV0dXJuIHQ7cmV0dXJuIHJ9ZnVuY3Rp b24gbm4oZSx0KXtyZXR1cm4gZT10fHxlLCJub25lIj09PXguY3NzKGUsImRpc3Bs YXkiKXx8IXguY29udGFpbnMoZS5vd25lckRvY3VtZW50LGUpfWZ1bmN0aW9uIHJu KGUsdCl7dmFyIG4scixpLG89W10sYT0wLHM9ZS5sZW5ndGg7Zm9yKDtzPmE7YSsr KXI9ZVthXSxyLnN0eWxlJiYob1thXT14Ll9kYXRhKHIsIm9sZGRpc3BsYXkiKSxu PXIuc3R5bGUuZGlzcGxheSx0PyhvW2FdfHwibm9uZSIhPT1ufHwoci5zdHlsZS5k aXNwbGF5PSIiKSwiIj09PXIuc3R5bGUuZGlzcGxheSYmbm4ocikmJihvW2FdPXgu X2RhdGEociwib2xkZGlzcGxheSIsbG4oci5ub2RlTmFtZSkpKSk6b1thXXx8KGk9 bm4ociksKG4mJiJub25lIiE9PW58fCFpKSYmeC5fZGF0YShyLCJvbGRkaXNwbGF5 IixpP246eC5jc3MociwiZGlzcGxheSIpKSkpO2ZvcihhPTA7cz5hO2ErKylyPWVb YV0sci5zdHlsZSYmKHQmJiJub25lIiE9PXIuc3R5bGUuZGlzcGxheSYmIiIhPT1y LnN0eWxlLmRpc3BsYXl8fChyLnN0eWxlLmRpc3BsYXk9dD9vW2FdfHwiIjoibm9u ZSIpKTtyZXR1cm4gZX14LmZuLmV4dGVuZCh7Y3NzOmZ1bmN0aW9uKGUsbil7cmV0 dXJuIHguYWNjZXNzKHRoaXMsZnVuY3Rpb24oZSxuLHIpe3ZhciBpLG8sYT17fSxz PTA7aWYoeC5pc0FycmF5KG4pKXtmb3Iobz1SdChlKSxpPW4ubGVuZ3RoO2k+cztz KyspYVtuW3NdXT14LmNzcyhlLG5bc10sITEsbyk7cmV0dXJuIGF9cmV0dXJuIHIh PT10P3guc3R5bGUoZSxuLHIpOnguY3NzKGUsbil9LGUsbixhcmd1bWVudHMubGVu Z3RoPjEpfSxzaG93OmZ1bmN0aW9uKCl7cmV0dXJuIHJuKHRoaXMsITApfSxoaWRl OmZ1bmN0aW9uKCl7cmV0dXJuIHJuKHRoaXMpfSx0b2dnbGU6ZnVuY3Rpb24oZSl7 cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgZT9lP3RoaXMuc2hvdygpOnRoaXMuaGlk ZSgpOnRoaXMuZWFjaChmdW5jdGlvbigpe25uKHRoaXMpP3godGhpcykuc2hvdygp OngodGhpcykuaGlkZSgpfSl9fSkseC5leHRlbmQoe2Nzc0hvb2tzOntvcGFjaXR5 OntnZXQ6ZnVuY3Rpb24oZSx0KXtpZih0KXt2YXIgbj1XdChlLCJvcGFjaXR5Iik7 cmV0dXJuIiI9PT1uPyIxIjpufX19fSxjc3NOdW1iZXI6e2NvbHVtbkNvdW50OiEw LGZpbGxPcGFjaXR5OiEwLGZvbnRXZWlnaHQ6ITAsbGluZUhlaWdodDohMCxvcGFj aXR5OiEwLG9yZGVyOiEwLG9ycGhhbnM6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6 b29tOiEwfSxjc3NQcm9wczp7ImZsb2F0Ijp4LnN1cHBvcnQuY3NzRmxvYXQ/ImNz c0Zsb2F0Ijoic3R5bGVGbG9hdCJ9LHN0eWxlOmZ1bmN0aW9uKGUsbixyLGkpe2lm KGUmJjMhPT1lLm5vZGVUeXBlJiY4IT09ZS5ub2RlVHlwZSYmZS5zdHlsZSl7dmFy IG8sYSxzLGw9eC5jYW1lbENhc2UobiksdT1lLnN0eWxlO2lmKG49eC5jc3NQcm9w c1tsXXx8KHguY3NzUHJvcHNbbF09dG4odSxsKSkscz14LmNzc0hvb2tzW25dfHx4 LmNzc0hvb2tzW2xdLHI9PT10KXJldHVybiBzJiYiZ2V0ImluIHMmJihvPXMuZ2V0 KGUsITEsaSkpIT09dD9vOnVbbl07aWYoYT10eXBlb2Ygciwic3RyaW5nIj09PWEm JihvPUp0LmV4ZWMocikpJiYocj0ob1sxXSsxKSpvWzJdK3BhcnNlRmxvYXQoeC5j c3MoZSxuKSksYT0ibnVtYmVyIiksIShudWxsPT1yfHwibnVtYmVyIj09PWEmJmlz TmFOKHIpfHwoIm51bWJlciIhPT1hfHx4LmNzc051bWJlcltsXXx8KHIrPSJweCIp LHguc3VwcG9ydC5jbGVhckNsb25lU3R5bGV8fCIiIT09cnx8MCE9PW4uaW5kZXhP ZigiYmFja2dyb3VuZCIpfHwodVtuXT0iaW5oZXJpdCIpLHMmJiJzZXQiaW4gcyYm KHI9cy5zZXQoZSxyLGkpKT09PXQpKSl0cnl7dVtuXT1yfWNhdGNoKGMpe319fSxj c3M6ZnVuY3Rpb24oZSxuLHIsaSl7dmFyIG8sYSxzLGw9eC5jYW1lbENhc2Uobik7 cmV0dXJuIG49eC5jc3NQcm9wc1tsXXx8KHguY3NzUHJvcHNbbF09dG4oZS5zdHls ZSxsKSkscz14LmNzc0hvb2tzW25dfHx4LmNzc0hvb2tzW2xdLHMmJiJnZXQiaW4g cyYmKGE9cy5nZXQoZSwhMCxyKSksYT09PXQmJihhPVd0KGUsbixpKSksIm5vcm1h bCI9PT1hJiZuIGluIEt0JiYoYT1LdFtuXSksIiI9PT1yfHxyPyhvPXBhcnNlRmxv YXQoYSkscj09PSEwfHx4LmlzTnVtZXJpYyhvKT9vfHwwOmEpOmF9fSksZS5nZXRD b21wdXRlZFN0eWxlPyhSdD1mdW5jdGlvbih0KXtyZXR1cm4gZS5nZXRDb21wdXRl ZFN0eWxlKHQsbnVsbCl9LFd0PWZ1bmN0aW9uKGUsbixyKXt2YXIgaSxvLGEscz1y fHxSdChlKSxsPXM/cy5nZXRQcm9wZXJ0eVZhbHVlKG4pfHxzW25dOnQsdT1lLnN0 eWxlO3JldHVybiBzJiYoIiIhPT1sfHx4LmNvbnRhaW5zKGUub3duZXJEb2N1bWVu dCxlKXx8KGw9eC5zdHlsZShlLG4pKSxZdC50ZXN0KGwpJiZVdC50ZXN0KG4pJiYo aT11LndpZHRoLG89dS5taW5XaWR0aCxhPXUubWF4V2lkdGgsdS5taW5XaWR0aD11 Lm1heFdpZHRoPXUud2lkdGg9bCxsPXMud2lkdGgsdS53aWR0aD1pLHUubWluV2lk dGg9byx1Lm1heFdpZHRoPWEpKSxsfSk6YS5kb2N1bWVudEVsZW1lbnQuY3VycmVu dFN0eWxlJiYoUnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuY3VycmVudFN0eWxlfSxX dD1mdW5jdGlvbihlLG4scil7dmFyIGksbyxhLHM9cnx8UnQoZSksbD1zP3Nbbl06 dCx1PWUuc3R5bGU7cmV0dXJuIG51bGw9PWwmJnUmJnVbbl0mJihsPXVbbl0pLFl0 LnRlc3QobCkmJiF6dC50ZXN0KG4pJiYoaT11LmxlZnQsbz1lLnJ1bnRpbWVTdHls ZSxhPW8mJm8ubGVmdCxhJiYoby5sZWZ0PWUuY3VycmVudFN0eWxlLmxlZnQpLHUu bGVmdD0iZm9udFNpemUiPT09bj8iMWVtIjpsLGw9dS5waXhlbExlZnQrInB4Iix1 LmxlZnQ9aSxhJiYoby5sZWZ0PWEpKSwiIj09PWw/ImF1dG8iOmx9KTtmdW5jdGlv biBvbihlLHQsbil7dmFyIHI9VnQuZXhlYyh0KTtyZXR1cm4gcj9NYXRoLm1heCgw LHJbMV0tKG58fDApKSsoclsyXXx8InB4Iik6dH1mdW5jdGlvbiBhbihlLHQsbixy LGkpe3ZhciBvPW49PT0ocj8iYm9yZGVyIjoiY29udGVudCIpPzQ6IndpZHRoIj09 PXQ/MTowLGE9MDtmb3IoOzQ+bztvKz0yKSJtYXJnaW4iPT09biYmKGErPXguY3Nz KGUsbitadFtvXSwhMCxpKSkscj8oImNvbnRlbnQiPT09biYmKGEtPXguY3NzKGUs InBhZGRpbmciK1p0W29dLCEwLGkpKSwibWFyZ2luIiE9PW4mJihhLT14LmNzcyhl LCJib3JkZXIiK1p0W29dKyJXaWR0aCIsITAsaSkpKTooYSs9eC5jc3MoZSwicGFk ZGluZyIrWnRbb10sITAsaSksInBhZGRpbmciIT09biYmKGErPXguY3NzKGUsImJv cmRlciIrWnRbb10rIldpZHRoIiwhMCxpKSkpO3JldHVybiBhfWZ1bmN0aW9uIHNu KGUsdCxuKXt2YXIgcj0hMCxpPSJ3aWR0aCI9PT10P2Uub2Zmc2V0V2lkdGg6ZS5v ZmZzZXRIZWlnaHQsbz1SdChlKSxhPXguc3VwcG9ydC5ib3hTaXppbmcmJiJib3Jk ZXItYm94Ij09PXguY3NzKGUsImJveFNpemluZyIsITEsbyk7aWYoMD49aXx8bnVs bD09aSl7aWYoaT1XdChlLHQsbyksKDA+aXx8bnVsbD09aSkmJihpPWUuc3R5bGVb dF0pLFl0LnRlc3QoaSkpcmV0dXJuIGk7cj1hJiYoeC5zdXBwb3J0LmJveFNpemlu Z1JlbGlhYmxlfHxpPT09ZS5zdHlsZVt0XSksaT1wYXJzZUZsb2F0KGkpfHwwfXJl dHVybiBpK2FuKGUsdCxufHwoYT8iYm9yZGVyIjoiY29udGVudCIpLHIsbykrInB4 In1mdW5jdGlvbiBsbihlKXt2YXIgdD1hLG49R3RbZV07cmV0dXJuIG58fChuPXVu KGUsdCksIm5vbmUiIT09biYmbnx8KFB0PShQdHx8eCgiPGlmcmFtZSBmcmFtZWJv cmRlcj0nMCcgd2lkdGg9JzAnIGhlaWdodD0nMCcvPiIpLmNzcygiY3NzVGV4dCIs ImRpc3BsYXk6YmxvY2sgIWltcG9ydGFudCIpKS5hcHBlbmRUbyh0LmRvY3VtZW50 RWxlbWVudCksdD0oUHRbMF0uY29udGVudFdpbmRvd3x8UHRbMF0uY29udGVudERv Y3VtZW50KS5kb2N1bWVudCx0LndyaXRlKCI8IWRvY3R5cGUgaHRtbD48aHRtbD48 Ym9keT4iKSx0LmNsb3NlKCksbj11bihlLHQpLFB0LmRldGFjaCgpKSxHdFtlXT1u KSxufWZ1bmN0aW9uIHVuKGUsdCl7dmFyIG49eCh0LmNyZWF0ZUVsZW1lbnQoZSkp LmFwcGVuZFRvKHQuYm9keSkscj14LmNzcyhuWzBdLCJkaXNwbGF5Iik7cmV0dXJu IG4ucmVtb3ZlKCkscn14LmVhY2goWyJoZWlnaHQiLCJ3aWR0aCJdLGZ1bmN0aW9u KGUsbil7eC5jc3NIb29rc1tuXT17Z2V0OmZ1bmN0aW9uKGUscixpKXtyZXR1cm4g cj8wPT09ZS5vZmZzZXRXaWR0aCYmWHQudGVzdCh4LmNzcyhlLCJkaXNwbGF5Iikp P3guc3dhcChlLFF0LGZ1bmN0aW9uKCl7cmV0dXJuIHNuKGUsbixpKX0pOnNuKGUs bixpKTp0fSxzZXQ6ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXImJlJ0KGUpO3JldHVy biBvbihlLHQscj9hbihlLG4scix4LnN1cHBvcnQuYm94U2l6aW5nJiYiYm9yZGVy LWJveCI9PT14LmNzcyhlLCJib3hTaXppbmciLCExLGkpLGkpOjApfX19KSx4LnN1 cHBvcnQub3BhY2l0eXx8KHguY3NzSG9va3Mub3BhY2l0eT17Z2V0OmZ1bmN0aW9u KGUsdCl7cmV0dXJuIEl0LnRlc3QoKHQmJmUuY3VycmVudFN0eWxlP2UuY3VycmVu dFN0eWxlLmZpbHRlcjplLnN0eWxlLmZpbHRlcil8fCIiKT8uMDEqcGFyc2VGbG9h dChSZWdFeHAuJDEpKyIiOnQ/IjEiOiIifSxzZXQ6ZnVuY3Rpb24oZSx0KXt2YXIg bj1lLnN0eWxlLHI9ZS5jdXJyZW50U3R5bGUsaT14LmlzTnVtZXJpYyh0KT8iYWxw aGEob3BhY2l0eT0iKzEwMCp0KyIpIjoiIixvPXImJnIuZmlsdGVyfHxuLmZpbHRl cnx8IiI7bi56b29tPTEsKHQ+PTF8fCIiPT09dCkmJiIiPT09eC50cmltKG8ucmVw bGFjZSgkdCwiIikpJiZuLnJlbW92ZUF0dHJpYnV0ZSYmKG4ucmVtb3ZlQXR0cmli dXRlKCJmaWx0ZXIiKSwiIj09PXR8fHImJiFyLmZpbHRlcil8fChuLmZpbHRlcj0k dC50ZXN0KG8pP28ucmVwbGFjZSgkdCxpKTpvKyIgIitpKX19KSx4KGZ1bmN0aW9u KCl7eC5zdXBwb3J0LnJlbGlhYmxlTWFyZ2luUmlnaHR8fCh4LmNzc0hvb2tzLm1h cmdpblJpZ2h0PXtnZXQ6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbj94LnN3YXAoZSx7 ZGlzcGxheToiaW5saW5lLWJsb2NrIn0sV3QsW2UsIm1hcmdpblJpZ2h0Il0pOnR9 fSksIXguc3VwcG9ydC5waXhlbFBvc2l0aW9uJiZ4LmZuLnBvc2l0aW9uJiZ4LmVh Y2goWyJ0b3AiLCJsZWZ0Il0sZnVuY3Rpb24oZSxuKXt4LmNzc0hvb2tzW25dPXtn ZXQ6ZnVuY3Rpb24oZSxyKXtyZXR1cm4gcj8ocj1XdChlLG4pLFl0LnRlc3Qocik/ eChlKS5wb3NpdGlvbigpW25dKyJweCI6cik6dH19fSl9KSx4LmV4cHImJnguZXhw ci5maWx0ZXJzJiYoeC5leHByLmZpbHRlcnMuaGlkZGVuPWZ1bmN0aW9uKGUpe3Jl dHVybiAwPj1lLm9mZnNldFdpZHRoJiYwPj1lLm9mZnNldEhlaWdodHx8IXguc3Vw cG9ydC5yZWxpYWJsZUhpZGRlbk9mZnNldHMmJiJub25lIj09PShlLnN0eWxlJiZl LnN0eWxlLmRpc3BsYXl8fHguY3NzKGUsImRpc3BsYXkiKSl9LHguZXhwci5maWx0 ZXJzLnZpc2libGU9ZnVuY3Rpb24oZSl7cmV0dXJuIXguZXhwci5maWx0ZXJzLmhp ZGRlbihlKX0pLHguZWFjaCh7bWFyZ2luOiIiLHBhZGRpbmc6IiIsYm9yZGVyOiJX aWR0aCJ9LGZ1bmN0aW9uKGUsdCl7eC5jc3NIb29rc1tlK3RdPXtleHBhbmQ6ZnVu Y3Rpb24obil7dmFyIHI9MCxpPXt9LG89InN0cmluZyI9PXR5cGVvZiBuP24uc3Bs aXQoIiAiKTpbbl07Zm9yKDs0PnI7cisrKWlbZStadFtyXSt0XT1vW3JdfHxvW3It Ml18fG9bMF07cmV0dXJuIGl9fSxVdC50ZXN0KGUpfHwoeC5jc3NIb29rc1tlK3Rd LnNldD1vbil9KTt2YXIgY249LyUyMC9nLHBuPS9cW1xdJC8sZm49L1xyP1xuL2cs ZG49L14oPzpzdWJtaXR8YnV0dG9ufGltYWdlfHJlc2V0fGZpbGUpJC9pLGhuPS9e KD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGtleWdlbikvaTt4LmZuLmV4dGVuZCh7 c2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHgucGFyYW0odGhpcy5zZXJpYWxp emVBcnJheSgpKX0sc2VyaWFsaXplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhp cy5tYXAoZnVuY3Rpb24oKXt2YXIgZT14LnByb3AodGhpcywiZWxlbWVudHMiKTty ZXR1cm4gZT94Lm1ha2VBcnJheShlKTp0aGlzfSkuZmlsdGVyKGZ1bmN0aW9uKCl7 dmFyIGU9dGhpcy50eXBlO3JldHVybiB0aGlzLm5hbWUmJiF4KHRoaXMpLmlzKCI6 ZGlzYWJsZWQiKSYmaG4udGVzdCh0aGlzLm5vZGVOYW1lKSYmIWRuLnRlc3QoZSkm Jih0aGlzLmNoZWNrZWR8fCFDdC50ZXN0KGUpKX0pLm1hcChmdW5jdGlvbihlLHQp e3ZhciBuPXgodGhpcykudmFsKCk7cmV0dXJuIG51bGw9PW4/bnVsbDp4LmlzQXJy YXkobik/eC5tYXAobixmdW5jdGlvbihlKXtyZXR1cm57bmFtZTp0Lm5hbWUsdmFs dWU6ZS5yZXBsYWNlKGZuLCJcclxuIil9fSk6e25hbWU6dC5uYW1lLHZhbHVlOm4u cmVwbGFjZShmbiwiXHJcbiIpfX0pLmdldCgpfX0pLHgucGFyYW09ZnVuY3Rpb24o ZSxuKXt2YXIgcixpPVtdLG89ZnVuY3Rpb24oZSx0KXt0PXguaXNGdW5jdGlvbih0 KT90KCk6bnVsbD09dD8iIjp0LGlbaS5sZW5ndGhdPWVuY29kZVVSSUNvbXBvbmVu dChlKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KHQpfTtpZihuPT09dCYmKG49eC5h amF4U2V0dGluZ3MmJnguYWpheFNldHRpbmdzLnRyYWRpdGlvbmFsKSx4LmlzQXJy YXkoZSl8fGUuanF1ZXJ5JiYheC5pc1BsYWluT2JqZWN0KGUpKXguZWFjaChlLGZ1 bmN0aW9uKCl7byh0aGlzLm5hbWUsdGhpcy52YWx1ZSl9KTtlbHNlIGZvcihyIGlu IGUpZ24ocixlW3JdLG4sbyk7cmV0dXJuIGkuam9pbigiJiIpLnJlcGxhY2UoY24s IisiKX07ZnVuY3Rpb24gZ24oZSx0LG4scil7dmFyIGk7aWYoeC5pc0FycmF5KHQp KXguZWFjaCh0LGZ1bmN0aW9uKHQsaSl7bnx8cG4udGVzdChlKT9yKGUsaSk6Z24o ZSsiWyIrKCJvYmplY3QiPT10eXBlb2YgaT90OiIiKSsiXSIsaSxuLHIpfSk7ZWxz ZSBpZihufHwib2JqZWN0IiE9PXgudHlwZSh0KSlyKGUsdCk7ZWxzZSBmb3IoaSBp biB0KWduKGUrIlsiK2krIl0iLHRbaV0sbixyKX14LmVhY2goImJsdXIgZm9jdXMg Zm9jdXNpbiBmb2N1c291dCBsb2FkIHJlc2l6ZSBzY3JvbGwgdW5sb2FkIGNsaWNr IGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIg bW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlIGNoYW5nZSBzZWxlY3Qgc3Vi bWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgZXJyb3IgY29udGV4dG1lbnUiLnNw bGl0KCIgIiksZnVuY3Rpb24oZSx0KXt4LmZuW3RdPWZ1bmN0aW9uKGUsbil7cmV0 dXJuIGFyZ3VtZW50cy5sZW5ndGg+MD90aGlzLm9uKHQsbnVsbCxlLG4pOnRoaXMu dHJpZ2dlcih0KX19KSx4LmZuLmV4dGVuZCh7aG92ZXI6ZnVuY3Rpb24oZSx0KXty ZXR1cm4gdGhpcy5tb3VzZWVudGVyKGUpLm1vdXNlbGVhdmUodHx8ZSl9LGJpbmQ6 ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0aGlzLm9uKGUsbnVsbCx0LG4pfSx1bmJp bmQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5vZmYoZSxudWxsLHQpfSxkZWxl Z2F0ZTpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gdGhpcy5vbih0LGUsbixyKX0s dW5kZWxlZ2F0ZTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIDE9PT1hcmd1bWVudHMu bGVuZ3RoP3RoaXMub2ZmKGUsIioqIik6dGhpcy5vZmYodCxlfHwiKioiLG4pfX0p O3ZhciBtbix5bix2bj14Lm5vdygpLGJuPS9cPy8seG49LyMuKiQvLHduPS8oWz8m XSlfPVteJl0qLyxUbj0vXiguKj8pOlsgXHRdKihbXlxyXG5dKilccj8kL2dtLENu PS9eKD86YWJvdXR8YXBwfGFwcC1zdG9yYWdlfC4rLWV4dGVuc2lvbnxmaWxlfHJl c3x3aWRnZXQpOiQvLE5uPS9eKD86R0VUfEhFQUQpJC8sa249L15cL1wvLyxFbj0v XihbXHcuKy1dKzopKD86XC9cLyhbXlwvPyM6XSopKD86OihcZCspfCl8KS8sU249 eC5mbi5sb2FkLEFuPXt9LGpuPXt9LERuPSIqLyIuY29uY2F0KCIqIik7dHJ5e3lu PW8uaHJlZn1jYXRjaChMbil7eW49YS5jcmVhdGVFbGVtZW50KCJhIikseW4uaHJl Zj0iIix5bj15bi5ocmVmfW1uPUVuLmV4ZWMoeW4udG9Mb3dlckNhc2UoKSl8fFtd O2Z1bmN0aW9uIEhuKGUpe3JldHVybiBmdW5jdGlvbih0LG4peyJzdHJpbmciIT10 eXBlb2YgdCYmKG49dCx0PSIqIik7dmFyIHIsaT0wLG89dC50b0xvd2VyQ2FzZSgp Lm1hdGNoKFQpfHxbXTtpZih4LmlzRnVuY3Rpb24obikpd2hpbGUocj1vW2krK10p IisiPT09clswXT8ocj1yLnNsaWNlKDEpfHwiKiIsKGVbcl09ZVtyXXx8W10pLnVu c2hpZnQobikpOihlW3JdPWVbcl18fFtdKS5wdXNoKG4pfX1mdW5jdGlvbiBxbihl LG4scixpKXt2YXIgbz17fSxhPWU9PT1qbjtmdW5jdGlvbiBzKGwpe3ZhciB1O3Jl dHVybiBvW2xdPSEwLHguZWFjaChlW2xdfHxbXSxmdW5jdGlvbihlLGwpe3ZhciBj PWwobixyLGkpO3JldHVybiJzdHJpbmciIT10eXBlb2YgY3x8YXx8b1tjXT9hPyEo dT1jKTp0OihuLmRhdGFUeXBlcy51bnNoaWZ0KGMpLHMoYyksITEpfSksdX1yZXR1 cm4gcyhuLmRhdGFUeXBlc1swXSl8fCFvWyIqIl0mJnMoIioiKX1mdW5jdGlvbiBf bihlLG4pe3ZhciByLGksbz14LmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9uc3x8e307 Zm9yKGkgaW4gbiluW2ldIT09dCYmKChvW2ldP2U6cnx8KHI9e30pKVtpXT1uW2ld KTtyZXR1cm4gciYmeC5leHRlbmQoITAsZSxyKSxlfXguZm4ubG9hZD1mdW5jdGlv bihlLG4scil7aWYoInN0cmluZyIhPXR5cGVvZiBlJiZTbilyZXR1cm4gU24uYXBw bHkodGhpcyxhcmd1bWVudHMpO3ZhciBpLG8sYSxzPXRoaXMsbD1lLmluZGV4T2Yo IiAiKTtyZXR1cm4gbD49MCYmKGk9ZS5zbGljZShsLGUubGVuZ3RoKSxlPWUuc2xp Y2UoMCxsKSkseC5pc0Z1bmN0aW9uKG4pPyhyPW4sbj10KTpuJiYib2JqZWN0Ij09 dHlwZW9mIG4mJihhPSJQT1NUIikscy5sZW5ndGg+MCYmeC5hamF4KHt1cmw6ZSx0 eXBlOmEsZGF0YVR5cGU6Imh0bWwiLGRhdGE6bn0pLmRvbmUoZnVuY3Rpb24oZSl7 bz1hcmd1bWVudHMscy5odG1sKGk/eCgiPGRpdj4iKS5hcHBlbmQoeC5wYXJzZUhU TUwoZSkpLmZpbmQoaSk6ZSl9KS5jb21wbGV0ZShyJiZmdW5jdGlvbihlLHQpe3Mu ZWFjaChyLG98fFtlLnJlc3BvbnNlVGV4dCx0LGVdKX0pLHRoaXN9LHguZWFjaChb ImFqYXhTdGFydCIsImFqYXhTdG9wIiwiYWpheENvbXBsZXRlIiwiYWpheEVycm9y IiwiYWpheFN1Y2Nlc3MiLCJhamF4U2VuZCJdLGZ1bmN0aW9uKGUsdCl7eC5mblt0 XT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5vbih0LGUpfX0pLHguZXh0ZW5kKHth Y3RpdmU6MCxsYXN0TW9kaWZpZWQ6e30sZXRhZzp7fSxhamF4U2V0dGluZ3M6e3Vy bDp5bix0eXBlOiJHRVQiLGlzTG9jYWw6Q24udGVzdChtblsxXSksZ2xvYmFsOiEw LHByb2Nlc3NEYXRhOiEwLGFzeW5jOiEwLGNvbnRlbnRUeXBlOiJhcHBsaWNhdGlv bi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9VVRGLTgiLGFjY2VwdHM6 eyIqIjpEbix0ZXh0OiJ0ZXh0L3BsYWluIixodG1sOiJ0ZXh0L2h0bWwiLHhtbDoi YXBwbGljYXRpb24veG1sLCB0ZXh0L3htbCIsanNvbjoiYXBwbGljYXRpb24vanNv biwgdGV4dC9qYXZhc2NyaXB0In0sY29udGVudHM6e3htbDoveG1sLyxodG1sOi9o dG1sLyxqc29uOi9qc29uL30scmVzcG9uc2VGaWVsZHM6e3htbDoicmVzcG9uc2VY TUwiLHRleHQ6InJlc3BvbnNlVGV4dCIsanNvbjoicmVzcG9uc2VKU09OIn0sY29u dmVydGVyczp7IiogdGV4dCI6U3RyaW5nLCJ0ZXh0IGh0bWwiOiEwLCJ0ZXh0IGpz b24iOngucGFyc2VKU09OLCJ0ZXh0IHhtbCI6eC5wYXJzZVhNTH0sZmxhdE9wdGlv bnM6e3VybDohMCxjb250ZXh0OiEwfX0sYWpheFNldHVwOmZ1bmN0aW9uKGUsdCl7 cmV0dXJuIHQ/X24oX24oZSx4LmFqYXhTZXR0aW5ncyksdCk6X24oeC5hamF4U2V0 dGluZ3MsZSl9LGFqYXhQcmVmaWx0ZXI6SG4oQW4pLGFqYXhUcmFuc3BvcnQ6SG4o am4pLGFqYXg6ZnVuY3Rpb24oZSxuKXsib2JqZWN0Ij09dHlwZW9mIGUmJihuPWUs ZT10KSxuPW58fHt9O3ZhciByLGksbyxhLHMsbCx1LGMscD14LmFqYXhTZXR1cCh7 fSxuKSxmPXAuY29udGV4dHx8cCxkPXAuY29udGV4dCYmKGYubm9kZVR5cGV8fGYu anF1ZXJ5KT94KGYpOnguZXZlbnQsaD14LkRlZmVycmVkKCksZz14LkNhbGxiYWNr cygib25jZSBtZW1vcnkiKSxtPXAuc3RhdHVzQ29kZXx8e30seT17fSx2PXt9LGI9 MCx3PSJjYW5jZWxlZCIsQz17cmVhZHlTdGF0ZTowLGdldFJlc3BvbnNlSGVhZGVy OmZ1bmN0aW9uKGUpe3ZhciB0O2lmKDI9PT1iKXtpZighYyl7Yz17fTt3aGlsZSh0 PVRuLmV4ZWMoYSkpY1t0WzFdLnRvTG93ZXJDYXNlKCldPXRbMl19dD1jW2UudG9M b3dlckNhc2UoKV19cmV0dXJuIG51bGw9PXQ/bnVsbDp0fSxnZXRBbGxSZXNwb25z ZUhlYWRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gMj09PWI/YTpudWxsfSxzZXRSZXF1 ZXN0SGVhZGVyOmZ1bmN0aW9uKGUsdCl7dmFyIG49ZS50b0xvd2VyQ2FzZSgpO3Jl dHVybiBifHwoZT12W25dPXZbbl18fGUseVtlXT10KSx0aGlzfSxvdmVycmlkZU1p bWVUeXBlOmZ1bmN0aW9uKGUpe3JldHVybiBifHwocC5taW1lVHlwZT1lKSx0aGlz fSxzdGF0dXNDb2RlOmZ1bmN0aW9uKGUpe3ZhciB0O2lmKGUpaWYoMj5iKWZvcih0 IGluIGUpbVt0XT1bbVt0XSxlW3RdXTtlbHNlIEMuYWx3YXlzKGVbQy5zdGF0dXNd KTtyZXR1cm4gdGhpc30sYWJvcnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZXx8dztyZXR1 cm4gdSYmdS5hYm9ydCh0KSxrKDAsdCksdGhpc319O2lmKGgucHJvbWlzZShDKS5j b21wbGV0ZT1nLmFkZCxDLnN1Y2Nlc3M9Qy5kb25lLEMuZXJyb3I9Qy5mYWlsLHAu dXJsPSgoZXx8cC51cmx8fHluKSsiIikucmVwbGFjZSh4biwiIikucmVwbGFjZShr bixtblsxXSsiLy8iKSxwLnR5cGU9bi5tZXRob2R8fG4udHlwZXx8cC5tZXRob2R8 fHAudHlwZSxwLmRhdGFUeXBlcz14LnRyaW0ocC5kYXRhVHlwZXx8IioiKS50b0xv d2VyQ2FzZSgpLm1hdGNoKFQpfHxbIiJdLG51bGw9PXAuY3Jvc3NEb21haW4mJihy PUVuLmV4ZWMocC51cmwudG9Mb3dlckNhc2UoKSkscC5jcm9zc0RvbWFpbj0hKCFy fHxyWzFdPT09bW5bMV0mJnJbMl09PT1tblsyXSYmKHJbM118fCgiaHR0cDoiPT09 clsxXT8iODAiOiI0NDMiKSk9PT0obW5bM118fCgiaHR0cDoiPT09bW5bMV0/Ijgw IjoiNDQzIikpKSkscC5kYXRhJiZwLnByb2Nlc3NEYXRhJiYic3RyaW5nIiE9dHlw ZW9mIHAuZGF0YSYmKHAuZGF0YT14LnBhcmFtKHAuZGF0YSxwLnRyYWRpdGlvbmFs KSkscW4oQW4scCxuLEMpLDI9PT1iKXJldHVybiBDO2w9cC5nbG9iYWwsbCYmMD09 PXguYWN0aXZlKysmJnguZXZlbnQudHJpZ2dlcigiYWpheFN0YXJ0IikscC50eXBl PXAudHlwZS50b1VwcGVyQ2FzZSgpLHAuaGFzQ29udGVudD0hTm4udGVzdChwLnR5 cGUpLG89cC51cmwscC5oYXNDb250ZW50fHwocC5kYXRhJiYobz1wLnVybCs9KGJu LnRlc3Qobyk/IiYiOiI/IikrcC5kYXRhLGRlbGV0ZSBwLmRhdGEpLHAuY2FjaGU9 PT0hMSYmKHAudXJsPXduLnRlc3Qobyk/by5yZXBsYWNlKHduLCIkMV89Iit2bisr KTpvKyhibi50ZXN0KG8pPyImIjoiPyIpKyJfPSIrdm4rKykpLHAuaWZNb2RpZmll ZCYmKHgubGFzdE1vZGlmaWVkW29dJiZDLnNldFJlcXVlc3RIZWFkZXIoIklmLU1v ZGlmaWVkLVNpbmNlIix4Lmxhc3RNb2RpZmllZFtvXSkseC5ldGFnW29dJiZDLnNl dFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLHguZXRhZ1tvXSkpLChwLmRh dGEmJnAuaGFzQ29udGVudCYmcC5jb250ZW50VHlwZSE9PSExfHxuLmNvbnRlbnRU eXBlKSYmQy5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLHAuY29udGVu dFR5cGUpLEMuc2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0IixwLmRhdGFUeXBlc1sw XSYmcC5hY2NlcHRzW3AuZGF0YVR5cGVzWzBdXT9wLmFjY2VwdHNbcC5kYXRhVHlw ZXNbMF1dKygiKiIhPT1wLmRhdGFUeXBlc1swXT8iLCAiK0RuKyI7IHE9MC4wMSI6 IiIpOnAuYWNjZXB0c1siKiJdKTtmb3IoaSBpbiBwLmhlYWRlcnMpQy5zZXRSZXF1 ZXN0SGVhZGVyKGkscC5oZWFkZXJzW2ldKTtpZihwLmJlZm9yZVNlbmQmJihwLmJl Zm9yZVNlbmQuY2FsbChmLEMscCk9PT0hMXx8Mj09PWIpKXJldHVybiBDLmFib3J0 KCk7dz0iYWJvcnQiO2ZvcihpIGlue3N1Y2Nlc3M6MSxlcnJvcjoxLGNvbXBsZXRl OjF9KUNbaV0ocFtpXSk7aWYodT1xbihqbixwLG4sQykpe0MucmVhZHlTdGF0ZT0x LGwmJmQudHJpZ2dlcigiYWpheFNlbmQiLFtDLHBdKSxwLmFzeW5jJiZwLnRpbWVv dXQ+MCYmKHM9c2V0VGltZW91dChmdW5jdGlvbigpe0MuYWJvcnQoInRpbWVvdXQi KX0scC50aW1lb3V0KSk7dHJ5e2I9MSx1LnNlbmQoeSxrKX1jYXRjaChOKXtpZigh KDI+YikpdGhyb3cgTjtrKC0xLE4pfX1lbHNlIGsoLTEsIk5vIFRyYW5zcG9ydCIp O2Z1bmN0aW9uIGsoZSxuLHIsaSl7dmFyIGMseSx2LHcsVCxOPW47MiE9PWImJihi PTIscyYmY2xlYXJUaW1lb3V0KHMpLHU9dCxhPWl8fCIiLEMucmVhZHlTdGF0ZT1l PjA/NDowLGM9ZT49MjAwJiYzMDA+ZXx8MzA0PT09ZSxyJiYodz1NbihwLEMscikp LHc9T24ocCx3LEMsYyksYz8ocC5pZk1vZGlmaWVkJiYoVD1DLmdldFJlc3BvbnNl SGVhZGVyKCJMYXN0LU1vZGlmaWVkIiksVCYmKHgubGFzdE1vZGlmaWVkW29dPVQp LFQ9Qy5nZXRSZXNwb25zZUhlYWRlcigiZXRhZyIpLFQmJih4LmV0YWdbb109VCkp LDIwND09PWV8fCJIRUFEIj09PXAudHlwZT9OPSJub2NvbnRlbnQiOjMwND09PWU/ Tj0ibm90bW9kaWZpZWQiOihOPXcuc3RhdGUseT13LmRhdGEsdj13LmVycm9yLGM9 IXYpKToodj1OLChlfHwhTikmJihOPSJlcnJvciIsMD5lJiYoZT0wKSkpLEMuc3Rh dHVzPWUsQy5zdGF0dXNUZXh0PShufHxOKSsiIixjP2gucmVzb2x2ZVdpdGgoZixb eSxOLENdKTpoLnJlamVjdFdpdGgoZixbQyxOLHZdKSxDLnN0YXR1c0NvZGUobSks bT10LGwmJmQudHJpZ2dlcihjPyJhamF4U3VjY2VzcyI6ImFqYXhFcnJvciIsW0Ms cCxjP3k6dl0pLGcuZmlyZVdpdGgoZixbQyxOXSksbCYmKGQudHJpZ2dlcigiYWph eENvbXBsZXRlIixbQyxwXSksLS14LmFjdGl2ZXx8eC5ldmVudC50cmlnZ2VyKCJh amF4U3RvcCIpKSl9cmV0dXJuIEN9LGdldEpTT046ZnVuY3Rpb24oZSx0LG4pe3Jl dHVybiB4LmdldChlLHQsbiwianNvbiIpfSxnZXRTY3JpcHQ6ZnVuY3Rpb24oZSxu KXtyZXR1cm4geC5nZXQoZSx0LG4sInNjcmlwdCIpfX0pLHguZWFjaChbImdldCIs InBvc3QiXSxmdW5jdGlvbihlLG4pe3hbbl09ZnVuY3Rpb24oZSxyLGksbyl7cmV0 dXJuIHguaXNGdW5jdGlvbihyKSYmKG89b3x8aSxpPXIscj10KSx4LmFqYXgoe3Vy bDplLHR5cGU6bixkYXRhVHlwZTpvLGRhdGE6cixzdWNjZXNzOml9KX19KTtmdW5j dGlvbiBNbihlLG4scil7dmFyIGksbyxhLHMsbD1lLmNvbnRlbnRzLHU9ZS5kYXRh VHlwZXM7d2hpbGUoIioiPT09dVswXSl1LnNoaWZ0KCksbz09PXQmJihvPWUubWlt ZVR5cGV8fG4uZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpKTtpZihv KWZvcihzIGluIGwpaWYobFtzXSYmbFtzXS50ZXN0KG8pKXt1LnVuc2hpZnQocyk7 YnJlYWt9aWYodVswXWluIHIpYT11WzBdO2Vsc2V7Zm9yKHMgaW4gcil7aWYoIXVb MF18fGUuY29udmVydGVyc1tzKyIgIit1WzBdXSl7YT1zO2JyZWFrfWl8fChpPXMp fWE9YXx8aX1yZXR1cm4gYT8oYSE9PXVbMF0mJnUudW5zaGlmdChhKSxyW2FdKTp0 fWZ1bmN0aW9uIE9uKGUsdCxuLHIpe3ZhciBpLG8sYSxzLGwsdT17fSxjPWUuZGF0 YVR5cGVzLnNsaWNlKCk7aWYoY1sxXSlmb3IoYSBpbiBlLmNvbnZlcnRlcnMpdVth LnRvTG93ZXJDYXNlKCldPWUuY29udmVydGVyc1thXTtvPWMuc2hpZnQoKTt3aGls ZShvKWlmKGUucmVzcG9uc2VGaWVsZHNbb10mJihuW2UucmVzcG9uc2VGaWVsZHNb b11dPXQpLCFsJiZyJiZlLmRhdGFGaWx0ZXImJih0PWUuZGF0YUZpbHRlcih0LGUu ZGF0YVR5cGUpKSxsPW8sbz1jLnNoaWZ0KCkpaWYoIioiPT09bylvPWw7ZWxzZSBp ZigiKiIhPT1sJiZsIT09byl7aWYoYT11W2wrIiAiK29dfHx1WyIqICIrb10sIWEp Zm9yKGkgaW4gdSlpZihzPWkuc3BsaXQoIiAiKSxzWzFdPT09byYmKGE9dVtsKyIg IitzWzBdXXx8dVsiKiAiK3NbMF1dKSl7YT09PSEwP2E9dVtpXTp1W2ldIT09ITAm JihvPXNbMF0sYy51bnNoaWZ0KHNbMV0pKTticmVha31pZihhIT09ITApaWYoYSYm ZVsidGhyb3dzIl0pdD1hKHQpO2Vsc2UgdHJ5e3Q9YSh0KX1jYXRjaChwKXtyZXR1 cm57c3RhdGU6InBhcnNlcmVycm9yIixlcnJvcjphP3A6Ik5vIGNvbnZlcnNpb24g ZnJvbSAiK2wrIiB0byAiK299fX1yZXR1cm57c3RhdGU6InN1Y2Nlc3MiLGRhdGE6 dH19eC5hamF4U2V0dXAoe2FjY2VwdHM6e3NjcmlwdDoidGV4dC9qYXZhc2NyaXB0 LCBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9lY21hc2NyaXB0 LCBhcHBsaWNhdGlvbi94LWVjbWFzY3JpcHQifSxjb250ZW50czp7c2NyaXB0Oi8o PzpqYXZhfGVjbWEpc2NyaXB0L30sY29udmVydGVyczp7InRleHQgc2NyaXB0Ijpm dW5jdGlvbihlKXtyZXR1cm4geC5nbG9iYWxFdmFsKGUpLGV9fX0pLHguYWpheFBy ZWZpbHRlcigic2NyaXB0IixmdW5jdGlvbihlKXtlLmNhY2hlPT09dCYmKGUuY2Fj aGU9ITEpLGUuY3Jvc3NEb21haW4mJihlLnR5cGU9IkdFVCIsZS5nbG9iYWw9ITEp fSkseC5hamF4VHJhbnNwb3J0KCJzY3JpcHQiLGZ1bmN0aW9uKGUpe2lmKGUuY3Jv c3NEb21haW4pe3ZhciBuLHI9YS5oZWFkfHx4KCJoZWFkIilbMF18fGEuZG9jdW1l bnRFbGVtZW50O3JldHVybntzZW5kOmZ1bmN0aW9uKHQsaSl7bj1hLmNyZWF0ZUVs ZW1lbnQoInNjcmlwdCIpLG4uYXN5bmM9ITAsZS5zY3JpcHRDaGFyc2V0JiYobi5j aGFyc2V0PWUuc2NyaXB0Q2hhcnNldCksbi5zcmM9ZS51cmwsbi5vbmxvYWQ9bi5v bnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oZSx0KXsodHx8IW4ucmVhZHlTdGF0 ZXx8L2xvYWRlZHxjb21wbGV0ZS8udGVzdChuLnJlYWR5U3RhdGUpKSYmKG4ub25s b2FkPW4ub25yZWFkeXN0YXRlY2hhbmdlPW51bGwsbi5wYXJlbnROb2RlJiZuLnBh cmVudE5vZGUucmVtb3ZlQ2hpbGQobiksbj1udWxsLHR8fGkoMjAwLCJzdWNjZXNz IikpfSxyLmluc2VydEJlZm9yZShuLHIuZmlyc3RDaGlsZCl9LGFib3J0OmZ1bmN0 aW9uKCl7biYmbi5vbmxvYWQodCwhMCl9fX19KTt2YXIgRm49W10sQm49Lyg9KVw/ KD89JnwkKXxcP1w/Lzt4LmFqYXhTZXR1cCh7anNvbnA6ImNhbGxiYWNrIixqc29u cENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGU9Rm4ucG9wKCl8fHguZXhwYW5kbysi XyIrdm4rKztyZXR1cm4gdGhpc1tlXT0hMCxlfX0pLHguYWpheFByZWZpbHRlcigi anNvbiBqc29ucCIsZnVuY3Rpb24obixyLGkpe3ZhciBvLGEscyxsPW4uanNvbnAh PT0hMSYmKEJuLnRlc3Qobi51cmwpPyJ1cmwiOiJzdHJpbmciPT10eXBlb2Ygbi5k YXRhJiYhKG4uY29udGVudFR5cGV8fCIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94 LXd3dy1mb3JtLXVybGVuY29kZWQiKSYmQm4udGVzdChuLmRhdGEpJiYiZGF0YSIp O3JldHVybiBsfHwianNvbnAiPT09bi5kYXRhVHlwZXNbMF0/KG89bi5qc29ucENh bGxiYWNrPXguaXNGdW5jdGlvbihuLmpzb25wQ2FsbGJhY2spP24uanNvbnBDYWxs YmFjaygpOm4uanNvbnBDYWxsYmFjayxsP25bbF09bltsXS5yZXBsYWNlKEJuLCIk MSIrbyk6bi5qc29ucCE9PSExJiYobi51cmwrPShibi50ZXN0KG4udXJsKT8iJiI6 Ij8iKStuLmpzb25wKyI9IitvKSxuLmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl09 ZnVuY3Rpb24oKXtyZXR1cm4gc3x8eC5lcnJvcihvKyIgd2FzIG5vdCBjYWxsZWQi KSxzWzBdfSxuLmRhdGFUeXBlc1swXT0ianNvbiIsYT1lW29dLGVbb109ZnVuY3Rp b24oKXtzPWFyZ3VtZW50c30saS5hbHdheXMoZnVuY3Rpb24oKXtlW29dPWEsbltv XSYmKG4uanNvbnBDYWxsYmFjaz1yLmpzb25wQ2FsbGJhY2ssRm4ucHVzaChvKSks cyYmeC5pc0Z1bmN0aW9uKGEpJiZhKHNbMF0pLHM9YT10fSksInNjcmlwdCIpOnR9 KTt2YXIgUG4sUm4sV249MCwkbj1lLkFjdGl2ZVhPYmplY3QmJmZ1bmN0aW9uKCl7 dmFyIGU7Zm9yKGUgaW4gUG4pUG5bZV0odCwhMCl9O2Z1bmN0aW9uIEluKCl7dHJ5 e3JldHVybiBuZXcgZS5YTUxIdHRwUmVxdWVzdH1jYXRjaCh0KXt9fWZ1bmN0aW9u IHpuKCl7dHJ5e3JldHVybiBuZXcgZS5BY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQu WE1MSFRUUCIpfWNhdGNoKHQpe319eC5hamF4U2V0dGluZ3MueGhyPWUuQWN0aXZl WE9iamVjdD9mdW5jdGlvbigpe3JldHVybiF0aGlzLmlzTG9jYWwmJkluKCl8fHpu KCl9OkluLFJuPXguYWpheFNldHRpbmdzLnhocigpLHguc3VwcG9ydC5jb3JzPSEh Um4mJiJ3aXRoQ3JlZGVudGlhbHMiaW4gUm4sUm49eC5zdXBwb3J0LmFqYXg9ISFS bixSbiYmeC5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKG4pe2lmKCFuLmNyb3NzRG9t YWlufHx4LnN1cHBvcnQuY29ycyl7dmFyIHI7cmV0dXJue3NlbmQ6ZnVuY3Rpb24o aSxvKXt2YXIgYSxzLGw9bi54aHIoKTtpZihuLnVzZXJuYW1lP2wub3BlbihuLnR5 cGUsbi51cmwsbi5hc3luYyxuLnVzZXJuYW1lLG4ucGFzc3dvcmQpOmwub3Blbihu LnR5cGUsbi51cmwsbi5hc3luYyksbi54aHJGaWVsZHMpZm9yKHMgaW4gbi54aHJG aWVsZHMpbFtzXT1uLnhockZpZWxkc1tzXTtuLm1pbWVUeXBlJiZsLm92ZXJyaWRl TWltZVR5cGUmJmwub3ZlcnJpZGVNaW1lVHlwZShuLm1pbWVUeXBlKSxuLmNyb3Nz RG9tYWlufHxpWyJYLVJlcXVlc3RlZC1XaXRoIl18fChpWyJYLVJlcXVlc3RlZC1X aXRoIl09IlhNTEh0dHBSZXF1ZXN0Iik7dHJ5e2ZvcihzIGluIGkpbC5zZXRSZXF1 ZXN0SGVhZGVyKHMsaVtzXSl9Y2F0Y2godSl7fWwuc2VuZChuLmhhc0NvbnRlbnQm Jm4uZGF0YXx8bnVsbCkscj1mdW5jdGlvbihlLGkpe3ZhciBzLHUsYyxwO3RyeXtp ZihyJiYoaXx8ND09PWwucmVhZHlTdGF0ZSkpaWYocj10LGEmJihsLm9ucmVhZHlz dGF0ZWNoYW5nZT14Lm5vb3AsJG4mJmRlbGV0ZSBQblthXSksaSk0IT09bC5yZWFk eVN0YXRlJiZsLmFib3J0KCk7ZWxzZXtwPXt9LHM9bC5zdGF0dXMsdT1sLmdldEFs bFJlc3BvbnNlSGVhZGVycygpLCJzdHJpbmciPT10eXBlb2YgbC5yZXNwb25zZVRl eHQmJihwLnRleHQ9bC5yZXNwb25zZVRleHQpO3RyeXtjPWwuc3RhdHVzVGV4dH1j YXRjaChmKXtjPSIifXN8fCFuLmlzTG9jYWx8fG4uY3Jvc3NEb21haW4/MTIyMz09 PXMmJihzPTIwNCk6cz1wLnRleHQ/MjAwOjQwNH19Y2F0Y2goZCl7aXx8bygtMSxk KX1wJiZvKHMsYyxwLHUpfSxuLmFzeW5jPzQ9PT1sLnJlYWR5U3RhdGU/c2V0VGlt ZW91dChyKTooYT0rK1duLCRuJiYoUG58fChQbj17fSx4KGUpLnVubG9hZCgkbikp LFBuW2FdPXIpLGwub25yZWFkeXN0YXRlY2hhbmdlPXIpOnIoKX0sYWJvcnQ6ZnVu Y3Rpb24oKXtyJiZyKHQsITApfX19fSk7dmFyIFhuLFVuLFZuPS9eKD86dG9nZ2xl fHNob3d8aGlkZSkkLyxZbj1SZWdFeHAoIl4oPzooWystXSk9fCkoIit3KyIpKFth LXolXSopJCIsImkiKSxKbj0vcXVldWVIb29rcyQvLEduPVtucl0sUW49eyIqIjpb ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLmNyZWF0ZVR3ZWVuKGUsdCkscj1uLmN1 cigpLGk9WW4uZXhlYyh0KSxvPWkmJmlbM118fCh4LmNzc051bWJlcltlXT8iIjoi cHgiKSxhPSh4LmNzc051bWJlcltlXXx8InB4IiE9PW8mJityKSYmWW4uZXhlYyh4 LmNzcyhuLmVsZW0sZSkpLHM9MSxsPTIwO2lmKGEmJmFbM10hPT1vKXtvPW98fGFb M10saT1pfHxbXSxhPStyfHwxO2RvIHM9c3x8Ii41IixhLz1zLHguc3R5bGUobi5l bGVtLGUsYStvKTt3aGlsZShzIT09KHM9bi5jdXIoKS9yKSYmMSE9PXMmJi0tbCl9 cmV0dXJuIGkmJihhPW4uc3RhcnQ9K2F8fCtyfHwwLG4udW5pdD1vLG4uZW5kPWlb MV0/YSsoaVsxXSsxKSppWzJdOitpWzJdKSxufV19O2Z1bmN0aW9uIEtuKCl7cmV0 dXJuIHNldFRpbWVvdXQoZnVuY3Rpb24oKXtYbj10fSksWG49eC5ub3coKX1mdW5j dGlvbiBabihlLHQsbil7dmFyIHIsaT0oUW5bdF18fFtdKS5jb25jYXQoUW5bIioi XSksbz0wLGE9aS5sZW5ndGg7Zm9yKDthPm87bysrKWlmKHI9aVtvXS5jYWxsKG4s dCxlKSlyZXR1cm4gcn1mdW5jdGlvbiBlcihlLHQsbil7dmFyIHIsaSxvPTAsYT1H bi5sZW5ndGgscz14LkRlZmVycmVkKCkuYWx3YXlzKGZ1bmN0aW9uKCl7ZGVsZXRl IGwuZWxlbX0pLGw9ZnVuY3Rpb24oKXtpZihpKXJldHVybiExO3ZhciB0PVhufHxL bigpLG49TWF0aC5tYXgoMCx1LnN0YXJ0VGltZSt1LmR1cmF0aW9uLXQpLHI9bi91 LmR1cmF0aW9ufHwwLG89MS1yLGE9MCxsPXUudHdlZW5zLmxlbmd0aDtmb3IoO2w+ YTthKyspdS50d2VlbnNbYV0ucnVuKG8pO3JldHVybiBzLm5vdGlmeVdpdGgoZSxb dSxvLG5dKSwxPm8mJmw/bjoocy5yZXNvbHZlV2l0aChlLFt1XSksITEpfSx1PXMu cHJvbWlzZSh7ZWxlbTplLHByb3BzOnguZXh0ZW5kKHt9LHQpLG9wdHM6eC5leHRl bmQoITAse3NwZWNpYWxFYXNpbmc6e319LG4pLG9yaWdpbmFsUHJvcGVydGllczp0 LG9yaWdpbmFsT3B0aW9uczpuLHN0YXJ0VGltZTpYbnx8S24oKSxkdXJhdGlvbjpu LmR1cmF0aW9uLHR3ZWVuczpbXSxjcmVhdGVUd2VlbjpmdW5jdGlvbih0LG4pe3Zh ciByPXguVHdlZW4oZSx1Lm9wdHMsdCxuLHUub3B0cy5zcGVjaWFsRWFzaW5nW3Rd fHx1Lm9wdHMuZWFzaW5nKTtyZXR1cm4gdS50d2VlbnMucHVzaChyKSxyfSxzdG9w OmZ1bmN0aW9uKHQpe3ZhciBuPTAscj10P3UudHdlZW5zLmxlbmd0aDowO2lmKGkp cmV0dXJuIHRoaXM7Zm9yKGk9ITA7cj5uO24rKyl1LnR3ZWVuc1tuXS5ydW4oMSk7 cmV0dXJuIHQ/cy5yZXNvbHZlV2l0aChlLFt1LHRdKTpzLnJlamVjdFdpdGgoZSxb dSx0XSksdGhpc319KSxjPXUucHJvcHM7Zm9yKHRyKGMsdS5vcHRzLnNwZWNpYWxF YXNpbmcpO2E+bztvKyspaWYocj1HbltvXS5jYWxsKHUsZSxjLHUub3B0cykpcmV0 dXJuIHI7cmV0dXJuIHgubWFwKGMsWm4sdSkseC5pc0Z1bmN0aW9uKHUub3B0cy5z dGFydCkmJnUub3B0cy5zdGFydC5jYWxsKGUsdSkseC5meC50aW1lcih4LmV4dGVu ZChsLHtlbGVtOmUsYW5pbTp1LHF1ZXVlOnUub3B0cy5xdWV1ZX0pKSx1LnByb2dy ZXNzKHUub3B0cy5wcm9ncmVzcykuZG9uZSh1Lm9wdHMuZG9uZSx1Lm9wdHMuY29t cGxldGUpLmZhaWwodS5vcHRzLmZhaWwpLmFsd2F5cyh1Lm9wdHMuYWx3YXlzKX1m dW5jdGlvbiB0cihlLHQpe3ZhciBuLHIsaSxvLGE7Zm9yKG4gaW4gZSlpZihyPXgu Y2FtZWxDYXNlKG4pLGk9dFtyXSxvPWVbbl0seC5pc0FycmF5KG8pJiYoaT1vWzFd LG89ZVtuXT1vWzBdKSxuIT09ciYmKGVbcl09byxkZWxldGUgZVtuXSksYT14LmNz c0hvb2tzW3JdLGEmJiJleHBhbmQiaW4gYSl7bz1hLmV4cGFuZChvKSxkZWxldGUg ZVtyXTtmb3IobiBpbiBvKW4gaW4gZXx8KGVbbl09b1tuXSx0W25dPWkpfWVsc2Ug dFtyXT1pfXguQW5pbWF0aW9uPXguZXh0ZW5kKGVyLHt0d2VlbmVyOmZ1bmN0aW9u KGUsdCl7eC5pc0Z1bmN0aW9uKGUpPyh0PWUsZT1bIioiXSk6ZT1lLnNwbGl0KCIg Iik7dmFyIG4scj0wLGk9ZS5sZW5ndGg7Zm9yKDtpPnI7cisrKW49ZVtyXSxRbltu XT1RbltuXXx8W10sUW5bbl0udW5zaGlmdCh0KX0scHJlZmlsdGVyOmZ1bmN0aW9u KGUsdCl7dD9Hbi51bnNoaWZ0KGUpOkduLnB1c2goZSl9fSk7ZnVuY3Rpb24gbnIo ZSx0LG4pe3ZhciByLGksbyxhLHMsbCx1PXRoaXMsYz17fSxwPWUuc3R5bGUsZj1l Lm5vZGVUeXBlJiZubihlKSxkPXguX2RhdGEoZSwiZnhzaG93Iik7bi5xdWV1ZXx8 KHM9eC5fcXVldWVIb29rcyhlLCJmeCIpLG51bGw9PXMudW5xdWV1ZWQmJihzLnVu cXVldWVkPTAsbD1zLmVtcHR5LmZpcmUscy5lbXB0eS5maXJlPWZ1bmN0aW9uKCl7 cy51bnF1ZXVlZHx8bCgpfSkscy51bnF1ZXVlZCsrLHUuYWx3YXlzKGZ1bmN0aW9u KCl7dS5hbHdheXMoZnVuY3Rpb24oKXtzLnVucXVldWVkLS0seC5xdWV1ZShlLCJm eCIpLmxlbmd0aHx8cy5lbXB0eS5maXJlKCl9KX0pKSwxPT09ZS5ub2RlVHlwZSYm KCJoZWlnaHQiaW4gdHx8IndpZHRoImluIHQpJiYobi5vdmVyZmxvdz1bcC5vdmVy ZmxvdyxwLm92ZXJmbG93WCxwLm92ZXJmbG93WV0sImlubGluZSI9PT14LmNzcyhl LCJkaXNwbGF5IikmJiJub25lIj09PXguY3NzKGUsImZsb2F0IikmJih4LnN1cHBv cnQuaW5saW5lQmxvY2tOZWVkc0xheW91dCYmImlubGluZSIhPT1sbihlLm5vZGVO YW1lKT9wLnpvb209MTpwLmRpc3BsYXk9ImlubGluZS1ibG9jayIpKSxuLm92ZXJm bG93JiYocC5vdmVyZmxvdz0iaGlkZGVuIix4LnN1cHBvcnQuc2hyaW5rV3JhcEJs b2Nrc3x8dS5hbHdheXMoZnVuY3Rpb24oKXtwLm92ZXJmbG93PW4ub3ZlcmZsb3db MF0scC5vdmVyZmxvd1g9bi5vdmVyZmxvd1sxXSxwLm92ZXJmbG93WT1uLm92ZXJm bG93WzJdfSkpO2ZvcihyIGluIHQpaWYoaT10W3JdLFZuLmV4ZWMoaSkpe2lmKGRl bGV0ZSB0W3JdLG89b3x8InRvZ2dsZSI9PT1pLGk9PT0oZj8iaGlkZSI6InNob3ci KSljb250aW51ZTtjW3JdPWQmJmRbcl18fHguc3R5bGUoZSxyKX1pZigheC5pc0Vt cHR5T2JqZWN0KGMpKXtkPyJoaWRkZW4iaW4gZCYmKGY9ZC5oaWRkZW4pOmQ9eC5f ZGF0YShlLCJmeHNob3ciLHt9KSxvJiYoZC5oaWRkZW49IWYpLGY/eChlKS5zaG93 KCk6dS5kb25lKGZ1bmN0aW9uKCl7eChlKS5oaWRlKCl9KSx1LmRvbmUoZnVuY3Rp b24oKXt2YXIgdDt4Ll9yZW1vdmVEYXRhKGUsImZ4c2hvdyIpO2Zvcih0IGluIGMp eC5zdHlsZShlLHQsY1t0XSl9KTtmb3IociBpbiBjKWE9Wm4oZj9kW3JdOjAscix1 KSxyIGluIGR8fChkW3JdPWEuc3RhcnQsZiYmKGEuZW5kPWEuc3RhcnQsYS5zdGFy dD0id2lkdGgiPT09cnx8ImhlaWdodCI9PT1yPzE6MCkpfX1mdW5jdGlvbiBycihl LHQsbixyLGkpe3JldHVybiBuZXcgcnIucHJvdG90eXBlLmluaXQoZSx0LG4scixp KX14LlR3ZWVuPXJyLHJyLnByb3RvdHlwZT17Y29uc3RydWN0b3I6cnIsaW5pdDpm dW5jdGlvbihlLHQsbixyLGksbyl7dGhpcy5lbGVtPWUsdGhpcy5wcm9wPW4sdGhp cy5lYXNpbmc9aXx8InN3aW5nIix0aGlzLm9wdGlvbnM9dCx0aGlzLnN0YXJ0PXRo aXMubm93PXRoaXMuY3VyKCksdGhpcy5lbmQ9cix0aGlzLnVuaXQ9b3x8KHguY3Nz TnVtYmVyW25dPyIiOiJweCIpfSxjdXI6ZnVuY3Rpb24oKXt2YXIgZT1yci5wcm9w SG9va3NbdGhpcy5wcm9wXTtyZXR1cm4gZSYmZS5nZXQ/ZS5nZXQodGhpcyk6cnIu cHJvcEhvb2tzLl9kZWZhdWx0LmdldCh0aGlzKX0scnVuOmZ1bmN0aW9uKGUpe3Zh ciB0LG49cnIucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIHRoaXMucG9zPXQ9 dGhpcy5vcHRpb25zLmR1cmF0aW9uP3guZWFzaW5nW3RoaXMuZWFzaW5nXShlLHRo aXMub3B0aW9ucy5kdXJhdGlvbiplLDAsMSx0aGlzLm9wdGlvbnMuZHVyYXRpb24p OmUsdGhpcy5ub3c9KHRoaXMuZW5kLXRoaXMuc3RhcnQpKnQrdGhpcy5zdGFydCx0 aGlzLm9wdGlvbnMuc3RlcCYmdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVs ZW0sdGhpcy5ub3csdGhpcyksbiYmbi5zZXQ/bi5zZXQodGhpcyk6cnIucHJvcEhv b2tzLl9kZWZhdWx0LnNldCh0aGlzKSx0aGlzfX0scnIucHJvdG90eXBlLmluaXQu cHJvdG90eXBlPXJyLnByb3RvdHlwZSxyci5wcm9wSG9va3M9e19kZWZhdWx0Ontn ZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuIG51bGw9PWUuZWxlbVtlLnByb3Bd fHxlLmVsZW0uc3R5bGUmJm51bGwhPWUuZWxlbS5zdHlsZVtlLnByb3BdPyh0PXgu Y3NzKGUuZWxlbSxlLnByb3AsIiIpLHQmJiJhdXRvIiE9PXQ/dDowKTplLmVsZW1b ZS5wcm9wXX0sc2V0OmZ1bmN0aW9uKGUpe3guZnguc3RlcFtlLnByb3BdP3guZngu c3RlcFtlLnByb3BdKGUpOmUuZWxlbS5zdHlsZSYmKG51bGwhPWUuZWxlbS5zdHls ZVt4LmNzc1Byb3BzW2UucHJvcF1dfHx4LmNzc0hvb2tzW2UucHJvcF0pP3guc3R5 bGUoZS5lbGVtLGUucHJvcCxlLm5vdytlLnVuaXQpOmUuZWxlbVtlLnByb3BdPWUu bm93fX19LHJyLnByb3BIb29rcy5zY3JvbGxUb3A9cnIucHJvcEhvb2tzLnNjcm9s bExlZnQ9e3NldDpmdW5jdGlvbihlKXtlLmVsZW0ubm9kZVR5cGUmJmUuZWxlbS5w YXJlbnROb2RlJiYoZS5lbGVtW2UucHJvcF09ZS5ub3cpfX0seC5lYWNoKFsidG9n Z2xlIiwic2hvdyIsImhpZGUiXSxmdW5jdGlvbihlLHQpe3ZhciBuPXguZm5bdF07 eC5mblt0XT1mdW5jdGlvbihlLHIsaSl7cmV0dXJuIG51bGw9PWV8fCJib29sZWFu Ij09dHlwZW9mIGU/bi5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dGhpcy5hbmltYXRl KGlyKHQsITApLGUscixpKX19KSx4LmZuLmV4dGVuZCh7ZmFkZVRvOmZ1bmN0aW9u KGUsdCxuLHIpe3JldHVybiB0aGlzLmZpbHRlcihubikuY3NzKCJvcGFjaXR5Iiww KS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTp0fSxlLG4scil9LGFuaW1h dGU6ZnVuY3Rpb24oZSx0LG4scil7dmFyIGk9eC5pc0VtcHR5T2JqZWN0KGUpLG89 eC5zcGVlZCh0LG4sciksYT1mdW5jdGlvbigpe3ZhciB0PWVyKHRoaXMseC5leHRl bmQoe30sZSksbyk7KGl8fHguX2RhdGEodGhpcywiZmluaXNoIikpJiZ0LnN0b3Ao ITApfTtyZXR1cm4gYS5maW5pc2g9YSxpfHxvLnF1ZXVlPT09ITE/dGhpcy5lYWNo KGEpOnRoaXMucXVldWUoby5xdWV1ZSxhKX0sc3RvcDpmdW5jdGlvbihlLG4scil7 dmFyIGk9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zdG9wO2RlbGV0ZSBlLnN0b3AsdChy KX07cmV0dXJuInN0cmluZyIhPXR5cGVvZiBlJiYocj1uLG49ZSxlPXQpLG4mJmUh PT0hMSYmdGhpcy5xdWV1ZShlfHwiZngiLFtdKSx0aGlzLmVhY2goZnVuY3Rpb24o KXt2YXIgdD0hMCxuPW51bGwhPWUmJmUrInF1ZXVlSG9va3MiLG89eC50aW1lcnMs YT14Ll9kYXRhKHRoaXMpO2lmKG4pYVtuXSYmYVtuXS5zdG9wJiZpKGFbbl0pO2Vs c2UgZm9yKG4gaW4gYSlhW25dJiZhW25dLnN0b3AmJkpuLnRlc3QobikmJmkoYVtu XSk7Zm9yKG49by5sZW5ndGg7bi0tOylvW25dLmVsZW0hPT10aGlzfHxudWxsIT1l JiZvW25dLnF1ZXVlIT09ZXx8KG9bbl0uYW5pbS5zdG9wKHIpLHQ9ITEsby5zcGxp Y2UobiwxKSk7KHR8fCFyKSYmeC5kZXF1ZXVlKHRoaXMsZSl9KX0sZmluaXNoOmZ1 bmN0aW9uKGUpe3JldHVybiBlIT09ITEmJihlPWV8fCJmeCIpLHRoaXMuZWFjaChm dW5jdGlvbigpe3ZhciB0LG49eC5fZGF0YSh0aGlzKSxyPW5bZSsicXVldWUiXSxp PW5bZSsicXVldWVIb29rcyJdLG89eC50aW1lcnMsYT1yP3IubGVuZ3RoOjA7Zm9y KG4uZmluaXNoPSEwLHgucXVldWUodGhpcyxlLFtdKSxpJiZpLnN0b3AmJmkuc3Rv cC5jYWxsKHRoaXMsITApLHQ9by5sZW5ndGg7dC0tOylvW3RdLmVsZW09PT10aGlz JiZvW3RdLnF1ZXVlPT09ZSYmKG9bdF0uYW5pbS5zdG9wKCEwKSxvLnNwbGljZSh0 LDEpKTtmb3IodD0wO2E+dDt0Kyspclt0XSYmclt0XS5maW5pc2gmJnJbdF0uZmlu aXNoLmNhbGwodGhpcyk7ZGVsZXRlIG4uZmluaXNofSl9fSk7ZnVuY3Rpb24gaXIo ZSx0KXt2YXIgbixyPXtoZWlnaHQ6ZX0saT0wO2Zvcih0PXQ/MTowOzQ+aTtpKz0y LXQpbj1adFtpXSxyWyJtYXJnaW4iK25dPXJbInBhZGRpbmciK25dPWU7cmV0dXJu IHQmJihyLm9wYWNpdHk9ci53aWR0aD1lKSxyfXguZWFjaCh7c2xpZGVEb3duOmly KCJzaG93Iiksc2xpZGVVcDppcigiaGlkZSIpLHNsaWRlVG9nZ2xlOmlyKCJ0b2dn bGUiKSxmYWRlSW46e29wYWNpdHk6InNob3cifSxmYWRlT3V0OntvcGFjaXR5OiJo aWRlIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eToidG9nZ2xlIn19LGZ1bmN0aW9uKGUs dCl7eC5mbltlXT1mdW5jdGlvbihlLG4scil7cmV0dXJuIHRoaXMuYW5pbWF0ZSh0 LGUsbixyKX19KSx4LnNwZWVkPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1lJiYib2Jq ZWN0Ij09dHlwZW9mIGU/eC5leHRlbmQoe30sZSk6e2NvbXBsZXRlOm58fCFuJiZ0 fHx4LmlzRnVuY3Rpb24oZSkmJmUsZHVyYXRpb246ZSxlYXNpbmc6biYmdHx8dCYm IXguaXNGdW5jdGlvbih0KSYmdH07cmV0dXJuIHIuZHVyYXRpb249eC5meC5vZmY/ MDoibnVtYmVyIj09dHlwZW9mIHIuZHVyYXRpb24/ci5kdXJhdGlvbjpyLmR1cmF0 aW9uIGluIHguZnguc3BlZWRzP3guZnguc3BlZWRzW3IuZHVyYXRpb25dOnguZngu c3BlZWRzLl9kZWZhdWx0LChudWxsPT1yLnF1ZXVlfHxyLnF1ZXVlPT09ITApJiYo ci5xdWV1ZT0iZngiKSxyLm9sZD1yLmNvbXBsZXRlLHIuY29tcGxldGU9ZnVuY3Rp b24oKXt4LmlzRnVuY3Rpb24oci5vbGQpJiZyLm9sZC5jYWxsKHRoaXMpLHIucXVl dWUmJnguZGVxdWV1ZSh0aGlzLHIucXVldWUpfSxyfSx4LmVhc2luZz17bGluZWFy OmZ1bmN0aW9uKGUpe3JldHVybiBlfSxzd2luZzpmdW5jdGlvbihlKXtyZXR1cm4u NS1NYXRoLmNvcyhlKk1hdGguUEkpLzJ9fSx4LnRpbWVycz1bXSx4LmZ4PXJyLnBy b3RvdHlwZS5pbml0LHguZngudGljaz1mdW5jdGlvbigpe3ZhciBlLG49eC50aW1l cnMscj0wO2ZvcihYbj14Lm5vdygpO24ubGVuZ3RoPnI7cisrKWU9bltyXSxlKCl8 fG5bcl0hPT1lfHxuLnNwbGljZShyLS0sMSk7bi5sZW5ndGh8fHguZnguc3RvcCgp LFhuPXR9LHguZngudGltZXI9ZnVuY3Rpb24oZSl7ZSgpJiZ4LnRpbWVycy5wdXNo KGUpJiZ4LmZ4LnN0YXJ0KCl9LHguZnguaW50ZXJ2YWw9MTMseC5meC5zdGFydD1m dW5jdGlvbigpe1VufHwoVW49c2V0SW50ZXJ2YWwoeC5meC50aWNrLHguZnguaW50 ZXJ2YWwpKX0seC5meC5zdG9wPWZ1bmN0aW9uKCl7Y2xlYXJJbnRlcnZhbChVbiks VW49bnVsbH0seC5meC5zcGVlZHM9e3Nsb3c6NjAwLGZhc3Q6MjAwLF9kZWZhdWx0 OjQwMH0seC5meC5zdGVwPXt9LHguZXhwciYmeC5leHByLmZpbHRlcnMmJih4LmV4 cHIuZmlsdGVycy5hbmltYXRlZD1mdW5jdGlvbihlKXtyZXR1cm4geC5ncmVwKHgu dGltZXJzLGZ1bmN0aW9uKHQpe3JldHVybiBlPT09dC5lbGVtfSkubGVuZ3RofSks eC5mbi5vZmZzZXQ9ZnVuY3Rpb24oZSl7aWYoYXJndW1lbnRzLmxlbmd0aClyZXR1 cm4gZT09PXQ/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24odCl7eC5vZmZzZXQuc2V0 T2Zmc2V0KHRoaXMsZSx0KX0pO3ZhciBuLHIsbz17dG9wOjAsbGVmdDowfSxhPXRo aXNbMF0scz1hJiZhLm93bmVyRG9jdW1lbnQ7aWYocylyZXR1cm4gbj1zLmRvY3Vt ZW50RWxlbWVudCx4LmNvbnRhaW5zKG4sYSk/KHR5cGVvZiBhLmdldEJvdW5kaW5n Q2xpZW50UmVjdCE9PWkmJihvPWEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpLHI9 b3Iocykse3RvcDpvLnRvcCsoci5wYWdlWU9mZnNldHx8bi5zY3JvbGxUb3ApLShu LmNsaWVudFRvcHx8MCksbGVmdDpvLmxlZnQrKHIucGFnZVhPZmZzZXR8fG4uc2Ny b2xsTGVmdCktKG4uY2xpZW50TGVmdHx8MCl9KTpvfSx4Lm9mZnNldD17c2V0T2Zm c2V0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj14LmNzcyhlLCJwb3NpdGlvbiIpOyJz dGF0aWMiPT09ciYmKGUuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIik7dmFyIGk9 eChlKSxvPWkub2Zmc2V0KCksYT14LmNzcyhlLCJ0b3AiKSxzPXguY3NzKGUsImxl ZnQiKSxsPSgiYWJzb2x1dGUiPT09cnx8ImZpeGVkIj09PXIpJiZ4LmluQXJyYXko ImF1dG8iLFthLHNdKT4tMSx1PXt9LGM9e30scCxmO2w/KGM9aS5wb3NpdGlvbigp LHA9Yy50b3AsZj1jLmxlZnQpOihwPXBhcnNlRmxvYXQoYSl8fDAsZj1wYXJzZUZs b2F0KHMpfHwwKSx4LmlzRnVuY3Rpb24odCkmJih0PXQuY2FsbChlLG4sbykpLG51 bGwhPXQudG9wJiYodS50b3A9dC50b3Atby50b3ArcCksbnVsbCE9dC5sZWZ0JiYo dS5sZWZ0PXQubGVmdC1vLmxlZnQrZiksInVzaW5nImluIHQ/dC51c2luZy5jYWxs KGUsdSk6aS5jc3ModSl9fSx4LmZuLmV4dGVuZCh7cG9zaXRpb246ZnVuY3Rpb24o KXtpZih0aGlzWzBdKXt2YXIgZSx0LG49e3RvcDowLGxlZnQ6MH0scj10aGlzWzBd O3JldHVybiJmaXhlZCI9PT14LmNzcyhyLCJwb3NpdGlvbiIpP3Q9ci5nZXRCb3Vu ZGluZ0NsaWVudFJlY3QoKTooZT10aGlzLm9mZnNldFBhcmVudCgpLHQ9dGhpcy5v ZmZzZXQoKSx4Lm5vZGVOYW1lKGVbMF0sImh0bWwiKXx8KG49ZS5vZmZzZXQoKSks bi50b3ArPXguY3NzKGVbMF0sImJvcmRlclRvcFdpZHRoIiwhMCksbi5sZWZ0Kz14 LmNzcyhlWzBdLCJib3JkZXJMZWZ0V2lkdGgiLCEwKSkse3RvcDp0LnRvcC1uLnRv cC14LmNzcyhyLCJtYXJnaW5Ub3AiLCEwKSxsZWZ0OnQubGVmdC1uLmxlZnQteC5j c3MociwibWFyZ2luTGVmdCIsITApfX19LG9mZnNldFBhcmVudDpmdW5jdGlvbigp e3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBlPXRoaXMub2Zmc2V0UGFy ZW50fHxzO3doaWxlKGUmJiF4Lm5vZGVOYW1lKGUsImh0bWwiKSYmInN0YXRpYyI9 PT14LmNzcyhlLCJwb3NpdGlvbiIpKWU9ZS5vZmZzZXRQYXJlbnQ7cmV0dXJuIGV8 fHN9KX19KSx4LmVhY2goe3Njcm9sbExlZnQ6InBhZ2VYT2Zmc2V0IixzY3JvbGxU b3A6InBhZ2VZT2Zmc2V0In0sZnVuY3Rpb24oZSxuKXt2YXIgcj0vWS8udGVzdChu KTt4LmZuW2VdPWZ1bmN0aW9uKGkpe3JldHVybiB4LmFjY2Vzcyh0aGlzLGZ1bmN0 aW9uKGUsaSxvKXt2YXIgYT1vcihlKTtyZXR1cm4gbz09PXQ/YT9uIGluIGE/YVtu XTphLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtpXTplW2ldOihhP2Euc2Nyb2xs VG8ocj94KGEpLnNjcm9sbExlZnQoKTpvLHI/bzp4KGEpLnNjcm9sbFRvcCgpKTpl W2ldPW8sdCl9LGUsaSxhcmd1bWVudHMubGVuZ3RoLG51bGwpfX0pO2Z1bmN0aW9u IG9yKGUpe3JldHVybiB4LmlzV2luZG93KGUpP2U6OT09PWUubm9kZVR5cGU/ZS5k ZWZhdWx0Vmlld3x8ZS5wYXJlbnRXaW5kb3c6ITF9eC5lYWNoKHtIZWlnaHQ6Imhl aWdodCIsV2lkdGg6IndpZHRoIn0sZnVuY3Rpb24oZSxuKXt4LmVhY2goe3BhZGRp bmc6ImlubmVyIitlLGNvbnRlbnQ6biwiIjoib3V0ZXIiK2V9LGZ1bmN0aW9uKHIs aSl7eC5mbltpXT1mdW5jdGlvbihpLG8pe3ZhciBhPWFyZ3VtZW50cy5sZW5ndGgm JihyfHwiYm9vbGVhbiIhPXR5cGVvZiBpKSxzPXJ8fChpPT09ITB8fG89PT0hMD8i bWFyZ2luIjoiYm9yZGVyIik7cmV0dXJuIHguYWNjZXNzKHRoaXMsZnVuY3Rpb24o bixyLGkpe3ZhciBvO3JldHVybiB4LmlzV2luZG93KG4pP24uZG9jdW1lbnQuZG9j dW1lbnRFbGVtZW50WyJjbGllbnQiK2VdOjk9PT1uLm5vZGVUeXBlPyhvPW4uZG9j dW1lbnRFbGVtZW50LE1hdGgubWF4KG4uYm9keVsic2Nyb2xsIitlXSxvWyJzY3Jv bGwiK2VdLG4uYm9keVsib2Zmc2V0IitlXSxvWyJvZmZzZXQiK2VdLG9bImNsaWVu dCIrZV0pKTppPT09dD94LmNzcyhuLHIscyk6eC5zdHlsZShuLHIsaSxzKX0sbixh P2k6dCxhLG51bGwpfX0pfSkseC5mbi5zaXplPWZ1bmN0aW9uKCl7cmV0dXJuIHRo aXMubGVuZ3RofSx4LmZuLmFuZFNlbGY9eC5mbi5hZGRCYWNrLCJvYmplY3QiPT10 eXBlb2YgbW9kdWxlJiZtb2R1bGUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlLmV4 cG9ydHM/bW9kdWxlLmV4cG9ydHM9eDooZS5qUXVlcnk9ZS4kPXgsImZ1bmN0aW9u Ij09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtd LGZ1bmN0aW9uKCl7cmV0dXJuIHh9KSl9KSh3aW5kb3cpOwo= ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline; filename=jquery-noconflict.js Content-Type: application/javascript; name=jquery-noconflict.js Content-Location: http://bassreview.net/home/media/jui/js/jquery-noconflict.js Content-Transfer-Encoding: Base64 alF1ZXJ5Lm5vQ29uZmxpY3QoKTsK ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline; filename=jquery-migrate.min.js Content-Type: application/javascript; name=jquery-migrate.min.js Content-Location: http://bassreview.net/home/media/jui/js/jquery-migrate.min.js Content-Transfer-Encoding: Base64 LyohIGpRdWVyeSBNaWdyYXRlIHYxLjIuMSB8IChjKSAyMDA1LCAyMDEzIGpRdWVy eSBGb3VuZGF0aW9uLCBJbmMuIGFuZCBvdGhlciBjb250cmlidXRvcnMgfCBqcXVl cnkub3JnL2xpY2Vuc2UgKi8KalF1ZXJ5Lm1pZ3JhdGVNdXRlPT09dm9pZCAwJiYo alF1ZXJ5Lm1pZ3JhdGVNdXRlPSEwKSxmdW5jdGlvbihlLHQsbil7ZnVuY3Rpb24g cihuKXt2YXIgcj10LmNvbnNvbGU7aVtuXXx8KGlbbl09ITAsZS5taWdyYXRlV2Fy bmluZ3MucHVzaChuKSxyJiZyLndhcm4mJiFlLm1pZ3JhdGVNdXRlJiYoci53YXJu KCJKUU1JR1JBVEU6ICIrbiksZS5taWdyYXRlVHJhY2UmJnIudHJhY2UmJnIudHJh Y2UoKSkpfWZ1bmN0aW9uIGEodCxhLGksbyl7aWYoT2JqZWN0LmRlZmluZVByb3Bl cnR5KXRyeXtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsYSx7Y29uZmln dXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHIo byksaX0sc2V0OmZ1bmN0aW9uKGUpe3IobyksaT1lfX0pLG59Y2F0Y2gocyl7fWUu X2RlZmluZVByb3BlcnR5QnJva2VuPSEwLHRbYV09aX12YXIgaT17fTtlLm1pZ3Jh dGVXYXJuaW5ncz1bXSwhZS5taWdyYXRlTXV0ZSYmdC5jb25zb2xlJiZ0LmNvbnNv bGUubG9nJiZ0LmNvbnNvbGUubG9nKCJKUU1JR1JBVEU6IExvZ2dpbmcgaXMgYWN0 aXZlIiksZS5taWdyYXRlVHJhY2U9PT1uJiYoZS5taWdyYXRlVHJhY2U9ITApLGUu bWlncmF0ZVJlc2V0PWZ1bmN0aW9uKCl7aT17fSxlLm1pZ3JhdGVXYXJuaW5ncy5s ZW5ndGg9MH0sIkJhY2tDb21wYXQiPT09ZG9jdW1lbnQuY29tcGF0TW9kZSYmcigi alF1ZXJ5IGlzIG5vdCBjb21wYXRpYmxlIHdpdGggUXVpcmtzIE1vZGUiKTt2YXIg bz1lKCI8aW5wdXQvPiIse3NpemU6MX0pLmF0dHIoInNpemUiKSYmZS5hdHRyRm4s cz1lLmF0dHIsdT1lLmF0dHJIb29rcy52YWx1ZSYmZS5hdHRySG9va3MudmFsdWUu Z2V0fHxmdW5jdGlvbigpe3JldHVybiBudWxsfSxjPWUuYXR0ckhvb2tzLnZhbHVl JiZlLmF0dHJIb29rcy52YWx1ZS5zZXR8fGZ1bmN0aW9uKCl7cmV0dXJuIG59LGw9 L14oPzppbnB1dHxidXR0b24pJC9pLGQ9L15bMjM4XSQvLHA9L14oPzphdXRvZm9j dXN8YXV0b3BsYXl8YXN5bmN8Y2hlY2tlZHxjb250cm9sc3xkZWZlcnxkaXNhYmxl ZHxoaWRkZW58bG9vcHxtdWx0aXBsZXxvcGVufHJlYWRvbmx5fHJlcXVpcmVkfHNj b3BlZHxzZWxlY3RlZCkkL2ksZj0vXig/OmNoZWNrZWR8c2VsZWN0ZWQpJC9pO2Eo ZSwiYXR0ckZuIixvfHx7fSwialF1ZXJ5LmF0dHJGbiBpcyBkZXByZWNhdGVkIiks ZS5hdHRyPWZ1bmN0aW9uKHQsYSxpLHUpe3ZhciBjPWEudG9Mb3dlckNhc2UoKSxn PXQmJnQubm9kZVR5cGU7cmV0dXJuIHUmJig0PnMubGVuZ3RoJiZyKCJqUXVlcnku Zm4uYXR0ciggcHJvcHMsIHBhc3MgKSBpcyBkZXByZWNhdGVkIiksdCYmIWQudGVz dChnKSYmKG8/YSBpbiBvOmUuaXNGdW5jdGlvbihlLmZuW2FdKSkpP2UodClbYV0o aSk6KCJ0eXBlIj09PWEmJmkhPT1uJiZsLnRlc3QodC5ub2RlTmFtZSkmJnQucGFy ZW50Tm9kZSYmcigiQ2FuJ3QgY2hhbmdlIHRoZSAndHlwZScgb2YgYW4gaW5wdXQg b3IgYnV0dG9uIGluIElFIDYvNy84IiksIWUuYXR0ckhvb2tzW2NdJiZwLnRlc3Qo YykmJihlLmF0dHJIb29rc1tjXT17Z2V0OmZ1bmN0aW9uKHQscil7dmFyIGEsaT1l LnByb3AodCxyKTtyZXR1cm4gaT09PSEwfHwiYm9vbGVhbiIhPXR5cGVvZiBpJiYo YT10LmdldEF0dHJpYnV0ZU5vZGUocikpJiZhLm5vZGVWYWx1ZSE9PSExP3IudG9M b3dlckNhc2UoKTpufSxzZXQ6ZnVuY3Rpb24odCxuLHIpe3ZhciBhO3JldHVybiBu PT09ITE/ZS5yZW1vdmVBdHRyKHQscik6KGE9ZS5wcm9wRml4W3JdfHxyLGEgaW4g dCYmKHRbYV09ITApLHQuc2V0QXR0cmlidXRlKHIsci50b0xvd2VyQ2FzZSgpKSks cn19LGYudGVzdChjKSYmcigialF1ZXJ5LmZuLmF0dHIoJyIrYysiJykgbWF5IHVz ZSBwcm9wZXJ0eSBpbnN0ZWFkIG9mIGF0dHJpYnV0ZSIpKSxzLmNhbGwoZSx0LGEs aSkpfSxlLmF0dHJIb29rcy52YWx1ZT17Z2V0OmZ1bmN0aW9uKGUsdCl7dmFyIG49 KGUubm9kZU5hbWV8fCIiKS50b0xvd2VyQ2FzZSgpO3JldHVybiJidXR0b24iPT09 bj91LmFwcGx5KHRoaXMsYXJndW1lbnRzKTooImlucHV0IiE9PW4mJiJvcHRpb24i IT09biYmcigialF1ZXJ5LmZuLmF0dHIoJ3ZhbHVlJykgbm8gbG9uZ2VyIGdldHMg cHJvcGVydGllcyIpLHQgaW4gZT9lLnZhbHVlOm51bGwpfSxzZXQ6ZnVuY3Rpb24o ZSx0KXt2YXIgYT0oZS5ub2RlTmFtZXx8IiIpLnRvTG93ZXJDYXNlKCk7cmV0dXJu ImJ1dHRvbiI9PT1hP2MuYXBwbHkodGhpcyxhcmd1bWVudHMpOigiaW5wdXQiIT09 YSYmIm9wdGlvbiIhPT1hJiZyKCJqUXVlcnkuZm4uYXR0cigndmFsdWUnLCB2YWwp IG5vIGxvbmdlciBzZXRzIHByb3BlcnRpZXMiKSxlLnZhbHVlPXQsbil9fTt2YXIg ZyxoLHY9ZS5mbi5pbml0LG09ZS5wYXJzZUpTT04seT0vXihbXjxdKikoPFtcd1xX XSs+KShbXj5dKikkLztlLmZuLmluaXQ9ZnVuY3Rpb24odCxuLGEpe3ZhciBpO3Jl dHVybiB0JiYic3RyaW5nIj09dHlwZW9mIHQmJiFlLmlzUGxhaW5PYmplY3Qobikm JihpPXkuZXhlYyhlLnRyaW0odCkpKSYmaVswXSYmKCI8IiE9PXQuY2hhckF0KDAp JiZyKCIkKGh0bWwpIEhUTUwgc3RyaW5ncyBtdXN0IHN0YXJ0IHdpdGggJzwnIGNo YXJhY3RlciIpLGlbM10mJnIoIiQoaHRtbCkgSFRNTCB0ZXh0IGFmdGVyIGxhc3Qg dGFnIGlzIGlnbm9yZWQiKSwiIyI9PT1pWzBdLmNoYXJBdCgwKSYmKHIoIkhUTUwg c3RyaW5nIGNhbm5vdCBzdGFydCB3aXRoIGEgJyMnIGNoYXJhY3RlciIpLGUuZXJy b3IoIkpRTUlHUkFURTogSW52YWxpZCBzZWxlY3RvciBzdHJpbmcgKFhTUykiKSks biYmbi5jb250ZXh0JiYobj1uLmNvbnRleHQpLGUucGFyc2VIVE1MKT92LmNhbGwo dGhpcyxlLnBhcnNlSFRNTChpWzJdLG4sITApLG4sYSk6di5hcHBseSh0aGlzLGFy Z3VtZW50cyl9LGUuZm4uaW5pdC5wcm90b3R5cGU9ZS5mbixlLnBhcnNlSlNPTj1m dW5jdGlvbihlKXtyZXR1cm4gZXx8bnVsbD09PWU/bS5hcHBseSh0aGlzLGFyZ3Vt ZW50cyk6KHIoImpRdWVyeS5wYXJzZUpTT04gcmVxdWlyZXMgYSB2YWxpZCBKU09O IHN0cmluZyIpLG51bGwpfSxlLnVhTWF0Y2g9ZnVuY3Rpb24oZSl7ZT1lLnRvTG93 ZXJDYXNlKCk7dmFyIHQ9LyhjaHJvbWUpWyBcL10oW1x3Ll0rKS8uZXhlYyhlKXx8 Lyh3ZWJraXQpWyBcL10oW1x3Ll0rKS8uZXhlYyhlKXx8LyhvcGVyYSkoPzouKnZl cnNpb258KVsgXC9dKFtcdy5dKykvLmV4ZWMoZSl8fC8obXNpZSkgKFtcdy5dKykv LmV4ZWMoZSl8fDA+ZS5pbmRleE9mKCJjb21wYXRpYmxlIikmJi8obW96aWxsYSko PzouKj8gcnY6KFtcdy5dKyl8KS8uZXhlYyhlKXx8W107cmV0dXJue2Jyb3dzZXI6 dFsxXXx8IiIsdmVyc2lvbjp0WzJdfHwiMCJ9fSxlLmJyb3dzZXJ8fChnPWUudWFN YXRjaChuYXZpZ2F0b3IudXNlckFnZW50KSxoPXt9LGcuYnJvd3NlciYmKGhbZy5i cm93c2VyXT0hMCxoLnZlcnNpb249Zy52ZXJzaW9uKSxoLmNocm9tZT9oLndlYmtp dD0hMDpoLndlYmtpdCYmKGguc2FmYXJpPSEwKSxlLmJyb3dzZXI9aCksYShlLCJi cm93c2VyIixlLmJyb3dzZXIsImpRdWVyeS5icm93c2VyIGlzIGRlcHJlY2F0ZWQi KSxlLnN1Yj1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSxuKXtyZXR1cm4gbmV3IHQu Zm4uaW5pdChlLG4pfWUuZXh0ZW5kKCEwLHQsdGhpcyksdC5zdXBlcmNsYXNzPXRo aXMsdC5mbj10LnByb3RvdHlwZT10aGlzKCksdC5mbi5jb25zdHJ1Y3Rvcj10LHQu c3ViPXRoaXMuc3ViLHQuZm4uaW5pdD1mdW5jdGlvbihyLGEpe3JldHVybiBhJiZh IGluc3RhbmNlb2YgZSYmIShhIGluc3RhbmNlb2YgdCkmJihhPXQoYSkpLGUuZm4u aW5pdC5jYWxsKHRoaXMscixhLG4pfSx0LmZuLmluaXQucHJvdG90eXBlPXQuZm47 dmFyIG49dChkb2N1bWVudCk7cmV0dXJuIHIoImpRdWVyeS5zdWIoKSBpcyBkZXBy ZWNhdGVkIiksdH0sZS5hamF4U2V0dXAoe2NvbnZlcnRlcnM6eyJ0ZXh0IGpzb24i OmUucGFyc2VKU09OfX0pO3ZhciBiPWUuZm4uZGF0YTtlLmZuLmRhdGE9ZnVuY3Rp b24odCl7dmFyIGEsaSxvPXRoaXNbMF07cmV0dXJuIW98fCJldmVudHMiIT09dHx8 MSE9PWFyZ3VtZW50cy5sZW5ndGh8fChhPWUuZGF0YShvLHQpLGk9ZS5fZGF0YShv LHQpLGEhPT1uJiZhIT09aXx8aT09PW4pP2IuYXBwbHkodGhpcyxhcmd1bWVudHMp OihyKCJVc2Ugb2YgalF1ZXJ5LmZuLmRhdGEoJ2V2ZW50cycpIGlzIGRlcHJlY2F0 ZWQiKSxpKX07dmFyIGo9L1wvKGphdmF8ZWNtYSlzY3JpcHQvaSx3PWUuZm4uYW5k U2VsZnx8ZS5mbi5hZGRCYWNrO2UuZm4uYW5kU2VsZj1mdW5jdGlvbigpe3JldHVy biByKCJqUXVlcnkuZm4uYW5kU2VsZigpIHJlcGxhY2VkIGJ5IGpRdWVyeS5mbi5h ZGRCYWNrKCkiKSx3LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sZS5jbGVhbnx8KGUu Y2xlYW49ZnVuY3Rpb24odCxhLGksbyl7YT1hfHxkb2N1bWVudCxhPSFhLm5vZGVU eXBlJiZhWzBdfHxhLGE9YS5vd25lckRvY3VtZW50fHxhLHIoImpRdWVyeS5jbGVh bigpIGlzIGRlcHJlY2F0ZWQiKTt2YXIgcyx1LGMsbCxkPVtdO2lmKGUubWVyZ2Uo ZCxlLmJ1aWxkRnJhZ21lbnQodCxhKS5jaGlsZE5vZGVzKSxpKWZvcihjPWZ1bmN0 aW9uKGUpe3JldHVybiFlLnR5cGV8fGoudGVzdChlLnR5cGUpP28/by5wdXNoKGUu cGFyZW50Tm9kZT9lLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSk6ZSk6aS5hcHBl bmRDaGlsZChlKTpufSxzPTA7bnVsbCE9KHU9ZFtzXSk7cysrKWUubm9kZU5hbWUo dSwic2NyaXB0IikmJmModSl8fChpLmFwcGVuZENoaWxkKHUpLHUuZ2V0RWxlbWVu dHNCeVRhZ05hbWUhPT1uJiYobD1lLmdyZXAoZS5tZXJnZShbXSx1LmdldEVsZW1l bnRzQnlUYWdOYW1lKCJzY3JpcHQiKSksYyksZC5zcGxpY2UuYXBwbHkoZCxbcysx LDBdLmNvbmNhdChsKSkscys9bC5sZW5ndGgpKTtyZXR1cm4gZH0pO3ZhciBRPWUu ZXZlbnQuYWRkLHg9ZS5ldmVudC5yZW1vdmUsaz1lLmV2ZW50LnRyaWdnZXIsTj1l LmZuLnRvZ2dsZSxUPWUuZm4ubGl2ZSxNPWUuZm4uZGllLFM9ImFqYXhTdGFydHxh amF4U3RvcHxhamF4U2VuZHxhamF4Q29tcGxldGV8YWpheEVycm9yfGFqYXhTdWNj ZXNzIixDPVJlZ0V4cCgiXFxiKD86IitTKyIpXFxiIiksSD0vKD86Xnxccylob3Zl cihcLlxTK3wpXGIvLEE9ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyIhPXR5cGVv ZiB0fHxlLmV2ZW50LnNwZWNpYWwuaG92ZXI/dDooSC50ZXN0KHQpJiZyKCInaG92 ZXInIHBzZXVkby1ldmVudCBpcyBkZXByZWNhdGVkLCB1c2UgJ21vdXNlZW50ZXIg bW91c2VsZWF2ZSciKSx0JiZ0LnJlcGxhY2UoSCwibW91c2VlbnRlciQxIG1vdXNl bGVhdmUkMSIpKX07ZS5ldmVudC5wcm9wcyYmImF0dHJDaGFuZ2UiIT09ZS5ldmVu dC5wcm9wc1swXSYmZS5ldmVudC5wcm9wcy51bnNoaWZ0KCJhdHRyQ2hhbmdlIiwi YXR0ck5hbWUiLCJyZWxhdGVkTm9kZSIsInNyY0VsZW1lbnQiKSxlLmV2ZW50LmRp c3BhdGNoJiZhKGUuZXZlbnQsImhhbmRsZSIsZS5ldmVudC5kaXNwYXRjaCwialF1 ZXJ5LmV2ZW50LmhhbmRsZSBpcyB1bmRvY3VtZW50ZWQgYW5kIGRlcHJlY2F0ZWQi KSxlLmV2ZW50LmFkZD1mdW5jdGlvbihlLHQsbixhLGkpe2UhPT1kb2N1bWVudCYm Qy50ZXN0KHQpJiZyKCJBSkFYIGV2ZW50cyBzaG91bGQgYmUgYXR0YWNoZWQgdG8g ZG9jdW1lbnQ6ICIrdCksUS5jYWxsKHRoaXMsZSxBKHR8fCIiKSxuLGEsaSl9LGUu ZXZlbnQucmVtb3ZlPWZ1bmN0aW9uKGUsdCxuLHIsYSl7eC5jYWxsKHRoaXMsZSxB KHQpfHwiIixuLHIsYSl9LGUuZm4uZXJyb3I9ZnVuY3Rpb24oKXt2YXIgZT1BcnJh eS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMCk7cmV0dXJuIHIoImpR dWVyeS5mbi5lcnJvcigpIGlzIGRlcHJlY2F0ZWQiKSxlLnNwbGljZSgwLDAsImVy cm9yIiksYXJndW1lbnRzLmxlbmd0aD90aGlzLmJpbmQuYXBwbHkodGhpcyxlKToo dGhpcy50cmlnZ2VySGFuZGxlci5hcHBseSh0aGlzLGUpLHRoaXMpfSxlLmZuLnRv Z2dsZT1mdW5jdGlvbih0LG4pe2lmKCFlLmlzRnVuY3Rpb24odCl8fCFlLmlzRnVu Y3Rpb24obikpcmV0dXJuIE4uYXBwbHkodGhpcyxhcmd1bWVudHMpO3IoImpRdWVy eS5mbi50b2dnbGUoaGFuZGxlciwgaGFuZGxlci4uLikgaXMgZGVwcmVjYXRlZCIp O3ZhciBhPWFyZ3VtZW50cyxpPXQuZ3VpZHx8ZS5ndWlkKyssbz0wLHM9ZnVuY3Rp b24obil7dmFyIHI9KGUuX2RhdGEodGhpcywibGFzdFRvZ2dsZSIrdC5ndWlkKXx8 MCklbztyZXR1cm4gZS5fZGF0YSh0aGlzLCJsYXN0VG9nZ2xlIit0Lmd1aWQscisx KSxuLnByZXZlbnREZWZhdWx0KCksYVtyXS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8 fCExfTtmb3Iocy5ndWlkPWk7YS5sZW5ndGg+bzspYVtvKytdLmd1aWQ9aTtyZXR1 cm4gdGhpcy5jbGljayhzKX0sZS5mbi5saXZlPWZ1bmN0aW9uKHQsbixhKXtyZXR1 cm4gcigialF1ZXJ5LmZuLmxpdmUoKSBpcyBkZXByZWNhdGVkIiksVD9ULmFwcGx5 KHRoaXMsYXJndW1lbnRzKTooZSh0aGlzLmNvbnRleHQpLm9uKHQsdGhpcy5zZWxl Y3RvcixuLGEpLHRoaXMpfSxlLmZuLmRpZT1mdW5jdGlvbih0LG4pe3JldHVybiBy KCJqUXVlcnkuZm4uZGllKCkgaXMgZGVwcmVjYXRlZCIpLE0/TS5hcHBseSh0aGlz LGFyZ3VtZW50cyk6KGUodGhpcy5jb250ZXh0KS5vZmYodCx0aGlzLnNlbGVjdG9y fHwiKioiLG4pLHRoaXMpfSxlLmV2ZW50LnRyaWdnZXI9ZnVuY3Rpb24oZSx0LG4s YSl7cmV0dXJuIG58fEMudGVzdChlKXx8cigiR2xvYmFsIGV2ZW50cyBhcmUgdW5k b2N1bWVudGVkIGFuZCBkZXByZWNhdGVkIiksay5jYWxsKHRoaXMsZSx0LG58fGRv Y3VtZW50LGEpfSxlLmVhY2goUy5zcGxpdCgifCIpLGZ1bmN0aW9uKHQsbil7ZS5l dmVudC5zcGVjaWFsW25dPXtzZXR1cDpmdW5jdGlvbigpe3ZhciB0PXRoaXM7cmV0 dXJuIHQhPT1kb2N1bWVudCYmKGUuZXZlbnQuYWRkKGRvY3VtZW50LG4rIi4iK2Uu Z3VpZCxmdW5jdGlvbigpe2UuZXZlbnQudHJpZ2dlcihuLG51bGwsdCwhMCl9KSxl Ll9kYXRhKHRoaXMsbixlLmd1aWQrKykpLCExfSx0ZWFyZG93bjpmdW5jdGlvbigp e3JldHVybiB0aGlzIT09ZG9jdW1lbnQmJmUuZXZlbnQucmVtb3ZlKGRvY3VtZW50 LG4rIi4iK2UuX2RhdGEodGhpcyxuKSksITF9fX0pfShqUXVlcnksd2luZG93KTs= ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline; filename=tabs-state.js Content-Type: application/javascript; name=tabs-state.js Content-Location: http://bassreview.net/home/media/system/js/tabs-state.js Content-Transfer-Encoding: Base64 LyoqCiAqIEBjb3B5cmlnaHQgICBDb3B5cmlnaHQgKEMpIDIwMDUgLSAyMDE0IE9w ZW4gU291cmNlIE1hdHRlcnMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICog QGxpY2Vuc2UgICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24g MiBvciBsYXRlcjsgc2VlIExJQ0VOU0UudHh0CiAqLwoKLyoqCiAqIEphdmFTY3Jp cHQgYmVoYXZpb3IgdG8gYWxsb3cgc2VsZWN0ZWQgdGFiIHRvIGJlIHJlbWFpbmVk IGFmdGVyIHNhdmUgb3IgcGFnZSByZWxvYWQKICoga2VlcGluZyBzdGF0ZSBpbiBs b2NhbHN0b3JhZ2UKICovCgpqUXVlcnkoZnVuY3Rpb24oKSB7CgogICAgdmFyIGxv YWRUYWIgPSBmdW5jdGlvbigpIHsKICAgICAgICB2YXIgJCA9IGpRdWVyeS5ub0Nv bmZsaWN0KCk7CgogICAgICAgIGpRdWVyeShkb2N1bWVudCkuZmluZCgnYVtkYXRh LXRvZ2dsZT0idGFiIl0nKS5vbignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAg ICAgICAgIC8vIFN0b3JlIHRoZSBzZWxlY3RlZCB0YWIgaHJlZiBpbiBsb2NhbHN0 b3JhZ2UKICAgICAgICAgICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKCd0 YWItaHJlZicsICQoZS50YXJnZXQpLmF0dHIoJ2hyZWYnKSk7CiAgICAgICAgfSk7 CgogICAgICAgIHZhciBhY3RpdmF0ZVRhYiA9IGZ1bmN0aW9uKGhyZWYpIHsKICAg ICAgICAgICAgdmFyICRlbCA9ICQoJ2FbZGF0YS10b2dnbGU9InRhYiJdYVtocmVm Kj0nICsgaHJlZiArICddJyk7CiAgICAgICAgICAgICRlbC50YWIoJ3Nob3cnKTsK ICAgICAgICB9OwoKICAgICAgICB2YXIgaGFzVGFiID0gZnVuY3Rpb24oaHJlZil7 CiAgICAgICAgICAgIHJldHVybiAkKCdhW2RhdGEtdG9nZ2xlPSJ0YWIiXWFbaHJl Zio9JyArIGhyZWYgKyAnXScpLmxlbmd0aDsKICAgICAgICB9OwoKICAgICAgICBp ZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RhYi1ocmVmJykpIHsKICAgICAgICAg ICAgLy8gV2hlbiBtb3ZpbmcgZnJvbSB0YWIgYXJlYSB0byBhIGRpZmZlcmVudCB2 aWV3CiAgICAgICAgICAgIGlmKCFoYXNUYWIobG9jYWxTdG9yYWdlLmdldEl0ZW0o J3RhYi1ocmVmJykpKXsKICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1v dmVJdGVtKCd0YWItaHJlZicpOwogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7 CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gQ2xlYW4gZGVmYXVsdCB0YWJz CiAgICAgICAgICAgICQoJ2FbZGF0YS10b2dnbGU9InRhYiJdJykucGFyZW50KCku cmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpOwogICAgICAgICAgICB2YXIgdGFiaHJlZiA9 IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd0YWItaHJlZicpOwogICAgICAgICAgICAv LyBBZGQgYWN0aXZlIGF0dHJpYnV0ZSBmb3Igc2VsZWN0ZWQgdGFiIGluZGljYXRl ZCBieSB1cmwKICAgICAgICAgICAgYWN0aXZhdGVUYWIodGFiaHJlZik7CiAgICAg ICAgICAgIC8vIENoZWNrIHdoZXRoZXIgaW50ZXJuYWwgdGFiIGlzIHNlbGVjdGVk IChpbiBmb3JtYXQgPHRhYm5hbWU+LTxpZD4pCiAgICAgICAgICAgIHZhciBzZXBl cmF0b3JJbmRleCA9IHRhYmhyZWYuaW5kZXhPZignLScpOwogICAgICAgICAgICBp ZiAoc2VwZXJhdG9ySW5kZXggIT09IC0xKSB7CiAgICAgICAgICAgICAgICB2YXIg c2luZ3VsYXIgPSB0YWJocmVmLnN1YnN0cmluZygwLCBzZXBlcmF0b3JJbmRleCk7 CiAgICAgICAgICAgICAgICB2YXIgcGx1cmFsID0gc2luZ3VsYXIgKyAicyI7CiAg ICAgICAgICAgICAgICBhY3RpdmF0ZVRhYihwbHVyYWwpOwogICAgICAgICAgICB9 CiAgICAgICAgfQogICAgfTsKICAgIHNldFRpbWVvdXQobG9hZFRhYiwgMTAwKTsK Cn0pOwo= ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline; filename=mootools-core.js Content-Type: application/javascript; name=mootools-core.js Content-Location: http://bassreview.net/home/media/system/js/mootools-core.js Content-Transfer-Encoding: Base64 KGZ1bmN0aW9uKCl7dGhpcy5Nb29Ub29scz17dmVyc2lvbjoiMS40LjUiLGJ1aWxk OiI3NGUzNDc5NmY1Zjc2NjQwY2RiOTg4NTMwMDQ2NTBhZWExNDk5ZDY5In07dmFy IGI9dGhpcy50eXBlT2Y9ZnVuY3Rpb24oYil7aWYobnVsbD09YilyZXR1cm4ibnVs bCI7aWYobnVsbCE9Yi4kZmFtaWx5KXJldHVybiBiLiRmYW1pbHkoKTtpZihiLm5v ZGVOYW1lKXtpZigxPT1iLm5vZGVUeXBlKXJldHVybiJlbGVtZW50IjtpZigzPT1i Lm5vZGVUeXBlKXJldHVybi9cUy8udGVzdChiLm5vZGVWYWx1ZSk/InRleHRub2Rl Ijoid2hpdGVzcGFjZSJ9ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIGIubGVuZ3Ro KXtpZihiLmNhbGxlZSlyZXR1cm4iYXJndW1lbnRzIjtpZigiaXRlbSJpbiBiKXJl dHVybiJjb2xsZWN0aW9uIn1yZXR1cm4gdHlwZW9mIGJ9O3RoaXMuaW5zdGFuY2VP Zj1mdW5jdGlvbihiLGEpe2lmKG51bGw9PWIpcmV0dXJuITE7Zm9yKHZhciBjPWIu JGNvbnN0cnVjdG9yfHxiLmNvbnN0cnVjdG9yO2M7KXtpZihjPT09CmEpcmV0dXJu ITA7Yz1jLnBhcmVudH1yZXR1cm4hYi5oYXNPd25Qcm9wZXJ0eT8hMTpiIGluc3Rh bmNlb2YgYX07dmFyIGE9dGhpcy5GdW5jdGlvbixjPSEwLGQ7Zm9yKGQgaW57dG9T dHJpbmc6MX0pYz1udWxsO2MmJihjPSJoYXNPd25Qcm9wZXJ0eSx2YWx1ZU9mLGlz UHJvdG90eXBlT2YscHJvcGVydHlJc0VudW1lcmFibGUsdG9Mb2NhbGVTdHJpbmcs dG9TdHJpbmcsY29uc3RydWN0b3IiLnNwbGl0KCIsIikpO2EucHJvdG90eXBlLm92 ZXJsb2FkU2V0dGVyPWZ1bmN0aW9uKGIpe3ZhciBhPXRoaXM7cmV0dXJuIGZ1bmN0 aW9uKGgsayl7aWYobnVsbD09aClyZXR1cm4gdGhpcztpZihifHwic3RyaW5nIiE9 dHlwZW9mIGgpe2Zvcih2YXIgZSBpbiBoKWEuY2FsbCh0aGlzLGUsaFtlXSk7aWYo Yylmb3IodmFyIGQ9Yy5sZW5ndGg7ZC0tOyllPWNbZF0saC5oYXNPd25Qcm9wZXJ0 eShlKSYmYS5jYWxsKHRoaXMsZSxoW2VdKX1lbHNlIGEuY2FsbCh0aGlzLGgsayk7 cmV0dXJuIHRoaXN9fTsKYS5wcm90b3R5cGUub3ZlcmxvYWRHZXR0ZXI9ZnVuY3Rp b24oYil7dmFyIGE9dGhpcztyZXR1cm4gZnVuY3Rpb24oYyl7dmFyIGgsazsic3Ry aW5nIiE9dHlwZW9mIGM/aD1jOjE8YXJndW1lbnRzLmxlbmd0aD9oPWFyZ3VtZW50 czpiJiYoaD1bY10pO2lmKGgpe2s9e307Zm9yKHZhciBlPTA7ZTxoLmxlbmd0aDtl Kyspa1toW2VdXT1hLmNhbGwodGhpcyxoW2VdKX1lbHNlIGs9YS5jYWxsKHRoaXMs Yyk7cmV0dXJuIGt9fTthLnByb3RvdHlwZS5leHRlbmQ9ZnVuY3Rpb24oYixhKXt0 aGlzW2JdPWF9Lm92ZXJsb2FkU2V0dGVyKCk7YS5wcm90b3R5cGUuaW1wbGVtZW50 PWZ1bmN0aW9uKGIsYSl7dGhpcy5wcm90b3R5cGVbYl09YX0ub3ZlcmxvYWRTZXR0 ZXIoKTt2YXIgZT1BcnJheS5wcm90b3R5cGUuc2xpY2U7YS5mcm9tPWZ1bmN0aW9u KGEpe3JldHVybiJmdW5jdGlvbiI9PWIoYSk/YTpmdW5jdGlvbigpe3JldHVybiBh fX07QXJyYXkuZnJvbT1mdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09CmE/W106Zi5p c0VudW1lcmFibGUoYSkmJiJzdHJpbmciIT10eXBlb2YgYT8iYXJyYXkiPT1iKGEp P2E6ZS5jYWxsKGEpOlthXX07TnVtYmVyLmZyb209ZnVuY3Rpb24oYil7Yj1wYXJz ZUZsb2F0KGIpO3JldHVybiBpc0Zpbml0ZShiKT9iOm51bGx9O1N0cmluZy5mcm9t PWZ1bmN0aW9uKGIpe3JldHVybiBiKyIifTthLmltcGxlbWVudCh7aGlkZTpmdW5j dGlvbigpe3RoaXMuJGhpZGRlbj0hMDtyZXR1cm4gdGhpc30scHJvdGVjdDpmdW5j dGlvbigpe3RoaXMuJHByb3RlY3RlZD0hMDtyZXR1cm4gdGhpc319KTt2YXIgZj10 aGlzLlR5cGU9ZnVuY3Rpb24oYSxjKXtpZihhKXt2YXIgaD1hLnRvTG93ZXJDYXNl KCk7ZlsiaXMiK2FdPWZ1bmN0aW9uKGEpe3JldHVybiBiKGEpPT1ofTtudWxsIT1j JiYoYy5wcm90b3R5cGUuJGZhbWlseT1mdW5jdGlvbigpe3JldHVybiBofS5oaWRl KCkpfWlmKG51bGw9PWMpcmV0dXJuIG51bGw7Yy5leHRlbmQodGhpcyk7Yy4kY29u c3RydWN0b3I9ZjtyZXR1cm4gYy5wcm90b3R5cGUuJGNvbnN0cnVjdG9yPQpjfSxn PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7Zi5pc0VudW1lcmFibGU9ZnVuY3Rp b24oYil7cmV0dXJuIG51bGwhPWImJiJudW1iZXIiPT10eXBlb2YgYi5sZW5ndGgm JiJbb2JqZWN0IEZ1bmN0aW9uXSIhPWcuY2FsbChiKX07dmFyIGk9e30saj1mdW5j dGlvbihhKXthPWIoYS5wcm90b3R5cGUpO3JldHVybiBpW2FdfHwoaVthXT1bXSl9 LG09ZnVuY3Rpb24oYSxjKXtpZighY3x8IWMuJGhpZGRlbil7Zm9yKHZhciBrPWoo dGhpcyksZD0wO2Q8ay5sZW5ndGg7ZCsrKXt2YXIgbz1rW2RdOyJ0eXBlIj09Yihv KT9tLmNhbGwobyxhLGMpOm8uY2FsbCh0aGlzLGEsYyl9az10aGlzLnByb3RvdHlw ZVthXTtpZihudWxsPT1rfHwhay4kcHJvdGVjdGVkKXRoaXMucHJvdG90eXBlW2Fd PWM7bnVsbD09dGhpc1thXSYmImZ1bmN0aW9uIj09YihjKSYmaC5jYWxsKHRoaXMs YSxmdW5jdGlvbihiKXtyZXR1cm4gYy5hcHBseShiLGUuY2FsbChhcmd1bWVudHMs MSkpfSl9fSxoPWZ1bmN0aW9uKGIsCmEpe2lmKCFhfHwhYS4kaGlkZGVuKXt2YXIg Yz10aGlzW2JdO2lmKG51bGw9PWN8fCFjLiRwcm90ZWN0ZWQpdGhpc1tiXT1hfX07 Zi5pbXBsZW1lbnQoe2ltcGxlbWVudDptLm92ZXJsb2FkU2V0dGVyKCksZXh0ZW5k Omgub3ZlcmxvYWRTZXR0ZXIoKSxhbGlhczpmdW5jdGlvbihiLGEpe20uY2FsbCh0 aGlzLGIsdGhpcy5wcm90b3R5cGVbYV0pfS5vdmVybG9hZFNldHRlcigpLG1pcnJv cjpmdW5jdGlvbihiKXtqKHRoaXMpLnB1c2goYik7cmV0dXJuIHRoaXN9fSk7bmV3 IGYoIlR5cGUiLGYpO3ZhciBrPWZ1bmN0aW9uKGIsYSxjKXt2YXIgaD1hIT1PYmpl Y3QsZT1hLnByb3RvdHlwZTtoJiYoYT1uZXcgZihiLGEpKTtmb3IodmFyIGI9MCxk PWMubGVuZ3RoO2I8ZDtiKyspe3ZhciBvPWNbYl0scT1hW29dLGc9ZVtvXTtxJiZx LnByb3RlY3QoKTtoJiZnJiZhLmltcGxlbWVudChvLGcucHJvdGVjdCgpKX1pZiho KXt2YXIgaj1lLnByb3BlcnR5SXNFbnVtZXJhYmxlKGNbMF0pO2EuZm9yRWFjaE1l dGhvZD0KZnVuY3Rpb24oYil7aWYoIWopZm9yKHZhciBhPTAsaD1jLmxlbmd0aDth PGg7YSsrKWIuY2FsbChlLGVbY1thXV0sY1thXSk7Zm9yKHZhciBrIGluIGUpYi5j YWxsKGUsZVtrXSxrKX19cmV0dXJuIGt9O2soIlN0cmluZyIsU3RyaW5nLCJjaGFy QXQsY2hhckNvZGVBdCxjb25jYXQsaW5kZXhPZixsYXN0SW5kZXhPZixtYXRjaCxx dW90ZSxyZXBsYWNlLHNlYXJjaCxzbGljZSxzcGxpdCxzdWJzdHIsc3Vic3RyaW5n LHRyaW0sdG9Mb3dlckNhc2UsdG9VcHBlckNhc2UiLnNwbGl0KCIsIikpKCJBcnJh eSIsQXJyYXksInBvcCxwdXNoLHJldmVyc2Usc2hpZnQsc29ydCxzcGxpY2UsdW5z aGlmdCxjb25jYXQsam9pbixzbGljZSxpbmRleE9mLGxhc3RJbmRleE9mLGZpbHRl cixmb3JFYWNoLGV2ZXJ5LG1hcCxzb21lLHJlZHVjZSxyZWR1Y2VSaWdodCIuc3Bs aXQoIiwiKSkoIk51bWJlciIsTnVtYmVyLFsidG9FeHBvbmVudGlhbCIsInRvRml4 ZWQiLCJ0b0xvY2FsZVN0cmluZyIsInRvUHJlY2lzaW9uIl0pKCJGdW5jdGlvbiIs CmEsWyJhcHBseSIsImNhbGwiLCJiaW5kIl0pKCJSZWdFeHAiLFJlZ0V4cCxbImV4 ZWMiLCJ0ZXN0Il0pKCJPYmplY3QiLE9iamVjdCwiY3JlYXRlLGRlZmluZVByb3Bl cnR5LGRlZmluZVByb3BlcnRpZXMsa2V5cyxnZXRQcm90b3R5cGVPZixnZXRPd25Q cm9wZXJ0eURlc2NyaXB0b3IsZ2V0T3duUHJvcGVydHlOYW1lcyxwcmV2ZW50RXh0 ZW5zaW9ucyxpc0V4dGVuc2libGUsc2VhbCxpc1NlYWxlZCxmcmVlemUsaXNGcm96 ZW4iLnNwbGl0KCIsIikpKCJEYXRlIixEYXRlLFsibm93Il0pO09iamVjdC5leHRl bmQ9aC5vdmVybG9hZFNldHRlcigpO0RhdGUuZXh0ZW5kKCJub3ciLGZ1bmN0aW9u KCl7cmV0dXJuK25ldyBEYXRlfSk7bmV3IGYoIkJvb2xlYW4iLEJvb2xlYW4pO051 bWJlci5wcm90b3R5cGUuJGZhbWlseT1mdW5jdGlvbigpe3JldHVybiBpc0Zpbml0 ZSh0aGlzKT8ibnVtYmVyIjoibnVsbCJ9LmhpZGUoKTtOdW1iZXIuZXh0ZW5kKCJy YW5kb20iLGZ1bmN0aW9uKGIsYSl7cmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5k b20oKSoKKGEtYisxKStiKX0pO3ZhciBvPU9iamVjdC5wcm90b3R5cGUuaGFzT3du UHJvcGVydHk7T2JqZWN0LmV4dGVuZCgiZm9yRWFjaCIsZnVuY3Rpb24oYixhLGMp e2Zvcih2YXIgaCBpbiBiKW8uY2FsbChiLGgpJiZhLmNhbGwoYyxiW2hdLGgsYil9 KTtPYmplY3QuZWFjaD1PYmplY3QuZm9yRWFjaDtBcnJheS5pbXBsZW1lbnQoe2Zv ckVhY2g6ZnVuY3Rpb24oYixhKXtmb3IodmFyIGM9MCxoPXRoaXMubGVuZ3RoO2M8 aDtjKyspYyBpbiB0aGlzJiZiLmNhbGwoYSx0aGlzW2NdLGMsdGhpcyl9LGVhY2g6 ZnVuY3Rpb24oYixhKXtBcnJheS5mb3JFYWNoKHRoaXMsYixhKTtyZXR1cm4gdGhp c319KTt2YXIgcT1mdW5jdGlvbihhKXtzd2l0Y2goYihhKSl7Y2FzZSAiYXJyYXki OnJldHVybiBhLmNsb25lKCk7Y2FzZSAib2JqZWN0IjpyZXR1cm4gT2JqZWN0LmNs b25lKGEpO2RlZmF1bHQ6cmV0dXJuIGF9fTtBcnJheS5pbXBsZW1lbnQoImNsb25l IixmdW5jdGlvbigpe2Zvcih2YXIgYj10aGlzLmxlbmd0aCwKYT1BcnJheShiKTti LS07KWFbYl09cSh0aGlzW2JdKTtyZXR1cm4gYX0pO3ZhciB1PWZ1bmN0aW9uKGEs YyxoKXtzd2l0Y2goYihoKSl7Y2FzZSAib2JqZWN0Ijoib2JqZWN0Ij09YihhW2Nd KT9PYmplY3QubWVyZ2UoYVtjXSxoKTphW2NdPU9iamVjdC5jbG9uZShoKTticmVh aztjYXNlICJhcnJheSI6YVtjXT1oLmNsb25lKCk7YnJlYWs7ZGVmYXVsdDphW2Nd PWh9cmV0dXJuIGF9O09iamVjdC5leHRlbmQoe21lcmdlOmZ1bmN0aW9uKGEsYyxo KXtpZigic3RyaW5nIj09YihjKSlyZXR1cm4gdShhLGMsaCk7Zm9yKHZhciBrPTEs ZT1hcmd1bWVudHMubGVuZ3RoO2s8ZTtrKyspe3ZhciBkPWFyZ3VtZW50c1trXSxv O2ZvcihvIGluIGQpdShhLG8sZFtvXSl9cmV0dXJuIGF9LGNsb25lOmZ1bmN0aW9u KGIpe3ZhciBhPXt9LGM7Zm9yKGMgaW4gYilhW2NdPXEoYltjXSk7cmV0dXJuIGF9 LGFwcGVuZDpmdW5jdGlvbihiKXtmb3IodmFyIGE9MSxjPWFyZ3VtZW50cy5sZW5n dGg7YTxjO2ErKyl7dmFyIGg9CmFyZ3VtZW50c1thXXx8e30saztmb3IoayBpbiBo KWJba109aFtrXX1yZXR1cm4gYn19KTtbIk9iamVjdCIsIldoaXRlU3BhY2UiLCJU ZXh0Tm9kZSIsIkNvbGxlY3Rpb24iLCJBcmd1bWVudHMiXS5lYWNoKGZ1bmN0aW9u KGIpe25ldyBmKGIpfSk7dmFyIHI9RGF0ZS5ub3coKTtTdHJpbmcuZXh0ZW5kKCJ1 bmlxdWVJRCIsZnVuY3Rpb24oKXtyZXR1cm4ocisrKS50b1N0cmluZygzNil9KX0p KCk7CkFycmF5LmltcGxlbWVudCh7ZXZlcnk6ZnVuY3Rpb24oYixhKXtmb3IodmFy IGM9MCxkPXRoaXMubGVuZ3RoPj4+MDtjPGQ7YysrKWlmKGMgaW4gdGhpcyYmIWIu Y2FsbChhLHRoaXNbY10sYyx0aGlzKSlyZXR1cm4hMTtyZXR1cm4hMH0sZmlsdGVy OmZ1bmN0aW9uKGIsYSl7Zm9yKHZhciBjPVtdLGQsZT0wLGY9dGhpcy5sZW5ndGg+ Pj4wO2U8ZjtlKyspZSBpbiB0aGlzJiYoZD10aGlzW2VdLGIuY2FsbChhLGQsZSx0 aGlzKSYmYy5wdXNoKGQpKTtyZXR1cm4gY30saW5kZXhPZjpmdW5jdGlvbihiLGEp e2Zvcih2YXIgYz10aGlzLmxlbmd0aD4+PjAsZD0wPmE/TWF0aC5tYXgoMCxjK2Ep OmF8fDA7ZDxjO2QrKylpZih0aGlzW2RdPT09YilyZXR1cm4gZDtyZXR1cm4tMX0s bWFwOmZ1bmN0aW9uKGIsYSl7Zm9yKHZhciBjPXRoaXMubGVuZ3RoPj4+MCxkPUFy cmF5KGMpLGU9MDtlPGM7ZSsrKWUgaW4gdGhpcyYmKGRbZV09Yi5jYWxsKGEsdGhp c1tlXSxlLHRoaXMpKTtyZXR1cm4gZH0sc29tZTpmdW5jdGlvbihiLAphKXtmb3Io dmFyIGM9MCxkPXRoaXMubGVuZ3RoPj4+MDtjPGQ7YysrKWlmKGMgaW4gdGhpcyYm Yi5jYWxsKGEsdGhpc1tjXSxjLHRoaXMpKXJldHVybiEwO3JldHVybiExfSxjbGVh bjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbihiKXtyZXR1 cm4gbnVsbCE9Yn0pfSxpbnZva2U6ZnVuY3Rpb24oYil7dmFyIGE9QXJyYXkuc2xp Y2UoYXJndW1lbnRzLDEpO3JldHVybiB0aGlzLm1hcChmdW5jdGlvbihjKXtyZXR1 cm4gY1tiXS5hcHBseShjLGEpfSl9LGFzc29jaWF0ZTpmdW5jdGlvbihiKXtmb3Io dmFyIGE9e30sYz1NYXRoLm1pbih0aGlzLmxlbmd0aCxiLmxlbmd0aCksZD0wO2Q8 YztkKyspYVtiW2RdXT10aGlzW2RdO3JldHVybiBhfSxsaW5rOmZ1bmN0aW9uKGIp e2Zvcih2YXIgYT17fSxjPTAsZD10aGlzLmxlbmd0aDtjPGQ7YysrKWZvcih2YXIg ZSBpbiBiKWlmKGJbZV0odGhpc1tjXSkpe2FbZV09dGhpc1tjXTtkZWxldGUgYltl XTticmVha31yZXR1cm4gYX0sCmNvbnRhaW5zOmZ1bmN0aW9uKGIsYSl7cmV0dXJu LTEhPXRoaXMuaW5kZXhPZihiLGEpfSxhcHBlbmQ6ZnVuY3Rpb24oYil7dGhpcy5w dXNoLmFwcGx5KHRoaXMsYik7cmV0dXJuIHRoaXN9LGdldExhc3Q6ZnVuY3Rpb24o KXtyZXR1cm4gdGhpcy5sZW5ndGg/dGhpc1t0aGlzLmxlbmd0aC0xXTpudWxsfSxn ZXRSYW5kb206ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGg/dGhpc1tOdW1i ZXIucmFuZG9tKDAsdGhpcy5sZW5ndGgtMSldOm51bGx9LGluY2x1ZGU6ZnVuY3Rp b24oYil7dGhpcy5jb250YWlucyhiKXx8dGhpcy5wdXNoKGIpO3JldHVybiB0aGlz fSxjb21iaW5lOmZ1bmN0aW9uKGIpe2Zvcih2YXIgYT0wLGM9Yi5sZW5ndGg7YTxj O2ErKyl0aGlzLmluY2x1ZGUoYlthXSk7cmV0dXJuIHRoaXN9LGVyYXNlOmZ1bmN0 aW9uKGIpe2Zvcih2YXIgYT10aGlzLmxlbmd0aDthLS07KXRoaXNbYV09PT1iJiZ0 aGlzLnNwbGljZShhLDEpO3JldHVybiB0aGlzfSxlbXB0eTpmdW5jdGlvbigpe3Ro aXMubGVuZ3RoPQowO3JldHVybiB0aGlzfSxmbGF0dGVuOmZ1bmN0aW9uKCl7Zm9y KHZhciBiPVtdLGE9MCxjPXRoaXMubGVuZ3RoO2E8YzthKyspe3ZhciBkPXR5cGVP Zih0aGlzW2FdKTsibnVsbCIhPWQmJihiPWIuY29uY2F0KCJhcnJheSI9PWR8fCJj b2xsZWN0aW9uIj09ZHx8ImFyZ3VtZW50cyI9PWR8fGluc3RhbmNlT2YodGhpc1th XSxBcnJheSk/QXJyYXkuZmxhdHRlbih0aGlzW2FdKTp0aGlzW2FdKSl9cmV0dXJu IGJ9LHBpY2s6ZnVuY3Rpb24oKXtmb3IodmFyIGI9MCxhPXRoaXMubGVuZ3RoO2I8 YTtiKyspaWYobnVsbCE9dGhpc1tiXSlyZXR1cm4gdGhpc1tiXTtyZXR1cm4gbnVs bH0saGV4VG9SZ2I6ZnVuY3Rpb24oYil7aWYoMyE9dGhpcy5sZW5ndGgpcmV0dXJu IG51bGw7dmFyIGE9dGhpcy5tYXAoZnVuY3Rpb24oYil7MT09Yi5sZW5ndGgmJihi Kz1iKTtyZXR1cm4gYi50b0ludCgxNil9KTtyZXR1cm4gYj9hOiJyZ2IoIithKyIp In0scmdiVG9IZXg6ZnVuY3Rpb24oYil7aWYoMz50aGlzLmxlbmd0aClyZXR1cm4g bnVsbDsKaWYoND09dGhpcy5sZW5ndGgmJjA9PXRoaXNbM10mJiFiKXJldHVybiJ0 cmFuc3BhcmVudCI7Zm9yKHZhciBhPVtdLGM9MDszPmM7YysrKXt2YXIgZD0odGhp c1tjXS0wKS50b1N0cmluZygxNik7YS5wdXNoKDE9PWQubGVuZ3RoPyIwIitkOmQp fXJldHVybiBiP2E6IiMiK2Euam9pbigiIil9fSk7ClN0cmluZy5pbXBsZW1lbnQo e3Rlc3Q6ZnVuY3Rpb24oYixhKXtyZXR1cm4oInJlZ2V4cCI9PXR5cGVPZihiKT9i OlJlZ0V4cCgiIitiLGEpKS50ZXN0KHRoaXMpfSxjb250YWluczpmdW5jdGlvbihi LGEpe3JldHVybiBhPy0xPChhK3RoaXMrYSkuaW5kZXhPZihhK2IrYSk6LTE8KCIi K3RoaXMpLmluZGV4T2YoYil9LHRyaW06ZnVuY3Rpb24oKXtyZXR1cm4oIiIrdGhp cykucmVwbGFjZSgvXlxzK3xccyskL2csIiIpfSxjbGVhbjpmdW5jdGlvbigpe3Jl dHVybigiIit0aGlzKS5yZXBsYWNlKC9ccysvZywiICIpLnRyaW0oKX0sY2FtZWxD YXNlOmZ1bmN0aW9uKCl7cmV0dXJuKCIiK3RoaXMpLnJlcGxhY2UoLy1cRC9nLGZ1 bmN0aW9uKGIpe3JldHVybiBiLmNoYXJBdCgxKS50b1VwcGVyQ2FzZSgpfSl9LGh5 cGhlbmF0ZTpmdW5jdGlvbigpe3JldHVybigiIit0aGlzKS5yZXBsYWNlKC9bQS1a XS9nLGZ1bmN0aW9uKGIpe3JldHVybiItIitiLmNoYXJBdCgwKS50b0xvd2VyQ2Fz ZSgpfSl9LApjYXBpdGFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuKCIiK3RoaXMpLnJl cGxhY2UoL1xiW2Etel0vZyxmdW5jdGlvbihiKXtyZXR1cm4gYi50b1VwcGVyQ2Fz ZSgpfSl9LGVzY2FwZVJlZ0V4cDpmdW5jdGlvbigpe3JldHVybigiIit0aGlzKS5y ZXBsYWNlKC8oWy0uKis/XiR7fSgpfFtcXVwvXFxdKS9nLCJcXCQxIil9LHRvSW50 OmZ1bmN0aW9uKGIpe3JldHVybiBwYXJzZUludCh0aGlzLGJ8fDEwKX0sdG9GbG9h dDpmdW5jdGlvbigpe3JldHVybiBwYXJzZUZsb2F0KHRoaXMpfSxoZXhUb1JnYjpm dW5jdGlvbihiKXt2YXIgYT0oIiIrdGhpcykubWF0Y2goL14jPyhcd3sxLDJ9KShc d3sxLDJ9KShcd3sxLDJ9KSQvKTtyZXR1cm4gYT9hLnNsaWNlKDEpLmhleFRvUmdi KGIpOm51bGx9LHJnYlRvSGV4OmZ1bmN0aW9uKGIpe3ZhciBhPSgiIit0aGlzKS5t YXRjaCgvXGR7MSwzfS9nKTtyZXR1cm4gYT9hLnJnYlRvSGV4KGIpOm51bGx9LHN1 YnN0aXR1dGU6ZnVuY3Rpb24oYixhKXtyZXR1cm4oIiIrCnRoaXMpLnJlcGxhY2Uo YXx8L1xcP1x7KFtee31dKylcfS9nLGZ1bmN0aW9uKGEsZCl7cmV0dXJuIlxcIj09 YS5jaGFyQXQoMCk/YS5zbGljZSgxKTpudWxsIT1iW2RdP2JbZF06IiJ9KX19KTtO dW1iZXIuaW1wbGVtZW50KHtsaW1pdDpmdW5jdGlvbihiLGEpe3JldHVybiBNYXRo Lm1pbihhLE1hdGgubWF4KGIsdGhpcykpfSxyb3VuZDpmdW5jdGlvbihiKXtiPU1h dGgucG93KDEwLGJ8fDApLnRvRml4ZWQoMD5iPy1iOjApO3JldHVybiBNYXRoLnJv dW5kKHRoaXMqYikvYn0sdGltZXM6ZnVuY3Rpb24oYixhKXtmb3IodmFyIGM9MDtj PHRoaXM7YysrKWIuY2FsbChhLGMsdGhpcyl9LHRvRmxvYXQ6ZnVuY3Rpb24oKXty ZXR1cm4gcGFyc2VGbG9hdCh0aGlzKX0sdG9JbnQ6ZnVuY3Rpb24oYil7cmV0dXJu IHBhcnNlSW50KHRoaXMsYnx8MTApfX0pO051bWJlci5hbGlhcygiZWFjaCIsInRp bWVzIik7CihmdW5jdGlvbihiKXt2YXIgYT17fTtiLmVhY2goZnVuY3Rpb24oYil7 TnVtYmVyW2JdfHwoYVtiXT1mdW5jdGlvbigpe3JldHVybiBNYXRoW2JdLmFwcGx5 KG51bGwsW3RoaXNdLmNvbmNhdChBcnJheS5mcm9tKGFyZ3VtZW50cykpKX0pfSk7 TnVtYmVyLmltcGxlbWVudChhKX0pKCJhYnMsYWNvcyxhc2luLGF0YW4sYXRhbjIs Y2VpbCxjb3MsZXhwLGZsb29yLGxvZyxtYXgsbWluLHBvdyxzaW4sc3FydCx0YW4i LnNwbGl0KCIsIikpO0Z1bmN0aW9uLmV4dGVuZCh7YXR0ZW1wdDpmdW5jdGlvbigp e2Zvcih2YXIgYj0wLGE9YXJndW1lbnRzLmxlbmd0aDtiPGE7YisrKXRyeXtyZXR1 cm4gYXJndW1lbnRzW2JdKCl9Y2F0Y2goYyl7fXJldHVybiBudWxsfX0pOwpGdW5j dGlvbi5pbXBsZW1lbnQoe2F0dGVtcHQ6ZnVuY3Rpb24oYixhKXt0cnl7cmV0dXJu IHRoaXMuYXBwbHkoYSxBcnJheS5mcm9tKGIpKX1jYXRjaChjKXt9cmV0dXJuIG51 bGx9LGJpbmQ6ZnVuY3Rpb24oYil7dmFyIGE9dGhpcyxjPTE8YXJndW1lbnRzLmxl bmd0aD9BcnJheS5zbGljZShhcmd1bWVudHMsMSk6bnVsbCxkPWZ1bmN0aW9uKCl7 fSxlPWZ1bmN0aW9uKCl7dmFyIGY9YixnPWFyZ3VtZW50cy5sZW5ndGg7dGhpcyBp bnN0YW5jZW9mIGUmJihkLnByb3RvdHlwZT1hLnByb3RvdHlwZSxmPW5ldyBkKTtn PSFjJiYhZz9hLmNhbGwoZik6YS5hcHBseShmLGMmJmc/Yy5jb25jYXQoQXJyYXku c2xpY2UoYXJndW1lbnRzKSk6Y3x8YXJndW1lbnRzKTtyZXR1cm4gZj09Yj9nOmZ9 O3JldHVybiBlfSxwYXNzOmZ1bmN0aW9uKGIsYSl7dmFyIGM9dGhpcztudWxsIT1i JiYoYj1BcnJheS5mcm9tKGIpKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYy5h cHBseShhLGJ8fGFyZ3VtZW50cyl9fSwKZGVsYXk6ZnVuY3Rpb24oYixhLGMpe3Jl dHVybiBzZXRUaW1lb3V0KHRoaXMucGFzcyhudWxsPT1jP1tdOmMsYSksYil9LHBl cmlvZGljYWw6ZnVuY3Rpb24oYixhLGMpe3JldHVybiBzZXRJbnRlcnZhbCh0aGlz LnBhc3MobnVsbD09Yz9bXTpjLGEpLGIpfX0pOwooZnVuY3Rpb24oKXt2YXIgYj1P YmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O09iamVjdC5leHRlbmQoe3N1 YnNldDpmdW5jdGlvbihiLGMpe2Zvcih2YXIgZD17fSxlPTAsZj1jLmxlbmd0aDtl PGY7ZSsrKXt2YXIgZz1jW2VdO2cgaW4gYiYmKGRbZ109YltnXSl9cmV0dXJuIGR9 LG1hcDpmdW5jdGlvbihhLGMsZCl7dmFyIGU9e30sZjtmb3IoZiBpbiBhKWIuY2Fs bChhLGYpJiYoZVtmXT1jLmNhbGwoZCxhW2ZdLGYsYSkpO3JldHVybiBlfSxmaWx0 ZXI6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlPXt9LGY7Zm9yKGYgaW4gYSl7dmFyIGc9 YVtmXTtiLmNhbGwoYSxmKSYmYy5jYWxsKGQsZyxmLGEpJiYoZVtmXT1nKX1yZXR1 cm4gZX0sZXZlcnk6ZnVuY3Rpb24oYSxjLGQpe2Zvcih2YXIgZSBpbiBhKWlmKGIu Y2FsbChhLGUpJiYhYy5jYWxsKGQsYVtlXSxlKSlyZXR1cm4hMTtyZXR1cm4hMH0s c29tZTpmdW5jdGlvbihhLGMsZCl7Zm9yKHZhciBlIGluIGEpaWYoYi5jYWxsKGEs ZSkmJgpjLmNhbGwoZCxhW2VdLGUpKXJldHVybiEwO3JldHVybiExfSxrZXlzOmZ1 bmN0aW9uKGEpe3ZhciBjPVtdLGQ7Zm9yKGQgaW4gYSliLmNhbGwoYSxkKSYmYy5w dXNoKGQpO3JldHVybiBjfSx2YWx1ZXM6ZnVuY3Rpb24oYSl7dmFyIGM9W10sZDtm b3IoZCBpbiBhKWIuY2FsbChhLGQpJiZjLnB1c2goYVtkXSk7cmV0dXJuIGN9LGdl dExlbmd0aDpmdW5jdGlvbihiKXtyZXR1cm4gT2JqZWN0LmtleXMoYikubGVuZ3Ro fSxrZXlPZjpmdW5jdGlvbihhLGMpe2Zvcih2YXIgZCBpbiBhKWlmKGIuY2FsbChh LGQpJiZhW2RdPT09YylyZXR1cm4gZDtyZXR1cm4gbnVsbH0sY29udGFpbnM6ZnVu Y3Rpb24oYixjKXtyZXR1cm4gbnVsbCE9T2JqZWN0LmtleU9mKGIsYyl9LHRvUXVl cnlTdHJpbmc6ZnVuY3Rpb24oYixjKXt2YXIgZD1bXTtPYmplY3QuZWFjaChiLGZ1 bmN0aW9uKGIsYSl7YyYmKGE9YysiWyIrYSsiXSIpO3ZhciBnO3N3aXRjaCh0eXBl T2YoYikpe2Nhc2UgIm9iamVjdCI6Zz1PYmplY3QudG9RdWVyeVN0cmluZyhiLAph KTticmVhaztjYXNlICJhcnJheSI6dmFyIGk9e307Yi5lYWNoKGZ1bmN0aW9uKGIs YSl7aVthXT1ifSk7Zz1PYmplY3QudG9RdWVyeVN0cmluZyhpLGEpO2JyZWFrO2Rl ZmF1bHQ6Zz1hKyI9IitlbmNvZGVVUklDb21wb25lbnQoYil9bnVsbCE9YiYmZC5w dXNoKGcpfSk7cmV0dXJuIGQuam9pbigiJiIpfX0pfSkoKTsKKGZ1bmN0aW9uKCl7 dmFyIGI9dGhpcy5kb2N1bWVudCxhPWIud2luZG93PXRoaXMsYz1uYXZpZ2F0b3Iu dXNlckFnZW50LnRvTG93ZXJDYXNlKCksZD1uYXZpZ2F0b3IucGxhdGZvcm0udG9M b3dlckNhc2UoKSxlPWMubWF0Y2goLyhvcGVyYXxpZXxmaXJlZm94fGNocm9tZXx2 ZXJzaW9uKVtcc1wvOl0oW1x3XGRcLl0rKT8uKj8oc2FmYXJpfHZlcnNpb25bXHNc LzpdKFtcd1xkXC5dKyl8JCkvKXx8W251bGwsInVua25vd24iLDBdLGY9dGhpcy5C cm93c2VyPXtleHRlbmQ6RnVuY3Rpb24ucHJvdG90eXBlLmV4dGVuZCxuYW1lOiJ2 ZXJzaW9uIj09ZVsxXT9lWzNdOmVbMV0sdmVyc2lvbjoiaWUiPT1lWzFdJiZiLmRv Y3VtZW50TW9kZXx8cGFyc2VGbG9hdCgib3BlcmEiPT1lWzFdJiZlWzRdP2VbNF06 ZVsyXSksUGxhdGZvcm06e25hbWU6Yy5tYXRjaCgvaXAoPzphZHxvZHxob25lKS8p PyJpb3MiOihjLm1hdGNoKC8oPzp3ZWJvc3xhbmRyb2lkKS8pfHxkLm1hdGNoKC9t YWN8d2lufGxpbnV4Lyl8fApbIm90aGVyIl0pWzBdfSxGZWF0dXJlczp7eHBhdGg6 ISFiLmV2YWx1YXRlLGFpcjohIWEucnVudGltZSxxdWVyeTohIWIucXVlcnlTZWxl Y3Rvcixqc29uOiEhYS5KU09OfSxQbHVnaW5zOnt9fTtmW2YubmFtZV09ITA7Zltm Lm5hbWUrcGFyc2VJbnQoZi52ZXJzaW9uLDEwKV09ITA7Zi5QbGF0Zm9ybVtmLlBs YXRmb3JtLm5hbWVdPSEwO2YuUmVxdWVzdD1mdW5jdGlvbigpe3ZhciBiPWZ1bmN0 aW9uKCl7cmV0dXJuIG5ldyBYTUxIdHRwUmVxdWVzdH0sYT1mdW5jdGlvbigpe3Jl dHVybiBuZXcgQWN0aXZlWE9iamVjdCgiTVNYTUwyLlhNTEhUVFAiKX0sYz1mdW5j dGlvbigpe3JldHVybiBuZXcgQWN0aXZlWE9iamVjdCgiTWljcm9zb2Z0LlhNTEhU VFAiKX07cmV0dXJuIEZ1bmN0aW9uLmF0dGVtcHQoZnVuY3Rpb24oKXtiKCk7cmV0 dXJuIGJ9LGZ1bmN0aW9uKCl7YSgpO3JldHVybiBhfSxmdW5jdGlvbigpe2MoKTty ZXR1cm4gY30pfSgpO2YuRmVhdHVyZXMueGhyPSEhZi5SZXF1ZXN0OwpjPShGdW5j dGlvbi5hdHRlbXB0KGZ1bmN0aW9uKCl7cmV0dXJuIG5hdmlnYXRvci5wbHVnaW5z WyJTaG9ja3dhdmUgRmxhc2giXS5kZXNjcmlwdGlvbn0sZnVuY3Rpb24oKXtyZXR1 cm4obmV3IEFjdGl2ZVhPYmplY3QoIlNob2Nrd2F2ZUZsYXNoLlNob2Nrd2F2ZUZs YXNoIikpLkdldFZhcmlhYmxlKCIkdmVyc2lvbiIpfSl8fCIwIHIwIikubWF0Y2go L1xkKy9nKTtmLlBsdWdpbnMuRmxhc2g9e3ZlcnNpb246TnVtYmVyKGNbMF18fCIw LiIrY1sxXSl8fDAsYnVpbGQ6TnVtYmVyKGNbMl0pfHwwfTtmLmV4ZWM9ZnVuY3Rp b24oYyl7aWYoIWMpcmV0dXJuIGM7aWYoYS5leGVjU2NyaXB0KWEuZXhlY1Njcmlw dChjKTtlbHNle3ZhciBoPWIuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7aC5zZXRB dHRyaWJ1dGUoInR5cGUiLCJ0ZXh0L2phdmFzY3JpcHQiKTtoLnRleHQ9YztiLmhl YWQuYXBwZW5kQ2hpbGQoaCk7Yi5oZWFkLnJlbW92ZUNoaWxkKGgpfXJldHVybiBj fTtTdHJpbmcuaW1wbGVtZW50KCJzdHJpcFNjcmlwdHMiLApmdW5jdGlvbihiKXt2 YXIgYT0iIixjPXRoaXMucmVwbGFjZSgvPHNjcmlwdFtePl0qPihbXHNcU10qPyk8 XC9zY3JpcHQ+L2dpLGZ1bmN0aW9uKGIsYyl7YSs9YysiXG4iO3JldHVybiIifSk7 ITA9PT1iP2YuZXhlYyhhKToiZnVuY3Rpb24iPT10eXBlT2YoYikmJmIoYSxjKTty ZXR1cm4gY30pO2YuZXh0ZW5kKHtEb2N1bWVudDp0aGlzLkRvY3VtZW50LFdpbmRv dzp0aGlzLldpbmRvdyxFbGVtZW50OnRoaXMuRWxlbWVudCxFdmVudDp0aGlzLkV2 ZW50fSk7dGhpcy5XaW5kb3c9dGhpcy4kY29uc3RydWN0b3I9bmV3IFR5cGUoIldp bmRvdyIsZnVuY3Rpb24oKXt9KTt0aGlzLiRmYW1pbHk9RnVuY3Rpb24uZnJvbSgi d2luZG93IikuaGlkZSgpO1dpbmRvdy5taXJyb3IoZnVuY3Rpb24oYixjKXthW2Jd PWN9KTt0aGlzLkRvY3VtZW50PWIuJGNvbnN0cnVjdG9yPW5ldyBUeXBlKCJEb2N1 bWVudCIsZnVuY3Rpb24oKXt9KTtiLiRmYW1pbHk9RnVuY3Rpb24uZnJvbSgiZG9j dW1lbnQiKS5oaWRlKCk7CkRvY3VtZW50Lm1pcnJvcihmdW5jdGlvbihhLGMpe2Jb YV09Y30pO2IuaHRtbD1iLmRvY3VtZW50RWxlbWVudDtiLmhlYWR8fChiLmhlYWQ9 Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdKTtpZihiLmV4ZWNDb21t YW5kKXRyeXtiLmV4ZWNDb21tYW5kKCJCYWNrZ3JvdW5kSW1hZ2VDYWNoZSIsITEs ITApfWNhdGNoKGcpe31pZih0aGlzLmF0dGFjaEV2ZW50JiYhdGhpcy5hZGRFdmVu dExpc3RlbmVyKXt2YXIgaT1mdW5jdGlvbigpe3RoaXMuZGV0YWNoRXZlbnQoIm9u dW5sb2FkIixpKTtiLmhlYWQ9Yi5odG1sPWIud2luZG93PW51bGx9O3RoaXMuYXR0 YWNoRXZlbnQoIm9udW5sb2FkIixpKX12YXIgaj1BcnJheS5mcm9tO3RyeXtqKGIu aHRtbC5jaGlsZE5vZGVzKX1jYXRjaChtKXtBcnJheS5mcm9tPWZ1bmN0aW9uKGIp e2lmKHR5cGVvZiBiIT0ic3RyaW5nIiYmVHlwZS5pc0VudW1lcmFibGUoYikmJnR5 cGVPZihiKSE9ImFycmF5Iil7Zm9yKHZhciBhPWIubGVuZ3RoLApjPUFycmF5KGEp O2EtLTspY1thXT1iW2FdO3JldHVybiBjfXJldHVybiBqKGIpfTt2YXIgaD1BcnJh eS5wcm90b3R5cGUsaz1oLnNsaWNlOyJwb3AscHVzaCxyZXZlcnNlLHNoaWZ0LHNv cnQsc3BsaWNlLHVuc2hpZnQsY29uY2F0LGpvaW4sc2xpY2UiLnNwbGl0KCIsIiku ZWFjaChmdW5jdGlvbihiKXt2YXIgYT1oW2JdO0FycmF5W2JdPWZ1bmN0aW9uKGIp e3JldHVybiBhLmFwcGx5KEFycmF5LmZyb20oYiksay5jYWxsKGFyZ3VtZW50cywx KSl9fSl9fSkoKTsKKGZ1bmN0aW9uKCl7dmFyIGI9e30sYT10aGlzLkRPTUV2ZW50 PW5ldyBUeXBlKCJET01FdmVudCIsZnVuY3Rpb24oYSxkKXtkfHwoZD13aW5kb3cp O2E9YXx8ZC5ldmVudDtpZihhLiRleHRlbmRlZClyZXR1cm4gYTt0aGlzLmV2ZW50 PWE7dGhpcy4kZXh0ZW5kZWQ9ITA7dGhpcy5zaGlmdD1hLnNoaWZ0S2V5O3RoaXMu Y29udHJvbD1hLmN0cmxLZXk7dGhpcy5hbHQ9YS5hbHRLZXk7dGhpcy5tZXRhPWEu bWV0YUtleTtmb3IodmFyIGU9dGhpcy50eXBlPWEudHlwZSxmPWEudGFyZ2V0fHxh LnNyY0VsZW1lbnQ7ZiYmMz09Zi5ub2RlVHlwZTspZj1mLnBhcmVudE5vZGU7dGhp cy50YXJnZXQ9ZG9jdW1lbnQuaWQoZik7aWYoMD09ZS5pbmRleE9mKCJrZXkiKSl7 aWYoZj10aGlzLmNvZGU9YS53aGljaHx8YS5rZXlDb2RlLHRoaXMua2V5PWJbZl0s ImtleWRvd24iPT1lJiYoMTExPGYmJjEyND5mP3RoaXMua2V5PSJmIisoZi0xMTEp Ojk1PGYmJjEwNj5mJiYodGhpcy5rZXk9Zi05NikpLG51bGw9PQp0aGlzLmtleSl0 aGlzLmtleT1TdHJpbmcuZnJvbUNoYXJDb2RlKGYpLnRvTG93ZXJDYXNlKCl9ZWxz ZSBpZigiY2xpY2siPT1lfHwiZGJsY2xpY2siPT1lfHwiY29udGV4dG1lbnUiPT1l fHwiRE9NTW91c2VTY3JvbGwiPT1lfHwwPT1lLmluZGV4T2YoIm1vdXNlIikpe2Y9 ZC5kb2N1bWVudDtmPSFmLmNvbXBhdE1vZGV8fCJDU1MxQ29tcGF0Ij09Zi5jb21w YXRNb2RlP2YuaHRtbDpmLmJvZHk7dGhpcy5wYWdlPXt4Om51bGwhPWEucGFnZVg/ YS5wYWdlWDphLmNsaWVudFgrZi5zY3JvbGxMZWZ0LHk6bnVsbCE9YS5wYWdlWT9h LnBhZ2VZOmEuY2xpZW50WStmLnNjcm9sbFRvcH07dGhpcy5jbGllbnQ9e3g6bnVs bCE9YS5wYWdlWD9hLnBhZ2VYLWQucGFnZVhPZmZzZXQ6YS5jbGllbnRYLHk6bnVs bCE9YS5wYWdlWT9hLnBhZ2VZLWQucGFnZVlPZmZzZXQ6YS5jbGllbnRZfTtpZigi RE9NTW91c2VTY3JvbGwiPT1lfHwibW91c2V3aGVlbCI9PWUpdGhpcy53aGVlbD1h LndoZWVsRGVsdGE/CmEud2hlZWxEZWx0YS8xMjA6LShhLmRldGFpbHx8MCkvMzt0 aGlzLnJpZ2h0Q2xpY2s9Mz09YS53aGljaHx8Mj09YS5idXR0b247aWYoIm1vdXNl b3ZlciI9PWV8fCJtb3VzZW91dCI9PWUpe2ZvcihlPWEucmVsYXRlZFRhcmdldHx8 YVsoIm1vdXNlb3ZlciI9PWU/ImZyb20iOiJ0byIpKyJFbGVtZW50Il07ZSYmMz09 ZS5ub2RlVHlwZTspZT1lLnBhcmVudE5vZGU7dGhpcy5yZWxhdGVkVGFyZ2V0PWRv Y3VtZW50LmlkKGUpfX1lbHNlIGlmKDA9PWUuaW5kZXhPZigidG91Y2giKXx8MD09 ZS5pbmRleE9mKCJnZXN0dXJlIikpaWYodGhpcy5yb3RhdGlvbj1hLnJvdGF0aW9u LHRoaXMuc2NhbGU9YS5zY2FsZSx0aGlzLnRhcmdldFRvdWNoZXM9YS50YXJnZXRU b3VjaGVzLHRoaXMuY2hhbmdlZFRvdWNoZXM9YS5jaGFuZ2VkVG91Y2hlcywoZT10 aGlzLnRvdWNoZXM9YS50b3VjaGVzKSYmZVswXSllPWVbMF0sdGhpcy5wYWdlPXt4 OmUucGFnZVgseTplLnBhZ2VZfSx0aGlzLmNsaWVudD17eDplLmNsaWVudFgsCnk6 ZS5jbGllbnRZfTt0aGlzLmNsaWVudHx8KHRoaXMuY2xpZW50PXt9KTt0aGlzLnBh Z2V8fCh0aGlzLnBhZ2U9e30pfSk7YS5pbXBsZW1lbnQoe3N0b3A6ZnVuY3Rpb24o KXtyZXR1cm4gdGhpcy5wcmV2ZW50RGVmYXVsdCgpLnN0b3BQcm9wYWdhdGlvbigp fSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt0aGlzLmV2ZW50LnN0b3BQcm9w YWdhdGlvbj90aGlzLmV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOnRoaXMuZXZlbnQu Y2FuY2VsQnViYmxlPSEwO3JldHVybiB0aGlzfSxwcmV2ZW50RGVmYXVsdDpmdW5j dGlvbigpe3RoaXMuZXZlbnQucHJldmVudERlZmF1bHQ/dGhpcy5ldmVudC5wcmV2 ZW50RGVmYXVsdCgpOnRoaXMuZXZlbnQucmV0dXJuVmFsdWU9ITE7cmV0dXJuIHRo aXN9fSk7YS5kZWZpbmVLZXk9ZnVuY3Rpb24oYSxkKXtiW2FdPWQ7cmV0dXJuIHRo aXN9O2EuZGVmaW5lS2V5cz1hLmRlZmluZUtleS5vdmVybG9hZFNldHRlcighMCk7 YS5kZWZpbmVLZXlzKHszODoidXAiLAo0MDoiZG93biIsMzc6ImxlZnQiLDM5OiJy aWdodCIsMjc6ImVzYyIsMzI6InNwYWNlIiw4OiJiYWNrc3BhY2UiLDk6InRhYiIs NDY6ImRlbGV0ZSIsMTM6ImVudGVyIn0pfSkoKTsKKGZ1bmN0aW9uKCl7dmFyIGI9 dGhpcy5DbGFzcz1uZXcgVHlwZSgiQ2xhc3MiLGZ1bmN0aW9uKGUpe2luc3RhbmNl T2YoZSxGdW5jdGlvbikmJihlPXtpbml0aWFsaXplOmV9KTt2YXIgZD1mdW5jdGlv bigpe2ModGhpcyk7aWYoZC4kcHJvdG90eXBpbmcpcmV0dXJuIHRoaXM7dGhpcy4k Y2FsbGVyPW51bGw7dmFyIGE9dGhpcy5pbml0aWFsaXplP3RoaXMuaW5pdGlhbGl6 ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dGhpczt0aGlzLiRjYWxsZXI9dGhpcy5j YWxsZXI9bnVsbDtyZXR1cm4gYX0uZXh0ZW5kKHRoaXMpLmltcGxlbWVudChlKTtk LiRjb25zdHJ1Y3Rvcj1iO2QucHJvdG90eXBlLiRjb25zdHJ1Y3Rvcj1kO2QucHJv dG90eXBlLnBhcmVudD1hO3JldHVybiBkfSksYT1mdW5jdGlvbigpe2lmKCF0aGlz LiRjYWxsZXIpdGhyb3cgRXJyb3IoJ1RoZSBtZXRob2QgInBhcmVudCIgY2Fubm90 IGJlIGNhbGxlZC4nKTt2YXIgYT10aGlzLiRjYWxsZXIuJG5hbWUsYj10aGlzLiRj YWxsZXIuJG93bmVyLnBhcmVudCwKYj1iP2IucHJvdG90eXBlW2FdOm51bGw7aWYo IWIpdGhyb3cgRXJyb3IoJ1RoZSBtZXRob2QgIicrYSsnIiBoYXMgbm8gcGFyZW50 LicpO3JldHVybiBiLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sYz1mdW5jdGlvbihh KXtmb3IodmFyIGIgaW4gYSl7dmFyIGU9YVtiXTtzd2l0Y2godHlwZU9mKGUpKXtj YXNlICJvYmplY3QiOnZhciBkPWZ1bmN0aW9uKCl7fTtkLnByb3RvdHlwZT1lO2Fb Yl09YyhuZXcgZCk7YnJlYWs7Y2FzZSAiYXJyYXkiOmFbYl09ZS5jbG9uZSgpfX1y ZXR1cm4gYX0sZD1mdW5jdGlvbihhLGIsYyl7Yy4kb3JpZ2luJiYoYz1jLiRvcmln aW4pO3ZhciBlPWZ1bmN0aW9uKCl7aWYoYy4kcHJvdGVjdGVkJiZ0aGlzLiRjYWxs ZXI9PW51bGwpdGhyb3cgRXJyb3IoJ1RoZSBtZXRob2QgIicrYisnIiBjYW5ub3Qg YmUgY2FsbGVkLicpO3ZhciBhPXRoaXMuY2FsbGVyLGg9dGhpcy4kY2FsbGVyO3Ro aXMuY2FsbGVyPWg7dGhpcy4kY2FsbGVyPWU7dmFyIGs9Yy5hcHBseSh0aGlzLAph cmd1bWVudHMpO3RoaXMuJGNhbGxlcj1oO3RoaXMuY2FsbGVyPWE7cmV0dXJuIGt9 LmV4dGVuZCh7JG93bmVyOmEsJG9yaWdpbjpjLCRuYW1lOmJ9KTtyZXR1cm4gZX0s ZT1mdW5jdGlvbihhLGMsZSl7aWYoYi5NdXRhdG9ycy5oYXNPd25Qcm9wZXJ0eShh KSYmKGM9Yi5NdXRhdG9yc1thXS5jYWxsKHRoaXMsYyksbnVsbD09YykpcmV0dXJu IHRoaXM7aWYoImZ1bmN0aW9uIj09dHlwZU9mKGMpKXtpZihjLiRoaWRkZW4pcmV0 dXJuIHRoaXM7dGhpcy5wcm90b3R5cGVbYV09ZT9jOmQodGhpcyxhLGMpfWVsc2Ug T2JqZWN0Lm1lcmdlKHRoaXMucHJvdG90eXBlLGEsYyk7cmV0dXJuIHRoaXN9O2Iu aW1wbGVtZW50KCJpbXBsZW1lbnQiLGUub3ZlcmxvYWRTZXR0ZXIoKSk7Yi5NdXRh dG9ycz17RXh0ZW5kczpmdW5jdGlvbihhKXt0aGlzLnBhcmVudD1hO2EuJHByb3Rv dHlwaW5nPSEwO3ZhciBiPW5ldyBhO2RlbGV0ZSBhLiRwcm90b3R5cGluZzt0aGlz LnByb3RvdHlwZT1ifSxJbXBsZW1lbnRzOmZ1bmN0aW9uKGEpe0FycmF5LmZyb20o YSkuZWFjaChmdW5jdGlvbihhKXt2YXIgYT0KbmV3IGEsYjtmb3IoYiBpbiBhKWUu Y2FsbCh0aGlzLGIsYVtiXSwhMCl9LHRoaXMpfX19KSgpOwooZnVuY3Rpb24oKXt0 aGlzLkNoYWluPW5ldyBDbGFzcyh7JGNoYWluOltdLGNoYWluOmZ1bmN0aW9uKCl7 dGhpcy4kY2hhaW4uYXBwZW5kKEFycmF5LmZsYXR0ZW4oYXJndW1lbnRzKSk7cmV0 dXJuIHRoaXN9LGNhbGxDaGFpbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLiRjaGFp bi5sZW5ndGg/dGhpcy4kY2hhaW4uc2hpZnQoKS5hcHBseSh0aGlzLGFyZ3VtZW50 cyk6ITF9LGNsZWFyQ2hhaW46ZnVuY3Rpb24oKXt0aGlzLiRjaGFpbi5lbXB0eSgp O3JldHVybiB0aGlzfX0pO3ZhciBiPWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxh Y2UoL15vbihbQS1aXSkvLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGIudG9Mb3dlckNh c2UoKX0pfTt0aGlzLkV2ZW50cz1uZXcgQ2xhc3MoeyRldmVudHM6e30sYWRkRXZl bnQ6ZnVuY3Rpb24oYSxjLGQpe2E9YihhKTt0aGlzLiRldmVudHNbYV09KHRoaXMu JGV2ZW50c1thXXx8W10pLmluY2x1ZGUoYyk7ZCYmKGMuaW50ZXJuYWw9ITApO3Jl dHVybiB0aGlzfSwKYWRkRXZlbnRzOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYiBpbiBh KXRoaXMuYWRkRXZlbnQoYixhW2JdKTtyZXR1cm4gdGhpc30sZmlyZUV2ZW50OmZ1 bmN0aW9uKGEsYyxkKXthPWIoYSk7YT10aGlzLiRldmVudHNbYV07aWYoIWEpcmV0 dXJuIHRoaXM7Yz1BcnJheS5mcm9tKGMpO2EuZWFjaChmdW5jdGlvbihhKXtkP2Eu ZGVsYXkoZCx0aGlzLGMpOmEuYXBwbHkodGhpcyxjKX0sdGhpcyk7cmV0dXJuIHRo aXN9LHJlbW92ZUV2ZW50OmZ1bmN0aW9uKGEsYyl7dmFyIGE9YihhKSxkPXRoaXMu JGV2ZW50c1thXTtpZihkJiYhYy5pbnRlcm5hbCl7dmFyIGU9ZC5pbmRleE9mKGMp Oy0xIT1lJiZkZWxldGUgZFtlXX1yZXR1cm4gdGhpc30scmVtb3ZlRXZlbnRzOmZ1 bmN0aW9uKGEpe3ZhciBjO2lmKCJvYmplY3QiPT10eXBlT2YoYSkpe2ZvcihjIGlu IGEpdGhpcy5yZW1vdmVFdmVudChjLGFbY10pO3JldHVybiB0aGlzfWEmJihhPWIo YSkpO2ZvcihjIGluIHRoaXMuJGV2ZW50cylpZighKGEmJgphIT1jKSlmb3IodmFy IGQ9dGhpcy4kZXZlbnRzW2NdLGU9ZC5sZW5ndGg7ZS0tOyllIGluIGQmJnRoaXMu cmVtb3ZlRXZlbnQoYyxkW2VdKTtyZXR1cm4gdGhpc319KTt0aGlzLk9wdGlvbnM9 bmV3IENsYXNzKHtzZXRPcHRpb25zOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcHRp b25zPU9iamVjdC5tZXJnZS5hcHBseShudWxsLFt7fSx0aGlzLm9wdGlvbnNdLmFw cGVuZChhcmd1bWVudHMpKTtpZih0aGlzLmFkZEV2ZW50KWZvcih2YXIgYiBpbiBh KSJmdW5jdGlvbiI9PXR5cGVPZihhW2JdKSYmL15vbltBLVpdLy50ZXN0KGIpJiYo dGhpcy5hZGRFdmVudChiLGFbYl0pLGRlbGV0ZSBhW2JdKTtyZXR1cm4gdGhpc319 KX0pKCk7CihmdW5jdGlvbigpe2Z1bmN0aW9uIGIoYixoLG8sbCxmLHEsaixnLHgs Rix0LEIsQSxELHYseil7aWYoaHx8LTE9PT1jKWlmKGEuZXhwcmVzc2lvbnNbKytj XT1bXSxkPS0xLGgpcmV0dXJuIiI7aWYob3x8bHx8LTE9PT1kKW89b3x8IiAiLGI9 YS5leHByZXNzaW9uc1tjXSxlJiZiW2RdJiYoYltkXS5yZXZlcnNlQ29tYmluYXRv cj1tKG8pKSxiWysrZF09e2NvbWJpbmF0b3I6byx0YWc6IioifTtvPWEuZXhwcmVz c2lvbnNbY11bZF07aWYoZilvLnRhZz1mLnJlcGxhY2UoaSwiIik7ZWxzZSBpZihx KW8uaWQ9cS5yZXBsYWNlKGksIiIpO2Vsc2UgaWYoailqPWoucmVwbGFjZShpLCIi KSxvLmNsYXNzTGlzdHx8KG8uY2xhc3NMaXN0PVtdKSxvLmNsYXNzZXN8fChvLmNs YXNzZXM9W10pLG8uY2xhc3NMaXN0LnB1c2goaiksby5jbGFzc2VzLnB1c2goe3Zh bHVlOmoscmVnZXhwOlJlZ0V4cCgiKF58XFxzKSIrayhqKSsiKFxcc3wkKSIpfSk7 ZWxzZSBpZihBKXo9KHo9enx8dik/ei5yZXBsYWNlKGksCiIiKTpudWxsLG8ucHNl dWRvc3x8KG8ucHNldWRvcz1bXSksby5wc2V1ZG9zLnB1c2goe2tleTpBLnJlcGxh Y2UoaSwiIiksdmFsdWU6eix0eXBlOjE9PUIubGVuZ3RoPyJjbGFzcyI6ImVsZW1l bnQifSk7ZWxzZSBpZihnKXt2YXIgZz1nLnJlcGxhY2UoaSwiIiksdD0odHx8IiIp LnJlcGxhY2UoaSwiIikseSxFO3N3aXRjaCh4KXtjYXNlICJePSI6RT1SZWdFeHAo Il4iK2sodCkpO2JyZWFrO2Nhc2UgIiQ9IjpFPVJlZ0V4cChrKHQpKyIkIik7YnJl YWs7Y2FzZSAifj0iOkU9UmVnRXhwKCIoXnxcXHMpIitrKHQpKyIoXFxzfCQpIik7 YnJlYWs7Y2FzZSAifD0iOkU9UmVnRXhwKCJeIitrKHQpKyIoLXwkKSIpO2JyZWFr O2Nhc2UgIj0iOnk9ZnVuY3Rpb24oYSl7cmV0dXJuIHQ9PWF9O2JyZWFrO2Nhc2Ug Iio9Ijp5PWZ1bmN0aW9uKGEpe3JldHVybiBhJiYtMTxhLmluZGV4T2YodCl9O2Jy ZWFrO2Nhc2UgIiE9Ijp5PWZ1bmN0aW9uKGEpe3JldHVybiB0IT1hfTticmVhaztk ZWZhdWx0Onk9CmZ1bmN0aW9uKGEpe3JldHVybiEhYX19IiI9PXQmJi9eWyokXl09 JC8udGVzdCh4KSYmKHk9ZnVuY3Rpb24oKXtyZXR1cm4hMX0pO3l8fCh5PWZ1bmN0 aW9uKGEpe3JldHVybiBhJiZFLnRlc3QoYSl9KTtvLmF0dHJpYnV0ZXN8fChvLmF0 dHJpYnV0ZXM9W10pO28uYXR0cmlidXRlcy5wdXNoKHtrZXk6ZyxvcGVyYXRvcjp4 LHZhbHVlOnQsdGVzdDp5fSl9cmV0dXJuIiJ9dmFyIGEsYyxkLGUsZj17fSxnPXt9 LGk9L1xcL2csaj1mdW5jdGlvbihrLGQpe2lmKG51bGw9PWspcmV0dXJuIG51bGw7 aWYoITA9PT1rLlNsaWNrKXJldHVybiBrO3ZhciBrPSgiIitrKS5yZXBsYWNlKC9e XHMrfFxzKyQvZywiIikscT0oZT0hIWQpP2c6ZjtpZihxW2tdKXJldHVybiBxW2td O2E9e1NsaWNrOiEwLGV4cHJlc3Npb25zOltdLHJhdzprLHJldmVyc2U6ZnVuY3Rp b24oKXtyZXR1cm4gaih0aGlzLnJhdywhMCl9fTtmb3IoYz0tMTtrIT0oaz1rLnJl cGxhY2UobyxiKSk7KTthLmxlbmd0aD1hLmV4cHJlc3Npb25zLmxlbmd0aDsKcmV0 dXJuIHFbYS5yYXddPWU/aChhKTphfSxtPWZ1bmN0aW9uKGEpe3JldHVybiIhIj09 PWE/IiAiOiIgIj09PWE/IiEiOi9eIS8udGVzdChhKT9hLnJlcGxhY2UoL14hLywi Iik6IiEiK2F9LGg9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWEuZXhwcmVzc2lvbnMs Yz0wO2M8Yi5sZW5ndGg7YysrKXtmb3IodmFyIGg9YltjXSxrPXtwYXJ0czpbXSx0 YWc6IioiLGNvbWJpbmF0b3I6bShoWzBdLmNvbWJpbmF0b3IpfSxlPTA7ZTxoLmxl bmd0aDtlKyspe3ZhciBkPWhbZV07ZC5yZXZlcnNlQ29tYmluYXRvcnx8KGQucmV2 ZXJzZUNvbWJpbmF0b3I9IiAiKTtkLmNvbWJpbmF0b3I9ZC5yZXZlcnNlQ29tYmlu YXRvcjtkZWxldGUgZC5yZXZlcnNlQ29tYmluYXRvcn1oLnJldmVyc2UoKS5wdXNo KGspfXJldHVybiBhfSxrPWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoL1st W1xde30oKSorPy5cXF4kfCwjXHNdL2csZnVuY3Rpb24oYSl7cmV0dXJuIlxcIith fSl9LG89UmVnRXhwKCJeKD86XFxzKigsKVxccyp8XFxzKig8Y29tYmluYXRvcj4r KVxccyp8KFxccyspfCg8dW5pY29kZT4rfFxcKil8XFwjKDx1bmljb2RlPispfFxc Lig8dW5pY29kZT4rKXxcXFtcXHMqKDx1bmljb2RlMT4rKSg/OlxccyooWypeJCF+ fF0/PSkoPzpcXHMqKD86KFtcIiddPykoLio/KVxcOSkpKT9cXHMqXFxdKD8hXFxd KXwoOispKDx1bmljb2RlPispKD86XFwoKD86KD86KFtcIiddKShbXlxcMTNdKilc XDEzKXwoKD86XFwoW14pXStcXCl8W14oKV0qKSspKVxcKSk/KSIucmVwbGFjZSgv PGNvbWJpbmF0b3I+LywKIlsiK2soIj4rfmAhQCQlXiY9e31cXDs8LyIpKyJdIiku cmVwbGFjZSgvPHVuaWNvZGU+L2csIig/OltcXHdcXHUwMGExLVxcdUZGRkYtXXxc XFxcW15cXHMwLTlhLWZdKSIpLnJlcGxhY2UoLzx1bmljb2RlMT4vZywiKD86Wzpc XHdcXHUwMGExLVxcdUZGRkYtXXxcXFxcW15cXHMwLTlhLWZdKSIpKSxxPXRoaXMu U2xpY2t8fHt9O3EucGFyc2U9ZnVuY3Rpb24oYSl7cmV0dXJuIGooYSl9O3EuZXNj YXBlUmVnRXhwPWs7dGhpcy5TbGlja3x8KHRoaXMuU2xpY2s9cSl9KS5hcHBseSgi dW5kZWZpbmVkIiE9dHlwZW9mIGV4cG9ydHM/ZXhwb3J0czp0aGlzKTsKKGZ1bmN0 aW9uKCl7dmFyIGI9e30sYT17fSxjPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7 Yi5pc05hdGl2ZUNvZGU9ZnVuY3Rpb24oYSl7cmV0dXJuL1x7XHMqXFtuYXRpdmUg Y29kZVxdXHMqXH0vLnRlc3QoIiIrYSl9O2IuaXNYTUw9ZnVuY3Rpb24oYSl7cmV0 dXJuISFhLnhtbFZlcnNpb258fCEhYS54bWx8fCJbb2JqZWN0IFhNTERvY3VtZW50 XSI9PWMuY2FsbChhKXx8OT09YS5ub2RlVHlwZSYmIkhUTUwiIT1hLmRvY3VtZW50 RWxlbWVudC5ub2RlTmFtZX07Yi5zZXREb2N1bWVudD1mdW5jdGlvbihiKXt2YXIg Yz1iLm5vZGVUeXBlO2lmKDkhPWMpaWYoYyliPWIub3duZXJEb2N1bWVudDtlbHNl IGlmKGIubmF2aWdhdG9yKWI9Yi5kb2N1bWVudDtlbHNlIHJldHVybjtpZih0aGlz LmRvY3VtZW50IT09Yil7dGhpcy5kb2N1bWVudD1iO3ZhciBjPWIuZG9jdW1lbnRF bGVtZW50LGU9dGhpcy5nZXRVSURYTUwoYyksZD1hW2VdLGY7aWYoIWQpe2Q9YVtl XT17fTtkLnJvb3Q9YztkLmlzWE1MRG9jdW1lbnQ9CnRoaXMuaXNYTUwoYik7ZC5i cm9rZW5TdGFyR0VCVE49ZC5zdGFyU2VsZWN0c0Nsb3NlZFFTQT1kLmlkR2V0c05h bWU9ZC5icm9rZW5NaXhlZENhc2VRU0E9ZC5icm9rZW5HRUJDTj1kLmJyb2tlbkNo ZWNrZWRRU0E9ZC5icm9rZW5FbXB0eUF0dHJpYnV0ZVFTQT1kLmlzSFRNTERvY3Vt ZW50PWQubmF0aXZlTWF0Y2hlc1NlbGVjdG9yPSExO3ZhciBqLG0sbCxzLGcsbj1i LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGk9Yi5ib2R5fHxiLmdldEVsZW1lbnRzQnlU YWdOYW1lKCJib2R5IilbMF18fGM7aS5hcHBlbmRDaGlsZChuKTt0cnl7bi5pbm5l ckhUTUw9JzxhIGlkPSJzbGlja191bmlxdWVpZCI+PC9hPicsZC5pc0hUTUxEb2N1 bWVudD0hIWIuZ2V0RWxlbWVudEJ5SWQoInNsaWNrX3VuaXF1ZWlkIil9Y2F0Y2go eCl7fWlmKGQuaXNIVE1MRG9jdW1lbnQpe24uc3R5bGUuZGlzcGxheT0ibm9uZSI7 bi5hcHBlbmRDaGlsZChiLmNyZWF0ZUNvbW1lbnQoIiIpKTtlPTE8bi5nZXRFbGVt ZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aDsKdHJ5e24uaW5uZXJIVE1MPSJmb288 L2Zvbz4iLGo9KGc9bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpKSYmISFnLmxl bmd0aCYmIi8iPT1nWzBdLm5vZGVOYW1lLmNoYXJBdCgwKX1jYXRjaChGKXt9ZC5i cm9rZW5TdGFyR0VCVE49ZXx8ajt0cnl7bi5pbm5lckhUTUw9JzxhIG5hbWU9InNs aWNrX3VuaXF1ZWlkIj48L2E+PGIgaWQ9InNsaWNrX3VuaXF1ZWlkIj48L2I+Jyxk LmlkR2V0c05hbWU9Yi5nZXRFbGVtZW50QnlJZCgic2xpY2tfdW5pcXVlaWQiKT09 PW4uZmlyc3RDaGlsZH1jYXRjaCh0KXt9aWYobi5nZXRFbGVtZW50c0J5Q2xhc3NO YW1lKXt0cnl7bi5pbm5lckhUTUw9JzxhIGNsYXNzPSJmIj48L2E+PGEgY2xhc3M9 ImIiPjwvYT4nLG4uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiYiIpLmxlbmd0aCxu LmZpcnN0Q2hpbGQuY2xhc3NOYW1lPSJiIixsPTIhPW4uZ2V0RWxlbWVudHNCeUNs YXNzTmFtZSgiYiIpLmxlbmd0aH1jYXRjaChCKXt9dHJ5e24uaW5uZXJIVE1MPSc8 YSBjbGFzcz0iYSI+PC9hPjxhIGNsYXNzPSJmIGIgYSI+PC9hPicsCm09MiE9bi5n ZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJhIikubGVuZ3RofWNhdGNoKEEpe31kLmJy b2tlbkdFQkNOPWx8fG19aWYobi5xdWVyeVNlbGVjdG9yQWxsKXt0cnl7bi5pbm5l ckhUTUw9ImZvbzwvZm9vPiIsZz1uLnF1ZXJ5U2VsZWN0b3JBbGwoIioiKSxkLnN0 YXJTZWxlY3RzQ2xvc2VkUVNBPWcmJiEhZy5sZW5ndGgmJiIvIj09Z1swXS5ub2Rl TmFtZS5jaGFyQXQoMCl9Y2F0Y2goRCl7fXRyeXtuLmlubmVySFRNTD0nPGEgY2xh c3M9Ik1pWCI+PC9hPicsZC5icm9rZW5NaXhlZENhc2VRU0E9IW4ucXVlcnlTZWxl Y3RvckFsbCgiLk1pWCIpLmxlbmd0aH1jYXRjaCh2KXt9dHJ5e24uaW5uZXJIVE1M PSc8c2VsZWN0PjxvcHRpb24gc2VsZWN0ZWQ9InNlbGVjdGVkIj5hPC9vcHRpb24+ PC9zZWxlY3Q+JyxkLmJyb2tlbkNoZWNrZWRRU0E9MD09bi5xdWVyeVNlbGVjdG9y QWxsKCI6Y2hlY2tlZCIpLmxlbmd0aH1jYXRjaCh6KXt9dHJ5e24uaW5uZXJIVE1M PSc8YSBjbGFzcz0iIj48L2E+JywKZC5icm9rZW5FbXB0eUF0dHJpYnV0ZVFTQT0w IT1uLnF1ZXJ5U2VsZWN0b3JBbGwoJ1tjbGFzcyo9IiJdJykubGVuZ3RofWNhdGNo KHkpe319dHJ5e24uaW5uZXJIVE1MPSc8Zm9ybSBhY3Rpb249InMiPjxpbnB1dCBp ZD0iYWN0aW9uIi8+PC9mb3JtPicscz0icyIhPW4uZmlyc3RDaGlsZC5nZXRBdHRy aWJ1dGUoImFjdGlvbiIpfWNhdGNoKEUpe31kLm5hdGl2ZU1hdGNoZXNTZWxlY3Rv cj1jLm1hdGNoZXNTZWxlY3Rvcnx8Yy5tb3pNYXRjaGVzU2VsZWN0b3J8fGMud2Vi a2l0TWF0Y2hlc1NlbGVjdG9yO2lmKGQubmF0aXZlTWF0Y2hlc1NlbGVjdG9yKXRy eXtkLm5hdGl2ZU1hdGNoZXNTZWxlY3Rvci5jYWxsKGMsIjpzbGljayIpLGQubmF0 aXZlTWF0Y2hlc1NlbGVjdG9yPW51bGx9Y2F0Y2goRyl7fX10cnl7Yy5zbGlja19l eHBhbmRvPTEsZGVsZXRlIGMuc2xpY2tfZXhwYW5kbyxkLmdldFVJRD10aGlzLmdl dFVJREhUTUx9Y2F0Y2goSCl7ZC5nZXRVSUQ9dGhpcy5nZXRVSURYTUx9aS5yZW1v dmVDaGlsZChuKTsKbj1nPWk9bnVsbDtkLmdldEF0dHJpYnV0ZT1kLmlzSFRNTERv Y3VtZW50JiZzP2Z1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5hdHRyaWJ1dGVHZXR0 ZXJzW2JdO3JldHVybiBjP2MuY2FsbChhKTooYz1hLmdldEF0dHJpYnV0ZU5vZGUo YikpP2Mubm9kZVZhbHVlOm51bGx9OmZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5h dHRyaWJ1dGVHZXR0ZXJzW2JdO3JldHVybiBjP2MuY2FsbChhKTphLmdldEF0dHJp YnV0ZShiKX07ZC5oYXNBdHRyaWJ1dGU9YyYmdGhpcy5pc05hdGl2ZUNvZGUoYy5o YXNBdHRyaWJ1dGUpP2Z1bmN0aW9uKGEsYil7cmV0dXJuIGEuaGFzQXR0cmlidXRl KGIpfTpmdW5jdGlvbihhLGIpe2E9YS5nZXRBdHRyaWJ1dGVOb2RlKGIpO3JldHVy biEoIWF8fCFhLnNwZWNpZmllZCYmIWEubm9kZVZhbHVlKX07aj1jJiZ0aGlzLmlz TmF0aXZlQ29kZShjLmNvbnRhaW5zKTttPWImJnRoaXMuaXNOYXRpdmVDb2RlKGIu Y29udGFpbnMpO2QuY29udGFpbnM9aiYmbT9mdW5jdGlvbihhLApiKXtyZXR1cm4g YS5jb250YWlucyhiKX06aiYmIW0/ZnVuY3Rpb24oYSxjKXtyZXR1cm4gYT09PWN8 fChhPT09Yj9iLmRvY3VtZW50RWxlbWVudDphKS5jb250YWlucyhjKX06YyYmYy5j b21wYXJlRG9jdW1lbnRQb3NpdGlvbj9mdW5jdGlvbihhLGIpe3JldHVybiBhPT09 Ynx8ISEoYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSYxNil9OmZ1bmN0aW9u KGEsYil7aWYoYil7ZG8gaWYoYj09PWEpcmV0dXJuITA7d2hpbGUoYj1iLnBhcmVu dE5vZGUpfXJldHVybiExfTtkLmRvY3VtZW50U29ydGVyPWMuY29tcGFyZURvY3Vt ZW50UG9zaXRpb24/ZnVuY3Rpb24oYSxiKXtyZXR1cm4hYS5jb21wYXJlRG9jdW1l bnRQb3NpdGlvbnx8IWIuY29tcGFyZURvY3VtZW50UG9zaXRpb24/MDphLmNvbXBh cmVEb2N1bWVudFBvc2l0aW9uKGIpJjQ/LTE6YT09PWI/MDoxfToic291cmNlSW5k ZXgiaW4gYz9mdW5jdGlvbihhLGIpe3JldHVybiFhLnNvdXJjZUluZGV4fHwhYi5z b3VyY2VJbmRleD8KMDphLnNvdXJjZUluZGV4LWIuc291cmNlSW5kZXh9OmIuY3Jl YXRlUmFuZ2U/ZnVuY3Rpb24oYSxiKXtpZighYS5vd25lckRvY3VtZW50fHwhYi5v d25lckRvY3VtZW50KXJldHVybiAwO3ZhciBjPWEub3duZXJEb2N1bWVudC5jcmVh dGVSYW5nZSgpLGg9Yi5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7Yy5zZXRT dGFydChhLDApO2Muc2V0RW5kKGEsMCk7aC5zZXRTdGFydChiLDApO2guc2V0RW5k KGIsMCk7cmV0dXJuIGMuY29tcGFyZUJvdW5kYXJ5UG9pbnRzKFJhbmdlLlNUQVJU X1RPX0VORCxoKX06bnVsbDtjPW51bGx9Zm9yKGYgaW4gZCl0aGlzW2ZdPWRbZl19 fTt2YXIgZD0vXihbIy5dPykoKD86W1x3LV0rfFwqKSkkLyxlPS9cWy4rWyokXl09 KD86IiJ8JycpP1xdLyxmPXt9O2Iuc2VhcmNoPWZ1bmN0aW9uKGEsYixjLGope3Zh ciBnPXRoaXMuZm91bmQ9aj9udWxsOmN8fFtdO2lmKGEpaWYoYS5uYXZpZ2F0b3Ip YT1hLmRvY3VtZW50O2Vsc2V7aWYoIWEubm9kZVR5cGUpcmV0dXJuIGd9ZWxzZSBy ZXR1cm4gZzsKdmFyIHIsaSxsPXRoaXMudW5pcXVlcz17fSxjPSEoIWN8fCFjLmxl bmd0aCkscz05PT1hLm5vZGVUeXBlO3RoaXMuZG9jdW1lbnQhPT0ocz9hOmEub3du ZXJEb2N1bWVudCkmJnRoaXMuc2V0RG9jdW1lbnQoYSk7aWYoYylmb3IoaT1nLmxl bmd0aDtpLS07KWxbdGhpcy5nZXRVSUQoZ1tpXSldPSEwO2lmKCJzdHJpbmciPT10 eXBlb2YgYil7dmFyIHA9Yi5tYXRjaChkKTthOmlmKHApe2k9cFsxXTt2YXIgbj1w WzJdO2lmKGkpaWYoIiMiPT1pKXtpZighdGhpcy5pc0hUTUxEb2N1bWVudHx8IXMp YnJlYWsgYTtwPWEuZ2V0RWxlbWVudEJ5SWQobik7aWYoIXApcmV0dXJuIGc7aWYo dGhpcy5pZEdldHNOYW1lJiZwLmdldEF0dHJpYnV0ZU5vZGUoImlkIikubm9kZVZh bHVlIT1uKWJyZWFrIGE7aWYoailyZXR1cm4gcHx8bnVsbDsoIWN8fCFsW3RoaXMu Z2V0VUlEKHApXSkmJmcucHVzaChwKX1lbHNle2lmKCIuIj09aSl7aWYoIXRoaXMu aXNIVE1MRG9jdW1lbnR8fCghYS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lfHwKdGhp cy5icm9rZW5HRUJDTikmJmEucXVlcnlTZWxlY3RvckFsbClicmVhayBhO2lmKGEu Z2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmIXRoaXMuYnJva2VuR0VCQ04pe3I9YS5n ZXRFbGVtZW50c0J5Q2xhc3NOYW1lKG4pO2lmKGopcmV0dXJuIHJbMF18fG51bGw7 Zm9yKGk9MDtwPXJbaSsrXTspKCFjfHwhbFt0aGlzLmdldFVJRChwKV0pJiZnLnB1 c2gocCl9ZWxzZXt2YXIgQz1SZWdFeHAoIihefFxccykiK20uZXNjYXBlUmVnRXhw KG4pKyIoXFxzfCQpIik7cj1hLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIik7Zm9y KGk9MDtwPXJbaSsrXTspaWYoKGNsYXNzTmFtZT1wLmNsYXNzTmFtZSkmJkMudGVz dChjbGFzc05hbWUpKXtpZihqKXJldHVybiBwOyghY3x8IWxbdGhpcy5nZXRVSUQo cCldKSYmZy5wdXNoKHApfX19fWVsc2V7aWYoIioiPT1uJiZ0aGlzLmJyb2tlblN0 YXJHRUJUTilicmVhayBhO3I9YS5nZXRFbGVtZW50c0J5VGFnTmFtZShuKTtpZihq KXJldHVybiByWzBdfHxudWxsOwpmb3IoaT0wO3A9cltpKytdOykoIWN8fCFsW3Ro aXMuZ2V0VUlEKHApXSkmJmcucHVzaChwKX1jJiZ0aGlzLnNvcnQoZyk7cmV0dXJu IGo/bnVsbDpnfWE6aWYoYS5xdWVyeVNlbGVjdG9yQWxsJiZ0aGlzLmlzSFRNTERv Y3VtZW50JiYhZltiXSYmIXRoaXMuYnJva2VuTWl4ZWRDYXNlUVNBJiYhKHRoaXMu YnJva2VuQ2hlY2tlZFFTQSYmLTE8Yi5pbmRleE9mKCI6Y2hlY2tlZCIpfHx0aGlz LmJyb2tlbkVtcHR5QXR0cmlidXRlUVNBJiZlLnRlc3QoYil8fCFzJiYtMTxiLmlu ZGV4T2YoIiwiKXx8bS5kaXNhYmxlUVNBKSl7aT1iO3A9YTtpZighcyl7dmFyIHg9 cC5nZXRBdHRyaWJ1dGUoImlkIik7cC5zZXRBdHRyaWJ1dGUoImlkIiwic2xpY2tp ZF9fIik7aT0iI3NsaWNraWRfXyAiK2k7YT1wLnBhcmVudE5vZGV9dHJ5e2lmKGop cmV0dXJuIGEucXVlcnlTZWxlY3RvcihpKXx8bnVsbDtyPWEucXVlcnlTZWxlY3Rv ckFsbChpKX1jYXRjaChGKXtmW2JdPTE7YnJlYWsgYX1maW5hbGx5e3N8fAooeD9w LnNldEF0dHJpYnV0ZSgiaWQiLHgpOnAucmVtb3ZlQXR0cmlidXRlKCJpZCIpLGE9 cCl9aWYodGhpcy5zdGFyU2VsZWN0c0Nsb3NlZFFTQSlmb3IoaT0wO3A9cltpKytd OykiQCI8cC5ub2RlTmFtZSYmKCFjfHwhbFt0aGlzLmdldFVJRChwKV0pJiZnLnB1 c2gocCk7ZWxzZSBmb3IoaT0wO3A9cltpKytdOykoIWN8fCFsW3RoaXMuZ2V0VUlE KHApXSkmJmcucHVzaChwKTtjJiZ0aGlzLnNvcnQoZyk7cmV0dXJuIGd9cj10aGlz LlNsaWNrLnBhcnNlKGIpO2lmKCFyLmxlbmd0aClyZXR1cm4gZ31lbHNle2lmKG51 bGw9PWIpcmV0dXJuIGc7aWYoYi5TbGljaylyPWI7ZWxzZXtpZih0aGlzLmNvbnRh aW5zKGEuZG9jdW1lbnRFbGVtZW50fHxhLGIpKWc/Zy5wdXNoKGIpOmc9YjtyZXR1 cm4gZ319dGhpcy5wb3NOVEg9e307dGhpcy5wb3NOVEhMYXN0PXt9O3RoaXMucG9z TlRIVHlwZT17fTt0aGlzLnBvc05USFR5cGVMYXN0PXt9O3RoaXMucHVzaD0hYyYm KGp8fDE9PXIubGVuZ3RoJiYKMT09ci5leHByZXNzaW9uc1swXS5sZW5ndGgpP3Ro aXMucHVzaEFycmF5OnRoaXMucHVzaFVJRDtudWxsPT1nJiYoZz1bXSk7dmFyIHQs QixBLEQsdix6LHk9ci5leHByZXNzaW9ucztpPTA7YTpmb3IoO3o9eVtpXTtpKysp Zm9yKGI9MDt2PXpbYl07YisrKXt4PSJjb21iaW5hdG9yOiIrdi5jb21iaW5hdG9y O2lmKCF0aGlzW3hdKWNvbnRpbnVlIGE7cz10aGlzLmlzWE1MRG9jdW1lbnQ/di50 YWc6di50YWcudG9VcHBlckNhc2UoKTtwPXYuaWQ7bj12LmNsYXNzTGlzdDtBPXYu Y2xhc3NlcztEPXYuYXR0cmlidXRlczt2PXYucHNldWRvczt0PWI9PT16Lmxlbmd0 aC0xO3RoaXMuYml0VW5pcXVlcz17fTt0Pyh0aGlzLnVuaXF1ZXM9bCx0aGlzLmZv dW5kPWcpOih0aGlzLnVuaXF1ZXM9e30sdGhpcy5mb3VuZD1bXSk7aWYoMD09PWIp e2lmKHRoaXNbeF0oYSxzLHAsQSxELHYsbiksaiYmdCYmZy5sZW5ndGgpYnJlYWsg YX1lbHNlIGlmKGomJnQpe3Q9MDtmb3IoQj1DLmxlbmd0aDt0PEI7dCsrKWlmKHRo aXNbeF0oQ1t0XSwKcyxwLEEsRCx2LG4pLGcubGVuZ3RoKWJyZWFrIGF9ZWxzZXt0 PTA7Zm9yKEI9Qy5sZW5ndGg7dDxCO3QrKyl0aGlzW3hdKENbdF0scyxwLEEsRCx2 LG4pfUM9dGhpcy5mb3VuZH0oY3x8MTxyLmV4cHJlc3Npb25zLmxlbmd0aCkmJnRo aXMuc29ydChnKTtyZXR1cm4gaj9nWzBdfHxudWxsOmd9O2IudWlkeD0xO2IudWlk az0ic2xpY2stdW5pcXVlaWQiO2IuZ2V0VUlEWE1MPWZ1bmN0aW9uKGEpe3ZhciBi PWEuZ2V0QXR0cmlidXRlKHRoaXMudWlkayk7Ynx8KGI9dGhpcy51aWR4KyssYS5z ZXRBdHRyaWJ1dGUodGhpcy51aWRrLGIpKTtyZXR1cm4gYn07Yi5nZXRVSURIVE1M PWZ1bmN0aW9uKGEpe3JldHVybiBhLnVuaXF1ZU51bWJlcnx8KGEudW5pcXVlTnVt YmVyPXRoaXMudWlkeCsrKX07Yi5zb3J0PWZ1bmN0aW9uKGEpe2lmKCF0aGlzLmRv Y3VtZW50U29ydGVyKXJldHVybiBhO2Euc29ydCh0aGlzLmRvY3VtZW50U29ydGVy KTtyZXR1cm4gYX07Yi5jYWNoZU5USD17fTtiLm1hdGNoTlRIPQovXihbKy1dP1xk Kik/KFthLXpdKyk/KFsrLV1cZCspPyQvO2IucGFyc2VOVEhBcmd1bWVudD1mdW5j dGlvbihhKXt2YXIgYj1hLm1hdGNoKHRoaXMubWF0Y2hOVEgpO2lmKCFiKXJldHVy biExO3ZhciBjPWJbMl18fCExLGQ9YlsxXXx8MTsiLSI9PWQmJihkPS0xKTtiPSti WzNdfHwwO2I9Im4iPT1jP3thOmQsYjpifToib2RkIj09Yz97YToyLGI6MX06ImV2 ZW4iPT1jP3thOjIsYjowfTp7YTowLGI6ZH07cmV0dXJuIHRoaXMuY2FjaGVOVEhb YV09Yn07Yi5jcmVhdGVOVEhQc2V1ZG89ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJu IGZ1bmN0aW9uKGUsZil7dmFyIGc9dGhpcy5nZXRVSUQoZSk7aWYoIXRoaXNbY11b Z10pe3ZhciBsPWUucGFyZW50Tm9kZTtpZighbClyZXR1cm4hMTt2YXIgbD1sW2Fd LHM9MTtpZihkKXt2YXIgaj1lLm5vZGVOYW1lO2RvIGwubm9kZU5hbWU9PWomJih0 aGlzW2NdW3RoaXMuZ2V0VUlEKGwpXT1zKyspO3doaWxlKGw9bFtiXSl9ZWxzZXtk byAxPT1sLm5vZGVUeXBlJiYKKHRoaXNbY11bdGhpcy5nZXRVSUQobCldPXMrKyk7 d2hpbGUobD1sW2JdKX19Zj1mfHwibiI7cz10aGlzLmNhY2hlTlRIW2ZdfHx0aGlz LnBhcnNlTlRIQXJndW1lbnQoZik7aWYoIXMpcmV0dXJuITE7bD1zLmE7cz1zLmI7 Zz10aGlzW2NdW2ddO2lmKDA9PWwpcmV0dXJuIHM9PWc7aWYoMDxsKXtpZihnPHMp cmV0dXJuITF9ZWxzZSBpZihzPGcpcmV0dXJuITE7cmV0dXJuIDA9PShnLXMpJWx9 fTtiLnB1c2hBcnJheT1mdW5jdGlvbihhLGIsYyxkLGUsZil7dGhpcy5tYXRjaFNl bGVjdG9yKGEsYixjLGQsZSxmKSYmdGhpcy5mb3VuZC5wdXNoKGEpfTtiLnB1c2hV SUQ9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3ZhciBnPXRoaXMuZ2V0VUlEKGEpOyF0 aGlzLnVuaXF1ZXNbZ10mJnRoaXMubWF0Y2hTZWxlY3RvcihhLGIsYyxkLGUsZikm Jih0aGlzLnVuaXF1ZXNbZ109ITAsdGhpcy5mb3VuZC5wdXNoKGEpKX07Yi5tYXRj aE5vZGU9ZnVuY3Rpb24oYSxiKXtpZih0aGlzLmlzSFRNTERvY3VtZW50JiYKdGhp cy5uYXRpdmVNYXRjaGVzU2VsZWN0b3IpdHJ5e3JldHVybiB0aGlzLm5hdGl2ZU1h dGNoZXNTZWxlY3Rvci5jYWxsKGEsYi5yZXBsYWNlKC9cWyhbXj1dKyk9XHMqKFte JyJcXV0rPylccypcXS9nLCdbJDE9IiQyIl0nKSl9Y2F0Y2goYyl7fXZhciBkPXRo aXMuU2xpY2sucGFyc2UoYik7aWYoIWQpcmV0dXJuITA7dmFyIGU9ZC5leHByZXNz aW9ucyxmPTAsZztmb3IoZz0wO2N1cnJlbnRFeHByZXNzaW9uPWVbZ107ZysrKWlm KDE9PWN1cnJlbnRFeHByZXNzaW9uLmxlbmd0aCl7dmFyIGw9Y3VycmVudEV4cHJl c3Npb25bMF07aWYodGhpcy5tYXRjaFNlbGVjdG9yKGEsdGhpcy5pc1hNTERvY3Vt ZW50P2wudGFnOmwudGFnLnRvVXBwZXJDYXNlKCksbC5pZCxsLmNsYXNzZXMsbC5h dHRyaWJ1dGVzLGwucHNldWRvcykpcmV0dXJuITA7ZisrfWlmKGY9PWQubGVuZ3Ro KXJldHVybiExO2Q9dGhpcy5zZWFyY2godGhpcy5kb2N1bWVudCxkKTtmb3IoZz0w O2U9ZFtnKytdOylpZihlPT09CmEpcmV0dXJuITA7cmV0dXJuITF9O2IubWF0Y2hQ c2V1ZG89ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSJwc2V1ZG86IitiO2lmKHRoaXNb ZF0pcmV0dXJuIHRoaXNbZF0oYSxjKTthPXRoaXMuZ2V0QXR0cmlidXRlKGEsYik7 cmV0dXJuIGM/Yz09YTohIWF9O2IubWF0Y2hTZWxlY3Rvcj1mdW5jdGlvbihhLGIs YyxkLGUsZil7aWYoYil7dmFyIGc9dGhpcy5pc1hNTERvY3VtZW50P2Eubm9kZU5h bWU6YS5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpO2lmKCIqIj09Yil7aWYoIkAiPmcp cmV0dXJuITF9ZWxzZSBpZihnIT1iKXJldHVybiExfWlmKGMmJmEuZ2V0QXR0cmli dXRlKCJpZCIpIT1jKXJldHVybiExO2lmKGQpZm9yKGI9ZC5sZW5ndGg7Yi0tOylp ZihjPXRoaXMuZ2V0QXR0cmlidXRlKGEsImNsYXNzIiksIWN8fCFkW2JdLnJlZ2V4 cC50ZXN0KGMpKXJldHVybiExO2lmKGUpZm9yKGI9ZS5sZW5ndGg7Yi0tOylpZihk PWVbYl0sZC5vcGVyYXRvcj8hZC50ZXN0KHRoaXMuZ2V0QXR0cmlidXRlKGEsCmQu a2V5KSk6IXRoaXMuaGFzQXR0cmlidXRlKGEsZC5rZXkpKXJldHVybiExO2lmKGYp Zm9yKGI9Zi5sZW5ndGg7Yi0tOylpZihkPWZbYl0sIXRoaXMubWF0Y2hQc2V1ZG8o YSxkLmtleSxkLnZhbHVlKSlyZXR1cm4hMTtyZXR1cm4hMH07dmFyIGc9eyIgIjpm dW5jdGlvbihhLGIsYyxkLGUsZixnKXt2YXIgbDtpZih0aGlzLmlzSFRNTERvY3Vt ZW50KXtpZihjKXtsPXRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYyk7aWYo IWwmJmEuYWxsfHx0aGlzLmlkR2V0c05hbWUmJmwmJmwuZ2V0QXR0cmlidXRlTm9k ZSgiaWQiKS5ub2RlVmFsdWUhPWMpe2c9YS5hbGxbY107aWYoIWcpcmV0dXJuO2db MF18fChnPVtnXSk7Zm9yKGE9MDtsPWdbYSsrXTspe3ZhciBzPWwuZ2V0QXR0cmli dXRlTm9kZSgiaWQiKTtpZihzJiZzLm5vZGVWYWx1ZT09Yyl7dGhpcy5wdXNoKGws YixudWxsLGQsZSxmKTticmVha319cmV0dXJufWlmKGwpe2lmKHRoaXMuZG9jdW1l bnQhPT1hJiYhdGhpcy5jb250YWlucyhhLApsKSlyZXR1cm47dGhpcy5wdXNoKGws YixudWxsLGQsZSxmKTtyZXR1cm59aWYodGhpcy5jb250YWlucyh0aGlzLnJvb3Qs YSkpcmV0dXJufWlmKGQmJmEuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmIXRoaXMu YnJva2VuR0VCQ04mJihnPWEuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShnLmpvaW4o IiAiKSkpJiZnLmxlbmd0aCl7Zm9yKGE9MDtsPWdbYSsrXTspdGhpcy5wdXNoKGws YixjLG51bGwsZSxmKTtyZXR1cm59fWlmKChnPWEuZ2V0RWxlbWVudHNCeVRhZ05h bWUoYikpJiZnLmxlbmd0aCl7dGhpcy5icm9rZW5TdGFyR0VCVE58fChiPW51bGwp O2ZvcihhPTA7bD1nW2ErK107KXRoaXMucHVzaChsLGIsYyxkLGUsZil9fSwiPiI6 ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2lmKGE9YS5maXJzdENoaWxkKXtkbyAxPT1h Lm5vZGVUeXBlJiZ0aGlzLnB1c2goYSxiLGMsZCxlLGYpO3doaWxlKGE9YS5uZXh0 U2libGluZyl9fSwiKyI6ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2Zvcig7YT1hLm5l eHRTaWJsaW5nOylpZigxPT0KYS5ub2RlVHlwZSl7dGhpcy5wdXNoKGEsYixjLGQs ZSxmKTticmVha319LCJeIjpmdW5jdGlvbihhLGIsYyxkLGUsZil7aWYoYT1hLmZp cnN0Q2hpbGQpaWYoMT09YS5ub2RlVHlwZSl0aGlzLnB1c2goYSxiLGMsZCxlLGYp O2Vsc2UgdGhpc1siY29tYmluYXRvcjorIl0oYSxiLGMsZCxlLGYpfSwifiI6ZnVu Y3Rpb24oYSxiLGMsZCxlLGYpe2Zvcig7YT1hLm5leHRTaWJsaW5nOylpZigxPT1h Lm5vZGVUeXBlKXt2YXIgZz10aGlzLmdldFVJRChhKTtpZih0aGlzLmJpdFVuaXF1 ZXNbZ10pYnJlYWs7dGhpcy5iaXRVbmlxdWVzW2ddPSEwO3RoaXMucHVzaChhLGIs YyxkLGUsZil9fSwiKysiOmZ1bmN0aW9uKGEsYixjLGQsZSxmKXt0aGlzWyJjb21i aW5hdG9yOisiXShhLGIsYyxkLGUsZik7dGhpc1siY29tYmluYXRvcjohKyJdKGEs YixjLGQsZSxmKX0sIn5+IjpmdW5jdGlvbihhLGIsYyxkLGUsZil7dGhpc1siY29t YmluYXRvcjp+Il0oYSxiLGMsZCxlLGYpO3RoaXNbImNvbWJpbmF0b3I6IX4iXShh LApiLGMsZCxlLGYpfSwiISI6ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2Zvcig7YT1h LnBhcmVudE5vZGU7KWEhPT10aGlzLmRvY3VtZW50JiZ0aGlzLnB1c2goYSxiLGMs ZCxlLGYpfSwiIT4iOmZ1bmN0aW9uKGEsYixjLGQsZSxmKXthPWEucGFyZW50Tm9k ZTthIT09dGhpcy5kb2N1bWVudCYmdGhpcy5wdXNoKGEsYixjLGQsZSxmKX0sIiEr IjpmdW5jdGlvbihhLGIsYyxkLGUsZil7Zm9yKDthPWEucHJldmlvdXNTaWJsaW5n OylpZigxPT1hLm5vZGVUeXBlKXt0aGlzLnB1c2goYSxiLGMsZCxlLGYpO2JyZWFr fX0sIiFeIjpmdW5jdGlvbihhLGIsYyxkLGUsZil7aWYoYT1hLmxhc3RDaGlsZClp ZigxPT1hLm5vZGVUeXBlKXRoaXMucHVzaChhLGIsYyxkLGUsZik7ZWxzZSB0aGlz WyJjb21iaW5hdG9yOiErIl0oYSxiLGMsZCxlLGYpfSwiIX4iOmZ1bmN0aW9uKGEs YixjLGQsZSxmKXtmb3IoO2E9YS5wcmV2aW91c1NpYmxpbmc7KWlmKDE9PWEubm9k ZVR5cGUpe3ZhciBnPXRoaXMuZ2V0VUlEKGEpOwppZih0aGlzLmJpdFVuaXF1ZXNb Z10pYnJlYWs7dGhpcy5iaXRVbmlxdWVzW2ddPSEwO3RoaXMucHVzaChhLGIsYyxk LGUsZil9fX0saTtmb3IoaSBpbiBnKWJbImNvbWJpbmF0b3I6IitpXT1nW2ldO3Zh ciBnPXtlbXB0eTpmdW5jdGlvbihhKXt2YXIgYj1hLmZpcnN0Q2hpbGQ7cmV0dXJu IShiJiYxPT1iLm5vZGVUeXBlKSYmIShhLmlubmVyVGV4dHx8YS50ZXh0Q29udGVu dHx8IiIpLmxlbmd0aH0sbm90OmZ1bmN0aW9uKGEsYil7cmV0dXJuIXRoaXMubWF0 Y2hOb2RlKGEsYil9LGNvbnRhaW5zOmZ1bmN0aW9uKGEsYil7cmV0dXJuLTE8KGEu aW5uZXJUZXh0fHxhLnRleHRDb250ZW50fHwiIikuaW5kZXhPZihiKX0sImZpcnN0 LWNoaWxkIjpmdW5jdGlvbihhKXtmb3IoO2E9YS5wcmV2aW91c1NpYmxpbmc7KWlm KDE9PWEubm9kZVR5cGUpcmV0dXJuITE7cmV0dXJuITB9LCJsYXN0LWNoaWxkIjpm dW5jdGlvbihhKXtmb3IoO2E9YS5uZXh0U2libGluZzspaWYoMT09YS5ub2RlVHlw ZSlyZXR1cm4hMTsKcmV0dXJuITB9LCJvbmx5LWNoaWxkIjpmdW5jdGlvbihhKXtm b3IodmFyIGI9YTtiPWIucHJldmlvdXNTaWJsaW5nOylpZigxPT1iLm5vZGVUeXBl KXJldHVybiExO2Zvcig7YT1hLm5leHRTaWJsaW5nOylpZigxPT1hLm5vZGVUeXBl KXJldHVybiExO3JldHVybiEwfSwibnRoLWNoaWxkIjpiLmNyZWF0ZU5USFBzZXVk bygiZmlyc3RDaGlsZCIsIm5leHRTaWJsaW5nIiwicG9zTlRIIiksIm50aC1sYXN0 LWNoaWxkIjpiLmNyZWF0ZU5USFBzZXVkbygibGFzdENoaWxkIiwicHJldmlvdXNT aWJsaW5nIiwicG9zTlRITGFzdCIpLCJudGgtb2YtdHlwZSI6Yi5jcmVhdGVOVEhQ c2V1ZG8oImZpcnN0Q2hpbGQiLCJuZXh0U2libGluZyIsInBvc05USFR5cGUiLCEw KSwibnRoLWxhc3Qtb2YtdHlwZSI6Yi5jcmVhdGVOVEhQc2V1ZG8oImxhc3RDaGls ZCIsInByZXZpb3VzU2libGluZyIsInBvc05USFR5cGVMYXN0IiwhMCksaW5kZXg6 ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpc1sicHNldWRvOm50aC1jaGlsZCJdKGEs CiIiKyhiKzEpKX0sZXZlbjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpc1sicHNldWRv Om50aC1jaGlsZCJdKGEsIjJuIil9LG9kZDpmdW5jdGlvbihhKXtyZXR1cm4gdGhp c1sicHNldWRvOm50aC1jaGlsZCJdKGEsIjJuKzEiKX0sImZpcnN0LW9mLXR5cGUi OmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1hLm5vZGVOYW1lO2E9YS5wcmV2aW91c1Np Ymxpbmc7KWlmKGEubm9kZU5hbWU9PWIpcmV0dXJuITE7cmV0dXJuITB9LCJsYXN0 LW9mLXR5cGUiOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1hLm5vZGVOYW1lO2E9YS5u ZXh0U2libGluZzspaWYoYS5ub2RlTmFtZT09YilyZXR1cm4hMTtyZXR1cm4hMH0s Im9ubHktb2YtdHlwZSI6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWEsYz1hLm5vZGVO YW1lO2I9Yi5wcmV2aW91c1NpYmxpbmc7KWlmKGIubm9kZU5hbWU9PWMpcmV0dXJu ITE7Zm9yKDthPWEubmV4dFNpYmxpbmc7KWlmKGEubm9kZU5hbWU9PWMpcmV0dXJu ITE7cmV0dXJuITB9LGVuYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIWEuZGlzYWJs ZWR9LApkaXNhYmxlZDpmdW5jdGlvbihhKXtyZXR1cm4gYS5kaXNhYmxlZH0sY2hl Y2tlZDpmdW5jdGlvbihhKXtyZXR1cm4gYS5jaGVja2VkfHxhLnNlbGVjdGVkfSxm b2N1czpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5pc0hUTUxEb2N1bWVudCYmdGhp cy5kb2N1bWVudC5hY3RpdmVFbGVtZW50PT09YSYmKGEuaHJlZnx8YS50eXBlfHx0 aGlzLmhhc0F0dHJpYnV0ZShhLCJ0YWJpbmRleCIpKX0scm9vdDpmdW5jdGlvbihh KXtyZXR1cm4gYT09PXRoaXMucm9vdH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oYSl7cmV0 dXJuIGEuc2VsZWN0ZWR9fSxqO2ZvcihqIGluIGcpYlsicHNldWRvOiIral09Z1tq XTtqPWIuYXR0cmlidXRlR2V0dGVycz17ImZvciI6ZnVuY3Rpb24oKXtyZXR1cm4i aHRtbEZvciJpbiB0aGlzP3RoaXMuaHRtbEZvcjp0aGlzLmdldEF0dHJpYnV0ZSgi Zm9yIil9LGhyZWY6ZnVuY3Rpb24oKXtyZXR1cm4iaHJlZiJpbiB0aGlzP3RoaXMu Z2V0QXR0cmlidXRlKCJocmVmIiwyKTp0aGlzLmdldEF0dHJpYnV0ZSgiaHJlZiIp fSwKc3R5bGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdHlsZT90aGlzLnN0eWxl LmNzc1RleHQ6dGhpcy5nZXRBdHRyaWJ1dGUoInN0eWxlIil9LHRhYmluZGV4OmZ1 bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXRBdHRyaWJ1dGVOb2RlKCJ0YWJpbmRleCIp O3JldHVybiBhJiZhLnNwZWNpZmllZD9hLm5vZGVWYWx1ZTpudWxsfSx0eXBlOmZ1 bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCJ0eXBlIil9LG1heGxl bmd0aDpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0QXR0cmlidXRlTm9kZSgibWF4 TGVuZ3RoIik7cmV0dXJuIGEmJmEuc3BlY2lmaWVkP2Eubm9kZVZhbHVlOm51bGx9 fTtqLk1BWExFTkdUSD1qLm1heExlbmd0aD1qLm1heGxlbmd0aDt2YXIgbT1iLlNs aWNrPXRoaXMuU2xpY2t8fHt9O20udmVyc2lvbj0iMS4xLjciO20uc2VhcmNoPWZ1 bmN0aW9uKGEsYyxkKXtyZXR1cm4gYi5zZWFyY2goYSxjLGQpfTttLmZpbmQ9ZnVu Y3Rpb24oYSxjKXtyZXR1cm4gYi5zZWFyY2goYSwKYyxudWxsLCEwKX07bS5jb250 YWlucz1mdW5jdGlvbihhLGMpe2Iuc2V0RG9jdW1lbnQoYSk7cmV0dXJuIGIuY29u dGFpbnMoYSxjKX07bS5nZXRBdHRyaWJ1dGU9ZnVuY3Rpb24oYSxjKXtiLnNldERv Y3VtZW50KGEpO3JldHVybiBiLmdldEF0dHJpYnV0ZShhLGMpfTttLmhhc0F0dHJp YnV0ZT1mdW5jdGlvbihhLGMpe2Iuc2V0RG9jdW1lbnQoYSk7cmV0dXJuIGIuaGFz QXR0cmlidXRlKGEsYyl9O20ubWF0Y2g9ZnVuY3Rpb24oYSxjKXtpZighYXx8IWMp cmV0dXJuITE7aWYoIWN8fGM9PT1hKXJldHVybiEwO2Iuc2V0RG9jdW1lbnQoYSk7 cmV0dXJuIGIubWF0Y2hOb2RlKGEsYyl9O20uZGVmaW5lQXR0cmlidXRlR2V0dGVy PWZ1bmN0aW9uKGEsYyl7Yi5hdHRyaWJ1dGVHZXR0ZXJzW2FdPWM7cmV0dXJuIHRo aXN9O20ubG9va3VwQXR0cmlidXRlR2V0dGVyPWZ1bmN0aW9uKGEpe3JldHVybiBi LmF0dHJpYnV0ZUdldHRlcnNbYV19O20uZGVmaW5lUHNldWRvPWZ1bmN0aW9uKGEs Yyl7YlsicHNldWRvOiIrCmFdPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGMuY2FsbChh LGIpfTtyZXR1cm4gdGhpc307bS5sb29rdXBQc2V1ZG89ZnVuY3Rpb24oYSl7dmFy IGM9YlsicHNldWRvOiIrYV07cmV0dXJuIGM/ZnVuY3Rpb24oYSl7cmV0dXJuIGMu Y2FsbCh0aGlzLGEpfTpudWxsfTttLm92ZXJyaWRlPWZ1bmN0aW9uKGEsYyl7Yi5v dmVycmlkZShhLGMpO3JldHVybiB0aGlzfTttLmlzWE1MPWIuaXNYTUw7bS51aWRP Zj1mdW5jdGlvbihhKXtyZXR1cm4gYi5nZXRVSURIVE1MKGEpfTt0aGlzLlNsaWNr fHwodGhpcy5TbGljaz1tKX0pLmFwcGx5KCJ1bmRlZmluZWQiIT10eXBlb2YgZXhw b3J0cz9leHBvcnRzOnRoaXMpOwp2YXIgRWxlbWVudD1mdW5jdGlvbihiLGEpe3Zh ciBjPUVsZW1lbnQuQ29uc3RydWN0b3JzW2JdO2lmKGMpcmV0dXJuIGMoYSk7aWYo InN0cmluZyIhPXR5cGVvZiBiKXJldHVybiBkb2N1bWVudC5pZChiKS5zZXQoYSk7 YXx8KGE9e30pO2lmKCEvXltcdy1dKyQvLnRlc3QoYikpe2M9U2xpY2sucGFyc2Uo YikuZXhwcmVzc2lvbnNbMF1bMF07Yj0iKiI9PWMudGFnPyJkaXYiOmMudGFnO2Mu aWQmJm51bGw9PWEuaWQmJihhLmlkPWMuaWQpO3ZhciBkPWMuYXR0cmlidXRlcztp ZihkKWZvcih2YXIgZSxmPTAsZz1kLmxlbmd0aDtmPGc7ZisrKWU9ZFtmXSxudWxs PT1hW2Uua2V5XSYmKG51bGwhPWUudmFsdWUmJiI9Ij09ZS5vcGVyYXRvcj9hW2Uu a2V5XT1lLnZhbHVlOiFlLnZhbHVlJiYhZS5vcGVyYXRvciYmKGFbZS5rZXldPSEw KSk7Yy5jbGFzc0xpc3QmJm51bGw9PWFbImNsYXNzIl0mJihhWyJjbGFzcyJdPWMu Y2xhc3NMaXN0LmpvaW4oIiAiKSl9cmV0dXJuIGRvY3VtZW50Lm5ld0VsZW1lbnQo YiwKYSl9O0Jyb3dzZXIuRWxlbWVudCYmKEVsZW1lbnQucHJvdG90eXBlPUJyb3dz ZXIuRWxlbWVudC5wcm90b3R5cGUsRWxlbWVudC5wcm90b3R5cGUuX2ZpcmVFdmVu dD1mdW5jdGlvbihiKXtyZXR1cm4gZnVuY3Rpb24oYSxjKXtyZXR1cm4gYi5jYWxs KHRoaXMsYSxjKX19KEVsZW1lbnQucHJvdG90eXBlLmZpcmVFdmVudCkpOyhuZXcg VHlwZSgiRWxlbWVudCIsRWxlbWVudCkpLm1pcnJvcihmdW5jdGlvbihiKXtpZigh QXJyYXkucHJvdG90eXBlW2JdKXt2YXIgYT17fTthW2JdPWZ1bmN0aW9uKCl7Zm9y KHZhciBhPVtdLGQ9YXJndW1lbnRzLGU9dHJ1ZSxmPTAsZz10aGlzLmxlbmd0aDtm PGc7ZisrKXZhciBpPXRoaXNbZl0saT1hW2ZdPWlbYl0uYXBwbHkoaSxkKSxlPWUm JnR5cGVPZihpKT09ImVsZW1lbnQiO3JldHVybiBlP25ldyBFbGVtZW50cyhhKTph fTtFbGVtZW50cy5pbXBsZW1lbnQoYSl9fSk7CkJyb3dzZXIuRWxlbWVudHx8KEVs ZW1lbnQucGFyZW50PU9iamVjdCxFbGVtZW50LlByb3RvdHlwZT17JGNvbnN0cnVj dG9yOkVsZW1lbnQsJGZhbWlseTpGdW5jdGlvbi5mcm9tKCJlbGVtZW50IikuaGlk ZSgpfSxFbGVtZW50Lm1pcnJvcihmdW5jdGlvbihiLGEpe0VsZW1lbnQuUHJvdG90 eXBlW2JdPWF9KSk7RWxlbWVudC5Db25zdHJ1Y3RvcnM9e307CnZhciBJRnJhbWU9 bmV3IFR5cGUoIklGcmFtZSIsZnVuY3Rpb24oKXt2YXIgYj1BcnJheS5saW5rKGFy Z3VtZW50cyx7cHJvcGVydGllczpUeXBlLmlzT2JqZWN0LGlmcmFtZTpmdW5jdGlv bihhKXtyZXR1cm4gYSE9bnVsbH19KSxhPWIucHJvcGVydGllc3x8e30sYztiLmlm cmFtZSYmKGM9ZG9jdW1lbnQuaWQoYi5pZnJhbWUpKTt2YXIgZD1hLm9ubG9hZHx8 ZnVuY3Rpb24oKXt9O2RlbGV0ZSBhLm9ubG9hZDthLmlkPWEubmFtZT1bYS5pZCxh Lm5hbWUsYz9jLmlkfHxjLm5hbWU6IklGcmFtZV8iK1N0cmluZy51bmlxdWVJRCgp XS5waWNrKCk7Yz1uZXcgRWxlbWVudChjfHwiaWZyYW1lIixhKTtiPWZ1bmN0aW9u KCl7ZC5jYWxsKGMuY29udGVudFdpbmRvdyl9O3dpbmRvdy5mcmFtZXNbYS5pZF0/ YigpOmMuYWRkTGlzdGVuZXIoImxvYWQiLGIpO3JldHVybiBjfSksRWxlbWVudHM9 dGhpcy5FbGVtZW50cz1mdW5jdGlvbihiKXtpZihiJiZiLmxlbmd0aClmb3IodmFy IGE9e30sYyxkPQowO2M9YltkKytdOyl7dmFyIGU9U2xpY2sudWlkT2YoYyk7aWYo IWFbZV0pe2FbZV09dHJ1ZTt0aGlzLnB1c2goYyl9fX07RWxlbWVudHMucHJvdG90 eXBlPXtsZW5ndGg6MH07RWxlbWVudHMucGFyZW50PUFycmF5OwoobmV3IFR5cGUo IkVsZW1lbnRzIixFbGVtZW50cykpLmltcGxlbWVudCh7ZmlsdGVyOmZ1bmN0aW9u KGIsYSl7cmV0dXJuIWI/dGhpczpuZXcgRWxlbWVudHMoQXJyYXkuZmlsdGVyKHRo aXMsdHlwZU9mKGIpPT0ic3RyaW5nIj9mdW5jdGlvbihhKXtyZXR1cm4gYS5tYXRj aChiKX06YixhKSl9LnByb3RlY3QoKSxwdXNoOmZ1bmN0aW9uKCl7Zm9yKHZhciBi PXRoaXMubGVuZ3RoLGE9MCxjPWFyZ3VtZW50cy5sZW5ndGg7YTxjO2ErKyl7dmFy IGQ9ZG9jdW1lbnQuaWQoYXJndW1lbnRzW2FdKTtkJiYodGhpc1tiKytdPWQpfXJl dHVybiB0aGlzLmxlbmd0aD1ifS5wcm90ZWN0KCksdW5zaGlmdDpmdW5jdGlvbigp e2Zvcih2YXIgYj1bXSxhPTAsYz1hcmd1bWVudHMubGVuZ3RoO2E8YzthKyspe3Zh ciBkPWRvY3VtZW50LmlkKGFyZ3VtZW50c1thXSk7ZCYmYi5wdXNoKGQpfXJldHVy biBBcnJheS5wcm90b3R5cGUudW5zaGlmdC5hcHBseSh0aGlzLGIpfS5wcm90ZWN0 KCksY29uY2F0OmZ1bmN0aW9uKCl7Zm9yKHZhciBiPQpuZXcgRWxlbWVudHModGhp cyksYT0wLGM9YXJndW1lbnRzLmxlbmd0aDthPGM7YSsrKXt2YXIgZD1hcmd1bWVu dHNbYV07VHlwZS5pc0VudW1lcmFibGUoZCk/Yi5hcHBlbmQoZCk6Yi5wdXNoKGQp fXJldHVybiBifS5wcm90ZWN0KCksYXBwZW5kOmZ1bmN0aW9uKGIpe2Zvcih2YXIg YT0wLGM9Yi5sZW5ndGg7YTxjO2ErKyl0aGlzLnB1c2goYlthXSk7cmV0dXJuIHRo aXN9LnByb3RlY3QoKSxlbXB0eTpmdW5jdGlvbigpe2Zvcig7dGhpcy5sZW5ndGg7 KWRlbGV0ZSB0aGlzWy0tdGhpcy5sZW5ndGhdO3JldHVybiB0aGlzfS5wcm90ZWN0 KCl9KTsKKGZ1bmN0aW9uKCl7dmFyIGI9QXJyYXkucHJvdG90eXBlLnNwbGljZSxh PXsiMCI6MCwxOjEsbGVuZ3RoOjJ9O2IuY2FsbChhLDEsMSk7YVsxXT09MSYmRWxl bWVudHMuaW1wbGVtZW50KCJzcGxpY2UiLGZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRo aXMubGVuZ3RoLGM9Yi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YT49dGhpcy5sZW5n dGg7KWRlbGV0ZSB0aGlzW2EtLV07cmV0dXJuIGN9LnByb3RlY3QoKSk7QXJyYXku Zm9yRWFjaE1ldGhvZChmdW5jdGlvbihhLGIpe0VsZW1lbnRzLmltcGxlbWVudChi LGEpfSk7QXJyYXkubWlycm9yKEVsZW1lbnRzKTt2YXIgYzt0cnl7Yz1kb2N1bWVu dC5jcmVhdGVFbGVtZW50KCI8aW5wdXQgbmFtZT14PiIpLm5hbWU9PSJ4In1jYXRj aChkKXt9dmFyIGU9ZnVuY3Rpb24oYSl7cmV0dXJuKCIiK2EpLnJlcGxhY2UoLyYv ZywiJmFtcDsiKS5yZXBsYWNlKC8iL2csIiZxdW90OyIpfTtEb2N1bWVudC5pbXBs ZW1lbnQoe25ld0VsZW1lbnQ6ZnVuY3Rpb24oYSwKYil7aWYoYiYmYi5jaGVja2Vk IT1udWxsKWIuZGVmYXVsdENoZWNrZWQ9Yi5jaGVja2VkO2lmKGMmJmIpe2E9Ijwi K2E7Yi5uYW1lJiYoYT1hKygnIG5hbWU9IicrZShiLm5hbWUpKyciJykpO2IudHlw ZSYmKGE9YSsoJyB0eXBlPSInK2UoYi50eXBlKSsnIicpKTthPWErIj4iO2RlbGV0 ZSBiLm5hbWU7ZGVsZXRlIGIudHlwZX1yZXR1cm4gdGhpcy5pZCh0aGlzLmNyZWF0 ZUVsZW1lbnQoYSkpLnNldChiKX19KX0pKCk7CihmdW5jdGlvbigpe1NsaWNrLnVp ZE9mKHdpbmRvdyk7U2xpY2sudWlkT2YoZG9jdW1lbnQpO0RvY3VtZW50LmltcGxl bWVudCh7bmV3VGV4dE5vZGU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuY3JlYXRl VGV4dE5vZGUoYSl9LGdldERvY3VtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9 LGdldFdpbmRvdzpmdW5jdGlvbigpe3JldHVybiB0aGlzLndpbmRvd30saWQ6ZnVu Y3Rpb24oKXt2YXIgYT17c3RyaW5nOmZ1bmN0aW9uKGIsYyxkKXtyZXR1cm4oYj1T bGljay5maW5kKGQsIiMiK2IucmVwbGFjZSgvKFxXKS9nLCJcXCQxIikpKT9hLmVs ZW1lbnQoYixjKTpudWxsfSxlbGVtZW50OmZ1bmN0aW9uKGEsYil7U2xpY2sudWlk T2YoYSk7aWYoIWImJiFhLiRmYW1pbHkmJiEvXig/Om9iamVjdHxlbWJlZCkkL2ku dGVzdChhLnRhZ05hbWUpKXt2YXIgYz1hLmZpcmVFdmVudDthLl9maXJlRXZlbnQ9 ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYyhhLGIpfTtPYmplY3QuYXBwZW5kKGEsRWxl bWVudC5Qcm90b3R5cGUpfXJldHVybiBhfSwKb2JqZWN0OmZ1bmN0aW9uKGIsYyxk KXtyZXR1cm4gYi50b0VsZW1lbnQ/YS5lbGVtZW50KGIudG9FbGVtZW50KGQpLGMp Om51bGx9fTthLnRleHRub2RlPWEud2hpdGVzcGFjZT1hLndpbmRvdz1hLmRvY3Vt ZW50PWZ1bmN0aW9uKGEpe3JldHVybiBhfTtyZXR1cm4gZnVuY3Rpb24oYixjLGQp e2lmKGImJmIuJGZhbWlseSYmYi51bmlxdWVOdW1iZXIpcmV0dXJuIGI7dmFyIGU9 dHlwZU9mKGIpO3JldHVybiBhW2VdP2FbZV0oYixjLGR8fGRvY3VtZW50KTpudWxs fX0oKX0pO3dpbmRvdy4kPT1udWxsJiZXaW5kb3cuaW1wbGVtZW50KCIkIixmdW5j dGlvbihhLGIpe3JldHVybiBkb2N1bWVudC5pZChhLGIsdGhpcy5kb2N1bWVudCl9 KTtXaW5kb3cuaW1wbGVtZW50KHtnZXREb2N1bWVudDpmdW5jdGlvbigpe3JldHVy biB0aGlzLmRvY3VtZW50fSxnZXRXaW5kb3c6ZnVuY3Rpb24oKXtyZXR1cm4gdGhp c319KTtbRG9jdW1lbnQsRWxlbWVudF0uaW52b2tlKCJpbXBsZW1lbnQiLHtnZXRF bGVtZW50czpmdW5jdGlvbihhKXtyZXR1cm4gU2xpY2suc2VhcmNoKHRoaXMsCmEs bmV3IEVsZW1lbnRzKX0sZ2V0RWxlbWVudDpmdW5jdGlvbihhKXtyZXR1cm4gZG9j dW1lbnQuaWQoU2xpY2suZmluZCh0aGlzLGEpKX19KTt2YXIgYj17Y29udGFpbnM6 ZnVuY3Rpb24oYSl7cmV0dXJuIFNsaWNrLmNvbnRhaW5zKHRoaXMsYSl9fTtkb2N1 bWVudC5jb250YWluc3x8RG9jdW1lbnQuaW1wbGVtZW50KGIpO2RvY3VtZW50LmNy ZWF0ZUVsZW1lbnQoImRpdiIpLmNvbnRhaW5zfHxFbGVtZW50LmltcGxlbWVudChi KTt2YXIgYT1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiBiO2Zvcih2YXIgYT1P YmplY3QuY2xvbmUoU2xpY2sucGFyc2UoYSkpLGM9YS5leHByZXNzaW9ucyxkPWMu bGVuZ3RoO2QtLTspY1tkXVswXS5jb21iaW5hdG9yPWI7cmV0dXJuIGF9O09iamVj dC5mb3JFYWNoKHtnZXROZXh0OiJ+IixnZXRQcmV2aW91czoiIX4iLGdldFBhcmVu dDoiISJ9LGZ1bmN0aW9uKGIsYyl7RWxlbWVudC5pbXBsZW1lbnQoYyxmdW5jdGlv bihjKXtyZXR1cm4gdGhpcy5nZXRFbGVtZW50KGEoYywKYikpfSl9KTtPYmplY3Qu Zm9yRWFjaCh7Z2V0QWxsTmV4dDoifiIsZ2V0QWxsUHJldmlvdXM6IiF+IixnZXRT aWJsaW5nczoifn4iLGdldENoaWxkcmVuOiI+IixnZXRQYXJlbnRzOiIhIn0sZnVu Y3Rpb24oYixjKXtFbGVtZW50LmltcGxlbWVudChjLGZ1bmN0aW9uKGMpe3JldHVy biB0aGlzLmdldEVsZW1lbnRzKGEoYyxiKSl9KX0pO0VsZW1lbnQuaW1wbGVtZW50 KHtnZXRGaXJzdDpmdW5jdGlvbihiKXtyZXR1cm4gZG9jdW1lbnQuaWQoU2xpY2su c2VhcmNoKHRoaXMsYShiLCI+IikpWzBdKX0sZ2V0TGFzdDpmdW5jdGlvbihiKXty ZXR1cm4gZG9jdW1lbnQuaWQoU2xpY2suc2VhcmNoKHRoaXMsYShiLCI+IikpLmdl dExhc3QoKSl9LGdldFdpbmRvdzpmdW5jdGlvbigpe3JldHVybiB0aGlzLm93bmVy RG9jdW1lbnQud2luZG93fSxnZXREb2N1bWVudDpmdW5jdGlvbigpe3JldHVybiB0 aGlzLm93bmVyRG9jdW1lbnR9LGdldEVsZW1lbnRCeUlkOmZ1bmN0aW9uKGEpe3Jl dHVybiBkb2N1bWVudC5pZChTbGljay5maW5kKHRoaXMsCiIjIisoIiIrYSkucmVw bGFjZSgvKFxXKS9nLCJcXCQxIikpKX0sbWF0Y2g6ZnVuY3Rpb24oYSl7cmV0dXJu IWF8fFNsaWNrLm1hdGNoKHRoaXMsYSl9fSk7d2luZG93LiQkPT1udWxsJiZXaW5k b3cuaW1wbGVtZW50KCIkJCIsZnVuY3Rpb24oYSl7aWYoYXJndW1lbnRzLmxlbmd0 aD09MSl7aWYodHlwZW9mIGE9PSJzdHJpbmciKXJldHVybiBTbGljay5zZWFyY2go dGhpcy5kb2N1bWVudCxhLG5ldyBFbGVtZW50cyk7aWYoVHlwZS5pc0VudW1lcmFi bGUoYSkpcmV0dXJuIG5ldyBFbGVtZW50cyhhKX1yZXR1cm4gbmV3IEVsZW1lbnRz KGFyZ3VtZW50cyl9KTt2YXIgYz17YmVmb3JlOmZ1bmN0aW9uKGEsYil7dmFyIGM9 Yi5wYXJlbnROb2RlO2MmJmMuaW5zZXJ0QmVmb3JlKGEsYil9LGFmdGVyOmZ1bmN0 aW9uKGEsYil7dmFyIGM9Yi5wYXJlbnROb2RlO2MmJmMuaW5zZXJ0QmVmb3JlKGEs Yi5uZXh0U2libGluZyl9LGJvdHRvbTpmdW5jdGlvbihhLGIpe2IuYXBwZW5kQ2hp bGQoYSl9LAp0b3A6ZnVuY3Rpb24oYSxiKXtiLmluc2VydEJlZm9yZShhLGIuZmly c3RDaGlsZCl9fTtjLmluc2lkZT1jLmJvdHRvbTt2YXIgZD17fSxlPXt9LGY9e307 QXJyYXkuZm9yRWFjaChbInR5cGUiLCJ2YWx1ZSIsImRlZmF1bHRWYWx1ZSIsImFj Y2Vzc0tleSIsImNlbGxQYWRkaW5nIiwiY2VsbFNwYWNpbmciLCJjb2xTcGFuIiwi ZnJhbWVCb3JkZXIiLCJyb3dTcGFuIiwidGFiSW5kZXgiLCJ1c2VNYXAiXSxmdW5j dGlvbihhKXtmW2EudG9Mb3dlckNhc2UoKV09YX0pO2YuaHRtbD0iaW5uZXJIVE1M IjtmLnRleHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikudGV4dENvbnRl bnQ9PW51bGw/ImlubmVyVGV4dCI6InRleHRDb250ZW50IjtPYmplY3QuZm9yRWFj aChmLGZ1bmN0aW9uKGEsYil7ZVtiXT1mdW5jdGlvbihiLGMpe2JbYV09Y307ZFti XT1mdW5jdGlvbihiKXtyZXR1cm4gYlthXX19KTtBcnJheS5mb3JFYWNoKFsiY29t cGFjdCIsIm5vd3JhcCIsImlzbWFwIiwiZGVjbGFyZSIsCiJub3NoYWRlIiwiY2hl Y2tlZCIsImRpc2FibGVkIiwicmVhZE9ubHkiLCJtdWx0aXBsZSIsInNlbGVjdGVk Iiwibm9yZXNpemUiLCJkZWZlciIsImRlZmF1bHRDaGVja2VkIiwiYXV0b2ZvY3Vz IiwiY29udHJvbHMiLCJhdXRvcGxheSIsImxvb3AiXSxmdW5jdGlvbihhKXt2YXIg Yj1hLnRvTG93ZXJDYXNlKCk7ZVtiXT1mdW5jdGlvbihiLGMpe2JbYV09ISFjfTtk W2JdPWZ1bmN0aW9uKGIpe3JldHVybiEhYlthXX19KTtPYmplY3QuYXBwZW5kKGUs eyJjbGFzcyI6ZnVuY3Rpb24oYSxiKXsiY2xhc3NOYW1lImluIGE/YS5jbGFzc05h bWU9Ynx8IiI6YS5zZXRBdHRyaWJ1dGUoImNsYXNzIixiKX0sImZvciI6ZnVuY3Rp b24oYSxiKXsiaHRtbEZvciJpbiBhP2EuaHRtbEZvcj1iOmEuc2V0QXR0cmlidXRl KCJmb3IiLGIpfSxzdHlsZTpmdW5jdGlvbihhLGIpe2Euc3R5bGU/YS5zdHlsZS5j c3NUZXh0PWI6YS5zZXRBdHRyaWJ1dGUoInN0eWxlIixiKX0sdmFsdWU6ZnVuY3Rp b24oYSxiKXthLnZhbHVlPQpiIT1udWxsP2I6IiJ9fSk7ZFsiY2xhc3MiXT1mdW5j dGlvbihhKXtyZXR1cm4iY2xhc3NOYW1lImluIGE/YS5jbGFzc05hbWV8fG51bGw6 YS5nZXRBdHRyaWJ1dGUoImNsYXNzIil9O2I9ZG9jdW1lbnQuY3JlYXRlRWxlbWVu dCgiYnV0dG9uIik7dHJ5e2IudHlwZT0iYnV0dG9uIn1jYXRjaChnKXt9aWYoYi50 eXBlIT0iYnV0dG9uIillLnR5cGU9ZnVuY3Rpb24oYSxiKXthLnNldEF0dHJpYnV0 ZSgidHlwZSIsYil9O2I9bnVsbDtiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlu cHV0Iik7Yi52YWx1ZT0idCI7Yi50eXBlPSJzdWJtaXQiO2lmKGIudmFsdWUhPSJ0 IillLnR5cGU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLnZhbHVlO2EudHlwZT1iO2Eu dmFsdWU9Y307dmFyIGI9bnVsbCxpPWZ1bmN0aW9uKGEpe2EucmFuZG9tPSJhdHRy aWJ1dGUiO3JldHVybiBhLmdldEF0dHJpYnV0ZSgicmFuZG9tIik9PSJhdHRyaWJ1 dGUifShkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7RWxlbWVudC5pbXBs ZW1lbnQoe3NldFByb3BlcnR5OmZ1bmN0aW9uKGEsCmIpe3ZhciBjPWVbYS50b0xv d2VyQ2FzZSgpXTtpZihjKWModGhpcyxiKTtlbHNle2lmKGkpdmFyIGQ9dGhpcy5y ZXRyaWV2ZSgiJGF0dHJpYnV0ZVdoaXRlTGlzdCIse30pO2lmKGI9PW51bGwpe3Ro aXMucmVtb3ZlQXR0cmlidXRlKGEpO2kmJmRlbGV0ZSBkW2FdfWVsc2V7dGhpcy5z ZXRBdHRyaWJ1dGUoYSwiIitiKTtpJiYoZFthXT10cnVlKX19cmV0dXJuIHRoaXN9 LHNldFByb3BlcnRpZXM6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiIGluIGEpdGhpcy5z ZXRQcm9wZXJ0eShiLGFbYl0pO3JldHVybiB0aGlzfSxnZXRQcm9wZXJ0eTpmdW5j dGlvbihhKXt2YXIgYj1kW2EudG9Mb3dlckNhc2UoKV07aWYoYilyZXR1cm4gYih0 aGlzKTtpZihpKXt2YXIgYz10aGlzLmdldEF0dHJpYnV0ZU5vZGUoYSksYj10aGlz LnJldHJpZXZlKCIkYXR0cmlidXRlV2hpdGVMaXN0Iix7fSk7aWYoIWMpcmV0dXJu IG51bGw7aWYoYy5leHBhbmRvJiYhYlthXSl7Yz10aGlzLm91dGVySFRNTDtpZihj LnN1YnN0cigwLApjLnNlYXJjaCgvXC8/WyciXT8+KD8hW148XSo8WyciXSkvKSku aW5kZXhPZihhKTwwKXJldHVybiBudWxsO2JbYV09dHJ1ZX19Yj1TbGljay5nZXRB dHRyaWJ1dGUodGhpcyxhKTtyZXR1cm4hYiYmIVNsaWNrLmhhc0F0dHJpYnV0ZSh0 aGlzLGEpP251bGw6Yn0sZ2V0UHJvcGVydGllczpmdW5jdGlvbigpe3ZhciBhPUFy cmF5LmZyb20oYXJndW1lbnRzKTtyZXR1cm4gYS5tYXAodGhpcy5nZXRQcm9wZXJ0 eSx0aGlzKS5hc3NvY2lhdGUoYSl9LHJlbW92ZVByb3BlcnR5OmZ1bmN0aW9uKGEp e3JldHVybiB0aGlzLnNldFByb3BlcnR5KGEsbnVsbCl9LHJlbW92ZVByb3BlcnRp ZXM6ZnVuY3Rpb24oKXtBcnJheS5lYWNoKGFyZ3VtZW50cyx0aGlzLnJlbW92ZVBy b3BlcnR5LHRoaXMpO3JldHVybiB0aGlzfSxzZXQ6ZnVuY3Rpb24oYSxiKXt2YXIg Yz1FbGVtZW50LlByb3BlcnRpZXNbYV07YyYmYy5zZXQ/Yy5zZXQuY2FsbCh0aGlz LGIpOnRoaXMuc2V0UHJvcGVydHkoYSxiKX0ub3ZlcmxvYWRTZXR0ZXIoKSwKZ2V0 OmZ1bmN0aW9uKGEpe3ZhciBiPUVsZW1lbnQuUHJvcGVydGllc1thXTtyZXR1cm4g YiYmYi5nZXQ/Yi5nZXQuYXBwbHkodGhpcyk6dGhpcy5nZXRQcm9wZXJ0eShhKX0u b3ZlcmxvYWRHZXR0ZXIoKSxlcmFzZTpmdW5jdGlvbihhKXt2YXIgYj1FbGVtZW50 LlByb3BlcnRpZXNbYV07YiYmYi5lcmFzZT9iLmVyYXNlLmFwcGx5KHRoaXMpOnRo aXMucmVtb3ZlUHJvcGVydHkoYSk7cmV0dXJuIHRoaXN9LGhhc0NsYXNzOmZ1bmN0 aW9uKGEpe3JldHVybiB0aGlzLmNsYXNzTmFtZS5jbGVhbigpLmNvbnRhaW5zKGEs IiAiKX0sYWRkQ2xhc3M6ZnVuY3Rpb24oYSl7aWYoIXRoaXMuaGFzQ2xhc3MoYSkp dGhpcy5jbGFzc05hbWU9KHRoaXMuY2xhc3NOYW1lKyIgIithKS5jbGVhbigpO3Jl dHVybiB0aGlzfSxyZW1vdmVDbGFzczpmdW5jdGlvbihhKXt0aGlzLmNsYXNzTmFt ZT10aGlzLmNsYXNzTmFtZS5yZXBsYWNlKFJlZ0V4cCgiKF58XFxzKSIrYSsiKD86 XFxzfCQpIiksIiQxIik7cmV0dXJuIHRoaXN9LAp0b2dnbGVDbGFzczpmdW5jdGlv bihhLGIpe2I9PW51bGwmJihiPSF0aGlzLmhhc0NsYXNzKGEpKTtyZXR1cm4gYj90 aGlzLmFkZENsYXNzKGEpOnRoaXMucmVtb3ZlQ2xhc3MoYSl9LGFkb3B0OmZ1bmN0 aW9uKCl7dmFyIGE9dGhpcyxiLGM9QXJyYXkuZmxhdHRlbihhcmd1bWVudHMpLGQ9 Yy5sZW5ndGg7ZD4xJiYoYT1iPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21l bnQoKSk7Zm9yKHZhciBlPTA7ZTxkO2UrKyl7dmFyIGY9ZG9jdW1lbnQuaWQoY1tl XSx0cnVlKTtmJiZhLmFwcGVuZENoaWxkKGYpfWImJnRoaXMuYXBwZW5kQ2hpbGQo Yik7cmV0dXJuIHRoaXN9LGFwcGVuZFRleHQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4g dGhpcy5ncmFiKHRoaXMuZ2V0RG9jdW1lbnQoKS5uZXdUZXh0Tm9kZShhKSxiKX0s Z3JhYjpmdW5jdGlvbihhLGIpe2NbYnx8ImJvdHRvbSJdKGRvY3VtZW50LmlkKGEs dHJ1ZSksdGhpcyk7cmV0dXJuIHRoaXN9LGluamVjdDpmdW5jdGlvbihhLGIpe2Nb Ynx8CiJib3R0b20iXSh0aGlzLGRvY3VtZW50LmlkKGEsdHJ1ZSkpO3JldHVybiB0 aGlzfSxyZXBsYWNlczpmdW5jdGlvbihhKXthPWRvY3VtZW50LmlkKGEsdHJ1ZSk7 YS5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZCh0aGlzLGEpO3JldHVybiB0aGlzfSx3 cmFwczpmdW5jdGlvbihhLGIpe2E9ZG9jdW1lbnQuaWQoYSx0cnVlKTtyZXR1cm4g dGhpcy5yZXBsYWNlcyhhKS5ncmFiKGEsYil9LGdldFNlbGVjdGVkOmZ1bmN0aW9u KCl7dGhpcy5zZWxlY3RlZEluZGV4O3JldHVybiBuZXcgRWxlbWVudHMoQXJyYXku ZnJvbSh0aGlzLm9wdGlvbnMpLmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4gYS5z ZWxlY3RlZH0pKX0sdG9RdWVyeVN0cmluZzpmdW5jdGlvbigpe3ZhciBhPVtdO3Ro aXMuZ2V0RWxlbWVudHMoImlucHV0LCBzZWxlY3QsIHRleHRhcmVhIikuZWFjaChm dW5jdGlvbihiKXt2YXIgYz1iLnR5cGU7aWYoYi5uYW1lJiYhYi5kaXNhYmxlZCYm IShjPT0ic3VibWl0Inx8Yz09InJlc2V0Inx8CmM9PSJmaWxlInx8Yz09ImltYWdl Iikpe2M9Yi5nZXQoInRhZyIpPT0ic2VsZWN0Ij9iLmdldFNlbGVjdGVkKCkubWFw KGZ1bmN0aW9uKGEpe3JldHVybiBkb2N1bWVudC5pZChhKS5nZXQoInZhbHVlIil9 KTooYz09InJhZGlvInx8Yz09ImNoZWNrYm94IikmJiFiLmNoZWNrZWQ/bnVsbDpi LmdldCgidmFsdWUiKTtBcnJheS5mcm9tKGMpLmVhY2goZnVuY3Rpb24oYyl7dHlw ZW9mIGMhPSJ1bmRlZmluZWQiJiZhLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KGIu bmFtZSkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChjKSl9KX19KTtyZXR1cm4gYS5q b2luKCImIil9fSk7dmFyIGo9e30sbT17fSxoPWZ1bmN0aW9uKGEpe3JldHVybiBt W2FdfHwobVthXT17fSl9LGs9ZnVuY3Rpb24oYSl7dmFyIGI9YS51bmlxdWVOdW1i ZXI7YS5yZW1vdmVFdmVudHMmJmEucmVtb3ZlRXZlbnRzKCk7YS5jbGVhckF0dHJp YnV0ZXMmJmEuY2xlYXJBdHRyaWJ1dGVzKCk7aWYoYiE9bnVsbCl7ZGVsZXRlIGpb Yl07CmRlbGV0ZSBtW2JdfXJldHVybiBhfSxvPXtpbnB1dDoiY2hlY2tlZCIsb3B0 aW9uOiJzZWxlY3RlZCIsdGV4dGFyZWE6InZhbHVlIn07RWxlbWVudC5pbXBsZW1l bnQoe2Rlc3Ryb3k6ZnVuY3Rpb24oKXt2YXIgYT1rKHRoaXMpLmdldEVsZW1lbnRz QnlUYWdOYW1lKCIqIik7QXJyYXkuZWFjaChhLGspO0VsZW1lbnQuZGlzcG9zZSh0 aGlzKTtyZXR1cm4gbnVsbH0sZW1wdHk6ZnVuY3Rpb24oKXtBcnJheS5mcm9tKHRo aXMuY2hpbGROb2RlcykuZWFjaChFbGVtZW50LmRpc3Bvc2UpO3JldHVybiB0aGlz fSxkaXNwb3NlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50Tm9kZT90aGlz LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcyk6dGhpc30sY2xvbmU6ZnVuY3Rp b24oYSxiKXt2YXIgYT1hIT09ZmFsc2UsYz10aGlzLmNsb25lTm9kZShhKSxkPVtj XSxlPVt0aGlzXSxmO2lmKGEpe2QuYXBwZW5kKEFycmF5LmZyb20oYy5nZXRFbGVt ZW50c0J5VGFnTmFtZSgiKiIpKSk7ZS5hcHBlbmQoQXJyYXkuZnJvbSh0aGlzLmdl dEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpKX1mb3IoZj0KZC5sZW5ndGg7Zi0tOyl7 dmFyIGs9ZFtmXSxnPWVbZl07Ynx8ay5yZW1vdmVBdHRyaWJ1dGUoImlkIik7aWYo ay5jbGVhckF0dHJpYnV0ZXMpe2suY2xlYXJBdHRyaWJ1dGVzKCk7ay5tZXJnZUF0 dHJpYnV0ZXMoZyk7ay5yZW1vdmVBdHRyaWJ1dGUoInVuaXF1ZU51bWJlciIpO2lm KGsub3B0aW9ucylmb3IodmFyIGo9ay5vcHRpb25zLG09Zy5vcHRpb25zLGg9ai5s ZW5ndGg7aC0tOylqW2hdLnNlbGVjdGVkPW1baF0uc2VsZWN0ZWR9KGo9b1tnLnRh Z05hbWUudG9Mb3dlckNhc2UoKV0pJiZnW2pdJiYoa1tqXT1nW2pdKX1pZihCcm93 c2VyLmllKXtkPWMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm9iamVjdCIpO2U9dGhp cy5nZXRFbGVtZW50c0J5VGFnTmFtZSgib2JqZWN0Iik7Zm9yKGY9ZC5sZW5ndGg7 Zi0tOylkW2ZdLm91dGVySFRNTD1lW2ZdLm91dGVySFRNTH1yZXR1cm4gZG9jdW1l bnQuaWQoYyl9fSk7W0VsZW1lbnQsV2luZG93LERvY3VtZW50XS5pbnZva2UoImlt cGxlbWVudCIsCnthZGRMaXN0ZW5lcjpmdW5jdGlvbihhLGIsYyl7aWYoYT09InVu bG9hZCIpdmFyIGQ9YixlPXRoaXMsYj1mdW5jdGlvbigpe2UucmVtb3ZlTGlzdGVu ZXIoInVubG9hZCIsYik7ZCgpfTtlbHNlIGpbU2xpY2sudWlkT2YodGhpcyldPXRo aXM7dGhpcy5hZGRFdmVudExpc3RlbmVyP3RoaXMuYWRkRXZlbnRMaXN0ZW5lcihh LGIsISFjKTp0aGlzLmF0dGFjaEV2ZW50KCJvbiIrYSxiKTtyZXR1cm4gdGhpc30s cmVtb3ZlTGlzdGVuZXI6ZnVuY3Rpb24oYSxiLGMpe3RoaXMucmVtb3ZlRXZlbnRM aXN0ZW5lcj90aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiLCEhYyk6dGhpcy5k ZXRhY2hFdmVudCgib24iK2EsYik7cmV0dXJuIHRoaXN9LHJldHJpZXZlOmZ1bmN0 aW9uKGEsYil7dmFyIGM9aChTbGljay51aWRPZih0aGlzKSksZD1jW2FdO2IhPW51 bGwmJmQ9PW51bGwmJihkPWNbYV09Yik7cmV0dXJuIGQhPW51bGw/ZDpudWxsfSxz dG9yZTpmdW5jdGlvbihhLGIpe2goU2xpY2sudWlkT2YodGhpcykpW2FdPQpiO3Jl dHVybiB0aGlzfSxlbGltaW5hdGU6ZnVuY3Rpb24oYSl7ZGVsZXRlIGgoU2xpY2su dWlkT2YodGhpcykpW2FdO3JldHVybiB0aGlzfX0pO3dpbmRvdy5hdHRhY2hFdmVu dCYmIXdpbmRvdy5hZGRFdmVudExpc3RlbmVyJiZ3aW5kb3cuYWRkTGlzdGVuZXIo InVubG9hZCIsZnVuY3Rpb24oKXtPYmplY3QuZWFjaChqLGspO3dpbmRvdy5Db2xs ZWN0R2FyYmFnZSYmQ29sbGVjdEdhcmJhZ2UoKX0pO0VsZW1lbnQuUHJvcGVydGll cz17fTtFbGVtZW50LlByb3BlcnRpZXMuc3R5bGU9e3NldDpmdW5jdGlvbihhKXt0 aGlzLnN0eWxlLmNzc1RleHQ9YX0sZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMu c3R5bGUuY3NzVGV4dH0sZXJhc2U6ZnVuY3Rpb24oKXt0aGlzLnN0eWxlLmNzc1Rl eHQ9IiJ9fTtFbGVtZW50LlByb3BlcnRpZXMudGFnPXtnZXQ6ZnVuY3Rpb24oKXty ZXR1cm4gdGhpcy50YWdOYW1lLnRvTG93ZXJDYXNlKCl9fTtFbGVtZW50LlByb3Bl cnRpZXMuaHRtbD17c2V0OmZ1bmN0aW9uKGEpe2E9PQpudWxsP2E9IiI6dHlwZU9m KGEpPT0iYXJyYXkiJiYoYT1hLmpvaW4oIiIpKTt0aGlzLmlubmVySFRNTD1hfSxl cmFzZTpmdW5jdGlvbigpe3RoaXMuaW5uZXJIVE1MPSIifX07Yj1kb2N1bWVudC5j cmVhdGVFbGVtZW50KCJkaXYiKTtiLmlubmVySFRNTD0iPG5hdj48L25hdj4iO3Zh ciBxPWIuY2hpbGROb2Rlcy5sZW5ndGg9PTE7aWYoIXEpZm9yKHZhciBiPVsiYWJi ciIsImFydGljbGUiLCJhc2lkZSIsImF1ZGlvIiwiY2FudmFzIiwiZGF0YWxpc3Qi LCJkZXRhaWxzIiwiZmlnY2FwdGlvbiIsImZpZ3VyZSIsImZvb3RlciIsImhlYWRl ciIsImhncm91cCIsIm1hcmsiLCJtZXRlciIsIm5hdiIsIm91dHB1dCIsInByb2dy ZXNzIiwic2VjdGlvbiIsInN1bW1hcnkiLCJ0aW1lIiwidmlkZW8iXSx1PWRvY3Vt ZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxyPWIubGVuZ3RoO3ItLTspdS5j cmVhdGVFbGVtZW50KGJbcl0pO2I9bnVsbDtiPUZ1bmN0aW9uLmF0dGVtcHQoZnVu Y3Rpb24oKXtkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0YWJsZSIpLmlubmVySFRN TD0KIjx0cj48dGQ+PC90ZD48L3RyPiI7cmV0dXJuIHRydWV9KTtyPWRvY3VtZW50 LmNyZWF0ZUVsZW1lbnQoInRyIik7ci5pbm5lckhUTUw9Ijx0ZD48L3RkPiI7dmFy IHc9ci5pbm5lckhUTUw9PSI8dGQ+PC90ZD4iLHI9bnVsbDtpZighYnx8IXd8fCFx KUVsZW1lbnQuUHJvcGVydGllcy5odG1sLnNldD1mdW5jdGlvbihhKXt2YXIgYj17 dGFibGU6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLHNlbGVjdDpbMSwiPHNlbGVj dD4iLCI8L3NlbGVjdD4iXSx0Ym9keTpbMiwiPHRhYmxlPjx0Ym9keT4iLCI8L3Ri b2R5PjwvdGFibGU+Il0sdHI6WzMsIjx0YWJsZT48dGJvZHk+PHRyPiIsIjwvdHI+ PC90Ym9keT48L3RhYmxlPiJdfTtiLnRoZWFkPWIudGZvb3Q9Yi50Ym9keTtyZXR1 cm4gZnVuY3Rpb24oYyl7dmFyIGQ9Ylt0aGlzLmdldCgidGFnIildOyFkJiYhcSYm KGQ9WzAsIiIsIiJdKTtpZighZClyZXR1cm4gYS5jYWxsKHRoaXMsYyk7dmFyIGU9 ZFswXSxmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLAprPWY7cXx8dS5h cHBlbmRDaGlsZChmKTtmb3IoZi5pbm5lckhUTUw9W2RbMV0sYyxkWzJdXS5mbGF0 dGVuKCkuam9pbigiIik7ZS0tOylrPWsuZmlyc3RDaGlsZDt0aGlzLmVtcHR5KCku YWRvcHQoay5jaGlsZE5vZGVzKTtxfHx1LnJlbW92ZUNoaWxkKGYpfX0oRWxlbWVu dC5Qcm9wZXJ0aWVzLmh0bWwuc2V0KTtiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo ImZvcm0iKTtiLmlubmVySFRNTD0iPHNlbGVjdD48b3B0aW9uPnM8L29wdGlvbj48 L3NlbGVjdD4iO2lmKGIuZmlyc3RDaGlsZC52YWx1ZSE9InMiKUVsZW1lbnQuUHJv cGVydGllcy52YWx1ZT17c2V0OmZ1bmN0aW9uKGEpe2lmKHRoaXMuZ2V0KCJ0YWci KSE9InNlbGVjdCIpcmV0dXJuIHRoaXMuc2V0UHJvcGVydHkoInZhbHVlIixhKTtm b3IodmFyIGI9dGhpcy5nZXRFbGVtZW50cygib3B0aW9uIiksYz0wO2M8Yi5sZW5n dGg7YysrKXt2YXIgZD1iW2NdLGU9ZC5nZXRBdHRyaWJ1dGVOb2RlKCJ2YWx1ZSIp O2lmKChlJiZlLnNwZWNpZmllZD8KZC52YWx1ZTpkLmdldCgidGV4dCIpKT09YSly ZXR1cm4gZC5zZWxlY3RlZD10cnVlfX0sZ2V0OmZ1bmN0aW9uKCl7dmFyIGE9dGhp cyxiPWEuZ2V0KCJ0YWciKTtpZihiIT0ic2VsZWN0IiYmYiE9Im9wdGlvbiIpcmV0 dXJuIHRoaXMuZ2V0UHJvcGVydHkoInZhbHVlIik7aWYoYj09InNlbGVjdCImJiEo YT1hLmdldFNlbGVjdGVkKClbMF0pKXJldHVybiIiO3JldHVybihiPWEuZ2V0QXR0 cmlidXRlTm9kZSgidmFsdWUiKSkmJmIuc3BlY2lmaWVkP2EudmFsdWU6YS5nZXQo InRleHQiKX19O2I9bnVsbDtpZihkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi KS5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpKUVsZW1lbnQuUHJvcGVydGllcy5pZD17 c2V0OmZ1bmN0aW9uKGEpe3RoaXMuaWQ9dGhpcy5nZXRBdHRyaWJ1dGVOb2RlKCJp ZCIpLnZhbHVlPWF9LGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmlkfHxudWxs fSxlcmFzZTpmdW5jdGlvbigpe3RoaXMuaWQ9dGhpcy5nZXRBdHRyaWJ1dGVOb2Rl KCJpZCIpLnZhbHVlPQoiIn19fSkoKTsKKGZ1bmN0aW9uKCl7dmFyIGI9ZG9jdW1l bnQuaHRtbCxhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2Euc3R5bGUu Y29sb3I9InJlZCI7YS5zdHlsZS5jb2xvcj1udWxsO3ZhciBjPWEuc3R5bGUuY29s b3I9PSJyZWQiLGE9bnVsbDtFbGVtZW50LlByb3BlcnRpZXMuc3R5bGVzPXtzZXQ6 ZnVuY3Rpb24oYSl7dGhpcy5zZXRTdHlsZXMoYSl9fTt2YXIgYT1iLnN0eWxlLm9w YWNpdHkhPW51bGwsZD1iLnN0eWxlLmZpbHRlciE9bnVsbCxlPS9hbHBoYVwob3Bh Y2l0eT0oW1xkLl0rKVwpL2ksZj1hP2Z1bmN0aW9uKGEsYil7YS5zdHlsZS5vcGFj aXR5PWJ9OmQ/ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLnN0eWxlO2lmKCFhLmN1cnJl bnRTdHlsZXx8IWEuY3VycmVudFN0eWxlLmhhc0xheW91dCljLnpvb209MTt2YXIg Yj1iPT1udWxsfHxiPT0xPyIiOiJhbHBoYShvcGFjaXR5PSIrKGIqMTAwKS5saW1p dCgwLDEwMCkucm91bmQoKSsiKSIsZD1jLmZpbHRlcnx8YS5nZXRDb21wdXRlZFN0 eWxlKCJmaWx0ZXIiKXx8IiI7CmMuZmlsdGVyPWUudGVzdChkKT9kLnJlcGxhY2Uo ZSxiKTpkK2I7Yy5maWx0ZXJ8fGMucmVtb3ZlQXR0cmlidXRlKCJmaWx0ZXIiKX06 ZnVuY3Rpb24oYSxiKXthLnN0b3JlKCIkb3BhY2l0eSIsYik7YS5zdHlsZS52aXNp YmlsaXR5PWI+MHx8Yj09bnVsbD8idmlzaWJsZSI6ImhpZGRlbiJ9LGc9YT9mdW5j dGlvbihhKXthPWEuc3R5bGUub3BhY2l0eXx8YS5nZXRDb21wdXRlZFN0eWxlKCJv cGFjaXR5Iik7cmV0dXJuIGE9PSIiPzE6YS50b0Zsb2F0KCl9OmQ/ZnVuY3Rpb24o YSl7dmFyIGE9YS5zdHlsZS5maWx0ZXJ8fGEuZ2V0Q29tcHV0ZWRTdHlsZSgiZmls dGVyIiksYjthJiYoYj1hLm1hdGNoKGUpKTtyZXR1cm4gYj09bnVsbHx8YT09bnVs bD8xOmJbMV0vMTAwfTpmdW5jdGlvbihhKXt2YXIgYj1hLnJldHJpZXZlKCIkb3Bh Y2l0eSIpO2I9PW51bGwmJihiPWEuc3R5bGUudmlzaWJpbGl0eT09ImhpZGRlbiI/ MDoxKTtyZXR1cm4gYn0saT1iLnN0eWxlLmNzc0Zsb2F0PT1udWxsPwoic3R5bGVG bG9hdCI6ImNzc0Zsb2F0IjtFbGVtZW50LmltcGxlbWVudCh7Z2V0Q29tcHV0ZWRT dHlsZTpmdW5jdGlvbihhKXtpZih0aGlzLmN1cnJlbnRTdHlsZSlyZXR1cm4gdGhp cy5jdXJyZW50U3R5bGVbYS5jYW1lbENhc2UoKV07dmFyIGI9RWxlbWVudC5nZXRE b2N1bWVudCh0aGlzKS5kZWZhdWx0VmlldztyZXR1cm4oYj1iP2IuZ2V0Q29tcHV0 ZWRTdHlsZSh0aGlzLG51bGwpOm51bGwpP2IuZ2V0UHJvcGVydHlWYWx1ZShhPT1p PyJmbG9hdCI6YS5oeXBoZW5hdGUoKSk6bnVsbH0sc2V0U3R5bGU6ZnVuY3Rpb24o YSxiKXtpZihhPT0ib3BhY2l0eSIpe2IhPW51bGwmJihiPXBhcnNlRmxvYXQoYikp O2YodGhpcyxiKTtyZXR1cm4gdGhpc31hPShhPT0iZmxvYXQiP2k6YSkuY2FtZWxD YXNlKCk7aWYodHlwZU9mKGIpIT0ic3RyaW5nIil2YXIgZD0oRWxlbWVudC5TdHls ZXNbYV18fCJAIikuc3BsaXQoIiAiKSxiPUFycmF5LmZyb20oYikubWFwKGZ1bmN0 aW9uKGEsYil7cmV0dXJuIWRbYl0/CiIiOnR5cGVPZihhKT09Im51bWJlciI/ZFti XS5yZXBsYWNlKCJAIixNYXRoLnJvdW5kKGEpKTphfSkuam9pbigiICIpO2Vsc2Ug Yj09IiIrTnVtYmVyKGIpJiYoYj1NYXRoLnJvdW5kKGIpKTt0aGlzLnN0eWxlW2Fd PWI7KGI9PSIifHxiPT1udWxsKSYmYyYmdGhpcy5zdHlsZS5yZW1vdmVBdHRyaWJ1 dGUmJnRoaXMuc3R5bGUucmVtb3ZlQXR0cmlidXRlKGEpO3JldHVybiB0aGlzfSxn ZXRTdHlsZTpmdW5jdGlvbihhKXtpZihhPT0ib3BhY2l0eSIpcmV0dXJuIGcodGhp cyk7dmFyIGE9KGE9PSJmbG9hdCI/aTphKS5jYW1lbENhc2UoKSxiPXRoaXMuc3R5 bGVbYV07aWYoIWJ8fGE9PSJ6SW5kZXgiKXt2YXIgYj1bXSxjO2ZvcihjIGluIEVs ZW1lbnQuU2hvcnRTdHlsZXMpaWYoYT09Yyl7Zm9yKHZhciBkIGluIEVsZW1lbnQu U2hvcnRTdHlsZXNbY10pYi5wdXNoKHRoaXMuZ2V0U3R5bGUoZCkpO3JldHVybiBi LmpvaW4oIiAiKX1iPXRoaXMuZ2V0Q29tcHV0ZWRTdHlsZShhKX1pZihiKXtiPQoi IitiOyhjPWIubWF0Y2goL3JnYmE/XChbXGRccyxdK1wpLykpJiYoYj1iLnJlcGxh Y2UoY1swXSxjWzBdLnJnYlRvSGV4KCkpKX1pZihCcm93c2VyLmllJiZpc05hTihw YXJzZUZsb2F0KGIpKSl7aWYoL14oaGVpZ2h0fHdpZHRoKSQvLnRlc3QoYSkpe3Zh ciBlPTA7KGE9PSJ3aWR0aCI/WyJsZWZ0IiwicmlnaHQiXTpbInRvcCIsImJvdHRv bSJdKS5lYWNoKGZ1bmN0aW9uKGEpe2U9ZSsodGhpcy5nZXRTdHlsZSgiYm9yZGVy LSIrYSsiLXdpZHRoIikudG9JbnQoKSt0aGlzLmdldFN0eWxlKCJwYWRkaW5nLSIr YSkudG9JbnQoKSl9LHRoaXMpO3JldHVybiB0aGlzWyJvZmZzZXQiK2EuY2FwaXRh bGl6ZSgpXS1lKyJweCJ9aWYoQnJvd3Nlci5vcGVyYSYmKCIiK2IpLmluZGV4T2Yo InB4IikhPS0xKXJldHVybiBiO2lmKC9eYm9yZGVyKC4rKVdpZHRofG1hcmdpbnxw YWRkaW5nLy50ZXN0KGEpKXJldHVybiIwcHgifXJldHVybiBifSxzZXRTdHlsZXM6 ZnVuY3Rpb24oYSl7Zm9yKHZhciBiIGluIGEpdGhpcy5zZXRTdHlsZShiLAphW2Jd KTtyZXR1cm4gdGhpc30sZ2V0U3R5bGVzOmZ1bmN0aW9uKCl7dmFyIGE9e307QXJy YXkuZmxhdHRlbihhcmd1bWVudHMpLmVhY2goZnVuY3Rpb24oYil7YVtiXT10aGlz LmdldFN0eWxlKGIpfSx0aGlzKTtyZXR1cm4gYX19KTtFbGVtZW50LlN0eWxlcz17 bGVmdDoiQHB4Iix0b3A6IkBweCIsYm90dG9tOiJAcHgiLHJpZ2h0OiJAcHgiLHdp ZHRoOiJAcHgiLGhlaWdodDoiQHB4IixtYXhXaWR0aDoiQHB4IixtYXhIZWlnaHQ6 IkBweCIsbWluV2lkdGg6IkBweCIsbWluSGVpZ2h0OiJAcHgiLGJhY2tncm91bmRD b2xvcjoicmdiKEAsIEAsIEApIixiYWNrZ3JvdW5kUG9zaXRpb246IkBweCBAcHgi LGNvbG9yOiJyZ2IoQCwgQCwgQCkiLGZvbnRTaXplOiJAcHgiLGxldHRlclNwYWNp bmc6IkBweCIsbGluZUhlaWdodDoiQHB4IixjbGlwOiJyZWN0KEBweCBAcHggQHB4 IEBweCkiLG1hcmdpbjoiQHB4IEBweCBAcHggQHB4IixwYWRkaW5nOiJAcHggQHB4 IEBweCBAcHgiLGJvcmRlcjoiQHB4IEAgcmdiKEAsIEAsIEApIEBweCBAIHJnYihA LCBALCBAKSBAcHggQCByZ2IoQCwgQCwgQCkiLApib3JkZXJXaWR0aDoiQHB4IEBw eCBAcHggQHB4Iixib3JkZXJTdHlsZToiQCBAIEAgQCIsYm9yZGVyQ29sb3I6InJn YihALCBALCBAKSByZ2IoQCwgQCwgQCkgcmdiKEAsIEAsIEApIHJnYihALCBALCBA KSIsekluZGV4OiJAIix6b29tOiJAIixmb250V2VpZ2h0OiJAIix0ZXh0SW5kZW50 OiJAcHgiLG9wYWNpdHk6IkAifTtFbGVtZW50LlNob3J0U3R5bGVzPXttYXJnaW46 e30scGFkZGluZzp7fSxib3JkZXI6e30sYm9yZGVyV2lkdGg6e30sYm9yZGVyU3R5 bGU6e30sYm9yZGVyQ29sb3I6e319O1siVG9wIiwiUmlnaHQiLCJCb3R0b20iLCJM ZWZ0Il0uZWFjaChmdW5jdGlvbihhKXt2YXIgYj1FbGVtZW50LlNob3J0U3R5bGVz LGM9RWxlbWVudC5TdHlsZXM7WyJtYXJnaW4iLCJwYWRkaW5nIl0uZWFjaChmdW5j dGlvbihkKXt2YXIgZT1kK2E7YltkXVtlXT1jW2VdPSJAcHgifSk7dmFyIGQ9ImJv cmRlciIrYTtiLmJvcmRlcltkXT1jW2RdPSJAcHggQCByZ2IoQCwgQCwgQCkiO3Zh ciBlPQpkKyJXaWR0aCIsZj1kKyJTdHlsZSIsZz1kKyJDb2xvciI7YltkXT17fTti LmJvcmRlcldpZHRoW2VdPWJbZF1bZV09Y1tlXT0iQHB4IjtiLmJvcmRlclN0eWxl W2ZdPWJbZF1bZl09Y1tmXT0iQCI7Yi5ib3JkZXJDb2xvcltnXT1iW2RdW2ddPWNb Z109InJnYihALCBALCBAKSJ9KX0pKCk7CihmdW5jdGlvbigpe0VsZW1lbnQuUHJv cGVydGllcy5ldmVudHM9e3NldDpmdW5jdGlvbihhKXt0aGlzLmFkZEV2ZW50cyhh KX19O1tFbGVtZW50LFdpbmRvdyxEb2N1bWVudF0uaW52b2tlKCJpbXBsZW1lbnQi LHthZGRFdmVudDpmdW5jdGlvbihhLGIsZCl7dmFyIGU9dGhpcy5yZXRyaWV2ZSgi ZXZlbnRzIix7fSk7ZVthXXx8KGVbYV09e2tleXM6W10sdmFsdWVzOltdfSk7aWYo ZVthXS5rZXlzLmNvbnRhaW5zKGIpKXJldHVybiB0aGlzO2VbYV0ua2V5cy5wdXNo KGIpO3ZhciBmPWEsZz1FbGVtZW50LkV2ZW50c1thXSxpPWIsaj10aGlzO2lmKGcp e2cub25BZGQmJmcub25BZGQuY2FsbCh0aGlzLGIsYSk7Zy5jb25kaXRpb24mJihp PWZ1bmN0aW9uKGQpe3JldHVybiBnLmNvbmRpdGlvbi5jYWxsKHRoaXMsZCxhKT9i LmNhbGwodGhpcyxkKTp0cnVlfSk7Zy5iYXNlJiYoZj1GdW5jdGlvbi5mcm9tKGcu YmFzZSkuY2FsbCh0aGlzLGEpKX12YXIgbT1mdW5jdGlvbigpe3JldHVybiBiLmNh bGwoail9LApoPUVsZW1lbnQuTmF0aXZlRXZlbnRzW2ZdO2lmKGgpe2g9PTImJiht PWZ1bmN0aW9uKGEpe2E9bmV3IERPTUV2ZW50KGEsai5nZXRXaW5kb3coKSk7aS5j YWxsKGosYSk9PT1mYWxzZSYmYS5zdG9wKCl9KTt0aGlzLmFkZExpc3RlbmVyKGYs bSxkKX1lW2FdLnZhbHVlcy5wdXNoKG0pO3JldHVybiB0aGlzfSxyZW1vdmVFdmVu dDpmdW5jdGlvbihhLGIsZCl7dmFyIGU9dGhpcy5yZXRyaWV2ZSgiZXZlbnRzIik7 aWYoIWV8fCFlW2FdKXJldHVybiB0aGlzO3ZhciBmPWVbYV0sZz1mLmtleXMuaW5k ZXhPZihiKTtpZihnPT0tMSlyZXR1cm4gdGhpcztlPWYudmFsdWVzW2ddO2RlbGV0 ZSBmLmtleXNbZ107ZGVsZXRlIGYudmFsdWVzW2ddO2lmKGY9RWxlbWVudC5FdmVu dHNbYV0pe2Yub25SZW1vdmUmJmYub25SZW1vdmUuY2FsbCh0aGlzLGIsYSk7Zi5i YXNlJiYoYT1GdW5jdGlvbi5mcm9tKGYuYmFzZSkuY2FsbCh0aGlzLGEpKX1yZXR1 cm4gRWxlbWVudC5OYXRpdmVFdmVudHNbYV0/dGhpcy5yZW1vdmVMaXN0ZW5lcihh LAplLGQpOnRoaXN9LGFkZEV2ZW50czpmdW5jdGlvbihhKXtmb3IodmFyIGIgaW4g YSl0aGlzLmFkZEV2ZW50KGIsYVtiXSk7cmV0dXJuIHRoaXN9LHJlbW92ZUV2ZW50 czpmdW5jdGlvbihhKXt2YXIgYjtpZih0eXBlT2YoYSk9PSJvYmplY3QiKXtmb3Io YiBpbiBhKXRoaXMucmVtb3ZlRXZlbnQoYixhW2JdKTtyZXR1cm4gdGhpc312YXIg ZD10aGlzLnJldHJpZXZlKCJldmVudHMiKTtpZighZClyZXR1cm4gdGhpcztpZihh KXtpZihkW2FdKXtkW2FdLmtleXMuZWFjaChmdW5jdGlvbihiKXt0aGlzLnJlbW92 ZUV2ZW50KGEsYil9LHRoaXMpO2RlbGV0ZSBkW2FdfX1lbHNle2ZvcihiIGluIGQp dGhpcy5yZW1vdmVFdmVudHMoYik7dGhpcy5lbGltaW5hdGUoImV2ZW50cyIpfXJl dHVybiB0aGlzfSxmaXJlRXZlbnQ6ZnVuY3Rpb24oYSxiLGQpe3ZhciBlPXRoaXMu cmV0cmlldmUoImV2ZW50cyIpO2lmKCFlfHwhZVthXSlyZXR1cm4gdGhpcztiPUFy cmF5LmZyb20oYik7ZVthXS5rZXlzLmVhY2goZnVuY3Rpb24oYSl7ZD8KYS5kZWxh eShkLHRoaXMsYik6YS5hcHBseSh0aGlzLGIpfSx0aGlzKTtyZXR1cm4gdGhpc30s Y2xvbmVFdmVudHM6ZnVuY3Rpb24oYSxiKXt2YXIgYT1kb2N1bWVudC5pZChhKSxk PWEucmV0cmlldmUoImV2ZW50cyIpO2lmKCFkKXJldHVybiB0aGlzO2lmKGIpZFti XSYmZFtiXS5rZXlzLmVhY2goZnVuY3Rpb24oYSl7dGhpcy5hZGRFdmVudChiLGEp fSx0aGlzKTtlbHNlIGZvcih2YXIgZSBpbiBkKXRoaXMuY2xvbmVFdmVudHMoYSxl KTtyZXR1cm4gdGhpc319KTtFbGVtZW50Lk5hdGl2ZUV2ZW50cz17Y2xpY2s6Mixk YmxjbGljazoyLG1vdXNldXA6Mixtb3VzZWRvd246Mixjb250ZXh0bWVudToyLG1v dXNld2hlZWw6MixET01Nb3VzZVNjcm9sbDoyLG1vdXNlb3ZlcjoyLG1vdXNlb3V0 OjIsbW91c2Vtb3ZlOjIsc2VsZWN0c3RhcnQ6MixzZWxlY3RlbmQ6MixrZXlkb3du OjIsa2V5cHJlc3M6MixrZXl1cDoyLG9yaWVudGF0aW9uY2hhbmdlOjIsdG91Y2hz dGFydDoyLHRvdWNobW92ZToyLAp0b3VjaGVuZDoyLHRvdWNoY2FuY2VsOjIsZ2Vz dHVyZXN0YXJ0OjIsZ2VzdHVyZWNoYW5nZToyLGdlc3R1cmVlbmQ6Mixmb2N1czoy LGJsdXI6MixjaGFuZ2U6MixyZXNldDoyLHNlbGVjdDoyLHN1Ym1pdDoyLHBhc3Rl OjIsaW5wdXQ6Mixsb2FkOjIsdW5sb2FkOjEsYmVmb3JldW5sb2FkOjIscmVzaXpl OjEsbW92ZToxLERPTUNvbnRlbnRMb2FkZWQ6MSxyZWFkeXN0YXRlY2hhbmdlOjEs ZXJyb3I6MSxhYm9ydDoxLHNjcm9sbDoxfTtFbGVtZW50LkV2ZW50cz17bW91c2V3 aGVlbDp7YmFzZTpCcm93c2VyLmZpcmVmb3g/IkRPTU1vdXNlU2Nyb2xsIjoibW91 c2V3aGVlbCJ9fTtpZigib25tb3VzZWVudGVyImluIGRvY3VtZW50LmRvY3VtZW50 RWxlbWVudClFbGVtZW50Lk5hdGl2ZUV2ZW50cy5tb3VzZWVudGVyPUVsZW1lbnQu TmF0aXZlRXZlbnRzLm1vdXNlbGVhdmU9MjtlbHNle3ZhciBiPWZ1bmN0aW9uKGEp e2E9YS5yZWxhdGVkVGFyZ2V0O3JldHVybiBhPT1udWxsP3RydWU6IWE/CmZhbHNl OmEhPXRoaXMmJmEucHJlZml4IT0ieHVsIiYmdHlwZU9mKHRoaXMpIT0iZG9jdW1l bnQiJiYhdGhpcy5jb250YWlucyhhKX07RWxlbWVudC5FdmVudHMubW91c2VlbnRl cj17YmFzZToibW91c2VvdmVyIixjb25kaXRpb246Yn07RWxlbWVudC5FdmVudHMu bW91c2VsZWF2ZT17YmFzZToibW91c2VvdXQiLGNvbmRpdGlvbjpifX1pZighd2lu ZG93LmFkZEV2ZW50TGlzdGVuZXIpe0VsZW1lbnQuTmF0aXZlRXZlbnRzLnByb3Bl cnR5Y2hhbmdlPTI7RWxlbWVudC5FdmVudHMuY2hhbmdlPXtiYXNlOmZ1bmN0aW9u KCl7dmFyIGE9dGhpcy50eXBlO3JldHVybiB0aGlzLmdldCgidGFnIik9PSJpbnB1 dCImJihhPT0icmFkaW8ifHxhPT0iY2hlY2tib3giKT8icHJvcGVydHljaGFuZ2Ui OiJjaGFuZ2UifSxjb25kaXRpb246ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMudHlw ZSE9InJhZGlvInx8YS5ldmVudC5wcm9wZXJ0eU5hbWU9PSJjaGVja2VkIiYmdGhp cy5jaGVja2VkfX19fSkoKTsKKGZ1bmN0aW9uKCl7dmFyIGIsYT0hIXdpbmRvdy5h ZGRFdmVudExpc3RlbmVyO0VsZW1lbnQuTmF0aXZlRXZlbnRzLmZvY3VzaW49RWxl bWVudC5OYXRpdmVFdmVudHMuZm9jdXNvdXQ9Mjt2YXIgYz1mdW5jdGlvbihhLGIs YyxkLGUpe2Zvcig7ZSYmZSE9YTspe2lmKGIoZSxkKSlyZXR1cm4gYy5jYWxsKGUs ZCxlKTtlPWRvY3VtZW50LmlkKGUucGFyZW50Tm9kZSl9fSxkPXttb3VzZWVudGVy OntiYXNlOiJtb3VzZW92ZXIifSxtb3VzZWxlYXZlOntiYXNlOiJtb3VzZW91dCJ9 LGZvY3VzOntiYXNlOiJmb2N1cyIrKGE/IiI6ImluIiksY2FwdHVyZTp0cnVlfSxi bHVyOntiYXNlOmE/ImJsdXIiOiJmb2N1c291dCIsY2FwdHVyZTp0cnVlfX0sZT1m dW5jdGlvbihhKXtyZXR1cm57YmFzZToiZm9jdXNpbiIscmVtb3ZlOmZ1bmN0aW9u KGIsYyl7dmFyIGQ9Yi5yZXRyaWV2ZSgiJGRlbGVnYXRpb246IithKyJsaXN0ZW5l cnMiLHt9KVtjXTtpZihkJiZkLmZvcm1zKWZvcih2YXIgZT1kLmZvcm1zLmxlbmd0 aDtlLS07KWQuZm9ybXNbZV0ucmVtb3ZlRXZlbnQoYSwKZC5mbnNbZV0pfSxsaXN0 ZW46ZnVuY3Rpb24oYixkLGUsZixnLGkpe2lmKGY9Zy5nZXQoInRhZyIpPT0iZm9y bSI/ZzpmLnRhcmdldC5nZXRQYXJlbnQoImZvcm0iKSl7dmFyIHI9Yi5yZXRyaWV2 ZSgiJGRlbGVnYXRpb246IithKyJsaXN0ZW5lcnMiLHt9KSx3PXJbaV18fHtmb3Jt czpbXSxmbnM6W119LGw9dy5mb3JtcyxzPXcuZm5zO2lmKGwuaW5kZXhPZihmKT09 LTEpe2wucHVzaChmKTtsPWZ1bmN0aW9uKGEpe2MoYixkLGUsYSxnKX07Zi5hZGRF dmVudChhLGwpO3MucHVzaChsKTtyW2ldPXc7Yi5zdG9yZSgiJGRlbGVnYXRpb246 IithKyJsaXN0ZW5lcnMiLHIpfX19fX0sZj1mdW5jdGlvbihhKXtyZXR1cm57YmFz ZToiZm9jdXNpbiIsbGlzdGVuOmZ1bmN0aW9uKGIsZCxlLGYsZyl7dmFyIGk9e2Js dXI6ZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUV2ZW50cyhpKX19O2lbYV09ZnVuY3Rp b24oYSl7YyhiLGQsZSxhLGcpfTtmLnRhcmdldC5hZGRFdmVudHMoaSl9fX07YXx8 T2JqZWN0LmFwcGVuZChkLAp7c3VibWl0OmUoInN1Ym1pdCIpLHJlc2V0OmUoInJl c2V0IiksY2hhbmdlOmYoImNoYW5nZSIpLHNlbGVjdDpmKCJzZWxlY3QiKX0pO3Zh ciBhPUVsZW1lbnQucHJvdG90eXBlLGc9YS5hZGRFdmVudCxpPWEucmVtb3ZlRXZl bnQsYT1mdW5jdGlvbihhLGIpe3JldHVybiBmdW5jdGlvbihjLGQsZSl7aWYoYy5p bmRleE9mKCI6cmVsYXkiKT09LTEpcmV0dXJuIGEuY2FsbCh0aGlzLGMsZCxlKTt2 YXIgZj1TbGljay5wYXJzZShjKS5leHByZXNzaW9uc1swXVswXTtpZihmLnBzZXVk b3NbMF0ua2V5IT0icmVsYXkiKXJldHVybiBhLmNhbGwodGhpcyxjLGQsZSk7dmFy IGc9Zi50YWc7Zi5wc2V1ZG9zLnNsaWNlKDEpLmVhY2goZnVuY3Rpb24oYSl7Zz1n KygiOiIrYS5rZXkrKGEudmFsdWU/IigiK2EudmFsdWUrIikiOiIiKSl9KTthLmNh bGwodGhpcyxjLGQpO3JldHVybiBiLmNhbGwodGhpcyxnLGYucHNldWRvc1swXS52 YWx1ZSxkKX19O2I9ZnVuY3Rpb24oYSxjLGUsZil7dmFyIGc9dGhpcy5yZXRyaWV2 ZSgiJGRlbGVnYXRlcyIsCnt9KSxxPWdbYV07aWYoIXEpcmV0dXJuIHRoaXM7aWYo Zil7dmFyIGM9YSxlPXFbZl0uZGVsZWdhdG9yLHU9ZFthXXx8e30sYT11LmJhc2V8 fGM7dS5yZW1vdmUmJnUucmVtb3ZlKHRoaXMsZik7ZGVsZXRlIHFbZl07Z1tjXT1x O3JldHVybiBpLmNhbGwodGhpcyxhLGUpfWlmKGUpZm9yKHUgaW4gcSl7Zj1xW3Vd O2lmKGYubWF0Y2g9PWMmJmYuZm49PWUpcmV0dXJuIGIuY2FsbCh0aGlzLGEsYyxl LHUpfWVsc2UgZm9yKHUgaW4gcSl7Zj1xW3VdO2YubWF0Y2g9PWMmJmIuY2FsbCh0 aGlzLGEsYyxmLmZuLHUpfXJldHVybiB0aGlzfTtbRWxlbWVudCxXaW5kb3csRG9j dW1lbnRdLmludm9rZSgiaW1wbGVtZW50Iix7YWRkRXZlbnQ6YShnLGZ1bmN0aW9u KGEsYixlKXt2YXIgZj10aGlzLnJldHJpZXZlKCIkZGVsZWdhdGVzIix7fSksaT1m W2FdO2lmKGkpZm9yKHZhciBxIGluIGkpaWYoaVtxXS5mbj09ZSYmaVtxXS5tYXRj aD09YilyZXR1cm4gdGhpcztxPWE7dmFyIHU9YixyPWRbYV18fAp7fSxhPXIuYmFz ZXx8cSxiPWZ1bmN0aW9uKGEpe3JldHVybiBTbGljay5tYXRjaChhLHUpfSx3PUVs ZW1lbnQuRXZlbnRzW3FdO2lmKHcmJncuY29uZGl0aW9uKXZhciBsPWIscz13LmNv bmRpdGlvbixiPWZ1bmN0aW9uKGIsYyl7cmV0dXJuIGwoYixjKSYmcy5jYWxsKGIs YyxhKX07dmFyIHA9dGhpcyxuPVN0cmluZy51bmlxdWVJRCgpLHc9ci5saXN0ZW4/ ZnVuY3Rpb24oYSxjKXtpZighYyYmYSYmYS50YXJnZXQpYz1hLnRhcmdldDtjJiZy Lmxpc3RlbihwLGIsZSxhLGMsbil9OmZ1bmN0aW9uKGEsZCl7aWYoIWQmJmEmJmEu dGFyZ2V0KWQ9YS50YXJnZXQ7ZCYmYyhwLGIsZSxhLGQpfTtpfHwoaT17fSk7aVtu XT17bWF0Y2g6dSxmbjplLGRlbGVnYXRvcjp3fTtmW3FdPWk7cmV0dXJuIGcuY2Fs bCh0aGlzLGEsdyxyLmNhcHR1cmUpfSkscmVtb3ZlRXZlbnQ6YShpLGIpfSl9KSgp OwooZnVuY3Rpb24oKXtmdW5jdGlvbiBiKGEpe3JldHVybiBoKGEsIi1tb3otYm94 LXNpemluZyIpPT0iYm9yZGVyLWJveCJ9ZnVuY3Rpb24gYShhKXtyZXR1cm4gaChh LCJib3JkZXItdG9wLXdpZHRoIikudG9JbnQoKXx8MH1mdW5jdGlvbiBjKGEpe3Jl dHVybiBoKGEsImJvcmRlci1sZWZ0LXdpZHRoIikudG9JbnQoKXx8MH1mdW5jdGlv biBkKGEpe3JldHVybi9eKD86Ym9keXxodG1sKSQvaS50ZXN0KGEudGFnTmFtZSl9 ZnVuY3Rpb24gZShhKXthPWEuZ2V0RG9jdW1lbnQoKTtyZXR1cm4hYS5jb21wYXRN b2RlfHxhLmNvbXBhdE1vZGU9PSJDU1MxQ29tcGF0Ij9hLmh0bWw6YS5ib2R5fXZh ciBmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGc9ZG9jdW1lbnQuY3Jl YXRlRWxlbWVudCgiZGl2Iik7Zi5zdHlsZS5oZWlnaHQ9IjAiO2YuYXBwZW5kQ2hp bGQoZyk7dmFyIGk9Zy5vZmZzZXRQYXJlbnQ9PT1mLGY9Zz1udWxsLGo9ZnVuY3Rp b24oYSl7cmV0dXJuIGgoYSwicG9zaXRpb24iKSE9CiJzdGF0aWMifHxkKGEpfSxt PWZ1bmN0aW9uKGEpe3JldHVybiBqKGEpfHwvXig/OnRhYmxlfHRkfHRoKSQvaS50 ZXN0KGEudGFnTmFtZSl9O0VsZW1lbnQuaW1wbGVtZW50KHtzY3JvbGxUbzpmdW5j dGlvbihhLGIpe2lmKGQodGhpcykpdGhpcy5nZXRXaW5kb3coKS5zY3JvbGxUbyhh LGIpO2Vsc2V7dGhpcy5zY3JvbGxMZWZ0PWE7dGhpcy5zY3JvbGxUb3A9Yn1yZXR1 cm4gdGhpc30sZ2V0U2l6ZTpmdW5jdGlvbigpe3JldHVybiBkKHRoaXMpP3RoaXMu Z2V0V2luZG93KCkuZ2V0U2l6ZSgpOnt4OnRoaXMub2Zmc2V0V2lkdGgseTp0aGlz Lm9mZnNldEhlaWdodH19LGdldFNjcm9sbFNpemU6ZnVuY3Rpb24oKXtyZXR1cm4g ZCh0aGlzKT90aGlzLmdldFdpbmRvdygpLmdldFNjcm9sbFNpemUoKTp7eDp0aGlz LnNjcm9sbFdpZHRoLHk6dGhpcy5zY3JvbGxIZWlnaHR9fSxnZXRTY3JvbGw6ZnVu Y3Rpb24oKXtyZXR1cm4gZCh0aGlzKT90aGlzLmdldFdpbmRvdygpLmdldFNjcm9s bCgpOgp7eDp0aGlzLnNjcm9sbExlZnQseTp0aGlzLnNjcm9sbFRvcH19LGdldFNj cm9sbHM6ZnVuY3Rpb24oKXtmb3IodmFyIGE9dGhpcy5wYXJlbnROb2RlLGI9e3g6 MCx5OjB9O2EmJiFkKGEpOyl7Yi54PWIueCthLnNjcm9sbExlZnQ7Yi55PWIueSth LnNjcm9sbFRvcDthPWEucGFyZW50Tm9kZX1yZXR1cm4gYn0sZ2V0T2Zmc2V0UGFy ZW50Omk/ZnVuY3Rpb24oKXt2YXIgYT10aGlzO2lmKGQoYSl8fGgoYSwicG9zaXRp b24iKT09ImZpeGVkIilyZXR1cm4gbnVsbDtmb3IodmFyIGI9aChhLCJwb3NpdGlv biIpPT0ic3RhdGljIj9tOmo7YT1hLnBhcmVudE5vZGU7KWlmKGIoYSkpcmV0dXJu IGE7cmV0dXJuIG51bGx9OmZ1bmN0aW9uKCl7aWYoZCh0aGlzKXx8aCh0aGlzLCJw b3NpdGlvbiIpPT0iZml4ZWQiKXJldHVybiBudWxsO3RyeXtyZXR1cm4gdGhpcy5v ZmZzZXRQYXJlbnR9Y2F0Y2goYSl7fXJldHVybiBudWxsfSxnZXRPZmZzZXRzOmZ1 bmN0aW9uKCl7aWYodGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QmJgohQnJvd3Nl ci5QbGF0Zm9ybS5pb3Mpe3ZhciBlPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0 KCksZj1kb2N1bWVudC5pZCh0aGlzLmdldERvY3VtZW50KCkuZG9jdW1lbnRFbGVt ZW50KSxnPWYuZ2V0U2Nyb2xsKCksaT10aGlzLmdldFNjcm9sbHMoKSxqPWgodGhp cywicG9zaXRpb24iKT09ImZpeGVkIjtyZXR1cm57eDplLmxlZnQudG9JbnQoKStp LngrKGo/MDpnLngpLWYuY2xpZW50TGVmdCx5OmUudG9wLnRvSW50KCkraS55Kyhq PzA6Zy55KS1mLmNsaWVudFRvcH19ZT10aGlzO2Y9e3g6MCx5OjB9O2lmKGQodGhp cykpcmV0dXJuIGY7Zm9yKDtlJiYhZChlKTspe2YueD1mLngrZS5vZmZzZXRMZWZ0 O2YueT1mLnkrZS5vZmZzZXRUb3A7aWYoQnJvd3Nlci5maXJlZm94KXtpZighYihl KSl7Zi54PWYueCtjKGUpO2YueT1mLnkrYShlKX1pZigoZz1lLnBhcmVudE5vZGUp JiZoKGcsIm92ZXJmbG93IikhPSJ2aXNpYmxlIil7Zi54PWYueCtjKGcpO2YueT1m LnkrYShnKX19ZWxzZSBpZihlIT0KdGhpcyYmQnJvd3Nlci5zYWZhcmkpe2YueD1m LngrYyhlKTtmLnk9Zi55K2EoZSl9ZT1lLm9mZnNldFBhcmVudH1pZihCcm93c2Vy LmZpcmVmb3gmJiFiKHRoaXMpKXtmLng9Zi54LWModGhpcyk7Zi55PWYueS1hKHRo aXMpfXJldHVybiBmfSxnZXRQb3NpdGlvbjpmdW5jdGlvbihiKXt2YXIgZD10aGlz LmdldE9mZnNldHMoKSxlPXRoaXMuZ2V0U2Nyb2xscygpLGQ9e3g6ZC54LWUueCx5 OmQueS1lLnl9O2lmKGImJihiPWRvY3VtZW50LmlkKGIpKSl7ZT1iLmdldFBvc2l0 aW9uKCk7cmV0dXJue3g6ZC54LWUueC1jKGIpLHk6ZC55LWUueS1hKGIpfX1yZXR1 cm4gZH0sZ2V0Q29vcmRpbmF0ZXM6ZnVuY3Rpb24oYSl7aWYoZCh0aGlzKSlyZXR1 cm4gdGhpcy5nZXRXaW5kb3coKS5nZXRDb29yZGluYXRlcygpO3ZhciBhPXRoaXMu Z2V0UG9zaXRpb24oYSksYj10aGlzLmdldFNpemUoKSxhPXtsZWZ0OmEueCx0b3A6 YS55LHdpZHRoOmIueCxoZWlnaHQ6Yi55fTthLnJpZ2h0PWEubGVmdCthLndpZHRo OwphLmJvdHRvbT1hLnRvcCthLmhlaWdodDtyZXR1cm4gYX0sY29tcHV0ZVBvc2l0 aW9uOmZ1bmN0aW9uKGEpe3JldHVybntsZWZ0OmEueC0oaCh0aGlzLCJtYXJnaW4t bGVmdCIpLnRvSW50KCl8fDApLHRvcDphLnktKGgodGhpcywibWFyZ2luLXRvcCIp LnRvSW50KCl8fDApfX0sc2V0UG9zaXRpb246ZnVuY3Rpb24oYSl7cmV0dXJuIHRo aXMuc2V0U3R5bGVzKHRoaXMuY29tcHV0ZVBvc2l0aW9uKGEpKX19KTtbRG9jdW1l bnQsV2luZG93XS5pbnZva2UoImltcGxlbWVudCIse2dldFNpemU6ZnVuY3Rpb24o KXt2YXIgYT1lKHRoaXMpO3JldHVybnt4OmEuY2xpZW50V2lkdGgseTphLmNsaWVu dEhlaWdodH19LGdldFNjcm9sbDpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0V2lu ZG93KCksYj1lKHRoaXMpO3JldHVybnt4OmEucGFnZVhPZmZzZXR8fGIuc2Nyb2xs TGVmdCx5OmEucGFnZVlPZmZzZXR8fGIuc2Nyb2xsVG9wfX0sZ2V0U2Nyb2xsU2l6 ZTpmdW5jdGlvbigpe3ZhciBhPWUodGhpcyksCmI9dGhpcy5nZXRTaXplKCksYz10 aGlzLmdldERvY3VtZW50KCkuYm9keTtyZXR1cm57eDpNYXRoLm1heChhLnNjcm9s bFdpZHRoLGMuc2Nyb2xsV2lkdGgsYi54KSx5Ok1hdGgubWF4KGEuc2Nyb2xsSGVp Z2h0LGMuc2Nyb2xsSGVpZ2h0LGIueSl9fSxnZXRQb3NpdGlvbjpmdW5jdGlvbigp e3JldHVybnt4OjAseTowfX0sZ2V0Q29vcmRpbmF0ZXM6ZnVuY3Rpb24oKXt2YXIg YT10aGlzLmdldFNpemUoKTtyZXR1cm57dG9wOjAsbGVmdDowLGJvdHRvbTphLnks cmlnaHQ6YS54LGhlaWdodDphLnksd2lkdGg6YS54fX19KTt2YXIgaD1FbGVtZW50 LmdldENvbXB1dGVkU3R5bGV9KSgpO0VsZW1lbnQuYWxpYXMoe3Bvc2l0aW9uOiJz ZXRQb3NpdGlvbiJ9KTsKW1dpbmRvdyxEb2N1bWVudCxFbGVtZW50XS5pbnZva2Uo ImltcGxlbWVudCIse2dldEhlaWdodDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmdl dFNpemUoKS55fSxnZXRXaWR0aDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFNp emUoKS54fSxnZXRTY3JvbGxUb3A6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRT Y3JvbGwoKS55fSxnZXRTY3JvbGxMZWZ0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMu Z2V0U2Nyb2xsKCkueH0sZ2V0U2Nyb2xsSGVpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJu IHRoaXMuZ2V0U2Nyb2xsU2l6ZSgpLnl9LGdldFNjcm9sbFdpZHRoOmZ1bmN0aW9u KCl7cmV0dXJuIHRoaXMuZ2V0U2Nyb2xsU2l6ZSgpLnh9LGdldFRvcDpmdW5jdGlv bigpe3JldHVybiB0aGlzLmdldFBvc2l0aW9uKCkueX0sZ2V0TGVmdDpmdW5jdGlv bigpe3JldHVybiB0aGlzLmdldFBvc2l0aW9uKCkueH19KTsKKGZ1bmN0aW9uKCl7 dmFyIGI9dGhpcy5GeD1uZXcgQ2xhc3Moe0ltcGxlbWVudHM6W0NoYWluLEV2ZW50 cyxPcHRpb25zXSxvcHRpb25zOntmcHM6NjAsdW5pdDpmYWxzZSxkdXJhdGlvbjo1 MDAsZnJhbWVzOm51bGwsZnJhbWVTa2lwOnRydWUsbGluazoiaWdub3JlIn0saW5p dGlhbGl6ZTpmdW5jdGlvbihhKXt0aGlzLnN1YmplY3Q9dGhpcy5zdWJqZWN0fHx0 aGlzO3RoaXMuc2V0T3B0aW9ucyhhKX0sZ2V0VHJhbnNpdGlvbjpmdW5jdGlvbigp e3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4tKE1hdGguY29zKE1hdGguUEkqYSkt MSkvMn19LHN0ZXA6ZnVuY3Rpb24oYSl7aWYodGhpcy5vcHRpb25zLmZyYW1lU2tp cCl7dmFyIGI9KHRoaXMudGltZSE9bnVsbD9hLXRoaXMudGltZTowKS90aGlzLmZy YW1lSW50ZXJ2YWw7dGhpcy50aW1lPWE7dGhpcy5mcmFtZT10aGlzLmZyYW1lK2J9 ZWxzZSB0aGlzLmZyYW1lKys7aWYodGhpcy5mcmFtZTx0aGlzLmZyYW1lcyl0aGlz LnNldCh0aGlzLmNvbXB1dGUodGhpcy5mcm9tLAp0aGlzLnRvLHRoaXMudHJhbnNp dGlvbih0aGlzLmZyYW1lL3RoaXMuZnJhbWVzKSkpO2Vsc2V7dGhpcy5mcmFtZT10 aGlzLmZyYW1lczt0aGlzLnNldCh0aGlzLmNvbXB1dGUodGhpcy5mcm9tLHRoaXMu dG8sMSkpO3RoaXMuc3RvcCgpfX0sc2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhfSxj b21wdXRlOmZ1bmN0aW9uKGEsYyxkKXtyZXR1cm4gYi5jb21wdXRlKGEsYyxkKX0s Y2hlY2s6ZnVuY3Rpb24oKXtpZighdGhpcy5pc1J1bm5pbmcoKSlyZXR1cm4gdHJ1 ZTtzd2l0Y2godGhpcy5vcHRpb25zLmxpbmspe2Nhc2UgImNhbmNlbCI6dGhpcy5j YW5jZWwoKTtyZXR1cm4gdHJ1ZTtjYXNlICJjaGFpbiI6dGhpcy5jaGFpbih0aGlz LmNhbGxlci5wYXNzKGFyZ3VtZW50cyx0aGlzKSl9cmV0dXJuIGZhbHNlfSxzdGFy dDpmdW5jdGlvbihhLGMpe2lmKCF0aGlzLmNoZWNrKGEsYykpcmV0dXJuIHRoaXM7 dGhpcy5mcm9tPWE7dGhpcy50bz1jO3RoaXMuZnJhbWU9dGhpcy5vcHRpb25zLmZy YW1lU2tpcD8KMDotMTt0aGlzLnRpbWU9bnVsbDt0aGlzLnRyYW5zaXRpb249dGhp cy5nZXRUcmFuc2l0aW9uKCk7dmFyIGQ9dGhpcy5vcHRpb25zLmZyYW1lcyxmPXRo aXMub3B0aW9ucy5mcHMsaD10aGlzLm9wdGlvbnMuZHVyYXRpb247dGhpcy5kdXJh dGlvbj1iLkR1cmF0aW9uc1toXXx8aC50b0ludCgpO3RoaXMuZnJhbWVJbnRlcnZh bD0xRTMvZjt0aGlzLmZyYW1lcz1kfHxNYXRoLnJvdW5kKHRoaXMuZHVyYXRpb24v dGhpcy5mcmFtZUludGVydmFsKTt0aGlzLmZpcmVFdmVudCgic3RhcnQiLHRoaXMu c3ViamVjdCk7ZS5jYWxsKHRoaXMsZik7cmV0dXJuIHRoaXN9LHN0b3A6ZnVuY3Rp b24oKXtpZih0aGlzLmlzUnVubmluZygpKXt0aGlzLnRpbWU9bnVsbDtmLmNhbGwo dGhpcyx0aGlzLm9wdGlvbnMuZnBzKTtpZih0aGlzLmZyYW1lcz09dGhpcy5mcmFt ZSl7dGhpcy5maXJlRXZlbnQoImNvbXBsZXRlIix0aGlzLnN1YmplY3QpO3RoaXMu Y2FsbENoYWluKCl8fHRoaXMuZmlyZUV2ZW50KCJjaGFpbkNvbXBsZXRlIiwKdGhp cy5zdWJqZWN0KX1lbHNlIHRoaXMuZmlyZUV2ZW50KCJzdG9wIix0aGlzLnN1Ympl Y3QpfXJldHVybiB0aGlzfSxjYW5jZWw6ZnVuY3Rpb24oKXtpZih0aGlzLmlzUnVu bmluZygpKXt0aGlzLnRpbWU9bnVsbDtmLmNhbGwodGhpcyx0aGlzLm9wdGlvbnMu ZnBzKTt0aGlzLmZyYW1lPXRoaXMuZnJhbWVzO3RoaXMuZmlyZUV2ZW50KCJjYW5j ZWwiLHRoaXMuc3ViamVjdCkuY2xlYXJDaGFpbigpfXJldHVybiB0aGlzfSxwYXVz ZTpmdW5jdGlvbigpe2lmKHRoaXMuaXNSdW5uaW5nKCkpe3RoaXMudGltZT1udWxs O2YuY2FsbCh0aGlzLHRoaXMub3B0aW9ucy5mcHMpfXJldHVybiB0aGlzfSxyZXN1 bWU6ZnVuY3Rpb24oKXt0aGlzLmZyYW1lPHRoaXMuZnJhbWVzJiYhdGhpcy5pc1J1 bm5pbmcoKSYmZS5jYWxsKHRoaXMsdGhpcy5vcHRpb25zLmZwcyk7cmV0dXJuIHRo aXN9LGlzUnVubmluZzpmdW5jdGlvbigpe3ZhciBiPWFbdGhpcy5vcHRpb25zLmZw c107cmV0dXJuIGImJmIuY29udGFpbnModGhpcyl9fSk7CmIuY29tcHV0ZT1mdW5j dGlvbihhLGIsYyl7cmV0dXJuKGItYSkqYythfTtiLkR1cmF0aW9ucz17InNob3J0 IjoyNTAsbm9ybWFsOjUwMCwibG9uZyI6MUUzfTt2YXIgYT17fSxjPXt9LGQ9ZnVu Y3Rpb24oKXtmb3IodmFyIGE9RGF0ZS5ub3coKSxiPXRoaXMubGVuZ3RoO2ItLTsp e3ZhciBjPXRoaXNbYl07YyYmYy5zdGVwKGEpfX0sZT1mdW5jdGlvbihiKXt2YXIg ZT1hW2JdfHwoYVtiXT1bXSk7ZS5wdXNoKHRoaXMpO2NbYl18fChjW2JdPWQucGVy aW9kaWNhbChNYXRoLnJvdW5kKDFFMy9iKSxlKSl9LGY9ZnVuY3Rpb24oYil7dmFy IGQ9YVtiXTtpZihkKXtkLmVyYXNlKHRoaXMpO2lmKCFkLmxlbmd0aCYmY1tiXSl7 ZGVsZXRlIGFbYl07Y1tiXT1jbGVhckludGVydmFsKGNbYl0pfX19fSkoKTsKRngu Q1NTPW5ldyBDbGFzcyh7RXh0ZW5kczpGeCxwcmVwYXJlOmZ1bmN0aW9uKGIsYSxj KXt2YXIgYz1BcnJheS5mcm9tKGMpLGQ9Y1swXSxjPWNbMV07aWYoYz09bnVsbCl7 dmFyIGM9ZCxkPWIuZ2V0U3R5bGUoYSksZT10aGlzLm9wdGlvbnMudW5pdDtpZihl JiZkLnNsaWNlKC1lLmxlbmd0aCkhPWUmJnBhcnNlRmxvYXQoZCkhPTApe2Iuc2V0 U3R5bGUoYSxjK2UpO3ZhciBmPWIuZ2V0Q29tcHV0ZWRTdHlsZShhKTtpZighL3B4 JC8udGVzdChmKSl7Zj1iLnN0eWxlWygicGl4ZWwtIithKS5jYW1lbENhc2UoKV07 aWYoZj09bnVsbCl7dmFyIGc9Yi5zdHlsZS5sZWZ0O2Iuc3R5bGUubGVmdD1jK2U7 Zj1iLnN0eWxlLnBpeGVsTGVmdDtiLnN0eWxlLmxlZnQ9Z319ZD0oY3x8MSkvKHBh cnNlRmxvYXQoZil8fDEpKihwYXJzZUZsb2F0KGQpfHwwKTtiLnNldFN0eWxlKGEs ZCtlKX19cmV0dXJue2Zyb206dGhpcy5wYXJzZShkKSx0bzp0aGlzLnBhcnNlKGMp fX0scGFyc2U6ZnVuY3Rpb24oYil7Yj0KRnVuY3Rpb24uZnJvbShiKSgpO2I9dHlw ZW9mIGI9PSJzdHJpbmciP2Iuc3BsaXQoIiAiKTpBcnJheS5mcm9tKGIpO3JldHVy biBiLm1hcChmdW5jdGlvbihhKXt2YXIgYT0iIithLGI9ZmFsc2U7T2JqZWN0LmVh Y2goRnguQ1NTLlBhcnNlcnMsZnVuY3Rpb24oZCl7aWYoIWIpe3ZhciBlPWQucGFy c2UoYSk7aWYoZXx8ZT09PTApYj17dmFsdWU6ZSxwYXJzZXI6ZH19fSk7cmV0dXJu IGI9Ynx8e3ZhbHVlOmEscGFyc2VyOkZ4LkNTUy5QYXJzZXJzLlN0cmluZ319KX0s Y29tcHV0ZTpmdW5jdGlvbihiLGEsYyl7dmFyIGQ9W107TWF0aC5taW4oYi5sZW5n dGgsYS5sZW5ndGgpLnRpbWVzKGZ1bmN0aW9uKGUpe2QucHVzaCh7dmFsdWU6Yltl XS5wYXJzZXIuY29tcHV0ZShiW2VdLnZhbHVlLGFbZV0udmFsdWUsYykscGFyc2Vy OmJbZV0ucGFyc2VyfSl9KTtkLiRmYW1pbHk9RnVuY3Rpb24uZnJvbSgiZng6Y3Nz OnZhbHVlIik7cmV0dXJuIGR9LHNlcnZlOmZ1bmN0aW9uKGIsYSl7dHlwZU9mKGIp IT0KImZ4OmNzczp2YWx1ZSImJihiPXRoaXMucGFyc2UoYikpO3ZhciBjPVtdO2Iu ZWFjaChmdW5jdGlvbihiKXtjPWMuY29uY2F0KGIucGFyc2VyLnNlcnZlKGIudmFs dWUsYSkpfSk7cmV0dXJuIGN9LHJlbmRlcjpmdW5jdGlvbihiLGEsYyxkKXtiLnNl dFN0eWxlKGEsdGhpcy5zZXJ2ZShjLGQpKX0sc2VhcmNoOmZ1bmN0aW9uKGIpe2lm KEZ4LkNTUy5DYWNoZVtiXSlyZXR1cm4gRnguQ1NTLkNhY2hlW2JdO3ZhciBhPXt9 LGM9UmVnRXhwKCJeIitiLmVzY2FwZVJlZ0V4cCgpKyIkIik7QXJyYXkuZWFjaChk b2N1bWVudC5zdHlsZVNoZWV0cyxmdW5jdGlvbihiKXt2YXIgZT1iLmhyZWY7aWYo IWV8fCFlLmNvbnRhaW5zKCI6Ly8iKXx8ZS5jb250YWlucyhkb2N1bWVudC5kb21h aW4pKUFycmF5LmVhY2goYi5ydWxlc3x8Yi5jc3NSdWxlcyxmdW5jdGlvbihiKXtp ZihiLnN0eWxlKXt2YXIgZD1iLnNlbGVjdG9yVGV4dD9iLnNlbGVjdG9yVGV4dC5y ZXBsYWNlKC9eXHcrLyxmdW5jdGlvbihhKXtyZXR1cm4gYS50b0xvd2VyQ2FzZSgp fSk6Cm51bGw7ZCYmYy50ZXN0KGQpJiZPYmplY3QuZWFjaChFbGVtZW50LlN0eWxl cyxmdW5jdGlvbihjLGQpe2lmKGIuc3R5bGVbZF0mJiFFbGVtZW50LlNob3J0U3R5 bGVzW2RdKXtjPSIiK2Iuc3R5bGVbZF07YVtkXT0vXnJnYi8udGVzdChjKT9jLnJn YlRvSGV4KCk6Y319KX19KX0pO3JldHVybiBGeC5DU1MuQ2FjaGVbYl09YX19KTtG eC5DU1MuQ2FjaGU9e307CkZ4LkNTUy5QYXJzZXJzPXtDb2xvcjp7cGFyc2U6ZnVu Y3Rpb24oYil7cmV0dXJuIGIubWF0Y2goL14jWzAtOWEtZl17Myw2fSQvaSk/Yi5o ZXhUb1JnYih0cnVlKTooYj1iLm1hdGNoKC8oXGQrKSxccyooXGQrKSxccyooXGQr KS8pKT9bYlsxXSxiWzJdLGJbM11dOmZhbHNlfSxjb21wdXRlOmZ1bmN0aW9uKGIs YSxjKXtyZXR1cm4gYi5tYXAoZnVuY3Rpb24oZCxlKXtyZXR1cm4gTWF0aC5yb3Vu ZChGeC5jb21wdXRlKGJbZV0sYVtlXSxjKSl9KX0sc2VydmU6ZnVuY3Rpb24oYil7 cmV0dXJuIGIubWFwKE51bWJlcil9fSxOdW1iZXI6e3BhcnNlOnBhcnNlRmxvYXQs Y29tcHV0ZTpGeC5jb21wdXRlLHNlcnZlOmZ1bmN0aW9uKGIsYSl7cmV0dXJuIGE/ YithOmJ9fSxTdHJpbmc6e3BhcnNlOkZ1bmN0aW9uLmZyb20oITEpLGNvbXB1dGU6 ZnVuY3Rpb24oYixhKXtyZXR1cm4gYX0sc2VydmU6ZnVuY3Rpb24oYil7cmV0dXJu IGJ9fX07CkZ4LlR3ZWVuPW5ldyBDbGFzcyh7RXh0ZW5kczpGeC5DU1MsaW5pdGlh bGl6ZTpmdW5jdGlvbihiLGEpe3RoaXMuZWxlbWVudD10aGlzLnN1YmplY3Q9ZG9j dW1lbnQuaWQoYik7dGhpcy5wYXJlbnQoYSl9LHNldDpmdW5jdGlvbihiLGEpe2lm KGFyZ3VtZW50cy5sZW5ndGg9PTEpe2E9YjtiPXRoaXMucHJvcGVydHl8fHRoaXMu b3B0aW9ucy5wcm9wZXJ0eX10aGlzLnJlbmRlcih0aGlzLmVsZW1lbnQsYixhLHRo aXMub3B0aW9ucy51bml0KTtyZXR1cm4gdGhpc30sc3RhcnQ6ZnVuY3Rpb24oYixh LGMpe2lmKCF0aGlzLmNoZWNrKGIsYSxjKSlyZXR1cm4gdGhpczt2YXIgZD1BcnJh eS5mbGF0dGVuKGFyZ3VtZW50cyk7dGhpcy5wcm9wZXJ0eT10aGlzLm9wdGlvbnMu cHJvcGVydHl8fGQuc2hpZnQoKTtkPXRoaXMucHJlcGFyZSh0aGlzLmVsZW1lbnQs dGhpcy5wcm9wZXJ0eSxkKTtyZXR1cm4gdGhpcy5wYXJlbnQoZC5mcm9tLGQudG8p fX0pOwpFbGVtZW50LlByb3BlcnRpZXMudHdlZW49e3NldDpmdW5jdGlvbihiKXt0 aGlzLmdldCgidHdlZW4iKS5jYW5jZWwoKS5zZXRPcHRpb25zKGIpO3JldHVybiB0 aGlzfSxnZXQ6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLnJldHJpZXZlKCJ0d2VlbiIp O2lmKCFiKXtiPW5ldyBGeC5Ud2Vlbih0aGlzLHtsaW5rOiJjYW5jZWwifSk7dGhp cy5zdG9yZSgidHdlZW4iLGIpfXJldHVybiBifX07CkVsZW1lbnQuaW1wbGVtZW50 KHt0d2VlbjpmdW5jdGlvbihiLGEsYyl7dGhpcy5nZXQoInR3ZWVuIikuc3RhcnQo YixhLGMpO3JldHVybiB0aGlzfSxmYWRlOmZ1bmN0aW9uKGIpe3ZhciBhPXRoaXMu Z2V0KCJ0d2VlbiIpLGMsZD1bIm9wYWNpdHkiXS5hcHBlbmQoYXJndW1lbnRzKSxl O2RbMV09PW51bGwmJihkWzFdPSJ0b2dnbGUiKTtzd2l0Y2goZFsxXSl7Y2FzZSAi aW4iOmM9InN0YXJ0IjtkWzFdPTE7YnJlYWs7Y2FzZSAib3V0IjpjPSJzdGFydCI7 ZFsxXT0wO2JyZWFrO2Nhc2UgInNob3ciOmM9InNldCI7ZFsxXT0xO2JyZWFrO2Nh c2UgImhpZGUiOmM9InNldCI7ZFsxXT0wO2JyZWFrO2Nhc2UgInRvZ2dsZSI6ZT10 aGlzLnJldHJpZXZlKCJmYWRlOmZsYWciLHRoaXMuZ2V0U3R5bGUoIm9wYWNpdHki KT09MSk7Yz0ic3RhcnQiO2RbMV09ZT8wOjE7dGhpcy5zdG9yZSgiZmFkZTpmbGFn IiwhZSk7ZT10cnVlO2JyZWFrO2RlZmF1bHQ6Yz0ic3RhcnQifWV8fHRoaXMuZWxp bWluYXRlKCJmYWRlOmZsYWciKTsKYVtjXS5hcHBseShhLGQpO2Q9ZFtkLmxlbmd0 aC0xXTtjPT0ic2V0Inx8ZCE9MD90aGlzLnNldFN0eWxlKCJ2aXNpYmlsaXR5Iixk PT0wPyJoaWRkZW4iOiJ2aXNpYmxlIik6YS5jaGFpbihmdW5jdGlvbigpe3RoaXMu ZWxlbWVudC5zZXRTdHlsZSgidmlzaWJpbGl0eSIsImhpZGRlbiIpO3RoaXMuY2Fs bENoYWluKCl9KTtyZXR1cm4gdGhpc30saGlnaGxpZ2h0OmZ1bmN0aW9uKGIsYSl7 aWYoIWEpe2E9dGhpcy5yZXRyaWV2ZSgiaGlnaGxpZ2h0Om9yaWdpbmFsIix0aGlz LmdldFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIikpO2E9YT09InRyYW5zcGFyZW50 Ij8iI2ZmZiI6YX12YXIgYz10aGlzLmdldCgidHdlZW4iKTtjLnN0YXJ0KCJiYWNr Z3JvdW5kLWNvbG9yIixifHwiI2ZmZmY4OCIsYSkuY2hhaW4oZnVuY3Rpb24oKXt0 aGlzLnNldFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIix0aGlzLnJldHJpZXZlKCJo aWdobGlnaHQ6b3JpZ2luYWwiKSk7Yy5jYWxsQ2hhaW4oKX0uYmluZCh0aGlzKSk7 CnJldHVybiB0aGlzfX0pOwpGeC5Nb3JwaD1uZXcgQ2xhc3Moe0V4dGVuZHM6Rngu Q1NTLGluaXRpYWxpemU6ZnVuY3Rpb24oYixhKXt0aGlzLmVsZW1lbnQ9dGhpcy5z dWJqZWN0PWRvY3VtZW50LmlkKGIpO3RoaXMucGFyZW50KGEpfSxzZXQ6ZnVuY3Rp b24oYil7dHlwZW9mIGI9PSJzdHJpbmciJiYoYj10aGlzLnNlYXJjaChiKSk7Zm9y KHZhciBhIGluIGIpdGhpcy5yZW5kZXIodGhpcy5lbGVtZW50LGEsYlthXSx0aGlz Lm9wdGlvbnMudW5pdCk7cmV0dXJuIHRoaXN9LGNvbXB1dGU6ZnVuY3Rpb24oYixh LGMpe3ZhciBkPXt9LGU7Zm9yKGUgaW4gYilkW2VdPXRoaXMucGFyZW50KGJbZV0s YVtlXSxjKTtyZXR1cm4gZH0sc3RhcnQ6ZnVuY3Rpb24oYil7aWYoIXRoaXMuY2hl Y2soYikpcmV0dXJuIHRoaXM7dHlwZW9mIGI9PSJzdHJpbmciJiYoYj10aGlzLnNl YXJjaChiKSk7dmFyIGE9e30sYz17fSxkO2ZvcihkIGluIGIpe3ZhciBlPXRoaXMu cHJlcGFyZSh0aGlzLmVsZW1lbnQsZCxiW2RdKTthW2RdPWUuZnJvbTsKY1tkXT1l LnRvfXJldHVybiB0aGlzLnBhcmVudChhLGMpfX0pO0VsZW1lbnQuUHJvcGVydGll cy5tb3JwaD17c2V0OmZ1bmN0aW9uKGIpe3RoaXMuZ2V0KCJtb3JwaCIpLmNhbmNl bCgpLnNldE9wdGlvbnMoYik7cmV0dXJuIHRoaXN9LGdldDpmdW5jdGlvbigpe3Zh ciBiPXRoaXMucmV0cmlldmUoIm1vcnBoIik7aWYoIWIpe2I9bmV3IEZ4Lk1vcnBo KHRoaXMse2xpbms6ImNhbmNlbCJ9KTt0aGlzLnN0b3JlKCJtb3JwaCIsYil9cmV0 dXJuIGJ9fTtFbGVtZW50LmltcGxlbWVudCh7bW9ycGg6ZnVuY3Rpb24oYil7dGhp cy5nZXQoIm1vcnBoIikuc3RhcnQoYik7cmV0dXJuIHRoaXN9fSk7CkZ4LmltcGxl bWVudCh7Z2V0VHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciBiPXRoaXMub3B0aW9u cy50cmFuc2l0aW9ufHxGeC5UcmFuc2l0aW9ucy5TaW5lLmVhc2VJbk91dDtpZih0 eXBlb2YgYj09InN0cmluZyIpe3ZhciBhPWIuc3BsaXQoIjoiKSxiPUZ4LlRyYW5z aXRpb25zLGI9YlthWzBdXXx8YlthWzBdLmNhcGl0YWxpemUoKV07YVsxXSYmKGI9 YlsiZWFzZSIrYVsxXS5jYXBpdGFsaXplKCkrKGFbMl0/YVsyXS5jYXBpdGFsaXpl KCk6IiIpXSl9cmV0dXJuIGJ9fSk7RnguVHJhbnNpdGlvbj1mdW5jdGlvbihiLGEp e3ZhciBhPUFycmF5LmZyb20oYSksYz1mdW5jdGlvbihjKXtyZXR1cm4gYihjLGEp fTtyZXR1cm4gT2JqZWN0LmFwcGVuZChjLHtlYXNlSW46YyxlYXNlT3V0OmZ1bmN0 aW9uKGMpe3JldHVybiAxLWIoMS1jLGEpfSxlYXNlSW5PdXQ6ZnVuY3Rpb24oYyl7 cmV0dXJuKGM8PTAuNT9iKDIqYyxhKToyLWIoMiooMS1jKSxhKSkvMn19KX07Rngu VHJhbnNpdGlvbnM9e2xpbmVhcjpmdW5jdGlvbihiKXtyZXR1cm4gYn19OwpGeC5U cmFuc2l0aW9ucy5leHRlbmQ9ZnVuY3Rpb24oYil7Zm9yKHZhciBhIGluIGIpRngu VHJhbnNpdGlvbnNbYV09bmV3IEZ4LlRyYW5zaXRpb24oYlthXSl9OwpGeC5UcmFu c2l0aW9ucy5leHRlbmQoe1BvdzpmdW5jdGlvbihiLGEpe3JldHVybiBNYXRoLnBv dyhiLGEmJmFbMF18fDYpfSxFeHBvOmZ1bmN0aW9uKGIpe3JldHVybiBNYXRoLnBv dygyLDgqKGItMSkpfSxDaXJjOmZ1bmN0aW9uKGIpe3JldHVybiAxLU1hdGguc2lu KE1hdGguYWNvcyhiKSl9LFNpbmU6ZnVuY3Rpb24oYil7cmV0dXJuIDEtTWF0aC5j b3MoYipNYXRoLlBJLzIpfSxCYWNrOmZ1bmN0aW9uKGIsYSl7YT1hJiZhWzBdfHwx LjYxODtyZXR1cm4gTWF0aC5wb3coYiwyKSooKGErMSkqYi1hKX0sQm91bmNlOmZ1 bmN0aW9uKGIpe2Zvcih2YXIgYSxjPTAsZD0xOztjPWMrZCxkPWQvMilpZihiPj0o Ny00KmMpLzExKXthPWQqZC1NYXRoLnBvdygoMTEtNipjLTExKmIpLzQsMik7YnJl YWt9cmV0dXJuIGF9LEVsYXN0aWM6ZnVuY3Rpb24oYixhKXtyZXR1cm4gTWF0aC5w b3coMiwxMCotLWIpKk1hdGguY29zKDIwKmIqTWF0aC5QSSooYSYmYVswXXx8MSkv Myl9fSk7ClsiUXVhZCIsIkN1YmljIiwiUXVhcnQiLCJRdWludCJdLmVhY2goZnVu Y3Rpb24oYixhKXtGeC5UcmFuc2l0aW9uc1tiXT1uZXcgRnguVHJhbnNpdGlvbihm dW5jdGlvbihiKXtyZXR1cm4gTWF0aC5wb3coYixhKzIpfSl9KTsKKGZ1bmN0aW9u KCl7dmFyIGI9ZnVuY3Rpb24oKXt9LGE9Im9ucHJvZ3Jlc3MiaW4gbmV3IEJyb3dz ZXIuUmVxdWVzdCxjPXRoaXMuUmVxdWVzdD1uZXcgQ2xhc3Moe0ltcGxlbWVudHM6 W0NoYWluLEV2ZW50cyxPcHRpb25zXSxvcHRpb25zOnt1cmw6IiIsZGF0YToiIixo ZWFkZXJzOnsiWC1SZXF1ZXN0ZWQtV2l0aCI6IlhNTEh0dHBSZXF1ZXN0IixBY2Nl cHQ6InRleHQvamF2YXNjcmlwdCwgdGV4dC9odG1sLCBhcHBsaWNhdGlvbi94bWws IHRleHQveG1sLCAqLyoifSxhc3luYzp0cnVlLGZvcm1hdDpmYWxzZSxtZXRob2Q6 InBvc3QiLGxpbms6Imlnbm9yZSIsaXNTdWNjZXNzOm51bGwsZW11bGF0aW9uOnRy dWUsdXJsRW5jb2RlZDp0cnVlLGVuY29kaW5nOiJ1dGYtOCIsZXZhbFNjcmlwdHM6 ZmFsc2UsZXZhbFJlc3BvbnNlOmZhbHNlLHRpbWVvdXQ6MCxub0NhY2hlOmZhbHNl fSxpbml0aWFsaXplOmZ1bmN0aW9uKGEpe3RoaXMueGhyPW5ldyBCcm93c2VyLlJl cXVlc3Q7dGhpcy5zZXRPcHRpb25zKGEpOwp0aGlzLmhlYWRlcnM9dGhpcy5vcHRp b25zLmhlYWRlcnN9LG9uU3RhdGVDaGFuZ2U6ZnVuY3Rpb24oKXt2YXIgYz10aGlz LnhocjtpZihjLnJlYWR5U3RhdGU9PTQmJnRoaXMucnVubmluZyl7dGhpcy5ydW5u aW5nPWZhbHNlO3RoaXMuc3RhdHVzPTA7RnVuY3Rpb24uYXR0ZW1wdChmdW5jdGlv bigpe3ZhciBhPWMuc3RhdHVzO3RoaXMuc3RhdHVzPWE9PTEyMjM/MjA0OmF9LmJp bmQodGhpcykpO2Mub25yZWFkeXN0YXRlY2hhbmdlPWI7aWYoYSljLm9ucHJvZ3Jl c3M9Yy5vbmxvYWRzdGFydD1iO2NsZWFyVGltZW91dCh0aGlzLnRpbWVyKTt0aGlz LnJlc3BvbnNlPXt0ZXh0OnRoaXMueGhyLnJlc3BvbnNlVGV4dHx8IiIseG1sOnRo aXMueGhyLnJlc3BvbnNlWE1MfTt0aGlzLm9wdGlvbnMuaXNTdWNjZXNzLmNhbGwo dGhpcyx0aGlzLnN0YXR1cyk/dGhpcy5zdWNjZXNzKHRoaXMucmVzcG9uc2UudGV4 dCx0aGlzLnJlc3BvbnNlLnhtbCk6dGhpcy5mYWlsdXJlKCl9fSxpc1N1Y2Nlc3M6 ZnVuY3Rpb24oKXt2YXIgYT0KdGhpcy5zdGF0dXM7cmV0dXJuIGE+PTIwMCYmYTwz MDB9LGlzUnVubmluZzpmdW5jdGlvbigpe3JldHVybiEhdGhpcy5ydW5uaW5nfSxw cm9jZXNzU2NyaXB0czpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5vcHRpb25zLmV2 YWxSZXNwb25zZXx8LyhlY21hfGphdmEpc2NyaXB0Ly50ZXN0KHRoaXMuZ2V0SGVh ZGVyKCJDb250ZW50LXR5cGUiKSk/QnJvd3Nlci5leGVjKGEpOmEuc3RyaXBTY3Jp cHRzKHRoaXMub3B0aW9ucy5ldmFsU2NyaXB0cyl9LHN1Y2Nlc3M6ZnVuY3Rpb24o YSxiKXt0aGlzLm9uU3VjY2Vzcyh0aGlzLnByb2Nlc3NTY3JpcHRzKGEpLGIpfSxv blN1Y2Nlc3M6ZnVuY3Rpb24oKXt0aGlzLmZpcmVFdmVudCgiY29tcGxldGUiLGFy Z3VtZW50cykuZmlyZUV2ZW50KCJzdWNjZXNzIixhcmd1bWVudHMpLmNhbGxDaGFp bigpfSxmYWlsdXJlOmZ1bmN0aW9uKCl7dGhpcy5vbkZhaWx1cmUoKX0sb25GYWls dXJlOmZ1bmN0aW9uKCl7dGhpcy5maXJlRXZlbnQoImNvbXBsZXRlIikuZmlyZUV2 ZW50KCJmYWlsdXJlIiwKdGhpcy54aHIpfSxsb2Fkc3RhcnQ6ZnVuY3Rpb24oYSl7 dGhpcy5maXJlRXZlbnQoImxvYWRzdGFydCIsW2EsdGhpcy54aHJdKX0scHJvZ3Jl c3M6ZnVuY3Rpb24oYSl7dGhpcy5maXJlRXZlbnQoInByb2dyZXNzIixbYSx0aGlz Lnhocl0pfSx0aW1lb3V0OmZ1bmN0aW9uKCl7dGhpcy5maXJlRXZlbnQoInRpbWVv dXQiLHRoaXMueGhyKX0sc2V0SGVhZGVyOmZ1bmN0aW9uKGEsYil7dGhpcy5oZWFk ZXJzW2FdPWI7cmV0dXJuIHRoaXN9LGdldEhlYWRlcjpmdW5jdGlvbihhKXtyZXR1 cm4gRnVuY3Rpb24uYXR0ZW1wdChmdW5jdGlvbigpe3JldHVybiB0aGlzLnhoci5n ZXRSZXNwb25zZUhlYWRlcihhKX0uYmluZCh0aGlzKSl9LGNoZWNrOmZ1bmN0aW9u KCl7aWYoIXRoaXMucnVubmluZylyZXR1cm4gdHJ1ZTtzd2l0Y2godGhpcy5vcHRp b25zLmxpbmspe2Nhc2UgImNhbmNlbCI6dGhpcy5jYW5jZWwoKTtyZXR1cm4gdHJ1 ZTtjYXNlICJjaGFpbiI6dGhpcy5jaGFpbih0aGlzLmNhbGxlci5wYXNzKGFyZ3Vt ZW50cywKdGhpcykpfXJldHVybiBmYWxzZX0sc2VuZDpmdW5jdGlvbihiKXtpZigh dGhpcy5jaGVjayhiKSlyZXR1cm4gdGhpczt0aGlzLm9wdGlvbnMuaXNTdWNjZXNz PXRoaXMub3B0aW9ucy5pc1N1Y2Nlc3N8fHRoaXMuaXNTdWNjZXNzO3RoaXMucnVu bmluZz10cnVlO3ZhciBjPXR5cGVPZihiKTtpZihjPT0ic3RyaW5nInx8Yz09ImVs ZW1lbnQiKWI9e2RhdGE6Yn07dmFyIGM9dGhpcy5vcHRpb25zLGI9T2JqZWN0LmFw cGVuZCh7ZGF0YTpjLmRhdGEsdXJsOmMudXJsLG1ldGhvZDpjLm1ldGhvZH0sYiks Yz1iLmRhdGEsZD0iIitiLnVybCxiPWIubWV0aG9kLnRvTG93ZXJDYXNlKCk7c3dp dGNoKHR5cGVPZihjKSl7Y2FzZSAiZWxlbWVudCI6Yz1kb2N1bWVudC5pZChjKS50 b1F1ZXJ5U3RyaW5nKCk7YnJlYWs7Y2FzZSAib2JqZWN0IjpjYXNlICJoYXNoIjpj PU9iamVjdC50b1F1ZXJ5U3RyaW5nKGMpfWlmKHRoaXMub3B0aW9ucy5mb3JtYXQp dmFyIGk9ImZvcm1hdD0iK3RoaXMub3B0aW9ucy5mb3JtYXQsCmM9Yz9pKyImIitj Omk7aWYodGhpcy5vcHRpb25zLmVtdWxhdGlvbiYmIVsiZ2V0IiwicG9zdCJdLmNv bnRhaW5zKGIpKXtiPSJfbWV0aG9kPSIrYjtjPWM/YisiJiIrYzpiO2I9InBvc3Qi fXRoaXMub3B0aW9ucy51cmxFbmNvZGVkJiZbInBvc3QiLCJwdXQiXS5jb250YWlu cyhiKSYmKHRoaXMuaGVhZGVyc1siQ29udGVudC10eXBlIl09ImFwcGxpY2F0aW9u L3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIrKHRoaXMub3B0aW9ucy5lbmNvZGluZz8i OyBjaGFyc2V0PSIrdGhpcy5vcHRpb25zLmVuY29kaW5nOiIiKSk7aWYoIWQpZD1k b2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZTtpPWQubGFzdEluZGV4T2YoIi8iKTtp ZihpPi0xJiYoaT1kLmluZGV4T2YoIiMiKSk+LTEpZD1kLnN1YnN0cigwLGkpO3Ro aXMub3B0aW9ucy5ub0NhY2hlJiYoZD1kKygoZC5jb250YWlucygiPyIpPyImIjoi PyIpK1N0cmluZy51bmlxdWVJRCgpKSk7aWYoYyYmYj09ImdldCIpe2Q9ZCsoKGQu Y29udGFpbnMoIj8iKT8KIiYiOiI/IikrYyk7Yz1udWxsfXZhciBqPXRoaXMueGhy O2lmKGEpe2oub25sb2Fkc3RhcnQ9dGhpcy5sb2Fkc3RhcnQuYmluZCh0aGlzKTtq Lm9ucHJvZ3Jlc3M9dGhpcy5wcm9ncmVzcy5iaW5kKHRoaXMpfWoub3BlbihiLnRv VXBwZXJDYXNlKCksZCx0aGlzLm9wdGlvbnMuYXN5bmMsdGhpcy5vcHRpb25zLnVz ZXIsdGhpcy5vcHRpb25zLnBhc3N3b3JkKTtpZih0aGlzLm9wdGlvbnMudXNlciYm IndpdGhDcmVkZW50aWFscyJpbiBqKWoud2l0aENyZWRlbnRpYWxzPXRydWU7ai5v bnJlYWR5c3RhdGVjaGFuZ2U9dGhpcy5vblN0YXRlQ2hhbmdlLmJpbmQodGhpcyk7 T2JqZWN0LmVhY2godGhpcy5oZWFkZXJzLGZ1bmN0aW9uKGEsYil7dHJ5e2ouc2V0 UmVxdWVzdEhlYWRlcihiLGEpfWNhdGNoKGMpe3RoaXMuZmlyZUV2ZW50KCJleGNl cHRpb24iLFtiLGFdKX19LHRoaXMpO3RoaXMuZmlyZUV2ZW50KCJyZXF1ZXN0Iik7 ai5zZW5kKGMpO2lmKHRoaXMub3B0aW9ucy5hc3luYyl7aWYodGhpcy5vcHRpb25z LnRpbWVvdXQpdGhpcy50aW1lcj0KdGhpcy50aW1lb3V0LmRlbGF5KHRoaXMub3B0 aW9ucy50aW1lb3V0LHRoaXMpfWVsc2UgdGhpcy5vblN0YXRlQ2hhbmdlKCk7cmV0 dXJuIHRoaXN9LGNhbmNlbDpmdW5jdGlvbigpe2lmKCF0aGlzLnJ1bm5pbmcpcmV0 dXJuIHRoaXM7dGhpcy5ydW5uaW5nPWZhbHNlO3ZhciBjPXRoaXMueGhyO2MuYWJv cnQoKTtjbGVhclRpbWVvdXQodGhpcy50aW1lcik7Yy5vbnJlYWR5c3RhdGVjaGFu Z2U9YjtpZihhKWMub25wcm9ncmVzcz1jLm9ubG9hZHN0YXJ0PWI7dGhpcy54aHI9 bmV3IEJyb3dzZXIuUmVxdWVzdDt0aGlzLmZpcmVFdmVudCgiY2FuY2VsIik7cmV0 dXJuIHRoaXN9fSksZD17fTtbImdldCIsInBvc3QiLCJwdXQiLCJkZWxldGUiLCJH RVQiLCJQT1NUIiwiUFVUIiwiREVMRVRFIl0uZWFjaChmdW5jdGlvbihhKXtkW2Fd PWZ1bmN0aW9uKGIpe3ZhciBjPXttZXRob2Q6YX07aWYoYiE9bnVsbCljLmRhdGE9 YjtyZXR1cm4gdGhpcy5zZW5kKGMpfX0pO2MuaW1wbGVtZW50KGQpO0VsZW1lbnQu UHJvcGVydGllcy5zZW5kPQp7c2V0OmZ1bmN0aW9uKGEpe3RoaXMuZ2V0KCJzZW5k IikuY2FuY2VsKCkuc2V0T3B0aW9ucyhhKTtyZXR1cm4gdGhpc30sZ2V0OmZ1bmN0 aW9uKCl7dmFyIGE9dGhpcy5yZXRyaWV2ZSgic2VuZCIpO2lmKCFhKXthPW5ldyBj KHtkYXRhOnRoaXMsbGluazoiY2FuY2VsIixtZXRob2Q6dGhpcy5nZXQoIm1ldGhv ZCIpfHwicG9zdCIsdXJsOnRoaXMuZ2V0KCJhY3Rpb24iKX0pO3RoaXMuc3RvcmUo InNlbmQiLGEpfXJldHVybiBhfX07RWxlbWVudC5pbXBsZW1lbnQoe3NlbmQ6ZnVu Y3Rpb24oYSl7dmFyIGI9dGhpcy5nZXQoInNlbmQiKTtiLnNlbmQoe2RhdGE6dGhp cyx1cmw6YXx8Yi5vcHRpb25zLnVybH0pO3JldHVybiB0aGlzfX0pfSkoKTsKUmVx dWVzdC5IVE1MPW5ldyBDbGFzcyh7RXh0ZW5kczpSZXF1ZXN0LG9wdGlvbnM6e3Vw ZGF0ZTohMSxhcHBlbmQ6ITEsZXZhbFNjcmlwdHM6ITAsZmlsdGVyOiExLGhlYWRl cnM6e0FjY2VwdDoidGV4dC9odG1sLCBhcHBsaWNhdGlvbi94bWwsIHRleHQveG1s LCAqLyoifX0sc3VjY2VzczpmdW5jdGlvbihiKXt2YXIgYT10aGlzLm9wdGlvbnMs Yz10aGlzLnJlc3BvbnNlO2MuaHRtbD1iLnN0cmlwU2NyaXB0cyhmdW5jdGlvbihh KXtjLmphdmFzY3JpcHQ9YX0pO2lmKGI9Yy5odG1sLm1hdGNoKC88Ym9keVtePl0q PihbXHNcU10qPyk8XC9ib2R5Pi9pKSljLmh0bWw9YlsxXTtiPShuZXcgRWxlbWVu dCgiZGl2IikpLnNldCgiaHRtbCIsYy5odG1sKTtjLnRyZWU9Yi5jaGlsZE5vZGVz O2MuZWxlbWVudHM9Yi5nZXRFbGVtZW50cyhhLmZpbHRlcnx8IioiKTtpZihhLmZp bHRlciljLnRyZWU9Yy5lbGVtZW50cztpZihhLnVwZGF0ZSl7Yj1kb2N1bWVudC5p ZChhLnVwZGF0ZSkuZW1wdHkoKTsKYS5maWx0ZXI/Yi5hZG9wdChjLmVsZW1lbnRz KTpiLnNldCgiaHRtbCIsYy5odG1sKX1lbHNlIGlmKGEuYXBwZW5kKXt2YXIgZD1k b2N1bWVudC5pZChhLmFwcGVuZCk7YS5maWx0ZXI/Yy5lbGVtZW50cy5yZXZlcnNl KCkuaW5qZWN0KGQpOmQuYWRvcHQoYi5nZXRDaGlsZHJlbigpKX1hLmV2YWxTY3Jp cHRzJiZCcm93c2VyLmV4ZWMoYy5qYXZhc2NyaXB0KTt0aGlzLm9uU3VjY2Vzcyhj LnRyZWUsYy5lbGVtZW50cyxjLmh0bWwsYy5qYXZhc2NyaXB0KX19KTtFbGVtZW50 LlByb3BlcnRpZXMubG9hZD17c2V0OmZ1bmN0aW9uKGIpe3RoaXMuZ2V0KCJsb2Fk IikuY2FuY2VsKCkuc2V0T3B0aW9ucyhiKTtyZXR1cm4gdGhpc30sZ2V0OmZ1bmN0 aW9uKCl7dmFyIGI9dGhpcy5yZXRyaWV2ZSgibG9hZCIpO2lmKCFiKXtiPW5ldyBS ZXF1ZXN0LkhUTUwoe2RhdGE6dGhpcyxsaW5rOiJjYW5jZWwiLHVwZGF0ZTp0aGlz LG1ldGhvZDoiZ2V0In0pO3RoaXMuc3RvcmUoImxvYWQiLGIpfXJldHVybiBifX07 CkVsZW1lbnQuaW1wbGVtZW50KHtsb2FkOmZ1bmN0aW9uKCl7dGhpcy5nZXQoImxv YWQiKS5zZW5kKEFycmF5LmxpbmsoYXJndW1lbnRzLHtkYXRhOlR5cGUuaXNPYmpl Y3QsdXJsOlR5cGUuaXNTdHJpbmd9KSk7cmV0dXJuIHRoaXN9fSk7InVuZGVmaW5l ZCI9PXR5cGVvZiBKU09OJiYodGhpcy5KU09OPXt9KTsKKGZ1bmN0aW9uKCl7dmFy IGI9eyJcdTAwMDgiOiJcXGIiLCJcdCI6IlxcdCIsIlxuIjoiXFxuIiwiXHUwMDBj IjoiXFxmIiwiXHIiOiJcXHIiLCciJzonXFwiJywiXFwiOiJcXFxcIn0sYT1mdW5j dGlvbihhKXtyZXR1cm4gYlthXXx8IlxcdSIrKCIwMDAwIithLmNoYXJDb2RlQXQo MCkudG9TdHJpbmcoMTYpKS5zbGljZSgtNCl9O0pTT04udmFsaWRhdGU9ZnVuY3Rp b24oYSl7YT1hLnJlcGxhY2UoL1xcKD86WyJcXFwvYmZucnRdfHVbMC05YS1mQS1G XXs0fSkvZywiQCIpLnJlcGxhY2UoLyJbXiJcXFxuXHJdKiJ8dHJ1ZXxmYWxzZXxu dWxsfC0/XGQrKD86XC5cZCopPyg/OltlRV1bK1wtXT9cZCspPy9nLCJdIikucmVw bGFjZSgvKD86Xnw6fCwpKD86XHMqXFspKy9nLCIiKTtyZXR1cm4vXltcXSw6e31c c10qJC8udGVzdChhKX07SlNPTi5lbmNvZGU9SlNPTi5zdHJpbmdpZnk/ZnVuY3Rp b24oYSl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KGEpfTpmdW5jdGlvbihiKXtiJiZi LnRvSlNPTiYmCihiPWIudG9KU09OKCkpO3N3aXRjaCh0eXBlT2YoYikpe2Nhc2Ug InN0cmluZyI6cmV0dXJuJyInK2IucmVwbGFjZSgvW1x4MDAtXHgxZlxcIl0vZyxh KSsnIic7Y2FzZSAiYXJyYXkiOnJldHVybiJbIitiLm1hcChKU09OLmVuY29kZSku Y2xlYW4oKSsiXSI7Y2FzZSAib2JqZWN0IjpjYXNlICJoYXNoIjp2YXIgZD1bXTtP YmplY3QuZWFjaChiLGZ1bmN0aW9uKGEsYil7dmFyIGM9SlNPTi5lbmNvZGUoYSk7 YyYmZC5wdXNoKEpTT04uZW5jb2RlKGIpKyI6IitjKX0pO3JldHVybiJ7IitkKyJ9 IjtjYXNlICJudW1iZXIiOmNhc2UgImJvb2xlYW4iOnJldHVybiIiK2I7Y2FzZSAi bnVsbCI6cmV0dXJuIm51bGwifXJldHVybiBudWxsfTtKU09OLmRlY29kZT1mdW5j dGlvbihhLGIpe2lmKCFhfHx0eXBlT2YoYSkhPSJzdHJpbmciKXJldHVybiBudWxs O2lmKGJ8fEpTT04uc2VjdXJlKXtpZihKU09OLnBhcnNlKXJldHVybiBKU09OLnBh cnNlKGEpO2lmKCFKU09OLnZhbGlkYXRlKGEpKXRocm93IEVycm9yKCJKU09OIGNv dWxkIG5vdCBkZWNvZGUgdGhlIGlucHV0OyBzZWN1cml0eSBpcyBlbmFibGVkIGFu ZCB0aGUgdmFsdWUgaXMgbm90IHNlY3VyZS4iKTsKfXJldHVybiBldmFsKCIoIith KyIpIil9fSkoKTtSZXF1ZXN0LkpTT049bmV3IENsYXNzKHtFeHRlbmRzOlJlcXVl c3Qsb3B0aW9uczp7c2VjdXJlOiEwfSxpbml0aWFsaXplOmZ1bmN0aW9uKGIpe3Ro aXMucGFyZW50KGIpO09iamVjdC5hcHBlbmQodGhpcy5oZWFkZXJzLHtBY2NlcHQ6 ImFwcGxpY2F0aW9uL2pzb24iLCJYLVJlcXVlc3QiOiJKU09OIn0pfSxzdWNjZXNz OmZ1bmN0aW9uKGIpe3ZhciBhO3RyeXthPXRoaXMucmVzcG9uc2UuanNvbj1KU09O LmRlY29kZShiLHRoaXMub3B0aW9ucy5zZWN1cmUpfWNhdGNoKGMpe3RoaXMuZmly ZUV2ZW50KCJlcnJvciIsW2IsY10pO3JldHVybn1pZihhPT1udWxsKXRoaXMub25G YWlsdXJlKCk7ZWxzZSB0aGlzLm9uU3VjY2VzcyhhLGIpfX0pOwp2YXIgQ29va2ll PW5ldyBDbGFzcyh7SW1wbGVtZW50czpPcHRpb25zLG9wdGlvbnM6e3BhdGg6Ii8i LGRvbWFpbjohMSxkdXJhdGlvbjohMSxzZWN1cmU6ITEsZG9jdW1lbnQ6ZG9jdW1l bnQsZW5jb2RlOiEwfSxpbml0aWFsaXplOmZ1bmN0aW9uKGIsYSl7dGhpcy5rZXk9 Yjt0aGlzLnNldE9wdGlvbnMoYSl9LHdyaXRlOmZ1bmN0aW9uKGIpe3RoaXMub3B0 aW9ucy5lbmNvZGUmJihiPWVuY29kZVVSSUNvbXBvbmVudChiKSk7dGhpcy5vcHRp b25zLmRvbWFpbiYmKGI9YisoIjsgZG9tYWluPSIrdGhpcy5vcHRpb25zLmRvbWFp bikpO3RoaXMub3B0aW9ucy5wYXRoJiYoYj1iKygiOyBwYXRoPSIrdGhpcy5vcHRp b25zLnBhdGgpKTtpZih0aGlzLm9wdGlvbnMuZHVyYXRpb24pe3ZhciBhPW5ldyBE YXRlO2Euc2V0VGltZShhLmdldFRpbWUoKSt0aGlzLm9wdGlvbnMuZHVyYXRpb24q ODY0RTUpO2I9YisoIjsgZXhwaXJlcz0iK2EudG9HTVRTdHJpbmcoKSl9dGhpcy5v cHRpb25zLnNlY3VyZSYmCihiPWIrIjsgc2VjdXJlIik7dGhpcy5vcHRpb25zLmRv Y3VtZW50LmNvb2tpZT10aGlzLmtleSsiPSIrYjtyZXR1cm4gdGhpc30scmVhZDpm dW5jdGlvbigpe3ZhciBiPXRoaXMub3B0aW9ucy5kb2N1bWVudC5jb29raWUubWF0 Y2goIig/Ol58OylcXHMqIit0aGlzLmtleS5lc2NhcGVSZWdFeHAoKSsiPShbXjtd KikiKTtyZXR1cm4gYj9kZWNvZGVVUklDb21wb25lbnQoYlsxXSk6bnVsbH0sZGlz cG9zZTpmdW5jdGlvbigpeyhuZXcgQ29va2llKHRoaXMua2V5LE9iamVjdC5tZXJn ZSh7fSx0aGlzLm9wdGlvbnMse2R1cmF0aW9uOi0xfSkpKS53cml0ZSgiIik7cmV0 dXJuIHRoaXN9fSk7Q29va2llLndyaXRlPWZ1bmN0aW9uKGIsYSxjKXtyZXR1cm4o bmV3IENvb2tpZShiLGMpKS53cml0ZShhKX07Q29va2llLnJlYWQ9ZnVuY3Rpb24o Yil7cmV0dXJuKG5ldyBDb29raWUoYikpLnJlYWQoKX07Q29va2llLmRpc3Bvc2U9 ZnVuY3Rpb24oYixhKXtyZXR1cm4obmV3IENvb2tpZShiLGEpKS5kaXNwb3NlKCl9 OwooZnVuY3Rpb24oYixhKXt2YXIgYyxkLGU9W10sZixnLGk9YS5jcmVhdGVFbGVt ZW50KCJkaXYiKSxqPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KGcpO2lmKCFjKXtC cm93c2VyLmxvYWRlZD1jPXRydWU7YS5yZW1vdmVMaXN0ZW5lcigiRE9NQ29udGVu dExvYWRlZCIsaikucmVtb3ZlTGlzdGVuZXIoInJlYWR5c3RhdGVjaGFuZ2UiLG0p O2EuZmlyZUV2ZW50KCJkb21yZWFkeSIpO2IuZmlyZUV2ZW50KCJkb21yZWFkeSIp fX0sbT1mdW5jdGlvbigpe2Zvcih2YXIgYT1lLmxlbmd0aDthLS07KWlmKGVbYV0o KSl7aigpO3JldHVybiB0cnVlfXJldHVybiBmYWxzZX0saD1mdW5jdGlvbigpe2Ns ZWFyVGltZW91dChnKTttKCl8fChnPXNldFRpbWVvdXQoaCwxMCkpfTthLmFkZExp c3RlbmVyKCJET01Db250ZW50TG9hZGVkIixqKTt2YXIgaz1mdW5jdGlvbigpe3Ry eXtpLmRvU2Nyb2xsKCk7cmV0dXJuIHRydWV9Y2F0Y2goYSl7fXJldHVybiBmYWxz ZX07aWYoaS5kb1Njcm9sbCYmIWsoKSl7ZS5wdXNoKGspOwpmPXRydWV9YS5yZWFk eVN0YXRlJiZlLnB1c2goZnVuY3Rpb24oKXt2YXIgYj1hLnJlYWR5U3RhdGU7cmV0 dXJuIGI9PSJsb2FkZWQifHxiPT0iY29tcGxldGUifSk7Im9ucmVhZHlzdGF0ZWNo YW5nZSJpbiBhP2EuYWRkTGlzdGVuZXIoInJlYWR5c3RhdGVjaGFuZ2UiLG0pOmY9 dHJ1ZTtmJiZoKCk7RWxlbWVudC5FdmVudHMuZG9tcmVhZHk9e29uQWRkOmZ1bmN0 aW9uKGEpe2MmJmEuY2FsbCh0aGlzKX19O0VsZW1lbnQuRXZlbnRzLmxvYWQ9e2Jh c2U6ImxvYWQiLG9uQWRkOmZ1bmN0aW9uKGEpe2QmJnRoaXM9PWImJmEuY2FsbCh0 aGlzKX0sY29uZGl0aW9uOmZ1bmN0aW9uKCl7aWYodGhpcz09Yil7aigpO2RlbGV0 ZSBFbGVtZW50LkV2ZW50cy5sb2FkfXJldHVybiB0cnVlfX07Yi5hZGRFdmVudCgi bG9hZCIsZnVuY3Rpb24oKXtkPXRydWV9KX0pKHdpbmRvdyxkb2N1bWVudCk7Cihm dW5jdGlvbigpe3ZhciBiPXRoaXMuU3dpZmY9bmV3IENsYXNzKHtJbXBsZW1lbnRz Ok9wdGlvbnMsb3B0aW9uczp7aWQ6bnVsbCxoZWlnaHQ6MSx3aWR0aDoxLGNvbnRh aW5lcjpudWxsLHByb3BlcnRpZXM6e30scGFyYW1zOntxdWFsaXR5OiJoaWdoIixh bGxvd1NjcmlwdEFjY2VzczoiYWx3YXlzIix3TW9kZToid2luZG93Iixzd0xpdmVD b25uZWN0OnRydWV9LGNhbGxCYWNrczp7fSx2YXJzOnt9fSx0b0VsZW1lbnQ6ZnVu Y3Rpb24oKXtyZXR1cm4gdGhpcy5vYmplY3R9LGluaXRpYWxpemU6ZnVuY3Rpb24o YSxjKXt0aGlzLmluc3RhbmNlPSJTd2lmZl8iK1N0cmluZy51bmlxdWVJRCgpO3Ro aXMuc2V0T3B0aW9ucyhjKTt2YXIgYz10aGlzLm9wdGlvbnMsZD10aGlzLmlkPWMu aWR8fHRoaXMuaW5zdGFuY2UsZT1kb2N1bWVudC5pZChjLmNvbnRhaW5lcik7Yi5D YWxsQmFja3NbdGhpcy5pbnN0YW5jZV09e307dmFyIGY9Yy5wYXJhbXMsZz1jLnZh cnMsaT1jLmNhbGxCYWNrcyxqPQpPYmplY3QuYXBwZW5kKHtoZWlnaHQ6Yy5oZWln aHQsd2lkdGg6Yy53aWR0aH0sYy5wcm9wZXJ0aWVzKSxtPXRoaXMsaDtmb3IoaCBp biBpKXtiLkNhbGxCYWNrc1t0aGlzLmluc3RhbmNlXVtoXT1mdW5jdGlvbihhKXty ZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYS5hcHBseShtLm9iamVjdCxhcmd1bWVu dHMpfX0oaVtoXSk7Z1toXT0iU3dpZmYuQ2FsbEJhY2tzLiIrdGhpcy5pbnN0YW5j ZSsiLiIraH1mLmZsYXNoVmFycz1PYmplY3QudG9RdWVyeVN0cmluZyhnKTtpZihC cm93c2VyLmllKXtqLmNsYXNzaWQ9ImNsc2lkOkQyN0NEQjZFLUFFNkQtMTFjZi05 NkI4LTQ0NDU1MzU0MDAwMCI7Zi5tb3ZpZT1hfWVsc2Ugai50eXBlPSJhcHBsaWNh dGlvbi94LXNob2Nrd2F2ZS1mbGFzaCI7ai5kYXRhPWE7dmFyIGQ9JzxvYmplY3Qg aWQ9IicrZCsnIicsaztmb3IoayBpbiBqKWQ9ZCsoIiAiK2srJz0iJytqW2tdKyci Jyk7dmFyIGQ9ZCsiPiIsbztmb3IobyBpbiBmKWZbb10mJihkPWQrKCc8cGFyYW0g bmFtZT0iJysKbysnIiB2YWx1ZT0iJytmW29dKyciIC8+JykpO3RoaXMub2JqZWN0 PShlP2UuZW1wdHkoKTpuZXcgRWxlbWVudCgiZGl2IikpLnNldCgiaHRtbCIsZCsi PC9vYmplY3Q+IikuZmlyc3RDaGlsZH0scmVwbGFjZXM6ZnVuY3Rpb24oYSl7YT1k b2N1bWVudC5pZChhLHRydWUpO2EucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQodGhp cy50b0VsZW1lbnQoKSxhKTtyZXR1cm4gdGhpc30saW5qZWN0OmZ1bmN0aW9uKGEp e2RvY3VtZW50LmlkKGEsdHJ1ZSkuYXBwZW5kQ2hpbGQodGhpcy50b0VsZW1lbnQo KSk7cmV0dXJuIHRoaXN9LHJlbW90ZTpmdW5jdGlvbigpe3JldHVybiBiLnJlbW90 ZS5hcHBseShiLFt0aGlzLnRvRWxlbWVudCgpXS5hcHBlbmQoYXJndW1lbnRzKSl9 fSk7Yi5DYWxsQmFja3M9e307Yi5yZW1vdGU9ZnVuY3Rpb24oYSxiKXt2YXIgZD1h LkNhbGxGdW5jdGlvbignPGludm9rZSBuYW1lPSInK2IrJyIgcmV0dXJudHlwZT0i amF2YXNjcmlwdCI+JytfX2ZsYXNoX19hcmd1bWVudHNUb1hNTChhcmd1bWVudHMs CjIpKyI8L2ludm9rZT4iKTtyZXR1cm4gZXZhbChkKX19KSgpOw== ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline; filename=core.js Content-Type: application/javascript; name=core.js Content-Location: http://bassreview.net/home/media/system/js/core.js Content-Transfer-Encoding: Base64 LyoKCQlHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgb3IgbGF0 ZXI7IHNlZSBMSUNFTlNFLnR4dAoqLwppZigidW5kZWZpbmVkIj09PXR5cGVvZiBK b29tbGEpdmFyIEpvb21sYT17fTtKb29tbGEuZWRpdG9ycz17fTtKb29tbGEuZWRp dG9ycy5pbnN0YW5jZXM9e307Sm9vbWxhLnN1Ym1pdGZvcm09ZnVuY3Rpb24oYSxi KXsidW5kZWZpbmVkIj09PXR5cGVvZiBiJiYoYj1kb2N1bWVudC5nZXRFbGVtZW50 QnlJZCgiYWRtaW5Gb3JtIikpOyJ1bmRlZmluZWQiIT09dHlwZW9mIGEmJiIiIT09 YSYmKGIudGFzay52YWx1ZT1hKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgYi5vbnN1 Ym1pdCliLm9uc3VibWl0KCk7ImZ1bmN0aW9uIj09dHlwZW9mIGIuZmlyZUV2ZW50 JiZiLmZpcmVFdmVudCgic3VibWl0Iik7Yi5zdWJtaXQoKX07Sm9vbWxhLnN1Ym1p dGJ1dHRvbj1mdW5jdGlvbihhKXtKb29tbGEuc3VibWl0Zm9ybShhKX07Ckpvb21s YS5KVGV4dD17c3RyaW5nczp7fSxfOmZ1bmN0aW9uKGEsYil7cmV0dXJuInVuZGVm aW5lZCIhPT10eXBlb2YgdGhpcy5zdHJpbmdzW2EudG9VcHBlckNhc2UoKV0/dGhp cy5zdHJpbmdzW2EudG9VcHBlckNhc2UoKV06Yn0sbG9hZDpmdW5jdGlvbihhKXtm b3IodmFyIGIgaW4gYSl0aGlzLnN0cmluZ3NbYi50b1VwcGVyQ2FzZSgpXT1hW2Jd O3JldHVybiB0aGlzfX07Sm9vbWxhLnJlcGxhY2VUb2tlbnM9ZnVuY3Rpb24oYSl7 Zm9yKHZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIp LGM9MDtjPGIubGVuZ3RoO2MrKykiaGlkZGVuIj09YltjXS50eXBlJiYzMj09Yltj XS5uYW1lLmxlbmd0aCYmIjEiPT1iW2NdLnZhbHVlJiYoYltjXS5uYW1lPWEpfTtK b29tbGEuaXNFbWFpbD1mdW5jdGlvbihhKXtyZXR1cm4vXltcdy1fLl0qW1x3LV8u XUBbXHddLitbXHddK1tcd10kLy50ZXN0KGEpfTsKSm9vbWxhLmNoZWNrQWxsPWZ1 bmN0aW9uKGEsYil7Ynx8KGI9ImNiIik7aWYoYS5mb3JtKXtmb3IodmFyIGM9MCxk PTAsZj1hLmZvcm0uZWxlbWVudHMubGVuZ3RoO2Q8ZjtkKyspe3ZhciBlPWEuZm9y bS5lbGVtZW50c1tkXTtpZihlLnR5cGU9PWEudHlwZSYmKGImJjA9PWUuaWQuaW5k ZXhPZihiKXx8IWIpKWUuY2hlY2tlZD1hLmNoZWNrZWQsYys9ITA9PWUuY2hlY2tl ZD8xOjB9YS5mb3JtLmJveGNoZWNrZWQmJihhLmZvcm0uYm94Y2hlY2tlZC52YWx1 ZT1jKTtyZXR1cm4hMH1yZXR1cm4hMX07Ckpvb21sYS5yZW5kZXJNZXNzYWdlcz1m dW5jdGlvbihpKXtKb29tbGEucmVtb3ZlTWVzc2FnZXMoKTt2YXIgaj1kb2N1bWVu dC5pZCgnc3lzdGVtLW1lc3NhZ2UtY29udGFpbmVyJyk7T2JqZWN0LmVhY2goaSxm dW5jdGlvbihkLGUpe3ZhciBmPW5ldyBFbGVtZW50KCdkaXYnLHtpZDonc3lzdGVt LW1lc3NhZ2UnLCdjbGFzcyc6J2FsZXJ0IGFsZXJ0LScrZX0pO2YuaW5qZWN0KGop O3ZhciBnPW5ldyBFbGVtZW50KCdoNCcseydjbGFzcyc6J2FsZXJ0LWhlYWRpbmcn LGh0bWw6Sm9vbWxhLkpUZXh0Ll8oZSl9KTtnLmluamVjdChmKTt2YXIgaD1uZXcg RWxlbWVudCgnZGl2Jyk7QXJyYXkuZWFjaChkLGZ1bmN0aW9uKGEsYixjKXt2YXIg cD1uZXcgRWxlbWVudCgncCcse2h0bWw6YX0pO3AuaW5qZWN0KGgpfSx0aGlzKTto LmluamVjdChmKX0sdGhpcyl9O0pvb21sYS5yZW1vdmVNZXNzYWdlcz1mdW5jdGlv bigpeyQkKCIjc3lzdGVtLW1lc3NhZ2UtY29udGFpbmVyID4gKiIpLmRlc3Ryb3ko KX07Ckpvb21sYS5pc0NoZWNrZWQ9ZnVuY3Rpb24oYSxiKXsidW5kZWZpbmVkIj09 PXR5cGVvZiBiJiYoYj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWRtaW5Gb3Jt IikpOyEwPT1hP2IuYm94Y2hlY2tlZC52YWx1ZSsrOmIuYm94Y2hlY2tlZC52YWx1 ZS0tfTtKb29tbGEucG9wdXBXaW5kb3c9ZnVuY3Rpb24oYSxiLGMsZCxmKXt3aW5k b3cub3BlbihhLGIsImhlaWdodD0iK2QrIix3aWR0aD0iK2MrIix0b3A9Iisoc2Ny ZWVuLmhlaWdodC1kKS8yKyIsbGVmdD0iKyhzY3JlZW4ud2lkdGgtYykvMisiLHNj cm9sbGJhcnM9IitmKyIscmVzaXphYmxlIikud2luZG93LmZvY3VzKCl9OwpKb29t bGEudGFibGVPcmRlcmluZz1mdW5jdGlvbihhLGIsYyxkKXsidW5kZWZpbmVkIj09 PXR5cGVvZiBkJiYoZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWRtaW5Gb3Jt IikpO2QuZmlsdGVyX29yZGVyLnZhbHVlPWE7ZC5maWx0ZXJfb3JkZXJfRGlyLnZh bHVlPWI7Sm9vbWxhLnN1Ym1pdGZvcm0oYyxkKX07ZnVuY3Rpb24gd3JpdGVEeW5h TGlzdChhLGIsYyxkLGYpe3ZhciBhPSJcblx0PHNlbGVjdCAiK2ErIj4iLGU9MDtm b3IoeCBpbiBiKXtpZihiW3hdWzBdPT1jKXt2YXIgZz0iIjtpZihkPT1jJiZmPT1i W3hdWzFdfHwwPT1lJiZkIT1jKWc9J3NlbGVjdGVkPSJzZWxlY3RlZCInO2ErPSdc blx0XHQ8b3B0aW9uIHZhbHVlPSInK2JbeF1bMV0rJyIgJytnKyI+IitiW3hdWzJd KyI8L29wdGlvbj4ifWUrK31kb2N1bWVudC53cml0ZWxuKGErIlxuXHQ8L3NlbGVj dD4iKX0KZnVuY3Rpb24gY2hhbmdlRHluYUxpc3QoYSxiLGMsZCxmKXthPWRvY3Vt ZW50LmFkbWluRm9ybVthXTtmb3IoaSBpbiBhLm9wdGlvbnMubGVuZ3RoKWEub3B0 aW9uc1tpXT1udWxsO2k9MDtmb3IoeCBpbiBiKWlmKGJbeF1bMF09PWMpe29wdD1u ZXcgT3B0aW9uO29wdC52YWx1ZT1iW3hdWzFdO29wdC50ZXh0PWJbeF1bMl07aWYo ZD09YyYmZj09b3B0LnZhbHVlfHwwPT1pKW9wdC5zZWxlY3RlZD0hMDthLm9wdGlv bnNbaSsrXT1vcHR9YS5sZW5ndGg9aX1mdW5jdGlvbiByYWRpb0dldENoZWNrZWRW YWx1ZShhKXtpZighYSlyZXR1cm4iIjt2YXIgYj1hLmxlbmd0aDtpZih2b2lkIDA9 PWIpcmV0dXJuIGEuY2hlY2tlZD9hLnZhbHVlOiIiO2Zvcih2YXIgYz0wO2M8Yjtj KyspaWYoYVtjXS5jaGVja2VkKXJldHVybiBhW2NdLnZhbHVlO3JldHVybiIifQpm dW5jdGlvbiBnZXRTZWxlY3RlZFZhbHVlKGEsYil7dmFyIGM9ZG9jdW1lbnRbYV1b Yl07aT1jLnNlbGVjdGVkSW5kZXg7cmV0dXJuIG51bGwhPWkmJi0xPGk/Yy5vcHRp b25zW2ldLnZhbHVlOm51bGx9ZnVuY3Rpb24gbGlzdEl0ZW1UYXNrKGEsYil7dmFy IGM9ZG9jdW1lbnQuYWRtaW5Gb3JtLGQ9Y1thXTtpZihkKXtmb3IodmFyIGY9MDs7 ZisrKXt2YXIgZT1jWyJjYiIrZl07aWYoIWUpYnJlYWs7ZS5jaGVja2VkPSExfWQu Y2hlY2tlZD0hMDtjLmJveGNoZWNrZWQudmFsdWU9MTtzdWJtaXRidXR0b24oYil9 cmV0dXJuITF9ZnVuY3Rpb24gc3VibWl0YnV0dG9uKGEpe3N1Ym1pdGZvcm0oYSl9 CmZ1bmN0aW9uIHN1Ym1pdGZvcm0oYSl7YSYmKGRvY3VtZW50LmFkbWluRm9ybS50 YXNrLnZhbHVlPWEpO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBkb2N1bWVudC5hZG1p bkZvcm0ub25zdWJtaXQpZG9jdW1lbnQuYWRtaW5Gb3JtLm9uc3VibWl0KCk7ImZ1 bmN0aW9uIj09dHlwZW9mIGRvY3VtZW50LmFkbWluRm9ybS5maXJlRXZlbnQmJmRv Y3VtZW50LmFkbWluRm9ybS5maXJlRXZlbnQoInN1Ym1pdCIpO2RvY3VtZW50LmFk bWluRm9ybS5zdWJtaXQoKX1mdW5jdGlvbiBzYXZlb3JkZXIoYSxiKXtjaGVja0Fs bF9idXR0b24oYSxiKX0KZnVuY3Rpb24gY2hlY2tBbGxfYnV0dG9uKGEsYil7Ynx8 KGI9InNhdmVvcmRlciIpO2Zvcih2YXIgYz0wO2M8PWE7YysrKXt2YXIgZD1kb2N1 bWVudC5hZG1pbkZvcm1bImNiIitjXTtpZihkKSExPT1kLmNoZWNrZWQmJihkLmNo ZWNrZWQ9ITApO2Vsc2V7YWxlcnQoIllvdSBjYW5ub3QgY2hhbmdlIHRoZSBvcmRl ciBvZiBpdGVtcywgYXMgYW4gaXRlbSBpbiB0aGUgbGlzdCBpcyBgQ2hlY2tlZCBP dXRgIik7cmV0dXJufX1zdWJtaXRmb3JtKGIpfTs= ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline; filename=mootools-more.js Content-Type: application/javascript; name=mootools-more.js Content-Location: http://bassreview.net/home/media/system/js/mootools-more.js Content-Transfer-Encoding: Base64 Ly8gTW9vVG9vbHM6IHRoZSBqYXZhc2NyaXB0IGZyYW1ld29yay4KLy8gTG9hZCB0 aGlzIGZpbGUncyBzZWxlY3Rpb24gYWdhaW4gYnkgdmlzaXRpbmc6IGh0dHA6Ly9t b290b29scy5uZXQvbW9yZS8wNjVmMmYwOTJlY2U0ZTNiMzJiYjUyMTQ0NjRjZjky NiAKLy8gT3IgYnVpbGQgdGhpcyBmaWxlIGFnYWluIHdpdGggcGFja2FnZXIgdXNp bmc6IHBhY2thZ2VyIGJ1aWxkIE1vcmUvTW9yZSBNb3JlL0V2ZW50cy5Qc2V1ZG9z IE1vcmUvQ2xhc3MuUmVmYWN0b3IgTW9yZS9DbGFzcy5CaW5kcyBNb3JlL0NsYXNz Lk9jY2x1ZGUgTW9yZS9DaGFpbi5XYWl0IE1vcmUvQXJyYXkuRXh0cmFzIE1vcmUv RGF0ZSBNb3JlL0RhdGUuRXh0cmFzIE1vcmUvTnVtYmVyLkZvcm1hdCBNb3JlL09i amVjdC5FeHRyYXMgTW9yZS9TdHJpbmcuRXh0cmFzIE1vcmUvU3RyaW5nLlF1ZXJ5 U3RyaW5nIE1vcmUvVVJJIE1vcmUvVVJJLlJlbGF0aXZlIE1vcmUvSGFzaCBNb3Jl L0hhc2guRXh0cmFzIE1vcmUvRWxlbWVudC5Gb3JtcyBNb3JlL0VsZW1lbnRzLkZy b20gTW9yZS9FbGVtZW50LkV2ZW50LlBzZXVkb3MgTW9yZS9FbGVtZW50LkV2ZW50 LlBzZXVkb3MuS2V5cyBNb3JlL0VsZW1lbnQuTWVhc3VyZSBNb3JlL0VsZW1lbnQu UGluIE1vcmUvRWxlbWVudC5Qb3NpdGlvbiBNb3JlL0VsZW1lbnQuU2hvcnRjdXRz IE1vcmUvRm9ybS5SZXF1ZXN0IE1vcmUvRm9ybS5SZXF1ZXN0LkFwcGVuZCBNb3Jl L0Zvcm0uVmFsaWRhdG9yIE1vcmUvRm9ybS5WYWxpZGF0b3IuSW5saW5lIE1vcmUv Rm9ybS5WYWxpZGF0b3IuRXh0cmFzIE1vcmUvT3ZlclRleHQgTW9yZS9GeC5FbGVt ZW50cyBNb3JlL0Z4LkFjY29yZGlvbiBNb3JlL0Z4Lk1vdmUgTW9yZS9GeC5SZXZl YWwgTW9yZS9GeC5TY3JvbGwgTW9yZS9GeC5TbGlkZSBNb3JlL0Z4LlNtb290aFNj cm9sbCBNb3JlL0Z4LlNvcnQgTW9yZS9EcmFnIE1vcmUvRHJhZy5Nb3ZlIE1vcmUv U2xpZGVyIE1vcmUvU29ydGFibGVzIE1vcmUvUmVxdWVzdC5KU09OUCBNb3JlL1Jl cXVlc3QuUXVldWUgTW9yZS9SZXF1ZXN0LlBlcmlvZGljYWwgTW9yZS9Bc3NldHMg TW9yZS9Db2xvciBNb3JlL0dyb3VwIE1vcmUvSGFzaC5Db29raWUgTW9yZS9JZnJh bWVTaGltIE1vcmUvVGFibGUgTW9yZS9IdG1sVGFibGUgTW9yZS9IdG1sVGFibGUu WmVicmEgTW9yZS9IdG1sVGFibGUuU29ydCBNb3JlL0h0bWxUYWJsZS5TZWxlY3Qg TW9yZS9LZXlib2FyZCBNb3JlL0tleWJvYXJkLkV4dHJhcyBNb3JlL01hc2sgTW9y ZS9TY3JvbGxlciBNb3JlL1RpcHMgTW9yZS9TcGlubmVyIE1vcmUvTG9jYWxlIE1v cmUvTG9jYWxlLlNldC5Gcm9tIE1vcmUvTG9jYWxlLmVuLVVTLkRhdGUgTW9yZS9M b2NhbGUuZW4tVVMuRm9ybS5WYWxpZGF0b3IgTW9yZS9Mb2NhbGUuZW4tVVMuTnVt YmVyIE1vcmUvTG9jYWxlLmFyLkRhdGUgTW9yZS9Mb2NhbGUuYXIuRm9ybS5WYWxp ZGF0b3IgTW9yZS9Mb2NhbGUuY2EtQ0EuRGF0ZSBNb3JlL0xvY2FsZS5jYS1DQS5G b3JtLlZhbGlkYXRvciBNb3JlL0xvY2FsZS5jcy1DWi5EYXRlIE1vcmUvTG9jYWxl LmNzLUNaLkZvcm0uVmFsaWRhdG9yIE1vcmUvTG9jYWxlLmRhLURLLkRhdGUgTW9y ZS9Mb2NhbGUuZGEtREsuRm9ybS5WYWxpZGF0b3IgTW9yZS9Mb2NhbGUuZGUtQ0gu RGF0ZSBNb3JlL0xvY2FsZS5kZS1DSC5Gb3JtLlZhbGlkYXRvciBNb3JlL0xvY2Fs ZS5kZS1ERS5EYXRlIE1vcmUvTG9jYWxlLmRlLURFLkZvcm0uVmFsaWRhdG9yIE1v cmUvTG9jYWxlLmRlLURFLk51bWJlciBNb3JlL0xvY2FsZS5lbi1HQi5EYXRlIE1v cmUvTG9jYWxlLmVzLUFSLkRhdGUgTW9yZS9Mb2NhbGUuZXMtQVIuRm9ybS5WYWxp ZGF0b3IgTW9yZS9Mb2NhbGUuZXMtRVMuRGF0ZSBNb3JlL0xvY2FsZS5lcy1FUy5G b3JtLlZhbGlkYXRvciBNb3JlL0xvY2FsZS5ldC1FRS5EYXRlIE1vcmUvTG9jYWxl LmV0LUVFLkZvcm0uVmFsaWRhdG9yIE1vcmUvTG9jYWxlLkVVLk51bWJlciBNb3Jl L0xvY2FsZS5mYS5EYXRlIE1vcmUvTG9jYWxlLmZhLkZvcm0uVmFsaWRhdG9yIE1v cmUvTG9jYWxlLmZpLUZJLkRhdGUgTW9yZS9Mb2NhbGUuZmktRkkuRm9ybS5WYWxp ZGF0b3IgTW9yZS9Mb2NhbGUuZmktRkkuTnVtYmVyIE1vcmUvTG9jYWxlLmZyLUZS LkRhdGUgTW9yZS9Mb2NhbGUuZnItRlIuRm9ybS5WYWxpZGF0b3IgTW9yZS9Mb2Nh bGUuZnItRlIuTnVtYmVyIE1vcmUvTG9jYWxlLmhlLUlMLkRhdGUgTW9yZS9Mb2Nh bGUuaGUtSUwuRm9ybS5WYWxpZGF0b3IgTW9yZS9Mb2NhbGUuaGUtSUwuTnVtYmVy IE1vcmUvTG9jYWxlLmh1LUhVLkRhdGUgTW9yZS9Mb2NhbGUuaHUtSFUuRm9ybS5W YWxpZGF0b3IgTW9yZS9Mb2NhbGUuaXQtSVQuRGF0ZSBNb3JlL0xvY2FsZS5pdC1J VC5Gb3JtLlZhbGlkYXRvciBNb3JlL0xvY2FsZS5qYS1KUC5EYXRlIE1vcmUvTG9j YWxlLmphLUpQLkZvcm0uVmFsaWRhdG9yIE1vcmUvTG9jYWxlLmphLUpQLk51bWJl ciBNb3JlL0xvY2FsZS5ubC1OTC5EYXRlIE1vcmUvTG9jYWxlLm5sLU5MLkZvcm0u VmFsaWRhdG9yIE1vcmUvTG9jYWxlLm5sLU5MLk51bWJlciBNb3JlL0xvY2FsZS5u by1OTy5EYXRlIE1vcmUvTG9jYWxlLm5vLU5PLkZvcm0uVmFsaWRhdG9yIE1vcmUv TG9jYWxlLnBsLVBMLkRhdGUgTW9yZS9Mb2NhbGUucGwtUEwuRm9ybS5WYWxpZGF0 b3IgTW9yZS9Mb2NhbGUucHQtQlIuRGF0ZSBNb3JlL0xvY2FsZS5wdC1CUi5Gb3Jt LlZhbGlkYXRvciBNb3JlL0xvY2FsZS5wdC1QVC5EYXRlIE1vcmUvTG9jYWxlLnB0 LVBULkZvcm0uVmFsaWRhdG9yIE1vcmUvTG9jYWxlLnJ1LVJVLXVuaWNvZGUuRGF0 ZSBNb3JlL0xvY2FsZS5ydS1SVS11bmljb2RlLkZvcm0uVmFsaWRhdG9yIE1vcmUv TG9jYWxlLnNpLVNJLkRhdGUgTW9yZS9Mb2NhbGUuc2ktU0kuRm9ybS5WYWxpZGF0 b3IgTW9yZS9Mb2NhbGUuc3YtU0UuRGF0ZSBNb3JlL0xvY2FsZS5zdi1TRS5Gb3Jt LlZhbGlkYXRvciBNb3JlL0xvY2FsZS51ay1VQS5EYXRlIE1vcmUvTG9jYWxlLnVr LVVBLkZvcm0uVmFsaWRhdG9yIE1vcmUvTG9jYWxlLnpoLUNILkRhdGUgTW9yZS9M b2NhbGUuemgtQ0guRm9ybS5WYWxpZGF0b3IKLyoKLS0tCmNvcHlyaWdodHM6CiAg LSBbTW9vVG9vbHNdKGh0dHA6Ly9tb290b29scy5uZXQpCgpsaWNlbnNlczoKICAt IFtNSVQgTGljZW5zZV0oaHR0cDovL21vb3Rvb2xzLm5ldC9saWNlbnNlLnR4dCkK Li4uCiovCk1vb1Rvb2xzLk1vcmU9e3ZlcnNpb246IjEuNC4wLjEiLGJ1aWxkOiJh NDI0NGVkZjJhYTk3YWM4YTE5NmZjOTYwODJkZDM1YWYxYWJhYjg3In07KGZ1bmN0 aW9uKCl7RXZlbnRzLlBzZXVkb3M9ZnVuY3Rpb24oaCxlLGYpe3ZhciBkPSJfbW9u aXRvckV2ZW50czoiO3ZhciBjPWZ1bmN0aW9uKGkpe3JldHVybntzdG9yZTppLnN0 b3JlP2Z1bmN0aW9uKGosayl7aS5zdG9yZShkK2osayk7Cn06ZnVuY3Rpb24oaixr KXsoaS5fbW9uaXRvckV2ZW50c3x8KGkuX21vbml0b3JFdmVudHM9e30pKVtqXT1r O30scmV0cmlldmU6aS5yZXRyaWV2ZT9mdW5jdGlvbihqLGspe3JldHVybiBpLnJl dHJpZXZlKGQraixrKTt9OmZ1bmN0aW9uKGosayl7aWYoIWkuX21vbml0b3JFdmVu dHMpe3JldHVybiBrOwp9cmV0dXJuIGkuX21vbml0b3JFdmVudHNbal18fGs7fX07 fTt2YXIgZz1mdW5jdGlvbihrKXtpZihrLmluZGV4T2YoIjoiKT09LTF8fCFoKXty ZXR1cm4gbnVsbDt9dmFyIGo9U2xpY2sucGFyc2UoaykuZXhwcmVzc2lvbnNbMF1b MF0scD1qLnBzZXVkb3MsaT1wLmxlbmd0aCxvPVtdOwp3aGlsZShpLS0pe3ZhciBu PXBbaV0ua2V5LG09aFtuXTtpZihtIT1udWxsKXtvLnB1c2goe2V2ZW50OmoudGFn LHZhbHVlOnBbaV0udmFsdWUscHNldWRvOm4sb3JpZ2luYWw6ayxsaXN0ZW5lcjpt fSk7fX1yZXR1cm4gby5sZW5ndGg/bzpudWxsO307cmV0dXJue2FkZEV2ZW50OmZ1 bmN0aW9uKG0scCxqKXt2YXIgbj1nKG0pOwppZighbil7cmV0dXJuIGUuY2FsbCh0 aGlzLG0scCxqKTt9dmFyIGs9Yyh0aGlzKSxyPWsucmV0cmlldmUobSxbXSksaT1u WzBdLmV2ZW50LGw9QXJyYXkuc2xpY2UoYXJndW1lbnRzLDIpLG89cCxxPXRoaXM7 bi5lYWNoKGZ1bmN0aW9uKHMpe3ZhciB0PXMubGlzdGVuZXIsdT1vOwppZih0PT1m YWxzZSl7aSs9IjoiK3MucHNldWRvKyIoIitzLnZhbHVlKyIpIjt9ZWxzZXtvPWZ1 bmN0aW9uKCl7dC5jYWxsKHEscyx1LGFyZ3VtZW50cyxvKTt9O319KTtyLmluY2x1 ZGUoe3R5cGU6aSxldmVudDpwLG1vbml0b3I6b30pO2suc3RvcmUobSxyKTtpZiht IT1pKXtlLmFwcGx5KHRoaXMsW20scF0uY29uY2F0KGwpKTsKfXJldHVybiBlLmFw cGx5KHRoaXMsW2ksb10uY29uY2F0KGwpKTt9LHJlbW92ZUV2ZW50OmZ1bmN0aW9u KG0sbCl7dmFyIGs9ZyhtKTtpZighayl7cmV0dXJuIGYuY2FsbCh0aGlzLG0sbCk7 fXZhciBuPWModGhpcyksaj1uLnJldHJpZXZlKG0pO2lmKCFqKXtyZXR1cm4gdGhp czsKfXZhciBpPUFycmF5LnNsaWNlKGFyZ3VtZW50cywyKTtmLmFwcGx5KHRoaXMs W20sbF0uY29uY2F0KGkpKTtqLmVhY2goZnVuY3Rpb24obyxwKXtpZighbHx8by5l dmVudD09bCl7Zi5hcHBseSh0aGlzLFtvLnR5cGUsby5tb25pdG9yXS5jb25jYXQo aSkpO31kZWxldGUgaltwXTsKfSx0aGlzKTtuLnN0b3JlKG0saik7cmV0dXJuIHRo aXM7fX07fTt2YXIgYj17b25jZTpmdW5jdGlvbihlLGYsZCxjKXtmLmFwcGx5KHRo aXMsZCk7dGhpcy5yZW1vdmVFdmVudChlLmV2ZW50LGMpLnJlbW92ZUV2ZW50KGUu b3JpZ2luYWwsZik7fSx0aHJvdHRsZTpmdW5jdGlvbihkLGUsYyl7aWYoIWUuX3Ro cm90dGxlZCl7ZS5hcHBseSh0aGlzLGMpOwplLl90aHJvdHRsZWQ9c2V0VGltZW91 dChmdW5jdGlvbigpe2UuX3Rocm90dGxlZD1mYWxzZTt9LGQudmFsdWV8fDI1MCk7 fX0scGF1c2U6ZnVuY3Rpb24oZCxlLGMpe2NsZWFyVGltZW91dChlLl9wYXVzZSk7 ZS5fcGF1c2U9ZS5kZWxheShkLnZhbHVlfHwyNTAsdGhpcyxjKTsKfX07RXZlbnRz LmRlZmluZVBzZXVkbz1mdW5jdGlvbihjLGQpe2JbY109ZDtyZXR1cm4gdGhpczt9 O0V2ZW50cy5sb29rdXBQc2V1ZG89ZnVuY3Rpb24oYyl7cmV0dXJuIGJbY107fTt2 YXIgYT1FdmVudHMucHJvdG90eXBlO0V2ZW50cy5pbXBsZW1lbnQoRXZlbnRzLlBz ZXVkb3MoYixhLmFkZEV2ZW50LGEucmVtb3ZlRXZlbnQpKTsKWyJSZXF1ZXN0Iiwi RngiXS5lYWNoKGZ1bmN0aW9uKGMpe2lmKHRoaXNbY10pe3RoaXNbY10uaW1wbGVt ZW50KEV2ZW50cy5wcm90b3R5cGUpO319KTt9KSgpO0NsYXNzLnJlZmFjdG9yPWZ1 bmN0aW9uKGIsYSl7T2JqZWN0LmVhY2goYSxmdW5jdGlvbihlLGQpe3ZhciBjPWIu cHJvdG90eXBlW2RdOwpjPShjJiZjLiRvcmlnaW4pfHxjfHxmdW5jdGlvbigpe307 Yi5pbXBsZW1lbnQoZCwodHlwZW9mIGU9PSJmdW5jdGlvbiIpP2Z1bmN0aW9uKCl7 dmFyIGY9dGhpcy5wcmV2aW91czt0aGlzLnByZXZpb3VzPWM7dmFyIGc9ZS5hcHBs eSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5wcmV2aW91cz1mOwpyZXR1cm4gZzt9OmUp O30pO3JldHVybiBiO307Q2xhc3MuTXV0YXRvcnMuQmluZHM9ZnVuY3Rpb24oYSl7 aWYoIXRoaXMucHJvdG90eXBlLmluaXRpYWxpemUpe3RoaXMuaW1wbGVtZW50KCJp bml0aWFsaXplIixmdW5jdGlvbigpe30pO31yZXR1cm4gQXJyYXkuZnJvbShhKS5j b25jYXQodGhpcy5wcm90b3R5cGUuQmluZHN8fFtdKTsKfTtDbGFzcy5NdXRhdG9y cy5pbml0aWFsaXplPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe0FycmF5 LmZyb20odGhpcy5CaW5kcykuZWFjaChmdW5jdGlvbihiKXt2YXIgYz10aGlzW2Jd O2lmKGMpe3RoaXNbYl09Yy5iaW5kKHRoaXMpO319LHRoaXMpO3JldHVybiBhLmFw cGx5KHRoaXMsYXJndW1lbnRzKTsKfTt9O0NsYXNzLk9jY2x1ZGU9bmV3IENsYXNz KHtvY2NsdWRlOmZ1bmN0aW9uKGMsYil7Yj1kb2N1bWVudC5pZChifHx0aGlzLmVs ZW1lbnQpO3ZhciBhPWIucmV0cmlldmUoY3x8dGhpcy5wcm9wZXJ0eSk7aWYoYSYm IXRoaXMub2NjbHVkZWQpe3JldHVybih0aGlzLm9jY2x1ZGVkPWEpOwp9dGhpcy5v Y2NsdWRlZD1mYWxzZTtiLnN0b3JlKGN8fHRoaXMucHJvcGVydHksdGhpcyk7cmV0 dXJuIHRoaXMub2NjbHVkZWQ7fX0pOyhmdW5jdGlvbigpe3ZhciBhPXt3YWl0OmZ1 bmN0aW9uKGIpe3JldHVybiB0aGlzLmNoYWluKGZ1bmN0aW9uKCl7dGhpcy5jYWxs Q2hhaW4uZGVsYXkoYj09bnVsbD81MDA6Yix0aGlzKTsKcmV0dXJuIHRoaXM7fS5i aW5kKHRoaXMpKTt9fTtDaGFpbi5pbXBsZW1lbnQoYSk7aWYodGhpcy5GeCl7Rngu aW1wbGVtZW50KGEpO31pZih0aGlzLkVsZW1lbnQmJkVsZW1lbnQuaW1wbGVtZW50 JiZ0aGlzLkZ4KXtFbGVtZW50LmltcGxlbWVudCh7Y2hhaW5zOmZ1bmN0aW9uKGIp e0FycmF5LmZyb20oYnx8WyJ0d2VlbiIsIm1vcnBoIiwicmV2ZWFsIl0pLmVhY2go ZnVuY3Rpb24oYyl7Yz10aGlzLmdldChjKTsKaWYoIWMpe3JldHVybjt9Yy5zZXRP cHRpb25zKHtsaW5rOiJjaGFpbiJ9KTt9LHRoaXMpO3JldHVybiB0aGlzO30scGF1 c2VGeDpmdW5jdGlvbihjLGIpe3RoaXMuY2hhaW5zKGIpLmdldChifHwidHdlZW4i KS53YWl0KGMpO3JldHVybiB0aGlzO319KTt9fSkoKTsoZnVuY3Rpb24oYSl7QXJy YXkuaW1wbGVtZW50KHttaW46ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5taW4uYXBw bHkobnVsbCx0aGlzKTsKfSxtYXg6ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5tYXgu YXBwbHkobnVsbCx0aGlzKTt9LGF2ZXJhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhp cy5sZW5ndGg/dGhpcy5zdW0oKS90aGlzLmxlbmd0aDowO30sc3VtOmZ1bmN0aW9u KCl7dmFyIGI9MCxjPXRoaXMubGVuZ3RoOwppZihjKXt3aGlsZShjLS0pe2IrPXRo aXNbY107fX1yZXR1cm4gYjt9LHVuaXF1ZTpmdW5jdGlvbigpe3JldHVybltdLmNv bWJpbmUodGhpcyk7fSxzaHVmZmxlOmZ1bmN0aW9uKCl7Zm9yKHZhciBjPXRoaXMu bGVuZ3RoO2MmJi0tYzspe3ZhciBiPXRoaXNbY10sZD1NYXRoLmZsb29yKE1hdGgu cmFuZG9tKCkqKGMrMSkpOwp0aGlzW2NdPXRoaXNbZF07dGhpc1tkXT1iO31yZXR1 cm4gdGhpczt9LHJlZHVjZTpmdW5jdGlvbihkLGUpe2Zvcih2YXIgYz0wLGI9dGhp cy5sZW5ndGg7YzxiO2MrKyl7aWYoYyBpbiB0aGlzKXtlPWU9PT1hP3RoaXNbY106 ZC5jYWxsKG51bGwsZSx0aGlzW2NdLGMsdGhpcyk7Cn19cmV0dXJuIGU7fSxyZWR1 Y2VSaWdodDpmdW5jdGlvbihjLGQpe3ZhciBiPXRoaXMubGVuZ3RoO3doaWxlKGIt LSl7aWYoYiBpbiB0aGlzKXtkPWQ9PT1hP3RoaXNbYl06Yy5jYWxsKG51bGwsZCx0 aGlzW2JdLGIsdGhpcyk7fX1yZXR1cm4gZDt9fSk7fSkoKTsoZnVuY3Rpb24oKXt2 YXIgYj1mdW5jdGlvbihjKXtyZXR1cm4gYyE9bnVsbDsKfTt2YXIgYT1PYmplY3Qu cHJvdG90eXBlLmhhc093blByb3BlcnR5O09iamVjdC5leHRlbmQoe2dldEZyb21Q YXRoOmZ1bmN0aW9uKGUsZil7aWYodHlwZW9mIGY9PSJzdHJpbmciKXtmPWYuc3Bs aXQoIi4iKTt9Zm9yKHZhciBkPTAsYz1mLmxlbmd0aDtkPGM7ZCsrKXtpZihhLmNh bGwoZSxmW2RdKSl7ZT1lW2ZbZF1dOwp9ZWxzZXtyZXR1cm4gbnVsbDt9fXJldHVy biBlO30sY2xlYW5WYWx1ZXM6ZnVuY3Rpb24oYyxlKXtlPWV8fGI7Zm9yKHZhciBk IGluIGMpe2lmKCFlKGNbZF0pKXtkZWxldGUgY1tkXTt9fXJldHVybiBjO30sZXJh c2U6ZnVuY3Rpb24oYyxkKXtpZihhLmNhbGwoYyxkKSl7ZGVsZXRlIGNbZF07Cn1y ZXR1cm4gYzt9LHJ1bjpmdW5jdGlvbihkKXt2YXIgYz1BcnJheS5zbGljZShhcmd1 bWVudHMsMSk7Zm9yKHZhciBlIGluIGQpe2lmKGRbZV0uYXBwbHkpe2RbZV0uYXBw bHkoZCxjKTt9fXJldHVybiBkO319KTt9KSgpOyhmdW5jdGlvbigpe3ZhciBiPW51 bGwsYT17fSxkPXt9Owp2YXIgYz1mdW5jdGlvbihmKXtpZihpbnN0YW5jZU9mKGYs ZS5TZXQpKXtyZXR1cm4gZjt9ZWxzZXtyZXR1cm4gYVtmXTt9fTt2YXIgZT10aGlz LkxvY2FsZT17ZGVmaW5lOmZ1bmN0aW9uKGYsaixoLGkpe3ZhciBnO2lmKGluc3Rh bmNlT2YoZixlLlNldCkpe2c9Zi5uYW1lOwppZihnKXthW2ddPWY7fX1lbHNle2c9 ZjtpZighYVtnXSl7YVtnXT1uZXcgZS5TZXQoZyk7fWY9YVtnXTt9aWYoail7Zi5k ZWZpbmUoaixoLGkpO31pZighYil7Yj1mO31yZXR1cm4gZjt9LHVzZTpmdW5jdGlv bihmKXtmPWMoZik7aWYoZil7Yj1mO3RoaXMuZmlyZUV2ZW50KCJjaGFuZ2UiLGYp Owp9cmV0dXJuIHRoaXM7fSxnZXRDdXJyZW50OmZ1bmN0aW9uKCl7cmV0dXJuIGI7 fSxnZXQ6ZnVuY3Rpb24oZyxmKXtyZXR1cm4oYik/Yi5nZXQoZyxmKToiIjt9LGlu aGVyaXQ6ZnVuY3Rpb24oZixnLGgpe2Y9YyhmKTtpZihmKXtmLmluaGVyaXQoZyxo KTt9cmV0dXJuIHRoaXM7Cn0sbGlzdDpmdW5jdGlvbigpe3JldHVybiBPYmplY3Qu a2V5cyhhKTt9fTtPYmplY3QuYXBwZW5kKGUsbmV3IEV2ZW50cyk7ZS5TZXQ9bmV3 IENsYXNzKHtzZXRzOnt9LGluaGVyaXRzOntsb2NhbGVzOltdLHNldHM6e319LGlu aXRpYWxpemU6ZnVuY3Rpb24oZil7dGhpcy5uYW1lPWZ8fCIiOwp9LGRlZmluZTpm dW5jdGlvbihpLGcsaCl7dmFyIGY9dGhpcy5zZXRzW2ldO2lmKCFmKXtmPXt9O31p ZihnKXtpZih0eXBlT2YoZyk9PSJvYmplY3QiKXtmPU9iamVjdC5tZXJnZShmLGcp O31lbHNle2ZbZ109aDt9fXRoaXMuc2V0c1tpXT1mO3JldHVybiB0aGlzO30sZ2V0 OmZ1bmN0aW9uKHIsaixxKXt2YXIgcD1PYmplY3QuZ2V0RnJvbVBhdGgodGhpcy5z ZXRzLHIpOwppZihwIT1udWxsKXt2YXIgbT10eXBlT2YocCk7aWYobT09ImZ1bmN0 aW9uIil7cD1wLmFwcGx5KG51bGwsQXJyYXkuZnJvbShqKSk7fWVsc2V7aWYobT09 Im9iamVjdCIpe3A9T2JqZWN0LmNsb25lKHApO319cmV0dXJuIHA7fXZhciBoPXIu aW5kZXhPZigiLiIpLG89aDwwP3I6ci5zdWJzdHIoMCxoKSxrPSh0aGlzLmluaGVy aXRzLnNldHNbb118fFtdKS5jb21iaW5lKHRoaXMuaW5oZXJpdHMubG9jYWxlcyku aW5jbHVkZSgiZW4tVVMiKTsKaWYoIXEpe3E9W107fWZvcih2YXIgZz0wLGY9ay5s ZW5ndGg7ZzxmO2crKyl7aWYocS5jb250YWlucyhrW2ddKSl7Y29udGludWU7fXEu aW5jbHVkZShrW2ddKTt2YXIgbj1hW2tbZ11dO2lmKCFuKXtjb250aW51ZTt9cD1u LmdldChyLGoscSk7aWYocCE9bnVsbCl7cmV0dXJuIHA7Cn19cmV0dXJuIiI7fSxp bmhlcml0OmZ1bmN0aW9uKGcsaCl7Zz1BcnJheS5mcm9tKGcpO2lmKGgmJiF0aGlz LmluaGVyaXRzLnNldHNbaF0pe3RoaXMuaW5oZXJpdHMuc2V0c1toXT1bXTt9dmFy IGY9Zy5sZW5ndGg7d2hpbGUoZi0tKXsoaD90aGlzLmluaGVyaXRzLnNldHNbaF06 dGhpcy5pbmhlcml0cy5sb2NhbGVzKS51bnNoaWZ0KGdbZl0pOwp9cmV0dXJuIHRo aXM7fX0pO30pKCk7TG9jYWxlLmRlZmluZSgiZW4tVVMiLCJEYXRlIix7bW9udGhz OlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1 bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVt YmVyIiwiRGVjZW1iZXIiXSxtb250aHNfYWJicjpbIkphbiIsIkZlYiIsIk1hciIs IkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIs IkRlYyJdLGRheXM6WyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVz ZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLGRheXNfYWJicjpb IlN1biIsIk1vbiIsIlR1ZSIsIldlZCIsIlRodSIsIkZyaSIsIlNhdCJdLGRhdGVP cmRlcjpbIm1vbnRoIiwiZGF0ZSIsInllYXIiXSxzaG9ydERhdGU6IiVtLyVkLyVZ IixzaG9ydFRpbWU6IiVJOiVNJXAiLEFNOiJBTSIsUE06IlBNIixmaXJzdERheU9m V2VlazowLG9yZGluYWw6ZnVuY3Rpb24oYSl7cmV0dXJuKGE+MyYmYTwyMSk/InRo IjpbInRoIiwic3QiLCJuZCIsInJkIiwidGgiXVtNYXRoLm1pbihhJTEwLDQpXTsK fSxsZXNzVGhhbk1pbnV0ZUFnbzoibGVzcyB0aGFuIGEgbWludXRlIGFnbyIsbWlu dXRlQWdvOiJhYm91dCBhIG1pbnV0ZSBhZ28iLG1pbnV0ZXNBZ286IntkZWx0YX0g bWludXRlcyBhZ28iLGhvdXJBZ286ImFib3V0IGFuIGhvdXIgYWdvIixob3Vyc0Fn bzoiYWJvdXQge2RlbHRhfSBob3VycyBhZ28iLGRheUFnbzoiMSBkYXkgYWdvIixk YXlzQWdvOiJ7ZGVsdGF9IGRheXMgYWdvIix3ZWVrQWdvOiIxIHdlZWsgYWdvIix3 ZWVrc0Fnbzoie2RlbHRhfSB3ZWVrcyBhZ28iLG1vbnRoQWdvOiIxIG1vbnRoIGFn byIsbW9udGhzQWdvOiJ7ZGVsdGF9IG1vbnRocyBhZ28iLHllYXJBZ286IjEgeWVh ciBhZ28iLHllYXJzQWdvOiJ7ZGVsdGF9IHllYXJzIGFnbyIsbGVzc1RoYW5NaW51 dGVVbnRpbDoibGVzcyB0aGFuIGEgbWludXRlIGZyb20gbm93IixtaW51dGVVbnRp bDoiYWJvdXQgYSBtaW51dGUgZnJvbSBub3ciLG1pbnV0ZXNVbnRpbDoie2RlbHRh fSBtaW51dGVzIGZyb20gbm93Iixob3VyVW50aWw6ImFib3V0IGFuIGhvdXIgZnJv bSBub3ciLGhvdXJzVW50aWw6ImFib3V0IHtkZWx0YX0gaG91cnMgZnJvbSBub3ci LGRheVVudGlsOiIxIGRheSBmcm9tIG5vdyIsZGF5c1VudGlsOiJ7ZGVsdGF9IGRh eXMgZnJvbSBub3ciLHdlZWtVbnRpbDoiMSB3ZWVrIGZyb20gbm93Iix3ZWVrc1Vu dGlsOiJ7ZGVsdGF9IHdlZWtzIGZyb20gbm93Iixtb250aFVudGlsOiIxIG1vbnRo IGZyb20gbm93Iixtb250aHNVbnRpbDoie2RlbHRhfSBtb250aHMgZnJvbSBub3ci LHllYXJVbnRpbDoiMSB5ZWFyIGZyb20gbm93Iix5ZWFyc1VudGlsOiJ7ZGVsdGF9 IHllYXJzIGZyb20gbm93In0pOwooZnVuY3Rpb24oKXt2YXIgYT10aGlzLkRhdGU7 dmFyIGY9YS5NZXRob2RzPXttczoiTWlsbGlzZWNvbmRzIix5ZWFyOiJGdWxsWWVh ciIsbWluOiJNaW51dGVzIixtbzoiTW9udGgiLHNlYzoiU2Vjb25kcyIsaHI6Ikhv dXJzIn07WyJEYXRlIiwiRGF5IiwiRnVsbFllYXIiLCJIb3VycyIsIk1pbGxpc2Vj b25kcyIsIk1pbnV0ZXMiLCJNb250aCIsIlNlY29uZHMiLCJUaW1lIiwiVGltZXpv bmVPZmZzZXQiLCJXZWVrIiwiVGltZXpvbmUiLCJHTVRPZmZzZXQiLCJEYXlPZlll YXIiLCJMYXN0TW9udGgiLCJMYXN0RGF5T2ZNb250aCIsIlVUQ0RhdGUiLCJVVENE YXkiLCJVVENGdWxsWWVhciIsIkFNUE0iLCJPcmRpbmFsIiwiVVRDSG91cnMiLCJV VENNaWxsaXNlY29uZHMiLCJVVENNaW51dGVzIiwiVVRDTW9udGgiLCJVVENTZWNv bmRzIiwiVVRDTWlsbGlzZWNvbmRzIl0uZWFjaChmdW5jdGlvbihzKXthLk1ldGhv ZHNbcy50b0xvd2VyQ2FzZSgpXT1zOwp9KTt2YXIgcD1mdW5jdGlvbih1LHQscyl7 aWYodD09MSl7cmV0dXJuIHU7fXJldHVybiB1PE1hdGgucG93KDEwLHQtMSk/KHN8 fCIwIikrcCh1LHQtMSxzKTp1O307YS5pbXBsZW1lbnQoe3NldDpmdW5jdGlvbih1 LHMpe3U9dS50b0xvd2VyQ2FzZSgpO3ZhciB0PWZbdV0mJiJzZXQiK2ZbdV07Cmlm KHQmJnRoaXNbdF0pe3RoaXNbdF0ocyk7fXJldHVybiB0aGlzO30ub3ZlcmxvYWRT ZXR0ZXIoKSxnZXQ6ZnVuY3Rpb24odCl7dD10LnRvTG93ZXJDYXNlKCk7dmFyIHM9 Zlt0XSYmImdldCIrZlt0XTtpZihzJiZ0aGlzW3NdKXtyZXR1cm4gdGhpc1tzXSgp O31yZXR1cm4gbnVsbDsKfS5vdmVybG9hZEdldHRlcigpLGNsb25lOmZ1bmN0aW9u KCl7cmV0dXJuIG5ldyBhKHRoaXMuZ2V0KCJ0aW1lIikpO30saW5jcmVtZW50OmZ1 bmN0aW9uKHMsdSl7cz1zfHwiZGF5Ijt1PXUhPW51bGw/dToxO3N3aXRjaChzKXtj YXNlInllYXIiOnJldHVybiB0aGlzLmluY3JlbWVudCgibW9udGgiLHUqMTIpOwpj YXNlIm1vbnRoIjp2YXIgdD10aGlzLmdldCgiZGF0ZSIpO3RoaXMuc2V0KCJkYXRl IiwxKS5zZXQoIm1vIix0aGlzLmdldCgibW8iKSt1KTtyZXR1cm4gdGhpcy5zZXQo ImRhdGUiLHQubWluKHRoaXMuZ2V0KCJsYXN0ZGF5b2Ztb250aCIpKSk7Y2FzZSJ3 ZWVrIjpyZXR1cm4gdGhpcy5pbmNyZW1lbnQoImRheSIsdSo3KTsKY2FzZSJkYXki OnJldHVybiB0aGlzLnNldCgiZGF0ZSIsdGhpcy5nZXQoImRhdGUiKSt1KTt9aWYo IWEudW5pdHNbc10pe3Rocm93IG5ldyBFcnJvcihzKyIgaXMgbm90IGEgc3VwcG9y dGVkIGludGVydmFsIik7fXJldHVybiB0aGlzLnNldCgidGltZSIsdGhpcy5nZXQo InRpbWUiKSt1KmEudW5pdHNbc10oKSk7Cn0sZGVjcmVtZW50OmZ1bmN0aW9uKHMs dCl7cmV0dXJuIHRoaXMuaW5jcmVtZW50KHMsLTEqKHQhPW51bGw/dDoxKSk7fSxp c0xlYXBZZWFyOmZ1bmN0aW9uKCl7cmV0dXJuIGEuaXNMZWFwWWVhcih0aGlzLmdl dCgieWVhciIpKTt9LGNsZWFyVGltZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnNl dCh7aHI6MCxtaW46MCxzZWM6MCxtczowfSk7Cn0sZGlmZjpmdW5jdGlvbih0LHMp e2lmKHR5cGVPZih0KT09InN0cmluZyIpe3Q9YS5wYXJzZSh0KTt9cmV0dXJuKCh0 LXRoaXMpL2EudW5pdHNbc3x8ImRheSJdKDMsMykpLnJvdW5kKCk7fSxnZXRMYXN0 RGF5T2ZNb250aDpmdW5jdGlvbigpe3JldHVybiBhLmRheXNJbk1vbnRoKHRoaXMu Z2V0KCJtbyIpLHRoaXMuZ2V0KCJ5ZWFyIikpOwp9LGdldERheU9mWWVhcjpmdW5j dGlvbigpe3JldHVybihhLlVUQyh0aGlzLmdldCgieWVhciIpLHRoaXMuZ2V0KCJt byIpLHRoaXMuZ2V0KCJkYXRlIikrMSktYS5VVEModGhpcy5nZXQoInllYXIiKSww LDEpKS9hLnVuaXRzLmRheSgpO30sc2V0RGF5OmZ1bmN0aW9uKHQscyl7aWYocz09 bnVsbCl7cz1hLmdldE1zZygiZmlyc3REYXlPZldlZWsiKTsKaWYocz09PSIiKXtz PTE7fX10PSg3K2EucGFyc2VEYXkodCx0cnVlKS1zKSU3O3ZhciB1PSg3K3RoaXMu Z2V0KCJkYXkiKS1zKSU3O3JldHVybiB0aGlzLmluY3JlbWVudCgiZGF5Iix0LXUp O30sZ2V0V2VlazpmdW5jdGlvbih2KXtpZih2PT1udWxsKXt2PWEuZ2V0TXNnKCJm aXJzdERheU9mV2VlayIpOwppZih2PT09IiIpe3Y9MTt9fXZhciB4PXRoaXMsdT0o Nyt4LmdldCgiZGF5IiktdiklNyx0PTAsdztpZih2PT0xKXt2YXIgeT14LmdldCgi bW9udGgiKSxzPXguZ2V0KCJkYXRlIiktdTtpZih5PT0xMSYmcz4yOCl7cmV0dXJu IDE7fWlmKHk9PTAmJnM8LTIpe3g9bmV3IGEoeCkuZGVjcmVtZW50KCJkYXkiLHUp Owp1PTA7fXc9bmV3IGEoeC5nZXQoInllYXIiKSwwLDEpLmdldCgiZGF5Iil8fDc7 aWYodz40KXt0PS03O319ZWxzZXt3PW5ldyBhKHguZ2V0KCJ5ZWFyIiksMCwxKS5n ZXQoImRheSIpO310Kz14LmdldCgiZGF5b2Z5ZWFyIik7dCs9Ni11O3QrPSg3K3ct diklNztyZXR1cm4odC83KTsKfSxnZXRPcmRpbmFsOmZ1bmN0aW9uKHMpe3JldHVy biBhLmdldE1zZygib3JkaW5hbCIsc3x8dGhpcy5nZXQoImRhdGUiKSk7fSxnZXRU aW1lem9uZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnRvU3RyaW5nKCkucmVwbGFj ZSgvXi4qPyAoW0EtWl17M30pLlswLTldezR9LiokLywiJDEiKS5yZXBsYWNlKC9e Lio/XCgoW0EtWl0pW2Etel0rIChbQS1aXSlbYS16XSsgKFtBLVpdKVthLXpdK1wp JC8sIiQxJDIkMyIpOwp9LGdldEdNVE9mZnNldDpmdW5jdGlvbigpe3ZhciBzPXRo aXMuZ2V0KCJ0aW1lem9uZU9mZnNldCIpO3JldHVybigocz4wKT8iLSI6IisiKStw KChzLmFicygpLzYwKS5mbG9vcigpLDIpK3AocyU2MCwyKTt9LHNldEFNUE06ZnVu Y3Rpb24ocyl7cz1zLnRvVXBwZXJDYXNlKCk7CnZhciB0PXRoaXMuZ2V0KCJociIp O2lmKHQ+MTEmJnM9PSJBTSIpe3JldHVybiB0aGlzLmRlY3JlbWVudCgiaG91ciIs MTIpO31lbHNle2lmKHQ8MTImJnM9PSJQTSIpe3JldHVybiB0aGlzLmluY3JlbWVu dCgiaG91ciIsMTIpO319cmV0dXJuIHRoaXM7fSxnZXRBTVBNOmZ1bmN0aW9uKCl7 cmV0dXJuKHRoaXMuZ2V0KCJociIpPDEyKT8iQU0iOiJQTSI7Cn0scGFyc2U6ZnVu Y3Rpb24ocyl7dGhpcy5zZXQoInRpbWUiLGEucGFyc2UocykpO3JldHVybiB0aGlz O30saXNWYWxpZDpmdW5jdGlvbihzKXtpZighcyl7cz10aGlzO31yZXR1cm4gdHlw ZU9mKHMpPT0iZGF0ZSImJiFpc05hTihzLnZhbHVlT2YoKSk7fSxmb3JtYXQ6ZnVu Y3Rpb24ocyl7aWYoIXRoaXMuaXNWYWxpZCgpKXtyZXR1cm4iaW52YWxpZCBkYXRl IjsKfWlmKCFzKXtzPSIleCAlWCI7fWlmKHR5cGVvZiBzPT0ic3RyaW5nIil7cz1n W3MudG9Mb3dlckNhc2UoKV18fHM7fWlmKHR5cGVvZiBzPT0iZnVuY3Rpb24iKXty ZXR1cm4gcyh0aGlzKTt9dmFyIHQ9dGhpcztyZXR1cm4gcy5yZXBsYWNlKC8lKFth LXolXSkvZ2ksZnVuY3Rpb24odix1KXtzd2l0Y2godSl7Y2FzZSJhIjpyZXR1cm4g YS5nZXRNc2coImRheXNfYWJiciIpW3QuZ2V0KCJkYXkiKV07CmNhc2UiQSI6cmV0 dXJuIGEuZ2V0TXNnKCJkYXlzIilbdC5nZXQoImRheSIpXTtjYXNlImIiOnJldHVy biBhLmdldE1zZygibW9udGhzX2FiYnIiKVt0LmdldCgibW9udGgiKV07Y2FzZSJC IjpyZXR1cm4gYS5nZXRNc2coIm1vbnRocyIpW3QuZ2V0KCJtb250aCIpXTsKY2Fz ZSJjIjpyZXR1cm4gdC5mb3JtYXQoIiVhICViICVkICVIOiVNOiVTICVZIik7Y2Fz ZSJkIjpyZXR1cm4gcCh0LmdldCgiZGF0ZSIpLDIpO2Nhc2UiZSI6cmV0dXJuIHAo dC5nZXQoImRhdGUiKSwyLCIgIik7Y2FzZSJIIjpyZXR1cm4gcCh0LmdldCgiaHIi KSwyKTsKY2FzZSJJIjpyZXR1cm4gcCgodC5nZXQoImhyIiklMTIpfHwxMiwyKTtj YXNlImoiOnJldHVybiBwKHQuZ2V0KCJkYXlvZnllYXIiKSwzKTtjYXNlImsiOnJl dHVybiBwKHQuZ2V0KCJociIpLDIsIiAiKTtjYXNlImwiOnJldHVybiBwKCh0Lmdl dCgiaHIiKSUxMil8fDEyLDIsIiAiKTsKY2FzZSJMIjpyZXR1cm4gcCh0LmdldCgi bXMiKSwzKTtjYXNlIm0iOnJldHVybiBwKCh0LmdldCgibW8iKSsxKSwyKTtjYXNl Ik0iOnJldHVybiBwKHQuZ2V0KCJtaW4iKSwyKTtjYXNlIm8iOnJldHVybiB0Lmdl dCgib3JkaW5hbCIpO2Nhc2UicCI6cmV0dXJuIGEuZ2V0TXNnKHQuZ2V0KCJhbXBt IikpOwpjYXNlInMiOnJldHVybiBNYXRoLnJvdW5kKHQvMTAwMCk7Y2FzZSJTIjpy ZXR1cm4gcCh0LmdldCgic2Vjb25kcyIpLDIpO2Nhc2UiVCI6cmV0dXJuIHQuZm9y bWF0KCIlSDolTTolUyIpO2Nhc2UiVSI6cmV0dXJuIHAodC5nZXQoIndlZWsiKSwy KTtjYXNlInciOnJldHVybiB0LmdldCgiZGF5Iik7CmNhc2UieCI6cmV0dXJuIHQu Zm9ybWF0KGEuZ2V0TXNnKCJzaG9ydERhdGUiKSk7Y2FzZSJYIjpyZXR1cm4gdC5m b3JtYXQoYS5nZXRNc2coInNob3J0VGltZSIpKTtjYXNlInkiOnJldHVybiB0Lmdl dCgieWVhciIpLnRvU3RyaW5nKCkuc3Vic3RyKDIpO2Nhc2UiWSI6cmV0dXJuIHQu Z2V0KCJ5ZWFyIik7CmNhc2UieiI6cmV0dXJuIHQuZ2V0KCJHTVRPZmZzZXQiKTtj YXNlIloiOnJldHVybiB0LmdldCgiVGltZXpvbmUiKTt9cmV0dXJuIHU7fSk7fSx0 b0lTT1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB0aGlzLmZvcm1hdCgiaXNvODYw MSIpO319KS5hbGlhcyh7dG9KU09OOiJ0b0lTT1N0cmluZyIsY29tcGFyZToiZGlm ZiIsc3RyZnRpbWU6ImZvcm1hdCJ9KTsKdmFyIGs9WyJTdW4iLCJNb24iLCJUdWUi LCJXZWQiLCJUaHUiLCJGcmkiLCJTYXQiXSxoPVsiSmFuIiwiRmViIiwiTWFyIiwi QXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92Iiwi RGVjIl07dmFyIGc9e2RiOiIlWS0lbS0lZCAlSDolTTolUyIsY29tcGFjdDoiJVkl bSVkVCVIJU0lUyIsInNob3J0IjoiJWQgJWIgJUg6JU0iLCJsb25nIjoiJUIgJWQs ICVZICVIOiVNIixyZmM4MjI6ZnVuY3Rpb24ocyl7cmV0dXJuIGtbcy5nZXQoImRh eSIpXStzLmZvcm1hdCgiLCAlZCAiKStoW3MuZ2V0KCJtb250aCIpXStzLmZvcm1h dCgiICVZICVIOiVNOiVTICVaIik7Cn0scmZjMjgyMjpmdW5jdGlvbihzKXtyZXR1 cm4ga1tzLmdldCgiZGF5IildK3MuZm9ybWF0KCIsICVkICIpK2hbcy5nZXQoIm1v bnRoIildK3MuZm9ybWF0KCIgJVkgJUg6JU06JVMgJXoiKTt9LGlzbzg2MDE6ZnVu Y3Rpb24ocyl7cmV0dXJuKHMuZ2V0VVRDRnVsbFllYXIoKSsiLSIrcChzLmdldFVU Q01vbnRoKCkrMSwyKSsiLSIrcChzLmdldFVUQ0RhdGUoKSwyKSsiVCIrcChzLmdl dFVUQ0hvdXJzKCksMikrIjoiK3Aocy5nZXRVVENNaW51dGVzKCksMikrIjoiK3Ao cy5nZXRVVENTZWNvbmRzKCksMikrIi4iK3Aocy5nZXRVVENNaWxsaXNlY29uZHMo KSwzKSsiWiIpOwp9fTt2YXIgYz1bXSxuPWEucGFyc2U7dmFyIHI9ZnVuY3Rpb24o dix4LHUpe3ZhciB0PS0xLHc9YS5nZXRNc2codisicyIpO3N3aXRjaCh0eXBlT2Yo eCkpe2Nhc2Uib2JqZWN0Ijp0PXdbeC5nZXQodildO2JyZWFrO2Nhc2UibnVtYmVy Ijp0PXdbeF07aWYoIXQpe3Rocm93IG5ldyBFcnJvcigiSW52YWxpZCAiK3YrIiBp bmRleDogIit4KTsKfWJyZWFrO2Nhc2Uic3RyaW5nIjp2YXIgcz13LmZpbHRlcihm dW5jdGlvbih5KXtyZXR1cm4gdGhpcy50ZXN0KHkpO30sbmV3IFJlZ0V4cCgiXiIr eCwiaSIpKTtpZighcy5sZW5ndGgpe3Rocm93IG5ldyBFcnJvcigiSW52YWxpZCAi K3YrIiBzdHJpbmciKTt9aWYocy5sZW5ndGg+MSl7dGhyb3cgbmV3IEVycm9yKCJB bWJpZ3VvdXMgIit2KTsKfXQ9c1swXTt9cmV0dXJuKHUpP3cuaW5kZXhPZih0KTp0 O307dmFyIGk9MTkwMCxvPTcwO2EuZXh0ZW5kKHtnZXRNc2c6ZnVuY3Rpb24odCxz KXtyZXR1cm4gTG9jYWxlLmdldCgiRGF0ZS4iK3Qscyk7fSx1bml0czp7bXM6RnVu Y3Rpb24uZnJvbSgxKSxzZWNvbmQ6RnVuY3Rpb24uZnJvbSgxMDAwKSxtaW51dGU6 RnVuY3Rpb24uZnJvbSg2MDAwMCksaG91cjpGdW5jdGlvbi5mcm9tKDM2MDAwMDAp LGRheTpGdW5jdGlvbi5mcm9tKDg2NDAwMDAwKSx3ZWVrOkZ1bmN0aW9uLmZyb20o NjA4NDAwMDAwKSxtb250aDpmdW5jdGlvbih0LHMpe3ZhciB1PW5ldyBhOwpyZXR1 cm4gYS5kYXlzSW5Nb250aCh0IT1udWxsP3Q6dS5nZXQoIm1vIikscyE9bnVsbD9z OnUuZ2V0KCJ5ZWFyIikpKjg2NDAwMDAwO30seWVhcjpmdW5jdGlvbihzKXtzPXN8 fG5ldyBhKCkuZ2V0KCJ5ZWFyIik7cmV0dXJuIGEuaXNMZWFwWWVhcihzKT8zMTYy MjQwMDAwMDozMTUzNjAwMDAwMDsKfX0sZGF5c0luTW9udGg6ZnVuY3Rpb24odCxz KXtyZXR1cm5bMzEsYS5pc0xlYXBZZWFyKHMpPzI5OjI4LDMxLDMwLDMxLDMwLDMx LDMxLDMwLDMxLDMwLDMxXVt0XTt9LGlzTGVhcFllYXI6ZnVuY3Rpb24ocyl7cmV0 dXJuKChzJTQ9PT0wKSYmKHMlMTAwIT09MCkpfHwocyU0MDA9PT0wKTsKfSxwYXJz ZTpmdW5jdGlvbih2KXt2YXIgdT10eXBlT2Yodik7aWYodT09Im51bWJlciIpe3Jl dHVybiBuZXcgYSh2KTt9aWYodSE9InN0cmluZyIpe3JldHVybiB2O312PXYuY2xl YW4oKTtpZighdi5sZW5ndGgpe3JldHVybiBudWxsO312YXIgcztjLnNvbWUoZnVu Y3Rpb24odyl7dmFyIHQ9dy5yZS5leGVjKHYpOwpyZXR1cm4odCk/KHM9dy5oYW5k bGVyKHQpKTpmYWxzZTt9KTtpZighKHMmJnMuaXNWYWxpZCgpKSl7cz1uZXcgYShu KHYpKTtpZighKHMmJnMuaXNWYWxpZCgpKSl7cz1uZXcgYSh2LnRvSW50KCkpO319 cmV0dXJuIHM7fSxwYXJzZURheTpmdW5jdGlvbihzLHQpe3JldHVybiByKCJkYXki LHMsdCk7Cn0scGFyc2VNb250aDpmdW5jdGlvbih0LHMpe3JldHVybiByKCJtb250 aCIsdCxzKTt9LHBhcnNlVVRDOmZ1bmN0aW9uKHQpe3ZhciBzPW5ldyBhKHQpO3Zh ciB1PWEuVVRDKHMuZ2V0KCJ5ZWFyIikscy5nZXQoIm1vIikscy5nZXQoImRhdGUi KSxzLmdldCgiaHIiKSxzLmdldCgibWluIikscy5nZXQoInNlYyIpLHMuZ2V0KCJt cyIpKTsKcmV0dXJuIG5ldyBhKHUpO30sb3JkZXJJbmRleDpmdW5jdGlvbihzKXty ZXR1cm4gYS5nZXRNc2coImRhdGVPcmRlciIpLmluZGV4T2YocykrMTt9LGRlZmlu ZUZvcm1hdDpmdW5jdGlvbihzLHQpe2dbc109dDtyZXR1cm4gdGhpczt9LGRlZmlu ZVBhcnNlcjpmdW5jdGlvbihzKXtjLnB1c2goKHMucmUmJnMuaGFuZGxlcik/czps KHMpKTsKcmV0dXJuIHRoaXM7fSxkZWZpbmVQYXJzZXJzOmZ1bmN0aW9uKCl7QXJy YXkuZmxhdHRlbihhcmd1bWVudHMpLmVhY2goYS5kZWZpbmVQYXJzZXIpO3JldHVy biB0aGlzO30sZGVmaW5lMkRpZ2l0WWVhclN0YXJ0OmZ1bmN0aW9uKHMpe289cyUx MDA7aT1zLW87cmV0dXJuIHRoaXM7Cn19KS5leHRlbmQoe2RlZmluZUZvcm1hdHM6 YS5kZWZpbmVGb3JtYXQub3ZlcmxvYWRTZXR0ZXIoKX0pO3ZhciBkPWZ1bmN0aW9u KHMpe3JldHVybiBuZXcgUmVnRXhwKCIoPzoiK2EuZ2V0TXNnKHMpLm1hcChmdW5j dGlvbih0KXtyZXR1cm4gdC5zdWJzdHIoMCwzKTsKfSkuam9pbigifCIpKyIpW2Et el0qIik7fTt2YXIgbT1mdW5jdGlvbihzKXtzd2l0Y2gocyl7Y2FzZSJUIjpyZXR1 cm4iJUg6JU06JVMiO2Nhc2UieCI6cmV0dXJuKChhLm9yZGVySW5kZXgoIm1vbnRo Iik9PTEpPyIlbVstLi9dJWQiOiIlZFstLi9dJW0iKSsiKFstLi9dJXkpPyI7CmNh c2UiWCI6cmV0dXJuIiVIKFsuOl0lTSk/KFsuOl0lUyhbLjpdJXMpPyk/ID8lcD8g PyV6PyI7fXJldHVybiBudWxsO307dmFyIGo9e2Q6L1swLTJdP1swLTldfDNbMDFd LyxIOi9bMDFdP1swLTldfDJbMC0zXS8sSTovMD9bMS05XXwxWzAtMl0vLE06L1sw LTVdP1xkLyxzOi9cZCsvLG86L1thLXpdKi8scDovW2FwXVwuP21cLj8vLHk6L1xk ezJ9fFxkezR9LyxZOi9cZHs0fS8sejovWnxbKy1dXGR7Mn0oPzo6P1xkezJ9KT8v fTsKai5tPWouSTtqLlM9ai5NO3ZhciBlO3ZhciBiPWZ1bmN0aW9uKHMpe2U9cztq LmE9ai5BPWQoImRheXMiKTtqLmI9ai5CPWQoIm1vbnRocyIpO2MuZWFjaChmdW5j dGlvbih1LHQpe2lmKHUuZm9ybWF0KXtjW3RdPWwodS5mb3JtYXQpO319KTt9O3Zh ciBsPWZ1bmN0aW9uKHUpe2lmKCFlKXtyZXR1cm57Zm9ybWF0OnV9Owp9dmFyIHM9 W107dmFyIHQ9KHUuc291cmNlfHx1KS5yZXBsYWNlKC8lKFthLXpdKS9naSxmdW5j dGlvbih3LHYpe3JldHVybiBtKHYpfHx3O30pLnJlcGxhY2UoL1woKD8hXD8pL2cs Iig/OiIpLnJlcGxhY2UoLyAoPyFcP3xcKikvZywiLD8gIikucmVwbGFjZSgvJShb YS16JV0pL2dpLGZ1bmN0aW9uKHcsdil7dmFyIHg9alt2XTsKaWYoIXgpe3JldHVy biB2O31zLnB1c2godik7cmV0dXJuIigiK3guc291cmNlKyIpIjt9KS5yZXBsYWNl KC9cW2EtelxdL2dpLCJbYS16XFx1MDBjMC1cXHVmZmZmOyZdIik7cmV0dXJue2Zv cm1hdDp1LHJlOm5ldyBSZWdFeHAoIl4iK3QrIiQiLCJpIiksaGFuZGxlcjpmdW5j dGlvbih5KXt5PXkuc2xpY2UoMSkuYXNzb2NpYXRlKHMpOwp2YXIgdj1uZXcgYSgp LmNsZWFyVGltZSgpLHg9eS55fHx5Llk7aWYoeCE9bnVsbCl7cS5jYWxsKHYsInki LHgpO31pZigiZCIgaW4geSl7cS5jYWxsKHYsImQiLDEpO31pZigibSIgaW4geXx8 eS5ifHx5LkIpe3EuY2FsbCh2LCJtIiwxKTt9Zm9yKHZhciB3IGluIHkpe3EuY2Fs bCh2LHcseVt3XSk7Cn1yZXR1cm4gdjt9fTt9O3ZhciBxPWZ1bmN0aW9uKHMsdCl7 aWYoIXQpe3JldHVybiB0aGlzO31zd2l0Y2gocyl7Y2FzZSJhIjpjYXNlIkEiOnJl dHVybiB0aGlzLnNldCgiZGF5IixhLnBhcnNlRGF5KHQsdHJ1ZSkpO2Nhc2UiYiI6 Y2FzZSJCIjpyZXR1cm4gdGhpcy5zZXQoIm1vIixhLnBhcnNlTW9udGgodCx0cnVl KSk7CmNhc2UiZCI6cmV0dXJuIHRoaXMuc2V0KCJkYXRlIix0KTtjYXNlIkgiOmNh c2UiSSI6cmV0dXJuIHRoaXMuc2V0KCJociIsdCk7Y2FzZSJtIjpyZXR1cm4gdGhp cy5zZXQoIm1vIix0LTEpO2Nhc2UiTSI6cmV0dXJuIHRoaXMuc2V0KCJtaW4iLHQp O2Nhc2UicCI6cmV0dXJuIHRoaXMuc2V0KCJhbXBtIix0LnJlcGxhY2UoL1wuL2cs IiIpKTsKY2FzZSJTIjpyZXR1cm4gdGhpcy5zZXQoInNlYyIsdCk7Y2FzZSJzIjpy ZXR1cm4gdGhpcy5zZXQoIm1zIiwoIjAuIit0KSoxMDAwKTtjYXNlInciOnJldHVy biB0aGlzLnNldCgiZGF5Iix0KTtjYXNlIlkiOnJldHVybiB0aGlzLnNldCgieWVh ciIsdCk7Y2FzZSJ5Ijp0PSt0OwppZih0PDEwMCl7dCs9aSsodDxvPzEwMDowKTt9 cmV0dXJuIHRoaXMuc2V0KCJ5ZWFyIix0KTtjYXNlInoiOmlmKHQ9PSJaIil7dD0i KzAwIjt9dmFyIHU9dC5tYXRjaCgvKFsrLV0pKFxkezJ9KTo/KFxkezJ9KT8vKTt1 PSh1WzFdKyIxIikqKHVbMl0qNjArKCt1WzNdfHwwKSkrdGhpcy5nZXRUaW1lem9u ZU9mZnNldCgpOwpyZXR1cm4gdGhpcy5zZXQoInRpbWUiLHRoaXMtdSo2MDAwMCk7 fXJldHVybiB0aGlzO307YS5kZWZpbmVQYXJzZXJzKCIlWShbLS4vXSVtKFstLi9d JWQoKFR8ICklWCk/KT8pPyIsIiVZJW0lZChUJUgoJU0lUz8pPyk/IiwiJXgoICVY KT8iLCIlZCVvKCAlYiggJVkpPyk/KCAlWCk/IiwiJWIoICVkJW8pPyggJVkpPygg JVgpPyIsIiVZICViKCAlZCVvKCAlWCk/KT8iLCIlbyAlYiAlZCAlWCAleiAlWSIs IiVUIiwiJUg6JU0oID8lcCk/Iik7CkxvY2FsZS5hZGRFdmVudCgiY2hhbmdlIixm dW5jdGlvbihzKXtpZihMb2NhbGUuZ2V0KCJEYXRlIikpe2Iocyk7fX0pLmZpcmVF dmVudCgiY2hhbmdlIixMb2NhbGUuZ2V0Q3VycmVudCgpKTt9KSgpO0RhdGUuaW1w bGVtZW50KHt0aW1lRGlmZkluV29yZHM6ZnVuY3Rpb24oYSl7cmV0dXJuIERhdGUu ZGlzdGFuY2VPZlRpbWVJbldvcmRzKHRoaXMsYXx8bmV3IERhdGUpOwp9LHRpbWVE aWZmOmZ1bmN0aW9uKGYsYyl7aWYoZj09bnVsbCl7Zj1uZXcgRGF0ZTt9dmFyIGg9 KChmLXRoaXMpLzEwMDApLmZsb29yKCkuYWJzKCk7dmFyIGU9W10sYT1bNjAsNjAs MjQsMzY1LDBdLGQ9WyJzIiwibSIsImgiLCJkIiwieSJdLGcsYjtmb3IodmFyIGk9 MDsKaTxhLmxlbmd0aDtpKyspe2lmKGkmJiFoKXticmVhazt9Zz1oO2lmKChiPWFb aV0pKXtnPShoJWIpO2g9KGgvYikuZmxvb3IoKTt9ZS51bnNoaWZ0KGcrKGRbaV18 fCIiKSk7fXJldHVybiBlLmpvaW4oY3x8IjoiKTt9fSkuZXh0ZW5kKHtkaXN0YW5j ZU9mVGltZUluV29yZHM6ZnVuY3Rpb24oYixhKXtyZXR1cm4gRGF0ZS5nZXRUaW1l UGhyYXNlKCgoYS1iKS8xMDAwKS50b0ludCgpKTsKfSxnZXRUaW1lUGhyYXNlOmZ1 bmN0aW9uKGYpe3ZhciBkPShmPDApPyJVbnRpbCI6IkFnbyI7aWYoZjwwKXtmKj0t MTt9dmFyIGI9e21pbnV0ZTo2MCxob3VyOjYwLGRheToyNCx3ZWVrOjcsbW9udGg6 NTIvMTIseWVhcjoxMixlb246SW5maW5pdHl9O3ZhciBlPSJsZXNzVGhhbk1pbnV0 ZSI7CmZvcih2YXIgYyBpbiBiKXt2YXIgYT1iW2NdO2lmKGY8MS41KmEpe2lmKGY+ MC43NSphKXtlPWM7fWJyZWFrO31mLz1hO2U9YysicyI7fWY9Zi5yb3VuZCgpO3Jl dHVybiBEYXRlLmdldE1zZyhlK2QsZikuc3Vic3RpdHV0ZSh7ZGVsdGE6Zn0pO319 KS5kZWZpbmVQYXJzZXJzKHtyZTovXig/OnRvZHx0b218eWVzKS9pLGhhbmRsZXI6 ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IERhdGUoKS5jbGVhclRpbWUoKTsKc3dpdGNo KGFbMF0pe2Nhc2UidG9tIjpyZXR1cm4gYi5pbmNyZW1lbnQoKTtjYXNlInllcyI6 cmV0dXJuIGIuZGVjcmVtZW50KCk7ZGVmYXVsdDpyZXR1cm4gYjt9fX0se3JlOi9e KG5leHR8bGFzdCkgKFthLXpdKykkL2ksaGFuZGxlcjpmdW5jdGlvbihlKXt2YXIg Zj1uZXcgRGF0ZSgpLmNsZWFyVGltZSgpOwp2YXIgYj1mLmdldERheSgpO3ZhciBj PURhdGUucGFyc2VEYXkoZVsyXSx0cnVlKTt2YXIgYT1jLWI7aWYoYzw9Yil7YSs9 Nzt9aWYoZVsxXT09Imxhc3QiKXthLT03O31yZXR1cm4gZi5zZXQoImRhdGUiLGYu Z2V0RGF0ZSgpK2EpO319KS5hbGlhcygidGltZUFnb0luV29yZHMiLCJ0aW1lRGlm ZkluV29yZHMiKTsKTG9jYWxlLmRlZmluZSgiZW4tVVMiLCJOdW1iZXIiLHtkZWNp bWFsOiIuIixncm91cDoiLCIsY3VycmVuY3k6e3ByZWZpeDoiJCAifX0pO051bWJl ci5pbXBsZW1lbnQoe2Zvcm1hdDpmdW5jdGlvbihxKXt2YXIgbj10aGlzO3E9cT9P YmplY3QuY2xvbmUocSk6e307dmFyIGE9ZnVuY3Rpb24oaSl7aWYocVtpXSE9bnVs bCl7cmV0dXJuIHFbaV07Cn1yZXR1cm4gTG9jYWxlLmdldCgiTnVtYmVyLiIraSk7 fTt2YXIgZj1uPDAsaD1hKCJkZWNpbWFsIiksaz1hKCJwcmVjaXNpb24iKSxvPWEo Imdyb3VwIiksYz1hKCJkZWNpbWFscyIpO2lmKGYpe3ZhciBlPWEoIm5lZ2F0aXZl Iil8fHt9O2lmKGUucHJlZml4PT1udWxsJiZlLnN1ZmZpeD09bnVsbCl7ZS5wcmVm aXg9Ii0iOwp9WyJwcmVmaXgiLCJzdWZmaXgiXS5lYWNoKGZ1bmN0aW9uKGkpe2lm KGVbaV0pe3FbaV09YShpKStlW2ldO319KTtuPS1uO312YXIgbD1hKCJwcmVmaXgi KSxwPWEoInN1ZmZpeCIpO2lmKGMhPT0iIiYmYz49MCYmYzw9MjApe249bi50b0Zp eGVkKGMpO31pZihrPj0xJiZrPD0yMSl7bj0oK24pLnRvUHJlY2lzaW9uKGspOwp9 bis9IiI7dmFyIG07aWYoYSgic2NpZW50aWZpYyIpPT09ZmFsc2UmJm4uaW5kZXhP ZigiZSIpPi0xKXt2YXIgaj1uLnNwbGl0KCJlIiksYj0ralsxXTtuPWpbMF0ucmVw bGFjZSgiLiIsIiIpO2lmKGI8MCl7Yj0tYi0xO209alswXS5pbmRleE9mKCIuIik7 aWYobT4tMSl7Yi09bS0xOwp9d2hpbGUoYi0tKXtuPSIwIituO31uPSIwLiIrbjt9 ZWxzZXttPWpbMF0ubGFzdEluZGV4T2YoIi4iKTtpZihtPi0xKXtiLT1qWzBdLmxl bmd0aC1tLTE7fXdoaWxlKGItLSl7bis9IjAiO319fWlmKGghPSIuIil7bj1uLnJl cGxhY2UoIi4iLGgpO31pZihvKXttPW4ubGFzdEluZGV4T2YoaCk7Cm09KG0+LTEp P206bi5sZW5ndGg7dmFyIGQ9bi5zdWJzdHJpbmcobSksZz1tO3doaWxlKGctLSl7 aWYoKG0tZy0xKSUzPT0wJiZnIT0obS0xKSl7ZD1vK2Q7fWQ9bi5jaGFyQXQoZykr ZDt9bj1kO31pZihsKXtuPWwrbjt9aWYocCl7bis9cDt9cmV0dXJuIG47fSxmb3Jt YXRDdXJyZW5jeTpmdW5jdGlvbihiKXt2YXIgYT1Mb2NhbGUuZ2V0KCJOdW1iZXIu Y3VycmVuY3kiKXx8e307CmlmKGEuc2NpZW50aWZpYz09bnVsbCl7YS5zY2llbnRp ZmljPWZhbHNlO31hLmRlY2ltYWxzPWIhPW51bGw/YjooYS5kZWNpbWFscz09bnVs bD8yOmEuZGVjaW1hbHMpO3JldHVybiB0aGlzLmZvcm1hdChhKTt9LGZvcm1hdFBl cmNlbnRhZ2U6ZnVuY3Rpb24oYil7dmFyIGE9TG9jYWxlLmdldCgiTnVtYmVyLnBl cmNlbnRhZ2UiKXx8e307CmlmKGEuc3VmZml4PT1udWxsKXthLnN1ZmZpeD0iJSI7 fWEuZGVjaW1hbHM9YiE9bnVsbD9iOihhLmRlY2ltYWxzPT1udWxsPzI6YS5kZWNp bWFscyk7cmV0dXJuIHRoaXMuZm9ybWF0KGEpO319KTsoZnVuY3Rpb24oKXt2YXIg Yz17YTovW8Ogw6HDosOjw6TDpcSDxIVdL2csQTovW8OAw4HDgsODw4TDhcSCxIRd L2csYzovW8SHxI3Dp10vZyxDOi9bxIbEjMOHXS9nLGQ6L1vEj8SRXS9nLEQ6L1vE jsOQXS9nLGU6L1vDqMOpw6rDq8SbxJldL2csRTovW8OIw4nDisOLxJrEmF0vZyxn Oi9bxJ9dL2csRzovW8SeXS9nLGk6L1vDrMOtw67Dr10vZyxJOi9bw4zDjcOOw49d L2csbDovW8S6xL7Fgl0vZyxMOi9bxLnEvcWBXS9nLG46L1vDscWIxYRdL2csTjov W8ORxYfFg10vZyxvOi9bw7LDs8O0w7XDtsO4xZFdL2csTzovW8OSw5PDlMOVw5bD mF0vZyxyOi9bxZnFlV0vZyxSOi9bxZjFlF0vZyxzOi9bxaHFocWfXS9nLFM6L1vF oMWexZpdL2csdDovW8WlxaNdL2csVDovW8WkxaJdL2csdWU6L1vDvF0vZyxVRTov W8OcXS9nLHU6L1vDucO6w7vFr8K1XS9nLFU6L1vDmcOaw5vFrl0vZyx5Oi9bw7/D vV0vZyxZOi9bxbjDnV0vZyx6Oi9bxb7FusW8XS9nLFo6L1vFvcW5xbtdL2csdGg6 L1vDvl0vZyxUSDovW8OeXS9nLGRoOi9bw7BdL2csREg6L1vDkF0vZyxzczovW8Of XS9nLG9lOi9bxZNdL2csT0U6L1vFkl0vZyxhZTovW8OmXS9nLEFFOi9bw4ZdL2d9 LGI9eyIgIjovW1x4YTBcdTIwMDJcdTIwMDNcdTIwMDldL2csIioiOi9bXHhiN10v ZywiJyI6L1tcdTIwMThcdTIwMTldL2csJyInOi9bXHUyMDFjXHUyMDFkXS9nLCIu Li4iOi9bXHUyMDI2XS9nLCItIjovW1x1MjAxM10vZywiJnJhcXVvOyI6L1tcdUZG RkRdL2d9Owp2YXIgYT1mdW5jdGlvbihmLGgpe3ZhciBlPWYsZztmb3IoZyBpbiBo KXtlPWUucmVwbGFjZShoW2ddLGcpO31yZXR1cm4gZTt9O3ZhciBkPWZ1bmN0aW9u KGUsZyl7ZT1lfHwiIjt2YXIgaD1nPyI8IitlKyIoPyFcXHcpW14+XSo+KFtcXHNc XFNdKj8pPC8iK2UrIig/IVxcdyk+IjoiPC8/IitlKyIoW14+XSspPz4iLGY9bmV3 IFJlZ0V4cChoLCJnaSIpOwpyZXR1cm4gZjt9O1N0cmluZy5pbXBsZW1lbnQoe3N0 YW5kYXJkaXplOmZ1bmN0aW9uKCl7cmV0dXJuIGEodGhpcyxjKTt9LHJlcGVhdDpm dW5jdGlvbihlKXtyZXR1cm4gbmV3IEFycmF5KGUrMSkuam9pbih0aGlzKTt9LHBh ZDpmdW5jdGlvbihlLGgsZyl7aWYodGhpcy5sZW5ndGg+PWUpe3JldHVybiB0aGlz Owp9dmFyIGY9KGg9PW51bGw/IiAiOiIiK2gpLnJlcGVhdChlLXRoaXMubGVuZ3Ro KS5zdWJzdHIoMCxlLXRoaXMubGVuZ3RoKTtpZighZ3x8Zz09InJpZ2h0Iil7cmV0 dXJuIHRoaXMrZjt9aWYoZz09ImxlZnQiKXtyZXR1cm4gZit0aGlzO31yZXR1cm4g Zi5zdWJzdHIoMCwoZi5sZW5ndGgvMikuZmxvb3IoKSkrdGhpcytmLnN1YnN0cigw LChmLmxlbmd0aC8yKS5jZWlsKCkpOwp9LGdldFRhZ3M6ZnVuY3Rpb24oZSxmKXty ZXR1cm4gdGhpcy5tYXRjaChkKGUsZikpfHxbXTt9LHN0cmlwVGFnczpmdW5jdGlv bihlLGYpe3JldHVybiB0aGlzLnJlcGxhY2UoZChlLGYpLCIiKTt9LHRpZHk6ZnVu Y3Rpb24oKXtyZXR1cm4gYSh0aGlzLGIpO30sdHJ1bmNhdGU6ZnVuY3Rpb24oZSxm LGkpe3ZhciBoPXRoaXM7CmlmKGY9PW51bGwmJmFyZ3VtZW50cy5sZW5ndGg9PTEp e2Y9IuKApiI7fWlmKGgubGVuZ3RoPmUpe2g9aC5zdWJzdHJpbmcoMCxlKTtpZihp KXt2YXIgZz1oLmxhc3RJbmRleE9mKGkpO2lmKGchPS0xKXtoPWguc3Vic3RyKDAs Zyk7fX1pZihmKXtoKz1mO319cmV0dXJuIGg7Cn19KTt9KSgpO1N0cmluZy5pbXBs ZW1lbnQoe3BhcnNlUXVlcnlTdHJpbmc6ZnVuY3Rpb24oZCxhKXtpZihkPT1udWxs KXtkPXRydWU7fWlmKGE9PW51bGwpe2E9dHJ1ZTt9dmFyIGM9dGhpcy5zcGxpdCgv WyY7XS8pLGI9e307aWYoIWMubGVuZ3RoKXtyZXR1cm4gYjsKfWMuZWFjaChmdW5j dGlvbihpKXt2YXIgZT1pLmluZGV4T2YoIj0iKSsxLGc9ZT9pLnN1YnN0cihlKToi IixmPWU/aS5zdWJzdHIoMCxlLTEpLm1hdGNoKC8oW15cXVxbXSt8KFxCKSg/PVxd KSkvZyk6W2ldLGg9YjtpZighZil7cmV0dXJuO31pZihhKXtnPWRlY29kZVVSSUNv bXBvbmVudChnKTsKfWYuZWFjaChmdW5jdGlvbihrLGope2lmKGQpe2s9ZGVjb2Rl VVJJQ29tcG9uZW50KGspO312YXIgbD1oW2tdO2lmKGo8Zi5sZW5ndGgtMSl7aD1o W2tdPWx8fHt9O31lbHNle2lmKHR5cGVPZihsKT09ImFycmF5Iil7bC5wdXNoKGcp O31lbHNle2hba109bCE9bnVsbD9bbCxnXTpnOwp9fX0pO30pO3JldHVybiBiO30s Y2xlYW5RdWVyeVN0cmluZzpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5zcGxpdCgi JiIpLmZpbHRlcihmdW5jdGlvbihlKXt2YXIgYj1lLmluZGV4T2YoIj0iKSxjPWI8 MD8iIjplLnN1YnN0cigwLGIpLGQ9ZS5zdWJzdHIoYisxKTtyZXR1cm4gYT9hLmNh bGwobnVsbCxjLGQpOihkfHxkPT09MCk7Cn0pLmpvaW4oIiYiKTt9fSk7KGZ1bmN0 aW9uKCl7dmFyIGI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXQoInZhbHVlIik7 fTt2YXIgYT10aGlzLlVSST1uZXcgQ2xhc3Moe0ltcGxlbWVudHM6T3B0aW9ucyxv cHRpb25zOnt9LHJlZ2V4Oi9eKD86KFx3Kyk6KT8oPzpcL1wvKD86KD86KFteOkBc L10qKTo/KFteOkBcL10qKSk/QCk/KFteOlwvPyNdKikoPzo6KFxkKikpPyk/KFwu XC4/JHwoPzpbXj8jXC9dKlwvKSopKFtePyNdKikoPzpcPyhbXiNdKikpPyg/OiMo LiopKT8vLHBhcnRzOlsic2NoZW1lIiwidXNlciIsInBhc3N3b3JkIiwiaG9zdCIs InBvcnQiLCJkaXJlY3RvcnkiLCJmaWxlIiwicXVlcnkiLCJmcmFnbWVudCJdLHNj aGVtZXM6e2h0dHA6ODAsaHR0cHM6NDQzLGZ0cDoyMSxydHNwOjU1NCxtbXM6MTc1 NSxmaWxlOjB9LGluaXRpYWxpemU6ZnVuY3Rpb24oZCxjKXt0aGlzLnNldE9wdGlv bnMoYyk7CnZhciBlPXRoaXMub3B0aW9ucy5iYXNlfHxhLmJhc2U7aWYoIWQpe2Q9 ZTt9aWYoZCYmZC5wYXJzZWQpe3RoaXMucGFyc2VkPU9iamVjdC5jbG9uZShkLnBh cnNlZCk7fWVsc2V7dGhpcy5zZXQoInZhbHVlIixkLmhyZWZ8fGQudG9TdHJpbmco KSxlP25ldyBhKGUpOmZhbHNlKTsKfX0scGFyc2U6ZnVuY3Rpb24oZSxkKXt2YXIg Yz1lLm1hdGNoKHRoaXMucmVnZXgpO2lmKCFjKXtyZXR1cm4gZmFsc2U7fWMuc2hp ZnQoKTtyZXR1cm4gdGhpcy5tZXJnZShjLmFzc29jaWF0ZSh0aGlzLnBhcnRzKSxk KTt9LG1lcmdlOmZ1bmN0aW9uKGQsYyl7aWYoKCFkfHwhZC5zY2hlbWUpJiYoIWN8 fCFjLnNjaGVtZSkpe3JldHVybiBmYWxzZTsKfWlmKGMpe3RoaXMucGFydHMuZXZl cnkoZnVuY3Rpb24oZSl7aWYoZFtlXSl7cmV0dXJuIGZhbHNlO31kW2VdPWNbZV18 fCIiO3JldHVybiB0cnVlO30pO31kLnBvcnQ9ZC5wb3J0fHx0aGlzLnNjaGVtZXNb ZC5zY2hlbWUudG9Mb3dlckNhc2UoKV07ZC5kaXJlY3Rvcnk9ZC5kaXJlY3Rvcnk/ dGhpcy5wYXJzZURpcmVjdG9yeShkLmRpcmVjdG9yeSxjP2MuZGlyZWN0b3J5OiIi KToiLyI7CnJldHVybiBkO30scGFyc2VEaXJlY3Rvcnk6ZnVuY3Rpb24oZCxlKXtk PShkLnN1YnN0cigwLDEpPT0iLyI/IiI6KGV8fCIvIikpK2Q7aWYoIWQudGVzdChh LnJlZ3MuZGlyZWN0b3J5RG90KSl7cmV0dXJuIGQ7fXZhciBjPVtdO2QucmVwbGFj ZShhLnJlZ3MuZW5kU2xhc2gsIiIpLnNwbGl0KCIvIikuZWFjaChmdW5jdGlvbihm KXtpZihmPT0iLi4iJiZjLmxlbmd0aD4wKXtjLnBvcCgpOwp9ZWxzZXtpZihmIT0i LiIpe2MucHVzaChmKTt9fX0pO3JldHVybiBjLmpvaW4oIi8iKSsiLyI7fSxjb21i aW5lOmZ1bmN0aW9uKGMpe3JldHVybiBjLnZhbHVlfHxjLnNjaGVtZSsiOi8vIiso Yy51c2VyP2MudXNlcisoYy5wYXNzd29yZD8iOiIrYy5wYXNzd29yZDoiIikrIkAi OiIiKSsoYy5ob3N0fHwiIikrKGMucG9ydCYmYy5wb3J0IT10aGlzLnNjaGVtZXNb Yy5zY2hlbWVdPyI6IitjLnBvcnQ6IiIpKyhjLmRpcmVjdG9yeXx8Ii8iKSsoYy5m aWxlfHwiIikrKGMucXVlcnk/Ij8iK2MucXVlcnk6IiIpKyhjLmZyYWdtZW50PyIj IitjLmZyYWdtZW50OiIiKTsKfSxzZXQ6ZnVuY3Rpb24oZCxmLGUpe2lmKGQ9PSJ2 YWx1ZSIpe3ZhciBjPWYubWF0Y2goYS5yZWdzLnNjaGVtZSk7aWYoYyl7Yz1jWzFd O31pZihjJiZ0aGlzLnNjaGVtZXNbYy50b0xvd2VyQ2FzZSgpXT09bnVsbCl7dGhp cy5wYXJzZWQ9e3NjaGVtZTpjLHZhbHVlOmZ9Owp9ZWxzZXt0aGlzLnBhcnNlZD10 aGlzLnBhcnNlKGYsKGV8fHRoaXMpLnBhcnNlZCl8fChjP3tzY2hlbWU6Yyx2YWx1 ZTpmfTp7dmFsdWU6Zn0pO319ZWxzZXtpZihkPT0iZGF0YSIpe3RoaXMuc2V0RGF0 YShmKTt9ZWxzZXt0aGlzLnBhcnNlZFtkXT1mO319cmV0dXJuIHRoaXM7Cn0sZ2V0 OmZ1bmN0aW9uKGMsZCl7c3dpdGNoKGMpe2Nhc2UidmFsdWUiOnJldHVybiB0aGlz LmNvbWJpbmUodGhpcy5wYXJzZWQsZD9kLnBhcnNlZDpmYWxzZSk7Y2FzZSJkYXRh IjpyZXR1cm4gdGhpcy5nZXREYXRhKCk7fXJldHVybiB0aGlzLnBhcnNlZFtjXXx8 IiI7Cn0sZ286ZnVuY3Rpb24oKXtkb2N1bWVudC5sb2NhdGlvbi5ocmVmPXRoaXMu dG9TdHJpbmcoKTt9LHRvVVJJOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXM7fSxnZXRE YXRhOmZ1bmN0aW9uKGUsZCl7dmFyIGM9dGhpcy5nZXQoZHx8InF1ZXJ5Iik7aWYo IShjfHxjPT09MCkpe3JldHVybiBlP251bGw6e307Cn12YXIgZj1jLnBhcnNlUXVl cnlTdHJpbmcoKTtyZXR1cm4gZT9mW2VdOmY7fSxzZXREYXRhOmZ1bmN0aW9uKGMs ZixkKXtpZih0eXBlb2YgYz09InN0cmluZyIpe3ZhciBlPXRoaXMuZ2V0RGF0YSgp O2VbYXJndW1lbnRzWzBdXT1hcmd1bWVudHNbMV07Yz1lO31lbHNle2lmKGYpe2M9 T2JqZWN0Lm1lcmdlKHRoaXMuZ2V0RGF0YSgpLGMpOwp9fXJldHVybiB0aGlzLnNl dChkfHwicXVlcnkiLE9iamVjdC50b1F1ZXJ5U3RyaW5nKGMpKTt9LGNsZWFyRGF0 YTpmdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5zZXQoY3x8InF1ZXJ5IiwiIik7fSx0 b1N0cmluZzpiLHZhbHVlT2Y6Yn0pO2EucmVncz17ZW5kU2xhc2g6L1wvJC8sc2No ZW1lOi9eKFx3Kyk6LyxkaXJlY3RvcnlEb3Q6L1wuXC98XC4kL307CmEuYmFzZT1u ZXcgYShBcnJheS5mcm9tKGRvY3VtZW50LmdldEVsZW1lbnRzKCJiYXNlW2hyZWZd Iix0cnVlKSkuZ2V0TGFzdCgpLHtiYXNlOmRvY3VtZW50LmxvY2F0aW9ufSk7U3Ry aW5nLmltcGxlbWVudCh7dG9VUkk6ZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBhKHRo aXMsYyk7Cn19KTt9KSgpO1VSST1DbGFzcy5yZWZhY3RvcihVUkkse2NvbWJpbmU6 ZnVuY3Rpb24oZixlKXtpZighZXx8Zi5zY2hlbWUhPWUuc2NoZW1lfHxmLmhvc3Qh PWUuaG9zdHx8Zi5wb3J0IT1lLnBvcnQpe3JldHVybiB0aGlzLnByZXZpb3VzLmFw cGx5KHRoaXMsYXJndW1lbnRzKTsKfXZhciBhPWYuZmlsZSsoZi5xdWVyeT8iPyIr Zi5xdWVyeToiIikrKGYuZnJhZ21lbnQ/IiMiK2YuZnJhZ21lbnQ6IiIpO2lmKCFl LmRpcmVjdG9yeSl7cmV0dXJuKGYuZGlyZWN0b3J5fHwoZi5maWxlPyIiOiIuLyIp KSthO312YXIgZD1lLmRpcmVjdG9yeS5zcGxpdCgiLyIpLGM9Zi5kaXJlY3Rvcnku c3BsaXQoIi8iKSxnPSIiLGg7CnZhciBiPTA7Zm9yKGg9MDtoPGQubGVuZ3RoJiZo PGMubGVuZ3RoJiZkW2hdPT1jW2hdO2grKyl7fWZvcihiPTA7YjxkLmxlbmd0aC1o LTE7YisrKXtnKz0iLi4vIjt9Zm9yKGI9aDtiPGMubGVuZ3RoLTE7YisrKXtnKz1j W2JdKyIvIjt9cmV0dXJuKGd8fChmLmZpbGU/IiI6Ii4vIikpK2E7Cn0sdG9BYnNv bHV0ZTpmdW5jdGlvbihhKXthPW5ldyBVUkkoYSk7aWYoYSl7YS5zZXQoImRpcmVj dG9yeSIsIiIpLnNldCgiZmlsZSIsIiIpO31yZXR1cm4gdGhpcy50b1JlbGF0aXZl KGEpO30sdG9SZWxhdGl2ZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5nZXQoInZh bHVlIixuZXcgVVJJKGEpKTsKfX0pOyhmdW5jdGlvbigpe2lmKHRoaXMuSGFzaCl7 cmV0dXJuO312YXIgYT10aGlzLkhhc2g9bmV3IFR5cGUoIkhhc2giLGZ1bmN0aW9u KGIpe2lmKHR5cGVPZihiKT09Imhhc2giKXtiPU9iamVjdC5jbG9uZShiLmdldENs ZWFuKCkpO31mb3IodmFyIGMgaW4gYil7dGhpc1tjXT1iW2NdOwp9cmV0dXJuIHRo aXM7fSk7dGhpcy4kSD1mdW5jdGlvbihiKXtyZXR1cm4gbmV3IGEoYik7fTthLmlt cGxlbWVudCh7Zm9yRWFjaDpmdW5jdGlvbihiLGMpe09iamVjdC5mb3JFYWNoKHRo aXMsYixjKTt9LGdldENsZWFuOmZ1bmN0aW9uKCl7dmFyIGM9e307Zm9yKHZhciBi IGluIHRoaXMpe2lmKHRoaXMuaGFzT3duUHJvcGVydHkoYikpe2NbYl09dGhpc1ti XTsKfX1yZXR1cm4gYzt9LGdldExlbmd0aDpmdW5jdGlvbigpe3ZhciBjPTA7Zm9y KHZhciBiIGluIHRoaXMpe2lmKHRoaXMuaGFzT3duUHJvcGVydHkoYikpe2MrKzt9 fXJldHVybiBjO319KTthLmFsaWFzKCJlYWNoIiwiZm9yRWFjaCIpO2EuaW1wbGVt ZW50KHtoYXM6T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxrZXlPZjpm dW5jdGlvbihiKXtyZXR1cm4gT2JqZWN0LmtleU9mKHRoaXMsYik7Cn0saGFzVmFs dWU6ZnVuY3Rpb24oYil7cmV0dXJuIE9iamVjdC5jb250YWlucyh0aGlzLGIpO30s ZXh0ZW5kOmZ1bmN0aW9uKGIpe2EuZWFjaChifHx7fSxmdW5jdGlvbihkLGMpe2Eu c2V0KHRoaXMsYyxkKTt9LHRoaXMpO3JldHVybiB0aGlzO30sY29tYmluZTpmdW5j dGlvbihiKXthLmVhY2goYnx8e30sZnVuY3Rpb24oZCxjKXthLmluY2x1ZGUodGhp cyxjLGQpOwp9LHRoaXMpO3JldHVybiB0aGlzO30sZXJhc2U6ZnVuY3Rpb24oYil7 aWYodGhpcy5oYXNPd25Qcm9wZXJ0eShiKSl7ZGVsZXRlIHRoaXNbYl07fXJldHVy biB0aGlzO30sZ2V0OmZ1bmN0aW9uKGIpe3JldHVybih0aGlzLmhhc093blByb3Bl cnR5KGIpKT90aGlzW2JdOm51bGw7Cn0sc2V0OmZ1bmN0aW9uKGIsYyl7aWYoIXRo aXNbYl18fHRoaXMuaGFzT3duUHJvcGVydHkoYikpe3RoaXNbYl09Yzt9cmV0dXJu IHRoaXM7fSxlbXB0eTpmdW5jdGlvbigpe2EuZWFjaCh0aGlzLGZ1bmN0aW9uKGMs Yil7ZGVsZXRlIHRoaXNbYl07fSx0aGlzKTtyZXR1cm4gdGhpczsKfSxpbmNsdWRl OmZ1bmN0aW9uKGIsYyl7aWYodGhpc1tiXT09dW5kZWZpbmVkKXt0aGlzW2JdPWM7 fXJldHVybiB0aGlzO30sbWFwOmZ1bmN0aW9uKGIsYyl7cmV0dXJuIG5ldyBhKE9i amVjdC5tYXAodGhpcyxiLGMpKTt9LGZpbHRlcjpmdW5jdGlvbihiLGMpe3JldHVy biBuZXcgYShPYmplY3QuZmlsdGVyKHRoaXMsYixjKSk7Cn0sZXZlcnk6ZnVuY3Rp b24oYixjKXtyZXR1cm4gT2JqZWN0LmV2ZXJ5KHRoaXMsYixjKTt9LHNvbWU6ZnVu Y3Rpb24oYixjKXtyZXR1cm4gT2JqZWN0LnNvbWUodGhpcyxiLGMpO30sZ2V0S2V5 czpmdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzKTt9LGdldFZhbHVl czpmdW5jdGlvbigpe3JldHVybiBPYmplY3QudmFsdWVzKHRoaXMpOwp9LHRvUXVl cnlTdHJpbmc6ZnVuY3Rpb24oYil7cmV0dXJuIE9iamVjdC50b1F1ZXJ5U3RyaW5n KHRoaXMsYik7fX0pO2EuYWxpYXMoe2luZGV4T2Y6ImtleU9mIixjb250YWluczoi aGFzVmFsdWUifSk7fSkoKTtIYXNoLmltcGxlbWVudCh7Z2V0RnJvbVBhdGg6ZnVu Y3Rpb24oYSl7cmV0dXJuIE9iamVjdC5nZXRGcm9tUGF0aCh0aGlzLGEpOwp9LGNs ZWFuVmFsdWVzOmZ1bmN0aW9uKGEpe3JldHVybiBuZXcgSGFzaChPYmplY3QuY2xl YW5WYWx1ZXModGhpcyxhKSk7fSxydW46ZnVuY3Rpb24oKXtPYmplY3QucnVuKGFy Z3VtZW50cyk7fX0pO0VsZW1lbnQuaW1wbGVtZW50KHt0aWR5OmZ1bmN0aW9uKCl7 dGhpcy5zZXQoInZhbHVlIix0aGlzLmdldCgidmFsdWUiKS50aWR5KCkpOwp9LGdl dFRleHRJblJhbmdlOmZ1bmN0aW9uKGIsYSl7cmV0dXJuIHRoaXMuZ2V0KCJ2YWx1 ZSIpLnN1YnN0cmluZyhiLGEpO30sZ2V0U2VsZWN0ZWRUZXh0OmZ1bmN0aW9uKCl7 aWYodGhpcy5zZXRTZWxlY3Rpb25SYW5nZSl7cmV0dXJuIHRoaXMuZ2V0VGV4dElu UmFuZ2UodGhpcy5nZXRTZWxlY3Rpb25TdGFydCgpLHRoaXMuZ2V0U2VsZWN0aW9u RW5kKCkpOwp9cmV0dXJuIGRvY3VtZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgp LnRleHQ7fSxnZXRTZWxlY3RlZFJhbmdlOmZ1bmN0aW9uKCl7aWYodGhpcy5zZWxl Y3Rpb25TdGFydCE9bnVsbCl7cmV0dXJue3N0YXJ0OnRoaXMuc2VsZWN0aW9uU3Rh cnQsZW5kOnRoaXMuc2VsZWN0aW9uRW5kfTsKfXZhciBlPXtzdGFydDowLGVuZDow fTt2YXIgYT10aGlzLmdldERvY3VtZW50KCkuc2VsZWN0aW9uLmNyZWF0ZVJhbmdl KCk7aWYoIWF8fGEucGFyZW50RWxlbWVudCgpIT10aGlzKXtyZXR1cm4gZTt9dmFy IGM9YS5kdXBsaWNhdGUoKTtpZih0aGlzLnR5cGU9PSJ0ZXh0Iil7ZS5zdGFydD0w LWMubW92ZVN0YXJ0KCJjaGFyYWN0ZXIiLC0xMDAwMDApOwplLmVuZD1lLnN0YXJ0 K2EudGV4dC5sZW5ndGg7fWVsc2V7dmFyIGI9dGhpcy5nZXQoInZhbHVlIik7dmFy IGQ9Yi5sZW5ndGg7Yy5tb3ZlVG9FbGVtZW50VGV4dCh0aGlzKTtjLnNldEVuZFBv aW50KCJTdGFydFRvRW5kIixhKTtpZihjLnRleHQubGVuZ3RoKXtkLT1iLm1hdGNo KC9bXG5ccl0qJC8pWzBdLmxlbmd0aDsKfWUuZW5kPWQtYy50ZXh0Lmxlbmd0aDtj LnNldEVuZFBvaW50KCJTdGFydFRvU3RhcnQiLGEpO2Uuc3RhcnQ9ZC1jLnRleHQu bGVuZ3RoO31yZXR1cm4gZTt9LGdldFNlbGVjdGlvblN0YXJ0OmZ1bmN0aW9uKCl7 cmV0dXJuIHRoaXMuZ2V0U2VsZWN0ZWRSYW5nZSgpLnN0YXJ0Owp9LGdldFNlbGVj dGlvbkVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFNlbGVjdGVkUmFuZ2Uo KS5lbmQ7fSxzZXRDYXJldFBvc2l0aW9uOmZ1bmN0aW9uKGEpe2lmKGE9PSJlbmQi KXthPXRoaXMuZ2V0KCJ2YWx1ZSIpLmxlbmd0aDt9dGhpcy5zZWxlY3RSYW5nZShh LGEpOwpyZXR1cm4gdGhpczt9LGdldENhcmV0UG9zaXRpb246ZnVuY3Rpb24oKXty ZXR1cm4gdGhpcy5nZXRTZWxlY3RlZFJhbmdlKCkuc3RhcnQ7fSxzZWxlY3RSYW5n ZTpmdW5jdGlvbihlLGEpe2lmKHRoaXMuc2V0U2VsZWN0aW9uUmFuZ2Upe3RoaXMu Zm9jdXMoKTt0aGlzLnNldFNlbGVjdGlvblJhbmdlKGUsYSk7Cn1lbHNle3ZhciBj PXRoaXMuZ2V0KCJ2YWx1ZSIpO3ZhciBkPWMuc3Vic3RyKGUsYS1lKS5yZXBsYWNl KC9cci9nLCIiKS5sZW5ndGg7ZT1jLnN1YnN0cigwLGUpLnJlcGxhY2UoL1xyL2cs IiIpLmxlbmd0aDt2YXIgYj10aGlzLmNyZWF0ZVRleHRSYW5nZSgpO2IuY29sbGFw c2UodHJ1ZSk7CmIubW92ZUVuZCgiY2hhcmFjdGVyIixlK2QpO2IubW92ZVN0YXJ0 KCJjaGFyYWN0ZXIiLGUpO2Iuc2VsZWN0KCk7fXJldHVybiB0aGlzO30saW5zZXJ0 QXRDdXJzb3I6ZnVuY3Rpb24oYixhKXt2YXIgZD10aGlzLmdldFNlbGVjdGVkUmFu Z2UoKTt2YXIgYz10aGlzLmdldCgidmFsdWUiKTsKdGhpcy5zZXQoInZhbHVlIixj LnN1YnN0cmluZygwLGQuc3RhcnQpK2IrYy5zdWJzdHJpbmcoZC5lbmQsYy5sZW5n dGgpKTtpZihhIT09ZmFsc2Upe3RoaXMuc2VsZWN0UmFuZ2UoZC5zdGFydCxkLnN0 YXJ0K2IubGVuZ3RoKTt9ZWxzZXt0aGlzLnNldENhcmV0UG9zaXRpb24oZC5zdGFy dCtiLmxlbmd0aCk7Cn1yZXR1cm4gdGhpczt9LGluc2VydEFyb3VuZEN1cnNvcjpm dW5jdGlvbihiLGEpe2I9T2JqZWN0LmFwcGVuZCh7YmVmb3JlOiIiLGRlZmF1bHRN aWRkbGU6IiIsYWZ0ZXI6IiJ9LGIpO3ZhciBjPXRoaXMuZ2V0U2VsZWN0ZWRUZXh0 KCl8fGIuZGVmYXVsdE1pZGRsZTsKdmFyIGc9dGhpcy5nZXRTZWxlY3RlZFJhbmdl KCk7dmFyIGY9dGhpcy5nZXQoInZhbHVlIik7aWYoZy5zdGFydD09Zy5lbmQpe3Ro aXMuc2V0KCJ2YWx1ZSIsZi5zdWJzdHJpbmcoMCxnLnN0YXJ0KStiLmJlZm9yZStj K2IuYWZ0ZXIrZi5zdWJzdHJpbmcoZy5lbmQsZi5sZW5ndGgpKTsKdGhpcy5zZWxl Y3RSYW5nZShnLnN0YXJ0K2IuYmVmb3JlLmxlbmd0aCxnLmVuZCtiLmJlZm9yZS5s ZW5ndGgrYy5sZW5ndGgpO31lbHNle3ZhciBkPWYuc3Vic3RyaW5nKGcuc3RhcnQs Zy5lbmQpO3RoaXMuc2V0KCJ2YWx1ZSIsZi5zdWJzdHJpbmcoMCxnLnN0YXJ0KSti LmJlZm9yZStkK2IuYWZ0ZXIrZi5zdWJzdHJpbmcoZy5lbmQsZi5sZW5ndGgpKTsK dmFyIGU9Zy5zdGFydCtiLmJlZm9yZS5sZW5ndGg7aWYoYSE9PWZhbHNlKXt0aGlz LnNlbGVjdFJhbmdlKGUsZStkLmxlbmd0aCk7fWVsc2V7dGhpcy5zZXRDYXJldFBv c2l0aW9uKGUrZi5sZW5ndGgpO319cmV0dXJuIHRoaXM7fX0pO0VsZW1lbnRzLmZy b209ZnVuY3Rpb24oZSxkKXtpZihkfHxkPT1udWxsKXtlPWUuc3RyaXBTY3JpcHRz KCk7Cn12YXIgYixjPWUubWF0Y2goL15ccyo8KHRbZGhyXXx0Ym9keXx0Zm9vdHx0 aGVhZCkvaSk7aWYoYyl7Yj1uZXcgRWxlbWVudCgidGFibGUiKTt2YXIgYT1jWzFd LnRvTG93ZXJDYXNlKCk7aWYoWyJ0ZCIsInRoIiwidHIiXS5jb250YWlucyhhKSl7 Yj1uZXcgRWxlbWVudCgidGJvZHkiKS5pbmplY3QoYik7CmlmKGEhPSJ0ciIpe2I9 bmV3IEVsZW1lbnQoInRyIikuaW5qZWN0KGIpO319fXJldHVybihifHxuZXcgRWxl bWVudCgiZGl2IikpLnNldCgiaHRtbCIsZSkuZ2V0Q2hpbGRyZW4oKTt9OyhmdW5j dGlvbigpe3ZhciBkPXtyZWxheTpmYWxzZX0sYz1bIm9uY2UiLCJ0aHJvdHRsZSIs InBhdXNlIl0sYj1jLmxlbmd0aDsKd2hpbGUoYi0tKXtkW2NbYl1dPUV2ZW50cy5s b29rdXBQc2V1ZG8oY1tiXSk7fURPTUV2ZW50LmRlZmluZVBzZXVkbz1mdW5jdGlv bihlLGYpe2RbZV09ZjtyZXR1cm4gdGhpczt9O3ZhciBhPUVsZW1lbnQucHJvdG90 eXBlO1tFbGVtZW50LFdpbmRvdyxEb2N1bWVudF0uaW52b2tlKCJpbXBsZW1lbnQi LEV2ZW50cy5Qc2V1ZG9zKGQsYS5hZGRFdmVudCxhLnJlbW92ZUV2ZW50KSk7Cn0p KCk7KGZ1bmN0aW9uKCl7dmFyIGE9IiRtb286a2V5cy1wcmVzc2VkIixiPSIkbW9v OmtleXMta2V5dXAiO0RPTUV2ZW50LmRlZmluZVBzZXVkbygia2V5cyIsZnVuY3Rp b24oZCxlLGMpe3ZhciBnPWNbMF0sZj1bXSxoPXRoaXMucmV0cmlldmUoYSxbXSk7 Zi5hcHBlbmQoZC52YWx1ZS5yZXBsYWNlKCIrKyIsZnVuY3Rpb24oKXtmLnB1c2go IisiKTsKcmV0dXJuIiI7fSkuc3BsaXQoIisiKSk7aC5pbmNsdWRlKGcua2V5KTtp ZihmLmV2ZXJ5KGZ1bmN0aW9uKGope3JldHVybiBoLmNvbnRhaW5zKGopO30pKXtl LmFwcGx5KHRoaXMsYyk7fXRoaXMuc3RvcmUoYSxoKTtpZighdGhpcy5yZXRyaWV2 ZShiKSl7dmFyIGk9ZnVuY3Rpb24oail7KGZ1bmN0aW9uKCl7aD10aGlzLnJldHJp ZXZlKGEsW10pLmVyYXNlKGoua2V5KTsKdGhpcy5zdG9yZShhLGgpO30pLmRlbGF5 KDAsdGhpcyk7fTt0aGlzLnN0b3JlKGIsaSkuYWRkRXZlbnQoImtleXVwIixpKTt9 fSk7RE9NRXZlbnQuZGVmaW5lS2V5cyh7IjE2Ijoic2hpZnQiLCIxNyI6ImNvbnRy b2wiLCIxOCI6ImFsdCIsIjIwIjoiY2Fwc2xvY2siLCIzMyI6InBhZ2V1cCIsIjM0 IjoicGFnZWRvd24iLCIzNSI6ImVuZCIsIjM2IjoiaG9tZSIsIjE0NCI6Im51bWxv Y2siLCIxNDUiOiJzY3JvbGxsb2NrIiwiMTg2IjoiOyIsIjE4NyI6Ij0iLCIxODgi OiIsIiwiMTkwIjoiLiIsIjE5MSI6Ii8iLCIxOTIiOiJgIiwiMjE5IjoiWyIsIjIy MCI6IlxcIiwiMjIxIjoiXSIsIjIyMiI6IiciLCIxMDciOiIrIn0pLmRlZmluZUtl eShCcm93c2VyLmZpcmVmb3g/MTA5OjE4OSwiLSIpOwp9KSgpOyhmdW5jdGlvbigp e3ZhciBiPWZ1bmN0aW9uKGUsZCl7dmFyIGY9W107T2JqZWN0LmVhY2goZCxmdW5j dGlvbihnKXtPYmplY3QuZWFjaChnLGZ1bmN0aW9uKGgpe2UuZWFjaChmdW5jdGlv bihpKXtmLnB1c2goaSsiLSIraCsoaT09ImJvcmRlciI/Ii13aWR0aCI6IiIpKTsK fSk7fSk7fSk7cmV0dXJuIGY7fTt2YXIgYz1mdW5jdGlvbihmLGUpe3ZhciBkPTA7 T2JqZWN0LmVhY2goZSxmdW5jdGlvbihoLGcpe2lmKGcudGVzdChmKSl7ZD1kK2gu dG9JbnQoKTt9fSk7cmV0dXJuIGQ7fTt2YXIgYT1mdW5jdGlvbihkKXtyZXR1cm4g ISEoIWR8fGQub2Zmc2V0SGVpZ2h0fHxkLm9mZnNldFdpZHRoKTsKfTtFbGVtZW50 LmltcGxlbWVudCh7bWVhc3VyZTpmdW5jdGlvbihoKXtpZihhKHRoaXMpKXtyZXR1 cm4gaC5jYWxsKHRoaXMpO312YXIgZz10aGlzLmdldFBhcmVudCgpLGU9W107d2hp bGUoIWEoZykmJmchPWRvY3VtZW50LmJvZHkpe2UucHVzaChnLmV4cG9zZSgpKTsK Zz1nLmdldFBhcmVudCgpO312YXIgZj10aGlzLmV4cG9zZSgpLGQ9aC5jYWxsKHRo aXMpO2YoKTtlLmVhY2goZnVuY3Rpb24oaSl7aSgpO30pO3JldHVybiBkO30sZXhw b3NlOmZ1bmN0aW9uKCl7aWYodGhpcy5nZXRTdHlsZSgiZGlzcGxheSIpIT0ibm9u ZSIpe3JldHVybiBmdW5jdGlvbigpe307Cn12YXIgZD10aGlzLnN0eWxlLmNzc1Rl eHQ7dGhpcy5zZXRTdHlsZXMoe2Rpc3BsYXk6ImJsb2NrIixwb3NpdGlvbjoiYWJz b2x1dGUiLHZpc2liaWxpdHk6ImhpZGRlbiJ9KTtyZXR1cm4gZnVuY3Rpb24oKXt0 aGlzLnN0eWxlLmNzc1RleHQ9ZDt9LmJpbmQodGhpcyk7Cn0sZ2V0RGltZW5zaW9u czpmdW5jdGlvbihkKXtkPU9iamVjdC5tZXJnZSh7Y29tcHV0ZVNpemU6ZmFsc2V9 LGQpO3ZhciBpPXt4OjAseTowfTt2YXIgaD1mdW5jdGlvbihqLGUpe3JldHVybihl LmNvbXB1dGVTaXplKT9qLmdldENvbXB1dGVkU2l6ZShlKTpqLmdldFNpemUoKTsK fTt2YXIgZj10aGlzLmdldFBhcmVudCgiYm9keSIpO2lmKGYmJnRoaXMuZ2V0U3R5 bGUoImRpc3BsYXkiKT09Im5vbmUiKXtpPXRoaXMubWVhc3VyZShmdW5jdGlvbigp e3JldHVybiBoKHRoaXMsZCk7fSk7fWVsc2V7aWYoZil7dHJ5e2k9aCh0aGlzLGQp O31jYXRjaChnKXt9fX1yZXR1cm4gT2JqZWN0LmFwcGVuZChpLChpLnh8fGkueD09 PTApP3t3aWR0aDppLngsaGVpZ2h0OmkueX06e3g6aS53aWR0aCx5OmkuaGVpZ2h0 fSk7Cn0sZ2V0Q29tcHV0ZWRTaXplOmZ1bmN0aW9uKGQpe2Q9T2JqZWN0Lm1lcmdl KHtzdHlsZXM6WyJwYWRkaW5nIiwiYm9yZGVyIl0scGxhbmVzOntoZWlnaHQ6WyJ0 b3AiLCJib3R0b20iXSx3aWR0aDpbImxlZnQiLCJyaWdodCJdfSxtb2RlOiJib3Ro In0sZCk7dmFyIGc9e30sZT17d2lkdGg6MCxoZWlnaHQ6MH0sZjsKaWYoZC5tb2Rl PT0idmVydGljYWwiKXtkZWxldGUgZS53aWR0aDtkZWxldGUgZC5wbGFuZXMud2lk dGg7fWVsc2V7aWYoZC5tb2RlPT0iaG9yaXpvbnRhbCIpe2RlbGV0ZSBlLmhlaWdo dDtkZWxldGUgZC5wbGFuZXMuaGVpZ2h0O319YihkLnN0eWxlcyxkLnBsYW5lcyku ZWFjaChmdW5jdGlvbihoKXtnW2hdPXRoaXMuZ2V0U3R5bGUoaCkudG9JbnQoKTsK fSx0aGlzKTtPYmplY3QuZWFjaChkLnBsYW5lcyxmdW5jdGlvbihpLGgpe3ZhciBr PWguY2FwaXRhbGl6ZSgpLGo9dGhpcy5nZXRTdHlsZShoKTtpZihqPT0iYXV0byIm JiFmKXtmPXRoaXMuZ2V0RGltZW5zaW9ucygpO31qPWdbaF09KGo9PSJhdXRvIik/ ZltoXTpqLnRvSW50KCk7CmVbInRvdGFsIitrXT1qO2kuZWFjaChmdW5jdGlvbiht KXt2YXIgbD1jKG0sZyk7ZVsiY29tcHV0ZWQiK20uY2FwaXRhbGl6ZSgpXT1sO2Vb InRvdGFsIitrXSs9bDt9KTt9LHRoaXMpO3JldHVybiBPYmplY3QuYXBwZW5kKGUs Zyk7fX0pO30pKCk7KGZ1bmN0aW9uKCl7dmFyIGE9ZmFsc2UsYj1mYWxzZTsKdmFy IGM9ZnVuY3Rpb24oKXt2YXIgZD1uZXcgRWxlbWVudCgiZGl2Iikuc2V0U3R5bGVz KHtwb3NpdGlvbjoiZml4ZWQiLHRvcDowLHJpZ2h0OjB9KS5pbmplY3QoZG9jdW1l bnQuYm9keSk7YT0oZC5vZmZzZXRUb3A9PT0wKTtkLmRpc3Bvc2UoKTtiPXRydWU7 fTtFbGVtZW50LmltcGxlbWVudCh7cGluOmZ1bmN0aW9uKGgsZil7aWYoIWIpe2Mo KTsKfWlmKHRoaXMuZ2V0U3R5bGUoImRpc3BsYXkiKT09Im5vbmUiKXtyZXR1cm4g dGhpczt9dmFyIGosaz13aW5kb3cuZ2V0U2Nyb2xsKCksbCxlO2lmKGghPT1mYWxz ZSl7aj10aGlzLmdldFBvc2l0aW9uKGE/ZG9jdW1lbnQuYm9keTp0aGlzLmdldE9m ZnNldFBhcmVudCgpKTsKaWYoIXRoaXMucmV0cmlldmUoInBpbjpfcGlubmVkIikp e3ZhciBnPXt0b3A6ai55LWsueSxsZWZ0OmoueC1rLnh9O2lmKGEmJiFmKXt0aGlz LnNldFN0eWxlKCJwb3NpdGlvbiIsImZpeGVkIikuc2V0U3R5bGVzKGcpO31lbHNl e2w9dGhpcy5nZXRPZmZzZXRQYXJlbnQoKTsKdmFyIGk9dGhpcy5nZXRQb3NpdGlv bihsKSxtPXRoaXMuZ2V0U3R5bGVzKCJsZWZ0IiwidG9wIik7aWYobCYmbS5sZWZ0 PT0iYXV0byJ8fG0udG9wPT0iYXV0byIpe3RoaXMuc2V0UG9zaXRpb24oaSk7fWlm KHRoaXMuZ2V0U3R5bGUoInBvc2l0aW9uIik9PSJzdGF0aWMiKXt0aGlzLnNldFN0 eWxlKCJwb3NpdGlvbiIsImFic29sdXRlIik7Cn1pPXt4Om0ubGVmdC50b0ludCgp LWsueCx5Om0udG9wLnRvSW50KCktay55fTtlPWZ1bmN0aW9uKCl7aWYoIXRoaXMu cmV0cmlldmUoInBpbjpfcGlubmVkIikpe3JldHVybjt9dmFyIG49d2luZG93Lmdl dFNjcm9sbCgpO3RoaXMuc2V0U3R5bGVzKHtsZWZ0OmkueCtuLngsdG9wOmkueStu Lnl9KTsKfS5iaW5kKHRoaXMpO3RoaXMuc3RvcmUoInBpbjpfc2Nyb2xsRml4ZXIi LGUpO3dpbmRvdy5hZGRFdmVudCgic2Nyb2xsIixlKTt9dGhpcy5zdG9yZSgicGlu Ol9waW5uZWQiLHRydWUpO319ZWxzZXtpZighdGhpcy5yZXRyaWV2ZSgicGluOl9w aW5uZWQiKSl7cmV0dXJuIHRoaXM7Cn1sPXRoaXMuZ2V0UGFyZW50KCk7dmFyIGQ9 KGwuZ2V0Q29tcHV0ZWRTdHlsZSgicG9zaXRpb24iKSE9InN0YXRpYyI/bDpsLmdl dE9mZnNldFBhcmVudCgpKTtqPXRoaXMuZ2V0UG9zaXRpb24oZCk7dGhpcy5zdG9y ZSgicGluOl9waW5uZWQiLGZhbHNlKTtlPXRoaXMucmV0cmlldmUoInBpbjpfc2Ny b2xsRml4ZXIiKTsKaWYoIWUpe3RoaXMuc2V0U3R5bGVzKHtwb3NpdGlvbjoiYWJz b2x1dGUiLHRvcDpqLnkray55LGxlZnQ6ai54K2sueH0pO31lbHNle3RoaXMuc3Rv cmUoInBpbjpfc2Nyb2xsRml4ZXIiLG51bGwpO3dpbmRvdy5yZW1vdmVFdmVudCgi c2Nyb2xsIixlKTt9dGhpcy5yZW1vdmVDbGFzcygiaXNQaW5uZWQiKTsKfXJldHVy biB0aGlzO30sdW5waW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5waW4oZmFsc2Up O30sdG9nZ2xlUGluOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGluKCF0aGlzLnJl dHJpZXZlKCJwaW46X3Bpbm5lZCIpKTt9fSk7fSkoKTsoZnVuY3Rpb24oYil7dmFy IGE9RWxlbWVudC5Qb3NpdGlvbj17b3B0aW9uczp7cmVsYXRpdmVUbzpkb2N1bWVu dC5ib2R5LHBvc2l0aW9uOnt4OiJjZW50ZXIiLHk6ImNlbnRlciJ9LG9mZnNldDp7 eDowLHk6MH19LGdldE9wdGlvbnM6ZnVuY3Rpb24oZCxjKXtjPU9iamVjdC5tZXJn ZSh7fSxhLm9wdGlvbnMsYyk7CmEuc2V0UG9zaXRpb25PcHRpb24oYyk7YS5zZXRF ZGdlT3B0aW9uKGMpO2Euc2V0T2Zmc2V0T3B0aW9uKGQsYyk7YS5zZXREaW1lbnNp b25zT3B0aW9uKGQsYyk7cmV0dXJuIGM7fSxzZXRQb3NpdGlvbk9wdGlvbjpmdW5j dGlvbihjKXtjLnBvc2l0aW9uPWEuZ2V0Q29vcmRpbmF0ZUZyb21WYWx1ZShjLnBv c2l0aW9uKTsKfSxzZXRFZGdlT3B0aW9uOmZ1bmN0aW9uKGQpe3ZhciBjPWEuZ2V0 Q29vcmRpbmF0ZUZyb21WYWx1ZShkLmVkZ2UpO2QuZWRnZT1jP2M6KGQucG9zaXRp b24ueD09ImNlbnRlciImJmQucG9zaXRpb24ueT09ImNlbnRlciIpP3t4OiJjZW50 ZXIiLHk6ImNlbnRlciJ9Ont4OiJsZWZ0Iix5OiJ0b3AifTsKfSxzZXRPZmZzZXRP cHRpb246ZnVuY3Rpb24oZixkKXt2YXIgYz17eDowLHk6MH0sZz1mLm1lYXN1cmUo ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuaWQodGhpcy5nZXRPZmZzZXRQYXJl bnQoKSk7fSksZT1nLmdldFNjcm9sbCgpO2lmKCFnfHxnPT1mLmdldERvY3VtZW50 KCkuYm9keSl7cmV0dXJuOwp9Yz1nLm1lYXN1cmUoZnVuY3Rpb24oKXt2YXIgaT10 aGlzLmdldFBvc2l0aW9uKCk7aWYodGhpcy5nZXRTdHlsZSgicG9zaXRpb24iKT09 ImZpeGVkIil7dmFyIGg9d2luZG93LmdldFNjcm9sbCgpO2kueCs9aC54O2kueSs9 aC55O31yZXR1cm4gaTt9KTtkLm9mZnNldD17cGFyZW50UG9zaXRpb25lZDpnIT1k b2N1bWVudC5pZChkLnJlbGF0aXZlVG8pLHg6ZC5vZmZzZXQueC1jLngrZS54LHk6 ZC5vZmZzZXQueS1jLnkrZS55fTsKfSxzZXREaW1lbnNpb25zT3B0aW9uOmZ1bmN0 aW9uKGQsYyl7Yy5kaW1lbnNpb25zPWQuZ2V0RGltZW5zaW9ucyh7Y29tcHV0ZVNp emU6dHJ1ZSxzdHlsZXM6WyJwYWRkaW5nIiwiYm9yZGVyIiwibWFyZ2luIl19KTt9 LGdldFBvc2l0aW9uOmZ1bmN0aW9uKGUsZCl7dmFyIGM9e307CmQ9YS5nZXRPcHRp b25zKGUsZCk7dmFyIGY9ZG9jdW1lbnQuaWQoZC5yZWxhdGl2ZVRvKXx8ZG9jdW1l bnQuYm9keTthLnNldFBvc2l0aW9uQ29vcmRpbmF0ZXMoZCxjLGYpO2lmKGQuZWRn ZSl7YS50b0VkZ2UoYyxkKTt9dmFyIGc9ZC5vZmZzZXQ7Yy5sZWZ0PSgoYy54Pj0w fHxnLnBhcmVudFBvc2l0aW9uZWR8fGQuYWxsb3dOZWdhdGl2ZSk/Yy54OjApLnRv SW50KCk7CmMudG9wPSgoYy55Pj0wfHxnLnBhcmVudFBvc2l0aW9uZWR8fGQuYWxs b3dOZWdhdGl2ZSk/Yy55OjApLnRvSW50KCk7YS50b01pbk1heChjLGQpO2lmKGQu cmVsRml4ZWRQb3NpdGlvbnx8Zi5nZXRTdHlsZSgicG9zaXRpb24iKT09ImZpeGVk Iil7YS50b1JlbEZpeGVkUG9zaXRpb24oZixjKTsKfWlmKGQuaWdub3JlU2Nyb2xs KXthLnRvSWdub3JlU2Nyb2xsKGYsYyk7fWlmKGQuaWdub3JlTWFyZ2lucyl7YS50 b0lnbm9yZU1hcmdpbnMoYyxkKTt9Yy5sZWZ0PU1hdGguY2VpbChjLmxlZnQpO2Mu dG9wPU1hdGguY2VpbChjLnRvcCk7ZGVsZXRlIGMueDtkZWxldGUgYy55OwpyZXR1 cm4gYzt9LHNldFBvc2l0aW9uQ29vcmRpbmF0ZXM6ZnVuY3Rpb24oayxnLGQpe3Zh ciBmPWsub2Zmc2V0LnksaD1rLm9mZnNldC54LGU9KGQ9PWRvY3VtZW50LmJvZHkp P3dpbmRvdy5nZXRTY3JvbGwoKTpkLmdldFBvc2l0aW9uKCksaj1lLnksYz1lLngs aT13aW5kb3cuZ2V0U2l6ZSgpOwpzd2l0Y2goay5wb3NpdGlvbi54KXtjYXNlImxl ZnQiOmcueD1jK2g7YnJlYWs7Y2FzZSJyaWdodCI6Zy54PWMraCtkLm9mZnNldFdp ZHRoO2JyZWFrO2RlZmF1bHQ6Zy54PWMrKChkPT1kb2N1bWVudC5ib2R5P2kueDpk Lm9mZnNldFdpZHRoKS8yKStoO2JyZWFrO31zd2l0Y2goay5wb3NpdGlvbi55KXtj YXNlInRvcCI6Zy55PWorZjsKYnJlYWs7Y2FzZSJib3R0b20iOmcueT1qK2YrZC5v ZmZzZXRIZWlnaHQ7YnJlYWs7ZGVmYXVsdDpnLnk9aisoKGQ9PWRvY3VtZW50LmJv ZHk/aS55OmQub2Zmc2V0SGVpZ2h0KS8yKStmO2JyZWFrO319LHRvTWluTWF4OmZ1 bmN0aW9uKGMsZCl7dmFyIGY9e2xlZnQ6IngiLHRvcDoieSJ9LGU7ClsibWluaW11 bSIsIm1heGltdW0iXS5lYWNoKGZ1bmN0aW9uKGcpe1sibGVmdCIsInRvcCJdLmVh Y2goZnVuY3Rpb24oaCl7ZT1kW2ddP2RbZ11bZltoXV06bnVsbDtpZihlIT1udWxs JiYoKGc9PSJtaW5pbXVtIik/Y1toXTxlOmNbaF0+ZSkpe2NbaF09ZTt9fSk7fSk7 Cn0sdG9SZWxGaXhlZFBvc2l0aW9uOmZ1bmN0aW9uKGUsYyl7dmFyIGQ9d2luZG93 LmdldFNjcm9sbCgpO2MudG9wKz1kLnk7Yy5sZWZ0Kz1kLng7fSx0b0lnbm9yZVNj cm9sbDpmdW5jdGlvbihlLGQpe3ZhciBjPWUuZ2V0U2Nyb2xsKCk7ZC50b3AtPWMu eTtkLmxlZnQtPWMueDsKfSx0b0lnbm9yZU1hcmdpbnM6ZnVuY3Rpb24oYyxkKXtj LmxlZnQrPWQuZWRnZS54PT0icmlnaHQiP2QuZGltZW5zaW9uc1sibWFyZ2luLXJp Z2h0Il06KGQuZWRnZS54IT0iY2VudGVyIj8tZC5kaW1lbnNpb25zWyJtYXJnaW4t bGVmdCJdOi1kLmRpbWVuc2lvbnNbIm1hcmdpbi1sZWZ0Il0rKChkLmRpbWVuc2lv bnNbIm1hcmdpbi1yaWdodCJdK2QuZGltZW5zaW9uc1sibWFyZ2luLWxlZnQiXSkv MikpOwpjLnRvcCs9ZC5lZGdlLnk9PSJib3R0b20iP2QuZGltZW5zaW9uc1sibWFy Z2luLWJvdHRvbSJdOihkLmVkZ2UueSE9ImNlbnRlciI/LWQuZGltZW5zaW9uc1si bWFyZ2luLXRvcCJdOi1kLmRpbWVuc2lvbnNbIm1hcmdpbi10b3AiXSsoKGQuZGlt ZW5zaW9uc1sibWFyZ2luLWJvdHRvbSJdK2QuZGltZW5zaW9uc1sibWFyZ2luLXRv cCJdKS8yKSk7Cn0sdG9FZGdlOmZ1bmN0aW9uKGMsZCl7dmFyIGU9e30sZz1kLmRp bWVuc2lvbnMsZj1kLmVkZ2U7c3dpdGNoKGYueCl7Y2FzZSJsZWZ0IjplLng9MDti cmVhaztjYXNlInJpZ2h0IjplLng9LWcueC1nLmNvbXB1dGVkUmlnaHQtZy5jb21w dXRlZExlZnQ7YnJlYWs7ZGVmYXVsdDplLng9LShNYXRoLnJvdW5kKGcudG90YWxX aWR0aC8yKSk7CmJyZWFrO31zd2l0Y2goZi55KXtjYXNlInRvcCI6ZS55PTA7YnJl YWs7Y2FzZSJib3R0b20iOmUueT0tZy55LWcuY29tcHV0ZWRUb3AtZy5jb21wdXRl ZEJvdHRvbTticmVhaztkZWZhdWx0OmUueT0tKE1hdGgucm91bmQoZy50b3RhbEhl aWdodC8yKSk7YnJlYWs7fWMueCs9ZS54OwpjLnkrPWUueTt9LGdldENvb3JkaW5h dGVGcm9tVmFsdWU6ZnVuY3Rpb24oYyl7aWYodHlwZU9mKGMpIT0ic3RyaW5nIil7 cmV0dXJuIGM7fWM9Yy50b0xvd2VyQ2FzZSgpO3JldHVybnt4OmMudGVzdCgibGVm dCIpPyJsZWZ0IjooYy50ZXN0KCJyaWdodCIpPyJyaWdodCI6ImNlbnRlciIpLHk6 Yy50ZXN0KC91cHBlcnx0b3AvKT8idG9wIjooYy50ZXN0KCJib3R0b20iKT8iYm90 dG9tIjoiY2VudGVyIil9Owp9fTtFbGVtZW50LmltcGxlbWVudCh7cG9zaXRpb246 ZnVuY3Rpb24oZCl7aWYoZCYmKGQueCE9bnVsbHx8ZC55IT1udWxsKSl7cmV0dXJu KGI/Yi5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dGhpcyk7fXZhciBjPXRoaXMuc2V0 U3R5bGUoInBvc2l0aW9uIiwiYWJzb2x1dGUiKS5jYWxjdWxhdGVQb3NpdGlvbihk KTsKcmV0dXJuKGQmJmQucmV0dXJuUG9zKT9jOnRoaXMuc2V0U3R5bGVzKGMpO30s Y2FsY3VsYXRlUG9zaXRpb246ZnVuY3Rpb24oYyl7cmV0dXJuIGEuZ2V0UG9zaXRp b24odGhpcyxjKTt9fSk7fSkoRWxlbWVudC5wcm90b3R5cGUucG9zaXRpb24pO0Vs ZW1lbnQuaW1wbGVtZW50KHtpc0Rpc3BsYXllZDpmdW5jdGlvbigpe3JldHVybiB0 aGlzLmdldFN0eWxlKCJkaXNwbGF5IikhPSJub25lIjsKfSxpc1Zpc2libGU6ZnVu Y3Rpb24oKXt2YXIgYT10aGlzLm9mZnNldFdpZHRoLGI9dGhpcy5vZmZzZXRIZWln aHQ7cmV0dXJuKGE9PTAmJmI9PTApP2ZhbHNlOihhPjAmJmI+MCk/dHJ1ZTp0aGlz LnN0eWxlLmRpc3BsYXkhPSJub25lIjt9LHRvZ2dsZTpmdW5jdGlvbigpe3JldHVy biB0aGlzW3RoaXMuaXNEaXNwbGF5ZWQoKT8iaGlkZSI6InNob3ciXSgpOwp9LGhp ZGU6ZnVuY3Rpb24oKXt2YXIgYjt0cnl7Yj10aGlzLmdldFN0eWxlKCJkaXNwbGF5 Iik7fWNhdGNoKGEpe31pZihiPT0ibm9uZSIpe3JldHVybiB0aGlzO31yZXR1cm4g dGhpcy5zdG9yZSgiZWxlbWVudDpfb3JpZ2luYWxEaXNwbGF5IixifHwiIikuc2V0 U3R5bGUoImRpc3BsYXkiLCJub25lIik7Cn0sc2hvdzpmdW5jdGlvbihhKXtpZigh YSYmdGhpcy5pc0Rpc3BsYXllZCgpKXtyZXR1cm4gdGhpczt9YT1hfHx0aGlzLnJl dHJpZXZlKCJlbGVtZW50Ol9vcmlnaW5hbERpc3BsYXkiKXx8ImJsb2NrIjtyZXR1 cm4gdGhpcy5zZXRTdHlsZSgiZGlzcGxheSIsKGE9PSJub25lIik/ImJsb2NrIjph KTsKfSxzd2FwQ2xhc3M6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5yZW1vdmVD bGFzcyhhKS5hZGRDbGFzcyhiKTt9fSk7RG9jdW1lbnQuaW1wbGVtZW50KHtjbGVh clNlbGVjdGlvbjpmdW5jdGlvbigpe2lmKHdpbmRvdy5nZXRTZWxlY3Rpb24pe3Zh ciBhPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTsKaWYoYSYmYS5yZW1vdmVBbGxSYW5n ZXMpe2EucmVtb3ZlQWxsUmFuZ2VzKCk7fX1lbHNle2lmKGRvY3VtZW50LnNlbGVj dGlvbiYmZG9jdW1lbnQuc2VsZWN0aW9uLmVtcHR5KXt0cnl7ZG9jdW1lbnQuc2Vs ZWN0aW9uLmVtcHR5KCk7fWNhdGNoKGIpe319fX19KTt2YXIgSWZyYW1lU2hpbT1u ZXcgQ2xhc3Moe0ltcGxlbWVudHM6W09wdGlvbnMsRXZlbnRzLENsYXNzLk9jY2x1 ZGVdLG9wdGlvbnM6e2NsYXNzTmFtZToiaWZyYW1lU2hpbSIsc3JjOidqYXZhc2Ny aXB0OmZhbHNlO2RvY3VtZW50LndyaXRlKCIiKTsnLGRpc3BsYXk6ZmFsc2Useklu ZGV4Om51bGwsbWFyZ2luOjAsb2Zmc2V0Ont4OjAseTowfSxicm93c2VyczooQnJv d3Nlci5pZTZ8fChCcm93c2VyLmZpcmVmb3gmJkJyb3dzZXIudmVyc2lvbjwzJiZC cm93c2VyLlBsYXRmb3JtLm1hYykpfSxwcm9wZXJ0eToiSWZyYW1lU2hpbSIsaW5p dGlhbGl6ZTpmdW5jdGlvbihiLGEpe3RoaXMuZWxlbWVudD1kb2N1bWVudC5pZChi KTsKaWYodGhpcy5vY2NsdWRlKCkpe3JldHVybiB0aGlzLm9jY2x1ZGVkO310aGlz LnNldE9wdGlvbnMoYSk7dGhpcy5tYWtlU2hpbSgpO3JldHVybiB0aGlzO30sbWFr ZVNoaW06ZnVuY3Rpb24oKXtpZih0aGlzLm9wdGlvbnMuYnJvd3NlcnMpe3ZhciBj PXRoaXMuZWxlbWVudC5nZXRTdHlsZSgiekluZGV4IikudG9JbnQoKTsKaWYoIWMp e2M9MTt2YXIgYj10aGlzLmVsZW1lbnQuZ2V0U3R5bGUoInBvc2l0aW9uIik7aWYo Yj09InN0YXRpYyJ8fCFiKXt0aGlzLmVsZW1lbnQuc2V0U3R5bGUoInBvc2l0aW9u IiwicmVsYXRpdmUiKTt9dGhpcy5lbGVtZW50LnNldFN0eWxlKCJ6SW5kZXgiLGMp Owp9Yz0oKHRoaXMub3B0aW9ucy56SW5kZXghPW51bGx8fHRoaXMub3B0aW9ucy56 SW5kZXg9PT0wKSYmYz50aGlzLm9wdGlvbnMuekluZGV4KT90aGlzLm9wdGlvbnMu ekluZGV4OmMtMTtpZihjPDApe2M9MTt9dGhpcy5zaGltPW5ldyBFbGVtZW50KCJp ZnJhbWUiLHtzcmM6dGhpcy5vcHRpb25zLnNyYyxzY3JvbGxpbmc6Im5vIixmcmFt ZWJvcmRlcjowLHN0eWxlczp7ekluZGV4OmMscG9zaXRpb246ImFic29sdXRlIixi b3JkZXI6Im5vbmUiLGZpbHRlcjoicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWlj cm9zb2Z0LkFscGhhKHN0eWxlPTAsb3BhY2l0eT0wKSJ9LCJjbGFzcyI6dGhpcy5v cHRpb25zLmNsYXNzTmFtZX0pLnN0b3JlKCJJZnJhbWVTaGltIix0aGlzKTsKdmFy IGE9KGZ1bmN0aW9uKCl7dGhpcy5zaGltLmluamVjdCh0aGlzLmVsZW1lbnQsImFm dGVyIik7dGhpc1t0aGlzLm9wdGlvbnMuZGlzcGxheT8ic2hvdyI6ImhpZGUiXSgp O3RoaXMuZmlyZUV2ZW50KCJpbmplY3QiKTt9KS5iaW5kKHRoaXMpO2lmKCFJZnJh bWVTaGltLnJlYWR5KXt3aW5kb3cuYWRkRXZlbnQoImxvYWQiLGEpOwp9ZWxzZXth KCk7fX1lbHNle3RoaXMucG9zaXRpb249dGhpcy5oaWRlPXRoaXMuc2hvdz10aGlz LmRpc3Bvc2U9RnVuY3Rpb24uZnJvbSh0aGlzKTt9fSxwb3NpdGlvbjpmdW5jdGlv bigpe2lmKCFJZnJhbWVTaGltLnJlYWR5fHwhdGhpcy5zaGltKXtyZXR1cm4gdGhp czsKfXZhciBhPXRoaXMuZWxlbWVudC5tZWFzdXJlKGZ1bmN0aW9uKCl7cmV0dXJu IHRoaXMuZ2V0U2l6ZSgpO30pO2lmKHRoaXMub3B0aW9ucy5tYXJnaW4hPXVuZGVm aW5lZCl7YS54PWEueC0odGhpcy5vcHRpb25zLm1hcmdpbioyKTthLnk9YS55LSh0 aGlzLm9wdGlvbnMubWFyZ2luKjIpOwp0aGlzLm9wdGlvbnMub2Zmc2V0LngrPXRo aXMub3B0aW9ucy5tYXJnaW47dGhpcy5vcHRpb25zLm9mZnNldC55Kz10aGlzLm9w dGlvbnMubWFyZ2luO310aGlzLnNoaW0uc2V0KHt3aWR0aDphLngsaGVpZ2h0OmEu eX0pLnBvc2l0aW9uKHtyZWxhdGl2ZVRvOnRoaXMuZWxlbWVudCxvZmZzZXQ6dGhp cy5vcHRpb25zLm9mZnNldH0pOwpyZXR1cm4gdGhpczt9LGhpZGU6ZnVuY3Rpb24o KXtpZih0aGlzLnNoaW0pe3RoaXMuc2hpbS5zZXRTdHlsZSgiZGlzcGxheSIsIm5v bmUiKTt9cmV0dXJuIHRoaXM7fSxzaG93OmZ1bmN0aW9uKCl7aWYodGhpcy5zaGlt KXt0aGlzLnNoaW0uc2V0U3R5bGUoImRpc3BsYXkiLCJibG9jayIpOwp9cmV0dXJu IHRoaXMucG9zaXRpb24oKTt9LGRpc3Bvc2U6ZnVuY3Rpb24oKXtpZih0aGlzLnNo aW0pe3RoaXMuc2hpbS5kaXNwb3NlKCk7fXJldHVybiB0aGlzO30sZGVzdHJveTpm dW5jdGlvbigpe2lmKHRoaXMuc2hpbSl7dGhpcy5zaGltLmRlc3Ryb3koKTt9cmV0 dXJuIHRoaXM7Cn19KTt3aW5kb3cuYWRkRXZlbnQoImxvYWQiLGZ1bmN0aW9uKCl7 SWZyYW1lU2hpbS5yZWFkeT10cnVlO30pO3ZhciBNYXNrPW5ldyBDbGFzcyh7SW1w bGVtZW50czpbT3B0aW9ucyxFdmVudHNdLEJpbmRzOlsicG9zaXRpb24iXSxvcHRp b25zOntzdHlsZTp7fSwiY2xhc3MiOiJtYXNrIixtYXNrTWFyZ2luczpmYWxzZSx1 c2VJZnJhbWVTaGltOnRydWUsaWZyYW1lU2hpbU9wdGlvbnM6e319LGluaXRpYWxp emU6ZnVuY3Rpb24oYixhKXt0aGlzLnRhcmdldD1kb2N1bWVudC5pZChiKXx8ZG9j dW1lbnQuaWQoZG9jdW1lbnQuYm9keSk7CnRoaXMudGFyZ2V0LnN0b3JlKCJtYXNr Iix0aGlzKTt0aGlzLnNldE9wdGlvbnMoYSk7dGhpcy5yZW5kZXIoKTt0aGlzLmlu amVjdCgpO30scmVuZGVyOmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50PW5ldyBFbGVt ZW50KCJkaXYiLHsiY2xhc3MiOnRoaXMub3B0aW9uc1siY2xhc3MiXSxpZDp0aGlz Lm9wdGlvbnMuaWR8fCJtYXNrLSIrU3RyaW5nLnVuaXF1ZUlEKCksc3R5bGVzOk9i amVjdC5tZXJnZSh7fSx0aGlzLm9wdGlvbnMuc3R5bGUse2Rpc3BsYXk6Im5vbmUi fSksZXZlbnRzOntjbGljazpmdW5jdGlvbihhKXt0aGlzLmZpcmVFdmVudCgiY2xp Y2siLGEpOwppZih0aGlzLm9wdGlvbnMuaGlkZU9uQ2xpY2spe3RoaXMuaGlkZSgp O319LmJpbmQodGhpcyl9fSk7dGhpcy5oaWRkZW49dHJ1ZTt9LHRvRWxlbWVudDpm dW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1lbnQ7fSxpbmplY3Q6ZnVuY3Rpb24o YixhKXthPWF8fCh0aGlzLm9wdGlvbnMuaW5qZWN0P3RoaXMub3B0aW9ucy5pbmpl Y3Qud2hlcmU6IiIpfHx0aGlzLnRhcmdldD09ZG9jdW1lbnQuYm9keT8iaW5zaWRl IjoiYWZ0ZXIiOwpiPWJ8fCh0aGlzLm9wdGlvbnMuaW5qZWN0JiZ0aGlzLm9wdGlv bnMuaW5qZWN0LnRhcmdldCl8fHRoaXMudGFyZ2V0O3RoaXMuZWxlbWVudC5pbmpl Y3QoYixhKTtpZih0aGlzLm9wdGlvbnMudXNlSWZyYW1lU2hpbSl7dGhpcy5zaGlt PW5ldyBJZnJhbWVTaGltKHRoaXMuZWxlbWVudCx0aGlzLm9wdGlvbnMuaWZyYW1l U2hpbU9wdGlvbnMpOwp0aGlzLmFkZEV2ZW50cyh7c2hvdzp0aGlzLnNoaW0uc2hv dy5iaW5kKHRoaXMuc2hpbSksaGlkZTp0aGlzLnNoaW0uaGlkZS5iaW5kKHRoaXMu c2hpbSksZGVzdHJveTp0aGlzLnNoaW0uZGVzdHJveS5iaW5kKHRoaXMuc2hpbSl9 KTt9fSxwb3NpdGlvbjpmdW5jdGlvbigpe3RoaXMucmVzaXplKHRoaXMub3B0aW9u cy53aWR0aCx0aGlzLm9wdGlvbnMuaGVpZ2h0KTsKdGhpcy5lbGVtZW50LnBvc2l0 aW9uKHtyZWxhdGl2ZVRvOnRoaXMudGFyZ2V0LHBvc2l0aW9uOiJ0b3BMZWZ0Iixp Z25vcmVNYXJnaW5zOiF0aGlzLm9wdGlvbnMubWFza01hcmdpbnMsaWdub3JlU2Ny b2xsOnRoaXMudGFyZ2V0PT1kb2N1bWVudC5ib2R5fSk7cmV0dXJuIHRoaXM7Cn0s cmVzaXplOmZ1bmN0aW9uKGEsZSl7dmFyIGI9e3N0eWxlczpbInBhZGRpbmciLCJi b3JkZXIiXX07aWYodGhpcy5vcHRpb25zLm1hc2tNYXJnaW5zKXtiLnN0eWxlcy5w dXNoKCJtYXJnaW4iKTt9dmFyIGQ9dGhpcy50YXJnZXQuZ2V0Q29tcHV0ZWRTaXpl KGIpO2lmKHRoaXMudGFyZ2V0PT1kb2N1bWVudC5ib2R5KXt0aGlzLmVsZW1lbnQu c2V0U3R5bGVzKHt3aWR0aDowLGhlaWdodDowfSk7CnZhciBjPXdpbmRvdy5nZXRT Y3JvbGxTaXplKCk7aWYoZC50b3RhbEhlaWdodDxjLnkpe2QudG90YWxIZWlnaHQ9 Yy55O31pZihkLnRvdGFsV2lkdGg8Yy54KXtkLnRvdGFsV2lkdGg9Yy54O319dGhp cy5lbGVtZW50LnNldFN0eWxlcyh7d2lkdGg6QXJyYXkucGljayhbYSxkLnRvdGFs V2lkdGgsZC54XSksaGVpZ2h0OkFycmF5LnBpY2soW2UsZC50b3RhbEhlaWdodCxk LnldKX0pOwpyZXR1cm4gdGhpczt9LHNob3c6ZnVuY3Rpb24oKXtpZighdGhpcy5o aWRkZW4pe3JldHVybiB0aGlzO313aW5kb3cuYWRkRXZlbnQoInJlc2l6ZSIsdGhp cy5wb3NpdGlvbik7dGhpcy5wb3NpdGlvbigpO3RoaXMuc2hvd01hc2suYXBwbHko dGhpcyxhcmd1bWVudHMpOwpyZXR1cm4gdGhpczt9LHNob3dNYXNrOmZ1bmN0aW9u KCl7dGhpcy5lbGVtZW50LnNldFN0eWxlKCJkaXNwbGF5IiwiYmxvY2siKTt0aGlz LmhpZGRlbj1mYWxzZTt0aGlzLmZpcmVFdmVudCgic2hvdyIpO30saGlkZTpmdW5j dGlvbigpe2lmKHRoaXMuaGlkZGVuKXtyZXR1cm4gdGhpczsKfXdpbmRvdy5yZW1v dmVFdmVudCgicmVzaXplIix0aGlzLnBvc2l0aW9uKTt0aGlzLmhpZGVNYXNrLmFw cGx5KHRoaXMsYXJndW1lbnRzKTtpZih0aGlzLm9wdGlvbnMuZGVzdHJveU9uSGlk ZSl7cmV0dXJuIHRoaXMuZGVzdHJveSgpO31yZXR1cm4gdGhpczt9LGhpZGVNYXNr OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnNldFN0eWxlKCJkaXNwbGF5Iiwibm9u ZSIpOwp0aGlzLmhpZGRlbj10cnVlO3RoaXMuZmlyZUV2ZW50KCJoaWRlIik7fSx0 b2dnbGU6ZnVuY3Rpb24oKXt0aGlzW3RoaXMuaGlkZGVuPyJzaG93IjoiaGlkZSJd KCk7fSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5oaWRlKCk7dGhpcy5lbGVtZW50 LmRlc3Ryb3koKTt0aGlzLmZpcmVFdmVudCgiZGVzdHJveSIpOwp0aGlzLnRhcmdl dC5lbGltaW5hdGUoIm1hc2siKTt9fSk7RWxlbWVudC5Qcm9wZXJ0aWVzLm1hc2s9 e3NldDpmdW5jdGlvbihiKXt2YXIgYT10aGlzLnJldHJpZXZlKCJtYXNrIik7aWYo YSl7YS5kZXN0cm95KCk7fXJldHVybiB0aGlzLmVsaW1pbmF0ZSgibWFzayIpLnN0 b3JlKCJtYXNrOm9wdGlvbnMiLGIpOwp9LGdldDpmdW5jdGlvbigpe3ZhciBhPXRo aXMucmV0cmlldmUoIm1hc2siKTtpZighYSl7YT1uZXcgTWFzayh0aGlzLHRoaXMu cmV0cmlldmUoIm1hc2s6b3B0aW9ucyIpKTt0aGlzLnN0b3JlKCJtYXNrIixhKTt9 cmV0dXJuIGE7fX07RWxlbWVudC5pbXBsZW1lbnQoe21hc2s6ZnVuY3Rpb24oYSl7 aWYoYSl7dGhpcy5zZXQoIm1hc2siLGEpOwp9dGhpcy5nZXQoIm1hc2siKS5zaG93 KCk7cmV0dXJuIHRoaXM7fSx1bm1hc2s6ZnVuY3Rpb24oKXt0aGlzLmdldCgibWFz ayIpLmhpZGUoKTtyZXR1cm4gdGhpczt9fSk7dmFyIFNwaW5uZXI9bmV3IENsYXNz KHtFeHRlbmRzOk1hc2ssSW1wbGVtZW50czpDaGFpbixvcHRpb25zOnsiY2xhc3Mi OiJzcGlubmVyIixjb250YWluZXJQb3NpdGlvbjp7fSxjb250ZW50OnsiY2xhc3Mi OiJzcGlubmVyLWNvbnRlbnQifSxtZXNzYWdlQ29udGFpbmVyOnsiY2xhc3MiOiJz cGlubmVyLW1zZyJ9LGltZzp7ImNsYXNzIjoic3Bpbm5lci1pbWcifSxmeE9wdGlv bnM6e2xpbms6ImNoYWluIn19LGluaXRpYWxpemU6ZnVuY3Rpb24oYyxhKXt0aGlz LnRhcmdldD1kb2N1bWVudC5pZChjKXx8ZG9jdW1lbnQuaWQoZG9jdW1lbnQuYm9k eSk7CnRoaXMudGFyZ2V0LnN0b3JlKCJzcGlubmVyIix0aGlzKTt0aGlzLnNldE9w dGlvbnMoYSk7dGhpcy5yZW5kZXIoKTt0aGlzLmluamVjdCgpO3ZhciBiPWZ1bmN0 aW9uKCl7dGhpcy5hY3RpdmU9ZmFsc2U7fS5iaW5kKHRoaXMpO3RoaXMuYWRkRXZl bnRzKHtoaWRlOmIsc2hvdzpifSk7Cn0scmVuZGVyOmZ1bmN0aW9uKCl7dGhpcy5w YXJlbnQoKTt0aGlzLmVsZW1lbnQuc2V0KCJpZCIsdGhpcy5vcHRpb25zLmlkfHwi c3Bpbm5lci0iK1N0cmluZy51bmlxdWVJRCgpKTt0aGlzLmNvbnRlbnQ9ZG9jdW1l bnQuaWQodGhpcy5vcHRpb25zLmNvbnRlbnQpfHxuZXcgRWxlbWVudCgiZGl2Iix0 aGlzLm9wdGlvbnMuY29udGVudCk7CnRoaXMuY29udGVudC5pbmplY3QodGhpcy5l bGVtZW50KTtpZih0aGlzLm9wdGlvbnMubWVzc2FnZSl7dGhpcy5tc2c9ZG9jdW1l bnQuaWQodGhpcy5vcHRpb25zLm1lc3NhZ2UpfHxuZXcgRWxlbWVudCgicCIsdGhp cy5vcHRpb25zLm1lc3NhZ2VDb250YWluZXIpLmFwcGVuZFRleHQodGhpcy5vcHRp b25zLm1lc3NhZ2UpOwp0aGlzLm1zZy5pbmplY3QodGhpcy5jb250ZW50KTt9aWYo dGhpcy5vcHRpb25zLmltZyl7dGhpcy5pbWc9ZG9jdW1lbnQuaWQodGhpcy5vcHRp b25zLmltZyl8fG5ldyBFbGVtZW50KCJkaXYiLHRoaXMub3B0aW9ucy5pbWcpO3Ro aXMuaW1nLmluamVjdCh0aGlzLmNvbnRlbnQpOwp9dGhpcy5lbGVtZW50LnNldCgi dHdlZW4iLHRoaXMub3B0aW9ucy5meE9wdGlvbnMpO30sc2hvdzpmdW5jdGlvbihh KXtpZih0aGlzLmFjdGl2ZSl7cmV0dXJuIHRoaXMuY2hhaW4odGhpcy5zaG93LmJp bmQodGhpcykpO31pZighdGhpcy5oaWRkZW4pe3RoaXMuY2FsbENoYWluLmRlbGF5 KDIwLHRoaXMpOwpyZXR1cm4gdGhpczt9dGhpcy5hY3RpdmU9dHJ1ZTtyZXR1cm4g dGhpcy5wYXJlbnQoYSk7fSxzaG93TWFzazpmdW5jdGlvbihhKXt2YXIgYj1mdW5j dGlvbigpe3RoaXMuY29udGVudC5wb3NpdGlvbihPYmplY3QubWVyZ2Uoe3JlbGF0 aXZlVG86dGhpcy5lbGVtZW50fSx0aGlzLm9wdGlvbnMuY29udGFpbmVyUG9zaXRp b24pKTsKfS5iaW5kKHRoaXMpO2lmKGEpe3RoaXMucGFyZW50KCk7YigpO31lbHNl e2lmKCF0aGlzLm9wdGlvbnMuc3R5bGUub3BhY2l0eSl7dGhpcy5vcHRpb25zLnN0 eWxlLm9wYWNpdHk9dGhpcy5lbGVtZW50LmdldFN0eWxlKCJvcGFjaXR5IikudG9G bG9hdCgpO310aGlzLmVsZW1lbnQuc2V0U3R5bGVzKHtkaXNwbGF5OiJibG9jayIs b3BhY2l0eTowfSkudHdlZW4oIm9wYWNpdHkiLHRoaXMub3B0aW9ucy5zdHlsZS5v cGFjaXR5KTsKYigpO3RoaXMuaGlkZGVuPWZhbHNlO3RoaXMuZmlyZUV2ZW50KCJz aG93Iik7dGhpcy5jYWxsQ2hhaW4oKTt9fSxoaWRlOmZ1bmN0aW9uKGEpe2lmKHRo aXMuYWN0aXZlKXtyZXR1cm4gdGhpcy5jaGFpbih0aGlzLmhpZGUuYmluZCh0aGlz KSk7fWlmKHRoaXMuaGlkZGVuKXt0aGlzLmNhbGxDaGFpbi5kZWxheSgyMCx0aGlz KTsKcmV0dXJuIHRoaXM7fXRoaXMuYWN0aXZlPXRydWU7cmV0dXJuIHRoaXMucGFy ZW50KGEpO30saGlkZU1hc2s6ZnVuY3Rpb24oYSl7aWYoYSl7cmV0dXJuIHRoaXMu cGFyZW50KCk7fXRoaXMuZWxlbWVudC50d2Vlbigib3BhY2l0eSIsMCkuZ2V0KCJ0 d2VlbiIpLmNoYWluKGZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnNldFN0eWxlKCJk aXNwbGF5Iiwibm9uZSIpOwp0aGlzLmhpZGRlbj10cnVlO3RoaXMuZmlyZUV2ZW50 KCJoaWRlIik7dGhpcy5jYWxsQ2hhaW4oKTt9LmJpbmQodGhpcykpO30sZGVzdHJv eTpmdW5jdGlvbigpe3RoaXMuY29udGVudC5kZXN0cm95KCk7dGhpcy5wYXJlbnQo KTt0aGlzLnRhcmdldC5lbGltaW5hdGUoInNwaW5uZXIiKTsKfX0pO1JlcXVlc3Q9 Q2xhc3MucmVmYWN0b3IoUmVxdWVzdCx7b3B0aW9uczp7dXNlU3Bpbm5lcjpmYWxz ZSxzcGlubmVyT3B0aW9uczp7fSxzcGlubmVyVGFyZ2V0OmZhbHNlfSxpbml0aWFs aXplOmZ1bmN0aW9uKGEpe3RoaXMuX3NlbmQ9dGhpcy5zZW5kO3RoaXMuc2VuZD1m dW5jdGlvbihiKXt2YXIgYz10aGlzLmdldFNwaW5uZXIoKTsKaWYoYyl7Yy5jaGFp bih0aGlzLl9zZW5kLnBhc3MoYix0aGlzKSkuc2hvdygpO31lbHNle3RoaXMuX3Nl bmQoYik7fXJldHVybiB0aGlzO307dGhpcy5wcmV2aW91cyhhKTt9LGdldFNwaW5u ZXI6ZnVuY3Rpb24oKXtpZighdGhpcy5zcGlubmVyKXt2YXIgYj1kb2N1bWVudC5p ZCh0aGlzLm9wdGlvbnMuc3Bpbm5lclRhcmdldCl8fGRvY3VtZW50LmlkKHRoaXMu b3B0aW9ucy51cGRhdGUpOwppZih0aGlzLm9wdGlvbnMudXNlU3Bpbm5lciYmYil7 Yi5zZXQoInNwaW5uZXIiLHRoaXMub3B0aW9ucy5zcGlubmVyT3B0aW9ucyk7dmFy IGE9dGhpcy5zcGlubmVyPWIuZ2V0KCJzcGlubmVyIik7WyJjb21wbGV0ZSIsImV4 Y2VwdGlvbiIsImNhbmNlbCJdLmVhY2goZnVuY3Rpb24oYyl7dGhpcy5hZGRFdmVu dChjLGEuaGlkZS5iaW5kKGEpKTsKfSx0aGlzKTt9fXJldHVybiB0aGlzLnNwaW5u ZXI7fX0pO0VsZW1lbnQuUHJvcGVydGllcy5zcGlubmVyPXtzZXQ6ZnVuY3Rpb24o YSl7dmFyIGI9dGhpcy5yZXRyaWV2ZSgic3Bpbm5lciIpO2lmKGIpe2IuZGVzdHJv eSgpO31yZXR1cm4gdGhpcy5lbGltaW5hdGUoInNwaW5uZXIiKS5zdG9yZSgic3Bp bm5lcjpvcHRpb25zIixhKTsKfSxnZXQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnJl dHJpZXZlKCJzcGlubmVyIik7aWYoIWEpe2E9bmV3IFNwaW5uZXIodGhpcyx0aGlz LnJldHJpZXZlKCJzcGlubmVyOm9wdGlvbnMiKSk7dGhpcy5zdG9yZSgic3Bpbm5l ciIsYSk7fXJldHVybiBhO319O0VsZW1lbnQuaW1wbGVtZW50KHtzcGluOmZ1bmN0 aW9uKGEpe2lmKGEpe3RoaXMuc2V0KCJzcGlubmVyIixhKTsKfXRoaXMuZ2V0KCJz cGlubmVyIikuc2hvdygpO3JldHVybiB0aGlzO30sdW5zcGluOmZ1bmN0aW9uKCl7 dGhpcy5nZXQoInNwaW5uZXIiKS5oaWRlKCk7cmV0dXJuIHRoaXM7fX0pO2lmKCF3 aW5kb3cuRm9ybSl7d2luZG93LkZvcm09e307fShmdW5jdGlvbigpe0Zvcm0uUmVx dWVzdD1uZXcgQ2xhc3Moe0JpbmRzOlsib25TdWJtaXQiLCJvbkZvcm1WYWxpZGF0 ZSJdLEltcGxlbWVudHM6W09wdGlvbnMsRXZlbnRzLENsYXNzLk9jY2x1ZGVdLG9w dGlvbnM6e3JlcXVlc3RPcHRpb25zOntldmFsU2NyaXB0czp0cnVlLHVzZVNwaW5u ZXI6dHJ1ZSxlbXVsYXRpb246ZmFsc2UsbGluazoiaWdub3JlIn0sc2VuZEJ1dHRv bkNsaWNrZWQ6dHJ1ZSxleHRyYURhdGE6e30scmVzZXRGb3JtOnRydWV9LHByb3Bl cnR5OiJmb3JtLnJlcXVlc3QiLGluaXRpYWxpemU6ZnVuY3Rpb24oYixjLGEpe3Ro aXMuZWxlbWVudD1kb2N1bWVudC5pZChiKTsKaWYodGhpcy5vY2NsdWRlKCkpe3Jl dHVybiB0aGlzLm9jY2x1ZGVkO310aGlzLnNldE9wdGlvbnMoYSkuc2V0VGFyZ2V0 KGMpLmF0dGFjaCgpO30sc2V0VGFyZ2V0OmZ1bmN0aW9uKGEpe3RoaXMudGFyZ2V0 PWRvY3VtZW50LmlkKGEpO2lmKCF0aGlzLnJlcXVlc3Qpe3RoaXMubWFrZVJlcXVl c3QoKTsKfWVsc2V7dGhpcy5yZXF1ZXN0LnNldE9wdGlvbnMoe3VwZGF0ZTp0aGlz LnRhcmdldH0pO31yZXR1cm4gdGhpczt9LHRvRWxlbWVudDpmdW5jdGlvbigpe3Jl dHVybiB0aGlzLmVsZW1lbnQ7fSxtYWtlUmVxdWVzdDpmdW5jdGlvbigpe3ZhciBh PXRoaXM7dGhpcy5yZXF1ZXN0PW5ldyBSZXF1ZXN0LkhUTUwoT2JqZWN0Lm1lcmdl KHt1cGRhdGU6dGhpcy50YXJnZXQsZW11bGF0aW9uOmZhbHNlLHNwaW5uZXJUYXJn ZXQ6dGhpcy5lbGVtZW50LG1ldGhvZDp0aGlzLmVsZW1lbnQuZ2V0KCJtZXRob2Qi KXx8InBvc3QifSx0aGlzLm9wdGlvbnMucmVxdWVzdE9wdGlvbnMpKS5hZGRFdmVu dHMoe3N1Y2Nlc3M6ZnVuY3Rpb24oYyxlLGQsYil7WyJjb21wbGV0ZSIsInN1Y2Nl c3MiXS5lYWNoKGZ1bmN0aW9uKGYpe2EuZmlyZUV2ZW50KGYsW2EudGFyZ2V0LGMs ZSxkLGJdKTsKfSk7fSxmYWlsdXJlOmZ1bmN0aW9uKCl7YS5maXJlRXZlbnQoImNv bXBsZXRlIixhcmd1bWVudHMpLmZpcmVFdmVudCgiZmFpbHVyZSIsYXJndW1lbnRz KTt9LGV4Y2VwdGlvbjpmdW5jdGlvbigpe2EuZmlyZUV2ZW50KCJmYWlsdXJlIixh cmd1bWVudHMpO319KTtyZXR1cm4gdGhpcy5hdHRhY2hSZXNldCgpOwp9LGF0dGFj aFJlc2V0OmZ1bmN0aW9uKCl7aWYoIXRoaXMub3B0aW9ucy5yZXNldEZvcm0pe3Jl dHVybiB0aGlzO310aGlzLnJlcXVlc3QuYWRkRXZlbnQoInN1Y2Nlc3MiLGZ1bmN0 aW9uKCl7RnVuY3Rpb24uYXR0ZW1wdChmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5y ZXNldCgpOwp9LmJpbmQodGhpcykpO2lmKHdpbmRvdy5PdmVyVGV4dCl7T3ZlclRl eHQudXBkYXRlKCk7fX0uYmluZCh0aGlzKSk7cmV0dXJuIHRoaXM7fSxhdHRhY2g6 ZnVuY3Rpb24oYSl7dmFyIGM9KGEhPWZhbHNlKT8iYWRkRXZlbnQiOiJyZW1vdmVF dmVudCI7dGhpcy5lbGVtZW50W2NdKCJjbGljazpyZWxheShidXR0b24sIGlucHV0 W3R5cGU9c3VibWl0XSkiLHRoaXMuc2F2ZUNsaWNrZWRCdXR0b24uYmluZCh0aGlz KSk7CnZhciBiPXRoaXMuZWxlbWVudC5yZXRyaWV2ZSgidmFsaWRhdG9yIik7aWYo Yil7YltjXSgib25Gb3JtVmFsaWRhdGUiLHRoaXMub25Gb3JtVmFsaWRhdGUpO31l bHNle3RoaXMuZWxlbWVudFtjXSgic3VibWl0Iix0aGlzLm9uU3VibWl0KTt9cmV0 dXJuIHRoaXM7fSxkZXRhY2g6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hdHRhY2go ZmFsc2UpOwp9LGVuYWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmF0dGFjaCgp O30sZGlzYWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRldGFjaCgpO30sb25G b3JtVmFsaWRhdGU6ZnVuY3Rpb24oYyxiLGEpe2lmKCFhKXtyZXR1cm47fXZhciBk PXRoaXMuZWxlbWVudC5yZXRyaWV2ZSgidmFsaWRhdG9yIik7CmlmKGN8fChkJiYh ZC5vcHRpb25zLnN0b3BPbkZhaWx1cmUpKXthLnN0b3AoKTt0aGlzLnNlbmQoKTt9 fSxvblN1Ym1pdDpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmVsZW1lbnQucmV0cmll dmUoInZhbGlkYXRvciIpO2lmKGIpe3RoaXMuZWxlbWVudC5yZW1vdmVFdmVudCgi c3VibWl0Iix0aGlzLm9uU3VibWl0KTsKYi5hZGRFdmVudCgib25Gb3JtVmFsaWRh dGUiLHRoaXMub25Gb3JtVmFsaWRhdGUpO3RoaXMuZWxlbWVudC52YWxpZGF0ZSgp O3JldHVybjt9aWYoYSl7YS5zdG9wKCk7fXRoaXMuc2VuZCgpO30sc2F2ZUNsaWNr ZWRCdXR0b246ZnVuY3Rpb24oYixjKXt2YXIgYT1jLmdldCgibmFtZSIpOwppZigh YXx8IXRoaXMub3B0aW9ucy5zZW5kQnV0dG9uQ2xpY2tlZCl7cmV0dXJuO310aGlz Lm9wdGlvbnMuZXh0cmFEYXRhW2FdPWMuZ2V0KCJ2YWx1ZSIpfHx0cnVlO3RoaXMu Y2xpY2tlZENsZWFuZXI9ZnVuY3Rpb24oKXtkZWxldGUgdGhpcy5vcHRpb25zLmV4 dHJhRGF0YVthXTsKdGhpcy5jbGlja2VkQ2xlYW5lcj1mdW5jdGlvbigpe307fS5i aW5kKHRoaXMpO30sY2xpY2tlZENsZWFuZXI6ZnVuY3Rpb24oKXt9LHNlbmQ6ZnVu Y3Rpb24oKXt2YXIgYj10aGlzLmVsZW1lbnQudG9RdWVyeVN0cmluZygpLnRyaW0o KSxhPU9iamVjdC50b1F1ZXJ5U3RyaW5nKHRoaXMub3B0aW9ucy5leHRyYURhdGEp OwppZihiKXtiKz0iJiIrYTt9ZWxzZXtiPWE7fXRoaXMuZmlyZUV2ZW50KCJzZW5k IixbdGhpcy5lbGVtZW50LGIucGFyc2VRdWVyeVN0cmluZygpXSk7dGhpcy5yZXF1 ZXN0LnNlbmQoe2RhdGE6Yix1cmw6dGhpcy5vcHRpb25zLnJlcXVlc3RPcHRpb25z LnVybHx8dGhpcy5lbGVtZW50LmdldCgiYWN0aW9uIil9KTsKdGhpcy5jbGlja2Vk Q2xlYW5lcigpO3JldHVybiB0aGlzO319KTtFbGVtZW50LmltcGxlbWVudCgiZm9y bVVwZGF0ZSIsZnVuY3Rpb24oYyxiKXt2YXIgYT10aGlzLnJldHJpZXZlKCJmb3Jt LnJlcXVlc3QiKTtpZighYSl7YT1uZXcgRm9ybS5SZXF1ZXN0KHRoaXMsYyxiKTsK fWVsc2V7aWYoYyl7YS5zZXRUYXJnZXQoYyk7fWlmKGIpe2Euc2V0T3B0aW9ucyhi KS5tYWtlUmVxdWVzdCgpO319YS5zZW5kKCk7cmV0dXJuIHRoaXM7fSk7fSkoKTso ZnVuY3Rpb24oKXt2YXIgYT1mdW5jdGlvbihkKXt2YXIgYj1kLm9wdGlvbnMuaGlk ZUlucHV0czsKaWYod2luZG93Lk92ZXJUZXh0KXt2YXIgYz1bbnVsbF07T3ZlclRl eHQuZWFjaChmdW5jdGlvbihlKXtjLmluY2x1ZGUoIi4iK2Uub3B0aW9ucy5sYWJl bENsYXNzKTt9KTtpZihjKXtiKz1jLmpvaW4oIiwgIik7fX1yZXR1cm4oYik/ZC5l bGVtZW50LmdldEVsZW1lbnRzKGIpOm51bGw7Cn07RnguUmV2ZWFsPW5ldyBDbGFz cyh7RXh0ZW5kczpGeC5Nb3JwaCxvcHRpb25zOntsaW5rOiJjYW5jZWwiLHN0eWxl czpbInBhZGRpbmciLCJib3JkZXIiLCJtYXJnaW4iXSx0cmFuc2l0aW9uT3BhY2l0 eTohQnJvd3Nlci5pZTYsbW9kZToidmVydGljYWwiLGRpc3BsYXk6ZnVuY3Rpb24o KXtyZXR1cm4gdGhpcy5lbGVtZW50LmdldCgidGFnIikhPSJ0ciI/ImJsb2NrIjoi dGFibGUtcm93IjsKfSxvcGFjaXR5OjEsaGlkZUlucHV0czpCcm93c2VyLmllPyJz ZWxlY3QsIGlucHV0LCB0ZXh0YXJlYSwgb2JqZWN0LCBlbWJlZCI6bnVsbH0sZGlz c29sdmU6ZnVuY3Rpb24oKXtpZighdGhpcy5oaWRpbmcmJiF0aGlzLnNob3dpbmcp e2lmKHRoaXMuZWxlbWVudC5nZXRTdHlsZSgiZGlzcGxheSIpIT0ibm9uZSIpe3Ro aXMuaGlkaW5nPXRydWU7CnRoaXMuc2hvd2luZz1mYWxzZTt0aGlzLmhpZGRlbj10 cnVlO3RoaXMuY3NzVGV4dD10aGlzLmVsZW1lbnQuc3R5bGUuY3NzVGV4dDt2YXIg ZD10aGlzLmVsZW1lbnQuZ2V0Q29tcHV0ZWRTaXplKHtzdHlsZXM6dGhpcy5vcHRp b25zLnN0eWxlcyxtb2RlOnRoaXMub3B0aW9ucy5tb2RlfSk7CmlmKHRoaXMub3B0 aW9ucy50cmFuc2l0aW9uT3BhY2l0eSl7ZC5vcGFjaXR5PXRoaXMub3B0aW9ucy5v cGFjaXR5O312YXIgYz17fTtPYmplY3QuZWFjaChkLGZ1bmN0aW9uKGYsZSl7Y1tl XT1bZiwwXTt9KTt0aGlzLmVsZW1lbnQuc2V0U3R5bGVzKHtkaXNwbGF5OkZ1bmN0 aW9uLmZyb20odGhpcy5vcHRpb25zLmRpc3BsYXkpLmNhbGwodGhpcyksb3ZlcmZs b3c6ImhpZGRlbiJ9KTsKdmFyIGI9YSh0aGlzKTtpZihiKXtiLnNldFN0eWxlKCJ2 aXNpYmlsaXR5IiwiaGlkZGVuIik7fXRoaXMuJGNoYWluLnVuc2hpZnQoZnVuY3Rp b24oKXtpZih0aGlzLmhpZGRlbil7dGhpcy5oaWRpbmc9ZmFsc2U7dGhpcy5lbGVt ZW50LnN0eWxlLmNzc1RleHQ9dGhpcy5jc3NUZXh0Owp0aGlzLmVsZW1lbnQuc2V0 U3R5bGUoImRpc3BsYXkiLCJub25lIik7aWYoYil7Yi5zZXRTdHlsZSgidmlzaWJp bGl0eSIsInZpc2libGUiKTt9fXRoaXMuZmlyZUV2ZW50KCJoaWRlIix0aGlzLmVs ZW1lbnQpO3RoaXMuY2FsbENoYWluKCk7fS5iaW5kKHRoaXMpKTt0aGlzLnN0YXJ0 KGMpOwp9ZWxzZXt0aGlzLmNhbGxDaGFpbi5kZWxheSgxMCx0aGlzKTt0aGlzLmZp cmVFdmVudCgiY29tcGxldGUiLHRoaXMuZWxlbWVudCk7dGhpcy5maXJlRXZlbnQo ImhpZGUiLHRoaXMuZWxlbWVudCk7fX1lbHNle2lmKHRoaXMub3B0aW9ucy5saW5r PT0iY2hhaW4iKXt0aGlzLmNoYWluKHRoaXMuZGlzc29sdmUuYmluZCh0aGlzKSk7 Cn1lbHNle2lmKHRoaXMub3B0aW9ucy5saW5rPT0iY2FuY2VsIiYmIXRoaXMuaGlk aW5nKXt0aGlzLmNhbmNlbCgpO3RoaXMuZGlzc29sdmUoKTt9fX1yZXR1cm4gdGhp czt9LHJldmVhbDpmdW5jdGlvbigpe2lmKCF0aGlzLnNob3dpbmcmJiF0aGlzLmhp ZGluZyl7aWYodGhpcy5lbGVtZW50LmdldFN0eWxlKCJkaXNwbGF5Iik9PSJub25l Iil7dGhpcy5oaWRpbmc9ZmFsc2U7CnRoaXMuc2hvd2luZz10cnVlO3RoaXMuaGlk ZGVuPWZhbHNlO3RoaXMuY3NzVGV4dD10aGlzLmVsZW1lbnQuc3R5bGUuY3NzVGV4 dDt2YXIgZDt0aGlzLmVsZW1lbnQubWVhc3VyZShmdW5jdGlvbigpe2Q9dGhpcy5l bGVtZW50LmdldENvbXB1dGVkU2l6ZSh7c3R5bGVzOnRoaXMub3B0aW9ucy5zdHls ZXMsbW9kZTp0aGlzLm9wdGlvbnMubW9kZX0pOwp9LmJpbmQodGhpcykpO2lmKHRo aXMub3B0aW9ucy5oZWlnaHRPdmVycmlkZSE9bnVsbCl7ZC5oZWlnaHQ9dGhpcy5v cHRpb25zLmhlaWdodE92ZXJyaWRlLnRvSW50KCk7fWlmKHRoaXMub3B0aW9ucy53 aWR0aE92ZXJyaWRlIT1udWxsKXtkLndpZHRoPXRoaXMub3B0aW9ucy53aWR0aE92 ZXJyaWRlLnRvSW50KCk7Cn1pZih0aGlzLm9wdGlvbnMudHJhbnNpdGlvbk9wYWNp dHkpe3RoaXMuZWxlbWVudC5zZXRTdHlsZSgib3BhY2l0eSIsMCk7ZC5vcGFjaXR5 PXRoaXMub3B0aW9ucy5vcGFjaXR5O312YXIgYz17aGVpZ2h0OjAsZGlzcGxheTpG dW5jdGlvbi5mcm9tKHRoaXMub3B0aW9ucy5kaXNwbGF5KS5jYWxsKHRoaXMpfTsK T2JqZWN0LmVhY2goZCxmdW5jdGlvbihmLGUpe2NbZV09MDt9KTtjLm92ZXJmbG93 PSJoaWRkZW4iO3RoaXMuZWxlbWVudC5zZXRTdHlsZXMoYyk7dmFyIGI9YSh0aGlz KTtpZihiKXtiLnNldFN0eWxlKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIik7fXRoaXMu JGNoYWluLnVuc2hpZnQoZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQuc3R5bGUuY3Nz VGV4dD10aGlzLmNzc1RleHQ7CnRoaXMuZWxlbWVudC5zZXRTdHlsZSgiZGlzcGxh eSIsRnVuY3Rpb24uZnJvbSh0aGlzLm9wdGlvbnMuZGlzcGxheSkuY2FsbCh0aGlz KSk7aWYoIXRoaXMuaGlkZGVuKXt0aGlzLnNob3dpbmc9ZmFsc2U7fWlmKGIpe2Iu c2V0U3R5bGUoInZpc2liaWxpdHkiLCJ2aXNpYmxlIik7Cn10aGlzLmNhbGxDaGFp bigpO3RoaXMuZmlyZUV2ZW50KCJzaG93Iix0aGlzLmVsZW1lbnQpO30uYmluZCh0 aGlzKSk7dGhpcy5zdGFydChkKTt9ZWxzZXt0aGlzLmNhbGxDaGFpbigpO3RoaXMu ZmlyZUV2ZW50KCJjb21wbGV0ZSIsdGhpcy5lbGVtZW50KTt0aGlzLmZpcmVFdmVu dCgic2hvdyIsdGhpcy5lbGVtZW50KTsKfX1lbHNle2lmKHRoaXMub3B0aW9ucy5s aW5rPT0iY2hhaW4iKXt0aGlzLmNoYWluKHRoaXMucmV2ZWFsLmJpbmQodGhpcykp O31lbHNle2lmKHRoaXMub3B0aW9ucy5saW5rPT0iY2FuY2VsIiYmIXRoaXMuc2hv d2luZyl7dGhpcy5jYW5jZWwoKTt0aGlzLnJldmVhbCgpOwp9fX1yZXR1cm4gdGhp czt9LHRvZ2dsZTpmdW5jdGlvbigpe2lmKHRoaXMuZWxlbWVudC5nZXRTdHlsZSgi ZGlzcGxheSIpPT0ibm9uZSIpe3RoaXMucmV2ZWFsKCk7fWVsc2V7dGhpcy5kaXNz b2x2ZSgpO31yZXR1cm4gdGhpczt9LGNhbmNlbDpmdW5jdGlvbigpe3RoaXMucGFy ZW50LmFwcGx5KHRoaXMsYXJndW1lbnRzKTsKaWYodGhpcy5jc3NUZXh0IT1udWxs KXt0aGlzLmVsZW1lbnQuc3R5bGUuY3NzVGV4dD10aGlzLmNzc1RleHQ7fXRoaXMu aGlkaW5nPWZhbHNlO3RoaXMuc2hvd2luZz1mYWxzZTtyZXR1cm4gdGhpczt9fSk7 RWxlbWVudC5Qcm9wZXJ0aWVzLnJldmVhbD17c2V0OmZ1bmN0aW9uKGIpe3RoaXMu Z2V0KCJyZXZlYWwiKS5jYW5jZWwoKS5zZXRPcHRpb25zKGIpOwpyZXR1cm4gdGhp czt9LGdldDpmdW5jdGlvbigpe3ZhciBiPXRoaXMucmV0cmlldmUoInJldmVhbCIp O2lmKCFiKXtiPW5ldyBGeC5SZXZlYWwodGhpcyk7dGhpcy5zdG9yZSgicmV2ZWFs IixiKTt9cmV0dXJuIGI7fX07RWxlbWVudC5Qcm9wZXJ0aWVzLmRpc3NvbHZlPUVs ZW1lbnQuUHJvcGVydGllcy5yZXZlYWw7CkVsZW1lbnQuaW1wbGVtZW50KHtyZXZl YWw6ZnVuY3Rpb24oYil7dGhpcy5nZXQoInJldmVhbCIpLnNldE9wdGlvbnMoYiku cmV2ZWFsKCk7cmV0dXJuIHRoaXM7fSxkaXNzb2x2ZTpmdW5jdGlvbihiKXt0aGlz LmdldCgicmV2ZWFsIikuc2V0T3B0aW9ucyhiKS5kaXNzb2x2ZSgpOwpyZXR1cm4g dGhpczt9LG5peDpmdW5jdGlvbihiKXt2YXIgYz1BcnJheS5saW5rKGFyZ3VtZW50 cyx7ZGVzdHJveTpUeXBlLmlzQm9vbGVhbixvcHRpb25zOlR5cGUuaXNPYmplY3R9 KTt0aGlzLmdldCgicmV2ZWFsIikuc2V0T3B0aW9ucyhiKS5kaXNzb2x2ZSgpLmNo YWluKGZ1bmN0aW9uKCl7dGhpc1tjLmRlc3Ryb3k/ImRlc3Ryb3kiOiJkaXNwb3Nl Il0oKTsKfS5iaW5kKHRoaXMpKTtyZXR1cm4gdGhpczt9LHdpbms6ZnVuY3Rpb24o KXt2YXIgYz1BcnJheS5saW5rKGFyZ3VtZW50cyx7ZHVyYXRpb246VHlwZS5pc051 bWJlcixvcHRpb25zOlR5cGUuaXNPYmplY3R9KTt2YXIgYj10aGlzLmdldCgicmV2 ZWFsIikuc2V0T3B0aW9ucyhjLm9wdGlvbnMpOwpiLnJldmVhbCgpLmNoYWluKGZ1 bmN0aW9uKCl7KGZ1bmN0aW9uKCl7Yi5kaXNzb2x2ZSgpO30pLmRlbGF5KGMuZHVy YXRpb258fDIwMDApO30pO319KTt9KSgpO0Zvcm0uUmVxdWVzdC5BcHBlbmQ9bmV3 IENsYXNzKHtFeHRlbmRzOkZvcm0uUmVxdWVzdCxvcHRpb25zOnt1c2VSZXZlYWw6 dHJ1ZSxyZXZlYWxPcHRpb25zOnt9LGluamVjdDoiYm90dG9tIn0sbWFrZVJlcXVl c3Q6ZnVuY3Rpb24oKXt0aGlzLnJlcXVlc3Q9bmV3IFJlcXVlc3QuSFRNTChPYmpl Y3QubWVyZ2Uoe3VybDp0aGlzLmVsZW1lbnQuZ2V0KCJhY3Rpb24iKSxtZXRob2Q6 dGhpcy5lbGVtZW50LmdldCgibWV0aG9kIil8fCJwb3N0IixzcGlubmVyVGFyZ2V0 OnRoaXMuZWxlbWVudH0sdGhpcy5vcHRpb25zLnJlcXVlc3RPcHRpb25zLHtldmFs U2NyaXB0czpmYWxzZX0pKS5hZGRFdmVudHMoe3N1Y2Nlc3M6ZnVuY3Rpb24oYixn LGYsYSl7dmFyIGM7CnZhciBkPUVsZW1lbnRzLmZyb20oZik7aWYoZC5sZW5ndGg9 PTEpe2M9ZFswXTt9ZWxzZXtjPW5ldyBFbGVtZW50KCJkaXYiLHtzdHlsZXM6e2Rp c3BsYXk6Im5vbmUifX0pLmFkb3B0KGQpO31jLmluamVjdCh0aGlzLnRhcmdldCx0 aGlzLm9wdGlvbnMuaW5qZWN0KTsKaWYodGhpcy5vcHRpb25zLnJlcXVlc3RPcHRp b25zLmV2YWxTY3JpcHRzKXtCcm93c2VyLmV4ZWMoYSk7fXRoaXMuZmlyZUV2ZW50 KCJiZWZvcmVFZmZlY3QiLGMpO3ZhciBlPWZ1bmN0aW9uKCl7dGhpcy5maXJlRXZl bnQoInN1Y2Nlc3MiLFtjLHRoaXMudGFyZ2V0LGIsZyxmLGFdKTsKfS5iaW5kKHRo aXMpO2lmKHRoaXMub3B0aW9ucy51c2VSZXZlYWwpe2Muc2V0KCJyZXZlYWwiLHRo aXMub3B0aW9ucy5yZXZlYWxPcHRpb25zKS5nZXQoInJldmVhbCIpLmNoYWluKGUp O2MucmV2ZWFsKCk7fWVsc2V7ZSgpO319LmJpbmQodGhpcyksZmFpbHVyZTpmdW5j dGlvbihhKXt0aGlzLmZpcmVFdmVudCgiZmFpbHVyZSIsYSk7Cn0uYmluZCh0aGlz KX0pO3RoaXMuYXR0YWNoUmVzZXQoKTt9fSk7TG9jYWxlLmRlZmluZSgiZW4tVVMi LCJGb3JtVmFsaWRhdG9yIix7cmVxdWlyZWQ6IlRoaXMgZmllbGQgaXMgcmVxdWly ZWQuIixsZW5ndGg6IlBsZWFzZSBlbnRlciB7bGVuZ3RofSBjaGFyYWN0ZXJzICh5 b3UgZW50ZXJlZCB7ZWxMZW5ndGh9IGNoYXJhY3RlcnMpIixtaW5MZW5ndGg6IlBs ZWFzZSBlbnRlciBhdCBsZWFzdCB7bWluTGVuZ3RofSBjaGFyYWN0ZXJzICh5b3Ug ZW50ZXJlZCB7bGVuZ3RofSBjaGFyYWN0ZXJzKS4iLG1heExlbmd0aDoiUGxlYXNl IGVudGVyIG5vIG1vcmUgdGhhbiB7bWF4TGVuZ3RofSBjaGFyYWN0ZXJzICh5b3Ug ZW50ZXJlZCB7bGVuZ3RofSBjaGFyYWN0ZXJzKS4iLGludGVnZXI6IlBsZWFzZSBl bnRlciBhbiBpbnRlZ2VyIGluIHRoaXMgZmllbGQuIE51bWJlcnMgd2l0aCBkZWNp bWFscyAoZS5nLiAxLjI1KSBhcmUgbm90IHBlcm1pdHRlZC4iLG51bWVyaWM6J1Bs ZWFzZSBlbnRlciBvbmx5IG51bWVyaWMgdmFsdWVzIGluIHRoaXMgZmllbGQgKGku ZS4gIjEiIG9yICIxLjEiIG9yICItMSIgb3IgIi0xLjEiKS4nLGRpZ2l0czoiUGxl YXNlIHVzZSBudW1iZXJzIGFuZCBwdW5jdHVhdGlvbiBvbmx5IGluIHRoaXMgZmll bGQgKGZvciBleGFtcGxlLCBhIHBob25lIG51bWJlciB3aXRoIGRhc2hlcyBvciBk b3RzIGlzIHBlcm1pdHRlZCkuIixhbHBoYToiUGxlYXNlIHVzZSBvbmx5IGxldHRl cnMgKGEteikgd2l0aGluIHRoaXMgZmllbGQuIE5vIHNwYWNlcyBvciBvdGhlciBj aGFyYWN0ZXJzIGFyZSBhbGxvd2VkLiIsYWxwaGFudW06IlBsZWFzZSB1c2Ugb25s eSBsZXR0ZXJzIChhLXopIG9yIG51bWJlcnMgKDAtOSkgaW4gdGhpcyBmaWVsZC4g Tm8gc3BhY2VzIG9yIG90aGVyIGNoYXJhY3RlcnMgYXJlIGFsbG93ZWQuIixkYXRl U3VjaEFzOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBkYXRlIHN1Y2ggYXMge2RhdGV9 IixkYXRlSW5Gb3JtYXRNRFk6J1BsZWFzZSBlbnRlciBhIHZhbGlkIGRhdGUgc3Vj aCBhcyBNTS9ERC9ZWVlZIChpLmUuICIxMi8zMS8xOTk5IiknLGVtYWlsOidQbGVh c2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzLiBGb3IgZXhhbXBsZSAiZnJl ZEBkb21haW4uY29tIi4nLHVybDoiUGxlYXNlIGVudGVyIGEgdmFsaWQgVVJMIHN1 Y2ggYXMgaHR0cDovL3d3dy5leGFtcGxlLmNvbS4iLGN1cnJlbmN5RG9sbGFyOiJQ bGVhc2UgZW50ZXIgYSB2YWxpZCAkIGFtb3VudC4gRm9yIGV4YW1wbGUgJDEwMC4w MCAuIixvbmVSZXF1aXJlZDoiUGxlYXNlIGVudGVyIHNvbWV0aGluZyBmb3IgYXQg bGVhc3Qgb25lIG9mIHRoZXNlIGlucHV0cy4iLGVycm9yUHJlZml4OiJFcnJvcjog Iix3YXJuaW5nUHJlZml4OiJXYXJuaW5nOiAiLG5vU3BhY2U6IlRoZXJlIGNhbiBi ZSBubyBzcGFjZXMgaW4gdGhpcyBpbnB1dC4iLHJlcUNoa0J5Tm9kZToiTm8gaXRl bXMgYXJlIHNlbGVjdGVkLiIscmVxdWlyZWRDaGs6IlRoaXMgZmllbGQgaXMgcmVx dWlyZWQuIixyZXFDaGtCeU5hbWU6IlBsZWFzZSBzZWxlY3QgYSB7bGFiZWx9LiIs bWF0Y2g6IlRoaXMgZmllbGQgbmVlZHMgdG8gbWF0Y2ggdGhlIHttYXRjaE5hbWV9 IGZpZWxkIixzdGFydERhdGU6InRoZSBzdGFydCBkYXRlIixlbmREYXRlOiJ0aGUg ZW5kIGRhdGUiLGN1cnJlbmREYXRlOiJ0aGUgY3VycmVudCBkYXRlIixhZnRlckRh dGU6IlRoZSBkYXRlIHNob3VsZCBiZSB0aGUgc2FtZSBvciBhZnRlciB7bGFiZWx9 LiIsYmVmb3JlRGF0ZToiVGhlIGRhdGUgc2hvdWxkIGJlIHRoZSBzYW1lIG9yIGJl Zm9yZSB7bGFiZWx9LiIsc3RhcnRNb250aDoiUGxlYXNlIHNlbGVjdCBhIHN0YXJ0 IG1vbnRoIixzYW1lTW9udGg6IlRoZXNlIHR3byBkYXRlcyBtdXN0IGJlIGluIHRo ZSBzYW1lIG1vbnRoIC0geW91IG11c3QgY2hhbmdlIG9uZSBvciB0aGUgb3RoZXIu IixjcmVkaXRjYXJkOiJUaGUgY3JlZGl0IGNhcmQgbnVtYmVyIGVudGVyZWQgaXMg aW52YWxpZC4gUGxlYXNlIGNoZWNrIHRoZSBudW1iZXIgYW5kIHRyeSBhZ2Fpbi4g e2xlbmd0aH0gZGlnaXRzIGVudGVyZWQuIn0pOwppZighd2luZG93LkZvcm0pe3dp bmRvdy5Gb3JtPXt9O312YXIgSW5wdXRWYWxpZGF0b3I9dGhpcy5JbnB1dFZhbGlk YXRvcj1uZXcgQ2xhc3Moe0ltcGxlbWVudHM6W09wdGlvbnNdLG9wdGlvbnM6e2Vy cm9yTXNnOiJWYWxpZGF0aW9uIGZhaWxlZC4iLHRlc3Q6RnVuY3Rpb24uZnJvbSh0 cnVlKX0saW5pdGlhbGl6ZTpmdW5jdGlvbihiLGEpe3RoaXMuc2V0T3B0aW9ucyhh KTsKdGhpcy5jbGFzc05hbWU9Yjt9LHRlc3Q6ZnVuY3Rpb24oYixhKXtiPWRvY3Vt ZW50LmlkKGIpO3JldHVybihiKT90aGlzLm9wdGlvbnMudGVzdChiLGF8fHRoaXMu Z2V0UHJvcHMoYikpOmZhbHNlO30sZ2V0RXJyb3I6ZnVuY3Rpb24oYyxhKXtjPWRv Y3VtZW50LmlkKGMpOwp2YXIgYj10aGlzLm9wdGlvbnMuZXJyb3JNc2c7aWYodHlw ZU9mKGIpPT0iZnVuY3Rpb24iKXtiPWIoYyxhfHx0aGlzLmdldFByb3BzKGMpKTt9 cmV0dXJuIGI7fSxnZXRQcm9wczpmdW5jdGlvbihhKXthPWRvY3VtZW50LmlkKGEp O3JldHVybihhKT9hLmdldCgidmFsaWRhdG9yUHJvcHMiKTp7fTsKfX0pO0VsZW1l bnQuUHJvcGVydGllcy52YWxpZGF0b3JzPXtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4o dGhpcy5nZXQoImRhdGEtdmFsaWRhdG9ycyIpfHx0aGlzLmNsYXNzTmFtZSkuY2xl YW4oKS5zcGxpdCgiICIpO319O0VsZW1lbnQuUHJvcGVydGllcy52YWxpZGF0b3JQ cm9wcz17c2V0OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVsaW1pbmF0ZSgiJG1v bzp2YWxpZGF0b3JQcm9wcyIpLnN0b3JlKCIkbW9vOnZhbGlkYXRvclByb3BzIixh KTsKfSxnZXQ6ZnVuY3Rpb24oYSl7aWYoYSl7dGhpcy5zZXQoYSk7fWlmKHRoaXMu cmV0cmlldmUoIiRtb286dmFsaWRhdG9yUHJvcHMiKSl7cmV0dXJuIHRoaXMucmV0 cmlldmUoIiRtb286dmFsaWRhdG9yUHJvcHMiKTt9aWYodGhpcy5nZXRQcm9wZXJ0 eSgiZGF0YS12YWxpZGF0b3ItcHJvcGVydGllcyIpfHx0aGlzLmdldFByb3BlcnR5 KCJ2YWxpZGF0b3JQcm9wcyIpKXt0cnl7dGhpcy5zdG9yZSgiJG1vbzp2YWxpZGF0 b3JQcm9wcyIsSlNPTi5kZWNvZGUodGhpcy5nZXRQcm9wZXJ0eSgidmFsaWRhdG9y UHJvcHMiKXx8dGhpcy5nZXRQcm9wZXJ0eSgiZGF0YS12YWxpZGF0b3ItcHJvcGVy dGllcyIpKSk7Cn1jYXRjaChjKXtyZXR1cm57fTt9fWVsc2V7dmFyIGI9dGhpcy5n ZXQoInZhbGlkYXRvcnMiKS5maWx0ZXIoZnVuY3Rpb24oZCl7cmV0dXJuIGQudGVz dCgiOiIpO30pO2lmKCFiLmxlbmd0aCl7dGhpcy5zdG9yZSgiJG1vbzp2YWxpZGF0 b3JQcm9wcyIse30pO31lbHNle2E9e307CmIuZWFjaChmdW5jdGlvbihkKXt2YXIg Zj1kLnNwbGl0KCI6Iik7aWYoZlsxXSl7dHJ5e2FbZlswXV09SlNPTi5kZWNvZGUo ZlsxXSk7fWNhdGNoKGcpe319fSk7dGhpcy5zdG9yZSgiJG1vbzp2YWxpZGF0b3JQ cm9wcyIsYSk7fX1yZXR1cm4gdGhpcy5yZXRyaWV2ZSgiJG1vbzp2YWxpZGF0b3JQ cm9wcyIpOwp9fTtGb3JtLlZhbGlkYXRvcj1uZXcgQ2xhc3Moe0ltcGxlbWVudHM6 W09wdGlvbnMsRXZlbnRzXSxCaW5kczpbIm9uU3VibWl0Il0sb3B0aW9uczp7Zmll bGRTZWxlY3RvcnM6ImlucHV0LCBzZWxlY3QsIHRleHRhcmVhIixpZ25vcmVIaWRk ZW46dHJ1ZSxpZ25vcmVEaXNhYmxlZDp0cnVlLHVzZVRpdGxlczpmYWxzZSxldmFs dWF0ZU9uU3VibWl0OnRydWUsZXZhbHVhdGVGaWVsZHNPbkJsdXI6dHJ1ZSxldmFs dWF0ZUZpZWxkc09uQ2hhbmdlOnRydWUsc2VyaWFsOnRydWUsc3RvcE9uRmFpbHVy ZTp0cnVlLHdhcm5pbmdQcmVmaXg6ZnVuY3Rpb24oKXtyZXR1cm4gRm9ybS5WYWxp ZGF0b3IuZ2V0TXNnKCJ3YXJuaW5nUHJlZml4Iil8fCJXYXJuaW5nOiAiOwp9LGVy cm9yUHJlZml4OmZ1bmN0aW9uKCl7cmV0dXJuIEZvcm0uVmFsaWRhdG9yLmdldE1z ZygiZXJyb3JQcmVmaXgiKXx8IkVycm9yOiAiO319LGluaXRpYWxpemU6ZnVuY3Rp b24oYixhKXt0aGlzLnNldE9wdGlvbnMoYSk7dGhpcy5lbGVtZW50PWRvY3VtZW50 LmlkKGIpOwp0aGlzLmVsZW1lbnQuc3RvcmUoInZhbGlkYXRvciIsdGhpcyk7dGhp cy53YXJuaW5nUHJlZml4PUZ1bmN0aW9uLmZyb20odGhpcy5vcHRpb25zLndhcm5p bmdQcmVmaXgpKCk7dGhpcy5lcnJvclByZWZpeD1GdW5jdGlvbi5mcm9tKHRoaXMu b3B0aW9ucy5lcnJvclByZWZpeCkoKTsKaWYodGhpcy5vcHRpb25zLmV2YWx1YXRl T25TdWJtaXQpe3RoaXMuZWxlbWVudC5hZGRFdmVudCgic3VibWl0Iix0aGlzLm9u U3VibWl0KTt9aWYodGhpcy5vcHRpb25zLmV2YWx1YXRlRmllbGRzT25CbHVyfHx0 aGlzLm9wdGlvbnMuZXZhbHVhdGVGaWVsZHNPbkNoYW5nZSl7dGhpcy53YXRjaEZp ZWxkcyh0aGlzLmdldEZpZWxkcygpKTsKfX0sdG9FbGVtZW50OmZ1bmN0aW9uKCl7 cmV0dXJuIHRoaXMuZWxlbWVudDt9LGdldEZpZWxkczpmdW5jdGlvbigpe3JldHVy bih0aGlzLmZpZWxkcz10aGlzLmVsZW1lbnQuZ2V0RWxlbWVudHModGhpcy5vcHRp b25zLmZpZWxkU2VsZWN0b3JzKSk7fSx3YXRjaEZpZWxkczpmdW5jdGlvbihhKXth LmVhY2goZnVuY3Rpb24oYil7aWYodGhpcy5vcHRpb25zLmV2YWx1YXRlRmllbGRz T25CbHVyKXtiLmFkZEV2ZW50KCJibHVyIix0aGlzLnZhbGlkYXRpb25Nb25pdG9y LnBhc3MoW2IsZmFsc2VdLHRoaXMpKTsKfWlmKHRoaXMub3B0aW9ucy5ldmFsdWF0 ZUZpZWxkc09uQ2hhbmdlKXtiLmFkZEV2ZW50KCJjaGFuZ2UiLHRoaXMudmFsaWRh dGlvbk1vbml0b3IucGFzcyhbYix0cnVlXSx0aGlzKSk7fX0sdGhpcyk7fSx2YWxp ZGF0aW9uTW9uaXRvcjpmdW5jdGlvbigpe2NsZWFyVGltZW91dCh0aGlzLnRpbWVy KTsKdGhpcy50aW1lcj10aGlzLnZhbGlkYXRlRmllbGQuZGVsYXkoNTAsdGhpcyxh cmd1bWVudHMpO30sb25TdWJtaXQ6ZnVuY3Rpb24oYSl7aWYodGhpcy52YWxpZGF0 ZShhKSl7dGhpcy5yZXNldCgpO319LHJlc2V0OmZ1bmN0aW9uKCl7dGhpcy5nZXRG aWVsZHMoKS5lYWNoKHRoaXMucmVzZXRGaWVsZCx0aGlzKTsKcmV0dXJuIHRoaXM7 fSx2YWxpZGF0ZTpmdW5jdGlvbihiKXt2YXIgYT10aGlzLmdldEZpZWxkcygpLm1h cChmdW5jdGlvbihjKXtyZXR1cm4gdGhpcy52YWxpZGF0ZUZpZWxkKGMsdHJ1ZSk7 fSx0aGlzKS5ldmVyeShmdW5jdGlvbihjKXtyZXR1cm4gYzt9KTt0aGlzLmZpcmVF dmVudCgiZm9ybVZhbGlkYXRlIixbYSx0aGlzLmVsZW1lbnQsYl0pOwppZih0aGlz Lm9wdGlvbnMuc3RvcE9uRmFpbHVyZSYmIWEmJmIpe2IucHJldmVudERlZmF1bHQo KTt9cmV0dXJuIGE7fSx2YWxpZGF0ZUZpZWxkOmZ1bmN0aW9uKGosYil7aWYodGhp cy5wYXVzZWQpe3JldHVybiB0cnVlO31qPWRvY3VtZW50LmlkKGopO3ZhciBmPSFq Lmhhc0NsYXNzKCJ2YWxpZGF0aW9uLWZhaWxlZCIpOwp2YXIgZyxpO2lmKHRoaXMu b3B0aW9ucy5zZXJpYWwmJiFiKXtnPXRoaXMuZWxlbWVudC5nZXRFbGVtZW50KCIu dmFsaWRhdGlvbi1mYWlsZWQiKTtpPXRoaXMuZWxlbWVudC5nZXRFbGVtZW50KCIu d2FybmluZyIpO31pZihqJiYoIWd8fGJ8fGouaGFzQ2xhc3MoInZhbGlkYXRpb24t ZmFpbGVkIil8fChnJiYhdGhpcy5vcHRpb25zLnNlcmlhbCkpKXt2YXIgYT1qLmdl dCgidmFsaWRhdG9ycyIpOwp2YXIgZD1hLnNvbWUoZnVuY3Rpb24oayl7cmV0dXJu IHRoaXMuZ2V0VmFsaWRhdG9yKGspO30sdGhpcyk7dmFyIGg9W107YS5lYWNoKGZ1 bmN0aW9uKGspe2lmKGsmJiF0aGlzLnRlc3QoayxqKSl7aC5pbmNsdWRlKGspO319 LHRoaXMpO2Y9aC5sZW5ndGg9PT0wO2lmKGQmJiF0aGlzLmhhc1ZhbGlkYXRvcihq LCJ3YXJuT25seSIpKXtpZihmKXtqLmFkZENsYXNzKCJ2YWxpZGF0aW9uLXBhc3Nl ZCIpLnJlbW92ZUNsYXNzKCJ2YWxpZGF0aW9uLWZhaWxlZCIpOwp0aGlzLmZpcmVF dmVudCgiZWxlbWVudFBhc3MiLFtqXSk7fWVsc2V7ai5hZGRDbGFzcygidmFsaWRh dGlvbi1mYWlsZWQiKS5yZW1vdmVDbGFzcygidmFsaWRhdGlvbi1wYXNzZWQiKTt0 aGlzLmZpcmVFdmVudCgiZWxlbWVudEZhaWwiLFtqLGhdKTt9fWlmKCFpKXt2YXIg ZT1hLnNvbWUoZnVuY3Rpb24oayl7aWYoay50ZXN0KCJed2FybiIpKXtyZXR1cm4g dGhpcy5nZXRWYWxpZGF0b3Ioay5yZXBsYWNlKC9ed2Fybi0vLCIiKSk7Cn1lbHNl e3JldHVybiBudWxsO319LHRoaXMpO2oucmVtb3ZlQ2xhc3MoIndhcm5pbmciKTt2 YXIgYz1hLm1hcChmdW5jdGlvbihrKXtpZihrLnRlc3QoIl53YXJuIikpe3JldHVy biB0aGlzLnRlc3Qoay5yZXBsYWNlKC9ed2Fybi0vLCIiKSxqLHRydWUpO31lbHNl e3JldHVybiBudWxsOwp9fSx0aGlzKTt9fXJldHVybiBmO30sdGVzdDpmdW5jdGlv bihiLGQsZSl7ZD1kb2N1bWVudC5pZChkKTtpZigodGhpcy5vcHRpb25zLmlnbm9y ZUhpZGRlbiYmIWQuaXNWaXNpYmxlKCkpfHwodGhpcy5vcHRpb25zLmlnbm9yZURp c2FibGVkJiZkLmdldCgiZGlzYWJsZWQiKSkpe3JldHVybiB0cnVlOwp9dmFyIGE9 dGhpcy5nZXRWYWxpZGF0b3IoYik7aWYoZSE9bnVsbCl7ZT1mYWxzZTt9aWYodGhp cy5oYXNWYWxpZGF0b3IoZCwid2Fybk9ubHkiKSl7ZT10cnVlO312YXIgYz10aGlz Lmhhc1ZhbGlkYXRvcihkLCJpZ25vcmVWYWxpZGF0aW9uIil8fChhP2EudGVzdChk KTp0cnVlKTsKaWYoYSYmZC5pc1Zpc2libGUoKSl7dGhpcy5maXJlRXZlbnQoImVs ZW1lbnRWYWxpZGF0ZSIsW2MsZCxiLGVdKTt9aWYoZSl7cmV0dXJuIHRydWU7fXJl dHVybiBjO30saGFzVmFsaWRhdG9yOmZ1bmN0aW9uKGIsYSl7cmV0dXJuIGIuZ2V0 KCJ2YWxpZGF0b3JzIikuY29udGFpbnMoYSk7Cn0scmVzZXRGaWVsZDpmdW5jdGlv bihhKXthPWRvY3VtZW50LmlkKGEpO2lmKGEpe2EuZ2V0KCJ2YWxpZGF0b3JzIiku ZWFjaChmdW5jdGlvbihiKXtpZihiLnRlc3QoIl53YXJuLSIpKXtiPWIucmVwbGFj ZSgvXndhcm4tLywiIik7fWEucmVtb3ZlQ2xhc3MoInZhbGlkYXRpb24tZmFpbGVk Iik7CmEucmVtb3ZlQ2xhc3MoIndhcm5pbmciKTthLnJlbW92ZUNsYXNzKCJ2YWxp ZGF0aW9uLXBhc3NlZCIpO30sdGhpcyk7fXJldHVybiB0aGlzO30sc3RvcDpmdW5j dGlvbigpe3RoaXMucGF1c2VkPXRydWU7cmV0dXJuIHRoaXM7fSxzdGFydDpmdW5j dGlvbigpe3RoaXMucGF1c2VkPWZhbHNlOwpyZXR1cm4gdGhpczt9LGlnbm9yZUZp ZWxkOmZ1bmN0aW9uKGEsYil7YT1kb2N1bWVudC5pZChhKTtpZihhKXt0aGlzLmVu Zm9yY2VGaWVsZChhKTtpZihiKXthLmFkZENsYXNzKCJ3YXJuT25seSIpO31lbHNl e2EuYWRkQ2xhc3MoImlnbm9yZVZhbGlkYXRpb24iKTt9fXJldHVybiB0aGlzOwp9 LGVuZm9yY2VGaWVsZDpmdW5jdGlvbihhKXthPWRvY3VtZW50LmlkKGEpO2lmKGEp e2EucmVtb3ZlQ2xhc3MoIndhcm5Pbmx5IikucmVtb3ZlQ2xhc3MoImlnbm9yZVZh bGlkYXRpb24iKTt9cmV0dXJuIHRoaXM7fX0pO0Zvcm0uVmFsaWRhdG9yLmdldE1z Zz1mdW5jdGlvbihhKXtyZXR1cm4gTG9jYWxlLmdldCgiRm9ybVZhbGlkYXRvci4i K2EpOwp9O0Zvcm0uVmFsaWRhdG9yLmFkZGVycz17dmFsaWRhdG9yczp7fSxhZGQ6 ZnVuY3Rpb24oYixhKXt0aGlzLnZhbGlkYXRvcnNbYl09bmV3IElucHV0VmFsaWRh dG9yKGIsYSk7aWYoIXRoaXMuaW5pdGlhbGl6ZSl7dGhpcy5pbXBsZW1lbnQoe3Zh bGlkYXRvcnM6dGhpcy52YWxpZGF0b3JzfSk7Cn19LGFkZEFsbFRoZXNlOmZ1bmN0 aW9uKGEpe0FycmF5LmZyb20oYSkuZWFjaChmdW5jdGlvbihiKXt0aGlzLmFkZChi WzBdLGJbMV0pO30sdGhpcyk7fSxnZXRWYWxpZGF0b3I6ZnVuY3Rpb24oYSl7cmV0 dXJuIHRoaXMudmFsaWRhdG9yc1thLnNwbGl0KCI6IilbMF1dOwp9fTtPYmplY3Qu YXBwZW5kKEZvcm0uVmFsaWRhdG9yLEZvcm0uVmFsaWRhdG9yLmFkZGVycyk7Rm9y bS5WYWxpZGF0b3IuaW1wbGVtZW50KEZvcm0uVmFsaWRhdG9yLmFkZGVycyk7Rm9y bS5WYWxpZGF0b3IuYWRkKCJJc0VtcHR5Iix7ZXJyb3JNc2c6ZmFsc2UsdGVzdDpm dW5jdGlvbihhKXtpZihhLnR5cGU9PSJzZWxlY3Qtb25lInx8YS50eXBlPT0ic2Vs ZWN0Iil7cmV0dXJuICEoYS5zZWxlY3RlZEluZGV4Pj0wJiZhLm9wdGlvbnNbYS5z ZWxlY3RlZEluZGV4XS52YWx1ZSE9IiIpOwp9ZWxzZXtyZXR1cm4oKGEuZ2V0KCJ2 YWx1ZSIpPT1udWxsKXx8KGEuZ2V0KCJ2YWx1ZSIpLmxlbmd0aD09MCkpO319fSk7 Rm9ybS5WYWxpZGF0b3IuYWRkQWxsVGhlc2UoW1sicmVxdWlyZWQiLHtlcnJvck1z ZzpmdW5jdGlvbigpe3JldHVybiBGb3JtLlZhbGlkYXRvci5nZXRNc2coInJlcXVp cmVkIik7Cn0sdGVzdDpmdW5jdGlvbihhKXtyZXR1cm4gIUZvcm0uVmFsaWRhdG9y LmdldFZhbGlkYXRvcigiSXNFbXB0eSIpLnRlc3QoYSk7fX1dLFsibGVuZ3RoIix7 ZXJyb3JNc2c6ZnVuY3Rpb24oYSxiKXtpZih0eXBlT2YoYi5sZW5ndGgpIT0ibnVs bCIpe3JldHVybiBGb3JtLlZhbGlkYXRvci5nZXRNc2coImxlbmd0aCIpLnN1YnN0 aXR1dGUoe2xlbmd0aDpiLmxlbmd0aCxlbExlbmd0aDphLmdldCgidmFsdWUiKS5s ZW5ndGh9KTsKfWVsc2V7cmV0dXJuIiI7fX0sdGVzdDpmdW5jdGlvbihhLGIpe2lm KHR5cGVPZihiLmxlbmd0aCkhPSJudWxsIil7cmV0dXJuKGEuZ2V0KCJ2YWx1ZSIp Lmxlbmd0aD09Yi5sZW5ndGh8fGEuZ2V0KCJ2YWx1ZSIpLmxlbmd0aD09MCk7fWVs c2V7cmV0dXJuIHRydWU7fX19XSxbIm1pbkxlbmd0aCIse2Vycm9yTXNnOmZ1bmN0 aW9uKGEsYil7aWYodHlwZU9mKGIubWluTGVuZ3RoKSE9Im51bGwiKXtyZXR1cm4g Rm9ybS5WYWxpZGF0b3IuZ2V0TXNnKCJtaW5MZW5ndGgiKS5zdWJzdGl0dXRlKHtt aW5MZW5ndGg6Yi5taW5MZW5ndGgsbGVuZ3RoOmEuZ2V0KCJ2YWx1ZSIpLmxlbmd0 aH0pOwp9ZWxzZXtyZXR1cm4iIjt9fSx0ZXN0OmZ1bmN0aW9uKGEsYil7aWYodHlw ZU9mKGIubWluTGVuZ3RoKSE9Im51bGwiKXtyZXR1cm4oYS5nZXQoInZhbHVlIiku bGVuZ3RoPj0oYi5taW5MZW5ndGh8fDApKTt9ZWxzZXtyZXR1cm4gdHJ1ZTt9fX1d LFsibWF4TGVuZ3RoIix7ZXJyb3JNc2c6ZnVuY3Rpb24oYSxiKXtpZih0eXBlT2Yo Yi5tYXhMZW5ndGgpIT0ibnVsbCIpe3JldHVybiBGb3JtLlZhbGlkYXRvci5nZXRN c2coIm1heExlbmd0aCIpLnN1YnN0aXR1dGUoe21heExlbmd0aDpiLm1heExlbmd0 aCxsZW5ndGg6YS5nZXQoInZhbHVlIikubGVuZ3RofSk7Cn1lbHNle3JldHVybiIi O319LHRlc3Q6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5nZXQoInZhbHVlIikubGVu Z3RoPD0oYi5tYXhMZW5ndGh8fDEwMDAwKTt9fV0sWyJ2YWxpZGF0ZS1pbnRlZ2Vy Iix7ZXJyb3JNc2c6Rm9ybS5WYWxpZGF0b3IuZ2V0TXNnLnBhc3MoImludGVnZXIi KSx0ZXN0OmZ1bmN0aW9uKGEpe3JldHVybiBGb3JtLlZhbGlkYXRvci5nZXRWYWxp ZGF0b3IoIklzRW1wdHkiKS50ZXN0KGEpfHwoL14oLT9bMS05XVxkKnwwKSQvKS50 ZXN0KGEuZ2V0KCJ2YWx1ZSIpKTsKfX1dLFsidmFsaWRhdGUtbnVtZXJpYyIse2Vy cm9yTXNnOkZvcm0uVmFsaWRhdG9yLmdldE1zZy5wYXNzKCJudW1lcmljIiksdGVz dDpmdW5jdGlvbihhKXtyZXR1cm4gRm9ybS5WYWxpZGF0b3IuZ2V0VmFsaWRhdG9y KCJJc0VtcHR5IikudGVzdChhKXx8KC9eLT8oPzowJDAoPz1cZCpcLil8WzEtOV18 MClcZCooXC5cZCspPyQvKS50ZXN0KGEuZ2V0KCJ2YWx1ZSIpKTsKfX1dLFsidmFs aWRhdGUtZGlnaXRzIix7ZXJyb3JNc2c6Rm9ybS5WYWxpZGF0b3IuZ2V0TXNnLnBh c3MoImRpZ2l0cyIpLHRlc3Q6ZnVuY3Rpb24oYSl7cmV0dXJuIEZvcm0uVmFsaWRh dG9yLmdldFZhbGlkYXRvcigiSXNFbXB0eSIpLnRlc3QoYSl8fCgvXltcZCgpIC46 XC1cKyNdKyQvLnRlc3QoYS5nZXQoInZhbHVlIikpKTsKfX1dLFsidmFsaWRhdGUt YWxwaGEiLHtlcnJvck1zZzpGb3JtLlZhbGlkYXRvci5nZXRNc2cucGFzcygiYWxw aGEiKSx0ZXN0OmZ1bmN0aW9uKGEpe3JldHVybiBGb3JtLlZhbGlkYXRvci5nZXRW YWxpZGF0b3IoIklzRW1wdHkiKS50ZXN0KGEpfHwoL15bYS16QS1aXSskLykudGVz dChhLmdldCgidmFsdWUiKSk7Cn19XSxbInZhbGlkYXRlLWFscGhhbnVtIix7ZXJy b3JNc2c6Rm9ybS5WYWxpZGF0b3IuZ2V0TXNnLnBhc3MoImFscGhhbnVtIiksdGVz dDpmdW5jdGlvbihhKXtyZXR1cm4gRm9ybS5WYWxpZGF0b3IuZ2V0VmFsaWRhdG9y KCJJc0VtcHR5IikudGVzdChhKXx8ISgvXFcvKS50ZXN0KGEuZ2V0KCJ2YWx1ZSIp KTsKfX1dLFsidmFsaWRhdGUtZGF0ZSIse2Vycm9yTXNnOmZ1bmN0aW9uKGEsYil7 aWYoRGF0ZS5wYXJzZSl7dmFyIGM9Yi5kYXRlRm9ybWF0fHwiJXgiO3JldHVybiBG b3JtLlZhbGlkYXRvci5nZXRNc2coImRhdGVTdWNoQXMiKS5zdWJzdGl0dXRlKHtk YXRlOm5ldyBEYXRlKCkuZm9ybWF0KGMpfSk7Cn1lbHNle3JldHVybiBGb3JtLlZh bGlkYXRvci5nZXRNc2coImRhdGVJbkZvcm1hdE1EWSIpO319LHRlc3Q6ZnVuY3Rp b24oZSxnKXtpZihGb3JtLlZhbGlkYXRvci5nZXRWYWxpZGF0b3IoIklzRW1wdHki KS50ZXN0KGUpKXtyZXR1cm4gdHJ1ZTt9dmFyIGE9TG9jYWxlLmdldEN1cnJlbnQo KS5zZXRzLkRhdGUsYj1uZXcgUmVnRXhwKFthLmRheXMsYS5kYXlzX2FiYnIsYS5t b250aHMsYS5tb250aHNfYWJicl0uZmxhdHRlbigpLmpvaW4oInwiKSwiaSIpLGk9 ZS5nZXQoInZhbHVlIiksZj1pLm1hdGNoKC9bYS16XSsvZ2kpOwppZihmJiYhZi5l dmVyeShiLmV4ZWMsYikpe3JldHVybiBmYWxzZTt9dmFyIGM9RGF0ZS5wYXJzZShp KSxoPWcuZGF0ZUZvcm1hdHx8IiV4IixkPWMuZm9ybWF0KGgpO2lmKGQhPSJpbnZh bGlkIGRhdGUiKXtlLnNldCgidmFsdWUiLGQpO31yZXR1cm4gYy5pc1ZhbGlkKCk7 Cn19XSxbInZhbGlkYXRlLWVtYWlsIix7ZXJyb3JNc2c6Rm9ybS5WYWxpZGF0b3Iu Z2V0TXNnLnBhc3MoImVtYWlsIiksdGVzdDpmdW5jdGlvbihhKXtyZXR1cm4gRm9y bS5WYWxpZGF0b3IuZ2V0VmFsaWRhdG9yKCJJc0VtcHR5IikudGVzdChhKXx8KC9e KD86W2EtejAtOSEjJCUmJyorXC89P15fYHt8fX4tXVwuPyl7MCw2M31bYS16MC05 ISMkJSYnKitcLz0/Xl9ge3x9fi1dQCg/Oig/OlthLXowLTldKD86W2EtejAtOS1d ezAsNjF9W2EtejAtOV0pP1wuKSpbYS16MC05XSg/OlthLXowLTktXXswLDYxfVth LXowLTldKT98XFsoPzooPzoyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1b MC05XT8pXC4pezN9KD86MjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAt OV0/KVxdKSQvaSkudGVzdChhLmdldCgidmFsdWUiKSk7Cn19XSxbInZhbGlkYXRl LXVybCIse2Vycm9yTXNnOkZvcm0uVmFsaWRhdG9yLmdldE1zZy5wYXNzKCJ1cmwi KSx0ZXN0OmZ1bmN0aW9uKGEpe3JldHVybiBGb3JtLlZhbGlkYXRvci5nZXRWYWxp ZGF0b3IoIklzRW1wdHkiKS50ZXN0KGEpfHwoL14oaHR0cHM/fGZ0cHxybXRwfG1t cyk6XC9cLygoW0EtWjAtOV1bQS1aMC05Xy1dKikoXC5bQS1aMC05XVtBLVowLTlf LV0qKSspKDooXGQrKSk/XC8/L2kpLnRlc3QoYS5nZXQoInZhbHVlIikpOwp9fV0s WyJ2YWxpZGF0ZS1jdXJyZW5jeS1kb2xsYXIiLHtlcnJvck1zZzpGb3JtLlZhbGlk YXRvci5nZXRNc2cucGFzcygiY3VycmVuY3lEb2xsYXIiKSx0ZXN0OmZ1bmN0aW9u KGEpe3JldHVybiBGb3JtLlZhbGlkYXRvci5nZXRWYWxpZGF0b3IoIklzRW1wdHki KS50ZXN0KGEpfHwoL15cJD9cLT8oWzEtOV17MX1bMC05XXswLDJ9KFwsWzAtOV17 M30pKihcLlswLTldezAsMn0pP3xbMS05XXsxfVxkKihcLlswLTldezAsMn0pP3ww KFwuWzAtOV17MCwyfSk/fChcLlswLTldezEsMn0pPykkLykudGVzdChhLmdldCgi dmFsdWUiKSk7Cn19XSxbInZhbGlkYXRlLW9uZS1yZXF1aXJlZCIse2Vycm9yTXNn OkZvcm0uVmFsaWRhdG9yLmdldE1zZy5wYXNzKCJvbmVSZXF1aXJlZCIpLHRlc3Q6 ZnVuY3Rpb24oYSxiKXt2YXIgYz1kb2N1bWVudC5pZChiWyJ2YWxpZGF0ZS1vbmUt cmVxdWlyZWQiXSl8fGEuZ2V0UGFyZW50KGJbInZhbGlkYXRlLW9uZS1yZXF1aXJl ZCJdKTsKcmV0dXJuIGMuZ2V0RWxlbWVudHMoImlucHV0Iikuc29tZShmdW5jdGlv bihkKXtpZihbImNoZWNrYm94IiwicmFkaW8iXS5jb250YWlucyhkLmdldCgidHlw ZSIpKSl7cmV0dXJuIGQuZ2V0KCJjaGVja2VkIik7fXJldHVybiBkLmdldCgidmFs dWUiKTt9KTt9fV1dKTsKRWxlbWVudC5Qcm9wZXJ0aWVzLnZhbGlkYXRvcj17c2V0 OmZ1bmN0aW9uKGEpe3RoaXMuZ2V0KCJ2YWxpZGF0b3IiKS5zZXRPcHRpb25zKGEp O30sZ2V0OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5yZXRyaWV2ZSgidmFsaWRhdG9y Iik7aWYoIWEpe2E9bmV3IEZvcm0uVmFsaWRhdG9yKHRoaXMpOwp0aGlzLnN0b3Jl KCJ2YWxpZGF0b3IiLGEpO31yZXR1cm4gYTt9fTtFbGVtZW50LmltcGxlbWVudCh7 dmFsaWRhdGU6ZnVuY3Rpb24oYSl7aWYoYSl7dGhpcy5zZXQoInZhbGlkYXRvciIs YSk7fXJldHVybiB0aGlzLmdldCgidmFsaWRhdG9yIikudmFsaWRhdGUoKTt9fSk7 CkZvcm0uVmFsaWRhdG9yLklubGluZT1uZXcgQ2xhc3Moe0V4dGVuZHM6Rm9ybS5W YWxpZGF0b3Isb3B0aW9uczp7c2hvd0Vycm9yOmZ1bmN0aW9uKGEpe2lmKGEucmV2 ZWFsKXthLnJldmVhbCgpO31lbHNle2Euc2V0U3R5bGUoImRpc3BsYXkiLCJibG9j ayIpO319LGhpZGVFcnJvcjpmdW5jdGlvbihhKXtpZihhLmRpc3NvbHZlKXthLmRp c3NvbHZlKCk7Cn1lbHNle2Euc2V0U3R5bGUoImRpc3BsYXkiLCJub25lIik7fX0s c2Nyb2xsVG9FcnJvcnNPblN1Ym1pdDp0cnVlLHNjcm9sbFRvRXJyb3JzT25CbHVy OmZhbHNlLHNjcm9sbFRvRXJyb3JzT25DaGFuZ2U6ZmFsc2Usc2Nyb2xsRnhPcHRp b25zOnt0cmFuc2l0aW9uOiJxdWFkOm91dCIsb2Zmc2V0Ont5Oi0yMH19fSxpbml0 aWFsaXplOmZ1bmN0aW9uKGIsYSl7dGhpcy5wYXJlbnQoYixhKTsKdGhpcy5hZGRF dmVudCgib25FbGVtZW50VmFsaWRhdGUiLGZ1bmN0aW9uKGcsZixlLGgpe3ZhciBk PXRoaXMuZ2V0VmFsaWRhdG9yKGUpO2lmKCFnJiZkLmdldEVycm9yKGYpKXtpZiho KXtmLmFkZENsYXNzKCJ3YXJuaW5nIik7fXZhciBjPXRoaXMubWFrZUFkdmljZShl LGYsZC5nZXRFcnJvcihmKSxoKTsKdGhpcy5pbnNlcnRBZHZpY2UoYyxmKTt0aGlz LnNob3dBZHZpY2UoZSxmKTt9ZWxzZXt0aGlzLmhpZGVBZHZpY2UoZSxmKTt9fSk7 fSxtYWtlQWR2aWNlOmZ1bmN0aW9uKGQsZixjLGcpe3ZhciBlPShnKT90aGlzLndh cm5pbmdQcmVmaXg6dGhpcy5lcnJvclByZWZpeDsKZSs9KHRoaXMub3B0aW9ucy51 c2VUaXRsZXMpP2YudGl0bGV8fGM6Yzt2YXIgYT0oZyk/Indhcm5pbmctYWR2aWNl IjoidmFsaWRhdGlvbi1hZHZpY2UiO3ZhciBiPXRoaXMuZ2V0QWR2aWNlKGQsZik7 aWYoYil7Yj1iLnNldCgiaHRtbCIsZSk7fWVsc2V7Yj1uZXcgRWxlbWVudCgiZGl2 Iix7aHRtbDplLHN0eWxlczp7ZGlzcGxheToibm9uZSJ9LGlkOiJhZHZpY2UtIitk LnNwbGl0KCI6IilbMF0rIi0iK3RoaXMuZ2V0RmllbGRJZChmKX0pLmFkZENsYXNz KGEpOwp9Zi5zdG9yZSgiJG1vbzphZHZpY2UtIitkLGIpO3JldHVybiBiO30sZ2V0 RmllbGRJZDpmdW5jdGlvbihhKXtyZXR1cm4gYS5pZD9hLmlkOmEuaWQ9ImlucHV0 XyIrYS5uYW1lO30sc2hvd0FkdmljZTpmdW5jdGlvbihiLGMpe3ZhciBhPXRoaXMu Z2V0QWR2aWNlKGIsYyk7CmlmKGEmJiFjLnJldHJpZXZlKCIkbW9vOiIrdGhpcy5n ZXRQcm9wTmFtZShiKSkmJihhLmdldFN0eWxlKCJkaXNwbGF5Iik9PSJub25lInx8 YS5nZXRTdHlsZSgidmlzaWJsaXR5Iik9PSJoaWRkZW4ifHxhLmdldFN0eWxlKCJv cGFjaXR5Iik9PTApKXtjLnN0b3JlKCIkbW9vOiIrdGhpcy5nZXRQcm9wTmFtZShi KSx0cnVlKTsKdGhpcy5vcHRpb25zLnNob3dFcnJvcihhKTt0aGlzLmZpcmVFdmVu dCgic2hvd0FkdmljZSIsW2MsYSxiXSk7fX0saGlkZUFkdmljZTpmdW5jdGlvbihi LGMpe3ZhciBhPXRoaXMuZ2V0QWR2aWNlKGIsYyk7aWYoYSYmYy5yZXRyaWV2ZSgi JG1vbzoiK3RoaXMuZ2V0UHJvcE5hbWUoYikpKXtjLnN0b3JlKCIkbW9vOiIrdGhp cy5nZXRQcm9wTmFtZShiKSxmYWxzZSk7CnRoaXMub3B0aW9ucy5oaWRlRXJyb3Io YSk7dGhpcy5maXJlRXZlbnQoImhpZGVBZHZpY2UiLFtjLGEsYl0pO319LGdldFBy b3BOYW1lOmZ1bmN0aW9uKGEpe3JldHVybiJhZHZpY2UiK2E7fSxyZXNldEZpZWxk OmZ1bmN0aW9uKGEpe2E9ZG9jdW1lbnQuaWQoYSk7aWYoIWEpe3JldHVybiB0aGlz Owp9dGhpcy5wYXJlbnQoYSk7YS5nZXQoInZhbGlkYXRvcnMiKS5lYWNoKGZ1bmN0 aW9uKGIpe3RoaXMuaGlkZUFkdmljZShiLGEpO30sdGhpcyk7cmV0dXJuIHRoaXM7 fSxnZXRBbGxBZHZpY2VNZXNzYWdlczpmdW5jdGlvbihkLGMpe3ZhciBiPVtdO2lm KGQuaGFzQ2xhc3MoImlnbm9yZVZhbGlkYXRpb24iKSYmIWMpe3JldHVybiBiOwp9 dmFyIGE9ZC5nZXQoInZhbGlkYXRvcnMiKS5zb21lKGZ1bmN0aW9uKGcpe3ZhciBl PWcudGVzdCgiXndhcm4tIil8fGQuaGFzQ2xhc3MoIndhcm5Pbmx5Iik7aWYoZSl7 Zz1nLnJlcGxhY2UoL153YXJuLS8sIiIpO312YXIgZj10aGlzLmdldFZhbGlkYXRv cihnKTtpZighZil7cmV0dXJuOwp9Yi5wdXNoKHttZXNzYWdlOmYuZ2V0RXJyb3Io ZCksd2Fybk9ubHk6ZSxwYXNzZWQ6Zi50ZXN0KCksdmFsaWRhdG9yOmZ9KTt9LHRo aXMpO3JldHVybiBiO30sZ2V0QWR2aWNlOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGIu cmV0cmlldmUoIiRtb286YWR2aWNlLSIrYSk7Cn0saW5zZXJ0QWR2aWNlOmZ1bmN0 aW9uKGEsYyl7dmFyIGI9Yy5nZXQoInZhbGlkYXRvclByb3BzIik7aWYoIWIubXNn UG9zfHwhZG9jdW1lbnQuaWQoYi5tc2dQb3MpKXtpZihjLnR5cGUmJmMudHlwZS50 b0xvd2VyQ2FzZSgpPT0icmFkaW8iKXtjLmdldFBhcmVudCgpLmFkb3B0KGEpOwp9 ZWxzZXthLmluamVjdChkb2N1bWVudC5pZChjKSwiYWZ0ZXIiKTt9fWVsc2V7ZG9j dW1lbnQuaWQoYi5tc2dQb3MpLmdyYWIoYSk7fX0sdmFsaWRhdGVGaWVsZDpmdW5j dGlvbihnLGYsYil7dmFyIGE9dGhpcy5wYXJlbnQoZyxmKTtpZigoKHRoaXMub3B0 aW9ucy5zY3JvbGxUb0Vycm9yc09uU3VibWl0JiZiPT1udWxsKXx8YikmJiFhKXt2 YXIgYz1kb2N1bWVudC5pZCh0aGlzKS5nZXRFbGVtZW50KCIudmFsaWRhdGlvbi1m YWlsZWQiKTsKdmFyIGQ9ZG9jdW1lbnQuaWQodGhpcykuZ2V0UGFyZW50KCk7d2hp bGUoZCE9ZG9jdW1lbnQuYm9keSYmZC5nZXRTY3JvbGxTaXplKCkueT09ZC5nZXRT aXplKCkueSl7ZD1kLmdldFBhcmVudCgpO312YXIgZT1kLnJldHJpZXZlKCIkbW9v OmZ2U2Nyb2xsZXIiKTtpZighZSYmd2luZG93LkZ4JiZGeC5TY3JvbGwpe2U9bmV3 IEZ4LlNjcm9sbChkLHRoaXMub3B0aW9ucy5zY3JvbGxGeE9wdGlvbnMpOwpkLnN0 b3JlKCIkbW9vOmZ2U2Nyb2xsZXIiLGUpO31pZihjKXtpZihlKXtlLnRvRWxlbWVu dChjKTt9ZWxzZXtkLnNjcm9sbFRvKGQuZ2V0U2Nyb2xsKCkueCxjLmdldFBvc2l0 aW9uKGQpLnktMjApO319fXJldHVybiBhO30sd2F0Y2hGaWVsZHM6ZnVuY3Rpb24o YSl7YS5lYWNoKGZ1bmN0aW9uKGIpe2lmKHRoaXMub3B0aW9ucy5ldmFsdWF0ZUZp ZWxkc09uQmx1cil7Yi5hZGRFdmVudCgiYmx1ciIsdGhpcy52YWxpZGF0aW9uTW9u aXRvci5wYXNzKFtiLGZhbHNlLHRoaXMub3B0aW9ucy5zY3JvbGxUb0Vycm9yc09u Qmx1cl0sdGhpcykpOwp9aWYodGhpcy5vcHRpb25zLmV2YWx1YXRlRmllbGRzT25D aGFuZ2Upe2IuYWRkRXZlbnQoImNoYW5nZSIsdGhpcy52YWxpZGF0aW9uTW9uaXRv ci5wYXNzKFtiLHRydWUsdGhpcy5vcHRpb25zLnNjcm9sbFRvRXJyb3JzT25DaGFu Z2VdLHRoaXMpKTt9fSx0aGlzKTt9fSk7CkZvcm0uVmFsaWRhdG9yLmFkZEFsbFRo ZXNlKFtbInZhbGlkYXRlLWVuZm9yY2Utb25jaGVjayIse3Rlc3Q6ZnVuY3Rpb24o YSxiKXt2YXIgYz1hLmdldFBhcmVudCgiZm9ybSIpLnJldHJpZXZlKCJ2YWxpZGF0 b3IiKTtpZighYyl7cmV0dXJuIHRydWU7fShiLnRvRW5mb3JjZXx8ZG9jdW1lbnQu aWQoYi5lbmZvcmNlQ2hpbGRyZW5PZikuZ2V0RWxlbWVudHMoImlucHV0LCBzZWxl Y3QsIHRleHRhcmVhIikpLm1hcChmdW5jdGlvbihkKXtpZihhLmNoZWNrZWQpe2Mu ZW5mb3JjZUZpZWxkKGQpOwp9ZWxzZXtjLmlnbm9yZUZpZWxkKGQpO2MucmVzZXRG aWVsZChkKTt9fSk7cmV0dXJuIHRydWU7fX1dLFsidmFsaWRhdGUtaWdub3JlLW9u Y2hlY2siLHt0ZXN0OmZ1bmN0aW9uKGEsYil7dmFyIGM9YS5nZXRQYXJlbnQoImZv cm0iKS5yZXRyaWV2ZSgidmFsaWRhdG9yIik7CmlmKCFjKXtyZXR1cm4gdHJ1ZTt9 KGIudG9JZ25vcmV8fGRvY3VtZW50LmlkKGIuaWdub3JlQ2hpbGRyZW5PZikuZ2V0 RWxlbWVudHMoImlucHV0LCBzZWxlY3QsIHRleHRhcmVhIikpLmVhY2goZnVuY3Rp b24oZCl7aWYoYS5jaGVja2VkKXtjLmlnbm9yZUZpZWxkKGQpOwpjLnJlc2V0Rmll bGQoZCk7fWVsc2V7Yy5lbmZvcmNlRmllbGQoZCk7fX0pO3JldHVybiB0cnVlO319 XSxbInZhbGlkYXRlLW5vc3BhY2UiLHtlcnJvck1zZzpmdW5jdGlvbigpe3JldHVy biBGb3JtLlZhbGlkYXRvci5nZXRNc2coIm5vU3BhY2UiKTt9LHRlc3Q6ZnVuY3Rp b24oYSxiKXtyZXR1cm4gIWEuZ2V0KCJ2YWx1ZSIpLnRlc3QoL1xzLyk7Cn19XSxb InZhbGlkYXRlLXRvZ2dsZS1vbmNoZWNrIix7dGVzdDpmdW5jdGlvbihiLGMpe3Zh ciBkPWIuZ2V0UGFyZW50KCJmb3JtIikucmV0cmlldmUoInZhbGlkYXRvciIpO2lm KCFkKXtyZXR1cm4gdHJ1ZTt9dmFyIGE9Yy50b1RvZ2dsZXx8ZG9jdW1lbnQuaWQo Yy50b1RvZ2dsZUNoaWxkcmVuT2YpLmdldEVsZW1lbnRzKCJpbnB1dCwgc2VsZWN0 LCB0ZXh0YXJlYSIpOwppZighYi5jaGVja2VkKXthLmVhY2goZnVuY3Rpb24oZSl7 ZC5pZ25vcmVGaWVsZChlKTtkLnJlc2V0RmllbGQoZSk7fSk7fWVsc2V7YS5lYWNo KGZ1bmN0aW9uKGUpe2QuZW5mb3JjZUZpZWxkKGUpO30pO31yZXR1cm4gdHJ1ZTt9 fV0sWyJ2YWxpZGF0ZS1yZXFjaGstYnlub2RlIix7ZXJyb3JNc2c6ZnVuY3Rpb24o KXtyZXR1cm4gRm9ybS5WYWxpZGF0b3IuZ2V0TXNnKCJyZXFDaGtCeU5vZGUiKTsK fSx0ZXN0OmZ1bmN0aW9uKGEsYil7cmV0dXJuKGRvY3VtZW50LmlkKGIubm9kZUlk KS5nZXRFbGVtZW50cyhiLnNlbGVjdG9yfHwiaW5wdXRbdHlwZT1jaGVja2JveF0s IGlucHV0W3R5cGU9cmFkaW9dIikpLnNvbWUoZnVuY3Rpb24oYyl7cmV0dXJuIGMu Y2hlY2tlZDsKfSk7fX1dLFsidmFsaWRhdGUtcmVxdWlyZWQtY2hlY2siLHtlcnJv ck1zZzpmdW5jdGlvbihhLGIpe3JldHVybiBiLnVzZVRpdGxlP2EuZ2V0KCJ0aXRs ZSIpOkZvcm0uVmFsaWRhdG9yLmdldE1zZygicmVxdWlyZWRDaGsiKTt9LHRlc3Q6 ZnVuY3Rpb24oYSxiKXtyZXR1cm4gISFhLmNoZWNrZWQ7Cn19XSxbInZhbGlkYXRl LXJlcWNoay1ieW5hbWUiLHtlcnJvck1zZzpmdW5jdGlvbihhLGIpe3JldHVybiBG b3JtLlZhbGlkYXRvci5nZXRNc2coInJlcUNoa0J5TmFtZSIpLnN1YnN0aXR1dGUo e2xhYmVsOmIubGFiZWx8fGEuZ2V0KCJ0eXBlIil9KTt9LHRlc3Q6ZnVuY3Rpb24o YixkKXt2YXIgYz1kLmdyb3VwTmFtZXx8Yi5nZXQoIm5hbWUiKTsKdmFyIGE9JCQo ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoYykpLnNvbWUoZnVuY3Rpb24oZyxm KXtyZXR1cm4gZy5jaGVja2VkO30pO3ZhciBlPWIuZ2V0UGFyZW50KCJmb3JtIiku cmV0cmlldmUoInZhbGlkYXRvciIpO2lmKGEmJmUpe2UucmVzZXRGaWVsZChiKTsK fXJldHVybiBhO319XSxbInZhbGlkYXRlLW1hdGNoIix7ZXJyb3JNc2c6ZnVuY3Rp b24oYSxiKXtyZXR1cm4gRm9ybS5WYWxpZGF0b3IuZ2V0TXNnKCJtYXRjaCIpLnN1 YnN0aXR1dGUoe21hdGNoTmFtZTpiLm1hdGNoTmFtZXx8ZG9jdW1lbnQuaWQoYi5t YXRjaElucHV0KS5nZXQoIm5hbWUiKX0pOwp9LHRlc3Q6ZnVuY3Rpb24oYixjKXt2 YXIgZD1iLmdldCgidmFsdWUiKTt2YXIgYT1kb2N1bWVudC5pZChjLm1hdGNoSW5w dXQpJiZkb2N1bWVudC5pZChjLm1hdGNoSW5wdXQpLmdldCgidmFsdWUiKTtyZXR1 cm4gZCYmYT9kPT1hOnRydWU7fX1dLFsidmFsaWRhdGUtYWZ0ZXItZGF0ZSIse2Vy cm9yTXNnOmZ1bmN0aW9uKGEsYil7cmV0dXJuIEZvcm0uVmFsaWRhdG9yLmdldE1z ZygiYWZ0ZXJEYXRlIikuc3Vic3RpdHV0ZSh7bGFiZWw6Yi5hZnRlckxhYmVsfHwo Yi5hZnRlckVsZW1lbnQ/Rm9ybS5WYWxpZGF0b3IuZ2V0TXNnKCJzdGFydERhdGUi KTpGb3JtLlZhbGlkYXRvci5nZXRNc2coImN1cnJlbnREYXRlIikpfSk7Cn0sdGVz dDpmdW5jdGlvbihiLGMpe3ZhciBkPWRvY3VtZW50LmlkKGMuYWZ0ZXJFbGVtZW50 KT9EYXRlLnBhcnNlKGRvY3VtZW50LmlkKGMuYWZ0ZXJFbGVtZW50KS5nZXQoInZh bHVlIikpOm5ldyBEYXRlKCk7dmFyIGE9RGF0ZS5wYXJzZShiLmdldCgidmFsdWUi KSk7CnJldHVybiBhJiZkP2E+PWQ6dHJ1ZTt9fV0sWyJ2YWxpZGF0ZS1iZWZvcmUt ZGF0ZSIse2Vycm9yTXNnOmZ1bmN0aW9uKGEsYil7cmV0dXJuIEZvcm0uVmFsaWRh dG9yLmdldE1zZygiYmVmb3JlRGF0ZSIpLnN1YnN0aXR1dGUoe2xhYmVsOmIuYmVm b3JlTGFiZWx8fChiLmJlZm9yZUVsZW1lbnQ/Rm9ybS5WYWxpZGF0b3IuZ2V0TXNn KCJlbmREYXRlIik6Rm9ybS5WYWxpZGF0b3IuZ2V0TXNnKCJjdXJyZW50RGF0ZSIp KX0pOwp9LHRlc3Q6ZnVuY3Rpb24oYixjKXt2YXIgZD1EYXRlLnBhcnNlKGIuZ2V0 KCJ2YWx1ZSIpKTt2YXIgYT1kb2N1bWVudC5pZChjLmJlZm9yZUVsZW1lbnQpP0Rh dGUucGFyc2UoZG9jdW1lbnQuaWQoYy5iZWZvcmVFbGVtZW50KS5nZXQoInZhbHVl IikpOm5ldyBEYXRlKCk7CnJldHVybiBhJiZkP2E+PWQ6dHJ1ZTt9fV0sWyJ2YWxp ZGF0ZS1jdXN0b20tcmVxdWlyZWQiLHtlcnJvck1zZzpmdW5jdGlvbigpe3JldHVy biBGb3JtLlZhbGlkYXRvci5nZXRNc2coInJlcXVpcmVkIik7fSx0ZXN0OmZ1bmN0 aW9uKGEsYil7cmV0dXJuIGEuZ2V0KCJ2YWx1ZSIpIT1iLmVtcHR5VmFsdWU7Cn19 XSxbInZhbGlkYXRlLXNhbWUtbW9udGgiLHtlcnJvck1zZzpmdW5jdGlvbihhLGIp e3ZhciBjPWRvY3VtZW50LmlkKGIuc2FtZU1vbnRoQXMpJiZkb2N1bWVudC5pZChi LnNhbWVNb250aEFzKS5nZXQoInZhbHVlIik7dmFyIGQ9YS5nZXQoInZhbHVlIik7 aWYoZCE9IiIpe3JldHVybiBGb3JtLlZhbGlkYXRvci5nZXRNc2coYz8ic2FtZU1v bnRoIjoic3RhcnRNb250aCIpOwp9fSx0ZXN0OmZ1bmN0aW9uKGEsYil7dmFyIGQ9 RGF0ZS5wYXJzZShhLmdldCgidmFsdWUiKSk7dmFyIGM9RGF0ZS5wYXJzZShkb2N1 bWVudC5pZChiLnNhbWVNb250aEFzKSYmZG9jdW1lbnQuaWQoYi5zYW1lTW9udGhB cykuZ2V0KCJ2YWx1ZSIpKTtyZXR1cm4gZCYmYz9kLmZvcm1hdCgiJUIiKT09Yy5m b3JtYXQoIiVCIik6dHJ1ZTsKfX1dLFsidmFsaWRhdGUtY2MtbnVtIix7ZXJyb3JN c2c6ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXQoInZhbHVlIikucmVwbGFjZSgvW14w LTldL2csIiIpO3JldHVybiBGb3JtLlZhbGlkYXRvci5nZXRNc2coImNyZWRpdGNh cmQiKS5zdWJzdGl0dXRlKHtsZW5ndGg6Yi5sZW5ndGh9KTsKfSx0ZXN0OmZ1bmN0 aW9uKGMpe2lmKEZvcm0uVmFsaWRhdG9yLmdldFZhbGlkYXRvcigiSXNFbXB0eSIp LnRlc3QoYykpe3JldHVybiB0cnVlO312YXIgZz1jLmdldCgidmFsdWUiKTtnPWcu cmVwbGFjZSgvW14wLTldL2csIiIpO3ZhciBhPWZhbHNlO2lmKGcudGVzdCgvXjRb MC05XXsxMn0oWzAtOV17M30pPyQvKSl7YT0iVmlzYSI7Cn1lbHNle2lmKGcudGVz dCgvXjVbMS01XShbMC05XXsxNH0pJC8pKXthPSJNYXN0ZXIgQ2FyZCI7fWVsc2V7 aWYoZy50ZXN0KC9eM1s0N11bMC05XXsxM30kLykpe2E9IkFtZXJpY2FuIEV4cHJl c3MiO31lbHNle2lmKGcudGVzdCgvXjYwMTFbMC05XXsxMn0kLykpe2E9IkRpc2Nv dmVyIjsKfX19fWlmKGEpe3ZhciBkPTA7dmFyIGU9MDtmb3IodmFyIGI9Zy5sZW5n dGgtMTtiPj0wOy0tYil7ZT1nLmNoYXJBdChiKS50b0ludCgpO2lmKGU9PTApe2Nv bnRpbnVlO31pZigoZy5sZW5ndGgtYiklMj09MCl7ZSs9ZTt9aWYoZT45KXtlPWUu dG9TdHJpbmcoKS5jaGFyQXQoMCkudG9JbnQoKStlLnRvU3RyaW5nKCkuY2hhckF0 KDEpLnRvSW50KCk7Cn1kKz1lO31pZigoZCUxMCk9PTApe3JldHVybiB0cnVlO319 dmFyIGY9IiI7d2hpbGUoZyE9IiIpe2YrPSIgIitnLnN1YnN0cigwLDQpO2c9Zy5z dWJzdHIoNCk7fWMuZ2V0UGFyZW50KCJmb3JtIikucmV0cmlldmUoInZhbGlkYXRv ciIpLmlnbm9yZUZpZWxkKGMpO2Muc2V0KCJ2YWx1ZSIsZi5jbGVhbigpKTsKYy5n ZXRQYXJlbnQoImZvcm0iKS5yZXRyaWV2ZSgidmFsaWRhdG9yIikuZW5mb3JjZUZp ZWxkKGMpO3JldHVybiBmYWxzZTt9fV1dKTt2YXIgT3ZlclRleHQ9bmV3IENsYXNz KHtJbXBsZW1lbnRzOltPcHRpb25zLEV2ZW50cyxDbGFzcy5PY2NsdWRlXSxCaW5k czpbInJlcG9zaXRpb24iLCJhc3NlcnQiLCJmb2N1cyIsImhpZGUiXSxvcHRpb25z OntlbGVtZW50OiJsYWJlbCIsbGFiZWxDbGFzczoib3ZlclR4dExhYmVsIixwb3Np dGlvbk9wdGlvbnM6e3Bvc2l0aW9uOiJ1cHBlckxlZnQiLGVkZ2U6InVwcGVyTGVm dCIsb2Zmc2V0Ont4OjQseToyfX0scG9sbDpmYWxzZSxwb2xsSW50ZXJ2YWw6MjUw LHdyYXA6ZmFsc2V9LHByb3BlcnR5OiJPdmVyVGV4dCIsaW5pdGlhbGl6ZTpmdW5j dGlvbihiLGEpe2I9dGhpcy5lbGVtZW50PWRvY3VtZW50LmlkKGIpOwppZih0aGlz Lm9jY2x1ZGUoKSl7cmV0dXJuIHRoaXMub2NjbHVkZWQ7fXRoaXMuc2V0T3B0aW9u cyhhKTt0aGlzLmF0dGFjaChiKTtPdmVyVGV4dC5pbnN0YW5jZXMucHVzaCh0aGlz KTtpZih0aGlzLm9wdGlvbnMucG9sbCl7dGhpcy5wb2xsKCk7fX0sdG9FbGVtZW50 OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudDsKfSxhdHRhY2g6ZnVuY3Rp b24oKXt2YXIgYj10aGlzLmVsZW1lbnQsYT10aGlzLm9wdGlvbnMsYz1hLnRleHRP dmVycmlkZXx8Yi5nZXQoImFsdCIpfHxiLmdldCgidGl0bGUiKTtpZighYyl7cmV0 dXJuIHRoaXM7fXZhciBkPXRoaXMudGV4dD1uZXcgRWxlbWVudChhLmVsZW1lbnQs eyJjbGFzcyI6YS5sYWJlbENsYXNzLHN0eWxlczp7bGluZUhlaWdodDoibm9ybWFs Iixwb3NpdGlvbjoiYWJzb2x1dGUiLGN1cnNvcjoidGV4dCJ9LGh0bWw6YyxldmVu dHM6e2NsaWNrOnRoaXMuaGlkZS5wYXNzKGEuZWxlbWVudD09ImxhYmVsIix0aGlz KX19KS5pbmplY3QoYiwiYWZ0ZXIiKTsKaWYoYS5lbGVtZW50PT0ibGFiZWwiKXtp ZighYi5nZXQoImlkIikpe2Iuc2V0KCJpZCIsImlucHV0XyIrU3RyaW5nLnVuaXF1 ZUlEKCkpO31kLnNldCgiZm9yIixiLmdldCgiaWQiKSk7fWlmKGEud3JhcCl7dGhp cy50ZXh0SG9sZGVyPW5ldyBFbGVtZW50KCJkaXYub3ZlclR4dFdyYXBwZXIiLHtz dHlsZXM6e2xpbmVIZWlnaHQ6Im5vcm1hbCIscG9zaXRpb246InJlbGF0aXZlIn19 KS5ncmFiKGQpLmluamVjdChiLCJiZWZvcmUiKTsKfXJldHVybiB0aGlzLmVuYWJs ZSgpO30sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5lbGltaW5hdGUo dGhpcy5wcm9wZXJ0eSk7dGhpcy5kaXNhYmxlKCk7aWYodGhpcy50ZXh0KXt0aGlz LnRleHQuZGVzdHJveSgpO31pZih0aGlzLnRleHRIb2xkZXIpe3RoaXMudGV4dEhv bGRlci5kZXN0cm95KCk7Cn1yZXR1cm4gdGhpczt9LGRpc2FibGU6ZnVuY3Rpb24o KXt0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRzKHtmb2N1czp0aGlzLmZvY3VzLGJs dXI6dGhpcy5hc3NlcnQsY2hhbmdlOnRoaXMuYXNzZXJ0fSk7d2luZG93LnJlbW92 ZUV2ZW50KCJyZXNpemUiLHRoaXMucmVwb3NpdGlvbik7CnRoaXMuaGlkZSh0cnVl LHRydWUpO3JldHVybiB0aGlzO30sZW5hYmxlOmZ1bmN0aW9uKCl7dGhpcy5lbGVt ZW50LmFkZEV2ZW50cyh7Zm9jdXM6dGhpcy5mb2N1cyxibHVyOnRoaXMuYXNzZXJ0 LGNoYW5nZTp0aGlzLmFzc2VydH0pO3dpbmRvdy5hZGRFdmVudCgicmVzaXplIix0 aGlzLnJlcG9zaXRpb24pOwp0aGlzLnJlcG9zaXRpb24oKTtyZXR1cm4gdGhpczt9 LHdyYXA6ZnVuY3Rpb24oKXtpZih0aGlzLm9wdGlvbnMuZWxlbWVudD09ImxhYmVs Iil7aWYoIXRoaXMuZWxlbWVudC5nZXQoImlkIikpe3RoaXMuZWxlbWVudC5zZXQo ImlkIiwiaW5wdXRfIitTdHJpbmcudW5pcXVlSUQoKSk7Cn10aGlzLnRleHQuc2V0 KCJmb3IiLHRoaXMuZWxlbWVudC5nZXQoImlkIikpO319LHN0YXJ0UG9sbGluZzpm dW5jdGlvbigpe3RoaXMucG9sbGluZ1BhdXNlZD1mYWxzZTtyZXR1cm4gdGhpcy5w b2xsKCk7fSxwb2xsOmZ1bmN0aW9uKGEpe2lmKHRoaXMucG9sbGVyJiYhYSl7cmV0 dXJuIHRoaXM7Cn1pZihhKXtjbGVhckludGVydmFsKHRoaXMucG9sbGVyKTt9ZWxz ZXt0aGlzLnBvbGxlcj0oZnVuY3Rpb24oKXtpZighdGhpcy5wb2xsaW5nUGF1c2Vk KXt0aGlzLmFzc2VydCh0cnVlKTt9fSkucGVyaW9kaWNhbCh0aGlzLm9wdGlvbnMu cG9sbEludGVydmFsLHRoaXMpOwp9cmV0dXJuIHRoaXM7fSxzdG9wUG9sbGluZzpm dW5jdGlvbigpe3RoaXMucG9sbGluZ1BhdXNlZD10cnVlO3JldHVybiB0aGlzLnBv bGwodHJ1ZSk7fSxmb2N1czpmdW5jdGlvbigpe2lmKHRoaXMudGV4dCYmKCF0aGlz LnRleHQuaXNEaXNwbGF5ZWQoKXx8dGhpcy5lbGVtZW50LmdldCgiZGlzYWJsZWQi KSkpe3JldHVybiB0aGlzOwp9cmV0dXJuIHRoaXMuaGlkZSgpO30saGlkZTpmdW5j dGlvbihjLGEpe2lmKHRoaXMudGV4dCYmKHRoaXMudGV4dC5pc0Rpc3BsYXllZCgp JiYoIXRoaXMuZWxlbWVudC5nZXQoImRpc2FibGVkIil8fGEpKSl7dGhpcy50ZXh0 LmhpZGUoKTt0aGlzLmZpcmVFdmVudCgidGV4dEhpZGUiLFt0aGlzLnRleHQsdGhp cy5lbGVtZW50XSk7CnRoaXMucG9sbGluZ1BhdXNlZD10cnVlO2lmKCFjKXt0cnl7 dGhpcy5lbGVtZW50LmZpcmVFdmVudCgiZm9jdXMiKTt0aGlzLmVsZW1lbnQuZm9j dXMoKTt9Y2F0Y2goYil7fX19cmV0dXJuIHRoaXM7fSxzaG93OmZ1bmN0aW9uKCl7 aWYodGhpcy50ZXh0JiYhdGhpcy50ZXh0LmlzRGlzcGxheWVkKCkpe3RoaXMudGV4 dC5zaG93KCk7CnRoaXMucmVwb3NpdGlvbigpO3RoaXMuZmlyZUV2ZW50KCJ0ZXh0 U2hvdyIsW3RoaXMudGV4dCx0aGlzLmVsZW1lbnRdKTt0aGlzLnBvbGxpbmdQYXVz ZWQ9ZmFsc2U7fXJldHVybiB0aGlzO30sdGVzdDpmdW5jdGlvbigpe3JldHVybiAh dGhpcy5lbGVtZW50LmdldCgidmFsdWUiKTsKfSxhc3NlcnQ6ZnVuY3Rpb24oYSl7 cmV0dXJuIHRoaXNbdGhpcy50ZXN0KCk/InNob3ciOiJoaWRlIl0oYSk7fSxyZXBv c2l0aW9uOmZ1bmN0aW9uKCl7dGhpcy5hc3NlcnQodHJ1ZSk7aWYoIXRoaXMuZWxl bWVudC5pc1Zpc2libGUoKSl7cmV0dXJuIHRoaXMuc3RvcFBvbGxpbmcoKS5oaWRl KCk7Cn1pZih0aGlzLnRleHQmJnRoaXMudGVzdCgpKXt0aGlzLnRleHQucG9zaXRp b24oT2JqZWN0Lm1lcmdlKHRoaXMub3B0aW9ucy5wb3NpdGlvbk9wdGlvbnMse3Jl bGF0aXZlVG86dGhpcy5lbGVtZW50fSkpO31yZXR1cm4gdGhpczt9fSk7T3ZlclRl eHQuaW5zdGFuY2VzPVtdOwpPYmplY3QuYXBwZW5kKE92ZXJUZXh0LHtlYWNoOmZ1 bmN0aW9uKGEpe3JldHVybiBPdmVyVGV4dC5pbnN0YW5jZXMuZWFjaChmdW5jdGlv bihjLGIpe2lmKGMuZWxlbWVudCYmYy50ZXh0KXthLmNhbGwoT3ZlclRleHQsYyxi KTt9fSk7fSx1cGRhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gT3ZlclRleHQuZWFjaChm dW5jdGlvbihhKXtyZXR1cm4gYS5yZXBvc2l0aW9uKCk7Cn0pO30saGlkZUFsbDpm dW5jdGlvbigpe3JldHVybiBPdmVyVGV4dC5lYWNoKGZ1bmN0aW9uKGEpe3JldHVy biBhLmhpZGUodHJ1ZSx0cnVlKTt9KTt9LHNob3dBbGw6ZnVuY3Rpb24oKXtyZXR1 cm4gT3ZlclRleHQuZWFjaChmdW5jdGlvbihhKXtyZXR1cm4gYS5zaG93KCk7Cn0p O319KTtGeC5FbGVtZW50cz1uZXcgQ2xhc3Moe0V4dGVuZHM6RnguQ1NTLGluaXRp YWxpemU6ZnVuY3Rpb24oYixhKXt0aGlzLmVsZW1lbnRzPXRoaXMuc3ViamVjdD0k JChiKTt0aGlzLnBhcmVudChhKTt9LGNvbXB1dGU6ZnVuY3Rpb24oZyxoLGope3Zh ciBjPXt9Owpmb3IodmFyIGQgaW4gZyl7dmFyIGE9Z1tkXSxlPWhbZF0sZj1jW2Rd PXt9O2Zvcih2YXIgYiBpbiBhKXtmW2JdPXRoaXMucGFyZW50KGFbYl0sZVtiXSxq KTt9fXJldHVybiBjO30sc2V0OmZ1bmN0aW9uKGIpe2Zvcih2YXIgYyBpbiBiKXtp ZighdGhpcy5lbGVtZW50c1tjXSl7Y29udGludWU7Cn12YXIgYT1iW2NdO2Zvcih2 YXIgZCBpbiBhKXt0aGlzLnJlbmRlcih0aGlzLmVsZW1lbnRzW2NdLGQsYVtkXSx0 aGlzLm9wdGlvbnMudW5pdCk7fX1yZXR1cm4gdGhpczt9LHN0YXJ0OmZ1bmN0aW9u KGMpe2lmKCF0aGlzLmNoZWNrKGMpKXtyZXR1cm4gdGhpczt9dmFyIGg9e30saj17 fTsKZm9yKHZhciBkIGluIGMpe2lmKCF0aGlzLmVsZW1lbnRzW2RdKXtjb250aW51 ZTt9dmFyIGY9Y1tkXSxhPWhbZF09e30sZz1qW2RdPXt9O2Zvcih2YXIgYiBpbiBm KXt2YXIgZT10aGlzLnByZXBhcmUodGhpcy5lbGVtZW50c1tkXSxiLGZbYl0pO2Fb Yl09ZS5mcm9tOwpnW2JdPWUudG87fX1yZXR1cm4gdGhpcy5wYXJlbnQoaCxqKTt9 fSk7RnguQWNjb3JkaW9uPW5ldyBDbGFzcyh7RXh0ZW5kczpGeC5FbGVtZW50cyxv cHRpb25zOntmaXhlZEhlaWdodDpmYWxzZSxmaXhlZFdpZHRoOmZhbHNlLGRpc3Bs YXk6MCxzaG93OmZhbHNlLGhlaWdodDp0cnVlLHdpZHRoOmZhbHNlLG9wYWNpdHk6 dHJ1ZSxhbHdheXNIaWRlOmZhbHNlLHRyaWdnZXI6ImNsaWNrIixpbml0aWFsRGlz cGxheUZ4OnRydWUscmVzZXRIZWlnaHQ6dHJ1ZX0saW5pdGlhbGl6ZTpmdW5jdGlv bigpe3ZhciBnPWZ1bmN0aW9uKGgpe3JldHVybiBoIT1udWxsOwp9O3ZhciBmPUFy cmF5LmxpbmsoYXJndW1lbnRzLHtjb250YWluZXI6VHlwZS5pc0VsZW1lbnQsb3B0 aW9uczpUeXBlLmlzT2JqZWN0LHRvZ2dsZXJzOmcsZWxlbWVudHM6Z30pO3RoaXMu cGFyZW50KGYuZWxlbWVudHMsZi5vcHRpb25zKTt2YXIgYj10aGlzLm9wdGlvbnMs ZT10aGlzLnRvZ2dsZXJzPSQkKGYudG9nZ2xlcnMpOwp0aGlzLnByZXZpb3VzPS0x O3RoaXMuaW50ZXJuYWxDaGFpbj1uZXcgQ2hhaW4oKTtpZihiLmFsd2F5c0hpZGUp e3RoaXMub3B0aW9ucy5saW5rPSJjaGFpbiI7fWlmKGIuc2hvd3x8dGhpcy5vcHRp b25zLnNob3c9PT0wKXtiLmRpc3BsYXk9ZmFsc2U7dGhpcy5wcmV2aW91cz1iLnNo b3c7Cn1pZihiLnN0YXJ0KXtiLmRpc3BsYXk9ZmFsc2U7Yi5zaG93PWZhbHNlO312 YXIgZD10aGlzLmVmZmVjdHM9e307aWYoYi5vcGFjaXR5KXtkLm9wYWNpdHk9ImZ1 bGxPcGFjaXR5Ijt9aWYoYi53aWR0aCl7ZC53aWR0aD1iLmZpeGVkV2lkdGg/ImZ1 bGxXaWR0aCI6Im9mZnNldFdpZHRoIjsKfWlmKGIuaGVpZ2h0KXtkLmhlaWdodD1i LmZpeGVkSGVpZ2h0PyJmdWxsSGVpZ2h0Ijoic2Nyb2xsSGVpZ2h0Ijt9Zm9yKHZh ciBjPTAsYT1lLmxlbmd0aDtjPGE7YysrKXt0aGlzLmFkZFNlY3Rpb24oZVtjXSx0 aGlzLmVsZW1lbnRzW2NdKTt9dGhpcy5lbGVtZW50cy5lYWNoKGZ1bmN0aW9uKGos aCl7aWYoYi5zaG93PT09aCl7dGhpcy5maXJlRXZlbnQoImFjdGl2ZSIsW2VbaF0s al0pOwp9ZWxzZXtmb3IodmFyIGsgaW4gZCl7ai5zZXRTdHlsZShrLDApO319fSx0 aGlzKTtpZihiLmRpc3BsYXl8fGIuZGlzcGxheT09PTB8fGIuaW5pdGlhbERpc3Bs YXlGeD09PWZhbHNlKXt0aGlzLmRpc3BsYXkoYi5kaXNwbGF5LGIuaW5pdGlhbERp c3BsYXlGeCk7fWlmKGIuZml4ZWRIZWlnaHQhPT1mYWxzZSl7Yi5yZXNldEhlaWdo dD1mYWxzZTsKfXRoaXMuYWRkRXZlbnQoImNvbXBsZXRlIix0aGlzLmludGVybmFs Q2hhaW4uY2FsbENoYWluLmJpbmQodGhpcy5pbnRlcm5hbENoYWluKSk7fSxhZGRT ZWN0aW9uOmZ1bmN0aW9uKGcsZCl7Zz1kb2N1bWVudC5pZChnKTtkPWRvY3VtZW50 LmlkKGQpO3RoaXMudG9nZ2xlcnMuaW5jbHVkZShnKTsKdGhpcy5lbGVtZW50cy5p bmNsdWRlKGQpO3ZhciBmPXRoaXMudG9nZ2xlcnMsYz10aGlzLm9wdGlvbnMsaD1m LmNvbnRhaW5zKGcpLGE9Zi5pbmRleE9mKGcpLGI9dGhpcy5kaXNwbGF5LnBhc3Mo YSx0aGlzKTtnLnN0b3JlKCJhY2NvcmRpb246ZGlzcGxheSIsYikuYWRkRXZlbnQo Yy50cmlnZ2VyLGIpOwppZihjLmhlaWdodCl7ZC5zZXRTdHlsZXMoeyJwYWRkaW5n LXRvcCI6MCwiYm9yZGVyLXRvcCI6Im5vbmUiLCJwYWRkaW5nLWJvdHRvbSI6MCwi Ym9yZGVyLWJvdHRvbSI6Im5vbmUifSk7fWlmKGMud2lkdGgpe2Quc2V0U3R5bGVz KHsicGFkZGluZy1sZWZ0IjowLCJib3JkZXItbGVmdCI6Im5vbmUiLCJwYWRkaW5n LXJpZ2h0IjowLCJib3JkZXItcmlnaHQiOiJub25lIn0pOwp9ZC5mdWxsT3BhY2l0 eT0xO2lmKGMuZml4ZWRXaWR0aCl7ZC5mdWxsV2lkdGg9Yy5maXhlZFdpZHRoO31p ZihjLmZpeGVkSGVpZ2h0KXtkLmZ1bGxIZWlnaHQ9Yy5maXhlZEhlaWdodDt9ZC5z ZXRTdHlsZSgib3ZlcmZsb3ciLCJoaWRkZW4iKTtpZighaCl7Zm9yKHZhciBlIGlu IHRoaXMuZWZmZWN0cyl7ZC5zZXRTdHlsZShlLDApOwp9fXJldHVybiB0aGlzO30s cmVtb3ZlU2VjdGlvbjpmdW5jdGlvbihmLGIpe3ZhciBlPXRoaXMudG9nZ2xlcnMs YT1lLmluZGV4T2YoZiksYz10aGlzLmVsZW1lbnRzW2FdO3ZhciBkPWZ1bmN0aW9u KCl7ZS5lcmFzZShmKTt0aGlzLmVsZW1lbnRzLmVyYXNlKGMpO3RoaXMuZGV0YWNo KGYpOwp9LmJpbmQodGhpcyk7aWYodGhpcy5ub3c9PWF8fGIhPW51bGwpe3RoaXMu ZGlzcGxheShiIT1udWxsP2I6KGEtMT49MD9hLTE6MCkpLmNoYWluKGQpO31lbHNl e2QoKTt9cmV0dXJuIHRoaXM7fSxkZXRhY2g6ZnVuY3Rpb24oYil7dmFyIGE9ZnVu Y3Rpb24oYyl7Yy5yZW1vdmVFdmVudCh0aGlzLm9wdGlvbnMudHJpZ2dlcixjLnJl dHJpZXZlKCJhY2NvcmRpb246ZGlzcGxheSIpKTsKfS5iaW5kKHRoaXMpO2lmKCFi KXt0aGlzLnRvZ2dsZXJzLmVhY2goYSk7fWVsc2V7YShiKTt9cmV0dXJuIHRoaXM7 fSxkaXNwbGF5OmZ1bmN0aW9uKGIsYyl7aWYoIXRoaXMuY2hlY2soYixjKSl7cmV0 dXJuIHRoaXM7fXZhciBoPXt9LGc9dGhpcy5lbGVtZW50cyxhPXRoaXMub3B0aW9u cyxmPXRoaXMuZWZmZWN0czsKaWYoYz09bnVsbCl7Yz10cnVlO31pZih0eXBlT2Yo Yik9PSJlbGVtZW50Iil7Yj1nLmluZGV4T2YoYik7fWlmKGI9PXRoaXMucHJldmlv dXMmJiFhLmFsd2F5c0hpZGUpe3JldHVybiB0aGlzO31pZihhLnJlc2V0SGVpZ2h0 KXt2YXIgZT1nW3RoaXMucHJldmlvdXNdOwppZihlJiYhdGhpcy5zZWxmSGlkZGVu KXtmb3IodmFyIGQgaW4gZil7ZS5zZXRTdHlsZShkLGVbZltkXV0pO319fWlmKCh0 aGlzLnRpbWVyJiZhLmxpbms9PSJjaGFpbiIpfHwoYj09PXRoaXMucHJldmlvdXMm JiFhLmFsd2F5c0hpZGUpKXtyZXR1cm4gdGhpczt9dGhpcy5wcmV2aW91cz1iOwp0 aGlzLnNlbGZIaWRkZW49ZmFsc2U7Zy5lYWNoKGZ1bmN0aW9uKGwsayl7aFtrXT17 fTt2YXIgajtpZihrIT1iKXtqPXRydWU7fWVsc2V7aWYoYS5hbHdheXNIaWRlJiYo KGwub2Zmc2V0SGVpZ2h0PjAmJmEuaGVpZ2h0KXx8bC5vZmZzZXRXaWR0aD4wJiZh LndpZHRoKSl7aj10cnVlOwp0aGlzLnNlbGZIaWRkZW49dHJ1ZTt9fXRoaXMuZmly ZUV2ZW50KGo/ImJhY2tncm91bmQiOiJhY3RpdmUiLFt0aGlzLnRvZ2dsZXJzW2td LGxdKTtmb3IodmFyIG0gaW4gZil7aFtrXVttXT1qPzA6bFtmW21dXTt9aWYoIWMm JiFqJiZhLnJlc2V0SGVpZ2h0KXtoW2tdLmhlaWdodD0iYXV0byI7Cn19LHRoaXMp O3RoaXMuaW50ZXJuYWxDaGFpbi5jbGVhckNoYWluKCk7dGhpcy5pbnRlcm5hbENo YWluLmNoYWluKGZ1bmN0aW9uKCl7aWYoYS5yZXNldEhlaWdodCYmIXRoaXMuc2Vs ZkhpZGRlbil7dmFyIGk9Z1tiXTtpZihpKXtpLnNldFN0eWxlKCJoZWlnaHQiLCJh dXRvIik7Cn19fS5iaW5kKHRoaXMpKTtyZXR1cm4gYz90aGlzLnN0YXJ0KGgpOnRo aXMuc2V0KGgpLmludGVybmFsQ2hhaW4uY2FsbENoYWluKCk7fX0pO0Z4Lk1vdmU9 bmV3IENsYXNzKHtFeHRlbmRzOkZ4Lk1vcnBoLG9wdGlvbnM6e3JlbGF0aXZlVG86 ZG9jdW1lbnQuYm9keSxwb3NpdGlvbjoiY2VudGVyIixlZGdlOmZhbHNlLG9mZnNl dDp7eDowLHk6MH19LHN0YXJ0OmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuZWxlbWVu dCxjPWIuZ2V0U3R5bGVzKCJ0b3AiLCJsZWZ0Iik7CmlmKGMudG9wPT0iYXV0byJ8 fGMubGVmdD09ImF1dG8iKXtiLnNldFBvc2l0aW9uKGIuZ2V0UG9zaXRpb24oYi5n ZXRPZmZzZXRQYXJlbnQoKSkpO31yZXR1cm4gdGhpcy5wYXJlbnQoYi5wb3NpdGlv bihPYmplY3QubWVyZ2Uoe30sdGhpcy5vcHRpb25zLGEse3JldHVyblBvczp0cnVl fSkpKTsKfX0pO0VsZW1lbnQuUHJvcGVydGllcy5tb3ZlPXtzZXQ6ZnVuY3Rpb24o YSl7dGhpcy5nZXQoIm1vdmUiKS5jYW5jZWwoKS5zZXRPcHRpb25zKGEpO3JldHVy biB0aGlzO30sZ2V0OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5yZXRyaWV2ZSgibW92 ZSIpO2lmKCFhKXthPW5ldyBGeC5Nb3ZlKHRoaXMse2xpbms6ImNhbmNlbCJ9KTsK dGhpcy5zdG9yZSgibW92ZSIsYSk7fXJldHVybiBhO319O0VsZW1lbnQuaW1wbGVt ZW50KHttb3ZlOmZ1bmN0aW9uKGEpe3RoaXMuZ2V0KCJtb3ZlIikuc3RhcnQoYSk7 cmV0dXJuIHRoaXM7fX0pOyhmdW5jdGlvbigpe0Z4LlNjcm9sbD1uZXcgQ2xhc3Mo e0V4dGVuZHM6Rngsb3B0aW9uczp7b2Zmc2V0Ont4OjAseTowfSx3aGVlbFN0b3Bz OnRydWV9LGluaXRpYWxpemU6ZnVuY3Rpb24oYyxiKXt0aGlzLmVsZW1lbnQ9dGhp cy5zdWJqZWN0PWRvY3VtZW50LmlkKGMpOwp0aGlzLnBhcmVudChiKTtpZih0eXBl T2YodGhpcy5lbGVtZW50KSE9ImVsZW1lbnQiKXt0aGlzLmVsZW1lbnQ9ZG9jdW1l bnQuaWQodGhpcy5lbGVtZW50LmdldERvY3VtZW50KCkuYm9keSk7fWlmKHRoaXMu b3B0aW9ucy53aGVlbFN0b3BzKXt2YXIgZD10aGlzLmVsZW1lbnQsZT10aGlzLmNh bmNlbC5wYXNzKGZhbHNlLHRoaXMpOwp0aGlzLmFkZEV2ZW50KCJzdGFydCIsZnVu Y3Rpb24oKXtkLmFkZEV2ZW50KCJtb3VzZXdoZWVsIixlKTt9LHRydWUpO3RoaXMu YWRkRXZlbnQoImNvbXBsZXRlIixmdW5jdGlvbigpe2QucmVtb3ZlRXZlbnQoIm1v dXNld2hlZWwiLGUpO30sdHJ1ZSk7fX0sc2V0OmZ1bmN0aW9uKCl7dmFyIGI9QXJy YXkuZmxhdHRlbihhcmd1bWVudHMpOwppZihCcm93c2VyLmZpcmVmb3gpe2I9W01h dGgucm91bmQoYlswXSksTWF0aC5yb3VuZChiWzFdKV07fXRoaXMuZWxlbWVudC5z Y3JvbGxUbyhiWzBdLGJbMV0pO3JldHVybiB0aGlzO30sY29tcHV0ZTpmdW5jdGlv bihkLGMsYil7cmV0dXJuWzAsMV0ubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBGeC5j b21wdXRlKGRbZV0sY1tlXSxiKTsKfSk7fSxzdGFydDpmdW5jdGlvbihjLGQpe2lm KCF0aGlzLmNoZWNrKGMsZCkpe3JldHVybiB0aGlzO312YXIgYj10aGlzLmVsZW1l bnQuZ2V0U2Nyb2xsKCk7cmV0dXJuIHRoaXMucGFyZW50KFtiLngsYi55XSxbYyxk XSk7fSxjYWxjdWxhdGVTY3JvbGw6ZnVuY3Rpb24oZyxmKXt2YXIgZD10aGlzLmVs ZW1lbnQsYj1kLmdldFNjcm9sbFNpemUoKSxoPWQuZ2V0U2Nyb2xsKCksaj1kLmdl dFNpemUoKSxjPXRoaXMub3B0aW9ucy5vZmZzZXQsaT17eDpnLHk6Zn07CmZvcih2 YXIgZSBpbiBpKXtpZighaVtlXSYmaVtlXSE9PTApe2lbZV09aFtlXTt9aWYodHlw ZU9mKGlbZV0pIT0ibnVtYmVyIil7aVtlXT1iW2VdLWpbZV07fWlbZV0rPWNbZV07 fXJldHVybltpLngsaS55XTt9LHRvVG9wOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMu c3RhcnQuYXBwbHkodGhpcyx0aGlzLmNhbGN1bGF0ZVNjcm9sbChmYWxzZSwwKSk7 Cn0sdG9MZWZ0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhcnQuYXBwbHkodGhp cyx0aGlzLmNhbGN1bGF0ZVNjcm9sbCgwLGZhbHNlKSk7fSx0b1JpZ2h0OmZ1bmN0 aW9uKCl7cmV0dXJuIHRoaXMuc3RhcnQuYXBwbHkodGhpcyx0aGlzLmNhbGN1bGF0 ZVNjcm9sbCgicmlnaHQiLGZhbHNlKSk7Cn0sdG9Cb3R0b206ZnVuY3Rpb24oKXty ZXR1cm4gdGhpcy5zdGFydC5hcHBseSh0aGlzLHRoaXMuY2FsY3VsYXRlU2Nyb2xs KGZhbHNlLCJib3R0b20iKSk7fSx0b0VsZW1lbnQ6ZnVuY3Rpb24oZCxlKXtlPWU/ QXJyYXkuZnJvbShlKTpbIngiLCJ5Il07dmFyIGM9YSh0aGlzLmVsZW1lbnQpP3t4 OjAseTowfTp0aGlzLmVsZW1lbnQuZ2V0U2Nyb2xsKCk7CnZhciBiPU9iamVjdC5t YXAoZG9jdW1lbnQuaWQoZCkuZ2V0UG9zaXRpb24odGhpcy5lbGVtZW50KSxmdW5j dGlvbihnLGYpe3JldHVybiBlLmNvbnRhaW5zKGYpP2crY1tmXTpmYWxzZTt9KTty ZXR1cm4gdGhpcy5zdGFydC5hcHBseSh0aGlzLHRoaXMuY2FsY3VsYXRlU2Nyb2xs KGIueCxiLnkpKTsKfSx0b0VsZW1lbnRFZGdlOmZ1bmN0aW9uKGQsZyxlKXtnPWc/ QXJyYXkuZnJvbShnKTpbIngiLCJ5Il07ZD1kb2N1bWVudC5pZChkKTt2YXIgaT17 fSxmPWQuZ2V0UG9zaXRpb24odGhpcy5lbGVtZW50KSxqPWQuZ2V0U2l6ZSgpLGg9 dGhpcy5lbGVtZW50LmdldFNjcm9sbCgpLGI9dGhpcy5lbGVtZW50LmdldFNpemUo KSxjPXt4OmYueCtqLngseTpmLnkrai55fTsKWyJ4IiwieSJdLmVhY2goZnVuY3Rp b24oayl7aWYoZy5jb250YWlucyhrKSl7aWYoY1trXT5oW2tdK2Jba10pe2lba109 Y1trXS1iW2tdO31pZihmW2tdPGhba10pe2lba109ZltrXTt9fWlmKGlba109PW51 bGwpe2lba109aFtrXTt9aWYoZSYmZVtrXSl7aVtrXT1pW2tdK2Vba107Cn19LHRo aXMpO2lmKGkueCE9aC54fHxpLnkhPWgueSl7dGhpcy5zdGFydChpLngsaS55KTt9 cmV0dXJuIHRoaXM7fSx0b0VsZW1lbnRDZW50ZXI6ZnVuY3Rpb24oZSxmLGgpe2Y9 Zj9BcnJheS5mcm9tKGYpOlsieCIsInkiXTtlPWRvY3VtZW50LmlkKGUpO3ZhciBp PXt9LGM9ZS5nZXRQb3NpdGlvbih0aGlzLmVsZW1lbnQpLGQ9ZS5nZXRTaXplKCks Yj10aGlzLmVsZW1lbnQuZ2V0U2Nyb2xsKCksZz10aGlzLmVsZW1lbnQuZ2V0U2l6 ZSgpOwpbIngiLCJ5Il0uZWFjaChmdW5jdGlvbihqKXtpZihmLmNvbnRhaW5zKGop KXtpW2pdPWNbal0tKGdbal0tZFtqXSkvMjt9aWYoaVtqXT09bnVsbCl7aVtqXT1i W2pdO31pZihoJiZoW2pdKXtpW2pdPWlbal0raFtqXTt9fSx0aGlzKTtpZihpLngh PWIueHx8aS55IT1iLnkpe3RoaXMuc3RhcnQoaS54LGkueSk7Cn1yZXR1cm4gdGhp czt9fSk7ZnVuY3Rpb24gYShiKXtyZXR1cm4oL14oPzpib2R5fGh0bWwpJC9pKS50 ZXN0KGIudGFnTmFtZSk7fX0pKCk7RnguU2xpZGU9bmV3IENsYXNzKHtFeHRlbmRz OkZ4LG9wdGlvbnM6e21vZGU6InZlcnRpY2FsIix3cmFwcGVyOmZhbHNlLGhpZGVP dmVyZmxvdzp0cnVlLHJlc2V0SGVpZ2h0OmZhbHNlfSxpbml0aWFsaXplOmZ1bmN0 aW9uKGIsYSl7Yj10aGlzLmVsZW1lbnQ9dGhpcy5zdWJqZWN0PWRvY3VtZW50Lmlk KGIpOwp0aGlzLnBhcmVudChhKTthPXRoaXMub3B0aW9uczt2YXIgZD1iLnJldHJp ZXZlKCJ3cmFwcGVyIiksYz1iLmdldFN0eWxlcygibWFyZ2luIiwicG9zaXRpb24i LCJvdmVyZmxvdyIpO2lmKGEuaGlkZU92ZXJmbG93KXtjPU9iamVjdC5hcHBlbmQo Yyx7b3ZlcmZsb3c6ImhpZGRlbiJ9KTsKfWlmKGEud3JhcHBlcil7ZD1kb2N1bWVu dC5pZChhLndyYXBwZXIpLnNldFN0eWxlcyhjKTt9aWYoIWQpe2Q9bmV3IEVsZW1l bnQoImRpdiIse3N0eWxlczpjfSkud3JhcHMoYik7fWIuc3RvcmUoIndyYXBwZXIi LGQpLnNldFN0eWxlKCJtYXJnaW4iLDApO2lmKGIuZ2V0U3R5bGUoIm92ZXJmbG93 Iik9PSJ2aXNpYmxlIil7Yi5zZXRTdHlsZSgib3ZlcmZsb3ciLCJoaWRkZW4iKTsK fXRoaXMubm93PVtdO3RoaXMub3Blbj10cnVlO3RoaXMud3JhcHBlcj1kO3RoaXMu YWRkRXZlbnQoImNvbXBsZXRlIixmdW5jdGlvbigpe3RoaXMub3Blbj0oZFsib2Zm c2V0Iit0aGlzLmxheW91dC5jYXBpdGFsaXplKCldIT0wKTtpZih0aGlzLm9wZW4m JnRoaXMub3B0aW9ucy5yZXNldEhlaWdodCl7ZC5zZXRTdHlsZSgiaGVpZ2h0Iiwi Iik7Cn19LHRydWUpO30sdmVydGljYWw6ZnVuY3Rpb24oKXt0aGlzLm1hcmdpbj0i bWFyZ2luLXRvcCI7dGhpcy5sYXlvdXQ9ImhlaWdodCI7dGhpcy5vZmZzZXQ9dGhp cy5lbGVtZW50Lm9mZnNldEhlaWdodDt9LGhvcml6b250YWw6ZnVuY3Rpb24oKXt0 aGlzLm1hcmdpbj0ibWFyZ2luLWxlZnQiOwp0aGlzLmxheW91dD0id2lkdGgiO3Ro aXMub2Zmc2V0PXRoaXMuZWxlbWVudC5vZmZzZXRXaWR0aDt9LHNldDpmdW5jdGlv bihhKXt0aGlzLmVsZW1lbnQuc2V0U3R5bGUodGhpcy5tYXJnaW4sYVswXSk7dGhp cy53cmFwcGVyLnNldFN0eWxlKHRoaXMubGF5b3V0LGFbMV0pOwpyZXR1cm4gdGhp czt9LGNvbXB1dGU6ZnVuY3Rpb24oYyxiLGEpe3JldHVyblswLDFdLm1hcChmdW5j dGlvbihkKXtyZXR1cm4gRnguY29tcHV0ZShjW2RdLGJbZF0sYSk7fSk7fSxzdGFy dDpmdW5jdGlvbihiLGUpe2lmKCF0aGlzLmNoZWNrKGIsZSkpe3JldHVybiB0aGlz Owp9dGhpc1tlfHx0aGlzLm9wdGlvbnMubW9kZV0oKTt2YXIgZD10aGlzLmVsZW1l bnQuZ2V0U3R5bGUodGhpcy5tYXJnaW4pLnRvSW50KCksYz10aGlzLndyYXBwZXIu Z2V0U3R5bGUodGhpcy5sYXlvdXQpLnRvSW50KCksYT1bW2QsY10sWzAsdGhpcy5v ZmZzZXRdXSxnPVtbZCxjXSxbLXRoaXMub2Zmc2V0LDBdXSxmOwpzd2l0Y2goYil7 Y2FzZSJpbiI6Zj1hO2JyZWFrO2Nhc2Uib3V0IjpmPWc7YnJlYWs7Y2FzZSJ0b2dn bGUiOmY9KGM9PTApP2E6Zzt9cmV0dXJuIHRoaXMucGFyZW50KGZbMF0sZlsxXSk7 fSxzbGlkZUluOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnN0YXJ0KCJpbiIsYSk7 Cn0sc2xpZGVPdXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuc3RhcnQoIm91dCIs YSk7fSxoaWRlOmZ1bmN0aW9uKGEpe3RoaXNbYXx8dGhpcy5vcHRpb25zLm1vZGVd KCk7dGhpcy5vcGVuPWZhbHNlO3JldHVybiB0aGlzLnNldChbLXRoaXMub2Zmc2V0 LDBdKTt9LHNob3c6ZnVuY3Rpb24oYSl7dGhpc1thfHx0aGlzLm9wdGlvbnMubW9k ZV0oKTsKdGhpcy5vcGVuPXRydWU7cmV0dXJuIHRoaXMuc2V0KFswLHRoaXMub2Zm c2V0XSk7fSx0b2dnbGU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuc3RhcnQoInRv Z2dsZSIsYSk7fX0pO0VsZW1lbnQuUHJvcGVydGllcy5zbGlkZT17c2V0OmZ1bmN0 aW9uKGEpe3RoaXMuZ2V0KCJzbGlkZSIpLmNhbmNlbCgpLnNldE9wdGlvbnMoYSk7 CnJldHVybiB0aGlzO30sZ2V0OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5yZXRyaWV2 ZSgic2xpZGUiKTtpZighYSl7YT1uZXcgRnguU2xpZGUodGhpcyx7bGluazoiY2Fu Y2VsIn0pO3RoaXMuc3RvcmUoInNsaWRlIixhKTt9cmV0dXJuIGE7fX07RWxlbWVu dC5pbXBsZW1lbnQoe3NsaWRlOmZ1bmN0aW9uKGQsZSl7ZD1kfHwidG9nZ2xlIjsK dmFyIGI9dGhpcy5nZXQoInNsaWRlIiksYTtzd2l0Y2goZCl7Y2FzZSJoaWRlIjpi LmhpZGUoZSk7YnJlYWs7Y2FzZSJzaG93IjpiLnNob3coZSk7YnJlYWs7Y2FzZSJ0 b2dnbGUiOnZhciBjPXRoaXMucmV0cmlldmUoInNsaWRlOmZsYWciLGIub3Blbik7 YltjPyJzbGlkZU91dCI6InNsaWRlSW4iXShlKTsKdGhpcy5zdG9yZSgic2xpZGU6 ZmxhZyIsIWMpO2E9dHJ1ZTticmVhaztkZWZhdWx0OmIuc3RhcnQoZCxlKTt9aWYo IWEpe3RoaXMuZWxpbWluYXRlKCJzbGlkZTpmbGFnIik7fXJldHVybiB0aGlzO319 KTtGeC5TbW9vdGhTY3JvbGw9bmV3IENsYXNzKHtFeHRlbmRzOkZ4LlNjcm9sbCxv cHRpb25zOntheGVzOlsieCIsInkiXX0saW5pdGlhbGl6ZTpmdW5jdGlvbihjLGQp e2Q9ZHx8ZG9jdW1lbnQ7CnRoaXMuZG9jPWQuZ2V0RG9jdW1lbnQoKTt0aGlzLnBh cmVudCh0aGlzLmRvYyxjKTt2YXIgZT1kLmdldFdpbmRvdygpLGE9ZS5sb2NhdGlv bi5ocmVmLm1hdGNoKC9eW14jXSovKVswXSsiIyIsYj0kJCh0aGlzLm9wdGlvbnMu bGlua3N8fHRoaXMuZG9jLmxpbmtzKTsKYi5lYWNoKGZ1bmN0aW9uKGcpe2lmKGcu aHJlZi5pbmRleE9mKGEpIT0wKXtyZXR1cm47fXZhciBmPWcuaHJlZi5zdWJzdHIo YS5sZW5ndGgpO2lmKGYpe3RoaXMudXNlTGluayhnLGYpO319LHRoaXMpO3RoaXMu YWRkRXZlbnQoImNvbXBsZXRlIixmdW5jdGlvbigpe2UubG9jYXRpb24uaGFzaD10 aGlzLmFuY2hvcjsKdGhpcy5lbGVtZW50LnNjcm9sbFRvKHRoaXMudG9bMF0sdGhp cy50b1sxXSk7fSx0cnVlKTt9LHVzZUxpbms6ZnVuY3Rpb24oYixhKXtiLmFkZEV2 ZW50KCJjbGljayIsZnVuY3Rpb24oZCl7dmFyIGM9ZG9jdW1lbnQuaWQoYSl8fHRo aXMuZG9jLmdldEVsZW1lbnQoImFbbmFtZT0iK2ErIl0iKTsKaWYoIWMpe3JldHVy bjt9ZC5wcmV2ZW50RGVmYXVsdCgpO3RoaXMudG9FbGVtZW50KGMsdGhpcy5vcHRp b25zLmF4ZXMpLmNoYWluKGZ1bmN0aW9uKCl7dGhpcy5maXJlRXZlbnQoInNjcm9s bGVkVG8iLFtiLGNdKTt9LmJpbmQodGhpcykpO3RoaXMuYW5jaG9yPWE7fS5iaW5k KHRoaXMpKTsKcmV0dXJuIHRoaXM7fX0pO0Z4LlNvcnQ9bmV3IENsYXNzKHtFeHRl bmRzOkZ4LkVsZW1lbnRzLG9wdGlvbnM6e21vZGU6InZlcnRpY2FsIn0saW5pdGlh bGl6ZTpmdW5jdGlvbihiLGEpe3RoaXMucGFyZW50KGIsYSk7dGhpcy5lbGVtZW50 cy5lYWNoKGZ1bmN0aW9uKGMpe2lmKGMuZ2V0U3R5bGUoInBvc2l0aW9uIik9PSJz dGF0aWMiKXtjLnNldFN0eWxlKCJwb3NpdGlvbiIsInJlbGF0aXZlIik7Cn19KTt0 aGlzLnNldERlZmF1bHRPcmRlcigpO30sc2V0RGVmYXVsdE9yZGVyOmZ1bmN0aW9u KCl7dGhpcy5jdXJyZW50T3JkZXI9dGhpcy5lbGVtZW50cy5tYXAoZnVuY3Rpb24o YixhKXtyZXR1cm4gYTt9KTt9LHNvcnQ6ZnVuY3Rpb24oKXtpZighdGhpcy5jaGVj ayhhcmd1bWVudHMpKXtyZXR1cm4gdGhpczsKfXZhciBlPUFycmF5LmZsYXR0ZW4o YXJndW1lbnRzKTt2YXIgaT0wLGE9MCxjPXt9LGg9e30sZD10aGlzLm9wdGlvbnMu bW9kZT09InZlcnRpY2FsIjt2YXIgZj10aGlzLmVsZW1lbnRzLm1hcChmdW5jdGlv bihtLGspe3ZhciBsPW0uZ2V0Q29tcHV0ZWRTaXplKHtzdHlsZXM6WyJib3JkZXIi LCJwYWRkaW5nIiwibWFyZ2luIl19KTsKdmFyIG47aWYoZCl7bj17dG9wOmksbWFy Z2luOmxbIm1hcmdpbi10b3AiXSxoZWlnaHQ6bC50b3RhbEhlaWdodH07aSs9bi5o ZWlnaHQtbFsibWFyZ2luLXRvcCJdO31lbHNle249e2xlZnQ6YSxtYXJnaW46bFsi bWFyZ2luLWxlZnQiXSx3aWR0aDpsLnRvdGFsV2lkdGh9OwphKz1uLndpZHRoO312 YXIgaj1kPyJ0b3AiOiJsZWZ0IjtoW2tdPXt9O3ZhciBvPW0uZ2V0U3R5bGUoaiku dG9JbnQoKTtoW2tdW2pdPW98fDA7cmV0dXJuIG47fSx0aGlzKTt0aGlzLnNldCho KTtlPWUubWFwKGZ1bmN0aW9uKGope3JldHVybiBqLnRvSW50KCk7fSk7CmlmKGUu bGVuZ3RoIT10aGlzLmVsZW1lbnRzLmxlbmd0aCl7dGhpcy5jdXJyZW50T3JkZXIu ZWFjaChmdW5jdGlvbihqKXtpZighZS5jb250YWlucyhqKSl7ZS5wdXNoKGopO319 KTtpZihlLmxlbmd0aD50aGlzLmVsZW1lbnRzLmxlbmd0aCl7ZS5zcGxpY2UodGhp cy5lbGVtZW50cy5sZW5ndGgtMSxlLmxlbmd0aC10aGlzLmVsZW1lbnRzLmxlbmd0 aCk7Cn19dmFyIGI9MDtpPWE9MDtlLmVhY2goZnVuY3Rpb24oayl7dmFyIGo9e307 aWYoZCl7ai50b3A9aS1mW2tdLnRvcC1iO2krPWZba10uaGVpZ2h0O31lbHNle2ou bGVmdD1hLWZba10ubGVmdDthKz1mW2tdLndpZHRoO31iPWIrZltrXS5tYXJnaW47 Y1trXT1qO30sdGhpcyk7CnZhciBnPXt9O0FycmF5LmNsb25lKGUpLnNvcnQoKS5l YWNoKGZ1bmN0aW9uKGope2dbal09Y1tqXTt9KTt0aGlzLnN0YXJ0KGcpO3RoaXMu Y3VycmVudE9yZGVyPWU7cmV0dXJuIHRoaXM7fSxyZWFycmFuZ2VET006ZnVuY3Rp b24oYSl7YT1hfHx0aGlzLmN1cnJlbnRPcmRlcjsKdmFyIGI9dGhpcy5lbGVtZW50 c1swXS5nZXRQYXJlbnQoKTt2YXIgYz1bXTt0aGlzLmVsZW1lbnRzLnNldFN0eWxl KCJvcGFjaXR5IiwwKTthLmVhY2goZnVuY3Rpb24oZCl7Yy5wdXNoKHRoaXMuZWxl bWVudHNbZF0uaW5qZWN0KGIpLnNldFN0eWxlcyh7dG9wOjAsbGVmdDowfSkpOwp9 LHRoaXMpO3RoaXMuZWxlbWVudHMuc2V0U3R5bGUoIm9wYWNpdHkiLDEpO3RoaXMu ZWxlbWVudHM9JCQoYyk7dGhpcy5zZXREZWZhdWx0T3JkZXIoKTtyZXR1cm4gdGhp czt9LGdldERlZmF1bHRPcmRlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1l bnRzLm1hcChmdW5jdGlvbihiLGEpe3JldHVybiBhOwp9KTt9LGdldEN1cnJlbnRP cmRlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmN1cnJlbnRPcmRlcjt9LGZvcndh cmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zb3J0KHRoaXMuZ2V0RGVmYXVsdE9y ZGVyKCkpO30sYmFja3dhcmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zb3J0KHRo aXMuZ2V0RGVmYXVsdE9yZGVyKCkucmV2ZXJzZSgpKTsKfSxyZXZlcnNlOmZ1bmN0 aW9uKCl7cmV0dXJuIHRoaXMuc29ydCh0aGlzLmN1cnJlbnRPcmRlci5yZXZlcnNl KCkpO30sc29ydEJ5RWxlbWVudHM6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuc29y dChhLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gdGhpcy5lbGVtZW50cy5pbmRleE9m KGIpOwp9LHRoaXMpKTt9LHN3YXA6ZnVuY3Rpb24oYyxiKXtpZih0eXBlT2YoYyk9 PSJlbGVtZW50Iil7Yz10aGlzLmVsZW1lbnRzLmluZGV4T2YoYyk7fWlmKHR5cGVP ZihiKT09ImVsZW1lbnQiKXtiPXRoaXMuZWxlbWVudHMuaW5kZXhPZihiKTt9dmFy IGE9QXJyYXkuY2xvbmUodGhpcy5jdXJyZW50T3JkZXIpOwphW3RoaXMuY3VycmVu dE9yZGVyLmluZGV4T2YoYyldPWI7YVt0aGlzLmN1cnJlbnRPcmRlci5pbmRleE9m KGIpXT1jO3JldHVybiB0aGlzLnNvcnQoYSk7fX0pO3ZhciBEcmFnPW5ldyBDbGFz cyh7SW1wbGVtZW50czpbRXZlbnRzLE9wdGlvbnNdLG9wdGlvbnM6e3NuYXA6Nix1 bml0OiJweCIsZ3JpZDpmYWxzZSxzdHlsZTp0cnVlLGxpbWl0OmZhbHNlLGhhbmRs ZTpmYWxzZSxpbnZlcnQ6ZmFsc2UscHJldmVudERlZmF1bHQ6ZmFsc2Usc3RvcFBy b3BhZ2F0aW9uOmZhbHNlLG1vZGlmaWVyczp7eDoibGVmdCIseToidG9wIn19LGlu aXRpYWxpemU6ZnVuY3Rpb24oKXt2YXIgYj1BcnJheS5saW5rKGFyZ3VtZW50cyx7 b3B0aW9uczpUeXBlLmlzT2JqZWN0LGVsZW1lbnQ6ZnVuY3Rpb24oYyl7cmV0dXJu IGMhPW51bGw7Cn19KTt0aGlzLmVsZW1lbnQ9ZG9jdW1lbnQuaWQoYi5lbGVtZW50 KTt0aGlzLmRvY3VtZW50PXRoaXMuZWxlbWVudC5nZXREb2N1bWVudCgpO3RoaXMu c2V0T3B0aW9ucyhiLm9wdGlvbnN8fHt9KTt2YXIgYT10eXBlT2YodGhpcy5vcHRp b25zLmhhbmRsZSk7dGhpcy5oYW5kbGVzPSgoYT09ImFycmF5Inx8YT09ImNvbGxl Y3Rpb24iKT8kJCh0aGlzLm9wdGlvbnMuaGFuZGxlKTpkb2N1bWVudC5pZCh0aGlz Lm9wdGlvbnMuaGFuZGxlKSl8fHRoaXMuZWxlbWVudDsKdGhpcy5tb3VzZT17bm93 Ont9LHBvczp7fX07dGhpcy52YWx1ZT17c3RhcnQ6e30sbm93Ont9fTt0aGlzLnNl bGVjdGlvbj0oQnJvd3Nlci5pZSk/InNlbGVjdHN0YXJ0IjoibW91c2Vkb3duIjtp ZihCcm93c2VyLmllJiYhRHJhZy5vbmRyYWdzdGFydEZpeGVkKXtkb2N1bWVudC5v bmRyYWdzdGFydD1GdW5jdGlvbi5mcm9tKGZhbHNlKTsKRHJhZy5vbmRyYWdzdGFy dEZpeGVkPXRydWU7fXRoaXMuYm91bmQ9e3N0YXJ0OnRoaXMuc3RhcnQuYmluZCh0 aGlzKSxjaGVjazp0aGlzLmNoZWNrLmJpbmQodGhpcyksZHJhZzp0aGlzLmRyYWcu YmluZCh0aGlzKSxzdG9wOnRoaXMuc3RvcC5iaW5kKHRoaXMpLGNhbmNlbDp0aGlz LmNhbmNlbC5iaW5kKHRoaXMpLGV2ZW50U3RvcDpGdW5jdGlvbi5mcm9tKGZhbHNl KX07CnRoaXMuYXR0YWNoKCk7fSxhdHRhY2g6ZnVuY3Rpb24oKXt0aGlzLmhhbmRs ZXMuYWRkRXZlbnQoIm1vdXNlZG93biIsdGhpcy5ib3VuZC5zdGFydCk7cmV0dXJu IHRoaXM7fSxkZXRhY2g6ZnVuY3Rpb24oKXt0aGlzLmhhbmRsZXMucmVtb3ZlRXZl bnQoIm1vdXNlZG93biIsdGhpcy5ib3VuZC5zdGFydCk7CnJldHVybiB0aGlzO30s c3RhcnQ6ZnVuY3Rpb24oYSl7dmFyIGo9dGhpcy5vcHRpb25zO2lmKGEucmlnaHRD bGljayl7cmV0dXJuO31pZihqLnByZXZlbnREZWZhdWx0KXthLnByZXZlbnREZWZh dWx0KCk7fWlmKGouc3RvcFByb3BhZ2F0aW9uKXthLnN0b3BQcm9wYWdhdGlvbigp Owp9dGhpcy5tb3VzZS5zdGFydD1hLnBhZ2U7dGhpcy5maXJlRXZlbnQoImJlZm9y ZVN0YXJ0Iix0aGlzLmVsZW1lbnQpO3ZhciBjPWoubGltaXQ7dGhpcy5saW1pdD17 eDpbXSx5OltdfTt2YXIgZSxnO2ZvcihlIGluIGoubW9kaWZpZXJzKXtpZighai5t b2RpZmllcnNbZV0pe2NvbnRpbnVlOwp9dmFyIGI9dGhpcy5lbGVtZW50LmdldFN0 eWxlKGoubW9kaWZpZXJzW2VdKTtpZihiJiYhYi5tYXRjaCgvcHgkLykpe2lmKCFn KXtnPXRoaXMuZWxlbWVudC5nZXRDb29yZGluYXRlcyh0aGlzLmVsZW1lbnQuZ2V0 T2Zmc2V0UGFyZW50KCkpO31iPWdbai5tb2RpZmllcnNbZV1dOwp9aWYoai5zdHls ZSl7dGhpcy52YWx1ZS5ub3dbZV09KGJ8fDApLnRvSW50KCk7fWVsc2V7dGhpcy52 YWx1ZS5ub3dbZV09dGhpcy5lbGVtZW50W2oubW9kaWZpZXJzW2VdXTt9aWYoai5p bnZlcnQpe3RoaXMudmFsdWUubm93W2VdKj0tMTt9dGhpcy5tb3VzZS5wb3NbZV09 YS5wYWdlW2VdLXRoaXMudmFsdWUubm93W2VdOwppZihjJiZjW2VdKXt2YXIgZD0y O3doaWxlKGQtLSl7dmFyIGY9Y1tlXVtkXTtpZihmfHxmPT09MCl7dGhpcy5saW1p dFtlXVtkXT0odHlwZW9mIGY9PSJmdW5jdGlvbiIpP2YoKTpmO319fX1pZih0eXBl T2YodGhpcy5vcHRpb25zLmdyaWQpPT0ibnVtYmVyIil7dGhpcy5vcHRpb25zLmdy aWQ9e3g6dGhpcy5vcHRpb25zLmdyaWQseTp0aGlzLm9wdGlvbnMuZ3JpZH07Cn12 YXIgaD17bW91c2Vtb3ZlOnRoaXMuYm91bmQuY2hlY2ssbW91c2V1cDp0aGlzLmJv dW5kLmNhbmNlbH07aFt0aGlzLnNlbGVjdGlvbl09dGhpcy5ib3VuZC5ldmVudFN0 b3A7dGhpcy5kb2N1bWVudC5hZGRFdmVudHMoaCk7fSxjaGVjazpmdW5jdGlvbihh KXtpZih0aGlzLm9wdGlvbnMucHJldmVudERlZmF1bHQpe2EucHJldmVudERlZmF1 bHQoKTsKfXZhciBiPU1hdGgucm91bmQoTWF0aC5zcXJ0KE1hdGgucG93KGEucGFn ZS54LXRoaXMubW91c2Uuc3RhcnQueCwyKStNYXRoLnBvdyhhLnBhZ2UueS10aGlz Lm1vdXNlLnN0YXJ0LnksMikpKTtpZihiPnRoaXMub3B0aW9ucy5zbmFwKXt0aGlz LmNhbmNlbCgpO3RoaXMuZG9jdW1lbnQuYWRkRXZlbnRzKHttb3VzZW1vdmU6dGhp cy5ib3VuZC5kcmFnLG1vdXNldXA6dGhpcy5ib3VuZC5zdG9wfSk7CnRoaXMuZmly ZUV2ZW50KCJzdGFydCIsW3RoaXMuZWxlbWVudCxhXSkuZmlyZUV2ZW50KCJzbmFw Iix0aGlzLmVsZW1lbnQpO319LGRyYWc6ZnVuY3Rpb24oYil7dmFyIGE9dGhpcy5v cHRpb25zO2lmKGEucHJldmVudERlZmF1bHQpe2IucHJldmVudERlZmF1bHQoKTsK fXRoaXMubW91c2Uubm93PWIucGFnZTtmb3IodmFyIGMgaW4gYS5tb2RpZmllcnMp e2lmKCFhLm1vZGlmaWVyc1tjXSl7Y29udGludWU7fXRoaXMudmFsdWUubm93W2Nd PXRoaXMubW91c2Uubm93W2NdLXRoaXMubW91c2UucG9zW2NdO2lmKGEuaW52ZXJ0 KXt0aGlzLnZhbHVlLm5vd1tjXSo9LTE7Cn1pZihhLmxpbWl0JiZ0aGlzLmxpbWl0 W2NdKXtpZigodGhpcy5saW1pdFtjXVsxXXx8dGhpcy5saW1pdFtjXVsxXT09PTAp JiYodGhpcy52YWx1ZS5ub3dbY10+dGhpcy5saW1pdFtjXVsxXSkpe3RoaXMudmFs dWUubm93W2NdPXRoaXMubGltaXRbY11bMV07fWVsc2V7aWYoKHRoaXMubGltaXRb Y11bMF18fHRoaXMubGltaXRbY11bMF09PT0wKSYmKHRoaXMudmFsdWUubm93W2Nd PHRoaXMubGltaXRbY11bMF0pKXt0aGlzLnZhbHVlLm5vd1tjXT10aGlzLmxpbWl0 W2NdWzBdOwp9fX1pZihhLmdyaWRbY10pe3RoaXMudmFsdWUubm93W2NdLT0oKHRo aXMudmFsdWUubm93W2NdLSh0aGlzLmxpbWl0W2NdWzBdfHwwKSklYS5ncmlkW2Nd KTt9aWYoYS5zdHlsZSl7dGhpcy5lbGVtZW50LnNldFN0eWxlKGEubW9kaWZpZXJz W2NdLHRoaXMudmFsdWUubm93W2NdK2EudW5pdCk7Cn1lbHNle3RoaXMuZWxlbWVu dFthLm1vZGlmaWVyc1tjXV09dGhpcy52YWx1ZS5ub3dbY107fX10aGlzLmZpcmVF dmVudCgiZHJhZyIsW3RoaXMuZWxlbWVudCxiXSk7fSxjYW5jZWw6ZnVuY3Rpb24o YSl7dGhpcy5kb2N1bWVudC5yZW1vdmVFdmVudHMoe21vdXNlbW92ZTp0aGlzLmJv dW5kLmNoZWNrLG1vdXNldXA6dGhpcy5ib3VuZC5jYW5jZWx9KTsKaWYoYSl7dGhp cy5kb2N1bWVudC5yZW1vdmVFdmVudCh0aGlzLnNlbGVjdGlvbix0aGlzLmJvdW5k LmV2ZW50U3RvcCk7dGhpcy5maXJlRXZlbnQoImNhbmNlbCIsdGhpcy5lbGVtZW50 KTt9fSxzdG9wOmZ1bmN0aW9uKGIpe3ZhciBhPXttb3VzZW1vdmU6dGhpcy5ib3Vu ZC5kcmFnLG1vdXNldXA6dGhpcy5ib3VuZC5zdG9wfTsKYVt0aGlzLnNlbGVjdGlv bl09dGhpcy5ib3VuZC5ldmVudFN0b3A7dGhpcy5kb2N1bWVudC5yZW1vdmVFdmVu dHMoYSk7aWYoYil7dGhpcy5maXJlRXZlbnQoImNvbXBsZXRlIixbdGhpcy5lbGVt ZW50LGJdKTt9fX0pO0VsZW1lbnQuaW1wbGVtZW50KHttYWtlUmVzaXphYmxlOmZ1 bmN0aW9uKGEpe3ZhciBiPW5ldyBEcmFnKHRoaXMsT2JqZWN0Lm1lcmdlKHttb2Rp ZmllcnM6e3g6IndpZHRoIix5OiJoZWlnaHQifX0sYSkpOwp0aGlzLnN0b3JlKCJy ZXNpemVyIixiKTtyZXR1cm4gYi5hZGRFdmVudCgiZHJhZyIsZnVuY3Rpb24oKXt0 aGlzLmZpcmVFdmVudCgicmVzaXplIixiKTt9LmJpbmQodGhpcykpO319KTtEcmFn Lk1vdmU9bmV3IENsYXNzKHtFeHRlbmRzOkRyYWcsb3B0aW9uczp7ZHJvcHBhYmxl czpbXSxjb250YWluZXI6ZmFsc2UscHJlY2FsY3VsYXRlOmZhbHNlLGluY2x1ZGVN YXJnaW5zOnRydWUsY2hlY2tEcm9wcGFibGVzOnRydWV9LGluaXRpYWxpemU6ZnVu Y3Rpb24oYixhKXt0aGlzLnBhcmVudChiLGEpOwpiPXRoaXMuZWxlbWVudDt0aGlz LmRyb3BwYWJsZXM9JCQodGhpcy5vcHRpb25zLmRyb3BwYWJsZXMpO3RoaXMuY29u dGFpbmVyPWRvY3VtZW50LmlkKHRoaXMub3B0aW9ucy5jb250YWluZXIpO2lmKHRo aXMuY29udGFpbmVyJiZ0eXBlT2YodGhpcy5jb250YWluZXIpIT0iZWxlbWVudCIp e3RoaXMuY29udGFpbmVyPWRvY3VtZW50LmlkKHRoaXMuY29udGFpbmVyLmdldERv Y3VtZW50KCkuYm9keSk7Cn1pZih0aGlzLm9wdGlvbnMuc3R5bGUpe2lmKHRoaXMu b3B0aW9ucy5tb2RpZmllcnMueD09ImxlZnQiJiZ0aGlzLm9wdGlvbnMubW9kaWZp ZXJzLnk9PSJ0b3AiKXt2YXIgYz1iLmdldE9mZnNldFBhcmVudCgpLGQ9Yi5nZXRT dHlsZXMoImxlZnQiLCJ0b3AiKTtpZihjJiYoZC5sZWZ0PT0iYXV0byJ8fGQudG9w PT0iYXV0byIpKXtiLnNldFBvc2l0aW9uKGIuZ2V0UG9zaXRpb24oYykpOwp9fWlm KGIuZ2V0U3R5bGUoInBvc2l0aW9uIik9PSJzdGF0aWMiKXtiLnNldFN0eWxlKCJw b3NpdGlvbiIsImFic29sdXRlIik7fX10aGlzLmFkZEV2ZW50KCJzdGFydCIsdGhp cy5jaGVja0Ryb3BwYWJsZXMsdHJ1ZSk7dGhpcy5vdmVyZWQ9bnVsbDt9LHN0YXJ0 OmZ1bmN0aW9uKGEpe2lmKHRoaXMuY29udGFpbmVyKXt0aGlzLm9wdGlvbnMubGlt aXQ9dGhpcy5jYWxjdWxhdGVMaW1pdCgpOwp9aWYodGhpcy5vcHRpb25zLnByZWNh bGN1bGF0ZSl7dGhpcy5wb3NpdGlvbnM9dGhpcy5kcm9wcGFibGVzLm1hcChmdW5j dGlvbihiKXtyZXR1cm4gYi5nZXRDb29yZGluYXRlcygpO30pO310aGlzLnBhcmVu dChhKTt9LGNhbGN1bGF0ZUxpbWl0OmZ1bmN0aW9uKCl7dmFyIGo9dGhpcy5lbGVt ZW50LGU9dGhpcy5jb250YWluZXIsZD1kb2N1bWVudC5pZChqLmdldE9mZnNldFBh cmVudCgpKXx8ZG9jdW1lbnQuYm9keSxoPWUuZ2V0Q29vcmRpbmF0ZXMoZCksYz17 fSxiPXt9LGs9e30sZz17fSxtPXt9OwpbInRvcCIsInJpZ2h0IiwiYm90dG9tIiwi bGVmdCJdLmVhY2goZnVuY3Rpb24ocSl7Y1txXT1qLmdldFN0eWxlKCJtYXJnaW4t IitxKS50b0ludCgpO2JbcV09ai5nZXRTdHlsZSgiYm9yZGVyLSIrcSkudG9JbnQo KTtrW3FdPWUuZ2V0U3R5bGUoIm1hcmdpbi0iK3EpLnRvSW50KCk7CmdbcV09ZS5n ZXRTdHlsZSgiYm9yZGVyLSIrcSkudG9JbnQoKTttW3FdPWQuZ2V0U3R5bGUoInBh ZGRpbmctIitxKS50b0ludCgpO30sdGhpcyk7dmFyIGY9ai5vZmZzZXRXaWR0aCtj LmxlZnQrYy5yaWdodCxwPWoub2Zmc2V0SGVpZ2h0K2MudG9wK2MuYm90dG9tLGk9 MCxsPTAsbz1oLnJpZ2h0LWcucmlnaHQtZixhPWguYm90dG9tLWcuYm90dG9tLXA7 CmlmKHRoaXMub3B0aW9ucy5pbmNsdWRlTWFyZ2lucyl7aSs9Yy5sZWZ0O2wrPWMu dG9wO31lbHNle28rPWMucmlnaHQ7YSs9Yy5ib3R0b207fWlmKGouZ2V0U3R5bGUo InBvc2l0aW9uIik9PSJyZWxhdGl2ZSIpe3ZhciBuPWouZ2V0Q29vcmRpbmF0ZXMo ZCk7bi5sZWZ0LT1qLmdldFN0eWxlKCJsZWZ0IikudG9JbnQoKTsKbi50b3AtPWou Z2V0U3R5bGUoInRvcCIpLnRvSW50KCk7aS09bi5sZWZ0O2wtPW4udG9wO2lmKGUu Z2V0U3R5bGUoInBvc2l0aW9uIikhPSJyZWxhdGl2ZSIpe2krPWcubGVmdDtsKz1n LnRvcDt9bys9Yy5sZWZ0LW4ubGVmdDthKz1jLnRvcC1uLnRvcDtpZihlIT1kKXtp Kz1rLmxlZnQrbS5sZWZ0OwpsKz0oKEJyb3dzZXIuaWU2fHxCcm93c2VyLmllNyk/ MDprLnRvcCkrbS50b3A7fX1lbHNle2ktPWMubGVmdDtsLT1jLnRvcDtpZihlIT1k KXtpKz1oLmxlZnQrZy5sZWZ0O2wrPWgudG9wK2cudG9wO319cmV0dXJue3g6W2ks b10seTpbbCxhXX07fSxnZXREcm9wcGFibGVDb29yZGluYXRlczpmdW5jdGlvbihj KXt2YXIgYj1jLmdldENvb3JkaW5hdGVzKCk7CmlmKGMuZ2V0U3R5bGUoInBvc2l0 aW9uIik9PSJmaXhlZCIpe3ZhciBhPXdpbmRvdy5nZXRTY3JvbGwoKTtiLmxlZnQr PWEueDtiLnJpZ2h0Kz1hLng7Yi50b3ArPWEueTtiLmJvdHRvbSs9YS55O31yZXR1 cm4gYjt9LGNoZWNrRHJvcHBhYmxlczpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZHJv cHBhYmxlcy5maWx0ZXIoZnVuY3Rpb24oZCxjKXtkPXRoaXMucG9zaXRpb25zP3Ro aXMucG9zaXRpb25zW2NdOnRoaXMuZ2V0RHJvcHBhYmxlQ29vcmRpbmF0ZXMoZCk7 CnZhciBiPXRoaXMubW91c2Uubm93O3JldHVybihiLng+ZC5sZWZ0JiZiLng8ZC5y aWdodCYmYi55PGQuYm90dG9tJiZiLnk+ZC50b3ApO30sdGhpcykuZ2V0TGFzdCgp O2lmKHRoaXMub3ZlcmVkIT1hKXtpZih0aGlzLm92ZXJlZCl7dGhpcy5maXJlRXZl bnQoImxlYXZlIixbdGhpcy5lbGVtZW50LHRoaXMub3ZlcmVkXSk7Cn1pZihhKXt0 aGlzLmZpcmVFdmVudCgiZW50ZXIiLFt0aGlzLmVsZW1lbnQsYV0pO310aGlzLm92 ZXJlZD1hO319LGRyYWc6ZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnQoYSk7aWYodGhp cy5vcHRpb25zLmNoZWNrRHJvcHBhYmxlcyYmdGhpcy5kcm9wcGFibGVzLmxlbmd0 aCl7dGhpcy5jaGVja0Ryb3BwYWJsZXMoKTsKfX0sc3RvcDpmdW5jdGlvbihhKXt0 aGlzLmNoZWNrRHJvcHBhYmxlcygpO3RoaXMuZmlyZUV2ZW50KCJkcm9wIixbdGhp cy5lbGVtZW50LHRoaXMub3ZlcmVkLGFdKTt0aGlzLm92ZXJlZD1udWxsO3JldHVy biB0aGlzLnBhcmVudChhKTt9fSk7RWxlbWVudC5pbXBsZW1lbnQoe21ha2VEcmFn Z2FibGU6ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IERyYWcuTW92ZSh0aGlzLGEpOwp0 aGlzLnN0b3JlKCJkcmFnZ2VyIixiKTtyZXR1cm4gYjt9fSk7dmFyIFNsaWRlcj1u ZXcgQ2xhc3Moe0ltcGxlbWVudHM6W0V2ZW50cyxPcHRpb25zXSxCaW5kczpbImNs aWNrZWRFbGVtZW50IiwiZHJhZ2dlZEtub2IiLCJzY3JvbGxlZEVsZW1lbnQiXSxv cHRpb25zOntvblRpY2s6ZnVuY3Rpb24oYSl7dGhpcy5zZXRLbm9iUG9zaXRpb24o YSk7Cn0saW5pdGlhbFN0ZXA6MCxzbmFwOmZhbHNlLG9mZnNldDowLHJhbmdlOmZh bHNlLHdoZWVsOmZhbHNlLHN0ZXBzOjEwMCxtb2RlOiJob3Jpem9udGFsIn0saW5p dGlhbGl6ZTpmdW5jdGlvbihmLGEsZSl7dGhpcy5zZXRPcHRpb25zKGUpO2U9dGhp cy5vcHRpb25zO3RoaXMuZWxlbWVudD1kb2N1bWVudC5pZChmKTsKYT10aGlzLmtu b2I9ZG9jdW1lbnQuaWQoYSk7dGhpcy5wcmV2aW91c0NoYW5nZT10aGlzLnByZXZp b3VzRW5kPXRoaXMuc3RlcD0tMTt2YXIgYj17fSxkPXt4OmZhbHNlLHk6ZmFsc2V9 O3N3aXRjaChlLm1vZGUpe2Nhc2UidmVydGljYWwiOnRoaXMuYXhpcz0ieSI7dGhp cy5wcm9wZXJ0eT0idG9wIjsKdGhpcy5vZmZzZXQ9Im9mZnNldEhlaWdodCI7YnJl YWs7Y2FzZSJob3Jpem9udGFsIjp0aGlzLmF4aXM9IngiO3RoaXMucHJvcGVydHk9 ImxlZnQiO3RoaXMub2Zmc2V0PSJvZmZzZXRXaWR0aCI7fXRoaXMuc2V0U2xpZGVy RGltZW5zaW9ucygpO3RoaXMuc2V0UmFuZ2UoZS5yYW5nZSk7CmlmKGEuZ2V0U3R5 bGUoInBvc2l0aW9uIik9PSJzdGF0aWMiKXthLnNldFN0eWxlKCJwb3NpdGlvbiIs InJlbGF0aXZlIik7fWEuc2V0U3R5bGUodGhpcy5wcm9wZXJ0eSwtZS5vZmZzZXQp O2RbdGhpcy5heGlzXT10aGlzLnByb3BlcnR5O2JbdGhpcy5heGlzXT1bLWUub2Zm c2V0LHRoaXMuZnVsbC1lLm9mZnNldF07CnZhciBjPXtzbmFwOjAsbGltaXQ6Yixt b2RpZmllcnM6ZCxvbkRyYWc6dGhpcy5kcmFnZ2VkS25vYixvblN0YXJ0OnRoaXMu ZHJhZ2dlZEtub2Isb25CZWZvcmVTdGFydDooZnVuY3Rpb24oKXt0aGlzLmlzRHJh Z2dpbmc9dHJ1ZTt9KS5iaW5kKHRoaXMpLG9uQ2FuY2VsOmZ1bmN0aW9uKCl7dGhp cy5pc0RyYWdnaW5nPWZhbHNlOwp9LmJpbmQodGhpcyksb25Db21wbGV0ZTpmdW5j dGlvbigpe3RoaXMuaXNEcmFnZ2luZz1mYWxzZTt0aGlzLmRyYWdnZWRLbm9iKCk7 dGhpcy5lbmQoKTt9LmJpbmQodGhpcyl9O2lmKGUuc25hcCl7dGhpcy5zZXRTbmFw KGMpO310aGlzLmRyYWc9bmV3IERyYWcoYSxjKTsKdGhpcy5hdHRhY2goKTtpZihl LmluaXRpYWxTdGVwIT1udWxsKXt0aGlzLnNldChlLmluaXRpYWxTdGVwKTt9fSxh dHRhY2g6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQuYWRkRXZlbnQoIm1vdXNlZG93 biIsdGhpcy5jbGlja2VkRWxlbWVudCk7aWYodGhpcy5vcHRpb25zLndoZWVsKXt0 aGlzLmVsZW1lbnQuYWRkRXZlbnQoIm1vdXNld2hlZWwiLHRoaXMuc2Nyb2xsZWRF bGVtZW50KTsKfXRoaXMuZHJhZy5hdHRhY2goKTtyZXR1cm4gdGhpczt9LGRldGFj aDpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5yZW1vdmVFdmVudCgibW91c2Vkb3du Iix0aGlzLmNsaWNrZWRFbGVtZW50KS5yZW1vdmVFdmVudCgibW91c2V3aGVlbCIs dGhpcy5zY3JvbGxlZEVsZW1lbnQpOwp0aGlzLmRyYWcuZGV0YWNoKCk7cmV0dXJu IHRoaXM7fSxhdXRvc2l6ZTpmdW5jdGlvbigpe3RoaXMuc2V0U2xpZGVyRGltZW5z aW9ucygpLnNldEtub2JQb3NpdGlvbih0aGlzLnRvUG9zaXRpb24odGhpcy5zdGVw KSk7dGhpcy5kcmFnLm9wdGlvbnMubGltaXRbdGhpcy5heGlzXT1bLXRoaXMub3B0 aW9ucy5vZmZzZXQsdGhpcy5mdWxsLXRoaXMub3B0aW9ucy5vZmZzZXRdOwppZih0 aGlzLm9wdGlvbnMuc25hcCl7dGhpcy5zZXRTbmFwKCk7fXJldHVybiB0aGlzO30s c2V0U25hcDpmdW5jdGlvbihhKXtpZighYSl7YT10aGlzLmRyYWcub3B0aW9uczt9 YS5ncmlkPU1hdGguY2VpbCh0aGlzLnN0ZXBXaWR0aCk7YS5saW1pdFt0aGlzLmF4 aXNdWzFdPXRoaXMuZnVsbDsKcmV0dXJuIHRoaXM7fSxzZXRLbm9iUG9zaXRpb246 ZnVuY3Rpb24oYSl7aWYodGhpcy5vcHRpb25zLnNuYXApe2E9dGhpcy50b1Bvc2l0 aW9uKHRoaXMuc3RlcCk7fXRoaXMua25vYi5zZXRTdHlsZSh0aGlzLnByb3BlcnR5 LGEpO3JldHVybiB0aGlzO30sc2V0U2xpZGVyRGltZW5zaW9uczpmdW5jdGlvbigp e3RoaXMuZnVsbD10aGlzLmVsZW1lbnQubWVhc3VyZShmdW5jdGlvbigpe3RoaXMu aGFsZj10aGlzLmtub2JbdGhpcy5vZmZzZXRdLzI7CnJldHVybiB0aGlzLmVsZW1l bnRbdGhpcy5vZmZzZXRdLXRoaXMua25vYlt0aGlzLm9mZnNldF0rKHRoaXMub3B0 aW9ucy5vZmZzZXQqMik7fS5iaW5kKHRoaXMpKTtyZXR1cm4gdGhpczt9LHNldDpm dW5jdGlvbihhKXtpZighKCh0aGlzLnJhbmdlPjApXihhPHRoaXMubWluKSkpe2E9 dGhpcy5taW47Cn1pZighKCh0aGlzLnJhbmdlPjApXihhPnRoaXMubWF4KSkpe2E9 dGhpcy5tYXg7fXRoaXMuc3RlcD1NYXRoLnJvdW5kKGEpO3JldHVybiB0aGlzLmNo ZWNrU3RlcCgpLmZpcmVFdmVudCgidGljayIsdGhpcy50b1Bvc2l0aW9uKHRoaXMu c3RlcCkpLmVuZCgpO30sc2V0UmFuZ2U6ZnVuY3Rpb24oYSxiKXt0aGlzLm1pbj1B cnJheS5waWNrKFthWzBdLDBdKTsKdGhpcy5tYXg9QXJyYXkucGljayhbYVsxXSx0 aGlzLm9wdGlvbnMuc3RlcHNdKTt0aGlzLnJhbmdlPXRoaXMubWF4LXRoaXMubWlu O3RoaXMuc3RlcHM9dGhpcy5vcHRpb25zLnN0ZXBzfHx0aGlzLmZ1bGw7dGhpcy5z dGVwU2l6ZT1NYXRoLmFicyh0aGlzLnJhbmdlKS90aGlzLnN0ZXBzOwp0aGlzLnN0 ZXBXaWR0aD10aGlzLnN0ZXBTaXplKnRoaXMuZnVsbC9NYXRoLmFicyh0aGlzLnJh bmdlKTtpZihhKXt0aGlzLnNldChBcnJheS5waWNrKFtiLHRoaXMuc3RlcF0pLmZs b29yKHRoaXMubWluKS5tYXgodGhpcy5tYXgpKTt9cmV0dXJuIHRoaXM7fSxjbGlj a2VkRWxlbWVudDpmdW5jdGlvbihjKXtpZih0aGlzLmlzRHJhZ2dpbmd8fGMudGFy Z2V0PT10aGlzLmtub2Ipe3JldHVybjsKfXZhciBiPXRoaXMucmFuZ2U8MD8tMTox LGE9Yy5wYWdlW3RoaXMuYXhpc10tdGhpcy5lbGVtZW50LmdldFBvc2l0aW9uKClb dGhpcy5heGlzXS10aGlzLmhhbGY7YT1hLmxpbWl0KC10aGlzLm9wdGlvbnMub2Zm c2V0LHRoaXMuZnVsbC10aGlzLm9wdGlvbnMub2Zmc2V0KTsKdGhpcy5zdGVwPU1h dGgucm91bmQodGhpcy5taW4rYip0aGlzLnRvU3RlcChhKSk7dGhpcy5jaGVja1N0 ZXAoKS5maXJlRXZlbnQoInRpY2siLGEpLmVuZCgpO30sc2Nyb2xsZWRFbGVtZW50 OmZ1bmN0aW9uKGEpe3ZhciBiPSh0aGlzLm9wdGlvbnMubW9kZT09Imhvcml6b250 YWwiKT8oYS53aGVlbDwwKTooYS53aGVlbD4wKTsKdGhpcy5zZXQodGhpcy5zdGVw KyhiPy0xOjEpKnRoaXMuc3RlcFNpemUpO2Euc3RvcCgpO30sZHJhZ2dlZEtub2I6 ZnVuY3Rpb24oKXt2YXIgYj10aGlzLnJhbmdlPDA/LTE6MSxhPXRoaXMuZHJhZy52 YWx1ZS5ub3dbdGhpcy5heGlzXTthPWEubGltaXQoLXRoaXMub3B0aW9ucy5vZmZz ZXQsdGhpcy5mdWxsLXRoaXMub3B0aW9ucy5vZmZzZXQpOwp0aGlzLnN0ZXA9TWF0 aC5yb3VuZCh0aGlzLm1pbitiKnRoaXMudG9TdGVwKGEpKTt0aGlzLmNoZWNrU3Rl cCgpO30sY2hlY2tTdGVwOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5zdGVwO2lmKHRo aXMucHJldmlvdXNDaGFuZ2UhPWEpe3RoaXMucHJldmlvdXNDaGFuZ2U9YTsKdGhp cy5maXJlRXZlbnQoImNoYW5nZSIsYSk7fXJldHVybiB0aGlzO30sZW5kOmZ1bmN0 aW9uKCl7dmFyIGE9dGhpcy5zdGVwO2lmKHRoaXMucHJldmlvdXNFbmQhPT1hKXt0 aGlzLnByZXZpb3VzRW5kPWE7dGhpcy5maXJlRXZlbnQoImNvbXBsZXRlIixhKyIi KTt9cmV0dXJuIHRoaXM7Cn0sdG9TdGVwOmZ1bmN0aW9uKGEpe3ZhciBiPShhK3Ro aXMub3B0aW9ucy5vZmZzZXQpKnRoaXMuc3RlcFNpemUvdGhpcy5mdWxsKnRoaXMu c3RlcHM7cmV0dXJuIHRoaXMub3B0aW9ucy5zdGVwcz9NYXRoLnJvdW5kKGItPWIl dGhpcy5zdGVwU2l6ZSk6Yjt9LHRvUG9zaXRpb246ZnVuY3Rpb24oYSl7cmV0dXJu KHRoaXMuZnVsbCpNYXRoLmFicyh0aGlzLm1pbi1hKSkvKHRoaXMuc3RlcHMqdGhp cy5zdGVwU2l6ZSktdGhpcy5vcHRpb25zLm9mZnNldDsKfX0pO3ZhciBTb3J0YWJs ZXM9bmV3IENsYXNzKHtJbXBsZW1lbnRzOltFdmVudHMsT3B0aW9uc10sb3B0aW9u czp7b3BhY2l0eToxLGNsb25lOmZhbHNlLHJldmVydDpmYWxzZSxoYW5kbGU6ZmFs c2UsZHJhZ09wdGlvbnM6e319LGluaXRpYWxpemU6ZnVuY3Rpb24oYSxiKXt0aGlz LnNldE9wdGlvbnMoYik7CnRoaXMuZWxlbWVudHM9W107dGhpcy5saXN0cz1bXTt0 aGlzLmlkbGU9dHJ1ZTt0aGlzLmFkZExpc3RzKCQkKGRvY3VtZW50LmlkKGEpfHxh KSk7aWYoIXRoaXMub3B0aW9ucy5jbG9uZSl7dGhpcy5vcHRpb25zLnJldmVydD1m YWxzZTt9aWYodGhpcy5vcHRpb25zLnJldmVydCl7dGhpcy5lZmZlY3Q9bmV3IEZ4 Lk1vcnBoKG51bGwsT2JqZWN0Lm1lcmdlKHtkdXJhdGlvbjoyNTAsbGluazoiY2Fu Y2VsIn0sdGhpcy5vcHRpb25zLnJldmVydCkpOwp9fSxhdHRhY2g6ZnVuY3Rpb24o KXt0aGlzLmFkZExpc3RzKHRoaXMubGlzdHMpO3JldHVybiB0aGlzO30sZGV0YWNo OmZ1bmN0aW9uKCl7dGhpcy5saXN0cz10aGlzLnJlbW92ZUxpc3RzKHRoaXMubGlz dHMpO3JldHVybiB0aGlzO30sYWRkSXRlbXM6ZnVuY3Rpb24oKXtBcnJheS5mbGF0 dGVuKGFyZ3VtZW50cykuZWFjaChmdW5jdGlvbihhKXt0aGlzLmVsZW1lbnRzLnB1 c2goYSk7CnZhciBiPWEucmV0cmlldmUoInNvcnRhYmxlczpzdGFydCIsZnVuY3Rp b24oYyl7dGhpcy5zdGFydC5jYWxsKHRoaXMsYyxhKTt9LmJpbmQodGhpcykpOyh0 aGlzLm9wdGlvbnMuaGFuZGxlP2EuZ2V0RWxlbWVudCh0aGlzLm9wdGlvbnMuaGFu ZGxlKXx8YTphKS5hZGRFdmVudCgibW91c2Vkb3duIixiKTsKfSx0aGlzKTtyZXR1 cm4gdGhpczt9LGFkZExpc3RzOmZ1bmN0aW9uKCl7QXJyYXkuZmxhdHRlbihhcmd1 bWVudHMpLmVhY2goZnVuY3Rpb24oYSl7dGhpcy5saXN0cy5pbmNsdWRlKGEpO3Ro aXMuYWRkSXRlbXMoYS5nZXRDaGlsZHJlbigpKTt9LHRoaXMpO3JldHVybiB0aGlz Owp9LHJlbW92ZUl0ZW1zOmZ1bmN0aW9uKCl7cmV0dXJuICQkKEFycmF5LmZsYXR0 ZW4oYXJndW1lbnRzKS5tYXAoZnVuY3Rpb24oYSl7dGhpcy5lbGVtZW50cy5lcmFz ZShhKTt2YXIgYj1hLnJldHJpZXZlKCJzb3J0YWJsZXM6c3RhcnQiKTsodGhpcy5v cHRpb25zLmhhbmRsZT9hLmdldEVsZW1lbnQodGhpcy5vcHRpb25zLmhhbmRsZSl8 fGE6YSkucmVtb3ZlRXZlbnQoIm1vdXNlZG93biIsYik7CnJldHVybiBhO30sdGhp cykpO30scmVtb3ZlTGlzdHM6ZnVuY3Rpb24oKXtyZXR1cm4gJCQoQXJyYXkuZmxh dHRlbihhcmd1bWVudHMpLm1hcChmdW5jdGlvbihhKXt0aGlzLmxpc3RzLmVyYXNl KGEpO3RoaXMucmVtb3ZlSXRlbXMoYS5nZXRDaGlsZHJlbigpKTtyZXR1cm4gYTsK fSx0aGlzKSk7fSxnZXRDbG9uZTpmdW5jdGlvbihiLGEpe2lmKCF0aGlzLm9wdGlv bnMuY2xvbmUpe3JldHVybiBuZXcgRWxlbWVudChhLnRhZ05hbWUpLmluamVjdChk b2N1bWVudC5ib2R5KTt9aWYodHlwZU9mKHRoaXMub3B0aW9ucy5jbG9uZSk9PSJm dW5jdGlvbiIpe3JldHVybiB0aGlzLm9wdGlvbnMuY2xvbmUuY2FsbCh0aGlzLGIs YSx0aGlzLmxpc3QpOwp9dmFyIGM9YS5jbG9uZSh0cnVlKS5zZXRTdHlsZXMoe21h cmdpbjowLHBvc2l0aW9uOiJhYnNvbHV0ZSIsdmlzaWJpbGl0eToiaGlkZGVuIix3 aWR0aDphLmdldFN0eWxlKCJ3aWR0aCIpfSkuYWRkRXZlbnQoIm1vdXNlZG93biIs ZnVuY3Rpb24oZCl7YS5maXJlRXZlbnQoIm1vdXNlZG93biIsZCk7Cn0pO2lmKGMu Z2V0KCJodG1sIikudGVzdCgicmFkaW8iKSl7Yy5nZXRFbGVtZW50cygiaW5wdXRb dHlwZT1yYWRpb10iKS5lYWNoKGZ1bmN0aW9uKGQsZSl7ZC5zZXQoIm5hbWUiLCJj bG9uZV8iK2UpO2lmKGQuZ2V0KCJjaGVja2VkIikpe2EuZ2V0RWxlbWVudHMoImlu cHV0W3R5cGU9cmFkaW9dIilbZV0uc2V0KCJjaGVja2VkIix0cnVlKTsKfX0pO31y ZXR1cm4gYy5pbmplY3QodGhpcy5saXN0KS5zZXRQb3NpdGlvbihhLmdldFBvc2l0 aW9uKGEuZ2V0T2Zmc2V0UGFyZW50KCkpKTt9LGdldERyb3BwYWJsZXM6ZnVuY3Rp b24oKXt2YXIgYT10aGlzLmxpc3QuZ2V0Q2hpbGRyZW4oKS5lcmFzZSh0aGlzLmNs b25lKS5lcmFzZSh0aGlzLmVsZW1lbnQpOwppZighdGhpcy5vcHRpb25zLmNvbnN0 cmFpbil7YS5hcHBlbmQodGhpcy5saXN0cykuZXJhc2UodGhpcy5saXN0KTt9cmV0 dXJuIGE7fSxpbnNlcnQ6ZnVuY3Rpb24oYyxiKXt2YXIgYT0iaW5zaWRlIjtpZih0 aGlzLmxpc3RzLmNvbnRhaW5zKGIpKXt0aGlzLmxpc3Q9YjsKdGhpcy5kcmFnLmRy b3BwYWJsZXM9dGhpcy5nZXREcm9wcGFibGVzKCk7fWVsc2V7YT10aGlzLmVsZW1l bnQuZ2V0QWxsUHJldmlvdXMoKS5jb250YWlucyhiKT8iYmVmb3JlIjoiYWZ0ZXIi O310aGlzLmVsZW1lbnQuaW5qZWN0KGIsYSk7dGhpcy5maXJlRXZlbnQoInNvcnQi LFt0aGlzLmVsZW1lbnQsdGhpcy5jbG9uZV0pOwp9LHN0YXJ0OmZ1bmN0aW9uKGIs YSl7aWYoIXRoaXMuaWRsZXx8Yi5yaWdodENsaWNrfHxbImJ1dHRvbiIsImlucHV0 IiwiYSIsInRleHRhcmVhIl0uY29udGFpbnMoYi50YXJnZXQuZ2V0KCJ0YWciKSkp e3JldHVybjt9dGhpcy5pZGxlPWZhbHNlO3RoaXMuZWxlbWVudD1hOwp0aGlzLm9w YWNpdHk9YS5nZXRTdHlsZSgib3BhY2l0eSIpO3RoaXMubGlzdD1hLmdldFBhcmVu dCgpO3RoaXMuY2xvbmU9dGhpcy5nZXRDbG9uZShiLGEpO3RoaXMuZHJhZz1uZXcg RHJhZy5Nb3ZlKHRoaXMuY2xvbmUsT2JqZWN0Lm1lcmdlKHtkcm9wcGFibGVzOnRo aXMuZ2V0RHJvcHBhYmxlcygpfSx0aGlzLm9wdGlvbnMuZHJhZ09wdGlvbnMpKS5h ZGRFdmVudHMoe29uU25hcDpmdW5jdGlvbigpe2Iuc3RvcCgpOwp0aGlzLmNsb25l LnNldFN0eWxlKCJ2aXNpYmlsaXR5IiwidmlzaWJsZSIpO3RoaXMuZWxlbWVudC5z ZXRTdHlsZSgib3BhY2l0eSIsdGhpcy5vcHRpb25zLm9wYWNpdHl8fDApO3RoaXMu ZmlyZUV2ZW50KCJzdGFydCIsW3RoaXMuZWxlbWVudCx0aGlzLmNsb25lXSk7Cn0u YmluZCh0aGlzKSxvbkVudGVyOnRoaXMuaW5zZXJ0LmJpbmQodGhpcyksb25DYW5j ZWw6dGhpcy5lbmQuYmluZCh0aGlzKSxvbkNvbXBsZXRlOnRoaXMuZW5kLmJpbmQo dGhpcyl9KTt0aGlzLmNsb25lLmluamVjdCh0aGlzLmVsZW1lbnQsImJlZm9yZSIp O3RoaXMuZHJhZy5zdGFydChiKTsKfSxlbmQ6ZnVuY3Rpb24oKXt0aGlzLmRyYWcu ZGV0YWNoKCk7dGhpcy5lbGVtZW50LnNldFN0eWxlKCJvcGFjaXR5Iix0aGlzLm9w YWNpdHkpO2lmKHRoaXMuZWZmZWN0KXt2YXIgYj10aGlzLmVsZW1lbnQuZ2V0U3R5 bGVzKCJ3aWR0aCIsImhlaWdodCIpLGQ9dGhpcy5jbG9uZSxjPWQuY29tcHV0ZVBv c2l0aW9uKHRoaXMuZWxlbWVudC5nZXRQb3NpdGlvbih0aGlzLmNsb25lLmdldE9m ZnNldFBhcmVudCgpKSk7CnZhciBhPWZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVFdmVu dCgiY2FuY2VsIixhKTtkLmRlc3Ryb3koKTt9O3RoaXMuZWZmZWN0LmVsZW1lbnQ9 ZDt0aGlzLmVmZmVjdC5zdGFydCh7dG9wOmMudG9wLGxlZnQ6Yy5sZWZ0LHdpZHRo OmIud2lkdGgsaGVpZ2h0OmIuaGVpZ2h0LG9wYWNpdHk6MC4yNX0pLmFkZEV2ZW50 KCJjYW5jZWwiLGEpLmNoYWluKGEpOwp9ZWxzZXt0aGlzLmNsb25lLmRlc3Ryb3ko KTt9dGhpcy5yZXNldCgpO30scmVzZXQ6ZnVuY3Rpb24oKXt0aGlzLmlkbGU9dHJ1 ZTt0aGlzLmZpcmVFdmVudCgiY29tcGxldGUiLHRoaXMuZWxlbWVudCk7fSxzZXJp YWxpemU6ZnVuY3Rpb24oKXt2YXIgYz1BcnJheS5saW5rKGFyZ3VtZW50cyx7bW9k aWZpZXI6VHlwZS5pc0Z1bmN0aW9uLGluZGV4OmZ1bmN0aW9uKGQpe3JldHVybiBk IT1udWxsOwp9fSk7dmFyIGI9dGhpcy5saXN0cy5tYXAoZnVuY3Rpb24oZCl7cmV0 dXJuIGQuZ2V0Q2hpbGRyZW4oKS5tYXAoYy5tb2RpZmllcnx8ZnVuY3Rpb24oZSl7 cmV0dXJuIGUuZ2V0KCJpZCIpO30sdGhpcyk7fSx0aGlzKTt2YXIgYT1jLmluZGV4 O2lmKHRoaXMubGlzdHMubGVuZ3RoPT0xKXthPTA7Cn1yZXR1cm4oYXx8YT09PTAp JiZhPj0wJiZhPHRoaXMubGlzdHMubGVuZ3RoP2JbYV06Yjt9fSk7UmVxdWVzdC5K U09OUD1uZXcgQ2xhc3Moe0ltcGxlbWVudHM6W0NoYWluLEV2ZW50cyxPcHRpb25z XSxvcHRpb25zOntvblJlcXVlc3Q6ZnVuY3Rpb24oYSl7aWYodGhpcy5vcHRpb25z LmxvZyYmd2luZG93LmNvbnNvbGUmJmNvbnNvbGUubG9nKXtjb25zb2xlLmxvZygi SlNPTlAgcmV0cmlldmluZyBzY3JpcHQgd2l0aCB1cmw6IithKTsKfX0sb25FcnJv cjpmdW5jdGlvbihhKXtpZih0aGlzLm9wdGlvbnMubG9nJiZ3aW5kb3cuY29uc29s ZSYmY29uc29sZS53YXJuKXtjb25zb2xlLndhcm4oIkpTT05QICIrYSsiIHdpbGwg ZmFpbCBpbiBJbnRlcm5ldCBFeHBsb3Jlciwgd2hpY2ggZW5mb3JjZXMgYSAyMDgz IGJ5dGVzIGxlbmd0aCBsaW1pdCBvbiBVUklzIik7Cn19LHVybDoiIixjYWxsYmFj a0tleToiY2FsbGJhY2siLGluamVjdFNjcmlwdDpkb2N1bWVudC5oZWFkLGRhdGE6 IiIsbGluazoiaWdub3JlIix0aW1lb3V0OjAsbG9nOmZhbHNlfSxpbml0aWFsaXpl OmZ1bmN0aW9uKGEpe3RoaXMuc2V0T3B0aW9ucyhhKTt9LHNlbmQ6ZnVuY3Rpb24o Yyl7aWYoIVJlcXVlc3QucHJvdG90eXBlLmNoZWNrLmNhbGwodGhpcyxjKSl7cmV0 dXJuIHRoaXM7Cn10aGlzLnJ1bm5pbmc9dHJ1ZTt2YXIgZD10eXBlT2YoYyk7aWYo ZD09InN0cmluZyJ8fGQ9PSJlbGVtZW50Iil7Yz17ZGF0YTpjfTt9Yz1PYmplY3Qu bWVyZ2UodGhpcy5vcHRpb25zLGN8fHt9KTt2YXIgZT1jLmRhdGE7c3dpdGNoKHR5 cGVPZihlKSl7Y2FzZSJlbGVtZW50IjplPWRvY3VtZW50LmlkKGUpLnRvUXVlcnlT dHJpbmcoKTsKYnJlYWs7Y2FzZSJvYmplY3QiOmNhc2UiaGFzaCI6ZT1PYmplY3Qu dG9RdWVyeVN0cmluZyhlKTt9dmFyIGI9dGhpcy5pbmRleD1SZXF1ZXN0LkpTT05Q LmNvdW50ZXIrKzt2YXIgZj1jLnVybCsoYy51cmwudGVzdCgiXFw/Iik/IiYiOiI/ IikrKGMuY2FsbGJhY2tLZXkpKyI9UmVxdWVzdC5KU09OUC5yZXF1ZXN0X21hcC5y ZXF1ZXN0XyIrYisoZT8iJiIrZToiIik7CmlmKGYubGVuZ3RoPjIwODMpe3RoaXMu ZmlyZUV2ZW50KCJlcnJvciIsZik7fVJlcXVlc3QuSlNPTlAucmVxdWVzdF9tYXBb InJlcXVlc3RfIitiXT1mdW5jdGlvbigpe3RoaXMuc3VjY2Vzcyhhcmd1bWVudHMs Yik7fS5iaW5kKHRoaXMpO3ZhciBhPXRoaXMuZ2V0U2NyaXB0KGYpLmluamVjdChj LmluamVjdFNjcmlwdCk7CnRoaXMuZmlyZUV2ZW50KCJyZXF1ZXN0IixbZixhXSk7 aWYoYy50aW1lb3V0KXt0aGlzLnRpbWVvdXQuZGVsYXkoYy50aW1lb3V0LHRoaXMp O31yZXR1cm4gdGhpczt9LGdldFNjcmlwdDpmdW5jdGlvbihhKXtpZighdGhpcy5z Y3JpcHQpe3RoaXMuc2NyaXB0PW5ldyBFbGVtZW50KCJzY3JpcHQiLHt0eXBlOiJ0 ZXh0L2phdmFzY3JpcHQiLGFzeW5jOnRydWUsc3JjOmF9KTsKfXJldHVybiB0aGlz LnNjcmlwdDt9LHN1Y2Nlc3M6ZnVuY3Rpb24oYixhKXtpZighdGhpcy5ydW5uaW5n KXtyZXR1cm47fXRoaXMuY2xlYXIoKS5maXJlRXZlbnQoImNvbXBsZXRlIixiKS5m aXJlRXZlbnQoInN1Y2Nlc3MiLGIpLmNhbGxDaGFpbigpO30sY2FuY2VsOmZ1bmN0 aW9uKCl7aWYodGhpcy5ydW5uaW5nKXt0aGlzLmNsZWFyKCkuZmlyZUV2ZW50KCJj YW5jZWwiKTsKfXJldHVybiB0aGlzO30saXNSdW5uaW5nOmZ1bmN0aW9uKCl7cmV0 dXJuICEhdGhpcy5ydW5uaW5nO30sY2xlYXI6ZnVuY3Rpb24oKXt0aGlzLnJ1bm5p bmc9ZmFsc2U7aWYodGhpcy5zY3JpcHQpe3RoaXMuc2NyaXB0LmRlc3Ryb3koKTt0 aGlzLnNjcmlwdD1udWxsOwp9cmV0dXJuIHRoaXM7fSx0aW1lb3V0OmZ1bmN0aW9u KCl7aWYodGhpcy5ydW5uaW5nKXt0aGlzLnJ1bm5pbmc9ZmFsc2U7dGhpcy5maXJl RXZlbnQoInRpbWVvdXQiLFt0aGlzLnNjcmlwdC5nZXQoInNyYyIpLHRoaXMuc2Ny aXB0XSkuZmlyZUV2ZW50KCJmYWlsdXJlIikuY2FuY2VsKCk7Cn1yZXR1cm4gdGhp czt9fSk7UmVxdWVzdC5KU09OUC5jb3VudGVyPTA7UmVxdWVzdC5KU09OUC5yZXF1 ZXN0X21hcD17fTtSZXF1ZXN0LlF1ZXVlPW5ldyBDbGFzcyh7SW1wbGVtZW50czpb T3B0aW9ucyxFdmVudHNdLEJpbmRzOlsiYXR0YWNoIiwicmVxdWVzdCIsImNvbXBs ZXRlIiwiY2FuY2VsIiwic3VjY2VzcyIsImZhaWx1cmUiLCJleGNlcHRpb24iXSxv cHRpb25zOntzdG9wT25GYWlsdXJlOnRydWUsYXV0b0FkdmFuY2U6dHJ1ZSxjb25j dXJyZW50OjEscmVxdWVzdHM6e319LGluaXRpYWxpemU6ZnVuY3Rpb24oYSl7dmFy IGI7CmlmKGEpe2I9YS5yZXF1ZXN0cztkZWxldGUgYS5yZXF1ZXN0czt9dGhpcy5z ZXRPcHRpb25zKGEpO3RoaXMucmVxdWVzdHM9e307dGhpcy5xdWV1ZT1bXTt0aGlz LnJlcUJpbmRlcnM9e307aWYoYil7dGhpcy5hZGRSZXF1ZXN0cyhiKTt9fSxhZGRS ZXF1ZXN0OmZ1bmN0aW9uKGEsYil7dGhpcy5yZXF1ZXN0c1thXT1iOwp0aGlzLmF0 dGFjaChhLGIpO3JldHVybiB0aGlzO30sYWRkUmVxdWVzdHM6ZnVuY3Rpb24oYSl7 T2JqZWN0LmVhY2goYSxmdW5jdGlvbihjLGIpe3RoaXMuYWRkUmVxdWVzdChiLGMp O30sdGhpcyk7cmV0dXJuIHRoaXM7fSxnZXROYW1lOmZ1bmN0aW9uKGEpe3JldHVy biBPYmplY3Qua2V5T2YodGhpcy5yZXF1ZXN0cyxhKTsKfSxhdHRhY2g6ZnVuY3Rp b24oYSxiKXtpZihiLl9ncm91cFNlbmQpe3JldHVybiB0aGlzO31bInJlcXVlc3Qi LCJjb21wbGV0ZSIsImNhbmNlbCIsInN1Y2Nlc3MiLCJmYWlsdXJlIiwiZXhjZXB0 aW9uIl0uZWFjaChmdW5jdGlvbihjKXtpZighdGhpcy5yZXFCaW5kZXJzW2FdKXt0 aGlzLnJlcUJpbmRlcnNbYV09e307Cn10aGlzLnJlcUJpbmRlcnNbYV1bY109ZnVu Y3Rpb24oKXt0aGlzWyJvbiIrYy5jYXBpdGFsaXplKCldLmFwcGx5KHRoaXMsW2Es Yl0uYXBwZW5kKGFyZ3VtZW50cykpO30uYmluZCh0aGlzKTtiLmFkZEV2ZW50KGMs dGhpcy5yZXFCaW5kZXJzW2FdW2NdKTt9LHRoaXMpOwpiLl9ncm91cFNlbmQ9Yi5z ZW5kO2Iuc2VuZD1mdW5jdGlvbihjKXt0aGlzLnNlbmQoYSxjKTtyZXR1cm4gYjt9 LmJpbmQodGhpcyk7cmV0dXJuIHRoaXM7fSxyZW1vdmVSZXF1ZXN0OmZ1bmN0aW9u KGIpe3ZhciBhPXR5cGVPZihiKT09Im9iamVjdCI/dGhpcy5nZXROYW1lKGIpOmI7 CmlmKCFhJiZ0eXBlT2YoYSkhPSJzdHJpbmciKXtyZXR1cm4gdGhpczt9Yj10aGlz LnJlcXVlc3RzW2FdO2lmKCFiKXtyZXR1cm4gdGhpczt9WyJyZXF1ZXN0IiwiY29t cGxldGUiLCJjYW5jZWwiLCJzdWNjZXNzIiwiZmFpbHVyZSIsImV4Y2VwdGlvbiJd LmVhY2goZnVuY3Rpb24oYyl7Yi5yZW1vdmVFdmVudChjLHRoaXMucmVxQmluZGVy c1thXVtjXSk7Cn0sdGhpcyk7Yi5zZW5kPWIuX2dyb3VwU2VuZDtkZWxldGUgYi5f Z3JvdXBTZW5kO3JldHVybiB0aGlzO30sZ2V0UnVubmluZzpmdW5jdGlvbigpe3Jl dHVybiBPYmplY3QuZmlsdGVyKHRoaXMucmVxdWVzdHMsZnVuY3Rpb24oYSl7cmV0 dXJuIGEucnVubmluZzt9KTsKfSxpc1J1bm5pbmc6ZnVuY3Rpb24oKXtyZXR1cm4g ISEoT2JqZWN0LmtleXModGhpcy5nZXRSdW5uaW5nKCkpLmxlbmd0aCk7fSxzZW5k OmZ1bmN0aW9uKGIsYSl7dmFyIGM9ZnVuY3Rpb24oKXt0aGlzLnJlcXVlc3RzW2Jd Ll9ncm91cFNlbmQoYSk7dGhpcy5xdWV1ZS5lcmFzZShjKTsKfS5iaW5kKHRoaXMp O2MubmFtZT1iO2lmKE9iamVjdC5rZXlzKHRoaXMuZ2V0UnVubmluZygpKS5sZW5n dGg+PXRoaXMub3B0aW9ucy5jb25jdXJyZW50fHwodGhpcy5lcnJvciYmdGhpcy5v cHRpb25zLnN0b3BPbkZhaWx1cmUpKXt0aGlzLnF1ZXVlLnB1c2goYyk7fWVsc2V7 YygpOwp9cmV0dXJuIHRoaXM7fSxoYXNOZXh0OmZ1bmN0aW9uKGEpe3JldHVybigh YSk/ISF0aGlzLnF1ZXVlLmxlbmd0aDohIXRoaXMucXVldWUuZmlsdGVyKGZ1bmN0 aW9uKGIpe3JldHVybiBiLm5hbWU9PWE7fSkubGVuZ3RoO30scmVzdW1lOmZ1bmN0 aW9uKCl7dGhpcy5lcnJvcj1mYWxzZTsKKHRoaXMub3B0aW9ucy5jb25jdXJyZW50 LU9iamVjdC5rZXlzKHRoaXMuZ2V0UnVubmluZygpKS5sZW5ndGgpLnRpbWVzKHRo aXMucnVuTmV4dCx0aGlzKTtyZXR1cm4gdGhpczt9LHJ1bk5leHQ6ZnVuY3Rpb24o YSl7aWYoIXRoaXMucXVldWUubGVuZ3RoKXtyZXR1cm4gdGhpczsKfWlmKCFhKXt0 aGlzLnF1ZXVlWzBdKCk7fWVsc2V7dmFyIGI7dGhpcy5xdWV1ZS5lYWNoKGZ1bmN0 aW9uKGMpe2lmKCFiJiZjLm5hbWU9PWEpe2I9dHJ1ZTtjKCk7fX0pO31yZXR1cm4g dGhpczt9LHJ1bkFsbDpmdW5jdGlvbigpe3RoaXMucXVldWUuZWFjaChmdW5jdGlv bihhKXthKCk7Cn0pO3JldHVybiB0aGlzO30sY2xlYXI6ZnVuY3Rpb24oYSl7aWYo IWEpe3RoaXMucXVldWUuZW1wdHkoKTt9ZWxzZXt0aGlzLnF1ZXVlPXRoaXMucXVl dWUubWFwKGZ1bmN0aW9uKGIpe2lmKGIubmFtZSE9YSl7cmV0dXJuIGI7fWVsc2V7 cmV0dXJuIGZhbHNlO319KS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIGI7Cn0p O31yZXR1cm4gdGhpczt9LGNhbmNlbDpmdW5jdGlvbihhKXt0aGlzLnJlcXVlc3Rz W2FdLmNhbmNlbCgpO3JldHVybiB0aGlzO30sb25SZXF1ZXN0OmZ1bmN0aW9uKCl7 dGhpcy5maXJlRXZlbnQoInJlcXVlc3QiLGFyZ3VtZW50cyk7fSxvbkNvbXBsZXRl OmZ1bmN0aW9uKCl7dGhpcy5maXJlRXZlbnQoImNvbXBsZXRlIixhcmd1bWVudHMp OwppZighdGhpcy5xdWV1ZS5sZW5ndGgpe3RoaXMuZmlyZUV2ZW50KCJlbmQiKTt9 fSxvbkNhbmNlbDpmdW5jdGlvbigpe2lmKHRoaXMub3B0aW9ucy5hdXRvQWR2YW5j ZSYmIXRoaXMuZXJyb3Ipe3RoaXMucnVuTmV4dCgpO310aGlzLmZpcmVFdmVudCgi Y2FuY2VsIixhcmd1bWVudHMpOwp9LG9uU3VjY2VzczpmdW5jdGlvbigpe2lmKHRo aXMub3B0aW9ucy5hdXRvQWR2YW5jZSYmIXRoaXMuZXJyb3Ipe3RoaXMucnVuTmV4 dCgpO310aGlzLmZpcmVFdmVudCgic3VjY2VzcyIsYXJndW1lbnRzKTt9LG9uRmFp bHVyZTpmdW5jdGlvbigpe3RoaXMuZXJyb3I9dHJ1ZTsKaWYoIXRoaXMub3B0aW9u cy5zdG9wT25GYWlsdXJlJiZ0aGlzLm9wdGlvbnMuYXV0b0FkdmFuY2Upe3RoaXMu cnVuTmV4dCgpO310aGlzLmZpcmVFdmVudCgiZmFpbHVyZSIsYXJndW1lbnRzKTt9 LG9uRXhjZXB0aW9uOmZ1bmN0aW9uKCl7dGhpcy5lcnJvcj10cnVlOwppZighdGhp cy5vcHRpb25zLnN0b3BPbkZhaWx1cmUmJnRoaXMub3B0aW9ucy5hdXRvQWR2YW5j ZSl7dGhpcy5ydW5OZXh0KCk7fXRoaXMuZmlyZUV2ZW50KCJleGNlcHRpb24iLGFy Z3VtZW50cyk7fX0pO1JlcXVlc3QuaW1wbGVtZW50KHtvcHRpb25zOntpbml0aWFs RGVsYXk6NTAwMCxkZWxheTo1MDAwLGxpbWl0OjYwMDAwfSxzdGFydFRpbWVyOmZ1 bmN0aW9uKGIpe3ZhciBhPWZ1bmN0aW9uKCl7aWYoIXRoaXMucnVubmluZyl7dGhp cy5zZW5kKHtkYXRhOmJ9KTsKfX07dGhpcy5sYXN0RGVsYXk9dGhpcy5vcHRpb25z LmluaXRpYWxEZWxheTt0aGlzLnRpbWVyPWEuZGVsYXkodGhpcy5sYXN0RGVsYXks dGhpcyk7dGhpcy5jb21wbGV0ZUNoZWNrPWZ1bmN0aW9uKGMpe2NsZWFyVGltZW91 dCh0aGlzLnRpbWVyKTt0aGlzLmxhc3REZWxheT0oYyk/dGhpcy5vcHRpb25zLmRl bGF5Oih0aGlzLmxhc3REZWxheSt0aGlzLm9wdGlvbnMuZGVsYXkpLm1pbih0aGlz Lm9wdGlvbnMubGltaXQpOwp0aGlzLnRpbWVyPWEuZGVsYXkodGhpcy5sYXN0RGVs YXksdGhpcyk7fTtyZXR1cm4gdGhpcy5hZGRFdmVudCgiY29tcGxldGUiLHRoaXMu Y29tcGxldGVDaGVjayk7fSxzdG9wVGltZXI6ZnVuY3Rpb24oKXtjbGVhclRpbWVv dXQodGhpcy50aW1lcik7cmV0dXJuIHRoaXMucmVtb3ZlRXZlbnQoImNvbXBsZXRl Iix0aGlzLmNvbXBsZXRlQ2hlY2spOwp9fSk7dmFyIEFzc2V0PXtqYXZhc2NyaXB0 OmZ1bmN0aW9uKGQsYil7aWYoIWIpe2I9e307fXZhciBhPW5ldyBFbGVtZW50KCJz Y3JpcHQiLHtzcmM6ZCx0eXBlOiJ0ZXh0L2phdmFzY3JpcHQifSksZT1iLmRvY3Vt ZW50fHxkb2N1bWVudCxjPWIub25sb2FkfHxiLm9uTG9hZDsKZGVsZXRlIGIub25s b2FkO2RlbGV0ZSBiLm9uTG9hZDtkZWxldGUgYi5kb2N1bWVudDtpZihjKXtpZih0 eXBlb2YgYS5vbnJlYWR5c3RhdGVjaGFuZ2UhPSJ1bmRlZmluZWQiKXthLmFkZEV2 ZW50KCJyZWFkeXN0YXRlY2hhbmdlIixmdW5jdGlvbigpe2lmKFsibG9hZGVkIiwi Y29tcGxldGUiXS5jb250YWlucyh0aGlzLnJlYWR5U3RhdGUpKXtjLmNhbGwodGhp cyk7Cn19KTt9ZWxzZXthLmFkZEV2ZW50KCJsb2FkIixjKTt9fXJldHVybiBhLnNl dChiKS5pbmplY3QoZS5oZWFkKTt9LGNzczpmdW5jdGlvbihkLGEpe2lmKCFhKXth PXt9O312YXIgYj1uZXcgRWxlbWVudCgibGluayIse3JlbDoic3R5bGVzaGVldCIs bWVkaWE6InNjcmVlbiIsdHlwZToidGV4dC9jc3MiLGhyZWY6ZH0pOwp2YXIgYz1h Lm9ubG9hZHx8YS5vbkxvYWQsZT1hLmRvY3VtZW50fHxkb2N1bWVudDtkZWxldGUg YS5vbmxvYWQ7ZGVsZXRlIGEub25Mb2FkO2RlbGV0ZSBhLmRvY3VtZW50O2lmKGMp e2IuYWRkRXZlbnQoImxvYWQiLGMpO31yZXR1cm4gYi5zZXQoYSkuaW5qZWN0KGUu aGVhZCk7Cn0saW1hZ2U6ZnVuY3Rpb24oYyxiKXtpZighYil7Yj17fTt9dmFyIGQ9 bmV3IEltYWdlKCksYT1kb2N1bWVudC5pZChkKXx8bmV3IEVsZW1lbnQoImltZyIp O1sibG9hZCIsImFib3J0IiwiZXJyb3IiXS5lYWNoKGZ1bmN0aW9uKGUpe3ZhciBn PSJvbiIrZSxmPSJvbiIrZS5jYXBpdGFsaXplKCksaD1iW2ddfHxiW2ZdfHxmdW5j dGlvbigpe307CmRlbGV0ZSBiW2ZdO2RlbGV0ZSBiW2ddO2RbZ109ZnVuY3Rpb24o KXtpZighZCl7cmV0dXJuO31pZighYS5wYXJlbnROb2RlKXthLndpZHRoPWQud2lk dGg7YS5oZWlnaHQ9ZC5oZWlnaHQ7fWQ9ZC5vbmxvYWQ9ZC5vbmFib3J0PWQub25l cnJvcj1udWxsO2guZGVsYXkoMSxhLGEpOwphLmZpcmVFdmVudChlLGEsMSk7fTt9 KTtkLnNyYz1hLnNyYz1jO2lmKGQmJmQuY29tcGxldGUpe2Qub25sb2FkLmRlbGF5 KDEpO31yZXR1cm4gYS5zZXQoYik7fSxpbWFnZXM6ZnVuY3Rpb24oYyxiKXtjPUFy cmF5LmZyb20oYyk7dmFyIGQ9ZnVuY3Rpb24oKXt9LGE9MDsKYj1PYmplY3QubWVy Z2Uoe29uQ29tcGxldGU6ZCxvblByb2dyZXNzOmQsb25FcnJvcjpkLHByb3BlcnRp ZXM6e319LGIpO3JldHVybiBuZXcgRWxlbWVudHMoYy5tYXAoZnVuY3Rpb24oZixl KXtyZXR1cm4gQXNzZXQuaW1hZ2UoZixPYmplY3QuYXBwZW5kKGIucHJvcGVydGll cyx7b25sb2FkOmZ1bmN0aW9uKCl7YSsrOwpiLm9uUHJvZ3Jlc3MuY2FsbCh0aGlz LGEsZSxmKTtpZihhPT1jLmxlbmd0aCl7Yi5vbkNvbXBsZXRlKCk7fX0sb25lcnJv cjpmdW5jdGlvbigpe2ErKztiLm9uRXJyb3IuY2FsbCh0aGlzLGEsZSxmKTtpZihh PT1jLmxlbmd0aCl7Yi5vbkNvbXBsZXRlKCk7fX19KSk7Cn0pKTt9fTsoZnVuY3Rp b24oKXt2YXIgYT10aGlzLkNvbG9yPW5ldyBUeXBlKCJDb2xvciIsZnVuY3Rpb24o YyxkKXtpZihhcmd1bWVudHMubGVuZ3RoPj0zKXtkPSJyZ2IiO2M9QXJyYXkuc2xp Y2UoYXJndW1lbnRzLDAsMyk7fWVsc2V7aWYodHlwZW9mIGM9PSJzdHJpbmciKXtp ZihjLm1hdGNoKC9yZ2IvKSl7Yz1jLnJnYlRvSGV4KCkuaGV4VG9SZ2IodHJ1ZSk7 Cn1lbHNle2lmKGMubWF0Y2goL2hzYi8pKXtjPWMuaHNiVG9SZ2IoKTt9ZWxzZXtj PWMuaGV4VG9SZ2IodHJ1ZSk7fX19fWQ9ZHx8InJnYiI7c3dpdGNoKGQpe2Nhc2Ui aHNiIjp2YXIgYj1jO2M9Yy5oc2JUb1JnYigpO2MuaHNiPWI7YnJlYWs7Y2FzZSJo ZXgiOmM9Yy5oZXhUb1JnYih0cnVlKTsKYnJlYWs7fWMucmdiPWMuc2xpY2UoMCwz KTtjLmhzYj1jLmhzYnx8Yy5yZ2JUb0hzYigpO2MuaGV4PWMucmdiVG9IZXgoKTty ZXR1cm4gT2JqZWN0LmFwcGVuZChjLHRoaXMpO30pO2EuaW1wbGVtZW50KHttaXg6 ZnVuY3Rpb24oKXt2YXIgYj1BcnJheS5zbGljZShhcmd1bWVudHMpOwp2YXIgZD0o dHlwZU9mKGIuZ2V0TGFzdCgpKT09Im51bWJlciIpP2IucG9wKCk6NTA7dmFyIGM9 dGhpcy5zbGljZSgpO2IuZWFjaChmdW5jdGlvbihlKXtlPW5ldyBhKGUpO2Zvcih2 YXIgZj0wO2Y8MztmKyspe2NbZl09TWF0aC5yb3VuZCgoY1tmXS8xMDAqKDEwMC1k KSkrKGVbZl0vMTAwKmQpKTsKfX0pO3JldHVybiBuZXcgYShjLCJyZ2IiKTt9LGlu dmVydDpmdW5jdGlvbigpe3JldHVybiBuZXcgYSh0aGlzLm1hcChmdW5jdGlvbihi KXtyZXR1cm4gMjU1LWI7fSkpO30sc2V0SHVlOmZ1bmN0aW9uKGIpe3JldHVybiBu ZXcgYShbYix0aGlzLmhzYlsxXSx0aGlzLmhzYlsyXV0sImhzYiIpOwp9LHNldFNh dHVyYXRpb246ZnVuY3Rpb24oYil7cmV0dXJuIG5ldyBhKFt0aGlzLmhzYlswXSxi LHRoaXMuaHNiWzJdXSwiaHNiIik7fSxzZXRCcmlnaHRuZXNzOmZ1bmN0aW9uKGIp e3JldHVybiBuZXcgYShbdGhpcy5oc2JbMF0sdGhpcy5oc2JbMV0sYl0sImhzYiIp Owp9fSk7dGhpcy4kUkdCPWZ1bmN0aW9uKGUsZCxjKXtyZXR1cm4gbmV3IGEoW2Us ZCxjXSwicmdiIik7fTt0aGlzLiRIU0I9ZnVuY3Rpb24oZSxkLGMpe3JldHVybiBu ZXcgYShbZSxkLGNdLCJoc2IiKTt9O3RoaXMuJEhFWD1mdW5jdGlvbihiKXtyZXR1 cm4gbmV3IGEoYiwiaGV4Iik7Cn07QXJyYXkuaW1wbGVtZW50KHtyZ2JUb0hzYjpm dW5jdGlvbigpe3ZhciBjPXRoaXNbMF0sZD10aGlzWzFdLGs9dGhpc1syXSxoPTA7 dmFyIGo9TWF0aC5tYXgoYyxkLGspLGY9TWF0aC5taW4oYyxkLGspO3ZhciBsPWot Zjt2YXIgaT1qLzI1NSxnPShqIT0wKT9sL2o6MDsKaWYoZyE9MCl7dmFyIGU9KGot YykvbDt2YXIgYj0oai1kKS9sO3ZhciBtPShqLWspL2w7aWYoYz09ail7aD1tLWI7 fWVsc2V7aWYoZD09ail7aD0yK2UtbTt9ZWxzZXtoPTQrYi1lO319aC89NjtpZiho PDApe2grKzt9fXJldHVybltNYXRoLnJvdW5kKGgqMzYwKSxNYXRoLnJvdW5kKGcq MTAwKSxNYXRoLnJvdW5kKGkqMTAwKV07Cn0saHNiVG9SZ2I6ZnVuY3Rpb24oKXt2 YXIgZD1NYXRoLnJvdW5kKHRoaXNbMl0vMTAwKjI1NSk7aWYodGhpc1sxXT09MCl7 cmV0dXJuW2QsZCxkXTt9ZWxzZXt2YXIgYj10aGlzWzBdJTM2MDt2YXIgZz1iJTYw O3ZhciBoPU1hdGgucm91bmQoKHRoaXNbMl0qKDEwMC10aGlzWzFdKSkvMTAwMDAq MjU1KTsKdmFyIGU9TWF0aC5yb3VuZCgodGhpc1syXSooNjAwMC10aGlzWzFdKmcp KS82MDAwMDAqMjU1KTt2YXIgYz1NYXRoLnJvdW5kKCh0aGlzWzJdKig2MDAwLXRo aXNbMV0qKDYwLWcpKSkvNjAwMDAwKjI1NSk7c3dpdGNoKE1hdGguZmxvb3IoYi82 MCkpe2Nhc2UgMDpyZXR1cm5bZCxjLGhdOwpjYXNlIDE6cmV0dXJuW2UsZCxoXTtj YXNlIDI6cmV0dXJuW2gsZCxjXTtjYXNlIDM6cmV0dXJuW2gsZSxkXTtjYXNlIDQ6 cmV0dXJuW2MsaCxkXTtjYXNlIDU6cmV0dXJuW2QsaCxlXTt9fXJldHVybiBmYWxz ZTt9fSk7U3RyaW5nLmltcGxlbWVudCh7cmdiVG9Ic2I6ZnVuY3Rpb24oKXt2YXIg Yj10aGlzLm1hdGNoKC9cZHsxLDN9L2cpOwpyZXR1cm4oYik/Yi5yZ2JUb0hzYigp Om51bGw7fSxoc2JUb1JnYjpmdW5jdGlvbigpe3ZhciBiPXRoaXMubWF0Y2goL1xk ezEsM30vZyk7cmV0dXJuKGIpP2IuaHNiVG9SZ2IoKTpudWxsO319KTt9KSgpOyhm dW5jdGlvbigpe3RoaXMuR3JvdXA9bmV3IENsYXNzKHtpbml0aWFsaXplOmZ1bmN0 aW9uKCl7dGhpcy5pbnN0YW5jZXM9QXJyYXkuZmxhdHRlbihhcmd1bWVudHMpOwp9 LGFkZEV2ZW50OmZ1bmN0aW9uKGUsZCl7dmFyIGc9dGhpcy5pbnN0YW5jZXMsYT1n Lmxlbmd0aCxmPWEsYz1uZXcgQXJyYXkoYSksYj10aGlzO2cuZWFjaChmdW5jdGlv bihoLGope2guYWRkRXZlbnQoZSxmdW5jdGlvbigpe2lmKCFjW2pdKXtmLS07fWNb al09YXJndW1lbnRzOwppZighZil7ZC5jYWxsKGIsZyxoLGMpO2Y9YTtjPW5ldyBB cnJheShhKTt9fSk7fSk7fX0pO30pKCk7SGFzaC5Db29raWU9bmV3IENsYXNzKHtF eHRlbmRzOkNvb2tpZSxvcHRpb25zOnthdXRvU2F2ZTp0cnVlfSxpbml0aWFsaXpl OmZ1bmN0aW9uKGIsYSl7dGhpcy5wYXJlbnQoYixhKTsKdGhpcy5sb2FkKCk7fSxz YXZlOmZ1bmN0aW9uKCl7dmFyIGE9SlNPTi5lbmNvZGUodGhpcy5oYXNoKTtpZigh YXx8YS5sZW5ndGg+NDA5Nil7cmV0dXJuIGZhbHNlO31pZihhPT0ie30iKXt0aGlz LmRpc3Bvc2UoKTt9ZWxzZXt0aGlzLndyaXRlKGEpO31yZXR1cm4gdHJ1ZTsKfSxs b2FkOmZ1bmN0aW9uKCl7dGhpcy5oYXNoPW5ldyBIYXNoKEpTT04uZGVjb2RlKHRo aXMucmVhZCgpLHRydWUpKTtyZXR1cm4gdGhpczt9fSk7SGFzaC5lYWNoKEhhc2gu cHJvdG90eXBlLGZ1bmN0aW9uKGIsYSl7aWYodHlwZW9mIGI9PSJmdW5jdGlvbiIp e0hhc2guQ29va2llLmltcGxlbWVudChhLGZ1bmN0aW9uKCl7dmFyIGM9Yi5hcHBs eSh0aGlzLmhhc2gsYXJndW1lbnRzKTsKaWYodGhpcy5vcHRpb25zLmF1dG9TYXZl KXt0aGlzLnNhdmUoKTt9cmV0dXJuIGM7fSk7fX0pOyhmdW5jdGlvbigpe3ZhciBh PXRoaXMuVGFibGU9ZnVuY3Rpb24oKXt0aGlzLmxlbmd0aD0wO3ZhciBjPVtdLGI9 W107dGhpcy5zZXQ9ZnVuY3Rpb24oZSxnKXt2YXIgZD1jLmluZGV4T2YoZSk7Cmlm KGQ9PS0xKXt2YXIgZj1jLmxlbmd0aDtjW2ZdPWU7YltmXT1nO3RoaXMubGVuZ3Ro Kys7fWVsc2V7YltkXT1nO31yZXR1cm4gdGhpczt9O3RoaXMuZ2V0PWZ1bmN0aW9u KGUpe3ZhciBkPWMuaW5kZXhPZihlKTtyZXR1cm4oZD09LTEpP251bGw6YltkXTt9 O3RoaXMuZXJhc2U9ZnVuY3Rpb24oZSl7dmFyIGQ9Yy5pbmRleE9mKGUpOwppZihk IT0tMSl7dGhpcy5sZW5ndGgtLTtjLnNwbGljZShkLDEpO3JldHVybiBiLnNwbGlj ZShkLDEpWzBdO31yZXR1cm4gbnVsbDt9O3RoaXMuZWFjaD10aGlzLmZvckVhY2g9 ZnVuY3Rpb24oZixnKXtmb3IodmFyIGU9MCxkPXRoaXMubGVuZ3RoO2U8ZDtlKysp e2YuY2FsbChnLGNbZV0sYltlXSx0aGlzKTsKfX07fTtpZih0aGlzLlR5cGUpe25l dyBUeXBlKCJUYWJsZSIsYSk7fX0pKCk7dmFyIEh0bWxUYWJsZT1uZXcgQ2xhc3Mo e0ltcGxlbWVudHM6W09wdGlvbnMsRXZlbnRzLENsYXNzLk9jY2x1ZGVdLG9wdGlv bnM6e3Byb3BlcnRpZXM6e2NlbGxwYWRkaW5nOjAsY2VsbHNwYWNpbmc6MCxib3Jk ZXI6MH0scm93czpbXSxoZWFkZXJzOltdLGZvb3RlcnM6W119LHByb3BlcnR5OiJI dG1sVGFibGUiLGluaXRpYWxpemU6ZnVuY3Rpb24oKXt2YXIgYT1BcnJheS5saW5r KGFyZ3VtZW50cyx7b3B0aW9uczpUeXBlLmlzT2JqZWN0LHRhYmxlOlR5cGUuaXNF bGVtZW50LGlkOlR5cGUuaXNTdHJpbmd9KTsKdGhpcy5zZXRPcHRpb25zKGEub3B0 aW9ucyk7aWYoIWEudGFibGUmJmEuaWQpe2EudGFibGU9ZG9jdW1lbnQuaWQoYS5p ZCk7fXRoaXMuZWxlbWVudD1hLnRhYmxlfHxuZXcgRWxlbWVudCgidGFibGUiLHRo aXMub3B0aW9ucy5wcm9wZXJ0aWVzKTtpZih0aGlzLm9jY2x1ZGUoKSl7cmV0dXJu IHRoaXMub2NjbHVkZWQ7Cn10aGlzLmJ1aWxkKCk7fSxidWlsZDpmdW5jdGlvbigp e3RoaXMuZWxlbWVudC5zdG9yZSgiSHRtbFRhYmxlIix0aGlzKTt0aGlzLmJvZHk9 ZG9jdW1lbnQuaWQodGhpcy5lbGVtZW50LnRCb2RpZXNbMF0pfHxuZXcgRWxlbWVu dCgidGJvZHkiKS5pbmplY3QodGhpcy5lbGVtZW50KTsKJCQodGhpcy5ib2R5LnJv d3MpO2lmKHRoaXMub3B0aW9ucy5oZWFkZXJzLmxlbmd0aCl7dGhpcy5zZXRIZWFk ZXJzKHRoaXMub3B0aW9ucy5oZWFkZXJzKTt9ZWxzZXt0aGlzLnRoZWFkPWRvY3Vt ZW50LmlkKHRoaXMuZWxlbWVudC50SGVhZCk7fWlmKHRoaXMudGhlYWQpe3RoaXMu aGVhZD10aGlzLmdldEhlYWQoKTsKfWlmKHRoaXMub3B0aW9ucy5mb290ZXJzLmxl bmd0aCl7dGhpcy5zZXRGb290ZXJzKHRoaXMub3B0aW9ucy5mb290ZXJzKTt9dGhp cy50Zm9vdD1kb2N1bWVudC5pZCh0aGlzLmVsZW1lbnQudEZvb3QpO2lmKHRoaXMu dGZvb3Qpe3RoaXMuZm9vdD1kb2N1bWVudC5pZCh0aGlzLnRmb290LnJvd3NbMF0p Owp9dGhpcy5vcHRpb25zLnJvd3MuZWFjaChmdW5jdGlvbihhKXt0aGlzLnB1c2go YSk7fSx0aGlzKTt9LHRvRWxlbWVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVs ZW1lbnQ7fSxlbXB0eTpmdW5jdGlvbigpe3RoaXMuYm9keS5lbXB0eSgpO3JldHVy biB0aGlzO30sc2V0OmZ1bmN0aW9uKGUsYSl7dmFyIGQ9KGU9PSJoZWFkZXJzIik/ InRIZWFkIjoidEZvb3QiLGI9ZC50b0xvd2VyQ2FzZSgpOwp0aGlzW2JdPShkb2N1 bWVudC5pZCh0aGlzLmVsZW1lbnRbZF0pfHxuZXcgRWxlbWVudChiKS5pbmplY3Qo dGhpcy5lbGVtZW50LCJ0b3AiKSkuZW1wdHkoKTt2YXIgYz10aGlzLnB1c2goYSx7 fSx0aGlzW2JdLGU9PSJoZWFkZXJzIj8idGgiOiJ0ZCIpO2lmKGU9PSJoZWFkZXJz Iil7dGhpcy5oZWFkPXRoaXMuZ2V0SGVhZCgpOwp9ZWxzZXt0aGlzLmZvb3Q9dGhp cy5nZXRIZWFkKCk7fXJldHVybiBjO30sZ2V0SGVhZDpmdW5jdGlvbigpe3ZhciBh PXRoaXMudGhlYWQucm93cztyZXR1cm4gYS5sZW5ndGg+MT8kJChhKTphLmxlbmd0 aD9kb2N1bWVudC5pZChhWzBdKTpmYWxzZTt9LHNldEhlYWRlcnM6ZnVuY3Rpb24o YSl7dGhpcy5zZXQoImhlYWRlcnMiLGEpOwpyZXR1cm4gdGhpczt9LHNldEZvb3Rl cnM6ZnVuY3Rpb24oYSl7dGhpcy5zZXQoImZvb3RlcnMiLGEpO3JldHVybiB0aGlz O30sdXBkYXRlOmZ1bmN0aW9uKGQsZSxhKXt2YXIgYj1kLmdldENoaWxkcmVuKGF8 fCJ0ZCIpLGM9Yi5sZW5ndGgtMTtlLmVhY2goZnVuY3Rpb24oaSxmKXt2YXIgaj1i W2ZdfHxuZXcgRWxlbWVudChhfHwidGQiKS5pbmplY3QoZCksaD0oaT9pLmNvbnRl bnQ6IiIpfHxpLGc9dHlwZU9mKGgpOwppZihpJiZpLnByb3BlcnRpZXMpe2ouc2V0 KGkucHJvcGVydGllcyk7fWlmKC8oZWxlbWVudChzPyl8YXJyYXl8Y29sbGVjdGlv bikvLnRlc3QoZykpe2ouZW1wdHkoKS5hZG9wdChoKTt9ZWxzZXtqLnNldCgiaHRt bCIsaCk7fWlmKGY+Yyl7Yi5wdXNoKGopO31lbHNle2JbZl09ajsKfX0pO3JldHVy bnt0cjpkLHRkczpifTt9LHB1c2g6ZnVuY3Rpb24oZSxjLGQsYSxiKXtpZih0eXBl T2YoZSk9PSJlbGVtZW50IiYmZS5nZXQoInRhZyIpPT0idHIiKXtlLmluamVjdChk fHx0aGlzLmJvZHksYik7cmV0dXJue3RyOmUsdGRzOmUuZ2V0Q2hpbGRyZW4oInRk Iil9Owp9cmV0dXJuIHRoaXMudXBkYXRlKG5ldyBFbGVtZW50KCJ0ciIsYykuaW5q ZWN0KGR8fHRoaXMuYm9keSxiKSxlLGEpO30scHVzaE1hbnk6ZnVuY3Rpb24oZCxj LGUsYSxiKXtyZXR1cm4gZC5tYXAoZnVuY3Rpb24oZil7cmV0dXJuIHRoaXMucHVz aChmLGMsZSxhLGIpOwp9LHRoaXMpO319KTtbImFkb3B0IiwiaW5qZWN0Iiwid3Jh cHMiLCJncmFiIiwicmVwbGFjZXMiLCJkaXNwb3NlIl0uZWFjaChmdW5jdGlvbihh KXtIdG1sVGFibGUuaW1wbGVtZW50KGEsZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnRb YV0uYXBwbHkodGhpcy5lbGVtZW50LGFyZ3VtZW50cyk7CnJldHVybiB0aGlzO30p O30pO0h0bWxUYWJsZT1DbGFzcy5yZWZhY3RvcihIdG1sVGFibGUse29wdGlvbnM6 e2NsYXNzWmVicmE6InRhYmxlLXRyLW9kZCIsemVicmE6dHJ1ZSx6ZWJyYU9ubHlW aXNpYmxlUm93czp0cnVlfSxpbml0aWFsaXplOmZ1bmN0aW9uKCl7dGhpcy5wcmV2 aW91cy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7CmlmKHRoaXMub2NjbHVkZWQpe3Jl dHVybiB0aGlzLm9jY2x1ZGVkO31pZih0aGlzLm9wdGlvbnMuemVicmEpe3RoaXMu dXBkYXRlWmVicmFzKCk7fX0sdXBkYXRlWmVicmFzOmZ1bmN0aW9uKCl7dmFyIGE9 MDtBcnJheS5lYWNoKHRoaXMuYm9keS5yb3dzLGZ1bmN0aW9uKGIpe2lmKCF0aGlz Lm9wdGlvbnMuemVicmFPbmx5VmlzaWJsZVJvd3N8fGIuaXNEaXNwbGF5ZWQoKSl7 dGhpcy56ZWJyYShiLGErKyk7Cn19LHRoaXMpO30sc2V0Um93U3R5bGU6ZnVuY3Rp b24oYixhKXtpZih0aGlzLnByZXZpb3VzKXt0aGlzLnByZXZpb3VzKGIsYSk7fXRo aXMuemVicmEoYixhKTt9LHplYnJhOmZ1bmN0aW9uKGIsYSl7cmV0dXJuIGJbKChh JTIpPyJyZW1vdmUiOiJhZGQiKSsiQ2xhc3MiXSh0aGlzLm9wdGlvbnMuY2xhc3Na ZWJyYSk7Cn0scHVzaDpmdW5jdGlvbigpe3ZhciBhPXRoaXMucHJldmlvdXMuYXBw bHkodGhpcyxhcmd1bWVudHMpO2lmKHRoaXMub3B0aW9ucy56ZWJyYSl7dGhpcy51 cGRhdGVaZWJyYXMoKTt9cmV0dXJuIGE7fX0pO0h0bWxUYWJsZT1DbGFzcy5yZWZh Y3RvcihIdG1sVGFibGUse29wdGlvbnM6e3NvcnRJbmRleDowLHNvcnRSZXZlcnNl OmZhbHNlLHBhcnNlcnM6W10sZGVmYXVsdFBhcnNlcjoic3RyaW5nIixjbGFzc1Nv cnRhYmxlOiJ0YWJsZS1zb3J0YWJsZSIsY2xhc3NIZWFkU29ydDoidGFibGUtdGgt c29ydCIsY2xhc3NIZWFkU29ydFJldjoidGFibGUtdGgtc29ydC1yZXYiLGNsYXNz Tm9Tb3J0OiJ0YWJsZS10aC1ub3NvcnQiLGNsYXNzR3JvdXBIZWFkOiJ0YWJsZS10 ci1ncm91cC1oZWFkIixjbGFzc0dyb3VwOiJ0YWJsZS10ci1ncm91cCIsY2xhc3ND ZWxsU29ydDoidGFibGUtdGQtc29ydCIsY2xhc3NTb3J0U3BhbjoidGFibGUtdGgt c29ydC1zcGFuIixzb3J0YWJsZTpmYWxzZSx0aFNlbGVjdG9yOiJ0aCJ9LGluaXRp YWxpemU6ZnVuY3Rpb24oKXt0aGlzLnByZXZpb3VzLmFwcGx5KHRoaXMsYXJndW1l bnRzKTsKaWYodGhpcy5vY2NsdWRlZCl7cmV0dXJuIHRoaXMub2NjbHVkZWQ7fXRo aXMuc29ydGVkPXtpbmRleDpudWxsLGRpcjoxfTtpZighdGhpcy5ib3VuZCl7dGhp cy5ib3VuZD17fTt9dGhpcy5ib3VuZC5oZWFkQ2xpY2s9dGhpcy5oZWFkQ2xpY2su YmluZCh0aGlzKTt0aGlzLnNvcnRTcGFucz1uZXcgRWxlbWVudHMoKTsKaWYodGhp cy5vcHRpb25zLnNvcnRhYmxlKXt0aGlzLmVuYWJsZVNvcnQoKTtpZih0aGlzLm9w dGlvbnMuc29ydEluZGV4IT1udWxsKXt0aGlzLnNvcnQodGhpcy5vcHRpb25zLnNv cnRJbmRleCx0aGlzLm9wdGlvbnMuc29ydFJldmVyc2UpO319fSxhdHRhY2hTb3J0 czpmdW5jdGlvbihhKXt0aGlzLmRldGFjaFNvcnRzKCk7CmlmKGEhPT1mYWxzZSl7 dGhpcy5lbGVtZW50LmFkZEV2ZW50KCJjbGljazpyZWxheSgiK3RoaXMub3B0aW9u cy50aFNlbGVjdG9yKyIpIix0aGlzLmJvdW5kLmhlYWRDbGljayk7fX0sZGV0YWNo U29ydHM6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRzKCJjbGlj azpyZWxheSgiK3RoaXMub3B0aW9ucy50aFNlbGVjdG9yKyIpIik7Cn0sc2V0SGVh ZGVyczpmdW5jdGlvbigpe3RoaXMucHJldmlvdXMuYXBwbHkodGhpcyxhcmd1bWVu dHMpO2lmKHRoaXMuc29ydEVuYWJsZWQpe3RoaXMuc2V0UGFyc2VycygpO319LHNl dFBhcnNlcnM6ZnVuY3Rpb24oKXt0aGlzLnBhcnNlcnM9dGhpcy5kZXRlY3RQYXJz ZXJzKCk7Cn0sZGV0ZWN0UGFyc2VyczpmdW5jdGlvbigpe3JldHVybiB0aGlzLmhl YWQmJnRoaXMuaGVhZC5nZXRFbGVtZW50cyh0aGlzLm9wdGlvbnMudGhTZWxlY3Rv cikuZmxhdHRlbigpLm1hcCh0aGlzLmRldGVjdFBhcnNlcix0aGlzKTt9LGRldGVj dFBhcnNlcjpmdW5jdGlvbihhLGIpe2lmKGEuaGFzQ2xhc3ModGhpcy5vcHRpb25z LmNsYXNzTm9Tb3J0KXx8YS5yZXRyaWV2ZSgiaHRtbHRhYmxlLXBhcnNlciIpKXty ZXR1cm4gYS5yZXRyaWV2ZSgiaHRtbHRhYmxlLXBhcnNlciIpOwp9dmFyIGM9bmV3 IEVsZW1lbnQoImRpdiIpO2MuYWRvcHQoYS5jaGlsZE5vZGVzKS5pbmplY3QoYSk7 dmFyIGY9bmV3IEVsZW1lbnQoInNwYW4iLHsiY2xhc3MiOnRoaXMub3B0aW9ucy5j bGFzc1NvcnRTcGFufSkuaW5qZWN0KGMsInRvcCIpO3RoaXMuc29ydFNwYW5zLnB1 c2goZik7CnZhciBnPXRoaXMub3B0aW9ucy5wYXJzZXJzW2JdLGU9dGhpcy5ib2R5 LnJvd3MsZDtzd2l0Y2godHlwZU9mKGcpKXtjYXNlImZ1bmN0aW9uIjpnPXtjb252 ZXJ0Omd9O2Q9dHJ1ZTticmVhaztjYXNlInN0cmluZyI6Zz1nO2Q9dHJ1ZTticmVh azt9aWYoIWQpe0h0bWxUYWJsZS5QYXJzZXJQcmlvcml0eS5zb21lKGZ1bmN0aW9u KGspe3ZhciBvPUh0bWxUYWJsZS5QYXJzZXJzW2tdLG09by5tYXRjaDsKaWYoIW0p e3JldHVybiBmYWxzZTt9Zm9yKHZhciBuPTAsbD1lLmxlbmd0aDtuPGw7bisrKXt2 YXIgaD1kb2N1bWVudC5pZChlW25dLmNlbGxzW2JdKSxwPWg/aC5nZXQoImh0bWwi KS5jbGVhbigpOiIiO2lmKHAmJm0udGVzdChwKSl7Zz1vO3JldHVybiB0cnVlO319 fSk7Cn1pZighZyl7Zz10aGlzLm9wdGlvbnMuZGVmYXVsdFBhcnNlcjt9YS5zdG9y ZSgiaHRtbHRhYmxlLXBhcnNlciIsZyk7cmV0dXJuIGc7fSxoZWFkQ2xpY2s6ZnVu Y3Rpb24oYixhKXtpZighdGhpcy5oZWFkfHxhLmhhc0NsYXNzKHRoaXMub3B0aW9u cy5jbGFzc05vU29ydCkpe3JldHVybjsKfXJldHVybiB0aGlzLnNvcnQoQXJyYXku aW5kZXhPZih0aGlzLmhlYWQuZ2V0RWxlbWVudHModGhpcy5vcHRpb25zLnRoU2Vs ZWN0b3IpLmZsYXR0ZW4oKSxhKSV0aGlzLmJvZHkucm93c1swXS5jZWxscy5sZW5n dGgpO30sc2VyaWFsaXplOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5wcmV2aW91cy5h cHBseSh0aGlzLGFyZ3VtZW50cyl8fHt9OwppZih0aGlzLm9wdGlvbnMuc29ydGFi bGUpe2Euc29ydEluZGV4PXRoaXMuc29ydGVkLmluZGV4O2Euc29ydFJldmVyc2U9 dGhpcy5zb3J0ZWQucmV2ZXJzZTt9cmV0dXJuIGE7fSxyZXN0b3JlOmZ1bmN0aW9u KGEpe2lmKHRoaXMub3B0aW9ucy5zb3J0YWJsZSYmYS5zb3J0SW5kZXgpe3RoaXMu c29ydChhLnNvcnRJbmRleCxhLnNvcnRSZXZlcnNlKTsKfXRoaXMucHJldmlvdXMu YXBwbHkodGhpcyxhcmd1bWVudHMpO30sc2V0U29ydGVkU3RhdGU6ZnVuY3Rpb24o YixhKXtpZihhIT1udWxsKXt0aGlzLnNvcnRlZC5yZXZlcnNlPWE7fWVsc2V7aWYo dGhpcy5zb3J0ZWQuaW5kZXg9PWIpe3RoaXMuc29ydGVkLnJldmVyc2U9IXRoaXMu c29ydGVkLnJldmVyc2U7Cn1lbHNle3RoaXMuc29ydGVkLnJldmVyc2U9dGhpcy5z b3J0ZWQuaW5kZXg9PW51bGw7fX1pZihiIT1udWxsKXt0aGlzLnNvcnRlZC5pbmRl eD1iO319LHNldEhlYWRTb3J0OmZ1bmN0aW9uKGEpe3ZhciBiPSQkKCF0aGlzLmhl YWQubGVuZ3RoP3RoaXMuaGVhZC5jZWxsc1t0aGlzLnNvcnRlZC5pbmRleF06dGhp cy5oZWFkLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gYy5nZXRFbGVtZW50cyh0aGlz Lm9wdGlvbnMudGhTZWxlY3RvcilbdGhpcy5zb3J0ZWQuaW5kZXhdOwp9LHRoaXMp LmNsZWFuKCkpO2lmKCFiLmxlbmd0aCl7cmV0dXJuO31pZihhKXtiLmFkZENsYXNz KHRoaXMub3B0aW9ucy5jbGFzc0hlYWRTb3J0KTtpZih0aGlzLnNvcnRlZC5yZXZl cnNlKXtiLmFkZENsYXNzKHRoaXMub3B0aW9ucy5jbGFzc0hlYWRTb3J0UmV2KTt9 ZWxzZXtiLnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5jbGFzc0hlYWRTb3J0UmV2 KTsKfX1lbHNle2IucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmNsYXNzSGVhZFNv cnQpLnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5jbGFzc0hlYWRTb3J0UmV2KTt9 fSxzZXRSb3dTb3J0OmZ1bmN0aW9uKGIsYSl7dmFyIGU9Yi5sZW5ndGgsZD10aGlz LmJvZHksZyxmOwp3aGlsZShlKXt2YXIgaD1iWy0tZV0sYz1oLnBvc2l0aW9uLGk9 ZC5yb3dzW2NdO2lmKGkuZGlzYWJsZWQpe2NvbnRpbnVlO31pZighYSl7Zz10aGlz LnNldEdyb3VwU29ydChnLGksaCk7dGhpcy5zZXRSb3dTdHlsZShpLGUpO31kLmFw cGVuZENoaWxkKGkpO2ZvcihmPTA7CmY8ZTtmKyspe2lmKGJbZl0ucG9zaXRpb24+ Yyl7YltmXS5wb3NpdGlvbi0tO319fX0sc2V0Um93U3R5bGU6ZnVuY3Rpb24oYixh KXt0aGlzLnByZXZpb3VzKGIsYSk7Yi5jZWxsc1t0aGlzLnNvcnRlZC5pbmRleF0u YWRkQ2xhc3ModGhpcy5vcHRpb25zLmNsYXNzQ2VsbFNvcnQpOwp9LHNldEdyb3Vw U29ydDpmdW5jdGlvbihiLGMsYSl7aWYoYj09YS52YWx1ZSl7Yy5yZW1vdmVDbGFz cyh0aGlzLm9wdGlvbnMuY2xhc3NHcm91cEhlYWQpLmFkZENsYXNzKHRoaXMub3B0 aW9ucy5jbGFzc0dyb3VwKTt9ZWxzZXtjLnJlbW92ZUNsYXNzKHRoaXMub3B0aW9u cy5jbGFzc0dyb3VwKS5hZGRDbGFzcyh0aGlzLm9wdGlvbnMuY2xhc3NHcm91cEhl YWQpOwp9cmV0dXJuIGEudmFsdWU7fSxnZXRQYXJzZXI6ZnVuY3Rpb24oKXt2YXIg YT10aGlzLnBhcnNlcnNbdGhpcy5zb3J0ZWQuaW5kZXhdO3JldHVybiB0eXBlT2Yo YSk9PSJzdHJpbmciP0h0bWxUYWJsZS5QYXJzZXJzW2FdOmE7fSxzb3J0OmZ1bmN0 aW9uKGMsYixlKXtpZighdGhpcy5oZWFkKXtyZXR1cm47Cn1pZighZSl7dGhpcy5j bGVhclNvcnQoKTt0aGlzLnNldFNvcnRlZFN0YXRlKGMsYik7dGhpcy5zZXRIZWFk U29ydCh0cnVlKTt9dmFyIGY9dGhpcy5nZXRQYXJzZXIoKTtpZighZil7cmV0dXJu O312YXIgYTtpZighQnJvd3Nlci5pZSl7YT10aGlzLmJvZHkuZ2V0UGFyZW50KCk7 CnRoaXMuYm9keS5kaXNwb3NlKCk7fXZhciBkPXRoaXMucGFyc2VEYXRhKGYpLnNv cnQoZnVuY3Rpb24oaCxnKXtpZihoLnZhbHVlPT09Zy52YWx1ZSl7cmV0dXJuIDA7 fXJldHVybiBoLnZhbHVlPmcudmFsdWU/MTotMTt9KTtpZih0aGlzLnNvcnRlZC5y ZXZlcnNlPT0oZj09SHRtbFRhYmxlLlBhcnNlcnNbImlucHV0LWNoZWNrZWQiXSkp e2QucmV2ZXJzZSh0cnVlKTsKfXRoaXMuc2V0Um93U29ydChkLGUpO2lmKGEpe2Eu Z3JhYih0aGlzLmJvZHkpO310aGlzLmZpcmVFdmVudCgic3RhdGVDaGFuZ2VkIik7 cmV0dXJuIHRoaXMuZmlyZUV2ZW50KCJzb3J0IixbdGhpcy5ib2R5LHRoaXMuc29y dGVkLmluZGV4XSk7fSxwYXJzZURhdGE6ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5 Lm1hcCh0aGlzLmJvZHkucm93cyxmdW5jdGlvbihkLGIpe3ZhciBjPWEuY29udmVy dC5jYWxsKGRvY3VtZW50LmlkKGQuY2VsbHNbdGhpcy5zb3J0ZWQuaW5kZXhdKSk7 CnJldHVybntwb3NpdGlvbjpiLHZhbHVlOmN9O30sdGhpcyk7fSxjbGVhclNvcnQ6 ZnVuY3Rpb24oKXt0aGlzLnNldEhlYWRTb3J0KGZhbHNlKTt0aGlzLmJvZHkuZ2V0 RWxlbWVudHMoInRkIikucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmNsYXNzQ2Vs bFNvcnQpO30scmVTb3J0OmZ1bmN0aW9uKCl7aWYodGhpcy5zb3J0RW5hYmxlZCl7 dGhpcy5zb3J0LmNhbGwodGhpcyx0aGlzLnNvcnRlZC5pbmRleCx0aGlzLnNvcnRl ZC5yZXZlcnNlKTsKfXJldHVybiB0aGlzO30sZW5hYmxlU29ydDpmdW5jdGlvbigp e3RoaXMuZWxlbWVudC5hZGRDbGFzcyh0aGlzLm9wdGlvbnMuY2xhc3NTb3J0YWJs ZSk7dGhpcy5hdHRhY2hTb3J0cyh0cnVlKTt0aGlzLnNldFBhcnNlcnMoKTt0aGlz LnNvcnRFbmFibGVkPXRydWU7cmV0dXJuIHRoaXM7Cn0sZGlzYWJsZVNvcnQ6ZnVu Y3Rpb24oKXt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmNs YXNzU29ydGFibGUpO3RoaXMuYXR0YWNoU29ydHMoZmFsc2UpO3RoaXMuc29ydFNw YW5zLmVhY2goZnVuY3Rpb24oYSl7YS5kZXN0cm95KCk7fSk7dGhpcy5zb3J0U3Bh bnMuZW1wdHkoKTsKdGhpcy5zb3J0RW5hYmxlZD1mYWxzZTtyZXR1cm4gdGhpczt9 fSk7SHRtbFRhYmxlLlBhcnNlclByaW9yaXR5PVsiZGF0ZSIsImlucHV0LWNoZWNr ZWQiLCJpbnB1dC12YWx1ZSIsImZsb2F0IiwibnVtYmVyIl07SHRtbFRhYmxlLlBh cnNlcnM9e2RhdGU6e21hdGNoOi9eXGR7Mn1bLVwvIF1cZHsyfVstXC8gXVxkezIs NH0kLyxjb252ZXJ0OmZ1bmN0aW9uKCl7dmFyIGE9RGF0ZS5wYXJzZSh0aGlzLmdl dCgidGV4dCIpLnN0cmlwVGFncygpKTsKcmV0dXJuKHR5cGVPZihhKT09ImRhdGUi KT9hLmZvcm1hdCgiZGIiKToiIjt9LHR5cGU6ImRhdGUifSwiaW5wdXQtY2hlY2tl ZCI6e21hdGNoOi8gdHlwZT0iKHJhZGlvfGNoZWNrYm94KSIgLyxjb252ZXJ0OmZ1 bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0RWxlbWVudCgiaW5wdXQiKS5jaGVja2Vk Owp9fSwiaW5wdXQtdmFsdWUiOnttYXRjaDovPGlucHV0Lyxjb252ZXJ0OmZ1bmN0 aW9uKCl7cmV0dXJuIHRoaXMuZ2V0RWxlbWVudCgiaW5wdXQiKS52YWx1ZTt9fSxu dW1iZXI6e21hdGNoOi9eXGQrW15cZC4sXSokLyxjb252ZXJ0OmZ1bmN0aW9uKCl7 cmV0dXJuIHRoaXMuZ2V0KCJ0ZXh0Iikuc3RyaXBUYWdzKCkudG9JbnQoKTsKfSxu dW1iZXI6dHJ1ZX0sbnVtYmVyTGF4OnttYXRjaDovXlteXGRdK1xkKyQvLGNvbnZl cnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXQoInRleHQiKS5yZXBsYWNlKC9b Xi0/XjAtOV0vLCIiKS5zdHJpcFRhZ3MoKS50b0ludCgpO30sbnVtYmVyOnRydWV9 LCJmbG9hdCI6e21hdGNoOi9eW1xkXStcLltcZF0rLyxjb252ZXJ0OmZ1bmN0aW9u KCl7cmV0dXJuIHRoaXMuZ2V0KCJ0ZXh0IikucmVwbGFjZSgvW14tP15cZC5dLywi Iikuc3RyaXBUYWdzKCkudG9GbG9hdCgpOwp9LG51bWJlcjp0cnVlfSxmbG9hdExh eDp7bWF0Y2g6L15bXlxkXStbXGRdK1wuW1xkXSskLyxjb252ZXJ0OmZ1bmN0aW9u KCl7cmV0dXJuIHRoaXMuZ2V0KCJ0ZXh0IikucmVwbGFjZSgvW14tP15cZC5dLywi Iikuc3RyaXBUYWdzKCk7fSxudW1iZXI6dHJ1ZX0sc3RyaW5nOnttYXRjaDpudWxs LGNvbnZlcnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXQoInRleHQiKS5zdHJp cFRhZ3MoKS50b0xvd2VyQ2FzZSgpOwp9fSx0aXRsZTp7bWF0Y2g6bnVsbCxjb252 ZXJ0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGl0bGU7fX19O0h0bWxUYWJsZS5k ZWZpbmVQYXJzZXJzPWZ1bmN0aW9uKGEpe0h0bWxUYWJsZS5QYXJzZXJzPU9iamVj dC5hcHBlbmQoSHRtbFRhYmxlLlBhcnNlcnMsYSk7CmZvcih2YXIgYiBpbiBhKXtI dG1sVGFibGUuUGFyc2VyUHJpb3JpdHkudW5zaGlmdChiKTt9fTsoZnVuY3Rpb24o KXt2YXIgYT10aGlzLktleWJvYXJkPW5ldyBDbGFzcyh7RXh0ZW5kczpFdmVudHMs SW1wbGVtZW50czpbT3B0aW9uc10sb3B0aW9uczp7ZGVmYXVsdEV2ZW50VHlwZToi a2V5ZG93biIsYWN0aXZlOmZhbHNlLG1hbmFnZXI6bnVsbCxldmVudHM6e30sbm9u UGFyc2VkRXZlbnRzOlsiYWN0aXZhdGUiLCJkZWFjdGl2YXRlIiwib25hY3RpdmF0 ZSIsIm9uZGVhY3RpdmF0ZSIsImNoYW5nZWQiLCJvbmNoYW5nZWQiXX0saW5pdGlh bGl6ZTpmdW5jdGlvbihmKXtpZihmJiZmLm1hbmFnZXIpe3RoaXMuX21hbmFnZXI9 Zi5tYW5hZ2VyOwpkZWxldGUgZi5tYW5hZ2VyO310aGlzLnNldE9wdGlvbnMoZik7 dGhpcy5fc2V0dXAoKTt9LGFkZEV2ZW50OmZ1bmN0aW9uKGgsZyxmKXtyZXR1cm4g dGhpcy5wYXJlbnQoYS5wYXJzZShoLHRoaXMub3B0aW9ucy5kZWZhdWx0RXZlbnRU eXBlLHRoaXMub3B0aW9ucy5ub25QYXJzZWRFdmVudHMpLGcsZik7Cn0scmVtb3Zl RXZlbnQ6ZnVuY3Rpb24oZyxmKXtyZXR1cm4gdGhpcy5wYXJlbnQoYS5wYXJzZShn LHRoaXMub3B0aW9ucy5kZWZhdWx0RXZlbnRUeXBlLHRoaXMub3B0aW9ucy5ub25Q YXJzZWRFdmVudHMpLGYpO30sdG9nZ2xlQWN0aXZlOmZ1bmN0aW9uKCl7cmV0dXJu IHRoaXNbdGhpcy5pc0FjdGl2ZSgpPyJkZWFjdGl2YXRlIjoiYWN0aXZhdGUiXSgp Owp9LGFjdGl2YXRlOmZ1bmN0aW9uKGYpe2lmKGYpe2lmKGYuaXNBY3RpdmUoKSl7 cmV0dXJuIHRoaXM7fWlmKHRoaXMuX2FjdGl2ZUtCJiZmIT10aGlzLl9hY3RpdmVL Qil7dGhpcy5wcmV2aW91cz10aGlzLl9hY3RpdmVLQjt0aGlzLnByZXZpb3VzLmZp cmVFdmVudCgiZGVhY3RpdmF0ZSIpOwp9dGhpcy5fYWN0aXZlS0I9Zi5maXJlRXZl bnQoImFjdGl2YXRlIik7YS5tYW5hZ2VyLmZpcmVFdmVudCgiY2hhbmdlZCIpO31l bHNle2lmKHRoaXMuX21hbmFnZXIpe3RoaXMuX21hbmFnZXIuYWN0aXZhdGUodGhp cyk7fX1yZXR1cm4gdGhpczt9LGlzQWN0aXZlOmZ1bmN0aW9uKCl7cmV0dXJuIHRo aXMuX21hbmFnZXI/KHRoaXMuX21hbmFnZXIuX2FjdGl2ZUtCPT10aGlzKTooYS5t YW5hZ2VyPT10aGlzKTsKfSxkZWFjdGl2YXRlOmZ1bmN0aW9uKGYpe2lmKGYpe2lm KGY9PT10aGlzLl9hY3RpdmVLQil7dGhpcy5fYWN0aXZlS0I9bnVsbDtmLmZpcmVF dmVudCgiZGVhY3RpdmF0ZSIpO2EubWFuYWdlci5maXJlRXZlbnQoImNoYW5nZWQi KTt9fWVsc2V7aWYodGhpcy5fbWFuYWdlcil7dGhpcy5fbWFuYWdlci5kZWFjdGl2 YXRlKHRoaXMpOwp9fXJldHVybiB0aGlzO30scmVsaW5xdWlzaDpmdW5jdGlvbigp e2lmKHRoaXMuaXNBY3RpdmUoKSYmdGhpcy5fbWFuYWdlciYmdGhpcy5fbWFuYWdl ci5wcmV2aW91cyl7dGhpcy5fbWFuYWdlci5hY3RpdmF0ZSh0aGlzLl9tYW5hZ2Vy LnByZXZpb3VzKTt9ZWxzZXt0aGlzLmRlYWN0aXZhdGUoKTsKfXJldHVybiB0aGlz O30sbWFuYWdlOmZ1bmN0aW9uKGYpe2lmKGYuX21hbmFnZXIpe2YuX21hbmFnZXIu ZHJvcChmKTt9dGhpcy5faW5zdGFuY2VzLnB1c2goZik7Zi5fbWFuYWdlcj10aGlz O2lmKCF0aGlzLl9hY3RpdmVLQil7dGhpcy5hY3RpdmF0ZShmKTt9cmV0dXJuIHRo aXM7Cn0sZHJvcDpmdW5jdGlvbihmKXtmLnJlbGlucXVpc2goKTt0aGlzLl9pbnN0 YW5jZXMuZXJhc2UoZik7aWYodGhpcy5fYWN0aXZlS0I9PWYpe2lmKHRoaXMucHJl dmlvdXMmJnRoaXMuX2luc3RhbmNlcy5jb250YWlucyh0aGlzLnByZXZpb3VzKSl7 dGhpcy5hY3RpdmF0ZSh0aGlzLnByZXZpb3VzKTsKfWVsc2V7dGhpcy5fYWN0aXZl S0I9dGhpcy5faW5zdGFuY2VzWzBdO319cmV0dXJuIHRoaXM7fSx0cmFjZTpmdW5j dGlvbigpe2EudHJhY2UodGhpcyk7fSxlYWNoOmZ1bmN0aW9uKGYpe2EuZWFjaCh0 aGlzLGYpO30sX2luc3RhbmNlczpbXSxfZGlzYWJsZTpmdW5jdGlvbihmKXtpZih0 aGlzLl9hY3RpdmVLQj09Zil7dGhpcy5fYWN0aXZlS0I9bnVsbDsKfX0sX3NldHVw OmZ1bmN0aW9uKCl7dGhpcy5hZGRFdmVudHModGhpcy5vcHRpb25zLmV2ZW50cyk7 aWYoYS5tYW5hZ2VyJiYhdGhpcy5fbWFuYWdlcil7YS5tYW5hZ2VyLm1hbmFnZSh0 aGlzKTt9aWYodGhpcy5vcHRpb25zLmFjdGl2ZSl7dGhpcy5hY3RpdmF0ZSgpOwp9 ZWxzZXt0aGlzLnJlbGlucXVpc2goKTt9fSxfaGFuZGxlOmZ1bmN0aW9uKGgsZyl7 aWYoaC5wcmV2ZW50S2V5Ym9hcmRQcm9wYWdhdGlvbil7cmV0dXJuO312YXIgZj0h IXRoaXMuX21hbmFnZXI7aWYoZiYmdGhpcy5fYWN0aXZlS0Ipe3RoaXMuX2FjdGl2 ZUtCLl9oYW5kbGUoaCxnKTsKaWYoaC5wcmV2ZW50S2V5Ym9hcmRQcm9wYWdhdGlv bil7cmV0dXJuO319dGhpcy5maXJlRXZlbnQoZyxoKTtpZighZiYmdGhpcy5fYWN0 aXZlS0Ipe3RoaXMuX2FjdGl2ZUtCLl9oYW5kbGUoaCxnKTt9fX0pO3ZhciBiPXt9 O3ZhciBjPVsic2hpZnQiLCJjb250cm9sIiwiYWx0IiwibWV0YSJdOwp2YXIgZT0v Xig/OnNoaWZ0fGNvbnRyb2x8Y3RybHxhbHR8bWV0YSkkLzthLnBhcnNlPWZ1bmN0 aW9uKGgsZyxrKXtpZihrJiZrLmNvbnRhaW5zKGgudG9Mb3dlckNhc2UoKSkpe3Jl dHVybiBoO31oPWgudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9eKGtleXVwfGtleWRv d24pOi8sZnVuY3Rpb24obSxsKXtnPWw7CnJldHVybiIiO30pO2lmKCFiW2hdKXt2 YXIgZixqPXt9O2guc3BsaXQoIisiKS5lYWNoKGZ1bmN0aW9uKGwpe2lmKGUudGVz dChsKSl7altsXT10cnVlO31lbHNle2Y9bDt9fSk7ai5jb250cm9sPWouY29udHJv bHx8ai5jdHJsO3ZhciBpPVtdO2MuZWFjaChmdW5jdGlvbihsKXtpZihqW2xdKXtp LnB1c2gobCk7Cn19KTtpZihmKXtpLnB1c2goZik7fWJbaF09aS5qb2luKCIrIik7 fXJldHVybiBnKyI6a2V5cygiK2JbaF0rIikiO307YS5lYWNoPWZ1bmN0aW9uKGYs Zyl7dmFyIGg9Znx8YS5tYW5hZ2VyO3doaWxlKGgpe2cucnVuKGgpO2g9aC5fYWN0 aXZlS0I7fX07YS5zdG9wPWZ1bmN0aW9uKGYpe2YucHJldmVudEtleWJvYXJkUHJv cGFnYXRpb249dHJ1ZTsKfTthLm1hbmFnZXI9bmV3IGEoe2FjdGl2ZTp0cnVlfSk7 YS50cmFjZT1mdW5jdGlvbihmKXtmPWZ8fGEubWFuYWdlcjt2YXIgZz13aW5kb3cu Y29uc29sZSYmY29uc29sZS5sb2c7aWYoZyl7Y29uc29sZS5sb2coInRoZSBmb2xs b3dpbmcgaXRlbXMgaGF2ZSBmb2N1czogIik7Cn1hLmVhY2goZixmdW5jdGlvbiho KXtpZihnKXtjb25zb2xlLmxvZyhkb2N1bWVudC5pZChoLndpZGdldCl8fGgud2ln ZXR8fGgpO319KTt9O3ZhciBkPWZ1bmN0aW9uKGcpe3ZhciBmPVtdO2MuZWFjaChm dW5jdGlvbihoKXtpZihnW2hdKXtmLnB1c2goaCk7fX0pO2lmKCFlLnRlc3QoZy5r ZXkpKXtmLnB1c2goZy5rZXkpOwp9YS5tYW5hZ2VyLl9oYW5kbGUoZyxnLnR5cGUr IjprZXlzKCIrZi5qb2luKCIrIikrIikiKTt9O2RvY3VtZW50LmFkZEV2ZW50cyh7 a2V5dXA6ZCxrZXlkb3duOmR9KTt9KSgpO0tleWJvYXJkLnByb3RvdHlwZS5vcHRp b25zLm5vblBhcnNlZEV2ZW50cy5jb21iaW5lKFsicmVib3VuZCIsIm9ucmVib3Vu ZCJdKTsKS2V5Ym9hcmQuaW1wbGVtZW50KHthZGRTaG9ydGN1dDpmdW5jdGlvbihi LGEpe3RoaXMuX3Nob3J0Y3V0cz10aGlzLl9zaG9ydGN1dHN8fFtdO3RoaXMuX3No b3J0Y3V0SW5kZXg9dGhpcy5fc2hvcnRjdXRJbmRleHx8e307YS5nZXRLZXlib2Fy ZD1GdW5jdGlvbi5mcm9tKHRoaXMpOwphLm5hbWU9Yjt0aGlzLl9zaG9ydGN1dElu ZGV4W2JdPWE7dGhpcy5fc2hvcnRjdXRzLnB1c2goYSk7aWYoYS5rZXlzKXt0aGlz LmFkZEV2ZW50KGEua2V5cyxhLmhhbmRsZXIpO31yZXR1cm4gdGhpczt9LGFkZFNo b3J0Y3V0czpmdW5jdGlvbihiKXtmb3IodmFyIGEgaW4gYil7dGhpcy5hZGRTaG9y dGN1dChhLGJbYV0pOwp9cmV0dXJuIHRoaXM7fSxyZW1vdmVTaG9ydGN1dDpmdW5j dGlvbihiKXt2YXIgYT10aGlzLmdldFNob3J0Y3V0KGIpO2lmKGEmJmEua2V5cyl7 dGhpcy5yZW1vdmVFdmVudChhLmtleXMsYS5oYW5kbGVyKTtkZWxldGUgdGhpcy5f c2hvcnRjdXRJbmRleFtiXTt0aGlzLl9zaG9ydGN1dHMuZXJhc2UoYSk7Cn1yZXR1 cm4gdGhpczt9LHJlbW92ZVNob3J0Y3V0czpmdW5jdGlvbihhKXthLmVhY2godGhp cy5yZW1vdmVTaG9ydGN1dCx0aGlzKTtyZXR1cm4gdGhpczt9LGdldFNob3J0Y3V0 czpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9zaG9ydGN1dHN8fFtdO30sZ2V0U2hv cnRjdXQ6ZnVuY3Rpb24oYSl7cmV0dXJuKHRoaXMuX3Nob3J0Y3V0SW5kZXh8fHt9 KVthXTsKfX0pO0tleWJvYXJkLnJlYmluZD1mdW5jdGlvbihiLGEpe0FycmF5LmZy b20oYSkuZWFjaChmdW5jdGlvbihjKXtjLmdldEtleWJvYXJkKCkucmVtb3ZlRXZl bnQoYy5rZXlzLGMuaGFuZGxlcik7Yy5nZXRLZXlib2FyZCgpLmFkZEV2ZW50KGIs Yy5oYW5kbGVyKTtjLmtleXM9YjsKYy5nZXRLZXlib2FyZCgpLmZpcmVFdmVudCgi cmVib3VuZCIpO30pO307S2V5Ym9hcmQuZ2V0QWN0aXZlU2hvcnRjdXRzPWZ1bmN0 aW9uKGIpe3ZhciBhPVtdLGM9W107S2V5Ym9hcmQuZWFjaChiLFtdLnB1c2guYmlu ZChhKSk7YS5lYWNoKGZ1bmN0aW9uKGQpe2MuZXh0ZW5kKGQuZ2V0U2hvcnRjdXRz KCkpOwp9KTtyZXR1cm4gYzt9O0tleWJvYXJkLmdldFNob3J0Y3V0PWZ1bmN0aW9u KGMsYixkKXtkPWR8fHt9O3ZhciBhPWQubWFueT9bXTpudWxsLGU9ZC5tYW55P2Z1 bmN0aW9uKGcpe3ZhciBmPWcuZ2V0U2hvcnRjdXQoYyk7aWYoZil7YS5wdXNoKGYp O319OmZ1bmN0aW9uKGYpe2lmKCFhKXthPWYuZ2V0U2hvcnRjdXQoYyk7Cn19O0tl eWJvYXJkLmVhY2goYixlKTtyZXR1cm4gYTt9O0tleWJvYXJkLmdldFNob3J0Y3V0 cz1mdW5jdGlvbihiLGEpe3JldHVybiBLZXlib2FyZC5nZXRTaG9ydGN1dChiLGEs e21hbnk6dHJ1ZX0pO307SHRtbFRhYmxlPUNsYXNzLnJlZmFjdG9yKEh0bWxUYWJs ZSx7b3B0aW9uczp7dXNlS2V5Ym9hcmQ6dHJ1ZSxjbGFzc1Jvd1NlbGVjdGVkOiJ0 YWJsZS10ci1zZWxlY3RlZCIsY2xhc3NSb3dIb3ZlcmVkOiJ0YWJsZS10ci1ob3Zl cmVkIixjbGFzc1NlbGVjdGFibGU6InRhYmxlLXNlbGVjdGFibGUiLHNoaWZ0Rm9y TXVsdGlTZWxlY3Q6dHJ1ZSxhbGxvd011bHRpU2VsZWN0OnRydWUsc2VsZWN0YWJs ZTpmYWxzZSxzZWxlY3RIaWRkZW5Sb3dzOmZhbHNlfSxpbml0aWFsaXplOmZ1bmN0 aW9uKCl7dGhpcy5wcmV2aW91cy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7CmlmKHRo aXMub2NjbHVkZWQpe3JldHVybiB0aGlzLm9jY2x1ZGVkO310aGlzLnNlbGVjdGVk Um93cz1uZXcgRWxlbWVudHMoKTtpZighdGhpcy5ib3VuZCl7dGhpcy5ib3VuZD17 fTt9dGhpcy5ib3VuZC5tb3VzZWxlYXZlPXRoaXMubW91c2VsZWF2ZS5iaW5kKHRo aXMpOwp0aGlzLmJvdW5kLmNsaWNrUm93PXRoaXMuY2xpY2tSb3cuYmluZCh0aGlz KTt0aGlzLmJvdW5kLmFjdGl2YXRlS2V5Ym9hcmQ9ZnVuY3Rpb24oKXtpZih0aGlz LmtleWJvYXJkJiZ0aGlzLnNlbGVjdEVuYWJsZWQpe3RoaXMua2V5Ym9hcmQuYWN0 aXZhdGUoKTt9fS5iaW5kKHRoaXMpOwppZih0aGlzLm9wdGlvbnMuc2VsZWN0YWJs ZSl7dGhpcy5lbmFibGVTZWxlY3QoKTt9fSxlbXB0eTpmdW5jdGlvbigpe3RoaXMu c2VsZWN0Tm9uZSgpO3JldHVybiB0aGlzLnByZXZpb3VzKCk7fSxlbmFibGVTZWxl Y3Q6ZnVuY3Rpb24oKXt0aGlzLnNlbGVjdEVuYWJsZWQ9dHJ1ZTsKdGhpcy5hdHRh Y2hTZWxlY3RzKCk7dGhpcy5lbGVtZW50LmFkZENsYXNzKHRoaXMub3B0aW9ucy5j bGFzc1NlbGVjdGFibGUpO3JldHVybiB0aGlzO30sZGlzYWJsZVNlbGVjdDpmdW5j dGlvbigpe3RoaXMuc2VsZWN0RW5hYmxlZD1mYWxzZTt0aGlzLmF0dGFjaFNlbGVj dHMoZmFsc2UpOwp0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25z LmNsYXNzU2VsZWN0YWJsZSk7cmV0dXJuIHRoaXM7fSxwdXNoOmZ1bmN0aW9uKCl7 dmFyIGE9dGhpcy5wcmV2aW91cy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy51 cGRhdGVTZWxlY3RzKCk7cmV0dXJuIGE7Cn0sdG9nZ2xlUm93OmZ1bmN0aW9uKGEp e3JldHVybiB0aGlzWyh0aGlzLmlzU2VsZWN0ZWQoYSk/ImRlIjoiIikrInNlbGVj dFJvdyJdKGEpO30sc2VsZWN0Um93OmZ1bmN0aW9uKGIsYSl7aWYodGhpcy5pc1Nl bGVjdGVkKGIpfHwoIWEmJiF0aGlzLmJvZHkuZ2V0Q2hpbGRyZW4oKS5jb250YWlu cyhiKSkpe3JldHVybjsKfWlmKCF0aGlzLm9wdGlvbnMuYWxsb3dNdWx0aVNlbGVj dCl7dGhpcy5zZWxlY3ROb25lKCk7fWlmKCF0aGlzLmlzU2VsZWN0ZWQoYikpe3Ro aXMuc2VsZWN0ZWRSb3dzLnB1c2goYik7Yi5hZGRDbGFzcyh0aGlzLm9wdGlvbnMu Y2xhc3NSb3dTZWxlY3RlZCk7dGhpcy5maXJlRXZlbnQoInJvd0ZvY3VzIixbYix0 aGlzLnNlbGVjdGVkUm93c10pOwp0aGlzLmZpcmVFdmVudCgic3RhdGVDaGFuZ2Vk Iik7fXRoaXMuZm9jdXNlZD1iO2RvY3VtZW50LmNsZWFyU2VsZWN0aW9uKCk7cmV0 dXJuIHRoaXM7fSxpc1NlbGVjdGVkOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnNl bGVjdGVkUm93cy5jb250YWlucyhhKTt9LGdldFNlbGVjdGVkOmZ1bmN0aW9uKCl7 cmV0dXJuIHRoaXMuc2VsZWN0ZWRSb3dzOwp9LGdldFNlbGVjdGVkOmZ1bmN0aW9u KCl7cmV0dXJuIHRoaXMuc2VsZWN0ZWRSb3dzO30sc2VyaWFsaXplOmZ1bmN0aW9u KCl7dmFyIGE9dGhpcy5wcmV2aW91cy5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHt9 O2lmKHRoaXMub3B0aW9ucy5zZWxlY3RhYmxlKXthLnNlbGVjdGVkUm93cz10aGlz LnNlbGVjdGVkUm93cy5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIEFycmF5LmluZGV4 T2YodGhpcy5ib2R5LnJvd3MsYik7Cn0uYmluZCh0aGlzKSk7fXJldHVybiBhO30s cmVzdG9yZTpmdW5jdGlvbihhKXtpZih0aGlzLm9wdGlvbnMuc2VsZWN0YWJsZSYm YS5zZWxlY3RlZFJvd3Mpe2Euc2VsZWN0ZWRSb3dzLmVhY2goZnVuY3Rpb24oYil7 dGhpcy5zZWxlY3RSb3codGhpcy5ib2R5LnJvd3NbYl0pOwp9LmJpbmQodGhpcykp O310aGlzLnByZXZpb3VzLmFwcGx5KHRoaXMsYXJndW1lbnRzKTt9LGRlc2VsZWN0 Um93OmZ1bmN0aW9uKGIsYSl7aWYoIXRoaXMuaXNTZWxlY3RlZChiKXx8KCFhJiYh dGhpcy5ib2R5LmdldENoaWxkcmVuKCkuY29udGFpbnMoYikpKXtyZXR1cm47Cn10 aGlzLnNlbGVjdGVkUm93cz1uZXcgRWxlbWVudHMoQXJyYXkuZnJvbSh0aGlzLnNl bGVjdGVkUm93cykuZXJhc2UoYikpO2IucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25z LmNsYXNzUm93U2VsZWN0ZWQpO3RoaXMuZmlyZUV2ZW50KCJyb3dVbmZvY3VzIixb Yix0aGlzLnNlbGVjdGVkUm93c10pOwp0aGlzLmZpcmVFdmVudCgic3RhdGVDaGFu Z2VkIik7cmV0dXJuIHRoaXM7fSxzZWxlY3RBbGw6ZnVuY3Rpb24oYSl7aWYoIWEm JiF0aGlzLm9wdGlvbnMuYWxsb3dNdWx0aVNlbGVjdCl7cmV0dXJuO310aGlzLnNl bGVjdFJhbmdlKDAsdGhpcy5ib2R5LnJvd3MubGVuZ3RoLGEpOwpyZXR1cm4gdGhp czt9LHNlbGVjdE5vbmU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zZWxlY3RBbGwo dHJ1ZSk7fSxzZWxlY3RSYW5nZTpmdW5jdGlvbihiLGEsZil7aWYoIXRoaXMub3B0 aW9ucy5hbGxvd011bHRpU2VsZWN0JiYhZil7cmV0dXJuO312YXIgZz1mPyJkZXNl bGVjdFJvdyI6InNlbGVjdFJvdyIsZT1BcnJheS5jbG9uZSh0aGlzLmJvZHkucm93 cyk7CmlmKHR5cGVPZihiKT09ImVsZW1lbnQiKXtiPWUuaW5kZXhPZihiKTt9aWYo dHlwZU9mKGEpPT0iZWxlbWVudCIpe2E9ZS5pbmRleE9mKGEpO31hPWE8ZS5sZW5n dGgtMT9hOmUubGVuZ3RoLTE7aWYoYTxiKXt2YXIgZD1iO2I9YTthPWQ7fWZvcih2 YXIgYz1iO2M8PWE7CmMrKyl7aWYodGhpcy5vcHRpb25zLnNlbGVjdEhpZGRlblJv d3N8fGVbY10uaXNEaXNwbGF5ZWQoKSl7dGhpc1tnXShlW2NdLHRydWUpO319cmV0 dXJuIHRoaXM7fSxkZXNlbGVjdFJhbmdlOmZ1bmN0aW9uKGIsYSl7dGhpcy5zZWxl Y3RSYW5nZShiLGEsdHJ1ZSk7fSxnZXRTZWxlY3RlZDpmdW5jdGlvbigpe3JldHVy biB0aGlzLnNlbGVjdGVkUm93czsKfSxlbnRlclJvdzpmdW5jdGlvbihhKXtpZih0 aGlzLmhvdmVyZWQpe3RoaXMuaG92ZXJlZD10aGlzLmxlYXZlUm93KHRoaXMuaG92 ZXJlZCk7fXRoaXMuaG92ZXJlZD1hLmFkZENsYXNzKHRoaXMub3B0aW9ucy5jbGFz c1Jvd0hvdmVyZWQpO30sbGVhdmVSb3c6ZnVuY3Rpb24oYSl7YS5yZW1vdmVDbGFz cyh0aGlzLm9wdGlvbnMuY2xhc3NSb3dIb3ZlcmVkKTsKfSx1cGRhdGVTZWxlY3Rz OmZ1bmN0aW9uKCl7QXJyYXkuZWFjaCh0aGlzLmJvZHkucm93cyxmdW5jdGlvbihh KXt2YXIgYj1hLnJldHJpZXZlKCJiaW5kZXJzIik7aWYoIWImJiF0aGlzLnNlbGVj dEVuYWJsZWQpe3JldHVybjt9aWYoIWIpe2I9e21vdXNlZW50ZXI6dGhpcy5lbnRl clJvdy5wYXNzKFthXSx0aGlzKSxtb3VzZWxlYXZlOnRoaXMubGVhdmVSb3cucGFz cyhbYV0sdGhpcyl9OwphLnN0b3JlKCJiaW5kZXJzIixiKTt9aWYodGhpcy5zZWxl Y3RFbmFibGVkKXthLmFkZEV2ZW50cyhiKTt9ZWxzZXthLnJlbW92ZUV2ZW50cyhi KTt9fSx0aGlzKTt9LHNoaWZ0Rm9jdXM6ZnVuY3Rpb24oYixhKXtpZighdGhpcy5m b2N1c2VkKXtyZXR1cm4gdGhpcy5zZWxlY3RSb3codGhpcy5ib2R5LnJvd3NbMF0s YSk7Cn12YXIgYz10aGlzLmdldFJvd0J5T2Zmc2V0KGIsdGhpcy5vcHRpb25zLnNl bGVjdEhpZGRlblJvd3MpO2lmKGM9PT1udWxsfHx0aGlzLmZvY3VzZWQ9PXRoaXMu Ym9keS5yb3dzW2NdKXtyZXR1cm4gdGhpczt9dGhpcy50b2dnbGVSb3codGhpcy5i b2R5LnJvd3NbY10sYSk7Cn0sY2xpY2tSb3c6ZnVuY3Rpb24oYSxiKXt2YXIgYz0o YS5zaGlmdHx8YS5tZXRhfHxhLmNvbnRyb2wpJiZ0aGlzLm9wdGlvbnMuc2hpZnRG b3JNdWx0aVNlbGVjdDtpZighYyYmIShhLnJpZ2h0Q2xpY2smJnRoaXMuaXNTZWxl Y3RlZChiKSYmdGhpcy5vcHRpb25zLmFsbG93TXVsdGlTZWxlY3QpKXt0aGlzLnNl bGVjdE5vbmUoKTsKfWlmKGEucmlnaHRDbGljayl7dGhpcy5zZWxlY3RSb3coYik7 fWVsc2V7dGhpcy50b2dnbGVSb3coYik7fWlmKGEuc2hpZnQpe3RoaXMuc2VsZWN0 UmFuZ2UodGhpcy5yYW5nZVN0YXJ0fHx0aGlzLmJvZHkucm93c1swXSxiLHRoaXMu cmFuZ2VTdGFydD8hdGhpcy5pc1NlbGVjdGVkKGIpOnRydWUpOwp0aGlzLmZvY3Vz ZWQ9Yjt9dGhpcy5yYW5nZVN0YXJ0PWI7fSxnZXRSb3dCeU9mZnNldDpmdW5jdGlv bihlLGQpe2lmKCF0aGlzLmZvY3VzZWQpe3JldHVybiAwO312YXIgYj1BcnJheS5p bmRleE9mKHRoaXMuYm9keS5yb3dzLHRoaXMuZm9jdXNlZCk7aWYoKGI9PTAmJmU8 MCl8fChiPT10aGlzLmJvZHkucm93cy5sZW5ndGgtMSYmZT4wKSl7cmV0dXJuIG51 bGw7Cn1pZihkKXtiKz1lO31lbHNle3ZhciBhPTAsYz0wO2lmKGU+MCl7d2hpbGUo YzxlJiZiPHRoaXMuYm9keS5yb3dzLmxlbmd0aC0xKXtpZih0aGlzLmJvZHkucm93 c1srK2JdLmlzRGlzcGxheWVkKCkpe2MrKzt9fX1lbHNle3doaWxlKGM+ZSYmYj4w KXtpZih0aGlzLmJvZHkucm93c1stLWJdLmlzRGlzcGxheWVkKCkpe2MtLTsKfX19 fXJldHVybiBiO30sYXR0YWNoU2VsZWN0czpmdW5jdGlvbihkKXtkPWQhPW51bGw/ ZDp0cnVlO3ZhciBnPWQ/ImFkZEV2ZW50cyI6InJlbW92ZUV2ZW50cyI7dGhpcy5l bGVtZW50W2ddKHttb3VzZWxlYXZlOnRoaXMuYm91bmQubW91c2VsZWF2ZSxjbGlj azp0aGlzLmJvdW5kLmFjdGl2YXRlS2V5Ym9hcmR9KTsKdGhpcy5ib2R5W2ddKHsi Y2xpY2s6cmVsYXkodHIpIjp0aGlzLmJvdW5kLmNsaWNrUm93LCJjb250ZXh0bWVu dTpyZWxheSh0cikiOnRoaXMuYm91bmQuY2xpY2tSb3d9KTtpZih0aGlzLm9wdGlv bnMudXNlS2V5Ym9hcmR8fHRoaXMua2V5Ym9hcmQpe2lmKCF0aGlzLmtleWJvYXJk KXt0aGlzLmtleWJvYXJkPW5ldyBLZXlib2FyZCgpOwp9aWYoIXRoaXMuc2VsZWN0 S2V5c0RlZmluZWQpe3RoaXMuc2VsZWN0S2V5c0RlZmluZWQ9dHJ1ZTt2YXIgZixl O3ZhciBjPWZ1bmN0aW9uKGkpe3ZhciBoPWZ1bmN0aW9uKGope2NsZWFyVGltZW91 dChmKTtqLnByZXZlbnREZWZhdWx0KCk7dmFyIGs9dGhpcy5ib2R5LnJvd3NbdGhp cy5nZXRSb3dCeU9mZnNldChpLHRoaXMub3B0aW9ucy5zZWxlY3RIaWRkZW5Sb3dz KV07CmlmKGouc2hpZnQmJmsmJnRoaXMuaXNTZWxlY3RlZChrKSl7dGhpcy5kZXNl bGVjdFJvdyh0aGlzLmZvY3VzZWQpO3RoaXMuZm9jdXNlZD1rO31lbHNle2lmKGsm JighdGhpcy5vcHRpb25zLmFsbG93TXVsdGlTZWxlY3R8fCFqLnNoaWZ0KSl7dGhp cy5zZWxlY3ROb25lKCk7Cn10aGlzLnNoaWZ0Rm9jdXMoaSxqKTt9aWYoZSl7Zj1o LmRlbGF5KDEwMCx0aGlzLGopO31lbHNle2Y9KGZ1bmN0aW9uKCl7ZT10cnVlO2go aik7fSkuZGVsYXkoNDAwKTt9fS5iaW5kKHRoaXMpO3JldHVybiBoO30uYmluZCh0 aGlzKTt2YXIgYj1mdW5jdGlvbigpe2NsZWFyVGltZW91dChmKTsKZT1mYWxzZTt9 O3RoaXMua2V5Ym9hcmQuYWRkRXZlbnRzKHsia2V5ZG93bjpzaGlmdCt1cCI6Yygt MSksImtleWRvd246c2hpZnQrZG93biI6YygxKSwia2V5dXA6c2hpZnQrdXAiOmIs ImtleXVwOnNoaWZ0K2Rvd24iOmIsImtleXVwOnVwIjpiLCJrZXl1cDpkb3duIjpi fSk7CnZhciBhPSIiO2lmKHRoaXMub3B0aW9ucy5hbGxvd011bHRpU2VsZWN0JiZ0 aGlzLm9wdGlvbnMuc2hpZnRGb3JNdWx0aVNlbGVjdCYmdGhpcy5vcHRpb25zLnVz ZUtleWJvYXJkKXthPSIgKFNoaWZ0IG11bHRpLXNlbGVjdHMpLiI7fXRoaXMua2V5 Ym9hcmQuYWRkU2hvcnRjdXRzKHsiU2VsZWN0IFByZXZpb3VzIFJvdyI6e2tleXM6 InVwIixzaG9ydGN1dDoidXAgYXJyb3ciLGhhbmRsZXI6YygtMSksZGVzY3JpcHRp b246IlNlbGVjdCB0aGUgcHJldmlvdXMgcm93IGluIHRoZSB0YWJsZS4iK2F9LCJT ZWxlY3QgTmV4dCBSb3ciOntrZXlzOiJkb3duIixzaG9ydGN1dDoiZG93biBhcnJv dyIsaGFuZGxlcjpjKDEpLGRlc2NyaXB0aW9uOiJTZWxlY3QgdGhlIG5leHQgcm93 IGluIHRoZSB0YWJsZS4iK2F9fSk7Cn10aGlzLmtleWJvYXJkW2Q/ImFjdGl2YXRl IjoiZGVhY3RpdmF0ZSJdKCk7fXRoaXMudXBkYXRlU2VsZWN0cygpO30sbW91c2Vs ZWF2ZTpmdW5jdGlvbigpe2lmKHRoaXMuaG92ZXJlZCl7dGhpcy5sZWF2ZVJvdyh0 aGlzLmhvdmVyZWQpO319fSk7dmFyIFNjcm9sbGVyPW5ldyBDbGFzcyh7SW1wbGVt ZW50czpbRXZlbnRzLE9wdGlvbnNdLG9wdGlvbnM6e2FyZWE6MjAsdmVsb2NpdHk6 MSxvbkNoYW5nZTpmdW5jdGlvbihhLGIpe3RoaXMuZWxlbWVudC5zY3JvbGxUbyhh LGIpOwp9LGZwczo1MH0saW5pdGlhbGl6ZTpmdW5jdGlvbihiLGEpe3RoaXMuc2V0 T3B0aW9ucyhhKTt0aGlzLmVsZW1lbnQ9ZG9jdW1lbnQuaWQoYik7dGhpcy5kb2NC b2R5PWRvY3VtZW50LmlkKHRoaXMuZWxlbWVudC5nZXREb2N1bWVudCgpLmJvZHkp O3RoaXMubGlzdGVuZXI9KHR5cGVPZih0aGlzLmVsZW1lbnQpIT0iZWxlbWVudCIp P3RoaXMuZG9jQm9keTp0aGlzLmVsZW1lbnQ7CnRoaXMudGltZXI9bnVsbDt0aGlz LmJvdW5kPXthdHRhY2g6dGhpcy5hdHRhY2guYmluZCh0aGlzKSxkZXRhY2g6dGhp cy5kZXRhY2guYmluZCh0aGlzKSxnZXRDb29yZHM6dGhpcy5nZXRDb29yZHMuYmlu ZCh0aGlzKX07fSxzdGFydDpmdW5jdGlvbigpe3RoaXMubGlzdGVuZXIuYWRkRXZl bnRzKHttb3VzZW92ZXI6dGhpcy5ib3VuZC5hdHRhY2gsbW91c2VsZWF2ZTp0aGlz LmJvdW5kLmRldGFjaH0pOwpyZXR1cm4gdGhpczt9LHN0b3A6ZnVuY3Rpb24oKXt0 aGlzLmxpc3RlbmVyLnJlbW92ZUV2ZW50cyh7bW91c2VvdmVyOnRoaXMuYm91bmQu YXR0YWNoLG1vdXNlbGVhdmU6dGhpcy5ib3VuZC5kZXRhY2h9KTt0aGlzLmRldGFj aCgpO3RoaXMudGltZXI9Y2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKTsKcmV0dXJu IHRoaXM7fSxhdHRhY2g6ZnVuY3Rpb24oKXt0aGlzLmxpc3RlbmVyLmFkZEV2ZW50 KCJtb3VzZW1vdmUiLHRoaXMuYm91bmQuZ2V0Q29vcmRzKTt9LGRldGFjaDpmdW5j dGlvbigpe3RoaXMubGlzdGVuZXIucmVtb3ZlRXZlbnQoIm1vdXNlbW92ZSIsdGhp cy5ib3VuZC5nZXRDb29yZHMpOwp0aGlzLnRpbWVyPWNsZWFySW50ZXJ2YWwodGhp cy50aW1lcik7fSxnZXRDb29yZHM6ZnVuY3Rpb24oYSl7dGhpcy5wYWdlPSh0aGlz Lmxpc3RlbmVyLmdldCgidGFnIik9PSJib2R5Iik/YS5jbGllbnQ6YS5wYWdlO2lm KCF0aGlzLnRpbWVyKXt0aGlzLnRpbWVyPXRoaXMuc2Nyb2xsLnBlcmlvZGljYWwo TWF0aC5yb3VuZCgxMDAwL3RoaXMub3B0aW9ucy5mcHMpLHRoaXMpOwp9fSxzY3Jv bGw6ZnVuY3Rpb24oKXt2YXIgYz10aGlzLmVsZW1lbnQuZ2V0U2l6ZSgpLGE9dGhp cy5lbGVtZW50LmdldFNjcm9sbCgpLGg9dGhpcy5lbGVtZW50IT10aGlzLmRvY0Jv ZHk/dGhpcy5lbGVtZW50LmdldE9mZnNldHMoKTp7eDowLHk6MH0sZD10aGlzLmVs ZW1lbnQuZ2V0U2Nyb2xsU2l6ZSgpLGc9e3g6MCx5OjB9LGU9dGhpcy5vcHRpb25z LmFyZWEudG9wfHx0aGlzLm9wdGlvbnMuYXJlYSxiPXRoaXMub3B0aW9ucy5hcmVh LmJvdHRvbXx8dGhpcy5vcHRpb25zLmFyZWE7CmZvcih2YXIgZiBpbiB0aGlzLnBh Z2Upe2lmKHRoaXMucGFnZVtmXTwoZStoW2ZdKSYmYVtmXSE9MCl7Z1tmXT0odGhp cy5wYWdlW2ZdLWUtaFtmXSkqdGhpcy5vcHRpb25zLnZlbG9jaXR5O31lbHNle2lm KHRoaXMucGFnZVtmXStiPihjW2ZdK2hbZl0pJiZhW2ZdK2NbZl0hPWRbZl0pe2db Zl09KHRoaXMucGFnZVtmXS1jW2ZdK2ItaFtmXSkqdGhpcy5vcHRpb25zLnZlbG9j aXR5Owp9fWdbZl09Z1tmXS5yb3VuZCgpO31pZihnLnl8fGcueCl7dGhpcy5maXJl RXZlbnQoImNoYW5nZSIsW2EueCtnLngsYS55K2cueV0pO319fSk7KGZ1bmN0aW9u KCl7dmFyIGE9ZnVuY3Rpb24oYyxiKXtyZXR1cm4oYyk/KHR5cGVPZihjKT09ImZ1 bmN0aW9uIj9jKGIpOmIuZ2V0KGMpKToiIjsKfTt0aGlzLlRpcHM9bmV3IENsYXNz KHtJbXBsZW1lbnRzOltFdmVudHMsT3B0aW9uc10sb3B0aW9uczp7b25TaG93OmZ1 bmN0aW9uKCl7dGhpcy50aXAuc2V0U3R5bGUoImRpc3BsYXkiLCJibG9jayIpO30s b25IaWRlOmZ1bmN0aW9uKCl7dGhpcy50aXAuc2V0U3R5bGUoImRpc3BsYXkiLCJu b25lIik7Cn0sdGl0bGU6InRpdGxlIix0ZXh0OmZ1bmN0aW9uKGIpe3JldHVybiBi LmdldCgicmVsIil8fGIuZ2V0KCJocmVmIik7fSxzaG93RGVsYXk6MTAwLGhpZGVE ZWxheToxMDAsY2xhc3NOYW1lOiJ0aXAtd3JhcCIsb2Zmc2V0Ont4OjE2LHk6MTZ9 LHdpbmRvd1BhZGRpbmc6e3g6MCx5OjB9LGZpeGVkOmZhbHNlLHdhaUFyaWE6dHJ1 ZX0saW5pdGlhbGl6ZTpmdW5jdGlvbigpe3ZhciBiPUFycmF5LmxpbmsoYXJndW1l bnRzLHtvcHRpb25zOlR5cGUuaXNPYmplY3QsZWxlbWVudHM6ZnVuY3Rpb24oYyl7 cmV0dXJuIGMhPW51bGw7Cn19KTt0aGlzLnNldE9wdGlvbnMoYi5vcHRpb25zKTtp ZihiLmVsZW1lbnRzKXt0aGlzLmF0dGFjaChiLmVsZW1lbnRzKTt9dGhpcy5jb250 YWluZXI9bmV3IEVsZW1lbnQoImRpdiIseyJjbGFzcyI6InRpcCJ9KTtpZih0aGlz Lm9wdGlvbnMuaWQpe3RoaXMuY29udGFpbmVyLnNldCgiaWQiLHRoaXMub3B0aW9u cy5pZCk7CmlmKHRoaXMub3B0aW9ucy53YWlBcmlhKXt0aGlzLmF0dGFjaFdhaUFy aWEoKTt9fX0sdG9FbGVtZW50OmZ1bmN0aW9uKCl7aWYodGhpcy50aXApe3JldHVy biB0aGlzLnRpcDt9dGhpcy50aXA9bmV3IEVsZW1lbnQoImRpdiIseyJjbGFzcyI6 dGhpcy5vcHRpb25zLmNsYXNzTmFtZSxzdHlsZXM6e3Bvc2l0aW9uOiJhYnNvbHV0 ZSIsdG9wOjAsbGVmdDowfX0pLmFkb3B0KG5ldyBFbGVtZW50KCJkaXYiLHsiY2xh c3MiOiJ0aXAtdG9wIn0pLHRoaXMuY29udGFpbmVyLG5ldyBFbGVtZW50KCJkaXYi LHsiY2xhc3MiOiJ0aXAtYm90dG9tIn0pKTsKcmV0dXJuIHRoaXMudGlwO30sYXR0 YWNoV2FpQXJpYTpmdW5jdGlvbigpe3ZhciBiPXRoaXMub3B0aW9ucy5pZDt0aGlz LmNvbnRhaW5lci5zZXQoInJvbGUiLCJ0b29sdGlwIik7aWYoIXRoaXMud2FpQXJp YSl7dGhpcy53YWlBcmlhPXtzaG93OmZ1bmN0aW9uKGMpe2lmKGIpe2Muc2V0KCJh cmlhLWRlc2NyaWJlZGJ5IixiKTsKfXRoaXMuY29udGFpbmVyLnNldCgiYXJpYS1o aWRkZW4iLCJmYWxzZSIpO30saGlkZTpmdW5jdGlvbihjKXtpZihiKXtjLmVyYXNl KCJhcmlhLWRlc2NyaWJlZGJ5Iik7fXRoaXMuY29udGFpbmVyLnNldCgiYXJpYS1o aWRkZW4iLCJ0cnVlIik7fX07fXRoaXMuYWRkRXZlbnRzKHRoaXMud2FpQXJpYSk7 Cn0sZGV0YWNoV2FpQXJpYTpmdW5jdGlvbigpe2lmKHRoaXMud2FpQXJpYSl7dGhp cy5jb250YWluZXIuZXJhc2UoInJvbGUiKTt0aGlzLmNvbnRhaW5lci5lcmFzZSgi YXJpYS1oaWRkZW4iKTt0aGlzLnJlbW92ZUV2ZW50cyh0aGlzLndhaUFyaWEpO319 LGF0dGFjaDpmdW5jdGlvbihiKXskJChiKS5lYWNoKGZ1bmN0aW9uKGQpe3ZhciBm PWEodGhpcy5vcHRpb25zLnRpdGxlLGQpLGU9YSh0aGlzLm9wdGlvbnMudGV4dCxk KTsKZC5zZXQoInRpdGxlIiwiIikuc3RvcmUoInRpcDpuYXRpdmUiLGYpLnJldHJp ZXZlKCJ0aXA6dGl0bGUiLGYpO2QucmV0cmlldmUoInRpcDp0ZXh0IixlKTt0aGlz LmZpcmVFdmVudCgiYXR0YWNoIixbZF0pO3ZhciBjPVsiZW50ZXIiLCJsZWF2ZSJd O2lmKCF0aGlzLm9wdGlvbnMuZml4ZWQpe2MucHVzaCgibW92ZSIpOwp9Yy5lYWNo KGZ1bmN0aW9uKGgpe3ZhciBnPWQucmV0cmlldmUoInRpcDoiK2gpO2lmKCFnKXtn PWZ1bmN0aW9uKGkpe3RoaXNbImVsZW1lbnQiK2guY2FwaXRhbGl6ZSgpXS5hcHBs eSh0aGlzLFtpLGRdKTt9LmJpbmQodGhpcyk7fWQuc3RvcmUoInRpcDoiK2gsZyku YWRkRXZlbnQoIm1vdXNlIitoLGcpOwp9LHRoaXMpO30sdGhpcyk7cmV0dXJuIHRo aXM7fSxkZXRhY2g6ZnVuY3Rpb24oYil7JCQoYikuZWFjaChmdW5jdGlvbihkKXtb ImVudGVyIiwibGVhdmUiLCJtb3ZlIl0uZWFjaChmdW5jdGlvbihlKXtkLnJlbW92 ZUV2ZW50KCJtb3VzZSIrZSxkLnJldHJpZXZlKCJ0aXA6IitlKSkuZWxpbWluYXRl KCJ0aXA6IitlKTsKfSk7dGhpcy5maXJlRXZlbnQoImRldGFjaCIsW2RdKTtpZih0 aGlzLm9wdGlvbnMudGl0bGU9PSJ0aXRsZSIpe3ZhciBjPWQucmV0cmlldmUoInRp cDpuYXRpdmUiKTtpZihjKXtkLnNldCgidGl0bGUiLGMpO319fSx0aGlzKTtyZXR1 cm4gdGhpczt9LGVsZW1lbnRFbnRlcjpmdW5jdGlvbihjLGIpe2NsZWFyVGltZW91 dCh0aGlzLnRpbWVyKTsKdGhpcy50aW1lcj0oZnVuY3Rpb24oKXt0aGlzLmNvbnRh aW5lci5lbXB0eSgpO1sidGl0bGUiLCJ0ZXh0Il0uZWFjaChmdW5jdGlvbihlKXt2 YXIgZD1iLnJldHJpZXZlKCJ0aXA6IitlKTt2YXIgZj10aGlzWyJfIitlKyJFbGVt ZW50Il09bmV3IEVsZW1lbnQoImRpdiIseyJjbGFzcyI6InRpcC0iK2V9KS5pbmpl Y3QodGhpcy5jb250YWluZXIpOwppZihkKXt0aGlzLmZpbGwoZixkKTt9fSx0aGlz KTt0aGlzLnNob3coYik7dGhpcy5wb3NpdGlvbigodGhpcy5vcHRpb25zLmZpeGVk KT97cGFnZTpiLmdldFBvc2l0aW9uKCl9OmMpO30pLmRlbGF5KHRoaXMub3B0aW9u cy5zaG93RGVsYXksdGhpcyk7fSxlbGVtZW50TGVhdmU6ZnVuY3Rpb24oYyxiKXtj bGVhclRpbWVvdXQodGhpcy50aW1lcik7CnRoaXMudGltZXI9dGhpcy5oaWRlLmRl bGF5KHRoaXMub3B0aW9ucy5oaWRlRGVsYXksdGhpcyxiKTt0aGlzLmZpcmVGb3JQ YXJlbnQoYyxiKTt9LHNldFRpdGxlOmZ1bmN0aW9uKGIpe2lmKHRoaXMuX3RpdGxl RWxlbWVudCl7dGhpcy5fdGl0bGVFbGVtZW50LmVtcHR5KCk7CnRoaXMuZmlsbCh0 aGlzLl90aXRsZUVsZW1lbnQsYik7fXJldHVybiB0aGlzO30sc2V0VGV4dDpmdW5j dGlvbihiKXtpZih0aGlzLl90ZXh0RWxlbWVudCl7dGhpcy5fdGV4dEVsZW1lbnQu ZW1wdHkoKTt0aGlzLmZpbGwodGhpcy5fdGV4dEVsZW1lbnQsYik7fXJldHVybiB0 aGlzOwp9LGZpcmVGb3JQYXJlbnQ6ZnVuY3Rpb24oYyxiKXtiPWIuZ2V0UGFyZW50 KCk7aWYoIWJ8fGI9PWRvY3VtZW50LmJvZHkpe3JldHVybjt9aWYoYi5yZXRyaWV2 ZSgidGlwOmVudGVyIikpe2IuZmlyZUV2ZW50KCJtb3VzZWVudGVyIixjKTt9ZWxz ZXt0aGlzLmZpcmVGb3JQYXJlbnQoYyxiKTsKfX0sZWxlbWVudE1vdmU6ZnVuY3Rp b24oYyxiKXt0aGlzLnBvc2l0aW9uKGMpO30scG9zaXRpb246ZnVuY3Rpb24oZil7 aWYoIXRoaXMudGlwKXtkb2N1bWVudC5pZCh0aGlzKTt9dmFyIGM9d2luZG93Lmdl dFNpemUoKSxiPXdpbmRvdy5nZXRTY3JvbGwoKSxnPXt4OnRoaXMudGlwLm9mZnNl dFdpZHRoLHk6dGhpcy50aXAub2Zmc2V0SGVpZ2h0fSxkPXt4OiJsZWZ0Iix5OiJ0 b3AifSxlPXt5OmZhbHNlLHgyOmZhbHNlLHkyOmZhbHNlLHg6ZmFsc2V9LGg9e307 CmZvcih2YXIgaSBpbiBkKXtoW2RbaV1dPWYucGFnZVtpXSt0aGlzLm9wdGlvbnMu b2Zmc2V0W2ldO2lmKGhbZFtpXV08MCl7ZVtpXT10cnVlO31pZigoaFtkW2ldXStn W2ldLWJbaV0pPmNbaV0tdGhpcy5vcHRpb25zLndpbmRvd1BhZGRpbmdbaV0pe2hb ZFtpXV09Zi5wYWdlW2ldLXRoaXMub3B0aW9ucy5vZmZzZXRbaV0tZ1tpXTsKZVtp KyIyIl09dHJ1ZTt9fXRoaXMuZmlyZUV2ZW50KCJib3VuZCIsZSk7dGhpcy50aXAu c2V0U3R5bGVzKGgpO30sZmlsbDpmdW5jdGlvbihiLGMpe2lmKHR5cGVvZiBjPT0i c3RyaW5nIil7Yi5zZXQoImh0bWwiLGMpO31lbHNle2IuYWRvcHQoYyk7fX0sc2hv dzpmdW5jdGlvbihiKXtpZighdGhpcy50aXApe2RvY3VtZW50LmlkKHRoaXMpOwp9 aWYoIXRoaXMudGlwLmdldFBhcmVudCgpKXt0aGlzLnRpcC5pbmplY3QoZG9jdW1l bnQuYm9keSk7fXRoaXMuZmlyZUV2ZW50KCJzaG93IixbdGhpcy50aXAsYl0pO30s aGlkZTpmdW5jdGlvbihiKXtpZighdGhpcy50aXApe2RvY3VtZW50LmlkKHRoaXMp O310aGlzLmZpcmVFdmVudCgiaGlkZSIsW3RoaXMudGlwLGJdKTsKfX0pO30pKCk7 KGZ1bmN0aW9uKCl7dmFyIGE9e2pzb246SlNPTi5kZWNvZGV9O0xvY2FsZS5TZXQu ZGVmaW5lUGFyc2VyPWZ1bmN0aW9uKGIsYyl7YVtiXT1jO307TG9jYWxlLlNldC5m cm9tPWZ1bmN0aW9uKGQsYyl7aWYoaW5zdGFuY2VPZihkLExvY2FsZS5TZXQpKXty ZXR1cm4gZDsKfWlmKCFjJiZ0eXBlT2YoZCk9PSJzdHJpbmciKXtjPSJqc29uIjt9 aWYoYVtjXSl7ZD1hW2NdKGQpO312YXIgYj1uZXcgTG9jYWxlLlNldDtiLnNldHM9 ZC5zZXRzfHx7fTtpZihkLmluaGVyaXRzKXtiLmluaGVyaXRzLmxvY2FsZXM9QXJy YXkuZnJvbShkLmluaGVyaXRzLmxvY2FsZXMpOwpiLmluaGVyaXRzLnNldHM9ZC5p bmhlcml0cy5zZXRzfHx7fTt9cmV0dXJuIGI7fTt9KSgpO0xvY2FsZS5kZWZpbmUo ImFyIiwiRGF0ZSIse2RhdGVPcmRlcjpbImRhdGUiLCJtb250aCIsInllYXIiXSxz aG9ydERhdGU6IiVkLyVtLyVZIixzaG9ydFRpbWU6IiVIOiVNIn0pOwpMb2NhbGUu ZGVmaW5lKCJhciIsIkZvcm1WYWxpZGF0b3IiLHtyZXF1aXJlZDoi2YfYsNinINin 2YTYrdmC2YQg2YXYt9mE2YjYqC4iLG1pbkxlbmd0aDoi2LHYrNin2KHZiyDYpdiv 2K7Yp9mEIHttaW5MZW5ndGh9INij2K3YsdmBINi52YTZiSDYp9mE2KPZgtmEICjY qtmFINil2K/Yrtin2YQge2xlbmd0aH0g2KPYrdix2YEpLiIsbWF4TGVuZ3RoOiLY p9mE2LHYrNin2KEg2LnYr9mFINil2K/Yrtin2YQg2KPZg9ir2LEg2YXZhiB7bWF4 TGVuZ3RofSDYo9it2LHZgSAo2KrZhSDYpdiv2K7Yp9mEIHtsZW5ndGh9INij2K3Y sdmBKS4iLGludGVnZXI6Itin2YTYsdis2KfYoSDYpdiv2K7Yp9mEINi52K/YryDY tdit2YrYrSDZgdmKINmH2LDYpyDYp9mE2K3ZgtmELiDYo9mKINix2YLZhSDYsNmI INmD2LPYsSDYudi02LHZiiDYo9mIINmF2KbZiNmKICjZhdir2KfZhCAxLjI1ICkg 2LrZitixINmF2LPZhdmI2K0uIixudW1lcmljOifYp9mE2LHYrNin2KEg2KXYr9iu 2KfZhCDZgtmK2YUg2LHZgtmF2YrYqSDZgdmKINmH2LDYpyDYp9mE2K3ZgtmEICjZ hdir2KfZhCAiMSIg2KPZiCAiMS4xIiDYo9mIICItMSIg2KPZiCAiLTEuMSIpLics ZGlnaXRzOiLYp9mE2LHYrNin2KEg2KPYs9iq2K7Yr9in2YUg2YLZitmFINix2YLZ hdmK2Kkg2YjYudmE2KfZhdin2Kog2KrYsdmC2YrZhdmK2Kkg2YHZgti3INmB2Yog 2YfYsNinINin2YTYrdmC2YQgKNmF2KvYp9mELCDYsdmC2YUg2YfYp9iq2YEg2YXY uSDZhtmC2LfYqSDYo9mIINi02K3Yt9ipKSIsYWxwaGE6Itin2YTYsdis2KfYoSDY o9iz2KrYrtiv2KfZhSDYo9it2LHZgSDZgdmC2LcgKNinLdmKKSDZgdmKINmH2LDY pyDYp9mE2K3ZgtmELiDYo9mKINmB2LHYp9i62KfYqiDYo9mIINi52YTYp9mF2KfY qiDYutmK2LEg2YXYs9mF2YjYrdipLiIsYWxwaGFudW06Itin2YTYsdis2KfYoSDY o9iz2KrYrtiv2KfZhSDYo9it2LHZgSDZgdmC2LcgKNinLdmKKSDYo9mIINij2LHZ gtin2YUgKDAtOSkg2YHZgti3INmB2Yog2YfYsNinINin2YTYrdmC2YQuINij2Yog 2YHYsdin2LrYp9iqINij2Ygg2LnZhNin2YXYp9iqINi62YrYsSDZhdiz2YXZiNit 2KkuIixkYXRlU3VjaEFzOiLYp9mE2LHYrNin2KEg2KXYr9iu2KfZhCDYqtin2LHZ itiuINi12K3ZititINmD2KfZhNiq2KfZhNmKIHtkYXRlfSIsZGF0ZUluRm9ybWF0 TURZOiLYp9mE2LHYrNin2KEg2KXYr9iu2KfZhCDYqtin2LHZitiuINi12K3Zitit ICjZhdir2KfZhCwgMzEtMTItMTk5OSkiLGVtYWlsOiLYp9mE2LHYrNin2KEg2KXY r9iu2KfZhCDYqNix2YrYryDYpdmE2YPYqtix2YjZhtmKINi12K3ZititLiIsdXJs OiLYp9mE2LHYrNin2KEg2KXYr9iu2KfZhCDYudmG2YjYp9mGINil2YTZg9iq2LHZ iNmG2Yog2LXYrdmK2K0g2YXYq9mEIGh0dHA6Ly93d3cuZXhhbXBsZS5jb20iLGN1 cnJlbmN5RG9sbGFyOiLYp9mE2LHYrNin2KEg2KXYr9iu2KfZhCDZgtmK2YXYqSAk INi12K3Zitit2KkuINmF2KvYp9mELCAxMDAuMDAkIixvbmVSZXF1aXJlZDoi2KfZ hNix2KzYp9ihINil2K/Yrtin2YQg2YLZitmF2Kkg2YHZiiDYo9it2K8g2YfYsNmH INin2YTYrdmC2YjZhCDYudmE2Ykg2KfZhNij2YLZhC4iLGVycm9yUHJlZml4OiLY rti32KM6ICIsd2FybmluZ1ByZWZpeDoi2KrYrdiw2YrYsTogIn0pOwpMb2NhbGUu ZGVmaW5lKCJjYS1DQSIsIkRhdGUiLHttb250aHM6WyJHZW5lciIsIkZlYnJlciIs Ik1hcsOnIiwiQWJyaWwiLCJNYWlnIiwiSnVueSIsIkp1bGkiLCJBZ29zdCIsIlNl dGVtYnJlIiwiT2N0dWJyZSIsIk5vdmVtYnJlIiwiRGVzZW1icmUiXSxtb250aHNf YWJicjpbImdlbi4iLCJmZWJyLiIsIm1hcsOnIiwiYWJyLiIsIm1haWciLCJqdW55 IiwianVsLiIsImFnLiIsInNldC4iLCJvY3QuIiwibm92LiIsImRlcy4iXSxkYXlz OlsiRGl1bWVuZ2UiLCJEaWxsdW5zIiwiRGltYXJ0cyIsIkRpbWVjcmVzIiwiRGlq b3VzIiwiRGl2ZW5kcmVzIiwiRGlzc2FidGUiXSxkYXlzX2FiYnI6WyJkZyIsImRs IiwiZHQiLCJkYyIsImRqIiwiZHYiLCJkcyJdLGRhdGVPcmRlcjpbImRhdGUiLCJt b250aCIsInllYXIiXSxzaG9ydERhdGU6IiVkLyVtLyVZIixzaG9ydFRpbWU6IiVI OiVNIixBTToiQU0iLFBNOiJQTSIsZmlyc3REYXlPZldlZWs6MCxvcmRpbmFsOiIi LGxlc3NUaGFuTWludXRlQWdvOiJmYSBtZW55cyBkYHVuIG1pbnV0IixtaW51dGVB Z286ImZhIHVuIG1pbnV0IixtaW51dGVzQWdvOiJmYSB7ZGVsdGF9IG1pbnV0cyIs aG91ckFnbzoiZmEgdW4gaG9yYSIsaG91cnNBZ286ImZhIHVuZXMge2RlbHRhfSBo b3JlcyIsZGF5QWdvOiJmYSB1biBkaWEiLGRheXNBZ286ImZhIHtkZWx0YX0gZGll cyIsbGVzc1RoYW5NaW51dGVVbnRpbDoibWVueXMgZGB1biBtaW51dCBkZXMgZGBh cmEiLG1pbnV0ZVVudGlsOiJ1biBtaW51dCBkZXMgZGBhcmEiLG1pbnV0ZXNVbnRp bDoie2RlbHRhfSBtaW51dHMgZGVzIGRgYXJhIixob3VyVW50aWw6InVuIGhvcmEg ZGVzIGRgYXJhIixob3Vyc1VudGlsOiJ1bmVzIHtkZWx0YX0gaG9yZXMgZGVzIGRg YXJhIixkYXlVbnRpbDoiMSBkaWEgZGVzIGRgYXJhIixkYXlzVW50aWw6IntkZWx0 YX0gZGllcyBkZXMgZGBhcmEifSk7CkxvY2FsZS5kZWZpbmUoImNhLUNBIiwiRm9y bVZhbGlkYXRvciIse3JlcXVpcmVkOiJBcXVlc3QgY2FtcCBlcyBvYmxpZ2F0b3Jp LiIsbWluTGVuZ3RoOiJQZXIgZmF2b3IgaW50cm9kdWVpeCBhbCBtZW55cyB7bWlu TGVuZ3RofSBjYXJhY3RlcnMgKGhhcyBpbnRyb2R1aXQge2xlbmd0aH0gY2FyYWN0 ZXJzKS4iLG1heExlbmd0aDoiUGVyIGZhdm9yIGludHJvZHVlaXggbm8gbWVzIGRl IHttYXhMZW5ndGh9IGNhcmFjdGVycyAoaGFzIGludHJvZHVpdCB7bGVuZ3RofSBj YXJhY3RlcnMpLiIsaW50ZWdlcjoiUGVyIGZhdm9yIGludHJvZHVlaXggdW4gbm9t YnJlIGVudGVyIGVuIGFxdWVzdCBjYW1wLiBOb21icmVzIGFtYiBkZWNpbWFscyAo cC5lLiAxLDI1KSBubyBlc3RhbiBwZXJtZXNvcy4iLG51bWVyaWM6J1BlciBmYXZv ciBpbnRyb2R1ZWl4IHNvbHMgdmFsb3JzIG51bWVyaWNzIGVuIGFxdWVzdCBjYW1w IChwLmUuICIxIiBvICIxLDEiIG8gIi0xIiBvICItMSwxIikuJyxkaWdpdHM6IlBl ciBmYXZvciB1c2Egc29scyBudW1lcm9zIGkgcHVudHVhY2lvIGVuIGFxdWVzdCBj YW1wIChwZXIgZXhlbXBsZSwgdW4gbm9tYnJlIGRlIHRlbGVmb24gYW1iIGd1aW9u cyBpIHB1bnRzIG5vIGVzdGEgcGVybWVzKS4iLGFscGhhOiJQZXIgZmF2b3IgdXRp bGl0emEgbGxldHJlcyBub21lcyAoYS16KSBlbiBhcXVlc3QgY2FtcC4gTm8gc8K0 YWRtaXRlaXhlbiBlc3BhaXMgbmkgYWx0cmVzIGNhcmFjdGVycy4iLGFscGhhbnVt OiJQZXIgZmF2b3IsIHV0aWxpdHphIG5vbWVzIGxsZXRyZXMgKGEteikgbyBudW1l cm9zICgwLTkpIGVuIGFxdWVzdCBjYW1wLiBObyBzwrRhZG1pdGVpeGVuIGVzcGFp cyBuaSBhbHRyZXMgY2FyYWN0ZXJzLiIsZGF0ZVN1Y2hBczoiUGVyIGZhdm9yIGlu dHJvZHVlaXggdW5hIGRhdGEgdmFsaWRhIGNvbSB7ZGF0ZX0iLGRhdGVJbkZvcm1h dE1EWTonUGVyIGZhdm9yIGludHJvZHVlaXggdW5hIGRhdGEgdmFsaWRhIGNvbSBE RC9NTS9ZWVlZIChwLmUuICIzMS8xMi8xOTk5IiknLGVtYWlsOidQZXIgZmF2b3Is IGludHJvZHVlaXggdW5hIGFkcmXDp2EgZGUgY29ycmV1IGVsZWN0cm9uaWMgdmFs aWRhLiBQZXIgZXhlbXBsZSwgImZyZWRAZG9tYWluLmNvbSIuJyx1cmw6IlBlciBm YXZvciBpbnRyb2R1ZWl4IHVuYSBVUkwgdmFsaWRhIGNvbSBodHRwOi8vd3d3LmV4 YW1wbGUuY29tLiIsY3VycmVuY3lEb2xsYXI6IlBlciBmYXZvciBpbnRyb2R1ZWl4 IHVuYSBxdWFudGl0YXQgdmFsaWRhIGRlIOKCrC4gUGVyIGV4ZW1wbGUg4oKsMTAw LDAwIC4iLG9uZVJlcXVpcmVkOiJQZXIgZmF2b3IgaW50cm9kdWVpeCBhbGd1bmEg Y29zYSBwZXIgYWwgbWVueXMgdW5hIGTCtGFxdWVzdGVzIGVudHJhZGVzLiIsZXJy b3JQcmVmaXg6IkVycm9yOiAiLHdhcm5pbmdQcmVmaXg6IkF2aXM6ICIsbm9TcGFj ZToiTm8gcG9kZW4gaGF2ZXIgZXNwYWlzIGVuIGFxdWVzdGEgZW50cmFkYS4iLHJl cUNoa0J5Tm9kZToiTm8gaGkgaGFuIGVsZW1lbnRzIHNlbGVjY2lvbmF0cy4iLHJl cXVpcmVkQ2hrOiJBcXVlc3QgY2FtcCBlcyBvYmxpZ2F0b3JpLiIscmVxQ2hrQnlO YW1lOiJQZXIgZmF2b3Igc2VsZWNjaW9uYSB1bmEge2xhYmVsfS4iLG1hdGNoOiJB cXVlc3QgY2FtcCBuZWNlc3NpdGEgY29pbmNpZGlyIGFtYiBlbCBjYW1wIHttYXRj aE5hbWV9IixzdGFydERhdGU6ImxhIGRhdGEgZGUgaW5pY2kiLGVuZERhdGU6Imxh IGRhdGEgZGUgZmkiLGN1cnJlbmREYXRlOiJsYSBkYXRhIGFjdHVhbCIsYWZ0ZXJE YXRlOiJMYSBkYXRhIGRldSBzZXIgaWd1YWwgbyBwb3N0ZXJpb3IgYSB7bGFiZWx9 LiIsYmVmb3JlRGF0ZToiTGEgZGF0YSBkZXUgc2VyIGlndWFsIG8gYW50ZXJpb3Ig YSB7bGFiZWx9LiIsc3RhcnRNb250aDoiUGVyIGZhdm9yIHNlbGVjY2lvbmEgdW4g bWVzIGTCtG9yaWdlIixzYW1lTW9udGg6IkFxdWVzdGVzIGRvcyBkYXRlcyBkZXVl biBlc3RhciBkaW5zIGRlbCBtYXRlaXggbWVzIC0gZGV1cyBjYW52aWFyIHVuYSBv IGFsdHJhLiJ9KTsKKGZ1bmN0aW9uKCl7dmFyIGE9ZnVuY3Rpb24oZSxkLGMsYil7 aWYoZT09MSl7cmV0dXJuIGQ7fWVsc2V7aWYoZT09Mnx8ZT09M3x8ZT09NCl7cmV0 dXJuIGM7fWVsc2V7cmV0dXJuIGI7fX19O0xvY2FsZS5kZWZpbmUoImNzLUNaIiwi RGF0ZSIse21vbnRoczpbIkxlZGVuIiwiw5pub3IiLCJCxZllemVuIiwiRHViZW4i LCJLdsSbdGVuIiwixIxlcnZlbiIsIsSMZXJ2ZW5lYyIsIlNycGVuIiwiWsOhxZnD rSIsIsWYw61qZW4iLCJMaXN0b3BhZCIsIlByb3NpbmVjIl0sbW9udGhzX2FiYnI6 WyJsZWRuYSIsIsO6bm9yYSIsImLFmWV6bmEiLCJkdWJuYSIsImt2xJt0bmEiLCLE jWVydm5hIiwixI1lcnZlbmNlIiwic3JwbmEiLCJ6w6HFmcOtIiwixZnDrWpuYSIs Imxpc3RvcGFkdSIsInByb3NpbmNlIl0sZGF5czpbIk5lZMSbbGUiLCJQb25kxJts w60iLCLDmnRlcsO9IiwiU3TFmWVkYSIsIsSMdHZydGVrIiwiUMOhdGVrIiwiU29i b3RhIl0sZGF5c19hYmJyOlsibmUiLCJwbyIsIsO6dCIsInN0IiwixI10IiwicMOh Iiwic28iXSxkYXRlT3JkZXI6WyJkYXRlIiwibW9udGgiLCJ5ZWFyIl0sc2hvcnRE YXRlOiIlZC4lbS4lWSIsc2hvcnRUaW1lOiIlSDolTSIsQU06ImRvcC4iLFBNOiJv ZHAuIixmaXJzdERheU9mV2VlazoxLG9yZGluYWw6Ii4iLGxlc3NUaGFuTWludXRl QWdvOiJwxZllZCBjaHbDrWzDrSIsbWludXRlQWdvOiJwxZlpYmxpxb5uxJsgcMWZ ZWQgbWludXRvdSIsbWludXRlc0FnbzpmdW5jdGlvbihiKXtyZXR1cm4icMWZZWQg e2RlbHRhfSAiK2EoYiwibWludXRvdSIsIm1pbnV0YW1pIiwibWludXRhbWkiKTsK fSxob3VyQWdvOiJwxZlpYmxpxb5uxJsgcMWZZWQgaG9kaW5vdSIsaG91cnNBZ286 ZnVuY3Rpb24oYil7cmV0dXJuInDFmWVkIHtkZWx0YX0gIithKGIsImhvZGlub3Ui LCJob2RpbmFtaSIsImhvZGluYW1pIik7fSxkYXlBZ286InDFmWVkIGRuZW0iLGRh eXNBZ286ZnVuY3Rpb24oYil7cmV0dXJuInDFmWVkIHtkZWx0YX0gIithKGIsImRu ZW0iLCJkbnkiLCJkbnkiKTsKfSx3ZWVrQWdvOiJwxZllZCB0w71kbmVtIix3ZWVr c0FnbzpmdW5jdGlvbihiKXtyZXR1cm4icMWZZWQge2RlbHRhfSAiK2EoYiwidMO9 ZG5lbSIsInTDvWRueSIsInTDvWRueSIpO30sbW9udGhBZ286InDFmWVkIG3Em3PD rWNlbSIsbW9udGhzQWdvOmZ1bmN0aW9uKGIpe3JldHVybiJwxZllZCB7ZGVsdGF9 ICIrYShiLCJtxJtzw61jZW0iLCJtxJtzw61jaSIsIm3Em3PDrWNpIik7Cn0seWVh ckFnbzoicMWZZWQgcm9rZW0iLHllYXJzQWdvOmZ1bmN0aW9uKGIpe3JldHVybiJw xZllZCB7ZGVsdGF9ICIrYShiLCJyb2tlbSIsImxldHkiLCJsZXR5Iik7fSxsZXNz VGhhbk1pbnV0ZVVudGlsOiJ6YSBjaHbDrWxpIixtaW51dGVVbnRpbDoicMWZaWJs acW+bsSbIHphIG1pbnV0dSIsbWludXRlc1VudGlsOmZ1bmN0aW9uKGIpe3JldHVy biJ6YSB7ZGVsdGF9ICIrYShiLCJtaW51dHUiLCJtaW51dHkiLCJtaW51dCIpOwp9 LGhvdXJVbnRpbDoicMWZaWJsacW+bsSbIHphIGhvZGludSIsaG91cnNVbnRpbDpm dW5jdGlvbihiKXtyZXR1cm4iemEge2RlbHRhfSAiK2EoYiwiaG9kaW51IiwiaG9k aW55IiwiaG9kaW4iKTt9LGRheVVudGlsOiJ6YSBkZW4iLGRheXNVbnRpbDpmdW5j dGlvbihiKXtyZXR1cm4iemEge2RlbHRhfSAiK2EoYiwiZGVuIiwiZG55IiwiZG7F ryIpOwp9LHdlZWtVbnRpbDoiemEgdMO9ZGVuIix3ZWVrc1VudGlsOmZ1bmN0aW9u KGIpe3JldHVybiJ6YSB7ZGVsdGF9ICIrYShiLCJ0w71kZW4iLCJ0w71kbnkiLCJ0 w71kbsWvIik7fSxtb250aFVudGlsOiJ6YSBtxJtzw61jIixtb250aHNVbnRpbDpm dW5jdGlvbihiKXtyZXR1cm4iemEge2RlbHRhfSAiK2EoYiwibcSbc8OtYyIsIm3E m3PDrWNlIiwibcSbc8OtY8WvIik7Cn0seWVhclVudGlsOiJ6YSByb2siLHllYXJz VW50aWw6ZnVuY3Rpb24oYil7cmV0dXJuInphIHtkZWx0YX0gIithKGIsInJvayIs InJva3kiLCJsZXQiKTt9fSk7fSkoKTtMb2NhbGUuZGVmaW5lKCJjcy1DWiIsIkZv cm1WYWxpZGF0b3IiLHtyZXF1aXJlZDoiVGF0byBwb2xvxb5rYSBqZSBwb3Zpbm7D oS4iLG1pbkxlbmd0aDoiWmFkZWp0ZSBwcm9zw61tIGFsZXNwb8WIIHttaW5MZW5n dGh9IHpuYWvFryAobmFwc8Ohbm8ge2xlbmd0aH0gem5ha8WvKS4iLG1heExlbmd0 aDoiWmFkZWp0ZSBwcm9zw61tIG3DqW7EmyBuZcW+IHttYXhMZW5ndGh9IHpuYWvF ryAobsOhcHPDoW5vIHtsZW5ndGh9IHpuYWvFrykuIixpbnRlZ2VyOiJaYWRlanRl IHByb3PDrW0gY2Vsw6kgxI3DrXNsby4gRGVzZXRpbm7DoSDEjcOtc2xhIChuYXDF mS4gMS4yNSkgbmVqc291IHBvdm9sZW5hLiIsbnVtZXJpYzonWmFkZWp0ZSBqZW4g xI3DrXNlbG7DqSBob2Rub3R5ICh0ai4gIjEiIG5lYm8gIjEuMSIgbmVibyAiLTEi IG5lYm8gIi0xLjEiKS4nLGRpZ2l0czoiWmFkZWp0ZSBwcm9zw61tIHBvdXplIMSN w61zbGEgYSBpbnRlcnB1bmvEjW7DrSB6bmFtw6lua2EobmFwxZnDrWtsYWQgdGVs ZWZvbm7DrSDEjcOtc2xvIHMgcG9tbMSNa2FtaSBuZWJvIHRlxI1rYW1pIGplIHBv dm9sZW5vKS4iLGFscGhhOiJaYWRlanRlIHByb3PDrW0gcG91emUgcMOtc21lbmEg KGEteikuIE1lemVyeSBuZWJvIGppbsOpIHpuYWt5IG5lanNvdSBwb3ZvbGVueS4i LGFscGhhbnVtOiJaYWRlanRlIHByb3PDrW0gcG91emUgcMOtc21lbmEgKGEteikg bmVibyDEjcOtc2xpY2UgKDAtOSkuIE1lemVyeSBuZWJvIGppbsOpIHpuYWt5IG5l anNvdSBwb3ZvbGVueS4iLGRhdGVTdWNoQXM6IlphZGVqdGUgcHJvc8OtbSBwbGF0 bsOpIGRhdHVtIGpha28ge2RhdGV9IixkYXRlSW5Gb3JtYXRNRFk6J1phZGVqdGUg cHJvc8OtbSBwbGF0bsOpIGRhdHVtIGpha28gTU0gLyBERCAvIFJSUlIgKHRqLiAi MTIvMzEvMTk5OSIpJyxlbWFpbDonWmFkZWp0ZSBwcm9zw61tIHBsYXRub3UgZS1t YWlsb3ZvdSBhZHJlc3UuIE5hcMWZw61rbGFkICJmcmVkQGRvbWFpbi5jb20iLics dXJsOiJaYWRlanRlIHByb3PDrW0gcGxhdG5vdSBVUkwgYWRyZXN1IGpha28gaHR0 cDovL3d3dy5leGFtcGxlLmNvbS4iLGN1cnJlbmN5RG9sbGFyOiJaYWRlanRlIHBy b3PDrW0gcGxhdG5vdSDEjcOhc3RrdS4gTmFwxZnDrWtsYWQgJDEwMC4wMC4iLG9u ZVJlcXVpcmVkOiJaYWRlanRlIHByb3PDrW0gYWxlc3BvxYggamVkbnUgaG9kbm90 dSBwcm8gdHl0byBwb2xvxb5reS4iLGVycm9yUHJlZml4OiJDaHliYTogIix3YXJu aW5nUHJlZml4OiJVcG96b3JuxJtuw606ICIsbm9TcGFjZToiViB0w6l0byBwb2xv xb5jZSBuZWpzb3UgcG92b2xlbnkgbWV6ZXJ5IixyZXFDaGtCeU5vZGU6Ik5lanNv dSB2eWJyw6FueSDFvsOhZG7DqSBwb2xvxb5reS4iLHJlcXVpcmVkQ2hrOiJUYXRv IHBvbG/FvmthIGplIHZ5xb5hZG92w6FuYS4iLHJlcUNoa0J5TmFtZToiUHJvc8Ot bSB2eWJlcnRlIHtsYWJlbH0uIixtYXRjaDoiVGF0byBwb2xvxb5rYSBzZSBtdXPD rSBzaG9kb3ZhdCBzIHBvbG/FvmtvdSB7bWF0Y2hOYW1lfSIsc3RhcnREYXRlOiJk YXR1bSB6YWjDoWplbsOtIixlbmREYXRlOiJkYXR1bSB1a29uxI1lbsOtIixjdXJy ZW5kRGF0ZToiYWt0dcOhbG7DrSBkYXR1bSIsYWZ0ZXJEYXRlOiJEYXR1bSBieSBt xJtsbyBiw710IHN0ZWpuw6kgbmVibyB2xJt0xaHDrSBuZcW+IHtsYWJlbH0uIixi ZWZvcmVEYXRlOiJEYXR1bSBieSBtxJtsbyBiw710IHN0ZWpuw6kgbmVibyBtZW7F ocOtIG5lxb4ge2xhYmVsfS4iLHN0YXJ0TW9udGg6IlZ5YmVydGUgcG/EjcOhdGXE jW7DrSBtxJtzw61jLiIsc2FtZU1vbnRoOiJUeXRvIGR2YSBkYXR1bXkgbXVzw60g YsO9dCB2ZSBzdGVqbsOpbSBtxJtzw61jaSAtIHptxJvFiHRlIGplZGVuIHogbmlj aC4iLGNyZWRpdGNhcmQ6IlphZGFuw6kgxI3DrXNsbyBrcmVkaXRuw60ga2FydHkg amUgbmVwbGF0bsOpLiBQcm9zw61tIG9wcmF2dGUgaG8uIEJ5bG8gemFkw6FubyB7 bGVuZ3RofSDEjcOtc2VsLiJ9KTsKTG9jYWxlLmRlZmluZSgiZGEtREsiLCJEYXRl Iix7bW9udGhzOlsiSmFudWFyIiwiRmVicnVhciIsIk1hcnRzIiwiQXByaWwiLCJN YWoiLCJKdW5pIiwiSnVsaSIsIkF1Z3VzdCIsIlNlcHRlbWJlciIsIk9rdG9iZXIi LCJOb3ZlbWJlciIsIkRlY2VtYmVyIl0sbW9udGhzX2FiYnI6WyJqYW4uIiwiZmVi LiIsIm1hci4iLCJhcHIuIiwibWFqLiIsImp1bi4iLCJqdWwuIiwiYXVnLiIsInNl cC4iLCJva3QuIiwibm92LiIsImRlYy4iXSxkYXlzOlsiU8O4bmRhZyIsIk1hbmRh ZyIsIlRpcnNkYWciLCJPbnNkYWciLCJUb3JzZGFnIiwiRnJlZGFnIiwiTMO4cmRh ZyJdLGRheXNfYWJicjpbInPDuG4iLCJtYW4iLCJ0aXIiLCJvbnMiLCJ0b3IiLCJm cmUiLCJsw7hyIl0sZGF0ZU9yZGVyOlsiZGF0ZSIsIm1vbnRoIiwieWVhciJdLHNo b3J0RGF0ZToiJWQtJW0tJVkiLHNob3J0VGltZToiJUg6JU0iLEFNOiJBTSIsUE06 IlBNIixmaXJzdERheU9mV2VlazoxLG9yZGluYWw6Ii4iLGxlc3NUaGFuTWludXRl QWdvOiJtaW5kcmUgZW5kIGV0IG1pbnV0IHNpZGVuIixtaW51dGVBZ286Im9ta3Jp bmcgZXQgbWludXQgc2lkZW4iLG1pbnV0ZXNBZ286IntkZWx0YX0gbWludXR0ZXIg c2lkZW4iLGhvdXJBZ286Im9ta3JpbmcgZW4gdGltZSBzaWRlbiIsaG91cnNBZ286 Im9ta3Jpbmcge2RlbHRhfSB0aW1lciBzaWRlbiIsZGF5QWdvOiIxIGRhZyBzaWRl biIsZGF5c0Fnbzoie2RlbHRhfSBkYWdlIHNpZGVuIix3ZWVrQWdvOiIxIHVnZSBz aWRlbiIsd2Vla3NBZ286IntkZWx0YX0gdWdlciBzaWRlbiIsbW9udGhBZ286IjEg bcOlbmVkIHNpZGVuIixtb250aHNBZ286IntkZWx0YX0gbcOlbmVkZXIgc2lkZW4i LHllYXJBZ286IjEgw6VyIHNpZGVuIix5ZWFyc0Fnbzoie2RlbHRhfSDDpXIgc2lk ZW4iLGxlc3NUaGFuTWludXRlVW50aWw6Im1pbmRyZSBlbmQgZXQgbWludXQgZnJh IG51IixtaW51dGVVbnRpbDoib21rcmluZyBldCBtaW51dCBmcmEgbnUiLG1pbnV0 ZXNVbnRpbDoie2RlbHRhfSBtaW51dHRlciBmcmEgbnUiLGhvdXJVbnRpbDoib21r cmluZyBlbiB0aW1lIGZyYSBudSIsaG91cnNVbnRpbDoib21rcmluZyB7ZGVsdGF9 IHRpbWVyIGZyYSBudSIsZGF5VW50aWw6IjEgZGFnIGZyYSBudSIsZGF5c1VudGls OiJ7ZGVsdGF9IGRhZ2UgZnJhIG51Iix3ZWVrVW50aWw6IjEgdWdlIGZyYSBudSIs d2Vla3NVbnRpbDoie2RlbHRhfSB1Z2VyIGZyYSBudSIsbW9udGhVbnRpbDoiMSBt w6VuZWQgZnJhIG51Iixtb250aHNVbnRpbDoie2RlbHRhfSBtw6VuZWRlciBmcmEg bnUiLHllYXJVbnRpbDoiMSDDpXIgZnJhIG51Iix5ZWFyc1VudGlsOiJ7ZGVsdGF9 IMOlciBmcmEgbnUifSk7CkxvY2FsZS5kZWZpbmUoImRhLURLIiwiRm9ybVZhbGlk YXRvciIse3JlcXVpcmVkOiJGZWx0ZXQgc2thbCB1ZGZ5bGRlcy4iLG1pbkxlbmd0 aDoiU2tyaXYgbWluZHN0IHttaW5MZW5ndGh9IHRlZ24gKGR1IHNrcmV2IHtsZW5n dGh9IHRlZ24pLiIsbWF4TGVuZ3RoOiJTa3JpdiBtYWtzaW1hbHQge21heExlbmd0 aH0gdGVnbiAoZHUgc2tyZXYge2xlbmd0aH0gdGVnbikuIixpbnRlZ2VyOiJTa3Jp diBldCB0YWwgaSBkZXR0ZSBmZWx0LiBEZWNpbWFsIHRhbCAoZi5la3MuIDEuMjUp IGVyIGlra2UgdGlsbGFkdC4iLG51bWVyaWM6J1Nrcml2IGt1biB0YWwgaSBkZXR0 ZSBmZWx0IChpLmUuICIxIiBlbGxlciAiMS4xIiBlbGxlciAiLTEiIGVsbGVyICIt MS4xIikuJyxkaWdpdHM6IlNrcml2IGt1biB0YWwgb2cgdGVnbnPDpnRuaW5nIGkg ZGV0dGUgZmVsdCAoZWtzZW1wZWwsIGV0IHRlbGVmb24gbnVtbWVyIG1lZCBiaW5k ZXN0cmVnIGVsbGVyIHB1bmt0dW0gZXIgdGlsbGFkdCkuIixhbHBoYToiU2tyaXYg a3VuIGJvZ3N0YXZlciAoYS16KSBpIGRldHRlIGZlbHQuIE1lbGxlbXJ1bSBvZyBh bmRyZSB0ZWduIGVyIGlra2UgdGlsbGFkdC4iLGFscGhhbnVtOiJTa3JpdiBrdW4g Ym9nc3RhdmVyIChhLXopIGVsbGVyIHRhbCAoMC05KSBpIGRldHRlIGZlbHQuIE1l bGxlbXJ1bSBvZyBhbmRyZSB0ZWduIGVyIGlra2UgdGlsbGFkdC4iLGRhdGVTdWNo QXM6IlNrcml2IGVuIGd5bGRpZyBkYXRvIHNvbSB7ZGF0ZX0iLGRhdGVJbkZvcm1h dE1EWTonU2tyaXYgZGF0byBpIGZvcm1hdGV0IERELU1NLVlZWVkgKGYuZWtzLiAi MzEtMTItMTk5OSIpJyxlbWFpbDonU2tyaXYgZW4gZ3lsZGlnIGUtbWFpbCBhZHJl c3NlLiBGLmVrcyAiZnJlZEBkb21haW4uY29tIi4nLHVybDonU2tyaXYgZW4gZ3ls ZGlnIFVSTCBhZHJlc3NlLiBGLmVrcyAiaHR0cDovL3d3dy5leGFtcGxlLmNvbSIu JyxjdXJyZW5jeURvbGxhcjoiU2tyaXYgZXQgZ2xkaWd0IGJlbMO4Yi4gRi5la3Mg S3IuMTAwLjAwIC4iLG9uZVJlcXVpcmVkOiJFdCBlbGxlciBmbGVyZSBhZiBmZWx0 ZXJuZSBpIGRlbm5lIGZvcm11bGFyIHNrYWwgdWRmeWxkZXMuIixlcnJvclByZWZp eDoiRmVqbDogIix3YXJuaW5nUHJlZml4OiJBZHZhcnNlbDogIixub1NwYWNlOiJE ZXIgbcOlIGlra2UgYmVueXR0ZXMgbWVsbGVtcnVtIGkgZGV0dGUgZmVsdC4iLHJl cUNoa0J5Tm9kZToiRm9yZXRhZyBldCB2YWxnLiIscmVxdWlyZWRDaGs6IkRldHRl IGZlbHQgc2thbCB1ZGZ5bGRlcy4iLHJlcUNoa0J5TmFtZToiVsOmbGcgZW4ge2xh YmVsfS4iLG1hdGNoOiJEZXR0ZSBmZWx0IHNrYWwgbWF0Y2hlIHttYXRjaE5hbWV9 IGZlbHRldCIsc3RhcnREYXRlOiJzdGFydCBkYXRvIixlbmREYXRlOiJzbHV0IGRh dG8iLGN1cnJlbmREYXRlOiJkYWdzIGRhdG8iLGFmdGVyRGF0ZToiRGF0b2VuIHNr YWwgdsOmcmUgc3TDuHJyZSBlbmQgZWxsZXIgbGlnIG1lZCB7bGFiZWx9LiIsYmVm b3JlRGF0ZToiRGF0b2VuIHNrYWwgdsOmcmUgbWluZHJlIGVuZCBlbGxlciBsaWcg bWVkIHtsYWJlbH0uIixzdGFydE1vbnRoOiJWw6ZsZyBlbiBzdGFydCBtw6VuZWQi LHNhbWVNb250aDoiRGUgdmFsZ3RlIGRhdG9lciBza2FsIHbDpnJlIGkgc2FtbWUg bcOlbmVkIC0gc2tpZnQgZW4gYWYgZGVtLiJ9KTsKTG9jYWxlLmRlZmluZSgiZGUt REUiLCJEYXRlIix7bW9udGhzOlsiSmFudWFyIiwiRmVicnVhciIsIk3DpHJ6Iiwi QXByaWwiLCJNYWkiLCJKdW5pIiwiSnVsaSIsIkF1Z3VzdCIsIlNlcHRlbWJlciIs Ik9rdG9iZXIiLCJOb3ZlbWJlciIsIkRlemVtYmVyIl0sbW9udGhzX2FiYnI6WyJK YW4iLCJGZWIiLCJNw6RyIiwiQXByIiwiTWFpIiwiSnVuIiwiSnVsIiwiQXVnIiwi U2VwIiwiT2t0IiwiTm92IiwiRGV6Il0sZGF5czpbIlNvbm50YWciLCJNb250YWci LCJEaWVuc3RhZyIsIk1pdHR3b2NoIiwiRG9ubmVyc3RhZyIsIkZyZWl0YWciLCJT YW1zdGFnIl0sZGF5c19hYmJyOlsiU28uIiwiTW8uIiwiRGkuIiwiTWkuIiwiRG8u IiwiRnIuIiwiU2EuIl0sZGF0ZU9yZGVyOlsiZGF0ZSIsIm1vbnRoIiwieWVhciJd LHNob3J0RGF0ZToiJWQuJW0uJVkiLHNob3J0VGltZToiJUg6JU0iLEFNOiJ2b3Jt aXR0YWdzIixQTToibmFjaG1pdHRhZ3MiLGZpcnN0RGF5T2ZXZWVrOjEsb3JkaW5h bDoiLiIsbGVzc1RoYW5NaW51dGVBZ286InZvciB3ZW5pZ2VyIGFscyBlaW5lciBN aW51dGUiLG1pbnV0ZUFnbzoidm9yIGVpbmVyIE1pbnV0ZSIsbWludXRlc0Fnbzoi dm9yIHtkZWx0YX0gTWludXRlbiIsaG91ckFnbzoidm9yIGVpbmVyIFN0dW5kZSIs aG91cnNBZ286InZvciB7ZGVsdGF9IFN0dW5kZW4iLGRheUFnbzoidm9yIGVpbmVt IFRhZyIsZGF5c0Fnbzoidm9yIHtkZWx0YX0gVGFnZW4iLHdlZWtBZ286InZvciBl aW5lciBXb2NoZSIsd2Vla3NBZ286InZvciB7ZGVsdGF9IFdvY2hlbiIsbW9udGhB Z286InZvciBlaW5lbSBNb25hdCIsbW9udGhzQWdvOiJ2b3Ige2RlbHRhfSBNb25h dGVuIix5ZWFyQWdvOiJ2b3IgZWluZW0gSmFociIseWVhcnNBZ286InZvciB7ZGVs dGF9IEphaHJlbiIsbGVzc1RoYW5NaW51dGVVbnRpbDoiaW4gd2VuaWdlciBhbHMg ZWluZXIgTWludXRlIixtaW51dGVVbnRpbDoiaW4gZWluZXIgTWludXRlIixtaW51 dGVzVW50aWw6ImluIHtkZWx0YX0gTWludXRlbiIsaG91clVudGlsOiJpbiBjYS4g ZWluZXIgU3R1bmRlIixob3Vyc1VudGlsOiJpbiBjYS4ge2RlbHRhfSBTdHVuZGVu IixkYXlVbnRpbDoiaW4gZWluZW0gVGFnIixkYXlzVW50aWw6ImluIHtkZWx0YX0g VGFnZW4iLHdlZWtVbnRpbDoiaW4gZWluZXIgV29jaGUiLHdlZWtzVW50aWw6Imlu IHtkZWx0YX0gV29jaGVuIixtb250aFVudGlsOiJpbiBlaW5lbSBNb25hdCIsbW9u dGhzVW50aWw6ImluIHtkZWx0YX0gTW9uYXRlbiIseWVhclVudGlsOiJpbiBlaW5l bSBKYWhyIix5ZWFyc1VudGlsOiJpbiB7ZGVsdGF9IEphaHJlbiJ9KTsKTG9jYWxl LmRlZmluZSgiZGUtQ0giKS5pbmhlcml0KCJkZS1ERSIsIkRhdGUiKTtMb2NhbGUu ZGVmaW5lKCJkZS1DSCIsIkZvcm1WYWxpZGF0b3IiLHtyZXF1aXJlZDoiRGllc2Vz IEZlbGQgaXN0IG9ibGlnYXRvcmlzY2guIixtaW5MZW5ndGg6IkdlYmVuIFNpZSBi aXR0ZSBtaW5kZXN0ZW5zIHttaW5MZW5ndGh9IFplaWNoZW4gZWluIChTaWUgaGFi ZW4ge2xlbmd0aH0gWmVpY2hlbiBlaW5nZWdlYmVuKS4iLG1heExlbmd0aDoiQml0 dGUgZ2ViZW4gU2llIG5pY2h0IG1laHIgYWxzIHttYXhMZW5ndGh9IFplaWNoZW4g ZWluIChTaWUgaGFiZW4ge2xlbmd0aH0gWmVpY2hlbiBlaW5nZWdlYmVuKS4iLGlu dGVnZXI6IkdlYmVuIFNpZSBiaXR0ZSBlaW5lIGdhbnplIFphaGwgZWluLiBEZXpp bWFsemFobGVuICh6LkIuIDEuMjUpIHNpbmQgbmljaHQgZXJsYXVidC4iLG51bWVy aWM6IkdlYmVuIFNpZSBiaXR0ZSBudXIgWmFobGVud2VydGUgaW4gZGllc2VzIEVp bmdhYmVmZWxkIGVpbiAoei5CLiAmcXVvdDsxJnF1b3Q7LCAmcXVvdDsxLjEmcXVv dDssICZxdW90Oy0xJnF1b3Q7IG9kZXIgJnF1b3Q7LTEuMSZxdW90OykuIixkaWdp dHM6IkJlbnV0emVuIFNpZSBiaXR0ZSBudXIgWmFobGVuIHVuZCBTYXR6emVpY2hl biBpbiBkaWVzZW0gRWluZ2FiZWZlbGQgKGVybGF1YnQgaXN0IHouQi4gZWluZSBU ZWxlZm9ubnVtbWVyIG1pdCBCaW5kZXN0cmljaGVuIHVuZCBQdW5rdGVuKS4iLGFs cGhhOiJCZW51dHplbiBTaWUgYml0dGUgbnVyIEJ1Y2hzdGFiZW4gKGEteikgaW4g ZGllc2VtIEZlbGQuIExlZXJ6ZWljaGVuIHVuZCBhbmRlcmUgWmVpY2hlbiBzaW5k IG5pY2h0IGVybGF1YnQuIixhbHBoYW51bToiQmVudXR6ZW4gU2llIGJpdHRlIG51 ciBCdWNoc3RhYmVuIChhLXopIHVuZCBaYWhsZW4gKDAtOSkgaW4gZGllc2VtIEVp bmdhYmVmZWxkLiBMZWVyemVpY2hlbiB1bmQgYW5kZXJlIFplaWNoZW4gc2luZCBu aWNodCBlcmxhdWJ0LiIsZGF0ZVN1Y2hBczoiR2ViZW4gU2llIGJpdHRlIGVpbiBn JnV1bWw7bHRpZ2VzIERhdHVtIGVpbi4gV2llIHp1bSBCZWlzcGllbCB7ZGF0ZX0i LGRhdGVJbkZvcm1hdE1EWToiR2ViZW4gU2llIGJpdHRlIGVpbiBnJnV1bWw7bHRp Z2VzIERhdHVtIGVpbi4gV2llIHp1bSBCZWlzcGllbCBUVC5NTS5KSkpKICh6LkIu ICZxdW90OzMxLjEyLjE5OTkmcXVvdDspIixlbWFpbDoiR2ViZW4gU2llIGJpdHRl IGVpbmUgZyZ1dW1sO2x0aWdlIEUtTWFpbCBBZHJlc3NlIGVpbi4gV2llIHp1bSBC ZWlzcGllbCAmcXVvdDttYXJpYUBiZXJuYXNjb25pLmNoJnF1b3Q7LiIsdXJsOiJH ZWJlbiBTaWUgYml0dGUgZWluZSBnJnV1bWw7bHRpZ2UgVVJMIGVpbi4gV2llIHp1 bSBCZWlzcGllbCBodHRwOi8vd3d3LmV4YW1wbGUuY29tLiIsY3VycmVuY3lEb2xs YXI6IkdlYmVuIFNpZSBiaXR0ZSBlaW5lbiBnJnV1bWw7bHRpZ2VuIEJldHJhZyBp biBTY2h3ZWl6ZXIgRnJhbmtlbiBlaW4uIFdpZSB6dW0gQmVpc3BpZWwgMTAwLjAw IENIRiAuIixvbmVSZXF1aXJlZDoiTWFjaGVuIFNpZSBmJnV1bWw7ciBtaW5kZXN0 ZW5zIGVpbmVzIGRlciBFaW5nYWJlZmVsZGVyIGVpbmVuIEVpbnRyYWcuIixlcnJv clByZWZpeDoiRmVobGVyOiAiLHdhcm5pbmdQcmVmaXg6Ildhcm51bmc6ICIsbm9T cGFjZToiSW4gZGllc2VtIEVpbmdhYmVmZWxkIGRhcmYga2VpbiBMZWVyemVpY2hl biBzZWluLiIscmVxQ2hrQnlOb2RlOiJFcyB3dXJkZW4ga2VpbmUgRWxlbWVudGUg Z2V3JmF1bWw7aGx0LiIscmVxdWlyZWRDaGs6IkRpZXNlcyBGZWxkIGlzdCBvYmxp Z2F0b3Jpc2NoLiIscmVxQ2hrQnlOYW1lOiJCaXR0ZSB3JmF1bWw7aGxlbiBTaWUg ZWluIHtsYWJlbH0uIixtYXRjaDoiRGllc2VzIEVpbmdhYmVmZWxkIG11c3MgbWl0 IGRlbSBGZWxkIHttYXRjaE5hbWV9ICZ1dW1sO2JlcmVpbnN0aW1tZW4uIixzdGFy dERhdGU6IkRhcyBBbmZhbmdzZGF0dW0iLGVuZERhdGU6IkRhcyBFbmRkYXR1bSIs Y3VycmVuZERhdGU6IkRhcyBha3R1ZWxsZSBEYXR1bSIsYWZ0ZXJEYXRlOiJEYXMg RGF0dW0gc29sbHRlIHp1ciBnbGVpY2hlbiBaZWl0IG9kZXIgc3AmYXVtbDt0ZXIg c2VpbiB7bGFiZWx9LiIsYmVmb3JlRGF0ZToiRGFzIERhdHVtIHNvbGx0ZSB6dXIg Z2xlaWNoZW4gWmVpdCBvZGVyIGZyJnV1bWw7aGVyIHNlaW4ge2xhYmVsfS4iLHN0 YXJ0TW9udGg6IlcmYXVtbDtobGVuIFNpZSBiaXR0ZSBlaW5lbiBBbmZhbmdzbW9u YXQiLHNhbWVNb250aDoiRGllc2UgendlaSBEYXR1bXNhbmdhYmVuIG0mdXVtbDtz c2VuIGltIHNlbGJlbiBNb25hdCBzZWluIC0gU2llIG0mdXVtbDtzc2VuIGVpbmUg dm9uIGJlaWRlbiB2ZXImYXVtbDtuZGVybi4iLGNyZWRpdGNhcmQ6IkRpZSBlaW5n ZWdlYmVuZSBLcmVkaXRrYXJ0ZW5udW1tZXIgaXN0IHVuZyZ1dW1sO2x0aWcuIEJp dHRlICZ1dW1sO2JlcnByJnV1bWw7ZmVuIFNpZSBkaWVzZSB1bmQgdmVyc3VjaGVu IFNpZSBlcyBlcm5ldXQuIHtsZW5ndGh9IFphaGxlbiBlaW5nZWdlYmVuLiJ9KTsK TG9jYWxlLmRlZmluZSgiZGUtREUiLCJGb3JtVmFsaWRhdG9yIix7cmVxdWlyZWQ6 IkRpZXNlcyBFaW5nYWJlZmVsZCBtdXNzIGF1c2dlZsO8bGx0IHdlcmRlbi4iLG1p bkxlbmd0aDoiR2ViZW4gU2llIGJpdHRlIG1pbmRlc3RlbnMge21pbkxlbmd0aH0g WmVpY2hlbiBlaW4gKFNpZSBoYWJlbiBudXIge2xlbmd0aH0gWmVpY2hlbiBlaW5n ZWdlYmVuKS4iLG1heExlbmd0aDoiR2ViZW4gU2llIGJpdHRlIG5pY2h0IG1laHIg YWxzIHttYXhMZW5ndGh9IFplaWNoZW4gZWluIChTaWUgaGFiZW4ge2xlbmd0aH0g WmVpY2hlbiBlaW5nZWdlYmVuKS4iLGludGVnZXI6J0dlYmVuIFNpZSBpbiBkaWVz ZW0gRWluZ2FiZWZlbGQgYml0dGUgZWluZSBnYW56ZSBaYWhsIGVpbi4gRGV6aW1h bHphaGxlbiAoei5CLiAiMS4yNSIpIHNpbmQgbmljaHQgZXJsYXVidC4nLG51bWVy aWM6J0dlYmVuIFNpZSBpbiBkaWVzZW0gRWluZ2FiZWZlbGQgYml0dGUgbnVyIFph aGxlbndlcnRlICh6LkIuICIxIiwgIjEuMSIsICItMSIgb2RlciAiLTEuMSIpIGVp bi4nLGRpZ2l0czoiR2ViZW4gU2llIGluIGRpZXNlbSBFaW5nYWJlZmVsZCBiaXR0 ZSBudXIgWmFobGVuIHVuZCBTYXR6emVpY2hlbiBlaW4gKHouQi4gZWluZSBUZWxl Zm9ubnVtbWVyIG1pdCBCaW5kZXN0cmljaGVuIHVuZCBQdW5rdGVuIGlzdCBlcmxh dWJ0KS4iLGFscGhhOiJHZWJlbiBTaWUgaW4gZGllc2VtIEVpbmdhYmVmZWxkIGJp dHRlIG51ciBCdWNoc3RhYmVuIChhLXopIGVpbi4gTGVlcnplaWNoZW4gdW5kIGFu ZGVyZSBaZWljaGVuIHNpbmQgbmljaHQgZXJsYXVidC4iLGFscGhhbnVtOiJHZWJl biBTaWUgaW4gZGllc2VtIEVpbmdhYmVmZWxkIGJpdHRlIG51ciBCdWNoc3RhYmVu IChhLXopIHVuZCBaYWhsZW4gKDAtOSkgZWluLiBMZWVyemVpY2hlbiBvZGVyIGFu ZGVyZSBaZWljaGVuIHNpbmQgbmljaHQgZXJsYXVidC4iLGRhdGVTdWNoQXM6J0dl YmVuIFNpZSBiaXR0ZSBlaW4gZ8O8bHRpZ2VzIERhdHVtIGVpbiAoei5CLiAie2Rh dGV9IikuJyxkYXRlSW5Gb3JtYXRNRFk6J0dlYmVuIFNpZSBiaXR0ZSBlaW4gZ8O8 bHRpZ2VzIERhdHVtIGltIEZvcm1hdCBUVC5NTS5KSkpKIGVpbiAoei5CLiAiMzEu MTIuMTk5OSIpLicsZW1haWw6J0dlYmVuIFNpZSBiaXR0ZSBlaW5lIGfDvGx0aWdl IEUtTWFpbC1BZHJlc3NlIGVpbiAoei5CLiAibWF4QG11c3Rlcm1hbm4uZGUiKS4n LHVybDonR2ViZW4gU2llIGJpdHRlIGVpbmUgZ8O8bHRpZ2UgVVJMIGVpbiAoei5C LiAiaHR0cDovL3d3dy5leGFtcGxlLmNvbSIpLicsY3VycmVuY3lEb2xsYXI6Ikdl YmVuIFNpZSBiaXR0ZSBlaW5lbiBnw7xsdGlnZW4gQmV0cmFnIGluIEVVUk8gZWlu ICh6LkIuIDEwMC4wMOKCrCkuIixvbmVSZXF1aXJlZDoiQml0dGUgZsO8bGxlbiBT aWUgbWluZGVzdGVucyBlaW4gRWluZ2FiZWZlbGQgYXVzLiIsZXJyb3JQcmVmaXg6 IkZlaGxlcjogIix3YXJuaW5nUHJlZml4OiJXYXJudW5nOiAiLG5vU3BhY2U6IkVz IGRhcmYga2VpbiBMZWVyemVpY2hlbiBpbiBkaWVzZW0gRWluZ2FiZWZlbGQgc2Vp bi4iLHJlcUNoa0J5Tm9kZToiRXMgd3VyZGVuIGtlaW5lIEVsZW1lbnRlIGdld8Ok aGx0LiIscmVxdWlyZWRDaGs6IkRpZXNlcyBGZWxkIG11c3MgYXVzZ2Vmw7xsbHQg d2VyZGVuLiIscmVxQ2hrQnlOYW1lOiJCaXR0ZSB3w6RobGVuIFNpZSBlaW4ge2xh YmVsfS4iLG1hdGNoOiJEaWVzZXMgRWluZ2FiZWZlbGQgbXVzcyBtaXQgZGVtIHtt YXRjaE5hbWV9IEVpbmdhYmVmZWxkIMO8YmVyZWluc3RpbW1lbi4iLHN0YXJ0RGF0 ZToiRGFzIEFuZmFuZ3NkYXR1bSIsZW5kRGF0ZToiRGFzIEVuZGRhdHVtIixjdXJy ZW5kRGF0ZToiRGFzIGFrdHVlbGxlIERhdHVtIixhZnRlckRhdGU6IkRhcyBEYXR1 bSBzb2xsdGUgenVyIGdsZWljaGVuIFplaXQgb2RlciBzcMOkdGVyIHNlaW4gYWxz IHtsYWJlbH0uIixiZWZvcmVEYXRlOiJEYXMgRGF0dW0gc29sbHRlIHp1ciBnbGVp Y2hlbiBaZWl0IG9kZXIgZnLDvGhlciBzZWluIGFscyB7bGFiZWx9LiIsc3RhcnRN b250aDoiV8OkaGxlbiBTaWUgYml0dGUgZWluZW4gQW5mYW5nc21vbmF0IixzYW1l TW9udGg6IkRpZXNlIHp3ZWkgRGF0dW1zYW5nYWJlbiBtw7xzc2VuIGltIHNlbGJl biBNb25hdCBzZWluIC0gU2llIG3DvHNzZW4gZWluZXMgdm9uIGJlaWRlbiB2ZXLD pG5kZXJuLiIsY3JlZGl0Y2FyZDoiRGllIGVpbmdlZ2ViZW5lIEtyZWRpdGthcnRl bm51bW1lciBpc3QgdW5nw7xsdGlnLiBCaXR0ZSDDvGJlcnByw7xmZW4gU2llIGRp ZXNlIHVuZCB2ZXJzdWNoZW4gU2llIGVzIGVybmV1dC4ge2xlbmd0aH0gWmFobGVu IGVpbmdlZ2ViZW4uIn0pOwpMb2NhbGUuZGVmaW5lKCJFVSIsIk51bWJlciIse2Rl Y2ltYWw6IiwiLGdyb3VwOiIuIixjdXJyZW5jeTp7cHJlZml4OiLigqwgIn19KTtM b2NhbGUuZGVmaW5lKCJkZS1ERSIpLmluaGVyaXQoIkVVIiwiTnVtYmVyIik7TG9j YWxlLmRlZmluZSgiZW4tR0IiLCJEYXRlIix7ZGF0ZU9yZGVyOlsiZGF0ZSIsIm1v bnRoIiwieWVhciJdLHNob3J0RGF0ZToiJWQvJW0vJVkiLHNob3J0VGltZToiJUg6 JU0ifSkuaW5oZXJpdCgiZW4tVVMiLCJEYXRlIik7CkxvY2FsZS5kZWZpbmUoImVz LUVTIiwiRGF0ZSIse21vbnRoczpbIkVuZXJvIiwiRmVicmVybyIsIk1hcnpvIiwi QWJyaWwiLCJNYXlvIiwiSnVuaW8iLCJKdWxpbyIsIkFnb3N0byIsIlNlcHRpZW1i cmUiLCJPY3R1YnJlIiwiTm92aWVtYnJlIiwiRGljaWVtYnJlIl0sbW9udGhzX2Fi YnI6WyJlbmUiLCJmZWIiLCJtYXIiLCJhYnIiLCJtYXkiLCJqdW4iLCJqdWwiLCJh Z28iLCJzZXAiLCJvY3QiLCJub3YiLCJkaWMiXSxkYXlzOlsiRG9taW5nbyIsIkx1 bmVzIiwiTWFydGVzIiwiTWnDqXJjb2xlcyIsIkp1ZXZlcyIsIlZpZXJuZXMiLCJT w6FiYWRvIl0sZGF5c19hYmJyOlsiZG9tIiwibHVuIiwibWFyIiwibWnDqSIsImp1 diIsInZpZSIsInPDoWIiXSxkYXRlT3JkZXI6WyJkYXRlIiwibW9udGgiLCJ5ZWFy Il0sc2hvcnREYXRlOiIlZC8lbS8lWSIsc2hvcnRUaW1lOiIlSDolTSIsQU06IkFN IixQTToiUE0iLGZpcnN0RGF5T2ZXZWVrOjEsb3JkaW5hbDoiIixsZXNzVGhhbk1p bnV0ZUFnbzoiaGFjZSBtZW5vcyBkZSB1biBtaW51dG8iLG1pbnV0ZUFnbzoiaGFj ZSB1biBtaW51dG8iLG1pbnV0ZXNBZ286ImhhY2Uge2RlbHRhfSBtaW51dG9zIixo b3VyQWdvOiJoYWNlIHVuYSBob3JhIixob3Vyc0FnbzoiaGFjZSB1bmFzIHtkZWx0 YX0gaG9yYXMiLGRheUFnbzoiaGFjZSB1biBkw61hIixkYXlzQWdvOiJoYWNlIHtk ZWx0YX0gZMOtYXMiLHdlZWtBZ286ImhhY2UgdW5hIHNlbWFuYSIsd2Vla3NBZ286 ImhhY2UgdW5hcyB7ZGVsdGF9IHNlbWFuYXMiLG1vbnRoQWdvOiJoYWNlIHVuIG1l cyIsbW9udGhzQWdvOiJoYWNlIHtkZWx0YX0gbWVzZXMiLHllYXJBZ286ImhhY2Ug dW4gYcOxbyIseWVhcnNBZ286ImhhY2Uge2RlbHRhfSBhw7FvcyIsbGVzc1RoYW5N aW51dGVVbnRpbDoibWVub3MgZGUgdW4gbWludXRvIGRlc2RlIGFob3JhIixtaW51 dGVVbnRpbDoidW4gbWludXRvIGRlc2RlIGFob3JhIixtaW51dGVzVW50aWw6Intk ZWx0YX0gbWludXRvcyBkZXNkZSBhaG9yYSIsaG91clVudGlsOiJ1bmEgaG9yYSBk ZXNkZSBhaG9yYSIsaG91cnNVbnRpbDoidW5hcyB7ZGVsdGF9IGhvcmFzIGRlc2Rl IGFob3JhIixkYXlVbnRpbDoidW4gZMOtYSBkZXNkZSBhaG9yYSIsZGF5c1VudGls OiJ7ZGVsdGF9IGTDrWFzIGRlc2RlIGFob3JhIix3ZWVrVW50aWw6InVuYSBzZW1h bmEgZGVzZGUgYWhvcmEiLHdlZWtzVW50aWw6InVuYXMge2RlbHRhfSBzZW1hbmFz IGRlc2RlIGFob3JhIixtb250aFVudGlsOiJ1biBtZXMgZGVzZGUgYWhvcmEiLG1v bnRoc1VudGlsOiJ7ZGVsdGF9IG1lc2VzIGRlc2RlIGFob3JhIix5ZWFyVW50aWw6 InVuIGHDsW8gZGVzZGUgYWhvcmEiLHllYXJzVW50aWw6IntkZWx0YX0gYcOxb3Mg ZGVzZGUgYWhvcmEifSk7CkxvY2FsZS5kZWZpbmUoImVzLUFSIikuaW5oZXJpdCgi ZXMtRVMiLCJEYXRlIik7TG9jYWxlLmRlZmluZSgiZXMtQVIiLCJGb3JtVmFsaWRh dG9yIix7cmVxdWlyZWQ6IkVzdGUgY2FtcG8gZXMgb2JsaWdhdG9yaW8uIixtaW5M ZW5ndGg6IlBvciBmYXZvciBpbmdyZXNlIGFsIG1lbm9zIHttaW5MZW5ndGh9IGNh cmFjdGVyZXMgKGhhIGluZ3Jlc2FkbyB7bGVuZ3RofSBjYXJhY3RlcmVzKS4iLG1h eExlbmd0aDoiUG9yIGZhdm9yIG5vIGluZ3Jlc2UgbcOhcyBkZSB7bWF4TGVuZ3Ro fSBjYXJhY3RlcmVzIChoYSBpbmdyZXNhZG8ge2xlbmd0aH0gY2FyYWN0ZXJlcyku IixpbnRlZ2VyOiJQb3IgZmF2b3IgaW5ncmVzZSB1biBuw7ptZXJvIGVudGVybyBl biBlc3RlIGNhbXBvLiBOw7ptZXJvcyBjb24gZGVjaW1hbGVzIChwLmUuIDEsMjUp IG5vIHNlIHBlcm1pdGVuLiIsbnVtZXJpYzonUG9yIGZhdm9yIGluZ3Jlc2Ugc29s byB2YWxvcmVzIG51bcOpcmljb3MgZW4gZXN0ZSBjYW1wbyAocC5lLiAiMSIgbyAi MSwxIiBvICItMSIgbyAiLTEsMSIpLicsZGlnaXRzOiJQb3IgZmF2b3IgdXNlIHPD s2xvIG7Dum1lcm9zIHkgcHVudHVhY2nDs24gZW4gZXN0ZSBjYW1wbyAocG9yIGVq ZW1wbG8sIHVuIG7Dum1lcm8gZGUgdGVsw6lmb25vIGNvbiBndWlvbmVzIHkvbyBw dW50b3Mgbm8gZXN0w6EgcGVybWl0aWRvKS4iLGFscGhhOiJQb3IgZmF2b3IgdXNl IHPDs2xvIGxldHJhcyAoYS16KSBlbiBlc3RlIGNhbXBvLiBObyBzZSBwZXJtaXRl biBlc3BhY2lvcyBuaSBvdHJvcyBjYXJhY3RlcmVzLiIsYWxwaGFudW06IlBvciBm YXZvciwgdXNhIHPDs2xvIGxldHJhcyAoYS16KSBvIG7Dum1lcm9zICgwLTkpIGVu IGVzdGUgY2FtcG8uIE5vIHNlIHBlcm1pdGVuIGVzcGFjaW9zIHUgb3Ryb3MgY2Fy YWN0ZXJlcy4iLGRhdGVTdWNoQXM6IlBvciBmYXZvciBpbmdyZXNlIHVuYSBmZWNo YSB2w6FsaWRhIGNvbW8ge2RhdGV9IixkYXRlSW5Gb3JtYXRNRFk6J1BvciBmYXZv ciBpbmdyZXNlIHVuYSBmZWNoYSB2w6FsaWRhLCB1dHVsaXphbmRvIGVsIGZvcm1h dG8gREQvTU0vWVlZWSAocC5lLiAiMzEvMTIvMTk5OSIpJyxlbWFpbDonUG9yIGZh dm9yLCBpbmdyZXNlIHVuYSBkaXJlY2Npw7NuIGRlIGUtbWFpbCB2w6FsaWRhLiBQ b3IgZWplbXBsbywgImZyZWRAZG9taW5pby5jb20iLicsdXJsOiJQb3IgZmF2b3Ig aW5ncmVzZSB1bmEgVVJMIHbDoWxpZGEgY29tbyBodHRwOi8vd3d3LmV4YW1wbGUu Y29tLiIsY3VycmVuY3lEb2xsYXI6IlBvciBmYXZvciBpbmdyZXNlIHVuYSBjYW50 aWRhZCB2w6FsaWRhIGRlIHBlc29zLiBQb3IgZWplbXBsbyAkMTAwLDAwIC4iLG9u ZVJlcXVpcmVkOiJQb3IgZmF2b3IgaW5ncmVzZSBhbGdvIHBhcmEgcG9yIGxvIG1l bm9zIHVuYSBkZSBlc3RhcyBlbnRyYWRhcy4iLGVycm9yUHJlZml4OiJFcnJvcjog Iix3YXJuaW5nUHJlZml4OiJBZHZlcnRlbmNpYTogIixub1NwYWNlOiJObyBzZSBw ZXJtaXRlbiBlc3BhY2lvcyBlbiBlc3RlIGNhbXBvLiIscmVxQ2hrQnlOb2RlOiJO byBoYXkgZWxlbWVudG9zIHNlbGVjY2lvbmFkb3MuIixyZXF1aXJlZENoazoiRXN0 ZSBjYW1wbyBlcyBvYmxpZ2F0b3Jpby4iLHJlcUNoa0J5TmFtZToiUG9yIGZhdm9y IHNlbGVjY2lvbmEgdW5hIHtsYWJlbH0uIixtYXRjaDoiRXN0ZSBjYW1wbyBuZWNl c2l0YSBjb2luY2lkaXIgY29uIGVsIGNhbXBvIHttYXRjaE5hbWV9IixzdGFydERh dGU6ImxhIGZlY2hhIGRlIGluaWNpbyIsZW5kRGF0ZToibGEgZmVjaGEgZGUgZmlu IixjdXJyZW5kRGF0ZToibGEgZmVjaGEgYWN0dWFsIixhZnRlckRhdGU6IkxhIGZl Y2hhIGRlYmUgc2VyIGlndWFsIG8gcG9zdGVyaW9yIGEge2xhYmVsfS4iLGJlZm9y ZURhdGU6IkxhIGZlY2hhIGRlYmUgc2VyIGlndWFsIG8gYW50ZXJpb3IgYSB7bGFi ZWx9LiIsc3RhcnRNb250aDoiUG9yIGZhdm9yIHNlbGVjY2lvbmEgdW4gbWVzIGRl IG9yaWdlbiIsc2FtZU1vbnRoOiJFc3RhcyBkb3MgZmVjaGFzIGRlYmVuIGVzdGFy IGVuIGVsIG1pc21vIG1lcyAtIGRlYmVzIGNhbWJpYXIgdW5hIHUgb3RyYS4ifSk7 CkxvY2FsZS5kZWZpbmUoImVzLUVTIiwiRm9ybVZhbGlkYXRvciIse3JlcXVpcmVk OiJFc3RlIGNhbXBvIGVzIG9ibGlnYXRvcmlvLiIsbWluTGVuZ3RoOiJQb3IgZmF2 b3IgaW50cm9kdWNlIGFsIG1lbm9zIHttaW5MZW5ndGh9IGNhcmFjdGVyZXMgKGhh cyBpbnRyb2R1Y2lkbyB7bGVuZ3RofSBjYXJhY3RlcmVzKS4iLG1heExlbmd0aDoi UG9yIGZhdm9yIGludHJvZHVjZSBubyBtJmFhY3V0ZTtzIGRlIHttYXhMZW5ndGh9 IGNhcmFjdGVyZXMgKGhhcyBpbnRyb2R1Y2lkbyB7bGVuZ3RofSBjYXJhY3RlcmVz KS4iLGludGVnZXI6IlBvciBmYXZvciBpbnRyb2R1Y2UgdW4gbiZ1YWN1dGU7bWVy byBlbnRlcm8gZW4gZXN0ZSBjYW1wby4gTiZ1YWN1dGU7bWVyb3MgY29uIGRlY2lt YWxlcyAocC5lLiAxLDI1KSBubyBzZSBwZXJtaXRlbi4iLG51bWVyaWM6J1BvciBm YXZvciBpbnRyb2R1Y2Ugc29sbyB2YWxvcmVzIG51bSZlYWN1dGU7cmljb3MgZW4g ZXN0ZSBjYW1wbyAocC5lLiAiMSIgbyAiMSwxIiBvICItMSIgbyAiLTEsMSIpLics ZGlnaXRzOiJQb3IgZmF2b3IgdXNhIHNvbG8gbiZ1YWN1dGU7bWVyb3MgeSBwdW50 dWFjaSZvYWN1dGU7biBlbiBlc3RlIGNhbXBvIChwb3IgZWplbXBsbywgdW4gbiZ1 YWN1dGU7bWVybyBkZSB0ZWwmZWFjdXRlO2Zvbm8gY29uIGd1aW9uZXMgeSBwdW50 b3Mgbm8gZXN0YSBwZXJtaXRpZG8pLiIsYWxwaGE6IlBvciBmYXZvciB1c2EgbGV0 cmFzIHNvbG8gKGEteikgZW4gZXN0ZSBjYW1wby4gTm8gc2UgYWRtaXRlbiBlc3Bh Y2lvcyBuaSBvdHJvcyBjYXJhY3RlcmVzLiIsYWxwaGFudW06IlBvciBmYXZvciwg dXNhIHNvbG8gbGV0cmFzIChhLXopIG8gbiZ1YWN1dGU7bWVyb3MgKDAtOSkgZW4g ZXN0ZSBjYW1wby4gTm8gc2UgYWRtaXRlbiBlc3BhY2lvcyBuaSBvdHJvcyBjYXJh Y3RlcmVzLiIsZGF0ZVN1Y2hBczoiUG9yIGZhdm9yIGludHJvZHVjZSB1bmEgZmVj aGEgdiZhYWN1dGU7bGlkYSBjb21vIHtkYXRlfSIsZGF0ZUluRm9ybWF0TURZOidQ b3IgZmF2b3IgaW50cm9kdWNlIHVuYSBmZWNoYSB2JmFhY3V0ZTtsaWRhIGNvbW8g REQvTU0vWVlZWSAocC5lLiAiMzEvMTIvMTk5OSIpJyxlbWFpbDonUG9yIGZhdm9y LCBpbnRyb2R1Y2UgdW5hIGRpcmVjY2kmb2FjdXRlO24gZGUgZW1haWwgdiZhYWN1 dGU7bGlkYS4gUG9yIGVqZW1wbG8sICJmcmVkQGRvbWFpbi5jb20iLicsdXJsOiJQ b3IgZmF2b3IgaW50cm9kdWNlIHVuYSBVUkwgdiZhYWN1dGU7bGlkYSBjb21vIGh0 dHA6Ly93d3cuZXhhbXBsZS5jb20uIixjdXJyZW5jeURvbGxhcjoiUG9yIGZhdm9y IGludHJvZHVjZSB1bmEgY2FudGlkYWQgdiZhYWN1dGU7bGlkYSBkZSDigqwuIFBv ciBlamVtcGxvIOKCrDEwMCwwMCAuIixvbmVSZXF1aXJlZDoiUG9yIGZhdm9yIGlu dHJvZHVjZSBhbGdvIHBhcmEgcG9yIGxvIG1lbm9zIHVuYSBkZSBlc3RhcyBlbnRy YWRhcy4iLGVycm9yUHJlZml4OiJFcnJvcjogIix3YXJuaW5nUHJlZml4OiJBdmlz bzogIixub1NwYWNlOiJObyBwdWVkZW4gaGFiZXIgZXNwYWNpb3MgZW4gZXN0YSBl bnRyYWRhLiIscmVxQ2hrQnlOb2RlOiJObyBoYXkgZWxlbWVudG9zIHNlbGVjY2lv bmFkb3MuIixyZXF1aXJlZENoazoiRXN0ZSBjYW1wbyBlcyBvYmxpZ2F0b3Jpby4i LHJlcUNoa0J5TmFtZToiUG9yIGZhdm9yIHNlbGVjY2lvbmEgdW5hIHtsYWJlbH0u IixtYXRjaDoiRXN0ZSBjYW1wbyBuZWNlc2l0YSBjb2luY2lkaXIgY29uIGVsIGNh bXBvIHttYXRjaE5hbWV9IixzdGFydERhdGU6ImxhIGZlY2hhIGRlIGluaWNpbyIs ZW5kRGF0ZToibGEgZmVjaGEgZGUgZmluIixjdXJyZW5kRGF0ZToibGEgZmVjaGEg YWN0dWFsIixhZnRlckRhdGU6IkxhIGZlY2hhIGRlYmUgc2VyIGlndWFsIG8gcG9z dGVyaW9yIGEge2xhYmVsfS4iLGJlZm9yZURhdGU6IkxhIGZlY2hhIGRlYmUgc2Vy IGlndWFsIG8gYW50ZXJpb3IgYSB7bGFiZWx9LiIsc3RhcnRNb250aDoiUG9yIGZh dm9yIHNlbGVjY2lvbmEgdW4gbWVzIGRlIG9yaWdlbiIsc2FtZU1vbnRoOiJFc3Rh cyBkb3MgZmVjaGFzIGRlYmVuIGVzdGFyIGVuIGVsIG1pc21vIG1lcyAtIGRlYmVz IGNhbWJpYXIgdW5hIHUgb3RyYS4ifSk7CkxvY2FsZS5kZWZpbmUoImV0LUVFIiwi RGF0ZSIse21vbnRoczpbImphYW51YXIiLCJ2ZWVicnVhciIsIm3DpHJ0cyIsImFw cmlsbCIsIm1haSIsImp1dW5pIiwianV1bGkiLCJhdWd1c3QiLCJzZXB0ZW1iZXIi LCJva3Rvb2JlciIsIm5vdmVtYmVyIiwiZGV0c2VtYmVyIl0sbW9udGhzX2FiYnI6 WyJqYWFuIiwidmVlYnIiLCJtw6RydHMiLCJhcHIiLCJtYWkiLCJqdXVuaSIsImp1 dWxpIiwiYXVnIiwic2VwdCIsIm9rdCIsIm5vdiIsImRldHMiXSxkYXlzOlsicMO8 aGFww6RldiIsImVzbWFzcMOkZXYiLCJ0ZWlzaXDDpGV2Iiwia29sbWFww6RldiIs Im5lbGphcMOkZXYiLCJyZWVkZSIsImxhdXDDpGV2Il0sZGF5c19hYmJyOlsicMO8 aGFwIiwiZXNtYXNwIiwidGVpc2lwIiwia29sbWFwIiwibmVsamFwIiwicmVlZGUi LCJsYXVwIl0sZGF0ZU9yZGVyOlsibW9udGgiLCJkYXRlIiwieWVhciJdLHNob3J0 RGF0ZToiJW0uJWQuJVkiLHNob3J0VGltZToiJUg6JU0iLEFNOiJBTSIsUE06IlBN IixmaXJzdERheU9mV2VlazoxLG9yZGluYWw6IiIsbGVzc1RoYW5NaW51dGVBZ286 InbDpGhlbSBrdWkgbWludXQgYWVnYSB0YWdhc2kiLG1pbnV0ZUFnbzoidW1iZXMg bWludXQgYWVnYSB0YWdhc2kiLG1pbnV0ZXNBZ286IntkZWx0YX0gbWludXRpdCB0 YWdhc2kiLGhvdXJBZ286InVtYmVzIHR1bmQgYWVnYSB0YWdhc2kiLGhvdXJzQWdv OiJ1bWJlcyB7ZGVsdGF9IHR1bmRpIHRhZ2FzaSIsZGF5QWdvOiIxIHDDpGV2IHRh Z2FzaSIsZGF5c0Fnbzoie2RlbHRhfSBww6RldmEgdGFnYXNpIix3ZWVrQWdvOiIx IG7DpGRhbCB0YWdhc2kiLHdlZWtzQWdvOiJ7ZGVsdGF9IG7DpGRhbGF0IHRhZ2Fz aSIsbW9udGhBZ286IjEga3V1IHRhZ2FzaSIsbW9udGhzQWdvOiJ7ZGVsdGF9IGt1 dWQgdGFnYXNpIix5ZWFyQWdvOiIxIGFhc3RhIHRhZ2FzaSIseWVhcnNBZ286Intk ZWx0YX0gYWFzdGF0IHRhZ2FzaSIsbGVzc1RoYW5NaW51dGVVbnRpbDoidsOkaGVt IGt1aSBtaW51dGkgYWphIHDDpHJhc3QiLG1pbnV0ZVVudGlsOiJ1bWJlcyBtaW51 dGkgYWphIHDDpHJhc3QiLG1pbnV0ZXNVbnRpbDoie2RlbHRhfSBtaW51dGkgcMOk cmFzdCIsaG91clVudGlsOiJ1bWJlcyB0dW5uaSBhamEgcMOkcmFzdCIsaG91cnNV bnRpbDoidW1iZXMge2RlbHRhfSB0dW5uaSBww6RyYXN0IixkYXlVbnRpbDoiMSBw w6RldmEgcMOkcmFzdCIsZGF5c1VudGlsOiJ7ZGVsdGF9IHDDpGV2YSBww6RyYXN0 Iix3ZWVrVW50aWw6IjEgbsOkZGFsYSBww6RyYXN0Iix3ZWVrc1VudGlsOiJ7ZGVs dGF9IG7DpGRhbGEgcMOkcmFzdCIsbW9udGhVbnRpbDoiMSBrdXUgcMOkcmFzdCIs bW9udGhzVW50aWw6IntkZWx0YX0ga3V1IHDDpHJhc3QiLHllYXJVbnRpbDoiMSBh YXN0YSBww6RyYXN0Iix5ZWFyc1VudGlsOiJ7ZGVsdGF9IGFhc3RhIHDDpHJhc3Qi fSk7CkxvY2FsZS5kZWZpbmUoImV0LUVFIiwiRm9ybVZhbGlkYXRvciIse3JlcXVp cmVkOiJWw6RsaSBwZWFiIG9sZW1hIHTDpGlkZXR1ZC4iLG1pbkxlbmd0aDoiUGFs dW4gc2lzZXN0YWdlIHbDpGhlbWFsdCB7bWluTGVuZ3RofSB0w6RodGUgKHRlIHNp c2VzdGFzaXRlIHtsZW5ndGh9IHTDpGh0ZSkuIixtYXhMZW5ndGg6IlBhbHVuIMOk cmdlIHNpc2VzdGFnZSByb2hrZW0ga3VpIHttYXhMZW5ndGh9IHTDpGh0ZSAodGUg c2lzZXN0YXNpdGUge2xlbmd0aH0gdMOkaHRlKS4iLGludGVnZXI6IlBhbHVuIHNp c2VzdGFnZSB2w6RsamFsZSB0w6Rpc2Fydi4gS8O8bW5lbmRhcnZ1ZCAobsOkaXRl a3MgMS4yNSkgZWkgb2xlIGx1YmF0dWQuIixudW1lcmljOidQYWx1biBzaXNlc3Rh Z2UgYWludWx0IG51bWJyZWlkIHbDpGxqYWxlIChuw6RpdGVrcyAiMSIsICIxLjEi LCAiLTEiIHbDtWkgIi0xLjEiKS4nLGRpZ2l0czoiUGFsdW4ga2FzdXRhZ2UgYWlu dWx0IG51bWJyZWlkIGphIGtpcmphdmFoZW3DpHJrZSAodGVsZWZvbmludW1icmkg c2lzZXN0YW1pc2VsIG9uIGx1YmF0dWQga2FzdXRhZGEga3JpaXBzZSBqYSBwdW5r dGUpLiIsYWxwaGE6IlBhbHVuIGthc3V0YWdlIGFpbnVsdCB0w6RodGkgKGEteiku IFTDvGhpa3VkIGphIHRlaXNlZCBzw7xtYm9saWQgb24ga2VlbGF0dWQuIixhbHBo YW51bToiUGFsdW4ga2FzdXRhZ2UgYWludWx0IHTDpGh0aSAoYS16KSB2w7VpIG51 bWJyZWlkICgwLTkpLiBUw7xoaWt1ZCBqYSB0ZWlzZWQgc8O8bWJvbGlkIG9uIGtl ZWxhdHVkLiIsZGF0ZVN1Y2hBczoiUGFsdW4gc2lzZXN0YWdlIGtlaHRpdiBrdXVw w6RldiBrdWp1bCB7ZGF0ZX0iLGRhdGVJbkZvcm1hdE1EWTonUGFsdW4gc2lzZXN0 YWdlIGtlaHRpdiBrdXVww6RldiBrdWp1bCBNTS5ERC5ZWVlZIChuw6RpdGVrczog IjEyLjMxLjE5OTkiKS4nLGVtYWlsOidQYWx1biBzaXNlc3RhZ2Uga2VodGl2IGUt bWFpbGkgYWFkcmVzcyAobsOkaXRla3M6ICJmcmVkQGRvbWFpbi5jb20iKS4nLHVy bDoiUGFsdW4gc2lzZXN0YWdlIGtlaHRpdiBVUkwgKG7DpGl0ZWtzOiBodHRwOi8v d3d3LmV4YW1wbGUuY29tKS4iLGN1cnJlbmN5RG9sbGFyOiJQYWx1biBzaXNlc3Rh Z2Uga2VodGl2ICQgc3VtbWEgKG7DpGl0ZWtzOiAkMTAwLjAwKS4iLG9uZVJlcXVp cmVkOiJQYWx1biBzaXNlc3RhZ2UgbWlkYWdpIHbDpGhlbWFsdCDDvGhlbGUgYW50 dWQgdsOkbGphZGVzdC4iLGVycm9yUHJlZml4OiJWaWdhOiAiLHdhcm5pbmdQcmVm aXg6IkhvaWF0dXM6ICIsbm9TcGFjZToiVsOkbGkgZWkgdG9oaSBzaXNhbGRhZGEg dMO8aGlrdWlkLiIscmVxQ2hrQnlOb2RlOiLDnGtza2kgdsOkbGphZGVzdCBwb2xl IHZhbGl0dWQuIixyZXF1aXJlZENoazoiVsOkbGphIHTDpGl0bWluZSBvbiB2YWph bGlrLiIscmVxQ2hrQnlOYW1lOiJQYWx1biB2YWxpZ2Ugw7xrcyB7bGFiZWx9LiIs bWF0Y2g6IlbDpGxpIHBlYWIgc29iaW1hIHttYXRjaE5hbWV9IHbDpGxqYWdhIixz dGFydERhdGU6ImFsZ2t1dXDDpGV2IixlbmREYXRlOiJsw7VwcGt1dXDDpGV2Iixj dXJyZW5kRGF0ZToicHJhZWd1bmUga3V1cMOkZXYiLGFmdGVyRGF0ZToiS3V1cMOk ZXYgcGVhYiBvbGVtYSB2w7VyZG5lIHbDtWkgcMOkcmFzdCB7bGFiZWx9LiIsYmVm b3JlRGF0ZToiS3V1cMOkZXYgcGVhYiBvbGVtYSB2w7VyZG5lIHbDtWkgZW5uZSB7 bGFiZWx9LiIsc3RhcnRNb250aDoiUGFsdW4gdmFsaWdlIGFsZ2t1dXDDpGV2LiIs c2FtZU1vbnRoOiJBbnR1ZCBrYWtzIGt1dXDDpGV2YSBwZWF2YWQgb2xlbWEgc2Ft YXMga3V1cyAtIHBlYXRlIG11dXRtYSDDvGh0ZSBrdXVww6RldmEuIn0pOwpMb2Nh bGUuZGVmaW5lKCJmYSIsIkRhdGUiLHttb250aHM6WyLamNin2YbZiNuM2YciLCLZ gdmI2LHbjNmHIiwi2YXYp9ix2LMiLCLYotm+2LHbjNmEIiwi2YXZhyIsItqY2YjY ptmGIiwi2pjZiNim24zZhyIsItii2q/ZiNiz2KoiLCLYs9m+2KrYp9mF2KjYsSIs Itin2qnYqtio2LEiLCLZhtmI2KfZhdio2LEiLCLYr9iz2KfZhdio2LEiXSxtb250 aHNfYWJicjpbIjEiLCIyIiwiMyIsIjQiLCI1IiwiNiIsIjciLCI4IiwiOSIsIjEw IiwiMTEiLCIxMiJdLGRheXM6WyLbjNqp2LTZhtio2YciLCLYr9mI2LTZhtio2Yci LCLYs9mHINi02YbYqNmHIiwi2obZh9in2LHYtNmG2KjZhyIsItm+2YbYrNi02YbY qNmHIiwi2KzZhdi52YciLCLYtNmG2KjZhyJdLGRheXNfYWJicjpbItmKIiwi2K8i LCLYsyIsItqGIiwi2b4iLCLYrCIsIti0Il0sZGF0ZU9yZGVyOlsibW9udGgiLCJk YXRlIiwieWVhciJdLHNob3J0RGF0ZToiJW0vJWQvJVkiLHNob3J0VGltZToiJUk6 JU0lcCIsQU06ItmCLti4IixQTToi2Kgu2LgiLG9yZGluYWw6Itin2YUiLGxlc3NU aGFuTWludXRlQWdvOiLaqdmF2KrYsSDYp9iyINuM2qkg2K/ZgtuM2YLZhyDZvtuM 2LQiLG1pbnV0ZUFnbzoi2K3Yr9mI2K8g24zaqSDYr9mC24zZgtmHINm+24zYtCIs bWludXRlc0Fnbzoie2RlbHRhfSDYr9mC24zZgtmHINm+24zYtCIsaG91ckFnbzoi 2K3Yr9mI2K8g24zaqSDYs9in2LnYqiDZvtuM2LQiLGhvdXJzQWdvOiLYrdiv2YjY ryB7ZGVsdGF9INiz2KfYudiqINm+24zYtCIsZGF5QWdvOiIxINix2YjYsiDZvtuM 2LQiLGRheXNBZ286IntkZWx0YX0g2LHZiNiyINm+24zYtCIsd2Vla0FnbzoiMSDZ h9mB2KrZhyDZvtuM2LQiLHdlZWtzQWdvOiJ7ZGVsdGF9INmH2YHYqtmHINm+24zY tCIsbW9udGhBZ286IjEg2YXYp9mHINm+24zYtCIsbW9udGhzQWdvOiJ7ZGVsdGF9 INmF2KfZhyDZvtuM2LQiLHllYXJBZ286IjEg2LPYp9mEINm+24zYtCIseWVhcnNB Z286IntkZWx0YX0g2LPYp9mEINm+24zYtCIsbGVzc1RoYW5NaW51dGVVbnRpbDoi 2qnZhdiq2LEg2KfYsiDbjNqpINiv2YLbjNmC2Ycg2KfYsiDYrdin2YTYpyIsbWlu dXRlVW50aWw6Itit2K/ZiNivINuM2qkg2K/ZgtuM2YLZhyDYp9iyINit2KfZhNin IixtaW51dGVzVW50aWw6IntkZWx0YX0g2K/ZgtuM2YLZhyDYp9iyINit2KfZhNin Iixob3VyVW50aWw6Itit2K/ZiNivINuM2qkg2LPYp9i52Kog2KfYsiDYrdin2YTY pyIsaG91cnNVbnRpbDoi2K3Yr9mI2K8ge2RlbHRhfSDYs9in2LnYqiDYp9iyINit 2KfZhNinIixkYXlVbnRpbDoiMSDYsdmI2LIg2KfYsiDYrdin2YTYpyIsZGF5c1Vu dGlsOiJ7ZGVsdGF9INix2YjYsiDYp9iyINit2KfZhNinIix3ZWVrVW50aWw6IjEg 2YfZgdiq2Ycg2KfYsiDYrdin2YTYpyIsd2Vla3NVbnRpbDoie2RlbHRhfSDZh9mB 2KrZhyDYp9iyINit2KfZhNinIixtb250aFVudGlsOiIxINmF2KfZhyDYp9iyINit 2KfZhNinIixtb250aHNVbnRpbDoie2RlbHRhfSDZhdin2Ycg2KfYsiDYrdin2YTY pyIseWVhclVudGlsOiIxINiz2KfZhCDYp9iyINit2KfZhNinIix5ZWFyc1VudGls OiJ7ZGVsdGF9INiz2KfZhCDYp9iyINit2KfZhNinIn0pOwpMb2NhbGUuZGVmaW5l KCJmYSIsIkZvcm1WYWxpZGF0b3IiLHtyZXF1aXJlZDoi2KfbjNmGINmB24zZhNiv INin2YTYstin2YXbjCDYp9iz2KouIixtaW5MZW5ndGg6Iti02YXYpyDYqNin24zY ryDYrdiv2KfZgtmEIHttaW5MZW5ndGh9INit2LHZgSDZiNin2LHYryDaqdmG24zY ryAoe2xlbmd0aH0g2K3YsdmBINmI2KfYsdivINqp2LHYr9mHINin24zYrykuIixt YXhMZW5ndGg6ItmE2LfZgdinINit2K/Yp9qp2KvYsSB7bWF4TGVuZ3RofSDYrdix 2YEg2YjYp9ix2K8g2qnZhtuM2K8gKNi02YXYpyB7bGVuZ3RofSDYrdix2YEg2YjY p9ix2K8g2qnYsdiv2Ycg2KfbjNivKS4iLGludGVnZXI6ItmE2LfZgdinINin2LIg 2LnYr9ivINi12K3bjNitINin2LPYqtmB2KfYr9mHINqp2YbbjNivLiDYp9i52K/Y p9ivINin2LnYtNin2LHbjCAo2YXYp9mG2YbYryAxLjI1KSDZhdis2KfYsiDZhtuM 2LPYqtmG2K8uIixudW1lcmljOifZhNi32YHYpyDZgdmC2Lcg2K/Yp9iv2Ycg2LnY r9iv24wg2YjYp9ix2K8g2qnZhtuM2K8gKNmF2KfZhtmG2K8gIjEiINuM2KcgIjEu MSIg24zYpyAiMS0iINuM2KcgIjEuMS0iKS4nLGRpZ2l0czoi2YTYt9mB2Kcg2YHZ gti3INin2LIg2KfYudiv2KfYryDZiCDYudmE2KfZhdiq2YfYpyDYr9ixINin24zZ hiDZgduM2YTYryDYp9iz2KrZgdin2K/ZhyDaqdmG24zYryAo2KjYsdin24wg2YXY q9in2YQg2LTZhdin2LHZhyDYqtmE2YHZhiDYqNinINiu2Lcg2KrbjNix2Ycg2Ygg 2YbZgti32Ycg2YLYp9io2YQg2YLYqNmI2YQg2KfYs9iqKS4iLGFscGhhOiLZhNi3 2YHYpyDZgdmC2Lcg2KfYsiDYrdix2YjZgSDYp9mE2YHYqNin2KEg2KjYsdin24wg 2KfbjNmGINio2K7YtCDYp9iz2KrZgdin2K/ZhyDaqdmG24zYry4g2qnYp9ix2Kfa qdiq2LHZh9in24wg2K/bjNqv2LEg2Ygg2YHYp9i12YTZhyDZhdis2KfYsiDZhtuM 2LPYqtmG2K8uIixhbHBoYW51bToi2YTYt9mB2Kcg2YHZgti3INin2LIg2K3YsdmI 2YEg2KfZhNmB2KjYp9ihINmIINin2LnYr9in2K8g2K/YsSDYp9uM2YYg2KjYrti0 INin2LPYqtmB2KfYr9mHINqp2YbbjNivLiDaqdin2LHYp9qp2KrYsdmH2KfbjCDY r9uM2q/YsSDZiCDZgdin2LXZhNmHINmF2KzYp9iyINmG24zYs9iq2YbYry4iLGRh dGVTdWNoQXM6ItmE2LfZgdinINuM2qkg2KrYp9ix24zYriDZhdi52KrYqNixINmF 2KfZhtmG2K8ge2RhdGV9INmI2KfYsdivINqp2YbbjNivLiIsZGF0ZUluRm9ybWF0 TURZOifZhNi32YHYpyDbjNqpINiq2KfYsduM2K4g2YXYudiq2KjYsSDYqNmHINi0 2qnZhCBNTS9ERC9ZWVlZINmI2KfYsdivINqp2YbbjNivICjZhdin2YbZhtivICIx Mi8zMS8xOTk5IikuJyxlbWFpbDon2YTYt9mB2Kcg24zaqSDYotiv2LHYsyDYp9uM 2YXbjNmEINmF2LnYqtio2LEg2YjYp9ix2K8g2qnZhtuM2K8uINio2LHYp9uMINmF 2KvYp9mEICJmcmVkQGRvbWFpbi5jb20iLicsdXJsOiLZhNi32YHYpyDbjNqpIFVS TCDZhdi52KrYqNixINmF2KfZhtmG2K8gaHR0cDovL3d3dy5leGFtcGxlLmNvbSDZ iNin2LHYryDaqdmG24zYry4iLGN1cnJlbmN5RG9sbGFyOiLZhNi32YHYpyDbjNqp INmF2K3Yr9mI2K/ZhyDZhdi52KrYqNixINio2LHYp9uMINin24zZhiDYqNiu2LQg 2YjYp9ix2K8g2qnZhtuM2K8g2YXYp9mG2YbYryAxMDAuMDAkIC4iLG9uZVJlcXVp cmVkOiLZhNi32YHYpyDYrdiv2KfZgtmEINuM2qnbjCDYp9iyINmB24zZhNiv2YfY pyDYsdinINm+2LEg2qnZhtuM2K8uIixlcnJvclByZWZpeDoi2K7Yt9inOiAiLHdh cm5pbmdQcmVmaXg6ItmH2LTYr9in2LE6ICIsbm9TcGFjZToi2KfYs9iq2YHYp9iv 2Ycg2KfYsiDZgdin2LXZhNmHINiv2LEg2KfbjNmGINio2K7YtCDZhdis2KfYsiDZ htuM2LPYqi4iLHJlcUNoa0J5Tm9kZToi2YXZiNix2K/bjCDYp9mG2KrYrtin2Kgg 2YbYtNiv2Ycg2KfYs9iqLiIscmVxdWlyZWRDaGs6Itin24zZhiDZgduM2YTYryDY p9mE2LLYp9mF24wg2KfYs9iqLiIscmVxQ2hrQnlOYW1lOiLZhNi32YHYpyDbjNqp IHtsYWJlbH0g2LHYpyDYp9mG2KrYrtin2Kgg2qnZhtuM2K8uIixtYXRjaDoi2Kfb jNmGINmB24zZhNivINio2KfbjNivINio2Kcg2YHbjNmE2K8ge21hdGNoTmFtZX0g 2YXYt9in2KjZgtiqINiv2KfYtNiq2Ycg2KjYp9i02K8uIixzdGFydERhdGU6Itiq 2KfYsduM2K4g2LTYsdmI2LkiLGVuZERhdGU6Itiq2KfYsduM2K4g2b7Yp9uM2KfZ hiIsY3VycmVuZERhdGU6Itiq2KfYsduM2K4g2qnZhtmI2YbbjCIsYWZ0ZXJEYXRl OiLYqtin2LHbjNiuINmF24zYqNin24zYs9iqINio2LHYp9io2LEg24zYpyDYqNi5 2K8g2KfYsiB7bGFiZWx9INio2KfYtNivIixiZWZvcmVEYXRlOiLYqtin2LHbjNiu INmF24zYqNin24zYs9iqINio2LHYp9io2LEg24zYpyDZgtio2YQg2KfYsiB7bGFi ZWx9INio2KfYtNivIixzdGFydE1vbnRoOiLZhNi32YHYpyDZhdin2Ycg2LTYsdmI 2Lkg2LHYpyDYp9mG2KrYrtin2Kgg2qnZhtuM2K8iLHNhbWVNb250aDoi2KfbjNmG INiv2Ygg2KrYp9ix24zYriDYqNin24zYryDYr9ixINuM2qkg2YXYp9mHINio2KfY tNmG2K8gLSDYtNmF2Kcg2KjYp9uM2K8g24zaqduMINuM2Kcg2YfYsSDYr9mIINix 2Kcg2KrYutuM24zYsSDYr9mH24zYry4iLGNyZWRpdGNhcmQ6Iti02YXYp9ix2Ycg 2qnYp9ix2Kog2KfYudiq2KjYp9ix24wg2qnZhyDZiNin2LHYryDaqdix2K/ZhyDY p9uM2K8g2YXYudiq2KjYsSDZhtuM2LPYqi4g2YTYt9mB2Kcg2LTZhdin2LHZhyDY sdinINio2LHYsdiz24wg2qnZhtuM2K8g2Ygg2YXYrNiv2K/YpyDYqtmE2KfYtCDa qdmG24zYry4ge2xlbmd0aH0g2LHZgtmFINmI2KfYsdivINi02K/ZhyDYp9iz2Kou In0pOwpMb2NhbGUuZGVmaW5lKCJmaS1GSSIsIkRhdGUiLHttb250aHM6WyJ0YW1t aWt1dSIsImhlbG1pa3V1IiwibWFhbGlza3V1IiwiaHVodGlrdXUiLCJ0b3Vrb2t1 dSIsImtlc8Oka3V1IiwiaGVpbsOka3V1IiwiZWxva3V1Iiwic3l5c2t1dSIsImxv a2FrdXUiLCJtYXJyYXNrdXUiLCJqb3VsdWt1dSJdLG1vbnRoc19hYmJyOlsidGFt bWlrLiIsImhlbG1pay4iLCJtYWFsaXNrLiIsImh1aHRpay4iLCJ0b3Vrb2suIiwi a2Vzw6RrLiIsImhlaW7DpGsuIiwiZWxvay4iLCJzeXlzay4iLCJsb2thay4iLCJt YXJyYXNrLiIsImpvdWx1ay4iXSxkYXlzOlsic3VubnVudGFpIiwibWFhbmFudGFp IiwidGlpc3RhaSIsImtlc2tpdmlpa2tvIiwidG9yc3RhaSIsInBlcmphbnRhaSIs ImxhdWFudGFpIl0sZGF5c19hYmJyOlsic3UiLCJtYSIsInRpIiwia2UiLCJ0byIs InBlIiwibGEiXSxkYXRlT3JkZXI6WyJkYXRlIiwibW9udGgiLCJ5ZWFyIl0sc2hv cnREYXRlOiIlZC4lbS4lWSIsc2hvcnRUaW1lOiIlSDolTSIsQU06IkFNIixQTToi UE0iLGZpcnN0RGF5T2ZXZWVrOjEsb3JkaW5hbDoiLiIsbGVzc1RoYW5NaW51dGVB Z286InZhamFhIG1pbnV1dHRpIHNpdHRlbiIsbWludXRlQWdvOiJub2luIG1pbnV1 dHRpIHNpdHRlbiIsbWludXRlc0Fnbzoie2RlbHRhfSBtaW51dXR0aWEgc2l0dGVu Iixob3VyQWdvOiJub2luIHR1bnRpIHNpdHRlbiIsaG91cnNBZ286Im5vaW4ge2Rl bHRhfSB0dW50aWEgc2l0dGVuIixkYXlBZ286InDDpGl2w6Qgc2l0dGVuIixkYXlz QWdvOiJ7ZGVsdGF9IHDDpGl2w6TDpCBzaXR0ZW4iLHdlZWtBZ286InZpaWtrbyBz aXR0ZW4iLHdlZWtzQWdvOiJ7ZGVsdGF9IHZpaWtrb2Egc2l0dGVuIixtb250aEFn bzoia3V1a2F1c2kgc2l0dGVuIixtb250aHNBZ286IntkZWx0YX0ga3V1a2F1dHRh IHNpdHRlbiIseWVhckFnbzoidnVvc2kgc2l0dGVuIix5ZWFyc0Fnbzoie2RlbHRh fSB2dW90dGEgc2l0dGVuIixsZXNzVGhhbk1pbnV0ZVVudGlsOiJ2YWphYW4gbWlu dXV0aW4ga3VsdXR0dWEiLG1pbnV0ZVVudGlsOiJub2luIG1pbnV1dGluIGt1bHV0 dHVhIixtaW51dGVzVW50aWw6IntkZWx0YX0gbWludXV0aW4ga3VsdXR0dWEiLGhv dXJVbnRpbDoibm9pbiB0dW5uaW4ga3VsdXR0dWEiLGhvdXJzVW50aWw6Im5vaW4g e2RlbHRhfSB0dW5uaW4ga3VsdXR0dWEiLGRheVVudGlsOiJww6RpdsOkbiBrdWx1 dHR1YSIsZGF5c1VudGlsOiJ7ZGVsdGF9IHDDpGl2w6RuIGt1bHV0dHVhIix3ZWVr VW50aWw6InZpaWtvbiBrdWx1dHR1YSIsd2Vla3NVbnRpbDoie2RlbHRhfSB2aWlr b24ga3VsdXR0dWEiLG1vbnRoVW50aWw6Imt1dWthdWRlbiBrdWx1dHR1YSIsbW9u dGhzVW50aWw6IntkZWx0YX0ga3V1a2F1ZGVuIGt1bHV0dHVhIix5ZWFyVW50aWw6 InZ1b2RlbiBrdWx1dHR1YSIseWVhcnNVbnRpbDoie2RlbHRhfSB2dW9kZW4ga3Vs dXR0dWEifSk7CkxvY2FsZS5kZWZpbmUoImZpLUZJIiwiRm9ybVZhbGlkYXRvciIs e3JlcXVpcmVkOiJUw6Rtw6Qga2VudHTDpCBvbiBwYWtvbGxpbmVuLiIsbWluTGVu Z3RoOiJPbGUgaHl2w6QgamEgYW5uYSB2w6RoaW50w6TDpG4ge21pbkxlbmd0aH0g bWVya2tpw6QgKGFubm9pdCB7bGVuZ3RofSBtZXJra2nDpCkuIixtYXhMZW5ndGg6 IsOEbMOkIGFubmEgZW5lbXDDpMOkIGt1aW4ge21heExlbmd0aH0gbWVya2tpw6Qg KGFubm9pdCB7bGVuZ3RofSBtZXJra2nDpCkuIixpbnRlZ2VyOiJPbGUgaHl2w6Qg amEgYW5uYSBrb2tvbmFpc2x1a3UuIEx1dnV0LCBqb2lzc2Egb24gZGVzaW1hYWxl amEgKGVzaW0uIDEuMjUpIGVpdsOkdCBvbGUgc2FsbGl0dHVqYS4iLG51bWVyaWM6 J0FubmEgdMOkaMOkbiBrZW50dMOkw6RuIGx1a3VhcnZvIChrdXRlbiAiMSIgdGFp ICIxLjEiIHRhaSAiLTEiIHRhaSAiLTEuMSIpLicsZGlnaXRzOiJLw6R5dMOkIHBl bGvDpHN0w6TDpG4gbnVtZXJvaXRhIGphIHbDpGxpbWVya2tlasOkIHTDpHNzw6Qg a2VudMOkc3PDpCAoc3nDtnR0ZWV0LCBrdXRlbiBlc2ltLiBwdWhlbGlubnVtZXJv LCBqb3NzYSBvbiB2w6RsaXZpaXZvamEsIHBpbGtrdWphIHRhaSBwaXN0ZWl0w6Qs IGtlbHBhYSkuIixhbHBoYToiQW5uYSB0w6Row6RuIGtlbnR0w6TDpG4gdmFpbiBr aXJqYWltaWEgKGEteikuIFbDpGxpbHnDtm5uaXQgdGFpIG11dXQgbWVya2l0IGVp dsOkdCBvbGUgc2FsbGl0dHVqYS4iLGFscGhhbnVtOiJBbm5hIHTDpGjDpG4ga2Vu dHTDpMOkbiB2YWluIGtpcmphaW1pYSAoYS16KSB0YWkgbnVtZXJvaXRhICgwLTkp LiBWw6RsaWx5w7Zubml0IHRhaSBtdXV0IG1lcmtpdCBlaXbDpHQgb2xlIHNhbGxp dHR1amEuIixkYXRlU3VjaEFzOiJPbGUgaHl2w6QgamEgYW5uYSBrZWx2b2xsaW5l biBww6Rpdm3DpMOkcsOkLCBrdXRlbiBlc2ltZXJraWtzaSB7ZGF0ZX0iLGRhdGVJ bkZvcm1hdE1EWTonT2xlIGh5dsOkIGphIGFubmEga2Vsdm9sbGluZW4gcMOkaXbD pG3DpMOkcsOkIG11b2Rvc3NhIHBwL2trL3Z2dnYgKGt1dGVuICIxMi8zMS8xOTk5 IiknLGVtYWlsOidPbGUgaHl2w6QgamEgYW5uYSBrZWx2b2xsaW5lbiBzw6Roa8O2 cG9zdGlvc29pdGUgKGt1dGVuIGVzaW1lcmtpa3NpICJtYXR0aUBtZWlrYWxhaW5l bi5jb20iKS4nLHVybDoiT2xlIGh5dsOkIGphIGFubmEga2Vsdm9sbGluZW4gVVJM LCBrdXRlbiBlc2ltZXJraWtzaSBodHRwOi8vd3d3LmV4YW1wbGUuY29tLiIsY3Vy cmVuY3lEb2xsYXI6Ik9sZSBoeXbDpCBqYSBhbm5hIGtlbHZvbGxpbmVuIGV1cm9z dW1tYSAoa3V0ZW4gZXNpbWVya2lrc2kgMTAwLDAwIEVVUikgLiIsb25lUmVxdWly ZWQ6Ik9sZSBoeXbDpCBqYSBzecO2dMOkIGpvdGFraW4gYWluYWtpbiBqb2hvbmtp biBuw6Rpc3TDpCBrZW50aXN0w6QuIixlcnJvclByZWZpeDoiVmlyaGU6ICIsd2Fy bmluZ1ByZWZpeDoiVmFyb2l0dXM6ICIsbm9TcGFjZToiVMOkc3PDpCBzecO2dHRl ZXNzw6QgZWkgdm9pIG9sbGEgdsOkbGlsecO2bnRlasOkIixyZXFDaGtCeU5vZGU6 IkVpIHZhbGludG9qYS4iLHJlcXVpcmVkQ2hrOiJUw6Rtw6Qga2VudHTDpCBvbiBw YWtvbGxpbmVuLiIscmVxQ2hrQnlOYW1lOiJPbGUgaHl2w6QgamEgdmFsaXRzZSB7 bGFiZWx9LiIsbWF0Y2g6IlTDpG3DpG4ga2VudMOkbiB0dWxlZSB2YXN0YXRhIGtl bnR0w6TDpCB7bWF0Y2hOYW1lfSIsc3RhcnREYXRlOiJhbGt1cMOkaXbDpG3DpMOk csOkIixlbmREYXRlOiJsb3BwdXDDpGl2w6Rtw6TDpHLDpCIsY3VycmVuZERhdGU6 Im55a3lpbmVuIHDDpGl2w6Rtw6TDpHLDpCIsYWZ0ZXJEYXRlOiJQw6RpdsOkbcOk w6Ryw6RuIHR1bGlzaSBvbGxhIHNhbWEgdGFpIG15w7Zow6Rpc2VtcGkgYWphbmtv aHRhIGt1aW4ge2xhYmVsfS4iLGJlZm9yZURhdGU6IlDDpGl2w6Rtw6TDpHLDpG4g dHVsaXNpIG9sbGEgc2FtYSB0YWkgYWlrYWlzZW1waSBhamFua29odGEga3VpbiB7 bGFiZWx9LiIsc3RhcnRNb250aDoiT2xlIGh5dsOkIGphIHZhbGl0c2UgYWxvaXR1 c2t1dWthdXNpIixzYW1lTW9udGg6Ik7DpGlkZW4ga2FoZGVuIHDDpGl2w6Rtw6TD pHLDpG4gdHVsZWUgb2xsYSBzYW1hbiBrdXVuIHNpc8OkbGzDpCAtLSBzaW51biBw aXTDpMOkIG11dXR0YWEgam9tcGFhIGt1bXBhYS4iLGNyZWRpdGNhcmQ6IkFubmV0 dHUgbHVvdHRva29ydGluIG51bWVybyBlaSBrZWxwYWEuIE9sZSBoeXbDpCBqYSB0 YXJraXN0YSBudW1lcm8gc2Vrw6QgeXJpdMOkIHV1ZGVsbGVlbi4ge2xlbmd0aH0g bnVtZXJvYSBzecO2dGV0dHkuIn0pOwpMb2NhbGUuZGVmaW5lKCJmaS1GSSIsIk51 bWJlciIse2dyb3VwOiIgIn0pLmluaGVyaXQoIkVVIiwiTnVtYmVyIik7TG9jYWxl LmRlZmluZSgiZnItRlIiLCJEYXRlIix7bW9udGhzOlsiSmFudmllciIsIkbDqXZy aWVyIiwiTWFycyIsIkF2cmlsIiwiTWFpIiwiSnVpbiIsIkp1aWxsZXQiLCJBb8O7 dCIsIlNlcHRlbWJyZSIsIk9jdG9icmUiLCJOb3ZlbWJyZSIsIkTDqWNlbWJyZSJd LG1vbnRoc19hYmJyOlsiamFudi4iLCJmw6l2ci4iLCJtYXJzIiwiYXZyLiIsIm1h aSIsImp1aW4iLCJqdWlsLiIsImFvw7t0Iiwic2VwdC4iLCJvY3QuIiwibm92LiIs ImTDqWMuIl0sZGF5czpbIkRpbWFuY2hlIiwiTHVuZGkiLCJNYXJkaSIsIk1lcmNy ZWRpIiwiSmV1ZGkiLCJWZW5kcmVkaSIsIlNhbWVkaSJdLGRheXNfYWJicjpbImRp bS4iLCJsdW4uIiwibWFyLiIsIm1lci4iLCJqZXUuIiwidmVuLiIsInNhbS4iXSxk YXRlT3JkZXI6WyJkYXRlIiwibW9udGgiLCJ5ZWFyIl0sc2hvcnREYXRlOiIlZC8l bS8lWSIsc2hvcnRUaW1lOiIlSDolTSIsQU06IkFNIixQTToiUE0iLGZpcnN0RGF5 T2ZXZWVrOjEsb3JkaW5hbDpmdW5jdGlvbihhKXtyZXR1cm4oYT4xKT8iIjoiZXIi Owp9LGxlc3NUaGFuTWludXRlQWdvOiJpbCB5IGEgbW9pbnMgZCd1bmUgbWludXRl IixtaW51dGVBZ286ImlsIHkgYSB1bmUgbWludXRlIixtaW51dGVzQWdvOiJpbCB5 IGEge2RlbHRhfSBtaW51dGVzIixob3VyQWdvOiJpbCB5IGEgdW5lIGhldXJlIixo b3Vyc0FnbzoiaWwgeSBhIHtkZWx0YX0gaGV1cmVzIixkYXlBZ286ImlsIHkgYSB1 biBqb3VyIixkYXlzQWdvOiJpbCB5IGEge2RlbHRhfSBqb3VycyIsd2Vla0Fnbzoi aWwgeSBhIHVuZSBzZW1haW5lIix3ZWVrc0FnbzoiaWwgeSBhIHtkZWx0YX0gc2Vt YWluZXMiLG1vbnRoQWdvOiJpbCB5IGEgMSBtb2lzIixtb250aHNBZ286ImlsIHkg YSB7ZGVsdGF9IG1vaXMiLHllYXJ0aEFnbzoiaWwgeSBhIDEgYW4iLHllYXJzQWdv OiJpbCB5IGEge2RlbHRhfSBhbnMiLGxlc3NUaGFuTWludXRlVW50aWw6ImRhbnMg bW9pbnMgZCd1bmUgbWludXRlIixtaW51dGVVbnRpbDoiZGFucyB1bmUgbWludXRl IixtaW51dGVzVW50aWw6ImRhbnMge2RlbHRhfSBtaW51dGVzIixob3VyVW50aWw6 ImRhbnMgdW5lIGhldXJlIixob3Vyc1VudGlsOiJkYW5zIHtkZWx0YX0gaGV1cmVz IixkYXlVbnRpbDoiZGFucyB1biBqb3VyIixkYXlzVW50aWw6ImRhbnMge2RlbHRh fSBqb3VycyIsd2Vla1VudGlsOiJkYW5zIDEgc2VtYWluZSIsd2Vla3NVbnRpbDoi ZGFucyB7ZGVsdGF9IHNlbWFpbmVzIixtb250aFVudGlsOiJkYW5zIDEgbW9pcyIs bW9udGhzVW50aWw6ImRhbnMge2RlbHRhfSBtb2lzIix5ZWFyVW50aWw6ImRhbnMg MSBhbiIseWVhcnNVbnRpbDoiZGFucyB7ZGVsdGF9IGFucyJ9KTsKTG9jYWxlLmRl ZmluZSgiZnItRlIiLCJGb3JtVmFsaWRhdG9yIix7cmVxdWlyZWQ6IkNlIGNoYW1w IGVzdCBvYmxpZ2F0b2lyZS4iLGxlbmd0aDoiVmV1aWxsZXogc2Fpc2lyIHtsZW5n dGh9IGNhcmFjdCZlZ3JhdmU7cmUocykgKHZvdXMgYXZleiBzYWlzaSB7ZWxMZW5n dGh9IGNhcmFjdCZlZ3JhdmU7cmUocykiLG1pbkxlbmd0aDoiVmV1aWxsZXogc2Fp c2lyIHVuIG1pbmltdW0gZGUge21pbkxlbmd0aH0gY2FyYWN0JmVncmF2ZTtyZShz KSAodm91cyBhdmV6IHNhaXNpIHtsZW5ndGh9IGNhcmFjdCZlZ3JhdmU7cmUocykp LiIsbWF4TGVuZ3RoOiJWZXVpbGxleiBzYWlzaXIgdW4gbWF4aW11bSBkZSB7bWF4 TGVuZ3RofSBjYXJhY3QmZWdyYXZlO3JlKHMpICh2b3VzIGF2ZXogc2Fpc2kge2xl bmd0aH0gY2FyYWN0JmVncmF2ZTtyZShzKSkuIixpbnRlZ2VyOidWZXVpbGxleiBz YWlzaXIgdW4gbm9tYnJlIGVudGllciBkYW5zIGNlIGNoYW1wLiBMZXMgbm9tYnJl cyBkJmVhY3V0ZTtjaW1hdXggKGV4IDogIjEsMjUiKSBuZSBzb250IHBhcyBhdXRv cmlzJmVhY3V0ZTtzLicsbnVtZXJpYzonVmV1aWxsZXogc2Fpc2lyIHVuaXF1ZW1l bnQgZGVzIGNoaWZmcmVzIGRhbnMgY2UgY2hhbXAgKGV4IDogIjEiIG91ICIxLDEi IG91ICItMSIgb3UgIi0xLDEiKS4nLGRpZ2l0czoiVmV1aWxsZXogc2Fpc2lyIHVu aXF1ZW1lbnQgZGVzIGNoaWZmcmVzIGV0IGRlcyBzaWduZXMgZGUgcG9uY3R1YXRp b24gZGFucyBjZSBjaGFtcCAoZXggOiB1biBudW0mZWFjdXRlO3JvIGRlIHQmZWFj dXRlO2wmZWFjdXRlO3Bob25lIGF2ZWMgZGVzIHRyYWl0cyBkJ3VuaW9uIGVzdCBh dXRvcmlzJmVhY3V0ZTspLiIsYWxwaGE6IlZldWlsbGV6IHNhaXNpciB1bmlxdWVt ZW50IGRlcyBsZXR0cmVzIChhLXopIGRhbnMgY2UgY2hhbXAuIExlcyBlc3BhY2Vz IG91IGF1dHJlcyBjYXJhY3QmZWdyYXZlO3JlcyBuZSBzb250IHBhcyBhdXRvcmlz JmVhY3V0ZTtzLiIsYWxwaGFudW06IlZldWlsbGV6IHNhaXNpciB1bmlxdWVtZW50 IGRlcyBsZXR0cmVzIChhLXopIG91IGRlcyBjaGlmZnJlcyAoMC05KSBkYW5zIGNl IGNoYW1wLiBMZXMgZXNwYWNlcyBvdSBhdXRyZXMgY2FyYWN0JmVncmF2ZTtyZXMg bmUgc29udCBwYXMgYXV0b3JpcyZlYWN1dGU7cy4iLGRhdGVTdWNoQXM6IlZldWls bGV6IHNhaXNpciB1bmUgZGF0ZSBjb3JyZWN0ZSBjb21tZSB7ZGF0ZX0iLGRhdGVJ bkZvcm1hdE1EWTonVmV1aWxsZXogc2Fpc2lyIHVuZSBkYXRlIGNvcnJlY3RlLCBh dSBmb3JtYXQgSkovTU0vQUFBQSAoZXggOiAiMzEvMTEvMTk5OSIpLicsZW1haWw6 J1ZldWlsbGV6IHNhaXNpciB1bmUgYWRyZXNzZSBkZSBjb3VycmllciAmZWFjdXRl O2xlY3Ryb25pcXVlLiBQYXIgZXhhbXBsZSAiZnJlZEBkb21haW5lLmNvbSIuJyx1 cmw6IlZldWlsbGV6IHNhaXNpciB1bmUgVVJMLCBjb21tZSBodHRwOi8vd3d3LmV4 YW1wbGUuY29tLiIsY3VycmVuY3lEb2xsYXI6IlZldWlsbGV6IHNhaXNpciB1bmUg cXVhbnRpdCZlYWN1dGU7IGNvcnJlY3RlLiBQYXIgZXhhbXBsZSAxMDAsMDAmZXVy bzsuIixvbmVSZXF1aXJlZDoiVmV1aWxsZXogcyZlYWN1dGU7bGVjdGlvbm5lciBh dSBtb2lucyB1bmUgZGUgY2VzIG9wdGlvbnMuIixlcnJvclByZWZpeDoiRXJyZXVy IDogIix3YXJuaW5nUHJlZml4OiJBdHRlbnRpb24gOiAiLG5vU3BhY2U6IkNlIGNo YW1wIG4nYWNjZXB0ZSBwYXMgbGVzIGVzcGFjZXMuIixyZXFDaGtCeU5vZGU6IkF1 Y3VuICZlYWN1dGU7bCZlYWN1dGU7bWVudCBuJ2VzdCBzJmVhY3V0ZTtsZWN0aW9u biZlYWN1dGU7LiIscmVxdWlyZWRDaGs6IkNlIGNoYW1wIGVzdCBvYmxpZ2F0b2ly ZS4iLHJlcUNoa0J5TmFtZToiVmV1aWxsZXogcyZlYWN1dGU7bGVjdGlvbm5lciB1 bihlKSB7bGFiZWx9LiIsbWF0Y2g6IkNlIGNoYW1wIGRvaXQgY29ycmVzcG9uZHJl IGF2ZWMgbGUgY2hhbXAge21hdGNoTmFtZX0uIixzdGFydERhdGU6ImRhdGUgZGUg ZCZlYWN1dGU7YnV0IixlbmREYXRlOiJkYXRlIGRlIGZpbiIsY3VycmVuZERhdGU6 ImRhdGUgYWN0dWVsbGUiLGFmdGVyRGF0ZToiTGEgZGF0ZSBkb2l0ICZlY2lyYzt0 cmUgaWRlbnRpcXVlIG91IHBvc3QmZWFjdXRlO3JpZXVyZSAmYWdyYXZlOyB7bGFi ZWx9LiIsYmVmb3JlRGF0ZToiTGEgZGF0ZSBkb2l0ICZlY2lyYzt0cmUgaWRlbnRp cXVlIG91IGFudCZlYWN1dGU7cmlldXJlICZhZ3JhdmU7IHtsYWJlbH0uIixzdGFy dE1vbnRoOiJWZXVpbGxleiBzJmVhY3V0ZTtsZWN0aW9ubmVyIHVuIG1vaXMgZGUg ZCZlYWN1dGU7YnV0LiIsc2FtZU1vbnRoOiJDZXMgZGV1eCBkYXRlcyBkb2l2ZW50 ICZlY2lyYzt0cmUgZGFucyBsZSBtJmVjaXJjO21lIG1vaXMgLSB2b3VzIGRldmV6 IGVuIG1vZGlmaWVyIHVuZS4iLGNyZWRpdGNhcmQ6IkxlIG51bSZlYWN1dGU7cm8g ZGUgY2FydGUgZGUgY3ImZWFjdXRlO2RpdCBlc3QgaW52YWxpZGUuIE1lcmNpIGRl IHYmZWFjdXRlO3JpZmllciBsZSBudW0mZWFjdXRlO3JvIGV0IGRlIHImZWFjdXRl O2Vzc2F5ZXIuIFZvdXMgYXZleiBlbnRyJmVhY3V0ZTsge2xlbmd0aH0gY2hpZmZy ZShzKS4ifSk7CkxvY2FsZS5kZWZpbmUoImZyLUZSIiwiTnVtYmVyIix7Z3JvdXA6 IiAifSkuaW5oZXJpdCgiRVUiLCJOdW1iZXIiKTtMb2NhbGUuZGVmaW5lKCJoZS1J TCIsIkRhdGUiLHttb250aHM6WyLXmdeg15XXkNeoIiwi16TXkdeo15XXkNeoIiwi 157XqNelIiwi15DXpNeo15nXnCIsItee15DXmSIsIteZ15XXoNeZIiwi15nXldec 15kiLCLXkNeV15LXldeh15giLCLXodek15jXnteR16giLCLXkNeV16fXmNeV15HX qCIsIteg15XXkdee15HXqCIsIteT16bXnteR16giXSxtb250aHNfYWJicjpbIteZ 16DXldeQ16giLCLXpNeR16jXldeQ16giLCLXnteo16UiLCLXkNek16jXmdecIiwi 157XkNeZIiwi15nXldeg15kiLCLXmdeV15zXmSIsIteQ15XXkteV16HXmCIsIteh 16TXmNee15HXqCIsIteQ15XXp9eY15XXkdeoIiwi16DXldeR157XkdeoIiwi15PX ptee15HXqCJdLGRheXM6WyLXqNeQ16nXldefIiwi16nXoNeZIiwi16nXnNeZ16nX mSIsIteo15HXmdei15kiLCLXl9ee15nXqdeZIiwi16nXmdep15kiLCLXqdeR16oi XSxkYXlzX2FiYnI6WyLXqNeQ16nXldefIiwi16nXoNeZIiwi16nXnNeZ16nXmSIs Iteo15HXmdei15kiLCLXl9ee15nXqdeZIiwi16nXmdep15kiLCLXqdeR16oiXSxk YXRlT3JkZXI6WyJkYXRlIiwibW9udGgiLCJ5ZWFyIl0sc2hvcnREYXRlOiIlZC8l bS8lWSIsc2hvcnRUaW1lOiIlSDolTSIsQU06IkFNIixQTToiUE0iLGZpcnN0RGF5 T2ZXZWVrOjAsb3JkaW5hbDoiIixsZXNzVGhhbk1pbnV0ZUFnbzoi15zXpNeg15kg 16TXl9eV16og157Xk9en15QiLG1pbnV0ZUFnbzoi15zXpNeg15kg15vXk9en15Qi LG1pbnV0ZXNBZ286Itec16TXoNeZIHtkZWx0YX0g15PXp9eV16oiLGhvdXJBZ286 Itec16TXoNeZINeb16nXoteUIixob3Vyc0Fnbzoi15zXpNeg15kge2RlbHRhfSDX qdei15XXqiIsZGF5QWdvOiLXnNek16DXmSDXmdeV150iLGRheXNBZ286Itec16TX oNeZIHtkZWx0YX0g15nXnteZ150iLHdlZWtBZ286Itec16TXoNeZINep15HXldei Iix3ZWVrc0Fnbzoi15zXpNeg15kge2RlbHRhfSDXqdeR15XXoteV16oiLG1vbnRo QWdvOiLXnNek16DXmSDXl9eV15PXqSIsbW9udGhzQWdvOiLXnNek16DXmSB7ZGVs dGF9INeX15XXk9ep15nXnSIseWVhckFnbzoi15zXpNeg15kg16nXoNeUIix5ZWFy c0Fnbzoi15zXpNeg15kge2RlbHRhfSDXqdeg15nXnSIsbGVzc1RoYW5NaW51dGVV bnRpbDoi15HXoteV15Mg16TXl9eV16og157Xk9en15QiLG1pbnV0ZVVudGlsOiLX kdei15XXkyDXm9eT16fXlCIsbWludXRlc1VudGlsOiLXkdei15XXkyB7ZGVsdGF9 INeT16fXldeqIixob3VyVW50aWw6IteR16LXldeTINeb16nXoteUIixob3Vyc1Vu dGlsOiLXkdei15XXkyB7ZGVsdGF9INep16LXldeqIixkYXlVbnRpbDoi15HXoteV 15Mg15nXldedIixkYXlzVW50aWw6IteR16LXldeTIHtkZWx0YX0g15nXnteZ150i LHdlZWtVbnRpbDoi15HXoteV15Mg16nXkdeV16IiLHdlZWtzVW50aWw6IteR16LX ldeTIHtkZWx0YX0g16nXkdeV16LXldeqIixtb250aFVudGlsOiLXkdei15XXkyDX l9eV15PXqSIsbW9udGhzVW50aWw6IteR16LXldeTIHtkZWx0YX0g15fXldeT16nX mdedIix5ZWFyVW50aWw6IteR16LXldeTINep16DXlCIseWVhcnNVbnRpbDoi15HX oteV15Mge2RlbHRhfSDXqdeg15nXnSJ9KTsKTG9jYWxlLmRlZmluZSgiaGUtSUwi LCJGb3JtVmFsaWRhdG9yIix7cmVxdWlyZWQ6Iteg15Ag15zXntec15Ag16nXk9eU INeW15QuIixtaW5MZW5ndGg6Iteg15Ag15zXlNeW15nXnyDXnNek15fXldeqIHtt aW5MZW5ndGh9INeq15XXldeZ150gKNeU15bXoNeqIHtsZW5ndGh9INeq15XXldeZ 150pLiIsbWF4TGVuZ3RoOiLXoNeQINec15TXlteZ158g16LXkyB7bWF4TGVuZ3Ro fSDXqteV15XXmdedICjXlNeW16DXqiB7bGVuZ3RofSDXqteV15XXmdedKS4iLGlu dGVnZXI6Iteg15Ag15zXlNeW15nXnyDXnteh16TXqCDXqdec150g15zXqdeT15Qg 15bXlC4g157Xodek16jXmdedINei16nXqNeV16DXmdeZ150gKNeb157XlSAxLjI1 KSDXkNeZ16DXnSDXl9eV16fXmdeZ150uIixudW1lcmljOifXoNeQINec15TXlteZ 158g16LXqNeaINee16HXpNeo15kg15HXnNeR15Mg15HXqdeT15Qg15bXlCAo15vX nteVICIxIiwgIjEuMSIsICItMSIg15DXlSAiLTEuMSIpLicsZGlnaXRzOiLXoNeQ INec15TXlteZ158g16jXpyDXodek16jXldeqINeV16HXmdee16DXmSDXlNek16jX k9eUINeR16nXk9eUINeW15QgKNec157XqdecLCDXnteh16TXqCDXmNec16TXldef INei150g157Xp9ek15nXnSDXkNeVINeg16fXldeT15XXqiDXlNeV15Ag15fXlden 15kpLiIsYWxwaGE6Iteg15Ag15zXlNeW15nXnyDXqNenINeQ15XXqteZ15XXqiDX kdeQ16DXktec15nXqiAoYS16KSDXkdep15PXlCDXlteULiDXqNeV15XXl9eZ150g 15DXlSDXqteV15XXmdedINeQ15fXqNeZ150g15DXmdeg150g15fXlden15nXmded LiIsYWxwaGFudW06Iteg15Ag15zXlNeW15nXnyDXqNenINeQ15XXqteo15nXldeq INeR15DXoNeS15zXmdeqIChhLXopINeQ15Ug16HXpNeo15XXqiAoMC05KSDXkdep 15PXlCDXlteULiDXkNeV15XXl9eo15nXnSDXkNeVINeq15XXldeZ150g15DXl9eo 15nXnSDXkNeZ16DXnSDXl9eV16fXmdeZ150uIixkYXRlU3VjaEFzOiLXoNeQINec 15TXlteZ158g16rXkNeo15nXmiDXl9eV16fXmSwg15vXnteVIHtkYXRlfSIsZGF0 ZUluRm9ybWF0TURZOifXoNeQINec15TXlteZ158g16rXkNeo15nXmiDXl9eV16fX mSDXkdek15XXqNee15ggTU0vREQvWVlZWSAo15vXnteVICIxMi8zMS8xOTk5Iikn LGVtYWlsOifXoNeQINec15TXlteZ158g15vXqteV15HXqiDXkNeZ157XmdeZ15wg 15fXlden15nXqi4g15zXk9eV15LXnteUOiAiZnJlZEBkb21haW4uY29tIi4nLHVy bDoi16DXkCDXnNeU15bXmdefINeb16rXldeR16og15DXqteoINeX15XXp9eZ16os INeb157XlSBodHRwOi8vd3d3LmV4YW1wbGUuY29tLiIsY3VycmVuY3lEb2xsYXI6 Iteg15Ag15zXlNeW15nXnyDXodeb15XXnSDXk9eV15zXqNeZINeX15XXp9eZLiDX nNeT15XXktee15QgJDEwMC4wMC4iLG9uZVJlcXVpcmVkOiLXoNeQINec15HXl9eV 16gg15zXpNeX15XXqiDXkdep15PXlCDXkNeX15MuIixlcnJvclByZWZpeDoi16nX kteZ15DXlDogIix3YXJuaW5nUHJlZml4OiLXkNeW15TXqNeUOiAiLG5vU3BhY2U6 IteQ15nXnyDXnNeU15bXmdefINeo15XXldeX15nXnSDXkdep15PXlCDXlteULiIs cmVxQ2hrQnlOb2RlOiLXoNeQINec15HXl9eV16gg15DXl9eqINee15TXkNek16nX qNeV15nXldeqLiIscmVxdWlyZWRDaGs6Itep15PXlCDXlteUINeg15PXqNepLiIs cmVxQ2hrQnlOYW1lOiLXoNeQINec15HXl9eV16gge2xhYmVsfS4iLG1hdGNoOiLX qdeT15Qg15bXlCDXpteo15nXmiDXnNeU16rXkNeZ150g15zXqdeT15Qge21hdGNo TmFtZX0iLHN0YXJ0RGF0ZToi16rXkNeo15nXmiDXlNeU16rXl9ec15QiLGVuZERh dGU6Iteq15DXqNeZ15og15TXodeZ15XXnSIsY3VycmVuZERhdGU6IteU16rXkNeo 15nXmiDXlNeg15XXm9eX15kiLGFmdGVyRGF0ZToi15TXqteQ16jXmdeaINem16jX mdeaINec15TXmdeV16og15bXlNeUINeQ15Ug15DXl9eo15kge2xhYmVsfS4iLGJl Zm9yZURhdGU6IteU16rXkNeo15nXmiDXpteo15nXmiDXnNeU15nXldeqINeW15TX lCDXkNeVINec16TXoNeZIHtsYWJlbH0uIixzdGFydE1vbnRoOiLXoNeQINec15HX l9eV16gg15fXldeT16kg15TXqteX15zXlCIsc2FtZU1vbnRoOiLXqdeg15kg16rX kNeo15nXm9eZ150g15DXnNeUINem16jXmdeb15nXnSDXnNeU15nXldeqINeR15DX ldeq15Ug15fXldeT16kgLSDXoNeQINec16nXoNeV16og15DXl9eTINeU16rXkNeo 15nXm9eZ150uIixjcmVkaXRjYXJkOiLXnteh16TXqCDXm9eo15jXmdehINeU15DX qdeo15DXmSDXqdeU15XXltefINeQ15nXoNeVINeX15XXp9eZLiDXoNeQINec15HX k9eV16cg16nXoNeZ16ouINeU15XXlteg15Uge2xlbmd0aH0g16HXpNeo15XXqi4i fSk7CkxvY2FsZS5kZWZpbmUoImhlLUlMIiwiTnVtYmVyIix7ZGVjaW1hbDoiLiIs Z3JvdXA6IiwiLGN1cnJlbmN5OntzdWZmaXg6IiDigqoifX0pO0xvY2FsZS5kZWZp bmUoImh1LUhVIiwiRGF0ZSIse21vbnRoczpbIkphbnXDoXIiLCJGZWJydcOhciIs Ik3DoXJjaXVzIiwiw4FwcmlsaXMiLCJNw6FqdXMiLCJKw7puaXVzIiwiSsO6bGl1 cyIsIkF1Z3VzenR1cyIsIlN6ZXB0ZW1iZXIiLCJPa3TDs2JlciIsIk5vdmVtYmVy IiwiRGVjZW1iZXIiXSxtb250aHNfYWJicjpbImphbi4iLCJmZWJyLiIsIm3DoXJj LiIsIsOhcHIuIiwibcOhai4iLCJqw7puLiIsImrDumwuIiwiYXVnLiIsInN6ZXB0 LiIsIm9rdC4iLCJub3YuIiwiZGVjLiJdLGRheXM6WyJWYXPDoXJuYXAiLCJIw6l0 ZsWRIiwiS2VkZCIsIlN6ZXJkYSIsIkNzw7x0w7ZydMO2ayIsIlDDqW50ZWsiLCJT em9tYmF0Il0sZGF5c19hYmJyOlsiViIsIkgiLCJLIiwiU3plIiwiQ3MiLCJQIiwi U3pvIl0sZGF0ZU9yZGVyOlsieWVhciIsIm1vbnRoIiwiZGF0ZSJdLHNob3J0RGF0 ZToiJVkuJW0uJWQuIixzaG9ydFRpbWU6IiVJOiVNIixBTToiZGUuIixQTToiZHUu IixmaXJzdERheU9mV2VlazoxLG9yZGluYWw6Ii4iLGxlc3NUaGFuTWludXRlQWdv OiJhbGlnIGVneSBwZXJjZSIsbWludXRlQWdvOiJlZ3kgcGVyY2UiLG1pbnV0ZXNB Z286IntkZWx0YX0gcGVyY2UiLGhvdXJBZ286ImVneSDDs3LDoWphIixob3Vyc0Fn bzoie2RlbHRhfSDDs3LDoWphIixkYXlBZ286IjEgbmFwamEiLGRheXNBZ286Intk ZWx0YX0gbmFwamEiLHdlZWtBZ286IjEgaGV0ZSIsd2Vla3NBZ286IntkZWx0YX0g aGV0ZSIsbW9udGhBZ286IjEgaMOzbmFwamEiLG1vbnRoc0Fnbzoie2RlbHRhfSBo w7NuYXBqYSIseWVhckFnbzoiMSDDqXZlIix5ZWFyc0Fnbzoie2RlbHRhfSDDqXZl IixsZXNzVGhhbk1pbnV0ZVVudGlsOiJhbGlnIGVneSBwZXJjIG3Dumx2YSIsbWlu dXRlVW50aWw6ImVneSBwZXJjIG3Dumx2YSIsbWludXRlc1VudGlsOiJ7ZGVsdGF9 IHBlcmMgbcO6bHZhIixob3VyVW50aWw6ImVneSDDs3JhIG3Dumx2YSIsaG91cnNV bnRpbDoie2RlbHRhfSDDs3JhIG3Dumx2YSIsZGF5VW50aWw6IjEgbmFwIG3Dumx2 YSIsZGF5c1VudGlsOiJ7ZGVsdGF9IG5hcCBtw7psdmEiLHdlZWtVbnRpbDoiMSBo w6l0IG3Dumx2YSIsd2Vla3NVbnRpbDoie2RlbHRhfSBow6l0IG3Dumx2YSIsbW9u dGhVbnRpbDoiMSBow7NuYXAgbcO6bHZhIixtb250aHNVbnRpbDoie2RlbHRhfSBo w7NuYXAgbcO6bHZhIix5ZWFyVW50aWw6IjEgw6l2IG3Dumx2YSIseWVhcnNVbnRp bDoie2RlbHRhfSDDqXYgbcO6bHZhIn0pOwpMb2NhbGUuZGVmaW5lKCJodS1IVSIs IkZvcm1WYWxpZGF0b3IiLHtyZXF1aXJlZDoiQSBtZXrFkSBraXTDtmx0w6lzZSBr w7Z0ZWxlesWRLiIsbWluTGVuZ3RoOiJMZWdhbMOhYmIge21pbkxlbmd0aH0ga2Fy YWt0ZXIgbWVnYWTDoXNhIHN6w7xrc8OpZ2VzIChtZWdhZHZhIHtsZW5ndGh9IGth cmFrdGVyKS4iLG1heExlbmd0aDoiTGVnZmVsamViYiB7bWF4TGVuZ3RofSBrYXJh a3RlciBtZWdhZMOhc2EgbGVoZXRzw6lnZXMgKG1lZ2FkdmEge2xlbmd0aH0ga2Fy YWt0ZXIpLiIsaW50ZWdlcjoiRWfDqXN6IHN6w6FtIG1lZ2Fkw6FzYSBzesO8a3PD qWdlcy4gQSB0aXplZGVzamVneWVrIChwbC4gMS4yNSkgbmVtIGVuZ2Vkw6lseWV6 ZXR0ZWsuIixudW1lcmljOidTesOhbSBtZWdhZMOhc2Egc3rDvGtzw6lnZXMgKHBs LiAiMSIgdmFneSAiMS4xIiB2YWd5ICItMSIgdmFneSAiLTEuMSIpLicsZGlnaXRz OiJDc2FrIHN6w6Ftb2sgw6lzIMOtcsOhc2plbGVrIG1lZ2Fkw6FzYSBsZWhldHPD qWdlcyAocGwuIHRlbGVmb25zesOhbSBrw7Z0xZFqZWxlayDDqXMvdmFneSBwZXJq ZWxla2tlbCkuIixhbHBoYToiQ3NhayBiZXTFsWsgKGEteikgbWVnYWTDoXNhIGxl aGV0c8OpZ2VzLiBTesOza8O2eiDDqXMgZWd5w6liIGthcmFrdGVyZWsgbmVtIGVu Z2Vkw6lseWV6ZXR0ZWsuIixhbHBoYW51bToiQ3NhayBiZXTFsWsgKGEteikgdmFn eSBzesOhbW9rICgwLTkpIG1lZ2Fkw6FzYSBsZWhldHPDqWdlcy4gU3rDs2vDtnog w6lzIGVnecOpYiBrYXJha3RlcmVrIG5lbSBlbmdlZMOpbHllemV0dGVrLiIsZGF0 ZVN1Y2hBczoiVmFsw7NzIGTDoXR1bSBtZWdhZMOhc2Egc3rDvGtzw6lnZXMgKHBs LiB7ZGF0ZX0pLiIsZGF0ZUluRm9ybWF0TURZOidWYWzDs3MgZMOhdHVtIG1lZ2Fk w6FzYSBzesO8a3PDqWdlcyDDicOJw4nDiS5ISC5OTi4gZm9ybcOhYmFuLiAocGwu ICIxOTk5LjEyLjMxLiIpJyxlbWFpbDonVmFsw7NzIGUtbWFpbCBjw61tIG1lZ2Fk w6FzYSBzesO8a3PDqWdlcyAocGwuICJmcmVkQGRvbWFpbi5odSIpLicsdXJsOiJW YWzDs3MgVVJMIG1lZ2Fkw6FzYSBzesO8a3PDqWdlcyAocGwuIGh0dHA6Ly93d3cu ZXhhbXBsZS5jb20pLiIsY3VycmVuY3lEb2xsYXI6IlZhbMOzcyBww6luesO2c3N6 ZWcgbWVnYWTDoXNhIHN6w7xrc8OpZ2VzIChwbC4gMTAwLjAwIEZ0LikuIixvbmVS ZXF1aXJlZDoiQXogYWzDoWJiaSBtZXrFkWsgbGVnYWzDoWJiIGVneWlrw6luZWsg a2l0w7ZsdMOpc2Uga8O2dGVsZXrFkS4iLGVycm9yUHJlZml4OiJIaWJhOiAiLHdh cm5pbmdQcmVmaXg6IkZpZ3llbGVtOiAiLG5vU3BhY2U6IkEgbWV6xZEgbmVtIHRh cnRhbG1hemhhdCBzesOza8O2esO2a2V0LiIscmVxQ2hrQnlOb2RlOiJOaW5jcyBl Z3lldGxlbiBraWplbMO2bHQgZWxlbSBzZW0uIixyZXF1aXJlZENoazoiQSBtZXrF kSBraXTDtmx0w6lzZSBrw7Z0ZWxlesWRLiIscmVxQ2hrQnlOYW1lOiJFZ3kge2xh YmVsfSBraXbDoWxhc3p0w6FzYSBzesO8a3PDqWdlcy4iLG1hdGNoOiJBIG1lesWR bmVrIGVneWV6bmllIGtlbGwgYSh6KSB7bWF0Y2hOYW1lfSBtZXrFkXZlbC4iLHN0 YXJ0RGF0ZToiYSBrZXpkZXQgZMOhdHVtYSIsZW5kRGF0ZToiYSB2w6lnIGTDoXR1 bWEiLGN1cnJlbmREYXRlOiJqZWxlbmxlZ2kgZMOhdHVtIixhZnRlckRhdGU6IkEg ZMOhdHVtIG5lbSBsZWhldCBraXNlYmIsIG1pbnQge2xhYmVsfS4iLGJlZm9yZURh dGU6IkEgZMOhdHVtIG5lbSBsZWhldCBuYWd5b2JiLCBtaW50IHtsYWJlbH0uIixz dGFydE1vbnRoOiJLZXpkZXRpIGjDs25hcCBtZWdhZMOhc2Egc3rDvGtzw6lnZXMu IixzYW1lTW9udGg6IkEga8OpdCBkw6F0dW1uYWsgdWd5YW5hem9uIGjDs25hcGJh biBrZWxsIGxlbm5pZS4iLGNyZWRpdGNhcmQ6IkEgbWVnYWRvdHQgYmFua2vDoXJ0 eWFzesOhbSBuZW0gdmFsw7NkaSAobWVnYWR2YSB7bGVuZ3RofSBzesOhbWplZ3kp LiJ9KTsKTG9jYWxlLmRlZmluZSgiaXQtSVQiLCJEYXRlIix7bW9udGhzOlsiR2Vu bmFpbyIsIkZlYmJyYWlvIiwiTWFyem8iLCJBcHJpbGUiLCJNYWdnaW8iLCJHaXVn bm8iLCJMdWdsaW8iLCJBZ29zdG8iLCJTZXR0ZW1icmUiLCJPdHRvYnJlIiwiTm92 ZW1icmUiLCJEaWNlbWJyZSJdLG1vbnRoc19hYmJyOlsiZ2VuIiwiZmViIiwibWFy IiwiYXByIiwibWFnIiwiZ2l1IiwibHVnIiwiYWdvIiwic2V0Iiwib3R0Iiwibm92 IiwiZGljIl0sZGF5czpbIkRvbWVuaWNhIiwiTHVuZWTDrCIsIk1hcnRlZMOsIiwi TWVyY29sZWTDrCIsIkdpb3ZlZMOsIiwiVmVuZXJkw6wiLCJTYWJhdG8iXSxkYXlz X2FiYnI6WyJkb20iLCJsdW4iLCJtYXIiLCJtZXIiLCJnaW8iLCJ2ZW4iLCJzYWIi XSxkYXRlT3JkZXI6WyJkYXRlIiwibW9udGgiLCJ5ZWFyIl0sc2hvcnREYXRlOiIl ZC8lbS8lWSIsc2hvcnRUaW1lOiIlSC4lTSIsQU06IkFNIixQTToiUE0iLGZpcnN0 RGF5T2ZXZWVrOjEsb3JkaW5hbDoiwroiLGxlc3NUaGFuTWludXRlQWdvOiJtZW5v IGRpIHVuIG1pbnV0byBmYSIsbWludXRlQWdvOiJjaXJjYSB1biBtaW51dG8gZmEi LG1pbnV0ZXNBZ286ImNpcmNhIHtkZWx0YX0gbWludXRpIGZhIixob3VyQWdvOiJj aXJjYSB1bidvcmEgZmEiLGhvdXJzQWdvOiJjaXJjYSB7ZGVsdGF9IG9yZSBmYSIs ZGF5QWdvOiJjaXJjYSAxIGdpb3JubyBmYSIsZGF5c0FnbzoiY2lyY2Ege2RlbHRh fSBnaW9ybmkgZmEiLHdlZWtBZ286InVuYSBzZXR0aW1hbmEgZmEiLHdlZWtzQWdv OiJ7ZGVsdGF9IHNldHRpbWFuZSBmYSIsbW9udGhBZ286InVuIG1lc2UgZmEiLG1v bnRoc0Fnbzoie2RlbHRhfSBtZXNpIGZhIix5ZWFyQWdvOiJ1biBhbm5vIGZhIix5 ZWFyc0Fnbzoie2RlbHRhfSBhbm5pIGZhIixsZXNzVGhhbk1pbnV0ZVVudGlsOiJ0 cmEgbWVubyBkaSB1biBtaW51dG8iLG1pbnV0ZVVudGlsOiJ0cmEgY2lyY2EgdW4g bWludXRvIixtaW51dGVzVW50aWw6InRyYSBjaXJjYSB7ZGVsdGF9IG1pbnV0aSIs aG91clVudGlsOiJ0cmEgY2lyY2EgdW4nb3JhIixob3Vyc1VudGlsOiJ0cmEgY2ly Y2Ege2RlbHRhfSBvcmUiLGRheVVudGlsOiJ0cmEgY2lyY2EgdW4gZ2lvcm5vIixk YXlzVW50aWw6InRyYSBjaXJjYSB7ZGVsdGF9IGdpb3JuaSIsd2Vla1VudGlsOiJ0 cmEgdW5hIHNldHRpbWFuYSIsd2Vla3NVbnRpbDoidHJhIHtkZWx0YX0gc2V0dGlt YW5lIixtb250aFVudGlsOiJ0cmEgdW4gbWVzZSIsbW9udGhzVW50aWw6InRyYSB7 ZGVsdGF9IG1lc2kiLHllYXJVbnRpbDoidHJhIHVuIGFubm8iLHllYXJzVW50aWw6 InRyYSB7ZGVsdGF9IGFubmkifSk7CkxvY2FsZS5kZWZpbmUoIml0LUlUIiwiRm9y bVZhbGlkYXRvciIse3JlcXVpcmVkOiJJbCBjYW1wbyAmZWdyYXZlOyBvYmJsaWdh dG9yaW8uIixtaW5MZW5ndGg6Ikluc2VyaXJlIGFsbWVubyB7bWluTGVuZ3RofSBj YXJhdHRlcmkgKG5lIHNvbm8gc3RhdGkgaW5zZXJpdGkge2xlbmd0aH0pLiIsbWF4 TGVuZ3RoOiJJbnNlcmlyZSBhbCBtYXNzaW1vIHttYXhMZW5ndGh9IGNhcmF0dGVy aSAobmUgc29ubyBzdGF0aSBpbnNlcml0aSB7bGVuZ3RofSkuIixpbnRlZ2VyOiJJ bnNlcmlyZSB1biBudW1lcm8gaW50ZXJvLiBOb24gc29ubyBjb25zZW50aXRpIGRl Y2ltYWxpIChlcy46IDEuMjUpLiIsbnVtZXJpYzonSW5zZXJpcmUgc29sbyB2YWxv cmkgbnVtZXJpY2kgKGVzLjogIjEiIG9wcHVyZSAiMS4xIiBvcHB1cmUgIi0xIiBv cHB1cmUgIi0xLjEiKS4nLGRpZ2l0czoiSW5zZXJpcmUgc29sbyBudW1lcmkgZSBj YXJhdHRlcmkgZGkgcHVudGVnZ2lhdHVyYS4gUGVyIGVzZW1waW8gJmVncmF2ZTsg Y29uc2VudGl0byB1biBudW1lcm8gdGVsZWZvbmljbyBjb24gdHJhdHRpbmkgbyBw dW50aS4iLGFscGhhOiJJbnNlcmlyZSBzb2xvIGxldHRlcmUgKGEteikuIE5vbiBz b25vIGNvbnNlbnRpdGkgc3BhemkgbyBhbHRyaSBjYXJhdHRlcmkuIixhbHBoYW51 bToiSW5zZXJpcmUgc29sbyBsZXR0ZXJlIChhLXopIG8gbnVtZXJpICgwLTkpLiBO b24gc29ubyBjb25zZW50aXRpIHNwYXppIG8gYWx0cmkgY2FyYXR0ZXJpLiIsZGF0 ZVN1Y2hBczoiSW5zZXJpcmUgdW5hIGRhdGEgdmFsaWRhIGRlbCB0aXBvIHtkYXRl fSIsZGF0ZUluRm9ybWF0TURZOidJbnNlcmlyZSB1bmEgZGF0YSB2YWxpZGEgbmVs IGZvcm1hdG8gTU0vR0cvQUFBQSAoZXMuOiAiMTIvMzEvMTk5OSIpJyxlbWFpbDon SW5zZXJpcmUgdW4gaW5kaXJpenpvIGVtYWlsIHZhbGlkby4gUGVyIGVzZW1waW8g Im5vbWVAZG9taW5pby5jb20iLicsdXJsOidJbnNlcmlyZSB1biBpbmRpcml6em8g dmFsaWRvLiBQZXIgZXNlbXBpbyAiaHR0cDovL3d3dy5leGFtcGxlLmNvbSIuJyxj dXJyZW5jeURvbGxhcjonSW5zZXJpcmUgdW4gaW1wb3J0byB2YWxpZG8uIFBlciBl c2VtcGlvICIkMTAwLjAwIi4nLG9uZVJlcXVpcmVkOiJDb21wbGV0YXJlIGFsbWVu byB1bm8gZGVpIGNhbXBpIHJpY2hpZXN0aS4iLGVycm9yUHJlZml4OiJFcnJvcmU6 ICIsd2FybmluZ1ByZWZpeDoiQXR0ZW56aW9uZTogIixub1NwYWNlOiJOb24gc29u byBjb25zZW50aXRpIHNwYXppLiIscmVxQ2hrQnlOb2RlOiJOZXNzdW5hIHZvY2Ug c2VsZXppb25hdGEuIixyZXF1aXJlZENoazoiSWwgY2FtcG8gJmVncmF2ZTsgb2Ji bGlnYXRvcmlvLiIscmVxQ2hrQnlOYW1lOiJTZWxlemlvbmFyZSB1bihhKSB7bGFi ZWx9LiIsbWF0Y2g6IklsIHZhbG9yZSBkZXZlIGNvcnJpc3BvbmRlcmUgYWwgY2Ft cG8ge21hdGNoTmFtZX0iLHN0YXJ0RGF0ZToiZGF0YSBkJ2luaXppbyIsZW5kRGF0 ZToiZGF0YSBkaSBmaW5lIixjdXJyZW5kRGF0ZToiZGF0YSBhdHR1YWxlIixhZnRl ckRhdGU6IkxhIGRhdGEgZGV2ZSBjb3JyaXNwb25kZXJlIG8gZXNzZXJlIHN1Y2Nl c3NpdmEgYWwge2xhYmVsfS4iLGJlZm9yZURhdGU6IkxhIGRhdGEgZGV2ZSBjb3Jy aXNwb25kZXJlIG8gZXNzZXJlIHByZWNlZGVudGUgYWwge2xhYmVsfS4iLHN0YXJ0 TW9udGg6IlNlbGV6aW9uYXJlIHVuIG1lc2UgZCdpbml6aW8iLHNhbWVNb250aDoi TGUgZHVlIGRhdGUgZGV2b25vIGVzc2VyZSBkZWxsbyBzdGVzc28gbWVzZSAtIG9j Y29ycmUgbW9kaWZpY2FybmUgdW5hLiJ9KTsKTG9jYWxlLmRlZmluZSgiamEtSlAi LCJEYXRlIix7bW9udGhzOlsiMeaciCIsIjLmnIgiLCIz5pyIIiwiNOaciCIsIjXm nIgiLCI25pyIIiwiN+aciCIsIjjmnIgiLCI55pyIIiwiMTDmnIgiLCIxMeaciCIs IjEy5pyIIl0sbW9udGhzX2FiYnI6WyIx5pyIIiwiMuaciCIsIjPmnIgiLCI05pyI IiwiNeaciCIsIjbmnIgiLCI35pyIIiwiOOaciCIsIjnmnIgiLCIxMOaciCIsIjEx 5pyIIiwiMTLmnIgiXSxkYXlzOlsi5pel5puc5pelIiwi5pyI5puc5pelIiwi54Gr 5puc5pelIiwi5rC05puc5pelIiwi5pyo5puc5pelIiwi6YeR5puc5pelIiwi5Zyf 5puc5pelIl0sZGF5c19hYmJyOlsi5pelIiwi5pyIIiwi54GrIiwi5rC0Iiwi5pyo Iiwi6YeRIiwi5ZyfIl0sZGF0ZU9yZGVyOlsieWVhciIsIm1vbnRoIiwiZGF0ZSJd LHNob3J0RGF0ZToiJVkvJW0vJWQiLHNob3J0VGltZToiJUg6JU0iLEFNOiLljYjl iY0iLFBNOiLljYjlvowiLGZpcnN0RGF5T2ZXZWVrOjAsb3JkaW5hbDoiIixsZXNz VGhhbk1pbnV0ZUFnbzoiMeWIhuS7peWGheWJjSIsbWludXRlQWdvOiLntIQx5YiG 5YmNIixtaW51dGVzQWdvOiLntIR7ZGVsdGF95YiG5YmNIixob3VyQWdvOiLntIQx 5pmC6ZaT5YmNIixob3Vyc0Fnbzoi57SEe2RlbHRhfeaZgumWk+WJjSIsZGF5QWdv OiIx5pel5YmNIixkYXlzQWdvOiJ7ZGVsdGF95pel5YmNIix3ZWVrQWdvOiIx6YCx 6ZaT5YmNIix3ZWVrc0Fnbzoie2RlbHRhfemAsemWk+WJjSIsbW9udGhBZ286IjHj g7bmnIjliY0iLG1vbnRoc0Fnbzoie2RlbHRhfeODtuaciOWJjSIseWVhckFnbzoi MeW5tOWJjSIseWVhcnNBZ286IntkZWx0YX3lubTliY0iLGxlc3NUaGFuTWludXRl VW50aWw6IuS7iuOBi+OCiee0hDHliIbku6XlhoUiLG1pbnV0ZVVudGlsOiLku4rj gYvjgonntIQx5YiGIixtaW51dGVzVW50aWw6IuS7iuOBi+OCiee0hHtkZWx0YX3l iIYiLGhvdXJVbnRpbDoi5LuK44GL44KJ57SEMeaZgumWkyIsaG91cnNVbnRpbDoi 5LuK44GL44KJ57SEe2RlbHRhfeaZgumWkyIsZGF5VW50aWw6IuS7iuOBi+OCiTHm l6XplpMiLGRheXNVbnRpbDoi5LuK44GL44KJe2RlbHRhfeaXpemWkyIsd2Vla1Vu dGlsOiLku4rjgYvjgokx6YCx6ZaTIix3ZWVrc1VudGlsOiLku4rjgYvjgol7ZGVs dGF96YCx6ZaTIixtb250aFVudGlsOiLku4rjgYvjgokx44O25pyIIixtb250aHNV bnRpbDoi5LuK44GL44KJe2RlbHRhfeODtuaciCIseWVhclVudGlsOiLku4rjgYvj gokx5bm0Iix5ZWFyc1VudGlsOiLku4rjgYvjgol7ZGVsdGF95bm0In0pOwpMb2Nh bGUuZGVmaW5lKCJqYS1KUCIsIkZvcm1WYWxpZGF0b3IiLHtyZXF1aXJlZDoi5YWl 5Yqb44Gv5b+F6aCI44Gn44GZ44CCIixtaW5MZW5ndGg6IuWFpeWKm+aWh+Wtl+aV sOOBr3ttaW5MZW5ndGh95Lul5LiK44Gr44GX44Gm44GP44Gg44GV44GE44CCKHts ZW5ndGh95paH5a2XKSIsbWF4TGVuZ3RoOiLlhaXlipvmloflrZfmlbDjga97bWF4 TGVuZ3RofeS7peS4i+OBq+OBl+OBpuOBj+OBoOOBleOBhOOAgih7bGVuZ3RofeaW h+WtlykiLGludGVnZXI6IuaVtOaVsOOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOB hOOAgiIsbnVtZXJpYzon5YWl5Yqb44Gn44GN44KL44Gu44Gv5pWw5YCk44Gg44GR 44Gn44GZ44CCKOS+izogIjEiLCAiMS4xIiwgIi0xIiwgIi0xLjEiLi4uLiknLGRp Z2l0czoi5YWl5Yqb44Gn44GN44KL44Gu44Gv5pWw5YCk44Go5Y+l6Kqt6KiY5Y+3 44Gn44GZ44CCICjkvos6IC3jgoQr44KS5ZCr44KA6Zu76Kmx55Wq5Y+344Gq44Gp KS4iLGFscGhhOiLlhaXlipvjgafjgY3jgovjga7jga/ljYrop5Loi7HlrZfjgaDj gZHjgafjgZnjgILjgZ3jgozku6XlpJbjga7mloflrZfjga/lhaXlipvjgafjgY3j gb7jgZvjgpPjgIIiLGFscGhhbnVtOiLlhaXlipvjgafjgY3jgovjga7jga/ljYro p5Loi7HmlbDlrZfjgaDjgZHjgafjgZnjgILjgZ3jgozku6XlpJbjga7mloflrZfj ga/lhaXlipvjgafjgY3jgb7jgZvjgpPjgIIiLGRhdGVTdWNoQXM6IuacieWKueOB quaXpeS7mOOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhOOAgntkYXRlfSIsZGF0 ZUluRm9ybWF0TURZOifml6Xku5jjga7mm7jlvI/jgavoqqTjgorjgYzjgYLjgorj gb7jgZnjgIJZWVlZL01NL0REIChpLmUuICIxOTk5LzEyLzMxIiknLGVtYWlsOiLj g6Hjg7zjg6vjgqLjg4njg6zjgrnjgavoqqTjgorjgYzjgYLjgorjgb7jgZnjgIIi LHVybDoiVVJM44Ki44OJ44Os44K544Gr6Kqk44KK44GM44GC44KK44G+44GZ44CC IixjdXJyZW5jeURvbGxhcjoi6YeR6aGN44Gr6Kqk44KK44GM44GC44KK44G+44GZ 44CCIixvbmVSZXF1aXJlZDoi44Gy44Go44Gk5Lul5LiK5YWl5Yqb44GX44Gm44GP 44Gg44GV44GE44CCIixlcnJvclByZWZpeDoi44Ko44Op44O8OiAiLHdhcm5pbmdQ cmVmaXg6IuitpuWRijogIixub1NwYWNlOiLjgrnjg5rjg7zjgrnjga/lhaXlipvj gafjgY3jgb7jgZvjgpPjgIIiLHJlcUNoa0J5Tm9kZToi6YG45oqe44GV44KM44Gm 44GE44G+44Gb44KT44CCIixyZXF1aXJlZENoazoi44GT44Gu6aCF55uu44Gv5b+F 6aCI44Gn44GZ44CCIixyZXFDaGtCeU5hbWU6IntsYWJlbH3jgpLpgbjmip7jgZfj gabjgY/jgaDjgZXjgYTjgIIiLG1hdGNoOiJ7bWF0Y2hOYW1lfeOBjOWFpeWKm+OB leOCjOOBpuOBhOOCi+WgtOWQiOW/hemgiOOBp+OBmeOAgiIsc3RhcnREYXRlOiLp lovlp4vml6UiLGVuZERhdGU6Iue1guS6huaXpSIsY3VycmVuZERhdGU6IuS7iuaX pSIsYWZ0ZXJEYXRlOiJ7bGFiZWx95Lul6ZmN44Gu5pel5LuY44Gr44GX44Gm44GP 44Gg44GV44GE44CCIixiZWZvcmVEYXRlOiJ7bGFiZWx95Lul5YmN44Gu5pel5LuY 44Gr44GX44Gm44GP44Gg44GV44GE44CCIixzdGFydE1vbnRoOiLplovlp4vmnIjj gpLpgbjmip7jgZfjgabjgY/jgaDjgZXjgYTjgIIiLHNhbWVNb250aDoi5pel5LuY 44GM5ZCM5LiA44Gn44GZ44CC44Gp44Gh44KJ44GL44KS5aSJ5pu044GX44Gm44GP 44Gg44GV44GE44CCIn0pOwpMb2NhbGUuZGVmaW5lKCJqYS1KUCIsIk51bWJlciIs e2RlY2ltYWw6Ii4iLGdyb3VwOiIsIixjdXJyZW5jeTp7ZGVjaW1hbHM6MCxwcmVm aXg6IlxcIn19KTtMb2NhbGUuZGVmaW5lKCJubC1OTCIsIkRhdGUiLHttb250aHM6 WyJqYW51YXJpIiwiZmVicnVhcmkiLCJtYWFydCIsImFwcmlsIiwibWVpIiwianVu aSIsImp1bGkiLCJhdWd1c3R1cyIsInNlcHRlbWJlciIsIm9rdG9iZXIiLCJub3Zl bWJlciIsImRlY2VtYmVyIl0sbW9udGhzX2FiYnI6WyJqYW4iLCJmZWIiLCJtcnQi LCJhcHIiLCJtZWkiLCJqdW4iLCJqdWwiLCJhdWciLCJzZXAiLCJva3QiLCJub3Yi LCJkZWMiXSxkYXlzOlsiem9uZGFnIiwibWFhbmRhZyIsImRpbnNkYWciLCJ3b2Vu c2RhZyIsImRvbmRlcmRhZyIsInZyaWpkYWciLCJ6YXRlcmRhZyJdLGRheXNfYWJi cjpbInpvIiwibWEiLCJkaSIsIndvIiwiZG8iLCJ2ciIsInphIl0sZGF0ZU9yZGVy OlsiZGF0ZSIsIm1vbnRoIiwieWVhciJdLHNob3J0RGF0ZToiJWQtJW0tJVkiLHNo b3J0VGltZToiJUg6JU0iLEFNOiJBTSIsUE06IlBNIixmaXJzdERheU9mV2Vlazox LG9yZGluYWw6ImUiLGxlc3NUaGFuTWludXRlQWdvOiJtaW5kZXIgZGFuIGVlbiBt aW51dXQgZ2VsZWRlbiIsbWludXRlQWdvOiJvbmdldmVlciBlZW4gbWludXV0IGdl bGVkZW4iLG1pbnV0ZXNBZ286IntkZWx0YX0gbWludXRlbiBnZWxlZGVuIixob3Vy QWdvOiJvbmdldmVlciBlZW4gdXVyIGdlbGVkZW4iLGhvdXJzQWdvOiJvbmdldmVl ciB7ZGVsdGF9IHV1ciBnZWxlZGVuIixkYXlBZ286ImVlbiBkYWcgZ2VsZWRlbiIs ZGF5c0Fnbzoie2RlbHRhfSBkYWdlbiBnZWxlZGVuIix3ZWVrQWdvOiJlZW4gd2Vl ayBnZWxlZGVuIix3ZWVrc0Fnbzoie2RlbHRhfSB3ZWtlbiBnZWxlZGVuIixtb250 aEFnbzoiZWVuIG1hYW5kIGdlbGVkZW4iLG1vbnRoc0Fnbzoie2RlbHRhfSBtYWFu ZGVuIGdlbGVkZW4iLHllYXJBZ286ImVlbiBqYWFyIGdlbGVkZW4iLHllYXJzQWdv OiJ7ZGVsdGF9IGphYXIgZ2VsZWRlbiIsbGVzc1RoYW5NaW51dGVVbnRpbDoib3Zl ciBtaW5kZXIgZGFuIGVlbiBtaW51dXQiLG1pbnV0ZVVudGlsOiJvdmVyIG9uZ2V2 ZWVyIGVlbiBtaW51dXQiLG1pbnV0ZXNVbnRpbDoib3ZlciB7ZGVsdGF9IG1pbnV0 ZW4iLGhvdXJVbnRpbDoib3ZlciBvbmdldmVlciBlZW4gdXVyIixob3Vyc1VudGls OiJvdmVyIHtkZWx0YX0gdXVyIixkYXlVbnRpbDoib3ZlciBvbmdldmVlciBlZW4g ZGFnIixkYXlzVW50aWw6Im92ZXIge2RlbHRhfSBkYWdlbiIsd2Vla1VudGlsOiJv dmVyIGVlbiB3ZWVrIix3ZWVrc1VudGlsOiJvdmVyIHtkZWx0YX0gd2VrZW4iLG1v bnRoVW50aWw6Im92ZXIgZWVuIG1hYW5kIixtb250aHNVbnRpbDoib3ZlciB7ZGVs dGF9IG1hYW5kZW4iLHllYXJVbnRpbDoib3ZlciBlZW4gamFhciIseWVhcnNVbnRp bDoib3ZlciB7ZGVsdGF9IGphYXIifSk7CkxvY2FsZS5kZWZpbmUoIm5sLU5MIiwi Rm9ybVZhbGlkYXRvciIse3JlcXVpcmVkOiJEaXQgdmVsZCBpcyB2ZXJwbGljaHQu IixsZW5ndGg6IlZ1bCBwcmVjaWVzIHtsZW5ndGh9IGthcmFrdGVycyBpbiAoamUg aGVidCB7ZWxMZW5ndGh9IGthcmFrdGVycyBpbmdldm9lcmQpLiIsbWluTGVuZ3Ro OiJWdWwgbWluaW1hYWwge21pbkxlbmd0aH0ga2FyYWt0ZXJzIGluIChqZSBoZWJ0 IHtsZW5ndGh9IGthcmFrdGVycyBpbmdldm9lcmQpLiIsbWF4TGVuZ3RoOiJWdWwg bmlldCBtZWVyIGRhbiB7bWF4TGVuZ3RofSBrYXJha3RlcnMgaW4gKGplIGhlYnQg e2xlbmd0aH0ga2FyYWt0ZXJzIGluZ2V2b2VyZCkuIixpbnRlZ2VyOiJWdWwgZWVu IGdldGFsIGluLiBHZXRhbGxlbiBtZXQgZGVjaW1hbGVuIChiaWp2b29yYmVlbGQg MS4yNSkgemlqbiBuaWV0IHRvZWdlc3RhYW4uIixudW1lcmljOidWdWwgYWxsZWVu IG51bWVyaWVrZSB3YWFyZGVuIGluIChiaWp2b29yYmVlbGQgIjEiIG9mICIxLjEi IG9mICItMSIgb2YgIi0xLjEiKS4nLGRpZ2l0czoiVnVsIGFsbGVlbiBudW1tZXJz IGVuIGxlZXN0ZWtlbnMgaW4gKGJpanZvb3JiZWVsZCBlZW4gdGVsZWZvb25udW1t ZXIgbWV0IHN0cmVlcGplcyBpcyB0b2VnZXN0YWFuKS4iLGFscGhhOiJWdWwgYWxs ZWVuIGxldHRlcnMgaW4gKGEteikuIFNwYXRpZXMgZW4gYW5kZXJlIGthcmFrdGVy cyB6aWpuIG5pZXQgdG9lZ2VzdGFhbi4iLGFscGhhbnVtOiJWdWwgYWxsZWVuIGxl dHRlcnMgKGEteikgb2YgbnVtbWVycyAoMC05KSBpbi4gU3BhdGllcyBlbiBhbmRl cmUga2FyYWt0ZXJzIHppam4gbmlldCB0b2VnZXN0YWFuLiIsZGF0ZVN1Y2hBczoi VnVsIGVlbiBnZWxkaWdlIGRhdHVtIGluLCB6b2FscyB7ZGF0ZX0iLGRhdGVJbkZv cm1hdE1EWTonVnVsIGVlbiBnZWxkaWdlIGRhdHVtLCBpbiBoZXQgZm9ybWFhdCBN TS9ERC9ZWVlZIChiaWp2b29yYmVlbGQgIjEyLzMxLzE5OTkiKScsZW1haWw6J1Z1 bCBlZW4gZ2VsZGlnIGUtbWFpbGFkcmVzIGluLiBCaWp2b29yYmVlbGQgImZyZWRA ZG9tZWluLm5sIi4nLHVybDoiVnVsIGVlbiBnZWxkaWdlIFVSTCBpbiwgem9hbHMg aHR0cDovL3d3dy5leGFtcGxlLmNvbS4iLGN1cnJlbmN5RG9sbGFyOiJWdWwgZWVu IGdlbGRpZyAkIGJlZHJhZyBpbi4gQmlqdm9vcmJlZWxkICQxMDAuMDAgLiIsb25l UmVxdWlyZWQ6IlZ1bCBpZXRzIGluIGJpaiBpbiBpZWRlciBnZXZhbCBlZW4gdmFu IGRlemUgdmVsZGVuLiIsd2FybmluZ1ByZWZpeDoiV2FhcnNjaHV3aW5nOiAiLGVy cm9yUHJlZml4OiJGb3V0OiAiLG5vU3BhY2U6IlNwYXRpZXMgemlqbiBuaWV0IHRv ZWdlc3RhYW4gaW4gZGl0IHZlbGQuIixyZXFDaGtCeU5vZGU6IkVyIHppam4gZ2Vl biBpdGVtcyBnZXNlbGVjdGVlcmQuIixyZXF1aXJlZENoazoiRGl0IHZlbGQgaXMg dmVycGxpY2h0LiIscmVxQ2hrQnlOYW1lOiJTZWxlY3RlZXIgZWVuIHtsYWJlbH0u IixtYXRjaDoiRGl0IHZlbGQgbW9ldCBvdmVyZWVuIGtvbWVuIG1ldCBoZXQge21h dGNoTmFtZX0gdmVsZCIsc3RhcnREYXRlOiJkZSBiZWdpbiBkYXR1bSIsZW5kRGF0 ZToiZGUgZWluZCBkYXR1bSIsY3VycmVuZERhdGU6ImRlIGh1aWRpZ2UgZGF0dW0i LGFmdGVyRGF0ZToiRGUgZGF0dW0gbW9ldCBoZXR6ZWxmZGUgb2YgbmEge2xhYmVs fSB6aWpuLiIsYmVmb3JlRGF0ZToiRGUgZGF0dW0gbW9ldCBoZXR6ZWxmZGUgb2Yg dm9vciB7bGFiZWx9IHppam4uIixzdGFydE1vbnRoOiJTZWxlY3RlZXIgZWVuIGJl Z2luIG1hYW5kIixzYW1lTW9udGg6IkRlemUgdHdlZSBkYXRhIG1vZXRlbiBpbiBk ZXplbGZkZSBtYWFuZCB6aWpuIC0gdSBtb2V0IGVlbiB2YW4gYmVpZGUgYWFucGFz c2VuLiIsY3JlZGl0Y2FyZDoiSGV0IGluZ2V2dWxkZSBjcmVkaXRjYXJkbnVtbWVy IGlzIG5pZXQgZ2VsZGlnLiBDb250cm9sZWVyIGhldCBudW1tZXIgZW4gcHJvYmVl ciBvcG5pZXV3LiB7bGVuZ3RofSBnZXRhbGxlbiBpbmdldnVsZC4ifSk7CkxvY2Fs ZS5kZWZpbmUoIm5sLU5MIikuaW5oZXJpdCgiRVUiLCJOdW1iZXIiKTtMb2NhbGUu ZGVmaW5lKCJuby1OTyIsIkRhdGUiLHtkYXRlT3JkZXI6WyJkYXRlIiwibW9udGgi LCJ5ZWFyIl0sc2hvcnREYXRlOiIlZC4lbS4lWSIsc2hvcnRUaW1lOiIlSDolTSIs QU06IkFNIixQTToiUE0iLGZpcnN0RGF5T2ZXZWVrOjEsbGVzc1RoYW5NaW51dGVB Z286ImtvcnRlcmUgZW5uIGV0IG1pbnV0dCBzaWRlbiIsbWludXRlQWdvOiJvbXRy ZW50IGV0IG1pbnV0dCBzaWRlbiIsbWludXRlc0Fnbzoie2RlbHRhfSBtaW51dHRl ciBzaWRlbiIsaG91ckFnbzoib210cmVudCBlbiB0aW1lIHNpZGVuIixob3Vyc0Fn bzoib210cmVudCB7ZGVsdGF9IHRpbWVyIHNpZGVuIixkYXlBZ286IntkZWx0YX0g ZGFnIHNpZGVuIixkYXlzQWdvOiJ7ZGVsdGF9IGRhZ2VyIHNpZGVuIn0pOwpMb2Nh bGUuZGVmaW5lKCJuby1OTyIsIkZvcm1WYWxpZGF0b3IiLHtyZXF1aXJlZDoiRGV0 dGUgZmVsdGV0IGVyIHDDg8Kla3JldmQuIixtaW5MZW5ndGg6IlZlbm5saWdzdCBz a3JpdiBpbm4gbWluc3Qge21pbkxlbmd0aH0gdGVnbiAoZHUgc2tyZXYge2xlbmd0 aH0gdGVnbikuIixtYXhMZW5ndGg6IlZlbm5saWdzdCBza3JpdiBpbm4gbWFrc2lt YWx0IHttYXhMZW5ndGh9IHRlZ24gKGR1IHNrcmV2IHtsZW5ndGh9IHRlZ24pLiIs aW50ZWdlcjoiVmVubmxpZ3N0IHNrcml2IGlubiBldCB0YWxsIGkgZGV0dGUgZmVs dGV0LiBUYWxsIG1lZCBkZXNpbWFsZXIgKGZvciBla3NlbXBlbCAxLDI1KSBlciBp a2tlIHRpbGxhdC4iLG51bWVyaWM6J1Zlbm5saWdzdCBza3JpdiBpbm4ga3VuIG51 bWVyaXNrZSB2ZXJkaWVyIGkgZGV0dGUgZmVsdGV0IChmb3IgZWtzZW1wZWwgIjEi LCAiMS4xIiwgIi0xIiBlbGxlciAiLTEuMSIpLicsZGlnaXRzOiJWZW5ubGlnc3Qg YnJ1ayBrdW4gbnVtbWVyIG9nIHNraWxsZXRlZ24gaSBkZXR0ZSBmZWx0ZXQuIixh bHBoYToiVmVubmxpZ3N0IGJydWsga3VuIGJva3N0YXZlciAoYS16KSBpIGRldHRl IGZlbHRldC4gSW5nZW4gbWVsbG9tcm9tIGVsbGVyIGFuZHJlIHRlZ24gZXIgdGls bGF0LiIsYWxwaGFudW06IlZlbm5saWdzdCBicnVrIGt1biBib2tzdGF2ZXIgKGEt eikgZWxsZXIgbnVtbWVyICgwLTkpIGkgZGV0dGUgZmVsdGV0LiBJbmdlbiBtZWxs b21yb20gZWxsZXIgYW5kcmUgdGVnbiBlciB0aWxsYXQuIixkYXRlU3VjaEFzOiJW ZW5ubGlnc3Qgc2tyaXYgaW5uIGVuIGd5bGRpZyBkYXRvLCBzb20ge2RhdGV9Iixk YXRlSW5Gb3JtYXRNRFk6J1Zlbm5saWdzdCBza3JpdiBpbm4gZW4gZ3lsZGlnIGRh dG8sIGkgZm9ybWF0ZXQgTU0vREQvWVlZWSAoZm9yIGVrc2VtcGVsICIxMi8zMS8x OTk5IiknLGVtYWlsOidWZW5ubGlnc3Qgc2tyaXYgaW5uIGVuIGd5bGRpZyBlcG9z dC1hZHJlc3NlLiBGb3IgZWtzZW1wZWwgImVzcGVuQGRvbWVuZS5ubyIuJyx1cmw6 IlZlbm5saWdzdCBza3JpdiBpbm4gZW4gZ3lsZGlnIFVSTCwgZm9yIGVrc2VtcGVs IGh0dHA6Ly93d3cuZXhhbXBsZS5jb20uIixjdXJyZW5jeURvbGxhcjoiVmVubmxp Z3N0IGZ5bGwgdXQgZXQgZ3lsZGlnICQgYmVsw4PCuHAuIEZvciBla3NlbXBlbCAk MTAwLjAwIC4iLG9uZVJlcXVpcmVkOiJWZW5ubGlnc3QgZnlsbCB1dCBub2UgaSBt aW5zdCBldHQgYXYgZGlzc2UgZmVsdGVuZS4iLGVycm9yUHJlZml4OiJGZWlsOiAi LHdhcm5pbmdQcmVmaXg6IkFkdmFyc2VsOiAifSk7CkxvY2FsZS5kZWZpbmUoInBs LVBMIiwiRGF0ZSIse21vbnRoczpbIlN0eWN6ZcWEIiwiTHV0eSIsIk1hcnplYyIs Ikt3aWVjaWXFhCIsIk1haiIsIkN6ZXJ3aWVjIiwiTGlwaWVjIiwiU2llcnBpZcWE IiwiV3J6ZXNpZcWEIiwiUGHFumR6aWVybmlrIiwiTGlzdG9wYWQiLCJHcnVkemll xYQiXSxtb250aHNfYWJicjpbInN0eSIsImx1dCIsIm1hciIsImt3aSIsIm1haiIs ImN6ZSIsImxpcCIsInNpZSIsIndyeiIsInBhxboiLCJsaXMiLCJncnUiXSxkYXlz OlsiTmllZHppZWxhIiwiUG9uaWVkemlhxYJlayIsIld0b3JlayIsIsWacm9kYSIs IkN6d2FydGVrIiwiUGnEhXRlayIsIlNvYm90YSJdLGRheXNfYWJicjpbIm5pZWR6 LiIsInBvbi4iLCJ3dC4iLCLFm3IuIiwiY3p3LiIsInB0LiIsInNvYi4iXSxkYXRl T3JkZXI6WyJ5ZWFyIiwibW9udGgiLCJkYXRlIl0sc2hvcnREYXRlOiIlWS0lbS0l ZCIsc2hvcnRUaW1lOiIlSDolTSIsQU06Im5hZCByYW5lbSIsUE06InBvIHBvxYJ1 ZG5pdSIsZmlyc3REYXlPZldlZWs6MSxvcmRpbmFsOmZ1bmN0aW9uKGEpe3JldHVy bihhPjMmJmE8MjEpPyJ0eSI6WyJ0eSIsInN6eSIsImdpIiwiY2kiLCJ0eSJdW01h dGgubWluKGElMTAsNCldOwp9LGxlc3NUaGFuTWludXRlQWdvOiJtbmllaiBuacW8 IG1pbnV0ZSB0ZW11IixtaW51dGVBZ286Im9rb8WCbyBtaW51dMSZIHRlbXUiLG1p bnV0ZXNBZ286IntkZWx0YX0gbWludXQgdGVtdSIsaG91ckFnbzoib2tvxYJvIGdv ZHppbsSZIHRlbXUiLGhvdXJzQWdvOiJva2/Fgm8ge2RlbHRhfSBnb2R6aW4gdGVt dSIsZGF5QWdvOiJXY3pvcmFqIixkYXlzQWdvOiJ7ZGVsdGF9IGRuaSB0ZW11Iixs ZXNzVGhhbk1pbnV0ZVVudGlsOiJ6YSBuaWVjYcWCxIUgbWludXTEmSIsbWludXRl VW50aWw6InphIG9rb8WCbyBtaW51dMSZIixtaW51dGVzVW50aWw6InphIHtkZWx0 YX0gbWludXQiLGhvdXJVbnRpbDoiemEgb2tvxYJvIGdvZHppbsSZIixob3Vyc1Vu dGlsOiJ6YSBva2/Fgm8ge2RlbHRhfSBnb2R6aW4iLGRheVVudGlsOiJ6YSAxIGR6 aWXFhCIsZGF5c1VudGlsOiJ6YSB7ZGVsdGF9IGRuaSJ9KTsKTG9jYWxlLmRlZmlu ZSgicGwtUEwiLCJGb3JtVmFsaWRhdG9yIix7cmVxdWlyZWQ6IlRvIHBvbGUgamVz dCB3eW1hZ2FuZS4iLG1pbkxlbmd0aDoiV3ltYWdhbmUgamVzdCBwcnp5bmFqbW5p ZWoge21pbkxlbmd0aH0gem5ha8OzdyAod3Bpc2FueWNoIHpvc3RhxYJvIHR5bGtv IHtsZW5ndGh9KS4iLG1heExlbmd0aDoiRG96d29sb25lIGplc3QgbmllIHdpxJlj ZWogbmnFvCB7bWF4TGVuZ3RofSB6bmFrw7N3ICh3cGlzYW55Y2ggem9zdGHFgm8g e2xlbmd0aH0pIixpbnRlZ2VyOiJUbyBwb2xlIHd5bWFnYSBsaWN6YiBjYcWCeWNo LiBMaWN6YnkgZHppZXNpxJl0bmUgKG5wLiAxLjI1KSBzxIUgbmllZG96d29sb25l LiIsbnVtZXJpYzonUHJvc2lteSB1xbx5d2HEhyB0eWxrbyBudW1lcnljem55Y2gg d2FydG/Fm2NpIHcgdHltIHBvbHUgKG5wLiAiMSIsICIxLjEiLCAiLTEiIGx1YiAi LTEuMSIpLicsZGlnaXRzOiJQcm9zaW15IHXFvHl3YcSHIGxpY3piIG9yYXogemFu a293IHB1bmt0dWFjeWpueWNoIHcgdHlwIHBvbHUgKGRsYSBwcnp5a8WCYWR1LCBw cnp5IG51bWVyemUgdGVsZWZvbnUgbXnFm2xuaWtpIGkga3JvcGtpIHPEhSBkb3p3 b2xvbmUpLiIsYWxwaGE6IlByb3NpbXkgdcW8eXdhxIcgdHlsa28gbGl0ZXIgKGEt eikgdyB0eW0gcG9sdS4gU3BhY2plIG9yYXogaW5uZSB6bmFraSBzxIUgbmllZG96 d29sb25lLiIsYWxwaGFudW06IlByb3NpbXkgdcW8eXdhxIcgdHlsa28gbGl0ZXIg KGEteikgbHViIGxpY3piICgwLTkpIHcgdHltIHBvbHUuIFNwYWNqZSBvcmF6IGlu bmUgem5ha2kgc8SFIG5pZWRvendvbG9uZS4iLGRhdGVTdWNoQXM6IlByb3NpbXkg cG9kYcSHIHByYXdpZMWCb3fEhSBkYXTEmSB3IGZvcm1hY2llOiB7ZGF0ZX0iLGRh dGVJbkZvcm1hdE1EWTonUHJvc2lteSBwb2RhxIcgcG9wcmF3bsSFIGRhdGUgdyBm b3JtYWNpZSBERC5NTS5SUlJSIChpLmUuICIxMi4wMS4yMDA5IiknLGVtYWlsOidQ cm9zaW15IHBvZGHEhyBwcmF3aWTFgm93eSBhZHJlcyBlLW1haWwsIG5wLiAiamFu QGRvbWVuYS5wbCIuJyx1cmw6IlByb3NpbXkgcG9kYcSHIHByYXdpZMWCb3d5IGFk cmVzIFVSTCwgbnAuIGh0dHA6Ly93d3cuZXhhbXBsZS5jb20uIixjdXJyZW5jeURv bGxhcjoiUHJvc2lteSBwb2RhxIcgcHJhd2lkxYJvd8SFIHN1bcSZIHcgUExOLiBE bGEgcHJ6eWvFgmFkdTogMTAwLjAwIFBMTi4iLG9uZVJlcXVpcmVkOiJQcm9zaW15 IHd5cGXFgm5pxIcgY2hvY2lhxbwgamVkbm8geiBww7NsLiIsZXJyb3JQcmVmaXg6 IkLFgsSFZDogIix3YXJuaW5nUHJlZml4OiJVd2FnYTogIixub1NwYWNlOiJXIHR5 bSBwb2x1IG5pZSBtb2fEhSB6bmFqZG93YcSHIHNpxJkgc3BhY2plLiIscmVxQ2hr QnlOb2RlOiJCcmFrIHphem5hY3pvbnljaCBlbGVtZW50w7N3LiIscmVxdWlyZWRD aGs6IlRvIHBvbGUgamVzdCB3eW1hZ2FuZS4iLHJlcUNoa0J5TmFtZToiUHJvc2lt eSB3eWJyYcSHIHoge2xhYmVsfS4iLG1hdGNoOiJUbyBwb2xlIG11c2kgYnnEhyB0 YWtpZSBzYW1vIGphayB7bWF0Y2hOYW1lfSIsc3RhcnREYXRlOiJkYXRhIHBvY3rE hXRrb3dhIixlbmREYXRlOiJkYXRhIGtvxYRjb3dhIixjdXJyZW5kRGF0ZToiYWt0 dWFsbmEgZGF0YSIsYWZ0ZXJEYXRlOiJQb2RhbmEgZGF0YSBwb2lubmEgYnnEhyB0 YWthIHNhbWEgbHViIHBvIHtsYWJlbH0uIixiZWZvcmVEYXRlOiJQb2RhbmEgZGF0 YSBwb2lubmEgYnnEhyB0YWthIHNhbWEgbHViIHByemVkIHtsYWJlbH0uIixzdGFy dE1vbnRoOiJQcm9zaW15IHd5YnJhxIcgcG9jesSFdGtvd3kgbWllc2nEhWMuIixz YW1lTW9udGg6IlRlIGR3aWUgZGF0eSBtdXN6xIUgYnnEhyB3IHpha3Jlc2llIHRl Z28gc2FtZWdvIG1pZXNpxIVjYSAtIHd5bWFnYW5hIGplc3Qgem1pYW5hIGt0w7Ny ZWdvxZsgeiBww7NsLiJ9KTsKTG9jYWxlLmRlZmluZSgicHQtUFQiLCJEYXRlIix7 bW9udGhzOlsiSmFuZWlybyIsIkZldmVyZWlybyIsIk1hcsOnbyIsIkFicmlsIiwi TWFpbyIsIkp1bmhvIiwiSnVsaG8iLCJBZ29zdG8iLCJTZXRlbWJybyIsIk91dHVi cm8iLCJOb3ZlbWJybyIsIkRlemVtYnJvIl0sbW9udGhzX2FiYnI6WyJKYW4iLCJG ZXYiLCJNYXIiLCJBYnIiLCJNYWkiLCJKdW4iLCJKdWwiLCJBZ28iLCJTZXQiLCJP dXQiLCJOb3YiLCJEZXoiXSxkYXlzOlsiRG9taW5nbyIsIlNlZ3VuZGEtZmVpcmEi LCJUZXLDp2EtZmVpcmEiLCJRdWFydGEtZmVpcmEiLCJRdWludGEtZmVpcmEiLCJT ZXh0YS1mZWlyYSIsIlPDoWJhZG8iXSxkYXlzX2FiYnI6WyJEb20iLCJTZWciLCJU ZXIiLCJRdWEiLCJRdWkiLCJTZXgiLCJTw6FiIl0sZGF0ZU9yZGVyOlsiZGF0ZSIs Im1vbnRoIiwieWVhciJdLHNob3J0RGF0ZToiJWQtJW0tJVkiLHNob3J0VGltZToi JUg6JU0iLEFNOiJBTSIsUE06IlBNIixmaXJzdERheU9mV2VlazoxLG9yZGluYWw6 IsK6IixsZXNzVGhhbk1pbnV0ZUFnbzoiaMOhIG1lbm9zIGRlIHVtIG1pbnV0byIs bWludXRlQWdvOiJow6EgY2VyY2EgZGUgdW0gbWludXRvIixtaW51dGVzQWdvOiJo w6Ege2RlbHRhfSBtaW51dG9zIixob3VyQWdvOiJow6EgY2VyY2EgZGUgdW1hIGhv cmEiLGhvdXJzQWdvOiJow6EgY2VyY2EgZGUge2RlbHRhfSBob3JhcyIsZGF5QWdv OiJow6EgdW0gZGlhIixkYXlzQWdvOiJow6Ege2RlbHRhfSBkaWFzIix3ZWVrQWdv OiJow6EgdW1hIHNlbWFuYSIsd2Vla3NBZ286ImjDoSB7ZGVsdGF9IHNlbWFuYXMi LG1vbnRoQWdvOiJow6EgdW0gbcOqcyIsbW9udGhzQWdvOiJow6Ege2RlbHRhfSBt ZXNlcyIseWVhckFnbzoiaMOhIHVtIGFubyIseWVhcnNBZ286ImjDoSB7ZGVsdGF9 IGFub3MiLGxlc3NUaGFuTWludXRlVW50aWw6ImVtIG1lbm9zIGRlIHVtIG1pbnV0 byIsbWludXRlVW50aWw6ImVtIHVtIG1pbnV0byIsbWludXRlc1VudGlsOiJlbSB7 ZGVsdGF9IG1pbnV0b3MiLGhvdXJVbnRpbDoiZW0gdW1hIGhvcmEiLGhvdXJzVW50 aWw6ImVtIHtkZWx0YX0gaG9yYXMiLGRheVVudGlsOiJlbSB1bSBkaWEiLGRheXNV bnRpbDoiZW0ge2RlbHRhfSBkaWFzIix3ZWVrVW50aWw6ImVtIHVtYSBzZW1hbmEi LHdlZWtzVW50aWw6ImVtIHtkZWx0YX0gc2VtYW5hcyIsbW9udGhVbnRpbDoiZW0g dW0gbcOqcyIsbW9udGhzVW50aWw6ImVtIHtkZWx0YX0gbWVzZXMiLHllYXJVbnRp bDoiZW0gdW0gYW5vIix5ZWFyc1VudGlsOiJlbSB7ZGVsdGF9IGFub3MifSk7Ckxv Y2FsZS5kZWZpbmUoInB0LUJSIiwiRGF0ZSIse3Nob3J0RGF0ZToiJWQvJW0vJVki fSkuaW5oZXJpdCgicHQtUFQiLCJEYXRlIik7TG9jYWxlLmRlZmluZSgicHQtQlIi LCJGb3JtVmFsaWRhdG9yIix7cmVxdWlyZWQ6IkVzdGUgY2FtcG8gw6kgb2JyaWdh dMOzcmlvLiIsbWluTGVuZ3RoOiJEaWdpdGUgcGVsbyBtZW5vcyB7bWluTGVuZ3Ro fSBjYXJhY3RlcmVzICh0YW1hbmhvIGF0dWFsOiB7bGVuZ3RofSkuIixtYXhMZW5n dGg6Ik7Do28gZGlnaXRlIG1haXMgZGUge21heExlbmd0aH0gY2FyYWN0ZXJlcyAo dGFtYW5obyBhdHVhbDoge2xlbmd0aH0pLiIsaW50ZWdlcjoiUG9yIGZhdm9yIGRp Z2l0ZSBhcGVuYXMgdW0gbsO6bWVybyBpbnRlaXJvIG5lc3RlIGNhbXBvLiBOw6Nv IHPDo28gcGVybWl0aWRvcyBuw7ptZXJvcyBkZWNpbWFpcyAocG9yIGV4ZW1wbG8s IDEsMjUpLiIsbnVtZXJpYzonUG9yIGZhdm9yIGRpZ2l0ZSBhcGVuYXMgdmFsb3Jl cyBudW3DqXJpY29zIG5lc3RlIGNhbXBvIChwb3IgZXhlbXBsbywgIjEiIG91ICIx LjEiIG91ICItMSIgb3UgIi0xLDEiKS4nLGRpZ2l0czoiUG9yIGZhdm9yIHVzZSBh cGVuYXMgbsO6bWVyb3MgZSBwb250dWHDp8OjbyBuZXN0ZSBjYW1wbyAocG9yIGV4 ZW1wbG8sIHVtIG7Dum1lcm8gZGUgdGVsZWZvbmUgY29tIHRyYcOnb3Mgb3UgcG9u dG9zIMOpIHBlcm1pdGlkbykuIixhbHBoYToiUG9yIGZhdm9yIHVzZSBzb21lbnRl IGxldHJhcyAoYS16KS4gRXNwYcOnbyBlIG91dHJvcyBjYXJhY3RlcmVzIG7Do28g c8OjbyBwZXJtaXRpZG9zLiIsYWxwaGFudW06IlVzZSBzb21lbnRlIGxldHJhcyAo YS16KSBvdSBuw7ptZXJvcyAoMC05KSBuZXN0ZSBjYW1wby4gRXNwYcOnbyBlIG91 dHJvcyBjYXJhY3RlcmVzIG7Do28gc8OjbyBwZXJtaXRpZG9zLiIsZGF0ZVN1Y2hB czoiRGlnaXRlIHVtYSBkYXRhIHbDoWxpZGEsIGNvbW8ge2RhdGV9IixkYXRlSW5G b3JtYXRNRFk6J0RpZ2l0ZSB1bWEgZGF0YSB2w6FsaWRhLCBjb21vIEREL01NL1lZ WVkgKHBvciBleGVtcGxvLCAiMzEvMTIvMTk5OSIpJyxlbWFpbDonRGlnaXRlIHVt IGVuZGVyZcOnbyBkZSBlbWFpbCB2w6FsaWRvLiBQb3IgZXhlbXBsbyAibm9tZUBk b21pbmlvLmNvbSIuJyx1cmw6IkRpZ2l0ZSB1bWEgVVJMIHbDoWxpZGEuIEV4ZW1w bG86IGh0dHA6Ly93d3cuZXhhbXBsZS5jb20uIixjdXJyZW5jeURvbGxhcjoiRGln aXRlIHVtIHZhbG9yIGVtIGRpbmhlaXJvIHbDoWxpZG8uIEV4ZW1wbG86IFIkMTAw LDAwIC4iLG9uZVJlcXVpcmVkOiJEaWdpdGUgYWxnbyBwYXJhIHBlbG8gbWVub3Mg dW0gZGVzc2VzIGNhbXBvcy4iLGVycm9yUHJlZml4OiJFcnJvOiAiLHdhcm5pbmdQ cmVmaXg6IkF2aXNvOiAiLG5vU3BhY2U6Ik7Do28gw6kgcG9zc8OtdmVsIGRpZ2l0 YXIgZXNwYcOnb3MgbmVzdGUgY2FtcG8uIixyZXFDaGtCeU5vZGU6Ik7Do28gZm9p IHNlbGVjaW9uYWRvIG5lbmh1bSBpdGVtLiIscmVxdWlyZWRDaGs6IkVzdGUgY2Ft cG8gw6kgb2JyaWdhdMOzcmlvLiIscmVxQ2hrQnlOYW1lOiJQb3IgZmF2b3IgZGln aXRlIHVtIHtsYWJlbH0uIixtYXRjaDoiRXN0ZSBjYW1wbyBkZXZlIHNlciBpZ3Vh bCBhbyBjYW1wbyB7bWF0Y2hOYW1lfS4iLHN0YXJ0RGF0ZToiYSBkYXRhIGluaWNp YWwiLGVuZERhdGU6ImEgZGF0YSBmaW5hbCIsY3VycmVuZERhdGU6ImEgZGF0YSBh dHVhbCIsYWZ0ZXJEYXRlOiJBIGRhdGEgZGV2ZSBzZXIgaWd1YWwgb3UgcG9zdGVy aW9yIGEge2xhYmVsfS4iLGJlZm9yZURhdGU6IkEgZGF0YSBkZXZlIHNlciBpZ3Vh bCBvdSBhbnRlcmlvciBhIHtsYWJlbH0uIixzdGFydE1vbnRoOiJQb3IgZmF2b3Ig c2VsZWNpb25lIHVtYSBkYXRhIGluaWNpYWwuIixzYW1lTW9udGg6IkVzdGFzIGR1 YXMgZGF0YXMgZGV2ZW0gdGVyIG8gbWVzbW8gbcOqcyAtIHZvY8OqIGRldmUgbW9k aWZpY2FyIHVtYSBkYXMgZHVhcy4iLGNyZWRpdGNhcmQ6Ik8gbsO6bWVybyBkbyBj YXJ0w6NvIGRlIGNyw6lkaXRvIGluZm9ybWFkbyDDqSBpbnbDoWxpZG8uIFBvciBm YXZvciB2ZXJpZmlxdWUgbyB2YWxvciBlIHRlbnRlIG5vdmFtZW50ZS4ge2xlbmd0 aH0gbsO6bWVyb3MgaW5mb3JtYWRvcy4ifSk7CkxvY2FsZS5kZWZpbmUoInB0LVBU IiwiRm9ybVZhbGlkYXRvciIse3JlcXVpcmVkOiJFc3RlIGNhbXBvIMOpIG5lY2Vz c8OhcmlvLiIsbWluTGVuZ3RoOiJEaWdpdGUgcGVsbyBtZW5vc3ttaW5MZW5ndGh9 IGNhcmFjdGVyZXMgKGNvbXByaW1lbnRvIHtsZW5ndGh9IGNhcmFjdGVyZXMpLiIs bWF4TGVuZ3RoOiJOw6NvIGluc2lyYSBtYWlzIGRlIHttYXhMZW5ndGh9IGNhcmFj dGVyZXMgKGNvbXByaW1lbnRvIHtsZW5ndGh9IGNhcmFjdGVyZXMpLiIsaW50ZWdl cjoiRGlnaXRlIHVtIG7Dum1lcm8gaW50ZWlybyBuZXN0ZSBkb23DrW5pby4gQ29t IG7Dum1lcm9zIGRlY2ltYWlzIChwb3IgZXhlbXBsbywgMSwyNSksIG7Do28gc8Oj byBwZXJtaXRpZGFzLiIsbnVtZXJpYzonRGlnaXRlIGFwZW5hcyB2YWxvcmVzIG51 bcOpcmljb3MgbmVzdGUgZG9tw61uaW8gKHAuZXguLCAiMSIgb3UgIjEuMSIgb3Ug Ii0xIiBvdSAiLTEsMSIpLicsZGlnaXRzOiJQb3IgZmF2b3IsIHVzZSBuw7ptZXJv cyBlIHBvbnR1YcOnw6NvIGFwZW5hcyBuZXN0ZSBjYW1wbyAocC5leC4sIHVtIG7D um1lcm8gZGUgdGVsZWZvbmUgY29tIHRyYcOnb3Mgb3UgcG9udG9zIMOpIHBlcm1p dGlkYSkuIixhbHBoYToiUG9yIGZhdm9yIHVzZSBzb21lbnRlIGxldHJhcyAoYS16 KSwgY29tIG5lc3RhIMOhcmVhLiBOw6NvIHV0aWxpemUgZXNwYcOnb3MgbmVtIG91 dHJvcyBjYXJhY3RlcmVzIHPDo28gcGVybWl0aWRvcy4iLGFscGhhbnVtOiJVc2Ug c29tZW50ZSBsZXRyYXMgKGEteikgb3UgbsO6bWVyb3MgKDAtOSkgbmVzdGUgY2Ft cG8uIE7Do28gdXRpbGl6ZSBlc3Bhw6dvcyBuZW0gb3V0cm9zIGNhcmFjdGVyZXMg c8OjbyBwZXJtaXRpZG9zLiIsZGF0ZVN1Y2hBczoiRGlnaXRlIHVtYSBkYXRhIHbD oWxpZGEsIGNvbW8ge2RhdGV9IixkYXRlSW5Gb3JtYXRNRFk6J0RpZ2l0ZSB1bWEg ZGF0YSB2w6FsaWRhLCBjb21vIEREL01NL1lZWVkgKHAuZXguICIzMS8xMi8xOTk5 IiknLGVtYWlsOidEaWdpdGUgdW0gZW5kZXJlw6dvIGRlIGVtYWlsIHbDoWxpZG8u IFBvciBleGVtcGxvICJmcmVkQGRvbWFpbi5jb20iLicsdXJsOiJEaWdpdGUgdW1h IFVSTCB2w6FsaWRhLCBjb21vIGh0dHA6Ly93d3cuZXhhbXBsZS5jb20uIixjdXJy ZW5jeURvbGxhcjoiRGlnaXRlIHVtIHZhbG9yIHbDoWxpZG8gJC4gUG9yIGV4ZW1w bG8gJCAxMDAsMDAuICIsb25lUmVxdWlyZWQ6IkRpZ2l0ZSBhbGdvIHBhcmEgcGVs byBtZW5vcyB1bSBkZXNzZXMgaW5zdW1vcy4iLGVycm9yUHJlZml4OiJFcnJvOiAi LHdhcm5pbmdQcmVmaXg6IkF2aXNvOiAifSk7CihmdW5jdGlvbigpe3ZhciBhPWZ1 bmN0aW9uKGgsZSxkLGcsYil7dmFyIGM9aCUxMCxmPWglMTAwO2lmKGM9PTEmJmYh PTExKXtyZXR1cm4gZTt9ZWxzZXtpZigoYz09Mnx8Yz09M3x8Yz09NCkmJiEoZj09 MTJ8fGY9PTEzfHxmPT0xNCkpe3JldHVybiBkO31lbHNle2lmKGM9PTB8fChjPT01 fHxjPT02fHxjPT03fHxjPT04fHxjPT05KXx8KGY9PTExfHxmPT0xMnx8Zj09MTN8 fGY9PTE0KSl7cmV0dXJuIGc7Cn1lbHNle3JldHVybiBiO319fX07TG9jYWxlLmRl ZmluZSgicnUtUlUiLCJEYXRlIix7bW9udGhzOlsi0K/QvdCy0LDRgNGMIiwi0KTQ tdCy0YDQsNC70YwiLCLQnNCw0YDRgiIsItCQ0L/RgNC10LvRjCIsItCc0LDQuSIs ItCY0Y7QvdGMIiwi0JjRjtC70YwiLCLQkNCy0LPRg9GB0YIiLCLQodC10L3RgtGP 0LHRgNGMIiwi0J7QutGC0Y/QsdGA0YwiLCLQndC+0Y/QsdGA0YwiLCLQlNC10LrQ sNCx0YDRjCJdLG1vbnRoc19hYmJyOlsi0Y/QvdCyIiwi0YTQtdCy0YAiLCLQvNCw 0YDRgiIsItCw0L/RgCIsItC80LDQuSIsItC40Y7QvdGMIiwi0LjRjtC70YwiLCLQ sNCy0LMiLCLRgdC10L3RgiIsItC+0LrRgiIsItC90L7Rj9CxIiwi0LTQtdC6Il0s ZGF5czpbItCS0L7RgdC60YDQtdGB0LXQvdGM0LUiLCLQn9C+0L3QtdC00LXQu9GM 0L3QuNC6Iiwi0JLRgtC+0YDQvdC40LoiLCLQodGA0LXQtNCwIiwi0KfQtdGC0LLQ tdGA0LMiLCLQn9GP0YLQvdC40YbQsCIsItCh0YPQsdCx0L7RgtCwIl0sZGF5c19h YmJyOlsi0JLRgSIsItCf0L0iLCLQktGCIiwi0KHRgCIsItCn0YIiLCLQn9GCIiwi 0KHQsSJdLGRhdGVPcmRlcjpbImRhdGUiLCJtb250aCIsInllYXIiXSxzaG9ydERh dGU6IiVkLiVtLiVZIixzaG9ydFRpbWU6IiVIOiVNIixBTToiQU0iLFBNOiJQTSIs Zmlyc3REYXlPZldlZWs6MSxvcmRpbmFsOiIiLGxlc3NUaGFuTWludXRlQWdvOiLQ vNC10L3RjNGI0LUg0LzQuNC90YPRgtGLINC90LDQt9Cw0LQiLG1pbnV0ZUFnbzoi 0LzQuNC90YPRgtGDINC90LDQt9Cw0LQiLG1pbnV0ZXNBZ286ZnVuY3Rpb24oYil7 cmV0dXJuIntkZWx0YX0gIithKGIsItC80LjQvdGD0YLRgyIsItC80LjQvdGD0YLR iyIsItC80LjQvdGD0YIiKSsiINC90LDQt9Cw0LQiOwp9LGhvdXJBZ286ItGH0LDR gSDQvdCw0LfQsNC0Iixob3Vyc0FnbzpmdW5jdGlvbihiKXtyZXR1cm4ie2RlbHRh fSAiK2EoYiwi0YfQsNGBIiwi0YfQsNGB0LAiLCLRh9Cw0YHQvtCyIikrIiDQvdCw 0LfQsNC0Ijt9LGRheUFnbzoi0LLRh9C10YDQsCIsZGF5c0FnbzpmdW5jdGlvbihi KXtyZXR1cm4ie2RlbHRhfSAiK2EoYiwi0LTQtdC90YwiLCLQtNC90Y8iLCLQtNC9 0LXQuSIpKyIg0L3QsNC30LDQtCI7Cn0sd2Vla0Fnbzoi0L3QtdC00LXQu9GOINC9 0LDQt9Cw0LQiLHdlZWtzQWdvOmZ1bmN0aW9uKGIpe3JldHVybiJ7ZGVsdGF9ICIr YShiLCLQvdC10LTQtdC70Y8iLCLQvdC10LTQtdC70LgiLCLQvdC10LTQtdC70Ywi KSsiINC90LDQt9Cw0LQiO30sbW9udGhBZ286ItC80LXRgdGP0YYg0L3QsNC30LDQ tCIsbW9udGhzQWdvOmZ1bmN0aW9uKGIpe3JldHVybiJ7ZGVsdGF9ICIrYShiLCLQ vNC10YHRj9GGIiwi0LzQtdGB0Y/RhtCwIiwi0LzQtdGB0LXRhtC10LIiKSsiINC9 0LDQt9Cw0LQiOwp9LHllYXJBZ286ItCz0L7QtCDQvdCw0LfQsNC0Iix5ZWFyc0Fn bzpmdW5jdGlvbihiKXtyZXR1cm4ie2RlbHRhfSAiK2EoYiwi0LPQvtC0Iiwi0LPQ vtC00LAiLCLQu9C10YIiKSsiINC90LDQt9Cw0LQiO30sbGVzc1RoYW5NaW51dGVV bnRpbDoi0LzQtdC90YzRiNC1INGH0LXQvCDRh9C10YDQtdC3INC80LjQvdGD0YLR gyIsbWludXRlVW50aWw6ItGH0LXRgNC10Lcg0LzQuNC90YPRgtGDIixtaW51dGVz VW50aWw6ZnVuY3Rpb24oYil7cmV0dXJuItGH0LXRgNC10Lcge2RlbHRhfSAiK2Eo Yiwi0YfQsNGBIiwi0YfQsNGB0LAiLCLRh9Cw0YHQvtCyIikrIiI7Cn0saG91clVu dGlsOiLRh9C10YDQtdC3INGH0LDRgSIsaG91cnNVbnRpbDpmdW5jdGlvbihiKXty ZXR1cm4i0YfQtdGA0LXQtyB7ZGVsdGF9ICIrYShiLCLRh9Cw0YEiLCLRh9Cw0YHQ sCIsItGH0LDRgdC+0LIiKSsiIjt9LGRheVVudGlsOiLQt9Cw0LLRgtGA0LAiLGRh eXNVbnRpbDpmdW5jdGlvbihiKXtyZXR1cm4i0YfQtdGA0LXQtyB7ZGVsdGF9ICIr YShiLCLQtNC10L3RjCIsItC00L3RjyIsItC00L3QtdC5IikrIiI7Cn0sd2Vla1Vu dGlsOiLRh9C10YDQtdC3INC90LXQtNC10LvRjiIsd2Vla3NVbnRpbDpmdW5jdGlv bihiKXtyZXR1cm4i0YfQtdGA0LXQtyB7ZGVsdGF9ICIrYShiLCLQvdC10LTQtdC7 0Y4iLCLQvdC10LTQtdC70LgiLCLQvdC10LTQtdC70YwiKSsiIjt9LG1vbnRoVW50 aWw6ItGH0LXRgNC10Lcg0LzQtdGB0Y/RhiIsbW9udGhzVW50aWw6ZnVuY3Rpb24o Yil7cmV0dXJuItGH0LXRgNC10Lcge2RlbHRhfSAiK2EoYiwi0LzQtdGB0Y/RhiIs ItC80LXRgdGP0YbQsCIsItC80LXRgdC10YbQtdCyIikrIiI7Cn0seWVhclVudGls OiLRh9C10YDQtdC3Iix5ZWFyc1VudGlsOmZ1bmN0aW9uKGIpe3JldHVybiLRh9C1 0YDQtdC3IHtkZWx0YX0gIithKGIsItCz0L7QtCIsItCz0L7QtNCwIiwi0LvQtdGC IikrIiI7fX0pO30pKCk7TG9jYWxlLmRlZmluZSgicnUtUlUiLCJGb3JtVmFsaWRh dG9yIix7cmVxdWlyZWQ6ItCt0YLQviDQv9C+0LvQtSDQvtCx0Y/Qt9Cw0YLQtdC7 0YzQvdC+INC6INC30LDQv9C+0LvQvdC10L3QuNGOLiIsbWluTGVuZ3RoOiLQn9C+ 0LbQsNC70YPQudGB0YLQsCwg0LLQstC10LTQuNGC0LUg0YXQvtGC0Y8g0LHRiyB7 bWluTGVuZ3RofSDRgdC40LzQstC+0LvQvtCyICjQktGLINCy0LLQtdC70Lgge2xl bmd0aH0pLiIsbWF4TGVuZ3RoOiLQn9C+0LbQsNC70YPQudGB0YLQsCwg0LLQstC1 0LTQuNGC0LUg0L3QtSDQsdC+0LvRjNGI0LUge21heExlbmd0aH0g0YHQuNC80LLQ vtC70L7QsiAo0JLRiyDQstCy0LXQu9C4IHtsZW5ndGh9KS4iLGludGVnZXI6ItCf 0L7QttCw0LvRg9C50YHRgtCwLCDQstCy0LXQtNC40YLQtSDQsiDRjdGC0L4g0L/Q vtC70LUg0YfQuNGB0LvQvi4g0JTRgNC+0LHQvdGL0LUg0YfQuNGB0LvQsCAo0L3Q sNC/0YDQuNC80LXRgCAxLjI1KSDRgtGD0YIg0L3QtSDRgNCw0LfRgNC10YjQtdC9 0YsuIixudW1lcmljOifQn9C+0LbQsNC70YPQudGB0YLQsCwg0LLQstC10LTQuNGC 0LUg0LIg0Y3RgtC+INC/0L7Qu9C1INGH0LjRgdC70L4gKNC90LDQv9GA0LjQvNC1 0YAgIjEiINC40LvQuCAiMS4xIiwg0LjQu9C4ICItMSIsINC40LvQuCAiLTEuMSIp LicsZGlnaXRzOiLQkiDRjdGC0L7QvCDQv9C+0LvQtSDQktGLINC80L7QttC10YLQ tSDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YLQvtC70YzQutC+INGG0LjRhNGA 0Ysg0Lgg0LfQvdCw0LrQuCDQv9GD0L3QutGC0YPQsNGG0LjQuCAo0L3QsNC/0YDQ uNC80LXRgCwg0YLQtdC70LXRhNC+0L3QvdGL0Lkg0L3QvtC80LXRgCDRgdC+INC3 0L3QsNC60LDQvNC4INC00LXRhNC40YHQsCDQuNC70Lgg0YEg0YLQvtGH0LrQsNC8 0LgpLiIsYWxwaGE6ItCSINGN0YLQvtC8INC/0L7Qu9C1INC80L7QttC90L4g0LjR gdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGC0L7Qu9GM0LrQviDQu9Cw0YLQuNC90YHQ utC40LUg0LHRg9C60LLRiyAoYS16KS4g0J/RgNC+0LHQtdC70Ysg0Lgg0LTRgNGD 0LPQuNC1INGB0LjQvNCy0L7Qu9GLINC30LDQv9GA0LXRidC10L3Riy4iLGFscGhh bnVtOiLQkiDRjdGC0L7QvCDQv9C+0LvQtSDQvNC+0LbQvdC+INC40YHQv9C+0LvR jNC30L7QstCw0YLRjCDRgtC+0LvRjNC60L4g0LvQsNGC0LjQvdGB0LrQuNC1INCx 0YPQutCy0YsgKGEteikg0Lgg0YbQuNGE0YDRiyAoMC05KS4g0J/RgNC+0LHQtdC7 0Ysg0Lgg0LTRgNGD0LPQuNC1INGB0LjQvNCy0L7Qu9GLINC30LDQv9GA0LXRidC1 0L3Riy4iLGRhdGVTdWNoQXM6ItCf0L7QttCw0LvRg9C50YHRgtCwLCDQstCy0LXQ tNC40YLQtSDQutC+0YDRgNC10LrRgtC90YPRjiDQtNCw0YLRgyB7ZGF0ZX0iLGRh dGVJbkZvcm1hdE1EWTon0J/QvtC20LDQu9GD0LnRgdGC0LAsINCy0LLQtdC00LjR gtC1INC00LDRgtGDINCyINGE0L7RgNC80LDRgtC1INCc0Jwv0JTQlC/Qk9CT0JPQ kyAo0L3QsNC/0YDQuNC80LXRgCAiMTIvMzEvMTk5OSIpJyxlbWFpbDon0J/QvtC2 0LDQu9GD0LnRgdGC0LAsINCy0LLQtdC00LjRgtC1INC60L7RgNGA0LXQutGC0L3R i9C5INC10LzQtdC50Lst0LDQtNGA0LXRgS4g0JTQu9GPINC/0YDQuNC80LXRgNCw ICJmcmVkQGRvbWFpbi5jb20iLicsdXJsOiLQn9C+0LbQsNC70YPQudGB0YLQsCwg 0LLQstC10LTQuNGC0LUg0L/RgNCw0LLQuNC70YzQvdGD0Y4g0YHRgdGL0LvQutGD INCy0LjQtNCwIGh0dHA6Ly93d3cuZXhhbXBsZS5jb20uIixjdXJyZW5jeURvbGxh cjoi0J/QvtC20LDQu9GD0LnRgdGC0LAsINCy0LLQtdC00LjRgtC1INGB0YPQvNC8 0YMg0LIg0LTQvtC70LvQsNGA0LDRhS4g0J3QsNC/0YDQuNC80LXRgDogJDEwMC4w MCAuIixvbmVSZXF1aXJlZDoi0J/QvtC20LDQu9GD0LnRgdGC0LAsINCy0YvQsdC1 0YDQuNGC0LUg0YXQvtGC0Ywg0YfRgtC+LdC90LjQsdGD0LTRjCDQsiDQvtC00L3Q vtC8INC40Lcg0Y3RgtC40YUg0L/QvtC70LXQuS4iLGVycm9yUHJlZml4OiLQntGI 0LjQsdC60LA6ICIsd2FybmluZ1ByZWZpeDoi0JLQvdC40LzQsNC90LjQtTogIn0p OwooZnVuY3Rpb24oKXt2YXIgYT1mdW5jdGlvbihmLGQsYyxlLGIpe3JldHVybihm Pj0xJiZmPD0zKT9hcmd1bWVudHNbZl06Yjt9O0xvY2FsZS5kZWZpbmUoInNpLVNJ IiwiRGF0ZSIse21vbnRoczpbImphbnVhciIsImZlYnJ1YXIiLCJtYXJlYyIsImFw cmlsIiwibWFqIiwianVuaWoiLCJqdWxpaiIsImF2Z3VzdCIsInNlcHRlbWJlciIs Im9rdG9iZXIiLCJub3ZlbWJlciIsImRlY2VtYmVyIl0sbW9udGhzX2FiYnI6WyJq YW4iLCJmZWIiLCJtYXIiLCJhcHIiLCJtYWoiLCJqdW4iLCJqdWwiLCJhdmciLCJz ZXAiLCJva3QiLCJub3YiLCJkZWMiXSxkYXlzOlsibmVkZWxqYSIsInBvbmVkZWxq ZWsiLCJ0b3JlayIsInNyZWRhIiwixI1ldHJ0ZWsiLCJwZXRlayIsInNvYm90YSJd LGRheXNfYWJicjpbIm5lZCIsInBvbiIsInRvciIsInNyZSIsIsSNZXQiLCJwZXQi LCJzb2IiXSxkYXRlT3JkZXI6WyJkYXRlIiwibW9udGgiLCJ5ZWFyIl0sc2hvcnRE YXRlOiIlZC4lbS4lWSIsc2hvcnRUaW1lOiIlSC4lTSIsQU06IkFNIixQTToiUE0i LGZpcnN0RGF5T2ZXZWVrOjEsb3JkaW5hbDoiLiIsbGVzc1RoYW5NaW51dGVBZ286 Im1hbmoga290IG1pbnV0byBuYXphaiIsbWludXRlQWdvOiJtaW51dG8gbmF6YWoi LG1pbnV0ZXNBZ286ZnVuY3Rpb24oYil7cmV0dXJuIntkZWx0YX0gIithKGIsIm1p bnV0byIsIm1pbnV0aSIsIm1pbnV0ZSIsIm1pbnV0IikrIiBuYXphaiI7Cn0saG91 ckFnbzoidXJvIG5hemFqIixob3Vyc0FnbzpmdW5jdGlvbihiKXtyZXR1cm4ie2Rl bHRhfSAiK2EoYiwidXJvIiwidXJpIiwidXJlIiwidXIiKSsiIG5hemFqIjt9LGRh eUFnbzoiZGFuIG5hemFqIixkYXlzQWdvOmZ1bmN0aW9uKGIpe3JldHVybiJ7ZGVs dGF9ICIrYShiLCJkYW4iLCJkbmV2YSIsImRuaSIsImRuaSIpKyIgbmF6YWoiOwp9 LHdlZWtBZ286InRlZGVuIG5hemFqIix3ZWVrc0FnbzpmdW5jdGlvbihiKXtyZXR1 cm4ie2RlbHRhfSAiK2EoYiwidGVkZW4iLCJ0ZWRuYSIsInRlZG5lIiwidGVkbm92 IikrIiBuYXphaiI7fSxtb250aEFnbzoibWVzZWMgbmF6YWoiLG1vbnRoc0Fnbzpm dW5jdGlvbihiKXtyZXR1cm4ie2RlbHRhfSAiK2EoYiwibWVzZWMiLCJtZXNlY2Ei LCJtZXNlY2UiLCJtZXNlY292IikrIiBuYXphaiI7Cn0seWVhcnRoQWdvOiJsZXRv IG5hemFqIix5ZWFyc0FnbzpmdW5jdGlvbihiKXtyZXR1cm4ie2RlbHRhfSAiK2Eo YiwibGV0byIsImxldGkiLCJsZXRhIiwibGV0IikrIiBuYXphaiI7fSxsZXNzVGhh bk1pbnV0ZVVudGlsOiLFoWUgbWFuaiBrb3QgbWludXRvIixtaW51dGVVbnRpbDoi xaFlIG1pbnV0YSIsbWludXRlc1VudGlsOmZ1bmN0aW9uKGIpe3JldHVybiLFoWUg e2RlbHRhfSAiK2EoYiwibWludXRhIiwibWludXRpIiwibWludXRlIiwibWludXQi KTsKfSxob3VyVW50aWw6IsWhZSB1cmEiLGhvdXJzVW50aWw6ZnVuY3Rpb24oYil7 cmV0dXJuIsWhZSB7ZGVsdGF9ICIrYShiLCJ1cmEiLCJ1cmkiLCJ1cmUiLCJ1ciIp O30sZGF5VW50aWw6IsWhZSBkYW4iLGRheXNVbnRpbDpmdW5jdGlvbihiKXtyZXR1 cm4ixaFlIHtkZWx0YX0gIithKGIsImRhbiIsImRuZXZhIiwiZG5ldmkiLCJkbmki KTsKfSx3ZWVrVW50aWw6IsWhZSB0ZWRuIix3ZWVrc1VudGlsOmZ1bmN0aW9uKGIp e3JldHVybiLFoWUge2RlbHRhfSAiK2EoYiwidGVkZW4iLCJ0ZWRuYSIsInRlZG5p IiwidGVkbm92Iik7fSxtb250aFVudGlsOiLFoWUgbWVzZWMiLG1vbnRoc1VudGls OmZ1bmN0aW9uKGIpe3JldHVybiLFoWUge2RlbHRhfSAiK2EoYiwibWVzZWMiLCJt ZXNlY2EiLCJtZXNlY2kiLCJtZXNlY292Iik7Cn0seWVhclVudGlsOiLFoWUgbGV0 byIseWVhcnNVbnRpbDpmdW5jdGlvbihiKXtyZXR1cm4ixaFlIHtkZWx0YX0gIith KGIsImxldG8iLCJsZXRpIiwibGV0YSIsImxldCIpO319KTt9KSgpO0xvY2FsZS5k ZWZpbmUoInNpLVNJIiwiRm9ybVZhbGlkYXRvciIse3JlcXVpcmVkOiJUbyBwb2xq ZSBqZSBvYnZlem5vIixtaW5MZW5ndGg6IlByb3NpbSwgdm5lc2l0ZSB2c2FqIHtt aW5MZW5ndGh9IHpuYWtvdiAodm5lc2xpIHN0ZSB7bGVuZ3RofSB6bmFrb3YpLiIs bWF4TGVuZ3RoOiJQcm9zaW0sIG5lIHZuZXNpdGUgdmXEjSBrb3Qge21heExlbmd0 aH0gem5ha292ICh2bmVzbGkgc3RlIHtsZW5ndGh9IHpuYWtvdikuIixpbnRlZ2Vy OiJQcm9zaW0sIHZuZXNpdGUgY2VsbyDFoXRldmlsby4gRGVjaW1hbG5hIMWhdGV2 aWxhIChrb3QgMSwyNSkgbmlzbyBkb3ZvbGplbmEuIixudW1lcmljOidQcm9zaW0s IHZuZXNpdGUgc2FtbyBudW1lcmnEjW5lIHZyZWRub3N0aSAoa290ICIxIiBhbGkg IjEuMSIgYWxpICItMSIgYWxpICItMS4xIikuJyxkaWdpdHM6IlByb3NpbSwgdXBv cmFiaXRlIMWhdGV2aWxrZSBpbiBsb8SNaWxhIGxlIG5hIHRlbSBwb2xqdSAobmEg cHJpbWVyLCBkb3ZvbGplbmEgamUgdGVsZWZvbnNrYSDFoXRldmlsa2EgeiBwb21p xaFsYWppIGFsaSBwaWthbWkpLiIsYWxwaGE6IlByb3NpbSwgdXBvcmFiaXRlIGxl IMSNcmtlIHYgdGVtIHBsanUuIFByZXNsZWRraSBpbiBkcnVnaSB6bmFraSBuaXNv IGRvdm9samVuaS4iLGFscGhhbnVtOiJQcm9zaW0sIHVwb3JhYml0ZSBzYW1vIMSN cmtlIGFsaSDFoXRldmlsa2UgdiB0ZW0gcG9sanUuIFByZXNsZWRraSBpbiBkcnVn aSB6bmFraSBuaXNvIGRvdm9samVuaS4iLGRhdGVTdWNoQXM6IlByb3NpbSwgdm5l c2l0ZSBwcmF2aWxlbiBkYXR1bSBrb3Qge2RhdGV9IixkYXRlSW5Gb3JtYXRNRFk6 J1Byb3NpbSwgdm5lc2l0ZSBwcmF2aWxlbiBkYXR1bSBrb3QgTU0uREQuWVlZWSAo cHJpbWVyICIxMi4zMS4xOTk5IiknLGVtYWlsOidQcm9zaW0sIHZuZXNpdGUgcHJh dmlsZW4gZW1haWwgbmFzbG92LiBOYSBwcmltZXIgImZyZWRAZG9tYWluLmNvbSIu Jyx1cmw6IlByb3NpbSwgdm5lc2l0ZSBwcmF2aWxlbiBVUkwga290IGh0dHA6Ly93 d3cuZXhhbXBsZS5jb20uIixjdXJyZW5jeURvbGxhcjoiUHJvc2ltLCB2bmVzaXQg ZXByYXZpbG5vIHZyZWRub3N0IOKCrC4gUHJpbWVyIDEwMCwwMOKCrCAuIixvbmVS ZXF1aXJlZDoiUHJvc2ltbywgdm5lc2l0ZSBuZWthaiB6YSB2c2FqIGVubyBpem1l ZCB0ZWggcG9sai4iLGVycm9yUHJlZml4OiJOYXBha2E6ICIsd2FybmluZ1ByZWZp eDoiT3Bvem9yaWxvOiAiLG5vU3BhY2U6IlRvIHZub3NubyBwb2xqZSBuZSBkb3B1 xaHEjWEgcHJlc2xlZGtvdi4iLHJlcUNoa0J5Tm9kZToiTmnEjSBuaXN0ZSBpemJy YWxpLiIscmVxdWlyZWRDaGs6IlRvIHBvbGplIGplIG9idmV6bm8iLHJlcUNoa0J5 TmFtZToiUHJvc2ltLCBpemJlcml0ZSB7bGFiZWx9LiIsbWF0Y2g6IlRvIHBvbGpl IHNlIG1vcmEgdWplbWF0aSB6IHBvbGplbSB7bWF0Y2hOYW1lfSIsc3RhcnREYXRl OiJkYXR1bSB6YcSNZXRrYSIsZW5kRGF0ZToiZGF0dW0ga29uY2EiLGN1cnJlbmRE YXRlOiJ0cmVudXRlbiBkYXR1bSIsYWZ0ZXJEYXRlOiJEYXR1bSBiaSBtb3JhbCBi aXRpIGlzdGkgYWxpIHBvIHtsYWJlbH0uIixiZWZvcmVEYXRlOiJEYXR1bSBiaSBt b3JhbCBiaXRpIGlzdGkgYWxpIHByZWQge2xhYmVsfS4iLHN0YXJ0TW9udGg6IlBy b3NpbSwgdm5lc2l0ZSB6YcSNZXRuaSBkYXR1bSIsc2FtZU1vbnRoOiJUYSBkdmEg ZGF0dW1hIG1vcmF0YSBiaXRpIHYgaXN0ZW0gbWVzZWN1IC0gcHJlbWVuaXRpIG1v cmF0ZSBlbm8gYWxpIGRydWdvLiIsY3JlZGl0Y2FyZDoixaB0ZXZpbGthIGtyZWRp dG5lIGthcnRpY2UgbmkgcHJhdmlsbmEuIFByZXZlcml0ZSDFoXRldmlsa28gYWxp IHBvc2t1c2l0ZSDFoWUgZW5rcmF0LiBWbmXFoWVuaWgge2xlbmd0aH0gem5ha292 LiJ9KTsKTG9jYWxlLmRlZmluZSgic3YtU0UiLCJEYXRlIix7bW9udGhzOlsiamFu dWFyaSIsImZlYnJ1YXJpIiwibWFycyIsImFwcmlsIiwibWFqIiwianVuaSIsImp1 bGkiLCJhdWd1c3RpIiwic2VwdGVtYmVyIiwib2t0b2JlciIsIm5vdmVtYmVyIiwi ZGVjZW1iZXIiXSxtb250aHNfYWJicjpbImphbiIsImZlYiIsIm1hciIsImFwciIs Im1haiIsImp1biIsImp1bCIsImF1ZyIsInNlcCIsIm9rdCIsIm5vdiIsImRlYyJd LGRheXM6WyJzw7ZuZGFnIiwibcOlbmRhZyIsInRpc2RhZyIsIm9uc2RhZyIsInRv cnNkYWciLCJmcmVkYWciLCJsw7ZyZGFnIl0sZGF5c19hYmJyOlsic8O2biIsIm3D pW4iLCJ0aXMiLCJvbnMiLCJ0b3IiLCJmcmUiLCJsw7ZyIl0sZGF0ZU9yZGVyOlsi eWVhciIsIm1vbnRoIiwiZGF0ZSJdLHNob3J0RGF0ZToiJVktJW0tJWQiLHNob3J0 VGltZToiJUg6JU0iLEFNOiIiLFBNOiIiLGZpcnN0RGF5T2ZXZWVrOjEsb3JkaW5h bDoiIixsZXNzVGhhbk1pbnV0ZUFnbzoibWluZHJlIMOkbiBlbiBtaW51dCBzZWRh biIsbWludXRlQWdvOiJ1bmdlZsOkciBlbiBtaW51dCBzZWRhbiIsbWludXRlc0Fn bzoie2RlbHRhfSBtaW51dGVyIHNlZGFuIixob3VyQWdvOiJ1bmdlZsOkciBlbiB0 aW1tZSBzZWRhbiIsaG91cnNBZ286InVuZ2Vmw6RyIHtkZWx0YX0gdGltbWFyIHNl ZGFuIixkYXlBZ286IjEgZGFnIHNlZGFuIixkYXlzQWdvOiJ7ZGVsdGF9IGRhZ2Fy IHNlZGFuIixsZXNzVGhhbk1pbnV0ZVVudGlsOiJtaW5kcmUgw6RuIGVuIG1pbnV0 IHNlZGFuIixtaW51dGVVbnRpbDoidW5nZWbDpHIgZW4gbWludXQgc2VkYW4iLG1p bnV0ZXNVbnRpbDoie2RlbHRhfSBtaW51dGVyIHNlZGFuIixob3VyVW50aWw6InVu Z2Vmw6RyIGVuIHRpbW1lIHNlZGFuIixob3Vyc1VudGlsOiJ1bmdlZsOkciB7ZGVs dGF9IHRpbW1hciBzZWRhbiIsZGF5VW50aWw6IjEgZGFnIHNlZGFuIixkYXlzVW50 aWw6IntkZWx0YX0gZGFnYXIgc2VkYW4ifSk7CkxvY2FsZS5kZWZpbmUoInN2LVNF IiwiRm9ybVZhbGlkYXRvciIse3JlcXVpcmVkOiJGw6RsdGV0IMOkciBvYmxpZ2F0 b3Jpc2t0LiIsbWluTGVuZ3RoOiJBbmdlIG1pbnN0IHttaW5MZW5ndGh9IHRlY2tl biAoZHUgYW5nYXYge2xlbmd0aH0gdGVja2VuKS4iLG1heExlbmd0aDoiQW5nZSBo w7Znc3Qge21heExlbmd0aH0gdGVja2VuIChkdSBhbmdhdiB7bGVuZ3RofSB0ZWNr ZW4pLiAiLGludGVnZXI6IkFuZ2UgZXR0IGhlbHRhbCBpIGbDpGx0ZXQuIFRhbCBt ZWQgZGVjaW1hbGVyICh0LmV4LiAxLDI1KSDDpHIgaW50ZSB0aWxsw6V0bmEuIixu dW1lcmljOidBbmdlIGVuZGFzdCBudW1lcmlza2EgdsOkcmRlbiBpIGRldHRhIGbD pGx0ICh0LmV4LiAiMSIgZWxsZXIgIjEuMSIgZWxsZXIgIi0xIiBlbGxlciAiLTEs MSIpLicsZGlnaXRzOiJBbnbDpG5kIGVuZGFzdCBzaWZmcm9yIG9jaCBza2lsamV0 ZWNrZW4gaSBkZXR0YSBmw6RsdCAodGlsbCBleGVtcGVsIGV0dCB0ZWxlZm9ubnVt bWVyIG1lZCBiaW5kZXN0cmVjayB0aWxsw6V0ZXQpLiIsYWxwaGE6IkFudsOkbmQg ZW5kYXN0IGJva3N0w6R2ZXIgKGEtw7YpIGkgZGV0dGEgZsOkbHQuIEluZ2EgbWVs bGFuc2xhZyBlbGxlciBhbmRyYSB0ZWNrZW4gw6RyIHRpbGzDpXRuYS4iLGFscGhh bnVtOiJBbnbDpG5kIGVuZGFzdCBib2tzdMOkdmVyIChhLcO2KSBvY2ggc2lmZnJv ciAoMC05KSBpIGRldHRhIGbDpGx0LiBJbmdhIG1lbGxhbnNsYWcgZWxsZXIgYW5k cmEgdGVja2VuIMOkciB0aWxsw6V0bmEuIixkYXRlU3VjaEFzOiJBbmdlIGV0dCBn aWx0aWd0IGRhdHVtIHNvbSB0LmV4LiB7ZGF0ZX0iLGRhdGVJbkZvcm1hdE1EWTon QW5nZSBldHQgZ2lsdGlndCBkYXR1bSBzb20gdC5leC4gWVlZWS1NTS1ERCAoaS5l LiAiMTk5OS0xMi0zMSIpJyxlbWFpbDonQW5nZSBlbiBnaWx0aWcgZS1wb3N0YWRy ZXNzLiBUaWxsIGV4ZW1wZWwgImVyaWtAZG9tYWluLmNvbSIuJyx1cmw6IkFuZ2Ug ZW4gZ2lsdGlnIHdlYmJhZHJlc3Mgc29tIGh0dHA6Ly93d3cuZXhhbXBsZS5jb20u IixjdXJyZW5jeURvbGxhcjoiQW5nZSBlbiBnaWx0aWcgYmVsb3BwLiBFeGVtcGVs dmlzIDEwMCwwMC4iLG9uZVJlcXVpcmVkOiJWw6RubGlnZW4gYW5nZSBtaW5zdCBl dHQgYXYgZGVzc2EgYWx0ZXJuYXRpdi4iLGVycm9yUHJlZml4OiJGZWw6ICIsd2Fy bmluZ1ByZWZpeDoiVmFybmluZzogIixub1NwYWNlOiJEZXQgZsOlciBpbnRlIGZp bm5hcyBuw6VncmEgbWVsbGFuc2xhZyBpIGRldHRhIGbDpGx0LiIscmVxQ2hrQnlO b2RlOiJJbmdhIG9iamVrdCDDpHIgdmFsZGEuIixyZXF1aXJlZENoazoiRGV0dGEg w6RyIGV0dCBvYmxpZ2F0b3Jpc2t0IGbDpGx0LiIscmVxQ2hrQnlOYW1lOiJWw6Rs aiBlbiB7bGFiZWx9LiIsbWF0Y2g6IkRldHRhIGbDpGx0IG3DpXN0ZSBtYXRjaGEg e21hdGNoTmFtZX0iLHN0YXJ0RGF0ZToic3RhcnRkYXR1bWV0IixlbmREYXRlOiJz bHV0ZGF0dW0iLGN1cnJlbmREYXRlOiJkYWdlbnMgZGF0dW0iLGFmdGVyRGF0ZToi RGF0dW1ldCBiw7ZyIHZhcmEgc2FtbWEgZWxsZXIgc2VuYXJlIMOkbiB7bGFiZWx9 LiIsYmVmb3JlRGF0ZToiRGF0dW1ldCBiw7ZyIHZhcmEgc2FtbWEgZWxsZXIgdGlk aWdhcmUgw6RuIHtsYWJlbH0uIixzdGFydE1vbnRoOiJWw6RsaiBlbiBzdGFydCBt w6VuYWQiLHNhbWVNb250aDoiRGVzc2EgdHbDpSBkYXR1bSBtw6VzdGUgdmFyYSBp IHNhbW1hIG3DpW5hZCAtIGR1IG3DpXN0ZSDDpG5kcmEgZGV0IGVuYSBlbGxlciBk ZXQgYW5kcmEuIn0pOwooZnVuY3Rpb24oKXt2YXIgYT1mdW5jdGlvbihqLGUsYyxp LGIpe3ZhciBoPShqLzEwKS50b0ludCgpLGc9aiUxMCxmPShqLzEwMCkudG9JbnQo KTtpZihoPT0xJiZqPjEwKXtyZXR1cm4gaTt9aWYoZz09MSl7cmV0dXJuIGU7fWlm KGc+MCYmZzw1KXtyZXR1cm4gYzt9cmV0dXJuIGk7Cn07TG9jYWxlLmRlZmluZSgi dWstVUEiLCJEYXRlIix7bW9udGhzOlsi0KHRltGH0LXQvdGMIiwi0JvRjtGC0LjQ uSIsItCR0LXRgNC10LfQtdC90YwiLCLQmtCy0ZbRgtC10L3RjCIsItCi0YDQsNCy 0LXQvdGMIiwi0KfQtdGA0LLQtdC90YwiLCLQm9C40L/QtdC90YwiLCLQodC10YDQ v9C10L3RjCIsItCS0LXRgNC10YHQtdC90YwiLCLQltC+0LLRgtC10L3RjCIsItCb 0LjRgdGC0L7Qv9Cw0LQiLCLQk9GA0YPQtNC10L3RjCJdLG1vbnRoc19hYmJyOlsi 0KHRltGHIiwi0JvRjtGCIiwi0JHQtdGAIiwi0JrQstGW0YIiLCLQotGA0LDQsiIs ItCn0LXRgNCyIiwi0JvQuNC/Iiwi0KHQtdGA0L8iLCLQktC10YAiLCLQltC+0LLR giIsItCb0LjRgdGCIiwi0JPRgNGD0LQiXSxkYXlzOlsi0J3QtdC00ZbQu9GPIiwi 0J/QvtC90LXQtNGW0LvQvtC6Iiwi0JLRltCy0YLQvtGA0L7QuiIsItCh0LXRgNC1 0LTQsCIsItCn0LXRgtCy0LXRgCIsItCfJ9GP0YLQvdC40YbRjyIsItCh0YPQsdC+ 0YLQsCJdLGRheXNfYWJicjpbItCd0LQiLCLQn9C9Iiwi0JLRgiIsItCh0YAiLCLQ p9GCIiwi0J/RgiIsItCh0LEiXSxkYXRlT3JkZXI6WyJkYXRlIiwibW9udGgiLCJ5 ZWFyIl0sc2hvcnREYXRlOiIlZC8lbS8lWSIsc2hvcnRUaW1lOiIlSDolTSIsQU06 ItC00L4g0L/QvtC70YPQtNC90Y8iLFBNOiLQv9C+INC/0L7Qu9GD0LTQvdGOIixm aXJzdERheU9mV2VlazoxLG9yZGluYWw6IiIsbGVzc1RoYW5NaW51dGVBZ286ItC8 0LXQvdGM0YjQtSDRhdCy0LjQu9C40L3QuCDRgtC+0LzRgyIsbWludXRlQWdvOiLR hdCy0LjQu9C40L3RgyDRgtC+0LzRgyIsbWludXRlc0FnbzpmdW5jdGlvbihiKXty ZXR1cm4ie2RlbHRhfSAiK2EoYiwi0YXQstC40LvQuNC90YMiLCLRhdCy0LjQu9C4 0L3QuCIsItGF0LLQuNC70LjQvSIpKyIg0YLQvtC80YMiOwp9LGhvdXJBZ286ItCz 0L7QtNC40L3RgyDRgtC+0LzRgyIsaG91cnNBZ286ZnVuY3Rpb24oYil7cmV0dXJu IntkZWx0YX0gIithKGIsItCz0L7QtNC40L3RgyIsItCz0L7QtNC40L3QuCIsItCz 0L7QtNC40L0iKSsiINGC0L7QvNGDIjt9LGRheUFnbzoi0LLRh9C+0YDQsCIsZGF5 c0FnbzpmdW5jdGlvbihiKXtyZXR1cm4ie2RlbHRhfSAiK2EoYiwi0LTQtdC90Ywi LCLQtNC90Y8iLCLQtNC90ZbQsiIpKyIg0YLQvtC80YMiOwp9LHdlZWtBZ286ItGC 0LjQttC00LXQvdGMINGC0L7QvNGDIix3ZWVrc0FnbzpmdW5jdGlvbihiKXtyZXR1 cm4ie2RlbHRhfSAiK2EoYiwi0YLQuNC20LTQtdC90YwiLCLRgtC40LbQvdGWIiwi 0YLQuNC20L3RltCyIikrIiDRgtC+0LzRgyI7fSxtb250aEFnbzoi0LzRltGB0Y/R htGMINGC0L7QvNGDIixtb250aHNBZ286ZnVuY3Rpb24oYil7cmV0dXJuIntkZWx0 YX0gIithKGIsItC80ZbRgdGP0YbRjCIsItC80ZbRgdGP0YbRliIsItC80ZbRgdGP 0YbRltCyIikrIiDRgtC+0LzRgyI7Cn0seWVhckFnbzoi0YDRltC6INGC0L7QvNGD Iix5ZWFyc0FnbzpmdW5jdGlvbihiKXtyZXR1cm4ie2RlbHRhfSAiK2EoYiwi0YDR ltC6Iiwi0YDQvtC60LgiLCLRgNC+0LrRltCyIikrIiDRgtC+0LzRgyI7fSxsZXNz VGhhbk1pbnV0ZVVudGlsOiLQt9CwINC80LjRgtGMIixtaW51dGVVbnRpbDoi0YfQ tdGA0LXQtyDRhdCy0LjQu9C40L3RgyIsbWludXRlc1VudGlsOmZ1bmN0aW9uKGIp e3JldHVybiLRh9C10YDQtdC3IHtkZWx0YX0gIithKGIsItGF0LLQuNC70LjQvdGD Iiwi0YXQstC40LvQuNC90LgiLCLRhdCy0LjQu9C40L0iKTsKfSxob3VyVW50aWw6 ItGH0LXRgNC10Lcg0LPQvtC00LjQvdGDIixob3Vyc1VudGlsOmZ1bmN0aW9uKGIp e3JldHVybiLRh9C10YDQtdC3IHtkZWx0YX0gIithKGIsItCz0L7QtNC40L3RgyIs ItCz0L7QtNC40L3QuCIsItCz0L7QtNC40L0iKTt9LGRheVVudGlsOiLQt9Cw0LLR gtGA0LAiLGRheXNVbnRpbDpmdW5jdGlvbihiKXtyZXR1cm4i0YfQtdGA0LXQtyB7 ZGVsdGF9ICIrYShiLCLQtNC10L3RjCIsItC00L3RjyIsItC00L3RltCyIik7Cn0s d2Vla1VudGlsOiLRh9C10YDQtdC3INGC0LjQttC00LXQvdGMIix3ZWVrc1VudGls OmZ1bmN0aW9uKGIpe3JldHVybiLRh9C10YDQtdC3IHtkZWx0YX0gIithKGIsItGC 0LjQttC00LXQvdGMIiwi0YLQuNC20L3RliIsItGC0LjQttC90ZbQsiIpO30sbW9u dGhVbnRpbDoi0YfQtdGA0LXQtyDQvNGW0YHRj9GG0YwiLG1vbnRoZXNVbnRpbDpm dW5jdGlvbihiKXtyZXR1cm4i0YfQtdGA0LXQtyB7ZGVsdGF9ICIrYShiLCLQvNGW 0YHRj9GG0YwiLCLQvNGW0YHRj9GG0ZYiLCLQvNGW0YHRj9GG0ZbQsiIpOwp9LHll YXJVbnRpbDoi0YfQtdGA0LXQtyDRgNGW0LoiLHllYXJzVW50aWw6ZnVuY3Rpb24o Yil7cmV0dXJuItGH0LXRgNC10Lcge2RlbHRhfSAiK2EoYiwi0YDRltC6Iiwi0YDQ vtC60LgiLCLRgNC+0LrRltCyIik7fX0pO30pKCk7TG9jYWxlLmRlZmluZSgidWst VUEiLCJGb3JtVmFsaWRhdG9yIix7cmVxdWlyZWQ6ItCm0LUg0L/QvtC70LUg0L/Q vtCy0LjQvdC90LUg0LHRg9GC0Lgg0LfQsNC/0L7QstC90LXQvdC40LwuIixtaW5M ZW5ndGg6ItCS0LLQtdC00ZbRgtGMINGF0L7Rh9CwINCxIHttaW5MZW5ndGh9INGB 0LjQvNCy0L7Qu9GW0LIgKNCS0Lgg0LLQstC10LvQuCB7bGVuZ3RofSkuIixtYXhM ZW5ndGg6ItCa0ZbQu9GM0LrRltGB0YLRjCDRgdC40LzQstC+0LvRltCyINC90LUg 0LzQvtC20LUg0LHRg9GC0Lgg0LHRltC70YzRiNC1IHttYXhMZW5ndGh9ICjQktC4 INCy0LLQtdC70Lgge2xlbmd0aH0pLiIsaW50ZWdlcjoi0JLQstC10LTRltGC0Ywg 0LIg0YbQtSDQv9C+0LvQtSDRh9C40YHQu9C+LiDQlNGA0L7QsdC+0LLRliDRh9C4 0YHQu9CwICjQvdCw0L/RgNC40LrQu9Cw0LQgMS4yNSkg0L3QtSDQtNC+0LfQstC+ 0LvQtdC90ZYuIixudW1lcmljOifQktCy0LXQtNGW0YLRjCDQsiDRhtC1INC/0L7Q u9C1INGH0LjRgdC70L4gKNC90LDQv9GA0LjQutC70LDQtCAiMSIg0LDQsdC+ICIx LjEiLCDQsNCx0L4gIi0xIiwg0LDQsdC+ICItMS4xIikuJyxkaWdpdHM6ItCSINGG 0YzQvtC80YMg0L/QvtC70ZYg0LLQuCDQvNC+0LbQtdGC0LUg0LLQuNC60L7RgNC4 0YHRgtC+0LLRg9Cy0LDRgtC4INC70LjRiNC1INGG0LjRhNGA0Lgg0ZYg0LfQvdCw 0LrQuCDQv9GD0L3QutGC0ZbQsNGG0ZbRlyAo0L3QsNC/0YDQuNC60LvQsNC0LCDR gtC10LvQtdGE0L7QvdC90LjQuSDQvdC+0LzQtdGAINC3INC30L3QsNC60LDQvNC4 INC00LXRhNGW0LfRgyDQsNCx0L4g0Lcg0LrRgNCw0L/QutCw0LzQuCkuIixhbHBo YToi0JIg0YbRjNC+0LzRgyDQv9C+0LvRliDQvNC+0LbQvdCwINCy0LjQutC+0YDQ uNGB0YLQvtCy0YPQstCw0YLQuCDQu9C40YjQtSDQu9Cw0YLQuNC90YHRjNC60ZYg 0LvRltGC0LXRgNC4IChhLXopLiDQn9GA0L7QsdGW0LvQuCDRliDRltC90YjRliDR gdC40LzQstC+0LvQuCDQt9Cw0LHQvtGA0L7QvdC10L3Rli4iLGFscGhhbnVtOiLQ kiDRhtGM0L7QvNGDINC/0L7Qu9GWINC80L7QttC90LAg0LLQuNC60L7RgNC40YHR gtC+0LLRg9Cy0LDRgtC4INC70LjRiNC1INC70LDRgtC40L3RgdGM0LrRliDQu9GW 0YLQtdGA0LggKGEteikg0ZYg0YbQuNGE0YDQuCAoMC05KS4g0J/RgNC+0LHRltC7 0Lgg0ZYg0ZbQvdGI0ZYg0YHQuNC80LLQvtC70Lgg0LfQsNCx0L7RgNC+0L3QtdC9 0ZYuIixkYXRlU3VjaEFzOiLQktCy0LXQtNGW0YLRjCDQutC+0YDQtdC60YLQvdGD INC00LDRgtGDIHtkYXRlfS4iLGRhdGVJbkZvcm1hdE1EWTon0JLQstC10LTRltGC 0Ywg0LTQsNGC0YMg0LIg0YTQvtGA0LzQsNGC0ZYg0JzQnC/QlNCUL9Cg0KDQoNCg ICjQvdCw0L/RgNC40LrQu9Cw0LQgIjEyLzMxLzIwMDkiKS4nLGVtYWlsOifQktCy 0LXQtNGW0YLRjCDQutC+0YDQtdC60YLQvdGDINCw0LTRgNC10YHRgyDQtdC70LXQ utGC0YDQvtC90L3QvtGXINC/0L7RiNGC0LggKNC90LDQv9GA0LjQutC70LDQtCAi bmFtZUBkb21haW4uY29tIikuJyx1cmw6ItCS0LLQtdC00ZbRgtGMINC60L7RgNC1 0LrRgtC90LUg0ZbQvdGC0LXRgNC90LXRgi3Qv9C+0YHQuNC70LDQvdC90Y8gKNC9 0LDQv9GA0LjQutC70LDQtCBodHRwOi8vd3d3LmV4YW1wbGUuY29tKS4iLGN1cnJl bmN5RG9sbGFyOifQktCy0LXQtNGW0YLRjCDRgdGD0LzRgyDQsiDQtNC+0LvQsNGA 0LDRhSAo0L3QsNC/0YDQuNC60LvQsNC0ICIkMTAwLjAwIikuJyxvbmVSZXF1aXJl ZDoi0JfQsNC/0L7QstC90ZbRgtGMINC+0LTQvdC1INC3INC/0L7Qu9GW0LIuIixl cnJvclByZWZpeDoi0J/QvtC80LjQu9C60LA6ICIsd2FybmluZ1ByZWZpeDoi0KPQ stCw0LPQsDogIixub1NwYWNlOiLQn9GA0L7QsdGW0LvQuCDQt9Cw0LHQvtGA0L7Q vdC10L3Rli4iLHJlcUNoa0J5Tm9kZToi0J3QtSDQstGW0LTQvNGW0YfQtdC90L4g 0LbQvtC00L3QvtCz0L4g0LLQsNGA0ZbQsNC90YLRgy4iLHJlcXVpcmVkQ2hrOiLQ ptC1INC/0L7Qu9C1INC/0L7QstC40L3QvdC1INCx0YPRgtC4INCy0ZbQvNGW0YfQ tdC90LjQvC4iLHJlcUNoa0J5TmFtZToi0JHRg9C00Ywg0LvQsNGB0LrQsCwg0LLR ltC00LzRltGC0YzRgtC1IHtsYWJlbH0uIixtYXRjaDoi0KbQtSDQv9C+0LvQtSDQ v9C+0LLQuNC90L3QviDQstGW0LTQv9C+0LLRltC00LDRgtC4IHttYXRjaE5hbWV9 IixzdGFydERhdGU6ItC/0L7Rh9Cw0YLQutC+0LLQsCDQtNCw0YLQsCIsZW5kRGF0 ZToi0LrRltC90YbQtdCy0LAg0LTQsNGC0LAiLGN1cnJlbmREYXRlOiLRgdGM0L7Q s9C+0LTQvdGW0YjQvdGPINC00LDRgtCwIixhZnRlckRhdGU6ItCm0Y8g0LTQsNGC 0LAg0L/QvtCy0LjQvdC90LAg0LHRg9GC0Lgg0YLQsNC60L7RjiDQtiwg0LDQsdC+ INC/0ZbQt9C90ZbRiNC+0Y4g0LfQsCB7bGFiZWx9LiIsYmVmb3JlRGF0ZToi0KbR jyDQtNCw0YLQsCDQv9C+0LLQuNC90L3QsCDQsdGD0YLQuCDRgtCw0LrQvtGOINC2 LCDQsNCx0L4g0YDQsNC90ZbRiNC+0Y4g0LfQsCB7bGFiZWx9LiIsc3RhcnRNb250 aDoi0JHRg9C00Ywg0LvQsNGB0LrQsCwg0LLQuNCx0LXRgNGW0YLRjCDQv9C+0YfQ sNGC0LrQvtCy0LjQuSDQvNGW0YHRj9GG0YwiLHNhbWVNb250aDoi0KbRliDQtNCw 0YLQuCDQv9C+0LLQuNC90L3RliDQstGW0LTQvdC+0YHQuNGC0LjRgdGMINC+0LTQ vdC+0LPQviDRliDRgtC+0LPQviDQtiDQvNGW0YHRj9GG0Y8uINCR0YPQtNGMINC7 0LDRgdC60LAsINC30LzRltC90ZbRgtGMINC+0LTQvdGDINC3INC90LjRhS4iLGNy ZWRpdGNhcmQ6ItCd0L7QvNC10YAg0LrRgNC10LTQuNGC0L3QvtGXINC60LDRgNGC 0Lgg0LLQstC10LTQtdC90LjQuSDQvdC10L/RgNCw0LLQuNC70YzQvdC+LiDQkdGD 0LTRjCDQu9Cw0YHQutCwLCDQv9C10YDQtdCy0ZbRgNGC0LUg0LnQvtCz0L4uINCS 0LLQtdC00LXQvdC+IHtsZW5ndGh9INGB0LjQvNCy0L7Qu9GW0LIuIn0pOwpMb2Nh bGUuZGVmaW5lKCJ6aC1DSFMiLCJEYXRlIix7bW9udGhzOlsi5LiA5pyIIiwi5LqM 5pyIIiwi5LiJ5pyIIiwi5Zub5pyIIiwi5LqU5pyIIiwi5YWt5pyIIiwi5LiD5pyI Iiwi5YWr5pyIIiwi5Lmd5pyIIiwi5Y2B5pyIIiwi5Y2B5LiA5pyIIiwi5Y2B5LqM 5pyIIl0sbW9udGhzX2FiYnI6WyLkuIAiLCLkuowiLCLkuIkiLCLlm5siLCLkupQi LCLlha0iLCLkuIMiLCLlhasiLCLkuZ0iLCLljYEiLCLljYHkuIAiLCLljYHkuowi XSxkYXlzOlsi5pif5pyf5pelIiwi5pif5pyf5LiAIiwi5pif5pyf5LqMIiwi5pif 5pyf5LiJIiwi5pif5pyf5ZubIiwi5pif5pyf5LqUIiwi5pif5pyf5YWtIl0sZGF5 c19hYmJyOlsi5pelIiwi5LiAIiwi5LqMIiwi5LiJIiwi5ZubIiwi5LqUIiwi5YWt Il0sZGF0ZU9yZGVyOlsieWVhciIsIm1vbnRoIiwiZGF0ZSJdLHNob3J0RGF0ZToi JVktJW0tJWQiLHNob3J0VGltZToiJUk6JU0lcCIsQU06IkFNIixQTToiUE0iLGZp cnN0RGF5T2ZXZWVrOjEsb3JkaW5hbDoiIixsZXNzVGhhbk1pbnV0ZUFnbzoi5LiN 5YiwMeWIhumSn+WJjSIsbWludXRlQWdvOiLlpKfnuqYx5YiG6ZKf5YmNIixtaW51 dGVzQWdvOiJ7ZGVsdGF95YiG6ZKf5LmL5YmNIixob3VyQWdvOiLlpKfnuqYx5bCP 5pe25YmNIixob3Vyc0Fnbzoi5aSn57qme2RlbHRhfeWwj+aXtuWJjSIsZGF5QWdv OiIx5aSp5YmNIixkYXlzQWdvOiJ7ZGVsdGF95aSp5YmNIix3ZWVrQWdvOiIx5pif 5pyf5YmNIix3ZWVrc0Fnbzoie2RlbHRhfeaYn+acn+WJjSIsbW9udGhBZ286IjHk uKrmnIjliY0iLG1vbnRoc0Fnbzoie2RlbHRhfeS4quaciOWJjSIseWVhckFnbzoi MeW5tOWJjSIseWVhcnNBZ286IntkZWx0YX3lubTliY0iLGxlc3NUaGFuTWludXRl VW50aWw6IuS7jueOsOWcqOW8gOWni+S4jeWIsDHliIbpkp8iLG1pbnV0ZVVudGls OiLku47njrDlnKjlvIDlp4vntIQx5YiG6ZKfIixtaW51dGVzVW50aWw6IuS7jueO sOWcqOW8gOWni+e6pntkZWx0YX3liIbpkp8iLGhvdXJVbnRpbDoi5LuO546w5Zyo 5byA5aeLMeWwj+aXtiIsaG91cnNVbnRpbDoi5LuO546w5Zyo5byA5aeL57qme2Rl bHRhfeWwj+aXtiIsZGF5VW50aWw6IuS7jueOsOWcqOW8gOWnizHlpKkiLGRheXNV bnRpbDoi5LuO546w5Zyo5byA5aeLe2RlbHRhfeWkqSIsd2Vla1VudGlsOiLku47n jrDlnKjlvIDlp4sx5pif5pyfIix3ZWVrc1VudGlsOiLku47njrDlnKjlvIDlp4t7 ZGVsdGF95pif5pyfIixtb250aFVudGlsOiLku47njrDlnKjlvIDlp4vkuIDkuKrm nIgiLG1vbnRoc1VudGlsOiLku47njrDlnKjlvIDlp4t7ZGVsdGF95Liq5pyIIix5 ZWFyVW50aWw6IuS7jueOsOWcqOW8gOWnizHlubQiLHllYXJzVW50aWw6IuS7jueO sOWcqOW8gOWni3tkZWx0YX3lubQifSk7CkxvY2FsZS5kZWZpbmUoInpoLUNIVCIs IkRhdGUiLHttb250aHM6WyLkuIDmnIgiLCLkuozmnIgiLCLkuInmnIgiLCLlm5vm nIgiLCLkupTmnIgiLCLlha3mnIgiLCLkuIPmnIgiLCLlhavmnIgiLCLkuZ3mnIgi LCLljYHmnIgiLCLljYHkuIDmnIgiLCLljYHkuozmnIgiXSxtb250aHNfYWJicjpb IuS4gCIsIuS6jCIsIuS4iSIsIuWbmyIsIuS6lCIsIuWFrSIsIuS4gyIsIuWFqyIs IuS5nSIsIuWNgSIsIuWNgeS4gCIsIuWNgeS6jCJdLGRheXM6WyLmmJ/mnJ/ml6Ui LCLmmJ/mnJ/kuIAiLCLmmJ/mnJ/kuowiLCLmmJ/mnJ/kuIkiLCLmmJ/mnJ/lm5si LCLmmJ/mnJ/kupQiLCLmmJ/mnJ/lha0iXSxkYXlzX2FiYnI6WyLml6UiLCLkuIAi LCLkuowiLCLkuIkiLCLlm5siLCLkupQiLCLlha0iXSxkYXRlT3JkZXI6WyJ5ZWFy IiwibW9udGgiLCJkYXRlIl0sc2hvcnREYXRlOiIlWS0lbS0lZCIsc2hvcnRUaW1l OiIlSTolTSVwIixBTToiQU0iLFBNOiJQTSIsZmlyc3REYXlPZldlZWs6MSxvcmRp bmFsOiIiLGxlc3NUaGFuTWludXRlQWdvOiLkuI3liLAx5YiG6ZCY5YmNIixtaW51 dGVBZ286IuWkp+e0hDHliIbpkJjliY0iLG1pbnV0ZXNBZ286IntkZWx0YX3liIbp kJjkuYvliY0iLGhvdXJBZ286IuWkp+e0hDHlsI/mmYLliY0iLGhvdXJzQWdvOiLl pKfntIR7ZGVsdGF95bCP5pmC5YmNIixkYXlBZ286IjHlpKnliY0iLGRheXNBZ286 IntkZWx0YX3lpKnliY0iLHdlZWtBZ286IjHmmJ/mnJ/liY0iLHdlZWtzQWdvOiJ7 ZGVsdGF95pif5pyf5YmNIixtb250aEFnbzoiMeS4quaciOWJjSIsbW9udGhzQWdv OiJ7ZGVsdGF95Liq5pyI5YmNIix5ZWFyQWdvOiIx5bm05YmNIix5ZWFyc0Fnbzoi e2RlbHRhfeW5tOWJjSIsbGVzc1RoYW5NaW51dGVVbnRpbDoi5b6e54++5Zyo6ZaL 5aeL5LiN5YiwMeWIhumQmCIsbWludXRlVW50aWw6IuW+nuePvuWcqOmWi+Wni+e0 hDHliIbpkJgiLG1pbnV0ZXNVbnRpbDoi5b6e54++5Zyo6ZaL5aeL57SEe2RlbHRh feWIhumQmCIsaG91clVudGlsOiLlvp7nj77lnKjplovlp4sx5bCP5pmCIixob3Vy c1VudGlsOiLlvp7nj77lnKjplovlp4vntIR7ZGVsdGF95bCP5pmCIixkYXlVbnRp bDoi5b6e54++5Zyo6ZaL5aeLMeWkqSIsZGF5c1VudGlsOiLlvp7nj77lnKjplovl p4t7ZGVsdGF95aSpIix3ZWVrVW50aWw6IuW+nuePvuWcqOmWi+WnizHmmJ/mnJ8i LHdlZWtzVW50aWw6IuW+nuePvuWcqOmWi+Wni3tkZWx0YX3mmJ/mnJ8iLG1vbnRo VW50aWw6IuW+nuePvuWcqOmWi+Wni+S4gOWAi+aciCIsbW9udGhzVW50aWw6IuW+ nuePvuWcqOmWi+Wni3tkZWx0YX3lgIvmnIgiLHllYXJVbnRpbDoi5b6e54++5Zyo 6ZaL5aeLMeW5tCIseWVhcnNVbnRpbDoi5b6e54++5Zyo6ZaL5aeLe2RlbHRhfeW5 tCJ9KTsKTG9jYWxlLmRlZmluZSgiemgtQ0hTIiwiRm9ybVZhbGlkYXRvciIse3Jl cXVpcmVkOiLmraTpobnlv4XloavjgIIiLG1pbkxlbmd0aDoi6K+36Iez5bCR6L6T 5YWlIHttaW5MZW5ndGh9IOS4quWtl+espiAo5bey6L6T5YWlIHtsZW5ndGh9IOS4 qinjgIIiLG1heExlbmd0aDoi5pyA5aSa5Y+q6IO96L6T5YWlIHttYXhMZW5ndGh9 IOS4quWtl+espiAo5bey6L6T5YWlIHtsZW5ndGh9IOS4qinjgIIiLGludGVnZXI6 J+ivt+i+k+WFpeS4gOS4quaVtOaVsO+8jOS4jeiDveWMheWQq+Wwj+aVsOeCueOA guS+i+Wmgu+8miIxIiwgIjIwMCLjgIInLG51bWVyaWM6J+ivt+i+k+WFpeS4gOS4 quaVsOWtl++8jOS+i+Wmgu+8miIxIiwgIjEuMSIsICItMSIsICItMS4xIuOAgics ZGlnaXRzOiLor7fovpPlhaXnlLHmlbDlrZflkozmoIfngrnnrKblj7fnu4TmiJDn moTlhoXlrrnjgILkvovlpoLnlLXor53lj7fnoIHjgIIiLGFscGhhOiLor7fovpPl haUgQS1aIOeahCAyNiDkuKrlrZfmr43vvIzkuI3og73ljIXlkKvnqbrmoLzmiJbk u7vkvZXlhbbku5blrZfnrKbjgIIiLGFscGhhbnVtOiLor7fovpPlhaUgQS1aIOea hCAyNiDkuKrlrZfmr43miJYgMC05IOeahCAxMCDkuKrmlbDlrZfvvIzkuI3og73l jIXlkKvnqbrmoLzmiJbku7vkvZXlhbbku5blrZfnrKbjgIIiLGRhdGVTdWNoQXM6 Iuivt+i+k+WFpeWQiOazleeahOaXpeacn+agvOW8j++8jOWmgu+8mntkYXRlfeOA giIsZGF0ZUluRm9ybWF0TURZOifor7fovpPlhaXlkIjms5XnmoTml6XmnJ/moLzl vI/vvIzkvovlpoLvvJpZWVlZLU1NLUREICgiMjAxMC0xMi0zMSIp44CCJyxlbWFp bDon6K+36L6T5YWl5ZCI5rOV55qE55S15a2Q5L+h566x5Zyw5Z2A77yM5L6L5aaC 77yaImZyZWRAZG9tYWluLmNvbSLjgIInLHVybDoi6K+36L6T5YWl5ZCI5rOV55qE IFVybCDlnLDlnYDvvIzkvovlpoLvvJpodHRwOi8vd3d3LmV4YW1wbGUuY29t44CC IixjdXJyZW5jeURvbGxhcjoi6K+36L6T5YWl5ZCI5rOV55qE6LSn5biB56ym5Y+3 77yM5L6L5aaC77ya77+lMTAwLjAiLG9uZVJlcXVpcmVkOiLor7foh7PlsJHpgInm i6nkuIDpobnjgIIiLGVycm9yUHJlZml4OiLplJnor6/vvJoiLHdhcm5pbmdQcmVm aXg6IuitpuWRiu+8miIsbm9TcGFjZToi5LiN6IO95YyF5ZCr56m65qC844CCIixy ZXFDaGtCeU5vZGU6IuacqumAieaLqeS7u+S9leWGheWuueOAgiIscmVxdWlyZWRD aGs6IuatpOmhueW/heWhq+OAgiIscmVxQ2hrQnlOYW1lOiLor7fpgInmi6kge2xh YmVsfS4iLG1hdGNoOiLlv4XpobvkuI57bWF0Y2hOYW1lfeebuOWMuemFjSIsc3Rh cnREYXRlOiLotbflp4vml6XmnJ8iLGVuZERhdGU6Iue7k+adn+aXpeacnyIsY3Vy cmVuZERhdGU6IuW9k+WJjeaXpeacnyIsYWZ0ZXJEYXRlOiLml6XmnJ/lv4Xpobvn rYnkuo7miJbmmZrkuo4ge2xhYmVsfS4iLGJlZm9yZURhdGU6IuaXpeacn+W/hemh u+aXqeS6juaIluetieS6jiB7bGFiZWx9LiIsc3RhcnRNb250aDoi6K+36YCJ5oup 6LW35aeL5pyI5Lu9IixzYW1lTW9udGg6IuaCqOW/hemhu+S/ruaUueS4pOS4quaX peacn+S4reeahOS4gOS4qu+8jOS7peehruS/neWug+S7rOWcqOWQjOS4gOaciOS7 veOAgiIsY3JlZGl0Y2FyZDoi5oKo6L6T5YWl55qE5L+h55So5Y2h5Y+356CB5LiN 5q2j56Gu44CC5b2T5YmN5bey6L6T5YWle2xlbmd0aH3kuKrlrZfnrKbjgIIifSk7 CkxvY2FsZS5kZWZpbmUoInpoLUNIVCIsIkZvcm1WYWxpZGF0b3IiLHtyZXF1aXJl ZDoi5q2k6aCF5b+F5aGr44CCICIsbWluTGVuZ3RoOiLoq4voh7PlsJHovLjlhaV7 bWluTGVuZ3RofSDlgIvlrZfnrKYo5bey6Ly45YWle2xlbmd0aH0g5YCLKeOAgiAi LG1heExlbmd0aDoi5pyA5aSa5Y+q6IO96Ly45YWle21heExlbmd0aH0g5YCL5a2X 56ymKOW3sui8uOWFpXtsZW5ndGh9IOWAiynjgIIgIixpbnRlZ2VyOifoq4vovLjl haXkuIDlgIvmlbTmlbjvvIzkuI3og73ljIXlkKvlsI/mlbjpu57jgILkvovlpoLv vJoiMSIsICIyMDAi44CCICcsbnVtZXJpYzon6KuL6Ly45YWl5LiA5YCL5pW45a2X 77yM5L6L5aaC77yaIjEiLCAiMS4xIiwgIi0xIiwgIi0xLjEi44CCICcsZGlnaXRz OiLoq4vovLjlhaXnlLHmlbjlrZflkozmqJnpu57nrKbomZ/ntYTmiJDnmoTlhafl rrnjgILkvovlpoLpm7voqbHomZ/norzjgIIgIixhbHBoYToi6KuL6Ly45YWlQVog 55qEMjYg5YCL5a2X5q+N77yM5LiN6IO95YyF5ZCr56m65qC85oiW5Lu75L2V5YW2 5LuW5a2X56ym44CCICIsYWxwaGFudW06Iuiri+i8uOWFpUFaIOeahDI2IOWAi+Wt l+avjeaIljAtOSDnmoQxMCDlgIvmlbjlrZfvvIzkuI3og73ljIXlkKvnqbrmoLzm iJbku7vkvZXlhbbku5blrZfnrKbjgIIgIixkYXRlU3VjaEFzOiLoq4vovLjlhaXl kIjms5XnmoTml6XmnJ/moLzlvI/vvIzlpoLvvJp7ZGF0ZX3jgIIgIixkYXRlSW5G b3JtYXRNRFk6J+iri+i8uOWFpeWQiOazleeahOaXpeacn+agvOW8j++8jOS+i+Wm gu+8mllZWVktTU0tREQgKCIyMDEwLTEyLTMxIinjgIIgJyxlbWFpbDon6KuL6Ly4 5YWl5ZCI5rOV55qE6Zu75a2Q5L+h566x5Zyw5Z2A77yM5L6L5aaC77yaImZyZWRA ZG9tYWluLmNvbSLjgIIgJyx1cmw6Iuiri+i8uOWFpeWQiOazleeahFVybCDlnLDl nYDvvIzkvovlpoLvvJpodHRwOi8vd3d3LmV4YW1wbGUuY29t44CCICIsY3VycmVu Y3lEb2xsYXI6Iuiri+i8uOWFpeWQiOazleeahOiyqOW5o+espuiZn++8jOS+i+Wm gu+8mu+/pTEwMC4wIixvbmVSZXF1aXJlZDoi6KuL6Iez5bCR6YG45pOH5LiA6aCF 44CCICIsZXJyb3JQcmVmaXg6IumMr+iqpO+8miIsd2FybmluZ1ByZWZpeDoi6K2m 5ZGK77yaIixub1NwYWNlOiLkuI3og73ljIXlkKvnqbrmoLzjgIIgIixyZXFDaGtC eU5vZGU6IuacqumBuOaTh+S7u+S9leWFp+WuueOAgiAiLHJlcXVpcmVkQ2hrOiLm raTpoIXlv4XloavjgIIgIixyZXFDaGtCeU5hbWU6Iuiri+mBuOaThyB7bGFiZWx9 LiIsbWF0Y2g6IuW/hemgiOiIh3ttYXRjaE5hbWV955u45Yy56YWNIixzdGFydERh dGU6Iui1t+Wni+aXpeacnyIsZW5kRGF0ZToi57WQ5p2f5pel5pyfIixjdXJyZW5k RGF0ZToi55W25YmN5pel5pyfIixhZnRlckRhdGU6IuaXpeacn+W/hemgiOetieaW vOaIluaZmuaWvHtsYWJlbH0uIixiZWZvcmVEYXRlOiLml6XmnJ/lv4XpoIjml6nm lrzmiJbnrYnmlrx7bGFiZWx9LiIsc3RhcnRNb250aDoi6KuL6YG45pOH6LW35aeL 5pyI5Lu9IixzYW1lTW9udGg6IuaCqOW/hemgiOS/ruaUueWFqeWAi+aXpeacn+S4 reeahOS4gOWAi++8jOS7peeiuuS/neWug+WAkeWcqOWQjOS4gOaciOS7veOAgiAi LGNyZWRpdGNhcmQ6IuaCqOi8uOWFpeeahOS/oeeUqOWNoeiZn+eivOS4jeato+ei uuOAgueVtuWJjeW3sui8uOWFpXtsZW5ndGh95YCL5a2X56ym44CCICJ9KTsKRm9y bS5WYWxpZGF0b3IuYWRkKCJ2YWxpZGF0ZS1jdXJyZW5jeS15dWFuIix7ZXJyb3JN c2c6ZnVuY3Rpb24oKXtyZXR1cm4gRm9ybS5WYWxpZGF0b3IuZ2V0TXNnKCJjdXJy ZW5jeVl1YW4iKTt9LHRlc3Q6ZnVuY3Rpb24oYSl7cmV0dXJuIEZvcm0uVmFsaWRh dG9yLmdldFZhbGlkYXRvcigiSXNFbXB0eSIpLnRlc3QoYSl8fCgvXu+/pT9cLT8o WzEtOV17MX1bMC05XXswLDJ9KFwsWzAtOV17M30pKihcLlswLTldezAsMn0pP3xb MS05XXsxfVxkKihcLlswLTldezAsMn0pP3wwKFwuWzAtOV17MCwyfSk/fChcLlsw LTldezEsMn0pPykkLykudGVzdChhLmdldCgidmFsdWUiKSk7Cn19KTs= ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline; filename=caption.js Content-Type: application/javascript; name=caption.js Content-Location: http://bassreview.net/home/media/system/js/caption.js Content-Transfer-Encoding: Base64 LyoKICAgICAgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIg b3IgbGF0ZXI7IHNlZSBMSUNFTlNFLnR4dAoqLwp2YXIgSkNhcHRpb249ZnVuY3Rp b24oYyl7dmFyIGUsYixhPWZ1bmN0aW9uKGYpe2U9alF1ZXJ5Lm5vQ29uZmxpY3Qo KTtiPWY7ZShiKS5lYWNoKGZ1bmN0aW9uKGcsaCl7ZChoKX0pfSxkPWZ1bmN0aW9u KGkpe3ZhciBoPWUoaSksZj1oLmF0dHIoInRpdGxlIiksaj1oLmF0dHIoIndpZHRo Iil8fGkud2lkdGgsbD1oLmF0dHIoImFsaWduIil8fGguY3NzKCJmbG9hdCIpfHxp LnN0eWxlLnN0eWxlRmxvYXR8fCJub25lIixnPWUoIjxwLz4iLHt0ZXh0OmYsImNs YXNzIjpiLnJlcGxhY2UoIi4iLCJfIil9KSxrPWUoIjxkaXYvPiIseyJjbGFzcyI6 Yi5yZXBsYWNlKCIuIiwiXyIpKyIgIitsLGNzczp7ImZsb2F0IjpsLHdpZHRoOmp9 fSk7aC5wYXJlbnQoKS5iZWZvcmUoayxoKTtrLmFwcGVuZChoKTtpZihmIT09IiIp e2suYXBwZW5kKGcpfX07YShjKX07 ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline; filename=script.js Content-Type: application/javascript; name=script.js Content-Location: http://bassreview.net/home/modules/mod_minifrontpage/themes/tabbed-fade-in-out/assets/script/script.js Content-Transfer-Encoding: Base64 alF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpew0KCWpRdWVyeSgnLm1p bmlmcm9udHBhZ2UtdGFiYmVkLWZhZGUtaW4tb3V0JykuZWFjaChmdW5jdGlvbigp ew0KCQl2YXIgdGhlSWQgPSBqUXVlcnkodGhpcykuYXR0cignaWQnKTsNCg0KCQl2 YXIgbWZwRWxlbWVudCA9IGpRdWVyeSgnIycrdGhlSWQrJyAuYW5pbWF0ZScpOw0K CQl2YXIgbWZwRWxlbWVudExlbmd0aCA9IG1mcEVsZW1lbnQubGVuZ3RoOw0KCQkN CgkJaWYobWZwRWxlbWVudExlbmd0aD4xKXsNCgkJCXZhciBhZGR0byA9ICc8dWw+ JzsNCgkJCWZvcih2YXIgaT0wO2k8bWZwRWxlbWVudExlbmd0aDtpKyspew0KCQkJ CWFkZHRvICs9ICc8bGk+PHNwYW4+JysgKGkrMSkgKyAnPC9zcGFuPjwvbGk+JzsN CgkJCX0NCgkJCWFkZHRvICs9ICc8L3VsPic7DQoJCQlhZGR0byArPSAnPGRpdiBj bGFzcz0iY2xyIj4mbmJzcDs8L2Rpdj4nOw0KCQkJalF1ZXJ5KGFkZHRvKS5hcHBl bmRUbygnIycrdGhlSWQrJyAjbWZwdGFicycpOw0KCQl9DQoJDQoJCW1mcEVsZW1l bnQuaGlkZSgpOw0KCQlqUXVlcnkoJyMnK3RoZUlkKycgLmFuaW1hdGU6Zmlyc3Qn KS5zaG93KCk7DQoJCWpRdWVyeSgnIycrdGhlSWQrJyAuYW5pbWF0ZTpmaXJzdCcp LmFkZENsYXNzKCdhY3RpdmV4Jyk7DQoJCWpRdWVyeSgnIycrdGhlSWQrJyAjbWZw dGFicyBsaTpmaXJzdCcpLmFkZENsYXNzKCdhY3RpdmV4Jyk7DQoJCW1mcEVsZW1l bnQuY3NzKCdwb3NpdGlvbicsJ2Fic29sdXRlJyk7DQoJCS8vbWZwRWxlbWVudC5j c3MoJ3dpZHRoJyxtcGZBbmltYXRlRGl2KyclJyk7DQoJCWpRdWVyeSgnIycrdGhl SWQrJyAubWluaWZyb250cGFnZWlkJykuY3NzKCdoZWlnaHQnLCBqUXVlcnkoJy5h bmltYXRlOmZpcnN0JykuY3NzKCdoZWlnaHQnKSk7DQoJDQoJCWpRdWVyeSgnIycr dGhlSWQrJyAjbWZwdGFicyBsaScpLmxpdmUoJ2NsaWNrJywgZnVuY3Rpb24oKXsg DQoJCQl2YXIgY3VycmVudCA9IGpRdWVyeSgnIycrdGhlSWQrJyAjbWZwdGFicyBs aS5hY3RpdmV4JykuaW5kZXgoKTsNCgkJCXZhciBpbmRleCA9IGpRdWVyeSh0aGlz KS5pbmRleCgpOw0KCQkJaWYoIGN1cnJlbnQgIT0gaW5kZXggKXsNCgkJCQlqUXVl cnkoJyMnK3RoZUlkKycgI21mcHRhYnMgbGkuYWN0aXZleCcpLnJlbW92ZUNsYXNz KCdhY3RpdmV4Jyk7DQoJCQkJalF1ZXJ5KHRoaXMpLmFkZENsYXNzKCdhY3RpdmV4 Jyk7IA0KCQkJCQ0KCQkJCWpRdWVyeSgnIycrdGhlSWQrJyAubWluaWZyb250cGFn ZWlkJykuYW5pbWF0ZSh7DQoJCQkJCWhlaWdodDogalF1ZXJ5KG1mcEVsZW1lbnRb aW5kZXhdKS5jc3MoJ2hlaWdodCcpDQoJCQkJfSwNCgkJCQl7DQoJCQkJCXN0ZXA6 IGZ1bmN0aW9uKG5vdywgZngpIHsNCgkJCQkJCWpRdWVyeShtZnBFbGVtZW50W2N1 cnJlbnRdKS5mYWRlT3V0KCk7DQoJCQkJCQlqUXVlcnkobWZwRWxlbWVudFtpbmRl eF0pLmZhZGVJbigpOw0KCQkJCQl9DQoJCQkJfSk7DQoJCQl9DQoJCQlyZXR1cm4g ZmFsc2U7DQoJCX0pOw0KCX0pOw0KfSk7 ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline Content-Type: text/css Content-Location: http://bassreview.net/home/media/system/css/system.css Content-Transfer-Encoding: 8bit /** * @copyright Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ /* System Messages */ #system-message { margin-bottom: 10px; padding: 0; } #system-message > dt { font-weight: bold; display: none; } #system-message > dd { margin: 0; font-weight: bold; text-indent: 30px; } #system-message > dd > ul { color: #0055BB; background-position: 4px top; background-repeat: no-repeat; margin-bottom: 10px; list-style: none; padding: 10px; border-top: 3px solid #84A7DB; border-bottom: 3px solid #84A7DB; } #system-message > dd > ul > li { line-height: 1.5em; } /* System Standard Messages */ #system-message > .message > ul { background-color: #C3D2E5; background-image: url(../images/notice-info.png); } /* System Error Messages */ #system-message > .error > ul, #system-message > .warning > ul, #system-message > .notice > ul { color: #c00; } #system-message > .error > ul { background-color: #E6C0C0; background-image: url(../images/notice-alert.png); border-color: #DE7A7B; } /* System Warning Messages */ #system-message > .warning > ul { background-color: #E6C8A6; background-image: url(../images/notice-note.png); border-color: #FFBB00; } /* System Notice Messages */ #system-message > .notice > ul { background-color: #EFE7B8; background-image: url(../images/notice-note.png); border-color: #F0DC7E; } ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline; filename=system.css Content-Type: text/css; name=system.css Content-Location: http://bassreview.net/home/templates/system/css/system.css Content-Transfer-Encoding: 8bit /** * @copyright Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ /* Import project-level system CSS */ @import url(../../../media/system/css/system.css); /* Unpublished */ .system-unpublished, tr.system-unpublished { background: #e8edf1; border-top: 4px solid #c4d3df; border-bottom: 4px solid #c4d3df; } span.highlight { background-color:#FFFFCC; font-weight:bold; padding:1px 4px; } .img-fulltext-float-right { float: right; margin-left: 10px; margin-bottom: 10px; } .img-fulltext-float-left { float: left; margin-right: 10px; margin-bottom: 10px; } .img-fulltext-float-none { } .img-intro-float-right { float: right; margin-left: 5px; margin-bottom: 5px; } .img-intro-float-left { float: left; margin-right: 5px; margin-bottom: 5px; } .img-intro-float-none { } ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline; filename=general.css Content-Type: text/css; name=general.css Content-Location: http://bassreview.net/home/templates/system/css/general.css Content-Transfer-Encoding: 8bit /** * @copyright Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ /* Form validation */ .invalid { border-color: #ff0000; } label.invalid { color: #ff0000; } /* Buttons */ #editor-xtd-buttons { padding: 5px; } .button2-left, .button2-right, .button2-left div, .button2-right div { float: left; } .button2-left a, .button2-right a, .button2-left span, .button2-right span { display: block; height: 22px; float: left; line-height: 22px; font-size: 11px; color: #666; cursor: pointer; } .button2-left span, .button2-right span { cursor: default; color: #999; } .button2-left .page a, .button2-right .page a, .button2-left .page span, .button2-right .page span { padding: 0 6px; } .page span { color: #000; font-weight: bold; } .button2-left a:hover, .button2-right a:hover { text-decoration: none; color: #0B55C4; } .button2-left a, .button2-left span { padding: 0 24px 0 6px; } .button2-right a, .button2-right span { padding: 0 6px 0 24px; } .button2-left { background: url(../images/j_button2_left.png) no-repeat; float: left; margin-left: 5px; } .button2-right { background: url(../images/j_button2_right.png) 100% 0 no-repeat; float: left; margin-left: 5px; } .button2-left .image { background: url(../images/j_button2_image.png) 100% 0 no-repeat; } .button2-left .readmore, .button2-left .article { background: url(../images/j_button2_readmore.png) 100% 0 no-repeat; } .button2-left .pagebreak { background: url(../images/j_button2_pagebreak.png) 100% 0 no-repeat; } .button2-left .blank { background: url(../images/j_button2_blank.png) 100% 0 no-repeat; } /* Tooltips */ div.tooltip { float: left; background: #ffc; border: 1px solid #D4D5AA; padding: 5px; max-width: 200px; z-index:13000; } div.tooltip h4 { padding: 0; margin: 0; font-size: 95%; font-weight: bold; margin-top: -15px; padding-top: 15px; padding-bottom: 5px; background: url(../images/selector-arrow.png) no-repeat; } div.tooltip p { font-size: 90%; margin: 0; } /* Caption fixes */ /* Caption fixes */ .img_caption .left { float: left; margin-right: 1em; } .img_caption .right { float: right; margin-left: 1em; } .img_caption .left p { clear: left; text-align: center; } .img_caption .right p { clear: right; text-align: center; } .img_caption { text-align: center!important; } .img_caption.none { margin-left:auto; margin-right:auto; } /* Calendar */ a img.calendar { width: 16px; height: 16px; margin-left: 3px; background: url(../images/calendar.png) no-repeat; cursor: pointer; vertical-align: middle; } ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline Content-Type: image/png Content-Location: http://bassreview.net/home/templates/bassreview/images/header.png Content-Transfer-Encoding: Base64 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 3zBqXxTEXPazZZUGAD55Y71VAAzN35I4IASAsfeSszbfYgDwcgqAsR0qaijjJHHf EXmfNAGw/+xSnncuAL6JAGDqXJG49n+c4SmYc/W+76czgL3YLxH72cn1/nLJ9d7A YqL/nvPdV3lnKG8M/O5PwPF8g3LnPPmfl1x5ZaiD4h8auZLcUCeVZ2f8/t9OYcEv Dhu4gNY/APsb+p5zMeiFm/x5Ziv/zwGwseKD3wLP28/n40jdt0uhxDv/uAnbhfH8 5wKJj4BQzgAwHwCHOmNq52UNAMcB8GXAXiomfj0Pqt8CcOLXc/CAcU7/+Wp/f7U/ vtpv3xIW3wP6t8D+l6+v/edsv361/3r2+/lzb//97e2/Xz/zp1shzg6Cv1ea//nt u79OKt5C9+t54P/iTQY/f13kfz1D2AvkDVW//+LYt4nmdnVtX4/Ht1/Owdmf3nG/ BWj/9T//9dhD9vP5+r1du7/O1//vsxLgz4vq9zwJTqr0ofM5XdvbcfqL+y/n54U2 8SGDGikAlsC8VLUw1agq3toAWGv/YPfz3L2PNQEwpfOAEABHnSlnDL3D4fMY/emS sDmPw7ex+8/F8ThF5sDUHk4x+CtV7GMBMBbAUhOtHABsCuA8AJitXFjRWmenAnhq EoCi/oUAJRniKn02ZnertCJX8vtcAAxB2Mc32PpdufQGfi7K2V9ce4OpT5t3+66y fYOaq29Q8++HM6zlAGDH/nk7hjdo9qbg/XpMPz98V9i+mfv7bwD38vo3+/q+/5w/ 83Zs//rtoCEF8vm4vqk0z3D296/26xn4fQPLDAD8Bu3+cp7Xt6T+3+ff+Pn83f85 v+8fioL3CgBznpvvkOGPb+B3+c2/f4sPfj0DwN9cEOyM11/P9wSTqP3nXEj1tp6+ QZC35+g/zrV5W1vf7NeAgvXiJ/92SVjcOVDkLjVewmDk77Mi+/fLcTn268XHdmKD b77A27VxwP0f5+sF2S8XO3/22/e4z+f9+Vn5Fk98v94X2PqnB5j+OR/XJIYJJE5+ Pl+/t6TJX5fEzrkL0p+OAvjt3H93jvntOgTP6W0eONv7s+0kcX45x3FoMJFaEyYA eamjAM4JgEPA44Q8/lSCXby2x+C5X/AXAsAM+HznAaUcAPgoBMAQBPbXL2ybe6fg A1IPX+bDSyx/mR/e4fDbfPy2Lpw7SbzNl2+v/XleH/6F2vKnFPsUVd3N8vqa3BFB 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 YII= ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline Content-Type: image/png Content-Location: http://bassreview.net/home/templates/bassreview/images/object988014669.png Content-Transfer-Encoding: Base64 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 9zteR3BXbUE33XqC9Zam4/WFWdixFATN38zbn7+gGKZdvaUM7ZjBndySdkWTSIMU fseRbvzE5Q5iuRp+y7KEslNS+zulxmG9bWseKorLHfYlJdBIacAs4e3TsnIZvr4D 1QjlyreDr4OSjaS8XAeuF9ujtuU21nwbZVt7Zdtp2q6kuKU0jijzJo0YY0mGZr3n uj/b/5K2A9vg27Ft2lC3vz1+Rdseziv26bDj5wZLxWFbWBoEp+2V+UjxWIxun/wd X2wleeFg/GueRM2x7czftLnlSUB2cntEXdW6PeZymS1sXxKFVPrpuOPb3Vl3Zzu5 Huvu3+o2nPawrTueORUTk2B21KOYJuc5Nu3nTT3Zbq3ZvKklS1pteAkJLOW0E9sc +uSqTtNEzdlh7deslapsO/5d8mnYPpaFSaAThfHkaM047pRjO9mm0nZHB/YL11Pk 5JqKFm20upya9cxtTxwb9ZxU53oSxwivG1wfnmtcV3PclGWbYy5rBNfd9rs1g4fP 20HUIMZlNimCt8+KLG6mNcdhsLaw7ADm9CnL+nQT+WTDSX5ExxHXg5/oho95EzDb Ni8DlivnrRejV6Zdl8UZ8XhtkpquxU16gGA9caprjiELRSqybve2+yykor9/bedZ lj3qWo6GXCiVjOMiSy4+N9Bogd4tp7P97IZxyO06DIQ6HAb+7npzdENDmiy8HTfd BO7hiMJzMARjL479/qzUU3JB46ZkYH/6eLhG15ti13gkhMITwOMWfJGRGfu/WOcX rb6Nq7MKLzI/wJA1vmP1lR4WIxmtZTjPiPVw33NZ5pmNkwErZq9snVofvLmn87NM 0O21JeoBH+omRBItrUUOv1cFJcRCt2jsS2NfHlmAdM+PFb0XZfLO6hIAX04mdRID pBiik0MffFfvCMal6zPyC5aXwv7mRvTtccAJvVLRKtwk+MX3TxPGdSHZ1Vjiqznb L2q004CvLJ9YDQPv/gyA0/Os0NVlKN4rybJ4TeEtvnsRgtVawd//NgB/FRT+TWzM N9M0vyd++Pt1AMwTXyEA17B8tnTJ9SyO0f0IOuA4yoa16BBMqPPNP7EjnQvYws/t hoMinwadX0zZvhUF4qmQOy/gjgB8EBf9TqoA51IAL/6NgFyJQucEwpgZDufFkSJK 9S5039fdme4QqOmT6/nvcvp+cJ5db74xnTNPX2uh9DcODPR/p8ECfpzwkwrSN4MP fACiq92Bid1OnSYGLkj5caXBBSpuj3XqNhSrW4kC732txABILQZAcFpBtfN4ofhO 4fiSf+IgBwLvhgZQCr7Okq+zVIrJy/lxGj/XuzaNv7hGduo1Iwddmnm639vfdp3l 9r359xN69vte+dz3568Hr71W24Gd3W789+Hp3W2iYy+OcV3VzSBR1ZyXUhmsar/v xDXRDGKJmBf1OqiU5VBxGVwvXTvyd2W5ulKXaVWer8566BoqztpQ18evbXn/l13t tFGI63TbttksX7X7ruxrqay7HFC+3VU7kHe27vP199vCv5v7U7ahrLO//m7bZbOd 8l6pK6Wdqrsevv/lDC3EdpXtvX9hmWY7iuFnwdn2NcfmfH+n91W97spOm53jp14n Zf98lJ3rrCzP11N1nl/tseifn/7xlcqPWdEcc9lWWZXn+y7vi85xLnrPvKFtnKHV +f1HOrHPmGhGnV7Tfa2et8vrHF5P/34upu/1cvg+at8v7d9y2Xr0vlPmF/Vb27/b c4adbfXcDd/H3edMe+4KPuh+9vyZeh6cPx8uz3OumAhI3ZduO9vO8TrbD2VebnCo 2L6uLmzLxDmqhp7ZA/eIsk6ufFo9st5aXUb5fmk75fnE/mRJ5X1GzumlY9xZZzG4 L+e6FX1a8alcd51zh/1dzISM/WKqQbxV3pfj1zDpVtQzLpR1TGgpt6fTXler5vt4 /eNKGJkuXyPKfSvyu1C/D/v7G554iwaesQaxCI2kPgTWa95iiBQOsPJrkvr78BsN FuBgtwwT6STY6gLj4WI5pFQBeJ5YLE+AizJuyML9RLhFI5pLZV5tFgLw4vGhRH9Y +k+pT0weqfuqDdV5VT3iYfjtWNll7fVjwYFUzRDeH5CRgw9nA1ojccEjSgOFSjkr hOAo8J9ETPBftwJLAP4uNoTUtKwfSRA9VFHCAfisDrCaaMmaKBtkUgmk2IQT74dk WUVgSeGiyFDjmCwrvJYvAnBEIIyj3HEUkKIVAEcJ8QLCuE+M4cIRVCybhGU38KLH Cz1GF2jXpeyhOCqERc1LqmvGrT7ofoBFsnFdRxEHjJbP0Ie2AcZTuGBjLKXk8s9b NRHaTnNJ+9MTMb2/bHe5/vxD6zmfL2nW555p6vHPaL2i44cPUbQcYmkQdCfGT0y0 0yhN7yrGyEgrIcb2ouI0ri4s54rl+fe18p3+7rXXmRfjozAJltD+d8xeuVq2GaLx cymnTyi2i+17isp10t+equ2+nKs3S/2++hPfX6X+TG3nl9bfUDmHeBwwLi2C+40D 245b+JpRvc2glWpP1kReM3CPD92dtNrkg5Y4slrV+AJP6b5Eq5a07jUW48b62Vr5 cDn8m9cvzBRroWJ9OrMA8uVwlLWElyTWNsRagvTbTlpMt10LcsUtbftmP/nfG1E3 kS9bCAtr0bOI9i2lwgK929L60VIuLa7c6tpasHeNtVha29vtku3VsB1YqxH3QZ3e zle0ludq21rUle+4T9g2ZtQsMUFduWnbENbjvfp3NdaetE5vqY1Cbhe1UZ5bw5Vz OrRd/enoTVDITo+Ytutsy7mqx23X+/sgvAVwv/E8kLeC2MbuvKrHQ7t9u4H17zrX Dp5j7qWD757+NjRa4nnkn7ie46EkSzQeQ1wOP3cD279vztuGntk4H79Wh5eRHhvt 56b9e2R+uV+4fRvRwZbX5Y6OSTGwLxtS/Bu9AeCBwU6wT/g37g9e73KeWm4radsG dcqpmkNO6yYtNp3lplUs0/k+rHzbC1FSJaf7Uv6G10R11l63TX7OKtjPGjq7tfDM 4KBQN/CzHW0D14HrRa0KdXpfNwI+2mlqu808F1UFKr7v+J3KyWzzZh68dkt1GbGt HJg2ne3C9UsvliN+4mBAWXTW1WznGOwJLeh6VmCrA07qPgztF/9eKnq2z7351Gmd v8X24jT0TqLzI7axC3Lbs/NSnW3ryPnswKW6vf192J7vq9wWfH6hcUj0m/FZ1hiE yBiUt3BMx5arvObovG/4MS9kWaGz37oqwZnnc8mbvC531430ihQ1icXf6K1TQT8e vQTQa2KHVvhSZIKmuNsjDbwh+FJt4qomr0+Mx6V3vAwNGKiR3lpBu9PGXYm51Zqq KWBCOegXkCGGPOAKykwdK2VFoyiG85QxxzTIs+AorL8cgNFFu+bQ21ja7wO+PBkV B3UKNdpzL55ikxAT4XOe4XNsX7QVKQiEpSV/yBV6ZgzwoOdMawnGmsHQH3/821bg LwvD+KJYfn8KIv9lWfavJIz+VCEAsBoDvAIABZhV4bdbCuk8JhgTYGHCpSLmGZmL bcnSEDPrYVZXdN/NCFjRfQxd+xCEsyQEOA5AQ3JFQfjFzKexAr/+ygFYXVLHBt0h XABsjF/FxA5Y87PGDja0s4kwsQF08tcATMaCXNRkXDDGAC9tm9fEFYmuViJBlPuB tR/Xe22SLpwXrfOeZdDxXoti4tcoxePKWF2lxBDF4ZpmJ8uwKTMNN7+ZnXrB8rdr t8EWccI6Xvc+iueS3Mw3BQ0o1VQDFLQKGSsjih9rFe7nHY+dwzgujBfEeCJ24PGX TMQ8tnGaIm7ygK5OCSWU8lcWJeJo4oZlPCX+fcwpoVazPMUAx5Q5mscARzw2uR+7 KuNFlThljDs+jwFW4k9FbDJjW75uEUPKt4UnwQo8HntMsUhHJX51lzYxoE1bqorY 1zwJKH6TYlpxmw75WawxY5gPoWxje2U8sYhjxhhgPNZZ6Lajuep8gzHNamwz3+8j xdj6LMRkSpgES8TCtrHE+UhM88C+HRFyEhbAeUmDJU8wdlC3XzlGzXmZiN0VMcOY tAyvEUwUw89zrsQyKzHJu16MeX/766yJVT7B9lL5G3h3UHItisXOR9rrxQFPxUaL 67A5x5nfvSaUuGk+Gq/ERNNxzHrxvGmT+KuJTd7xTgoO4kb+Cr6L679Om5jhJiZ5 QGWcazst7ehJ7uOOu6by0oQrHvMuY7rFcW6SxMlYYBE7zJeVf2e9+OS0k1zu1Iv3 xuuHznVnHTdqnTXatCf/FtfyRpwrdGHk11beJK47Vdl5ezK7KcaSw2e95eVd5D0o E9F1E9glTbwyxh3LBHShjwPLDiWBogR0dT4Yz3fq1xkd0aZuajnhDlnKjLUpgYQL +47P0n0hYivVhESy3aYsXdxAwqlqr8U84VmTZTI8mbyou31d182DktiP1+X2KNs4 Jo+Sx61fU73r9jyvVvlZLfnBeZRM+2J7qdY6bA9lqS9ika1/yL36fJuG9DD22zae yBAfndc+JhdonwZjd8LTAgccN5HLNuGSskrL8kP9etI8+7YPzzyPdCh5WJOES6nX fOaWPVmbupfJfig5Xs8F/KC0T+7YSpy4mpxrv+3Glu82PO4ZtxlLMu2lB15VigRU NcExulRjDDOVeGribMdUrT+cTSSbEm7gBS/9RCGY24IGI3aw7tPhQOEN1D8VVVZC 0b/GcLROriPMcYQu0/Je6wPwpXt6ImFX8+zDbMzHHTmNH7B0bBQxD8uOwXY1OYWx bjEaCqpeWMNF6M2vVv4MxYGc9Nm27b9nBXYc54vrrn/ARsi01D8Fkf+2bechC+NH AGBW9i3AZwA8HQe8AsBB2MqjgE4Cug7iCMkWR0zwBs4TsuqUMr4VR7UAyjZpRHE6 GKuWie8bsjSlTfxaDoBMo84gSZrzAuaYJAetw/Bg3cJyNY2OFTSqh4CN7glyFAaz QK+cJW2vLIPkUoIoY7IM0kdQ/2blpZcQ8n3bpBEsXxmxGktMZRhtQimEVazhvMKi 41jLWahDpYvmalvjl5c5WookVjwJFv7Nf5eljBwCboRsBLUw9Gn0E62PaEGWSbCG 6v82CbX64L0wzrIgdxNnGRd0ccdEW8ad9UKbRne78d6RrrBYogwzbVPN2kPGk/cU SuIe7Hyj1jwpBmaBxqQ5mGCDoLVWE+XETQZpgkeZBVpAs8wC3YJARoB8lDAsO94C gLHjiMmzKDnPLlOSZwwn1JBwiQCMdY2TYNWOikqAFevc437u1M47/461A3EfMWkU dmY5JGcD6+trCxUZdBTRc2ETt0mdTgrcU/IhLHWDna4GkPO2037Y0ui3R54bawHA 2y4Y7vLe330AyEXm5ZyXngEQ5IDZrus/9s4WyE2vC+ORkVkZmXWRmbrITFUkMzVY ZmqQiAosogKJ6QwW0xkkqoPEdZC4RUZuZOR9z3PuBxdCPna7bfffl9s5zRchCZDs /fGc85yTgb/kipmWBau0bSv1vgJnrU5M6O2jQGvEoIqPEQvw9HbUrwWYxDGCibGG 2T5ERf1tb71nbX51sq4zuLQptypCGzUGHwVtfUgbGkRZ4Do8zjRUKsBP4PTNhj7K BKs+N5vShlZYPk9QC7ohANwbV+8x+JMTGWWCtZd9gHsmWIPvWs9My3Iqv2iCVXYt rdj1HCZYG+kC3bme9x3aT2z45KsTYTFPIGGCtqG/KYBZbhdmAH38dfW+lu7ZyiBO HSPHwT4Y+25djTGjrioyxy/cfrfrlfo+JmfHwRAyRdVtG3y+1WLOv3n8G9l0JyKG Rl8dAIe8nDYNxHPliZLEOJ8PP0N/HZZB11lExnjMdqA36+CaVPn7jWMSQASj0B2f tPTMcWqWLTrzLmng1bW9ky3gAj45Iv+mzggW1fGofve75wfn5mDquu4ggJMBbEoX 7fm4PTdXGkTe9Yo/FP3X6se9hmG+MQhD4MQY/hbi7wzqZbHNTAvA7FJ4FwzAxqMH erYhlWXG1bCJljKuivdsgNXQbfgUnMTR9AFG66PUpePQX7OT9bHob8NWgaU043LY DEu2MVKtjFIJ1q3qU22M3cp+9PeD3w+9Xe3bg/02dtxqd/3WmHBdCGXixp/FmIPR 76y/FKm3ZMfrFCcCIvgvBAauG+10faFHfM813zj+n5+wGaZLa4dqvBcId3kuvYSQ XSGOB+KMmI8heK6AV5ZziDUrml915ljs4g1vImRQKAA/c6d+keIbd9999RsK3wtx OhrgRtkbWKjg7IaCbx9Nax0sUJqMP5263JYjPgdnEHzFDGsElIUyxiIe+0m/IX9H BfZ9/zHy/W/ubvu0Xq2+KxLHm/m2226/p374XF4E4OUIAC9HAXinaoGRZnxsK649 hbqE3l1JEso0HMv8iut0kffPKToUSNcp8l69ma6l0+lmOPODHHy4DSNlF5P35aAP 8PDMC0ZO6+B+ePQ+g9mKP8/+ItD3o9/L9/J9zo3l+svOby7767E0LtAe/oATAHth 2IMhDZJSXZ2bHrHawRmKL+B3x2mzOxObbQfDvetnIVOaDQzz7S2/pm6D1D2+Nsvh /rnqA4wTGq2qP0YKtw3PY9GB8PJl/Y3fXb/e8R6+4/2bx64vrP25MPs7YZv+ltO3 +T760WZIgNppJtn2ZDI0EIPUHqhqDLNNHw6GLYa4HQ4/Z89ZGdw7WKuJLVKcA26J Alg1k0uAHoV2geZ2RGXUKS9lfKbAnOw2RAe1XprQyzZIsfwRbqVDMwAXk/31csGA DBjW6pRWxLj8giauDARKBTpVSU9t6pQidVl1AIkTeki1RwsSDWralAZgBuBbs8v5 vHNTbrOu3UKTMgCzQQsBw8lqI3SqkvH3Yr0nuR75x4dVN3o9TMTRs3NMhTqdqVGd OmZaNtX6fcljIPR23YkJ0yexe3/92/Hoa+ltk7EZzV4UShU81ckVN8yxs+H91DVt /oFSGJRd5LHfU/4umorU0kDkWusJDW2oB+PWb1D5ew7IFkgpyITqudS/rzgBq1tb NSPtNupUfW8S2T9b9VDu2leNq4J2aEVyeL3fM1tue3YbRx/gvXodfP4zc6GuPRMu 0ePZPpkHSDzavaqLqDfJPKjn4jWR5YUT13DmPqljS06Oo9G0xdFWVz2To7DXt/yQ d33IdQsvfN90+x19XB7OzIi6vsy6V3n/c2Jiu6BJt/wOmf7XRTQwOwqNenowvahl iy997A+VxMbqNW33jR5X1C60pBq0jpKfI+T+u1x6tJWq+1Ft6/Ziz2W/68dKnyPy 9qrbwtJsB/wma/iVrZwAd/6gH3VnynRQUIJtgfcBN27dVqcebSs13oJKLzuMri/0 eZuorq2Ta/VIlu7MyB7co9Rpv5WqajrW9skdac/kXg3ZnskZf1w/ZoXdoomfG+1l SyAA8El2MUENdkm/kwVtu9TfcuDkRmf01R1Hcjuc94XWx0V7rT1bGQ5awoWmDdzF sNbZnrVcC7r9nLqdK/fQUducHPAMxFcR2kKtRUHwWwQrguCFSJ2ZSPYzhuE83ErH 63SoaIeW2VfXtqn33kq7DZ79mbtWTZi7yO+VfG/4u14UFe2Llk9IoAb4RHyBErKG eEWqwXOuBT5ZLVnZtwU+KGx2GA16E99yob7sTq3nLFxqdjgYlbeFr0SWyfZMOH7g c1TL920ICfc3Wc/orH1B66PecuW4aV+rU6FpPndq8mf6e/l9oAL/fgAm2JiFQfQx 2Ds/PYIKd7t9Xq+WnJNNcPPN3e9/pp4vqiCWALy32iANFGDnDK6WVg1wpwI79IOZ ufTlo50QEHABnlCTCJBBwXrGhkYJF61jjyCvv4V7G0fXCkkfRE17YIdgQG6EVjv0 QxopAJ6pdj4w1BLd+Q0Z6CesAZgOQA3AvgHg+Qjw6tZBtgrbf8y5+7HL67+9nreB YA3AWgH26Mtp/qBz6yKfU2EBQxp6NSxJYFoy8OKPqAHfbR9ux4C3B71aBVaAi+UW BoBXEnxXlkqs1GCtAKO9Ek564Ljh96naJQ2Bt+sjrFK03z3o/jmg1ic9UCMNs4kg DMz+xsQOqinDHn6gi4GiUkUmxRGg0gPgoXphADgeAPCGJya6LQ7O3mK/z2byvXGr kESlSB9zrv3BpNz041WqpQ1RpzGgalMFwFsJwFVowLgtpXopXxOKxlwqrFZaZ6MA 2Hd2XVuYOumlKp5GWxJYKZc0UUGbNgnAcafYKnUaZ4i1Oo/3gHYcp6Zr04P3UdkA XEYGom+mSdl9dvl9RlxmgtSsQqUenqorDpOl6g08SMvqwFwCMCCOJ9nNpe0RX+6/ qNepFFsNwLmCBO1Ue9ERcyTNspdy2cj0q5g+NzJGstjrwH/kOWfpoD2YtCeH3fcB AAw4RZsZDb/2RPJo0mAjVuD495QhYsEwrBXQY2k703bHMafPetJBmNtXqWXPQLGX pjme8tlP45SwpvcpJousNHOKfKBUv2gAhaq/chUzUOH31f48KE8pE19Cn3muDXCd 0grfDrwe94cuwv7yxQuAj1WfATiZNE39nuUlp6s7sg+whOPImiQPABDqqdouaNkj /w52fw9xMkOofta9dfB1Gdx/VH0uhr79TvYBVu+ntl1/Ncjxdd1LGKHWl9nrDs5h 0OrHW6XderAMfr8A3pgnOSrDgtUytT75PoLBOiQ06RRX/P7y5+d9Lf9e4LdcHx/9 vsABHx8yfNMHWEJZIEL0+6ZtkQZOB6fJoP+w9bzuun/en/hG3+J+2m8/KtVvGQDM Hic4+cZ9gP1Bj9/BevV7GYVgq2ex6UNs9VlOhv2KnQ6UTR9hz0AynzhADfrxIA4w M0U6tNqvaL2WeGu+bLgvcNh9t60TIXUvtdgC3/JSDHuiR/3HzyB5cL/VMsyouL1W V2PtquyWVrKVUxnRsRpuOFi55s+gjllu/bSXy1Dgum5TpXsddy3BtPI/aOFUdi2c DhdaqKHsRCq/ODGy5/Wx3wP4hNXVnOuOdUsmH3449D2L4oQ5RtYrq440SNuuMuWY Hb1Q/R2HY6GyvNjLgd2vkfZ85LTsExtuNZwBC2aCAixh/Sjbzp5kW6ZTm1sA/JJ6 3wtdDs5MsfS8CMZm0fNms/7+x2uBd7s9A3ASBN8DApiA4MMFoKxXP7e73Q/P9Z4z nw4sDcBKAc62EoC9iwrmcqAEdyrwjn4ooxUdvFHMTtBrTp/dcC9ggGvArQF2nKaM L7it2LJqK/pibtW0wg9kijSMAZASjR+tLfebnXHROYrpewXnh64PMEZhAHhBAKxT oG/D6e0U6Vtg+9q053GYvfTYSwEYk5aItmOm2trgD4GusbX79wIkkSa7HQXg7Vla dAe5QwhWAHymANsp0CMQTMsBjh1lqKXh1qRKG+jVMLzqqb8aNPqp3Sot2Ip/HYL1 /oQZF1y1sQ9sZUMCcKoAOOj12NQADDDChBypnxKAI7N8l/KmAUCnS8rnQHXlOrhT Tj/SGQOUPNZoPy0kEKLeEevE+2ClVvXjxR8wnS56HP0DotKoFchqBRhweyxCk3KN VEh5TOjXnIktgTcmEZz+3SSyxlUBcAd4Y9AZ9YHTOiObKgWYUy6rrucqVFz05NXw MF9IkGAFrVbOiQqkAcA4aQgF5mgB8OGs3u6yInhSy8NjQU/yjLJ7qdXCYJ3DtipQ pgH3ngGm5Kwe8DD6fuIzRU/DeEbHHgNw5Jn3cq78DZXBeFwhNNsqYQDWsHVS+2u8 ltAKq77tYCmKOnSKKwMwr9sxqamtUjxaNSnVMNkHqblUEpESq/rR2nV1B3XyCZM9 BmDXYXiQvWujy2B4pmRegco8NPuozqQCjO8nJponVj3O4VJ+9pAhAT11bQV4hxNi WSC3QR6eASXu0ycIYg1BoWvUmOZGzaENfnbdpFaR+uph/3WbXO0rOmYBwHIdYQfM Cjrt0CcafP6NskpH1kjd9vkYxXuvB69pANaqz+TyA3UMaijR0NaHYPs9jN0XdIA6 Cozd8pVSQFm1CqXpIU7WALCw7ex1VhY8a/gFjNVqWd1H2N4G+CytartTKjCse7Da Dw3sOBmA30Uo8VqhLC+A5HlYUHvh8U6Bdc/Wq59XKviF2osTIxBn8NuD+5ssuPgZ qrR/sqEewLi9b4z6bMN6MnxMKbNKDe2rwzu+XyrAJ1Z/sf3a1OHfIyyLWmAEFFBO 67bU2oOV8n1Q6d5dirN9slpGr394FZplTxfg0O453n8sMOnluq/v5ZRn636Vmg0A RrozFF/AL7673Av4KOfxYAWomTBjw0k1nTbez3zwze9oly1yL3iqv2VFV6esjxX5 Xlql6h64jLNm48CCDXzxHce8yjAI2iPBtZrV4rxLJy9H3lN5JwzrtmLqRD/mSHmG vsTCQK/uO8x9ibNMbJBl5vuW8nuSxsD0GWAYerPlWnVnPXA9BsWp7A1MoJ0l4RPN y/88AHueN4vj+EOeJN8Tj36EdntuSwQAdX332fNhHhV2CvDABMu7kOo7ZoK1n2sA Xoh4gy9xwr1GN/QHlh18CUwweZZ1hCuxQ20MHUhdrvyJ4fWoQqu3gFkUnyP3vq2k EyP6x6KvqayT2tKPWchnWk5qB2sV+T4A7mD3UoyB8b31w6+vNb4G54u7ILqrAV72 aoAxKdOOh1CBNVx29aT3KMB9+F1YcKoh+NcAWNUCLzvTLZmybac73wbgPgh2APz/ pAIPARj78jIA04+9VdN1KqTBFX6s3SEAj9ZxKQCu5aTX47OjyvhG1cAmoaP2jwxc xwRVG2NJZWorawxh3qQVsLN6OP2HzQLgRAPwVgKwqqusMl/BSGfIxinIZWBMkJAS CuhA3ZsG4GMVXTWm0X/EdFopAHjPSsdeTRS6FO2CtvN6tTLfMaiBgAGT+qtMY7QC zACsPoMGvkupr+dprrJeE2mn2AcAYA3uhzueb8OnVDRjel8hO6RDGWK1TBncjKaw npnR2Klx3T6EEoNJKCbWRzVpMTA5SLO7aTqTd8dFwuDjyPWW4aiyec2cZiz0SR6t AGMyr82DtAJjYLmU+x77V+/zJf0uRf7eqMRDwxkN2YATZL5AucfkWgP2mBFNY132 FckOBDtzGxn69aHW7dXfUEzQj0pZ7XqIdoojvof4rPjM+PuN35UN/V3BcS5Vn3AA hL5RMPX20Qowvv8GUnvKZ3CWStutq0uzleqRa97nWCqt3j4Jp11rAPYNBJ7Dq2/S KPF+AT040QMA5DIN3tfDdOPuvWk4atRxgus+MmZo2+K5rVquGvRo7aX09qDeui+R UNqljQ4/d2DSjjVYHTIJwMj62bMpnwSPWgGb2c6pN1DjFABnEqKQsgxTQfgI5Pwd lerY8L3qdXFY5kYHBRM4obDbwhtBKmqN+Vxutz/vjXRw3brdDNJq+2m2XX0ujmMW Zui3DJ/jmHfb48yg6exz2TW9XV3w2W1T7+uZ+t92WBOsa3YJfJH2WxH81XQdqa0S pmr5/uOtgtuQ93ERQi3d8WOtqcW1QNiux62i0bKhM6Vx4JJs9/ft1YGatjdd7+Rm NBITcPmHF1CVx/z3DQZtJUfE7s/oqc4nX7CP0A/cclE+DTM7Dw336UYmWZFG7CzP 68G6lXu5dNVOlHO9cra33OERnYN/IQ3H0JWA3iMclGW3g5QNyPD+kL2qkIRZg98z DHixXFkwgMoexaoNY9NKx2psS5wQGDHnugzAycUsKp0NVyQoLSUQrxpipQMHehDH Ycw1x3DzXtFvNE5w4rZdk4yUaZSpHutU9WJ+mcvzbXOsxPSbh+kWHSfPe+kG/e2P pkFHcTyLo+hj5Dg/oP7SJU2qXFZTo0SpDI4rUAN81ge4lwJ9rZ5Vwi9iqwA42e5p vpeKKIrElv74oJYTE238wcTZZpghbJZzNsLSB7iGVhkWCJ/k4ygshwU5G2mpvmFJ HPMOhsMzOwwWhfmi6HX1AXjJAKz7F+8tM6y/Gbdg2b7/OqCffx64XTuYqNC2dgPf 1IKiDRW+tDBEQouczmW5M03CfRKAdQ3w9gyCAbYAVW5DpHqiGQhe2/W9XQo0QBUA opfrGWWNKMEaam34HULwykqBXmqX6peA4uw3KcLKhMvA6Bus47w++BYAdynQML/C 99JOgS4UALNhSSHNXI7a3AQgqM4w4+SVBGCPgUiaZugzzTYAR30A3soJmHYExnKA T67hX8i6yNZSa3VqJiagLStTdprpIKVJ3afNdjoA3ikQ78yckGYLCEYGRKAht+7q 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 rkJggg== ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline Content-Type: image/png Content-Location: http://bassreview.net/home/templates/bassreview/images/menuseparator.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAEAAAAqCAYAAAByfjF8AAAAFElEQVR42mNgoBTs 3bv3PzUJSgEADj0zYRaN/X8AAAAASUVORK5CYII= ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline Content-Type: image/gif Content-Location: http://bassreview.net/home/templates/bassreview/images/spacer.gif Content-Transfer-Encoding: Base64 R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline Content-Type: image/png Content-Location: http://bassreview.net/home/templates/bassreview/images/searchicon.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAt0lEQVR42r2T4QnE IAyFu4IruEJXuBWcwCE6y63gTl2h/vRn7uVIJNemWFq4wCNBzEeIz4mIpifqRWuN c4AW1MSqtX4zoiBHvZtz7rKACG3S8BMKRKQzQDhr3oMQ0QMso2YzSbFT6Ph0NeTu fQAv9gCQw/9M4AKg99Ul8sI9QBwBxFTr3kzWlskYxnu+jSFQcZ2obhTbdhvr2MgB Z6tCoNABljj6PAbCeT4ARuImAdAtgEAS9OL6Ax8aEpzcVQQBAAAAAElFTkSuQmCC ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline Content-Type: image/png Content-Location: http://bassreview.net/home/templates/bassreview/images/footerrssicon.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAA40lEQVR42u2VoQ6D MBRFK5Gzk0jk7OQkchKLnETOIvkE7OQkEjk7ud+orHx7vawL8JqNpMlIlpKctOkB TkGAIiK1BiqGYziG/yN8rxT9kkmYHjXR7QTMNReEOsANGbaiz4FpM5ofWAtwgBue cMnyAEyTDhfxOJ773PucLw5wQ4b7gqjbA3PeyJ3btQAHuCHCpuNXdcmArhJxA7sW 4gA3ZLjlHTdboMvhBuPROecdc//J2YYMNxlei0Uf1XDRa3TzsZs81QIHuOEJ78jU KdBF4iXEAW6I8CofkPiTiOEYjuEYXsIT3ZpVALdscNoAAAAASUVORK5CYII= ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline Content-Type: image/png Content-Location: http://bassreview.net/home/templates/bassreview/images/footerfacebookicon.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACo0lEQVR42sWXIbOj MBSF+RsrKytrkchIJJaZNUgkFlmJxGLeDBKJxO0gcQ8Z+ZCVefckhIZu6KNAd5k5 DdNmcr7c3KS5zuniOyc3cM5e9NsLsj9elH954ZtEY7vkAa/TJXDgLT8ufvLB4lL4 SS38uBYsrt4ijA0PvMPzdGGOnLk2nzpH5UzeWoXFgtTvcjyAjF7wdijsn5O5abg4 mF0uyaeJxNdapHkzKckaEaaVCBNEwIgGedJyfDpYlynsG8zdIJdtUXViGG7i2dN0 XEGQBzzh7SA5ls3zp4I5o34tDbzmAYC5FPCeA5jmgTL4SXnZirUPouQGxRqAdebo 1/NhNQBy4lAAhP92s687wK5kGF8rkWa1KChSSESMbwXwNgAESWkFwHcRZf6ZZbTf lXSySh0DkNGM7gBo9TsfBhHQlnRHY6nwSIBxVjCRpqP5HKBQMzcgDgHAbz4N7keF XN+bYa4FgJiWAH1kXxJgWbQTADNK6KTDgcMpyQYysgFoCPTR/dAiL9zdAJTRFPNF 4yUB4jAAPeBayYhwlZi7lyAdIyCMmS2ZCi2hAPyo3J+ESCQkWJSWdLLVVnPOuQRF H4Rd9a+O24aIxFluw0KaPQL0PZc74M0HkToJNQBa/Q4AwM3PgHcAxOVkfAfgouv7 /wjA/zEAwv0I0XUaIF8PwDYD9MsAgR2AHQdQKABSP+oggHVXMh2BfgbQ/wXgmVvw KcALl1K9DR8BoLbr1H3gce31+s8ANl7LMTguJJ0NoDUB7Ob3a/mOwkQC0GytAElp NzeqI1mYbC7NqNzCJVMBdLLVMABQF9D5OGZVNJVmKBBVcVq9VpxG+IOpJ4C7VA6E KUL8pDhlycevM1PVMUpl0LgvludBUnzVTStMNaSqbrALfijPfTn5b3rQW35MaF1Z AAAAAElFTkSuQmCC ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline Content-Type: image/png Content-Location: http://bassreview.net/home/templates/bassreview/images/footertwittericon.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACwElEQVR42r2XIZCz MBCFI0/Wnqw8ia1EVlae7cwZZCUWicR05mwlElmJRVYiIy8SyeWF3SHhQgp/25+5 1+u0Ie9jd7NJhbhKAb1d1de2Vj9Ro/rdi4S54QEv9jUvm1qdMeBw6/pPj46WPh8U POAFTwMAGnzARkk76qSVaeWyN8pk16etO2at+CHgaSKBkBzI/NSOSsm4Un2v/4zq ru8L/SZr3bFrdaRIwFtE9PTJZFCunxbm0wsQAEsfAIAXPOEtdh6AlAD0vz8XPvpW zwGAt4j1iy/8hX5K+SIATkN8D6Dt/zNAOo1AACCjcUv0VADU5UVTXNQAMit9c2Et 3dME6D6A8gPgkguFFGIl5fJvRGYB0gUAay4TMemmzAGYW4bPAsDVdG7z4mXoAkxW wlMBaNXwQyZWOxZRPWxCR4JIKBrPAjCrRk/ExsltbMUf2ht7Qb9v3F0Pg/K1Raid 2olqNZpPd1R4wlu865e46Zyt+BgA4D5QyKG658RFl8xsyfCEt9hccVgYiA63ESQL NCJsRmYi6541ghc84Y3zgMlFTBAGpAkD4LuDNX6t4AVPeOsTkTkmGaKYtF8AsLfG r9WO828AdKtCLiL6gkFSbMeBFAxHq47Oe51Hypkvtt5HnP+KATRJVLs3oXKbzr8K cChJ27EOQqH2QWHpm/wzwIbqILKEyS9qfn3zMqsCQgtOqOLtuT+mAG8egJ1Jw+PN CP3hRF3PBjAFWAKg9ANwhwxFYemlp3ei4ALMpGCIwrBTVg9C6ClMTfhTEIgAp4Ih un8EKIMRuAPAECjKvB2KS64gQaEmwRq4yB/uBSGIyNozUFSZhslnlJFS6/htm79z E4K3+JZfvBK2NGCJTGQ8Mj9uJ0vO1pafHvmHtygkonA2HxDI5kUyxqP5WeT4dQwA CDQISUm5qQK69/3cPSWFHV7w1AC/p+skv/qam2QAAAAASUVORK5CYII= ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline; filename=template.css Content-Type: text/css; name=template.css Content-Location: http://bassreview.net/home/templates/bassreview/css/template.css Content-Transfer-Encoding: Quoted-Printable #cms-main { background: #000000; margin: 0 auto; font-size: 12px; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; font-weight: normal; font-style: normal; position: relative; width: 100%; min-height: 100%; left: 0; top: 0; cursor: default; overflow: hidden; } table, ul.cms-hmenu { font-size: 12px; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; font-weight: normal; font-style: normal; } h1, h2, h3, h4, h5, h6, p, a, ul, ol, li { margin: 0; padding: 0; } .cms-button { border: 0; border-collapse: separate; -webkit-border-radius: 0; -webkit-background-origin: border !important; -moz-background-origin: border !important; background-origin: border-box !important; background: #D4D4D4; background: -webkit-linear-gradient(top, #FFFFFF 0, #808080 62%, #3333= 33 100%) no-repeat; background: -moz-linear-gradient(top, #FFFFFF 0, #808080 62%, #333333 = 100%) no-repeat; background: -o-linear-gradient(top, #FFFFFF 0, #808080 62%, #333333 10= 0%) no-repeat; background: -ms-linear-gradient(top, #FFFFFF 0, #808080 62%, #333333 1= 00%) no-repeat; background: linear-gradient(to bottom, #FFFFFF 0, #808080 62%, #333333= 100%) no-repeat; -svg-background: linear-gradient(top, #FFFFFF 0, #808080 62%, #333333 = 100%) no-repeat; border-width: 0; padding: 0 20px; margin: 0 auto; height: 30px; } .cms-postcontent, .cms-postheadericons, .cms-postfootericons, .cms-block= content, ul.cms-vmenu a { text-align: left; } .cms-postcontent, .cms-postcontent li, .cms-postcontent table, .cms-post= content a, .cms-postcontent a:link, .cms-postcontent a:visited, .cms-pos= tcontent a.visited, .cms-postcontent a:hover, .cms-postcontent a.hovered= { font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; line-height: 150%; } .cms-postcontent p { margin: 12px 0; } .cms-postcontent h1, .cms-postcontent h1 a, .cms-postcontent h1 a:link, = .cms-postcontent h1 a:visited, .cms-postcontent h1 a:hover, .cms-postcon= tent h2, .cms-postcontent h2 a, .cms-postcontent h2 a:link, .cms-postcon= tent h2 a:visited, .cms-postcontent h2 a:hover, .cms-postcontent h3, .cm= s-postcontent h3 a, .cms-postcontent h3 a:link, .cms-postcontent h3 a:vi= sited, .cms-postcontent h3 a:hover, .cms-postcontent h4, .cms-postconten= t h4 a, .cms-postcontent h4 a:link, .cms-postcontent h4 a:visited, .cms-= postcontent h4 a:hover, .cms-postcontent h5, .cms-postcontent h5 a, .cms= -postcontent h5 a:link, .cms-postcontent h5 a:visited, .cms-postcontent = h5 a:hover, .cms-postcontent h6, .cms-postcontent h6 a, .cms-postcontent= h6 a:link, .cms-postcontent h6 a:visited, .cms-postcontent h6 a:hover, = .cms-blockheader .t, .cms-blockheader .t a, .cms-blockheader .t a:link, = .cms-blockheader .t a:visited, .cms-blockheader .t a:hover, .cms-vmenubl= ockheader .t, .cms-vmenublockheader .t a, .cms-vmenublockheader .t a:lin= k, .cms-vmenublockheader .t a:visited, .cms-vmenublockheader .t a:hover,= .cms-headline, .cms-headline a, .cms-headline a:link, .cms-headline a:v= isited, .cms-headline a:hover, .cms-slogan, .cms-slogan a, .cms-slogan a= :link, .cms-slogan a:visited, .cms-slogan a:hover, .cms-postheader, .cms= -postheader a, .cms-postheader a:link, .cms-postheader a:visited, .cms-p= ostheader a:hover { font-size: 29px; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; font-weight: normal; font-style: normal; line-height: 120%; } .cms-postcontent a, .cms-postcontent a:link { font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; text-decoration: none; color: #C87604; } .cms-postcontent a:visited, .cms-postcontent a.visited { font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; text-decoration: none; color: #EC4904; } .cms-postcontent a:hover, .cms-postcontent a.hover { font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; text-decoration: underline; color: #FCC222; } .cms-postcontent h1 { color: #B64402; margin: 10px 0 0; font-size: 27px; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; font-weight: bold; font-style: normal; } .cms-blockcontent h1 { margin: 10px 0 0; font-size: 27px; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; font-weight: bold; font-style: normal; } .cms-postcontent h1 a, .cms-postcontent h1 a:link, .cms-postcontent h1 a= :hover, .cms-postcontent h1 a:visited, .cms-blockcontent h1 a, .cms-bloc= kcontent h1 a:link, .cms-blockcontent h1 a:hover, .cms-blockcontent h1 a= :visited { font-size: 27px; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; font-weight: bold; font-style: normal; } .cms-postcontent h2 { color: #B64402; margin: 10px 0 0; font-size: 25px; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; font-weight: bold; font-style: normal; } .cms-blockcontent h2 { margin: 10px 0 0; font-size: 25px; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; font-weight: bold; font-style: normal; } .cms-postcontent h2 a, .cms-postcontent h2 a:link, .cms-postcontent h2 a= :hover, .cms-postcontent h2 a:visited, .cms-blockcontent h2 a, .cms-bloc= kcontent h2 a:link, .cms-blockcontent h2 a:hover, .cms-blockcontent h2 a= :visited { font-size: 25px; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; font-weight: bold; font-style: normal; } .cms-postcontent h3 { color: #B64402; margin: 10px 0 0; font-size: 23px; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; font-weight: bold; font-style: normal; } .cms-blockcontent h3 { margin: 10px 0 0; font-size: 23px; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; font-weight: bold; font-style: normal; } .cms-postcontent h3 a, .cms-postcontent h3 a:link, .cms-postcontent h3 a= :hover, .cms-postcontent h3 a:visited, .cms-blockcontent h3 a, .cms-bloc= kcontent h3 a:link, .cms-blockcontent h3 a:hover, .cms-blockcontent h3 a= :visited { font-size: 23px; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; font-weight: bold; font-style: normal; } .cms-postcontent h4 { color: #B64402; margin: 10px 0 0; font-size: 16px; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; font-weight: bold; font-style: normal; } .cms-blockcontent h4 { margin: 10px 0 0; font-size: 16px; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; font-weight: bold; font-style: normal; } .cms-postcontent h4 a, .cms-postcontent h4 a:link, .cms-postcontent h4 a= :hover, .cms-postcontent h4 a:visited, .cms-blockcontent h4 a, .cms-bloc= kcontent h4 a:link, .cms-blockcontent h4 a:hover, .cms-blockcontent h4 a= :visited { font-size: 16px; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; font-weight: bold; font-style: normal; } .cms-postcontent h5 { color: #B64402; margin: 10px 0 0; font-size: 13px; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; } .cms-blockcontent h5 { margin: 10px 0 0; font-size: 13px; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; } .cms-postcontent h5 a, .cms-postcontent h5 a:link, .cms-postcontent h5 a= :hover, .cms-postcontent h5 a:visited, .cms-blockcontent h5 a, .cms-bloc= kcontent h5 a:link, .cms-blockcontent h5 a:hover, .cms-blockcontent h5 a= :visited { font-size: 13px; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; } .cms-postcontent h6 { color: #B64402; margin: 10px 0 0; font-size: 12px; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; } .cms-blockcontent h6 { margin: 10px 0 0; font-size: 12px; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; } .cms-postcontent h6 a, .cms-postcontent h6 a:link, .cms-postcontent h6 a= :hover, .cms-postcontent h6 a:visited, .cms-blockcontent h6 a, .cms-bloc= kcontent h6 a:link, .cms-blockcontent h6 a:hover, .cms-blockcontent h6 a= :visited { font-size: 12px; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; } header, footer, article, nav, #cms-hmenu-bg, .cms-sheet, .cms-hmenu a, .= cms-vmenu a, .cms-slidenavigator > a, .cms-checkbox:before, .cms-radiobu= tton:before { -webkit-background-origin: border !important; -moz-background-origin: border !important; background-origin: border-box !important; } header, footer, article, nav, #cms-hmenu-bg, .cms-sheet, .cms-slidenavig= ator > a, .cms-checkbox:before, .cms-radiobutton:before { display: block; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } ul { list-style-type: none; } ol { list-style-position: inside; } html, body { height: 100%; } /** * 2. Prevent iOS text size adjust after orientation change, without dis= abling * user zoom. * https://github.com/necolas/normalize.css */ html { -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; } body { padding: 0; margin: 0; min-width: 960px; color: #404040; } .cms-header:before, #cms-header-bg:before, .cms-layout-cell:before, .cms= -layout-wrapper:before, .cms-footer:before, .cms-nav:before, #cms-hmenu-= bg:before, .cms-sheet:before { width: 100%; content: " "; display: table; } .cms-header:after, #cms-header-bg:after, .cms-layout-cell:after, .cms-la= yout-wrapper:after, .cms-footer:after, .cms-nav:after, #cms-hmenu-bg:aft= er, .cms-sheet:after, .cleared, .clearfix:after { clear: both; font: 0/0 serif; display: block; content: " "; } form { padding: 0 !important; margin: 0 !important; } table.position { position: relative; width: 100%; table-layout: fixed; } li h1, .cms-postcontent li h1, .cms-blockcontent li h1 { margin: 1px; } li h2, .cms-postcontent li h2, .cms-blockcontent li h2 { margin: 1px; } li h3, .cms-postcontent li h3, .cms-blockcontent li h3 { margin: 1px; } li h4, .cms-postcontent li h4, .cms-blockcontent li h4 { margin: 1px; } li h5, .cms-postcontent li h5, .cms-blockcontent li h5 { margin: 1px; } li h6, .cms-postcontent li h6, .cms-blockcontent li h6 { margin: 1px; } li p, .cms-postcontent li p, .cms-blockcontent li p { margin: 1px; } .cms-shapes { position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow: hidden; z-index: 0; } .cms-slider-inner { position: relative; overflow: hidden; width: 100%; height: 100%; } .cms-slidenavigator > a { display: inline-block; vertical-align: middle; outline-style: none; font-size: 1px; } .cms-slidenavigator > a:last-child { margin-right: 0 !important; } .cms-textblock-1939895876 h1, .cms-textblock-1939895876 h2, .cms-textblo= ck-1939895876 h3, .cms-textblock-1939895876 h4, .cms-textblock-193989587= 6 h5, .cms-textblock-1939895876 h6, .cms-textblock-1939895876 p, .cms-te= xtblock-1939895876 a, .cms-textblock-1939895876 ul, .cms-textblock-19398= 95876 ol, .cms-textblock-1939895876 li { line-height: 32px; } .cms-textblock-1939895876 { position: absolute; top: 231px; left: 51.83%; margin-left: -16px !important; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); overflow: hidden; z-index: 102; width: 32px; height: 32px; } .cms-textblock-1939895876-text-container { display: table; } .cms-textblock-1939895876-text { display: table-cell; outline-style: none; padding: 0px 0px !important; height: 32px; width: 32px; word-wrap: break-word; } .default-responsive .cms-textblock-1939895876-text { height: auto; } .cms-textblock-1939895876-text, .cms-textblock-1939895876-text a.cms-rss= -tag-icon, .cms-textblock-1939895876-text a.cms-facebook-tag-icon, .cms-= textblock-1939895876-text a.cms-twitter-tag-icon, .cms-textblock-1939895= 876-text a.cms-tumblr-tag-icon, .cms-textblock-1939895876-text a.cms-pin= terest-tag-icon, .cms-textblock-1939895876-text a.cms-vimeo-tag-icon, .c= ms-textblock-1939895876-text a.cms-youtube-tag-icon, .cms-textblock-1939= 895876-text a.cms-linkedin-tag-icon { font-size: 14px; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; text-align: left; color: #949494 !important; } .cms-textblock-1939895876-text a.cms-rss-tag-icon, .cms-textblock-193989= 5876-text a.cms-facebook-tag-icon, .cms-textblock-1939895876-text a.cms-= twitter-tag-icon, .cms-textblock-1939895876-text a.cms-tumblr-tag-icon, = .cms-textblock-1939895876-text a.cms-pinterest-tag-icon, .cms-textblock-= 1939895876-text a.cms-vimeo-tag-icon, .cms-textblock-1939895876-text a.c= ms-youtube-tag-icon, .cms-textblock-1939895876-text a.cms-linkedin-tag-i= con { width: 100%; } .default-responsive .cms-textblock-1939895876-text a.cms-rss-tag-icon, .= default-responsive .cms-textblock-1939895876-text a.cms-facebook-tag-ico= n, .default-responsive .cms-textblock-1939895876-text a.cms-twitter-tag-= icon, .default-responsive .cms-textblock-1939895876-text a.cms-tumblr-ta= g-icon, .default-responsive .cms-textblock-1939895876-text a.cms-pintere= st-tag-icon, .default-responsive .cms-textblock-1939895876-text a.cms-vi= meo-tag-icon, .default-responsive .cms-textblock-1939895876-text a.cms-y= outube-tag-icon, .default-responsive .cms-textblock-1939895876-text a.cm= s-linkedin-tag-icon { width: auto; } .cms-textblock ul > li { background-position-y: 0px !important; } .cms-textblock-1070800854 h1, .cms-textblock-1070800854 h2, .cms-textblo= ck-1070800854 h3, .cms-textblock-1070800854 h4, .cms-textblock-107080085= 4 h5, .cms-textblock-1070800854 h6, .cms-textblock-1070800854 p, .cms-te= xtblock-1070800854 a, .cms-textblock-1070800854 ul, .cms-textblock-10708= 00854 ol, .cms-textblock-1070800854 li { line-height: 49px; } .cms-textblock-1070800854 { position: absolute; top: 231px; left: 58.35%; margin-left: -29px !important; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); overflow: hidden; z-index: 103; width: 50px; height: 49px; } .cms-textblock-1070800854-text-container { display: table; } .cms-textblock-1070800854-text { display: table-cell; outline-style: none; padding: 0px 0px !important; height: 49px; width: 50px; word-wrap: break-word; } .default-responsive .cms-textblock-1070800854-text { height: auto; } .cms-textblock-1070800854-text, .cms-textblock-1070800854-text a.cms-rss= -tag-icon, .cms-textblock-1070800854-text a.cms-facebook-tag-icon, .cms-= textblock-1070800854-text a.cms-twitter-tag-icon, .cms-textblock-1070800= 854-text a.cms-tumblr-tag-icon, .cms-textblock-1070800854-text a.cms-pin= terest-tag-icon, .cms-textblock-1070800854-text a.cms-vimeo-tag-icon, .c= ms-textblock-1070800854-text a.cms-youtube-tag-icon, .cms-textblock-1070= 800854-text a.cms-linkedin-tag-icon { font-size: 14px; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; text-align: left; color: #949494 !important; } .cms-textblock-1070800854-text a.cms-rss-tag-icon, .cms-textblock-107080= 0854-text a.cms-facebook-tag-icon, .cms-textblock-1070800854-text a.cms-= twitter-tag-icon, .cms-textblock-1070800854-text a.cms-tumblr-tag-icon, = .cms-textblock-1070800854-text a.cms-pinterest-tag-icon, .cms-textblock-= 1070800854-text a.cms-vimeo-tag-icon, .cms-textblock-1070800854-text a.c= ms-youtube-tag-icon, .cms-textblock-1070800854-text a.cms-linkedin-tag-i= con { width: 100%; } .default-responsive .cms-textblock-1070800854-text a.cms-rss-tag-icon, .= default-responsive .cms-textblock-1070800854-text a.cms-facebook-tag-ico= n, .default-responsive .cms-textblock-1070800854-text a.cms-twitter-tag-= icon, .default-responsive .cms-textblock-1070800854-text a.cms-tumblr-ta= g-icon, .default-responsive .cms-textblock-1070800854-text a.cms-pintere= st-tag-icon, .default-responsive .cms-textblock-1070800854-text a.cms-vi= meo-tag-icon, .default-responsive .cms-textblock-1070800854-text a.cms-y= outube-tag-icon, .default-responsive .cms-textblock-1070800854-text a.cm= s-linkedin-tag-icon { width: auto; } .cms-textblock ul > li { background-position-y: 0px !important; } .cms-logo-2031964522 { position: absolute; top: 229px; left: 62.49%; margin-left: -21px !important; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); z-index: 104; width: 35px; height: 35px; } .cms-object1150405373 h1, .cms-object1150405373 h2, .cms-object115040537= 3 h3, .cms-object1150405373 h4, .cms-object1150405373 h5, .cms-object115= 0405373 h6, .cms-object1150405373 p, .cms-object1150405373 a, .cms-objec= t1150405373 ul, .cms-object1150405373 ol, .cms-object1150405373 li { line-height: 22px; } .cms-object1150405373 { position: absolute; top: 242px; left: 99.05%; margin-left: -219px !important; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); z-index: 101; width: 222px; height: 22px; } #cms-header-bg { position: absolute; overflow: hidden; left: 0; margin: 0 auto; width: 100%; height: 325px; z-index: auto; background-position: center top; background-image: url('../images/header.png'); background-repeat: no-repeat; } .cms-sheet { background: #FFFFFF; -webkit-box-shadow: 0 0 3px 2px rgba(0, 0, 0, 0.4); -moz-box-shadow: 0 0 3px 2px rgba(0, 0, 0, 0.4); box-shadow: 0 0 3px 2px rgba(0, 0, 0, 0.4); margin: 0 auto; position: relative; cursor: auto; width: 960px; z-index: auto !important; } .cms-header { margin: 0 auto; background-repeat: no-repeat; height: 325px; background-image: url('../images/object988014669.png'), url('../images= /header.png'); background-position: -1px -14px, center top; position: relative; z-index: auto !important; } .custom-responsive .cms-header { background-image: url('../images/object988014669.png'), url('../images= /header.png'); background-position: -1px -14px, center top; } .default-responsive .cms-header, .default-responsive #cms-header-bg { background-image: url('../images/header.png'); background-position: center center; background-size: auto; } .cms-header>div.cms-nostyle, .cms-header>div.cms-block, .cms-header>div.= cms-post { position: absolute; z-index: 101; } .cms-nav { background: #EC4904; background: -webkit-linear-gradient(top, #FDB190 0, #FB4E04 47%, #5A1C= 01 100%) no-repeat; background: -moz-linear-gradient(top, #FDB190 0, #FB4E04 47%, #5A1C01 = 100%) no-repeat; background: -o-linear-gradient(top, #FDB190 0, #FB4E04 47%, #5A1C01 10= 0%) no-repeat; background: -ms-linear-gradient(top, #FDB190 0, #FB4E04 47%, #5A1C01 1= 00%) no-repeat; background: linear-gradient(to bottom, #FDB190 0, #FB4E04 47%, #5A1C01= 100%) no-repeat; -svg-background: linear-gradient(top, #FDB190 0, #FB4E04 47%, #5A1C01 = 100%) no-repeat; -webkit-border-radius: 4px 4px 0 0; -moz-border-radius: 4px 4px 0 0; border-radius: 4px 4px 0 0; position: absolute; margin: 0; bottom: 0; width: 100%; z-index: 100; text-align: center; } ul.cms-hmenu a, ul.cms-hmenu a:link, ul.cms-hmenu a:visited, ul.cms-hmen= u a:hover { outline: none; position: relative; z-index: 11; } ul.cms-hmenu, ul.cms-hmenu ul { display: block; margin: 0; padding: 0; border: 0; list-style-type: none; } ul.cms-hmenu li { position: relative; z-index: 5; display: block; float: left; background: none; margin: 0; padding: 0; border: 0; } ul.cms-hmenu li:hover { z-index: 10000; white-space: normal; } ul.cms-hmenu:after, ul.cms-hmenu ul:after { content: "."; height: 0; display: block; visibility: hidden; overflow: hidden; clear: both; } ul.cms-hmenu, ul.cms-hmenu ul { min-height: 0; } ul.cms-hmenu { display: inline-block; vertical-align: bottom; padding-left: 4px; padding-right: 4px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .cms-nav:before { content: ' '; } nav.cms-nav { border-top-left-radius: 0; border-top-right-radius: 0; } .cms-hmenu-extra1 { position: relative; display: block; float: left; width: auto; height: auto; background-position: center; } .cms-hmenu-extra2 { position: relative; display: block; float: right; width: auto; height: auto; background-position: center; } .cms-menuitemcontainer { margin: 0 auto; } ul.cms-hmenu>li { margin-left: 1px; } ul.cms-hmenu>li:first-child { margin-left: 0; } ul.cms-hmenu>li:last-child, ul.cms-hmenu>li.last-child { margin-right: 0; } ul.cms-hmenu>li>a { padding: 0 5px; margin: 0 auto; position: relative; display: block; height: 42px; cursor: pointer; text-decoration: none; color: #F7E35E; line-height: 42px; text-align: center; } .cms-hmenu>li>a, .cms-hmenu>li>a:link, .cms-hmenu>li>a:visited, .cms-hme= nu>li>a.active, .cms-hmenu>li>a:hover { font-size: 12px; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; font-weight: bold; font-style: normal; text-decoration: none; text-align: left; } ul.cms-hmenu>li>a.active { padding: 0 5px; margin: 0 auto; color: #FFFFFF; text-decoration: none; } ul.cms-hmenu>li>a:visited, ul.cms-hmenu>li>a:hover, ul.cms-hmenu>li:hove= r>a { text-decoration: none; } ul.cms-hmenu>li>a:hover, .desktop ul.cms-hmenu>li:hover>a { padding: 0 5px; margin: 0 auto; } ul.cms-hmenu>li>a:hover, .desktop ul.cms-hmenu>li:hover>a { color: #FFF8A4; text-decoration: none; } ul.cms-hmenu>li:before { position: absolute; display: block; content: ' '; top: 0; left: -1px; width: 1px; height: 42px; background: url('../images/menuseparator.png') center center no-repeat= ; } ul.cms-hmenu>li:first-child:before { display: none; } ul.cms-hmenu li li a { background: #7D7D7D; background: transparent; padding: 0 8px; margin: 0 auto; } ul.cms-hmenu li li { float: none; width: auto; margin-top: 0; margin-bottom: 0; } .desktop ul.cms-hmenu li li ul>li:first-child { margin-top: 0; } ul.cms-hmenu li li ul>li:last-child { margin-bottom: 0; } .cms-hmenu ul a { display: block; white-space: nowrap; height: 26px; min-width: 7em; border: 0 solid transparent; text-align: left; line-height: 26px; color: #404040; font-size: 14px; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; text-decoration: none; margin: 0; } .cms-hmenu ul a:link, .cms-hmenu ul a:visited, .cms-hmenu ul a.active, .= cms-hmenu ul a:hover { text-align: left; line-height: 26px; color: #404040; font-size: 14px; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; text-decoration: none; margin: 0; } ul.cms-hmenu ul li a:hover, .desktop ul.cms-hmenu ul li:hover>a { background: #6E6E6E; margin: 0 auto; } .cms-hmenu ul a:hover { text-decoration: none; color: #EBEBEB; } .desktop .cms-hmenu ul li:hover>a { color: #EBEBEB; } ul.cms-hmenu ul:before { background: #FFFFFF; border: 1px solid #8C8C8C; margin: 0 auto; display: block; position: absolute; content: ' '; z-index: 1; } .desktop ul.cms-hmenu li:hover>ul { visibility: visible; top: 100%; } .desktop ul.cms-hmenu li li:hover>ul { top: 0; left: 100%; } ul.cms-hmenu ul { visibility: hidden; position: absolute; z-index: 10; left: 0; top: 0; background-image: url('../images/spacer.gif'); } .desktop ul.cms-hmenu>li>ul { padding: 12px 32px 32px 32px; margin: -10px 0 0 -30px; } .desktop ul.cms-hmenu ul ul { padding: 32px 32px 32px 12px; margin: -32px 0 0 -9px; } .desktop ul.cms-hmenu ul.cms-hmenu-left-to-right { right: auto; left: 0; margin: -10px 0 0 -30px; } .desktop ul.cms-hmenu ul.cms-hmenu-right-to-left { left: auto; right: 0; margin: -10px -30px 0 0; } .desktop ul.cms-hmenu li li:hover>ul.cms-hmenu-left-to-right { right: auto; left: 100%; } .desktop ul.cms-hmenu li li:hover>ul.cms-hmenu-right-to-left { left: auto; right: 100%; } .desktop ul.cms-hmenu ul ul.cms-hmenu-left-to-right { right: auto; left: 0; padding: 32px 32px 32px 12px; margin: -32px 0 0 -9px; } .desktop ul.cms-hmenu ul ul.cms-hmenu-right-to-left { left: auto; right: 0; padding: 32px 12px 32px 32px; margin: -32px -9px 0 0; } .desktop ul.cms-hmenu li ul>li:first-child { margin-top: 0; } .desktop ul.cms-hmenu li ul>li:last-child { margin-bottom: 0; } .desktop ul.cms-hmenu ul ul:before { border-radius: 0; top: 30px; bottom: 30px; right: 30px; left: 10px; } .desktop ul.cms-hmenu>li>ul:before { top: 10px; right: 30px; bottom: 30px; left: 30px; } .desktop ul.cms-hmenu>li>ul.cms-hmenu-left-to-right:before { right: 30px; left: 30px; } .desktop ul.cms-hmenu>li>ul.cms-hmenu-right-to-left:before { right: 30px; left: 30px; } .desktop ul.cms-hmenu ul ul.cms-hmenu-left-to-right:before { right: 30px; left: 10px; } .desktop ul.cms-hmenu ul ul.cms-hmenu-right-to-left:before { right: 10px; left: 30px; } .cms-layout-wrapper { position: relative; margin: 0 auto 0 auto; z-index: auto !important; } .cms-content-layout { display: table; width: 100%; table-layout: fixed; } .cms-content-layout-row { display: table-row; } .cms-layout-cell { display: table-cell; vertical-align: top; } .cms-postcontent .cms-content-layout { border-collapse: collapse; } .cms-breadcrumbs { margin: 0 auto; } a.cms-button, a.cms-button:link, a:link.cms-button:link, body a.cms-butt= on:link, a.cms-button:visited, body a.cms-button:visited, input.cms-butt= on, button.cms-button { text-decoration: none; font-size: 12px; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; font-weight: normal; font-style: normal; position: relative; display: inline-block; vertical-align: middle; white-space: nowrap; text-align: center; color: #FFFFFF; margin: 0 5px 0 0 !important; overflow: visible; cursor: pointer; text-indent: 0; line-height: 30px; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; } .cms-button img { margin: 0; vertical-align: middle; } .firefox2 .cms-button { display: block; float: left; } input, select, textarea, a.cms-search-button span { vertical-align: middle; font-size: 12px; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; font-weight: normal; font-style: normal; } .cms-block select { width: 96%; } input.cms-button { float: none !important; -webkit-appearance: none; } .cms-button.active, .cms-button.active:hover { background: #8C8C8C; background: -webkit-linear-gradient(top, #E8E8E8 0, #808080 52%, #1F1F= 1F 100%) no-repeat; background: -moz-linear-gradient(top, #E8E8E8 0, #808080 52%, #1F1F1F = 100%) no-repeat; background: -o-linear-gradient(top, #E8E8E8 0, #808080 52%, #1F1F1F 10= 0%) no-repeat; background: -ms-linear-gradient(top, #E8E8E8 0, #808080 52%, #1F1F1F 1= 00%) no-repeat; background: linear-gradient(to bottom, #E8E8E8 0, #808080 52%, #1F1F1F= 100%) no-repeat; -svg-background: linear-gradient(top, #E8E8E8 0, #808080 52%, #1F1F1F = 100%) no-repeat; border-width: 0; padding: 0 20px; margin: 0 auto; } .cms-button.active, .cms-button.active:hover { color: #1A1A1A !important; } .cms-button.hover, .cms-button:hover { background: #FBA123; background: -webkit-linear-gradient(top, #FEECD2 0, #FA9405 52%, #3C23= 01 100%) no-repeat; background: -moz-linear-gradient(top, #FEECD2 0, #FA9405 52%, #3C2301 = 100%) no-repeat; background: -o-linear-gradient(top, #FEECD2 0, #FA9405 52%, #3C2301 10= 0%) no-repeat; background: -ms-linear-gradient(top, #FEECD2 0, #FA9405 52%, #3C2301 1= 00%) no-repeat; background: linear-gradient(to bottom, #FEECD2 0, #FA9405 52%, #3C2301= 100%) no-repeat; -svg-background: linear-gradient(top, #FEECD2 0, #FA9405 52%, #3C2301 = 100%) no-repeat; border-width: 0; padding: 0 20px; margin: 0 auto; } .cms-button.hover, .cms-button:hover { color: #080808 !important; } input[type=3D"text"], input[type=3D"password"], input[type=3D"email"], i= nput[type=3D"url"], textarea { background: #FFFFFF; background: -webkit-linear-gradient(top, #FFFFFF 0, #808080 81%, #6161= 61 100%) no-repeat; background: -moz-linear-gradient(top, #FFFFFF 0, #808080 81%, #616161 = 100%) no-repeat; background: -o-linear-gradient(top, #FFFFFF 0, #808080 81%, #616161 10= 0%) no-repeat; background: -ms-linear-gradient(top, #FFFFFF 0, #808080 81%, #616161 1= 00%) no-repeat; background: linear-gradient(to bottom, #FFFFFF 0, #808080 81%, #616161= 100%) no-repeat; -svg-background: linear-gradient(top, #FFFFFF 0, #808080 81%, #616161 = 100%) no-repeat; border: 1px solid #FBA123; margin: 0 auto; } input[type=3D"text"], input[type=3D"password"], input[type=3D"email"], i= nput[type=3D"url"], textarea { width: 100%; padding: 6px 0; color: #000000 !important; font-size: 12px; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; font-weight: normal; font-style: normal; text-shadow: none; } input.cms-error, textarea.cms-error { background: #303030; border: 1px solid #E2341D; margin: 0 auto; } input.cms-error, textarea.cms-error { color: #B2B2B2 !important; font-size: 12px; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; font-weight: normal; font-style: normal; } form.cms-search input[type=3D"text"] { background: #303030; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; border: 1px solid #6E6E6E; margin: 0 auto; width: 100%; padding: 3px 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; color: #B2B2B2 !important; font-size: 12px; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; font-weight: normal; font-style: normal; } form.cms-search { background-image: none; border: 0; display: block; position: relative; top: 0; padding: 0; margin: 5px; left: 0; line-height: 0; } form.cms-search input, a.cms-search-button { -webkit-appearance: none; top: 0; right: 0; } form.cms-search>input, a.cms-search-button { bottom: 0; left: 0; vertical-align: middle; } form.cms-search input[type=3D"submit"], input.cms-search-button, a.cms-s= earch-button { border-radius: 0; margin: 0 auto; } form.cms-search input[type=3D"submit"], input.cms-search-button, a.cms-s= earch-button { position: absolute; left: auto; display: block; border: none; background: url('../images/searchicon.png') center center no-repeat; width: 24px; height: 100%; padding: 0; color: #303030 !important; cursor: pointer; } a.cms-search-button span.cms-search-button-text { display: none; } label.cms-checkbox:before { background: #303030; background: -webkit-linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B= 3B 60%, #212121 100%) no-repeat; background: -moz-linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B3B = 60%, #212121 100%) no-repeat; background: -o-linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B3B 60= %, #212121 100%) no-repeat; background: -ms-linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B3B 6= 0%, #212121 100%) no-repeat; background: linear-gradient(to bottom, #3D3D3D 0, #3D3D3D 50%, #3B3B3B= 60%, #212121 100%) no-repeat; -svg-background: linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B3B = 60%, #212121 100%) no-repeat; -webkit-border-radius: 12px; -moz-border-radius: 12px; border-radius: 12px; -webkit-box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.3); -moz-box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.3); box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.3); border: 1px solid #8C8C8C; margin: 0 auto; width: 24px; height: 24px; } label.cms-checkbox { cursor: pointer; font-size: 12px; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; font-weight: normal; font-style: normal; line-height: 24px; display: inline-block; color: #141414 !important; } .cms-checkbox>input[type=3D"checkbox"] { margin: 0 5px 0 0; } label.cms-checkbox.active:before { background: #303030; background: -webkit-linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B= 3B 60%, #212121 100%) no-repeat; background: -moz-linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B3B = 60%, #212121 100%) no-repeat; background: -o-linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B3B 60= %, #212121 100%) no-repeat; background: -ms-linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B3B 6= 0%, #212121 100%) no-repeat; background: linear-gradient(to bottom, #3D3D3D 0, #3D3D3D 50%, #3B3B3B= 60%, #212121 100%) no-repeat; -svg-background: linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B3B = 60%, #212121 100%) no-repeat; -webkit-border-radius: 12px; -moz-border-radius: 12px; border-radius: 12px; -webkit-box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.3); -moz-box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.3); box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.3); border: 1px solid #6E6E6E; margin: 0 auto; width: 24px; height: 24px; display: inline-block; } label.cms-checkbox.hovered:before { background: #303030; background: -webkit-linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B= 3B 60%, #212121 100%) no-repeat; background: -moz-linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B3B = 60%, #212121 100%) no-repeat; background: -o-linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B3B 60= %, #212121 100%) no-repeat; background: -ms-linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B3B 6= 0%, #212121 100%) no-repeat; background: linear-gradient(to bottom, #3D3D3D 0, #3D3D3D 50%, #3B3B3B= 60%, #212121 100%) no-repeat; -svg-background: linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B3B = 60%, #212121 100%) no-repeat; -webkit-border-radius: 12px; -moz-border-radius: 12px; border-radius: 12px; -webkit-box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.3); -moz-box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.3); box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.3); border: 1px solid #6E6E6E; margin: 0 auto; width: 24px; height: 24px; display: inline-block; } label.cms-radiobutton:before { background: #303030; background: -webkit-linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B= 3B 60%, #212121 100%) no-repeat; background: -moz-linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B3B = 60%, #212121 100%) no-repeat; background: -o-linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B3B 60= %, #212121 100%) no-repeat; background: -ms-linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B3B 6= 0%, #212121 100%) no-repeat; background: linear-gradient(to bottom, #3D3D3D 0, #3D3D3D 50%, #3B3B3B= 60%, #212121 100%) no-repeat; -svg-background: linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B3B = 60%, #212121 100%) no-repeat; -webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px; -webkit-box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.3); -moz-box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.3); box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.3); border: 1px solid #ABABAB; margin: 0 auto; width: 16px; height: 16px; } label.cms-radiobutton { cursor: pointer; font-size: 12px; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; font-weight: normal; font-style: normal; line-height: 16px; display: inline-block; color: #141414 !important; } .cms-radiobutton>input[type=3D"radio"] { vertical-align: baseline; margin: 0 5px 0 0; } label.cms-radiobutton.active:before { background: #303030; background: -webkit-linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B= 3B 60%, #212121 100%) no-repeat; background: -moz-linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B3B = 60%, #212121 100%) no-repeat; background: -o-linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B3B 60= %, #212121 100%) no-repeat; background: -ms-linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B3B 6= 0%, #212121 100%) no-repeat; background: linear-gradient(to bottom, #3D3D3D 0, #3D3D3D 50%, #3B3B3B= 60%, #212121 100%) no-repeat; -svg-background: linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B3B = 60%, #212121 100%) no-repeat; -webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px; -webkit-box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.3); -moz-box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.3); box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.3); border: 1px solid #6E6E6E; margin: 0 auto; width: 16px; height: 16px; display: inline-block; } label.cms-radiobutton.hovered:before { background: #303030; background: -webkit-linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B= 3B 60%, #212121 100%) no-repeat; background: -moz-linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B3B = 60%, #212121 100%) no-repeat; background: -o-linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B3B 60= %, #212121 100%) no-repeat; background: -ms-linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B3B 6= 0%, #212121 100%) no-repeat; background: linear-gradient(to bottom, #3D3D3D 0, #3D3D3D 50%, #3B3B3B= 60%, #212121 100%) no-repeat; -svg-background: linear-gradient(top, #3D3D3D 0, #3D3D3D 50%, #3B3B3B = 60%, #212121 100%) no-repeat; -webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px; -webkit-box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.3); -moz-box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.3); box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.3); border: 1px solid #6E6E6E; margin: 0 auto; width: 16px; height: 16px; display: inline-block; } .cms-comments { border-top: 1px dashed #BFBFBF; margin: 0 auto; margin-top: 25px; } .cms-comments h2 { color: #404040; } .cms-comment { background: #E8E8E8; background: transparent; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; border: 1px dotted #BFBFBF; padding: 10px; margin: 0 auto; margin-top: 12px; } .cms-comment-avatar { float: left; width: 80px; height: 80px; padding: 2px; background: #fff; border: none; } .cms-comment-avatar>img { margin: 0 !important; border: none !important; } .cms-comment-content { padding: 10px 0; color: #404040; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; } .cms-comment:first-child { margin-top: 0; } .cms-comment-inner { margin-left: 92px; } .cms-comment-header { color: #404040; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; } .cms-comment-header a, .cms-comment-header a:link, .cms-comment-header a= :visited, .cms-comment-header a.visited, .cms-comment-header a:hover, .c= ms-comment-header a.hovered { font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; } .cms-comment-header a, .cms-comment-header a:link { font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; color: #700F11; } .cms-comment-header a:visited, .cms-comment-header a.visited { font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; color: #545454; } .cms-comment-header a:hover, .cms-comment-header a.hovered { font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; color: #941416; } .cms-comment-content a, .cms-comment-content a:link, .cms-comment-conten= t a:visited, .cms-comment-content a.visited, .cms-comment-content a:hove= r, .cms-comment-content a.hovered { font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; } .cms-comment-content a, .cms-comment-content a:link { font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; color: #700F11; } .cms-comment-content a:visited, .cms-comment-content a.visited { font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; color: #545454; } .cms-comment-content a:hover, .cms-comment-content a.hovered { font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; color: #941416; } .cms-pager { background: #ABABAB; background: transparent; padding: 7px; margin: 2px; } .cms-pager>*:last-child { margin-right: 0 !important; } .cms-pager>span { cursor: default; } .cms-pager>* { background: #D4D4D4; background: transparent; -webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px; border: 1px solid transparent; padding: 7px; margin: 0 7px 0 auto; line-height: normal; position: relative; display: inline-block; margin-left: 0; } .cms-pager a:link, .cms-pager a:visited, .cms-pager .active { line-height: normal; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; text-decoration: none; color: #480A0B; } .cms-pager .active { background: #8C8C8C; background: transparent; border: 1px solid transparent; padding: 7px; margin: 0 7px 0 auto; color: #480A0B; } .cms-pager .more { background: #D4D4D4; background: transparent; border: 1px solid transparent; margin: 0 7px 0 auto; } .cms-pager a.more:link, .cms-pager a.more:visited { color: #480A0B; } .cms-pager a:hover { background: #ABABAB; border: 1px solid #D4D4D4; padding: 7px; margin: 0 7px 0 auto; } .cms-pager a:hover, .cms-pager a.more:hover { color: #240505; } .cms-pager>*:after { margin: 0 0 0 auto; display: inline-block; position: absolute; content: ' '; top: 0; width: 0; height: 100%; border-right: 1px solid #8C8C8C; right: -5px; text-decoration: none; } .cms-pager>*:last-child:after { display: none; } .cms-commentsform { background: #6E6E6E; background: transparent; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; padding: 5px; margin: 0 auto; margin-top: 25px; color: #404040; } .cms-commentsform h2 { padding-bottom: 10px; margin: 0; color: #404040; } .cms-commentsform label { display: inline-block; line-height: 25px; } .cms-commentsform input:not([type=3Dsubmit]), .cms-commentsform textarea= { box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; width: 100%; max-width: 100%; } .cms-commentsform .form-submit { margin-top: 15px; } .cms-block { margin: 5px; } div.cms-block img { border: 1px dotted #ABABAB; margin: 0; } .cms-blockheader { padding: 0 5px; margin: 0 auto; } .cms-blockheader .t, .cms-blockheader .t a, .cms-blockheader .t a:link, = .cms-blockheader .t a:visited, .cms-blockheader .t a:hover { color: #FFFFFF; font-size: 23px; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; font-weight: normal; font-style: normal; margin: 0 5px; } .cms-blockcontent { background: #121212; background: transparent; padding: 5px; margin: 0 auto; color: #FFFFFF; font-size: 12px; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; line-height: 175%; } .cms-blockcontent table, .cms-blockcontent li, .cms-blockcontent a, .cms= -blockcontent a:link, .cms-blockcontent a:visited, .cms-blockcontent a:h= over { color: #FFFFFF; font-size: 12px; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; line-height: 175%; } .cms-blockcontent p { margin: 0 5px; } .cms-blockcontent a, .cms-blockcontent a:link { color: #5C5C5C; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; } .cms-blockcontent a:visited, .cms-blockcontent a.visited { color: #A1A1A1; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; text-decoration: none; } .cms-blockcontent a:hover, .cms-blockcontent a.hover { color: #858585; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; text-decoration: none; } .cms-block ul>li:before { content: url('../images/blockbullets.png'); margin-right: 6px; bottom: 2px; position: relative; display: inline-block; vertical-align: middle; font-size: 0; line-height: 0; margin-left: -13px; } .opera .cms-block ul>li:before { bottom: 0; } .cms-block li { font-size: 12px; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; line-height: 175%; color: #EBEBEB; margin: 5px 0 0 10px; } .cms-block ul>li, .cms-block ol { padding: 0; } .cms-block ul>li { padding-left: 13px; } .cms-post { padding: 3px; margin: 10px; } a img { border: 0; } .cms-article img, img.cms-article, .cms-block img, .cms-footer img { margin: 7px 7px 7px 7px; } .cms-metadata-icons img { border: none; vertical-align: middle; margin: 2px; } .cms-article table, table.cms-article { border-collapse: collapse; margin: 1px; } .cms-post .cms-content-layout-br { height: 0; } .cms-article th, .cms-article td { padding: 2px; vertical-align: top; text-align: left; } .cms-article th { text-align: center; vertical-align: middle; padding: 7px; } pre { overflow: auto; padding: 0.1em; } .preview-cms-logo { border: 0; margin: 1em 1em 0 0; float: left; } .image-caption-wrapper { padding: 7px 7px 7px 7px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .image-caption-wrapper img { margin: 0 !important; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .image-caption-wrapper div.cms-collage { margin: 0 !important; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .image-caption-wrapper p { font-size: 80%; text-align: right; margin: 0; } .cms-postmetadataheader { background: #D4D4D4; background: rgba(212, 212, 212, 0.7); margin: 0 auto; position: relative; z-index: 1; padding: 1px; } .cms-postheadericon:before { content: url('../images/postheadericon.png'); margin-right: 6px; bottom: 3px; position: relative; display: inline-block; vertical-align: middle; font-size: 0; line-height: 0; } .opera .cms-postheadericon:before { bottom: 0; } .cms-postheader { color: #333333; margin: 5px 10px; font-size: 22px; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; font-weight: normal; font-style: normal; } .cms-postheader a, .cms-postheader a:link, .cms-postheader a:visited, .c= ms-postheader a.visited, .cms-postheader a:hover, .cms-postheader a.hove= red { font-size: 22px; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; font-weight: normal; font-style: normal; } .cms-postheader a, .cms-postheader a:link { font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; text-decoration: none; text-align: left; color: #D31D20; } .cms-postheader a:visited, .cms-postheader a.visited { font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; text-decoration: none; text-align: left; color: #616161; } .cms-postheader a:hover, .cms-postheader a.hovered { font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; text-decoration: none; text-align: left; color: #CA1C1E; } .cms-postheadericons, .cms-postheadericons a, .cms-postheadericons a:lin= k, .cms-postheadericons a:visited, .cms-postheadericons a:hover { font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; color: #545454; } .cms-postheadericons { padding: 1px; } .cms-postheadericons a, .cms-postheadericons a:link { font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; text-decoration: none; color: #871214; } .cms-postheadericons a:visited, .cms-postheadericons a.visited { font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; font-weight: normal; font-style: italic; text-decoration: none; color: #4D4D4D; } .cms-postheadericons a:hover, .cms-postheadericons a.hover { font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; font-weight: normal; font-style: italic; text-decoration: underline; color: #B4181B; } .cms-postdateicon:before { content: url('../images/postdateicon.png'); margin-right: 6px; position: relative; display: inline-block; vertical-align: middle; font-size: 0; line-height: 0; bottom: auto; } .opera .cms-postdateicon:before { bottom: 0; } .cms-postauthoricon:before { content: url('../images/postauthoricon.png'); margin-right: 6px; position: relative; display: inline-block; vertical-align: middle; font-size: 0; line-height: 0; bottom: auto; } .opera .cms-postauthoricon:before { bottom: 0; } .cms-postpdficon:before { content: url('../images/system/pdf_button.png'); margin-right: 6px; position: relative; display: inline-block; vertical-align: middle; font-size: 0; line-height: 0; bottom: auto; } .opera .cms-postpdficon:before { bottom: 0; } .cms-postprinticon:before { content: url('../images/system/printButton.png'); margin-right: 6px; position: relative; display: inline-block; vertical-align: middle; font-size: 0; line-height: 0; bottom: auto; } .opera .cms-postprinticon:before { bottom: 0; } .cms-postemailicon:before { content: url('../images/system/emailButton.png'); margin-right: 6px; bottom: 2px; position: relative; display: inline-block; vertical-align: middle; font-size: 0; line-height: 0; } .opera .cms-postemailicon:before { bottom: 0; } .cms-postediticon:before { content: url('../images/system/edit.png'); margin-right: 6px; position: relative; display: inline-block; vertical-align: middle; font-size: 0; line-height: 0; bottom: auto; } .opera .cms-postediticon:before { bottom: 0; } .cms-postcontent ul>li:before, .cms-post ul>li:before, .cms-textblock ul= >li:before { content: url('../images/postbullets.png'); margin-right: 6px; bottom: 2px; position: relative; display: inline-block; vertical-align: middle; font-size: 0; line-height: 0; } .opera .cms-postcontent ul>li:before, .opera .cms-post ul>li:before, .= opera .cms-textblock ul>li:before { bottom: 0; } .cms-postcontent li, .cms-post li, .cms-textblock li { font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; color: #141414; margin: 3px 0 0 11px; } .cms-postcontent ul>li, .cms-post ul>li, .cms-textblock ul>li, .cms-post= content ol, .cms-post ol, .cms-textblock ol { padding: 0; } .cms-postcontent ul>li, .cms-post ul>li, .cms-textblock ul>li { padding-left: 21px; } .cms-postcontent ul>li:before, .cms-post ul>li:before, .cms-textblock ul= >li:before { margin-left: -21px; } .cms-postcontent ol, .cms-post ol, .cms-textblock ol, .cms-postcontent u= l, .cms-post ul, .cms-textblock ul { margin: 1em 0 1em 11px; } .cms-postcontent li ol, .cms-post li ol, .cms-textblock li ol, .cms-post= content li ul, .cms-post li ul, .cms-textblock li ul { margin: 0.5em 0 0.5em 11px; } .cms-postcontent li, .cms-post li, .cms-textblock li { margin: 3px 0 0 0; } .cms-postcontent ol>li, .cms-post ol>li, .cms-textblock ol>li { overflow: visible; } .cms-postcontent ul>li, .cms-post ul>li, .cms-textblock ul>li { overflow-x: visible; overflow-y: hidden; } blockquote { background: #FCC222 url('../images/postquote.png') no-repeat scroll; border: 1px solid #BFBFBF; padding: 10px 10px 10px 44px; margin: 0 0 0 15px; color: #080808; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; font-weight: normal; font-style: italic; text-align: left; overflow: auto; clear: both; } blockquote a, .cms-postcontent blockquote a, .cms-blockcontent blockquot= e a, .cms-footer blockquote a, blockquote a:link, .cms-postcontent block= quote a:link, .cms-blockcontent blockquote a:link, .cms-footer blockquot= e a:link, blockquote a:visited, .cms-postcontent blockquote a:visited, .= cms-blockcontent blockquote a:visited, .cms-footer blockquote a:visited,= blockquote a:hover, .cms-postcontent blockquote a:hover, .cms-blockcont= ent blockquote a:hover, .cms-footer blockquote a:hover { color: #080808; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; font-weight: normal; font-style: italic; text-align: left; } blockquote p, .cms-postcontent blockquote p, .cms-blockcontent blockquot= e p, .cms-footer blockquote p { margin: 0; margin: 5px 0; } .cms-postmetadatafooter { background: #D4D4D4; background: rgba(212, 212, 212, 0.7); -webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px; border: 1px dotted #BFBFBF; margin: 0 auto; position: relative; z-index: 1; padding: 1px; } .cms-postfootericons, .cms-postfootericons a, .cms-postfootericons a:lin= k, .cms-postfootericons a:visited, .cms-postfootericons a:hover { font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; color: #545454; } .cms-postfootericons { padding: 1px; } .cms-postfootericons a, .cms-postfootericons a:link { font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; text-decoration: none; color: #B4181B; } .cms-postfootericons a:visited, .cms-postfootericons a.visited { font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; text-decoration: none; color: #4D4D4D; } .cms-postfootericons a:hover, .cms-postfootericons a.hover { font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; text-decoration: none; color: #B4181B; } .cms-postcommentsicon:before { content: url('../images/postcommentsicon.png'); margin-right: 6px; position: relative; display: inline-block; vertical-align: middle; font-size: 0; line-height: 0; bottom: auto; } .opera .cms-postcommentsicon:before { bottom: 0; } .cms-footer { background: #121212; background: -webkit-linear-gradient(top, #575757 0, #000000 100%) no-r= epeat; background: -moz-linear-gradient(top, #575757 0, #000000 100%) no-repe= at; background: -o-linear-gradient(top, #575757 0, #000000 100%) no-repeat= ; background: -ms-linear-gradient(top, #575757 0, #000000 100%) no-repea= t; background: linear-gradient(to bottom, #575757 0, #000000 100%) no-rep= eat; -svg-background: linear-gradient(top, #575757 0, #000000 100%) no-repe= at; margin: 0 auto; position: relative; color: #8C8C8C; font-size: 12px; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; line-height: 175%; text-align: center; padding: 0; } .cms-footer a, .cms-footer a:link, .cms-footer a:visited, .cms-footer a:= hover, .cms-footer td, .cms-footer th, .cms-footer caption { color: #8C8C8C; font-size: 12px; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; line-height: 175%; } .cms-footer p { padding: 0; text-align: center; } .cms-footer a, .cms-footer a:link { color: #E2282B; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; text-decoration: none; } .cms-footer a:visited { color: #858585; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; text-decoration: none; } .cms-footer a:hover { color: #E8595B; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; text-decoration: underline; } .cms-footer h1 { color: #6E6E6E; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; } .cms-footer h2 { color: #8C8C8C; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; } .cms-footer h3 { color: #EA6264; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; } .cms-footer h4 { color: #BFBFBF; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; } .cms-footer h5 { color: #BFBFBF; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; } .cms-footer h6 { color: #BFBFBF; font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif; } .cms-footer img { border: none; margin: 12px; } .cms-footer-inner { margin: 0 auto; width: 960px; padding: 10px; padding-right: 10px; padding-left: 10px; } .cms-rss-tag-icon { background: url('../images/footerrssicon.png') no-repeat scroll; margin: 0 auto; min-height: 30px; min-width: 30px; display: inline-block; text-indent: 33px; background-position: left center; vertical-align: middle; } .cms-rss-tag-icon:empty { vertical-align: middle; } .cms-facebook-tag-icon { background: url('../images/footerfacebookicon.png') no-repeat scroll; margin: 0 auto; min-height: 32px; min-width: 32px; display: inline-block; text-indent: 35px; background-position: left center; vertical-align: middle; } .cms-facebook-tag-icon:empty { vertical-align: middle; } .cms-twitter-tag-icon { background: url('../images/footertwittericon.png') no-repeat scroll; margin: 0 auto; min-height: 32px; min-width: 32px; display: inline-block; text-indent: 35px; background-position: left center; vertical-align: middle; } .cms-twitter-tag-icon:empty { vertical-align: middle; } .cms-tumblr-tag-icon { background: url('../images/tumblricon.png') no-repeat scroll; margin: 0 auto; min-height: 33px; min-width: 32px; display: inline-block; text-indent: 35px; background-position: left center; vertical-align: middle; } .cms-tumblr-tag-icon:empty { vertical-align: middle; } .cms-pinterest-tag-icon { background: url('../images/pinteresticon.png') no-repeat scroll; margin: 0 auto; min-height: 32px; min-width: 32px; display: inline-block; text-indent: 35px; background-position: left center; vertical-align: middle; } .cms-pinterest-tag-icon:empty { vertical-align: middle; } .cms-vimeo-tag-icon { background: url('../images/vimeoicon.png') no-repeat scroll; margin: 0 auto; min-height: 35px; min-width: 35px; display: inline-block; text-indent: 38px; background-position: left center; vertical-align: middle; } .cms-vimeo-tag-icon:empty { vertical-align: middle; } .cms-youtube-tag-icon { background: url('../images/youtubeicon.png') no-repeat scroll; margin: 0 auto; min-height: 32px; min-width: 32px; display: inline-block; text-indent: 35px; background-position: left center; vertical-align: middle; } .cms-youtube-tag-icon:empty { vertical-align: middle; } .cms-linkedin-tag-icon { background: url('../images/linkedinicon.png') no-repeat scroll; margin: 0 auto; min-height: 33px; min-width: 32px; display: inline-block; text-indent: 35px; background-position: left center; vertical-align: middle; } .cms-linkedin-tag-icon:empty { vertical-align: middle; } .cms-footer li { font-size: 12px; font-family: Verdana, Geneva, Arial, Helvetica, Sans-Serif; color: #EBEBEB; } .cms-page-footer, .cms-page-footer a, .cms-page-footer a:link, .cms-page= -footer a:visited, .cms-page-footer a:hover { font-family: Arial; font-size: 10px; letter-spacing: normal; word-spacing: normal; font-style: normal; font-weight: normal; text-decoration: underline; color: #C7C7C7; } .cms-page-footer { position: relative; z-index: auto !important; padding: 1em; text-align: center !important; text-decoration: none; color: #ABABAB; } .cms-lightbox-wrapper { background: #333; background: rgba(0, 0, 0, .8); bottom: 0; left: 0; padding: 0 100px; position: fixed; right: 0; text-align: center; top: 0; z-index: 1000000; } .cms-lightbox, .cms-lightbox-wrapper .cms-lightbox-image { cursor: pointer; } .cms-lightbox-wrapper .cms-lightbox-image { border: 6px solid #fff; border-radius: 3px; display: none; max-width: 100%; vertical-align: middle; } .cms-lightbox-wrapper .cms-lightbox-image.active { display: inline-block; } .cms-lightbox-wrapper .lightbox-error { background: #fff; border: 1px solid #b4b4b4; border-radius: 10px; box-shadow: 0 2px 5px #333; height: 80px; opacity: .95; padding: 20px; position: fixed; width: 300px; z-index: 100; } .cms-lightbox-wrapper .loading { background: #fff url('../images/preloader-01.gif') center center no-re= peat; border: 1px solid #b4b4b4; border-radius: 10px; box-shadow: 0 2px 5px #333; height: 32px; opacity: .5; padding: 10px; position: fixed; width: 32px; z-index: 10100; } .cms-lightbox-wrapper .arrow { cursor: pointer; height: 100px; opacity: .5; filter: alpha(opacity=3D50); position: fixed; width: 82px; z-index: 10003; } .cms-lightbox-wrapper .arrow.left { left: 9px; } .cms-lightbox-wrapper .arrow.right { right: 9px; } .cms-lightbox-wrapper .arrow:hover { opacity: 1; filter: alpha(opacity=3D100); } .cms-lightbox-wrapper .arrow.disabled { display: none; } .cms-lightbox-wrapper .arrow-t, .cms-lightbox-wrapper .arrow-b { background-color: #fff; border-radius: 3px; height: 6px; left: 26px; position: relative; width: 30px; } .cms-lightbox-wrapper .arrow-t { top: 38px; } .cms-lightbox-wrapper .arrow-b { top: 50px; } .cms-lightbox-wrapper .close { cursor: pointer; height: 22px; opacity: .5; filter: alpha(opacity=3D50); position: fixed; right: 39px; top: 30px; width: 22px; z-index: 10003; } .cms-lightbox-wrapper .close:hover { opacity: 1; filter: alpha(opacity=3D100); } .cms-lightbox-wrapper .close .cw, .cms-lightbox-wrapper .close .ccw { background-color: #fff; border-radius: 3px; height: 6px; position: absolute; left: -4px; top: 8px; width: 30px; } .cms-lightbox-wrapper .cw { transform: rotate(45deg); -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); -o-transform: rotate(45deg); -moz-transform: rotate(45deg); } .cms-lightbox-wrapper .ccw { transform: rotate(-45deg); -ms-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); -o-transform: rotate(-45deg); -moz-transform: rotate(-45deg); } .cms-lightbox-wrapper .close-alt, .cms-lightbox-wrapper .arrow-right-alt= , .cms-lightbox-wrapper .arrow-left-alt { color: #fff; display: none; font-size: 2.5em; line-height: 100%; } .ie8 .cms-lightbox-wrapper .close-alt, .ie8 .cms-lightbox-wrapper .arrow= -right-alt, .ie8 .cms-lightbox-wrapper .arrow-left-alt { display: block; } .ie8 .cms-lightbox-wrapper .cw, .ie8 .cms-lightbox-wrapper .ccw { display: none; } .cms-content-layout .cms-content { margin: 0 auto; } .cms-content-layout .cms-sidebar1 { background: #121212; margin: 0 auto; width: 225px; } fieldset { border: none; } fieldset dl { display: block; margin: 0; padding: 0; background: none; } fieldset dt { display: block; box-sizing: border-box; -moz-box-sizing: border-box; width: 12em; height: 2em; margin: 0; padding: 0; float: left; clear: both; background: none; line-height: 2em; overflow: hidden; } fieldset dd { display: block; min-height: 2em; margin: 0 0 0 12em; padding: 0; background: none; line-height: 2em; } fieldset label { display: inline-block; width: 12em; } fieldset textarea { vertical-align: text-top; } .img-fulltext-left, .img-intro-left { float: left; display: block; border: none; padding: 0; margin: 0 0.3em 0.3em 0; margin-top: 0; } .img-fulltext-right, .img-intro-right { float: right; display: block; border: none; padding: 0; margin: 0 0 0.3em 0.3em; margin-top: 0; } ul.pagenav { clear: both; list-style: none; display: block; margin: 0; padding: 0; } ul.pagenav li, ul.pagenav li:before { display: block; background: none; margin: 0; padding: 0; width: 50%; text-align: center; content: normal; } ul.pagenav li.pagenav-prev { float: left; } ul.pagenav li.pagenav-next { margin: 0 0 0 50%; } div.item-page dl.tabs { display: block; margin: 0; padding: 0; } div.item-page dl.tabs:before { box-sizing: border-box; -moz-box-sizing: border-box; display: block; float: left; width: 1em; height: 2em; overflow: hidden; } div.item-page dl.tabs dt { box-sizing: border-box; -moz-box-sizing: border-box; display: block; float: left; height: 2em; overflow: hidden; border-left: 1px solid black; border-top: 1px solid black; } div.item-page dl.tabs dt h3 { margin: 0; padding: 0 1em; line-height: 2em; font-size: 100%; overflow: hidden; } div.item-page dl.tabs dt h3 a { text-decoration: none; } div.item-page dl.tabs:after { box-sizing: border-box; -moz-box-sizing: border-box; display: block; border-left: 1px solid black; content: " "; overflow: hidden; height: 2em; } div.item-page div.current { clear: both; border: 1px solid black; } div.item-page div.current dd.tabs { margin: 0; padding: 0; } div.item-page .panel { border: 1px solid black; margin-top: -1px; } div.item-page .panel h3 { margin: 0; padding: 0; } div.item-page .panel h3 a { display: block; padding: 6px; text-decoration: none; } div.item-page .panel h3.pane-toggler-down a { border-bottom: 1px solid black; } div.item-page .panel .pane-slider { margin: 0; padding: 0; } div.item-page div.pagination ul { clear: both; list-style: none; display: block; margin: 0; padding: 0; } div.item-page div.pagination li { display: block; width: 50%; margin: 0; padding: 0; text-align: center; float: left; white-space: nowrap; } div.item-page div.pagination:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; } .edit.item-page fieldset { border: 1px solid black; } .edit.item-page fieldset legend { padding: 7px; font-weight: bold; } #editor-xtd-buttons { float: left; padding: 0; } .toggle-editor { float: right; } #searchForm .phrases-box { display: block; float: left; } #searchForm .ordering-box { text-align: right; } #searchForm .phrases-box label, #searchForm .ordering-box label, #search= Form .only label { display: inline-block; width: auto; height: 2em; margin: 0; padding: 0 0.3em; } #mod-finder-searchform label { display: block; } #mod-finder-searchform input.inputbox { width: 100%; box-sizing: border-box; -moz-box-sizing: border-box; max-width: 300px; } #login-form fieldset label { width: 100%; } #login-form #form-login-username label, #login-form #form-login-password= label { display: block; } #login-form #form-login-username input, #login-form #form-login-password= input { width: 100%; box-sizing: border-box; -moz-box-sizing: border-box; max-width: 300px; } .breadcrumbs img { margin: 0; padding: 0; border: none; outline: none; } dl.stats-module { padding: 0.3em 0 0.3em 0.3em; margin: 0; } dl.stats-module dt { float: left; display: block; line-height: 1.5em; min-height: 1.5em; width: 10em; padding: 0.3em 0.3em 0 0; margin: 0; font-weight: bold; } dl.stats-module dd { display: block; line-height: 1.5em; min-height: 1.5em; margin: 0 0 0 10em; } div.mod-languages ul { margin: 0; padding: 0; list-style: none; } div.mod-languages li { background: none; margin: 0 0.3em; padding: 0; } div.mod-languages ul.lang-inline li { display: inline; } div.mod-languages ul.lang-block li { display: block; } div.mod-languages img { border: none; margin: 0; padding: 0; } div.clr { clear: both; } #system-message ul li { background-image: none; } ul.actions, ul.actions li, ul.actions li img { display: inline; margin: 0; padding: 0; border: none; } ul.actions li { background: none; list-style: none; } .items-row { display: table; width: 100%; table-layout: fixed; border-collapse: collapse; } .items-row .item { display: table-cell; vertical-align: top; } .items-row .row-separator { display: none; } div.pagination p.counter { display: inline-block; margin: 0 0.3em 0 0; padding: 0; background: none; } div.pagination ul, div.pagination ul li, div.pagination ul > li:before { display: inline-block; list-style: none; margin: 0; padding: 0 0.3em; background: none; content: normal; } div.tip-wrap { background: #fff; border: 1px solid #aaa; } div.tip-wrap div.tip { padding: 0.3em; } div.tip-wrap div.tip-title { font-weight: bold; } table.category { width: 100%; } table.category thead th img { padding: 0 0 0 0.3em; margin: 0; border: none; } span.hasTip a img { padding: 0; margin: 0; border: none; } div.categories-list ul li span.item-title, div.cat-children ul li span.i= tem-title { display: block; margin: 0 0 0.3em 0; } div.categories-list ul li div.category-desc, div.cat-children ul li div.= category-desc { margin: 0 0 0.3em 0; } div.categories-list dl, div.cat-children dl { display: block; padding-left: 0; padding-right: 0; margin-left: 0; margin-right: 0; background: none; } div.categories-list dl dt, div.cat-children dl dt, div.categories-list d= l dd, div.cat-children dl dd { display: inline-block; padding: 0; margin: 0; background: none; } div.img_caption p.img_caption { padding: 0.3em 0; margin: 0; } form .search label, form .finder label { display: none; } #search-searchword { margin-bottom: 5px; } .cols-2 .column-1, .cols-2 .column-2, .cols-3 .column-1, .cols-3 .column= -2, .cols-3 .column-3 { float: left; clear: right; } .cols-2 .column-1 { width: 50%; } .cols-2 .column-2 { width: 50%; } .cols-3 .column-1 { width: 33%; } .cols-3 .column-2 { width: 33%; } .cols-3 .column-3 { width: 34%; } .row-separator { clear: both; float: none; font-size: 1px; display: block; } ul.categories-module li h1, ul.categories-module li h2, ul.categories-mo= dule li h3, ul.categories-module li h4, ul.categories-module li h5, ul.c= ategories-module li h6 { display: inline; } .only, .phrases { border: solid 1px #ccc; margin: 10px 0 0 0px; padding: 15px; line-height: 1.3em; } div.tags { display: inline; } .tag-category ul > li:before { content: normal; } ul.list-striped > li:before { content: normal; } .list-striped { border-top: 1px solid #ddd; } .list-striped li, .list-striped dd { border-bottom: 1px solid #ddd; } /* Begin Additional CSS Styles */ .cms-blockheader .t, .cms-vmenublockheader .t {white-space: nowrap;} /* End Additional CSS Styles */ ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline; filename=template.responsive.css Content-Type: text/css; name=template.responsive.css Content-Location: http://bassreview.net/home/templates/bassreview/css/template.responsive.css Content-Transfer-Encoding: 8bit /* Created by Artisteer v4.2.0.60623 */ .responsive body { min-width: 240px; } .responsive img { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .responsive .cms-content-layout img, .responsive .cms-content-layout video { max-width: 100%; height: auto !important; } .responsive.responsive-phone .cms-content-layout img { margin: 1%; } .responsive.responsive-phone .cms-collage, .responsive.responsive-tablet .cms-collage { margin: 0 !important; } .responsive .cms-content-layout .cms-sidebar0, .responsive .cms-content-layout .cms-sidebar1, .responsive .cms-content-layout .cms-sidebar2 { width: auto !important; } .responsive .cms-content-layout, .responsive .cms-content-layout-row, .responsive .cms-layout-cell { padding: 0; display: block; } .responsive .image-caption-wrapper { width: auto; } .responsive.responsive-tablet .cms-vmenublock, .responsive.responsive-tablet .cms-block { margin-left: 1%; margin-right: 1%; width: 48%; float: left; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .responsive .cms-responsive-embed { height: 0; padding-bottom: 56.25%; /* 16:9 */ position: relative; } .responsive .cms-responsive-embed iframe, .responsive .cms-responsive-embed object, .responsive .cms-responsive-embed embed { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } .responsive .cms-sheet { width: auto !important; min-width: 240px !important; max-width: none !important; margin-right: 1% !important; margin-left: 1% !important; } #cms-resp { display: none; } @media all and (max-width: 959px) { #cms-resp, #cms-resp-t { display: block; } #cms-resp-m { display: none; } } @media all and (max-width: 480px) { #cms-resp, #cms-resp-m { display: block; } #cms-resp-t { display: none; } } #cms-resp-desktop { display: none; } #cms-resp-tablet-landscape { display: none; } #cms-resp-tablet-portrait { display: none; } #cms-resp-phone-landscape { display: none; } #cms-resp-phone-portrait { display: none; } @media (min-width: 1200px) { #cms-resp-desktop { display: block; } } @media (min-width: 980px) and (max-width: 1199px) { #cms-resp-tablet-landscape { display: block; } } @media (min-width: 768px) and (max-width: 979px) { #cms-resp-tablet-portrait { display: block; } } @media (min-width: 480px) and (max-width: 767px) { #cms-resp-phone-landscape { display: block; } } @media (max-width: 479px) { #cms-resp-phone-portrait { display: block; } } .responsive .cms-header { width: auto !important; max-width: none !important; min-height: 100px !important; min-width: 0 !important; text-align: center; } .default-responsive .cms-header { height: auto; } .default-responsive .cms-header * { position: relative; text-align: center; -webkit-transform: none !important; -moz-transform: none !important; -o-transform: none !important; -ms-transform: none !important; transform: none !important; } .default-responsive .cms-header .cms-headline, .default-responsive .cms-header .cms-slogan { display: block !important; top: 0 !important; left: 0 !important; margin: 2% !important; text-align: center !important; } .default-responsive .cms-header .cms-headline a, .default-responsive .cms-header .cms-slogan { white-space: normal !important; } .default-responsive .cms-header .cms-logo { display: inline-block; margin: auto !important; left: auto; top: auto !important; width: auto; height: auto; } .responsive .cms-header .cms-slidenavigator { position: absolute; } .default-responsive .cms-header .cms-positioncontrol { top: auto !important; right: auto !important; bottom: auto !important; left: auto !important; width: auto; height: auto; margin: auto; } .responsive .cms-header #cms-flash-area { display: none; } /* Search and other elements in header element directly */ .default-responsive .cms-header>.cms-textblock { position: relative !important; display: block !important; margin: 1% auto !important; width: 75% !important; top: auto !important; right: auto !important; bottom: auto !important; left: auto !important; } .default-responsive .cms-header .cms-textblock { position: relative !important; display: block !important; margin: auto !important; left: 0 !important; right: 0 !important; top: auto !important; height: auto !important; width: auto; background-image: none; } /* '.cms-header *' used noram align, but for '.cms-textblock *' we must force align because of preview */ .responsive .cms-header .cms-textblock * { text-align: center !important; } .default-responsive .cms-header .cms-shapes > .cms-textblock, .default-responsive .cms-header .cms-slide-item > .cms-textblock { display: none !important; } .default-responsive .cms-header .cms-shapes > .cms-textblock * { text-align: center !important; width: auto !important; height: auto !important; display: block; } .default-responsive .cms-header .cms-slider .cms-textblock * { text-align: center !important; width: auto !important; height: auto !important; display: block; } /* For icons like facebook, rss, etc. */ .responsive .cms-header>.cms-textblock>div { width: 100%; } /* dynamic width nav */ .responsive nav.cms-nav, .responsive .cms-nav-inner { width: auto !important; position: relative !important; top: auto !important; left: auto !important; right: auto !important; bottom: auto !important; margin-top: 0; margin-bottom: 0; min-width: 0; text-align: center !important; } .responsive nav.cms-nav { min-width: 1%; } .responsive .cms-nav { padding-left: 0; padding-right: 0; margin-top: 20px; } /* full width hmenu, instead of inline-block */ .responsive .cms-nav ul.cms-hmenu { float: none; text-align: center; display: none; } /* elements on different lines */ .responsive .cms-nav ul.cms-hmenu li, .responsive .cms-hmenu-extra1, .responsive .cms-hmenu-extra2 { float: none; } /* horizontal margins */ .responsive .cms-nav ul.cms-hmenu>li:first-child, .responsive .cms-nav ul.cms-hmenu>li:last-child, .responsive .cms-nav ul.cms-hmenu>li { margin-left: 0; margin-right: 0; } /* separator */ .responsive .cms-nav ul.cms-hmenu>li:before { display: none; } /* vertical distance between items */ .responsive .cms-nav ul.cms-hmenu a { margin-top: 1px !important; margin-bottom: 1px !important; height: auto; white-space: normal; } .responsive .cms-nav ul.cms-hmenu>li:first-child>a { margin-top: 0 !important; } .responsive .cms-nav ul.cms-hmenu>li:last-child>a { margin-bottom: 0 !important; } /* fixes for extended menu */ .responsive .cms-nav .ext, .responsive .cms-nav ul.cms-hmenu>li>ul, .responsive .cms-nav ul.cms-hmenu>li>ul>li, .responsive .cms-nav ul.cms-hmenu>li>ul>li a { width: auto !important; } /* submenu position on hover */ .responsive .cms-nav ul.cms-hmenu ul { left: auto !important; right: auto !important; top: auto !important; bottom: auto !important; display: none !important; position: relative !important; visibility: visible !important; } .responsive .cms-nav ul.cms-hmenu li.active>ul { display: block !important; } .responsive .cms-nav ul.cms-hmenu ul li.active>a { font-weight: bold; } .cms-nav .cms-menu-btn { border: 1px solid #404040; border-radius: 3px; box-shadow: 0 0 3px 0 rgba(0, 0, 0, .2); display: none; -svg-background: linear-gradient(to bottom, #707070 0, #000 100%); background: -ms-linear-gradient(top, #707070 0, #000 100%); background: -moz-linear-gradient(top, #707070 0, #000 100%); background: -o-linear-gradient(top, #707070 0, #000 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #707070), color-stop(1, #000)); background: -webkit-linear-gradient(top, #707070 0, #000 100%); background: linear-gradient(to bottom, #707070 0, #000 100%); margin: 3px; outline: none; padding: 5px; position: relative; vertical-align: bottom; width: 20px; } .cms-nav .cms-menu-btn span { background: #E0E0E0; border-radius: 2px; display: block; height: 3px; margin: 3px 1px; position: relative; -moz-transition: background .2s; -o-transition: background .2s; -webkit-transition: background .2s; transition: background .2s; } .cms-nav .cms-menu-btn:hover span { background: #f3f3f3; } .responsive .cms-nav .cms-menu-btn { display: inline-block; } .responsive .cms-nav .cms-hmenu.visible { display: block; } .responsive .cms-nav ul.cms-hmenu>li>ul>li:first-child:after { display: none; } .responsive .cms-nav ul.cms-hmenu ul a { padding-left: 4% !important; } .responsive .cms-nav ul.cms-hmenu ul ul a { padding-left: 6% !important; } .responsive .cms-nav ul.cms-hmenu ul ul ul a { padding-left: 8% !important; } .responsive .cms-nav ul.cms-hmenu ul ul ul ul a { padding-left: 10% !important; } .responsive .cms-nav ul.cms-hmenu ul ul ul ul ul a { padding-left: 12% !important; } .responsive .cms-nav ul.cms-hmenu>li>ul { padding: 1px; } .responsive .cms-nav ul.cms-hmenu>li>ul:before { top: 0; right: 0; bottom: 0; left: 0; } .responsive .cms-content-layout, .responsive .cms-content-layout-row, .responsive .cms-layout-cell { display: block; } .responsive .cms-layout-cell { width: auto !important; height: auto !important; } .responsive .cms-content-layout:after, .responsive .cms-content-layout-row:after, .responsive .cms-layout-cell:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } .responsive .cms-post { border-radius: 0; } .responsive .cms-footer-inner { width: auto; padding: 2% !important; } .responsive .responsive-tablet-layout-cell { width: 50% !important; float: left; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .responsive .responsive-layout-row-3 .responsive-tablet-layout-cell { width: 33.33% !important; } .responsive.responsive-tablet .items-row .item , .responsive.responsive-phone .items-row .item { width: auto; } ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline; filename=favicon.ico Content-Type: image/x-icon; name=favicon.ico Content-Location: http://bassreview.net/home/favicon.ico Content-Transfer-Encoding: 8bit ------------XivgKsbQDpNe127nujFz0X Content-Disposition: inline; filename=jquery.js Content-Type: application/javascript; name=jquery.js Content-Location: http://bassreview.net/home/templates/bassreview/jquery.js Content-Transfer-Encoding: Base64 LyohIGpRdWVyeSB2MS45LjEgfCAoYykgMjAwNSwgMjAxMiBqUXVlcnkgRm91bmRh dGlvbiwgSW5jLiB8IGpxdWVyeS5vcmcvbGljZW5zZQovL0Agc291cmNlTWFwcGlu Z1VSTD1qcXVlcnkubWluLm1hcAoqLyhmdW5jdGlvbihlLHQpe3ZhciBuLHIsaT10 eXBlb2YgdCxvPWUuZG9jdW1lbnQsYT1lLmxvY2F0aW9uLHM9ZS5qUXVlcnksdT1l LiQsbD17fSxjPVtdLHA9IjEuOS4xIixmPWMuY29uY2F0LGQ9Yy5wdXNoLGg9Yy5z bGljZSxnPWMuaW5kZXhPZixtPWwudG9TdHJpbmcseT1sLmhhc093blByb3BlcnR5 LHY9cC50cmltLGI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IGIuZm4uaW5pdChl LHQscil9LHg9L1srLV0/KD86XGQqXC58KVxkKyg/OltlRV1bKy1dP1xkK3wpLy5z b3VyY2Usdz0vXFMrL2csVD0vXltcc1x1RkVGRlx4QTBdK3xbXHNcdUZFRkZceEEw XSskL2csTj0vXig/Oig8W1x3XFddKz4pW14+XSp8IyhbXHctXSopKSQvLEM9L148 KFx3KylccypcLz8+KD86PFwvXDE+fCkkLyxrPS9eW1xdLDp7fVxzXSokLyxFPS8o PzpefDp8LCkoPzpccypcWykrL2csUz0vXFwoPzpbIlxcXC9iZm5ydF18dVtcZGEt ZkEtRl17NH0pL2csQT0vIlteIlxcXHJcbl0qInx0cnVlfGZhbHNlfG51bGx8LT8o PzpcZCtcLnwpXGQrKD86W2VFXVsrLV0/XGQrfCkvZyxqPS9eLW1zLS8sRD0vLShb XGRhLXpdKS9naSxMPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQudG9VcHBlckNhc2Uo KX0sSD1mdW5jdGlvbihlKXsoby5hZGRFdmVudExpc3RlbmVyfHwibG9hZCI9PT1l LnR5cGV8fCJjb21wbGV0ZSI9PT1vLnJlYWR5U3RhdGUpJiYocSgpLGIucmVhZHko KSl9LHE9ZnVuY3Rpb24oKXtvLmFkZEV2ZW50TGlzdGVuZXI/KG8ucmVtb3ZlRXZl bnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsSCwhMSksZS5yZW1vdmVFdmVu dExpc3RlbmVyKCJsb2FkIixILCExKSk6KG8uZGV0YWNoRXZlbnQoIm9ucmVhZHlz dGF0ZWNoYW5nZSIsSCksZS5kZXRhY2hFdmVudCgib25sb2FkIixIKSl9O2IuZm49 Yi5wcm90b3R5cGU9e2pxdWVyeTpwLGNvbnN0cnVjdG9yOmIsaW5pdDpmdW5jdGlv bihlLG4scil7dmFyIGksYTtpZighZSlyZXR1cm4gdGhpcztpZigic3RyaW5nIj09 dHlwZW9mIGUpe2lmKGk9IjwiPT09ZS5jaGFyQXQoMCkmJiI+Ij09PWUuY2hhckF0 KGUubGVuZ3RoLTEpJiZlLmxlbmd0aD49Mz9bbnVsbCxlLG51bGxdOk4uZXhlYyhl KSwhaXx8IWlbMV0mJm4pcmV0dXJuIW58fG4uanF1ZXJ5PyhufHxyKS5maW5kKGUp OnRoaXMuY29uc3RydWN0b3IobikuZmluZChlKTtpZihpWzFdKXtpZihuPW4gaW5z dGFuY2VvZiBiP25bMF06bixiLm1lcmdlKHRoaXMsYi5wYXJzZUhUTUwoaVsxXSxu JiZuLm5vZGVUeXBlP24ub3duZXJEb2N1bWVudHx8bjpvLCEwKSksQy50ZXN0KGlb MV0pJiZiLmlzUGxhaW5PYmplY3QobikpZm9yKGkgaW4gbiliLmlzRnVuY3Rpb24o dGhpc1tpXSk/dGhpc1tpXShuW2ldKTp0aGlzLmF0dHIoaSxuW2ldKTtyZXR1cm4g dGhpc31pZihhPW8uZ2V0RWxlbWVudEJ5SWQoaVsyXSksYSYmYS5wYXJlbnROb2Rl KXtpZihhLmlkIT09aVsyXSlyZXR1cm4gci5maW5kKGUpO3RoaXMubGVuZ3RoPTEs dGhpc1swXT1hfXJldHVybiB0aGlzLmNvbnRleHQ9byx0aGlzLnNlbGVjdG9yPWUs dGhpc31yZXR1cm4gZS5ub2RlVHlwZT8odGhpcy5jb250ZXh0PXRoaXNbMF09ZSx0 aGlzLmxlbmd0aD0xLHRoaXMpOmIuaXNGdW5jdGlvbihlKT9yLnJlYWR5KGUpOihl LnNlbGVjdG9yIT09dCYmKHRoaXMuc2VsZWN0b3I9ZS5zZWxlY3Rvcix0aGlzLmNv bnRleHQ9ZS5jb250ZXh0KSxiLm1ha2VBcnJheShlLHRoaXMpKX0sc2VsZWN0b3I6 IiIsbGVuZ3RoOjAsc2l6ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aH0s dG9BcnJheTpmdW5jdGlvbigpe3JldHVybiBoLmNhbGwodGhpcyl9LGdldDpmdW5j dGlvbihlKXtyZXR1cm4gbnVsbD09ZT90aGlzLnRvQXJyYXkoKTowPmU/dGhpc1t0 aGlzLmxlbmd0aCtlXTp0aGlzW2VdfSxwdXNoU3RhY2s6ZnVuY3Rpb24oZSl7dmFy IHQ9Yi5tZXJnZSh0aGlzLmNvbnN0cnVjdG9yKCksZSk7cmV0dXJuIHQucHJldk9i amVjdD10aGlzLHQuY29udGV4dD10aGlzLmNvbnRleHQsdH0sZWFjaDpmdW5jdGlv bihlLHQpe3JldHVybiBiLmVhY2godGhpcyxlLHQpfSxyZWFkeTpmdW5jdGlvbihl KXtyZXR1cm4gYi5yZWFkeS5wcm9taXNlKCkuZG9uZShlKSx0aGlzfSxzbGljZTpm dW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhoLmFwcGx5KHRoaXMsYXJn dW1lbnRzKSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxh c3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgtMSl9LGVxOmZ1bmN0aW9uKGUp e3ZhciB0PXRoaXMubGVuZ3RoLG49K2UrKDA+ZT90OjApO3JldHVybiB0aGlzLnB1 c2hTdGFjayhuPj0wJiZ0Pm4/W3RoaXNbbl1dOltdKX0sbWFwOmZ1bmN0aW9uKGUp e3JldHVybiB0aGlzLnB1c2hTdGFjayhiLm1hcCh0aGlzLGZ1bmN0aW9uKHQsbil7 cmV0dXJuIGUuY2FsbCh0LG4sdCl9KSl9LGVuZDpmdW5jdGlvbigpe3JldHVybiB0 aGlzLnByZXZPYmplY3R8fHRoaXMuY29uc3RydWN0b3IobnVsbCl9LHB1c2g6ZCxz b3J0OltdLnNvcnQsc3BsaWNlOltdLnNwbGljZX0sYi5mbi5pbml0LnByb3RvdHlw ZT1iLmZuLGIuZXh0ZW5kPWIuZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGUsbixy LGksbyxhLHM9YXJndW1lbnRzWzBdfHx7fSx1PTEsbD1hcmd1bWVudHMubGVuZ3Ro LGM9ITE7Zm9yKCJib29sZWFuIj09dHlwZW9mIHMmJihjPXMscz1hcmd1bWVudHNb MV18fHt9LHU9MiksIm9iamVjdCI9PXR5cGVvZiBzfHxiLmlzRnVuY3Rpb24ocyl8 fChzPXt9KSxsPT09dSYmKHM9dGhpcywtLXUpO2w+dTt1KyspaWYobnVsbCE9KG89 YXJndW1lbnRzW3VdKSlmb3IoaSBpbiBvKWU9c1tpXSxyPW9baV0scyE9PXImJihj JiZyJiYoYi5pc1BsYWluT2JqZWN0KHIpfHwobj1iLmlzQXJyYXkocikpKT8obj8o bj0hMSxhPWUmJmIuaXNBcnJheShlKT9lOltdKTphPWUmJmIuaXNQbGFpbk9iamVj dChlKT9lOnt9LHNbaV09Yi5leHRlbmQoYyxhLHIpKTpyIT09dCYmKHNbaV09cikp O3JldHVybiBzfSxiLmV4dGVuZCh7bm9Db25mbGljdDpmdW5jdGlvbih0KXtyZXR1 cm4gZS4kPT09YiYmKGUuJD11KSx0JiZlLmpRdWVyeT09PWImJihlLmpRdWVyeT1z KSxifSxpc1JlYWR5OiExLHJlYWR5V2FpdDoxLGhvbGRSZWFkeTpmdW5jdGlvbihl KXtlP2IucmVhZHlXYWl0Kys6Yi5yZWFkeSghMCl9LHJlYWR5OmZ1bmN0aW9uKGUp e2lmKGU9PT0hMD8hLS1iLnJlYWR5V2FpdDohYi5pc1JlYWR5KXtpZighby5ib2R5 KXJldHVybiBzZXRUaW1lb3V0KGIucmVhZHkpO2IuaXNSZWFkeT0hMCxlIT09ITAm Ji0tYi5yZWFkeVdhaXQ+MHx8KG4ucmVzb2x2ZVdpdGgobyxbYl0pLGIuZm4udHJp Z2dlciYmYihvKS50cmlnZ2VyKCJyZWFkeSIpLm9mZigicmVhZHkiKSl9fSxpc0Z1 bmN0aW9uOmZ1bmN0aW9uKGUpe3JldHVybiJmdW5jdGlvbiI9PT1iLnR5cGUoZSl9 LGlzQXJyYXk6QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24oZSl7cmV0dXJuImFycmF5 Ij09PWIudHlwZShlKX0saXNXaW5kb3c6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwh PWUmJmU9PWUud2luZG93fSxpc051bWVyaWM6ZnVuY3Rpb24oZSl7cmV0dXJuIWlz TmFOKHBhcnNlRmxvYXQoZSkpJiZpc0Zpbml0ZShlKX0sdHlwZTpmdW5jdGlvbihl KXtyZXR1cm4gbnVsbD09ZT9lKyIiOiJvYmplY3QiPT10eXBlb2YgZXx8ImZ1bmN0 aW9uIj09dHlwZW9mIGU/bFttLmNhbGwoZSldfHwib2JqZWN0Ijp0eXBlb2YgZX0s aXNQbGFpbk9iamVjdDpmdW5jdGlvbihlKXtpZighZXx8Im9iamVjdCIhPT1iLnR5 cGUoZSl8fGUubm9kZVR5cGV8fGIuaXNXaW5kb3coZSkpcmV0dXJuITE7dHJ5e2lm KGUuY29uc3RydWN0b3ImJiF5LmNhbGwoZSwiY29uc3RydWN0b3IiKSYmIXkuY2Fs bChlLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwiaXNQcm90b3R5cGVPZiIpKXJldHVy biExfWNhdGNoKG4pe3JldHVybiExfXZhciByO2ZvcihyIGluIGUpO3JldHVybiBy PT09dHx8eS5jYWxsKGUscil9LGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24oZSl7dmFy IHQ7Zm9yKHQgaW4gZSlyZXR1cm4hMTtyZXR1cm4hMH0sZXJyb3I6ZnVuY3Rpb24o ZSl7dGhyb3cgRXJyb3IoZSl9LHBhcnNlSFRNTDpmdW5jdGlvbihlLHQsbil7aWYo IWV8fCJzdHJpbmciIT10eXBlb2YgZSlyZXR1cm4gbnVsbDsiYm9vbGVhbiI9PXR5 cGVvZiB0JiYobj10LHQ9ITEpLHQ9dHx8bzt2YXIgcj1DLmV4ZWMoZSksaT0hbiYm W107cmV0dXJuIHI/W3QuY3JlYXRlRWxlbWVudChyWzFdKV06KHI9Yi5idWlsZEZy YWdtZW50KFtlXSx0LGkpLGkmJmIoaSkucmVtb3ZlKCksYi5tZXJnZShbXSxyLmNo aWxkTm9kZXMpKX0scGFyc2VKU09OOmZ1bmN0aW9uKG4pe3JldHVybiBlLkpTT04m JmUuSlNPTi5wYXJzZT9lLkpTT04ucGFyc2Uobik6bnVsbD09PW4/bjoic3RyaW5n Ij09dHlwZW9mIG4mJihuPWIudHJpbShuKSxuJiZrLnRlc3Qobi5yZXBsYWNlKFMs IkAiKS5yZXBsYWNlKEEsIl0iKS5yZXBsYWNlKEUsIiIpKSk/RnVuY3Rpb24oInJl dHVybiAiK24pKCk6KGIuZXJyb3IoIkludmFsaWQgSlNPTjogIituKSx0KX0scGFy c2VYTUw6ZnVuY3Rpb24obil7dmFyIHIsaTtpZighbnx8InN0cmluZyIhPXR5cGVv ZiBuKXJldHVybiBudWxsO3RyeXtlLkRPTVBhcnNlcj8oaT1uZXcgRE9NUGFyc2Vy LHI9aS5wYXJzZUZyb21TdHJpbmcobiwidGV4dC94bWwiKSk6KHI9bmV3IEFjdGl2 ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSxyLmFzeW5jPSJmYWxzZSIsci5s b2FkWE1MKG4pKX1jYXRjaChvKXtyPXR9cmV0dXJuIHImJnIuZG9jdW1lbnRFbGVt ZW50JiYhci5nZXRFbGVtZW50c0J5VGFnTmFtZSgicGFyc2VyZXJyb3IiKS5sZW5n dGh8fGIuZXJyb3IoIkludmFsaWQgWE1MOiAiK24pLHJ9LG5vb3A6ZnVuY3Rpb24o KXt9LGdsb2JhbEV2YWw6ZnVuY3Rpb24odCl7dCYmYi50cmltKHQpJiYoZS5leGVj U2NyaXB0fHxmdW5jdGlvbih0KXtlLmV2YWwuY2FsbChlLHQpfSkodCl9LGNhbWVs Q2FzZTpmdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKGosIm1zLSIpLnJlcGxh Y2UoRCxMKX0sbm9kZU5hbWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5ub2RlTmFt ZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09dC50b0xvd2VyQ2FzZSgpfSxl YWNoOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpPTAsbz1lLmxlbmd0aCxhPU0oZSk7 aWYobil7aWYoYSl7Zm9yKDtvPmk7aSsrKWlmKHI9dC5hcHBseShlW2ldLG4pLHI9 PT0hMSlicmVha31lbHNlIGZvcihpIGluIGUpaWYocj10LmFwcGx5KGVbaV0sbiks cj09PSExKWJyZWFrfWVsc2UgaWYoYSl7Zm9yKDtvPmk7aSsrKWlmKHI9dC5jYWxs KGVbaV0saSxlW2ldKSxyPT09ITEpYnJlYWt9ZWxzZSBmb3IoaSBpbiBlKWlmKHI9 dC5jYWxsKGVbaV0saSxlW2ldKSxyPT09ITEpYnJlYWs7cmV0dXJuIGV9LHRyaW06 diYmIXYuY2FsbCgiXHVmZWZmXHUwMGEwIik/ZnVuY3Rpb24oZSl7cmV0dXJuIG51 bGw9PWU/IiI6di5jYWxsKGUpfTpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT8i IjooZSsiIikucmVwbGFjZShULCIiKX0sbWFrZUFycmF5OmZ1bmN0aW9uKGUsdCl7 dmFyIG49dHx8W107cmV0dXJuIG51bGwhPWUmJihNKE9iamVjdChlKSk/Yi5tZXJn ZShuLCJzdHJpbmciPT10eXBlb2YgZT9bZV06ZSk6ZC5jYWxsKG4sZSkpLG59LGlu QXJyYXk6ZnVuY3Rpb24oZSx0LG4pe3ZhciByO2lmKHQpe2lmKGcpcmV0dXJuIGcu Y2FsbCh0LGUsbik7Zm9yKHI9dC5sZW5ndGgsbj1uPzA+bj9NYXRoLm1heCgwLHIr bik6bjowO3I+bjtuKyspaWYobiBpbiB0JiZ0W25dPT09ZSlyZXR1cm4gbn1yZXR1 cm4tMX0sbWVyZ2U6ZnVuY3Rpb24oZSxuKXt2YXIgcj1uLmxlbmd0aCxpPWUubGVu Z3RoLG89MDtpZigibnVtYmVyIj09dHlwZW9mIHIpZm9yKDtyPm87bysrKWVbaSsr XT1uW29dO2Vsc2Ugd2hpbGUobltvXSE9PXQpZVtpKytdPW5bbysrXTtyZXR1cm4g ZS5sZW5ndGg9aSxlfSxncmVwOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpPVtdLG89 MCxhPWUubGVuZ3RoO2ZvcihuPSEhbjthPm87bysrKXI9ISF0KGVbb10sbyksbiE9 PXImJmkucHVzaChlW29dKTtyZXR1cm4gaX0sbWFwOmZ1bmN0aW9uKGUsdCxuKXt2 YXIgcixpPTAsbz1lLmxlbmd0aCxhPU0oZSkscz1bXTtpZihhKWZvcig7bz5pO2kr KylyPXQoZVtpXSxpLG4pLG51bGwhPXImJihzW3MubGVuZ3RoXT1yKTtlbHNlIGZv cihpIGluIGUpcj10KGVbaV0saSxuKSxudWxsIT1yJiYoc1tzLmxlbmd0aF09cik7 cmV0dXJuIGYuYXBwbHkoW10scyl9LGd1aWQ6MSxwcm94eTpmdW5jdGlvbihlLG4p e3ZhciByLGksbztyZXR1cm4ic3RyaW5nIj09dHlwZW9mIG4mJihvPWVbbl0sbj1l LGU9byksYi5pc0Z1bmN0aW9uKGUpPyhyPWguY2FsbChhcmd1bWVudHMsMiksaT1m dW5jdGlvbigpe3JldHVybiBlLmFwcGx5KG58fHRoaXMsci5jb25jYXQoaC5jYWxs KGFyZ3VtZW50cykpKX0saS5ndWlkPWUuZ3VpZD1lLmd1aWR8fGIuZ3VpZCsrLGkp OnR9LGFjY2VzczpmdW5jdGlvbihlLG4scixpLG8sYSxzKXt2YXIgdT0wLGw9ZS5s ZW5ndGgsYz1udWxsPT1yO2lmKCJvYmplY3QiPT09Yi50eXBlKHIpKXtvPSEwO2Zv cih1IGluIHIpYi5hY2Nlc3MoZSxuLHUsclt1XSwhMCxhLHMpfWVsc2UgaWYoaSE9 PXQmJihvPSEwLGIuaXNGdW5jdGlvbihpKXx8KHM9ITApLGMmJihzPyhuLmNhbGwo ZSxpKSxuPW51bGwpOihjPW4sbj1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGMuY2Fs bChiKGUpLG4pfSkpLG4pKWZvcig7bD51O3UrKyluKGVbdV0scixzP2k6aS5jYWxs KGVbdV0sdSxuKGVbdV0scikpKTtyZXR1cm4gbz9lOmM/bi5jYWxsKGUpOmw/bihl WzBdLHIpOmF9LG5vdzpmdW5jdGlvbigpe3JldHVybihuZXcgRGF0ZSkuZ2V0VGlt ZSgpfX0pLGIucmVhZHkucHJvbWlzZT1mdW5jdGlvbih0KXtpZighbilpZihuPWIu RGVmZXJyZWQoKSwiY29tcGxldGUiPT09by5yZWFkeVN0YXRlKXNldFRpbWVvdXQo Yi5yZWFkeSk7ZWxzZSBpZihvLmFkZEV2ZW50TGlzdGVuZXIpby5hZGRFdmVudExp c3RlbmVyKCJET01Db250ZW50TG9hZGVkIixILCExKSxlLmFkZEV2ZW50TGlzdGVu ZXIoImxvYWQiLEgsITEpO2Vsc2V7by5hdHRhY2hFdmVudCgib25yZWFkeXN0YXRl Y2hhbmdlIixIKSxlLmF0dGFjaEV2ZW50KCJvbmxvYWQiLEgpO3ZhciByPSExO3Ry eXtyPW51bGw9PWUuZnJhbWVFbGVtZW50JiZvLmRvY3VtZW50RWxlbWVudH1jYXRj aChpKXt9ciYmci5kb1Njcm9sbCYmZnVuY3Rpb24gYSgpe2lmKCFiLmlzUmVhZHkp e3RyeXtyLmRvU2Nyb2xsKCJsZWZ0Iil9Y2F0Y2goZSl7cmV0dXJuIHNldFRpbWVv dXQoYSw1MCl9cSgpLGIucmVhZHkoKX19KCl9cmV0dXJuIG4ucHJvbWlzZSh0KX0s Yi5lYWNoKCJCb29sZWFuIE51bWJlciBTdHJpbmcgRnVuY3Rpb24gQXJyYXkgRGF0 ZSBSZWdFeHAgT2JqZWN0IEVycm9yIi5zcGxpdCgiICIpLGZ1bmN0aW9uKGUsdCl7 bFsiW29iamVjdCAiK3QrIl0iXT10LnRvTG93ZXJDYXNlKCl9KTtmdW5jdGlvbiBN KGUpe3ZhciB0PWUubGVuZ3RoLG49Yi50eXBlKGUpO3JldHVybiBiLmlzV2luZG93 KGUpPyExOjE9PT1lLm5vZGVUeXBlJiZ0PyEwOiJhcnJheSI9PT1ufHwiZnVuY3Rp b24iIT09biYmKDA9PT10fHwibnVtYmVyIj09dHlwZW9mIHQmJnQ+MCYmdC0xIGlu IGUpfXI9YihvKTt2YXIgXz17fTtmdW5jdGlvbiBGKGUpe3ZhciB0PV9bZV09e307 cmV0dXJuIGIuZWFjaChlLm1hdGNoKHcpfHxbXSxmdW5jdGlvbihlLG4pe3Rbbl09 ITB9KSx0fWIuQ2FsbGJhY2tzPWZ1bmN0aW9uKGUpe2U9InN0cmluZyI9PXR5cGVv ZiBlP19bZV18fEYoZSk6Yi5leHRlbmQoe30sZSk7dmFyIG4scixpLG8sYSxzLHU9 W10sbD0hZS5vbmNlJiZbXSxjPWZ1bmN0aW9uKHQpe2ZvcihyPWUubWVtb3J5JiZ0 LGk9ITAsYT1zfHwwLHM9MCxvPXUubGVuZ3RoLG49ITA7dSYmbz5hO2ErKylpZih1 W2FdLmFwcGx5KHRbMF0sdFsxXSk9PT0hMSYmZS5zdG9wT25GYWxzZSl7cj0hMTti cmVha31uPSExLHUmJihsP2wubGVuZ3RoJiZjKGwuc2hpZnQoKSk6cj91PVtdOnAu ZGlzYWJsZSgpKX0scD17YWRkOmZ1bmN0aW9uKCl7aWYodSl7dmFyIHQ9dS5sZW5n dGg7KGZ1bmN0aW9uIGkodCl7Yi5lYWNoKHQsZnVuY3Rpb24odCxuKXt2YXIgcj1i LnR5cGUobik7ImZ1bmN0aW9uIj09PXI/ZS51bmlxdWUmJnAuaGFzKG4pfHx1LnB1 c2gobik6biYmbi5sZW5ndGgmJiJzdHJpbmciIT09ciYmaShuKX0pfSkoYXJndW1l bnRzKSxuP289dS5sZW5ndGg6ciYmKHM9dCxjKHIpKX1yZXR1cm4gdGhpc30scmVt b3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIHUmJmIuZWFjaChhcmd1bWVudHMsZnVuY3Rp b24oZSx0KXt2YXIgcjt3aGlsZSgocj1iLmluQXJyYXkodCx1LHIpKT4tMSl1LnNw bGljZShyLDEpLG4mJihvPj1yJiZvLS0sYT49ciYmYS0tKX0pLHRoaXN9LGhhczpm dW5jdGlvbihlKXtyZXR1cm4gZT9iLmluQXJyYXkoZSx1KT4tMTohKCF1fHwhdS5s ZW5ndGgpfSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiB1PVtdLHRoaXN9LGRpc2Fi bGU6ZnVuY3Rpb24oKXtyZXR1cm4gdT1sPXI9dCx0aGlzfSxkaXNhYmxlZDpmdW5j dGlvbigpe3JldHVybiF1fSxsb2NrOmZ1bmN0aW9uKCl7cmV0dXJuIGw9dCxyfHxw LmRpc2FibGUoKSx0aGlzfSxsb2NrZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hbH0sZmly ZVdpdGg6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD10fHxbXSx0PVtlLHQuc2xpY2U/ dC5zbGljZSgpOnRdLCF1fHxpJiYhbHx8KG4/bC5wdXNoKHQpOmModCkpLHRoaXN9 LGZpcmU6ZnVuY3Rpb24oKXtyZXR1cm4gcC5maXJlV2l0aCh0aGlzLGFyZ3VtZW50 cyksdGhpc30sZmlyZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIWl9fTtyZXR1cm4gcH0s Yi5leHRlbmQoe0RlZmVycmVkOmZ1bmN0aW9uKGUpe3ZhciB0PVtbInJlc29sdmUi LCJkb25lIixiLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwicmVzb2x2ZWQiXSxb InJlamVjdCIsImZhaWwiLGIuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLCJyZWpl Y3RlZCJdLFsibm90aWZ5IiwicHJvZ3Jlc3MiLGIuQ2FsbGJhY2tzKCJtZW1vcnki KV1dLG49InBlbmRpbmciLHI9e3N0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIG59LGFs d2F5czpmdW5jdGlvbigpe3JldHVybiBpLmRvbmUoYXJndW1lbnRzKS5mYWlsKGFy Z3VtZW50cyksdGhpc30sdGhlbjpmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50czty ZXR1cm4gYi5EZWZlcnJlZChmdW5jdGlvbihuKXtiLmVhY2godCxmdW5jdGlvbih0 LG8pe3ZhciBhPW9bMF0scz1iLmlzRnVuY3Rpb24oZVt0XSkmJmVbdF07aVtvWzFd XShmdW5jdGlvbigpe3ZhciBlPXMmJnMuYXBwbHkodGhpcyxhcmd1bWVudHMpO2Um JmIuaXNGdW5jdGlvbihlLnByb21pc2UpP2UucHJvbWlzZSgpLmRvbmUobi5yZXNv bHZlKS5mYWlsKG4ucmVqZWN0KS5wcm9ncmVzcyhuLm5vdGlmeSk6blthKyJXaXRo Il0odGhpcz09PXI/bi5wcm9taXNlKCk6dGhpcyxzP1tlXTphcmd1bWVudHMpfSl9 KSxlPW51bGx9KS5wcm9taXNlKCl9LHByb21pc2U6ZnVuY3Rpb24oZSl7cmV0dXJu IG51bGwhPWU/Yi5leHRlbmQoZSxyKTpyfX0saT17fTtyZXR1cm4gci5waXBlPXIu dGhlbixiLmVhY2godCxmdW5jdGlvbihlLG8pe3ZhciBhPW9bMl0scz1vWzNdO3Jb b1sxXV09YS5hZGQscyYmYS5hZGQoZnVuY3Rpb24oKXtuPXN9LHRbMV5lXVsyXS5k aXNhYmxlLHRbMl1bMl0ubG9jayksaVtvWzBdXT1mdW5jdGlvbigpe3JldHVybiBp W29bMF0rIldpdGgiXSh0aGlzPT09aT9yOnRoaXMsYXJndW1lbnRzKSx0aGlzfSxp W29bMF0rIldpdGgiXT1hLmZpcmVXaXRofSksci5wcm9taXNlKGkpLGUmJmUuY2Fs bChpLGkpLGl9LHdoZW46ZnVuY3Rpb24oZSl7dmFyIHQ9MCxuPWguY2FsbChhcmd1 bWVudHMpLHI9bi5sZW5ndGgsaT0xIT09cnx8ZSYmYi5pc0Z1bmN0aW9uKGUucHJv bWlzZSk/cjowLG89MT09PWk/ZTpiLkRlZmVycmVkKCksYT1mdW5jdGlvbihlLHQs bil7cmV0dXJuIGZ1bmN0aW9uKHIpe3RbZV09dGhpcyxuW2VdPWFyZ3VtZW50cy5s ZW5ndGg+MT9oLmNhbGwoYXJndW1lbnRzKTpyLG49PT1zP28ubm90aWZ5V2l0aCh0 LG4pOi0taXx8by5yZXNvbHZlV2l0aCh0LG4pfX0scyx1LGw7aWYocj4xKWZvcihz PUFycmF5KHIpLHU9QXJyYXkociksbD1BcnJheShyKTtyPnQ7dCsrKW5bdF0mJmIu aXNGdW5jdGlvbihuW3RdLnByb21pc2UpP25bdF0ucHJvbWlzZSgpLmRvbmUoYSh0 LGwsbikpLmZhaWwoby5yZWplY3QpLnByb2dyZXNzKGEodCx1LHMpKTotLWk7cmV0 dXJuIGl8fG8ucmVzb2x2ZVdpdGgobCxuKSxvLnByb21pc2UoKX19KSxiLnN1cHBv cnQ9ZnVuY3Rpb24oKXt2YXIgdCxuLHIsYSxzLHUsbCxjLHAsZixkPW8uY3JlYXRl RWxlbWVudCgiZGl2Iik7aWYoZC5zZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIsInQi KSxkLmlubmVySFRNTD0iICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0n L2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixuPWQuZ2V0RWxlbWVu dHNCeVRhZ05hbWUoIioiKSxyPWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVsw XSwhbnx8IXJ8fCFuLmxlbmd0aClyZXR1cm57fTtzPW8uY3JlYXRlRWxlbWVudCgi c2VsZWN0IiksbD1zLmFwcGVuZENoaWxkKG8uY3JlYXRlRWxlbWVudCgib3B0aW9u IikpLGE9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSxyLnN0eWxl LmNzc1RleHQ9InRvcDoxcHg7ZmxvYXQ6bGVmdDtvcGFjaXR5Oi41Iix0PXtnZXRT ZXRBdHRyaWJ1dGU6InQiIT09ZC5jbGFzc05hbWUsbGVhZGluZ1doaXRlc3BhY2U6 Mz09PWQuZmlyc3RDaGlsZC5ub2RlVHlwZSx0Ym9keTohZC5nZXRFbGVtZW50c0J5 VGFnTmFtZSgidGJvZHkiKS5sZW5ndGgsaHRtbFNlcmlhbGl6ZTohIWQuZ2V0RWxl bWVudHNCeVRhZ05hbWUoImxpbmsiKS5sZW5ndGgsc3R5bGU6L3RvcC8udGVzdChy LmdldEF0dHJpYnV0ZSgic3R5bGUiKSksaHJlZk5vcm1hbGl6ZWQ6Ii9hIj09PXIu Z2V0QXR0cmlidXRlKCJocmVmIiksb3BhY2l0eTovXjAuNS8udGVzdChyLnN0eWxl Lm9wYWNpdHkpLGNzc0Zsb2F0OiEhci5zdHlsZS5jc3NGbG9hdCxjaGVja09uOiEh YS52YWx1ZSxvcHRTZWxlY3RlZDpsLnNlbGVjdGVkLGVuY3R5cGU6ISFvLmNyZWF0 ZUVsZW1lbnQoImZvcm0iKS5lbmN0eXBlLGh0bWw1Q2xvbmU6Ijw6bmF2PjwvOm5h dj4iIT09by5jcmVhdGVFbGVtZW50KCJuYXYiKS5jbG9uZU5vZGUoITApLm91dGVy SFRNTCxib3hNb2RlbDoiQ1NTMUNvbXBhdCI9PT1vLmNvbXBhdE1vZGUsZGVsZXRl RXhwYW5kbzohMCxub0Nsb25lRXZlbnQ6ITAsaW5saW5lQmxvY2tOZWVkc0xheW91 dDohMSxzaHJpbmtXcmFwQmxvY2tzOiExLHJlbGlhYmxlTWFyZ2luUmlnaHQ6ITAs Ym94U2l6aW5nUmVsaWFibGU6ITAscGl4ZWxQb3NpdGlvbjohMX0sYS5jaGVja2Vk PSEwLHQubm9DbG9uZUNoZWNrZWQ9YS5jbG9uZU5vZGUoITApLmNoZWNrZWQscy5k aXNhYmxlZD0hMCx0Lm9wdERpc2FibGVkPSFsLmRpc2FibGVkO3RyeXtkZWxldGUg ZC50ZXN0fWNhdGNoKGgpe3QuZGVsZXRlRXhwYW5kbz0hMX1hPW8uY3JlYXRlRWxl bWVudCgiaW5wdXQiKSxhLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSx0LmlucHV0 PSIiPT09YS5nZXRBdHRyaWJ1dGUoInZhbHVlIiksYS52YWx1ZT0idCIsYS5zZXRB dHRyaWJ1dGUoInR5cGUiLCJyYWRpbyIpLHQucmFkaW9WYWx1ZT0idCI9PT1hLnZh bHVlLGEuc2V0QXR0cmlidXRlKCJjaGVja2VkIiwidCIpLGEuc2V0QXR0cmlidXRl KCJuYW1lIiwidCIpLHU9by5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksdS5hcHBl bmRDaGlsZChhKSx0LmFwcGVuZENoZWNrZWQ9YS5jaGVja2VkLHQuY2hlY2tDbG9u ZT11LmNsb25lTm9kZSghMCkuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuY2hlY2tl ZCxkLmF0dGFjaEV2ZW50JiYoZC5hdHRhY2hFdmVudCgib25jbGljayIsZnVuY3Rp b24oKXt0Lm5vQ2xvbmVFdmVudD0hMX0pLGQuY2xvbmVOb2RlKCEwKS5jbGljaygp KTtmb3IoZiBpbntzdWJtaXQ6ITAsY2hhbmdlOiEwLGZvY3VzaW46ITB9KWQuc2V0 QXR0cmlidXRlKGM9Im9uIitmLCJ0IiksdFtmKyJCdWJibGVzIl09YyBpbiBlfHxk LmF0dHJpYnV0ZXNbY10uZXhwYW5kbz09PSExO3JldHVybiBkLnN0eWxlLmJhY2tn cm91bmRDbGlwPSJjb250ZW50LWJveCIsZC5jbG9uZU5vZGUoITApLnN0eWxlLmJh Y2tncm91bmRDbGlwPSIiLHQuY2xlYXJDbG9uZVN0eWxlPSJjb250ZW50LWJveCI9 PT1kLnN0eWxlLmJhY2tncm91bmRDbGlwLGIoZnVuY3Rpb24oKXt2YXIgbixyLGEs cz0icGFkZGluZzowO21hcmdpbjowO2JvcmRlcjowO2Rpc3BsYXk6YmxvY2s7Ym94 LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7 LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94OyIsdT1vLmdldEVsZW1lbnRz QnlUYWdOYW1lKCJib2R5IilbMF07dSYmKG49by5jcmVhdGVFbGVtZW50KCJkaXYi KSxuLnN0eWxlLmNzc1RleHQ9ImJvcmRlcjowO3dpZHRoOjA7aGVpZ2h0OjA7cG9z aXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDotOTk5OXB4O21hcmdpbi10b3A6MXB4 Iix1LmFwcGVuZENoaWxkKG4pLmFwcGVuZENoaWxkKGQpLGQuaW5uZXJIVE1MPSI8 dGFibGU+PHRyPjx0ZD48L3RkPjx0ZD50PC90ZD48L3RyPjwvdGFibGU+IixhPWQu Z2V0RWxlbWVudHNCeVRhZ05hbWUoInRkIiksYVswXS5zdHlsZS5jc3NUZXh0PSJw YWRkaW5nOjA7bWFyZ2luOjA7Ym9yZGVyOjA7ZGlzcGxheTpub25lIixwPTA9PT1h WzBdLm9mZnNldEhlaWdodCxhWzBdLnN0eWxlLmRpc3BsYXk9IiIsYVsxXS5zdHls ZS5kaXNwbGF5PSJub25lIix0LnJlbGlhYmxlSGlkZGVuT2Zmc2V0cz1wJiYwPT09 YVswXS5vZmZzZXRIZWlnaHQsZC5pbm5lckhUTUw9IiIsZC5zdHlsZS5jc3NUZXh0 PSJib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1i b3g7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzoxcHg7Ym9y ZGVyOjFweDtkaXNwbGF5OmJsb2NrO3dpZHRoOjRweDttYXJnaW4tdG9wOjElO3Bv c2l0aW9uOmFic29sdXRlO3RvcDoxJTsiLHQuYm94U2l6aW5nPTQ9PT1kLm9mZnNl dFdpZHRoLHQuZG9lc05vdEluY2x1ZGVNYXJnaW5JbkJvZHlPZmZzZXQ9MSE9PXUu b2Zmc2V0VG9wLGUuZ2V0Q29tcHV0ZWRTdHlsZSYmKHQucGl4ZWxQb3NpdGlvbj0i MSUiIT09KGUuZ2V0Q29tcHV0ZWRTdHlsZShkLG51bGwpfHx7fSkudG9wLHQuYm94 U2l6aW5nUmVsaWFibGU9IjRweCI9PT0oZS5nZXRDb21wdXRlZFN0eWxlKGQsbnVs bCl8fHt3aWR0aDoiNHB4In0pLndpZHRoLHI9ZC5hcHBlbmRDaGlsZChvLmNyZWF0 ZUVsZW1lbnQoImRpdiIpKSxyLnN0eWxlLmNzc1RleHQ9ZC5zdHlsZS5jc3NUZXh0 PXMsci5zdHlsZS5tYXJnaW5SaWdodD1yLnN0eWxlLndpZHRoPSIwIixkLnN0eWxl LndpZHRoPSIxcHgiLHQucmVsaWFibGVNYXJnaW5SaWdodD0hcGFyc2VGbG9hdCgo ZS5nZXRDb21wdXRlZFN0eWxlKHIsbnVsbCl8fHt9KS5tYXJnaW5SaWdodCkpLHR5 cGVvZiBkLnN0eWxlLnpvb20hPT1pJiYoZC5pbm5lckhUTUw9IiIsZC5zdHlsZS5j c3NUZXh0PXMrIndpZHRoOjFweDtwYWRkaW5nOjFweDtkaXNwbGF5OmlubGluZTt6 b29tOjEiLHQuaW5saW5lQmxvY2tOZWVkc0xheW91dD0zPT09ZC5vZmZzZXRXaWR0 aCxkLnN0eWxlLmRpc3BsYXk9ImJsb2NrIixkLmlubmVySFRNTD0iPGRpdj48L2Rp dj4iLGQuZmlyc3RDaGlsZC5zdHlsZS53aWR0aD0iNXB4Iix0LnNocmlua1dyYXBC bG9ja3M9MyE9PWQub2Zmc2V0V2lkdGgsdC5pbmxpbmVCbG9ja05lZWRzTGF5b3V0 JiYodS5zdHlsZS56b29tPTEpKSx1LnJlbW92ZUNoaWxkKG4pLG49ZD1hPXI9bnVs bCl9KSxuPXM9dT1sPXI9YT1udWxsLHR9KCk7dmFyIE89Lyg/Olx7W1xzXFNdKlx9 fFxbW1xzXFNdKlxdKSQvLEI9LyhbQS1aXSkvZztmdW5jdGlvbiBQKGUsbixyLGkp e2lmKGIuYWNjZXB0RGF0YShlKSl7dmFyIG8sYSxzPWIuZXhwYW5kbyx1PSJzdHJp bmciPT10eXBlb2YgbixsPWUubm9kZVR5cGUscD1sP2IuY2FjaGU6ZSxmPWw/ZVtz XTplW3NdJiZzO2lmKGYmJnBbZl0mJihpfHxwW2ZdLmRhdGEpfHwhdXx8ciE9PXQp cmV0dXJuIGZ8fChsP2Vbc109Zj1jLnBvcCgpfHxiLmd1aWQrKzpmPXMpLHBbZl18 fChwW2ZdPXt9LGx8fChwW2ZdLnRvSlNPTj1iLm5vb3ApKSwoIm9iamVjdCI9PXR5 cGVvZiBufHwiZnVuY3Rpb24iPT10eXBlb2YgbikmJihpP3BbZl09Yi5leHRlbmQo cFtmXSxuKTpwW2ZdLmRhdGE9Yi5leHRlbmQocFtmXS5kYXRhLG4pKSxvPXBbZl0s aXx8KG8uZGF0YXx8KG8uZGF0YT17fSksbz1vLmRhdGEpLHIhPT10JiYob1tiLmNh bWVsQ2FzZShuKV09ciksdT8oYT1vW25dLG51bGw9PWEmJihhPW9bYi5jYW1lbENh c2UobildKSk6YT1vLGF9fWZ1bmN0aW9uIFIoZSx0LG4pe2lmKGIuYWNjZXB0RGF0 YShlKSl7dmFyIHIsaSxvLGE9ZS5ub2RlVHlwZSxzPWE/Yi5jYWNoZTplLHU9YT9l W2IuZXhwYW5kb106Yi5leHBhbmRvO2lmKHNbdV0pe2lmKHQmJihvPW4/c1t1XTpz W3VdLmRhdGEpKXtiLmlzQXJyYXkodCk/dD10LmNvbmNhdChiLm1hcCh0LGIuY2Ft ZWxDYXNlKSk6dCBpbiBvP3Q9W3RdOih0PWIuY2FtZWxDYXNlKHQpLHQ9dCBpbiBv P1t0XTp0LnNwbGl0KCIgIikpO2ZvcihyPTAsaT10Lmxlbmd0aDtpPnI7cisrKWRl bGV0ZSBvW3Rbcl1dO2lmKCEobj8kOmIuaXNFbXB0eU9iamVjdCkobykpcmV0dXJu fShufHwoZGVsZXRlIHNbdV0uZGF0YSwkKHNbdV0pKSkmJihhP2IuY2xlYW5EYXRh KFtlXSwhMCk6Yi5zdXBwb3J0LmRlbGV0ZUV4cGFuZG98fHMhPXMud2luZG93P2Rl bGV0ZSBzW3VdOnNbdV09bnVsbCl9fX1iLmV4dGVuZCh7Y2FjaGU6e30sZXhwYW5k bzoialF1ZXJ5IisocCtNYXRoLnJhbmRvbSgpKS5yZXBsYWNlKC9cRC9nLCIiKSxu b0RhdGE6e2VtYmVkOiEwLG9iamVjdDoiY2xzaWQ6RDI3Q0RCNkUtQUU2RC0xMWNm LTk2QjgtNDQ0NTUzNTQwMDAwIixhcHBsZXQ6ITB9LGhhc0RhdGE6ZnVuY3Rpb24o ZSl7cmV0dXJuIGU9ZS5ub2RlVHlwZT9iLmNhY2hlW2VbYi5leHBhbmRvXV06ZVti LmV4cGFuZG9dLCEhZSYmISQoZSl9LGRhdGE6ZnVuY3Rpb24oZSx0LG4pe3JldHVy biBQKGUsdCxuKX0scmVtb3ZlRGF0YTpmdW5jdGlvbihlLHQpe3JldHVybiBSKGUs dCl9LF9kYXRhOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gUChlLHQsbiwhMCl9LF9y ZW1vdmVEYXRhOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIFIoZSx0LCEwKX0sYWNjZXB0 RGF0YTpmdW5jdGlvbihlKXtpZihlLm5vZGVUeXBlJiYxIT09ZS5ub2RlVHlwZSYm OSE9PWUubm9kZVR5cGUpcmV0dXJuITE7dmFyIHQ9ZS5ub2RlTmFtZSYmYi5ub0Rh dGFbZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXTtyZXR1cm4hdHx8dCE9PSEwJiZl LmdldEF0dHJpYnV0ZSgiY2xhc3NpZCIpPT09dH19KSxiLmZuLmV4dGVuZCh7ZGF0 YTpmdW5jdGlvbihlLG4pe3ZhciByLGksbz10aGlzWzBdLGE9MCxzPW51bGw7aWYo ZT09PXQpe2lmKHRoaXMubGVuZ3RoJiYocz1iLmRhdGEobyksMT09PW8ubm9kZVR5 cGUmJiFiLl9kYXRhKG8sInBhcnNlZEF0dHJzIikpKXtmb3Iocj1vLmF0dHJpYnV0 ZXM7ci5sZW5ndGg+YTthKyspaT1yW2FdLm5hbWUsaS5pbmRleE9mKCJkYXRhLSIp fHwoaT1iLmNhbWVsQ2FzZShpLnNsaWNlKDUpKSxXKG8saSxzW2ldKSk7Yi5fZGF0 YShvLCJwYXJzZWRBdHRycyIsITApfXJldHVybiBzfXJldHVybiJvYmplY3QiPT10 eXBlb2YgZT90aGlzLmVhY2goZnVuY3Rpb24oKXtiLmRhdGEodGhpcyxlKX0pOmIu YWNjZXNzKHRoaXMsZnVuY3Rpb24obil7cmV0dXJuIG49PT10P28/VyhvLGUsYi5k YXRhKG8sZSkpOm51bGw6KHRoaXMuZWFjaChmdW5jdGlvbigpe2IuZGF0YSh0aGlz LGUsbil9KSx0KX0sbnVsbCxuLGFyZ3VtZW50cy5sZW5ndGg+MSxudWxsLCEwKX0s cmVtb3ZlRGF0YTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9u KCl7Yi5yZW1vdmVEYXRhKHRoaXMsZSl9KX19KTtmdW5jdGlvbiBXKGUsbixyKXtp ZihyPT09dCYmMT09PWUubm9kZVR5cGUpe3ZhciBpPSJkYXRhLSIrbi5yZXBsYWNl KEIsIi0kMSIpLnRvTG93ZXJDYXNlKCk7aWYocj1lLmdldEF0dHJpYnV0ZShpKSwi c3RyaW5nIj09dHlwZW9mIHIpe3RyeXtyPSJ0cnVlIj09PXI/ITA6ImZhbHNlIj09 PXI/ITE6Im51bGwiPT09cj9udWxsOityKyIiPT09cj8rcjpPLnRlc3Qocik/Yi5w YXJzZUpTT04ocik6cn1jYXRjaChvKXt9Yi5kYXRhKGUsbixyKX1lbHNlIHI9dH1y ZXR1cm4gcn1mdW5jdGlvbiAkKGUpe3ZhciB0O2Zvcih0IGluIGUpaWYoKCJkYXRh IiE9PXR8fCFiLmlzRW1wdHlPYmplY3QoZVt0XSkpJiYidG9KU09OIiE9PXQpcmV0 dXJuITE7cmV0dXJuITB9Yi5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGUsbixyKXt2 YXIgaTtyZXR1cm4gZT8obj0obnx8ImZ4IikrInF1ZXVlIixpPWIuX2RhdGEoZSxu KSxyJiYoIWl8fGIuaXNBcnJheShyKT9pPWIuX2RhdGEoZSxuLGIubWFrZUFycmF5 KHIpKTppLnB1c2gocikpLGl8fFtdKTp0fSxkZXF1ZXVlOmZ1bmN0aW9uKGUsdCl7 dD10fHwiZngiO3ZhciBuPWIucXVldWUoZSx0KSxyPW4ubGVuZ3RoLGk9bi5zaGlm dCgpLG89Yi5fcXVldWVIb29rcyhlLHQpLGE9ZnVuY3Rpb24oKXtiLmRlcXVldWUo ZSx0KX07ImlucHJvZ3Jlc3MiPT09aSYmKGk9bi5zaGlmdCgpLHItLSksby5jdXI9 aSxpJiYoImZ4Ij09PXQmJm4udW5zaGlmdCgiaW5wcm9ncmVzcyIpLGRlbGV0ZSBv LnN0b3AsaS5jYWxsKGUsYSxvKSksIXImJm8mJm8uZW1wdHkuZmlyZSgpfSxfcXVl dWVIb29rczpmdW5jdGlvbihlLHQpe3ZhciBuPXQrInF1ZXVlSG9va3MiO3JldHVy biBiLl9kYXRhKGUsbil8fGIuX2RhdGEoZSxuLHtlbXB0eTpiLkNhbGxiYWNrcygi b25jZSBtZW1vcnkiKS5hZGQoZnVuY3Rpb24oKXtiLl9yZW1vdmVEYXRhKGUsdCsi cXVldWUiKSxiLl9yZW1vdmVEYXRhKGUsbil9KX0pfX0pLGIuZm4uZXh0ZW5kKHtx dWV1ZTpmdW5jdGlvbihlLG4pe3ZhciByPTI7cmV0dXJuInN0cmluZyIhPXR5cGVv ZiBlJiYobj1lLGU9ImZ4IixyLS0pLHI+YXJndW1lbnRzLmxlbmd0aD9iLnF1ZXVl KHRoaXNbMF0sZSk6bj09PXQ/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIg dD1iLnF1ZXVlKHRoaXMsZSxuKTtiLl9xdWV1ZUhvb2tzKHRoaXMsZSksImZ4Ij09 PWUmJiJpbnByb2dyZXNzIiE9PXRbMF0mJmIuZGVxdWV1ZSh0aGlzLGUpfSl9LGRl cXVldWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2Iu ZGVxdWV1ZSh0aGlzLGUpfSl9LGRlbGF5OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9 Yi5meD9iLmZ4LnNwZWVkc1tlXXx8ZTplLHQ9dHx8ImZ4Iix0aGlzLnF1ZXVlKHQs ZnVuY3Rpb24odCxuKXt2YXIgcj1zZXRUaW1lb3V0KHQsZSk7bi5zdG9wPWZ1bmN0 aW9uKCl7Y2xlYXJUaW1lb3V0KHIpfX0pfSxjbGVhclF1ZXVlOmZ1bmN0aW9uKGUp e3JldHVybiB0aGlzLnF1ZXVlKGV8fCJmeCIsW10pfSxwcm9taXNlOmZ1bmN0aW9u KGUsbil7dmFyIHIsaT0xLG89Yi5EZWZlcnJlZCgpLGE9dGhpcyxzPXRoaXMubGVu Z3RoLHU9ZnVuY3Rpb24oKXstLWl8fG8ucmVzb2x2ZVdpdGgoYSxbYV0pfTsic3Ry aW5nIiE9dHlwZW9mIGUmJihuPWUsZT10KSxlPWV8fCJmeCI7d2hpbGUocy0tKXI9 Yi5fZGF0YShhW3NdLGUrInF1ZXVlSG9va3MiKSxyJiZyLmVtcHR5JiYoaSsrLHIu ZW1wdHkuYWRkKHUpKTtyZXR1cm4gdSgpLG8ucHJvbWlzZShuKX19KTt2YXIgSSx6 LFg9L1tcdFxyXG5dL2csVT0vXHIvZyxWPS9eKD86aW5wdXR8c2VsZWN0fHRleHRh cmVhfGJ1dHRvbnxvYmplY3QpJC9pLFk9L14oPzphfGFyZWEpJC9pLEo9L14oPzpj aGVja2VkfHNlbGVjdGVkfGF1dG9mb2N1c3xhdXRvcGxheXxhc3luY3xjb250cm9s c3xkZWZlcnxkaXNhYmxlZHxoaWRkZW58bG9vcHxtdWx0aXBsZXxvcGVufHJlYWRv bmx5fHJlcXVpcmVkfHNjb3BlZCkkL2ksRz0vXig/OmNoZWNrZWR8c2VsZWN0ZWQp JC9pLFE9Yi5zdXBwb3J0LmdldFNldEF0dHJpYnV0ZSxLPWIuc3VwcG9ydC5pbnB1 dDtiLmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihlLHQpe3JldHVybiBiLmFjY2Vz cyh0aGlzLGIuYXR0cixlLHQsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlQXR0 cjpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yi5yZW1v dmVBdHRyKHRoaXMsZSl9KX0scHJvcDpmdW5jdGlvbihlLHQpe3JldHVybiBiLmFj Y2Vzcyh0aGlzLGIucHJvcCxlLHQsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3Zl UHJvcDpmdW5jdGlvbihlKXtyZXR1cm4gZT1iLnByb3BGaXhbZV18fGUsdGhpcy5l YWNoKGZ1bmN0aW9uKCl7dHJ5e3RoaXNbZV09dCxkZWxldGUgdGhpc1tlXX1jYXRj aChuKXt9fSl9LGFkZENsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpLG8sYT0w LHM9dGhpcy5sZW5ndGgsdT0ic3RyaW5nIj09dHlwZW9mIGUmJmU7aWYoYi5pc0Z1 bmN0aW9uKGUpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24odCl7Yih0aGlzKS5h ZGRDbGFzcyhlLmNhbGwodGhpcyx0LHRoaXMuY2xhc3NOYW1lKSl9KTtpZih1KWZv cih0PShlfHwiIikubWF0Y2godyl8fFtdO3M+YTthKyspaWYobj10aGlzW2FdLHI9 MT09PW4ubm9kZVR5cGUmJihuLmNsYXNzTmFtZT8oIiAiK24uY2xhc3NOYW1lKyIg IikucmVwbGFjZShYLCIgIik6IiAiKSl7bz0wO3doaWxlKGk9dFtvKytdKTA+ci5p bmRleE9mKCIgIitpKyIgIikmJihyKz1pKyIgIik7bi5jbGFzc05hbWU9Yi50cmlt KHIpfXJldHVybiB0aGlzfSxyZW1vdmVDbGFzczpmdW5jdGlvbihlKXt2YXIgdCxu LHIsaSxvLGE9MCxzPXRoaXMubGVuZ3RoLHU9MD09PWFyZ3VtZW50cy5sZW5ndGh8 fCJzdHJpbmciPT10eXBlb2YgZSYmZTtpZihiLmlzRnVuY3Rpb24oZSkpcmV0dXJu IHRoaXMuZWFjaChmdW5jdGlvbih0KXtiKHRoaXMpLnJlbW92ZUNsYXNzKGUuY2Fs bCh0aGlzLHQsdGhpcy5jbGFzc05hbWUpKX0pO2lmKHUpZm9yKHQ9KGV8fCIiKS5t YXRjaCh3KXx8W107cz5hO2ErKylpZihuPXRoaXNbYV0scj0xPT09bi5ub2RlVHlw ZSYmKG4uY2xhc3NOYW1lPygiICIrbi5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKFgs IiAiKToiIikpe289MDt3aGlsZShpPXRbbysrXSl3aGlsZShyLmluZGV4T2YoIiAi K2krIiAiKT49MClyPXIucmVwbGFjZSgiICIraSsiICIsIiAiKTtuLmNsYXNzTmFt ZT1lP2IudHJpbShyKToiIn1yZXR1cm4gdGhpc30sdG9nZ2xlQ2xhc3M6ZnVuY3Rp b24oZSx0KXt2YXIgbj10eXBlb2YgZSxyPSJib29sZWFuIj09dHlwZW9mIHQ7cmV0 dXJuIGIuaXNGdW5jdGlvbihlKT90aGlzLmVhY2goZnVuY3Rpb24obil7Yih0aGlz KS50b2dnbGVDbGFzcyhlLmNhbGwodGhpcyxuLHRoaXMuY2xhc3NOYW1lLHQpLHQp fSk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7aWYoInN0cmluZyI9PT1uKXt2YXIgbyxh PTAscz1iKHRoaXMpLHU9dCxsPWUubWF0Y2godyl8fFtdO3doaWxlKG89bFthKytd KXU9cj91OiFzLmhhc0NsYXNzKG8pLHNbdT8iYWRkQ2xhc3MiOiJyZW1vdmVDbGFz cyJdKG8pfWVsc2Uobj09PWl8fCJib29sZWFuIj09PW4pJiYodGhpcy5jbGFzc05h bWUmJmIuX2RhdGEodGhpcywiX19jbGFzc05hbWVfXyIsdGhpcy5jbGFzc05hbWUp LHRoaXMuY2xhc3NOYW1lPXRoaXMuY2xhc3NOYW1lfHxlPT09ITE/IiI6Yi5fZGF0 YSh0aGlzLCJfX2NsYXNzTmFtZV9fIil8fCIiKX0pfSxoYXNDbGFzczpmdW5jdGlv bihlKXt2YXIgdD0iICIrZSsiICIsbj0wLHI9dGhpcy5sZW5ndGg7Zm9yKDtyPm47 bisrKWlmKDE9PT10aGlzW25dLm5vZGVUeXBlJiYoIiAiK3RoaXNbbl0uY2xhc3NO YW1lKyIgIikucmVwbGFjZShYLCIgIikuaW5kZXhPZih0KT49MClyZXR1cm4hMDty ZXR1cm4hMX0sdmFsOmZ1bmN0aW9uKGUpe3ZhciBuLHIsaSxvPXRoaXNbMF07e2lm KGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGk9Yi5pc0Z1bmN0aW9uKGUpLHRoaXMu ZWFjaChmdW5jdGlvbihuKXt2YXIgbyxhPWIodGhpcyk7MT09PXRoaXMubm9kZVR5 cGUmJihvPWk/ZS5jYWxsKHRoaXMsbixhLnZhbCgpKTplLG51bGw9PW8/bz0iIjoi bnVtYmVyIj09dHlwZW9mIG8/bys9IiI6Yi5pc0FycmF5KG8pJiYobz1iLm1hcChv LGZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lPyIiOmUrIiJ9KSkscj1iLnZhbEhv b2tzW3RoaXMudHlwZV18fGIudmFsSG9va3NbdGhpcy5ub2RlTmFtZS50b0xvd2Vy Q2FzZSgpXSxyJiYic2V0ImluIHImJnIuc2V0KHRoaXMsbywidmFsdWUiKSE9PXR8 fCh0aGlzLnZhbHVlPW8pKX0pO2lmKG8pcmV0dXJuIHI9Yi52YWxIb29rc1tvLnR5 cGVdfHxiLnZhbEhvb2tzW28ubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0sciYmImdl dCJpbiByJiYobj1yLmdldChvLCJ2YWx1ZSIpKSE9PXQ/bjoobj1vLnZhbHVlLCJz dHJpbmciPT10eXBlb2Ygbj9uLnJlcGxhY2UoVSwiIik6bnVsbD09bj8iIjpuKX19 fSksYi5leHRlbmQoe3ZhbEhvb2tzOntvcHRpb246e2dldDpmdW5jdGlvbihlKXt2 YXIgdD1lLmF0dHJpYnV0ZXMudmFsdWU7cmV0dXJuIXR8fHQuc3BlY2lmaWVkP2Uu dmFsdWU6ZS50ZXh0fX0sc2VsZWN0OntnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQsbixy PWUub3B0aW9ucyxpPWUuc2VsZWN0ZWRJbmRleCxvPSJzZWxlY3Qtb25lIj09PWUu dHlwZXx8MD5pLGE9bz9udWxsOltdLHM9bz9pKzE6ci5sZW5ndGgsdT0wPmk/czpv P2k6MDtmb3IoO3M+dTt1KyspaWYobj1yW3VdLCEoIW4uc2VsZWN0ZWQmJnUhPT1p fHwoYi5zdXBwb3J0Lm9wdERpc2FibGVkP24uZGlzYWJsZWQ6bnVsbCE9PW4uZ2V0 QXR0cmlidXRlKCJkaXNhYmxlZCIpKXx8bi5wYXJlbnROb2RlLmRpc2FibGVkJiZi Lm5vZGVOYW1lKG4ucGFyZW50Tm9kZSwib3B0Z3JvdXAiKSkpe2lmKHQ9YihuKS52 YWwoKSxvKXJldHVybiB0O2EucHVzaCh0KX1yZXR1cm4gYX0sc2V0OmZ1bmN0aW9u KGUsdCl7dmFyIG49Yi5tYWtlQXJyYXkodCk7cmV0dXJuIGIoZSkuZmluZCgib3B0 aW9uIikuZWFjaChmdW5jdGlvbigpe3RoaXMuc2VsZWN0ZWQ9Yi5pbkFycmF5KGIo dGhpcykudmFsKCksbik+PTB9KSxuLmxlbmd0aHx8KGUuc2VsZWN0ZWRJbmRleD0t MSksbn19fSxhdHRyOmZ1bmN0aW9uKGUsbixyKXt2YXIgbyxhLHMsdT1lLm5vZGVU eXBlO2lmKGUmJjMhPT11JiY4IT09dSYmMiE9PXUpcmV0dXJuIHR5cGVvZiBlLmdl dEF0dHJpYnV0ZT09PWk/Yi5wcm9wKGUsbixyKTooYT0xIT09dXx8IWIuaXNYTUxE b2MoZSksYSYmKG49bi50b0xvd2VyQ2FzZSgpLG89Yi5hdHRySG9va3Nbbl18fChK LnRlc3Qobik/ejpJKSkscj09PXQ/byYmYSYmImdldCJpbiBvJiZudWxsIT09KHM9 by5nZXQoZSxuKSk/czoodHlwZW9mIGUuZ2V0QXR0cmlidXRlIT09aSYmKHM9ZS5n ZXRBdHRyaWJ1dGUobikpLG51bGw9PXM/dDpzKTpudWxsIT09cj9vJiZhJiYic2V0 ImluIG8mJihzPW8uc2V0KGUscixuKSkhPT10P3M6KGUuc2V0QXR0cmlidXRlKG4s cisiIikscik6KGIucmVtb3ZlQXR0cihlLG4pLHQpKX0scmVtb3ZlQXR0cjpmdW5j dGlvbihlLHQpe3ZhciBuLHIsaT0wLG89dCYmdC5tYXRjaCh3KTtpZihvJiYxPT09 ZS5ub2RlVHlwZSl3aGlsZShuPW9baSsrXSlyPWIucHJvcEZpeFtuXXx8bixKLnRl c3Qobik/IVEmJkcudGVzdChuKT9lW2IuY2FtZWxDYXNlKCJkZWZhdWx0LSIrbild PWVbcl09ITE6ZVtyXT0hMTpiLmF0dHIoZSxuLCIiKSxlLnJlbW92ZUF0dHJpYnV0 ZShRP246cil9LGF0dHJIb29rczp7dHlwZTp7c2V0OmZ1bmN0aW9uKGUsdCl7aWYo IWIuc3VwcG9ydC5yYWRpb1ZhbHVlJiYicmFkaW8iPT09dCYmYi5ub2RlTmFtZShl LCJpbnB1dCIpKXt2YXIgbj1lLnZhbHVlO3JldHVybiBlLnNldEF0dHJpYnV0ZSgi dHlwZSIsdCksbiYmKGUudmFsdWU9biksdH19fX0scHJvcEZpeDp7dGFiaW5kZXg6 InRhYkluZGV4IixyZWFkb25seToicmVhZE9ubHkiLCJmb3IiOiJodG1sRm9yIiwi Y2xhc3MiOiJjbGFzc05hbWUiLG1heGxlbmd0aDoibWF4TGVuZ3RoIixjZWxsc3Bh Y2luZzoiY2VsbFNwYWNpbmciLGNlbGxwYWRkaW5nOiJjZWxsUGFkZGluZyIscm93 c3Bhbjoicm93U3BhbiIsY29sc3BhbjoiY29sU3BhbiIsdXNlbWFwOiJ1c2VNYXAi LGZyYW1lYm9yZGVyOiJmcmFtZUJvcmRlciIsY29udGVudGVkaXRhYmxlOiJjb250 ZW50RWRpdGFibGUifSxwcm9wOmZ1bmN0aW9uKGUsbixyKXt2YXIgaSxvLGEscz1l Lm5vZGVUeXBlO2lmKGUmJjMhPT1zJiY4IT09cyYmMiE9PXMpcmV0dXJuIGE9MSE9 PXN8fCFiLmlzWE1MRG9jKGUpLGEmJihuPWIucHJvcEZpeFtuXXx8bixvPWIucHJv cEhvb2tzW25dKSxyIT09dD9vJiYic2V0ImluIG8mJihpPW8uc2V0KGUscixuKSkh PT10P2k6ZVtuXT1yOm8mJiJnZXQiaW4gbyYmbnVsbCE9PShpPW8uZ2V0KGUsbikp P2k6ZVtuXX0scHJvcEhvb2tzOnt0YWJJbmRleDp7Z2V0OmZ1bmN0aW9uKGUpe3Zh ciBuPWUuZ2V0QXR0cmlidXRlTm9kZSgidGFiaW5kZXgiKTtyZXR1cm4gbiYmbi5z cGVjaWZpZWQ/cGFyc2VJbnQobi52YWx1ZSwxMCk6Vi50ZXN0KGUubm9kZU5hbWUp fHxZLnRlc3QoZS5ub2RlTmFtZSkmJmUuaHJlZj8wOnR9fX19KSx6PXtnZXQ6ZnVu Y3Rpb24oZSxuKXt2YXIgcj1iLnByb3AoZSxuKSxpPSJib29sZWFuIj09dHlwZW9m IHImJmUuZ2V0QXR0cmlidXRlKG4pLG89ImJvb2xlYW4iPT10eXBlb2Ygcj9LJiZR P251bGwhPWk6Ry50ZXN0KG4pP2VbYi5jYW1lbENhc2UoImRlZmF1bHQtIituKV06 ISFpOmUuZ2V0QXR0cmlidXRlTm9kZShuKTtyZXR1cm4gbyYmby52YWx1ZSE9PSEx P24udG9Mb3dlckNhc2UoKTp0fSxzZXQ6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0 PT09ITE/Yi5yZW1vdmVBdHRyKGUsbik6SyYmUXx8IUcudGVzdChuKT9lLnNldEF0 dHJpYnV0ZSghUSYmYi5wcm9wRml4W25dfHxuLG4pOmVbYi5jYW1lbENhc2UoImRl ZmF1bHQtIituKV09ZVtuXT0hMCxufX0sSyYmUXx8KGIuYXR0ckhvb2tzLnZhbHVl PXtnZXQ6ZnVuY3Rpb24oZSxuKXt2YXIgcj1lLmdldEF0dHJpYnV0ZU5vZGUobik7 cmV0dXJuIGIubm9kZU5hbWUoZSwiaW5wdXQiKT9lLmRlZmF1bHRWYWx1ZTpyJiZy LnNwZWNpZmllZD9yLnZhbHVlOnR9LHNldDpmdW5jdGlvbihlLG4scil7cmV0dXJu IGIubm9kZU5hbWUoZSwiaW5wdXQiKT8oZS5kZWZhdWx0VmFsdWU9bix0KTpJJiZJ LnNldChlLG4scil9fSksUXx8KEk9Yi52YWxIb29rcy5idXR0b249e2dldDpmdW5j dGlvbihlLG4pe3ZhciByPWUuZ2V0QXR0cmlidXRlTm9kZShuKTtyZXR1cm4gciYm KCJpZCI9PT1ufHwibmFtZSI9PT1ufHwiY29vcmRzIj09PW4/IiIhPT1yLnZhbHVl OnIuc3BlY2lmaWVkKT9yLnZhbHVlOnR9LHNldDpmdW5jdGlvbihlLG4scil7dmFy IGk9ZS5nZXRBdHRyaWJ1dGVOb2RlKHIpO3JldHVybiBpfHxlLnNldEF0dHJpYnV0 ZU5vZGUoaT1lLm93bmVyRG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlKHIpKSxpLnZh bHVlPW4rPSIiLCJ2YWx1ZSI9PT1yfHxuPT09ZS5nZXRBdHRyaWJ1dGUocik/bjp0 fX0sYi5hdHRySG9va3MuY29udGVudGVkaXRhYmxlPXtnZXQ6SS5nZXQsc2V0OmZ1 bmN0aW9uKGUsdCxuKXtJLnNldChlLCIiPT09dD8hMTp0LG4pfX0sYi5lYWNoKFsi d2lkdGgiLCJoZWlnaHQiXSxmdW5jdGlvbihlLG4pe2IuYXR0ckhvb2tzW25dPWIu ZXh0ZW5kKGIuYXR0ckhvb2tzW25dLHtzZXQ6ZnVuY3Rpb24oZSxyKXtyZXR1cm4i Ij09PXI/KGUuc2V0QXR0cmlidXRlKG4sImF1dG8iKSxyKTp0fX0pfSkpLGIuc3Vw cG9ydC5ocmVmTm9ybWFsaXplZHx8KGIuZWFjaChbImhyZWYiLCJzcmMiLCJ3aWR0 aCIsImhlaWdodCJdLGZ1bmN0aW9uKGUsbil7Yi5hdHRySG9va3Nbbl09Yi5leHRl bmQoYi5hdHRySG9va3Nbbl0se2dldDpmdW5jdGlvbihlKXt2YXIgcj1lLmdldEF0 dHJpYnV0ZShuLDIpO3JldHVybiBudWxsPT1yP3Q6cn19KX0pLGIuZWFjaChbImhy ZWYiLCJzcmMiXSxmdW5jdGlvbihlLHQpe2IucHJvcEhvb2tzW3RdPXtnZXQ6ZnVu Y3Rpb24oZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlKHQsNCl9fX0pKSxiLnN1cHBv cnQuc3R5bGV8fChiLmF0dHJIb29rcy5zdHlsZT17Z2V0OmZ1bmN0aW9uKGUpe3Jl dHVybiBlLnN0eWxlLmNzc1RleHR8fHR9LHNldDpmdW5jdGlvbihlLHQpe3JldHVy biBlLnN0eWxlLmNzc1RleHQ9dCsiIn19KSxiLnN1cHBvcnQub3B0U2VsZWN0ZWR8 fChiLnByb3BIb29rcy5zZWxlY3RlZD1iLmV4dGVuZChiLnByb3BIb29rcy5zZWxl Y3RlZCx7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUucGFyZW50Tm9kZTtyZXR1cm4g dCYmKHQuc2VsZWN0ZWRJbmRleCx0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5z ZWxlY3RlZEluZGV4KSxudWxsfX0pKSxiLnN1cHBvcnQuZW5jdHlwZXx8KGIucHJv cEZpeC5lbmN0eXBlPSJlbmNvZGluZyIpLGIuc3VwcG9ydC5jaGVja09ufHxiLmVh Y2goWyJyYWRpbyIsImNoZWNrYm94Il0sZnVuY3Rpb24oKXtiLnZhbEhvb2tzW3Ro aXNdPXtnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1lLmdldEF0dHJpYnV0 ZSgidmFsdWUiKT8ib24iOmUudmFsdWV9fX0pLGIuZWFjaChbInJhZGlvIiwiY2hl Y2tib3giXSxmdW5jdGlvbigpe2IudmFsSG9va3NbdGhpc109Yi5leHRlbmQoYi52 YWxIb29rc1t0aGlzXSx7c2V0OmZ1bmN0aW9uKGUsbil7cmV0dXJuIGIuaXNBcnJh eShuKT9lLmNoZWNrZWQ9Yi5pbkFycmF5KGIoZSkudmFsKCksbik+PTA6dH19KX0p O3ZhciBaPS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhKSQvaSxldD0vXmtleS8s dHQ9L14oPzptb3VzZXxjb250ZXh0bWVudSl8Y2xpY2svLG50PS9eKD86Zm9jdXNp bmZvY3VzfGZvY3Vzb3V0Ymx1cikkLyxydD0vXihbXi5dKikoPzpcLiguKyl8KSQv O2Z1bmN0aW9uIGl0KCl7cmV0dXJuITB9ZnVuY3Rpb24gb3QoKXtyZXR1cm4hMX1i LmV2ZW50PXtnbG9iYWw6e30sYWRkOmZ1bmN0aW9uKGUsbixyLG8sYSl7dmFyIHMs dSxsLGMscCxmLGQsaCxnLG0seSx2PWIuX2RhdGEoZSk7aWYodil7ci5oYW5kbGVy JiYoYz1yLHI9Yy5oYW5kbGVyLGE9Yy5zZWxlY3Rvciksci5ndWlkfHwoci5ndWlk PWIuZ3VpZCsrKSwodT12LmV2ZW50cyl8fCh1PXYuZXZlbnRzPXt9KSwoZj12Lmhh bmRsZSl8fChmPXYuaGFuZGxlPWZ1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgYj09 PWl8fGUmJmIuZXZlbnQudHJpZ2dlcmVkPT09ZS50eXBlP3Q6Yi5ldmVudC5kaXNw YXRjaC5hcHBseShmLmVsZW0sYXJndW1lbnRzKX0sZi5lbGVtPWUpLG49KG58fCIi KS5tYXRjaCh3KXx8WyIiXSxsPW4ubGVuZ3RoO3doaWxlKGwtLSlzPXJ0LmV4ZWMo bltsXSl8fFtdLGc9eT1zWzFdLG09KHNbMl18fCIiKS5zcGxpdCgiLiIpLnNvcnQo KSxwPWIuZXZlbnQuc3BlY2lhbFtnXXx8e30sZz0oYT9wLmRlbGVnYXRlVHlwZTpw LmJpbmRUeXBlKXx8ZyxwPWIuZXZlbnQuc3BlY2lhbFtnXXx8e30sZD1iLmV4dGVu ZCh7dHlwZTpnLG9yaWdUeXBlOnksZGF0YTpvLGhhbmRsZXI6cixndWlkOnIuZ3Vp ZCxzZWxlY3RvcjphLG5lZWRzQ29udGV4dDphJiZiLmV4cHIubWF0Y2gubmVlZHND b250ZXh0LnRlc3QoYSksbmFtZXNwYWNlOm0uam9pbigiLiIpfSxjKSwoaD11W2dd KXx8KGg9dVtnXT1bXSxoLmRlbGVnYXRlQ291bnQ9MCxwLnNldHVwJiZwLnNldHVw LmNhbGwoZSxvLG0sZikhPT0hMXx8KGUuYWRkRXZlbnRMaXN0ZW5lcj9lLmFkZEV2 ZW50TGlzdGVuZXIoZyxmLCExKTplLmF0dGFjaEV2ZW50JiZlLmF0dGFjaEV2ZW50 KCJvbiIrZyxmKSkpLHAuYWRkJiYocC5hZGQuY2FsbChlLGQpLGQuaGFuZGxlci5n dWlkfHwoZC5oYW5kbGVyLmd1aWQ9ci5ndWlkKSksYT9oLnNwbGljZShoLmRlbGVn YXRlQ291bnQrKywwLGQpOmgucHVzaChkKSxiLmV2ZW50Lmdsb2JhbFtnXT0hMDtl PW51bGx9fSxyZW1vdmU6ZnVuY3Rpb24oZSx0LG4scixpKXt2YXIgbyxhLHMsdSxs LGMscCxmLGQsaCxnLG09Yi5oYXNEYXRhKGUpJiZiLl9kYXRhKGUpO2lmKG0mJihj PW0uZXZlbnRzKSl7dD0odHx8IiIpLm1hdGNoKHcpfHxbIiJdLGw9dC5sZW5ndGg7 d2hpbGUobC0tKWlmKHM9cnQuZXhlYyh0W2xdKXx8W10sZD1nPXNbMV0saD0oc1sy XXx8IiIpLnNwbGl0KCIuIikuc29ydCgpLGQpe3A9Yi5ldmVudC5zcGVjaWFsW2Rd fHx7fSxkPShyP3AuZGVsZWdhdGVUeXBlOnAuYmluZFR5cGUpfHxkLGY9Y1tkXXx8 W10scz1zWzJdJiZSZWdFeHAoIihefFxcLikiK2guam9pbigiXFwuKD86LipcXC58 KSIpKyIoXFwufCQpIiksdT1vPWYubGVuZ3RoO3doaWxlKG8tLSlhPWZbb10sIWkm JmchPT1hLm9yaWdUeXBlfHxuJiZuLmd1aWQhPT1hLmd1aWR8fHMmJiFzLnRlc3Qo YS5uYW1lc3BhY2UpfHxyJiZyIT09YS5zZWxlY3RvciYmKCIqKiIhPT1yfHwhYS5z ZWxlY3Rvcil8fChmLnNwbGljZShvLDEpLGEuc2VsZWN0b3ImJmYuZGVsZWdhdGVD b3VudC0tLHAucmVtb3ZlJiZwLnJlbW92ZS5jYWxsKGUsYSkpO3UmJiFmLmxlbmd0 aCYmKHAudGVhcmRvd24mJnAudGVhcmRvd24uY2FsbChlLGgsbS5oYW5kbGUpIT09 ITF8fGIucmVtb3ZlRXZlbnQoZSxkLG0uaGFuZGxlKSxkZWxldGUgY1tkXSl9ZWxz ZSBmb3IoZCBpbiBjKWIuZXZlbnQucmVtb3ZlKGUsZCt0W2xdLG4sciwhMCk7Yi5p c0VtcHR5T2JqZWN0KGMpJiYoZGVsZXRlIG0uaGFuZGxlLGIuX3JlbW92ZURhdGEo ZSwiZXZlbnRzIikpfX0sdHJpZ2dlcjpmdW5jdGlvbihuLHIsaSxhKXt2YXIgcyx1 LGwsYyxwLGYsZCxoPVtpfHxvXSxnPXkuY2FsbChuLCJ0eXBlIik/bi50eXBlOm4s bT15LmNhbGwobiwibmFtZXNwYWNlIik/bi5uYW1lc3BhY2Uuc3BsaXQoIi4iKTpb XTtpZihsPWY9aT1pfHxvLDMhPT1pLm5vZGVUeXBlJiY4IT09aS5ub2RlVHlwZSYm IW50LnRlc3QoZytiLmV2ZW50LnRyaWdnZXJlZCkmJihnLmluZGV4T2YoIi4iKT49 MCYmKG09Zy5zcGxpdCgiLiIpLGc9bS5zaGlmdCgpLG0uc29ydCgpKSx1PTA+Zy5p bmRleE9mKCI6IikmJiJvbiIrZyxuPW5bYi5leHBhbmRvXT9uOm5ldyBiLkV2ZW50 KGcsIm9iamVjdCI9PXR5cGVvZiBuJiZuKSxuLmlzVHJpZ2dlcj0hMCxuLm5hbWVz cGFjZT1tLmpvaW4oIi4iKSxuLm5hbWVzcGFjZV9yZT1uLm5hbWVzcGFjZT9SZWdF eHAoIihefFxcLikiK20uam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIik6 bnVsbCxuLnJlc3VsdD10LG4udGFyZ2V0fHwobi50YXJnZXQ9aSkscj1udWxsPT1y P1tuXTpiLm1ha2VBcnJheShyLFtuXSkscD1iLmV2ZW50LnNwZWNpYWxbZ118fHt9 LGF8fCFwLnRyaWdnZXJ8fHAudHJpZ2dlci5hcHBseShpLHIpIT09ITEpKXtpZigh YSYmIXAubm9CdWJibGUmJiFiLmlzV2luZG93KGkpKXtmb3IoYz1wLmRlbGVnYXRl VHlwZXx8ZyxudC50ZXN0KGMrZyl8fChsPWwucGFyZW50Tm9kZSk7bDtsPWwucGFy ZW50Tm9kZSloLnB1c2gobCksZj1sO2Y9PT0oaS5vd25lckRvY3VtZW50fHxvKSYm aC5wdXNoKGYuZGVmYXVsdFZpZXd8fGYucGFyZW50V2luZG93fHxlKX1kPTA7d2hp bGUoKGw9aFtkKytdKSYmIW4uaXNQcm9wYWdhdGlvblN0b3BwZWQoKSluLnR5cGU9 ZD4xP2M6cC5iaW5kVHlwZXx8ZyxzPShiLl9kYXRhKGwsImV2ZW50cyIpfHx7fSlb bi50eXBlXSYmYi5fZGF0YShsLCJoYW5kbGUiKSxzJiZzLmFwcGx5KGwscikscz11 JiZsW3VdLHMmJmIuYWNjZXB0RGF0YShsKSYmcy5hcHBseSYmcy5hcHBseShsLHIp PT09ITEmJm4ucHJldmVudERlZmF1bHQoKTtpZihuLnR5cGU9ZywhKGF8fG4uaXNE ZWZhdWx0UHJldmVudGVkKCl8fHAuX2RlZmF1bHQmJnAuX2RlZmF1bHQuYXBwbHko aS5vd25lckRvY3VtZW50LHIpIT09ITF8fCJjbGljayI9PT1nJiZiLm5vZGVOYW1l KGksImEiKXx8IWIuYWNjZXB0RGF0YShpKXx8IXV8fCFpW2ddfHxiLmlzV2luZG93 KGkpKSl7Zj1pW3VdLGYmJihpW3VdPW51bGwpLGIuZXZlbnQudHJpZ2dlcmVkPWc7 dHJ5e2lbZ10oKX1jYXRjaCh2KXt9Yi5ldmVudC50cmlnZ2VyZWQ9dCxmJiYoaVt1 XT1mKX1yZXR1cm4gbi5yZXN1bHR9fSxkaXNwYXRjaDpmdW5jdGlvbihlKXtlPWIu ZXZlbnQuZml4KGUpO3ZhciBuLHIsaSxvLGEscz1bXSx1PWguY2FsbChhcmd1bWVu dHMpLGw9KGIuX2RhdGEodGhpcywiZXZlbnRzIil8fHt9KVtlLnR5cGVdfHxbXSxj PWIuZXZlbnQuc3BlY2lhbFtlLnR5cGVdfHx7fTtpZih1WzBdPWUsZS5kZWxlZ2F0 ZVRhcmdldD10aGlzLCFjLnByZURpc3BhdGNofHxjLnByZURpc3BhdGNoLmNhbGwo dGhpcyxlKSE9PSExKXtzPWIuZXZlbnQuaGFuZGxlcnMuY2FsbCh0aGlzLGUsbCks bj0wO3doaWxlKChvPXNbbisrXSkmJiFlLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkp e2UuY3VycmVudFRhcmdldD1vLmVsZW0sYT0wO3doaWxlKChpPW8uaGFuZGxlcnNb YSsrXSkmJiFlLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkKCkpKCFlLm5h bWVzcGFjZV9yZXx8ZS5uYW1lc3BhY2VfcmUudGVzdChpLm5hbWVzcGFjZSkpJiYo ZS5oYW5kbGVPYmo9aSxlLmRhdGE9aS5kYXRhLHI9KChiLmV2ZW50LnNwZWNpYWxb aS5vcmlnVHlwZV18fHt9KS5oYW5kbGV8fGkuaGFuZGxlcikuYXBwbHkoby5lbGVt LHUpLHIhPT10JiYoZS5yZXN1bHQ9cik9PT0hMSYmKGUucHJldmVudERlZmF1bHQo KSxlLnN0b3BQcm9wYWdhdGlvbigpKSl9cmV0dXJuIGMucG9zdERpc3BhdGNoJiZj LnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsZSksZS5yZXN1bHR9fSxoYW5kbGVyczpm dW5jdGlvbihlLG4pe3ZhciByLGksbyxhLHM9W10sdT1uLmRlbGVnYXRlQ291bnQs bD1lLnRhcmdldDtpZih1JiZsLm5vZGVUeXBlJiYoIWUuYnV0dG9ufHwiY2xpY2si IT09ZS50eXBlKSlmb3IoO2whPXRoaXM7bD1sLnBhcmVudE5vZGV8fHRoaXMpaWYo MT09PWwubm9kZVR5cGUmJihsLmRpc2FibGVkIT09ITB8fCJjbGljayIhPT1lLnR5 cGUpKXtmb3Iobz1bXSxhPTA7dT5hO2ErKylpPW5bYV0scj1pLnNlbGVjdG9yKyIg IixvW3JdPT09dCYmKG9bcl09aS5uZWVkc0NvbnRleHQ/YihyLHRoaXMpLmluZGV4 KGwpPj0wOmIuZmluZChyLHRoaXMsbnVsbCxbbF0pLmxlbmd0aCksb1tyXSYmby5w dXNoKGkpO28ubGVuZ3RoJiZzLnB1c2goe2VsZW06bCxoYW5kbGVyczpvfSl9cmV0 dXJuIG4ubGVuZ3RoPnUmJnMucHVzaCh7ZWxlbTp0aGlzLGhhbmRsZXJzOm4uc2xp Y2UodSl9KSxzfSxmaXg6ZnVuY3Rpb24oZSl7aWYoZVtiLmV4cGFuZG9dKXJldHVy biBlO3ZhciB0LG4scixpPWUudHlwZSxhPWUscz10aGlzLmZpeEhvb2tzW2ldO3N8 fCh0aGlzLmZpeEhvb2tzW2ldPXM9dHQudGVzdChpKT90aGlzLm1vdXNlSG9va3M6 ZXQudGVzdChpKT90aGlzLmtleUhvb2tzOnt9KSxyPXMucHJvcHM/dGhpcy5wcm9w cy5jb25jYXQocy5wcm9wcyk6dGhpcy5wcm9wcyxlPW5ldyBiLkV2ZW50KGEpLHQ9 ci5sZW5ndGg7d2hpbGUodC0tKW49clt0XSxlW25dPWFbbl07cmV0dXJuIGUudGFy Z2V0fHwoZS50YXJnZXQ9YS5zcmNFbGVtZW50fHxvKSwzPT09ZS50YXJnZXQubm9k ZVR5cGUmJihlLnRhcmdldD1lLnRhcmdldC5wYXJlbnROb2RlKSxlLm1ldGFLZXk9 ISFlLm1ldGFLZXkscy5maWx0ZXI/cy5maWx0ZXIoZSxhKTplfSxwcm9wczoiYWx0 S2V5IGJ1YmJsZXMgY2FuY2VsYWJsZSBjdHJsS2V5IGN1cnJlbnRUYXJnZXQgZXZl bnRQaGFzZSBtZXRhS2V5IHJlbGF0ZWRUYXJnZXQgc2hpZnRLZXkgdGFyZ2V0IHRp bWVTdGFtcCB2aWV3IHdoaWNoIi5zcGxpdCgiICIpLGZpeEhvb2tzOnt9LGtleUhv b2tzOntwcm9wczoiY2hhciBjaGFyQ29kZSBrZXkga2V5Q29kZSIuc3BsaXQoIiAi KSxmaWx0ZXI6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbnVsbD09ZS53aGljaCYmKGUu d2hpY2g9bnVsbCE9dC5jaGFyQ29kZT90LmNoYXJDb2RlOnQua2V5Q29kZSksZX19 LG1vdXNlSG9va3M6e3Byb3BzOiJidXR0b24gYnV0dG9ucyBjbGllbnRYIGNsaWVu dFkgZnJvbUVsZW1lbnQgb2Zmc2V0WCBvZmZzZXRZIHBhZ2VYIHBhZ2VZIHNjcmVl blggc2NyZWVuWSB0b0VsZW1lbnQiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0aW9u KGUsbil7dmFyIHIsaSxhLHM9bi5idXR0b24sdT1uLmZyb21FbGVtZW50O3JldHVy biBudWxsPT1lLnBhZ2VYJiZudWxsIT1uLmNsaWVudFgmJihpPWUudGFyZ2V0Lm93 bmVyRG9jdW1lbnR8fG8sYT1pLmRvY3VtZW50RWxlbWVudCxyPWkuYm9keSxlLnBh Z2VYPW4uY2xpZW50WCsoYSYmYS5zY3JvbGxMZWZ0fHxyJiZyLnNjcm9sbExlZnR8 fDApLShhJiZhLmNsaWVudExlZnR8fHImJnIuY2xpZW50TGVmdHx8MCksZS5wYWdl WT1uLmNsaWVudFkrKGEmJmEuc2Nyb2xsVG9wfHxyJiZyLnNjcm9sbFRvcHx8MCkt KGEmJmEuY2xpZW50VG9wfHxyJiZyLmNsaWVudFRvcHx8MCkpLCFlLnJlbGF0ZWRU YXJnZXQmJnUmJihlLnJlbGF0ZWRUYXJnZXQ9dT09PWUudGFyZ2V0P24udG9FbGVt ZW50OnUpLGUud2hpY2h8fHM9PT10fHwoZS53aGljaD0xJnM/MToyJnM/Mzo0JnM/ MjowKSxlfX0sc3BlY2lhbDp7bG9hZDp7bm9CdWJibGU6ITB9LGNsaWNrOnt0cmln Z2VyOmZ1bmN0aW9uKCl7cmV0dXJuIGIubm9kZU5hbWUodGhpcywiaW5wdXQiKSYm ImNoZWNrYm94Ij09PXRoaXMudHlwZSYmdGhpcy5jbGljaz8odGhpcy5jbGljaygp LCExKTp0fX0sZm9jdXM6e3RyaWdnZXI6ZnVuY3Rpb24oKXtpZih0aGlzIT09by5h Y3RpdmVFbGVtZW50JiZ0aGlzLmZvY3VzKXRyeXtyZXR1cm4gdGhpcy5mb2N1cygp LCExfWNhdGNoKGUpe319LGRlbGVnYXRlVHlwZToiZm9jdXNpbiJ9LGJsdXI6e3Ry aWdnZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcz09PW8uYWN0aXZlRWxlbWVudCYm dGhpcy5ibHVyPyh0aGlzLmJsdXIoKSwhMSk6dH0sZGVsZWdhdGVUeXBlOiJmb2N1 c291dCJ9LGJlZm9yZXVubG9hZDp7cG9zdERpc3BhdGNoOmZ1bmN0aW9uKGUpe2Uu cmVzdWx0IT09dCYmKGUub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZT1lLnJlc3Vs dCl9fX0sc2ltdWxhdGU6ZnVuY3Rpb24oZSx0LG4scil7dmFyIGk9Yi5leHRlbmQo bmV3IGIuRXZlbnQsbix7dHlwZTplLGlzU2ltdWxhdGVkOiEwLG9yaWdpbmFsRXZl bnQ6e319KTtyP2IuZXZlbnQudHJpZ2dlcihpLG51bGwsdCk6Yi5ldmVudC5kaXNw YXRjaC5jYWxsKHQsaSksaS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmbi5wcmV2ZW50 RGVmYXVsdCgpfX0sYi5yZW1vdmVFdmVudD1vLnJlbW92ZUV2ZW50TGlzdGVuZXI/ ZnVuY3Rpb24oZSx0LG4pe2UucmVtb3ZlRXZlbnRMaXN0ZW5lciYmZS5yZW1vdmVF dmVudExpc3RlbmVyKHQsbiwhMSl9OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj0ib24i K3Q7ZS5kZXRhY2hFdmVudCYmKHR5cGVvZiBlW3JdPT09aSYmKGVbcl09bnVsbCks ZS5kZXRhY2hFdmVudChyLG4pKX0sYi5FdmVudD1mdW5jdGlvbihlLG4pe3JldHVy biB0aGlzIGluc3RhbmNlb2YgYi5FdmVudD8oZSYmZS50eXBlPyh0aGlzLm9yaWdp bmFsRXZlbnQ9ZSx0aGlzLnR5cGU9ZS50eXBlLHRoaXMuaXNEZWZhdWx0UHJldmVu dGVkPWUuZGVmYXVsdFByZXZlbnRlZHx8ZS5yZXR1cm5WYWx1ZT09PSExfHxlLmdl dFByZXZlbnREZWZhdWx0JiZlLmdldFByZXZlbnREZWZhdWx0KCk/aXQ6b3QpOnRo aXMudHlwZT1lLG4mJmIuZXh0ZW5kKHRoaXMsbiksdGhpcy50aW1lU3RhbXA9ZSYm ZS50aW1lU3RhbXB8fGIubm93KCksdGhpc1tiLmV4cGFuZG9dPSEwLHQpOm5ldyBi LkV2ZW50KGUsbil9LGIuRXZlbnQucHJvdG90eXBlPXtpc0RlZmF1bHRQcmV2ZW50 ZWQ6b3QsaXNQcm9wYWdhdGlvblN0b3BwZWQ6b3QsaXNJbW1lZGlhdGVQcm9wYWdh dGlvblN0b3BwZWQ6b3QscHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt2YXIgZT10 aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9aXQsZSYm KGUucHJldmVudERlZmF1bHQ/ZS5wcmV2ZW50RGVmYXVsdCgpOmUucmV0dXJuVmFs dWU9ITEpfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9y aWdpbmFsRXZlbnQ7dGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1pdCxlJiYoZS5z dG9wUHJvcGFnYXRpb24mJmUuc3RvcFByb3BhZ2F0aW9uKCksZS5jYW5jZWxCdWJi bGU9ITApfSxzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt0aGlz LmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkPWl0LHRoaXMuc3RvcFByb3Bh Z2F0aW9uKCl9fSxiLmVhY2goe21vdXNlZW50ZXI6Im1vdXNlb3ZlciIsbW91c2Vs ZWF2ZToibW91c2VvdXQifSxmdW5jdGlvbihlLHQpe2IuZXZlbnQuc3BlY2lhbFtl XT17ZGVsZWdhdGVUeXBlOnQsYmluZFR5cGU6dCxoYW5kbGU6ZnVuY3Rpb24oZSl7 dmFyIG4scj10aGlzLGk9ZS5yZWxhdGVkVGFyZ2V0LG89ZS5oYW5kbGVPYmo7CnJl dHVybighaXx8aSE9PXImJiFiLmNvbnRhaW5zKHIsaSkpJiYoZS50eXBlPW8ub3Jp Z1R5cGUsbj1vLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpLGUudHlwZT10 KSxufX19KSxiLnN1cHBvcnQuc3VibWl0QnViYmxlc3x8KGIuZXZlbnQuc3BlY2lh bC5zdWJtaXQ9e3NldHVwOmZ1bmN0aW9uKCl7cmV0dXJuIGIubm9kZU5hbWUodGhp cywiZm9ybSIpPyExOihiLmV2ZW50LmFkZCh0aGlzLCJjbGljay5fc3VibWl0IGtl eXByZXNzLl9zdWJtaXQiLGZ1bmN0aW9uKGUpe3ZhciBuPWUudGFyZ2V0LHI9Yi5u b2RlTmFtZShuLCJpbnB1dCIpfHxiLm5vZGVOYW1lKG4sImJ1dHRvbiIpP24uZm9y bTp0O3ImJiFiLl9kYXRhKHIsInN1Ym1pdEJ1YmJsZXMiKSYmKGIuZXZlbnQuYWRk KHIsInN1Ym1pdC5fc3VibWl0IixmdW5jdGlvbihlKXtlLl9zdWJtaXRfYnViYmxl PSEwfSksYi5fZGF0YShyLCJzdWJtaXRCdWJibGVzIiwhMCkpfSksdCl9LHBvc3RE aXNwYXRjaDpmdW5jdGlvbihlKXtlLl9zdWJtaXRfYnViYmxlJiYoZGVsZXRlIGUu X3N1Ym1pdF9idWJibGUsdGhpcy5wYXJlbnROb2RlJiYhZS5pc1RyaWdnZXImJmIu ZXZlbnQuc2ltdWxhdGUoInN1Ym1pdCIsdGhpcy5wYXJlbnROb2RlLGUsITApKX0s dGVhcmRvd246ZnVuY3Rpb24oKXtyZXR1cm4gYi5ub2RlTmFtZSh0aGlzLCJmb3Jt Iik/ITE6KGIuZXZlbnQucmVtb3ZlKHRoaXMsIi5fc3VibWl0IiksdCl9fSksYi5z dXBwb3J0LmNoYW5nZUJ1YmJsZXN8fChiLmV2ZW50LnNwZWNpYWwuY2hhbmdlPXtz ZXR1cDpmdW5jdGlvbigpe3JldHVybiBaLnRlc3QodGhpcy5ub2RlTmFtZSk/KCgi Y2hlY2tib3giPT09dGhpcy50eXBlfHwicmFkaW8iPT09dGhpcy50eXBlKSYmKGIu ZXZlbnQuYWRkKHRoaXMsInByb3BlcnR5Y2hhbmdlLl9jaGFuZ2UiLGZ1bmN0aW9u KGUpeyJjaGVja2VkIj09PWUub3JpZ2luYWxFdmVudC5wcm9wZXJ0eU5hbWUmJih0 aGlzLl9qdXN0X2NoYW5nZWQ9ITApfSksYi5ldmVudC5hZGQodGhpcywiY2xpY2su X2NoYW5nZSIsZnVuY3Rpb24oZSl7dGhpcy5fanVzdF9jaGFuZ2VkJiYhZS5pc1Ry aWdnZXImJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITEpLGIuZXZlbnQuc2ltdWxhdGUo ImNoYW5nZSIsdGhpcyxlLCEwKX0pKSwhMSk6KGIuZXZlbnQuYWRkKHRoaXMsImJl Zm9yZWFjdGl2YXRlLl9jaGFuZ2UiLGZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0 O1oudGVzdCh0Lm5vZGVOYW1lKSYmIWIuX2RhdGEodCwiY2hhbmdlQnViYmxlcyIp JiYoYi5ldmVudC5hZGQodCwiY2hhbmdlLl9jaGFuZ2UiLGZ1bmN0aW9uKGUpeyF0 aGlzLnBhcmVudE5vZGV8fGUuaXNTaW11bGF0ZWR8fGUuaXNUcmlnZ2VyfHxiLmV2 ZW50LnNpbXVsYXRlKCJjaGFuZ2UiLHRoaXMucGFyZW50Tm9kZSxlLCEwKX0pLGIu X2RhdGEodCwiY2hhbmdlQnViYmxlcyIsITApKX0pLHQpfSxoYW5kbGU6ZnVuY3Rp b24oZSl7dmFyIG49ZS50YXJnZXQ7cmV0dXJuIHRoaXMhPT1ufHxlLmlzU2ltdWxh dGVkfHxlLmlzVHJpZ2dlcnx8InJhZGlvIiE9PW4udHlwZSYmImNoZWNrYm94IiE9 PW4udHlwZT9lLmhhbmRsZU9iai5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRz KTp0fSx0ZWFyZG93bjpmdW5jdGlvbigpe3JldHVybiBiLmV2ZW50LnJlbW92ZSh0 aGlzLCIuX2NoYW5nZSIpLCFaLnRlc3QodGhpcy5ub2RlTmFtZSl9fSksYi5zdXBw b3J0LmZvY3VzaW5CdWJibGVzfHxiLmVhY2goe2ZvY3VzOiJmb2N1c2luIixibHVy OiJmb2N1c291dCJ9LGZ1bmN0aW9uKGUsdCl7dmFyIG49MCxyPWZ1bmN0aW9uKGUp e2IuZXZlbnQuc2ltdWxhdGUodCxlLnRhcmdldCxiLmV2ZW50LmZpeChlKSwhMCl9 O2IuZXZlbnQuc3BlY2lhbFt0XT17c2V0dXA6ZnVuY3Rpb24oKXswPT09bisrJiZv LmFkZEV2ZW50TGlzdGVuZXIoZSxyLCEwKX0sdGVhcmRvd246ZnVuY3Rpb24oKXsw PT09LS1uJiZvLnJlbW92ZUV2ZW50TGlzdGVuZXIoZSxyLCEwKX19fSksYi5mbi5l eHRlbmQoe29uOmZ1bmN0aW9uKGUsbixyLGksbyl7dmFyIGEscztpZigib2JqZWN0 Ij09dHlwZW9mIGUpeyJzdHJpbmciIT10eXBlb2YgbiYmKHI9cnx8bixuPXQpO2Zv cihhIGluIGUpdGhpcy5vbihhLG4scixlW2FdLG8pO3JldHVybiB0aGlzfWlmKG51 bGw9PXImJm51bGw9PWk/KGk9bixyPW49dCk6bnVsbD09aSYmKCJzdHJpbmciPT10 eXBlb2Ygbj8oaT1yLHI9dCk6KGk9cixyPW4sbj10KSksaT09PSExKWk9b3Q7ZWxz ZSBpZighaSlyZXR1cm4gdGhpcztyZXR1cm4gMT09PW8mJihzPWksaT1mdW5jdGlv bihlKXtyZXR1cm4gYigpLm9mZihlKSxzLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0s aS5ndWlkPXMuZ3VpZHx8KHMuZ3VpZD1iLmd1aWQrKykpLHRoaXMuZWFjaChmdW5j dGlvbigpe2IuZXZlbnQuYWRkKHRoaXMsZSxpLHIsbil9KX0sb25lOmZ1bmN0aW9u KGUsdCxuLHIpe3JldHVybiB0aGlzLm9uKGUsdCxuLHIsMSl9LG9mZjpmdW5jdGlv bihlLG4scil7dmFyIGksbztpZihlJiZlLnByZXZlbnREZWZhdWx0JiZlLmhhbmRs ZU9iailyZXR1cm4gaT1lLmhhbmRsZU9iaixiKGUuZGVsZWdhdGVUYXJnZXQpLm9m ZihpLm5hbWVzcGFjZT9pLm9yaWdUeXBlKyIuIitpLm5hbWVzcGFjZTppLm9yaWdU eXBlLGkuc2VsZWN0b3IsaS5oYW5kbGVyKSx0aGlzO2lmKCJvYmplY3QiPT10eXBl b2YgZSl7Zm9yKG8gaW4gZSl0aGlzLm9mZihvLG4sZVtvXSk7cmV0dXJuIHRoaXN9 cmV0dXJuKG49PT0hMXx8ImZ1bmN0aW9uIj09dHlwZW9mIG4pJiYocj1uLG49dCks cj09PSExJiYocj1vdCksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yi5ldmVudC5yZW1v dmUodGhpcyxlLHIsbil9KX0sYmluZDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHRo aXMub24oZSxudWxsLHQsbil9LHVuYmluZDpmdW5jdGlvbihlLHQpe3JldHVybiB0 aGlzLm9mZihlLG51bGwsdCl9LGRlbGVnYXRlOmZ1bmN0aW9uKGUsdCxuLHIpe3Jl dHVybiB0aGlzLm9uKHQsZSxuLHIpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGUsdCxu KXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5vZmYoZSwiKioiKTp0 aGlzLm9mZih0LGV8fCIqKiIsbil9LHRyaWdnZXI6ZnVuY3Rpb24oZSx0KXtyZXR1 cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yi5ldmVudC50cmlnZ2VyKGUsdCx0aGlz KX0pfSx0cmlnZ2VySGFuZGxlcjpmdW5jdGlvbihlLG4pe3ZhciByPXRoaXNbMF07 cmV0dXJuIHI/Yi5ldmVudC50cmlnZ2VyKGUsbixyLCEwKTp0fX0pLGZ1bmN0aW9u KGUsdCl7dmFyIG4scixpLG8sYSxzLHUsbCxjLHAsZixkLGgsZyxtLHksdix4PSJz aXp6bGUiKy1uZXcgRGF0ZSx3PWUuZG9jdW1lbnQsVD17fSxOPTAsQz0wLGs9aXQo KSxFPWl0KCksUz1pdCgpLEE9dHlwZW9mIHQsaj0xPDwzMSxEPVtdLEw9RC5wb3As SD1ELnB1c2gscT1ELnNsaWNlLE09RC5pbmRleE9mfHxmdW5jdGlvbihlKXt2YXIg dD0wLG49dGhpcy5sZW5ndGg7Zm9yKDtuPnQ7dCsrKWlmKHRoaXNbdF09PT1lKXJl dHVybiB0O3JldHVybi0xfSxfPSJbXFx4MjBcXHRcXHJcXG5cXGZdIixGPSIoPzpc XFxcLnxbXFx3LV18W15cXHgwMC1cXHhhMF0pKyIsTz1GLnJlcGxhY2UoInciLCJ3 IyIpLEI9IihbKl4kfCF+XT89KSIsUD0iXFxbIitfKyIqKCIrRisiKSIrXysiKig/ OiIrQitfKyIqKD86KFsnXCJdKSgoPzpcXFxcLnxbXlxcXFxdKSo/KVxcM3woIitP KyIpfCl8KSIrXysiKlxcXSIsUj0iOigiK0YrIikoPzpcXCgoKFsnXCJdKSgoPzpc XFxcLnxbXlxcXFxdKSo/KVxcM3woKD86XFxcXC58W15cXFxcKClbXFxdXXwiK1Au cmVwbGFjZSgzLDgpKyIpKil8LiopXFwpfCkiLFc9UmVnRXhwKCJeIitfKyIrfCgo PzpefFteXFxcXF0pKD86XFxcXC4pKikiK18rIiskIiwiZyIpLCQ9UmVnRXhwKCJe IitfKyIqLCIrXysiKiIpLEk9UmVnRXhwKCJeIitfKyIqKFtcXHgyMFxcdFxcclxc blxcZj4rfl0pIitfKyIqIiksej1SZWdFeHAoUiksWD1SZWdFeHAoIl4iK08rIiQi KSxVPXtJRDpSZWdFeHAoIl4jKCIrRisiKSIpLENMQVNTOlJlZ0V4cCgiXlxcLigi K0YrIikiKSxOQU1FOlJlZ0V4cCgiXlxcW25hbWU9WydcIl0/KCIrRisiKVsnXCJd P1xcXSIpLFRBRzpSZWdFeHAoIl4oIitGLnJlcGxhY2UoInciLCJ3KiIpKyIpIiks QVRUUjpSZWdFeHAoIl4iK1ApLFBTRVVETzpSZWdFeHAoIl4iK1IpLENISUxEOlJl Z0V4cCgiXjoob25seXxmaXJzdHxsYXN0fG50aHxudGgtbGFzdCktKGNoaWxkfG9m LXR5cGUpKD86XFwoIitfKyIqKGV2ZW58b2RkfCgoWystXXwpKFxcZCopbnwpIitf KyIqKD86KFsrLV18KSIrXysiKihcXGQrKXwpKSIrXysiKlxcKXwpIiwiaSIpLG5l ZWRzQ29udGV4dDpSZWdFeHAoIl4iK18rIipbPit+XXw6KGV2ZW58b2RkfGVxfGd0 fGx0fG50aHxmaXJzdHxsYXN0KSg/OlxcKCIrXysiKigoPzotXFxkKT9cXGQqKSIr XysiKlxcKXwpKD89W14tXXwkKSIsImkiKX0sVj0vW1x4MjBcdFxyXG5cZl0qWyt+ XS8sWT0vXltee10rXHtccypcW25hdGl2ZSBjb2RlLyxKPS9eKD86IyhbXHctXSsp fChcdyspfFwuKFtcdy1dKykpJC8sRz0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJl YXxidXR0b24pJC9pLFE9L15oXGQkL2ksSz0vJ3xcXC9nLFo9L1w9W1x4MjBcdFxy XG5cZl0qKFteJyJcXV0qKVtceDIwXHRcclxuXGZdKlxdL2csZXQ9L1xcKFtcZGEt ZkEtRl17MSw2fVtceDIwXHRcclxuXGZdP3wuKS9nLHR0PWZ1bmN0aW9uKGUsdCl7 dmFyIG49IjB4Iit0LTY1NTM2O3JldHVybiBuIT09bj90OjA+bj9TdHJpbmcuZnJv bUNoYXJDb2RlKG4rNjU1MzYpOlN0cmluZy5mcm9tQ2hhckNvZGUoNTUyOTZ8bj4+ MTAsNTYzMjB8MTAyMyZuKX07dHJ5e3EuY2FsbCh3LmRvY3VtZW50RWxlbWVudC5j aGlsZE5vZGVzLDApWzBdLm5vZGVUeXBlfWNhdGNoKG50KXtxPWZ1bmN0aW9uKGUp e3ZhciB0LG49W107d2hpbGUodD10aGlzW2UrK10pbi5wdXNoKHQpO3JldHVybiBu fX1mdW5jdGlvbiBydChlKXtyZXR1cm4gWS50ZXN0KGUrIiIpfWZ1bmN0aW9uIGl0 KCl7dmFyIGUsdD1bXTtyZXR1cm4gZT1mdW5jdGlvbihuLHIpe3JldHVybiB0LnB1 c2gobis9IiAiKT5pLmNhY2hlTGVuZ3RoJiZkZWxldGUgZVt0LnNoaWZ0KCldLGVb bl09cn19ZnVuY3Rpb24gb3QoZSl7cmV0dXJuIGVbeF09ITAsZX1mdW5jdGlvbiBh dChlKXt2YXIgdD1wLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RyeXtyZXR1cm4gZSh0 KX1jYXRjaChuKXtyZXR1cm4hMX1maW5hbGx5e3Q9bnVsbH19ZnVuY3Rpb24gc3Qo ZSx0LG4scil7dmFyIGksbyxhLHMsdSxsLGYsZyxtLHY7aWYoKHQ/dC5vd25lckRv Y3VtZW50fHx0OncpIT09cCYmYyh0KSx0PXR8fHAsbj1ufHxbXSwhZXx8InN0cmlu ZyIhPXR5cGVvZiBlKXJldHVybiBuO2lmKDEhPT0ocz10Lm5vZGVUeXBlKSYmOSE9 PXMpcmV0dXJuW107aWYoIWQmJiFyKXtpZihpPUouZXhlYyhlKSlpZihhPWlbMV0p e2lmKDk9PT1zKXtpZihvPXQuZ2V0RWxlbWVudEJ5SWQoYSksIW98fCFvLnBhcmVu dE5vZGUpcmV0dXJuIG47aWYoby5pZD09PWEpcmV0dXJuIG4ucHVzaChvKSxufWVs c2UgaWYodC5vd25lckRvY3VtZW50JiYobz10Lm93bmVyRG9jdW1lbnQuZ2V0RWxl bWVudEJ5SWQoYSkpJiZ5KHQsbykmJm8uaWQ9PT1hKXJldHVybiBuLnB1c2gobyks bn1lbHNle2lmKGlbMl0pcmV0dXJuIEguYXBwbHkobixxLmNhbGwodC5nZXRFbGVt ZW50c0J5VGFnTmFtZShlKSwwKSksbjtpZigoYT1pWzNdKSYmVC5nZXRCeUNsYXNz TmFtZSYmdC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKXJldHVybiBILmFwcGx5KG4s cS5jYWxsKHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShhKSwwKSksbn1pZihULnFz YSYmIWgudGVzdChlKSl7aWYoZj0hMCxnPXgsbT10LHY9OT09PXMmJmUsMT09PXMm JiJvYmplY3QiIT09dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXtsPWZ0KGUpLChm PXQuZ2V0QXR0cmlidXRlKCJpZCIpKT9nPWYucmVwbGFjZShLLCJcXCQmIik6dC5z ZXRBdHRyaWJ1dGUoImlkIixnKSxnPSJbaWQ9JyIrZysiJ10gIix1PWwubGVuZ3Ro O3doaWxlKHUtLSlsW3VdPWcrZHQobFt1XSk7bT1WLnRlc3QoZSkmJnQucGFyZW50 Tm9kZXx8dCx2PWwuam9pbigiLCIpfWlmKHYpdHJ5e3JldHVybiBILmFwcGx5KG4s cS5jYWxsKG0ucXVlcnlTZWxlY3RvckFsbCh2KSwwKSksbn1jYXRjaChiKXt9Zmlu YWxseXtmfHx0LnJlbW92ZUF0dHJpYnV0ZSgiaWQiKX19fXJldHVybiB3dChlLnJl cGxhY2UoVywiJDEiKSx0LG4scil9YT1zdC5pc1hNTD1mdW5jdGlvbihlKXt2YXIg dD1lJiYoZS5vd25lckRvY3VtZW50fHxlKS5kb2N1bWVudEVsZW1lbnQ7cmV0dXJu IHQ/IkhUTUwiIT09dC5ub2RlTmFtZTohMX0sYz1zdC5zZXREb2N1bWVudD1mdW5j dGlvbihlKXt2YXIgbj1lP2Uub3duZXJEb2N1bWVudHx8ZTp3O3JldHVybiBuIT09 cCYmOT09PW4ubm9kZVR5cGUmJm4uZG9jdW1lbnRFbGVtZW50PyhwPW4sZj1uLmRv Y3VtZW50RWxlbWVudCxkPWEobiksVC50YWdOYW1lTm9Db21tZW50cz1hdChmdW5j dGlvbihlKXtyZXR1cm4gZS5hcHBlbmRDaGlsZChuLmNyZWF0ZUNvbW1lbnQoIiIp KSwhZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aH0pLFQuYXR0cmli dXRlcz1hdChmdW5jdGlvbihlKXtlLmlubmVySFRNTD0iPHNlbGVjdD48L3NlbGVj dD4iO3ZhciB0PXR5cGVvZiBlLmxhc3RDaGlsZC5nZXRBdHRyaWJ1dGUoIm11bHRp cGxlIik7cmV0dXJuImJvb2xlYW4iIT09dCYmInN0cmluZyIhPT10fSksVC5nZXRC eUNsYXNzTmFtZT1hdChmdW5jdGlvbihlKXtyZXR1cm4gZS5pbm5lckhUTUw9Ijxk aXYgY2xhc3M9J2hpZGRlbiBlJz48L2Rpdj48ZGl2IGNsYXNzPSdoaWRkZW4nPjwv ZGl2PiIsZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZlLmdldEVsZW1lbnRzQnlD bGFzc05hbWUoImUiKS5sZW5ndGg/KGUubGFzdENoaWxkLmNsYXNzTmFtZT0iZSIs Mj09PWUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZSIpLmxlbmd0aCk6ITF9KSxU LmdldEJ5TmFtZT1hdChmdW5jdGlvbihlKXtlLmlkPXgrMCxlLmlubmVySFRNTD0i PGEgbmFtZT0nIit4KyInPjwvYT48ZGl2IG5hbWU9JyIreCsiJz48L2Rpdj4iLGYu aW5zZXJ0QmVmb3JlKGUsZi5maXJzdENoaWxkKTt2YXIgdD1uLmdldEVsZW1lbnRz QnlOYW1lJiZuLmdldEVsZW1lbnRzQnlOYW1lKHgpLmxlbmd0aD09PTIrbi5nZXRF bGVtZW50c0J5TmFtZSh4KzApLmxlbmd0aDtyZXR1cm4gVC5nZXRJZE5vdE5hbWU9 IW4uZ2V0RWxlbWVudEJ5SWQoeCksZi5yZW1vdmVDaGlsZChlKSx0fSksaS5hdHRy SGFuZGxlPWF0KGZ1bmN0aW9uKGUpe3JldHVybiBlLmlubmVySFRNTD0iPGEgaHJl Zj0nIyc+PC9hPiIsZS5maXJzdENoaWxkJiZ0eXBlb2YgZS5maXJzdENoaWxkLmdl dEF0dHJpYnV0ZSE9PUEmJiIjIj09PWUuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUo ImhyZWYiKX0pP3t9OntocmVmOmZ1bmN0aW9uKGUpe3JldHVybiBlLmdldEF0dHJp YnV0ZSgiaHJlZiIsMil9LHR5cGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0QXR0 cmlidXRlKCJ0eXBlIil9fSxULmdldElkTm90TmFtZT8oaS5maW5kLklEPWZ1bmN0 aW9uKGUsdCl7aWYodHlwZW9mIHQuZ2V0RWxlbWVudEJ5SW