Content-Type: multipart/related; start=; boundary=----------YdUZybc8muhfUE6CKMXngp Content-Location: http://www.dl4all.com/e_books/981407-fashion-design-and-pattern-making.html Subject: =?utf-8?Q?Fashion=20Design=20and=20Pattern=20Making=20=C2=BB=20Full=20Software=20Downloads=20-=20Download=20For=20All?= MIME-Version: 1.0 ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=981407-fashion-design-and-pattern-making.html Content-Type: text/html; charset=windows-1251; name=981407-fashion-design-and-pattern-making.html Content-ID: Content-Location: http://www.dl4all.com/e_books/981407-fashion-design-and-pattern-making.html Content-Transfer-Encoding: Quoted-Printable Fashion Design and Pattern Making » Full Software Downloads= - Download For All
Teya Salat
Old school Easter eggs.
Processing. Please wait...
=
Search


=
= E-Books :

Fashion Des= ign and Pattern Making

  3D""   Author: kuheck   |  = 30 July 2011   = |   3D"comme=: 0
=

Fashion Design and Pattern MakingEnglish | PDF | 6 Books | 240.75 MB
Genre: Misc. Educational=

Drudi, Elisabetta - Figure Drawing for Fashion Design
Drudi, = Elisabetta - Wrap & Drape Fashion (partial)
Fan, J.; Yu, W.; Hu= nter, L. - Clothing appearance and fit~Science and technology
Gokar= neshan, N. - Fabric Structure and Design
Joseph-Armstrong, Helen - = Patternmaking for Fashion Design, 5th ed
Weber, Jeanette - Clothing= ~Fashion, Fabrics & Construction, 5th ed.

Download (FileSonic)
<= !--QuoteBegin-->

http://www.= filesonic.com/file/1551024374/Fashion Design and Pattern Making.part1.ra= r
http://www.filesonic.com/file/1551024394/Fashion Design and Patte= rn Making.part2.rar
http://www.filesonic.com/file/1551014304/Fashio= n Design and Pattern Making.part3.rar


Download (FileServe)

http://www.fileserv= e.com/file/PfH6ztf/Fashion Design and Pattern Making.part1.rar
http= ://www.fileserve.com/file/Dr3H2JK/Fashion Design and Pattern Making.part= 2.rar
http://www.fileserve.com/file/NTTPzgE/Fashion Design and Patt= ern Making.part3.rar

Download (UploadStation)

http://www.uploadstation.com/fil= e/ZMV4kc4/Fashion_Design_and_Pattern_Making.part1.rar
http://www.up= loadstation.com/file/mmfKP3d/Fashion_Design_and_Pattern_Making.part2.rar=
http://www.uploadstation.com/file/3aj4yef/Fashion_Design_and_Patte= rn_Making.part3.rar


Download (WUpload)

http://www.wupload.com/file/70693386/Fas= hion Design and Pattern Making.part2.rar
http://www.wupload.com/fil= e/70691032/Fashion Design and Pattern Making.part3.rar
http://www.w= upload.com/file/70690941/Fashion Design and Pattern Making.part1.rar


    Torrent Mirror: <= /strong>
Fashion Design and Pattern Making

Direct Download : Fashion Design and Pattern Making
Fashion Design and Pattern Making is available on a new fast direct download service with over 2,210,000= Files to choose from.Download anything with more then 1000+ Kb/s= downloading speed.Signup process takes just 10 sec to go.Signup today a= nd enjoy the speed !
 = ;(Votes #: 0)
Co= mments (0)
Add comments
3D""
3D""
3D""
3D""
3D""
3D""
3D""
3D""
3D""
3D""
3D""
3D""
3D""
3D""
3D""
<= div style=3D"width:100%;height:100%;overflow: auto;"><= td style=3D"padding:2px;" align=3D"center">3D"an=
3D"wink"3D"winked"3D"smile=3D"a=
3D"feel"3D"fellow"
3D"lol"3D"love"3D"no"3D"recourse"
3D"request"3D"sad"3D"tongue"
3D"crying"3D"what"3D"bully"

=
Member Menu
Like Dl4All ?! Give us +1
Home      &nbs= p; |        Register     &nb= sp;  |        Forums    &nbs= p;   |        RSS        | =        Rules     =    |        DMCA Policy    &nbs= p;   |        Contact Us
DISCLAIMER
None of the files shown here are hosted or transmitted by this serv= er. The links are provided solely by this site's users. The administrato= r of this site (Dl4All.com) cannot be held responsible for what its user= s post, or any other actions of its users. You may not use this site to = distribute or download any material when you do not have the legal right= s to do so. It is your own responsibility to adhere to these terms.

Copyright © 2006-2011 Dl4All. All rights reserved.
Polly po-cket
------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=jquery.js Content-Type: application/x-javascript; name=jquery.js Content-Location: http://www.dl4all.com/engine/classes/js/jquery.js Content-Transfer-Encoding: Base64 LyohCiAqIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkgdjEuNi4xCiAqIGh0dHA6 Ly9qcXVlcnkuY29tLwogKgogKiBDb3B5cmlnaHQgMjAxMSwgSm9obiBSZXNpZwog KiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBs aWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBJbmNs dWRlcyBTaXp6bGUuanMKICogaHR0cDovL3NpenpsZWpzLmNvbS8KICogQ29weXJp Z2h0IDIwMTEsIFRoZSBEb2pvIEZvdW5kYXRpb24KICogUmVsZWFzZWQgdW5kZXIg dGhlIE1JVCwgQlNELCBhbmQgR1BMIExpY2Vuc2VzLgogKgogKiBEYXRlOiBUaHUg TWF5IDEyIDE1OjA0OjM2IDIwMTEgLTA0MDAKICovCihmdW5jdGlvbihhLGIpe2Z1 bmN0aW9uIGN5KGEpe3JldHVybiBmLmlzV2luZG93KGEpP2E6YS5ub2RlVHlwZT09 PTk/YS5kZWZhdWx0Vmlld3x8YS5wYXJlbnRXaW5kb3c6ITF9ZnVuY3Rpb24gY3Yo YSl7aWYoIWNqW2FdKXt2YXIgYj1mKCI8IithKyI+IikuYXBwZW5kVG8oImJvZHki KSxkPWIuY3NzKCJkaXNwbGF5Iik7Yi5yZW1vdmUoKTtpZihkPT09Im5vbmUifHxk PT09IiIpe2NrfHwoY2s9Yy5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKSxjay5mcmFt ZUJvcmRlcj1jay53aWR0aD1jay5oZWlnaHQ9MCksYy5ib2R5LmFwcGVuZENoaWxk KGNrKTtpZighY2x8fCFjay5jcmVhdGVFbGVtZW50KWNsPShjay5jb250ZW50V2lu ZG93fHxjay5jb250ZW50RG9jdW1lbnQpLmRvY3VtZW50LGNsLndyaXRlKCI8IWRv Y3R5cGU+PGh0bWw+PGJvZHk+PC9ib2R5PjwvaHRtbD4iKTtiPWNsLmNyZWF0ZUVs ZW1lbnQoYSksY2wuYm9keS5hcHBlbmRDaGlsZChiKSxkPWYuY3NzKGIsImRpc3Bs YXkiKSxjLmJvZHkucmVtb3ZlQ2hpbGQoY2spfWNqW2FdPWR9cmV0dXJuIGNqW2Fd fWZ1bmN0aW9uIGN1KGEsYil7dmFyIGM9e307Zi5lYWNoKGNwLmNvbmNhdC5hcHBs eShbXSxjcC5zbGljZSgwLGIpKSxmdW5jdGlvbigpe2NbdGhpc109YX0pO3JldHVy biBjfWZ1bmN0aW9uIGN0KCl7Y3E9Yn1mdW5jdGlvbiBjcygpe3NldFRpbWVvdXQo Y3QsMCk7cmV0dXJuIGNxPWYubm93KCl9ZnVuY3Rpb24gY2koKXt0cnl7cmV0dXJu IG5ldyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIil9Y2F0Y2go Yil7fX1mdW5jdGlvbiBjaCgpe3RyeXtyZXR1cm4gbmV3IGEuWE1MSHR0cFJlcXVl c3R9Y2F0Y2goYil7fX1mdW5jdGlvbiBjYihhLGMpe2EuZGF0YUZpbHRlciYmKGM9 YS5kYXRhRmlsdGVyKGMsYS5kYXRhVHlwZSkpO3ZhciBkPWEuZGF0YVR5cGVzLGU9 e30sZyxoLGk9ZC5sZW5ndGgsaixrPWRbMF0sbCxtLG4sbyxwO2ZvcihnPTE7Zzxp O2crKyl7aWYoZz09PTEpZm9yKGggaW4gYS5jb252ZXJ0ZXJzKXR5cGVvZiBoPT0i c3RyaW5nIiYmKGVbaC50b0xvd2VyQ2FzZSgpXT1hLmNvbnZlcnRlcnNbaF0pO2w9 ayxrPWRbZ107aWYoaz09PSIqIilrPWw7ZWxzZSBpZihsIT09IioiJiZsIT09ayl7 bT1sKyIgIitrLG49ZVttXXx8ZVsiKiAiK2tdO2lmKCFuKXtwPWI7Zm9yKG8gaW4g ZSl7aj1vLnNwbGl0KCIgIik7aWYoalswXT09PWx8fGpbMF09PT0iKiIpe3A9ZVtq WzFdKyIgIitrXTtpZihwKXtvPWVbb10sbz09PSEwP249cDpwPT09ITAmJihuPW8p O2JyZWFrfX19fSFuJiYhcCYmZi5lcnJvcigiTm8gY29udmVyc2lvbiBmcm9tICIr bS5yZXBsYWNlKCIgIiwiIHRvICIpKSxuIT09ITAmJihjPW4/bihjKTpwKG8oYykp KX19cmV0dXJuIGN9ZnVuY3Rpb24gY2EoYSxjLGQpe3ZhciBlPWEuY29udGVudHMs Zj1hLmRhdGFUeXBlcyxnPWEucmVzcG9uc2VGaWVsZHMsaCxpLGosaztmb3IoaSBp biBnKWkgaW4gZCYmKGNbZ1tpXV09ZFtpXSk7d2hpbGUoZlswXT09PSIqIilmLnNo aWZ0KCksaD09PWImJihoPWEubWltZVR5cGV8fGMuZ2V0UmVzcG9uc2VIZWFkZXIo ImNvbnRlbnQtdHlwZSIpKTtpZihoKWZvcihpIGluIGUpaWYoZVtpXSYmZVtpXS50 ZXN0KGgpKXtmLnVuc2hpZnQoaSk7YnJlYWt9aWYoZlswXWluIGQpaj1mWzBdO2Vs c2V7Zm9yKGkgaW4gZCl7aWYoIWZbMF18fGEuY29udmVydGVyc1tpKyIgIitmWzBd XSl7aj1pO2JyZWFrfWt8fChrPWkpfWo9anx8a31pZihqKXtqIT09ZlswXSYmZi51 bnNoaWZ0KGopO3JldHVybiBkW2pdfX1mdW5jdGlvbiBiXyhhLGIsYyxkKXtpZihm LmlzQXJyYXkoYikpZi5lYWNoKGIsZnVuY3Rpb24oYixlKXtjfHxiRi50ZXN0KGEp P2QoYSxlKTpiXyhhKyJbIisodHlwZW9mIGU9PSJvYmplY3QifHxmLmlzQXJyYXko ZSk/YjoiIikrIl0iLGUsYyxkKX0pO2Vsc2UgaWYoIWMmJmIhPW51bGwmJnR5cGVv ZiBiPT0ib2JqZWN0Iilmb3IodmFyIGUgaW4gYiliXyhhKyJbIitlKyJdIixiW2Vd LGMsZCk7ZWxzZSBkKGEsYil9ZnVuY3Rpb24gYiQoYSxjLGQsZSxmLGcpe2Y9Znx8 Yy5kYXRhVHlwZXNbMF0sZz1nfHx7fSxnW2ZdPSEwO3ZhciBoPWFbZl0saT0wLGo9 aD9oLmxlbmd0aDowLGs9YT09PWJVLGw7Zm9yKDtpPGomJihrfHwhbCk7aSsrKWw9 aFtpXShjLGQsZSksdHlwZW9mIGw9PSJzdHJpbmciJiYoIWt8fGdbbF0/bD1iOihj LmRhdGFUeXBlcy51bnNoaWZ0KGwpLGw9YiQoYSxjLGQsZSxsLGcpKSk7KGt8fCFs KSYmIWdbIioiXSYmKGw9YiQoYSxjLGQsZSwiKiIsZykpO3JldHVybiBsfWZ1bmN0 aW9uIGJaKGEpe3JldHVybiBmdW5jdGlvbihiLGMpe3R5cGVvZiBiIT0ic3RyaW5n IiYmKGM9YixiPSIqIik7aWYoZi5pc0Z1bmN0aW9uKGMpKXt2YXIgZD1iLnRvTG93 ZXJDYXNlKCkuc3BsaXQoYlEpLGU9MCxnPWQubGVuZ3RoLGgsaSxqO2Zvcig7ZTxn O2UrKyloPWRbZV0saj0vXlwrLy50ZXN0KGgpLGomJihoPWguc3Vic3RyKDEpfHwi KiIpLGk9YVtoXT1hW2hdfHxbXSxpW2o/InVuc2hpZnQiOiJwdXNoIl0oYyl9fX1m dW5jdGlvbiBiRChhLGIsYyl7dmFyIGQ9Yj09PSJ3aWR0aCI/Yng6YnksZT1iPT09 IndpZHRoIj9hLm9mZnNldFdpZHRoOmEub2Zmc2V0SGVpZ2h0O2lmKGM9PT0iYm9y ZGVyIilyZXR1cm4gZTtmLmVhY2goZCxmdW5jdGlvbigpe2N8fChlLT1wYXJzZUZs b2F0KGYuY3NzKGEsInBhZGRpbmciK3RoaXMpKXx8MCksYz09PSJtYXJnaW4iP2Ur PXBhcnNlRmxvYXQoZi5jc3MoYSwibWFyZ2luIit0aGlzKSl8fDA6ZS09cGFyc2VG bG9hdChmLmNzcyhhLCJib3JkZXIiK3RoaXMrIldpZHRoIikpfHwwfSk7cmV0dXJu IGV9ZnVuY3Rpb24gYm4oYSxiKXtiLnNyYz9mLmFqYXgoe3VybDpiLnNyYyxhc3lu YzohMSxkYXRhVHlwZToic2NyaXB0In0pOmYuZ2xvYmFsRXZhbCgoYi50ZXh0fHxi LnRleHRDb250ZW50fHxiLmlubmVySFRNTHx8IiIpLnJlcGxhY2UoYmYsIi8qJDAq LyIpKSxiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiKX1m dW5jdGlvbiBibShhKXtmLm5vZGVOYW1lKGEsImlucHV0Iik/YmwoYSk6YS5nZXRF bGVtZW50c0J5VGFnTmFtZSYmZi5ncmVwKGEuZ2V0RWxlbWVudHNCeVRhZ05hbWUo ImlucHV0IiksYmwpfWZ1bmN0aW9uIGJsKGEpe2lmKGEudHlwZT09PSJjaGVja2Jv eCJ8fGEudHlwZT09PSJyYWRpbyIpYS5kZWZhdWx0Q2hlY2tlZD1hLmNoZWNrZWR9 ZnVuY3Rpb24gYmsoYSl7cmV0dXJuImdldEVsZW1lbnRzQnlUYWdOYW1lImluIGE/ YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpOiJxdWVyeVNlbGVjdG9yQWxsImlu IGE/YS5xdWVyeVNlbGVjdG9yQWxsKCIqIik6W119ZnVuY3Rpb24gYmooYSxiKXt2 YXIgYztpZihiLm5vZGVUeXBlPT09MSl7Yi5jbGVhckF0dHJpYnV0ZXMmJmIuY2xl YXJBdHRyaWJ1dGVzKCksYi5tZXJnZUF0dHJpYnV0ZXMmJmIubWVyZ2VBdHRyaWJ1 dGVzKGEpLGM9Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO2lmKGM9PT0ib2JqZWN0 IiliLm91dGVySFRNTD1hLm91dGVySFRNTDtlbHNlIGlmKGMhPT0iaW5wdXQifHxh LnR5cGUhPT0iY2hlY2tib3giJiZhLnR5cGUhPT0icmFkaW8iKXtpZihjPT09Im9w dGlvbiIpYi5zZWxlY3RlZD1hLmRlZmF1bHRTZWxlY3RlZDtlbHNlIGlmKGM9PT0i aW5wdXQifHxjPT09InRleHRhcmVhIiliLmRlZmF1bHRWYWx1ZT1hLmRlZmF1bHRW YWx1ZX1lbHNlIGEuY2hlY2tlZCYmKGIuZGVmYXVsdENoZWNrZWQ9Yi5jaGVja2Vk PWEuY2hlY2tlZCksYi52YWx1ZSE9PWEudmFsdWUmJihiLnZhbHVlPWEudmFsdWUp O2IucmVtb3ZlQXR0cmlidXRlKGYuZXhwYW5kbyl9fWZ1bmN0aW9uIGJpKGEsYil7 aWYoYi5ub2RlVHlwZT09PTEmJiEhZi5oYXNEYXRhKGEpKXt2YXIgYz1mLmV4cGFu ZG8sZD1mLmRhdGEoYSksZT1mLmRhdGEoYixkKTtpZihkPWRbY10pe3ZhciBnPWQu ZXZlbnRzO2U9ZVtjXT1mLmV4dGVuZCh7fSxkKTtpZihnKXtkZWxldGUgZS5oYW5k bGUsZS5ldmVudHM9e307Zm9yKHZhciBoIGluIGcpZm9yKHZhciBpPTAsaj1nW2hd Lmxlbmd0aDtpPGo7aSsrKWYuZXZlbnQuYWRkKGIsaCsoZ1toXVtpXS5uYW1lc3Bh Y2U/Ii4iOiIiKStnW2hdW2ldLm5hbWVzcGFjZSxnW2hdW2ldLGdbaF1baV0uZGF0 YSl9fX19ZnVuY3Rpb24gYmgoYSxiKXtyZXR1cm4gZi5ub2RlTmFtZShhLCJ0YWJs ZSIpP2EuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRib2R5IilbMF18fGEuYXBwZW5k Q2hpbGQoYS5vd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRib2R5IikpOmF9 ZnVuY3Rpb24gWChhLGIsYyl7Yj1ifHwwO2lmKGYuaXNGdW5jdGlvbihiKSlyZXR1 cm4gZi5ncmVwKGEsZnVuY3Rpb24oYSxkKXt2YXIgZT0hIWIuY2FsbChhLGQsYSk7 cmV0dXJuIGU9PT1jfSk7aWYoYi5ub2RlVHlwZSlyZXR1cm4gZi5ncmVwKGEsZnVu Y3Rpb24oYSxkKXtyZXR1cm4gYT09PWI9PT1jfSk7aWYodHlwZW9mIGI9PSJzdHJp bmciKXt2YXIgZD1mLmdyZXAoYSxmdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlw ZT09PTF9KTtpZihTLnRlc3QoYikpcmV0dXJuIGYuZmlsdGVyKGIsZCwhYyk7Yj1m LmZpbHRlcihiLGQpfXJldHVybiBmLmdyZXAoYSxmdW5jdGlvbihhLGQpe3JldHVy biBmLmluQXJyYXkoYSxiKT49MD09PWN9KX1mdW5jdGlvbiBXKGEpe3JldHVybiFh fHwhYS5wYXJlbnROb2RlfHxhLnBhcmVudE5vZGUubm9kZVR5cGU9PT0xMX1mdW5j dGlvbiBPKGEsYil7cmV0dXJuKGEmJmEhPT0iKiI/YSsiLiI6IiIpK2IucmVwbGFj ZShBLCJgIikucmVwbGFjZShCLCImIil9ZnVuY3Rpb24gTihhKXt2YXIgYixjLGQs ZSxnLGgsaSxqLGssbCxtLG4sbyxwPVtdLHE9W10scj1mLl9kYXRhKHRoaXMsImV2 ZW50cyIpO2lmKCEoYS5saXZlRmlyZWQ9PT10aGlzfHwhcnx8IXIubGl2ZXx8YS50 YXJnZXQuZGlzYWJsZWR8fGEuYnV0dG9uJiZhLnR5cGU9PT0iY2xpY2siKSl7YS5u YW1lc3BhY2UmJihuPW5ldyBSZWdFeHAoIihefFxcLikiK2EubmFtZXNwYWNlLnNw bGl0KCIuIikuam9pbigiXFwuKD86LipcXC4pPyIpKyIoXFwufCQpIikpLGEubGl2 ZUZpcmVkPXRoaXM7dmFyIHM9ci5saXZlLnNsaWNlKDApO2ZvcihpPTA7aTxzLmxl bmd0aDtpKyspZz1zW2ldLGcub3JpZ1R5cGUucmVwbGFjZSh5LCIiKT09PWEudHlw ZT9xLnB1c2goZy5zZWxlY3Rvcik6cy5zcGxpY2UoaS0tLDEpO2U9ZihhLnRhcmdl dCkuY2xvc2VzdChxLGEuY3VycmVudFRhcmdldCk7Zm9yKGo9MCxrPWUubGVuZ3Ro O2o8aztqKyspe209ZVtqXTtmb3IoaT0wO2k8cy5sZW5ndGg7aSsrKXtnPXNbaV07 aWYobS5zZWxlY3Rvcj09PWcuc2VsZWN0b3ImJighbnx8bi50ZXN0KGcubmFtZXNw YWNlKSkmJiFtLmVsZW0uZGlzYWJsZWQpe2g9bS5lbGVtLGQ9bnVsbDtpZihnLnBy ZVR5cGU9PT0ibW91c2VlbnRlciJ8fGcucHJlVHlwZT09PSJtb3VzZWxlYXZlIilh LnR5cGU9Zy5wcmVUeXBlLGQ9ZihhLnJlbGF0ZWRUYXJnZXQpLmNsb3Nlc3QoZy5z ZWxlY3RvcilbMF0sZCYmZi5jb250YWlucyhoLGQpJiYoZD1oKTsoIWR8fGQhPT1o KSYmcC5wdXNoKHtlbGVtOmgsaGFuZGxlT2JqOmcsbGV2ZWw6bS5sZXZlbH0pfX19 Zm9yKGo9MCxrPXAubGVuZ3RoO2o8aztqKyspe2U9cFtqXTtpZihjJiZlLmxldmVs PmMpYnJlYWs7YS5jdXJyZW50VGFyZ2V0PWUuZWxlbSxhLmRhdGE9ZS5oYW5kbGVP YmouZGF0YSxhLmhhbmRsZU9iaj1lLmhhbmRsZU9iaixvPWUuaGFuZGxlT2JqLm9y aWdIYW5kbGVyLmFwcGx5KGUuZWxlbSxhcmd1bWVudHMpO2lmKG89PT0hMXx8YS5p c1Byb3BhZ2F0aW9uU3RvcHBlZCgpKXtjPWUubGV2ZWwsbz09PSExJiYoYj0hMSk7 aWYoYS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrfX1yZXR1 cm4gYn19ZnVuY3Rpb24gTChhLGMsZCl7dmFyIGU9Zi5leHRlbmQoe30sZFswXSk7 ZS50eXBlPWEsZS5vcmlnaW5hbEV2ZW50PXt9LGUubGl2ZUZpcmVkPWIsZi5ldmVu dC5oYW5kbGUuY2FsbChjLGUpLGUuaXNEZWZhdWx0UHJldmVudGVkKCkmJmRbMF0u cHJldmVudERlZmF1bHQoKX1mdW5jdGlvbiBGKCl7cmV0dXJuITB9ZnVuY3Rpb24g RSgpe3JldHVybiExfWZ1bmN0aW9uIG0oYSxjLGQpe3ZhciBlPWMrImRlZmVyIixn PWMrInF1ZXVlIixoPWMrIm1hcmsiLGk9Zi5kYXRhKGEsZSxiLCEwKTtpJiYoZD09 PSJxdWV1ZSJ8fCFmLmRhdGEoYSxnLGIsITApKSYmKGQ9PT0ibWFyayJ8fCFmLmRh dGEoYSxoLGIsITApKSYmc2V0VGltZW91dChmdW5jdGlvbigpeyFmLmRhdGEoYSxn LGIsITApJiYhZi5kYXRhKGEsaCxiLCEwKSYmKGYucmVtb3ZlRGF0YShhLGUsITAp LGkucmVzb2x2ZSgpKX0sMCl9ZnVuY3Rpb24gbChhKXtmb3IodmFyIGIgaW4gYSlp ZihiIT09InRvSlNPTiIpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gayhhLGMs ZCl7aWYoZD09PWImJmEubm9kZVR5cGU9PT0xKXt2YXIgZT0iZGF0YS0iK2MucmVw bGFjZShqLCIkMS0kMiIpLnRvTG93ZXJDYXNlKCk7ZD1hLmdldEF0dHJpYnV0ZShl KTtpZih0eXBlb2YgZD09InN0cmluZyIpe3RyeXtkPWQ9PT0idHJ1ZSI/ITA6ZD09 PSJmYWxzZSI/ITE6ZD09PSJudWxsIj9udWxsOmYuaXNOYU4oZCk/aS50ZXN0KGQp P2YucGFyc2VKU09OKGQpOmQ6cGFyc2VGbG9hdChkKX1jYXRjaChnKXt9Zi5kYXRh KGEsYyxkKX1lbHNlIGQ9Yn1yZXR1cm4gZH12YXIgYz1hLmRvY3VtZW50LGQ9YS5u YXZpZ2F0b3IsZT1hLmxvY2F0aW9uLGY9ZnVuY3Rpb24oKXtmdW5jdGlvbiBIKCl7 aWYoIWUuaXNSZWFkeSl7dHJ5e2MuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKCJs ZWZ0Iil9Y2F0Y2goYSl7c2V0VGltZW91dChILDEpO3JldHVybn1lLnJlYWR5KCl9 fXZhciBlPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBlLmZuLmluaXQoYSxiLGgp fSxmPWEualF1ZXJ5LGc9YS4kLGgsaT0vXig/OltePF0qKDxbXHdcV10rPilbXj5d KiR8IyhbXHdcLV0qKSQpLyxqPS9cUy8saz0vXlxzKy8sbD0vXHMrJC8sbT0vXGQv LG49L148KFx3KylccypcLz8+KD86PFwvXDE+KT8kLyxvPS9eW1xdLDp7fVxzXSok LyxwPS9cXCg/OlsiXFxcL2JmbnJ0XXx1WzAtOWEtZkEtRl17NH0pL2cscT0vIlte IlxcXG5ccl0qInx0cnVlfGZhbHNlfG51bGx8LT9cZCsoPzpcLlxkKik/KD86W2VF XVsrXC1dP1xkKyk/L2cscj0vKD86Xnw6fCwpKD86XHMqXFspKy9nLHM9Lyh3ZWJr aXQpWyBcL10oW1x3Ll0rKS8sdD0vKG9wZXJhKSg/Oi4qdmVyc2lvbik/WyBcL10o W1x3Ll0rKS8sdT0vKG1zaWUpIChbXHcuXSspLyx2PS8obW96aWxsYSkoPzouKj8g cnY6KFtcdy5dKykpPy8sdz1kLnVzZXJBZ2VudCx4LHkseixBPU9iamVjdC5wcm90 b3R5cGUudG9TdHJpbmcsQj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5 LEM9QXJyYXkucHJvdG90eXBlLnB1c2gsRD1BcnJheS5wcm90b3R5cGUuc2xpY2Us RT1TdHJpbmcucHJvdG90eXBlLnRyaW0sRj1BcnJheS5wcm90b3R5cGUuaW5kZXhP ZixHPXt9O2UuZm49ZS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmUsaW5pdDpmdW5j dGlvbihhLGQsZil7dmFyIGcsaCxqLGs7aWYoIWEpcmV0dXJuIHRoaXM7aWYoYS5u b2RlVHlwZSl7dGhpcy5jb250ZXh0PXRoaXNbMF09YSx0aGlzLmxlbmd0aD0xO3Jl dHVybiB0aGlzfWlmKGE9PT0iYm9keSImJiFkJiZjLmJvZHkpe3RoaXMuY29udGV4 dD1jLHRoaXNbMF09Yy5ib2R5LHRoaXMuc2VsZWN0b3I9YSx0aGlzLmxlbmd0aD0x O3JldHVybiB0aGlzfWlmKHR5cGVvZiBhPT0ic3RyaW5nIil7YS5jaGFyQXQoMCkh PT0iPCJ8fGEuY2hhckF0KGEubGVuZ3RoLTEpIT09Ij4ifHxhLmxlbmd0aDwzP2c9 aS5leGVjKGEpOmc9W251bGwsYSxudWxsXTtpZihnJiYoZ1sxXXx8IWQpKXtpZihn WzFdKXtkPWQgaW5zdGFuY2VvZiBlP2RbMF06ZCxrPWQ/ZC5vd25lckRvY3VtZW50 fHxkOmMsaj1uLmV4ZWMoYSksaj9lLmlzUGxhaW5PYmplY3QoZCk/KGE9W2MuY3Jl YXRlRWxlbWVudChqWzFdKV0sZS5mbi5hdHRyLmNhbGwoYSxkLCEwKSk6YT1bay5j cmVhdGVFbGVtZW50KGpbMV0pXTooaj1lLmJ1aWxkRnJhZ21lbnQoW2dbMV1dLFtr XSksYT0oai5jYWNoZWFibGU/ZS5jbG9uZShqLmZyYWdtZW50KTpqLmZyYWdtZW50 KS5jaGlsZE5vZGVzKTtyZXR1cm4gZS5tZXJnZSh0aGlzLGEpfWg9Yy5nZXRFbGVt ZW50QnlJZChnWzJdKTtpZihoJiZoLnBhcmVudE5vZGUpe2lmKGguaWQhPT1nWzJd KXJldHVybiBmLmZpbmQoYSk7dGhpcy5sZW5ndGg9MSx0aGlzWzBdPWh9dGhpcy5j b250ZXh0PWMsdGhpcy5zZWxlY3Rvcj1hO3JldHVybiB0aGlzfXJldHVybiFkfHxk LmpxdWVyeT8oZHx8ZikuZmluZChhKTp0aGlzLmNvbnN0cnVjdG9yKGQpLmZpbmQo YSl9aWYoZS5pc0Z1bmN0aW9uKGEpKXJldHVybiBmLnJlYWR5KGEpO2Euc2VsZWN0 b3IhPT1iJiYodGhpcy5zZWxlY3Rvcj1hLnNlbGVjdG9yLHRoaXMuY29udGV4dD1h LmNvbnRleHQpO3JldHVybiBlLm1ha2VBcnJheShhLHRoaXMpfSxzZWxlY3Rvcjoi IixqcXVlcnk6IjEuNi4xIixsZW5ndGg6MCxzaXplOmZ1bmN0aW9uKCl7cmV0dXJu IHRoaXMubGVuZ3RofSx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIEQuY2FsbCh0 aGlzLDApfSxnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PW51bGw/dGhpcy50b0Fy cmF5KCk6YTwwP3RoaXNbdGhpcy5sZW5ndGgrYV06dGhpc1thXX0scHVzaFN0YWNr OmZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmNvbnN0cnVjdG9yKCk7ZS5pc0Fy cmF5KGEpP0MuYXBwbHkoZCxhKTplLm1lcmdlKGQsYSksZC5wcmV2T2JqZWN0PXRo aXMsZC5jb250ZXh0PXRoaXMuY29udGV4dCxiPT09ImZpbmQiP2Quc2VsZWN0b3I9 dGhpcy5zZWxlY3RvcisodGhpcy5zZWxlY3Rvcj8iICI6IiIpK2M6YiYmKGQuc2Vs ZWN0b3I9dGhpcy5zZWxlY3RvcisiLiIrYisiKCIrYysiKSIpO3JldHVybiBkfSxl YWNoOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGUuZWFjaCh0aGlzLGEsYil9LHJlYWR5 OmZ1bmN0aW9uKGEpe2UuYmluZFJlYWR5KCkseS5kb25lKGEpO3JldHVybiB0aGlz fSxlcTpmdW5jdGlvbihhKXtyZXR1cm4gYT09PS0xP3RoaXMuc2xpY2UoYSk6dGhp cy5zbGljZShhLCthKzEpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVx KDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoLTEpfSxzbGljZTpm dW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhELmFwcGx5KHRoaXMsYXJn dW1lbnRzKSwic2xpY2UiLEQuY2FsbChhcmd1bWVudHMpLmpvaW4oIiwiKSl9LG1h cDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZS5tYXAodGhpcyxm dW5jdGlvbihiLGMpe3JldHVybiBhLmNhbGwoYixjLGIpfSkpfSxlbmQ6ZnVuY3Rp b24oKXtyZXR1cm4gdGhpcy5wcmV2T2JqZWN0fHx0aGlzLmNvbnN0cnVjdG9yKG51 bGwpfSxwdXNoOkMsc29ydDpbXS5zb3J0LHNwbGljZTpbXS5zcGxpY2V9LGUuZm4u aW5pdC5wcm90b3R5cGU9ZS5mbixlLmV4dGVuZD1lLmZuLmV4dGVuZD1mdW5jdGlv bigpe3ZhciBhLGMsZCxmLGcsaCxpPWFyZ3VtZW50c1swXXx8e30saj0xLGs9YXJn dW1lbnRzLmxlbmd0aCxsPSExO3R5cGVvZiBpPT0iYm9vbGVhbiImJihsPWksaT1h cmd1bWVudHNbMV18fHt9LGo9MiksdHlwZW9mIGkhPSJvYmplY3QiJiYhZS5pc0Z1 bmN0aW9uKGkpJiYoaT17fSksaz09PWomJihpPXRoaXMsLS1qKTtmb3IoO2o8aztq KyspaWYoKGE9YXJndW1lbnRzW2pdKSE9bnVsbClmb3IoYyBpbiBhKXtkPWlbY10s Zj1hW2NdO2lmKGk9PT1mKWNvbnRpbnVlO2wmJmYmJihlLmlzUGxhaW5PYmplY3Qo Zil8fChnPWUuaXNBcnJheShmKSkpPyhnPyhnPSExLGg9ZCYmZS5pc0FycmF5KGQp P2Q6W10pOmg9ZCYmZS5pc1BsYWluT2JqZWN0KGQpP2Q6e30saVtjXT1lLmV4dGVu ZChsLGgsZikpOmYhPT1iJiYoaVtjXT1mKX1yZXR1cm4gaX0sZS5leHRlbmQoe25v Q29uZmxpY3Q6ZnVuY3Rpb24oYil7YS4kPT09ZSYmKGEuJD1nKSxiJiZhLmpRdWVy eT09PWUmJihhLmpRdWVyeT1mKTtyZXR1cm4gZX0saXNSZWFkeTohMSxyZWFkeVdh aXQ6MSxob2xkUmVhZHk6ZnVuY3Rpb24oYSl7YT9lLnJlYWR5V2FpdCsrOmUucmVh ZHkoITApfSxyZWFkeTpmdW5jdGlvbihhKXtpZihhPT09ITAmJiEtLWUucmVhZHlX YWl0fHxhIT09ITAmJiFlLmlzUmVhZHkpe2lmKCFjLmJvZHkpcmV0dXJuIHNldFRp bWVvdXQoZS5yZWFkeSwxKTtlLmlzUmVhZHk9ITA7aWYoYSE9PSEwJiYtLWUucmVh ZHlXYWl0PjApcmV0dXJuO3kucmVzb2x2ZVdpdGgoYyxbZV0pLGUuZm4udHJpZ2dl ciYmZShjKS50cmlnZ2VyKCJyZWFkeSIpLnVuYmluZCgicmVhZHkiKX19LGJpbmRS ZWFkeTpmdW5jdGlvbigpe2lmKCF5KXt5PWUuX0RlZmVycmVkKCk7aWYoYy5yZWFk eVN0YXRlPT09ImNvbXBsZXRlIilyZXR1cm4gc2V0VGltZW91dChlLnJlYWR5LDEp O2lmKGMuYWRkRXZlbnRMaXN0ZW5lciljLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNv bnRlbnRMb2FkZWQiLHosITEpLGEuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZS5y ZWFkeSwhMSk7ZWxzZSBpZihjLmF0dGFjaEV2ZW50KXtjLmF0dGFjaEV2ZW50KCJv bnJlYWR5c3RhdGVjaGFuZ2UiLHopLGEuYXR0YWNoRXZlbnQoIm9ubG9hZCIsZS5y ZWFkeSk7dmFyIGI9ITE7dHJ5e2I9YS5mcmFtZUVsZW1lbnQ9PW51bGx9Y2F0Y2go ZCl7fWMuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsJiZiJiZIKCl9fX0saXNGdW5j dGlvbjpmdW5jdGlvbihhKXtyZXR1cm4gZS50eXBlKGEpPT09ImZ1bmN0aW9uIn0s aXNBcnJheTpBcnJheS5pc0FycmF5fHxmdW5jdGlvbihhKXtyZXR1cm4gZS50eXBl KGEpPT09ImFycmF5In0saXNXaW5kb3c6ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJnR5 cGVvZiBhPT0ib2JqZWN0IiYmInNldEludGVydmFsImluIGF9LGlzTmFOOmZ1bmN0 aW9uKGEpe3JldHVybiBhPT1udWxsfHwhbS50ZXN0KGEpfHxpc05hTihhKX0sdHlw ZTpmdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD9TdHJpbmcoYSk6R1tBLmNhbGwo YSldfHwib2JqZWN0In0saXNQbGFpbk9iamVjdDpmdW5jdGlvbihhKXtpZighYXx8 ZS50eXBlKGEpIT09Im9iamVjdCJ8fGEubm9kZVR5cGV8fGUuaXNXaW5kb3coYSkp cmV0dXJuITE7aWYoYS5jb25zdHJ1Y3RvciYmIUIuY2FsbChhLCJjb25zdHJ1Y3Rv ciIpJiYhQi5jYWxsKGEuY29uc3RydWN0b3IucHJvdG90eXBlLCJpc1Byb3RvdHlw ZU9mIikpcmV0dXJuITE7dmFyIGM7Zm9yKGMgaW4gYSk7cmV0dXJuIGM9PT1ifHxC LmNhbGwoYSxjKX0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihhKXtmb3IodmFyIGIg aW4gYSlyZXR1cm4hMTtyZXR1cm4hMH0sZXJyb3I6ZnVuY3Rpb24oYSl7dGhyb3cg YX0scGFyc2VKU09OOmZ1bmN0aW9uKGIpe2lmKHR5cGVvZiBiIT0ic3RyaW5nInx8 IWIpcmV0dXJuIG51bGw7Yj1lLnRyaW0oYik7aWYoYS5KU09OJiZhLkpTT04ucGFy c2UpcmV0dXJuIGEuSlNPTi5wYXJzZShiKTtpZihvLnRlc3QoYi5yZXBsYWNlKHAs IkAiKS5yZXBsYWNlKHEsIl0iKS5yZXBsYWNlKHIsIiIpKSlyZXR1cm4obmV3IEZ1 bmN0aW9uKCJyZXR1cm4gIitiKSkoKTtlLmVycm9yKCJJbnZhbGlkIEpTT046ICIr Yil9LHBhcnNlWE1MOmZ1bmN0aW9uKGIsYyxkKXthLkRPTVBhcnNlcj8oZD1uZXcg RE9NUGFyc2VyLGM9ZC5wYXJzZUZyb21TdHJpbmcoYiwidGV4dC94bWwiKSk6KGM9 bmV3IEFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSxjLmFzeW5jPSJm YWxzZSIsYy5sb2FkWE1MKGIpKSxkPWMuZG9jdW1lbnRFbGVtZW50LCghZHx8IWQu bm9kZU5hbWV8fGQubm9kZU5hbWU9PT0icGFyc2VyZXJyb3IiKSYmZS5lcnJvcigi SW52YWxpZCBYTUw6ICIrYik7cmV0dXJuIGN9LG5vb3A6ZnVuY3Rpb24oKXt9LGds b2JhbEV2YWw6ZnVuY3Rpb24oYil7YiYmai50ZXN0KGIpJiYoYS5leGVjU2NyaXB0 fHxmdW5jdGlvbihiKXthLmV2YWwuY2FsbChhLGIpfSkoYil9LG5vZGVOYW1lOmZ1 bmN0aW9uKGEsYil7cmV0dXJuIGEubm9kZU5hbWUmJmEubm9kZU5hbWUudG9VcHBl ckNhc2UoKT09PWIudG9VcHBlckNhc2UoKX0sZWFjaDpmdW5jdGlvbihhLGMsZCl7 dmFyIGYsZz0wLGg9YS5sZW5ndGgsaT1oPT09Ynx8ZS5pc0Z1bmN0aW9uKGEpO2lm KGQpe2lmKGkpe2ZvcihmIGluIGEpaWYoYy5hcHBseShhW2ZdLGQpPT09ITEpYnJl YWt9ZWxzZSBmb3IoO2c8aDspaWYoYy5hcHBseShhW2crK10sZCk9PT0hMSlicmVh a31lbHNlIGlmKGkpe2ZvcihmIGluIGEpaWYoYy5jYWxsKGFbZl0sZixhW2ZdKT09 PSExKWJyZWFrfWVsc2UgZm9yKDtnPGg7KWlmKGMuY2FsbChhW2ddLGcsYVtnKytd KT09PSExKWJyZWFrO3JldHVybiBhfSx0cmltOkU/ZnVuY3Rpb24oYSl7cmV0dXJu IGE9PW51bGw/IiI6RS5jYWxsKGEpfTpmdW5jdGlvbihhKXtyZXR1cm4gYT09bnVs bD8iIjooYSsiIikucmVwbGFjZShrLCIiKS5yZXBsYWNlKGwsIiIpfSxtYWtlQXJy YXk6ZnVuY3Rpb24oYSxiKXt2YXIgYz1ifHxbXTtpZihhIT1udWxsKXt2YXIgZD1l LnR5cGUoYSk7YS5sZW5ndGg9PW51bGx8fGQ9PT0ic3RyaW5nInx8ZD09PSJmdW5j dGlvbiJ8fGQ9PT0icmVnZXhwInx8ZS5pc1dpbmRvdyhhKT9DLmNhbGwoYyxhKTpl Lm1lcmdlKGMsYSl9cmV0dXJuIGN9LGluQXJyYXk6ZnVuY3Rpb24oYSxiKXtpZihG KXJldHVybiBGLmNhbGwoYixhKTtmb3IodmFyIGM9MCxkPWIubGVuZ3RoO2M8ZDtj KyspaWYoYltjXT09PWEpcmV0dXJuIGM7cmV0dXJuLTF9LG1lcmdlOmZ1bmN0aW9u KGEsYyl7dmFyIGQ9YS5sZW5ndGgsZT0wO2lmKHR5cGVvZiBjLmxlbmd0aD09Im51 bWJlciIpZm9yKHZhciBmPWMubGVuZ3RoO2U8ZjtlKyspYVtkKytdPWNbZV07ZWxz ZSB3aGlsZShjW2VdIT09YilhW2QrK109Y1tlKytdO2EubGVuZ3RoPWQ7cmV0dXJu IGF9LGdyZXA6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU7Yz0hIWM7Zm9yKHZh ciBmPTAsZz1hLmxlbmd0aDtmPGc7ZisrKWU9ISFiKGFbZl0sZiksYyE9PWUmJmQu cHVzaChhW2ZdKTtyZXR1cm4gZH0sbWFwOmZ1bmN0aW9uKGEsYyxkKXt2YXIgZixn LGg9W10saT0wLGo9YS5sZW5ndGgsaz1hIGluc3RhbmNlb2YgZXx8aiE9PWImJnR5 cGVvZiBqPT0ibnVtYmVyIiYmKGo+MCYmYVswXSYmYVtqLTFdfHxqPT09MHx8ZS5p c0FycmF5KGEpKTtpZihrKWZvcig7aTxqO2krKylmPWMoYVtpXSxpLGQpLGYhPW51 bGwmJihoW2gubGVuZ3RoXT1mKTtlbHNlIGZvcihnIGluIGEpZj1jKGFbZ10sZyxk KSxmIT1udWxsJiYoaFtoLmxlbmd0aF09Zik7cmV0dXJuIGguY29uY2F0LmFwcGx5 KFtdLGgpfSxndWlkOjEscHJveHk6ZnVuY3Rpb24oYSxjKXtpZih0eXBlb2YgYz09 InN0cmluZyIpe3ZhciBkPWFbY107Yz1hLGE9ZH1pZighZS5pc0Z1bmN0aW9uKGEp KXJldHVybiBiO3ZhciBmPUQuY2FsbChhcmd1bWVudHMsMiksZz1mdW5jdGlvbigp e3JldHVybiBhLmFwcGx5KGMsZi5jb25jYXQoRC5jYWxsKGFyZ3VtZW50cykpKX07 Zy5ndWlkPWEuZ3VpZD1hLmd1aWR8fGcuZ3VpZHx8ZS5ndWlkKys7cmV0dXJuIGd9 LGFjY2VzczpmdW5jdGlvbihhLGMsZCxmLGcsaCl7dmFyIGk9YS5sZW5ndGg7aWYo dHlwZW9mIGM9PSJvYmplY3QiKXtmb3IodmFyIGogaW4gYyllLmFjY2VzcyhhLGos Y1tqXSxmLGcsZCk7cmV0dXJuIGF9aWYoZCE9PWIpe2Y9IWgmJmYmJmUuaXNGdW5j dGlvbihkKTtmb3IodmFyIGs9MDtrPGk7aysrKWcoYVtrXSxjLGY/ZC5jYWxsKGFb a10sayxnKGFba10sYykpOmQsaCk7cmV0dXJuIGF9cmV0dXJuIGk/ZyhhWzBdLGMp OmJ9LG5vdzpmdW5jdGlvbigpe3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpfSx1 YU1hdGNoOmZ1bmN0aW9uKGEpe2E9YS50b0xvd2VyQ2FzZSgpO3ZhciBiPXMuZXhl YyhhKXx8dC5leGVjKGEpfHx1LmV4ZWMoYSl8fGEuaW5kZXhPZigiY29tcGF0aWJs ZSIpPDAmJnYuZXhlYyhhKXx8W107cmV0dXJue2Jyb3dzZXI6YlsxXXx8IiIsdmVy c2lvbjpiWzJdfHwiMCJ9fSxzdWI6ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7 cmV0dXJuIG5ldyBhLmZuLmluaXQoYixjKX1lLmV4dGVuZCghMCxhLHRoaXMpLGEu c3VwZXJjbGFzcz10aGlzLGEuZm49YS5wcm90b3R5cGU9dGhpcygpLGEuZm4uY29u c3RydWN0b3I9YSxhLnN1Yj10aGlzLnN1YixhLmZuLmluaXQ9ZnVuY3Rpb24oZCxm KXtmJiZmIGluc3RhbmNlb2YgZSYmIShmIGluc3RhbmNlb2YgYSkmJihmPWEoZikp O3JldHVybiBlLmZuLmluaXQuY2FsbCh0aGlzLGQsZixiKX0sYS5mbi5pbml0LnBy b3RvdHlwZT1hLmZuO3ZhciBiPWEoYyk7cmV0dXJuIGF9LGJyb3dzZXI6e319KSxl LmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRl IFJlZ0V4cCBPYmplY3QiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtHWyJbb2Jq ZWN0ICIrYisiXSJdPWIudG9Mb3dlckNhc2UoKX0pLHg9ZS51YU1hdGNoKHcpLHgu YnJvd3NlciYmKGUuYnJvd3Nlclt4LmJyb3dzZXJdPSEwLGUuYnJvd3Nlci52ZXJz aW9uPXgudmVyc2lvbiksZS5icm93c2VyLndlYmtpdCYmKGUuYnJvd3Nlci5zYWZh cmk9ITApLGoudGVzdCgiwqAiKSYmKGs9L15bXHNceEEwXSsvLGw9L1tcc1x4QTBd KyQvKSxoPWUoYyksYy5hZGRFdmVudExpc3RlbmVyP3o9ZnVuY3Rpb24oKXtjLnJl bW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLHosITEpLGUucmVh ZHkoKX06Yy5hdHRhY2hFdmVudCYmKHo9ZnVuY3Rpb24oKXtjLnJlYWR5U3RhdGU9 PT0iY29tcGxldGUiJiYoYy5kZXRhY2hFdmVudCgib25yZWFkeXN0YXRlY2hhbmdl Iix6KSxlLnJlYWR5KCkpfSk7cmV0dXJuIGV9KCksZz0iZG9uZSBmYWlsIGlzUmVz b2x2ZWQgaXNSZWplY3RlZCBwcm9taXNlIHRoZW4gYWx3YXlzIHBpcGUiLnNwbGl0 KCIgIiksaD1bXS5zbGljZTtmLmV4dGVuZCh7X0RlZmVycmVkOmZ1bmN0aW9uKCl7 dmFyIGE9W10sYixjLGQsZT17ZG9uZTpmdW5jdGlvbigpe2lmKCFkKXt2YXIgYz1h cmd1bWVudHMsZyxoLGksaixrO2ImJihrPWIsYj0wKTtmb3IoZz0wLGg9Yy5sZW5n dGg7ZzxoO2crKylpPWNbZ10saj1mLnR5cGUoaSksaj09PSJhcnJheSI/ZS5kb25l LmFwcGx5KGUsaSk6aj09PSJmdW5jdGlvbiImJmEucHVzaChpKTtrJiZlLnJlc29s dmVXaXRoKGtbMF0sa1sxXSl9cmV0dXJuIHRoaXN9LHJlc29sdmVXaXRoOmZ1bmN0 aW9uKGUsZil7aWYoIWQmJiFiJiYhYyl7Zj1mfHxbXSxjPTE7dHJ5e3doaWxlKGFb MF0pYS5zaGlmdCgpLmFwcGx5KGUsZil9ZmluYWxseXtiPVtlLGZdLGM9MH19cmV0 dXJuIHRoaXN9LHJlc29sdmU6ZnVuY3Rpb24oKXtlLnJlc29sdmVXaXRoKHRoaXMs YXJndW1lbnRzKTtyZXR1cm4gdGhpc30saXNSZXNvbHZlZDpmdW5jdGlvbigpe3Jl dHVybiEhY3x8ISFifSxjYW5jZWw6ZnVuY3Rpb24oKXtkPTEsYT1bXTtyZXR1cm4g dGhpc319O3JldHVybiBlfSxEZWZlcnJlZDpmdW5jdGlvbihhKXt2YXIgYj1mLl9E ZWZlcnJlZCgpLGM9Zi5fRGVmZXJyZWQoKSxkO2YuZXh0ZW5kKGIse3RoZW46ZnVu Y3Rpb24oYSxjKXtiLmRvbmUoYSkuZmFpbChjKTtyZXR1cm4gdGhpc30sYWx3YXlz OmZ1bmN0aW9uKCl7cmV0dXJuIGIuZG9uZS5hcHBseShiLGFyZ3VtZW50cykuZmFp bC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGZhaWw6Yy5kb25lLHJlamVjdFdpdGg6 Yy5yZXNvbHZlV2l0aCxyZWplY3Q6Yy5yZXNvbHZlLGlzUmVqZWN0ZWQ6Yy5pc1Jl c29sdmVkLHBpcGU6ZnVuY3Rpb24oYSxjKXtyZXR1cm4gZi5EZWZlcnJlZChmdW5j dGlvbihkKXtmLmVhY2goe2RvbmU6W2EsInJlc29sdmUiXSxmYWlsOltjLCJyZWpl Y3QiXX0sZnVuY3Rpb24oYSxjKXt2YXIgZT1jWzBdLGc9Y1sxXSxoO2YuaXNGdW5j dGlvbihlKT9iW2FdKGZ1bmN0aW9uKCl7aD1lLmFwcGx5KHRoaXMsYXJndW1lbnRz KSxoJiZmLmlzRnVuY3Rpb24oaC5wcm9taXNlKT9oLnByb21pc2UoKS50aGVuKGQu cmVzb2x2ZSxkLnJlamVjdCk6ZFtnXShoKX0pOmJbYV0oZFtnXSl9KX0pLnByb21p c2UoKX0scHJvbWlzZTpmdW5jdGlvbihhKXtpZihhPT1udWxsKXtpZihkKXJldHVy biBkO2Q9YT17fX12YXIgYz1nLmxlbmd0aDt3aGlsZShjLS0pYVtnW2NdXT1iW2db Y11dO3JldHVybiBhfX0pLGIuZG9uZShjLmNhbmNlbCkuZmFpbChiLmNhbmNlbCks ZGVsZXRlIGIuY2FuY2VsLGEmJmEuY2FsbChiLGIpO3JldHVybiBifSx3aGVuOmZ1 bmN0aW9uKGEpe2Z1bmN0aW9uIGkoYSl7cmV0dXJuIGZ1bmN0aW9uKGMpe2JbYV09 YXJndW1lbnRzLmxlbmd0aD4xP2guY2FsbChhcmd1bWVudHMsMCk6YywtLWV8fGcu cmVzb2x2ZVdpdGgoZyxoLmNhbGwoYiwwKSl9fXZhciBiPWFyZ3VtZW50cyxjPTAs ZD1iLmxlbmd0aCxlPWQsZz1kPD0xJiZhJiZmLmlzRnVuY3Rpb24oYS5wcm9taXNl KT9hOmYuRGVmZXJyZWQoKTtpZihkPjEpe2Zvcig7YzxkO2MrKyliW2NdJiZmLmlz RnVuY3Rpb24oYltjXS5wcm9taXNlKT9iW2NdLnByb21pc2UoKS50aGVuKGkoYyks Zy5yZWplY3QpOi0tZTtlfHxnLnJlc29sdmVXaXRoKGcsYil9ZWxzZSBnIT09YSYm Zy5yZXNvbHZlV2l0aChnLGQ/W2FdOltdKTtyZXR1cm4gZy5wcm9taXNlKCl9fSks Zi5zdXBwb3J0PWZ1bmN0aW9uKCl7dmFyIGE9Yy5jcmVhdGVFbGVtZW50KCJkaXYi KSxiPWMuZG9jdW1lbnRFbGVtZW50LGQsZSxmLGcsaCxpLGosayxsLG0sbixvLHAs cSxyO2Euc2V0QXR0cmlidXRlKCJjbGFzc05hbWUiLCJ0IiksYS5pbm5lckhUTUw9 IiAgIDxsaW5rLz48dGFibGU+PC90YWJsZT48YSBocmVmPScvYScgc3R5bGU9J3Rv cDoxcHg7ZmxvYXQ6bGVmdDtvcGFjaXR5Oi41NTsnPmE8L2E+PGlucHV0IHR5cGU9 J2NoZWNrYm94Jy8+IixkPWEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxlPWEu Z2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXTtpZighZHx8IWQubGVuZ3RofHwh ZSlyZXR1cm57fTtmPWMuY3JlYXRlRWxlbWVudCgic2VsZWN0IiksZz1mLmFwcGVu ZENoaWxkKGMuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpLGg9YS5nZXRFbGVtZW50 c0J5VGFnTmFtZSgiaW5wdXQiKVswXSxqPXtsZWFkaW5nV2hpdGVzcGFjZTphLmZp cnN0Q2hpbGQubm9kZVR5cGU9PT0zLHRib2R5OiFhLmdldEVsZW1lbnRzQnlUYWdO YW1lKCJ0Ym9keSIpLmxlbmd0aCxodG1sU2VyaWFsaXplOiEhYS5nZXRFbGVtZW50 c0J5VGFnTmFtZSgibGluayIpLmxlbmd0aCxzdHlsZTovdG9wLy50ZXN0KGUuZ2V0 QXR0cmlidXRlKCJzdHlsZSIpKSxocmVmTm9ybWFsaXplZDplLmdldEF0dHJpYnV0 ZSgiaHJlZiIpPT09Ii9hIixvcGFjaXR5Oi9eMC41NSQvLnRlc3QoZS5zdHlsZS5v cGFjaXR5KSxjc3NGbG9hdDohIWUuc3R5bGUuY3NzRmxvYXQsY2hlY2tPbjpoLnZh bHVlPT09Im9uIixvcHRTZWxlY3RlZDpnLnNlbGVjdGVkLGdldFNldEF0dHJpYnV0 ZTphLmNsYXNzTmFtZSE9PSJ0IixzdWJtaXRCdWJibGVzOiEwLGNoYW5nZUJ1YmJs ZXM6ITAsZm9jdXNpbkJ1YmJsZXM6ITEsZGVsZXRlRXhwYW5kbzohMCxub0Nsb25l RXZlbnQ6ITAsaW5saW5lQmxvY2tOZWVkc0xheW91dDohMSxzaHJpbmtXcmFwQmxv Y2tzOiExLHJlbGlhYmxlTWFyZ2luUmlnaHQ6ITB9LGguY2hlY2tlZD0hMCxqLm5v Q2xvbmVDaGVja2VkPWguY2xvbmVOb2RlKCEwKS5jaGVja2VkLGYuZGlzYWJsZWQ9 ITAsai5vcHREaXNhYmxlZD0hZy5kaXNhYmxlZDt0cnl7ZGVsZXRlIGEudGVzdH1j YXRjaChzKXtqLmRlbGV0ZUV4cGFuZG89ITF9IWEuYWRkRXZlbnRMaXN0ZW5lciYm YS5hdHRhY2hFdmVudCYmYS5maXJlRXZlbnQmJihhLmF0dGFjaEV2ZW50KCJvbmNs aWNrIixmdW5jdGlvbiBiKCl7ai5ub0Nsb25lRXZlbnQ9ITEsYS5kZXRhY2hFdmVu dCgib25jbGljayIsYil9KSxhLmNsb25lTm9kZSghMCkuZmlyZUV2ZW50KCJvbmNs aWNrIikpLGg9Yy5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLGgudmFsdWU9InQiLGgu c2V0QXR0cmlidXRlKCJ0eXBlIiwicmFkaW8iKSxqLnJhZGlvVmFsdWU9aC52YWx1 ZT09PSJ0IixoLnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsImNoZWNrZWQiKSxhLmFw cGVuZENoaWxkKGgpLGs9Yy5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksay5hcHBl bmRDaGlsZChhLmZpcnN0Q2hpbGQpLGouY2hlY2tDbG9uZT1rLmNsb25lTm9kZSgh MCkuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuY2hlY2tlZCxhLmlubmVySFRNTD0i IixhLnN0eWxlLndpZHRoPWEuc3R5bGUucGFkZGluZ0xlZnQ9IjFweCIsbD1jLmNy ZWF0ZUVsZW1lbnQoImJvZHkiKSxtPXt2aXNpYmlsaXR5OiJoaWRkZW4iLHdpZHRo OjAsaGVpZ2h0OjAsYm9yZGVyOjAsbWFyZ2luOjAsYmFja2dyb3VuZDoibm9uZSJ9 O2ZvcihxIGluIG0pbC5zdHlsZVtxXT1tW3FdO2wuYXBwZW5kQ2hpbGQoYSksYi5p bnNlcnRCZWZvcmUobCxiLmZpcnN0Q2hpbGQpLGouYXBwZW5kQ2hlY2tlZD1oLmNo ZWNrZWQsai5ib3hNb2RlbD1hLm9mZnNldFdpZHRoPT09Miwiem9vbSJpbiBhLnN0 eWxlJiYoYS5zdHlsZS5kaXNwbGF5PSJpbmxpbmUiLGEuc3R5bGUuem9vbT0xLGou aW5saW5lQmxvY2tOZWVkc0xheW91dD1hLm9mZnNldFdpZHRoPT09MixhLnN0eWxl LmRpc3BsYXk9IiIsYS5pbm5lckhUTUw9IjxkaXYgc3R5bGU9J3dpZHRoOjRweDsn PjwvZGl2PiIsai5zaHJpbmtXcmFwQmxvY2tzPWEub2Zmc2V0V2lkdGghPT0yKSxh LmlubmVySFRNTD0iPHRhYmxlPjx0cj48dGQgc3R5bGU9J3BhZGRpbmc6MDtib3Jk ZXI6MDtkaXNwbGF5Om5vbmUnPjwvdGQ+PHRkPnQ8L3RkPjwvdHI+PC90YWJsZT4i LG49YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGQiKSxyPW5bMF0ub2Zmc2V0SGVp Z2h0PT09MCxuWzBdLnN0eWxlLmRpc3BsYXk9IiIsblsxXS5zdHlsZS5kaXNwbGF5 PSJub25lIixqLnJlbGlhYmxlSGlkZGVuT2Zmc2V0cz1yJiZuWzBdLm9mZnNldEhl aWdodD09PTAsYS5pbm5lckhUTUw9IiIsYy5kZWZhdWx0VmlldyYmYy5kZWZhdWx0 Vmlldy5nZXRDb21wdXRlZFN0eWxlJiYoaT1jLmNyZWF0ZUVsZW1lbnQoImRpdiIp LGkuc3R5bGUud2lkdGg9IjAiLGkuc3R5bGUubWFyZ2luUmlnaHQ9IjAiLGEuYXBw ZW5kQ2hpbGQoaSksai5yZWxpYWJsZU1hcmdpblJpZ2h0PShwYXJzZUludCgoYy5k ZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKGksbnVsbCl8fHttYXJnaW5SaWdo dDowfSkubWFyZ2luUmlnaHQsMTApfHwwKT09PTApLGwuaW5uZXJIVE1MPSIiLGIu cmVtb3ZlQ2hpbGQobCk7aWYoYS5hdHRhY2hFdmVudClmb3IocSBpbntzdWJtaXQ6 MSxjaGFuZ2U6MSxmb2N1c2luOjF9KXA9Im9uIitxLHI9cCBpbiBhLHJ8fChhLnNl dEF0dHJpYnV0ZShwLCJyZXR1cm47Iikscj10eXBlb2YgYVtwXT09ImZ1bmN0aW9u IiksaltxKyJCdWJibGVzIl09cjtyZXR1cm4gan0oKSxmLmJveE1vZGVsPWYuc3Vw cG9ydC5ib3hNb2RlbDt2YXIgaT0vXig/Olx7LipcfXxcWy4qXF0pJC8saj0vKFth LXpdKShbQS1aXSkvZztmLmV4dGVuZCh7Y2FjaGU6e30sdXVpZDowLGV4cGFuZG86 ImpRdWVyeSIrKGYuZm4uanF1ZXJ5K01hdGgucmFuZG9tKCkpLnJlcGxhY2UoL1xE L2csIiIpLG5vRGF0YTp7ZW1iZWQ6ITAsb2JqZWN0OiJjbHNpZDpEMjdDREI2RS1B RTZELTExY2YtOTZCOC00NDQ1NTM1NDAwMDAiLGFwcGxldDohMH0saGFzRGF0YTpm dW5jdGlvbihhKXthPWEubm9kZVR5cGU/Zi5jYWNoZVthW2YuZXhwYW5kb11dOmFb Zi5leHBhbmRvXTtyZXR1cm4hIWEmJiFsKGEpfSxkYXRhOmZ1bmN0aW9uKGEsYyxk LGUpe2lmKCEhZi5hY2NlcHREYXRhKGEpKXt2YXIgZz1mLmV4cGFuZG8saD10eXBl b2YgYz09InN0cmluZyIsaSxqPWEubm9kZVR5cGUsaz1qP2YuY2FjaGU6YSxsPWo/ YVtmLmV4cGFuZG9dOmFbZi5leHBhbmRvXSYmZi5leHBhbmRvO2lmKCghbHx8ZSYm bCYmIWtbbF1bZ10pJiZoJiZkPT09YilyZXR1cm47bHx8KGo/YVtmLmV4cGFuZG9d PWw9KytmLnV1aWQ6bD1mLmV4cGFuZG8pLGtbbF18fChrW2xdPXt9LGp8fChrW2xd LnRvSlNPTj1mLm5vb3ApKTtpZih0eXBlb2YgYz09Im9iamVjdCJ8fHR5cGVvZiBj PT0iZnVuY3Rpb24iKWU/a1tsXVtnXT1mLmV4dGVuZChrW2xdW2ddLGMpOmtbbF09 Zi5leHRlbmQoa1tsXSxjKTtpPWtbbF0sZSYmKGlbZ118fChpW2ddPXt9KSxpPWlb Z10pLGQhPT1iJiYoaVtmLmNhbWVsQ2FzZShjKV09ZCk7aWYoYz09PSJldmVudHMi JiYhaVtjXSlyZXR1cm4gaVtnXSYmaVtnXS5ldmVudHM7cmV0dXJuIGg/aVtmLmNh bWVsQ2FzZShjKV06aX19LHJlbW92ZURhdGE6ZnVuY3Rpb24oYixjLGQpe2lmKCEh Zi5hY2NlcHREYXRhKGIpKXt2YXIgZT1mLmV4cGFuZG8sZz1iLm5vZGVUeXBlLGg9 Zz9mLmNhY2hlOmIsaT1nP2JbZi5leHBhbmRvXTpmLmV4cGFuZG87aWYoIWhbaV0p cmV0dXJuO2lmKGMpe3ZhciBqPWQ/aFtpXVtlXTpoW2ldO2lmKGope2RlbGV0ZSBq W2NdO2lmKCFsKGopKXJldHVybn19aWYoZCl7ZGVsZXRlIGhbaV1bZV07aWYoIWwo aFtpXSkpcmV0dXJufXZhciBrPWhbaV1bZV07Zi5zdXBwb3J0LmRlbGV0ZUV4cGFu ZG98fGghPWE/ZGVsZXRlIGhbaV06aFtpXT1udWxsLGs/KGhbaV09e30sZ3x8KGhb aV0udG9KU09OPWYubm9vcCksaFtpXVtlXT1rKTpnJiYoZi5zdXBwb3J0LmRlbGV0 ZUV4cGFuZG8/ZGVsZXRlIGJbZi5leHBhbmRvXTpiLnJlbW92ZUF0dHJpYnV0ZT9i LnJlbW92ZUF0dHJpYnV0ZShmLmV4cGFuZG8pOmJbZi5leHBhbmRvXT1udWxsKX19 LF9kYXRhOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZi5kYXRhKGEsYixjLCEwKX0s YWNjZXB0RGF0YTpmdW5jdGlvbihhKXtpZihhLm5vZGVOYW1lKXt2YXIgYj1mLm5v RGF0YVthLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldO2lmKGIpcmV0dXJuIGIhPT0h MCYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzaWQiKT09PWJ9cmV0dXJuITB9fSksZi5m bi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24oYSxjKXt2YXIgZD1udWxsO2lmKHR5cGVv ZiBhPT0idW5kZWZpbmVkIil7aWYodGhpcy5sZW5ndGgpe2Q9Zi5kYXRhKHRoaXNb MF0pO2lmKHRoaXNbMF0ubm9kZVR5cGU9PT0xKXt2YXIgZT10aGlzWzBdLmF0dHJp YnV0ZXMsZztmb3IodmFyIGg9MCxpPWUubGVuZ3RoO2g8aTtoKyspZz1lW2hdLm5h bWUsZy5pbmRleE9mKCJkYXRhLSIpPT09MCYmKGc9Zi5jYW1lbENhc2UoZy5zdWJz dHJpbmcoNSkpLGsodGhpc1swXSxnLGRbZ10pKX19cmV0dXJuIGR9aWYodHlwZW9m IGE9PSJvYmplY3QiKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtmLmRhdGEo dGhpcyxhKX0pO3ZhciBqPWEuc3BsaXQoIi4iKTtqWzFdPWpbMV0/Ii4iK2pbMV06 IiI7aWYoYz09PWIpe2Q9dGhpcy50cmlnZ2VySGFuZGxlcigiZ2V0RGF0YSIralsx XSsiISIsW2pbMF1dKSxkPT09YiYmdGhpcy5sZW5ndGgmJihkPWYuZGF0YSh0aGlz WzBdLGEpLGQ9ayh0aGlzWzBdLGEsZCkpO3JldHVybiBkPT09YiYmalsxXT90aGlz LmRhdGEoalswXSk6ZH1yZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9 Zih0aGlzKSxkPVtqWzBdLGNdO2IudHJpZ2dlckhhbmRsZXIoInNldERhdGEiK2pb MV0rIiEiLGQpLGYuZGF0YSh0aGlzLGEsYyksYi50cmlnZ2VySGFuZGxlcigiY2hh bmdlRGF0YSIralsxXSsiISIsZCl9KX0scmVtb3ZlRGF0YTpmdW5jdGlvbihhKXty ZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Zi5yZW1vdmVEYXRhKHRoaXMsYSl9 KX19KSxmLmV4dGVuZCh7X21hcms6ZnVuY3Rpb24oYSxjKXthJiYoYz0oY3x8ImZ4 IikrIm1hcmsiLGYuZGF0YShhLGMsKGYuZGF0YShhLGMsYiwhMCl8fDApKzEsITAp KX0sX3VubWFyazpmdW5jdGlvbihhLGMsZCl7YSE9PSEwJiYoZD1jLGM9YSxhPSEx KTtpZihjKXtkPWR8fCJmeCI7dmFyIGU9ZCsibWFyayIsZz1hPzA6KGYuZGF0YShj LGUsYiwhMCl8fDEpLTE7Zz9mLmRhdGEoYyxlLGcsITApOihmLnJlbW92ZURhdGEo YyxlLCEwKSxtKGMsZCwibWFyayIpKX19LHF1ZXVlOmZ1bmN0aW9uKGEsYyxkKXtp ZihhKXtjPShjfHwiZngiKSsicXVldWUiO3ZhciBlPWYuZGF0YShhLGMsYiwhMCk7 ZCYmKCFlfHxmLmlzQXJyYXkoZCk/ZT1mLmRhdGEoYSxjLGYubWFrZUFycmF5KGQp LCEwKTplLnB1c2goZCkpO3JldHVybiBlfHxbXX19LGRlcXVldWU6ZnVuY3Rpb24o YSxiKXtiPWJ8fCJmeCI7dmFyIGM9Zi5xdWV1ZShhLGIpLGQ9Yy5zaGlmdCgpLGU7 ZD09PSJpbnByb2dyZXNzIiYmKGQ9Yy5zaGlmdCgpKSxkJiYoYj09PSJmeCImJmMu dW5zaGlmdCgiaW5wcm9ncmVzcyIpLGQuY2FsbChhLGZ1bmN0aW9uKCl7Zi5kZXF1 ZXVlKGEsYil9KSksYy5sZW5ndGh8fChmLnJlbW92ZURhdGEoYSxiKyJxdWV1ZSIs ITApLG0oYSxiLCJxdWV1ZSIpKX19KSxmLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rp b24oYSxjKXt0eXBlb2YgYSE9InN0cmluZyImJihjPWEsYT0iZngiKTtpZihjPT09 YilyZXR1cm4gZi5xdWV1ZSh0aGlzWzBdLGEpO3JldHVybiB0aGlzLmVhY2goZnVu Y3Rpb24oKXt2YXIgYj1mLnF1ZXVlKHRoaXMsYSxjKTthPT09ImZ4IiYmYlswXSE9 PSJpbnByb2dyZXNzIiYmZi5kZXF1ZXVlKHRoaXMsYSl9KX0sZGVxdWV1ZTpmdW5j dGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Zi5kZXF1ZXVlKHRo aXMsYSl9KX0sZGVsYXk6ZnVuY3Rpb24oYSxiKXthPWYuZng/Zi5meC5zcGVlZHNb YV18fGE6YSxiPWJ8fCJmeCI7cmV0dXJuIHRoaXMucXVldWUoYixmdW5jdGlvbigp e3ZhciBjPXRoaXM7c2V0VGltZW91dChmdW5jdGlvbigpe2YuZGVxdWV1ZShjLGIp fSxhKX0pfSxjbGVhclF1ZXVlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnF1ZXVl KGF8fCJmeCIsW10pfSxwcm9taXNlOmZ1bmN0aW9uKGEsYyl7ZnVuY3Rpb24gbSgp ey0taHx8ZC5yZXNvbHZlV2l0aChlLFtlXSl9dHlwZW9mIGEhPSJzdHJpbmciJiYo Yz1hLGE9YiksYT1hfHwiZngiO3ZhciBkPWYuRGVmZXJyZWQoKSxlPXRoaXMsZz1l Lmxlbmd0aCxoPTEsaT1hKyJkZWZlciIsaj1hKyJxdWV1ZSIsaz1hKyJtYXJrIixs O3doaWxlKGctLSlpZihsPWYuZGF0YShlW2ddLGksYiwhMCl8fChmLmRhdGEoZVtn XSxqLGIsITApfHxmLmRhdGEoZVtnXSxrLGIsITApKSYmZi5kYXRhKGVbZ10saSxm Ll9EZWZlcnJlZCgpLCEwKSloKyssbC5kb25lKG0pO20oKTtyZXR1cm4gZC5wcm9t aXNlKCl9fSk7dmFyIG49L1tcblx0XHJdL2csbz0vXHMrLyxwPS9cci9nLHE9L14o PzpidXR0b258aW5wdXQpJC9pLHI9L14oPzpidXR0b258aW5wdXR8b2JqZWN0fHNl bGVjdHx0ZXh0YXJlYSkkL2kscz0vXmEoPzpyZWEpPyQvaSx0PS9eKD86YXV0b2Zv Y3VzfGF1dG9wbGF5fGFzeW5jfGNoZWNrZWR8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJs ZWR8aGlkZGVufGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxz Y29wZWR8c2VsZWN0ZWQpJC9pLHU9L1w6Lyx2LHc7Zi5mbi5leHRlbmQoe2F0dHI6 ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZi5hY2Nlc3ModGhpcyxhLGIsITAsZi5hdHRy KX0scmVtb3ZlQXR0cjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0 aW9uKCl7Zi5yZW1vdmVBdHRyKHRoaXMsYSl9KX0scHJvcDpmdW5jdGlvbihhLGIp e3JldHVybiBmLmFjY2Vzcyh0aGlzLGEsYiwhMCxmLnByb3ApfSxyZW1vdmVQcm9w OmZ1bmN0aW9uKGEpe2E9Zi5wcm9wRml4W2FdfHxhO3JldHVybiB0aGlzLmVhY2go ZnVuY3Rpb24oKXt0cnl7dGhpc1thXT1iLGRlbGV0ZSB0aGlzW2FdfWNhdGNoKGMp e319KX0sYWRkQ2xhc3M6ZnVuY3Rpb24oYSl7aWYoZi5pc0Z1bmN0aW9uKGEpKXJl dHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7dmFyIGM9Zih0aGlzKTtjLmFkZENs YXNzKGEuY2FsbCh0aGlzLGIsYy5hdHRyKCJjbGFzcyIpfHwiIikpfSk7aWYoYSYm dHlwZW9mIGE9PSJzdHJpbmciKXt2YXIgYj0oYXx8IiIpLnNwbGl0KG8pO2Zvcih2 YXIgYz0wLGQ9dGhpcy5sZW5ndGg7YzxkO2MrKyl7dmFyIGU9dGhpc1tjXTtpZihl Lm5vZGVUeXBlPT09MSlpZighZS5jbGFzc05hbWUpZS5jbGFzc05hbWU9YTtlbHNl e3ZhciBnPSIgIitlLmNsYXNzTmFtZSsiICIsaD1lLmNsYXNzTmFtZTtmb3IodmFy IGk9MCxqPWIubGVuZ3RoO2k8ajtpKyspZy5pbmRleE9mKCIgIitiW2ldKyIgIik8 MCYmKGgrPSIgIitiW2ldKTtlLmNsYXNzTmFtZT1mLnRyaW0oaCl9fX1yZXR1cm4g dGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oYSl7aWYoZi5pc0Z1bmN0aW9uKGEp KXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7dmFyIGM9Zih0aGlzKTtjLnJl bW92ZUNsYXNzKGEuY2FsbCh0aGlzLGIsYy5hdHRyKCJjbGFzcyIpKSl9KTtpZihh JiZ0eXBlb2YgYT09InN0cmluZyJ8fGE9PT1iKXt2YXIgYz0oYXx8IiIpLnNwbGl0 KG8pO2Zvcih2YXIgZD0wLGU9dGhpcy5sZW5ndGg7ZDxlO2QrKyl7dmFyIGc9dGhp c1tkXTtpZihnLm5vZGVUeXBlPT09MSYmZy5jbGFzc05hbWUpaWYoYSl7dmFyIGg9 KCIgIitnLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UobiwiICIpO2Zvcih2YXIgaT0w LGo9Yy5sZW5ndGg7aTxqO2krKyloPWgucmVwbGFjZSgiICIrY1tpXSsiICIsIiAi KTtnLmNsYXNzTmFtZT1mLnRyaW0oaCl9ZWxzZSBnLmNsYXNzTmFtZT0iIn19cmV0 dXJuIHRoaXN9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGEsYil7dmFyIGM9dHlwZW9m IGEsZD10eXBlb2YgYj09ImJvb2xlYW4iO2lmKGYuaXNGdW5jdGlvbihhKSlyZXR1 cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGMpe3ZhciBkPWYodGhpcyk7ZC50b2dnbGVD bGFzcyhhLmNhbGwodGhpcyxjLGQuYXR0cigiY2xhc3MiKSxiKSxiKX0pO3JldHVy biB0aGlzLmVhY2goZnVuY3Rpb24oKXtpZihjPT09InN0cmluZyIpe3ZhciBlLGc9 MCxoPWYodGhpcyksaT1iLGo9YS5zcGxpdChvKTt3aGlsZShlPWpbZysrXSlpPWQ/ aTohaC5oYXNDbGFzcyhlKSxoW2k/ImFkZENsYXNzIjoicmVtb3ZlQ2xhc3MiXShl KX1lbHNlIGlmKGM9PT0idW5kZWZpbmVkInx8Yz09PSJib29sZWFuIil0aGlzLmNs YXNzTmFtZSYmZi5fZGF0YSh0aGlzLCJfX2NsYXNzTmFtZV9fIix0aGlzLmNsYXNz TmFtZSksdGhpcy5jbGFzc05hbWU9dGhpcy5jbGFzc05hbWV8fGE9PT0hMT8iIjpm Ll9kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iKXx8IiJ9KX0saGFzQ2xhc3M6ZnVu Y3Rpb24oYSl7dmFyIGI9IiAiK2ErIiAiO2Zvcih2YXIgYz0wLGQ9dGhpcy5sZW5n dGg7YzxkO2MrKylpZigoIiAiK3RoaXNbY10uY2xhc3NOYW1lKyIgIikucmVwbGFj ZShuLCIgIikuaW5kZXhPZihiKT4tMSlyZXR1cm4hMDtyZXR1cm4hMX0sdmFsOmZ1 bmN0aW9uKGEpe3ZhciBjLGQsZT10aGlzWzBdO2lmKCFhcmd1bWVudHMubGVuZ3Ro KXtpZihlKXtjPWYudmFsSG9va3NbZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXXx8 Zi52YWxIb29rc1tlLnR5cGVdO2lmKGMmJiJnZXQiaW4gYyYmKGQ9Yy5nZXQoZSwi dmFsdWUiKSkhPT1iKXJldHVybiBkO3JldHVybihlLnZhbHVlfHwiIikucmVwbGFj ZShwLCIiKX1yZXR1cm4gYn12YXIgZz1mLmlzRnVuY3Rpb24oYSk7cmV0dXJuIHRo aXMuZWFjaChmdW5jdGlvbihkKXt2YXIgZT1mKHRoaXMpLGg7aWYodGhpcy5ub2Rl VHlwZT09PTEpe2c/aD1hLmNhbGwodGhpcyxkLGUudmFsKCkpOmg9YSxoPT1udWxs P2g9IiI6dHlwZW9mIGg9PSJudW1iZXIiP2grPSIiOmYuaXNBcnJheShoKSYmKGg9 Zi5tYXAoaCxmdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD8iIjphKyIifSkpLGM9 Zi52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldfHxmLnZhbEhv b2tzW3RoaXMudHlwZV07aWYoIWN8fCEoInNldCJpbiBjKXx8Yy5zZXQodGhpcyxo LCJ2YWx1ZSIpPT09Yil0aGlzLnZhbHVlPWh9fSl9fSksZi5leHRlbmQoe3ZhbEhv b2tzOntvcHRpb246e2dldDpmdW5jdGlvbihhKXt2YXIgYj1hLmF0dHJpYnV0ZXMu dmFsdWU7cmV0dXJuIWJ8fGIuc3BlY2lmaWVkP2EudmFsdWU6YS50ZXh0fX0sc2Vs ZWN0OntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGIsYz1hLnNlbGVjdGVkSW5kZXgsZD1b XSxlPWEub3B0aW9ucyxnPWEudHlwZT09PSJzZWxlY3Qtb25lIjtpZihjPDApcmV0 dXJuIG51bGw7Zm9yKHZhciBoPWc/YzowLGk9Zz9jKzE6ZS5sZW5ndGg7aDxpO2gr Kyl7dmFyIGo9ZVtoXTtpZihqLnNlbGVjdGVkJiYoZi5zdXBwb3J0Lm9wdERpc2Fi bGVkPyFqLmRpc2FibGVkOmouZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpPT09bnVs bCkmJighai5wYXJlbnROb2RlLmRpc2FibGVkfHwhZi5ub2RlTmFtZShqLnBhcmVu dE5vZGUsIm9wdGdyb3VwIikpKXtiPWYoaikudmFsKCk7aWYoZylyZXR1cm4gYjtk LnB1c2goYil9fWlmKGcmJiFkLmxlbmd0aCYmZS5sZW5ndGgpcmV0dXJuIGYoZVtj XSkudmFsKCk7cmV0dXJuIGR9LHNldDpmdW5jdGlvbihhLGIpe3ZhciBjPWYubWFr ZUFycmF5KGIpO2YoYSkuZmluZCgib3B0aW9uIikuZWFjaChmdW5jdGlvbigpe3Ro aXMuc2VsZWN0ZWQ9Zi5pbkFycmF5KGYodGhpcykudmFsKCksYyk+PTB9KSxjLmxl bmd0aHx8KGEuc2VsZWN0ZWRJbmRleD0tMSk7cmV0dXJuIGN9fX0sYXR0ckZuOnt2 YWw6ITAsY3NzOiEwLGh0bWw6ITAsdGV4dDohMCxkYXRhOiEwLHdpZHRoOiEwLGhl aWdodDohMCxvZmZzZXQ6ITB9LGF0dHJGaXg6e3RhYmluZGV4OiJ0YWJJbmRleCJ9 LGF0dHI6ZnVuY3Rpb24oYSxjLGQsZSl7dmFyIGc9YS5ub2RlVHlwZTtpZighYXx8 Zz09PTN8fGc9PT04fHxnPT09MilyZXR1cm4gYjtpZihlJiZjIGluIGYuYXR0ckZu KXJldHVybiBmKGEpW2NdKGQpO2lmKCEoImdldEF0dHJpYnV0ZSJpbiBhKSlyZXR1 cm4gZi5wcm9wKGEsYyxkKTt2YXIgaCxpLGo9ZyE9PTF8fCFmLmlzWE1MRG9jKGEp O2M9aiYmZi5hdHRyRml4W2NdfHxjLGk9Zi5hdHRySG9va3NbY10saXx8KCF0LnRl c3QoYyl8fHR5cGVvZiBkIT0iYm9vbGVhbiImJmQhPT1iJiZkLnRvTG93ZXJDYXNl KCkhPT1jLnRvTG93ZXJDYXNlKCk/diYmKGYubm9kZU5hbWUoYSwiZm9ybSIpfHx1 LnRlc3QoYykpJiYoaT12KTppPXcpO2lmKGQhPT1iKXtpZihkPT09bnVsbCl7Zi5y ZW1vdmVBdHRyKGEsYyk7cmV0dXJuIGJ9aWYoaSYmInNldCJpbiBpJiZqJiYoaD1p LnNldChhLGQsYykpIT09YilyZXR1cm4gaDthLnNldEF0dHJpYnV0ZShjLCIiK2Qp O3JldHVybiBkfWlmKGkmJiJnZXQiaW4gaSYmailyZXR1cm4gaS5nZXQoYSxjKTto PWEuZ2V0QXR0cmlidXRlKGMpO3JldHVybiBoPT09bnVsbD9iOmh9LHJlbW92ZUF0 dHI6ZnVuY3Rpb24oYSxiKXt2YXIgYzthLm5vZGVUeXBlPT09MSYmKGI9Zi5hdHRy Rml4W2JdfHxiLGYuc3VwcG9ydC5nZXRTZXRBdHRyaWJ1dGU/YS5yZW1vdmVBdHRy aWJ1dGUoYik6KGYuYXR0cihhLGIsIiIpLGEucmVtb3ZlQXR0cmlidXRlTm9kZShh LmdldEF0dHJpYnV0ZU5vZGUoYikpKSx0LnRlc3QoYikmJihjPWYucHJvcEZpeFti XXx8YilpbiBhJiYoYVtjXT0hMSkpfSxhdHRySG9va3M6e3R5cGU6e3NldDpmdW5j dGlvbihhLGIpe2lmKHEudGVzdChhLm5vZGVOYW1lKSYmYS5wYXJlbnROb2RlKWYu ZXJyb3IoInR5cGUgcHJvcGVydHkgY2FuJ3QgYmUgY2hhbmdlZCIpO2Vsc2UgaWYo IWYuc3VwcG9ydC5yYWRpb1ZhbHVlJiZiPT09InJhZGlvIiYmZi5ub2RlTmFtZShh LCJpbnB1dCIpKXt2YXIgYz1hLnZhbHVlO2Euc2V0QXR0cmlidXRlKCJ0eXBlIixi KSxjJiYoYS52YWx1ZT1jKTtyZXR1cm4gYn19fSx0YWJJbmRleDp7Z2V0OmZ1bmN0 aW9uKGEpe3ZhciBjPWEuZ2V0QXR0cmlidXRlTm9kZSgidGFiSW5kZXgiKTtyZXR1 cm4gYyYmYy5zcGVjaWZpZWQ/cGFyc2VJbnQoYy52YWx1ZSwxMCk6ci50ZXN0KGEu bm9kZU5hbWUpfHxzLnRlc3QoYS5ub2RlTmFtZSkmJmEuaHJlZj8wOmJ9fX0scHJv cEZpeDp7dGFiaW5kZXg6InRhYkluZGV4IixyZWFkb25seToicmVhZE9ubHkiLCJm b3IiOiJodG1sRm9yIiwiY2xhc3MiOiJjbGFzc05hbWUiLG1heGxlbmd0aDoibWF4 TGVuZ3RoIixjZWxsc3BhY2luZzoiY2VsbFNwYWNpbmciLGNlbGxwYWRkaW5nOiJj ZWxsUGFkZGluZyIscm93c3Bhbjoicm93U3BhbiIsY29sc3BhbjoiY29sU3BhbiIs dXNlbWFwOiJ1c2VNYXAiLGZyYW1lYm9yZGVyOiJmcmFtZUJvcmRlciIsY29udGVu dGVkaXRhYmxlOiJjb250ZW50RWRpdGFibGUifSxwcm9wOmZ1bmN0aW9uKGEsYyxk KXt2YXIgZT1hLm5vZGVUeXBlO2lmKCFhfHxlPT09M3x8ZT09PTh8fGU9PT0yKXJl dHVybiBiO3ZhciBnLGgsaT1lIT09MXx8IWYuaXNYTUxEb2MoYSk7Yz1pJiZmLnBy b3BGaXhbY118fGMsaD1mLnByb3BIb29rc1tjXTtyZXR1cm4gZCE9PWI/aCYmInNl dCJpbiBoJiYoZz1oLnNldChhLGQsYykpIT09Yj9nOmFbY109ZDpoJiYiZ2V0Imlu IGgmJihnPWguZ2V0KGEsYykpIT09Yj9nOmFbY119LHByb3BIb29rczp7fX0pLHc9 e2dldDpmdW5jdGlvbihhLGMpe3JldHVybiBhW2YucHJvcEZpeFtjXXx8Y10/Yy50 b0xvd2VyQ2FzZSgpOmJ9LHNldDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ7Yj09PSEx P2YucmVtb3ZlQXR0cihhLGMpOihkPWYucHJvcEZpeFtjXXx8YyxkIGluIGEmJihh W2RdPWIpLGEuc2V0QXR0cmlidXRlKGMsYy50b0xvd2VyQ2FzZSgpKSk7cmV0dXJu IGN9fSxmLmF0dHJIb29rcy52YWx1ZT17Z2V0OmZ1bmN0aW9uKGEsYil7aWYodiYm Zi5ub2RlTmFtZShhLCJidXR0b24iKSlyZXR1cm4gdi5nZXQoYSxiKTtyZXR1cm4g YS52YWx1ZX0sc2V0OmZ1bmN0aW9uKGEsYixjKXtpZih2JiZmLm5vZGVOYW1lKGEs ImJ1dHRvbiIpKXJldHVybiB2LnNldChhLGIsYyk7YS52YWx1ZT1ifX0sZi5zdXBw b3J0LmdldFNldEF0dHJpYnV0ZXx8KGYuYXR0ckZpeD1mLnByb3BGaXgsdj1mLmF0 dHJIb29rcy5uYW1lPWYudmFsSG9va3MuYnV0dG9uPXtnZXQ6ZnVuY3Rpb24oYSxj KXt2YXIgZDtkPWEuZ2V0QXR0cmlidXRlTm9kZShjKTtyZXR1cm4gZCYmZC5ub2Rl VmFsdWUhPT0iIj9kLm5vZGVWYWx1ZTpifSxzZXQ6ZnVuY3Rpb24oYSxiLGMpe3Zh ciBkPWEuZ2V0QXR0cmlidXRlTm9kZShjKTtpZihkKXtkLm5vZGVWYWx1ZT1iO3Jl dHVybiBifX19LGYuZWFjaChbIndpZHRoIiwiaGVpZ2h0Il0sZnVuY3Rpb24oYSxi KXtmLmF0dHJIb29rc1tiXT1mLmV4dGVuZChmLmF0dHJIb29rc1tiXSx7c2V0OmZ1 bmN0aW9uKGEsYyl7aWYoYz09PSIiKXthLnNldEF0dHJpYnV0ZShiLCJhdXRvIik7 cmV0dXJuIGN9fX0pfSkpLGYuc3VwcG9ydC5ocmVmTm9ybWFsaXplZHx8Zi5lYWNo KFsiaHJlZiIsInNyYyIsIndpZHRoIiwiaGVpZ2h0Il0sZnVuY3Rpb24oYSxjKXtm LmF0dHJIb29rc1tjXT1mLmV4dGVuZChmLmF0dHJIb29rc1tjXSx7Z2V0OmZ1bmN0 aW9uKGEpe3ZhciBkPWEuZ2V0QXR0cmlidXRlKGMsMik7cmV0dXJuIGQ9PT1udWxs P2I6ZH19KX0pLGYuc3VwcG9ydC5zdHlsZXx8KGYuYXR0ckhvb2tzLnN0eWxlPXtn ZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc3R5bGUuY3NzVGV4dC50b0xvd2VyQ2Fz ZSgpfHxifSxzZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5zdHlsZS5jc3NUZXh0 PSIiK2J9fSksZi5zdXBwb3J0Lm9wdFNlbGVjdGVkfHwoZi5wcm9wSG9va3Muc2Vs ZWN0ZWQ9Zi5leHRlbmQoZi5wcm9wSG9va3Muc2VsZWN0ZWQse2dldDpmdW5jdGlv bihhKXt2YXIgYj1hLnBhcmVudE5vZGU7YiYmKGIuc2VsZWN0ZWRJbmRleCxiLnBh cmVudE5vZGUmJmIucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4KX19KSksZi5zdXBw b3J0LmNoZWNrT258fGYuZWFjaChbInJhZGlvIiwiY2hlY2tib3giXSxmdW5jdGlv bigpe2YudmFsSG9va3NbdGhpc109e2dldDpmdW5jdGlvbihhKXtyZXR1cm4gYS5n ZXRBdHRyaWJ1dGUoInZhbHVlIik9PT1udWxsPyJvbiI6YS52YWx1ZX19fSksZi5l YWNoKFsicmFkaW8iLCJjaGVja2JveCJdLGZ1bmN0aW9uKCl7Zi52YWxIb29rc1t0 aGlzXT1mLmV4dGVuZChmLnZhbEhvb2tzW3RoaXNdLHtzZXQ6ZnVuY3Rpb24oYSxi KXtpZihmLmlzQXJyYXkoYikpcmV0dXJuIGEuY2hlY2tlZD1mLmluQXJyYXkoZihh KS52YWwoKSxiKT49MH19KX0pO3ZhciB4PU9iamVjdC5wcm90b3R5cGUuaGFzT3du UHJvcGVydHkseT0vXC4oLiopJC8sej0vXig/OnRleHRhcmVhfGlucHV0fHNlbGVj dCkkL2ksQT0vXC4vZyxCPS8gL2csQz0vW15cd1xzLnxgXS9nLEQ9ZnVuY3Rpb24o YSl7cmV0dXJuIGEucmVwbGFjZShDLCJcXCQmIil9O2YuZXZlbnQ9e2FkZDpmdW5j dGlvbihhLGMsZCxlKXtpZihhLm5vZGVUeXBlIT09MyYmYS5ub2RlVHlwZSE9PTgp e2lmKGQ9PT0hMSlkPUU7ZWxzZSBpZighZClyZXR1cm47dmFyIGcsaDtkLmhhbmRs ZXImJihnPWQsZD1nLmhhbmRsZXIpLGQuZ3VpZHx8KGQuZ3VpZD1mLmd1aWQrKyk7 dmFyIGk9Zi5fZGF0YShhKTtpZighaSlyZXR1cm47dmFyIGo9aS5ldmVudHMsaz1p LmhhbmRsZTtqfHwoaS5ldmVudHM9aj17fSksa3x8KGkuaGFuZGxlPWs9ZnVuY3Rp b24oYSl7cmV0dXJuIHR5cGVvZiBmIT0idW5kZWZpbmVkIiYmKCFhfHxmLmV2ZW50 LnRyaWdnZXJlZCE9PWEudHlwZSk/Zi5ldmVudC5oYW5kbGUuYXBwbHkoay5lbGVt LGFyZ3VtZW50cyk6Yn0pLGsuZWxlbT1hLGM9Yy5zcGxpdCgiICIpO3ZhciBsLG09 MCxuO3doaWxlKGw9Y1ttKytdKXtoPWc/Zi5leHRlbmQoe30sZyk6e2hhbmRsZXI6 ZCxkYXRhOmV9LGwuaW5kZXhPZigiLiIpPi0xPyhuPWwuc3BsaXQoIi4iKSxsPW4u c2hpZnQoKSxoLm5hbWVzcGFjZT1uLnNsaWNlKDApLnNvcnQoKS5qb2luKCIuIikp OihuPVtdLGgubmFtZXNwYWNlPSIiKSxoLnR5cGU9bCxoLmd1aWR8fChoLmd1aWQ9 ZC5ndWlkKTt2YXIgbz1qW2xdLHA9Zi5ldmVudC5zcGVjaWFsW2xdfHx7fTtpZigh byl7bz1qW2xdPVtdO2lmKCFwLnNldHVwfHxwLnNldHVwLmNhbGwoYSxlLG4sayk9 PT0hMSlhLmFkZEV2ZW50TGlzdGVuZXI/YS5hZGRFdmVudExpc3RlbmVyKGwsaywh MSk6YS5hdHRhY2hFdmVudCYmYS5hdHRhY2hFdmVudCgib24iK2wsayl9cC5hZGQm JihwLmFkZC5jYWxsKGEsaCksaC5oYW5kbGVyLmd1aWR8fChoLmhhbmRsZXIuZ3Vp ZD1kLmd1aWQpKSxvLnB1c2goaCksZi5ldmVudC5nbG9iYWxbbF09ITB9YT1udWxs fX0sZ2xvYmFsOnt9LHJlbW92ZTpmdW5jdGlvbihhLGMsZCxlKXtpZihhLm5vZGVU eXBlIT09MyYmYS5ub2RlVHlwZSE9PTgpe2Q9PT0hMSYmKGQ9RSk7dmFyIGcsaCxp LGosaz0wLGwsbSxuLG8scCxxLHIscz1mLmhhc0RhdGEoYSkmJmYuX2RhdGEoYSks dD1zJiZzLmV2ZW50cztpZighc3x8IXQpcmV0dXJuO2MmJmMudHlwZSYmKGQ9Yy5o YW5kbGVyLGM9Yy50eXBlKTtpZighY3x8dHlwZW9mIGM9PSJzdHJpbmciJiZjLmNo YXJBdCgwKT09PSIuIil7Yz1jfHwiIjtmb3IoaCBpbiB0KWYuZXZlbnQucmVtb3Zl KGEsaCtjKTtyZXR1cm59Yz1jLnNwbGl0KCIgIik7d2hpbGUoaD1jW2srK10pe3I9 aCxxPW51bGwsbD1oLmluZGV4T2YoIi4iKTwwLG09W10sbHx8KG09aC5zcGxpdCgi LiIpLGg9bS5zaGlmdCgpLG49bmV3IFJlZ0V4cCgiKF58XFwuKSIrZi5tYXAobS5z bGljZSgwKS5zb3J0KCksRCkuam9pbigiXFwuKD86LipcXC4pPyIpKyIoXFwufCQp IikpLHA9dFtoXTtpZighcCljb250aW51ZTtpZighZCl7Zm9yKGo9MDtqPHAubGVu Z3RoO2orKyl7cT1wW2pdO2lmKGx8fG4udGVzdChxLm5hbWVzcGFjZSkpZi5ldmVu dC5yZW1vdmUoYSxyLHEuaGFuZGxlcixqKSxwLnNwbGljZShqLS0sMSl9Y29udGlu dWV9bz1mLmV2ZW50LnNwZWNpYWxbaF18fHt9O2ZvcihqPWV8fDA7ajxwLmxlbmd0 aDtqKyspe3E9cFtqXTtpZihkLmd1aWQ9PT1xLmd1aWQpe2lmKGx8fG4udGVzdChx Lm5hbWVzcGFjZSkpZT09bnVsbCYmcC5zcGxpY2Uoai0tLDEpLG8ucmVtb3ZlJiZv LnJlbW92ZS5jYWxsKGEscSk7aWYoZSE9bnVsbClicmVha319aWYocC5sZW5ndGg9 PT0wfHxlIT1udWxsJiZwLmxlbmd0aD09PTEpKCFvLnRlYXJkb3dufHxvLnRlYXJk b3duLmNhbGwoYSxtKT09PSExKSYmZi5yZW1vdmVFdmVudChhLGgscy5oYW5kbGUp LGc9bnVsbCxkZWxldGUgdFtoXX1pZihmLmlzRW1wdHlPYmplY3QodCkpe3ZhciB1 PXMuaGFuZGxlO3UmJih1LmVsZW09bnVsbCksZGVsZXRlIHMuZXZlbnRzLGRlbGV0 ZSBzLmhhbmRsZSxmLmlzRW1wdHlPYmplY3QocykmJmYucmVtb3ZlRGF0YShhLGIs ITApfX19LGN1c3RvbUV2ZW50OntnZXREYXRhOiEwLHNldERhdGE6ITAsY2hhbmdl RGF0YTohMH0sdHJpZ2dlcjpmdW5jdGlvbihjLGQsZSxnKXt2YXIgaD1jLnR5cGV8 fGMsaT1bXSxqO2guaW5kZXhPZigiISIpPj0wJiYoaD1oLnNsaWNlKDAsLTEpLGo9 ITApLGguaW5kZXhPZigiLiIpPj0wJiYoaT1oLnNwbGl0KCIuIiksaD1pLnNoaWZ0 KCksaS5zb3J0KCkpO2lmKCEhZSYmIWYuZXZlbnQuY3VzdG9tRXZlbnRbaF18fCEh Zi5ldmVudC5nbG9iYWxbaF0pe2M9dHlwZW9mIGM9PSJvYmplY3QiP2NbZi5leHBh bmRvXT9jOm5ldyBmLkV2ZW50KGgsYyk6bmV3IGYuRXZlbnQoaCksYy50eXBlPWgs Yy5leGNsdXNpdmU9aixjLm5hbWVzcGFjZT1pLmpvaW4oIi4iKSxjLm5hbWVzcGFj ZV9yZT1uZXcgUmVnRXhwKCIoXnxcXC4pIitpLmpvaW4oIlxcLig/Oi4qXFwuKT8i KSsiKFxcLnwkKSIpO2lmKGd8fCFlKWMucHJldmVudERlZmF1bHQoKSxjLnN0b3BQ cm9wYWdhdGlvbigpO2lmKCFlKXtmLmVhY2goZi5jYWNoZSxmdW5jdGlvbigpe3Zh ciBhPWYuZXhwYW5kbyxiPXRoaXNbYV07YiYmYi5ldmVudHMmJmIuZXZlbnRzW2hd JiZmLmV2ZW50LnRyaWdnZXIoYyxkLGIuaGFuZGxlLmVsZW0pfSk7cmV0dXJufWlm KGUubm9kZVR5cGU9PT0zfHxlLm5vZGVUeXBlPT09OClyZXR1cm47Yy5yZXN1bHQ9 YixjLnRhcmdldD1lLGQ9ZD9mLm1ha2VBcnJheShkKTpbXSxkLnVuc2hpZnQoYyk7 dmFyIGs9ZSxsPWguaW5kZXhPZigiOiIpPDA/Im9uIitoOiIiO2Rve3ZhciBtPWYu X2RhdGEoaywiaGFuZGxlIik7Yy5jdXJyZW50VGFyZ2V0PWssbSYmbS5hcHBseShr LGQpLGwmJmYuYWNjZXB0RGF0YShrKSYma1tsXSYma1tsXS5hcHBseShrLGQpPT09 ITEmJihjLnJlc3VsdD0hMSxjLnByZXZlbnREZWZhdWx0KCkpLGs9ay5wYXJlbnRO b2RlfHxrLm93bmVyRG9jdW1lbnR8fGs9PT1jLnRhcmdldC5vd25lckRvY3VtZW50 JiZhfXdoaWxlKGsmJiFjLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpO2lmKCFjLmlz RGVmYXVsdFByZXZlbnRlZCgpKXt2YXIgbixvPWYuZXZlbnQuc3BlY2lhbFtoXXx8 e307aWYoKCFvLl9kZWZhdWx0fHxvLl9kZWZhdWx0LmNhbGwoZS5vd25lckRvY3Vt ZW50LGMpPT09ITEpJiYoaCE9PSJjbGljayJ8fCFmLm5vZGVOYW1lKGUsImEiKSkm JmYuYWNjZXB0RGF0YShlKSl7dHJ5e2wmJmVbaF0mJihuPWVbbF0sbiYmKGVbbF09 bnVsbCksZi5ldmVudC50cmlnZ2VyZWQ9aCxlW2hdKCkpfWNhdGNoKHApe31uJiYo ZVtsXT1uKSxmLmV2ZW50LnRyaWdnZXJlZD1ifX1yZXR1cm4gYy5yZXN1bHR9fSxo YW5kbGU6ZnVuY3Rpb24oYyl7Yz1mLmV2ZW50LmZpeChjfHxhLmV2ZW50KTt2YXIg ZD0oKGYuX2RhdGEodGhpcywiZXZlbnRzIil8fHt9KVtjLnR5cGVdfHxbXSkuc2xp Y2UoMCksZT0hYy5leGNsdXNpdmUmJiFjLm5hbWVzcGFjZSxnPUFycmF5LnByb3Rv dHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKTtnWzBdPWMsYy5jdXJyZW50VGFy Z2V0PXRoaXM7Zm9yKHZhciBoPTAsaT1kLmxlbmd0aDtoPGk7aCsrKXt2YXIgaj1k W2hdO2lmKGV8fGMubmFtZXNwYWNlX3JlLnRlc3Qoai5uYW1lc3BhY2UpKXtjLmhh bmRsZXI9ai5oYW5kbGVyLGMuZGF0YT1qLmRhdGEsYy5oYW5kbGVPYmo9ajt2YXIg az1qLmhhbmRsZXIuYXBwbHkodGhpcyxnKTtrIT09YiYmKGMucmVzdWx0PWssaz09 PSExJiYoYy5wcmV2ZW50RGVmYXVsdCgpLGMuc3RvcFByb3BhZ2F0aW9uKCkpKTtp ZihjLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkKCkpYnJlYWt9fXJldHVy biBjLnJlc3VsdH0scHJvcHM6ImFsdEtleSBhdHRyQ2hhbmdlIGF0dHJOYW1lIGJ1 YmJsZXMgYnV0dG9uIGNhbmNlbGFibGUgY2hhckNvZGUgY2xpZW50WCBjbGllbnRZ IGN0cmxLZXkgY3VycmVudFRhcmdldCBkYXRhIGRldGFpbCBldmVudFBoYXNlIGZy b21FbGVtZW50IGhhbmRsZXIga2V5Q29kZSBsYXllclggbGF5ZXJZIG1ldGFLZXkg bmV3VmFsdWUgb2Zmc2V0WCBvZmZzZXRZIHBhZ2VYIHBhZ2VZIHByZXZWYWx1ZSBy ZWxhdGVkTm9kZSByZWxhdGVkVGFyZ2V0IHNjcmVlblggc2NyZWVuWSBzaGlmdEtl eSBzcmNFbGVtZW50IHRhcmdldCB0b0VsZW1lbnQgdmlldyB3aGVlbERlbHRhIHdo aWNoIi5zcGxpdCgiICIpLGZpeDpmdW5jdGlvbihhKXtpZihhW2YuZXhwYW5kb10p cmV0dXJuIGE7dmFyIGQ9YTthPWYuRXZlbnQoZCk7Zm9yKHZhciBlPXRoaXMucHJv cHMubGVuZ3RoLGc7ZTspZz10aGlzLnByb3BzWy0tZV0sYVtnXT1kW2ddO2EudGFy Z2V0fHwoYS50YXJnZXQ9YS5zcmNFbGVtZW50fHxjKSxhLnRhcmdldC5ub2RlVHlw ZT09PTMmJihhLnRhcmdldD1hLnRhcmdldC5wYXJlbnROb2RlKSwhYS5yZWxhdGVk VGFyZ2V0JiZhLmZyb21FbGVtZW50JiYoYS5yZWxhdGVkVGFyZ2V0PWEuZnJvbUVs ZW1lbnQ9PT1hLnRhcmdldD9hLnRvRWxlbWVudDphLmZyb21FbGVtZW50KTtpZihh LnBhZ2VYPT1udWxsJiZhLmNsaWVudFghPW51bGwpe3ZhciBoPWEudGFyZ2V0Lm93 bmVyRG9jdW1lbnR8fGMsaT1oLmRvY3VtZW50RWxlbWVudCxqPWguYm9keTthLnBh Z2VYPWEuY2xpZW50WCsoaSYmaS5zY3JvbGxMZWZ0fHxqJiZqLnNjcm9sbExlZnR8 fDApLShpJiZpLmNsaWVudExlZnR8fGomJmouY2xpZW50TGVmdHx8MCksYS5wYWdl WT1hLmNsaWVudFkrKGkmJmkuc2Nyb2xsVG9wfHxqJiZqLnNjcm9sbFRvcHx8MCkt KGkmJmkuY2xpZW50VG9wfHxqJiZqLmNsaWVudFRvcHx8MCl9YS53aGljaD09bnVs bCYmKGEuY2hhckNvZGUhPW51bGx8fGEua2V5Q29kZSE9bnVsbCkmJihhLndoaWNo PWEuY2hhckNvZGUhPW51bGw/YS5jaGFyQ29kZTphLmtleUNvZGUpLCFhLm1ldGFL ZXkmJmEuY3RybEtleSYmKGEubWV0YUtleT1hLmN0cmxLZXkpLCFhLndoaWNoJiZh LmJ1dHRvbiE9PWImJihhLndoaWNoPWEuYnV0dG9uJjE/MTphLmJ1dHRvbiYyPzM6 YS5idXR0b24mND8yOjApO3JldHVybiBhfSxndWlkOjFlOCxwcm94eTpmLnByb3h5 LHNwZWNpYWw6e3JlYWR5OntzZXR1cDpmLmJpbmRSZWFkeSx0ZWFyZG93bjpmLm5v b3B9LGxpdmU6e2FkZDpmdW5jdGlvbihhKXtmLmV2ZW50LmFkZCh0aGlzLE8oYS5v cmlnVHlwZSxhLnNlbGVjdG9yKSxmLmV4dGVuZCh7fSxhLHtoYW5kbGVyOk4sZ3Vp ZDphLmhhbmRsZXIuZ3VpZH0pKX0scmVtb3ZlOmZ1bmN0aW9uKGEpe2YuZXZlbnQu cmVtb3ZlKHRoaXMsTyhhLm9yaWdUeXBlLGEuc2VsZWN0b3IpLGEpfX0sYmVmb3Jl dW5sb2FkOntzZXR1cDpmdW5jdGlvbihhLGIsYyl7Zi5pc1dpbmRvdyh0aGlzKSYm KHRoaXMub25iZWZvcmV1bmxvYWQ9Yyl9LHRlYXJkb3duOmZ1bmN0aW9uKGEsYil7 dGhpcy5vbmJlZm9yZXVubG9hZD09PWImJih0aGlzLm9uYmVmb3JldW5sb2FkPW51 bGwpfX19fSxmLnJlbW92ZUV2ZW50PWMucmVtb3ZlRXZlbnRMaXN0ZW5lcj9mdW5j dGlvbihhLGIsYyl7YS5yZW1vdmVFdmVudExpc3RlbmVyJiZhLnJlbW92ZUV2ZW50 TGlzdGVuZXIoYixjLCExKX06ZnVuY3Rpb24oYSxiLGMpe2EuZGV0YWNoRXZlbnQm JmEuZGV0YWNoRXZlbnQoIm9uIitiLGMpfSxmLkV2ZW50PWZ1bmN0aW9uKGEsYil7 aWYoIXRoaXMucHJldmVudERlZmF1bHQpcmV0dXJuIG5ldyBmLkV2ZW50KGEsYik7 YSYmYS50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9YSx0aGlzLnR5cGU9YS50eXBl LHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPWEuZGVmYXVsdFByZXZlbnRlZHx8YS5y ZXR1cm5WYWx1ZT09PSExfHxhLmdldFByZXZlbnREZWZhdWx0JiZhLmdldFByZXZl bnREZWZhdWx0KCk/RjpFKTp0aGlzLnR5cGU9YSxiJiZmLmV4dGVuZCh0aGlzLGIp LHRoaXMudGltZVN0YW1wPWYubm93KCksdGhpc1tmLmV4cGFuZG9dPSEwfSxmLkV2 ZW50LnByb3RvdHlwZT17cHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt0aGlzLmlz RGVmYXVsdFByZXZlbnRlZD1GO3ZhciBhPXRoaXMub3JpZ2luYWxFdmVudDshYXx8 KGEucHJldmVudERlZmF1bHQ/YS5wcmV2ZW50RGVmYXVsdCgpOmEucmV0dXJuVmFs dWU9ITEpfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt0aGlzLmlzUHJvcGFn YXRpb25TdG9wcGVkPUY7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50OyFhfHwoYS5z dG9wUHJvcGFnYXRpb24mJmEuc3RvcFByb3BhZ2F0aW9uKCksYS5jYW5jZWxCdWJi bGU9ITApfSxzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt0aGlz LmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkPUYsdGhpcy5zdG9wUHJvcGFn YXRpb24oKX0saXNEZWZhdWx0UHJldmVudGVkOkUsaXNQcm9wYWdhdGlvblN0b3Bw ZWQ6RSxpc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZDpFfTt2YXIgRz1mdW5j dGlvbihhKXt2YXIgYj1hLnJlbGF0ZWRUYXJnZXQ7YS50eXBlPWEuZGF0YTt0cnl7 aWYoYiYmYiE9PWMmJiFiLnBhcmVudE5vZGUpcmV0dXJuO3doaWxlKGImJmIhPT10 aGlzKWI9Yi5wYXJlbnROb2RlO2IhPT10aGlzJiZmLmV2ZW50LmhhbmRsZS5hcHBs eSh0aGlzLGFyZ3VtZW50cyl9Y2F0Y2goZCl7fX0sSD1mdW5jdGlvbihhKXthLnR5 cGU9YS5kYXRhLGYuZXZlbnQuaGFuZGxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07 Zi5lYWNoKHttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNl b3V0In0sZnVuY3Rpb24oYSxiKXtmLmV2ZW50LnNwZWNpYWxbYV09e3NldHVwOmZ1 bmN0aW9uKGMpe2YuZXZlbnQuYWRkKHRoaXMsYixjJiZjLnNlbGVjdG9yP0g6Ryxh KX0sdGVhcmRvd246ZnVuY3Rpb24oYSl7Zi5ldmVudC5yZW1vdmUodGhpcyxiLGEm JmEuc2VsZWN0b3I/SDpHKX19fSksZi5zdXBwb3J0LnN1Ym1pdEJ1YmJsZXN8fChm LmV2ZW50LnNwZWNpYWwuc3VibWl0PXtzZXR1cDpmdW5jdGlvbihhLGIpe2lmKCFm Lm5vZGVOYW1lKHRoaXMsImZvcm0iKSlmLmV2ZW50LmFkZCh0aGlzLCJjbGljay5z cGVjaWFsU3VibWl0IixmdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldCxjPWIudHlw ZTsoYz09PSJzdWJtaXQifHxjPT09ImltYWdlIikmJmYoYikuY2xvc2VzdCgiZm9y bSIpLmxlbmd0aCYmTCgic3VibWl0Iix0aGlzLGFyZ3VtZW50cyl9KSxmLmV2ZW50 LmFkZCh0aGlzLCJrZXlwcmVzcy5zcGVjaWFsU3VibWl0IixmdW5jdGlvbihhKXt2 YXIgYj1hLnRhcmdldCxjPWIudHlwZTsoYz09PSJ0ZXh0Inx8Yz09PSJwYXNzd29y ZCIpJiZmKGIpLmNsb3Nlc3QoImZvcm0iKS5sZW5ndGgmJmEua2V5Q29kZT09PTEz JiZMKCJzdWJtaXQiLHRoaXMsYXJndW1lbnRzKX0pO2Vsc2UgcmV0dXJuITF9LHRl YXJkb3duOmZ1bmN0aW9uKGEpe2YuZXZlbnQucmVtb3ZlKHRoaXMsIi5zcGVjaWFs U3VibWl0Iil9fSk7aWYoIWYuc3VwcG9ydC5jaGFuZ2VCdWJibGVzKXt2YXIgSSxK PWZ1bmN0aW9uKGEpe3ZhciBiPWEudHlwZSxjPWEudmFsdWU7Yj09PSJyYWRpbyJ8 fGI9PT0iY2hlY2tib3giP2M9YS5jaGVja2VkOmI9PT0ic2VsZWN0LW11bHRpcGxl Ij9jPWEuc2VsZWN0ZWRJbmRleD4tMT9mLm1hcChhLm9wdGlvbnMsZnVuY3Rpb24o YSl7cmV0dXJuIGEuc2VsZWN0ZWR9KS5qb2luKCItIik6IiI6Zi5ub2RlTmFtZShh LCJzZWxlY3QiKSYmKGM9YS5zZWxlY3RlZEluZGV4KTtyZXR1cm4gY30sSz1mdW5j dGlvbihjKXt2YXIgZD1jLnRhcmdldCxlLGc7aWYoISF6LnRlc3QoZC5ub2RlTmFt ZSkmJiFkLnJlYWRPbmx5KXtlPWYuX2RhdGEoZCwiX2NoYW5nZV9kYXRhIiksZz1K KGQpLChjLnR5cGUhPT0iZm9jdXNvdXQifHxkLnR5cGUhPT0icmFkaW8iKSYmZi5f ZGF0YShkLCJfY2hhbmdlX2RhdGEiLGcpO2lmKGU9PT1ifHxnPT09ZSlyZXR1cm47 aWYoZSE9bnVsbHx8ZyljLnR5cGU9ImNoYW5nZSIsYy5saXZlRmlyZWQ9YixmLmV2 ZW50LnRyaWdnZXIoYyxhcmd1bWVudHNbMV0sZCl9fTtmLmV2ZW50LnNwZWNpYWwu Y2hhbmdlPXtmaWx0ZXJzOntmb2N1c291dDpLLGJlZm9yZWRlYWN0aXZhdGU6Syxj bGljazpmdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldCxjPWYubm9kZU5hbWUoYiwi aW5wdXQiKT9iLnR5cGU6IiI7KGM9PT0icmFkaW8ifHxjPT09ImNoZWNrYm94Inx8 Zi5ub2RlTmFtZShiLCJzZWxlY3QiKSkmJksuY2FsbCh0aGlzLGEpfSxrZXlkb3du OmZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0LGM9Zi5ub2RlTmFtZShiLCJpbnB1 dCIpP2IudHlwZToiIjsoYS5rZXlDb2RlPT09MTMmJiFmLm5vZGVOYW1lKGIsInRl eHRhcmVhIil8fGEua2V5Q29kZT09PTMyJiYoYz09PSJjaGVja2JveCJ8fGM9PT0i cmFkaW8iKXx8Yz09PSJzZWxlY3QtbXVsdGlwbGUiKSYmSy5jYWxsKHRoaXMsYSl9 LGJlZm9yZWFjdGl2YXRlOmZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0O2YuX2Rh dGEoYiwiX2NoYW5nZV9kYXRhIixKKGIpKX19LHNldHVwOmZ1bmN0aW9uKGEsYil7 aWYodGhpcy50eXBlPT09ImZpbGUiKXJldHVybiExO2Zvcih2YXIgYyBpbiBJKWYu ZXZlbnQuYWRkKHRoaXMsYysiLnNwZWNpYWxDaGFuZ2UiLElbY10pO3JldHVybiB6 LnRlc3QodGhpcy5ub2RlTmFtZSl9LHRlYXJkb3duOmZ1bmN0aW9uKGEpe2YuZXZl bnQucmVtb3ZlKHRoaXMsIi5zcGVjaWFsQ2hhbmdlIik7cmV0dXJuIHoudGVzdCh0 aGlzLm5vZGVOYW1lKX19LEk9Zi5ldmVudC5zcGVjaWFsLmNoYW5nZS5maWx0ZXJz LEkuZm9jdXM9SS5iZWZvcmVhY3RpdmF0ZX1mLnN1cHBvcnQuZm9jdXNpbkJ1YmJs ZXN8fGYuZWFjaCh7Zm9jdXM6ImZvY3VzaW4iLGJsdXI6ImZvY3Vzb3V0In0sZnVu Y3Rpb24oYSxiKXtmdW5jdGlvbiBlKGEpe3ZhciBjPWYuZXZlbnQuZml4KGEpO2Mu dHlwZT1iLGMub3JpZ2luYWxFdmVudD17fSxmLmV2ZW50LnRyaWdnZXIoYyxudWxs LGMudGFyZ2V0KSxjLmlzRGVmYXVsdFByZXZlbnRlZCgpJiZhLnByZXZlbnREZWZh dWx0KCl9dmFyIGQ9MDtmLmV2ZW50LnNwZWNpYWxbYl09e3NldHVwOmZ1bmN0aW9u KCl7ZCsrPT09MCYmYy5hZGRFdmVudExpc3RlbmVyKGEsZSwhMCl9LHRlYXJkb3du OmZ1bmN0aW9uKCl7LS1kPT09MCYmYy5yZW1vdmVFdmVudExpc3RlbmVyKGEsZSwh MCl9fX0pLGYuZWFjaChbImJpbmQiLCJvbmUiXSxmdW5jdGlvbihhLGMpe2YuZm5b Y109ZnVuY3Rpb24oYSxkLGUpe3ZhciBnO2lmKHR5cGVvZiBhPT0ib2JqZWN0Iil7 Zm9yKHZhciBoIGluIGEpdGhpc1tjXShoLGQsYVtoXSxlKTtyZXR1cm4gdGhpc31p Zihhcmd1bWVudHMubGVuZ3RoPT09Mnx8ZD09PSExKWU9ZCxkPWI7Yz09PSJvbmUi PyhnPWZ1bmN0aW9uKGEpe2YodGhpcykudW5iaW5kKGEsZyk7cmV0dXJuIGUuYXBw bHkodGhpcyxhcmd1bWVudHMpfSxnLmd1aWQ9ZS5ndWlkfHxmLmd1aWQrKyk6Zz1l O2lmKGE9PT0idW5sb2FkIiYmYyE9PSJvbmUiKXRoaXMub25lKGEsZCxlKTtlbHNl IGZvcih2YXIgaT0wLGo9dGhpcy5sZW5ndGg7aTxqO2krKylmLmV2ZW50LmFkZCh0 aGlzW2ldLGEsZyxkKTtyZXR1cm4gdGhpc319KSxmLmZuLmV4dGVuZCh7dW5iaW5k OmZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGE9PSJvYmplY3QiJiYhYS5wcmV2ZW50 RGVmYXVsdClmb3IodmFyIGMgaW4gYSl0aGlzLnVuYmluZChjLGFbY10pO2Vsc2Ug Zm9yKHZhciBkPTAsZT10aGlzLmxlbmd0aDtkPGU7ZCsrKWYuZXZlbnQucmVtb3Zl KHRoaXNbZF0sYSxiKTtyZXR1cm4gdGhpc30sZGVsZWdhdGU6ZnVuY3Rpb24oYSxi LGMsZCl7cmV0dXJuIHRoaXMubGl2ZShiLGMsZCxhKX0sdW5kZWxlZ2F0ZTpmdW5j dGlvbihhLGIsYyl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg9PT0wP3RoaXMudW5i aW5kKCJsaXZlIik6dGhpcy5kaWUoYixudWxsLGMsYSl9LHRyaWdnZXI6ZnVuY3Rp b24oYSxiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Zi5ldmVudC50cmln Z2VyKGEsYix0aGlzKX0pfSx0cmlnZ2VySGFuZGxlcjpmdW5jdGlvbihhLGIpe2lm KHRoaXNbMF0pcmV0dXJuIGYuZXZlbnQudHJpZ2dlcihhLGIsdGhpc1swXSwhMCl9 LHRvZ2dsZTpmdW5jdGlvbihhKXt2YXIgYj1hcmd1bWVudHMsYz1hLmd1aWR8fGYu Z3VpZCsrLGQ9MCxlPWZ1bmN0aW9uKGMpe3ZhciBlPShmLmRhdGEodGhpcywibGFz dFRvZ2dsZSIrYS5ndWlkKXx8MCklZDtmLmRhdGEodGhpcywibGFzdFRvZ2dsZSIr YS5ndWlkLGUrMSksYy5wcmV2ZW50RGVmYXVsdCgpO3JldHVybiBiW2VdLmFwcGx5 KHRoaXMsYXJndW1lbnRzKXx8ITF9O2UuZ3VpZD1jO3doaWxlKGQ8Yi5sZW5ndGgp YltkKytdLmd1aWQ9YztyZXR1cm4gdGhpcy5jbGljayhlKX0saG92ZXI6ZnVuY3Rp b24oYSxiKXtyZXR1cm4gdGhpcy5tb3VzZWVudGVyKGEpLm1vdXNlbGVhdmUoYnx8 YSl9fSk7dmFyIE09e2ZvY3VzOiJmb2N1c2luIixibHVyOiJmb2N1c291dCIsbW91 c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCJ9O2YuZWFj aChbImxpdmUiLCJkaWUiXSxmdW5jdGlvbihhLGMpe2YuZm5bY109ZnVuY3Rpb24o YSxkLGUsZyl7dmFyIGgsaT0wLGosayxsLG09Z3x8dGhpcy5zZWxlY3RvcixuPWc/ dGhpczpmKHRoaXMuY29udGV4dCk7aWYodHlwZW9mIGE9PSJvYmplY3QiJiYhYS5w cmV2ZW50RGVmYXVsdCl7Zm9yKHZhciBvIGluIGEpbltjXShvLGQsYVtvXSxtKTty ZXR1cm4gdGhpc31pZihjPT09ImRpZSImJiFhJiZnJiZnLmNoYXJBdCgwKT09PSIu Iil7bi51bmJpbmQoZyk7cmV0dXJuIHRoaXN9aWYoZD09PSExfHxmLmlzRnVuY3Rp b24oZCkpZT1kfHxFLGQ9YjthPShhfHwiIikuc3BsaXQoIiAiKTt3aGlsZSgoaD1h W2krK10pIT1udWxsKXtqPXkuZXhlYyhoKSxrPSIiLGomJihrPWpbMF0saD1oLnJl cGxhY2UoeSwiIikpO2lmKGg9PT0iaG92ZXIiKXthLnB1c2goIm1vdXNlZW50ZXIi K2ssIm1vdXNlbGVhdmUiK2spO2NvbnRpbnVlfWw9aCxNW2hdPyhhLnB1c2goTVto XStrKSxoPWgrayk6aD0oTVtoXXx8aCkraztpZihjPT09ImxpdmUiKWZvcih2YXIg cD0wLHE9bi5sZW5ndGg7cDxxO3ArKylmLmV2ZW50LmFkZChuW3BdLCJsaXZlLiIr TyhoLG0pLHtkYXRhOmQsc2VsZWN0b3I6bSxoYW5kbGVyOmUsb3JpZ1R5cGU6aCxv cmlnSGFuZGxlcjplLHByZVR5cGU6bH0pO2Vsc2Ugbi51bmJpbmQoImxpdmUuIitP KGgsbSksZSl9cmV0dXJuIHRoaXN9fSksZi5lYWNoKCJibHVyIGZvY3VzIGZvY3Vz aW4gZm9jdXNvdXQgbG9hZCByZXNpemUgc2Nyb2xsIHVubG9hZCBjbGljayBkYmxj bGljayBtb3VzZWRvd24gbW91c2V1cCBtb3VzZW1vdmUgbW91c2VvdmVyIG1vdXNl b3V0IG1vdXNlZW50ZXIgbW91c2VsZWF2ZSBjaGFuZ2Ugc2VsZWN0IHN1Ym1pdCBr ZXlkb3duIGtleXByZXNzIGtleXVwIGVycm9yIi5zcGxpdCgiICIpLGZ1bmN0aW9u KGEsYil7Zi5mbltiXT1mdW5jdGlvbihhLGMpe2M9PW51bGwmJihjPWEsYT1udWxs KTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4wP3RoaXMuYmluZChiLGEsYyk6dGhp cy50cmlnZ2VyKGIpfSxmLmF0dHJGbiYmKGYuYXR0ckZuW2JdPSEwKX0pLGZ1bmN0 aW9uKCl7ZnVuY3Rpb24gdShhLGIsYyxkLGUsZil7Zm9yKHZhciBnPTAsaD1kLmxl bmd0aDtnPGg7ZysrKXt2YXIgaT1kW2ddO2lmKGkpe3ZhciBqPSExO2k9aVthXTt3 aGlsZShpKXtpZihpLnNpemNhY2hlPT09Yyl7aj1kW2kuc2l6c2V0XTticmVha31p ZihpLm5vZGVUeXBlPT09MSl7Znx8KGkuc2l6Y2FjaGU9YyxpLnNpenNldD1nKTtp Zih0eXBlb2YgYiE9InN0cmluZyIpe2lmKGk9PT1iKXtqPSEwO2JyZWFrfX1lbHNl IGlmKGsuZmlsdGVyKGIsW2ldKS5sZW5ndGg+MCl7aj1pO2JyZWFrfX1pPWlbYV19 ZFtnXT1qfX19ZnVuY3Rpb24gdChhLGIsYyxkLGUsZil7Zm9yKHZhciBnPTAsaD1k Lmxlbmd0aDtnPGg7ZysrKXt2YXIgaT1kW2ddO2lmKGkpe3ZhciBqPSExO2k9aVth XTt3aGlsZShpKXtpZihpLnNpemNhY2hlPT09Yyl7aj1kW2kuc2l6c2V0XTticmVh a31pLm5vZGVUeXBlPT09MSYmIWYmJihpLnNpemNhY2hlPWMsaS5zaXpzZXQ9Zyk7 aWYoaS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09Yil7aj1pO2JyZWFrfWk9aVth XX1kW2ddPWp9fX12YXIgYT0vKCg/OlwoKD86XChbXigpXStcKXxbXigpXSspK1wp fFxbKD86XFtbXlxbXF1dKlxdfFsnIl1bXiciXSpbJyJdfFteXFtcXSciXSspK1xd fFxcLnxbXiA+K34sKFxbXFxdKykrfFs+K35dKShccyosXHMqKT8oKD86Lnxccnxc bikqKS9nLGQ9MCxlPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsZz0hMSxoPSEw LGk9L1xcL2csaj0vXFcvO1swLDBdLnNvcnQoZnVuY3Rpb24oKXtoPSExO3JldHVy biAwfSk7dmFyIGs9ZnVuY3Rpb24oYixkLGYsZyl7Zj1mfHxbXSxkPWR8fGM7dmFy IGg9ZDtpZihkLm5vZGVUeXBlIT09MSYmZC5ub2RlVHlwZSE9PTkpcmV0dXJuW107 aWYoIWJ8fHR5cGVvZiBiIT0ic3RyaW5nIilyZXR1cm4gZjt2YXIgaSxqLG4sbyxx LHIscyx0LHU9ITAsdz1rLmlzWE1MKGQpLHg9W10seT1iO2Rve2EuZXhlYygiIiks aT1hLmV4ZWMoeSk7aWYoaSl7eT1pWzNdLHgucHVzaChpWzFdKTtpZihpWzJdKXtv PWlbM107YnJlYWt9fX13aGlsZShpKTtpZih4Lmxlbmd0aD4xJiZtLmV4ZWMoYikp aWYoeC5sZW5ndGg9PT0yJiZsLnJlbGF0aXZlW3hbMF1dKWo9dih4WzBdK3hbMV0s ZCk7ZWxzZXtqPWwucmVsYXRpdmVbeFswXV0/W2RdOmsoeC5zaGlmdCgpLGQpO3do aWxlKHgubGVuZ3RoKWI9eC5zaGlmdCgpLGwucmVsYXRpdmVbYl0mJihiKz14LnNo aWZ0KCkpLGo9dihiLGopfWVsc2V7IWcmJngubGVuZ3RoPjEmJmQubm9kZVR5cGU9 PT05JiYhdyYmbC5tYXRjaC5JRC50ZXN0KHhbMF0pJiYhbC5tYXRjaC5JRC50ZXN0 KHhbeC5sZW5ndGgtMV0pJiYocT1rLmZpbmQoeC5zaGlmdCgpLGQsdyksZD1xLmV4 cHI/ay5maWx0ZXIocS5leHByLHEuc2V0KVswXTpxLnNldFswXSk7aWYoZCl7cT1n P3tleHByOngucG9wKCksc2V0OnAoZyl9OmsuZmluZCh4LnBvcCgpLHgubGVuZ3Ro PT09MSYmKHhbMF09PT0ifiJ8fHhbMF09PT0iKyIpJiZkLnBhcmVudE5vZGU/ZC5w YXJlbnROb2RlOmQsdyksaj1xLmV4cHI/ay5maWx0ZXIocS5leHByLHEuc2V0KTpx LnNldCx4Lmxlbmd0aD4wP249cChqKTp1PSExO3doaWxlKHgubGVuZ3RoKXI9eC5w b3AoKSxzPXIsbC5yZWxhdGl2ZVtyXT9zPXgucG9wKCk6cj0iIixzPT1udWxsJiYo cz1kKSxsLnJlbGF0aXZlW3JdKG4scyx3KX1lbHNlIG49eD1bXX1ufHwobj1qKSxu fHxrLmVycm9yKHJ8fGIpO2lmKGUuY2FsbChuKT09PSJbb2JqZWN0IEFycmF5XSIp aWYoIXUpZi5wdXNoLmFwcGx5KGYsbik7ZWxzZSBpZihkJiZkLm5vZGVUeXBlPT09 MSlmb3IodD0wO25bdF0hPW51bGw7dCsrKW5bdF0mJihuW3RdPT09ITB8fG5bdF0u bm9kZVR5cGU9PT0xJiZrLmNvbnRhaW5zKGQsblt0XSkpJiZmLnB1c2goalt0XSk7 ZWxzZSBmb3IodD0wO25bdF0hPW51bGw7dCsrKW5bdF0mJm5bdF0ubm9kZVR5cGU9 PT0xJiZmLnB1c2goalt0XSk7ZWxzZSBwKG4sZik7byYmKGsobyxoLGYsZyksay51 bmlxdWVTb3J0KGYpKTtyZXR1cm4gZn07ay51bmlxdWVTb3J0PWZ1bmN0aW9uKGEp e2lmKHIpe2c9aCxhLnNvcnQocik7aWYoZylmb3IodmFyIGI9MTtiPGEubGVuZ3Ro O2IrKylhW2JdPT09YVtiLTFdJiZhLnNwbGljZShiLS0sMSl9cmV0dXJuIGF9LGsu bWF0Y2hlcz1mdW5jdGlvbihhLGIpe3JldHVybiBrKGEsbnVsbCxudWxsLGIpfSxr Lm1hdGNoZXNTZWxlY3Rvcj1mdW5jdGlvbihhLGIpe3JldHVybiBrKGIsbnVsbCxu dWxsLFthXSkubGVuZ3RoPjB9LGsuZmluZD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7 aWYoIWEpcmV0dXJuW107Zm9yKHZhciBlPTAsZj1sLm9yZGVyLmxlbmd0aDtlPGY7 ZSsrKXt2YXIgZyxoPWwub3JkZXJbZV07aWYoZz1sLmxlZnRNYXRjaFtoXS5leGVj KGEpKXt2YXIgaj1nWzFdO2cuc3BsaWNlKDEsMSk7aWYoai5zdWJzdHIoai5sZW5n dGgtMSkhPT0iXFwiKXtnWzFdPShnWzFdfHwiIikucmVwbGFjZShpLCIiKSxkPWwu ZmluZFtoXShnLGIsYyk7aWYoZCE9bnVsbCl7YT1hLnJlcGxhY2UobC5tYXRjaFto XSwiIik7YnJlYWt9fX19ZHx8KGQ9dHlwZW9mIGIuZ2V0RWxlbWVudHNCeVRhZ05h bWUhPSJ1bmRlZmluZWQiP2IuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKTpbXSk7 cmV0dXJue3NldDpkLGV4cHI6YX19LGsuZmlsdGVyPWZ1bmN0aW9uKGEsYyxkLGUp e3ZhciBmLGcsaD1hLGk9W10saj1jLG09YyYmY1swXSYmay5pc1hNTChjWzBdKTt3 aGlsZShhJiZjLmxlbmd0aCl7Zm9yKHZhciBuIGluIGwuZmlsdGVyKWlmKChmPWwu bGVmdE1hdGNoW25dLmV4ZWMoYSkpIT1udWxsJiZmWzJdKXt2YXIgbyxwLHE9bC5m aWx0ZXJbbl0scj1mWzFdO2c9ITEsZi5zcGxpY2UoMSwxKTtpZihyLnN1YnN0cihy Lmxlbmd0aC0xKT09PSJcXCIpY29udGludWU7aj09PWkmJihpPVtdKTtpZihsLnBy ZUZpbHRlcltuXSl7Zj1sLnByZUZpbHRlcltuXShmLGosZCxpLGUsbSk7aWYoIWYp Zz1vPSEwO2Vsc2UgaWYoZj09PSEwKWNvbnRpbnVlfWlmKGYpZm9yKHZhciBzPTA7 KHA9altzXSkhPW51bGw7cysrKWlmKHApe289cShwLGYscyxqKTt2YXIgdD1lXiEh bztkJiZvIT1udWxsP3Q/Zz0hMDpqW3NdPSExOnQmJihpLnB1c2gocCksZz0hMCl9 aWYobyE9PWIpe2R8fChqPWkpLGE9YS5yZXBsYWNlKGwubWF0Y2hbbl0sIiIpO2lm KCFnKXJldHVybltdO2JyZWFrfX1pZihhPT09aClpZihnPT1udWxsKWsuZXJyb3Io YSk7ZWxzZSBicmVhaztoPWF9cmV0dXJuIGp9LGsuZXJyb3I9ZnVuY3Rpb24oYSl7 dGhyb3ciU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIith fTt2YXIgbD1rLnNlbGVjdG9ycz17b3JkZXI6WyJJRCIsIk5BTUUiLCJUQUciXSxt YXRjaDp7SUQ6LyMoKD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKykvLENMQVNT Oi9cLigoPzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKS8sTkFNRTovXFtuYW1l PVsnIl0qKCg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSspWyciXSpcXS8sQVRU UjovXFtccyooKD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKylccyooPzooXFM/ PSlccyooPzooWyciXSkoLio/KVwzfCgjPyg/Oltcd1x1MDBjMC1cdUZGRkZcLV18 XFwuKSopfCl8KVxzKlxdLyxUQUc6L14oKD86W1x3XHUwMGMwLVx1RkZGRlwqXC1d fFxcLikrKS8sQ0hJTEQ6Lzoob25seXxudGh8bGFzdHxmaXJzdCktY2hpbGQoPzpc KFxzKihldmVufG9kZHwoPzpbK1wtXT9cZCt8KD86WytcLV0/XGQqKT9uXHMqKD86 WytcLV1ccypcZCspPykpXHMqXCkpPy8sUE9TOi86KG50aHxlcXxndHxsdHxmaXJz dHxsYXN0fGV2ZW58b2RkKSg/OlwoKFxkKilcKSk/KD89W15cLV18JCkvLFBTRVVE TzovOigoPzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKSg/OlwoKFsnIl0/KSgo PzpcKFteXCldK1wpfFteXChcKV0qKSspXDJcKSk/L30sbGVmdE1hdGNoOnt9LGF0 dHJNYXA6eyJjbGFzcyI6ImNsYXNzTmFtZSIsImZvciI6Imh0bWxGb3IifSxhdHRy SGFuZGxlOntocmVmOmZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZSgi aHJlZiIpfSx0eXBlOmZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZSgi dHlwZSIpfX0scmVsYXRpdmU6eyIrIjpmdW5jdGlvbihhLGIpe3ZhciBjPXR5cGVv ZiBiPT0ic3RyaW5nIixkPWMmJiFqLnRlc3QoYiksZT1jJiYhZDtkJiYoYj1iLnRv TG93ZXJDYXNlKCkpO2Zvcih2YXIgZj0wLGc9YS5sZW5ndGgsaDtmPGc7ZisrKWlm KGg9YVtmXSl7d2hpbGUoKGg9aC5wcmV2aW91c1NpYmxpbmcpJiZoLm5vZGVUeXBl IT09MSk7YVtmXT1lfHxoJiZoLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iP2h8 fCExOmg9PT1ifWUmJmsuZmlsdGVyKGIsYSwhMCl9LCI+IjpmdW5jdGlvbihhLGIp e3ZhciBjLGQ9dHlwZW9mIGI9PSJzdHJpbmciLGU9MCxmPWEubGVuZ3RoO2lmKGQm JiFqLnRlc3QoYikpe2I9Yi50b0xvd2VyQ2FzZSgpO2Zvcig7ZTxmO2UrKyl7Yz1h W2VdO2lmKGMpe3ZhciBnPWMucGFyZW50Tm9kZTthW2VdPWcubm9kZU5hbWUudG9M b3dlckNhc2UoKT09PWI/ZzohMX19fWVsc2V7Zm9yKDtlPGY7ZSsrKWM9YVtlXSxj JiYoYVtlXT1kP2MucGFyZW50Tm9kZTpjLnBhcmVudE5vZGU9PT1iKTtkJiZrLmZp bHRlcihiLGEsITApfX0sIiI6ZnVuY3Rpb24oYSxiLGMpe3ZhciBlLGY9ZCsrLGc9 dTt0eXBlb2YgYj09InN0cmluZyImJiFqLnRlc3QoYikmJihiPWIudG9Mb3dlckNh c2UoKSxlPWIsZz10KSxnKCJwYXJlbnROb2RlIixiLGYsYSxlLGMpfSwifiI6ZnVu Y3Rpb24oYSxiLGMpe3ZhciBlLGY9ZCsrLGc9dTt0eXBlb2YgYj09InN0cmluZyIm JiFqLnRlc3QoYikmJihiPWIudG9Mb3dlckNhc2UoKSxlPWIsZz10KSxnKCJwcmV2 aW91c1NpYmxpbmciLGIsZixhLGUsYyl9fSxmaW5kOntJRDpmdW5jdGlvbihhLGIs Yyl7aWYodHlwZW9mIGIuZ2V0RWxlbWVudEJ5SWQhPSJ1bmRlZmluZWQiJiYhYyl7 dmFyIGQ9Yi5nZXRFbGVtZW50QnlJZChhWzFdKTtyZXR1cm4gZCYmZC5wYXJlbnRO b2RlP1tkXTpbXX19LE5BTUU6ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYi5nZXRF bGVtZW50c0J5TmFtZSE9InVuZGVmaW5lZCIpe3ZhciBjPVtdLGQ9Yi5nZXRFbGVt ZW50c0J5TmFtZShhWzFdKTtmb3IodmFyIGU9MCxmPWQubGVuZ3RoO2U8ZjtlKysp ZFtlXS5nZXRBdHRyaWJ1dGUoIm5hbWUiKT09PWFbMV0mJmMucHVzaChkW2VdKTty ZXR1cm4gYy5sZW5ndGg9PT0wP251bGw6Y319LFRBRzpmdW5jdGlvbihhLGIpe2lm KHR5cGVvZiBiLmdldEVsZW1lbnRzQnlUYWdOYW1lIT0idW5kZWZpbmVkIilyZXR1 cm4gYi5nZXRFbGVtZW50c0J5VGFnTmFtZShhWzFdKX19LHByZUZpbHRlcjp7Q0xB U1M6ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2E9IiAiK2FbMV0ucmVwbGFjZShpLCIi KSsiICI7aWYoZilyZXR1cm4gYTtmb3IodmFyIGc9MCxoOyhoPWJbZ10pIT1udWxs O2crKyloJiYoZV4oaC5jbGFzc05hbWUmJigiICIraC5jbGFzc05hbWUrIiAiKS5y ZXBsYWNlKC9bXHRcblxyXS9nLCIgIikuaW5kZXhPZihhKT49MCk/Y3x8ZC5wdXNo KGgpOmMmJihiW2ddPSExKSk7cmV0dXJuITF9LElEOmZ1bmN0aW9uKGEpe3JldHVy biBhWzFdLnJlcGxhY2UoaSwiIil9LFRBRzpmdW5jdGlvbihhLGIpe3JldHVybiBh WzFdLnJlcGxhY2UoaSwiIikudG9Mb3dlckNhc2UoKX0sQ0hJTEQ6ZnVuY3Rpb24o YSl7aWYoYVsxXT09PSJudGgiKXthWzJdfHxrLmVycm9yKGFbMF0pLGFbMl09YVsy XS5yZXBsYWNlKC9eXCt8XHMqL2csIiIpO3ZhciBiPS8oLT8pKFxkKikoPzpuKFsr XC1dP1xkKikpPy8uZXhlYyhhWzJdPT09ImV2ZW4iJiYiMm4ifHxhWzJdPT09Im9k ZCImJiIybisxInx8IS9cRC8udGVzdChhWzJdKSYmIjBuKyIrYVsyXXx8YVsyXSk7 YVsyXT1iWzFdKyhiWzJdfHwxKS0wLGFbM109YlszXS0wfWVsc2UgYVsyXSYmay5l cnJvcihhWzBdKTthWzBdPWQrKztyZXR1cm4gYX0sQVRUUjpmdW5jdGlvbihhLGIs YyxkLGUsZil7dmFyIGc9YVsxXT1hWzFdLnJlcGxhY2UoaSwiIik7IWYmJmwuYXR0 ck1hcFtnXSYmKGFbMV09bC5hdHRyTWFwW2ddKSxhWzRdPShhWzRdfHxhWzVdfHwi IikucmVwbGFjZShpLCIiKSxhWzJdPT09In49IiYmKGFbNF09IiAiK2FbNF0rIiAi KTtyZXR1cm4gYX0sUFNFVURPOmZ1bmN0aW9uKGIsYyxkLGUsZil7aWYoYlsxXT09 PSJub3QiKWlmKChhLmV4ZWMoYlszXSl8fCIiKS5sZW5ndGg+MXx8L15cdy8udGVz dChiWzNdKSliWzNdPWsoYlszXSxudWxsLG51bGwsYyk7ZWxzZXt2YXIgZz1rLmZp bHRlcihiWzNdLGMsZCwhMF5mKTtkfHxlLnB1c2guYXBwbHkoZSxnKTtyZXR1cm4h MX1lbHNlIGlmKGwubWF0Y2guUE9TLnRlc3QoYlswXSl8fGwubWF0Y2guQ0hJTEQu dGVzdChiWzBdKSlyZXR1cm4hMDtyZXR1cm4gYn0sUE9TOmZ1bmN0aW9uKGEpe2Eu dW5zaGlmdCghMCk7cmV0dXJuIGF9fSxmaWx0ZXJzOntlbmFibGVkOmZ1bmN0aW9u KGEpe3JldHVybiBhLmRpc2FibGVkPT09ITEmJmEudHlwZSE9PSJoaWRkZW4ifSxk aXNhYmxlZDpmdW5jdGlvbihhKXtyZXR1cm4gYS5kaXNhYmxlZD09PSEwfSxjaGVj a2VkOmZ1bmN0aW9uKGEpe3JldHVybiBhLmNoZWNrZWQ9PT0hMH0sc2VsZWN0ZWQ6 ZnVuY3Rpb24oYSl7YS5wYXJlbnROb2RlJiZhLnBhcmVudE5vZGUuc2VsZWN0ZWRJ bmRleDtyZXR1cm4gYS5zZWxlY3RlZD09PSEwfSxwYXJlbnQ6ZnVuY3Rpb24oYSl7 cmV0dXJuISFhLmZpcnN0Q2hpbGR9LGVtcHR5OmZ1bmN0aW9uKGEpe3JldHVybiFh LmZpcnN0Q2hpbGR9LGhhczpmdW5jdGlvbihhLGIsYyl7cmV0dXJuISFrKGNbM10s YSkubGVuZ3RofSxoZWFkZXI6ZnVuY3Rpb24oYSl7cmV0dXJuL2hcZC9pLnRlc3Qo YS5ub2RlTmFtZSl9LHRleHQ6ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXRBdHRyaWJ1 dGUoInR5cGUiKSxjPWEudHlwZTtyZXR1cm4gYS5ub2RlTmFtZS50b0xvd2VyQ2Fz ZSgpPT09ImlucHV0IiYmInRleHQiPT09YyYmKGI9PT1jfHxiPT09bnVsbCl9LHJh ZGlvOmZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9 PT0iaW5wdXQiJiYicmFkaW8iPT09YS50eXBlfSxjaGVja2JveDpmdW5jdGlvbihh KXtyZXR1cm4gYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09ImlucHV0IiYmImNo ZWNrYm94Ij09PWEudHlwZX0sZmlsZTpmdW5jdGlvbihhKXtyZXR1cm4gYS5ub2Rl TmFtZS50b0xvd2VyQ2FzZSgpPT09ImlucHV0IiYmImZpbGUiPT09YS50eXBlfSxw YXNzd29yZDpmdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlTmFtZS50b0xvd2VyQ2Fz ZSgpPT09ImlucHV0IiYmInBhc3N3b3JkIj09PWEudHlwZX0sc3VibWl0OmZ1bmN0 aW9uKGEpe3ZhciBiPWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4oYj09 PSJpbnB1dCJ8fGI9PT0iYnV0dG9uIikmJiJzdWJtaXQiPT09YS50eXBlfSxpbWFn ZTpmdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09 ImlucHV0IiYmImltYWdlIj09PWEudHlwZX0scmVzZXQ6ZnVuY3Rpb24oYSl7dmFy IGI9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybihiPT09ImlucHV0Inx8 Yj09PSJidXR0b24iKSYmInJlc2V0Ij09PWEudHlwZX0sYnV0dG9uOmZ1bmN0aW9u KGEpe3ZhciBiPWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4gYj09PSJp bnB1dCImJiJidXR0b24iPT09YS50eXBlfHxiPT09ImJ1dHRvbiJ9LGlucHV0OmZ1 bmN0aW9uKGEpe3JldHVybi9pbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uL2ku dGVzdChhLm5vZGVOYW1lKX0sZm9jdXM6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1h Lm93bmVyRG9jdW1lbnQuYWN0aXZlRWxlbWVudH19LHNldEZpbHRlcnM6e2ZpcnN0 OmZ1bmN0aW9uKGEsYil7cmV0dXJuIGI9PT0wfSxsYXN0OmZ1bmN0aW9uKGEsYixj LGQpe3JldHVybiBiPT09ZC5sZW5ndGgtMX0sZXZlbjpmdW5jdGlvbihhLGIpe3Jl dHVybiBiJTI9PT0wfSxvZGQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYiUyPT09MX0s bHQ6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBiPGNbM10tMH0sZ3Q6ZnVuY3Rpb24o YSxiLGMpe3JldHVybiBiPmNbM10tMH0sbnRoOmZ1bmN0aW9uKGEsYixjKXtyZXR1 cm4gY1szXS0wPT09Yn0sZXE6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjWzNdLTA9 PT1ifX0sZmlsdGVyOntQU0VVRE86ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9Ylsx XSxmPWwuZmlsdGVyc1tlXTtpZihmKXJldHVybiBmKGEsYyxiLGQpO2lmKGU9PT0i Y29udGFpbnMiKXJldHVybihhLnRleHRDb250ZW50fHxhLmlubmVyVGV4dHx8ay5n ZXRUZXh0KFthXSl8fCIiKS5pbmRleE9mKGJbM10pPj0wO2lmKGU9PT0ibm90Iil7 dmFyIGc9YlszXTtmb3IodmFyIGg9MCxpPWcubGVuZ3RoO2g8aTtoKyspaWYoZ1to XT09PWEpcmV0dXJuITE7cmV0dXJuITB9ay5lcnJvcihlKX0sQ0hJTEQ6ZnVuY3Rp b24oYSxiKXt2YXIgYz1iWzFdLGQ9YTtzd2l0Y2goYyl7Y2FzZSJvbmx5IjpjYXNl ImZpcnN0Ijp3aGlsZShkPWQucHJldmlvdXNTaWJsaW5nKWlmKGQubm9kZVR5cGU9 PT0xKXJldHVybiExO2lmKGM9PT0iZmlyc3QiKXJldHVybiEwO2Q9YTtjYXNlImxh c3QiOndoaWxlKGQ9ZC5uZXh0U2libGluZylpZihkLm5vZGVUeXBlPT09MSlyZXR1 cm4hMTtyZXR1cm4hMDtjYXNlIm50aCI6dmFyIGU9YlsyXSxmPWJbM107aWYoZT09 PTEmJmY9PT0wKXJldHVybiEwO3ZhciBnPWJbMF0saD1hLnBhcmVudE5vZGU7aWYo aCYmKGguc2l6Y2FjaGUhPT1nfHwhYS5ub2RlSW5kZXgpKXt2YXIgaT0wO2Zvcihk PWguZmlyc3RDaGlsZDtkO2Q9ZC5uZXh0U2libGluZylkLm5vZGVUeXBlPT09MSYm KGQubm9kZUluZGV4PSsraSk7aC5zaXpjYWNoZT1nfXZhciBqPWEubm9kZUluZGV4 LWY7cmV0dXJuIGU9PT0wP2o9PT0wOmolZT09PTAmJmovZT49MH19LElEOmZ1bmN0 aW9uKGEsYil7cmV0dXJuIGEubm9kZVR5cGU9PT0xJiZhLmdldEF0dHJpYnV0ZSgi aWQiKT09PWJ9LFRBRzpmdW5jdGlvbihhLGIpe3JldHVybiBiPT09IioiJiZhLm5v ZGVUeXBlPT09MXx8YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09Yn0sQ0xBU1M6 ZnVuY3Rpb24oYSxiKXtyZXR1cm4oIiAiKyhhLmNsYXNzTmFtZXx8YS5nZXRBdHRy aWJ1dGUoImNsYXNzIikpKyIgIikuaW5kZXhPZihiKT4tMX0sQVRUUjpmdW5jdGlv bihhLGIpe3ZhciBjPWJbMV0sZD1sLmF0dHJIYW5kbGVbY10/bC5hdHRySGFuZGxl W2NdKGEpOmFbY10hPW51bGw/YVtjXTphLmdldEF0dHJpYnV0ZShjKSxlPWQrIiIs Zj1iWzJdLGc9Yls0XTtyZXR1cm4gZD09bnVsbD9mPT09IiE9IjpmPT09Ij0iP2U9 PT1nOmY9PT0iKj0iP2UuaW5kZXhPZihnKT49MDpmPT09In49Ij8oIiAiK2UrIiAi KS5pbmRleE9mKGcpPj0wOmc/Zj09PSIhPSI/ZSE9PWc6Zj09PSJePSI/ZS5pbmRl eE9mKGcpPT09MDpmPT09IiQ9Ij9lLnN1YnN0cihlLmxlbmd0aC1nLmxlbmd0aCk9 PT1nOmY9PT0ifD0iP2U9PT1nfHxlLnN1YnN0cigwLGcubGVuZ3RoKzEpPT09Zysi LSI6ITE6ZSYmZCE9PSExfSxQT1M6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9Ylsy XSxmPWwuc2V0RmlsdGVyc1tlXTtpZihmKXJldHVybiBmKGEsYyxiLGQpfX19LG09 bC5tYXRjaC5QT1Msbj1mdW5jdGlvbihhLGIpe3JldHVybiJcXCIrKGItMCsxKX07 Zm9yKHZhciBvIGluIGwubWF0Y2gpbC5tYXRjaFtvXT1uZXcgUmVnRXhwKGwubWF0 Y2hbb10uc291cmNlKy8oPyFbXlxbXSpcXSkoPyFbXlwoXSpcKSkvLnNvdXJjZSks bC5sZWZ0TWF0Y2hbb109bmV3IFJlZ0V4cCgvKF4oPzoufFxyfFxuKSo/KS8uc291 cmNlK2wubWF0Y2hbb10uc291cmNlLnJlcGxhY2UoL1xcKFxkKykvZyxuKSk7dmFy IHA9ZnVuY3Rpb24oYSxiKXthPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGEs MCk7aWYoYil7Yi5wdXNoLmFwcGx5KGIsYSk7cmV0dXJuIGJ9cmV0dXJuIGF9O3Ry eXtBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChjLmRvY3VtZW50RWxlbWVudC5j aGlsZE5vZGVzLDApWzBdLm5vZGVUeXBlfWNhdGNoKHEpe3A9ZnVuY3Rpb24oYSxi KXt2YXIgYz0wLGQ9Ynx8W107aWYoZS5jYWxsKGEpPT09IltvYmplY3QgQXJyYXld IilBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShkLGEpO2Vsc2UgaWYodHlwZW9m IGEubGVuZ3RoPT0ibnVtYmVyIilmb3IodmFyIGY9YS5sZW5ndGg7YzxmO2MrKylk LnB1c2goYVtjXSk7ZWxzZSBmb3IoO2FbY107YysrKWQucHVzaChhW2NdKTtyZXR1 cm4gZH19dmFyIHIscztjLmRvY3VtZW50RWxlbWVudC5jb21wYXJlRG9jdW1lbnRQ b3NpdGlvbj9yPWZ1bmN0aW9uKGEsYil7aWYoYT09PWIpe2c9ITA7cmV0dXJuIDB9 aWYoIWEuY29tcGFyZURvY3VtZW50UG9zaXRpb258fCFiLmNvbXBhcmVEb2N1bWVu dFBvc2l0aW9uKXJldHVybiBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uPy0xOjE7 cmV0dXJuIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikmND8tMToxfToocj1m dW5jdGlvbihhLGIpe2lmKGE9PT1iKXtnPSEwO3JldHVybiAwfWlmKGEuc291cmNl SW5kZXgmJmIuc291cmNlSW5kZXgpcmV0dXJuIGEuc291cmNlSW5kZXgtYi5zb3Vy Y2VJbmRleDt2YXIgYyxkLGU9W10sZj1bXSxoPWEucGFyZW50Tm9kZSxpPWIucGFy ZW50Tm9kZSxqPWg7aWYoaD09PWkpcmV0dXJuIHMoYSxiKTtpZighaClyZXR1cm4t MTtpZighaSlyZXR1cm4gMTt3aGlsZShqKWUudW5zaGlmdChqKSxqPWoucGFyZW50 Tm9kZTtqPWk7d2hpbGUoailmLnVuc2hpZnQoaiksaj1qLnBhcmVudE5vZGU7Yz1l Lmxlbmd0aCxkPWYubGVuZ3RoO2Zvcih2YXIgaz0wO2s8YyYmazxkO2srKylpZihl W2tdIT09ZltrXSlyZXR1cm4gcyhlW2tdLGZba10pO3JldHVybiBrPT09Yz9zKGEs ZltrXSwtMSk6cyhlW2tdLGIsMSl9LHM9ZnVuY3Rpb24oYSxiLGMpe2lmKGE9PT1i KXJldHVybiBjO3ZhciBkPWEubmV4dFNpYmxpbmc7d2hpbGUoZCl7aWYoZD09PWIp cmV0dXJuLTE7ZD1kLm5leHRTaWJsaW5nfXJldHVybiAxfSksay5nZXRUZXh0PWZ1 bmN0aW9uKGEpe3ZhciBiPSIiLGM7Zm9yKHZhciBkPTA7YVtkXTtkKyspYz1hW2Rd LGMubm9kZVR5cGU9PT0zfHxjLm5vZGVUeXBlPT09ND9iKz1jLm5vZGVWYWx1ZTpj Lm5vZGVUeXBlIT09OCYmKGIrPWsuZ2V0VGV4dChjLmNoaWxkTm9kZXMpKTtyZXR1 cm4gYn0sZnVuY3Rpb24oKXt2YXIgYT1jLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQ9 InNjcmlwdCIrKG5ldyBEYXRlKS5nZXRUaW1lKCksZT1jLmRvY3VtZW50RWxlbWVu dDthLmlubmVySFRNTD0iPGEgbmFtZT0nIitkKyInLz4iLGUuaW5zZXJ0QmVmb3Jl KGEsZS5maXJzdENoaWxkKSxjLmdldEVsZW1lbnRCeUlkKGQpJiYobC5maW5kLklE PWZ1bmN0aW9uKGEsYyxkKXtpZih0eXBlb2YgYy5nZXRFbGVtZW50QnlJZCE9InVu ZGVmaW5lZCImJiFkKXt2YXIgZT1jLmdldEVsZW1lbnRCeUlkKGFbMV0pO3JldHVy biBlP2UuaWQ9PT1hWzFdfHx0eXBlb2YgZS5nZXRBdHRyaWJ1dGVOb2RlIT0idW5k ZWZpbmVkIiYmZS5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpLm5vZGVWYWx1ZT09PWFb MV0/W2VdOmI6W119fSxsLmZpbHRlci5JRD1mdW5jdGlvbihhLGIpe3ZhciBjPXR5 cGVvZiBhLmdldEF0dHJpYnV0ZU5vZGUhPSJ1bmRlZmluZWQiJiZhLmdldEF0dHJp YnV0ZU5vZGUoImlkIik7cmV0dXJuIGEubm9kZVR5cGU9PT0xJiZjJiZjLm5vZGVW YWx1ZT09PWJ9KSxlLnJlbW92ZUNoaWxkKGEpLGU9YT1udWxsfSgpLGZ1bmN0aW9u KCl7dmFyIGE9Yy5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmFwcGVuZENoaWxkKGMu Y3JlYXRlQ29tbWVudCgiIikpLGEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKS5s ZW5ndGg+MCYmKGwuZmluZC5UQUc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmdldEVs ZW1lbnRzQnlUYWdOYW1lKGFbMV0pO2lmKGFbMV09PT0iKiIpe3ZhciBkPVtdO2Zv cih2YXIgZT0wO2NbZV07ZSsrKWNbZV0ubm9kZVR5cGU9PT0xJiZkLnB1c2goY1tl XSk7Yz1kfXJldHVybiBjfSksYS5pbm5lckhUTUw9IjxhIGhyZWY9JyMnPjwvYT4i LGEuZmlyc3RDaGlsZCYmdHlwZW9mIGEuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUh PSJ1bmRlZmluZWQiJiZhLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJocmVmIikh PT0iIyImJihsLmF0dHJIYW5kbGUuaHJlZj1mdW5jdGlvbihhKXtyZXR1cm4gYS5n ZXRBdHRyaWJ1dGUoImhyZWYiLDIpfSksYT1udWxsfSgpLGMucXVlcnlTZWxlY3Rv ckFsbCYmZnVuY3Rpb24oKXt2YXIgYT1rLGI9Yy5jcmVhdGVFbGVtZW50KCJkaXYi KSxkPSJfX3NpenpsZV9fIjtiLmlubmVySFRNTD0iPHAgY2xhc3M9J1RFU1QnPjwv cD4iO2lmKCFiLnF1ZXJ5U2VsZWN0b3JBbGx8fGIucXVlcnlTZWxlY3RvckFsbCgi LlRFU1QiKS5sZW5ndGghPT0wKXtrPWZ1bmN0aW9uKGIsZSxmLGcpe2U9ZXx8Yztp ZighZyYmIWsuaXNYTUwoZSkpe3ZhciBoPS9eKFx3KyQpfF5cLihbXHdcLV0rJCl8 XiMoW1x3XC1dKyQpLy5leGVjKGIpO2lmKGgmJihlLm5vZGVUeXBlPT09MXx8ZS5u b2RlVHlwZT09PTkpKXtpZihoWzFdKXJldHVybiBwKGUuZ2V0RWxlbWVudHNCeVRh Z05hbWUoYiksZik7aWYoaFsyXSYmbC5maW5kLkNMQVNTJiZlLmdldEVsZW1lbnRz QnlDbGFzc05hbWUpcmV0dXJuIHAoZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGhb Ml0pLGYpfWlmKGUubm9kZVR5cGU9PT05KXtpZihiPT09ImJvZHkiJiZlLmJvZHkp cmV0dXJuIHAoW2UuYm9keV0sZik7aWYoaCYmaFszXSl7dmFyIGk9ZS5nZXRFbGVt ZW50QnlJZChoWzNdKTtpZighaXx8IWkucGFyZW50Tm9kZSlyZXR1cm4gcChbXSxm KTtpZihpLmlkPT09aFszXSlyZXR1cm4gcChbaV0sZil9dHJ5e3JldHVybiBwKGUu cXVlcnlTZWxlY3RvckFsbChiKSxmKX1jYXRjaChqKXt9fWVsc2UgaWYoZS5ub2Rl VHlwZT09PTEmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSE9PSJvYmplY3QiKXt2 YXIgbT1lLG49ZS5nZXRBdHRyaWJ1dGUoImlkIiksbz1ufHxkLHE9ZS5wYXJlbnRO b2RlLHI9L15ccypbK35dLy50ZXN0KGIpO24/bz1vLnJlcGxhY2UoLycvZywiXFwk JiIpOmUuc2V0QXR0cmlidXRlKCJpZCIsbyksciYmcSYmKGU9ZS5wYXJlbnROb2Rl KTt0cnl7aWYoIXJ8fHEpcmV0dXJuIHAoZS5xdWVyeVNlbGVjdG9yQWxsKCJbaWQ9 JyIrbysiJ10gIitiKSxmKX1jYXRjaChzKXt9ZmluYWxseXtufHxtLnJlbW92ZUF0 dHJpYnV0ZSgiaWQiKX19fXJldHVybiBhKGIsZSxmLGcpfTtmb3IodmFyIGUgaW4g YSlrW2VdPWFbZV07Yj1udWxsfX0oKSxmdW5jdGlvbigpe3ZhciBhPWMuZG9jdW1l bnRFbGVtZW50LGI9YS5tYXRjaGVzU2VsZWN0b3J8fGEubW96TWF0Y2hlc1NlbGVj dG9yfHxhLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8YS5tc01hdGNoZXNTZWxlY3Rv cjtpZihiKXt2YXIgZD0hYi5jYWxsKGMuY3JlYXRlRWxlbWVudCgiZGl2IiksImRp diIpLGU9ITE7dHJ5e2IuY2FsbChjLmRvY3VtZW50RWxlbWVudCwiW3Rlc3QhPScn XTpzaXp6bGUiKX1jYXRjaChmKXtlPSEwfWsubWF0Y2hlc1NlbGVjdG9yPWZ1bmN0 aW9uKGEsYyl7Yz1jLnJlcGxhY2UoL1w9XHMqKFteJyJcXV0qKVxzKlxdL2csIj0n JDEnXSIpO2lmKCFrLmlzWE1MKGEpKXRyeXtpZihlfHwhbC5tYXRjaC5QU0VVRE8u dGVzdChjKSYmIS8hPS8udGVzdChjKSl7dmFyIGY9Yi5jYWxsKGEsYyk7aWYoZnx8 IWR8fGEuZG9jdW1lbnQmJmEuZG9jdW1lbnQubm9kZVR5cGUhPT0xMSlyZXR1cm4g Zn19Y2F0Y2goZyl7fXJldHVybiBrKGMsbnVsbCxudWxsLFthXSkubGVuZ3RoPjB9 fX0oKSxmdW5jdGlvbigpe3ZhciBhPWMuY3JlYXRlRWxlbWVudCgiZGl2Iik7YS5p bm5lckhUTUw9IjxkaXYgY2xhc3M9J3Rlc3QgZSc+PC9kaXY+PGRpdiBjbGFzcz0n dGVzdCc+PC9kaXY+IjtpZighIWEuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmYS5n ZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJlIikubGVuZ3RoIT09MCl7YS5sYXN0Q2hp bGQuY2xhc3NOYW1lPSJlIjtpZihhLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImUi KS5sZW5ndGg9PT0xKXJldHVybjtsLm9yZGVyLnNwbGljZSgxLDAsIkNMQVNTIiks bC5maW5kLkNMQVNTPWZ1bmN0aW9uKGEsYixjKXtpZih0eXBlb2YgYi5nZXRFbGVt ZW50c0J5Q2xhc3NOYW1lIT0idW5kZWZpbmVkIiYmIWMpcmV0dXJuIGIuZ2V0RWxl bWVudHNCeUNsYXNzTmFtZShhWzFdKX0sYT1udWxsfX0oKSxjLmRvY3VtZW50RWxl bWVudC5jb250YWlucz9rLmNvbnRhaW5zPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEh PT1iJiYoYS5jb250YWlucz9hLmNvbnRhaW5zKGIpOiEwKX06Yy5kb2N1bWVudEVs ZW1lbnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24/ay5jb250YWlucz1mdW5jdGlv bihhLGIpe3JldHVybiEhKGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikmMTYp fTprLmNvbnRhaW5zPWZ1bmN0aW9uKCl7cmV0dXJuITF9LGsuaXNYTUw9ZnVuY3Rp b24oYSl7dmFyIGI9KGE/YS5vd25lckRvY3VtZW50fHxhOjApLmRvY3VtZW50RWxl bWVudDtyZXR1cm4gYj9iLm5vZGVOYW1lIT09IkhUTUwiOiExfTt2YXIgdj1mdW5j dGlvbihhLGIpe3ZhciBjLGQ9W10sZT0iIixmPWIubm9kZVR5cGU/W2JdOmI7d2hp bGUoYz1sLm1hdGNoLlBTRVVETy5leGVjKGEpKWUrPWNbMF0sYT1hLnJlcGxhY2Uo bC5tYXRjaC5QU0VVRE8sIiIpO2E9bC5yZWxhdGl2ZVthXT9hKyIqIjphO2Zvcih2 YXIgZz0wLGg9Zi5sZW5ndGg7ZzxoO2crKylrKGEsZltnXSxkKTtyZXR1cm4gay5m aWx0ZXIoZSxkKX07Zi5maW5kPWssZi5leHByPWsuc2VsZWN0b3JzLGYuZXhwclsi OiJdPWYuZXhwci5maWx0ZXJzLGYudW5pcXVlPWsudW5pcXVlU29ydCxmLnRleHQ9 ay5nZXRUZXh0LGYuaXNYTUxEb2M9ay5pc1hNTCxmLmNvbnRhaW5zPWsuY29udGFp bnN9KCk7dmFyIFA9L1VudGlsJC8sUT0vXig/OnBhcmVudHN8cHJldlVudGlsfHBy ZXZBbGwpLyxSPS8sLyxTPS9eLlteOiNcW1wuLF0qJC8sVD1BcnJheS5wcm90b3R5 cGUuc2xpY2UsVT1mLmV4cHIubWF0Y2guUE9TLFY9e2NoaWxkcmVuOiEwLGNvbnRl bnRzOiEwLG5leHQ6ITAscHJldjohMH07Zi5mbi5leHRlbmQoe2ZpbmQ6ZnVuY3Rp b24oYSl7dmFyIGI9dGhpcyxjLGQ7aWYodHlwZW9mIGEhPSJzdHJpbmciKXJldHVy biBmKGEpLmZpbHRlcihmdW5jdGlvbigpe2ZvcihjPTAsZD1iLmxlbmd0aDtjPGQ7 YysrKWlmKGYuY29udGFpbnMoYltjXSx0aGlzKSlyZXR1cm4hMH0pO3ZhciBlPXRo aXMucHVzaFN0YWNrKCIiLCJmaW5kIixhKSxnLGgsaTtmb3IoYz0wLGQ9dGhpcy5s ZW5ndGg7YzxkO2MrKyl7Zz1lLmxlbmd0aCxmLmZpbmQoYSx0aGlzW2NdLGUpO2lm KGM+MClmb3IoaD1nO2g8ZS5sZW5ndGg7aCsrKWZvcihpPTA7aTxnO2krKylpZihl W2ldPT09ZVtoXSl7ZS5zcGxpY2UoaC0tLDEpO2JyZWFrfX1yZXR1cm4gZX0saGFz OmZ1bmN0aW9uKGEpe3ZhciBiPWYoYSk7cmV0dXJuIHRoaXMuZmlsdGVyKGZ1bmN0 aW9uKCl7Zm9yKHZhciBhPTAsYz1iLmxlbmd0aDthPGM7YSsrKWlmKGYuY29udGFp bnModGhpcyxiW2FdKSlyZXR1cm4hMH0pfSxub3Q6ZnVuY3Rpb24oYSl7cmV0dXJu IHRoaXMucHVzaFN0YWNrKFgodGhpcyxhLCExKSwibm90IixhKX0sZmlsdGVyOmZ1 bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayhYKHRoaXMsYSwhMCksImZp bHRlciIsYSl9LGlzOmZ1bmN0aW9uKGEpe3JldHVybiEhYSYmKHR5cGVvZiBhPT0i c3RyaW5nIj9mLmZpbHRlcihhLHRoaXMpLmxlbmd0aD4wOnRoaXMuZmlsdGVyKGEp Lmxlbmd0aD4wKX0sY2xvc2VzdDpmdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQsZSxn PXRoaXNbMF07aWYoZi5pc0FycmF5KGEpKXt2YXIgaCxpLGo9e30saz0xO2lmKGcm JmEubGVuZ3RoKXtmb3IoZD0wLGU9YS5sZW5ndGg7ZDxlO2QrKylpPWFbZF0saltp XXx8KGpbaV09VS50ZXN0KGkpP2YoaSxifHx0aGlzLmNvbnRleHQpOmkpO3doaWxl KGcmJmcub3duZXJEb2N1bWVudCYmZyE9PWIpe2ZvcihpIGluIGopaD1qW2ldLCho LmpxdWVyeT9oLmluZGV4KGcpPi0xOmYoZykuaXMoaCkpJiZjLnB1c2goe3NlbGVj dG9yOmksZWxlbTpnLGxldmVsOmt9KTtnPWcucGFyZW50Tm9kZSxrKyt9fXJldHVy biBjfXZhciBsPVUudGVzdChhKXx8dHlwZW9mIGEhPSJzdHJpbmciP2YoYSxifHx0 aGlzLmNvbnRleHQpOjA7Zm9yKGQ9MCxlPXRoaXMubGVuZ3RoO2Q8ZTtkKyspe2c9 dGhpc1tkXTt3aGlsZShnKXtpZihsP2wuaW5kZXgoZyk+LTE6Zi5maW5kLm1hdGNo ZXNTZWxlY3RvcihnLGEpKXtjLnB1c2goZyk7YnJlYWt9Zz1nLnBhcmVudE5vZGU7 aWYoIWd8fCFnLm93bmVyRG9jdW1lbnR8fGc9PT1ifHxnLm5vZGVUeXBlPT09MTEp YnJlYWt9fWM9Yy5sZW5ndGg+MT9mLnVuaXF1ZShjKTpjO3JldHVybiB0aGlzLnB1 c2hTdGFjayhjLCJjbG9zZXN0IixhKX0saW5kZXg6ZnVuY3Rpb24oYSl7aWYoIWF8 fHR5cGVvZiBhPT0ic3RyaW5nIilyZXR1cm4gZi5pbkFycmF5KHRoaXNbMF0sYT9m KGEpOnRoaXMucGFyZW50KCkuY2hpbGRyZW4oKSk7cmV0dXJuIGYuaW5BcnJheShh LmpxdWVyeT9hWzBdOmEsdGhpcyl9LGFkZDpmdW5jdGlvbihhLGIpe3ZhciBjPXR5 cGVvZiBhPT0ic3RyaW5nIj9mKGEsYik6Zi5tYWtlQXJyYXkoYSYmYS5ub2RlVHlw ZT9bYV06YSksZD1mLm1lcmdlKHRoaXMuZ2V0KCksYyk7cmV0dXJuIHRoaXMucHVz aFN0YWNrKFcoY1swXSl8fFcoZFswXSk/ZDpmLnVuaXF1ZShkKSl9LGFuZFNlbGY6 ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hZGQodGhpcy5wcmV2T2JqZWN0KX19KSxm LmVhY2goe3BhcmVudDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0 dXJuIGImJmIubm9kZVR5cGUhPT0xMT9iOm51bGx9LHBhcmVudHM6ZnVuY3Rpb24o YSl7cmV0dXJuIGYuZGlyKGEsInBhcmVudE5vZGUiKX0scGFyZW50c1VudGlsOmZ1 bmN0aW9uKGEsYixjKXtyZXR1cm4gZi5kaXIoYSwicGFyZW50Tm9kZSIsYyl9LG5l eHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGYubnRoKGEsMiwibmV4dFNpYmxpbmciKX0s cHJldjpmdW5jdGlvbihhKXtyZXR1cm4gZi5udGgoYSwyLCJwcmV2aW91c1NpYmxp bmciKX0sbmV4dEFsbDpmdW5jdGlvbihhKXtyZXR1cm4gZi5kaXIoYSwibmV4dFNp YmxpbmciKX0scHJldkFsbDpmdW5jdGlvbihhKXtyZXR1cm4gZi5kaXIoYSwicHJl dmlvdXNTaWJsaW5nIil9LG5leHRVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJu IGYuZGlyKGEsIm5leHRTaWJsaW5nIixjKX0scHJldlVudGlsOmZ1bmN0aW9uKGEs YixjKXtyZXR1cm4gZi5kaXIoYSwicHJldmlvdXNTaWJsaW5nIixjKX0sc2libGlu Z3M6ZnVuY3Rpb24oYSl7cmV0dXJuIGYuc2libGluZyhhLnBhcmVudE5vZGUuZmly c3RDaGlsZCxhKX0sY2hpbGRyZW46ZnVuY3Rpb24oYSl7cmV0dXJuIGYuc2libGlu ZyhhLmZpcnN0Q2hpbGQpfSxjb250ZW50czpmdW5jdGlvbihhKXtyZXR1cm4gZi5u b2RlTmFtZShhLCJpZnJhbWUiKT9hLmNvbnRlbnREb2N1bWVudHx8YS5jb250ZW50 V2luZG93LmRvY3VtZW50OmYubWFrZUFycmF5KGEuY2hpbGROb2Rlcyl9fSxmdW5j dGlvbihhLGIpe2YuZm5bYV09ZnVuY3Rpb24oYyxkKXt2YXIgZT1mLm1hcCh0aGlz LGIsYyksZz1ULmNhbGwoYXJndW1lbnRzKTtQLnRlc3QoYSl8fChkPWMpLGQmJnR5 cGVvZiBkPT0ic3RyaW5nIiYmKGU9Zi5maWx0ZXIoZCxlKSksZT10aGlzLmxlbmd0 aD4xJiYhVlthXT9mLnVuaXF1ZShlKTplLCh0aGlzLmxlbmd0aD4xfHxSLnRlc3Qo ZCkpJiZRLnRlc3QoYSkmJihlPWUucmV2ZXJzZSgpKTtyZXR1cm4gdGhpcy5wdXNo U3RhY2soZSxhLGcuam9pbigiLCIpKX19KSxmLmV4dGVuZCh7ZmlsdGVyOmZ1bmN0 aW9uKGEsYixjKXtjJiYoYT0iOm5vdCgiK2ErIikiKTtyZXR1cm4gYi5sZW5ndGg9 PT0xP2YuZmluZC5tYXRjaGVzU2VsZWN0b3IoYlswXSxhKT9bYlswXV06W106Zi5m aW5kLm1hdGNoZXMoYSxiKX0sZGlyOmZ1bmN0aW9uKGEsYyxkKXt2YXIgZT1bXSxn PWFbY107d2hpbGUoZyYmZy5ub2RlVHlwZSE9PTkmJihkPT09Ynx8Zy5ub2RlVHlw ZSE9PTF8fCFmKGcpLmlzKGQpKSlnLm5vZGVUeXBlPT09MSYmZS5wdXNoKGcpLGc9 Z1tjXTtyZXR1cm4gZX0sbnRoOmZ1bmN0aW9uKGEsYixjLGQpe2I9Ynx8MTt2YXIg ZT0wO2Zvcig7YTthPWFbY10paWYoYS5ub2RlVHlwZT09PTEmJisrZT09PWIpYnJl YWs7cmV0dXJuIGF9LHNpYmxpbmc6ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtmb3Io O2E7YT1hLm5leHRTaWJsaW5nKWEubm9kZVR5cGU9PT0xJiZhIT09YiYmYy5wdXNo KGEpO3JldHVybiBjfX0pO3ZhciBZPS8galF1ZXJ5XGQrPSIoPzpcZCt8bnVsbCki L2csWj0vXlxzKy8sJD0vPCg/IWFyZWF8YnJ8Y29sfGVtYmVkfGhyfGltZ3xpbnB1 dHxsaW5rfG1ldGF8cGFyYW0pKChbXHc6XSspW14+XSopXC8+L2lnLF89LzwoW1x3 Ol0rKS8sYmE9Lzx0Ym9keS9pLGJiPS88fCYjP1x3KzsvLGJjPS88KD86c2NyaXB0 fG9iamVjdHxlbWJlZHxvcHRpb258c3R5bGUpL2ksYmQ9L2NoZWNrZWRccyooPzpb Xj1dfD1ccyouY2hlY2tlZC4pL2ksYmU9L1wvKGphdmF8ZWNtYSlzY3JpcHQvaSxi Zj0vXlxzKjwhKD86XFtDREFUQVxbfFwtXC0pLyxiZz17b3B0aW9uOlsxLCI8c2Vs ZWN0IG11bHRpcGxlPSdtdWx0aXBsZSc+IiwiPC9zZWxlY3Q+Il0sbGVnZW5kOlsx LCI8ZmllbGRzZXQ+IiwiPC9maWVsZHNldD4iXSx0aGVhZDpbMSwiPHRhYmxlPiIs IjwvdGFibGU+Il0sdHI6WzIsIjx0YWJsZT48dGJvZHk+IiwiPC90Ym9keT48L3Rh YmxlPiJdLHRkOlszLCI8dGFibGU+PHRib2R5Pjx0cj4iLCI8L3RyPjwvdGJvZHk+ PC90YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48dGJvZHk+PC90Ym9keT48Y29sZ3Jv dXA+IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLGFyZWE6WzEsIjxtYXA+IiwiPC9t YXA+Il0sX2RlZmF1bHQ6WzAsIiIsIiJdfTtiZy5vcHRncm91cD1iZy5vcHRpb24s YmcudGJvZHk9YmcudGZvb3Q9YmcuY29sZ3JvdXA9YmcuY2FwdGlvbj1iZy50aGVh ZCxiZy50aD1iZy50ZCxmLnN1cHBvcnQuaHRtbFNlcmlhbGl6ZXx8KGJnLl9kZWZh dWx0PVsxLCJkaXY8ZGl2PiIsIjwvZGl2PiJdKSxmLmZuLmV4dGVuZCh7dGV4dDpm dW5jdGlvbihhKXtpZihmLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChm dW5jdGlvbihiKXt2YXIgYz1mKHRoaXMpO2MudGV4dChhLmNhbGwodGhpcyxiLGMu dGV4dCgpKSl9KTtpZih0eXBlb2YgYSE9Im9iamVjdCImJmEhPT1iKXJldHVybiB0 aGlzLmVtcHR5KCkuYXBwZW5kKCh0aGlzWzBdJiZ0aGlzWzBdLm93bmVyRG9jdW1l bnR8fGMpLmNyZWF0ZVRleHROb2RlKGEpKTtyZXR1cm4gZi50ZXh0KHRoaXMpfSx3 cmFwQWxsOmZ1bmN0aW9uKGEpe2lmKGYuaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhp cy5lYWNoKGZ1bmN0aW9uKGIpe2YodGhpcykud3JhcEFsbChhLmNhbGwodGhpcyxi KSl9KTtpZih0aGlzWzBdKXt2YXIgYj1mKGEsdGhpc1swXS5vd25lckRvY3VtZW50 KS5lcSgwKS5jbG9uZSghMCk7dGhpc1swXS5wYXJlbnROb2RlJiZiLmluc2VydEJl Zm9yZSh0aGlzWzBdKSxiLm1hcChmdW5jdGlvbigpe3ZhciBhPXRoaXM7d2hpbGUo YS5maXJzdENoaWxkJiZhLmZpcnN0Q2hpbGQubm9kZVR5cGU9PT0xKWE9YS5maXJz dENoaWxkO3JldHVybiBhfSkuYXBwZW5kKHRoaXMpfXJldHVybiB0aGlzfSx3cmFw SW5uZXI6ZnVuY3Rpb24oYSl7aWYoZi5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlz LmVhY2goZnVuY3Rpb24oYil7Zih0aGlzKS53cmFwSW5uZXIoYS5jYWxsKHRoaXMs YikpfSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPWYodGhpcyks Yz1iLmNvbnRlbnRzKCk7Yy5sZW5ndGg/Yy53cmFwQWxsKGEpOmIuYXBwZW5kKGEp fSl9LHdyYXA6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigp e2YodGhpcykud3JhcEFsbChhKX0pfSx1bndyYXA6ZnVuY3Rpb24oKXtyZXR1cm4g dGhpcy5wYXJlbnQoKS5lYWNoKGZ1bmN0aW9uKCl7Zi5ub2RlTmFtZSh0aGlzLCJi b2R5Iil8fGYodGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pLmVu ZCgpfSxhcHBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1 bWVudHMsITAsZnVuY3Rpb24oYSl7dGhpcy5ub2RlVHlwZT09PTEmJnRoaXMuYXBw ZW5kQ2hpbGQoYSl9KX0scHJlcGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRv bU1hbmlwKGFyZ3VtZW50cywhMCxmdW5jdGlvbihhKXt0aGlzLm5vZGVUeXBlPT09 MSYmdGhpcy5pbnNlcnRCZWZvcmUoYSx0aGlzLmZpcnN0Q2hpbGQpfSl9LGJlZm9y ZTpmdW5jdGlvbigpe2lmKHRoaXNbMF0mJnRoaXNbMF0ucGFyZW50Tm9kZSlyZXR1 cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsITEsZnVuY3Rpb24oYSl7dGhpcy5w YXJlbnROb2RlLmluc2VydEJlZm9yZShhLHRoaXMpfSk7aWYoYXJndW1lbnRzLmxl bmd0aCl7dmFyIGE9Zihhcmd1bWVudHNbMF0pO2EucHVzaC5hcHBseShhLHRoaXMu dG9BcnJheSgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYSwiYmVmb3JlIixhcmd1 bWVudHMpfX0sYWZ0ZXI6ZnVuY3Rpb24oKXtpZih0aGlzWzBdJiZ0aGlzWzBdLnBh cmVudE5vZGUpcmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLCExLGZ1bmN0 aW9uKGEpe3RoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSx0aGlzLm5leHRT aWJsaW5nKX0pO2lmKGFyZ3VtZW50cy5sZW5ndGgpe3ZhciBhPXRoaXMucHVzaFN0 YWNrKHRoaXMsImFmdGVyIixhcmd1bWVudHMpO2EucHVzaC5hcHBseShhLGYoYXJn dW1lbnRzWzBdKS50b0FycmF5KCkpO3JldHVybiBhfX0scmVtb3ZlOmZ1bmN0aW9u KGEsYil7Zm9yKHZhciBjPTAsZDsoZD10aGlzW2NdKSE9bnVsbDtjKyspaWYoIWF8 fGYuZmlsdGVyKGEsW2RdKS5sZW5ndGgpIWImJmQubm9kZVR5cGU9PT0xJiYoZi5j bGVhbkRhdGEoZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpKSxmLmNsZWFuRGF0 YShbZF0pKSxkLnBhcmVudE5vZGUmJmQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChk KTtyZXR1cm4gdGhpc30sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIGE9MCxiOyhi PXRoaXNbYV0pIT1udWxsO2ErKyl7Yi5ub2RlVHlwZT09PTEmJmYuY2xlYW5EYXRh KGIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSk7d2hpbGUoYi5maXJzdENoaWxk KWIucmVtb3ZlQ2hpbGQoYi5maXJzdENoaWxkKX1yZXR1cm4gdGhpc30sY2xvbmU6 ZnVuY3Rpb24oYSxiKXthPWE9PW51bGw/ITE6YSxiPWI9PW51bGw/YTpiO3JldHVy biB0aGlzLm1hcChmdW5jdGlvbigpe3JldHVybiBmLmNsb25lKHRoaXMsYSxiKX0p fSxodG1sOmZ1bmN0aW9uKGEpe2lmKGE9PT1iKXJldHVybiB0aGlzWzBdJiZ0aGlz WzBdLm5vZGVUeXBlPT09MT90aGlzWzBdLmlubmVySFRNTC5yZXBsYWNlKFksIiIp Om51bGw7aWYodHlwZW9mIGE9PSJzdHJpbmciJiYhYmMudGVzdChhKSYmKGYuc3Vw cG9ydC5sZWFkaW5nV2hpdGVzcGFjZXx8IVoudGVzdChhKSkmJiFiZ1soXy5leGVj KGEpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpXSl7YT1hLnJlcGxhY2UoJCwi PCQxPjwvJDI+Iik7dHJ5e2Zvcih2YXIgYz0wLGQ9dGhpcy5sZW5ndGg7YzxkO2Mr Kyl0aGlzW2NdLm5vZGVUeXBlPT09MSYmKGYuY2xlYW5EYXRhKHRoaXNbY10uZ2V0 RWxlbWVudHNCeVRhZ05hbWUoIioiKSksdGhpc1tjXS5pbm5lckhUTUw9YSl9Y2F0 Y2goZSl7dGhpcy5lbXB0eSgpLmFwcGVuZChhKX19ZWxzZSBmLmlzRnVuY3Rpb24o YSk/dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe3ZhciBjPWYodGhpcyk7Yy5odG1sKGEu Y2FsbCh0aGlzLGIsYy5odG1sKCkpKX0pOnRoaXMuZW1wdHkoKS5hcHBlbmQoYSk7 cmV0dXJuIHRoaXN9LHJlcGxhY2VXaXRoOmZ1bmN0aW9uKGEpe2lmKHRoaXNbMF0m JnRoaXNbMF0ucGFyZW50Tm9kZSl7aWYoZi5pc0Z1bmN0aW9uKGEpKXJldHVybiB0 aGlzLmVhY2goZnVuY3Rpb24oYil7dmFyIGM9Zih0aGlzKSxkPWMuaHRtbCgpO2Mu cmVwbGFjZVdpdGgoYS5jYWxsKHRoaXMsYixkKSl9KTt0eXBlb2YgYSE9InN0cmlu ZyImJihhPWYoYSkuZGV0YWNoKCkpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24o KXt2YXIgYj10aGlzLm5leHRTaWJsaW5nLGM9dGhpcy5wYXJlbnROb2RlO2YodGhp cykucmVtb3ZlKCksYj9mKGIpLmJlZm9yZShhKTpmKGMpLmFwcGVuZChhKX0pfXJl dHVybiB0aGlzLmxlbmd0aD90aGlzLnB1c2hTdGFjayhmKGYuaXNGdW5jdGlvbihh KT9hKCk6YSksInJlcGxhY2VXaXRoIixhKTp0aGlzfSxkZXRhY2g6ZnVuY3Rpb24o YSl7cmV0dXJuIHRoaXMucmVtb3ZlKGEsITApfSxkb21NYW5pcDpmdW5jdGlvbihh LGMsZCl7dmFyIGUsZyxoLGksaj1hWzBdLGs9W107aWYoIWYuc3VwcG9ydC5jaGVj a0Nsb25lJiZhcmd1bWVudHMubGVuZ3RoPT09MyYmdHlwZW9mIGo9PSJzdHJpbmci JiZiZC50ZXN0KGopKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtmKHRoaXMp LmRvbU1hbmlwKGEsYyxkLCEwKX0pO2lmKGYuaXNGdW5jdGlvbihqKSlyZXR1cm4g dGhpcy5lYWNoKGZ1bmN0aW9uKGUpe3ZhciBnPWYodGhpcyk7YVswXT1qLmNhbGwo dGhpcyxlLGM/Zy5odG1sKCk6YiksZy5kb21NYW5pcChhLGMsZCl9KTtpZih0aGlz WzBdKXtpPWomJmoucGFyZW50Tm9kZSxmLnN1cHBvcnQucGFyZW50Tm9kZSYmaSYm aS5ub2RlVHlwZT09PTExJiZpLmNoaWxkTm9kZXMubGVuZ3RoPT09dGhpcy5sZW5n dGg/ZT17ZnJhZ21lbnQ6aX06ZT1mLmJ1aWxkRnJhZ21lbnQoYSx0aGlzLGspLGg9 ZS5mcmFnbWVudCxoLmNoaWxkTm9kZXMubGVuZ3RoPT09MT9nPWg9aC5maXJzdENo aWxkOmc9aC5maXJzdENoaWxkO2lmKGcpe2M9YyYmZi5ub2RlTmFtZShnLCJ0ciIp O2Zvcih2YXIgbD0wLG09dGhpcy5sZW5ndGgsbj1tLTE7bDxtO2wrKylkLmNhbGwo Yz9iaCh0aGlzW2xdLGcpOnRoaXNbbF0sZS5jYWNoZWFibGV8fG0+MSYmbDxuP2Yu Y2xvbmUoaCwhMCwhMCk6aCl9ay5sZW5ndGgmJmYuZWFjaChrLGJuKX1yZXR1cm4g dGhpc319KSxmLmJ1aWxkRnJhZ21lbnQ9ZnVuY3Rpb24oYSxiLGQpe3ZhciBlLGcs aCxpPWImJmJbMF0/YlswXS5vd25lckRvY3VtZW50fHxiWzBdOmM7YS5sZW5ndGg9 PT0xJiZ0eXBlb2YgYVswXT09InN0cmluZyImJmFbMF0ubGVuZ3RoPDUxMiYmaT09 PWMmJmFbMF0uY2hhckF0KDApPT09IjwiJiYhYmMudGVzdChhWzBdKSYmKGYuc3Vw cG9ydC5jaGVja0Nsb25lfHwhYmQudGVzdChhWzBdKSkmJihnPSEwLGg9Zi5mcmFn bWVudHNbYVswXV0saCYmaCE9PTEmJihlPWgpKSxlfHwoZT1pLmNyZWF0ZURvY3Vt ZW50RnJhZ21lbnQoKSxmLmNsZWFuKGEsaSxlLGQpKSxnJiYoZi5mcmFnbWVudHNb YVswXV09aD9lOjEpO3JldHVybntmcmFnbWVudDplLGNhY2hlYWJsZTpnfX0sZi5m cmFnbWVudHM9e30sZi5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86 InByZXBlbmQiLGluc2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0 ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0sZnVuY3Rpb24oYSxiKXtmLmZu W2FdPWZ1bmN0aW9uKGMpe3ZhciBkPVtdLGU9ZihjKSxnPXRoaXMubGVuZ3RoPT09 MSYmdGhpc1swXS5wYXJlbnROb2RlO2lmKGcmJmcubm9kZVR5cGU9PT0xMSYmZy5j aGlsZE5vZGVzLmxlbmd0aD09PTEmJmUubGVuZ3RoPT09MSl7ZVtiXSh0aGlzWzBd KTtyZXR1cm4gdGhpc31mb3IodmFyIGg9MCxpPWUubGVuZ3RoO2g8aTtoKyspe3Zh ciBqPShoPjA/dGhpcy5jbG9uZSghMCk6dGhpcykuZ2V0KCk7ZihlW2hdKVtiXShq KSxkPWQuY29uY2F0KGopfXJldHVybiB0aGlzLnB1c2hTdGFjayhkLGEsZS5zZWxl Y3Rvcil9fSksZi5leHRlbmQoe2Nsb25lOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1h LmNsb25lTm9kZSghMCksZSxnLGg7aWYoKCFmLnN1cHBvcnQubm9DbG9uZUV2ZW50 fHwhZi5zdXBwb3J0Lm5vQ2xvbmVDaGVja2VkKSYmKGEubm9kZVR5cGU9PT0xfHxh Lm5vZGVUeXBlPT09MTEpJiYhZi5pc1hNTERvYyhhKSl7YmooYSxkKSxlPWJrKGEp LGc9YmsoZCk7Zm9yKGg9MDtlW2hdOysraCliaihlW2hdLGdbaF0pfWlmKGIpe2Jp KGEsZCk7aWYoYyl7ZT1iayhhKSxnPWJrKGQpO2ZvcihoPTA7ZVtoXTsrK2gpYmko ZVtoXSxnW2hdKX19cmV0dXJuIGR9LGNsZWFuOmZ1bmN0aW9uKGEsYixkLGUpe3Zh ciBnO2I9Ynx8Yyx0eXBlb2YgYi5jcmVhdGVFbGVtZW50PT0idW5kZWZpbmVkIiYm KGI9Yi5vd25lckRvY3VtZW50fHxiWzBdJiZiWzBdLm93bmVyRG9jdW1lbnR8fGMp O3ZhciBoPVtdLGk7Zm9yKHZhciBqPTAsazsoaz1hW2pdKSE9bnVsbDtqKyspe3R5 cGVvZiBrPT0ibnVtYmVyIiYmKGsrPSIiKTtpZighayljb250aW51ZTtpZih0eXBl b2Ygaz09InN0cmluZyIpaWYoIWJiLnRlc3Qoaykpaz1iLmNyZWF0ZVRleHROb2Rl KGspO2Vsc2V7az1rLnJlcGxhY2UoJCwiPCQxPjwvJDI+Iik7dmFyIGw9KF8uZXhl YyhrKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKSxtPWJnW2xdfHxiZy5fZGVm YXVsdCxuPW1bMF0sbz1iLmNyZWF0ZUVsZW1lbnQoImRpdiIpO28uaW5uZXJIVE1M PW1bMV0rayttWzJdO3doaWxlKG4tLSlvPW8ubGFzdENoaWxkO2lmKCFmLnN1cHBv cnQudGJvZHkpe3ZhciBwPWJhLnRlc3QoaykscT1sPT09InRhYmxlIiYmIXA/by5m aXJzdENoaWxkJiZvLmZpcnN0Q2hpbGQuY2hpbGROb2RlczptWzFdPT09Ijx0YWJs ZT4iJiYhcD9vLmNoaWxkTm9kZXM6W107Zm9yKGk9cS5sZW5ndGgtMTtpPj0wOy0t aSlmLm5vZGVOYW1lKHFbaV0sInRib2R5IikmJiFxW2ldLmNoaWxkTm9kZXMubGVu Z3RoJiZxW2ldLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocVtpXSl9IWYuc3VwcG9y dC5sZWFkaW5nV2hpdGVzcGFjZSYmWi50ZXN0KGspJiZvLmluc2VydEJlZm9yZShi LmNyZWF0ZVRleHROb2RlKFouZXhlYyhrKVswXSksby5maXJzdENoaWxkKSxrPW8u Y2hpbGROb2Rlc312YXIgcjtpZighZi5zdXBwb3J0LmFwcGVuZENoZWNrZWQpaWYo a1swXSYmdHlwZW9mIChyPWsubGVuZ3RoKT09Im51bWJlciIpZm9yKGk9MDtpPHI7 aSsrKWJtKGtbaV0pO2Vsc2UgYm0oayk7ay5ub2RlVHlwZT9oLnB1c2goayk6aD1m Lm1lcmdlKGgsayl9aWYoZCl7Zz1mdW5jdGlvbihhKXtyZXR1cm4hYS50eXBlfHxi ZS50ZXN0KGEudHlwZSl9O2ZvcihqPTA7aFtqXTtqKyspaWYoZSYmZi5ub2RlTmFt ZShoW2pdLCJzY3JpcHQiKSYmKCFoW2pdLnR5cGV8fGhbal0udHlwZS50b0xvd2Vy Q2FzZSgpPT09InRleHQvamF2YXNjcmlwdCIpKWUucHVzaChoW2pdLnBhcmVudE5v ZGU/aFtqXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGhbal0pOmhbal0pO2Vsc2V7 aWYoaFtqXS5ub2RlVHlwZT09PTEpe3ZhciBzPWYuZ3JlcChoW2pdLmdldEVsZW1l bnRzQnlUYWdOYW1lKCJzY3JpcHQiKSxnKTtoLnNwbGljZS5hcHBseShoLFtqKzEs MF0uY29uY2F0KHMpKX1kLmFwcGVuZENoaWxkKGhbal0pfX1yZXR1cm4gaH0sY2xl YW5EYXRhOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZD1mLmNhY2hlLGU9Zi5leHBhbmRv LGc9Zi5ldmVudC5zcGVjaWFsLGg9Zi5zdXBwb3J0LmRlbGV0ZUV4cGFuZG87Zm9y KHZhciBpPTAsajsoaj1hW2ldKSE9bnVsbDtpKyspe2lmKGoubm9kZU5hbWUmJmYu bm9EYXRhW2oubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pY29udGludWU7Yz1qW2Yu ZXhwYW5kb107aWYoYyl7Yj1kW2NdJiZkW2NdW2VdO2lmKGImJmIuZXZlbnRzKXtm b3IodmFyIGsgaW4gYi5ldmVudHMpZ1trXT9mLmV2ZW50LnJlbW92ZShqLGspOmYu cmVtb3ZlRXZlbnQoaixrLGIuaGFuZGxlKTtiLmhhbmRsZSYmKGIuaGFuZGxlLmVs ZW09bnVsbCl9aD9kZWxldGUgaltmLmV4cGFuZG9dOmoucmVtb3ZlQXR0cmlidXRl JiZqLnJlbW92ZUF0dHJpYnV0ZShmLmV4cGFuZG8pLGRlbGV0ZSBkW2NdfX19fSk7 dmFyIGJvPS9hbHBoYVwoW14pXSpcKS9pLGJwPS9vcGFjaXR5PShbXildKikvLGJx PS8tKFthLXpdKS9pZyxicj0vKFtBLVpdfF5tcykvZyxicz0vXi0/XGQrKD86cHgp PyQvaSxidD0vXi0/XGQvLGJ1PS9eWytcLV09Lyxidj0vW14rXC1cLlxkZV0rL2cs Ync9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdmlzaWJpbGl0eToiaGlkZGVuIixkaXNw bGF5OiJibG9jayJ9LGJ4PVsiTGVmdCIsIlJpZ2h0Il0sYnk9WyJUb3AiLCJCb3R0 b20iXSxieixiQSxiQixiQz1mdW5jdGlvbihhLGIpe3JldHVybiBiLnRvVXBwZXJD YXNlKCl9O2YuZm4uY3NzPWZ1bmN0aW9uKGEsYyl7aWYoYXJndW1lbnRzLmxlbmd0 aD09PTImJmM9PT1iKXJldHVybiB0aGlzO3JldHVybiBmLmFjY2Vzcyh0aGlzLGEs YywhMCxmdW5jdGlvbihhLGMsZCl7cmV0dXJuIGQhPT1iP2Yuc3R5bGUoYSxjLGQp OmYuY3NzKGEsYyl9KX0sZi5leHRlbmQoe2Nzc0hvb2tzOntvcGFjaXR5OntnZXQ6 ZnVuY3Rpb24oYSxiKXtpZihiKXt2YXIgYz1ieihhLCJvcGFjaXR5Iiwib3BhY2l0 eSIpO3JldHVybiBjPT09IiI/IjEiOmN9cmV0dXJuIGEuc3R5bGUub3BhY2l0eX19 fSxjc3NOdW1iZXI6e3pJbmRleDohMCxmb250V2VpZ2h0OiEwLG9wYWNpdHk6ITAs em9vbTohMCxsaW5lSGVpZ2h0OiEwLHdpZG93czohMCxvcnBoYW5zOiEwfSxjc3NQ cm9wczp7ImZsb2F0IjpmLnN1cHBvcnQuY3NzRmxvYXQ/ImNzc0Zsb2F0Ijoic3R5 bGVGbG9hdCJ9LHN0eWxlOmZ1bmN0aW9uKGEsYyxkLGUpe2lmKCEhYSYmYS5ub2Rl VHlwZSE9PTMmJmEubm9kZVR5cGUhPT04JiYhIWEuc3R5bGUpe3ZhciBnLGgsaT1m LmNhbWVsQ2FzZShjKSxqPWEuc3R5bGUsaz1mLmNzc0hvb2tzW2ldO2M9Zi5jc3NQ cm9wc1tpXXx8aTtpZihkPT09Yil7aWYoayYmImdldCJpbiBrJiYoZz1rLmdldChh LCExLGUpKSE9PWIpcmV0dXJuIGc7cmV0dXJuIGpbY119aD10eXBlb2YgZDtpZiho PT09Im51bWJlciImJmlzTmFOKGQpfHxkPT1udWxsKXJldHVybjtoPT09InN0cmlu ZyImJmJ1LnRlc3QoZCkmJihkPStkLnJlcGxhY2UoYnYsIiIpK3BhcnNlRmxvYXQo Zi5jc3MoYSxjKSkpLGg9PT0ibnVtYmVyIiYmIWYuY3NzTnVtYmVyW2ldJiYoZCs9 InB4Iik7aWYoIWt8fCEoInNldCJpbiBrKXx8KGQ9ay5zZXQoYSxkKSkhPT1iKXRy eXtqW2NdPWR9Y2F0Y2gobCl7fX19LGNzczpmdW5jdGlvbihhLGMsZCl7dmFyIGUs ZztjPWYuY2FtZWxDYXNlKGMpLGc9Zi5jc3NIb29rc1tjXSxjPWYuY3NzUHJvcHNb Y118fGMsYz09PSJjc3NGbG9hdCImJihjPSJmbG9hdCIpO2lmKGcmJiJnZXQiaW4g ZyYmKGU9Zy5nZXQoYSwhMCxkKSkhPT1iKXJldHVybiBlO2lmKGJ6KXJldHVybiBi eihhLGMpfSxzd2FwOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD17fTtmb3IodmFyIGUg aW4gYilkW2VdPWEuc3R5bGVbZV0sYS5zdHlsZVtlXT1iW2VdO2MuY2FsbChhKTtm b3IoZSBpbiBiKWEuc3R5bGVbZV09ZFtlXX0sY2FtZWxDYXNlOmZ1bmN0aW9uKGEp e3JldHVybiBhLnJlcGxhY2UoYnEsYkMpfX0pLGYuY3VyQ1NTPWYuY3NzLGYuZWFj aChbImhlaWdodCIsIndpZHRoIl0sZnVuY3Rpb24oYSxiKXtmLmNzc0hvb2tzW2Jd PXtnZXQ6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlO2lmKGMpe2Eub2Zmc2V0V2lkdGgh PT0wP2U9YkQoYSxiLGQpOmYuc3dhcChhLGJ3LGZ1bmN0aW9uKCl7ZT1iRChhLGIs ZCl9KTtpZihlPD0wKXtlPWJ6KGEsYixiKSxlPT09IjBweCImJmJCJiYoZT1iQihh LGIsYikpO2lmKGUhPW51bGwpcmV0dXJuIGU9PT0iInx8ZT09PSJhdXRvIj8iMHB4 IjplfWlmKGU8MHx8ZT09bnVsbCl7ZT1hLnN0eWxlW2JdO3JldHVybiBlPT09IiJ8 fGU9PT0iYXV0byI/IjBweCI6ZX1yZXR1cm4gdHlwZW9mIGU9PSJzdHJpbmciP2U6 ZSsicHgifX0sc2V0OmZ1bmN0aW9uKGEsYil7aWYoIWJzLnRlc3QoYikpcmV0dXJu IGI7Yj1wYXJzZUZsb2F0KGIpO2lmKGI+PTApcmV0dXJuIGIrInB4In19fSksZi5z dXBwb3J0Lm9wYWNpdHl8fChmLmNzc0hvb2tzLm9wYWNpdHk9e2dldDpmdW5jdGlv bihhLGIpe3JldHVybiBicC50ZXN0KChiJiZhLmN1cnJlbnRTdHlsZT9hLmN1cnJl bnRTdHlsZS5maWx0ZXI6YS5zdHlsZS5maWx0ZXIpfHwiIik/cGFyc2VGbG9hdChS ZWdFeHAuJDEpLzEwMCsiIjpiPyIxIjoiIn0sc2V0OmZ1bmN0aW9uKGEsYil7dmFy IGM9YS5zdHlsZSxkPWEuY3VycmVudFN0eWxlO2Muem9vbT0xO3ZhciBlPWYuaXNO YU4oYik/IiI6ImFscGhhKG9wYWNpdHk9IitiKjEwMCsiKSIsZz1kJiZkLmZpbHRl cnx8Yy5maWx0ZXJ8fCIiO2MuZmlsdGVyPWJvLnRlc3QoZyk/Zy5yZXBsYWNlKGJv LGUpOmcrIiAiK2V9fSksZihmdW5jdGlvbigpe2Yuc3VwcG9ydC5yZWxpYWJsZU1h cmdpblJpZ2h0fHwoZi5jc3NIb29rcy5tYXJnaW5SaWdodD17Z2V0OmZ1bmN0aW9u KGEsYil7dmFyIGM7Zi5zd2FwKGEse2Rpc3BsYXk6ImlubGluZS1ibG9jayJ9LGZ1 bmN0aW9uKCl7Yj9jPWJ6KGEsIm1hcmdpbi1yaWdodCIsIm1hcmdpblJpZ2h0Iik6 Yz1hLnN0eWxlLm1hcmdpblJpZ2h0fSk7cmV0dXJuIGN9fSl9KSxjLmRlZmF1bHRW aWV3JiZjLmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUmJihiQT1mdW5jdGlv bihhLGMpe3ZhciBkLGUsZztjPWMucmVwbGFjZShiciwiLSQxIikudG9Mb3dlckNh c2UoKTtpZighKGU9YS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KSlyZXR1cm4g YjtpZihnPWUuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpKWQ9Zy5nZXRQcm9wZXJ0 eVZhbHVlKGMpLGQ9PT0iIiYmIWYuY29udGFpbnMoYS5vd25lckRvY3VtZW50LmRv Y3VtZW50RWxlbWVudCxhKSYmKGQ9Zi5zdHlsZShhLGMpKTtyZXR1cm4gZH0pLGMu ZG9jdW1lbnRFbGVtZW50LmN1cnJlbnRTdHlsZSYmKGJCPWZ1bmN0aW9uKGEsYil7 dmFyIGMsZD1hLmN1cnJlbnRTdHlsZSYmYS5jdXJyZW50U3R5bGVbYl0sZT1hLnJ1 bnRpbWVTdHlsZSYmYS5ydW50aW1lU3R5bGVbYl0sZj1hLnN0eWxlOyFicy50ZXN0 KGQpJiZidC50ZXN0KGQpJiYoYz1mLmxlZnQsZSYmKGEucnVudGltZVN0eWxlLmxl ZnQ9YS5jdXJyZW50U3R5bGUubGVmdCksZi5sZWZ0PWI9PT0iZm9udFNpemUiPyIx ZW0iOmR8fDAsZD1mLnBpeGVsTGVmdCsicHgiLGYubGVmdD1jLGUmJihhLnJ1bnRp bWVTdHlsZS5sZWZ0PWUpKTtyZXR1cm4gZD09PSIiPyJhdXRvIjpkfSksYno9YkF8 fGJCLGYuZXhwciYmZi5leHByLmZpbHRlcnMmJihmLmV4cHIuZmlsdGVycy5oaWRk ZW49ZnVuY3Rpb24oYSl7dmFyIGI9YS5vZmZzZXRXaWR0aCxjPWEub2Zmc2V0SGVp Z2h0O3JldHVybiBiPT09MCYmYz09PTB8fCFmLnN1cHBvcnQucmVsaWFibGVIaWRk ZW5PZmZzZXRzJiYoYS5zdHlsZS5kaXNwbGF5fHxmLmNzcyhhLCJkaXNwbGF5Iikp PT09Im5vbmUifSxmLmV4cHIuZmlsdGVycy52aXNpYmxlPWZ1bmN0aW9uKGEpe3Jl dHVybiFmLmV4cHIuZmlsdGVycy5oaWRkZW4oYSl9KTt2YXIgYkU9LyUyMC9nLGJG PS9cW1xdJC8sYkc9L1xyP1xuL2csYkg9LyMuKiQvLGJJPS9eKC4qPyk6WyBcdF0q KFteXHJcbl0qKVxyPyQvbWcsYko9L14oPzpjb2xvcnxkYXRlfGRhdGV0aW1lfGVt YWlsfGhpZGRlbnxtb250aHxudW1iZXJ8cGFzc3dvcmR8cmFuZ2V8c2VhcmNofHRl bHx0ZXh0fHRpbWV8dXJsfHdlZWspJC9pLGJLPS9eKD86YWJvdXR8YXBwfGFwcFwt c3RvcmFnZXwuK1wtZXh0ZW5zaW9ufGZpbGV8d2lkZ2V0KTokLyxiTD0vXig/OkdF VHxIRUFEKSQvLGJNPS9eXC9cLy8sYk49L1w/LyxiTz0vPHNjcmlwdFxiW148XSoo PzooPyE8XC9zY3JpcHQ+KTxbXjxdKikqPFwvc2NyaXB0Pi9naSxiUD0vXig/OnNl bGVjdHx0ZXh0YXJlYSkvaSxiUT0vXHMrLyxiUj0vKFs/Jl0pXz1bXiZdKi8sYlM9 L14oW1x3XCtcLlwtXSs6KSg/OlwvXC8oW15cLz8jOl0qKSg/OjooXGQrKSk/KT8v LGJUPWYuZm4ubG9hZCxiVT17fSxiVj17fSxiVyxiWDt0cnl7Ylc9ZS5ocmVmfWNh dGNoKGJZKXtiVz1jLmNyZWF0ZUVsZW1lbnQoImEiKSxiVy5ocmVmPSIiLGJXPWJX LmhyZWZ9Ylg9YlMuZXhlYyhiVy50b0xvd2VyQ2FzZSgpKXx8W10sZi5mbi5leHRl bmQoe2xvYWQ6ZnVuY3Rpb24oYSxjLGQpe2lmKHR5cGVvZiBhIT0ic3RyaW5nIiYm YlQpcmV0dXJuIGJULmFwcGx5KHRoaXMsYXJndW1lbnRzKTtpZighdGhpcy5sZW5n dGgpcmV0dXJuIHRoaXM7dmFyIGU9YS5pbmRleE9mKCIgIik7aWYoZT49MCl7dmFy IGc9YS5zbGljZShlLGEubGVuZ3RoKTthPWEuc2xpY2UoMCxlKX12YXIgaD0iR0VU IjtjJiYoZi5pc0Z1bmN0aW9uKGMpPyhkPWMsYz1iKTp0eXBlb2YgYz09Im9iamVj dCImJihjPWYucGFyYW0oYyxmLmFqYXhTZXR0aW5ncy50cmFkaXRpb25hbCksaD0i UE9TVCIpKTt2YXIgaT10aGlzO2YuYWpheCh7dXJsOmEsdHlwZTpoLGRhdGFUeXBl OiJodG1sIixkYXRhOmMsY29tcGxldGU6ZnVuY3Rpb24oYSxiLGMpe2M9YS5yZXNw b25zZVRleHQsYS5pc1Jlc29sdmVkKCkmJihhLmRvbmUoZnVuY3Rpb24oYSl7Yz1h fSksaS5odG1sKGc/ZigiPGRpdj4iKS5hcHBlbmQoYy5yZXBsYWNlKGJPLCIiKSku ZmluZChnKTpjKSksZCYmaS5lYWNoKGQsW2MsYixhXSl9fSk7cmV0dXJuIHRoaXN9 LHNlcmlhbGl6ZTpmdW5jdGlvbigpe3JldHVybiBmLnBhcmFtKHRoaXMuc2VyaWFs aXplQXJyYXkoKSl9LHNlcmlhbGl6ZUFycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHRo aXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudHM/Zi5tYWtlQXJy YXkodGhpcy5lbGVtZW50cyk6dGhpc30pLmZpbHRlcihmdW5jdGlvbigpe3JldHVy biB0aGlzLm5hbWUmJiF0aGlzLmRpc2FibGVkJiYodGhpcy5jaGVja2VkfHxiUC50 ZXN0KHRoaXMubm9kZU5hbWUpfHxiSi50ZXN0KHRoaXMudHlwZSkpfSkubWFwKGZ1 bmN0aW9uKGEsYil7dmFyIGM9Zih0aGlzKS52YWwoKTtyZXR1cm4gYz09bnVsbD9u dWxsOmYuaXNBcnJheShjKT9mLm1hcChjLGZ1bmN0aW9uKGEsYyl7cmV0dXJue25h bWU6Yi5uYW1lLHZhbHVlOmEucmVwbGFjZShiRywiXHJcbiIpfX0pOntuYW1lOmIu bmFtZSx2YWx1ZTpjLnJlcGxhY2UoYkcsIlxyXG4iKX19KS5nZXQoKX19KSxmLmVh Y2goImFqYXhTdGFydCBhamF4U3RvcCBhamF4Q29tcGxldGUgYWpheEVycm9yIGFq YXhTdWNjZXNzIGFqYXhTZW5kIi5zcGxpdCgiICIpLGZ1bmN0aW9uKGEsYil7Zi5m bltiXT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5iaW5kKGIsYSl9fSksZi5lYWNo KFsiZ2V0IiwicG9zdCJdLGZ1bmN0aW9uKGEsYyl7ZltjXT1mdW5jdGlvbihhLGQs ZSxnKXtmLmlzRnVuY3Rpb24oZCkmJihnPWd8fGUsZT1kLGQ9Yik7cmV0dXJuIGYu YWpheCh7dHlwZTpjLHVybDphLGRhdGE6ZCxzdWNjZXNzOmUsZGF0YVR5cGU6Z30p fX0pLGYuZXh0ZW5kKHtnZXRTY3JpcHQ6ZnVuY3Rpb24oYSxjKXtyZXR1cm4gZi5n ZXQoYSxiLGMsInNjcmlwdCIpfSxnZXRKU09OOmZ1bmN0aW9uKGEsYixjKXtyZXR1 cm4gZi5nZXQoYSxiLGMsImpzb24iKX0sYWpheFNldHVwOmZ1bmN0aW9uKGEsYil7 Yj9mLmV4dGVuZCghMCxhLGYuYWpheFNldHRpbmdzLGIpOihiPWEsYT1mLmV4dGVu ZCghMCxmLmFqYXhTZXR0aW5ncyxiKSk7Zm9yKHZhciBjIGlue2NvbnRleHQ6MSx1 cmw6MX0pYyBpbiBiP2FbY109YltjXTpjIGluIGYuYWpheFNldHRpbmdzJiYoYVtj XT1mLmFqYXhTZXR0aW5nc1tjXSk7cmV0dXJuIGF9LGFqYXhTZXR0aW5nczp7dXJs OmJXLGlzTG9jYWw6YksudGVzdChiWFsxXSksZ2xvYmFsOiEwLHR5cGU6IkdFVCIs Y29udGVudFR5cGU6ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIs cHJvY2Vzc0RhdGE6ITAsYXN5bmM6ITAsYWNjZXB0czp7eG1sOiJhcHBsaWNhdGlv bi94bWwsIHRleHQveG1sIixodG1sOiJ0ZXh0L2h0bWwiLHRleHQ6InRleHQvcGxh aW4iLGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCIsIioi OiIqLyoifSxjb250ZW50czp7eG1sOi94bWwvLGh0bWw6L2h0bWwvLGpzb246L2pz b24vfSxyZXNwb25zZUZpZWxkczp7eG1sOiJyZXNwb25zZVhNTCIsdGV4dDoicmVz cG9uc2VUZXh0In0sY29udmVydGVyczp7IiogdGV4dCI6YS5TdHJpbmcsInRleHQg aHRtbCI6ITAsInRleHQganNvbiI6Zi5wYXJzZUpTT04sInRleHQgeG1sIjpmLnBh cnNlWE1MfX0sYWpheFByZWZpbHRlcjpiWihiVSksYWpheFRyYW5zcG9ydDpiWihi ViksYWpheDpmdW5jdGlvbihhLGMpe2Z1bmN0aW9uIHcoYSxjLGwsbSl7aWYocyE9 PTIpe3M9MixxJiZjbGVhclRpbWVvdXQocSkscD1iLG49bXx8IiIsdi5yZWFkeVN0 YXRlPWE/NDowO3ZhciBvLHIsdSx3PWw/Y2EoZCx2LGwpOmIseCx5O2lmKGE+PTIw MCYmYTwzMDB8fGE9PT0zMDQpe2lmKGQuaWZNb2RpZmllZCl7aWYoeD12LmdldFJl c3BvbnNlSGVhZGVyKCJMYXN0LU1vZGlmaWVkIikpZi5sYXN0TW9kaWZpZWRba109 eDtpZih5PXYuZ2V0UmVzcG9uc2VIZWFkZXIoIkV0YWciKSlmLmV0YWdba109eX1p ZihhPT09MzA0KWM9Im5vdG1vZGlmaWVkIixvPSEwO2Vsc2UgdHJ5e3I9Y2IoZCx3 KSxjPSJzdWNjZXNzIixvPSEwfWNhdGNoKHope2M9InBhcnNlcmVycm9yIix1PXp9 fWVsc2V7dT1jO2lmKCFjfHxhKWM9ImVycm9yIixhPDAmJihhPTApfXYuc3RhdHVz PWEsdi5zdGF0dXNUZXh0PWMsbz9oLnJlc29sdmVXaXRoKGUsW3IsYyx2XSk6aC5y ZWplY3RXaXRoKGUsW3YsYyx1XSksdi5zdGF0dXNDb2RlKGopLGo9Yix0JiZnLnRy aWdnZXIoImFqYXgiKyhvPyJTdWNjZXNzIjoiRXJyb3IiKSxbdixkLG8/cjp1XSks aS5yZXNvbHZlV2l0aChlLFt2LGNdKSx0JiYoZy50cmlnZ2VyKCJhamF4Q29tcGxl dGUiLFt2LGRdKSwtLWYuYWN0aXZlfHxmLmV2ZW50LnRyaWdnZXIoImFqYXhTdG9w IikpfX10eXBlb2YgYT09Im9iamVjdCImJihjPWEsYT1iKSxjPWN8fHt9O3ZhciBk PWYuYWpheFNldHVwKHt9LGMpLGU9ZC5jb250ZXh0fHxkLGc9ZSE9PWQmJihlLm5v ZGVUeXBlfHxlIGluc3RhbmNlb2YgZik/ZihlKTpmLmV2ZW50LGg9Zi5EZWZlcnJl ZCgpLGk9Zi5fRGVmZXJyZWQoKSxqPWQuc3RhdHVzQ29kZXx8e30sayxsPXt9LG09 e30sbixvLHAscSxyLHM9MCx0LHUsdj17cmVhZHlTdGF0ZTowLHNldFJlcXVlc3RI ZWFkZXI6ZnVuY3Rpb24oYSxiKXtpZighcyl7dmFyIGM9YS50b0xvd2VyQ2FzZSgp O2E9bVtjXT1tW2NdfHxhLGxbYV09Yn1yZXR1cm4gdGhpc30sZ2V0QWxsUmVzcG9u c2VIZWFkZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIHM9PT0yP246bnVsbH0sZ2V0UmVz cG9uc2VIZWFkZXI6ZnVuY3Rpb24oYSl7dmFyIGM7aWYocz09PTIpe2lmKCFvKXtv PXt9O3doaWxlKGM9YkkuZXhlYyhuKSlvW2NbMV0udG9Mb3dlckNhc2UoKV09Y1sy XX1jPW9bYS50b0xvd2VyQ2FzZSgpXX1yZXR1cm4gYz09PWI/bnVsbDpjfSxvdmVy cmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGEpe3N8fChkLm1pbWVUeXBlPWEpO3JldHVy biB0aGlzfSxhYm9ydDpmdW5jdGlvbihhKXthPWF8fCJhYm9ydCIscCYmcC5hYm9y dChhKSx3KDAsYSk7cmV0dXJuIHRoaXN9fTtoLnByb21pc2Uodiksdi5zdWNjZXNz PXYuZG9uZSx2LmVycm9yPXYuZmFpbCx2LmNvbXBsZXRlPWkuZG9uZSx2LnN0YXR1 c0NvZGU9ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI7aWYoczwyKWZvcihiIGluIGEp altiXT1baltiXSxhW2JdXTtlbHNlIGI9YVt2LnN0YXR1c10sdi50aGVuKGIsYil9 cmV0dXJuIHRoaXN9LGQudXJsPSgoYXx8ZC51cmwpKyIiKS5yZXBsYWNlKGJILCIi KS5yZXBsYWNlKGJNLGJYWzFdKyIvLyIpLGQuZGF0YVR5cGVzPWYudHJpbShkLmRh dGFUeXBlfHwiKiIpLnRvTG93ZXJDYXNlKCkuc3BsaXQoYlEpLGQuY3Jvc3NEb21h aW49PW51bGwmJihyPWJTLmV4ZWMoZC51cmwudG9Mb3dlckNhc2UoKSksZC5jcm9z c0RvbWFpbj0hKCFyfHxyWzFdPT1iWFsxXSYmclsyXT09YlhbMl0mJihyWzNdfHwo clsxXT09PSJodHRwOiI/ODA6NDQzKSk9PShiWFszXXx8KGJYWzFdPT09Imh0dHA6 Ij84MDo0NDMpKSkpLGQuZGF0YSYmZC5wcm9jZXNzRGF0YSYmdHlwZW9mIGQuZGF0 YSE9InN0cmluZyImJihkLmRhdGE9Zi5wYXJhbShkLmRhdGEsZC50cmFkaXRpb25h bCkpLGIkKGJVLGQsYyx2KTtpZihzPT09MilyZXR1cm4hMTt0PWQuZ2xvYmFsLGQu dHlwZT1kLnR5cGUudG9VcHBlckNhc2UoKSxkLmhhc0NvbnRlbnQ9IWJMLnRlc3Qo ZC50eXBlKSx0JiZmLmFjdGl2ZSsrPT09MCYmZi5ldmVudC50cmlnZ2VyKCJhamF4 U3RhcnQiKTtpZighZC5oYXNDb250ZW50KXtkLmRhdGEmJihkLnVybCs9KGJOLnRl c3QoZC51cmwpPyImIjoiPyIpK2QuZGF0YSksaz1kLnVybDtpZihkLmNhY2hlPT09 ITEpe3ZhciB4PWYubm93KCkseT1kLnVybC5yZXBsYWNlKGJSLCIkMV89Iit4KTtk LnVybD15Kyh5PT09ZC51cmw/KGJOLnRlc3QoZC51cmwpPyImIjoiPyIpKyJfPSIr eDoiIil9fShkLmRhdGEmJmQuaGFzQ29udGVudCYmZC5jb250ZW50VHlwZSE9PSEx fHxjLmNvbnRlbnRUeXBlKSYmdi5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5 cGUiLGQuY29udGVudFR5cGUpLGQuaWZNb2RpZmllZCYmKGs9a3x8ZC51cmwsZi5s YXN0TW9kaWZpZWRba10mJnYuc2V0UmVxdWVzdEhlYWRlcigiSWYtTW9kaWZpZWQt U2luY2UiLGYubGFzdE1vZGlmaWVkW2tdKSxmLmV0YWdba10mJnYuc2V0UmVxdWVz dEhlYWRlcigiSWYtTm9uZS1NYXRjaCIsZi5ldGFnW2tdKSksdi5zZXRSZXF1ZXN0 SGVhZGVyKCJBY2NlcHQiLGQuZGF0YVR5cGVzWzBdJiZkLmFjY2VwdHNbZC5kYXRh VHlwZXNbMF1dP2QuYWNjZXB0c1tkLmRhdGFUeXBlc1swXV0rKGQuZGF0YVR5cGVz WzBdIT09IioiPyIsICovKjsgcT0wLjAxIjoiIik6ZC5hY2NlcHRzWyIqIl0pO2Zv cih1IGluIGQuaGVhZGVycyl2LnNldFJlcXVlc3RIZWFkZXIodSxkLmhlYWRlcnNb dV0pO2lmKGQuYmVmb3JlU2VuZCYmKGQuYmVmb3JlU2VuZC5jYWxsKGUsdixkKT09 PSExfHxzPT09Mikpe3YuYWJvcnQoKTtyZXR1cm4hMX1mb3IodSBpbntzdWNjZXNz OjEsZXJyb3I6MSxjb21wbGV0ZToxfSl2W3VdKGRbdV0pO3A9YiQoYlYsZCxjLHYp O2lmKCFwKXcoLTEsIk5vIFRyYW5zcG9ydCIpO2Vsc2V7di5yZWFkeVN0YXRlPTEs dCYmZy50cmlnZ2VyKCJhamF4U2VuZCIsW3YsZF0pLGQuYXN5bmMmJmQudGltZW91 dD4wJiYocT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7di5hYm9ydCgidGltZW91dCIp fSxkLnRpbWVvdXQpKTt0cnl7cz0xLHAuc2VuZChsLHcpfWNhdGNoKHope3N0YXR1 czwyP3coLTEseik6Zi5lcnJvcih6KX19cmV0dXJuIHZ9LHBhcmFtOmZ1bmN0aW9u KGEsYyl7dmFyIGQ9W10sZT1mdW5jdGlvbihhLGIpe2I9Zi5pc0Z1bmN0aW9uKGIp P2IoKTpiLGRbZC5sZW5ndGhdPWVuY29kZVVSSUNvbXBvbmVudChhKSsiPSIrZW5j b2RlVVJJQ29tcG9uZW50KGIpfTtjPT09YiYmKGM9Zi5hamF4U2V0dGluZ3MudHJh ZGl0aW9uYWwpO2lmKGYuaXNBcnJheShhKXx8YS5qcXVlcnkmJiFmLmlzUGxhaW5P YmplY3QoYSkpZi5lYWNoKGEsZnVuY3Rpb24oKXtlKHRoaXMubmFtZSx0aGlzLnZh bHVlKX0pO2Vsc2UgZm9yKHZhciBnIGluIGEpYl8oZyxhW2ddLGMsZSk7cmV0dXJu IGQuam9pbigiJiIpLnJlcGxhY2UoYkUsIisiKX19KSxmLmV4dGVuZCh7YWN0aXZl OjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e319KTt2YXIgY2M9Zi5ub3coKSxjZD0v KFw9KVw/KCZ8JCl8XD9cPy9pO2YuYWpheFNldHVwKHtqc29ucDoiY2FsbGJhY2si LGpzb25wQ2FsbGJhY2s6ZnVuY3Rpb24oKXtyZXR1cm4gZi5leHBhbmRvKyJfIitj YysrfX0pLGYuYWpheFByZWZpbHRlcigianNvbiBqc29ucCIsZnVuY3Rpb24oYixj LGQpe3ZhciBlPWIuY29udGVudFR5cGU9PT0iYXBwbGljYXRpb24veC13d3ctZm9y bS11cmxlbmNvZGVkIiYmdHlwZW9mIGIuZGF0YT09InN0cmluZyI7aWYoYi5kYXRh VHlwZXNbMF09PT0ianNvbnAifHxiLmpzb25wIT09ITEmJihjZC50ZXN0KGIudXJs KXx8ZSYmY2QudGVzdChiLmRhdGEpKSl7dmFyIGcsaD1iLmpzb25wQ2FsbGJhY2s9 Zi5pc0Z1bmN0aW9uKGIuanNvbnBDYWxsYmFjayk/Yi5qc29ucENhbGxiYWNrKCk6 Yi5qc29ucENhbGxiYWNrLGk9YVtoXSxqPWIudXJsLGs9Yi5kYXRhLGw9IiQxIito KyIkMiI7Yi5qc29ucCE9PSExJiYoaj1qLnJlcGxhY2UoY2QsbCksYi51cmw9PT1q JiYoZSYmKGs9ay5yZXBsYWNlKGNkLGwpKSxiLmRhdGE9PT1rJiYoais9KC9cPy8u dGVzdChqKT8iJiI6Ij8iKStiLmpzb25wKyI9IitoKSkpLGIudXJsPWosYi5kYXRh PWssYVtoXT1mdW5jdGlvbihhKXtnPVthXX0sZC5hbHdheXMoZnVuY3Rpb24oKXth W2hdPWksZyYmZi5pc0Z1bmN0aW9uKGkpJiZhW2hdKGdbMF0pfSksYi5jb252ZXJ0 ZXJzWyJzY3JpcHQganNvbiJdPWZ1bmN0aW9uKCl7Z3x8Zi5lcnJvcihoKyIgd2Fz IG5vdCBjYWxsZWQiKTtyZXR1cm4gZ1swXX0sYi5kYXRhVHlwZXNbMF09Impzb24i O3JldHVybiJzY3JpcHQifX0pLGYuYWpheFNldHVwKHthY2NlcHRzOntzY3JpcHQ6 InRleHQvamF2YXNjcmlwdCwgYXBwbGljYXRpb24vamF2YXNjcmlwdCwgYXBwbGlj YXRpb24vZWNtYXNjcmlwdCwgYXBwbGljYXRpb24veC1lY21hc2NyaXB0In0sY29u dGVudHM6e3NjcmlwdDovamF2YXNjcmlwdHxlY21hc2NyaXB0L30sY29udmVydGVy czp7InRleHQgc2NyaXB0IjpmdW5jdGlvbihhKXtmLmdsb2JhbEV2YWwoYSk7cmV0 dXJuIGF9fX0pLGYuYWpheFByZWZpbHRlcigic2NyaXB0IixmdW5jdGlvbihhKXth LmNhY2hlPT09YiYmKGEuY2FjaGU9ITEpLGEuY3Jvc3NEb21haW4mJihhLnR5cGU9 IkdFVCIsYS5nbG9iYWw9ITEpfSksZi5hamF4VHJhbnNwb3J0KCJzY3JpcHQiLGZ1 bmN0aW9uKGEpe2lmKGEuY3Jvc3NEb21haW4pe3ZhciBkLGU9Yy5oZWFkfHxjLmdl dEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF18fGMuZG9jdW1lbnRFbGVtZW50 O3JldHVybntzZW5kOmZ1bmN0aW9uKGYsZyl7ZD1jLmNyZWF0ZUVsZW1lbnQoInNj cmlwdCIpLGQuYXN5bmM9ImFzeW5jIixhLnNjcmlwdENoYXJzZXQmJihkLmNoYXJz ZXQ9YS5zY3JpcHRDaGFyc2V0KSxkLnNyYz1hLnVybCxkLm9ubG9hZD1kLm9ucmVh ZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbihhLGMpe2lmKGN8fCFkLnJlYWR5U3RhdGV8 fC9sb2FkZWR8Y29tcGxldGUvLnRlc3QoZC5yZWFkeVN0YXRlKSlkLm9ubG9hZD1k Lm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLGUmJmQucGFyZW50Tm9kZSYmZS5yZW1v dmVDaGlsZChkKSxkPWIsY3x8ZygyMDAsInN1Y2Nlc3MiKX0sZS5pbnNlcnRCZWZv cmUoZCxlLmZpcnN0Q2hpbGQpfSxhYm9ydDpmdW5jdGlvbigpe2QmJmQub25sb2Fk KDAsMSl9fX19KTt2YXIgY2U9YS5BY3RpdmVYT2JqZWN0P2Z1bmN0aW9uKCl7Zm9y KHZhciBhIGluIGNnKWNnW2FdKDAsMSl9OiExLGNmPTAsY2c7Zi5hamF4U2V0dGlu Z3MueGhyPWEuQWN0aXZlWE9iamVjdD9mdW5jdGlvbigpe3JldHVybiF0aGlzLmlz TG9jYWwmJmNoKCl8fGNpKCl9OmNoLGZ1bmN0aW9uKGEpe2YuZXh0ZW5kKGYuc3Vw cG9ydCx7YWpheDohIWEsY29yczohIWEmJiJ3aXRoQ3JlZGVudGlhbHMiaW4gYX0p fShmLmFqYXhTZXR0aW5ncy54aHIoKSksZi5zdXBwb3J0LmFqYXgmJmYuYWpheFRy YW5zcG9ydChmdW5jdGlvbihjKXtpZighYy5jcm9zc0RvbWFpbnx8Zi5zdXBwb3J0 LmNvcnMpe3ZhciBkO3JldHVybntzZW5kOmZ1bmN0aW9uKGUsZyl7dmFyIGg9Yy54 aHIoKSxpLGo7Yy51c2VybmFtZT9oLm9wZW4oYy50eXBlLGMudXJsLGMuYXN5bmMs Yy51c2VybmFtZSxjLnBhc3N3b3JkKTpoLm9wZW4oYy50eXBlLGMudXJsLGMuYXN5 bmMpO2lmKGMueGhyRmllbGRzKWZvcihqIGluIGMueGhyRmllbGRzKWhbal09Yy54 aHJGaWVsZHNbal07Yy5taW1lVHlwZSYmaC5vdmVycmlkZU1pbWVUeXBlJiZoLm92 ZXJyaWRlTWltZVR5cGUoYy5taW1lVHlwZSksIWMuY3Jvc3NEb21haW4mJiFlWyJY LVJlcXVlc3RlZC1XaXRoIl0mJihlWyJYLVJlcXVlc3RlZC1XaXRoIl09IlhNTEh0 dHBSZXF1ZXN0Iik7dHJ5e2ZvcihqIGluIGUpaC5zZXRSZXF1ZXN0SGVhZGVyKGos ZVtqXSl9Y2F0Y2goayl7fWguc2VuZChjLmhhc0NvbnRlbnQmJmMuZGF0YXx8bnVs bCksZD1mdW5jdGlvbihhLGUpe3ZhciBqLGssbCxtLG47dHJ5e2lmKGQmJihlfHxo LnJlYWR5U3RhdGU9PT00KSl7ZD1iLGkmJihoLm9ucmVhZHlzdGF0ZWNoYW5nZT1m Lm5vb3AsY2UmJmRlbGV0ZSBjZ1tpXSk7aWYoZSloLnJlYWR5U3RhdGUhPT00JiZo LmFib3J0KCk7ZWxzZXtqPWguc3RhdHVzLGw9aC5nZXRBbGxSZXNwb25zZUhlYWRl cnMoKSxtPXt9LG49aC5yZXNwb25zZVhNTCxuJiZuLmRvY3VtZW50RWxlbWVudCYm KG0ueG1sPW4pLG0udGV4dD1oLnJlc3BvbnNlVGV4dDt0cnl7az1oLnN0YXR1c1Rl eHR9Y2F0Y2gobyl7az0iIn0haiYmYy5pc0xvY2FsJiYhYy5jcm9zc0RvbWFpbj9q PW0udGV4dD8yMDA6NDA0Omo9PT0xMjIzJiYoaj0yMDQpfX19Y2F0Y2gocCl7ZXx8 ZygtMSxwKX1tJiZnKGosayxtLGwpfSwhYy5hc3luY3x8aC5yZWFkeVN0YXRlPT09 ND9kKCk6KGk9KytjZixjZSYmKGNnfHwoY2c9e30sZihhKS51bmxvYWQoY2UpKSxj Z1tpXT1kKSxoLm9ucmVhZHlzdGF0ZWNoYW5nZT1kKX0sYWJvcnQ6ZnVuY3Rpb24o KXtkJiZkKDAsMSl9fX19KTt2YXIgY2o9e30sY2ssY2wsY209L14oPzp0b2dnbGV8 c2hvd3xoaWRlKSQvLGNuPS9eKFsrXC1dPSk/KFtcZCsuXC1dKykoW2EteiVdKikk L2ksY28sY3A9W1siaGVpZ2h0IiwibWFyZ2luVG9wIiwibWFyZ2luQm90dG9tIiwi cGFkZGluZ1RvcCIsInBhZGRpbmdCb3R0b20iXSxbIndpZHRoIiwibWFyZ2luTGVm dCIsIm1hcmdpblJpZ2h0IiwicGFkZGluZ0xlZnQiLCJwYWRkaW5nUmlnaHQiXSxb Im9wYWNpdHkiXV0sY3EsY3I9YS53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8 fGEubW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxhLm9SZXF1ZXN0QW5pbWF0aW9u RnJhbWU7Zi5mbi5leHRlbmQoe3Nob3c6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU7 aWYoYXx8YT09PTApcmV0dXJuIHRoaXMuYW5pbWF0ZShjdSgic2hvdyIsMyksYSxi LGMpO2Zvcih2YXIgZz0wLGg9dGhpcy5sZW5ndGg7ZzxoO2crKylkPXRoaXNbZ10s ZC5zdHlsZSYmKGU9ZC5zdHlsZS5kaXNwbGF5LCFmLl9kYXRhKGQsIm9sZGRpc3Bs YXkiKSYmZT09PSJub25lIiYmKGU9ZC5zdHlsZS5kaXNwbGF5PSIiKSxlPT09IiIm JmYuY3NzKGQsImRpc3BsYXkiKT09PSJub25lIiYmZi5fZGF0YShkLCJvbGRkaXNw bGF5IixjdihkLm5vZGVOYW1lKSkpO2ZvcihnPTA7ZzxoO2crKyl7ZD10aGlzW2dd O2lmKGQuc3R5bGUpe2U9ZC5zdHlsZS5kaXNwbGF5O2lmKGU9PT0iInx8ZT09PSJu b25lIilkLnN0eWxlLmRpc3BsYXk9Zi5fZGF0YShkLCJvbGRkaXNwbGF5Iil8fCIi fX1yZXR1cm4gdGhpc30saGlkZTpmdW5jdGlvbihhLGIsYyl7aWYoYXx8YT09PTAp cmV0dXJuIHRoaXMuYW5pbWF0ZShjdSgiaGlkZSIsMyksYSxiLGMpO2Zvcih2YXIg ZD0wLGU9dGhpcy5sZW5ndGg7ZDxlO2QrKylpZih0aGlzW2RdLnN0eWxlKXt2YXIg Zz1mLmNzcyh0aGlzW2RdLCJkaXNwbGF5Iik7ZyE9PSJub25lIiYmIWYuX2RhdGEo dGhpc1tkXSwib2xkZGlzcGxheSIpJiZmLl9kYXRhKHRoaXNbZF0sIm9sZGRpc3Bs YXkiLGcpfWZvcihkPTA7ZDxlO2QrKyl0aGlzW2RdLnN0eWxlJiYodGhpc1tkXS5z dHlsZS5kaXNwbGF5PSJub25lIik7cmV0dXJuIHRoaXN9LF90b2dnbGU6Zi5mbi50 b2dnbGUsdG9nZ2xlOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD10eXBlb2YgYT09ImJv b2xlYW4iO2YuaXNGdW5jdGlvbihhKSYmZi5pc0Z1bmN0aW9uKGIpP3RoaXMuX3Rv Z2dsZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6YT09bnVsbHx8ZD90aGlzLmVhY2go ZnVuY3Rpb24oKXt2YXIgYj1kP2E6Zih0aGlzKS5pcygiOmhpZGRlbiIpO2YodGhp cylbYj8ic2hvdyI6ImhpZGUiXSgpfSk6dGhpcy5hbmltYXRlKGN1KCJ0b2dnbGUi LDMpLGEsYixjKTtyZXR1cm4gdGhpc30sZmFkZVRvOmZ1bmN0aW9uKGEsYixjLGQp e3JldHVybiB0aGlzLmZpbHRlcigiOmhpZGRlbiIpLmNzcygib3BhY2l0eSIsMCku c2hvdygpLmVuZCgpLmFuaW1hdGUoe29wYWNpdHk6Yn0sYSxjLGQpfSxhbmltYXRl OmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWYuc3BlZWQoYixjLGQpO2lmKGYuaXNF bXB0eU9iamVjdChhKSlyZXR1cm4gdGhpcy5lYWNoKGUuY29tcGxldGUsWyExXSk7 YT1mLmV4dGVuZCh7fSxhKTtyZXR1cm4gdGhpc1tlLnF1ZXVlPT09ITE/ImVhY2gi OiJxdWV1ZSJdKGZ1bmN0aW9uKCl7ZS5xdWV1ZT09PSExJiZmLl9tYXJrKHRoaXMp O3ZhciBiPWYuZXh0ZW5kKHt9LGUpLGM9dGhpcy5ub2RlVHlwZT09PTEsZD1jJiZm KHRoaXMpLmlzKCI6aGlkZGVuIiksZyxoLGksaixrLGwsbSxuLG87Yi5hbmltYXRl ZFByb3BlcnRpZXM9e307Zm9yKGkgaW4gYSl7Zz1mLmNhbWVsQ2FzZShpKSxpIT09 ZyYmKGFbZ109YVtpXSxkZWxldGUgYVtpXSksaD1hW2ddLGYuaXNBcnJheShoKT8o Yi5hbmltYXRlZFByb3BlcnRpZXNbZ109aFsxXSxoPWFbZ109aFswXSk6Yi5hbmlt YXRlZFByb3BlcnRpZXNbZ109Yi5zcGVjaWFsRWFzaW5nJiZiLnNwZWNpYWxFYXNp bmdbZ118fGIuZWFzaW5nfHwic3dpbmciO2lmKGg9PT0iaGlkZSImJmR8fGg9PT0i c2hvdyImJiFkKXJldHVybiBiLmNvbXBsZXRlLmNhbGwodGhpcyk7YyYmKGc9PT0i aGVpZ2h0Inx8Zz09PSJ3aWR0aCIpJiYoYi5vdmVyZmxvdz1bdGhpcy5zdHlsZS5v dmVyZmxvdyx0aGlzLnN0eWxlLm92ZXJmbG93WCx0aGlzLnN0eWxlLm92ZXJmbG93 WV0sZi5jc3ModGhpcywiZGlzcGxheSIpPT09ImlubGluZSImJmYuY3NzKHRoaXMs ImZsb2F0Iik9PT0ibm9uZSImJihmLnN1cHBvcnQuaW5saW5lQmxvY2tOZWVkc0xh eW91dD8oaj1jdih0aGlzLm5vZGVOYW1lKSxqPT09ImlubGluZSI/dGhpcy5zdHls ZS5kaXNwbGF5PSJpbmxpbmUtYmxvY2siOih0aGlzLnN0eWxlLmRpc3BsYXk9Imlu bGluZSIsdGhpcy5zdHlsZS56b29tPTEpKTp0aGlzLnN0eWxlLmRpc3BsYXk9Imlu bGluZS1ibG9jayIpKX1iLm92ZXJmbG93IT1udWxsJiYodGhpcy5zdHlsZS5vdmVy Zmxvdz0iaGlkZGVuIik7Zm9yKGkgaW4gYSlrPW5ldyBmLmZ4KHRoaXMsYixpKSxo PWFbaV0sY20udGVzdChoKT9rW2g9PT0idG9nZ2xlIj9kPyJzaG93IjoiaGlkZSI6 aF0oKToobD1jbi5leGVjKGgpLG09ay5jdXIoKSxsPyhuPXBhcnNlRmxvYXQobFsy XSksbz1sWzNdfHwoZi5jc3NOdW1iZXJbaV0/IiI6InB4IiksbyE9PSJweCImJihm LnN0eWxlKHRoaXMsaSwobnx8MSkrbyksbT0obnx8MSkvay5jdXIoKSptLGYuc3R5 bGUodGhpcyxpLG0rbykpLGxbMV0mJihuPShsWzFdPT09Ii09Ij8tMToxKSpuK20p LGsuY3VzdG9tKG0sbixvKSk6ay5jdXN0b20obSxoLCIiKSk7cmV0dXJuITB9KX0s c3RvcDpmdW5jdGlvbihhLGIpe2EmJnRoaXMucXVldWUoW10pLHRoaXMuZWFjaChm dW5jdGlvbigpe3ZhciBhPWYudGltZXJzLGM9YS5sZW5ndGg7Ynx8Zi5fdW5tYXJr KCEwLHRoaXMpO3doaWxlKGMtLSlhW2NdLmVsZW09PT10aGlzJiYoYiYmYVtjXSgh MCksYS5zcGxpY2UoYywxKSl9KSxifHx0aGlzLmRlcXVldWUoKTtyZXR1cm4gdGhp c319KSxmLmVhY2goe3NsaWRlRG93bjpjdSgic2hvdyIsMSksc2xpZGVVcDpjdSgi aGlkZSIsMSksc2xpZGVUb2dnbGU6Y3UoInRvZ2dsZSIsMSksZmFkZUluOntvcGFj aXR5OiJzaG93In0sZmFkZU91dDp7b3BhY2l0eToiaGlkZSJ9LGZhZGVUb2dnbGU6 e29wYWNpdHk6InRvZ2dsZSJ9fSxmdW5jdGlvbihhLGIpe2YuZm5bYV09ZnVuY3Rp b24oYSxjLGQpe3JldHVybiB0aGlzLmFuaW1hdGUoYixhLGMsZCl9fSksZi5leHRl bmQoe3NwZWVkOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hJiZ0eXBlb2YgYT09Im9i amVjdCI/Zi5leHRlbmQoe30sYSk6e2NvbXBsZXRlOmN8fCFjJiZifHxmLmlzRnVu Y3Rpb24oYSkmJmEsZHVyYXRpb246YSxlYXNpbmc6YyYmYnx8YiYmIWYuaXNGdW5j dGlvbihiKSYmYn07ZC5kdXJhdGlvbj1mLmZ4Lm9mZj8wOnR5cGVvZiBkLmR1cmF0 aW9uPT0ibnVtYmVyIj9kLmR1cmF0aW9uOmQuZHVyYXRpb24gaW4gZi5meC5zcGVl ZHM/Zi5meC5zcGVlZHNbZC5kdXJhdGlvbl06Zi5meC5zcGVlZHMuX2RlZmF1bHQs ZC5vbGQ9ZC5jb21wbGV0ZSxkLmNvbXBsZXRlPWZ1bmN0aW9uKGEpe2QucXVldWUh PT0hMT9mLmRlcXVldWUodGhpcyk6YSE9PSExJiZmLl91bm1hcmsodGhpcyksZi5p c0Z1bmN0aW9uKGQub2xkKSYmZC5vbGQuY2FsbCh0aGlzKX07cmV0dXJuIGR9LGVh c2luZzp7bGluZWFyOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBjK2QqYX0sc3dp bmc6ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuKC1NYXRoLmNvcyhhKk1hdGguUEkp LzIrLjUpKmQrY319LHRpbWVyczpbXSxmeDpmdW5jdGlvbihhLGIsYyl7dGhpcy5v cHRpb25zPWIsdGhpcy5lbGVtPWEsdGhpcy5wcm9wPWMsYi5vcmlnPWIub3JpZ3x8 e319fSksZi5meC5wcm90b3R5cGU9e3VwZGF0ZTpmdW5jdGlvbigpe3RoaXMub3B0 aW9ucy5zdGVwJiZ0aGlzLm9wdGlvbnMuc3RlcC5jYWxsKHRoaXMuZWxlbSx0aGlz Lm5vdyx0aGlzKSwoZi5meC5zdGVwW3RoaXMucHJvcF18fGYuZnguc3RlcC5fZGVm YXVsdCkodGhpcyl9LGN1cjpmdW5jdGlvbigpe2lmKHRoaXMuZWxlbVt0aGlzLnBy b3BdIT1udWxsJiYoIXRoaXMuZWxlbS5zdHlsZXx8dGhpcy5lbGVtLnN0eWxlW3Ro aXMucHJvcF09PW51bGwpKXJldHVybiB0aGlzLmVsZW1bdGhpcy5wcm9wXTt2YXIg YSxiPWYuY3NzKHRoaXMuZWxlbSx0aGlzLnByb3ApO3JldHVybiBpc05hTihhPXBh cnNlRmxvYXQoYikpPyFifHxiPT09ImF1dG8iPzA6YjphfSxjdXN0b206ZnVuY3Rp b24oYSxiLGMpe2Z1bmN0aW9uIGgoYSl7cmV0dXJuIGQuc3RlcChhKX12YXIgZD10 aGlzLGU9Zi5meCxnO3RoaXMuc3RhcnRUaW1lPWNxfHxjcygpLHRoaXMuc3RhcnQ9 YSx0aGlzLmVuZD1iLHRoaXMudW5pdD1jfHx0aGlzLnVuaXR8fChmLmNzc051bWJl clt0aGlzLnByb3BdPyIiOiJweCIpLHRoaXMubm93PXRoaXMuc3RhcnQsdGhpcy5w b3M9dGhpcy5zdGF0ZT0wLGguZWxlbT10aGlzLmVsZW0saCgpJiZmLnRpbWVycy5w dXNoKGgpJiYhY28mJihjcj8oY289MSxnPWZ1bmN0aW9uKCl7Y28mJihjcihnKSxl LnRpY2soKSl9LGNyKGcpKTpjbz1zZXRJbnRlcnZhbChlLnRpY2ssZS5pbnRlcnZh bCkpfSxzaG93OmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLm9yaWdbdGhpcy5wcm9w XT1mLnN0eWxlKHRoaXMuZWxlbSx0aGlzLnByb3ApLHRoaXMub3B0aW9ucy5zaG93 PSEwLHRoaXMuY3VzdG9tKHRoaXMucHJvcD09PSJ3aWR0aCJ8fHRoaXMucHJvcD09 PSJoZWlnaHQiPzE6MCx0aGlzLmN1cigpKSxmKHRoaXMuZWxlbSkuc2hvdygpfSxo aWRlOmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLm9yaWdbdGhpcy5wcm9wXT1mLnN0 eWxlKHRoaXMuZWxlbSx0aGlzLnByb3ApLHRoaXMub3B0aW9ucy5oaWRlPSEwLHRo aXMuY3VzdG9tKHRoaXMuY3VyKCksMCl9LHN0ZXA6ZnVuY3Rpb24oYSl7dmFyIGI9 Y3F8fGNzKCksYz0hMCxkPXRoaXMuZWxlbSxlPXRoaXMub3B0aW9ucyxnLGg7aWYo YXx8Yj49ZS5kdXJhdGlvbit0aGlzLnN0YXJ0VGltZSl7dGhpcy5ub3c9dGhpcy5l bmQsdGhpcy5wb3M9dGhpcy5zdGF0ZT0xLHRoaXMudXBkYXRlKCksZS5hbmltYXRl ZFByb3BlcnRpZXNbdGhpcy5wcm9wXT0hMDtmb3IoZyBpbiBlLmFuaW1hdGVkUHJv cGVydGllcyllLmFuaW1hdGVkUHJvcGVydGllc1tnXSE9PSEwJiYoYz0hMSk7aWYo Yyl7ZS5vdmVyZmxvdyE9bnVsbCYmIWYuc3VwcG9ydC5zaHJpbmtXcmFwQmxvY2tz JiZmLmVhY2goWyIiLCJYIiwiWSJdLGZ1bmN0aW9uKGEsYil7ZC5zdHlsZVsib3Zl cmZsb3ciK2JdPWUub3ZlcmZsb3dbYV19KSxlLmhpZGUmJmYoZCkuaGlkZSgpO2lm KGUuaGlkZXx8ZS5zaG93KWZvcih2YXIgaSBpbiBlLmFuaW1hdGVkUHJvcGVydGll cylmLnN0eWxlKGQsaSxlLm9yaWdbaV0pO2UuY29tcGxldGUuY2FsbChkKX1yZXR1 cm4hMX1lLmR1cmF0aW9uPT1JbmZpbml0eT90aGlzLm5vdz1iOihoPWItdGhpcy5z dGFydFRpbWUsdGhpcy5zdGF0ZT1oL2UuZHVyYXRpb24sdGhpcy5wb3M9Zi5lYXNp bmdbZS5hbmltYXRlZFByb3BlcnRpZXNbdGhpcy5wcm9wXV0odGhpcy5zdGF0ZSxo LDAsMSxlLmR1cmF0aW9uKSx0aGlzLm5vdz10aGlzLnN0YXJ0Kyh0aGlzLmVuZC10 aGlzLnN0YXJ0KSp0aGlzLnBvcyksdGhpcy51cGRhdGUoKTtyZXR1cm4hMH19LGYu ZXh0ZW5kKGYuZngse3RpY2s6ZnVuY3Rpb24oKXtmb3IodmFyIGE9Zi50aW1lcnMs Yj0wO2I8YS5sZW5ndGg7KytiKWFbYl0oKXx8YS5zcGxpY2UoYi0tLDEpO2EubGVu Z3RofHxmLmZ4LnN0b3AoKX0saW50ZXJ2YWw6MTMsc3RvcDpmdW5jdGlvbigpe2Ns ZWFySW50ZXJ2YWwoY28pLGNvPW51bGx9LHNwZWVkczp7c2xvdzo2MDAsZmFzdDoy MDAsX2RlZmF1bHQ6NDAwfSxzdGVwOntvcGFjaXR5OmZ1bmN0aW9uKGEpe2Yuc3R5 bGUoYS5lbGVtLCJvcGFjaXR5IixhLm5vdyl9LF9kZWZhdWx0OmZ1bmN0aW9uKGEp e2EuZWxlbS5zdHlsZSYmYS5lbGVtLnN0eWxlW2EucHJvcF0hPW51bGw/YS5lbGVt LnN0eWxlW2EucHJvcF09KGEucHJvcD09PSJ3aWR0aCJ8fGEucHJvcD09PSJoZWln aHQiP01hdGgubWF4KDAsYS5ub3cpOmEubm93KSthLnVuaXQ6YS5lbGVtW2EucHJv cF09YS5ub3d9fX0pLGYuZXhwciYmZi5leHByLmZpbHRlcnMmJihmLmV4cHIuZmls dGVycy5hbmltYXRlZD1mdW5jdGlvbihhKXtyZXR1cm4gZi5ncmVwKGYudGltZXJz LGZ1bmN0aW9uKGIpe3JldHVybiBhPT09Yi5lbGVtfSkubGVuZ3RofSk7dmFyIGN3 PS9edCg/OmFibGV8ZHxoKSQvaSxjeD0vXig/OmJvZHl8aHRtbCkkL2k7ImdldEJv dW5kaW5nQ2xpZW50UmVjdCJpbiBjLmRvY3VtZW50RWxlbWVudD9mLmZuLm9mZnNl dD1mdW5jdGlvbihhKXt2YXIgYj10aGlzWzBdLGM7aWYoYSlyZXR1cm4gdGhpcy5l YWNoKGZ1bmN0aW9uKGIpe2Yub2Zmc2V0LnNldE9mZnNldCh0aGlzLGEsYil9KTtp ZighYnx8IWIub3duZXJEb2N1bWVudClyZXR1cm4gbnVsbDtpZihiPT09Yi5vd25l ckRvY3VtZW50LmJvZHkpcmV0dXJuIGYub2Zmc2V0LmJvZHlPZmZzZXQoYik7dHJ5 e2M9Yi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1jYXRjaChkKXt9dmFyIGU9Yi5v d25lckRvY3VtZW50LGc9ZS5kb2N1bWVudEVsZW1lbnQ7aWYoIWN8fCFmLmNvbnRh aW5zKGcsYikpcmV0dXJuIGM/e3RvcDpjLnRvcCxsZWZ0OmMubGVmdH06e3RvcDow LGxlZnQ6MH07dmFyIGg9ZS5ib2R5LGk9Y3koZSksaj1nLmNsaWVudFRvcHx8aC5j bGllbnRUb3B8fDAsaz1nLmNsaWVudExlZnR8fGguY2xpZW50TGVmdHx8MCxsPWku cGFnZVlPZmZzZXR8fGYuc3VwcG9ydC5ib3hNb2RlbCYmZy5zY3JvbGxUb3B8fGgu c2Nyb2xsVG9wLG09aS5wYWdlWE9mZnNldHx8Zi5zdXBwb3J0LmJveE1vZGVsJiZn LnNjcm9sbExlZnR8fGguc2Nyb2xsTGVmdCxuPWMudG9wK2wtaixvPWMubGVmdCtt LWs7cmV0dXJue3RvcDpuLGxlZnQ6b319OmYuZm4ub2Zmc2V0PWZ1bmN0aW9uKGEp e3ZhciBiPXRoaXNbMF07aWYoYSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIp e2Yub2Zmc2V0LnNldE9mZnNldCh0aGlzLGEsYil9KTtpZighYnx8IWIub3duZXJE b2N1bWVudClyZXR1cm4gbnVsbDtpZihiPT09Yi5vd25lckRvY3VtZW50LmJvZHkp cmV0dXJuIGYub2Zmc2V0LmJvZHlPZmZzZXQoYik7Zi5vZmZzZXQuaW5pdGlhbGl6 ZSgpO3ZhciBjLGQ9Yi5vZmZzZXRQYXJlbnQsZT1iLGc9Yi5vd25lckRvY3VtZW50 LGg9Zy5kb2N1bWVudEVsZW1lbnQsaT1nLmJvZHksaj1nLmRlZmF1bHRWaWV3LGs9 aj9qLmdldENvbXB1dGVkU3R5bGUoYixudWxsKTpiLmN1cnJlbnRTdHlsZSxsPWIu b2Zmc2V0VG9wLG09Yi5vZmZzZXRMZWZ0O3doaWxlKChiPWIucGFyZW50Tm9kZSkm JmIhPT1pJiZiIT09aCl7aWYoZi5vZmZzZXQuc3VwcG9ydHNGaXhlZFBvc2l0aW9u JiZrLnBvc2l0aW9uPT09ImZpeGVkIilicmVhaztjPWo/ai5nZXRDb21wdXRlZFN0 eWxlKGIsbnVsbCk6Yi5jdXJyZW50U3R5bGUsbC09Yi5zY3JvbGxUb3AsbS09Yi5z Y3JvbGxMZWZ0LGI9PT1kJiYobCs9Yi5vZmZzZXRUb3AsbSs9Yi5vZmZzZXRMZWZ0 LGYub2Zmc2V0LmRvZXNOb3RBZGRCb3JkZXImJighZi5vZmZzZXQuZG9lc0FkZEJv cmRlckZvclRhYmxlQW5kQ2VsbHN8fCFjdy50ZXN0KGIubm9kZU5hbWUpKSYmKGwr PXBhcnNlRmxvYXQoYy5ib3JkZXJUb3BXaWR0aCl8fDAsbSs9cGFyc2VGbG9hdChj LmJvcmRlckxlZnRXaWR0aCl8fDApLGU9ZCxkPWIub2Zmc2V0UGFyZW50KSxmLm9m ZnNldC5zdWJ0cmFjdHNCb3JkZXJGb3JPdmVyZmxvd05vdFZpc2libGUmJmMub3Zl cmZsb3chPT0idmlzaWJsZSImJihsKz1wYXJzZUZsb2F0KGMuYm9yZGVyVG9wV2lk dGgpfHwwLG0rPXBhcnNlRmxvYXQoYy5ib3JkZXJMZWZ0V2lkdGgpfHwwKSxrPWN9 aWYoay5wb3NpdGlvbj09PSJyZWxhdGl2ZSJ8fGsucG9zaXRpb249PT0ic3RhdGlj IilsKz1pLm9mZnNldFRvcCxtKz1pLm9mZnNldExlZnQ7Zi5vZmZzZXQuc3VwcG9y dHNGaXhlZFBvc2l0aW9uJiZrLnBvc2l0aW9uPT09ImZpeGVkIiYmKGwrPU1hdGgu bWF4KGguc2Nyb2xsVG9wLGkuc2Nyb2xsVG9wKSxtKz1NYXRoLm1heChoLnNjcm9s bExlZnQsaS5zY3JvbGxMZWZ0KSk7cmV0dXJue3RvcDpsLGxlZnQ6bX19LGYub2Zm c2V0PXtpbml0aWFsaXplOmZ1bmN0aW9uKCl7dmFyIGE9Yy5ib2R5LGI9Yy5jcmVh dGVFbGVtZW50KCJkaXYiKSxkLGUsZyxoLGk9cGFyc2VGbG9hdChmLmNzcyhhLCJt YXJnaW5Ub3AiKSl8fDAsaj0iPGRpdiBzdHlsZT0ncG9zaXRpb246YWJzb2x1dGU7 dG9wOjA7bGVmdDowO21hcmdpbjowO2JvcmRlcjo1cHggc29saWQgIzAwMDtwYWRk aW5nOjA7d2lkdGg6MXB4O2hlaWdodDoxcHg7Jz48ZGl2PjwvZGl2PjwvZGl2Pjx0 YWJsZSBzdHlsZT0ncG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO21hcmdp bjowO2JvcmRlcjo1cHggc29saWQgIzAwMDtwYWRkaW5nOjA7d2lkdGg6MXB4O2hl aWdodDoxcHg7JyBjZWxscGFkZGluZz0nMCcgY2VsbHNwYWNpbmc9JzAnPjx0cj48 dGQ+PC90ZD48L3RyPjwvdGFibGU+IjtmLmV4dGVuZChiLnN0eWxlLHtwb3NpdGlv bjoiYWJzb2x1dGUiLHRvcDowLGxlZnQ6MCxtYXJnaW46MCxib3JkZXI6MCx3aWR0 aDoiMXB4IixoZWlnaHQ6IjFweCIsdmlzaWJpbGl0eToiaGlkZGVuIn0pLGIuaW5u ZXJIVE1MPWosYS5pbnNlcnRCZWZvcmUoYixhLmZpcnN0Q2hpbGQpLGQ9Yi5maXJz dENoaWxkLGU9ZC5maXJzdENoaWxkLGg9ZC5uZXh0U2libGluZy5maXJzdENoaWxk LmZpcnN0Q2hpbGQsdGhpcy5kb2VzTm90QWRkQm9yZGVyPWUub2Zmc2V0VG9wIT09 NSx0aGlzLmRvZXNBZGRCb3JkZXJGb3JUYWJsZUFuZENlbGxzPWgub2Zmc2V0VG9w PT09NSxlLnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsZS5zdHlsZS50b3A9IjIwcHgi LHRoaXMuc3VwcG9ydHNGaXhlZFBvc2l0aW9uPWUub2Zmc2V0VG9wPT09MjB8fGUu b2Zmc2V0VG9wPT09MTUsZS5zdHlsZS5wb3NpdGlvbj1lLnN0eWxlLnRvcD0iIixk LnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iLGQuc3R5bGUucG9zaXRpb249InJlbGF0 aXZlIix0aGlzLnN1YnRyYWN0c0JvcmRlckZvck92ZXJmbG93Tm90VmlzaWJsZT1l Lm9mZnNldFRvcD09PS01LHRoaXMuZG9lc05vdEluY2x1ZGVNYXJnaW5JbkJvZHlP ZmZzZXQ9YS5vZmZzZXRUb3AhPT1pLGEucmVtb3ZlQ2hpbGQoYiksZi5vZmZzZXQu aW5pdGlhbGl6ZT1mLm5vb3B9LGJvZHlPZmZzZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9 YS5vZmZzZXRUb3AsYz1hLm9mZnNldExlZnQ7Zi5vZmZzZXQuaW5pdGlhbGl6ZSgp LGYub2Zmc2V0LmRvZXNOb3RJbmNsdWRlTWFyZ2luSW5Cb2R5T2Zmc2V0JiYoYis9 cGFyc2VGbG9hdChmLmNzcyhhLCJtYXJnaW5Ub3AiKSl8fDAsYys9cGFyc2VGbG9h dChmLmNzcyhhLCJtYXJnaW5MZWZ0IikpfHwwKTtyZXR1cm57dG9wOmIsbGVmdDpj fX0sc2V0T2Zmc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1mLmNzcyhhLCJwb3Np dGlvbiIpO2Q9PT0ic3RhdGljIiYmKGEuc3R5bGUucG9zaXRpb249InJlbGF0aXZl Iik7dmFyIGU9ZihhKSxnPWUub2Zmc2V0KCksaD1mLmNzcyhhLCJ0b3AiKSxpPWYu Y3NzKGEsImxlZnQiKSxqPShkPT09ImFic29sdXRlInx8ZD09PSJmaXhlZCIpJiZm LmluQXJyYXkoImF1dG8iLFtoLGldKT4tMSxrPXt9LGw9e30sbSxuO2o/KGw9ZS5w b3NpdGlvbigpLG09bC50b3Asbj1sLmxlZnQpOihtPXBhcnNlRmxvYXQoaCl8fDAs bj1wYXJzZUZsb2F0KGkpfHwwKSxmLmlzRnVuY3Rpb24oYikmJihiPWIuY2FsbChh LGMsZykpLGIudG9wIT1udWxsJiYoay50b3A9Yi50b3AtZy50b3ArbSksYi5sZWZ0 IT1udWxsJiYoay5sZWZ0PWIubGVmdC1nLmxlZnQrbiksInVzaW5nImluIGI/Yi51 c2luZy5jYWxsKGEsayk6ZS5jc3Moayl9fSxmLmZuLmV4dGVuZCh7cG9zaXRpb246 ZnVuY3Rpb24oKXtpZighdGhpc1swXSlyZXR1cm4gbnVsbDt2YXIgYT10aGlzWzBd LGI9dGhpcy5vZmZzZXRQYXJlbnQoKSxjPXRoaXMub2Zmc2V0KCksZD1jeC50ZXN0 KGJbMF0ubm9kZU5hbWUpP3t0b3A6MCxsZWZ0OjB9OmIub2Zmc2V0KCk7Yy50b3At PXBhcnNlRmxvYXQoZi5jc3MoYSwibWFyZ2luVG9wIikpfHwwLGMubGVmdC09cGFy c2VGbG9hdChmLmNzcyhhLCJtYXJnaW5MZWZ0IikpfHwwLGQudG9wKz1wYXJzZUZs b2F0KGYuY3NzKGJbMF0sImJvcmRlclRvcFdpZHRoIikpfHwwLGQubGVmdCs9cGFy c2VGbG9hdChmLmNzcyhiWzBdLCJib3JkZXJMZWZ0V2lkdGgiKSl8fDA7cmV0dXJu e3RvcDpjLnRvcC1kLnRvcCxsZWZ0OmMubGVmdC1kLmxlZnR9fSxvZmZzZXRQYXJl bnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXt2YXIgYT10 aGlzLm9mZnNldFBhcmVudHx8Yy5ib2R5O3doaWxlKGEmJiFjeC50ZXN0KGEubm9k ZU5hbWUpJiZmLmNzcyhhLCJwb3NpdGlvbiIpPT09InN0YXRpYyIpYT1hLm9mZnNl dFBhcmVudDtyZXR1cm4gYX0pfX0pLGYuZWFjaChbIkxlZnQiLCJUb3AiXSxmdW5j dGlvbihhLGMpe3ZhciBkPSJzY3JvbGwiK2M7Zi5mbltkXT1mdW5jdGlvbihjKXt2 YXIgZSxnO2lmKGM9PT1iKXtlPXRoaXNbMF07aWYoIWUpcmV0dXJuIG51bGw7Zz1j eShlKTtyZXR1cm4gZz8icGFnZVhPZmZzZXQiaW4gZz9nW2E/InBhZ2VZT2Zmc2V0 IjoicGFnZVhPZmZzZXQiXTpmLnN1cHBvcnQuYm94TW9kZWwmJmcuZG9jdW1lbnQu ZG9jdW1lbnRFbGVtZW50W2RdfHxnLmRvY3VtZW50LmJvZHlbZF06ZVtkXX1yZXR1 cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Zz1jeSh0aGlzKSxnP2cuc2Nyb2xsVG8o YT9mKGcpLnNjcm9sbExlZnQoKTpjLGE/YzpmKGcpLnNjcm9sbFRvcCgpKTp0aGlz W2RdPWN9KX19KSxmLmVhY2goWyJIZWlnaHQiLCJXaWR0aCJdLGZ1bmN0aW9uKGEs Yyl7dmFyIGQ9Yy50b0xvd2VyQ2FzZSgpO2YuZm5bImlubmVyIitjXT1mdW5jdGlv bigpe3JldHVybiB0aGlzWzBdP3BhcnNlRmxvYXQoZi5jc3ModGhpc1swXSxkLCJw YWRkaW5nIikpOm51bGx9LGYuZm5bIm91dGVyIitjXT1mdW5jdGlvbihhKXtyZXR1 cm4gdGhpc1swXT9wYXJzZUZsb2F0KGYuY3NzKHRoaXNbMF0sZCxhPyJtYXJnaW4i OiJib3JkZXIiKSk6bnVsbH0sZi5mbltkXT1mdW5jdGlvbihhKXt2YXIgZT10aGlz WzBdO2lmKCFlKXJldHVybiBhPT1udWxsP251bGw6dGhpcztpZihmLmlzRnVuY3Rp b24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXt2YXIgYz1mKHRoaXMp O2NbZF0oYS5jYWxsKHRoaXMsYixjW2RdKCkpKX0pO2lmKGYuaXNXaW5kb3coZSkp e3ZhciBnPWUuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50WyJjbGllbnQiK2NdO3Jl dHVybiBlLmRvY3VtZW50LmNvbXBhdE1vZGU9PT0iQ1NTMUNvbXBhdCImJmd8fGUu ZG9jdW1lbnQuYm9keVsiY2xpZW50IitjXXx8Z31pZihlLm5vZGVUeXBlPT09OSly ZXR1cm4gTWF0aC5tYXgoZS5kb2N1bWVudEVsZW1lbnRbImNsaWVudCIrY10sZS5i b2R5WyJzY3JvbGwiK2NdLGUuZG9jdW1lbnRFbGVtZW50WyJzY3JvbGwiK2NdLGUu Ym9keVsib2Zmc2V0IitjXSxlLmRvY3VtZW50RWxlbWVudFsib2Zmc2V0IitjXSk7 aWYoYT09PWIpe3ZhciBoPWYuY3NzKGUsZCksaT1wYXJzZUZsb2F0KGgpO3JldHVy biBmLmlzTmFOKGkpP2g6aX1yZXR1cm4gdGhpcy5jc3MoZCx0eXBlb2YgYT09InN0 cmluZyI/YTphKyJweCIpfX0pLGEualF1ZXJ5PWEuJD1mfSkod2luZG93KTs= ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=jqueryui.js Content-Type: application/x-javascript; charset=windows-1251; name=jqueryui.js Content-Location: http://www.dl4all.com/engine/classes/js/jqueryui.js Content-Transfer-Encoding: Base64 LyohCiAqIGpRdWVyeSBVSSAxLjguMTEKICoKICogQ29weXJpZ2h0IDIwMTEsIEFV VEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxp Y2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4K ICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5q cXVlcnkuY29tL1VJCiAqLwooZnVuY3Rpb24oYyxqKXtmdW5jdGlvbiBrKGEpe3Jl dHVybiFjKGEpLnBhcmVudHMoKS5hbmRTZWxmKCkuZmlsdGVyKGZ1bmN0aW9uKCl7 cmV0dXJuIGMuY3VyQ1NTKHRoaXMsInZpc2liaWxpdHkiKT09PSJoaWRkZW4ifHxj LmV4cHIuZmlsdGVycy5oaWRkZW4odGhpcyl9KS5sZW5ndGh9Yy51aT1jLnVpfHx7 fTtpZighYy51aS52ZXJzaW9uKXtjLmV4dGVuZChjLnVpLHt2ZXJzaW9uOiIxLjgu MTEiLGtleUNvZGU6e0FMVDoxOCxCQUNLU1BBQ0U6OCxDQVBTX0xPQ0s6MjAsQ09N TUE6MTg4LENPTU1BTkQ6OTEsQ09NTUFORF9MRUZUOjkxLENPTU1BTkRfUklHSFQ6 OTMsQ09OVFJPTDoxNyxERUxFVEU6NDYsRE9XTjo0MCxFTkQ6MzUsRU5URVI6MTMs RVNDQVBFOjI3LEhPTUU6MzYsSU5TRVJUOjQ1LExFRlQ6MzcsTUVOVTo5MyxOVU1Q QURfQUREOjEwNyxOVU1QQURfREVDSU1BTDoxMTAsTlVNUEFEX0RJVklERToxMTEs TlVNUEFEX0VOVEVSOjEwOCxOVU1QQURfTVVMVElQTFk6MTA2LApOVU1QQURfU1VC VFJBQ1Q6MTA5LFBBR0VfRE9XTjozNCxQQUdFX1VQOjMzLFBFUklPRDoxOTAsUklH SFQ6MzksU0hJRlQ6MTYsU1BBQ0U6MzIsVEFCOjksVVA6MzgsV0lORE9XUzo5MX19 KTtjLmZuLmV4dGVuZCh7X2ZvY3VzOmMuZm4uZm9jdXMsZm9jdXM6ZnVuY3Rpb24o YSxiKXtyZXR1cm4gdHlwZW9mIGE9PT0ibnVtYmVyIj90aGlzLmVhY2goZnVuY3Rp b24oKXt2YXIgZD10aGlzO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtjKGQpLmZvY3Vz KCk7YiYmYi5jYWxsKGQpfSxhKX0pOnRoaXMuX2ZvY3VzLmFwcGx5KHRoaXMsYXJn dW1lbnRzKX0sc2Nyb2xsUGFyZW50OmZ1bmN0aW9uKCl7dmFyIGE7YT1jLmJyb3dz ZXIubXNpZSYmLyhzdGF0aWN8cmVsYXRpdmUpLy50ZXN0KHRoaXMuY3NzKCJwb3Np dGlvbiIpKXx8L2Fic29sdXRlLy50ZXN0KHRoaXMuY3NzKCJwb3NpdGlvbiIpKT90 aGlzLnBhcmVudHMoKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4vKHJlbGF0aXZl fGFic29sdXRlfGZpeGVkKS8udGVzdChjLmN1ckNTUyh0aGlzLAoicG9zaXRpb24i LDEpKSYmLyhhdXRvfHNjcm9sbCkvLnRlc3QoYy5jdXJDU1ModGhpcywib3ZlcmZs b3ciLDEpK2MuY3VyQ1NTKHRoaXMsIm92ZXJmbG93LXkiLDEpK2MuY3VyQ1NTKHRo aXMsIm92ZXJmbG93LXgiLDEpKX0pLmVxKDApOnRoaXMucGFyZW50cygpLmZpbHRl cihmdW5jdGlvbigpe3JldHVybi8oYXV0b3xzY3JvbGwpLy50ZXN0KGMuY3VyQ1NT KHRoaXMsIm92ZXJmbG93IiwxKStjLmN1ckNTUyh0aGlzLCJvdmVyZmxvdy15Iiwx KStjLmN1ckNTUyh0aGlzLCJvdmVyZmxvdy14IiwxKSl9KS5lcSgwKTtyZXR1cm4v Zml4ZWQvLnRlc3QodGhpcy5jc3MoInBvc2l0aW9uIikpfHwhYS5sZW5ndGg/Yyhk b2N1bWVudCk6YX0sekluZGV4OmZ1bmN0aW9uKGEpe2lmKGEhPT1qKXJldHVybiB0 aGlzLmNzcygiekluZGV4IixhKTtpZih0aGlzLmxlbmd0aCl7YT1jKHRoaXNbMF0p O2Zvcih2YXIgYjthLmxlbmd0aCYmYVswXSE9PWRvY3VtZW50Oyl7Yj1hLmNzcygi cG9zaXRpb24iKTsKaWYoYj09PSJhYnNvbHV0ZSJ8fGI9PT0icmVsYXRpdmUifHxi PT09ImZpeGVkIil7Yj1wYXJzZUludChhLmNzcygiekluZGV4IiksMTApO2lmKCFp c05hTihiKSYmYiE9PTApcmV0dXJuIGJ9YT1hLnBhcmVudCgpfX1yZXR1cm4gMH0s ZGlzYWJsZVNlbGVjdGlvbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmJpbmQoKGMu c3VwcG9ydC5zZWxlY3RzdGFydD8ic2VsZWN0c3RhcnQiOiJtb3VzZWRvd24iKSsi LnVpLWRpc2FibGVTZWxlY3Rpb24iLGZ1bmN0aW9uKGEpe2EucHJldmVudERlZmF1 bHQoKX0pfSxlbmFibGVTZWxlY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51 bmJpbmQoIi51aS1kaXNhYmxlU2VsZWN0aW9uIil9fSk7Yy5lYWNoKFsiV2lkdGgi LCJIZWlnaHQiXSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGQoZixnLGwsbSl7Yy5l YWNoKGUsZnVuY3Rpb24oKXtnLT1wYXJzZUZsb2F0KGMuY3VyQ1NTKGYsInBhZGRp bmciK3RoaXMsdHJ1ZSkpfHwwO2lmKGwpZy09cGFyc2VGbG9hdChjLmN1ckNTUyhm LAoiYm9yZGVyIit0aGlzKyJXaWR0aCIsdHJ1ZSkpfHwwO2lmKG0pZy09cGFyc2VG bG9hdChjLmN1ckNTUyhmLCJtYXJnaW4iK3RoaXMsdHJ1ZSkpfHwwfSk7cmV0dXJu IGd9dmFyIGU9Yj09PSJXaWR0aCI/WyJMZWZ0IiwiUmlnaHQiXTpbIlRvcCIsIkJv dHRvbSJdLGg9Yi50b0xvd2VyQ2FzZSgpLGk9e2lubmVyV2lkdGg6Yy5mbi5pbm5l cldpZHRoLGlubmVySGVpZ2h0OmMuZm4uaW5uZXJIZWlnaHQsb3V0ZXJXaWR0aDpj LmZuLm91dGVyV2lkdGgsb3V0ZXJIZWlnaHQ6Yy5mbi5vdXRlckhlaWdodH07Yy5m blsiaW5uZXIiK2JdPWZ1bmN0aW9uKGYpe2lmKGY9PT1qKXJldHVybiBpWyJpbm5l ciIrYl0uY2FsbCh0aGlzKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yyh0 aGlzKS5jc3MoaCxkKHRoaXMsZikrInB4Iil9KX07Yy5mblsib3V0ZXIiK2JdPWZ1 bmN0aW9uKGYsZyl7aWYodHlwZW9mIGYhPT0ibnVtYmVyIilyZXR1cm4gaVsib3V0 ZXIiK2JdLmNhbGwodGhpcyxmKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7 Yyh0aGlzKS5jc3MoaCwKZCh0aGlzLGYsdHJ1ZSxnKSsicHgiKX0pfX0pO2MuZXh0 ZW5kKGMuZXhwclsiOiJdLHtkYXRhOmZ1bmN0aW9uKGEsYixkKXtyZXR1cm4hIWMu ZGF0YShhLGRbM10pfSxmb2N1c2FibGU6ZnVuY3Rpb24oYSl7dmFyIGI9YS5ub2Rl TmFtZS50b0xvd2VyQ2FzZSgpLGQ9Yy5hdHRyKGEsInRhYmluZGV4Iik7aWYoImFy ZWEiPT09Yil7Yj1hLnBhcmVudE5vZGU7ZD1iLm5hbWU7aWYoIWEuaHJlZnx8IWR8 fGIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSE9PSJtYXAiKXJldHVybiBmYWxzZTth PWMoImltZ1t1c2VtYXA9IyIrZCsiXSIpWzBdO3JldHVybiEhYSYmayhhKX1yZXR1 cm4oL2lucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b258b2JqZWN0Ly50ZXN0KGIp PyFhLmRpc2FibGVkOiJhIj09Yj9hLmhyZWZ8fCFpc05hTihkKTohaXNOYU4oZCkp JiZrKGEpfSx0YWJiYWJsZTpmdW5jdGlvbihhKXt2YXIgYj1jLmF0dHIoYSwidGFi aW5kZXgiKTtyZXR1cm4oaXNOYU4oYil8fGI+PTApJiZjKGEpLmlzKCI6Zm9jdXNh YmxlIil9fSk7CmMoZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5ib2R5LGI9YS5h cHBlbmRDaGlsZChiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTtjLmV4 dGVuZChiLnN0eWxlLHttaW5IZWlnaHQ6IjEwMHB4IixoZWlnaHQ6ImF1dG8iLHBh ZGRpbmc6MCxib3JkZXJXaWR0aDowfSk7Yy5zdXBwb3J0Lm1pbkhlaWdodD1iLm9m ZnNldEhlaWdodD09PTEwMDtjLnN1cHBvcnQuc2VsZWN0c3RhcnQ9Im9uc2VsZWN0 c3RhcnQiaW4gYjthLnJlbW92ZUNoaWxkKGIpLnN0eWxlLmRpc3BsYXk9Im5vbmUi fSk7Yy5leHRlbmQoYy51aSx7cGx1Z2luOnthZGQ6ZnVuY3Rpb24oYSxiLGQpe2E9 Yy51aVthXS5wcm90b3R5cGU7Zm9yKHZhciBlIGluIGQpe2EucGx1Z2luc1tlXT1h LnBsdWdpbnNbZV18fFtdO2EucGx1Z2luc1tlXS5wdXNoKFtiLGRbZV1dKX19LGNh bGw6ZnVuY3Rpb24oYSxiLGQpe2lmKChiPWEucGx1Z2luc1tiXSkmJmEuZWxlbWVu dFswXS5wYXJlbnROb2RlKWZvcih2YXIgZT0wO2U8Yi5sZW5ndGg7ZSsrKWEub3B0 aW9uc1tiW2VdWzBdXSYmCmJbZV1bMV0uYXBwbHkoYS5lbGVtZW50LGQpfX0sY29u dGFpbnM6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZG9jdW1lbnQuY29tcGFyZURvY3Vt ZW50UG9zaXRpb24/YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSYxNjphIT09 YiYmYS5jb250YWlucyhiKX0saGFzU2Nyb2xsOmZ1bmN0aW9uKGEsYil7aWYoYyhh KS5jc3MoIm92ZXJmbG93Iik9PT0iaGlkZGVuIilyZXR1cm4gZmFsc2U7Yj1iJiZi PT09ImxlZnQiPyJzY3JvbGxMZWZ0Ijoic2Nyb2xsVG9wIjt2YXIgZD1mYWxzZTtp ZihhW2JdPjApcmV0dXJuIHRydWU7YVtiXT0xO2Q9YVtiXT4wO2FbYl09MDtyZXR1 cm4gZH0saXNPdmVyQXhpczpmdW5jdGlvbihhLGIsZCl7cmV0dXJuIGE+YiYmYTxi K2R9LGlzT3ZlcjpmdW5jdGlvbihhLGIsZCxlLGgsaSl7cmV0dXJuIGMudWkuaXNP dmVyQXhpcyhhLGQsaCkmJmMudWkuaXNPdmVyQXhpcyhiLGUsaSl9fSl9fSkoalF1 ZXJ5KTsKOwoKKGZ1bmN0aW9uKGIsail7aWYoYi5jbGVhbkRhdGEpe3ZhciBrPWIu Y2xlYW5EYXRhO2IuY2xlYW5EYXRhPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYz0wLGQ7 KGQ9YVtjXSkhPW51bGw7YysrKWIoZCkudHJpZ2dlckhhbmRsZXIoInJlbW92ZSIp O2soYSl9fWVsc2V7dmFyIGw9Yi5mbi5yZW1vdmU7Yi5mbi5yZW1vdmU9ZnVuY3Rp b24oYSxjKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7aWYoIWMpaWYoIWF8 fGIuZmlsdGVyKGEsW3RoaXNdKS5sZW5ndGgpYigiKiIsdGhpcykuYWRkKFt0aGlz XSkuZWFjaChmdW5jdGlvbigpe2IodGhpcykudHJpZ2dlckhhbmRsZXIoInJlbW92 ZSIpfSk7cmV0dXJuIGwuY2FsbChiKHRoaXMpLGEsYyl9KX19Yi53aWRnZXQ9ZnVu Y3Rpb24oYSxjLGQpe3ZhciBlPWEuc3BsaXQoIi4iKVswXSxmO2E9YS5zcGxpdCgi LiIpWzFdO2Y9ZSsiLSIrYTtpZighZCl7ZD1jO2M9Yi5XaWRnZXR9Yi5leHByWyI6 Il1bZl09ZnVuY3Rpb24oaCl7cmV0dXJuISFiLmRhdGEoaCwKYSl9O2JbZV09Yltl XXx8e307YltlXVthXT1mdW5jdGlvbihoLGcpe2FyZ3VtZW50cy5sZW5ndGgmJnRo aXMuX2NyZWF0ZVdpZGdldChoLGcpfTtjPW5ldyBjO2Mub3B0aW9ucz1iLmV4dGVu ZCh0cnVlLHt9LGMub3B0aW9ucyk7YltlXVthXS5wcm90b3R5cGU9Yi5leHRlbmQo dHJ1ZSxjLHtuYW1lc3BhY2U6ZSx3aWRnZXROYW1lOmEsd2lkZ2V0RXZlbnRQcmVm aXg6YltlXVthXS5wcm90b3R5cGUud2lkZ2V0RXZlbnRQcmVmaXh8fGEsd2lkZ2V0 QmFzZUNsYXNzOmZ9LGQpO2Iud2lkZ2V0LmJyaWRnZShhLGJbZV1bYV0pfTtiLndp ZGdldC5icmlkZ2U9ZnVuY3Rpb24oYSxjKXtiLmZuW2FdPWZ1bmN0aW9uKGQpe3Zh ciBlPXR5cGVvZiBkPT09InN0cmluZyIsZj1BcnJheS5wcm90b3R5cGUuc2xpY2Uu Y2FsbChhcmd1bWVudHMsMSksaD10aGlzO2Q9IWUmJmYubGVuZ3RoP2IuZXh0ZW5k LmFwcGx5KG51bGwsW3RydWUsZF0uY29uY2F0KGYpKTpkO2lmKGUmJmQuY2hhckF0 KDApPT09Il8iKXJldHVybiBoOwplP3RoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBn PWIuZGF0YSh0aGlzLGEpLGk9ZyYmYi5pc0Z1bmN0aW9uKGdbZF0pP2dbZF0uYXBw bHkoZyxmKTpnO2lmKGkhPT1nJiZpIT09ail7aD1pO3JldHVybiBmYWxzZX19KTp0 aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZz1iLmRhdGEodGhpcyxhKTtnP2cub3B0 aW9uKGR8fHt9KS5faW5pdCgpOmIuZGF0YSh0aGlzLGEsbmV3IGMoZCx0aGlzKSl9 KTtyZXR1cm4gaH19O2IuV2lkZ2V0PWZ1bmN0aW9uKGEsYyl7YXJndW1lbnRzLmxl bmd0aCYmdGhpcy5fY3JlYXRlV2lkZ2V0KGEsYyl9O2IuV2lkZ2V0LnByb3RvdHlw ZT17d2lkZ2V0TmFtZToid2lkZ2V0Iix3aWRnZXRFdmVudFByZWZpeDoiIixvcHRp b25zOntkaXNhYmxlZDpmYWxzZX0sX2NyZWF0ZVdpZGdldDpmdW5jdGlvbihhLGMp e2IuZGF0YShjLHRoaXMud2lkZ2V0TmFtZSx0aGlzKTt0aGlzLmVsZW1lbnQ9Yihj KTt0aGlzLm9wdGlvbnM9Yi5leHRlbmQodHJ1ZSx7fSx0aGlzLm9wdGlvbnMsCnRo aXMuX2dldENyZWF0ZU9wdGlvbnMoKSxhKTt2YXIgZD10aGlzO3RoaXMuZWxlbWVu dC5iaW5kKCJyZW1vdmUuIit0aGlzLndpZGdldE5hbWUsZnVuY3Rpb24oKXtkLmRl c3Ryb3koKX0pO3RoaXMuX2NyZWF0ZSgpO3RoaXMuX3RyaWdnZXIoImNyZWF0ZSIp O3RoaXMuX2luaXQoKX0sX2dldENyZWF0ZU9wdGlvbnM6ZnVuY3Rpb24oKXtyZXR1 cm4gYi5tZXRhZGF0YSYmYi5tZXRhZGF0YS5nZXQodGhpcy5lbGVtZW50WzBdKVt0 aGlzLndpZGdldE5hbWVdfSxfY3JlYXRlOmZ1bmN0aW9uKCl7fSxfaW5pdDpmdW5j dGlvbigpe30sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC51bmJpbmQo Ii4iK3RoaXMud2lkZ2V0TmFtZSkucmVtb3ZlRGF0YSh0aGlzLndpZGdldE5hbWUp O3RoaXMud2lkZ2V0KCkudW5iaW5kKCIuIit0aGlzLndpZGdldE5hbWUpLnJlbW92 ZUF0dHIoImFyaWEtZGlzYWJsZWQiKS5yZW1vdmVDbGFzcyh0aGlzLndpZGdldEJh c2VDbGFzcysiLWRpc2FibGVkIHVpLXN0YXRlLWRpc2FibGVkIil9LAp3aWRnZXQ6 ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbGVtZW50fSxvcHRpb246ZnVuY3Rpb24o YSxjKXt2YXIgZD1hO2lmKGFyZ3VtZW50cy5sZW5ndGg9PT0wKXJldHVybiBiLmV4 dGVuZCh7fSx0aGlzLm9wdGlvbnMpO2lmKHR5cGVvZiBhPT09InN0cmluZyIpe2lm KGM9PT1qKXJldHVybiB0aGlzLm9wdGlvbnNbYV07ZD17fTtkW2FdPWN9dGhpcy5f c2V0T3B0aW9ucyhkKTtyZXR1cm4gdGhpc30sX3NldE9wdGlvbnM6ZnVuY3Rpb24o YSl7dmFyIGM9dGhpcztiLmVhY2goYSxmdW5jdGlvbihkLGUpe2MuX3NldE9wdGlv bihkLGUpfSk7cmV0dXJuIHRoaXN9LF9zZXRPcHRpb246ZnVuY3Rpb24oYSxjKXt0 aGlzLm9wdGlvbnNbYV09YztpZihhPT09ImRpc2FibGVkIil0aGlzLndpZGdldCgp W2M/ImFkZENsYXNzIjoicmVtb3ZlQ2xhc3MiXSh0aGlzLndpZGdldEJhc2VDbGFz cysiLWRpc2FibGVkIHVpLXN0YXRlLWRpc2FibGVkIikuYXR0cigiYXJpYS1kaXNh YmxlZCIsYyk7cmV0dXJuIHRoaXN9LAplbmFibGU6ZnVuY3Rpb24oKXtyZXR1cm4g dGhpcy5fc2V0T3B0aW9uKCJkaXNhYmxlZCIsZmFsc2UpfSxkaXNhYmxlOmZ1bmN0 aW9uKCl7cmV0dXJuIHRoaXMuX3NldE9wdGlvbigiZGlzYWJsZWQiLHRydWUpfSxf dHJpZ2dlcjpmdW5jdGlvbihhLGMsZCl7dmFyIGU9dGhpcy5vcHRpb25zW2FdO2M9 Yi5FdmVudChjKTtjLnR5cGU9KGE9PT10aGlzLndpZGdldEV2ZW50UHJlZml4P2E6 dGhpcy53aWRnZXRFdmVudFByZWZpeCthKS50b0xvd2VyQ2FzZSgpO2Q9ZHx8e307 aWYoYy5vcmlnaW5hbEV2ZW50KXthPWIuZXZlbnQucHJvcHMubGVuZ3RoO2Zvcih2 YXIgZjthOyl7Zj1iLmV2ZW50LnByb3BzWy0tYV07Y1tmXT1jLm9yaWdpbmFsRXZl bnRbZl19fXRoaXMuZWxlbWVudC50cmlnZ2VyKGMsZCk7cmV0dXJuIShiLmlzRnVu Y3Rpb24oZSkmJmUuY2FsbCh0aGlzLmVsZW1lbnRbMF0sYyxkKT09PWZhbHNlfHxj LmlzRGVmYXVsdFByZXZlbnRlZCgpKX19fSkoalF1ZXJ5KTsKOwoKKGZ1bmN0aW9u KGIpe2Iud2lkZ2V0KCJ1aS5tb3VzZSIse29wdGlvbnM6e2NhbmNlbDoiOmlucHV0 LG9wdGlvbiIsZGlzdGFuY2U6MSxkZWxheTowfSxfbW91c2VJbml0OmZ1bmN0aW9u KCl7dmFyIGE9dGhpczt0aGlzLmVsZW1lbnQuYmluZCgibW91c2Vkb3duLiIrdGhp cy53aWRnZXROYW1lLGZ1bmN0aW9uKGMpe3JldHVybiBhLl9tb3VzZURvd24oYyl9 KS5iaW5kKCJjbGljay4iK3RoaXMud2lkZ2V0TmFtZSxmdW5jdGlvbihjKXtpZih0 cnVlPT09Yi5kYXRhKGMudGFyZ2V0LGEud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlj a0V2ZW50Iikpe2IucmVtb3ZlRGF0YShjLnRhcmdldCxhLndpZGdldE5hbWUrIi5w cmV2ZW50Q2xpY2tFdmVudCIpO2Muc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7 cmV0dXJuIGZhbHNlfX0pO3RoaXMuc3RhcnRlZD1mYWxzZX0sX21vdXNlRGVzdHJv eTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC51bmJpbmQoIi4iK3RoaXMud2lkZ2V0 TmFtZSl9LF9tb3VzZURvd246ZnVuY3Rpb24oYSl7YS5vcmlnaW5hbEV2ZW50PQph Lm9yaWdpbmFsRXZlbnR8fHt9O2lmKCFhLm9yaWdpbmFsRXZlbnQubW91c2VIYW5k bGVkKXt0aGlzLl9tb3VzZVN0YXJ0ZWQmJnRoaXMuX21vdXNlVXAoYSk7dGhpcy5f bW91c2VEb3duRXZlbnQ9YTt2YXIgYz10aGlzLGU9YS53aGljaD09MSxmPXR5cGVv ZiB0aGlzLm9wdGlvbnMuY2FuY2VsPT0ic3RyaW5nIj9iKGEudGFyZ2V0KS5wYXJl bnRzKCkuYWRkKGEudGFyZ2V0KS5maWx0ZXIodGhpcy5vcHRpb25zLmNhbmNlbCku bGVuZ3RoOmZhbHNlO2lmKCFlfHxmfHwhdGhpcy5fbW91c2VDYXB0dXJlKGEpKXJl dHVybiB0cnVlO3RoaXMubW91c2VEZWxheU1ldD0hdGhpcy5vcHRpb25zLmRlbGF5 O2lmKCF0aGlzLm1vdXNlRGVsYXlNZXQpdGhpcy5fbW91c2VEZWxheVRpbWVyPXNl dFRpbWVvdXQoZnVuY3Rpb24oKXtjLm1vdXNlRGVsYXlNZXQ9dHJ1ZX0sdGhpcy5v cHRpb25zLmRlbGF5KTtpZih0aGlzLl9tb3VzZURpc3RhbmNlTWV0KGEpJiZ0aGlz Ll9tb3VzZURlbGF5TWV0KGEpKXt0aGlzLl9tb3VzZVN0YXJ0ZWQ9CnRoaXMuX21v dXNlU3RhcnQoYSkhPT1mYWxzZTtpZighdGhpcy5fbW91c2VTdGFydGVkKXthLnBy ZXZlbnREZWZhdWx0KCk7cmV0dXJuIHRydWV9fXRydWU9PT1iLmRhdGEoYS50YXJn ZXQsdGhpcy53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiKSYmYi5yZW1v dmVEYXRhKGEudGFyZ2V0LHRoaXMud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2 ZW50Iik7dGhpcy5fbW91c2VNb3ZlRGVsZWdhdGU9ZnVuY3Rpb24oZCl7cmV0dXJu IGMuX21vdXNlTW92ZShkKX07dGhpcy5fbW91c2VVcERlbGVnYXRlPWZ1bmN0aW9u KGQpe3JldHVybiBjLl9tb3VzZVVwKGQpfTtiKGRvY3VtZW50KS5iaW5kKCJtb3Vz ZW1vdmUuIit0aGlzLndpZGdldE5hbWUsdGhpcy5fbW91c2VNb3ZlRGVsZWdhdGUp LmJpbmQoIm1vdXNldXAuIit0aGlzLndpZGdldE5hbWUsdGhpcy5fbW91c2VVcERl bGVnYXRlKTthLnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIGEub3JpZ2luYWxFdmVu dC5tb3VzZUhhbmRsZWQ9CnRydWV9fSxfbW91c2VNb3ZlOmZ1bmN0aW9uKGEpe2lm KGIuYnJvd3Nlci5tc2llJiYhKGRvY3VtZW50LmRvY3VtZW50TW9kZT49OSkmJiFh LmJ1dHRvbilyZXR1cm4gdGhpcy5fbW91c2VVcChhKTtpZih0aGlzLl9tb3VzZVN0 YXJ0ZWQpe3RoaXMuX21vdXNlRHJhZyhhKTtyZXR1cm4gYS5wcmV2ZW50RGVmYXVs dCgpfWlmKHRoaXMuX21vdXNlRGlzdGFuY2VNZXQoYSkmJnRoaXMuX21vdXNlRGVs YXlNZXQoYSkpKHRoaXMuX21vdXNlU3RhcnRlZD10aGlzLl9tb3VzZVN0YXJ0KHRo aXMuX21vdXNlRG93bkV2ZW50LGEpIT09ZmFsc2UpP3RoaXMuX21vdXNlRHJhZyhh KTp0aGlzLl9tb3VzZVVwKGEpO3JldHVybiF0aGlzLl9tb3VzZVN0YXJ0ZWR9LF9t b3VzZVVwOmZ1bmN0aW9uKGEpe2IoZG9jdW1lbnQpLnVuYmluZCgibW91c2Vtb3Zl LiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlTW92ZURlbGVnYXRlKS51bmJp bmQoIm1vdXNldXAuIit0aGlzLndpZGdldE5hbWUsdGhpcy5fbW91c2VVcERlbGVn YXRlKTsKaWYodGhpcy5fbW91c2VTdGFydGVkKXt0aGlzLl9tb3VzZVN0YXJ0ZWQ9 ZmFsc2U7YS50YXJnZXQ9PXRoaXMuX21vdXNlRG93bkV2ZW50LnRhcmdldCYmYi5k YXRhKGEudGFyZ2V0LHRoaXMud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2ZW50 Iix0cnVlKTt0aGlzLl9tb3VzZVN0b3AoYSl9cmV0dXJuIGZhbHNlfSxfbW91c2VE aXN0YW5jZU1ldDpmdW5jdGlvbihhKXtyZXR1cm4gTWF0aC5tYXgoTWF0aC5hYnMo dGhpcy5fbW91c2VEb3duRXZlbnQucGFnZVgtYS5wYWdlWCksTWF0aC5hYnModGhp cy5fbW91c2VEb3duRXZlbnQucGFnZVktYS5wYWdlWSkpPj10aGlzLm9wdGlvbnMu ZGlzdGFuY2V9LF9tb3VzZURlbGF5TWV0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMu bW91c2VEZWxheU1ldH0sX21vdXNlU3RhcnQ6ZnVuY3Rpb24oKXt9LF9tb3VzZURy YWc6ZnVuY3Rpb24oKXt9LF9tb3VzZVN0b3A6ZnVuY3Rpb24oKXt9LF9tb3VzZUNh cHR1cmU6ZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZX19KX0pKGpRdWVyeSk7CjsKCihm dW5jdGlvbihjKXtjLnVpPWMudWl8fHt9O3ZhciBuPS9sZWZ0fGNlbnRlcnxyaWdo dC8sbz0vdG9wfGNlbnRlcnxib3R0b20vLHQ9Yy5mbi5wb3NpdGlvbix1PWMuZm4u b2Zmc2V0O2MuZm4ucG9zaXRpb249ZnVuY3Rpb24oYil7aWYoIWJ8fCFiLm9mKXJl dHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKTtiPWMuZXh0ZW5kKHt9LGIpO3Zh ciBhPWMoYi5vZiksZD1hWzBdLGc9KGIuY29sbGlzaW9ufHwiZmxpcCIpLnNwbGl0 KCIgIiksZT1iLm9mZnNldD9iLm9mZnNldC5zcGxpdCgiICIpOlswLDBdLGgsayxq O2lmKGQubm9kZVR5cGU9PT05KXtoPWEud2lkdGgoKTtrPWEuaGVpZ2h0KCk7aj17 dG9wOjAsbGVmdDowfX1lbHNlIGlmKGQuc2V0VGltZW91dCl7aD1hLndpZHRoKCk7 az1hLmhlaWdodCgpO2o9e3RvcDphLnNjcm9sbFRvcCgpLGxlZnQ6YS5zY3JvbGxM ZWZ0KCl9fWVsc2UgaWYoZC5wcmV2ZW50RGVmYXVsdCl7Yi5hdD0ibGVmdCB0b3Ai O2g9az0wO2o9e3RvcDpiLm9mLnBhZ2VZLApsZWZ0OmIub2YucGFnZVh9fWVsc2V7 aD1hLm91dGVyV2lkdGgoKTtrPWEub3V0ZXJIZWlnaHQoKTtqPWEub2Zmc2V0KCl9 Yy5lYWNoKFsibXkiLCJhdCJdLGZ1bmN0aW9uKCl7dmFyIGY9KGJbdGhpc118fCIi KS5zcGxpdCgiICIpO2lmKGYubGVuZ3RoPT09MSlmPW4udGVzdChmWzBdKT9mLmNv bmNhdChbImNlbnRlciJdKTpvLnRlc3QoZlswXSk/WyJjZW50ZXIiXS5jb25jYXQo Zik6WyJjZW50ZXIiLCJjZW50ZXIiXTtmWzBdPW4udGVzdChmWzBdKT9mWzBdOiJj ZW50ZXIiO2ZbMV09by50ZXN0KGZbMV0pP2ZbMV06ImNlbnRlciI7Ylt0aGlzXT1m fSk7aWYoZy5sZW5ndGg9PT0xKWdbMV09Z1swXTtlWzBdPXBhcnNlSW50KGVbMF0s MTApfHwwO2lmKGUubGVuZ3RoPT09MSllWzFdPWVbMF07ZVsxXT1wYXJzZUludChl WzFdLDEwKXx8MDtpZihiLmF0WzBdPT09InJpZ2h0IilqLmxlZnQrPWg7ZWxzZSBp ZihiLmF0WzBdPT09ImNlbnRlciIpai5sZWZ0Kz1oLzI7aWYoYi5hdFsxXT09PSJi b3R0b20iKWoudG9wKz0KaztlbHNlIGlmKGIuYXRbMV09PT0iY2VudGVyIilqLnRv cCs9ay8yO2oubGVmdCs9ZVswXTtqLnRvcCs9ZVsxXTtyZXR1cm4gdGhpcy5lYWNo KGZ1bmN0aW9uKCl7dmFyIGY9Yyh0aGlzKSxsPWYub3V0ZXJXaWR0aCgpLG09Zi5v dXRlckhlaWdodCgpLHA9cGFyc2VJbnQoYy5jdXJDU1ModGhpcywibWFyZ2luTGVm dCIsdHJ1ZSkpfHwwLHE9cGFyc2VJbnQoYy5jdXJDU1ModGhpcywibWFyZ2luVG9w Iix0cnVlKSl8fDAsdj1sK3ArKHBhcnNlSW50KGMuY3VyQ1NTKHRoaXMsIm1hcmdp blJpZ2h0Iix0cnVlKSl8fDApLHc9bStxKyhwYXJzZUludChjLmN1ckNTUyh0aGlz LCJtYXJnaW5Cb3R0b20iLHRydWUpKXx8MCksaT1jLmV4dGVuZCh7fSxqKSxyO2lm KGIubXlbMF09PT0icmlnaHQiKWkubGVmdC09bDtlbHNlIGlmKGIubXlbMF09PT0i Y2VudGVyIilpLmxlZnQtPWwvMjtpZihiLm15WzFdPT09ImJvdHRvbSIpaS50b3At PW07ZWxzZSBpZihiLm15WzFdPT09ImNlbnRlciIpaS50b3AtPQptLzI7aS5sZWZ0 PU1hdGgucm91bmQoaS5sZWZ0KTtpLnRvcD1NYXRoLnJvdW5kKGkudG9wKTtyPXts ZWZ0OmkubGVmdC1wLHRvcDppLnRvcC1xfTtjLmVhY2goWyJsZWZ0IiwidG9wIl0s ZnVuY3Rpb24ocyx4KXtjLnVpLnBvc2l0aW9uW2dbc11dJiZjLnVpLnBvc2l0aW9u W2dbc11dW3hdKGkse3RhcmdldFdpZHRoOmgsdGFyZ2V0SGVpZ2h0OmssZWxlbVdp ZHRoOmwsZWxlbUhlaWdodDptLGNvbGxpc2lvblBvc2l0aW9uOnIsY29sbGlzaW9u V2lkdGg6dixjb2xsaXNpb25IZWlnaHQ6dyxvZmZzZXQ6ZSxteTpiLm15LGF0OmIu YXR9KX0pO2MuZm4uYmdpZnJhbWUmJmYuYmdpZnJhbWUoKTtmLm9mZnNldChjLmV4 dGVuZChpLHt1c2luZzpiLnVzaW5nfSkpfSl9O2MudWkucG9zaXRpb249e2ZpdDp7 bGVmdDpmdW5jdGlvbihiLGEpe3ZhciBkPWMod2luZG93KTtkPWEuY29sbGlzaW9u UG9zaXRpb24ubGVmdCthLmNvbGxpc2lvbldpZHRoLWQud2lkdGgoKS1kLnNjcm9s bExlZnQoKTtiLmxlZnQ9CmQ+MD9iLmxlZnQtZDpNYXRoLm1heChiLmxlZnQtYS5j b2xsaXNpb25Qb3NpdGlvbi5sZWZ0LGIubGVmdCl9LHRvcDpmdW5jdGlvbihiLGEp e3ZhciBkPWMod2luZG93KTtkPWEuY29sbGlzaW9uUG9zaXRpb24udG9wK2EuY29s bGlzaW9uSGVpZ2h0LWQuaGVpZ2h0KCktZC5zY3JvbGxUb3AoKTtiLnRvcD1kPjA/ Yi50b3AtZDpNYXRoLm1heChiLnRvcC1hLmNvbGxpc2lvblBvc2l0aW9uLnRvcCxi LnRvcCl9fSxmbGlwOntsZWZ0OmZ1bmN0aW9uKGIsYSl7aWYoYS5hdFswXSE9PSJj ZW50ZXIiKXt2YXIgZD1jKHdpbmRvdyk7ZD1hLmNvbGxpc2lvblBvc2l0aW9uLmxl ZnQrYS5jb2xsaXNpb25XaWR0aC1kLndpZHRoKCktZC5zY3JvbGxMZWZ0KCk7dmFy IGc9YS5teVswXT09PSJsZWZ0Ij8tYS5lbGVtV2lkdGg6YS5teVswXT09PSJyaWdo dCI/YS5lbGVtV2lkdGg6MCxlPWEuYXRbMF09PT0ibGVmdCI/YS50YXJnZXRXaWR0 aDotYS50YXJnZXRXaWR0aCxoPS0yKmEub2Zmc2V0WzBdO2IubGVmdCs9CmEuY29s bGlzaW9uUG9zaXRpb24ubGVmdDwwP2crZStoOmQ+MD9nK2UraDowfX0sdG9wOmZ1 bmN0aW9uKGIsYSl7aWYoYS5hdFsxXSE9PSJjZW50ZXIiKXt2YXIgZD1jKHdpbmRv dyk7ZD1hLmNvbGxpc2lvblBvc2l0aW9uLnRvcCthLmNvbGxpc2lvbkhlaWdodC1k LmhlaWdodCgpLWQuc2Nyb2xsVG9wKCk7dmFyIGc9YS5teVsxXT09PSJ0b3AiPy1h LmVsZW1IZWlnaHQ6YS5teVsxXT09PSJib3R0b20iP2EuZWxlbUhlaWdodDowLGU9 YS5hdFsxXT09PSJ0b3AiP2EudGFyZ2V0SGVpZ2h0Oi1hLnRhcmdldEhlaWdodCxo PS0yKmEub2Zmc2V0WzFdO2IudG9wKz1hLmNvbGxpc2lvblBvc2l0aW9uLnRvcDww P2crZStoOmQ+MD9nK2UraDowfX19fTtpZighYy5vZmZzZXQuc2V0T2Zmc2V0KXtj Lm9mZnNldC5zZXRPZmZzZXQ9ZnVuY3Rpb24oYixhKXtpZigvc3RhdGljLy50ZXN0 KGMuY3VyQ1NTKGIsInBvc2l0aW9uIikpKWIuc3R5bGUucG9zaXRpb249InJlbGF0 aXZlIjt2YXIgZD1jKGIpLApnPWQub2Zmc2V0KCksZT1wYXJzZUludChjLmN1ckNT UyhiLCJ0b3AiLHRydWUpLDEwKXx8MCxoPXBhcnNlSW50KGMuY3VyQ1NTKGIsImxl ZnQiLHRydWUpLDEwKXx8MDtnPXt0b3A6YS50b3AtZy50b3ArZSxsZWZ0OmEubGVm dC1nLmxlZnQraH07InVzaW5nImluIGE/YS51c2luZy5jYWxsKGIsZyk6ZC5jc3Mo Zyl9O2MuZm4ub2Zmc2V0PWZ1bmN0aW9uKGIpe3ZhciBhPXRoaXNbMF07aWYoIWF8 fCFhLm93bmVyRG9jdW1lbnQpcmV0dXJuIG51bGw7aWYoYilyZXR1cm4gdGhpcy5l YWNoKGZ1bmN0aW9uKCl7Yy5vZmZzZXQuc2V0T2Zmc2V0KHRoaXMsYil9KTtyZXR1 cm4gdS5jYWxsKHRoaXMpfX19KShqUXVlcnkpOwo7CgooZnVuY3Rpb24oZCl7ZC53 aWRnZXQoInVpLmRyYWdnYWJsZSIsZC51aS5tb3VzZSx7d2lkZ2V0RXZlbnRQcmVm aXg6ImRyYWciLG9wdGlvbnM6e2FkZENsYXNzZXM6dHJ1ZSxhcHBlbmRUbzoicGFy ZW50IixheGlzOmZhbHNlLGNvbm5lY3RUb1NvcnRhYmxlOmZhbHNlLGNvbnRhaW5t ZW50OmZhbHNlLGN1cnNvcjoiYXV0byIsY3Vyc29yQXQ6ZmFsc2UsZ3JpZDpmYWxz ZSxoYW5kbGU6ZmFsc2UsaGVscGVyOiJvcmlnaW5hbCIsaWZyYW1lRml4OmZhbHNl LG9wYWNpdHk6ZmFsc2UscmVmcmVzaFBvc2l0aW9uczpmYWxzZSxyZXZlcnQ6ZmFs c2UscmV2ZXJ0RHVyYXRpb246NTAwLHNjb3BlOiJkZWZhdWx0IixzY3JvbGw6dHJ1 ZSxzY3JvbGxTZW5zaXRpdml0eToyMCxzY3JvbGxTcGVlZDoyMCxzbmFwOmZhbHNl LHNuYXBNb2RlOiJib3RoIixzbmFwVG9sZXJhbmNlOjIwLHN0YWNrOmZhbHNlLHpJ bmRleDpmYWxzZX0sX2NyZWF0ZTpmdW5jdGlvbigpe2lmKHRoaXMub3B0aW9ucy5o ZWxwZXI9PQoib3JpZ2luYWwiJiYhL14oPzpyfGF8ZikvLnRlc3QodGhpcy5lbGVt ZW50LmNzcygicG9zaXRpb24iKSkpdGhpcy5lbGVtZW50WzBdLnN0eWxlLnBvc2l0 aW9uPSJyZWxhdGl2ZSI7dGhpcy5vcHRpb25zLmFkZENsYXNzZXMmJnRoaXMuZWxl bWVudC5hZGRDbGFzcygidWktZHJhZ2dhYmxlIik7dGhpcy5vcHRpb25zLmRpc2Fi bGVkJiZ0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLWRyYWdnYWJsZS1kaXNhYmxl ZCIpO3RoaXMuX21vdXNlSW5pdCgpfSxkZXN0cm95OmZ1bmN0aW9uKCl7aWYodGhp cy5lbGVtZW50LmRhdGEoImRyYWdnYWJsZSIpKXt0aGlzLmVsZW1lbnQucmVtb3Zl RGF0YSgiZHJhZ2dhYmxlIikudW5iaW5kKCIuZHJhZ2dhYmxlIikucmVtb3ZlQ2xh c3MoInVpLWRyYWdnYWJsZSB1aS1kcmFnZ2FibGUtZHJhZ2dpbmcgdWktZHJhZ2dh YmxlLWRpc2FibGVkIik7dGhpcy5fbW91c2VEZXN0cm95KCk7cmV0dXJuIHRoaXN9 fSxfbW91c2VDYXB0dXJlOmZ1bmN0aW9uKGEpe3ZhciBiPQp0aGlzLm9wdGlvbnM7 aWYodGhpcy5oZWxwZXJ8fGIuZGlzYWJsZWR8fGQoYS50YXJnZXQpLmlzKCIudWkt cmVzaXphYmxlLWhhbmRsZSIpKXJldHVybiBmYWxzZTt0aGlzLmhhbmRsZT10aGlz Ll9nZXRIYW5kbGUoYSk7aWYoIXRoaXMuaGFuZGxlKXJldHVybiBmYWxzZTtyZXR1 cm4gdHJ1ZX0sX21vdXNlU3RhcnQ6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5vcHRp b25zO3RoaXMuaGVscGVyPXRoaXMuX2NyZWF0ZUhlbHBlcihhKTt0aGlzLl9jYWNo ZUhlbHBlclByb3BvcnRpb25zKCk7aWYoZC51aS5kZG1hbmFnZXIpZC51aS5kZG1h bmFnZXIuY3VycmVudD10aGlzO3RoaXMuX2NhY2hlTWFyZ2lucygpO3RoaXMuY3Nz UG9zaXRpb249dGhpcy5oZWxwZXIuY3NzKCJwb3NpdGlvbiIpO3RoaXMuc2Nyb2xs UGFyZW50PXRoaXMuaGVscGVyLnNjcm9sbFBhcmVudCgpO3RoaXMub2Zmc2V0PXRo aXMucG9zaXRpb25BYnM9dGhpcy5lbGVtZW50Lm9mZnNldCgpO3RoaXMub2Zmc2V0 PXt0b3A6dGhpcy5vZmZzZXQudG9wLQp0aGlzLm1hcmdpbnMudG9wLGxlZnQ6dGhp cy5vZmZzZXQubGVmdC10aGlzLm1hcmdpbnMubGVmdH07ZC5leHRlbmQodGhpcy5v ZmZzZXQse2NsaWNrOntsZWZ0OmEucGFnZVgtdGhpcy5vZmZzZXQubGVmdCx0b3A6 YS5wYWdlWS10aGlzLm9mZnNldC50b3B9LHBhcmVudDp0aGlzLl9nZXRQYXJlbnRP ZmZzZXQoKSxyZWxhdGl2ZTp0aGlzLl9nZXRSZWxhdGl2ZU9mZnNldCgpfSk7dGhp cy5vcmlnaW5hbFBvc2l0aW9uPXRoaXMucG9zaXRpb249dGhpcy5fZ2VuZXJhdGVQ b3NpdGlvbihhKTt0aGlzLm9yaWdpbmFsUGFnZVg9YS5wYWdlWDt0aGlzLm9yaWdp bmFsUGFnZVk9YS5wYWdlWTtiLmN1cnNvckF0JiZ0aGlzLl9hZGp1c3RPZmZzZXRG cm9tSGVscGVyKGIuY3Vyc29yQXQpO2IuY29udGFpbm1lbnQmJnRoaXMuX3NldENv bnRhaW5tZW50KCk7aWYodGhpcy5fdHJpZ2dlcigic3RhcnQiLGEpPT09ZmFsc2Up e3RoaXMuX2NsZWFyKCk7cmV0dXJuIGZhbHNlfXRoaXMuX2NhY2hlSGVscGVyUHJv cG9ydGlvbnMoKTsKZC51aS5kZG1hbmFnZXImJiFiLmRyb3BCZWhhdmlvdXImJmQu dWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKHRoaXMsYSk7dGhpcy5oZWxwZXIu YWRkQ2xhc3MoInVpLWRyYWdnYWJsZS1kcmFnZ2luZyIpO3RoaXMuX21vdXNlRHJh ZyhhLHRydWUpO3JldHVybiB0cnVlfSxfbW91c2VEcmFnOmZ1bmN0aW9uKGEsYil7 dGhpcy5wb3NpdGlvbj10aGlzLl9nZW5lcmF0ZVBvc2l0aW9uKGEpO3RoaXMucG9z aXRpb25BYnM9dGhpcy5fY29udmVydFBvc2l0aW9uVG8oImFic29sdXRlIik7aWYo IWIpe2I9dGhpcy5fdWlIYXNoKCk7aWYodGhpcy5fdHJpZ2dlcigiZHJhZyIsYSxi KT09PWZhbHNlKXt0aGlzLl9tb3VzZVVwKHt9KTtyZXR1cm4gZmFsc2V9dGhpcy5w b3NpdGlvbj1iLnBvc2l0aW9ufWlmKCF0aGlzLm9wdGlvbnMuYXhpc3x8dGhpcy5v cHRpb25zLmF4aXMhPSJ5Iil0aGlzLmhlbHBlclswXS5zdHlsZS5sZWZ0PXRoaXMu cG9zaXRpb24ubGVmdCsicHgiO2lmKCF0aGlzLm9wdGlvbnMuYXhpc3x8CnRoaXMu b3B0aW9ucy5heGlzIT0ieCIpdGhpcy5oZWxwZXJbMF0uc3R5bGUudG9wPXRoaXMu cG9zaXRpb24udG9wKyJweCI7ZC51aS5kZG1hbmFnZXImJmQudWkuZGRtYW5hZ2Vy LmRyYWcodGhpcyxhKTtyZXR1cm4gZmFsc2V9LF9tb3VzZVN0b3A6ZnVuY3Rpb24o YSl7dmFyIGI9ZmFsc2U7aWYoZC51aS5kZG1hbmFnZXImJiF0aGlzLm9wdGlvbnMu ZHJvcEJlaGF2aW91ciliPWQudWkuZGRtYW5hZ2VyLmRyb3AodGhpcyxhKTtpZih0 aGlzLmRyb3BwZWQpe2I9dGhpcy5kcm9wcGVkO3RoaXMuZHJvcHBlZD1mYWxzZX1p ZigoIXRoaXMuZWxlbWVudFswXXx8IXRoaXMuZWxlbWVudFswXS5wYXJlbnROb2Rl KSYmdGhpcy5vcHRpb25zLmhlbHBlcj09Im9yaWdpbmFsIilyZXR1cm4gZmFsc2U7 aWYodGhpcy5vcHRpb25zLnJldmVydD09ImludmFsaWQiJiYhYnx8dGhpcy5vcHRp b25zLnJldmVydD09InZhbGlkIiYmYnx8dGhpcy5vcHRpb25zLnJldmVydD09PXRy dWV8fGQuaXNGdW5jdGlvbih0aGlzLm9wdGlvbnMucmV2ZXJ0KSYmCnRoaXMub3B0 aW9ucy5yZXZlcnQuY2FsbCh0aGlzLmVsZW1lbnQsYikpe3ZhciBjPXRoaXM7ZCh0 aGlzLmhlbHBlcikuYW5pbWF0ZSh0aGlzLm9yaWdpbmFsUG9zaXRpb24scGFyc2VJ bnQodGhpcy5vcHRpb25zLnJldmVydER1cmF0aW9uLDEwKSxmdW5jdGlvbigpe2Mu X3RyaWdnZXIoInN0b3AiLGEpIT09ZmFsc2UmJmMuX2NsZWFyKCl9KX1lbHNlIHRo aXMuX3RyaWdnZXIoInN0b3AiLGEpIT09ZmFsc2UmJnRoaXMuX2NsZWFyKCk7cmV0 dXJuIGZhbHNlfSxjYW5jZWw6ZnVuY3Rpb24oKXt0aGlzLmhlbHBlci5pcygiLnVp LWRyYWdnYWJsZS1kcmFnZ2luZyIpP3RoaXMuX21vdXNlVXAoe30pOnRoaXMuX2Ns ZWFyKCk7cmV0dXJuIHRoaXN9LF9nZXRIYW5kbGU6ZnVuY3Rpb24oYSl7dmFyIGI9 IXRoaXMub3B0aW9ucy5oYW5kbGV8fCFkKHRoaXMub3B0aW9ucy5oYW5kbGUsdGhp cy5lbGVtZW50KS5sZW5ndGg/dHJ1ZTpmYWxzZTtkKHRoaXMub3B0aW9ucy5oYW5k bGUsdGhpcy5lbGVtZW50KS5maW5kKCIqIikuYW5kU2VsZigpLmVhY2goZnVuY3Rp b24oKXtpZih0aGlzPT0KYS50YXJnZXQpYj10cnVlfSk7cmV0dXJuIGJ9LF9jcmVh dGVIZWxwZXI6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5vcHRpb25zO2E9ZC5pc0Z1 bmN0aW9uKGIuaGVscGVyKT9kKGIuaGVscGVyLmFwcGx5KHRoaXMuZWxlbWVudFsw XSxbYV0pKTpiLmhlbHBlcj09ImNsb25lIj90aGlzLmVsZW1lbnQuY2xvbmUoKTp0 aGlzLmVsZW1lbnQ7YS5wYXJlbnRzKCJib2R5IikubGVuZ3RofHxhLmFwcGVuZFRv KGIuYXBwZW5kVG89PSJwYXJlbnQiP3RoaXMuZWxlbWVudFswXS5wYXJlbnROb2Rl OmIuYXBwZW5kVG8pO2FbMF0hPXRoaXMuZWxlbWVudFswXSYmIS8oZml4ZWR8YWJz b2x1dGUpLy50ZXN0KGEuY3NzKCJwb3NpdGlvbiIpKSYmYS5jc3MoInBvc2l0aW9u IiwiYWJzb2x1dGUiKTtyZXR1cm4gYX0sX2FkanVzdE9mZnNldEZyb21IZWxwZXI6 ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PSJzdHJpbmciKWE9YS5zcGxpdCgiICIp O2lmKGQuaXNBcnJheShhKSlhPXtsZWZ0OithWzBdLHRvcDorYVsxXXx8CjB9O2lm KCJsZWZ0ImluIGEpdGhpcy5vZmZzZXQuY2xpY2subGVmdD1hLmxlZnQrdGhpcy5t YXJnaW5zLmxlZnQ7aWYoInJpZ2h0ImluIGEpdGhpcy5vZmZzZXQuY2xpY2subGVm dD10aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoLWEucmlnaHQrdGhpcy5tYXJn aW5zLmxlZnQ7aWYoInRvcCJpbiBhKXRoaXMub2Zmc2V0LmNsaWNrLnRvcD1hLnRv cCt0aGlzLm1hcmdpbnMudG9wO2lmKCJib3R0b20iaW4gYSl0aGlzLm9mZnNldC5j bGljay50b3A9dGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQtYS5ib3R0b20r dGhpcy5tYXJnaW5zLnRvcH0sX2dldFBhcmVudE9mZnNldDpmdW5jdGlvbigpe3Ro aXMub2Zmc2V0UGFyZW50PXRoaXMuaGVscGVyLm9mZnNldFBhcmVudCgpO3ZhciBh PXRoaXMub2Zmc2V0UGFyZW50Lm9mZnNldCgpO2lmKHRoaXMuY3NzUG9zaXRpb249 PSJhYnNvbHV0ZSImJnRoaXMuc2Nyb2xsUGFyZW50WzBdIT1kb2N1bWVudCYmZC51 aS5jb250YWlucyh0aGlzLnNjcm9sbFBhcmVudFswXSwKdGhpcy5vZmZzZXRQYXJl bnRbMF0pKXthLmxlZnQrPXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKTth LnRvcCs9dGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCl9aWYodGhpcy5vZmZz ZXRQYXJlbnRbMF09PWRvY3VtZW50LmJvZHl8fHRoaXMub2Zmc2V0UGFyZW50WzBd LnRhZ05hbWUmJnRoaXMub2Zmc2V0UGFyZW50WzBdLnRhZ05hbWUudG9Mb3dlckNh c2UoKT09Imh0bWwiJiZkLmJyb3dzZXIubXNpZSlhPXt0b3A6MCxsZWZ0OjB9O3Jl dHVybnt0b3A6YS50b3ArKHBhcnNlSW50KHRoaXMub2Zmc2V0UGFyZW50LmNzcygi Ym9yZGVyVG9wV2lkdGgiKSwxMCl8fDApLGxlZnQ6YS5sZWZ0KyhwYXJzZUludCh0 aGlzLm9mZnNldFBhcmVudC5jc3MoImJvcmRlckxlZnRXaWR0aCIpLDEwKXx8MCl9 fSxfZ2V0UmVsYXRpdmVPZmZzZXQ6ZnVuY3Rpb24oKXtpZih0aGlzLmNzc1Bvc2l0 aW9uPT0icmVsYXRpdmUiKXt2YXIgYT10aGlzLmVsZW1lbnQucG9zaXRpb24oKTty ZXR1cm57dG9wOmEudG9wLQoocGFyc2VJbnQodGhpcy5oZWxwZXIuY3NzKCJ0b3Ai KSwxMCl8fDApK3RoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpLGxlZnQ6YS5s ZWZ0LShwYXJzZUludCh0aGlzLmhlbHBlci5jc3MoImxlZnQiKSwxMCl8fDApK3Ro aXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKX19ZWxzZSByZXR1cm57dG9wOjAs bGVmdDowfX0sX2NhY2hlTWFyZ2luczpmdW5jdGlvbigpe3RoaXMubWFyZ2lucz17 bGVmdDpwYXJzZUludCh0aGlzLmVsZW1lbnQuY3NzKCJtYXJnaW5MZWZ0IiksMTAp fHwwLHRvcDpwYXJzZUludCh0aGlzLmVsZW1lbnQuY3NzKCJtYXJnaW5Ub3AiKSwx MCl8fDAscmlnaHQ6cGFyc2VJbnQodGhpcy5lbGVtZW50LmNzcygibWFyZ2luUmln aHQiKSwxMCl8fDAsYm90dG9tOnBhcnNlSW50KHRoaXMuZWxlbWVudC5jc3MoIm1h cmdpbkJvdHRvbSIpLDEwKXx8MH19LF9jYWNoZUhlbHBlclByb3BvcnRpb25zOmZ1 bmN0aW9uKCl7dGhpcy5oZWxwZXJQcm9wb3J0aW9ucz17d2lkdGg6dGhpcy5oZWxw ZXIub3V0ZXJXaWR0aCgpLApoZWlnaHQ6dGhpcy5oZWxwZXIub3V0ZXJIZWlnaHQo KX19LF9zZXRDb250YWlubWVudDpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3B0aW9u cztpZihhLmNvbnRhaW5tZW50PT0icGFyZW50IilhLmNvbnRhaW5tZW50PXRoaXMu aGVscGVyWzBdLnBhcmVudE5vZGU7aWYoYS5jb250YWlubWVudD09ImRvY3VtZW50 Inx8YS5jb250YWlubWVudD09IndpbmRvdyIpdGhpcy5jb250YWlubWVudD1bKGEu Y29udGFpbm1lbnQ9PSJkb2N1bWVudCI/MDpkKHdpbmRvdykuc2Nyb2xsTGVmdCgp KS10aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0LXRoaXMub2Zmc2V0LnBhcmVudC5s ZWZ0LChhLmNvbnRhaW5tZW50PT0iZG9jdW1lbnQiPzA6ZCh3aW5kb3cpLnNjcm9s bFRvcCgpKS10aGlzLm9mZnNldC5yZWxhdGl2ZS50b3AtdGhpcy5vZmZzZXQucGFy ZW50LnRvcCwoYS5jb250YWlubWVudD09ImRvY3VtZW50Ij8wOmQod2luZG93KS5z Y3JvbGxMZWZ0KCkpK2QoYS5jb250YWlubWVudD09ImRvY3VtZW50Ij8KZG9jdW1l bnQ6d2luZG93KS53aWR0aCgpLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgt dGhpcy5tYXJnaW5zLmxlZnQsKGEuY29udGFpbm1lbnQ9PSJkb2N1bWVudCI/MDpk KHdpbmRvdykuc2Nyb2xsVG9wKCkpKyhkKGEuY29udGFpbm1lbnQ9PSJkb2N1bWVu dCI/ZG9jdW1lbnQ6d2luZG93KS5oZWlnaHQoKXx8ZG9jdW1lbnQuYm9keS5wYXJl bnROb2RlLnNjcm9sbEhlaWdodCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWln aHQtdGhpcy5tYXJnaW5zLnRvcF07aWYoIS9eKGRvY3VtZW50fHdpbmRvd3xwYXJl bnQpJC8udGVzdChhLmNvbnRhaW5tZW50KSYmYS5jb250YWlubWVudC5jb25zdHJ1 Y3RvciE9QXJyYXkpe3ZhciBiPWQoYS5jb250YWlubWVudClbMF07aWYoYil7YT1k KGEuY29udGFpbm1lbnQpLm9mZnNldCgpO3ZhciBjPWQoYikuY3NzKCJvdmVyZmxv dyIpIT0iaGlkZGVuIjt0aGlzLmNvbnRhaW5tZW50PVthLmxlZnQrKHBhcnNlSW50 KGQoYikuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwKMTApfHwwKSsocGFyc2VJbnQo ZChiKS5jc3MoInBhZGRpbmdMZWZ0IiksMTApfHwwKSxhLnRvcCsocGFyc2VJbnQo ZChiKS5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKSsocGFyc2VJbnQoZChi KS5jc3MoInBhZGRpbmdUb3AiKSwxMCl8fDApLGEubGVmdCsoYz9NYXRoLm1heChi LnNjcm9sbFdpZHRoLGIub2Zmc2V0V2lkdGgpOmIub2Zmc2V0V2lkdGgpLShwYXJz ZUludChkKGIpLmNzcygiYm9yZGVyTGVmdFdpZHRoIiksMTApfHwwKS0ocGFyc2VJ bnQoZChiKS5jc3MoInBhZGRpbmdSaWdodCIpLDEwKXx8MCktdGhpcy5oZWxwZXJQ cm9wb3J0aW9ucy53aWR0aC10aGlzLm1hcmdpbnMubGVmdC10aGlzLm1hcmdpbnMu cmlnaHQsYS50b3ArKGM/TWF0aC5tYXgoYi5zY3JvbGxIZWlnaHQsYi5vZmZzZXRI ZWlnaHQpOmIub2Zmc2V0SGVpZ2h0KS0ocGFyc2VJbnQoZChiKS5jc3MoImJvcmRl clRvcFdpZHRoIiksMTApfHwwKS0ocGFyc2VJbnQoZChiKS5jc3MoInBhZGRpbmdC b3R0b20iKSwKMTApfHwwKS10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC10 aGlzLm1hcmdpbnMudG9wLXRoaXMubWFyZ2lucy5ib3R0b21dfX1lbHNlIGlmKGEu Y29udGFpbm1lbnQuY29uc3RydWN0b3I9PUFycmF5KXRoaXMuY29udGFpbm1lbnQ9 YS5jb250YWlubWVudH0sX2NvbnZlcnRQb3NpdGlvblRvOmZ1bmN0aW9uKGEsYil7 aWYoIWIpYj10aGlzLnBvc2l0aW9uO2E9YT09ImFic29sdXRlIj8xOi0xO3ZhciBj PXRoaXMuY3NzUG9zaXRpb249PSJhYnNvbHV0ZSImJiEodGhpcy5zY3JvbGxQYXJl bnRbMF0hPWRvY3VtZW50JiZkLnVpLmNvbnRhaW5zKHRoaXMuc2Nyb2xsUGFyZW50 WzBdLHRoaXMub2Zmc2V0UGFyZW50WzBdKSk/dGhpcy5vZmZzZXRQYXJlbnQ6dGhp cy5zY3JvbGxQYXJlbnQsZj0vKGh0bWx8Ym9keSkvaS50ZXN0KGNbMF0udGFnTmFt ZSk7cmV0dXJue3RvcDpiLnRvcCt0aGlzLm9mZnNldC5yZWxhdGl2ZS50b3AqYSt0 aGlzLm9mZnNldC5wYXJlbnQudG9wKmEtKGQuYnJvd3Nlci5zYWZhcmkmJgpkLmJy b3dzZXIudmVyc2lvbjw1MjYmJnRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/MDoo dGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8tdGhpcy5zY3JvbGxQYXJlbnQuc2Ny b2xsVG9wKCk6Zj8wOmMuc2Nyb2xsVG9wKCkpKmEpLGxlZnQ6Yi5sZWZ0K3RoaXMu b2Zmc2V0LnJlbGF0aXZlLmxlZnQqYSt0aGlzLm9mZnNldC5wYXJlbnQubGVmdCph LShkLmJyb3dzZXIuc2FmYXJpJiZkLmJyb3dzZXIudmVyc2lvbjw1MjYmJnRoaXMu Y3NzUG9zaXRpb249PSJmaXhlZCI/MDoodGhpcy5jc3NQb3NpdGlvbj09ImZpeGVk Ij8tdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpOmY/MDpjLnNjcm9sbExl ZnQoKSkqYSl9fSxfZ2VuZXJhdGVQb3NpdGlvbjpmdW5jdGlvbihhKXt2YXIgYj10 aGlzLm9wdGlvbnMsYz10aGlzLmNzc1Bvc2l0aW9uPT0iYWJzb2x1dGUiJiYhKHRo aXMuc2Nyb2xsUGFyZW50WzBdIT1kb2N1bWVudCYmZC51aS5jb250YWlucyh0aGlz LnNjcm9sbFBhcmVudFswXSwKdGhpcy5vZmZzZXRQYXJlbnRbMF0pKT90aGlzLm9m ZnNldFBhcmVudDp0aGlzLnNjcm9sbFBhcmVudCxmPS8oaHRtbHxib2R5KS9pLnRl c3QoY1swXS50YWdOYW1lKSxlPWEucGFnZVgsZz1hLnBhZ2VZO2lmKHRoaXMub3Jp Z2luYWxQb3NpdGlvbil7aWYodGhpcy5jb250YWlubWVudCl7aWYoYS5wYWdlWC10 aGlzLm9mZnNldC5jbGljay5sZWZ0PHRoaXMuY29udGFpbm1lbnRbMF0pZT10aGlz LmNvbnRhaW5tZW50WzBdK3RoaXMub2Zmc2V0LmNsaWNrLmxlZnQ7aWYoYS5wYWdl WS10aGlzLm9mZnNldC5jbGljay50b3A8dGhpcy5jb250YWlubWVudFsxXSlnPXRo aXMuY29udGFpbm1lbnRbMV0rdGhpcy5vZmZzZXQuY2xpY2sudG9wO2lmKGEucGFn ZVgtdGhpcy5vZmZzZXQuY2xpY2subGVmdD50aGlzLmNvbnRhaW5tZW50WzJdKWU9 dGhpcy5jb250YWlubWVudFsyXSt0aGlzLm9mZnNldC5jbGljay5sZWZ0O2lmKGEu cGFnZVktdGhpcy5vZmZzZXQuY2xpY2sudG9wPnRoaXMuY29udGFpbm1lbnRbM10p Zz0KdGhpcy5jb250YWlubWVudFszXSt0aGlzLm9mZnNldC5jbGljay50b3B9aWYo Yi5ncmlkKXtnPXRoaXMub3JpZ2luYWxQYWdlWStNYXRoLnJvdW5kKChnLXRoaXMu b3JpZ2luYWxQYWdlWSkvYi5ncmlkWzFdKSpiLmdyaWRbMV07Zz10aGlzLmNvbnRh aW5tZW50PyEoZy10aGlzLm9mZnNldC5jbGljay50b3A8dGhpcy5jb250YWlubWVu dFsxXXx8Zy10aGlzLm9mZnNldC5jbGljay50b3A+dGhpcy5jb250YWlubWVudFsz XSk/ZzohKGctdGhpcy5vZmZzZXQuY2xpY2sudG9wPHRoaXMuY29udGFpbm1lbnRb MV0pP2ctYi5ncmlkWzFdOmcrYi5ncmlkWzFdOmc7ZT10aGlzLm9yaWdpbmFsUGFn ZVgrTWF0aC5yb3VuZCgoZS10aGlzLm9yaWdpbmFsUGFnZVgpL2IuZ3JpZFswXSkq Yi5ncmlkWzBdO2U9dGhpcy5jb250YWlubWVudD8hKGUtdGhpcy5vZmZzZXQuY2xp Y2subGVmdDx0aGlzLmNvbnRhaW5tZW50WzBdfHxlLXRoaXMub2Zmc2V0LmNsaWNr LmxlZnQ+dGhpcy5jb250YWlubWVudFsyXSk/CmU6IShlLXRoaXMub2Zmc2V0LmNs aWNrLmxlZnQ8dGhpcy5jb250YWlubWVudFswXSk/ZS1iLmdyaWRbMF06ZStiLmdy aWRbMF06ZX19cmV0dXJue3RvcDpnLXRoaXMub2Zmc2V0LmNsaWNrLnRvcC10aGlz Lm9mZnNldC5yZWxhdGl2ZS50b3AtdGhpcy5vZmZzZXQucGFyZW50LnRvcCsoZC5i cm93c2VyLnNhZmFyaSYmZC5icm93c2VyLnZlcnNpb248NTI2JiZ0aGlzLmNzc1Bv c2l0aW9uPT0iZml4ZWQiPzA6dGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8tdGhp cy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCk6Zj8wOmMuc2Nyb2xsVG9wKCkpLGxl ZnQ6ZS10aGlzLm9mZnNldC5jbGljay5sZWZ0LXRoaXMub2Zmc2V0LnJlbGF0aXZl LmxlZnQtdGhpcy5vZmZzZXQucGFyZW50LmxlZnQrKGQuYnJvd3Nlci5zYWZhcmkm JmQuYnJvd3Nlci52ZXJzaW9uPDUyNiYmdGhpcy5jc3NQb3NpdGlvbj09ImZpeGVk Ij8wOnRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/LXRoaXMuc2Nyb2xsUGFyZW50 LnNjcm9sbExlZnQoKToKZj8wOmMuc2Nyb2xsTGVmdCgpKX19LF9jbGVhcjpmdW5j dGlvbigpe3RoaXMuaGVscGVyLnJlbW92ZUNsYXNzKCJ1aS1kcmFnZ2FibGUtZHJh Z2dpbmciKTt0aGlzLmhlbHBlclswXSE9dGhpcy5lbGVtZW50WzBdJiYhdGhpcy5j YW5jZWxIZWxwZXJSZW1vdmFsJiZ0aGlzLmhlbHBlci5yZW1vdmUoKTt0aGlzLmhl bHBlcj1udWxsO3RoaXMuY2FuY2VsSGVscGVyUmVtb3ZhbD1mYWxzZX0sX3RyaWdn ZXI6ZnVuY3Rpb24oYSxiLGMpe2M9Y3x8dGhpcy5fdWlIYXNoKCk7ZC51aS5wbHVn aW4uY2FsbCh0aGlzLGEsW2IsY10pO2lmKGE9PSJkcmFnIil0aGlzLnBvc2l0aW9u QWJzPXRoaXMuX2NvbnZlcnRQb3NpdGlvblRvKCJhYnNvbHV0ZSIpO3JldHVybiBk LldpZGdldC5wcm90b3R5cGUuX3RyaWdnZXIuY2FsbCh0aGlzLGEsYixjKX0scGx1 Z2luczp7fSxfdWlIYXNoOmZ1bmN0aW9uKCl7cmV0dXJue2hlbHBlcjp0aGlzLmhl bHBlcixwb3NpdGlvbjp0aGlzLnBvc2l0aW9uLG9yaWdpbmFsUG9zaXRpb246dGhp cy5vcmlnaW5hbFBvc2l0aW9uLApvZmZzZXQ6dGhpcy5wb3NpdGlvbkFic319fSk7 ZC5leHRlbmQoZC51aS5kcmFnZ2FibGUse3ZlcnNpb246IjEuOC4xMSJ9KTtkLnVp LnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsImNvbm5lY3RUb1NvcnRhYmxlIix7c3Rh cnQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz1kKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIp LGY9Yy5vcHRpb25zLGU9ZC5leHRlbmQoe30sYix7aXRlbTpjLmVsZW1lbnR9KTtj LnNvcnRhYmxlcz1bXTtkKGYuY29ubmVjdFRvU29ydGFibGUpLmVhY2goZnVuY3Rp b24oKXt2YXIgZz1kLmRhdGEodGhpcywic29ydGFibGUiKTtpZihnJiYhZy5vcHRp b25zLmRpc2FibGVkKXtjLnNvcnRhYmxlcy5wdXNoKHtpbnN0YW5jZTpnLHNob3Vs ZFJldmVydDpnLm9wdGlvbnMucmV2ZXJ0fSk7Zy5yZWZyZXNoUG9zaXRpb25zKCk7 Zy5fdHJpZ2dlcigiYWN0aXZhdGUiLGEsZSl9fSl9LHN0b3A6ZnVuY3Rpb24oYSxi KXt2YXIgYz1kKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpLGY9ZC5leHRlbmQoe30s CmIse2l0ZW06Yy5lbGVtZW50fSk7ZC5lYWNoKGMuc29ydGFibGVzLGZ1bmN0aW9u KCl7aWYodGhpcy5pbnN0YW5jZS5pc092ZXIpe3RoaXMuaW5zdGFuY2UuaXNPdmVy PTA7Yy5jYW5jZWxIZWxwZXJSZW1vdmFsPXRydWU7dGhpcy5pbnN0YW5jZS5jYW5j ZWxIZWxwZXJSZW1vdmFsPWZhbHNlO2lmKHRoaXMuc2hvdWxkUmV2ZXJ0KXRoaXMu aW5zdGFuY2Uub3B0aW9ucy5yZXZlcnQ9dHJ1ZTt0aGlzLmluc3RhbmNlLl9tb3Vz ZVN0b3AoYSk7dGhpcy5pbnN0YW5jZS5vcHRpb25zLmhlbHBlcj10aGlzLmluc3Rh bmNlLm9wdGlvbnMuX2hlbHBlcjtjLm9wdGlvbnMuaGVscGVyPT0ib3JpZ2luYWwi JiZ0aGlzLmluc3RhbmNlLmN1cnJlbnRJdGVtLmNzcyh7dG9wOiJhdXRvIixsZWZ0 OiJhdXRvIn0pfWVsc2V7dGhpcy5pbnN0YW5jZS5jYW5jZWxIZWxwZXJSZW1vdmFs PWZhbHNlO3RoaXMuaW5zdGFuY2UuX3RyaWdnZXIoImRlYWN0aXZhdGUiLGEsZil9 fSl9LGRyYWc6ZnVuY3Rpb24oYSxiKXt2YXIgYz0KZCh0aGlzKS5kYXRhKCJkcmFn Z2FibGUiKSxmPXRoaXM7ZC5lYWNoKGMuc29ydGFibGVzLGZ1bmN0aW9uKCl7dGhp cy5pbnN0YW5jZS5wb3NpdGlvbkFicz1jLnBvc2l0aW9uQWJzO3RoaXMuaW5zdGFu Y2UuaGVscGVyUHJvcG9ydGlvbnM9Yy5oZWxwZXJQcm9wb3J0aW9uczt0aGlzLmlu c3RhbmNlLm9mZnNldC5jbGljaz1jLm9mZnNldC5jbGljaztpZih0aGlzLmluc3Rh bmNlLl9pbnRlcnNlY3RzV2l0aCh0aGlzLmluc3RhbmNlLmNvbnRhaW5lckNhY2hl KSl7aWYoIXRoaXMuaW5zdGFuY2UuaXNPdmVyKXt0aGlzLmluc3RhbmNlLmlzT3Zl cj0xO3RoaXMuaW5zdGFuY2UuY3VycmVudEl0ZW09ZChmKS5jbG9uZSgpLmFwcGVu ZFRvKHRoaXMuaW5zdGFuY2UuZWxlbWVudCkuZGF0YSgic29ydGFibGUtaXRlbSIs dHJ1ZSk7dGhpcy5pbnN0YW5jZS5vcHRpb25zLl9oZWxwZXI9dGhpcy5pbnN0YW5j ZS5vcHRpb25zLmhlbHBlcjt0aGlzLmluc3RhbmNlLm9wdGlvbnMuaGVscGVyPWZ1 bmN0aW9uKCl7cmV0dXJuIGIuaGVscGVyWzBdfTsKYS50YXJnZXQ9dGhpcy5pbnN0 YW5jZS5jdXJyZW50SXRlbVswXTt0aGlzLmluc3RhbmNlLl9tb3VzZUNhcHR1cmUo YSx0cnVlKTt0aGlzLmluc3RhbmNlLl9tb3VzZVN0YXJ0KGEsdHJ1ZSx0cnVlKTt0 aGlzLmluc3RhbmNlLm9mZnNldC5jbGljay50b3A9Yy5vZmZzZXQuY2xpY2sudG9w O3RoaXMuaW5zdGFuY2Uub2Zmc2V0LmNsaWNrLmxlZnQ9Yy5vZmZzZXQuY2xpY2su bGVmdDt0aGlzLmluc3RhbmNlLm9mZnNldC5wYXJlbnQubGVmdC09Yy5vZmZzZXQu cGFyZW50LmxlZnQtdGhpcy5pbnN0YW5jZS5vZmZzZXQucGFyZW50LmxlZnQ7dGhp cy5pbnN0YW5jZS5vZmZzZXQucGFyZW50LnRvcC09Yy5vZmZzZXQucGFyZW50LnRv cC10aGlzLmluc3RhbmNlLm9mZnNldC5wYXJlbnQudG9wO2MuX3RyaWdnZXIoInRv U29ydGFibGUiLGEpO2MuZHJvcHBlZD10aGlzLmluc3RhbmNlLmVsZW1lbnQ7Yy5j dXJyZW50SXRlbT1jLmVsZW1lbnQ7dGhpcy5pbnN0YW5jZS5mcm9tT3V0c2lkZT1j fXRoaXMuaW5zdGFuY2UuY3VycmVudEl0ZW0mJgp0aGlzLmluc3RhbmNlLl9tb3Vz ZURyYWcoYSl9ZWxzZSBpZih0aGlzLmluc3RhbmNlLmlzT3Zlcil7dGhpcy5pbnN0 YW5jZS5pc092ZXI9MDt0aGlzLmluc3RhbmNlLmNhbmNlbEhlbHBlclJlbW92YWw9 dHJ1ZTt0aGlzLmluc3RhbmNlLm9wdGlvbnMucmV2ZXJ0PWZhbHNlO3RoaXMuaW5z dGFuY2UuX3RyaWdnZXIoIm91dCIsYSx0aGlzLmluc3RhbmNlLl91aUhhc2godGhp cy5pbnN0YW5jZSkpO3RoaXMuaW5zdGFuY2UuX21vdXNlU3RvcChhLHRydWUpO3Ro aXMuaW5zdGFuY2Uub3B0aW9ucy5oZWxwZXI9dGhpcy5pbnN0YW5jZS5vcHRpb25z Ll9oZWxwZXI7dGhpcy5pbnN0YW5jZS5jdXJyZW50SXRlbS5yZW1vdmUoKTt0aGlz Lmluc3RhbmNlLnBsYWNlaG9sZGVyJiZ0aGlzLmluc3RhbmNlLnBsYWNlaG9sZGVy LnJlbW92ZSgpO2MuX3RyaWdnZXIoImZyb21Tb3J0YWJsZSIsYSk7Yy5kcm9wcGVk PWZhbHNlfX0pfX0pO2QudWkucGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwiY3Vyc29y IiwKe3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGE9ZCgiYm9keSIpLGI9ZCh0aGlzKS5k YXRhKCJkcmFnZ2FibGUiKS5vcHRpb25zO2lmKGEuY3NzKCJjdXJzb3IiKSliLl9j dXJzb3I9YS5jc3MoImN1cnNvciIpO2EuY3NzKCJjdXJzb3IiLGIuY3Vyc29yKX0s c3RvcDpmdW5jdGlvbigpe3ZhciBhPWQodGhpcykuZGF0YSgiZHJhZ2dhYmxlIiku b3B0aW9uczthLl9jdXJzb3ImJmQoImJvZHkiKS5jc3MoImN1cnNvciIsYS5fY3Vy c29yKX19KTtkLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsImlmcmFtZUZpeCIs e3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGE9ZCh0aGlzKS5kYXRhKCJkcmFnZ2FibGUi KS5vcHRpb25zO2QoYS5pZnJhbWVGaXg9PT10cnVlPyJpZnJhbWUiOmEuaWZyYW1l Rml4KS5lYWNoKGZ1bmN0aW9uKCl7ZCgnPGRpdiBjbGFzcz0idWktZHJhZ2dhYmxl LWlmcmFtZUZpeCIgc3R5bGU9ImJhY2tncm91bmQ6ICNmZmY7Ij48L2Rpdj4nKS5j c3Moe3dpZHRoOnRoaXMub2Zmc2V0V2lkdGgrCiJweCIsaGVpZ2h0OnRoaXMub2Zm c2V0SGVpZ2h0KyJweCIscG9zaXRpb246ImFic29sdXRlIixvcGFjaXR5OiIwLjAw MSIsekluZGV4OjFFM30pLmNzcyhkKHRoaXMpLm9mZnNldCgpKS5hcHBlbmRUbygi Ym9keSIpfSl9LHN0b3A6ZnVuY3Rpb24oKXtkKCJkaXYudWktZHJhZ2dhYmxlLWlm cmFtZUZpeCIpLmVhY2goZnVuY3Rpb24oKXt0aGlzLnBhcmVudE5vZGUucmVtb3Zl Q2hpbGQodGhpcyl9KX19KTtkLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsIm9w YWNpdHkiLHtzdGFydDpmdW5jdGlvbihhLGIpe2E9ZChiLmhlbHBlcik7Yj1kKHRo aXMpLmRhdGEoImRyYWdnYWJsZSIpLm9wdGlvbnM7aWYoYS5jc3MoIm9wYWNpdHki KSliLl9vcGFjaXR5PWEuY3NzKCJvcGFjaXR5Iik7YS5jc3MoIm9wYWNpdHkiLGIu b3BhY2l0eSl9LHN0b3A6ZnVuY3Rpb24oYSxiKXthPWQodGhpcykuZGF0YSgiZHJh Z2dhYmxlIikub3B0aW9uczthLl9vcGFjaXR5JiZkKGIuaGVscGVyKS5jc3MoIm9w YWNpdHkiLAphLl9vcGFjaXR5KX19KTtkLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJs ZSIsInNjcm9sbCIse3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGE9ZCh0aGlzKS5kYXRh KCJkcmFnZ2FibGUiKTtpZihhLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJmEu c2Nyb2xsUGFyZW50WzBdLnRhZ05hbWUhPSJIVE1MIilhLm92ZXJmbG93T2Zmc2V0 PWEuc2Nyb2xsUGFyZW50Lm9mZnNldCgpfSxkcmFnOmZ1bmN0aW9uKGEpe3ZhciBi PWQodGhpcykuZGF0YSgiZHJhZ2dhYmxlIiksYz1iLm9wdGlvbnMsZj1mYWxzZTtp ZihiLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJmIuc2Nyb2xsUGFyZW50WzBd LnRhZ05hbWUhPSJIVE1MIil7aWYoIWMuYXhpc3x8Yy5heGlzIT0ieCIpaWYoYi5v dmVyZmxvd09mZnNldC50b3ArYi5zY3JvbGxQYXJlbnRbMF0ub2Zmc2V0SGVpZ2h0 LWEucGFnZVk8Yy5zY3JvbGxTZW5zaXRpdml0eSliLnNjcm9sbFBhcmVudFswXS5z Y3JvbGxUb3A9Zj1iLnNjcm9sbFBhcmVudFswXS5zY3JvbGxUb3ArCmMuc2Nyb2xs U3BlZWQ7ZWxzZSBpZihhLnBhZ2VZLWIub3ZlcmZsb3dPZmZzZXQudG9wPGMuc2Ny b2xsU2Vuc2l0aXZpdHkpYi5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wPWY9Yi5z Y3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wLWMuc2Nyb2xsU3BlZWQ7aWYoIWMuYXhp c3x8Yy5heGlzIT0ieSIpaWYoYi5vdmVyZmxvd09mZnNldC5sZWZ0K2Iuc2Nyb2xs UGFyZW50WzBdLm9mZnNldFdpZHRoLWEucGFnZVg8Yy5zY3JvbGxTZW5zaXRpdml0 eSliLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0PWY9Yi5zY3JvbGxQYXJlbnRb MF0uc2Nyb2xsTGVmdCtjLnNjcm9sbFNwZWVkO2Vsc2UgaWYoYS5wYWdlWC1iLm92 ZXJmbG93T2Zmc2V0LmxlZnQ8Yy5zY3JvbGxTZW5zaXRpdml0eSliLnNjcm9sbFBh cmVudFswXS5zY3JvbGxMZWZ0PWY9Yi5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVm dC1jLnNjcm9sbFNwZWVkfWVsc2V7aWYoIWMuYXhpc3x8Yy5heGlzIT0ieCIpaWYo YS5wYWdlWS1kKGRvY3VtZW50KS5zY3JvbGxUb3AoKTwKYy5zY3JvbGxTZW5zaXRp dml0eSlmPWQoZG9jdW1lbnQpLnNjcm9sbFRvcChkKGRvY3VtZW50KS5zY3JvbGxU b3AoKS1jLnNjcm9sbFNwZWVkKTtlbHNlIGlmKGQod2luZG93KS5oZWlnaHQoKS0o YS5wYWdlWS1kKGRvY3VtZW50KS5zY3JvbGxUb3AoKSk8Yy5zY3JvbGxTZW5zaXRp dml0eSlmPWQoZG9jdW1lbnQpLnNjcm9sbFRvcChkKGRvY3VtZW50KS5zY3JvbGxU b3AoKStjLnNjcm9sbFNwZWVkKTtpZighYy5heGlzfHxjLmF4aXMhPSJ5IilpZihh LnBhZ2VYLWQoZG9jdW1lbnQpLnNjcm9sbExlZnQoKTxjLnNjcm9sbFNlbnNpdGl2 aXR5KWY9ZChkb2N1bWVudCkuc2Nyb2xsTGVmdChkKGRvY3VtZW50KS5zY3JvbGxM ZWZ0KCktYy5zY3JvbGxTcGVlZCk7ZWxzZSBpZihkKHdpbmRvdykud2lkdGgoKS0o YS5wYWdlWC1kKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCkpPGMuc2Nyb2xsU2Vuc2l0 aXZpdHkpZj1kKGRvY3VtZW50KS5zY3JvbGxMZWZ0KGQoZG9jdW1lbnQpLnNjcm9s bExlZnQoKSsKYy5zY3JvbGxTcGVlZCl9ZiE9PWZhbHNlJiZkLnVpLmRkbWFuYWdl ciYmIWMuZHJvcEJlaGF2aW91ciYmZC51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNl dHMoYixhKX19KTtkLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsInNuYXAiLHtz dGFydDpmdW5jdGlvbigpe3ZhciBhPWQodGhpcykuZGF0YSgiZHJhZ2dhYmxlIiks Yj1hLm9wdGlvbnM7YS5zbmFwRWxlbWVudHM9W107ZChiLnNuYXAuY29uc3RydWN0 b3IhPVN0cmluZz9iLnNuYXAuaXRlbXN8fCI6ZGF0YShkcmFnZ2FibGUpIjpiLnNu YXApLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1kKHRoaXMpLGY9Yy5vZmZzZXQoKTt0 aGlzIT1hLmVsZW1lbnRbMF0mJmEuc25hcEVsZW1lbnRzLnB1c2goe2l0ZW06dGhp cyx3aWR0aDpjLm91dGVyV2lkdGgoKSxoZWlnaHQ6Yy5vdXRlckhlaWdodCgpLHRv cDpmLnRvcCxsZWZ0OmYubGVmdH0pfSl9LGRyYWc6ZnVuY3Rpb24oYSxiKXtmb3Io dmFyIGM9ZCh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKSwKZj1jLm9wdGlvbnMsZT1m LnNuYXBUb2xlcmFuY2UsZz1iLm9mZnNldC5sZWZ0LG49ZytjLmhlbHBlclByb3Bv cnRpb25zLndpZHRoLG09Yi5vZmZzZXQudG9wLG89bStjLmhlbHBlclByb3BvcnRp b25zLmhlaWdodCxoPWMuc25hcEVsZW1lbnRzLmxlbmd0aC0xO2g+PTA7aC0tKXt2 YXIgaT1jLnNuYXBFbGVtZW50c1toXS5sZWZ0LGs9aStjLnNuYXBFbGVtZW50c1to XS53aWR0aCxqPWMuc25hcEVsZW1lbnRzW2hdLnRvcCxsPWorYy5zbmFwRWxlbWVu dHNbaF0uaGVpZ2h0O2lmKGktZTxnJiZnPGsrZSYmai1lPG0mJm08bCtlfHxpLWU8 ZyYmZzxrK2UmJmotZTxvJiZvPGwrZXx8aS1lPG4mJm48aytlJiZqLWU8bSYmbTxs K2V8fGktZTxuJiZuPGsrZSYmai1lPG8mJm88bCtlKXtpZihmLnNuYXBNb2RlIT0i aW5uZXIiKXt2YXIgcD1NYXRoLmFicyhqLW8pPD1lLHE9TWF0aC5hYnMobC1tKTw9 ZSxyPU1hdGguYWJzKGktbik8PWUscz1NYXRoLmFicyhrLWcpPD1lO2lmKHApYi5w b3NpdGlvbi50b3A9CmMuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3Rv cDpqLWMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LGxlZnQ6MH0pLnRvcC1jLm1h cmdpbnMudG9wO2lmKHEpYi5wb3NpdGlvbi50b3A9Yy5fY29udmVydFBvc2l0aW9u VG8oInJlbGF0aXZlIix7dG9wOmwsbGVmdDowfSkudG9wLWMubWFyZ2lucy50b3A7 aWYociliLnBvc2l0aW9uLmxlZnQ9Yy5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0 aXZlIix7dG9wOjAsbGVmdDppLWMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGh9KS5s ZWZ0LWMubWFyZ2lucy5sZWZ0O2lmKHMpYi5wb3NpdGlvbi5sZWZ0PWMuX2NvbnZl cnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDowLGxlZnQ6a30pLmxlZnQtYy5t YXJnaW5zLmxlZnR9dmFyIHQ9cHx8cXx8cnx8cztpZihmLnNuYXBNb2RlIT0ib3V0 ZXIiKXtwPU1hdGguYWJzKGotbSk8PWU7cT1NYXRoLmFicyhsLW8pPD1lO3I9TWF0 aC5hYnMoaS1nKTw9ZTtzPU1hdGguYWJzKGstbik8PWU7aWYocCliLnBvc2l0aW9u LnRvcD0KYy5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOmosbGVm dDowfSkudG9wLWMubWFyZ2lucy50b3A7aWYocSliLnBvc2l0aW9uLnRvcD1jLl9j b252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6bC1jLmhlbHBlclByb3Bv cnRpb25zLmhlaWdodCxsZWZ0OjB9KS50b3AtYy5tYXJnaW5zLnRvcDtpZihyKWIu cG9zaXRpb24ubGVmdD1jLl9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0 b3A6MCxsZWZ0Oml9KS5sZWZ0LWMubWFyZ2lucy5sZWZ0O2lmKHMpYi5wb3NpdGlv bi5sZWZ0PWMuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDowLGxl ZnQ6ay1jLmhlbHBlclByb3BvcnRpb25zLndpZHRofSkubGVmdC1jLm1hcmdpbnMu bGVmdH1pZighYy5zbmFwRWxlbWVudHNbaF0uc25hcHBpbmcmJihwfHxxfHxyfHxz fHx0KSljLm9wdGlvbnMuc25hcC5zbmFwJiZjLm9wdGlvbnMuc25hcC5zbmFwLmNh bGwoYy5lbGVtZW50LGEsZC5leHRlbmQoYy5fdWlIYXNoKCksCntzbmFwSXRlbTpj LnNuYXBFbGVtZW50c1toXS5pdGVtfSkpO2Muc25hcEVsZW1lbnRzW2hdLnNuYXBw aW5nPXB8fHF8fHJ8fHN8fHR9ZWxzZXtjLnNuYXBFbGVtZW50c1toXS5zbmFwcGlu ZyYmYy5vcHRpb25zLnNuYXAucmVsZWFzZSYmYy5vcHRpb25zLnNuYXAucmVsZWFz ZS5jYWxsKGMuZWxlbWVudCxhLGQuZXh0ZW5kKGMuX3VpSGFzaCgpLHtzbmFwSXRl bTpjLnNuYXBFbGVtZW50c1toXS5pdGVtfSkpO2Muc25hcEVsZW1lbnRzW2hdLnNu YXBwaW5nPWZhbHNlfX19fSk7ZC51aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUiLCJz dGFjayIse3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGE9ZCh0aGlzKS5kYXRhKCJkcmFn Z2FibGUiKS5vcHRpb25zO2E9ZC5tYWtlQXJyYXkoZChhLnN0YWNrKSkuc29ydChm dW5jdGlvbihjLGYpe3JldHVybihwYXJzZUludChkKGMpLmNzcygiekluZGV4Iiks MTApfHwwKS0ocGFyc2VJbnQoZChmKS5jc3MoInpJbmRleCIpLDEwKXx8MCl9KTtp ZihhLmxlbmd0aCl7dmFyIGI9CnBhcnNlSW50KGFbMF0uc3R5bGUuekluZGV4KXx8 MDtkKGEpLmVhY2goZnVuY3Rpb24oYyl7dGhpcy5zdHlsZS56SW5kZXg9YitjfSk7 dGhpc1swXS5zdHlsZS56SW5kZXg9YithLmxlbmd0aH19fSk7ZC51aS5wbHVnaW4u YWRkKCJkcmFnZ2FibGUiLCJ6SW5kZXgiLHtzdGFydDpmdW5jdGlvbihhLGIpe2E9 ZChiLmhlbHBlcik7Yj1kKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpLm9wdGlvbnM7 aWYoYS5jc3MoInpJbmRleCIpKWIuX3pJbmRleD1hLmNzcygiekluZGV4Iik7YS5j c3MoInpJbmRleCIsYi56SW5kZXgpfSxzdG9wOmZ1bmN0aW9uKGEsYil7YT1kKHRo aXMpLmRhdGEoImRyYWdnYWJsZSIpLm9wdGlvbnM7YS5fekluZGV4JiZkKGIuaGVs cGVyKS5jc3MoInpJbmRleCIsYS5fekluZGV4KX19KX0pKGpRdWVyeSk7CjsKCihm dW5jdGlvbihhKXt2YXIgZyxpPWZ1bmN0aW9uKGIpe2EoIjp1aS1idXR0b24iLGIu dGFyZ2V0LmZvcm0pLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1hKHRoaXMpLmRhdGEo ImJ1dHRvbiIpO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtjLnJlZnJlc2goKX0sMSl9 KX0saD1mdW5jdGlvbihiKXt2YXIgYz1iLm5hbWUsZD1iLmZvcm0sZj1hKFtdKTtp ZihjKWY9ZD9hKGQpLmZpbmQoIltuYW1lPSciK2MrIiddIik6YSgiW25hbWU9JyIr YysiJ10iLGIub3duZXJEb2N1bWVudCkuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJu IXRoaXMuZm9ybX0pO3JldHVybiBmfTthLndpZGdldCgidWkuYnV0dG9uIix7b3B0 aW9uczp7ZGlzYWJsZWQ6bnVsbCx0ZXh0OnRydWUsbGFiZWw6bnVsbCxpY29uczp7 cHJpbWFyeTpudWxsLHNlY29uZGFyeTpudWxsfX0sX2NyZWF0ZTpmdW5jdGlvbigp e3RoaXMuZWxlbWVudC5jbG9zZXN0KCJmb3JtIikudW5iaW5kKCJyZXNldC5idXR0 b24iKS5iaW5kKCJyZXNldC5idXR0b24iLAppKTtpZih0eXBlb2YgdGhpcy5vcHRp b25zLmRpc2FibGVkIT09ImJvb2xlYW4iKXRoaXMub3B0aW9ucy5kaXNhYmxlZD10 aGlzLmVsZW1lbnQuYXR0cigiZGlzYWJsZWQiKTt0aGlzLl9kZXRlcm1pbmVCdXR0 b25UeXBlKCk7dGhpcy5oYXNUaXRsZT0hIXRoaXMuYnV0dG9uRWxlbWVudC5hdHRy KCJ0aXRsZSIpO3ZhciBiPXRoaXMsYz10aGlzLm9wdGlvbnMsZD10aGlzLnR5cGU9 PT0iY2hlY2tib3gifHx0aGlzLnR5cGU9PT0icmFkaW8iLGY9InVpLXN0YXRlLWhv dmVyIisoIWQ/IiB1aS1zdGF0ZS1hY3RpdmUiOiIiKTtpZihjLmxhYmVsPT09bnVs bCljLmxhYmVsPXRoaXMuYnV0dG9uRWxlbWVudC5odG1sKCk7aWYodGhpcy5lbGVt ZW50LmlzKCI6ZGlzYWJsZWQiKSljLmRpc2FibGVkPXRydWU7dGhpcy5idXR0b25F bGVtZW50LmFkZENsYXNzKCJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRl ZmF1bHQgdWktY29ybmVyLWFsbCIpLmF0dHIoInJvbGUiLCJidXR0b24iKS5iaW5k KCJtb3VzZWVudGVyLmJ1dHRvbiIsCmZ1bmN0aW9uKCl7aWYoIWMuZGlzYWJsZWQp e2EodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWhvdmVyIik7dGhpcz09PWcmJmEo dGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpfX0pLmJpbmQoIm1vdXNl bGVhdmUuYnV0dG9uIixmdW5jdGlvbigpe2MuZGlzYWJsZWR8fGEodGhpcykucmVt b3ZlQ2xhc3MoZil9KS5iaW5kKCJmb2N1cy5idXR0b24iLGZ1bmN0aW9uKCl7YSh0 aGlzKS5hZGRDbGFzcygidWktc3RhdGUtZm9jdXMiKX0pLmJpbmQoImJsdXIuYnV0 dG9uIixmdW5jdGlvbigpe2EodGhpcykucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWZv Y3VzIil9KTtkJiZ0aGlzLmVsZW1lbnQuYmluZCgiY2hhbmdlLmJ1dHRvbiIsZnVu Y3Rpb24oKXtiLnJlZnJlc2goKX0pO2lmKHRoaXMudHlwZT09PSJjaGVja2JveCIp dGhpcy5idXR0b25FbGVtZW50LmJpbmQoImNsaWNrLmJ1dHRvbiIsZnVuY3Rpb24o KXtpZihjLmRpc2FibGVkKXJldHVybiBmYWxzZTthKHRoaXMpLnRvZ2dsZUNsYXNz KCJ1aS1zdGF0ZS1hY3RpdmUiKTsKYi5idXR0b25FbGVtZW50LmF0dHIoImFyaWEt cHJlc3NlZCIsYi5lbGVtZW50WzBdLmNoZWNrZWQpfSk7ZWxzZSBpZih0aGlzLnR5 cGU9PT0icmFkaW8iKXRoaXMuYnV0dG9uRWxlbWVudC5iaW5kKCJjbGljay5idXR0 b24iLGZ1bmN0aW9uKCl7aWYoYy5kaXNhYmxlZClyZXR1cm4gZmFsc2U7YSh0aGlz KS5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIik7Yi5idXR0b25FbGVtZW50LmF0 dHIoImFyaWEtcHJlc3NlZCIsdHJ1ZSk7dmFyIGU9Yi5lbGVtZW50WzBdO2goZSku bm90KGUpLm1hcChmdW5jdGlvbigpe3JldHVybiBhKHRoaXMpLmJ1dHRvbigid2lk Z2V0IilbMF19KS5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIikuYXR0cigi YXJpYS1wcmVzc2VkIixmYWxzZSl9KTtlbHNle3RoaXMuYnV0dG9uRWxlbWVudC5i aW5kKCJtb3VzZWRvd24uYnV0dG9uIixmdW5jdGlvbigpe2lmKGMuZGlzYWJsZWQp cmV0dXJuIGZhbHNlO2EodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIp OwpnPXRoaXM7YShkb2N1bWVudCkub25lKCJtb3VzZXVwIixmdW5jdGlvbigpe2c9 bnVsbH0pfSkuYmluZCgibW91c2V1cC5idXR0b24iLGZ1bmN0aW9uKCl7aWYoYy5k aXNhYmxlZClyZXR1cm4gZmFsc2U7YSh0aGlzKS5yZW1vdmVDbGFzcygidWktc3Rh dGUtYWN0aXZlIil9KS5iaW5kKCJrZXlkb3duLmJ1dHRvbiIsZnVuY3Rpb24oZSl7 aWYoYy5kaXNhYmxlZClyZXR1cm4gZmFsc2U7aWYoZS5rZXlDb2RlPT1hLnVpLmtl eUNvZGUuU1BBQ0V8fGUua2V5Q29kZT09YS51aS5rZXlDb2RlLkVOVEVSKWEodGhp cykuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpfSkuYmluZCgia2V5dXAuYnV0 dG9uIixmdW5jdGlvbigpe2EodGhpcykucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFj dGl2ZSIpfSk7dGhpcy5idXR0b25FbGVtZW50LmlzKCJhIikmJnRoaXMuYnV0dG9u RWxlbWVudC5rZXl1cChmdW5jdGlvbihlKXtlLmtleUNvZGU9PT1hLnVpLmtleUNv ZGUuU1BBQ0UmJmEodGhpcykuY2xpY2soKX0pfXRoaXMuX3NldE9wdGlvbigiZGlz YWJsZWQiLApjLmRpc2FibGVkKX0sX2RldGVybWluZUJ1dHRvblR5cGU6ZnVuY3Rp b24oKXt0aGlzLnR5cGU9dGhpcy5lbGVtZW50LmlzKCI6Y2hlY2tib3giKT8iY2hl Y2tib3giOnRoaXMuZWxlbWVudC5pcygiOnJhZGlvIik/InJhZGlvIjp0aGlzLmVs ZW1lbnQuaXMoImlucHV0Iik/ImlucHV0IjoiYnV0dG9uIjtpZih0aGlzLnR5cGU9 PT0iY2hlY2tib3gifHx0aGlzLnR5cGU9PT0icmFkaW8iKXt2YXIgYj10aGlzLmVs ZW1lbnQucGFyZW50cygpLmZpbHRlcigiOmxhc3QiKSxjPSJsYWJlbFtmb3I9Iit0 aGlzLmVsZW1lbnQuYXR0cigiaWQiKSsiXSI7dGhpcy5idXR0b25FbGVtZW50PWIu ZmluZChjKTtpZighdGhpcy5idXR0b25FbGVtZW50Lmxlbmd0aCl7Yj1iLmxlbmd0 aD9iLnNpYmxpbmdzKCk6dGhpcy5lbGVtZW50LnNpYmxpbmdzKCk7dGhpcy5idXR0 b25FbGVtZW50PWIuZmlsdGVyKGMpO2lmKCF0aGlzLmJ1dHRvbkVsZW1lbnQubGVu Z3RoKXRoaXMuYnV0dG9uRWxlbWVudD1iLmZpbmQoYyl9dGhpcy5lbGVtZW50LmFk ZENsYXNzKCJ1aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUiKTsKKGI9dGhpcy5l bGVtZW50LmlzKCI6Y2hlY2tlZCIpKSYmdGhpcy5idXR0b25FbGVtZW50LmFkZENs YXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKTt0aGlzLmJ1dHRvbkVsZW1lbnQuYXR0cigi YXJpYS1wcmVzc2VkIixiKX1lbHNlIHRoaXMuYnV0dG9uRWxlbWVudD10aGlzLmVs ZW1lbnR9LHdpZGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmJ1dHRvbkVsZW1l bnR9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3Mo InVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSIpO3RoaXMuYnV0dG9uRWxlbWVu dC5yZW1vdmVDbGFzcygidWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZh dWx0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtaG92ZXIgdWktc3RhdGUtYWN0aXZl ICB1aS1idXR0b24taWNvbnMtb25seSB1aS1idXR0b24taWNvbi1vbmx5IHVpLWJ1 dHRvbi10ZXh0LWljb25zIHVpLWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSB1aS1i dXR0b24tdGV4dC1pY29uLXNlY29uZGFyeSB1aS1idXR0b24tdGV4dC1vbmx5Iiku cmVtb3ZlQXR0cigicm9sZSIpLnJlbW92ZUF0dHIoImFyaWEtcHJlc3NlZCIpLmh0 bWwodGhpcy5idXR0b25FbGVtZW50LmZpbmQoIi51aS1idXR0b24tdGV4dCIpLmh0 bWwoKSk7CnRoaXMuaGFzVGl0bGV8fHRoaXMuYnV0dG9uRWxlbWVudC5yZW1vdmVB dHRyKCJ0aXRsZSIpO2EuV2lkZ2V0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhp cyl9LF9zZXRPcHRpb246ZnVuY3Rpb24oYixjKXthLldpZGdldC5wcm90b3R5cGUu X3NldE9wdGlvbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7aWYoYj09PSJkaXNhYmxl ZCIpYz90aGlzLmVsZW1lbnQuYXR0cigiZGlzYWJsZWQiLHRydWUpOnRoaXMuZWxl bWVudC5yZW1vdmVBdHRyKCJkaXNhYmxlZCIpO3RoaXMuX3Jlc2V0QnV0dG9uKCl9 LHJlZnJlc2g6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLmVsZW1lbnQuaXMoIjpkaXNh YmxlZCIpO2IhPT10aGlzLm9wdGlvbnMuZGlzYWJsZWQmJnRoaXMuX3NldE9wdGlv bigiZGlzYWJsZWQiLGIpO2lmKHRoaXMudHlwZT09PSJyYWRpbyIpaCh0aGlzLmVs ZW1lbnRbMF0pLmVhY2goZnVuY3Rpb24oKXthKHRoaXMpLmlzKCI6Y2hlY2tlZCIp P2EodGhpcykuYnV0dG9uKCJ3aWRnZXQiKS5hZGRDbGFzcygidWktc3RhdGUtYWN0 aXZlIikuYXR0cigiYXJpYS1wcmVzc2VkIiwKdHJ1ZSk6YSh0aGlzKS5idXR0b24o IndpZGdldCIpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKS5hdHRyKCJh cmlhLXByZXNzZWQiLGZhbHNlKX0pO2Vsc2UgaWYodGhpcy50eXBlPT09ImNoZWNr Ym94Iil0aGlzLmVsZW1lbnQuaXMoIjpjaGVja2VkIik/dGhpcy5idXR0b25FbGVt ZW50LmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKS5hdHRyKCJhcmlhLXByZXNz ZWQiLHRydWUpOnRoaXMuYnV0dG9uRWxlbWVudC5yZW1vdmVDbGFzcygidWktc3Rh dGUtYWN0aXZlIikuYXR0cigiYXJpYS1wcmVzc2VkIixmYWxzZSl9LF9yZXNldEJ1 dHRvbjpmdW5jdGlvbigpe2lmKHRoaXMudHlwZT09PSJpbnB1dCIpdGhpcy5vcHRp b25zLmxhYmVsJiZ0aGlzLmVsZW1lbnQudmFsKHRoaXMub3B0aW9ucy5sYWJlbCk7 ZWxzZXt2YXIgYj10aGlzLmJ1dHRvbkVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWJ1 dHRvbi1pY29ucy1vbmx5IHVpLWJ1dHRvbi1pY29uLW9ubHkgdWktYnV0dG9uLXRl eHQtaWNvbnMgdWktYnV0dG9uLXRleHQtaWNvbi1wcmltYXJ5IHVpLWJ1dHRvbi10 ZXh0LWljb24tc2Vjb25kYXJ5IHVpLWJ1dHRvbi10ZXh0LW9ubHkiKSwKYz1hKCI8 c3Bhbj48L3NwYW4+IikuYWRkQ2xhc3MoInVpLWJ1dHRvbi10ZXh0IikuaHRtbCh0 aGlzLm9wdGlvbnMubGFiZWwpLmFwcGVuZFRvKGIuZW1wdHkoKSkudGV4dCgpLGQ9 dGhpcy5vcHRpb25zLmljb25zLGY9ZC5wcmltYXJ5JiZkLnNlY29uZGFyeSxlPVtd O2lmKGQucHJpbWFyeXx8ZC5zZWNvbmRhcnkpe2lmKHRoaXMub3B0aW9ucy50ZXh0 KWUucHVzaCgidWktYnV0dG9uLXRleHQtaWNvbiIrKGY/InMiOmQucHJpbWFyeT8i LXByaW1hcnkiOiItc2Vjb25kYXJ5IikpO2QucHJpbWFyeSYmYi5wcmVwZW5kKCI8 c3BhbiBjbGFzcz0ndWktYnV0dG9uLWljb24tcHJpbWFyeSB1aS1pY29uICIrZC5w cmltYXJ5KyInPjwvc3Bhbj4iKTtkLnNlY29uZGFyeSYmYi5hcHBlbmQoIjxzcGFu IGNsYXNzPSd1aS1idXR0b24taWNvbi1zZWNvbmRhcnkgdWktaWNvbiAiK2Quc2Vj b25kYXJ5KyInPjwvc3Bhbj4iKTtpZighdGhpcy5vcHRpb25zLnRleHQpe2UucHVz aChmPyJ1aS1idXR0b24taWNvbnMtb25seSI6CiJ1aS1idXR0b24taWNvbi1vbmx5 Iik7dGhpcy5oYXNUaXRsZXx8Yi5hdHRyKCJ0aXRsZSIsYyl9fWVsc2UgZS5wdXNo KCJ1aS1idXR0b24tdGV4dC1vbmx5Iik7Yi5hZGRDbGFzcyhlLmpvaW4oIiAiKSl9 fX0pO2Eud2lkZ2V0KCJ1aS5idXR0b25zZXQiLHtvcHRpb25zOntpdGVtczoiOmJ1 dHRvbiwgOnN1Ym1pdCwgOnJlc2V0LCA6Y2hlY2tib3gsIDpyYWRpbywgYSwgOmRh dGEoYnV0dG9uKSJ9LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQuYWRk Q2xhc3MoInVpLWJ1dHRvbnNldCIpfSxfaW5pdDpmdW5jdGlvbigpe3RoaXMucmVm cmVzaCgpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGIsYyl7Yj09PSJkaXNhYmxlZCIm JnRoaXMuYnV0dG9ucy5idXR0b24oIm9wdGlvbiIsYixjKTthLldpZGdldC5wcm90 b3R5cGUuX3NldE9wdGlvbi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LHJlZnJlc2g6 ZnVuY3Rpb24oKXt0aGlzLmJ1dHRvbnM9dGhpcy5lbGVtZW50LmZpbmQodGhpcy5v cHRpb25zLml0ZW1zKS5maWx0ZXIoIjp1aS1idXR0b24iKS5idXR0b24oInJlZnJl c2giKS5lbmQoKS5ub3QoIjp1aS1idXR0b24iKS5idXR0b24oKS5lbmQoKS5tYXAo ZnVuY3Rpb24oKXtyZXR1cm4gYSh0aGlzKS5idXR0b24oIndpZGdldCIpWzBdfSku cmVtb3ZlQ2xhc3MoInVpLWNvcm5lci1hbGwgdWktY29ybmVyLWxlZnQgdWktY29y bmVyLXJpZ2h0IikuZmlsdGVyKCI6Zmlyc3QiKS5hZGRDbGFzcygidWktY29ybmVy LWxlZnQiKS5lbmQoKS5maWx0ZXIoIjpsYXN0IikuYWRkQ2xhc3MoInVpLWNvcm5l ci1yaWdodCIpLmVuZCgpLmVuZCgpfSwKZGVzdHJveTpmdW5jdGlvbigpe3RoaXMu ZWxlbWVudC5yZW1vdmVDbGFzcygidWktYnV0dG9uc2V0Iik7dGhpcy5idXR0b25z Lm1hcChmdW5jdGlvbigpe3JldHVybiBhKHRoaXMpLmJ1dHRvbigid2lkZ2V0Iilb MF19KS5yZW1vdmVDbGFzcygidWktY29ybmVyLWxlZnQgdWktY29ybmVyLXJpZ2h0 IikuZW5kKCkuYnV0dG9uKCJkZXN0cm95Iik7YS5XaWRnZXQucHJvdG90eXBlLmRl c3Ryb3kuY2FsbCh0aGlzKX19KX0pKGpRdWVyeSk7CjsKCihmdW5jdGlvbihjLGop e3ZhciBrPXtidXR0b25zOnRydWUsaGVpZ2h0OnRydWUsbWF4SGVpZ2h0OnRydWUs bWF4V2lkdGg6dHJ1ZSxtaW5IZWlnaHQ6dHJ1ZSxtaW5XaWR0aDp0cnVlLHdpZHRo OnRydWV9LGw9e21heEhlaWdodDp0cnVlLG1heFdpZHRoOnRydWUsbWluSGVpZ2h0 OnRydWUsbWluV2lkdGg6dHJ1ZX07Yy53aWRnZXQoInVpLmRpYWxvZyIse29wdGlv bnM6e2F1dG9PcGVuOnRydWUsYnV0dG9uczp7fSxjbG9zZU9uRXNjYXBlOnRydWUs Y2xvc2VUZXh0OiJjbG9zZSIsZGlhbG9nQ2xhc3M6IiIsZHJhZ2dhYmxlOnRydWUs aGlkZTpudWxsLGhlaWdodDoiYXV0byIsbWF4SGVpZ2h0OmZhbHNlLG1heFdpZHRo OmZhbHNlLG1pbkhlaWdodDoxNTAsbWluV2lkdGg6MTUwLG1vZGFsOmZhbHNlLHBv c2l0aW9uOntteToiY2VudGVyIixhdDoiY2VudGVyIixjb2xsaXNpb246ImZpdCIs dXNpbmc6ZnVuY3Rpb24oYSl7dmFyIGI9Yyh0aGlzKS5jc3MoYSkub2Zmc2V0KCku dG9wO2I8MCYmCmModGhpcykuY3NzKCJ0b3AiLGEudG9wLWIpfX0scmVzaXphYmxl OnRydWUsc2hvdzpudWxsLHN0YWNrOnRydWUsdGl0bGU6IiIsd2lkdGg6MzAwLHpJ bmRleDoxRTN9LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLm9yaWdpbmFsVGl0bGU9 dGhpcy5lbGVtZW50LmF0dHIoInRpdGxlIik7aWYodHlwZW9mIHRoaXMub3JpZ2lu YWxUaXRsZSE9PSJzdHJpbmciKXRoaXMub3JpZ2luYWxUaXRsZT0iIjt0aGlzLm9w dGlvbnMudGl0bGU9dGhpcy5vcHRpb25zLnRpdGxlfHx0aGlzLm9yaWdpbmFsVGl0 bGU7dmFyIGE9dGhpcyxiPWEub3B0aW9ucyxkPWIudGl0bGV8fCImIzE2MDsiLGU9 Yy51aS5kaWFsb2cuZ2V0VGl0bGVJZChhLmVsZW1lbnQpLGc9KGEudWlEaWFsb2c9 YygiPGRpdj48L2Rpdj4iKSkuYXBwZW5kVG8oZG9jdW1lbnQuYm9keSkuaGlkZSgp LmFkZENsYXNzKCJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50 IHVpLWNvcm5lci1hbGwgIitiLmRpYWxvZ0NsYXNzKS5jc3Moe3pJbmRleDpiLnpJ bmRleH0pLmF0dHIoInRhYkluZGV4IiwKLTEpLmNzcygib3V0bGluZSIsMCkua2V5 ZG93bihmdW5jdGlvbihpKXtpZihiLmNsb3NlT25Fc2NhcGUmJmkua2V5Q29kZSYm aS5rZXlDb2RlPT09Yy51aS5rZXlDb2RlLkVTQ0FQRSl7YS5jbG9zZShpKTtpLnBy ZXZlbnREZWZhdWx0KCl9fSkuYXR0cih7cm9sZToiZGlhbG9nIiwiYXJpYS1sYWJl bGxlZGJ5IjplfSkubW91c2Vkb3duKGZ1bmN0aW9uKGkpe2EubW92ZVRvVG9wKGZh bHNlLGkpfSk7YS5lbGVtZW50LnNob3coKS5yZW1vdmVBdHRyKCJ0aXRsZSIpLmFk ZENsYXNzKCJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIpLmFw cGVuZFRvKGcpO3ZhciBmPShhLnVpRGlhbG9nVGl0bGViYXI9YygiPGRpdj48L2Rp dj4iKSkuYWRkQ2xhc3MoInVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVh ZGVyIHVpLWNvcm5lci1hbGwgdWktaGVscGVyLWNsZWFyZml4IikucHJlcGVuZFRv KGcpLGg9YygnPGEgaHJlZj0iIyI+PC9hPicpLmFkZENsYXNzKCJ1aS1kaWFsb2ct dGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIpLmF0dHIoInJvbGUiLAoiYnV0 dG9uIikuaG92ZXIoZnVuY3Rpb24oKXtoLmFkZENsYXNzKCJ1aS1zdGF0ZS1ob3Zl ciIpfSxmdW5jdGlvbigpe2gucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWhvdmVyIil9 KS5mb2N1cyhmdW5jdGlvbigpe2guYWRkQ2xhc3MoInVpLXN0YXRlLWZvY3VzIil9 KS5ibHVyKGZ1bmN0aW9uKCl7aC5yZW1vdmVDbGFzcygidWktc3RhdGUtZm9jdXMi KX0pLmNsaWNrKGZ1bmN0aW9uKGkpe2EuY2xvc2UoaSk7cmV0dXJuIGZhbHNlfSku YXBwZW5kVG8oZik7KGEudWlEaWFsb2dUaXRsZWJhckNsb3NlVGV4dD1jKCI8c3Bh bj48L3NwYW4+IikpLmFkZENsYXNzKCJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGlj ayIpLnRleHQoYi5jbG9zZVRleHQpLmFwcGVuZFRvKGgpO2MoIjxzcGFuPjwvc3Bh bj4iKS5hZGRDbGFzcygidWktZGlhbG9nLXRpdGxlIikuYXR0cigiaWQiLGUpLmh0 bWwoZCkucHJlcGVuZFRvKGYpO2lmKGMuaXNGdW5jdGlvbihiLmJlZm9yZWNsb3Nl KSYmIWMuaXNGdW5jdGlvbihiLmJlZm9yZUNsb3NlKSliLmJlZm9yZUNsb3NlPQpi LmJlZm9yZWNsb3NlO2YuZmluZCgiKiIpLmFkZChmKS5kaXNhYmxlU2VsZWN0aW9u KCk7Yi5kcmFnZ2FibGUmJmMuZm4uZHJhZ2dhYmxlJiZhLl9tYWtlRHJhZ2dhYmxl KCk7Yi5yZXNpemFibGUmJmMuZm4ucmVzaXphYmxlJiZhLl9tYWtlUmVzaXphYmxl KCk7YS5fY3JlYXRlQnV0dG9ucyhiLmJ1dHRvbnMpO2EuX2lzT3Blbj1mYWxzZTtj LmZuLmJnaWZyYW1lJiZnLmJnaWZyYW1lKCl9LF9pbml0OmZ1bmN0aW9uKCl7dGhp cy5vcHRpb25zLmF1dG9PcGVuJiZ0aGlzLm9wZW4oKX0sZGVzdHJveTpmdW5jdGlv bigpe3ZhciBhPXRoaXM7YS5vdmVybGF5JiZhLm92ZXJsYXkuZGVzdHJveSgpO2Eu dWlEaWFsb2cuaGlkZSgpO2EuZWxlbWVudC51bmJpbmQoIi5kaWFsb2ciKS5yZW1v dmVEYXRhKCJkaWFsb2ciKS5yZW1vdmVDbGFzcygidWktZGlhbG9nLWNvbnRlbnQg dWktd2lkZ2V0LWNvbnRlbnQiKS5oaWRlKCkuYXBwZW5kVG8oImJvZHkiKTthLnVp RGlhbG9nLnJlbW92ZSgpO2Eub3JpZ2luYWxUaXRsZSYmCmEuZWxlbWVudC5hdHRy KCJ0aXRsZSIsYS5vcmlnaW5hbFRpdGxlKTtyZXR1cm4gYX0sd2lkZ2V0OmZ1bmN0 aW9uKCl7cmV0dXJuIHRoaXMudWlEaWFsb2d9LGNsb3NlOmZ1bmN0aW9uKGEpe3Zh ciBiPXRoaXMsZCxlO2lmKGZhbHNlIT09Yi5fdHJpZ2dlcigiYmVmb3JlQ2xvc2Ui LGEpKXtiLm92ZXJsYXkmJmIub3ZlcmxheS5kZXN0cm95KCk7Yi51aURpYWxvZy51 bmJpbmQoImtleXByZXNzLnVpLWRpYWxvZyIpO2IuX2lzT3Blbj1mYWxzZTtpZihi Lm9wdGlvbnMuaGlkZSliLnVpRGlhbG9nLmhpZGUoYi5vcHRpb25zLmhpZGUsZnVu Y3Rpb24oKXtiLl90cmlnZ2VyKCJjbG9zZSIsYSl9KTtlbHNle2IudWlEaWFsb2cu aGlkZSgpO2IuX3RyaWdnZXIoImNsb3NlIixhKX1jLnVpLmRpYWxvZy5vdmVybGF5 LnJlc2l6ZSgpO2lmKGIub3B0aW9ucy5tb2RhbCl7ZD0wO2MoIi51aS1kaWFsb2ci KS5lYWNoKGZ1bmN0aW9uKCl7aWYodGhpcyE9PWIudWlEaWFsb2dbMF0pe2U9Yyh0 aGlzKS5jc3MoInotaW5kZXgiKTsKaXNOYU4oZSl8fChkPU1hdGgubWF4KGQsZSkp fX0pO2MudWkuZGlhbG9nLm1heFo9ZH1yZXR1cm4gYn19LGlzT3BlbjpmdW5jdGlv bigpe3JldHVybiB0aGlzLl9pc09wZW59LG1vdmVUb1RvcDpmdW5jdGlvbihhLGIp e3ZhciBkPXRoaXMsZT1kLm9wdGlvbnM7aWYoZS5tb2RhbCYmIWF8fCFlLnN0YWNr JiYhZS5tb2RhbClyZXR1cm4gZC5fdHJpZ2dlcigiZm9jdXMiLGIpO2lmKGUueklu ZGV4PmMudWkuZGlhbG9nLm1heFopYy51aS5kaWFsb2cubWF4Wj1lLnpJbmRleDtp ZihkLm92ZXJsYXkpe2MudWkuZGlhbG9nLm1heForPTE7ZC5vdmVybGF5LiRlbC5j c3MoInotaW5kZXgiLGMudWkuZGlhbG9nLm92ZXJsYXkubWF4Wj1jLnVpLmRpYWxv Zy5tYXhaKX1hPXtzY3JvbGxUb3A6ZC5lbGVtZW50LmF0dHIoInNjcm9sbFRvcCIp LHNjcm9sbExlZnQ6ZC5lbGVtZW50LmF0dHIoInNjcm9sbExlZnQiKX07Yy51aS5k aWFsb2cubWF4Wis9MTtkLnVpRGlhbG9nLmNzcygiei1pbmRleCIsYy51aS5kaWFs b2cubWF4Wik7CmQuZWxlbWVudC5hdHRyKGEpO2QuX3RyaWdnZXIoImZvY3VzIixi KTtyZXR1cm4gZH0sb3BlbjpmdW5jdGlvbigpe2lmKCF0aGlzLl9pc09wZW4pe3Zh ciBhPXRoaXMsYj1hLm9wdGlvbnMsZD1hLnVpRGlhbG9nO2Eub3ZlcmxheT1iLm1v ZGFsP25ldyBjLnVpLmRpYWxvZy5vdmVybGF5KGEpOm51bGw7YS5fc2l6ZSgpO2Eu X3Bvc2l0aW9uKGIucG9zaXRpb24pO2Quc2hvdyhiLnNob3cpO2EubW92ZVRvVG9w KHRydWUpO2IubW9kYWwmJmQuYmluZCgia2V5cHJlc3MudWktZGlhbG9nIixmdW5j dGlvbihlKXtpZihlLmtleUNvZGU9PT1jLnVpLmtleUNvZGUuVEFCKXt2YXIgZz1j KCI6dGFiYmFibGUiLHRoaXMpLGY9Zy5maWx0ZXIoIjpmaXJzdCIpO2c9Zy5maWx0 ZXIoIjpsYXN0Iik7aWYoZS50YXJnZXQ9PT1nWzBdJiYhZS5zaGlmdEtleSl7Zi5m b2N1cygxKTtyZXR1cm4gZmFsc2V9ZWxzZSBpZihlLnRhcmdldD09PWZbMF0mJmUu c2hpZnRLZXkpe2cuZm9jdXMoMSk7cmV0dXJuIGZhbHNlfX19KTsKYyhhLmVsZW1l bnQuZmluZCgiOnRhYmJhYmxlIikuZ2V0KCkuY29uY2F0KGQuZmluZCgiLnVpLWRp YWxvZy1idXR0b25wYW5lIDp0YWJiYWJsZSIpLmdldCgpLmNvbmNhdChkLmdldCgp KSkpLmVxKDApLmZvY3VzKCk7YS5faXNPcGVuPXRydWU7YS5fdHJpZ2dlcigib3Bl biIpO3JldHVybiBhfX0sX2NyZWF0ZUJ1dHRvbnM6ZnVuY3Rpb24oYSl7dmFyIGI9 dGhpcyxkPWZhbHNlLGU9YygiPGRpdj48L2Rpdj4iKS5hZGRDbGFzcygidWktZGlh bG9nLWJ1dHRvbnBhbmUgdWktd2lkZ2V0LWNvbnRlbnQgdWktaGVscGVyLWNsZWFy Zml4IiksZz1jKCI8ZGl2PjwvZGl2PiIpLmFkZENsYXNzKCJ1aS1kaWFsb2ctYnV0 dG9uc2V0IikuYXBwZW5kVG8oZSk7Yi51aURpYWxvZy5maW5kKCIudWktZGlhbG9n LWJ1dHRvbnBhbmUiKS5yZW1vdmUoKTt0eXBlb2YgYT09PSJvYmplY3QiJiZhIT09 bnVsbCYmYy5lYWNoKGEsZnVuY3Rpb24oKXtyZXR1cm4hKGQ9dHJ1ZSl9KTtpZihk KXtjLmVhY2goYSxmdW5jdGlvbihmLApoKXtoPWMuaXNGdW5jdGlvbihoKT97Y2xp Y2s6aCx0ZXh0OmZ9Omg7Zj1jKCc8YnV0dG9uIHR5cGU9ImJ1dHRvbiI+PC9idXR0 b24+JykuYXR0cihoLHRydWUpLnVuYmluZCgiY2xpY2siKS5jbGljayhmdW5jdGlv bigpe2guY2xpY2suYXBwbHkoYi5lbGVtZW50WzBdLGFyZ3VtZW50cyl9KS5hcHBl bmRUbyhnKTtjLmZuLmJ1dHRvbiYmZi5idXR0b24oKX0pO2UuYXBwZW5kVG8oYi51 aURpYWxvZyl9fSxfbWFrZURyYWdnYWJsZTpmdW5jdGlvbigpe2Z1bmN0aW9uIGEo Zil7cmV0dXJue3Bvc2l0aW9uOmYucG9zaXRpb24sb2Zmc2V0OmYub2Zmc2V0fX12 YXIgYj10aGlzLGQ9Yi5vcHRpb25zLGU9Yyhkb2N1bWVudCksZztiLnVpRGlhbG9n LmRyYWdnYWJsZSh7Y2FuY2VsOiIudWktZGlhbG9nLWNvbnRlbnQsIC51aS1kaWFs b2ctdGl0bGViYXItY2xvc2UiLGhhbmRsZToiLnVpLWRpYWxvZy10aXRsZWJhciIs Y29udGFpbm1lbnQ6ImRvY3VtZW50IixzdGFydDpmdW5jdGlvbihmLGgpe2c9CmQu aGVpZ2h0PT09ImF1dG8iPyJhdXRvIjpjKHRoaXMpLmhlaWdodCgpO2ModGhpcyku aGVpZ2h0KGModGhpcykuaGVpZ2h0KCkpLmFkZENsYXNzKCJ1aS1kaWFsb2ctZHJh Z2dpbmciKTtiLl90cmlnZ2VyKCJkcmFnU3RhcnQiLGYsYShoKSl9LGRyYWc6ZnVu Y3Rpb24oZixoKXtiLl90cmlnZ2VyKCJkcmFnIixmLGEoaCkpfSxzdG9wOmZ1bmN0 aW9uKGYsaCl7ZC5wb3NpdGlvbj1baC5wb3NpdGlvbi5sZWZ0LWUuc2Nyb2xsTGVm dCgpLGgucG9zaXRpb24udG9wLWUuc2Nyb2xsVG9wKCldO2ModGhpcykucmVtb3Zl Q2xhc3MoInVpLWRpYWxvZy1kcmFnZ2luZyIpLmhlaWdodChnKTtiLl90cmlnZ2Vy KCJkcmFnU3RvcCIsZixhKGgpKTtjLnVpLmRpYWxvZy5vdmVybGF5LnJlc2l6ZSgp fX0pfSxfbWFrZVJlc2l6YWJsZTpmdW5jdGlvbihhKXtmdW5jdGlvbiBiKGYpe3Jl dHVybntvcmlnaW5hbFBvc2l0aW9uOmYub3JpZ2luYWxQb3NpdGlvbixvcmlnaW5h bFNpemU6Zi5vcmlnaW5hbFNpemUsCnBvc2l0aW9uOmYucG9zaXRpb24sc2l6ZTpm LnNpemV9fWE9YT09PWo/dGhpcy5vcHRpb25zLnJlc2l6YWJsZTphO3ZhciBkPXRo aXMsZT1kLm9wdGlvbnMsZz1kLnVpRGlhbG9nLmNzcygicG9zaXRpb24iKTthPXR5 cGVvZiBhPT09InN0cmluZyI/YToibixlLHMsdyxzZSxzdyxuZSxudyI7ZC51aURp YWxvZy5yZXNpemFibGUoe2NhbmNlbDoiLnVpLWRpYWxvZy1jb250ZW50Iixjb250 YWlubWVudDoiZG9jdW1lbnQiLGFsc29SZXNpemU6ZC5lbGVtZW50LG1heFdpZHRo OmUubWF4V2lkdGgsbWF4SGVpZ2h0OmUubWF4SGVpZ2h0LG1pbldpZHRoOmUubWlu V2lkdGgsbWluSGVpZ2h0OmQuX21pbkhlaWdodCgpLGhhbmRsZXM6YSxzdGFydDpm dW5jdGlvbihmLGgpe2ModGhpcykuYWRkQ2xhc3MoInVpLWRpYWxvZy1yZXNpemlu ZyIpO2QuX3RyaWdnZXIoInJlc2l6ZVN0YXJ0IixmLGIoaCkpfSxyZXNpemU6ZnVu Y3Rpb24oZixoKXtkLl90cmlnZ2VyKCJyZXNpemUiLGYsYihoKSl9LHN0b3A6ZnVu Y3Rpb24oZiwKaCl7Yyh0aGlzKS5yZW1vdmVDbGFzcygidWktZGlhbG9nLXJlc2l6 aW5nIik7ZS5oZWlnaHQ9Yyh0aGlzKS5oZWlnaHQoKTtlLndpZHRoPWModGhpcyku d2lkdGgoKTtkLl90cmlnZ2VyKCJyZXNpemVTdG9wIixmLGIoaCkpO2MudWkuZGlh bG9nLm92ZXJsYXkucmVzaXplKCl9fSkuY3NzKCJwb3NpdGlvbiIsZykuZmluZCgi LnVpLXJlc2l6YWJsZS1zZSIpLmFkZENsYXNzKCJ1aS1pY29uIHVpLWljb24tZ3Jp cC1kaWFnb25hbC1zZSIpfSxfbWluSGVpZ2h0OmZ1bmN0aW9uKCl7dmFyIGE9dGhp cy5vcHRpb25zO3JldHVybiBhLmhlaWdodD09PSJhdXRvIj9hLm1pbkhlaWdodDpN YXRoLm1pbihhLm1pbkhlaWdodCxhLmhlaWdodCl9LF9wb3NpdGlvbjpmdW5jdGlv bihhKXt2YXIgYj1bXSxkPVswLDBdLGU7aWYoYSl7aWYodHlwZW9mIGE9PT0ic3Ry aW5nInx8dHlwZW9mIGE9PT0ib2JqZWN0IiYmIjAiaW4gYSl7Yj1hLnNwbGl0P2Eu c3BsaXQoIiAiKTpbYVswXSxhWzFdXTtpZihiLmxlbmd0aD09PQoxKWJbMV09Ylsw XTtjLmVhY2goWyJsZWZ0IiwidG9wIl0sZnVuY3Rpb24oZyxmKXtpZigrYltnXT09 PWJbZ10pe2RbZ109YltnXTtiW2ddPWZ9fSk7YT17bXk6Yi5qb2luKCIgIiksYXQ6 Yi5qb2luKCIgIiksb2Zmc2V0OmQuam9pbigiICIpfX1hPWMuZXh0ZW5kKHt9LGMu dWkuZGlhbG9nLnByb3RvdHlwZS5vcHRpb25zLnBvc2l0aW9uLGEpfWVsc2UgYT1j LnVpLmRpYWxvZy5wcm90b3R5cGUub3B0aW9ucy5wb3NpdGlvbjsoZT10aGlzLnVp RGlhbG9nLmlzKCI6dmlzaWJsZSIpKXx8dGhpcy51aURpYWxvZy5zaG93KCk7dGhp cy51aURpYWxvZy5jc3Moe3RvcDowLGxlZnQ6MH0pLnBvc2l0aW9uKGMuZXh0ZW5k KHtvZjp3aW5kb3d9LGEpKTtlfHx0aGlzLnVpRGlhbG9nLmhpZGUoKX0sX3NldE9w dGlvbnM6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxkPXt9LGU9ZmFsc2U7Yy5lYWNo KGEsZnVuY3Rpb24oZyxmKXtiLl9zZXRPcHRpb24oZyxmKTtpZihnIGluIGspZT10 cnVlO2lmKGcgaW4KbClkW2ddPWZ9KTtlJiZ0aGlzLl9zaXplKCk7dGhpcy51aURp YWxvZy5pcygiOmRhdGEocmVzaXphYmxlKSIpJiZ0aGlzLnVpRGlhbG9nLnJlc2l6 YWJsZSgib3B0aW9uIixkKX0sX3NldE9wdGlvbjpmdW5jdGlvbihhLGIpe3ZhciBk PXRoaXMsZT1kLnVpRGlhbG9nO3N3aXRjaChhKXtjYXNlICJiZWZvcmVjbG9zZSI6 YT0iYmVmb3JlQ2xvc2UiO2JyZWFrO2Nhc2UgImJ1dHRvbnMiOmQuX2NyZWF0ZUJ1 dHRvbnMoYik7YnJlYWs7Y2FzZSAiY2xvc2VUZXh0IjpkLnVpRGlhbG9nVGl0bGVi YXJDbG9zZVRleHQudGV4dCgiIitiKTticmVhaztjYXNlICJkaWFsb2dDbGFzcyI6 ZS5yZW1vdmVDbGFzcyhkLm9wdGlvbnMuZGlhbG9nQ2xhc3MpLmFkZENsYXNzKCJ1 aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1h bGwgIitiKTticmVhaztjYXNlICJkaXNhYmxlZCI6Yj9lLmFkZENsYXNzKCJ1aS1k aWFsb2ctZGlzYWJsZWQiKTplLnJlbW92ZUNsYXNzKCJ1aS1kaWFsb2ctZGlzYWJs ZWQiKTsKYnJlYWs7Y2FzZSAiZHJhZ2dhYmxlIjp2YXIgZz1lLmlzKCI6ZGF0YShk cmFnZ2FibGUpIik7ZyYmIWImJmUuZHJhZ2dhYmxlKCJkZXN0cm95Iik7IWcmJmIm JmQuX21ha2VEcmFnZ2FibGUoKTticmVhaztjYXNlICJwb3NpdGlvbiI6ZC5fcG9z aXRpb24oYik7YnJlYWs7Y2FzZSAicmVzaXphYmxlIjooZz1lLmlzKCI6ZGF0YShy ZXNpemFibGUpIikpJiYhYiYmZS5yZXNpemFibGUoImRlc3Ryb3kiKTtnJiZ0eXBl b2YgYj09PSJzdHJpbmciJiZlLnJlc2l6YWJsZSgib3B0aW9uIiwiaGFuZGxlcyIs Yik7IWcmJmIhPT1mYWxzZSYmZC5fbWFrZVJlc2l6YWJsZShiKTticmVhaztjYXNl ICJ0aXRsZSI6YygiLnVpLWRpYWxvZy10aXRsZSIsZC51aURpYWxvZ1RpdGxlYmFy KS5odG1sKCIiKyhifHwiJiMxNjA7IikpO2JyZWFrfWMuV2lkZ2V0LnByb3RvdHlw ZS5fc2V0T3B0aW9uLmFwcGx5KGQsYXJndW1lbnRzKX0sX3NpemU6ZnVuY3Rpb24o KXt2YXIgYT10aGlzLm9wdGlvbnMsYixkLGU9CnRoaXMudWlEaWFsb2cuaXMoIjp2 aXNpYmxlIik7dGhpcy5lbGVtZW50LnNob3coKS5jc3Moe3dpZHRoOiJhdXRvIixt aW5IZWlnaHQ6MCxoZWlnaHQ6MH0pO2lmKGEubWluV2lkdGg+YS53aWR0aClhLndp ZHRoPWEubWluV2lkdGg7Yj10aGlzLnVpRGlhbG9nLmNzcyh7aGVpZ2h0OiJhdXRv Iix3aWR0aDphLndpZHRofSkuaGVpZ2h0KCk7ZD1NYXRoLm1heCgwLGEubWluSGVp Z2h0LWIpO2lmKGEuaGVpZ2h0PT09ImF1dG8iKWlmKGMuc3VwcG9ydC5taW5IZWln aHQpdGhpcy5lbGVtZW50LmNzcyh7bWluSGVpZ2h0OmQsaGVpZ2h0OiJhdXRvIn0p O2Vsc2V7dGhpcy51aURpYWxvZy5zaG93KCk7YT10aGlzLmVsZW1lbnQuY3NzKCJo ZWlnaHQiLCJhdXRvIikuaGVpZ2h0KCk7ZXx8dGhpcy51aURpYWxvZy5oaWRlKCk7 dGhpcy5lbGVtZW50LmhlaWdodChNYXRoLm1heChhLGQpKX1lbHNlIHRoaXMuZWxl bWVudC5oZWlnaHQoTWF0aC5tYXgoYS5oZWlnaHQtYiwwKSk7dGhpcy51aURpYWxv Zy5pcygiOmRhdGEocmVzaXphYmxlKSIpJiYKdGhpcy51aURpYWxvZy5yZXNpemFi bGUoIm9wdGlvbiIsIm1pbkhlaWdodCIsdGhpcy5fbWluSGVpZ2h0KCkpfX0pO2Mu ZXh0ZW5kKGMudWkuZGlhbG9nLHt2ZXJzaW9uOiIxLjguMTEiLHV1aWQ6MCxtYXha OjAsZ2V0VGl0bGVJZDpmdW5jdGlvbihhKXthPWEuYXR0cigiaWQiKTtpZighYSl7 dGhpcy51dWlkKz0xO2E9dGhpcy51dWlkfXJldHVybiJ1aS1kaWFsb2ctdGl0bGUt IithfSxvdmVybGF5OmZ1bmN0aW9uKGEpe3RoaXMuJGVsPWMudWkuZGlhbG9nLm92 ZXJsYXkuY3JlYXRlKGEpfX0pO2MuZXh0ZW5kKGMudWkuZGlhbG9nLm92ZXJsYXks e2luc3RhbmNlczpbXSxvbGRJbnN0YW5jZXM6W10sbWF4WjowLGV2ZW50czpjLm1h cCgiZm9jdXMsbW91c2Vkb3duLG1vdXNldXAsa2V5ZG93bixrZXlwcmVzcyxjbGlj ayIuc3BsaXQoIiwiKSxmdW5jdGlvbihhKXtyZXR1cm4gYSsiLmRpYWxvZy1vdmVy bGF5In0pLmpvaW4oIiAiKSxjcmVhdGU6ZnVuY3Rpb24oYSl7aWYodGhpcy5pbnN0 YW5jZXMubGVuZ3RoPT09CjApe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtjLnVpLmRp YWxvZy5vdmVybGF5Lmluc3RhbmNlcy5sZW5ndGgmJmMoZG9jdW1lbnQpLmJpbmQo Yy51aS5kaWFsb2cub3ZlcmxheS5ldmVudHMsZnVuY3Rpb24oZCl7aWYoYyhkLnRh cmdldCkuekluZGV4KCk8Yy51aS5kaWFsb2cub3ZlcmxheS5tYXhaKXJldHVybiBm YWxzZX0pfSwxKTtjKGRvY3VtZW50KS5iaW5kKCJrZXlkb3duLmRpYWxvZy1vdmVy bGF5IixmdW5jdGlvbihkKXtpZihhLm9wdGlvbnMuY2xvc2VPbkVzY2FwZSYmZC5r ZXlDb2RlJiZkLmtleUNvZGU9PT1jLnVpLmtleUNvZGUuRVNDQVBFKXthLmNsb3Nl KGQpO2QucHJldmVudERlZmF1bHQoKX19KTtjKHdpbmRvdykuYmluZCgicmVzaXpl LmRpYWxvZy1vdmVybGF5IixjLnVpLmRpYWxvZy5vdmVybGF5LnJlc2l6ZSl9dmFy IGI9KHRoaXMub2xkSW5zdGFuY2VzLnBvcCgpfHxjKCI8ZGl2PjwvZGl2PiIpLmFk ZENsYXNzKCJ1aS13aWRnZXQtb3ZlcmxheSIpKS5hcHBlbmRUbyhkb2N1bWVudC5i b2R5KS5jc3Moe3dpZHRoOnRoaXMud2lkdGgoKSwKaGVpZ2h0OnRoaXMuaGVpZ2h0 KCl9KTtjLmZuLmJnaWZyYW1lJiZiLmJnaWZyYW1lKCk7dGhpcy5pbnN0YW5jZXMu cHVzaChiKTtyZXR1cm4gYn0sZGVzdHJveTpmdW5jdGlvbihhKXt2YXIgYj1jLmlu QXJyYXkoYSx0aGlzLmluc3RhbmNlcyk7YiE9LTEmJnRoaXMub2xkSW5zdGFuY2Vz LnB1c2godGhpcy5pbnN0YW5jZXMuc3BsaWNlKGIsMSlbMF0pO3RoaXMuaW5zdGFu Y2VzLmxlbmd0aD09PTAmJmMoW2RvY3VtZW50LHdpbmRvd10pLnVuYmluZCgiLmRp YWxvZy1vdmVybGF5Iik7YS5yZW1vdmUoKTt2YXIgZD0wO2MuZWFjaCh0aGlzLmlu c3RhbmNlcyxmdW5jdGlvbigpe2Q9TWF0aC5tYXgoZCx0aGlzLmNzcygiei1pbmRl eCIpKX0pO3RoaXMubWF4Wj1kfSxoZWlnaHQ6ZnVuY3Rpb24oKXt2YXIgYSxiO2lm KGMuYnJvd3Nlci5tc2llJiZjLmJyb3dzZXIudmVyc2lvbjw3KXthPU1hdGgubWF4 KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQsZG9jdW1lbnQu Ym9keS5zY3JvbGxIZWlnaHQpOwpiPU1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50 RWxlbWVudC5vZmZzZXRIZWlnaHQsZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQp O3JldHVybiBhPGI/Yyh3aW5kb3cpLmhlaWdodCgpKyJweCI6YSsicHgifWVsc2Ug cmV0dXJuIGMoZG9jdW1lbnQpLmhlaWdodCgpKyJweCJ9LHdpZHRoOmZ1bmN0aW9u KCl7dmFyIGEsYjtpZihjLmJyb3dzZXIubXNpZSYmYy5icm93c2VyLnZlcnNpb248 Nyl7YT1NYXRoLm1heChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsV2lk dGgsZG9jdW1lbnQuYm9keS5zY3JvbGxXaWR0aCk7Yj1NYXRoLm1heChkb2N1bWVu dC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0V2lkdGgsZG9jdW1lbnQuYm9keS5vZmZz ZXRXaWR0aCk7cmV0dXJuIGE8Yj9jKHdpbmRvdykud2lkdGgoKSsicHgiOmErInB4 In1lbHNlIHJldHVybiBjKGRvY3VtZW50KS53aWR0aCgpKyJweCJ9LHJlc2l6ZTpm dW5jdGlvbigpe3ZhciBhPWMoW10pO2MuZWFjaChjLnVpLmRpYWxvZy5vdmVybGF5 Lmluc3RhbmNlcywKZnVuY3Rpb24oKXthPWEuYWRkKHRoaXMpfSk7YS5jc3Moe3dp ZHRoOjAsaGVpZ2h0OjB9KS5jc3Moe3dpZHRoOmMudWkuZGlhbG9nLm92ZXJsYXku d2lkdGgoKSxoZWlnaHQ6Yy51aS5kaWFsb2cub3ZlcmxheS5oZWlnaHQoKX0pfX0p O2MuZXh0ZW5kKGMudWkuZGlhbG9nLm92ZXJsYXkucHJvdG90eXBlLHtkZXN0cm95 OmZ1bmN0aW9uKCl7Yy51aS5kaWFsb2cub3ZlcmxheS5kZXN0cm95KHRoaXMuJGVs KX19KX0pKGpRdWVyeSk7CjsKCihmdW5jdGlvbihiLGQpe2Iud2lkZ2V0KCJ1aS5w cm9ncmVzc2JhciIse29wdGlvbnM6e3ZhbHVlOjAsbWF4OjEwMH0sbWluOjAsX2Ny ZWF0ZTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktcHJvZ3Jl c3NiYXIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwi KS5hdHRyKHtyb2xlOiJwcm9ncmVzc2JhciIsImFyaWEtdmFsdWVtaW4iOnRoaXMu bWluLCJhcmlhLXZhbHVlbWF4Ijp0aGlzLm9wdGlvbnMubWF4LCJhcmlhLXZhbHVl bm93Ijp0aGlzLl92YWx1ZSgpfSk7dGhpcy52YWx1ZURpdj1iKCI8ZGl2IGNsYXNz PSd1aS1wcm9ncmVzc2Jhci12YWx1ZSB1aS13aWRnZXQtaGVhZGVyIHVpLWNvcm5l ci1sZWZ0Jz48L2Rpdj4iKS5hcHBlbmRUbyh0aGlzLmVsZW1lbnQpO3RoaXMub2xk VmFsdWU9dGhpcy5fdmFsdWUoKTt0aGlzLl9yZWZyZXNoVmFsdWUoKX0sZGVzdHJv eTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktcHJvZ3Jl c3NiYXIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwi KS5yZW1vdmVBdHRyKCJyb2xlIikucmVtb3ZlQXR0cigiYXJpYS12YWx1ZW1pbiIp LnJlbW92ZUF0dHIoImFyaWEtdmFsdWVtYXgiKS5yZW1vdmVBdHRyKCJhcmlhLXZh bHVlbm93Iik7CnRoaXMudmFsdWVEaXYucmVtb3ZlKCk7Yi5XaWRnZXQucHJvdG90 eXBlLmRlc3Ryb3kuYXBwbHkodGhpcyxhcmd1bWVudHMpfSx2YWx1ZTpmdW5jdGlv bihhKXtpZihhPT09ZClyZXR1cm4gdGhpcy5fdmFsdWUoKTt0aGlzLl9zZXRPcHRp b24oInZhbHVlIixhKTtyZXR1cm4gdGhpc30sX3NldE9wdGlvbjpmdW5jdGlvbihh LGMpe2lmKGE9PT0idmFsdWUiKXt0aGlzLm9wdGlvbnMudmFsdWU9Yzt0aGlzLl9y ZWZyZXNoVmFsdWUoKTt0aGlzLl92YWx1ZSgpPT09dGhpcy5vcHRpb25zLm1heCYm dGhpcy5fdHJpZ2dlcigiY29tcGxldGUiKX1iLldpZGdldC5wcm90b3R5cGUuX3Nl dE9wdGlvbi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LF92YWx1ZTpmdW5jdGlvbigp e3ZhciBhPXRoaXMub3B0aW9ucy52YWx1ZTtpZih0eXBlb2YgYSE9PSJudW1iZXIi KWE9MDtyZXR1cm4gTWF0aC5taW4odGhpcy5vcHRpb25zLm1heCxNYXRoLm1heCh0 aGlzLm1pbixhKSl9LF9wZXJjZW50YWdlOmZ1bmN0aW9uKCl7cmV0dXJuIDEwMCoK dGhpcy5fdmFsdWUoKS90aGlzLm9wdGlvbnMubWF4fSxfcmVmcmVzaFZhbHVlOmZ1 bmN0aW9uKCl7dmFyIGE9dGhpcy52YWx1ZSgpLGM9dGhpcy5fcGVyY2VudGFnZSgp O2lmKHRoaXMub2xkVmFsdWUhPT1hKXt0aGlzLm9sZFZhbHVlPWE7dGhpcy5fdHJp Z2dlcigiY2hhbmdlIil9dGhpcy52YWx1ZURpdi50b2dnbGVDbGFzcygidWktY29y bmVyLXJpZ2h0IixhPT09dGhpcy5vcHRpb25zLm1heCkud2lkdGgoYy50b0ZpeGVk KDApKyIlIik7dGhpcy5lbGVtZW50LmF0dHIoImFyaWEtdmFsdWVub3ciLGEpfX0p O2IuZXh0ZW5kKGIudWkucHJvZ3Jlc3NiYXIse3ZlcnNpb246IjEuOC4xMSJ9KX0p KGpRdWVyeSk7CjsKCmpRdWVyeS5lZmZlY3RzfHxmdW5jdGlvbihmLGope2Z1bmN0 aW9uIG4oYyl7dmFyIGE7aWYoYyYmYy5jb25zdHJ1Y3Rvcj09QXJyYXkmJmMubGVu Z3RoPT0zKXJldHVybiBjO2lmKGE9L3JnYlwoXHMqKFswLTldezEsM30pXHMqLFxz KihbMC05XXsxLDN9KVxzKixccyooWzAtOV17MSwzfSlccypcKS8uZXhlYyhjKSly ZXR1cm5bcGFyc2VJbnQoYVsxXSwxMCkscGFyc2VJbnQoYVsyXSwxMCkscGFyc2VJ bnQoYVszXSwxMCldO2lmKGE9L3JnYlwoXHMqKFswLTldKyg/OlwuWzAtOV0rKT8p XCVccyosXHMqKFswLTldKyg/OlwuWzAtOV0rKT8pXCVccyosXHMqKFswLTldKyg/ OlwuWzAtOV0rKT8pXCVccypcKS8uZXhlYyhjKSlyZXR1cm5bcGFyc2VGbG9hdChh WzFdKSoyLjU1LHBhcnNlRmxvYXQoYVsyXSkqMi41NSxwYXJzZUZsb2F0KGFbM10p KjIuNTVdO2lmKGE9LyMoW2EtZkEtRjAtOV17Mn0pKFthLWZBLUYwLTldezJ9KShb YS1mQS1GMC05XXsyfSkvLmV4ZWMoYykpcmV0dXJuW3BhcnNlSW50KGFbMV0sCjE2 KSxwYXJzZUludChhWzJdLDE2KSxwYXJzZUludChhWzNdLDE2KV07aWYoYT0vIyhb YS1mQS1GMC05XSkoW2EtZkEtRjAtOV0pKFthLWZBLUYwLTldKS8uZXhlYyhjKSly ZXR1cm5bcGFyc2VJbnQoYVsxXSthWzFdLDE2KSxwYXJzZUludChhWzJdK2FbMl0s MTYpLHBhcnNlSW50KGFbM10rYVszXSwxNildO2lmKC9yZ2JhXCgwLCAwLCAwLCAw XCkvLmV4ZWMoYykpcmV0dXJuIG8udHJhbnNwYXJlbnQ7cmV0dXJuIG9bZi50cmlt KGMpLnRvTG93ZXJDYXNlKCldfWZ1bmN0aW9uIHMoYyxhKXt2YXIgYjtkb3tiPWYu Y3VyQ1NTKGMsYSk7aWYoYiE9IiImJmIhPSJ0cmFuc3BhcmVudCJ8fGYubm9kZU5h bWUoYywiYm9keSIpKWJyZWFrO2E9ImJhY2tncm91bmRDb2xvciJ9d2hpbGUoYz1j LnBhcmVudE5vZGUpO3JldHVybiBuKGIpfWZ1bmN0aW9uIHAoKXt2YXIgYz1kb2N1 bWVudC5kZWZhdWx0Vmlldz9kb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRl ZFN0eWxlKHRoaXMsbnVsbCk6dGhpcy5jdXJyZW50U3R5bGUsCmE9e30sYixkO2lm KGMmJmMubGVuZ3RoJiZjWzBdJiZjW2NbMF1dKWZvcih2YXIgZT1jLmxlbmd0aDtl LS07KXtiPWNbZV07aWYodHlwZW9mIGNbYl09PSJzdHJpbmciKXtkPWIucmVwbGFj ZSgvXC0oXHcpL2csZnVuY3Rpb24oZyxoKXtyZXR1cm4gaC50b1VwcGVyQ2FzZSgp fSk7YVtkXT1jW2JdfX1lbHNlIGZvcihiIGluIGMpaWYodHlwZW9mIGNbYl09PT0i c3RyaW5nIilhW2JdPWNbYl07cmV0dXJuIGF9ZnVuY3Rpb24gcShjKXt2YXIgYSxi O2ZvcihhIGluIGMpe2I9Y1thXTtpZihiPT1udWxsfHxmLmlzRnVuY3Rpb24oYil8 fGEgaW4gdHx8L3Njcm9sbGJhci8udGVzdChhKXx8IS9jb2xvci9pLnRlc3QoYSkm JmlzTmFOKHBhcnNlRmxvYXQoYikpKWRlbGV0ZSBjW2FdfXJldHVybiBjfWZ1bmN0 aW9uIHUoYyxhKXt2YXIgYj17XzowfSxkO2ZvcihkIGluIGEpaWYoY1tkXSE9YVtk XSliW2RdPWFbZF07cmV0dXJuIGJ9ZnVuY3Rpb24gayhjLGEsYixkKXtpZih0eXBl b2YgYz09Im9iamVjdCIpe2Q9CmE7Yj1udWxsO2E9YztjPWEuZWZmZWN0fWlmKGYu aXNGdW5jdGlvbihhKSl7ZD1hO2I9bnVsbDthPXt9fWlmKHR5cGVvZiBhPT0ibnVt YmVyInx8Zi5meC5zcGVlZHNbYV0pe2Q9YjtiPWE7YT17fX1pZihmLmlzRnVuY3Rp b24oYikpe2Q9YjtiPW51bGx9YT1hfHx7fTtiPWJ8fGEuZHVyYXRpb247Yj1mLmZ4 Lm9mZj8wOnR5cGVvZiBiPT0ibnVtYmVyIj9iOmIgaW4gZi5meC5zcGVlZHM/Zi5m eC5zcGVlZHNbYl06Zi5meC5zcGVlZHMuX2RlZmF1bHQ7ZD1kfHxhLmNvbXBsZXRl O3JldHVybltjLGEsYixkXX1mdW5jdGlvbiBtKGMpe2lmKCFjfHx0eXBlb2YgYz09 PSJudW1iZXIifHxmLmZ4LnNwZWVkc1tjXSlyZXR1cm4gdHJ1ZTtpZih0eXBlb2Yg Yz09PSJzdHJpbmciJiYhZi5lZmZlY3RzW2NdKXJldHVybiB0cnVlO3JldHVybiBm YWxzZX1mLmVmZmVjdHM9e307Zi5lYWNoKFsiYmFja2dyb3VuZENvbG9yIiwiYm9y ZGVyQm90dG9tQ29sb3IiLCJib3JkZXJMZWZ0Q29sb3IiLCJib3JkZXJSaWdodENv bG9yIiwKImJvcmRlclRvcENvbG9yIiwiYm9yZGVyQ29sb3IiLCJjb2xvciIsIm91 dGxpbmVDb2xvciJdLGZ1bmN0aW9uKGMsYSl7Zi5meC5zdGVwW2FdPWZ1bmN0aW9u KGIpe2lmKCFiLmNvbG9ySW5pdCl7Yi5zdGFydD1zKGIuZWxlbSxhKTtiLmVuZD1u KGIuZW5kKTtiLmNvbG9ySW5pdD10cnVlfWIuZWxlbS5zdHlsZVthXT0icmdiKCIr TWF0aC5tYXgoTWF0aC5taW4ocGFyc2VJbnQoYi5wb3MqKGIuZW5kWzBdLWIuc3Rh cnRbMF0pK2Iuc3RhcnRbMF0sMTApLDI1NSksMCkrIiwiK01hdGgubWF4KE1hdGgu bWluKHBhcnNlSW50KGIucG9zKihiLmVuZFsxXS1iLnN0YXJ0WzFdKStiLnN0YXJ0 WzFdLDEwKSwyNTUpLDApKyIsIitNYXRoLm1heChNYXRoLm1pbihwYXJzZUludChi LnBvcyooYi5lbmRbMl0tYi5zdGFydFsyXSkrYi5zdGFydFsyXSwxMCksMjU1KSww KSsiKSJ9fSk7dmFyIG89e2FxdWE6WzAsMjU1LDI1NV0sYXp1cmU6WzI0MCwyNTUs MjU1XSxiZWlnZTpbMjQ1LDI0NSwyMjBdLGJsYWNrOlswLAowLDBdLGJsdWU6WzAs MCwyNTVdLGJyb3duOlsxNjUsNDIsNDJdLGN5YW46WzAsMjU1LDI1NV0sZGFya2Js dWU6WzAsMCwxMzldLGRhcmtjeWFuOlswLDEzOSwxMzldLGRhcmtncmV5OlsxNjks MTY5LDE2OV0sZGFya2dyZWVuOlswLDEwMCwwXSxkYXJra2hha2k6WzE4OSwxODMs MTA3XSxkYXJrbWFnZW50YTpbMTM5LDAsMTM5XSxkYXJrb2xpdmVncmVlbjpbODUs MTA3LDQ3XSxkYXJrb3JhbmdlOlsyNTUsMTQwLDBdLGRhcmtvcmNoaWQ6WzE1Myw1 MCwyMDRdLGRhcmtyZWQ6WzEzOSwwLDBdLGRhcmtzYWxtb246WzIzMywxNTAsMTIy XSxkYXJrdmlvbGV0OlsxNDgsMCwyMTFdLGZ1Y2hzaWE6WzI1NSwwLDI1NV0sZ29s ZDpbMjU1LDIxNSwwXSxncmVlbjpbMCwxMjgsMF0saW5kaWdvOls3NSwwLDEzMF0s a2hha2k6WzI0MCwyMzAsMTQwXSxsaWdodGJsdWU6WzE3MywyMTYsMjMwXSxsaWdo dGN5YW46WzIyNCwyNTUsMjU1XSxsaWdodGdyZWVuOlsxNDQsMjM4LDE0NF0sbGln aHRncmV5OlsyMTEsCjIxMSwyMTFdLGxpZ2h0cGluazpbMjU1LDE4MiwxOTNdLGxp Z2h0eWVsbG93OlsyNTUsMjU1LDIyNF0sbGltZTpbMCwyNTUsMF0sbWFnZW50YTpb MjU1LDAsMjU1XSxtYXJvb246WzEyOCwwLDBdLG5hdnk6WzAsMCwxMjhdLG9saXZl OlsxMjgsMTI4LDBdLG9yYW5nZTpbMjU1LDE2NSwwXSxwaW5rOlsyNTUsMTkyLDIw M10scHVycGxlOlsxMjgsMCwxMjhdLHZpb2xldDpbMTI4LDAsMTI4XSxyZWQ6WzI1 NSwwLDBdLHNpbHZlcjpbMTkyLDE5MiwxOTJdLHdoaXRlOlsyNTUsMjU1LDI1NV0s eWVsbG93OlsyNTUsMjU1LDBdLHRyYW5zcGFyZW50OlsyNTUsMjU1LDI1NV19LHI9 WyJhZGQiLCJyZW1vdmUiLCJ0b2dnbGUiXSx0PXtib3JkZXI6MSxib3JkZXJCb3R0 b206MSxib3JkZXJDb2xvcjoxLGJvcmRlckxlZnQ6MSxib3JkZXJSaWdodDoxLGJv cmRlclRvcDoxLGJvcmRlcldpZHRoOjEsbWFyZ2luOjEscGFkZGluZzoxfTtmLmVm ZmVjdHMuYW5pbWF0ZUNsYXNzPWZ1bmN0aW9uKGMsYSxiLApkKXtpZihmLmlzRnVu Y3Rpb24oYikpe2Q9YjtiPW51bGx9cmV0dXJuIHRoaXMucXVldWUoImZ4IixmdW5j dGlvbigpe3ZhciBlPWYodGhpcyksZz1lLmF0dHIoInN0eWxlIil8fCIgIixoPXEo cC5jYWxsKHRoaXMpKSxsLHY9ZS5hdHRyKCJjbGFzc05hbWUiKTtmLmVhY2gocixm dW5jdGlvbih3LGkpe2NbaV0mJmVbaSsiQ2xhc3MiXShjW2ldKX0pO2w9cShwLmNh bGwodGhpcykpO2UuYXR0cigiY2xhc3NOYW1lIix2KTtlLmFuaW1hdGUodShoLGwp LGEsYixmdW5jdGlvbigpe2YuZWFjaChyLGZ1bmN0aW9uKHcsaSl7Y1tpXSYmZVtp KyJDbGFzcyJdKGNbaV0pfSk7aWYodHlwZW9mIGUuYXR0cigic3R5bGUiKT09Im9i amVjdCIpe2UuYXR0cigic3R5bGUiKS5jc3NUZXh0PSIiO2UuYXR0cigic3R5bGUi KS5jc3NUZXh0PWd9ZWxzZSBlLmF0dHIoInN0eWxlIixnKTtkJiZkLmFwcGx5KHRo aXMsYXJndW1lbnRzKX0pO2g9Zi5xdWV1ZSh0aGlzKTtsPWguc3BsaWNlKGgubGVu Z3RoLTEsMSlbMF07Cmguc3BsaWNlKDEsMCxsKTtmLmRlcXVldWUodGhpcyl9KX07 Zi5mbi5leHRlbmQoe19hZGRDbGFzczpmLmZuLmFkZENsYXNzLGFkZENsYXNzOmZ1 bmN0aW9uKGMsYSxiLGQpe3JldHVybiBhP2YuZWZmZWN0cy5hbmltYXRlQ2xhc3Mu YXBwbHkodGhpcyxbe2FkZDpjfSxhLGIsZF0pOnRoaXMuX2FkZENsYXNzKGMpfSxf cmVtb3ZlQ2xhc3M6Zi5mbi5yZW1vdmVDbGFzcyxyZW1vdmVDbGFzczpmdW5jdGlv bihjLGEsYixkKXtyZXR1cm4gYT9mLmVmZmVjdHMuYW5pbWF0ZUNsYXNzLmFwcGx5 KHRoaXMsW3tyZW1vdmU6Y30sYSxiLGRdKTp0aGlzLl9yZW1vdmVDbGFzcyhjKX0s X3RvZ2dsZUNsYXNzOmYuZm4udG9nZ2xlQ2xhc3MsdG9nZ2xlQ2xhc3M6ZnVuY3Rp b24oYyxhLGIsZCxlKXtyZXR1cm4gdHlwZW9mIGE9PSJib29sZWFuInx8YT09PWo/ Yj9mLmVmZmVjdHMuYW5pbWF0ZUNsYXNzLmFwcGx5KHRoaXMsW2E/e2FkZDpjfTp7 cmVtb3ZlOmN9LGIsZCxlXSk6dGhpcy5fdG9nZ2xlQ2xhc3MoYywKYSk6Zi5lZmZl Y3RzLmFuaW1hdGVDbGFzcy5hcHBseSh0aGlzLFt7dG9nZ2xlOmN9LGEsYixkXSl9 LHN3aXRjaENsYXNzOmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuIGYuZWZmZWN0 cy5hbmltYXRlQ2xhc3MuYXBwbHkodGhpcyxbe2FkZDphLHJlbW92ZTpjfSxiLGQs ZV0pfX0pO2YuZXh0ZW5kKGYuZWZmZWN0cyx7dmVyc2lvbjoiMS44LjExIixzYXZl OmZ1bmN0aW9uKGMsYSl7Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDtiKyspYVtiXSE9 PW51bGwmJmMuZGF0YSgiZWMuc3RvcmFnZS4iK2FbYl0sY1swXS5zdHlsZVthW2Jd XSl9LHJlc3RvcmU6ZnVuY3Rpb24oYyxhKXtmb3IodmFyIGI9MDtiPGEubGVuZ3Ro O2IrKylhW2JdIT09bnVsbCYmYy5jc3MoYVtiXSxjLmRhdGEoImVjLnN0b3JhZ2Uu IithW2JdKSl9LHNldE1vZGU6ZnVuY3Rpb24oYyxhKXtpZihhPT0idG9nZ2xlIilh PWMuaXMoIjpoaWRkZW4iKT8ic2hvdyI6ImhpZGUiO3JldHVybiBhfSxnZXRCYXNl bGluZTpmdW5jdGlvbihjLAphKXt2YXIgYjtzd2l0Y2goY1swXSl7Y2FzZSAidG9w IjpiPTA7YnJlYWs7Y2FzZSAibWlkZGxlIjpiPTAuNTticmVhaztjYXNlICJib3R0 b20iOmI9MTticmVhaztkZWZhdWx0OmI9Y1swXS9hLmhlaWdodH1zd2l0Y2goY1sx XSl7Y2FzZSAibGVmdCI6Yz0wO2JyZWFrO2Nhc2UgImNlbnRlciI6Yz0wLjU7YnJl YWs7Y2FzZSAicmlnaHQiOmM9MTticmVhaztkZWZhdWx0OmM9Y1sxXS9hLndpZHRo fXJldHVybnt4OmMseTpifX0sY3JlYXRlV3JhcHBlcjpmdW5jdGlvbihjKXtpZihj LnBhcmVudCgpLmlzKCIudWktZWZmZWN0cy13cmFwcGVyIikpcmV0dXJuIGMucGFy ZW50KCk7dmFyIGE9e3dpZHRoOmMub3V0ZXJXaWR0aCh0cnVlKSxoZWlnaHQ6Yy5v dXRlckhlaWdodCh0cnVlKSwiZmxvYXQiOmMuY3NzKCJmbG9hdCIpfSxiPWYoIjxk aXY+PC9kaXY+IikuYWRkQ2xhc3MoInVpLWVmZmVjdHMtd3JhcHBlciIpLmNzcyh7 Zm9udFNpemU6IjEwMCUiLGJhY2tncm91bmQ6InRyYW5zcGFyZW50IiwKYm9yZGVy OiJub25lIixtYXJnaW46MCxwYWRkaW5nOjB9KTtjLndyYXAoYik7Yj1jLnBhcmVu dCgpO2lmKGMuY3NzKCJwb3NpdGlvbiIpPT0ic3RhdGljIil7Yi5jc3Moe3Bvc2l0 aW9uOiJyZWxhdGl2ZSJ9KTtjLmNzcyh7cG9zaXRpb246InJlbGF0aXZlIn0pfWVs c2V7Zi5leHRlbmQoYSx7cG9zaXRpb246Yy5jc3MoInBvc2l0aW9uIiksekluZGV4 OmMuY3NzKCJ6LWluZGV4Iil9KTtmLmVhY2goWyJ0b3AiLCJsZWZ0IiwiYm90dG9t IiwicmlnaHQiXSxmdW5jdGlvbihkLGUpe2FbZV09Yy5jc3MoZSk7aWYoaXNOYU4o cGFyc2VJbnQoYVtlXSwxMCkpKWFbZV09ImF1dG8ifSk7Yy5jc3Moe3Bvc2l0aW9u OiJyZWxhdGl2ZSIsdG9wOjAsbGVmdDowLHJpZ2h0OiJhdXRvIixib3R0b206ImF1 dG8ifSl9cmV0dXJuIGIuY3NzKGEpLnNob3coKX0scmVtb3ZlV3JhcHBlcjpmdW5j dGlvbihjKXtpZihjLnBhcmVudCgpLmlzKCIudWktZWZmZWN0cy13cmFwcGVyIikp cmV0dXJuIGMucGFyZW50KCkucmVwbGFjZVdpdGgoYyk7CnJldHVybiBjfSxzZXRU cmFuc2l0aW9uOmZ1bmN0aW9uKGMsYSxiLGQpe2Q9ZHx8e307Zi5lYWNoKGEsZnVu Y3Rpb24oZSxnKXt1bml0PWMuY3NzVW5pdChnKTtpZih1bml0WzBdPjApZFtnXT11 bml0WzBdKmIrdW5pdFsxXX0pO3JldHVybiBkfX0pO2YuZm4uZXh0ZW5kKHtlZmZl Y3Q6ZnVuY3Rpb24oYyl7dmFyIGE9ay5hcHBseSh0aGlzLGFyZ3VtZW50cyksYj17 b3B0aW9uczphWzFdLGR1cmF0aW9uOmFbMl0sY2FsbGJhY2s6YVszXX07YT1iLm9w dGlvbnMubW9kZTt2YXIgZD1mLmVmZmVjdHNbY107aWYoZi5meC5vZmZ8fCFkKXJl dHVybiBhP3RoaXNbYV0oYi5kdXJhdGlvbixiLmNhbGxiYWNrKTp0aGlzLmVhY2go ZnVuY3Rpb24oKXtiLmNhbGxiYWNrJiZiLmNhbGxiYWNrLmNhbGwodGhpcyl9KTty ZXR1cm4gZC5jYWxsKHRoaXMsYil9LF9zaG93OmYuZm4uc2hvdyxzaG93OmZ1bmN0 aW9uKGMpe2lmKG0oYykpcmV0dXJuIHRoaXMuX3Nob3cuYXBwbHkodGhpcyxhcmd1 bWVudHMpOwplbHNle3ZhciBhPWsuYXBwbHkodGhpcyxhcmd1bWVudHMpO2FbMV0u bW9kZT0ic2hvdyI7cmV0dXJuIHRoaXMuZWZmZWN0LmFwcGx5KHRoaXMsYSl9fSxf aGlkZTpmLmZuLmhpZGUsaGlkZTpmdW5jdGlvbihjKXtpZihtKGMpKXJldHVybiB0 aGlzLl9oaWRlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtlbHNle3ZhciBhPWsuYXBw bHkodGhpcyxhcmd1bWVudHMpO2FbMV0ubW9kZT0iaGlkZSI7cmV0dXJuIHRoaXMu ZWZmZWN0LmFwcGx5KHRoaXMsYSl9fSxfX3RvZ2dsZTpmLmZuLnRvZ2dsZSx0b2dn bGU6ZnVuY3Rpb24oYyl7aWYobShjKXx8dHlwZW9mIGM9PT0iYm9vbGVhbiJ8fGYu aXNGdW5jdGlvbihjKSlyZXR1cm4gdGhpcy5fX3RvZ2dsZS5hcHBseSh0aGlzLGFy Z3VtZW50cyk7ZWxzZXt2YXIgYT1rLmFwcGx5KHRoaXMsYXJndW1lbnRzKTthWzFd Lm1vZGU9InRvZ2dsZSI7cmV0dXJuIHRoaXMuZWZmZWN0LmFwcGx5KHRoaXMsYSl9 fSxjc3NVbml0OmZ1bmN0aW9uKGMpe3ZhciBhPXRoaXMuY3NzKGMpLApiPVtdO2Yu ZWFjaChbImVtIiwicHgiLCIlIiwicHQiXSxmdW5jdGlvbihkLGUpe2lmKGEuaW5k ZXhPZihlKT4wKWI9W3BhcnNlRmxvYXQoYSksZV19KTtyZXR1cm4gYn19KTtmLmVh c2luZy5qc3dpbmc9Zi5lYXNpbmcuc3dpbmc7Zi5leHRlbmQoZi5lYXNpbmcse2Rl ZjoiZWFzZU91dFF1YWQiLHN3aW5nOmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJu IGYuZWFzaW5nW2YuZWFzaW5nLmRlZl0oYyxhLGIsZCxlKX0sZWFzZUluUXVhZDpm dW5jdGlvbihjLGEsYixkLGUpe3JldHVybiBkKihhLz1lKSphK2J9LGVhc2VPdXRR dWFkOmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuLWQqKGEvPWUpKihhLTIpK2J9 LGVhc2VJbk91dFF1YWQ6ZnVuY3Rpb24oYyxhLGIsZCxlKXtpZigoYS89ZS8yKTwx KXJldHVybiBkLzIqYSphK2I7cmV0dXJuLWQvMiooLS1hKihhLTIpLTEpK2J9LGVh c2VJbkN1YmljOmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuIGQqKGEvPWUpKmEq YStifSxlYXNlT3V0Q3ViaWM6ZnVuY3Rpb24oYywKYSxiLGQsZSl7cmV0dXJuIGQq KChhPWEvZS0xKSphKmErMSkrYn0sZWFzZUluT3V0Q3ViaWM6ZnVuY3Rpb24oYyxh LGIsZCxlKXtpZigoYS89ZS8yKTwxKXJldHVybiBkLzIqYSphKmErYjtyZXR1cm4g ZC8yKigoYS09MikqYSphKzIpK2J9LGVhc2VJblF1YXJ0OmZ1bmN0aW9uKGMsYSxi LGQsZSl7cmV0dXJuIGQqKGEvPWUpKmEqYSphK2J9LGVhc2VPdXRRdWFydDpmdW5j dGlvbihjLGEsYixkLGUpe3JldHVybi1kKigoYT1hL2UtMSkqYSphKmEtMSkrYn0s ZWFzZUluT3V0UXVhcnQ6ZnVuY3Rpb24oYyxhLGIsZCxlKXtpZigoYS89ZS8yKTwx KXJldHVybiBkLzIqYSphKmEqYStiO3JldHVybi1kLzIqKChhLT0yKSphKmEqYS0y KStifSxlYXNlSW5RdWludDpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVybiBkKihh Lz1lKSphKmEqYSphK2J9LGVhc2VPdXRRdWludDpmdW5jdGlvbihjLGEsYixkLGUp e3JldHVybiBkKigoYT1hL2UtMSkqYSphKmEqYSsxKStifSxlYXNlSW5PdXRRdWlu dDpmdW5jdGlvbihjLAphLGIsZCxlKXtpZigoYS89ZS8yKTwxKXJldHVybiBkLzIq YSphKmEqYSphK2I7cmV0dXJuIGQvMiooKGEtPTIpKmEqYSphKmErMikrYn0sZWFz ZUluU2luZTpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVybi1kKk1hdGguY29zKGEv ZSooTWF0aC5QSS8yKSkrZCtifSxlYXNlT3V0U2luZTpmdW5jdGlvbihjLGEsYixk LGUpe3JldHVybiBkKk1hdGguc2luKGEvZSooTWF0aC5QSS8yKSkrYn0sZWFzZUlu T3V0U2luZTpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVybi1kLzIqKE1hdGguY29z KE1hdGguUEkqYS9lKS0xKStifSxlYXNlSW5FeHBvOmZ1bmN0aW9uKGMsYSxiLGQs ZSl7cmV0dXJuIGE9PTA/YjpkKk1hdGgucG93KDIsMTAqKGEvZS0xKSkrYn0sZWFz ZU91dEV4cG86ZnVuY3Rpb24oYyxhLGIsZCxlKXtyZXR1cm4gYT09ZT9iK2Q6ZCoo LU1hdGgucG93KDIsLTEwKmEvZSkrMSkrYn0sZWFzZUluT3V0RXhwbzpmdW5jdGlv bihjLGEsYixkLGUpe2lmKGE9PTApcmV0dXJuIGI7aWYoYT09CmUpcmV0dXJuIGIr ZDtpZigoYS89ZS8yKTwxKXJldHVybiBkLzIqTWF0aC5wb3coMiwxMCooYS0xKSkr YjtyZXR1cm4gZC8yKigtTWF0aC5wb3coMiwtMTAqLS1hKSsyKStifSxlYXNlSW5D aXJjOmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuLWQqKE1hdGguc3FydCgxLShh Lz1lKSphKS0xKStifSxlYXNlT3V0Q2lyYzpmdW5jdGlvbihjLGEsYixkLGUpe3Jl dHVybiBkKk1hdGguc3FydCgxLShhPWEvZS0xKSphKStifSxlYXNlSW5PdXRDaXJj OmZ1bmN0aW9uKGMsYSxiLGQsZSl7aWYoKGEvPWUvMik8MSlyZXR1cm4tZC8yKihN YXRoLnNxcnQoMS1hKmEpLTEpK2I7cmV0dXJuIGQvMiooTWF0aC5zcXJ0KDEtKGEt PTIpKmEpKzEpK2J9LGVhc2VJbkVsYXN0aWM6ZnVuY3Rpb24oYyxhLGIsZCxlKXtj PTEuNzAxNTg7dmFyIGc9MCxoPWQ7aWYoYT09MClyZXR1cm4gYjtpZigoYS89ZSk9 PTEpcmV0dXJuIGIrZDtnfHwoZz1lKjAuMyk7aWYoaDxNYXRoLmFicyhkKSl7aD1k O2M9Zy80fWVsc2UgYz0KZy8oMipNYXRoLlBJKSpNYXRoLmFzaW4oZC9oKTtyZXR1 cm4tKGgqTWF0aC5wb3coMiwxMCooYS09MSkpKk1hdGguc2luKChhKmUtYykqMipN YXRoLlBJL2cpKStifSxlYXNlT3V0RWxhc3RpYzpmdW5jdGlvbihjLGEsYixkLGUp e2M9MS43MDE1ODt2YXIgZz0wLGg9ZDtpZihhPT0wKXJldHVybiBiO2lmKChhLz1l KT09MSlyZXR1cm4gYitkO2d8fChnPWUqMC4zKTtpZihoPE1hdGguYWJzKGQpKXto PWQ7Yz1nLzR9ZWxzZSBjPWcvKDIqTWF0aC5QSSkqTWF0aC5hc2luKGQvaCk7cmV0 dXJuIGgqTWF0aC5wb3coMiwtMTAqYSkqTWF0aC5zaW4oKGEqZS1jKSoyKk1hdGgu UEkvZykrZCtifSxlYXNlSW5PdXRFbGFzdGljOmZ1bmN0aW9uKGMsYSxiLGQsZSl7 Yz0xLjcwMTU4O3ZhciBnPTAsaD1kO2lmKGE9PTApcmV0dXJuIGI7aWYoKGEvPWUv Mik9PTIpcmV0dXJuIGIrZDtnfHwoZz1lKjAuMyoxLjUpO2lmKGg8TWF0aC5hYnMo ZCkpe2g9ZDtjPWcvNH1lbHNlIGM9Zy8oMipNYXRoLlBJKSpNYXRoLmFzaW4oZC8K aCk7aWYoYTwxKXJldHVybi0wLjUqaCpNYXRoLnBvdygyLDEwKihhLT0xKSkqTWF0 aC5zaW4oKGEqZS1jKSoyKk1hdGguUEkvZykrYjtyZXR1cm4gaCpNYXRoLnBvdygy LC0xMCooYS09MSkpKk1hdGguc2luKChhKmUtYykqMipNYXRoLlBJL2cpKjAuNStk K2J9LGVhc2VJbkJhY2s6ZnVuY3Rpb24oYyxhLGIsZCxlLGcpe2lmKGc9PWopZz0x LjcwMTU4O3JldHVybiBkKihhLz1lKSphKigoZysxKSphLWcpK2J9LGVhc2VPdXRC YWNrOmZ1bmN0aW9uKGMsYSxiLGQsZSxnKXtpZihnPT1qKWc9MS43MDE1ODtyZXR1 cm4gZCooKGE9YS9lLTEpKmEqKChnKzEpKmErZykrMSkrYn0sZWFzZUluT3V0QmFj azpmdW5jdGlvbihjLGEsYixkLGUsZyl7aWYoZz09ailnPTEuNzAxNTg7aWYoKGEv PWUvMik8MSlyZXR1cm4gZC8yKmEqYSooKChnKj0xLjUyNSkrMSkqYS1nKStiO3Jl dHVybiBkLzIqKChhLT0yKSphKigoKGcqPTEuNTI1KSsxKSphK2cpKzIpK2J9LGVh c2VJbkJvdW5jZTpmdW5jdGlvbihjLAphLGIsZCxlKXtyZXR1cm4gZC1mLmVhc2lu Zy5lYXNlT3V0Qm91bmNlKGMsZS1hLDAsZCxlKStifSxlYXNlT3V0Qm91bmNlOmZ1 bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuKGEvPWUpPDEvMi43NT9kKjcuNTYyNSph KmErYjphPDIvMi43NT9kKig3LjU2MjUqKGEtPTEuNS8yLjc1KSphKzAuNzUpK2I6 YTwyLjUvMi43NT9kKig3LjU2MjUqKGEtPTIuMjUvMi43NSkqYSswLjkzNzUpK2I6 ZCooNy41NjI1KihhLT0yLjYyNS8yLjc1KSphKzAuOTg0Mzc1KStifSxlYXNlSW5P dXRCb3VuY2U6ZnVuY3Rpb24oYyxhLGIsZCxlKXtpZihhPGUvMilyZXR1cm4gZi5l YXNpbmcuZWFzZUluQm91bmNlKGMsYSoyLDAsZCxlKSowLjUrYjtyZXR1cm4gZi5l YXNpbmcuZWFzZU91dEJvdW5jZShjLGEqMi1lLDAsZCxlKSowLjUrZCowLjUrYn19 KX0oalF1ZXJ5KTsKOwoKKGZ1bmN0aW9uKGIpe2IuZWZmZWN0cy5ibGluZD1mdW5j dGlvbihjKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBhPWIodGhp cyksZz1bInBvc2l0aW9uIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0Il0s Zj1iLmVmZmVjdHMuc2V0TW9kZShhLGMub3B0aW9ucy5tb2RlfHwiaGlkZSIpLGQ9 Yy5vcHRpb25zLmRpcmVjdGlvbnx8InZlcnRpY2FsIjtiLmVmZmVjdHMuc2F2ZShh LGcpO2Euc2hvdygpO3ZhciBlPWIuZWZmZWN0cy5jcmVhdGVXcmFwcGVyKGEpLmNz cyh7b3ZlcmZsb3c6ImhpZGRlbiJ9KSxoPWQ9PSJ2ZXJ0aWNhbCI/ImhlaWdodCI6 IndpZHRoIjtkPWQ9PSJ2ZXJ0aWNhbCI/ZS5oZWlnaHQoKTplLndpZHRoKCk7Zj09 InNob3ciJiZlLmNzcyhoLDApO3ZhciBpPXt9O2lbaF09Zj09InNob3ciP2Q6MDtl LmFuaW1hdGUoaSxjLmR1cmF0aW9uLGMub3B0aW9ucy5lYXNpbmcsZnVuY3Rpb24o KXtmPT0iaGlkZSImJmEuaGlkZSgpO2IuZWZmZWN0cy5yZXN0b3JlKGEsCmcpO2Iu ZWZmZWN0cy5yZW1vdmVXcmFwcGVyKGEpO2MuY2FsbGJhY2smJmMuY2FsbGJhY2su YXBwbHkoYVswXSxhcmd1bWVudHMpO2EuZGVxdWV1ZSgpfSl9KX19KShqUXVlcnkp Owo7CgooZnVuY3Rpb24oYil7Yi5lZmZlY3RzLmZhZGU9ZnVuY3Rpb24oYSl7cmV0 dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgYz1iKHRoaXMpLGQ9Yi5lZmZl Y3RzLnNldE1vZGUoYyxhLm9wdGlvbnMubW9kZXx8ImhpZGUiKTtjLmFuaW1hdGUo e29wYWNpdHk6ZH0se3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmEuZHVyYXRpb24sZWFz aW5nOmEub3B0aW9ucy5lYXNpbmcsY29tcGxldGU6ZnVuY3Rpb24oKXthLmNhbGxi YWNrJiZhLmNhbGxiYWNrLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtjLmRlcXVldWUo KX19KX0pfX0pKGpRdWVyeSk7CjsKCihmdW5jdGlvbihiKXtiLmVmZmVjdHMuaGln aGxpZ2h0PWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7 dmFyIGE9Yih0aGlzKSxlPVsiYmFja2dyb3VuZEltYWdlIiwiYmFja2dyb3VuZENv bG9yIiwib3BhY2l0eSJdLGQ9Yi5lZmZlY3RzLnNldE1vZGUoYSxjLm9wdGlvbnMu bW9kZXx8InNob3ciKSxmPXtiYWNrZ3JvdW5kQ29sb3I6YS5jc3MoImJhY2tncm91 bmRDb2xvciIpfTtpZihkPT0iaGlkZSIpZi5vcGFjaXR5PTA7Yi5lZmZlY3RzLnNh dmUoYSxlKTthLnNob3coKS5jc3Moe2JhY2tncm91bmRJbWFnZToibm9uZSIsYmFj a2dyb3VuZENvbG9yOmMub3B0aW9ucy5jb2xvcnx8IiNmZmZmOTkifSkuYW5pbWF0 ZShmLHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjpjLmR1cmF0aW9uLGVhc2luZzpjLm9w dGlvbnMuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7ZD09ImhpZGUiJiZhLmhp ZGUoKTtiLmVmZmVjdHMucmVzdG9yZShhLGUpO2Q9PSJzaG93IiYmIWIuc3VwcG9y dC5vcGFjaXR5JiYKdGhpcy5zdHlsZS5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIp O2MuY2FsbGJhY2smJmMuY2FsbGJhY2suYXBwbHkodGhpcyxhcmd1bWVudHMpO2Eu ZGVxdWV1ZSgpfX0pfSl9fSkoalF1ZXJ5KTsKOwoKKGZ1bmN0aW9uKGQpe2QuZWZm ZWN0cy5wdWxzYXRlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0 aW9uKCl7dmFyIGI9ZCh0aGlzKSxjPWQuZWZmZWN0cy5zZXRNb2RlKGIsYS5vcHRp b25zLm1vZGV8fCJzaG93Iik7dGltZXM9KGEub3B0aW9ucy50aW1lc3x8NSkqMi0x O2R1cmF0aW9uPWEuZHVyYXRpb24/YS5kdXJhdGlvbi8yOmQuZnguc3BlZWRzLl9k ZWZhdWx0LzI7aXNWaXNpYmxlPWIuaXMoIjp2aXNpYmxlIik7YW5pbWF0ZVRvPTA7 aWYoIWlzVmlzaWJsZSl7Yi5jc3MoIm9wYWNpdHkiLDApLnNob3coKTthbmltYXRl VG89MX1pZihjPT0iaGlkZSImJmlzVmlzaWJsZXx8Yz09InNob3ciJiYhaXNWaXNp YmxlKXRpbWVzLS07Zm9yKGM9MDtjPHRpbWVzO2MrKyl7Yi5hbmltYXRlKHtvcGFj aXR5OmFuaW1hdGVUb30sZHVyYXRpb24sYS5vcHRpb25zLmVhc2luZyk7YW5pbWF0 ZVRvPShhbmltYXRlVG8rMSklMn1iLmFuaW1hdGUoe29wYWNpdHk6YW5pbWF0ZVRv fSxkdXJhdGlvbiwKYS5vcHRpb25zLmVhc2luZyxmdW5jdGlvbigpe2FuaW1hdGVU bz09MCYmYi5oaWRlKCk7YS5jYWxsYmFjayYmYS5jYWxsYmFjay5hcHBseSh0aGlz LGFyZ3VtZW50cyl9KTtiLnF1ZXVlKCJmeCIsZnVuY3Rpb24oKXtiLmRlcXVldWUo KX0pLmRlcXVldWUoKX0pfX0pKGpRdWVyeSk7CjsKCihmdW5jdGlvbihjKXtjLmVm ZmVjdHMuc2xpZGU9ZnVuY3Rpb24oZCl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rp b24oKXt2YXIgYT1jKHRoaXMpLGg9WyJwb3NpdGlvbiIsInRvcCIsImJvdHRvbSIs ImxlZnQiLCJyaWdodCJdLGY9Yy5lZmZlY3RzLnNldE1vZGUoYSxkLm9wdGlvbnMu bW9kZXx8InNob3ciKSxiPWQub3B0aW9ucy5kaXJlY3Rpb258fCJsZWZ0IjtjLmVm ZmVjdHMuc2F2ZShhLGgpO2Euc2hvdygpO2MuZWZmZWN0cy5jcmVhdGVXcmFwcGVy KGEpLmNzcyh7b3ZlcmZsb3c6ImhpZGRlbiJ9KTt2YXIgZz1iPT0idXAifHxiPT0i ZG93biI/InRvcCI6ImxlZnQiO2I9Yj09InVwInx8Yj09ImxlZnQiPyJwb3MiOiJu ZWciO3ZhciBlPWQub3B0aW9ucy5kaXN0YW5jZXx8KGc9PSJ0b3AiP2Eub3V0ZXJI ZWlnaHQoe21hcmdpbjp0cnVlfSk6YS5vdXRlcldpZHRoKHttYXJnaW46dHJ1ZX0p KTtpZihmPT0ic2hvdyIpYS5jc3MoZyxiPT0icG9zIj9pc05hTihlKT8iLSIrZTot ZTplKTsKdmFyIGk9e307aVtnXT0oZj09InNob3ciP2I9PSJwb3MiPyIrPSI6Ii09 IjpiPT0icG9zIj8iLT0iOiIrPSIpK2U7YS5hbmltYXRlKGkse3F1ZXVlOmZhbHNl LGR1cmF0aW9uOmQuZHVyYXRpb24sZWFzaW5nOmQub3B0aW9ucy5lYXNpbmcsY29t cGxldGU6ZnVuY3Rpb24oKXtmPT0iaGlkZSImJmEuaGlkZSgpO2MuZWZmZWN0cy5y ZXN0b3JlKGEsaCk7Yy5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoYSk7ZC5jYWxsYmFj ayYmZC5jYWxsYmFjay5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YS5kZXF1ZXVlKCl9 fSl9KX19KShqUXVlcnkpOwo7 ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=dle_js.js Content-Type: application/x-javascript; charset=windows-1251; name=dle_js.js Content-Location: http://www.dl4all.com/engine/classes/js/dle_js.js Content-Transfer-Encoding: Base64 dmFyIG5fY2FjaGU9W10sY19jYWNoZT1bXSxjb21tX2VkaXRfaWQsc19pZCxlX2lk OwpmdW5jdGlvbiBSdW5BamF4SlMoYSxiKXt2YXIgYz1uZXcgRGF0ZSxkPSExLGM9 Yy5nZXRUaW1lKCksZT0vPHNjcmlwdC4qPz4oLnxbXHJcbl0pKj88XC9zY3JpcHQ+ L2lnLGY9ZS5leGVjKGIpO2lmKGYhPW51bGwpe2Zvcih2YXIgaD1BcnJheShmLnNo aWZ0KCkpLGQ9ITA7ZjspZj1lLmV4ZWMoYiksZiE9bnVsbCYmaC5wdXNoKGYuc2hp ZnQoKSk7Zm9yKGU9MDtlPGgubGVuZ3RoO2UrKyliPWIucmVwbGFjZShoW2VdLCc8 c3BhbiBpZD0iJytjK2UrJyIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPjwvc3Bhbj4n KX0kKCIjIithKS5odG1sKGIpO2lmKGQpe2Q9LzxzY3JpcHQuKj8+KCgufFtcclxu XSkqPyk8XC9zY3JpcHQ+L2lnO2ZvcihlPTA7ZTxoLmxlbmd0aDtlKyspe3ZhciBn PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGMrIiIrZSksZj1nLnBhcmVudE5vZGU7 Zi5yZW1vdmVDaGlsZChnKTtkLmxhc3RJbmRleD0wO2c9ZC5leGVjKGhbZV0pO2Y9 Zi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSk7 CmYudGV4dD1nWzFdO2c9aFtlXS5zdWJzdHJpbmcoaFtlXS5pbmRleE9mKCIgIiww KSxoW2VdLmluZGV4T2YoIj4iLDApKS5zcGxpdCgiICIpO2lmKGcubGVuZ3RoPjEp Zm9yKHZhciBqPTA7ajxnLmxlbmd0aDtqKyspaWYoZ1tqXS5sZW5ndGg+MCl7dmFy IGk9Z1tqXS5zcGxpdCgiPSIpO2lbMV09aVsxXS5zdWJzdHIoMSxpWzFdLmxlbmd0 aC0yKTtmLnNldEF0dHJpYnV0ZShpWzBdLGlbMV0pfX19fQpmdW5jdGlvbiBJUE1l bnUoYSxiLGMsZCl7dmFyIGU9W107ZVswXT0nPGEgaHJlZj0iaHR0cHM6Ly93d3cu bmljLnJ1L3dob2lzLz9pcD0nK2ErJyIgdGFyZ2V0PSJfYmxhbmsiPicrYisiPC9h PiI7ZVsxXT0nPGEgaHJlZj0iJytkbGVfcm9vdCtkbGVfYWRtaW4rIj9tb2Q9aXB0 b29scyZpcD0iK2ErJyIgdGFyZ2V0PSJfYmxhbmsiPicrYysiPC9hPiI7ZVsyXT0n PGEgaHJlZj0iJytkbGVfcm9vdCtkbGVfYWRtaW4rIj9tb2Q9YmxvY2tpcCZpcD0i K2ErJyIgdGFyZ2V0PSJfYmxhbmsiPicrZCsiPC9hPiI7cmV0dXJuIGV9ZnVuY3Rp b24gYWpheF9jYW5jZWxfZm9yX2VkaXQoYSl7bl9jYWNoZVthXSE9IiImJiQoIiNu ZXdzLWlkLSIrYSkuaHRtbChuX2NhY2hlW2FdKTtyZXR1cm4hMX0KZnVuY3Rpb24g YWpheF9zYXZlX2Zvcl9lZGl0KGEsYil7dmFyIGM9MCxkPSIiO2VfaWQ9YTtkb2N1 bWVudC5nZXRFbGVtZW50QnlJZCgiYWxsb3dfYnJfIithKS5jaGVja2VkJiYoYz0x KTt2YXIgZD1xdWlja193eXNpd3lnPT0iMSI/JCgiI2RsZWVkaXRuZXdzIithKS5o dG1sKCk6JCgiI2RsZWVkaXRuZXdzIithKS52YWwoKSxlPSQoIiNlZGl0LXRpdGxl LSIrYSkudmFsKCksZj0kKCIjZWRpdC1yZWFzb24tIithKS52YWwoKTtTaG93TG9h ZGluZygiIik7JC5wb3N0KGRsZV9yb290KyJlbmdpbmUvYWpheC9lZGl0bmV3cy5w aHAiLHt0aXRsZTplLG5ld3NfdHh0OmQsaWQ6YSxhbGxvd19icjpjLHJlYXNvbjpm LGZpZWxkOmIsYWN0aW9uOiJzYXZlIn0sZnVuY3Rpb24oYil7SGlkZUxvYWRpbmco IiIpO25fY2FjaGVbZV9pZF09IiI7JCgiI25ld3MtaWQtIithKS5odG1sKGIpfSk7 cmV0dXJuITF9CmZ1bmN0aW9uIGFqYXhfcHJlcF9mb3JfZWRpdChhLGIpe2lmKCFu X2NhY2hlW2FdfHxuX2NhY2hlW2FdPT0iIiluX2NhY2hlW2FdPSQoIiNuZXdzLWlk LSIrYSkuaHRtbCgpO3NfaWQ9YTtTaG93TG9hZGluZygiIik7JC5nZXQoZGxlX3Jv b3QrImVuZ2luZS9hamF4L2VkaXRuZXdzLnBocCIse2lkOmEsZmllbGQ6YixhY3Rp b246ImVkaXQifSxmdW5jdGlvbihiKXtIaWRlTG9hZGluZygiIik7UnVuQWpheEpT KCJuZXdzLWlkLSIrYSxiKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7JCgiaHRtbDpu b3QoOmFuaW1hdGVkKSIrKCEkLmJyb3dzZXIub3BlcmE/Iixib2R5Om5vdCg6YW5p bWF0ZWQpIjoiIikpLmFuaW1hdGUoe3Njcm9sbFRvcDokKCIjbmV3cy1pZC0iK3Nf aWQpLm9mZnNldCgpLnRvcC03MH0sNzAwKX0sMTAwKX0pO3JldHVybiExfQpmdW5j dGlvbiBhamF4X2NvbW1fZWRpdChhLGIpe2lmKCFjX2NhY2hlW2FdfHxjX2NhY2hl W2FdPT0iIiljX2NhY2hlW2FdPSQoIiNjb21tLWlkLSIrYSkuaHRtbCgpO1Nob3dM b2FkaW5nKCIiKTskLmdldChkbGVfcm9vdCsiZW5naW5lL2FqYXgvZWRpdGNvbW1l bnRzLnBocCIse2lkOmEsYXJlYTpiLGFjdGlvbjoiZWRpdCJ9LGZ1bmN0aW9uKGIp e0hpZGVMb2FkaW5nKCIiKTtSdW5BamF4SlMoImNvbW0taWQtIithLGIpO3NldFRp bWVvdXQoZnVuY3Rpb24oKXskKCJodG1sOm5vdCg6YW5pbWF0ZWQpIisoISQuYnJv d3Nlci5vcGVyYT8iLGJvZHk6bm90KDphbmltYXRlZCkiOiIiKSkuYW5pbWF0ZSh7 c2Nyb2xsVG9wOiQoIiNjb21tLWlkLSIrYSkub2Zmc2V0KCkudG9wLTcwfSw3MDAp fSwxMDApfSk7cmV0dXJuITF9ZnVuY3Rpb24gYWpheF9jYW5jZWxfY29tbV9lZGl0 KGEpe25fY2FjaGVbYV0hPSIiJiYkKCIjY29tbS1pZC0iK2EpLmh0bWwoY19jYWNo ZVthXSk7cmV0dXJuITF9CmZ1bmN0aW9uIGFqYXhfc2F2ZV9jb21tX2VkaXQoYSxi KXt2YXIgYz0iIjtjb21tX2VkaXRfaWQ9YTtjPWRsZV93eXNpd3lnPT0ieWVzIj8k KCIjZGxlZWRpdGNvbW1lbnRzIithKS5odG1sKCk6JCgiI2RsZWVkaXRjb21tZW50 cyIrYSkudmFsKCk7U2hvd0xvYWRpbmcoIiIpOyQucG9zdChkbGVfcm9vdCsiZW5n aW5lL2FqYXgvZWRpdGNvbW1lbnRzLnBocCIse2lkOmEsY29tbV90eHQ6YyxhcmVh OmIsYWN0aW9uOiJzYXZlIn0sZnVuY3Rpb24oYil7SGlkZUxvYWRpbmcoIiIpO2Nf Y2FjaGVbY29tbV9lZGl0X2lkXT0iIjskKCIjY29tbS1pZC0iK2EpLmh0bWwoYil9 KTtyZXR1cm4hMX0KZnVuY3Rpb24gRGVsZXRlQ29tbWVudHMoYSxiKXtETEVjb25m aXJtKGRsZV9kZWxfYWdyZWUsZGxlX2NvbmZpcm0sZnVuY3Rpb24oKXtTaG93TG9h ZGluZygiIik7JC5nZXQoZGxlX3Jvb3QrImVuZ2luZS9hamF4L2RlbGV0ZWNvbW1l bnRzLnBocCIse2lkOmEsZGxlX2FsbG93X2hhc2g6Yn0sZnVuY3Rpb24oYSl7SGlk ZUxvYWRpbmcoIiIpO2E9cGFyc2VJbnQoYSk7aXNOYU4oYSl8fCgkKCJodG1sIiso ISQuYnJvd3Nlci5vcGVyYT8iLGJvZHkiOiIiKSkuYW5pbWF0ZSh7c2Nyb2xsVG9w OiQoIiNjb21tZW50LWlkLSIrYSkub2Zmc2V0KCkudG9wLTcwfSw3MDApLHNldFRp bWVvdXQoZnVuY3Rpb24oKXskKCIjY29tbWVudC1pZC0iK2EpLmhpZGUoImJsaW5k Iix7fSwxNDAwKX0sNzAwKSl9KX0pfQpmdW5jdGlvbiBkb0Zhdm9yaXRlcyhhLGIp e1Nob3dMb2FkaW5nKCIiKTskLmdldChkbGVfcm9vdCsiZW5naW5lL2FqYXgvZmF2 b3JpdGVzLnBocCIse2Zhdl9pZDphLGFjdGlvbjpiLHNraW46ZGxlX3NraW59LGZ1 bmN0aW9uKGIpe0hpZGVMb2FkaW5nKCIiKTskKCIjZmF2LWlkLSIrYSkuaHRtbChi KX0pO3JldHVybiExfWZ1bmN0aW9uIENoZWNrTG9naW4oKXt2YXIgYT1kb2N1bWVu dC5nZXRFbGVtZW50QnlJZCgibmFtZSIpLnZhbHVlO1Nob3dMb2FkaW5nKCIiKTsk LnBvc3QoZGxlX3Jvb3QrImVuZ2luZS9hamF4L3JlZ2lzdHJhdGlvbi5waHAiLHtu YW1lOmF9LGZ1bmN0aW9uKGEpe0hpZGVMb2FkaW5nKCIiKTskKCIjcmVzdWx0LXJl Z2lzdHJhdGlvbiIpLmh0bWwoYSl9KTtyZXR1cm4hMX0KZnVuY3Rpb24gZG9DYWxl bmRhcihhLGIsYyl7U2hvd0xvYWRpbmcoIiIpOyQuZ2V0KGRsZV9yb290KyJlbmdp bmUvYWpheC9jYWxlbmRhci5waHAiLHttb250aDphLHllYXI6Yn0sZnVuY3Rpb24o YSl7SGlkZUxvYWRpbmcoIiIpO2M9PSJsZWZ0Ij8kKCIjY2FsZW5kYXItbGF5ZXIi KS5oaWRlKCJzbGlkZSIse2RpcmVjdGlvbjoibGVmdCJ9LDUwMCkuaHRtbChhKS5z aG93KCJzbGlkZSIse2RpcmVjdGlvbjoicmlnaHQifSw1MDApOiQoIiNjYWxlbmRh ci1sYXllciIpLmhpZGUoInNsaWRlIix7ZGlyZWN0aW9uOiJyaWdodCJ9LDUwMCku aHRtbChhKS5zaG93KCJzbGlkZSIse2RpcmVjdGlvbjoibGVmdCJ9LDUwMCl9KX0K ZnVuY3Rpb24gU2hvd0JpbGQoYSl7d2luZG93Lm9wZW4oZGxlX3Jvb3QrImVuZ2lu ZS9tb2R1bGVzL2ltYWdlcHJldmlldy5waHA/aW1hZ2U9IithLCIiLCJyZXNpemFi bGU9MSxIRUlHSFQ9MjAwLFdJRFRIPTIwMCwgdG9wPTAsIGxlZnQ9MCwgc2Nyb2xs YmFycz15ZXMiKX1mdW5jdGlvbiBkb1JhdGUoYSxiKXtTaG93TG9hZGluZygiIik7 JC5nZXQoZGxlX3Jvb3QrImVuZ2luZS9hamF4L3JhdGluZy5waHAiLHtnb19yYXRl OmEsbmV3c19pZDpiLHNraW46ZGxlX3NraW59LGZ1bmN0aW9uKGEpe0hpZGVMb2Fk aW5nKCIiKTskKCIjcmF0aWctbGF5ZXIiKS5odG1sKGEpfSl9CmZ1bmN0aW9uIGRs ZVJhdGUoYSxiKXtTaG93TG9hZGluZygiIik7JC5nZXQoZGxlX3Jvb3QrImVuZ2lu ZS9hamF4L3JhdGluZy5waHAiLHtnb19yYXRlOmEsbmV3c19pZDpiLHNraW46ZGxl X3NraW4sbW9kZToic2hvcnQifSxmdW5jdGlvbihhKXtIaWRlTG9hZGluZygiIik7 JCgiI3JhdGlnLWxheWVyLSIrYikuaHRtbChhKX0pfQpmdW5jdGlvbiBkb0FkZENv bW1lbnRzKCl7dmFyIGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRsZS1jb21t ZW50cy1mb3JtIik7aWYoZGxlX3d5c2l3eWc9PSJ5ZXMiKXtkb2N1bWVudC5nZXRF bGVtZW50QnlJZCgiY29tbWVudHMiKS52YWx1ZT0kKCIjY29tbWVudHMiKS5odG1s KCk7dmFyIGI9Ind5c2l3eWcifWVsc2UgYj0iIjtpZihhLmNvbW1lbnRzLnZhbHVl PT0iInx8YS5uYW1lLnZhbHVlPT0iIilyZXR1cm4gRExFYWxlcnQoZGxlX3JlcV9m aWVsZCxkbGVfaW5mbyksITE7dmFyIGM9YS5zZWNfY29kZT9hLnNlY19jb2RlLnZh bHVlOiIiO2lmKGEucmVjYXB0Y2hhX3Jlc3BvbnNlX2ZpZWxkKXZhciBkPVJlY2Fw dGNoYS5nZXRfcmVzcG9uc2UoKSxlPVJlY2FwdGNoYS5nZXRfY2hhbGxlbmdlKCk7 ZWxzZSBlPWQ9IiI7dmFyIGY9YS5hbGxvd19zdWJzY3JpYmU/YS5hbGxvd19zdWJz Y3JpYmUuY2hlY2tlZD09ITA/IjEiOiIwIjoiMCI7U2hvd0xvYWRpbmcoIiIpOyQu cG9zdChkbGVfcm9vdCsKImVuZ2luZS9hamF4L2FkZGNvbW1lbnRzLnBocCIse3Bv c3RfaWQ6YS5wb3N0X2lkLnZhbHVlLGNvbW1lbnRzOmEuY29tbWVudHMudmFsdWUs bmFtZTphLm5hbWUudmFsdWUsbWFpbDphLm1haWwudmFsdWUsZWRpdG9yX21vZGU6 Yixza2luOmRsZV9za2luLHNlY19jb2RlOmMscmVjYXB0Y2hhX3Jlc3BvbnNlX2Zp ZWxkOmQscmVjYXB0Y2hhX2NoYWxsZW5nZV9maWVsZDplLGFsbG93X3N1YnNjcmli ZTpmfSxmdW5jdGlvbihiKXtpZihhLnNlY19jb2RlKWEuc2VjX2NvZGUudmFsdWU9 IiIscmVsb2FkKCk7SGlkZUxvYWRpbmcoIiIpO1J1bkFqYXhKUygiZGxlLWFqYXgt Y29tbWVudHMiLGIpO2IhPSJlcnJvciImJmRvY3VtZW50LmdldEVsZW1lbnRCeUlk KCJibGluZC1hbmltYXRpb24iKSYmKCQoImh0bWwiKyghJC5icm93c2VyLm9wZXJh PyIsYm9keSI6IiIpKS5hbmltYXRlKHtzY3JvbGxUb3A6JCgiI2RsZS1hamF4LWNv bW1lbnRzIikub2Zmc2V0KCkudG9wLTcwfSwxMTAwKSxzZXRUaW1lb3V0KGZ1bmN0 aW9uKCl7JCgiI2JsaW5kLWFuaW1hdGlvbiIpLnNob3coImJsaW5kIiwKe30sMTUw MCl9LDExMDApKX0pfWZ1bmN0aW9uIGRsZV9jb3B5X3F1b3RlKGEpe2RsZV90eHQ9 IiI7aWYod2luZG93LmdldFNlbGVjdGlvbilkbGVfdHh0PXdpbmRvdy5nZXRTZWxl Y3Rpb24oKTtlbHNlIGlmKGRvY3VtZW50LnNlbGVjdGlvbilkbGVfdHh0PWRvY3Vt ZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpLnRleHQ7ZGxlX3R4dCE9IiImJihk bGVfdHh0PSJbcXVvdGU9IithKyJdIitkbGVfdHh0KyJbL3F1b3RlXVxuIil9CmZ1 bmN0aW9uIGRsZV9pbnMoYSl7aWYoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJk bGUtY29tbWVudHMtZm9ybSIpKXJldHVybiExO3ZhciBiPWRvY3VtZW50LmdldEVs ZW1lbnRCeUlkKCJkbGUtY29tbWVudHMtZm9ybSIpLmNvbW1lbnRzLGM9IiI7ZGxl X3d5c2l3eWc9PSJubyI/Yi52YWx1ZSs9ZGxlX3R4dCE9IiI/ZGxlX3R4dDoiW2Jd IithKyJbL2JdLFxuIjp0aW55TUNFLmV4ZWNJbnN0YW5jZUNvbW1hbmQoImNvbW1l bnRzIiwibWNlSW5zZXJ0Q29udGVudCIsITEsZGxlX3R4dCE9IiI/ZGxlX3R4dDoi PGI+IithKyI8L2I+LDxiciAvPiIsITApfQpmdW5jdGlvbiBTaG93T3JIaWRlKGEp e3ZhciBiPSQoIiMiK2EpLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImltYWdl LSIrYSk/ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImltYWdlLSIrYSk6bnVsbDtp ZihiLmNzcygiZGlzcGxheSIpPT0ibm9uZSIpe2lmKGIuc2hvdygiYmxpbmQiLHt9 LDFFMyksYSlhLnNyYz1kbGVfcm9vdCsidGVtcGxhdGVzLyIrZGxlX3NraW4rIi9k bGVpbWFnZXMvc3BvaWxlci1taW51cy5naWYifWVsc2UgaWYoYi5oaWRlKCJibGlu ZCIse30sMUUzKSxhKWEuc3JjPWRsZV9yb290KyJ0ZW1wbGF0ZXMvIitkbGVfc2tp bisiL2RsZWltYWdlcy9zcG9pbGVyLXBsdXMuZ2lmIn0KZnVuY3Rpb24gY2tlY2tf dW5jaGVja19hbGwoKXtmb3IodmFyIGE9ZG9jdW1lbnQucG1saXN0LGI9MDtiPGEu ZWxlbWVudHMubGVuZ3RoO2IrKyl7dmFyIGM9YS5lbGVtZW50c1tiXTtpZihjLnR5 cGU9PSJjaGVja2JveCIpYy5jaGVja2VkPWEubWFzdGVyX2JveC5jaGVja2VkPT0h MD8hMTohMH1hLm1hc3Rlcl9ib3guY2hlY2tlZD1hLm1hc3Rlcl9ib3guY2hlY2tl ZD09ITA/ITE6ITB9ZnVuY3Rpb24gY29uZmlybURlbGV0ZShhKXtETEVjb25maXJt KGRsZV9kZWxfYWdyZWUsZGxlX2NvbmZpcm0sZnVuY3Rpb24oKXtkb2N1bWVudC5s b2NhdGlvbj1hfSl9ZnVuY3Rpb24gc2V0TmV3RmllbGQoYSxiKXthIT1zZWxGaWVs ZCYmKGZvbWJqPWIsc2VsRmllbGQ9YSl9CmZ1bmN0aW9uIGRsZV9uZXdzX2RlbGV0 ZShhKXt2YXIgYj17fTtiW2RsZV9hY3RfbGFuZ1sxXV09ZnVuY3Rpb24oKXskKHRo aXMpLmRpYWxvZygiY2xvc2UiKX07YWxsb3dfZGxlX2RlbGV0ZV9uZXdzJiYoYltk bGVfZGVsX21zZ109ZnVuY3Rpb24oKXskKHRoaXMpLmRpYWxvZygiY2xvc2UiKTt2 YXIgYj17fTtiW2RsZV9hY3RfbGFuZ1szXV09ZnVuY3Rpb24oKXskKHRoaXMpLmRp YWxvZygiY2xvc2UiKX07YltkbGVfcF9zZW5kXT1mdW5jdGlvbigpe2lmKCQoIiNk bGUtcHJvbXQtdGV4dCIpLnZhbCgpLmxlbmd0aDwxKSQoIiNkbGUtcHJvbXQtdGV4 dCIpLmFkZENsYXNzKCJ1aS1zdGF0ZS1lcnJvciIpO2Vsc2V7dmFyIGI9JCgiI2Rs ZS1wcm9tdC10ZXh0IikudmFsKCk7JCh0aGlzKS5kaWFsb2coImNsb3NlIik7JCgi I2RsZXBvcHVwIikucmVtb3ZlKCk7JC5wb3N0KGRsZV9yb290KyJlbmdpbmUvYWph eC9tZXNzYWdlLnBocCIse2lkOmEsdGV4dDpifSxmdW5jdGlvbihiKXtiPT0ib2si Pwpkb2N1bWVudC5sb2NhdGlvbj1kbGVfcm9vdCsiaW5kZXgucGhwP2RvPWRlbGV0 ZW5ld3MmaWQ9IithKyImaGFzaD0iK2RsZV9sb2dpbl9oYXNoOkRMRWFsZXJ0KCJT ZW5kIEVycm9yIixkbGVfaW5mbyl9KX19OyQoIiNkbGVwb3B1cCIpLnJlbW92ZSgp OyQoImJvZHkiKS5hcHBlbmQoIjxkaXYgaWQ9J2RsZXBvcHVwJyB0aXRsZT0nIitk bGVfbm90aWNlKyInIHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxiciAvPiIrZGxlX3Bf dGV4dCsiPGJyIC8+PGJyIC8+PHRleHRhcmVhIG5hbWU9J2RsZS1wcm9tdC10ZXh0 JyBpZD0nZGxlLXByb210LXRleHQnIGNsYXNzPSd1aS13aWRnZXQtY29udGVudCB1 aS1jb3JuZXItYWxsJyBzdHlsZT0nd2lkdGg6OTclO2hlaWdodDoxMDBweDsgcGFk ZGluZzogLjRlbTsnPjwvdGV4dGFyZWE+PC9kaXY+Iik7JCgiI2RsZXBvcHVwIiku ZGlhbG9nKHthdXRvT3BlbjohMCx3aWR0aDo1MDAsYnV0dG9uczpifSl9KTtiW2Rs ZV9hY3RfbGFuZ1swXV09ZnVuY3Rpb24oKXskKHRoaXMpLmRpYWxvZygiY2xvc2Ui KTsKZG9jdW1lbnQubG9jYXRpb249ZGxlX3Jvb3QrImluZGV4LnBocD9kbz1kZWxl dGVuZXdzJmlkPSIrYSsiJmhhc2g9IitkbGVfbG9naW5faGFzaH07JCgiI2RsZXBv cHVwIikucmVtb3ZlKCk7JCgiYm9keSIpLmFwcGVuZCgiPGRpdiBpZD0nZGxlcG9w dXAnIHRpdGxlPSciK2RsZV9jb25maXJtKyInIHN0eWxlPSdkaXNwbGF5Om5vbmUn PjxiciAvPjxkaXYgaWQ9J2RsZXBvcHVwbWVzc2FnZSc+IitkbGVfZGVsX2FncmVl KyI8L2Rpdj48L2Rpdj4iKTskKCIjZGxlcG9wdXAiKS5kaWFsb2coe2F1dG9PcGVu OiEwLHdpZHRoOjUwMCxidXR0b25zOmJ9KX0KZnVuY3Rpb24gTWVudU5ld3NCdWls ZChhLGIpe3ZhciBjPVtdO2NbMF09IjxhIG9uY2xpY2s9XCJhamF4X3ByZXBfZm9y X2VkaXQoJyIrYSsiJywgJyIrYisnXCcpOyByZXR1cm4gZmFsc2U7IiBocmVmPSIj Ij4nK21lbnVfc2hvcnQrIjwvYT4iO2RsZV9hZG1pbiE9IiImJihjWzFdPSc8YSBo cmVmPSInK2RsZV9yb290K2RsZV9hZG1pbisiP21vZD1lZGl0bmV3cyZhY3Rpb249 ZWRpdG5ld3MmaWQ9IithKyciIHRhcmdldD0iX2JsYW5rIj4nK21lbnVfZnVsbCsi PC9hPiIpO2FsbG93X2RsZV9kZWxldGVfbmV3cyYmKGNbMl09IjxhIG9uY2xpY2s9 XCJzZW5kTm90aWNlICgnIithKydcJyk7IHJldHVybiBmYWxzZTsiIGhyZWY9IiMi PicrZGxlX25vdGljZSsiPC9hPiIsY1szXT0iPGEgb25jbGljaz1cImRsZV9uZXdz X2RlbGV0ZSAoJyIrYSsnXCcpOyByZXR1cm4gZmFsc2U7IiBocmVmPSIjIj4nK2Rs ZV9kZWxfbmV3cysiPC9hPiIpO3JldHVybiBjfQpmdW5jdGlvbiBzZW5kTm90aWNl KGEpe3ZhciBiPXt9O2JbZGxlX2FjdF9sYW5nWzNdXT1mdW5jdGlvbigpeyQodGhp cykuZGlhbG9nKCJjbG9zZSIpfTtiW2RsZV9wX3NlbmRdPWZ1bmN0aW9uKCl7aWYo JCgiI2RsZS1wcm9tdC10ZXh0IikudmFsKCkubGVuZ3RoPDEpJCgiI2RsZS1wcm9t dC10ZXh0IikuYWRkQ2xhc3MoInVpLXN0YXRlLWVycm9yIik7ZWxzZXt2YXIgYj0k KCIjZGxlLXByb210LXRleHQiKS52YWwoKTskKHRoaXMpLmRpYWxvZygiY2xvc2Ui KTskKCIjZGxlcG9wdXAiKS5yZW1vdmUoKTskLnBvc3QoZGxlX3Jvb3QrImVuZ2lu ZS9hamF4L21lc3NhZ2UucGhwIix7aWQ6YSx0ZXh0OmIsYWxsb3dkZWxldGU6Im5v In0sZnVuY3Rpb24oYSl7YT09Im9rIiYmRExFYWxlcnQoZGxlX3Bfc2VuZF9vayxk bGVfaW5mbyl9KX19OyQoIiNkbGVwb3B1cCIpLnJlbW92ZSgpOyQoImJvZHkiKS5h cHBlbmQoIjxkaXYgaWQ9J2RsZXBvcHVwJyB0aXRsZT0nIitkbGVfbm90aWNlKyIn IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxiciAvPiIrCmRsZV9wX3RleHQrIjxiciAv PjxiciAvPjx0ZXh0YXJlYSBuYW1lPSdkbGUtcHJvbXQtdGV4dCcgaWQ9J2RsZS1w cm9tdC10ZXh0JyBjbGFzcz0ndWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFs bCcgc3R5bGU9J3dpZHRoOjk3JTtoZWlnaHQ6MTAwcHg7IHBhZGRpbmc6IC40ZW07 Jz48L3RleHRhcmVhPjwvZGl2PiIpOyQoIiNkbGVwb3B1cCIpLmRpYWxvZyh7YXV0 b09wZW46ITAsd2lkdGg6NTAwLGJ1dHRvbnM6Yn0pfQpmdW5jdGlvbiBBZGRDb21w bGFpbnQoYSxiKXt2YXIgYz17fTtjW2RsZV9hY3RfbGFuZ1szXV09ZnVuY3Rpb24o KXskKHRoaXMpLmRpYWxvZygiY2xvc2UiKX07Y1tkbGVfcF9zZW5kXT1mdW5jdGlv bigpe2lmKCQoIiNkbGUtcHJvbXQtdGV4dCIpLnZhbCgpLmxlbmd0aDwxKSQoIiNk bGUtcHJvbXQtdGV4dCIpLmFkZENsYXNzKCJ1aS1zdGF0ZS1lcnJvciIpO2Vsc2V7 dmFyIGM9JCgiI2RsZS1wcm9tdC10ZXh0IikudmFsKCk7JCh0aGlzKS5kaWFsb2co ImNsb3NlIik7JCgiI2RsZXBvcHVwIikucmVtb3ZlKCk7JC5wb3N0KGRsZV9yb290 KyJlbmdpbmUvYWpheC9jb21wbGFpbnQucGhwIix7aWQ6YSx0ZXh0OmMsYWN0aW9u OmJ9LGZ1bmN0aW9uKGEpe2E9PSJvayI/RExFYWxlcnQoZGxlX3Bfc2VuZF9vayxk bGVfaW5mbyk6RExFYWxlcnQoYSxkbGVfaW5mbyl9KX19OyQoIiNkbGVwb3B1cCIp LnJlbW92ZSgpOyQoImJvZHkiKS5hcHBlbmQoIjxkaXYgaWQ9J2RsZXBvcHVwJyB0 aXRsZT0nIisKZGxlX2NvbXBsYWludCsiJyBzdHlsZT0nZGlzcGxheTpub25lJz48 YnIgLz48dGV4dGFyZWEgbmFtZT0nZGxlLXByb210LXRleHQnIGlkPSdkbGUtcHJv bXQtdGV4dCcgY2xhc3M9J3VpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwn IHN0eWxlPSd3aWR0aDo5NyU7aGVpZ2h0OjEwMHB4OyBwYWRkaW5nOiAuNGVtOyc+ PC90ZXh0YXJlYT48L2Rpdj4iKTskKCIjZGxlcG9wdXAiKS5kaWFsb2coe2F1dG9P cGVuOiEwLHdpZHRoOjUwMCxidXR0b25zOmN9KX0KZnVuY3Rpb24gRExFYWxlcnQo YSxiKXskKCIjZGxlcG9wdXAiKS5yZW1vdmUoKTskKCJib2R5IikuYXBwZW5kKCI8 ZGl2IGlkPSdkbGVwb3B1cCcgdGl0bGU9JyIrYisiJyBzdHlsZT0nZGlzcGxheTpu b25lJz48YnIgLz4iK2ErIjwvZGl2PiIpOyQoIiNkbGVwb3B1cCIpLmRpYWxvZyh7 YXV0b09wZW46ITAsd2lkdGg6NDcwLGJ1dHRvbnM6e09rOmZ1bmN0aW9uKCl7JCh0 aGlzKS5kaWFsb2coImNsb3NlIik7JCgiI2RsZXBvcHVwIikucmVtb3ZlKCl9fX0p fQpmdW5jdGlvbiBETEVjb25maXJtKGEsYixjKXt2YXIgZD17fTtkW2RsZV9hY3Rf bGFuZ1sxXV09ZnVuY3Rpb24oKXskKHRoaXMpLmRpYWxvZygiY2xvc2UiKTskKCIj ZGxlcG9wdXAiKS5yZW1vdmUoKX07ZFtkbGVfYWN0X2xhbmdbMF1dPWZ1bmN0aW9u KCl7JCh0aGlzKS5kaWFsb2coImNsb3NlIik7JCgiI2RsZXBvcHVwIikucmVtb3Zl KCk7YyYmYygpfTskKCIjZGxlcG9wdXAiKS5yZW1vdmUoKTskKCJib2R5IikuYXBw ZW5kKCI8ZGl2IGlkPSdkbGVwb3B1cCcgdGl0bGU9JyIrYisiJyBzdHlsZT0nZGlz cGxheTpub25lJz48YnIgLz4iK2ErIjwvZGl2PiIpOyQoIiNkbGVwb3B1cCIpLmRp YWxvZyh7YXV0b09wZW46ITAsd2lkdGg6NTAwLGJ1dHRvbnM6ZH0pfQpmdW5jdGlv biBETEVwcm9tcHQoYSxiLGMsZCxlKXt2YXIgZj17fTtmW2RsZV9hY3RfbGFuZ1sz XV09ZnVuY3Rpb24oKXskKHRoaXMpLmRpYWxvZygiY2xvc2UiKX07ZltkbGVfYWN0 X2xhbmdbMl1dPWZ1bmN0aW9uKCl7aWYoIWUmJiQoIiNkbGUtcHJvbXQtdGV4dCIp LnZhbCgpLmxlbmd0aDwxKSQoIiNkbGUtcHJvbXQtdGV4dCIpLmFkZENsYXNzKCJ1 aS1zdGF0ZS1lcnJvciIpO2Vsc2V7dmFyIGE9JCgiI2RsZS1wcm9tdC10ZXh0Iiku dmFsKCk7JCh0aGlzKS5kaWFsb2coImNsb3NlIik7JCgiI2RsZXBvcHVwIikucmVt b3ZlKCk7ZCYmZChhKX19OyQoIiNkbGVwb3B1cCIpLnJlbW92ZSgpOyQoImJvZHki KS5hcHBlbmQoIjxkaXYgaWQ9J2RsZXBvcHVwJyB0aXRsZT0nIitjKyInIHN0eWxl PSdkaXNwbGF5Om5vbmUnPjxiciAvPiIrYSsiPGJyIC8+PGJyIC8+PGlucHV0IHR5 cGU9J3RleHQnIG5hbWU9J2RsZS1wcm9tdC10ZXh0JyBpZD0nZGxlLXByb210LXRl eHQnIGNsYXNzPSd1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsJyBzdHls ZT0nd2lkdGg6OTclOyBwYWRkaW5nOiAuNGVtOycgdmFsdWU9JyIrCmIrIicvPjwv ZGl2PiIpOyQoIiNkbGVwb3B1cCIpLmRpYWxvZyh7YXV0b09wZW46ITAsd2lkdGg6 NTAwLGJ1dHRvbnM6Zn0pO2IubGVuZ3RoPjA/JCgiI2RsZS1wcm9tdC10ZXh0Iiku c2VsZWN0KCkuZm9jdXMoKTokKCIjZGxlLXByb210LXRleHQiKS5mb2N1cygpfXZh ciBkbGVfdXNlcl9wcm9maWxlPSIiLGRsZV91c2VyX3Byb2ZpbGVfbGluaz0iIjsK ZnVuY3Rpb24gU2hvd1BvcHVwUHJvZmlsZShhLGIpe3ZhciBjPXt9O2NbbWVudV9w cm9maWxlXT1mdW5jdGlvbigpe2RvY3VtZW50LmxvY2F0aW9uPWRsZV91c2VyX3By b2ZpbGVfbGlua307ZGxlX2dyb3VwIT01JiYoY1ttZW51X3NlbmRdPWZ1bmN0aW9u KCl7ZG9jdW1lbnQubG9jYXRpb249ZGxlX3Jvb3QrImluZGV4LnBocD9kbz1wbSZk b2FjdGlvbj1uZXdwbSZ1c2VybmFtZT0iK2RsZV91c2VyX3Byb2ZpbGV9KTtiPT0x JiYoY1ttZW51X3VlZGl0XT1mdW5jdGlvbigpeyQodGhpcykuZGlhbG9nKCJjbG9z ZSIpO3dpbmRvdy5vcGVuKCIiK2RsZV9yb290K2RsZV9hZG1pbisiP21vZD1lZGl0 dXNlcnMmYWN0aW9uPWVkaXR1c2VyJnVzZXI9IitkbGVfdXNlcl9wcm9maWxlKyIi LCJVc2VyIiwidG9vbGJhcj0wLGxvY2F0aW9uPTAsc3RhdHVzPTAsIGxlZnQ9MCwg dG9wPTAsIG1lbnViYXI9MCxzY3JvbGxiYXJzPXllcyxyZXNpemFibGU9MCx3aWR0 aD01NDAsaGVpZ2h0PTUwMCIpfSk7CiQoIiNkbGVwcm9maWxlcG9wdXAiKS5yZW1v dmUoKTskKCJib2R5IikuYXBwZW5kKGEpOyQoIiNkbGVwcm9maWxlcG9wdXAiKS5k aWFsb2coe2F1dG9PcGVuOiEwLHNob3c6ImZhZGUiLGhpZGU6ImZhZGUiLGJ1dHRv bnM6Yyx3aWR0aDo0NTB9KTtyZXR1cm4hMX1mdW5jdGlvbiBTaG93UHJvZmlsZShh LGIsYyl7aWYoZGxlX3VzZXJfcHJvZmlsZT09YSYmZG9jdW1lbnQuZ2V0RWxlbWVu dEJ5SWQoImRsZXByb2ZpbGVwb3B1cCIpKXJldHVybiAkKCIjZGxlcHJvZmlsZXBv cHVwIikuZGlhbG9nKCJvcGVuIiksITE7ZGxlX3VzZXJfcHJvZmlsZT1hO2RsZV91 c2VyX3Byb2ZpbGVfbGluaz1iO1Nob3dMb2FkaW5nKCIiKTskLmdldChkbGVfcm9v dCsiZW5naW5lL2FqYXgvcHJvZmlsZS5waHAiLHtuYW1lOmEsc2tpbjpkbGVfc2tp bn0sZnVuY3Rpb24oYSl7SGlkZUxvYWRpbmcoIiIpO1Nob3dQb3B1cFByb2ZpbGUo YSxjKX0pO3JldHVybiExfQpmdW5jdGlvbiBGYXN0U2VhcmNoKCl7JCgiI3N0b3J5 IikuYXR0cigiYXV0b2NvbXBsZXRlIiwib2ZmIik7JCgiI3N0b3J5IikuYmx1cihm dW5jdGlvbigpeyQoIiNzZWFyY2hzdWdnZXN0aW9ucyIpLmZhZGVPdXQoKX0pOyQo IiNzdG9yeSIpLmtleXVwKGZ1bmN0aW9uKCl7dmFyIGE9JCh0aGlzKS52YWwoKTth Lmxlbmd0aD09MD8kKCIjc2VhcmNoc3VnZ2VzdGlvbnMiKS5mYWRlT3V0KCk6ZGxl X3NlYXJjaF92YWx1ZSE9YSYmYS5sZW5ndGg+MyYmKGNsZWFySW50ZXJ2YWwoZGxl X3NlYXJjaF9kZWxheSksZGxlX3NlYXJjaF9kZWxheT1zZXRJbnRlcnZhbChmdW5j dGlvbigpe2RsZV9kb19zZWFyY2goYSl9LDYwMCkpfSl9CmZ1bmN0aW9uIGRsZV9k b19zZWFyY2goYSl7Y2xlYXJJbnRlcnZhbChkbGVfc2VhcmNoX2RlbGF5KTskKCIj c2VhcmNoc3VnZ2VzdGlvbnMiKS5yZW1vdmUoKTskKCJib2R5IikuYXBwZW5kKCI8 ZGl2IGlkPSdzZWFyY2hzdWdnZXN0aW9ucycgc3R5bGU9J2Rpc3BsYXk6bm9uZSc+ PC9kaXY+Iik7JC5wb3N0KGRsZV9yb290KyJlbmdpbmUvYWpheC9zZWFyY2gucGhw Iix7cXVlcnk6IiIrYSsiIn0sZnVuY3Rpb24oYSl7JCgiI3NlYXJjaHN1Z2dlc3Rp b25zIikuaHRtbChhKS5mYWRlSW4oKS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIs dG9wOjAsbGVmdDowfSkucG9zaXRpb24oe215OiJsZWZ0IHRvcCIsYXQ6ImxlZnQg Ym90dG9tIixvZjoiI3N0b3J5Iixjb2xsaXNpb246ImZpdCBmbGlwIn0pfSk7ZGxl X3NlYXJjaF92YWx1ZT1hfQpmdW5jdGlvbiBTaG93TG9hZGluZyhhKXthJiYkKCIj bG9hZGluZy1sYXllci10ZXh0IikuaHRtbChhKTt2YXIgYT0oJCh3aW5kb3cpLndp ZHRoKCktJCgiI2xvYWRpbmctbGF5ZXIiKS53aWR0aCgpKS8yLGI9KCQod2luZG93 KS5oZWlnaHQoKS0kKCIjbG9hZGluZy1sYXllciIpLmhlaWdodCgpKS8yOyQoIiNs b2FkaW5nLWxheWVyIikuY3NzKHtsZWZ0OmErInB4Iix0b3A6YisicHgiLHBvc2l0 aW9uOiJmaXhlZCIsekluZGV4OiI5OSJ9KTskKCIjbG9hZGluZy1sYXllciIpLmZh ZGVUbygic2xvdyIsMC42KX1mdW5jdGlvbiBIaWRlTG9hZGluZygpeyQoIiNsb2Fk aW5nLWxheWVyIikuZmFkZU91dCgic2xvdyIpfQpmdW5jdGlvbiBTaG93QWxsVm90 ZXMoKXtpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGxldm90ZXNwb3B1cCIp KXJldHVybiAkKCIjZGxldm90ZXNwb3B1cCIpLmRpYWxvZygib3BlbiIpLCExOyQu YWpheFNldHVwKHtjYWNoZTohMX0pO1Nob3dMb2FkaW5nKCIiKTskLmdldChkbGVf cm9vdCsiZW5naW5lL2FqYXgvYWxsdm90ZXMucGhwP2RsZV9za2luPSIrZGxlX3Nr aW4sZnVuY3Rpb24oYSl7SGlkZUxvYWRpbmcoIiIpOyQoIiNkbGV2b3Rlc3BvcHVw IikucmVtb3ZlKCk7JCgiYm9keSIpLmFwcGVuZChhKTskKCIuZGxldm90ZWJ1dHRv biIpLmJ1dHRvbigpOyQoIiNkbGV2b3Rlc3BvcHVwIikuZGlhbG9nKHthdXRvT3Bl bjohMCxzaG93OiJmYWRlIixoaWRlOiJmYWRlIix3aWR0aDo2MDAsaGVpZ2h0OjE1 MH0pOyQoIiNkbGV2b3Rlc3BvcHVwY29udGVudCIpLmhlaWdodCgpPjQwMCYmJCgi I2RsZXZvdGVzcG9wdXBjb250ZW50IikuaGVpZ2h0KDQwMCk7JCgiI2RsZXZvdGVz cG9wdXAiKS5kaWFsb2coIm9wdGlvbiIsCiJoZWlnaHQiLCQoIiNkbGV2b3Rlc3Bv cHVwY29udGVudCIpLmhlaWdodCgpKzQwKTskKCIjZGxldm90ZXNwb3B1cCIpLmRp YWxvZygib3B0aW9uIiwicG9zaXRpb24iLCJjZW50ZXIiKX0pO3JldHVybiExfWZ1 bmN0aW9uIGZhc3Rfdm90ZShhKXt2YXIgYj0kKCIjdm90ZV8iK2ErIiBpbnB1dDpy YWRpb1tuYW1lPXZvdGVfY2hlY2tdOmNoZWNrZWQiKS52YWwoKTtTaG93TG9hZGlu ZygiIik7JC5nZXQoZGxlX3Jvb3QrImVuZ2luZS9hamF4L3ZvdGUucGhwIix7dm90 ZV9pZDphLHZvdGVfYWN0aW9uOiJ2b3RlIix2b3RlX21vZGU6ImZhc3Rfdm90ZSIs dm90ZV9jaGVjazpiLHZvdGVfc2tpbjpkbGVfc2tpbn0sZnVuY3Rpb24oYil7SGlk ZUxvYWRpbmcoIiIpOyQoIiNkbGUtdm90ZV9saXN0LSIrYSkuZmFkZU91dCg1MDAs ZnVuY3Rpb24oKXskKHRoaXMpLmh0bWwoYik7JCh0aGlzKS5mYWRlSW4oNTAwKX0p fSk7cmV0dXJuITF9CmZ1bmN0aW9uIEFkZElnbm9yZVBNKGEsYil7RExFY29uZmly bShiLGRsZV9jb25maXJtLGZ1bmN0aW9uKCl7U2hvd0xvYWRpbmcoIiIpOyQuZ2V0 KGRsZV9yb290KyJlbmdpbmUvYWpheC9wbS5waHAiLHtpZDphLGFjdGlvbjoiYWRk X2lnbm9yZSIsc2tpbjpkbGVfc2tpbn0sZnVuY3Rpb24oYSl7SGlkZUxvYWRpbmco IiIpO0RMRWFsZXJ0KGEsZGxlX2luZm8pO3JldHVybiExfSl9KX1mdW5jdGlvbiBE ZWxJZ25vcmVQTShhLGIpe0RMRWNvbmZpcm0oYixkbGVfY29uZmlybSxmdW5jdGlv bigpe1Nob3dMb2FkaW5nKCIiKTskLmdldChkbGVfcm9vdCsiZW5naW5lL2FqYXgv cG0ucGhwIix7aWQ6YSxhY3Rpb246ImRlbF9pZ25vcmUiLHNraW46ZGxlX3NraW59 LGZ1bmN0aW9uKGIpe0hpZGVMb2FkaW5nKCIiKTskKCIjZGxlLWlnbm9yZS1saXN0 LSIrYSkuaHRtbCgiIik7RExFYWxlcnQoYixkbGVfaW5mbyk7cmV0dXJuITF9KX0p fQpmdW5jdGlvbiBkcm9wZG93bm1lbnUoYSxiLGMsZCl7d2luZG93LmV2ZW50P2V2 ZW50LmNhbmNlbEJ1YmJsZT0hMDpiLnN0b3BQcm9wYWdhdGlvbiYmYi5zdG9wUHJv cGFnYXRpb24oKTtiPSQoIiNkcm9wbWVudWRpdiIpO2lmKGIuaXMoIjp2aXNpYmxl IikpcmV0dXJuIGNsZWFyaGlkZW1lbnUoKSxiLmZhZGVPdXQoImZhc3QiKSwhMTti LnJlbW92ZSgpOyQoImJvZHkiKS5hcHBlbmQoJzxkaXYgaWQ9ImRyb3BtZW51ZGl2 IiBzdHlsZT0iZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6 MTAwO3dpZHRoOjE2NXB4OyI+PC9kaXY+Jyk7Yj0kKCIjZHJvcG1lbnVkaXYiKTti Lmh0bWwoYy5qb2luKCIiKSk7ZCYmYi53aWR0aChkKTtjPSQoZG9jdW1lbnQpLndp ZHRoKCktMTU7ZD0kKGEpLm9mZnNldCgpO2MtZC5sZWZ0PGIud2lkdGgoKSYmKGQu bGVmdC09Yi53aWR0aCgpLWEub2Zmc2V0V2lkdGgpO2IuY3NzKHtsZWZ0OmQubGVm dCsicHgiLHRvcDpkLnRvcCthLm9mZnNldEhlaWdodCsKInB4In0pO2IuZmFkZVRv KCJmYXN0IiwwLjkpO2IubW91c2VlbnRlcihmdW5jdGlvbigpe2NsZWFyaGlkZW1l bnUoKX0pLm1vdXNlbGVhdmUoZnVuY3Rpb24oKXtkZWxheWhpZGVtZW51KCl9KTsk KGRvY3VtZW50KS5vbmUoImNsaWNrIixmdW5jdGlvbigpe2hpZGVtZW51KCl9KTty ZXR1cm4hMX1mdW5jdGlvbiBoaWRlbWVudSgpeyQoIiNkcm9wbWVudWRpdiIpLmZh ZGVPdXQoImZhc3QiKX1mdW5jdGlvbiBkZWxheWhpZGVtZW51KCl7ZGVsYXloaWRl PXNldFRpbWVvdXQoImhpZGVtZW51KCkiLDFFMyl9ZnVuY3Rpb24gY2xlYXJoaWRl bWVudSgpe3R5cGVvZiBkZWxheWhpZGUhPSJ1bmRlZmluZWQiJiZjbGVhclRpbWVv dXQoZGVsYXloaWRlKX07 ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=bbcodes.js Content-Type: application/x-javascript; charset=windows-1251; name=bbcodes.js Content-Location: http://www.dl4all.com/engine/classes/js/bbcodes.js Content-Transfer-Encoding: Base64 dmFyIHVhZ2VudD1uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCksaXNf c2FmYXJpPXVhZ2VudC5pbmRleE9mKCJzYWZhcmkiKSE9LTF8fG5hdmlnYXRvci52 ZW5kb3I9PSJBcHBsZSBDb21wdXRlciwgSW5jLiIsaXNfb3BlcmE9dWFnZW50Lmlu ZGV4T2YoIm9wZXJhIikhPS0xLGlzX2llPXVhZ2VudC5pbmRleE9mKCJtc2llIikh PS0xJiYhaXNfb3BlcmEmJiFpc19zYWZhcmksaXNfaWU0PWlzX2llJiZ1YWdlbnQu aW5kZXhPZigibXNpZSA0LiIpIT0tMSxpc193aW49dWFnZW50LmluZGV4T2YoIndp biIpIT0tMXx8dWFnZW50LmluZGV4T2YoIjE2Yml0IikhPS0xLHVhX3ZlcnM9cGFy c2VJbnQobmF2aWdhdG9yLmFwcFZlcnNpb24pLGllX3JhbmdlX2NhY2hlPSIiLGxp c3Rfb3Blbl90YWc9IiIsbGlzdF9jbG9zZV90YWc9IiIsbGlzdGl0ZW1zPSIiLGJi dGFncz1bXSxydXNfbHIyPSJcdTA0MTUtXHUwNDM1LVx1MDQxZS1cdTA0M2UtXHUw NDAxLVx1MDQwMS1cdTA0MDEtXHUwNDAxLVx1MDQxNi1cdTA0MTYtXHUwNDI3LVx1 MDQyNy1cdTA0MjgtXHUwNDI4LVx1MDQyOS1cdTA0MjktXHUwNDJhLVx1MDQyYy1c dTA0MmQtXHUwNDJkLVx1MDQyZS1cdTA0MmUtXHUwNDJmLVx1MDQyZi1cdTA0MmYt XHUwNDJmLVx1MDQ1MS1cdTA0NTEtXHUwNDM2LVx1MDQ0Ny1cdTA0NDgtXHUwNDQ5 LVx1MDQ0ZC1cdTA0NGUtXHUwNDRmLVx1MDQ0ZiIuc3BsaXQoIi0iKSwNCmxhdF9s cjI9KCIvRS0vZS0vTy0vby1cdTA0MmJPLVx1MDQyYm8tXHUwNDE5Ty1cdTA0MTlv LVx1MDQxN0gtXHUwNDE3aC1cdTA0MjZILVx1MDQyNmgtXHUwNDIxSC1cdTA0MjFo LVx1MDQyOEgtXHUwNDI4aC1cdTA0NGEiK1N0cmluZy5mcm9tQ2hhckNvZGUoMzUp KyItXHUwNDRjIitTdHJpbmcuZnJvbUNoYXJDb2RlKDM5KSsiLVx1MDQxOUUtXHUw NDE5ZS1cdTA0MTlVLVx1MDQxOXUtXHUwNDE5QS1cdTA0MTlhLVx1MDQyYkEtXHUw NDJiYS1cdTA0NGJvLVx1MDQzOW8tXHUwNDM3aC1cdTA0NDZoLVx1MDQ0MWgtXHUw NDQ4aC1cdTA0MzllLVx1MDQzOXUtXHUwNDM5YS1cdTA0NGJhIikuc3BsaXQoIi0i KSxydXNfbHIxPSJcdTA0MTAtXHUwNDExLVx1MDQxMi1cdTA0MTMtXHUwNDE0LVx1 MDQxNS1cdTA0MTctXHUwNDE4LVx1MDQxOS1cdTA0MWEtXHUwNDFiLVx1MDQxYy1c dTA0MWQtXHUwNDFlLVx1MDQxZi1cdTA0MjAtXHUwNDIxLVx1MDQyMi1cdTA0MjMt XHUwNDI0LVx1MDQyNS1cdTA0MjUtXHUwNDI2LVx1MDQyOS1cdTA0MmItXHUwNDJm LVx1MDQzMC1cdTA0MzEtXHUwNDMyLVx1MDQzMy1cdTA0MzQtXHUwNDM1LVx1MDQz Ny1cdTA0MzgtXHUwNDM5LVx1MDQzYS1cdTA0M2ItXHUwNDNjLVx1MDQzZC1cdTA0 M2UtXHUwNDNmLVx1MDQ0MC1cdTA0NDEtXHUwNDQyLVx1MDQ0My1cdTA0NDQtXHUw NDQ1LVx1MDQ0NS1cdTA0NDYtXHUwNDQ5LVx1MDQ0YS1cdTA0NGItXHUwNDRjLVx1 MDQ0Yy1cdTA0NGYiLnNwbGl0KCItIiksDQpsYXRfbHIxPSgiQS1CLVYtRy1ELUUt Wi1JLUotSy1MLU0tTi1PLVAtUi1TLVQtVS1GLUgtWC1DLVctWS1RLWEtYi12LWct ZC1lLXotaS1qLWstbC1tLW4tby1wLXItcy10LXUtZi1oLXgtYy13LSIrU3RyaW5n LmZyb21DaGFyQ29kZSgzNSkrIi15LSIrU3RyaW5nLmZyb21DaGFyQ29kZSgzOSkr Ii0iK1N0cmluZy5mcm9tQ2hhckNvZGUoOTYpKyItcSIpLnNwbGl0KCItIik7ZnVu Y3Rpb24gc2V0RmllbGROYW1lKGEpe2EhPXNlbEZpZWxkJiYoc2VsRmllbGQ9YSl9 ZnVuY3Rpb24gZW1vdGljb24oYSl7ZG9JbnNlcnQoIiAiK2ErIiAiLCIiLCExKX1m dW5jdGlvbiBwYWdlYnJlYWsoKXtkb0luc2VydCgie1BBR0VCUkVBS30iLCIiLCEx KX1mdW5jdGlvbiBzaW1wbGV0YWcoYSl7ZG9JbnNlcnQoIlsiK2ErIl0iLCJbLyIr YSsiXSIsITApfQ0KZnVuY3Rpb24gdGFnX3VybCgpe3ZhciBhPWdldF9zZWwoZXZh bCgiZm9tYmouIitzZWxGaWVsZCkpO2F8fChhPSJNeSBXZWJwYWdlIik7RExFcHJv bXB0KHRleHRfZW50ZXJfdXJsLCJodHRwOi8vIixkbGVfcHJvbXB0LGZ1bmN0aW9u KGIpe0RMRXByb21wdCh0ZXh0X2VudGVyX3VybF9uYW1lLGEsZGxlX3Byb21wdCxm dW5jdGlvbihhKXtkb0luc2VydCgiW3VybD0iK2IrIl0iK2ErIlsvdXJsXSIsIiIs ITEpO2llX3JhbmdlX2NhY2hlPW51bGx9KX0pfQ0KZnVuY3Rpb24gdGFnX2xlZWNo KCl7dmFyIGE9Z2V0X3NlbChldmFsKCJmb21iai4iK3NlbEZpZWxkKSk7YXx8KGE9 Ik15IFdlYnBhZ2UiKTtETEVwcm9tcHQodGV4dF9lbnRlcl91cmwsImh0dHA6Ly8i LGRsZV9wcm9tcHQsZnVuY3Rpb24oYil7RExFcHJvbXB0KHRleHRfZW50ZXJfdXJs X25hbWUsYSxkbGVfcHJvbXB0LGZ1bmN0aW9uKGEpe2RvSW5zZXJ0KCJbbGVlY2g9 IitiKyJdIithKyJbL2xlZWNoXSIsIiIsITEpO2llX3JhbmdlX2NhY2hlPW51bGx9 KX0pfWZ1bmN0aW9uIHRhZ195b3V0dWJlKCl7dmFyIGE9Z2V0X3NlbChldmFsKCJm b21iai4iK3NlbEZpZWxkKSk7YXx8KGE9Imh0dHA6Ly8iKTtETEVwcm9tcHQodGV4 dF9lbnRlcl91cmwsYSxkbGVfcHJvbXB0LGZ1bmN0aW9uKGEpe2RvSW5zZXJ0KCJb bWVkaWE9IithKyJdIiwiIiwhMSk7aWVfcmFuZ2VfY2FjaGU9bnVsbH0pfQ0KZnVu Y3Rpb24gdGFnX2ZsYXNoKCl7dmFyIGE9Z2V0X3NlbChldmFsKCJmb21iai4iK3Nl bEZpZWxkKSk7YXx8KGE9Imh0dHA6Ly8iKTtETEVwcm9tcHQodGV4dF9lbnRlcl9m bGFzaCxhLGRsZV9wcm9tcHQsZnVuY3Rpb24oYSl7RExFcHJvbXB0KHRleHRfZW50 ZXJfc2l6ZSwiNDI1LDI2NCIsZGxlX3Byb21wdCxmdW5jdGlvbihkKXtkb0luc2Vy dCgiW2ZsYXNoPSIrZCsiXSIrYSsiWy9mbGFzaF0iLCIiLCExKTtpZV9yYW5nZV9j YWNoZT1udWxsfSl9KX1mdW5jdGlvbiB0YWdfbGlzdChhKXtsaXN0X29wZW5fdGFn PWE9PSJvbCI/IltvbD0xXVxuIjoiW2xpc3RdXG4iO2xpc3RfY2xvc2VfdGFnPWE9 PSJvbCI/Ilsvb2xdIjoiWy9saXN0XSI7bGlzdGl0ZW1zPSIiOyhhPWdldF9zZWwo ZXZhbCgiZm9tYmouIitzZWxGaWVsZCkpKXx8KGE9IiIpO2luc2VydF9saXN0KGEp fQ0KZnVuY3Rpb24gaW5zZXJ0X2xpc3QoYSl7RExFcHJvbXB0KHRleHRfZW50ZXJf bGlzdCxhLGRsZV9wcm9tcHQsZnVuY3Rpb24oYSl7YSE9IiI/KGxpc3RpdGVtcys9 IlsqXSIrYSsiXG4iLGluc2VydF9saXN0KCIiKSk6bGlzdGl0ZW1zJiYoZG9JbnNl cnQobGlzdF9vcGVuX3RhZytsaXN0aXRlbXMrbGlzdF9jbG9zZV90YWcsIiIsITEp LGllX3JhbmdlX2NhY2hlPW51bGwpfSwhMCl9DQpmdW5jdGlvbiB0YWdfaW1hZ2Uo KXt2YXIgYT1nZXRfc2VsKGV2YWwoImZvbWJqLiIrc2VsRmllbGQpKTthfHwoYT0i aHR0cDovLyIpO0RMRXByb21wdCh0ZXh0X2VudGVyX2ltYWdlLGEsZGxlX3Byb21w dCxmdW5jdGlvbihhKXtETEVwcm9tcHQoaW1nX3RpdGxlLGltYWdlX2FsaWduLGRs ZV9wcm9tcHQsZnVuY3Rpb24oZCl7ZD09IiI/ZG9JbnNlcnQoIltpbWddIithKyJb L2ltZ10iLCIiLCExKTpkPT0iY2VudGVyIj9kb0luc2VydCgiW2NlbnRlcl1baW1n XSIrYSsiWy9pbWddWy9jZW50ZXJdIiwiIiwhMSk6ZG9JbnNlcnQoIltpbWc9Iitk KyJdIithKyJbL2ltZ10iLCIiLCExKTtpZV9yYW5nZV9jYWNoZT1udWxsfSwhMCl9 KX0NCmZ1bmN0aW9uIHRhZ192aWRlbygpe3ZhciBhPWdldF9zZWwoZXZhbCgiZm9t YmouIitzZWxGaWVsZCkpO2F8fChhPSJodHRwOi8vIik7RExFcHJvbXB0KHRleHRf ZW50ZXJfdXJsLGEsZGxlX3Byb21wdCxmdW5jdGlvbihhKXtkb0luc2VydCgiW3Zp ZGVvPSIrYSsiXSIsIiIsITEpO2llX3JhbmdlX2NhY2hlPW51bGx9KX1mdW5jdGlv biB0YWdfYXVkaW8oKXt2YXIgYT1nZXRfc2VsKGV2YWwoImZvbWJqLiIrc2VsRmll bGQpKTthfHwoYT0iaHR0cDovLyIpO0RMRXByb21wdCh0ZXh0X2VudGVyX3VybCxh LGRsZV9wcm9tcHQsZnVuY3Rpb24oYSl7ZG9JbnNlcnQoIlthdWRpbz0iK2ErIl0i LCIiLCExKTtpZV9yYW5nZV9jYWNoZT1udWxsfSl9DQpmdW5jdGlvbiB0YWdfZW1h aWwoKXt2YXIgYT1nZXRfc2VsKGV2YWwoImZvbWJqLiIrc2VsRmllbGQpKTthfHwo YT0iIik7RExFcHJvbXB0KHRleHRfZW50ZXJfZW1haWwsIiIsZGxlX3Byb21wdCxm dW5jdGlvbihiKXtETEVwcm9tcHQoZW1haWxfdGl0bGUsYSxkbGVfcHJvbXB0LGZ1 bmN0aW9uKGEpe2RvSW5zZXJ0KCJbZW1haWw9IitiKyJdIithKyJbL2VtYWlsXSIs IiIsITEpO2llX3JhbmdlX2NhY2hlPW51bGx9KX0pfQ0KZnVuY3Rpb24gZG9JbnNl cnQoYSxiLGQpe3ZhciBjPWV2YWwoImZvbWJqLiIrc2VsRmllbGQpO2lmKHVhX3Zl cnM+PTQmJmlzX2llJiZpc193aW4pe2lmKGMuaXNUZXh0RWRpdCl7Yy5mb2N1cygp O3ZhciBmPWRvY3VtZW50LnNlbGVjdGlvbixlPWllX3JhbmdlX2NhY2hlP2llX3Jh bmdlX2NhY2hlOmYuY3JlYXRlUmFuZ2UoKTtpZigoZi50eXBlPT0iVGV4dCJ8fGYu dHlwZT09Ik5vbmUiKSYmZSE9bnVsbCliIT0iIiYmZS50ZXh0Lmxlbmd0aD4wP2Er PWUudGV4dCtiOmQmJihhKz1lLnRleHQrYiksZS50ZXh0PWF9ZWxzZSBjLnZhbHVl Kz1hK2I7ZS5zZWxlY3QoKTtpZV9yYW5nZV9jYWNoZT1udWxsfWVsc2UgaWYoYy5z ZWxlY3Rpb25FbmQpe3ZhciBlPWMuc2VsZWN0aW9uU3RhcnQsZj1jLnNjcm9sbFRv cCxoPWMuc2VsZWN0aW9uRW5kLGk9Yy52YWx1ZS5zdWJzdHJpbmcoMCxlKSxnPWMu dmFsdWUuc3Vic3RyaW5nKGUsaCksaD1jLnZhbHVlLnN1YnN0cmluZyhoLGMudGV4 dExlbmd0aCk7DQpkfHwoZz0iIik7Zz1hK2crYjtjLnZhbHVlPWkrZytoO2E9ZStn Lmxlbmd0aDtjLnNlbGVjdGlvblN0YXJ0PWE7Yy5zZWxlY3Rpb25FbmQ9YTtjLnNj cm9sbFRvcD1mfWVsc2UgYy52YWx1ZSs9YStiO2MuZm9jdXMoKTtyZXR1cm4hMX0N CmZ1bmN0aW9uIGluc19jb2xvcigpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNl bEZpZWxkKS5mb2N1cygpO2lzX2llJiYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo c2VsRmllbGQpLmZvY3VzKCksaWVfcmFuZ2VfY2FjaGU9ZG9jdW1lbnQuc2VsZWN0 aW9uLmNyZWF0ZVJhbmdlKCkpOyQoIiNjcCIpLnJlbW92ZSgpOyQoImJvZHkiKS5h cHBlbmQoIjxkaXYgaWQ9J2NwJyB0aXRsZT0nIitiYl90X2NvbCsnXCcgc3R5bGU9 XCdkaXNwbGF5Om5vbmVcJz48YnIgLz48aWZyYW1lIHdpZHRoPSIxNTQiIGhlaWdo dD0iMTA0IiBzcmM9IicrZGxlX3Jvb3QrInRlbXBsYXRlcy8iK2RsZV9za2luKycv YmJjb2Rlcy9jb2xvci5odG1sIiBmcmFtZWJvcmRlcj0iMCIgbWFyZ2lud2lkdGg9 IjAiIG1hcmdpbmhlaWdodD0iMCIgc2Nyb2xsaW5nPSJubyI+PC9pZnJhbWU+PC9k aXY+Jyk7JCgiI2NwIikuZGlhbG9nKHthdXRvT3BlbjohMCx3aWR0aDoxODB9KX0N CmZ1bmN0aW9uIHNldENvbG9yKGEpe2RvSW5zZXJ0KCJbY29sb3I9IithKyJdIiwi Wy9jb2xvcl0iLCEwKTskKCIjY3AiKS5kaWFsb2coImNsb3NlIil9DQpmdW5jdGlv biBpbnNfZW1vKCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2VsRmllbGQpLmZv Y3VzKCk7aXNfaWUmJihkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzZWxGaWVsZCku Zm9jdXMoKSxpZV9yYW5nZV9jYWNoZT1kb2N1bWVudC5zZWxlY3Rpb24uY3JlYXRl UmFuZ2UoKSk7JCgiI2RsZV9lbW8iKS5yZW1vdmUoKTskKCJib2R5IikuYXBwZW5k KCI8ZGl2IGlkPSdkbGVfZW1vJyB0aXRsZT0nIitiYl90X2VtbysiJyBzdHlsZT0n ZGlzcGxheTpub25lJz4iK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkbGVfZW1v cyIpLmlubmVySFRNTCsiPC9kaXY+Iik7dmFyIGE9IjMwMCIsYj0iYXV0byI7JCgi I2RsZV9lbW9zIikud2lkdGgoKT49NDUwJiYoJCgiI2RsZV9lbW9zIikud2lkdGgo NDUwKSxhPSI1MDUiKTskKCIjZGxlX2Vtb3MiKS5oZWlnaHQoKT49MzAwJiYoJCgi I2RsZV9lbW9zIikuaGVpZ2h0KDMwMCksYj0iMzQwIik7JCgiI2RsZV9lbW8iKS5k aWFsb2coe2F1dG9PcGVuOiEwLA0Kd2lkdGg6YSxoZWlnaHQ6Yn0pfWZ1bmN0aW9u IGRsZV9zbWlsZXkoYSl7ZG9JbnNlcnQoIiAiK2ErIiAiLCIiLCExKTskKCIjZGxl X2VtbyIpLmRpYWxvZygiY2xvc2UiKTtpZV9yYW5nZV9jYWNoZT1udWxsfWZ1bmN0 aW9uIHBhZ2VsaW5rKCl7dmFyIGE9Z2V0X3NlbChldmFsKCJmb21iai4iK3NlbEZp ZWxkKSk7YXx8KGE9dGV4dF9wYWdlcyk7RExFcHJvbXB0KHRleHRfZW50ZXJfcGFn ZSwiMSIsZGxlX3Byb21wdCxmdW5jdGlvbihiKXtETEVwcm9tcHQodGV4dF9lbnRl cl9wYWdlX25hbWUsYSxkbGVfcHJvbXB0LGZ1bmN0aW9uKGEpe2RvSW5zZXJ0KCJb cGFnZT0iK2IrIl0iK2ErIlsvcGFnZV0iLCIiLCExKTtpZV9yYW5nZV9jYWNoZT1u dWxsfSl9KX0NCmZ1bmN0aW9uIHRyYW5zbGl0KCl7dmFyIGE9ZXZhbCgiZm9tYmou IitzZWxGaWVsZCk7aWYodWFfdmVycz49NCYmaXNfaWUmJmlzX3dpbilpZihhLmlz VGV4dEVkaXQpe2EuZm9jdXMoKTt2YXIgYj1kb2N1bWVudC5zZWxlY3Rpb24sZD1i LmNyZWF0ZVJhbmdlKCk7aWYoKGIudHlwZT09IlRleHQifHxiLnR5cGU9PSJOb25l IikmJmQhPW51bGwpZC50ZXh0PWRvdHJhbnNsYXRlKGQudGV4dCl9ZWxzZSBhLnZh bHVlPWRvdHJhbnNsYXRlKGEudmFsdWUpO2Vsc2UgYS52YWx1ZT1kb3RyYW5zbGF0 ZShhLnZhbHVlKTthLmZvY3VzKCl9DQpmdW5jdGlvbiBkb3RyYW5zbGF0ZShhKXt2 YXIgYj0iIixkPTAsZD0iIixjPTE7Zm9yKGtrPTA7a2s8YS5sZW5ndGg7a2srKyl7 ZD1hLnN1YnN0cihraywxKTtpZihkPT0iWyJ8fGQ9PSI8IiljPTA7aWYoZD09Il0i fHxkPT0iPiIpYz0xO2Q9Yz90cmFuc3N5bWJ0b2N5cihiLnN1YnN0cihiLmxlbmd0 aC0xLDEpLGQpOmIuc3Vic3RyKGIubGVuZ3RoLTEsMSkrZDtiPWIuc3Vic3RyKDAs Yi5sZW5ndGgtMSkrZH1yZXR1cm4gYn1mdW5jdGlvbiB0cmFuc3N5bWJ0b2N5cihh LGIpe3ZhciBkPWErYixjPWIuY2hhckNvZGVBdCgwKTtpZighKGM+PTY1JiZjPD0x MjN8fGM9PTM1fHxjPT0zOSkpcmV0dXJuIGQ7Zm9yKGM9MDtjPGxhdF9scjIubGVu Z3RoO2MrKylpZihsYXRfbHIyW2NdPT1kKXJldHVybiBydXNfbHIyW2NdO2Zvcihj PTA7YzxsYXRfbHIxLmxlbmd0aDtjKyspaWYobGF0X2xyMVtjXT09YilyZXR1cm4g YStydXNfbHIxW2NdO3JldHVybiBkfQ0KZnVuY3Rpb24gaW5zZXJ0X2ZvbnQoYSxi KXtpZihhIT0wKWRvSW5zZXJ0KCJbIitiKyI9IithKyJdIiwiWy8iK2IrIl0iLCEw KSxmb21iai5iYmZvbnQuc2VsZWN0ZWRJbmRleD0wLGZvbWJqLmJic2l6ZS5zZWxl Y3RlZEluZGV4PTB9ZnVuY3Rpb24gZ2V0X3NlbChhKXtpZihkb2N1bWVudC5zZWxl Y3Rpb24pe2lmKGlzX2llJiYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2VsRmll bGQpLmZvY3VzKCksaWVfcmFuZ2VfY2FjaGU9ZG9jdW1lbnQuc2VsZWN0aW9uLmNy ZWF0ZVJhbmdlKCkpLGE9ZG9jdW1lbnQuc2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCks YS50ZXh0KXJldHVybiBhLnRleHR9ZWxzZSBpZih0eXBlb2YgYS5zZWxlY3Rpb25T dGFydD09Im51bWJlciImJmEuc2VsZWN0aW9uU3RhcnQhPWEuc2VsZWN0aW9uRW5k KXt2YXIgYj1hLnNlbGVjdGlvblN0YXJ0O3JldHVybiBhLnZhbHVlLnN1YnN0cihi LGEuc2VsZWN0aW9uRW5kLWIpfXJldHVybiExfTs= ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=highslide.js Content-Type: application/x-javascript; name=highslide.js Content-Location: http://www.dl4all.com/engine/classes/highslide/highslide.js Content-Transfer-Encoding: Base64 LyoqIA0KICogTmFtZTogICAgSGlnaHNsaWRlIEpTDQogKiBWZXJzaW9uOiA0LjEu MTIgKDIwMTEtMDMtMjgpDQogKiBDb25maWc6ICBkZWZhdWx0IC1wcmVsb2FkaW5n IC1oaWRlZWxlbWVudHMgK3NsaWRlc2hvdyArcG9zaXRpb25pbmcgK3RyYW5zaXRp b25zICt2aWV3cG9ydCArcGFja2VkCiAqIEF1dGhvcjogIFRvcnN0ZWluIEjDg8K4 bnNpDQogKiBTdXBwb3J0OiB3d3cuaGlnaHNsaWRlLmNvbS9zdXBwb3J0DQogKiBM aWNlbnNlOiB3d3cuaGlnaHNsaWRlLmNvbS8jbGljZW5zZQ0KICovDQpldmFsKGZ1 bmN0aW9uKHAsYSxjLGssZSxkKXtlPWZ1bmN0aW9uKGMpe3JldHVybihjPGE/Jyc6 ZShwYXJzZUludChjL2EpKSkrKChjPWMlYSk+MzU/U3RyaW5nLmZyb21DaGFyQ29k ZShjKzI5KTpjLnRvU3RyaW5nKDM2KSl9O2lmKCEnJy5yZXBsYWNlKC9eLyxTdHJp bmcpKXt3aGlsZShjLS0pe2RbZShjKV09a1tjXXx8ZShjKX1rPVtmdW5jdGlvbihl KXtyZXR1cm4gZFtlXX1dO2U9ZnVuY3Rpb24oKXtyZXR1cm4nXFx3Kyd9O2M9MX07 d2hpbGUoYy0tKXtpZihrW2NdKXtwPXAucmVwbGFjZShuZXcgUmVnRXhwKCdcXGIn K2UoYykrJ1xcYicsJ2cnKSxrW2NdKX19cmV0dXJuIHB9KCdxKCFtKXt1IG09e1k6 ezhHOlwnOGlcJyw4azpcJ2E5Li4uXCcsOGw6XCc2dyAxRSA5WFwnLDhnOlwnNncg MUUgYWYgMUUgYWFcJyw2bjpcJ2EyIDFFIGE3IEIgKGYpXCcsN0Y6XCdhNCBieSA8 aT44TCA4UDwvaT5cJyw3UjpcJ2E2IDFFIGEwIDhMIDhQIGF0XCcsOVE6XCc5T1wn LDlDOlwnOXlcJyw5RTpcJzlOXCcsODE6XCc4YVwnLDdYOlwnOGEgKGF1KVwnLGFw OlwnYXpcJyw5VTpcJzhZXCcsOVY6XCc4WSAxbSAoOVQpXCcsOXo6XCc5bFwnLDlX OlwnOWwgMW0gKDlUKVwnLDlSOlwnOU8gKDZtIDFhKVwnLDlBOlwnOXkgKDZtIDJQ KVwnLDlLOlwnOU5cJyw5RjpcJzE6MVwnLDRwOlwnYTggJTEgYWIgJTJcJyw3aTpc JzZ3IDFFIDFPIDJFLCBhZCA5YiBhNSAxRSAyWC4gOVkgNm0gYWUgTCAxdCA5YiAy SS5cJ30sNE06XCdRL2FSL1wnLDVVOlwnYUguNEpcJyw3azpcJ2FDLjRKXCcsNmo6 NGwsN2U6NGwsNDE6MTUsOUc6MTUsNUw6MTUsOTM6MTUsM1g6YWgsOGo6MC43NSw5 djpJLDNjOjIsYUo6Myw0RDoxYyw5bzpcJzN6IDJQXCcsOWk6MSw5cTpJLDgyOlwn YVE6Ly9RLmFOL1wnLDg0OlwnYUxcJyw5MDpJLDZHOltcJ2FcJ10sMks6W10sODA6 NGwsM0k6MCw2TTo1MCw0NTpcJzJpXCcsNlU6XCcyaVwnLDdZOkgsN1Y6SCw3czpJ LDRGOjkyLDRHOjkyLDR6OkksMXk6XCdhTS1hb1wnLDk1OnsyaDpcJzwxdyAzMD0i US0yaCI+PDdaPlwnK1wnPDFOIDMwPSJRLTJJIj5cJytcJzxhIDI4PSIjIiAyNj0i e20uWS45Un0iPlwnK1wnPDFWPnttLlkuOVF9PC8xVj48L2E+XCcrXCc8LzFOPlwn K1wnPDFOIDMwPSJRLTMxIj5cJytcJzxhIDI4PSIjIiAyNj0ie20uWS45Vn0iPlwn K1wnPDFWPnttLlkuOVV9PC8xVj48L2E+XCcrXCc8LzFOPlwnK1wnPDFOIDMwPSJR LTJGIj5cJytcJzxhIDI4PSIjIiAyNj0ie20uWS45V30iPlwnK1wnPDFWPnttLlku OXp9PC8xVj48L2E+XCcrXCc8LzFOPlwnK1wnPDFOIDMwPSJRLTF0Ij5cJytcJzxh IDI4PSIjIiAyNj0ie20uWS45QX0iPlwnK1wnPDFWPnttLlkuOUN9PC8xVj48L2E+ XCcrXCc8LzFOPlwnK1wnPDFOIDMwPSJRLTJYIj5cJytcJzxhIDI4PSIjIiAyNj0i e20uWS45S30iPlwnK1wnPDFWPnttLlkuOUV9PC8xVj48L2E+XCcrXCc8LzFOPlwn K1wnPDFOIDMwPSJRLVotMkciPlwnK1wnPGEgMjg9IiMiIDI2PSJ7bS5ZLjZufSI+ XCcrXCc8MVY+e20uWS45Rn08LzFWPjwvYT5cJytcJzwvMU4+XCcrXCc8MU4gMzA9 IlEtMU8iPlwnK1wnPGEgMjg9IiMiIDI2PSJ7bS5ZLjdYfSIgPlwnK1wnPDFWPntt LlkuODF9PC8xVj48L2E+XCcrXCc8LzFOPlwnK1wnPC83Wj48LzF3PlwnfSxYOltd LDZaOltcJzR6XCcsXCcyUVwnLFwnNDVcJyxcJzZVXCcsXCc3WVwnLFwnN1ZcJyxc JzF5XCcsXCczY1wnLFwnYXJcJyxcJ2F2XCcsXCdhd1wnLFwnODZcJyxcJ2F5XCcs XCdheFwnLFwnYXFcJyxcJzg4XCcsXCc3U1wnLFwnN3NcJyxcJzNiXCcsXCc0b1wn LFwnMktcJyxcJzNJXCcsXCdLXCcsXCcxOFwnLFwnN3ZcJyxcJzRGXCcsXCc0R1wn LFwnNWlcJyxcJzZUXCcsXCc5dVwnLFwnMmpcJyxcJzIzXCcsXCc5N1wnLFwnOTRc JyxcJzFHXCddLDFwOltdLDRrOjAsNmI6e3g6W1wnOHpcJyxcJzFhXCcsXCczUFwn LFwnMlBcJyxcJzlKXCddLHk6W1wnNFFcJyxcJzE0XCcsXCc3dFwnLFwnM3pcJyxc JzYxXCddfSw1SDp7fSw4ODp7fSw4Njp7fSwzcTpbXSw0bjpbXSwzQzp7fSw2ejp7 fSw1OTpbXSwyazovYWtcXC80XFwuMC8uMTcoNTQuNTIpPzg6NzkoKDU0LjUyLjVu KCkuMkooLy4rKD86N0l8YWp8YWl8Mm0pW1xcLzogXShbXFxkLl0rKS8pfHxbMCxc JzBcJ10pWzFdKSwybTooVS40eSYmITFILjNOKSwzVzovYWwvLjE3KDU0LjUyKSw2 UDovYW0uKzdJOjFcXC5bMC04XS4rYW4vLjE3KDU0LjUyKSwkOkEoMUEpe3EoMUEp RCBVLmFBKDFBKX0sMnA6QSgyUywyVil7MlNbMlMuV109MlZ9LDFlOkEoN0osNGIs M2ssN2IsN1Qpe3UgQz1VLjFlKDdKKTtxKDRiKW0uMzUoQyw0Yik7cSg3VCltLlMo Qyx7YUs6MCw5eDpcJzFLXCcsNlc6MH0pO3EoM2spbS5TKEMsM2spO3EoN2IpN2Iu Mm4oQyk7RCBDfSwzNTpBKEMsNGIpe0wodSB4IDJBIDRiKUNbeF09NGJbeF07RCBD fSxTOkEoQywzayl7TCh1IHggMkEgM2spe3EobS40OSYmeD09XCcxZlwnKXtxKDNr W3hdPjAuOTkpQy5HLmFPKFwnNEhcJyk7SiBDLkcuNEg9XCc4QSgxZj1cJysoM2tb eF0qMVApK1wnKVwnfUogQy5HW3hdPTNrW3hdfX0sMjQ6QShDLDE5LDJPKXt1IDNG LDQ2LDNKO3EoMXEgMk8hPVwnNlJcJ3x8Mk89PT1IKXt1IDJIPTg3OzJPPXszbDoy SFsyXSwyMzoySFszXSw1cjoySFs0XX19cSgxcSAyTy4zbCE9XCc0cFwnKTJPLjNs PTRsOzJPLjIzPTFiWzJPLjIzXXx8MWIuOHg7Mk8uNWg9bS4zNSh7fSwxOSk7TCh1 IDJSIDJBIDE5KXt1IGU9MVIgbS4xdihDLDJPLDJSKTszRj03OShtLjc0KEMsMlIp KXx8MDs0Nj03OSgxOVsyUl0pOzNKPTJSIT1cJzFmXCc/XCdGXCc6XCdcJztlLjNu KDNGLDQ2LDNKKX19LDc0OkEoQywxOSl7cShDLkdbMTldKXtEIEMuR1sxOV19SiBx KFUuN00pe0QgVS43TS5hUChDLEgpLmFJKDE5KX1Ke3EoMTk9PVwnMWZcJykxOT1c JzRIXCc7dSAyVj1DLmFEWzE5LjJvKC9cXC0oXFx3KS9nLEEoYSxiKXtEIGIuN04o KX0pXTtxKDE5PT1cJzRIXCcpMlY9MlYuMm8oLzhBXFwoMWY9KFswLTldKylcXCkv LEEoYSxiKXtEIGIvMVB9KTtEIDJWPT09XCdcJz8xOjJWfX0sNVc6QSgpe3UgZD1V LHc9MUgsNHQ9ZC42MiYmZC42MiE9XCc2TlwnP2QuNGY6ZC41Rzt1IEs9bS40OT80 dC42SjooZC40Zi42Snx8NTguYUIpLDE4PW0uNDk/NHQuOHE6NTguYUU7bS4zeD17 SzpLLDE4OjE4LDRZOm0uNDk/NHQuNFk6YUYsNFA6bS40OT80dC40UDphR307RCBt LjN4fSw2YTpBKEMpe3UgcD17eDpDLjhKLHk6Qy44S307NDMoQy44TSl7Qz1DLjhN O3AueCs9Qy44SjtwLnkrPUMuOEs7cShDIT1VLjVHJiZDIT1VLjRmKXtwLngtPUMu NFk7cC55LT1DLjRQfX1EIHB9LDJHOkEoYSwydSwzbixPKXtxKCFhKWE9bS4xZShc J2FcJyxILHsxeDpcJzFLXCd9LG0uMjEpO3EoMXEgYS40cz09XCdBXCcpRCAydTsx U3sxUiBtLjRWKGEsMnUsM24pO0QgMWN9MVQoZSl7RCBJfX0sOXM6QShDLDZLLDEx KXt1IDNnPUMuM2UoNkspO0wodSBpPTA7aTwzZy5XO2krKyl7cSgoMVIgNXgoMTEp KS4xNygzZ1tpXS4xMSkpe0QgM2dbaV19fUQgSH0sOTY6QShzKXtzPXMuMm8oL1xc cy9nLFwnIFwnKTt1IDFMPS97bVxcLllcXC4oW159XSspXFx9L2csNHY9cy4ySigx TCksWTtxKDR2KUwodSBpPTA7aTw0di5XO2krKyl7WT00dltpXS4ybygxTCwiJDEi KTtxKDFxIG0uWVtZXSE9XCcxV1wnKXM9cy4ybyg0dltpXSxtLllbWV0pfUQgc30s OHI6QSgpe3UgNkQ9MCw1bz0tMSxYPW0uWCx6LDFrO0wodSBpPTA7aTxYLlc7aSsr KXt6PVhbaV07cSh6KXsxaz16Lk4uRy4xaztxKDFrJiYxaz42RCl7NkQ9MWs7NW89 aX19fXEoNW89PS0xKW0uM3Y9LTE7SiBYWzVvXS40YSgpfSw0VTpBKGEsNHIpe2Eu NHM9YS4zcjt1IHA9YS40cz9hLjRzKCk6SDthLjRzPUg7RChwJiYxcSBwWzRyXSE9 XCcxV1wnKT9wWzRyXTooMXEgbVs0cl0hPVwnMVdcJz9tWzRyXTpIKX0sYWc6QShh KXt1IDFHPW0uNFUoYSxcJzFHXCcpO3EoMUcpRCAxRztEIGEuMjh9LDRtOkEoMUEp e3UgM3U9bS4kKDFBKSwzdz1tLjZ6WzFBXSxhPXt9O3EoITN1JiYhM3cpRCBIO3Eo ITN3KXszdz0zdS42ZyhJKTszdy4xQT1cJ1wnO20uNnpbMUFdPTN3O0QgM3V9SntE IDN3LjZnKEkpfX0sM3A6QShkKXtxKGQpbS42Qy4ybihkKTttLjZDLjNpPVwnXCd9 LDFoOkEoeil7cSghbS4xWSl7Nkg9STttLjFZPW0uMWUoXCcxd1wnLHsxMTpcJ1Et YTMgUS0xUS1CXCcsM1M6XCdcJywzcjpBKCl7bS4xTygpfX0sezFuOlwnMUJcJywx ZjowfSxtLjIxLEkpfW0uMVkuRy4xeD1cJ1wnO3UgNkg9bS4xWS4zUz09XCdcJztt LjFZLjNTKz1cJ3xcJyt6LjE2O3EoNkgpe3EobS42UCYmbS44cyltLlMobS4xWSx7 ODk6XCc1RihcJyttLjRNK1wnOVouN0spXCcsMWY6MX0pO0ogbS4yNChtLjFZLHsx Zjp6LjNJfSxtLjZNKX19LDZ0OkEoMTYpe3EoIW0uMVkpRDtxKDFxIDE2IT1cJzFX XCcpbS4xWS4zUz1tLjFZLjNTLjJvKFwnfFwnKzE2LFwnXCcpO3EoKDFxIDE2IT1c JzFXXCcmJm0uMVkuM1MhPVwnXCcpfHwobS4xSiYmbS40VShtLjFKLFwnM0lcJykp KUQ7cShtLjZQJiZtLjhzKW0uMVkuRy4xeD1cJzFLXCc7SiBtLjI0KG0uMVksezFm OjB9LG0uNk0sSCxBKCl7bS4xWS5HLjF4PVwnMUtcJ30pfSw4cDpBKDV2LHope3Ug Uj16fHxtLjJkKCk7ej1SO3EobS4xSilEIDFjO0ogbS5SPVI7bS4zTyhVLDFILjNO P1wnNVhcJzpcJzVZXCcsbS40WCk7MVN7bS4xSj01djs1di4zcigpfTFUKGUpe20u Uj1tLjFKPUh9MVN7cSghNXZ8fHouMktbMV0hPVwnM3RcJyl6LjFPKCl9MVQoZSl7 fUQgMWN9LDVzOkEoQywxSSl7dSB6PW0uMmQoQyk7cSh6KUQgbS44cCh6LjlTKDFJ KSx6KTtKIEQgMWN9LDJJOkEoQyl7RCBtLjVzKEMsLTEpfSwxdDpBKEMpe0QgbS41 cyhDLDEpfSw0WDpBKGUpe3EoIWUpZT0xSC4yMDtxKCFlLjFVKWUuMVU9ZS42Qjtx KDFxIGUuMVUuOHYhPVwnMVdcJylEIEk7dSB6PW0uMmQoKTt1IDFJPUg7OFEoZS5h MSl7MXogNzA6cSh6KXouNVMoKTtEIEk7MXogMzI6MUk9Mjs1NTsxeiAzNDoxeiAz OToxeiA0MDoxST0xOzU1OzF6IDg6MXogMzM6MXogMzc6MXogMzg6MUk9LTE7NTU7 MXogMjc6MXogMTM6MUk9MH1xKDFJIT09SCl7bS4zTyhVLDFILjNOP1wnNVhcJzpc JzVZXCcsbS40WCk7cSghbS45MClEIEk7cShlLjVqKWUuNWooKTtKIGUuYmU9MWM7 cSh6KXtxKDFJPT0wKXt6LjFPKCl9SiBxKDFJPT0yKXtxKHouMW0pei4xbS44Vigp fUp7cSh6LjFtKXouMW0uMkYoKTttLjVzKHouMTYsMUkpfUQgMWN9fUQgSX0sYlg6 QShNKXttLjJwKG0uMXAsbS4zNShNLHsxRjpcJzFGXCcrbS40aysrfSkpfSxiVDpB KDFsKXt1IDJyPTFsLjJqO3EoMXEgMnI9PVwnNlJcJyl7TCh1IGk9MDtpPDJyLlc7 aSsrKXt1IG89e307TCh1IHggMkEgMWwpb1t4XT0xbFt4XTtvLjJqPTJyW2ldO20u MnAobS40bixvKX19SnttLjJwKG0uNG4sMWwpfX0sOG86QSg2TCw1ayl7dSBDLDFM PS9eUS1OLShbMC05XSspJC87Qz02TDs0MyhDLjJ2KXtxKEMuNVEhPT0xVylEIEMu NVE7cShDLjFBJiYxTC4xNyhDLjFBKSlEIEMuMUEuMm8oMUwsIiQxIik7Qz1DLjJ2 fXEoITVrKXtDPTZMOzQzKEMuMnYpe3EoQy42SyYmbS41cChDKSl7TCh1IDE2PTA7 MTY8bS5YLlc7MTYrKyl7dSB6PW0uWFsxNl07cSh6JiZ6LmE9PUMpRCAxNn19Qz1D LjJ2fX1EIEh9LDJkOkEoQyw1ayl7cSgxcSBDPT1cJzFXXCcpRCBtLlhbbS4zdl18 fEg7cSgxcSBDPT1cJzRwXCcpRCBtLlhbQ118fEg7cSgxcSBDPT1cJzdsXCcpQz1t LiQoQyk7RCBtLlhbbS44byhDLDVrKV18fEh9LDVwOkEoYSl7RChhLjNyJiZhLjNy LmJZKCkuMm8oL1xccy9nLFwnIFwnKS4ySigvbS4oYld8ZSliWi8pKX0sOXI6QSgp e0wodSBpPTA7aTxtLlguVztpKyspcShtLlhbaV0mJm0uWFtpXS40SyltLjhyKCl9 LDcyOkEoZSl7cSghZSllPTFILjIwO3EoZS5jMD4xKUQgSTtxKCFlLjFVKWUuMVU9 ZS42Qjt1IEM9ZS4xVTs0MyhDLjJ2JiYhKC9RLSgyRXwyWHw1WnwzTSkvLjE3KEMu MTEpKSl7Qz1DLjJ2fXUgej1tLjJkKEMpO3EoeiYmKHouN3p8fCF6LjRLKSlEIEk7 cSh6JiZlLk89PVwnN0VcJyl7cShlLjFVLjh2KUQgSTt1IDJKPUMuMTEuMkooL1Et KDJFfDJYfDNNKS8pO3EoMkope20uMk09e3o6eixPOjJKWzFdLDFhOnoueC5FLEs6 ei54LkIsMTQ6ei55LkUsMTg6ei55LkIsOHU6ZS41eiw4dDplLjVLfTttLjJlKFUs XCc2M1wnLG0uNXQpO3EoZS41aillLjVqKCk7cSgvUS0oMkV8NVopLTdmLy4xNyh6 LlQuMTEpKXt6LjRhKCk7bS42UT1JfUQgMWN9fUogcShlLk89PVwnN0dcJyl7bS4z TyhVLFwnNjNcJyxtLjV0KTtxKG0uMk0pe3EobS40ZSYmbS4yTS5PPT1cJzJFXCcp bS4yTS56LlQuRy4zSz1tLjRlO3UgNGQ9bS4yTS40ZDtxKCE0ZCYmIW0uNlEmJiEv KDJYfDNNKS8uMTcobS4yTS5PKSl7ei4xTygpfW0uNlE9MWM7bS4yTT1IfUogcSgv US0yRS03Zi8uMTcoQy4xMSkpe0MuRy4zSz1tLjRlfX1EIDFjfSw1dDpBKGUpe3Eo IW0uMk0pRCBJO3EoIWUpZT0xSC4yMDt1IGE9bS4yTSx6PWEuejthLjUzPWUuNXot YS44dTthLjZJPWUuNUstYS44dDt1IDZPPTFiLmMzKDFiLjhuKGEuNTMsMikrMWIu OG4oYS42SSwyKSk7cSghYS40ZClhLjRkPShhLk8hPVwnMkVcJyYmNk8+MCl8fCg2 Tz4obS5jMXx8NSkpO3EoYS40ZCYmZS41ej41JiZlLjVLPjUpe3EoYS5PPT1cJzNN XCcpei4zTShhKTtKe3ouNnAoYS4xYSthLjUzLGEuMTQrYS42SSk7cShhLk89PVwn MkVcJyl6LlQuRy4zSz1cJzJYXCd9fUQgMWN9LDlNOkEoZSl7MVN7cSghZSllPTFI LjIwO3UgNWE9L2JWL2kuMTcoZS5PKTtxKCFlLjFVKWUuMVU9ZS42QjtxKCFlLjVi KWUuNWI9NWE/ZS5iVTplLmJPO3Ugej1tLjJkKGUuMVUpO3EoIXouNEspRDtxKCF6 fHwhZS41Ynx8bS4yZChlLjViLEkpPT16fHxtLjJNKUQ7TCh1IGk9MDtpPHouMXAu VztpKyspKEEoKXt1IG89bS4kKFwnMUZcJyt6LjFwW2ldKTtxKG8mJm8uNUkpe3Eo NWEpbS5TKG8sezFuOlwnMUJcJywxeDpcJ1wnfSk7bS4yNChvLHsxZjo1YT9vLjFm OjB9LG8uM28pfX0pKCl9MVQoZSl7fX0sMmU6QShDLDIwLDJUKXtxKEM9PVUmJjIw PT1cJzNmXCcpe20uMnAobS41OSwyVCl9MVN7Qy4yZSgyMCwyVCwxYyl9MVQoZSl7 MVN7Qy44ZihcJzROXCcrMjAsMlQpO0MuYk0oXCc0TlwnKzIwLDJUKX0xVChlKXtD W1wnNE5cJysyMF09MlR9fX0sM086QShDLDIwLDJUKXsxU3tDLjNPKDIwLDJULDFj KX0xVChlKXsxU3tDLjhmKFwnNE5cJysyMCwyVCl9MVQoZSl7Q1tcJzROXCcrMjBd PUh9fX0sNzE6QSgpe3EoIW0uMjEpe20uNFI9bS4ybSYmbS4yazw3O20uNDk9bS4y bSYmbS4yazw5O20uNVcoKTtMKHUgeCAyQSBtLjVSKXtxKDFxIG1beF0hPVwnMVdc JyltLllbeF09bVt4XTtKIHEoMXEgbS5ZW3hdPT1cJzFXXCcmJjFxIG0uNVJbeF0h PVwnMVdcJyltLllbeF09bS41Ult4XX1tLjIxPW0uMWUoXCcxd1wnLHsxMTpcJ1Et MjFcJ30sezFkOlwnMmdcJywxYTowLDE0OjAsSzpcJzFQJVwnLDFrOm0uM1gsOE46 XCc4aVwnfSxVLjVHLEkpO20uMU09bS4xZShcJ2FcJyx7MTE6XCdRLTFNXCcsMjY6 bS5ZLjhsLDNpOm0uWS44aywyODpcJzlhOjtcJ30sezFkOlwnMmdcJywxNDpcJy00 dVwnLDFmOm0uOGosMWs6MX0sbS4yMSk7bS42Qz1tLjFlKFwnMXdcJyxILHsxeDpc JzFLXCd9LG0uMjEpO20uMVE9bS4xZShcJzF3XCcsezExOlwnUS0xUSBRLTFRLUJc J30sezFuOihtLjNXJiZtLjJrPDV1KT9cJzFCXCc6XCcyQ1wnfSxtLjIxLDEpOzFi LmJRPUEodCxiLGMsZCl7RCBjKnQvZCtifTsxYi44eD1BKHQsYixjLGQpe0QgYyoo dC89ZCkqdCtifX19LDNmOkEoKXtxKG0uNlgpRDttLjZYPUk7TCh1IGk9MDtpPG0u NTkuVztpKyspbS41OVtpXSgpfSw2cjpBKCl7dSBDLDNnLDR5PVtdLDU3PVtdLDJO PXt9LDFMO0wodSBpPTA7aTxtLjZHLlc7aSsrKXszZz1VLjNlKG0uNkdbaV0pO0wo dSBqPTA7ajwzZy5XO2orKyl7Qz0zZ1tqXTsxTD1tLjVwKEMpO3EoMUwpe20uMnAo NHksQyk7cSgxTFswXT09XCdtLjJHXCcpbS4ycCg1NyxDKTt1IGc9bS40VShDLFwn MmpcJyl8fFwnMUtcJztxKCEyTltnXSkyTltnXT1bXTttLjJwKDJOW2ddLEMpfX19 bS40Nz17NHk6NHksMk46Mk4sNTc6NTd9O0QgbS40N30sN3I6QSgpe0QgbS40N3x8 bS42cigpfSwxTzpBKEMpe3Ugej1tLjJkKEMpO3Eoeil6LjFPKCk7RCAxY319O20u MXY9QSgybCwxbCwxOSl7ay4xbD0xbDtrLjJsPTJsO2suMTk9MTk7cSghMWwuOEgp MWwuOEg9e319O20uMXYuNEU9ezc4OkEoKXsobS4xdi4yV1trLjE5XXx8bS4xdi4y Vy43Tykoayk7cShrLjFsLjJXKWsuMWwuMlcuOEUoay4ybCxrLjNILGspfSwzbjpB KDY5LDFFLDNKKXtrLjc3PSgxUiA4eSgpKS44QigpO2suM0Y9Njk7ay40Nj0xRTtr LjNKPTNKO2suM0g9ay4zRjtrLkU9ay43Nj0wO3UgNTg9aztBIHQoNWQpe0QgNTgu MlcoNWQpfXQuMmw9ay4ybDtxKHQoKSYmbS4zcS4ycCh0KT09MSl7bS44ZD1iUihB KCl7dSAzcT1tLjNxO0wodSBpPTA7aTwzcS5XO2krKylxKCEzcVtpXSgpKTNxLmM0 KGktLSwxKTtxKCEzcS5XKXtjYyhtLjhkKX19LDEzKX19LDJXOkEoNWQpe3UgdD0o MVIgOHkoKSkuOEIoKTtxKDVkfHx0Pj1rLjFsLjNsK2suNzcpe2suM0g9ay40Njtr LkU9ay43Nj0xO2suNzgoKTtrLjFsLjVoW2suMTldPUk7dSA2Uz1JO0wodSBpIDJB IGsuMWwuNWgpcShrLjFsLjVoW2ldIT09SSk2Uz0xYztxKDZTKXtxKGsuMWwuNXIp ay4xbC41ci44RShrLjJsKX1EIDFjfUp7dSBuPXQtay43NztrLjc2PW4vay4xbC4z bDtrLkU9ay4xbC4yMyhuLDAsMSxrLjFsLjNsKTtrLjNIPWsuM0YrKChrLjQ2LWsu M0YpKmsuRSk7ay43OCgpfUQgSX19O20uMzUobS4xdix7Mlc6ezFmOkEoMXYpe20u Uygxdi4ybCx7MWY6MXYuM0h9KX0sN086QSgxdil7MVN7cSgxdi4ybC5HJiYxdi4y bC5HWzF2LjE5XSE9SCkxdi4ybC5HWzF2LjE5XT0xdi4zSCsxdi4zSjtKIDF2LjJs WzF2LjE5XT0xdi4zSH0xVChlKXt9fX19KTttLjVsPUEoMXksM0Qpe2suM0Q9M0Q7 ay4xeT0xeTt1IHY9bS4yayw1ZjtrLjczPW0uMm0mJm0uMms8NztxKCExeSl7cSgz RCkzRCgpO0R9bS43MSgpO2suMnk9bS4xZShcJzJ5XCcse2M5OjB9LHsxbjpcJzJD XCcsMWQ6XCcyZ1wnLGM3OlwnY2FcJyxLOjB9LG0uMjEsSSk7dSA3YT1tLjFlKFwn N2FcJyxILEgsay4yeSwxKTtrLjJmPVtdO0wodSBpPTA7aTw9ODtpKyspe3EoaSUz PT0wKTVmPW0uMWUoXCc1ZlwnLEgsezE4OlwnMmlcJ30sN2EsSSk7ay4yZltpXT1t LjFlKFwnMmZcJyxILEgsNWYsSSk7dSBHPWkhPTQ/e2JLOjAsYmI6MH06ezFkOlwn N3BcJ307bS5TKGsuMmZbaV0sRyl9ay4yZls0XS4xMT0xeStcJyBRLVZcJztrLjdI KCl9O20uNWwuNEU9ezdIOkEoKXt1IDFHPW0uNE0rKG0uYmF8fCJiOS8iKStrLjF5 KyIuN0siO3UgN1E9bS4zVyYmbS4yazw1dT9tLjIxOkg7ay4yWT1tLjFlKFwnMVpc JyxILHsxZDpcJzJnXCcsMTQ6XCctNHVcJ30sN1EsSSk7dSA2ZT1rO2suMlkuNjg9 QSgpezZlLjhjKCl9O2suMlkuMUc9MUd9LDhjOkEoKXt1IG89ay4xaj1rLjJZLksv NCxFPVtbMCwwXSxbMCwtNF0sWy0yLDBdLFswLC04XSwwLFstMiwtOF0sWzAsLTJd LFswLC02XSxbLTIsLTJdXSwxaD17MTg6KDIqbykrXCdGXCcsSzooMipvKStcJ0Zc J307TCh1IGk9MDtpPD04O2krKyl7cShFW2ldKXtxKGsuNzMpe3Ugdz0oaT09MXx8 aT09Nyk/XCcxUCVcJzprLjJZLksrXCdGXCc7dSAxdz1tLjFlKFwnMXdcJyxILHtL OlwnMVAlXCcsMTg6XCcxUCVcJywxZDpcJzdwXCcsM3M6XCcyQ1wnfSxrLjJmW2ld LEkpO20uMWUoXCcxd1wnLEgsezRIOiJiNzpiOC5iYy5iZChhUz1iaCwgMUc9XCci K2suMlkuMUcrIlwnKSIsMWQ6XCcyZ1wnLEs6dywxODprLjJZLjE4K1wnRlwnLDFh OihFW2ldWzBdKm8pK1wnRlwnLDE0OihFW2ldWzFdKm8pK1wnRlwnfSwxdyxJKX1K e20uUyhrLjJmW2ldLHs4OTpcJzVGKFwnK2suMlkuMUcrXCcpIFwnKyhFW2ldWzBd Km8pK1wnRiBcJysoRVtpXVsxXSpvKStcJ0ZcJ30pfXEoMUguM04mJihpPT0zfHxp PT01KSltLjFlKFwnMXdcJyxILDFoLGsuMmZbaV0sSSk7bS5TKGsuMmZbaV0sMWgp fX1rLjJZPUg7cShtLjNDW2suMXldKW0uM0Nbay4xeV0uNEEoKTttLjNDW2suMXld PWs7cShrLjNEKWsuM0QoKX0sM0U6QShFLDFqLDhiLDNvLDIzKXt1IHo9ay56LGJM PXouTi5HLDFqPTFqfHwwLEU9RXx8e3g6ei54LkUrMWoseTp6LnkuRSsxaix3Onou eC5QKFwnMUNcJyktMioxaixoOnoueS5QKFwnMUNcJyktMioxan07cSg4YilrLjJ5 LkcuMW49KEUuaD49NCprLjFqKT9cJzFCXCc6XCcyQ1wnO20uUyhrLjJ5LHsxYToo RS54LWsuMWopK1wnRlwnLDE0OihFLnktay4xaikrXCdGXCcsSzooRS53KzIqay4x aikrXCdGXCd9KTtFLnctPTIqay4xajtFLmgtPTIqay4xajttLlMoay4yZls0XSx7 SzpFLnc+PTA/RS53K1wnRlwnOjAsMTg6RS5oPj0wP0UuaCtcJ0ZcJzowfSk7cShr LjczKWsuMmZbM10uRy4xOD1rLjJmWzVdLkcuMTg9ay4yZls0XS5HLjE4fSw0QTpB KDdXKXtxKDdXKWsuMnkuRy4xbj1cJzJDXCc7SiBtLjNwKGsuMnkpfX07bS41Zz1B KHosMWgpe2suej16O2suMWg9MWg7ay4zNj0xaD09XCd4XCc/XCdiNlwnOlwnYjVc JztrLjNhPWsuMzYuNW4oKTtrLjRJPTFoPT1cJ3hcJz9cJ2FYXCc6XCdhV1wnO2su NWU9ay40SS41bigpO2suNnk9MWg9PVwneFwnP1wnYVZcJzpcJ2FUXCc7ay44NT1r LjZ5LjVuKCk7ay4xaT1rLjJzPTB9O20uNWcuNEU9e1A6QSgxNil7OFEoMTYpezF6 XCc2NlwnOkQgay4xRCtrLjJVKyhrLnQtbS4xTVtcJzFqXCcray4zNl0pLzI7MXpc JzY3XCc6RCBrLkUray5jYitrLjFpKyhrLkItbS4xTVtcJzFqXCcray4zNl0pLzI7 MXpcJzFDXCc6RCBrLkIrMiprLmNiK2suMWkray4yczsxelwnNGlcJzpEIGsuM1Et ay4ydy1rLjNSOzF6XCc2dlwnOkQgay5QKFwnNGlcJyktMiprLmNiLWsuMWktay4y czsxelwnYVVcJzpEIGsuRS0oay56LlY/ay56LlYuMWo6MCk7MXpcJ2FZXCc6RCBr LlAoXCcxQ1wnKSsoay56LlY/MiprLnouVi4xajowKTsxelwnMVhcJzpEIGsuMXM/ MWIuMnooKGsuQi1rLjFzKS8yKTowfX0sNmM6QSgpe2suY2I9KGsuei5UW1wnMWpc JytrLjM2XS1rLnQpLzI7ay4zUj1tW1wnNldcJytrLjZ5XX0sNlk6QSgpe2sudD1r LnouQ1trLjNhXT85OChrLnouQ1trLjNhXSk6ay56LkNbXCcxalwnK2suMzZdO2su MUQ9ay56LjFEW2suMWhdO2suMlU9KGsuei5DW1wnMWpcJytrLjM2XS1rLnQpLzI7 cShrLjFEPT0wfHxrLjFEPT0tMSl7ay4xRD0obS4zeFtrLjNhXS8yKSttLjN4W1wn MjJcJytrLjRJXX19LDZkOkEoKXt1IHo9ay56O2suMmE9XCcyaVwnO3Eoei42VT09 XCczUFwnKWsuMmE9XCczUFwnO0ogcSgxUiA1eChrLjVlKS4xNyh6LjQ1KSlrLjJh PUg7SiBxKDFSIDV4KGsuODUpLjE3KHouNDUpKWsuMmE9XCc0eFwnO2suRT1rLjFE LWsuY2Iray4yVTtxKGsuNlQmJmsuMWg9PVwneFwnKXouNWk9MWIuMkwoei41aXx8 ay5aLHouNlQqay5aL3oueS5aKTtrLkI9MWIuMkwoay5aLHpbXCc0eFwnK2suMzZd fHxrLlopO2suMmI9ei40ej8xYi4yTCh6W1wnMkxcJytrLjM2XSxrLlopOmsuWjtx KHouM20mJnouMlEpe2suQj16W2suM2FdO2suMXM9ay5afXEoay4xaD09XCd4XCcm Jm0uNEQpay4yYj16LjRGO2suMVU9eltcJzFVXCcray4xaC43TigpXTtrLjJ3PW1b XCc2V1wnK2suNEldO2suMjI9bS4zeFtcJzIyXCcray40SV07ay4zUT1tLjN4W2su M2FdfSw3QjpBKGkpe3Ugej1rLno7cSh6LjNtJiYoei4yUXx8bS40RCkpe2suMXM9 aTtrLkI9MWIuNHgoay5CLGsuMXMpO3ouVC5HW2suNWVdPWsuUChcJzFYXCcpK1wn RlwnfUogay5CPWk7ei5ULkdbay4zYV09aStcJ0ZcJzt6Lk4uR1trLjNhXT1rLlAo XCcxQ1wnKStcJ0ZcJztxKHouVil6LlYuM0UoKTtxKGsuMWg9PVwneFwnJiZ6LjFn KXouM1YoSSk7cShrLjFoPT1cJ3hcJyYmei4xbSYmei4zbSl7cShpPT1rLlopei4x bS40OChcJ1otMkdcJyk7SiB6LjFtLjNCKFwnWi0yR1wnKX19LDdDOkEoaSl7ay5F PWk7ay56Lk4uR1trLjVlXT1pK1wnRlwnO3Eoay56LlYpay56LlYuM0UoKX19O20u NFY9QShhLDJ1LDNuLDJCKXtxKFUuYjQmJm0uMm0mJiFtLjZYKXttLjJlKFUsXCcz ZlwnLEEoKXsxUiBtLjRWKGEsMnUsM24sMkIpfSk7RH1rLmE9YTtrLjNuPTNuO2su MkI9MkJ8fFwnMkVcJztrLjNtPSFrLmIzO2suMXA9W107ay5SPW0uUjttLlI9SDtt LjcxKCk7dSAxNj1rLjE2PW0uWC5XO0wodSBpPTA7aTxtLjZaLlc7aSsrKXt1IDJS PW0uNlpbaV07a1syUl09MnUmJjFxIDJ1WzJSXSE9XCcxV1wnPzJ1WzJSXTptWzJS XX1xKCFrLjFHKWsuMUc9YS4yODt1IEM9KDJ1JiYydS43bSk/bS4kKDJ1LjdtKTph O0M9ay45dz1DLjNlKFwnMVpcJylbMF18fEM7ay41Vj1DLjFBfHxhLjFBO0wodSBp PTA7aTxtLlguVztpKyspe3EobS5YW2ldJiZtLlhbaV0uYT09YSYmIShrLlImJmsu MktbMV09PVwnM3RcJykpe20uWFtpXS40YSgpO0QgMWN9fXEoIW0uYjIpTCh1IGk9 MDtpPG0uWC5XO2krKyl7cShtLlhbaV0mJm0uWFtpXS45dyE9QyYmIW0uWFtpXS41 Yyl7bS5YW2ldLjYwKCl9fW0uWFsxNl09aztxKCFtLjl2JiYhbS4xSil7cShtLlhb MTYtMV0pbS5YWzE2LTFdLjFPKCk7cSgxcSBtLjN2IT1cJzFXXCcmJm0uWFttLjN2 XSltLlhbbS4zdl0uMU8oKX1rLkM9QztrLjFEPWsuOXV8fG0uNmEoQyk7bS41Vygp O3UgeD1rLng9MVIgbS41ZyhrLFwneFwnKTt4LjZZKCk7dSB5PWsueT0xUiBtLjVn KGssXCd5XCcpO3kuNlkoKTtrLk49bS4xZShcJzF3XCcsezFBOlwnUS1OLVwnK2su MTYsMTE6XCdRLU4gXCcray43dn0sezFuOlwnMkNcJywxZDpcJzJnXCcsMWs6bS4z WCs9Mn0sSCxJKTtrLk4uYjA9ay5OLmIxPW0uOU07cShrLjJCPT1cJzJFXCcmJmsu M2M9PTIpay4zYz0wO3EoIWsuMXl8fChrLlImJmsuM20mJmsuMktbMV09PVwnM3Rc Jykpe2tbay4yQitcJzdjXCddKCl9SiBxKG0uM0Nbay4xeV0pe2suNmkoKTtrW2su MkIrXCc3Y1wnXSgpfUp7ay43ZCgpO3Ugej1rOzFSIG0uNWwoay4xeSxBKCl7ei42 aSgpO3pbei4yQitcJzdjXCddKCl9KX1EIEl9O20uNFYuNEU9ezZxOkEoZSl7cSht LmJpKWJqKFwnYkQgXCcrZS5iQytcJzogXCcrZS5iQik7SiAxSC5iei4yOD1rLjFH fSw2aTpBKCl7dSBWPWsuVj1tLjNDW2suMXldO1Yuej1rO1YuMnkuRy4xaz1rLk4u Ry4xay0xO20uM0Nbay4xeV09SH0sN2Q6QSgpe3Eoay41Y3x8ay4xTSlEO2suMU09 bS4xTTt1IHo9aztrLjFNLjNyPUEoKXt6LjYwKCl9O3Ugej1rLGw9ay54LlAoXCc2 NlwnKStcJ0ZcJyx0PWsueS5QKFwnNjZcJykrXCdGXCc7cSghMmMmJmsuUiYmay4y S1sxXT09XCczdFwnKXUgMmM9ay5SO3EoMmMpe2w9MmMueC5QKFwnNjdcJykrXCdG XCc7dD0yYy55LlAoXCc2N1wnKStcJ0ZcJztrLjFNLkcuMWs9bS4zWCsrfTRjKEEo KXtxKHouMU0pbS5TKHouMU0sezFhOmwsMTQ6dCwxazptLjNYKyt9KX0sMVApfSxi QTpBKCl7dSB6PWs7dSAxWj1VLjFlKFwnMVpcJyk7ay5UPTFaOzFaLjY4PUEoKXtx KG0uWFt6LjE2XSl6LjhaKCl9O3EobS5iRSkxWi5iRj1BKCl7RCAxY307MVouMTE9 XCdRLTJFXCc7bS5TKDFaLHsxbjpcJzJDXCcsMXg6XCc1VFwnLDFkOlwnMmdcJyw1 aTpcJzR1XCcsMWs6M30pOzFaLjI2PW0uWS43aTtxKG0uM1cmJm0uMms8NXUpbS4y MS4ybigxWik7cShtLjJtJiZtLmJKKTFaLjFHPUg7MVouMUc9ay4xRztrLjdkKCl9 LDhaOkEoKXsxU3txKCFrLlQpRDtrLlQuNjg9SDtxKGsuNWMpRDtKIGsuNWM9STt1 IHg9ay54LHk9ay55O3Eoay4xTSl7bS5TKGsuMU0sezE0OlwnLTR1XCd9KTtrLjFN PUh9eC5aPWsuVC5LO3kuWj1rLlQuMTg7bS5TKGsuVCx7Szp4LnQrXCdGXCcsMTg6 eS50K1wnRlwnfSk7ay5OLjJuKGsuVCk7bS4yMS4ybihrLk4pO3guNmMoKTt5LjZj KCk7bS5TKGsuTix7MWE6KHguMUQreC4yVS14LmNiKStcJ0ZcJywxNDooeS4xRCt4 LjJVLXkuY2IpK1wnRlwnfSk7ay45SCgpO2suOFIoKTt1IDI5PXguWi95Llo7eC42 ZCgpO2suMmEoeCk7eS42ZCgpO2suMmEoeSk7cShrLjFnKWsuM1YoMCwxKTtxKGsu NHope2suOWMoMjkpO3UgMXU9ay4xbTtxKDF1JiZrLlImJjF1LjJoJiYxdS44VSl7 dSBFPTF1LjdVLjFkfHxcJ1wnLHA7TCh1IDFoIDJBIG0uNmIpTCh1IGk9MDtpPDU7 aSsrKXtwPWtbMWhdO3EoRS4ySihtLjZiWzFoXVtpXSkpe3AuRT1rLlJbMWhdLkUr KGsuUlsxaF0uMWktcC4xaSkrKGsuUlsxaF0uQi1wLkIpKlswLDAsLjUsMSwxXVtp XTtxKDF1LjhVPT1cJ2JJXCcpe3EocC5FK3AuQitwLjFpK3AuMnM+cC4yMitwLjNR LXAuM1IpcC5FPXAuMjIrcC4zUS1wLkItcC4ydy1wLjNSLXAuMWktcC4ycztxKHAu RTxwLjIyK3AuMncpcC5FPXAuMjIrcC4yd319fX1xKGsuM20mJmsueC5aPihrLngu MXN8fGsueC5CKSl7ay44VCgpO3Eoay4xcC5XPT0xKWsuM1YoKX19ay45bigpfTFU KGUpe2suNnEoZSl9fSwyYTpBKHAsM1kpe3UgM0EsMmM9cC4xVSwxaD1wPT1rLng/ XCd4XCc6XCd5XCc7cSgyYyYmMmMuMkooLyAvKSl7M0E9MmMuYkgoXCcgXCcpOzJj PTNBWzBdfXEoMmMmJm0uJCgyYykpe3AuRT1tLjZhKG0uJCgyYykpWzFoXTtxKDNB JiYzQVsxXSYmM0FbMV0uMkooL15bLV0/WzAtOV0rRiQvKSlwLkUrPTk4KDNBWzFd KTtxKHAuQjxwLjJiKXAuQj1wLjJifUogcShwLjJhPT1cJzJpXCd8fHAuMmE9PVwn M1BcJyl7dSA2aD0xYzt1IDNaPXAuei40ejtxKHAuMmE9PVwnM1BcJylwLkU9MWIu MnoocC4yMisocC4zUStwLjJ3LXAuM1ItcC5QKFwnMUNcJykpLzIpO0ogcC5FPTFi LjJ6KHAuRS0oKHAuUChcJzFDXCcpLXAudCkvMikpO3EocC5FPHAuMjIrcC4ydyl7 cC5FPXAuMjIrcC4ydzs2aD1JfXEoITNZJiZwLkI8cC4yYil7cC5CPXAuMmI7M1o9 MWN9cShwLkUrcC5QKFwnMUNcJyk+cC4yMitwLjNRLXAuM1Ipe3EoITNZJiY2aCYm M1ope3AuQj0xYi4yTChwLkIscC5QKDFoPT1cJ3lcJz9cJzRpXCc6XCc2dlwnKSl9 SiBxKHAuUChcJzFDXCcpPHAuUChcJzRpXCcpKXtwLkU9cC4yMitwLjNRLXAuM1It cC5QKFwnMUNcJyl9SntwLkU9cC4yMitwLjJ3O3EoITNZJiYzWilwLkI9cC5QKDFo PT1cJ3lcJz9cJzRpXCc6XCc2dlwnKX19cSghM1kmJnAuQjxwLjJiKXtwLkI9cC4y YjszWj0xY319SiBxKHAuMmE9PVwnNHhcJyl7cC5FPTFiLmJ3KHAuRS1wLkIrcC50 KX1xKHAuRTxwLjJ3KXt1IDlkPXAuRTtwLkU9cC4ydztxKDNaJiYhM1kpcC5CPXAu Qi0ocC5FLTlkKX19LDljOkEoMjkpe3UgeD1rLngseT1rLnksMlo9MWMsMnE9MWIu MkwoeC5aLHguQiksM2Q9MWIuMkwoeS5aLHkuQiksMlE9KGsuMlF8fG0uNEQpO3Eo MnEvM2Q+MjkpeyAycT0zZCoyOTtxKDJxPHguMmIpezJxPXguMmI7M2Q9MnEvMjl9 Mlo9SX1KIHEoMnEvM2Q8MjkpeyAzZD0ycS8yOTsyWj1JfXEobS40RCYmeC5aPHgu MmIpe3guMXM9eC5aO3kuQj15LjFzPXkuWn1KIHEoay4yUSl7eC4xcz0ycTt5LjFz PTNkfUp7eC5CPTJxO3kuQj0zZH0yWj1rLjloKGsuMlE/SDoyOSwyWik7cSgyUSYm eS5CPHkuMXMpe3kuMXM9eS5CO3guMXM9eS5CKjI5fXEoMlp8fDJRKXt4LkU9eC4x RC14LmNiK3guMlU7eC4yYj14LkI7ay4yYSh4LEkpO3kuRT15LjFELXkuY2IreS4y VTt5LjJiPXkuQjtrLjJhKHksSSk7cShrLjFnKWsuM1YoKX19LDloOkEoMjksMlop e3UgeD1rLngseT1rLnk7cShrLjFnKXs0Myh5LkI+ay40RyYmeC5CPmsuNEYmJnku UChcJzFDXCcpPnkuUChcJzRpXCcpKXt5LkItPTEwO3EoMjkpeC5CPXkuQioyOTtr LjNWKDAsMSk7Mlo9SX19RCAyWn0sOW46QSgpe3UgeD1rLngseT1rLnk7ay43aCgx LHtOOntLOnguUChcJzFDXCcpLDE4OnkuUChcJzFDXCcpLDFhOnguRSwxNDp5LkV9 LFQ6ezFhOnguMWkreC5QKFwnMVhcJyksMTQ6eS4xaSt5LlAoXCcxWFwnKSxLOngu MXN8fHguQiwxODp5LjFzfHx5LkJ9fSxtLjZqKX0sN2g6QSgxciwxRSwzbyl7dSA0 Wj1rLjJLLDZvPTFyPyhrLlI/ay5SLmE6SCk6bS4xSix0PSg0WlsxXSYmNm8mJm0u NFUoNm8sXCcyS1wnKVsxXT09NFpbMV0pPzRaWzFdOjRaWzBdO3Eoa1t0XSYmdCE9 XCcyR1wnKXtrW3RdKDFyLDFFKTtEfXEoay5WJiYhay4zYyl7cSgxcilrLlYuM0Uo KTtKIGsuVi40QSgpfXEoITFyKWsuNUMoKTt1IHo9ayx4PXoueCx5PXoueSwyMz1r LjIzO3EoITFyKTIzPWsuOTd8fDIzO3UgOXQ9MXI/QSgpe3Eoei5WKXouVi4yeS5H LjFuPSIxQiI7NGMoQSgpe3ouNW0oKX0sNTApfTpBKCl7ei40QigpfTtxKDFyKW0u UyhrLk4se0s6eC50K1wnRlwnLDE4OnkudCtcJ0ZcJ30pO3Eoay45NCl7bS5TKGsu Tix7MWY6MXI/MDoxfSk7bS4zNSgxRS5OLHsxZjoxcn0pfW0uMjQoay5OLDFFLk4s ezNsOjNvLDIzOjIzLDJXOkEoMlYsMkgpe3Eoei5WJiZ6LjNjJiYySC4xOT09XCcx NFwnKXt1IDRXPTFyPzJILkU6MS0ySC5FO3UgRT17dzp4LnQrKHguUChcJzFDXCcp LXgudCkqNFcsaDp5LnQrKHkuUChcJzFDXCcpLXkudCkqNFcseDp4LjFEKyh4LkUt eC4xRCkqNFcseTp5LjFEKyh5LkUteS4xRCkqNFd9O3ouVi4zRShFLDAsMSl9fX0p O20uMjQoay5ULDFFLlQsM28sMjMsOXQpO3EoMXIpe2suTi5HLjFuPVwnMUJcJztr LlQuRy4xbj1cJzFCXCc7ay5hLjExKz1cJyBRLTlqLTQ1XCd9fSw1QjpBKDFyLDFF KXtrLjNjPTFjO3Ugej1rLHQ9MXI/bS42ajowO3EoMXIpe20uMjQoay5OLDFFLk4s MCk7bS5TKGsuTix7MWY6MCwxbjpcJzFCXCd9KTttLjI0KGsuVCwxRS5ULDApO2su VC5HLjFuPVwnMUJcJzttLjI0KGsuTix7MWY6MX0sdCxILEEoKXt6LjVtKCl9KX1x KGsuVil7ay5WLjJ5LkcuMWs9ay5OLkcuMWs7dSA1Nj0xcnx8LTEsMWo9ay5WLjFq LDZ4PTFyPzM6MWosNnU9MXI/MWo6MztMKHUgaT02eDs1NippPD01Nio2dTtpKz01 Nix0Kz0yNSl7KEEoKXt1IG89MXI/NnUtaTo2eC1pOzRjKEEoKXt6LlYuM0UoMCxv LDEpfSx0KX0pKCl9fXEoMXIpe31KezRjKEEoKXtxKHouVil6LlYuNEEoei5ibik7 ei41QygpO20uMjQoei5OLHsxZjowfSxtLjdlLEgsQSgpe3ouNEIoKX0pfSx0KX19 LDN0OkEoMXIsMUUsNjkpe3EoITFyKUQ7dSB6PWssUj1rLlIseD1rLngseT1rLnks MnQ9Ui54LDJEPVIueSxOPWsuTixUPWsuVCwxZz1rLjFnO20uM08oVSxcJzYzXCcs bS41dCk7bS5TKFQse0s6KHguMXN8fHguQikrXCdGXCcsMTg6KHkuMXN8fHkuQikr XCdGXCd9KTtxKDFnKTFnLkcuM3M9XCcxQlwnO2suVj1SLlY7cShrLlYpay5WLno9 ejtSLlY9SDt1IDNVPW0uMWUoXCcxd1wnLHsxMTpcJ1EtXCcray4yQn0sezFkOlwn MmdcJywxazo0LDNzOlwnMkNcJywxeDpcJzFLXCd9KTt1IDZmPXs5ZzpSLDllOmt9 O0wodSBuIDJBIDZmKXtrW25dPTZmW25dLlQuNmcoMSk7bS5TKGtbbl0sezFkOlwn MmdcJyw5eDowLDFuOlwnMUJcJ30pOzNVLjJuKGtbbl0pfU4uMm4oM1UpO3EoMWcp ezFnLjExPVwnXCc7Ti4ybigxZyl9M1UuRy4xeD1cJ1wnO1IuVC5HLjF4PVwnMUtc JztxKG0uM1cmJm0uMms8NXUpe2suTi5HLjFuPVwnMUJcJ31tLjI0KE4se0s6eC5C fSx7M2w6bS44MCwyVzpBKDJWLDJIKXt1IEU9MkguRSwzTD0xLUU7dSAxOSxCPXt9 LDd5PVtcJ0VcJyxcJ0JcJyxcJzFpXCcsXCcyc1wnXTtMKHUgbiAyQSA3eSl7MTk9 N3lbbl07QltcJ3hcJysxOV09MWIuMnooM0wqMnRbMTldK0UqeFsxOV0pO0JbXCd5 XCcrMTldPTFiLjJ6KDNMKjJEWzE5XStFKnlbMTldKTtCLjhXPTFiLjJ6KDNMKigy dC4xc3x8MnQuQikrRSooeC4xc3x8eC5CKSk7Qi41eT0xYi4yeigzTCoydC5QKFwn MVhcJykrRSp4LlAoXCcxWFwnKSk7Qi45bT0xYi4yeigzTCooMkQuMXN8fDJELkIp K0UqKHkuMXN8fHkuQikpO0IuNXc9MWIuMnooM0wqMkQuUChcJzFYXCcpK0UqeS5Q KFwnMVhcJykpfXEoei5WKXouVi4zRSh7eDpCLjJ4LHk6Qi4zRyx3OkIuNFMrQi4z aCtCLjd3KzIqeC5jYixoOkIuNEMrQi4zaitCLjdqKzIqeS5jYn0pO1IuTi5HLmJt PVwnYmsoXCcrKEIuM0ctMkQuRSkrXCdGLCBcJysoQi40UytCLjNoK0IuN3crQi4y eCsyKjJ0LmNiLTJ0LkUpK1wnRiwgXCcrKEIuNEMrQi4zaitCLjdqK0IuM0crMioy RC5jYi0yRC5FKStcJ0YsIFwnKyhCLjJ4LTJ0LkUpK1wnRilcJzttLlMoVCx7MTQ6 KEIuM2oreS5QKFwnMVhcJykpK1wnRlwnLDFhOihCLjNoK3guUChcJzFYXCcpKStc J0ZcJyw1TDooeS5FLUIuM0cpK1wnRlwnLDQxOih4LkUtQi4yeCkrXCdGXCd9KTtt LlMoTix7MTQ6Qi4zRytcJ0ZcJywxYTpCLjJ4K1wnRlwnLEs6KEIuM2grQi43dytC LjRTKzIqeC5jYikrXCdGXCcsMTg6KEIuM2orQi43aitCLjRDKzIqeS5jYikrXCdG XCd9KTttLlMoM1Use0s6KEIuOFd8fEIuNFMpK1wnRlwnLDE4OihCLjltfHxCLjRD KStcJ0ZcJywxYTooQi4zaCtCLjV5KStcJ0ZcJywxNDooQi4zaitCLjV3KStcJ0Zc JywxbjpcJzFCXCd9KTttLlMoei45Zyx7MTQ6KDJELkUtQi4zRysyRC4xaS1CLjNq KzJELlAoXCcxWFwnKS1CLjV3KStcJ0ZcJywxYTooMnQuRS1CLjJ4KzJ0LjFpLUIu M2grMnQuUChcJzFYXCcpLUIuNXkpK1wnRlwnfSk7bS5TKHouOWUsezFmOkUsMTQ6 KHkuRS1CLjNHK3kuMWktQi4zait5LlAoXCcxWFwnKS1CLjV3KStcJ0ZcJywxYToo eC5FLUIuMngreC4xaS1CLjNoK3guUChcJzFYXCcpLUIuNXkpK1wnRlwnfSk7cSgx ZyltLlMoMWcse0s6Qi40UytcJ0ZcJywxODpCLjRDK1wnRlwnLDFhOihCLjNoK3gu Y2IpK1wnRlwnLDE0OihCLjNqK3kuY2IpK1wnRlwnfSl9LDVyOkEoKXtOLkcuMW49 VC5HLjFuPVwnMUJcJztULkcuMXg9XCc1VFwnO20uM3AoM1UpO3ouNW0oKTtSLjRC KCk7ei5SPUh9fSl9LDhJOkEobyxDKXtxKCFrLlIpRCAxYztMKHUgaT0wO2k8ay5S LjFwLlc7aSsrKXt1IDVxPW0uJChcJzFGXCcray5SLjFwW2ldKTtxKDVxJiY1cS4x Rj09by4xRil7ay43QSgpOzVxLmJwPWsuMTY7bS4ycChrLjFwLGsuUi4xcFtpXSk7 RCBJfX1EIDFjfSw1bTpBKCl7ay40Sz1JO2suNGEoKTtxKGsuM0kpbS4xaChrKTtx KG0uMUomJm0uMUo9PWsuYSltLjFKPUg7ay45MSgpO3UgcD1tLjN4LDduPW0uNUgu eCtwLjRZLDdvPW0uNUgueStwLjRQO2suNms9ay54LkU8N24mJjduPGsueC5FK2su eC5QKFwnMUNcJykmJmsueS5FPDdvJiY3bzxrLnkuRStrLnkuUChcJzFDXCcpO3Eo ay4xZylrLjlJKCl9LDkxOkEoKXt1IDE2PWsuMTY7dSAxeT1rLjF5OzFSIG0uNWwo MXkpfSw5UzpBKDFJKXt1IDd1PWsuNU4oKSxhcz1tLjQ3LjJOW2suMmp8fFwnMUtc J107cShhcyYmIWFzWzd1KzFJXSYmay4xbSYmay4xbS45RCl7cSgxST09MSlEIGFz WzBdO0ogcSgxST09LTEpRCBhc1thcy5XLTFdfUQoYXMmJmFzWzd1KzFJXSl8fEh9 LDVOOkEoKXt1IDJTPW0uN3IoKS4yTltrLjJqfHxcJzFLXCddO3EoMlMpTCh1IGk9 MDtpPDJTLlc7aSsrKXtxKDJTW2ldPT1rLmEpRCBpfUQgSH0sOXA6QSgpe3Eoa1tr LjRvXSl7dSAyUz1tLjQ3LjJOW2suMmp8fFwnMUtcJ107cSgyUyl7dSBzPW0uWS40 cC4ybyhcJyUxXCcsay41TigpKzEpLjJvKFwnJTJcJywyUy5XKTtrW2suNG9dLjNp PVwnPDF3IDMwPSJRLTRwIj5cJytzK1wnPC8xdz5cJytrW2suNG9dLjNpfX19LDlI OkEoKXtxKCFrLlIpe0wodSBpPTA7aTxtLjRuLlc7aSsrKXt1IDF1PW0uNG5baV0s MnI9MXUuMmo7cSgxcSAycj09XCcxV1wnfHwycj09PUh8fDJyPT09ay4yailrLjFt PTFSIG0uNnMoay4xNiwxdSl9fUp7ay4xbT1rLlIuMW19dSAxdT1rLjFtO3EoITF1 KUQ7dSAxNj0xdS40Mj1rLjE2OzF1LjlCKCk7MXUuNDgoXCdaLTJHXCcpO3EoMXUu Mmgpe2suNGcobS4zNSgxdS43VXx8e30sezRoOjF1LjJoLDFGOlwnMmhcJywxazo1 fSkpfXEoIWsuUiYmay4zYikxdS4zMShJKTtxKDF1LjNiKXsxdS4zYj00YyhBKCl7 bS4xdCgxNil9LCgxdS5icXx8YnYpKX19LDYwOkEoKXttLjNwKGsuTik7bS5YW2su MTZdPUg7cShtLjFKPT1rLmEpbS4xSj1IO20uNnQoay4xNik7cShrLjFNKW0uMU0u Ry4xYT1cJy00dVwnfSw5azpBKCl7cShrLjR3KUQ7ay40dz1tLjFlKFwnYVwnLHsy ODptLjgyLDFVOm0uODQsMTE6XCdRLTR3XCcsM2k6bS5ZLjdGLDI2Om0uWS43Un0p O2suNGcoezRoOmsuNHcsMWQ6ay43U3x8XCcxNCAxYVwnLDFGOlwnNHdcJ30pfSw4 WDpBKDdnLDhoKXtMKHUgaT0wO2k8N2cuVztpKyspe3UgTz03Z1tpXSxzPUg7cSgh a1tPK1wnNDRcJ10mJmsuNVYpa1tPK1wnNDRcJ109TytcJy1MLVwnK2suNVY7cShr W08rXCc0NFwnXSlrW09dPW0uNG0oa1tPK1wnNDRcJ10pO3EoIWtbT10mJiFrW08r XCc3cVwnXSYma1tPK1wnOERcJ10pMVN7cz1idShrW08rXCc4RFwnXSl9MVQoZSl7 fXEoIWtbT10mJmtbTytcJzdxXCddKXtzPWtbTytcJzdxXCddfXEoIWtbT10mJiFz KXtrW09dPW0uNG0oay5hW1wnOE9cJytPK1wnNDRcJ10pO3EoIWtbT10pe3UgMXQ9 ay5hLjh3OzQzKDF0JiYhbS41cCgxdCkpe3EoKDFSIDV4KFwnUS1cJytPKSkuMTco MXQuMTF8fEgpKXtxKCExdC4xQSlrLmFbXCc4T1wnK08rXCc0NFwnXT0xdC4xQT1c JzFGXCcrbS40aysrO2tbT109bS40bSgxdC4xQSk7NTV9MXQ9MXQuOHd9fX1xKCFr W09dJiYhcyYmay40bz09TylzPVwnXFxuXCc7cSgha1tPXSYmcylrW09dPW0uMWUo XCcxd1wnLHsxMTpcJ1EtXCcrTywzaTpzfSk7cSg4aCYma1tPXSl7dSBvPXsxZDoo Tz09XCc1SlwnKT9cJzRRXCc6XCc2MVwnfTtMKHUgeCAyQSBrW08rXCc4ZVwnXSlv W3hdPWtbTytcJzhlXCddW3hdO28uNGg9a1tPXTtrLjRnKG8pfX19LDRhOkEoKXtr Lk4uRy4xaz1tLjNYKz0yO0wodSBpPTA7aTxtLlguVztpKyspe3EobS5YW2ldJiZp PT1tLjN2KXt1IDRUPW0uWFtpXTs0VC5ULjExKz1cJyBRLVwnKzRULjJCK1wnLTdm XCc7NFQuVC5HLjNLPW0uNFI/XCc4bVwnOlwnNjRcJzs0VC5ULjI2PW0uWS44Z319 cShrLlYpay5WLjJ5LkcuMWs9ay5OLkcuMWstMTtrLlQuMTE9XCdRLVwnK2suMkI7 ay5ULjI2PW0uWS43aTtxKG0uN2spe20uNGU9MUguM04/XCc2NFwnOlwnNUYoXCcr bS40TSttLjdrK1wnKSwgNjRcJztxKG0uNFImJm0uMms8NiltLjRlPVwnOG1cJztr LlQuRy4zSz1tLjRlfW0uM3Y9ay4xNjttLjJlKFUsMUguM04/XCc1WFwnOlwnNVlc JyxtLjRYKX0sNnA6QSh4LHkpe2sueC43Qyh4KTtrLnkuN0MoeSl9LDNNOkEoZSl7 dSB3LGgscj1lLksvZS4xODt3PTFiLjR4KGUuSytlLjUzLDFiLjJMKGsuNEYsay54 LlopKTtxKGsuM20mJjFiLmJzKHctay54LlopPDEyKXc9ay54Llo7aD13L3I7cSho PDFiLjJMKGsuNEcsay55LlopKXtoPTFiLjJMKGsuNEcsay55LlopO3Eoay4zbSl3 PWgqcn1rLjZsKHcsaCl9LDZsOkEodyxoKXtrLnkuN0IoaCk7ay54LjdCKHcpO2su Ti5HLjE4PWsueS5QKFwnMUNcJykrXCdGXCd9LDFPOkEoKXtxKGsuN3p8fCFrLjRL KUQ7cShrLjJLWzFdPT1cJzN0XCcmJm0uMUope20uMmQobS4xSikuNjAoKTttLjFK PUh9ay43ej1JO3Eoay4xbSYmIW0uMUopay4xbS4yRigpO20uM08oVSwxSC4zTj9c JzVYXCc6XCc1WVwnLG0uNFgpOzFTe2suVC5HLjNLPVwnYnJcJztrLjdoKDAse046 e0s6ay54LnQsMTg6ay55LnQsMWE6ay54LjFELWsueC5jYitrLnguMlUsMTQ6ay55 LjFELWsueS5jYitrLnkuMlV9LFQ6ezFhOjAsMTQ6MCxLOmsueC50LDE4OmsueS50 fX0sbS43ZSl9MVQoZSl7ay40QigpfX0sNGc6QShvKXt1IEM9by40aCw0aj0oby44 Rj09XCcxUVwnJiYhLzY1JC8uMTcoby4xZCkpO3EoMXEgQz09XCc3bFwnKUM9bS40 bShDKTtxKG8uNVopQz1tLjFlKFwnMXdcJyx7M2k6by41Wn0pO3EoIUN8fDFxIEM9 PVwnN2xcJylEO0MuRy4xeD1cJzVUXCc7by4xRj1vLjFGfHxvLjRoO3Eoay4yS1sx XT09XCczdFwnJiZrLjhJKG8sQykpRDtrLjdBKCk7dSBLPW8uSyYmL15bMC05XSso RnwlKSQvLjE3KG8uSyk/by5LOlwnMmlcJztxKC9eKDFhfDJQKTY1JC8uMTcoby4x ZCkmJiEvXlswLTldK0YkLy4xNyhvLkspKUs9XCdidFwnO3UgTT1tLjFlKFwnMXdc Jyx7MUE6XCcxRlwnK20uNGsrKywxRjpvLjFGfSx7MWQ6XCcyZ1wnLDFuOlwnMkNc JyxLOkssOE46bS5ZLjhHfHxcJ1wnLDFmOjB9LDRqP20uMVE6ay4xZyxJKTtxKDRq KU0uNVE9ay4xNjtNLjJuKEMpO20uMzUoTSx7MWY6MSw3TDowLDgzOjAsM286KG8u NUI9PT0wfHxvLjVCPT09MWN8fChvLjVCPT0yJiZtLjJtKSk/MDo0bH0pO20uMzUo TSxvKTtxKGsuOWYpe2suNHEoTSk7cSghTS41SXx8ay42ayltLjI0KE0sezFmOk0u MWZ9LE0uM28pfW0uMnAoay4xcCxtLjRrLTEpfSw0cTpBKE0pe3UgcD1NLjFkfHxc Jzd0IDNQXCcsNGo9KE0uOEY9PVwnMVFcJyksNVA9TS43TCw1Tz1NLjgzO3EoNGop e20uMVEuRy4xeD1cJzVUXCc7TS41UT1rLjE2O3EoTS4zVD5NLjJ2LjNUKU0uRy5L PVwnMVAlXCd9SiBxKE0uMnYhPWsuMWcpay4xZy4ybihNKTtxKC8xYSQvLjE3KHAp KU0uRy4xYT01UCtcJ0ZcJztxKC8zUCQvLjE3KHApKW0uUyhNLHsxYTpcJzUwJVwn LDQxOig1UC0xYi4yeihNLjNULzIpKStcJ0ZcJ30pO3EoLzJQJC8uMTcocCkpTS5H LjJQPS01UCtcJ0ZcJztxKC9eOHokLy4xNyhwKSl7bS5TKE0sezJQOlwnMVAlXCcs OUc6ay54LmNiK1wnRlwnLDE0Oi1rLnkuY2IrXCdGXCcsM3o6LWsueS5jYitcJ0Zc JywzczpcJzJpXCd9KTtrLnguMWk9TS4zVH1KIHEoL145SiQvLjE3KHApKXttLlMo TSx7MWE6XCcxUCVcJyw0MTprLnguY2IrXCdGXCcsMTQ6LWsueS5jYitcJ0ZcJywz ejotay55LmNiK1wnRlwnLDNzOlwnMmlcJ30pO2sueC4ycz1NLjNUfXUgN0Q9TS4y di4zeTtNLkcuMTg9XCcyaVwnO3EoNGomJk0uM3k+N0QpTS5HLjE4PW0uNFI/N0Qr XCdGXCc6XCcxUCVcJztxKC9eMTQvLjE3KHApKU0uRy4xND01TytcJ0ZcJztxKC9e N3QvLjE3KHApKW0uUyhNLHsxNDpcJzUwJVwnLDVMOig1Ty0xYi4yeihNLjN5LzIp KStcJ0ZcJ30pO3EoL14zei8uMTcocCkpTS5HLjN6PS01TytcJ0ZcJztxKC9eNFEk Ly4xNyhwKSl7bS5TKE0sezFhOigtay54LjFpLWsueC5jYikrXCdGXCcsMlA6KC1r LnguMnMtay54LmNiKStcJ0ZcJywzejpcJzFQJVwnLDkzOmsueS5jYitcJ0ZcJyxL OlwnMmlcJ30pO2sueS4xaT1NLjN5fUogcSgvXjYxJC8uMTcocCkpe20uUyhNLHsx ZDpcJzdwXCcsMWE6KC1rLnguMWktay54LmNiKStcJ0ZcJywyUDooLWsueC4ycy1r LnguY2IpK1wnRlwnLDE0OlwnMVAlXCcsNUw6ay55LmNiK1wnRlwnLEs6XCcyaVwn fSk7ay55LjJzPU0uM3k7TS5HLjFkPVwnMmdcJ319LDhSOkEoKXtrLjhYKFtcJzVK XCcsXCdibFwnXSxJKTtrLjlwKCk7cShrLjVKJiZrLjdzKWsuNUouMTErPVwnIFEt MlhcJztxKG0uOXEpay45aygpO0wodSBpPTA7aTxtLjFwLlc7aSsrKXt1IG89bS4x cFtpXSw1QT1vLjdtLDJyPW8uMmo7cSgoITVBJiYhMnIpfHwoNUEmJjVBPT1rLjVW KXx8KDJyJiYycj09PWsuMmopKXtrLjRnKG8pfX11IDVEPVtdO0wodSBpPTA7aTxr LjFwLlc7aSsrKXt1IG89bS4kKFwnMUZcJytrLjFwW2ldKTtxKC82NSQvLjE3KG8u MWQpKWsuNHEobyk7SiBtLjJwKDVELG8pfUwodSBpPTA7aTw1RC5XO2krKylrLjRx KDVEW2ldKTtrLjlmPUl9LDdBOkEoKXtxKCFrLjFnKWsuMWc9bS4xZShcJzF3XCcs ezExOmsuN3Z9LHsxZDpcJzJnXCcsSzooay54LkJ8fChrLjJRP2suSzpIKXx8ay54 LlopK1wnRlwnLDE4OihrLnkuQnx8ay55LlopK1wnRlwnLDFuOlwnMkNcJywzczpc JzJDXCcsMWs6bS4ybT80OlwnMmlcJ30sbS4yMSxJKX0sM1Y6QSg2Viw5UCl7dSAx Zz1rLjFnLHg9ay54LHk9ay55O20uUygxZyx7Szp4LkIrXCdGXCcsMTg6eS5CK1wn RlwnfSk7cSg2Vnx8OVApe0wodSBpPTA7aTxrLjFwLlc7aSsrKXt1IG89bS4kKFwn MUZcJytrLjFwW2ldKTt1IDd4PShtLjRSfHxVLjYyPT1cJzZOXCcpO3EobyYmL14o NFF8NjEpJC8uMTcoby4xZCkpe3EoN3gpe28uRy5LPSgxZy4zVCsyKnguY2IreC4x aSt4LjJzKStcJ0ZcJ315W28uMWQ9PVwnNFFcJz9cJzFpXCc6XCcyc1wnXT1vLjN5 fXEobyYmN3gmJi9eKDFhfDJQKTY1JC8uMTcoby4xZCkpe28uRy4xOD0oMWcuM3kr Mip5LmNiKStcJ0ZcJ319fXEoNlYpe20uUyhrLlQsezE0OnkuMWkrXCdGXCd9KTtt LlMoMWcsezE0Oih5LjFpK3kuY2IpK1wnRlwnfSl9fSw5STpBKCl7dSBiPWsuMWc7 Yi4xMT1cJ1wnO20uUyhiLHsxNDooay55LjFpK2sueS5jYikrXCdGXCcsMWE6KGsu eC4xaStrLnguY2IpK1wnRlwnLDNzOlwnMUJcJ30pO3EobS4zVyliLkcuMW49XCcx QlwnO2suTi4ybihiKTtMKHUgaT0wO2k8ay4xcC5XO2krKyl7dSBvPW0uJChcJzFG XCcray4xcFtpXSk7by5HLjFrPW8uMWt8fDQ7cSghby41SXx8ay42ayl7by5HLjFu PVwnMUJcJzttLlMobyx7MW46XCcxQlwnLDF4OlwnXCd9KTttLjI0KG8sezFmOm8u MWZ9LG8uM28pfX19LDVDOkEoKXtxKCFrLjFwLlcpRDtxKGsuMW0pe3UgYz1rLjFt LjJoO3EoYyYmbS4yZChjKT09ayljLjJ2LmJvKGMpfUwodSBpPTA7aTxrLjFwLlc7 aSsrKXt1IG89bS4kKFwnMUZcJytrLjFwW2ldKTtxKG8mJm8uMnY9PW0uMVEmJm0u MmQobyk9PWspbS4zcChvKX1tLjNwKGsuMWcpfSw4VDpBKCl7cShrLjFtJiZrLjFt LjJoKXtrLjFtLjNCKFwnWi0yR1wnKTtEfWsuNUU9bS4xZShcJ2FcJyx7Mjg6XCc5 YTptLlhbXCcray4xNitcJ10uNVMoKTtcJywyNjptLlkuNm4sMTE6XCdRLVotMkdc J30pO2suNGcoezRoOmsuNUUsMWQ6bS45byw1STpJLDFmOm0uOWl9KX0sNVM6QSgp ezFTe3Eoay41RSltLjNwKGsuNUUpO2suNGEoKTt1IDJxPWsueC5CO2suNmwoay54 Llosay55LlopO3UgMng9ay54LkUtKGsueC5CLTJxKS8yO3EoMng8bS40MSkyeD1t LjQxO2suNnAoMngsay55LkUpfTFUKGUpe2suNnEoZSl9fSw0QjpBKCl7ay5hLjEx PWsuYS4xMS4ybyhcJ1EtOWotNDVcJyxcJ1wnKTtxKGsuViYmay4zYylrLlYuNEEo KTttLjNwKGsuTik7ay41QygpO3EoIW0uMVEuNkEuVyltLjFRLkcuMXg9XCcxS1wn O3Eoay4zSSltLjZ0KGsuMTYpO20uWFtrLjE2XT1IO20uOXIoKX19O20uNnM9QSg0 MiwxbCl7cShtLmJ4IT09MWMpbS42cigpO2suNDI9NDI7TCh1IHggMkEgMWwpa1t4 XT0xbFt4XTtxKGsuYkcpay44UygpfTttLjZzLjRFPXs4UzpBKCl7ay4yaD1tLjFl KFwnMXdcJyx7M2k6bS45NihtLjk1LjJoKX0sSCxtLjIxKTt1IDRMPVtcJzMxXCcs XCcyRlwnLFwnMklcJyxcJzF0XCcsXCcyWFwnLFwnWi0yR1wnLFwnMU9cJ107ay4x bz17fTt1IDZlPWs7TCh1IGk9MDtpPDRMLlc7aSsrKXtrLjFvWzRMW2ldXT1tLjlz KGsuMmgsXCcxTlwnLFwnUS1cJys0TFtpXSk7ay4zQig0TFtpXSl9ay4xby4yRi5H LjF4PVwnMUtcJ30sOUI6QSgpe3Eoay45RHx8IWsuMmgpRDt1IHo9bS5YW2suNDJd LDRKPXouNU4oKSwxTD0vNU0kLztxKDRKPT0wKWsuNDgoXCcySVwnKTtKIHEoMUwu MTcoay4xby4ySS4zZShcJ2FcJylbMF0uMTEpKWsuM0IoXCcySVwnKTtxKDRKKzE9 PW0uNDcuMk5bei4yanx8XCcxS1wnXS5XKXtrLjQ4KFwnMXRcJyk7ay40OChcJzMx XCcpfUogcSgxTC4xNyhrLjFvLjF0LjNlKFwnYVwnKVswXS4xMSkpe2suM0IoXCcx dFwnKTtrLjNCKFwnMzFcJyl9fSwzQjpBKDFvKXtxKCFrLjFvKUQ7dSA5TD1rLGE9 ay4xb1sxb10uM2UoXCdhXCcpWzBdLDFMPS81TSQvO2EuM3I9QSgpezlMWzFvXSgp O0QgMWN9O3EoMUwuMTcoYS4xMSkpYS4xMT1hLjExLjJvKDFMLFwnXCcpfSw0ODpB KDFvKXtxKCFrLjFvKUQ7dSBhPWsuMW9bMW9dLjNlKFwnYVwnKVswXTthLjNyPUEo KXtEIDFjfTtxKCEvNU0kLy4xNyhhLjExKSlhLjExKz1cJyA1TVwnfSw4VjpBKCl7 cShrLjNiKWsuMkYoKTtKIGsuMzEoKX0sMzE6QSg3UCl7cShrLjFvKXtrLjFvLjMx LkcuMXg9XCcxS1wnO2suMW8uMkYuRy4xeD1cJ1wnfWsuM2I9STtxKCE3UCltLjF0 KGsuNDIpfSwyRjpBKCl7cShrLjFvKXtrLjFvLjJGLkcuMXg9XCcxS1wnO2suMW8u MzEuRy4xeD1cJ1wnfWFaKGsuM2IpO2suM2I9SH0sMkk6QSgpe2suMkYoKTttLjJJ KGsuMW8uMkkpfSwxdDpBKCl7ay4yRigpO20uMXQoay4xby4xdCl9LDJYOkEoKXt9 LFwnWi0yR1wnOkEoKXttLjJkKCkuNVMoKX0sMU86QSgpe20uMU8oay4xby4xTyl9 fTttLjVSPW0uWTt1IGJmPW0uNFY7cShtLjJtJiYxSD09MUguMTQpeyhBKCl7MVN7 VS40Zi5iZyhcJzFhXCcpfTFUKGUpezRjKDg3LmMyLDUwKTtEfW0uM2YoKX0pKCl9 bS4yZShVLFwnY2RcJyxtLjNmKTttLjJlKDFILFwnYzZcJyxtLjNmKTttLjJlKFUs XCczZlwnLEEoKXtxKG0uNVV8fG0uM0kpe3UgRz1tLjFlKFwnR1wnLHtPOlwnYzgv NzRcJ30sSCxVLjNlKFwnY2VcJylbMF0pO0EgNTEoNkUsNkYpe3EobS4ybSYmbS4y azw5KXt1IFI9VS44Q1tVLjhDLlctMV07cSgxcShSLjUxKT09IjZSIilSLjUxKDZF LDZGKX1Ke0cuMm4oVS5iUyg2RSsiIHsiKzZGKyJ9IikpfX1BIDRPKDE5KXtEXCdj NSggKCAoIGJQID0gVS40Zi5cJysxOStcJyA/IFUuNGYuXCcrMTkrXCcgOiBVLjVH LlwnKzE5K1wnICkgKSArIFxcXCdGXFxcJyApO1wnfXEobS41VSk1MShcJy5RIDFa XCcsXCczSzogNUYoXCcrbS40TSttLjVVK1wnKSwgNjQgIWJOO1wnKTs1MShcJy5R LTFRLUJcJyxtLjJtJiYobS4yazw3fHxVLjYyPT1cJzZOXCcpP1wnMWQ6IDJnOyBc JytcJzFhOlwnKzRPKFwnNFlcJykrXCcxNDpcJys0TyhcJzRQXCcpK1wnSzpcJys0 TyhcJzZKXCcpK1wnMTg6XCcrNE8oXCc4cVwnKTpcJzFkOiBhYzsgSzogMVAlOyAx ODogMVAlOyAxYTogMDsgMTQ6IDBcJyl9fSk7bS4yZSgxSCxcJzNNXCcsQSgpe20u NVcoKTtxKG0uMVEpTCh1IGk9MDtpPG0uMVEuNkEuVztpKyspe3UgM3U9bS4xUS42 QVtpXSx6PW0uMmQoM3UpO3ouNHEoM3UpfX0pO20uMmUoVSxcJzYzXCcsQShlKXtt LjVIPXt4OmUuNXoseTplLjVLfX0pO20uMmUoVSxcJzdFXCcsbS43Mik7bS4yZShV LFwnN0dcJyxtLjcyKTttLjJlKFUsXCczZlwnLG0uN3IpfScsNjIsNzU5LCd8fHx8 fHx8fHx8fHx8fHx8fHx8fHRoaXN8fGhzfHx8fGlmfHx8fHZhcnx8fHx8ZXhwfGZ1 bmN0aW9ufHNpemV8ZWx8cmV0dXJufHBvc3xweHxzdHlsZXxudWxsfHRydWV8ZWxz ZXx3aWR0aHxmb3J8b3ZlcmxheXx3cmFwcGVyfHR5cGV8Z2V0fGhpZ2hzbGlkZXxs YXN0fHNldFN0eWxlc3xjb250ZW50fGRvY3VtZW50fG91dGxpbmV8bGVuZ3RofGV4 cGFuZGVyc3xsYW5nfGZ1bGx8fGNsYXNzTmFtZXx8fHRvcHx8a2V5fHRlc3R8aGVp Z2h0fHByb3B8bGVmdHxNYXRofGZhbHNlfHBvc2l0aW9ufGNyZWF0ZUVsZW1lbnR8 b3BhY2l0eXxvdmVybGF5Qm94fGRpbXxwMXxvZmZzZXR8ekluZGV4fG9wdGlvbnN8 c2xpZGVzaG93fHZpc2liaWxpdHl8YnRufG92ZXJsYXlzfHR5cGVvZnx1cHxpbWdT aXplfG5leHR8c3N8Znh8ZGl2fGRpc3BsYXl8b3V0bGluZVR5cGV8Y2FzZXxpZHx2 aXNpYmxlfHdzaXplfHRwb3N8dG98aHNJZHxzcmN8d2luZG93fG9wfHVwY29taW5n fG5vbmV8cmV8bG9hZGluZ3xsaXxjbG9zZXwxMDB8dmlld3BvcnR8bmV3fHRyeXxj YXRjaHx0YXJnZXR8c3Bhbnx1bmRlZmluZWR8aW1nUGFkfGRpbW1lcnxpbWd8ZXZl bnR8Y29udGFpbmVyfHNjcm9sbHxlYXNpbmd8YW5pbWF0ZXx8dGl0bGV8fGhyZWZ8 cmF0aW98anVzdGlmeXxtaW5TaXplfHRndHxnZXRFeHBhbmRlcnxhZGRFdmVudExp c3RlbmVyfHRkfGFic29sdXRlfGNvbnRyb2xzfGF1dG98c2xpZGVzaG93R3JvdXB8 dWFWZXJzaW9ufGVsZW18aWV8YXBwZW5kQ2hpbGR8cmVwbGFjZXxwdXNofHhTaXpl fHNnfHAyfGxhc3RYfHBhcmFtc3xwYXJlbnROb2RlfG1hcmdpbk1pbnx4cG9zfHRh YmxlfHJvdW5kfGlufGNvbnRlbnRUeXBlfGhpZGRlbnxsYXN0WXxpbWFnZXxwYXVz ZXxleHBhbmR8YXJnc3xwcmV2aW91c3xtYXRjaHx0cmFuc2l0aW9uc3xtaW58ZHJh Z0FyZ3N8Z3JvdXBzfG9wdHxyaWdodHx1c2VCb3h8bmFtZXxhcnJ8ZnVuY3x0Ynx2 YWx8c3RlcHxtb3ZlfGdyYXBoaWN8Y2hhbmdlZHxjbGFzc3xwbGF5fHx8fGV4dGVu ZHx1Y3dofHx8fHdofGF1dG9wbGF5fG91dGxpbmVXaGlsZUFuaW1hdGluZ3x5U2l6 ZXxnZXRFbGVtZW50c0J5VGFnTmFtZXxyZWFkeXxlbHN8eHAxfGlubmVySFRNTHx5 cDF8c3R5bGVzfGR1cmF0aW9ufGlzSW1hZ2V8Y3VzdG9tfGR1cnxkaXNjYXJkRWxl bWVudHx0aW1lcnN8b25jbGlja3xvdmVyZmxvd3xjcm9zc2ZhZGV8bm9kZXxmb2N1 c0tleXxjbG9uZXxwYWdlfG9mZnNldEhlaWdodHxib3R0b218dGd0QXJyfGVuYWJs ZXxwZW5kaW5nT3V0bGluZXN8b25Mb2FkfHNldFBvc2l0aW9ufHN0YXJ0fHlwb3N8 bm93fGRpbW1pbmdPcGFjaXR5fHVuaXR8Y3Vyc29yfGludlBvc3xyZXNpemV8b3Bl cmF8cmVtb3ZlRXZlbnRMaXN0ZW5lcnxjZW50ZXJ8Y2xpZW50U2l6ZXxtYXJnaW5N YXh8b3duZXJ8b2Zmc2V0V2lkdGh8ZmFkZUJveHxzaXplT3ZlcmxheUJveHxzYWZh cml8ekluZGV4Q291bnRlcnxtb3ZlT25seXxhbGxvd1JlZHVjZXx8bWFyZ2luTGVm dHxleHBLZXl8d2hpbGV8SWR8YW5jaG9yfGVuZHxhbmNob3JzfGRpc2FibGV8aWVM dDl8Zm9jdXN8YXR0cmlic3xzZXRUaW1lb3V0fGhhc0RyYWdnZWR8c3R5bGVSZXN0 b3JlQ3Vyc29yfGRvY3VtZW50RWxlbWVudHxjcmVhdGVPdmVybGF5fG92ZXJsYXlJ ZHxmaXRzaXplfHJlbFRvVlB8aWRDb3VudGVyfDI1MHxnZXROb2RlfHNsaWRlc2hv d3N8bnVtYmVyUG9zaXRpb258bnVtYmVyfHBvc2l0aW9uT3ZlcmxheXxwYXJhbXxn ZXRQYXJhbXN8aWVib2R5fDk5OTlweHxtYXRjaGVzfGNyZWRpdHN8bWF4fGFsbHxh bGxvd1NpemVSZWR1Y3Rpb258ZGVzdHJveXxhZnRlckNsb3NlfHlzaXplfHBhZFRv TWluV2lkdGh8cHJvdG90eXBlfG1pbldpZHRofG1pbkhlaWdodHxmaWx0ZXJ8dWNs dHxjdXJ8aXNFeHBhbmRlZHxidXR0b25zfGdyYXBoaWNzRGlyfG9ufGZpeHxzY3Jv bGxUb3B8YWJvdmV8aWVMdDd8eHNpemV8Ymx1ckV4cHxnZXRQYXJhbXxFeHBhbmRl cnxmYWN8a2V5SGFuZGxlcnxzY3JvbGxMZWZ0fHRyYW5zfHxhZGRSdWxlfHVzZXJB Z2VudHxkWHxuYXZpZ2F0b3J8YnJlYWt8ZGlyfGltYWdlc3xzZWxmfG9uUmVhZHl8 b3ZlcnxyZWxhdGVkVGFyZ2V0fG9uTG9hZFN0YXJ0ZWR8Z290b0VuZHxsdHx0cnxE aW1lbnNpb258Y3VyQW5pbXxtYXhXaWR0aHxwcmV2ZW50RGVmYXVsdHxleHBPbmx5 fE91dGxpbmV8YWZ0ZXJFeHBhbmR8dG9Mb3dlckNhc2V8dG9wbW9zdEtleXxpc0hz QW5jaG9yfG9EaXZ8Y29tcGxldGV8cHJldmlvdXNPck5leHR8ZHJhZ0hhbmRsZXJ8 NTI1fGFkanx5aW1nUGFkfFJlZ0V4cHx4aW1nUGFkfGNsaWVudFh8dElkfGZhZGV8 ZGVzdHJveU92ZXJsYXlzfG9zfGZ1bGxFeHBhbmRMYWJlbHx1cmx8Ym9keXxtb3Vz ZXxoaWRlT25Nb3VzZU91dHxoZWFkaW5nfGNsaWVudFl8bWFyZ2luVG9wfGRpc2Fi bGVkfGdldEFuY2hvckluZGV4fG9mZll8b2ZmWHxoc0tleXxsYW5nRGVmYXVsdHN8 ZG9GdWxsRXhwYW5kfGJsb2NrfGV4cGFuZEN1cnNvcnx0aHVtYnNVc2VyU2V0SWR8 Z2V0UGFnZVNpemV8a2V5cHJlc3N8a2V5ZG93bnxodG1sfGNhbmNlbExvYWRpbmd8 YmVsb3d8Y29tcGF0TW9kZXxtb3VzZW1vdmV8cG9pbnRlcnxwYW5lbHxsb2FkaW5n UG9zfGxvYWRpbmdQb3NYZmFkZXxvbmxvYWR8ZnJvbXxnZXRQb3NpdGlvbnxvUG9z fGNhbGNCb3JkZXJzfGNhbGNFeHBhbmRlZHxwVGhpc3xuYW1lc3xjbG9uZU5vZGV8 aGFzTW92ZWRNaW58Y29ubmVjdE91dGxpbmV8ZXhwYW5kRHVyYXRpb258bW91c2VJ c092ZXJ8cmVzaXplVG98YXJyb3d8ZnVsbEV4cGFuZFRpdGxlfG90aGVyfG1vdmVU b3xlcnJvcnx1cGRhdGVBbmNob3JzfFNsaWRlc2hvd3x1bmRpbXxlbmRPZmZ8bWF4 c2l6ZXxDbGlja3xzdGFydE9mZnx1Y3JifGNsb25lc3xjaGlsZE5vZGVzfHNyY0Vs ZW1lbnR8Z2FyYmFnZUJpbnx0b3BafHNlbHxkZWN8b3BlbmVyVGFnTmFtZXN8aXNO ZXd8ZFl8Y2xpZW50V2lkdGh8dGFnTmFtZXxlbGVtZW50fGRpbW1pbmdEdXJhdGlv bnxCYWNrQ29tcGF0fGRpc3RhbmNlfGdlY2tvTWFjfGhhc0ZvY3VzZWR8b2JqZWN0 fGRvbmV8bWF4SGVpZ2h0fGFsaWdufGRvV3JhcHBlcnxtYXJnaW58aXNSZWFkeXxj YWxjVGh1bWJ8b3ZlcnJpZGVzfHxpbml0fG1vdXNlQ2xpY2tIYW5kbGVyfGhhc0Fs cGhhSW1hZ2VMb2FkZXJ8Y3NzfHxzdGF0ZXxzdGFydFRpbWV8dXBkYXRlfHBhcnNl RmxvYXR8dGJvZHl8cGFyZW50fENyZWF0ZXxzaG93TG9hZGluZ3xyZXN0b3JlRHVy YXRpb258Ymx1cnx0eXBlc3xjaGFuZ2VTaXplfHJlc3RvcmVUaXRsZXx5cDJ8cmVz dG9yZUN1cnNvcnxzdHJpbmd8dGh1bWJuYWlsSWR8bVh8bVl8cmVsYXRpdmV8VGV4 dHxnZXRBbmNob3JzfGRyYWdCeUhlYWRpbmd8bWlkZGxlfGN1cnJlbnR8d3JhcHBl ckNsYXNzTmFtZXx4cDJ8aWU2fHByb3BzfGlzQ2xvc2luZ3xnZW5PdmVybGF5Qm94 fHNldFNpemV8c2V0UG9zfHBhck9mZnxtb3VzZWRvd258Y3JlZGl0c1RleHR8bW91 c2V1cHxwcmVsb2FkR3JhcGhpY3xydnx0YWd8cG5nfG9mZnNldFh8ZGVmYXVsdFZp ZXd8dG9VcHBlckNhc2V8X2RlZmF1bHR8d2FpdHxhcHBlbmRUb3xjcmVkaXRzVGl0 bGV8Y3JlZGl0c1Bvc2l0aW9ufG5vcGFkfG92ZXJsYXlPcHRpb25zfHRhcmdldFl8 aGlkZXxjbG9zZVRpdGxlfHRhcmdldFh8dWx8dHJhbnNpdGlvbkR1cmF0aW9ufGNs b3NlVGV4dHxjcmVkaXRzSHJlZnxvZmZzZXRZfGNyZWRpdHNUYXJnZXR8cmJ8Y2Fw dGlvbk92ZXJsYXl8YXJndW1lbnRzfGhlYWRpbmdPdmVybGF5fGJhY2tncm91bmR8 Q2xvc2V8dmlzfG9uR3JhcGhpY0xvYWR8dGltZXJJZHxPdmVybGF5fGRldGFjaEV2 ZW50fGZvY3VzVGl0bGV8YWRkT3ZlcmxheXxsdHJ8bG9hZGluZ09wYWNpdHl8bG9h ZGluZ1RleHR8bG9hZGluZ1RpdGxlfGhhbmR8cG93fGdldFdyYXBwZXJLZXl8dHJh bnNpdHxjbGllbnRIZWlnaHR8Zm9jdXNUb3Btb3N0fGRpbW1pbmdHZWNrb0ZpeHxj bGlja1l8Y2xpY2tYfGZvcm18bmV4dFNpYmxpbmd8ZWFzZUluUXVhZHxEYXRlfGxl ZnRwYW5lbHxhbHBoYXxnZXRUaW1lfHN0eWxlU2hlZXRzfEV2YWx8Y2FsbHxyZWxh dGl2ZVRvfGNzc0RpcmVjdGlvbnxvcmlnfHJldXNlT3ZlcmxheXxvZmZzZXRMZWZ0 fG9mZnNldFRvcHxIaWdoc2xpZGV8b2Zmc2V0UGFyZW50fGRpcmVjdGlvbnxffEpT fHN3aXRjaHxnZXRPdmVybGF5c3xnZXRDb250cm9sc3xjcmVhdGVGdWxsRXhwYW5k fGZpeGVkQ29udHJvbHN8aGl0U3BhY2V8eGltZ1NpemV8Z2V0SW5saW5lfFBsYXl8 Y29udGVudExvYWRlZHxlbmFibGVLZXlMaXN0ZW5lcnxwcmVwYXJlTmV4dE91dGxp bmV8MjAwfG1hcmdpbkJvdHRvbXxmYWRlSW5PdXR8c2tpbnxyZXBsYWNlTGFuZ3xl YXNpbmdDbG9zZXxwYXJzZUludHx8amF2YXNjcmlwdHxhbmR8Y29ycmVjdFJhdGlv fHRtcE1pbnxuZXdJbWd8Z290T3ZlcmxheXN8b2xkSW1nfGZpdE92ZXJsYXlCb3h8 ZnVsbEV4cGFuZE9wYWNpdHl8YWN0aXZlfHdyaXRlQ3JlZGl0c3xQYXVzZXx5aW1n U2l6ZXxzaG93fGZ1bGxFeHBhbmRQb3NpdGlvbnxnZXROdW1iZXJ8c2hvd0NyZWRp dHN8cmVPcmRlcnxnZXRFbGVtZW50QnlDbGFzc3xhZnRlcnxwYWdlT3JpZ2lufGFs bG93TXVsdGlwbGVJbnN0YW5jZXN8dGh1bWJ8Ym9yZGVyfE5leHR8cGF1c2VUZXh0 fG5leHRUaXRsZXxjaGVja0ZpcnN0QW5kTGFzdHxuZXh0VGV4dHxyZXBlYXR8bW92 ZVRleHR8ZnVsbEV4cGFuZFRleHR8bWFyZ2luUmlnaHR8aW5pdFNsaWRlc2hvd3xz aG93T3ZlcmxheXN8cmlnaHRwYW5lbHxtb3ZlVGl0bGV8c2xzfHdyYXBwZXJNb3Vz ZUhhbmRsZXJ8TW92ZXxQcmV2aW91c3xkb1BhbmVsc3xwcmV2aW91c1RleHR8cHJl dmlvdXNUaXRsZXxnZXRBZGphY2VudEFuY2hvcnxzcGFjZWJhcnxwbGF5VGV4dHxw bGF5VGl0bGV8cGF1c2VUaXRsZXxjYW5jZWx8VXNlfGdlY2tvZGltbWVyfHRoZXxr ZXlDb2RlfEV4cGFuZHxkaW1taW5nfFBvd2VyZWR8ZHJhZ3xHb3xhY3R1YWx8SW1h Z2V8TG9hZGluZ3xmcm9udHxvZnxmaXhlZHxjbGlja3xrZXlzfGJyaW5nfGdldFNy Y3wxMDAxfHJhfGl0fFRyaWRlbnR8U2FmYXJpfE1hY2ludG9zaHxHZWNrb3xzaGFk b3d8cmVzaXplVGl0bGV8aGVhZGluZ0V2YWx8Y2FwdGlvbklkfHxob21lcGFnZXxl c2N8Y2FwdGlvblRleHR8Y2FwdGlvbkV2YWx8aGVhZGluZ1RleHR8aGVhZGluZ0lk fFJlc2l6ZXxnZXRFbGVtZW50QnlJZHxpbm5lcldpZHRofHpvb21vdXR8Y3VycmVu dFN0eWxlfGlubmVySGVpZ2h0fHBhZ2VYT2Zmc2V0fHBhZ2VZT2Zmc2V0fHpvb21p bnxnZXRQcm9wZXJ0eVZhbHVlfG91dGxpbmVTdGFydE9mZnNldHxwYWRkaW5nfF9z ZWxmfGRyb3B8Y29tfHJlbW92ZUF0dHJpYnV0ZXxnZXRDb21wdXRlZFN0eWxlfGh0 dHB8Z3JhcGhpY3N8c2l6aW5nTWV0aG9kfEJvdHRvbXxvcG9zfFJpZ2h0fFRvcHxM ZWZ0fG9zaXplfGNsZWFyVGltZW91dHxvbm1vdXNlb3Zlcnxvbm1vdXNlb3V0fGFs bG93U2ltdWx0YW5lb3VzTG9hZGluZ3xpc0h0bWx8cmVhZHlTdGF0ZXxIZWlnaHR8 V2lkdGh8cHJvZ2lkfERYSW1hZ2VUcmFuc2Zvcm18b3V0bGluZXN8b3V0bGluZXNE aXJ8Zm9udFNpemV8TWljcm9zb2Z0fEFscGhhSW1hZ2VMb2FkZXJ8cmV0dXJuVmFs dWV8SHNFeHBhbmRlcnxkb1Njcm9sbHxzY2FsZXxkZWJ1Z3xhbGVydHxyZWN0fGNh cHRpb258Y2xpcHxwcmVzZXJ2ZUNvbnRlbnR8cmVtb3ZlQ2hpbGR8cmV1c2V8aW50 ZXJ2YWx8ZGVmYXVsdHxhYnN8MjAwcHh8ZXZhbHw1MDB8Zmxvb3J8ZHluYW1pY2Fs bHlVcGRhdGVBbmNob3JzfHxsb2NhdGlvbnxpbWFnZUNyZWF0ZXxtZXNzYWdlfGxp bmVOdW1iZXJ8TGluZXxibG9ja1JpZ2h0Q2xpY2t8b25jb250ZXh0bWVudXx1c2VD b250cm9sc3xzcGxpdHxmaXR8Zmx1c2hJbWdTaXplfGxpbmVIZWlnaHR8c3RsfGF0 dGFjaEV2ZW50fGltcG9ydGFudHx0b0VsZW1lbnR8aWdub3JlTWV8bGluZWFyVHdl ZW58c2V0SW50ZXJ2YWx8Y3JlYXRlVGV4dE5vZGV8YWRkU2xpZGVzaG93fGZyb21F bGVtZW50fG1vdXNlb3ZlcnxodG1sRXxyZWdpc3Rlck92ZXJsYXl8dG9TdHJpbmd8 eHBhbmR8YnV0dG9ufGRyYWdTZW5zaXRpdml0eXxjYWxsZWV8c3FydHxzcGxpY2V8 ZXhwcmVzc2lvbnxsb2FkfGJvcmRlckNvbGxhcHNlfHRleHR8Y2VsbFNwYWNpbmd8 Y29sbGFwc2V8fGNsZWFySW50ZXJ2YWx8RE9NQ29udGVudExvYWRlZHxIRUFEJy5z cGxpdCgnfCcpLDAse30pKQo= ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=dle_ajax.js Content-Type: application/x-javascript; charset=windows-1251; name=dle_ajax.js Content-Location: http://www.dl4all.com/engine/classes/js/dle_ajax.js Content-Transfer-Encoding: Base64 ZnVuY3Rpb24gc2hvd0J1c3lMYXllcigpe30KZnVuY3Rpb24gZGxlX2FqYXgoail7 dGhpcy5BamF4RmFpbGVkQWxlcnQ9IkFKQVggbm90IHN1cHBvcnRlZC5cbiI7dGhp cy5yZXF1ZXN0RmlsZT1qO3RoaXMubWV0aG9kPSJQT1NUIjt0aGlzLlVSTFN0cmlu Zz0iIjt0aGlzLmVuY29kZVVSSVN0cmluZz10cnVlO3RoaXMuZWZmZWN0PXRoaXMu YWRkX2h0bWw9dGhpcy5leGVjdXRlPWZhbHNlO3RoaXMubG9hZGluZ19maXJlZD0w O3RoaXMuY2VudGVyZGl2PW51bGw7dGhpcy5vbkxvYWRpbmc9ZnVuY3Rpb24oKXt9 O3RoaXMub25Mb2FkZWQ9ZnVuY3Rpb24oKXt9O3RoaXMub25JbnRlcmFjdGl2ZT1m dW5jdGlvbigpe307dGhpcy5vbkNvbXBsZXRpb249ZnVuY3Rpb24oKXt9O3RoaXMu b25TaG93PWZ1bmN0aW9uKGIpe2lmKCF0aGlzLmxvYWRpbmdfZmlyZWQpe3RoaXMu bG9hZGluZ19maXJlZD0xO2ImJiQoIiNsb2FkaW5nLWxheWVyLXRleHQiKS5odG1s KGIpO2I9KCQod2luZG93KS53aWR0aCgpLSQoIiNsb2FkaW5nLWxheWVyIikud2lk dGgoKSkvCjI7dmFyIGE9KCQod2luZG93KS5oZWlnaHQoKS0kKCIjbG9hZGluZy1s YXllciIpLmhlaWdodCgpKS8yOyQoIiNsb2FkaW5nLWxheWVyIikuY3NzKHtsZWZ0 OmIrInB4Iix0b3A6YSsicHgiLHBvc2l0aW9uOiJmaXhlZCIsekluZGV4OiI5OSJ9 KTskKCIjbG9hZGluZy1sYXllciIpLmZhZGVUbygic2xvdyIsMC42KX19O3RoaXMu b25IaWRlPWZ1bmN0aW9uKCl7JCgiI2xvYWRpbmctbGF5ZXIiKS5mYWRlT3V0KCJz bG93Iik7dGhpcy5sb2FkaW5nX2ZpcmVkPTB9O3RoaXMuY3JlYXRlQUpBWD1mdW5j dGlvbigpe3RyeXt0aGlzLnhtbGh0dHA9bmV3IEFjdGl2ZVhPYmplY3QoIk1zeG1s Mi5YTUxIVFRQIil9Y2F0Y2goYil7dHJ5e3RoaXMueG1saHR0cD1uZXcgQWN0aXZl WE9iamVjdCgiTWljcm9zb2Z0LlhNTEhUVFAiKX1jYXRjaChhKXt0aGlzLnhtbGh0 dHA9bnVsbH19aWYoIXRoaXMueG1saHR0cCYmdHlwZW9mIFhNTEh0dHBSZXF1ZXN0 IT0idW5kZWZpbmVkIil0aGlzLnhtbGh0dHA9bmV3IFhNTEh0dHBSZXF1ZXN0Owpp ZighdGhpcy54bWxodHRwKXRoaXMuZmFpbGVkPXRydWV9O3RoaXMuc2V0VmFyPWZ1 bmN0aW9uKGIsYSl7aWYodGhpcy5VUkxTdHJpbmcubGVuZ3RoPDMpdGhpcy5VUkxT dHJpbmc9YisiPSIrYTtlbHNlIHRoaXMuVVJMU3RyaW5nKz0iJiIrYisiPSIrYX07 dGhpcy5lbmNWYXI9ZnVuY3Rpb24oYixhKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9u ZW50KGIpKyI9IitlbmNvZGVVUklDb21wb25lbnQoYSl9O3RoaXMuZW5jb2RlVVJM U3RyaW5nPWZ1bmN0aW9uKGIpe3ZhckFycmF5PWIuc3BsaXQoIiYiKTtmb3IoaT0w O2k8dmFyQXJyYXkubGVuZ3RoO2krKyl7dXJsVmFycz12YXJBcnJheVtpXS5zcGxp dCgiPSIpO2lmKHVybFZhcnNbMF0uaW5kZXhPZigiYW1wOyIpIT0tMSl1cmxWYXJz WzBdPXVybFZhcnNbMF0uc3Vic3RyaW5nKDQpO3ZhckFycmF5W2ldPXRoaXMuZW5j VmFyKHVybFZhcnNbMF0sdXJsVmFyc1sxXSl9cmV0dXJuIHZhckFycmF5LmpvaW4o IiYiKX07dGhpcy5lbmNvZGVWQVI9CmZ1bmN0aW9uKGIpe2I9Yi50b1N0cmluZygp O2I9Yi5yZXBsYWNlKC9cKy9nLCIlMkIiKTtiPWIucmVwbGFjZSgvXD0vZywiJTNE Iik7Yj1iLnJlcGxhY2UoL1w/L2csIiUzRiIpO3JldHVybiBiPWIucmVwbGFjZSgv XCYvZywiJTI2Iil9O3RoaXMucnVuUmVzcG9uc2U9ZnVuY3Rpb24oKXt2YXIgYj1u ZXcgRGF0ZSxhPWZhbHNlO2I9Yi5nZXRUaW1lKCk7dmFyIGQ9LzxzY3JpcHQuKj8+ KC58W1xyXG5dKSo/PFwvc2NyaXB0Pi9pZyxjPWQuZXhlYyh0aGlzLnJlc3BvbnNl KTtpZihjIT1udWxsKXt2YXIgZj1uZXcgQXJyYXkoYy5zaGlmdCgpKTtmb3IoYT10 cnVlO2M7KXtjPWQuZXhlYyh0aGlzLnJlc3BvbnNlKTtjIT1udWxsJiZmLnB1c2go Yy5zaGlmdCgpKX1mb3IoZD0wO2Q8Zi5sZW5ndGg7ZCsrKXRoaXMucmVzcG9uc2U9 dGhpcy5yZXNwb25zZS5yZXBsYWNlKGZbZF0sJzxzcGFuIGlkPSInK2IrZCsnIiBz dHlsZT0iZGlzcGxheTpub25lOyI+PC9zcGFuPicpfWlmKHRoaXMuYWRkX2h0bWwp dGhpcy5lbGVtZW50T2JqLmlubmVySFRNTCs9CnRoaXMucmVzcG9uc2U7ZWxzZSB0 aGlzLmVsZW1lbnRPYmouaW5uZXJIVE1MPXRoaXMucmVzcG9uc2U7aWYoYSl7YT0v PHNjcmlwdC4qPz4oKC58W1xyXG5dKSo/KTxcL3NjcmlwdD4vaWc7Zm9yKGQ9MDtk PGYubGVuZ3RoO2QrKyl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYisi IitkKTtjPWUucGFyZW50Tm9kZTtjLnJlbW92ZUNoaWxkKGUpO2EubGFzdEluZGV4 PTA7ZT1hLmV4ZWMoZltkXSk7Yz1jLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0 ZUVsZW1lbnQoInNjcmlwdCIpKTtjLnRleHQ9ZVsxXTtlPWZbZF0uc3Vic3RyaW5n KGZbZF0uaW5kZXhPZigiICIsMCksZltkXS5pbmRleE9mKCI+IiwwKSkuc3BsaXQo IiAiKTtpZihlLmxlbmd0aD4xKWZvcih2YXIgaD0wO2g8ZS5sZW5ndGg7aCsrKWlm KGVbaF0ubGVuZ3RoPjApe3ZhciBnPWVbaF0uc3BsaXQoIj0iKTtnWzFdPWdbMV0u c3Vic3RyKDEsZ1sxXS5sZW5ndGgtMik7Yy5zZXRBdHRyaWJ1dGUoZ1swXSxnWzFd KX19fX07CnRoaXMuc2VuZEFKQVg9ZnVuY3Rpb24oYil7dGhpcy5yZXNwb25zZVN0 YXR1cz1uZXcgQXJyYXkoMik7aWYodGhpcy5mYWlsZWQmJnRoaXMuQWpheEZhaWxl ZEFsZXJ0KWFsZXJ0KHRoaXMuQWpheEZhaWxlZEFsZXJ0KTtlbHNle2lmKGIpdGhp cy5VUkxTdHJpbmc9dGhpcy5VUkxTdHJpbmcubGVuZ3RoP3RoaXMuVVJMU3RyaW5n KyImIitiOmI7aWYodGhpcy5lbmNvZGVVUklTdHJpbmcpe2I9KG5ldyBEYXRlKS5n ZXRUaW1lKCk7dGhpcy5VUkxTdHJpbmc9dGhpcy5lbmNvZGVVUkxTdHJpbmcodGhp cy5VUkxTdHJpbmcpO3RoaXMuc2V0VmFyKCJybmR2YWwiLGIpfWlmKHRoaXMuZWxl bWVudCl0aGlzLmVsZW1lbnRPYmo9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhp cy5lbGVtZW50KTtpZih0aGlzLnhtbGh0dHApe3ZhciBhPXRoaXM7dGhpcy5tZXRo b2Q9PSJHRVQiP3RoaXMueG1saHR0cC5vcGVuKHRoaXMubWV0aG9kLHRoaXMucmVx dWVzdEZpbGUrIj8iK3RoaXMuVVJMU3RyaW5nLAp0cnVlKTp0aGlzLnhtbGh0dHAu b3Blbih0aGlzLm1ldGhvZCx0aGlzLnJlcXVlc3RGaWxlLHRydWUpO2lmKHRoaXMu bWV0aG9kPT0iUE9TVCIpdHJ5e3RoaXMueG1saHR0cC5zZXRSZXF1ZXN0SGVhZGVy KCJDb250ZW50LVR5cGUiLCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29k ZWQiKX1jYXRjaChkKXt9dGhpcy54bWxodHRwLnNlbmQodGhpcy5VUkxTdHJpbmcp O3RoaXMueG1saHR0cC5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtzd2l0 Y2goYS54bWxodHRwLnJlYWR5U3RhdGUpe2Nhc2UgMTphLm9uTG9hZGluZygpO2Jy ZWFrO2Nhc2UgMjphLm9uTG9hZGVkKCk7YnJlYWs7Y2FzZSAzOmEub25JbnRlcmFj dGl2ZSgpO2JyZWFrO2Nhc2UgNDphLnJlc3BvbnNlPWEueG1saHR0cC5yZXNwb25z ZVRleHQ7YS5yZXNwb25zZVhNTD1hLnhtbGh0dHAucmVzcG9uc2VYTUw7YS5yZXNw b25zZVN0YXR1c1swXT1hLnhtbGh0dHAuc3RhdHVzO2EucmVzcG9uc2VTdGF0dXNb MV09CmEueG1saHR0cC5zdGF0dXNUZXh0O2Eub25IaWRlKCk7YS5vbkNvbXBsZXRp b24oYS5yZXNwb25zZSk7aWYoYS5lbGVtZW50T2JqKXt2YXIgYz1hLmVsZW1lbnRP Ymoubm9kZU5hbWU7Yz1jLnRvTG93ZXJDYXNlKCk7aWYoYz09ImlucHV0Inx8Yz09 InNlbGVjdCJ8fGM9PSJvcHRpb24ifHxjPT0idGV4dGFyZWEiKWlmKGEucmVzcG9u c2U9PSJlcnJvciIpRExFYWxlcnQoIlRoaXMgYWN0aW9uIGNhbiBub3QgYmUgY29t cGxldGVkLiBBY2Nlc3MgZGVuaWVkLiIsImluZm8iKTtlbHNlIGlmKGEuYWRkX2h0 bWwpYS5lbGVtZW50T2JqLnZhbHVlKz1hLnJlc3BvbnNlO2Vsc2UgYS5lbGVtZW50 T2JqLnZhbHVlPWEucmVzcG9uc2U7ZWxzZSBpZihhLnJlc3BvbnNlPT0iZXJyb3Ii KURMRWFsZXJ0KCJUaGlzIGFjdGlvbiBjYW4gbm90IGJlIGNvbXBsZXRlZC4gQWNj ZXNzIGRlbmllZC4iLCJpbmZvIik7ZWxzZSBpZihhLmV4ZWN1dGUpYS5ydW5SZXNw b25zZSgpO2Vsc2UgaWYoYS5hZGRfaHRtbClhLmVsZW1lbnRPYmouaW5uZXJIVE1M Kz0KYS5yZXNwb25zZTtlbHNlIGlmKGEuZWZmZWN0PT0ibGVmdCIpJCgiIyIrYS5l bGVtZW50KS5oaWRlKCJzbGlkZSIse2RpcmVjdGlvbjoibGVmdCJ9LDUwMCkuaHRt bChhLnJlc3BvbnNlKS5zaG93KCJzbGlkZSIse2RpcmVjdGlvbjoicmlnaHQifSw1 MDApO2Vsc2UgaWYoYS5lZmZlY3Q9PSJyaWdodCIpJCgiIyIrYS5lbGVtZW50KS5o aWRlKCJzbGlkZSIse2RpcmVjdGlvbjoicmlnaHQifSw1MDApLmh0bWwoYS5yZXNw b25zZSkuc2hvdygic2xpZGUiLHtkaXJlY3Rpb246ImxlZnQifSw1MDApO2Vsc2Ug aWYoYS5lZmZlY3Q9PSJmYWRlIikkKCIjIithLmVsZW1lbnQpLmZhZGVPdXQoNTAw LGZ1bmN0aW9uKCl7JCh0aGlzKS5odG1sKGEucmVzcG9uc2UpOyQodGhpcykuZmFk ZUluKDUwMCl9KTtlbHNlIGEuZWxlbWVudE9iai5pbm5lckhUTUw9YS5yZXNwb25z ZTtpZihhLmVmZmVjdD09ImJsaW5kIiYmYS5yZXNwb25zZSE9ImVycm9yIiYmZG9j dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsaW5kLWFuaW1hdGlvbiIpKXskKCJodG1s IisKKCEkLmJyb3dzZXIub3BlcmE/Iixib2R5IjoiIikpLmFuaW1hdGUoe3Njcm9s bFRvcDokKCIjIithLmVsZW1lbnQpLnBvc2l0aW9uKCkudG9wLTcwfSwxMTAwKTtz ZXRUaW1lb3V0KGZ1bmN0aW9uKCl7JCgiI2JsaW5kLWFuaW1hdGlvbiIpLnNob3co ImJsaW5kIix7fSwxNTAwLGZ1bmN0aW9uKCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 SWQoImRsZS1jYXB0Y2hhIikmJnJlbG9hZCgpfSl9LDExMDApfX1hLlVSTFN0cmlu Zz0iIjticmVha319fX19O3RoaXMuY3JlYXRlQUpBWCgpfTs= ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=favicon.ico Content-Type: image/x-icon; charset=windows-1251; name=favicon.ico Content-Location: http://www.dl4all.com/favicon.ico Content-Transfer-Encoding: Base64 AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5nFxMgAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAOvr6/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAN/i4v+zaWlu2tva/wAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvR0cQ6ejo/9fY 2P8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AADj5OT/3uTk/3lISHrCe3xoqqqq/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAADY2tr/5OTk/9fe3v//Hh0QnZ2d/wAAAAC3nZ3PAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAysrK/8jV1f/GjY2nmJuc/5WZ mf+vr6//t7a2//MAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA06ysmczU 1P+to6P/AAAAAJqamv+WY1JCsrGx/6eGhtXrq6uVAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAvMLC/8W3t/2YkpL//21pFIqKiv8AAAAAEd29/5RAQVTf5OP/6O/v/+Dm 5v8AAAAAAAAAAAAAAAAAAAAAAAAAALa0tP+ze3uFtrm5/6awsP+QnJz/CbmM/wzS r/8Q27v/AAAAAOHg4P/g39//2nh2XgAAAAAAAAAAAAAAAP8AAAQAAAAAt7q6/8yB gUarra3/AAAAAAa8kf8AzaH/DuLA/1SpjKXW1tb/0dHR/wAAAAAAAAAAAAAAAOyH hiytra3/q6ur/wAAAACurq7//wAAAgCyk/8DwpP/CMKZ/wAAAAAT4sX/2QAAFM6s rMOlpqX/laKh/wAAAADExMT/wlBOXLGioverq6v/p6Cg+wAAAAAKyp//Dsie/wAA AAAP27v/T6qTtxbkyv//AAAKp7Ky/56env8AAAAA3OHh/7Oysv8AAAAAqKio/wAA AAAAAAAACMKY/wnFm/94XEcMDdOw/wD/5v8S58r/AAAAAK6urv+enp7/AAAAAAAA AADd3Nz/yMjH/827uusAAAAAANqz/4Z6ZgIExp7/CsKe/69eTwYR38D/AAAAAAAA AACysbH/yGJiPgAAAAAAAAAA7K+vdtfW1v8AAAAAAAAAAArJov8Guo7/CsOc/wvJ ov8AAAAACufG/wAAAAAAAAAAs7Oz/wAAAAAAAAAA//8AAP7/AAD9fwAA/n8AAPm/ AADxXwAA8B8AAOKPAADFRwAAwCcAAOoHAACUUQAARIkAACyJAACKWwAA2FsAAA== ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=convertlinks.js Content-Type: application/x-javascript; charset=windows-1251; name=convertlinks.js Content-Location: http://www.dl4all.com/convertlinks.js Content-Transfer-Encoding: Base64 alF1ZXJ5LmZuLnRleHROb2Rlcz1mdW5jdGlvbigpe3ZhciByZXQ9W107dGhpcy5j b250ZW50cygpLmVhY2goZnVuY3Rpb24oKXt2YXIgZm49YXJndW1lbnRzLmNhbGxl ZTtpZih0aGlzLm5vZGVUeXBlPT0zKXtyZXQucHVzaCh0aGlzKTt9ZWxzZSBpZih0 aGlzLm5vZGVUeXBlPT0xJiYhKHRoaXMudGFnTmFtZS50b0xvd2VyQ2FzZSgpPT0n c2NyaXB0J3x8dGhpcy50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PSdoZWFkJ3x8dGhp cy50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PSdpZnJhbWUnfHx0aGlzLnRhZ05hbWUu dG9Mb3dlckNhc2UoKT09J3RleHRhcmVhJ3x8dGhpcy50YWdOYW1lLnRvTG93ZXJD YXNlKCk9PSdvcHRpb24nfHx0aGlzLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09J3N0 eWxlJ3x8dGhpcy50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PSd0aXRsZSd8fHRoaXMu dGFnTmFtZS50b0xvd2VyQ2FzZSgpPT0nYScpKXtqUXVlcnkodGhpcykuY29udGVu dHMoKS5lYWNoKGZuKTt9fSk7cmV0dXJuIHJldDt9CmpRdWVyeS5mbi5oZmF1dG9s aW5rPWZ1bmN0aW9uKCl7cmVfbGluazI9bmV3IFJlZ0V4cCgnKGh0dHBzPzovLyg/ OltBLVowLTldXC4pKig/OmhvdGZpbGUuY29tKVstKClBLVowLTkrJkAjLyU/PX5f fCE6LC47XSpbQS1aMC05KyZAIy8lPX5ffF0pJywiaWciKTtyZV9saW5rMz1uZXcg UmVnRXhwKCdodHRwcz86Ly8oPzpbQS1aMC05XVwuKSooPzpob3RmaWxlLmNvbSlb LSgpQS1aMC05KyZAIy8lPz1+X3whOiwuO10qW0EtWjAtOSsmQCMvJT1+X3xdJywi aSIpO3RoaXMuZWFjaChmdW5jdGlvbihpKXtqUXVlcnkuZWFjaCgkKHRoaXMpLnRl eHROb2RlcygpLGZ1bmN0aW9uKGksbm9kZSl7dGV4dD1ub2RlLm5vZGVWYWx1ZTtp ZihyZV9saW5rMy50ZXN0KHRleHQpKXtuZXdOb2RlPWRvY3VtZW50LmNyZWF0ZUVs ZW1lbnQoJ3NwYW4nKTt0ZXh0PWpRdWVyeSgnPGRpdi8+JykudGV4dCh0ZXh0KS5o dG1sKCk7bmV3Tm9kZS5pbm5lckhUTUw9dGV4dC5yZXBsYWNlKHJlX2xpbmsyLCc8 YSBocmVmPSIkMSIgdGFyZ2V0PSJfYmxhbmsiPiQxPC9hPicpO25vZGUucGFyZW50 Tm9kZS5yZXBsYWNlQ2hpbGQobmV3Tm9kZSxub2RlKTt9fSk7fSk7fQpqUXVlcnku Zm4uZnNhdXRvbGluaz1mdW5jdGlvbigpe3JlX2xpbmsyPW5ldyBSZWdFeHAoJyho dHRwcz86Ly8oPzpbQS1aMC05XVwuKSooPzpmaWxlc2VydmUuY29tKVstKClBLVow LTkrJkAjLyU/PX5ffCE6LC47XSpbQS1aMC05KyZAIy8lPX5ffF0pJywiaWciKTty ZV9saW5rMz1uZXcgUmVnRXhwKCdodHRwcz86Ly8oPzpbQS1aMC05XVwuKSooPzpm aWxlc2VydmUuY29tKVstKClBLVowLTkrJkAjLyU/PX5ffCE6LC47XSpbQS1aMC05 KyZAIy8lPX5ffF0nLCJpIik7dGhpcy5lYWNoKGZ1bmN0aW9uKGkpe2pRdWVyeS5l YWNoKCQodGhpcykudGV4dE5vZGVzKCksZnVuY3Rpb24oaSxub2RlKXt0ZXh0PW5v ZGUubm9kZVZhbHVlO2lmKHJlX2xpbmszLnRlc3QodGV4dCkpe25ld05vZGU9ZG9j dW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO3RleHQ9alF1ZXJ5KCc8ZGl2Lz4n KS50ZXh0KHRleHQpLmh0bWwoKTtuZXdOb2RlLmlubmVySFRNTD10ZXh0LnJlcGxh Y2UocmVfbGluazIsJzxhIGhyZWY9IiQxIiB0YXJnZXQ9Il9ibGFuayI+JDE8L2E+ Jyk7bm9kZS5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChuZXdOb2RlLG5vZGUpO319 KTt9KTt9CmpRdWVyeS5mbi53dWF1dG9saW5rPWZ1bmN0aW9uKCl7cmVfbGluazI9 bmV3IFJlZ0V4cCgnKGh0dHBzPzovLyg/OltBLVowLTldXC4pKig/Ond1cGxvYWQu Y29tKVstKClBLVowLTkrJkAjLyU/PX5ffCE6LC47XSpbQS1aMC05KyZAIy8lPX5f fF0pJywiaWciKTtyZV9saW5rMz1uZXcgUmVnRXhwKCdodHRwcz86Ly8oPzpbQS1a MC05XVwuKSooPzp3dXBsb2FkLmNvbSlbLSgpQS1aMC05KyZAIy8lPz1+X3whOiwu O10qW0EtWjAtOSsmQCMvJT1+X3xdJywiaSIpO3RoaXMuZWFjaChmdW5jdGlvbihp KXtqUXVlcnkuZWFjaCgkKHRoaXMpLnRleHROb2RlcygpLGZ1bmN0aW9uKGksbm9k ZSl7dGV4dD1ub2RlLm5vZGVWYWx1ZTtpZihyZV9saW5rMy50ZXN0KHRleHQpKXtu ZXdOb2RlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTt0ZXh0PWpRdWVy eSgnPGRpdi8+JykudGV4dCh0ZXh0KS5odG1sKCk7bmV3Tm9kZS5pbm5lckhUTUw9 dGV4dC5yZXBsYWNlKHJlX2xpbmsyLCc8YSBocmVmPSIkMSIgdGFyZ2V0PSJfYmxh bmsiPiQxPC9hPicpO25vZGUucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQobmV3Tm9k ZSxub2RlKTt9fSk7fSk7fQpqUXVlcnkuZm4uc21hdXRvbGluaz1mdW5jdGlvbigp e3JlX2xpbmsyPW5ldyBSZWdFeHAoJyhodHRwcz86Ly8oPzpbQS1aMC05XVwuKSoo PzpzaGFyaW5nbWF0cml4LmNvbSlbLSgpQS1aMC05KyZAIy8lPz1+X3whOiwuO10q W0EtWjAtOSsmQCMvJT1+X3xdKScsImlnIik7cmVfbGluazM9bmV3IFJlZ0V4cCgn aHR0cHM/Oi8vKD86W0EtWjAtOV1cLikqKD86c2hhcmluZ21hdHJpeC5jb20pWy0o KUEtWjAtOSsmQCMvJT89fl98ITosLjtdKltBLVowLTkrJkAjLyU9fl98XScsImki KTt0aGlzLmVhY2goZnVuY3Rpb24oaSl7alF1ZXJ5LmVhY2goJCh0aGlzKS50ZXh0 Tm9kZXMoKSxmdW5jdGlvbihpLG5vZGUpe3RleHQ9bm9kZS5ub2RlVmFsdWU7aWYo cmVfbGluazMudGVzdCh0ZXh0KSl7bmV3Tm9kZT1kb2N1bWVudC5jcmVhdGVFbGVt ZW50KCdzcGFuJyk7dGV4dD1qUXVlcnkoJzxkaXYvPicpLnRleHQodGV4dCkuaHRt bCgpO25ld05vZGUuaW5uZXJIVE1MPXRleHQucmVwbGFjZShyZV9saW5rMiwnPGEg aHJlZj0iJDEiIHRhcmdldD0iX2JsYW5rIj4kMTwvYT4nKTtub2RlLnBhcmVudE5v ZGUucmVwbGFjZUNoaWxkKG5ld05vZGUsbm9kZSk7fX0pO30pO30KalF1ZXJ5LmZu LmZzb25pY2F1dG9saW5rPWZ1bmN0aW9uKCl7cmVfbGluazI9bmV3IFJlZ0V4cCgn KGh0dHBzPzovLyg/OltBLVowLTldXC4pKig/OmZpbGVzb25pYy5jb20pWy0oKUEt WjAtOSsmQCMvJT89fl98ITosLjtdKltBLVowLTkrJkAjLyU9fl98XSknLCJpZyIp O3JlX2xpbmszPW5ldyBSZWdFeHAoJ2h0dHBzPzovLyg/OltBLVowLTldXC4pKig/ OmZpbGVzb25pYy5jb20pWy0oKUEtWjAtOSsmQCMvJT89fl98ITosLjtdKltBLVow LTkrJkAjLyU9fl98XScsImkiKTt0aGlzLmVhY2goZnVuY3Rpb24oaSl7alF1ZXJ5 LmVhY2goJCh0aGlzKS50ZXh0Tm9kZXMoKSxmdW5jdGlvbihpLG5vZGUpe3RleHQ9 bm9kZS5ub2RlVmFsdWU7aWYocmVfbGluazMudGVzdCh0ZXh0KSl7bmV3Tm9kZT1k b2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7dGV4dD1qUXVlcnkoJzxkaXYv PicpLnRleHQodGV4dCkuaHRtbCgpO25ld05vZGUuaW5uZXJIVE1MPXRleHQucmVw bGFjZShyZV9saW5rMiwnPGEgaHJlZj0iJDEiIHRhcmdldD0iX2JsYW5rIj4kMTwv YT4nKTtub2RlLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKG5ld05vZGUsbm9kZSk7 fX0pO30pO30KalF1ZXJ5LmZuLmZqYXV0b2xpbms9ZnVuY3Rpb24oKXtyZV9saW5r Mj1uZXcgUmVnRXhwKCcoaHR0cHM/Oi8vKD86W0EtWjAtOV1cLikqKD86ZmlsZWp1 bmdsZS5jb20pWy0oKUEtWjAtOSsmQCMvJT89fl98ITosLjtdKltBLVowLTkrJkAj LyU9fl98XSknLCJpZyIpO3JlX2xpbmszPW5ldyBSZWdFeHAoJ2h0dHBzPzovLyg/ OltBLVowLTldXC4pKig/OmZpbGVqdW5nbGUuY29tKVstKClBLVowLTkrJkAjLyU/ PX5ffCE6LC47XSpbQS1aMC05KyZAIy8lPX5ffF0nLCJpIik7dGhpcy5lYWNoKGZ1 bmN0aW9uKGkpe2pRdWVyeS5lYWNoKCQodGhpcykudGV4dE5vZGVzKCksZnVuY3Rp b24oaSxub2RlKXt0ZXh0PW5vZGUubm9kZVZhbHVlO2lmKHJlX2xpbmszLnRlc3Qo dGV4dCkpe25ld05vZGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO3Rl eHQ9alF1ZXJ5KCc8ZGl2Lz4nKS50ZXh0KHRleHQpLmh0bWwoKTtuZXdOb2RlLmlu bmVySFRNTD10ZXh0LnJlcGxhY2UocmVfbGluazIsJzxhIGhyZWY9IiQxIiB0YXJn ZXQ9Il9ibGFuayI+JDE8L2E+Jyk7bm9kZS5wYXJlbnROb2RlLnJlcGxhY2VDaGls ZChuZXdOb2RlLG5vZGUpO319KTt9KTt9CmpRdWVyeS5mbi51cGxhdXRvbGluaz1m dW5jdGlvbigpe3JlX2xpbmsyPW5ldyBSZWdFeHAoJyhodHRwcz86Ly8oPzpbQS1a MC05XVwuKSooPzp1cGxvYWRpbmcuY29tKVstKClBLVowLTkrJkAjLyU/PX5ffCE6 LC47XSpbQS1aMC05KyZAIy8lPX5ffF0pJywiaWciKTtyZV9saW5rMz1uZXcgUmVn RXhwKCdodHRwcz86Ly8oPzpbQS1aMC05XVwuKSooPzp1cGxvYWRpbmcuY29tKVst KClBLVowLTkrJkAjLyU/PX5ffCE6LC47XSpbQS1aMC05KyZAIy8lPX5ffF0nLCJp Iik7dGhpcy5lYWNoKGZ1bmN0aW9uKGkpe2pRdWVyeS5lYWNoKCQodGhpcykudGV4 dE5vZGVzKCksZnVuY3Rpb24oaSxub2RlKXt0ZXh0PW5vZGUubm9kZVZhbHVlO2lm KHJlX2xpbmszLnRlc3QodGV4dCkpe25ld05vZGU9ZG9jdW1lbnQuY3JlYXRlRWxl bWVudCgnc3BhbicpO3RleHQ9alF1ZXJ5KCc8ZGl2Lz4nKS50ZXh0KHRleHQpLmh0 bWwoKTtuZXdOb2RlLmlubmVySFRNTD10ZXh0LnJlcGxhY2UocmVfbGluazIsJzxh IGhyZWY9IiQxIiB0YXJnZXQ9Il9ibGFuayI+JDE8L2E+Jyk7bm9kZS5wYXJlbnRO b2RlLnJlcGxhY2VDaGlsZChuZXdOb2RlLG5vZGUpO319KTt9KTt9CmpRdWVyeS5m bi5mcGF1dG9saW5rPWZ1bmN0aW9uKCl7cmVfbGluazI9bmV3IFJlZ0V4cCgnKGh0 dHBzPzovLyg/OltBLVowLTldXC4pKig/OmZpbGVwb3N0LmNvbSlbLSgpQS1aMC05 KyZAIy8lPz1+X3whOiwuO10qW0EtWjAtOSsmQCMvJT1+X3xdKScsImlnIik7cmVf bGluazM9bmV3IFJlZ0V4cCgnaHR0cHM/Oi8vKD86W0EtWjAtOV1cLikqKD86Zmls ZXBvc3QuY29tKVstKClBLVowLTkrJkAjLyU/PX5ffCE6LC47XSpbQS1aMC05KyZA Iy8lPX5ffF0nLCJpIik7dGhpcy5lYWNoKGZ1bmN0aW9uKGkpe2pRdWVyeS5lYWNo KCQodGhpcykudGV4dE5vZGVzKCksZnVuY3Rpb24oaSxub2RlKXt0ZXh0PW5vZGUu bm9kZVZhbHVlO2lmKHJlX2xpbmszLnRlc3QodGV4dCkpe25ld05vZGU9ZG9jdW1l bnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO3RleHQ9alF1ZXJ5KCc8ZGl2Lz4nKS50 ZXh0KHRleHQpLmh0bWwoKTtuZXdOb2RlLmlubmVySFRNTD10ZXh0LnJlcGxhY2Uo cmVfbGluazIsJzxhIGhyZWY9IiQxIiB0YXJnZXQ9Il9ibGFuayI+JDE8L2E+Jyk7 bm9kZS5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChuZXdOb2RlLG5vZGUpO319KTt9 KTt9CmpRdWVyeS5mbi51bHRvYXV0b2xpbms9ZnVuY3Rpb24oKXtyZV9saW5rMj1u ZXcgUmVnRXhwKCcoaHR0cHM/Oi8vKD86W0EtWjAtOV1cLikqKD86dWwudG8pWy0o KUEtWjAtOSsmQCMvJT89fl98ITosLjtdKltBLVowLTkrJkAjLyU9fl98XSknLCJp ZyIpO3JlX2xpbmszPW5ldyBSZWdFeHAoJ2h0dHBzPzovLyg/OltBLVowLTldXC4p Kig/OnVsLnRvKVstKClBLVowLTkrJkAjLyU/PX5ffCE6LC47XSpbQS1aMC05KyZA Iy8lPX5ffF0nLCJpIik7dGhpcy5lYWNoKGZ1bmN0aW9uKGkpe2pRdWVyeS5lYWNo KCQodGhpcykudGV4dE5vZGVzKCksZnVuY3Rpb24oaSxub2RlKXt0ZXh0PW5vZGUu bm9kZVZhbHVlO2lmKHJlX2xpbmszLnRlc3QodGV4dCkpe25ld05vZGU9ZG9jdW1l bnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO3RleHQ9alF1ZXJ5KCc8ZGl2Lz4nKS50 ZXh0KHRleHQpLmh0bWwoKTtuZXdOb2RlLmlubmVySFRNTD10ZXh0LnJlcGxhY2Uo cmVfbGluazIsJzxhIGhyZWY9IiQxIiB0YXJnZXQ9Il9ibGFuayI+JDE8L2E+Jyk7 bm9kZS5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChuZXdOb2RlLG5vZGUpO319KTt9 KTt9CmpRdWVyeS5mbi5vcm9uYXV0b2xpbms9ZnVuY3Rpb24oKXtyZV9saW5rMj1u ZXcgUmVnRXhwKCcoaHR0cHM/Oi8vKD86W0EtWjAtOV1cLikqKD86b3Jvbi5jb20p Wy0oKUEtWjAtOSsmQCMvJT89fl98ITosLjtdKltBLVowLTkrJkAjLyU9fl98XSkn LCJpZyIpO3JlX2xpbmszPW5ldyBSZWdFeHAoJ2h0dHBzPzovLyg/OltBLVowLTld XC4pKig/Om9yb24uY29tKVstKClBLVowLTkrJkAjLyU/PX5ffCE6LC47XSpbQS1a MC05KyZAIy8lPX5ffF0nLCJpIik7dGhpcy5lYWNoKGZ1bmN0aW9uKGkpe2pRdWVy eS5lYWNoKCQodGhpcykudGV4dE5vZGVzKCksZnVuY3Rpb24oaSxub2RlKXt0ZXh0 PW5vZGUubm9kZVZhbHVlO2lmKHJlX2xpbmszLnRlc3QodGV4dCkpe25ld05vZGU9 ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO3RleHQ9alF1ZXJ5KCc8ZGl2 Lz4nKS50ZXh0KHRleHQpLmh0bWwoKTtuZXdOb2RlLmlubmVySFRNTD10ZXh0LnJl cGxhY2UocmVfbGluazIsJzxhIGhyZWY9IiQxIiB0YXJnZXQ9Il9ibGFuayI+JDE8 L2E+Jyk7bm9kZS5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChuZXdOb2RlLG5vZGUp O319KTt9KTt9CmpRdWVyeS5mbi5jcm9hdXRvbGluaz1mdW5jdGlvbigpe3JlX2xp bmsyPW5ldyBSZWdFeHAoJyhodHRwcz86Ly8oPzpbQS1aMC05XVwuKSooPzpjcm9j a28uY29tKVstKClBLVowLTkrJkAjLyU/PX5ffCE6LC47XSpbQS1aMC05KyZAIy8l PX5ffF0pJywiaWciKTtyZV9saW5rMz1uZXcgUmVnRXhwKCdodHRwcz86Ly8oPzpb QS1aMC05XVwuKSooPzpjcm9ja28uY29tKVstKClBLVowLTkrJkAjLyU/PX5ffCE6 LC47XSpbQS1aMC05KyZAIy8lPX5ffF0nLCJpIik7dGhpcy5lYWNoKGZ1bmN0aW9u KGkpe2pRdWVyeS5lYWNoKCQodGhpcykudGV4dE5vZGVzKCksZnVuY3Rpb24oaSxu b2RlKXt0ZXh0PW5vZGUubm9kZVZhbHVlO2lmKHJlX2xpbmszLnRlc3QodGV4dCkp e25ld05vZGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO3RleHQ9alF1 ZXJ5KCc8ZGl2Lz4nKS50ZXh0KHRleHQpLmh0bWwoKTtuZXdOb2RlLmlubmVySFRN TD10ZXh0LnJlcGxhY2UocmVfbGluazIsJzxhIGhyZWY9IiQxIiB0YXJnZXQ9Il9i bGFuayI+JDE8L2E+Jyk7bm9kZS5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChuZXdO b2RlLG5vZGUpO319KTt9KTt9CmpRdWVyeS5mbi5mcmF1dG9saW5rPWZ1bmN0aW9u KCl7cmVfbGluazI9bmV3IFJlZ0V4cCgnKGh0dHBzPzovLyg/OltBLVowLTldXC4p Kig/OmZpbGVyZWFjdG9yLmNvbSlbLSgpQS1aMC05KyZAIy8lPz1+X3whOiwuO10q W0EtWjAtOSsmQCMvJT1+X3xdKScsImlnIik7cmVfbGluazM9bmV3IFJlZ0V4cCgn aHR0cHM/Oi8vKD86W0EtWjAtOV1cLikqKD86ZmlsZXJlYWN0b3IuY29tKVstKClB LVowLTkrJkAjLyU/PX5ffCE6LC47XSpbQS1aMC05KyZAIy8lPX5ffF0nLCJpIik7 dGhpcy5lYWNoKGZ1bmN0aW9uKGkpe2pRdWVyeS5lYWNoKCQodGhpcykudGV4dE5v ZGVzKCksZnVuY3Rpb24oaSxub2RlKXt0ZXh0PW5vZGUubm9kZVZhbHVlO2lmKHJl X2xpbmszLnRlc3QodGV4dCkpe25ld05vZGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVu dCgnc3BhbicpO3RleHQ9alF1ZXJ5KCc8ZGl2Lz4nKS50ZXh0KHRleHQpLmh0bWwo KTtuZXdOb2RlLmlubmVySFRNTD10ZXh0LnJlcGxhY2UocmVfbGluazIsJzxhIGhy ZWY9IiQxIiB0YXJnZXQ9Il9ibGFuayI+JDE8L2E+Jyk7bm9kZS5wYXJlbnROb2Rl LnJlcGxhY2VDaGlsZChuZXdOb2RlLG5vZGUpO319KTt9KTt9CiQoZnVuY3Rpb24o KXskKCJkaXYiKS5oZmF1dG9saW5rKCk7JCgiZGl2IikuZnNhdXRvbGluaygpOyQo ImRpdiIpLnNtYXV0b2xpbmsoKTskKCJkaXYiKS5mc29uaWNhdXRvbGluaygpOyQo ImRpdiIpLmZyYXV0b2xpbmsoKTskKCJkaXYiKS53dWF1dG9saW5rKCk7JCgiZGl2 IikuZmphdXRvbGluaygpOyQoImRpdiIpLmNyb2F1dG9saW5rKCk7JCgiZGl2Iiku b3JvbmF1dG9saW5rKCk7JCgiZGl2IikudWx0b2F1dG9saW5rKCk7JCgiZGl2Iiku ZnBhdXRvbGluaygpOyQoImRpdiIpLnVwbGF1dG9saW5rKCk7fSk7 ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=wink.gif Content-Type: image/gif; name=wink.gif Content-Location: http://www.dl4all.com/engine/data/emoticons/wink.gif Content-Transfer-Encoding: Base64 R0lGODlhFAAUAOZ7APjbHvrdH/HPGv7lIv7kIaKYfGVQHd3d2OTl4+/y9OnCFvzh IJKFY+7x8vnbH+/MGeK3EnhnPGJNGV9JFNHPxaOZfvLRG+a8FPbXHXVjNvXWHfDO GuS6FNTSydWhC9jY0eW8FOW7FKGWeuvGF552CndmOtmsEN+yEWxOB2lNCJtxB4lk B/PUHZJyDNTTyq19B9CbCrCTEp+VeNKyFt6wENfWz/3iIea/FtuuEG1QCKWbgdSf C6aCDXppP2lVIGlUIG9WCnJfMW9UCdWiDGZQHKeehHNhM86ZCdDOxKSDD9inDaiG D9jX0KGXe2hLCKeKEd6vENmnDb2MCaJ8C2pQCY9tCunHGd2vEMKkFbuKCbaPDuK3 E96xEJtwB82aC5p+EOvFF+/RHP/lIu/y85pvB9i3F+fEGNXUzOS8FrSNDq2PEnhm O86dC2xTCtLQx8CSC76QC3tqQJOGZdOwFc2qFOzJGWdTHu7MGv/mIkM0EP////X5 /QAAAAAAAAAAAAAAACH5BAEAAHsALAAAAAAUABQAAAf/gHuCg4SFhoQJZ0VxEhI9 Oi4Jh4IIBW1PM3d1dElUBQiHHxlfYQABAQAaG2gtGR+FBz5YAAsEAwMECwAWCmk/ B4NjcjEONnnHeMd5DgIXUwwNgm5ALAt5eNjZYnkYIzg5FIJNagAE2ed4BAAPECQi ghFlAQPo2QMBAhxvEYIGVgHI6g04xoGNgX5mAOTRo6zhwjxbvBzcE2EOhoV6MmrU mIeLlDWCRCwR4ADjxox5LkRRIUMQBSE3LCg8yVABFBgokAhqwICHgg0aHOZRcMJD F2iDDtjRAgLMAwECHowAccXDCyLACDExUsUEhBAhINBQcmRFkBqHKqUgAWfIjixk FZx8mrQnQYcKJSZMKFGhgyS6gAsFAgA7 ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=winked.gif Content-Type: image/gif; name=winked.gif Content-Location: http://www.dl4all.com/engine/data/emoticons/winked.gif Content-Transfer-Encoding: Base64 R0lGODlhFAAUANU/AKaafLmNDMinFe7MGeW8FfjbHtuuENvXy6h9CW1TCf7lInZj NYxpCXtoPKqNEqaEDvHPGs6aCmVQHWJMF86dC/zhIKughJaIZfn49vbXHeHd0tnU x96xEOS6FGpNCNOxFuvGF9WhC+K3EtmnDZtxB0M0EP/mIv////rdH/7kIenCFuXi 2e3r5fj39GlUH515DKicf3lnOvLRG31rQJpvB9/b0d3ZzvPUHb+RC+fEGNi3F+/R HJJyDLCTEunHGf///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQFCgA/ACwAAAAAFAAU AAAG/sCfcEgsGokYm2U2mcwsB8xRyAIkHJ/BQPDwAFhHzeK1K6BQhQyEwFtoiiuX oFAqKRSpukwVcK2GGBc9dCcnJSYlhSVrLxctQgcJN4mFhpWGIAYJG0IADoR1lqEl AyIvAEINOigKdXWIrigQHTgNQhI+rLAmvHUKsh0UErc5BSm8yMgpBaURwz8NHxkV Csm8ChUZIBwBtj8ADxB01cjYdAQjJKg/Gwkq4iUpdykVdCocER6cPy0XD+8ZXLm6 F4KEoyFxAhAAMQAChAEgCBgIgUDCHyI1FjAwIIIAAREcRkRgsKDGkSoeXuAIESIA DS9gpmA4ACNGkxgwokzZOSUIACH5BAUFAD8ALAYABwAIAAEAAAYHwFNpeBKWggAh +QQFBQA/ACwGAAUACAAEAAAGEsBS6UcUFofH3+lEVC6ZxOUvCAAh+QQFyAA/ACwG AAYACAABAAAGB8BS6TQUnoIAIfkEBQoAPwAsBAAEAAsABgAABiXA36+SEg4LxorC ZPqZFBWkkkl9VjKpajVVKP1KXiH4K2Qazb8gACH5BAUAAD8ALAQABAALAAYAAAYf wN+vVBIOi8LS6VRUMofLpVOqJDKZVYVxK0QlkUdhEAA7 ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=smile.gif Content-Type: image/gif; name=smile.gif Content-Location: http://www.dl4all.com/engine/data/emoticons/smile.gif Content-Transfer-Encoding: Base64 R0lGODlhFAAUAOZ7AP7lIv/lIv7kIfzhIPHPGvrdH/nbH+Tl4+nCFu/y9N3d2O/M GWVQHaKYfP3iIZKFY+7x8vbXHeK3EnhnPOa8FPDOGgAAAKOZfnVjNvXWHZ52CuW8 FF9JFNjY0fLRG9HPxdTSyeS6FGJNGeW7FHdmOqGWeuvGF9WhC2xOB29WCptxB2pQ CbSNDtTTyufEGLCTEt6vEKJ8C5pvB2lNCM2qFK2PEq19B5+VeOa/Fpp+EKeKEWlV IHJfMd+yEdi3F76QC9KyFuvFF+/y89XUzKWbgdCbCmZQHKeehLuKCXNhM9DOxNWi DGdTHuK3E29UCd6xEKSDD2hLCKaCDenHGfPUHXppP+S8FtmsEJtwB86dC9inDezJ Ge/RHG1QCLaPDu7MGt2vEKiGD9uuEKGXe4lkB2xTCsCSC9OwFdmnDdfWz49tCtjX 0GlUINSfC82aC3tqQJJyDMKkFZOGZXhmO86ZCb2MCd6wENLQx/jbHkM0EP/mIvX5 /QAAAAAAAAAAAAAAACH5BAEAAHsALAAAAAAUABQAAAf/gHuCg4SFhoQJQ0dvIiJV RC0Jh4IHDWU6QF9bNFArDQeHHRg5XHgFBXgZFVZwGB2FCjtxeAMCAAACA3geCCxs CoNCci8GDgF6yHoBDgYEFDEPEIJ3KVQDx3nJeQEDESZiXR+CYzV4AsjZ6HoCeAsS GiWCEz4FAOrqAAUEIWYTggxT6iUbqCffviwM/rkwRzAZuwVN3CTcM+FMBAvHCHK7 +KTOHEElwhAwsG3gMpIU0Ki4IeiDExwe8OSxhWsASQQwiqBQIgjCAykIKmTIQ7Qo gh4nsEQbpICJlw1BFhAgsMDEBjAnbBgBRmhNEjVXJIwYIcGOFjpkeKQ5VGmGhh9L GNogkRHl06Q9CUBcIMGBA4kLICTdHVwoEAA7 ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=am.gif Content-Type: image/gif; name=am.gif Content-Location: http://www.dl4all.com/engine/data/emoticons/am.gif Content-Transfer-Encoding: Base64 R0lGODlhFgAZAOZxAP5MIvlLH//wqPdLHpQKAfhLH+9JGvRKHd5HEu/y9NTSyd3d 2OFHFOZIFu7x8mFMF/5MIe1JGdlGEJOGZXppPqSbgPtLIOJIFNHPxaSaf19JFPxL IHhnPKCWefFKG9fWz/xMIf1MIZlCCnJfMc9FC9pGEOlJF+9KGuTl4uJHFNtGEfVK He/y89RFDZRCB2dACNVGEMtECtNFDchEC5ZCB61FEtLQx7hDCaGWeslFC21BCohB B25BCWlRH2BLFtDOxOlJGutKG45CCpxDC5KGZGdQHeFHE6OZfdBFDNhIGJ+VeKRE D2VQHXFCC5WJaHZkOKdCB7xEC8tHFGpBCLlEC2hQHaxFEqdFD7VDCWlBCLREDthG ENFIFs5EC2tBCfJKHaNDDWdPHOhJF+RIFqpFEdRIFnloPe1KGshECetJGWpBB5VC B3VjNsYAAP9MIv///wAAAPX5/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAEAAHEALAAAAAAWABkAAAf/gHGCg4SFhoeIhHCJjHFw BIuNho9tkJKKBG2VkZeOcW2LnIJwCQoVFA8PFBUKCYugkwJwOmRcZ2lSS15wsp+i jgKyAwEBAwcGvL2wgwtVcHAWIQAAIRYDHs89C76CDhM1BXAAbuRuACBwBhdDTizL GE1fG8/l5M8HJltTNss4VgUQ4LyBU04gnAEREIg4suxJkgAADBJ8NjDACSNRzCx7 EASiG3r2xFlkkIPJMh9AANarBwEhghnPBrEps2JDxJUR8ZW4sSyOkisGCqB7RvSZ uhY0RP3gMcZDuDdQo8JpICGGGgyEHBAB08DAAYFSG6ggsWaCg0ILwmhJISZC0RQS MkhAKbLN0IcRQmAgYMAAQQkZaHaM+JAIRYcsIqgg6YLFxYsOKBqVysBBgwYOGVp1 2hwIADs= ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=belay.gif Content-Type: image/gif; name=belay.gif Content-Location: http://www.dl4all.com/engine/data/emoticons/belay.gif Content-Transfer-Encoding: Base64 R0lGODlhFAAUAPepAOXl5YWFhYSEhERERMjIyB4eHgkLD+7NFtLS0iMcA+rGDv71 n/znOfXZJf3sQEZABZWJCv3lKP7uICAYAyMgBee+AD8sAPXZJvzmN5aDEPfjBeCp BeSkAPzKAP70npSAE/zEAIhjCkQ0AJR7Ef3oOf7xSOWxBvHSHf3tQcSYDvTSBvzZ L5F2CvLUH+ezBv74ov7ySv3qPP3nOPfcKfzlNMukDui5APjdKq6UFpaJCvzvlvzI Hv7yRfO8APfWHfzjM+mnAP3pO+moAO7ME/3oOvTXI/7kNPLTHv3pPP7bL/TTBui0 BvzNH/vhMP3wl/3vRPziL/3tPP3qPvzmNfG/Bf3qPUU8A/LRGvbJBf3bDPTWBv3a DPvhLv7tJ/7sJ/3rPuemACMbA/3uN6+gDei4AP3rQPneLNS2Dv73ofrgLfzfJO+6 AOmsBtS9DvHSHv3sP/C7AP3wR/73ovTUHfnfLZaKCvzkNf3uQ+elAO20ANS+Dv7y mf74o/3uQvK6AOvDBuanAPrhLvzjMtS3DvzkM/bIBfrREp92Df7yQuWqAP7yR/zc I/rSE/7znP7uN+yzAPa8AEU7A4tnCvLABfjXHv3tQvzlM/neLfzkNJF1CsqiDopn CvTXBvW7AP3qN/3tPfXYJPzula6TFvXWH/3rN+WnAPznOAAAAP///////wAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAEAAKkALAAAAAAUABQAAAj/AFMJHEiwoMGCBAQMKFBg gAACBwcCCPAgRxstKs5kiBQAwEEEFCBo8CImiqcIWwp9SICgIAAKYyQYSbLiDgoD Bph0EBXG48AAECTwwGmgz5sYJAzsADEiwEACDzQgglGCj5xKCzyYssTFEBUREFMJ qNNFUQlUp045SItKUBofnTIJEDhAj6M4L9CeKsPWyYw5fjQNEFiA06cnaFAplqIY VagiV9a4KEBYCSkUDhZkDdJojw5QJ4Y8MkE51YBBEb5UQUKEAQZMdC6cOPAHSIrB YjNkkUHCtZ0fly64OaCADJ5Nc1MRsIJFzRQahJqYaXCEeIVSGyyETRXgQ4dFUALd RmjQwnoiDiGcSkyAAwQjSqPSsrEBiMOhCT4HIkgwYhKkHnDkIQQYG4QwQUsGTSQC CzUsYUIKkljQUUQCJbRQQw9RqOFBAQEAOw== ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=feel.gif Content-Type: image/gif; name=feel.gif Content-Location: http://www.dl4all.com/engine/data/emoticons/feel.gif Content-Transfer-Encoding: Base64 R0lGODlhFAAUANU/AIODg82XF//XP/qeJ/unJolQC//KPP24K/7TKt7e3vSGHv/k Pud2FcTExP/iRPmlG+tqFv2rMv/DOv2yG/6zNP/cPjk5ORcXFllWVtJ5FuepHPWX Hf/SP6dmEP+0TP+4Nv+5Q/3MIeOWGv/jKvzCH/+7SePj4/7DLf/bMf/CQal4Dysc A/+2Ue97Gi4lA6NsD/OKH/+9OP+2PwAAAP///3x8fPv7+7CDEql7EP7AMOmCGP68 IP/LMem4HLphEv///yH5BAEAAD8ALAAAAAAUABQAAAb/wJ9wSCwaiyaA5XKxAEzH oQ3gemlIO9FrBbAdG5gCAlURCHgHQgHTKCYugdHCYeZwDDlC5pIg1m5yDjMzBgaD EgcDHTVDCS6BMzQ0KSmSMx8EGyt9PwA4I4KSNCUlojMEMItCFj1zApYsLJE0EQQK OhZCFyFzdzQzLB6RFBEDtxe6JBUVdyklHtAyxRstOsg/rAjMBhIg3jLEMzAQGbk/ NSohAncSEjEfH8UzLRAFjD+OJAh33O8UBDMUQICwaQi6HTwKuaMwaFy9e0LeBJiw 40SONA/GMfDBpwiYAhMeiKSmg8GaNkamrHgh4sGGDAVW1PAS5YeJGkuaPKnJ80gQ ADs= ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=fellow.gif Content-Type: image/gif; name=fellow.gif Content-Location: http://www.dl4all.com/engine/data/emoticons/fellow.gif Content-Transfer-Encoding: Base64 R0lGODlhFAAUAOZ2AP7lIvjbHvzhIPnbH/HPGv7kIf/lInJfMdfWz6CWeeK3Et3d 2P3iIe/MGfrdH+Tl4u/y9NTSyenCFuW8FGFMF+7x8vbXHfDOGvLRG+S6FF9JFPXW HZx1CtHPxd6wEGVQHaSbgPreH3ppPuvFF+vGF5OGZdWhC3hnPKSaf72MCWBLFs6b C7eQDvTVHZhuB+3MG2tPCNmsEL2QC+fAFnVjNtyvEJRzDMaoFqx8B+S6E9DOxNSf C3FYC29UCeS9FqmHD+a8FMCSC2dSHKGXe62PEmhMCKaFD5+VeNWiDM2qFNinDWpO CNmnDc6ZCd6vEJ55C6GWeqOZfYtlB9m5GHhmO+/RHJt/EKuNEWdSHW5UCppvB6WC Dd+yEZKGZO3KGdGbCs6cC7qJCd2vEGlUH5WJaHZkONezFmtRCe/NGq6REu/y87iQ DuvKGtLQx3loPWtOB2hUHZluB9KyFpFuCkM0EP/mIvX5/QAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAEAAHYALAAAAAAUABQAAAf/gHaCg4SFhoQQESAiFBQi IBEQh4IPCVlXcmheSUZnCQ+HCAdWVQEODgEbFz42BwiFC3A3AQIFAAAFAgEYEmtj C4MVJWkDDAZ1yHUGDAMEE09kaoIdPC0Cx8l1dAYCFiQ1MG2CUEQDBdp0dMjqBQEN ChxRgmVTIQDZ63UADgQ5QW6CKLywhy/ZPgIZwHwQpIKNuYLI2r1bsdAODTMW0hXk 5s1DCiqCjvwgUExdsmXNgDDRMkSQjh4zMAwQQOdWLjq8nHx500FQhS5bJFzYECBd ugsSuJiIU6LCoAVCWEwY0YAAgQYjJogxgQMLMEKi5sRQkCGDAg9KmkhxdajSEg4y F5DsCOOiyKdJdhKhOKFBwwkUkfAKNhQIADs= ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=laughing.gif Content-Type: image/gif; name=laughing.gif Content-Location: http://www.dl4all.com/engine/data/emoticons/laughing.gif Content-Transfer-Encoding: Base64 R0lGODlhEgASAOZ8AAAAAEM0EF9JFGxOB2hLCGlNCGJNGWpQCW1QCGxTCm9UCW9W CmVQHWZQHGdTHmlUIGlVIHJfMXNhM3VjNndmOnhmO3hnPHppP3tqQIlkB49tCppv B5JyDJtwB5txB552Cpp+EKJ8C619B6SDD6aCDaiGD6eKEa2PErSNDraPDruKCb2M Cb6QC7CTEpKFY5OGZZ+VeKGWeqGXe6KYfKOZfsCSC82aC86ZCc6dC9CbCtSfC8Kk Fc2qFNWhC9WiDNinDdmnDdmsENuuEN2vEN6vENOwFdKyFti3F96wEN6xEN+yEeK3 EuK3E+S6FOW7FOW8FOS8Fua8FOa/FufEGOnCFuvFF+vGF+nHGezJGe/MGe7MGu/R HPDOGvHPGvLRG/PUHfXWHfbXHfjbHvnbH/rdH/zhIP3iIf7kIf7lIv/lIv/mIqWb gaeehNDOxNHPxdLQx9TSydTTytXUzNfWz9jX0NjY0d3d2OTl4+7x8u/y8+/y9P// /wAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFCgB8ACwAAAAAEgAS AAAH/oB8gnx6cmwYBgYXa3F6g493MwkmRlpYPCMHM3ePfHUTIFtiZGRiYFxQHBN1 g3YQO2JlZ2hoZ2ViXlQoD3Z7eS8tY2YBxGrEAWNdUSEueG8LX2UBatTTamkBYVZC CG4yJ2Jn1dTGamdiWUsfMRZHZGjj42hkXU01FgxX7+T8avP1OBgwmBKuH7lzWZjY YGChSBgAaQymKfMwyYoKMUp0GRMgIrk0ZjhGAeIBhhsFUryICTCrVhmOVIjkGNAG jwsSVLiAOXaMipIeHZrxseMgxZMqWbp0yWLlyZAeIhrYGURHgoYgS5w4WYLkx40M EeZ0ilTgAwsfOlRsILCpkyA9DXBoUBAggAINOI4GBQIAOw== ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=lol.gif Content-Type: image/gif; name=lol.gif Content-Location: http://www.dl4all.com/engine/data/emoticons/lol.gif Content-Transfer-Encoding: Base64 R0lGODlhFAAUAOZ8APjbHv7kIfrdH/7lIqKYfPzhIGVQHeTl493d2PHPGu/y9JKF Y+7x8vnbH+K3EnhnPJ52CuW7FHdmOvbXHV9JFP8hIXVjNtTSyaOZfqGWevLRG/DO Gua8FGJNGdWhC9HPxdjY0eS6FO/MGevGF+nCFuW8FOa/FuK3E62PEtjX0KeKEe7M GrSNDv/lIqJ8C5p+EKSDD9i3F+fEGLaPDm1QCN6wEMKkFWhLCNKyFtfWz9LQx3tq QNSfC9TTyu/y8+vFF86ZCXhmO5twB6GXe3NhM2ZQHKeehMCSC2xOB72MCdinDdOw FaaCDd2vEOnHGduuEN6xEKiGD2dTHt+yEW9WCuzJGdXUzJ+VeK19B2pQCaWbgZJy DHppP49tCtDOxN6vEJOGZdmnDf3iIWlNCM6dC3JfMZtxB5pvB4lkB+/RHL6QC2lU IG9UCfPUHWxTCruKCdWiDM2qFOS8FrCTEmlVINCbCs2aC9msEPXWHS8kC0M0EP/m IvX5/QAAAAAAAAAAACH5BAEAAHwALAAAAAAUABQAAAf/gHyCg4SFhoQKVkY7HR1c Wj0Kh4IHBG4qOCtVcTBZBAeHIBYvaQACAgB4G3JbFiCFCHQ2AAUBAwMBBQAaJCxr CIM+YHMNYnp6e8nHDQkcLgsMgjpUbQXIe8jILXoTI080H4JDKAAByefnAQAiDhAZ gg8xAgPo6AMCCSFHD4IGTvP1zt3LR8ZAPxnlAiZTJ+KEHYN8HiyZYO2YxYsjoCQJ IihDlAQN9OQZSXKkHg5hzFwR9IGNCQ3HSprU86UOEi+CGCxgQmJDzAoV8hyb4kEI tEEIpMwo8ePisSYesBQBRigFkS53HESI4KCGEiBoyuQ4VGkMBDVweLw5c+PTJD4K Dy5gkECBggQMFyS93VsoEAA7 ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=love.gif Content-Type: image/gif; name=love.gif Content-Location: http://www.dl4all.com/engine/data/emoticons/love.gif Content-Transfer-Encoding: Base64 R0lGODlhFgAdAPeBAPd/g/mChfuHifBudv2Mjf2LjP8zM/iAg/6NjUMQIKJ6hd3U 2u/w9eTf5e5qc+hcaWUdLfyJipJibu7v8+JNXXg7SV8UJdjO1GIZKetibaF4g3c5 R50dMvd+gtHCyeRSYfFxeHU1RKN8h+RUYvV4ftTGzeVVY91DVuRSYvV5fsApQI8c MOhocd1CVdg4TqwXMLYxRNjN09MtRaQxQdddZ9UwSNNTX74pQJsTK5IjNM0nQaYs PsFQW+phbNtDVmkhMWkhMHs/TXo+TL0hOqIkOHg6SGkMH28TJO50eWoQItTHzu/w 9NhBVONYZaczQ7shOdg3TaeCjJsVLOtoceJNXpoULM4uRXIxP/BtdWYcLOthbcwr Q+9tdaY7SG0NINUvR6V/imcfLtfM0mwKHu1sdOVaZ5NkcKw/TM1PW7BDT28XJ9Ao QokQJt5EV9XJz9FaY593grMxQ6F5hHMzQWwVJd9GWOZlbtLEy9DByJk0QdQuR2gK HfJ3fEM0EP6Oju9KSv////X5/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFMgCBACwAAAAAFgAd AAAI/wADCRxIsKDBgwgTEvwTiKHCggz/SJSIMOLBiRUnOoSY0MBEAw8tDvQIUqDF jQ0pEiy5UOVAlAphcnwYiIGbKEEwYBACRgmDhw0U0OnyhswUNDOSKGiQ8EKIPEg6 BAjQgQSXJjlCXDi44AcPAAL69CEgFgCIB3GALCi4xEyaAxH6AAIkl+6BASaISJhA 8I4aPmHrip3bJ0UGH148EJRzBkCBwXQFA3BAgYMGghVoBCA7l27nPgEGfFBRgSAE Fpv9iF0tlkDoD1YgmLbj2I/t27YLTKayRfbACjZSCECA2zaCsBnaDClCUIOTAXCJ 30YQ4UAfEy6kwCHo4UgZEGALEGUgUECA9Qcn1ozBQ3CChB0PsJAAMBWA2Ad1vuDY W3BBGBgj9ODAAAM4oMUILejxQhZrGRTDHCswQQEKKFBwAhQ6sHGFGAkFZQQHN9Qg wxNV7LHUQwyUIMIGFliwgQgl/ETTjIEEBAAh+QQFXgGBACwHAA0ACQAGAAAIIQAD BUqQYGBBgQcTDgSEkKFBhwkgJujTZyDFgQYJagwUEAAh+QQFMgCBACwHAA0ACQAG AAAIHgADBerTZ2BBgQcTGkSYkCBDhoAADYw40CDBi4ECAgAh+QQFBQCBACwGAA0A CwAGAAAILAADCSxAIFABAQITIvDD0A+CCAobNkSAMJBEiQUC9dHYp4+fjhs3Wrzo R2BAACH5BAUAAIEALAYADQALAAYAAAgoAAMJ7NMnEEGBCPsAAqSQYcKGBBcWNAgR YiACgRYy1BgowECCICcGBAA7 ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=no.gif Content-Type: image/gif; name=no.gif Content-Location: http://www.dl4all.com/engine/data/emoticons/no.gif Content-Transfer-Encoding: Base64 R0lGODlhFAAUAOZ7APrdH/zhIP7lIvHPGv7kIfnbH//lIu/y9N3d2GVQHaKYfOTl 4+nCFv3iIfXWHfbXHeK3EpKFY+7x8vDOGu/MGevGF/LRG3hnPOa8FNjY0aOZfnVj NuW8FGJNGdHPxeW7FNTSyXdmOuS6FNWhC6GWep52Cl9JFO/RHKeehJtwB6SDD9jX 0HJfMdLQx+vFF62PEolkB7CTEt2vEHtqQMKkFenHGc2qFOa/FuS8FtmsEKiGD9uu EN+yEdinDdmnDXppP5+VeKeKEc6dC9i3F9SfC29WCrSNDmZQHHNhM96xELuKCdWi DMCSC9TTypOGZc2aC96vEGpQCZtxB2lNCG1QCK19B+zJGefEGG9UCZJyDO/y83hm O2dTHu7MGr2MCdfWz9KyFs6ZCfPUHWhLCNDOxL6QC96wELaPDtCbCqWbgWlVIGxT CmxOB6J8C9XUzOK3E49tCtOwFaGXe2lUIJpvB5p+EKaCDfjbHv/mIkM0EP////X5 /QAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFZAB7ACwAAAAAFAAU AAAH/4B7goOEhYaEB24oMx0dP2lNB4eCCwprQWBdVjYqUQoLhxkbdSd3AAB3DhM4 WRsZhQhqNHcBeXkCtncWDEZzCINaTjEFDXl6esbIBQMYbRESgi1FYrXHyNZ5DxU7 VB6Cci93BMa25LkUECUkghdDALjItvF5AAMiTBeCCTXveOX/AuqJEJJA3xVxeBIq TEjgDoU3TwruuRDnQQADCxMaCKAtiZctgkjoGEAMo0IDDZZh8CEFiCAPWG5YoEVA gAACAQrsgoKGDRlBEiLYYTDBgSlUqhjwGJHi2SAEXM5wcEFhgK0KHGSMqHLkF6EV SODkgPDhAwQzPcLAYPHlUKUpJRrKLCGihM6YT5P2HAChIYQJEyE0gJCUt3ChQAAh +QQFyAB7ACwGAAcABwACAAAHCoB5eXqCg4KEh4EAIfkEBWQAewAsBgAHAAcAAgAA BwqAenmDgnmFhoOBACH5BAUFAHsALAQABAALAAYAAAclgHuCBAJ7BAGCiQZ4jHgG DYqNjQaIe5KSBHt5moJ4m4Kfl4yCgQAh+QQFAAB7ACwEAAQACwAGAAAHJIB7gnl5 e4SCiHl6eoqMiYuMkIWGjISVhQJ7eoObggCDhKGTgQA7 ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=recourse.gif Content-Type: image/gif; name=recourse.gif Content-Location: http://www.dl4all.com/engine/data/emoticons/recourse.gif Content-Transfer-Encoding: Base64 R0lGODlhFAAUAOZ3AEM0EP////HPGvnbH//mIt/b0eK3Eu3q5NvXy+nCFvn49vzh IHNgMqWYemJMF/jbHu/MGeW8FObj2uS6FPj39PbXHfDOGvLRG/XWHdnUx6mdgPre H3xqPt6wEP3iIWVQHf/lIv7lIqmegWBKFZeJZtWhC+vGF3toPP7kIZx1CpaIZc2q FKaFD2pVH4tlB29UCcaoFr2MCZt/ENyvELeQDntpPXdkNmtPCNmsEOa8FOS6E5Fu CpRzDOfAFqx8B6mHD555C9KyFtSfC9ezFmpOCM6ZCaSYeaWZe9WiDGtOB2hSHLqJ CdinDZmLaWtRCd6vEK6REu3KGZluB6aafLiQDqebftmnDauNEd+yEe/NGuvFF2lU Hc6cC86bC3FYC+Xi2fj49ZhuB92vEGFLF9GbCtrVyWhMCO3MG9jTxsCSC3hlOL2Q C+S9FuvKGm5UCq2PEnpoO2hSHe/RHNm5GPTVHaWCDZpvB////wAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAEAAHcALAAAAAAUABQAAAf/gHeCg4SFhoQKCCIcDg4c IggKh4IHDW5XQVlRKyxODQeHBQwycgCmphZsPAwFhRJbMA8AAQGztRcJVC0SgxQk UAO2tbS1AhFATWCCGV50C8LQFSYzN2WCR2/BxMPEABAGKVWCanMbwty0AAI6aTWC DmfmtbP09AITXB+CY23apsP/vBnoou+OjSEVnp0icAqAtA4x4Agy8kPAAA8gCGgk AMLDAAE5rNiZIgjNix4XBixAESIEigUPcD0hkySDIAoq6iSwgEGWKQwWEmApIYUE hUFflNCIoEWdAAgAIogp4SMOL0KiduAwMGGCgQ5MirhgdagSkRRrkAhZEsbMp0l3 DhJpODFixAkNkeDqNRQIADs= ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=request.gif Content-Type: image/gif; name=request.gif Content-Location: http://www.dl4all.com/engine/data/emoticons/request.gif Content-Transfer-Encoding: Base64 R0lGODlhEwATAPcAAP7gHP/iHf/jIfvXDfvXDvzZEfvXEf3bF/3cGP7fG/7cHf7d Hv/fIf/hJP/hKP/fLvTMBvrSB/vWD/vUEfvVFf3WIf3YJf/cJ/XHAPTEAPfKAdeu AvjKA/fHB//aNu24AdSmAsyiA6+KBJ99BPjIEfrKF/7TL//UPvK7A7OKBfzJIv/P Pf/RQf/TQ6yBBPGyB/W4D29TB/zHKv/MP//MRP/QRf/OSZpwBG5QB/3CNmBLF0M0 EP/JR//LR2hSHf/MSf/KSv/KS//KTHBeMHhnPJ2Sd6GXfcOKA/i2Hf3BOv7ESGpT H//HTZGCYZOEZKpyB+yhDLmADHZTCvm0IvixJPy+O/29Pv/ETf/ETvKmF+adHPmu KmFGFf26Qf/CVP/DVXFKC/KhGPOhHfmrLf++Uf++VP/AVv++WP+/WXlgOOqSD/2z SP63Up6Mcp+Nc+mOD/GVHvehLfytQP+7XKGOdNR9D65mDvSZJ/egMvqgNv2vUf61 Wv+2YNJ2D/SUJ/2rTf+0Yv+1Y3dXM3paNrBhEf+wYq5cEtx1GPCFJfubQf+tYnQ+ Ev+sZXY/E/GALfeLOGc8G/uWRWpAH/2fV/2hWv+qafmMQvmPQux0Jv2VVf6dXv6h Zv6iaP+nbZ57ZO1wJ2g3HGs7H555Y/yIT/d4O/6ZbKVEHKxIH/FnL/l5Q3hAKP6T Zv+ZcPp3Rno/KP2DWP6JXn1ELqBrV/ZsP3k8J/6IYJRTP/dkOP19V/6LaJ5jUelQ K3IwH/1zU9JHKOJNLnErHPtmRfxmSP52W5NJOP+Ga7w+J89GLX4tHv5rUv5tVP50 Wrs7KPxWPYIsIP1YQP5kT/9zXv1POMs/Lf9ZR/9kUv///////wAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAEAANcALAAAAAATABMAAAj/AK8JHEiwoMGCRojo0EHE yEGCRWKI2IAhAwgXOIo8HDICwoACBQhE0PDhxhCDPkJIOJAgQAAACAxwQHFkCcEm KSYoYLBjh4CeCyh0ePHEyUApJCpc2GHNWoOmOyyUgAEFjMA2UVSYYNrUQVNrO2Qg CWPHzTVBWnLMWAH1AVcaVsbcOTToGiQ8a8hg6QHWA9MgZfQkeoRJ0jVQlyYp4mMG CIsTLYSgKaRpVCpUoa65mgWrVCdAXn7UsPElEKdavYLtinVN17FlxVhVmsPkh5Az jFYNg/bMmCyBzqpFy7VpzxUeSthQeqWMmjRkA4lNS4Yr058uSarIibRDWDNmtggC OPvVylKeLVOoxNlB6pYvXgZpnXLkR0yWMHAQfTKl6qGoRoTUocYbfRiyiCcPDURH GlxwkQYdBgUEADs= ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=sad.gif Content-Type: image/gif; name=sad.gif Content-Location: http://www.dl4all.com/engine/data/emoticons/sad.gif Content-Transfer-Encoding: Base64 R0lGODlhFAAUAOZ6AP/lIvrdH/HPGvzhIP7lIv7kIWNPHJqRd+/MGc7QztXY2d/k 6vbXHfLRG/3iIYx/X/DOGt7j6OvGF+K3EunCFvnbH3VkOpuSeXJgNMTDvWFMGZ52 CsbGwOS6FOa8FOW8FMvLyHRjOF5JFNWhC5mPdeW7FN+yEd2vEOK3E9CbCndnPWpQ CWhSH619B6SDD9WiDKJ8C2ZRHaiGD+a/Fr2MCZ6WfunHGXRjOcKkFa2PEtKyFruK CY9tCs2aC7SNDm9WCtmnDWhLCNSfC8CSC/PUHdi3F8rLx5mQdt6vEPXWHZiOc+S8 FsfHwefEGGxOB21QCL6QC6eKEcjIw82qFJp+EI2BYYlkB2lNCJ2UfO7MGndmPGhT H3BeMc6dC97j6cnKxs6ZCd6wEN6xEG9dL9msEMPDvMXFv5JyDJpvB9uuELaPDuvF F5twB+/RHOzJGdinDW9UCaaCDWxTCtOwFZtxB7CTEmRPG/jbHkM0EP/mIuTq8gAA AAAAAAAAAAAAAAAAACH5BAEAAHoALAAAAAAUABQAAAf/gHqCg4SFhoQLUjUqGhpa WEwLh4IKB3JROlluUy4rBwqHIBhUbXgBAXd4EEtnGCCFCVs4qQUEBAUDeA0UPiwJ g15VdRV4AHnHeQAOeAIeMA8RgmY/RAPGeMjFAwwSaU8Zgkc5dwXH2OZ5BXcIExsk ghZFAQTo6AQBAh1DFoIGNvP18mC7l6+LgX5NyCFbmG4dih4H9ViYw8Aaw2TbJIih cUMQCRkCKjgwhkxZhWZA6CgRlAHOjAZ3cuGZOXMXkhROygiK8CAOBQh47py6kwSo iRFsoA1KEEPNhzUIBAhAIOHDiREt7PwiZIQLDzITSpSYEOYNGCtjvhyqdGUDlBdC F3agCfJpkp4FHC6EECEixAUOkuwKLhQIADs= ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=tongue.gif Content-Type: image/gif; name=tongue.gif Content-Location: http://www.dl4all.com/engine/data/emoticons/tongue.gif Content-Transfer-Encoding: Base64 R0lGODlhFAAUAOZ8APHPGvrdH/7lIv7kIfzhIPnbH2VQHd3d2KKYfO/y9P8CAOnC FuTl4+vGF/LRG5KFY+7x8nhnPOK3EvDOGv9tZ//lIvbXHf3iIeW8FNjY0Z52CtWh C6GWevXWHXVjNtTSyWJNGeS6FOa8FF9JFNHPxeW7FHdmOu/MGaOZftLQx72MCdi3 F9DOxK19B2hLCOvFF+fEGOzJGc6dC2xOB86ZCdinDZp+EHJfMdWiDGlNCGxTCtms EG1QCJtwB2lVIOK3E29UCXhmO6SDD9fWz6iGD+/RHNuuENCbCraPDtSfC6WbgZ+V eJOGZdmnDWdTHqaCDWZQHIlkB9XUzMCSC2lUIGpQCenHGeS8Fua/FtOwFcKkFbuK CW9WCppvB82qFKJ8C6eehHtqQNKyFnNhM92vENjX0LCTEptxB9+yEc2aC9TTyqeK EY9tCrSNDnppP96wEKGXe/PUHd6xEO7MGu/y85JyDL6QC96vEK2PEvjbHkM0EP/m IvX5/QAAAAAAAAAAACH5BAEAAHwALAAAAAAUABQAAAf/gHyCg4SFhoQJUmBhICBu SmoJh4IMCDprYnMxXkJVCAyHGR42RXkBAXkdE1d1HhmFBz5aeQQDAgIDBHkOC21U B4N0TGYFF3rHe8d6BQAiXw8QgilccQR6e9jZFXoWDUY8JIJweHkD2ed7A3knEhoc ghErAQLo2QIBACFTEYIGVvP1sN3LJ8NAPxh5kNUbcOxHGoN8ImSxQGCbsovd5KgI IogDEQDFKiSjQHJZsyZnlggiAQSLA1oMFcjUw+vOkRksBEF48GTBhA6m9CjQM2EB mg09oA064AQJhhcnAADQ0wADmQ0toAAjVGYMmx0SSpSQ8KYGjSg3hhyqlEODHRxJ F7Z0cfFpEp8EH1CYGDHCBIoPkuwKLhQIADs= ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=wassat.gif Content-Type: image/gif; name=wassat.gif Content-Location: http://www.dl4all.com/engine/data/emoticons/wassat.gif Content-Transfer-Encoding: Base64 R0lGODlhFAAUAPejAMjIyISEhIWFhR4eHuXl5URERNLS0iMcA/znOffjBZWJCv3u Q/3tQSAYA8SYDv7uIP7xjfHSHT8sAEZABf3lKOe+AJR7EYhjCuSkAOCpBZSAEyMg BZaDEEQ0AO7NFuWxBv3qPvzEAP74ovzKAOrGDv3qN/zVLZF1Cu20APvQKP7tJ/3r P/TUHei4AP71nvfcKe7ME/fWHf/4pPLRGv3pO/3oOf8AAPnOKP3nN/LABZaJCvnQ KNS9DuWnAPa8AK6TFumnAJF2Cv7xQf7xmf3wR/TXI9S+Dv3vRP3tQv3nOPziL/3p PZ92DevDBv7rPfzWL4tnCvzkM6+gDUU8A/3gOPTXBvbIBfzcIvTWBvW7APzlNP3p PP3tPOanAK6UFv72n/C7AP3hOPO8AP7uitS3DvK6AP3rPpaKCuezBvjdK/nfLf3u N/3phsqiDvzfJPzYMO+4Gu+6APfAGv3uQv/4oyMbA+WqAP7rPkU7A/7uN/7vjcuk DvTSBv3bDPbJBdS2DvTTBv7sJ/neLei0Bv7siP3wl/rREv3oOv7rOv3wRuyzAP3q PfzmN/zmNf9AQP3aDPzcI/3rN+emAPrSE/3sQOelAOeuDPzfI/3tPfG/BeWjAOy0 E/XYJPzkNOmoAIpnCvXZJv///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAEAAKMALAAAAAAUABQAAAj/AEcJHEiwoMGCAAIUGDCg QAAABwcSEDBBBw8sfP5wwCOAwEEDGxQkCLSGSwkKj6xoOGCgIIENUh4IEZVoAQNR OC6N+FHH40ABCh44EUVHxJwvLkQ9uRLCgoCBACYkQCQqlChRSK5aTWEoUweIowKc UXFHhlVRYbQOuREjy4kAAgsYyUNERKi7VO6GKvSCRZk2BQQOqILpyAIIEPSAGEOI TZoiM+KgGSAYUCQGlFaAWEIDQRRBnCLAUPSB8qgCZCiYWbTlEAJGndSAiuChCRAH gcNy6JOkBoI3V6/C8UCiRaVPcEcBmOLHTSMtJoKL2kSiQo8MEsCOEqBhBCQlO0Q5 RLIhylIFOxguPJV4wEuISXKka+qCgUkDnwMNHLCQw4cYMCh4IkkGFzTQkkETdRDE HoN84AAUEnQUkUAJLdTQQxNmeFBAADs= ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=crying.gif Content-Type: image/gif; name=crying.gif Content-Location: http://www.dl4all.com/engine/data/emoticons/crying.gif Content-Transfer-Encoding: Base64 R0lGODlhFAAUAPehAIWFhcjIyB4eHuXl5YSEhERERNLS0iMcA/3sQP3qPv3uQ5WJ Cv3tQcSYDv3wRiAYA/3rQPzKAJR7EZSAE0ZABf3tQiMgBffjBf3wReSkAOe+AOCp BUQ0AJaDEP7kHP3eNv7xSPzEAOWxBv3pO4hjCj8sAP3lKPTSBq+gDf3nOOezBv3g N8qiDtS3Dv7ySvW7APzfJPO8APzjMv3mPf3cNva8AP3vRPfWHfzkNfrhL+i5AOy0 E/3bDP3pPfLRGvHSHfrgLeelAJF2CvXWH/XZJei0BpaJCvjXHv7yR/bJBe20APLS G++6AOemAP3sP66UFvLABdS+DvzmN/bIBei4AJF1CkU8A/7tJ/3aDP3qN/3tPNS2 DuvEB4pnCq6TFvG/Bf7yQv3hOtS9DvznOPTXBvzcI/7ySf3uN/jdK/zmNf3wR/zN H/3oOfTUHe+4Gf3uQu/NFJ92DfrREv7xRyMbA/TTBumnAOyzAP3bMkU7A+vDBvzl M/7sJ/zmNuanAO7ME/3qPP3jO8ukDvTXI/LUH/viMvziL/3cNfznOeWnAItnCumo AP3rN/C7AP7uN/TWBuWqAPfcKfK6APneLZaKCueuDP3vRfvhLvXYJPzIHvzkM/rS E/3tPf3rP/3rPv8AAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAEAAKEALAAAAAAUABQAAAj/AEMJHEiwoMGCAQgUECCg AIEABwcOAEDBiJhHJ7Z0yANgwEEDFhZc4HNGSxYTWKZMOGCg4AALKDyAAuVAAYOZ ayJ4oeNxIIAFMs3MwfDGCSA2oDKFkABgYAAKF8C4AAFqRoUVoMbsuSTnCweIoQhQ uoIEhANQgRB8ANVHBpAbL6oQEFggiiM1GCyBCgOBBigcOSK1kcSigEABZDjZUFAB AYQEI6QUQjPIBxMVAg7XYcQAQacEPUYg0jQJ048/d0RkDlWghQlPHw7NnA3KzQ49 dhoYDtuBRwo8oD4JHw6qEpUgXeaGCmAlCYw0wT/NFA5KQ6INJcCGAjAhQhlDM4kQ RpqpAVIGEk0lHngSYtORIUvgcNHhJ0OcBz0HGjggAUqNGI0osUgTG5DwQEsGTcSB EIIUIUIDipTQUUQCJbRQQw9RqOFBAQEAOw== ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=what.gif Content-Type: image/gif; name=what.gif Content-Location: http://www.dl4all.com/engine/data/emoticons/what.gif Content-Transfer-Encoding: Base64 R0lGODlhFAAUAOZ6AP/lIv7lIvzhIP7kIfHPGvrdH/nbH6KYfN3d2OTl4+/MGWVQ Hf3iIe/y9OnCFu7x8vLRG5KFY/bXHfXWHfDOGuK3EuvGF3hnPOW8FOa8FGJNGV9J FKOZftWhC3VjNtjY0aGWetHPxeW7FNTSyZ52CndmOuS6FMKkFaSDD5JyDN2vEL6Q C72MCdLQx2lNCNmsEM6ZCd6vELSNDptwB6GXe619B62PEo9tCqeehN6wEOa/FtCb CufEGHtqQKeKEevFF9mnDc2aC9uuENOwFZp+ELuKCc6dC+nHGZpvB29UCZOGZe/y 84lkB8CSC7aPDtfWz5txB9KyFqJ8C82qFO/RHNjX0HJfMeS8FuzJGWlUINi3F2xO B9WiDNDOxG1QCKWbgWxTCmZQHHhmO6aCDWdTHu7MGt+yEW9WCrCTEnppP96xEGlV INXUzPPUHaiGD9inDdTTytSfC2hLCOK3E2pQCZ+VeHNhM0M0EPjbHv/mIvX5/QAA AAAAAAAAAAAAAAAAACH5BAEAAHoALAAAAAAUABQAAAf/gHqCg4SFhoQNbDg9Ghpp X3ANh4IJB2A+UWVYUyh0BwmHHx5EVHgFBXgTFFcpHh+FCGsneAIDAQEDAngQDjJZ CINLSmgGDAB5yHkADAYEGVIRD4ItZ20Cx3fJdwACEhZCXiGCNDZ4A8jZ6HkDeAoV JCCCF1oFAerqAQUEJk0XggtH6iUbmCffPiML/vEwRzAZOwVzgiTUc2GIhGsNuXlT w0KMIBBuCBQ7lmxZswxAoNQRFCKJDgi0bOESYIBXjB1bugh6EGGMAwoT8NwZqsqB mQ4zog1CQMYJhh8KCBBQYAGDig41wgAjVMXOjRcVRIiokOMNDCZWnhyq5ILECi5x F4ogkfNpkp4GIziU2LChBIcRkuwKLhQIADs= ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=bully.gif Content-Type: image/gif; name=bully.gif Content-Location: http://www.dl4all.com/engine/data/emoticons/bully.gif Content-Transfer-Encoding: Base64 R0lGODlhFQASAOZwAAAAAEM0EF9JFGxOB2hLCGlNCGJNGWpQCWxTCm9UCW9WCmVQ HWZQHGdTHmlVIHJfMXNhM3VjNndmOnhmO3hnPHppP3tqQIlkB49tCppvB5JyDJtw B5txB552Cpp+EK19B98AAKSDD6aCDaiGD6eKEbaPDruKCb2MCb6QC5KFY6GWeqGX e6KYfKOZfsCSC82aC86ZCc6dC9CbCtSfC8KkFc2qFNWhC9WiDNinDdmnDdmsEN2v EN6vENOwFdKyFti3F96wEN6xEN+yEeK3EuK3E+S6FOW7FOW8FOS8Fua8FOa/FufE GOnCFuvFF+vGF+nHGezJGe/MGe7MGu/RHPDOGvHPGvLRG/XWHfbXHfjbHvnbH/rd H/zhIP3iIf7kIf7lIv/lIv/mIqWbgaeehNHPxdTSydTTytXUzNfWz9jX0NjY0d3d 2OTl4+7x8u/y8+/y9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFCgBwACwAAAAAFQAS AAAH/oBwgnBvZ2MWBgYVYmZvg4+DbCwIJD5SUDUhByxskINqER5TWVtbWVdUSBoR ap5rDjRZXF5fX15cWQu6u4Nuu7+/IMLCvAsKw8jIwCALcCsUwNFZUUMdKsxwFD9b X2FhAN7eAF9bVUUuFNgLT1vh4O7k5jEL6ktZ4fjeXuVEL/TNFHpgAQAmXxgwXAYG OTGBmIoRVbQEKBgOTBeJSXJwaMiMTAIlVrIEoGWLi0QmPGQMmPCvTQoRTKhcCUCz JhMhNjakaKNL0JoGJY40iVKlShQnR3bY+MBgjac0EDDoGGLEyBAgOGBceIDGkyBJ BTqguDHDRAYCnLwOelOmhQQBCQIktCjjyFMgAAA7 ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=angry.gif Content-Type: image/gif; name=angry.gif Content-Location: http://www.dl4all.com/engine/data/emoticons/angry.gif Content-Transfer-Encoding: Base64 R0lGODlhFAAUANU/AP/yKNyVAua0AJqKC5Z3C3BbBYKCgvrXDP/pId7e3vPNA8TE xPvaE//uJv/lHjk5OVlZWf7xBBcXFv3RAvzCAtqxDuzCAOyrAP3oCfq7AP/jHf/m IOKkAP7NASskAuCZAuPj4/W9AP7eGf/gG82ZDfCzAf/tHPfTCv/fDdmOAScbAope CwAAAHx8fPv7+//rI//yHPfUBvbFAMSLDd6/DuLLDbuXDsSkD9WoDa11D+WvAOih AP/dAL6yDouLi////yH5BAEAAD8ALAAAAAAUABQAAAbuwJ9wSCwaiyDfQyJ5+EDH ocvgGdAmkwrBY3AdF5ACBmNCOFATSgGyKCYkvQgA0HghNqMDxSZJEFsDcnMNCHca IhMZBC1DIB5yLCx1dxuRBzIlHn4/BoGDLIWVhwcKF4tCDzUwdC+RlSyjMhckD0IS B3R1rpGHJxYXHxK2MSaTlBsOGgwKFhzBqDQYhMfJeRYCATO1nAM8ocjVy80pK4w/ CR4dKMiR7cw6KSkqmz+A6iwjIgykLNjk5kLe3KAw4cCBE+8CBMjRpwiYAhQyhAhR YseHFGvaGJnigQCOErNWqGjhJco5A0uaGIBisqWRIAA7 ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline; filename=like.htm Content-Type: text/html; charset=utf-8; name=like.htm Content-Location: http://www.facebook.com/plugins/like.php?href=http://www.dl4all.com/e_books/981407-fashion-design-and-pattern-making.html&layout=standard&show_faces=false&width=400&action=like&colorscheme=light Content-Transfer-Encoding: Quoted-Printable Likebody{background:#fff;font-size: 11px;font-family:"lucida grande",taho= ma,verdana,arial,sans-serif;color:#333;line-height:1.28;margin:0;padding= :0;text-align:left;direction:ltr;unicode-bidi:embed} h1,h2,h3,h4,h5,h6{font-size: 13px;color:#333;margin:0;padding:0} h1{font-size: 14px} h4,h5{font-size: 11px} p{margin:1em 0} a{cursor:pointer;color:#3b5998;text-decoration:none} a:hover{text-decoration:underline} img{border:0} td,td.label{font-size: 11px;text-align:left} dd{color:#000} dt{color:#777} ul{list-style-type:none;margin:0;padding:0} abbr{border-bottom:none} hr{background:#d9d9d9;border-width:0;color:#d9d9d9;height:1px} .clearfix:after{clear:both;content:".";display:block;font-size:0;height:= 0;line-height:0;visibility:hidden} .clearfix{zoom:1} .datawrap{word-wrap:break-word} .word_break{display:inline-block} wbr:after{content:"\00200B"} .ellipsis{overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellips= is;white-space:nowrap} .img_loading{position:absolute;top:-9999999px} .aero{opacity:.5} .column{float:left} .center{margin-left:auto;margin-right:auto} #facebook .hidden_elem{display:none !important} #facebook .invisible_elem{visibility:hidden} #facebook .accessible_elem{left:-9999px;position:absolute} .direction_ltr{direction:ltr} .direction_rtl{direction:rtl} .text_align_ltr{text-align:left} .text_align_rtl{text-align:right} body.transparent_widget{background-color:transparent;overflow:hidden} body.plugin.transparent_widget{overflow-y:hidden} .connect_widget{background-color:transparent} .connect_widget .connect_widget_facebook_favicon{background:url(http://s= tatic.ak.fbcdn.net/rsrc.php/v1/y7/r/ql9vukDCc4R.png) no-repeat -1px -47p= x transparent;display:block;height:14px;padding:0 0 0 0;width:14px;posit= ion:absolute;left:-1px} body.transparent_widget .generic_dialog_popup, .connect_widget .generic_dialog_popup{width:400px} .connect_widget .connect_widget_interactive_area{border-collapse:collaps= e} .connect_widget td.connect_widget_vertical_center{border-spacing:0;font-= size: 11px;line-height:normal;padding:0} .connect_widget td.connect_widget_button_cell{vertical-align:top} .connect_widget td.connect_widget_confirm_cell{padding-top:4px} .connect_widget .connect_button_slider{position:relative;zoom:1} .connect_widget .connect_widget_button_cell .connect_slide_hide_content{= overflow:hidden;width:1px;margin-right:0} .connect_widget .connect_slide_hide_content .connect_button_container{ma= rgin-left:1px} .button_count .connect_widget_interactive_area .connect_widget_facebook_= favicon,.button_count .connect_widget_interactive_area .connect_widget_t= ext{float:left;position:static} a.connect_widget_like_button{display:block;float:left;border-radius:3px;= padding:4px 5px;border:1px solid #000} .button_count a.connect_widget_like_button{padding:2px 4px} a.connect_widget_like_button span{line-height:14px} a.connect_widget_like_button:hover{text-decoration:none} .connect_widget_number_cloud{position:relative;background:#fff;border:1p= x solid #d3d3d3;height:25px;padding-top:7px;text-align:center} .like_widget_dark div.connect_widget_number_cloud{background-color:#d7d7= d7;border-color:#d7d7d7} div.connect_widget_number_cloud table.connect_widget_number_cloud_summar= y{margin-left:auto;margin-right:auto} div.connect_widget_number_cloud table.connect_widget_number_cloud_summar= y td{font-size: 13px} .thumbs_up_icon{width:15px;height:15px;margin-right:2px;background:url(h= ttp://static.ak.fbcdn.net/rsrc.php/v1/y7/r/ql9vukDCc4R.png) -1px -32px n= o-repeat} .like_widget_dark .thumbs_up_icon{background-position:-1px -2px} .like_widget_dark div.connect_widget_number_cloud_extension a{color:#333= } div.connect_widget_number_cloud .connect_widget_text{padding-left:0} .connect_widget_number_cloud_nub{position:absolute;z-index:2;height:7px;= width:7px;bottom:-7px;left:5px} .connect_widget_number_cloud_nub s,.connect_widget_number_cloud_nub i{bo= rder:solid transparent;border-top-color:#d3d3d3;border-width:5px;display= :block;position:relative} .connect_widget_number_cloud_nub i{left:0;top:-12px;border-top-color:#ff= f} .like_widget_dark .connect_widget_number_cloud_nub s{border-top-color:#d= 7d7d7} .like_widget_dark .connect_widget_number_cloud_nub i{display:none} .connect_widget_offscreen{position:absolute;top:-10000px} div.connect_widget_number_cloud_extension{font-size: 11px;height:30px;ma= rgin-left:4px;margin-right:4px;margin-top:6px} div.connect_widget_number_cloud_extension_icon{margin-left:2px;margin-to= p:3px} div.connect_widget_number_cloud_extension_text{border-color:#dedede;bord= er-width:1px 0 0 0;border-style:solid;line-height:11px;margin-top:1px;te= xt-align:center} div.connect_widget_number_cloud_extension_text table{width:100%} div.connect_widget_number_cloud_extension_text td{height:30px;text-align= :center;vertical-align:middle} div.connect_widget_number_cloud_extension span.like_reminder{color:#777;= font-size: 9px} .like_widget_dark div.connect_widget_number_cloud_extension span.like_re= minder{color:#333;font-size: 9px} table.connect_widget_button_count_summary,table.connect_widget_simple_su= mmary{background-color:#eceef5;color:#000;font-size: 11px;height:21px} table.connect_widget_button_count_summary div.thumbs_up{background:url(h= ttp://static.ak.fbcdn.net/rsrc.php/v1/y7/r/ql9vukDCc4R.png) no-repeat 3p= x -32px #eceef5;height:15px;width:18px} td.connect_widget_simple_including div.simple_liked{background:url(http:= //static.ak.fbcdn.net/rsrc.php/v1/y7/r/ql9vukDCc4R.png) no-repeat 3px -4= 7px #eceef5;height:15px;width:18px} .like_button_simple .connect_widget_like_button .liketext{background:url= (http://static.ak.fbcdn.net/rsrc.php/v1/y7/r/ql9vukDCc4R.png) no-repeat = 0 -47px #eceef5} .connect_widget_rtl table.connect_widget_button_count_summary div.thumbs= _up{background-position:-1px 0} table.connect_widget_button_count_summary div.undo{background-color:#ece= ef5;height:21px;width:18px} .like_button_dark table.connect_widget_button_count_summary div.undo{bac= kground-color:#d7d7d7} table.connect_widget_button_count_summary label.undo_button{margin-left:= 6px;margin-top:4px} table.connect_widget_button_count_summary div.summary_text{padding-left:= 3px;padding-right:6px;white-space:nowrap} table.connect_widget_simple_summary div.summary_text{padding-left:3px;pa= dding-right:6px;white-space:nowrap;color:#ccc} .like_button_dark table.connect_widget_button_count_summary,.like_button= _dark table.connect_widget_simple_summary{background-color:#d7d7d7} .like_button_dark table.connect_widget_button_count_summary div.thumbs_u= p{background:transparent url(http://static.ak.fbcdn.net/rsrc.php/v1/y7/r= /ql9vukDCc4R.png) no-repeat 3px -3px} .connect_widget_rtl .like_button_dark table.connect_widget_button_count_= summary div.thumbs_up{background-position:-1px -3px} .connect_widget_button_count_count{background:#fff;border:1px solid #d1d= 1d1;float:left;font-weight:normal;height:14px;margin-left:1px;min-width:= 15px;padding:1px 2px 1px 2px;text-align:center;line-height:14px;white-sp= ace:nowrap} .like_button_dark div.connect_widget_button_count_count{background-color= :#d7d7d7;border-color:#d7d7d7} .connect_widget_button_count_nub{float:left;position:relative;z-index:2;= height:0;width:5px;top:-5px;left:2px} .connect_widget_button_count_nub s,.connect_widget_button_count_nub i{bo= rder:solid transparent;border-right-color:#d7d7d7;border-width:4px 5px 4= px 0;top:1px;display:block;position:relative} .connect_widget_button_count_nub i{left:2px;top:-7px;border-right-color:= #fff} .like_button_dark .connect_widget_button_count_nub i{display:none} td.connect_widget_button_count_excluding{padding:0} td.connect_widget_button_count_including,td.connect_widget_simple_includ= ing{padding:0} td.connect_widget_button_count_including .connect_widget_button_count_co= unt.noGrayOut{background:transparent url(http://static.ak.fbcdn.net/rsrc= .php/v1/yp/r/qDH1xoDhFBF.gif) no-repeat 4px 2px;padding-left:22px;paddin= g-right:4px} .connect_widget_rtl td.connect_widget_button_count_including .connect_wi= dget_button_count.noGrayOut{background:transparent url(http://static.ak.= fbcdn.net/rsrc.php/v1/yp/r/qDH1xoDhFBF.gif) no-repeat 4px 2px;padding-ri= ght:22px;padding-left:4px} .connect_widget_like_button .vertical{display:block;top:-6px;left:0;marg= in:0 3px -6px 0;position:relative;padding:3px 4px 4px 3px;border-top:sol= id 1px;border-bottom:solid 1px} .button_count .connect_widget_like_button .vertical{padding:2px 3px 3px = 2px} .connect_widget_like_button .horizontal{height:100%;width:100%;position:= absolute;display:block;top:-3px;left:-3px;padding-left:1px;border-left:s= olid 1px;border-right:solid 1px} .connect_widget_like_button .corner_mask{overflow:hidden;width:3px;heigh= t:3px;position:absolute;display:block} .connect_widget_like_button .corner{background-image:url(http://static.a= k.fbcdn.net/rsrc.php/v1/y7/r/ql9vukDCc4R.png);height:6px;width:6px;displ= ay:block} .connect_widget_like_button .topleft{top:-6px;left:-3px} .connect_widget_like_button .topleft .corner{margin:0 0} .connect_widget_like_button .topright{top:-6px;right:0} .connect_widget_like_button .topright .corner{margin:0 0 0 -3px} .connect_widget_like_button .bottomright{bottom:0;right:0} .connect_widget_like_button .bottomright .corner{margin:-3px 0 0 -3px} .connect_widget_like_button .bottomleft{bottom:0;left:-3px} .connect_widget_like_button .bottomleft .corner{margin:-3px 0 0 0} .connect_widget_like_button .liketext{background:url(http://static.ak.fb= cdn.net/rsrc.php/v1/y7/r/ql9vukDCc4R.png) -1px -33px no-repeat;color:#3b= 5998;display:block;padding-left:17px;white-space:nowrap} .connect_widget_rtl .connect_button_container .liketext{background:url(h= ttp://static.ak.fbcdn.net/rsrc.php/v1/y7/r/ql9vukDCc4R.png) 34px -33px n= o-repeat} .connect_widget_like_button .liketextwithimage img{margin-bottom:-2px;ma= rgin-right:4px;width:13px} .hidden .connect_widget_like_button .liketextwithimage img{height:0;marg= in:0;padding:0;width:0} .connect_widget_like_button .fbLikeButtonTrackingPixel{display:inline;he= ight:0;width:0} .button_count .like_button_dark .like_button_no_like .liketext,.button_c= ount .connect_widget_like_button .liketext{background-position:left -47p= x;margin-left:-1px} .connect_widget .like_button_no_like .piece,.connect_widget .like_button= _no_like{background-color:#eceef5;border-color:#cad4e7} .connect_widget .like_button_no_like .corner{background-position:10px -8= 9px} .connect_widget a.like_button_no_like:hover .piece,.connect_widget a.lik= e_button_no_like:hover{background-color:#ebedf4;border-color:#9dacce} .connect_widget .like_button_no_like:hover .corner{background-position:1= 0px -95px} .connect_widget .like_button_pressed,.connect_widget .like_button_presse= d .piece{background-color:#ced4e6;border-color:#94a5ca} .connect_widget .like_button_pressed .corner{background-position:10px 55= px} .connect_widget .like_button_like .corner{background-position:10px 49px}= .connect_widget .like_button_dark .like_button_no_like,.connect_widget .= like_button_dark .like_button_no_like .piece{background-color:#d7d7d7;bo= rder-color:#cad4e7} .connect_widget .like_button_dark .like_button_no_like .corner{backgroun= d-position:10px -217px} .connect_widget .like_button_dark .liketext{color:#333;background-positi= on:left -3px;margin-left:-1px} .connect_widget .like_button_dark .like_button_no_like:hover,.connect_wi= dget .like_button_dark .like_button_no_like:hover .piece{background-colo= r:#d9d9d9;border-color:#e9e9e9} .connect_widget .like_button_dark .like_button_no_like:hover .corner{bac= kground-position:10px -217px} .connect_widget .like_button_dark .like_button_no_like_pressed,.connect_= widget .like_button_dark .like_button_no_like_pressed .piece{background-= color:#a8a8a8;border-color:#a8a8a8;border-top-color:#8f8f8f} .connect_widget .like_button_dark .like_button_no_like_pressed .corner{b= ackground-position:10px 80px} .connect_widget .like_button_dark .like_button_like .corner{background-p= osition:10px 74px} .connect_widget .connect_text_wrapper{position:relative} .connect_widget div.connect_confirmation_cell{padding:0;margin:0} .connect_widget div.connect_confirmation_cell_like{padding-left:0;positi= on:relative;left:-1px} .connect_widget div.connect_confirmation_cell_no_like{padding-left:7px} .connect_widget .vertical_centering{padding-top:5px} .connect_widget .connect_widget_text{display:block;padding-left:17px;lin= e-height:14px} .button_count .connect_widget_interactive_area .connect_widget_text{padd= ing-left:0;font-weight:bold} .connect_widget .like_button_dark .connect_widget_text,.connect_widget .= like_button_dark .connect_widget_confirmation{color:gray} .connect_widget .like_button_dark .connect_widget_text a{color:#fff} .connect_widget .connect_widget_connect_button{float:left} .connect_widget .connect_bar_widget_interactive_area{float:left} .connect_widget .connect_bar_widget_text_cell{width:400px} .connect_widget .connect_widget_icon{padding:4px 0 4px 4px;vertical-alig= n:middle} .connect_widget a.connect_widget_link_inactive{color:gray;text-decoratio= n:none;cursor:default} .connect_widget a.connect_widget_error_text{color:#a00;font-weight:bold}= .transparent_widget .uiBoxLightblue{background-color:transparent;backgro= und-color:rgba(165, 175, 200, .2)} .transparent_widget .uiBoxWhite,.transparent_widget .fbConnectWidgetFoot= er{background-color:transparent;background-color:rgba(255, 255, 255, .2)= } div.connect_widget_comment_box_nub{background:transparent url(http://sta= tic.ak.fbcdn.net/rsrc.php/v1/yn/r/vAOEfR4cWQM.gif) no-repeat 0 0;height:= 12px;left:-6px;position:absolute;top:6px;width:20px;z-index:3} div.connect_widget_comment_box_upward_nub{background:transparent url(htt= p://static.ak.fbcdn.net/rsrc.php/v1/yv/r/agyQHs6yLID.gif) no-repeat 0 0;= height:12px;left:5px;position:absolute;top:-6px;width:20px;z-index:3} .connect_widget_rtl div.connect_widget_comment_box_nub{background:transp= arent url(http://static.ak.fbcdn.net/rsrc.php/v1/yK/r/R95msRfVr6a.gif) n= o-repeat 0 0;left:-20px} .connect_widget div.connect_widget_comment_box{background-color:#fff;bor= der-color:#000;border-style:solid;border-width:1px 1px 2px 1px;position:= relative;z-index:100} .connect_widget div.connect_widget_comment_box.like_button_dark{backgrou= nd-color:#111;color:#ccc;border-color:#666} .connect_widget div.like_button_dark input.connect_widget_comment_textin= put{background-color:#666;border-color:#666;color:#dedede} .connect_widget div.connect_widget_header_text{float:left;height:20px;ov= erflow:hidden;padding-left:7px;padding-top:3px;width:200px} .connect_widget div.connect_widget_cancel_button{cursor:pointer;float:ri= ght;padding-right:7px;padding-top:3px} .connect_widget div.connect_widget_comment_text_area_div{padding-left:7p= x;padding-top:2px} .connect_widget div.connect_widget_comment_area{padding:8px} .connect_widget .connect_widget_comment_textinput{width:325px} .connect_widget .connect_widget_comment_summary{padding:7px 5px 7px 5px}= .connect_widget .connect_widget_comment_button{margin-left:-1px} .connect_widget .connect_widget_comment_close_button{margin-left:2px} .connect_widget .like_button_dark .connect_widget_comment_close_button{b= ackground-image:url(http://static.ak.fbcdn.net/rsrc.php/v1/yE/r/htZktl24= 4wt.png);background-repeat:no-repeat;opacity:.7} .connect_widget .like_button_dark .connect_widget_comment_close_button:h= over{opacity:1} .connect_widget textarea.connect_widget_comment_text_area{height:30px;wi= dth:476px} .connect_widget .connect_widget_image{height:30px;width:30px;vertical-al= ign:bottom} .connect_widget .connect_widget_name{text-align:center} .connect_widget .connect_widget_sample_connection{float:left;padding-rig= ht:3px;width:30px;padding-top:5px} .connect_widget .connect_widget_user_not_connected{display:none} .connect_widget .connect_bar_widget_sample_connections{float:right} .connect_widget .connect_widget_whats_this{color:#999;font-size: 9px;pad= ding-top:4px} .connect_widget .connect_widget_whats_this a:hover{color:#3b5998;text-de= coration:none} .connect_widget .page_stream img{max-width:120px;height:auto} .connect_widget_like_button .liketext{background:url(http://static.ak.fb= cdn.net/rsrc.php/v1/y7/r/ql9vukDCc4R.png) -1px -33px no-repeat} .connect_widget a.like_button_no_like:hover .piece,.connect_widget a.lik= e_button_no_like:hover{background-color:#eceef5;border-color:#9dacce} .like_button_like .tombstone_cross.custom_disable{background:none} .connect_widget_like_button.like_button_like .liketextwithimage.conn{dis= play:none} .connect_widget_like_button.like_button_no_like .liketextwithimage.disco= nn{display:none} .like_button_like .tombstone_cross img.disabled_icon{display:block} .like_button_like .tombstone_cross:hover img.disabled_icon{display:none}= .like_button_like .tombstone_cross img.hover_icon{display:none} .like_button_like .tombstone_cross:hover img.hover_icon{display:block} .like_button_no_like .tombstone_cross img{height:0;margin:0;padding:0;wi= dth:0} .connect_widget .like_button_like , .connect_widget .like_button_like .piece{background-color:#eee;border-co= lor:#ddd;cursor:default} .connect_widget .like_button_dark .like_button_like , .connect_widget .like_button_dark .like_button_like .piece{background-co= lor:#444;border-color:#555;cursor:default} .connect_widget .like_button_like .corner{background-position:10px -229p= x} .connect_widget .like_button_dark .like_button_like .corner{background-p= osition:10px -223px} .connect_widget .like_button_like .liketext{background-image:none;clear:= right;color:#aaa} .connect_widget .tombstone_cross{background:url(http://static.ak.fbcdn.n= et/rsrc.php/v1/y7/r/ql9vukDCc4R.png) no-repeat 0 -128px;display:block;fl= oat:left;height:12px;margin-right:3px;width:14px;z-index:99} .connect_widget .tombstone_cross_static{cursor:default} .like_button_no_like .tombstone_cross{display:none} .like_button_like .tombstone_cross{display:block} .connect_widget .like_button_dark .like_button_like .tombstone_cross{bac= kground:url(http://static.ak.fbcdn.net/rsrc.php/v1/y7/r/ql9vukDCc4R.png)= no-repeat 0 -156px} .connect_widget .like_button_like .tombstone_cross:hover{background-posi= tion:0 -235px;cursor:pointer} .connect_widget .like_button_like .tombstone_cross_static:hover{backgrou= nd-position:0 -128px;cursor:default} .connect_widget .like_button_simple .like_button_like .tombstone_cross:h= over{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v1/y7/r/ql= 9vukDCc4R.png);background-position:0 -128px;cursor:auto;height:12px;marg= in-left:0;margin-right:3px;margin-top:0;width:14px} .connect_widget .like_button_dark .like_button_like .tombstone_cross:hov= er{background-position:0 -247px} .connect_widget .connect_button_container .like_button_like .liketext, .connect_widget .connect_widget_connect_button .like_button_like .likete= xt{padding-left:17px} .connect_widget_comment_box div.connect_widget_comment_box_nub{backgroun= d:none} .connect_widget .like_button_dark .like_button_like .liketext{color:#666= } div.connect_widget div.connect_confirmation_cell_like{padding-left:7px} body.plugin{background:transparent;overflow:hidden}
<= div id=3D"connect_widget_4f15c722b741c9219344397" class=3D"connect_widge= t" style=3D"">
Konfirmasi<= /td>
Anda menyukai Fashion Design and Patter= n Making =C2=BB Full Software Downloads - Download For All · Tambahkan Komentar · Wawasan · Terjadi Kesalahan= After Zix menyukai ini.Jadilah orang pertama di= antara teman-teman yang menyukai ini.<= /a>=  · Tambahkan Komentar · Wawasan · Terjadi Kesalahan
= ------------YdUZybc8muhfUE6CKMXngp Content-Disposition: inline Content-Type: image/png Content-Location: http://static.ak.fbcdn.net/rsrc.php/v1/y7/r/ql9vukDCc4R.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAABAAAAEfCAMAAAB/DLYyAAABI1BMVEX////////+ /v40NDSbq8tsg7Pl6fLq7fQ2WJnS2um7u7tmZmbh4eFzirbCyt9kZGTZ2dlERERV VVVRbKQeRYC9yN6+vr5geKyqqqrDw8M7WZji5vDT09Oenp5NTU1jeKN1i7jd3d3H x8fU1NTu7u7e4u5id6LLy8umpqbo6OjP2Oh1dXWJiYm4uLjOzs7b29vp6elof7HA wMCRkZFYapHFzOLy8vKMjIygoKCNoMV+fn6rq6t7j7rl5eW/yuBlZWWuu9W/xduN jY3u8fbT2eji4uKpqam8vLx3d3eoqKh7e3u9vb3u8PbX19dKaKTk5OSKioqkpKQ5 VZS0tLT29vZPaqNVcan6+vq2wNxwg6+MnsNXapCwvttXV1ded65paWmQpMmBnePY AAAAAXRSTlMAQObYZgAAAyRJREFUeF61juWW40oMBtNtO8yMg8zMsMx0men9n2K/ dhyNlBwle5LcmsmPqiOpHZsJryS9bIeCZz3hzwsIcsB6nvdvuOwBOOgPeTc3UB4K hWmC5xV+dGEhegWTW67CZ8O+kN6JDQWLP85fKRmcWWt3wmXroIzlWg3KQyo1TbA2 9Z8L8egVTPiuwmcj+Vn6P3YoJG1SuJ9DkAM2mUwuhctJAAf9oeT1NZSHXG5SWBqd wNFc3oVfolcw+dsSKnw6Gm2iEQYIwUPOmJwIJv5sQ4ZnYqXimx2/wgIujNzYQVdC EGLWg0AES6FR/aEa/TdicyQbywIWNrPFbreYZaG7Cbos1ENYaDlvsRCTAwjbgIft bLGYRaEAR2EBCh5DayTEpCOcAh5Oe1tbPVZavdegxwIUjAsx6Qh/Ah7ONoJg4+wx 1BcDsMgCFOgBkKs8AOGpeDzFy0MCjA+pRAIr6lHgA+G1TqfGix9PJOLjQy0epxVx VH/laT7/VNzIn5/ntSBX9FfaQHjl+LjCSzsA40MlCGiFHZ2eu+qAu36otgdUeWj4 DRn8RE2GF75csdbKid/t8I0EWwkc1g8CERIUxJfOnfSwp9Oqp8lplpyKvk9XZuVn IvL1jxHrKC50iEH4I4SCNgHUiZcDfzl4F7Th+A4GClwWBFkQ/n8yw57JqJ4hp1ly Kvo+XZk3HhG5ITwtFEImTgB9QgYUh1PnBApcFAQJNuZIhoi8TGS00J+fOAHUCRkA nXROoMBFQZBgY46kiciXibQW+vMTJ4A6IQOgk84JFLgoCBK5MZlXQPjqysoqL69W gB5oRT8KykD4Qqm0wEu5BPRAK/pRsAyE36+t3fOyvAb0QCv6UcnJ9wNO+gEygIKB GBaMMe7HJwCbAKHrE3RDf4VQvnSEkjeg1A/eIxQMxLBgjHE/PgHYBAhdn6Ab+iuE 8qXfQPM7ohkGCMHDB2PeiGB+PXonw5FYuTo0F4dXLLwxZuTGBboS9kPMT/v7Smi+ JZqxb6P8hCiHAULw8NyYSxHMl/p7GepiZffWHNzusnBpzMiNA3Ql7IWYT3t7Sij/ TeDTvwLENdsHdW/D3AAAAABJRU5ErkJggg== ------------YdUZybc8muhfUE6CKMXngp--