Astra G Manual Srpski

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 706

Content-Type: multipart/related; start=<op.mhtml.1348839931284.d1f61b43430cd6e7@ 10.3.100.21>; boundary=----------8eVr2fgsNKmtHeiwqXbUcZ Content-Location: http://sr.scribd.com/doc/39288442/Astra-G-Manual-Srpski Subject: =?utf-8?Q?Astra=20G=20Manual=20Srpski?= MIME-Version: 1.0 ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline; filename=Astra-G-Manual-Srpski.

htm Content-Type: text/html; charset=utf-8; name=Astra-G-Manual-Srpski.htm Content-ID: <[email protected]> Content-Location: http://sr.scribd.com/doc/39288442/Astra-G-Manual-Srpski Content-Transfer-Encoding: Quoted-Printable <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.= org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns=3D"http://www.w3.org/1999/xhtml" xml:lang=3D"en" lang=3D"en"= xmlns:og=3D"http://opengraphprotocol.org/schema/" xmlns:fb=3D"http://www.facebook.com/2008/fbml" > <head prefix=3D"og: http://ogp.me/ns# scribd-com: http://ogp.me/ns/apps/= scribd-com#" > <title>Astra G Manual Srpski</title> <meta name=3D"verify-v1" content=3D"L4NJcP1bTYOJFMHbpoh8ERVHKc1WzM7/= WG+vA6ZncWs=3D" /> <meta http-equiv=3D"Content-Type" content=3D"text/HTML; charset=3DUT= F-8" /> <meta http-equiv=3D"X-UA-Compatible" content=3D"IE=3Dedge" /> = <meta name=3D"title" content=3D"Astra G Manual Srpski" /> = <meta name=3D"og:site_name" content=3D"Scribd" /> <meta name=3D"og:title" content=3D"Astra G Manual Srpski" /> = = <meta property=3D"og:description" content=3D"Scribd is the world's= largest social reading and publishing site." /> = = <link rel=3D"image_src" href=3D"http://imgv2-3.scribdassets.com/= img/word_document/39288442/164x212/48cac1f63e/1341942139" /> <meta property=3D"og:image" content=3D"http://imgv2-3.scribdasse= ts.com/img/word_document/39288442/164x212/48cac1f63e/1341942139" /> = = <meta name=3D"keywords" content=3D"documents, document sharing, embedde= d documents, pdf download, free download, upload document" /> <link rel=3D"canonical" class=3D"SL_norewrite" href=3D"http://sr .s= cribd.com/doc/39288442/Astra-G-Manual-Srpski" /> =

<script type=3D"text/javascript">var NREUMQ=3DNREUMQ||[];NREUMQ.push(["= mark","firstbyte",new Date().getTime()]);</script> = = = <link rel=3D"alternate" type=3D"application/json+oembed" href=3D"http://www.scribd.com/services/oembed?url=3Dht= tp%3A%2F%2Fwww.scribd.com%2Fdoc%2F39288442%2FAstra-G-Manual-Srpski&forma= t=3Djson" title=3D"Astra G Manual Srpski oEmbed Profile" /> = <link rel=3D"alternate" type=3D"application/xml+oembed" href=3D"http://www.scribd.com/services/oembed?url=3Dht= tp%3A%2F%2Fwww.scribd.com%2Fdoc%2F39288442%2FAstra-G-Manual-Srpski&forma= t=3Dxml" title=3D"Astra G Manual Srpski oEmbed Profile" /> = = <link rel=3D"image_src" href=3D"http://imgv2-3.scribdassets.= com/img/word_document/39288442/164x212/48cac1f63e/1341942139" /> <meta property=3D"og:image" content=3D"http://imgv2-3.scribd= assets.com/img/word_document/39288442/164x212/48cac1f63e/1341942139" /> = <meta property=3D"og:type" content=3D"scribd-com:document" /> <meta property=3D"og:url" content=3D"http://www.scribd.com/doc/3= 9288442/Astra-G-Manual-Srpski" /> = <!-- testing geoip ssi for ads --><script>if(!window.Scribd){window.= Scribd=3D{};}window.Scribd._geo_ssi_value=3D"RS";</script> <!-- end testing geoip ssi for ads --> <!--[if lt IE 8]> <link href=3D"http://s7.scribdassets.com/aggregated/css/newdoc.css?13485= 17579" media=3D"screen" rel=3D"stylesheet" type=3D"text/css" /> <![endif]--> <!--[if gte IE 8]> <link href=3D"http://s5.scribdassets.com/aggregated/css_img/newdoc.css?1= 348517579" media=3D"screen" rel=3D"stylesheet" type=3D"text/css" /> <![endif]--> <!--[if !IE]> --> <link href=3D"http://s5.scribdassets.com/aggregated/css_img/newdoc.css?1= 348517579" media=3D"screen" rel=3D"stylesheet" type=3D"text/css" /> <!-- <![endif]--> <script src=3D"http://s6.scribdassets.com/javascripts/scribd_options.js= " type=3D"text/javascript"></script> = <meta name=3D"csrf-param" content=3D"authenticity_token" />

<meta name=3D"csrf-token" content=3D"ddd2916a3a9c25154945141620a6e= 551e702221c" /> =

<!--[if lte IE 6]> <link href=3D"http://s5.scribdassets.com/aggregated/css/ie.css?134= 8517579" media=3D"screen" rel=3D"stylesheet" type=3D"text/css" /> <![endif]--> <!--[if IE 7]> <link href=3D"http://s7.scribdassets.com/aggregated/css/ie7.css?13= 48517579" media=3D"screen" rel=3D"stylesheet" type=3D"text/css" /> <![endif]--> = = = = <script type=3D"text/javascript"> = if (!window.Scribd) var Scribd =3D new Object(); Scribd.cdn_path =3D 'http://s6.scribdassets.com/'; Scribd.rails_env =3D 'production'; = = var perfStart =3D new Date(); </script> <script type=3D"text/javascript">Scribd.current_user =3D null;</scri= pt> = = = <script src=3D"http://s5.scribdassets.com/options/exposed_to_client.= js?1348521600" type=3D"text/javascript"></script> <script src=3D"http://s6.scribdassets.com/aggregated/javascript/newd= oc.js?1348517579" type=3D"text/javascript"></script><!--[if lte IE 6]><s= cript src=3D"http://s5.scribdassets.com/javascripts/newdoc_ie6.js?134851= 7579" type=3D"text/javascript"></script><![endif]--><script type=3D"text= /javascript">Scribd.current_doc =3D {"show_age_gate":false,"child_catego= ry_id":null,"page_count":220,"is_downloadable":true,"is_private":false,"=

can_purchase":false,"short_title":"Astra G Manual Srpski","is_deletable"= :true,"word_upload_id":41904395,"converting":false,"is_searchable":true,= "sharing_data":{"page_count":220,"url":"http://www.scribd.com/doc/392884= 42/Astra-G-Manual-Srpski","description":"OPEL Astra Classic\n\nSAMO EURO= DIZEL EN 590!*\nDizel motor va\u0161eg vozila je razvijen prema najnovi= jim istra iva\u00e8kim dostignu\u00e6ima u automobilizmu, ona predstavlj= a vrhunsku tehnologiju, inteligentan spoj tehni\u00e8ke budu\u00e6nosti,= prilago\u00f0enost za\u0161titi okoline i ekonomi\u00e8nosti. U interes= u odr avanja potrebnih performansi, motor mora da radi samo sa visokokva= litetnim gorivom koja je u saglasnosti sa Evropskim specifikacijama stan= darda DIN EN 590 - EURO DIZEL. Videti poglavlje &quot;Potro\u0161nja gor= iva, gorivo, dopun","thumbnail_url":"http://imgv2-1.scribdassets.com/img= /word_document/39288442/54x70/5a3fc0f64a/1341942139","id":39288442,"auth= or":{"url":"http://www.scribd.com/milost_2","name":"Milos Todorovic"},"t= itle":"Astra G Manual Srpski"},"url":"http://www.scribd.com/doc/39288442= /Astra-G-Manual-Srpski","aspect_ratio":1.41666666666667,"description":"O= PEL Astra Classic\n\nSAMO EURO DIZEL EN 590!*\nDizel motor va\u0161eg vo= zila je razvijen prema najnovijim istra iva\u00e8kim dostignu\u00e6ima u= automobilizmu, ona predstavlja vrhunsku tehnologiju, inteligentan spoj = tehni\u00e8ke budu\u00e6nosti, prilago\u00f0enost za\u0161titi okoline i= ekonomi\u00e8nosti. U interesu odr avanja potrebnih performansi, motor = mora da radi samo sa visokokvalitetnim gorivom koja je u saglasnosti sa = Evropskim specifikacijama standarda DIN EN 590 - EURO DIZEL. Videti pogl= avlje &quot;Potro\u0161nja goriva, gorivo, dopun","preferred_ext":"pdf",= "reads":0,"is_owner":false,"language_id":56,"secret_password":null,"acce= ss_key":"key-1jbt1tjos5gw8u1gzkor","show_archive_paywall":true,"thumbnai= l_url":"http://imgv2-1.scribdassets.com/img/word_document/39288442/54x70= /5a3fc0f64a/1341942139","top_category_id":null,"created_at":"10 / 13 / 2= 010","private":false,"id":39288442,"is_commentable":true,"is_paid":false= ,"paid":false,"title":"Astra G Manual Srpski"};document.fire('scribd:doc= info_ready');</script><script type=3D"text/javascript"> window['$perf'] =3D new Scribd.Perf(); $perf.registerOnbeforeunload(); </script><script type=3D"text/javascript">Event.observe(document= , 'Scribd:language_detected', Scribd.checkForOverrideLanguage);</script>= <meta property=3D"fb:app_id" content=3D"136494494209" /> = = <!-- BEGIN Asynchronous Google Analytics --> <script type=3D"text/javascript"> var _gaq =3D _gaq || []; _gaq.push(['_setAccount', "UA-443684-2"]); _gaq.push(['_setCustomVar', 1, 'logged_in', 'false', 1]); _gaq.push(['_setCustomVar', 3, 'domain', document.location.host, 3]); document.observe('dom:loaded', function() { // wait until dom loaded so = all A/B test custom vars can be set first var ga =3D document.createElement('script'); ga.type =3D 'text/javascr= ipt'; ga.async =3D true; ga.src =3D ('https:' =3D=3D document.location.protocol ? 'https://ssl'= : 'http://www') + '.google-analytics.com/ga.js'; var s =3D document.getElementsByTagName('script')[0]; s.parentNode.ins= ertBefore(ga, s); _gaq.push(['_trackPageview']); _gaq.push(['_trackPageLoadTime']);

}); </script> <!-- END Asynchronous Google Analytics --> <script type=3D"text/javascript"> window['$rat'] =3D ratInit( ["http://rs1.scribd.com/","http://rs2.scribd.com/","http= ://rs3.scribd.com/","http://rs4.scribd.com/","http://rs5.scribd.com/","h= ttp://rs6.scribd.com/","http://rs7.scribd.com/","http://rs8.scribd.com/"= ], {"doc_id":39288442,"user_id":null}, false ); </script> = = = <link rel=3D"alternate" type=3D"application/rss+xml" title=3D"Sc= ribd RSS feed" href=3D"http://www.scribd.com/feeds/rss" /> = <link rel=3D"shortcut icon" href=3D"http://s6.scribdassets.com/favic= on.ico" /> = = = <script type=3D"text/javascript"> I18n.defaultLocale =3D "en_US"; I18n.locale =3D "en_US"; </script> = <script src=3D"http://s6.scribdassets.com/javascripts/ads.js?1348517579"= type=3D"text/javascript"></script> <script type=3D"text/javascript"> Scribd.Ads.setAdLayouts(); Scribd.Ads.enabled =3D Scribd.Ads.attributes.AdLayout[0] !=3D=3D 0 && = true && document.location.protocol !=3D=3D 'https'; if(Scribd.Ads.enabled) { var writeScript =3D function(src) { document.write('\x3Cscript type=3D"text/javascript" src=3D"'+src+'= ">\x3C/script>'); };

= var googletag =3D googletag || {}; googletag.cmd =3D googletag.cmd || []; (function() { if(Scribd.Ads.loaded) return; Scribd.Ads.loaded =3D true; var gads =3D document.createElement('script'); gads.async =3D true; gads.type =3D 'text/javascript'; gads.src =3D 'http://www.googletagservices.com/tag/js/gpt.js'; var node =3D document.getElementsByTagName('script')[0]; node.parentNode.insertBefore(gads, node); //detecting if ad block is enabled... setTimeout(function() { if(typeof(googletag.pubads) =3D=3D=3D 'undefined') trackEvent('AdBlock', '', '', 1, false); }, 5e3); })(); = Scribd.Ads.enableAds(); } else { Scribd.Ads.disableAds(); Scribd.Ads.use_house_ads =3D false; } </script> <script type=3D"text/javascript"> //this makes sure that scribd:load_ads fires on every page Scribd.Ads.observe(window, "load", function () { Scribd.Ads.fire(document, 'scribd:load_ads'); }); if( Scribd.Ads.enabled ) { Scribd.Ads.addAttribute("DocUser", 37345840); Scribd.Ads.addAttribute("Document", 39288442); Scribd.Ads.addAttribute("Extension", "pdf"); Scribd.Ads.addAttribute("IABParent", ["Uncategorized"]); Scribd.Ads.addAttribute("IAB_M-Z", ["Uncategorized"]); Scribd.Ads.addAttribute("Language", "srp"); Scribd.Ads.addAttribute("PageURL", "http://www.scribd.com/= doc/39288442"); Scribd.Ads.addAttribute("ProfUser", 37345840); Scribd.Ads.addAttribute("Query", "tecnost za stakla astra = g karavan"); Scribd.Ads.addAttribute("UserState", "Out"); = //adding testing segments Scribd.Ads.addAttribute('UseTest', Math.floor(Math.random() * 10) + = ''); // Start Quantcast User Segmentation

var quantSegs =3D []; function qc_results(result) { for (var i =3D 0; i < result.segments.length; i++) quantSegs.push(result.segments[i].id); Scribd.Ads.addAttribute("QuantSegs", quantSegs); } writeScript("http://pixel.quantserve.com/api/segments.json?a=3Dp-13D= Ppb-yg8ofc&callback=3Dqc_results"); // End Quantcast User Segmentation // Rubicon Insight API : Scribd-NASO oz_api =3D "valuation"; oz_ad_server =3D "gpt"; oz_site =3D "8989/15071"; oz_zone =3D "32579"; // Doc_Sideboard_MediumRectangle_ATF_300x250 oz_ad_slot_size =3D "300x250"; writeScript("http://tap-cdn.rubiconproject.com/partner/scripts/rubicon= /dorothy.js?pc=3D8989/15071"); // end rubicon insight api } </script> <script type=3D"text/javascript"> if(Scribd.Ads.enabled) { Scribd.Ads.gpt_slots =3D []; Scribd.Ads.gpt_slots_by_name =3D {}; Scribd.Ads.adUnits =3D {"Doc_Between_Leaderboard_BTF_728x90_21":"bet= ween_page_ads_inner_21","Doc_Top_Leaderboard_ATF_728x90":"Doc_Top_Leader= board_ATF_728x90_container","Doc_Sideboard_MediumRectangle_ATF_300x250":= "Doc_Sideboard_MediumRectangle_ATF_300x250_container","Doc_Between_Top_F= ullBanner_468x60":"between_page_ads_inner_1","Doc_Between_Leaderboard_BT= F_728x90_19":"between_page_ads_inner_19","Doc_Between_Leaderboard_BTF_72= 8x90_17":"between_page_ads_inner_17","Doc_Between_Leaderboard_BTF_728x90= _15":"between_page_ads_inner_15","Doc_Between_Leaderboard_BTF_728x90_13"= :"between_page_ads_inner_13","Doc_Between_Leaderboard_BTF_728x90_11":"be= tween_page_ads_inner_11","Doc_Between_Leaderboard_BTF_728x90_9":"between= _page_ads_inner_9","Doc_Between_Leaderboard_BTF_728x90_7":"between_page_= ads_inner_7","Doc_Between_Leaderboard_BTF_728x90_5":"between_page_ads_in= ner_5","Doc_Between_Leaderboard_BTF_728x90_3":"between_page_ads_inner_3"= ,"Doc_Between_Leaderboard_BTF_679x250":"between_page_ads_inner_2"}; //(for gpt execute targeting) and finalize ad fetching... googletag.cmd.push(function() { for (var unit_name in Scribd.Ads.adUnits) { var node_id =3D Scribd.Ads.adUnits[unit_name]; var full_name =3D '/1024966/' + unit_name; var size =3D unit_name.match(/.*_(\d+)x(\d+)/) .slice(1) .map(function(f){return parseInt(f);}); var slot =3D googletag.defineSlot(full_name, size, node_id).addS= ervice(googletag.pubads()); Scribd.Ads.gpt_slots.push(slot); Scribd.Ads.gpt_slots_by_name[unit_name] =3D slot; } //set targeting

for (var targetKey in Scribd.Ads.attributes) { var value =3D Scribd.Ads.attributes[targetKey]; if( value instanceof Array) { value =3D value.map(function(f) {return f + '';}); } else { value =3D value + ''; } googletag.pubads().setTargeting(targetKey, value); } // googletag.pubads().enableSingleRequest(); googletag.pubads().collapseEmptyDivs(); googletag.enableServices(); }); } </script> = <script type=3D"text/javascript"> jkstrp(function(){ new Scribd.UI.DocumentSearch($("autogen_id_473247= 077")); }, "Newdoc::Search::Sidebar"); jkstrp(function(){ = Scribd.current_doc.rating =3D 0; Scribd.current_doc.rating_url =3D ["/", "r", "a", "t", "i", "n", "= g", "s", "?", "w", "o", "r", "d", "_", "d", "o", "c", "u", "m", "e", "n"= , "t", "_", "i", "d", "=3D", "3", "9", "2", "8", "8", "4", "4", "2"].joi= n(''); new Scribd.UI.Sidebar("sidebar"); }, "Newdoc::Sidebar"); jkstrp(function(){ = new Scribd.UI.CollectionWidgets($("autogen_id_473244995")); }, "Newdoc::Paginated::CollectionWidgets"); jkstrp(function(){ new Scribd.UI.CommentForm("autogen_id_473242205"); },= "Newdoc::CommentForm"); jkstrp(function(){ new Scribd.UI.CommentList("autogen_id_473243800"); },= "Newdoc::Comments"); jkstrp(function(){ = Scribd.UI.setup_newdoc("web"); if (window.location.hash =3D=3D '#fullscreen') { Scribd.UI.sticky_bar.actions.zoom_full(); } }, "Newdoc::Show"); </script> = </head> <body class=3D"loc_newdoc loc_newdoc_show " data-revision=3D"e19ac60937f= 30af62b0d0cc51e47c51fe613df4b"> <div class=3D"autogen_class_views_shared_facebook_fake_blue_bar" id=3D"= autogen_id_473240405"></div>

<div id=3D"template_main_content" > <div class=3D"autogen_class_views_old_chrome_header global_header" = id=3D"global_header"><div class=3D"inner"><div class=3D"right_section"><= div class=3D"autogen_class_views_old_chrome_user_menu autogen_class_view= s_new_chrome_user_menu" id=3D"autogen_id_473223062"><a href=3D"/upload-d= ocument"><div class=3D"home_btn lightblue upload_button"><div class=3D"b= tn_inner "><div class=3D"upload_icon"></div>Publish</div></div></a><div = class=3D"autogen_class_views_old_chrome_user_sign_in autogen_class_views= _new_chrome_user_sign_in" id=3D"autogen_id_473222618"><div class=3D"row = signup_top"><a class=3D"log_in" href=3D"login">Log In</a></div><div clas= s=3D"row"><a class=3D"sign_up" href=3D"login">Sign Up</a></div></div></d= iv></div><a class=3D"sprite logo" href=3D"http://www.scribd.com/" title=3D= "Scribd"></a><div class=3D"header_search" id=3D"header_search"><form act= ion=3D"/search" autocomplete=3D"off" method=3D"get"><input autocomplete=3D= "off" class=3D"search_input" name=3D"query" type=3D"text" /><div class=3D= "home_btn search_brown search_button"><div class=3D"btn_inner ">Search</= div></div><div class=3D"autogen_class_views_shared_search_autocompleter"= id=3D"autogen_id_473221625"><div class=3D"search_autocompleter" id=3D"a= utocompleter" style=3D"display:none"><div class=3D"ac_section ac_documen= t_collections" id=3D"autocompleter_document_collections"><div class=3D"a= c_white_border"><div class=3D"ac_main"></div><div class=3D"ac_sidebar"><= div alt=3D"document collections icon" class=3D"ac_icon icon_ac_collectio= n_12x15"></div></div></div></div><div class=3D"ac_section ac_publishers"= id=3D"autocompleter_publishers"><div class=3D"ac_white_border"><div cla= ss=3D"ac_main"></div><div class=3D"ac_sidebar"><div alt=3D"publishers ic= on" class=3D"ac_icon icon_ac_pub_15x15"></div></div></div></div><div cla= ss=3D"ac_section ac_documents" id=3D"autocompleter_documents"><div class= =3D"ac_white_border"><div class=3D"ac_main"></div><div class=3D"ac_sideb= ar"><div alt=3D"documents icon" class=3D"ac_icon icon_ac_doc_10x14"></di= v></div></div></div><div class=3D"ac_section ac_scribd_pages" id=3D"auto= completer_scribd_pages"><div class=3D"ac_white_border"><div class=3D"ac_= main"></div><div class=3D"ac_sidebar"><div alt=3D"scribd pages icon" cla= ss=3D"ac_icon icon_ac_scribd_15x15"></div></div></div></div><div class=3D= "ac_section ac_users" id=3D"autocompleter_users"><div class=3D"ac_white_= border"><div class=3D"ac_main"></div><div class=3D"ac_sidebar"><div alt=3D= "users icon" class=3D"ac_icon icon_ac_people_12x12"></div></div></div></= div></div></div></form></div><div class=3D"explore_menu" id=3D"autogen_i= d_473220382"><div class=3D"hover_menu"><a class=3D"explore_link" href=3D= "/explore">Explore</a><div class=3D"sprite_container"><div class=3D"spri= te white_tri_right closed_sprite"></div><div class=3D"sprite white_tri_d= own open_sprite"></div></div><div class=3D"sub_menu"><div class=3D"sprit= e white_tri_up"></div><div class=3D"column"><div class=3D"top"><a href=3D= "/explore"><strong>Documents</strong></a></div><div class=3D"list"><a hr= ef=3D"/explore/Books-Fiction" class=3D"row">Books - Fiction</a><a href=3D= "/explore/Books-Nonfiction" class=3D"row">Books - Non-fiction</a><a href= =3D"/explore/Health-Medicine" class=3D"row">Health &amp; Medicine</a><a = href=3D"/explore/BrochuresCatalogs" class=3D"row">Brochures/Catalogs</a>= <a href=3D"/explore/Government-Docs" class=3D"row">Government Docs</a><a= href=3D"/explore/HowTo-GuidesManuals" class=3D"row">How-To Guides/Manua= ls</a><a href=3D"/explore/MagazinesNewspapers" class=3D"row">Magazines/N= ewspapers</a><a href=3D"/explore/RecipesMenus" class=3D"row">Recipes/Men= us</a><a href=3D"/explore/School-Work" class=3D"row">School Work</a><a c= lass=3D"row" href=3D"/explore">+ all categories</a></div><div class=3D"d= ivider"></div><div class=3D"list last"><a class=3D"row" href=3D"/explore= /Most-Recent"><strong>Recent</strong></a><a class=3D"row" href=3D"/explo= re"><strong>Featured</strong></a></div></div><div class=3D"column"><div = class=3D"top"><a href=3D"/community"><strong>People</strong></a></div><d= iv class=3D"list"><a href=3D"/community/authors" class=3D"row">Authors</= a><a href=3D"/community/students" class=3D"row">Students</a><a href=3D"/= community/researchers" class=3D"row">Researchers</a><a href=3D"/communit=

y/publishers" class=3D"row">Publishers</a><a href=3D"/community/governme= nt-%26-nonprofits" class=3D"row">Government &amp; Nonprofits</a><a href=3D= "/community/businesses" class=3D"row">Businesses</a><a href=3D"/communit= y/musicians" class=3D"row">Musicians</a><a href=3D"/community/artists-%2= 6-designers" class=3D"row">Artists &amp; Designers</a><a href=3D"/commun= ity/teachers" class=3D"row">Teachers</a><a class=3D"row" href=3D"/commun= ity">+ all categories</a></div><div class=3D"divider"></div><div class=3D= "list last"><a class=3D"row" href=3D"/community"><strong>Most Followed</= strong></a><a class=3D"row" href=3D"/community?t=3Dtrending"><strong>Pop= ular</strong></a></div></div></div></div></div></div></div> = = = = <div id=3D"wrap" class=3D"clearfix"> = <div class=3D"newdoc" id=3D"autogen_id_473238565"><div c= lass=3D"autogen_class_views_newdoc_show_web newdoc" id=3D"autogen_id_473= 237960"><div class=3D"docpage_top"><div id=3D"leaderboard_ad_main"><div = id=3D"leaderboard_ad_gam"><div id=3D"Doc_Top_Leaderboard_ATF_728x90_cont= ainer"><script type=3D"text/javascript">Scribd.Ads.addUnit("Doc_Top_Lead= erboard_ATF_728x90", "Doc_Top_Leaderboard_ATF_728x90_container", false);= </script></div></div></div><div class=3D"autogen_class_views_shared_aler= ts_language_bar" id=3D"top_language_bar"><div class=3D"inner"><div id=3D= "close_language_bar">&#215;</div><div id=3D"language_blurb"></div><div c= lass=3D"language_selector_row"><div class=3D"language_selector_container= autogen_class_views_new_chrome_language_selector" id=3D"autogen_id_4732= 36194"><div class=3D"language_label">Language:</div><div class=3D"langua= ge"><a href=3D"#"></a><div class=3D"sprite black_tri_right"></div></div>= <div class=3D"language_selector" style=3D"display:none"><div>Choose the = language in which you want to experience Scribd:</div><ul><li data-id=3D= "en"><a href=3D"/language?destination=3Dhttps%3A%2F%2Ffanyv88.com%3A443%2Fhttp%2Fwww.scribd.com%2Fdo= c%2F39288442&amp;id=3Den" class=3D"change_language" rel=3D"nofollow">Eng= lish</a></li><li data-id=3D"es"><a href=3D"/language?destination=3Dhttp%= 3A%2F%2Fes.scribd.com%2Fdoc%2F39288442&amp;id=3Des" class=3D"change_lang= uage" rel=3D"nofollow">Espa=C3=B1ol</a></li><li data-id=3D"pt-br"><a hre= f=3D"/language?destination=3Dhttps%3A%2F%2Ffanyv88.com%3A443%2Fhttp%2Fpt.scribd.com%2Fdoc%2F39288442= &amp;id=3Dpt-br" class=3D"change_language" rel=3D"nofollow">Portugu=C3=AA= s</a></li></ul></div></div></div></div></div><div id=3D"upgrade_message"= ></div><div id=3D"flashes_placeholder" style=3D"display:none"></div><div= class=3D"sticky_bar" id=3D"autogen_id_473235614"><div class=3D"sticky_c= ontainer" style=3D"width: 999px;"><div class=3D"actions_container"><div = class=3D"group main"><div class=3D"home_btn blue orange download_btn"><d= iv class=3D"btn_inner "><span class=3D"newdoc_sprite download"></span>Do= wnload</div></div><div class=3D"action button comment has_icon"><span cl= ass=3D"newdoc_sprite comment"></span><div class=3D"button_bubble">0</div= ><span class=3D"go_back">Go Back</span><span class=3D"go_down">Comment</= span></div><div class=3D"action button link has_icon"><span class=3D"new=

doc_sprite link"></span><span>Link</span></div><div class=3D"action butt= on embed has_icon"><span class=3D"newdoc_sprite embed"></span><span>Embe= d</span></div></div><div class=3D"group zoom"><span class=3D"label">Zoom= </span><span class=3D"zoomers"><div class=3D"action button zoom_in has_i= con"><span class=3D"newdoc_sprite zoom_in"></span><span></span></div><di= v class=3D"action button zoom_out has_icon"><span class=3D"newdoc_sprite= zoom_out"></span><span></span></div></span><div class=3D"action button = zoom_full has_icon"><span class=3D"newdoc_sprite zoom_full"></span><span= ></span></div></div><div class=3D"paging group"><div class=3D"pager acti= on"><input class=3D"page_input" type=3D"text" /><span class=3D"decor">of= </span> <span class=3D"max_page">00</span></div></div><div class=3D"soci= al group over_sidebar"><div class=3D"action button readcast has_icon"><s= pan class=3D"newdoc_sprite readcast"></span><span>Readcast</span></div><= div class=3D"social_button facebook action"><div class=3D"fb-like" data-= send=3D"false" data-layout=3D"button_count" data-count=3D"none" data-sho= w-faces=3D"false"></div></div><div class=3D"social_button twitter action= "><a href=3D'https://twitter.com/share' class=3D'twitter-share-button' d= ata-count=3D'none' data-url=3D'http://www.scribd.com/doc/39288442/Astra-= G-Manual-Srpski'>Tweet</a></div><div class=3D"social_button linkedin act= ion"><script type=3D"IN/Share" data-counter=3D"none"></script></div></di= v></div></div></div><div class=3D"docview_container"><div id=3D"document= _column"><div id=3D"document_thumbnail_preview" style=3D"display:none"><= img height=3D"879px" src=3D"http://imgv2-1.scribdassets.com/img/word_doc= ument/39288442/255x300/bae1852c2c/1341942139" width=3D"679px" /></div><s= cript type=3D"text/javascript"> if(navigator && navigator.userAgent && !!navigator.userAgent= .match(/Google (Web|Instant) Preview/)) { $('document_thumbnail_preview').show(); } </script><div><style></style> <script type=3D'text/javascript' src=3D'http://fonts1.scribdassets.com/s= tatic/4gen.js?1345243168'> </script> = <script type=3D'text/javascript'> var defaultViewWidth =3D 679.0; var docManager =3D new DocumentManager("scroll", "web" =3D=3D "mobile"= ); // Our global manager for this view page window.docManager =3D docManager; docManager.setEmbeddedDoc('False'); docManager.fontAggregatorHosts =3D ["http://fonts1.scribdassets.com", = "http://fonts2.scribdassets.com", "http://fonts3.scribdassets.com", "htt= p://fonts4.scribdassets.com"]; docManager.assetPrefix =3D "64w3omdbswoy5mz"; docManager.addFont(42, "", "ff42", "Arial, Arial, Helvetica, sans-seri= f", "normal", "normal"); docManager.addFont(24, "", "ff24", "Arial, Arial, Helvetica, sans-seri= f", "normal", "normal"); docManager.addFont(25, "", "ff25", "Trebuchet MS1, Helvetica, sans-ser= if", "normal", "normal"); docManager.addFont(26, "", "ff26", "Arial, Arial, Helvetica, sans-seri= f", "normal", "normal"); docManager.addFont(27, "", "ff27", "Georgia1, Georgia, serif", "normal= ", "normal"); docManager.addFont(20, "", "ff20", "Arial, Arial, Helvetica, sans-seri= f", "normal", "normal"); docManager.addFont(21, "", "ff21", "Arial, Arial, Helvetica, sans-seri= f", "normal", "normal"); docManager.addFont(22, "", "ff22", "Arial, Arial, Helvetica, sans-seri= f", "normal", "normal");

docManager.addFont(23, "", "ff23", "Arial, Arial, Helvetica, sans-seri= f", "normal", "normal"); docManager.addFont(28, "", "ff28", "Trebuchet MS1, Helvetica, sans-ser= if", "normal", "normal"); docManager.addFont(29, "", "ff29", "Arial, Arial, Helvetica, sans-seri= f", "normal", "normal"); docManager.addFont(40, "", "ff40", "Arial, Arial, Helvetica, sans-seri= f", "normal", "normal"); docManager.addFont(41, "", "ff41", "Arial, Arial, Helvetica, sans-seri= f", "normal", "normal"); docManager.addFont(1, "", "ff1", "Trebuchet MS1, Helvetica, sans-serif= ", "normal", "normal"); docManager.addFont(0, "", "ff0", "Trebuchet MS1, Helvetica, sans-serif= ", "normal", "normal"); docManager.addFont(3, "", "ff3", "Times New Roman, Times, serif", "nor= mal", "normal"); docManager.addFont(2, "", "ff2", "Arial, Arial, Helvetica, sans-serif"= , "normal", "normal"); docManager.addFont(5, "", "ff5", "Arial, Arial, Helvetica, sans-serif"= , "normal", "normal"); docManager.addFont(4, "", "ff4", "Georgia1, Georgia, serif", "normal",= "normal"); docManager.addFont(7, "", "ff7", "Arial, Arial, Helvetica, sans-serif"= , "normal", "normal"); docManager.addFont(6, "", "ff6", "Arial, Arial, Helvetica, sans-serif"= , "normal", "normal"); docManager.addFont(9, "", "ff9", "Arial, Arial, Helvetica, sans-serif"= , "normal", "normal"); docManager.addFont(8, "", "ff8", "Arial, Arial, Helvetica, sans-serif"= , "normal", "normal"); docManager.addFont(39, "", "ff39", "Georgia1, Georgia, serif", "normal= ", "normal"); docManager.addFont(38, "", "ff38", "Trebuchet MS1, Helvetica, sans-ser= if", "normal", "normal"); docManager.addFont(11, "", "ff11", "Times New Roman, Times, serif", "n= ormal", "normal"); docManager.addFont(10, "bi", "ff10", "Times New Roman, Times, serif", = "bold", "italic"); docManager.addFont(13, "", "ff13", "Trebuchet MS1, Helvetica, sans-ser= if", "normal", "normal"); docManager.addFont(12, "", "ff12", "Arial, Arial, Helvetica, sans-seri= f", "normal", "normal"); docManager.addFont(15, "", "ff15", "Arial, Arial, Helvetica, sans-seri= f", "normal", "normal"); docManager.addFont(14, "bi", "ff14", "Georgia1, Georgia, serif", "bold= ", "italic"); docManager.addFont(17, "b", "ff17", "Arial, Arial, Helvetica, sans-ser= if", "bold", "normal"); docManager.addFont(16, "", "ff16", "Arial, Arial, Helvetica, sans-seri= f", "normal", "normal"); docManager.addFont(19, "", "ff19", "Arial, Arial, Helvetica, sans-seri= f", "normal", "normal"); docManager.addFont(18, "", "ff18", "Georgia1, Georgia, serif", "normal= ", "normal"); docManager.addFont(31, "", "ff31", "Trebuchet MS1, Helvetica, sans-ser= if", "normal", "normal"); docManager.addFont(30, "", "ff30", "Arial, Arial, Helvetica, sans-seri= f", "normal", "normal"); docManager.addFont(37, "", "ff37", "Times New Roman, Times, serif", "n= ormal", "normal");

docManager.addFont(36, "", "ff36", "Trebuchet MS1, Helvetica, sans-ser= if", "normal", "normal"); docManager.addFont(35, "", "ff35", "Arial, Arial, Helvetica, sans-seri= f", "normal", "normal"); docManager.addFont(34, "b", "ff34", "Trebuchet MS1, Helvetica, sans-se= rif", "bold", "normal"); docManager.addFont(33, "", "ff33", "Arial, Arial, Helvetica, sans-seri= f", "normal", "normal"); docManager.addFont(32, "", "ff32", "Arial, Arial, Helvetica, sans-seri= f", "normal", "normal"); docManager.displayType =3D "vector"; docManager.initStyles(); docManager.setPageWidths(679.0); docManager.setImageDomainSubstitution(/https:\/\/fanyv88.com:443\/http\/html.scribd.com/, ["ht= tp://htmlimg1.scribdassets.com", "http://htmlimg2.scribdassets.com", "ht= tp://htmlimg3.scribdassets.com", "http://htmlimg4.scribdassets.com"]); </script> <link rel=3D'stylesheet' type=3D'text/css' href=3D'http://fonts3.scribda= ssets.com/static/4gen.css?1345243169'/> <!--[if IE]> <link rel=3D'stylesheet' type=3D'text/css' href=3D'http://fonts4.scribda= ssets.com/static/4gen_ie.css?1345243169' /> <![endif]--> <!--[if !IE]><!--> <link rel=3D'stylesheet' type=3D'text/css' href=3D'http://fonts1.scribda= ssets.com/static/4gen_non_ie.css?1345243169' /> <!--<![endif]--> </div><div class=3D"notranslate" id=3D"viewer"><div id=3D'font_preload_b= ed' style=3D'position:absolute; height: 1px; left: 0; top:0; max-width: = 100%; visibility: hidden; overflow: hidden'> </div> <script type=3D'text/javascript'> = docManager.setupTestElements(); </script> <div class=3D"outer_page_container"> = = = <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_1" style=3D"width:902px; height:637px; "> <div class=3D"newpage" id=3D"page1" style=3D"width: 902px; height:= 637px"> <div class=3Dtext_layer style=3D"z-index:2"><div class=3Die_fix> &nbsp; <div class=3D"ff38" style=3D"font-size:126px"> <span class=3Da style=3D"left:192px;top:174px;letter-spacing:-1px">OPEL<= /span></div> <div class=3D"ff29" style=3D"font-size:90px"> <span class=3Da style=3D"left:488px;top:188px;word-spacing:6px;letter-sp= acing:-1px">Astra Classic</span></div> <div class=3D"ff12" style=3D"font-size:101px"> <span class=3Da style=3D"left:192px;top:2875px;word-spacing:-3px">Uputst=

vo za upotrebu</span></div> <div class=3D"ff1" style=3D"font-size:69px"> <span class=3Da style=3D"left:2777px;top:1841px;letter-spacing:-1px">SAM= O EURO DIZEL EN 590!*</span></div> <div class=3D"ff24" style=3D"font-size:69px"> <span class=3Da style=3D"left:2777px;top:1986px;word-spacing:-1px">Dizel= motor va=C5=A1eg vozila je razvijen prema</span><span class=3Da style=3D= "left:2777px;top:2066px;word-spacing:-2px">najnovijim istra=EE=80=80iva=C3= =A8kim dostignu=C3=A6ima u</span><span class=3Da style=3D"left:2777px;to= p:2145px;word-spacing:-2px">automobilizmu, ona predstavlja vrhunsku</spa= n><span class=3Da style=3D"left:2777px;top:2225px;word-spacing:-3px">teh= nologiju, inteligentan spoj tehni=C3=A8ke budu=C3=A6nosti,</span><span c= lass=3Da style=3D"left:2777px;top:2305px;word-spacing:-2px">prilago=C3=B0= enost za=C5=A1titi okoline i ekonomi=C3=A8nosti.</span><span class=3Da s= tyle=3D"left:2063px;top:2430px;word-spacing:-1px">U interesu odr=EE=80=80= avanja potrebnih performansi, motor mora da radi samo sa</span><span cla= ss=3Da style=3D"left:2063px;top:2509px;word-spacing:-2px">visokokvalitet= nim gorivom koja je u saglasnosti sa <span class=3Dw6></span>Evropskim s= pecifikacijama</span><span class=3Da style=3D"left:2063px;top:2589px;wor= d-spacing:-1px">standarda DIN EN 590 - EURO DIZEL. Videti poglavlje "Pot= ro=C5=A1nja goriva,</span><span class=3Da style=3D"left:2063px;top:2669p= x;word-spacing:-6px">gorivo, dopunjavanje".</span><span class=3Da style=3D= "left:2063px;top:2794px;word-spacing:-1px">Upotreba drugog goriva mo=EE=80= =80e ugroziti funkcionalnost vozila i dovesti do</span><span class=3Da s= tyle=3D"left:2063px;top:2873px;word-spacing:-6px">gubljenja garancije!</= span></div> <div class=3D"ff4" style=3D"font-size:41px"> <span class=3Da style=3D"left:2063px;top:2987px;word-spacing:1px;letter-= spacing:-1px">*Za dizel motore</span></div> </div> </div> <div class=3Dimage_layer style=3D"z-index: 1"> <div class=3Die_fix> <img class=3D"absimg" style=3D"left:-1px;top:-1px;width:903px;height:638= px;clip:rect(1px 902px 637px 1px)" orig=3D"http://html.scribd.com/64w3om= dbswoy5mz/images/1-13013166f3.jpg"/> </div> </div> </div> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> =

</div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [38, 29, 12, 1, 24, 4], "pageNum": 1}; pageParams.containerElem =3D document.getElementById("outer_page= _1"); pageParams.innerPageElem =3D document.getElementById("page1");= var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_1" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(1); </script> </div>

= = = = <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_2" style=3D"width:902px; height:637px; "> <div class=3D"newpage" id=3D"page2" style=3D"width: 902px; height:= 637px"> <div class=3Dtext_layer style=3D"z-index:2"><div class=3Die_fix> &nbsp; <div class=3D"ff36" style=3D"font-size:77px"> <span class=3Da style=3D"left:289px;top:182px;word-spacing:-1px">Specifi= =C3=A8ni podaci va=C5=A1eg vozila</span></div> <div class=3D"ff24" style=3D"font-size:69px"> <span class=3Da style=3D"left:289px;top:271px;word-spacing:-1px">Molimo = vas unesite podatke va=C5=A1eg vozila u dole navedena polja radi lak=C5=A1= eg pristupa podacima.</span><span class=3Da style=3D"left:289px;top:343p= x;word-spacing:-2px">Potrebni podaci su dostupni u <span class=3Dw6></sp= an>poglavlju "Tehni=C3=A8ki podaci" kao i na identifikacionoj plo=C3=A8i= ci vozila.</span></div> <div class=3D"ff36" style=3D"font-size:77px"> <span class=3Da style=3D"left:289px;top:481px">Gorivo</span></div> <div class=3D"ff0" style=3D"font-size:69px"> <span class=3Da style=3D"left:1006px;top:601px;word-spacing:-5px">Oznaka= , naziv</span></div>

<div class=3D"ff36" style=3D"font-size:77px"> <span class=3Da style=3D"left:289px;top:834px;word-spacing:-3px">Motorno= ulje</span></div> <div class=3D"ff0" style=3D"font-size:69px"> <span class=3Da style=3D"left:1192px;top:954px">Kvalitet</span><span cla= ss=3Da style=3D"left:1132px;top:1132px">Viskozitet</span></div> <div class=3D"ff36" style=3D"font-size:77px"> <span class=3Da style=3D"left:289px;top:1365px;word-spacing:-2px">Pritis= ak naduvavanja pneumatika</span></div> <div class=3D"ff0" style=3D"font-size:69px"> <span class=3Da style=3D"left:1443px;top:1484px">Dimenzija</span><span c= lass=3Da style=3D"left:1443px;top:1556px">pneumatika</span><span class=3D= a style=3D"left:2367px;top:1484px;word-spacing:-35px;letter-spacing:31px= ">d<span class=3Dl style=3D"margin-left:-31px">o <span class=3Dl style=3D= "margin-left:-27px">3 <span class=3Dl style=3D"margin-left:-28px">o<span= class=3Dl style=3D"margin-left:-31px">s<span class=3Dl style=3D"margin-= left:-31px">o<span class=3Dl style=3D"margin-left:-31px">b<span class=3D= l style=3D"margin-left:-32px">e<span class=3Dw style=3D"width:771px"></s= pan>s<span class=3Dl style=3D"margin-left:-31px">a <span class=3Dl style= =3D"margin-left:-27px">p<span class=3Dl style=3D"margin-left:-31px">u<sp= an class=3Dl style=3D"margin-left:-32px">n<span class=3Dl style=3D"margi= n-left:-31px">i<span class=3Dl style=3D"margin-left:-32px">m <span class= =3Dl style=3D"margin-left:-27px">o<span class=3Dl style=3D"margin-left:-= 32px">p<span class=3Dl style=3D"margin-left:-31px">t<span class=3Dl styl= e=3D"margin-left:-32px">e<span class=3Dl style=3D"margin-left:-31px">r<s= pan class=3Dl style=3D"margin-left:-32px">e<span class=3Dl style=3D"marg= in-left:-31px">=C3=A6<span class=3Dl style=3D"margin-left:-32px">e<span = class=3Dl style=3D"margin-left:-31px">n<span class=3Dl style=3D"margin-l= eft:-32px">j<span class=3Dl style=3D"margin-left:-31px">e<span class=3Dl= style=3D"margin-left:-31px">m</span></span></span></span></span></span>= </span></span></span></span></span></span></span></span></span></span></= span></span></span></span></span></span></span></span></span></span><spa= n class=3Da style=3D"left:923px;top:1666px;word-spacing:-29px;letter-spa= cing:46px">L<span class=3Dl style=3D"margin-left:-46px">e<span class=3Dl= style=3D"margin-left:-47px">t<span class=3Dl style=3D"margin-left:-46px= ">n<span class=3Dl style=3D"margin-left:-47px">j<span class=3Dl style=3D= "margin-left:-46px">i <span class=3Dl style=3D"margin-left:-64px">p<span= class=3Dl style=3D"margin-left:-46px">n<span class=3Dl style=3D"margin-= left:-46px">e<span class=3Dl style=3D"margin-left:-47px">u<span class=3D= l style=3D"margin-left:-46px">m<span class=3Dl style=3D"margin-left:-47p= x">a<span class=3Dl style=3D"margin-left:-46px">t<span class=3Dl style=3D= "margin-left:-47px">i<span class=3Dl style=3D"margin-left:-47px">c<span = class=3Dl style=3D"margin-left:-47px">i<span class=3Dw style=3D"width:66= 4px"></span>N<span class=3Dl style=3D"margin-left:-47px">a<span class=3D= l style=3D"margin-left:-47px">p<span class=3Dl style=3D"margin-left:-46p= x">r<span class=3Dl style=3D"margin-left:-47px">e<span class=3Dl style=3D= "margin-left:-46px">d<span class=3Dw style=3D"width:279px"></span>N<span= class=3Dl style=3D"margin-left:-47px">a<span class=3Dl style=3D"margin-= left:-47px">z<span class=3Dl style=3D"margin-left:-47px">a<span class=3D= l style=3D"margin-left:-46px">d<span class=3Dw style=3D"width:333px"></s= pan>N<span class=3Dl style=3D"margin-left:-47px">a<span class=3Dl style=3D= "margin-left:-46px">p<span class=3Dl style=3D"margin-left:-47px">r<span = class=3Dl style=3D"margin-left:-46px">e<span class=3Dl style=3D"margin-l= eft:-47px">d<span class=3Dw style=3D"width:279px"></span>N<span class=3D= l style=3D"margin-left:-47px">a<span class=3Dl style=3D"margin-left:-47p= x">z<span class=3Dl style=3D"margin-left:-46px">a<span class=3Dl style=3D= "margin-left:-47px">d</span></span></span></span></span></span></span></= span></span></span></span></span></span></span></span></span></span></sp= an></span></span></span></span></span></span></span></span></span></span= ></span></span></span></span></span></span><span class=3Da style=3D"left=

:894px;top:1844px;word-spacing:-29px;letter-spacing:46px">Z<span class=3D= l style=3D"margin-left:-46px">i<span class=3Dl style=3D"margin-left:-47p= x">m<span class=3Dl style=3D"margin-left:-47px">s<span class=3Dl style=3D= "margin-left:-46px">k<span class=3Dl style=3D"margin-left:-46px">i <span= class=3Dl style=3D"margin-left:-64px">p<span class=3Dl style=3D"margin-= left:-46px">n<span class=3Dl style=3D"margin-left:-46px">e<span class=3D= l style=3D"margin-left:-46px">u<span class=3Dl style=3D"margin-left:-47p= x">m<span class=3Dl style=3D"margin-left:-47px">a<span class=3Dl style=3D= "margin-left:-46px">t<span class=3Dl style=3D"margin-left:-47px">i<span = class=3Dl style=3D"margin-left:-47px">c<span class=3Dl style=3D"margin-l= eft:-47px">i<span class=3Dw style=3D"width:664px"></span>N<span class=3D= l style=3D"margin-left:-47px">a<span class=3Dl style=3D"margin-left:-46p= x">p<span class=3Dl style=3D"margin-left:-47px">r<span class=3Dl style=3D= "margin-left:-46px">e<span class=3Dl style=3D"margin-left:-47px">d<span = class=3Dw style=3D"width:279px"></span>N<span class=3Dl style=3D"margin-= left:-47px">a<span class=3Dl style=3D"margin-left:-47px">z<span class=3D= l style=3D"margin-left:-46px">a<span class=3Dl style=3D"margin-left:-47p= x">d<span class=3Dw style=3D"width:333px"></span>N<span class=3Dl style=3D= "margin-left:-47px">a<span class=3Dl style=3D"margin-left:-46px">p<span = class=3Dl style=3D"margin-left:-46px">r<span class=3Dl style=3D"margin-l= eft:-47px">e<span class=3Dl style=3D"margin-left:-47px">d<span class=3Dw= style=3D"width:279px"></span>N<span class=3Dl style=3D"margin-left:-47p= x">a<span class=3Dl style=3D"margin-left:-47px">z<span class=3Dl style=3D= "margin-left:-46px">a<span class=3Dl style=3D"margin-left:-47px">d</span= ></span></span></span></span></span></span></span></span></span></span><= /span></span></span></span></span></span></span></span></span></span></s= pan></span></span></span></span></span></span></span></span></span></spa= n></span></span></div> <div class=3D"ff36" style=3D"font-size:77px"> <span class=3Da style=3D"left:289px;top:2070px">Te=C5=BEine</span></div>= <div class=3D"ff0" style=3D"font-size:69px"> <span class=3Da style=3D"left:489px;top:2190px;word-spacing:-4px">Dozvol= jena ukupna te=C5=BEina vozila</span><span class=3Da style=3D"left:654px= ;top:2368px;word-spacing:-4px;letter-spacing:4px">=C2=A0=E2=80=93 <span = class=3Dw style=3D"width:72px"></span>O<span class=3Dl6>sn<span class=3D= l8>ov<span class=3Dl9>na <span class=3Dl8>te<span class=3Dl9>=C5=BEi<spa= n class=3Dl10>na <span class=3Dl9>po <span class=3Dl8>EC</span></span></= span></span></span></span></span></span></span><span class=3Da style=3D"= left:668px;top:2546px;letter-spacing:33px">=3D<span class=3Dw style=3D"w= idth:334px"></span>O<span class=3Dl style=3D"margin-left:-34px">p<span c= lass=3Dl style=3D"margin-left:-34px">t<span class=3Dl style=3D"margin-le= ft:-33px">e<span class=3Dl style=3D"margin-left:-34px">r<span class=3Dl = style=3D"margin-left:-33px">e<span class=3Dl style=3D"margin-left:-34px"= >=C3=A6<span class=3Dl style=3D"margin-left:-33px">e<span class=3Dl styl= e=3D"margin-left:-34px">n<span class=3Dl style=3D"margin-left:-33px">j<s= pan class=3Dl style=3D"margin-left:-33px">e</span></span></span></span><= /span></span></span></span></span></span></span></div> </div> </div> <div class=3Dimage_layer style=3D"z-index: 1"> <div class=3Die_fix> <img class=3D"absimg" style=3D"left:286px;top:-111px;width:107px;height:= 378px;clip:rect(226px 106px 251px 1px)" orig=3D"http://html.scribd.com/6= 4w3omdbswoy5mz/images/2-6fad051653.jpg"/> <img class=3D"absimg" style=3D"left:286px;top:85px;width:107px;height:37= 8px;clip:rect(100px 106px 161px 1px)" orig=3D"http://html.scribd.com/64w= 3omdbswoy5mz/images/2-6fad051653.jpg"/> <img class=3D"absimg" style=3D"left:286px;top:165px;width:107px;height:3= 78px;clip:rect(163px 106px 224px 1px)" orig=3D"http://html.scribd.com/64=

w3omdbswoy5mz/images/2-6fad051653.jpg"/> <img class=3D"absimg" style=3D"left:419px;top:75px;width:107px;height:37= 8px;clip:rect(253px 102px 314px 53px)" orig=3D"http://html.scribd.com/64= w3omdbswoy5mz/images/2-6fad051653.jpg"/> <img class=3D"absimg" style=3D"left:574px;top:12px;width:107px;height:37= 8px;clip:rect(316px 50px 377px 1px)" orig=3D"http://html.scribd.com/64w3= omdbswoy5mz/images/2-6fad051653.jpg"/> <img class=3D"absimg" style=3D"left:692px;top:75px;width:107px;height:37= 8px;clip:rect(253px 51px 314px 1px)" orig=3D"http://html.scribd.com/64w3= omdbswoy5mz/images/2-6fad051653.jpg"/> <img class=3D"absimg" style=3D"left:745px;top:12px;width:107px;height:37= 8px;clip:rect(316px 101px 377px 52px)" orig=3D"http://html.scribd.com/64= w3omdbswoy5mz/images/2-6fad051653.jpg"/> <img class=3D"absimg" style=3D"left:286px;top:431px;width:107px;height:3= 78px;clip:rect(1px 106px 98px 1px)" orig=3D"http://html.scribd.com/64w3o= mdbswoy5mz/images/2-6fad051653.jpg"/> </div> </div> </div> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [36, 24, 0], "pageNum": 2}; pageParams.containerElem =3D document.getElementById("outer_page= _2"); pageParams.innerPageElem =3D document.getElementById("page2");= var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_2" class=3D"between_page_ads"

style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(2); </script> </div>

= = = = <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_3" style=3D"width:902px; height:637px; "> <div class=3D"newpage" id=3D"page3" style=3D"width: 902px; height:= 637px"> <div class=3Dtext_layer style=3D"z-index:2"><div class=3Die_fix> &nbsp; <div class=3D"ff36" style=3D"font-size:77px"> <span class=3Da style=3D"left:289px;top:182px;word-spacing:-1px">Va=C5=A1= a Astra</span></div> <div class=3D"ff24" style=3D"font-size:69px"> <span class=3Da style=3D"left:289px;top:271px;word-spacing:-2px">Razvije= na prema najnovijim istra=EE=80=80iva=C3=A8kim dostignu=C3=A6ima u autom= obilizmu, nudi vrhunsku tehnologiju i izuzetan komfor.</span><span class= =3Da style=3D"left:289px;top:343px;word-spacing:-2px">Va=C5=A1a Astra pr= edstavlja inteligentan spoj tehnike budu=C3=A6nosti, proverene sigurnost= i, prilago=C3=B0enosti za=C5=A1titi okoline i <span class=3Dw7></span>ek= onomi=C3=A8nosti.</span><span class=3Da style=3D"left:289px;top:445px;wo= rd-spacing:-2px">Dalje na Vama je, <span class=3Dw6></span>da va=C5=A1om= Astrom bezbedno <span class=3Dw6></span>putujete i iskoristite njenu be= sprekornu funkcionalnost.</span><span class=3Da style=3D"left:289px;top:= 517px;word-spacing:-1px">Ovo Uputstvo za upotrebu =C3=A6e Vam pru=EE=80=80= iti sve potrebne informacije.</span><span class=3Da style=3D"left:289px;= top:620px;word-spacing:-2px">Uveriti se u to, <span class=3Dw6></span>da= su putnici svesni mogu=C3=A6nosti nezgoda i <span class=3Dw8></span>pov= reda usled nenamenskog kori=C5=A1=C3=A6enja vozila.</span><span class=3D= a style=3D"left:289px;top:722px;word-spacing:-2px">Uputstvo za upotrebu = uvek treba dr=EE=80=80ati <span class=3Dw6></span>u vozilu: na dohvat <s= pan class=3Dw6></span>ruke u kaseti za rukavice.</span></div> <div class=3D"ff36" style=3D"font-size:77px"> <span class=3Da style=3D"left:289px;top:857px;word-spacing:-2px">Prou=C3= =A8ite Uputstvo za upotrebu:</span></div> <div class=3D"ff3" style=3D"font-size:70px"> <span class=3Da style=3D"left:289px;top:943px">z</span></div> <div class=3D"ff24" style=3D"font-size:69px"> <span class=3Da style=3D"left:353px;top:945px;word-spacing:-2px">U pogla= vlju "Ukratko" na=C3=A6i =C3=A6ete uvodne informacije.</span></div> <div class=3D"ff3" style=3D"font-size:70px"> <span class=3Da style=3D"left:289px;top:1015px">z</span></div> <div class=3D"ff24" style=3D"font-size:69px"> <span class=3Da style=3D"left:353px;top:1018px;word-spacing:-1px">Regist= ar pojmova =C3=A6e Vam olak=C5=A1ati da se sna=C3=B0ete.</span></div>

<div class=3D"ff3" style=3D"font-size:70px"> <span class=3Da style=3D"left:289px;top:1087px">z</span></div> <div class=3D"ff24" style=3D"font-size:69px"> <span class=3Da style=3D"left:353px;top:1090px;word-spacing:-2px">Ono =C3= =A6e Vas <span class=3Dw6></span>upoznati sa prefinjenom tehnologijom.</= span></div> <div class=3D"ff3" style=3D"font-size:70px"> <span class=3Da style=3D"left:289px;top:1159px">z</span></div> <div class=3D"ff24" style=3D"font-size:69px"> <span class=3Da style=3D"left:353px;top:1162px;word-spacing:-1px">Da bi = va=C5=A1e zadovoljstvo sa Astrom bilo potpuno.</span></div> <div class=3D"ff3" style=3D"font-size:70px"> <span class=3Da style=3D"left:289px;top:1231px">z</span></div> <div class=3D"ff24" style=3D"font-size:69px"> <span class=3Da style=3D"left:353px;top:1234px;word-spacing:-2px">Da lak= o savladate rukovanje va=C5=A1im vozilom.</span><span class=3Da style=3D= "left:289px;top:1336px;word-spacing:-2px">Uputstvo za upotrebu je sastav= ljeno sa <span class=3Dw6></span>jasnim prikazima =C3=A8ime je olak=C5=A1= ano njegovo razumevanje.</span></div> <div class=3D"ff0" style=3D"font-size:69px"> <span class=3Da style=3D"left:289px;top:1439px;word-spacing:-7px">Zna=C3= =A8enje simbola:</span></div> <div class=3D"ff3" style=3D"font-size:70px"> <span class=3Da style=3D"left:289px;top:1508px">6</span></div> <div class=3D"ff24" style=3D"font-size:69px"> <span class=3Da style=3D"left:353px;top:1510px;word-spacing:-2px">Nastav= ak pro=C3=A8itajte na slede=C3=A6oj strani.</span></div> <div class=3D"ff3" style=3D"font-size:70px"> <span class=3Da style=3D"left:289px;top:1610px">3</span></div> <div class=3D"ff24" style=3D"font-size:69px"> <span class=3Da style=3D"left:353px;top:1613px;word-spacing:-2px">Zvezdi= ca zna=C3=A8i: opremu koja nije ugra=C3=B0ena u <span class=3Dw6></span>= sva vozila</span><span class=3Da style=3D"left:353px;top:1685px;word-spa= cing:-1px">(varijante modela, izbor motora, specifi=C3=A8nosti modela za= pojedina tr=EE=80=80i=C5=A1ta, opcionalna oprema, Originalni Opel Delov= i i Oprema).</span><span class=3Da style=3D"left:289px;top:2140px;word-s= pacing:-2px">=C5=BDute strelice na slikama ukazuju na referentnu ta=C3=A8= ku ili na <span class=3Dw6></span>izvo=C3=B0enje aktivnosti opisane u te= kstu.</span><span class=3Da style=3D"left:289px;top:2242px;word-spacing:= -2px">Crne strelice na slikama ukazuju na reakcije ili slede=C3=A6u akti= vnost po <span class=3Dw7></span>redu, opisanu u tekstu.</span><span cla= ss=3Da style=3D"left:289px;top:2652px;word-spacing:-1px">=C5=BDelimo Vam= mnogo sati ugodne vo=EE=80=80nje</span></div> <div class=3D"ff0" style=3D"font-size:69px"> <span class=3Da style=3D"left:289px;top:2724px;word-spacing:-3px">Va=C5=A1= Opel Team</span></div> <div class=3D"ff24" style=3D"font-size:69px"> <span class=3Da style=3D"left:323px;top:1821px;word-spacing:-2px">Teksto= vi u =EE=80=80utom polju skre=C3=A6u pa=EE=80=80nju na mogu=C3=A6nost ne= zgoda ili povreda. Nepoznavanje sadr=EE=80=80aja</span><span class=3Da s= tyle=3D"left:323px;top:1893px;word-spacing:-1px">takvih tekstova mo=EE=80= =80e dovesti do povreda ili opasnosti po =EE=80=80ivot.</span><span clas= s=3Da style=3D"left:323px;top:1965px;word-spacing:-1px">Shodno tome treb= a informisati putnike vozila.</span></div> </div> </div> <div class=3Dimage_layer style=3D"z-index: 1"> <div class=3Die_fix> <img class=3D"absimg" style=3D"left:55px;top:356px;width:551px;height:60= px;clip:rect(1px 550px 59px 1px)" orig=3D"http://html.scribd.com/64w3omd=

bswoy5mz/images/3-1e58734674.jpg"/> </div> </div> </div> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [36, 24, 3, 0], "pageNum": 3}; pageParams.containerElem =3D document.getElementById("outer_page= _3"); pageParams.innerPageElem =3D document.getElementById("page3");= var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_3" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(3); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_4" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [], "pageNum": 4}; pageParams.containerElem =3D document.getElementById("outer_page= _4"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/4-46ad8e5edc.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_4" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(4); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_5" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [17, 8, 5], "pageNum": 5}; pageParams.containerElem =3D document.getElementById("outer_page= _5"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/5-0a41e239bf.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_5" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(5); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_6" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 38, 36, 24, 3, 18], "pageNum": 6}; pageParams.containerElem =3D document.getElementById("outer_page= _6"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/6-7339727f0c.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_6" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(6); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_7" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24, 25, 2], "pageNum": 7}; pageParams.containerElem =3D document.getElementById("outer_page= _7"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/7-8a19bd48bb.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_7" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(7); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_8" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 3], "pageNum": 8}; pageParams.containerElem =3D document.getElementById("outer_page= _8"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/8-82e4173298.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_8" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(8); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_9" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24], "pageNum": 9}; pageParams.containerElem =3D document.getElementById("outer_page= _9"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/9-0be8a66427.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_9" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(9); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_10" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24, 0], "pageNum": 10}; pageParams.containerElem =3D document.getElementById("outer_page= _10"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/10-a20bf02c8c.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_10" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(10); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_11" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 3], "pageNum": 11}; pageParams.containerElem =3D document.getElementById("outer_page= _11"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/11-ede3c3ff54.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_11" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(11); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_12" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21], "pageNum": 12}; pageParams.containerElem =3D document.getElementById("outer_page= _12"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/12-8dc6dffe7c.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_12" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(12); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_13" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24, 0, 3], "pageNum": 13}; pageParams.containerElem =3D document.getElementById("outer_page= _13"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/13-be92942d96.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_13" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(13); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_14" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 11, 0, 3, 24, 37, 27, 42], "pageNum": 14}; pageParams.containerElem =3D document.getElementById("outer_page= _14"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/14-4fea0e9cda.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_14" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(14); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_15" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 11, 0, 24, 27], "pageNum": 15}; pageParams.containerElem =3D document.getElementById("outer_page= _15"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/15-1cd7e4b808.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_15" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(15); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_16" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24, 10], "pageNum": 16}; pageParams.containerElem =3D document.getElementById("outer_page= _16"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/16-e582eb7986.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_16" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(16); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_17" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 3, 0], "pageNum": 17}; pageParams.containerElem =3D document.getElementById("outer_page= _17"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/17-99420f3b3d.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_17" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(17); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_18" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24], "pageNum": 18}; pageParams.containerElem =3D document.getElementById("outer_page= _18"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/18-e815015111.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_18" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(18); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_19" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24, 25], "pageNum": 19}; pageParams.containerElem =3D document.getElementById("outer_page= _19"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/19-231e2deac1.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_19" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(19); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_20" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 11, 24], "pageNum": 20}; pageParams.containerElem =3D document.getElementById("outer_page= _20"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/20-47a7c2c03f.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_20" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(20); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_21" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 3, 0], "pageNum": 21}; pageParams.containerElem =3D document.getElementById("outer_page= _21"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/21-f79a0fcc95.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_21" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(21); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_22" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24, 41, 7, 20], "pageNum": 22}; pageParams.containerElem =3D document.getElementById("outer_page= _22"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/22-1f1e853e69.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_22" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(22); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_23" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 3, 18], "pageNum": 23}; pageParams.containerElem =3D document.getElementById("outer_page= _23"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/23-1ae7ec8e79.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_23" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(23); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_24" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24, 0], "pageNum": 24}; pageParams.containerElem =3D document.getElementById("outer_page= _24"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/24-1ca257353d.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_24" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(24); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_25" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 3], "pageNum": 25}; pageParams.containerElem =3D document.getElementById("outer_page= _25"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/25-a40630d3f6.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_25" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(25); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_26" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 0, 24], "pageNum": 26}; pageParams.containerElem =3D document.getElementById("outer_page= _26"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/26-6e8b86daf1.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_26" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(26); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_27" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 0, 3], "pageNum": 27}; pageParams.containerElem =3D document.getElementById("outer_page= _27"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/27-ab74c01398.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_27" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(27); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_28" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 38, 36, 24, 37, 0, 3], "pageNum": 28}; pageParams.containerElem =3D document.getElementById("outer_page= _28"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/28-d13db6c61f.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_28" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(28); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_29" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 37, 0, 3, 24], "pageNum": 29}; pageParams.containerElem =3D document.getElementById("outer_page= _29"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/29-c41e1fb426.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_29" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(29); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_30" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 37, 0, 24, 22, 7, 20], "pageNum": 30}; pageParams.containerElem =3D document.getElementById("outer_page= _30"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/30-cd448aa505.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_30" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(30); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_31" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 37, 0, 3, 24, 39], "pageNum": 31}; pageParams.containerElem =3D document.getElementById("outer_page= _31"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/31-9600f23599.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_31" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(31); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_32" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 33, 24, 7, 20, 0, 3], "pageNum": 32}; pageParams.containerElem =3D document.getElementById("outer_page= _32"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/32-b7044283b6.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_32" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(32); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_33" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24, 0], "pageNum": 33}; pageParams.containerElem =3D document.getElementById("outer_page= _33"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/33-d699290db4.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_33" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(33); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_34" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 33, 24, 3, 7, 20, 2], "pageNum": 34}; pageParams.containerElem =3D document.getElementById("outer_page= _34"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/34-cc71167ff2.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_34" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(34); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_35" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 0, 3, 24, 22, 9, 7, 20], "pageNum": 35}; pageParams.containerElem =3D document.getElementById("outer_page= _35"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/35-e16b3f00af.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_35" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(35); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_36" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 3, 35, 0], "pageNum": 36}; pageParams.containerElem =3D document.getElementById("outer_page= _36"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/36-4e37dbf150.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_36" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(36); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_37" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 22, 3, 0, 7, 20], "pageNum": 37}; pageParams.containerElem =3D document.getElementById("outer_page= _37"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/37-c29735004d.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_37" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(37); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_38" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24, 0], "pageNum": 38}; pageParams.containerElem =3D document.getElementById("outer_page= _38"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/38-46c9473ad5.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_38" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(38); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_39" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24, 0], "pageNum": 39}; pageParams.containerElem =3D document.getElementById("outer_page= _39"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/39-1bb083340d.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_39" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(39); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_40" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24, 0], "pageNum": 40}; pageParams.containerElem =3D document.getElementById("outer_page= _40"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/40-113cc3fb97.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_40" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(40); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_41" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 24], "pageNum": 41}; pageParams.containerElem =3D document.getElementById("outer_page= _41"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/41-cf29966945.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_41" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(41); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_42" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 24], "pageNum": 42}; pageParams.containerElem =3D document.getElementById("outer_page= _42"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/42-d23e1f1eb6.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_42" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(42); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_43" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 24, 3], "pageNum": 43}; pageParams.containerElem =3D document.getElementById("outer_page= _43"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/43-9a147ca8a8.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_43" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(43); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_44" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24, 22, 7, 20], "pageNum": 44}; pageParams.containerElem =3D document.getElementById("outer_page= _44"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/44-cdf233d194.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_44" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(44); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_45" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24], "pageNum": 45}; pageParams.containerElem =3D document.getElementById("outer_page= _45"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/45-8fb65a9b7e.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_45" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(45); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_46" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 38, 36, 24, 34, 13, 2, 3], "pageNum": 46}; pageParams.containerElem =3D document.getElementById("outer_page= _46"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/46-0a578c1068.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_46" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(46); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_47" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 0, 3], "pageNum": 47}; pageParams.containerElem =3D document.getElementById("outer_page= _47"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/47-1025658091.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_47" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(47); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_48" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24, 0], "pageNum": 48}; pageParams.containerElem =3D document.getElementById("outer_page= _48"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/48-0104ec029b.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_48" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(48); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_49" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 24, 3, 18], "pageNum": 49}; pageParams.containerElem =3D document.getElementById("outer_page= _49"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/49-c40307e3bd.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_49" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(49); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_50" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24, 0, 18], "pageNum": 50}; pageParams.containerElem =3D document.getElementById("outer_page= _50"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/50-556aaad190.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_50" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(50); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_51" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 3, 24, 36], "pageNum": 51}; pageParams.containerElem =3D document.getElementById("outer_page= _51"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/51-7275c6c371.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_51" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(51); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_52" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 0, 24, 3], "pageNum": 52}; pageParams.containerElem =3D document.getElementById("outer_page= _52"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/52-0bae37be8b.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_52" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(52); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_53" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 3, 24], "pageNum": 53}; pageParams.containerElem =3D document.getElementById("outer_page= _53"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/53-00e8a05162.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_53" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(53); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_54" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24, 0, 18], "pageNum": 54}; pageParams.containerElem =3D document.getElementById("outer_page= _54"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/54-3ef950f50c.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_54" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(54); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_55" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 24, 3, 18], "pageNum": 55}; pageParams.containerElem =3D document.getElementById("outer_page= _55"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/55-f9f9b9cfec.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_55" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(55); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_56" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 24, 3, 18, 36], "pageNum": 56}; pageParams.containerElem =3D document.getElementById("outer_page= _56"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/56-b705bb58f3.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_56" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(56); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_57" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 3], "pageNum": 57}; pageParams.containerElem =3D document.getElementById("outer_page= _57"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/57-23f88c7d0c.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_57" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(57); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_58" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 38, 36, 24], "pageNum": 58}; pageParams.containerElem =3D document.getElementById("outer_page= _58"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/58-693fbe4eb4.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_58" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(58); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_59" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 0, 3], "pageNum": 59}; pageParams.containerElem =3D document.getElementById("outer_page= _59"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/59-f40c26bcd3.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_59" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(59); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_60" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 0, 3, 24], "pageNum": 60}; pageParams.containerElem =3D document.getElementById("outer_page= _60"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/60-9979cbd795.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_60" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(60); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_61" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 24, 36, 3], "pageNum": 61}; pageParams.containerElem =3D document.getElementById("outer_page= _61"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/61-4ba101f615.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_61" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(61); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_62" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 24, 3], "pageNum": 62}; pageParams.containerElem =3D document.getElementById("outer_page= _62"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/62-cff3ba3fc9.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_62" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(62); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_63" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 0, 24], "pageNum": 63}; pageParams.containerElem =3D document.getElementById("outer_page= _63"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/63-86ded7fe77.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_63" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(63); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_64" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24, 0], "pageNum": 64}; pageParams.containerElem =3D document.getElementById("outer_page= _64"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/64-2600564ebd.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_64" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(64); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_65" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24], "pageNum": 65}; pageParams.containerElem =3D document.getElementById("outer_page= _65"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/65-eecc8def7f.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_65" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(65); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_66" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 3, 24], "pageNum": 66}; pageParams.containerElem =3D document.getElementById("outer_page= _66"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/66-9a745ee3a5.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_66" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(66); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_67" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24, 0], "pageNum": 67}; pageParams.containerElem =3D document.getElementById("outer_page= _67"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/67-ac16f7a99c.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_67" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(67); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_68" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24, 0, 3, 36], "pageNum": 68}; pageParams.containerElem =3D document.getElementById("outer_page= _68"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/68-bfdd8b7396.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_68" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(68); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_69" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24], "pageNum": 69}; pageParams.containerElem =3D document.getElementById("outer_page= _69"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/69-6f8018ad28.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_69" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(69); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_70" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 38, 36, 24, 3], "pageNum": 70}; pageParams.containerElem =3D document.getElementById("outer_page= _70"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/70-7c4e83acd7.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_70" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(70); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_71" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 3], "pageNum": 71}; pageParams.containerElem =3D document.getElementById("outer_page= _71"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/71-2275940f2e.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_71" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(71); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_72" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 0, 3], "pageNum": 72}; pageParams.containerElem =3D document.getElementById("outer_page= _72"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/72-a5ec18fc14.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_72" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(72); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_73" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 3, 24], "pageNum": 73}; pageParams.containerElem =3D document.getElementById("outer_page= _73"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/73-9108c1c020.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_73" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(73); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_74" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 0, 24, 3], "pageNum": 74}; pageParams.containerElem =3D document.getElementById("outer_page= _74"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/74-9abd3fa4d8.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_74" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(74); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_75" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 24, 3, 36], "pageNum": 75}; pageParams.containerElem =3D document.getElementById("outer_page= _75"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/75-88adfb7f85.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_75" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(75); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_76" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 0, 24, 3], "pageNum": 76}; pageParams.containerElem =3D document.getElementById("outer_page= _76"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/76-bd21d3440f.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_76" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(76); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_77" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24, 3], "pageNum": 77}; pageParams.containerElem =3D document.getElementById("outer_page= _77"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/77-bb287d9ec1.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_77" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(77); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_78" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 3, 24], "pageNum": 78}; pageParams.containerElem =3D document.getElementById("outer_page= _78"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/78-750715e973.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_78" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(78); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_79" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24, 3, 0], "pageNum": 79}; pageParams.containerElem =3D document.getElementById("outer_page= _79"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/79-5841f0cc1a.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_79" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(79); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_80" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 3, 24], "pageNum": 80}; pageParams.containerElem =3D document.getElementById("outer_page= _80"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/80-4b3c82a3c4.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_80" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(80); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_81" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 3, 24, 36], "pageNum": 81}; pageParams.containerElem =3D document.getElementById("outer_page= _81"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/81-e0d0762393.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_81" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(81); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_82" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 33, 7, 20, 24, 22], "pageNum": 82}; pageParams.containerElem =3D document.getElementById("outer_page= _82"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/82-b587589756.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_82" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(82); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_83" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 3, 24, 36], "pageNum": 83}; pageParams.containerElem =3D document.getElementById("outer_page= _83"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/83-461a698e45.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_83" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(83); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_84" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 3, 0], "pageNum": 84}; pageParams.containerElem =3D document.getElementById("outer_page= _84"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/84-171d498234.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_84" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(84); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_85" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 38, 36, 24, 3], "pageNum": 85}; pageParams.containerElem =3D document.getElementById("outer_page= _85"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/85-c1acceefc4.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_85" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(85); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_86" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24], "pageNum": 86}; pageParams.containerElem =3D document.getElementById("outer_page= _86"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/86-0d5a09c48d.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_86" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(86); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_87" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24], "pageNum": 87}; pageParams.containerElem =3D document.getElementById("outer_page= _87"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/87-296306b87f.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_87" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(87); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_88" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24], "pageNum": 88}; pageParams.containerElem =3D document.getElementById("outer_page= _88"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/88-21fbffcddf.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_88" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(88); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_89" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 38, 36, 24, 3], "pageNum": 89}; pageParams.containerElem =3D document.getElementById("outer_page= _89"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/89-b689727fb3.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_89" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(89); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_90" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24, 0], "pageNum": 90}; pageParams.containerElem =3D document.getElementById("outer_page= _90"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/90-876cdc3710.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_90" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(90); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_91" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 24, 3], "pageNum": 91}; pageParams.containerElem =3D document.getElementById("outer_page= _91"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/91-cb0fc5f767.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_91" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(91); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_92" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24, 0], "pageNum": 92}; pageParams.containerElem =3D document.getElementById("outer_page= _92"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/92-6c44f83eda.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_92" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(92); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_93" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 24], "pageNum": 93}; pageParams.containerElem =3D document.getElementById("outer_page= _93"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/93-4aefbc7440.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_93" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(93); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_94" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [24, 38, 3, 36], "pageNum": 94}; pageParams.containerElem =3D document.getElementById("outer_page= _94"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/94-13947714c2.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_94" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(94); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_95" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [24, 36, 0, 3], "pageNum": 95}; pageParams.containerElem =3D document.getElementById("outer_page= _95"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/95-c3677f9641.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_95" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(95); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_96" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [24, 36, 3], "pageNum": 96}; pageParams.containerElem =3D document.getElementById("outer_page= _96"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/96-797f6472ad.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_96" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(96); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_97" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [24, 36, 3], "pageNum": 97}; pageParams.containerElem =3D document.getElementById("outer_page= _97"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/97-737e7abde0.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_97" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(97); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_98" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [24, 36, 3, 0], "pageNum": 98}; pageParams.containerElem =3D document.getElementById("outer_page= _98"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/98-ad8599ab60.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_98" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(98); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_99" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [24, 36, 3, 0], "pageNum": 99}; pageParams.containerElem =3D document.getElementById("outer_page= _99"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/99-4b3979fbde.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_99" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(99); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_100" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [24, 0, 3, 36], "pageNum": 100}; pageParams.containerElem =3D document.getElementById("outer_page= _100"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/100-760199d9c8.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_100" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(100); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_101" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [24, 36, 3], "pageNum": 101}; pageParams.containerElem =3D document.getElementById("outer_page= _101"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/101-c5f8aaf73e.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_101" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(101); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_102" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [24, 36, 3, 0], "pageNum": 102}; pageParams.containerElem =3D document.getElementById("outer_page= _102"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/102-33a5dec62b.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_102" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(102); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_103" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [24, 0, 3], "pageNum": 103}; pageParams.containerElem =3D document.getElementById("outer_page= _103"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/103-f0b709d436.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_103" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(103); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_104" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [24, 0, 18, 3], "pageNum": 104}; pageParams.containerElem =3D document.getElementById("outer_page= _104"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/104-1cd133d9dc.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_104" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(104); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_105" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [24, 0, 3, 18], "pageNum": 105}; pageParams.containerElem =3D document.getElementById("outer_page= _105"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/105-5467b0a128.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_105" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(105); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_106" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [24, 36], "pageNum": 106}; pageParams.containerElem =3D document.getElementById("outer_page= _106"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/106-358cbc159e.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_106" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(106); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_107" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [24, 36, 3], "pageNum": 107}; pageParams.containerElem =3D document.getElementById("outer_page= _107"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/107-9e0d5a798b.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_107" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(107); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_108" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 38, 32, 24, 0, 36], "pageNum": 108}; pageParams.containerElem =3D document.getElementById("outer_page= _108"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/108-63df8a577b.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_108" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(108); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_109" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24, 0, 36, 3], "pageNum": 109}; pageParams.containerElem =3D document.getElementById("outer_page= _109"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/109-08996b8f2d.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_109" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(109); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_110" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24, 0], "pageNum": 110}; pageParams.containerElem =3D document.getElementById("outer_page= _110"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/110-fedc96ffb9.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_110" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(110); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_111" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 0], "pageNum": 111}; pageParams.containerElem =3D document.getElementById("outer_page= _111"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/111-c9fdc080a0.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_111" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(111); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_112" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 3, 0], "pageNum": 112}; pageParams.containerElem =3D document.getElementById("outer_page= _112"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/112-72be238283.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_112" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(112); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_113" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24, 0], "pageNum": 113}; pageParams.containerElem =3D document.getElementById("outer_page= _113"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/113-d02fe61667.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_113" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(113); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_114" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 38, 36, 24, 3, 0], "pageNum": 114}; pageParams.containerElem =3D document.getElementById("outer_page= _114"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/114-575d684dcd.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_114" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(114); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_115" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 3, 0], "pageNum": 115}; pageParams.containerElem =3D document.getElementById("outer_page= _115"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/115-5628755a5f.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_115" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(115); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_116" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 38, 36, 24, 3], "pageNum": 116}; pageParams.containerElem =3D document.getElementById("outer_page= _116"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/116-be4d3719ea.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_116" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(116); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_117" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24], "pageNum": 117}; pageParams.containerElem =3D document.getElementById("outer_page= _117"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/117-a2162e7b4a.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_117" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(117); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_118" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 38, 36, 24], "pageNum": 118}; pageParams.containerElem =3D document.getElementById("outer_page= _118"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/118-f583c5191c.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_118" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(118); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_119" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 3], "pageNum": 119}; pageParams.containerElem =3D document.getElementById("outer_page= _119"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/119-24ccafb737.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_119" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(119); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_120" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 38, 36, 3, 24, 22, 7, 0, 20], "pageNum": 120}; pageParams.containerElem =3D document.getElementById("outer_page= _120"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/120-5d50f5d335.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_120" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(120); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_121" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 3, 24, 6, 36, 22], "pageNum": 121}; pageParams.containerElem =3D document.getElementById("outer_page= _121"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/121-0ad8ee8458.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_121" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(121); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_122" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 3, 24], "pageNum": 122}; pageParams.containerElem =3D document.getElementById("outer_page= _122"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/122-f743384d0a.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_122" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(122); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_123" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24, 36], "pageNum": 123}; pageParams.containerElem =3D document.getElementById("outer_page= _123"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/123-04ef254b9a.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_123" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(123); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_124" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 38, 36, 3, 24, 18, 0], "pageNum": 124}; pageParams.containerElem =3D document.getElementById("outer_page= _124"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/124-4a1c2bc4d1.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_124" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(124); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_125" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24], "pageNum": 125}; pageParams.containerElem =3D document.getElementById("outer_page= _125"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/125-cc9fb463f3.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_125" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(125); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_126" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24, 0], "pageNum": 126}; pageParams.containerElem =3D document.getElementById("outer_page= _126"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/126-3b6db73b45.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_126" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(126); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_127" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 24, 3], "pageNum": 127}; pageParams.containerElem =3D document.getElementById("outer_page= _127"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/127-9044066339.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_127" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(127); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_128" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 38, 36, 24, 0, 3], "pageNum": 128}; pageParams.containerElem =3D document.getElementById("outer_page= _128"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/128-b44f8c2be6.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_128" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(128); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_129" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24, 3, 0], "pageNum": 129}; pageParams.containerElem =3D document.getElementById("outer_page= _129"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/129-a14bfe8f06.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_129" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(129); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_130" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24, 0], "pageNum": 130}; pageParams.containerElem =3D document.getElementById("outer_page= _130"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/130-51c28c1fba.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_130" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(130); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_131" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 38, 36, 24, 0, 3], "pageNum": 131}; pageParams.containerElem =3D document.getElementById("outer_page= _131"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/131-639424b5a6.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_131" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(131); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_132" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24], "pageNum": 132}; pageParams.containerElem =3D document.getElementById("outer_page= _132"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/132-9ae43ab525.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_132" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(132); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_133" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 24, 22, 3, 7, 20], "pageNum": 133}; pageParams.containerElem =3D document.getElementById("outer_page= _133"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/133-14bc43eb84.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_133" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(133); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_134" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 22, 0, 3, 7, 20], "pageNum": 134}; pageParams.containerElem =3D document.getElementById("outer_page= _134"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/134-dde9184418.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_134" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(134); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_135" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 38, 36, 3, 24], "pageNum": 135}; pageParams.containerElem =3D document.getElementById("outer_page= _135"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/135-d3815298ff.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_135" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(135); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_136" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 26, 7, 20], "pageNum": 136}; pageParams.containerElem =3D document.getElementById("outer_page= _136"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/136-0590fce3c0.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_136" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(136); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_137" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24], "pageNum": 137}; pageParams.containerElem =3D document.getElementById("outer_page= _137"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/137-1451c834f2.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_137" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(137); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_138" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 3, 0], "pageNum": 138}; pageParams.containerElem =3D document.getElementById("outer_page= _138"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/138-4b0b4c6524.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_138" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(138); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_139" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 22, 3], "pageNum": 139}; pageParams.containerElem =3D document.getElementById("outer_page= _139"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/139-0850e72882.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_139" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(139); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_140" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 38, 36, 24, 3], "pageNum": 140}; pageParams.containerElem =3D document.getElementById("outer_page= _140"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/140-95d60d4b30.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_140" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(140); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_141" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24, 22, 0], "pageNum": 141}; pageParams.containerElem =3D document.getElementById("outer_page= _141"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/141-8c7ce54a58.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_141" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(141); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_142" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24, 0, 3], "pageNum": 142}; pageParams.containerElem =3D document.getElementById("outer_page= _142"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/142-cfca07341b.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_142" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(142); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_143" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 3], "pageNum": 143}; pageParams.containerElem =3D document.getElementById("outer_page= _143"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/143-f191a5e938.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_143" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(143); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_144" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24, 0, 3, 36], "pageNum": 144}; pageParams.containerElem =3D document.getElementById("outer_page= _144"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/144-2919fefa95.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_144" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(144); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_145" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 0, 24], "pageNum": 145}; pageParams.containerElem =3D document.getElementById("outer_page= _145"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/145-89a25b99d6.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_145" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(145); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_146" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24, 0, 36], "pageNum": 146}; pageParams.containerElem =3D document.getElementById("outer_page= _146"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/146-c13d1cf703.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_146" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(146); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_147" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 24, 3], "pageNum": 147}; pageParams.containerElem =3D document.getElementById("outer_page= _147"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/147-46a7f6ee85.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_147" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(147); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_148" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 24, 3, 36], "pageNum": 148}; pageParams.containerElem =3D document.getElementById("outer_page= _148"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/148-7f454bf768.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_148" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(148); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_149" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 3, 0], "pageNum": 149}; pageParams.containerElem =3D document.getElementById("outer_page= _149"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/149-6a40cf4214.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_149" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(149); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_150" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24, 3], "pageNum": 150}; pageParams.containerElem =3D document.getElementById("outer_page= _150"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/150-38b96b7758.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_150" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(150); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_151" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24, 3], "pageNum": 151}; pageParams.containerElem =3D document.getElementById("outer_page= _151"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/151-7521f1bd31.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_151" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(151); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_152" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24, 3], "pageNum": 152}; pageParams.containerElem =3D document.getElementById("outer_page= _152"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/152-1e4492f4af.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_152" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(152); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_153" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24, 3], "pageNum": 153}; pageParams.containerElem =3D document.getElementById("outer_page= _153"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/153-560fdf9d0a.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_153" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(153); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_154" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24, 0], "pageNum": 154}; pageParams.containerElem =3D document.getElementById("outer_page= _154"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/154-4ad75b8157.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_154" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(154); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_155" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24, 3], "pageNum": 155}; pageParams.containerElem =3D document.getElementById("outer_page= _155"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/155-b80d1d1612.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_155" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(155); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_156" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24, 0], "pageNum": 156}; pageParams.containerElem =3D document.getElementById("outer_page= _156"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/156-7ae9840a6e.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_156" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(156); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_157" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24, 0], "pageNum": 157}; pageParams.containerElem =3D document.getElementById("outer_page= _157"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/157-ee6d66c59a.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_157" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(157); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_158" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 0], "pageNum": 158}; pageParams.containerElem =3D document.getElementById("outer_page= _158"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/158-498ae3f6a1.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_158" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(158); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_159" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24], "pageNum": 159}; pageParams.containerElem =3D document.getElementById("outer_page= _159"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/159-510198a87c.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_159" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(159); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_160" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24, 31, 0], "pageNum": 160}; pageParams.containerElem =3D document.getElementById("outer_page= _160"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/160-b108206dc1.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_160" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(160); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_161" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 31, 0, 24], "pageNum": 161}; pageParams.containerElem =3D document.getElementById("outer_page= _161"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/161-d6e0330382.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_161" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(161); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_162" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 24, 36], "pageNum": 162}; pageParams.containerElem =3D document.getElementById("outer_page= _162"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/162-ead6840ac6.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_162" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(162); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_163" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 0], "pageNum": 163}; pageParams.containerElem =3D document.getElementById("outer_page= _163"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/163-23b3574183.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_163" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(163); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_164" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 24], "pageNum": 164}; pageParams.containerElem =3D document.getElementById("outer_page= _164"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/164-35c476cef2.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_164" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(164); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_165" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24], "pageNum": 165}; pageParams.containerElem =3D document.getElementById("outer_page= _165"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/165-735398816c.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_165" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(165); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_166" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 3], "pageNum": 166}; pageParams.containerElem =3D document.getElementById("outer_page= _166"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/166-c194a240fc.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_166" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(166); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_167" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 0, 24], "pageNum": 167}; pageParams.containerElem =3D document.getElementById("outer_page= _167"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/167-d5388875f2.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_167" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(167); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_168" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 24], "pageNum": 168}; pageParams.containerElem =3D document.getElementById("outer_page= _168"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/168-add5bcf7d4.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_168" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(168); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_169" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 24], "pageNum": 169}; pageParams.containerElem =3D document.getElementById("outer_page= _169"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/169-2908fcebff.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_169" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(169); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_170" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 0, 24], "pageNum": 170}; pageParams.containerElem =3D document.getElementById("outer_page= _170"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/170-f4d06002ff.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_170" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(170); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_171" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 24, 36, 3], "pageNum": 171}; pageParams.containerElem =3D document.getElementById("outer_page= _171"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/171-a7f4b7ea34.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_171" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(171); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_172" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 3, 24], "pageNum": 172}; pageParams.containerElem =3D document.getElementById("outer_page= _172"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/172-cc8e79d490.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_172" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(172); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_173" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 38, 24, 0], "pageNum": 173}; pageParams.containerElem =3D document.getElementById("outer_page= _173"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/173-ceef0eec5e.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_173" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(173); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_174" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 19, 24, 0], "pageNum": 174}; pageParams.containerElem =3D document.getElementById("outer_page= _174"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/174-ee631301e7.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_174" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(174); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_175" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 38, 24, 0], "pageNum": 175}; pageParams.containerElem =3D document.getElementById("outer_page= _175"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/175-2b40d87092.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_175" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(175); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_176" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24], "pageNum": 176}; pageParams.containerElem =3D document.getElementById("outer_page= _176"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/176-ece4bccbb8.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_176" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(176); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_177" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 0, 3], "pageNum": 177}; pageParams.containerElem =3D document.getElementById("outer_page= _177"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/177-a77d8e63fb.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_177" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(177); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_178" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24, 0], "pageNum": 178}; pageParams.containerElem =3D document.getElementById("outer_page= _178"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/178-2333cde548.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_178" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(178); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_179" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 0], "pageNum": 179}; pageParams.containerElem =3D document.getElementById("outer_page= _179"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/179-293d02cce3.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_179" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(179); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_180" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 24, 3], "pageNum": 180}; pageParams.containerElem =3D document.getElementById("outer_page= _180"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/180-94b3bb66de.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_180" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(180); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_181" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 0, 24, 3], "pageNum": 181}; pageParams.containerElem =3D document.getElementById("outer_page= _181"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/181-2a24200e09.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_181" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(181); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_182" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24, 3, 0], "pageNum": 182}; pageParams.containerElem =3D document.getElementById("outer_page= _182"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/182-e3ac9ee8dd.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_182" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(182); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_183" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 0, 3, 24, 36], "pageNum": 183}; pageParams.containerElem =3D document.getElementById("outer_page= _183"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/183-38be0543d5.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_183" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(183); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_184" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 3, 0], "pageNum": 184}; pageParams.containerElem =3D document.getElementById("outer_page= _184"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/184-be464e3780.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_184" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(184); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_185" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 3, 0], "pageNum": 185}; pageParams.containerElem =3D document.getElementById("outer_page= _185"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/185-114505384e.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_185" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(185); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_186" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 38, 24, 36, 3], "pageNum": 186}; pageParams.containerElem =3D document.getElementById("outer_page= _186"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/186-7f19a9e140.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_186" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(186); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_187" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 3], "pageNum": 187}; pageParams.containerElem =3D document.getElementById("outer_page= _187"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/187-74b86cc108.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_187" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(187); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_188" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24], "pageNum": 188}; pageParams.containerElem =3D document.getElementById("outer_page= _188"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/188-34604593a8.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_188" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(188); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_189" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 3], "pageNum": 189}; pageParams.containerElem =3D document.getElementById("outer_page= _189"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/189-4388689249.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_189" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(189); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_190" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24], "pageNum": 190}; pageParams.containerElem =3D document.getElementById("outer_page= _190"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/190-d0922ad1bd.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_190" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(190); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_191" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21], "pageNum": 191}; pageParams.containerElem =3D document.getElementById("outer_page= _191"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/191-ddc6fed4bf.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_191" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(191); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_192" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 38, 36, 24, 0], "pageNum": 192}; pageParams.containerElem =3D document.getElementById("outer_page= _192"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/192-e3275eaf6e.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_192" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(192); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_193" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 0], "pageNum": 193}; pageParams.containerElem =3D document.getElementById("outer_page= _193"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/193-473d839817.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_193" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(193); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_194" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 0, 22, 7, 20], "pageNum": 194}; pageParams.containerElem =3D document.getElementById("outer_page= _194"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/194-121ebbe826.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_194" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(194); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_195" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 0, 22, 7, 20], "pageNum": 195}; pageParams.containerElem =3D document.getElementById("outer_page= _195"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/195-69d419816e.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_195" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(195); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_196" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 0, 33, 7, 20, 22], "pageNum": 196}; pageParams.containerElem =3D document.getElementById("outer_page= _196"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/196-8f818431f9.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_196" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(196); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_197" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 0, 22, 7, 20, 33], "pageNum": 197}; pageParams.containerElem =3D document.getElementById("outer_page= _197"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/197-02cbc87e59.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_197" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(197); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_198" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 33, 24, 22], "pageNum": 198}; pageParams.containerElem =3D document.getElementById("outer_page= _198"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/198-01d9e01a97.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_198" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(198); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_199" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 0, 33, 22, 7, 20], "pageNum": 199}; pageParams.containerElem =3D document.getElementById("outer_page= _199"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/199-14d1e41917.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_199" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(199); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_200" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 0, 33, 15, 7, 20, 22], "pageNum": 200}; pageParams.containerElem =3D document.getElementById("outer_page= _200"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/200-0ba9946161.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_200" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(200); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_201" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 3], "pageNum": 201}; pageParams.containerElem =3D document.getElementById("outer_page= _201"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/201-35488b176e.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_201" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(201); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_202" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 33, 16, 20, 0], "pageNum": 202}; pageParams.containerElem =3D document.getElementById("outer_page= _202"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/202-849bc8d446.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_202" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(202); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_203" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 33, 16, 40, 20, 0], "pageNum": 203}; pageParams.containerElem =3D document.getElementById("outer_page= _203"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/203-1a44ef9018.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_203" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(203); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_204" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 6, 0, 33, 7, 20, 22, 14], "pageNum": 204}; pageParams.containerElem =3D document.getElementById("outer_page= _204"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/204-7bb2ff97bc.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_204" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(204); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_205" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 0, 24, 3, 26, 7, 20], "pageNum": 205}; pageParams.containerElem =3D document.getElementById("outer_page= _205"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/205-fe41f257da.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_205" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(205); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_206" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24, 36, 0, 22, 7, 20], "pageNum": 206}; pageParams.containerElem =3D document.getElementById("outer_page= _206"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/206-2f317600b8.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_206" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(206); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_207" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 24, 36, 0, 22, 7, 20], "pageNum": 207}; pageParams.containerElem =3D document.getElementById("outer_page= _207"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/207-09ca77ab55.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_207" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(207); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_208" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 3], "pageNum": 208}; pageParams.containerElem =3D document.getElementById("outer_page= _208"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/208-5ddb366a60.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_208" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(208); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_209" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 0, 33, 7, 20], "pageNum": 209}; pageParams.containerElem =3D document.getElementById("outer_page= _209"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/209-ca551addb7.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_209" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(209); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_210" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 0, 22, 7, 20], "pageNum": 210}; pageParams.containerElem =3D document.getElementById("outer_page= _210"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/210-03ce359018.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_210" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(210); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_211" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 0, 24, 22], "pageNum": 211}; pageParams.containerElem =3D document.getElementById("outer_page= _211"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/211-8f3d9d4e6e.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_211" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(211); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_212" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 24, 0, 22], "pageNum": 212}; pageParams.containerElem =3D document.getElementById("outer_page= _212"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/212-dd344af1e6.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_212" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(212); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_213" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [21, 36, 0, 24, 22], "pageNum": 213}; pageParams.containerElem =3D document.getElementById("outer_page= _213"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/213-4b238417f0.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_213" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(213); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_214" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [30, 17, 28], "pageNum": 214}; pageParams.containerElem =3D document.getElementById("outer_page= _214"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/214-bc9a81d846.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_214" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(214); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_215" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [30, 28, 23], "pageNum": 215}; pageParams.containerElem =3D document.getElementById("outer_page= _215"); pageParams.contentUrl =3D "http://html4.scribdassets.com/64w3o= mdbswoy5mz/pages/215-e8d8996076.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_215" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(215); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_216" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [30, 28], "pageNum": 216}; pageParams.containerElem =3D document.getElementById("outer_page= _216"); pageParams.contentUrl =3D "http://html1.scribdassets.com/64w3o= mdbswoy5mz/pages/216-e0c2b744b4.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_216" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(216); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_217" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [30, 28], "pageNum": 217}; pageParams.containerElem =3D document.getElementById("outer_page= _217"); pageParams.contentUrl =3D "http://html3.scribdassets.com/64w3o= mdbswoy5mz/pages/217-713f7c12a7.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_217" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(217); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_218" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [30, 28], "pageNum": 218}; pageParams.containerElem =3D document.getElementById("outer_page= _218"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/218-bd2417e882.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_218" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(218); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_219" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [30, 28], "pageNum": 219}; pageParams.containerElem =3D document.getElementById("outer_page= _219"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/219-dc88c25bd3.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_219" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(219); </script> </div>

= = =

= <div class=3D"outer_page only_ie6_border" = id=3D"outer_page_220" style=3D"width:902px; height:637px; "> = <div class=3D"b_tl"></div> = <div class=3D"b_tr"></div> = <div class=3D"b_br"></div> = <div class=3D"b_bl"></div> = <div class=3D"b_t"></div> = <div class=3D"b_r"></div> = <div class=3D"b_b"></div> = <div class=3D"b_l"></div> = </div> = <script type=3D'text/javascript'> (function() { var pageParams =3D {"origHeight": 637, "origWidth": 902, "fonts"= : [30, 28], "pageNum": 220}; pageParams.containerElem =3D document.getElementById("outer_page= _220"); pageParams.contentUrl =3D "http://html2.scribdassets.com/64w3o= mdbswoy5mz/pages/220-d069a8569b.jsonp"; var page =3D docManager.addPage(pageParams); })(); </script> = <div id=3D"between_page_ads_220" class=3D"between_page_ads" style=3D"display: block;"> <script type=3D"text/javascript"> Scribd.Ads.addBetweenPageUnit(220); </script> </div>

= =

<!--[if IE]>

<script type=3D'text/javascript'> window.docManagerIEAdded =3D true; if (document.observe) { document.observe('dom:loaded', function () { docManager.allPagesAdded(); }); } else { window.attachEvent('onload', function () { docManager.allPagesAdded(); }); } </script> <![endif]--> <script type=3D'text/javascript'> if (window.docManagerIEAdded !=3D true) { docManager.allPagesAdded(); } </script> </div>

</div><div class=3D"autogen_class_views_newdoc_sharer not_ready" id=3D"a= utogen_id_473234870"><span id=3D"sharing_status"></span></div><div class= =3D"search_results search_container loading" id=3D"document_search_resul= ts"><div class=3D"header"><div class=3D"close_button"></div><div class=3D= "popup_search"><form class=3D"query_box"><div class=3D"search_icon"></di= v><div class=3D"part"><input class=3D"query" placeholder=3D"Search This = Document" type=3D"text" /></div><div class=3D"search_submit">Search</div= ></form></div><div class=3D"search_history"><strong>Search History: </st= rong><span class=3D"history_list"></span></div></div><div class=3D"loadi= ng_message on_loading"><div class=3D"decorative">Searching...</div></div= ><div class=3D"results on_results"><div class=3D"search_info"><div class= =3D"current_info">Result <span class=3D"current_result_num">00</span> of= <span class=3D"num_results">00</span></div><div class=3D"truncate"><spa= n class=3D"on_results"><span class=3D"num_results">00</span><span class=3D= "plural"> results for </span><span class=3D"non_plural"> result for </sp= an></span><span class=3D"last_query"></span></div></div><div class=3D"sc= roller"><ul class=3D"results_list"></ul></div></div><div class=3D"result= _template"><li><div class=3D"page_num">p. <span class=3D"inner_num"></sp= an></div><div class=3D"snippet"></div></li></div></div></div><div id=3D"= sidebar"><div class=3D"floating_column"><div class=3D"autogen_class_view= s_newdoc_sidebar" id=3D"autogen_id_473233673"><div class=3D"clearfix pub= lic" id=3D"doc_metadata"><div class=3D"doc_summary"><h1 class=3D"doc_tit= le">Astra G Manual Srpski</h1></div><div class=3D"button_row"><div class= =3D"download_button_border"><div class=3D"home_btn blue orange download_=

button"><div class=3D"btn_inner "><span class=3D"newdoc_sprite download_= big"></span>Download or Print</div></div></div><div class=3D"add_to_coll= ection_btn has_icon"><div class=3D"newdoc_sprite add"></div>Add To Colle= ction</div></div><div class=3D"autogen_class_views_newdoc_doc_stats" id=3D= "autogen_id_473232960"><div class=3D"stat reads"><div class=3D"number" d= ata-value=3D"13183">13.2K</div><div class=3D"unit">Reads</div></div><div= class=3D"stat shares"><div class=3D"number" data-value=3D"72">72</div><= div class=3D"unit">Readcasts</div></div><div class=3D"stat last"><div cl= ass=3D"number" data-value=3D"265">265</div><div class=3D"unit">Embed Vie= ws</div></div></div><div class=3D"privacy_indicator" style=3D"display: n= one;"><div class=3D"message">This is a private document.<a href=3D"/stat= ic/help?type=3Dprivate", onclick=3D"window.open(this.href,'new_window','= height=3D300, width=3D400, scrollbars=3Dyes');return false;"><div class=3D= "help_dot"></div></a> </div></div><div class=3D"uploader"><div class=3D"user_pic"><div class=3D= "fbml_thumb suggested_users_thumbnail thumbnail_outer"><a class=3D"userp= ic notranslate" href=3D"http://www.scribd.com/milost_2"><img data-src=3D= "http://graph.facebook.com/1020137062/picture?type=3Dsquare" height=3D"6= 0" onload=3D"lzld(this)" src=3D"http://s6.scribdassets.com/images/smlgif= .gif" width=3D"60" /></a></div></div><div class=3D"inner"><div class=3D"= sub">Published by</div><div class=3D"username_row"><a href=3D"http://www= .scribd.com/milost_2" class=3D"username notranslate">Milos Todorovic</a>= </div><div class=3D"follow_row"><div class=3D"follow_buttons"><a href=3D= "/login" onclick=3D"trackEvent(&quot;newdoc&quot;, &quot;Click&quot;, &q= uot;follow&quot;, Scribd.logged_in ? 1 : 0); Scribd.login.open({&quot;ca= llback&quot;:&quot;new Ajax.Request('http://www.scribd.com/friends?follo= wship%5Bpublisher_id%5D=3D37345840&amp;followship%5Bsource%5D=3Ddocument= _page', {asynchronous:true, evalScripts:true, onComplete:function(reques= t){window.location =3D 'http://www.scribd.com/doc/39288442/Astra-G-Manua= l-Srpski'}, parameters:'authenticity_token=3D' + encodeURIComponent('ddd= 2916a3a9c25154945141620a6e551e702221c')})&quot;,&quot;context&quot;:&quo= t;follow&quot;,&quot;next_url&quot;:&quot;/doc/39288442&quot;}); return = false;" rel=3D"nofollow"><div class=3D"home_btn blue darkgreen follow ac= tion"><div class=3D"btn_inner "><span class=3D"newdoc_sprite follow"></s= pan>Follow</div></div></a></div></div></div></div><div class=3D"divider = brown"><div class=3D"divider_bottom"></div></div><div class=3D"sidebar_b= ottom"><div class=3D"autogen_class_views_newdoc_search_sidebar search_co= ntainer" id=3D"autogen_id_473247077"><div class=3D"sidebar_search"><form= class=3D"query_box"><div class=3D"search_icon"></div><div class=3D"part= "><input class=3D"query" placeholder=3D"Search This Document" type=3D"te= xt" /></div><div class=3D"search_submit">Search</div></form></div><div c= lass=3D"tip"><span class=3D"flag">TIP</span> Press <span class=3D"other_= os">Ctrl-F</span><span class=3D"mac_osx">=E2=8C=98F</span> to search any= where in the document.</div></div><div id=3D"rightcolumn_ad_gam"><div id= =3D"Doc_Sideboard_MediumRectangle_ATF_300x250_container"><script type=3D= "text/javascript">Scribd.Ads.addUnit("Doc_Sideboard_MediumRectangle_ATF_= 300x250", "Doc_Sideboard_MediumRectangle_ATF_300x250_container", "scribd= :load_ads");</script></div></div><div class=3D"sidebar_ad_spacer"><div c= lass=3D"more_info"><h2>Info and Rating</h2><table><tr><td class=3D"row_t= itle">Category:</td><td><em>Uncategorized.</em></td></tr><tr><td class=3D= "row_title">Rating:</td><td><div class=3D"value" id=3D"rating"><span id=3D= "document_starbox"></span></div></td></tr><tr><td class=3D"row_title">Up= load Date:</td><td>10/13/2010</td></tr><tr><td class=3D"row_title">Copyr= ight:</td><td>Attribution Non-commercial</td></tr><tr><td class=3D"row_t= itle">Tags:</td><td><div class=3D"autogen_class_views_newdoc_tags" id=3D= "autogen_id_473246242"><em>This document has no tags.</em><script type=3D= "text/javascript"> var tag_list =3D $('tag_list'); if(tag_list) { var fullList =3D $('tags_all');

var truncatedList =3D $('tags_truncated'); tag_list.select('.control_btn').invoke('observe', 'click', fun= ction(e) { e.stop(); fullList.toggle(); truncatedList.toggle(); }); } </script></div></td></tr></table><div class=3D"pseudoLink flag_but= ton">Flag document for inapproriate content</div></div></div> <script src=3D"http://platform.linkedin.com/in.js" type=3D"text/ja= vascript"><script type=3D"IN/Share"></script></script> = <script>!function(d,s,id){var js,fjs=3Dd.getElementsByTagName(s)[0= ];if(!d.getElementById(id)){js=3Dd.createElement(s);js.id=3Did;js.src=3D= "//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);= }}(document,"script","twitter-wjs");</script> </div></div></div><div class=3D"autogen_class_views_documents_ads_be= low_sideboard" id=3D"autogen_id_473245066"><div id=3D"pinned_ad_containe= r"><div id=3D"pinned_ad"><div id=3D"Doc_Sideboard_HalfPage_Pinned_300x60= 0_container"><script type=3D"text/javascript">Scribd.Ads.addRefreshUnit(= 'Doc_Sideboard_HalfPage_Pinned_300x600');</script></div></div></div></di= v></div></div><div id=3D"view=3Dmode_popup"></div></div></div><div class= =3D"below_document"><div class=3D"inner_below"><div class=3D"autogen_cla= ss_views_newdoc_paginated_collection_widgets" id=3D"autogen_id_473244995= "><div class=3D"content"><div class=3D"clearfix" data-name=3D"from_user"= > <div id=3D"user_docs_container"> <!-- Served by app09 in 0.107 secs. cpu: 0.010 --> </div></div><div class=3D"paginated_document_collection clearfix" data-n= ame=3D"related"> <div id=3D"related_docs_outer_container"> <h2 id=3D"featured_docs_header">Related</h2><div id=3D"paginated_feature= d_docs"><div class=3D"paginated_featured_doc paginated_related_doc clear= fix"><div class=3D"paginated_featured_doc_thumb"><div class=3D"medium_th= umbnail" style=3D"width: 200px"><div class=3D"medium_thumbnail_shadow"><= a href=3D"http://www.scribd.com/doc/64192485/Astra-Prirucnik"><div class= =3D"thumbnail"><img data-src=3D"http://imgv2-4.scribdassets.com/img/word= _document/64192485/200x259/842585501e/1342035678" onload=3D"lzld(this)" = src=3D"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAI= CTAEAOw=3D=3D" /><span class=3D"no_of_pages notranslate">360 p.</span></= div></a></div></div></div><div class=3D"paginated_featured_doc_info"><a = class=3D"paginated_featured_doc_title notranslate" href=3D"http://www.sc= ribd.com/doc/64192485/Astra-Prirucnik">Astra Prirucnik</a><div class=3D"= paginated_featured_doc_user"><a class=3D"notranslate" href=3D"http://www= .scribd.com/people/view/98194682">Sanel Pekaric</a></div><div class=3D"p= aginated_featured_doc_views">164 Reads</div></div></div><div class=3D"pa= ginated_featured_doc paginated_related_doc clearfix"><div class=3D"pagin= ated_featured_doc_thumb"><div class=3D"medium_thumbnail" style=3D"width:= 200px"><div class=3D"medium_thumbnail_shadow"><a href=3D"http://www.scr= ibd.com/doc/60983375/Opel-Astra-G"><div class=3D"thumbnail"><img data-sr= c=3D"http://imgv2-1.scribdassets.com/img/word_document/60983375/200x259/= fb9050ebf6/1341970037" onload=3D"lzld(this)" src=3D"data:image/gif;base6= 4,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=3D=3D" /><span clas= s=3D"no_of_pages notranslate">360 p.</span></div></a></div></div></div><= div class=3D"paginated_featured_doc_info"><a class=3D"paginated_featured= _doc_title notranslate" href=3D"http://www.scribd.com/doc/60983375/Opel-= Astra-G">Opel Astra G</a><div class=3D"paginated_featured_doc_user"><a c= lass=3D"notranslate" href=3D"http://www.scribd.com/people/view/90614787"= >MihajloRadojkovic</a></div><div class=3D"paginated_featured_doc_views">= 1164 Reads</div></div></div><div class=3D"paginated_featured_doc paginat= ed_related_doc clearfix"><div class=3D"paginated_featured_doc_thumb"><di=

v class=3D"medium_thumbnail" style=3D"width: 200px"><div class=3D"medium= _thumbnail_shadow"><a href=3D"http://www.scribd.com/doc/60076163/Astra-n= a-srpskom"><div class=3D"thumbnail"><img data-src=3D"http://imgv2-3.scri= bdassets.com/img/word_document/60076163/200x259/4881484f76/1341970037" o= nload=3D"lzld(this)" src=3D"data:image/gif;base64,R0lGODlhAQABAAAAACH5BA= EKAAEALAAAAAABAAEAAAICTAEAOw=3D=3D" /><span class=3D"no_of_pages notrans= late">360 p.</span></div></a></div></div></div><div class=3D"paginated_f= eatured_doc_info"><a class=3D"paginated_featured_doc_title notranslate" = href=3D"http://www.scribd.com/doc/60076163/Astra-na-srpskom">Astra na sr= pskom</a><div class=3D"paginated_featured_doc_user"><a class=3D"notransl= ate" href=3D"http://www.scribd.com/people/view/69307795">Ratka Stojkovic= </a></div><div class=3D"paginated_featured_doc_views">144 Reads</div></d= iv></div><div class=3D"paginated_featured_doc paginated_related_doc clea= rfix"><div class=3D"paginated_featured_doc_thumb"><div class=3D"medium_t= humbnail" style=3D"width: 200px"><div class=3D"medium_thumbnail_shadow">= <a href=3D"http://www.scribd.com/doc/59933900/39e33f47beb3ee8a7cd8f1b3f1= b8f8ed"><div class=3D"thumbnail"><img data-src=3D"http://imgv2-3.scribda= ssets.com/img/word_document/59933900/200x259/7060229010/1341976465" onlo= ad=3D"lzld(this)" src=3D"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKA= AEALAAAAAABAAEAAAICTAEAOw=3D=3D" /><span class=3D"no_of_pages notranslat= e">360 p.</span></div></a></div></div></div><div class=3D"paginated_feat= ured_doc_info"><a class=3D"paginated_featured_doc_title notranslate" hre= f=3D"http://www.scribd.com/doc/59933900/39e33f47beb3ee8a7cd8f1b3f1b8f8ed= ">39e33f47beb3ee8a7cd8f1b3f1b8f8ed</a><div class=3D"paginated_featured_d= oc_user"><a class=3D"notranslate" href=3D"http://www.scribd.com/people/v= iew/87955628">Goran Andjelkovic</a></div><div class=3D"paginated_feature= d_doc_views">63 Reads</div></div></div><div class=3D"paginated_featured_= doc paginated_related_doc clearfix"><div class=3D"paginated_featured_doc= _thumb"><div class=3D"medium_thumbnail" style=3D"width: 200px"><div clas= s=3D"medium_thumbnail_shadow"><a href=3D"http://www.scribd.com/doc/45063= 192/Opel-Astra-H-2584-7-SCG"><div class=3D"thumbnail"><img data-src=3D"h= ttp://imgv2-2.scribdassets.com/img/word_document/45063192/200x259/87e1ba= 517b/1341968032" onload=3D"lzld(this)" src=3D"data:image/gif;base64,R0lG= ODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=3D=3D" /><span class=3D"n= o_of_pages notranslate">360 p.</span></div></a></div></div></div><div cl= ass=3D"paginated_featured_doc_info"><a class=3D"paginated_featured_doc_t= itle notranslate" href=3D"http://www.scribd.com/doc/45063192/Opel-Astra-= H-2584-7-SCG">Opel_Astra-H_2584-7_SCG</a><div class=3D"paginated_feature= d_doc_user"><a class=3D"notranslate" href=3D"http://www.scribd.com/peopl= e/view/4843867">dbarackov</a></div><div class=3D"paginated_featured_doc_= views">269 Reads</div></div></div><div class=3D"paginated_featured_doc p= aginated_related_doc clearfix"><div class=3D"paginated_featured_doc_thum= b"><div class=3D"medium_thumbnail" style=3D"width: 200px"><div class=3D"= medium_thumbnail_shadow"><a href=3D"http://www.scribd.com/doc/68594981/O= pel-Astra-H-NB-2661-1-SCG-model-9-0"><div class=3D"thumbnail"><img data-= src=3D"http://imgv2-2.scribdassets.com/img/word_document/68594981/200x25= 9/a45cea4de9/1341954835" onload=3D"lzld(this)" src=3D"data:image/gif;bas= e64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=3D=3D" /><span cl= ass=3D"no_of_pages notranslate">230 p.</span></div></a></div></div></div= ><div class=3D"paginated_featured_doc_info"><a class=3D"paginated_featur= ed_doc_title notranslate" href=3D"http://www.scribd.com/doc/68594981/Ope= l-Astra-H-NB-2661-1-SCG-model-9-0">Opel_Astra-H-NB_2661-1_SCG_model_9.0<= /a><div class=3D"paginated_featured_doc_user"><a class=3D"notranslate" h= ref=3D"http://www.scribd.com/people/view/1288620">shomim</a></div><div c= lass=3D"paginated_featured_doc_views">147 Reads</div></div></div><div cl= ass=3D"paginated_featured_doc paginated_related_doc clearfix"><div class= =3D"paginated_featured_doc_thumb"><div class=3D"medium_thumbnail" style=3D= "width: 200px"><div class=3D"medium_thumbnail_shadow"><a href=3D"http://= www.scribd.com/doc/70282476/Opel-Vectra-2517-10-SCG"><div class=3D"thumb= nail"><img data-src=3D"http://imgv2-1.scribdassets.com/img/word_document=

/70282476/200x259/14a1e94a30/1342044356" onload=3D"lzld(this)" src=3D"da= ta:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=3D= =3D" /><span class=3D"no_of_pages notranslate">325 p.</span></div></a></= div></div></div><div class=3D"paginated_featured_doc_info"><a class=3D"p= aginated_featured_doc_title notranslate" href=3D"http://www.scribd.com/d= oc/70282476/Opel-Vectra-2517-10-SCG">Opel_Vectra_2517-10_SCG</a><div cla= ss=3D"paginated_featured_doc_user"><a class=3D"notranslate" href=3D"http= ://www.scribd.com/people/view/15727181">nesafarm</a></div><div class=3D"= paginated_featured_doc_views">522 Reads</div></div></div><div class=3D"p= aginated_featured_doc paginated_related_doc clearfix"><div class=3D"pagi= nated_featured_doc_thumb"><div class=3D"medium_thumbnail" style=3D"width= : 200px"><div class=3D"medium_thumbnail_shadow"><a href=3D"http://www.sc= ribd.com/doc/63228910/Opel-Astra-H"><div class=3D"thumbnail"><img data-s= rc=3D"http://imgv2-2.scribdassets.com/img/word_document/63228910/200x259= /7ef0240759/1341968032" onload=3D"lzld(this)" src=3D"data:image/gif;base= 64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=3D=3D" /><span cla= ss=3D"no_of_pages notranslate">344 p.</span></div></a></div></div></div>= <div class=3D"paginated_featured_doc_info"><a class=3D"paginated_feature= d_doc_title notranslate" href=3D"http://www.scribd.com/doc/63228910/Opel= -Astra-H">Opel Astra H</a><div class=3D"paginated_featured_doc_user"><a = class=3D"notranslate" href=3D"http://www.scribd.com/people/view/96248447= ">Goran Goro</a></div><div class=3D"paginated_featured_doc_views">670 Re= ads</div></div></div><div class=3D"paginated_featured_doc paginated_rela= ted_doc clearfix"><div class=3D"paginated_featured_doc_thumb"><div class= =3D"medium_thumbnail" style=3D"width: 200px"><div class=3D"medium_thumbn= ail_shadow"><a href=3D"http://www.scribd.com/doc/38087164/Opel-Astra-H-2= 584-11-SCG"><div class=3D"thumbnail"><img data-src=3D"http://imgv2-4.scr= ibdassets.com/img/word_document/38087164/200x259/cafc4acc6a/1342057050" = onload=3D"lzld(this)" src=3D"data:image/gif;base64,R0lGODlhAQABAAAAACH5B= AEKAAEALAAAAAABAAEAAAICTAEAOw=3D=3D" /><span class=3D"no_of_pages notran= slate">344 p.</span></div></a></div></div></div><div class=3D"paginated_= featured_doc_info"><a class=3D"paginated_featured_doc_title notranslate"= href=3D"http://www.scribd.com/doc/38087164/Opel-Astra-H-2584-11-SCG">Op= el_Astra-H_2584-11_SCG</a><div class=3D"paginated_featured_doc_user"><a = class=3D"notranslate" href=3D"http://www.scribd.com/people/view/33595283= ">Popovic Nikola</a></div><div class=3D"paginated_featured_doc_views">63= 7 Reads</div></div></div><div class=3D"paginated_featured_doc paginated_= related_doc clearfix"><div class=3D"paginated_featured_doc_thumb"><div c= lass=3D"medium_thumbnail" style=3D"width: 200px"><div class=3D"medium_th= umbnail_shadow"><a href=3D"http://www.scribd.com/doc/54258650/Opel-Corsa= -2656-SCG-model-6-0"><div class=3D"thumbnail"><img data-src=3D"http://im= gv2-3.scribdassets.com/img/word_document/54258650/200x259/0f5c47d426/134= 2044356" onload=3D"lzld(this)" src=3D"data:image/gif;base64,R0lGODlhAQAB= AAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=3D=3D" /><span class=3D"no_of_pag= es notranslate">293 p.</span></div></a></div></div></div><div class=3D"p= aginated_featured_doc_info"><a class=3D"paginated_featured_doc_title not= ranslate" href=3D"http://www.scribd.com/doc/54258650/Opel-Corsa-2656-SCG= -model-6-0">Opel_Corsa_2656_SCG_model_6.0</a><div class=3D"paginated_fea= tured_doc_user"><a class=3D"notranslate" href=3D"http://www.scribd.com/p= eople/view/30109033">Milan Radakovi=C4=87</a></div><div class=3D"paginat= ed_featured_doc_views">427 Reads</div></div></div><div class=3D"paginate= d_featured_doc paginated_related_doc clearfix"><div class=3D"paginated_f= eatured_doc_thumb"><div class=3D"medium_thumbnail" style=3D"width: 200px= "><div class=3D"medium_thumbnail_shadow"><a href=3D"http://www.scribd.co= m/doc/69719992/Tehnicko-uputstvo-Zastava-10"><div class=3D"thumbnail"><i= mg data-src=3D"http://imgv2-1.scribdassets.com/img/word_document/6971999= 2/200x259/ec61a13161/1342034516" onload=3D"lzld(this)" src=3D"data:image= /gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=3D=3D" />= <span class=3D"no_of_pages notranslate">160 p.</span></div></a></div></d= iv></div><div class=3D"paginated_featured_doc_info"><a class=3D"paginate=

d_featured_doc_title notranslate" href=3D"http://www.scribd.com/doc/6971= 9992/Tehnicko-uputstvo-Zastava-10">Tehnicko uputstvo Zastava 10</a><div = class=3D"paginated_featured_doc_user"><a class=3D"notranslate" href=3D"h= ttp://www.scribd.com/people/view/105978037">Branko Runjai=C4=87</a></div= ><div class=3D"paginated_featured_doc_views">1190 Reads</div></div></div= ><div class=3D"paginated_featured_doc paginated_related_doc clearfix"><d= iv class=3D"paginated_featured_doc_thumb"><div class=3D"medium_thumbnail= " style=3D"width: 200px"><div class=3D"medium_thumbnail_shadow"><a href=3D= "http://www.scribd.com/doc/56924323/Zastava-10-tehnicko-uputstvo-by-stal= ker92-www-cbc-rs"><div class=3D"thumbnail"><img data-src=3D"http://imgv2= -4.scribdassets.com/img/word_document/56924323/200x259/0ff12ee695/134194= 2387" onload=3D"lzld(this)" src=3D"data:image/gif;base64,R0lGODlhAQABAAA= AACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=3D=3D" /><span class=3D"no_of_pages = notranslate">160 p.</span></div></a></div></div></div><div class=3D"pagi= nated_featured_doc_info"><a class=3D"paginated_featured_doc_title notran= slate" href=3D"http://www.scribd.com/doc/56924323/Zastava-10-tehnicko-up= utstvo-by-stalker92-www-cbc-rs">Zastava_10_-_tehnicko_uputstvo_by_stalke= r92_www.cbc.rs</a><div class=3D"paginated_featured_doc_user"><a class=3D= "notranslate" href=3D"http://www.scribd.com/people/view/13207437">catpro= c</a></div><div class=3D"paginated_featured_doc_views">5099 Reads</div><= /div></div><div class=3D"paginated_featured_doc paginated_related_doc cl= earfix"><div class=3D"paginated_featured_doc_thumb"><div class=3D"medium= _thumbnail" style=3D"width: 200px"><div class=3D"medium_thumbnail_shadow= "><a href=3D"http://www.scribd.com/doc/49550800/Zastava-10-tehnicko-uput= stvo-by-stalker92-www-cbc-rs"><div class=3D"thumbnail"><img data-src=3D"= http://imgv2-1.scribdassets.com/img/word_document/49550800/200x259/d57d3= 5432a/1341942387" onload=3D"lzld(this)" src=3D"data:image/gif;base64,R0l= GODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=3D=3D" /><span class=3D"= no_of_pages notranslate">160 p.</span></div></a></div></div></div><div c= lass=3D"paginated_featured_doc_info"><a class=3D"paginated_featured_doc_= title notranslate" href=3D"http://www.scribd.com/doc/49550800/Zastava-10= -tehnicko-uputstvo-by-stalker92-www-cbc-rs">Zastava_10_-_tehnicko_uputst= vo_by_stalker92_www.cbc.rs</a><div class=3D"paginated_featured_doc_user"= ><a class=3D"notranslate" href=3D"http://www.scribd.com/people/view/5603= 0237">jasminamarkov</a></div><div class=3D"paginated_featured_doc_views"= >1191 Reads</div></div></div><div class=3D"paginated_featured_doc pagina= ted_related_doc clearfix"><div class=3D"paginated_featured_doc_thumb"><d= iv class=3D"medium_thumbnail" style=3D"width: 200px"><div class=3D"mediu= m_thumbnail_shadow"><a href=3D"http://www.scribd.com/doc/45193597/Tehnic= ko-uputstvo-Zastava-10"><div class=3D"thumbnail"><img data-src=3D"http:/= /imgv2-4.scribdassets.com/img/word_document/45193597/200x259/e12df9abea/= 1347434313" onload=3D"lzld(this)" src=3D"data:image/gif;base64,R0lGODlhA= QABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=3D=3D" /><span class=3D"no_of_= pages notranslate">160 p.</span></div></a></div></div></div><div class=3D= "paginated_featured_doc_info"><a class=3D"paginated_featured_doc_title n= otranslate" href=3D"http://www.scribd.com/doc/45193597/Tehnicko-uputstvo= -Zastava-10">Tehnicko uputstvo Zastava 10</a><div class=3D"paginated_fea= tured_doc_user"><a class=3D"notranslate" href=3D"http://www.scribd.com/p= eople/view/42099030">=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D0= =B0=D1=80 =D0=94=D0=B8=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D1=98=D0=B5=D0=B2=D0= =B8=D1=9B</a></div><div class=3D"paginated_featured_doc_views">794 Reads= </div></div></div><div class=3D"paginated_featured_doc paginated_related= _doc clearfix"><div class=3D"paginated_featured_doc_thumb"><div class=3D= "medium_thumbnail" style=3D"width: 200px"><div class=3D"medium_thumbnail= _shadow"><a href=3D"http://www.scribd.com/doc/38851900/Tehnicko-Uputstvo= -Zastava-10-s3"><div class=3D"thumbnail"><img data-src=3D"http://imgv2-4= .scribdassets.com/img/word_document/38851900/200x259/3d2cca3d81/13419685= 08" onload=3D"lzld(this)" src=3D"data:image/gif;base64,R0lGODlhAQABAAAAA= CH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=3D=3D" /><span class=3D"no_of_pages no= translate">160 p.</span></div></a></div></div></div><div class=3D"pagina=

ted_featured_doc_info"><a class=3D"paginated_featured_doc_title notransl= ate" href=3D"http://www.scribd.com/doc/38851900/Tehnicko-Uputstvo-Zastav= a-10-s3">Tehnicko Uputstvo Zastava 10 s3</a><div class=3D"paginated_feat= ured_doc_user"><a class=3D"notranslate" href=3D"http://www.scribd.com/pe= ople/view/23463168">andy_mick</a></div><div class=3D"paginated_featured_= doc_views">1016 Reads</div></div></div><div class=3D"paginated_featured_= doc paginated_related_doc clearfix"><div class=3D"paginated_featured_doc= _thumb"><div class=3D"medium_thumbnail" style=3D"width: 200px"><div clas= s=3D"medium_thumbnail_shadow"><a href=3D"http://www.scribd.com/doc/38456= 262/Tehnicko-Uputstvo-Zastava-10-s3"><div class=3D"thumbnail"><img data-= src=3D"http://imgv2-1.scribdassets.com/img/word_document/38456262/200x25= 9/a13f7933aa/1341946064" onload=3D"lzld(this)" src=3D"data:image/gif;bas= e64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=3D=3D" /><span cl= ass=3D"no_of_pages notranslate">160 p.</span></div></a></div></div></div= ><div class=3D"paginated_featured_doc_info"><a class=3D"paginated_featur= ed_doc_title notranslate" href=3D"http://www.scribd.com/doc/38456262/Teh= nicko-Uputstvo-Zastava-10-s3">Tehnicko Uputstvo Zastava 10 s3</a><div cl= ass=3D"paginated_featured_doc_user"><a class=3D"notranslate" href=3D"htt= p://www.scribd.com/people/view/7491139">msrdjan16819</a></div><div class= =3D"paginated_featured_doc_views">12412 Reads</div></div></div><div clas= s=3D"paginated_featured_doc paginated_related_doc clearfix"><div class=3D= "paginated_featured_doc_thumb"><div class=3D"medium_thumbnail" style=3D"= width: 200px"><div class=3D"medium_thumbnail_shadow"><a href=3D"http://w= ww.scribd.com/doc/69032877/Drumska-vozila"><div class=3D"thumbnail"><img= data-src=3D"http://imgv2-3.scribdassets.com/img/word_document/69032877/= 200x259/1233394afe/1341942363" onload=3D"lzld(this)" src=3D"data:image/g= if;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=3D=3D" /><s= pan class=3D"no_of_pages notranslate">413 p.</span></div></a></div></div= ></div><div class=3D"paginated_featured_doc_info"><a class=3D"paginated_= featured_doc_title notranslate" href=3D"http://www.scribd.com/doc/690328= 77/Drumska-vozila">Drumska vozila</a><div class=3D"paginated_featured_do= c_user"><a class=3D"notranslate" href=3D"http://www.scribd.com/people/vi= ew/87326727">Bojan Radovic</a></div><div class=3D"paginated_featured_doc= _views">1081 Reads</div></div></div><div class=3D"paginated_featured_doc= paginated_related_doc clearfix"><div class=3D"paginated_featured_doc_th= umb"><div class=3D"medium_thumbnail" style=3D"width: 200px"><div class=3D= "medium_thumbnail_shadow"><a href=3D"http://www.scribd.com/doc/61644920/= Opel-Astra-H-2584-11-HR-model-9-0"><div class=3D"thumbnail"><img data-sr= c=3D"http://imgv2-1.scribdassets.com/img/word_document/61644920/200x259/= bf73b9cbcb/1341977216" onload=3D"lzld(this)" src=3D"data:image/gif;base6= 4,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=3D=3D" /><span clas= s=3D"no_of_pages notranslate">344 p.</span></div></a></div></div></div><= div class=3D"paginated_featured_doc_info"><a class=3D"paginated_featured= _doc_title notranslate" href=3D"http://www.scribd.com/doc/61644920/Opel-= Astra-H-2584-11-HR-model-9-0">Opel_Astra-H_2584-11_HR_model_9.0</a><div = class=3D"paginated_featured_doc_user"><a class=3D"notranslate" href=3D"h= ttp://www.scribd.com/people/view/92368818">ado008</a></div><div class=3D= "paginated_featured_doc_views">207 Reads</div></div></div><div class=3D"= paginated_featured_doc paginated_related_doc clearfix"><div class=3D"pag= inated_featured_doc_thumb"><div class=3D"medium_thumbnail" style=3D"widt= h: 200px"><div class=3D"medium_thumbnail_shadow"><a href=3D"http://www.s= cribd.com/doc/48164591/Zastava-750-Uputstvo-Za-Rukovanje-i-Odrzavanje-IX= -1966"><div class=3D"thumbnail"><img data-src=3D"http://imgv2-1.scribdas= sets.com/img/word_document/48164591/200x259/87661871c8/1341943501" onloa= d=3D"lzld(this)" src=3D"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAA= EALAAAAAABAAEAAAICTAEAOw=3D=3D" /><span class=3D"no_of_pages notranslate= ">66 p.</span></div></a></div></div></div><div class=3D"paginated_featur= ed_doc_info"><a class=3D"paginated_featured_doc_title notranslate" href=3D= "http://www.scribd.com/doc/48164591/Zastava-750-Uputstvo-Za-Rukovanje-i-= Odrzavanje-IX-1966">Zastava 750 Uputstvo Za Rukovanje i Odrzavanje IX 19=

66</a><div class=3D"paginated_featured_doc_user"><a class=3D"notranslate= " href=3D"http://www.scribd.com/people/view/55647543">RoKsOn_Z750</a></d= iv><div class=3D"paginated_featured_doc_views">1914 Reads</div></div></d= iv></div> </div></div></div></div><div class=3D"comment_area clearfix" id=3D"autog= en_id_473243800"><a name=3D"comments"></a><div id=3D"comments_section"><= h2>Leave a Comment</h2><div class=3D"comment_form" id=3D"autogen_id_4732= 42205"><div class=3D"profile"><div class=3D"tiny_thumbnail thumbnail_out= er"><div class=3D"default_thumb"></div></div></div><form action=3D"http:= //www.scribd.com/documents/39288442/comments?context=3Dr3" class=3D"new_= event_new_status_base" method=3D"post"><div style=3D"margin:0;padding:0"= ><input name=3D"authenticity_token" type=3D"hidden" value=3D"ddd2916a3a9= c25154945141620a6e551e702221c" /></div><input name=3D"format" type=3D"hi= dden" value=3D"json" /><div class=3D"comment_errors" style=3D"display: n= one"><div class=3D"alert">Comment must not be empty.</div></div><div cla= ss=3D"fake_textarea">You must be <a class=3D"login" href=3D"http://www.s= cribd.com/login">logged in</a> to leave a comment.</div><div class=3D"co= ntrols clearfix"><div class=3D"buttons"><div class=3D"image_button disab= led submit_comment"><span class=3D"inner">Submit</span></div></div><div = class=3D"spinner" style=3D"display: none"></div><span class=3D"count">Ch= aracters: <span class=3D"number">...</span></span></div></form></div><di= v class=3D"comments"><div class=3D"events"></div></div><div id=3D"reply_= template"><div class=3D"comment_form reply_comment" id=3D"autogen_id_473= 241931"><div class=3D"profile"><div class=3D"tiny_thumbnail thumbnail_ou= ter"><div class=3D"default_thumb"></div></div></div><form action=3D"http= ://www.scribd.com/documents/39288442/comments?context=3Dr3" class=3D"new= _event_new_status_base" method=3D"post"><div style=3D"margin:0;padding:0= "><input name=3D"authenticity_token" type=3D"hidden" value=3D"ddd2916a3a= 9c25154945141620a6e551e702221c" /></div><input name=3D"format" type=3D"h= idden" value=3D"json" /><div class=3D"comment_errors" style=3D"display: = none"><div class=3D"alert">Comment must not be empty.</div></div><div cl= ass=3D"fake_textarea">You must be <a class=3D"login" href=3D"http://www.= scribd.com/login">logged in</a> to leave a comment.</div><div class=3D"c= ontrols clearfix"><div class=3D"buttons"><div class=3D"image_button disa= bled submit_comment"><span class=3D"inner">Submit</span></div></div><div= class=3D"spinner" style=3D"display: none"></div><span class=3D"count">C= haracters: <span class=3D"number">...</span></span></div></form></div></= div></div></div></div></div></div></div> = </div> =

= <div id=3D"lightboxes"> = <div class=3D"autogen_class_views_login_login_lightbox" id=3D"au togen_= id_473219648"><div class=3D"lightbox" id=3D"login_lb" style=3D"display: = none"><div class=3D"wrapper"><div class=3D"close_button sprite close"></= div><div class=3D"content"><div class=3D"login_section"><p>Use your Face= book login and see what your friends are reading and sharing.</p><div id= =3D"aggro_fb_login"><h4>Other login options</h4><span class=3D"facebook_= login_button autogen_class_views_shared_javascript_widget" id=3D"autogen=

_id_473218739"><a class=3D"fb_button fb_button_large notranslate scribd_= fb_button" href=3D"javascript:void(0);" onclick=3D"javascript: if (windo= w['$rat']) { $rat('analytics.search.signup.facebook', {}); $rat.root().f= lushEvents(); }"><span class=3D"inner">Login with Facebook</span></a><im= g alt=3D"Spinner_mac_white" class=3D"in_process login_button_spinner" sr= c=3D"http://s5.scribdassets.com/images/spinner_mac_white.gif?1348517579"= style=3D"display:none" /><form action=3D"http://www.scribd.com/facebook= _session" class=3D"posted_form login_add_hidden_form_fields_for_options"= method=3D"post" style=3D"display:none"><input id=3D"on_success_redirect= _to" name=3D"on_success_redirect_to" type=3D"hidden" value=3D"http://www= .scribd.com/doc/39288442" /><input id=3D"on_error_redirect_to" name=3D"o= n_error_redirect_to" type=3D"hidden" value=3D"http://www.scribd.com/doc/= 39288442?no_cache=3D1348521816" /><div class=3D"facebook_session_element= s"></div></form></span></div></div><div class=3D"signup_header" style=3D= "display:none;"><h3>Signup</h3></div><p class=3D"signup_toggle"><a>I don= 't have a Facebook account</a></p> <div class=3D"global_signup_form clearfix" style=3D"display:none"> <div class=3D"other_options_container clearfix"></div> <div style=3D"width:240px" class=3D"form_col"> = <form action=3D"/login/signup?from=3Dlogin_lb" class=3D"lightbox= _form form" method=3D"post" name=3D"signup_form_login_lb"><div style=3D"= margin:0;padding:0"><input name=3D"authenticity_token" type=3D"hidden" v= alue=3D"ddd2916a3a9c25154945141620a6e551e702221c" /></div> <div class=3D"hidden" id=3D"signup_form_inner_login_lb" styl= e=3D"display:none"> = <input id=3D"login_params_context" name=3D"login_par= ams[context]" type=3D"hidden" value=3D"default" /> = <input id=3D"login_params_next_url" name=3D"login_pa= rams[next_url]" type=3D"hidden" value=3D"http://www.scribd.com/doc/39288= 442" /> = </div> = <label class=3D"first" for=3D"email_address_email_login_= lb">email address (required)</label> <input type=3D"text" name=3D"email_address[email]" id=3D= "email_address_email_login_lb" class=3D"input signup_input" onblur=3D"Sc= ribd.login.checkField('/people/check_availability?from=3Dlogin_lb&amp;ic= on=3Dtrue&amp;invalid=3Dtrue', this);"> <div id=3D"availability_email_login_lb" class=3D"alert s= ignup_alert"> </div> = = <label for=3D"word_user_login_login_lb">create username =

(required)</label> <input type=3D"text" maxlength=3D"20" id=3D"word_user_lo= gin_login_lb" class=3D"input last signup_input" name=3D"word_user[login]= " onblur=3D"Scribd.login.checkField('/people/check_availability?from=3D= login_lb&amp;icon=3Dtrue', this);"> = = = <div id=3D"availability_login_login_lb" class=3D"alert s= ignup_alert"> </div> = <label for=3D"word_user_password_login_lb">password (require= d)</label> <input type=3D"password" class=3D"input signup_input" name=3D= "word_user[password]" id=3D"word_user_password_login_lb"> <div class=3D"alert signup_alert"> </div> = <div class=3D"signup_optin"> <table><tr><td style=3D"padding:0"> <input type=3D"checkbox" name=3D"optin" class=3D"che= ckbox" id=3D"optin_login_lb" value=3D"y" checked> </td><td style=3D"padding:0; padding-left:6px"> Send me the Scribd Newsletter, and occasional accoun= t related communications. </td></tr></table> </div> <div class=3D"button_container"> <button class=3D"new_submit" name=3D"sa" onclick=3D"$(&q= uot;signup_spinner&quot;).show(); try{signup_tracking();}catch(e){};" ty= pe=3D"submit"><span class=3D"inner">Sign Up</span></button> = <span class=3D"privacy"><a href=3D"/privacy" onclick=3D"= window.open(this.href);return false;">Privacy policy</a></span> <img alt=3D"Spinner_mac_white" class=3D"spinner" id=3D"s= ignup_spinner" src=3D"http://s5.scribdassets.com/images/spinner_mac_whit= e.gif?1348517579" style=3D"display:none; float: none" /> </div> <div class=3D"signup_disclosure"> You will receive email notifications regarding your account = activity. You can manage these notifications in your account settings. We promise to respect your privacy. </div> </form> </div> = <div class=3D"why"> <h3>Why Sign up?</h3> <ol>

<li> 1. Discover and Connect <div class=3D"sub">With people of similar intere sts</div> </li> <li> 2. Publish Your Documents <div class=3D"sub">Quickly and easily</div> </li> <li> 3. Share Your Reading Interest <div class=3D"sub">On Scribd and social sites li ke Facebook and Twit= ter</div> </li> </ol> </div> = <div class=3D"emptyclear"></div> = <div class=3D"other_options_container_small clearfix"></div> = </div> <p class=3D"login_toggle"><a>Already have a Scribd account?</a></p> <div class=3D"global_login_form form clearfix" style=3D"display:none"> = <form action=3D"/login?from=3Dlogin_lb" class=3D"lightbox_form clear= fix" method=3D"post" name=3D"login_lb_form_login_lb"><div style=3D"margi= n:0;padding:0"><input name=3D"authenticity_token" type=3D"hidden" value=3D= "ddd2916a3a9c25154945141620a6e551e702221c" /></div> <div class=3D"hidden" id=3D"login_form_inner_login_lb"> = </div> <div class=3D"clearfix"> <div class=3D"login_input_container"> <label for=3D"login_or_email">email address or username<= /label> <input type=3D"text" id=3D"login_or_email" class=3D"inpu= t" size=3D"20" name=3D"login_or_email"> </div> = <div class=3D"password_input_container"> <label for=3D"word_user_password_login_lb">password</lab= el> <input type=3D"password" id=3D"word_user_password_login_= lb" class=3D"input" name=3D"login_password" size=3D"20"> </div> </div>

<div class=3D"button_container"> <button class=3D"new_submit" type=3D"submit"><span class=3D"= inner">Log In</span></button> <img alt=3D"Spinner_trans_gray" class=3D"spinner" src=3D"htt= p://s7.scribdassets.com/images/spinner_trans_gray.gif?1348517579" style=3D= "display:none; float:none" /> <a href=3D"javascript:void(0);" class=3D"trouble" onclick=3D= "Scribd.Lightbox.close(&quot;login_lb&quot;);Scribd.Lightbox.open(&quot;= forgot_password_lb&quot;);">Trouble logging in?</a> </div> </form> = </div> </div></div></div><div class=3D"lightbox" id=3D"login_successful_lb" sty= le=3D"display: none"><div class=3D"wrapper"><div class=3D"close_button s= prite close"></div><div class=3D"content"><div class=3D"login_message"><= h3>Login Successful</h3></div><div class=3D"signup_message"><h3>Sign Up = Successful</h3></div><p>Now bringing you back...</p><br /><img alt=3D"Sp= inner_large_mac_white" src=3D"http://s6.scribdassets.com/images/spinner_= large_mac_white.gif?1348517579" /></div></div></div><div class=3D"lightb= ox" id=3D"forgot_password_lb" style=3D"display: none"><div class=3D"wrap= per"><div class=3D"close_button sprite close"></div><div class=3D"title"= >Reset Your Password</div><div class=3D"content"><div id=3D"reset_form" = class=3D"form"> = <div> <a href=3D"#" onclick=3D"Scribd.Lightbox.close(&quot;forgot_= password_lb&quot;); Scribd.Lightbox.open(&quot;login_lb&quot;);; return = false;">&laquo; Back to Login</a> </div> = <p id=3D"embedded_error" class=3D"error"></p> <p>Please enter your email address below to reset your password. We wil= l send you an email with instructions on how to continue.</p> = <form action=3D"/password/forgot" method=3D"post" name=3D"lb_forgot_pa= ssword_form"><div style=3D"margin:0;padding:0"><input name=3D"authentici= ty_token" type=3D"hidden" value=3D"ddd2916a3a9c25154945141620a6e551e7022= 21c" /></div> = <label for=3D"_email">Email Address:</label> <input type=3D"text" class=3D"input" id=3D"_email" name=3D"email" onblu= r=3D"new Ajax.Request('/passwords/check_login_required', {asynchronous:t= rue, evalScripts:true, parameters:'email=3D'+escape(this.value) + '&auth= enticity_token=3D' + encodeURIComponent('ddd2916a3a9c25154945141620a6e55= 1e702221c')})"> = <div id=3D"login_required" style=3D"display:none"> <p>You need to provide a login for this account as well.</p> </div> =

<div id=3D"login_required_2" style=3D"display:none"> <label for=3D"_login">Login</label> <input type=3D"text" name=3D"login" id=3D"_login" class=3D"input " /> </div> = <div class=3D"submit_buttons"> <button class=3D"new_submit reset_password_button" type=3D"submi= t"><span class=3D"inner">Submit</span></button> &nbsp;&nbsp; <img alt=3D"Spinner_mac_white" class=3D"spinner" src=3D"http://s 5.scri= bdassets.com/images/spinner_mac_white.gif?1348517579" style=3D"display:n= one; float:none" /> </div> = </form> = </div> </div></div></div></div> = = = = </div> <div class=3D"autogen_class_views_old_chrome_footer global_foote= r" id=3D"global_footer"><div class=3D"inner"><div class=3D"sprite logo_d= ark_big"></div><div class=3D"social"><a class=3D"sprite twitter_badge" h= ref=3D"http://twitter.com/scribd" title=3D"Follow Scribd on Twitter"></a= ><a class=3D"sprite facebook_badge" href=3D"http://www.facebook.com/page= s/Scribd/6978454082" title=3D"Fan Scribd on Facebook"></a><a class=3D"sp= rite scribd_badge" href=3D"/scribd" title=3D"Subscribe to Scribd's Scrib= d profile"></a></div><div class=3D"columns"><div class=3D"column"><stron= g>About</strong><ul><li><a href=3D"/about">About Scribd</a></li><li><a h= ref=3D"http://blog.scribd.com/">Blog</a></li><li><a href=3D"/jobs">Join = our team!</a></li><li><a href=3D"/contact">Contact Us</a></li></ul></div= ><div class=3D"column"><strong>Advertise with us</strong><ul><li><a href= =3D"/advertise">Get started</a></li><li><div class=3D"sprite ad_choices"= ></div><a href=3D"/adchoices">AdChoices</a></li></ul></div><div class=3D= "column"><strong>Support</strong><ul><li><a href=3D"http://support.scrib= d.com">Help</a></li><li><a href=3D"/faq">FAQ</a></li><li><a href=3D"/sta= tic/press">Press</a></li></ul></div><div class=3D"column"><strong>Partne= rs</strong><ul><li><a href=3D"/partners">Publishers</a></li><li><a href=3D= "/developers">Developers / API</a></li></ul></div><div class=3D"column">= <strong>Legal</strong><ul><li><a href=3D"/terms">Terms</a></li><li><a hr= ef=3D"/privacy">Privacy</a></li><li><a href=3D"/copyright">Copyright</a>= </li></ul></div></div><div class=3D"divider"><div class=3D"divider_botto= m"></div></div><div class=3D"bottom"><div class=3D"copyright">&copy; Cop= yright 2012 Scribd Inc.</div><div class=3D"language_selector_container a= utogen_class_views_new_chrome_language_selector" id=3D"autogen_id_473217= 796"><div class=3D"language_label">Language:</div><div class=3D"language= "><a href=3D"#"></a><div class=3D"sprite black_tri_right"></div></div><d= iv class=3D"language_selector" style=3D"display:none"><div>Choose the la=

nguage in which you want to experience Scribd:</div><ul><li data-id=3D"e= n"><a href=3D"/language?destination=3Dhttps%3A%2F%2Ffanyv88.com%3A443%2Fhttp%2Fwww.scribd.com%2Fdoc%= 2F39288442&amp;id=3Den" class=3D"change_language" rel=3D"nofollow">Engli= sh</a></li><li data-id=3D"es"><a href=3D"/language?destination=3Dhttp%3A= %2F%2Fes.scribd.com%2Fdoc%2F39288442&amp;id=3Des" class=3D"change_langua= ge" rel=3D"nofollow">Espa=C3=B1ol</a></li><li data-id=3D"pt-br"><a href=3D= "/language?destination=3Dhttps%3A%2F%2Ffanyv88.com%3A443%2Fhttp%2Fpt.scribd.com%2Fdoc%2F39288442&amp= ;id=3Dpt-br" class=3D"change_language" rel=3D"nofollow">Portugu=C3=AAs</= a></li></ul></div></div></div></div></div> </div> = <!-- Quantcast Tag --> <script type=3D"text/javascript"> var _qevents =3D _qevents || []; (function() { var elem =3D document.createElement('script'); elem.src =3D (document.location.protocol =3D=3D "https:" ? "https://s= ecure" : "http://edge") + ".quantserve.com/quant.js"; elem.async =3D true; elem.type =3D "text/javascript"; var scpt =3D document.getElementsByTagName('script')[0]; scpt.parentNode.insertBefore(elem, scpt); })(); </script> <script type=3D"text/javascript"> _qevents.push( { qacct:"p-13DPpb-yg8ofc"} ); </script> <noscript> <div style=3D"display: none;"><img src=3D"http://pixel.quantserve.com/pi= xel/p-13DPpb-yg8ofc.gif" height=3D"1" width=3D"1" alt=3D"Quantcast"/></d= iv> </noscript> <!-- End Quantcast tag --> <script style=3D"text/javascript"> Scribd.Facebook.scribdSessionActive =3D false; Scribd.Facebook.serverEnableInstantConnect =3D Scribd.getOption("FBA= utoLoginEnabled", false); Scribd.Facebook.sessionEnableInstantConnect =3D true; Scribd.Facebook.requestEnableInstantConnect =3D true; Scribd.Facebook.beforeFacebookInitialize(); Scribd.Request =3D { referrer: 'http://www.google.com/url?sa=3Dt&rct=3Dj&q=3Dtecnost%= 20za%20stakla%20astra%20g%20karavan&source=3Dweb&cd=3D5&cad=3Drja&ved=3D= 0CEwQFjAE&url=3Dhttps%3A%2F%2Ffanyv88.com%3A443%2Fhttp%2Fsr.scribd.com%2Fdoc%2F39288442%2FAstra-G-Ma= nual-Srpski&ei=3DN89gUJO2IYzRsgbzwYDwCw&usg=3DAFQjCNH9hk0GotYBsLUSh228fN= AfeX2ptQ', controller: 'newdoc', action: 'show' }; // This calls the initialization once Facebook libraries are loaded window.fbAsyncInit =3D Scribd.Facebook.initializeConnect.bind(Scribd= .Facebook); </script>

<div id=3D"fb-root"></div> = = <script type=3D"text/javascript">if (!NREUMQ.f) { NREUMQ.f=3Dfunctio= n() { NREUMQ.push(["load",new Date().getTime()]); var e=3Ddocument.createElement("script"); e.type=3D"text/javascript";e.async=3Dtrue;e.src=3D"https://d1ros97qkrwjf= 5.cloudfront.net/42/eum/rum.js"; document.body.appendChild(e); if(NREUMQ.a)NREUMQ.a(); }; NREUMQ.a=3Dwindow.onload;window.onload=3DNREUMQ.f; }; NREUMQ.push(["nrfj","beacon-3.newrelic.com","a3dc4ea499",16587,"clZeFxYO= CQhTQhhZAUZdXwBLEg0LQQ=3D=3D",1,1403,new Date().getTime(),"","","","",""= ])</script> = <script type=3D"text/javascript"> = document.observe("dom:loaded", function(e) { (new Scribd.LanguageSelector({widget_dom_id: "autogen_id_4732361= 94"})).onDomLoaded(e); }); = Scribd.UI.sticky_bar =3D new Scribd.UI.StickyBar("autogen_id_47323= 5614", "document_column", "sidebar"); = document.observe('Scribd:Readcast:FacebookAutoShare:started', func= tion() { autoshare =3D Scribd.Readcast.active_events['facebook']; Scribd.UI.sharer =3D new Scribd.UI.Sharer("autogen_id_473234870"= , "viewer", autoshare); }); = document.observe("dom:loaded", function() { Scribd.Pingback.run(["/", "d", "o", "c", "u", "m", "e", "n", "t"= , "s", "/", "3", "9", "2", "8", "8", "4", "4", "2", "/", "p", "i", "n", = "g", "b", "a", "c", "k"].join('')); }); = var reflow_quality_good =3D false;

var show_reflow =3D false; Scribd.logged_in =3D false; $("autogen_id_473222618").observe("click", function(e) { if (e.findElement(".log_in")) { Scribd.login.open({context: "join2"}); } else if (e.findElement(".sign_up")) { Scribd.login.open({context: "join"}); } else { return; } e.stop(); }); = Scribd.Lightbox.initialize(); $('word_user_login_login_lb').observe('keypress', Sc= ribd.restrictCharactersForUsername); = Event.observe(window, 'load', function(){ $(document.forms.lb_forgot_password_form).observe('submit', Scri bd.log= in.sendForm); }); = Scribd.login =3D new Scribd.loginManager(); = document.observe("dom:loaded", function(e) { (new Scribd.LanguageSelector({widget_dom_id: "autogen_id_4732177= 96"})).onDomLoaded(e); }); = // Load the FB JS API Asychronously document.observe('dom:loaded', function() { var e =3D document.createElement('script'); e.async =3D true; e.src =3D document.location.protocol + '//connect.facebook.net/e= n_US/all.js'; document.getElementById('fb-root').appendChild(e); if (document.cookie.match('user_forced_logout=3Dtrue')) { $$('.facepile_wrap').invoke('hide'); } }); // Handle DOM updates to re-parse FBML tags document.observe('Scribd:dom_updated', function(e){ if(window.FB && FB.XFBML) FB.XFBML.parse(); }); var facebookUser =3D false; =

Event.observe(window, 'load', function() { new Scribd.AdHider(); }); Scribd.I18n =3D new Scribd.I18nManager(); = </script> =

= <script type=3D"text/javascript"> Event.observe(document, 'dom:loaded', function(event) { (new Scribd.Facebook.LoginButton({"widget_dom_id":"autogen_i= d_473218739"})).onDomLoaded(event); Event.fire(document, 'Scribd:widgets_loaded', event); }); </script> = = = <div class=3D"killme"> <!-- Start xGraph --> <script type=3D"text/javascript"> var xgJsHost =3D (("https:" =3D=3D document.location.protocol) ? "http= s://sxcdn." : "http://xcdn."); var refValue =3D ""; try {refValue =3D top.document.referrer;} catch (xgErr) {refValue =3D = "";} var params =3D "pid=3D14345&sid=3D83112&pcid=3Dsite&type=3Dus&ref=3D"+= escape(refValue)+"&dref=3D"+escape(document.referrer); var var var var browser_id =3D null; scribd_user_id =3D null; hashed_facebook_id =3D null; search_query =3D 'tecnost za stakla astra g karavan';

if (browser_id) params +=3D '&p_bid=3D' + escape(browser_id); if (scribd_user_id) params +=3D '&p_lid=3D' + escape(scribd_user_id); if (hashed_facebook_id) params +=3D '&hfid=3D' + escape(hashed_facebook_id); if (search_query) params +=3D '&p_qry=3D' + escape(search_query); document.write(unescape("%3Cimg src=3D'"+xgJsHost+"xgraph.net/14345/us= /xg.gif?")+params+unescape("' class=3D'ad_img' width=3D'0' height=3D'0'%= 3E%3C/img%3E"));

</script> <!-- End xGraph --> <!-- Begin BlueKai Tag --> <iframe name=3D"__bkframe" height=3D"0" width=3D"0" frameborder=3D"0" sr= c=3D"javascript:void(0)"></iframe> <script type=3D"text/javascript" src=3D"http://www.bkrtx.com/js/bk-stati= c.js"></script> <script type=3D"text/javascript"> // INSERT DATA HERE IN THE FORM: // bk_addPageCtx("SOMEKEY", "SOMEVALUE"); // bk_addUserCtx("SOMEKEY", "SOMEVALUE") bk_addUserCtx("UserState","Out"); bk_addPageCtx("Language", "srp"); bk_addPageCtx("Extension", "pdf"); bk_addPageCtx("IAB_M-Z", "Uncategorized"); //Do geotargeting here Scribd.geoModule(function (code) { //code refers to country code var TARGETED_COUNTRIES =3D { 'GB' : 5692, 'AU' : 5694, 'CA' : 5693, 'DE' : 6228, 'IT' : 6226, 'FR' : 6224, 'BR' : 6222, 'ES' : 6230, 'NL' : 6232, 'MX' : 6234, 'AR' : 6239, 'RU' : 6237, 'NZ' : 6241, 'JP' : 6243, 'CL' : 6245, 'US' : 4072 }; if (TARGETED_COUNTRIES[code]) { bk_doJSTag(TARGETED_COUNTRIES[code],4); } else { bk_doJSTag(6638,4); } }); </script> <!-- End BlueKai Tag --> <!-- Begin InfoLinks Tag --> <script type=3D"text/javascript"> if(Scribd.Ads.enabled && Scribd.Ads.attributes.AdLayout[0] !=3D=3D 0) = { var infolink_pid =3D 469269; var infolink_wsid =3D 0; writeScript("http://resources.infolinks.com/js/infolinks_main.js"); } </script> <!-- End InfoLinks Tag -->

<!-- Begin Chango Tag --> <script type=3D"text/javascript"> var __chd__ =3D {"aid":11071,"chaid":"scribd_com"};(function() { var c= =3D document.createElement('script'); c.type =3D 'text/javascript'; c.a= sync =3D true;c.src =3D ('https:' =3D=3D document.location.protocol ? 'h= ttps://z': 'http://p') + '.chango.com/static/c.js'; var s =3D document.g= etElementsByTagName('script')[0]; s.parentNode.insertBefore(c, s);})(); </script> <!-- End Chango Tag --> <!-- Begin Rapleaf Tag --> <iframe name=3D"_rlcdn" width=3D0 height=3D0 frameborder=3D0 src=3D"http= ://rc.rlcdn.com/350041.html"></iframe> <!-- End Rapleaf Tag --> </div> <script type=3D"text/javascript">$perf.registerOnload();</script> </body> </html> <!-- Served by app12 in 1.403 secs. cpu: 0.410 --> ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/png Content-Location: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAABsCAYAAABt lo7xAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2wwUFTg2bG4j fAAAA3dJREFUeNrt3c9qXHUUwPFz70wnxsmM5l9NalvRnYiLQoLu+gC+go/jAwg+hSUrF7oTcedCrGAJ BYt1I6JNGqKSf3N/x4Wu7MpFQg58Po9w4Mv53bn3zu0+//Lru6/MZ58sTSYfdNGNArj2xn+dnD548+6d 9+7c3o7MLjLSVOC6h/vs4Pnu9vZWnJ4vojXRQolwI6If2hCLYTANKBRutJa2LVQLN1tGa800oFK4Qxti cFQGGxewcYH/htuGjGGwcaFWuDnE0GxcqHVUHpqjMlQKNyMi2xBNuFBr4y5axsI1LlQKN6M5KkO9jdvc DoKK4XoAA2xc4PLDHZprXCgXbrbmqAylws2IoWUMwoWCG9d9XCgWbmRktEh/ggE1wm2ZMblxI/quj0Ub ItUL1z/c2cr014PDo63ZyjTy32OzdOF66/afPP3o4Q/7Hx4dH988P79YNhIoEO7RnydvjcbjT/u+f7vv +6mRQIGj8sNH+4v5dPrLZDK+F9GZCFQI9+z8Ym+2Ndu9tbUZ0XXhAhcKhHt4dLzz/s5GDC19NwiqhJuZ nV+SoVi4ERHNvVsotnEjPHQBJTeuFwygYrg2LhQLN6OljQvlNm46KoNrXOCyw83w7xfgqAxcSbiDX5Wh VrjpGhdqblzhgnCByw83/TgFNi5wNeF6OwiKhZs2LpTcuN7HhZLXuMKFUuFmZqTX+qBWuJsb6/HbwfNY nc9jPB6ZCBTQHf5x8tX3+4/v//7sME5OT00EKoR7ssjNiPg4Iu5HxOtGAgWOyg8++2I5IlYiYss4oEi4 o9Fob3U23V2dz0wDqoTbWttZe3VuElAp3O4fJgGVwo2I6IUL9cLt+t4koNRROSL6TrhQ76jcOypDwXBt XKgVbidcsHGBqwi3Ey7YuIBwgRfD7YQLNTfuSLjgqAxcSbienIJa4XoAA2puXG8HQblwO28HgWtcwFEZ eDHcbM1f10C1cDfW1+Lxk6fxxu1b8dLSkolAAT5BAhXD9QkSKHhU/ubb75bn0+nKZDLeinCtCyXCPTu/ 2Fu++fLuaxvrpgFVwj08Ot659+47sWgt0ofpoUa4LbPLiAjRQhmevADhAsIFhAvCBYQLCBeECwgXEC4I FxAuIFxAuCBcQLiAcEG4gHCB/xtutmYKUC3cjfW1+PGnn+P07Mw0oAifIIGK4foECdTzNwpkbjluU6vP AAAAAElFTkSuQmCC Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAO4AAABsCAYAAABtlo7xAAAABmJLR0QA/wD/AP+g vaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2wwUFTg2bG4jfAAAA3dJ REFUeNrt3c9qXHUUwPFz70wnxsmM5l9NalvRnYiLQoLu+gC+go/jAwg+hSUrF7oT cedCrGAJBYt1I6JNGqKSf3N/x4Wu7MpFQg58Po9w4Mv53bn3zu0+//Lru6/MZ58s TSYfdNGNArj2xn+dnD548+6d9+7c3o7MLjLSVOC6h/vs4Pnu9vZWnJ4vojXRQolw I6If2hCLYTANKBRutJa2LVQLN1tGa800oFK4QxticFQGGxewcYH/htuGjGGwcaFW uDnE0GxcqHVUHpqjMlQKNyMi2xBNuFBr4y5axsI1LlQKN6M5KkO9jdvcDoKK4XoA A2xc4PLDHZprXCgXbrbmqAylws2IoWUMwoWCG9d9XCgWbmRktEh/ggE1wm2ZMblx I/quj0UbItUL1z/c2cr014PDo63ZyjTy32OzdOF66/afPP3o4Q/7Hx4dH988P79Y NhIoEO7RnydvjcbjT/u+f7vv+6mRQIGj8sNH+4v5dPrLZDK+F9GZCFQI9+z8Ym+2 Ndu9tbUZ0XXhAhcKhHt4dLzz/s5GDC19NwiqhJuZnV+SoVi4ERHNvVsotnEjPHQB JTeuFwygYrg2LhQLN6OljQvlNm46KoNrXOCyw83w7xfgqAxcSbiDX5WhVrjpGhdq blzhgnCByw83/TgFNi5wNeF6OwiKhZs2LpTcuN7HhZLXuMKFUuFmZqTX+qBWuJsb 6/HbwfNYnc9jPB6ZCBTQHf5x8tX3+4/v//7sME5OT00EKoR7ssjNiPg4Iu5HxOtG

AgWOyg8++2I5IlYiYss4oEi4o9Fob3U23V2dz0wDqoTbWttZe3VuElAp3O4fJgGV wo2I6IUL9cLt+t4koNRROSL6TrhQ76jcOypDwXBtXKgVbidcsHGBqwi3Ey7YuIBw gRfD7YQLNTfuSLjgqAxcSbienIJa4XoAA2puXG8HQblwO28HgWtcwFEZeDHcbM1f 10C1cDfW1+Lxk6fxxu1b8dLSkolAAT5BAhXD9QkSKHhU/ubb75bn0+nKZDLeinCt CyXCPTu/2Fu++fLuaxvrpgFVwj08Ot659+47sWgt0ofpoUa4LbPLiAjRQhmevADh AsIFhAvCBYQLCBeECwgXEC4IFxAuIFxAuCBcQLiAcEG4gHCB/xtutmYKUC3cjfW1 +PGnn+P07Mw0oAifIIGK4foECdTzNwpkbjluU6vPAAAAAElFTkSuQmCC ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/png Content-Location: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAABsCAYAAACv iggwAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2wwUFgQuDrd8 jAAAAetJREFUOMvlkkFrE1EUhc89M0LR1DahGhHduZOCCP4E/2yXgrh15UIKakGFWpXYDiaaVtM0JunM vcfFzDSTGsG9b/dx7n3vnvOu7b55q9l8fvTzdPzYxr9m6h1leL9/0Oe8KNC9sYWT0aibFu4wCXnulkYI JgEA0ogAUYG7Q2YLxWpwdxhZQ1MJBwNVjzuCpcJwh6KUWHjAvQIPR9SKeyBCVU9EU3GEmlAry2URkOoL PBaPhqKyBjAhcSVNYADYunYVw5MROu3NnHvv9nE6PssfPdh+immhfFrow7RQNz34+Cmdn+dr48mkbeNZ rqzfR+9LNqAkbHU6GJ1NuoxqgqJwMCREPY4kQKvMRahhW9HoiaaFy069DmSpzEPwZoirL1iC8oKVszUt RMTiFyQ1sm5akMpHzQzpeV7gZHSKWze3wGwwxHqrhYfb93vL8e48eZYCWAPQ5r27t9HZWL+TJMlzMiHa 19dBsy7NDKy2KqUZUC+fkbDqg1MaIauBBqHuIS/2oAT9HfQvUKeTJpcVLsDAah6SBI2NqVnlRiNoF2UL pyzLWJcZDICZwbLvP/T5MEOe5+CL3ddw9xXxLm3v8XiiwbchDrOvA3oIG5sb5fZKAIRye9E4/xlIVby9 /rF6RxncHXz5ag+S/oz3N7SEuTECM04pAAAAAElFTkSuQmCC Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAMAAABsCAYAAACviggwAAAABmJLR0QA/wD/AP+g vaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2wwUFgQuDrd8jAAAAetJ REFUOMvlkkFrE1EUhc89M0LR1DahGhHduZOCCP4E/2yXgrh15UIKakGFWpXYDiaa VtM0JunMvcfFzDSTGsG9b/dx7n3vnvOu7b55q9l8fvTzdPzYxr9m6h1leL9/0Oe8 KNC9sYWT0aibFu4wCXnulkYIJgEA0ogAUYG7Q2YLxWpwdxhZQ1MJBwNVjzuCpcJw h6KUWHjAvQIPR9SKeyBCVU9EU3GEmlAry2URkOoLPBaPhqKyBjAhcSVNYADYunYV w5MROu3NnHvv9nE6PssfPdh+immhfFrow7RQNz34+Cmdn+dr48mkbeNZrqzfR+9L NqAkbHU6GJ1NuoxqgqJwMCREPY4kQKvMRahhW9HoiaaFy069DmSpzEPwZoirL1iC 8oKVszUtRMTiFyQ1sm5akMpHzQzpeV7gZHSKWze3wGwwxHqrhYfb93vL8e48eZYC WAPQ5r27t9HZWL+TJMlzMiHa19dBsy7NDKy2KqUZUC+fkbDqg1MaIauBBqHuIS/2 oAT9HfQvUKeTJpcVLsDAah6SBI2NqVnlRiNoF2ULpyzLWJcZDICZwbLvP/T5MEOe 5+CL3ddw9xXxLm3v8XiiwbchDrOvA3oIG5sb5fZKAIRye9E4/xlIVby9/rF6Rxnc HXz5ag+S/oz3N7SEuTECM04pAAAAAElFTkSuQmCC ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/gif Content-Location: data:image/gif;base64,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 /uMFBwgBADs= Content-Transfer-Encoding: Base64 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 BpZjIG73/uMFBwgBADs= ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/png Content-Location: http://s5.scribdassets.com/images/newhome/icon-sprite.png?1348 517579 Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAHgAAADVCAYAAACc5jTiAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAA AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6 eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8x Mi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRv YmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20v eGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRv YmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0i eG1wLmlpZDowQzk1MEVFMERGNEQxMUUxQThCOEFBQUZGQzk3NEEzRCIgeG1wTU06 RG9jdW1lbnRJRD0ieG1wLmRpZDowQzk1MEVFMURGNEQxMUUxQThCOEFBQUZGQzk3 NEEzRCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAu aWlkOjU3NjIxMDc1REYzOTExRTFBOEI4QUFBRkZDOTc0QTNEIiBzdFJlZjpkb2N1 bWVudElEPSJ4bXAuZGlkOjU3NjIxMDc2REYzOTExRTFBOEI4QUFBRkZDOTc0QTNE Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8 P3hwYWNrZXQgZW5kPSJyIj8+wAYNZwAAHm5JREFUeNrtnQ2QHMV1gE/ETmyMXYtJ 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 AAAAAElFTkSuQmCC ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/png Content-Location: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAABy Dd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9i ZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlk Ij8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBD b3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpS REYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4g PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29t L3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1s bnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHht cDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFu Y2VJRD0ieG1wLmlpZDpDMzgzMzRFOUI0MUUxMUUxQkRDN0JFNjYwM0M2OEQ3NiIgeG1wTU06RG9jdW1l bnRJRD0ieG1wLmRpZDpDMzgzMzRFQUI0MUUxMUUxQkRDN0JFNjYwM0M2OEQ3NiI+IDx4bXBNTTpEZXJp dmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkMzODMzNEU3QjQxRTExRTFCREM3QkU2NjAz QzY4RDc2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkMzODMzNEU4QjQxRTExRTFCREM3QkU2NjAz QzY4RDc2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNr ZXQgZW5kPSJyIj8+B/ldWAAAATNJREFUSMft1c1xwyAQhuEXWdBIlGqccpye0lfSx5eDQCw/UhxH0uRg LmaGEQ/ssmsniTTe314HkJcUJIKU5gqCNPeSAvW68CLN5avvPfAJfDgLOue4XSdn0PmXvAkGLTZlQbrr SF7w1YDzTScnaVw+iCBrG2JuWa2TDxQkfBdM43Z9GQUerW+4AtoDFuubYEQvFPmrbkmZq27Yybn+EYzo kFGD0+SpjUJ5oPtAk1df3JLlRuVrXV5281rvBw16iWEyUBvWDJbrvwKrvPbLY6MmeRSc0WmAbpF3azK9 2IfBiLpuZzJgHfY/gRtNIlDV5G5g0SRizbFWsyLsBnaaRLcmdwVjiAdzozKsR4DbTULHgNVjMv82B4I2 ryI39MPBukmcAhp0PA1MeS3AM8YTfIL/H/wG+n3QYvMNT7IAAAAASUVORK5CYII= Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAA

AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6 eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8x Mi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRv YmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20v eGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRv YmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0i eG1wLmlpZDpDMzgzMzRFOUI0MUUxMUUxQkRDN0JFNjYwM0M2OEQ3NiIgeG1wTU06 RG9jdW1lbnRJRD0ieG1wLmRpZDpDMzgzMzRFQUI0MUUxMUUxQkRDN0JFNjYwM0M2 OEQ3NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAu aWlkOkMzODMzNEU3QjQxRTExRTFCREM3QkU2NjAzQzY4RDc2IiBzdFJlZjpkb2N1 bWVudElEPSJ4bXAuZGlkOkMzODMzNEU4QjQxRTExRTFCREM3QkU2NjAzQzY4RDc2 Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8 P3hwYWNrZXQgZW5kPSJyIj8+B/ldWAAAATNJREFUSMft1c1xwyAQhuEXWdBIlGqc cpye0lfSx5eDQCw/UhxH0uRgLmaGEQ/ssmsniTTe314HkJcUJIKU5gqCNPeSAvW6 8CLN5avvPfAJfDgLOue4XSdn0PmXvAkGLTZlQbrrSF7w1YDzTScnaVw+iCBrG2Ju Wa2TDxQkfBdM43Z9GQUerW+4AtoDFuubYEQvFPmrbkmZq27Yybn+EYzokFGD0+Sp jUJ5oPtAk1df3JLlRuVrXV5281rvBw16iWEyUBvWDJbrvwKrvPbLY6MmeRSc0WmA bpF3azK92IfBiLpuZzJgHfY/gRtNIlDV5G5g0SRizbFWsyLsBnaaRLcmdwVjiAdz ozKsR4DbTULHgNVjMv82B4I2ryI39MPBukmcAhp0PA1MeS3AM8YTfIL/H/wG+n3Q YvMNT7IAAAAASUVORK5CYII= ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/png Content-Location: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAABy Dd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9i ZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlk Ij8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBD b3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpS REYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4g PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29t L3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1s bnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHht cDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFu Y2VJRD0ieG1wLmlpZDowN0Q3QzVDQkJDQTYxMUUxQkZGM0EwNTc1QThEMjk3NiIgeG1wTU06RG9jdW1l bnRJRD0ieG1wLmRpZDowN0Q3QzVDQ0JDQTYxMUUxQkZGM0EwNTc1QThEMjk3NiI+IDx4bXBNTTpEZXJp dmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjA3RDdDNUM5QkNBNjExRTFCRkYzQTA1NzVB OEQyOTc2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjA3RDdDNUNBQkNBNjExRTFCRkYzQTA1NzVB OEQyOTc2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNr ZXQgZW5kPSJyIj8+eCFvAAAAAUVJREFUSMftlVsSgjAMRa2Km/axHtci7kL/1BXQpLaFQJMWiyKMH2bG AVvlcG8eVcaYBcX+/FgCYKEBNv6jwd9Xwb27VnJf+++0735faL5WoDEXiziqEKiUWuzLuwJ0UKz/oAUw hAYPrboX8mtsv7na514jYKNUIeBaI1MRA/tV9ipPAim2p9uaLJa2JtZqK4UyufYS6GJX3lfgLcLI1pSy hNWhrZsssIFSMeUKKsxfUvkgoM9r+WiKSdiWKxihfDDQxeHsoataJfapeNkqbwG7YrJ5Rd4qUmUif17l R8Agr7FtY9oiF2xIJGz9qC2yUJdXOyQAeguGjbrRQDEkkirDF/kakIZEpwzHt8XAvC51d+JwlVMARTFF tk4CbE8ctCdOWzA1fDIgGxLUn9+s0qFDYhYgQd2hPhuQ8sqAc8Qf+Af+PvAJfGJrbeLAFgEAAAAASUVO RK5CYII= Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAA AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6 eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8x Mi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRv

YmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20v eGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRv YmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0i eG1wLmlpZDowN0Q3QzVDQkJDQTYxMUUxQkZGM0EwNTc1QThEMjk3NiIgeG1wTU06 RG9jdW1lbnRJRD0ieG1wLmRpZDowN0Q3QzVDQ0JDQTYxMUUxQkZGM0EwNTc1QThE Mjk3NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAu aWlkOjA3RDdDNUM5QkNBNjExRTFCRkYzQTA1NzVBOEQyOTc2IiBzdFJlZjpkb2N1 bWVudElEPSJ4bXAuZGlkOjA3RDdDNUNBQkNBNjExRTFCRkYzQTA1NzVBOEQyOTc2 Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8 P3hwYWNrZXQgZW5kPSJyIj8+eCFvAAAAAUVJREFUSMftlVsSgjAMRa2Km/axHtci 7kL/1BXQpLaFQJMWiyKMH2bGAVvlcG8eVcaYBcX+/FgCYKEBNv6jwd9Xwb27VnJf +++0735faL5WoDEXiziqEKiUWuzLuwJ0UKz/oAUwhAYPrboX8mtsv7na514jYKNU IeBaI1MRA/tV9ipPAim2p9uaLJa2JtZqK4UyufYS6GJX3lfgLcLI1pSyhNWhrZss sIFSMeUKKsxfUvkgoM9r+WiKSdiWKxihfDDQxeHsoataJfapeNkqbwG7YrJ5Rd4q UmUif17lR8Agr7FtY9oiF2xIJGz9qC2yUJdXOyQAeguGjbrRQDEkkirDF/kakIZE pwzHt8XAvC51d+JwlVMARTFFtk4CbE8ctCdOWzA1fDIgGxLUn9+s0qFDYhYgQd2h PhuQ8sqAc8Qf+Af+PvAJfGJrbeLAFgEAAAAASUVORK5CYII= ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/png Content-Location: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAABy Dd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9i ZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlk Ij8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBD b3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpS REYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4g PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29t L3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1s bnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHht cDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFu Y2VJRD0ieG1wLmlpZDo5OTU0NkVCOEIyNzgxMUUxOTRDN0VDM0JCMjVGNzE2MyIgeG1wTU06RG9jdW1l bnRJRD0ieG1wLmRpZDo5OTU0NkVCOUIyNzgxMUUxOTRDN0VDM0JCMjVGNzE2MyI+IDx4bXBNTTpEZXJp dmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjQyMjc1MjBCQjI3MDExRTE5NEM3RUMzQkIy NUY3MTYzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjQyMjc1MjBDQjI3MDExRTE5NEM3RUMzQkIy NUY3MTYzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNr ZXQgZW5kPSJyIj8+hfVJVgAAAVNJREFUSMft1U1Sg0AQBeA3UYP83M4q9A7uvEay9xrewE30LJZ3oF8W zAwzTA8mCKzCBqoL+HqmX4ghCQA4fr8YkIUIawpre25EWLPrz30NUc3e27hnpPPXTfCeHwBv76+fH8aB xhgAwOHU7knW0mH8kArZWnjv8EzUKEsATwkIAIev9p6CAeqSlWiQv3ei0V8VtOgdBVUE5LdMh5RGs6BF dxSU/RYrXQ9QUss1Ogn26LMh+cjgpRk8Wn1aw2WgQ0Huk5X4OWICihu9CPTwqX0gbXq7ERDUFMhfXwUq CQ6hAVBqs0ElwepvbzxbV5sF2rnuKHQJTmcbQ76p2aCS4Pxsgzn+C5xIsIUQrV6WACcSHEL+g7AYGCS4 yoRo2RWOPofVeHsdvjgYhKmk8q+yCggAxx4txl+e1cAgTMWqM/wjwfUmYJjgzUCXYA9uddzAG3j1cQb4 SpKnk5H+HQAAAABJRU5ErkJggg== Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAA AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6 eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8x Mi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRv YmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20v eGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRv YmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0i eG1wLmlpZDo5OTU0NkVCOEIyNzgxMUUxOTRDN0VDM0JCMjVGNzE2MyIgeG1wTU06 RG9jdW1lbnRJRD0ieG1wLmRpZDo5OTU0NkVCOUIyNzgxMUUxOTRDN0VDM0JCMjVG

NzE2MyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAu aWlkOjQyMjc1MjBCQjI3MDExRTE5NEM3RUMzQkIyNUY3MTYzIiBzdFJlZjpkb2N1 bWVudElEPSJ4bXAuZGlkOjQyMjc1MjBDQjI3MDExRTE5NEM3RUMzQkIyNUY3MTYz Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8 P3hwYWNrZXQgZW5kPSJyIj8+hfVJVgAAAVNJREFUSMft1U1Sg0AQBeA3UYP83M4q 9A7uvEay9xrewE30LJZ3oF8WzAwzTA8mCKzCBqoL+HqmX4ghCQA4fr8YkIUIawpr e25EWLPrz30NUc3e27hnpPPXTfCeHwBv76+fH8aBxhgAwOHU7knW0mH8kArZWnjv 8EzUKEsATwkIAIev9p6CAeqSlWiQv3ei0V8VtOgdBVUE5LdMh5RGs6BFdxSU/RYr XQ9QUss1Ogn26LMh+cjgpRk8Wn1aw2WgQ0Huk5X4OWICihu9CPTwqX0gbXq7ERDU FMhfXwUqCQ6hAVBqs0ElwepvbzxbV5sF2rnuKHQJTmcbQ76p2aCS4Pxsgzn+C5xI sIUQrV6WACcSHEL+g7AYGCS4yoRo2RWOPofVeHsdvjgYhKmk8q+yCggAxx4txl+e 1cAgTMWqM/wjwfUmYJjgzUCXYA9uddzAG3j1cQb4SpKnk5H+HQAAAABJRU5ErkJg gg== ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/png Content-Location: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAABy Dd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9i ZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlk Ij8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBD b3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpS REYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4g PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29t L3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1s bnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHht cDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFu Y2VJRD0ieG1wLmlpZDoxNzUwRTQzRkIyNkIxMUUxOTRDN0VDM0JCMjVGNzE2MyIgeG1wTU06RG9jdW1l bnRJRD0ieG1wLmRpZDoxNzUwRTQ0MEIyNkIxMUUxOTRDN0VDM0JCMjVGNzE2MyI+IDx4bXBNTTpEZXJp dmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE3NTBFNDNEQjI2QjExRTE5NEM3RUMzQkIy NUY3MTYzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE3NTBFNDNFQjI2QjExRTE5NEM3RUMzQkIy NUY3MTYzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNr ZXQgZW5kPSJyIj8+iEGhnAAAASxJREFUSMft1VESgiAQBmCwDKnD1ik6WV2h6TYbKuDPsmiZOj3EjCMp zIfssmkiUqHdL6edImVct+ku6u6GyP8envm+NvxZHOvnQv/hrqtGUGutbudj5QYcOEB93whoGGcKKL5/ ZmDbHNp2ajfIdqtM0QwANADtHEuKLdDdRTA0B9ewNTYglK/cxu1lAEdHQY/uhK1pxLj2aLIrHo1zJ0GP VkIyTcXVxJDAAt8CIa6GAyyukJmaP7NvfyFDa5YcKYpIQD+JYQHeS0Ahrsl5nAVCMuVxzQ98g186G4Rk KhUJ8bx+BUJcD0PcisnUvf8aFIrE6HldDIRkkuIaC8KiIMQ1Sxxa4wsLRWKowWolUCwStMCxmFMkVgd5 kdgExH+czcAQ1wTcov3BP/j74AtgYfGDwMMhEQAAAABJRU5ErkJggg== Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAA AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6 eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8x Mi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRv YmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20v eGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRv YmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0i eG1wLmlpZDoxNzUwRTQzRkIyNkIxMUUxOTRDN0VDM0JCMjVGNzE2MyIgeG1wTU06 RG9jdW1lbnRJRD0ieG1wLmRpZDoxNzUwRTQ0MEIyNkIxMUUxOTRDN0VDM0JCMjVG NzE2MyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAu aWlkOjE3NTBFNDNEQjI2QjExRTE5NEM3RUMzQkIyNUY3MTYzIiBzdFJlZjpkb2N1 bWVudElEPSJ4bXAuZGlkOjE3NTBFNDNFQjI2QjExRTE5NEM3RUMzQkIyNUY3MTYz Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8 P3hwYWNrZXQgZW5kPSJyIj8+iEGhnAAAASxJREFUSMft1VESgiAQBmCwDKnD1ik6 WV2h6TYbKuDPsmiZOj3EjCMpzIfssmkiUqHdL6edImVct+ku6u6GyP8envm+NvxZ

HOvnQv/hrqtGUGutbudj5QYcOEB93whoGGcKKL5/ZmDbHNp2ajfIdqtM0QwANADt HEuKLdDdRTA0B9ewNTYglK/cxu1lAEdHQY/uhK1pxLj2aLIrHo1zJ0GPVkIyTcXV xJDAAt8CIa6GAyyukJmaP7NvfyFDa5YcKYpIQD+JYQHeS0Ahrsl5nAVCMuVxzQ98 g186G4RkKhUJ8bx+BUJcD0PcisnUvf8aFIrE6HldDIRkkuIaC8KiIMQ1Sxxa4wsL RWKowWolUCwStMCxmFMkVgd5kdgExH+czcAQ1wTcov3BP/j74AtgYfGDwMMhEQAA AABJRU5ErkJggg== ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/png Content-Location: http://s5.scribdassets.com/images/newdoc/DocPagePattern.png?13 48517579 Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAVAAAAAnCAIAAADW2odDAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAA AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6 eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8x Mi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRv YmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20v eGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRv YmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0i eG1wLmlpZDpBNzJBRjQ1QkNBQkYxMUUxOEQ5NUVCQjdCOUE2Rjk4OSIgeG1wTU06 RG9jdW1lbnRJRD0ieG1wLmRpZDpBNzJBRjQ1Q0NBQkYxMUUxOEQ5NUVCQjdCOUE2 Rjk4OSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAu aWlkOkE3MkFGNDU5Q0FCRjExRTE4RDk1RUJCN0I5QTZGOTg5IiBzdFJlZjpkb2N1 bWVudElEPSJ4bXAuZGlkOkE3MkFGNDVBQ0FCRjExRTE4RDk1RUJCN0I5QTZGOTg5 Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8 P3hwYWNrZXQgZW5kPSJyIj8+KlQhFgAAKydJREFUeNrEXYm2HNdt7G3mUf//W3Yc 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 RK5CYII= ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/png Content-Location: http://s5.scribdassets.com/images/newdoc/icon-sprite.png?13485 17579 Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAEgAAAEiCAYAAABa9ZTPAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAA AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6 eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8x Mi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5h ZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRv YmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0 dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1l bnRJRD0ieG1wLmRpZDowMzgwMTE3NDA3MjA2ODExOUZGNDlFMDM1MDdEQTI0QSIg eG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyRTAzMzBGMUQ0NDYxMUUxQTcxQ0JB OEFBNzBGMDcyNiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyRTAzMzBGMEQ0 NDYxMUUxQTcxQ0JBOEFBNzBGMDcyNiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQ aG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0 UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDg4MDExNzQwNzIwNjgxMTlGRjQ5RTAz NTA3REEyNEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDM4MDExNzQwNzIw NjgxMTlGRjQ5RTAzNTA3REEyNEEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRm 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 AElFTkSuQmCC ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/png Content-Location: http://s5.scribdassets.com/images/newhome/image-overlay105x140 -med.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAGkAAACMCAYAAAB/C4cLAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAA AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6 eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8x Mi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRv YmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20v eGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRv YmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0i eG1wLmlpZDpBMEZBNzc1RkFEOUYxMUUxQjFGNzg3RjU2RDI4NkU0QyIgeG1wTU06 RG9jdW1lbnRJRD0ieG1wLmRpZDpBMEZBNzc2MEFEOUYxMUUxQjFGNzg3RjU2RDI4 NkU0QyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAu aWlkOkEwRkE3NzVEQUQ5RjExRTFCMUY3ODdGNTZEMjg2RTRDIiBzdFJlZjpkb2N1 bWVudElEPSJ4bXAuZGlkOkEwRkE3NzVFQUQ5RjExRTFCMUY3ODdGNTZEMjg2RTRD Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8 P3hwYWNrZXQgZW5kPSJyIj8+Artk2gAAKrlJREFUeNrt3dePJFm1LvCIyKzqajcW N4bBDjB47733iAEBDwgd7sN9OG9I98/gAYkHJHgAIYQQCA/Ce++9997N4KanXaU5 67dyr6LoO8zp6aruru7KnMnOzHAZtb/9fetba++I7Ofzefe3v/3tvw8fPtz1XT+d z2ez6XQ6m83n06Hv42Uey+aTWT7mk3k3n0wn01nXzddt1nWdZdPpZDKJ915in1g2 z+2nsSxeFv93fd+NR2Nr5qurq/NhNMQO07lvG49Hc4/Yfj4Mw3w0Gs2PH1+fX3b5 ZfMrLr/c8t36+MPYv5/51KdvF0AN6+vrGn16/Pix2dGjRxOrlZWVyfHjx6fHjh6Z xGcgTI6vH58cOXJ0PRo4/l9ft+zwjYdj+XqsWp8eOXpkPTeMlfaNz5M9e/ZMA73Z 6srqdBiNpnv3rs2OHTsWHaCb7lnboxNM9+3bP4nlMJs4qM5x7bXPn/+fl/9Xt5sf CdLhI4f3Rc89FIzQY6fRk4Ez1cCxIMCaTvas7Z0G1bBoMj52LBp9LeBZXz9y5IgG nvT9aLI3OOjzyioghumNNxyaHj12NPZdm/RDNxv60XRt795ZsMYxp7YLRk1Hw2iK jRdecNHs+GQdc2cHV1cxGuO63f5IkPq+T6VZ1TCTaTf0g3YK2Rl1pIn80KvgzKxb fO4ChJTF6PlkKV7n06NHjgRTVmZ9P8A1gOltAtzZaBhP9+3fPz127Gis76arwawF u2YT6+IcADU5dvTo5MKLLsrP8X3d8tF1wwZaEROCSL1/tKugZFkwrBuvjLvo7d2e iCOxfgbM2CzBSk2MjYN1aDjrh1EAMsxCrubYtra2Ntu3d9/0wIELpqKdxh+NxiF3 eydxnEl0CAcglRHpZpODF1wQsrdvughPy8cGkwARVOkmk/VomT4AGeYR4ROoYEVw aDLvA6AIOMGg0YJZnEUAtLq6RxxL4GbRyuPxdHbjjdOQsGF6HFBre4Jhx6Y3Hj40

3b9/XxqNCGVT8Si+K9i0lp/jRCaouboE6KaZFG3TR28me8xVOquQOu4rZW48XhXz E4yQqDkHF+szdsUreYttxrMIVzPuIraJzyvTyfr6NM1IyNuBA/tnEYMm+/YfwKIA 6fh0NB6nYViJV6COIz4tAfoPIGEGdDI2zRb2IeIJSx4fEsRkztqetQQPiOOV0TzM BSsewX1lNo73YgypEotW96zOL73k0jAgq5OQzdnKeIW8AS3kbjQ9cPDgpOx9HGKS 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 ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/gif Content-Location: http://s5.scribdassets.com/images/newhome/bg-header-dkbl-textu re.gif?1348517579 Content-Transfer-Encoding: Base64 R0lGODlhUAEnAMQAAAApNwAoNQAmNAAqPAAnNwAnNAAoOAAmMwAmNQArOgAsPQAo NwAqOQArPAAqOgArPQApOAApOQAsPgAsQAAnNQAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78i IGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxu czp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4w LWMwNjEgNjQuMTQwOTQ5LCAyMDEwLzEyLzA3LTEwOjU3OjAxICAgICAgICAiPiA8 cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjIt cmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4 bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnht cE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJl Zj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVm IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50 b3NoIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkM0QkQwODY1RDA0MTExRTFC NTM4OTVDNUYzODVCOEFEIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkM0QkQw ODY2RDA0MTExRTFCNTM4OTVDNUYzODVCOEFEIj4gPHhtcE1NOkRlcml2ZWRGcm9t IHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzRCRDA4NjNEMDQxMTFFMUI1Mzg5 NUM1RjM4NUI4QUQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QzRCRDA4NjRE MDQxMTFFMUI1Mzg5NUM1RjM4NUI4QUQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwv cmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4B//79/Pv6

+fj39vX08/Lx8O/u7ezr6uno5+bl5OPi4eDf3t3c29rZ2NfW1dTT0tHQz87NzMvK ycjHxsXEw8LBwL++vby7urm4t7a1tLOysbCvrq2sq6qpqKempaSjoqGgn56dnJua mZiXlpWUk5KRkI+OjYyLiomIh4aFhIOCgYB/fn18e3p5eHd2dXRzcnFwb25tbGtq aWhnZmVkY2JhYF9eXVxbWllYV1ZVVFNSUVBPTk1MS0pJSEdGRURDQkFAPz49PDs6 OTg3NjU0MzIxMC8uLSwrKikoJyYlJCMiISAfHh0cGxoZGBcWFRQTEhEQDw4NDAsK CQgHBgUEAwIBAAAh+QQAAAAAACwAAAAAUAEnAAAF/+DDUJDUQAhjLlSgSBFFOZKU yNAznRTAKBMYhRUBThSxAIk2CSYgABklwmhIgk3TIwKBBBAUsAywgJQjaAYVTV6U A17pwhcZ6LAmxggecTyuEyIQOAlXDw4yCwlBanANEwNRijZfESZhNA1hCQosP4ME ClA/MRETMQsPggASnQgBAxKIJEBbgwyMSZY1DgQ4f00NDihDEY9XEiIRLHJoCcBN WTXR1IDR1tjTCgoMCW5SzndNghFg3dEJI4NWyWgkhSWzuDEzsjK7EUq7DJKxQlFM hAiY8qcVAzMkjAWpMWCZlGIOHl1bqKCBsCpo8jkk4yyBAwYOEjTYZg2LggFPBv/h YADNxqCBEByMGyHDypEYXYCcQLDgkQISPxQACLBAwYMFAiw5iKGqhzEZKghqoiKE Qix6hWjmkKBVR1WQQY4iQADhmCyVaGQiSxABgJgFfSRWe+Bx6QICccAo6TFmbA8I AxkQgIvGIqBpRxw4iHLPmLgt5QBsbTIMBw0TMQAAnDAohygZi2bhm2JpggNmKiaw BVM2CBLGEYBhlnGAAMtpNRo8MFNAim22Ir0iWzix2vAsIdF0ESAp7YuFw6AcgGuE 25jWEw7e44UDSMMhVujJpPlikAFZAQDQVXKIrL0fO02pM9WAAc9HmuA+GtAlwC5K 4F3BDT0xvVDDExT0BkD/H0Ys1AAabvSm0gIGdGOMbsGNlMUDdgxgEVvKEYhAAWRA wFKDRyDhH2sBJUMTBT9QNohkOmwhVBkmSJYJCwtcwQUEo9FyBFrIUAHVHVtIYSJu HjED1CJZhCWMiQ/JQBRRZ6SREReSEUAGX0PwYYyByDxo4kBTMBHIQVFAsEgNxLTG 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 ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/png Content-Location: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAXCAYAAADp wXTaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9i ZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlk Ij8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBD b3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpS REYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4g PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29t L3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1s bnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHht cDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFu Y2VJRD0ieG1wLmlpZDowN0Q3QzVDN0JDQTYxMUUxQkZGM0EwNTc1QThEMjk3NiIgeG1wTU06RG9jdW1l bnRJRD0ieG1wLmRpZDowN0Q3QzVDOEJDQTYxMUUxQkZGM0EwNTc1QThEMjk3NiI+IDx4bXBNTTpEZXJp dmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjA3RDdDNUM1QkNBNjExRTFCRkYzQTA1NzVB OEQyOTc2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjA3RDdDNUM2QkNBNjExRTFCRkYzQTA1NzVB OEQyOTc2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNr ZXQgZW5kPSJyIj8+LiT+BAAAAcBJREFUOMuVlD1LI1EUhu9PyE+w0cpCsLK7nYUWqewW0snCImInFnZi Z2khEtlFXHbRrKsgwe8IShQ2RUBYhk38yOZz4uhm/UL09ZyQkev13ok58MDMvO95GIaZEcIw7VEnQsQI j4CC17geEc2GSpLIagIb3JMi4G7eI9GJ6KKwrSy/nyBZuEH3/J8gYdgXhQzPpg4Ljqt34GFhgIz3Q6Jj zhkmYGL99D/UWXT+wdZlj+j8kkkR0Pl8fAnTTB65MPXZI7oXTqAzflBB0IwkSjDtiZ5vZ1D5EC/g8QmB XN491nv6rpBLOfgMrBVQqj3gmsrNyHj36Pv5F+q+6F3Ow2dsv4qZ9BV+ODW4JDXBGXcY7qv7om+1GOtf LUJlJOEid3FvhDO9z7BH0EFED4Z3XTilWyOcmWTsqb+4dJBSg6GdCtLn10Y4M4hSL58TnXQRnh9+2qrg MFMzwpkm4r2uV99nQ5jlwsfNMhK/r4xwpoiyb0SKMEREBzfKiKc9I5w1RFHuN/2vzSbd8PKvKkyMbpen SNLWVOLP16QrCViQ7xbxzO2VJQELrcmmt4qSgIXWZFPxvCRgoTXZxEpOErBglT0DhX73HmSqM2kAAAAA SUVORK5CYII= Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAABMAAAAXCAYAAADpwXTaAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAA AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6 eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8x Mi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRv YmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv

bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20v eGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRv YmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0i eG1wLmlpZDowN0Q3QzVDN0JDQTYxMUUxQkZGM0EwNTc1QThEMjk3NiIgeG1wTU06 RG9jdW1lbnRJRD0ieG1wLmRpZDowN0Q3QzVDOEJDQTYxMUUxQkZGM0EwNTc1QThE Mjk3NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAu aWlkOjA3RDdDNUM1QkNBNjExRTFCRkYzQTA1NzVBOEQyOTc2IiBzdFJlZjpkb2N1 bWVudElEPSJ4bXAuZGlkOjA3RDdDNUM2QkNBNjExRTFCRkYzQTA1NzVBOEQyOTc2 Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8 P3hwYWNrZXQgZW5kPSJyIj8+LiT+BAAAAcBJREFUOMuVlD1LI1EUhu9PyE+w0cpC sLK7nYUWqewW0snCImInFnZiZ2khEtlFXHbRrKsgwe8IShQ2RUBYhk38yOZz4uhm /UL09ZyQkev13ok58MDMvO95GIaZEcIw7VEnQsQIj4CC17geEc2GSpLIagIb3JMi 4G7eI9GJ6KKwrSy/nyBZuEH3/J8gYdgXhQzPpg4Ljqt34GFhgIz3Q6JjzhkmYGL9 9D/UWXT+wdZlj+j8kkkR0Pl8fAnTTB65MPXZI7oXTqAzflBB0IwkSjDtiZ5vZ1D5 EC/g8QmBXN491nv6rpBLOfgMrBVQqj3gmsrNyHj36Pv5F+q+6F3Ow2dsv4qZ9BV+ ODW4JDXBGXcY7qv7om+1GOtfLUJlJOEid3FvhDO9z7BH0EFED4Z3XTilWyOcmWTs qb+4dJBSg6GdCtLn10Y4M4hSL58TnXQRnh9+2qrgMFMzwpkm4r2uV99nQ5jlwsfN MhK/r4xwpoiyb0SKMEREBzfKiKc9I5w1RFHuN/2vzSbd8PKvKkyMbpenSNLWVOLP 16QrCViQ7xbxzO2VJQELrcmmt4qSgIXWZFPxvCRgoTXZxEpOErBglT0DhX73HmSq M2kAAAAASUVORK5CYII= ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/jpeg Content-Location: data:image/jpeg;base64,/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgI CAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD /2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA QEBAQEBAQEBD/wgARCAAwADADAREAAhEBAxEB/8QAGgAAAgMBAQAAAAAAAAAAAAAAAwQCBQYAB//EABQ BAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAfZxwORBiQcsRAri9EiRYGcFTTiwEsjMixsCtAD IIiHFgAEicSCn/8QAHRAAAgIDAQEBAAAAAAAAAAAAAQIAAwQRExIiI//aAAgBAQABBQIDcRIfKwGt46Q jUrEHypO450UPWqwSua9V9Y7yhfGLZEMR5m/nk44N2S7ywwEAjIAltldwqaqiHIBhYEunqcWnJ5yecWi V+T//xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAEDAQE/ARP/xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9o ACAECAQE/ARP/xAAkEAABAwIGAgMAAAAAAAAAAAABAAIRECEDEiAyUaEiIzFBcf/aAAgBAQAGPwKnkVD XX0F3FJH0m4nIq5o+SK4bTxOh3iQHXCYzLLZl35W6ssuIJXrESrqymSFv6W7pbulv6U5iv//EACMQAAI BAwQCAwEAAAAAAAAAAAABESExQRBhcfBR4YGhscH/2gAIAQEAAT8hmGyJjBxEfhZmyTtFVCWSLVtupFP htKYnlrnOvldBS5LC/UfeFb5r/dMbIoqK0aGp3pX7kWJ7gWBNklH3xUlFiuCAtcbChpeRzVmEPk/LyVB yIoPA3XJ2+x2+xuOuSqWOx//aAAwDAQACAAMAAAAQEEkEEkEAkAEAEkggkE//xAAUEQEAAAAAAAAAAAA AAAAAAABQ/9oACAEDAQE/EBP/xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAECAQE/EBP/xAAjEAEAAgI BAwQDAAAAAAAAAAABABEhMWFBUYFxkaHwwdHh/9oACAEBAAE/EFqrEJqBwBJdAr7EXiBdxo4HcEuG4oT WIgLX170S+Gm17sdzrBsTrBKFk0MUx8hgF4jMRItgPemPmbBaeYaJwMsN5MQlItZ4aRjcrh6QqNnR1je sQtQR93EJYjmByInZoPNdYaRy3TuWkGXRaKg1dv8AINQLwIPAW0tK7iZI9E27cFvTjUFqr6GHFVd3a6m noIAiXf5n6RQlpPgQPtHug63s41QWCAffM//Z Content-Transfer-Encoding: Base64 /9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgG BgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMD AwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ EBAQEBAQEBAQEBAQEBD/wgARCAAwADADAREAAhEBAxEB/8QAGgAAAgMBAQAAAAAA AAAAAAAAAwQCBQYAB//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAA AfZxwORBiQcsRAri9EiRYGcFTTiwEsjMixsCtADIIiHFgAEicSCn/8QAHRAAAgID AQEBAAAAAAAAAAAAAQIAAwQRExIiI//aAAgBAQABBQIDcRIfKwGt46QjUrEHypO4 50UPWqwSua9V9Y7yhfGLZEMR5m/nk44N2S7ywwEAjIAltldwqaqiHIBhYEunqcWn J5yecWiV+T//xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAEDAQE/ARP/xAAUEQEA AAAAAAAAAAAAAAAAAABQ/9oACAECAQE/ARP/xAAkEAABAwIGAgMAAAAAAAAAAAAB AAIRECEDEiAyUaEiIzFBcf/aAAgBAQAGPwKnkVDXX0F3FJH0m4nIq5o+SK4bTxOh 3iQHXCYzLLZl35W6ssuIJXrESrqymSFv6W7pbulv6U5iv//EACMQAAIBAwQCAwEA AAAAAAAAAAABESExQRBhcfBR4YGhscH/2gAIAQEAAT8hmGyJjBxEfhZmyTtFVCWS LVtupFPhtKYnlrnOvldBS5LC/UfeFb5r/dMbIoqK0aGp3pX7kWJ7gWBNklH3xUlF iuCAtcbChpeRzVmEPk/LyVByIoPA3XJ2+x2+xuOuSqWOx//aAAwDAQACAAMAAAAQ EEkEEkEAkAEAEkggkE//xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAEDAQE/EBP/

xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAECAQE/EBP/xAAjEAEAAgIBAwQDAAAA AAAAAAABABEhMWFBUYFxkaHwwdHh/9oACAEBAAE/EFqrEJqBwBJdAr7EXiBdxo4H cEuG4oTWIgLX170S+Gm17sdzrBsTrBKFk0MUx8hgF4jMRItgPemPmbBaeYaJwMsN 5MQlItZ4aRjcrh6QqNnR1jesQtQR93EJYjmByInZoPNdYaRy3TuWkGXRaKg1dv8A INQLwIPAW0tK7iZI9E27cFvTjUFqr6GHFVd3a6mnoIAiXf5n6RQlpPgQPtHug63s 41QWCAffM//Z ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/png Content-Location: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACN iR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9i ZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlk Ij8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBD b3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpS REYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4g PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5j b20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5 cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHht cE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODA4Mzk5NDVCQjI3 QTZCOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFNEU3OUVCOTYwRDExMUUxOTg5REY4NUMzQ0I4 QUYxMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFNEU3OUVCODYwRDExMUUxOTg5REY4NUMzQ0I4 QUYxMSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHht cE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzJEQkM1OEE0MTIwNjgxMTgw ODNGNTg2QzlFMTIyRjAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDc4MDExNzQwNzIwNjgxMTgw ODM5OTQ1QkIyN0E2QjgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ IDw/eHBhY2tldCBlbmQ9InIiPz5agZf1AAABNUlEQVQ4y2P4//8/AwxnFpWCMCcQ2wBxPhD3AnE4EKtA 5fBikBkMaAZGAfEHIP6PBW8HYmmiDARy2IB4NZoBIIMvYRHzI8bAOUiaDgOxLpJCUBBkAvFnqPw3NHlU A6GSf6CKNwIxMw4XGADxT6i6LfgMnIzkHVECAV+H5BM5XAaegSpYQURMKiIZGILLwIdQBe3EJA0kAzNx GXgeqmAOEYaJIhkYi8vAmVAFT6DJB5+ByUgGquAy0AlJET5vSwDxc6SkhTcdbkQydCkQ86Mp9oD6ADmB G+MzkB8tV3yDugJk+G0cWRHDUJS8DBTggSad/yRgFEOxFQ6wnNMIdd1eaKSB0pwQ1NXohr6FGYrLQHyY B5+h5BiIz9BXIDlyDMRmKKhwCSHXheiG/oHla0oNhBnqihzLABup2KokhhKEAAAAAElFTkSuQmCC Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAA AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6 eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8x Mi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5h ZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRv YmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0 dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1l bnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODA4Mzk5NDVCQjI3QTZCOCIg eG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFNEU3OUVCOTYwRDExMUUxOTg5REY4 NUMzQ0I4QUYxMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFNEU3OUVCODYw RDExMUUxOTg5REY4NUMzQ0I4QUYxMSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQ aG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0 UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzJEQkM1OEE0MTIwNjgxMTgwODNGNTg2 QzlFMTIyRjAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDc4MDExNzQwNzIw NjgxMTgwODM5OTQ1QkIyN0E2QjgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRm OlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5agZf1AAABNUlE QVQ4y2P4//8/AwxnFpWCMCcQ2wBxPhD3AnE4EKtA5fBikBkMaAZGAfEHIP6PBW8H YmmiDARy2IB4NZoBIIMvYRHzI8bAOUiaDgOxLpJCUBBkAvFnqPw3NHlUA6GSf6CK NwIxMw4XGADxT6i6LfgMnIzkHVECAV+H5BM5XAaegSpYQURMKiIZGILLwIdQBe3E JA0kAzNxGXgeqmAOEYaJIhkYi8vAmVAFT6DJB5+ByUgGquAy0AlJET5vSwDxc6Sk hTcdbkQydCkQ86Mp9oD6ADmBG+MzkB8tV3yDugJk+G0cWRHDUJS8DBTggSad/yRg FEOxFQ6wnNMIdd1eaKSB0pwQ1NXohr6FGYrLQHyYB5+h5BiIz9BXIDlyDMRmKKhw

CSHXheiG/oHla0oNhBnqihzLABup2KokhhKEAAAAAElFTkSuQmCC ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/png Content-Location: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABW dVznAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3AMHFy8D4SPo vwAAATpJREFUKFNdUM1LAkEUf1q3Lvpv9DdJBUGXLtGtk1Kakn1sGEKH0DBKXdjwq9YOERRJ0LqQJXbM W4cgalv3tNP+pp1ltgfD4/c1M+8RebW+tUtrycx0Kre9Cvy/wEOHj5vnF5ajuf2DN+XwiKXze2nZDAwe +uLSSpRoKh7ZVArjcl1za22dFcsVtuGH0IHBQ88qhRG/pWeYVrWtu+rFFReLpQrL7Ch36MDgofce++/k OA4xxuLG4OVbDh2r5yEzdPj4CyLUfx5+1jpdHhIHGDx0+EJVqqp5cWsQ8DD4sJPEgCes3umGAsDgxSIk szRgS3ev7x94Dxbxt70UGaY5c6Y1QXIRJmMw/PL+PIsuhdxTrcH4C/ZkMnd5cyubY96AEXQRgv5j24ng W5ZlJZ5Grx++mXP+9mLgoYP7BQKjT8cu2pQaAAAAAElFTkSuQmCC Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAABmJLR0QA/wD/AP+g vaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3AMHFy8D4SPovwAAATpJ REFUKFNdUM1LAkEUf1q3Lvpv9DdJBUGXLtGtk1Kakn1sGEKH0DBKXdjwq9YOERRJ 0LqQJXbMW4cgalv3tNP+pp1ltgfD4/c1M+8RebW+tUtrycx0Kre9Cvy/wEOHj5vn F5ajuf2DN+XwiKXze2nZDAwe+uLSSpRoKh7ZVArjcl1za22dFcsVtuGH0IHBQ88q hRG/pWeYVrWtu+rFFReLpQrL7Ch36MDgofce++/kOA4xxuLG4OVbDh2r5yEzdPj4 CyLUfx5+1jpdHhIHGDx0+EJVqqp5cWsQ8DD4sJPEgCes3umGAsDgxSIkszRgS3ev 7x94Dxbxt70UGaY5c6Y1QXIRJmMw/PL+PIsuhdxTrcH4C/ZkMnd5cyubY96AEXQR gv5j24ngW5ZlJZ5Grx++mXP+9mLgoYP7BQKjT8cu2pQaAAAAAElFTkSuQmCC ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/png Content-Location: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAAAICAYAAAC8 sLAqAAAACXBIWXMAAAsSAAALEgHS3X78AAABZ2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1w bWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40LjAiPgogICA8 cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1u cyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4 bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29s PkFkb2JlIEZpcmV3b3JrcyBDUzQ8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgPC9yZGY6RGVzY3JpcHRp b24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CkTQEowAAADESURBVFiF7dexrsMgDIXhc2xDxJL3 f8msURIR08lVWvWurXTjb4WBgV8GjjGQUvrMlmUZ+75jXVds24bjONB7h7sj40n/GUmICMwMpRS01tBa wzRNqLVinmfa+2ZVBQC4+88OntK3xJ1XVZAEyZd1u4ZhZiCJ3vuPjpvS98Xdv0YSoVjEUWsFSbh7To90 KyShqiilwMwgIq+BlFKem8YY+fdItxITIyaJiDzXLGoREZznCQAZSLqVmBbXJ1ZEwowhpb89AC6XOBpR pPkiAAAAAElFTkSuQmCC Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAMgAAAAICAYAAAC8sLAqAAAACXBIWXMAAAsSAAAL EgHS3X78AAABZ2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4 bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40LjAi PgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkv MDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJk ZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9i ZS5jb20veGFwLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkFkb2Jl IEZpcmV3b3JrcyBDUzQ8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgPC9yZGY6RGVz Y3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CkTQEowAAADESURB VFiF7dexrsMgDIXhc2xDxJL3f8msURIR08lVWvWurXTjb4WBgV8GjjGQUvrMlmUZ +75jXVds24bjONB7h7sj40n/GUmICMwMpRS01tBawzRNqLVinmfa+2ZVBQC4+88O ntK3xJ1XVZAEyZd1u4ZhZiCJ3vuPjpvS98Xdv0YSoVjEUWsFSbh7To90KyShqiil wMwgIq+BlFKem8YY+fdItxITIyaJiDzXLGoREZznCQAZSLqVmBbXJ1ZEwowhpb89 AC6XOBpRpPkiAAAAAElFTkSuQmCC ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/png

Content-Location: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABW KLW/AAAABmJLR0QA2ADYANhLVLGJAAAACXBIWXMAAAsSAAALEgHS3X78AAAAB3RJTUUH3AEQFQYgs4ju DgAAABxJREFUCB1jZmBgYIJiFmYgA4RZgJgVxmEFciQBAx4APwapwCYAAAAASUVORK5CYII= Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAABmJLR0QA2ADYANhL VLGJAAAACXBIWXMAAAsSAAALEgHS3X78AAAAB3RJTUUH3AEQFQYgs4juDgAAABxJ REFUCB1jZmBgYIJiFmYgA4RZgJgVxmEFciQBAx4APwapwCYAAAAASUVORK5CYII= ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/png Content-Location: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABW KLW/AAAABmJLR0QA2ADYANhLVLGJAAAACXBIWXMAAAsSAAALEgHS3X78AAAAB3RJTUUH3AEQFQ876C+c qwAAAB9JREFUCB0FwQEBABAQALE5Twf9i9rCwaBwsbHCw6APA+MAO2myB9oAAAAASUVORK5CYII= Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAABmJLR0QA2ADYANhL VLGJAAAACXBIWXMAAAsSAAALEgHS3X78AAAAB3RJTUUH3AEQFQ876C+cqwAAAB9J REFUCB0FwQEBABAQALE5Twf9i9rCwaBwsbHCw6APA+MAO2myB9oAAAAASUVORK5C YII= ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/png Content-Location: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABW KLW/AAAABmJLR0QA2ADYANhLVLGJAAAACXBIWXMAAAsSAAALEgHS3X78AAAAB3RJTUUH3AEQFQ8wf/1F IwAAAB5JREFUCFtjYGBgUAFibiBmZYAy2IGYhQEqwgzETAAI1QBVSzJ1RQAAAABJRU5ErkJggg== Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAABmJLR0QA2ADYANhL VLGJAAAACXBIWXMAAAsSAAALEgHS3X78AAAAB3RJTUUH3AEQFQ8wf/1FIwAAAB5J REFUCFtjYGBgUAFibiBmZYAy2IGYhQEqwgzETAAI1QBVSzJ1RQAAAABJRU5ErkJg gg== ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/png Content-Location: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABW KLW/AAAABmJLR0QA2ADYANhLVLGJAAAACXBIWXMAAAsSAAALEgHS3X78AAAAB3RJTUUH3AEQFQ8ijEQ0 awAAABxJREFUCB1jZmBgYAViTiCWZwYSjEAMAt+QOf8AFK0CLdSykVIAAAAASUVORK5CYII= Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAABmJLR0QA2ADYANhL VLGJAAAACXBIWXMAAAsSAAALEgHS3X78AAAAB3RJTUUH3AEQFQ8ijEQ0awAAABxJ REFUCB1jZmBgYAViTiCWZwYSjEAMAt+QOf8AFK0CLdSykVIAAAAASUVORK5CYII= ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/png Content-Location: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS 3WWCAAAABmJLR0QA2ADYANhLVLGJAAAACXBIWXMAAAsSAAALEgHS3X78AAAAB3RJTUUH3AEQFREd7mMm iQAAABBJREFUCNdjYGBg4GCCESIAAMkAKYlqLLQAAAAASUVORK5CYII= Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS3WWCAAAABmJLR0QA2ADYANhL VLGJAAAACXBIWXMAAAsSAAALEgHS3X78AAAAB3RJTUUH3AEQFREd7mMmiQAAABBJ REFUCNdjYGBg4GCCESIAAMkAKYlqLLQAAAAASUVORK5CYII= ------------8eVr2fgsNKmtHeiwqXbUcZ

Content-Disposition: inline Content-Type: image/png Content-Location: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAABCAYAAAAb 4BS0AAAABmJLR0QA2ADYANhLVLGJAAAACXBIWXMAAAsSAAALEgHS3X78AAAAB3RJTUUH3AEQFRESftw7 GAAAABJJREFUCB1jYGBgUAFiASDmAAABqQA9n2mcnQAAAABJRU5ErkJggg== Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAMAAAABCAYAAAAb4BS0AAAABmJLR0QA2ADYANhL VLGJAAAACXBIWXMAAAsSAAALEgHS3X78AAAAB3RJTUUH3AEQFRESftw7GAAAABJJ REFUCB1jYGBgUAFiASDmAAABqQA9n2mcnQAAAABJRU5ErkJggg== ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/png Content-Location: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS 3WWCAAAABmJLR0QA2ADYANhLVLGJAAAACXBIWXMAAAsSAAALEgHS3X78AAAAB3RJTUUH3AEQFREB+mJ6 xgAAABJJREFUCB1jAAIVBiAQYAACDgACAwA9yAbErgAAAABJRU5ErkJggg== Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS3WWCAAAABmJLR0QA2ADYANhL VLGJAAAACXBIWXMAAAsSAAALEgHS3X78AAAAB3RJTUUH3AEQFREB+mJ6xgAAABJJ REFUCB1jAAIVBiAQYAACDgACAwA9yAbErgAAAABJRU5ErkJggg== ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/png Content-Location: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAABCAYAAAAb 4BS0AAAABmJLR0QA2ADYANhLVLGJAAAACXBIWXMAAAsSAAALEgHS3X78AAAAB3RJTUUH3AEQFQo7lVho 7gAAAA9JREFUCNdjZGBg4IBiEQAAngAmsaKc+wAAAABJRU5ErkJggg== Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAMAAAABCAYAAAAb4BS0AAAABmJLR0QA2ADYANhL VLGJAAAACXBIWXMAAAsSAAALEgHS3X78AAAAB3RJTUUH3AEQFQo7lVho7gAAAA9J REFUCNdjZGBg4IBiEQAAngAmsaKc+wAAAABJRU5ErkJggg== ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/png Content-Location: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAMCAYAAAC9 QufkAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3AMJFjAsZrXG fAAAAJBJREFUKM9jYEACEXFpLhGxabJgdmwaL5CvEhGbagekeRkIAaCG20DsB1T8D4j/I+F4IBYBYinc muPSbgBt8kbTiGzQVwKa09A1I+HU1+Rrjk27TlhzLFjhXyD/MxB/AfMhBtzGrzkuLQSIe4E4FIiFgBot gfQDIN4HxBMJaY5jIAdQQXMq2ZoPATUHMtADAAA5YnsVbK0fmQAAAABJRU5ErkJggg== Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAA8AAAAMCAYAAAC9QufkAAAABmJLR0QA/wD/AP+g vaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3AMJFjAsZrXGfAAAAJBJ REFUKM9jYEACEXFpLhGxabJgdmwaL5CvEhGbagekeRkIAaCG20DsB1T8D4j/I+F4 IBYBYincmuPSbgBt8kbTiGzQVwKa09A1I+HU1+Rrjk27TlhzLFjhXyD/MxB/AfMh BtzGrzkuLQSIe4E4FIiFgBotgfQDIN4HxBMJaY5jIAdQQXMq2ZoPATUHMtADAAA5 YnsVbK0fmQAAAABJRU5ErkJggg== ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline Content-Type: image/png Content-Location: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAP0AAAAPCAYAAAAv b8nuAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9i ZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlk Ij8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBD b3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpS

REYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4g PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29t L3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1s bnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHht cDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFu Y2VJRD0ieG1wLmlpZDo2MzRERDIzRjlENEQxMUUxQUI0RkI1MjI5NDg0NTRFOSIgeG1wTU06RG9jdW1l bnRJRD0ieG1wLmRpZDo2MzRERDI0MDlENEQxMUUxQUI0RkI1MjI5NDg0NTRFOSI+IDx4bXBNTTpEZXJp dmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjYzNEREMjNEOUQ0RDExRTFBQjRGQjUyMjk0 ODQ1NEU5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjYzNEREMjNFOUQ0RDExRTFBQjRGQjUyMjk0 ODQ1NEU5Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNr ZXQgZW5kPSJyIj8+ZsAa5wAAArFJREFUaN7tmE1uxCAMhR903TP0Hr2/eo+eoetAV5VShO1nm47SMEgo hOHHg/w9O5T3t9cCYFbr5CnVl0l79sz0VaVPs0eyvUzaxfhtVuE4P2nuuYzvdyhdeO9DbcLzXCG0pXWa svbYbkL/IYw5/3YofQfRx7QtW5pxdh1AKwBwAh+Kc4+OW0lBsKCUoGbfPbUI7xrsDLRR6MvNYdfg70Ho NfDb0PbArwkAUw/H++Gca4FNi+TH59cv6EfnY0SAcXJNHEoCYGatEoju1phslK+TubuV0SHbwmjfnNFe i/rdyACylckyPGIonQ9O0PdfDifAD8FJS0AQSgK46ojGbB9rzzgHCvzVEe2f6T0He3Ok9p0AXBOaFujT BMMjPDOgmwPuKeg/5ePzq4sONsCvCcAKQSgCEJUEKdLH7lcNm9nPIetO4Jney7Bqzu4F34KqkXObYw8P xM0QNShnoILuiioTAYDirIwQIAgQA2ENzpPGVMJWJGzeBXaQF3kMGJLDs+tYa6uXYMF5nchQQP5HFXIJ 9FQqSYiAJzNghSEjFJnsg4HdEgDr1n536EHCI0U5T8rPViTHwZGGe8F2Q56GnhQBVggk5y8OkYgKhwUr SFi9F5+7A8+Cz0R3Zh02Tc4Ca2UgCEKdhnw59E4hYC6uSlAkEBAKr5h49rfEBhuD341UH07g4QCRibCR KMzaRcO9CvKHQB8QAskWNluIigQrGNH92LV2vMhDAD4Llk6u64U0sr/1fx8COK7oaIQYaHZ6hSICL7MG KyQ7A8+C4Lq0CgpBJPJ6ADbBfQTcl4U+KQZRYYjCjEWCsvv3/COiZnfutwzoq8D976D/A1HICgR7XuWP 1r1zpE+lxAvGhMG8ItTY2dmSwhA9p7L7uS8WgQiUS0D8j0Dj6Xy3FKDblrtCdrXyDUaq/ZUKAtX7AAAA AElFTkSuQmCC Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAP0AAAAPCAYAAAAvb8nuAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAA AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6 eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8x Mi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRv YmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20v eGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRv YmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0i eG1wLmlpZDo2MzRERDIzRjlENEQxMUUxQUI0RkI1MjI5NDg0NTRFOSIgeG1wTU06 RG9jdW1lbnRJRD0ieG1wLmRpZDo2MzRERDI0MDlENEQxMUUxQUI0RkI1MjI5NDg0 NTRFOSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAu aWlkOjYzNEREMjNEOUQ0RDExRTFBQjRGQjUyMjk0ODQ1NEU5IiBzdFJlZjpkb2N1 bWVudElEPSJ4bXAuZGlkOjYzNEREMjNFOUQ0RDExRTFBQjRGQjUyMjk0ODQ1NEU5 Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8 P3hwYWNrZXQgZW5kPSJyIj8+ZsAa5wAAArFJREFUaN7tmE1uxCAMhR903TP0Hr2/ eo+eoetAV5VShO1nm47SMEgohOHHg/w9O5T3t9cCYFbr5CnVl0l79sz0VaVPs0ey vUzaxfhtVuE4P2nuuYzvdyhdeO9DbcLzXCG0pXWasvbYbkL/IYw5/3YofQfRx7Qt W5pxdh1AKwBwAh+Kc4+OW0lBsKCUoGbfPbUI7xrsDLRR6MvNYdfg70HoNfDb0PbA rwkAUw/H++Gca4FNi+TH59cv6EfnY0SAcXJNHEoCYGatEoju1phslK+TubuV0SHb wmjfnNFei/rdyACylckyPGIonQ9O0PdfDifAD8FJS0AQSgK46ojGbB9rzzgHCvzV Ee2f6T0He3Ok9p0AXBOaFujTBMMjPDOgmwPuKeg/5ePzq4sONsCvCcAKQSgCEJUE KdLH7lcNm9nPIetO4Jney7Bqzu4F34KqkXObYw8PxM0QNShnoILuiioTAYDirIwQ IAgQA2ENzpPGVMJWJGzeBXaQF3kMGJLDs+tYa6uXYMF5nchQQP5HFXIJ9FQqSYiA JzNghSEjFJnsg4HdEgDr1n536EHCI0U5T8rPViTHwZGGe8F2Q56GnhQBVggk5y8O kYgKhwUrSFi9F5+7A8+Cz0R3Zh02Tc4Ca2UgCEKdhnw59E4hYC6uSlAkEBAKr5h4 9rfEBhuD341UH07g4QCRibCRKMzaRcO9CvKHQB8QAskWNluIigQrGNH92LV2vMhD AD4Llk6u64U0sr/1fx8COK7oaIQYaHZ6hSICL7MGKyQ7A8+C4Lq0CgpBJPJ6ADbB fQTcl4U+KQZRYYjCjEWCsvv3/COiZnfutwzoq8D976D/A1HICgR7XuWP1r1zpE+l xAvGhMG8ItTY2dmSwhA9p7L7uS8WgQiUS0D8j0Dj6Xy3FKDblrtCdrXyDUaq/ZUK AtX7AAAAAElFTkSuQmCC

------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline; filename=newdoc.css Content-Type: text/css; name=newdoc.css Content-Location: http://s5.scribdassets.com/aggregated/css_img/newdoc.css?13485 17579 Content-Transfer-Encoding: Quoted-Printable /* :asset_packager_compatibility, 'config/asset_packages.yml' @ 13485175= 79 */ /* public/stylesheets/global/reset.css @ 1348517579 */ /* Copyright (c) 2007, Yahoo! Inc. All rights reserved. Code licensed un= der the BSD License: http://developer.yahoo.net/yui/license.txt version:= 2.3.1 */ body { color: #000; background: #FFF; } body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, fo= rm, fieldset, legend, input, textarea, p, blockquote, th, td { margin: 0; padding: 0; } table { border-collapse: collapse; border-spacing: 0; } fieldset, img { border: 0; } address, caption, cite, code, dfn, em, strong, th, var { font-style: normal; font-weight: normal; } li { list-style: none; } caption, th { text-align: left; } h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; } q:before, q:after { content: ''; } abbr, acronym { border: 0; font-variant: normal; } input, textarea, select { font-family: inherit; font-size: inherit; font-weight: inherit; } /* public/stylesheets/global/fonts.css @ 1348517579 */ /* Copyright (c) 2008, Yahoo! Inc. All rights reserved. Code licensed un= der the BSD License: http://developer.yahoo.net/yui/license.txt version:= 2.5.1 */ /** * Percents could work for IE, but for backCompat purposes, we are us=

ing keywords. * x-small is for IE6/7 quirks mode. */ body { font: 13px/1.231 arial, helvetica, clean, sans-serif; *font-size: small; *font: x-small; } table { font-size: inherit; font: 100%; } /** * Bump up IE to get to 13px equivalent */ pre, code, kbd, samp, tt { font-family: monospace; *font-size: 108%; line-height: 100%; } /* public/stylesheets/global/lightbox.css @ 1348517579 */ #overlay { position: fixed; left: 0px; top: 0px; right: 0px; bottom: 0px; opacity: 0.5; filter: alpha(opacity=3D50); background: black; z-index: 2999; } .lightbox { z-index: 30000; position: absolute; text-align: left; -webkit-box-shadow: 2px 2px 12px #444444; -moz-box-shadow: 2px 2px 12px #444444; box-shadow: 2px 2px 12px #444444; background-color: #9ca7ae; background-color: rgba(255, 255, 255, 0.4); padding: 8px; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px; min-width: 610px; } .lightbox.ask_passive_share { min-width: 500px; } .lightbox.tooltip_lightbox { background-color: rgba(146, 146, 146, 0.7); -webkit-box-shadow: 0 0 0 black; -moz-box-shadow: 0 0 0 black; box-shadow: 0 0 0 black; min-width: 0; } .lightbox.tooltip_lightbox .wrapper { background: #f3f1ea; } .lightbox.tooltip_lightbox .title { color: #464b4e; background: #e5e2d6; border-bottom-color: #d3d5d6; }

.lightbox h1 { font-size: 15px; } .lightbox a { color: #1FA3D6; } .lightbox .wrapper { background: white url('data:image/gif;base64,R0lGODdhIAAgAKUiAOzu8+3w9= O7w9e7x9e7x9u/x9u/y9u/y9/Dy9/Dz9/Dz+PHz+PH0+PH0+fL0+fL1+fL1+vP1+vP2+vP2+= /T2+/T3+/T3/PX3/PX4/PX4/fb4/fb5/fb5/vf5/vf6/vf6//j6//j7/////////////////= ////////////////////////////////////////////////////////////////////////= ////////////////////////////////ywAAAAAIAAgAAAG/sDNYVPBhBIYTISxkTw2jEdxs= 8F4Ho8QZtPBJEKI5CZU+UwuiYdFwoBIrpRExFFxhB4SCUZCDA3YH00KZHsfGBVMDxxNEhWMF= Q8TT2tFeRAUT0kGDwZRFW8QIQwVDVseCRAZIRscDHoGIQRbShWOrlofFocbGQ8UHQ9eWhtPG= huwWZ+QH6IEoxkXDx4WCY4eDnsGEhMLHBYbp9RHGFIenwa8fLpVTngYdBwSHRIXrBYgEWsbS= FIMGgPQNDDAAO1Uk09Yurxp4KhJNQMXJlRIMISCFQhUMAQAJ8FChRDdpDWSokHCHQ5GJHz4M= HBCggsOImRIkCaCB38RDjFIwKvW/iEI+jSECMHBwIIIxBZRafSJFT0HTpJg2NQg2IB5D3iOg= rBgwoYGeip0SGAu2AMNBj688XDwgkq1mh4gVZJBgwe1N9X02qWA4IOdHjAwyGDhLtmsUogwi= PBJQgQ2Dp4cedIAxABICyQEiCLGyygsVTzUk5ZhAwQPTK84WLAvz5tg4DJI3GCmDLEKFBB9Q= HRTjxJFDFztm0dMswfGbJskkoDEFBtwGCg0Kd5FwQMQuhwZ4GlAg4IKxuSEMNQoAQcOFzqY0= 8OEFPh4gvNssMAhL4cJhTNkxjBBwAVXFWTAxx2OzKEGFSGA8IlFG1ywETnMCIRBPRJg4koj2= tRiQGng9+EBSx4dIOBBAFB54MEEGnwDCWOO8TFAik1J0FcIVzxBjzQhSICSBd84McYWT2ywg= BUVoNTRX65skUckG0zQwW3fTJDHTZhI4EAaWNQCBQYcQMJBX0w4QMxYWX1yUx8fnEaGa2tA4= AhZRQzkCk8bSEdBHgl0wMQexEHBAGp57OFBXRcgYgoGAPR1Jxl3MvABHsEosAgDIITw3wYFT= AQOMcTcYZITTnwSXW/gMMEAfhw0cAEHMUHqwQElCXfFKkUgogBUb1RgAFscCJXEIgeM0sgqB= iClqqgd1HGBBwWQxUwbEsCiAUYIfGCibxUsUA4DsejRCAYQBAEAOw=3D=3D'); -moz-border-radius: 6px; -webkit-border-radius: 6px; border-radius: 6px; position: relative; overflow: visible; } .lightbox .wrapper .tooltip_stem { position: absolute; top: 100%; width: 100%; height: 26px; background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUh= EUgAAACgAAAAaCAYAAADFTB7LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccl= lPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiB= pZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWR= vYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk= 0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJ= odHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXN= jcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20= veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjA= vc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGF= wLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGNzdGMTE3NDA3MjA= 2ODExOTJCMEYyRDU5RTU1NTZFQyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1RkJDQjM= 5Rjg4MDcxMUUxOUIyMkE3MTRCOUREMUE2MSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo= 1RkJDQjM5RTg4MDcxMUUxOUIyMkE3MTRCOUREMUE2MSIgeG1wOkNyZWF0b3JUb29sPSJBZG9= iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmV= mOmluc3RhbmNlSUQ9InhtcC5paWQ6MDI4MDExNzQwNzIwNjgxMTg4QzY5Mzg3RDM5RTQ5NEM= iIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Rjc3RjExNzQwNzIwNjgxMTkyQjBGMkQ1OUU= 1NTU2RUMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw= /eHBhY2tldCBlbmQ9InIiPz7ECt+0AAADgklEQVR42ryXXUhTYRjHd6ZpqaVil0E35UUhdNN= FCUFRIFoI0TeJEYUYUl5Iglc2mzOY+TGxYSgpamW0skIqliYWmSbptCSNPubXdOFm7rjpznZ= 63/Gc8Xo42zmbx1542Bl7P357/s/HeyiWZRXcSEhMpNAHpa+tis5IT+umKGqv4j8MxNBVUVW= TdrtCx+CvdpvND0UJACqRRXY8N+xKSdndgyBj1xnO1vuxb//J01k/0VcM6CUBlbz5fsD0Y8f=

NZvOEar29Nz7+vRDBWfGZcDZF/q4UWIMnRCCLSj1w2GCz2d+uF9zcnLX90JGMTvS4QQhOCJA= lDI+IgutFarfbPS83nMvlmrlwMUcLzhA6O6AH8QQPxAPz6rVx3vDkmUbmuPPWNzQWm4ZHaO4= cHHtgq+XkJQkHjV2+EdlmZFuQxXcaOwqTd+7IlANwcNDUeDTzhB49/kVmR+bATiWSRNSDeOI= ysiXOkBy6RYfDvFY4FNOjZ85l18O+2INOZCugGisWgxyglwdJo4y2196pK/F6vUy4cAzjoUv= UZSoHTdMAtwRncBJLAiQh3eB6nxd1NfrhTwOfG8IFfNPZpWt7ZPhBwLngDEG4QDFIlhsK4jE= G4jE+LjY24V2PsXprUtKeUOAmJqe696UeLIK4W0C2CPK6+ckhFoO+Mfl7jCUy2i81lqf4hlr= DMMxiCCVl7lp+gZaIO1JaNthaZbAfAZIvNf20/cUvVH4qpZaU5pYHmr7+AQtPWiaYtJIAAdI= LXnSDJL4Az8m9+hIljlFs/Zevo23FqtJeoiJwcecRg5MEyCs9KwDpOyw3L7/c6XRaAi2y2xe= +ZWVfruOVlGWpcJIBA0k9NDT8p6n5fimWkb/G4/E4teWVaqvVukB4b1mqtKF6kA/p92LJzbJ= +k2mklT+/p+e9/l5TyxjhPRcoIBkuJEBen14hM/LU2ay7WE5uksUy++F89qXHXLyKdQvZAAk= vruoyNL3k0NzSqrCs+OZzJS+/VCDuGKHbitiIDLUbYMht25PJeMR7RLa0PhxHrwnVU9PTs6i= kzIRTUkLqJAgk6EIEyd16NiGLg04TDRAuuKE4wIOM0FUqYPYTnSRYqxP9cxAiUQAZA88sEaN= OsV4rBhiyxAFuPS545vZzA2TY0soBSGa1AkC4pPOArQlODkAS0guyk5nKrnVzuQBZgTcyVoa= 9Ff8EGABO+QWITPllPAAAAABJRU5ErkJggg=3D=3D') no-repeat center top; } .lightbox .content .spinner_container, .lightbox .footer .spinner_contai= ner { text-align: center; margin: 15px auto 15px auto; } .lightbox .title { font-family: Georgia, Palatino, Palatino Linotype, Times, Times New Ro= man, serif; font-style: italic; -moz-border-radius-topleft: 3px; -webkit-border-top-left-radius: 3px; border-top-left-radius: 3px; border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 3px; border-top-right-radius: 3px; border-radius-topright: 3px; text-shadow: 1px 1px 0px #e3e9ef; white-space: nowrap; padding: 0 53px 0 20px; font-size: 24px; line-height: 50px; color: #565A63; background: #bfc4c9 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA= AAAEAAAA8CAYAAACn8dD6AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsTAAALEwEAmpw= YAAAAB3RJTUUH3AQEAC0gyI49RAAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEd= JTVBkLmUHAAAAWUlEQVQY04WOQQqAQAwDp/3/Gz0IXkX8wHjQ7loQvJQ0SdOwrJu5HycJkho= PAkiUFGodlmAKhUKKu5EtIEq4x7gFSC2LSsbk+o/Z6quu2GqMlBjqO6U1+B8XS905wldDH50= AAAAASUVORK5CYII=3D') 0 0 repeat-x; border-bottom: 1px solid #9AA4AC; } .lightbox .content { -moz-border-radius: 6px; -webkit-border-radius: 6px; border-radius: 6px; padding: 20px; } .lightbox .content_tight { padding: 16px !important; } .lightbox .content_tight .spinner_container { margin-top: 27px; } .lightbox .footer { background-position: 0 100%;

display: block; } .lightbox .close_button { margin: 0px; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAA= VCAYAAABCIB6VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9= tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmV= zb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHh= tcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODA4Mzk= 5NDVCQjI3QTZCOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo5MTk3Q0FFOTFGQjExMUU= xQUQ3NkQxMDZDOTExMEM5MSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5MTk3Q0FFODF= GQjExMUUxQUQ3NkQxMDZDOTExMEM5MSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3N= ob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmN= lSUQ9InhtcC5paWQ6MEE4MDExNzQwNzIwNjgxMTgwODM4NUZBMzUxREE3MTgiIHN0UmVmOmR= vY3VtZW50SUQ9InhtcC5kaWQ6MDc4MDExNzQwNzIwNjgxMTgwODM5OTQ1QkIyN0E2QjgiLz4= gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCB= lbmQ9InIiPz41oPjxAAADYUlEQVQ4jZWV2UpbURSGD3jlAwjeFgpCwQcQhL5BQcgbCKX0urV= ao8ZMZh40MYMxMSYmxqHW0tIilEqx2ItetA44tGqdagctXiVBaVbXvz37mKgVerE4O2v49rD= +vaMQkfJAb7zObrA1s91VrVn1iXixWLxkYCrXgJsfdpiWWzrN9KjLQq0GqzCM4UMMOf8Dvtn= SYV5oNfSQ3uIkg91HZlcfWT1BYRjDhxhykIuaa8G8ivo2g/W4w+IiC0Nc/YPkH0hRYHCEAvH= MmfEYPsSQg1zUoPZKMAdq9Cb7XjevxhWMUZAh8x8+0mB2iqLpiQobGJkUsfDQqMhFDWrBuAT= utDrTRoefvOEEhZM5Wv28+YeTurd39/Px0acaNJZ5QmsbW6eIfd3ZK0ZT46IGtWBUgLkZdQa= bt+Tm7YWHxyRUx7+xtUYJB5RjgDapsdscK8Z4B6gFAywN7AlE3TZ/mIKJLK9qnGZm51x8frw= Lt8LN0uAqVFceezP3/l4sM1FCLRhgaWBv/+C2L5qkCG8rmMiQvTdy2m6yN3HHlbbuHsWkwgE= 1uwPKY6NNQYy/DT2+UB4NRS0Y7uDAzjk4FD8BEGeIL2bWmx2n3Iw7bALeZfMoLDOG2dFoWAN= PnocEJRi1YJ0fRSheCg/nBBhn7I8OE68M8AIDagHis1P4ckhoNUMPTc5e8kWSdF6bI7A0cDi= ZLWFG2XnA+2JpWlhaKfD2ay/eSvZVr3/ZPArySiUUBgZYGjg98eykHHzW/Q3R/XaTQ6yyHIz= jwJmz3PLlOgcDLA3Mnd2VYIhfdh9d52srgQ1sOoz5zVCMTn+FFCUYLA28vrHljaTGtJkhN9l= 92ajWLkuegWhok2wo1PL67fx9yO0MPEZgaWCeuW5m9l1JqkKVm05CeYI8qwIXgNivqYX9jeV= yAwMsDQwZ/To8yqYnn1fIjbXaCSi67wklyBsZEmoBHDH+Fq3efiE31IJRcaU5Aauu2T/4/i0= xOiXkhpeLbxfxdjVJSSnKmFmNoQa1YFx8K8QFYGf9wY+fx7npV9QbS4n7D1C5pADXYvx85qZ= fEmpQe+WzKTrtEJ2+lS8UFhdX1ik79UKALj6bOE/EkINc1PzzoUczIC1+WxGsYsPfzurh0W9= aYsCn5TVhGMOHmJpTddVf019gvawxR06kUgAAAABJRU5ErkJggg=3D=3D') 0 0 no-repea= t !important; float: right; width: 22px !important; height: 21px !important; margin-top: 14px; margin-right: 11px; cursor: pointer; } .lightbox .special_nag { margin-top: 20px; margin-bottom: 0; } .lightbox .iframe_container iframe { height: 85px; overflow: hidden; border: 0; width: 100%; } /* public/stylesheets/global/thumbnails.css @ 1348517579 */ .tinier_thumbnail { width: 25px;

height: 25px; margin-right: 10px; position: relative; } .outer_border, .outer_border_layer2, .outer_border_layer3 { display: block; position: absolute; border-style: solid; } .outer_border { border-color: #cccccc; } .outer_border_layer2, .outer_border_layer3 { border-width: 0 0 0 1px; border-color: #6A6663; } .outer_border_layer2 { top: 1px; left: -2px; } .outer_border_layer3 { left: -4px; top: 2px; } .tinier_letter_thumbnail { width: 25px; height: 31px; margin-right: 10px; position: relative; } .tinier_letter_thumbnail a { display: block; width: 21px; height: 27px; background: #fff center center no-repeat; border: 1px solid #6A6663; } .tinier_letter_thumbnail a:hover { text-decoration: none; } .tinier_letter_thumbnail .outer_border { width: 22px; height: 28px; top: 2px; left: 1px; border-width: 0; } .tiny_thumbnail { width: 50px; height: 50px; position: relative; margin-right: 12px; } .tiny_thumbnail a { display: block; width: 48px; height: 48px; background: #fff 0 0 no-repeat; border: 1px solid #ccc; padding: 2px; }

/* users */ .profile_carousel_thumbnail { width: 88px; height: 112px; position: relative; margin-right: 10px; } .profile_carousel_thumbnail a { display: block; width: 84px; height: 108px; line-height: 108px !important; font-size: 0; background: #fff center center no-repeat; /*border: 1px solid $primary_color; */ overflow: hidden; text-align: center; } .profile_carousel_thumbnail a:hover { text-decoration: none; } .profile_carousel_thumbnail .outer_border { width: 85px; height: 109px; top: 1px; left: 1px; border-width: 0 1px 1px 0; } .profile_carousel_thumbnail .outer_border_layer2 { height: 108px; } .profile_carousel_thumbnail .outer_border_layer3 { height: 106px; } /* docs */ .tinier_thumbnail { width: 29px; height: 29px; position: relative; margin-right: 10px; margin: 0 1px 3px 0; _margin: 0 1px 2px 0; /* fuck you IE6 */ } .tinier_thumbnail a { display: block; width: 25px; height: 25px; line-height: 25px !important; font-size: 0; background: #fff center center no-repeat; /*border: 1px solid $primary_color; */ overflow: hidden; text-align: center; } .tinier_thumbnail a:hover { text-decoration: none; } .tinier_thumbnail .outer_border {

width: 26px; height: 26px; top: 1px; left: 1px; border-width: 0 1px 1px 0; } .tinier_thumbnail .outer_border_layer2 { height: 25px; } .tinier_thumbnail .outer_border_layer3 { height: 23px; } .feed_thumbnail { width: 22px; height: 22px; position: relative; margin-right: 10px; margin-right: 2px; } .feed_thumbnail a { display: block; width: 18px; height: 18px; line-height: 18px !important; font-size: 0; background: #fff center center no-repeat; /*border: 1px solid $primary_color; */ overflow: hidden; text-align: center; } .feed_thumbnail a:hover { text-decoration: none; } .feed_thumbnail .outer_border { width: 19px; height: 19px; top: 1px; left: 1px; border-width: 0 1px 1px 0; } .feed_thumbnail .outer_border_layer2 { height: 18px; } .feed_thumbnail .outer_border_layer3 { height: 16px; } .profile_header_thumbnail { width: 42px; height: 42px; position: relative; margin-right: 10px; } .profile_header_thumbnail a { display: block; width: 38px; height: 38px; line-height: 38px !important; font-size: 0; background: #fff center center no-repeat; /*border: 1px solid $primary_color; */

overflow: hidden; text-align: center; } .profile_header_thumbnail a:hover { text-decoration: none; } .profile_header_thumbnail .outer_border { width: 39px; height: 39px; top: 1px; left: 1px; border-width: 0 1px 1px 0; } .profile_header_thumbnail .outer_border_layer2 { height: 38px; } .profile_header_thumbnail .outer_border_layer3 { height: 36px; } .profile_dashboard_thumbnail { width: 155px; height: 155px; position: relative; margin-right: 10px; } .profile_dashboard_thumbnail a { display: block; width: 151px; height: 151px; line-height: 151px !important; font-size: 0; background: #fff center center no-repeat; /*border: 1px solid $primary_color; */ overflow: hidden; text-align: center; } .profile_dashboard_thumbnail a:hover { text-decoration: none; } .profile_dashboard_thumbnail .outer_border { width: 152px; height: 152px; top: 1px; left: 1px; border-width: 0 1px 1px 0; } .profile_dashboard_thumbnail .outer_border_layer2 { height: 151px; } .profile_dashboard_thumbnail .outer_border_layer3 { height: 149px; } .profile_dashboard_thumbnail a { line-height: 151px; } .feed_nag_thumbnail { width: 135px; height: 135px; position: relative; margin-right: 10px; }

.feed_nag_thumbnail a { display: block; width: 131px; height: 131px; line-height: 131px !important; font-size: 0; background: #fff center center no-repeat; /*border: 1px solid $primary_color; */ overflow: hidden; text-align: center; } .feed_nag_thumbnail a:hover { text-decoration: none; } .feed_nag_thumbnail .outer_border { width: 132px; height: 132px; top: 1px; left: 1px; border-width: 0 1px 1px 0; } .feed_nag_thumbnail .outer_border_layer2 { height: 131px; } .feed_nag_thumbnail .outer_border_layer3 { height: 129px; } .feed_nag_thumbnail a { line-height: 131px; } .following_facepile_thumbnail { width: 33px; height: 33px; position: relative; margin-right: 10px; } .following_facepile_thumbnail a { display: block; width: 29px; height: 29px; line-height: 29px !important; font-size: 0; background: #fff center center no-repeat; /*border: 1px solid $primary_color; */ overflow: hidden; text-align: center; } .following_facepile_thumbnail a:hover { text-decoration: none; } .following_facepile_thumbnail .outer_border { width: 30px; height: 30px; top: 1px; left: 1px; border-width: 0 1px 1px 0; } .following_facepile_thumbnail .outer_border_layer2 { height: 29px; }

.following_facepile_thumbnail .outer_border_layer3 { height: 27px; } .following_facepile_thumbnail a { line-height: 29px; } .suggested_users_thumbnail { width: 64px; height: 64px; position: relative; margin-right: 10px; } .suggested_users_thumbnail a { display: block; width: 60px; height: 60px; line-height: 60px !important; font-size: 0; background: #fff center center no-repeat; /*border: 1px solid $primary_color; */ overflow: hidden; text-align: center; } .suggested_users_thumbnail a:hover { text-decoration: none; } .suggested_users_thumbnail .outer_border { width: 61px; height: 61px; top: 1px; left: 1px; border-width: 0 1px 1px 0; } .suggested_users_thumbnail .outer_border_layer2 { height: 60px; } .suggested_users_thumbnail .outer_border_layer3 { height: 58px; } .suggested_users_thumbnail a { line-height: 60px; padding: 2px; background-color: #fff; border: 1px solid #CCCCCC; } .infocard_thumbnail { width: 155px; height: 155px; position: relative; margin-right: 10px; } .infocard_thumbnail a { display: block; width: 151px; height: 151px; line-height: 151px !important; font-size: 0; background: #fff center center no-repeat; /*border: 1px solid $primary_color; */

overflow: hidden; text-align: center; } .infocard_thumbnail a:hover { text-decoration: none; } .infocard_thumbnail .outer_border { width: 152px; height: 152px; top: 1px; left: 1px; border-width: 0 1px 1px 0; } .infocard_thumbnail .outer_border_layer2 { height: 151px; } .infocard_thumbnail .outer_border_layer3 { height: 149px; } .infocard_thumbnail a { line-height: 151px; } .profile_navigation_thumbnail { width: 22px; height: 22px; position: relative; margin-right: 10px; } .profile_navigation_thumbnail a { display: block; width: 18px; height: 18px; line-height: 18px !important; font-size: 0; background: #fff center center no-repeat; /*border: 1px solid $primary_color; */ overflow: hidden; text-align: center; } .profile_navigation_thumbnail a:hover { text-decoration: none; } .profile_navigation_thumbnail .outer_border { width: 19px; height: 19px; top: 1px; left: 1px; border-width: 0 1px 1px 0; } .profile_navigation_thumbnail .outer_border_layer2 { height: 18px; } .profile_navigation_thumbnail .outer_border_layer3 { height: 16px; } .profile_navigation_thumbnail a { line-height: 18px; } .feed_large_thumbnail { width: 32px;

height: 32px; position: relative; } .feed_large_thumbnail a { display: block; width: 32px; height: 32px; line-height: 32px !important; font-size: 0; background: #fff center center no-repeat; overflow: hidden; text-align: center; } .feed_large_thumbnail a:hover { text-decoration: none; } .tiny_letter_thumbnail { width: 57px; height: 73px; position: relative; margin-right: 10px; } .tiny_letter_thumbnail a { display: block; width: 53px; height: 69px; background: #fff center center no-repeat; border: 1px solid #161312; } .tiny_letter_thumbnail a:hover { text-decoration: none; } .tiny_letter_thumbnail .outer_border { width: 54px; height: 70px; top: 1px; left: 1px; border-width: 0 1px 1px 0; } .tiny_letter_thumbnail .outer_border_layer2 { height: 68px; } .tiny_letter_thumbnail .outer_border_layer3 { height: 66px; } .thumbnail_thumbnail { width: 112px; height: 143px; position: relative; z-index: 500; margin-right: 10px; } .thumbnail_thumbnail a { display: block; width: 110px; height: 141px; background: #fff center center no-repeat; border: 1px solid #161312; text-align: center; overflow: hidden; }

.thumbnail_thumbnail a:hover { text-decoration: none !important; } .thumbnail_thumbnail a table { margin: auto; } .thumbnail_thumbnail a table tr td { height: 141px; vertical-align: middle; } .thumbnail_thumbnail .outer_border { width: 111px; height: 142px; top: 1px; left: 1px; border-width: 0 1px 1px 0; } .thumbnail_thumbnail .outer_border_layer2 { height: 141px; } .thumbnail_thumbnail .outer_border_layer3 { height: 139px; } .thumbnail_square_thumbnail { width: 104px; height: 104px; position: relative; overflow: hidden; margin-right: 10px; } .thumbnail_square_thumbnail a { display: block; width: 98px; height: 98px; overflow: hidden; background: #fff center center no-repeat; border: 1px solid #ccc; padding: 2px; } .thumbnail_square_thumbnail a:hover { text-decoration: none !important; } .thumbnail_large_thumbnail { width: 164px; height: 212px; position: relative; z-index: 500; margin-right: 10px; } .thumbnail_large_thumbnail a { display: block; width: 162px; height: 210px; background: #fff center center no-repeat; border: 1px solid #161312; } .thumbnail_large_thumbnail a:hover { text-decoration: none; }

.thumbnail_large_thumbnail .outer_border { position: absolute; width: 163px; height: 211px; top: 1px; left: 1px; border: solid #cccccc; border-width: 0 1px 1px 0; } .medium_thumbnail { width: 202px; height: 260px; position: relative; margin-right: 10px; } .medium_thumbnail a { display: block; width: 200px; height: 258px; background: #fff center center no-repeat; border: 1px solid #161312; } .medium_thumbnail a:hover { text-decoration: none; } .medium_thumbnail .outer_border { width: 201px; height: 259px; top: 1px; left: 1px; border-width: 0 1px 1px 0; } .medium_square_thumbnail { width: 193px; height: 198px; overflow: hidden; margin-right: 10px; } .medium_square_thumbnail a { display: block; width: 193px; height: 198px; background: #fff center center no-repeat; } /* page number in bottom right hand corner */ .no_of_pages { display: block; bottom: 1px; *bottom: 0px; right: 1px; *right: 1px; line-height: 12px; color: #fff; cursor: pointer; font-size: 9px; padding: 3px 5px 3px 5px; margin: 0px; position: absolute; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA= 0CAQAAABvcdNgAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAAHCAAABwgAc0Pm54AAAAJdnBBZwA=

AADQAAAA0ADETC0UAAAA/SURBVFjD7c1BEQAhDASw5cRSTVV7qKDDIzGQ9ac613WtPdAkyTf= TiEQikUgkEolEIpFIJBKJRKKnoq6JpusAEwwGZVBsK7AAAAAVdEVYdENyZWF0aW9uIFRpbWU= AMTIvNC8wORReFxsAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTItMDUtMTRUMTQ6MTI6NDEtMDc= 6MDDISsbGAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEyLTA1LTE0VDE0OjEyOjQxLTA3OjAwuRd= +egAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNAay06AAAAAASUVORK5CYII= =3D') no-repeat 0 0; _background: url('data:image/gif;base64,R0lGODlhNAA0AIABAFpST////yH5BA= EAAAEALAAAAAA0ADQAAAI3DI6py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zv= f+DwwKh8Si8YhMKpfMpvNQAAA7') no-repeat 0 0; } /* gold corner on purchasable doc thumbs */ .thumb_buy_banner { position: absolute; display: block; top: 1px; right: 1px; background: url('data:image/png;base64,R0lGODlhNAAzAPf/ANSzVMypRezJZOP= DbOG+W+/EReW+Sta3YvTSduTFc2xjSurHY+i8OuG1NcqtWvPdrPHPcda4Zum+PfLRevLPbsu= qTNmzROO5PfjepNW1XMSnU/jgqo58S9e5aezMeu7DQ+7DQvHKW/LMYffdoHdrSPLNYuzGVNq= 2S8mhLfDHUO7CQOLAY+q9N/DIUvHIVMGdM+3IXvLRddCzZPDHTLabTPTQb7uhXO3GUrifXfD= GTu3APdeuNMaqXqaNRLqcQ+vBR+W8RcetZ8anTdesMey+OfDIV+7ZrPLMXsWqYdmyPredWPL= NZPPQbO/ER8epVPHKWfDLYenGXvLQcurCScWoWcWlRezAP/bcn8umOcqkNPPOZradVezMdca= mSte6bbWYRey/OrqiZrecUsmiMPHLXO/FSfTRcO/ESt+9WrKVQ+vWqLaaUPTTeLaeX8WrZOK= 3OfTSc+7IWte8dNatNa2SRe/HVb+fQ/PPauzBQerIaLWZSo5+UZiCQ/DMZfLLWvLKWOi7Nun= FWsOlTuW/UcWiP+7GTq2WWO3AOvTRcvTPaOzLcfLLX/fhsvHJWGBaS+/GTfLantKuRN26U+/= KXunUp1JPRvLSfeO6Qea4NPPOZ+vKbvLLXdiwOezETeq/QLedU+7CPlNQSOvKcMqjMpmGUu7= BPNivN8uoPtarMPjgpsWkQsajQPXUevHNafHJVdi7b+3BPlNPRoR2UV9ZRvvltenVqPrktOr= VqEVFRfvktfDGS+zET/jfqPHJVu3CQOy/O7ifYOC8V+/QgOG/X+S/VseoUO/JW+fBULecTfD= FSMinSPHIUPDPd+zKbuvDS+vAPtSxTd+1OOzBRO3CQvLSgMyvXcmtYceubaSPVYJyRIp3QY5= 7R+jCVevEUcusUenEWO3HWPHNZuPFe/LOZfvktOrAQ/Dap/Tcpt+zM8GiSuvXqevETo+AVcO= oXvXfsO/FS+7FT9GvUfDNb82xYfDNa8KjR+7Yp8eeLLKbW+3ESr2fSPHOavLNauO+U0ZGRgA= AACH5BAEAAP8ALAAAAAA0ADMAAAj/AN3RshemDbCDwHAoXLhQCQ4lECFumbhFjEWLazKuoUF= Dj8ePX76kodPDxr8HtMxdcxOkZUs3MGMimYmEh82bPKjo3Kmhp08NgoIKTafPRxqT/4zYeiD= Hi5dXUJ067eClg9UIWLMeODBv64EMYMOCBUC2LIB4Fbr4aPevrRFaD8QlmEu3boIBdwfo3Wu= tkqEVgAEPWzGsMIHDBIIplgSgQj0ebduqs7XBg+XLXDJnVsRZlCJNzTTJCOXPH748C/IIWMA= 6iusogWAH+kZMEjRl1iK3VUNrg7AJwIGzYYMghnEpUiBAoBCBtII9/nC0CtenOpTr1ydNMmY= szrd+JwLk/9b9T11vahPYsGI1nDgCOHAQITLTwXmeO7JCHcg0TsuSEiWIcMQiR5ARwoEmEBO= eA+RJ1psl7Q2HwITxwUEfaf4ocF8euMjiH4AiCFiggX480YgJg5xQgRMNOrjBBBPGGN98F2Y= 4TygatuMPCf8FKOAim4RAhh+NNFIEiuGx2OI/auTyonHvwWdGDWaw448j9x1Qmj+hVPOfAwM= WGGQIT/zRiAtIBqDkkrX0xgxyNNZQAxNMWInDHYmQ4o8hwwQI3ScjllhkL660YIIBSS4ZWZs= bMAOBnFRSQOcd0OGwAAn+VONnaZ+Q+ESZrrjgQgu7IHqKBoou6iYFctLJxB14Qv9XWihRiCD= rJ5sI+kcvvYzqQgqlWnBKMalGdktvy8EKayKJZLIENgoo4IAIHHAagqDeENrCti3k0IkBwhJ= bbFuMyrMPP3hmosU4S/Qogp7+fEKmmdUiM2oK+ObgDLinCDHuorbwIk8rmRTcro8iLIKLP2J= c28gT1fpDw7b5vuMMEOH+a2zA9PQRjrslDIhGaWU28kfEE1ewTQqPzPDIFEAk0a/GqvJCDxT= /hXhEgSHMwvAT3FSLCw0pLNMDLnTkoMsZMMvsL81tHctLH1CEuAgZBoYAQCz+cOCzxC0s8wi= mFehSRhk/xIzF01D/QwktvAiwyNVBlvgEABjGUkHRKeT/gAsuZZjdxA+XJIFFF22rmooA3Pk= xL6+9VFDBMfk+UsGOZkfyRTmFr504wIsXEYKZjWi77TJ9t8zHjtlw7Y82l3By+OcbYwBDEUW= 6UmgL+Io9gy4GfO0PLgrw4UMSsldBu6q211HHqLzj2zLwCuASCx92APHBB55cwEkWyi9Pri2= pxHHD6X3nMMM7QFQfSyQFFLD9BxJ4D774AGMADjw5sKx+4GX4QiXgJ78PgAAP3fte+PD3j2P= prxCP0IUEz5aMZAAhftsDgQrwUD9T3I+B5KIFBkzQiXecrQxNaAIGt6eCFlpBAm8wxSgWCMJ= a2AID3cjHGVIYvwKC4Ict1AEM/2VIwxqKcBc8XKEGVeALWMBCiDEchSpASJ5akAMD65DG/EA= wDRUsERSw+AUDYjiGKVJRN7XIBQY6IY1pfMCLKnAiKHRAxzHuoIxnJI8DnYEHPDBRjnTUARH= sOIZV5LGKIpyCFazgxEDSUYwNuKMhD6mbW1zxB894og5KcYhODrIBc0DBJClpLFqM4Ae/+EU= pftFJMBABEG8YAgoIQUo9mlIaqTwEGHb5ygbIcpS1jJopy0GEXfISEL5EwQuCicgReIIIxSQ= CC5Apy2UyE42m9AQLoMkCFiTTmtcEmDO7Oc1vhrOZEugmNZV5TnSWs5rttOUIJIAJdMAzntg= cwQXQgTEKduJTN7y5QjT6Cc5/uoUWV5jDPQpq0KTQAhKjYGhDUQIJWjaUPIywxTku2iBG0CI= gADs=3D') no-repeat; _background: url('data:image/gif;base64,R0lGODlhNAAzAPf/ANSzVMypRezJZO= PDbOG+W+/EReW+Sta3YvTSduTFc2xjSurHY+i8OuG1NcqtWvPdrPHPcda4Zum+PfLRevLPbs= uqTNmzROO5PfjepNW1XMSnU/jgqo58S9e5aezMeu7DQ+7DQvHKW/LMYffdoHdrSPLNYuzGVN=

q2S8mhLfDHUO7CQOLAY+q9N/DIUvHIVMGdM+3IXvLRddCzZPDHTLabTPTQb7uhXO3GUrifXf= DGTu3APdeuNMaqXqaNRLqcQ+vBR+W8RcetZ8anTdesMey+OfDIV+7ZrPLMXsWqYdmyPredWP= LNZPPQbO/ER8epVPHKWfDLYenGXvLQcurCScWoWcWlRezAP/bcn8umOcqkNPPOZradVezMdc= amSte6bbWYRey/OrqiZrecUsmiMPHLXO/FSfTRcO/ESt+9WrKVQ+vWqLaaUPTTeLaeX8WrZO= K3OfTSc+7IWte8dNatNa2SRe/HVb+fQ/PPauzBQerIaLWZSo5+UZiCQ/DMZfLLWvLKWOi7Nu= nFWsOlTuW/UcWiP+7GTq2WWO3AOvTRcvTPaOzLcfLLX/fhsvHJWGBaS+/GTfLantKuRN26U+= /KXunUp1JPRvLSfeO6Qea4NPPOZ+vKbvLLXdiwOezETeq/QLedU+7CPlNQSOvKcMqjMpmGUu= 7BPNivN8uoPtarMPjgpsWkQsajQPXUevHNafHJVdi7b+3BPlNPRoR2UV9ZRvvltenVqPrktO= rVqEVFRfvktfDGS+zET/jfqPHJVu3CQOy/O7ifYOC8V+/QgOG/X+S/VseoUO/JW+fBULecTf= DFSMinSPHIUPDPd+zKbuvDS+vAPtSxTd+1OOzBRO3CQvLSgMyvXcmtYceubaSPVYJyRIp3QY= 57R+jCVevEUcusUenEWO3HWPHNZuPFe/LOZfvktOrAQ/Dap/Tcpt+zM8GiSuvXqevETo+AVc= OoXvXfsO/FS+7FT9GvUfDNb82xYfDNa8KjR+7Yp8eeLLKbW+3ESr2fSPHOavLNauO+U0ZGRg= AAACH5BAEAAP8ALAAAAAA0ADMAAAj/AN3RshemDbCDwHAoXLhQCQ4lECFumbhFjEWLazKuoU= FDj8ePX76kodPDxr8HtMxdcxOkZUs3MGMimYmEh82bPKjo3Kmhp08NgoIKTafPRxqT/4zYei= DHi5dXUJ067eClg9UIWLMeODBv64EMYMOCBUC2LIB4Fbr4aPevrRFaD8QlmEu3boIBdwfo3W= utkqEVgAEPWzGsMIHDBIIplgSgQj0ebduqs7XBg+XLXDJnVsRZlCJNzTTJCOXPH748C/IIWM= A6iusogWAH+kZMEjRl1iK3VUNrg7AJwIGzYYMghnEpUiBAoBCBtII9/nC0CtenOpTr1ydNMm= Yszrd+JwLk/9b9T11vahPYsGI1nDgCOHAQITLTwXmeO7JCHcg0TsuSEiWIcMQiR5ARwoEmEB= OeA+RJ1psl7Q2HwITxwUEfaf4ocF8euMjiH4AiCFiggX480YgJg5xQgRMNOrjBBBPGGN98F2= Y4TygatuMPCf8FKOAim4RAhh+NNFIEiuGx2OI/auTyonHvwWdGDWaw448j9x1Qmj+hVPOfAw= MWGGQIT/zRiAtIBqDkkrX0xgxyNNZQAxNMWInDHYmQ4o8hwwQI3ScjllhkL660YIIBSS4ZWZ= sbMAOBnFRSQOcd0OGwAAn+VONnaZ+Q+ESZrrjgQgu7IHqKBoou6iYFctLJxB14Qv9XWihRiC= DrJ5sI+kcvvYzqQgqlWnBKMalGdktvy8EKayKJZLIENgoo4IAIHHAagqDeENrCti3k0IkBwh= JbbFuMyrMPP3hmosU4S/Qogp7+fEKmmdUiM2oK+ObgDLinCDHuorbwIk8rmRTcro8iLIKLP2= Jc28gT1fpDw7b5vuMMEOH+a2zA9PQRjrslDIhGaWU28kfEE1ewTQqPzPDIFEAk0a/GqvJCDx= T/hXhEgSHMwvAT3FSLCw0pLNMDLnTkoMsZMMvsL81tHctLH1CEuAgZBoYAQCz+cOCzxC0s8w= imFehSRhk/xIzF01D/QwktvAiwyNVBlvgEABjGUkHRKeT/gAsuZZjdxA+XJIFFF22rmooA3P= kxL6+9VFDBMfk+UsGOZkfyRTmFr504wIsXEYKZjWi77TJ9t8zHjtlw7Y82l3By+OcbYwBDEU= W6UmgL+Io9gy4GfO0PLgrw4UMSsldBu6q211HHqLzj2zLwCuASCx92APHBB55cwEkWyi9Pri= 2pxHHD6X3nMMM7QFQfSyQFFLD9BxJ4D774AGMADjw5sKx+4GX4QiXgJ78PgAAP3fte+PD3j2= PprxCP0IUEz5aMZAAhftsDgQrwUD9T3I+B5KIFBkzQiXecrQxNaAIGt6eCFlpBAm8wxSgWCM= Ja2AID3cjHGVIYvwKC4Ict1AEM/2VIwxqKcBc8XKEGVeALWMBCiDEchSpASJ5akAMD65DG/E= AwDRUsERSw+AUDYjiGKVJRN7XIBQY6IY1pfMCLKnAiKHRAxzHuoIxnJI8DnYEHPDBRjnTUAR= HsOIZV5LGKIpyCFazgxEDSUYwNuKMhD6mbW1zxB894og5KcYhODrIBc0DBJClpLFqM4Ae/+E= UpftFJMBABEG8YAgoIQUo9mlIaqTwEGHb5ygbIcpS1jJopy0GEXfISEL5EwQuCicgReIIIxS= QCC5Apy2UyE42m9AQLoMkCFiTTmtcEmDO7Oc1vhrOZEugmNZV5TnSWs5rttOUIJIAJdMAznt= gcwQXQgTEKduJTN7y5QjT6Cc5/uoUWV5jDPQpq0KTQAhKjYGhDUQIJWjaUPIywxTku2iBG0C= IgADs=3D') no-repeat; width: 52px; height: 51px; cursor: pointer; } .thumb_buy_banner_small { display: block; position: absolute; top: 1px; right: 3px; background: url('data:image/gif;base64,R0lGODlhDwAPAKIAALWYRf////HJVdq= 2S////wAAAAAAAAAAACH5BAEHAAQALAAAAAAPAA8AAAMsOAHc3kSJSasYJAZrcZbc5H1bOJJ= mpmrcqYKU+5biasPyCub6xve/nm34SgAAOw=3D=3D') no-repeat; width: 15px; height: 15px; cursor: pointer; } /* TODO: kill these old classes */ .thumbnail .toolbar { text-align: left!important; margin: -20px auto 0; padding-left: 6px; }

.thumbnail .toolbar img { border: 0!important; } #hot_container .thumbnail img { border: 0; margin: auto; } .homepage .featured .group .thumbnail { float: left; } .description_box .inner_box .thumbnail .share { border: 0; margin-top: 0; } .description_box .inner_box .thumbnail .share img { border: 0; } .recommendations .thumbnail { margin: 10px 30px 0 0; text-align: center; } /* public/stylesheets/global/forms.css @ 1348517579 */ form p { margin: .5em 0 1em 0; } form .text, form textarea { padding: 3px; } form textarea { width: 300px; } .checkbox { border: 0 !important; } #login_spinner { float: left; } #login_form_login_lb .spinner { margin-top: 3px; } .radio { border: 0 !important; } .form { text-align: left; } .form .cancel_link { margin-left: 5px; } .form label { display: block; margin-bottom: 3px; margin-top: 10px; clear: left; } .form label.first { margin-top: 0 !important; } .form input.last { margin-bottom: 20px; }

.form label em { color: #777; font-size: 85%; font-style: italic; } .form h1 { margin-bottom: 15px; } .form p.filled_in { font-weight: bold; margin-top: 0; margin-bottom: 20px; } .form .input, .form .input_short { padding: 4px; margin-bottom: 0; width: 200px; } .form input.tight { margin-bottom: 0; } .form .input_short { width: 100px; } .form input.shorter, .form select.shorter { width: 50px; } .form .textarea { width: 350px; height: 150px; } .form .last { margin-bottom: 0 !important; } .form .fieldWithErrors .input { margin-bottom: 0; } .form .submit { border: 0 !important; } .form select { margin: 5px auto 5px auto; } .form table { border-collapse: collapse; } .form table tr td { padding: 10px; vertical-align: top; } .form .signupform { margin-right: 25px; } .form .w3 { width: 300px; } textarea.default, input.default, .form textarea, .form input { border: 1px solid #999; padding: 4px; }

/* public/stylesheets/global/new_submit.css @ 1348517579 */ button.new_submit { position: relative; height: 27px; border: 0; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAAB= sCAYAAABtlo7xAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3R= JTUUH2wwUFTg2bG4jfAAAA3dJREFUeNrt3c9qXHUUwPFz70wnxsmM5l9NalvRnYiLQoLu+gC= +go/jAwg+hSUrF7oTcedCrGAJBYt1I6JNGqKSf3N/x4Wu7MpFQg58Po9w4Mv53bn3zu0+//L= ru6/MZ58sTSYfdNGNArj2xn+dnD548+6d9+7c3o7MLjLSVOC6h/vs4Pnu9vZWnJ4vojXRQol= wI6If2hCLYTANKBRutJa2LVQLN1tGa800oFK4QxticFQGGxewcYH/htuGjGGwcaFWuDnE0Gx= cqHVUHpqjMlQKNyMi2xBNuFBr4y5axsI1LlQKN6M5KkO9jdvcDoKK4XoAA2xc4PLDHZprXCg= XbrbmqAylws2IoWUMwoWCG9d9XCgWbmRktEh/ggE1wm2ZMblxI/quj0UbItUL1z/c2cr014P= Do63ZyjTy32OzdOF66/afPP3o4Q/7Hx4dH988P79YNhIoEO7RnydvjcbjT/u+f7vv+6mRQIG= j8sNH+4v5dPrLZDK+F9GZCFQI9+z8Ym+2Ndu9tbUZ0XXhAhcKhHt4dLzz/s5GDC19NwiqhJu= ZnV+SoVi4ERHNvVsotnEjPHQBJTeuFwygYrg2LhQLN6OljQvlNm46KoNrXOCyw83w7xfgqAx= cSbiDX5WhVrjpGhdqblzhgnCByw83/TgFNi5wNeF6OwiKhZs2LpTcuN7HhZLXuMKFUuFmZqT= X+qBWuJsb6/HbwfNYnc9jPB6ZCBTQHf5x8tX3+4/v//7sME5OT00EKoR7ssjNiPg4Iu5HxOt= GAgWOyg8++2I5IlYiYss4oEi4o9Fob3U23V2dz0wDqoTbWttZe3VuElAp3O4fJgGVwo2I6IU= L9cLt+t4koNRROSL6TrhQ76jcOypDwXBtXKgVbidcsHGBqwi3Ey7YuIBwgRfD7YQLNTfuSLj= gqAxcSbienIJa4XoAA2puXG8HQblwO28HgWtcwFEZeDHcbM1f10C1cDfW1+Lxk6fxxu1b8dL= SkolAAT5BAhXD9QkSKHhU/ubb75bn0+nKZDLeinCtCyXCPTu/2Fu++fLuaxvrpgFVwj08Ot6= 59+47sWgt0ofpoUa4LbPLiAjRQhmevADhAsIFhAvCBYQLCBeECwgXEC4IFxAuIFxAuCBcQLi= AcEG4gHCB/xtutmYKUC3cjfW1+PGnn+P07Mw0oAifIIGK4foECdTzNwpkbjluU6vPAAAAAEl= FTkSuQmCC') no-repeat 0 0; padding: 0; margin: 0; cursor: pointer; overflow: visible; line-height: 14px !important; } button.new_submit:hover { background-position: 0 -27px; } button.new_submit:hover .inner { background-position: right -27px; } button.new_submit:active { background-position: 0 -54px; } button.new_submit:active .inner { background-position: right -54px; } button.new_submit.disabled { background-position: 0 -81px; } button.new_submit.disabled .inner { background-position: right -81px; color: #969696; } button.new_submit .inner { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAB= sCAYAAACviggwAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3R= JTUUH2wwUFgQuDrd8jAAAAetJREFUOMvlkkFrE1EUhc89M0LR1DahGhHduZOCCP4E/2yXgrh= 15UIKakGFWpXYDiaaVtM0JunMvcfFzDSTGsG9b/dx7n3vnvOu7b55q9l8fvTzdPzYxr9m6h1= leL9/0Oe8KNC9sYWT0aibFu4wCXnulkYIJgEA0ogAUYG7Q2YLxWpwdxhZQ1MJBwNVjzuCpcJ= wh6KUWHjAvQIPR9SKeyBCVU9EU3GEmlAry2URkOoLPBaPhqKyBjAhcSVNYADYunYVw5MROu3= NnHvv9nE6PssfPdh+immhfFrow7RQNz34+Cmdn+dr48mkbeNZrqzfR+9LNqAkbHU6GJ1Nuox= qgqJwMCREPY4kQKvMRahhW9HoiaaFy069DmSpzEPwZoirL1iC8oKVszUtRMTiFyQ1sm5akMp=

HzQzpeV7gZHSKWze3wGwwxHqrhYfb93vL8e48eZYCWAPQ5r27t9HZWL+TJMlzMiHa19dBsy7= NDKy2KqUZUC+fkbDqg1MaIauBBqHuIS/2oAT9HfQvUKeTJpcVLsDAah6SBI2NqVnlRiNoF2U= LpyzLWJcZDICZwbLvP/T5MEOe5+CL3ddw9xXxLm3v8XiiwbchDrOvA3oIG5sb5fZKAIRye9E= 4/xlIVby9/rF6RxncHXz5ag+S/oz3N7SEuTECM04pAAAAAElFTkSuQmCC') no-repeat to= p right; padding: 6px 10px 0 7px; margin: 0; color: #43494D; text-shadow: 1px 1px #F9FDFF; font-weight: bold; display: block; height: 20px; position: relative; left: 3px; font-size: 11px; white-space: nowrap; } button.new_submit.blue { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= SwAAABsCAYAAADQUo+tAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYA= AAAB3RJTUUH3AEKEhkT++kg+AAAA4VJREFUeNrt3bFqXmUcx/Hfc07yRqRLhxZEKEERxMVMh= WCKkZIpF9Ahd9ErCQjeQTadHTI7d1SziC2BtHGplUbNe87jkEvwHc4fPp9LeIYv//+TvOdpu= 8+eP0rybZLjJGMAFmorydmT4+ODx4eHacPgRIBFB2v/j8/28t3F63TnASw5WMNqZ/z9r5u0J= M15AEsOVk8yzJOTACqshD3DPDsJoEKwTFhAlWB1wQJKTVhrJwHUCFYzYQE1gtXTJsECikxYE= SygTrDcYQEVgtVNWEChCaubsIAaweqZTVhAlQlLsIBCwfJbQqBIsCZ3WECJYPVkWpuwgALBu= vuvBndYQJmV0IQFlAhWFyygSLB6z+SLo0CJYM3zea5eHc33H6Zvr5wIsOSVMCfjm8vT8c3l1= 0k+diQAAP9T81Q9UGkl9FQ9UCZY+/9+upfvf3md7q16YMnBGlc749W7v+/2Q+cBLDlYPUnr/= g8LqLESChZQJVhdsIAiwepJm922A0VWwnSflwGqBMuPn4E6E5ZgASYsgM0GqwsWUGfCcukOl= AhWz2zCAqyEAJsMVo8JC6gzYQkWUCJYPfFqDlBpwvJbQqBIsExYQKFgmbCAMiuhCQsoEKw+z= 5m9PgGUmLDm6fyf33492vroUdrqAycCLHolPLl9eXF6+/LCU/UAAJvgqXqg1Ep4tvfN04Mv9= r9Ka55SBZYdrP2bh7v58cWFp+qBZQdr2F6N13++T0uLAQtYdLB67xkGpQJqrITuroAiwWrJa= MICTFgAGwxWS8swDE4CMGEBbDRY/koIFJqwrIRAlWC5wwLqTFhWQqBIsGIlBMoEy0oI1Jmwr= ISAlRBgg8FqTbCAOhNWtxICVkIAExYgWAALDlafpvQIFlAiWOvzty9+Orr3+V7GD+85EWCx2= u6z5w+SnCbxVD0AwKYmLE/VAyVsJTl7cnx88Pjw0HexgMUHa//2ky/zw89XnqoHlh2scbUzX= r27udsPnQew5GD19Azz5CSAAithT1qfnQRQIFiJCQuoE6wmWECdYK2dBFAjWDFhATWC1ZNJs= IAiE1Y3YQFlVsLJHRZQIVg9ma2EQJUJS7CAIsHqggXUmbAmwQIEC2CDweo9WQsWUGfC8rUGo= EiwTFhAoWCZsIACwerpggUUmbB6zzQLFlAhWPN8vr56ddTuP0i2V04EWHCwkpNcX57260tP1= QMAbMJ/vm0jyluImpIAAAAASUVORK5CYII=3D'); } button.new_submit.blue .inner { color: white; text-shadow: 1px 1px 0px #184452; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AMAAABsCAYAAACviggwAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsTAAALEwEAmpwYA= AAAB3RJTUUH3AEFFQAFyRE6YgAAAd5JREFUOI2VlL9qVUEQxn+zWYXUxkqRSFrfIS8R0GcQB= LGx8AVSWVv4AikV0lwxIIqihQpBwT+E2Fyu6LW5mJMbdmYs9uw9u3AEPd2P75s9u9/OTty8f= ucE2Aduxtu7u+uvDw52Xk0mxIdHcy5vXQMm29FM+Xa6BDgfgyluCkAMZrh5gUZR3FeQcEsZx= BSKTVRBLQOqoFoggaZKKTWuCS+KqeJlgQxawAZF6xpNjVL9VNWG7WToD6dmYMoaaLTlkjCfA= ezHc5/eTYEJcCse792/RP/Fv8f76OucjaslXjVm3VmOV9wQ73cwAl5C9AFwhZI1ZmAlUTcoC= zSKm+ErW30lZoaVO21sZoZ5DUXR1uZDUzSK1oo1Ne54Po9G7U5I0+Mcb/fm6b/Ee+PuvfUPL= 1/sHD5/RnxyeMSFi1cAtqM7/Fh0Od4QBA/ShygC0sNaEFzGlBACVtfIoAgMSkAk9BACEsJID= RKg2AgBio36p61NAtArLtVGG1ujtIDQd4tG/b1g8fFtjne69+C/u/fxl59sbK66V5l11XBYt= Zi4IfQQmldvigyQkDIcmk6kHg5eT5dmOJgqtupeVUwbqB66DQ+9gqTV0lqPjVQPlNQqI8Mhx= 7s8xX99z/H65/fj8f4BL9O8MeIjQtQAAAAASUVORK5CYII=3D'); } /* public/stylesheets/global/nags.css @ 1348517579 */ .special_nag { border: #fff3b4 solid 10px; background-color: #fffdf1; padding: 15px;

margin-bottom: 15px; text-align: left; -moz-border-radius: 18px; -webkit-border-radius: 18px; border-radius: 18px; -webkit-box-shadow: 0px 0px 8px #cccccc; -moz-box-shadow: 0px 0px 8px #cccccc; box-shadow: 0px 0px 8px #cccccc; } .special_nag p.first, .queue p.first { text-align: left; } .special_nag .close { top: 20px; right: 20px; } .special_nag_blue { border: #B0D2F6 solid 5px; background-color: #fff; padding: 15px; margin-bottom: 15px; -moz-border-radius: 10px; -webkit-border-radius: 10px; } .onpage_specialnag .special_nag { width: 600px; margin-top: 20px; } div#topbar_anonymous_documents_awaiting_claim_container { background: #f6f6f6 url('/images/home/noise_bg.gif'); text-align: center; padding: 20px 0px; } div#topbar_anonymous_documents_awaiting_claim { background: white; margin: auto; text-align: left; width: 940px; } #topbar_anonymous_documents_awaiting_claim table.anonymous_docs_to_be_cl= aimed { width: 90%; } #topbar_anonymous_documents_awaiting_claim table.anonymous_docs_to_be_cl= aimed td { vertical-align: top; height: 70px; width: 80px; } #topbar_anonymous_documents_awaiting_claim span.anonymous_document_title= { font-size: 12px; } #topbar_anonymous_documents_awaiting_claim p.anonymous_documents_claim_t= op { margin-bottom: 10px; font-size: 14px; } #topbar_anonymous_documents_awaiting_claim .anonymous_documents_claim_ti= tle {

font-weight: bold; font-size: 16px; margin-right: 20px; } #topbar_anonymous_documents_awaiting_claim td.anonymous_documents_thumbn= ail_cell { padding-right: 5px; } #topbar_anonymous_documents_awaiting_claim table.anonymous_docs_to_be_cl= aimed td.anonymous_documents_email_cell { padding-left: 10px; padding-top: 10px; width: 100%; } #topbar_anonymous_documents_awaiting_claim div.email_form { float: left; margin-right: 5px; } div.anonymous_claims div.anonymous_claim_other { margin-top: 20px; border-top: 1px dotted black; padding-top: 5px; margin-left: 10px; margin-right: 10px; } div.anonymous_claims p.other_link { margin-left: 30px; } div.anonymous_claims .failure { font-weight: bold; color: red; } div.anonymous_claims .welcome_to_scribd { font-size: 16px; font-weight: bold; } div.anonymous_claims .subtext { margin-left: 10px; } div.anonymous_claims .never_email_me { margin-left: 10px; margin-top: 10px; } div.anonymous_claims .new_scribd_login, div.anonymous_claims .existing_s= cribd_login { font-family: monospace; } div.anonymous_claims div.anonymous_merge_accounts { margin-top: 10px; font-size: 10px; } div.anonymous_claims div.anonymous_merge_accounts p { font-size: 10px; } div.anonymous_claims div.anonymous_merge_accounts p.welcome_to_scribd { display: block; } div.anonymous_claims div.anonymous_merge_accounts p.welcome_back_line { font-size: 12px; }

div.anonymous_claims div.anonymous_merge_accounts input { margin-right: 15px; } div.anonymous_claims div.anonymous_claim_other form { display: inline; } div.anonymous_claims div.anonymous_claim_other p { display: inline; } div.anonymous_claims .please_enter_email { font-weight: bold; margin-left: 15px; color: red; } div.anonymous_claims .password_successfully_reset { display: block; margin-top: 10px; font-weight: bold; } .email_capture h1 { font-size: 30px; margin-top: 0; margin-bottom: 10px; color: #4e76a7; } .email_capture h3 { font-size: 16px; font-weight: normal; margin-bottom: 10px; } .email_capture .email_label { font-size: 14px; } .email_capture div.anonymous_claims div.anonymous_claim_other { /* margin-top: 200px; width: 700px; */ } /* public/stylesheets/global/image_button.css @ 1348517579 */ .image_button { padding: 0px; margin: 0px; border: 0; vertical-align: middle; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAAB= sCAYAAABtlo7xAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3R= JTUUH2wwUFTg2bG4jfAAAA3dJREFUeNrt3c9qXHUUwPFz70wnxsmM5l9NalvRnYiLQoLu+gC= +go/jAwg+hSUrF7oTcedCrGAJBYt1I6JNGqKSf3N/x4Wu7MpFQg58Po9w4Mv53bn3zu0+//L= ru6/MZ58sTSYfdNGNArj2xn+dnD548+6d9+7c3o7MLjLSVOC6h/vs4Pnu9vZWnJ4vojXRQol= wI6If2hCLYTANKBRutJa2LVQLN1tGa800oFK4QxticFQGGxewcYH/htuGjGGwcaFWuDnE0Gx= cqHVUHpqjMlQKNyMi2xBNuFBr4y5axsI1LlQKN6M5KkO9jdvcDoKK4XoAA2xc4PLDHZprXCg= XbrbmqAylws2IoWUMwoWCG9d9XCgWbmRktEh/ggE1wm2ZMblxI/quj0UbItUL1z/c2cr014P= Do63ZyjTy32OzdOF66/afPP3o4Q/7Hx4dH988P79YNhIoEO7RnydvjcbjT/u+f7vv+6mRQIG= j8sNH+4v5dPrLZDK+F9GZCFQI9+z8Ym+2Ndu9tbUZ0XXhAhcKhHt4dLzz/s5GDC19NwiqhJu= ZnV+SoVi4ERHNvVsotnEjPHQBJTeuFwygYrg2LhQLN6OljQvlNm46KoNrXOCyw83w7xfgqAx= cSbiDX5WhVrjpGhdqblzhgnCByw83/TgFNi5wNeF6OwiKhZs2LpTcuN7HhZLXuMKFUuFmZqT= X+qBWuJsb6/HbwfNYnc9jPB6ZCBTQHf5x8tX3+4/v//7sME5OT00EKoR7ssjNiPg4Iu5HxOt= GAgWOyg8++2I5IlYiYss4oEi4o9Fob3U23V2dz0wDqoTbWttZe3VuElAp3O4fJgGVwo2I6IU= L9cLt+t4koNRROSL6TrhQ76jcOypDwXBtXKgVbidcsHGBqwi3Ey7YuIBwgRfD7YQLNTfuSLj= gqAxcSbienIJa4XoAA2puXG8HQblwO28HgWtcwFEZeDHcbM1f10C1cDfW1+Lxk6fxxu1b8dL= SkolAAT5BAhXD9QkSKHhU/ubb75bn0+nKZDLeinCtCyXCPTu/2Fu++fLuaxvrpgFVwj08Ot6= 59+47sWgt0ofpoUa4LbPLiAjRQhmevADhAsIFhAvCBYQLCBeECwgXEC4IFxAuIFxAuCBcQLi=

AcEG4gHCB/xtutmYKUC3cjfW1+PGnn+P07Mw0oAifIIGK4foECdTzNwpkbjluU6vPAAAAAEl= FTkSuQmCC') no-repeat 0 0; height: 27px; display: inline-block; zoom: 1; *display: inline; cursor: pointer; } .image_button .inner { position: relative; left: 3px; padding-right: 8px; padding-left: 5px; height: 27px; display: block; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAB= sCAYAAACviggwAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3R= JTUUH2wwUFgQuDrd8jAAAAetJREFUOMvlkkFrE1EUhc89M0LR1DahGhHduZOCCP4E/2yXgrh= 15UIKakGFWpXYDiaaVtM0JunMvcfFzDSTGsG9b/dx7n3vnvOu7b55q9l8fvTzdPzYxr9m6h1= leL9/0Oe8KNC9sYWT0aibFu4wCXnulkYIJgEA0ogAUYG7Q2YLxWpwdxhZQ1MJBwNVjzuCpcJ= wh6KUWHjAvQIPR9SKeyBCVU9EU3GEmlAry2URkOoLPBaPhqKyBjAhcSVNYADYunYVw5MROu3= NnHvv9nE6PssfPdh+immhfFrow7RQNz34+Cmdn+dr48mkbeNZrqzfR+9LNqAkbHU6GJ1Nuox= qgqJwMCREPY4kQKvMRahhW9HoiaaFy069DmSpzEPwZoirL1iC8oKVszUtRMTiFyQ1sm5akMp= HzQzpeV7gZHSKWze3wGwwxHqrhYfb93vL8e48eZYCWAPQ5r27t9HZWL+TJMlzMiHa19dBsy7= NDKy2KqUZUC+fkbDqg1MaIauBBqHuIS/2oAT9HfQvUKeTJpcVLsDAah6SBI2NqVnlRiNoF2U= LpyzLWJcZDICZwbLvP/T5MEOe5+CL3ddw9xXxLm3v8XiiwbchDrOvA3oIG5sb5fZKAIRye9E= 4/xlIVby9/rF6RxncHXz5ag+S/oz3N7SEuTECM04pAAAAAElFTkSuQmCC') no-repeat to= p right; text-align: center; line-height: 24px; color: #43494D; text-shadow: 1px 1px #F9FDFF; font-weight: bold; font-size: 11px; white-space: nowrap; } .image_button .inner.has_icon { padding-left: 0px; } .image_button:hover { background-position: 0 -27px; } .image_button:hover .inner { background-position: right -27px; } .image_button:active { background-position: 0 -54px; } .image_button:active .inner { background-position: right -54px; } .image_button.disabled { background-position: 0 -81px; cursor: default; } .image_button.disabled .inner { background-position: right -81px; color: #8D9AA2; } .image_button.blue {

background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= SwAAABsCAYAAADQUo+tAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYA= AAAB3RJTUUH3AEKEhkT++kg+AAAA4VJREFUeNrt3bFqXmUcx/Hfc07yRqRLhxZEKEERxMVMh= WCKkZIpF9Ahd9ErCQjeQTadHTI7d1SziC2BtHGplUbNe87jkEvwHc4fPp9LeIYv//+TvOdpu= 8+eP0rybZLjJGMAFmorydmT4+ODx4eHacPgRIBFB2v/j8/28t3F63TnASw5WMNqZ/z9r5u0J= M15AEsOVk8yzJOTACqshD3DPDsJoEKwTFhAlWB1wQJKTVhrJwHUCFYzYQE1gtXTJsECikxYE= SygTrDcYQEVgtVNWEChCaubsIAaweqZTVhAlQlLsIBCwfJbQqBIsCZ3WECJYPVkWpuwgALBu= vuvBndYQJmV0IQFlAhWFyygSLB6z+SLo0CJYM3zea5eHc33H6Zvr5wIsOSVMCfjm8vT8c3l1= 0k+diQAAP9T81Q9UGkl9FQ9UCZY+/9+upfvf3md7q16YMnBGlc749W7v+/2Q+cBLDlYPUnr/= g8LqLESChZQJVhdsIAiwepJm922A0VWwnSflwGqBMuPn4E6E5ZgASYsgM0GqwsWUGfCcukOl= AhWz2zCAqyEAJsMVo8JC6gzYQkWUCJYPfFqDlBpwvJbQqBIsExYQKFgmbCAMiuhCQsoEKw+z= 5m9PgGUmLDm6fyf33492vroUdrqAycCLHolPLl9eXF6+/LCU/UAAJvgqXqg1Ep4tvfN04Mv9= r9Ka55SBZYdrP2bh7v58cWFp+qBZQdr2F6N13++T0uLAQtYdLB67xkGpQJqrITuroAiwWrJa= MICTFgAGwxWS8swDE4CMGEBbDRY/koIFJqwrIRAlWC5wwLqTFhWQqBIsGIlBMoEy0oI1Jmwr= ISAlRBgg8FqTbCAOhNWtxICVkIAExYgWAALDlafpvQIFlAiWOvzty9+Orr3+V7GD+85EWCx2= u6z5w+SnCbxVD0AwKYmLE/VAyVsJTl7cnx88Pjw0HexgMUHa//2ky/zw89XnqoHlh2scbUzX= r27udsPnQew5GD19Azz5CSAAithT1qfnQRQIFiJCQuoE6wmWECdYK2dBFAjWDFhATWC1ZNJs= IAiE1Y3YQFlVsLJHRZQIVg9ma2EQJUJS7CAIsHqggXUmbAmwQIEC2CDweo9WQsWUGfC8rUGo= EiwTFhAoWCZsIACwerpggUUmbB6zzQLFlAhWPN8vr56ddTuP0i2V04EWHCwkpNcX57260tP1= QMAbMJ/vm0jyluImpIAAAAASUVORK5CYII=3D'); } .image_button.blue .inner { color: white; text-shadow: 1px 1px 0px #184452; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AMAAABsCAYAAACviggwAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsTAAALEwEAmpwYA= AAAB3RJTUUH3AEFFQAFyRE6YgAAAd5JREFUOI2VlL9qVUEQxn+zWYXUxkqRSFrfIS8R0GcQB= LGx8AVSWVv4AikV0lwxIIqihQpBwT+E2Fyu6LW5mJMbdmYs9uw9u3AEPd2P75s9u9/OTty8f= ucE2Aduxtu7u+uvDw52Xk0mxIdHcy5vXQMm29FM+Xa6BDgfgyluCkAMZrh5gUZR3FeQcEsZx= BSKTVRBLQOqoFoggaZKKTWuCS+KqeJlgQxawAZF6xpNjVL9VNWG7WToD6dmYMoaaLTlkjCfA= ezHc5/eTYEJcCse792/RP/Fv8f76OucjaslXjVm3VmOV9wQ73cwAl5C9AFwhZI1ZmAlUTcoC= zSKm+ErW30lZoaVO21sZoZ5DUXR1uZDUzSK1oo1Ne54Po9G7U5I0+Mcb/fm6b/Ee+PuvfUPL= 1/sHD5/RnxyeMSFi1cAtqM7/Fh0Od4QBA/ShygC0sNaEFzGlBACVtfIoAgMSkAk9BACEsJID= RKg2AgBio36p61NAtArLtVGG1ujtIDQd4tG/b1g8fFtjne69+C/u/fxl59sbK66V5l11XBYt= Zi4IfQQmldvigyQkDIcmk6kHg5eT5dmOJgqtupeVUwbqB66DQ+9gqTV0lqPjVQPlNQqI8Mhx= 7s8xX99z/H65/fj8f4BL9O8MeIjQtQAAAAASUVORK5CYII=3D'); } .image_button.yellow { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= SwAAABRCAYAAABotpveAAAABmJLR0QA+QDJAAVSc9ATAAAACXBIWXMAAAsTAAALEwEAmpwYA= AAAB3RJTUUH3AERFgctbth6zgAAA9NJREFUeAHtwUGuXVcRQNFd59Z7RugHIfMtEAodBpGRW= GIi7qXBONzyHNIIDY8jsqJ0QQEDohEZO373VHFekGAKx9JeK7768voceAk8RZI2luO4vvri+= dOHx8+f0DUJBpK0oxx5e3h8VvDuHcxmTiRpS0lDvX8Pt6bOpiaStKWEJs4PzA/NvEEgSXtKl= r7dqFvTNxgDSdpSstQ8oWAAOZCkLSXLMYoYUBOqkKQtJct5Qk8IYE4kaUvJ0gVVwAkRSNKWk= oYq6IIuCCRpT8lSBRQEcDuRpC0lSwDdUBMCSdpTstSEnkDBCCRpS8nSDV0QjSRtK1mioQrmD= SKQpC0lyzmBhgjoRpK2lNwV3E6oj3BJJGlLydIFNaEnMJCkLSVLFXTxkzmRpC0lS7A0zBMmk= rSnZDkn9IQqJGlb2Q01oQpoqEaStpQs3UADDRSStKU8njzjX//8ns+eFN0QgSRtKf787Wu+/= dOLfvf3N0jSzuL92UjSpyBf//HJc+Al8BRJ2liO4/rqiz88Pjx+/jO6iohAknaUI8+Hx98M+= PEDzGZWIUk7Smjq448wizqbmo0k7ShZoibzVszbJJCkPSVL10nNomcxjkCSdpQ0VBV0MUaTR= yNJO0qW42jiaIqmGknaUrLMWXQ1QVOFJG0pWaqgJ9AQgSRtKbkroKELCCRpS8nS1dDNEc3th= iRtKVkioIGaEEjSnpK72VBNdJOBJG0pWbqBAhpJ2lZCM2iqmzqbCCRpS8lSE2gYQDeStKVki= YZ5gzrhkkjSlpKlq6mzqdkwkKQtJUtPoGE01IkkbSlZBkV3c55QSNKekobzBnWDOpGkbSVLT= +iCaKhGkraULNHN6KYbupCkLeW4PuNv3/+DX/0SKBiBJG0p3n73mm++ftE/vH2DJO0suhtJ+= hTEV19enwMvgadI0sZyHNdXv//dvx8efl50QwSStKUMPj784rMiArphTiRpS8ld8H+BJG0pW= Y4DZkE1jANJ2lKyRMAIYMAYSNKWkrsBEXAAl0SStpQs1wtUQxUQSNKWMoBiCTgSupGkLSUBM= aAbCBiBJG0pWWJA8F8RSNKWkruAMWAE3E4kaUvJcrnwP3lBkraU3AVEQAQcgSRtKVnGgAgYA= wJJ2lOy5AW6oRsIJGlLydLAOCCARpL2lASMAVXQDZdEkraULDEGNBAwDiRpS8ldHMSAEdBI0= p6S5TgSAuaEmkjSlpLlnBe6oZGkfSUE3cndCKhuJGlHyRKRRPCTno0k7SjH9ZG//uU9v/7tl= YjgOJCkLcXb717zzdcv+oe3b5CknUV3I0mfgv8ALLKRdBfrNKkAAAAASUVORK5CYII=3D');= }

.image_button.yellow .inner { color: white; text-shadow: 1px 1px 0px #997C17; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AMAAABRCAYAAAAXbhxDAAAABmJLR0QA+QDJAAVSc9ATAAAACXBIWXMAAAsTAAALEwEAmpwYA= AAAB3RJTUUH3AERFggnCZWPHwAAAcFJREFUOI1tk7GKFEEQhr+qrt0D3TNYdg8zwezEQHwHM= 43EZ/ABBBOFQzC8d9hYMFEjEQwMLxIfwMRDEfYWBO/Y3ZmuMpjp2T7Oieana/6/6qsee/9iH= MAKeGoPn91iebqZnrxdLYzzc2ZzRa2ZmF+sYSQQYL5ek0SAwLxpUBMADM947l4tqaNKd5Ize= NsLd1DvRTi401mHQ5QTAjpjMM8gufqGqIQOIqAtZU0LI68M4krolZzIlYF7FxrRl0XJ8YA/Z= 0ram2Nfv425Pj/k7uNjsQevNsUM+3S0V+F9fpvl6Xp68ma5MDZrZjcVtXZivt1A0kI0kyRK1= y3qWhr1HaqUAk2lzIPIXqFK1XDsJo0KLyBShAfkQVSTEkGXH52bD3QaSCXH29jtlIAoZRqO9= oAtNxBWb3tXFkgJzQFnvwIdz7Evn4P9g0PuPzkWe/S6wvvhZYX33p0tfy90+v3HtYUlgxv7j= rCdGDBs2EJ61ICpVAwkVWWjEehARzqGUoRIp0wTw2OaqluVUkVHtCKql0SqOrhk4E73/wgYo= ogObmnXqCbr58mY+6i3zli/PEAwVaturyu/f27R8Qz7+G71f7z/AK9T49Ps/Rn9AAAAAElFT= kSuQmCC'); } /* public/stylesheets/global/newhome.css @ 1348517579 */ .global_wrapper { background: url('data:image/gif;base64,R0lGODdhQABAAIQRAOTk5OXl5ebm5uf= n5+jo6Onp6erq6uvr6+zs7O3t7e7u7u/v7/Dw8PHx8fLy8vPz8/T09P/////////////////= //////////////////////////////////////////ywAAAAAQABAAAAF/mBCCARTHMUyIEO= TKMayoEHiIEaDLIXzCIKHAXFaGBSNBs9RIAwEDcVhwBAMFE6DY8EwJBCKRVJgYDQKgkKiUEA= QGo/q4TDzLRCMgUOR4KoUNw0MCAkGBA5XeHd6bgkJLT2GDgdJCgE5RANXVAkCDjkLAQosC28= PMgwLMDNmBg84ZwcISQ4ONlRNByWxBgG0BEJrDQ5WnjsECSiTjgIvZz0MPjgJDAePZkAMIio= ocQcKYYAMb46rDApsBei6ZTo9K3lmgEg6CDdT3y2UBwJ8Cw9JrgjiQkDNKQNN+AgYFI2NLVf= qiL0CREDWCihuHoCLccTLnlTIDmghoICBGVuq/mQpEPItlYEBbQC88MImj4hCMAgQ0UWiQJc= vBbQEKPAjlZIFtRQM+GZAwKw7DqI0gEmHgFUCXji1wFpRCpgFfXg4WVrmiTY9J/TAKdTgDTK= T2151ZKGrh4A7DVA0yTGpACSsZW5oUvOJzp4dRyax0FRSKZ4CLogYmPLRFgJCJlpAcdBlT1u= fMwx4Ea1GTD8cAxB2NJkDS7JDW9KpM3QIppN+yb5UM5S6EEI8lwmoWnGiT1QYfCIjspU3aJB= DggoBkfKQUL9zfkWOGpBMlhJrZDY25cwZRjWkImZ12YG0H0xDfpOFcYAVER+6hCSdLfXvm1K= /Q6QRVVSQvXTTEXkp/uWUHlxEUY1GaSDwwAGf0DfKWTZ8AgVVdNjwzCyjNAMSCaVsMYMMhDg= ywBsN3LXDIC4EhU4UXqwxyhsKltKVGHhgIVkCwwxCyBaa4IBDGfN9scqKIi3VRhJ5WVHCZAV= RMcMKj9y1gCetACGDTs24hYwYL1Rkhixv6AIHVtS48ggTR+zA0gg8OIWUTlMAecQ5eGqDAgs= 5vDQEd1q4wYMRtpRQk0kVIUKhEUw2sYZJteQRmSsMQDBEW8m8l0ZbCkAhywkiyVHFFrUoAYM= 9qqAomRKHpAKBAJToBtYhoj1UhRNImAQqJUbkNcU49D2xEmT2sDALJWgMcEoyp+zBDx4u/ui= hVJ6OIEVFIzkcEpRlMIgwREV9lBTHVIYIgkwJIvh1hgyACAKOVTssxgRAWmjT5jaVYIXDDGF= 46cJLu7RBBb3jFHTUMC1YEgpFou3TRsR5gNFUtbOhshRbYB21RR9klCuFTxOVtFhFWz6gzx6= ugGHGAzcYMcJlL4CDxGQDT/bSHDoUZA8WOhXLgBAFHcEFrTu4iFWJfBzwiophbvEAMCVoUwW= kCKFLYVJvDICUGCWOMcgaYMQqHzIl1WkxHZ7ohAd3bTlFTTIBOgLQAb7KwI9OPRT0bRLfREG= FCzbM8I1OR+ikQ14yc4cA3pro0qM2x8BMlEmDlDK0TzpMEdRi/uM4nZpV/ABpEiErSJE6Cm0= qcU4hSkIWWh4KQKCnLki4wYgUMkAVzRpGi6bUYG4gMhbedM4hBZLnULEqAguVCJohGBmhBUz= gnHPHf00MkgIltiw0hFJ5hCncUnlw1gUDAYDh9YSfNICQEeexTtAw8gsqA2M8GHKmKmrAwkJ= gJoIq2MAxOFAZPxToNR58pxHf6EPEqPCJTlwmLQHA0Vu6oIdk0KcUlBDO1Pqhi1IFoRpXcET= VZMGDDBbHBFOSnw6qsAp19EAHWniARq6XkKmEoymYe4UnAIGQFZHpHLyZDCAuwx0+qQAyZKj= Ftnx2wztkpROFo4Rk4AWJD1rhZb4o/lWoJKWGJgJpBtQoSEVglpgV5WEEqlFBKeAWlFTgjQd= TsEobCmIGHlRDOGkIxzhigA6C2GILUlkJOvLQIUBwZ0VBGQNYTNeUUI3jEWFwgqq+UJC7faJ= 3dzkYd9hwBFp14goFCIC0rkSNFIghj/RpwlI4k4RC6PEeWgDSIaQQhqm0bwc2csVSLkMhn4A= Pb34RTlAQMoqXlEdl8rOHToTBGUDB4BP6mKVIjACcUljBCD0YzigeIT/tsKlMTEiGDlQgCFW= NC1ZnwMmYelnBOajhU9bJS1sI9rh67cxr2/LMZIDExAnlhGZL0IUmrJI5v7AiKAeAgBncZzv= tJUAjThCB/t9MIAKvESMaTGjBHJsBpIDUp2g1oU8h6rCDFbxhGTHyWv689jghQIYkJfmCEog= xFTcQ4gGPmMNdznAIl5lgCJIawR6aGCAoZIgSosmBTvMSDW2QrGYxWEGhVioSKPUIEyWYIxv= WwJmKuIEPHdTWQsdClFjIrhtOOAEtucACkriDD7vZ1IocBZ1CnAKnnhJOH8akO6AipCLWUIN= wEEkp48ULpanAYgwOMRM8WCgKiBjEUkoiihd8LgyFMBSQAgATr0khHvNBgzpsRxJkBKAomJT= FOOQnIwoFKj7kGIUSsmaGPjSPH9UwCWRQMD7KDkCVxCDJ/BpwCblRZW5JKwGw/iCpCUEAihh= a/QFYHmDMrpQEEVfYg0+iJ4YVkcQko6iQRdRxhYXElShAaq8WiPFBJUxlnVZNA8DkwgI0vEF= Z3PEZFj4GvUdISDjXskIbZEuJocEHWXrAygloVQroqWEq58CBNYRjJvIppWgaYaIgqlGzM6l= hDaUY2ZGCIwVlJrMEWGDFHR53lTnAGBxwehx/8mC9GV6wBzmdzF7oxBdaufIhZwgHg4RD2zJ= gpjtPADIK2QATHHwSMo+AmwnoMOFecIESNDUBH+jTx8eZRBUwQob7dGALa5ANb5QJBx7NtD0= 6DGIhbkhBuPjxki6gkTM8eFxbrBIkCn1jqJBhZPPI/sDHxCFjQ10A6ium5oWBVEMks0kNeTQ=

cBNK2oK72YIIq3HCXIuoBETmoslKiYA0SbyEGPlnKEwiBNxyP7113eMFmFqwC7uCLRINpESL= Oio4QY5IukZhQT4RBrCLAGFe6IMmsyVCNUO10HLPxi9wmlK0pJAFn4SLCGnLDnjXgAtslwZt= 9XeKXIY3jFK9o9wkiYcPQolV4jpgFGcjkl+BCrxZiTAYRUtG/suEDeqEqrzWOuyfQ4M0NIkn= MHjqRA3WUoglIOcslhqECV9h4kpcZGSAmQQYwDNZr6drBHHBAhvFd9AsIoQRG2zlBIL3cQZ2= cwxUoZAPpgMUWbShOOdVwjFQ8DCKjXbBv4lwSBAelQoEz0IF8XjVa2RoOet82okiXsXMr3OC= cpOyIDRBiBWeVoBadGAWW10Uhp9BnqYWMWRdK0gyEtOEphEiCNlRRJT7gakVHIQJSlBJU+aE= xd7LrhyBiIJ+jh9gERKHHQuTHUBkAqQeh/UaDkUIEYvikgp1oBpZjIG73/uMFBwgBADs=3D'= ); min-height: 500px; overflow: hidden; padding-bottom: 40px; } @font-face { font-family: Athelas; src: url('/images/fonts/athelas-webfont.eot?1348517579'); src: url('/images/fonts/athelas-webfont.eot?#iefix') format("embedded-= opentype"), url('/images/fonts/athelas-webfont.woff?1348517579') format(= "woff"), url('/images/fonts/athelas-webfont.ttf?1348517579') format("tru= etype"), url('/images/fonts/athelas-webfont.svg#AthelasRgRegular') forma= t("svg"); font-weight: normal; font-style: normal; } #tooltip_container .new_tip { font-family: Arial, sans-serif; position: absolute; width: 100px; text-align: center; z-index: 1000; } #tooltip_container .new_tip .tip_inner { display: inline-block; zoom: 1; *display: inline; background: black; background: rgba(0, 0, 0, 0.8); border-radius: 4px; box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.4); padding: 4px 6px; font-size: 12px; color: white; } .divider { margin: 0px 1px; border-top: 1px solid #E2E4E5; } .divider .divider_bottom { border-top: 1px solid #CFD2D3; margin: 1px 3px 0px 3px; } .divider.brown { border-top-color: #d8d8d6; } .divider.brown .divider_bottom { border-top-color: #c8c5c0; } .home_container { background: white; border: 1px solid white; box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.4); }

.ie8 .home_container, .ie7 .home_container, .ie6 .home_container { border: 1px solid #ccc; } .loader { display: none; vertical-align: middle; background: url('data:image/gif;base64,R0lGODlhEAAQAPQAAO7u7mZmZuXl5a+= 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3D=3D') no-r= epeat; width: 16px; height: 16px; } .sprite { background: url('/images/newhome/icon-sprite.png?1348517579') 0 0 no-r= epeat; } .sprite.loc_pin { width: 9px; height: 13px; background-position: -15px 0px; } .sprite.logo_dark { width: 73px; height: 18px; background-position: 0px -92px; }

.sprite.logo_dark_big { width: 97px; height: 24px; background-position: 0px -60px; } .sprite.logo { width: 97px; height: 26px; background-position: 0px -117px; } .sprite.arrow_left { width: 36px; height: 62px; background-position: 0px -146px; } .sprite.arrow_right { width: 36px; height: 62px; background-position: -44px -146px; } .sprite.triangle { width: 13px; height: 8px; background-position: -78px -5px; } .sprite.white_tri_up { width: 9px; height: 5px; background-position: -94px -8px; } .sprite.white_tri_down { width: 9px; height: 5px; background-position: -94px -2px; } .sprite.white_tri_right { width: 5px; height: 9px; background-position: -98px -14px; } .sprite.black_tri_right { width: 5px; height: 9px; background-position: -71px -14px; } .sprite.share, .sprite.close, .sprite.reply, .sprite.comment { cursor: pointer; } .sprite.share:active, .sprite.close:active, .sprite.reply:active, .sprit= e.comment:active { position: relative; top: 1px; } .sprite.share { width: 12px; height: 11px; background-position: -13px -27px; } .sprite.share:hover { background-position: 0px -27px; }

.sprite.reply { width: 14px; height: 10px; background-position: -38px -14px; } .sprite.reply:hover, .trigger_sprite:hover .sprite.reply { background-position: -25px -14px; } .sprite.close { width: 12px; height: 13px; background-position: -26px 0px; } .sprite.close.brown { background-position: -52px 0px; } .sprite.close:hover { background-position: -39px 0px; } .sprite.comment { width: 13px; height: 12px; background-position: -13px -14px; } .sprite.comment:hover { background-position: 0px -14px; } .sprite.scribd_badge, .sprite.facebook_badge, .sprite.twitter_badge { width: 20px; height: 20px; background-position: -82px -147px; } .sprite.facebook_badge { background-position: -82px -167px; } .sprite.twitter_badge { background-position: -82px -187px; } .sprite.ad_choices { width: 12px; height: 11px; background-position: -79px -15px; } .sprite.to_reading_feed { width: 15px; height: 13px; background-position: -105px 0; } .sprite.to_reading_feed:hover, .has_icon:hover .sprite.to_reading_feed {= background-position: -105px -14px; } /* public/stylesheets/document_collection.css @ 1348517579 */ /* Mixins */ .document_collection_form_container { background: #D7E8FA; padding: 5px 5px 10px; } .document_collection_form_container form, .document_collection_form_cont=

ainer .form_header { vertical-align: middle; margin: auto 5px; float: left; } .document_collection_form_container .form_header { margin-top: 5px; } .document_collection_form_container form { margin-left: 5px; } .document_collection_form_container form div { margin-top: 5px; } .document_collection_form_container form label { font-size: 11px; color: #666666; display: block; text-align: left; width: 100%; } .document_collection_form_container form div.error, .document_collection= _form_container form .name label, .document_collection_form_container fo= rm .detail { display: none; } .document_collection_form_container form textarea { height: 65px; } .document_collection_form_container form .text_field, .document_collecti= on_form_container form textarea { width: 100%; border: 1px solid #CCCCCC; padding: 4px; color: #999999; } .document_collection_form_container form select { padding: 2px; } .document_collection_form_container .buttons_container .spinner { margin: 5px; } .document_collection_form_container .buttons_container a { font-size: 11px; margin-left: 0; padding-left: 10px; } .document_collection_form_container .buttons_container a.cancel { color: #1E5388; text-transform: none; } .document_collection_form_container .buttons_container a.destroy { color: red; } .document_collection_form_container_open .form_header, .document_collect= ion_form_container_open form { display: block; } .document_collection_form_container_open form { width: 98%; }

.document_collection_form_container_open form div.error, .document_colle= ction_form_container_open form .name label, .document_collection_form_co= ntainer_open form .detail { display: block; } .document_collection_form_container_open form label { margin-bottom: 3px; } .document_collection_form_container_open form div { margin-bottom: 5px; } .document_collection_form_container_open form .text_field, .document_col= lection_form_container_open form textarea { background-color: #FCF7C4; color: #363636; } .document_collection_form_container_open form #document_collection_name = { width: 100%; } .document_collection_form_container_open .privacy_explanation { font-size: 11px; } .document_collection_form_container_open span#dynamic_privacy_explanatio= n { font-size: 11px; margin-left: 10px; color: #666666; } .document_collection_form_container_open a.create_new_theme { font-size: 11px; padding-left: 10px; } .document_collection_summary .metadata_label, .document_collection_conta= iner .metadata_label { margin-right: 5px !important; } .document_summary { margin-top: 1px; padding: 1em; border-bottom: none; width: auto; clear: both; } .document_summary .description { margin-right: 30px; margin-top: 5px; color: #555555; font-size: 11px; } .document_summary .document_thumbnail_shadow { position: relative; margin: 0; padding-bottom: 9px; background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUh= EUgAAADwAAAAeCAIAAAD/+uoYAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsSAAALEgHS3X7= 8AAAAFXRFWHRDcmVhdGlvbiBUaW1lADcvMTIvMTBSusy+AAAAHHRFWHRTb2Z0d2FyZQBBZG9= iZSBGaXJld29ya3MgQ1M0BrLToAAAA2pJREFUWIW9l9GaozAIhTkQ7bz/+81b7MVUO7IXGMS= QZLpzsenXFGPUH3ICFp+fn/u+b9v2fD63bdv3/fv7+zgOVaXaAHSNUd80u9WoHxkAADCziCz=

Lsq7r4/FY13VZlhLJbFLEHZFlY8TdUFqb0DfczMzM/iBrJeKKiE09jqOLmIkbO0c6UnbRs1f= RDQAiIiLx5ie0OSQiRGTEMfyZrMs6j/SEfuKVR1NEDJKIij3SY2xGI4wMOhGJG41Sfwxtlz6= qwONdjN2aCdpdnJA1g5m4iXRGH/WNQXf1WryLHdu5OHVCNgLNgu5yjzzJ6xBJEDZlaULYaGN= O1qWMg3HRsg8j7jzNH31pmohcJPkxP5JN2vzaH10aRbCYKkaKfBPud23kUmZtJhQR2bYtVsT= X69WtiF2ddJNdN3tQ2m3dU37oOi6lxIq4rmvpblJ3d8KXD/NyvZnsur21XBFVtfjzvCJSzX0= Tsq4db+1tkolHaS72RuXc1joV0V8/JmRx+zZzkgh/wJ17gnuGhm/E+NaRK2KXbCKSEXRXGKN= 4ux1V4NzF4lpKMeLmxWNClkEjMUISoLFwszN53B7h7x5nRfSa7pc1HJks9hm3Yc2HzYabO+M= LfquINtTE5h2yrhgm0F30uT/xttdG9BjnqW+STdr82vdditzUVMT8jDfhftdGLkVVdCeUP69= 13/fn9nx+fW3b9tq3VBHr5edv/MH1qcPnh0hJ6fzxjy3oaRP1O0oVsSzruq6Pj4/H+liWpRg= aLCPW7HJ3N5EB4TAa59lbZFT1lh7OkeiGDVx6rh0BDMa9JCpRgUXH6otIUQWghyrpkOw2BIA= A9jRDSbUhl1UP0tf4b+uhSiAGswiLMLOFA0SFQBVYVA8QsXL1c0gWG8Wvi6NGJfDkAnLzxJf= EbSKyUEuplYWZQAVg5sNjzHJorS9DsvOLK7ruHl3Yraad9xbXSnjZl1+OwSwnNwCwVUQpQiC= wSDkOrTIfkgWRO+iVIanuEq3BvleMuCEbRxqf7Oq6IVlMJ5anhRkg8CllVboC1iEL9r2755o= L9lKKxlH1taikjQMUk4RtSNuXBQAxswJg4pDn3iDzAwptAN3zI5vJn+sBQavFIqf3/xr/RDZ= pnWlhqHXJBdE9G3JTAaBGFt6TLmX+z4pYY3SViIa7RvwvxsElK7So4IsAAAAASUVORK5CYII= =3D') no-repeat 50% 66px; width: 60px; float: left; margin-right: 10px; } .document_summary .document_thumbnail_shadow a:hover { text-decoration: none; } .document_summary .document_thumbnail_shadow .thumbnail { float: none; width: 54px; height: 70px; background-color: #fff; padding: 2px; border: 1px solid #ccc; /* @include box-shadow(#999, 1px, 1px, 3px);*/ } .document_summary .document_thumbnail_shadow .thumbnail .no_of_pages { background-image: none; background-color: #fff; border: 1px solid #ccc; border-right: 0; border-bottom: 0; -webkit-box-shadow: -1px -1px 2px #dddddd; -moz-box-shadow: -1px -1px 2px #dddddd; box-shadow: -1px -1px 2px #dddddd; -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; border-radius-topleft: 5px; color: #999; font-size: 10px; bottom: 10px; right: 1px; } .document_summary .document_thumbnail_shadow .thumbnail { background-color: #FFFFFF; border: 1px solid #CCCCCC; float: none; height: 70px; padding: 2px; width: 54px; } .document_collection_container { margin-top: -1px; background-color: #fff;

padding: 10px; text-align: left; } .document_collection_container .toolbar { font-size: 11px; margin-bottom: 8px; } .document_collection_container .toolbar label { color: #666666; margin-right: 5px; font-size: 11px; } .document_collection_container .toolbar select { font-size: 11px; padding: 2px; margin-right: 15px; } .document_collection_container .finished { float: left; font-weight: bold; margin: 10px; } .document_collection_container .paginator { float: right; clear: none; } .document_collection_container .blank_state_message { font-size: 13px; background-color: #E9E8E7; padding: 10px; } .document_collection_container .no_content { margin-bottom: 15px; } .document_collection_container form .buttons_container { line-height: 25px; } .document_collection_container form .buttons_container .separator { margin-left: 0.5em; margin-right: 0.5em; } .document_collection_container form .buttons_container .destroy { color: red; font-weight: bold; } .document_collection_container .document_collection_form_container { padding-top: 5px; margin-top: 1px; } .document_collection_container .document_collection_form_container form = { width: 740px; } .document_collection_container .document_collection_form_container_open = form { width: 925px; } .document_collection_container .right_toolbar { float: right; padding-bottom: 0.5em; }

.document_collection_container .right_toolbar .approve { font-weight: bold; color: #009933; } .document_collection_container .right_toolbar .reject { font-weight: bold; color: #990000; } .document_collection_container .document_collections { font-size: 11px; } .document_collection_container .document_collections .document_collectio= n_summary { background: url('data:image/gif;base64,R0lGODlhAQALALMAAPHx8evr6+jo6O/= v7/z8/Pn5+e3t7ff39/T09P///wAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAABAAs= AAAQJMJFyEBgmiBQBADs=3D') repeat-x scroll left bottom white; border-top: 1px dotted #999999; } .document_collection_container .document_collections .document_collectio= n_summary .stats { margin: 5px auto; } .document_collection_container .document_collections .document_collectio= n_summary .summary .name, .document_collection_container .document_colle= ctions .document_collection_summary .summary ol { margin-bottom: 5px; } .document_collection_container .document_collections .document_collectio= n_summary .summary .documents_preview ol li { color: #999999; list-style-type: decimal; list-style-position: inside; } .document_collection_container .document_collections .document_collectio= n_summary .summary .documents_preview ol li a { font-size: 11px; } .document_collection_container #choose_view { float: right; margin-right: 5px; } .document_collection_container .list_view .right_toolbar { padding: 0px; margin-top: 5px; } .document_collection_container .list_view .document_collection_summary {= padding-bottom: 10px; padding-top: 10px; } .document_collection_container .list_view .document_collection_summary .= summary { width: 95%; } .document_collection_container .list_view .document_collection_summary .= summary .name { display: inline; float: left; white-space: nowrap;

overflow: hidden; width: 520px; margin-bottom: 0px; margin-right: 1em; } .document_collection_container .list_view .document_collection_summary .= summary .name a { white-space: nowrap; } .document_collection_container .list_view .document_collection_summary .= summary .stats { margin: 0; float: right; padding-top: 5px; } .document_collection_container .list_view .document_collection_summary .= summary .stats .privacy { width: 100px; } .document_collection_container .list_view .document_collection_summary .= summary .stats .updated_at { zoom: 1; *display: inline; display: inline-block; text-align: left; } .document_collection_container .list_view .document_collection_summary .= summary .stats .docs_count { zoom: 1; *display: inline; display: inline-block; text-align: left; width: 80px; } .document_collection_container .list_view .document_collection_summary .= large_shelf, .document_collection_container .list_view .document_collect= ion_summary .summary .description, .document_collection_container .list_= view .document_collection_summary .summary .documents_preview { display: none; } .document_collection_container .on { background-color: #F4F3F3; } .document_collection_container .private { color: #990000; } .document_collection_container .public { color: #009933; } .document_collection_container .document_summaries { font-size: 11px; } .document_collection_container .document_summaries .stats_bottom li { font-size: 11px; } .document_collection_container .document_mixed { text-align: left; margin: 0; padding: 10px 0 5px 0; height: 110px;

border-bottom: dotted 1px #ccc; } .document_collection_container .document_mixed a.duplicates_note { display: none; } .document_collection_container .document_mixed .subtle_close_button { margin-left: 5px; } .document_collection_container .document_mixed .username { padding: 0; color: green; font-weight: normal; } .document_collection_container .document_mixed .name_link { color: #136C8C; font-size: 15px; font-weight: bold; } .document_collection_container .document_mixed .name_link:hover { text-decoration: none; color: #1B89B3; } .document_collection_container .document_mixed .document_body { width: 600px; margin-right: 10px; } .document_collection_container .document_mixed .document_body.full { width: 580px; margin-right: 0; } .document_collection_container .document_mixed .document_body .bottom_co= ntrols .clearfix { margin-bottom: 5px; } .document_collection_container .document_mixed .document_thumbnail_shado= w { position: relative; margin: 0; padding-bottom: 9px; background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUh= EUgAAAE0AAAAICAIAAAAz/uU4AAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsSAAALEgHS3X7= 8AAAAFXRFWHRDcmVhdGlvbiBUaW1lADcvMTIvMTBSusy+AAAAHHRFWHRTb2Z0d2FyZQBBZG9= iZSBGaXJld29ya3MgQ1M0BrLToAAAAQJJREFUOI2llMGywyAIRRFw8v//mk1CIl3wHnWCUqd= lkbmCRE+upuz7fp6niIjIcRwicl3Xfd+tNVUtpQAAAEThepaJ+V6oai4+TojJUgoiEhEz11q= 3bau11lqZmW1tCyJqrQEAIqpqwjkc9snZ/Bg9VXwuDp3TUYnIuQDgj9Nq1mO0piPGR8Ih2+9= +xuRQGwsiMjMRIaKhsjtpkxyy55yRLCIlZg7BhnrxVLulvatgfiKib0hV7eg+Ir+KEXIRdcY= 2K+V31cNsxP94++mF/gzMABK2IU/u53A5WPsEs94SgqFzZta2sukE5jvOvLq+1SfnSs9s+Ev= kr4rVx48jAe5v1gtIKvn5opeImwAAAABJRU5ErkJggg=3D=3D') no-repeat center bot= tom; width: 78px; padding-bottom: 8px; } .document_collection_container .document_mixed .document_thumbnail_shado= w a:hover { text-decoration: none; } .document_collection_container .document_mixed .document_thumbnail_shado= w .thumbnail { float: none; width: 72px;

height: 93px; background-color: #fff; padding: 2px; border: 1px solid #ccc; /* @include box-shadow(#999, 1px, 1px, 3px);*/ } .document_collection_container .document_mixed .document_thumbnail_shado= w .thumbnail .no_of_pages { background-image: none; background-color: #fff; border: 1px solid #ccc; border-right: 0; border-bottom: 0; -webkit-box-shadow: -1px -1px 2px #dddddd; -moz-box-shadow: -1px -1px 2px #dddddd; box-shadow: -1px -1px 2px #dddddd; -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; border-radius-topleft: 5px; color: #999; font-size: 10px; bottom: 10px; right: 1px; } .document_collection_container .document_mixed .document_thumbnail_shado= w .thumbnail .no_of_pages { bottom: 9px; } .document_collection_container .document_mixed .manage_collection { margin-top: 5px; margin-right: 15px; float: left; } .document_collection_container .document_mixed .manage_collection .add_t= o_collections { background: transparent url(/https/www.scribd.com/images/search/btn_collection_87x20.png) n= o-repeat scroll 0 0; display: block; width: 87px; height: 20px; padding: 0; overflow: hidden; text-indent: -9999px; } .document_collection_container .document_mixed .manage_collection .add_t= o_collections:hover { background-position: 0 -20px; } .document_collection_container .document_mixed .manage_collection .add_t= o_collections:active { background-position: 0 -40px; } .document_collection_container .document_mixed .document_meta .meta_node= { font-size: 11px; } .document_collection_container .document_mixed .document_meta.pills { display: block; float: right; width: 145px; }

.document_collection_container .document_mixed .document_meta.pills .met= a_node { display: block; padding: 7px; background-color: #eee; margin-bottom: 1px; font-size: 11px; } .document_collection_container .document_mixed .document_meta.pills .met= a_node label { float: left; color: #999; text-shadow: 0px 1px 0px #fff; } .document_collection_container .document_mixed .document_meta.pills .met= a_node strong { float: right; font-weight: normal; color: #333; } .document_collection_container .document_mixed .document_meta.pills .met= a_node.top { -moz-border-radius-topleft: 3px; -webkit-border-top-left-radius: 3px; border-top-left-radius: 3px; border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 3px; border-top-right-radius: 3px; border-radius-topright: 3px; } .document_collection_container .document_mixed .document_meta.pills .met= a_node.bottom { -moz-border-radius-bottomleft: 3px; -webkit-border-bottom-left-radius: 3px; border-bottom-left-radius: 3px; border-radius-bottomleft: 3px; -moz-border-radius-bottomright: 3px; -webkit-border-bottom-right-radius: 3px; border-bottom-right-radius: 3px; border-radius-bottomright: 3px; } .document_collection_container .document_mixed .document_thumbnail { float: left; margin-right: 10px; } .document_collection_container .document_mixed .document_title { font-size: 16px; line-height: 16px; font-weight: bold; margin-bottom: 5px; } .document_collection_container .document_mixed .document_body { float: left; } .document_collection_container .document_mixed .document_description { margin: 0 0 5px; line-height: 13px; overflow: hidden;

color: #999; font-size: 11px; } .document_collection_container .document_mixed .document_attribution { line-height: 13px; color: #999; font-size: 11px; margin: 0; } .document_collection_container .status_spinner { margin: 5px; } .document_collection_container #add_documents { margin-top: 1px; background-color: #C4E3F8; padding: 10px; } .document_collection_container #add_documents #status_loader { margin-top: 1em; } .document_collection_container #add_document_query label, .document_coll= ection_container #add_document_query select { margin-right: 10px; } .document_collection_container #add_document_query label { font-weight: bold; margin-top: 5px; } .document_collection_container #add_document_query select { margin-top: 2px; } .document_collection_container #add_document_query #document_search_type= { width: 175px; } .document_collection_container #add_document_query #document_search_quer= y { width: 515px; } .document_collection_container #add_document_query #recent_documents { width: 565px; } .document_collection_container #add_document_query input, .document_coll= ection_container #add_document_query select, .document_collection_contai= ner #add_document_query label { float: left; } .document_collection_container #document_search_result_container { margin-top: 1em; } .document_collection_container #document_search_result_container .docume= nt_summary { text-align: left; background-color: #F4F3F3; border-bottom: 1px solid #AAAAAA; } .document_collection_container #document_search_result_container .docume= nt_summary .add_document { display: block; width: 21px;

height: 21px; background: url(/https/www.scribd.com/images/buttons/btn_add_21x21_blue.gif) no-repeat 0 0;= } .document_collection_container #document_search_result_container .docume= nt_summary .add_document:hover { background-position: 0 -21px; text-decoration: none; } .document_collection_container #document_search_result_container .docume= nt_summary p.document_attrition { font-size: 11px; color: #999; } .document_collection_container #document_search_result_container .docume= nt_summary p.document_attrition .username { color: green; } .document_collection_container #document_search_result_container .docume= nt_summary .document_meta.pills .meta_node label { color: #999; text-shadow: 0px 1px 0px white; font-weight: normal; } .document_collection_container #document_search_result_container .docume= nt_summary .document_meta.pills .meta_node strong { font-weight: normal; color: #333; } .document_collection_container #document_search_result_container .confir= mation { float: left; margin-right: 10px; } .document_collection_container #document_search_result_container .added = { background-color: #FFF4B7; } .document_collection_container #document_search_result_container .added = .added { font-weight: bold; } .document_collection_container #new_documents_container input, .document= _collection_container #new_documents_container .non_owner .right_toolbar= { display: none; } .document_collection_container #new_documents_container .document_summar= y { background-color: #E9F2FC; } .document_collection_container #new_documents_container .document_summar= y .document_thumbnail_shadow { background-position: 50% 56px; } .document_collection_container .pending_documents .added { background-color: #FFF4B7; } .document_collection_container .pending_documents .added .added { font-weight: bold; }

.document_collection_container .menu_seperator { border-left: 1px dotted #888888; width: 1px; } .document_collection_summary { padding-bottom: 15px; padding-top: 10px; font-size: 11px; clear: both; } .document_collection_summary .description { margin: 5px auto; } .document_collection_summary .description p { margin: 0; font-size: 11px; color: #666; } .document_collection_summary .summary h4.name { display: inline; font-size: 18px; } .document_collection_summary .toolbar { margin-left: 10px; } .document_collection_summary ul.stats { margin-top: 0.5em; } .document_collection_summary ul.stats li { font-size: 11px; display: inline; padding-right: 1.2em; } .document_collection_summary ul.stats li.privacy span { font-weight: bold; text-transform: capitalize; } .document_collection_summary ul.stats li.privacy .private { color: #990000; } .document_collection_summary ul.stats li.privacy .public { color: #009933; } .document_collection_summary .large_shelf, .document_collection_summary = .summary { float: left; text-align: left; background-color: transparent; } .document_collection_summary .large_collection { margin-right: 15px; } .document_collection_summary .large_shelf.large_collection .shelf_thumbn= ail_shadow { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHYAAAA= UCAIAAADX+V4XAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsSAAALEgHS3X78AAAAFXRFWHR= DcmVhdGlvbiBUaW1lADcvMTIvMTBSusy+AAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29= ya3MgQ1M0BrLToAAAArVJREFUWIW9mMu64yAIgFVM3v9hu4q3WdgyVAQvdYbF+RAhR38Jwdr= X65VSSimFEEIIz/M8zxNCSCnFGEspOWdDxFqrDBWHVbuil1KGOh1Kdn1qxt8Y45yz1nrvAeC=

6rvu+7/u+ruu6LgAAAN/EWGudc865nDMA5Jw5i19gcaPuxo+wu/kuzQ2j4iOFVGLIrVlwKcX= T7aEAgDEm59yksDkBa+isePINK5QbhQMavg16CF0/AFS+KDjrG1fnXOVrrc050yeegrVHvys= z1IbEFdwzZ2PIq4+g6axH6tWjBtdCUUqhr8MpWDOKGcGlspGA87nPFW5HgJVhk9HefA4BAzh= fafMbsFYLetfS7JBbZmrrvM+wptM0xVzGdPa4Dedc1StufPq/gzXM2ZlEHvYAS8PVs6k6vrI= UNC7eo4a5bdjpnYWlgJsvDpJ0iXenNvoz/QlIr/nuvQtF/VtzVlmlOQRriHKVtZIN6DD/5dS= nhnyQ9btQINlmicNFz8zOOByR7WUcPBupitp6tYsxxhifj4QQYowpJfrdW60AM1NLxV3aWzM= cdrtLU3xIjVh8AcB7j7e7+7699/XK93W7awq2+VQPZcPzsBTjjEXaJNVXGzXFLjlzS/OJwyq= Bzr6Jp52HJc3cQVg8vFGkYXerG22sovAo3c18I+b3DkObNgrXfHfHZ2FtPE2R7SuDNJQcpJA= GHU3n6vx1u+vyVdj9jl4COklZf/f3KsmQNf+nCmVbmzbzqQ8S3+OwJIJL+Utl+/owadQtpkf= 5bxabD190LaU0PwDhVKNIxhk7n9KdJVm6UCjfLmlq5sBwtbQoI2WLCVsF4SqI+XAP1jBqQ3T= EilHvHPSGrymbze3O1l+EESutD7yX4EPJqMMaovylUJxykEKkvgIV/Na9/3KmUnBXjsP6z3L= wbKT6+QcyTHTEAAxd9wAAAABJRU5ErkJggg=3D=3D') no-repeat scroll center 173p= x transparent; } .document_collection_summary .summary, .document_collection_summary .doc= ument_collection_form_container { width: 730px; } .document_collection_summary .document_collection_form_container { float: left; background: none; padding: 0; /* Mix-in*/ } .document_collection_summary .document_collection_form_container .form_h= eader, .document_collection_summary .document_collection_form_container = form { display: block; } .document_collection_summary .document_collection_form_container form { width: 98%; } .document_collection_summary .document_collection_form_container form di= v.error, .document_collection_summary .document_collection_form_containe= r form .name label, .document_collection_summary .document_collection_fo= rm_container form .detail { display: block; } .document_collection_summary .document_collection_form_container form la= bel { margin-bottom: 3px; } .document_collection_summary .document_collection_form_container form di= v { margin-bottom: 5px; } .document_collection_summary .document_collection_form_container form .t= ext_field, .document_collection_summary .document_collection_form_contai= ner form textarea { background-color: #FCF7C4; color: #363636; } .document_collection_summary .document_collection_form_container form #d= ocument_collection_name { width: 100%; } .document_collection_summary .document_collection_form_container .privac= y_explanation { font-size: 11px; }

.document_collection_summary .document_collection_form_container span#dy= namic_privacy_explanation { font-size: 11px; margin-left: 10px; color: #666666; } .document_collection_summary .document_collection_form_container a.creat= e_new_theme { font-size: 11px; padding-left: 10px; } .document_collection_summary .document_collection_form_container form { width: 98%; } .document_collection_summary .document_collection_form_container div.err= or, .document_collection_summary .document_collection_form_container .na= me label, .document_collection_summary .document_collection_form_contain= er .detail { display: block; } .document_collection_summary .document_collection_form_container div.sec= tion { margin-bottom: 10px; } .content_tabs li span.count { padding-left: 4px; padding-right: 4px; border: 1px solid #bbb; background-color: #ddd; -moz-border-radius: 8px; -webkit-border-radius: 8px; } .collection_introduction { background: none repeat scroll 0 0 #FFF8D1; border: 2px solid #FFE684; margin-bottom: 15px; padding: 10px; } .collection_introduction p { margin: 10px auto; } .collection_introduction .intro_examples { margin-top: 5px; color: #666666; } .collection_introduction .intro_examples .example { float: left; width: 285px; height: 150px; } .collection_introduction .intro_examples .example h4 { font-size: 13px; color: #D7AC2A; } .collection_introduction .intro_examples .example .description { font-size: 11px; color: #999999; margin-top: 2px; } .collection_introduction .intro_examples .left_separator {

padding-left: 15px; border-left: 1px dotted #999999; } .document_collection_settings .document_collection_form_container { width: 100%; float: left; background: none; padding: 0; } .document_collection_settings .document_collection_form_container .succe= ss_message { margin-right: 2px; } .document_collection_settings .document_collection_form_container form {= margin-left: 0; width: 98%; color: #444; } .document_collection_settings .document_collection_form_container form d= iv { margin: 0; } .document_collection_settings .document_collection_form_container form d= iv.section { margin: 1px 5px 1px 0; display: block; padding: 8px; width: 100%; overflow: auto; } .document_collection_settings .document_collection_form_container form t= extarea { background-color: #FCF7C4; color: #444; border: 1px solid #CCC; display: inline; float: right; width: 400px; height: 80px; max-height: 80px; max-width: 400px; } .document_collection_settings .document_collection_form_container form i= nput { background-color: #FCF7C4; color: #444; border: 1px solid #CCC; display: inline; float: right; width: 400px; height: 12px; } .document_collection_settings .document_collection_form_container form i= nput.grey { background-color: #CCC; } .document_collection_settings .document_collection_form_container form #= pricing_section { top: 0;

width: 404px; float: right; } .document_collection_settings .document_collection_form_container form #= pricing_section label { padding-bottom: 2px; left: -5px; } .document_collection_settings .document_collection_form_container form #= pricing_section input { margin-top: 3px; } .document_collection_settings .document_collection_form_container form s= elect { display: inline; float: right; height: 12px; } .document_collection_settings .document_collection_form_container form l= abel { position: relative; top: 3px; display: inline; width: 100px; font-weight: bold; color: #444; } .document_collection_settings .document_collection_form_container form #= dynamic_privacy_explanation, .document_collection_settings .document_col= lection_form_container form a.create_new_theme { float: right; margin-right: 10px; font-size: 11px; margin-top: 3px; } .document_collection_settings .document_collection_form_container form a= .create_new_theme { color: #1E5388; } .document_collection_settings .document_collection_form_container form .= standard_submit { float: right; margin-right: 5px; } .document_collection_settings .document_collection_form_container form .= spinner { float: right; margin-left: 10px; font-style: italic; } .document_collection_settings .document_collection_form_container form .= destroy { float: right; margin-right: 10px; } .document_collection_settings .document_collection_form_container form d= iv.section.choose_layout { height: auto; } .document_collection_settings .document_collection_form_container form .=

section_header { display: block; font-size: 11px; color: #444; margin-top: 3px; } .document_collection_settings .document_collection_form_container form .= section_header .title { font-weight: bold; display: block; } .document_collection_settings .document_collection_form_container form .= section_header .layout_explanation { display: block; margin-top: 10px; margin-bottom: 5px; } .document_collection_settings .document_collection_form_container form .= layout_option.last { border-bottom: none; } .document_collection_settings .document_collection_form_container form .= layout_option { display: block; float: left; width: 100%; padding: 10px 0 10px 0; border-bottom: 1px dotted #CCC; } .document_collection_settings .document_collection_form_container form .= layout_option input { display: inline; float: left; height: 15px; width: 15px; margin-right: 20px; } .document_collection_settings .document_collection_form_container form .= layout_option label { display: inline; float: left; font-weight: normal; } .document_collection_settings .document_collection_form_container .on { background-color: #F4F3F3; } .document_collection_settings .document_collection_form_container .off {= background-color: #E9E8E7; } .document_collection_settings .document_collection_form_container div.er= ror, .document_collection_settings .document_collection_form_container .= detail { display: block; } /* public/stylesheets/starbox.css @ 1348517579 */ /* Starbox.css Part of http://www.nickstakenburg.com/projects/starbox/ *= / .starbox .stars { background: #fff; }

.starbox .rated .stars { background: #dcdcdc; } .starbox .rated .hover .stars { background: #fff; } .starbox .colorbar { background: #1e90ff; } .starbox .hover .colorbar { background: #ffcc1c; } .starbox .rated .colorbar { background: #64b2ff; } .starbox .rated .hover .colorbar { background: #1e90ff; } .starbox .ghost { background: #a1a1a1; } .starbox .indicator { clear: both; } .starbox .dotted .stars, .starbox .dotted .hover .stars, .starbox .dotte= d .rated .stars, .starbox .dotted .rated .hover .stars { background: url('data:image/gif;base64,R0lGODlhEQARAJEDAN/f38DAwLe3t//= //yH5BAEAAAMALAAAAAARABEAAAIVnI+py+0Po5wKBCCDCNJiCobiSEoFADs=3D') top le= ft repeat-x; } .starbox .dotted .colorbar, .starbox .dotted .hover .colorbar, .starbox = .dotted .rated .colorbar, .starbox .dotted .rated .hover .colorbar { background: #000000; } .starbox .dotted .ghost { background: #666666; } .starbox .pointy .colorbar { background: #ffcc1c; } .starbox .pointy .hover .colorbar { background: #ff9231; } .starbox .inverse .stars { float: right; } .starbox .inverse .indicator { clear: both; display: block; text-align: right; } /* public/stylesheets/newdoc_nag.css @ 1348517579 */ .newdoc_nag { background: #17aae0; color: #0a485e; text-shadow: 1px 1px 0px #6dcdf0; box-shadow: inset 0px -1px 0px #3fbdeb; margin: 0px; padding: 0px;

border-bottom: 1px solid #1287b2; } .newdoc_nag .close { color: #1B5B6D; font-weight: bold; cursor: pointer; display: inline-block; zoom: 1; *display: inline; position: relative; left: 4px; top: -4px; } .newdoc_nag .close:hover { color: #247991; } .newdoc_nag .logo_arrow { width: 17px; height: 11px; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAA= LCAYAAACZIGYHAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3R= JTUUH3AIOFQsjaEmbhQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmU= HAAAAeUlEQVQoz2NgwAPEVz2QAuI7QMzCQA4AaQTiB0D8H4inkGvIAqgBMOxMqgG+aAaA8G8= gFibWAEkg/ovFEBC+CsRMxITDPRwGwHA/IUPmETAAhm1wGeBFpAGw8BFEN0ACTzjgwmfg4QM= NhzskGgDDTTBDZpNpAAybAgAdWA9DNDETcAAAAABJRU5ErkJggg=3D=3D') 0 0 no-repea= t; position: absolute; left: 96px; top: -9px; } .newdoc_nag .inner { font-size: 14px; padding: 8px; position: relative; margin: 0px; margin-left: auto; margin-right: auto; width: 980px; white-space: nowrap; } .newdoc_nag a { color: white; font-weight: bold; text-shadow: 1px 1px 0px #0b526c; } .newdoc_nag a:hover { color: white; } /* public/stylesheets/legacy.css @ 1348517579 */ body { font-family: arial, 'helvetica neue', helvetica, Trebuchet, sans-serif= ; color: #363636; background: #fff; text-align: center; font-size-adjust: none; font-style: normal; font-variant: normal; font-weight: normal; }

a, .pseudoLink { color: #1fa3d6; outline: none; font-weight: normal; text-decoration: none; cursor: pointer; } a:hover, .pseudoLink:hover { color: #44b7e4; text-decoration: underline; } a.username, .pseudoLink.username { font-weight: bold; } .clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } .clearfix { zoom: 1; } b, strong { font-weight: bold; } em { font-style: italic; } p { font-size: 13px; line-height: 16px; margin: 0.75em auto 0.75em auto; } form { font-size: 12px; } label { font-size: 11px; color: #666; } .hidden { display: none !important; } a.close_button, a.back_button { display: block; width: 21px; height: 21px; } a.back_button { background: transparent url('data:image/gif;base64,R0lGODlhFQAqALMAAJm= Zmd7e3tbW1szMzPj4+O/v7+fn5////////wAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEHAAg= ALAAAAAAVACoAAASsEI1Jq63y6M07n17oTURpnmdHomy7tnA5FXRtA7Y95zUAHLzCjuf7BSe= GpNJQ/C2VyGfT+TRMAthsoHnQZq9ebLEbBoe3v/NEwG67f+72Oh4/0AXzu5596fv/gIGCAxK= DFgiFhhSJio1/e5B5kHSSk26VcQB6ZmE+ZF6cWmNqA2dcpJ1cVVYDq6pVUVVjq7GyVE9DQUY= 8uUFAvANBwjrBw8MvMS4DyTGEjhMIEQA7') 0 0 no-repeat; } a.back_button:hover { background: transparent url('data:image/gif;base64,R0lGODlhFQAqALMAAJm=

Zmd7e3tbW1szMzPj4+O/v7+fn5////////wAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEHAAg= ALAAAAAAVACoAAASsEI1Jq63y6M07n17oTURpnmdHomy7tnA5FXRtA7Y95zUAHLzCjuf7BSe= GpNJQ/C2VyGfT+TRMAthsoHnQZq9ebLEbBoe3v/NEwG67f+72Oh4/0AXzu5596fv/gIGCAxK= DFgiFhhSJio1/e5B5kHSSk26VcQB6ZmE+ZF6cWmNqA2dcpJ1cVVYDq6pVUVVjq7GyVE9DQUY= 8uUFAvANBwjrBw8MvMS4DyTGEjhMIEQA7') no-repeat 0 -21px; } .continue { background: transparent url('data:image/gif;base64,R0lGODlhXwA6APf/APj= enfjRbcu5i/vw2Pffo/jpwsqtZPrhotjKqP314urMgvXGUf303qqWYvzqxPnksbCXVP3369f= Gm3JpVPfcm/XVhv3z3da7d83BpMuzefzx2ffZkfXIWPbKWvTMaPnpxOHBcvTKYPbSfb+mZ/r= ovfXESn53Ze7Vl/niqaCVePnVfOTVssqydfvlrPTCRP///5+Sc56NY/jbk+rFaezZqJ6MXfj= YivfSdX5zWuvKenJsXeLFfKyji8y8ksqrXMO5oXNuYp+QbPrntv747frszcuwbfz04e3Qh/n= Xgs2/nNbCj/bMYfbOarapiO7Zo11aVPfirvfOZJ+Ve/vsyeLQpObdx+LOm/vovmhhUc/HtIh= 7W/rtzvjhp/XAOeG9ZPnmuvnclPrdmfXQc2hkWvjRcPTPcvzpwP3vz6GZhLSjefztyv/89v7= 68frjqvbWh+3LdOPTqKqZcMK0lPvu0LeulnJrWf779J+KVPHhubSfaNW4b/jWgPrnu/bJVVF= QTffUflFPSf725f3x1vrgpMu3hlxYTfvmt/746dOzYvzv0YmBbZWNefzqw/jmufrmtPrhpvj= SdPvjrKqfhO3fuvnclYqDcVxXSvbESMy3gvzrxvXRe9+9ZUZGRv757vbIUv735vbGS/789P3= x1fzuy/zrwfjUd/vot/najPrel/788/347P778/THWPrw1/TFUP378vrv1v3w1PjgpfjjsMu= 2gP725vvnvPXLYvPJYP3w1fvltv735/XFSv3x1GdgTv725/fQbPnszPvltPjblMu4iP/+/Pf= YifjluGdhU/zw0/XHUfffpOzDWvLp1PTLaPXNaauffpOEXPnry5+OZPXJWaKcjp+PaHJsW7e= wnsCse+G6WP767fnYhvbHT/HjwvzryK2om9a/g//8+PbKWN69bOTXuO/cr8CugnJoTfndlv3= 25P724/rrxvDgt9O1ariypPzsyfvip2hkXPbHUODEf6CXf6Kdkvnip/jlt/nls/fLW/XDRPX= CPv/9+vvltf///yH5BAEAAP8ALAAAAABfADoAAAj/AP8JHDiwWK1YDq74W8iwocOHECNKnEh= RlwN4FjoR3MhR4KpYFEOKHEmSoplfHTsyKMmypcuJZjSm/McmU0MZAZRd6sKzp8+fQIMKHUq= 0aBdl+lSgaJggJRszDCn14Ue1qtWrWLNq3cq1q9Z9kCIxtNDRpj9hkPapXcu2rdu3cOPKnUt= 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3D=3D') 0 -29px = no-repeat; border: 0 !important; padding: 0 !important; width: 95px; height: 29px; } .continue:hover { background: transparent url('data:image/gif;base64,R0lGODlhXwA6APf/APj= enfjRbcu5i/vw2Pffo/jpwsqtZPrhotjKqP314urMgvXGUf303qqWYvzqxPnksbCXVP3369f= Gm3JpVPfcm/XVhv3z3da7d83BpMuzefzx2ffZkfXIWPbKWvTMaPnpxOHBcvTKYPbSfb+mZ/r= ovfXESn53Ze7Vl/niqaCVePnVfOTVssqydfvlrPTCRP///5+Sc56NY/jbk+rFaezZqJ6MXfj= YivfSdX5zWuvKenJsXeLFfKyji8y8ksqrXMO5oXNuYp+QbPrntv747frszcuwbfz04e3Qh/n= Xgs2/nNbCj/bMYfbOarapiO7Zo11aVPfirvfOZJ+Ve/vsyeLQpObdx+LOm/vovmhhUc/HtIh= 7W/rtzvjhp/XAOeG9ZPnmuvnclPrdmfXQc2hkWvjRcPTPcvzpwP3vz6GZhLSjefztyv/89v7= 68frjqvbWh+3LdOPTqKqZcMK0lPvu0LeulnJrWf779J+KVPHhubSfaNW4b/jWgPrnu/bJVVF= QTffUflFPSf725f3x1vrgpMu3hlxYTfvmt/746dOzYvzv0YmBbZWNefzqw/jmufrmtPrhpvj= SdPvjrKqfhO3fuvnclYqDcVxXSvbESMy3gvzrxvXRe9+9ZUZGRv757vbIUv735vbGS/789P3= x1fzuy/zrwfjUd/vot/najPrel/788/347P778/THWPrw1/TFUP378vrv1v3w1PjgpfjjsMu= 2gP725vvnvPXLYvPJYP3w1fvltv735/XFSv3x1GdgTv725/fQbPnszPvltPjblMu4iP/+/Pf= YifjluGdhU/zw0/XHUfffpOzDWvLp1PTLaPXNaauffpOEXPnry5+OZPXJWaKcjp+PaHJsW7e= wnsCse+G6WP767fnYhvbHT/HjwvzryK2om9a/g//8+PbKWN69bOTXuO/cr8CugnJoTfndlv3= 25P724/rrxvDgt9O1ariypPzsyfvip2hkXPbHUODEf6CXf6Kdkvnip/jlt/nls/fLW/XDRPX= CPv/9+vvltf///yH5BAEAAP8ALAAAAABfADoAAAj/AP8JHDiwWK1YDq74W8iwocOHECNKnEh= RlwN4FjoR3MhR4KpYFEOKHEmSoplfHTsyKMmypcuJZjSm/McmU0MZAZRd6sKzp8+fQIMKHUq= 0aBdl+lSgaJggJRszDCn14Ue1qtWrWLNq3cq1q9Z9kCIxtNDRpj9hkPapXcu2rdu3cOPKnUt= 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3D=3D') 0 0 no-r= epeat; width: 95px; height: 29px; } #facebook_welcome { background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUh= EUgAAAAEAAACWCAIAAACQFHUlAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsSAAALEgHS3X7= 8AAAAFHRFWHRDcmVhdGlvbiBUaW1lADYvMi8xMLMVu4QAAAAcdEVYdFNvZnR3YXJlAEFkb2J= lIEZpcmV3b3JrcyBDUzQGstOgAAAAPUlEQVQoke2LsQnAQBDDhPdfM03KH8BKcfB8kQ2Swgh= bmOteAf58IELQKJEhEDXC3jn8/rz41lSDw+kN9QGh/TevqRMKjgAAAABJRU5ErkJggg=3D=3D= ') repeat-x; } .killme { display: none; } /* public/stylesheets/interstitial.css @ 1348517579 */ #adaptv-interstitial-container { margin: 10px; -webkit-border-radius: 8px; -moz-border-radius: 8px; } #adaptv-interstitial-video { float: left; width: 640px; height: 480px; padding-right: 8px; padding-bottom: 8px; } .adaptv-interstitial { background: #000; /* lightbox border */ border: 1px solid #000; /* lightbox outer border */ color: #000; padding: 4px; position: fixed; z-index: 99999; text-align: center; -webkit-border-radius: 8px; -moz-border-radius: 8px; } .adaptv-interstitial-bg {

background: #000; /*background: #000;*/ left: 0; position: absolute; top: 0; z-index: 99998; } .adaptv-interstitial-title { background: #000; /* lightbox title background */ color: #fff; cursor: pointer; font-family: Helvetica, Verdanna, Arial, sans-serif; font-size: 80%; padding: 8px 15px 0px 8px; position: relative; _zoom: 1; /* Ensures proper width in IE6 RTL. */ -webkit-border-radius: 8px 8px 0px 0px; -moz-border-radius: 8px 8px 0px 0px; } .adaptv-interstitial-title-text { float: left; padding-left: 40px; } .adaptv-interstitial-title-close { /* Client apps may override the URL at which they serve the sprite. */= background: black url(/https/www.scribd.com/images/newdoc/exitX.png) no-repeat; cursor: default; height: 15px; position: absolute; right: 10px; top: 8px; width: 15px; vertical-align: middle; } .adaptv-interstitial-content { float: left; background-color: #000; padding: 0px 8px 8px 8px; -webkit-border-radius: 0px 0px 8px 8px; -moz-border-radius: 0px 0px 8px 8px; } #adaptv-interstitial-companion { float: left; } .adaptv-interstitial a, .adaptv-interstitial a:link, .adaptv-interstitia= l a:visited { color: #000; cursor: pointer; } /* public/stylesheets/newhome/cells.css @ 1348517579 */ .hr { border: 0px; height: 1px; background: #d8d8d6; margin: 0px; padding: 0px; }

.thumb .overlay { display: block; position: absolute; top: 0px; bottom: 0px; left: 0px; right: 0px; } #home_carousel .title_bar, #sidebar_carousel .title_bar { line-height: 36px; margin: 0px 0px 0px 13px; font-size: 18px; width: 673px; border-right: 1px solid #d8d8d6; } #home_carousel .title_bar .tools, #sidebar_carousel .title_bar .tools { float: right; margin-top: 16px; margin-right: 4px; } .rtag_page #home_carousel .title_bar, .rtag_page #sidebar_carousel .titl= e_bar { color: #9bb1b8; } .rtag_page #home_carousel .title_bar a, .rtag_page #sidebar_carousel .ti= tle_bar a { color: #9bb1b8; } .rtag_page #home_carousel .title_bar a:hover, .rtag_page #sidebar_carous= el .title_bar a:hover { color: #7d9aa3; } .rtag_page #home_carousel .title_bar a.active, .rtag_page #sidebar_carou= sel .title_bar a.active { color: #022f40; } .page_picker { height: 9px; position: relative; } .page_picker .dots, .page_picker .fill { position: absolute; left: 0px; right: 0px; top: 0px; bottom: 0px; } .page_picker .dots { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAA= JCAYAAAAGuM1UAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3R= JTUUH3AYOFwMXdyCXlgAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmU= HAAAAaklEQVQYlWP4TyJgQOb8/PXr/65jp//PWrMZjDcfPPb/zfuP2DWAFC/fthek8D0QJwB= xB5T9/tPXr5gaLt++BzPZgAEKgGwFkNiZqzcxNYAEQZIMaAAoth/kNHw2OBBlAz4/gOQoDyV= iAQCE8WdX+Cg7hwAAAABJRU5ErkJggg=3D=3D') repeat-x; z-index: 1000; } .page_picker .fill { background: #9aadb3; z-index: 999; }

.main_column { font-size: 0; } .main_column .border_right { border-right: 1px solid #d8d8d6; width: 686px; position: relative; } .main_column .border_right .shadow { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArgAAAA= SCAYAAACw2K2OAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB= 4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU0= 6SW5zdGFuY2VJRD0ieG1wLmlpZDoyMzY2MDYzQTlENEUxMUUxQUI0RkI1MjI5NDg0NTRFOSI= geG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyMzY2MDYzQjlENEUxMUUxQUI0RkI1MjI5NDg= 0NTRFOSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjI= zNjYwNjM4OUQ0RTExRTFBQjRGQjUyMjk0ODQ1NEU5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXA= uZGlkOjIzNjYwNjM5OUQ0RTExRTFBQjRGQjUyMjk0ODQ1NEU5Ii8+IDwvcmRmOkRlc2NyaXB= 0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+P5EaYAA= ABM1JREFUeNrt3dtu5CAMBmAzD1jt3T7j3lX7gMNerVSNAvw2tgPkt1TNIZmAOUy+oLQtv39= 9FWlH6bwug/3Lj9e9x9L5bLnY1/r+//dejc/0jve5z+cxXo1jvC6e/6yHgHV5deouYA6vQf5= IPxVDnXpjp9Wur0abFWAMtsbkVb2Q8kbzwBKa9i2N3NE5e1cg80kG43Dl/J4aFdhWP36u3rv= avnp+0snlDeRWnev22bbyUZefjzJRp9rIHS2vNo5z1abSadtRG9fBONQeS1MfGYzvd6PNesd= 5X5Q7mkujurwN81SU+/X6VDr91JuDFZgH2MligF7khF/AE7sWvz1Aj06aKAQRfHigWFveawL= 1LZAKiFwtusvggsgTzsgYzQT1juCOxO2pgCdw1wNgdK5ZoFwBnL1+nUEo2rbosRHcigGnI8S= 9wQu2HjRnsaop76pNRHSY7Y0FzSOCWBVkRUT+fP+t5pMFgF5kVVezOqPFcAs/BcDzaCUZRbQ= WxdLBGwpkGUAeRbLmYkMDZhSbVjgj4zgD1LuCOwu3JwGesTYAI/PMBGUmOC39q13VHKHFilJ= 0BRfF6ahtR32sXVWuyvpXYPVTcxGAwlWU2zRjSnURfYXZsNWQCfyiKB5BYQbEotwfvb1ihGI= BMF4Gq1xavFtuJ/AA8wh4HnDW4DYa1JY6ZYM7CranA56xDwAj8owE5ewFhQc4Lf2rQag2Fw1= KRfDbFKwIRFdbR7lZsKpdORVwvxFSNfMSXXV1Q2w4cCfhG4FgBFfa514o7iEFvT1AUxcEyZo= LBBTMItg927NwtoArEtQ7gjtyFfcUwDPWB2Ak3DNBuQI4e+XOIhRFGIrSHsy0OEX7XUR3q80= Iz7NY9XyuAalpBdYbsrcANwDAWgRbMDR67Yli9LPoCrQHktEVORTMWohr4awdC1Gg3hXcGbg= 9DfCMtQEYmWcmKDPBqUHOLEJR5M6g1BunogSqJd9ZlFZlf4phLKjHbSRglwZuIIJHuXn8lrY= HirXYtZalRXIEmCPgrO2bKFDPXJTdBe7I75KTAc/YB4BReWaBUlOfCHAiZWoQainDilILTme= BqkWnN1bRtnAdi3cCdnvgBiPYC71lsgwrYFvHRGE4cywrmKPgfCeodwN31vfISYBn7AfAyPy= yQLkCOKMR6olSUW6f+c1+K0o9sBoG1h3g+ijg3oDhTBRby5tFchSYo+F8N6h3AHf098hpgGf= sC8DoHLNAeSc4oxCqgaU4HNdrxbROtNctWD0JrQTuuiDWtHkJ6ruZ+1e9wDwLZ0v+2aDeBdw= EPOMJANwdlJngzESoJ0ojsVgnt4eM76eBlcA9E8XWPsv4w/nFebsHnFcA9W7gJuAZJwNwN1C= uAs4ohEbg0frZ6nw8YpXAZdwE5Jl+z/xPU1kr2JGg3gncWbmdAnjG2gCMyucOUGaDMxuh0Sh= N6QcClcBlnINkz3G0wr9oLTeVvxK4CXjGiQDcEZQrgTMTodl5EKcELoNg/ioHjc+ywdwoh8z= dkwHPWBeAp4FyFXAukztRyiBwGYTz+vOhPHCulofl+zTUrgbAk0Apu7Q1EcogcBmMZ4L6KfP= ziYAneDeC2CmgJDgZDJ5UGAyCm98/DAKQoGQweIJhMBgMAp5BADIYjPXjH6OBt0Uq9RaVAAA= AAElFTkSuQmCC') 0 0 no-repeat; position: absolute; width: 696px; height: 18px; left: 0px; top: 0px; } .main_column .border_right .side_shadow { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAJ= +CAYAAAC+Z1BfAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1=

wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB= 4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU0= 6SW5zdGFuY2VJRD0ieG1wLmlpZDo2MzRERDIzQjlENEQxMUUxQUI0RkI1MjI5NDg0NTRFOSI= geG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2MzRERDIzQzlENEQxMUUxQUI0RkI1MjI5NDg= 0NTRFOSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjY= zNEREMjM5OUQ0RDExRTFBQjRGQjUyMjk0ODQ1NEU5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXA= uZGlkOjYzNEREMjNBOUQ0RDExRTFBQjRGQjUyMjk0ODQ1NEU5Ii8+IDwvcmRmOkRlc2NyaXB= 0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+1fdG9QA= ABIpJREFUeNrtW8uS2zAMM/yBfZzaX+yt0x9kD50ctrEtvmTSWmQmh0x2sCIkgiCt7CKyZbz= 3LelFICMQANf75/evINlPAvrx7QvIkeq12sl+bT23/z4g8GSPDyPP0T27BqaI7jAuKP7rKiR= a7lqDXDs61Wuf7IW2Hy1NRN9cs3N0kB6Li3+f7A9bP8yUWpTXNbRUSLjIvsqz/NBek6nn6VH= rAhk+kMjM/inCFpIRtNRsuMgeJWwLhexZaZHNUX2bhZlkmzjCzAKJDBkJCRtmlyPsGRKiWpF= GQjLbLPa0Ay1aT2pDJRttuiPMlFpkCFtIajG7F4F3++1ka0Utq4os/OwopTnuadj7lKP652t= o0xwPZTaj0oZCQ2RFmJlr7qYGLldrkdmMutb3qegiD3wxqzvi5YoJji3d1R6qwW0pohH+0Ml= GNLRQL4JZ2Y+DDtJUjuxkW4U/MtLo4Y/SpzVbq9DQRo8uK0jL2s+6NtmN1K1oWBxvkxF1cYw= MWUKhIaKQ0H4XCc2s2XCR7SmOnqTtpdmXZ+q59viS6FaGvac/6leyCfREoEWMFsrJVlmaTPE= /BTJZms050AyFhkhdg+U7b2hqsk2W5i00r6XJrLQ9hnW1Dw/STUS9HqksTStXy5JNIAIRiEC= ftIN025o6stWuf0u6XHG6IrPrt9oabN5bY1rXf8URrMdgd5Jruu4BF9kR159lRut/CFf/5Dj= dZ9frkdr1txD/nr0IgQhEIAIRiEAEIhCBCEQgAhGIQAQi0PC1yK0x3EW2aeiLLfmXUKoLuq7= punZFw+m6Bkg1XT8jG55jsDvIPfp8eZHJQva/0KLTdUtow0NaeiFu6tXz++fZyObItSJkp8g= 08e858ycQgQhEIAIRiEAEWgBIylYk2tXcypGMVvL6vmTXzjgTD0fy3zudbBVHog7t1+8/ogQ= xhyaKLf/wD3YjwWefD1ck1oS1nOyrIyCe0NQrEmWIb3/jFTbT9muPhNyeIiq+oiuS7OwPAU3= RIwIRiEAEIhCBCEQgAhGIQAQiEIEIRKB5QFK2IvWU/VaOVFP2sl07nQZG55B1MzZRhxadsu8= KLlSr3R0EH362DH3DKaKasu+RszNakWvKHhE20/Zrj0Sf52upeiQl2T8MlyWbQAQiEIHOikG= JPe7RQqhNe7uLTJJha+pKtqhDi5j2XcnFcLW7k+DNsiKTaY9crnAZ9qFp1/Qi6WRfkh+5NtS= 3XU9dkbSqa71aCAI9Eah+ENXDaKmszVrTY3ddm6LZ49C81sZyizU9tENr46m04RS5tDa33Bg= 3WZsMYTNt//BIfNJfZ5QAyZqh1XeQPWq/Xfwrdi01++sr7Snhh0Ceamt9mpUe2lu19Yp/OEX= qnxyrq22WsEnGkGVBn71YgUz9JZRejx7fHNeL/yHhp0DWAuCZjKaHprruYS4Az3wKoSkAC/x= 4ub/16yH+UiMjVd2RtDpH49Ascuud1qSH5kpambFr9ZNRmZVr0xybrHNrbMqwTrYlB1F6GdF= q0p6xY6VDlilPjuvnR3JHTyut5tm9PKREOJorI38BkxO+46Y63BUAAAAASUVORK5CYII=3D'= ) 0 0 no-repeat; position: absolute; width: 18px; height: 638px; left: 211px; top: 25px; } .main_column .carousel_box { position: relative; } .main_column .carousel_box .arrow_left, .main_column .carousel_box .arro= w_right { cursor: pointer; position: absolute; top: 88px; opacity: 0.8; } .main_column .carousel_box .arrow_left:hover, .main_column .carousel_box= .arrow_right:hover { opacity: 1.0; } .main_column .carousel_box .arrow_left.disabled, .main_column .carousel_= box .arrow_right.disabled { display: none; }

.main_column .carousel_box .arrow_left:active, .main_column .carousel_bo= x .arrow_right:active { margin-top: 1px; } .main_column .carousel_box .arrow_left { left: 1px; } .main_column .carousel_box .arrow_right { right: 1px; } .main_column .carousel { overflow: hidden; font-size: 0; white-space: nowrap; width: 686px; border: 1px solid #d8d8d6; border-left: 0; border-right: 0; } .main_column .column_header { font-size: 18px; padding: 20px 0px 0px 12px; height: 30px; color: #022f40; } .main_column .column_header.secondary { border-top: 1px solid #E7E8E9; padding-top: 15px; } .main_column .people_column, .main_column .document_column { font-size: 15px; display: inline-block; zoom: 1; *display: inline; vertical-align: top; min-height: 600px; } .main_column .people_column { width: 228px; } .main_column .document_column { width: 457px; border-left: 1px solid #d8d8d6; } .left_list { overflow: hidden; } .left_list#home_trending { margin-top: 20px; } .left_list .list_header { margin: 20px; font-size: 14px; color: #350e00; } .left_list .tools { -moz-user-select: -moz-none; -webkit-user-select: none; user-select: none;

font-family: Arial, sans-serif; color: #C5C9CA; font-size: 11px; margin: 0px 20px 20px 20px; } .left_list .viewport { overflow: hidden; } .left_list .list_page { display: inline-block; zoom: 1; *display: inline; width: 228px; vertical-align: top; } .left_list a.disabled { color: #C5C5C5; } .left_list a.disabled:hover { text-decoration: none; cursor: default; } .left_list .indicator { float: right; margin-top: 2px; } .has_cells.rtag_page .tag { display: none; } .has_cells.rtag_page .document_cell { padding-top: 20px; } .has_cells.rtag_page .document_cell.wide { height: 220px; } .has_cells.rtag_page .document_cell.thin { height: 300px; } .has_cells .carousel_cell { display: inline-block; zoom: 1; *display: inline; vertical-align: top; white-space: normal; width: 228px; height: 248px; font-size: 15px; border-right: 1px solid #f3f3f3; position: relative; } .has_cells .carousel_cell:nth-child(3n) .overlay:not(.highlight) { background: none; } .has_cells .carousel_cell .meta, .has_cells .carousel_cell .metabg { position: absolute; bottom: 0px; height: 70px; left: 0px; right: 0px; }

.has_cells .carousel_cell .metabg { background: url('/images/newhome/texture_overlay-bestof-trans.png?1348= 517579'); } .has_cells .carousel_cell .overlay { position: absolute; top: 0px; bottom: 0px; left: 0px; right: 0px; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAD= 6CAYAAAB+iR3gAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB= 4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU0= 6SW5zdGFuY2VJRD0ieG1wLmlpZDoyMzY2MDY0MjlENEUxMUUxQUI0RkI1MjI5NDg0NTRFOSI= geG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0QzhBMzBBMjlENEUxMUUxQUI0RkI1MjI5NDg= 0NTRFOSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjI= zNjYwNjQwOUQ0RTExRTFBQjRGQjUyMjk0ODQ1NEU5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXA= uZGlkOjIzNjYwNjQxOUQ0RTExRTFBQjRGQjUyMjk0ODQ1NEU5Ii8+IDwvcmRmOkRlc2NyaXB= 0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+cBRUfwA= ABMpJREFUaN7tW+tu6yAMnk/PumZLm6ZJ91Z7/2fZ/dgRREAcwIZW50cmIdpJX218+UjAhgf= h39vb28583IESTOMPaKX+/v4+glYqgncl4D1oVRapHaqM4yAGk0Saf35+XkCrMg4R2FP5+/u= 71YD3qPIBhwzsqozgBgTrfbQqI/AZ5xak6yUrk8oisOsiUhm/d6Bcb4vWjoO59ZKLcD7iD2S= BufWecD6Bdr2owQja9eK4gCCeZ/8a8BUUxiJghz+UlMwaC8F9dM1MMlhjXQj89fWVBq8ZK0u= yBSPw6Bpr1dqxyCKVyVifn5/XLDBjrAHX3IPQWNN6yVg4BhCE5Qt+PyOIjDWg2iNoLZ1ac9T= SCF6qnWtpUh8Elm5xpjWTpceY5AVHW0tblVmD5cQ0AqNrdt1EfNVYqUbyFUcPQjeNxk3jx8e= Hb7AEe1xsdJHaCB5A6yYE96B007gG5txE2TS4bkLwGQTZNDpuury/v/OSw2wiiUZt+wM9gjv= QZBO5CecTCLKJwBQcA0odPPCaj2k3pGF8PIFJMo4OFD4m8Nlbc2x74XyM4wQCxhxdH6PkFnL= z2DImxTSBcRwhJ49dxjQ+PuO8BHMB4maUsTRJbkEbICj9mAPuuQCZDcY9EjvRtSABChAEP0P= s+dJEVm/8fHV8TOAXyH3+QOCrYRBKxyPOPJhhEAL2JBmB9EMEfgZtdK1JzoquUHLOLjHRj1G= 7iYEXm7kBdwTG2QfHQtNuMY7aBxCGJqlMPm5Zyan9iUiAkgLBUcknjvgseFJbE9fkpklyLK7= XWJPiGucn0LAmRVcKHLLmYChoSgqcl+C150w3KSiXWcm5ScFJzk4KBO9Buifj3BrwE2j4mkI= zBg4z6mo3dBNhjae2JKNIMs6PkPHEN5roGmxGkeQYOJmOC3DuNkNJkQt+dcne5jLOewnYI4I= c8MhtcBTXMXCSRRZ+5t5kAhY5xtRee76e12zS0XNVioK8rZXWjPMSnEtBMXCSghZqSygIx98= UeJWCQrCIgjhwNgXhvFsDJykIP7OSsyhoBpOLMp83Zwqa1+yA2ZdOjoJywAv+spI5tTkwS0E= eWMpfInDIX/j/3QbewBt4A2/gDbyBN/AG3sAb+D8AR5/0i94xbvF2I3qvkr/RFb1L1nyLVb8= /q9/ci84Myk4ris5Jik9oNGdDRadSVc7Dyk7iapwBVjl9LD73zDtxLTrrrXHKLD/fLjpZr3m= mL7pNKLrHqHKDkn2hyYJzqUh6X3UJ2UR7U9ZMl5qJO7oom2iuFjtjbfGlppeWmuvU3qgtusg= Nk+MgvUIe3OSodnld5dq87MI+LBVw8tqLb9BUKq0VKeTult1sbWnljt12JCUhiz1LWk/ikT8= ICwdtiPasZEmIVq3eiYao8fO0V3NrzmJRa/HqtVLyKq2i+rCqlWlcTVzIZfWr8UrqAIsqEIt= rH+VVl0X1ntUqTXOql25SXVtU1xtz11ylpqllnrOrpIr6hvXbKYtLa9Y9i4ur5V0+09bpy4r= 8bbuMG+Oa3gRLSUVdEYOmH2MOU1EbSWg0TQ9KY3lc0jqz6FHQ9N00dtsVd/y4HTC36zWq1uX= Erfu2nV1FPWXVutncPjpS/fYdfGuq37Vr8cENmLu3ec4Bc7/W1hD8Dzt9nfEwwNJKAAAAAEl= FTkSuQmCC') 100% 0 no-repeat; } .has_cells .carousel_cell .overlay.highlight { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACsAAAD= 6CAYAAAA4P75KAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB=

yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB= 4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU0= 6SW5zdGFuY2VJRD0ieG1wLmlpZDoyMzY2MDYzRTlENEUxMUUxQUI0RkI1MjI5NDg0NTRFOSI= geG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyMzY2MDYzRjlENEUxMUUxQUI0RkI1MjI5NDg= 0NTRFOSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjI= zNjYwNjNDOUQ0RTExRTFBQjRGQjUyMjk0ODQ1NEU5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXA= uZGlkOjIzNjYwNjNEOUQ0RTExRTFBQjRGQjUyMjk0ODQ1NEU5Ii8+IDwvcmRmOkRlc2NyaXB= 0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+sZ/1gQA= ABptJREFUeNrtnduu3CAMRZn//4Ce/mcuk5lk6MtEosj4AjbBbSpFfTmnWkWbbWMMPGKMv0I= In+93hBD2EMI7hPAKITxDCEvyTSGEOfnW789s359/f3///Pfi9wuPxyOGxj+PGOMPALsnsCf= wCXgCn/+BEziFPaxh4/fvc2TfCexaGNlzdLfvd/7ekY1u0AA+YSMwuq9kdCnYFYA9kpGNmrC= B0G1JCilsKoXDQgo5bC6F13fEMFhMt4cVbEkKW+YK0ETLpbBbSCGHjQzdllzB3MIeMcbfyYz= 9JF9Jt9BE62JhOWzMYEtSuMTCMFiJFLpYWA6rYWHp6Kpa2AkbEN3uo1gYBCuxsBw2dQV1Cyv= BtlhYrls1C0thg9DCMClsFhZWgi1ZWJqFUbrdtHXLgYWkUNItlJCr6bYES1nYisCahd4clqP= bLYHtGnox2NbQq65bLmzL6kFNtxisRLeQK6jrFoLNdRsB2Et0S8FKdJtGMhPdSmBb/fYNjKw= ImIIt6XbLdAuNLhR6myZZCVY7T1DJbzmwVJ6QT7IJyROOFt1KYSX5LTTJ3tawQTDJsKVOc3D= AYCHdQlVGKKmZiOBgDhsLk2wVLtGrJxkXlhMcZqZuqydZDWxJt7P1JOPCcoPDnAUH1UlGwXK= DQ5dJJoWNjEhmNskksJdPslpYLDhMheDQPMkksJdPMg7sMJOsBvaySSaFlU4y1XSxBbZ7JJP= CXpoucmGxdBFank/I8rx6TdYCi9XAJGV8duGjBpazJsN0uwG1hC6wh6DQ3Fz4qIENhZF9FWA= nZIPkbQVLTTLzsNsKi4XdiblB0gWWu4BMR3dtcYRaWKkjTBqlUA3YgygpQTJYa3KEWljKERY= kknG2nsxgIUdYkNy2tNVP9iVIYTk5AmVfS619acBSqwYoklWtGlpgI7PIPDGKzCz70oTdkZ2= c0iQT2ZcWLGVfVB8Yy75aYLvblxYsd9upyb5qYCX2NRfCblX2pQVbU/QQZ18asFHgtVT2ZQr= Lzb4mxnqMrNBowh6B7rnNlziixaM2rLRmK/LaVtiuXqsJW1NgprpC//LaWliu1y6ClS7Zj6A= JS610S/0Iz8Dst9WCjYHut4WAnwE+MmAGGxkjK1mWd4VtCQxoEq4NiwWG5iTcApZbQ8Cqima= wnMAwM+yLjGLasFgPDScw7FfBckKuqF7bAmtRr0WXN5aw6tUZbVjT4rImLNW6WvJadsjVgu0= Scq1gocAwCfbGwJBrDbsRI4vtlneBlSwcRbuOVrA1FcVusCHIe8PF+YE1LDeZYe3nWsCaJTP= WsKVkZqqpH7TCcpOZhQi5rMyrFyw3mcELy8awVA+CrNhhAPsRVmb4aaIybFTIad89YPP84CV= ME+kdR0NY/TTREFY/TewAq5cmGsFSZaS5Kk00hKXKSNjIXgbLTcC7wnLTRE7mBee0F8DWF+i= MYKmclkoTzWCxZOafgc37D+ilzQ0Lw66AG9yw/w0sFhRu2Bv2hr1hb9gb9oa9YW/YG/ZOvm9= YR7B33eCfLh+5Ksy5L3kOX0x2VaZ3vQHiZmvJ1aadu+1QVxvNQ2/hu2qOcNd24q6hx22r1FB= NaK7a+9w3TrpqSR2+2ddVG7XbBnVXrf/uDlUMfVzF1UEgd0es3B1eG/ZYoKsDl+6Psg5/SNj= V8Wu3B9tdXRkw/GUMrq65cHeByNBXs7i69MbldUKuLmpyewXW8JeLubq2zd2FeENfNejqEke= X12O6unjU7ZWuw1+W6+oa4uEveHZ1dbbLS8ldXffu6iJ9V08UuHv8YehnNVw9WOLyKRhXj+y= 4er5o+IehXD255fIxM1fPxLl6gG/4pw1dPRrp8jlOVw+dunpCdvjHeV09e+zyQWlXT3W7egR= 9+Oflh0gLpbCcjbnFenLVwO4VFW6VycWF/TCLxjOjaFw9uTBYaTBYkH6C6jWXFDYG+fZRqbR= J9hNownJ7uReNgkYNLKfVdEGW3VWlTQkspVfOJkcpGHysYCm9rkSIVQsGUlhKr7NmAa4GllP= T6qZXCLZGr1hPrJpeMVhNf1XRKxd2FxSMFyu9YrAa+YCqXnPYdFQjw7JmIMuCjvip6BWDrcl= foQ0ONb2WYD+Vi0PMspr1msJyLevJXMKo5K8ULDfEUrCsflhN2JoQu9X0EdTCciyra4jNYX+= ULMskxGKwXMui+rR2bb3msKUS0eWWVYJtsSyohf9jAau1KjCxrBwWksA7y7IusywItlQlfDI= SF1PLSmF/Bd7BiIVZyFC3rPPPH+9C2iBu9y42AAAAAElFTkSuQmCC') 0% 0 no-repeat; = } .has_cells .carousel_cell .title { margin: 20px 16px 0px 16px; font-size: 15px; line-height: 16px; height: 16px; overflow: hidden; } .has_cells .carousel_cell .title a { color: #022f40; } .has_cells .carousel_cell .author { margin: 0px 16px; font-size: 11px; line-height: 16px; font-family: Arial, sans-serif; }

.has_cells .carousel_cell:hover { background-color: #eeeeee; } .has_cells .user_cell, .has_cells .collection_cell, .has_cells .trending= _cell { font-family: Arial, sans-serif; color: #666; } .has_cells .user_cell .label, .has_cells .collection_cell .label, .has_c= ells .trending_cell .label { color: #999; } .has_cells .user_cell .meta a, .has_cells .collection_cell .meta a, .has= _cells .trending_cell .meta a { color: #666; } .has_cells .user_cell { margin: 0px 20px 30px 20px; height: 35px; } .has_cells .user_cell .thumb { width: 35px; height: 35px; background-position: 50% 50%; background-repeat: no-repeat; float: left; } .has_cells .user_cell .info { font-size: 11px; margin-left: 45px; margin-top: -2px; } .has_cells .user_cell .name { font-size: 12px; } .has_cells .user_cell .user_top { overflow: hidden; } .has_cells .user_cell .description { margin-top: 10px; font-size: 12px; line-height: 14px; height: 28px; } .has_cells .collection_cell, .has_cells .trending_cell { margin: 0px 20px 30px 18px; } .has_cells .collection_cell .name, .has_cells .collection_cell .title, .= has_cells .trending_cell .name, .has_cells .trending_cell .title { word-wrap: break-word; font-family: Athelas, serif; } .has_cells .collection_cell .name a, .has_cells .collection_cell .title = a, .has_cells .trending_cell .name a, .has_cells .trending_cell .title a= { color: #022f40; font-size: 16px; line-height: 18px; } .has_cells .collection_cell .thumb, .has_cells .trending_cell .thumb {

box-shadow: 0px 1px 2px #A0A0A0; margin-left: 2px; width: 48px; height: 65px; position: relative; } .has_cells .collection_cell .overlay, .has_cells .trending_cell .overlay= { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= DAAAABBCAYAAACXfCfjAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA= yRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iV= zVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6b= nM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgM= jAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwO= i8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwd= GlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xL= jAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sb= nM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZ= iMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIge= G1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0N0YxOTc5NEFEQTAxMUUxQjFGNzg3RjU2RDI4N= kU0QyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0N0YxOTc5NUFEQTAxMUUxQjFGNzg3R= jU2RDI4NkU0QyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAua= WlkOkEwRkE3NzYxQUQ5RjExRTFCMUY3ODdGNTZEMjg2RTRDIiBzdFJlZjpkb2N1bWVudElEP= SJ4bXAuZGlkOkEwRkE3NzYyQUQ5RjExRTFCMUY3ODdGNTZEMjg2RTRDIi8+IDwvcmRmOkRlc= 2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+g= JycswAACxFJREFUaN7NmtluFEkahSNyqypv7KtH0CC2vqAbuEPiEbqfZ96HB+CKG4Q0jVgkd= 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3D= '); } .has_cells .collection_cell .thumb_container, .has_cells .trending_cell = .thumb_container { float: left; padding-bottom: 10px; } .has_cells .collection_cell .info, .has_cells .trending_cell .info { font-size: 11px; margin-left: 58px; height: 65px; position: relative; top: -2px; } .has_cells .document_cell { display: inline-block; zoom: 1; *display: inline; vertical-align: top; position: relative; border-bottom: 1px solid #d8d8d6; overflow: hidden; } .has_cells .document_cell:hover { background: #fbf9f8; } .has_cells .document_cell .tag { margin: 20px; font-size: 10px; line-height: 10px; color: #71A7BA; font-family: Arial, sans-serif; } .has_cells .document_cell .title { font-family: Athelas, serif; font-size: 30px; line-height: 30px; margin-bottom: 0px; } .has_cells .document_cell .title a { color: #022f40; }

.has_cells .document_cell .author { margin-bottom: 6px; font-family: Arial, sans-serif; font-size: 11px; } .has_cells .document_cell .price_label { font: Arial; font-size: 11px; color: #5d5d5d; } .has_cells .document_cell .truncated { font-family: Arial, sans-serif; color: #666; font-size: 11px; line-height: 14px; margin: 0px 20px; } .has_cells .document_cell .facepile { font-family: Arial, sans-serif; color: #8f8f8f; font-size: 11px; position: absolute; bottom: 20px; left: 20px; } .has_cells .document_cell .facepile a { display: inline-block; zoom: 1; *display: inline; vertical-align: bottom; } .has_cells .document_cell .facepile a:hover { text-decoration: none; } .has_cells .document_cell .facepile .face { width: 20px; height: 20px; margin-right: 2px; } .has_cells .document_cell.wide { height: 270px; width: 457px; overflow: hidden; } .has_cells .document_cell.wide .decorative { display: block; font-size: 19px; line-height: 21px; } .has_cells .document_cell.wide .title { margin-top: -4px; } .has_cells .document_cell.wide .truncated { height: 174px; } .has_cells .document_cell.thin { width: 228px; height: 350px; } .has_cells .document_cell.thin .title {

font-size: 26px; line-height: 28px; } .has_cells .document_cell.thin .truncated { height: 250px; } .has_cells .document_cell .overlay { display: none; } .has_cells .document_cell.show_image .overlay { display: block; } .has_cells .document_cell.show_image .thumb { position: relative; box-shadow: 0px 1px 4px #A0A0A0; } .has_cells .document_cell.show_image.wide .thumb { float: left; width: 150px; height: 200px; margin-left: 20px; } .has_cells .document_cell.show_image.wide .overlay { background-image: url('/images/newhome/image-overlay150x200-large.png?= 1348517579'); } .has_cells .document_cell.show_image.wide .truncated { margin-left: 190px; } .has_cells .document_cell.show_image.wide .facepile { left: 190px; } .has_cells .document_cell.show_image.thin .thumb { width: 105px; height: 140px; margin: 0px 0px 10px 20px; } .has_cells .document_cell.show_image.thin .overlay { background-image: url('/images/newhome/image-overlay105x140-med.png?13= 48517579'); } .has_cells .document_cell.show_image.thin .title { font-size: 18px; line-height: 20px; } .has_cells .document_cell.show_image.thin .truncated { height: 100px; } .has_cells .document_cell.left { border-right: 1px solid #d8d8d6; } .has_cells .document_cell.last { border-bottom: 0; } /* :files, 'public/stylesheets/shared', ... @ (none) */ /* :files, 'app/views', ... @ 1348517526 */ /* app/views/login/login_common.css @ 1348517526 */ .login_section .global_login_form { border-bottom: 1px dotted #999; }

.login_section #aggro_fb_login { border-top: 0; padding-top: 0; } .login_section #aggro_fb_login h4 { display: none; } #aggro_fb_login { margin: 10px 0; padding-top: 10px; border-top: 1px dotted #999; } #aggro_fb_login h4 { margin-bottom: 5px; color: #999; font-size: 12px; } .button_container { padding-top: 10px; } .button_container button { margin-right: 10px; } .login_toggle { font-size: 13px; padding-top: 10px; margin-bottom: 5px; border-top: 1px dotted #AAA; } .login_toggle a { font-weight: bold; } .signup_toggle { margin: 5px 0; } .signup_toggle a { font-weight: bold; } .signup_header h1.subheader { color: #999; font-size: 13px; margin-bottom: 0; padding-top: 10px; border-top: 1px dotted #999; } .fb_iframe_widget { display: block; } .signup_toggle.open a, .login_toggle.open a { color: #999; } .global_login_form { margin-top: 15px; } .global_login_form .login_input_container { float: left; margin-right: 15px; } .global_login_form .login_input_container label { margin-top: 0; }

.global_login_form .password_input_container { float: left; } .global_login_form .password_input_container label { margin-top: 0; } .global_login_form .trouble { font-size: 11px; margin-right: 20px; } .global_login_form .facebook_connect_button_container { margin: 0 15px 0 0; padding: 15px 0; border-bottom: 1px dotted #aaa; } .global_login_form .other_options_container_small .facebook_connect_butt= on_container { margin: 0; padding: 0; border: 0; } .global_login_form .login_description { margin: 0; padding: 0; color: #999; } .global_login_form .already_have_account { margin-top: 15px; } .global_login_form .button_container { float: none; clear: both; } .global_signup_form .facebook_connect_button_container { margin: 0 15px 15px 0; padding: 15px 0; border-bottom: 1px dotted #aaa; } .global_signup_form .other_options_container_small .facebook_connect_but= ton_container { margin: 0; padding: 0; border: 0; } .global_signup_form .login_description { margin: 0; padding: 0; color: #999; } .global_signup_form .form_col { float: left; border-right: 1px dotted #aaa; padding-right: 30px; } .global_signup_form .why { float: left; margin-left: 15px; text-align: left; width: 300px; }

.global_signup_form .why h3 { font-family: Georgia, Palatino, Palatino Linotype, Times, Times New Ro= man, serif; font-style: italic; font-size: 21px; font-weight: bold; color: #9EAAB3; } .global_signup_form .why ol { font-family: Georgia, Palatino, Palatino Linotype, Times, Times New Ro= man, serif; font-style: italic; color: #565B64; margin: 14px 0px; } .global_signup_form .why li { font-size: 18px; font-weight: bold; margin-bottom: 8px; } .global_signup_form .why .sub { font-family: Arial, Helvetica, sans-serif; font-style: normal; font-weight: normal; margin-left: 22px; font-size: 16px; } .global_signup_form .signup_disclosure { width: 250px; clear: both; padding-top: 10px; font-size: 11px; color: #999; } .global_signup_form .signup_optin { margin-top: 10px; width: 240px; font-size: 11px; color: #333333; } .global_signup_form .privacy { position: relative; top: 0; font-size: 11px; } .global_signup_form .spinner { float: none; position: relative; top: 6px; margin-left: 5px; } .global_signup_form .signup_input { width: 240px; } .global_signup_form .signup_alert { font-size: 11px; } .form .login2 .login_submit, .trans_login { float: left;

clear: left; margin: auto 5px 20px auto; } .spinner { margin-right: 10px; float: left; } #login_successful_lb { text-align: center; } #login_successful_lb h3 { font-weight: bold; } #login_successful_lb .signup_message { display: none; } #login_successful_lb.signup .signup_message { display: block; } #login_successful_lb.signup .login_message { display: none; } /* app/views/new/chrome/_buttons.css @ 1348517526 */ .home_btn { display: inline-block; zoom: 1; *display: inline; border-radius: 3px; background: #744b2e; } .home_btn .btn_inner { font-family: Arial, sans-serif; -moz-user-select: -moz-none; -webkit-user-select: none; user-select: none; font-weight: bold; cursor: pointer; font-size: 12px; border-radius: 3px; text-align: center; padding: 0px 15px; height: 30px; line-height: 30px; color: white; } .home_btn .btn_inner.large { padding: 5px 40px; font-size: 14px; } .home_btn:active { box-shadow: inset 0px 0px 16px rgba(0, 0, 0, 0.5); } .home_btn.brown { background: #744b2e; background: -webkit-linear-gradient(top, #9c623f 30%, #744b2e 70%); background: -moz-linear-gradient(top, #9c623f 30%, #744b2e 70%); background: -o-linear-gradient(top, #9c623f 30%, #744b2e 70%); background: -ms-linear-gradient(top, #9c623f 30%, #744b2e 70%); background: linear-gradient(top, #9c623f 30%, #744b2e 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F=

F9c623f', endColorstr=3D'#FF744b2e',GradientType=3D0 ); } .home_btn.brown .btn_inner { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAA= cCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB= 4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU0= 6SW5zdGFuY2VJRD0ieG1wLmlpZDpDMzgzMzRFOUI0MUUxMUUxQkRDN0JFNjYwM0M2OEQ3NiI= geG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDMzgzMzRFQUI0MUUxMUUxQkRDN0JFNjYwM0M= 2OEQ3NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkM= zODMzNEU3QjQxRTExRTFCREM3QkU2NjAzQzY4RDc2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXA= uZGlkOkMzODMzNEU4QjQxRTExRTFCREM3QkU2NjAzQzY4RDc2Ii8+IDwvcmRmOkRlc2NyaXB= 0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+B/ldWAA= AATNJREFUSMft1c1xwyAQhuEXWdBIlGqccpye0lfSx5eDQCw/UhxH0uRgLmaGEQ/ssmsniTT= e314HkJcUJIKU5gqCNPeSAvW68CLN5avvPfAJfDgLOue4XSdn0PmXvAkGLTZlQbrrSF7w1YD= zTScnaVw+iCBrG2JuWa2TDxQkfBdM43Z9GQUerW+4AtoDFuubYEQvFPmrbkmZq27Yybn+EYz= okFGD0+SpjUJ5oPtAk1df3JLlRuVrXV5281rvBw16iWEyUBvWDJbrvwKrvPbLY6MmeRSc0Wm= AbpF3azK92IfBiLpuZzJgHfY/gRtNIlDV5G5g0SRizbFWsyLsBnaaRLcmdwVjiAdzozKsR4D= bTULHgNVjMv82B4I2ryI39MPBukmcAhp0PA1MeS3AM8YTfIL/H/wG+n3QYvMNT7IAAAAASUV= ORK5CYII=3D') 100% 0 no-repeat; } .home_btn.brown:hover { background: #7b5031; background: -webkit-linear-gradient(top, #ab6b45 30%, #7b5031 70%); background: -moz-linear-gradient(top, #ab6b45 30%, #7b5031 70%); background: -o-linear-gradient(top, #ab6b45 30%, #7b5031 70%); background: -ms-linear-gradient(top, #ab6b45 30%, #7b5031 70%); background: linear-gradient(top, #ab6b45 30%, #7b5031 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= Fab6b45', endColorstr=3D'#FF7b5031',GradientType=3D0 ); } .home_btn.brown:active { background: #8a5738; background: -webkit-linear-gradient(top, #865735 30%, #8a5738 70%); background: -moz-linear-gradient(top, #865735 30%, #8a5738 70%); background: -o-linear-gradient(top, #865735 30%, #8a5738 70%); background: -ms-linear-gradient(top, #865735 30%, #8a5738 70%); background: linear-gradient(top, #865735 30%, #8a5738 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= F865735', endColorstr=3D'#FF8a5738',GradientType=3D0 ); } .home_btn.search_brown { background: #744b29; background: -webkit-linear-gradient(top, #8c6239 30%, #744b29 70%); background: -moz-linear-gradient(top, #8c6239 30%, #744b29 70%); background: -o-linear-gradient(top, #8c6239 30%, #744b29 70%); background: -ms-linear-gradient(top, #8c6239 30%, #744b29 70%); background: linear-gradient(top, #8c6239 30%, #744b29 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= F8c6239', endColorstr=3D'#FF744b29',GradientType=3D0 ); } .home_btn.search_brown .btn_inner { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAA=

cCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB= 4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU0= 6SW5zdGFuY2VJRD0ieG1wLmlpZDpDMzgzMzRFOUI0MUUxMUUxQkRDN0JFNjYwM0M2OEQ3NiI= geG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDMzgzMzRFQUI0MUUxMUUxQkRDN0JFNjYwM0M= 2OEQ3NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkM= zODMzNEU3QjQxRTExRTFCREM3QkU2NjAzQzY4RDc2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXA= uZGlkOkMzODMzNEU4QjQxRTExRTFCREM3QkU2NjAzQzY4RDc2Ii8+IDwvcmRmOkRlc2NyaXB= 0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+B/ldWAA= AATNJREFUSMft1c1xwyAQhuEXWdBIlGqccpye0lfSx5eDQCw/UhxH0uRgLmaGEQ/ssmsniTT= e314HkJcUJIKU5gqCNPeSAvW68CLN5avvPfAJfDgLOue4XSdn0PmXvAkGLTZlQbrrSF7w1YD= zTScnaVw+iCBrG2JuWa2TDxQkfBdM43Z9GQUerW+4AtoDFuubYEQvFPmrbkmZq27Yybn+EYz= okFGD0+SpjUJ5oPtAk1df3JLlRuVrXV5281rvBw16iWEyUBvWDJbrvwKrvPbLY6MmeRSc0Wm= AbpF3azK92IfBiLpuZzJgHfY/gRtNIlDV5G5g0SRizbFWsyLsBnaaRLcmdwVjiAdzozKsR4D= bTULHgNVjMv82B4I2ryI39MPBukmcAhp0PA1MeS3AM8YTfIL/H/wG+n3QYvMNT7IAAAAASUV= ORK5CYII=3D') 100% 0 no-repeat; } .home_btn.search_brown:hover { background: #7c502c; background: -webkit-linear-gradient(top, #9a6c3f 30%, #7c502c 70%); background: -moz-linear-gradient(top, #9a6c3f 30%, #7c502c 70%); background: -o-linear-gradient(top, #9a6c3f 30%, #7c502c 70%); background: -ms-linear-gradient(top, #9a6c3f 30%, #7c502c 70%); background: linear-gradient(top, #9a6c3f 30%, #7c502c 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= F9a6c3f', endColorstr=3D'#FF7c502c',GradientType=3D0 ); } .home_btn.search_brown:active { background: #7a5532; background: -webkit-linear-gradient(top, #875730 30%, #7a5532 70%); background: -moz-linear-gradient(top, #875730 30%, #7a5532 70%); background: -o-linear-gradient(top, #875730 30%, #7a5532 70%); background: -ms-linear-gradient(top, #875730 30%, #7a5532 70%); background: linear-gradient(top, #875730 30%, #7a5532 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= F875730', endColorstr=3D'#FF7a5532',GradientType=3D0 ); } .home_btn.blue { background: #4c7dab; background: -webkit-linear-gradient(top, #629fdb 30%, #4c7dab 70%); background: -moz-linear-gradient(top, #629fdb 30%, #4c7dab 70%); background: -o-linear-gradient(top, #629fdb 30%, #4c7dab 70%); background: -ms-linear-gradient(top, #629fdb 30%, #4c7dab 70%); background: linear-gradient(top, #629fdb 30%, #4c7dab 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= F629fdb', endColorstr=3D'#FF4c7dab',GradientType=3D0 ); } .home_btn.blue .btn_inner { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAA= cCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8=

xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB= 4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU0= 6SW5zdGFuY2VJRD0ieG1wLmlpZDoxNzUwRTQzQkIyNkIxMUUxOTRDN0VDM0JCMjVGNzE2MyI= geG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxNzUwRTQzQ0IyNkIxMUUxOTRDN0VDM0JCMjV= GNzE2MyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjY= zMkZBREJDQjI2MzExRTE5NEM3RUMzQkIyNUY3MTYzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXA= uZGlkOjE3NTBFNDNBQjI2QjExRTE5NEM3RUMzQkIyNUY3MTYzIi8+IDwvcmRmOkRlc2NyaXB= 0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+LiBLSAA= AAMZJREFUSMft1FEOgyAMBmA7YceZ0aNul9i9tnsgJpBUIEBp0/ggCZFE46ftD+Ccm+JYts/= DX6yfzzBL69b90rPH9efnFzAIANNrfQPz5bX7/ww8RkCNwJ9l6yIYh4eNYFnbYEBnYtmqH9I= EAxrDxC5rF4j6ahmBoYEInTllJYFJX4fCMwSivpKTOwwmfZXZhwTU9JaVDSaHhNy2IIRJbls= QwmRFtwUhTDpgEiarAhYOCdmU9h4SKiBCjRoY+3oCNcYN3uD1wR2nPW/F84n73wAAAABJRU5= ErkJggg=3D=3D') 100% 0 no-repeat; } .home_btn.blue:hover { background: #5082b1; background: -webkit-linear-gradient(top, #73a9df 30%, #5082b1 70%); background: -moz-linear-gradient(top, #73a9df 30%, #5082b1 70%); background: -o-linear-gradient(top, #73a9df 30%, #5082b1 70%); background: -ms-linear-gradient(top, #73a9df 30%, #5082b1 70%); background: linear-gradient(top, #73a9df 30%, #5082b1 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= F73a9df', endColorstr=3D'#FF5082b1',GradientType=3D0 ); } .home_btn.blue:active { background: #4d92d6; background: -webkit-linear-gradient(top, #5b8ab6 30%, #4d92d6 70%); background: -moz-linear-gradient(top, #5b8ab6 30%, #4d92d6 70%); background: -o-linear-gradient(top, #5b8ab6 30%, #4d92d6 70%); background: -ms-linear-gradient(top, #5b8ab6 30%, #4d92d6 70%); background: linear-gradient(top, #5b8ab6 30%, #4d92d6 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= F5b8ab6', endColorstr=3D'#FF4d92d6',GradientType=3D0 ); } .home_btn.lightblue { background: #259fdb; background: -webkit-linear-gradient(top, #4cb4e8 30%, #259fdb 70%); background: -moz-linear-gradient(top, #4cb4e8 30%, #259fdb 70%); background: -o-linear-gradient(top, #4cb4e8 30%, #259fdb 70%); background: -ms-linear-gradient(top, #4cb4e8 30%, #259fdb 70%); background: linear-gradient(top, #4cb4e8 30%, #259fdb 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= F4cb4e8', endColorstr=3D'#FF259fdb',GradientType=3D0 ); } .home_btn.lightblue .btn_inner { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAA= cCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB= 4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU0=

6SW5zdGFuY2VJRD0ieG1wLmlpZDowN0Q3QzVDQkJDQTYxMUUxQkZGM0EwNTc1QThEMjk3NiI= geG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowN0Q3QzVDQ0JDQTYxMUUxQkZGM0EwNTc1QTh= EMjk3NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjA= 3RDdDNUM5QkNBNjExRTFCRkYzQTA1NzVBOEQyOTc2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXA= uZGlkOjA3RDdDNUNBQkNBNjExRTFCRkYzQTA1NzVBOEQyOTc2Ii8+IDwvcmRmOkRlc2NyaXB= 0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+eCFvAAA= AAUVJREFUSMftlVsSgjAMRa2Km/axHtci7kL/1BXQpLaFQJMWiyKMH2bGAVvlcG8eVcaYBcX= +/FgCYKEBNv6jwd9Xwb27VnJf+++0735faL5WoDEXiziqEKiUWuzLuwJ0UKz/oAUwhAYPrbo= X8mtsv7na514jYKNUIeBaI1MRA/tV9ipPAim2p9uaLJa2JtZqK4UyufYS6GJX3lfgLcLI1pS= yhNWhrZsssIFSMeUKKsxfUvkgoM9r+WiKSdiWKxihfDDQxeHsoataJfapeNkqbwG7YrJ5Rd4= qUmUif17lR8Agr7FtY9oiF2xIJGz9qC2yUJdXOyQAeguGjbrRQDEkkirDF/kakIZEpwzHt8X= AvC51d+JwlVMARTFFtk4CbE8ctCdOWzA1fDIgGxLUn9+s0qFDYhYgQd2hPhuQ8sqAc8Qf+Af= +PvAJfGJrbeLAFgEAAAAASUVORK5CYII=3D') 100% 0 no-repeat; } .home_btn.lightblue:hover { background: #2ea3dc; background: -webkit-linear-gradient(top, #5ebcea 30%, #2ea3dc 70%); background: -moz-linear-gradient(top, #5ebcea 30%, #2ea3dc 70%); background: -o-linear-gradient(top, #5ebcea 30%, #2ea3dc 70%); background: -ms-linear-gradient(top, #5ebcea 30%, #2ea3dc 70%); background: linear-gradient(top, #5ebcea 30%, #2ea3dc 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= F5ebcea', endColorstr=3D'#FF2ea3dc',GradientType=3D0 ); } .home_btn.lightblue:active { background: #35abe5; background: -webkit-linear-gradient(top, #3ba9df 30%, #35abe5 70%); background: -moz-linear-gradient(top, #3ba9df 30%, #35abe5 70%); background: -o-linear-gradient(top, #3ba9df 30%, #35abe5 70%); background: -ms-linear-gradient(top, #3ba9df 30%, #35abe5 70%); background: linear-gradient(top, #3ba9df 30%, #35abe5 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= F3ba9df', endColorstr=3D'#FF35abe5',GradientType=3D0 ); } .home_btn.green { background: #90b43e; background: -webkit-linear-gradient(top, #9fc73c 30%, #90b43e 70%); background: -moz-linear-gradient(top, #9fc73c 30%, #90b43e 70%); background: -o-linear-gradient(top, #9fc73c 30%, #90b43e 70%); background: -ms-linear-gradient(top, #9fc73c 30%, #90b43e 70%); background: linear-gradient(top, #9fc73c 30%, #90b43e 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= F9fc73c', endColorstr=3D'#FF90b43e',GradientType=3D0 ); } .home_btn.green .btn_inner { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAA= cCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB= 4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU0= 6SW5zdGFuY2VJRD0ieG1wLmlpZDo5OTU0NkVCOEIyNzgxMUUxOTRDN0VDM0JCMjVGNzE2MyI= geG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo5OTU0NkVCOUIyNzgxMUUxOTRDN0VDM0JCMjV= GNzE2MyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjQ= yMjc1MjBCQjI3MDExRTE5NEM3RUMzQkIyNUY3MTYzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXA=

uZGlkOjQyMjc1MjBDQjI3MDExRTE5NEM3RUMzQkIyNUY3MTYzIi8+IDwvcmRmOkRlc2NyaXB= 0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+hfVJVgA= AAVNJREFUSMft1U1Sg0AQBeA3UYP83M4q9A7uvEay9xrewE30LJZ3oF8WzAwzTA8mCKzCBqo= L+HqmX4ghCQA4fr8YkIUIawpre25EWLPrz30NUc3e27hnpPPXTfCeHwBv76+fH8aBxhgAwOH= U7knW0mH8kArZWnjv8EzUKEsATwkIAIev9p6CAeqSlWiQv3ei0V8VtOgdBVUE5LdMh5RGs6B= FdxSU/RYrXQ9QUss1Ogn26LMh+cjgpRk8Wn1aw2WgQ0Huk5X4OWICihu9CPTwqX0gbXq7ERD= UFMhfXwUqCQ6hAVBqs0ElwepvbzxbV5sF2rnuKHQJTmcbQ76p2aCS4Pxsgzn+C5xIsIUQrV6= WACcSHEL+g7AYGCS4yoRo2RWOPofVeHsdvjgYhKmk8q+yCggAxx4txl+e1cAgTMWqM/wjwfU= mYJjgzUCXYA9uddzAG3j1cQb4SpKnk5H+HQAAAABJRU5ErkJggg=3D=3D') 100% 0 no-re= peat; } .home_btn.green:hover { background: #96bc41; background: -webkit-linear-gradient(top, #a7cc4c 30%, #96bc41 70%); background: -moz-linear-gradient(top, #a7cc4c 30%, #96bc41 70%); background: -o-linear-gradient(top, #a7cc4c 30%, #96bc41 70%); background: -ms-linear-gradient(top, #a7cc4c 30%, #96bc41 70%); background: linear-gradient(top, #a7cc4c 30%, #96bc41 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= Fa7cc4c', endColorstr=3D'#FF96bc41',GradientType=3D0 ); } .home_btn.green:active { background: #90b534; background: -webkit-linear-gradient(top, #9dc14b 30%, #90b534 70%); background: -moz-linear-gradient(top, #9dc14b 30%, #90b534 70%); background: -o-linear-gradient(top, #9dc14b 30%, #90b534 70%); background: -ms-linear-gradient(top, #9dc14b 30%, #90b534 70%); background: linear-gradient(top, #9dc14b 30%, #90b534 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= F9dc14b', endColorstr=3D'#FF90b534',GradientType=3D0 ); } .home_btn.darkgreen { background: #7fb340; background: -webkit-linear-gradient(top, #8dc63f 30%, #7fb340 70%); background: -moz-linear-gradient(top, #8dc63f 30%, #7fb340 70%); background: -o-linear-gradient(top, #8dc63f 30%, #7fb340 70%); background: -ms-linear-gradient(top, #8dc63f 30%, #7fb340 70%); background: linear-gradient(top, #8dc63f 30%, #7fb340 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= F8dc63f', endColorstr=3D'#FF7fb340',GradientType=3D0 ); } .home_btn.darkgreen .btn_inner { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAA= cCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB= 4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU0= 6SW5zdGFuY2VJRD0ieG1wLmlpZDo5OTU0NkVCOEIyNzgxMUUxOTRDN0VDM0JCMjVGNzE2MyI= geG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo5OTU0NkVCOUIyNzgxMUUxOTRDN0VDM0JCMjV= GNzE2MyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjQ= yMjc1MjBCQjI3MDExRTE5NEM3RUMzQkIyNUY3MTYzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXA= uZGlkOjQyMjc1MjBDQjI3MDExRTE5NEM3RUMzQkIyNUY3MTYzIi8+IDwvcmRmOkRlc2NyaXB= 0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+hfVJVgA= AAVNJREFUSMft1U1Sg0AQBeA3UYP83M4q9A7uvEay9xrewE30LJZ3oF8WzAwzTA8mCKzCBqo=

L+HqmX4ghCQA4fr8YkIUIawpre25EWLPrz30NUc3e27hnpPPXTfCeHwBv76+fH8aBxhgAwOH= U7knW0mH8kArZWnjv8EzUKEsATwkIAIev9p6CAeqSlWiQv3ei0V8VtOgdBVUE5LdMh5RGs6B= FdxSU/RYrXQ9QUss1Ogn26LMh+cjgpRk8Wn1aw2WgQ0Huk5X4OWICihu9CPTwqX0gbXq7ERD= UFMhfXwUqCQ6hAVBqs0ElwepvbzxbV5sF2rnuKHQJTmcbQ76p2aCS4Pxsgzn+C5xIsIUQrV6= WACcSHEL+g7AYGCS4yoRo2RWOPofVeHsdvjgYhKmk8q+yCggAxx4txl+e1cAgTMWqM/wjwfU= mYJjgzUCXYA9uddzAG3j1cQb4SpKnk5H+HQAAAABJRU5ErkJggg=3D=3D') 100% 0 no-re= peat; } .home_btn.darkgreen:hover { background: #84bb43; background: -webkit-linear-gradient(top, #96cb4f 30%, #84bb43 70%); background: -moz-linear-gradient(top, #96cb4f 30%, #84bb43 70%); background: -o-linear-gradient(top, #96cb4f 30%, #84bb43 70%); background: -ms-linear-gradient(top, #96cb4f 30%, #84bb43 70%); background: linear-gradient(top, #96cb4f 30%, #84bb43 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= F96cb4f', endColorstr=3D'#FF84bb43',GradientType=3D0 ); } .home_btn.darkgreen:active { background: #80b636; background: -webkit-linear-gradient(top, #8cbf4d 30%, #80b636 70%); background: -moz-linear-gradient(top, #8cbf4d 30%, #80b636 70%); background: -o-linear-gradient(top, #8cbf4d 30%, #80b636 70%); background: -ms-linear-gradient(top, #8cbf4d 30%, #80b636 70%); background: linear-gradient(top, #8cbf4d 30%, #80b636 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= F8cbf4d', endColorstr=3D'#FF80b636',GradientType=3D0 ); } .home_btn.orange { background: #f36f20; background: -webkit-linear-gradient(top, #f68620 30%, #f36f20 70%); background: -moz-linear-gradient(top, #f68620 30%, #f36f20 70%); background: -o-linear-gradient(top, #f68620 30%, #f36f20 70%); background: -ms-linear-gradient(top, #f68620 30%, #f36f20 70%); background: linear-gradient(top, #f68620 30%, #f36f20 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= Ff68620', endColorstr=3D'#FFf36f20',GradientType=3D0 ); } .home_btn.orange .btn_inner { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAA= cCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB= 4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU0= 6SW5zdGFuY2VJRD0ieG1wLmlpZDoxNzUwRTQzRkIyNkIxMUUxOTRDN0VDM0JCMjVGNzE2MyI= geG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxNzUwRTQ0MEIyNkIxMUUxOTRDN0VDM0JCMjV= GNzE2MyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE= 3NTBFNDNEQjI2QjExRTE5NEM3RUMzQkIyNUY3MTYzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXA= uZGlkOjE3NTBFNDNFQjI2QjExRTE5NEM3RUMzQkIyNUY3MTYzIi8+IDwvcmRmOkRlc2NyaXB= 0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+iEGhnAA= AASxJREFUSMft1VESgiAQBmCwDKnD1ik6WV2h6TYbKuDPsmiZOj3EjCMpzIfssmkiUqHdL6e= dImVct+ku6u6GyP8envm+NvxZHOvnQv/hrqtGUGutbudj5QYcOEB93whoGGcKKL5/ZmDbHNp= 2ajfIdqtM0QwANADtHEuKLdDdRTA0B9ewNTYglK/cxu1lAEdHQY/uhK1pxLj2aLIrHo1zJ0G= PVkIyTcXVxJDAAt8CIa6GAyyukJmaP7NvfyFDa5YcKYpIQD+JYQHeS0Ahrsl5nAVCMuVxzQ9=

8g186G4RkKhUJ8bx+BUJcD0PcisnUvf8aFIrE6HldDIRkkuIaC8KiIMQ1Sxxa4wsLRWKowWo= lUCwStMCxmFMkVgd5kdgExH+czcAQ1wTcov3BP/j74AtgYfGDwMMhEQAAAABJRU5ErkJggg=3D= =3D') 100% 0 no-repeat; } .home_btn.orange:hover { background: #f4752a; background: -webkit-linear-gradient(top, #f79134 30%, #f4752a 70%); background: -moz-linear-gradient(top, #f79134 30%, #f4752a 70%); background: -o-linear-gradient(top, #f79134 30%, #f4752a 70%); background: -ms-linear-gradient(top, #f79134 30%, #f4752a 70%); background: linear-gradient(top, #f79134 30%, #f4752a 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= Ff79134', endColorstr=3D'#FFf4752a',GradientType=3D0 ); } .home_btn.orange:active { background: #f3790a; background: -webkit-linear-gradient(top, #f47f38 30%, #f3790a 70%); background: -moz-linear-gradient(top, #f47f38 30%, #f3790a 70%); background: -o-linear-gradient(top, #f47f38 30%, #f3790a 70%); background: -ms-linear-gradient(top, #f47f38 30%, #f3790a 70%); background: linear-gradient(top, #f47f38 30%, #f3790a 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= Ff47f38', endColorstr=3D'#FFf3790a',GradientType=3D0 ); } .home_btn.grey { background: #a5a39d; background: -webkit-linear-gradient(top, #a5a39d 30%, #a5a39d 70%); background: -moz-linear-gradient(top, #a5a39d 30%, #a5a39d 70%); background: -o-linear-gradient(top, #a5a39d 30%, #a5a39d 70%); background: -ms-linear-gradient(top, #a5a39d 30%, #a5a39d 70%); background: linear-gradient(top, #a5a39d 30%, #a5a39d 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= Fa5a39d', endColorstr=3D'#FFa5a39d',GradientType=3D0 ); } .home_btn.grey .btn_inner { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAA= cCAYAAAByDd+UAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3R= JTUUH3AcHAAQA4rNXWQAAAL9JREFUSMft1GEKgCAMBtBW2uX0oN2r7mEGCssknRujHwmSUPR= q+xRCCFMe3vs5Xmyca5q1det+7dnruse5AQYBYHLOAfPlb/ePB3iNhBqBP3usq2AeETaCZW2= DCV2IZXv9kCaY0Bwmdlm7QNRXywgMDUTowikrCSz6OhSeIRD1lZzcYbDoq8w+JKCmt6xssDg= k5LYFIUxy24IQJiu6LQhh0gGLMFkVsHJIyKa095BQARFq1MDc1xuoMX7wB78PnpMbbnVyfgp= IAAAAAElFTkSuQmCC') 100% 0 no-repeat; } .home_btn.grey:hover { background: #aaa8a2; background: -webkit-linear-gradient(top, #afada8 30%, #aaa8a2 70%); background: -moz-linear-gradient(top, #afada8 30%, #aaa8a2 70%); background: -o-linear-gradient(top, #afada8 30%, #aaa8a2 70%); background: -ms-linear-gradient(top, #afada8 30%, #aaa8a2 70%); background: linear-gradient(top, #afada8 30%, #aaa8a2 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= Fafada8', endColorstr=3D'#FFaaa8a2',GradientType=3D0 ); } .home_btn.grey:active { background: #999790; background: -webkit-linear-gradient(top, #b1afaa 30%, #999790 70%); background: -moz-linear-gradient(top, #b1afaa 30%, #999790 70%); background: -o-linear-gradient(top, #b1afaa 30%, #999790 70%); background: -ms-linear-gradient(top, #b1afaa 30%, #999790 70%); background: linear-gradient(top, #b1afaa 30%, #999790 70%);

filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= Fb1afaa', endColorstr=3D'#FF999790',GradientType=3D0 ); } .home_btn.darkorange { background: #ca7a0a; background: -webkit-linear-gradient(top, #da9509 30%, #ca7a0a 70%); background: -moz-linear-gradient(top, #da9509 30%, #ca7a0a 70%); background: -o-linear-gradient(top, #da9509 30%, #ca7a0a 70%); background: -ms-linear-gradient(top, #da9509 30%, #ca7a0a 70%); background: linear-gradient(top, #da9509 30%, #ca7a0a 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= Fda9509', endColorstr=3D'#FFca7a0a',GradientType=3D0 ); } .home_btn.darkorange .btn_inner { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAA= cCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB= 4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU0= 6SW5zdGFuY2VJRD0ieG1wLmlpZDoxNzUwRTQzRkIyNkIxMUUxOTRDN0VDM0JCMjVGNzE2MyI= geG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxNzUwRTQ0MEIyNkIxMUUxOTRDN0VDM0JCMjV= GNzE2MyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE= 3NTBFNDNEQjI2QjExRTE5NEM3RUMzQkIyNUY3MTYzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXA= uZGlkOjE3NTBFNDNFQjI2QjExRTE5NEM3RUMzQkIyNUY3MTYzIi8+IDwvcmRmOkRlc2NyaXB= 0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+iEGhnAA= AASxJREFUSMft1VESgiAQBmCwDKnD1ik6WV2h6TYbKuDPsmiZOj3EjCMpzIfssmkiUqHdL6e= dImVct+ku6u6GyP8envm+NvxZHOvnQv/hrqtGUGutbudj5QYcOEB93whoGGcKKL5/ZmDbHNp= 2ajfIdqtM0QwANADtHEuKLdDdRTA0B9ewNTYglK/cxu1lAEdHQY/uhK1pxLj2aLIrHo1zJ0G= PVkIyTcXVxJDAAt8CIa6GAyyukJmaP7NvfyFDa5YcKYpIQD+JYQHeS0Ahrsl5nAVCMuVxzQ9= 8g186G4RkKhUJ8bx+BUJcD0PcisnUvf8aFIrE6HldDIRkkuIaC8KiIMQ1Sxxa4wsLRWKowWo= lUCwStMCxmFMkVgd5kdgExH+czcAQ1wTcov3BP/j74AtgYfGDwMMhEQAAAABJRU5ErkJggg=3D= =3D') 100% 0 no-repeat; } .home_btn.darkorange:hover { background: #d4800a; background: -webkit-linear-gradient(top, #eea20a 30%, #d4800a 70%); background: -moz-linear-gradient(top, #eea20a 30%, #d4800a 70%); background: -o-linear-gradient(top, #eea20a 30%, #d4800a 70%); background: -ms-linear-gradient(top, #eea20a 30%, #d4800a 70%); background: linear-gradient(top, #eea20a 30%, #d4800a 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= Feea20a', endColorstr=3D'#FFd4800a',GradientType=3D0 ); } .home_btn.darkorange:active { background: #c28408; background: -webkit-linear-gradient(top, #e2890b 30%, #c28408 70%); background: -moz-linear-gradient(top, #e2890b 30%, #c28408 70%); background: -o-linear-gradient(top, #e2890b 30%, #c28408 70%); background: -ms-linear-gradient(top, #e2890b 30%, #c28408 70%); background: linear-gradient(top, #e2890b 30%, #c28408 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= Fe2890b', endColorstr=3D'#FFc28408',GradientType=3D0 ); } .home_btn.disabled {

background: #7b7b7b; background: -webkit-linear-gradient(top, #9f9f9f 30%, #7b7b7b 70%); background: -moz-linear-gradient(top, #9f9f9f 30%, #7b7b7b 70%); background: -o-linear-gradient(top, #9f9f9f 30%, #7b7b7b 70%); background: -ms-linear-gradient(top, #9f9f9f 30%, #7b7b7b 70%); background: linear-gradient(top, #9f9f9f 30%, #7b7b7b 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= F9f9f9f', endColorstr=3D'#FF7b7b7b',GradientType=3D0 ); } .home_btn.disabled .btn_inner { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAA= cCAYAAAByDd+UAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3R= JTUUH3AcHAAQA4rNXWQAAAL9JREFUSMft1GEKgCAMBtBW2uX0oN2r7mEGCssknRujHwmSUPR= q+xRCCFMe3vs5Xmyca5q1det+7dnruse5AQYBYHLOAfPlb/ePB3iNhBqBP3usq2AeETaCZW2= DCV2IZXv9kCaY0Bwmdlm7QNRXywgMDUTowikrCSz6OhSeIRD1lZzcYbDoq8w+JKCmt6xssDg= k5LYFIUxy24IQJiu6LQhh0gGLMFkVsHJIyKa095BQARFq1MDc1xuoMX7wB78PnpMbbnVyfgp= IAAAAAElFTkSuQmCC') 100% 0 no-repeat; } .home_btn.disabled:hover { background: #818181; background: -webkit-linear-gradient(top, #a9a9a9 30%, #818181 70%); background: -moz-linear-gradient(top, #a9a9a9 30%, #818181 70%); background: -o-linear-gradient(top, #a9a9a9 30%, #818181 70%); background: -ms-linear-gradient(top, #a9a9a9 30%, #818181 70%); background: linear-gradient(top, #a9a9a9 30%, #818181 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= Fa9a9a9', endColorstr=3D'#FF818181',GradientType=3D0 ); } .home_btn.disabled:active { background: #929292; background: -webkit-linear-gradient(top, #888888 30%, #929292 70%); background: -moz-linear-gradient(top, #888888 30%, #929292 70%); background: -o-linear-gradient(top, #888888 30%, #929292 70%); background: -ms-linear-gradient(top, #888888 30%, #929292 70%); background: linear-gradient(top, #888888 30%, #929292 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= F888888', endColorstr=3D'#FF929292',GradientType=3D0 ); } .home_btn.disabled .btn_inner { cursor: default; color: #C9C9C9; text-shadow: 0px -1px 0px #6d6d6d; } .home_btn.disabled:hover { background: #7b7b7b; background: -webkit-linear-gradient(top, #9f9f9f 30%, #7b7b7b 70%); background: -moz-linear-gradient(top, #9f9f9f 30%, #7b7b7b 70%); background: -o-linear-gradient(top, #9f9f9f 30%, #7b7b7b 70%); background: -ms-linear-gradient(top, #9f9f9f 30%, #7b7b7b 70%); background: linear-gradient(top, #9f9f9f 30%, #7b7b7b 70%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= F9f9f9f', endColorstr=3D'#FF7b7b7b',GradientType=3D0 ); } /* app/views/new/chrome/_hover_menu.css @ 1348517526 */ .hover_menu { position: relative; z-index: 3400; } .hover_menu.open .sub_menu { display: block; }

.hover_menu.open .open_sprite { display: inline-block; zoom: 1; *display: inline; } .hover_menu.open .closed_sprite { display: none; } .hover_menu .sprite_container { display: inline-block; zoom: 1; *display: inline; width: 10px; position: relative; top: -1px; } .hover_menu .sprite_container .open_sprite { position: relative; left: -2px; } .hover_menu .closed_sprite, .hover_menu .open_sprite { display: inline-block; zoom: 1; *display: inline; vertical-align: middle; margin-left: 6px; } .hover_menu .open_sprite { display: none; } .hover_menu .sub_menu { display: none; color: #4e6168; z-index: 3400; position: absolute; background: white url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= CIAAAAiCAYAAAA6RwvCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA= yRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iV= zVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6b= nM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgM= jAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwO= i8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwd= GlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xL= jAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sb= nM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZ= iMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIge= G1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDQ0I4NzE4RUNEM0UxMUUxQUFCRkUwMjc2ODVCQ= jQ4NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDQ0I4NzE4RkNEM0UxMUUxQUFCRkUwM= jc2ODVCQjQ4NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAua= WlkOkNDQjg3MThDQ0QzRTExRTFBQUJGRTAyNzY4NUJCNDg3IiBzdFJlZjpkb2N1bWVudElEP= SJ4bXAuZGlkOkNDQjg3MThEQ0QzRTExRTFBQUJGRTAyNzY4NUJCNDg3Ii8+IDwvcmRmOkRlc= 2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+h= 2XCBAAAAb9JREFUWMPNlsGOgzAMRAmO9rKH/f9vXKFC79gLcRJPAr3haJEQEVKb6fNkprOIT= P/hnqfj+l2Wn+X1+l7X9Wt7v+cQwjT6TkKYJQozsaRn3LYtvR95qRBREXyISM/jHi2mEqkid= H0Ko0NMGE0kGpGWzigxSCRRaOjYmMIQIdJQADqHODnFDRhTErJfPXKuSfJaztPkLKYQAQEq4= lzvjXeSmNnfI1WAitBMafySxrduG/mNRonQxSNGB8SxixgdzSmijqfxC/Xe2VUMrQ8HHhLJB= JSORn7nHccqKEQiEEkC9kJHgI5jFWSzMmyUf7nRyWHH0bMKcsR3HqlEuKPgVwVIBD0SLW3vK= TxdBVB6zRioN6kmrF8VQOlJNAGNSWueeFYBEqF+PNULOU88q6AQMRFIBN93dJ6uAiPSGpZKn= iAdzyqA0ivG+0BHveBWBUiELE+ADhsFzyowjxiRPOuStkbBswpaj0hH4RMdhyq49YjkY9nRi=

Z5VABHPdaP9ng55VkEpvRpO+uWNX4yCYxUUInTxiJTIBy84VgH8DegoMEQ+Zy84VkFZhDzTe= KUj+UNlI58qwLONYvpjS90RfrwK/gCpjZNUAVD3qAAAAABJRU5ErkJggg=3D=3D') 0 100%= no-repeat; min-width: 150px; box-shadow: 0px 1px 6px rgba(0, 0, 0, 0.45); font-family: Arial, sans-serif; font-size: 11px; padding: 1px 0px; } .hover_menu .sub_menu .top { padding: 10px 18px; background: #F0F0F0; } .hover_menu .sub_menu .top strong { color: #4e6168; } .hover_menu .sub_menu .divider { margin: 8px 7px; height: 1px; background: #E5E5E5; border: 0; } .hover_menu .sub_menu a { color: #68818a; } .hover_menu .sub_menu .list.last { margin-bottom: 8px; } .hover_menu .sub_menu .row { display: block; padding: 8px 18px; } .hover_menu .sub_menu .row:hover { background: #E6EEF1; text-decoration: none; } /* app/views/newdoc/_shared.css @ 1348517526 */ #copy_link_lb { width: 734px; } #embed_lb { width: 704px; } #comment_lb { width: 720px; } #readcast_lb { min-width: 300px; width: 500px; } #flag_doc_lb { min-width: 400px; width: 400px; } #flag_document_container { background: none; border: 0; padding: 0px; margin: 0px; }

#sidebar.show_social #pinned_ad { margin-top: 20px; } #leaderboard_ad_main { background: url('/images/newdoc/DocPagePattern.png?1348517579'); border-bottom: 1px solid #b5c0c5; box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.1); padding: 8px; position: relative; overflow: hidden; max-height: 95px; } #leaderboard_ad_main #Doc_Top_Leaderboard_ATF_728x90_container { display: inline-block; zoom: 1; *display: inline; background: white; border: 1px solid #b5c0c5; box-shadow: 1px 1px 0px #FFEFE9; overflow: hidden; height: 90px; height: auto \9; } #Doc_Sideboard_MediumRectangle_ATF_300x250_ad_container { overflow: hidden; height: 250px; height: auto \9; } .browser_icons { background: url('/images/newdoc/browser_logos.png?1348517579') 0 0 no-= repeat; width: 175px; height: 33px; } .browser_icons a { float: left; display: block; width: 35px; height: 32px; text-indent: -9999px; } .button_bubble { border: 1px solid #C9D9E3; background: white; color: #5D656A; -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; float: right; font-size: 10px; padding: 2px 6px; position: absolute; top: -8px; right: -8px; font-weight: bold; letter-spacing: -1px; z-index: 1000; } .embed_icon { display: inline-block;

zoom: 1; *display: inline; vertical-align: middle; margin: 0px 2px 0px 0px; width: 27px; height: 27px; background-repeat: no-repeat; background-position: 0 0; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAB= sCAYAAACb88ksAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9= tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmV= zb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHh= tcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODA4Mzk= 5NDVCQjI3QTZCOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3MUU2MjY2NzMwQ0UxMUU= xOTcwMzgwQTJGOTg1RUEzQiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3MUU2MjY2NjM= wQ0UxMUUxOTcwMzgwQTJGOTg1RUEzQiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3N= ob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmN= lSUQ9InhtcC5paWQ6MDY4MDExNzQwNzIwNjgxMThDMTQ4RTQxNkEyQUZDNDIiIHN0UmVmOmR= vY3VtZW50SUQ9InhtcC5kaWQ6MDc4MDExNzQwNzIwNjgxMTgwODM5OTQ1QkIyN0E2QjgiLz4= gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCB= lbmQ9InIiPz659ViZAAAEbUlEQVRo3u2WS1MTWRTHKS3LvR/Ab2DVlAtm4wo2bGThEhe60mK= ps6EcxHLhCzQBAnl1k4RO5wEEkjSdhCRtiFXCPNDxiY+ZUSy0LFEHTAWUAZMz5zQwFSOddAi= lZXkXp6qrz+n7+9/uc27/awCg5ktFDYN927BT5zq0og1jr0auFqOZrrMf4bOoFNbeZXfAz+c= vz+H1vqJcA95fojxeH6sW1mK08uAQ/dDDu6Cjl+sozF8y2SLdCLI63QTLYTRtFdbciSBe8AA= pH5DHXuHDRwtr3v378SznGVzosq0BcZereL+xUljTFTMHNpcItFB/IPwWHzxRvHO8t2P+w4r= B0u/LdNr6wNzXT8BlzNXphTWSQotDUEG8LzBPO9BqHlxw19ulZXM3L2Sp3sQ7N4C15WB1VNj= LOcHiFMDs8mRQ+WXaQYlOJeDuV5lFwWh3Llpdbuhea6gsNZQmjPMOtWJRnh7o4VxgEwcekvJ= SoI2Yuv9oT49TnO3FV0lvpfXClTyud0QThgs3JCd+nzEhiHd7gToRFzLpgO1EkT6jhQd7v0i= 7yl//4+5jXO/Hkt8MCw5F0xPPCegQfWC0cARsLwXDxe0GrOMEL75CJ4z/dvMprlOvqxux6HA= wnnpJD9KMre+wTWvoCdSHwkggCcXnD1Y0Z1h4nGaLZoxeaffaKXGy+BijPAkiYSSQhG7pBKH= Zcg9Lb+ijn75oyElK+pMTJJQYt1Ij9GDeL8XmSGBVZyPO2BlvKPL69p9P7+HDB4rE1N96/GS= a8nj9U9UHMc0YRgvGDxr5/ZSv+NTfrLja+A5hzPAw2HcK+6Jzpuf3X8aLbAuM2W9mv5n9Zva= b2W9mv5n9ZvabwRiMeX3m9ZnXZ16feX3m9ZnXZ16feX3m9RmMwb5R+23ghKpiu2BtGHs1crU= YzdsFa8d/Ghh59xxe7yvKNeD9Jcrj9bFqYS1CIAwRJQ2eYAR4f7CjMG/3DUc8QRmCsSTBchh= NW4U1uwMSjCZTKih6bVK134U1mZXc2YFIcoHyI7EE7X4V7zdWCmtyDQYhFFdUUDCZVu33Jg2= xY2F51eCVxjJUNyTHCbiMuTq9sEZSSErVBaLKPO2gRAfu+uf9ilkYkbNoD2BwNLYBrC0Hq6P= CodExfC24q3Asg8pV+12m5XfPZd8LroC0GIpfBT9CcZ0sNZQmbDCqtGJRPhxPocIx8MsJ1X7= rmbE7fz/bI4ais8ORBDaMAp19Yh7XK22/J27dn/GGoiBjB663tEkHbCeK9FF9OJGiXeVvPPi= rtP1efyWH0lO3nxMwcjUNwlCYgO2lYLi4nUZEUjtXhl/uPixvvwu+weHE5NRL+uBRAgZUYJv= W0JMgmkUSSEJ12e+ij36cZsuDQFkZB3FklIAni48xcURSBZEwEqjbfm/SZSdCyrU3aK2hy+H= JKb/e/OQESU7esFIj+MMxkNMTldnvzV4TztgZKXX99YNnL1T7XSSmfnrmxTTlK7bfGjP0v/3= WyKv2u+JTn3kQBvuqsP8A8+2jtOdfpjoAAAAASUVORK5CYII=3D') 0 0 no-repeat; } button:hover .embed_icon { background-position: 0 -27px; } button:active .embed_icon { background-position: 0 -54px; } .embed_icon button.disabled { background-position: 0 -81px; } .copy_icon { display: inline-block;

zoom: 1; *display: inline; vertical-align: middle; margin: 0px 2px 0px 0px; width: 27px; height: 27px; background-repeat: no-repeat; background-position: 0 0; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAB= sCAYAAACb88ksAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9= tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmV= zb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHh= tcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODA4Mzk= 5NDVCQjI3QTZCOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3MUU5RkY2NDMwQ0UxMUU= xOTcwMzgwQTJGOTg1RUEzQiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3MUU5RkY2MzM= wQ0UxMUUxOTcwMzgwQTJGOTg1RUEzQiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3N= ob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmN= lSUQ9InhtcC5paWQ6MDY4MDExNzQwNzIwNjgxMThDMTQ4RTQxNkEyQUZDNDIiIHN0UmVmOmR= vY3VtZW50SUQ9InhtcC5kaWQ6MDc4MDExNzQwNzIwNjgxMTgwODM5OTQ1QkIyN0E2QjgiLz4= gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCB= 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 ErkJggg=3D=3D') 0 0 no-repeat; } button:hover .copy_icon { background-position: 0 -27px; } button:active .copy_icon {

background-position: 0 -54px; } .copy_icon button.disabled { background-position: 0 -81px; } .comment_icon { display: inline-block; zoom: 1; *display: inline; vertical-align: middle; margin: 0px 2px 0px 0px; width: 27px; height: 27px; background-repeat: no-repeat; background-position: 0 0; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAB= sCAYAAACb88ksAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3R= JTUUH3AEKAwMRuC5ySAAAAqxJREFUaN7tlttuElEUhrmxz+B79E286KUXfYGmt8aYtLYxBFu= woMXhIKdCadRQClMQSjlEJI2naLwuoZA08ZRIjJGaLNeiEyRaZm9mNhPFffEHktn/+tg7ZPZ= nAwCbVbFJ2HTArq06ZjArmDYGDKSt9WmOPuz6rTW7634AvA8i4A2GYTMY4g6tpx71aQ5GH3b= D7uwq4RgooSj0P8eN1qM5GOYxgs8IZCjU146UDVNMwhQJm26YL7Jl7t+IfS7Y8pr7LBBLmIJ= Rn+Zg9GE7mfyxxx8Cfyw+9g5pPfWon9zLNTH6sA9fvy8kM7nTm+ue3qj3n9PrH/wQ+r7kuDN= 4Rj3q45xFjD6s+wMuYRYxeczzi5IuVjpuXwgUBC45XNB6//nN0PO81qc5TBhP5rOHtRM3Htf= y7Q14qBZmMReuFQGjXM3XGq1Vp8cSGGWuWD9qWgWjXMFcHvVcNEw3/ylMeuO/B7P0D0IXnpE= YhQnTbyZMpH4zYSL1m+cYhek3F0yUyknYlMJE6TcTJlK/mTCR+s2EidRvHgexTr85r5M/9Hu= i99nv+j3xy3NYvy25qaV+S/2WMKnfUr+lfkuY1G+p31K/pX5L/Zb6LY1Y6vd51n0RQzEKm8G= sYNoYMJC21mfrtysQtUcfpSG1X4DdfBFSOf7012OP+jSHCdsIbnXTT0qQKZYhe1AZO9SjPs3= hOUYsGQP9Srl/pJywiulI2BTD1JI5EPW5YHfD22fZUtXczrBPc5gwtfLseHtXxVJ17B2er69= CgvrlOlu/P37rLaiV+um9SLI36v0Xe5wZvGHiqSztYvCMetTHOWL0+6DxohNPqbBXKCMoAZ1= PX4zpN+d1Mn949OqEjot2las1Zid6n5F+116+bW1GdyYP04BzT1+/a1oC04DG9Vuq3F8N+wk= a7Jp/5RIDWwAAAABJRU5ErkJggg=3D=3D') 0 0 no-repeat; } button:hover .comment_icon { background-position: 0 -27px; } button:active .comment_icon { background-position: 0 -54px; } .comment_icon button.disabled { background-position: 0 -81px; } .readcast_icon { display: inline-block; zoom: 1; *display: inline; vertical-align: middle; margin: 0px 2px 0px 0px; width: 27px; height: 27px; background-repeat: no-repeat; background-position: 0 0; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAB= sCAYAAACb88ksAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9= tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmV=

zb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHh= tcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODA4Mzk= 5NDVCQjI3QTZCOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3MUU5RkY2ODMwQ0UxMUU= xOTcwMzgwQTJGOTg1RUEzQiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3MUU5RkY2NzM= wQ0UxMUUxOTcwMzgwQTJGOTg1RUEzQiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3N= ob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmN= lSUQ9InhtcC5paWQ6MDY4MDExNzQwNzIwNjgxMThDMTQ4RTQxNkEyQUZDNDIiIHN0UmVmOmR= vY3VtZW50SUQ9InhtcC5kaWQ6MDc4MDExNzQwNzIwNjgxMTgwODM5OTQ1QkIyN0E2QjgiLz4= gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCB= 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 nDRIYwLttvwKrudnCqBRQ6K+Xe31JWmyUipzAUHdRnd0Z3353Do1eIq6NFW57x+DwZ0Qp6Hs= IsJeGJqfzSPblnnrmbtwDKq2s4Qqe7DdyZrK7vfgF5A3s5d6wi+fD7XdRie0+dsXZb0q6xVl= DNHH2G79ER6gEiDrkigOC/LOpCZCYqNtAWDZJsfkDeq5t7XQeKv1qGFTNnmzfQF01kPoM5U5= 6v7a8tcPZ75+XVgZhxTn7jVyeB9A4bUpfXs3Zb6nB0kkswLh+cigYFrqK+tpFUQ4srm++5Wn= xz1PPM5RxgN3UbMtqb16CxN/Hs5DkT0BUi9OhVRPePyRheVo6Drff+/fSC1DWBH5gUL44+43= 3adC2S3VEoJRLKgtbtYeRKCCEjWn85oaILiJXG9TKZsKR7xLqjWS/0QlCtDjebfgLwBfzkY3= Oho6eWYPDtUa5pKCcwU9y9ltnr/oUm4uClZ2x2cWj7ffBKwZNNYUo1O411WXQlInG/Jj9Dm3= ez6xsaL6Cz2uoTCCurfG5YGL2+1eegrPfd+5Nj2qslWvU66gs6Lbez909iICR6qjF1TR3LOC= aSdx+xzEynP3GqUYg5TlHXdMCel4YtbiIUy3RTbAUjR3ffh/hnn5f+/3/+0/LJxm/AIF/Q3m= iEVw2AAAAAElFTkSuQmCC') 0 0 no-repeat; } button:hover .readcast_icon { background-position: 0 -27px; } button:active .readcast_icon { background-position: 0 -54px; }

.readcast_icon button.disabled { background-position: 0 -81px; } .add_icon { display: inline-block; zoom: 1; *display: inline; vertical-align: middle; margin: 0px 2px 0px 0px; width: 27px; height: 27px; background-repeat: no-repeat; background-position: 0 0; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAB= sCAYAAACb88ksAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9= tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmV= zb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHh= tcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODA4Mzk= 5NDVCQjI3QTZCOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo5QzkzMEM0RjQ0NkIxMUU= xOTRDNUQ5NUU2QjFENjIwQyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5QzkzMEM0RTQ= 0NkIxMUUxOTRDNUQ5NUU2QjFENjIwQyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3N= ob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmN= lSUQ9InhtcC5paWQ6RkE3RjExNzQwNzIwNjgxMTgwODNDNkE0NEZENkI5QjAiIHN0UmVmOmR= vY3VtZW50SUQ9InhtcC5kaWQ6MDc4MDExNzQwNzIwNjgxMTgwODM5OTQ1QkIyN0E2QjgiLz4= gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCB= lbmQ9InIiPz4uQljlAAABMElEQVRo3u2Y22rCQBRF892Woi8Va0QERaPxknSi+Bl+gE9+iVB= 8qu1xxhsTSaBTjVhcD5uQcMhiyM5kEU9EvHvFA1YY7HObndKbv9YRK6u82ath5XrrqzeKpTe= OpDuO5b0zWBcKG8SJmARRAuwKWKQOsIm6DeyicefU24GcVhbq+J1A8madYKZxdgLdvv5xVae= Yc3P9ctYZZt/UNX+ATVMxz2ioZqmbDpW+vl9tetYJ1uxPNll5qTZ+wo/p4Znp42ut+Z0369J= GlZWK39qe26ir73fDTd4sL/WTwuxdolCYzkJnaWVeJOzXAXZf2PN5IwW5CQz9BoZ+o9/oNzs= I+o1+A0O/cX1cH9fH9XF9XB/XZwfB9XF9YOg3BUG/+Z6h3+g3+o1+A/v3+s1v24eG7QDwXHK= F+de0PAAAAABJRU5ErkJggg=3D=3D') 0 0 no-repeat; } button:hover .add_icon { background-position: 0 -27px; } button:active .add_icon { background-position: 0 -54px; } .add_icon button.disabled { background-position: 0 -81px; } .share_icon { display: inline-block; zoom: 1; *display: inline; vertical-align: middle; margin: 0px 2px 0px 0px; width: 27px; height: 27px; background-repeat: no-repeat; background-position: 0 0; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAB= oCAYAAAAAYos6AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3R=

JTUUH3AMPASYlP/MhJgAABH9JREFUaN7tl8tPG1cUxrOrUiFFVdQq6h/QbKNKWVfqon9CF1l= 00XWULKp0AYu0SkIRUPADP8YeM2OPbcDvF7YB20BMItKKIjUptCqExjAh4ECC69QBQW6/4xg= LdkG+bNp7pZ/AZzHf3HO/e/z5zBmx/ner/U5PG7gKJHADnDs1oY7O3sV+m5OZnYPMYJcZajr= 4kLvYzW7DLYPkYg7VwyQFqBozSDJDXeMu1mNxPrJDwOH2HsHHOo22dd4tPNtrk3UbdnRUTFK= 9bEDx6jyFroCSES3ss8lMwm5c2hCzKxrDGb65N/8wfJKHXQQyuA+6wYVG/RIo/mglQ6isyyy= 9HivOlqyqb+d2v2XPPKhV5v9YXvx7n10+iVDN5HAx+6CH0dvjbVdRU+70DTCLSyUDHCRy0/r= WP7sJPPhLYAFp4ACfvvOuvu81Zk2Owaa7CDv+J2sbUVdGIltr2zuzeOjX4L2WzuMHk63s9Pi= OOwyCvQMSo5ZB4DY4z+Xwnf7gisXlbgqRsKz5GdVoZ9TOwzNseS0+0U3f9Rj2rTgvl3cIIh5= Gh++NJsudBktdFGJV0EH2b0kMLfp45dnz2aF4eqPfoVSHE5mNUvlFAfX235/oC+Q4srvp7S5= L4DrIgMdgCnx2YkHwLXCDb8BHjfon5LiZuV+XO43WXXJqr0ViFlmtm2jAqdALHIDPuV1qCH4= B22csirdiRVsPXUtYB93U9hmu44psb5TdJRpPR53rxDTpMts3uQ9iXzT1gCaJ3Lgq5FwzWuk= aDi9xF3v6onINk79GgnYawHK9hXt/bW51cRdDK9/fqLyK0mWnqzE6WVzF53HUPziVb2s8uK0= xH9vBV/RZhCWxRCIWiVgkYpGIRSIWiVgkYpGIRSIWSyyRiEUiFolYJGKRiEUiFolYJGKRiMU= S6z+8+pyeNnAVSOAGOHdqQv2ytugOxthQbJRpoThDTQf8E7FJ8d/yRpIsOVEAk/W/9Bl1/ol= YHo4+imRybDQ/3SQ+VmB2X3CddwvPukZiejQzcUwsms0xbyyt8xS6AkrUMg3Exgt1IdolzvD= N3OJS+CQPuwhkcB90gwuN+iVQVANR5ochHP7w6+IvD0u+eGbHpgX2tOho5beVtXdPxA2hmj+= aYuHRMRx4gt52FTXFro2w4XiaDHCQn53Tt2t7rSXiAXUoSzYmd6UaxLITdRF8M7NQtrC1/rL= KJxFLvlA5MT557NBTuSnmxh2ilnFNxIF0biWQzDaF0gWI5adYIDXGfJEUXVrl8AxbXktPN01= m1b8fxMNTuWkWSI4xOvx4/m7Z4QvW2wmxKugg+7eciEvPX84mJ2c21FCimpq6t6FvV+qJGC+= yQI6jlpLtyf7gOsiAx2AK8E3EPy/8uYwpsUuCKuZiMJlhdLkbuz4AfBMxbJ/BpKhE0hNvXQs= T0d8Q2m/VAvwTsTuSKsWy+WPOTWCaSP4w/0ScKBQf4NcOHHu36Vz86mHBTJ5/In628+oaJn+= NBMN0ZhAi565t7ZxOIt6s1qJ02elqTP40v1qu1kQiPt31L5evnA7zFwfHAAAAAElFTkSuQmC= C') 0 0 no-repeat; } button:hover .share_icon { background-position: 0 -27px; } button:active .share_icon { background-position: 0 -54px; } .share_icon button.disabled { background-position: 0 -81px; } .newdoc_sprite { background: url('/images/newdoc/icon-sprite.png?1348517579') 0 0 no-re= peat; display: inline-block; zoom: 1; *display: inline; vertical-align: middle; } .newdoc_sprite.download { background-position: -25px -25px; width: 20px; height: 24px; vertical-align: top; margin-right: 6px; } .newdoc_sprite.download_big { background-position: 0px -21px; width: 24px; height: 28px; vertical-align: top; margin-right: 6px; } .newdoc_sprite.readcast { width: 24px; height: 19px; background-position: 0px -52px; }

.newdoc_sprite.readcast:hover, .has_icon:hover .newdoc_sprite.readcast {= background-position: -24px -52px; } .newdoc_sprite.comment { width: 24px; height: 21px; background-position: 0px -76px; } .newdoc_sprite.comment:hover, .has_icon:hover .newdoc_sprite.comment { background-position: -24px -76px; } .newdoc_sprite.link { width: 24px; height: 19px; background-position: 0px -100px; } .newdoc_sprite.link:hover, .has_icon:hover .newdoc_sprite.link { background-position: -24px -100px; } .newdoc_sprite.embed { width: 24px; height: 19px; background-position: 0px -124px; } .newdoc_sprite.embed:hover, .has_icon:hover .newdoc_sprite.embed { background-position: -24px -124px; } .newdoc_sprite.add { width: 24px; height: 19px; background-position: 0px -149px; } .newdoc_sprite.add:hover, .has_icon:hover .newdoc_sprite.add { background-position: -24px -149px; } .newdoc_sprite.zoom_in { width: 24px; height: 19px; background-position: 0px -149px; } .newdoc_sprite.zoom_in:hover, .has_icon:hover .newdoc_sprite.zoom_in { background-position: -24px -149px; } .newdoc_sprite.zoom_out { width: 24px; height: 19px; background-position: 0px -172px; } .newdoc_sprite.zoom_out:hover, .has_icon:hover .newdoc_sprite.zoom_out {= background-position: -24px -172px; } .newdoc_sprite.zoom_full { width: 24px; height: 19px; background-position: 0px -197px; } .newdoc_sprite.zoom_full:hover, .has_icon:hover .newdoc_sprite.zoom_full= {

background-position: -24px -197px; } .newdoc_sprite.checkmark { width: 24px; height: 20px; background-position: 0px -221px; } .newdoc_sprite.checkmark:hover, .has_icon:hover .newdoc_sprite.checkmark= { background-position: -24px -221px; } .newdoc_sprite.follow { width: 24px; height: 20px; background-position: 0 0; } .newdoc_sprite.unfollow { width: 24px; height: 25px; background-position: 0px -265px; } .input { border: 1px solid #909ca4; -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; -webkit-box-shadow: inset 0px 1px 2px -1px #aaaaaa; -moz-box-shadow: inset 0px 1px 2px -1px #aaaaaa; box-shadow: inset 0px 1px 2px -1px #aaaaaa; font-size: 14px; padding: 2px; color: #222; } .copy_button_container { float: left; position: relative; width: 64px; height: 26px; } .copy_button { height: 26px; background: url('/images/newdoc/DocPageBtnCopy_64x104.png?1348517579')= 0 0 no-repeat; } .copy_button.active { background-position: 0 -78px; } .copy_button.blue { background-image: url('/images/newdoc/DocPageBtnCopyBlue_64x104.png?13= 48517579'); } /* app/views/newdoc/ppp/_remote_link_buttons.css @ 1348517526 */ #center_remote_link_buttons { margin-left: auto; margin-right: auto; margin-top: 10px; width: 209px; } #remote_link_buttons { margin-bottom: 10px; }

#remote_link_buttons .remote_link_button { width: 209px; height: 30px; padding-top: 6px; padding-left: 24px; display: block; background: transparent url('/images/ppp/button.png?1348517579') no-re= peat; white-space: nowrap; } #remote_link_buttons .remote_link_button:hover { text-decoration: none; background-position: 0 -37px; } #remote_link_buttons .remote_link_button:active { text-decoration: none; background-position: 0 -74px; height: 29px; padding-top: 7px; } #remote_link_buttons .remote_link_button .more_info_icon { width: 27px; height: 28px; padding-right: 20px; background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUh= EUgAAABsAAAAaCAYAAABGiCfwAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccl= lPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiB= pZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWR= vYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk= 0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJ= odHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXN= jcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20= veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjA= vc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGF= wLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMTgwMTE3NDA3MjA= 2ODExODhDNjgwODI0QzlFQUQ0QiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpERUIxNzB= CNzQ1RkYxMUUxOUJCQ0VCMzMyRjkwQUMzQyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDp= ERUIxNzBCNjQ1RkYxMUUxOUJCQ0VCMzMyRjkwQUMzQyIgeG1wOkNyZWF0b3JUb29sPSJBZG9= iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmV= mOmluc3RhbmNlSUQ9InhtcC5paWQ6Rjk3RjExNzQwNzIwNjgxMTgwODNCOTNBNTY0QTdBN0Q= iIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDE4MDExNzQwNzIwNjgxMTg4QzY4MDgyNEM= 5RUFENEIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw= /eHBhY2tldCBlbmQ9InIiPz5wi58pAAAE8UlEQVR42pxWbYhUVRh+z7nf986dr3V2/cClbYm= 0XLRMTUGlD8nIFAkl8EdBQX+E/gXmLyH6UVRG/yoCk4yCipJQDAQhAtMgQg0s02X9aLd11Zm= 5M3Pv3HtOz9ndGXfXuSN44J0755z3Pc95P8/LpJREI4upNY58OkYdxhBoO2gTqAh6CDQBujh= NX4F+At169tVe6jgWjxC7C9hq0H5uyLWmI8iyBHFGpHNJAmKJZBQnjMIap2adB+B9B/Q+AKu= dwHjna5AG+kgz5clMIV5bKjWpkEnINyVlDEm2TuRZRDa48rhETz6mnvlNz/aTfZA7hwuv7HR= oJzBHmQSCuxVIzhVkgssAKa04ABpNTqPjBpUDu1ENddJ1Rq4mqejjQoVYmelnAG69KxhjdMD= JJU8UswkZOFwDsRn7CWa1hlVfual4buPOnsM9CzNXggZXcjAvTV6uUIptzL+eq+EsMGy+bvt= iRwE3nAvSGuWKRgsG7bO5krEN/DsNmx+o124fo7T3TEHZYmxxzg6DJ3cHGBaL2HzL95JJh7E= 0Z+qSxi9HV8D/t5pfOlN70IU/Z2kAYR++dLLxAk1nb98BphvsDS8fZ0xEWhqQGp6dUBiG2/D= 3W9BppsUvuIjSTv7JwUJCyFeUIrPAGGcve85UaKcNBu5GxEk0GXk5bXVxgTlP+YmJFCtg3ck= Iy3L49jYYkIeIJX0GtEobHOFermsAs2uPPl38c8OOnqNrnssfCio4MkVMBY2DgIEpd01aT/3= k5unPxHGEDE8RghNvBjp84I6vWu8fg/A+XPA8tkwcuId1sYYJH5cj+UgbTDf4UqJ0rao1jTI= Fd2xoQ/bD41+Mfx/WxfnJgxy+RMqEug0d5yZN6bfNCBP53YLCQCiPX4ka0GY919mL7VtbfIv= lyK5gKgZQEnkbDJEYii4yypcZP+w3HLl5YJnbbK3jkM2WKbqCqV3dZEkbzM3qw81mum7KlzZ= qYhJx0dtv/tBajxpiuWV010xVHNvTgjbYogfsY2GgCRUIqUKo8H5Bqzq+dnZ6aUBKkW3GbDJ= S00aIOuoX9OE2GHLmZL6k3woT3lXIy+sX4LfmlDW0bU7GCLjlXa+FPDUvq2VOpX7zyMykDlH= vTlSqnNK0CxuMoNWvrXn/Uoet3Vr4LlfSj1erncHquKDlGMHCQfuzWRUEwu+allWuNjqjRQr=

M4yda84Eh9+jxQ+MH//ot2OJ5omMRqAQaDa7wlMz5uVX/lyVrModvTuhJGHe+6a3/4mutNw/= m3BVH8giqu2Np4g7z3QRQsc8Zmz9g7e34xOR7jT3LN2bPjI3qcq7/PF/Q1QuN/fj7nuo78Lj= u7V0Ycd+eXU+VG1RZI2ZXlq33P8DS77ejek4PgrFq9FJ48I8T5cF8MdY9KyEppvKlhvQI8VA= 6KNgq93Q2Vf/aeQfUCtxgmPaNFU/mvkF+vTadap17EJjnVN991kuPP184HUu7cr2sUwQ2Dk4= XdS6Pt8tBC6DaBDYNpkCCWKOr18ykZ5F/+bHN+U8AtLsNlKZZq7tCh6QW3/z3YvjU8Ll6743= RKOv6ghmmelglqgeb7LAaNeQZ18L5A/bE/cvdf/CcfAy5z++llVOg6/DZiWBYN3EtygXlxBK= JxPlMoMyJfJ8RIGlV7/gj6EvVOdxr3zgT1MXnYSU2/VrEyo2gs5AZmcGX2qT+L8AAp3brRtO= 3OrUAAAAASUVORK5CYII=3D') no-repeat; } #remote_link_buttons .remote_link_button .buy_icon { width: 28px; height: 28px; padding-right: 20px; background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUh= EUgAAABwAAAAVCAYAAABVAo5cAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccl= lPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiB= pZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWR= vYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk= 0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJ= odHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXN= jcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20= veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjA= vc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGF= wLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMTgwMTE3NDA3MjA= 2ODExODhDNjgwODI0QzlFQUQ0QiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpBNzQzMzZ= GRTQ2MDkxMUUxOUJCQ0VCMzMyRjkwQUMzQyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDp= BNzQzMzZGRDQ2MDkxMUUxOUJCQ0VCMzMyRjkwQUMzQyIgeG1wOkNyZWF0b3JUb29sPSJBZG9= iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmV= mOmluc3RhbmNlSUQ9InhtcC5paWQ6Rjk3RjExNzQwNzIwNjgxMTgwODNCOTNBNTY0QTdBN0Q= iIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDE4MDExNzQwNzIwNjgxMTg4QzY4MDgyNEM= 5RUFENEIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw= /eHBhY2tldCBlbmQ9InIiPz7syjbQAAACy0lEQVR42rSVzWvUQBTAX5JJJpPsV3fbXVq3n2p= tqZWCPUhPHgQteFGv4qkXT1X8Ezx46UFFREUEPxC8eNCDVEEQPYjaolVQt61g61KtW/uVdL+= SGV8KFtvt7tatffBImLyX35t5HyOJiTgUk0fXp2ET0o96fu2iDFskmi73B6MO6CZftU62iNc= lwG3Op2Xo6KlKRBvp4pYCdVM+zfx5yFhaFmHHcen1ChDzNILPzv8JlGQHhAsQa6Ljf8OWc7h= tp078EReitTkwA3zTMF+IQyTiwHxKEbUt9Nra76Q6rj1IJdPtJuWgaJrV2xf+vBngh+eL8bR= lxSJ12lwoqt4p2D22RevTu6n3NdGslvyqCiGgurcv+qvCtlCIKs1Q0w02tAXuN+02jq3XFgn= c5bc0VhTzc4ky+UjluYP9hLrBfJbk63exC+vZLPdhqFp9uGQj0OAgE+lEpUAM9hTzC4g10gl= FlV4UBdbt0G9xruQoFZCx3R48SlYBj+Uy4oA1K3vVeRv/wYsCiSa9rYqpU7mcBIbPJZIES+g= g8NOG1fMxAo5uBrTFmrh2o1hUf0Ybx6oaTE0RsBcUEOIfxxgTEMJWwCxCtEF7hcFOFrNdmTQ= N7ewq6t5KcjeTzJkjz2bbnLzsYF9fTLyxoSwQZRgjqwjo7dBfxUE32HfdVAZL2RbcFpgLMNH= ZF+ZemZcVA6eT4eMwN614xXIPg86Wsl81vLHhh7grpMlPmbDrCLmxg80oRCo575KjmZC94NL= uQyylUvlKuQDX3hbdj2/+HGBBfsbbaWLIeiI49JXwP4m2lxUi4Ms7O4G2Y+WABYfGfMphXcd= 8oFKmHCzl7A+ToxTtTIZzmEj7NpLvAmDLHmN0/qfKZ3+ovLmTjZdy3t5lJOw51ZlOqgLn5sR= GgAUXcH0bO4ca9AYx6tmPL62izrUt+iXUVnz17AfGhu2ywN8CDABqrfpSZ11YpQAAAABJRU5= ErkJggg=3D=3D') no-repeat; } #remote_link_buttons .remote_link_button span { line-height: 18px; font-size: 18px; color: white; text-shadow: 1px 1px 1px #B38400; } #remote_link_buttons .remote_branded_button { width: 280px; /* vertically center button(s) */ } #remote_link_buttons .remote_branded_button .buy_banner { float: left; padding-left: 28px;

width: 112px; height: 40px; padding-top: 12px; margin-right: 10px; background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUh= EUgAAAI0AAAA1CAYAAAB8x2i9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccl= lPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiB= pZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWR= vYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk= 0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJ= odHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXN= jcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20= veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjA= vc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGF= wLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMTgwMTE3NDA3MjA= 2ODExODhDNjgwODI0QzlFQUQ0QiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGNThBQ0R= CNjQ1NEQxMUUxQTdDREJDRTEwMjFGQ0E5MCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDp= GNThBQ0RCNTQ1NEQxMUUxQTdDREJDRTEwMjFGQ0E5MCIgeG1wOkNyZWF0b3JUb29sPSJBZG9= iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmV= mOmluc3RhbmNlSUQ9InhtcC5paWQ6Rjg3RjExNzQwNzIwNjgxMTgwODNCOTNBNTY0QTdBN0Q= iIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDE4MDExNzQwNzIwNjgxMTg4QzY4MDgyNEM= 5RUFENEIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw= /eHBhY2tldCBlbmQ9InIiPz7gGow+AAADeklEQVR42uydv2sUQRTH35uZ20vOQ03i3RkDkqi= FCCliwMZCA8bCHxwRLtoIgmAjaBB/5D8wkkLU2oC9phFjE9DSUoidJAEhnaiJgfwgO+Ps7u3= tXrjs7tV+PzAct7vV8OG9t/OYWV79QEtENGAHsagPAiDAmGC4pkiLPe9p+Mz5JZU/Pnlwa3G= KpCISMhiwBkTWEGnX/rjRJaXKV95sLU9PsHRJeOIg2oBdkYatDG5MCCW7zr5U3SP3+e88ezd= 9aSSkAZE0HiJ2zcYWWlaVsW87a/OD/hUOhGGBCQMWHUSa0IuGQLnDY9NGdpOxD/ijnssAaIU= vDed738ryjU2/4DGBMHAGJEpj2VDly7M6jDQakQakS0OqdGmai8Pki2OiAcCe0li+ynLthyd= NKA4AadJQrlJ9ZUxnkKJMVN8AsKc0onhyRpSqro7VNXAGJEpj+aVKVz83Xr0RaUAGaUhVqlP= kDJDGmg3IKg3LfZ9k5frvRl2j4QxIkcbiqt7xGW1k9BaFNAVSpCG5f+g5Hxgxxo2t2WCuQJI= 0lhVVqS1oFMSgDWko11t7agSamKANaTjXNSsraGKCNqSxbNvX73doYoJ2pCF16OIzNDFBW9J= YFrwmZtMKMYA0aQ/YgviFpk7SaGCCrNKIwrHXslR1KV4MQxxIk8Kq9JqYoSgQBtJkeUj/+fI= RUwXaksb9OTfa+IMNUf89Ku2BtTk+IPPOBVYU7X2BOIg0SbBTusW0LQVHm6YAIk2yNEpNCFP= f3w1hQJo0NjUNyhz1sxMIEw6A9LT3zUL/Q+9AgPAkCaQmkBhpbJRxpFOseceP7N4ADhBpWtc= ysniNab2z6XQsWAOSpBEdPY8aBxzhrQmkpSebmvpkTgw1FcCYK5AUabjjyD0hNDetzcAakCS= NoM3bjVoG5++BtPRkU9M55VCPyKEABhkjjSwMTDIKYJA10vjNSccZ9ddm6ot5cAYkRhp2Sje= Zt2UYZZCaQGqkYSUfeM1JgdQEskhjU9MpmaMBNCdB5vQkCkcfozkJMkeaenNyHM1JkDnSsCx= W0ZwEbUUaznc/YXc9uBLubdKYHNB8ymu4e0l5zUlbyJz2UpN309u3jRcnEJfGOzlEx7/3xB1= 9d83mCvuy7NiHBL7AAuLWtJCG3I07fjbaCTb5o0EJWqUnHdtZy8aY7/b3BKYHZIT/CTAA2Jc= wC+TEuxMAAAAASUVORK5CYII=3D') no-repeat; } #remote_link_buttons .remote_branded_button .buy_banner span { font-family: Georgia, Palatino, Palatino Linotype, Times, Times New Ro= man, serif; font-style: italic; font-size: 22px; color: white; text-shadow: 1px 1px 1px #B38400; } #remote_link_buttons .remote_branded_button .container { height: 52px; display: table-cell; vertical-align: middle; } #remote_link_buttons .remote_branded_button .branded_buy_button { width: 130px; height: 20px; margin-bottom: 3px; padding-top: 5px; display: block;

background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUh= EUgAAAIIAAABOCAYAAADsKc4yAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccl= lPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiB= pZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWR= vYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk= 0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJ= odHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXN= jcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20= veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjA= vc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGF= wLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMTgwMTE3NDA3MjA= 2ODExODhDNjgwODI0QzlFQUQ0QiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGNThBQ0R= CQTQ1NEQxMUUxQTdDREJDRTEwMjFGQ0E5MCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDp= GNThBQ0RCOTQ1NEQxMUUxQTdDREJDRTEwMjFGQ0E5MCIgeG1wOkNyZWF0b3JUb29sPSJBZG9= iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmV= mOmluc3RhbmNlSUQ9InhtcC5paWQ6Rjg3RjExNzQwNzIwNjgxMTgwODNCOTNBNTY0QTdBN0Q= iIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDE4MDExNzQwNzIwNjgxMTg4QzY4MDgyNEM= 5RUFENEIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw= /eHBhY2tldCBlbmQ9InIiPz6NI3xxAAADRUlEQVR42uycS24TQRRFX9mNlEFGQTTxMI5nSIg= lRGYAbIENsCD+K/AOQEjByhIQhBmxg0TkEJQMgIEHdhdd1b+qbod5qs61WrKVjOod3/fpflb= PX74ei8jb/BoJilHf8utZkmtycDBOh8MhRxKhZrPZ6OhoOklWq1W6N9wTnb9QfDKxPzxcpYn= WOQIaCGKWiT8goAKE6g2KW4CAGhCyDBAAwTpCxkkAQu4IpAZAsI5AagCEwhFIDYBAsYhwBES= NgHAERI2A/psamCMAAo6AHEegRgAEHAFRI6AaBAPBer0WpZS9UDwqnk7LiieU+v2+nJ39kJ2= d24AQIQhXV5dyK0lEfTk+/vPu/Yft5XLJyUSora0tefL40W+VU/FUigWXbY4lSv0Vs+Dy4tW= b8/yNudh0ilM2/nbT6eF4nO7vs+kUo05OZqOP0+mkZzadgCBemdgbBooFF84j+u4hqYdJ0BC= nlLPpJBsmi3ARbNw3Bjoh8JGlgWvASFxDAIb43EF7IJiPGhBizhWeIwjOEFWdoFWrRnBvQ+s= WCUARXpFoAFCt4CZN8LUHAQCEWSRWANQwlHec670GXf67bruBBosg/ED5xWHxXokqA147gk0= PTsHIU0uB+UEZ2/qZE/tBtxzBpgXdgQAzCM4UbGwNDFr8OqEpFqvga2mQoKUMh4OyLqjiqlR= TK/iO4BSL3bkCONx0O6gygbiZQTZMFrV2uocaAgZNwWCgquKwRYTfPpYvJy14LSW68a1jxw1= aLCT1X5zpotbdVhIFAIP9mqtyfiDdgVLjCb4j4AfhJQnViqpfI9RtY+kGWpzCEQXSPXZvQSv= n7qPpFrK1swSrtU8GCjdd6OJHUupNp++np3InTaVpJSkWQ3QEYwGqdIJqwvjr4oJNJ8SmE2r= EphOyajad7t1/kN7dHXAkEern+WL09fOnYtNpN4egmjtzxXWZ2NebTvwuQuxtZLnpBAiAkBT= tJSDELgtCrwcIgGAdocdJAAKOgIQaAeEIqAMCNQIg2NSAIwACjoCoERCOgKgR0PWOAAiAIIy= YEcUi8h0BEAABEJCUm07VU0oAEZfsllvmbDrN53MZDAaAECEIi8WCTSfEphNqZDed/gkwAJ1= Zz/qLDTv3AAAAAElFTkSuQmCC') no-repeat; } #remote_link_buttons .remote_branded_button .branded_buy_button:hover { text-decoration: none; background-position: 0 -26px; } #remote_link_buttons .remote_branded_button .branded_buy_button:active {= text-decoration: none; background-position: 0 -52px; height: 19px; padding-top: 6px; } #remote_link_buttons .remote_branded_button .branded_buy_button .barnes_= noble, #remote_link_buttons .remote_branded_button .branded_buy_button .= amazon { height: 15px; margin-left: auto; margin-right: auto; } #remote_link_buttons .remote_branded_button .branded_buy_button .barnes_= noble { width: 99px; background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUh= EUgAAAGMAAAAPCAYAAADwDXG0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccl= lPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiB=

pZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWR= vYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk= 0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJ= odHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXN= jcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20= veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjA= vc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGF= wLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMTgwMTE3NDA3MjA= 2ODExODhDNjgwODI0QzlFQUQ0QiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGNThBQ0R= CRTQ1NEQxMUUxQTdDREJDRTEwMjFGQ0E5MCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDp= GNThBQ0RCRDQ1NEQxMUUxQTdDREJDRTEwMjFGQ0E5MCIgeG1wOkNyZWF0b3JUb29sPSJBZG9= iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmV= mOmluc3RhbmNlSUQ9InhtcC5paWQ6Rjg3RjExNzQwNzIwNjgxMTgwODNCOTNBNTY0QTdBN0Q= iIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDE4MDExNzQwNzIwNjgxMTg4QzY4MDgyNEM= 5RUFENEIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw= 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3D'= ) no-repeat; } #remote_link_buttons .remote_branded_button .branded_buy_button .amazon = {

width: 62px; background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUh= EUgAAAD4AAAARCAYAAACFOx+nAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccl= lPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiB= pZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWR= vYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk= 0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJ= odHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXN= jcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20= veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjA= vc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGF= wLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMTgwMTE3NDA3MjA= 2ODExODhDNjgwODI0QzlFQUQ0QiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGNThFRDE= yMzQ1NEQxMUUxQTdDREJDRTEwMjFGQ0E5MCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDp= GNThFRDEyMjQ1NEQxMUUxQTdDREJDRTEwMjFGQ0E5MCIgeG1wOkNyZWF0b3JUb29sPSJBZG9= iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmV= mOmluc3RhbmNlSUQ9InhtcC5paWQ6Rjg3RjExNzQwNzIwNjgxMTgwODNCOTNBNTY0QTdBN0Q= iIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDE4MDExNzQwNzIwNjgxMTg4QzY4MDgyNEM= 5RUFENEIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw= 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3D') no-rep=

eat; } /* see buy_this.rb -- the buttons are copied between missing pages and t= her they need other positioning */ .page_missing_explanation_inner #remote_link_buttons { float: right; } /* app/views/newdoc/store/_shared.css @ 1348517526 */ .autogen_class_views_newdoc_store_bought, .autogen_class_views_newdoc_st= ore_buy_now { background: #DBDEE0; border-top: 1px solid #CDD0D2; border-bottom: 1px solid #CED1D3; background: #ebebe9; border-top: 1px solid #d1d1d1; border-bottom: 1px solid #d1d1d1; box-shadow: inset 0px 0px 4px #c7c7c1, 0px 1px 0px white; margin: 12px 0; } .autogen_class_views_newdoc_store_bought h2, .autogen_class_views_newdoc= _store_buy_now h2 { color: #395B69 !important; text-shadow: 1px 1px 0px white; } .autogen_class_views_newdoc_store_bought hr, .autogen_class_views_newdoc= _store_buy_now hr { height: 1px; margin: 10px 0px; background: #B7B9BB; border: 0; border-bottom: 1px solid #EBEEF0; } .autogen_class_views_newdoc_store_bought .description, .autogen_class_vi= ews_newdoc_store_buy_now .description { font-size: 12px; text-shadow: 1px 1px 0px #F4F8FA; } .page_missing_explanation { -moz-user-select: -moz-none; -webkit-user-select: none; user-select: none; -webkit-box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.2); box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.2); border: 1px solid #CFCFCF; margin-bottom: 9px !important; } .page_missing_explanation .page_missing_explanation_inner { font-family: Arial, sans-serif; background: #EFF4F7; border-top: 1px solid white; padding: 10px 15px; font-size: 14px; text-align: left; text-shadow: 1px 1px 1px #fff; color: #58554F; overflow: hidden; } .page_missing_explanation .page_missing_explanation_inner span.missing_p= age_number_title {

font-family: Athelas, serif; font-size: 18px; color: #255D79; } .page_missing_explanation .page_missing_explanation_inner span.missing_p= age_number { font-weight: bold; } .page_missing_explanation .page_missing_explanation_inner .page_missing_= explanation_contents { float: left; } .page_missing_explanation .page_missing_explanation_inner .missing_page_= buy_button { float: right; } .page_missing_explanation .page_missing_explanation_inner .missing_page_= buy_button a { outline: none; display: block; border: 0; background-image: url('/images/4gen/btn_buy_the_full_version.png?13485= 17579'); background-position: 0 0; } .page_missing_explanation .page_missing_explanation_inner .missing_page_= buy_button a:hover { background-position: 0 -37px; } .page_missing_explanation .page_missing_explanation_inner .missing_page_= buy_button a:active { background-position: 0 -74px; } .page_missing_explanation .page_missing_explanation_inner .missing_page_= buy_button .container { width: 208px; height: 36px; } /* app/views/shared/search/_autocompleter.css @ 1348517526 */ .icon_ac_collection_12x15 { background: #333333 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA= AAAwAAAAPCAIAAABfg7keAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsSAAALEgHS3X78AAA= AFnRFWHRDcmVhdGlvbiBUaW1lADExLzE3LzEwzazMAgAAABx0RVh0U29mdHdhcmUAQWRvYmU= gRmlyZXdvcmtzIENTNAay06AAAABXSURBVCiRY6ytrmbABjKysuBsFjQ+BMyYNg2Zy4TVGIg= 6uFKcitCtwwMghuE0Cdk8AooIuIk2ilgYMIIOiyKI+2dMm4YZ7igmQQAe86CK8JuHHuJYzQM= ApkYbY57xCpYAAAAASUVORK5CYII=3D'); width: 12px; height: 15px; } .icon_ac_pub_15x15 { background: #333333 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA= AAA8AAAAPCAIAAAC0tAIdAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsSAAALEgHS3X78AAA= AFnRFWHRDcmVhdGlvbiBUaW1lADExLzE3LzEwzazMAgAAABx0RVh0U29mdHdhcmUAQWRvYmU= gRmlyZXdvcmtzIENTNAay06AAAAEXSURBVCiRdVIxbsMwDKSDQpz4AXmJHmBlsR4QL0XeUOR= 1QR+QLkH3oIu82F3syZM8adMkTh0EKE7s3iCIxyN1ElU452CF2TlZlmt+t6a891/Xq/f+X7X= 3fhyGGCMA/NzveY0xjsOQK4vkJITwebkAgJRynueUy/uP85mIHr2JKMVZmvc59eRbSrk2+sK= /pRdorV12XWIcxxBCbYwsy6Lruu/bLYSwKc0govfTqXDOxRh/+77vOmZe64QQ+nCotEbEHQA= gYm2MUmqzq1KqNgYRn245TdOmesnvMsXMe6WOTSOESAaOTbNXiplzwWM6Qoh0XGtta21tTG0= MAMQYmfl1OkkKAJXWRFRpnUJEzNMpNv9gCCErlvgDZJeK8uxMfBkAAAAASUVORK5CYII=3D'= );

width: 15px; height: 15px; } .icon_ac_doc_10x14 { background: #333333 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA= AAAoAAAAOCAIAAACZwRr8AAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsSAAALEgHS3X78AAA= AFnRFWHRDcmVhdGlvbiBUaW1lADExLzE3LzEwzazMAgAAABx0RVh0U29mdHdhcmUAQWRvYmU= gRmlyZXdvcmtzIENTNAay06AAAAA5SURBVBiVY6ytrmZABRlZWTOmTcvIymJgYGBiwAFmTJu= GTxqiggWrBMRkBgYGLNIQYyEAn+EjWBoA3bsMV7OJQpMAAAAASUVORK5CYII=3D'); width: 10px; height: 14px; } .icon_ac_scribd_15x15 { background: #333333 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA= AAA8AAAAPCAIAAAC0tAIdAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsSAAALEgHS3X78AAA= AFnRFWHRDcmVhdGlvbiBUaW1lADExLzE3LzEwzazMAgAAABx0RVh0U29mdHdhcmUAQWRvYmU= gRmlyZXdvcmtzIENTNAay06AAAAJhSURBVCiRPVJLSJRhFL3395+Rees8NEehxyIo05lJJaG= xjFYFoYughan5QgI32iIIJHqsglpoRETUIk1tIAsNayEVprYwNB1liIKiVFw0zst59H/fvS1= GPdvzWpyDTx49HHj6GHaAiIAIzIAIxAy8S11sacfa6qPbOkBACIfDW1sJAEREm9VmtVmJCAG= zNpVp200s1zc2Kquqz56rczgdP759Hx97+fvXT5fLxcSAAABYU+nJJq+vr9Wfv3DnXj/idnU= inuhsb1yY++J0OJgZABRiIqZUKmU0Wq5cvYYIlzvavOVlS4uLZou5pa0zHosSyaxMIUkkSdM= 0o8losViFEKFQ6OtS8Pb13s8zM6OBEZPJxAxMRJIUBmbmXL1+bXV1dvqTqqrvp6afDzyLx+O= nT/jHX7/Ks9uFEJKYmXNcdquQUkqSkgIjw86CwtLDpR6fr6Gpudzjffd24l8mDQhSSClFjiv= fxszMLDStyF0yNDQUGBmObIZLj5R5vF6n0/FicDDPkQ/MxKwiIABEopGKqmOB0bGV5aDP65t= f6g2uhB709019mDRYLFoyrTMYkFmRRMScSWeK3CU5qlrm8XZ0tJ6sOd7WeunmjVvzVafOfJy= TRquWSkpmPLS/BAE0IWLxxN2++w2NzbtT19fVL1S02Nz7Un1Nyt9VJdeAB/cWAwAipNOZaDT= mr631+2tMZvPKcnBy4k0MTKrBpIv/0ekNAIAHivfsHAoAeHMzkkxmmEGnQ7vdroJkItQbs/s= qXd09gqQgKaQUkqw2W5G70F1c6HQVoKJIRUdqriQpSHZ19/wHENE3AM7iPlsAAAAASUVORK5= CYII=3D'); width: 15px; height: 15px; } .icon_ac_people_12x12 { background: #333333 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA= AAAwAAAAMCAIAAADZF8uwAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsSAAALEgHS3X78AAA= AFnRFWHRDcmVhdGlvbiBUaW1lADExLzE3LzEwzazMAgAAABx0RVh0U29mdHdhcmUAQWRvYmU= gRmlyZXdvcmtzIENTNAay06AAAACrSURBVBiVfdC9CsMgFIbhLynoBTTTWULvIS4le8kVSwb= JIr0NIUUnO53NqYOJmAbyTuJ5wJ/Gew8AQIzxbW0IAQARPcex67o8arE3a50FgBDCrHUZbcg= 5x8yoYmbn3AF9Y8Spsrmh+3583f3vTkQkhKiFEIKIDkhKOShVo0EpKWVeN957Zl6MKU8rlY9= orLWLMSml851yr2m6Pfr+QgD4rGt7LQCklNprkfsBnGZIVVuOoiIAAAAASUVORK5CYII=3D'= ); width: 12px; height: 12px; } /* :class_inlines, 'app/views', ... @ 1348517526 */ /* app/views/archive_flow/_doc_info.css @ 1348517526 */ .autogen_class_views_archive_flow_doc_info .doc_info { overflow: auto; padding: 20px 45px; background-color: #ecf3f5; margin-bottom: 25px; } .autogen_class_views_archive_flow_doc_info .doc_info .thumbnail { float: left; width: 105px; height: 140px; } .autogen_class_views_archive_flow_doc_info .doc_info .overlay { background-image: url('/images/newhome/image-overlay105x140-med.png');=

width: 105px; height: 140px; } .autogen_class_views_archive_flow_doc_info .doc_info .info { font-family: Helvetica, sans-serif; float: left; margin: 0 25px; } .autogen_class_views_archive_flow_doc_info .doc_info .info h2 { font-family: Athelas, serif; color: #022F40; font-size: 20px; font-weight: normal; float: left; } .autogen_class_views_archive_flow_doc_info .doc_info .info h5 { color: #146c88; font-weight: normal; font-size: 11px; } .autogen_class_views_archive_flow_doc_info .doc_info .info p { color: #666; font-size: 11px; line-height: 20px; } .autogen_class_views_archive_flow_doc_info .doc_info .info .file_types {= color: #b3b3b3; } .autogen_class_views_archive_flow_doc_info .doc_info .info * { float: left; clear: left; width: 600px; text-align: left; margin: 0; padding: 0 0 5px 0; } /* app/views/documents/ads_below_sideboard.css @ 1348517526 */ .autogen_class_views_documents_ads_below_sideboard #pinned_ad { position: relative; padding-top: 20px; padding-bottom: 20px; width: 270px; margin-left: 50px; } .autogen_class_views_documents_ads_below_sideboard #pinned_ad.ie_fixed {= position: absolute; margin-top: 20px; top: 0; } .autogen_class_views_documents_ads_below_sideboard #pinned_ad.fixed { position: fixed; margin-top: 20px; top: 0; } /* app/views/facebook/_login_button.css @ 1348517526 */ .facebook_login_button .scribd_fb_button { font-family: Arial, Helvetica, sans-serif; font-style: normal;

display: inline-block; color: white !important; font-weight: bold; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASQAAAB= 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3D=3D') 0 0 no-r= epeat !important; width: 292px; height: 40px; text-align: center; cursor: pointer; } .facebook_login_button .scribd_fb_button .inner {

padding-left: 40px; line-height: 38px; font-size: 18px; text-shadow: 1px 1px 2px #2F4585; } .facebook_login_button .scribd_fb_button:hover { background-position: 0 -40px !important; } .facebook_login_button .scribd_fb_button:hover .inner { text-shadow: 0px 0px 4px #6287b0, 1px 1px 2px #2F4585; } .facebook_login_button .scribd_fb_button:active { background-position: 0 -80px !important; } .facebook_login_button .scribd_fb_button:active .inner { text-shadow: 1px 1px 2px #2F4585; position: relative; top: 1px; } /* app/views/facebook/_login_button.rb:14 @ 1348517526 */ .facebook_login_button .login_button_spinner { padding-left: 5px; } /* app/views/facebook/top_welcome_banner.css @ 1348517526 */ #facebook_welcome .content { position: relative; margin: 0 auto; width: 996px; height: 150px; background: transparent url('/images/facebook/fb_top_996x150.png?13485= 17579') no-repeat; } #facebook_welcome .content a.close_button { display: block; float: right; width: 9px; height: 9px; margin: 10px; background: transparent url('data:image/gif;base64,R0lGODlhCQASAJEAAFN= VV4qNkf///wAAACH5BAEHAAIALAAAAAAJABIAAAIjTIRom+zW1kmCUTkrfBlTDQBfSCblGZq= kSJXtqoooK6w0EhYAOw=3D=3D'); } #facebook_welcome .content a.close_button:hover { background-position: 0 -9px; } #facebook_welcome .content #facebook_comment_box { position: absolute; -moz-border-radius: 5px; -webkit-border-radius: 5px; background-color: #fff; top: 14px; left: 100px; height: 100px; width: 815px; border: 1px solid #ccc; border-left: none; padding: 10px; text-align: left; } #facebook_welcome .content #facebook_comment_box .message {

float: left; width: 535px; padding-right: 10px; } #facebook_welcome .content #facebook_comment_box .message h3 { font-size: 13px; font-weight: bold; margin-bottom: 5px; } #facebook_welcome .content #facebook_comment_box .message .partner { font-size: 12px; height: 50px; display: block; padding-left: 35px; margin-bottom: 10px; white-space: normal; background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUh= EUgAAABwAAAAcCAIAAAD9b0jDAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsSAAALEgHS3X7= 8AAAAFXRFWHRDcmVhdGlvbiBUaW1lADcvMTIvMTBSusy+AAAAHHRFWHRTb2Z0d2FyZQBBZG9= iZSBGaXJld29ya3MgQ1M0BrLToAAAA9FJREFUSImVVT1vHVUQPWfuvbv7np+fjeMkIpBEwSA= FEDJIIAUpiWigQdDQQUeLREoKJIog2kh0INHTUVBR8fEPEAVK4QKEDSJAEscf773dvXMonj8= 2lp3E0+zeu7NnzsyZO5eX3/0Cj2Ak994FZBGmOF0A8AS24HSB+CiIACTtB4CS1DSqRUgAHCI= 9ReOxQLvWCNvjpmSYHaSiihKDe+2aTFoXyOODZsdoe3TxwvCNy8++9NzZxZNDl5Lw7/rm9Rv= frd1uiiI8MqgAmoubo40rL57+7Nrb8wuD7vczp2fLwtwdCNZV4AFGmUP1JJ9/vP/xB6/PLww= cLrV7DpM2t00CDceoKeFooPbNqy+fOXUSECUybG+3/9xZT8nWR/VYY5qOASpJyjGlF555EoA= gMqz+efvGV9//+tvG3Lw1k2ZjE1VKgh4GKoACCBAwhVSVaXcfv9z845sfbraaG840MWg4Oww= G6GFMCQoZFgJDFiLcvcZuIIfm5gdVmWaLGVmuJy4A5NGgAklBQCTau5vjO9t1z0bjNgMQM2F= 10969tVH3R/2ySjkvDBdidMiPBJVIApblCS2ef2pYzfRCa48NentsFhcGVy+dQyiGVVl7vbK= 2XtcID2BqJF2e3N3qreb9d157ZfkCxH4V5ZLB3C8tLy1fPD91rnP+8JOvV/6ahCIdzZSSxAw= BRu9X5XDQAzzDM2RyKKZoRZGmOt7b3mprgwyAHS2SwwiQhuzYPSIWEEMmGBFEc0CEAEzGrOv= yIc0vgKQpZrWIYfXW1u9rt7Pj1Ili0CulBOZ7m6O//5vQNNMrVlbvjLQVTAB55b0vu2PtvvQ= d0ZmjQygZmjwpGD796K1Xl88CGQjf/vTz9c9/ZErDninntg0IEQ9oflKggUa6YHcn7bhpKpd= 8JyYINbi34VbQazOi6tm0FFHS7vjeQdt5ZpKQCU4CvSpU1gsBFjSNCSCFNNsvQqFeRSm4MhF= 2aip1B1V3wkPT8whIgIKUD9wrDhkoSQJ3ZY+A0fYZundY80CttZ9HNykSRPdTrJt2KhQP8AT= YWTmBRubeZt/bzNmbSZ0RAtKO2iSBuDDsS9r/vUOlG0AEareYU9z3SEVxYr5kKKteMVWQIOV= x6dwi7JCWOmAiVGeLGPQLAI5siPPDmaeXnrBgVRn3+lJATKTTDwWyjiZujoRgIShMGQEAPSR= FQ6Kr4xwzMvLh7HJHKBfQsjXfQZsKLVebPYRM61QQ0WNjHg4F7XYPCTcPkYz7aQWLZhF0Rkf= nWMbcxIzDLlTBOrgZbF1V26Dbc1LOLrDQfc3+P/Te8/fXnLi3AAAAAElFTkSuQmCC') no-r= epeat; } #facebook_welcome .content #facebook_comment_box .message .okay { display: block; float: right; width: 50px; height: 25px; background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUh= 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 f8vVfPiyaFDxGYscAAAAASUVORK5CYII=3D'); } #facebook_welcome .content #facebook_comment_box .message .okay:hover { background-position: 0 -25px; } #facebook_welcome .content #facebook_comment_box .message a.no_thanks { float: right; font-size: 12px; font-weight: bold; line-height: 25px; margin-left: 10px; } #facebook_welcome .content #facebook_comment_box .message span.warning {= float: right; color: #FF6600; font-size: 11px; margin-left: 4px; position: relative; top: 5px; } #facebook_welcome .content #facebook_comment_box .message a.faq { font-size: 13px; float: left; height: 25px; line-height: 25px; font-weight: bold; } #facebook_welcome .content #facebook_comment_box .friends { float: left; width: 253px; font-size: 11px; height: 90px; border-left: 1px dotted #ccc; padding-left: 15px; }

#facebook_welcome .content #facebook_comment_box .friends .feed_large_th= umbnail { margin-right: 1px; margin-bottom: 1px; display: inline-block; float: left; } #facebook_welcome .content #facebook_comment_box .friends .feed_large_th= umbnail a { border: none; } #facebook_welcome .content #facebook_comment_box .friends p { margin-top: 0; } /* app/views/facebook_sessions/_ask_passive_share_dialog.css @ 134851752= 6 */ .autogen_class_views_facebook_sessions_ask_passive_share_dialog { background-image: url('/images/passive_share/ill_passivelightbox_162x2= 92.png?1348517579'); background-repeat: no-repeat; background-position: left top; padding-left: 162px; padding-right: 45px; width: 296px; height: 292px; margin: -20px; /* Compensate for the padding of the lightbox, we want this to go stra= ight to the edge. */ overflow: hidden; } .autogen_class_views_facebook_sessions_ask_passive_share_dialog .content= _column { margin-top: 40px; margin-left: 14px; } .autogen_class_views_facebook_sessions_ask_passive_share_dialog .content= _column .button { height: 30px; width: 96px; } .autogen_class_views_facebook_sessions_ask_passive_share_dialog h4, .aut= ogen_class_views_facebook_sessions_ask_passive_share_dialog h5 { font-family: Georgia, serif; font-weight: normal; color: #022F40; } .autogen_class_views_facebook_sessions_ask_passive_share_dialog h4 { font-size: 18px; line-height: 20px; } .autogen_class_views_facebook_sessions_ask_passive_share_dialog h5 { font-size: 14px; line-height: 16px; } .autogen_class_views_facebook_sessions_ask_passive_share_dialog p { font-family: Arial, sans-serif; font-weight: normal; font-size: 11px; line-height: 14px; color: #666666;

margin-bottom: 28px; } .autogen_class_views_facebook_sessions_ask_passive_share_dialog .enable_= passive_share { display: block; float: left; height: 30px; margin-right: 10px; } .autogen_class_views_facebook_sessions_ask_passive_share_dialog .disable= _passive_share { display: block; float: left; margin-top: 8px; } /* app/views/login/_archive_login_lightbox.css @ 1348517526 */ .autogen_class_views_login_archive_login_lightbox #login_section { text-align: center; clear: left; } .autogen_class_views_login_archive_login_lightbox #login_options_contain= er { position: relative; margin-bottom: 17px; } .autogen_class_views_login_archive_login_lightbox .archive_login_toggle = { border: none; left: 50%; } .autogen_class_views_login_archive_login_lightbox #skip_login { position: absolute; right: 0; margin: -20px 0; } .autogen_class_views_login_archive_login_lightbox .global_login_form { margin-top: 30px; margin: auto; width: 450px; } /* app/views/new/chrome/_branding.css @ 1348517526 */ .leader_branding { background: url('/images/newhome/bg-header-db-texture.gif?1348517579')= ; box-shadow: inset 0px 1px 0px rgba(255, 255, 255, 0.05); text-align: left; color: white; margin-bottom: -37px; } .leader_branding .inner { width: 996px; margin: 0 auto 0 auto; padding: 15px 0 52px 0; } .leader_branding h2 { font-family: Athelas, serif; white-space: nowrap; font-size: 19px; font-weight: normal; margin: 0; }

.leader_branding h2 .arrow { display: inline-block; zoom: 1; *display: inline; vertical-align: middle; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= BEAAAANCAYAAABPeYUaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA= yRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iV= zVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6b= nM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgM= jAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwO= i8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwd= GlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xL= jAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sb= nM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZ= iMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIge= G1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDMUJEM0M1MUNEMzMxMUUxQUFCRkUwMjc2ODVCQ= jQ4NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDMUJEM0M1MkNEMzMxMUUxQUFCRkUwM= jc2ODVCQjQ4NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAua= WlkOkMxQkQzQzRGQ0QzMzExRTFBQUJGRTAyNzY4NUJCNDg3IiBzdFJlZjpkb2N1bWVudElEP= SJ4bXAuZGlkOkMxQkQzQzUwQ0QzMzExRTFBQUJGRTAyNzY4NUJCNDg3Ii8+IDwvcmRmOkRlc= 2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+n= V5qvQAAAElJREFUKM9jYCAB1J19ex6IBUjRg82Q/xQbBDUEhN8DsQGlhpBvEJohCIOAxH4S8= H9sBjHgkCAJU8clVAmTgYwditMJxSkWqwEArBEVR3emTVUAAAAASUVORK5CYII=3D'); width: 17px; height: 13px; margin: -6px 8px 0px 8px; } .leader_branding h2 a { color: #7ECDED; text-decoration: underline; } .leader_branding h2 a:hover { color: #abdef3; } .leader_branding .msg, .leader_branding .meta { font-family: Arial, sans-serif; color: #ccc; font-size: 12px; margin: 4px 0px; } .leader_branding .msg a, .leader_branding .meta a { color: #ccc; } .leader_branding .panel { display: inline-block; zoom: 1; *display: inline; vertical-align: top; } .leader_branding .panel.links { position: relative; top: -2px; margin-left: 20px; } .leader_branding .panel.links .meta { text-align: center; } /* app/views/new/chrome/_explore.css @ 1348517526 */

.explore_menu { display: inline-block; zoom: 1; *display: inline; height: 30px; line-height: 30px; color: white; vertical-align: top; margin-left: 12px; font-size: 12px; } .explore_menu .sprite_container { vertical-align: top; } .explore_menu .explore_link { color: white; } .explore_menu .sub_menu { top: 40px; right: -180px; font-size: 11px; line-height: normal; width: 362px; } .explore_menu .sub_menu .white_tri_up { position: absolute; top: -5px; right: 177px; } .explore_menu .sub_menu .column { display: inline-block; zoom: 1; *display: inline; vertical-align: top; width: 181px; } .explore_menu .sub_menu .top { margin-bottom: 8px; } .explore_menu .sub_menu .row { padding: 4px 18px; } .explore_menu .sub_menu .list.last { margin-bottom: 20px; } /* app/views/new/chrome/facebook/_ip_banner.css @ 1348517526 */ .facebook_ip .friend_faces .thumbnail_outer { display: inline-block; zoom: 1; *display: inline; vertical-align: middle; width: 20px; height: 20px; background: rgba(255, 255, 255, 0.3); margin-right: 4px; } .facebook_ip .friend_faces .thumbnail_outer a, .facebook_ip .friend_face= s .thumbnail_outer img { display: block; }

.facebook_ip .btn_inner { padding: 0px 20px; } /* app/views/new/chrome/footer.css @ 1348517526 */ .global_footer { background: white; text-align: left; font-family: Arial, sans-serif; font-size: 11px; color: #666; } .global_footer .inner { padding: 40px 0px 80px 0px; width: 996px; margin: 0 auto 0 auto; } .global_footer strong { color: #333; font-size: 13px; line-height: 16px; } .global_footer ul { list-style: none; margin: 0; padding: 0; } .global_footer li { line-height: 16px; } .global_footer a { color: #666; } .global_footer .social { float: right; } .global_footer .social .sprite { display: inline-block; zoom: 1; *display: inline; margin-left: 15px; } .global_footer .columns { margin: 25px 0; } .global_footer .columns .column { display: inline-block; zoom: 1; *display: inline; vertical-align: top; width: 160px; } .global_footer .sprite.ad_choices { display: inline-block; zoom: 1; *display: inline; vertical-align: middle; margin-right: 4px; } .global_footer .bottom { margin-top: 25px;

line-height: 20px; } .global_footer .copyright { display: inline-block; zoom: 1; *display: inline; } /* app/views/new/chrome/header.css @ 1348517526 */ .global_header { background: url('/images/newhome/bg-header-dkbl-texture.gif?1348517579= ') repeat 0 0; height: 62px; margin: 0; padding: 0; text-align: left; } .global_header .inner { width: 996px; padding-top: 18px; margin: 0 auto 0 auto; } .global_header .logo { display: inline-block; zoom: 1; *display: inline; margin-right: 18px; text-indent: -9999px; /* IE7 */ *text-indent: 0px; *font-size: 0; } .global_header .logo, .global_header .header_search { vertical-align: middle; } .global_header .right_section { float: right; } .global_header .upload_icon { display: inline-block; zoom: 1; *display: inline; vertical-align: bottom; margin-right: 8px; width: 19px; height: 23px; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAA= XCAYAAADpwXTaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB= 4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU0= 6SW5zdGFuY2VJRD0ieG1wLmlpZDowN0Q3QzVDN0JDQTYxMUUxQkZGM0EwNTc1QThEMjk3NiI= geG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowN0Q3QzVDOEJDQTYxMUUxQkZGM0EwNTc1QTh= EMjk3NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjA= 3RDdDNUM1QkNBNjExRTFCRkYzQTA1NzVBOEQyOTc2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXA=

uZGlkOjA3RDdDNUM2QkNBNjExRTFCRkYzQTA1NzVBOEQyOTc2Ii8+IDwvcmRmOkRlc2NyaXB= 0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+LiT+BAA= AAcBJREFUOMuVlD1LI1EUhu9PyE+w0cpCsLK7nYUWqewW0snCImInFnZiZ2khEtlFXHbRrKs= gwe8IShQ2RUBYhk38yOZz4uhm/UL09ZyQkev13ok58MDMvO95GIaZEcIw7VEnQsQIj4CC17g= eEc2GSpLIagIb3JMi4G7eI9GJ6KKwrSy/nyBZuEH3/J8gYdgXhQzPpg4Ljqt34GFhgIz3Q6J= jzhkmYGL99D/UWXT+wdZlj+j8kkkR0Pl8fAnTTB65MPXZI7oXTqAzflBB0IwkSjDtiZ5vZ1D= 5EC/g8QmBXN491nv6rpBLOfgMrBVQqj3gmsrNyHj36Pv5F+q+6F3Ow2dsv4qZ9BV+ODW4JDX= BGXcY7qv7om+1GOtfLUJlJOEid3FvhDO9z7BH0EFED4Z3XTilWyOcmWTsqb+4dJBSg6GdCtL= n10Y4M4hSL58TnXQRnh9+2qrgMFMzwpkm4r2uV99nQ5jlwsfNMhK/r4xwpoiyb0SKMEREBzf= KiKc9I5w1RFHuN/2vzSbd8PKvKkyMbpenSNLWVOLP16QrCViQ7xbxzO2VJQELrcmmt4qSgIX= WZFPxvCRgoTXZxEpOErBglT0DhX73HmSqM2kAAAAASUVORK5CYII=3D') 0 0 no-repeat;= } .global_header .upload_button { vertical-align: top; } .global_header #user_util a.menu_control { font-family: 'Georgia'; font-size: 12px; font-style: italic; color: #BBB4AD; line-height: 15px; vertical-align: bottom; } .global_header #user_util .facebook_notice_icon { margin-right: 5px; height: 15px; width: 15px; } .global_header #user_util .facebook_notice { margin: -10px 5px 10px; border: 1px solid #ffcc66; background-color: #f6f2d7; padding: 10px 15px 10px 15px; color: #333; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; } .global_header #user_util .facebook_notice h4 { font-size: 11px; color: #666; margin-bottom: 5px; } .global_header #user_util .facebook_notice p { margin: 0; margin-bottom: 5px; font-size: 11px; line-height: 12px; } .global_header #user_util .facebook_notice .mid-sep { margin: 0 4px; } .global_header #user_util .sub_menu { right: -17px; width: 170px; } .global_header #user_util .sub_menu .tail { text-align: right; margin-right: 15px; }

.global_header #user_util .sub_menu h3 { font-size: 13px; color: #2D2624; margin-bottom: 6px; padding: 0 20px; } .global_header #user_util .sub_menu .user_thumb { border: 1px solid #2D2624; margin-right: 5px; } .global_header #user_util .sub_menu .fb_profile_thumb img { border: 1px solid #2D2624; } .global_header #user_util ul { padding: 0 20px; } .global_header #user_util ul li { display: block; white-space: nowrap; line-height: 18px; } .global_header #user_util .notification_count { background-color: #D60B0B; padding: 2px 6px; font-size: 11px; color: #fff; font-weight: bold; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px; margin-left: 4px; } .global_header #user_util .notification_count:hover { text-decoration: none; background-color: #AC1818; } /* app/views/new/chrome/_language_selector.css @ 1348517526 */ .autogen_class_views_new_chrome_language_selector { display: inline-block; zoom: 1; *display: inline; border-left: 1px solid #D1D1D1; margin-left: 24px; padding-left: 24px; position: relative; } .autogen_class_views_new_chrome_language_selector .language_label, .auto= gen_class_views_new_chrome_language_selector .language { display: inline-block; zoom: 1; *display: inline; } .autogen_class_views_new_chrome_language_selector .language { height: 20px; padding: 0px 8px; margin-left: 6px; border-radius: 3px; background: #DFDFDF; }

.autogen_class_views_new_chrome_language_selector .language a { color: #333; } .autogen_class_views_new_chrome_language_selector .language .sprite { display: inline-block; zoom: 1; *display: inline; vertical-align: top; margin-left: 4px; margin-top: 6px; } .autogen_class_views_new_chrome_language_selector .language_selector { position: absolute; background: white; border: 1px solid silver; box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.4); border-radius: 3px; padding: 10px; width: 360px; left: 164px; top: -10px; } .autogen_class_views_new_chrome_language_selector .language_selector ul = { list-style: none; } .autogen_class_views_new_chrome_language_selector .language_selector ul = li { display: inline-block; zoom: 1; *display: inline; margin-right: 12px; } .autogen_class_views_new_chrome_language_selector .language_selector ul = li a { color: #146c88; font-weight: bold; padding: 3px 0px; } .autogen_class_views_new_chrome_language_selector .language_selector ul = li a.active { background: #464646; color: white; border-radius: 3px; padding: 3px 8px; } /* app/views/new/chrome/login/_facebook_login_button.css @ 1348517526 */= .facebook_login_button.loading .loader { display: inline-block; zoom: 1; *display: inline; margin-left: 10px; } /* app/views/new/chrome/_login_lightbox.css @ 1348517526 */ .autogen_class_views_new_chrome_login_lightbox #forgot_password_lb form.= need_login .login_information { display: block; } .autogen_class_views_new_chrome_login_lightbox #forgot_password_lb form =

.login_information { display: none; } /* app/views/new/chrome/_search_box.css @ 1348517526 */ .header_search { display: inline-block; zoom: 1; *display: inline; color: white; position: relative; } .header_search .search_button { margin-left: 8px; vertical-align: middle; } .header_search input.search_input { font-family: Arial, sans-serif; vertical-align: middle; border-radius: 3px; height: 10px; padding: 10px 8px 10px 8px; font-size: 11px; width: 275px; border: 0; background: #E6E6E6; outline: none; color: #111; } .header_search input.search_input.inactive { color: #b3b3b3; } .header_search .search_autocompleter { background-color: white; width: 340px; z-index: 34000; position: absolute; top: 35px; left: -30px; display: block; border-right: 1px solid #cdcdcd; border-left: 1px solid #cdcdcd; border-top: 1px solid #cdcdcd; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; -moz-border-radius-topright: 0; -webkit-border-top-right-radius: 0; border-radius-topright: 0; -webkit-box-shadow: 0px -1px 10px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0px -1px 10px rgba(0, 0, 0, 0.2); box-shadow: 0px -1px 10px rgba(0, 0, 0, 0.2); } .header_search .search_autocompleter .ac_section { float: left; clear: both; border-bottom: 1px solid #cdcdcd; width: 100%; background-color: #e5e5e5; } .header_search .search_autocompleter .ac_section .ac_main ul li img {

width: 25px; height: 33px; } .header_search .search_autocompleter .ac_users .ac_main ul li img, .head= er_search .search_autocompleter .ac_publishers .ac_main ul li img { height: 25px; } .header_search .search_autocompleter .ac_users .ac_main ul li p, .header= _search .search_autocompleter .ac_publishers .ac_main ul li p { padding-top: 6px; } .header_search .search_autocompleter .ac_white_border { border-top: 1px solid white; border-left: 1px solid white; float: left; } .header_search .search_autocompleter .ac_sidebar { float: left; background-color: #e5e5e5; width: 28px; overflow: hidden; } .header_search .search_autocompleter .ac_sidebar img { display: block; margin: 10px auto 0 auto; } .header_search .search_autocompleter .ac_main { width: 311px; float: right; background-color: white; } .header_search .search_autocompleter .ac_main h4 { font-family: Helvetica, Arial, sans-serif; font-size: 11px; color: #AAA; text-transform: uppercase; font-weight: normal; margin: 12px 0 0 12px; } .header_search .search_autocompleter .ac_main ul { float: left; width: 299px; padding: 6px 0 6px 0px; margin: 0px; } .header_search .search_autocompleter .ac_main ul a { text-decoration: none; } .header_search .search_autocompleter .ac_main li { float: left; width: 100%; padding: 3px 0 3px 12px; list-style: none; } .header_search .search_autocompleter .ac_main li p { color: #317E9A; float: left; margin: 0; padding: 0 0 6px 0; width: 240px; }

.header_search .search_autocompleter .ac_main li img { float: left; padding: 1px; border: 1px solid #ccc; margin: 0 5px 0 0; } .header_search .search_autocompleter .ac_main li div { float: left; } .header_search .search_autocompleter .ac_main li .ac_user_credit { clear: left; font-size: 11px; margin-top: -3px; } .header_search .search_autocompleter .ac_main li .ac_user_credit .label = { color: #AAA; } .header_search .search_autocompleter .ac_main a.highlight li { background-color: #EDFFFF; } .header_search .search_autocompleter .ac_icon { margin: 11px 7px; } .header_search .search_autocompleter .icon_ac_collection_12x15 { background: #333333 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA= AAAwAAAAPCAIAAABfg7keAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsSAAALEgHS3X78AAA= AFnRFWHRDcmVhdGlvbiBUaW1lADExLzE3LzEwzazMAgAAABx0RVh0U29mdHdhcmUAQWRvYmU= gRmlyZXdvcmtzIENTNAay06AAAABXSURBVCiRY6ytrmbABjKysuBsFjQ+BMyYNg2Zy4TVGIg= 6uFKcitCtwwMghuE0Cdk8AooIuIk2ilgYMIIOiyKI+2dMm4YZ7igmQQAe86CK8JuHHuJYzQM= ApkYbY57xCpYAAAAASUVORK5CYII=3D'); width: 12px; height: 15px; } .header_search .search_autocompleter .icon_ac_pub_15x15 { background: #333333 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA= AAA8AAAAPCAIAAAC0tAIdAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsSAAALEgHS3X78AAA= AFnRFWHRDcmVhdGlvbiBUaW1lADExLzE3LzEwzazMAgAAABx0RVh0U29mdHdhcmUAQWRvYmU= gRmlyZXdvcmtzIENTNAay06AAAAEXSURBVCiRdVIxbsMwDKSDQpz4AXmJHmBlsR4QL0XeUOR= 1QR+QLkH3oIu82F3syZM8adMkTh0EKE7s3iCIxyN1ElU452CF2TlZlmt+t6a891/Xq/f+X7X= 3fhyGGCMA/NzveY0xjsOQK4vkJITwebkAgJRynueUy/uP85mIHr2JKMVZmvc59eRbSrk2+sK= /pRdorV12XWIcxxBCbYwsy6Lruu/bLYSwKc0govfTqXDOxRh/+77vOmZe64QQ+nCotEbEHQA= gYm2MUmqzq1KqNgYRn245TdOmesnvMsXMe6WOTSOESAaOTbNXiplzwWM6Qoh0XGtta21tTG0= MAMQYmfl1OkkKAJXWRFRpnUJEzNMpNv9gCCErlvgDZJeK8uxMfBkAAAAASUVORK5CYII=3D'= ); width: 15px; height: 15px; } .header_search .search_autocompleter .icon_ac_doc_10x14 { background: #333333 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA= AAAoAAAAOCAIAAACZwRr8AAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsSAAALEgHS3X78AAA= AFnRFWHRDcmVhdGlvbiBUaW1lADExLzE3LzEwzazMAgAAABx0RVh0U29mdHdhcmUAQWRvYmU= gRmlyZXdvcmtzIENTNAay06AAAAA5SURBVBiVY6ytrmZABRlZWTOmTcvIymJgYGBiwAFmTJu= GTxqiggWrBMRkBgYGLNIQYyEAn+EjWBoA3bsMV7OJQpMAAAAASUVORK5CYII=3D'); width: 10px; height: 14px; } .header_search .search_autocompleter .icon_ac_scribd_15x15 { background: #333333 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA=

AAA8AAAAPCAIAAAC0tAIdAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsSAAALEgHS3X78AAA= AFnRFWHRDcmVhdGlvbiBUaW1lADExLzE3LzEwzazMAgAAABx0RVh0U29mdHdhcmUAQWRvYmU= gRmlyZXdvcmtzIENTNAay06AAAAJhSURBVCiRPVJLSJRhFL3395+Rees8NEehxyIo05lJJaG= xjFYFoYughan5QgI32iIIJHqsglpoRETUIk1tIAsNayEVprYwNB1liIKiVFw0zst59H/fvS1= GPdvzWpyDTx49HHj6GHaAiIAIzIAIxAy8S11sacfa6qPbOkBACIfDW1sJAEREm9VmtVmJCAG= zNpVp200s1zc2Kquqz56rczgdP759Hx97+fvXT5fLxcSAAABYU+nJJq+vr9Wfv3DnXj/idnU= inuhsb1yY++J0OJgZABRiIqZUKmU0Wq5cvYYIlzvavOVlS4uLZou5pa0zHosSyaxMIUkkSdM= 0o8losViFEKFQ6OtS8Pb13s8zM6OBEZPJxAxMRJIUBmbmXL1+bXV1dvqTqqrvp6afDzyLx+O= nT/jHX7/Ks9uFEJKYmXNcdquQUkqSkgIjw86CwtLDpR6fr6Gpudzjffd24l8mDQhSSClFjiv= fxszMLDStyF0yNDQUGBmObIZLj5R5vF6n0/FicDDPkQ/MxKwiIABEopGKqmOB0bGV5aDP65t= f6g2uhB709019mDRYLFoyrTMYkFmRRMScSWeK3CU5qlrm8XZ0tJ6sOd7WeunmjVvzVafOfJy= TRquWSkpmPLS/BAE0IWLxxN2++w2NzbtT19fVL1S02Nz7Un1Nyt9VJdeAB/cWAwAipNOZaDT= mr631+2tMZvPKcnBy4k0MTKrBpIv/0ekNAIAHivfsHAoAeHMzkkxmmEGnQ7vdroJkItQbs/s= qXd09gqQgKaQUkqw2W5G70F1c6HQVoKJIRUdqriQpSHZ19/wHENE3AM7iPlsAAAAASUVORK5= CYII=3D'); width: 15px; height: 15px; } .header_search .search_autocompleter .icon_ac_people_12x12 { background: #333333 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA= AAAwAAAAMCAIAAADZF8uwAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsSAAALEgHS3X78AAA= AFnRFWHRDcmVhdGlvbiBUaW1lADExLzE3LzEwzazMAgAAABx0RVh0U29mdHdhcmUAQWRvYmU= gRmlyZXdvcmtzIENTNAay06AAAACrSURBVBiVfdC9CsMgFIbhLynoBTTTWULvIS4le8kVSwb= JIr0NIUUnO53NqYOJmAbyTuJ5wJ/Gew8AQIzxbW0IAQARPcex67o8arE3a50FgBDCrHUZbcg= 5x8yoYmbn3AF9Y8Spsrmh+3583f3vTkQkhKiFEIKIDkhKOShVo0EpKWVeN957Zl6MKU8rlY9= orLWLMSml851yr2m6Pfr+QgD4rGt7LQCklNprkfsBnGZIVVuOoiIAAAAASUVORK5CYII=3D'= ); width: 12px; height: 12px; } /* app/views/new/chrome/_user_sign_in.css @ 1348517526 */ .autogen_class_views_new_chrome_user_sign_in { display: inline-block; zoom: 1; *display: inline; vertical-align: middle; font-family: Arial, sans-serif; text-align: right; height: 30px; position: relative; top: -5px; margin-left: 16px; line-height: normal; } .autogen_class_views_new_chrome_user_sign_in a { font-size: 11px; color: white; } .autogen_class_views_new_chrome_user_sign_in .row { line-height: 17px; } .autogen_class_views_new_chrome_user_sign_in .signup_top { border-bottom: 2px solid #2B4B63; } /* app/views/new/chrome/_user_util.css @ 1348517526 */ .user_util { display: inline-block; zoom: 1; *display: inline; height: 30px;

margin: 0px 0px 0px 4px; vertical-align: top; } .user_util .user_pic { display: inline-block; zoom: 1; *display: inline; vertical-align: middle; width: 30px; height: 30px; border-radius: 3px; overflow: hidden; background: rgba(255, 255, 255, 0.5); box-shadow: inset 0px 0px 0px 1px rgba(255, 255, 255, 0.2); cursor: pointer; } .user_util .sprite_container { vertical-align: middle; } .user_util .notification_count { color: white; background: #cc0000; position: relative; top: -8px; left: 4px; padding: 1px 6px; border-radius: 8px; font-weight: bold; border-top: 1px solid #ff6666; border-bottom: 1px solid #990000; box-shadow: 0px 0px 3px red; text-shadow: 1px 1px 0px #990000; } .user_util .sub_menu { top: 40px; right: -18px; } .user_util .sub_menu .white_tri_up { position: absolute; top: -5px; right: 39px; } .user_util .sub_menu .top .user_name:hover { text-decoration: none; } /* app/views/newdoc/_closeable_ad_code.css @ 1348517526 */ .autogen_class_views_newdoc_closeable_ad_code .close_button { position: absolute; z-index: 2998; cursor: pointer; top: 6px; left: 6px; overflow: hidden; } /* app/views/newdoc/collections_dialog.css @ 1348517526 */ .autogen_class_views_newdoc_collections_dialog { width: 600px; /* Add to Collection Utility */ /* Create new collection */ }

.autogen_class_views_newdoc_collections_dialog .close_button { margin-bottom: 10px; } .autogen_class_views_newdoc_collections_dialog .document_summary { margin: 0; padding-top: 10px; padding-bottom: 5px; border: none; } .autogen_class_views_newdoc_collections_dialog .document_summary .descri= ption { display: none; } .autogen_class_views_newdoc_collections_dialog .document_summary ul.stat= s_bottom { margin-top: 2px; } .autogen_class_views_newdoc_collections_dialog .document_summary ul.stat= s_bottom li { list-style: none outside none; display: block; float: none; font-size: 11px; } .autogen_class_views_newdoc_collections_dialog .document_summary ul.stat= s_bottom li span { font-size: 11px; } .autogen_class_views_newdoc_collections_dialog .document_summary ul.stat= s_bottom li.created_at, .autogen_class_views_newdoc_collections_dialog .= document_summary ul.stats_bottom li.category { display: none; } .autogen_class_views_newdoc_collections_dialog .private { /* the notification that private docs go in private collections */ padding: 5px 5px 5px 25px; background: url('data:image/gif;base64,R0lGODlhEAAQAMZQAIJjQoNkQ4RkQ4t= tTIZyXZ16NY97Z52CYJ+DYbGPSrSQSq+SV7STTrCUbbmXU7iZXbaZcbubXr2cV7ebc7+dVb+= dWbmda8KgVbuib8qlVcWmacypZMqqZtOrVcmsds+sZc6saNCuasyuedKwbNOxbte0Xta0cti= 2ctm2cd64Wt66Xtq5ddq5d9a7dtu6dty6dt68Zt27eNa8hty8eOTCZujCXuLGjujHg+LIk+z= KZufJhfLKXuXLl+nNie7OjPDPi/TSZtPT0+3TjfvWYvTWlPXXlPzaZvjfnPvfnPDkzOXl5fz= npPLmzf/ppenp6f/tqe7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7= u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7= u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7iH5BAE= KAH8ALAAAAAAQABAAAAeggH+Cg4SFhkw2MTE2TIaDSStCLS1CK0mOfzI9FRgYFT0ymBo6CYI= JOhqYDy4MggwzD4Y8JwsbDhIFDgoLHziEL01IRT43JSo1O0MovxwgIyQhFBcZHSnLg8DCxMb= IyoQszc/R09UmhCLBw8XHyR6EE+HQ0tQpEIQHT0tHRD8wNDlAjBwYFITAAAQNLEQAECCAAAE= GgghyoqSixYsVnfwJBAA7') no-repeat scroll 5px 5px transparent; } .autogen_class_views_newdoc_collections_dialog .manage_collection { /* Pagination */ } .autogen_class_views_newdoc_collections_dialog .manage_collection .spinn= er { float: left; margin: 5px; } .autogen_class_views_newdoc_collections_dialog .manage_collection li { padding: 3px 5px; display: block; }

.autogen_class_views_newdoc_collections_dialog .manage_collection li.doc= ument_collection { cursor: pointer; background: url('data:image/gif;base64,R0lGODlhAQALALMAAPHx8evr6+jo6O/= v7/z8/Pn5+e3t7ff39/T09P///wAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAABAAs= AAAQJMJFyEBgmiBQBADs=3D') repeat-x scroll left bottom white; line-height: 2em; border-bottom: 1px dotted #AAAAAA; } .autogen_class_views_newdoc_collections_dialog .manage_collection li.doc= ument_collection:hover { background: none; background-color: #E9F2FC; -moz-border-radius: 2px; -webkit-border-radius: 2px; } .autogen_class_views_newdoc_collections_dialog .manage_collection li.doc= ument_collection span, .autogen_class_views_newdoc_collections_dialog .m= anage_collection li.document_collection label { float: left; vertical-align: middle; } .autogen_class_views_newdoc_collections_dialog .manage_collection li.doc= ument_collection label { display: inline; overflow: hidden; white-space: nowrap; cursor: pointer; width: 380px; } .autogen_class_views_newdoc_collections_dialog .manage_collection li.doc= ument_collection label, .autogen_class_views_newdoc_collections_dialog .= manage_collection li.document_collection .privacy { font-size: 11px; margin-left: 5px; font-weight: bold; } .autogen_class_views_newdoc_collections_dialog .manage_collection li.doc= ument_collection input { border: none; } .autogen_class_views_newdoc_collections_dialog .manage_collection li.doc= ument_collection .privacy { float: right; width: auto; } .autogen_class_views_newdoc_collections_dialog .manage_collection li.doc= ument_collection .private { color: #990000; } .autogen_class_views_newdoc_collections_dialog .manage_collection li.doc= ument_collection .public { color: #009933; } .autogen_class_views_newdoc_collections_dialog .manage_collection li.doc= ument_collection .status_loader { margin-left: -3px; } .autogen_class_views_newdoc_collections_dialog .manage_collection .no_co=

llections { background: url('data:image/gif;base64,R0lGODlhAQALALMAAPHx8evr6+jo6O/= v7/z8/Pn5+e3t7ff39/T09P///wAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAABAAs= AAAQJMJFyEBgmiBQBADs=3D') repeat-x scroll left bottom white; line-height: 2em; border-bottom: 1px dotted #AAAAAA; display: block; padding: 3px 5px; } .autogen_class_views_newdoc_collections_dialog .manage_collection .new_d= ocument_collection { float: right; } .autogen_class_views_newdoc_collections_dialog .manage_collection .pagin= ator { float: right; margin: 5px; } .autogen_class_views_newdoc_collections_dialog .autogen_class_views_shar= ed_document_collections_form { border-bottom: 1px dotted #AAAAAA; } .autogen_class_views_newdoc_collections_dialog .document_collection_form= _container form { width: 330px; } .autogen_class_views_newdoc_collections_dialog .document_collection_form= _container_open form, .autogen_class_views_newdoc_collections_dialog .do= cument_collection_form_container_open error { width: 520px; } .autogen_class_views_newdoc_collections_dialog .back { float: left; margin: 5px; font-weight: bold; } .autogen_class_views_newdoc_collections_dialog .back a { font-width: normal; } /* app/views/newdoc/_comments.css @ 1348517526 */ .comment_area { text-align: left; } .comment_area h2 { font-family: Athelas, serif; color: #6E6E6E; text-shadow: 1px 1px 0px white; border-bottom: 1px dashed #C8C8C8; font-size: 24px; font-weight: normal; padding-top: 8px; margin-bottom: 10px; } .comment_area .bottom_buttons { text-align: center; font-size: 12px; padding-bottom: 8px; } .comment_area .bottom_buttons .spinner { float: none; }

.comment_area .profile { float: left; } .comment_area .profile .tiny_thumbnail { padding: 4px; border: 1px solid #dadada; background: white; border-radius: 2px; width: auto; height: auto; margin: 0px; } .comment_area .profile .tiny_thumbnail a { border: 0; background-size: 100% 100%; } .comment_area .profile .default_thumb { width: 48px; height: 48px; padding: 2px; background: url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAQIAHAAcAAD/2w= BDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEB= EQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB= AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wgARCAAwADADAREAAhEBAxEB/8QAGgAAAg= MBAQAAAAAAAAAAAAAAAwQCBQYAB//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEA= AAAfZxwORBiQcsRAri9EiRYGcFTTiwEsjMixsCtADIIiHFgAEicSCn/8QAHRAAAgIDAQEBAA= AAAAAAAAAAAQIAAwQRExIiI//aAAgBAQABBQIDcRIfKwGt46QjUrEHypO450UPWqwSua9V9Y= 7yhfGLZEMR5m/nk44N2S7ywwEAjIAltldwqaqiHIBhYEunqcWnJ5yecWiV+T//xAAUEQEAAA= AAAAAAAAAAAAAAAABQ/9oACAEDAQE/ARP/xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAECAQ= E/ARP/xAAkEAABAwIGAgMAAAAAAAAAAAABAAIRECEDEiAyUaEiIzFBcf/aAAgBAQAGPwKnkV= DXX0F3FJH0m4nIq5o+SK4bTxOh3iQHXCYzLLZl35W6ssuIJXrESrqymSFv6W7pbulv6U5iv/= /EACMQAAIBAwQCAwEAAAAAAAAAAAABESExQRBhcfBR4YGhscH/2gAIAQEAAT8hmGyJjBxEfh= ZmyTtFVCWSLVtupFPhtKYnlrnOvldBS5LC/UfeFb5r/dMbIoqK0aGp3pX7kWJ7gWBNklH3xU= lFiuCAtcbChpeRzVmEPk/LyVByIoPA3XJ2+x2+xuOuSqWOx//aAAwDAQACAAMAAAAQEEkEEk= EAkAEAEkggkE//xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAEDAQE/EBP/xAAUEQEAAAAAAA= AAAAAAAAAAAABQ/9oACAECAQE/EBP/xAAjEAEAAgIBAwQDAAAAAAAAAAABABEhMWFBUYFxka= HwwdHh/9oACAEBAAE/EFqrEJqBwBJdAr7EXiBdxo4HcEuG4oTWIgLX170S+Gm17sdzrBsTrB= KFk0MUx8hgF4jMRItgPemPmbBaeYaJwMsN5MQlItZ4aRjcrh6QqNnR1jesQtQR93EJYjmByI= nZoPNdYaRy3TuWkGXRaKg1dv8AINQLwIPAW0tK7iZI9E27cFvTjUFqr6GHFVd3a6mnoIAiXf= 5n6RQlpPgQPtHug63s41QWCAffM//Z') center center no-repeat; background-size: 100% 100%; } .comment_area .reply_button { float: right; display: block; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAB= BCAYAAAAgwd/EAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9= tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmV= zb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHh= tcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODA4Mzk= 5NDVCQjI3QTZCOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0QTUxQkY5RjIzOTQxMUU= xQjRBQ0IyRDBDRUFCRjY2RCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0QTUxQkY5RTI= zOTQxMUUxQjRBQ0IyRDBDRUFCRjY2RCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3N=

ob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmN= lSUQ9InhtcC5paWQ6RkM3RjExNzQwNzIwNjgxMTgwODM4OTJBRkQ0OTY3NUUiIHN0UmVmOmR= vY3VtZW50SUQ9InhtcC5kaWQ6MDc4MDExNzQwNzIwNjgxMTgwODM5OTQ1QkIyN0E2QjgiLz4= gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCB= 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 4r2gAAAAASUVORK5CYII=3D') 0 0 no-repeat; width: 27px; height: 21px; } .comment_area .reply_button span { display: none; } .comment_area .reply_button:hover { background-position: 0 -21px; } .comment_area .reply_button:active { background-position: 0 -42px; } .comment_area .single_comment { margin-bottom: 18px; } .comment_area .single_comment .moderation { float: right; display: none; padding: 3px 7px; }

.comment_area .single_comment .moderation .delete_button { color: rgba(255, 0, 0, 0.3); *color: red; font-weight: bold; } .comment_area .single_comment .moderation .delete_button:hover { color: red; } .comment_area .single_comment:hover .moderation { display: block; } .comment_area .single_comment.deleted { background: red; color: white; } .comment_area .single_comment .author_name { border: 1px solid #DBDBDB; padding: 2px 7px; background: white; } .comment_area .single_comment .author_name .username { padding: 0px; } .comment_area .single_comment .main_container { margin-left: 72px; font-size: 12px; } .comment_area .single_comment .main_container p { font-size: 12px; margin: 4px 0px; margin-bottom: 8px; } .comment_area .single_comment .main_container .comment_inner { padding-left: 8px; } .comment_area .single_comment .main_container .event_time a, .comment_ar= ea .single_comment .main_container .event_time { color: #8f8f8f; } .comment_area .single_comment.child_comment { margin-left: 80px; } .comment_area #reply_template { display: none; } .comment_area .comment_form { border-bottom: 1px dashed #C8C8C8; margin-bottom: 12px; } .comment_area .comment_form.reply_comment { border: 0; margin-top: 18px; } .comment_area .comment_form form { margin-left: 72px; } .comment_area .comment_form .comment_errors { padding-bottom: 8px; } .comment_area .comment_form .spinner {

background: url('data:image/gif;base64,R0lGODlhEAAQAPQAAPL6/56enuz0+Mv= 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3D=3D') 0 0 = no-repeat; width: 16px; height: 16px; } .comment_area .comment_form textarea, .comment_area .comment_form .fake_= textarea { border: 1px solid #dedede; background: white; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: inset 0px 0px 3px 0px #dddddd; -moz-box-shadow: inset 0px 0px 3px 0px #dddddd; box-shadow: inset 0px 0px 3px 0px #dddddd; padding: 8px; color: #222; height: 100px; } .comment_area .comment_form .fake_textarea { font-size: 14px; font-style: italic; color: #666; } .comment_area .comment_form .fake_textarea a { font-style: normal;

font-weight: bold; } .comment_area .comment_form textarea { box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; width: 100%; *width: 96%; } .comment_area .comment_form textarea:focus { outline-color: #CEE0FF; } .comment_area .comment_form textarea[disabled] { color: #999; } .comment_area .comment_form .buttons { float: right; } .comment_area .comment_form .controls { margin-bottom: 4px; padding: 8px 0px; padding-right: 3px; color: #8f8f8f; } /* app/views/newdoc/copy_link_dialog.css @ 1348517526 */ .autogen_class_views_newdoc_copy_link_dialog ul { padding: 0px 16px; } .autogen_class_views_newdoc_copy_link_dialog li { padding: 9px 13px; } .autogen_class_views_newdoc_copy_link_dialog hr { background: transparent; border: 0; border-bottom: 1px dashed #a8abaf; margin: 14px 0px 8px 0px; } .autogen_class_views_newdoc_copy_link_dialog .row_name { float: left; text-align: right; width: 180px; font-weight: bold; line-height: 26px; padding-right: 12px; font-size: 14px; } .autogen_class_views_newdoc_copy_link_dialog .highlight { padding: 13px; -moz-border-radius: 6px; -webkit-border-radius: 6px; border-radius: 6px; background: #CBEDFF; } .autogen_class_views_newdoc_copy_link_dialog .link_input { border: 1px solid #909ca4; -moz-border-radius-bottomleft: 2px; -webkit-border-bottom-left-radius: 2px; border-bottom-left-radius: 2px; border-radius-bottomleft: 2px;

-moz-border-radius-topleft: 2px; -webkit-border-top-left-radius: 2px; border-top-left-radius: 2px; border-radius-topleft: 2px; -webkit-box-shadow: inset 0px 1px 2px -1px #aaaaaa; -moz-box-shadow: inset 0px 1px 2px -1px #aaaaaa; box-shadow: inset 0px 1px 2px -1px #aaaaaa; float: left; width: 340px; height: 24px; border-right: 0; padding: 0px 12px; color: gray; } /* app/views/newdoc/_doc_stats.css @ 1348517526 */ .autogen_class_views_newdoc_doc_stats { border-top: 1px solid #c8c5c0; border-bottom: 1px solid #c8c5c0; margin: 15px 3px; padding-left: 20px; overflow: hidden; white-space: nowrap; font-family: Arial, sans-serif; } .autogen_class_views_newdoc_doc_stats .stat { display: inline-block; zoom: 1; *display: inline; vertical-align: top; padding-right: 12px; margin: 10px 0px; margin-right: 20px; border-right: 1px solid #C8C5C0; } .autogen_class_views_newdoc_doc_stats .stat .number { font-size: 18px; font-weight: bold; color: #146c88; } .autogen_class_views_newdoc_doc_stats .stat .unit { font-size: 10px; text-transform: uppercase; color: #6f97a3; } .autogen_class_views_newdoc_doc_stats .stat.last { border-right: none; } /* app/views/newdoc/_document_slider_collection.css @ 1348517526 */ .autogen_class_views_newdoc_document_slider_collection { overflow: hidden; } .autogen_class_views_newdoc_document_slider_collection .list { overflow: hidden; margin-top: 20px; } .autogen_class_views_newdoc_document_slider_collection .list .list_heade= r { font-family: Athelas, serif; margin: 10px 20px 10px 20px; font-size: 18px;

color: #022f40; } .autogen_class_views_newdoc_document_slider_collection .list .tools { -moz-user-select: -moz-none; -webkit-user-select: none; user-select: none; font-family: Arial, sans-serif; color: #C5C9CA; font-size: 11px; margin: 0px 20px 20px 20px; } .autogen_class_views_newdoc_document_slider_collection .list .viewport {= margin-top: 22px; overflow: hidden; } .autogen_class_views_newdoc_document_slider_collection .list .list_page = { display: inline-block; zoom: 1; *display: inline; width: 323px; vertical-align: top; } .autogen_class_views_newdoc_document_slider_collection .list a.disabled = { color: #C5C5C5; } .autogen_class_views_newdoc_document_slider_collection .list a.disabled:= hover { text-decoration: none; cursor: default; } .autogen_class_views_newdoc_document_slider_collection .list .indicator = { float: right; margin-top: 2px; } .autogen_class_views_newdoc_document_slider_collection .page_picker { height: 9px; position: relative; } .autogen_class_views_newdoc_document_slider_collection .page_picker .dot= s, .autogen_class_views_newdoc_document_slider_collection .page_picker .= fill { position: absolute; left: 0px; right: 0px; top: 0px; bottom: 0px; } .autogen_class_views_newdoc_document_slider_collection .page_picker .dot= s { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAA= JCAYAAAAGuM1UAAAAdUlEQVR42mN4+/rZf1IwA7rA7uNn/s9asxmMtx46jl/D1gNH/89YvfH= 91OXrE2as3NABYq/ctvsTTg3z12/73790lQEDFPTPX64wf8O2/w+fPMLUcP/hQ7AzGNDAjJU= b95++fAW3DZOXr3Ygygay/EByKBGDAaCyWY3cfCgpAAAAAElFTkSuQmCC') repeat-x; z-index: 999; } .autogen_class_views_newdoc_document_slider_collection .page_picker .fil=

l { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAA= JCAYAAAAGuM1UAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEJ2lUWHRYTUw6Y29tLmFkb2JlLnh= tcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1= QIENvcmUgNS4xLjIiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3J= nLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJ= kZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20= veGFwLzEuMC8iPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxMi0wOC0wM1QxMTowODo= yNDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+UGl4ZWxtYXR= vciAyLjAuNTwveG1wOkNyZWF0b3JUb29sPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICA= gICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGl= mZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcml= lbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGl= vbj43MjwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6Q29tcHJlc3Npb24+NTw= vdGlmZjpDb21wcmVzc2lvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MTwvdGl= mZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzI8L3RpZmY= 6WFJlc29sdXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICAgICA8cmRmOkRlc2N= yaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnM= uYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4= xMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+NjU= 1MzU8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjk= 8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9= yZGY6UkRGPgo8L3g6eG1wbWV0YT4KKMqRTQAAAT9JREFUGBktkU1Lw0AQhmcbjd02Nm2iFRV= BkIJVLB5y6c2DJ29e/Sfe/DmC9woiogdvQhQPQltUaG3E1Iofbaw2Hd8JBp6dnZl3Zmc3ipk= 1EcVgBtigAUzA4BtkwBrwwXgCiyR+QGdIlD69uDzuhG9zCBvzRbdZ3VhvuwV7H/kRIIUTXNh= XYB/WzmqfUd9DCxOZX2YVKUW3ezvbR1mtT6AJUlgGgHzfNyGuQBySkoiahDirSG3ePbRWEFg= FkRTInDQwMg6MBfGi+P+fgXlHz2HXgt8CQymQO1DO0kvo+oGuXfFFKBa76aLj9LF5B0oKkgF= KC8W6ldGPzDTFxHVc7iUpYupVSss30MkkWi4tTyjdduM4Tp1fXZfv28EBfDVbsL/yOV3d8rw= m/GR0KZCnlQI5bQzSoAx6IADyjySWB09/jNRzyTuxyVkAAAAASUVORK5CYII=3D') no-rep= eat; z-index: 1000; } .autogen_class_views_newdoc_document_slider_collection .divider { padding-left: 10px; padding-right: 10px; } .autogen_class_views_newdoc_document_slider_collection .readpage_cell { margin: 0px 20px 30px 0px; font-family: Arial, sans-serif; color: #666; } .autogen_class_views_newdoc_document_slider_collection .readpage_cell .l= abel { color: #999; } .autogen_class_views_newdoc_document_slider_collection .readpage_cell .m= eta a { color: #666; } .autogen_class_views_newdoc_document_slider_collection .readpage_cell .n= ame, .autogen_class_views_newdoc_document_slider_collection .readpage_ce= ll .title { word-wrap: break-word; font-family: Athelas, serif; } .autogen_class_views_newdoc_document_slider_collection .readpage_cell .n= ame a, .autogen_class_views_newdoc_document_slider_collection .readpage_= cell .title a { color: #022f40; font-size: 16px;

line-height: 18px; } .autogen_class_views_newdoc_document_slider_collection .readpage_cell .t= humb { box-shadow: 0px 1px 2px #A0A0A0; margin-left: 2px; width: 105px; height: 140px; position: relative; } .autogen_class_views_newdoc_document_slider_collection .readpage_cell .t= humb { width: 105px; height: 140px; margin: 0px 0px 10px 20px; } .autogen_class_views_newdoc_document_slider_collection .readpage_cell .o= verlay { background-image: url('/images/newhome/image-overlay105x140-med.png?13= 48517579'); } .autogen_class_views_newdoc_document_slider_collection .readpage_cell .t= itle { font-size: 18px; line-height: 18px; } .autogen_class_views_newdoc_document_slider_collection .readpage_cell .t= humb_container { float: left; padding-bottom: 10px; } .autogen_class_views_newdoc_document_slider_collection .readpage_cell .i= nfo { font-size: 11px; margin-top: -3px; margin-left: 140px; height: 140px; } .autogen_class_views_newdoc_document_slider_collection .readpage_cell .v= alue { color: #404040; } /* app/views/newdoc/download_dialog.css @ 1348517526 */ .download_dialog { overflow: hidden; text-align: center; } .download_dialog .picker, .download_dialog .info { display: inline-block; zoom: 1; *display: inline; vertical-align: top; } .download_dialog .info { text-align: left; border-left: 1px dotted #848588; margin-left: 20px; padding: 20px 0px 20px 20px; width: 400px; }

.download_dialog .info .row { margin-bottom: 8px; font-size: 14px; text-indent: -2em; padding-left: 2em; } .download_dialog .info .buttons { margin-top: 20px; height: 40px; text-align: center; } .download_dialog .download_button { width: 300px; } .download_dialog .download_button .inner { font-size: 13px; } .download_dialog .download_success { display: none; color: #798187; font-weight: bold; } .download_dialog .download_success .trouble { color: #9FA7B1; margin-top: 8px; font-size: 13px; font-weight: normal; } .download_dialog.download_started .download_success { display: block; } .download_dialog.download_started .download_button { display: none; } .download_dialog .download_icon { display: inline-block; zoom: 1; *display: inline; vertical-align: middle; margin: 0px 2px 0px 0px; width: 28px; height: 28px; background-repeat: no-repeat; background-position: 0 0; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAB= vCAYAAACNdMJNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9= tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmV= zb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHh= tcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODA4Mzk= 5NDVCQjI3QTZCOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDRUQ5QjI5MzdCNjMxMUU= xQjAyOUI3OEI1NUQzODE2OCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDRUQ5QjI5Mjd= CNjMxMUUxQjAyOUI3OEI1NUQzODE2OCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3N= ob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmN= lSUQ9InhtcC5paWQ6RkQ3RjExNzQwNzIwNjgxMTg3MUZDMkY4QzY4Q0ZCQUYiIHN0UmVmOmR=

vY3VtZW50SUQ9InhtcC5kaWQ6MDc4MDExNzQwNzIwNjgxMTgwODM5OTQ1QkIyN0E2QjgiLz4= gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCB= lbmQ9InIiPz5KXHdhAAABZklEQVR42uyXMU7DMBSG66o76ULXsjHSI3CBTpm4AGsj5S4MVCQ= Tt0DiBCkjM2sQZcyCTH+plqJCZGMFRa0+S09pn1+ff7svtj9jrR0N2cajgRsCBhcwCQlKptM= fvs/t1h7EmF9i+AsQ4G/aCX12liR6Lm14W+5/47XgFdhV+XtZlm++OMUotvcVkJ3PZrdVVX1= 0TVt9inHxIbn/JGBn46vF4q6u6+ZwcPnUp5j/FCBL0jR9aprmyw2uz/Kprx3bmwA3UCv55Sr= LNs6f5/mLfK2BXfPmnkS+PK9FUawu5vMHfblfrzP5YhKZwAuJ7djvb/bPx45zwvQqIGaCJ3M= cP8ckDzmOQ4vw+mQPI8O1HAFwQSwX9LURHccKdMzOS0YUIQIgI8gIMoKMICPICDLiPoAAyAg= yoggRABlBRpARZAQZQUaQEfcBBEBGkBFFiADICDKCjCAjyOgoyAguQAACEIAABHwLMAAa21J= nP+77ggAAAABJRU5ErkJggg=3D=3D') 0 0 no-repeat; } button:hover .download_dialog .download_icon { background-position: 0 -28px; } button:active .download_dialog .download_icon { background-position: 0 -56px; } .download_dialog .download_icon button.disabled { background-position: 0 -84px; } .download_dialog .big_download_icon { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAB= JCAYAAACqyKH+AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3R= JTUUH3AMPFBQlyG4UzAAAA2BJREFUeNrtnN1LG0EUxedfLxSEQqFQKPSh1JqoiWuMH6mpNka= jJhtjvhM/a7Gx/QPsSxsI7HSOsLCUSpOZ3eS6cx8O5CWzd35sNnPunFnxbn5BaOqNkiSm7nA= 4FL6klJFLC977D8nXyeW0TDtrciWTpaHVrNzMbf8mDxDwUk5G5ncKsnRUkUeVExIqHbuydFi= mDVDBewV4nz4XZbXWkM1OX7Z75ySEWtxagy5AwFteWSUJjzxABe8lZXikAfrw8rt7Y8Hr9C/= kt7sfkat7dkkfoIL3YhJ4vlTxb6NW7+zSIw1QB16reyYbra5XLB2LnUIxMmH8Zrs3wvVIAlT= w5nx47gR3Hibk1upedjMnFlMrkWltY0tUT5ujYF1kAOrC8wGWq6eeWtQKA4fzX6mllHCrp/Q= AKnjPdeFZD9AUntUAFbxnD/CUPXMN1nlWAgwLnrUA005mGAY8awHuFPY8NyR7ZiXAw3LVC8v= bWgkQEw6u6BkgA2SATx4gWkU6LabbwXd5dX0ztB4gWkUGrSa0/e0FiM9oFem2pDZy20Lt2Nk= LEIWgVYSWkU6rKbG4DHdjN0AUF/XPkAEyQAY4C4CDiLMtg9gCnE8sirX1rREyKFFlWzA+rhN= LgEspRxQPjkaq+RBJtgXjYnxcJ5YA/1V06MmCMZ+9Txagsmk/bwd3kSQNMC7Gjy1A1fZHUXM= RJw6wpRpPgImllFjf2hYqYKRl8YITC0p3KfMYwGkvqcYGCHsGm6abJrAeoKn+gibjopkAXEo= 7dLLVBsI8ZgJwt7BPJlttIsxj2lbuHgBxcWoJVx1hHtOzcup7TibrWQswDCtX2C/ZC9DUyvk= 7dlYDbHd6v86vvsjL668T6+L6RrY6vZHVANXkc0p1Ax1YCxBuIpffxXPwIeQ9qYLLGDv/hRe= SD9uVMPs6sh5gmAtpBsgAtQEOwjgQzU7E8EA0OxHDA9HsRAyPo7IT0XAi+F67279nJ2LmRFL= sRNiJsBPhhTQDZIAMkAEyQHsBKsm4aFYAg3ejlh7LxuiOpyO1sS5mDlBX48TbpiEGyAAJAsS= LFfGeQKqRMtSGGskmVI/dmtz8mCcbK0NtqJHsac16qysrJ3WysTLUhhpJvHwszBPrVr6AkQE= aAkTgB8EfnTY9JQW3DKYJ8A9/j0Lj4urtOgAAAABJRU5ErkJggg=3D=3D') 0 0 no-repea= t; display: inline-block; width: 80px; height: 73px; margin-left: 13px; } .download_dialog .big_download_icon .icon_text { text-align: center; color: white; font-weight: bold; font-size: 16px; width: 51px; line-height: 25px; margin: 36px 0px 0px 29px; text-shadow: 1px 2px 2px #7e868f; } .download_dialog .download_types { padding: 14px 0px; } .download_dialog .download_types li {

display: inline; padding: 8px; font-weight: bold; font-size: 14px; } .download_dialog .download_types li label { cursor: pointer; } /* app/views/newdoc/embed_dialog.css @ 1348517526 */ .autogen_class_views_newdoc_embed_dialog .tab_container .tab_bodies { background: #e1e8eb; border: 1px solid #c2c7cd; padding: 1em; -moz-border-radius-bottomleft: 2px; -webkit-border-bottom-left-radius: 2px; border-bottom-left-radius: 2px; border-radius-bottomleft: 2px; -moz-border-radius-bottomright: 2px; -webkit-border-bottom-right-radius: 2px; border-bottom-right-radius: 2px; border-radius-bottomright: 2px; } .autogen_class_views_newdoc_embed_dialog .tab_container li { display: inline-block; zoom: 1; *display: inline; border: 1px solid #ACB1B5; border-bottom: 1px solid #c2c7cd; position: relative; top: 1px; background: #C3C8CD; font-weight: bold; padding: 4px 8px; margin-right: 4px; -moz-border-radius-topleft: 2px; -webkit-border-top-left-radius: 2px; border-top-left-radius: 2px; border-radius-topleft: 2px; -moz-border-radius-topright: 2px; -webkit-border-top-right-radius: 2px; border-top-right-radius: 2px; border-radius-topright: 2px; } .autogen_class_views_newdoc_embed_dialog .tab_container li.current { background: #e1e8eb; border-color: #c2c7cd; border-bottom: 1px solid #e1e8eb; } .autogen_class_views_newdoc_embed_dialog .tab_container li a { font-weight: bold; color: #5B6165; } .autogen_class_views_newdoc_embed_dialog .tab_container li a:hover { text-decoration: none; } .autogen_class_views_newdoc_embed_dialog .code_input { border: 1px solid #909ca4; -moz-border-radius-bottomleft: 2px; -webkit-border-bottom-left-radius: 2px; border-bottom-left-radius: 2px;

border-radius-bottomleft: 2px; -moz-border-radius-topleft: 2px; -webkit-border-top-left-radius: 2px; border-top-left-radius: 2px; border-radius-topleft: 2px; -webkit-box-shadow: inset 0px 1px 2px -1px #aaaaaa; -moz-box-shadow: inset 0px 1px 2px -1px #aaaaaa; box-shadow: inset 0px 1px 2px -1px #aaaaaa; float: left; height: 20px; border-right: 0; font-size: 14px; padding: 2px; color: gray; width: 560px; } .autogen_class_views_newdoc_embed_dialog .toggle_options { display: block; margin: 8px 0px; font-weight: bold; font-size: 14px; } .autogen_class_views_newdoc_embed_dialog .toggle_options:hover { text-decoration: none; } .autogen_class_views_newdoc_embed_dialog .doc_preview { border-top: 1px dashed #A6A9AD; margin-top: 12px; } .autogen_class_views_newdoc_embed_dialog .embed_options .preview_buttons= { text-align: right; } .autogen_class_views_newdoc_embed_dialog .embed_options .size_picker { float: left; border-right: 1px solid #CEDFEA; margin-right: 8px; padding-right: 6px; } .autogen_class_views_newdoc_embed_dialog .embed_options .size_picker li = { float: left; padding: 1px; padding: 8px; margin-right: 2px; } .autogen_class_views_newdoc_embed_dialog .embed_options .size_picker li.= active { background: #FBFFDF; border: 1px solid #B0B6BA; padding: 7px; } .autogen_class_views_newdoc_embed_dialog .embed_options .size_picker .th= umb { background: #CBD1D7; border: 1px solid #B0B5BA; margin-top: 8px; } .autogen_class_views_newdoc_embed_dialog .embed_options .size_picker .la= bel {

text-align: center; } .autogen_class_views_newdoc_embed_dialog .embed_options .custom_size { text-align: right; } .autogen_class_views_newdoc_embed_dialog .embed_options .custom_size .in= puts { margin-top: 8px; margin-left: 24px; } .autogen_class_views_newdoc_embed_dialog .embed_options .custom_size .in= put { text-align: right; } .autogen_class_views_newdoc_embed_dialog .embed_options .custom_size .cu= stom_width, .autogen_class_views_newdoc_embed_dialog .embed_options .cus= tom_size .custom_height { width: 40px; margin-bottom: 4px; } .autogen_class_views_newdoc_embed_dialog .embed_options .custom_size .un= it { color: #666; font-size: 11px; } .autogen_class_views_newdoc_embed_dialog .embed_options .custom_size .ct= rl { float: left; margin-top: 22px; } .autogen_class_views_newdoc_embed_dialog .embed_options .custom_size .lo= ck_button { width: 19px; height: 20px; display: inline-block; cursor: pointer; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAA= nCAYAAADtu3N3AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9= tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmV= zb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHh= tcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODA4Mzk= 5NDVCQjI3QTZCOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1NDBGMDI3QTMzMjIxMUU= xQjAxOTlFN0EzRjYwOTlGMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1NDBGMDI3OTM= zMjIxMUUxQjAxOTlFN0EzRjYwOTlGMyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3N= ob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmN= lSUQ9InhtcC5paWQ6QjYyMDg4MjgyQzIwNjgxMThDMTQ4RTQxNkEyQUZDNDIiIHN0UmVmOmR= vY3VtZW50SUQ9InhtcC5kaWQ6MDc4MDExNzQwNzIwNjgxMTgwODM5OTQ1QkIyN0E2QjgiLz4= gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCB= lbmQ9InIiPz7BKCO5AAABGklEQVRIx2P4//8/A7Uww6hhDLGpWfxAPB+I/wDxfyBeB8QSZBk= Wn56zAWRIRX3zxdrm9lNxadm/gfgcyYaBXAXU+Leps+cwkO8NxG69k6dtgbpQhSTDSqrrlUE= aO/om9cPEuiZMrgW7tK7ZgyTDgIZogjTWtnQ0w8Qa2rqKQWJtPf0BRBsGDfj/BDA/UYZ1T5w= qSsgwkJpRw2hkGBCzAXEeAcw2WgSNGjaoDYMWS0uB+CcQPwfiBLINS8jIXZSYmfdx5ryF+1q= 6+k5Bs5UlWYaBDJo1f9F2INsBiANziite55VWTSDXsO/A4roHxq9v6zpV09y+nJhiG1+J8QG= qLgSI3SkyDORCkmJz1DDSDQPidjy4frTUoJ5hAN0oIaaXGg+/AAAAAElFTkSuQmCC') 0 0 =

no-repeat; } .autogen_class_views_newdoc_embed_dialog .embed_options .custom_size .lo= ck_button.unlocked { background-position: 0 -19px; } .autogen_class_views_newdoc_embed_dialog .embed_options .misc_options la= bel.column { width: 120px; float: left; text-align: right; } .autogen_class_views_newdoc_embed_dialog .embed_options .misc_options .s= tarting_page { width: 40px; } .autogen_class_views_newdoc_embed_dialog .embed_options .misc_options se= lect, .autogen_class_views_newdoc_embed_dialog .embed_options .misc_opti= ons .input { font-size: 11px; margin-left: 4px; } .autogen_class_views_newdoc_embed_dialog .embed_options .misc_options .r= ow { margin-bottom: 8px; } .autogen_class_views_newdoc_embed_dialog label { margin-top: 3px; } /* app/views/newdoc/events/_ribbon_event.css @ 1348517526 */ .autogen_class_views_newdoc_events_ribbon_event .ribbon { color: white; margin: 0px -10px 18px 0px; } .autogen_class_views_newdoc_events_ribbon_event .ribbon a { color: #B2E3FF; } .autogen_class_views_newdoc_events_ribbon_event .ribbon a:hover { color: #ccecff; } .autogen_class_views_newdoc_events_ribbon_event .ribbon .bubble, .autoge= n_class_views_newdoc_events_ribbon_event .ribbon .msg { vertical-align: middle; } .autogen_class_views_newdoc_events_ribbon_event .ribbon .user_thumb { display: inline-block; zoom: 1; *display: inline; vertical-align: middle; } .autogen_class_views_newdoc_events_ribbon_event .ribbon .user_thumb .fee= d_thumbnail { margin-right: 4px; } .autogen_class_views_newdoc_events_ribbon_event .ribbon .user_thumb .fee= d_thumbnail a { border: 1px solid #00598B; } .autogen_class_views_newdoc_events_ribbon_event .ribbon .msg { font-family: Athelas, serif;

text-shadow: 1px 1px 1px #0F5D8A; font-size: 19px; } .autogen_class_views_newdoc_events_ribbon_event .ribbon .bubble { font-family: sans-serif; font-style: normal; background: #1276AF; border-top: 1px solid #4BA1D3; border-bottom: 1px solid #3163A3; border-radius: 8px; padding: 3px 6px; font-size: 11px; margin-right: 8px; } .autogen_class_views_newdoc_events_ribbon_event .ribbon .logo { float: left; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADEAAAA= wCAYAAAC4wJK5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8= wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB= 4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkl= uc3RhbmNlSUQ9InhtcC5paWQ6QzI4M0QxNUI1RjFCMTFFMUEzMjhCNEJEMEFDRTg1MjIiIHh= tcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzI4M0QxNUM1RjFCMTFFMUEzMjhCNEJEMEFDRTg= 1MjIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDMjg= zRDE1OTVGMUIxMUUxQTMyOEI0QkQwQUNFODUyMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmR= pZDpDMjgzRDE1QTVGMUIxMUUxQTMyOEI0QkQwQUNFODUyMiIvPiA8L3JkZjpEZXNjcmlwdGl= vbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvUeZGQAAAP= HSURBVGje1VnLbhNBENwPQCIHEq7ZxwfwI5EBcUCCP+CEgAMSIQ87jh2IzQmJIyBxJiYPJ05= CjEPAIUHABf5m6JrdtdaOd93z8Fo5tBRP7J2pnZ7q6honePVT2Az/ZZfiuwyv8kX4L056n4P= 6ubA9H8IxX/Q34a0cCnepKWbnN8Tss4/Z8fyTcJd3CWBbBLUfdkFcv1+Skfxn6ti9ovBW28J= d2JILu1Z4KCO5WO7Y9O3HYubuPG/elLEeiJsf/slIfmnYWOHdbzH35rhvIXOvj2SYjOGF+Gt= fldYSjymlk1c+HJ0uhuGtHCifHTYIr7Q/dgBx4MxYB+GVj3ID0LcjtkCAGvMGEIekZRsgsLV= KqbC4LVMPFIo6IYMo2Cu1iF431XaDnmMOonbKX/zSDuvNARD7mcRYxiDwFnlvf4e+z2MUt9j= i7wbtnDkIJiP5ayd8mqYDq5KaxiDc5T3WZCryAVqKfSbKn22A2LXKIkrPJY0V1M8sgGDmr1v= cUxNtVJGzno008te7duoEtlOJDhXlgpTrJCTx25ia/WrHrhSHIFOqEQubktG4TJVTP3FOudl= Qr7aUz9hFlZQYa1PkrZrpJhQsaC8UzomBwG4gX62oU6rqOANB7WwC7Sm9ReS7Xbnd7DVB+fX= YVNBs7chguukwkr5RQBQadncb9sFIAdnNz+0A66DAWe8hyC3xq8f5WjYAI0XifMNuVwc7J0/= fKWYwf+040kR2Ug1CMWcQyXNzJqu2NNNMgFCR5coYZ6zVlBhNmmyarIZCO3kQA3an6u64i1u= W3I5qlOukh5JGgK6MkE1R9CxWw8XoKfSbIqJDVRZJOucs85nZcDmmhpmudPBKByOKXzOs5Iz= D7aQdSDZVoo3UAZHipIRd3al5nfAqHTVOX1c/H8O6Rp3uMB2EYg+hDuK8d7eRaSJDq8n2tSW= 9rbT2NWUn2gp6p6FxHvYvkMSg7QMFkMZiMuUSB94xNpFpAfCnMGlmKshK3r6wA8P8JdSUkWe= SXl6cAanspFtlsUj8FpZMmAbbsmhl02i/BOc2YJgjEwTrbViKpDsCZaySBaMtm2pn/CCihej= ehzBlR4ddXbV3Iikt6G9uBsTaymF3ciPy2qh3GOjmuM55aNQp3mOjCE7feqR9Z502NnPn6cC= 8RbrffpL5W5CG9j02Phfe/gp77CjNtO6xQc30jML7Pynz/g2LbnRF1rvvhoqudPTvsYe2pSS= tMRnoTtJySr+NdMSipb2pcCkTn5MsNevkafyOzca8OjUVUDygqF/WAIgrEZAblzX+A7gBbze= XF8sRAAAAAElFTkSuQmCC') 0 0 no-repeat; width: 49px; height: 48px; } .autogen_class_views_newdoc_events_ribbon_event .ribbon .tail { float: right; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAA= wCAYAAADgvwGgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1=

wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8= wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB= 4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkl= uc3RhbmNlSUQ9InhtcC5paWQ6QzI4NjgxQzg1RjFCMTFFMUEzMjhCNEJEMEFDRTg1MjIiIHh= tcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzI4NjgxQzk1RjFCMTFFMUEzMjhCNEJEMEFDRTg= 1MjIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDMjg= zRDE2MTVGMUIxMUUxQTMyOEI0QkQwQUNFODUyMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmR= pZDpDMjgzRDE2MjVGMUIxMUUxQTMyOEI0QkQwQUNFODUyMiIvPiA8L3JkZjpEZXNjcmlwdGl= vbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsP6NEQAAAM= xSURBVFjDtZh7SFNRHMenM3u3zb10c3PzlmVZmWmWSSjRQjCxFypFVFiGWpRhD3sYprUym0V= Y5B89kDSEIiwpJXsIiWUF4h/+UVBQQRRJFJKp1fdu56LN193dOX98/th5fbh353fO73dl08t= f/WWJtfBepUKpDAL+MpYic3ZFGyQ7wWIw9T+ZfmOxEylt7piyzn+E4CrIBGFDniz1RqcTKW1= uT/RJodZchyALzALjgYz6azTvqvwMURUWzwZzBBF1WUjetS9Krb6a/E8RYIIgoiqz7Kv+ptQ= bbmLR3WAemDhYRE1mOVDbBVEtFtwLFoBJ7iIqMuuh299VRsstLJYPFhKRD3WZ9ejdHyoTdwc= L7QcxYPJIIq9k1mP1P1UhYXVYpADE8kE7mkiyLLToQXcAF1GPBQ6DOEGEPhlVWWhJ06+AGfP= vY3IhiAfTBBFVGXfySY86PKYRE4vAMqAcLKIm4+xPf2si4powqRgkApW7iIqMO/2sVxOZ8Bg= TToDlIGA4kdcyrrSlTxu9ohmD7cAG1MB3OJFXMu5Ma79uSXILBpaCJKAdTSRddvZFvy5+TSs= GlYFkoBtLJE0GkT4xg79lHSAFBAL5WCLPZY6XfwJtm1+j8xxIJfmDKJHHssCkzHZ0XABrgRH= 4iRV5JAtKye1AYwVYD4I9FYmWGdbld6LhIkgHZikiUTJjxpE3+HEZbAAWqSJRMtM2x1tyy4a= DcVJFol8jrvZ2nOaxJHfwYSpzXh/HG99po20J6JgiVejR1sc18hVxxu9GhRShxycIDt9u7M4= ccujKmcqclD3vDd5iLyEniB9bmZBO5166goEhYnep15enJb+6QWUwOwsE5jJXjljXrp4ZFSU= koUxlrhSu4b0ufrVtcOrGTOZKfJq7cDOkD5dZUZcJoWFMK9hD0gQ5U5nrNm/rC956yu4eGmx= kA5VmFQkNf+YyVyFY80gIDeYyUj51aObGLWJWnw0JjeKHH3RLU1eOVD5R/w7Ch0bQqpxNpBb= wHVFG6zsIDvEeY9rBPJLYypm8RvfQMG138EmugQ8NtrKB0KghSZS/jKTYrOCDfgeI5ot7Xhb= JmNlAzz/ZP2zAwgScmvtyAAAAAElFTkSuQmCC') 0 0 no-repeat; width: 27px; height: 48px; } .autogen_class_views_newdoc_events_ribbon_event .ribbon .inner { padding-left: 8px; height: 48px; line-height: 44px; margin: 0px 27px 0px 49px; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAA= wCAYAAAAo0+t2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8= wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB= 4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkl= uc3RhbmNlSUQ9InhtcC5paWQ6QzI4M0QxNUY1RjFCMTFFMUEzMjhCNEJEMEFDRTg1MjIiIHh= tcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzI4M0QxNjA1RjFCMTFFMUEzMjhCNEJEMEFDRTg= 1MjIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDMjg= zRDE1RDVGMUIxMUUxQTMyOEI0QkQwQUNFODUyMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmR= pZDpDMjgzRDE1RTVGMUIxMUUxQTMyOEI0QkQwQUNFODUyMiIvPiA8L3JkZjpEZXNjcmlwdGl= vbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjoZiwIAAAB= ASURBVDiNY1CZcO4/MZiBLIXiMS1gjE0MRWHAshtgjE2MPKtHFY4qHFU4qnBU4QhQOFjrGX4= BgX5iMEihATEYAOxliTOidv+oAAAAAElFTkSuQmCC') 0 0 repeat-x; } /* app/views/newdoc/paginated/_collection_widgets.css @ 1348517526 */ .autogen_class_views_newdoc_paginated_collection_widgets .paginated_docu=

ment_collection { zoom: 1; position: relative; margin-top: 20px; margin-bottom: 20px; min-height: 350px; } .autogen_class_views_newdoc_paginated_collection_widgets .paginated_docu= ment_collection h2 { text-align: left; font-family: Athelas, serif; font-size: 18pt; color: #023040; } .autogen_class_views_newdoc_paginated_collection_widgets .paginated_docu= ment_collection .document_list { padding-left: 10px; } .autogen_class_views_newdoc_paginated_collection_widgets .paginated_docu= ment_collection .paginated_featured_doc { float: left; width: 210px; zoom: 1 !important; text-align: center; margin-top: 20px; margin-bottom: 2px; } .autogen_class_views_newdoc_paginated_collection_widgets .paginated_docu= ment_collection .paginated_featured_doc .paginated_featured_doc_info { margin-top: 6px; text-align: left; font-family: Arial, sans-serif; } .autogen_class_views_newdoc_paginated_collection_widgets .paginated_docu= ment_collection .paginated_featured_doc .paginated_featured_doc_title { margin-top: 6px; word-wrap: break-word; font-family: Athelas, serif; font-size: 18px; color: #023040; } .autogen_class_views_newdoc_paginated_collection_widgets .paginated_docu= ment_collection .paginated_featured_doc .paginated_featured_doc_user { margin-top: 6px; font-size: 12px; } .autogen_class_views_newdoc_paginated_collection_widgets .paginated_docu= ment_collection .paginated_featured_doc .paginated_featured_doc_user a, = .autogen_class_views_newdoc_paginated_collection_widgets .paginated_docu= ment_collection .paginated_featured_doc .paginated_featured_doc_user a:h= over, .autogen_class_views_newdoc_paginated_collection_widgets .paginate= d_document_collection .paginated_featured_doc .paginated_featured_doc_us= er a:active, .autogen_class_views_newdoc_paginated_collection_widgets .p= aginated_document_collection .paginated_featured_doc .paginated_featured= _doc_user a:visited { text-decoration: none; color: #146c88 !important; } .autogen_class_views_newdoc_paginated_collection_widgets .paginated_docu= ment_collection .paginated_featured_doc .paginated_featured_doc_views {

margin-top: 6px; font-size: 12px; color: #666666; } .autogen_class_views_newdoc_paginated_collection_widgets .paginated_docu= ment_collection .paginated_featured_doc .medium_thumbnail a { border: none; } .autogen_class_views_newdoc_paginated_collection_widgets .paginated_docu= ment_collection .paginated_featured_doc .medium_thumbnail_shadow .thumbn= ail { padding: 1px; } .autogen_class_views_newdoc_paginated_collection_widgets .paginated_docu= ment_collection .page_footer { -moz-user-select: -moz-none; -webkit-user-select: none; user-select: none; position: absolute; top: 10px; right: 16px; color: #666666; } .autogen_class_views_newdoc_paginated_collection_widgets .paginated_docu= ment_collection .page_footer span { font-family: Arial, sans-serif; font-size: 12px; color: #146c88; } /* app/views/newdoc/paginated/_paddles.css @ 1348517526 */ .paddles .paddle { position: absolute; cursor: pointer; z-index: 2996; width: 72px; height: 72px; -moz-user-select: -moz-none; -webkit-user-select: none; user-select: none; opacity: 0.8; filter: alpha(opacity=3D80); } .paddles .paddle:hover { opacity: 1; filter: alpha(opacity=3D100); } .paddles .paddle.disabled { display: none; cursor: default; } .paddles .paddle_left { left: 0px; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAAB= ICAYAAABV7bNHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB=

4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU0= 6SW5zdGFuY2VJRD0ieG1wLmlpZDoxN0JGNTYxMEMyNTgxMUUxOTlERkExQ0M4QTI3NTVDOCI= geG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxN0JGNTYxMUMyNTgxMUUxOTlERkExQ0M4QTI= 3NTVDOCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE= 3QkY1NjBFQzI1ODExRTE5OURGQTFDQzhBMjc1NUM4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXA= uZGlkOjE3QkY1NjBGQzI1ODExRTE5OURGQTFDQzhBMjc1NUM4Ii8+IDwvcmRmOkRlc2NyaXB= 0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+mEbm3wA= AAkZJREFUeNrs3L9qwkAcB/DYpq3a/xQHp8zi5Bs4iIuTDg76AL6BoIs+hYO7WUTcXHR3cBN= fQHANBWltakztXWlBS6LVNpf80u8XbnAR/Jjcfc9TA5IkKRKymSUbj2zo/MEpG3cw2Qo3uWL= D5FgyPGzzwMbqBA47cw+g3TkH0J4ACEAAAhCAAAQgAAEIARCAAAQgANklGo0GEonEKYAskk6= n5fF4fB+LxTx3RctewOl2u7fhcDiAW+xbarVa0Ms4rl5BHKder195fZJ2BajT6VzmcrkQhVV= MOFC/379OpVIXVJZ5YUB8GWc4N/F4/IxSD5JF4QyHw1tFUcgdVDq+in11HIo4PHx5VZzEOWQ= ZHwwGr7PZzDxybjNUVTXI3GJ8GS+Xy5eHdJxfTt4LMkBUOo4rQJQ6jnAgah1HGBDVjiMEiHL= HEdKDstnsuV9x/gSo0Wi8lUolE0D2MZrN5nM+nzfn8zmAbLJst9tPbAUz/Ib0l3sxYzQafSB= NJpM1gKxjcqRkMrn0C5ITu3lT07QPpF6v90YdyMndPH/uUKvVChYKhR+9EWz3v2KF89gr71X= 6/PkAid08C3+hi2KxuJ5Op6FKpbIXKRKJPPO5zO+32Pe8VKvVBdWuJOpcTKfalUQeHJLsSqJ= PVsl1JTeOnkl1JbfO5sl0JTe/vLDmSJlMRldV1bNIbn+Os9WV/luTPjRBNlafA1eQVVfCHIQ= mDSAAIQACEIAABCAAAQhACIAA9OssAbQ7jwCyj8aGjj95s7itpI2/CXwXYAC51eKXjiv5fAA= AAABJRU5ErkJggg=3D=3D') 0 0 no-repeat; } .paddles .paddle_left:hover { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= EgAAABICAYAAABV7bNHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA= yRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iV= zVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6b= nM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgM= jAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwO= i8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwd= GlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xL= jAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sb= nM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZ= iMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIge= G1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxN0JGNTYwQ0MyNTgxMUUxOTlERkExQ0M4QTI3N= TVDOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxN0JGNTYwREMyNTgxMUUxOTlERkExQ= 0M4QTI3NTVDOCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAua= WlkOjI5NDgyQ0Y1QzIyNTExRTE5OURGQTFDQzhBMjc1NUM4IiBzdFJlZjpkb2N1bWVudElEP= SJ4bXAuZGlkOjI5NDgyQ0Y2QzIyNTExRTE5OURGQTFDQzhBMjc1NUM4Ii8+IDwvcmRmOkRlc= 2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+6= d+CigAAAlVJREFUeNrs3LFLAlEcB/CrrEGIBkFICLcoIcKxpgNFB3GQINGpzb/AQRf9Jxxya= lHhBkcXdYmwwYQEabghhItyuYgLoiii96ChxLOsfHc/+37hEQ4RfLj33vf1DuckSTqUkI/R2= FDYUPmHBTaiMPmUFTZ22dDZuHLAwzQHHGkeDmOzD6DxWQPQFwEQgAAEIAABCEAAAhACIAABC= EAAMovH41ny+/3LABqRcDjs6na7ez6fz3ZADjvgVKvVqNPpXMIUG0o+n1+3M46lTxDHyeVys= t0XaUuA2FOzE4vFtijsYsKBGo2GHAgE1qls88KA+DZer9fDbKdapdSDHKJwWq1W1Ov1ulAUT= ToORRyeOWmKLy9M2nGazaaqadr9D9e2m1KpdE1mivFtPJ1O707ScX65eHfIAFHpOJYAUeo4w= oGodRxhQFQ7jhAgyh1HSA9i6413VnH+BKhQKNynUqk7AJlnUCwWT+Px+K1hGK8AGh1NUZSTY= DA4mDWkvzyLDdrt9jFH6vV6zwAaHYMjybJ8OStI0zjNG7qutzhSrVZ7pA40zdP8Ihvb5XJ5I= 5FIOL/zC6FQSGeF8+mHf099HzRO8yx8ip0lk8mXfr+/mclkvrzzcrvdp+zH9axPseGcZ7PZD= tWuJOpeTKXalUReHJLsSqJvVsl1JSuunkl1Javu5sl0JStfXnjmSJFI5KJSqTzYFcjq118+d= aX/1qQnDf9ftv4+8ASZHBWwBqFJAwhACIAABCAAAQhAAAIQAiAA/S4agMZHAZB5jthQ8SVvI= 6aV9OFrAt8EGAB23ufbE5bllQAAAABJRU5ErkJggg=3D=3D'); } .paddles .paddle_left:active { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= EgAAABICAYAAABV7bNHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA= yRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iV= zVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6b= nM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgM= jAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwO=

i8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwd= GlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xL= jAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sb= nM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZ= iMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIge= G1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFNTE2NjFDREMyNjExMUUxOTlERkExQ0M4QTI3N= TVDOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFNTE2NjFDRUMyNjExMUUxOTlERkExQ= 0M4QTI3NTVDOCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAua= WlkOkU1MTY2MUNCQzI2MTExRTE5OURGQTFDQzhBMjc1NUM4IiBzdFJlZjpkb2N1bWVudElEP= SJ4bXAuZGlkOkU1MTY2MUNDQzI2MTExRTE5OURGQTFDQzhBMjc1NUM4Ii8+IDwvcmRmOkRlc= 2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+p= +WvlQAAAlRJREFUeNrs3LFLAlEcB/CrrEGIhkBICLcoIcKxpgNFB3GQINGpzb/AQRf9Jxxya= lHhBkcXdYmwwYQEabghhItyuYgTojCi96ChwrOsfHc/+37hEQ4RfLj33vf1DuckSTqSkPfR2= FDYUPmHBTYiMPmQFTb22NDZuHbAwzSHHGkeDmNzAKDxWQfQFwEQgAAEIAABCEAAAhACIAABC= EAAAhCAphO3273k8/mWATQioVBotdPp7Hu9XtsBOeyAU6lUIk6ncwlT7FNyudyGnXEsfYI4T= jable2+SFsCxJ6a3Wg0uk1hFxMOVK/XZb/fv0FlmxcGxLfxWq0WYjvVGqUe5BCF02w2Ix6PZ= xVF0aTjUMThmZOm+PrLpB2n0WiomqYNfri23RaLxRsyU4xv46lUam+SjvPLxbtNBohKx7EEi= FLHEQ5EreMIA6LacYQAUe44QnoQW288s4rzJ0D5fH6QTCbvAWSefqFQOIvFYneGYbwAaHQ0R= VFOA4FAf9aQ/vIs1m+1WiccqdvtDgE0OgZHkmX5alaQpnGaN3Rdb3KkarX6SB1omqf5RTZ2S= qXSZjwed37nF4LBoM4K59MP/576Nmic5ln4FDtPJBLPvV5vK51Of3nn5XK5ztiPm1mfYp9zk= clk2lS7kqh7MZVqVxJ5cUiyK4m+WSXXlay4eibVlay6myfTlax8eWHIkcLh8GW5XH6wK5DVr= 7986Er/rUlPGv6/bP1t4AkyOSpgDUKTBhCAEAABCEAAAhCAAAQgRAPQ+CgAMs8xGyq+5G3Et= JLefU3gqwADAJZK59sjM+vXAAAAAElFTkSuQmCC'); } .paddles .paddle_right { right: 0px; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAAB= ICAYAAABV7bNHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB= 4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU0= 6SW5zdGFuY2VJRD0ieG1wLmlpZDoxN0JGNTYxNEMyNTgxMUUxOTlERkExQ0M4QTI3NTVDOCI= geG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxN0JGNTYxNUMyNTgxMUUxOTlERkExQ0M4QTI= 3NTVDOCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE= 3QkY1NjEyQzI1ODExRTE5OURGQTFDQzhBMjc1NUM4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXA= uZGlkOjE3QkY1NjEzQzI1ODExRTE5OURGQTFDQzhBMjc1NUM4Ii8+IDwvcmRmOkRlc2NyaXB= 0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Pd4jKgA= AAnRJREFUeNrs3L+K4kAABvDExP2T9fDktBAEaxEL38DC2GupjYVg4RvYqJXgI9jY2YjYWeg= DWNiJle9gcZLVPXfVm2HD7eGuWdfNxMzwfTDIgrrLLzPJlyGsLL3ljowAGTcS8i+y+eoj4xc= 43sdjzhzgWAAFwGANhHPOJ0AIgAAEIAABCEAAAhACIAABCEAA4ikKGT/d9Aclk0lFlmXJMAz= MoI8Si8U8s9kskMlkVACdSDAY9AwGA78bkFx7DtI0TaZItVrtDkAWSPV63XdNJC6uYhSp3+8= /AMgiuVzufjwe/wCQRdLp9O18PveHw2EZQCcSj8e9k8nEMSQum3Q0GlWd6kr0KETt/tJ8Pu/= Vdd17yWcjkYhCl9I5712v14dsNvt7NBq9cAXU6XS0YrGoOTGbKFKr1XpsNBpPWGJX6ErC3M2= z6kpCbXew6ErC7QfZ3ZWE3DCzsysJu6NIuxKpAN9+9kkVFahcLu/a7fYeQEdZrVZSqVTa9Xq= 9R/LjM4COcMhJ+nk6na7twBHqHESuXAcTx7ALR5gZRHFSqdR2uVzSmbNDD/ovw+Fwb+IYduM= wu1mVXh9Ov73kg7quy+Tu/KyZ3e1294VCgd6kbsg4sDgArJbYkzm+nFAoRLdJ/J+9r9ls7qv= V6sbEYRYuz0Fmx9lcehCEBTrqOFsnfqfKE47dHUeYqxirjiPEDGLZcbifQaw7DtczyImOc05= c9wBVIpFQFovFTaVSYd5xrtmkvzurVSc6Dq9L7MUcrgge4gQQgAAEIAABCEAAQgAEIAAByJV= AWzCcDt0wo1sLPlBYA9H9Xg0cHwNJ5jL7I73+uy4FLG/5K8AAr6rgFoY9PccAAAAASUVORK5= CYII=3D') 100% 0 no-repeat; } .paddles .paddle_right:hover { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= EgAAABICAYAAABV7bNHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA=

yRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iV= zVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6b= nM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgM= jAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwO= i8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwd= GlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xL= jAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sb= nM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZ= iMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIge= G1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyOTQ4MkNGM0MyMjUxMUUxOTlERkExQ0M4QTI3N= TVDOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyOTQ4MkNGNEMyMjUxMUUxOTlERkExQ= 0M4QTI3NTVDOCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAua= WlkOjI5NDgyQ0YxQzIyNTExRTE5OURGQTFDQzhBMjc1NUM4IiBzdFJlZjpkb2N1bWVudElEP= SJ4bXAuZGlkOjI5NDgyQ0YyQzIyNTExRTE5OURGQTFDQzhBMjc1NUM4Ii8+IDwvcmRmOkRlc= 2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+H= +pK6gAAAnRJREFUeNrs3L9LAlEAB/DrBwWCNChCB+LmIARJU00HKi41aNCgi4v4P7jo5uBfk= Iuj4OASCIpTw0EYlKAUDi01uByIgURB9B5eP7C8Su+d9x7fLzy8wEw+vnd+7yWuSJ/xk3FCh= ldCPrKi3+6TkQLH96zqMwc4BkAnYDAGwjnnFyAEQAACEIAABCAAAQgBEIAABCAAAWiBBINBp= yzLGwCakUAg4Ox0OsfRaNQFoBlxu93OWq12ZAck256DHA7HBkXK5/N+ABkg5XI5ZZlIXLyLU= SQym/YBZJBYLLbTarUUABkkFAr5e73ekZU1gLuiSGrAtqqqliFx2aR9Pp/Lqq5E/zd/avaDJ= pNJORwOb8/zu16v10mX0l/uOx6Pn+Px+Fmj0dC4AiqXy3upVGrPitlEkYrFokqqQB9LbAldS= ZireVZdSajtDhZdSbj9ILO7kpAbZmZ2JWF3FGlXIkvOt+jjrIsKlMlkhqVS6RFAUxmNRq/pd= HpYrVYvyI8DAE3hkAY/aLfbl2bgCHUO6na7LzrOuVk4wswgiqMoyp2maVd0IqEHfUm9Xn/Sc= VSzcZhdrEqTD6fPdW0UiUQ2m83mn7YxKpXKOJFI3JLDDhkvLF4AVkusr49/x+PxyOTm8Lf7F= QqFx2w2e0MOr1nOUC7PQXrHuZ73RRAWaKrj3FvxN9d5wjG74wjzLsaq4wgxg1h2HO5nEOuOw= /UMsqLjcDuDaMchOF1yeLlMHJZNepG49NG3w5Ox4xLT9GGL4EOcAAIQgAAEIAABCEAIgAAEI= ADZEugeDLOzJk02wQ9AMRvoff9lFxw/A9E8SJMdPPp1XVtg+cybAAMAZh7lu5MGLAMAAAAAS= UVORK5CYII=3D'); } .paddles .paddle_right:active { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= EgAAABICAYAAABV7bNHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA= yRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iV= zVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6b= nM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgM= jAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwO= i8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwd= GlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xL= jAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sb= nM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZ= iMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIge= G1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFNTE2NjFDOUMyNjExMUUxOTlERkExQ0M4QTI3N= TVDOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFNTE2NjFDQUMyNjExMUUxOTlERkExQ= 0M4QTI3NTVDOCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAua= WlkOjE3QkY1NjE2QzI1ODExRTE5OURGQTFDQzhBMjc1NUM4IiBzdFJlZjpkb2N1bWVudElEP= SJ4bXAuZGlkOkU1MTY2MUM4QzI2MTExRTE5OURGQTFDQzhBMjc1NUM4Ii8+IDwvcmRmOkRlc= 2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+V= LU9UgAAAnRJREFUeNrs3L9LAlEAB/DrBwWCNChCB+LmIARJk00HKi41aNCgi4v4P7jo5uBfk= Iuj4OASCIpTw0EYpKAUDi01tByEgURB9B5eP7C8zO6d9x7fLzy8wEw+vnd+72GuSJ/xk3FMh= ldCPrKi34bISIPje1b1mQMcA6BjMBgD4ZzzCxACIAABCEAAAhCAAIQACEAAAhCAAAQgAC0tw= WDQKcvyBoBmJBAIOHu93lEsFnMBaEbcbrezXq8f2gHJtucgh8OxQZEKhYIfQAZI+XxeWSYSF= +9iFInMphCADBKPx3fa7bYCIIOEw2H/YDA4tLIGcFcUSQ3YVlXVMiQum7TP53NZ1ZXopztOz= H7QVColRyKR7UV+1+v1OulSmue+4/H4OZFInDabTY0roEqlspdOp/esmE0UqVQqqaQKDLHEl= tCVhLmaZ9WVhNruYNGVhNsPMrsrCblhZmZXEnZHkXYlsuR8/32cdVGBstnsQ7lcfgTQVEaj0= Wsmk3mo1Wrn5Md7AE3hkAZ/3+l0LszAEeoc1O/3X3ScM7NwhJlBFEdRlBtN0y7pREIP+pJGo= /Gk46hm4zC7WJUm/96w0LVRNBrdbLVac21jVKvVcTKZvCaHPTJeWLwArJbYUB9/jsfjkcnNw= W/3KxaLj7lc7oocdlnOUC7PQXrH6S76IggLNNVxbq34m+s84ZjdcYR5F2PVcYSYQSw7Dvczi= HXH4XoGWdFxuJ1BtOMQnD45vFgmDssm/Z+49DG0w5Ox4xLT9GGL4EOcAAIQgAAEIAABCEAIg= ADECOgWDLOzJk22MPdBMRvo/ep5Fxw/A9HcSZP9F/p1XVtg+cybAAMAQ5fluym3yDcAAAAAS= UVORK5CYII=3D'); }

.paddles .hotspot { position: absolute; cursor: pointer; z-index: 2996; bottom: 0px; width: 72px; -moz-user-select: -moz-none; -webkit-user-select: none; user-select: none; } .paddles .hotspot.disabled { display: none; cursor: default; } .paddles .hotspot_left { left: 0px; } .paddles .hotspot_right { right: 0px; } /* app/views/newdoc/paginated/_page_numbers.css @ 1348517526 */ .page_numbers { padding: 4px 6px 5px 6px; text-align: center; margin-top: 8px; -moz-user-select: -moz-none; -webkit-user-select: none; user-select: none; } .page_numbers .pages li { cursor: pointer; font-size: 14px; padding: 3px 4px; display: inline; font-weight: bold; color: #008fff; } .page_numbers .pages li:hover, .page_numbers .pages li.hover { background: #008fff; color: white; border-radius: 2px; text-shadow: -1px -1px 0px #0072cc; border-bottom: 1px solid #0072cc; } .page_numbers .pages li:active { position: relative; top: 1px; } .page_numbers .pages li.current { color: #363636; } .page_numbers .pages li.current:hover { color: #008fff; background: #eef2f4; text-shadow: none; border: 0; } /* app/views/newdoc/paginated/_scrubber.css @ 1348517526 */ .autogen_class_views_newdoc_paginated_scrubber {

position: relative; height: 44px; bottom: 53px; z-index: 2997; font: 9pt Arial, Helvetica, sans-serif; font-weight: bold; color: white; text-shadow: 1px 1px 1px black; opacity: 0.3; filter: alpha(opacity=3D30); -moz-user-select: -moz-none; -webkit-user-select: none; user-select: none; } .autogen_class_views_newdoc_paginated_scrubber.sectionized .show_section= s { display: block; } .autogen_class_views_newdoc_paginated_scrubber.sectionized .slider { margin-left: 44px; } .autogen_class_views_newdoc_paginated_scrubber.sectionized .slider_toolt= ip { width: 150px; left: -53px; } .autogen_class_views_newdoc_paginated_scrubber:hover { opacity: 0.9; filter: alpha(opacity=3D90); } .autogen_class_views_newdoc_paginated_scrubber.input_focused { opacity: 0.9; filter: alpha(opacity=3D90); } .autogen_class_views_newdoc_paginated_scrubber .show_sections { display: none; width: 44px; height: 44px; float: left; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAA= sCAYAAAAacYo8AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB= 4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU0= 6SW5zdGFuY2VJRD0ieG1wLmlpZDo4MzE3MEEzQzlDNzIxMUUxOTFFQkE4QjQzRkZBOUI4OCI= geG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4MzE3MEEzRDlDNzIxMUUxOTFFQkE4QjQzRkZ= BOUI4OCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjA= 5RTY2NzE5OUM1QTExRTE5MUVCQThCNDNGRkE5Qjg4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXA= uZGlkOjA5RTY2NzFBOUM1QTExRTE5MUVCQThCNDNGRkE5Qjg4Ii8+IDwvcmRmOkRlc2NyaXB= 0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+p+xtzAA= AAm9JREFUeNpi7OvpucgwBAGjsrzC1qHk4ODQEK/1a9cxsADZTEMxxEEOZxyqDmcadfiow0f= T+KjDRx0+mjkHdYh/+/6N98u3b4K/fv/m+vnzJy+yHDs7+2c2VtZvPFxc77k4uT6To57qDv/= 77y/zy9dvFMwtzAX8/f0ZDAwMGBwcHFDUHDhwgPfChQu8GzduFD954uQHkBgp6sVFRR4wMzH= /JaV1eJaQot9//8pOnDxJNCAggChDN2zYAKZJUZ+fm/ealZn5MRGtQyOiW4dFJcUiMEfs2Lb=

93e7duz5eunDx+/3793+BxAQEBZntHex5XF3d+D28PIWQHUys+ocPH4pM7p/wlJQQJ9iROHP= hvJ6AgABDSmLSvQP793/Bp9bA0JBzzfp1qiB2SGDQ7Qvnz38nRv2HDx8YTAwMLxER4npEhzj= I0eB0uX//N0LqgQ79icYmSj3UDiZaFYekFp00U09qBURqZUUz9UPa4aNJZTSp0NLhP3/9ZPv= 79x+cz8HO/ouJiekftdRT1eGfPn/m/fr9G9e37985Qe0PWPkOLo8vXGD48vnLHx5u7q/kqqd= Z5vT28xUGNZpwtUEePHjAsnDhQn5y1ZPiFlCV/4SQojsP7kuji3358uXfzRs3foPYvLx8TGr= qaqz4zHj+/PnfZ0+f/sGnXkVBkWBbBVjlS5M8BPf58+f/Sxcv/rpq5apvjx4+/IvWLGACNpj= Yyysr+Xl5eRnJUU+zNB4XHf3u8qXLf7BZAmokrVi2/OfVK1ferd+0SZgc9aS4BZRUXg6lLhs= wqYgN+dHa0V7+aIiPOnw0jY+G+KjDR9P4sA9xgAADAFkPTnB3vPGCAAAAAElFTkSuQmCC');= } .autogen_class_views_newdoc_paginated_scrubber .show_sections:hover { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAA= sCAYAAAAacYo8AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB= 4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU0= 6SW5zdGFuY2VJRD0ieG1wLmlpZDowOUU2NjcxMzlDNUExMUUxOTFFQkE4QjQzRkZBOUI4OCI= geG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowOUU2NjcxNDlDNUExMUUxOTFFQkE4QjQzRkZ= BOUI4OCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjA= 5RTY2NzExOUM1QTExRTE5MUVCQThCNDNGRkE5Qjg4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXA= uZGlkOjA5RTY2NzEyOUM1QTExRTE5MUVCQThCNDNGRkE5Qjg4Ii8+IDwvcmRmOkRlc2NyaXB= 0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+t9gt1AA= AB5NJREFUeNrsWElzG8cV7p4FMwABElzBSBWCi8XS4shVlMyDrkkuqciXLM4pPrnyZ1z+D/b= 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 zK3NI0OAAAAAASUVORK5CYII=3D') 0 0 no-repeat; } .autogen_class_views_newdoc_paginated_scrubber .show_sections:active { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAA= sCAYAAAAacYo8AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB= 4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU0= 6SW5zdGFuY2VJRD0ieG1wLmlpZDowOUU2NjcxNzlDNUExMUUxOTFFQkE4QjQzRkZBOUI4OCI= geG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowOUU2NjcxODlDNUExMUUxOTFFQkE4QjQzRkZ= BOUI4OCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjA= 5RTY2NzE1OUM1QTExRTE5MUVCQThCNDNGRkE5Qjg4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXA= uZGlkOjA5RTY2NzE2OUM1QTExRTE5MUVCQThCNDNGRkE5Qjg4Ii8+IDwvcmRmOkRlc2NyaXB= 0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+WOzL0QA= AAhFJREFUeNrsmL9PAjEUx9vjuHPjZCA4aiIjsIgLq4weExP+C6AJ8Z8gJAz8A8Cs/AeEVSf= 4D2DXEAaR06PPluTMSQxtTy56sU0eNH3f3Pv05fVHqh+l00sUwaY/PT+/RQn4pl5PDO7ukU7= 7OIoZ11BEW2TBVakocNFSwapUFLjaVRT4r5UKAdAIIToAYGoxvw9jvKYGmqa5GsYkiH7vGQc= ax12vzWKxeNBqtfThcBijIMhvbIz5mIZpZfUgu9aMePyFZ8lk8n0wGIBoY1pZPYshwnLbaMD= p8QlQcGPJs3a7/Rmk3++7lUrFyWQyr54/lUot2RjzbUOJ6lkMERYp8Pl8vvl46aK04mkLZ4W= VB8P6onoWQwZcqMYty9r8j0Yj7iIaj8fkuz5P78UI6wCSPaxC06sD6K/fVVSp/DzjWCIrWDK= DIer1oDMGAjQIYN/dg9Cfven3Ck7WRCNA2MVJy+fzX/Zeuh+jxWLBLk0kqD60xVm9quq2baN= yufytfzqd4m63Gwuql2HBhmFw3w4dx4lvj9FsoclkAt6pl81mdwadzWZADe3Sm6b5zmO5rtX= i3tuhcGOwnU6H9Ho9QrMFft+hZeFL28bNZjOWSCQC6aXWsWkY3FmuHGczwfNCwaVZ3qnN5XL= o4fExkP7ANF0eS71W04UzLvJBrzHQMPXqeUJdslSpqIwrcFUqCvxflcqHAAMAhnIO0Me72pI= AAAAASUVORK5CYII=3D') 0 0 no-repeat; } .autogen_class_views_newdoc_paginated_scrubber .slider { position: relative; height: 44px; } .autogen_class_views_newdoc_paginated_scrubber .slider .slider_top { height: 12px; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AwAAAAMCAYAAABWdVznAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA= yRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iV= zVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6b= nM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgM= jAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwO= i8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwd= GlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xL= jAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sb= nM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZ= iMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIge= G1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2QUZGNTZBNjlDM0ExMUUxOTFFQkE4QjQzRkZBO= UI4OCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2QUZGNTZBNzlDM0ExMUUxOTFFQkE4Q= jQzRkZBOUI4OCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAua= WlkOjZBRkY1NkE0OUMzQTExRTE5MUVCQThCNDNGRkE5Qjg4IiBzdFJlZjpkb2N1bWVudElEP= SJ4bXAuZGlkOjZBRkY1NkE1OUMzQTExRTE5MUVCQThCNDNGRkE5Qjg4Ii8+IDwvcmRmOkRlc= 2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+g= jbHpAAAAClJREFUeNpi7OvpuchAAmBUllfYSooGFiBmIlUDI81tYBr1A7U1AAQYAC39A8uYf=

oPQAAAAAElFTkSuQmCC'); background-repeat: repeat-x; background-position: 0 0; } .autogen_class_views_newdoc_paginated_scrubber .slider .slider_track { position: relative; height: 10px; } .autogen_class_views_newdoc_paginated_scrubber .slider .slider_track .ha= ndle { display: hidden; height: 44px; width: 44px; cursor: pointer; position: absolute; left: 0px; top: -12px; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= CwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA= yRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iV= zVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6b= nM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgM= jAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwO= i8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwd= GlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xL= jAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sb= nM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZ= iMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIge= G1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3NTUyNDVFNzlDMzkxMUUxOTFFQkE4QjQzRkZBO= UI4OCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3NTUyNDVFODlDMzkxMUUxOTFFQkE4Q= jQzRkZBOUI4OCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAua= WlkOjc1NTI0NUU1OUMzOTExRTE5MUVCQThCNDNGRkE5Qjg4IiBzdFJlZjpkb2N1bWVudElEP= SJ4bXAuZGlkOjc1NTI0NUU2OUMzOTExRTE5MUVCQThCNDNGRkE5Qjg4Ii8+IDwvcmRmOkRlc= 2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+z= ECjSQAAA6tJREFUeNrsV01IW0EQ3heDJoHSRGKMFG0IKm09KWnFph4U8V4oeOyth9568Vho8= SRIbz0WCj2oLbTSgyDoSRAp6MmkiWmoP0VMlESjSfzLdr7lvfQZbevGvoDlDUxednZm9nuzs= 7PzFM45u0pkYVeMTMAmYBNwhckqo5zu6Dgjcy0uKnNzc7daW1ufORyOBzab7bY2l8/nw9lsd= jYajb7q6ur6mmpvP1NDnQsLcohRhy/KtGCRiZTx8XHv9vb2e5rjhUKBn5ycnGHIQdCDPuz0f= mTWF3dGOYCRSvPz892ZTCYCUEdHR39l6EEfdrCvGGBEaGho6Obu7m70+PiY07ZfmKEPO9hrk= a4EYPva2tpnLE75eYpzuRw/PDwUEcUT41Id2MEefgwHjKgMDw8HkZf7+/t8b2+vyAAICoVCf= Hp6WjxBkOv1wLCHH/iTBazIND+KojiWlpbetrS0PKLoFeVUGVgqlWJjY2MsnU7/qgBOJxsYG= GAulwsVoyi32+1seXn5Q1tb22NaP2tkHb7u8XjuHRwcMIqSYFB1dTWbmJhgkAOMxhhDjnmQZ= gM5/MCf0RfHNbfb3UTbzOjUC66qqmLxeFyAQKRLGXLMQ0+zgT38wJ+hFwd2Hz9YVJcmIg0Q0= d9eODTv9XqLO1Lqz0jAFv1lo4Gvq6v7I2DkMvQ0wHjJclsDWcCF9fX1BIHzYKtBVKpYY2Mjq= 62tFf9Lia5r5vf72ebmZnFnampqGPzAn9E5nKdyFUM0tQNENZdRqWLBYFCA1h86jCHHPPQ0G= 8zBD/wZHeHMyMjIp76+vvtICW2LqU8Qpaunp4dtbGwwlDyAamhoYHSziflihCwWcRjhB/5kA= UvXYXrcnZmZed3Z2XkH23zq7a1WkQIAhZdBitDNdkqnvr6eUT8R6u3tfUrDL7J1WBYwTktTc= 3Pzw6mpqedUmlyJROLC9lR72dbWVqq/v/9lLBb7SKJVLvnZLpXDaj+boMVmBwcH3yWTyTQih= jW1GnseYx560Icd7OHnvP74n/fDCDQqFXG3z+d7MTk5+Q2tI9VavrKywiORCA+Hw+KJMeSYh= x70YafaKxXth9VFA8RPAoHAm9HR0Qj1BztcRxhDjnnoqfrOy/TDUjms/0TCp5F6U3mIfcR+4= htqf4Dqg9O2Q/yDOE78HWmAUqZPBdlPJCsrk9RFcwR8lZ5J4qjaG9jUHSiodTajAs+VlbOXq= RLmZ74J2ARsAjYBm4BNwCZgE7AJ+D8D/FOAAQB+Jd0h2FDE2QAAAABJRU5ErkJggg=3D=3D'= ); background-repeat: no-repeat; background-position: 0 0; } .autogen_class_views_newdoc_paginated_scrubber .slider .slider_track:hov= er { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAA= sCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh=

0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB= 4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU0= 6SW5zdGFuY2VJRD0ieG1wLmlpZDo2QUZGNTY5RTlDM0ExMUUxOTFFQkE4QjQzRkZBOUI4OCI= geG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2QUZGNTY5RjlDM0ExMUUxOTFFQkE4QjQzRkZ= BOUI4OCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjc= 1NTI0NUVEOUMzOTExRTE5MUVCQThCNDNGRkE5Qjg4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXA= uZGlkOjc1NTI0NUVFOUMzOTExRTE5MUVCQThCNDNGRkE5Qjg4Ii8+IDwvcmRmOkRlc2NyaXB= 0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+I/U9PwA= AA39JREFUeNrsmEtLW0EUgCcPH4lJbNAGNxELgtIK7UJS2h8gCG2y0r/gH+hvEVwLFVyIpoW= AdCOEPtBFA4JxJz5SSBNS8/SV3J7v4g3Xmj4SvYL0DgzjzJxz5suZc8+M49A0Td2n4lT3rNj= ANrANfN+AHVJ2d3cj5XL53fn5+aEMaUalzzjzyN0KMXm4kwprMpl8VCqVNqSvNRqN31YKcsi= j1+ma+rqdKM3MzLjEa7GTk5MMQPV6/a8VOeTRQ//OgPHQ0tLS41qt9g0Q2fZ/rsijh36nnm5= bIRqN+vP5/GcWPzs7u1YvLi50MNpW88yhjx3LgfHKysrKa7b39PSULW5WACmZTEbb2dnRWwr= jZjkq+tjpxMvudj7Q6elpfyQSeSMLKqpR3G63qlQqamtrS1Wr1ea41+tVk5OTeivgzXF0sSP= 2NqRbtCytOZ3Owf7+/icsboYGOJVK6VDd3d3NSp9x5g1QKuPYwV67Wc3dpnzQ5/MN4E1THla= 5XE6H6OrquqbAOPN+v98IK30MO9izGthreMoMTBi0gjUK84FA4Iqe2Z5lwLKFTvOBY8DjvT8= BE8PIGTrGoWe2ZwmwLNooFApFic+A5FV9TFKVCgaDqq+vT//710IsDw4OqmKx2PQwPw47jRY= uv+27RPXo6CjDgkaakbyqJMWp0dFRHdr80dFnnHnkDB30sYM9q4ELq6urCWP7ja9eLjh6f2x= sTIXDYTU0NKS39CnMm7MK+tjBnqXAsmBuc3MzmU6nD/GeOaEDJduspzBilpY+42Y59NDHDvY= sBU4kEiWJ3fT8/PxbicmKpKYrMKQrMgJpj5a+eR559NDHDvYsBeaole082N/f/7C4uJiQK2O= VdAWMseWtKvPIIY8e+tjROnhjcLSrw0V8amrqYU9Pz4vh4eFXc3Nz0YmJiZDcEZTcxBTZA5u= kLmLV4/Go3t5etb29nV1YWIgL7Hv5CD+tr69/vxNgyuzsrOv4+HhAQJ5KrL4cHx9/HovFno2= MjDwIhUIeQy6bzdb29vZ+rK2tfZW4/SIh8lF+WEqO5fzy8nK9o/9wOn35wdNyRfSJR8PiyXE= BH3O5XGE5CwKX+f1CwqEo6exAQHeJWcIgHo+XtRs8Nzlu+lQFOLe4y4sMdwMvJ9jloUCeLZA= N+MC0W3gXc9hvazawDWwD28A2sA1sA9vANvB/DPxTgAEAs7267Qbql/4AAAAASUVORK5CYII= =3D') 0 0 no-repeat; } .autogen_class_views_newdoc_paginated_scrubber .slider .slider_track:act= ive { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAA= sCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB= 4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU0= 6SW5zdGFuY2VJRD0ieG1wLmlpZDo3NTUyNDVFQjlDMzkxMUUxOTFFQkE4QjQzRkZBOUI4OCI= geG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3NTUyNDVFQzlDMzkxMUUxOTFFQkE4QjQzRkZ= BOUI4OCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjc= 1NTI0NUU5OUMzOTExRTE5MUVCQThCNDNGRkE5Qjg4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXA= uZGlkOjc1NTI0NUVBOUMzOTExRTE5MUVCQThCNDNGRkE5Qjg4Ii8+IDwvcmRmOkRlc2NyaXB= 0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+mkUyTQA= AA0FJREFUeNrsl89rE0EUxyebH6ZJmrIkbewhtTkppiL1okLw5E3JQSj04J/gIRePQsF/oAf= 9AwQPniQUPaiYgwTUiyCWkJukuTTR/GjNz+ZHfd9lJozbBO22G1Fm4LHZmXlvP3n73pu3jsP= DQ/YvDYcCVsAKWAGfHrDD4Rg3rW1sbFz3+XwPer3e5YODg7NiwePx7Lrd7s+tVush7XlPU0O= z8nEddhJgLZVKxSKRyNNOp3Nt0sOFjtfr/VAqle5ubm5+lcGnBewkj93RNO1Rv99f+BMb0HW= 5XOXhcHiPdJ/T1MAKsGYhjLS1tbWLBPAYsARgPPR3gn3YDz3oW3y2JaVAPB5/MhgM5kmOgMG= TQsxr2A896MPONIC19fX1m/TwVfLWLzAUHnjlrFqtskKhYFxxj3l5H9dbhR0rDnMdc/9sLBa= 7j9cLGRkhsHa7zba3txkl4GieEo2trKwYV4CKAV3YoZ9vSfbs9PACeey87F0jA51Ols/njVd=

OZWwkuMc81kWCCS/DDuzZHRI6eVOXYxevvFarGXDwtFkwj3U5NPheHfbsDgn/uFKEMADcpIH= 1QCAwroT57QbWzMD47ff7jRCYNBDDcgidpEodF3hIydWg1xsQSUTHMQsGg2xmZsb4bR74I7q= us2azOUpUnqSNcUf1acdws16vl/BAOR6pf2DRaNSAluMX95jHuhz3WIMd2LMbuJbNZl+JeBU= AKGkYy8vLbHFxkYXDYeOKewysyyEBfdiBPbuBy7lc7t0uDXhPPhAAtb+/b5QwrOGKexkWgjX= oww7s2Q38gySXTqefdbvdNrWUR45eVARA4mo+urEfetCHHW7PVmAkSaFcLr/OZDJv6OEdVAj= R3EwSUUmwH3rQhx0rSWelvcSfnCe5EQqFbieTyVuUWCEkFrwqTkHeTholjRp5ViwWK1tbWy8= rlcoL0kU4fAPw1PphkjDJFZLE0tLS1UQicYma+TkqcWfEJorhLjXte5RgX3Z2dj7SVJbkE8l= 3q/3wib44eIt4jgT97QWSKMkcr+993tgUSfI8ZhEGjb/xxWEGn+WNjM6PW41DNXnpKvMEm+4= 3nfrMV8AKWAErYAWsgBWwAlbA/xnwTwEGAJeIrDtwkZMdAAAAAElFTkSuQmCC') 0 0 no-r= epeat; } .autogen_class_views_newdoc_paginated_scrubber .slider .slider_track .se= ction_marker { display: hidden; position: absolute; height: 10px; width: 1px; top: 0px; background-color: #8DC63F; } .autogen_class_views_newdoc_paginated_scrubber .slider .slider_track .tr= ack_center { margin: 0 18px; height: 10px; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AoAAAAKCAIAAAACUFjqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA= yRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iV= zVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6b= nM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgM= jAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwO= i8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwd= GlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xL= jAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sb= nM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZ= iMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIge= G1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowQTgyNzU1QzlDNDIxMUUxOTFFQkE4QjQzRkZBO= UI4OCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowQTgyNzU1RDlDNDIxMUUxOTFFQkE4Q= jQzRkZBOUI4OCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAua= WlkOjBBODI3NTVBOUM0MjExRTE5MUVCQThCNDNGRkE5Qjg4IiBzdFJlZjpkb2N1bWVudElEP= SJ4bXAuZGlkOjBBODI3NTVCOUM0MjExRTE5MUVCQThCNDNGRkE5Qjg4Ii8+IDwvcmRmOkRlc= 2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+o= BHTYwAAADJJREFUeNpiVFVUYsANWIAAnzQrOzs+aXb80qxs+KVZWfFIMzHgBZRJs5gYGeKRB= ggwAOsPAXRUa+wNAAAAAElFTkSuQmCC'); background-repeat: repeat-x; background-position: 0 0; } .autogen_class_views_newdoc_paginated_scrubber .slider .slider_track .tr= ack_left, .autogen_class_views_newdoc_paginated_scrubber .slider .slider= _track .track_right { width: 18px; height: 10px; } .autogen_class_views_newdoc_paginated_scrubber .slider .slider_track .tr= ack_left { float: left; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAA= KCAYAAAC5Sw6hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8=

xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB= 4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU0= 6SW5zdGFuY2VJRD0ieG1wLmlpZDpENzdBMTREQjlDM0UxMUUxOTFFQkE4QjQzRkZBOUI4OCI= geG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpENzdBMTREQzlDM0UxMUUxOTFFQkE4QjQzRkZ= BOUI4OCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ= 3N0ExNEQ5OUMzRTExRTE5MUVCQThCNDNGRkE5Qjg4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXA= uZGlkOkQ3N0ExNERBOUMzRTExRTE5MUVCQThCNDNGRkE5Qjg4Ii8+IDwvcmRmOkRlc2NyaXB= 0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+uAOGsAA= AAJ9JREFUeNqkkM0KAjEMhNsm9ocWBBcVQVjBq+//DN7WF3BvetnrCiJNawsq69EYGMLk8DE= ZuW93R8EfkFK2RXMsRjEhSmt9KNtUwwZZ57aAaN6+giQH5ENocs5iCuIkkjjTOD2wQKVcYY0= hSgk+hXFUXlLO2dtX86+OfhbFOCBi/CtRVd+fH8tmcQ3ejwBAbBBFUqeuu4tEw2a9ujwFGAC= FiyQE5mFGyAAAAABJRU5ErkJggg=3D=3D'); } .autogen_class_views_newdoc_paginated_scrubber .slider .slider_track .tr= ack_right { float: right; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAA= KCAYAAAC5Sw6hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB= 4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3R= SZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHh= tcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU0= 6SW5zdGFuY2VJRD0ieG1wLmlpZDpENzdBMTRERjlDM0UxMUUxOTFFQkE4QjQzRkZBOUI4OCI= geG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpENzdBMTRFMDlDM0UxMUUxOTFFQkE4QjQzRkZ= BOUI4OCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ= 3N0ExNEREOUMzRTExRTE5MUVCQThCNDNGRkE5Qjg4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXA= uZGlkOkQ3N0ExNERFOUMzRTExRTE5MUVCQThCNDNGRkE5Qjg4Ii8+IDwvcmRmOkRlc2NyaXB= 0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+SRwwbAA= AAKlJREFUeNqcks0KwjAQhJOsbVL8uYiK4EXB938SWw++gGBPgtWDRGPWOB7UeuwODJvJ4WN= 3E71eru4ppQu8V0qxEqoH5agTeBRC2KE+RaDM2s/ZGqLFzfuDCGR/IKWdGwNUyzrK7V+GCU7= dQVn2DWQMawiL151B7VAU7gqIEY3Wer7IMR7fqxKBiIgL5/xw0D+V5SbgTtbRfDatz03D26p= 6cGQj/ZAvAQYAxvQ3WZfLlJIAAAAASUVORK5CYII=3D'); } .autogen_class_views_newdoc_paginated_scrubber .slider .slider_bottom { padding-top: 5px; height: 22px; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AwAAAAWCAYAAAD0OH0aAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA= yRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iV= zVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6b= nM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgM= jAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwO= i8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwd= GlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xL= jAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sb= nM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZ= iMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIge= G1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpENzdBMTRENzlDM0UxMUUxOTFFQkE4QjQzRkZBO= UI4OCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpENzdBMTREODlDM0UxMUUxOTFFQkE4Q= jQzRkZBOUI4OCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAua= WlkOjZBRkY1NkE4OUMzQTExRTE5MUVCQThCNDNGRkE5Qjg4IiBzdFJlZjpkb2N1bWVudElEP=

SJ4bXAuZGlkOkQ3N0ExNEQ2OUMzRTExRTE5MUVCQThCNDNGRkE5Qjg4Ii8+IDwvcmRmOkRlc= 2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Y= VX2iQAAACNJREFUeNpiVJZXuMlAAmABYqZhoIFx1A+jwTrqB/JsAAgwADKZAbYeFdZqAAAAA= ElFTkSuQmCC'); background-repeat: repeat-x; background-position: 0 0; } .autogen_class_views_newdoc_paginated_scrubber .popup { z-index: 2998; } .autogen_class_views_newdoc_paginated_scrubber .popup .content { position: relative; background-color: #1A1A1A; padding: 8px; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; } .autogen_class_views_newdoc_paginated_scrubber .popup .point { height: 18px; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= BwAAAAOCAYAAAA8E3wEAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA= yRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iV= zVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6b= nM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgM= jAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwO= i8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwd= GlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xL= jAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sb= nM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZ= iMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIge= G1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowQTgyNzU2MDlDNDIxMUUxOTFFQkE4QjQzRkZBO= UI4OCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowQTgyNzU2MTlDNDIxMUUxOTFFQkE4Q= jQzRkZBOUI4OCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAua= WlkOjBBODI3NTVFOUM0MjExRTE5MUVCQThCNDNGRkE5Qjg4IiBzdFJlZjpkb2N1bWVudElEP= SJ4bXAuZGlkOjBBODI3NTVGOUM0MjExRTE5MUVCQThCNDNGRkE5Qjg4Ii8+IDwvcmRmOkRlc= 2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+5= eyoogAAAZRJREFUeNqslE1OwzAQhR2npaQsECC1UiUWRZyIQ3AOjoG4QTcIuAaIBSvYUPGj0= ihAobRNW9sJb9BYskpIAsXSUzyO530Zx7bn+74UQqxC61Bzu9U6llK2xT+0JEm6D73eHroh9= A5NpfM+hbx+FB0YY/rLwsiDvMiTvb+a5MBACpoppV4w8VBrPfgrjHLJg7zIk72JkdoKEx4cQ= 29IuEdCR2k9+i2MciiXPMiLPRUzhI//Jbhs+yT5aZqKSRx/BEGwg0krZWFhFJ1iOa8QdqEn/= ncxV5hYYMqir9D8RRrQOaAjQNtFUIadAXaO8Bq6g56dCo1bYR50VlSpU1kWbG5hi8CiSodZU= IadAHZRBMsC5kGngEb1INhFTo134xCwDmCXCG+KYNQqPx0jTlg4WmYMQNhsNPZpAP0jjN2iS= zvy0YXRZFwq34y9rEF3BSBawjVoA9qCNjkWbP4K0Xkb5FVWFmihVShgUB2q8Ts61BMGxe5uX= AZooRVWlWPh3FCaZYqMygLtpSCdS8LdZIl7X+a1TwEGAEjgGmn9Dg1VAAAAAElFTkSuQmCC'= ); background-repeat: no-repeat; background-position: center 0; } .autogen_class_views_newdoc_paginated_scrubber .popup .point.left_point = { background-position: 7px 0; } .autogen_class_views_newdoc_paginated_scrubber .slider_tooltip { position: absolute; bottom: 36px; width: 75px; left: -17px; } .autogen_class_views_newdoc_paginated_scrubber .slider_tooltip .page_tex=

t { white-space: nowrap; overflow: hidden; font-weight: normal; } .autogen_class_views_newdoc_paginated_scrubber .slider_tooltip .section_= text { white-space: nowrap; overflow: hidden; font-weight: normal; } .autogen_class_views_newdoc_paginated_scrubber .section_tooltip { position: absolute; bottom: 36px; width: 315px; left: 0px; } .autogen_class_views_newdoc_paginated_scrubber .section_tooltip div.poin= t { background-positon: 7px 0; } /* app/views/newdoc/_section_list.css @ 1348517526 */ .sections .sections_inner { text-align: left; font-size: 11px; font-family: Arial; margin-bottom: 15px; height: 300px; overflow-y: scroll; overflow-x: none; padding-bottom: 10px; border: 1px solid #ddd; background: white; } .sections .sections_inner::-webkit-scrollbar { width: 10px; } .sections .sections_inner::-webkit-scrollbar-track { background: #eee; border-left: 1px solid #ddd; } .sections .sections_inner::-webkit-scrollbar-thumb { background: #bbb; } .sections .sections_inner::-webkit-scrollbar-thumb:hover { background: #ccc; } .sections .sections_inner ul { padding: 7px; } .sections .sections_inner li { font-size: 11px; padding-bottom: 5px; margin-left: 14px; list-style-type: square; list-style-position: outside; color: #aaaaaa; white-space: normal; } /* app/views/newdoc/paginated/_section_list.css @ 1348517526 */

.autogen_class_views_newdoc_paginated_section_list { -moz-user-select: -moz-none; -webkit-user-select: none; user-select: none; position: relative; text-shadow: black 0px 0px 0px; } .autogen_class_views_newdoc_paginated_section_list h2 { display: table-cell; width: 325px; height: 45px; text-align: center; vertical-align: middle; font: 12pt Arial, Helvetica, sans-serif; font-weight: bold; color: #FFFFFF; } .autogen_class_views_newdoc_paginated_section_list .sections_inner { display: block; padding: 0; margin: 0; overflow-x: hidden; overflow-y: scroll; width: 100%; height: 475px; } .autogen_class_views_newdoc_paginated_section_list ul, .autogen_class_vi= ews_newdoc_paginated_section_list li { display: block; } .autogen_class_views_newdoc_paginated_section_list ul { padding-left: 0px; margin-left: 0px; background-color: #FFFFFF; } .autogen_class_views_newdoc_paginated_section_list li { text-align: left; line-height: 45px; vertical-align: middle; padding-left: 10px; border-bottom: solid 2px #C4C4C4; background-color: #FFFFFF; height: 45px; white-space: nowrap; overflow: hidden; } .autogen_class_views_newdoc_paginated_section_list li a, .autogen_class_= views_newdoc_paginated_section_list li a:link, .autogen_class_views_newd= oc_paginated_section_list li a:visited, .autogen_class_views_newdoc_pagi= nated_section_list li a:hover, .autogen_class_views_newdoc_paginated_sec= tion_list li a:active a:focus { font: 9pt Georgia, Palatino, Palatino Linotype, Times, Times New Roman= , serif; text-decoration: none; color: #4C4C48; } /* app/views/newdoc/ppp/_action_badge.css @ 1348517526 */ .action_badge { margin: 10px; padding: 4px; }

.action_badge .cool_button { cursor: pointer; margin-bottom: 4px; color: white; border-radius: 4px; padding: 8px; background-color: #36a6c8; background-image: linear-gradient(bottom, #3195b4 0%, #4aafce 100%); background-image: -webkit-linear-gradient(bottom, #3195b4 0%, #4aafce = 100%); background-image: -o-linear-gradient(bottom, #3195b4 0%, #4aafce 100%)= ; background-image: -moz-linear-gradient(bottom, #3195b4 0%, #4aafce 100= %); background-image: -ms-linear-gradient(bottom, #3195b4 0%, #4aafce 100%= ); box-shadow: 0px 4px 0px #206378, inset 0px 0px 20px #5eb8d3, inset 0px= 1px 0px #d6edf4, 0px 4px 4px rgba(0, 0, 0, 0.7); border: 1px solid #2b85a0; border-bottom-color: #26748c; border-top-color: #3195b4; text-shadow: 1px 1px 0px #154250; } .action_badge .cool_button h4 a { font-weight: bold; } .action_badge .cool_button:active { box-shadow: 0px 1px 0px #206378, inset 0px 0px 20px #5eb8d3, inset 0px= 1px 0px #d6edf4, 0px 1px 4px rgba(0, 0, 0, 0.7); position: relative; top: 3px; } .action_badge .cool_button a { color: white; } .action_badge .word_document_thumbnail { float: left; } /* app/views/newdoc/ppp/_multi_buy.css @ 1348517526 */ .autogen_class_views_newdoc_ppp_multi_buy { background: #ebebe9; border-top: 1px solid #d1d1d1; border-bottom: 1px solid #d1d1d1; box-shadow: inset 0px 0px 4px #c7c7c1, 0px 1px 0px white; text-align: center; padding: 12px 0px; margin: 16px 0px; } .autogen_class_views_newdoc_ppp_multi_buy .flag { font-family: Athelas, serif; color: white; text-shadow: 1px 1px 0px #B3911B; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASYAAAA= rCAYAAADVLSWwAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3R= JTUUH3AEQFzQhKntehwAABMZJREFUeNrt3U1oXFUYxvGL0diGyNTaiYIQ6CpQEApddVvoqiC= 6EYSCy0Bxo2jAjZtsuhLsTlBxUTe6qII2ydxJMpnpJKnWVtFSWiyFapVQWpI7d74/ju975iO= TNh+TufcOLv4Dv01u0kUXD88957xnnI0fnYwwyptxTG7WMf4cAAyGZs7G5WYGtbzrVB58fdO= GkjzMu44pLjimtChSABAxyZrCvARUQjJIwslz46ZRfvieY4w542eO2+TSUKosOaaaEVccUwO= AiGjGaNaUU81w0nJUuvOxL5l00JG25FTuf35Pg0nTS3+xvixWHNMAgIhoxtSyUobSUookmHL=

JmKkX70/LM8cGk6kV3s5nJmxjagdTY1XK1FUAiEajHUzyllZISjjd+qAkbSkmz1rBZMxQ+d6= Ff3WNqbzU/GX9I/7zAERitdmY9HVO39R896Cp525e0FDqBJNqVNcn/dQ4rQlA9G1pdfM1zra= l3yerUpBeeSqY5IfDpT/PP84naU0ABtSWUrojN2Rq69cutkNpSzDZ1lR8MOUvxDcXwVdoTQD= Cb0v6Rmbbkix6F38925BidHTHYJKHo7pdp9WqQmsCEHlbkpx5lP6+O5SeCial23V+cnRLazK= 0JgARtKXCL69LHzLH9gwm3a4r3vqwTGsCEHZbskcEutpSde2H9JOhtG0w2dYk23a6fWdb0xV= aE4Bw25IeqMz/dErb0smeg0m37Yp/nKva1pRutSaCCUAIbUlHUPTMZOWfb25sF0o7BpOqbdz= 4SrfxaE0AQmtLmeZMbn75hLal0/sOJvmj8eJv7zR0gUpbEwcuAQRqS9mutvTXl3d3CqVdg8m= 2pkfpS747ZBeqaE0AgrSlarstyVyuzOe+1Xcw6TZe4fobtCYAgYd1daLEzuPKXK7O5/YdTKr= 60F2w/1iKowMA+jxQmWkN6y6NG53L3S2UegomSbYThWunWQQHEPiIQPnu+cc6lxs4mGxrWvv= u586tAwQTgH6CKS3X5so87l6h1HMwlW5PnSOYAAQKpuWJms7jhhZM/uJYllc5AEFn4+TbUM6= EFUyvsfgNIOjit751+fMv3Q4lmHLz8RmOCwAIdFygaxRFcuVU0GCa8N1nGhywBBDWzpyUneu= BgimXHPu2PchLWwIQdIC3fd2J5MvJfoNp3E88W2fRG0DYi+C5+bFsX8HkJeNfcO0JgFAXwbe= 2puP7Daa4n3iuyvW6ACJsTe6+gslzD3/K1boAIm1NsrEmeXOs12CK5dwDJb7CCUD0renlSz0= Fk5c4NE1bAjCYtSbbmo7uFUyjOXfEpy0BiLI1dX89uJccu7hrMHlzsSm+IhzAwFqT3tEkx5I= kf17dKZiG/eQL651bBDhQCWBgrenIZ9sGkzc7MmmHdWlLAAY43Gtbk/t8RY8pPRlMQ34ytkZ= bAjDQ4d5sc6PNtib38Cdbg2lm+KyexOwsei+3Fr4BICL1lc3XOR3u9RIHSnpcSZ61jwi8+Lc= GkzYmTS8NJ12YqgFARDRjNGv0OhQ90+TNajgdmpZnNpjeFCYnP9QdOQ0nbU56xgAAIrXYDCU= tRt5lDacRX48tyfjJkTsaTMqbaQaUPwcAg6GZI1fumk4OzcU+klUoc9Xw4cOHz//n8/5/XCy= HxIdxdu4AAAAASUVORK5CYII=3D') 50% 0 no-repeat; height: 43px; line-height: 40px; font-size: 21px; margin-left: auto; margin-right: auto; } .autogen_class_views_newdoc_ppp_multi_buy .utton_icon { margin-left: -20px; } .autogen_class_views_newdoc_ppp_multi_buy .decor { font-family: Athelas, serif; font-size: 11px; color: #4B4B4B; text-shadow: 1px 1px 0px white; margin-top: 4px; margin-bottom: 8px; } .autogen_class_views_newdoc_ppp_multi_buy .remote_link_button { padding-left: 0px !important; } .autogen_class_views_newdoc_ppp_multi_buy .more_info_icon, .autogen_clas= s_views_newdoc_ppp_multi_buy .buy_icon { display: inline-block; zoom: 1; *display: inline; vertical-align: middle; } .autogen_class_views_newdoc_ppp_multi_buy .buttons li { -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; -webkit-box-shadow: 0px 1px 0px white; -moz-box-shadow: 0px 1px 0px white; box-shadow: 0px 1px 0px white; margin: 0px 4px; width: 130px; color: #555; text-shadow: 1px 1px 0px white; font-weight: bold; display: inline-block; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAB=

oCAYAAADSMoFiAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3AERABEHsVDZDQAAAPp= JREFUSMe9VcsOwjAMc6pc4P+/Ezh1QoKaA9tYR4wIqtipi+VH0kyz641E8DjiOjwuA840Q3v= 8BZB9tDRDeLRxUvlULS/V8AdzJpdBSgEcN93s7k61qlSwCLC7aKQICw3IBjVjmRU/STHunL/= MisHV7olOxne43jl3cr6ed7Gd5Kq/5RbivQgCzsZXcRPEuZFnvKJ97pEMYumD3bwcgvJkzFV= +vz5zoN6jE2DM6GYlGTLu8r7HdNypVpBzc3w16Yfj0dYV2gKn80X81cxiD1PmJhkakN+gYBQ= lhbR5SacyKwIoWcZI87RUGSf1IdXALckCI3dXMeo0hcADMk3VnFrZyJcAAAAASUVORK5CYII= =3D') 0 0 repeat-x; height: 34px; line-height: 31px; border: 1px solid #919395; border-bottom: 1px solid #818385; } .autogen_class_views_newdoc_ppp_multi_buy .buttons li.wide { width: 260px; } .autogen_class_views_newdoc_ppp_multi_buy .buttons li:hover { background-position: 0 -35px; } .autogen_class_views_newdoc_ppp_multi_buy .buttons li:active { background-position: 0 -70px; } /* app/views/newdoc/search/_base.css @ 1348517526 */ .search_container .query_box { border: 1px solid #b5b0a1; background: white; -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; box-shadow: inset 0px 1px 2px 0px #cccccc, 0px 1px 0px white; overflow: hidden; display: inline-block; zoom: 1; *display: inline; white-space: nowrap; font-size: 0; } .search_container .query_box.disabled { background: #EBEBE4; } .search_container .query_box.disabled .search_icon { background-image: url('data:image/gif;base64,R0lGODlhEAALAPQAAOPp7G+Bg= 9HZ3M3V2Nng43GChG+Bg4OTlaq1t5qoqsPMz36OkJCeoK24u5ypq8TO0X+PknCBg5Ggotfe4= dHZ297k54iXmtLa3d3j5sHKzrfBxMrT1dri5QAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAA= AAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCwAAACwAAAAAEAALAAAFLSAgj= mRpnqSgCuLKAq5AEIM4zDVw03ve27ifDgfkEYe04kDIDC5zrtYKRa2WQgAh+QQJCwAAACwAA= AAAEAALAAAFJGBhGAVgnqhpHIeRvsDawqns0qeN5+y967tYLyicBYE7EYkYAgAh+QQJCwAAA= CwAAAAAEAALAAAFNiAgjothLOOIJAkiGgxjpGKiKMkbz7SN6zIawJcDwIK9W/HISxGBzdHTu= BNOmcJVCyoUlk7CEAAh+QQJCwAAACwAAAAAEAALAAAFNSAgjqQIRRFUAo3jNGIkSdHqPI8Tz= 3V55zuaDacDyIQ+YrBH+hWPzJFzOQQaeavWi7oqnVIhACH5BAkLAAAALAAAAAAQAAsAAAUyI= CCOZGme1rJY5kRRk7hI0mJSVUXJtF3iOl7tltsBZsNfUegjAY3I5sgFY55KqdX1GgIAIfkEC= QsAAAAsAAAAABAACwAABTcgII5kaZ4kcV2EqLJipmnZhWGXaOOitm2aXQ4g7P2Ct2ER4AMul= 00kj5g0Al8tADY2y6C+4FIIACH5BAkLAAAALAAAAAAQAAsAAAUvICCOZGme5ERRk6iy7qpyH= CVStA3gNa/7txxwlwv2isSacYUc+l4tADQGQ1mvpBAAIfkECQsAAAAsAAAAABAACwAABS8gI= I5kaZ7kRFGTqLLuqnIcJVK0DeA1r/u3HHCXC/aKxJpxhRz6Xi0ANAZDWa+kEAA7AAAAAAAAA= AAA'); } .search_container .query_box.disabled input { background-color: #EBEBE4; } .search_container .query_box.disabled .search_submit, .search_container =

.query_box.disabled .search_submit:hover { background-position: 0px -90px; color: #ababab; } .search_container .query_box .search_submit, .search_container .query_bo= x .part, .search_container .query_box .search_icon { display: inline-block; zoom: 1; *display: inline; vertical-align: middle; } .search_container .query_box .search_submit { -moz-user-select: -moz-none; -webkit-user-select: none; user-select: none; background-color: #d3c2b5; background-image: linear-gradient(bottom, #cab5a5 0%, #ddcfc5 100%); background-image: -webkit-linear-gradient(bottom, #cab5a5 0%, #ddcfc5 = 100%); background-image: -moz-linear-gradient(bottom, #cab5a5 0%, #ddcfc5 100= %); background-image: -o-linear-gradient(bottom, #cab5a5 0%, #ddcfc5 100%)= ; background-image: -ms-linear-gradient(bottom, #cab5a5 0%, #ddcfc5 100%= ); color: #765b46; text-shadow: 1px 1px 0px #ddcfc5; font-weight: bold; font-size: 12px; line-height: 24px; padding: 0px 6px; border-left: 1px solid #b5b0a1; cursor: pointer; } .search_container .query_box .search_submit:hover { background-color: #cdbaab; background-image: linear-gradient(bottom, #c4ad9b 0%, #d7c7bb 100%); background-image: -webkit-linear-gradient(bottom, #c4ad9b 0%, #d7c7bb = 100%); background-image: -moz-linear-gradient(bottom, #c4ad9b 0%, #d7c7bb 100= %); background-image: -o-linear-gradient(bottom, #c4ad9b 0%, #d7c7bb 100%)= ; background-image: -ms-linear-gradient(bottom, #c4ad9b 0%, #d7c7bb 100%= ); } .search_container .query_box .search_submit:active { background-color: #cdbaab; background-image: linear-gradient(bottom, #d7c7bb 0%, #c4ad9b 100%); background-image: -webkit-linear-gradient(bottom, #d7c7bb 0%, #c4ad9b = 100%); background-image: -moz-linear-gradient(bottom, #d7c7bb 0%, #c4ad9b 100= %); background-image: -o-linear-gradient(bottom, #d7c7bb 0%, #c4ad9b 100%)= ; background-image: -ms-linear-gradient(bottom, #d7c7bb 0%, #c4ad9b 100%= ); } .search_container .query_box .search_icon { width: 20px;

height: 20px; padding: 0px 4px; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAA= UCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh= 0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1= wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV= 0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8= xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d= 3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiB= yZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9= tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmV= zb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHh= tcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODA4Mzk= 5NDVCQjI3QTZCOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFNEU3OUVCOTYwRDExMUU= xOTg5REY4NUMzQ0I4QUYxMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFNEU3OUVCODY= wRDExMUUxOTg5REY4NUMzQ0I4QUYxMSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3N= ob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmN= lSUQ9InhtcC5paWQ6MzJEQkM1OEE0MTIwNjgxMTgwODNGNTg2QzlFMTIyRjAiIHN0UmVmOmR= vY3VtZW50SUQ9InhtcC5kaWQ6MDc4MDExNzQwNzIwNjgxMTgwODM5OTQ1QkIyN0E2QjgiLz4= gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCB= lbmQ9InIiPz5agZf1AAABNUlEQVQ4y2P4//8/AwxnFpWCMCcQ2wBxPhD3AnE4EKtA5fBikBk= MaAZGAfEHIP6PBW8HYmmiDARy2IB4NZoBIIMvYRHzI8bAOUiaDgOxLpJCUBBkAvFnqPw3NHl= UA6GSf6CKNwIxMw4XGADxT6i6LfgMnIzkHVECAV+H5BM5XAaegSpYQURMKiIZGILLwIdQBe3= EJA0kAzNxGXgeqmAOEYaJIhkYi8vAmVAFT6DJB5+ByUgGquAy0AlJET5vSwDxc6SkhTcdbkQ= ydCkQ86Mp9oD6ADmBG+MzkB8tV3yDugJk+G0cWRHDUJS8DBTggSad/yRgFEOxFQ6wnNMIdd1= eaKSB0pwQ1NXohr6FGYrLQHyYB5+h5BiIz9BXIDlyDMRmKKhwCSHXheiG/oHla0oNhBnqihz= LABup2KokhhKEAAAAAElFTkSuQmCC') 50% 50% no-repeat; } .search_container .query_box input { font-size: 13px; height: 20px; color: #303940; border: 0; padding: 0px; } .search_container .query_box input:focus { outline: none; } .search_container .sidebar_search { margin-top: 5px; } .search_container .sidebar_search input { width: 195px; } .search_container input::-webkit-input-placeholder { color: #868069; } .search_container input:-moz-placeholder { color: #868069; } .search_container .search_options { text-align: left; padding-bottom: 10px; } .search_container .search_options input[type=3D"radio"] { vertical-align: middle; margin-right: 3px; } .search_container .search_options label { font-weight: bold;

font-size: 12px; color: #6d6c69; text-shadow: 1px 1px 0px white; } .search_container.show_results .search_results { display: block; } .search_container .tip { display: none; font-size: 12px; color: #6d6c69; text-shadow: 1px 1px 0px white; font-size: 10px; padding: 8px 0px 0px 1px; } .search_container .tip .flag { font-variant: small-caps; padding: 0px 4px; background: #c7c0a8; text-shadow: none; color: white; border-radius: 2px; } .search_container.hotkey_enabled .tip { display: block; } .search_container .mac_osx { display: none; } .search_container.osx .mac_osx { display: inline; } .search_container.osx .other_os { display: none; } .search_container .result_template { display: none; } /* app/views/newdoc/search/_results.css @ 1348517526 */ .search_results { display: none; z-index: 2997; -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3); -moz-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3); box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3); width: 580px; font-size: 13px; color: #6E6E6E; border: 1px solid #c2c2c2; } .search_results.show_results { display: block; } .search_results.not_loading .on_loading { display: none; } .search_results.loading .on_results {

display: none; } .search_results.fresh_search .on_loading, .search_results.fresh_search .= on_results { display: none; } .search_results.fresh_search .header { -moz-border-radius-bottomleft: 8px; -webkit-border-bottom-left-radius: 8px; border-bottom-left-radius: 8px; border-radius-bottomleft: 8px; -moz-border-radius-bottomright: 8px; -webkit-border-bottom-right-radius: 8px; border-bottom-right-radius: 8px; border-radius-bottomright: 8px; border-bottom: 0; } .search_results .header { -moz-border-radius-topleft: 8px; -webkit-border-top-left-radius: 8px; border-top-left-radius: 8px; border-radius-topleft: 8px; -moz-border-radius-topright: 8px; -webkit-border-top-right-radius: 8px; border-top-right-radius: 8px; border-radius-topright: 8px; font-style: normal; border-top: 1px solid white; background: #eef2f4; border-bottom: 1px dashed #bebebe; } .search_results .header .search_history { font-family: Athelas, serif; border-top: 1px dashed #bebebe; font-size: 11px; padding: 3px 12px; } .search_results .header .search_history strong { font-style: italic; } .search_results .header .search_history .history_result { display: inline; cursor: pointer; } .search_results .header .search_history .history_result.current { font-weight: bold; } .search_results .header .next_result, .search_results .header .prev_resu= lt { display: inline-block; zoom: 1; *display: inline; font-style: normal; font-size: 16px; cursor: pointer; } .search_results .header .close_button { float: right; cursor: pointer; margin: 17px 9px 0px 0px;

width: 12px; height: 12px; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAA= MCAYAAABWdVznAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3R= JTUUH3AMHFy8D4SPovwAAATpJREFUKFNdUM1LAkEUf1q3Lvpv9DdJBUGXLtGtk1Kakn1sGEK= H0DBKXdjwq9YOERRJ0LqQJXbMW4cgalv3tNP+pp1ltgfD4/c1M+8RebW+tUtrycx0Kre9Cvy= /wEOHj5vnF5ajuf2DN+XwiKXze2nZDAwe+uLSSpRoKh7ZVArjcl1za22dFcsVtuGH0IHBQ88= qhRG/pWeYVrWtu+rFFReLpQrL7Ch36MDgofce++/kOA4xxuLG4OVbDh2r5yEzdPj4CyLUfx5= +1jpdHhIHGDx0+EJVqqp5cWsQ8DD4sJPEgCes3umGAsDgxSIkszRgS3ev7x94Dxbxt70UGaY= 5c6Y1QXIRJmMw/PL+PIsuhdxTrcH4C/ZkMnd5cyubY96AEXQRgv5j24ngW5ZlJZ5Grx++mXP= +9mLgoYP7BQKjT8cu2pQaAAAAAElFTkSuQmCC') 50% 50% no-repeat; } .search_results .query_box { margin: 10px 12px; margin-right: 0px; } .search_results .query_box input { width: 455px; } .search_results .results, .search_results .loading_message { background: #e3e9ec; -moz-border-radius-bottomleft: 8px; -webkit-border-bottom-left-radius: 8px; border-bottom-left-radius: 8px; border-radius-bottomleft: 8px; -moz-border-radius-bottomright: 8px; -webkit-border-bottom-right-radius: 8px; border-bottom-right-radius: 8px; border-radius-bottomright: 8px; -webkit-box-shadow: inset 0px 1px 4px 0px #c5d1d7; -moz-box-shadow: inset 0px 1px 4px 0px #c5d1d7; box-shadow: inset 0px 1px 4px 0px #c5d1d7; padding: 8px 12px; } .search_results .results { padding: 4px; } .search_results .results .search_info { font-family: Athelas, serif; font-size: 11px; margin: -2px 14px 2px 14px; } .search_results .results .search_info .truncate { margin-right: 140px; overflow: hidden; white-space: nowrap; } .search_results .results .search_info .current_info { -moz-user-select: -moz-none; -webkit-user-select: none; user-select: none; float: right; font-style: italic; } .search_results .results .search_info .last_query { color: #b57701; font-weight: bold; } .search_results .results .scroller { overflow-x: hidden;

overflow-y: auto; height: 80px; } .search_results .results li { padding: 4px 8px; cursor: pointer; } .search_results .results li .page_num { font-family: Athelas, serif; float: right; } .search_results .results li.current_result { background-color: #CFDBE0 !important; } .search_results .results li:hover { background-color: #d9e2e6; } .search_results .results .snippet { white-space: nowrap; overflow: hidden; margin-right: 50px; } .search_results .found { color: #b57701; font-weight: bold; } .search_results .result_list .current_result { background: red; } .search_results .loading_header { display: none; } .search_results .decorative { font-family: Athelas, serif; -moz-user-select: -moz-none; -webkit-user-select: none; user-select: none; font-size: 24px; text-align: center; color: #a6b9c3; text-shadow: 1px 1px 0px white; } /* app/views/newdoc/search/_sidebar.css @ 1348517526 */ .autogen_class_views_newdoc_search_sidebar { margin: 16px 20px; margin-top: 20px; } /* app/views/newdoc/_sharer.css @ 1348517526 */ .autogen_class_views_newdoc_sharer { z-index: 2998; color: white; text-shadow: 1px 1px 1px black; positon: absolute; vertical-align: middle; text-align: center; -moz-user-select: -moz-none; -webkit-user-select: none; user-select: none; opacity: 0.8; filter: alpha(opacity=3D80);

border: 1px solid rgba(255, 255, 255, 0.5); -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; font-family: Helvetica, Arial, sans-serif; font-size: 14px; font-weight: normal; padding-left: 15px; padding-right: 15px; cursor: default; } .autogen_class_views_newdoc_sharer #sharing_status { /* Ensures vertical centering */ line-height: 29px; } .autogen_class_views_newdoc_sharer.ready, .autogen_class_views_newdoc_sh= arer.started { background-color: #696969; } .autogen_class_views_newdoc_sharer.ready:hover, .autogen_class_views_new= doc_sharer.started:hover { text-decoration: underline; cursor: pointer; } .autogen_class_views_newdoc_sharer.not_ready { display: none; } .autogen_class_views_newdoc_sharer.completed, .autogen_class_views_newdo= c_sharer.submitted { background-color: #696969; /* Checkbox Icon */ padding-left: 26px; /* Padding to make room for icon */ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= BAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA= yRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iV= zVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6b= nM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgM= jAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwO= i8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwd= GlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xL= jAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sb= nM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZ= iMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIge= G1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpERjA1N0NFNUI3NDkxMUUxQTNBRkEzNTJGOTI3Q= 0NCMiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpERjA1N0NFNkI3NDkxMUUxQTNBRkEzN= TJGOTI3Q0NCMiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAua= WlkOkRGMDU3Q0UzQjc0OTExRTFBM0FGQTM1MkY5MjdDQ0IyIiBzdFJlZjpkb2N1bWVudElEP= SJ4bXAuZGlkOkRGMDU3Q0U0Qjc0OTExRTFBM0FGQTM1MkY5MjdDQ0IyIi8+IDwvcmRmOkRlc= 2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+B= 28XyQAAAKVJREFUeNpi+v//PwMlmImBQsDEyMjIQAoGAgMgfg/E86F84gHQyQZA/P4/AsxnI= kFzAJDaD8QCSMICyCb349Gc8B8TzMfmrPlEau5HVvAeTXI9EAtA5eZj0ZxAKGBA4DxRmtEMu= f8fNwBZ4EAolAWgNmPTbIAzIcEYwETxAUg5AvEFJPkHIDGg3AVSEosA1P/nYYGJDzCCMgRFe= YHizESpAQABBgCVdj+Q1u2irgAAAABJRU5ErkJggg=3D=3D'); background-repeat: no-repeat; background-position: 4px center; } .autogen_class_views_newdoc_sharer.stopped { background-color: #000000; /* Cancel Icon */

padding-left: 34px; /* Padding to make room for icon */ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= BAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA= yRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iV= zVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6b= nM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgM= jAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwO= i8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwd= GlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xL= jAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sb= nM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZ= iMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIge= G1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpERjA1N0NFOUI3NDkxMUUxQTNBRkEzNTJGOTI3Q= 0NCMiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpERjA1N0NFQUI3NDkxMUUxQTNBRkEzN= TJGOTI3Q0NCMiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAua= WlkOkRGMDU3Q0U3Qjc0OTExRTFBM0FGQTM1MkY5MjdDQ0IyIiBzdFJlZjpkb2N1bWVudElEP= SJ4bXAuZGlkOkRGMDU3Q0U4Qjc0OTExRTFBM0FGQTM1MkY5MjdDQ0IyIi8+IDwvcmRmOkRlc= 2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+S= cP10QAAAO5JREFUeNqkU90RgjAMbjkGYATcQEfgQd/0mEBhMtAJOH3TB0awG+AIbFATTLwQf= s6T7y60pfnSfklqvfdmCUL8WGvNcb8tYJqCJZfbw405g88ahhqsAp8cDw9oA8kZWIQO5DhFR= p+MOJ8AAEkYBFFkIzkhLRIwlsBBnkDMaV2oC1Vg3Z5FHZgDJWUOJerHyTcHDNoofyEzejcQm= hsYYkV+AXklfwxuIGTEI6fHnHmJYIQ8l4NMB+kknA67SFWBMVuF8/Xechlr1Qut7Eg41ak+S= EnmhiW4KTJVx1GvtMLP9arw71uwS19jYBbiLcAAeRVzaaN9Y+EAAAAASUVORK5CYII=3D');= background-repeat: no-repeat; background-position: 9px center; } .autogen_class_views_newdoc_sharer:hover { opacity: 1; filter: alpha(opacity=3D100); } /* app/views/newdoc/show.css @ 1348517526 */ .newdoc { min-height: 1900px; background: url('data:image/gif;base64,R0lGODdhQABAAIQRAOTk5OXl5ebm5uf= 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3D'= ); } .newdoc .between_page_ads { width: 675px; } .newdoc .between_page_ads #between_page_ads_inner_1 { margin: 0 auto; } .newdoc .newdoc .sidebar_ad_spacer { min-height: 215px; } .newdoc .newdoc.newdoc_pro .sidebar_ad_spacer, .newdoc .newdoc.no_ads .s= idebar_ad_spacer { min-height: 0px; } .newdoc .docview_container { text-align: center; white-space: nowrap; } .newdoc .docview_container #document_column, .newdoc .docview_container = #sidebar { display: inline-block; zoom: 1; *display: inline; vertical-align: top; white-space: normal; text-align: left; } .newdoc .docview_container #document_column div.outer_page { background-color: white; margin: 9px 0px; } .newdoc .docview_container #document_column #outer_page_1 { margin-top: 0px; } .newdoc .docview_container #sidebar { width: 322px;

position: relative; } .newdoc .docview_container #sidebar .floating_column { position: absolute; top: 0px; right: 0px; } .newdoc .docview_container #sidebar.logged_in #pinned_ad, .newdoc .docvi= ew_container #sidebar.sticky_flush #pinned_ad { margin-left: 10px; } .newdoc .below_document { padding-bottom: 40px; } .newdoc .below_document .inner_below { width: 679px; padding-right: 322px; padding-top: 10px; margin: 0 auto; } .newdoc #toolbar_footer { height: 35px; margin-bottom: 12px; margin-right: 1px; } .newdoc .fourgen_highlight { background: #FF5; } .newdoc .fourgen_highlight.fourgen_highlight_selected { background: #FFD12C; } .newdoc .featured_doc_small_thumbnail_shadow { position: relative; margin: 0; padding-bottom: 9px; background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUh= EUgAAAE0AAAAICAYAAAC8nHJvAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgH= S3X78AAAAB3RJTUUH3AEfAh42hE1mpQAAAMVJREFUSMfdVdEOgyAM7Dn2/x88oWOmmK4ZWBj= sYZdcYvVsyqWnIKIt85YZMu/CTegBV64/1VeAegc0BkzSlPlj5kO4v+qgHhYmaZoqzdlp2oi= BmHTYlh6NWWDm1TzPEIwoCUuDHtPYYVztHtQzLNoiOPvAzBmNcYdpdst2iSYGIskNM78BOnT= c2LCeWm9bFG+OOpjssjIMDsN6IzobcGwnOU28imgx7RTAsBfeGK4GFmnfvm8YyPwqY5jG/5g= rjf5lcv4XT15IT+yrl7ZfAAAAAElFTkSuQmCC') no-repeat center 99px; width: 78px; } .newdoc .featured_doc_small_thumbnail_shadow a:hover { text-decoration: none; } .newdoc .featured_doc_small_thumbnail_shadow .thumbnail { float: none; width: 72px; height: 93px; background-color: #fff; padding: 2px; border: 1px solid #ccc; /* @include box-shadow(#999, 1px, 1px, 3px);*/ } .newdoc .featured_doc_small_thumbnail_shadow .thumbnail .no_of_pages { background-image: none; background-color: #fff; border: 1px solid #ccc;

border-right: 0; border-bottom: 0; -webkit-box-shadow: -1px -1px 2px #dddddd; -moz-box-shadow: -1px -1px 2px #dddddd; box-shadow: -1px -1px 2px #dddddd; -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; border-radius-topleft: 5px; color: #999; font-size: 10px; bottom: 10px; right: 1px; } .newdoc .medium_thumbnail_shadow { position: relative; margin: 0; padding-bottom: 9px; background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUh= EUgAAAMgAAAAICAYAAAC8sLAqAAAACXBIWXMAAAsSAAALEgHS3X78AAABZ2lUWHRYTUw6Y29= tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp= 4bXB0az0iWE1QIENvcmUgNC40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly9= 3d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2N= yaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5= hZG9iZS5jb20veGFwLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkFkb2JlIEZ= pcmV3b3JrcyBDUzQ8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24= +CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CkTQEowAAADESURBVFiF7dexrsMgDIXhc2x= DxJL3f8msURIR08lVWvWurXTjb4WBgV8GjjGQUvrMlmUZ+75jXVds24bjONB7h7sj40n/GUm= ICMwMpRS01tBawzRNqLVinmfa+2ZVBQC4+88OntK3xJ1XVZAEyZd1u4ZhZiCJ3vuPjpvS98X= dv0YSoVjEUWsFSbh7To90KyShqiilwMwgIq+BlFKem8YY+fdItxITIyaJiDzXLGoREZznCQA= ZSLqVmBbXJ1ZEwowhpb89AC6XOBpRpPkiAAAAAElFTkSuQmCC') no-repeat center bot= tom; width: 200px; } .newdoc .medium_thumbnail_shadow a:hover { text-decoration: none; } .newdoc .medium_thumbnail_shadow .thumbnail { float: none; width: 200px; height: 259px; background-color: #fff; padding: 2px; border: 1px solid #ccc; /* @include box-shadow(#999, 1px, 1px, 3px);*/ } .newdoc .medium_thumbnail_shadow .thumbnail .no_of_pages { background-image: none; background-color: #fff; border: 1px solid #ccc; border-right: 0; border-bottom: 0; -webkit-box-shadow: -1px -1px 2px #dddddd; -moz-box-shadow: -1px -1px 2px #dddddd; box-shadow: -1px -1px 2px #dddddd; -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; border-radius-topleft: 5px; color: #999; font-size: 10px; bottom: 10px;

right: 1px; } .newdoc #embed_dialog { width: 400px; } .newdoc .autogen_class_views_shared_alerts_base { margin-left: auto; margin-right: auto; margin-top: 4px; width: 600px; } .newdoc .autogen_class_views_newdoc_store_bought { padding: 12px 20px; } .newdoc .document_list, .newdoc #pub_featured_docs { white-space: normal; color: #666666; font-size: 11px; font-family: Arial; } .newdoc .document_list .pub_featured_doc, .newdoc #pub_featured_docs .pu= b_featured_doc { margin-top: 10px; margin-bottom: 10px; } .newdoc .document_list .pub_featured_doc_info, .newdoc #pub_featured_doc= s .pub_featured_doc_info { margin-left: 86px; word-wrap: break-word; } .newdoc .document_list .pub_featured_doc_info p, .newdoc #pub_featured_d= ocs .pub_featured_doc_info p { margin: 2px 0px; font-size: 12px; } .newdoc .document_list .pub_featured_doc_thumb, .newdoc #pub_featured_do= cs .pub_featured_doc_thumb { float: left; } .newdoc .document_list a.pub_featured_doc_title, .newdoc #pub_featured_d= ocs a.pub_featured_doc_title { font-size: 13px; font-weight: bold; } .newdoc .document_list .pub_featured_doc_user, .newdoc #pub_featured_doc= s .pub_featured_doc_user { margin-top: 5px; } .newdoc .document_list .pub_featured_doc_user a, .newdoc #pub_featured_d= ocs .pub_featured_doc_user a { color: #009900; } .newdoc .document_list .page_footer, .newdoc #pub_featured_docs .page_fo= oter { margin-top: -4px; margin-bottom: 8px; text-align: right; } /* app/views/newdoc/show/_bot.css @ 1348517526 */ .autogen_class_views_newdoc_show_bot .html_text {

white-space: normal; word-wrap: break-word; height: auto; width: 650px; text-align: left; } /* app/views/newdoc/show/_web.rb:10 @ 1348517526 */ .autogen_class_views_newdoc_show_web .outer_page { position: relative; } .autogen_class_views_newdoc_show_web .outer_page .b_tl { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AMAAAADCAYAAABWKLW/AAAABmJLR0QA2ADYANhLVLGJAAAACXBIWXMAAAsSAAALEgHS3X78A= AAAB3RJTUUH3AEQFQYgs4juDgAAABxJREFUCB1jZmBgYIJiFmYgA4RZgJgVxmEFciQBAx4AP= wapwCYAAAAASUVORK5CYII=3D'); background-position: top left; background-repeat: no-repeat; position: absolute; height: 3px; width: 3px; top: -3px; left: -3px; } .autogen_class_views_newdoc_show_web .outer_page .b_tr { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AMAAAADCAYAAABWKLW/AAAABmJLR0QA2ADYANhLVLGJAAAACXBIWXMAAAsSAAALEgHS3X78A= AAAB3RJTUUH3AEQFQ876C+cqwAAAB9JREFUCB0FwQEBABAQALE5Twf9i9rCwaBwsbHCw6APA= +MAO2myB9oAAAAASUVORK5CYII=3D'); background-position: top right; background-repeat: no-repeat; position: absolute; height: 3px; width: 3px; top: -3px; right: -3px; } .autogen_class_views_newdoc_show_web .outer_page .b_br { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AMAAAADCAYAAABWKLW/AAAABmJLR0QA2ADYANhLVLGJAAAACXBIWXMAAAsSAAALEgHS3X78A= AAAB3RJTUUH3AEQFQ8wf/1FIwAAAB5JREFUCFtjYGBgUAFibiBmZYAy2IGYhQEqwgzETAAI1= QBVSzJ1RQAAAABJRU5ErkJggg=3D=3D'); background-position: bottom right; background-repeat: no-repeat; position: absolute; height: 3px; width: 3px; bottom: -3px; right: -3px; } .autogen_class_views_newdoc_show_web .outer_page .b_bl { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AMAAAADCAYAAABWKLW/AAAABmJLR0QA2ADYANhLVLGJAAAACXBIWXMAAAsSAAALEgHS3X78A= AAAB3RJTUUH3AEQFQ8ijEQ0awAAABxJREFUCB1jZmBgYAViTiCWZwYSjEAMAt+QOf8AFK0CL= dSykVIAAAAASUVORK5CYII=3D'); background-position: bottom left; background-repeat: no-repeat; position: absolute; height: 3px; width: 3px; bottom: -3px;

left: -3px; } .autogen_class_views_newdoc_show_web .outer_page .b_t { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AEAAAADCAYAAABS3WWCAAAABmJLR0QA2ADYANhLVLGJAAAACXBIWXMAAAsSAAALEgHS3X78A= AAAB3RJTUUH3AEQFREd7mMmiQAAABBJREFUCNdjYGBg4GCCESIAAMkAKYlqLLQAAAAASUVOR= K5CYII=3D'); background-repeat: repeat-x; position: absolute; height: 3px; top: -3px; left: 0px; right: 0px; } .autogen_class_views_newdoc_show_web .outer_page .b_r { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AMAAAABCAYAAAAb4BS0AAAABmJLR0QA2ADYANhLVLGJAAAACXBIWXMAAAsSAAALEgHS3X78A= AAAB3RJTUUH3AEQFRESftw7GAAAABJJREFUCB1jYGBgUAFiASDmAAABqQA9n2mcnQAAAABJR= U5ErkJggg=3D=3D'); background-repeat: repeat-y; position: absolute; width: 3px; right: -3px; top: 0px; bottom: 0px; } .autogen_class_views_newdoc_show_web .outer_page .b_b { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AEAAAADCAYAAABS3WWCAAAABmJLR0QA2ADYANhLVLGJAAAACXBIWXMAAAsSAAALEgHS3X78A= AAAB3RJTUUH3AEQFREB+mJ6xgAAABJJREFUCB1jAAIVBiAQYAACDgACAwA9yAbErgAAAABJR= U5ErkJggg=3D=3D'); background-repeat: repeat-x; position: absolute; height: 3px; bottom: -3px; left: 0px; right: 0px; } .autogen_class_views_newdoc_show_web .outer_page .b_l { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AMAAAABCAYAAAAb4BS0AAAABmJLR0QA2ADYANhLVLGJAAAACXBIWXMAAAsSAAALEgHS3X78A= AAAB3RJTUUH3AEQFQo7lVho7gAAAA9JREFUCNdjZGBg4IBiEQAAngAmsaKc+wAAAABJRU5Er= kJggg=3D=3D'); background-repeat: repeat-y; position: absolute; width: 3px; left: -3px; top: 0px; bottom: 0px; } /* app/views/newdoc/show/paginated.css @ 1348517526 */ .paginated.newdoc .between_page_ads { margin: 0px; } .paginated #viewer { position: relative; } .paginated #viewer .outer_page { margin-top: 0px !important; }

.paginated .pager_top > .row { display: none; } .paginated .pager_top { padding: 0px; } .paginated #Slide_Doc_Top_Leaderboard_ATF_728x90_container { height: 90px; overflow: hidden; } .paginated #below_sidebar_ad { margin: 12px 10px; } .paginated #above_scrubber_ad { position: absolute; bottom: 97px; border-width: 1px; border-color: #DBDBDB; } .paginated #above_comment_ad { border-width: 1px; border-color: #FFFFFF; } /* app/views/newdoc/show/reflow.css @ 1348517526 */ .autogen_class_views_newdoc_show_reflow .outer_page { margin-top: 0px !important; } .autogen_class_views_newdoc_show_reflow .reflowed_document { text-align: left; padding: 50px 30px 50px 30px; font-size: 18px; font-family: Palatino Linotype, Book Antiqua, Palatino, serif; line-height: 1.2; } .autogen_class_views_newdoc_show_reflow .reflowed_document h1 { margin-top: 1em; font-size: 20px; text-weight: bold; margin-bottom: 1em; } .autogen_class_views_newdoc_show_reflow .reflowed_document p { line-height: 1.2; font-size: 18px; font-family: Palatino Linotype, Book Antiqua, Palatino, serif; padding: 0px; margin: 0px; margin-top: 0.5em; margin-bottom: 0.5em; } .autogen_class_views_newdoc_show_reflow .reflowed_document img { max-width: 100%; margin-top: 0.5em; margin-bottom: 0.5em; } .autogen_class_views_newdoc_show_reflow .reflowed_document table { border-collapse: collapse; } .autogen_class_views_newdoc_show_reflow .reflowed_document table td { border: 1px solid black; background: #e0e0e0;

padding: 5px; } .autogen_class_views_newdoc_show_reflow .reflowed_document b { font-weight: bold; } .autogen_class_views_newdoc_show_reflow .reflowed_document i { font-style: italic; } .autogen_class_views_newdoc_show_reflow .reflowed_document tt { font-family: Lucida Console, Monaco, monospace; font-weight: normal; } .autogen_class_views_newdoc_show_reflow .reflowed_document pre { font-family: Lucida Console, Monaco, monospace; font-weight: normal; margin-top: 0.5em; margin-bottom: 0.5em; } .autogen_class_views_newdoc_show_reflow .reflowed_document ul { list-style-type: disc; } .autogen_class_views_newdoc_show_reflow .reflowed_document ul li { margin-left: 20px; } .autogen_class_views_newdoc_show_reflow .reflowed_document ol { list-style-type: decimal; } .autogen_class_views_newdoc_show_reflow .reflowed_document ol li { margin-left: 20px; } .autogen_class_views_newdoc_show_reflow .reflowed_document li { font-size: 18px; font-family: Palatino Linotype, Book Antiqua, Palatino, serif; list-style: inherit; list-style-position: outside; } .autogen_class_views_newdoc_show_reflow .reflowed_document div.footnotes= { margin-top: 1em; border-top: 3px solid black; } .autogen_class_views_newdoc_show_reflow .reflowed_document div.footnote = { line-height: 1.2; margin: 0; padding: 0; margin-top: 0.5em; } /* app/views/newdoc/show/_web_pro.css @ 1348517526 */ .newdoc_pro #profile_branding_banner img { max-width: 996px; max-height: 150px; } .newdoc_pro .sticky_bar { padding-top: 0px; } /* app/views/newdoc/_sidebar.css @ 1348517526 */ .autogen_class_views_newdoc_sidebar { font-size: 16px; width: 320px;

background-color: #efede6; -webkit-box-shadow: 0px 0px 4px #999999; -moz-box-shadow: 0px 0px 4px #999999; box-shadow: 0px 0px 4px #999999; border: 1px solid #fffffe; -moz-border-radius-bottomright: 3px; -webkit-border-bottom-right-radius: 3px; border-bottom-right-radius: 3px; border-radius-bottomright: 3px; } .autogen_class_views_newdoc_sidebar .content_warning { background-color: #2c353e; color: #fff; text-shadow: 1px 1px 0px black; margin: 12px 0; overflow: hidden; } .autogen_class_views_newdoc_sidebar .content_warning_message { margin: 12px; } .autogen_class_views_newdoc_sidebar .request_button_container { text-align: center; margin: 12px; } .autogen_class_views_newdoc_sidebar .request_putback_button { display: inline-block; zoom: 1; *display: inline; padding: 5px 10px; text-align: center; text-shadow: -1px 1px 5px #555555; font-size: 14px; color: #fff; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; background: #f3643e; background: -moz-linear-gradient(top, #f3643e 0%, #f3643e 60%, #d84028= 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop= (0%, #f3643e), color-stop(60%, #f3643e), color-stop(100%, #d84028)); background: -webkit-linear-gradient(top, #f3643e 0%, #f3643e 60%, #d84= 028 100%); background: -o-linear-gradient(top, #f3643e 0%, #f3643e 60%, #d84028 1= 00%); background: -ms-linear-gradient(top, #f3643e 0%, #f3643e 60%, #d84028 = 100%); background: linear-gradient(top, #f3643e 0%, #f3643e 60%, #d84028 100%= ); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#F= Ff3643e', endColorstr=3D'#FFd84028',GradientType=3D0 ); } .autogen_class_views_newdoc_sidebar #request_putback_spinner { height: 16px; width: 16px; } .autogen_class_views_newdoc_sidebar .flag_button { margin-top: 5px; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAA= MCAYAAAC9QufkAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3R=

JTUUH3AMJFjAsZrXGfAAAAJBJREFUKM9jYEACEXFpLhGxabJgdmwaL5CvEhGbagekeRkIAaC= G20DsB1T8D4j/I+F4IBYBYincmuPSbgBt8kbTiGzQVwKa09A1I+HU1+Rrjk27TlhzLFjhXyD= /MxB/AfMhBtzGrzkuLQSIe4E4FIiFgBotgfQDIN4HxBMJaY5jIAdQQXMq2ZoPATUHMtADAAA= 5YnsVbK0fmQAAAABJRU5ErkJggg=3D=3D') 0 100% no-repeat; padding-left: 15px; font-style: italic; cursor: pointer; } .autogen_class_views_newdoc_sidebar #admin_show, .autogen_class_views_ne= wdoc_sidebar #admin_hidden { text-align: left; background: #F4EEF4; padding: 8px; border: 1px solid #AF89AF; box-shadow: #CCA4A4 0px 0px 10px, inset 0px 0px 0px 1px white; border-radius: 2px; margin-bottom: 8px; } .autogen_class_views_newdoc_sidebar #admin_show h3, .autogen_class_views= _newdoc_sidebar #admin_hidden h3 { margin: 0px; } .autogen_class_views_newdoc_sidebar .social_spacer { height: 34px; margin-bottom: -10px; display: none; } .show_social .autogen_class_views_newdoc_sidebar .social_spacer { display: block; } .autogen_class_views_newdoc_sidebar .view_page_thumbnail a { display: block; float: left; padding: 2px; width: 20px; height: 20px; border: 1px solid #ccc; margin-right: 5px; } .autogen_class_views_newdoc_sidebar #ad_medrec { line-height: 250px; color: #423733; margin-bottom: 16px; background: #EFE0DA; border-top: 1px solid #FFEFE9; border-bottom: 1px solid #D6C9C4; } .autogen_class_views_newdoc_sidebar h1, .autogen_class_views_newdoc_side= bar h2, .autogen_class_views_newdoc_sidebar h3 { font-family: Athelas, serif; margin-bottom: 4px; font-size: 30px; word-wrap: break-word; } .autogen_class_views_newdoc_sidebar h2, .autogen_class_views_newdoc_side= bar h3 { font-weight: normal; color: #6E6E6E; text-shadow: 1px 1px 0px white; margin-bottom: 8px;

font-size: 20px; } .autogen_class_views_newdoc_sidebar .sub { font-family: Arial, sans-serif; font-size: 11px; color: #7E7E7E; text-shadow: 1px 1px 0px white; } .autogen_class_views_newdoc_sidebar .doc_summary, .autogen_class_views_n= ewdoc_sidebar .uploader, .autogen_class_views_newdoc_sidebar .button_row= , .autogen_class_views_newdoc_sidebar .sections, .autogen_class_views_ne= wdoc_sidebar #admin_hidden, .autogen_class_views_newdoc_sidebar #admin_s= how { margin: 16px 20px; } .autogen_class_views_newdoc_sidebar #rightcolumn_ad_gam { margin: 10px; } .autogen_class_views_newdoc_sidebar .doc_summary { color: #666666; text-align: left; } .autogen_class_views_newdoc_sidebar .doc_summary h1.doc_title { font-size: 24px; line-height: 28px; font-style: normal; font-weight: normal; color: #023040; margin-bottom: 12px; } .autogen_class_views_newdoc_sidebar .doc_summary .description { font-size: 12px; word-wrap: break-word; } .autogen_class_views_newdoc_sidebar .button_row { text-align: center; } .autogen_class_views_newdoc_sidebar .download_button_border { display: inline-block; zoom: 1; *display: inline; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; padding: 8px 10px; margin-bottom: 8px; background: #e5e2d6; border: 1px solid #d1cbb7; box-shadow: inset 0px 0px 8px #d1cbb7, 0px 1px 0px white; } .autogen_class_views_newdoc_sidebar .download_button { box-shadow: 0px 1px 3px #827854; } .autogen_class_views_newdoc_sidebar .download_button .btn_inner { font-size: 14px; height: 34px; line-height: 34px; padding: 0 40px; } .autogen_class_views_newdoc_sidebar .download_button .newdoc_sprite {

margin-right: 10px; } .autogen_class_views_newdoc_sidebar .add_to_collection_btn { display: inline-block; zoom: 1; *display: inline; font-size: 13px; cursor: pointer; color: #146c88; text-shadow: 1px 1px 0px white; } .autogen_class_views_newdoc_sidebar .add_to_collection_btn .newdoc_sprit= e { margin-right: 2px; } .autogen_class_views_newdoc_sidebar .add_to_collection_btn:active { position: relative; top: 1px; } .autogen_class_views_newdoc_sidebar .uploader { zoom: 1; } .autogen_class_views_newdoc_sidebar .uploader:after { content: ""; display: table; clear: both; } .autogen_class_views_newdoc_sidebar .uploader .user_pic { float: left; } .autogen_class_views_newdoc_sidebar .uploader .inner { margin-left: 76px; margin-top: -1px; } .autogen_class_views_newdoc_sidebar .uploader .username_row { margin: 4px 0; } .autogen_class_views_newdoc_sidebar .uploader .username { font-family: Athelas, serif; word-wrap: break-word; font-size: 20px; line-height: 24px; font-style: normal; font-weight: normal; color: #022f40; } .autogen_class_views_newdoc_sidebar .uploader a.username { padding: 0px; } .autogen_class_views_newdoc_sidebar .uploader .follow_row .btn_inner { padding: 0 10px; } .autogen_class_views_newdoc_sidebar .uploader .follow_row .newdoc_sprite= { margin-right: 2px; } .autogen_class_views_newdoc_sidebar .owner_controls { background: #e7e4da; border-top: 1px solid #c7c7c7; border-bottom: 1px solid #c7c7c7;

box-shadow: inset 0px 0px 4px #c9c2ab, 0px 1px 0px white; font-size: 12px; color: #6d6c69; text-shadow: 1px 1px 0px white; -moz-user-select: -moz-none; -webkit-user-select: none; user-select: none; margin: 16px 0px; } .autogen_class_views_newdoc_sidebar .owner_controls h4 { margin: 12px 20px; font-weight: bold; } .autogen_class_views_newdoc_sidebar .owner_controls .owner_controls_inne= r { margin: 12px 20px; } .autogen_class_views_newdoc_sidebar .owner_controls .edit_icon { display: inline-block; zoom: 1; *display: inline; vertical-align: middle; margin: 0px 2px 0px 0px; width: 22px; height: 26px; background-repeat: no-repeat; background-position: 0 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= BgAAABOCAYAAAA6oNYSAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA= 2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iV= zVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6b= nM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgM= jAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwO= i8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwd= GlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwL= zEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5c= GUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuM= C8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExO= DA4Mzk5NDVCQjI3QTZCOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGMDdCN0VGQTQ0N= jAxMUUxOTRDNUQ5NUU2QjFENjIwQyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGMDdCN= 0VGOTQ0NjAxMUUxOTRDNUQ5NUU2QjFENjIwQyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQa= G90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc= 3RhbmNlSUQ9InhtcC5paWQ6RkE3RjExNzQwNzIwNjgxMTgwODNDNkE0NEZENkI5QjAiIHN0U= mVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDc4MDExNzQwNzIwNjgxMTgwODM5OTQ1QkIyN0E2Q= jgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY= 2tldCBlbmQ9InIiPz5Z9DZlAAADFUlEQVRYw+1WSUwTURhuIBw03IxejCaejHoxGm8uBw+ej= Gdj4lFvePPAohHZKnRjus90HdqGFJcKErRhicUQxaIgiwRQAUtkCVpAQKA+v0emsRmhZUjUa= N7hy5t58+b7/nn//7/5VIQQ1e+EigkoFphf+4n80sozwP7UOTnwPFu+ZssCFk+guETLERBoK= NEm5HUFZVWTGA8qFgAueOpCMxzvJiC5LhfAXLFRcJNqm5M+n0qKpBXAot2pJNWCt8/qEklRh= XZBFvnhic9zeQbes6C3OYjZ4SGF5Zox+iytACIZwqKTEtE1vVUgDtFPI/yO+x2UANd+jEsVn= PXc1PyiiCDmEUCi6+1wO97LSisg3qsfusNZ6L6TKpONWJ1eYnV5SbGGWzW5fXvptqg5W6y2v= imG62VJxNP/frwb5EczbtHH2XhB8rMtIKajoyZA6JdgC3peD44Uvngz0ITrZcHrp3PxULhtD= 4gPbTXJufGVhKu54+WHmvv106Fwa+xWlWF1PZl2J83FQOvz6Hmd3RWXtqUL7+xUWqZZtIKA/= C/f1q72vRvrTIoY8EVUZDg2GZS25Zi8upQ0Gk2oqLE6KjcSaY/2nMKa4zT5igWS5DShDS2RS= oz2VBGtmSc31ToiNeIaUJJsxowCqeSRaHczrhd5lCruHUkR3usjNrcXEIkOBWBCH2Bd4ZYEs= LCC412krjEcpeRSoyWaOzqNtFpwhMyYUb4GJP221rjS2PZsPPjoySdaWQguN1MnZyPCWaHGT= zQmO7GAaL1aBoZ6QX6CBqA22iedvtr1+ZGJqQjmLgF5yEk/7w8eSCtwQ607XW4wE0EMoA/EX= 8gpEO0rI7ZEb3fP4X5fSoLPArvSCiA6nwYJpJ0r3n043Tsy2p1KTjHzdfkKPR6wJQl6pCsq0= 0Co8QGaZxALw0ARcGSD/0DO7NKKs6Hl6Wip3vRYfpRnSvJFecSbIAe4DJRJjanazv9gW/jPB= ZgvUuSL/v0qYs6OOTvm7JizY86OOTvm7JizY86OOTvm7JizY86OOTvm7Jiz+9vOjtmWPy7wA=

1UO6lwxNjvcAAAAAElFTkSuQmCC'); } button:hover .autogen_class_views_newdoc_sidebar .owner_controls .edit_i= con { background-position: 0 -26px; } button:active .autogen_class_views_newdoc_sidebar .owner_controls .edit_= icon { background-position: 0 -52px; } .autogen_class_views_newdoc_sidebar .owner_controls .edit_icon button.di= sabled { background-position: 0 -78px; } .autogen_class_views_newdoc_sidebar .owner_controls .delete_icon { display: inline-block; zoom: 1; *display: inline; vertical-align: middle; margin: 0px 2px 0px 0px; width: 22px; height: 26px; background-repeat: no-repeat; background-position: 0 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= BgAAABOCAYAAAA6oNYSAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYA= AAAB3RJTUUH3AEfEyYhDeWW3gAAAkhJREFUWMPtVl1LFGEUFrro1n8Q9BO688abSLrwF3QlB= F72A5IoDENwm9TdZnZ2ZudjZ3MhhDBEEKELUy+0UutqUS8i+4A0ElHU1NN53t0315KYGShQz= 8LDzr5z3vO85+M9+zQ1nfoPEf1TnFGCzf0j3O7p62DQX9DZaJ+IAM4Ny6Wc65PlBX/gMa8/4= vdsdzMxAZxjs1kMyAnLlA9K5JSeUIGf8W0HERUYphceI4lFUE/LgVkMlbPBgk+9WXun3y6SV= 65Q1vHpvpHbu9NrHCA6kBiWA5KOuAQ153xaOB0em/i8vr373AorG6YXKefVD5+m56vL70DiR= hUVKWoSl0CFb/klypju9vfd/Vsc/sW1rR0zHB5ZW1r9MsW/LzOuPB0dX+3Pu8o+GQGf3uX0I= PSuB5khXrsAEsZdxqV6nW4gWicaUvaJCRQJbx4seCCxfmvfa3BueSV1+lQEKDAK2v0w+2O+u= mI0Erz/+q0155c3UKNiOWUEaMV6QWfqOce7Fp0uromDwqsokhBwOg71pnt9A3uVkbH2xpzrm= jwbf9GcsdyPaAYA+2IRTL15uwTjvB/p/K+zw65a+wZkmLXCMybRBLCD/cvXi8txb/JVTYJIk= KpMzubbHKln1GaAc49RoU8O57yvLcks+kWCS6dHg+4uW42J484TD7tGkpMmKdYn5xZWtPM0B= IqEMct4dQKwfj31uE6Dc0IgquKc6SK5ByIdRTqKdBTpKNJRpKP8ZYp0FGUnyk6UnSg7UXai7= ETZnXllJ6rivxL8BGv3r1ul5VUFAAAAAElFTkSuQmCC'); } button:hover .autogen_class_views_newdoc_sidebar .owner_controls .delete= _icon { background-position: 0 -26px; } button:active .autogen_class_views_newdoc_sidebar .owner_controls .delet= e_icon { background-position: 0 -52px; } .autogen_class_views_newdoc_sidebar .owner_controls .delete_icon button.= disabled { background-position: 0 -78px; } .autogen_class_views_newdoc_sidebar .owner_controls .revision_icon { display: inline-block; zoom: 1; *display: inline; vertical-align: middle; margin: 0px 2px 0px 0px; width: 16px; height: 26px; background-repeat: no-repeat;

background-position: 0 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= BAAAABOCAYAAAApd5bmAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA= 2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iV= zVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6b= nM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgM= jAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwO= i8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwd= GlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwL= zEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5c= GUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuM= C8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExO= DA4Mzk5NDVCQjI3QTZCOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3MUU2MjY2MzMwQ= 0UxMUUxOTcwMzgwQTJGOTg1RUEzQiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3MUU2M= jY2MjMwQ0UxMUUxOTcwMzgwQTJGOTg1RUEzQiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQa= G90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc= 3RhbmNlSUQ9InhtcC5paWQ6MDY4MDExNzQwNzIwNjgxMThDMTQ4RTQxNkEyQUZDNDIiIHN0U= mVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDc4MDExNzQwNzIwNjgxMTgwODM5OTQ1QkIyN0E2Q= jgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY= 2tldCBlbmQ9InIiPz5TyB8wAAABN0lEQVRYw+2VzWrCQBSFAwWhL1HoG/gkha7cu+7KpbW2G= 6vtaJqKopOMaE3ti3RVKPgGfQXxb6VwPUMzEkhQYxeVcBcHhjn3fjOTDHMsIrL+IitFgPk6q= mJFFKBcnLcXgMbs7WN9Vao2FhhfJgKg4fyuZv+8yh45XUUYjzGXORiAVZXd8ch7eydvOCI9x= m6aBwGw0rVoSVL+B7kAuAFEtLoE72onAAUXWH3WVoNts5GegzfVNbEAGGflp5dPRyqSAz8C0= HP6e6DmS9dGADhjCQYZibbcNusjhT3U1uKOkIe+jR6Es3aDneimsAfd7L0H98/OyuwgACS7S= CkB/F6m0XGAphpObNlfGiUGQC7kh5QYsFMnCOBnPRW/kZOJk4mTiZOJk4mTiZOJk4mTiZPpN= JOJn/V/BGwAZ8UcQDhxSocAAAAASUVORK5CYII=3D'); } button:hover .autogen_class_views_newdoc_sidebar .owner_controls .revisi= on_icon { background-position: 0 -26px; } button:active .autogen_class_views_newdoc_sidebar .owner_controls .revis= ion_icon { background-position: 0 -52px; } .autogen_class_views_newdoc_sidebar .owner_controls .revision_icon butto= n.disabled { background-position: 0 -78px; } .autogen_class_views_newdoc_sidebar .owner_controls .image_button { margin-right: 3px; } .autogen_class_views_newdoc_sidebar .owner_controls .privacy_control lab= el { font-weight: bold; font-size: 12px; color: #6d6c69; text-shadow: 1px 1px 0px white; } .autogen_class_views_newdoc_sidebar .owner_controls input[type=3D"radio"= ] { vertical-align: bottom; } .autogen_class_views_newdoc_sidebar .owner_controls .privacy_control { padding: 4px 0px; } .autogen_class_views_newdoc_sidebar .owner_controls #public_radio, .auto= gen_class_views_newdoc_sidebar .owner_controls #private_radio { margin: 0px 4px; }

.autogen_class_views_newdoc_sidebar .sidebar_bottom { background: #f6f4f0 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA= AAP0AAAAPCAYAAAAvb8nuAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAA= AAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0= iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU= 6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSw= gMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHR= wOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcml= wdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8= xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1= sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJ= lZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCI= geG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2MzRERDIzRjlENEQxMUUxQUI0RkI1MjI5NDg= 0NTRFOSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2MzRERDI0MDlENEQxMUUxQUI0RkI= 1MjI5NDg0NTRFOSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXA= uaWlkOjYzNEREMjNEOUQ0RDExRTFBQjRGQjUyMjk0ODQ1NEU5IiBzdFJlZjpkb2N1bWVudEl= EPSJ4bXAuZGlkOjYzNEREMjNFOUQ0RDExRTFBQjRGQjUyMjk0ODQ1NEU5Ii8+IDwvcmRmOkR= lc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8= +ZsAa5wAAArFJREFUaN7tmE1uxCAMhR903TP0Hr2/eo+eoetAV5VShO1nm47SMEgohOHHg/w= 9O5T3t9cCYFbr5CnVl0l79sz0VaVPs0eyvUzaxfhtVuE4P2nuuYzvdyhdeO9DbcLzXCG0pXW= asvbYbkL/IYw5/3YofQfRx7QtW5pxdh1AKwBwAh+Kc4+OW0lBsKCUoGbfPbUI7xrsDLRR6Mv= NYdfg70HoNfDb0PbArwkAUw/H++Gca4FNi+TH59cv6EfnY0SAcXJNHEoCYGatEoju1phslK+= TubuV0SHbwmjfnNFei/rdyACylckyPGIonQ9O0PdfDifAD8FJS0AQSgK46ojGbB9rzzgHCvz= VEe2f6T0He3Ok9p0AXBOaFujTBMMjPDOgmwPuKeg/5ePzq4sONsCvCcAKQSgCEJUEKdLH7lc= Nm9nPIetO4Jney7Bqzu4F34KqkXObYw8PxM0QNShnoILuiioTAYDirIwQIAgQA2ENzpPGVMJ= WJGzeBXaQF3kMGJLDs+tYa6uXYMF5nchQQP5HFXIJ9FQqSYiAJzNghSEjFJnsg4HdEgDr1n5= 36EHCI0U5T8rPViTHwZGGe8F2Q56GnhQBVggk5y8OkYgKhwUrSFi9F5+7A8+Cz0R3Zh02Tc4= Ca2UgCEKdhnw59E4hYC6uSlAkEBAKr5h49rfEBhuD341UH07g4QCRibCRKMzaRcO9CvKHQB8= QAskWNluIigQrGNH92LV2vMhDAD4Llk6u64U0sr/1fx8COK7oaIQYaHZ6hSICL7MGKyQ7A8+= C4Lq0CgpBJPJ6ADbBfQTcl4U+KQZRYYjCjEWCsvv3/COiZnfutwzoq8D976D/A1HICgR7XuW= P1r1zpE+lxAvGhMG8ItTY2dmSwhA9p7L7uS8WgQiUS0D8j0Dj6Xy3FKDblrtCdrXyDUaq/ZU= KAtX7AAAAAElFTkSuQmCC') 50% 0 no-repeat; overflow: hidden; } .autogen_class_views_newdoc_sidebar .more_info { margin: 16px 20px; font-size: 12px; color: #6d6c69; text-shadow: 1px 1px 0px white; } .autogen_class_views_newdoc_sidebar .more_info h2 { margin: 0; } .autogen_class_views_newdoc_sidebar .more_info table { width: 100%; } .autogen_class_views_newdoc_sidebar .more_info table td { padding: 4px; vertical-align: top; } .autogen_class_views_newdoc_sidebar .more_info table .row_title { width: 90px; text-align: right; font-weight: bold; color: #363636; } .autogen_class_views_newdoc_sidebar .tag_container { font-size: 11px; font-family: arial; font-weight: normal;

line-height: 16px; /* the more/fewer tags text */ } .autogen_class_views_newdoc_sidebar .tag_container .tag { -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; float: left; padding: 2px 6px; margin: 0 2px 2px 0; border: 1px solid black; } .autogen_class_views_newdoc_sidebar .tag_container .tag a { text-decoration: none; white-space: nowrap; } .autogen_class_views_newdoc_sidebar .tag_container .term { text-decoration: none; white-space: nowrap; background-color: #ddd; color: #666; } .autogen_class_views_newdoc_sidebar .tag_container .clickable_tag { background-color: #cbe0e7; box-shadow: inset 0px 1px 0px 0px #eef5f7, 1px 1px 0px 0px rgba(0, 0, = 0, 0.1); text-shadow: 1px 1px 0px #eef5f7; border: 1px solid #5197af; } .autogen_class_views_newdoc_sidebar .tag_container .clickable_tag a { color: #396a7a; } .autogen_class_views_newdoc_sidebar .tag_container .clickable_tag:hover = { background-color: #dceaef; border: 1px solid #6e9cab; } .autogen_class_views_newdoc_sidebar .tag_container .control_btn { float: left; padding: 2px 4px; margin: 0 2px 2px 0; color: #999; } .autogen_class_views_newdoc_sidebar .privacy_indicator { background-color: #ffeaea; background-image: linear-gradient(bottom, #ffdbdb 0%, #fffafa 100%); background-image: -webkit-linear-gradient(bottom, #ffdbdb 0%, #fffafa = 100%); background-image: -moz-linear-gradient(bottom, #ffdbdb 0%, #fffafa 100= %); background-image: -o-linear-gradient(bottom, #ffdbdb 0%, #fffafa 100%)= ; background-image: -ms-linear-gradient(bottom, #ffdbdb 0%, #fffafa 100%= ); -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; box-shadow: inset 0px 0px 0px 1px white, 0px 0px 0px 1px #d3ceba; border: 1px solid #CA7C7C; margin: 16px 20px; }

.autogen_class_views_newdoc_sidebar .privacy_indicator .message { color: #990000; display: inline-block; background: transparent url('data:image/gif;base64,R0lGODlhIQAhANUAAJk= AAObKys2CgrZMTK8BAffv76oqKtOrq8NqauQAAL4BAfHl5c+cnPv3958QEOW9verc3LdRUa4= WFswAAJ0ICP///9qgoLUUFMh6erE7O+/W1qAVFe7g4N/Dw7xCQtCLi/Xn56sHB7sGBqUHB9U= AAOK1tbtZWa43N/MAAPz399aMjKYjI/fe3sVxcbwyMtylpacBAdaamqwxMbUXF7MGBtwAAMY= FBbYBAesAAMUBAejGxuvOzsp7e9+vr6IYGP///yH5BAEHAD8ALAAAAAAhACEAAAb/wJ9wSCw= aj8ikcslsOp/QZGWaSk0r0WOlyuVis8NtqkEuV79g8ezCvswaVrCwonlRRDabiPLSpOQ/PAg= xISQoKBMjMQgYcgMZPRoSNjg4NhIaPScDWSY+LzuSIgkJIhIsGhYOJlAPADw6GhwSNDU1NBI= LCzs8AD1PAzIlARoLLoUkIS4gIBo6BgMgTgACDzscIB4hE4keBcwavQsFTHY91izZIzk5FN7= fHK4M0kt2Dw/FBR4UCgruZN80UGCwoByFexqYqaBw4wYFFWUKLBg4rh6FHrEUUiBA4GHEHQA= IklvyKta4DxRgwPAIUAAACBWXBLOGzQKFm3y4gFgRAeZIYyUlKAgwWQAnhYguD8B0YoLCh2s= gCkidWuDFKgjYgDn4UMzoN5Q9fUIxIQNDUAAADraQYQICVnpQAnxAiXNuB7dZs0gFsaHvhgU= cAi+AG2XMXmYgdEUF9MMwVamMI0ueTDlyEAA7') no-repeat 0 2px; font-size: 13px; font-weight: bold; padding: 10px 10px 10px 35px; } /* app/views/newdoc/sidebar/_mini_social.css @ 1348517526 */ .social_panel { text-align: center; background: #EEF2F4; } .social_panel.is_fixed { box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3); border: 0; z-index: 2000; } .social_panel.is_fixed .action_buttons { border-left: 1px solid #c6c8ca; padding: 3px; } .social_panel.is_fixed .action_tooltip { top: 27px !important; } .social_panel.is_fixed .action_tooltip .down_arrow { display: none !important; } .social_panel.is_fixed.has_download .mini_action { display: inline-block; zoom: 1; *display: inline; } .social_panel.is_fixed.has_download .button_row li { padding: 0px 2px; } .social_panel.is_fixed .button_row .readcast_button { display: none; } .social_panel.is_fixed .button_row .toggle_popup_button { display: inline; } .social_panel.is_fixed.popup_open .social_popup { display: block; } .social_panel.is_fixed.popup_open .action_tooltip { display: none !important; }

.social_panel .social_popup { text-align: left; display: none; position: absolute; top: 40px; right: 3px; width: 290px; box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3); border-bottom: 1px solid #b9b9b9; border-left: 1px solid #b9b9b9; border-top: 1px solid white; background: #fdfdfd; padding: 12px; padding-top: 0px; } .social_panel .social_popup .scribd_share { padding-top: 8px; text-align: right; } .social_panel .social_popup .decorative { font-family: Athelas, serif; font-size: 14px; color: #555; } .social_panel .social_popup .external_buttons { padding-bottom: 8px; border-top: 1px solid white; border-bottom: 1px dashed #C8C8C8; white-space: nowrap; text-align: center; } .social_panel .social_popup .image_button { font-family: sans-serif; } .social_panel .social_popup .close_top { overflow: hidden; } .social_panel .social_popup .close_button { color: #888888; float: right; cursor: pointer; font-weight: bold; } .social_panel .social_popup .close_button:hover { color: #a2a2a2; } .social_panel .action_buttons .mini_action { width: 115px; margin-right: 10px; display: none; } .social_panel .image_button, .social_panel .button_row { vertical-align: middle; } .social_panel .button_row { display: inline-block; zoom: 1; *display: inline; border: 1px solid #A1AEB6; border-top-color: #D4DADE;

-moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; -webkit-box-shadow: 0px 1px 0px white; -moz-box-shadow: 0px 1px 0px white; box-shadow: 0px 1px 0px white; } .social_panel .button_row .toggle_popup_button { display: none; } .social_panel .button_row li { float: left; cursor: pointer; border-left: 1px solid #A1AEB6; padding: 0px 13px; background: #c3cace url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA= AAIsAAABgCAYAAAAtmoG+AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpw= YAAAAB3RJTUUH3AIHARk3bEB7DQAAAXVJREFUeNrt3V2KwkAQRtHuzDyL+9+miBhNlzsw30C= kGTxnCeFSXfkR++V2r2rVYM/v7b66CmSxjBquAmEswxFEHIvJQhjLtm2uAiYLJgvzYjFZSGM= ZJguOIQ5fcMVCGsvTzoJjCLEwcWfxUA6TBbHgGOI/TBaxEE8Wz1mIY/FZJWksVdWqfFpJEMv= 5dGo1hh+DsKtf16efDZFNFi8SyXcWt87kd0POIP5wNwTZZHEMkcdishDvLCYL7oawszAtFp8= o4BjiE5PF3RB2FsSCWLDgYrLwlbF464zJwvE7i8lCPlnEQjxZHEPEsbgIhLE8Vn8hQxhLX7q= rQBhLFwthLItYyI+hxVUgnSxiIY3Fgksei8mCWBALYkEsiAWxwJtYfsSCycIHYvEEF5OFo2P= x1pl8snjrjJ0FxxAzjyGThTCW1sRCHItfmRHG8vB/Q4Rst4gFsSAWxIJYEAuIBbEgFsSCWBA= LiAWxIBbEglgQC4gFsSAWZnsBOBifbx8bdzsAAAAASUVORK5CYII=3D') 0 0 repeat-x; position: relative; } .social_panel .button_row li > span { height: 24px; position: relative; top: -1px; } .social_panel .button_row li:hover { background-position: 0 -24px; } .social_panel .button_row li:active { background-position: 0 -48px; } .social_panel .button_row li:active > span { top: 0px; } .social_panel .button_row li:first-child { border-left: 0; } .social_panel .button_row li:hover .action_tooltip { display: block; } .social_panel .button_row li .down_arrow { display: none\9; border-color: rgba(0, 0, 0, 0.8) transparent transparent transparent; border-style: solid; border-width: 5px; height: 0; width: 0; position: absolute; left: 61px; top: 22px; } .social_panel .button_row li .action_tooltip { display: none;

position: absolute; text-align: center; font-size: 13px; top: -30px; left: -40px; width: 120px; padding: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; background: #1f1f1f; background: rgba(0, 0, 0, 0.8); color: white; } .social_panel .social_button { display: inline-block; zoom: 1; *display: inline; } .social_panel .social_button.fb_sb { position: relative; top: -2px; } /* app/views/newdoc/_sticky_bar.css @ 1348517526 */ .sticky_bar { height: 39px; padding-top: 10px; } .sticky_bar .sticky_container { z-index: 2998; height: 38px; -moz-border-radius-topleft: 3px; -webkit-border-top-left-radius: 3px; border-top-left-radius: 3px; border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 3px; border-top-right-radius: 3px; border-radius-topright: 3px; border-bottom: 1px solid #d8d8d6; border-left: 1px solid #fffffe; border-top: 1px solid #fffffe; border-right: 1px solid #fffffe; background-color: #f6f4f0; -webkit-box-shadow: 0px 0px 4px #999999; -moz-box-shadow: 0px 0px 4px #999999; box-shadow: 0px 0px 4px #999999; font-family: Arial, sans-serif; margin: 0 auto; position: relative; } .sticky_bar .sticky_container.fixed { margin: 0; } .sticky_bar .actions_container { margin: 0 auto; white-space: nowrap; } .sticky_bar .actions_container.hide_overflow { overflow: hidden; }

.sticky_bar .download_btn { margin-left: 6px; } .sticky_bar .download_btn .btn_inner { padding: 0 8px; } .sticky_bar .action { -moz-user-select: -moz-none; -webkit-user-select: none; user-select: none; display: inline-block; zoom: 1; *display: inline; vertical-align: middle; position: relative; color: #5d5d5d; font-size: 12px; height: 28px; line-height: 28px; margin-top: 4px; margin-bottom: 4px; margin-left: 6px; cursor: pointer; } .sticky_bar .action.button { padding-left: 6px; padding-right: 6px; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; border: 1px solid #f6f4f0; } .sticky_bar .action.button:hover { background: #fffcfc; /* Old browsers */ background: -moz-linear-gradient(top, #fffcfc 2%, #f3f3f0 3%, #deddd8 = 97%, #d8d7d3 99%); /* FF3.6+ */ background: -webkit-gradient(linear, left top, left bottom, color-stop= (2%, #fffcfc), color-stop(3%, #f3f3f0), color-stop(97%, #deddd8), color-= stop(99%, #d8d7d3)); /* Chrome,Safari4+ */ background: -webkit-linear-gradient(top, #fffcfc 2%, #f3f3f0 3%, #dedd= d8 97%, #d8d7d3 99%); /* Chrome10+,Safari5.1+ */ background: -o-linear-gradient(top, #fffcfc 2%, #f3f3f0 3%, #deddd8 97= %, #d8d7d3 99%); /* Opera 11.10+ */ background: -ms-linear-gradient(top, #fffcfc 2%, #f3f3f0 3%, #deddd8 9= 7%, #d8d7d3 99%); /* IE10+ */ background: linear-gradient(to bottom, #fffcfc 2%, #f3f3f0 3%, #deddd8= 97%, #d8d7d3 99%); /* W3C */ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#f= ffcfc', endColorstr=3D'#d8d7d3',GradientType=3D0 ); /* IE6-9 */ border: 1px solid #b0afa9; color: #383737; }

.sticky_bar .action.button:active { background: #fffcfc; /* Old browsers */ background: -moz-linear-gradient(top, #d8d7d3 2%, #deddd8 3%, #f3f3f0 = 97%, #fffcfc 99%); /* FF3.6+ */ background: -webkit-gradient(linear, left top, left bottom, color-stop= (2%, #d8d7d3), color-stop(3%, #deddd8), color-stop(97%, #f3f3f0), color-= stop(99%, #fffcfc)); /* Chrome,Safari4+ */ background: -webkit-linear-gradient(top, #d8d7d3 2%, #deddd8 3%, #f3f3= f0 97%, #fffcfc 99%); /* Chrome10+,Safari5.1+ */ background: -o-linear-gradient(top, #d8d7d3 2%, #deddd8 3%, #f3f3f0 97= %, #fffcfc 99%); /* Opera 11.10+ */ background: -ms-linear-gradient(top, #d8d7d3 2%, #deddd8 3%, #f3f3f0 9= 7%, #fffcfc 99%); /* IE10+ */ background: linear-gradient(to bottom, #d8d7d3 2%, #deddd8 3%, #f3f3f0= 97%, #fffcfc 99%); /* W3C */ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#f= ffcfc', endColorstr=3D'#d8d7d3',GradientType=3D0 ); /* IE6-9 */ border: 1px solid #b0afa9; color: #383737; } .sticky_bar .zoomers { margin-left: 6px; } .sticky_bar .zoomers:hover .button { background: #fffcfc; /* Old browsers */ background: -moz-linear-gradient(top, #fffcfc 2%, #f3f3f0 3%, #deddd8 = 97%, #d8d7d3 99%); /* FF3.6+ */ background: -webkit-gradient(linear, left top, left bottom, color-stop= (2%, #fffcfc), color-stop(3%, #f3f3f0), color-stop(97%, #deddd8), color-= stop(99%, #d8d7d3)); /* Chrome,Safari4+ */ background: -webkit-linear-gradient(top, #fffcfc 2%, #f3f3f0 3%, #dedd= d8 97%, #d8d7d3 99%); /* Chrome10+,Safari5.1+ */ background: -o-linear-gradient(top, #fffcfc 2%, #f3f3f0 3%, #deddd8 97= %, #d8d7d3 99%); /* Opera 11.10+ */ background: -ms-linear-gradient(top, #fffcfc 2%, #f3f3f0 3%, #deddd8 9= 7%, #d8d7d3 99%); /* IE10+ */ background: linear-gradient(to bottom, #fffcfc 2%, #f3f3f0 3%, #deddd8= 97%, #d8d7d3 99%); /* W3C */ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#f= ffcfc', endColorstr=3D'#d8d7d3',GradientType=3D0 ); /* IE6-9 */ border: 1px solid #b0afa9; color: #383737; }

.sticky_bar .zoomers .button:active { background: #fffcfc; /* Old browsers */ background: -moz-linear-gradient(top, #d8d7d3 2%, #deddd8 3%, #f3f3f0 = 97%, #fffcfc 99%); /* FF3.6+ */ background: -webkit-gradient(linear, left top, left bottom, color-stop= (2%, #d8d7d3), color-stop(3%, #deddd8), color-stop(97%, #f3f3f0), color-= stop(99%, #fffcfc)); /* Chrome,Safari4+ */ background: -webkit-linear-gradient(top, #d8d7d3 2%, #deddd8 3%, #f3f3= f0 97%, #fffcfc 99%); /* Chrome10+,Safari5.1+ */ background: -o-linear-gradient(top, #d8d7d3 2%, #deddd8 3%, #f3f3f0 97= %, #fffcfc 99%); /* Opera 11.10+ */ background: -ms-linear-gradient(top, #d8d7d3 2%, #deddd8 3%, #f3f3f0 9= 7%, #fffcfc 99%); /* IE10+ */ background: linear-gradient(to bottom, #d8d7d3 2%, #deddd8 3%, #f3f3f0= 97%, #fffcfc 99%); /* W3C */ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=3D'#f= ffcfc', endColorstr=3D'#d8d7d3',GradientType=3D0 ); /* IE6-9 */ border: 1px solid #b0afa9; color: #383737; } .sticky_bar .zoomers .button { margin: 0; } .sticky_bar .group { display: inline-block; zoom: 1; *display: inline; border-right: 1px solid #d8d8d6; padding-right: 12px; white-space: nowrap; -webkit-transition: width .2s ease-in-out; -moz-transition: width .2s ease-in-out; transition: width .2s ease-in-out; } .sticky_bar .group.paging { width: 110px; } .sticky_bar .group.main.animate { -webkit-transition: margin-left .2s ease-in-out; -moz-transition: margin-left .2s ease-in-out; transition: margin-left .2s ease-in-out; } .sticky_bar .group.zoom .zoom_in { -moz-border-radius-bottomright: 0px; -webkit-border-bottom-right-radius: 0px; border-bottom-right-radius: 0px; border-radius-bottomright: 0px; -moz-border-radius-topright: 0px; -webkit-border-top-right-radius: 0px; border-top-right-radius: 0px; border-radius-topright: 0px; }

.sticky_bar .group.zoom .zoom_out { -moz-border-radius-bottomleft: 0px; -webkit-border-bottom-left-radius: 0px; border-bottom-left-radius: 0px; border-radius-bottomleft: 0px; -moz-border-radius-topleft: 0px; -webkit-border-top-left-radius: 0px; border-top-left-radius: 0px; border-radius-topleft: 0px; margin-left: -1px; } .sticky_bar .group.social { width: 305px; padding-left: 1px; border-right: none; text-align: left; position: relative; } .sticky_bar .group.social .action { margin-right: 3px; } .sticky_bar .group.social .facebook { position: absolute; right: 126px; padding-top: 4px; width: 90px; } .sticky_bar .group.social .twitter { position: absolute; right: 64px; padding-top: 5px; width: 70px; } .sticky_bar .group.social .linkedin { position: absolute; right: 0px; padding-top: 5px; width: 65px; } .sticky_bar .pager { width: 100%; margin-top: 4px; } .sticky_bar .pager .page_input { height: 25px; width: 26px; -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; font-size: 12px; color: #5d5d5d; background: white; border: 1px solid #494949; text-align: center; margin-top: 2px; -webkit-box-shadow: inset 0px 1px 2px 0px #e6e6e6; -moz-box-shadow: inset 0px 1px 2px 0px #e6e6e6; box-shadow: inset 0px 1px 2px 0px #e6e6e6; } .sticky_bar .pager .decor {

margin-left: 4px; /* Equivalent to having a space */ } .sticky_bar .label { color: #5d5d5d; font-size: 12px; line-height: 38px; margin-left: 20px; margin-right: 0px; margin-top: 1px; } .sticky_bar .comment.at_bottom .go_back { display: inline; } .sticky_bar .comment.at_bottom .go_down { display: none; } .sticky_bar .comment .go_back { display: none; } .sticky_bar .button_bubble { top: -4px; line-height: 8px; height: 8px; font-size: 10px; } /* app/views/newdoc/store/_buy_now.css @ 1348517526 */ .autogen_class_views_newdoc_store_buy_now #buy_now_pane { background-color: #FFFCF2; padding: 8px 10px; margin: 0 0; color: #666; } .autogen_class_views_newdoc_store_buy_now #buy_now_pane li { list-style-type: disc; margin-left: 15px; line-height: 1.5em; } .autogen_class_views_newdoc_store_buy_now #buy_now_pane h1 { color: #022f40; } .autogen_class_views_newdoc_store_buy_now .list_price_container { margin: 0 0 4px 10px; float: left; font-size: 11px; } .autogen_class_views_newdoc_store_buy_now .list_price_container .strike = { text-decoration: line-through; } .autogen_class_views_newdoc_store_buy_now .list_price_container p { padding: 0; margin: 0; } .autogen_class_views_newdoc_store_buy_now .list_price_container .save { text-shadow: none; display: inline-block; } .autogen_class_views_newdoc_store_buy_now .collection_list_price .list_p= rice_container {

margin-left: 0; padding: 0 0 8px 0; } .autogen_class_views_newdoc_store_buy_now .buy_button { float: left; clear: left; } .autogen_class_views_newdoc_store_buy_now .dark { color: #022f40; } .autogen_class_views_newdoc_store_buy_now .fancy_or { padding: 10px 0; text-align: center; width: 100%; float: left; clear: both; margin: 10px 0; vertical-align: middle; } .autogen_class_views_newdoc_store_buy_now .fancy_or p { font-family: Athelas, serif; font-size: 26px; padding: 5px 10px; margin: 0; color: #022f40; display: inline; line-height: 40px; } .autogen_class_views_newdoc_store_buy_now .collection_upsell { clear: left; margin: 10px 0 20px 0; } .autogen_class_views_newdoc_store_buy_now .collection_upsell h2 { font-size: 21px; font-weight: normal; color: #146c88; } .autogen_class_views_newdoc_store_buy_now .collection_upsell h3 { font-size: 18px; line-spacing: 21px; color: #022f40; } .autogen_class_views_newdoc_store_buy_now .dash { display: inline-block; zoom: 1; *display: inline; border-top: 1px solid #E5E3DB; width: 75px; vertical-align: middle; } /* app/views/newdoc/store/_header.css @ 1348517526 */ .autogen_class_views_newdoc_store_header { font-size: 14px; font-weight: bold; } .autogen_class_views_newdoc_store_header a { font-weight: bold; color: white; text-decoration: underline; }

.autogen_class_views_newdoc_store_header .seller_header { padding: 8px 0px; background: #f7b100; color: white; border-bottom: 2px dashed white; margin-bottom: 8px; text-shadow: 1px 1px 1px #5e4300; box-shadow: inset 0px 1px 4px #916800; } .autogen_class_views_newdoc_store_header .warning { background: #f5423e; box-shadow: inset 0px 1px 4px #c30e0a; text-shadow: 1px 1px 1px #920b08; color: white; padding: 8px 0px; } /* app/views/newdoc/unconverted/show.css @ 1348517526 */ .autogen_class_views_newdoc_unconverted_show .converting_column { display: inline-block; text-align: left; } .autogen_class_views_newdoc_unconverted_show h1, .autogen_class_views_ne= wdoc_unconverted_show h2 { font-family: Athelas, serif; } .autogen_class_views_newdoc_unconverted_show h1 { margin-top: 10px; color: #555; font-size: 24px; text-shadow: 1px 1px 0px white; width: 728px; } .autogen_class_views_newdoc_unconverted_show h2 { background: #EEF2F4; color: #2D5266; text-shadow: 1px 1px 0px white; font-size: 24px; padding: 10px 20px; } .autogen_class_views_newdoc_unconverted_show .fake_page { margin: 20px 0px; background: white; } .autogen_class_views_newdoc_unconverted_show .fake_page .inner { padding: 1em; padding-top: 0px; } .autogen_class_views_newdoc_unconverted_show .fake_page .inner ol, .auto= gen_class_views_newdoc_unconverted_show .fake_page .inner li { list-style: decimal; margin-left: 20px; margin-bottom: 10px; } .autogen_class_views_newdoc_unconverted_show .sub { color: #818181; } /* app/views/newdoc/unconverted/show.rb:9 @ 1348517526 */ .autogen_class_views_newdoc_unconverted_show .outer_page { position: relative; }

.autogen_class_views_newdoc_unconverted_show .outer_page .b_tl { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AMAAAADCAYAAABWKLW/AAAABmJLR0QA2ADYANhLVLGJAAAACXBIWXMAAAsSAAALEgHS3X78A= AAAB3RJTUUH3AEQFQYgs4juDgAAABxJREFUCB1jZmBgYIJiFmYgA4RZgJgVxmEFciQBAx4AP= wapwCYAAAAASUVORK5CYII=3D'); background-position: top left; background-repeat: no-repeat; position: absolute; height: 3px; width: 3px; top: -3px; left: -3px; } .autogen_class_views_newdoc_unconverted_show .outer_page .b_tr { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AMAAAADCAYAAABWKLW/AAAABmJLR0QA2ADYANhLVLGJAAAACXBIWXMAAAsSAAALEgHS3X78A= AAAB3RJTUUH3AEQFQ876C+cqwAAAB9JREFUCB0FwQEBABAQALE5Twf9i9rCwaBwsbHCw6APA= +MAO2myB9oAAAAASUVORK5CYII=3D'); background-position: top right; background-repeat: no-repeat; position: absolute; height: 3px; width: 3px; top: -3px; right: -3px; } .autogen_class_views_newdoc_unconverted_show .outer_page .b_br { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AMAAAADCAYAAABWKLW/AAAABmJLR0QA2ADYANhLVLGJAAAACXBIWXMAAAsSAAALEgHS3X78A= AAAB3RJTUUH3AEQFQ8wf/1FIwAAAB5JREFUCFtjYGBgUAFibiBmZYAy2IGYhQEqwgzETAAI1= QBVSzJ1RQAAAABJRU5ErkJggg=3D=3D'); background-position: bottom right; background-repeat: no-repeat; position: absolute; height: 3px; width: 3px; bottom: -3px; right: -3px; } .autogen_class_views_newdoc_unconverted_show .outer_page .b_bl { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AMAAAADCAYAAABWKLW/AAAABmJLR0QA2ADYANhLVLGJAAAACXBIWXMAAAsSAAALEgHS3X78A= AAAB3RJTUUH3AEQFQ8ijEQ0awAAABxJREFUCB1jZmBgYAViTiCWZwYSjEAMAt+QOf8AFK0CL= dSykVIAAAAASUVORK5CYII=3D'); background-position: bottom left; background-repeat: no-repeat; position: absolute; height: 3px; width: 3px; bottom: -3px; left: -3px; } .autogen_class_views_newdoc_unconverted_show .outer_page .b_t { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AEAAAADCAYAAABS3WWCAAAABmJLR0QA2ADYANhLVLGJAAAACXBIWXMAAAsSAAALEgHS3X78A= AAAB3RJTUUH3AEQFREd7mMmiQAAABBJREFUCNdjYGBg4GCCESIAAMkAKYlqLLQAAAAASUVOR= K5CYII=3D'); background-repeat: repeat-x; position: absolute; height: 3px;

top: -3px; left: 0px; right: 0px; } .autogen_class_views_newdoc_unconverted_show .outer_page .b_r { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AMAAAABCAYAAAAb4BS0AAAABmJLR0QA2ADYANhLVLGJAAAACXBIWXMAAAsSAAALEgHS3X78A= AAAB3RJTUUH3AEQFRESftw7GAAAABJJREFUCB1jYGBgUAFiASDmAAABqQA9n2mcnQAAAABJR= U5ErkJggg=3D=3D'); background-repeat: repeat-y; position: absolute; width: 3px; right: -3px; top: 0px; bottom: 0px; } .autogen_class_views_newdoc_unconverted_show .outer_page .b_b { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AEAAAADCAYAAABS3WWCAAAABmJLR0QA2ADYANhLVLGJAAAACXBIWXMAAAsSAAALEgHS3X78A= AAAB3RJTUUH3AEQFREB+mJ6xgAAABJJREFUCB1jAAIVBiAQYAACDgACAwA9yAbErgAAAABJR= U5ErkJggg=3D=3D'); background-repeat: repeat-x; position: absolute; height: 3px; bottom: -3px; left: 0px; right: 0px; } .autogen_class_views_newdoc_unconverted_show .outer_page .b_l { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AMAAAABCAYAAAAb4BS0AAAABmJLR0QA2ADYANhLVLGJAAAACXBIWXMAAAsSAAALEgHS3X78A= AAAB3RJTUUH3AEQFQo7lVho7gAAAA9JREFUCNdjZGBg4IBiEQAAngAmsaKc+wAAAABJRU5Er= kJggg=3D=3D'); background-repeat: repeat-y; position: absolute; width: 3px; left: -3px; top: 0px; bottom: 0px; } /* app/views/readcast/dialog.css @ 1348517526 */ .readcast_dialog { font-size: 14px; } .readcast_dialog .link_flash { font-size: 13px; font-weight: bold; color: #4A993B; } .readcast_dialog .link_flash .error_flash { color: #DB6161; } .readcast_dialog .settings_container { border-top: 1px dashed #C7CACE; margin-top: 12px; padding-top: 6px; } .readcast_dialog .settings_container .control_buttons { text-align: right; margin-top: 18px;

padding: 0px 8px; } .readcast_dialog .settings_container .control_buttons button { margin-left: 4px; } .readcast_dialog .settings_container .spinner { display: none; } .readcast_dialog .settings_container.loading .spinner { display: inline; float: none; } .readcast_dialog .settings_container .prefs_for_next_time { display: none; } .readcast_dialog .settings_container .pref_container, .readcast_dialog .= settings_container .header_buttons { padding: 0px 2px; border-bottom: 1px solid #c7cdd1; } .readcast_dialog .settings_container .far_right { border-left: 1px solid #c7cdd1; } .readcast_dialog .settings_container .header_buttons { margin-top: 18px; line-height: 20px; } .readcast_dialog .settings_container .header_buttons .header_field { float: right; font-weight: bold; font-size: 10px; text-align: center; color: #798187; width: 46px; } .readcast_dialog .settings_container .pref_container { padding: 6px 2px; text-align: right; line-height: 25px; } .readcast_dialog .settings_container .pref_container .sharing_option { display: inline-block; zoom: 1; *display: inline; padding: 0px 16px; } .readcast_dialog .settings_container .pref_container .description, .read= cast_dialog .settings_container .pref_container .site_icon { margin-left: 9px; float: left; } .readcast_dialog .center { text-align: center; } .readcast_dialog .link_buttons, .readcast_dialog .actions { display: inline-block; zoom: 1; *display: inline; vertical-align: top; }

.readcast_dialog .link_buttons { border-right: 1px solid #c7cdd1; padding-right: 20px; margin-right: 20px; } .readcast_dialog .link_unit { display: inline-block; zoom: 1; *display: inline; text-align: center; padding: 8px; color: #798187; } .readcast_dialog .link_unit .checkbox, .readcast_dialog .link_unit .sent= _text { display: none; } .readcast_dialog .link_unit.linked .link_button { background-position: 0 -46px; } .readcast_dialog .link_unit.linked .link_text { display: none; } .readcast_dialog .link_unit.linked .checkbox { display: block; } .readcast_dialog .link_unit.active .link_button { background-position: 0 -92px; } .readcast_dialog .link_unit.sent .flag { display: block; } .readcast_dialog .link_unit.sent .checkbox { display: none; } .readcast_dialog .link_unit.sent .sent_text { display: block; } .readcast_dialog .link_button { width: 54px; height: 46px; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAC= 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 jQrrbGgAAAABJRU5ErkJggg=3D=3D') 0 0 no-repeat; margin-bottom: 4px; cursor: pointer; } .readcast_dialog .link_button .flag { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAA= aCAYAAABGiCfwAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3pJREF=

USIm11XlIk3EYwHGJCImiY6t3c5lmlJV0iKblvDtMk+gwCaIiiuqPLsuaGh1oSgZmTbe979y= 8Wrud72rlkZnTLoL6J4QOhQz6YzIyrJBIe3revXM2TPPYBl+3vfv9fp+9OHh8Tt/gB2NdIqk= fZFMCyPFAzDkimV/3WTHfgmdHCDfxfJiYP+Itaf70NWVkr/xuLJQ/iIfyukmGZ5RZokFcEw6= XlEH9CJ4axLhY8aYdC0z55Noej4HOlPfjIL9yOSAY7eO8xdlY4YZtAmOuNNxOmT0LMjeQLQm= 0ODBUmecZWF78Vj/9ZXGYjaJjQTlBUHFvMxSTJ0FxN4m9OzynsDr0qwtzgr7YxbgUvu5CUeh= nko4ZN8hAJWQetLe3Qyl51fGeuX5Ltx7cMCc4DTsXu4WvFV1f00XWjh0chGw2GzCPzk+vQGl= h765UL3Rixe7htanYiegkniazYGWHjBaCsg7/j/VDSbXpIK9Ndb1XWDYilOuCvvR2gqpp6PN= SQxSLZdwkhoXXp2BHMPXp3BVvSXodfsMoqGgQgkyTDiZTDSgrZSCnk/EXl+AOfeuAO4+SHWs= HkxgjWezMrXkjhp/vZ8DjF5e+IelwqKiPAIOlAAYGBqCvr88Blsjy3CBN82aoaox0S1oTxmJ= nxdxRwzVpDHgsa/FryrwGqh5GwEdbk+NwBrTb7Y7XPd8+gLYlEaqbwoYlq13NYpklc/8brkt= hwMPnAl+S5pDf1U2roau7EQYfPd/fg641Bm43r/pnuIfFzktmjylcm4ipDmb4P6XMwQOq5pU= INiD0DgxtUXCnZcWIye8Fs5hIOmvM4XohVr3vuMBK0UH9qsfLQN8WCmrrklErswQ5MXLmuMI= 9YVjlnqP8R6R54S9VSyBo2haNmuJBAItlkTPGHe4Lwcp3H+I1ymjBT7V1AWif+IPu6b8rrxO= wWDY1fULh3iWYfOcBok5qIvrUVh4ezAf9s+FV1BMsliP3nXC4PwCTbttLWEqN3B+a1nl4+Hw= wPHevsoHrxMp8JxWewWeGcEo6QZfoOb3aNg4CXDC+GKqqkeMxzDWEk3YRpmINp0fT6g56GnM= N4Y3bCWPRbY5dYx0CvYG5hnBCKqEvrODY1E7QW5hrCMen8HT5FOezuoWDP5C5XsP+GsI87RU= Jt4syexdzDeEYHMIS4xyFt7G/h7DPH6KF2HcJqSwMAAAAAElFTkSuQmCC') top right no= -repeat; width: 54px; height: 46px; display: none; } .readcast_dialog .link_button.twitter_account { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= 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3D=3D'); } .readcast_dialog .link_button.facebook_account { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= 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 QAAAABJRU5ErkJggg=3D=3D'); } .readcast_dialog .actions { text-align: center; padding-top: 8px; padding-right: 8px; } .readcast_dialog .actions .row { margin-bottom: 4px; width: 120px; } .readcast_dialog .actions .submit_message { display: none; color: #798187; font-weight: bold; font-size: 18px; height: 45px; } .readcast_dialog .actions.sent .submit_message { display: block; } .readcast_dialog .actions.sent .submit_readcast { display: none; } .readcast_dialog .actions .submit_readcast { display: inline-block; zoom: 1; *display: inline; font-size: 18px;

height: 45px; line-height: 45px; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAC= HCAYAAACs0WTsAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3R= JTUUH3AEXEQca9kGWmAAAA+FJREFUeNrt3TFqXFcUx+H/1cjSOAgCghRx4zQiRcBFMASliDq= hSpAqrRagyoUWoQWk9R5SaQ2ugouQJiLENjiFCgslgTFzbwrZO3iGd5jvA23gFj/Oue/N0/Z= XPz17mOTnJD8m+TwAM7Wd5PLp0dHZ4fFxdpdLJwLMOlgndwdP8vzVbVb9nRMBZh2snet/Vml= 7yzTnAcw8WGkZaRlOAygQrDHShmABBYK1NUba6E4DqDBhdcECagQrsRICJiyAqYNlwgKKBGt= rjGyZsAArIYCVENjIYPWe1k1YQIFgJT2xEgI1JqxhwgKKTFgu3YEywer9/g+gwoTlDgsoMmE= NExZQJFieEgJ1Jix3WIBgAUwdrJHR/TQHKBCsMUaGOyygxIQ1rIRAkWD1Pu5fbQCY/UrYe4Y= JC6gTrLXTAAoEa3hKCJQJVveUECgSrPVIX5uwgALB6r7pDpQJlm+6A2VWwhHvYQFVVkKfSAa= qTFh+/AyUmbD8NAeosxKODxdZAHNfCf0TCqDOhJVEr4ACwVql9wwrIVAgWFft5u/z9RePksW= 2EwFmHayLxc3bvcXN29Mk+44EmHOwPlo4DmDuwbp8enR0dnh8nN3l0okAsw7Wyd3Bkzx/dZt= Vf+dEgFkHa+ePf9+n7XlKCMw/WGm+hwWUCVZGWgQLKBCs+C0hUGfCigkLKBIsd1iAYAFMvhK= 6dAeKBCsxYQFVguUpIVBmJXSHBdQKlk+OAhVWwowPfwBWQoCJJiyX7kCZYPV+/wcw+2DFhAV= YCQE+RbCshIAJC0CwgA0M1hjDv6oHqkxY3R0WYMICmHjCGkkXLKDEhBUTFlBnwhIsoMiE5bU= GoEqw/PgZMGEBTB6s+OAoUCRYPi8DlAmWOyyg0krotQagTLDcYQFFguUOCxAsACshYMICmHW= wVsPH+4Aiwbpqb/48748Pku0HTgSYdbAu2uvrvcXr69Mk+44EmHOwPlo4DmDuwbr8+rvDs29= +OMqD3aUTAWYdrJO7Lx/nl9//yvu1y3dg3sHaeXP7X/Lws7TWnAgw62BFpoA6wWqqBZQKlmI= BBYKV1gQLsBICTDthpaUpFlBjwmpeaQCKBCuusAATFoBgARsarHhKCJiwAKYOltcagForoWA= BVkKAKScsvyUEBAtg4mBFrwATFoBgARu7EnrVHTBhAQgWsLHBimABRYKVluEOC7ASAggWsIn= BGl5rAMpMWDFhAVUmLCshUGfCAjBhAXyKCUuwABMWwITBcg5AnZXQe1iAlRBg6gkLoEawVqN= 3KyFQIlhX/bdfz7e+/T7ZXToRYNbBuugvX+z1ly9Ok+w7EmCu/gfRo5lDTpX3RgAAAABJRU5= ErkJggg=3D=3D') 0 0 no-repeat; text-decoration: none; } .readcast_dialog .actions .submit_readcast .inner { height: 45px; position: relative; left: 3px; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAC= HCAYAAADTCeNxAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3R= JTUUH3AEXEQ4LTTMNIwAAAcVJREFUOMuNk7FuE0EURc+MJRBVaircIDoqJESVlprGbX6AxhI= RP5CGij+IvyEVfAANBUIpojREERAJilgoCiDW9rsUs7vzZjNrxa6e7r1n3uzejdPZ/Nd0Nj+= czub34suDg50nu7t7wJt4+O2K64ePAZ7H1cY4+90A3IkBERAAMUgEtUOUEdUrRpBlG4wptwT= 0tmBGsFZBBphXHIAOgBkUmVJRhVZm/CBTzkiGut0whzYT1tvMUAZs/KAMSLQOsBHatIpJWGc= zM6wE0NkM8xvIVFmnoJWH5udBlNRdu4m2XhEufwK8i3dPPy0nlz8WwH4EJrS/LUVqTHz5s2q= LVLxT3yokKBVqPRgFFH0raSXA8pD8NVsBGBRp7JxUsbriBsm9+qKWpWI3Mv79VGll3wolR1q= FWsbKc4aZ+qHjNugq1kStGsLFeSrS5MP7Zfh+VinSi1evdx49fZaKdHT6lev7D1KR1iYurv6= 2RQLXkAAh9EPIA04a2MiINuNtUFXc4PJDG+nvNqAKcLvdWLR/IOM2/BW22PwGul0mfVde6Qa= FgPIGbtGBEkaU/PUMr7AFTeg62kQ1/7CTz6lI68XbpR1/XAD7/wEbdL5umnsaXQAAAABJRU5= ErkJggg=3D=3D') 100% no-repeat; padding-left: 21px; padding-right: 24px; color: white; font-weight: bold; text-shadow: 1px 1px 0px #184452; } .readcast_dialog .actions .submit_readcast:hover { background-position: 0 -45px; } .readcast_dialog .actions .submit_readcast:hover .inner { background-position: 100% -45px; } .readcast_dialog .actions .submit_readcast:active { background-position: 0 -90px; } .readcast_dialog .actions .submit_readcast:active .inner { background-position: 100% -90px; }

.readcast_dialog .icon_scribd_25x25 { width: 25px; height: 25px; background: url('data:image/gif;base64,R0lGODlhGQAZAOYAAAAAAFGvrR44Rf/= //y8rJ+Pj4nx5d8fCwCQeGWRfXKmopiFjiRoWEj41MH3//xkHA0pEQYyJhyslITYtKVDO8dv= a2SWCuff390/D4BAJBCojHwsrNtbV1VJMSDszLyJGWSAaGEE5Mm1qabe0swQSGxgRDpWSkIW= Bf+/v7kM8OCggGjApImJdWjd3imbg3hYOChAJBgcAAB8XEbGurYF1cXZyblvZ/MrJyL27uZ2= bmSpDQiovKkRAPUpKQpOQjiARCDw2MxQOCgoGAmhjYY+Gg397ejkxKyMTDvf3/+bl5d3d3QQ= DBXFtasfFxZSRjyGDvb62tUpCOkpKSrW1rSALAx9IX6CWkXdzcMzKyMG/vi4/PjUuKP///wA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAE= HAFwALAAAAAAZABkAAAf/gFwhg4SFhoeDgoiLjIcNj1sgDJMaHpaIj5mZICodTFcJITIamqW= lWzIJHCgDAxdJMykIHqalEzI1F627rQUQs7SZlsMqKUmtF004Fbs4KivD0ZYTIAbIQzAAHbo= DBUYq0kbiRpE+rUkwJTIqSq0jCCvj8uKoJ7s+DC8vPDkmHioT5s0D0YFXBQNAMsQooWGLQ3k= TIkbUUCICL1cKIGSAt6Kjwy0dV0gYKQOGgQIXB5zIAEKDy5cjY458AYCAASwXmWSAOTJkRwQ= yIACJIYQBhBm7KqiQ0bOjTAkynLQqUgJEkBg5WkE58kDD05gyQuxClw6AiAFEhOjYceQryRS= 7dlBAmARByYElARy40HLkpV8EJZC2QsGBgy4aG2xgoNCCyksVkCGXUJEl5QArJCw8efLhR+T= PkIMEYXIjCQoUSZqwyCBgQRUZCCIjmE0bAYgYGQjw4EEABgwQP4KDqE0chHFJCnEzOM6cNvP= n0KMf5yK9OnQugQAAOw=3D=3D'); } .readcast_dialog .icon_fb_25x25 { width: 25px; height: 25px; background: url('data:image/gif;base64,R0lGODlhGQAZANUAABk+hJqryFZvoP7= ++nCHsDlWldzg62p9rYSUtzhWmau5zy5Lj2Bzo5Sku7fF1jtblD9ZmStJjFt1rGyEsnWLs42= buT9all5xoC9PjUZhnMjN3itQjZ2rzvj7/WN7rHuNsLC70yFCjGuFrS1NkYmXuFtxpEdgmJS= kw6e0zi5NkXmJsv///ztanTJSlXSCtIuavmaAr6KwyF54qKm407zG1UxlnFFqoiBAhd7l7WF= 2rbW/2ImXvP///wAAAAAAAAAAACH5BAEHADwALAAAAAAZABkAAAbqQB5kSCwaj0MhcjlsOVu= FKBO5schg2Ix0WmyRcIOV+JPiElmYhni9UrXMTUGHLaaU4ZvX2oCgfGoJCXgcaxU3IxiCcBA= bAWskI4tEGwAnawgAGxsJLCxMDwk1DS8aazQvJyclBVMPLQx0dAh3S64XsWwub1MtJbhrB7t= cBwwgazEyBwcmiyk3lmIIIU6sRA/X2EYLjmIvtEbY19rcK95GnZ1M22svkUVR8PHxEeQ7EfI= S+fr7+jYKaxxs8JtAoKDBgwU9OFgzwwPCCRAjSoyYQ8caFB4matyokGFGiTywiMQyUcZCMTN= kgAwCADs=3D'); } .readcast_dialog .icon_twitter_25x25 { width: 25px; height: 25px; background: url('data:image/gif;base64,R0lGODlhGQAaANUAAGfV6p/r9tj295T= l6L7v8Yzi55Tn9+b8/4Tg5cH0+6Xp7Ob4+Y3m97Xt78Xw8vb//9j3/YXZ6pvm6azl8a7u94z= b7MHx+nre87vx+s74/Z7m68X2+974/bTw+L/0+uj6/oXi9dz29ozj5+78/rXo86fq+P///8n= 3/WvW64bk96Xs953q98rx84fe7/D6/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEHAC8ALAAAAAAZABoAAAbewJdwSCwai4OkcslsJl/= OqDTaqE6nksVjK7hGBY+T2OQQeZkLyGb9EZjPynRifuhq7ndv2sPnPFyAgQsKUwsZHRiJa4t= rHC4SUoYdk5QdFJeXIw1vTQsbmKCgKpqcaAkqqKGYGS4akR4BsRt/gYEThRgruhAhEgq/v3q= 5KwYZIQgFycl6FgbOFA8sDtPTCqVNAgIMzgYdEBzg4NFTBB8pDOjpKespAQ+EUi4lFyD19vc= cBNdLBA8tACgCChSY7woLFyQqKFxYIcKEVl4UCBhBsSLFQXAyapwCZSOTF0EAADs=3D'); }= /* app/views/shared/alerts/base.css @ 1348517526 */ .autogen_class_views_shared_alerts_base { /* Defines styles needed for various global alerts and messaging, as d= efined here http://sites.google.com/site/scribdredesign/Latest-Mocks/ale= rts-messaging */ border-width: 1px; border-style: solid; } .autogen_class_views_shared_alerts_base .inner { font-size: 13px; padding: 10px 10px 10px 35px; font-weight: bold;

background-position: 0 2px; background-color: transparent; background-repeat: no-repeat; } .autogen_class_views_shared_alerts_base .inner .right_message { float: right; font-size: 11px; margin-left: 10px; } .autogen_class_views_shared_alerts_base .inner .right_message input { font-size: 11px; } .autogen_class_views_shared_alerts_base .inner ul { margin-top: 10px; list-style-type: disc; } .autogen_class_views_shared_alerts_base .inner ul li { list-style-type: disc; margin-left: 15px; margin-bottom: 3px; } /* app/views/shared/alerts/_error.css @ 1348517526 */ .autogen_class_views_shared_alerts_error { background: white url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AEAAAAhCAIAAACX21boAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAArwAAAK8AFCrDSYAAAAH= HRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M0BrLToAAAAC1JREFUCJl1zbENACAMA= 8GX9585TwVKEBQurrCNVRGCnnSr4WN352Hb3u3xBwuDYDoF8OTxgAAAAABJRU5ErkJggg=3D= =3D') bottom left repeat-x; border-color: #990000; } .autogen_class_views_shared_alerts_error .inner { color: #990000; background-image: url('data:image/gif;base64,R0lGODlhIQAhANUAAJkAAObKy= s2CgrZMTK8BAffv76oqKtOrq8NqauQAAL4BAfHl5c+cnPv3958QEOW9verc3LdRUa4WFswAA= J0ICP///9qgoLUUFMh6erE7O+/W1qAVFe7g4N/Dw7xCQtCLi/Xn56sHB7sGBqUHB9UAAOK1t= btZWa43N/MAAPz399aMjKYjI/fe3sVxcbwyMtylpacBAdaamqwxMbUXF7MGBtwAAMYFBbYBA= esAAMUBAejGxuvOzsp7e9+vr6IYGP///yH5BAEHAD8ALAAAAAAhACEAAAb/wJ9wSCwaj8ikc= slsOp/QZGWaSk0r0WOlyuVis8NtqkEuV79g8ezCvswaVrCwonlRRDabiPLSpOQ/PAgxISQoK= BMjMQgYcgMZPRoSNjg4NhIaPScDWSY+LzuSIgkJIhIsGhYOJlAPADw6GhwSNDU1NBILCzs8A= D1PAzIlARoLLoUkIS4gIBo6BgMgTgACDzscIB4hE4keBcwavQsFTHY91izZIzk5FN7fHK4M0= kt2Dw/FBR4UCgruZN80UGCwoByFexqYqaBw4wYFFWUKLBg4rh6FHrEUUiBA4GHEHQAIklvyK= ta4DxRgwPAIUAAACBWXBLOGzQKFm3y4gFgRAeZIYyUlKAgwWQAnhYguD8B0YoLCh2sgCkidW= uDFKgjYgDn4UMzoN5Q9fUIxIQNDUAAADraQYQICVnpQAnxAiXNuB7dZs0gFsaHvhgUcAi+AG= 2XMXmYgdEUF9MMwVamMI0ueTDlyEAA7'); } /* app/views/shared/alerts/_language_bar.css @ 1348517526 */ .autogen_class_views_shared_alerts_language_bar { background-image: url('/images/share_settings/bkd_header_lgtblu_336_x_= 39.gif'); display: none; } .autogen_class_views_shared_alerts_language_bar .inner { padding: 14px 0; width: 985px; margin: 0 auto; color: #FFF; text-align: left; } .autogen_class_views_shared_alerts_language_bar .inner #close_language_b= ar {

float: right; font-size: 30px; line-height: 24px; cursor: pointer; margin: 2px 0; } .autogen_class_views_shared_alerts_language_bar .inner h3 { font-family: Athelas, serif; color: #022f40; font-size: 20px; margin: 2px 0; } .autogen_class_views_shared_alerts_language_bar .inner .language_selecto= r_row { font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; margin: 2px 0; } .autogen_class_views_shared_alerts_language_bar .inner .language_selecto= r_row .language_selector { color: #666; z-index: 2999; } .autogen_class_views_shared_alerts_language_bar .inner .language_selecto= r_row .language_selector_container { border: 0; margin-left: 0; padding-left: 0; } /* app/views/shared/alerts/_progress.css @ 1348517526 */ .autogen_class_views_shared_alerts_progress { background: white url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AEAAAAhCAYAAAAYucG/AAAACXBIWXMAAArwAAAK8AFCrDSYAAAAKklEQVQIHWP49+/ffyYGI= GD6//8/lEBwESywLBoXIYYmgcZFqEOzg0h1ADpcP/51US90AAAAAElFTkSuQmCC') bottom= left repeat-x; border-color: #777777; } .autogen_class_views_shared_alerts_progress .inner { color: #999999; padding-left: 10px; } .autogen_class_views_shared_alerts_progress img { padding-right: 10px; } /* app/views/shared/alerts/_success.css @ 1348517526 */ .autogen_class_views_shared_alerts_success { background: white url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AEAAAAhCAIAAACX21boAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAArwAAAK8AFCrDSYAAAAH= HRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M0BrLToAAAAC9JREFUCJl1jEEKADAMg= yT/f3PdpaOFsZsQDWUFjRA1YNTIML2J7W7+d8L413k/D+QMQP4KYbEGAAAAAElFTkSuQmCC'= ) bottom left repeat-x; border-color: #679934; } .autogen_class_views_shared_alerts_success .inner { color: #679934; background-image: url('data:image/gif;base64,R0lGODlhIQAhAOYAAISnJcfZt= JW3cnajSHehLObm5oquSa+9D7LEoJSyLNrf1oivYbXBDH6mUKPBhZaxHHGfQuvt6pm3TJazQ= r7OrdHZyrvECaK3FX+oV97e3qq8IZCzXJ63PYmrMqi+krPBGrXHpHutUp64Up66gs7evXmlT= Ojw4aW9PoqrIo6yW4WtXZ67Wqm8NrzSpdrmzpy0GK3BmKO4I+/v77HLl6bBisLHBcXetY6vV=

YGnUZ24QpG0Ye/064WsVaW8jXKhQ77FFLnKqLXNnaO5TpStIaC6UoesYc7etd7m1n2kKZ21J= oyvaIGoWLjCF9HexYy1Y67IlP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= CH5BAEHAFAALAAAAAAhACEAAAf7gFCCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXjSYtAZiFRxg6G= EGdgiQDGwQpAqQtAwZIBgNNnTQYHQAGJRQRjUEYGJyGAikJKBMDFAUFjAE+CRIlO4RHKjpDQ= xMQFBkFvIozAzkPDxsOgy4lK+McJUDcy4tLRC/0SQMuUKbzLxwQIO+9cMS4QFDEgicDThCM4= eMfNxmOaDTQcKAiDxwaMmrAgSDDw0cRRtyoeIAFxQMaGnjwWAAipAJKbjCYOfMDDhgsXUKSo= aDIDQtAmTTokZOSjAIYhNT4oVLBx0oRKiwRMrTopageEDhtSSpCAatdI0TQSaqs2bNo06o9F= AgAOw=3D=3D'); } /* app/views/shared/alerts/_success_blue.css @ 1348517526 */ .autogen_class_views_shared_alerts_success_blue { background: white url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AEAAAAhCAIAAACX21boAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAArwAAAK8AFCrDSYAAAAH= HRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M0BrLToAAAACZJREFUCJmNiTEKADAMh= OT+/+azQ+madBAUaY0YJeqF54zN8r8aD3OmSfXs5KF+AAAAAElFTkSuQmCC') bottom lef= t repeat-x; border-color: #1E5388; } .autogen_class_views_shared_alerts_success_blue .inner { color: #1E5388; background-image: url('data:image/gif;base64,R0lGODlhIQAhANUAAB5UiW2lx= WWLq+bm5hRpnt7e3qe5ywx8sJquwBpckZi0xQmDthtaju7u7rDN3muXuBJuohhhlQaKvh5Xi= 6bF1g16rRFypmmcvJqzxBdkmbHI2miMrQt+shVonXKVtavH2BBzrXCmxWOUrZ2wwqW9zrLK2= ////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEHACYALAAAAAAhACEAAAbTQJNwSCwaj8ikc= slsOp/QqHRKrVqvWGRo4ig6JoFqCJCYfIbfBCAsDQAqksiEYvpmJBbARTpJLCQSGRMXExF/C= wwTDVFfhgsLEQCOkBMKA4tQH4UHCxyenmUKBZdSFH0HqKihBaNUD28VsXkirKRSmgkWurplG= LZRJRMMEMTFEIkGmFAawh3ODAAAzh2JJFLRGdkTAALY2dHKTh4ADHIACAUj0RHQGwNS49Hoo= xjR3KPh4gAjtQ0NBgA29JvSYIBBZQUPVvF3hGGWhxAjSpxIseKSIAA7'); } /* app/views/shared/alerts/_success_red.css @ 1348517526 */ .autogen_class_views_shared_alerts_success_red { background: white url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA= AEAAAAhCAIAAACX21boAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAArwAAAK8AFCrDSYAAAAH= HRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M0BrLToAAAAC1JREFUCJl1zbENACAMA= 8GX9585TwVKEBQurrCNVRGCnnSr4WN352Hb3u3xBwuDYDoF8OTxgAAAAABJRU5ErkJggg=3D= =3D') bottom left repeat-x; border-color: #990000; } .autogen_class_views_shared_alerts_success_red .inner { color: #990000; background-image: url('data:image/gif;base64,R0lGODlhIQAhANUAAJkAAMyZm= bZVVebm5rQAAN7e3siTk+cAAN4AAMUAAM1cXOKpqaUAAO7u7swAALZXV9ygoMdcXK0AANVjY= 82SkuGmpr0BAeuqqtYAAMVjY+akpNaUlOOqqr9VVbxdXdWdnf///wAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEHACAALAAAAAAhACEAAAbKQJBwSCwaj8ikc= slsOp/QqHRKrVqvWOQEcCleAJPqlgHQDL/ksHTrOEgAEJAGQDgkAAopgHHovxUAEn0HZA1RX= xIIim+JiwAbA4ZQFYEYlpcYZBQFkVIQe5gYb5ucVBEADqmpAB0FnJJRlAyqqZqdUhx7Fgm8v= BZkAbBPC3sEFr8AdMdkH3p0BATJAsnQ0QDCTRl7bwAGBQbJEmQPA1Layd6cAckAAq9SHt2uk= Q0fAA/z2E4NA/2w/P6qNNAHYmCWgwgTKlzIsCGTIAA7'); } ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline; filename=scribd_options.js Content-Type: application/x-javascript; charset=utf-8; name=scribd_options.js Content-Location: http://s6.scribdassets.com/javascripts/scribd_options.js Content-Transfer-Encoding: Base64 d2luZG93Ll9zYmRPcHRpb25zX0ZCQXV0b0xvZ2luRW5hYmxlZCA9IHRydWU7Cndp

bmRvdy5fc2JkT3B0aW9uc19EZXRlY3RKU0Vycm9ycyA9IGZhbHNlOwp3aW5kb3cu X3NiZE9wdGlvbnNfRm91cmdlblNlYXJjaEVuYWJsZWQgPSB0cnVlOwp3aW5kb3cu X3NiZE9wdGlvbnNfR2xvYmFsQXV0b0NvbXBsZXRlckVuYWJsZWQgPSB0cnVlOwo= ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline; filename=exposed_to_client.js Content-Type: text/javascript; charset=utf-8; name=exposed_to_client.js Content-Location: http://s5.scribdassets.com/options/exposed_to_client.js?134852 1600 Content-Transfer-Encoding: 8bit if(!window.Scribd) var Scribd = new Object(); Scribd.ServerOptions = {"document_recommendations_test_enabled":false,"ad_refres h_engagement_tracking_delay":1200,"ad_refresh_interval":60,"ad_refresh_idle_time _before_inactive":60,"payments_store_disabled":false}; ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline; filename=newdoc.js Content-Type: application/x-javascript; charset=utf-8; name=newdoc.js Content-Location: http://s6.scribdassets.com/aggregated/javascript/newdoc.js?134 8517579 Content-Transfer-Encoding: Base64 LyogOmFzc2V0X3BhY2thZ2VyX2NvbXBhdGliaWxpdHksICdjb25maWcvYXNzZXRf cGFja2FnZXMueW1sJyBAIDEzNDg1MTc1NzkgKi8KLyogcHVibGljL2phdmFzY3Jp cHRzL2RlcGVuZHNfb24uanMgQCAxMzQ4NTE3NTc5ICovCgppZighd2luZG93LlNj cmliZCl2YXIgU2NyaWJkPW5ldyBPYmplY3QoKTtTY3JpYmQuRGVwZW5kc09uPShm dW5jdGlvbigpe3ZhciBQUkVGSVg9Imx6eV9qc18iO3ZhciBQQVRIX1BSRUZJWEVT PXsicHVibGljLyI6InB1YmxpYy9qYXZhc2NyaXB0cy8iLCJ2aWV3cy8iOiJhcHAv dmlld3MvIn0KUEFUSF9QUkVGSVhFU1sicC8iXT1QQVRIX1BSRUZJWEVTWyJwdWJs aWMvIl07UEFUSF9QUkVGSVhFU1sidi8iXT1QQVRIX1BSRUZJWEVTWyJ2aWV3cy8i XTt2YXIgYWxyZWFkeUxvYWRlZD17fTtmdW5jdGlvbiBnbG9iYWxFdmFsKGpzKXt2 YXIgZWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7ZWwudGV4dD1q cztkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsKTt9CmZ1bmN0aW9uIGxvYWRK Uyhqcyl7Z2xvYmFsRXZhbCh3aW5kb3dbUFJFRklYK2pzXSk7fQpmdW5jdGlvbiBh cHBseUV4cGFuZGVkUGF0aChwYXRoKXtmb3IoaW5kZXggaW4gUEFUSF9QUkVGSVhF Uyl7dmFyIGV4cGFuZGVkUGF0aD1QQVRIX1BSRUZJWEVTW2luZGV4XTtpZihwYXRo LnN0YXJ0c1dpdGgoaW5kZXgpKXtwYXRoPXBhdGguc3Vic3RyKGluZGV4Lmxlbmd0 aCxwYXRoLmxlbmd0aCk7cmV0dXJuIGV4cGFuZGVkUGF0aCtwYXRoO319CnJldHVy biBwYXRoO30KZnVuY3Rpb24gZmlsdGVyUGF0aChwYXRoKXtwYXRoPWFwcGx5RXhw YW5kZWRQYXRoKHBhdGgpO3BhdGg9cGF0aC5nc3ViKCIvIiwiXyIpO3JldHVybiBw YXRoO30KcmV0dXJuIGZ1bmN0aW9uKGRlcGVuZHNPbixjYWxsYmFjayl7aWYoZGVw ZW5kc09uLmVhY2g9PXVuZGVmaW5lZCl7ZGVwZW5kc09uPUFycmF5KGRlcGVuZHNP bik7fQpkZXBlbmRzT24uZWFjaChmdW5jdGlvbihqc0ZpbGUpe2pzRmlsZT1maWx0 ZXJQYXRoKGpzRmlsZSk7aWYoYWxyZWFkeUxvYWRlZFtqc0ZpbGVdIT10cnVlKXts b2FkSlMoanNGaWxlKTthbHJlYWR5TG9hZGVkW2pzRmlsZV09dHJ1ZTt9fSk7aWYo Y2FsbGJhY2spY2FsbGJhY2suY2FsbCgpO319KSgpO1NjcmliZC5Mb2FkSlM9U2Ny aWJkLkRlcGVuZHNPbjsKCgovKiBwdWJsaWMvamF2YXNjcmlwdHMvcHJvdG90eXBl XzFfNy5qcyBAIDEzNDg1MTc1NzkgKi8KCnZhciBQcm90b3R5cGU9e1ZlcnNpb246 JzEuNycsQnJvd3NlcjooZnVuY3Rpb24oKXt2YXIgdWE9bmF2aWdhdG9yLnVzZXJB Z2VudDt2YXIgaXNPcGVyYT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwo d2luZG93Lm9wZXJhKT09J1tvYmplY3QgT3BlcmFdJztyZXR1cm57SUU6ISF3aW5k b3cuYXR0YWNoRXZlbnQmJiFpc09wZXJhLE9wZXJhOmlzT3BlcmEsV2ViS2l0OnVh LmluZGV4T2YoJ0FwcGxlV2ViS2l0LycpPi0xLEdlY2tvOnVhLmluZGV4T2YoJ0dl Y2tvJyk+LTEmJnVhLmluZGV4T2YoJ0tIVE1MJyk9PT0tMSxNb2JpbGVTYWZhcmk6 L0FwcGxlLipNb2JpbGUvLnRlc3QodWEpfX0pKCksQnJvd3NlckZlYXR1cmVzOntY UGF0aDohIWRvY3VtZW50LmV2YWx1YXRlLFNlbGVjdG9yc0FQSTohIWRvY3VtZW50 LnF1ZXJ5U2VsZWN0b3IsRWxlbWVudEV4dGVuc2lvbnM6KGZ1bmN0aW9uKCl7dmFy IGNvbnN0cnVjdG9yPXdpbmRvdy5FbGVtZW50fHx3aW5kb3cuSFRNTEVsZW1lbnQ7

cmV0dXJuISEoY29uc3RydWN0b3ImJmNvbnN0cnVjdG9yLnByb3RvdHlwZSk7fSko KSxTcGVjaWZpY0VsZW1lbnRFeHRlbnNpb25zOihmdW5jdGlvbigpe2lmKHR5cGVv ZiB3aW5kb3cuSFRNTERpdkVsZW1lbnQhPT0ndW5kZWZpbmVkJykKcmV0dXJuIHRy dWU7dmFyIGRpdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSxmb3JtPWRv Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Zvcm0nKSxpc1N1cHBvcnRlZD1mYWxzZTtp ZihkaXZbJ19fcHJvdG9fXyddJiYoZGl2WydfX3Byb3RvX18nXSE9PWZvcm1bJ19f cHJvdG9fXyddKSl7aXNTdXBwb3J0ZWQ9dHJ1ZTt9CmRpdj1mb3JtPW51bGw7cmV0 dXJuIGlzU3VwcG9ydGVkO30pKCl9LFNjcmlwdEZyYWdtZW50Oic8c2NyaXB0W14+ XSo+KFtcXFNcXHNdKj8pPFwvc2NyaXB0PicsSlNPTkZpbHRlcjovXlwvXCotc2Vj dXJlLShbXHNcU10qKVwqXC9ccyokLyxlbXB0eUZ1bmN0aW9uOmZ1bmN0aW9uKCl7 fSxLOmZ1bmN0aW9uKHgpe3JldHVybiB4fX07aWYoUHJvdG90eXBlLkJyb3dzZXIu TW9iaWxlU2FmYXJpKQpQcm90b3R5cGUuQnJvd3NlckZlYXR1cmVzLlNwZWNpZmlj RWxlbWVudEV4dGVuc2lvbnM9ZmFsc2U7dmFyIEFic3RyYWN0PXt9O3ZhciBUcnk9 e3RoZXNlOmZ1bmN0aW9uKCl7dmFyIHJldHVyblZhbHVlO2Zvcih2YXIgaT0wLGxl bmd0aD1hcmd1bWVudHMubGVuZ3RoO2k8bGVuZ3RoO2krKyl7dmFyIGxhbWJkYT1h cmd1bWVudHNbaV07dHJ5e3JldHVyblZhbHVlPWxhbWJkYSgpO2JyZWFrO31jYXRj aChlKXt9fQpyZXR1cm4gcmV0dXJuVmFsdWU7fX07dmFyIENsYXNzPShmdW5jdGlv bigpe3ZhciBJU19ET05URU5VTV9CVUdHWT0oZnVuY3Rpb24oKXtmb3IodmFyIHAg aW57dG9TdHJpbmc6MX0pe2lmKHA9PT0ndG9TdHJpbmcnKXJldHVybiBmYWxzZTt9 CnJldHVybiB0cnVlO30pKCk7ZnVuY3Rpb24gc3ViY2xhc3MoKXt9O2Z1bmN0aW9u IGNyZWF0ZSgpe3ZhciBwYXJlbnQ9bnVsbCxwcm9wZXJ0aWVzPSRBKGFyZ3VtZW50 cyk7aWYoT2JqZWN0LmlzRnVuY3Rpb24ocHJvcGVydGllc1swXSkpCnBhcmVudD1w cm9wZXJ0aWVzLnNoaWZ0KCk7ZnVuY3Rpb24ga2xhc3MoKXt0aGlzLmluaXRpYWxp emUuYXBwbHkodGhpcyxhcmd1bWVudHMpO30KT2JqZWN0LmV4dGVuZChrbGFzcyxD bGFzcy5NZXRob2RzKTtrbGFzcy5zdXBlcmNsYXNzPXBhcmVudDtrbGFzcy5zdWJj bGFzc2VzPVtdO2lmKHBhcmVudCl7c3ViY2xhc3MucHJvdG90eXBlPXBhcmVudC5w cm90b3R5cGU7a2xhc3MucHJvdG90eXBlPW5ldyBzdWJjbGFzcztwYXJlbnQuc3Vi Y2xhc3Nlcy5wdXNoKGtsYXNzKTt9CmZvcih2YXIgaT0wLGxlbmd0aD1wcm9wZXJ0 aWVzLmxlbmd0aDtpPGxlbmd0aDtpKyspCmtsYXNzLmFkZE1ldGhvZHMocHJvcGVy dGllc1tpXSk7aWYoIWtsYXNzLnByb3RvdHlwZS5pbml0aWFsaXplKQprbGFzcy5w cm90b3R5cGUuaW5pdGlhbGl6ZT1Qcm90b3R5cGUuZW1wdHlGdW5jdGlvbjtrbGFz cy5wcm90b3R5cGUuY29uc3RydWN0b3I9a2xhc3M7cmV0dXJuIGtsYXNzO30KZnVu Y3Rpb24gYWRkTWV0aG9kcyhzb3VyY2Upe3ZhciBhbmNlc3Rvcj10aGlzLnN1cGVy Y2xhc3MmJnRoaXMuc3VwZXJjbGFzcy5wcm90b3R5cGUscHJvcGVydGllcz1PYmpl Y3Qua2V5cyhzb3VyY2UpO2lmKElTX0RPTlRFTlVNX0JVR0dZKXtpZihzb3VyY2Uu dG9TdHJpbmchPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcpCnByb3BlcnRpZXMu cHVzaCgidG9TdHJpbmciKTtpZihzb3VyY2UudmFsdWVPZiE9T2JqZWN0LnByb3Rv dHlwZS52YWx1ZU9mKQpwcm9wZXJ0aWVzLnB1c2goInZhbHVlT2YiKTt9CmZvcih2 YXIgaT0wLGxlbmd0aD1wcm9wZXJ0aWVzLmxlbmd0aDtpPGxlbmd0aDtpKyspe3Zh ciBwcm9wZXJ0eT1wcm9wZXJ0aWVzW2ldLHZhbHVlPXNvdXJjZVtwcm9wZXJ0eV07 aWYoYW5jZXN0b3ImJk9iamVjdC5pc0Z1bmN0aW9uKHZhbHVlKSYmdmFsdWUuYXJn dW1lbnROYW1lcygpWzBdPT0iJHN1cGVyIil7dmFyIG1ldGhvZD12YWx1ZTt2YWx1 ZT0oZnVuY3Rpb24obSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGFuY2VzdG9y W21dLmFwcGx5KHRoaXMsYXJndW1lbnRzKTt9O30pKHByb3BlcnR5KS53cmFwKG1l dGhvZCk7dmFsdWUudmFsdWVPZj1tZXRob2QudmFsdWVPZi5iaW5kKG1ldGhvZCk7 dmFsdWUudG9TdHJpbmc9bWV0aG9kLnRvU3RyaW5nLmJpbmQobWV0aG9kKTt9CnRo aXMucHJvdG90eXBlW3Byb3BlcnR5XT12YWx1ZTt9CnJldHVybiB0aGlzO30KcmV0 dXJue2NyZWF0ZTpjcmVhdGUsTWV0aG9kczp7YWRkTWV0aG9kczphZGRNZXRob2Rz fX07fSkoKTsoZnVuY3Rpb24oKXt2YXIgX3RvU3RyaW5nPU9iamVjdC5wcm90b3R5 cGUudG9TdHJpbmcsTlVMTF9UWVBFPSdOdWxsJyxVTkRFRklORURfVFlQRT0nVW5k ZWZpbmVkJyxCT09MRUFOX1RZUEU9J0Jvb2xlYW4nLE5VTUJFUl9UWVBFPSdOdW1i ZXInLFNUUklOR19UWVBFPSdTdHJpbmcnLE9CSkVDVF9UWVBFPSdPYmplY3QnLEZV TkNUSU9OX0NMQVNTPSdbb2JqZWN0IEZ1bmN0aW9uXScsQk9PTEVBTl9DTEFTUz0n W29iamVjdCBCb29sZWFuXScsTlVNQkVSX0NMQVNTPSdbb2JqZWN0IE51bWJlcl0n LFNUUklOR19DTEFTUz0nW29iamVjdCBTdHJpbmddJyxBUlJBWV9DTEFTUz0nW29i amVjdCBBcnJheV0nLERBVEVfQ0xBU1M9J1tvYmplY3QgRGF0ZV0nLE5BVElWRV9K U09OX1NUUklOR0lGWV9TVVBQT1JUPXdpbmRvdy5KU09OJiZ0eXBlb2YgSlNPTi5z dHJpbmdpZnk9PT0nZnVuY3Rpb24nJiZKU09OLnN0cmluZ2lmeSgwKT09PScwJyYm dHlwZW9mIEpTT04uc3RyaW5naWZ5KFByb3RvdHlwZS5LKT09PSd1bmRlZmluZWQn O2Z1bmN0aW9uIFR5cGUobyl7c3dpdGNoKG8pe2Nhc2UgbnVsbDpyZXR1cm4gTlVM

TF9UWVBFO2Nhc2Uodm9pZCAwKTpyZXR1cm4gVU5ERUZJTkVEX1RZUEU7fQp2YXIg dHlwZT10eXBlb2Ygbztzd2l0Y2godHlwZSl7Y2FzZSdib29sZWFuJzpyZXR1cm4g Qk9PTEVBTl9UWVBFO2Nhc2UnbnVtYmVyJzpyZXR1cm4gTlVNQkVSX1RZUEU7Y2Fz ZSdzdHJpbmcnOnJldHVybiBTVFJJTkdfVFlQRTt9CnJldHVybiBPQkpFQ1RfVFlQ RTt9CmZ1bmN0aW9uIGV4dGVuZChkZXN0aW5hdGlvbixzb3VyY2Upe2Zvcih2YXIg cHJvcGVydHkgaW4gc291cmNlKQpkZXN0aW5hdGlvbltwcm9wZXJ0eV09c291cmNl W3Byb3BlcnR5XTtyZXR1cm4gZGVzdGluYXRpb247fQpmdW5jdGlvbiBpbnNwZWN0 KG9iamVjdCl7dHJ5e2lmKGlzVW5kZWZpbmVkKG9iamVjdCkpcmV0dXJuJ3VuZGVm aW5lZCc7aWYob2JqZWN0PT09bnVsbClyZXR1cm4nbnVsbCc7cmV0dXJuIG9iamVj dC5pbnNwZWN0P29iamVjdC5pbnNwZWN0KCk6U3RyaW5nKG9iamVjdCk7fWNhdGNo KGUpe2lmKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKXJldHVybicuLi4nO3Rocm93 IGU7fX0KZnVuY3Rpb24gdG9KU09OKHZhbHVlKXtyZXR1cm4gU3RyKCcnLHsnJzp2 YWx1ZX0sW10pO30KZnVuY3Rpb24gU3RyKGtleSxob2xkZXIsc3RhY2spe3ZhciB2 YWx1ZT1ob2xkZXJba2V5XSx0eXBlPXR5cGVvZiB2YWx1ZTtpZihUeXBlKHZhbHVl KT09PU9CSkVDVF9UWVBFJiZ0eXBlb2YgdmFsdWUudG9KU09OPT09J2Z1bmN0aW9u Jyl7dmFsdWU9dmFsdWUudG9KU09OKGtleSk7fQp2YXIgX2NsYXNzPV90b1N0cmlu Zy5jYWxsKHZhbHVlKTtzd2l0Y2goX2NsYXNzKXtjYXNlIE5VTUJFUl9DTEFTUzpj YXNlIEJPT0xFQU5fQ0xBU1M6Y2FzZSBTVFJJTkdfQ0xBU1M6dmFsdWU9dmFsdWUu dmFsdWVPZigpO30Kc3dpdGNoKHZhbHVlKXtjYXNlIG51bGw6cmV0dXJuJ251bGwn O2Nhc2UgdHJ1ZTpyZXR1cm4ndHJ1ZSc7Y2FzZSBmYWxzZTpyZXR1cm4nZmFsc2Un O30KdHlwZT10eXBlb2YgdmFsdWU7c3dpdGNoKHR5cGUpe2Nhc2Unc3RyaW5nJzpy ZXR1cm4gdmFsdWUuaW5zcGVjdCh0cnVlKTtjYXNlJ251bWJlcic6cmV0dXJuIGlz RmluaXRlKHZhbHVlKT9TdHJpbmcodmFsdWUpOidudWxsJztjYXNlJ29iamVjdCc6 Zm9yKHZhciBpPTAsbGVuZ3RoPXN0YWNrLmxlbmd0aDtpPGxlbmd0aDtpKyspe2lm KHN0YWNrW2ldPT09dmFsdWUpe3Rocm93IG5ldyBUeXBlRXJyb3IoKTt9fQpzdGFj ay5wdXNoKHZhbHVlKTt2YXIgcGFydGlhbD1bXTtpZihfY2xhc3M9PT1BUlJBWV9D TEFTUyl7Zm9yKHZhciBpPTAsbGVuZ3RoPXZhbHVlLmxlbmd0aDtpPGxlbmd0aDtp Kyspe3ZhciBzdHI9U3RyKGksdmFsdWUsc3RhY2spO3BhcnRpYWwucHVzaCh0eXBl b2Ygc3RyPT09J3VuZGVmaW5lZCc/J251bGwnOnN0cik7fQpwYXJ0aWFsPSdbJytw YXJ0aWFsLmpvaW4oJywnKSsnXSc7fWVsc2V7dmFyIGtleXM9T2JqZWN0LmtleXMo dmFsdWUpO2Zvcih2YXIgaT0wLGxlbmd0aD1rZXlzLmxlbmd0aDtpPGxlbmd0aDtp Kyspe3ZhciBrZXk9a2V5c1tpXSxzdHI9U3RyKGtleSx2YWx1ZSxzdGFjayk7aWYo dHlwZW9mIHN0ciE9PSJ1bmRlZmluZWQiKXtwYXJ0aWFsLnB1c2goa2V5Lmluc3Bl Y3QodHJ1ZSkrJzonK3N0cik7fX0KcGFydGlhbD0neycrcGFydGlhbC5qb2luKCcs JykrJ30nO30Kc3RhY2sucG9wKCk7cmV0dXJuIHBhcnRpYWw7fX0KZnVuY3Rpb24g c3RyaW5naWZ5KG9iamVjdCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iamVjdCk7 fQpmdW5jdGlvbiB0b1F1ZXJ5U3RyaW5nKG9iamVjdCl7cmV0dXJuICRIKG9iamVj dCkudG9RdWVyeVN0cmluZygpO30KZnVuY3Rpb24gdG9IVE1MKG9iamVjdCl7cmV0 dXJuIG9iamVjdCYmb2JqZWN0LnRvSFRNTD9vYmplY3QudG9IVE1MKCk6U3RyaW5n LmludGVycHJldChvYmplY3QpO30KZnVuY3Rpb24ga2V5cyhvYmplY3Qpe2lmKFR5 cGUob2JqZWN0KSE9PU9CSkVDVF9UWVBFKXt0aHJvdyBuZXcgVHlwZUVycm9yKCk7 fQp2YXIgcmVzdWx0cz1bXTtmb3IodmFyIHByb3BlcnR5IGluIG9iamVjdCl7aWYo b2JqZWN0Lmhhc093blByb3BlcnR5KHByb3BlcnR5KSl7cmVzdWx0cy5wdXNoKHBy b3BlcnR5KTt9fQpyZXR1cm4gcmVzdWx0czt9CmZ1bmN0aW9uIHZhbHVlcyhvYmpl Y3Qpe3ZhciByZXN1bHRzPVtdO2Zvcih2YXIgcHJvcGVydHkgaW4gb2JqZWN0KQpy ZXN1bHRzLnB1c2gob2JqZWN0W3Byb3BlcnR5XSk7cmV0dXJuIHJlc3VsdHM7fQpm dW5jdGlvbiBjbG9uZShvYmplY3Qpe3JldHVybiBleHRlbmQoe30sb2JqZWN0KTt9 CmZ1bmN0aW9uIGlzRWxlbWVudChvYmplY3Qpe3JldHVybiEhKG9iamVjdCYmb2Jq ZWN0Lm5vZGVUeXBlPT0xKTt9CmZ1bmN0aW9uIGlzQXJyYXkob2JqZWN0KXtyZXR1 cm4gX3RvU3RyaW5nLmNhbGwob2JqZWN0KT09PUFSUkFZX0NMQVNTO30KdmFyIGhh c05hdGl2ZUlzQXJyYXk9KHR5cGVvZiBBcnJheS5pc0FycmF5PT0nZnVuY3Rpb24n KSYmQXJyYXkuaXNBcnJheShbXSkmJiFBcnJheS5pc0FycmF5KHt9KTtpZihoYXNO YXRpdmVJc0FycmF5KXtpc0FycmF5PUFycmF5LmlzQXJyYXk7fQpmdW5jdGlvbiBp c0hhc2gob2JqZWN0KXtyZXR1cm4gb2JqZWN0IGluc3RhbmNlb2YgSGFzaDt9CmZ1 bmN0aW9uIGlzRnVuY3Rpb24ob2JqZWN0KXtyZXR1cm4gX3RvU3RyaW5nLmNhbGwo b2JqZWN0KT09PUZVTkNUSU9OX0NMQVNTO30KZnVuY3Rpb24gaXNTdHJpbmcob2Jq ZWN0KXtyZXR1cm4gX3RvU3RyaW5nLmNhbGwob2JqZWN0KT09PVNUUklOR19DTEFT Uzt9CmZ1bmN0aW9uIGlzTnVtYmVyKG9iamVjdCl7cmV0dXJuIF90b1N0cmluZy5j YWxsKG9iamVjdCk9PT1OVU1CRVJfQ0xBU1M7fQpmdW5jdGlvbiBpc0RhdGUob2Jq ZWN0KXtyZXR1cm4gX3RvU3RyaW5nLmNhbGwob2JqZWN0KT09PURBVEVfQ0xBU1M7

fQpmdW5jdGlvbiBpc1VuZGVmaW5lZChvYmplY3Qpe3JldHVybiB0eXBlb2Ygb2Jq ZWN0PT09InVuZGVmaW5lZCI7fQpleHRlbmQoT2JqZWN0LHtleHRlbmQ6ZXh0ZW5k LGluc3BlY3Q6aW5zcGVjdCx0b0pTT046TkFUSVZFX0pTT05fU1RSSU5HSUZZX1NV UFBPUlQ/c3RyaW5naWZ5OnRvSlNPTix0b1F1ZXJ5U3RyaW5nOnRvUXVlcnlTdHJp bmcsdG9IVE1MOnRvSFRNTCxrZXlzOk9iamVjdC5rZXlzfHxrZXlzLHZhbHVlczp2 YWx1ZXMsY2xvbmU6Y2xvbmUsaXNFbGVtZW50OmlzRWxlbWVudCxpc0FycmF5Omlz QXJyYXksaXNIYXNoOmlzSGFzaCxpc0Z1bmN0aW9uOmlzRnVuY3Rpb24saXNTdHJp bmc6aXNTdHJpbmcsaXNOdW1iZXI6aXNOdW1iZXIsaXNEYXRlOmlzRGF0ZSxpc1Vu ZGVmaW5lZDppc1VuZGVmaW5lZH0pO30pKCk7T2JqZWN0LmV4dGVuZChGdW5jdGlv bi5wcm90b3R5cGUsKGZ1bmN0aW9uKCl7dmFyIHNsaWNlPUFycmF5LnByb3RvdHlw ZS5zbGljZTtmdW5jdGlvbiB1cGRhdGUoYXJyYXksYXJncyl7dmFyIGFycmF5TGVu Z3RoPWFycmF5Lmxlbmd0aCxsZW5ndGg9YXJncy5sZW5ndGg7d2hpbGUobGVuZ3Ro LS0pYXJyYXlbYXJyYXlMZW5ndGgrbGVuZ3RoXT1hcmdzW2xlbmd0aF07cmV0dXJu IGFycmF5O30KZnVuY3Rpb24gbWVyZ2UoYXJyYXksYXJncyl7YXJyYXk9c2xpY2Uu Y2FsbChhcnJheSwwKTtyZXR1cm4gdXBkYXRlKGFycmF5LGFyZ3MpO30KZnVuY3Rp b24gYXJndW1lbnROYW1lcygpe3ZhciBuYW1lcz10aGlzLnRvU3RyaW5nKCkubWF0 Y2goL15bXHNcKF0qZnVuY3Rpb25bXihdKlwoKFteKV0qKVwpLylbMV0ucmVwbGFj ZSgvXC9cLy4qP1tcclxuXXxcL1wqKD86LnxbXHJcbl0pKj9cKlwvL2csJycpLnJl cGxhY2UoL1xzKy9nLCcnKS5zcGxpdCgnLCcpO3JldHVybiBuYW1lcy5sZW5ndGg9 PTEmJiFuYW1lc1swXT9bXTpuYW1lczt9CmZ1bmN0aW9uIGJpbmQoY29udGV4dCl7 aWYoYXJndW1lbnRzLmxlbmd0aDwyJiZPYmplY3QuaXNVbmRlZmluZWQoYXJndW1l bnRzWzBdKSlyZXR1cm4gdGhpczt2YXIgX19tZXRob2Q9dGhpcyxhcmdzPXNsaWNl LmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe3ZhciBhPW1lcmdl KGFyZ3MsYXJndW1lbnRzKTtyZXR1cm4gX19tZXRob2QuYXBwbHkoY29udGV4dCxh KTt9fQpmdW5jdGlvbiBiaW5kQXNFdmVudExpc3RlbmVyKGNvbnRleHQpe3ZhciBf X21ldGhvZD10aGlzLGFyZ3M9c2xpY2UuY2FsbChhcmd1bWVudHMsMSk7cmV0dXJu IGZ1bmN0aW9uKGV2ZW50KXt2YXIgYT11cGRhdGUoW2V2ZW50fHx3aW5kb3cuZXZl bnRdLGFyZ3MpO3JldHVybiBfX21ldGhvZC5hcHBseShjb250ZXh0LGEpO319CmZ1 bmN0aW9uIGN1cnJ5KCl7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXM7 dmFyIF9fbWV0aG9kPXRoaXMsYXJncz1zbGljZS5jYWxsKGFyZ3VtZW50cywwKTty ZXR1cm4gZnVuY3Rpb24oKXt2YXIgYT1tZXJnZShhcmdzLGFyZ3VtZW50cyk7cmV0 dXJuIF9fbWV0aG9kLmFwcGx5KHRoaXMsYSk7fX0KZnVuY3Rpb24gZGVsYXkodGlt ZW91dCl7dmFyIF9fbWV0aG9kPXRoaXMsYXJncz1zbGljZS5jYWxsKGFyZ3VtZW50 cywxKTt0aW1lb3V0PXRpbWVvdXQqMTAwMDtyZXR1cm4gd2luZG93LnNldFRpbWVv dXQoZnVuY3Rpb24oKXtyZXR1cm4gX19tZXRob2QuYXBwbHkoX19tZXRob2QsYXJn cyk7fSx0aW1lb3V0KTt9CmZ1bmN0aW9uIGRlZmVyKCl7dmFyIGFyZ3M9dXBkYXRl KFswLjAxXSxhcmd1bWVudHMpO3JldHVybiB0aGlzLmRlbGF5LmFwcGx5KHRoaXMs YXJncyk7fQpmdW5jdGlvbiB3cmFwKHdyYXBwZXIpe3ZhciBfX21ldGhvZD10aGlz O3JldHVybiBmdW5jdGlvbigpe3ZhciBhPXVwZGF0ZShbX19tZXRob2QuYmluZCh0 aGlzKV0sYXJndW1lbnRzKTtyZXR1cm4gd3JhcHBlci5hcHBseSh0aGlzLGEpO319 CmZ1bmN0aW9uIG1ldGhvZGl6ZSgpe2lmKHRoaXMuX21ldGhvZGl6ZWQpcmV0dXJu IHRoaXMuX21ldGhvZGl6ZWQ7dmFyIF9fbWV0aG9kPXRoaXM7cmV0dXJuIHRoaXMu X21ldGhvZGl6ZWQ9ZnVuY3Rpb24oKXt2YXIgYT11cGRhdGUoW3RoaXNdLGFyZ3Vt ZW50cyk7cmV0dXJuIF9fbWV0aG9kLmFwcGx5KG51bGwsYSk7fTt9CnJldHVybnth cmd1bWVudE5hbWVzOmFyZ3VtZW50TmFtZXMsYmluZDpiaW5kLGJpbmRBc0V2ZW50 TGlzdGVuZXI6YmluZEFzRXZlbnRMaXN0ZW5lcixjdXJyeTpjdXJyeSxkZWxheTpk ZWxheSxkZWZlcjpkZWZlcix3cmFwOndyYXAsbWV0aG9kaXplOm1ldGhvZGl6ZX19 KSgpKTsoZnVuY3Rpb24ocHJvdG8pe2Z1bmN0aW9uIHRvSVNPU3RyaW5nKCl7cmV0 dXJuIHRoaXMuZ2V0VVRDRnVsbFllYXIoKSsnLScrCih0aGlzLmdldFVUQ01vbnRo KCkrMSkudG9QYWRkZWRTdHJpbmcoMikrJy0nKwp0aGlzLmdldFVUQ0RhdGUoKS50 b1BhZGRlZFN0cmluZygyKSsnVCcrCnRoaXMuZ2V0VVRDSG91cnMoKS50b1BhZGRl ZFN0cmluZygyKSsnOicrCnRoaXMuZ2V0VVRDTWludXRlcygpLnRvUGFkZGVkU3Ry aW5nKDIpKyc6JysKdGhpcy5nZXRVVENTZWNvbmRzKCkudG9QYWRkZWRTdHJpbmco MikrJ1onO30KZnVuY3Rpb24gdG9KU09OKCl7cmV0dXJuIHRoaXMudG9JU09TdHJp bmcoKTt9CmlmKCFwcm90by50b0lTT1N0cmluZylwcm90by50b0lTT1N0cmluZz10 b0lTT1N0cmluZztpZighcHJvdG8udG9KU09OKXByb3RvLnRvSlNPTj10b0pTT047 fSkoRGF0ZS5wcm90b3R5cGUpO1JlZ0V4cC5wcm90b3R5cGUubWF0Y2g9UmVnRXhw LnByb3RvdHlwZS50ZXN0O1JlZ0V4cC5lc2NhcGU9ZnVuY3Rpb24oc3RyKXtyZXR1 cm4gU3RyaW5nKHN0cikucmVwbGFjZSgvKFsuKis/Xj0hOiR7fSgpfFtcXVwvXFxd KS9nLCdcXCQxJyk7fTt2YXIgUGVyaW9kaWNhbEV4ZWN1dGVyPUNsYXNzLmNyZWF0

ZSh7aW5pdGlhbGl6ZTpmdW5jdGlvbihjYWxsYmFjayxmcmVxdWVuY3kpe3RoaXMu Y2FsbGJhY2s9Y2FsbGJhY2s7dGhpcy5mcmVxdWVuY3k9ZnJlcXVlbmN5O3RoaXMu Y3VycmVudGx5RXhlY3V0aW5nPWZhbHNlO3RoaXMucmVnaXN0ZXJDYWxsYmFjaygp O30scmVnaXN0ZXJDYWxsYmFjazpmdW5jdGlvbigpe3RoaXMudGltZXI9c2V0SW50 ZXJ2YWwodGhpcy5vblRpbWVyRXZlbnQuYmluZCh0aGlzKSx0aGlzLmZyZXF1ZW5j eSoxMDAwKTt9LGV4ZWN1dGU6ZnVuY3Rpb24oKXt0aGlzLmNhbGxiYWNrKHRoaXMp O30sc3RvcDpmdW5jdGlvbigpe2lmKCF0aGlzLnRpbWVyKXJldHVybjtjbGVhcklu dGVydmFsKHRoaXMudGltZXIpO3RoaXMudGltZXI9bnVsbDt9LG9uVGltZXJFdmVu dDpmdW5jdGlvbigpe2lmKCF0aGlzLmN1cnJlbnRseUV4ZWN1dGluZyl7dHJ5e3Ro aXMuY3VycmVudGx5RXhlY3V0aW5nPXRydWU7dGhpcy5leGVjdXRlKCk7dGhpcy5j dXJyZW50bHlFeGVjdXRpbmc9ZmFsc2U7fWNhdGNoKGUpe3RoaXMuY3VycmVudGx5 RXhlY3V0aW5nPWZhbHNlO3Rocm93IGU7fX19fSk7T2JqZWN0LmV4dGVuZChTdHJp bmcse2ludGVycHJldDpmdW5jdGlvbih2YWx1ZSl7cmV0dXJuIHZhbHVlPT1udWxs PycnOlN0cmluZyh2YWx1ZSk7fSxzcGVjaWFsQ2hhcjp7J1xiJzonXFxiJywnXHQn OidcXHQnLCdcbic6J1xcbicsJ1xmJzonXFxmJywnXHInOidcXHInLCdcXCc6J1xc XFwnfX0pO09iamVjdC5leHRlbmQoU3RyaW5nLnByb3RvdHlwZSwoZnVuY3Rpb24o KXt2YXIgTkFUSVZFX0pTT05fUEFSU0VfU1VQUE9SVD13aW5kb3cuSlNPTiYmdHlw ZW9mIEpTT04ucGFyc2U9PT0nZnVuY3Rpb24nJiZKU09OLnBhcnNlKCd7InRlc3Qi OiB0cnVlfScpLnRlc3Q7ZnVuY3Rpb24gcHJlcGFyZVJlcGxhY2VtZW50KHJlcGxh Y2VtZW50KXtpZihPYmplY3QuaXNGdW5jdGlvbihyZXBsYWNlbWVudCkpcmV0dXJu IHJlcGxhY2VtZW50O3ZhciB0ZW1wbGF0ZT1uZXcgVGVtcGxhdGUocmVwbGFjZW1l bnQpO3JldHVybiBmdW5jdGlvbihtYXRjaCl7cmV0dXJuIHRlbXBsYXRlLmV2YWx1 YXRlKG1hdGNoKX07fQpmdW5jdGlvbiBnc3ViKHBhdHRlcm4scmVwbGFjZW1lbnQp e3ZhciByZXN1bHQ9Jycsc291cmNlPXRoaXMsbWF0Y2g7cmVwbGFjZW1lbnQ9cHJl cGFyZVJlcGxhY2VtZW50KHJlcGxhY2VtZW50KTtpZihPYmplY3QuaXNTdHJpbmco cGF0dGVybikpCnBhdHRlcm49UmVnRXhwLmVzY2FwZShwYXR0ZXJuKTtpZighKHBh dHRlcm4ubGVuZ3RofHxwYXR0ZXJuLnNvdXJjZSkpe3JlcGxhY2VtZW50PXJlcGxh Y2VtZW50KCcnKTtyZXR1cm4gcmVwbGFjZW1lbnQrc291cmNlLnNwbGl0KCcnKS5q b2luKHJlcGxhY2VtZW50KStyZXBsYWNlbWVudDt9CndoaWxlKHNvdXJjZS5sZW5n dGg+MCl7aWYobWF0Y2g9c291cmNlLm1hdGNoKHBhdHRlcm4pKXtyZXN1bHQrPXNv dXJjZS5zbGljZSgwLG1hdGNoLmluZGV4KTtyZXN1bHQrPVN0cmluZy5pbnRlcnBy ZXQocmVwbGFjZW1lbnQobWF0Y2gpKTtzb3VyY2U9c291cmNlLnNsaWNlKG1hdGNo LmluZGV4K21hdGNoWzBdLmxlbmd0aCk7fWVsc2V7cmVzdWx0Kz1zb3VyY2Usc291 cmNlPScnO319CnJldHVybiByZXN1bHQ7fQpmdW5jdGlvbiBzdWIocGF0dGVybixy ZXBsYWNlbWVudCxjb3VudCl7cmVwbGFjZW1lbnQ9cHJlcGFyZVJlcGxhY2VtZW50 KHJlcGxhY2VtZW50KTtjb3VudD1PYmplY3QuaXNVbmRlZmluZWQoY291bnQpPzE6 Y291bnQ7cmV0dXJuIHRoaXMuZ3N1YihwYXR0ZXJuLGZ1bmN0aW9uKG1hdGNoKXtp ZigtLWNvdW50PDApcmV0dXJuIG1hdGNoWzBdO3JldHVybiByZXBsYWNlbWVudCht YXRjaCk7fSk7fQpmdW5jdGlvbiBzY2FuKHBhdHRlcm4saXRlcmF0b3Ipe3RoaXMu Z3N1YihwYXR0ZXJuLGl0ZXJhdG9yKTtyZXR1cm4gU3RyaW5nKHRoaXMpO30KZnVu Y3Rpb24gdHJ1bmNhdGUobGVuZ3RoLHRydW5jYXRpb24pe2xlbmd0aD1sZW5ndGh8 fDMwO3RydW5jYXRpb249T2JqZWN0LmlzVW5kZWZpbmVkKHRydW5jYXRpb24pPycu Li4nOnRydW5jYXRpb247cmV0dXJuIHRoaXMubGVuZ3RoPmxlbmd0aD90aGlzLnNs aWNlKDAsbGVuZ3RoLXRydW5jYXRpb24ubGVuZ3RoKSt0cnVuY2F0aW9uOlN0cmlu Zyh0aGlzKTt9CmZ1bmN0aW9uIHN0cmlwKCl7cmV0dXJuIHRoaXMucmVwbGFjZSgv XlxzKy8sJycpLnJlcGxhY2UoL1xzKyQvLCcnKTt9CmZ1bmN0aW9uIHN0cmlwVGFn cygpe3JldHVybiB0aGlzLnJlcGxhY2UoLzxcdysoXHMrKCJbXiJdKiJ8J1teJ10q J3xbXj5dKSspPz58PFwvXHcrPi9naSwnJyk7fQpmdW5jdGlvbiBzdHJpcFNjcmlw dHMoKXtyZXR1cm4gdGhpcy5yZXBsYWNlKG5ldyBSZWdFeHAoUHJvdG90eXBlLlNj cmlwdEZyYWdtZW50LCdpbWcnKSwnJyk7fQpmdW5jdGlvbiBleHRyYWN0U2NyaXB0 cygpe3ZhciBtYXRjaEFsbD1uZXcgUmVnRXhwKFByb3RvdHlwZS5TY3JpcHRGcmFn bWVudCwnaW1nJyksbWF0Y2hPbmU9bmV3IFJlZ0V4cChQcm90b3R5cGUuU2NyaXB0 RnJhZ21lbnQsJ2ltJyk7cmV0dXJuKHRoaXMubWF0Y2gobWF0Y2hBbGwpfHxbXSku bWFwKGZ1bmN0aW9uKHNjcmlwdFRhZyl7cmV0dXJuKHNjcmlwdFRhZy5tYXRjaCht YXRjaE9uZSl8fFsnJywnJ10pWzFdO30pO30KZnVuY3Rpb24gZXZhbFNjcmlwdHMo KXtyZXR1cm4gdGhpcy5leHRyYWN0U2NyaXB0cygpLm1hcChmdW5jdGlvbihzY3Jp cHQpe3JldHVybiBldmFsKHNjcmlwdCl9KTt9CmZ1bmN0aW9uIGVzY2FwZUhUTUwo KXtyZXR1cm4gdGhpcy5yZXBsYWNlKC8mL2csJyZhbXA7JykucmVwbGFjZSgvPC9n LCcmbHQ7JykucmVwbGFjZSgvPi9nLCcmZ3Q7Jyk7fQpmdW5jdGlvbiB1bmVzY2Fw ZUhUTUwoKXtyZXR1cm4gdGhpcy5zdHJpcFRhZ3MoKS5yZXBsYWNlKC8mbHQ7L2cs

JzwnKS5yZXBsYWNlKC8mZ3Q7L2csJz4nKS5yZXBsYWNlKC8mYW1wOy9nLCcmJyk7 fQpmdW5jdGlvbiB0b1F1ZXJ5UGFyYW1zKHNlcGFyYXRvcil7dmFyIG1hdGNoPXRo aXMuc3RyaXAoKS5tYXRjaCgvKFtePyNdKikoIy4qKT8kLyk7aWYoIW1hdGNoKXJl dHVybnt9O3JldHVybiBtYXRjaFsxXS5zcGxpdChzZXBhcmF0b3J8fCcmJykuaW5q ZWN0KHt9LGZ1bmN0aW9uKGhhc2gscGFpcil7aWYoKHBhaXI9cGFpci5zcGxpdCgn PScpKVswXSl7dmFyIGtleT1kZWNvZGVVUklDb21wb25lbnQocGFpci5zaGlmdCgp KSx2YWx1ZT1wYWlyLmxlbmd0aD4xP3BhaXIuam9pbignPScpOnBhaXJbMF07aWYo dmFsdWUhPXVuZGVmaW5lZCl2YWx1ZT1kZWNvZGVVUklDb21wb25lbnQodmFsdWUp O2lmKGtleSBpbiBoYXNoKXtpZighT2JqZWN0LmlzQXJyYXkoaGFzaFtrZXldKSlo YXNoW2tleV09W2hhc2hba2V5XV07aGFzaFtrZXldLnB1c2godmFsdWUpO30KZWxz ZSBoYXNoW2tleV09dmFsdWU7fQpyZXR1cm4gaGFzaDt9KTt9CmZ1bmN0aW9uIHRv QXJyYXkoKXtyZXR1cm4gdGhpcy5zcGxpdCgnJyk7fQpmdW5jdGlvbiBzdWNjKCl7 cmV0dXJuIHRoaXMuc2xpY2UoMCx0aGlzLmxlbmd0aC0xKSsKU3RyaW5nLmZyb21D aGFyQ29kZSh0aGlzLmNoYXJDb2RlQXQodGhpcy5sZW5ndGgtMSkrMSk7fQpmdW5j dGlvbiB0aW1lcyhjb3VudCl7cmV0dXJuIGNvdW50PDE/Jyc6bmV3IEFycmF5KGNv dW50KzEpLmpvaW4odGhpcyk7fQpmdW5jdGlvbiBjYW1lbGl6ZSgpe3JldHVybiB0 aGlzLnJlcGxhY2UoLy0rKC4pPy9nLGZ1bmN0aW9uKG1hdGNoLGNocil7cmV0dXJu IGNocj9jaHIudG9VcHBlckNhc2UoKTonJzt9KTt9CmZ1bmN0aW9uIGNhcGl0YWxp emUoKXtyZXR1cm4gdGhpcy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSt0aGlzLnN1 YnN0cmluZygxKS50b0xvd2VyQ2FzZSgpO30KZnVuY3Rpb24gdW5kZXJzY29yZSgp e3JldHVybiB0aGlzLnJlcGxhY2UoLzo6L2csJy8nKS5yZXBsYWNlKC8oW0EtWl0r KShbQS1aXVthLXpdKS9nLCckMV8kMicpLnJlcGxhY2UoLyhbYS16XGRdKShbQS1a XSkvZywnJDFfJDInKS5yZXBsYWNlKC8tL2csJ18nKS50b0xvd2VyQ2FzZSgpO30K ZnVuY3Rpb24gZGFzaGVyaXplKCl7cmV0dXJuIHRoaXMucmVwbGFjZSgvXy9nLCct Jyk7fQpmdW5jdGlvbiBpbnNwZWN0KHVzZURvdWJsZVF1b3Rlcyl7dmFyIGVzY2Fw ZWRTdHJpbmc9dGhpcy5yZXBsYWNlKC9bXHgwMC1ceDFmXFxdL2csZnVuY3Rpb24o Y2hhcmFjdGVyKXtpZihjaGFyYWN0ZXIgaW4gU3RyaW5nLnNwZWNpYWxDaGFyKXty ZXR1cm4gU3RyaW5nLnNwZWNpYWxDaGFyW2NoYXJhY3Rlcl07fQpyZXR1cm4nXFx1 MDAnK2NoYXJhY3Rlci5jaGFyQ29kZUF0KCkudG9QYWRkZWRTdHJpbmcoMiwxNik7 fSk7aWYodXNlRG91YmxlUXVvdGVzKXJldHVybiciJytlc2NhcGVkU3RyaW5nLnJl cGxhY2UoLyIvZywnXFwiJykrJyInO3JldHVybiInIitlc2NhcGVkU3RyaW5nLnJl cGxhY2UoLycvZywnXFxcJycpKyInIjt9CmZ1bmN0aW9uIHVuZmlsdGVySlNPTihm aWx0ZXIpe3JldHVybiB0aGlzLnJlcGxhY2UoZmlsdGVyfHxQcm90b3R5cGUuSlNP TkZpbHRlciwnJDEnKTt9CmZ1bmN0aW9uIGlzSlNPTigpe3ZhciBzdHI9dGhpcztp ZihzdHIuYmxhbmsoKSlyZXR1cm4gZmFsc2U7c3RyPXN0ci5yZXBsYWNlKC9cXCg/ OlsiXFxcL2JmbnJ0XXx1WzAtOWEtZkEtRl17NH0pL2csJ0AnKTtzdHI9c3RyLnJl cGxhY2UoLyJbXiJcXFxuXHJdKiJ8dHJ1ZXxmYWxzZXxudWxsfC0/XGQrKD86XC5c ZCopPyg/OltlRV1bK1wtXT9cZCspPy9nLCddJyk7c3RyPXN0ci5yZXBsYWNlKC8o PzpefDp8LCkoPzpccypcWykrL2csJycpO3JldHVybigvXltcXSw6e31cc10qJC8p LnRlc3Qoc3RyKTt9CmZ1bmN0aW9uIGV2YWxKU09OKHNhbml0aXplKXt2YXIganNv bj10aGlzLnVuZmlsdGVySlNPTigpLGN4PS9bXHUwMDAwXHUwMGFkXHUwNjAwLVx1 MDYwNFx1MDcwZlx1MTdiNFx1MTdiNVx1MjAwYy1cdTIwMGZcdTIwMjgtXHUyMDJm XHUyMDYwLVx1MjA2Zlx1ZmVmZlx1ZmZmMC1cdWZmZmZdL2c7aWYoY3gudGVzdChq c29uKSl7anNvbj1qc29uLnJlcGxhY2UoY3gsZnVuY3Rpb24oYSl7cmV0dXJuJ1xc dScrKCcwMDAwJythLmNoYXJDb2RlQXQoMCkudG9TdHJpbmcoMTYpKS5zbGljZSgt NCk7fSk7fQp0cnl7aWYoIXNhbml0aXplfHxqc29uLmlzSlNPTigpKXJldHVybiBl dmFsKCcoJytqc29uKycpJyk7fWNhdGNoKGUpe30KdGhyb3cgbmV3IFN5bnRheEVy cm9yKCdCYWRseSBmb3JtZWQgSlNPTiBzdHJpbmc6ICcrdGhpcy5pbnNwZWN0KCkp O30KZnVuY3Rpb24gcGFyc2VKU09OKCl7dmFyIGpzb249dGhpcy51bmZpbHRlckpT T04oKTtyZXR1cm4gSlNPTi5wYXJzZShqc29uKTt9CmZ1bmN0aW9uIGluY2x1ZGUo cGF0dGVybil7cmV0dXJuIHRoaXMuaW5kZXhPZihwYXR0ZXJuKT4tMTt9CmZ1bmN0 aW9uIHN0YXJ0c1dpdGgocGF0dGVybil7cmV0dXJuIHRoaXMubGFzdEluZGV4T2Yo cGF0dGVybiwwKT09PTA7fQpmdW5jdGlvbiBlbmRzV2l0aChwYXR0ZXJuKXt2YXIg ZD10aGlzLmxlbmd0aC1wYXR0ZXJuLmxlbmd0aDtyZXR1cm4gZD49MCYmdGhpcy5p bmRleE9mKHBhdHRlcm4sZCk9PT1kO30KZnVuY3Rpb24gZW1wdHkoKXtyZXR1cm4g dGhpcz09Jyc7fQpmdW5jdGlvbiBibGFuaygpe3JldHVybi9eXHMqJC8udGVzdCh0 aGlzKTt9CmZ1bmN0aW9uIGludGVycG9sYXRlKG9iamVjdCxwYXR0ZXJuKXtyZXR1 cm4gbmV3IFRlbXBsYXRlKHRoaXMscGF0dGVybikuZXZhbHVhdGUob2JqZWN0KTt9 CnJldHVybntnc3ViOmdzdWIsc3ViOnN1YixzY2FuOnNjYW4sdHJ1bmNhdGU6dHJ1 bmNhdGUsc3RyaXA6U3RyaW5nLnByb3RvdHlwZS50cmltfHxzdHJpcCxzdHJpcFRh

Z3M6c3RyaXBUYWdzLHN0cmlwU2NyaXB0czpzdHJpcFNjcmlwdHMsZXh0cmFjdFNj cmlwdHM6ZXh0cmFjdFNjcmlwdHMsZXZhbFNjcmlwdHM6ZXZhbFNjcmlwdHMsZXNj YXBlSFRNTDplc2NhcGVIVE1MLHVuZXNjYXBlSFRNTDp1bmVzY2FwZUhUTUwsdG9R dWVyeVBhcmFtczp0b1F1ZXJ5UGFyYW1zLHBhcnNlUXVlcnk6dG9RdWVyeVBhcmFt cyx0b0FycmF5OnRvQXJyYXksc3VjYzpzdWNjLHRpbWVzOnRpbWVzLGNhbWVsaXpl OmNhbWVsaXplLGNhcGl0YWxpemU6Y2FwaXRhbGl6ZSx1bmRlcnNjb3JlOnVuZGVy c2NvcmUsZGFzaGVyaXplOmRhc2hlcml6ZSxpbnNwZWN0Omluc3BlY3QsdW5maWx0 ZXJKU09OOnVuZmlsdGVySlNPTixpc0pTT046aXNKU09OLGV2YWxKU09OOk5BVElW RV9KU09OX1BBUlNFX1NVUFBPUlQ/cGFyc2VKU09OOmV2YWxKU09OLGluY2x1ZGU6 aW5jbHVkZSxzdGFydHNXaXRoOnN0YXJ0c1dpdGgsZW5kc1dpdGg6ZW5kc1dpdGgs ZW1wdHk6ZW1wdHksYmxhbms6YmxhbmssaW50ZXJwb2xhdGU6aW50ZXJwb2xhdGV9 O30pKCkpO3ZhciBUZW1wbGF0ZT1DbGFzcy5jcmVhdGUoe2luaXRpYWxpemU6ZnVu Y3Rpb24odGVtcGxhdGUscGF0dGVybil7dGhpcy50ZW1wbGF0ZT10ZW1wbGF0ZS50 b1N0cmluZygpO3RoaXMucGF0dGVybj1wYXR0ZXJufHxUZW1wbGF0ZS5QYXR0ZXJu O30sZXZhbHVhdGU6ZnVuY3Rpb24ob2JqZWN0KXtpZihvYmplY3QmJk9iamVjdC5p c0Z1bmN0aW9uKG9iamVjdC50b1RlbXBsYXRlUmVwbGFjZW1lbnRzKSkKb2JqZWN0 PW9iamVjdC50b1RlbXBsYXRlUmVwbGFjZW1lbnRzKCk7cmV0dXJuIHRoaXMudGVt cGxhdGUuZ3N1Yih0aGlzLnBhdHRlcm4sZnVuY3Rpb24obWF0Y2gpe2lmKG9iamVj dD09bnVsbClyZXR1cm4obWF0Y2hbMV0rJycpO3ZhciBiZWZvcmU9bWF0Y2hbMV18 fCcnO2lmKGJlZm9yZT09J1xcJylyZXR1cm4gbWF0Y2hbMl07dmFyIGN0eD1vYmpl Y3QsZXhwcj1tYXRjaFszXSxwYXR0ZXJuPS9eKFteLltdK3xcWygoPzouKj9bXlxc XSk/KVxdKShcLnxcW3wkKS87bWF0Y2g9cGF0dGVybi5leGVjKGV4cHIpO2lmKG1h dGNoPT1udWxsKXJldHVybiBiZWZvcmU7d2hpbGUobWF0Y2ghPW51bGwpe3ZhciBj b21wPW1hdGNoWzFdLnN0YXJ0c1dpdGgoJ1snKT9tYXRjaFsyXS5yZXBsYWNlKC9c XFxcXS9nLCddJyk6bWF0Y2hbMV07Y3R4PWN0eFtjb21wXTtpZihudWxsPT1jdHh8 fCcnPT1tYXRjaFszXSlicmVhaztleHByPWV4cHIuc3Vic3RyaW5nKCdbJz09bWF0 Y2hbM10/bWF0Y2hbMV0ubGVuZ3RoOm1hdGNoWzBdLmxlbmd0aCk7bWF0Y2g9cGF0 dGVybi5leGVjKGV4cHIpO30KcmV0dXJuIGJlZm9yZStTdHJpbmcuaW50ZXJwcmV0 KGN0eCk7fSk7fX0pO1RlbXBsYXRlLlBhdHRlcm49LyhefC58XHJ8XG4pKCNceygu Kj8pXH0pLzt2YXIgJGJyZWFrPXt9O3ZhciBFbnVtZXJhYmxlPShmdW5jdGlvbigp e2Z1bmN0aW9uIGVhY2goaXRlcmF0b3IsY29udGV4dCl7dmFyIGluZGV4PTA7dHJ5 e3RoaXMuX2VhY2goZnVuY3Rpb24odmFsdWUpe2l0ZXJhdG9yLmNhbGwoY29udGV4 dCx2YWx1ZSxpbmRleCsrKTt9KTt9Y2F0Y2goZSl7aWYoZSE9JGJyZWFrKXRocm93 IGU7fQpyZXR1cm4gdGhpczt9CmZ1bmN0aW9uIGVhY2hTbGljZShudW1iZXIsaXRl cmF0b3IsY29udGV4dCl7dmFyIGluZGV4PS1udW1iZXIsc2xpY2VzPVtdLGFycmF5 PXRoaXMudG9BcnJheSgpO2lmKG51bWJlcjwxKXJldHVybiBhcnJheTt3aGlsZSgo aW5kZXgrPW51bWJlcik8YXJyYXkubGVuZ3RoKQpzbGljZXMucHVzaChhcnJheS5z bGljZShpbmRleCxpbmRleCtudW1iZXIpKTtyZXR1cm4gc2xpY2VzLmNvbGxlY3Qo aXRlcmF0b3IsY29udGV4dCk7fQpmdW5jdGlvbiBhbGwoaXRlcmF0b3IsY29udGV4 dCl7aXRlcmF0b3I9aXRlcmF0b3J8fFByb3RvdHlwZS5LO3ZhciByZXN1bHQ9dHJ1 ZTt0aGlzLmVhY2goZnVuY3Rpb24odmFsdWUsaW5kZXgpe3Jlc3VsdD1yZXN1bHQm JiEhaXRlcmF0b3IuY2FsbChjb250ZXh0LHZhbHVlLGluZGV4KTtpZighcmVzdWx0 KXRocm93ICRicmVhazt9KTtyZXR1cm4gcmVzdWx0O30KZnVuY3Rpb24gYW55KGl0 ZXJhdG9yLGNvbnRleHQpe2l0ZXJhdG9yPWl0ZXJhdG9yfHxQcm90b3R5cGUuSzt2 YXIgcmVzdWx0PWZhbHNlO3RoaXMuZWFjaChmdW5jdGlvbih2YWx1ZSxpbmRleCl7 aWYocmVzdWx0PSEhaXRlcmF0b3IuY2FsbChjb250ZXh0LHZhbHVlLGluZGV4KSkK dGhyb3cgJGJyZWFrO30pO3JldHVybiByZXN1bHQ7fQpmdW5jdGlvbiBjb2xsZWN0 KGl0ZXJhdG9yLGNvbnRleHQpe2l0ZXJhdG9yPWl0ZXJhdG9yfHxQcm90b3R5cGUu Szt2YXIgcmVzdWx0cz1bXTt0aGlzLmVhY2goZnVuY3Rpb24odmFsdWUsaW5kZXgp e3Jlc3VsdHMucHVzaChpdGVyYXRvci5jYWxsKGNvbnRleHQsdmFsdWUsaW5kZXgp KTt9KTtyZXR1cm4gcmVzdWx0czt9CmZ1bmN0aW9uIGRldGVjdChpdGVyYXRvcixj b250ZXh0KXt2YXIgcmVzdWx0O3RoaXMuZWFjaChmdW5jdGlvbih2YWx1ZSxpbmRl eCl7aWYoaXRlcmF0b3IuY2FsbChjb250ZXh0LHZhbHVlLGluZGV4KSl7cmVzdWx0 PXZhbHVlO3Rocm93ICRicmVhazt9fSk7cmV0dXJuIHJlc3VsdDt9CmZ1bmN0aW9u IGZpbmRBbGwoaXRlcmF0b3IsY29udGV4dCl7dmFyIHJlc3VsdHM9W107dGhpcy5l YWNoKGZ1bmN0aW9uKHZhbHVlLGluZGV4KXtpZihpdGVyYXRvci5jYWxsKGNvbnRl eHQsdmFsdWUsaW5kZXgpKQpyZXN1bHRzLnB1c2godmFsdWUpO30pO3JldHVybiBy ZXN1bHRzO30KZnVuY3Rpb24gZ3JlcChmaWx0ZXIsaXRlcmF0b3IsY29udGV4dCl7 aXRlcmF0b3I9aXRlcmF0b3J8fFByb3RvdHlwZS5LO3ZhciByZXN1bHRzPVtdO2lm KE9iamVjdC5pc1N0cmluZyhmaWx0ZXIpKQpmaWx0ZXI9bmV3IFJlZ0V4cChSZWdF

eHAuZXNjYXBlKGZpbHRlcikpO3RoaXMuZWFjaChmdW5jdGlvbih2YWx1ZSxpbmRl eCl7aWYoZmlsdGVyLm1hdGNoKHZhbHVlKSkKcmVzdWx0cy5wdXNoKGl0ZXJhdG9y LmNhbGwoY29udGV4dCx2YWx1ZSxpbmRleCkpO30pO3JldHVybiByZXN1bHRzO30K ZnVuY3Rpb24gaW5jbHVkZShvYmplY3Qpe2lmKE9iamVjdC5pc0Z1bmN0aW9uKHRo aXMuaW5kZXhPZikpCmlmKHRoaXMuaW5kZXhPZihvYmplY3QpIT0tMSlyZXR1cm4g dHJ1ZTt2YXIgZm91bmQ9ZmFsc2U7dGhpcy5lYWNoKGZ1bmN0aW9uKHZhbHVlKXtp Zih2YWx1ZT09b2JqZWN0KXtmb3VuZD10cnVlO3Rocm93ICRicmVhazt9fSk7cmV0 dXJuIGZvdW5kO30KZnVuY3Rpb24gaW5Hcm91cHNPZihudW1iZXIsZmlsbFdpdGgp e2ZpbGxXaXRoPU9iamVjdC5pc1VuZGVmaW5lZChmaWxsV2l0aCk/bnVsbDpmaWxs V2l0aDtyZXR1cm4gdGhpcy5lYWNoU2xpY2UobnVtYmVyLGZ1bmN0aW9uKHNsaWNl KXt3aGlsZShzbGljZS5sZW5ndGg8bnVtYmVyKXNsaWNlLnB1c2goZmlsbFdpdGgp O3JldHVybiBzbGljZTt9KTt9CmZ1bmN0aW9uIGluamVjdChtZW1vLGl0ZXJhdG9y LGNvbnRleHQpe3RoaXMuZWFjaChmdW5jdGlvbih2YWx1ZSxpbmRleCl7bWVtbz1p dGVyYXRvci5jYWxsKGNvbnRleHQsbWVtbyx2YWx1ZSxpbmRleCk7fSk7cmV0dXJu IG1lbW87fQpmdW5jdGlvbiBpbnZva2UobWV0aG9kKXt2YXIgYXJncz0kQShhcmd1 bWVudHMpLnNsaWNlKDEpO3JldHVybiB0aGlzLm1hcChmdW5jdGlvbih2YWx1ZSl7 cmV0dXJuIHZhbHVlW21ldGhvZF0uYXBwbHkodmFsdWUsYXJncyk7fSk7fQpmdW5j dGlvbiBtYXgoaXRlcmF0b3IsY29udGV4dCl7aXRlcmF0b3I9aXRlcmF0b3J8fFBy b3RvdHlwZS5LO3ZhciByZXN1bHQ7dGhpcy5lYWNoKGZ1bmN0aW9uKHZhbHVlLGlu ZGV4KXt2YWx1ZT1pdGVyYXRvci5jYWxsKGNvbnRleHQsdmFsdWUsaW5kZXgpO2lm KHJlc3VsdD09bnVsbHx8dmFsdWU+PXJlc3VsdCkKcmVzdWx0PXZhbHVlO30pO3Jl dHVybiByZXN1bHQ7fQpmdW5jdGlvbiBtaW4oaXRlcmF0b3IsY29udGV4dCl7aXRl cmF0b3I9aXRlcmF0b3J8fFByb3RvdHlwZS5LO3ZhciByZXN1bHQ7dGhpcy5lYWNo KGZ1bmN0aW9uKHZhbHVlLGluZGV4KXt2YWx1ZT1pdGVyYXRvci5jYWxsKGNvbnRl eHQsdmFsdWUsaW5kZXgpO2lmKHJlc3VsdD09bnVsbHx8dmFsdWU8cmVzdWx0KQpy ZXN1bHQ9dmFsdWU7fSk7cmV0dXJuIHJlc3VsdDt9CmZ1bmN0aW9uIHBhcnRpdGlv bihpdGVyYXRvcixjb250ZXh0KXtpdGVyYXRvcj1pdGVyYXRvcnx8UHJvdG90eXBl Lks7dmFyIHRydWVzPVtdLGZhbHNlcz1bXTt0aGlzLmVhY2goZnVuY3Rpb24odmFs dWUsaW5kZXgpeyhpdGVyYXRvci5jYWxsKGNvbnRleHQsdmFsdWUsaW5kZXgpP3Ry dWVzOmZhbHNlcykucHVzaCh2YWx1ZSk7fSk7cmV0dXJuW3RydWVzLGZhbHNlc107 fQpmdW5jdGlvbiBwbHVjayhwcm9wZXJ0eSl7dmFyIHJlc3VsdHM9W107dGhpcy5l YWNoKGZ1bmN0aW9uKHZhbHVlKXtyZXN1bHRzLnB1c2godmFsdWVbcHJvcGVydHld KTt9KTtyZXR1cm4gcmVzdWx0czt9CmZ1bmN0aW9uIHJlamVjdChpdGVyYXRvcixj b250ZXh0KXt2YXIgcmVzdWx0cz1bXTt0aGlzLmVhY2goZnVuY3Rpb24odmFsdWUs aW5kZXgpe2lmKCFpdGVyYXRvci5jYWxsKGNvbnRleHQsdmFsdWUsaW5kZXgpKQpy ZXN1bHRzLnB1c2godmFsdWUpO30pO3JldHVybiByZXN1bHRzO30KZnVuY3Rpb24g c29ydEJ5KGl0ZXJhdG9yLGNvbnRleHQpe3JldHVybiB0aGlzLm1hcChmdW5jdGlv bih2YWx1ZSxpbmRleCl7cmV0dXJue3ZhbHVlOnZhbHVlLGNyaXRlcmlhOml0ZXJh dG9yLmNhbGwoY29udGV4dCx2YWx1ZSxpbmRleCl9O30pLnNvcnQoZnVuY3Rpb24o bGVmdCxyaWdodCl7dmFyIGE9bGVmdC5jcml0ZXJpYSxiPXJpZ2h0LmNyaXRlcmlh O3JldHVybiBhPGI/LTE6YT5iPzE6MDt9KS5wbHVjaygndmFsdWUnKTt9CmZ1bmN0 aW9uIHRvQXJyYXkoKXtyZXR1cm4gdGhpcy5tYXAoKTt9CmZ1bmN0aW9uIHppcCgp e3ZhciBpdGVyYXRvcj1Qcm90b3R5cGUuSyxhcmdzPSRBKGFyZ3VtZW50cyk7aWYo T2JqZWN0LmlzRnVuY3Rpb24oYXJncy5sYXN0KCkpKQppdGVyYXRvcj1hcmdzLnBv cCgpO3ZhciBjb2xsZWN0aW9ucz1bdGhpc10uY29uY2F0KGFyZ3MpLm1hcCgkQSk7 cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKHZhbHVlLGluZGV4KXtyZXR1cm4gaXRl cmF0b3IoY29sbGVjdGlvbnMucGx1Y2soaW5kZXgpKTt9KTt9CmZ1bmN0aW9uIHNp emUoKXtyZXR1cm4gdGhpcy50b0FycmF5KCkubGVuZ3RoO30KZnVuY3Rpb24gaW5z cGVjdCgpe3JldHVybicjPEVudW1lcmFibGU6Jyt0aGlzLnRvQXJyYXkoKS5pbnNw ZWN0KCkrJz4nO30KcmV0dXJue2VhY2g6ZWFjaCxlYWNoU2xpY2U6ZWFjaFNsaWNl LGFsbDphbGwsZXZlcnk6YWxsLGFueTphbnksc29tZTphbnksY29sbGVjdDpjb2xs ZWN0LG1hcDpjb2xsZWN0LGRldGVjdDpkZXRlY3QsZmluZEFsbDpmaW5kQWxsLHNl bGVjdDpmaW5kQWxsLGZpbHRlcjpmaW5kQWxsLGdyZXA6Z3JlcCxpbmNsdWRlOmlu Y2x1ZGUsbWVtYmVyOmluY2x1ZGUsaW5Hcm91cHNPZjppbkdyb3Vwc09mLGluamVj dDppbmplY3QsaW52b2tlOmludm9rZSxtYXg6bWF4LG1pbjptaW4scGFydGl0aW9u OnBhcnRpdGlvbixwbHVjazpwbHVjayxyZWplY3Q6cmVqZWN0LHNvcnRCeTpzb3J0 QnksdG9BcnJheTp0b0FycmF5LGVudHJpZXM6dG9BcnJheSx6aXA6emlwLHNpemU6 c2l6ZSxpbnNwZWN0Omluc3BlY3QsZmluZDpkZXRlY3R9O30pKCk7ZnVuY3Rpb24g JEEoaXRlcmFibGUpe2lmKCFpdGVyYWJsZSlyZXR1cm5bXTtpZigndG9BcnJheSdp biBPYmplY3QoaXRlcmFibGUpKXJldHVybiBpdGVyYWJsZS50b0FycmF5KCk7dmFy

IGxlbmd0aD1pdGVyYWJsZS5sZW5ndGh8fDAscmVzdWx0cz1uZXcgQXJyYXkobGVu Z3RoKTt3aGlsZShsZW5ndGgtLSlyZXN1bHRzW2xlbmd0aF09aXRlcmFibGVbbGVu Z3RoXTtyZXR1cm4gcmVzdWx0czt9CmZ1bmN0aW9uICR3KHN0cmluZyl7aWYoIU9i amVjdC5pc1N0cmluZyhzdHJpbmcpKXJldHVybltdO3N0cmluZz1zdHJpbmcuc3Ry aXAoKTtyZXR1cm4gc3RyaW5nP3N0cmluZy5zcGxpdCgvXHMrLyk6W107fQpBcnJh eS5mcm9tPSRBOyhmdW5jdGlvbigpe3ZhciBhcnJheVByb3RvPUFycmF5LnByb3Rv dHlwZSxzbGljZT1hcnJheVByb3RvLnNsaWNlLF9lYWNoPWFycmF5UHJvdG8uZm9y RWFjaDtmdW5jdGlvbiBlYWNoKGl0ZXJhdG9yLGNvbnRleHQpe2Zvcih2YXIgaT0w LGxlbmd0aD10aGlzLmxlbmd0aD4+PjA7aTxsZW5ndGg7aSsrKXtpZihpIGluIHRo aXMpaXRlcmF0b3IuY2FsbChjb250ZXh0LHRoaXNbaV0saSx0aGlzKTt9fQppZigh X2VhY2gpX2VhY2g9ZWFjaDtmdW5jdGlvbiBjbGVhcigpe3RoaXMubGVuZ3RoPTA7 cmV0dXJuIHRoaXM7fQpmdW5jdGlvbiBmaXJzdCgpe3JldHVybiB0aGlzWzBdO30K ZnVuY3Rpb24gbGFzdCgpe3JldHVybiB0aGlzW3RoaXMubGVuZ3RoLTFdO30KZnVu Y3Rpb24gY29tcGFjdCgpe3JldHVybiB0aGlzLnNlbGVjdChmdW5jdGlvbih2YWx1 ZSl7cmV0dXJuIHZhbHVlIT1udWxsO30pO30KZnVuY3Rpb24gZmxhdHRlbigpe3Jl dHVybiB0aGlzLmluamVjdChbXSxmdW5jdGlvbihhcnJheSx2YWx1ZSl7aWYoT2Jq ZWN0LmlzQXJyYXkodmFsdWUpKQpyZXR1cm4gYXJyYXkuY29uY2F0KHZhbHVlLmZs YXR0ZW4oKSk7YXJyYXkucHVzaCh2YWx1ZSk7cmV0dXJuIGFycmF5O30pO30KZnVu Y3Rpb24gd2l0aG91dCgpe3ZhciB2YWx1ZXM9c2xpY2UuY2FsbChhcmd1bWVudHMs MCk7cmV0dXJuIHRoaXMuc2VsZWN0KGZ1bmN0aW9uKHZhbHVlKXtyZXR1cm4hdmFs dWVzLmluY2x1ZGUodmFsdWUpO30pO30KZnVuY3Rpb24gcmV2ZXJzZShpbmxpbmUp e3JldHVybihpbmxpbmU9PT1mYWxzZT90aGlzLnRvQXJyYXkoKTp0aGlzKS5fcmV2 ZXJzZSgpO30KZnVuY3Rpb24gdW5pcShzb3J0ZWQpe3JldHVybiB0aGlzLmluamVj dChbXSxmdW5jdGlvbihhcnJheSx2YWx1ZSxpbmRleCl7aWYoMD09aW5kZXh8fChz b3J0ZWQ/YXJyYXkubGFzdCgpIT12YWx1ZTohYXJyYXkuaW5jbHVkZSh2YWx1ZSkp KQphcnJheS5wdXNoKHZhbHVlKTtyZXR1cm4gYXJyYXk7fSk7fQpmdW5jdGlvbiBp bnRlcnNlY3QoYXJyYXkpe3JldHVybiB0aGlzLnVuaXEoKS5maW5kQWxsKGZ1bmN0 aW9uKGl0ZW0pe3JldHVybiBhcnJheS5kZXRlY3QoZnVuY3Rpb24odmFsdWUpe3Jl dHVybiBpdGVtPT09dmFsdWV9KTt9KTt9CmZ1bmN0aW9uIGNsb25lKCl7cmV0dXJu IHNsaWNlLmNhbGwodGhpcywwKTt9CmZ1bmN0aW9uIHNpemUoKXtyZXR1cm4gdGhp cy5sZW5ndGg7fQpmdW5jdGlvbiBpbnNwZWN0KCl7cmV0dXJuJ1snK3RoaXMubWFw KE9iamVjdC5pbnNwZWN0KS5qb2luKCcsICcpKyddJzt9CmZ1bmN0aW9uIGluZGV4 T2YoaXRlbSxpKXtpfHwoaT0wKTt2YXIgbGVuZ3RoPXRoaXMubGVuZ3RoO2lmKGk8 MClpPWxlbmd0aCtpO2Zvcig7aTxsZW5ndGg7aSsrKQppZih0aGlzW2ldPT09aXRl bSlyZXR1cm4gaTtyZXR1cm4tMTt9CmZ1bmN0aW9uIGxhc3RJbmRleE9mKGl0ZW0s aSl7aT1pc05hTihpKT90aGlzLmxlbmd0aDooaTwwP3RoaXMubGVuZ3RoK2k6aSkr MTt2YXIgbj10aGlzLnNsaWNlKDAsaSkucmV2ZXJzZSgpLmluZGV4T2YoaXRlbSk7 cmV0dXJuKG48MCk/bjppLW4tMTt9CmZ1bmN0aW9uIGNvbmNhdCgpe3ZhciBhcnJh eT1zbGljZS5jYWxsKHRoaXMsMCksaXRlbTtmb3IodmFyIGk9MCxsZW5ndGg9YXJn dW1lbnRzLmxlbmd0aDtpPGxlbmd0aDtpKyspe2l0ZW09YXJndW1lbnRzW2ldO2lm KE9iamVjdC5pc0FycmF5KGl0ZW0pJiYhKCdjYWxsZWUnaW4gaXRlbSkpe2Zvcih2 YXIgaj0wLGFycmF5TGVuZ3RoPWl0ZW0ubGVuZ3RoO2o8YXJyYXlMZW5ndGg7aisr KQphcnJheS5wdXNoKGl0ZW1bal0pO31lbHNle2FycmF5LnB1c2goaXRlbSk7fX0K cmV0dXJuIGFycmF5O30KT2JqZWN0LmV4dGVuZChhcnJheVByb3RvLEVudW1lcmFi bGUpO2lmKCFhcnJheVByb3RvLl9yZXZlcnNlKQphcnJheVByb3RvLl9yZXZlcnNl PWFycmF5UHJvdG8ucmV2ZXJzZTtPYmplY3QuZXh0ZW5kKGFycmF5UHJvdG8se19l YWNoOl9lYWNoLGNsZWFyOmNsZWFyLGZpcnN0OmZpcnN0LGxhc3Q6bGFzdCxjb21w YWN0OmNvbXBhY3QsZmxhdHRlbjpmbGF0dGVuLHdpdGhvdXQ6d2l0aG91dCxyZXZl cnNlOnJldmVyc2UsdW5pcTp1bmlxLGludGVyc2VjdDppbnRlcnNlY3QsY2xvbmU6 Y2xvbmUsdG9BcnJheTpjbG9uZSxzaXplOnNpemUsaW5zcGVjdDppbnNwZWN0fSk7 dmFyIENPTkNBVF9BUkdVTUVOVFNfQlVHR1k9KGZ1bmN0aW9uKCl7cmV0dXJuW10u Y29uY2F0KGFyZ3VtZW50cylbMF1bMF0hPT0xO30pKDEsMikKaWYoQ09OQ0FUX0FS R1VNRU5UU19CVUdHWSlhcnJheVByb3RvLmNvbmNhdD1jb25jYXQ7aWYoIWFycmF5 UHJvdG8uaW5kZXhPZilhcnJheVByb3RvLmluZGV4T2Y9aW5kZXhPZjtpZighYXJy YXlQcm90by5sYXN0SW5kZXhPZilhcnJheVByb3RvLmxhc3RJbmRleE9mPWxhc3RJ bmRleE9mO30pKCk7ZnVuY3Rpb24gJEgob2JqZWN0KXtyZXR1cm4gbmV3IEhhc2go b2JqZWN0KTt9O3ZhciBIYXNoPUNsYXNzLmNyZWF0ZShFbnVtZXJhYmxlLChmdW5j dGlvbigpe2Z1bmN0aW9uIGluaXRpYWxpemUob2JqZWN0KXt0aGlzLl9vYmplY3Q9 T2JqZWN0LmlzSGFzaChvYmplY3QpP29iamVjdC50b09iamVjdCgpOk9iamVjdC5j bG9uZShvYmplY3QpO30KZnVuY3Rpb24gX2VhY2goaXRlcmF0b3Ipe2Zvcih2YXIg

a2V5IGluIHRoaXMuX29iamVjdCl7dmFyIHZhbHVlPXRoaXMuX29iamVjdFtrZXld LHBhaXI9W2tleSx2YWx1ZV07cGFpci5rZXk9a2V5O3BhaXIudmFsdWU9dmFsdWU7 aXRlcmF0b3IocGFpcik7fX0KZnVuY3Rpb24gc2V0KGtleSx2YWx1ZSl7cmV0dXJu IHRoaXMuX29iamVjdFtrZXldPXZhbHVlO30KZnVuY3Rpb24gZ2V0KGtleSl7aWYo dGhpcy5fb2JqZWN0W2tleV0hPT1PYmplY3QucHJvdG90eXBlW2tleV0pCnJldHVy biB0aGlzLl9vYmplY3Rba2V5XTt9CmZ1bmN0aW9uIHVuc2V0KGtleSl7dmFyIHZh bHVlPXRoaXMuX29iamVjdFtrZXldO2RlbGV0ZSB0aGlzLl9vYmplY3Rba2V5XTty ZXR1cm4gdmFsdWU7fQpmdW5jdGlvbiB0b09iamVjdCgpe3JldHVybiBPYmplY3Qu Y2xvbmUodGhpcy5fb2JqZWN0KTt9CmZ1bmN0aW9uIGtleXMoKXtyZXR1cm4gdGhp cy5wbHVjaygna2V5Jyk7fQpmdW5jdGlvbiB2YWx1ZXMoKXtyZXR1cm4gdGhpcy5w bHVjaygndmFsdWUnKTt9CmZ1bmN0aW9uIGluZGV4KHZhbHVlKXt2YXIgbWF0Y2g9 dGhpcy5kZXRlY3QoZnVuY3Rpb24ocGFpcil7cmV0dXJuIHBhaXIudmFsdWU9PT12 YWx1ZTt9KTtyZXR1cm4gbWF0Y2gmJm1hdGNoLmtleTt9CmZ1bmN0aW9uIG1lcmdl KG9iamVjdCl7cmV0dXJuIHRoaXMuY2xvbmUoKS51cGRhdGUob2JqZWN0KTt9CmZ1 bmN0aW9uIHVwZGF0ZShvYmplY3Qpe3JldHVybiBuZXcgSGFzaChvYmplY3QpLmlu amVjdCh0aGlzLGZ1bmN0aW9uKHJlc3VsdCxwYWlyKXtyZXN1bHQuc2V0KHBhaXIu a2V5LHBhaXIudmFsdWUpO3JldHVybiByZXN1bHQ7fSk7fQpmdW5jdGlvbiB0b1F1 ZXJ5UGFpcihrZXksdmFsdWUpe2lmKE9iamVjdC5pc1VuZGVmaW5lZCh2YWx1ZSkp cmV0dXJuIGtleTtyZXR1cm4ga2V5Kyc9JytlbmNvZGVVUklDb21wb25lbnQoU3Ry aW5nLmludGVycHJldCh2YWx1ZSkpO30KZnVuY3Rpb24gdG9RdWVyeVN0cmluZygp e3JldHVybiB0aGlzLmluamVjdChbXSxmdW5jdGlvbihyZXN1bHRzLHBhaXIpe3Zh ciBrZXk9ZW5jb2RlVVJJQ29tcG9uZW50KHBhaXIua2V5KSx2YWx1ZXM9cGFpci52 YWx1ZTtpZih2YWx1ZXMmJnR5cGVvZiB2YWx1ZXM9PSdvYmplY3QnKXtpZihPYmpl Y3QuaXNBcnJheSh2YWx1ZXMpKXt2YXIgcXVlcnlWYWx1ZXM9W107Zm9yKHZhciBp PTAsbGVuPXZhbHVlcy5sZW5ndGgsdmFsdWU7aTxsZW47aSsrKXt2YWx1ZT12YWx1 ZXNbaV07cXVlcnlWYWx1ZXMucHVzaCh0b1F1ZXJ5UGFpcihrZXksdmFsdWUpKTt9 CnJldHVybiByZXN1bHRzLmNvbmNhdChxdWVyeVZhbHVlcyk7fX1lbHNlIHJlc3Vs dHMucHVzaCh0b1F1ZXJ5UGFpcihrZXksdmFsdWVzKSk7cmV0dXJuIHJlc3VsdHM7 fSkuam9pbignJicpO30KZnVuY3Rpb24gaW5zcGVjdCgpe3JldHVybicjPEhhc2g6 eycrdGhpcy5tYXAoZnVuY3Rpb24ocGFpcil7cmV0dXJuIHBhaXIubWFwKE9iamVj dC5pbnNwZWN0KS5qb2luKCc6ICcpO30pLmpvaW4oJywgJykrJ30+Jzt9CmZ1bmN0 aW9uIGNsb25lKCl7cmV0dXJuIG5ldyBIYXNoKHRoaXMpO30KcmV0dXJue2luaXRp YWxpemU6aW5pdGlhbGl6ZSxfZWFjaDpfZWFjaCxzZXQ6c2V0LGdldDpnZXQsdW5z ZXQ6dW5zZXQsdG9PYmplY3Q6dG9PYmplY3QsdG9UZW1wbGF0ZVJlcGxhY2VtZW50 czp0b09iamVjdCxrZXlzOmtleXMsdmFsdWVzOnZhbHVlcyxpbmRleDppbmRleCxt ZXJnZTptZXJnZSx1cGRhdGU6dXBkYXRlLHRvUXVlcnlTdHJpbmc6dG9RdWVyeVN0 cmluZyxpbnNwZWN0Omluc3BlY3QsdG9KU09OOnRvT2JqZWN0LGNsb25lOmNsb25l fTt9KSgpKTtIYXNoLmZyb209JEg7T2JqZWN0LmV4dGVuZChOdW1iZXIucHJvdG90 eXBlLChmdW5jdGlvbigpe2Z1bmN0aW9uIHRvQ29sb3JQYXJ0KCl7cmV0dXJuIHRo aXMudG9QYWRkZWRTdHJpbmcoMiwxNik7fQpmdW5jdGlvbiBzdWNjKCl7cmV0dXJu IHRoaXMrMTt9CmZ1bmN0aW9uIHRpbWVzKGl0ZXJhdG9yLGNvbnRleHQpeyRSKDAs dGhpcyx0cnVlKS5lYWNoKGl0ZXJhdG9yLGNvbnRleHQpO3JldHVybiB0aGlzO30K ZnVuY3Rpb24gdG9QYWRkZWRTdHJpbmcobGVuZ3RoLHJhZGl4KXt2YXIgc3RyaW5n PXRoaXMudG9TdHJpbmcocmFkaXh8fDEwKTtyZXR1cm4nMCcudGltZXMobGVuZ3Ro LXN0cmluZy5sZW5ndGgpK3N0cmluZzt9CmZ1bmN0aW9uIGFicygpe3JldHVybiBN YXRoLmFicyh0aGlzKTt9CmZ1bmN0aW9uIHJvdW5kKCl7cmV0dXJuIE1hdGgucm91 bmQodGhpcyk7fQpmdW5jdGlvbiBjZWlsKCl7cmV0dXJuIE1hdGguY2VpbCh0aGlz KTt9CmZ1bmN0aW9uIGZsb29yKCl7cmV0dXJuIE1hdGguZmxvb3IodGhpcyk7fQpy ZXR1cm57dG9Db2xvclBhcnQ6dG9Db2xvclBhcnQsc3VjYzpzdWNjLHRpbWVzOnRp bWVzLHRvUGFkZGVkU3RyaW5nOnRvUGFkZGVkU3RyaW5nLGFiczphYnMscm91bmQ6 cm91bmQsY2VpbDpjZWlsLGZsb29yOmZsb29yfTt9KSgpKTtmdW5jdGlvbiAkUihz dGFydCxlbmQsZXhjbHVzaXZlKXtyZXR1cm4gbmV3IE9iamVjdFJhbmdlKHN0YXJ0 LGVuZCxleGNsdXNpdmUpO30KdmFyIE9iamVjdFJhbmdlPUNsYXNzLmNyZWF0ZShF bnVtZXJhYmxlLChmdW5jdGlvbigpe2Z1bmN0aW9uIGluaXRpYWxpemUoc3RhcnQs ZW5kLGV4Y2x1c2l2ZSl7dGhpcy5zdGFydD1zdGFydDt0aGlzLmVuZD1lbmQ7dGhp cy5leGNsdXNpdmU9ZXhjbHVzaXZlO30KZnVuY3Rpb24gX2VhY2goaXRlcmF0b3Ip e3ZhciB2YWx1ZT10aGlzLnN0YXJ0O3doaWxlKHRoaXMuaW5jbHVkZSh2YWx1ZSkp e2l0ZXJhdG9yKHZhbHVlKTt2YWx1ZT12YWx1ZS5zdWNjKCk7fX0KZnVuY3Rpb24g aW5jbHVkZSh2YWx1ZSl7aWYodmFsdWU8dGhpcy5zdGFydCkKcmV0dXJuIGZhbHNl O2lmKHRoaXMuZXhjbHVzaXZlKQpyZXR1cm4gdmFsdWU8dGhpcy5lbmQ7cmV0dXJu

IHZhbHVlPD10aGlzLmVuZDt9CnJldHVybntpbml0aWFsaXplOmluaXRpYWxpemUs X2VhY2g6X2VhY2gsaW5jbHVkZTppbmNsdWRlfTt9KSgpKTt2YXIgQWpheD17Z2V0 VHJhbnNwb3J0OmZ1bmN0aW9uKCl7cmV0dXJuIFRyeS50aGVzZShmdW5jdGlvbigp e3JldHVybiBuZXcgWE1MSHR0cFJlcXVlc3QoKX0sZnVuY3Rpb24oKXtyZXR1cm4g bmV3IEFjdGl2ZVhPYmplY3QoJ01zeG1sMi5YTUxIVFRQJyl9LGZ1bmN0aW9uKCl7 cmV0dXJuIG5ldyBBY3RpdmVYT2JqZWN0KCdNaWNyb3NvZnQuWE1MSFRUUCcpfSl8 fGZhbHNlO30sYWN0aXZlUmVxdWVzdENvdW50OjB9O0FqYXguUmVzcG9uZGVycz17 cmVzcG9uZGVyczpbXSxfZWFjaDpmdW5jdGlvbihpdGVyYXRvcil7dGhpcy5yZXNw b25kZXJzLl9lYWNoKGl0ZXJhdG9yKTt9LHJlZ2lzdGVyOmZ1bmN0aW9uKHJlc3Bv bmRlcil7aWYoIXRoaXMuaW5jbHVkZShyZXNwb25kZXIpKQp0aGlzLnJlc3BvbmRl cnMucHVzaChyZXNwb25kZXIpO30sdW5yZWdpc3RlcjpmdW5jdGlvbihyZXNwb25k ZXIpe3RoaXMucmVzcG9uZGVycz10aGlzLnJlc3BvbmRlcnMud2l0aG91dChyZXNw b25kZXIpO30sZGlzcGF0Y2g6ZnVuY3Rpb24oY2FsbGJhY2sscmVxdWVzdCx0cmFu c3BvcnQsanNvbil7dGhpcy5lYWNoKGZ1bmN0aW9uKHJlc3BvbmRlcil7aWYoT2Jq ZWN0LmlzRnVuY3Rpb24ocmVzcG9uZGVyW2NhbGxiYWNrXSkpe3RyeXtyZXNwb25k ZXJbY2FsbGJhY2tdLmFwcGx5KHJlc3BvbmRlcixbcmVxdWVzdCx0cmFuc3BvcnQs anNvbl0pO31jYXRjaChlKXt9fX0pO319O09iamVjdC5leHRlbmQoQWpheC5SZXNw b25kZXJzLEVudW1lcmFibGUpO0FqYXguUmVzcG9uZGVycy5yZWdpc3Rlcih7b25D cmVhdGU6ZnVuY3Rpb24oKXtBamF4LmFjdGl2ZVJlcXVlc3RDb3VudCsrfSxvbkNv bXBsZXRlOmZ1bmN0aW9uKCl7QWpheC5hY3RpdmVSZXF1ZXN0Q291bnQtLX19KTtB amF4LkJhc2U9Q2xhc3MuY3JlYXRlKHtpbml0aWFsaXplOmZ1bmN0aW9uKG9wdGlv bnMpe3RoaXMub3B0aW9ucz17bWV0aG9kOidwb3N0Jyxhc3luY2hyb25vdXM6dHJ1 ZSxjb250ZW50VHlwZTonYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVk JyxlbmNvZGluZzonVVRGLTgnLHBhcmFtZXRlcnM6JycsZXZhbEpTT046dHJ1ZSxl dmFsSlM6dHJ1ZX07T2JqZWN0LmV4dGVuZCh0aGlzLm9wdGlvbnMsb3B0aW9uc3x8 e30pO3RoaXMub3B0aW9ucy5tZXRob2Q9dGhpcy5vcHRpb25zLm1ldGhvZC50b0xv d2VyQ2FzZSgpO2lmKE9iamVjdC5pc0hhc2godGhpcy5vcHRpb25zLnBhcmFtZXRl cnMpKQp0aGlzLm9wdGlvbnMucGFyYW1ldGVycz10aGlzLm9wdGlvbnMucGFyYW1l dGVycy50b09iamVjdCgpO319KTtBamF4LlJlcXVlc3Q9Q2xhc3MuY3JlYXRlKEFq YXguQmFzZSx7X2NvbXBsZXRlOmZhbHNlLGluaXRpYWxpemU6ZnVuY3Rpb24oJHN1 cGVyLHVybCxvcHRpb25zKXskc3VwZXIob3B0aW9ucyk7dGhpcy50cmFuc3BvcnQ9 QWpheC5nZXRUcmFuc3BvcnQoKTt0aGlzLnJlcXVlc3QodXJsKTt9LHJlcXVlc3Q6 ZnVuY3Rpb24odXJsKXt0aGlzLnVybD11cmw7dGhpcy5tZXRob2Q9dGhpcy5vcHRp b25zLm1ldGhvZDt2YXIgcGFyYW1zPU9iamVjdC5pc1N0cmluZyh0aGlzLm9wdGlv bnMucGFyYW1ldGVycyk/dGhpcy5vcHRpb25zLnBhcmFtZXRlcnM6T2JqZWN0LnRv UXVlcnlTdHJpbmcodGhpcy5vcHRpb25zLnBhcmFtZXRlcnMpO2lmKCFbJ2dldCcs J3Bvc3QnXS5pbmNsdWRlKHRoaXMubWV0aG9kKSl7cGFyYW1zKz0ocGFyYW1zPycm JzonJykrIl9tZXRob2Q9Iit0aGlzLm1ldGhvZDt0aGlzLm1ldGhvZD0ncG9zdCc7 fQppZihwYXJhbXMmJnRoaXMubWV0aG9kPT09J2dldCcpe3RoaXMudXJsKz0odGhp cy51cmwuaW5jbHVkZSgnPycpPycmJzonPycpK3BhcmFtczt9CnRoaXMucGFyYW1l dGVycz1wYXJhbXMudG9RdWVyeVBhcmFtcygpO3RyeXt2YXIgcmVzcG9uc2U9bmV3 IEFqYXguUmVzcG9uc2UodGhpcyk7aWYodGhpcy5vcHRpb25zLm9uQ3JlYXRlKXRo aXMub3B0aW9ucy5vbkNyZWF0ZShyZXNwb25zZSk7QWpheC5SZXNwb25kZXJzLmRp c3BhdGNoKCdvbkNyZWF0ZScsdGhpcyxyZXNwb25zZSk7dGhpcy50cmFuc3BvcnQu b3Blbih0aGlzLm1ldGhvZC50b1VwcGVyQ2FzZSgpLHRoaXMudXJsLHRoaXMub3B0 aW9ucy5hc3luY2hyb25vdXMpO2lmKHRoaXMub3B0aW9ucy5hc3luY2hyb25vdXMp dGhpcy5yZXNwb25kVG9SZWFkeVN0YXRlLmJpbmQodGhpcykuZGVmZXIoMSk7dGhp cy50cmFuc3BvcnQub25yZWFkeXN0YXRlY2hhbmdlPXRoaXMub25TdGF0ZUNoYW5n ZS5iaW5kKHRoaXMpO3RoaXMuc2V0UmVxdWVzdEhlYWRlcnMoKTt0aGlzLmJvZHk9 dGhpcy5tZXRob2Q9PSdwb3N0Jz8odGhpcy5vcHRpb25zLnBvc3RCb2R5fHxwYXJh bXMpOm51bGw7dGhpcy50cmFuc3BvcnQuc2VuZCh0aGlzLmJvZHkpO2lmKCF0aGlz Lm9wdGlvbnMuYXN5bmNocm9ub3VzJiZ0aGlzLnRyYW5zcG9ydC5vdmVycmlkZU1p bWVUeXBlKQp0aGlzLm9uU3RhdGVDaGFuZ2UoKTt9CmNhdGNoKGUpe3RoaXMuZGlz cGF0Y2hFeGNlcHRpb24oZSk7fX0sb25TdGF0ZUNoYW5nZTpmdW5jdGlvbigpe3Zh ciByZWFkeVN0YXRlPXRoaXMudHJhbnNwb3J0LnJlYWR5U3RhdGU7aWYocmVhZHlT dGF0ZT4xJiYhKChyZWFkeVN0YXRlPT00KSYmdGhpcy5fY29tcGxldGUpKQp0aGlz LnJlc3BvbmRUb1JlYWR5U3RhdGUodGhpcy50cmFuc3BvcnQucmVhZHlTdGF0ZSk7 fSxzZXRSZXF1ZXN0SGVhZGVyczpmdW5jdGlvbigpe3ZhciBoZWFkZXJzPXsnWC1S ZXF1ZXN0ZWQtV2l0aCc6J1hNTEh0dHBSZXF1ZXN0JywnWC1Qcm90b3R5cGUtVmVy c2lvbic6UHJvdG90eXBlLlZlcnNpb24sJ0FjY2VwdCc6J3RleHQvamF2YXNjcmlw

dCwgdGV4dC9odG1sLCBhcHBsaWNhdGlvbi94bWwsIHRleHQveG1sLCAqLyonfTtp Zih0aGlzLm1ldGhvZD09J3Bvc3QnKXtoZWFkZXJzWydDb250ZW50LXR5cGUnXT10 aGlzLm9wdGlvbnMuY29udGVudFR5cGUrCih0aGlzLm9wdGlvbnMuZW5jb2Rpbmc/ JzsgY2hhcnNldD0nK3RoaXMub3B0aW9ucy5lbmNvZGluZzonJyk7aWYodGhpcy50 cmFuc3BvcnQub3ZlcnJpZGVNaW1lVHlwZSYmKG5hdmlnYXRvci51c2VyQWdlbnQu bWF0Y2goL0dlY2tvXC8oXGR7NH0pLyl8fFswLDIwMDVdKVsxXTwyMDA1KQpoZWFk ZXJzWydDb25uZWN0aW9uJ109J2Nsb3NlJzt9CmlmKHR5cGVvZiB0aGlzLm9wdGlv bnMucmVxdWVzdEhlYWRlcnM9PSdvYmplY3QnKXt2YXIgZXh0cmFzPXRoaXMub3B0 aW9ucy5yZXF1ZXN0SGVhZGVycztpZihPYmplY3QuaXNGdW5jdGlvbihleHRyYXMu cHVzaCkpCmZvcih2YXIgaT0wLGxlbmd0aD1leHRyYXMubGVuZ3RoO2k8bGVuZ3Ro O2krPTIpCmhlYWRlcnNbZXh0cmFzW2ldXT1leHRyYXNbaSsxXTtlbHNlCiRIKGV4 dHJhcykuZWFjaChmdW5jdGlvbihwYWlyKXtoZWFkZXJzW3BhaXIua2V5XT1wYWly LnZhbHVlfSk7fQpmb3IodmFyIG5hbWUgaW4gaGVhZGVycykKdGhpcy50cmFuc3Bv cnQuc2V0UmVxdWVzdEhlYWRlcihuYW1lLGhlYWRlcnNbbmFtZV0pO30sc3VjY2Vz czpmdW5jdGlvbigpe3ZhciBzdGF0dXM9dGhpcy5nZXRTdGF0dXMoKTtyZXR1cm4h c3RhdHVzfHwoc3RhdHVzPj0yMDAmJnN0YXR1czwzMDApfHxzdGF0dXM9PTMwNDt9 LGdldFN0YXR1czpmdW5jdGlvbigpe3RyeXtpZih0aGlzLnRyYW5zcG9ydC5zdGF0 dXM9PT0xMjIzKXJldHVybiAyMDQ7cmV0dXJuIHRoaXMudHJhbnNwb3J0LnN0YXR1 c3x8MDt9Y2F0Y2goZSl7cmV0dXJuIDB9fSxyZXNwb25kVG9SZWFkeVN0YXRlOmZ1 bmN0aW9uKHJlYWR5U3RhdGUpe3ZhciBzdGF0ZT1BamF4LlJlcXVlc3QuRXZlbnRz W3JlYWR5U3RhdGVdLHJlc3BvbnNlPW5ldyBBamF4LlJlc3BvbnNlKHRoaXMpO2lm KHN0YXRlPT0nQ29tcGxldGUnKXt0cnl7dGhpcy5fY29tcGxldGU9dHJ1ZTsodGhp cy5vcHRpb25zWydvbicrcmVzcG9uc2Uuc3RhdHVzXXx8dGhpcy5vcHRpb25zWydv bicrKHRoaXMuc3VjY2VzcygpPydTdWNjZXNzJzonRmFpbHVyZScpXXx8UHJvdG90 eXBlLmVtcHR5RnVuY3Rpb24pKHJlc3BvbnNlLHJlc3BvbnNlLmhlYWRlckpTT04p O31jYXRjaChlKXt0aGlzLmRpc3BhdGNoRXhjZXB0aW9uKGUpO30KdmFyIGNvbnRl bnRUeXBlPXJlc3BvbnNlLmdldEhlYWRlcignQ29udGVudC10eXBlJyk7aWYodGhp cy5vcHRpb25zLmV2YWxKUz09J2ZvcmNlJ3x8KHRoaXMub3B0aW9ucy5ldmFsSlMm JnRoaXMuaXNTYW1lT3JpZ2luKCkmJmNvbnRlbnRUeXBlJiZjb250ZW50VHlwZS5t YXRjaCgvXlxzKih0ZXh0fGFwcGxpY2F0aW9uKVwvKHgtKT8oamF2YXxlY21hKXNj cmlwdCg7LiopP1xzKiQvaSkpKQp0aGlzLmV2YWxSZXNwb25zZSgpO30KdHJ5eyh0 aGlzLm9wdGlvbnNbJ29uJytzdGF0ZV18fFByb3RvdHlwZS5lbXB0eUZ1bmN0aW9u KShyZXNwb25zZSxyZXNwb25zZS5oZWFkZXJKU09OKTtBamF4LlJlc3BvbmRlcnMu ZGlzcGF0Y2goJ29uJytzdGF0ZSx0aGlzLHJlc3BvbnNlLHJlc3BvbnNlLmhlYWRl ckpTT04pO31jYXRjaChlKXt0aGlzLmRpc3BhdGNoRXhjZXB0aW9uKGUpO30KaWYo c3RhdGU9PSdDb21wbGV0ZScpe3RoaXMudHJhbnNwb3J0Lm9ucmVhZHlzdGF0ZWNo YW5nZT1Qcm90b3R5cGUuZW1wdHlGdW5jdGlvbjt9fSxpc1NhbWVPcmlnaW46ZnVu Y3Rpb24oKXt2YXIgbT10aGlzLnVybC5tYXRjaCgvXlxzKmh0dHBzPzpcL1wvW15c L10qLyk7cmV0dXJuIW18fChtWzBdPT0nI3twcm90b2NvbH0vLyN7ZG9tYWlufSN7 cG9ydH0nLmludGVycG9sYXRlKHtwcm90b2NvbDpsb2NhdGlvbi5wcm90b2NvbCxk b21haW46ZG9jdW1lbnQuZG9tYWluLHBvcnQ6bG9jYXRpb24ucG9ydD8nOicrbG9j YXRpb24ucG9ydDonJ30pKTt9LGdldEhlYWRlcjpmdW5jdGlvbihuYW1lKXt0cnl7 cmV0dXJuIHRoaXMudHJhbnNwb3J0LmdldFJlc3BvbnNlSGVhZGVyKG5hbWUpfHxu dWxsO31jYXRjaChlKXtyZXR1cm4gbnVsbDt9fSxldmFsUmVzcG9uc2U6ZnVuY3Rp b24oKXt0cnl7cmV0dXJuIGV2YWwoKHRoaXMudHJhbnNwb3J0LnJlc3BvbnNlVGV4 dHx8JycpLnVuZmlsdGVySlNPTigpKTt9Y2F0Y2goZSl7dGhpcy5kaXNwYXRjaEV4 Y2VwdGlvbihlKTt9fSxkaXNwYXRjaEV4Y2VwdGlvbjpmdW5jdGlvbihleGNlcHRp b24peyh0aGlzLm9wdGlvbnMub25FeGNlcHRpb258fFByb3RvdHlwZS5lbXB0eUZ1 bmN0aW9uKSh0aGlzLGV4Y2VwdGlvbik7QWpheC5SZXNwb25kZXJzLmRpc3BhdGNo KCdvbkV4Y2VwdGlvbicsdGhpcyxleGNlcHRpb24pO319KTtBamF4LlJlcXVlc3Qu RXZlbnRzPVsnVW5pbml0aWFsaXplZCcsJ0xvYWRpbmcnLCdMb2FkZWQnLCdJbnRl cmFjdGl2ZScsJ0NvbXBsZXRlJ107QWpheC5SZXNwb25zZT1DbGFzcy5jcmVhdGUo e2luaXRpYWxpemU6ZnVuY3Rpb24ocmVxdWVzdCl7dGhpcy5yZXF1ZXN0PXJlcXVl c3Q7dmFyIHRyYW5zcG9ydD10aGlzLnRyYW5zcG9ydD1yZXF1ZXN0LnRyYW5zcG9y dCxyZWFkeVN0YXRlPXRoaXMucmVhZHlTdGF0ZT10cmFuc3BvcnQucmVhZHlTdGF0 ZTtpZigocmVhZHlTdGF0ZT4yJiYhUHJvdG90eXBlLkJyb3dzZXIuSUUpfHxyZWFk eVN0YXRlPT00KXt0aGlzLnN0YXR1cz10aGlzLmdldFN0YXR1cygpO3RoaXMuc3Rh dHVzVGV4dD10aGlzLmdldFN0YXR1c1RleHQoKTt0aGlzLnJlc3BvbnNlVGV4dD1T dHJpbmcuaW50ZXJwcmV0KHRyYW5zcG9ydC5yZXNwb25zZVRleHQpO3RoaXMuaGVh ZGVySlNPTj10aGlzLl9nZXRIZWFkZXJKU09OKCk7fQppZihyZWFkeVN0YXRlPT00

KXt2YXIgeG1sPXRyYW5zcG9ydC5yZXNwb25zZVhNTDt0aGlzLnJlc3BvbnNlWE1M PU9iamVjdC5pc1VuZGVmaW5lZCh4bWwpP251bGw6eG1sO3RoaXMucmVzcG9uc2VK U09OPXRoaXMuX2dldFJlc3BvbnNlSlNPTigpO319LHN0YXR1czowLHN0YXR1c1Rl eHQ6JycsZ2V0U3RhdHVzOkFqYXguUmVxdWVzdC5wcm90b3R5cGUuZ2V0U3RhdHVz LGdldFN0YXR1c1RleHQ6ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIHRoaXMudHJhbnNw b3J0LnN0YXR1c1RleHR8fCcnO31jYXRjaChlKXtyZXR1cm4nJ319LGdldEhlYWRl cjpBamF4LlJlcXVlc3QucHJvdG90eXBlLmdldEhlYWRlcixnZXRBbGxIZWFkZXJz OmZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0aGlzLmdldEFsbFJlc3BvbnNlSGVhZGVy cygpO31jYXRjaChlKXtyZXR1cm4gbnVsbH19LGdldFJlc3BvbnNlSGVhZGVyOmZ1 bmN0aW9uKG5hbWUpe3JldHVybiB0aGlzLnRyYW5zcG9ydC5nZXRSZXNwb25zZUhl YWRlcihuYW1lKTt9LGdldEFsbFJlc3BvbnNlSGVhZGVyczpmdW5jdGlvbigpe3Jl dHVybiB0aGlzLnRyYW5zcG9ydC5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKTt9LF9n ZXRIZWFkZXJKU09OOmZ1bmN0aW9uKCl7dmFyIGpzb249dGhpcy5nZXRIZWFkZXIo J1gtSlNPTicpO2lmKCFqc29uKXJldHVybiBudWxsO2pzb249ZGVjb2RlVVJJQ29t cG9uZW50KGVzY2FwZShqc29uKSk7dHJ5e3JldHVybiBqc29uLmV2YWxKU09OKHRo aXMucmVxdWVzdC5vcHRpb25zLnNhbml0aXplSlNPTnx8IXRoaXMucmVxdWVzdC5p c1NhbWVPcmlnaW4oKSk7fWNhdGNoKGUpe3RoaXMucmVxdWVzdC5kaXNwYXRjaEV4 Y2VwdGlvbihlKTt9fSxfZ2V0UmVzcG9uc2VKU09OOmZ1bmN0aW9uKCl7dmFyIG9w dGlvbnM9dGhpcy5yZXF1ZXN0Lm9wdGlvbnM7aWYoIW9wdGlvbnMuZXZhbEpTT058 fChvcHRpb25zLmV2YWxKU09OIT0nZm9yY2UnJiYhKHRoaXMuZ2V0SGVhZGVyKCdD b250ZW50LXR5cGUnKXx8JycpLmluY2x1ZGUoJ2FwcGxpY2F0aW9uL2pzb24nKSl8 fHRoaXMucmVzcG9uc2VUZXh0LmJsYW5rKCkpCnJldHVybiBudWxsO3RyeXtyZXR1 cm4gdGhpcy5yZXNwb25zZVRleHQuZXZhbEpTT04ob3B0aW9ucy5zYW5pdGl6ZUpT T058fCF0aGlzLnJlcXVlc3QuaXNTYW1lT3JpZ2luKCkpO31jYXRjaChlKXt0aGlz LnJlcXVlc3QuZGlzcGF0Y2hFeGNlcHRpb24oZSk7fX19KTtBamF4LlVwZGF0ZXI9 Q2xhc3MuY3JlYXRlKEFqYXguUmVxdWVzdCx7aW5pdGlhbGl6ZTpmdW5jdGlvbigk c3VwZXIsY29udGFpbmVyLHVybCxvcHRpb25zKXt0aGlzLmNvbnRhaW5lcj17c3Vj Y2VzczooY29udGFpbmVyLnN1Y2Nlc3N8fGNvbnRhaW5lciksZmFpbHVyZTooY29u dGFpbmVyLmZhaWx1cmV8fChjb250YWluZXIuc3VjY2Vzcz9udWxsOmNvbnRhaW5l cikpfTtvcHRpb25zPU9iamVjdC5jbG9uZShvcHRpb25zKTt2YXIgb25Db21wbGV0 ZT1vcHRpb25zLm9uQ29tcGxldGU7b3B0aW9ucy5vbkNvbXBsZXRlPShmdW5jdGlv bihyZXNwb25zZSxqc29uKXt0aGlzLnVwZGF0ZUNvbnRlbnQocmVzcG9uc2UucmVz cG9uc2VUZXh0KTtpZihPYmplY3QuaXNGdW5jdGlvbihvbkNvbXBsZXRlKSlvbkNv bXBsZXRlKHJlc3BvbnNlLGpzb24pO30pLmJpbmQodGhpcyk7JHN1cGVyKHVybCxv cHRpb25zKTt9LHVwZGF0ZUNvbnRlbnQ6ZnVuY3Rpb24ocmVzcG9uc2VUZXh0KXt2 YXIgcmVjZWl2ZXI9dGhpcy5jb250YWluZXJbdGhpcy5zdWNjZXNzKCk/J3N1Y2Nl c3MnOidmYWlsdXJlJ10sb3B0aW9ucz10aGlzLm9wdGlvbnM7aWYoIW9wdGlvbnMu ZXZhbFNjcmlwdHMpcmVzcG9uc2VUZXh0PXJlc3BvbnNlVGV4dC5zdHJpcFNjcmlw dHMoKTtpZihyZWNlaXZlcj0kKHJlY2VpdmVyKSl7aWYob3B0aW9ucy5pbnNlcnRp b24pe2lmKE9iamVjdC5pc1N0cmluZyhvcHRpb25zLmluc2VydGlvbikpe3ZhciBp bnNlcnRpb249e307aW5zZXJ0aW9uW29wdGlvbnMuaW5zZXJ0aW9uXT1yZXNwb25z ZVRleHQ7cmVjZWl2ZXIuaW5zZXJ0KGluc2VydGlvbik7fQplbHNlIG9wdGlvbnMu aW5zZXJ0aW9uKHJlY2VpdmVyLHJlc3BvbnNlVGV4dCk7fQplbHNlIHJlY2VpdmVy LnVwZGF0ZShyZXNwb25zZVRleHQpO319fSk7QWpheC5QZXJpb2RpY2FsVXBkYXRl cj1DbGFzcy5jcmVhdGUoQWpheC5CYXNlLHtpbml0aWFsaXplOmZ1bmN0aW9uKCRz dXBlcixjb250YWluZXIsdXJsLG9wdGlvbnMpeyRzdXBlcihvcHRpb25zKTt0aGlz Lm9uQ29tcGxldGU9dGhpcy5vcHRpb25zLm9uQ29tcGxldGU7dGhpcy5mcmVxdWVu Y3k9KHRoaXMub3B0aW9ucy5mcmVxdWVuY3l8fDIpO3RoaXMuZGVjYXk9KHRoaXMu b3B0aW9ucy5kZWNheXx8MSk7dGhpcy51cGRhdGVyPXt9O3RoaXMuY29udGFpbmVy PWNvbnRhaW5lcjt0aGlzLnVybD11cmw7dGhpcy5zdGFydCgpO30sc3RhcnQ6ZnVu Y3Rpb24oKXt0aGlzLm9wdGlvbnMub25Db21wbGV0ZT10aGlzLnVwZGF0ZUNvbXBs ZXRlLmJpbmQodGhpcyk7dGhpcy5vblRpbWVyRXZlbnQoKTt9LHN0b3A6ZnVuY3Rp b24oKXt0aGlzLnVwZGF0ZXIub3B0aW9ucy5vbkNvbXBsZXRlPXVuZGVmaW5lZDtj bGVhclRpbWVvdXQodGhpcy50aW1lcik7KHRoaXMub25Db21wbGV0ZXx8UHJvdG90 eXBlLmVtcHR5RnVuY3Rpb24pLmFwcGx5KHRoaXMsYXJndW1lbnRzKTt9LHVwZGF0 ZUNvbXBsZXRlOmZ1bmN0aW9uKHJlc3BvbnNlKXtpZih0aGlzLm9wdGlvbnMuZGVj YXkpe3RoaXMuZGVjYXk9KHJlc3BvbnNlLnJlc3BvbnNlVGV4dD09dGhpcy5sYXN0 VGV4dD90aGlzLmRlY2F5KnRoaXMub3B0aW9ucy5kZWNheToxKTt0aGlzLmxhc3RU ZXh0PXJlc3BvbnNlLnJlc3BvbnNlVGV4dDt9CnRoaXMudGltZXI9dGhpcy5vblRp bWVyRXZlbnQuYmluZCh0aGlzKS5kZWxheSh0aGlzLmRlY2F5KnRoaXMuZnJlcXVl

bmN5KTt9LG9uVGltZXJFdmVudDpmdW5jdGlvbigpe3RoaXMudXBkYXRlcj1uZXcg QWpheC5VcGRhdGVyKHRoaXMuY29udGFpbmVyLHRoaXMudXJsLHRoaXMub3B0aW9u cyk7fX0pO2Z1bmN0aW9uICQoZWxlbWVudCl7aWYoYXJndW1lbnRzLmxlbmd0aD4x KXtmb3IodmFyIGk9MCxlbGVtZW50cz1bXSxsZW5ndGg9YXJndW1lbnRzLmxlbmd0 aDtpPGxlbmd0aDtpKyspCmVsZW1lbnRzLnB1c2goJChhcmd1bWVudHNbaV0pKTty ZXR1cm4gZWxlbWVudHM7fQppZihPYmplY3QuaXNTdHJpbmcoZWxlbWVudCkpCmVs ZW1lbnQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudCk7cmV0dXJuIEVs ZW1lbnQuZXh0ZW5kKGVsZW1lbnQpO30KaWYoUHJvdG90eXBlLkJyb3dzZXJGZWF0 dXJlcy5YUGF0aCl7ZG9jdW1lbnQuX2dldEVsZW1lbnRzQnlYUGF0aD1mdW5jdGlv bihleHByZXNzaW9uLHBhcmVudEVsZW1lbnQpe3ZhciByZXN1bHRzPVtdO3ZhciBx dWVyeT1kb2N1bWVudC5ldmFsdWF0ZShleHByZXNzaW9uLCQocGFyZW50RWxlbWVu dCl8fGRvY3VtZW50LG51bGwsWFBhdGhSZXN1bHQuT1JERVJFRF9OT0RFX1NOQVBT SE9UX1RZUEUsbnVsbCk7Zm9yKHZhciBpPTAsbGVuZ3RoPXF1ZXJ5LnNuYXBzaG90 TGVuZ3RoO2k8bGVuZ3RoO2krKykKcmVzdWx0cy5wdXNoKEVsZW1lbnQuZXh0ZW5k KHF1ZXJ5LnNuYXBzaG90SXRlbShpKSkpO3JldHVybiByZXN1bHRzO307fQppZigh Tm9kZSl2YXIgTm9kZT17fTtpZighTm9kZS5FTEVNRU5UX05PREUpe09iamVjdC5l eHRlbmQoTm9kZSx7RUxFTUVOVF9OT0RFOjEsQVRUUklCVVRFX05PREU6MixURVhU X05PREU6MyxDREFUQV9TRUNUSU9OX05PREU6NCxFTlRJVFlfUkVGRVJFTkNFX05P REU6NSxFTlRJVFlfTk9ERTo2LFBST0NFU1NJTkdfSU5TVFJVQ1RJT05fTk9ERTo3 LENPTU1FTlRfTk9ERTo4LERPQ1VNRU5UX05PREU6OSxET0NVTUVOVF9UWVBFX05P REU6MTAsRE9DVU1FTlRfRlJBR01FTlRfTk9ERToxMSxOT1RBVElPTl9OT0RFOjEy fSk7fQooZnVuY3Rpb24oZ2xvYmFsKXtmdW5jdGlvbiBzaG91bGRVc2VDYWNoZSh0 YWdOYW1lLGF0dHJpYnV0ZXMpe2lmKHRhZ05hbWU9PT0nc2VsZWN0JylyZXR1cm4g ZmFsc2U7aWYoJ3R5cGUnaW4gYXR0cmlidXRlcylyZXR1cm4gZmFsc2U7cmV0dXJu IHRydWU7fQp2YXIgSEFTX0VYVEVOREVEX0NSRUFURV9FTEVNRU5UX1NZTlRBWD0o ZnVuY3Rpb24oKXt0cnl7dmFyIGVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJzxp bnB1dCBuYW1lPSJ4Ij4nKTtyZXR1cm4gZWwudGFnTmFtZS50b0xvd2VyQ2FzZSgp PT09J2lucHV0JyYmZWwubmFtZT09PSd4Jzt9CmNhdGNoKGVycil7cmV0dXJuIGZh bHNlO319KSgpO3ZhciBlbGVtZW50PWdsb2JhbC5FbGVtZW50O2dsb2JhbC5FbGVt ZW50PWZ1bmN0aW9uKHRhZ05hbWUsYXR0cmlidXRlcyl7YXR0cmlidXRlcz1hdHRy aWJ1dGVzfHx7fTt0YWdOYW1lPXRhZ05hbWUudG9Mb3dlckNhc2UoKTt2YXIgY2Fj aGU9RWxlbWVudC5jYWNoZTtpZihIQVNfRVhURU5ERURfQ1JFQVRFX0VMRU1FTlRf U1lOVEFYJiZhdHRyaWJ1dGVzLm5hbWUpe3RhZ05hbWU9JzwnK3RhZ05hbWUrJyBu YW1lPSInK2F0dHJpYnV0ZXMubmFtZSsnIj4nO2RlbGV0ZSBhdHRyaWJ1dGVzLm5h bWU7cmV0dXJuIEVsZW1lbnQud3JpdGVBdHRyaWJ1dGUoZG9jdW1lbnQuY3JlYXRl RWxlbWVudCh0YWdOYW1lKSxhdHRyaWJ1dGVzKTt9CmlmKCFjYWNoZVt0YWdOYW1l XSljYWNoZVt0YWdOYW1lXT1FbGVtZW50LmV4dGVuZChkb2N1bWVudC5jcmVhdGVF bGVtZW50KHRhZ05hbWUpKTt2YXIgbm9kZT1zaG91bGRVc2VDYWNoZSh0YWdOYW1l LGF0dHJpYnV0ZXMpP2NhY2hlW3RhZ05hbWVdLmNsb25lTm9kZShmYWxzZSk6ZG9j dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTtyZXR1cm4gRWxlbWVudC53cml0 ZUF0dHJpYnV0ZShub2RlLGF0dHJpYnV0ZXMpO307T2JqZWN0LmV4dGVuZChnbG9i YWwuRWxlbWVudCxlbGVtZW50fHx7fSk7aWYoZWxlbWVudClnbG9iYWwuRWxlbWVu dC5wcm90b3R5cGU9ZWxlbWVudC5wcm90b3R5cGU7fSkodGhpcyk7RWxlbWVudC5p ZENvdW50ZXI9MTtFbGVtZW50LmNhY2hlPXt9O0VsZW1lbnQuX3B1cmdlRWxlbWVu dD1mdW5jdGlvbihlbGVtZW50KXt2YXIgdWlkPWVsZW1lbnQuX3Byb3RvdHlwZVVJ RDtpZih1aWQpe0VsZW1lbnQuc3RvcE9ic2VydmluZyhlbGVtZW50KTtlbGVtZW50 Ll9wcm90b3R5cGVVSUQ9dm9pZCAwO2RlbGV0ZSBFbGVtZW50LlN0b3JhZ2VbdWlk XTt9fQpFbGVtZW50Lk1ldGhvZHM9e3Zpc2libGU6ZnVuY3Rpb24oZWxlbWVudCl7 cmV0dXJuICQoZWxlbWVudCkuc3R5bGUuZGlzcGxheSE9J25vbmUnO30sdG9nZ2xl OmZ1bmN0aW9uKGVsZW1lbnQpe2VsZW1lbnQ9JChlbGVtZW50KTtFbGVtZW50W0Vs ZW1lbnQudmlzaWJsZShlbGVtZW50KT8naGlkZSc6J3Nob3cnXShlbGVtZW50KTty ZXR1cm4gZWxlbWVudDt9LGhpZGU6ZnVuY3Rpb24oZWxlbWVudCl7ZWxlbWVudD0k KGVsZW1lbnQpO2VsZW1lbnQuc3R5bGUuZGlzcGxheT0nbm9uZSc7cmV0dXJuIGVs ZW1lbnQ7fSxzaG93OmZ1bmN0aW9uKGVsZW1lbnQpe2VsZW1lbnQ9JChlbGVtZW50 KTtlbGVtZW50LnN0eWxlLmRpc3BsYXk9Jyc7cmV0dXJuIGVsZW1lbnQ7fSxyZW1v dmU6ZnVuY3Rpb24oZWxlbWVudCl7ZWxlbWVudD0kKGVsZW1lbnQpO2VsZW1lbnQu cGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbGVtZW50KTtyZXR1cm4gZWxlbWVudDt9 LHVwZGF0ZTooZnVuY3Rpb24oKXt2YXIgU0VMRUNUX0VMRU1FTlRfSU5ORVJIVE1M X0JVR0dZPShmdW5jdGlvbigpe3ZhciBlbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50 KCJzZWxlY3QiKSxpc0J1Z2d5PXRydWU7ZWwuaW5uZXJIVE1MPSI8b3B0aW9uIHZh

bHVlPVwidGVzdFwiPnRlc3Q8L29wdGlvbj4iO2lmKGVsLm9wdGlvbnMmJmVsLm9w dGlvbnNbMF0pe2lzQnVnZ3k9ZWwub3B0aW9uc1swXS5ub2RlTmFtZS50b1VwcGVy Q2FzZSgpIT09Ik9QVElPTiI7fQplbD1udWxsO3JldHVybiBpc0J1Z2d5O30pKCk7 dmFyIFRBQkxFX0VMRU1FTlRfSU5ORVJIVE1MX0JVR0dZPShmdW5jdGlvbigpe3Ry eXt2YXIgZWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGFibGUiKTtpZihlbCYm ZWwudEJvZGllcyl7ZWwuaW5uZXJIVE1MPSI8dGJvZHk+PHRyPjx0ZD50ZXN0PC90 ZD48L3RyPjwvdGJvZHk+Ijt2YXIgaXNCdWdneT10eXBlb2YgZWwudEJvZGllc1sw XT09InVuZGVmaW5lZCI7ZWw9bnVsbDtyZXR1cm4gaXNCdWdneTt9fWNhdGNoKGUp e3JldHVybiB0cnVlO319KSgpO3ZhciBMSU5LX0VMRU1FTlRfSU5ORVJIVE1MX0JV R0dZPShmdW5jdGlvbigpe3RyeXt2YXIgZWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVu dCgnZGl2Jyk7ZWwuaW5uZXJIVE1MPSI8bGluaz4iO3ZhciBpc0J1Z2d5PShlbC5j aGlsZE5vZGVzLmxlbmd0aD09PTApO2VsPW51bGw7cmV0dXJuIGlzQnVnZ3k7fWNh dGNoKGUpe3JldHVybiB0cnVlO319KSgpO3ZhciBBTllfSU5ORVJIVE1MX0JVR0dZ PVNFTEVDVF9FTEVNRU5UX0lOTkVSSFRNTF9CVUdHWXx8VEFCTEVfRUxFTUVOVF9J Tk5FUkhUTUxfQlVHR1l8fExJTktfRUxFTUVOVF9JTk5FUkhUTUxfQlVHR1k7dmFy IFNDUklQVF9FTEVNRU5UX1JFSkVDVFNfVEVYVE5PREVfQVBQRU5ESU5HPShmdW5j dGlvbigpe3ZhciBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLGlz QnVnZ3k9ZmFsc2U7dHJ5e3MuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4 dE5vZGUoIiIpKTtpc0J1Z2d5PSFzLmZpcnN0Q2hpbGR8fHMuZmlyc3RDaGlsZCYm cy5maXJzdENoaWxkLm5vZGVUeXBlIT09Mzt9Y2F0Y2goZSl7aXNCdWdneT10cnVl O30Kcz1udWxsO3JldHVybiBpc0J1Z2d5O30pKCk7ZnVuY3Rpb24gdXBkYXRlKGVs ZW1lbnQsY29udGVudCl7ZWxlbWVudD0kKGVsZW1lbnQpO3ZhciBwdXJnZUVsZW1l bnQ9RWxlbWVudC5fcHVyZ2VFbGVtZW50O3ZhciBkZXNjZW5kYW50cz1lbGVtZW50 LmdldEVsZW1lbnRzQnlUYWdOYW1lKCcqJyksaT1kZXNjZW5kYW50cy5sZW5ndGg7 d2hpbGUoaS0tKXB1cmdlRWxlbWVudChkZXNjZW5kYW50c1tpXSk7aWYoY29udGVu dCYmY29udGVudC50b0VsZW1lbnQpCmNvbnRlbnQ9Y29udGVudC50b0VsZW1lbnQo KTtpZihPYmplY3QuaXNFbGVtZW50KGNvbnRlbnQpKQpyZXR1cm4gZWxlbWVudC51 cGRhdGUoKS5pbnNlcnQoY29udGVudCk7Y29udGVudD1PYmplY3QudG9IVE1MKGNv bnRlbnQpO3ZhciB0YWdOYW1lPWVsZW1lbnQudGFnTmFtZS50b1VwcGVyQ2FzZSgp O2lmKHRhZ05hbWU9PT0nU0NSSVBUJyYmU0NSSVBUX0VMRU1FTlRfUkVKRUNUU19U RVhUTk9ERV9BUFBFTkRJTkcpe2VsZW1lbnQudGV4dD1jb250ZW50O3JldHVybiBl bGVtZW50O30KaWYoQU5ZX0lOTkVSSFRNTF9CVUdHWSl7aWYodGFnTmFtZSBpbiBF bGVtZW50Ll9pbnNlcnRpb25UcmFuc2xhdGlvbnMudGFncyl7d2hpbGUoZWxlbWVu dC5maXJzdENoaWxkKXtlbGVtZW50LnJlbW92ZUNoaWxkKGVsZW1lbnQuZmlyc3RD aGlsZCk7fQpFbGVtZW50Ll9nZXRDb250ZW50RnJvbUFub255bW91c0VsZW1lbnQo dGFnTmFtZSxjb250ZW50LnN0cmlwU2NyaXB0cygpKS5lYWNoKGZ1bmN0aW9uKG5v ZGUpe2VsZW1lbnQuYXBwZW5kQ2hpbGQobm9kZSl9KTt9ZWxzZSBpZihMSU5LX0VM RU1FTlRfSU5ORVJIVE1MX0JVR0dZJiZPYmplY3QuaXNTdHJpbmcoY29udGVudCkm JmNvbnRlbnQuaW5kZXhPZignPGxpbmsnKT4tMSl7d2hpbGUoZWxlbWVudC5maXJz dENoaWxkKXtlbGVtZW50LnJlbW92ZUNoaWxkKGVsZW1lbnQuZmlyc3RDaGlsZCk7 fQp2YXIgbm9kZXM9RWxlbWVudC5fZ2V0Q29udGVudEZyb21Bbm9ueW1vdXNFbGVt ZW50KHRhZ05hbWUsY29udGVudC5zdHJpcFNjcmlwdHMoKSx0cnVlKTtub2Rlcy5l YWNoKGZ1bmN0aW9uKG5vZGUpe2VsZW1lbnQuYXBwZW5kQ2hpbGQobm9kZSl9KTt9 CmVsc2V7ZWxlbWVudC5pbm5lckhUTUw9Y29udGVudC5zdHJpcFNjcmlwdHMoKTt9 fQplbHNle2VsZW1lbnQuaW5uZXJIVE1MPWNvbnRlbnQuc3RyaXBTY3JpcHRzKCk7 fQpjb250ZW50LmV2YWxTY3JpcHRzLmJpbmQoY29udGVudCkuZGVmZXIoKTtyZXR1 cm4gZWxlbWVudDt9CnJldHVybiB1cGRhdGU7fSkoKSxyZXBsYWNlOmZ1bmN0aW9u KGVsZW1lbnQsY29udGVudCl7ZWxlbWVudD0kKGVsZW1lbnQpO2lmKGNvbnRlbnQm JmNvbnRlbnQudG9FbGVtZW50KWNvbnRlbnQ9Y29udGVudC50b0VsZW1lbnQoKTtl bHNlIGlmKCFPYmplY3QuaXNFbGVtZW50KGNvbnRlbnQpKXtjb250ZW50PU9iamVj dC50b0hUTUwoY29udGVudCk7dmFyIHJhbmdlPWVsZW1lbnQub3duZXJEb2N1bWVu dC5jcmVhdGVSYW5nZSgpO3JhbmdlLnNlbGVjdE5vZGUoZWxlbWVudCk7Y29udGVu dC5ldmFsU2NyaXB0cy5iaW5kKGNvbnRlbnQpLmRlZmVyKCk7Y29udGVudD1yYW5n ZS5jcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQoY29udGVudC5zdHJpcFNjcmlwdHMo KSk7fQplbGVtZW50LnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKGNvbnRlbnQsZWxl bWVudCk7cmV0dXJuIGVsZW1lbnQ7fSxpbnNlcnQ6ZnVuY3Rpb24oZWxlbWVudCxp bnNlcnRpb25zKXtlbGVtZW50PSQoZWxlbWVudCk7aWYoT2JqZWN0LmlzU3RyaW5n KGluc2VydGlvbnMpfHxPYmplY3QuaXNOdW1iZXIoaW5zZXJ0aW9ucyl8fE9iamVj dC5pc0VsZW1lbnQoaW5zZXJ0aW9ucyl8fChpbnNlcnRpb25zJiYoaW5zZXJ0aW9u cy50b0VsZW1lbnR8fGluc2VydGlvbnMudG9IVE1MKSkpCmluc2VydGlvbnM9e2Jv

dHRvbTppbnNlcnRpb25zfTt2YXIgY29udGVudCxpbnNlcnQsdGFnTmFtZSxjaGls ZE5vZGVzO2Zvcih2YXIgcG9zaXRpb24gaW4gaW5zZXJ0aW9ucyl7Y29udGVudD1p bnNlcnRpb25zW3Bvc2l0aW9uXTtwb3NpdGlvbj1wb3NpdGlvbi50b0xvd2VyQ2Fz ZSgpO2luc2VydD1FbGVtZW50Ll9pbnNlcnRpb25UcmFuc2xhdGlvbnNbcG9zaXRp b25dO2lmKGNvbnRlbnQmJmNvbnRlbnQudG9FbGVtZW50KWNvbnRlbnQ9Y29udGVu dC50b0VsZW1lbnQoKTtpZihPYmplY3QuaXNFbGVtZW50KGNvbnRlbnQpKXtpbnNl cnQoZWxlbWVudCxjb250ZW50KTtjb250aW51ZTt9CmNvbnRlbnQ9T2JqZWN0LnRv SFRNTChjb250ZW50KTt0YWdOYW1lPSgocG9zaXRpb249PSdiZWZvcmUnfHxwb3Np dGlvbj09J2FmdGVyJyk/ZWxlbWVudC5wYXJlbnROb2RlOmVsZW1lbnQpLnRhZ05h bWUudG9VcHBlckNhc2UoKTtjaGlsZE5vZGVzPUVsZW1lbnQuX2dldENvbnRlbnRG cm9tQW5vbnltb3VzRWxlbWVudCh0YWdOYW1lLGNvbnRlbnQuc3RyaXBTY3JpcHRz KCkpO2lmKHBvc2l0aW9uPT0ndG9wJ3x8cG9zaXRpb249PSdhZnRlcicpY2hpbGRO b2Rlcy5yZXZlcnNlKCk7Y2hpbGROb2Rlcy5lYWNoKGluc2VydC5jdXJyeShlbGVt ZW50KSk7Y29udGVudC5ldmFsU2NyaXB0cy5iaW5kKGNvbnRlbnQpLmRlZmVyKCk7 fQpyZXR1cm4gZWxlbWVudDt9LHdyYXA6ZnVuY3Rpb24oZWxlbWVudCx3cmFwcGVy LGF0dHJpYnV0ZXMpe2VsZW1lbnQ9JChlbGVtZW50KTtpZihPYmplY3QuaXNFbGVt ZW50KHdyYXBwZXIpKQokKHdyYXBwZXIpLndyaXRlQXR0cmlidXRlKGF0dHJpYnV0 ZXN8fHt9KTtlbHNlIGlmKE9iamVjdC5pc1N0cmluZyh3cmFwcGVyKSl3cmFwcGVy PW5ldyBFbGVtZW50KHdyYXBwZXIsYXR0cmlidXRlcyk7ZWxzZSB3cmFwcGVyPW5l dyBFbGVtZW50KCdkaXYnLHdyYXBwZXIpO2lmKGVsZW1lbnQucGFyZW50Tm9kZSkK ZWxlbWVudC5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZCh3cmFwcGVyLGVsZW1lbnQp O3dyYXBwZXIuYXBwZW5kQ2hpbGQoZWxlbWVudCk7cmV0dXJuIHdyYXBwZXI7fSxp bnNwZWN0OmZ1bmN0aW9uKGVsZW1lbnQpe2VsZW1lbnQ9JChlbGVtZW50KTt2YXIg cmVzdWx0PSc8JytlbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKTskSCh7J2lk JzonaWQnLCdjbGFzc05hbWUnOidjbGFzcyd9KS5lYWNoKGZ1bmN0aW9uKHBhaXIp e3ZhciBwcm9wZXJ0eT1wYWlyLmZpcnN0KCksYXR0cmlidXRlPXBhaXIubGFzdCgp LHZhbHVlPShlbGVtZW50W3Byb3BlcnR5XXx8JycpLnRvU3RyaW5nKCk7aWYodmFs dWUpcmVzdWx0Kz0nICcrYXR0cmlidXRlKyc9Jyt2YWx1ZS5pbnNwZWN0KHRydWUp O30pO3JldHVybiByZXN1bHQrJz4nO30scmVjdXJzaXZlbHlDb2xsZWN0OmZ1bmN0 aW9uKGVsZW1lbnQscHJvcGVydHksbWF4aW11bUxlbmd0aCl7ZWxlbWVudD0kKGVs ZW1lbnQpO21heGltdW1MZW5ndGg9bWF4aW11bUxlbmd0aHx8LTE7dmFyIGVsZW1l bnRzPVtdO3doaWxlKGVsZW1lbnQ9ZWxlbWVudFtwcm9wZXJ0eV0pe2lmKGVsZW1l bnQubm9kZVR5cGU9PTEpCmVsZW1lbnRzLnB1c2goRWxlbWVudC5leHRlbmQoZWxl bWVudCkpO2lmKGVsZW1lbnRzLmxlbmd0aD09bWF4aW11bUxlbmd0aCkKYnJlYWs7 fQpyZXR1cm4gZWxlbWVudHM7fSxhbmNlc3RvcnM6ZnVuY3Rpb24oZWxlbWVudCl7 cmV0dXJuIEVsZW1lbnQucmVjdXJzaXZlbHlDb2xsZWN0KGVsZW1lbnQsJ3BhcmVu dE5vZGUnKTt9LGRlc2NlbmRhbnRzOmZ1bmN0aW9uKGVsZW1lbnQpe3JldHVybiBF bGVtZW50LnNlbGVjdChlbGVtZW50LCIqIik7fSxmaXJzdERlc2NlbmRhbnQ6ZnVu Y3Rpb24oZWxlbWVudCl7ZWxlbWVudD0kKGVsZW1lbnQpLmZpcnN0Q2hpbGQ7d2hp bGUoZWxlbWVudCYmZWxlbWVudC5ub2RlVHlwZSE9MSllbGVtZW50PWVsZW1lbnQu bmV4dFNpYmxpbmc7cmV0dXJuICQoZWxlbWVudCk7fSxpbW1lZGlhdGVEZXNjZW5k YW50czpmdW5jdGlvbihlbGVtZW50KXt2YXIgcmVzdWx0cz1bXSxjaGlsZD0kKGVs ZW1lbnQpLmZpcnN0Q2hpbGQ7d2hpbGUoY2hpbGQpe2lmKGNoaWxkLm5vZGVUeXBl PT09MSl7cmVzdWx0cy5wdXNoKEVsZW1lbnQuZXh0ZW5kKGNoaWxkKSk7fQpjaGls ZD1jaGlsZC5uZXh0U2libGluZzt9CnJldHVybiByZXN1bHRzO30scHJldmlvdXNT aWJsaW5nczpmdW5jdGlvbihlbGVtZW50LG1heGltdW1MZW5ndGgpe3JldHVybiBF bGVtZW50LnJlY3Vyc2l2ZWx5Q29sbGVjdChlbGVtZW50LCdwcmV2aW91c1NpYmxp bmcnKTt9LG5leHRTaWJsaW5nczpmdW5jdGlvbihlbGVtZW50KXtyZXR1cm4gRWxl bWVudC5yZWN1cnNpdmVseUNvbGxlY3QoZWxlbWVudCwnbmV4dFNpYmxpbmcnKTt9 LHNpYmxpbmdzOmZ1bmN0aW9uKGVsZW1lbnQpe2VsZW1lbnQ9JChlbGVtZW50KTty ZXR1cm4gRWxlbWVudC5wcmV2aW91c1NpYmxpbmdzKGVsZW1lbnQpLnJldmVyc2Uo KS5jb25jYXQoRWxlbWVudC5uZXh0U2libGluZ3MoZWxlbWVudCkpO30sbWF0Y2g6 ZnVuY3Rpb24oZWxlbWVudCxzZWxlY3Rvcil7ZWxlbWVudD0kKGVsZW1lbnQpO2lm KE9iamVjdC5pc1N0cmluZyhzZWxlY3RvcikpCnJldHVybiBQcm90b3R5cGUuU2Vs ZWN0b3IubWF0Y2goZWxlbWVudCxzZWxlY3Rvcik7cmV0dXJuIHNlbGVjdG9yLm1h dGNoKGVsZW1lbnQpO30sdXA6ZnVuY3Rpb24oZWxlbWVudCxleHByZXNzaW9uLGlu ZGV4KXtlbGVtZW50PSQoZWxlbWVudCk7aWYoYXJndW1lbnRzLmxlbmd0aD09MSly ZXR1cm4gJChlbGVtZW50LnBhcmVudE5vZGUpO3ZhciBhbmNlc3RvcnM9RWxlbWVu dC5hbmNlc3RvcnMoZWxlbWVudCk7cmV0dXJuIE9iamVjdC5pc051bWJlcihleHBy ZXNzaW9uKT9hbmNlc3RvcnNbZXhwcmVzc2lvbl06UHJvdG90eXBlLlNlbGVjdG9y

LmZpbmQoYW5jZXN0b3JzLGV4cHJlc3Npb24saW5kZXgpO30sZG93bjpmdW5jdGlv bihlbGVtZW50LGV4cHJlc3Npb24saW5kZXgpe2VsZW1lbnQ9JChlbGVtZW50KTtp Zihhcmd1bWVudHMubGVuZ3RoPT0xKXJldHVybiBFbGVtZW50LmZpcnN0RGVzY2Vu ZGFudChlbGVtZW50KTtyZXR1cm4gT2JqZWN0LmlzTnVtYmVyKGV4cHJlc3Npb24p P0VsZW1lbnQuZGVzY2VuZGFudHMoZWxlbWVudClbZXhwcmVzc2lvbl06RWxlbWVu dC5zZWxlY3QoZWxlbWVudCxleHByZXNzaW9uKVtpbmRleHx8MF07fSxwcmV2aW91 czpmdW5jdGlvbihlbGVtZW50LGV4cHJlc3Npb24saW5kZXgpe2VsZW1lbnQ9JChl bGVtZW50KTtpZihPYmplY3QuaXNOdW1iZXIoZXhwcmVzc2lvbikpaW5kZXg9ZXhw cmVzc2lvbixleHByZXNzaW9uPWZhbHNlO2lmKCFPYmplY3QuaXNOdW1iZXIoaW5k ZXgpKWluZGV4PTA7aWYoZXhwcmVzc2lvbil7cmV0dXJuIFByb3RvdHlwZS5TZWxl Y3Rvci5maW5kKGVsZW1lbnQucHJldmlvdXNTaWJsaW5ncygpLGV4cHJlc3Npb24s aW5kZXgpO31lbHNle3JldHVybiBlbGVtZW50LnJlY3Vyc2l2ZWx5Q29sbGVjdCgi cHJldmlvdXNTaWJsaW5nIixpbmRleCsxKVtpbmRleF07fX0sbmV4dDpmdW5jdGlv bihlbGVtZW50LGV4cHJlc3Npb24saW5kZXgpe2VsZW1lbnQ9JChlbGVtZW50KTtp ZihPYmplY3QuaXNOdW1iZXIoZXhwcmVzc2lvbikpaW5kZXg9ZXhwcmVzc2lvbixl eHByZXNzaW9uPWZhbHNlO2lmKCFPYmplY3QuaXNOdW1iZXIoaW5kZXgpKWluZGV4 PTA7aWYoZXhwcmVzc2lvbil7cmV0dXJuIFByb3RvdHlwZS5TZWxlY3Rvci5maW5k KGVsZW1lbnQubmV4dFNpYmxpbmdzKCksZXhwcmVzc2lvbixpbmRleCk7fWVsc2V7 dmFyIG1heGltdW1MZW5ndGg9T2JqZWN0LmlzTnVtYmVyKGluZGV4KT9pbmRleCsx OjE7cmV0dXJuIGVsZW1lbnQucmVjdXJzaXZlbHlDb2xsZWN0KCJuZXh0U2libGlu ZyIsaW5kZXgrMSlbaW5kZXhdO319LHNlbGVjdDpmdW5jdGlvbihlbGVtZW50KXtl bGVtZW50PSQoZWxlbWVudCk7dmFyIGV4cHJlc3Npb25zPUFycmF5LnByb3RvdHlw ZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKS5qb2luKCcsICcpO3JldHVybiBQcm90 b3R5cGUuU2VsZWN0b3Iuc2VsZWN0KGV4cHJlc3Npb25zLGVsZW1lbnQpO30sYWRq YWNlbnQ6ZnVuY3Rpb24oZWxlbWVudCl7ZWxlbWVudD0kKGVsZW1lbnQpO3ZhciBl eHByZXNzaW9ucz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMs MSkuam9pbignLCAnKTtyZXR1cm4gUHJvdG90eXBlLlNlbGVjdG9yLnNlbGVjdChl eHByZXNzaW9ucyxlbGVtZW50LnBhcmVudE5vZGUpLndpdGhvdXQoZWxlbWVudCk7 fSxpZGVudGlmeTpmdW5jdGlvbihlbGVtZW50KXtlbGVtZW50PSQoZWxlbWVudCk7 dmFyIGlkPUVsZW1lbnQucmVhZEF0dHJpYnV0ZShlbGVtZW50LCdpZCcpO2lmKGlk KXJldHVybiBpZDtkb3tpZD0nYW5vbnltb3VzX2VsZW1lbnRfJytFbGVtZW50Lmlk Q291bnRlcisrfXdoaWxlKCQoaWQpKTtFbGVtZW50LndyaXRlQXR0cmlidXRlKGVs ZW1lbnQsJ2lkJyxpZCk7cmV0dXJuIGlkO30scmVhZEF0dHJpYnV0ZTpmdW5jdGlv bihlbGVtZW50LG5hbWUpe2VsZW1lbnQ9JChlbGVtZW50KTtpZihQcm90b3R5cGUu QnJvd3Nlci5JRSl7dmFyIHQ9RWxlbWVudC5fYXR0cmlidXRlVHJhbnNsYXRpb25z LnJlYWQ7aWYodC52YWx1ZXNbbmFtZV0pcmV0dXJuIHQudmFsdWVzW25hbWVdKGVs ZW1lbnQsbmFtZSk7aWYodC5uYW1lc1tuYW1lXSluYW1lPXQubmFtZXNbbmFtZV07 aWYobmFtZS5pbmNsdWRlKCc6Jykpe3JldHVybighZWxlbWVudC5hdHRyaWJ1dGVz fHwhZWxlbWVudC5hdHRyaWJ1dGVzW25hbWVdKT9udWxsOmVsZW1lbnQuYXR0cmli dXRlc1tuYW1lXS52YWx1ZTt9fQpyZXR1cm4gZWxlbWVudC5nZXRBdHRyaWJ1dGUo bmFtZSk7fSx3cml0ZUF0dHJpYnV0ZTpmdW5jdGlvbihlbGVtZW50LG5hbWUsdmFs dWUpe2VsZW1lbnQ9JChlbGVtZW50KTt2YXIgYXR0cmlidXRlcz17fSx0PUVsZW1l bnQuX2F0dHJpYnV0ZVRyYW5zbGF0aW9ucy53cml0ZTtpZih0eXBlb2YgbmFtZT09 J29iamVjdCcpYXR0cmlidXRlcz1uYW1lO2Vsc2UgYXR0cmlidXRlc1tuYW1lXT1P YmplY3QuaXNVbmRlZmluZWQodmFsdWUpP3RydWU6dmFsdWU7Zm9yKHZhciBhdHRy IGluIGF0dHJpYnV0ZXMpe25hbWU9dC5uYW1lc1thdHRyXXx8YXR0cjt2YWx1ZT1h dHRyaWJ1dGVzW2F0dHJdO2lmKHQudmFsdWVzW2F0dHJdKW5hbWU9dC52YWx1ZXNb YXR0cl0oZWxlbWVudCx2YWx1ZSk7aWYodmFsdWU9PT1mYWxzZXx8dmFsdWU9PT1u dWxsKQplbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShuYW1lKTtlbHNlIGlmKHZhbHVl PT09dHJ1ZSkKZWxlbWVudC5zZXRBdHRyaWJ1dGUobmFtZSxuYW1lKTtlbHNlIGVs ZW1lbnQuc2V0QXR0cmlidXRlKG5hbWUsdmFsdWUpO30KcmV0dXJuIGVsZW1lbnQ7 fSxnZXRIZWlnaHQ6ZnVuY3Rpb24oZWxlbWVudCl7cmV0dXJuIEVsZW1lbnQuZ2V0 RGltZW5zaW9ucyhlbGVtZW50KS5oZWlnaHQ7fSxnZXRXaWR0aDpmdW5jdGlvbihl bGVtZW50KXtyZXR1cm4gRWxlbWVudC5nZXREaW1lbnNpb25zKGVsZW1lbnQpLndp ZHRoO30sY2xhc3NOYW1lczpmdW5jdGlvbihlbGVtZW50KXtyZXR1cm4gbmV3IEVs ZW1lbnQuQ2xhc3NOYW1lcyhlbGVtZW50KTt9LGhhc0NsYXNzTmFtZTpmdW5jdGlv bihlbGVtZW50LGNsYXNzTmFtZSl7aWYoIShlbGVtZW50PSQoZWxlbWVudCkpKXJl dHVybjt2YXIgZWxlbWVudENsYXNzTmFtZT1lbGVtZW50LmNsYXNzTmFtZTtyZXR1 cm4oZWxlbWVudENsYXNzTmFtZS5sZW5ndGg+MCYmKGVsZW1lbnRDbGFzc05hbWU9 PWNsYXNzTmFtZXx8bmV3IFJlZ0V4cCgiKF58XFxzKSIrY2xhc3NOYW1lKyIoXFxz

fCQpIikudGVzdChlbGVtZW50Q2xhc3NOYW1lKSkpO30sYWRkQ2xhc3NOYW1lOmZ1 bmN0aW9uKGVsZW1lbnQsY2xhc3NOYW1lKXtpZighKGVsZW1lbnQ9JChlbGVtZW50 KSkpcmV0dXJuO2lmKCFFbGVtZW50Lmhhc0NsYXNzTmFtZShlbGVtZW50LGNsYXNz TmFtZSkpCmVsZW1lbnQuY2xhc3NOYW1lKz0oZWxlbWVudC5jbGFzc05hbWU/JyAn OicnKStjbGFzc05hbWU7cmV0dXJuIGVsZW1lbnQ7fSxyZW1vdmVDbGFzc05hbWU6 ZnVuY3Rpb24oZWxlbWVudCxjbGFzc05hbWUpe2lmKCEoZWxlbWVudD0kKGVsZW1l bnQpKSlyZXR1cm47ZWxlbWVudC5jbGFzc05hbWU9ZWxlbWVudC5jbGFzc05hbWUu cmVwbGFjZShuZXcgUmVnRXhwKCIoXnxcXHMrKSIrY2xhc3NOYW1lKyIoXFxzK3wk KSIpLCcgJykuc3RyaXAoKTtyZXR1cm4gZWxlbWVudDt9LHRvZ2dsZUNsYXNzTmFt ZTpmdW5jdGlvbihlbGVtZW50LGNsYXNzTmFtZSl7aWYoIShlbGVtZW50PSQoZWxl bWVudCkpKXJldHVybjtyZXR1cm4gRWxlbWVudFtFbGVtZW50Lmhhc0NsYXNzTmFt ZShlbGVtZW50LGNsYXNzTmFtZSk/J3JlbW92ZUNsYXNzTmFtZSc6J2FkZENsYXNz TmFtZSddKGVsZW1lbnQsY2xhc3NOYW1lKTt9LGNsZWFuV2hpdGVzcGFjZTpmdW5j dGlvbihlbGVtZW50KXtlbGVtZW50PSQoZWxlbWVudCk7dmFyIG5vZGU9ZWxlbWVu dC5maXJzdENoaWxkO3doaWxlKG5vZGUpe3ZhciBuZXh0Tm9kZT1ub2RlLm5leHRT aWJsaW5nO2lmKG5vZGUubm9kZVR5cGU9PTMmJiEvXFMvLnRlc3Qobm9kZS5ub2Rl VmFsdWUpKQplbGVtZW50LnJlbW92ZUNoaWxkKG5vZGUpO25vZGU9bmV4dE5vZGU7 fQpyZXR1cm4gZWxlbWVudDt9LGVtcHR5OmZ1bmN0aW9uKGVsZW1lbnQpe3JldHVy biAkKGVsZW1lbnQpLmlubmVySFRNTC5ibGFuaygpO30sZGVzY2VuZGFudE9mOmZ1 bmN0aW9uKGVsZW1lbnQsYW5jZXN0b3Ipe2VsZW1lbnQ9JChlbGVtZW50KSxhbmNl c3Rvcj0kKGFuY2VzdG9yKTtpZihlbGVtZW50LmNvbXBhcmVEb2N1bWVudFBvc2l0 aW9uKQpyZXR1cm4oZWxlbWVudC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhbmNl c3RvcikmOCk9PT04O2lmKGFuY2VzdG9yLmNvbnRhaW5zKQpyZXR1cm4gYW5jZXN0 b3IuY29udGFpbnMoZWxlbWVudCkmJmFuY2VzdG9yIT09ZWxlbWVudDt3aGlsZShl bGVtZW50PWVsZW1lbnQucGFyZW50Tm9kZSkKaWYoZWxlbWVudD09YW5jZXN0b3Ip cmV0dXJuIHRydWU7cmV0dXJuIGZhbHNlO30sc2Nyb2xsVG86ZnVuY3Rpb24oZWxl bWVudCl7ZWxlbWVudD0kKGVsZW1lbnQpO3ZhciBwb3M9RWxlbWVudC5jdW11bGF0 aXZlT2Zmc2V0KGVsZW1lbnQpO3dpbmRvdy5zY3JvbGxUbyhwb3NbMF0scG9zWzFd KTtyZXR1cm4gZWxlbWVudDt9LGdldFN0eWxlOmZ1bmN0aW9uKGVsZW1lbnQsc3R5 bGUpe2VsZW1lbnQ9JChlbGVtZW50KTtzdHlsZT1zdHlsZT09J2Zsb2F0Jz8nY3Nz RmxvYXQnOnN0eWxlLmNhbWVsaXplKCk7dmFyIHZhbHVlPWVsZW1lbnQuc3R5bGVb c3R5bGVdO2lmKCF2YWx1ZXx8dmFsdWU9PSdhdXRvJyl7dmFyIGNzcz1kb2N1bWVu dC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsbnVsbCk7dmFs dWU9Y3NzP2Nzc1tzdHlsZV06bnVsbDt9CmlmKHN0eWxlPT0nb3BhY2l0eScpcmV0 dXJuIHZhbHVlP3BhcnNlRmxvYXQodmFsdWUpOjEuMDtyZXR1cm4gdmFsdWU9PSdh dXRvJz9udWxsOnZhbHVlO30sZ2V0T3BhY2l0eTpmdW5jdGlvbihlbGVtZW50KXty ZXR1cm4gJChlbGVtZW50KS5nZXRTdHlsZSgnb3BhY2l0eScpO30sc2V0U3R5bGU6 ZnVuY3Rpb24oZWxlbWVudCxzdHlsZXMpe2VsZW1lbnQ9JChlbGVtZW50KTt2YXIg ZWxlbWVudFN0eWxlPWVsZW1lbnQuc3R5bGUsbWF0Y2g7aWYoT2JqZWN0LmlzU3Ry aW5nKHN0eWxlcykpe2VsZW1lbnQuc3R5bGUuY3NzVGV4dCs9JzsnK3N0eWxlczty ZXR1cm4gc3R5bGVzLmluY2x1ZGUoJ29wYWNpdHknKT9lbGVtZW50LnNldE9wYWNp dHkoc3R5bGVzLm1hdGNoKC9vcGFjaXR5OlxzKihcZD9cLj9cZCopLylbMV0pOmVs ZW1lbnQ7fQpmb3IodmFyIHByb3BlcnR5IGluIHN0eWxlcykKaWYocHJvcGVydHk9 PSdvcGFjaXR5JyllbGVtZW50LnNldE9wYWNpdHkoc3R5bGVzW3Byb3BlcnR5XSk7 ZWxzZQplbGVtZW50U3R5bGVbKHByb3BlcnR5PT0nZmxvYXQnfHxwcm9wZXJ0eT09 J2Nzc0Zsb2F0Jyk/KE9iamVjdC5pc1VuZGVmaW5lZChlbGVtZW50U3R5bGUuc3R5 bGVGbG9hdCk/J2Nzc0Zsb2F0Jzonc3R5bGVGbG9hdCcpOnByb3BlcnR5XT1zdHls ZXNbcHJvcGVydHldO3JldHVybiBlbGVtZW50O30sc2V0T3BhY2l0eTpmdW5jdGlv bihlbGVtZW50LHZhbHVlKXtlbGVtZW50PSQoZWxlbWVudCk7ZWxlbWVudC5zdHls ZS5vcGFjaXR5PSh2YWx1ZT09MXx8dmFsdWU9PT0nJyk/Jyc6KHZhbHVlPDAuMDAw MDEpPzA6dmFsdWU7cmV0dXJuIGVsZW1lbnQ7fSxtYWtlUG9zaXRpb25lZDpmdW5j dGlvbihlbGVtZW50KXtlbGVtZW50PSQoZWxlbWVudCk7dmFyIHBvcz1FbGVtZW50 LmdldFN0eWxlKGVsZW1lbnQsJ3Bvc2l0aW9uJyk7aWYocG9zPT0nc3RhdGljJ3x8 IXBvcyl7ZWxlbWVudC5fbWFkZVBvc2l0aW9uZWQ9dHJ1ZTtlbGVtZW50LnN0eWxl LnBvc2l0aW9uPSdyZWxhdGl2ZSc7aWYoUHJvdG90eXBlLkJyb3dzZXIuT3BlcmEp e2VsZW1lbnQuc3R5bGUudG9wPTA7ZWxlbWVudC5zdHlsZS5sZWZ0PTA7fX0KcmV0 dXJuIGVsZW1lbnQ7fSx1bmRvUG9zaXRpb25lZDpmdW5jdGlvbihlbGVtZW50KXtl bGVtZW50PSQoZWxlbWVudCk7aWYoZWxlbWVudC5fbWFkZVBvc2l0aW9uZWQpe2Vs ZW1lbnQuX21hZGVQb3NpdGlvbmVkPXVuZGVmaW5lZDtlbGVtZW50LnN0eWxlLnBv c2l0aW9uPWVsZW1lbnQuc3R5bGUudG9wPWVsZW1lbnQuc3R5bGUubGVmdD1lbGVt

ZW50LnN0eWxlLmJvdHRvbT1lbGVtZW50LnN0eWxlLnJpZ2h0PScnO30KcmV0dXJu IGVsZW1lbnQ7fSxtYWtlQ2xpcHBpbmc6ZnVuY3Rpb24oZWxlbWVudCl7ZWxlbWVu dD0kKGVsZW1lbnQpO2lmKGVsZW1lbnQuX292ZXJmbG93KXJldHVybiBlbGVtZW50 O2VsZW1lbnQuX292ZXJmbG93PUVsZW1lbnQuZ2V0U3R5bGUoZWxlbWVudCwnb3Zl cmZsb3cnKXx8J2F1dG8nO2lmKGVsZW1lbnQuX292ZXJmbG93IT09J2hpZGRlbicp CmVsZW1lbnQuc3R5bGUub3ZlcmZsb3c9J2hpZGRlbic7cmV0dXJuIGVsZW1lbnQ7 fSx1bmRvQ2xpcHBpbmc6ZnVuY3Rpb24oZWxlbWVudCl7ZWxlbWVudD0kKGVsZW1l bnQpO2lmKCFlbGVtZW50Ll9vdmVyZmxvdylyZXR1cm4gZWxlbWVudDtlbGVtZW50 LnN0eWxlLm92ZXJmbG93PWVsZW1lbnQuX292ZXJmbG93PT0nYXV0byc/Jyc6ZWxl bWVudC5fb3ZlcmZsb3c7ZWxlbWVudC5fb3ZlcmZsb3c9bnVsbDtyZXR1cm4gZWxl bWVudDt9LGNsb25lUG9zaXRpb246ZnVuY3Rpb24oZWxlbWVudCxzb3VyY2Upe3Zh ciBvcHRpb25zPU9iamVjdC5leHRlbmQoe3NldExlZnQ6dHJ1ZSxzZXRUb3A6dHJ1 ZSxzZXRXaWR0aDp0cnVlLHNldEhlaWdodDp0cnVlLG9mZnNldFRvcDowLG9mZnNl dExlZnQ6MH0sYXJndW1lbnRzWzJdfHx7fSk7c291cmNlPSQoc291cmNlKTt2YXIg cD1FbGVtZW50LnZpZXdwb3J0T2Zmc2V0KHNvdXJjZSksZGVsdGE9WzAsMF0scGFy ZW50PW51bGw7ZWxlbWVudD0kKGVsZW1lbnQpO2lmKEVsZW1lbnQuZ2V0U3R5bGUo ZWxlbWVudCwncG9zaXRpb24nKT09J2Fic29sdXRlJyl7cGFyZW50PUVsZW1lbnQu Z2V0T2Zmc2V0UGFyZW50KGVsZW1lbnQpO2RlbHRhPUVsZW1lbnQudmlld3BvcnRP ZmZzZXQocGFyZW50KTt9CmlmKHBhcmVudD09ZG9jdW1lbnQuYm9keSl7ZGVsdGFb MF0tPWRvY3VtZW50LmJvZHkub2Zmc2V0TGVmdDtkZWx0YVsxXS09ZG9jdW1lbnQu Ym9keS5vZmZzZXRUb3A7fQppZihvcHRpb25zLnNldExlZnQpZWxlbWVudC5zdHls ZS5sZWZ0PShwWzBdLWRlbHRhWzBdK29wdGlvbnMub2Zmc2V0TGVmdCkrJ3B4Jztp ZihvcHRpb25zLnNldFRvcCllbGVtZW50LnN0eWxlLnRvcD0ocFsxXS1kZWx0YVsx XStvcHRpb25zLm9mZnNldFRvcCkrJ3B4JztpZihvcHRpb25zLnNldFdpZHRoKWVs ZW1lbnQuc3R5bGUud2lkdGg9c291cmNlLm9mZnNldFdpZHRoKydweCc7aWYob3B0 aW9ucy5zZXRIZWlnaHQpZWxlbWVudC5zdHlsZS5oZWlnaHQ9c291cmNlLm9mZnNl dEhlaWdodCsncHgnO3JldHVybiBlbGVtZW50O319O09iamVjdC5leHRlbmQoRWxl bWVudC5NZXRob2RzLHtnZXRFbGVtZW50c0J5U2VsZWN0b3I6RWxlbWVudC5NZXRo b2RzLnNlbGVjdCxjaGlsZEVsZW1lbnRzOkVsZW1lbnQuTWV0aG9kcy5pbW1lZGlh dGVEZXNjZW5kYW50c30pO0VsZW1lbnQuX2F0dHJpYnV0ZVRyYW5zbGF0aW9ucz17 d3JpdGU6e25hbWVzOntjbGFzc05hbWU6J2NsYXNzJyxodG1sRm9yOidmb3InfSx2 YWx1ZXM6e319fTtpZihQcm90b3R5cGUuQnJvd3Nlci5PcGVyYSl7RWxlbWVudC5N ZXRob2RzLmdldFN0eWxlPUVsZW1lbnQuTWV0aG9kcy5nZXRTdHlsZS53cmFwKGZ1 bmN0aW9uKHByb2NlZWQsZWxlbWVudCxzdHlsZSl7c3dpdGNoKHN0eWxlKXtjYXNl J2hlaWdodCc6Y2FzZSd3aWR0aCc6aWYoIUVsZW1lbnQudmlzaWJsZShlbGVtZW50 KSlyZXR1cm4gbnVsbDt2YXIgZGltPXBhcnNlSW50KHByb2NlZWQoZWxlbWVudCxz dHlsZSksMTApO2lmKGRpbSE9PWVsZW1lbnRbJ29mZnNldCcrc3R5bGUuY2FwaXRh bGl6ZSgpXSkKcmV0dXJuIGRpbSsncHgnO3ZhciBwcm9wZXJ0aWVzO2lmKHN0eWxl PT09J2hlaWdodCcpe3Byb3BlcnRpZXM9Wydib3JkZXItdG9wLXdpZHRoJywncGFk ZGluZy10b3AnLCdwYWRkaW5nLWJvdHRvbScsJ2JvcmRlci1ib3R0b20td2lkdGgn XTt9CmVsc2V7cHJvcGVydGllcz1bJ2JvcmRlci1sZWZ0LXdpZHRoJywncGFkZGlu Zy1sZWZ0JywncGFkZGluZy1yaWdodCcsJ2JvcmRlci1yaWdodC13aWR0aCddO30K cmV0dXJuIHByb3BlcnRpZXMuaW5qZWN0KGRpbSxmdW5jdGlvbihtZW1vLHByb3Bl cnR5KXt2YXIgdmFsPXByb2NlZWQoZWxlbWVudCxwcm9wZXJ0eSk7cmV0dXJuIHZh bD09PW51bGw/bWVtbzptZW1vLXBhcnNlSW50KHZhbCwxMCk7fSkrJ3B4JztkZWZh dWx0OnJldHVybiBwcm9jZWVkKGVsZW1lbnQsc3R5bGUpO319KTtFbGVtZW50Lk1l dGhvZHMucmVhZEF0dHJpYnV0ZT1FbGVtZW50Lk1ldGhvZHMucmVhZEF0dHJpYnV0 ZS53cmFwKGZ1bmN0aW9uKHByb2NlZWQsZWxlbWVudCxhdHRyaWJ1dGUpe2lmKGF0 dHJpYnV0ZT09PSd0aXRsZScpcmV0dXJuIGVsZW1lbnQudGl0bGU7cmV0dXJuIHBy b2NlZWQoZWxlbWVudCxhdHRyaWJ1dGUpO30pO30KZWxzZSBpZihQcm90b3R5cGUu QnJvd3Nlci5JRSl7RWxlbWVudC5NZXRob2RzLmdldFN0eWxlPWZ1bmN0aW9uKGVs ZW1lbnQsc3R5bGUpe2VsZW1lbnQ9JChlbGVtZW50KTtzdHlsZT0oc3R5bGU9PSdm bG9hdCd8fHN0eWxlPT0nY3NzRmxvYXQnKT8nc3R5bGVGbG9hdCc6c3R5bGUuY2Ft ZWxpemUoKTt2YXIgdmFsdWU9ZWxlbWVudC5zdHlsZVtzdHlsZV07aWYoIXZhbHVl JiZlbGVtZW50LmN1cnJlbnRTdHlsZSl2YWx1ZT1lbGVtZW50LmN1cnJlbnRTdHls ZVtzdHlsZV07aWYoc3R5bGU9PSdvcGFjaXR5Jyl7aWYodmFsdWU9KGVsZW1lbnQu Z2V0U3R5bGUoJ2ZpbHRlcicpfHwnJykubWF0Y2goL2FscGhhXChvcGFjaXR5PSgu KilcKS8pKQppZih2YWx1ZVsxXSlyZXR1cm4gcGFyc2VGbG9hdCh2YWx1ZVsxXSkv MTAwO3JldHVybiAxLjA7fQppZih2YWx1ZT09J2F1dG8nKXtpZigoc3R5bGU9PSd3 aWR0aCd8fHN0eWxlPT0naGVpZ2h0JykmJihlbGVtZW50LmdldFN0eWxlKCdkaXNw

bGF5JykhPSdub25lJykpCnJldHVybiBlbGVtZW50WydvZmZzZXQnK3N0eWxlLmNh cGl0YWxpemUoKV0rJ3B4JztyZXR1cm4gbnVsbDt9CnJldHVybiB2YWx1ZTt9O0Vs ZW1lbnQuTWV0aG9kcy5zZXRPcGFjaXR5PWZ1bmN0aW9uKGVsZW1lbnQsdmFsdWUp e2Z1bmN0aW9uIHN0cmlwQWxwaGEoZmlsdGVyKXtyZXR1cm4gZmlsdGVyLnJlcGxh Y2UoL2FscGhhXChbXlwpXSpcKS9naSwnJyk7fQplbGVtZW50PSQoZWxlbWVudCk7 dmFyIGN1cnJlbnRTdHlsZT1lbGVtZW50LmN1cnJlbnRTdHlsZTtpZigoY3VycmVu dFN0eWxlJiYhY3VycmVudFN0eWxlLmhhc0xheW91dCl8fCghY3VycmVudFN0eWxl JiZlbGVtZW50LnN0eWxlLnpvb209PSdub3JtYWwnKSkKZWxlbWVudC5zdHlsZS56 b29tPTE7dmFyIGZpbHRlcj1lbGVtZW50LmdldFN0eWxlKCdmaWx0ZXInKSxzdHls ZT1lbGVtZW50LnN0eWxlO2lmKHZhbHVlPT0xfHx2YWx1ZT09PScnKXsoZmlsdGVy PXN0cmlwQWxwaGEoZmlsdGVyKSk/c3R5bGUuZmlsdGVyPWZpbHRlcjpzdHlsZS5y ZW1vdmVBdHRyaWJ1dGUoJ2ZpbHRlcicpO3JldHVybiBlbGVtZW50O31lbHNlIGlm KHZhbHVlPDAuMDAwMDEpdmFsdWU9MDtzdHlsZS5maWx0ZXI9c3RyaXBBbHBoYShm aWx0ZXIpKydhbHBoYShvcGFjaXR5PScrKHZhbHVlKjEwMCkrJyknO3JldHVybiBl bGVtZW50O307RWxlbWVudC5fYXR0cmlidXRlVHJhbnNsYXRpb25zPShmdW5jdGlv bigpe3ZhciBjbGFzc1Byb3A9J2NsYXNzTmFtZScsZm9yUHJvcD0nZm9yJyxlbD1k b2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtlbC5zZXRBdHRyaWJ1dGUoY2xh c3NQcm9wLCd4Jyk7aWYoZWwuY2xhc3NOYW1lIT09J3gnKXtlbC5zZXRBdHRyaWJ1 dGUoJ2NsYXNzJywneCcpO2lmKGVsLmNsYXNzTmFtZT09PSd4Jyl7Y2xhc3NQcm9w PSdjbGFzcyc7fX0KZWw9bnVsbDtlbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCds YWJlbCcpO2VsLnNldEF0dHJpYnV0ZShmb3JQcm9wLCd4Jyk7aWYoZWwuaHRtbEZv ciE9PSd4Jyl7ZWwuc2V0QXR0cmlidXRlKCdodG1sRm9yJywneCcpO2lmKGVsLmh0 bWxGb3I9PT0neCcpe2ZvclByb3A9J2h0bWxGb3InO319CmVsPW51bGw7cmV0dXJu e3JlYWQ6e25hbWVzOnsnY2xhc3MnOmNsYXNzUHJvcCwnY2xhc3NOYW1lJzpjbGFz c1Byb3AsJ2Zvcic6Zm9yUHJvcCwnaHRtbEZvcic6Zm9yUHJvcH0sdmFsdWVzOntf Z2V0QXR0cjpmdW5jdGlvbihlbGVtZW50LGF0dHJpYnV0ZSl7cmV0dXJuIGVsZW1l bnQuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSk7fSxfZ2V0QXR0cjI6ZnVuY3Rpb24o ZWxlbWVudCxhdHRyaWJ1dGUpe3JldHVybiBlbGVtZW50LmdldEF0dHJpYnV0ZShh dHRyaWJ1dGUsMik7fSxfZ2V0QXR0ck5vZGU6ZnVuY3Rpb24oZWxlbWVudCxhdHRy aWJ1dGUpe3ZhciBub2RlPWVsZW1lbnQuZ2V0QXR0cmlidXRlTm9kZShhdHRyaWJ1 dGUpO3JldHVybiBub2RlP25vZGUudmFsdWU6IiI7fSxfZ2V0RXY6KGZ1bmN0aW9u KCl7dmFyIGVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLGY7ZWwub25j bGljaz1Qcm90b3R5cGUuZW1wdHlGdW5jdGlvbjt2YXIgdmFsdWU9ZWwuZ2V0QXR0 cmlidXRlKCdvbmNsaWNrJyk7aWYoU3RyaW5nKHZhbHVlKS5pbmRleE9mKCd7Jyk+ LTEpe2Y9ZnVuY3Rpb24oZWxlbWVudCxhdHRyaWJ1dGUpe2F0dHJpYnV0ZT1lbGVt ZW50LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGUpO2lmKCFhdHRyaWJ1dGUpcmV0dXJu IG51bGw7YXR0cmlidXRlPWF0dHJpYnV0ZS50b1N0cmluZygpO2F0dHJpYnV0ZT1h dHRyaWJ1dGUuc3BsaXQoJ3snKVsxXTthdHRyaWJ1dGU9YXR0cmlidXRlLnNwbGl0 KCd9JylbMF07cmV0dXJuIGF0dHJpYnV0ZS5zdHJpcCgpO307fQplbHNlIGlmKHZh bHVlPT09Jycpe2Y9ZnVuY3Rpb24oZWxlbWVudCxhdHRyaWJ1dGUpe2F0dHJpYnV0 ZT1lbGVtZW50LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGUpO2lmKCFhdHRyaWJ1dGUp cmV0dXJuIG51bGw7cmV0dXJuIGF0dHJpYnV0ZS5zdHJpcCgpO307fQplbD1udWxs O3JldHVybiBmO30pKCksX2ZsYWc6ZnVuY3Rpb24oZWxlbWVudCxhdHRyaWJ1dGUp e3JldHVybiAkKGVsZW1lbnQpLmhhc0F0dHJpYnV0ZShhdHRyaWJ1dGUpP2F0dHJp YnV0ZTpudWxsO30sc3R5bGU6ZnVuY3Rpb24oZWxlbWVudCl7cmV0dXJuIGVsZW1l bnQuc3R5bGUuY3NzVGV4dC50b0xvd2VyQ2FzZSgpO30sdGl0bGU6ZnVuY3Rpb24o ZWxlbWVudCl7cmV0dXJuIGVsZW1lbnQudGl0bGU7fX19fX0pKCk7RWxlbWVudC5f YXR0cmlidXRlVHJhbnNsYXRpb25zLndyaXRlPXtuYW1lczpPYmplY3QuZXh0ZW5k KHtjZWxscGFkZGluZzonY2VsbFBhZGRpbmcnLGNlbGxzcGFjaW5nOidjZWxsU3Bh Y2luZyd9LEVsZW1lbnQuX2F0dHJpYnV0ZVRyYW5zbGF0aW9ucy5yZWFkLm5hbWVz KSx2YWx1ZXM6e2NoZWNrZWQ6ZnVuY3Rpb24oZWxlbWVudCx2YWx1ZSl7ZWxlbWVu dC5jaGVja2VkPSEhdmFsdWU7fSxzdHlsZTpmdW5jdGlvbihlbGVtZW50LHZhbHVl KXtlbGVtZW50LnN0eWxlLmNzc1RleHQ9dmFsdWU/dmFsdWU6Jyc7fX19O0VsZW1l bnQuX2F0dHJpYnV0ZVRyYW5zbGF0aW9ucy5oYXM9e307JHcoJ2NvbFNwYW4gcm93 U3BhbiB2QWxpZ24gZGF0ZVRpbWUgYWNjZXNzS2V5IHRhYkluZGV4ICcrJ2VuY1R5 cGUgbWF4TGVuZ3RoIHJlYWRPbmx5IGxvbmdEZXNjIGZyYW1lQm9yZGVyJykuZWFj aChmdW5jdGlvbihhdHRyKXtFbGVtZW50Ll9hdHRyaWJ1dGVUcmFuc2xhdGlvbnMu d3JpdGUubmFtZXNbYXR0ci50b0xvd2VyQ2FzZSgpXT1hdHRyO0VsZW1lbnQuX2F0 dHJpYnV0ZVRyYW5zbGF0aW9ucy5oYXNbYXR0ci50b0xvd2VyQ2FzZSgpXT1hdHRy O30pOyhmdW5jdGlvbih2KXtPYmplY3QuZXh0ZW5kKHYse2hyZWY6di5fZ2V0QXR0

cjIsc3JjOnYuX2dldEF0dHIyLHR5cGU6di5fZ2V0QXR0cixhY3Rpb246di5fZ2V0 QXR0ck5vZGUsZGlzYWJsZWQ6di5fZmxhZyxjaGVja2VkOnYuX2ZsYWcscmVhZG9u bHk6di5fZmxhZyxtdWx0aXBsZTp2Ll9mbGFnLG9ubG9hZDp2Ll9nZXRFdixvbnVu bG9hZDp2Ll9nZXRFdixvbmNsaWNrOnYuX2dldEV2LG9uZGJsY2xpY2s6di5fZ2V0 RXYsb25tb3VzZWRvd246di5fZ2V0RXYsb25tb3VzZXVwOnYuX2dldEV2LG9ubW91 c2VvdmVyOnYuX2dldEV2LG9ubW91c2Vtb3ZlOnYuX2dldEV2LG9ubW91c2VvdXQ6 di5fZ2V0RXYsb25mb2N1czp2Ll9nZXRFdixvbmJsdXI6di5fZ2V0RXYsb25rZXlw cmVzczp2Ll9nZXRFdixvbmtleWRvd246di5fZ2V0RXYsb25rZXl1cDp2Ll9nZXRF dixvbnN1Ym1pdDp2Ll9nZXRFdixvbnJlc2V0OnYuX2dldEV2LG9uc2VsZWN0OnYu X2dldEV2LG9uY2hhbmdlOnYuX2dldEV2fSk7fSkoRWxlbWVudC5fYXR0cmlidXRl VHJhbnNsYXRpb25zLnJlYWQudmFsdWVzKTtpZihQcm90b3R5cGUuQnJvd3NlckZl YXR1cmVzLkVsZW1lbnRFeHRlbnNpb25zKXsoZnVuY3Rpb24oKXtmdW5jdGlvbiBf ZGVzY2VuZGFudHMoZWxlbWVudCl7dmFyIG5vZGVzPWVsZW1lbnQuZ2V0RWxlbWVu dHNCeVRhZ05hbWUoJyonKSxyZXN1bHRzPVtdO2Zvcih2YXIgaT0wLG5vZGU7bm9k ZT1ub2Rlc1tpXTtpKyspCmlmKG5vZGUudGFnTmFtZSE9PSIhIikKcmVzdWx0cy5w dXNoKG5vZGUpO3JldHVybiByZXN1bHRzO30KRWxlbWVudC5NZXRob2RzLmRvd249 ZnVuY3Rpb24oZWxlbWVudCxleHByZXNzaW9uLGluZGV4KXtlbGVtZW50PSQoZWxl bWVudCk7aWYoYXJndW1lbnRzLmxlbmd0aD09MSlyZXR1cm4gZWxlbWVudC5maXJz dERlc2NlbmRhbnQoKTtyZXR1cm4gT2JqZWN0LmlzTnVtYmVyKGV4cHJlc3Npb24p P19kZXNjZW5kYW50cyhlbGVtZW50KVtleHByZXNzaW9uXTpFbGVtZW50LnNlbGVj dChlbGVtZW50LGV4cHJlc3Npb24pW2luZGV4fHwwXTt9fSkoKTt9fQplbHNlIGlm KFByb3RvdHlwZS5Ccm93c2VyLkdlY2tvJiYvcnY6MVwuOFwuMC8udGVzdChuYXZp Z2F0b3IudXNlckFnZW50KSl7RWxlbWVudC5NZXRob2RzLnNldE9wYWNpdHk9ZnVu Y3Rpb24oZWxlbWVudCx2YWx1ZSl7ZWxlbWVudD0kKGVsZW1lbnQpO2VsZW1lbnQu c3R5bGUub3BhY2l0eT0odmFsdWU9PTEpPzAuOTk5OTk5Oih2YWx1ZT09PScnKT8n JzoodmFsdWU8MC4wMDAwMSk/MDp2YWx1ZTtyZXR1cm4gZWxlbWVudDt9O30KZWxz ZSBpZihQcm90b3R5cGUuQnJvd3Nlci5XZWJLaXQpe0VsZW1lbnQuTWV0aG9kcy5z ZXRPcGFjaXR5PWZ1bmN0aW9uKGVsZW1lbnQsdmFsdWUpe2VsZW1lbnQ9JChlbGVt ZW50KTtlbGVtZW50LnN0eWxlLm9wYWNpdHk9KHZhbHVlPT0xfHx2YWx1ZT09PScn KT8nJzoodmFsdWU8MC4wMDAwMSk/MDp2YWx1ZTtpZih2YWx1ZT09MSkKaWYoZWxl bWVudC50YWdOYW1lLnRvVXBwZXJDYXNlKCk9PSdJTUcnJiZlbGVtZW50LndpZHRo KXtlbGVtZW50LndpZHRoKys7ZWxlbWVudC53aWR0aC0tO31lbHNlIHRyeXt2YXIg bj1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnICcpO2VsZW1lbnQuYXBwZW5kQ2hp bGQobik7ZWxlbWVudC5yZW1vdmVDaGlsZChuKTt9Y2F0Y2goZSl7fQpyZXR1cm4g ZWxlbWVudDt9O30KaWYoJ291dGVySFRNTCdpbiBkb2N1bWVudC5kb2N1bWVudEVs ZW1lbnQpe0VsZW1lbnQuTWV0aG9kcy5yZXBsYWNlPWZ1bmN0aW9uKGVsZW1lbnQs Y29udGVudCl7ZWxlbWVudD0kKGVsZW1lbnQpO2lmKGNvbnRlbnQmJmNvbnRlbnQu dG9FbGVtZW50KWNvbnRlbnQ9Y29udGVudC50b0VsZW1lbnQoKTtpZihPYmplY3Qu aXNFbGVtZW50KGNvbnRlbnQpKXtlbGVtZW50LnBhcmVudE5vZGUucmVwbGFjZUNo aWxkKGNvbnRlbnQsZWxlbWVudCk7cmV0dXJuIGVsZW1lbnQ7fQpjb250ZW50PU9i amVjdC50b0hUTUwoY29udGVudCk7dmFyIHBhcmVudD1lbGVtZW50LnBhcmVudE5v ZGUsdGFnTmFtZT1wYXJlbnQudGFnTmFtZS50b1VwcGVyQ2FzZSgpO2lmKEVsZW1l bnQuX2luc2VydGlvblRyYW5zbGF0aW9ucy50YWdzW3RhZ05hbWVdKXt2YXIgbmV4 dFNpYmxpbmc9ZWxlbWVudC5uZXh0KCksZnJhZ21lbnRzPUVsZW1lbnQuX2dldENv bnRlbnRGcm9tQW5vbnltb3VzRWxlbWVudCh0YWdOYW1lLGNvbnRlbnQuc3RyaXBT Y3JpcHRzKCkpO3BhcmVudC5yZW1vdmVDaGlsZChlbGVtZW50KTtpZihuZXh0U2li bGluZykKZnJhZ21lbnRzLmVhY2goZnVuY3Rpb24obm9kZSl7cGFyZW50Lmluc2Vy dEJlZm9yZShub2RlLG5leHRTaWJsaW5nKX0pO2Vsc2UKZnJhZ21lbnRzLmVhY2go ZnVuY3Rpb24obm9kZSl7cGFyZW50LmFwcGVuZENoaWxkKG5vZGUpfSk7fQplbHNl IGVsZW1lbnQub3V0ZXJIVE1MPWNvbnRlbnQuc3RyaXBTY3JpcHRzKCk7Y29udGVu dC5ldmFsU2NyaXB0cy5iaW5kKGNvbnRlbnQpLmRlZmVyKCk7cmV0dXJuIGVsZW1l bnQ7fTt9CkVsZW1lbnQuX3JldHVybk9mZnNldD1mdW5jdGlvbihsLHQpe3ZhciBy ZXN1bHQ9W2wsdF07cmVzdWx0LmxlZnQ9bDtyZXN1bHQudG9wPXQ7cmV0dXJuIHJl c3VsdDt9O0VsZW1lbnQuX2dldENvbnRlbnRGcm9tQW5vbnltb3VzRWxlbWVudD1m dW5jdGlvbih0YWdOYW1lLGh0bWwsZm9yY2Upe3ZhciBkaXY9bmV3IEVsZW1lbnQo J2RpdicpLHQ9RWxlbWVudC5faW5zZXJ0aW9uVHJhbnNsYXRpb25zLnRhZ3NbdGFn TmFtZV07dmFyIHdvcmthcm91bmQ9ZmFsc2U7aWYodCl3b3JrYXJvdW5kPXRydWU7 ZWxzZSBpZihmb3JjZSl7d29ya2Fyb3VuZD10cnVlO3Q9WycnLCcnLDBdO30KaWYo d29ya2Fyb3VuZCl7ZGl2LmlubmVySFRNTD0nJm5ic3A7Jyt0WzBdK2h0bWwrdFsx XTtkaXYucmVtb3ZlQ2hpbGQoZGl2LmZpcnN0Q2hpbGQpO2Zvcih2YXIgaT10WzJd

O2ktLTspe2Rpdj1kaXYuZmlyc3RDaGlsZDt9fQplbHNle2Rpdi5pbm5lckhUTUw9 aHRtbDt9CnJldHVybiAkQShkaXYuY2hpbGROb2Rlcyk7fTtFbGVtZW50Ll9pbnNl cnRpb25UcmFuc2xhdGlvbnM9e2JlZm9yZTpmdW5jdGlvbihlbGVtZW50LG5vZGUp e2VsZW1lbnQucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobm9kZSxlbGVtZW50KTt9 LHRvcDpmdW5jdGlvbihlbGVtZW50LG5vZGUpe2VsZW1lbnQuaW5zZXJ0QmVmb3Jl KG5vZGUsZWxlbWVudC5maXJzdENoaWxkKTt9LGJvdHRvbTpmdW5jdGlvbihlbGVt ZW50LG5vZGUpe2VsZW1lbnQuYXBwZW5kQ2hpbGQobm9kZSk7fSxhZnRlcjpmdW5j dGlvbihlbGVtZW50LG5vZGUpe2VsZW1lbnQucGFyZW50Tm9kZS5pbnNlcnRCZWZv cmUobm9kZSxlbGVtZW50Lm5leHRTaWJsaW5nKTt9LHRhZ3M6e1RBQkxFOlsnPHRh YmxlPicsJzwvdGFibGU+JywxXSxUQk9EWTpbJzx0YWJsZT48dGJvZHk+JywnPC90 Ym9keT48L3RhYmxlPicsMl0sVFI6Wyc8dGFibGU+PHRib2R5Pjx0cj4nLCc8L3Ry PjwvdGJvZHk+PC90YWJsZT4nLDNdLFREOlsnPHRhYmxlPjx0Ym9keT48dHI+PHRk PicsJzwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+Jyw0XSxTRUxFQ1Q6Wyc8c2Vs ZWN0PicsJzwvc2VsZWN0PicsMV19fTsoZnVuY3Rpb24oKXt2YXIgdGFncz1FbGVt ZW50Ll9pbnNlcnRpb25UcmFuc2xhdGlvbnMudGFncztPYmplY3QuZXh0ZW5kKHRh Z3Mse1RIRUFEOnRhZ3MuVEJPRFksVEZPT1Q6dGFncy5UQk9EWSxUSDp0YWdzLlRE fSk7fSkoKTtFbGVtZW50Lk1ldGhvZHMuU2ltdWxhdGVkPXtoYXNBdHRyaWJ1dGU6 ZnVuY3Rpb24oZWxlbWVudCxhdHRyaWJ1dGUpe2F0dHJpYnV0ZT1FbGVtZW50Ll9h dHRyaWJ1dGVUcmFuc2xhdGlvbnMuaGFzW2F0dHJpYnV0ZV18fGF0dHJpYnV0ZTt2 YXIgbm9kZT0kKGVsZW1lbnQpLmdldEF0dHJpYnV0ZU5vZGUoYXR0cmlidXRlKTty ZXR1cm4hIShub2RlJiZub2RlLnNwZWNpZmllZCk7fX07RWxlbWVudC5NZXRob2Rz LkJ5VGFnPXt9O09iamVjdC5leHRlbmQoRWxlbWVudCxFbGVtZW50Lk1ldGhvZHMp OyhmdW5jdGlvbihkaXYpe2lmKCFQcm90b3R5cGUuQnJvd3NlckZlYXR1cmVzLkVs ZW1lbnRFeHRlbnNpb25zJiZkaXZbJ19fcHJvdG9fXyddKXt3aW5kb3cuSFRNTEVs ZW1lbnQ9e307d2luZG93LkhUTUxFbGVtZW50LnByb3RvdHlwZT1kaXZbJ19fcHJv dG9fXyddO1Byb3RvdHlwZS5Ccm93c2VyRmVhdHVyZXMuRWxlbWVudEV4dGVuc2lv bnM9dHJ1ZTt9CmRpdj1udWxsO30pKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rp dicpKTtFbGVtZW50LmV4dGVuZD0oZnVuY3Rpb24oKXtmdW5jdGlvbiBjaGVja0Rl ZmljaWVuY3kodGFnTmFtZSl7aWYodHlwZW9mIHdpbmRvdy5FbGVtZW50IT0ndW5k ZWZpbmVkJyl7dmFyIHByb3RvPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZTtpZihw cm90byl7dmFyIGlkPSdfJysoTWF0aC5yYW5kb20oKSsnJykuc2xpY2UoMiksZWw9 ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTtwcm90b1tpZF09J3gnO3Zh ciBpc0J1Z2d5PShlbFtpZF0hPT0neCcpO2RlbGV0ZSBwcm90b1tpZF07ZWw9bnVs bDtyZXR1cm4gaXNCdWdneTt9fQpyZXR1cm4gZmFsc2U7fQpmdW5jdGlvbiBleHRl bmRFbGVtZW50V2l0aChlbGVtZW50LG1ldGhvZHMpe2Zvcih2YXIgcHJvcGVydHkg aW4gbWV0aG9kcyl7dmFyIHZhbHVlPW1ldGhvZHNbcHJvcGVydHldO2lmKE9iamVj dC5pc0Z1bmN0aW9uKHZhbHVlKSYmIShwcm9wZXJ0eSBpbiBlbGVtZW50KSkKZWxl bWVudFtwcm9wZXJ0eV09dmFsdWUubWV0aG9kaXplKCk7fX0KdmFyIEhUTUxPQkpF Q1RFTEVNRU5UX1BST1RPVFlQRV9CVUdHWT1jaGVja0RlZmljaWVuY3koJ29iamVj dCcpO2lmKFByb3RvdHlwZS5Ccm93c2VyRmVhdHVyZXMuU3BlY2lmaWNFbGVtZW50 RXh0ZW5zaW9ucyl7aWYoSFRNTE9CSkVDVEVMRU1FTlRfUFJPVE9UWVBFX0JVR0dZ KXtyZXR1cm4gZnVuY3Rpb24oZWxlbWVudCl7aWYoZWxlbWVudCYmdHlwZW9mIGVs ZW1lbnQuX2V4dGVuZGVkQnlQcm90b3R5cGU9PSd1bmRlZmluZWQnKXt2YXIgdD1l bGVtZW50LnRhZ05hbWU7aWYodCYmKC9eKD86b2JqZWN0fGFwcGxldHxlbWJlZCkk L2kudGVzdCh0KSkpe2V4dGVuZEVsZW1lbnRXaXRoKGVsZW1lbnQsRWxlbWVudC5N ZXRob2RzKTtleHRlbmRFbGVtZW50V2l0aChlbGVtZW50LEVsZW1lbnQuTWV0aG9k cy5TaW11bGF0ZWQpO2V4dGVuZEVsZW1lbnRXaXRoKGVsZW1lbnQsRWxlbWVudC5N ZXRob2RzLkJ5VGFnW3QudG9VcHBlckNhc2UoKV0pO319CnJldHVybiBlbGVtZW50 O319CnJldHVybiBQcm90b3R5cGUuSzt9CnZhciBNZXRob2RzPXt9LEJ5VGFnPUVs ZW1lbnQuTWV0aG9kcy5CeVRhZzt2YXIgZXh0ZW5kPU9iamVjdC5leHRlbmQoZnVu Y3Rpb24oZWxlbWVudCl7aWYoIWVsZW1lbnR8fHR5cGVvZiBlbGVtZW50Ll9leHRl bmRlZEJ5UHJvdG90eXBlIT0ndW5kZWZpbmVkJ3x8ZWxlbWVudC5ub2RlVHlwZSE9 MXx8ZWxlbWVudD09d2luZG93KXJldHVybiBlbGVtZW50O3ZhciBtZXRob2RzPU9i amVjdC5jbG9uZShNZXRob2RzKSx0YWdOYW1lPWVsZW1lbnQudGFnTmFtZS50b1Vw cGVyQ2FzZSgpO2lmKEJ5VGFnW3RhZ05hbWVdKU9iamVjdC5leHRlbmQobWV0aG9k cyxCeVRhZ1t0YWdOYW1lXSk7ZXh0ZW5kRWxlbWVudFdpdGgoZWxlbWVudCxtZXRo b2RzKTtlbGVtZW50Ll9leHRlbmRlZEJ5UHJvdG90eXBlPVByb3RvdHlwZS5lbXB0 eUZ1bmN0aW9uO3JldHVybiBlbGVtZW50O30se3JlZnJlc2g6ZnVuY3Rpb24oKXtp ZighUHJvdG90eXBlLkJyb3dzZXJGZWF0dXJlcy5FbGVtZW50RXh0ZW5zaW9ucyl7 T2JqZWN0LmV4dGVuZChNZXRob2RzLEVsZW1lbnQuTWV0aG9kcyk7T2JqZWN0LmV4

dGVuZChNZXRob2RzLEVsZW1lbnQuTWV0aG9kcy5TaW11bGF0ZWQpO319fSk7ZXh0 ZW5kLnJlZnJlc2goKTtyZXR1cm4gZXh0ZW5kO30pKCk7aWYoZG9jdW1lbnQuZG9j dW1lbnRFbGVtZW50Lmhhc0F0dHJpYnV0ZSl7RWxlbWVudC5oYXNBdHRyaWJ1dGU9 ZnVuY3Rpb24oZWxlbWVudCxhdHRyaWJ1dGUpe3JldHVybiBlbGVtZW50Lmhhc0F0 dHJpYnV0ZShhdHRyaWJ1dGUpO307fQplbHNle0VsZW1lbnQuaGFzQXR0cmlidXRl PUVsZW1lbnQuTWV0aG9kcy5TaW11bGF0ZWQuaGFzQXR0cmlidXRlO30KRWxlbWVu dC5hZGRNZXRob2RzPWZ1bmN0aW9uKG1ldGhvZHMpe3ZhciBGPVByb3RvdHlwZS5C cm93c2VyRmVhdHVyZXMsVD1FbGVtZW50Lk1ldGhvZHMuQnlUYWc7aWYoIW1ldGhv ZHMpe09iamVjdC5leHRlbmQoRm9ybSxGb3JtLk1ldGhvZHMpO09iamVjdC5leHRl bmQoRm9ybS5FbGVtZW50LEZvcm0uRWxlbWVudC5NZXRob2RzKTtPYmplY3QuZXh0 ZW5kKEVsZW1lbnQuTWV0aG9kcy5CeVRhZyx7IkZPUk0iOk9iamVjdC5jbG9uZShG b3JtLk1ldGhvZHMpLCJJTlBVVCI6T2JqZWN0LmNsb25lKEZvcm0uRWxlbWVudC5N ZXRob2RzKSwiU0VMRUNUIjpPYmplY3QuY2xvbmUoRm9ybS5FbGVtZW50Lk1ldGhv ZHMpLCJURVhUQVJFQSI6T2JqZWN0LmNsb25lKEZvcm0uRWxlbWVudC5NZXRob2Rz KSwiQlVUVE9OIjpPYmplY3QuY2xvbmUoRm9ybS5FbGVtZW50Lk1ldGhvZHMpfSk7 fQppZihhcmd1bWVudHMubGVuZ3RoPT0yKXt2YXIgdGFnTmFtZT1tZXRob2RzO21l dGhvZHM9YXJndW1lbnRzWzFdO30KaWYoIXRhZ05hbWUpT2JqZWN0LmV4dGVuZChF bGVtZW50Lk1ldGhvZHMsbWV0aG9kc3x8e30pO2Vsc2V7aWYoT2JqZWN0LmlzQXJy YXkodGFnTmFtZSkpdGFnTmFtZS5lYWNoKGV4dGVuZCk7ZWxzZSBleHRlbmQodGFn TmFtZSk7fQpmdW5jdGlvbiBleHRlbmQodGFnTmFtZSl7dGFnTmFtZT10YWdOYW1l LnRvVXBwZXJDYXNlKCk7aWYoIUVsZW1lbnQuTWV0aG9kcy5CeVRhZ1t0YWdOYW1l XSkKRWxlbWVudC5NZXRob2RzLkJ5VGFnW3RhZ05hbWVdPXt9O09iamVjdC5leHRl bmQoRWxlbWVudC5NZXRob2RzLkJ5VGFnW3RhZ05hbWVdLG1ldGhvZHMpO30KZnVu Y3Rpb24gY29weShtZXRob2RzLGRlc3RpbmF0aW9uLG9ubHlJZkFic2VudCl7b25s eUlmQWJzZW50PW9ubHlJZkFic2VudHx8ZmFsc2U7Zm9yKHZhciBwcm9wZXJ0eSBp biBtZXRob2RzKXt2YXIgdmFsdWU9bWV0aG9kc1twcm9wZXJ0eV07aWYoIU9iamVj dC5pc0Z1bmN0aW9uKHZhbHVlKSljb250aW51ZTtpZighb25seUlmQWJzZW50fHwh KHByb3BlcnR5IGluIGRlc3RpbmF0aW9uKSkKZGVzdGluYXRpb25bcHJvcGVydHld PXZhbHVlLm1ldGhvZGl6ZSgpO319CmZ1bmN0aW9uIGZpbmRET01DbGFzcyh0YWdO YW1lKXt2YXIga2xhc3M7dmFyIHRyYW5zPXsiT1BUR1JPVVAiOiJPcHRHcm91cCIs IlRFWFRBUkVBIjoiVGV4dEFyZWEiLCJQIjoiUGFyYWdyYXBoIiwiRklFTERTRVQi OiJGaWVsZFNldCIsIlVMIjoiVUxpc3QiLCJPTCI6Ik9MaXN0IiwiREwiOiJETGlz dCIsIkRJUiI6IkRpcmVjdG9yeSIsIkgxIjoiSGVhZGluZyIsIkgyIjoiSGVhZGlu ZyIsIkgzIjoiSGVhZGluZyIsIkg0IjoiSGVhZGluZyIsIkg1IjoiSGVhZGluZyIs Ikg2IjoiSGVhZGluZyIsIlEiOiJRdW90ZSIsIklOUyI6Ik1vZCIsIkRFTCI6Ik1v ZCIsIkEiOiJBbmNob3IiLCJJTUciOiJJbWFnZSIsIkNBUFRJT04iOiJUYWJsZUNh cHRpb24iLCJDT0wiOiJUYWJsZUNvbCIsIkNPTEdST1VQIjoiVGFibGVDb2wiLCJU SEVBRCI6IlRhYmxlU2VjdGlvbiIsIlRGT09UIjoiVGFibGVTZWN0aW9uIiwiVEJP RFkiOiJUYWJsZVNlY3Rpb24iLCJUUiI6IlRhYmxlUm93IiwiVEgiOiJUYWJsZUNl bGwiLCJURCI6IlRhYmxlQ2VsbCIsIkZSQU1FU0VUIjoiRnJhbWVTZXQiLCJJRlJB TUUiOiJJRnJhbWUifTtpZih0cmFuc1t0YWdOYW1lXSlrbGFzcz0nSFRNTCcrdHJh bnNbdGFnTmFtZV0rJ0VsZW1lbnQnO2lmKHdpbmRvd1trbGFzc10pcmV0dXJuIHdp bmRvd1trbGFzc107a2xhc3M9J0hUTUwnK3RhZ05hbWUrJ0VsZW1lbnQnO2lmKHdp bmRvd1trbGFzc10pcmV0dXJuIHdpbmRvd1trbGFzc107a2xhc3M9J0hUTUwnK3Rh Z05hbWUuY2FwaXRhbGl6ZSgpKydFbGVtZW50JztpZih3aW5kb3dba2xhc3NdKXJl dHVybiB3aW5kb3dba2xhc3NdO3ZhciBlbGVtZW50PWRvY3VtZW50LmNyZWF0ZUVs ZW1lbnQodGFnTmFtZSkscHJvdG89ZWxlbWVudFsnX19wcm90b19fJ118fGVsZW1l bnQuY29uc3RydWN0b3IucHJvdG90eXBlO2VsZW1lbnQ9bnVsbDtyZXR1cm4gcHJv dG87fQp2YXIgZWxlbWVudFByb3RvdHlwZT13aW5kb3cuSFRNTEVsZW1lbnQ/SFRN TEVsZW1lbnQucHJvdG90eXBlOkVsZW1lbnQucHJvdG90eXBlO2lmKEYuRWxlbWVu dEV4dGVuc2lvbnMpe2NvcHkoRWxlbWVudC5NZXRob2RzLGVsZW1lbnRQcm90b3R5 cGUpO2NvcHkoRWxlbWVudC5NZXRob2RzLlNpbXVsYXRlZCxlbGVtZW50UHJvdG90 eXBlLHRydWUpO30KaWYoRi5TcGVjaWZpY0VsZW1lbnRFeHRlbnNpb25zKXtmb3Io dmFyIHRhZyBpbiBFbGVtZW50Lk1ldGhvZHMuQnlUYWcpe3ZhciBrbGFzcz1maW5k RE9NQ2xhc3ModGFnKTtpZihPYmplY3QuaXNVbmRlZmluZWQoa2xhc3MpKWNvbnRp bnVlO2NvcHkoVFt0YWddLGtsYXNzLnByb3RvdHlwZSk7fX0KT2JqZWN0LmV4dGVu ZChFbGVtZW50LEVsZW1lbnQuTWV0aG9kcyk7ZGVsZXRlIEVsZW1lbnQuQnlUYWc7 aWYoRWxlbWVudC5leHRlbmQucmVmcmVzaClFbGVtZW50LmV4dGVuZC5yZWZyZXNo KCk7RWxlbWVudC5jYWNoZT17fTt9O2RvY3VtZW50LnZpZXdwb3J0PXtnZXREaW1l bnNpb25zOmZ1bmN0aW9uKCl7cmV0dXJue3dpZHRoOnRoaXMuZ2V0V2lkdGgoKSxo

ZWlnaHQ6dGhpcy5nZXRIZWlnaHQoKX07fSxnZXRTY3JvbGxPZmZzZXRzOmZ1bmN0 aW9uKCl7cmV0dXJuIEVsZW1lbnQuX3JldHVybk9mZnNldCh3aW5kb3cucGFnZVhP ZmZzZXR8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0fHxkb2N1 bWVudC5ib2R5LnNjcm9sbExlZnQsd2luZG93LnBhZ2VZT2Zmc2V0fHxkb2N1bWVu dC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wfHxkb2N1bWVudC5ib2R5LnNjcm9s bFRvcCk7fX07KGZ1bmN0aW9uKHZpZXdwb3J0KXt2YXIgQj1Qcm90b3R5cGUuQnJv d3Nlcixkb2M9ZG9jdW1lbnQsZWxlbWVudCxwcm9wZXJ0eT17fTtmdW5jdGlvbiBn ZXRSb290RWxlbWVudCgpe2lmKEIuV2ViS2l0JiYhZG9jLmV2YWx1YXRlKQpyZXR1 cm4gZG9jdW1lbnQ7aWYoQi5PcGVyYSYmd2luZG93LnBhcnNlRmxvYXQod2luZG93 Lm9wZXJhLnZlcnNpb24oKSk8OS41KQpyZXR1cm4gZG9jdW1lbnQuYm9keTtyZXR1 cm4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O30KZnVuY3Rpb24gZGVmaW5lKEQp e2lmKCFlbGVtZW50KWVsZW1lbnQ9Z2V0Um9vdEVsZW1lbnQoKTtwcm9wZXJ0eVtE XT0nY2xpZW50JytEO3ZpZXdwb3J0WydnZXQnK0RdPWZ1bmN0aW9uKCl7cmV0dXJu IGVsZW1lbnRbcHJvcGVydHlbRF1dfTtyZXR1cm4gdmlld3BvcnRbJ2dldCcrRF0o KTt9CnZpZXdwb3J0LmdldFdpZHRoPWRlZmluZS5jdXJyeSgnV2lkdGgnKTt2aWV3 cG9ydC5nZXRIZWlnaHQ9ZGVmaW5lLmN1cnJ5KCdIZWlnaHQnKTt9KShkb2N1bWVu dC52aWV3cG9ydCk7RWxlbWVudC5TdG9yYWdlPXtVSUQ6MX07RWxlbWVudC5hZGRN ZXRob2RzKHtnZXRTdG9yYWdlOmZ1bmN0aW9uKGVsZW1lbnQpe2lmKCEoZWxlbWVu dD0kKGVsZW1lbnQpKSlyZXR1cm47dmFyIHVpZDtpZihlbGVtZW50PT09d2luZG93 KXt1aWQ9MDt9ZWxzZXtpZih0eXBlb2YgZWxlbWVudC5fcHJvdG90eXBlVUlEPT09 InVuZGVmaW5lZCIpCmVsZW1lbnQuX3Byb3RvdHlwZVVJRD1FbGVtZW50LlN0b3Jh Z2UuVUlEKys7dWlkPWVsZW1lbnQuX3Byb3RvdHlwZVVJRDt9CmlmKCFFbGVtZW50 LlN0b3JhZ2VbdWlkXSkKRWxlbWVudC5TdG9yYWdlW3VpZF09JEgoKTtyZXR1cm4g RWxlbWVudC5TdG9yYWdlW3VpZF07fSxzdG9yZTpmdW5jdGlvbihlbGVtZW50LGtl eSx2YWx1ZSl7aWYoIShlbGVtZW50PSQoZWxlbWVudCkpKXJldHVybjtpZihhcmd1 bWVudHMubGVuZ3RoPT09Mil7RWxlbWVudC5nZXRTdG9yYWdlKGVsZW1lbnQpLnVw ZGF0ZShrZXkpO31lbHNle0VsZW1lbnQuZ2V0U3RvcmFnZShlbGVtZW50KS5zZXQo a2V5LHZhbHVlKTt9CnJldHVybiBlbGVtZW50O30scmV0cmlldmU6ZnVuY3Rpb24o ZWxlbWVudCxrZXksZGVmYXVsdFZhbHVlKXtpZighKGVsZW1lbnQ9JChlbGVtZW50 KSkpcmV0dXJuO3ZhciBoYXNoPUVsZW1lbnQuZ2V0U3RvcmFnZShlbGVtZW50KSx2 YWx1ZT1oYXNoLmdldChrZXkpO2lmKE9iamVjdC5pc1VuZGVmaW5lZCh2YWx1ZSkp e2hhc2guc2V0KGtleSxkZWZhdWx0VmFsdWUpO3ZhbHVlPWRlZmF1bHRWYWx1ZTt9 CnJldHVybiB2YWx1ZTt9LGNsb25lOmZ1bmN0aW9uKGVsZW1lbnQsZGVlcCl7aWYo IShlbGVtZW50PSQoZWxlbWVudCkpKXJldHVybjt2YXIgY2xvbmU9ZWxlbWVudC5j bG9uZU5vZGUoZGVlcCk7Y2xvbmUuX3Byb3RvdHlwZVVJRD12b2lkIDA7aWYoZGVl cCl7dmFyIGRlc2NlbmRhbnRzPUVsZW1lbnQuc2VsZWN0KGNsb25lLCcqJyksaT1k ZXNjZW5kYW50cy5sZW5ndGg7d2hpbGUoaS0tKXtkZXNjZW5kYW50c1tpXS5fcHJv dG90eXBlVUlEPXZvaWQgMDt9fQpyZXR1cm4gRWxlbWVudC5leHRlbmQoY2xvbmUp O30scHVyZ2U6ZnVuY3Rpb24oZWxlbWVudCl7aWYoIShlbGVtZW50PSQoZWxlbWVu dCkpKXJldHVybjt2YXIgcHVyZ2VFbGVtZW50PUVsZW1lbnQuX3B1cmdlRWxlbWVu dDtwdXJnZUVsZW1lbnQoZWxlbWVudCk7dmFyIGRlc2NlbmRhbnRzPWVsZW1lbnQu Z2V0RWxlbWVudHNCeVRhZ05hbWUoJyonKSxpPWRlc2NlbmRhbnRzLmxlbmd0aDt3 aGlsZShpLS0pcHVyZ2VFbGVtZW50KGRlc2NlbmRhbnRzW2ldKTtyZXR1cm4gbnVs bDt9fSk7KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdG9EZWNpbWFsKHBjdFN0cmluZyl7 dmFyIG1hdGNoPXBjdFN0cmluZy5tYXRjaCgvXihcZCspJT8kL2kpO2lmKCFtYXRj aClyZXR1cm4gbnVsbDtyZXR1cm4oTnVtYmVyKG1hdGNoWzFdKS8xMDApO30KZnVu Y3Rpb24gZ2V0UGl4ZWxWYWx1ZSh2YWx1ZSxwcm9wZXJ0eSxjb250ZXh0KXt2YXIg ZWxlbWVudD1udWxsO2lmKE9iamVjdC5pc0VsZW1lbnQodmFsdWUpKXtlbGVtZW50 PXZhbHVlO3ZhbHVlPWVsZW1lbnQuZ2V0U3R5bGUocHJvcGVydHkpO30KaWYodmFs dWU9PT1udWxsKXtyZXR1cm4gbnVsbDt9CmlmKCgvXig/Oi0pP1xkKyhcLlxkKyk/ KHB4KT8kL2kpLnRlc3QodmFsdWUpKXtyZXR1cm4gd2luZG93LnBhcnNlRmxvYXQo dmFsdWUpO30KdmFyIGlzUGVyY2VudGFnZT12YWx1ZS5pbmNsdWRlKCclJyksaXNW aWV3cG9ydD0oY29udGV4dD09PWRvY3VtZW50LnZpZXdwb3J0KTtpZigvXGQvLnRl c3QodmFsdWUpJiZlbGVtZW50JiZlbGVtZW50LnJ1bnRpbWVTdHlsZSYmIShpc1Bl cmNlbnRhZ2UmJmlzVmlld3BvcnQpKXt2YXIgc3R5bGU9ZWxlbWVudC5zdHlsZS5s ZWZ0LHJTdHlsZT1lbGVtZW50LnJ1bnRpbWVTdHlsZS5sZWZ0O2VsZW1lbnQucnVu dGltZVN0eWxlLmxlZnQ9ZWxlbWVudC5jdXJyZW50U3R5bGUubGVmdDtlbGVtZW50 LnN0eWxlLmxlZnQ9dmFsdWV8fDA7dmFsdWU9ZWxlbWVudC5zdHlsZS5waXhlbExl ZnQ7ZWxlbWVudC5zdHlsZS5sZWZ0PXN0eWxlO2VsZW1lbnQucnVudGltZVN0eWxl LmxlZnQ9clN0eWxlO3JldHVybiB2YWx1ZTt9CmlmKGVsZW1lbnQmJmlzUGVyY2Vu

dGFnZSl7Y29udGV4dD1jb250ZXh0fHxlbGVtZW50LnBhcmVudE5vZGU7dmFyIGRl Y2ltYWw9dG9EZWNpbWFsKHZhbHVlKTt2YXIgd2hvbGU9bnVsbDt2YXIgcG9zaXRp b249ZWxlbWVudC5nZXRTdHlsZSgncG9zaXRpb24nKTt2YXIgaXNIb3Jpem9udGFs PXByb3BlcnR5LmluY2x1ZGUoJ2xlZnQnKXx8cHJvcGVydHkuaW5jbHVkZSgncmln aHQnKXx8cHJvcGVydHkuaW5jbHVkZSgnd2lkdGgnKTt2YXIgaXNWZXJ0aWNhbD1w cm9wZXJ0eS5pbmNsdWRlKCd0b3AnKXx8cHJvcGVydHkuaW5jbHVkZSgnYm90dG9t Jyl8fHByb3BlcnR5LmluY2x1ZGUoJ2hlaWdodCcpO2lmKGNvbnRleHQ9PT1kb2N1 bWVudC52aWV3cG9ydCl7aWYoaXNIb3Jpem9udGFsKXt3aG9sZT1kb2N1bWVudC52 aWV3cG9ydC5nZXRXaWR0aCgpO31lbHNlIGlmKGlzVmVydGljYWwpe3dob2xlPWRv Y3VtZW50LnZpZXdwb3J0LmdldEhlaWdodCgpO319ZWxzZXtpZihpc0hvcml6b250 YWwpe3dob2xlPSQoY29udGV4dCkubWVhc3VyZSgnd2lkdGgnKTt9ZWxzZSBpZihp c1ZlcnRpY2FsKXt3aG9sZT0kKGNvbnRleHQpLm1lYXN1cmUoJ2hlaWdodCcpO319 CnJldHVybih3aG9sZT09PW51bGwpPzA6d2hvbGUqZGVjaW1hbDt9CnJldHVybiAw O30KZnVuY3Rpb24gdG9DU1NQaXhlbHMobnVtYmVyKXtpZihPYmplY3QuaXNTdHJp bmcobnVtYmVyKSYmbnVtYmVyLmVuZHNXaXRoKCdweCcpKXtyZXR1cm4gbnVtYmVy O30KcmV0dXJuIG51bWJlcisncHgnO30KZnVuY3Rpb24gaXNEaXNwbGF5ZWQoZWxl bWVudCl7dmFyIG9yaWdpbmFsRWxlbWVudD1lbGVtZW50O3doaWxlKGVsZW1lbnQm JmVsZW1lbnQucGFyZW50Tm9kZSl7dmFyIGRpc3BsYXk9ZWxlbWVudC5nZXRTdHls ZSgnZGlzcGxheScpO2lmKGRpc3BsYXk9PT0nbm9uZScpe3JldHVybiBmYWxzZTt9 CmVsZW1lbnQ9JChlbGVtZW50LnBhcmVudE5vZGUpO30KcmV0dXJuIHRydWU7fQp2 YXIgaGFzTGF5b3V0PVByb3RvdHlwZS5LO2lmKCdjdXJyZW50U3R5bGUnaW4gZG9j dW1lbnQuZG9jdW1lbnRFbGVtZW50KXtoYXNMYXlvdXQ9ZnVuY3Rpb24oZWxlbWVu dCl7aWYoIWVsZW1lbnQuY3VycmVudFN0eWxlLmhhc0xheW91dCl7ZWxlbWVudC5z dHlsZS56b29tPTE7fQpyZXR1cm4gZWxlbWVudDt9O30KZnVuY3Rpb24gY3NzTmFt ZUZvcihrZXkpe2lmKGtleS5pbmNsdWRlKCdib3JkZXInKSlrZXk9a2V5Kyctd2lk dGgnO3JldHVybiBrZXkuY2FtZWxpemUoKTt9CkVsZW1lbnQuTGF5b3V0PUNsYXNz LmNyZWF0ZShIYXNoLHtpbml0aWFsaXplOmZ1bmN0aW9uKCRzdXBlcixlbGVtZW50 LHByZUNvbXB1dGUpeyRzdXBlcigpO3RoaXMuZWxlbWVudD0kKGVsZW1lbnQpO0Vs ZW1lbnQuTGF5b3V0LlBST1BFUlRJRVMuZWFjaChmdW5jdGlvbihwcm9wZXJ0eSl7 dGhpcy5fc2V0KHByb3BlcnR5LG51bGwpO30sdGhpcyk7aWYocHJlQ29tcHV0ZSl7 dGhpcy5fcHJlQ29tcHV0aW5nPXRydWU7dGhpcy5fYmVnaW4oKTtFbGVtZW50Lkxh eW91dC5QUk9QRVJUSUVTLmVhY2godGhpcy5fY29tcHV0ZSx0aGlzKTt0aGlzLl9l bmQoKTt0aGlzLl9wcmVDb21wdXRpbmc9ZmFsc2U7fX0sX3NldDpmdW5jdGlvbihw cm9wZXJ0eSx2YWx1ZSl7cmV0dXJuIEhhc2gucHJvdG90eXBlLnNldC5jYWxsKHRo aXMscHJvcGVydHksdmFsdWUpO30sc2V0OmZ1bmN0aW9uKHByb3BlcnR5LHZhbHVl KXt0aHJvdyJQcm9wZXJ0aWVzIG9mIEVsZW1lbnQuTGF5b3V0IGFyZSByZWFkLW9u bHkuIjt9LGdldDpmdW5jdGlvbigkc3VwZXIscHJvcGVydHkpe3ZhciB2YWx1ZT0k c3VwZXIocHJvcGVydHkpO3JldHVybiB2YWx1ZT09PW51bGw/dGhpcy5fY29tcHV0 ZShwcm9wZXJ0eSk6dmFsdWU7fSxfYmVnaW46ZnVuY3Rpb24oKXtpZih0aGlzLl9w cmVwYXJlZClyZXR1cm47dmFyIGVsZW1lbnQ9dGhpcy5lbGVtZW50O2lmKGlzRGlz cGxheWVkKGVsZW1lbnQpKXt0aGlzLl9wcmVwYXJlZD10cnVlO3JldHVybjt9CnZh ciBvcmlnaW5hbFN0eWxlcz17cG9zaXRpb246ZWxlbWVudC5zdHlsZS5wb3NpdGlv bnx8Jycsd2lkdGg6ZWxlbWVudC5zdHlsZS53aWR0aHx8JycsdmlzaWJpbGl0eTpl bGVtZW50LnN0eWxlLnZpc2liaWxpdHl8fCcnLGRpc3BsYXk6ZWxlbWVudC5zdHls ZS5kaXNwbGF5fHwnJ307ZWxlbWVudC5zdG9yZSgncHJvdG90eXBlX29yaWdpbmFs X3N0eWxlcycsb3JpZ2luYWxTdHlsZXMpO3ZhciBwb3NpdGlvbj1lbGVtZW50Lmdl dFN0eWxlKCdwb3NpdGlvbicpLHdpZHRoPWVsZW1lbnQuZ2V0U3R5bGUoJ3dpZHRo Jyk7aWYod2lkdGg9PT0iMHB4Inx8d2lkdGg9PT1udWxsKXtlbGVtZW50LnN0eWxl LmRpc3BsYXk9J2Jsb2NrJzt3aWR0aD1lbGVtZW50LmdldFN0eWxlKCd3aWR0aCcp O30KdmFyIGNvbnRleHQ9KHBvc2l0aW9uPT09J2ZpeGVkJyk/ZG9jdW1lbnQudmll d3BvcnQ6ZWxlbWVudC5wYXJlbnROb2RlO2VsZW1lbnQuc2V0U3R5bGUoe3Bvc2l0 aW9uOidhYnNvbHV0ZScsdmlzaWJpbGl0eTonaGlkZGVuJyxkaXNwbGF5OidibG9j ayd9KTt2YXIgcG9zaXRpb25lZFdpZHRoPWVsZW1lbnQuZ2V0U3R5bGUoJ3dpZHRo Jyk7dmFyIG5ld1dpZHRoO2lmKHdpZHRoJiYocG9zaXRpb25lZFdpZHRoPT09d2lk dGgpKXtuZXdXaWR0aD1nZXRQaXhlbFZhbHVlKGVsZW1lbnQsJ3dpZHRoJyxjb250 ZXh0KTt9ZWxzZSBpZihwb3NpdGlvbj09PSdhYnNvbHV0ZSd8fHBvc2l0aW9uPT09 J2ZpeGVkJyl7bmV3V2lkdGg9Z2V0UGl4ZWxWYWx1ZShlbGVtZW50LCd3aWR0aCcs Y29udGV4dCk7fWVsc2V7dmFyIHBhcmVudD1lbGVtZW50LnBhcmVudE5vZGUscExh eW91dD0kKHBhcmVudCkuZ2V0TGF5b3V0KCk7bmV3V2lkdGg9cExheW91dC5nZXQo J3dpZHRoJyktCnRoaXMuZ2V0KCdtYXJnaW4tbGVmdCcpLQp0aGlzLmdldCgnYm9y

ZGVyLWxlZnQnKS0KdGhpcy5nZXQoJ3BhZGRpbmctbGVmdCcpLQp0aGlzLmdldCgn cGFkZGluZy1yaWdodCcpLQp0aGlzLmdldCgnYm9yZGVyLXJpZ2h0JyktCnRoaXMu Z2V0KCdtYXJnaW4tcmlnaHQnKTt9CmVsZW1lbnQuc2V0U3R5bGUoe3dpZHRoOm5l d1dpZHRoKydweCd9KTt0aGlzLl9wcmVwYXJlZD10cnVlO30sX2VuZDpmdW5jdGlv bigpe3ZhciBlbGVtZW50PXRoaXMuZWxlbWVudDt2YXIgb3JpZ2luYWxTdHlsZXM9 ZWxlbWVudC5yZXRyaWV2ZSgncHJvdG90eXBlX29yaWdpbmFsX3N0eWxlcycpO2Vs ZW1lbnQuc3RvcmUoJ3Byb3RvdHlwZV9vcmlnaW5hbF9zdHlsZXMnLG51bGwpO2Vs ZW1lbnQuc2V0U3R5bGUob3JpZ2luYWxTdHlsZXMpO3RoaXMuX3ByZXBhcmVkPWZh bHNlO30sX2NvbXB1dGU6ZnVuY3Rpb24ocHJvcGVydHkpe3ZhciBDT01QVVRBVElP TlM9RWxlbWVudC5MYXlvdXQuQ09NUFVUQVRJT05TO2lmKCEocHJvcGVydHkgaW4g Q09NUFVUQVRJT05TKSl7dGhyb3ciUHJvcGVydHkgbm90IGZvdW5kLiI7fQpyZXR1 cm4gdGhpcy5fc2V0KHByb3BlcnR5LENPTVBVVEFUSU9OU1twcm9wZXJ0eV0uY2Fs bCh0aGlzLHRoaXMuZWxlbWVudCkpO30sdG9PYmplY3Q6ZnVuY3Rpb24oKXt2YXIg YXJncz0kQShhcmd1bWVudHMpO3ZhciBrZXlzPShhcmdzLmxlbmd0aD09PTApP0Vs ZW1lbnQuTGF5b3V0LlBST1BFUlRJRVM6YXJncy5qb2luKCcgJykuc3BsaXQoJyAn KTt2YXIgb2JqPXt9O2tleXMuZWFjaChmdW5jdGlvbihrZXkpe2lmKCFFbGVtZW50 LkxheW91dC5QUk9QRVJUSUVTLmluY2x1ZGUoa2V5KSlyZXR1cm47dmFyIHZhbHVl PXRoaXMuZ2V0KGtleSk7aWYodmFsdWUhPW51bGwpb2JqW2tleV09dmFsdWU7fSx0 aGlzKTtyZXR1cm4gb2JqO30sdG9IYXNoOmZ1bmN0aW9uKCl7dmFyIG9iaj10aGlz LnRvT2JqZWN0LmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gbmV3IEhhc2go b2JqKTt9LHRvQ1NTOmZ1bmN0aW9uKCl7dmFyIGFyZ3M9JEEoYXJndW1lbnRzKTt2 YXIga2V5cz0oYXJncy5sZW5ndGg9PT0wKT9FbGVtZW50LkxheW91dC5QUk9QRVJU SUVTOmFyZ3Muam9pbignICcpLnNwbGl0KCcgJyk7dmFyIGNzcz17fTtrZXlzLmVh Y2goZnVuY3Rpb24oa2V5KXtpZighRWxlbWVudC5MYXlvdXQuUFJPUEVSVElFUy5p bmNsdWRlKGtleSkpcmV0dXJuO2lmKEVsZW1lbnQuTGF5b3V0LkNPTVBPU0lURV9Q Uk9QRVJUSUVTLmluY2x1ZGUoa2V5KSlyZXR1cm47dmFyIHZhbHVlPXRoaXMuZ2V0 KGtleSk7aWYodmFsdWUhPW51bGwpY3NzW2Nzc05hbWVGb3Ioa2V5KV09dmFsdWUr J3B4Jzt9LHRoaXMpO3JldHVybiBjc3M7fSxpbnNwZWN0OmZ1bmN0aW9uKCl7cmV0 dXJuIiM8RWxlbWVudC5MYXlvdXQ+Ijt9fSk7T2JqZWN0LmV4dGVuZChFbGVtZW50 LkxheW91dCx7UFJPUEVSVElFUzokdygnaGVpZ2h0IHdpZHRoIHRvcCBsZWZ0IHJp Z2h0IGJvdHRvbSBib3JkZXItbGVmdCBib3JkZXItcmlnaHQgYm9yZGVyLXRvcCBi b3JkZXItYm90dG9tIHBhZGRpbmctbGVmdCBwYWRkaW5nLXJpZ2h0IHBhZGRpbmct dG9wIHBhZGRpbmctYm90dG9tIG1hcmdpbi10b3AgbWFyZ2luLWJvdHRvbSBtYXJn aW4tbGVmdCBtYXJnaW4tcmlnaHQgcGFkZGluZy1ib3gtd2lkdGggcGFkZGluZy1i b3gtaGVpZ2h0IGJvcmRlci1ib3gtd2lkdGggYm9yZGVyLWJveC1oZWlnaHQgbWFy Z2luLWJveC13aWR0aCBtYXJnaW4tYm94LWhlaWdodCcpLENPTVBPU0lURV9QUk9Q RVJUSUVTOiR3KCdwYWRkaW5nLWJveC13aWR0aCBwYWRkaW5nLWJveC1oZWlnaHQg bWFyZ2luLWJveC13aWR0aCBtYXJnaW4tYm94LWhlaWdodCBib3JkZXItYm94LXdp ZHRoIGJvcmRlci1ib3gtaGVpZ2h0JyksQ09NUFVUQVRJT05TOnsnaGVpZ2h0Jzpm dW5jdGlvbihlbGVtZW50KXtpZighdGhpcy5fcHJlQ29tcHV0aW5nKXRoaXMuX2Jl Z2luKCk7dmFyIGJIZWlnaHQ9dGhpcy5nZXQoJ2JvcmRlci1ib3gtaGVpZ2h0Jyk7 aWYoYkhlaWdodDw9MCl7aWYoIXRoaXMuX3ByZUNvbXB1dGluZyl0aGlzLl9lbmQo KTtyZXR1cm4gMDt9CnZhciBiVG9wPXRoaXMuZ2V0KCdib3JkZXItdG9wJyksYkJv dHRvbT10aGlzLmdldCgnYm9yZGVyLWJvdHRvbScpO3ZhciBwVG9wPXRoaXMuZ2V0 KCdwYWRkaW5nLXRvcCcpLHBCb3R0b209dGhpcy5nZXQoJ3BhZGRpbmctYm90dG9t Jyk7aWYoIXRoaXMuX3ByZUNvbXB1dGluZyl0aGlzLl9lbmQoKTtyZXR1cm4gYkhl aWdodC1iVG9wLWJCb3R0b20tcFRvcC1wQm90dG9tO30sJ3dpZHRoJzpmdW5jdGlv bihlbGVtZW50KXtpZighdGhpcy5fcHJlQ29tcHV0aW5nKXRoaXMuX2JlZ2luKCk7 dmFyIGJXaWR0aD10aGlzLmdldCgnYm9yZGVyLWJveC13aWR0aCcpO2lmKGJXaWR0 aDw9MCl7aWYoIXRoaXMuX3ByZUNvbXB1dGluZyl0aGlzLl9lbmQoKTtyZXR1cm4g MDt9CnZhciBiTGVmdD10aGlzLmdldCgnYm9yZGVyLWxlZnQnKSxiUmlnaHQ9dGhp cy5nZXQoJ2JvcmRlci1yaWdodCcpO3ZhciBwTGVmdD10aGlzLmdldCgncGFkZGlu Zy1sZWZ0JykscFJpZ2h0PXRoaXMuZ2V0KCdwYWRkaW5nLXJpZ2h0Jyk7aWYoIXRo aXMuX3ByZUNvbXB1dGluZyl0aGlzLl9lbmQoKTtyZXR1cm4gYldpZHRoLWJMZWZ0 LWJSaWdodC1wTGVmdC1wUmlnaHQ7fSwncGFkZGluZy1ib3gtaGVpZ2h0JzpmdW5j dGlvbihlbGVtZW50KXt2YXIgaGVpZ2h0PXRoaXMuZ2V0KCdoZWlnaHQnKSxwVG9w PXRoaXMuZ2V0KCdwYWRkaW5nLXRvcCcpLHBCb3R0b209dGhpcy5nZXQoJ3BhZGRp bmctYm90dG9tJyk7cmV0dXJuIGhlaWdodCtwVG9wK3BCb3R0b207fSwncGFkZGlu Zy1ib3gtd2lkdGgnOmZ1bmN0aW9uKGVsZW1lbnQpe3ZhciB3aWR0aD10aGlzLmdl dCgnd2lkdGgnKSxwTGVmdD10aGlzLmdldCgncGFkZGluZy1sZWZ0JykscFJpZ2h0

PXRoaXMuZ2V0KCdwYWRkaW5nLXJpZ2h0Jyk7cmV0dXJuIHdpZHRoK3BMZWZ0K3BS aWdodDt9LCdib3JkZXItYm94LWhlaWdodCc6ZnVuY3Rpb24oZWxlbWVudCl7aWYo IXRoaXMuX3ByZUNvbXB1dGluZyl0aGlzLl9iZWdpbigpO3ZhciBoZWlnaHQ9ZWxl bWVudC5vZmZzZXRIZWlnaHQ7aWYoIXRoaXMuX3ByZUNvbXB1dGluZyl0aGlzLl9l bmQoKTtyZXR1cm4gaGVpZ2h0O30sJ2JvcmRlci1ib3gtd2lkdGgnOmZ1bmN0aW9u KGVsZW1lbnQpe2lmKCF0aGlzLl9wcmVDb21wdXRpbmcpdGhpcy5fYmVnaW4oKTt2 YXIgd2lkdGg9ZWxlbWVudC5vZmZzZXRXaWR0aDtpZighdGhpcy5fcHJlQ29tcHV0 aW5nKXRoaXMuX2VuZCgpO3JldHVybiB3aWR0aDt9LCdtYXJnaW4tYm94LWhlaWdo dCc6ZnVuY3Rpb24oZWxlbWVudCl7dmFyIGJIZWlnaHQ9dGhpcy5nZXQoJ2JvcmRl ci1ib3gtaGVpZ2h0JyksbVRvcD10aGlzLmdldCgnbWFyZ2luLXRvcCcpLG1Cb3R0 b209dGhpcy5nZXQoJ21hcmdpbi1ib3R0b20nKTtpZihiSGVpZ2h0PD0wKXJldHVy biAwO3JldHVybiBiSGVpZ2h0K21Ub3ArbUJvdHRvbTt9LCdtYXJnaW4tYm94LXdp ZHRoJzpmdW5jdGlvbihlbGVtZW50KXt2YXIgYldpZHRoPXRoaXMuZ2V0KCdib3Jk ZXItYm94LXdpZHRoJyksbUxlZnQ9dGhpcy5nZXQoJ21hcmdpbi1sZWZ0JyksbVJp Z2h0PXRoaXMuZ2V0KCdtYXJnaW4tcmlnaHQnKTtpZihiV2lkdGg8PTApcmV0dXJu IDA7cmV0dXJuIGJXaWR0aCttTGVmdCttUmlnaHQ7fSwndG9wJzpmdW5jdGlvbihl bGVtZW50KXt2YXIgb2Zmc2V0PWVsZW1lbnQucG9zaXRpb25lZE9mZnNldCgpO3Jl dHVybiBvZmZzZXQudG9wO30sJ2JvdHRvbSc6ZnVuY3Rpb24oZWxlbWVudCl7dmFy IG9mZnNldD1lbGVtZW50LnBvc2l0aW9uZWRPZmZzZXQoKSxwYXJlbnQ9ZWxlbWVu dC5nZXRPZmZzZXRQYXJlbnQoKSxwSGVpZ2h0PXBhcmVudC5tZWFzdXJlKCdoZWln aHQnKTt2YXIgbUhlaWdodD10aGlzLmdldCgnYm9yZGVyLWJveC1oZWlnaHQnKTty ZXR1cm4gcEhlaWdodC1tSGVpZ2h0LW9mZnNldC50b3A7fSwnbGVmdCc6ZnVuY3Rp b24oZWxlbWVudCl7dmFyIG9mZnNldD1lbGVtZW50LnBvc2l0aW9uZWRPZmZzZXQo KTtyZXR1cm4gb2Zmc2V0LmxlZnQ7fSwncmlnaHQnOmZ1bmN0aW9uKGVsZW1lbnQp e3ZhciBvZmZzZXQ9ZWxlbWVudC5wb3NpdGlvbmVkT2Zmc2V0KCkscGFyZW50PWVs ZW1lbnQuZ2V0T2Zmc2V0UGFyZW50KCkscFdpZHRoPXBhcmVudC5tZWFzdXJlKCd3 aWR0aCcpO3ZhciBtV2lkdGg9dGhpcy5nZXQoJ2JvcmRlci1ib3gtd2lkdGgnKTty ZXR1cm4gcFdpZHRoLW1XaWR0aC1vZmZzZXQubGVmdDt9LCdwYWRkaW5nLXRvcCc6 ZnVuY3Rpb24oZWxlbWVudCl7cmV0dXJuIGdldFBpeGVsVmFsdWUoZWxlbWVudCwn cGFkZGluZ1RvcCcpO30sJ3BhZGRpbmctYm90dG9tJzpmdW5jdGlvbihlbGVtZW50 KXtyZXR1cm4gZ2V0UGl4ZWxWYWx1ZShlbGVtZW50LCdwYWRkaW5nQm90dG9tJyk7 fSwncGFkZGluZy1sZWZ0JzpmdW5jdGlvbihlbGVtZW50KXtyZXR1cm4gZ2V0UGl4 ZWxWYWx1ZShlbGVtZW50LCdwYWRkaW5nTGVmdCcpO30sJ3BhZGRpbmctcmlnaHQn OmZ1bmN0aW9uKGVsZW1lbnQpe3JldHVybiBnZXRQaXhlbFZhbHVlKGVsZW1lbnQs J3BhZGRpbmdSaWdodCcpO30sJ2JvcmRlci10b3AnOmZ1bmN0aW9uKGVsZW1lbnQp e3JldHVybiBnZXRQaXhlbFZhbHVlKGVsZW1lbnQsJ2JvcmRlclRvcFdpZHRoJyk7 fSwnYm9yZGVyLWJvdHRvbSc6ZnVuY3Rpb24oZWxlbWVudCl7cmV0dXJuIGdldFBp eGVsVmFsdWUoZWxlbWVudCwnYm9yZGVyQm90dG9tV2lkdGgnKTt9LCdib3JkZXIt bGVmdCc6ZnVuY3Rpb24oZWxlbWVudCl7cmV0dXJuIGdldFBpeGVsVmFsdWUoZWxl bWVudCwnYm9yZGVyTGVmdFdpZHRoJyk7fSwnYm9yZGVyLXJpZ2h0JzpmdW5jdGlv bihlbGVtZW50KXtyZXR1cm4gZ2V0UGl4ZWxWYWx1ZShlbGVtZW50LCdib3JkZXJS aWdodFdpZHRoJyk7fSwnbWFyZ2luLXRvcCc6ZnVuY3Rpb24oZWxlbWVudCl7cmV0 dXJuIGdldFBpeGVsVmFsdWUoZWxlbWVudCwnbWFyZ2luVG9wJyk7fSwnbWFyZ2lu LWJvdHRvbSc6ZnVuY3Rpb24oZWxlbWVudCl7cmV0dXJuIGdldFBpeGVsVmFsdWUo ZWxlbWVudCwnbWFyZ2luQm90dG9tJyk7fSwnbWFyZ2luLWxlZnQnOmZ1bmN0aW9u KGVsZW1lbnQpe3JldHVybiBnZXRQaXhlbFZhbHVlKGVsZW1lbnQsJ21hcmdpbkxl ZnQnKTt9LCdtYXJnaW4tcmlnaHQnOmZ1bmN0aW9uKGVsZW1lbnQpe3JldHVybiBn ZXRQaXhlbFZhbHVlKGVsZW1lbnQsJ21hcmdpblJpZ2h0Jyk7fX19KTtpZignZ2V0 Qm91bmRpbmdDbGllbnRSZWN0J2luIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl7 T2JqZWN0LmV4dGVuZChFbGVtZW50LkxheW91dC5DT01QVVRBVElPTlMseydyaWdo dCc6ZnVuY3Rpb24oZWxlbWVudCl7dmFyIHBhcmVudD1oYXNMYXlvdXQoZWxlbWVu dC5nZXRPZmZzZXRQYXJlbnQoKSk7dmFyIHJlY3Q9ZWxlbWVudC5nZXRCb3VuZGlu Z0NsaWVudFJlY3QoKSxwUmVjdD1wYXJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0 KCk7cmV0dXJuKHBSZWN0LnJpZ2h0LXJlY3QucmlnaHQpLnJvdW5kKCk7fSwnYm90 dG9tJzpmdW5jdGlvbihlbGVtZW50KXt2YXIgcGFyZW50PWhhc0xheW91dChlbGVt ZW50LmdldE9mZnNldFBhcmVudCgpKTt2YXIgcmVjdD1lbGVtZW50LmdldEJvdW5k aW5nQ2xpZW50UmVjdCgpLHBSZWN0PXBhcmVudC5nZXRCb3VuZGluZ0NsaWVudFJl Y3QoKTtyZXR1cm4ocFJlY3QuYm90dG9tLXJlY3QuYm90dG9tKS5yb3VuZCgpO319 KTt9CkVsZW1lbnQuT2Zmc2V0PUNsYXNzLmNyZWF0ZSh7aW5pdGlhbGl6ZTpmdW5j dGlvbihsZWZ0LHRvcCl7dGhpcy5sZWZ0PWxlZnQucm91bmQoKTt0aGlzLnRvcD10

b3Aucm91bmQoKTt0aGlzWzBdPXRoaXMubGVmdDt0aGlzWzFdPXRoaXMudG9wO30s cmVsYXRpdmVUbzpmdW5jdGlvbihvZmZzZXQpe3JldHVybiBuZXcgRWxlbWVudC5P ZmZzZXQodGhpcy5sZWZ0LW9mZnNldC5sZWZ0LHRoaXMudG9wLW9mZnNldC50b3Ap O30saW5zcGVjdDpmdW5jdGlvbigpe3JldHVybiIjPEVsZW1lbnQuT2Zmc2V0IGxl ZnQ6ICN7bGVmdH0gdG9wOiAje3RvcH0+Ii5pbnRlcnBvbGF0ZSh0aGlzKTt9LHRv U3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIlsje2xlZnR9LCAje3RvcH1dIi5pbnRl cnBvbGF0ZSh0aGlzKTt9LHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy5s ZWZ0LHRoaXMudG9wXTt9fSk7ZnVuY3Rpb24gZ2V0TGF5b3V0KGVsZW1lbnQscHJl Q29tcHV0ZSl7cmV0dXJuIG5ldyBFbGVtZW50LkxheW91dChlbGVtZW50LHByZUNv bXB1dGUpO30KZnVuY3Rpb24gbWVhc3VyZShlbGVtZW50LHByb3BlcnR5KXtyZXR1 cm4gJChlbGVtZW50KS5nZXRMYXlvdXQoKS5nZXQocHJvcGVydHkpO30KZnVuY3Rp b24gZ2V0RGltZW5zaW9ucyhlbGVtZW50KXtlbGVtZW50PSQoZWxlbWVudCk7dmFy IGRpc3BsYXk9RWxlbWVudC5nZXRTdHlsZShlbGVtZW50LCdkaXNwbGF5Jyk7aWYo ZGlzcGxheSYmZGlzcGxheSE9PSdub25lJyl7cmV0dXJue3dpZHRoOmVsZW1lbnQu b2Zmc2V0V2lkdGgsaGVpZ2h0OmVsZW1lbnQub2Zmc2V0SGVpZ2h0fTt9CnZhciBz dHlsZT1lbGVtZW50LnN0eWxlO3ZhciBvcmlnaW5hbFN0eWxlcz17dmlzaWJpbGl0 eTpzdHlsZS52aXNpYmlsaXR5LHBvc2l0aW9uOnN0eWxlLnBvc2l0aW9uLGRpc3Bs YXk6c3R5bGUuZGlzcGxheX07dmFyIG5ld1N0eWxlcz17dmlzaWJpbGl0eTonaGlk ZGVuJyxkaXNwbGF5OidibG9jayd9O2lmKG9yaWdpbmFsU3R5bGVzLnBvc2l0aW9u IT09J2ZpeGVkJykKbmV3U3R5bGVzLnBvc2l0aW9uPSdhYnNvbHV0ZSc7RWxlbWVu dC5zZXRTdHlsZShlbGVtZW50LG5ld1N0eWxlcyk7dmFyIGRpbWVuc2lvbnM9e3dp ZHRoOmVsZW1lbnQub2Zmc2V0V2lkdGgsaGVpZ2h0OmVsZW1lbnQub2Zmc2V0SGVp Z2h0fTtFbGVtZW50LnNldFN0eWxlKGVsZW1lbnQsb3JpZ2luYWxTdHlsZXMpO3Jl dHVybiBkaW1lbnNpb25zO30KZnVuY3Rpb24gZ2V0T2Zmc2V0UGFyZW50KGVsZW1l bnQpe2VsZW1lbnQ9JChlbGVtZW50KTtpZihpc0RvY3VtZW50KGVsZW1lbnQpfHxp c0RldGFjaGVkKGVsZW1lbnQpfHxpc0JvZHkoZWxlbWVudCl8fGlzSHRtbChlbGVt ZW50KSkKcmV0dXJuICQoZG9jdW1lbnQuYm9keSk7dmFyIGlzSW5saW5lPShFbGVt ZW50LmdldFN0eWxlKGVsZW1lbnQsJ2Rpc3BsYXknKT09PSdpbmxpbmUnKTtpZigh aXNJbmxpbmUmJmVsZW1lbnQub2Zmc2V0UGFyZW50KXJldHVybiAkKGVsZW1lbnQu b2Zmc2V0UGFyZW50KTt3aGlsZSgoZWxlbWVudD1lbGVtZW50LnBhcmVudE5vZGUp JiZlbGVtZW50IT09ZG9jdW1lbnQuYm9keSl7aWYoRWxlbWVudC5nZXRTdHlsZShl bGVtZW50LCdwb3NpdGlvbicpIT09J3N0YXRpYycpe3JldHVybiBpc0h0bWwoZWxl bWVudCk/JChkb2N1bWVudC5ib2R5KTokKGVsZW1lbnQpO319CnJldHVybiAkKGRv Y3VtZW50LmJvZHkpO30KZnVuY3Rpb24gY3VtdWxhdGl2ZU9mZnNldChlbGVtZW50 KXtlbGVtZW50PSQoZWxlbWVudCk7dmFyIHZhbHVlVD0wLHZhbHVlTD0wO2lmKGVs ZW1lbnQucGFyZW50Tm9kZSl7ZG97dmFsdWVUKz1lbGVtZW50Lm9mZnNldFRvcHx8 MDt2YWx1ZUwrPWVsZW1lbnQub2Zmc2V0TGVmdHx8MDtlbGVtZW50PWVsZW1lbnQu b2Zmc2V0UGFyZW50O313aGlsZShlbGVtZW50KTt9CnJldHVybiBuZXcgRWxlbWVu dC5PZmZzZXQodmFsdWVMLHZhbHVlVCk7fQpmdW5jdGlvbiBwb3NpdGlvbmVkT2Zm c2V0KGVsZW1lbnQpe2VsZW1lbnQ9JChlbGVtZW50KTt2YXIgbGF5b3V0PWVsZW1l bnQuZ2V0TGF5b3V0KCk7dmFyIHZhbHVlVD0wLHZhbHVlTD0wO2Rve3ZhbHVlVCs9 ZWxlbWVudC5vZmZzZXRUb3B8fDA7dmFsdWVMKz1lbGVtZW50Lm9mZnNldExlZnR8 fDA7ZWxlbWVudD1lbGVtZW50Lm9mZnNldFBhcmVudDtpZihlbGVtZW50KXtpZihp c0JvZHkoZWxlbWVudCkpYnJlYWs7dmFyIHA9RWxlbWVudC5nZXRTdHlsZShlbGVt ZW50LCdwb3NpdGlvbicpO2lmKHAhPT0nc3RhdGljJylicmVhazt9fXdoaWxlKGVs ZW1lbnQpO3ZhbHVlTC09bGF5b3V0LmdldCgnbWFyZ2luLXRvcCcpO3ZhbHVlVC09 bGF5b3V0LmdldCgnbWFyZ2luLWxlZnQnKTtyZXR1cm4gbmV3IEVsZW1lbnQuT2Zm c2V0KHZhbHVlTCx2YWx1ZVQpO30KZnVuY3Rpb24gY3VtdWxhdGl2ZVNjcm9sbE9m ZnNldChlbGVtZW50KXt2YXIgdmFsdWVUPTAsdmFsdWVMPTA7ZG97dmFsdWVUKz1l bGVtZW50LnNjcm9sbFRvcHx8MDt2YWx1ZUwrPWVsZW1lbnQuc2Nyb2xsTGVmdHx8 MDtlbGVtZW50PWVsZW1lbnQucGFyZW50Tm9kZTt9d2hpbGUoZWxlbWVudCk7cmV0 dXJuIG5ldyBFbGVtZW50Lk9mZnNldCh2YWx1ZUwsdmFsdWVUKTt9CmZ1bmN0aW9u IHZpZXdwb3J0T2Zmc2V0KGZvckVsZW1lbnQpe2VsZW1lbnQ9JChlbGVtZW50KTt2 YXIgdmFsdWVUPTAsdmFsdWVMPTAsZG9jQm9keT1kb2N1bWVudC5ib2R5O3ZhciBl bGVtZW50PWZvckVsZW1lbnQ7ZG97dmFsdWVUKz1lbGVtZW50Lm9mZnNldFRvcHx8 MDt2YWx1ZUwrPWVsZW1lbnQub2Zmc2V0TGVmdHx8MDtpZihlbGVtZW50Lm9mZnNl dFBhcmVudD09ZG9jQm9keSYmRWxlbWVudC5nZXRTdHlsZShlbGVtZW50LCdwb3Np dGlvbicpPT0nYWJzb2x1dGUnKWJyZWFrO313aGlsZShlbGVtZW50PWVsZW1lbnQu b2Zmc2V0UGFyZW50KTtlbGVtZW50PWZvckVsZW1lbnQ7ZG97aWYoZWxlbWVudCE9 ZG9jQm9keSl7dmFsdWVULT1lbGVtZW50LnNjcm9sbFRvcHx8MDt2YWx1ZUwtPWVs

ZW1lbnQuc2Nyb2xsTGVmdHx8MDt9fXdoaWxlKGVsZW1lbnQ9ZWxlbWVudC5wYXJl bnROb2RlKTtyZXR1cm4gbmV3IEVsZW1lbnQuT2Zmc2V0KHZhbHVlTCx2YWx1ZVQp O30KZnVuY3Rpb24gYWJzb2x1dGl6ZShlbGVtZW50KXtlbGVtZW50PSQoZWxlbWVu dCk7aWYoRWxlbWVudC5nZXRTdHlsZShlbGVtZW50LCdwb3NpdGlvbicpPT09J2Fi c29sdXRlJyl7cmV0dXJuIGVsZW1lbnQ7fQp2YXIgb2Zmc2V0UGFyZW50PWdldE9m ZnNldFBhcmVudChlbGVtZW50KTt2YXIgZU9mZnNldD1lbGVtZW50LnZpZXdwb3J0 T2Zmc2V0KCkscE9mZnNldD1vZmZzZXRQYXJlbnQudmlld3BvcnRPZmZzZXQoKTt2 YXIgb2Zmc2V0PWVPZmZzZXQucmVsYXRpdmVUbyhwT2Zmc2V0KTt2YXIgbGF5b3V0 PWVsZW1lbnQuZ2V0TGF5b3V0KCk7ZWxlbWVudC5zdG9yZSgncHJvdG90eXBlX2Fi c29sdXRpemVfb3JpZ2luYWxfc3R5bGVzJyx7bGVmdDplbGVtZW50LmdldFN0eWxl KCdsZWZ0JyksdG9wOmVsZW1lbnQuZ2V0U3R5bGUoJ3RvcCcpLHdpZHRoOmVsZW1l bnQuZ2V0U3R5bGUoJ3dpZHRoJyksaGVpZ2h0OmVsZW1lbnQuZ2V0U3R5bGUoJ2hl aWdodCcpfSk7ZWxlbWVudC5zZXRTdHlsZSh7cG9zaXRpb246J2Fic29sdXRlJyx0 b3A6b2Zmc2V0LnRvcCsncHgnLGxlZnQ6b2Zmc2V0LmxlZnQrJ3B4Jyx3aWR0aDps YXlvdXQuZ2V0KCd3aWR0aCcpKydweCcsaGVpZ2h0OmxheW91dC5nZXQoJ2hlaWdo dCcpKydweCd9KTtyZXR1cm4gZWxlbWVudDt9CmZ1bmN0aW9uIHJlbGF0aXZpemUo ZWxlbWVudCl7ZWxlbWVudD0kKGVsZW1lbnQpO2lmKEVsZW1lbnQuZ2V0U3R5bGUo ZWxlbWVudCwncG9zaXRpb24nKT09PSdyZWxhdGl2ZScpe3JldHVybiBlbGVtZW50 O30KdmFyIG9yaWdpbmFsU3R5bGVzPWVsZW1lbnQucmV0cmlldmUoJ3Byb3RvdHlw ZV9hYnNvbHV0aXplX29yaWdpbmFsX3N0eWxlcycpO2lmKG9yaWdpbmFsU3R5bGVz KWVsZW1lbnQuc2V0U3R5bGUob3JpZ2luYWxTdHlsZXMpO3JldHVybiBlbGVtZW50 O30KaWYoUHJvdG90eXBlLkJyb3dzZXIuSUUpe2dldE9mZnNldFBhcmVudD1nZXRP ZmZzZXRQYXJlbnQud3JhcChmdW5jdGlvbihwcm9jZWVkLGVsZW1lbnQpe2VsZW1l bnQ9JChlbGVtZW50KTtpZihpc0RvY3VtZW50KGVsZW1lbnQpfHxpc0RldGFjaGVk KGVsZW1lbnQpfHxpc0JvZHkoZWxlbWVudCl8fGlzSHRtbChlbGVtZW50KSkKcmV0 dXJuICQoZG9jdW1lbnQuYm9keSk7dmFyIHBvc2l0aW9uPWVsZW1lbnQuZ2V0U3R5 bGUoJ3Bvc2l0aW9uJyk7aWYocG9zaXRpb24hPT0nc3RhdGljJylyZXR1cm4gcHJv Y2VlZChlbGVtZW50KTtlbGVtZW50LnNldFN0eWxlKHtwb3NpdGlvbjoncmVsYXRp dmUnfSk7dmFyIHZhbHVlPXByb2NlZWQoZWxlbWVudCk7ZWxlbWVudC5zZXRTdHls ZSh7cG9zaXRpb246cG9zaXRpb259KTtyZXR1cm4gdmFsdWU7fSk7cG9zaXRpb25l ZE9mZnNldD1wb3NpdGlvbmVkT2Zmc2V0LndyYXAoZnVuY3Rpb24ocHJvY2VlZCxl bGVtZW50KXtlbGVtZW50PSQoZWxlbWVudCk7aWYoIWVsZW1lbnQucGFyZW50Tm9k ZSlyZXR1cm4gbmV3IEVsZW1lbnQuT2Zmc2V0KDAsMCk7dmFyIHBvc2l0aW9uPWVs ZW1lbnQuZ2V0U3R5bGUoJ3Bvc2l0aW9uJyk7aWYocG9zaXRpb24hPT0nc3RhdGlj JylyZXR1cm4gcHJvY2VlZChlbGVtZW50KTt2YXIgb2Zmc2V0UGFyZW50PWVsZW1l bnQuZ2V0T2Zmc2V0UGFyZW50KCk7aWYob2Zmc2V0UGFyZW50JiZvZmZzZXRQYXJl bnQuZ2V0U3R5bGUoJ3Bvc2l0aW9uJyk9PT0nZml4ZWQnKQpoYXNMYXlvdXQob2Zm c2V0UGFyZW50KTtlbGVtZW50LnNldFN0eWxlKHtwb3NpdGlvbjoncmVsYXRpdmUn fSk7dmFyIHZhbHVlPXByb2NlZWQoZWxlbWVudCk7ZWxlbWVudC5zZXRTdHlsZSh7 cG9zaXRpb246cG9zaXRpb259KTtyZXR1cm4gdmFsdWU7fSk7fWVsc2UgaWYoUHJv dG90eXBlLkJyb3dzZXIuV2Via2l0KXtjdW11bGF0aXZlT2Zmc2V0PWZ1bmN0aW9u KGVsZW1lbnQpe2VsZW1lbnQ9JChlbGVtZW50KTt2YXIgdmFsdWVUPTAsdmFsdWVM PTA7ZG97dmFsdWVUKz1lbGVtZW50Lm9mZnNldFRvcHx8MDt2YWx1ZUwrPWVsZW1l bnQub2Zmc2V0TGVmdHx8MDtpZihlbGVtZW50Lm9mZnNldFBhcmVudD09ZG9jdW1l bnQuYm9keSkKaWYoRWxlbWVudC5nZXRTdHlsZShlbGVtZW50LCdwb3NpdGlvbicp PT0nYWJzb2x1dGUnKWJyZWFrO2VsZW1lbnQ9ZWxlbWVudC5vZmZzZXRQYXJlbnQ7 fXdoaWxlKGVsZW1lbnQpO3JldHVybiBuZXcgRWxlbWVudC5PZmZzZXQodmFsdWVM LHZhbHVlVCk7fTt9CkVsZW1lbnQuYWRkTWV0aG9kcyh7Z2V0TGF5b3V0OmdldExh eW91dCxtZWFzdXJlOm1lYXN1cmUsZ2V0RGltZW5zaW9uczpnZXREaW1lbnNpb25z LGdldE9mZnNldFBhcmVudDpnZXRPZmZzZXRQYXJlbnQsY3VtdWxhdGl2ZU9mZnNl dDpjdW11bGF0aXZlT2Zmc2V0LHBvc2l0aW9uZWRPZmZzZXQ6cG9zaXRpb25lZE9m ZnNldCxjdW11bGF0aXZlU2Nyb2xsT2Zmc2V0OmN1bXVsYXRpdmVTY3JvbGxPZmZz ZXQsdmlld3BvcnRPZmZzZXQ6dmlld3BvcnRPZmZzZXQsYWJzb2x1dGl6ZTphYnNv bHV0aXplLHJlbGF0aXZpemU6cmVsYXRpdml6ZX0pO2Z1bmN0aW9uIGlzQm9keShl bGVtZW50KXtyZXR1cm4gZWxlbWVudC5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpPT09 J0JPRFknO30KZnVuY3Rpb24gaXNIdG1sKGVsZW1lbnQpe3JldHVybiBlbGVtZW50 Lm5vZGVOYW1lLnRvVXBwZXJDYXNlKCk9PT0nSFRNTCc7fQpmdW5jdGlvbiBpc0Rv Y3VtZW50KGVsZW1lbnQpe3JldHVybiBlbGVtZW50Lm5vZGVUeXBlPT09Tm9kZS5E T0NVTUVOVF9OT0RFO30KZnVuY3Rpb24gaXNEZXRhY2hlZChlbGVtZW50KXtyZXR1 cm4gZWxlbWVudCE9PWRvY3VtZW50LmJvZHkmJiFFbGVtZW50LmRlc2NlbmRhbnRP

ZihlbGVtZW50LGRvY3VtZW50LmJvZHkpO30KaWYoJ2dldEJvdW5kaW5nQ2xpZW50 UmVjdCdpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpe0VsZW1lbnQuYWRkTWV0 aG9kcyh7dmlld3BvcnRPZmZzZXQ6ZnVuY3Rpb24oZWxlbWVudCl7ZWxlbWVudD0k KGVsZW1lbnQpO2lmKGlzRGV0YWNoZWQoZWxlbWVudCkpcmV0dXJuIG5ldyBFbGVt ZW50Lk9mZnNldCgwLDApO3ZhciByZWN0PWVsZW1lbnQuZ2V0Qm91bmRpbmdDbGll bnRSZWN0KCksZG9jRWw9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3JldHVybiBu ZXcgRWxlbWVudC5PZmZzZXQocmVjdC5sZWZ0LWRvY0VsLmNsaWVudExlZnQscmVj dC50b3AtZG9jRWwuY2xpZW50VG9wKTt9fSk7fX0pKCk7d2luZG93LiQkPWZ1bmN0 aW9uKCl7dmFyIGV4cHJlc3Npb249JEEoYXJndW1lbnRzKS5qb2luKCcsICcpO3Jl dHVybiBQcm90b3R5cGUuU2VsZWN0b3Iuc2VsZWN0KGV4cHJlc3Npb24sZG9jdW1l bnQpO307UHJvdG90eXBlLlNlbGVjdG9yPShmdW5jdGlvbigpe2Z1bmN0aW9uIHNl bGVjdCgpe3Rocm93IG5ldyBFcnJvcignTWV0aG9kICJQcm90b3R5cGUuU2VsZWN0 b3Iuc2VsZWN0IiBtdXN0IGJlIGRlZmluZWQuJyk7fQpmdW5jdGlvbiBtYXRjaCgp e3Rocm93IG5ldyBFcnJvcignTWV0aG9kICJQcm90b3R5cGUuU2VsZWN0b3IubWF0 Y2giIG11c3QgYmUgZGVmaW5lZC4nKTt9CmZ1bmN0aW9uIGZpbmQoZWxlbWVudHMs ZXhwcmVzc2lvbixpbmRleCl7aW5kZXg9aW5kZXh8fDA7dmFyIG1hdGNoPVByb3Rv dHlwZS5TZWxlY3Rvci5tYXRjaCxsZW5ndGg9ZWxlbWVudHMubGVuZ3RoLG1hdGNo SW5kZXg9MCxpO2ZvcihpPTA7aTxsZW5ndGg7aSsrKXtpZihtYXRjaChlbGVtZW50 c1tpXSxleHByZXNzaW9uKSYmaW5kZXg9PW1hdGNoSW5kZXgrKyl7cmV0dXJuIEVs ZW1lbnQuZXh0ZW5kKGVsZW1lbnRzW2ldKTt9fX0KZnVuY3Rpb24gZXh0ZW5kRWxl bWVudHMoZWxlbWVudHMpe2Zvcih2YXIgaT0wLGxlbmd0aD1lbGVtZW50cy5sZW5n dGg7aTxsZW5ndGg7aSsrKXtFbGVtZW50LmV4dGVuZChlbGVtZW50c1tpXSk7fQpy ZXR1cm4gZWxlbWVudHM7fQp2YXIgSz1Qcm90b3R5cGUuSztyZXR1cm57c2VsZWN0 OnNlbGVjdCxtYXRjaDptYXRjaCxmaW5kOmZpbmQsZXh0ZW5kRWxlbWVudHM6KEVs ZW1lbnQuZXh0ZW5kPT09Syk/SzpleHRlbmRFbGVtZW50cyxleHRlbmRFbGVtZW50 OkVsZW1lbnQuZXh0ZW5kfTt9KSgpO1Byb3RvdHlwZS5fb3JpZ2luYWxfcHJvcGVy dHk9d2luZG93LlNpenpsZTsvKgogKiBTaXp6bGUgQ1NTIFNlbGVjdG9yIEVuZ2lu ZSAtIHYxLjAKICogIENvcHlyaWdodCAyMDA5LCBUaGUgRG9qbyBGb3VuZGF0aW9u CiAqICBSZWxlYXNlZCB1bmRlciB0aGUgTUlULCBCU0QsIGFuZCBHUEwgTGljZW5z ZXMuCiAqICBNb3JlIGluZm9ybWF0aW9uOiBodHRwOi8vc2l6emxlanMuY29tLwog Ki8KKGZ1bmN0aW9uKCl7dmFyIGNodW5rZXI9LygoPzpcKCg/OlwoW14oKV0rXCl8 W14oKV0rKStcKXxcWyg/OlxbW15bXF1dKlxdfFsnIl1bXiciXSpbJyJdfFteW1xd JyJdKykrXF18XFwufFteID4rfiwoXFtcXF0rKSt8Wz4rfl0pKFxzKixccyopPygo PzoufFxyfFxuKSopL2csZG9uZT0wLHRvU3RyaW5nPU9iamVjdC5wcm90b3R5cGUu dG9TdHJpbmcsaGFzRHVwbGljYXRlPWZhbHNlLGJhc2VIYXNEdXBsaWNhdGU9dHJ1 ZTtbMCwwXS5zb3J0KGZ1bmN0aW9uKCl7YmFzZUhhc0R1cGxpY2F0ZT1mYWxzZTty ZXR1cm4gMDt9KTt2YXIgU2l6emxlPWZ1bmN0aW9uKHNlbGVjdG9yLGNvbnRleHQs cmVzdWx0cyxzZWVkKXtyZXN1bHRzPXJlc3VsdHN8fFtdO3ZhciBvcmlnQ29udGV4 dD1jb250ZXh0PWNvbnRleHR8fGRvY3VtZW50O2lmKGNvbnRleHQubm9kZVR5cGUh PT0xJiZjb250ZXh0Lm5vZGVUeXBlIT09OSl7cmV0dXJuW107fQppZighc2VsZWN0 b3J8fHR5cGVvZiBzZWxlY3RvciE9PSJzdHJpbmciKXtyZXR1cm4gcmVzdWx0czt9 CnZhciBwYXJ0cz1bXSxtLHNldCxjaGVja1NldCxjaGVjayxtb2RlLGV4dHJhLHBy dW5lPXRydWUsY29udGV4dFhNTD1pc1hNTChjb250ZXh0KSxzb0Zhcj1zZWxlY3Rv cjt3aGlsZSgoY2h1bmtlci5leGVjKCIiKSxtPWNodW5rZXIuZXhlYyhzb0Zhcikp IT09bnVsbCl7c29GYXI9bVszXTtwYXJ0cy5wdXNoKG1bMV0pO2lmKG1bMl0pe2V4 dHJhPW1bM107YnJlYWs7fX0KaWYocGFydHMubGVuZ3RoPjEmJm9yaWdQT1MuZXhl YyhzZWxlY3Rvcikpe2lmKHBhcnRzLmxlbmd0aD09PTImJkV4cHIucmVsYXRpdmVb cGFydHNbMF1dKXtzZXQ9cG9zUHJvY2VzcyhwYXJ0c1swXStwYXJ0c1sxXSxjb250 ZXh0KTt9ZWxzZXtzZXQ9RXhwci5yZWxhdGl2ZVtwYXJ0c1swXV0/W2NvbnRleHRd OlNpenpsZShwYXJ0cy5zaGlmdCgpLGNvbnRleHQpO3doaWxlKHBhcnRzLmxlbmd0 aCl7c2VsZWN0b3I9cGFydHMuc2hpZnQoKTtpZihFeHByLnJlbGF0aXZlW3NlbGVj dG9yXSkKc2VsZWN0b3IrPXBhcnRzLnNoaWZ0KCk7c2V0PXBvc1Byb2Nlc3Moc2Vs ZWN0b3Isc2V0KTt9fX1lbHNle2lmKCFzZWVkJiZwYXJ0cy5sZW5ndGg+MSYmY29u dGV4dC5ub2RlVHlwZT09PTkmJiFjb250ZXh0WE1MJiZFeHByLm1hdGNoLklELnRl c3QocGFydHNbMF0pJiYhRXhwci5tYXRjaC5JRC50ZXN0KHBhcnRzW3BhcnRzLmxl bmd0aC0xXSkpe3ZhciByZXQ9U2l6emxlLmZpbmQocGFydHMuc2hpZnQoKSxjb250 ZXh0LGNvbnRleHRYTUwpO2NvbnRleHQ9cmV0LmV4cHI/U2l6emxlLmZpbHRlcihy ZXQuZXhwcixyZXQuc2V0KVswXTpyZXQuc2V0WzBdO30KaWYoY29udGV4dCl7dmFy IHJldD1zZWVkP3tleHByOnBhcnRzLnBvcCgpLHNldDptYWtlQXJyYXkoc2VlZCl9 OlNpenpsZS5maW5kKHBhcnRzLnBvcCgpLHBhcnRzLmxlbmd0aD09PTEmJihwYXJ0

c1swXT09PSJ+Inx8cGFydHNbMF09PT0iKyIpJiZjb250ZXh0LnBhcmVudE5vZGU/ Y29udGV4dC5wYXJlbnROb2RlOmNvbnRleHQsY29udGV4dFhNTCk7c2V0PXJldC5l eHByP1NpenpsZS5maWx0ZXIocmV0LmV4cHIscmV0LnNldCk6cmV0LnNldDtpZihw YXJ0cy5sZW5ndGg+MCl7Y2hlY2tTZXQ9bWFrZUFycmF5KHNldCk7fWVsc2V7cHJ1 bmU9ZmFsc2U7fQp3aGlsZShwYXJ0cy5sZW5ndGgpe3ZhciBjdXI9cGFydHMucG9w KCkscG9wPWN1cjtpZighRXhwci5yZWxhdGl2ZVtjdXJdKXtjdXI9IiI7fWVsc2V7 cG9wPXBhcnRzLnBvcCgpO30KaWYocG9wPT1udWxsKXtwb3A9Y29udGV4dDt9CkV4 cHIucmVsYXRpdmVbY3VyXShjaGVja1NldCxwb3AsY29udGV4dFhNTCk7fX1lbHNl e2NoZWNrU2V0PXBhcnRzPVtdO319CmlmKCFjaGVja1NldCl7Y2hlY2tTZXQ9c2V0 O30KaWYoIWNoZWNrU2V0KXt0aHJvdyJTeW50YXggZXJyb3IsIHVucmVjb2duaXpl ZCBleHByZXNzaW9uOiAiKyhjdXJ8fHNlbGVjdG9yKTt9CmlmKHRvU3RyaW5nLmNh bGwoY2hlY2tTZXQpPT09IltvYmplY3QgQXJyYXldIil7aWYoIXBydW5lKXtyZXN1 bHRzLnB1c2guYXBwbHkocmVzdWx0cyxjaGVja1NldCk7fWVsc2UgaWYoY29udGV4 dCYmY29udGV4dC5ub2RlVHlwZT09PTEpe2Zvcih2YXIgaT0wO2NoZWNrU2V0W2ld IT1udWxsO2krKyl7aWYoY2hlY2tTZXRbaV0mJihjaGVja1NldFtpXT09PXRydWV8 fGNoZWNrU2V0W2ldLm5vZGVUeXBlPT09MSYmY29udGFpbnMoY29udGV4dCxjaGVj a1NldFtpXSkpKXtyZXN1bHRzLnB1c2goc2V0W2ldKTt9fX1lbHNle2Zvcih2YXIg aT0wO2NoZWNrU2V0W2ldIT1udWxsO2krKyl7aWYoY2hlY2tTZXRbaV0mJmNoZWNr U2V0W2ldLm5vZGVUeXBlPT09MSl7cmVzdWx0cy5wdXNoKHNldFtpXSk7fX19fWVs c2V7bWFrZUFycmF5KGNoZWNrU2V0LHJlc3VsdHMpO30KaWYoZXh0cmEpe1Npenps ZShleHRyYSxvcmlnQ29udGV4dCxyZXN1bHRzLHNlZWQpO1NpenpsZS51bmlxdWVT b3J0KHJlc3VsdHMpO30KcmV0dXJuIHJlc3VsdHM7fTtTaXp6bGUudW5pcXVlU29y dD1mdW5jdGlvbihyZXN1bHRzKXtpZihzb3J0T3JkZXIpe2hhc0R1cGxpY2F0ZT1i YXNlSGFzRHVwbGljYXRlO3Jlc3VsdHMuc29ydChzb3J0T3JkZXIpO2lmKGhhc0R1 cGxpY2F0ZSl7Zm9yKHZhciBpPTE7aTxyZXN1bHRzLmxlbmd0aDtpKyspe2lmKHJl c3VsdHNbaV09PT1yZXN1bHRzW2ktMV0pe3Jlc3VsdHMuc3BsaWNlKGktLSwxKTt9 fX19CnJldHVybiByZXN1bHRzO307U2l6emxlLm1hdGNoZXM9ZnVuY3Rpb24oZXhw cixzZXQpe3JldHVybiBTaXp6bGUoZXhwcixudWxsLG51bGwsc2V0KTt9O1Npenps ZS5maW5kPWZ1bmN0aW9uKGV4cHIsY29udGV4dCxpc1hNTCl7dmFyIHNldCxtYXRj aDtpZighZXhwcil7cmV0dXJuW107fQpmb3IodmFyIGk9MCxsPUV4cHIub3JkZXIu bGVuZ3RoO2k8bDtpKyspe3ZhciB0eXBlPUV4cHIub3JkZXJbaV0sbWF0Y2g7aWYo KG1hdGNoPUV4cHIubGVmdE1hdGNoW3R5cGVdLmV4ZWMoZXhwcikpKXt2YXIgbGVm dD1tYXRjaFsxXTttYXRjaC5zcGxpY2UoMSwxKTtpZihsZWZ0LnN1YnN0cihsZWZ0 Lmxlbmd0aC0xKSE9PSJcXCIpe21hdGNoWzFdPShtYXRjaFsxXXx8IiIpLnJlcGxh Y2UoL1xcL2csIiIpO3NldD1FeHByLmZpbmRbdHlwZV0obWF0Y2gsY29udGV4dCxp c1hNTCk7aWYoc2V0IT1udWxsKXtleHByPWV4cHIucmVwbGFjZShFeHByLm1hdGNo W3R5cGVdLCIiKTticmVhazt9fX19CmlmKCFzZXQpe3NldD1jb250ZXh0LmdldEVs ZW1lbnRzQnlUYWdOYW1lKCIqIik7fQpyZXR1cm57c2V0OnNldCxleHByOmV4cHJ9 O307U2l6emxlLmZpbHRlcj1mdW5jdGlvbihleHByLHNldCxpbnBsYWNlLG5vdCl7 dmFyIG9sZD1leHByLHJlc3VsdD1bXSxjdXJMb29wPXNldCxtYXRjaCxhbnlGb3Vu ZCxpc1hNTEZpbHRlcj1zZXQmJnNldFswXSYmaXNYTUwoc2V0WzBdKTt3aGlsZShl eHByJiZzZXQubGVuZ3RoKXtmb3IodmFyIHR5cGUgaW4gRXhwci5maWx0ZXIpe2lm KChtYXRjaD1FeHByLm1hdGNoW3R5cGVdLmV4ZWMoZXhwcikpIT1udWxsKXt2YXIg ZmlsdGVyPUV4cHIuZmlsdGVyW3R5cGVdLGZvdW5kLGl0ZW07YW55Rm91bmQ9ZmFs c2U7aWYoY3VyTG9vcD09cmVzdWx0KXtyZXN1bHQ9W107fQppZihFeHByLnByZUZp bHRlclt0eXBlXSl7bWF0Y2g9RXhwci5wcmVGaWx0ZXJbdHlwZV0obWF0Y2gsY3Vy TG9vcCxpbnBsYWNlLHJlc3VsdCxub3QsaXNYTUxGaWx0ZXIpO2lmKCFtYXRjaCl7 YW55Rm91bmQ9Zm91bmQ9dHJ1ZTt9ZWxzZSBpZihtYXRjaD09PXRydWUpe2NvbnRp bnVlO319CmlmKG1hdGNoKXtmb3IodmFyIGk9MDsoaXRlbT1jdXJMb29wW2ldKSE9 bnVsbDtpKyspe2lmKGl0ZW0pe2ZvdW5kPWZpbHRlcihpdGVtLG1hdGNoLGksY3Vy TG9vcCk7dmFyIHBhc3M9bm90XiEhZm91bmQ7aWYoaW5wbGFjZSYmZm91bmQhPW51 bGwpe2lmKHBhc3Mpe2FueUZvdW5kPXRydWU7fWVsc2V7Y3VyTG9vcFtpXT1mYWxz ZTt9fWVsc2UgaWYocGFzcyl7cmVzdWx0LnB1c2goaXRlbSk7YW55Rm91bmQ9dHJ1 ZTt9fX19CmlmKGZvdW5kIT09dW5kZWZpbmVkKXtpZighaW5wbGFjZSl7Y3VyTG9v cD1yZXN1bHQ7fQpleHByPWV4cHIucmVwbGFjZShFeHByLm1hdGNoW3R5cGVdLCIi KTtpZighYW55Rm91bmQpe3JldHVybltdO30KYnJlYWs7fX19CmlmKGV4cHI9PW9s ZCl7aWYoYW55Rm91bmQ9PW51bGwpe3Rocm93IlN5bnRheCBlcnJvciwgdW5yZWNv Z25pemVkIGV4cHJlc3Npb246ICIrZXhwcjt9ZWxzZXticmVhazt9fQpvbGQ9ZXhw cjt9CnJldHVybiBjdXJMb29wO307dmFyIEV4cHI9U2l6emxlLnNlbGVjdG9ycz17 b3JkZXI6WyJJRCIsIk5BTUUiLCJUQUciXSxtYXRjaDp7SUQ6LyMoKD86W1x3XHUw

MGMwLVx1RkZGRi1dfFxcLikrKS8sQ0xBU1M6L1wuKCg/Oltcd1x1MDBjMC1cdUZG RkYtXXxcXC4pKykvLE5BTUU6L1xbbmFtZT1bJyJdKigoPzpbXHdcdTAwYzAtXHVG RkZGLV18XFwuKSspWyciXSpcXS8sQVRUUjovXFtccyooKD86W1x3XHUwMGMwLVx1 RkZGRi1dfFxcLikrKVxzKig/OihcUz89KVxzKihbJyJdKikoLio/KVwzfClccypc XS8sVEFHOi9eKCg/Oltcd1x1MDBjMC1cdUZGRkZcKi1dfFxcLikrKS8sQ0hJTEQ6 Lzoob25seXxudGh8bGFzdHxmaXJzdCktY2hpbGQoPzpcKChldmVufG9kZHxbXGRu Ky1dKilcKSk/LyxQT1M6LzoobnRofGVxfGd0fGx0fGZpcnN0fGxhc3R8ZXZlbnxv ZGQpKD86XCgoXGQqKVwpKT8oPz1bXi1dfCQpLyxQU0VVRE86LzooKD86W1x3XHUw MGMwLVx1RkZGRi1dfFxcLikrKSg/OlwoKFsnIl0qKSgoPzpcKFteXCldK1wpfFte XDJcKFwpXSopKylcMlwpKT8vfSxsZWZ0TWF0Y2g6e30sYXR0ck1hcDp7ImNsYXNz IjoiY2xhc3NOYW1lIiwiZm9yIjoiaHRtbEZvciJ9LGF0dHJIYW5kbGU6e2hyZWY6 ZnVuY3Rpb24oZWxlbSl7cmV0dXJuIGVsZW0uZ2V0QXR0cmlidXRlKCJocmVmIik7 fX0scmVsYXRpdmU6eyIrIjpmdW5jdGlvbihjaGVja1NldCxwYXJ0LGlzWE1MKXt2 YXIgaXNQYXJ0U3RyPXR5cGVvZiBwYXJ0PT09InN0cmluZyIsaXNUYWc9aXNQYXJ0 U3RyJiYhL1xXLy50ZXN0KHBhcnQpLGlzUGFydFN0ck5vdFRhZz1pc1BhcnRTdHIm JiFpc1RhZztpZihpc1RhZyYmIWlzWE1MKXtwYXJ0PXBhcnQudG9VcHBlckNhc2Uo KTt9CmZvcih2YXIgaT0wLGw9Y2hlY2tTZXQubGVuZ3RoLGVsZW07aTxsO2krKyl7 aWYoKGVsZW09Y2hlY2tTZXRbaV0pKXt3aGlsZSgoZWxlbT1lbGVtLnByZXZpb3Vz U2libGluZykmJmVsZW0ubm9kZVR5cGUhPT0xKXt9CmNoZWNrU2V0W2ldPWlzUGFy dFN0ck5vdFRhZ3x8ZWxlbSYmZWxlbS5ub2RlTmFtZT09PXBhcnQ/ZWxlbXx8ZmFs c2U6ZWxlbT09PXBhcnQ7fX0KaWYoaXNQYXJ0U3RyTm90VGFnKXtTaXp6bGUuZmls dGVyKHBhcnQsY2hlY2tTZXQsdHJ1ZSk7fX0sIj4iOmZ1bmN0aW9uKGNoZWNrU2V0 LHBhcnQsaXNYTUwpe3ZhciBpc1BhcnRTdHI9dHlwZW9mIHBhcnQ9PT0ic3RyaW5n IjtpZihpc1BhcnRTdHImJiEvXFcvLnRlc3QocGFydCkpe3BhcnQ9aXNYTUw/cGFy dDpwYXJ0LnRvVXBwZXJDYXNlKCk7Zm9yKHZhciBpPTAsbD1jaGVja1NldC5sZW5n dGg7aTxsO2krKyl7dmFyIGVsZW09Y2hlY2tTZXRbaV07aWYoZWxlbSl7dmFyIHBh cmVudD1lbGVtLnBhcmVudE5vZGU7Y2hlY2tTZXRbaV09cGFyZW50Lm5vZGVOYW1l PT09cGFydD9wYXJlbnQ6ZmFsc2U7fX19ZWxzZXtmb3IodmFyIGk9MCxsPWNoZWNr U2V0Lmxlbmd0aDtpPGw7aSsrKXt2YXIgZWxlbT1jaGVja1NldFtpXTtpZihlbGVt KXtjaGVja1NldFtpXT1pc1BhcnRTdHI/ZWxlbS5wYXJlbnROb2RlOmVsZW0ucGFy ZW50Tm9kZT09PXBhcnQ7fX0KaWYoaXNQYXJ0U3RyKXtTaXp6bGUuZmlsdGVyKHBh cnQsY2hlY2tTZXQsdHJ1ZSk7fX19LCIiOmZ1bmN0aW9uKGNoZWNrU2V0LHBhcnQs aXNYTUwpe3ZhciBkb25lTmFtZT1kb25lKyssY2hlY2tGbj1kaXJDaGVjaztpZigh L1xXLy50ZXN0KHBhcnQpKXt2YXIgbm9kZUNoZWNrPXBhcnQ9aXNYTUw/cGFydDpw YXJ0LnRvVXBwZXJDYXNlKCk7Y2hlY2tGbj1kaXJOb2RlQ2hlY2s7fQpjaGVja0Zu KCJwYXJlbnROb2RlIixwYXJ0LGRvbmVOYW1lLGNoZWNrU2V0LG5vZGVDaGVjayxp c1hNTCk7fSwifiI6ZnVuY3Rpb24oY2hlY2tTZXQscGFydCxpc1hNTCl7dmFyIGRv bmVOYW1lPWRvbmUrKyxjaGVja0ZuPWRpckNoZWNrO2lmKHR5cGVvZiBwYXJ0PT09 InN0cmluZyImJiEvXFcvLnRlc3QocGFydCkpe3ZhciBub2RlQ2hlY2s9cGFydD1p c1hNTD9wYXJ0OnBhcnQudG9VcHBlckNhc2UoKTtjaGVja0ZuPWRpck5vZGVDaGVj azt9CmNoZWNrRm4oInByZXZpb3VzU2libGluZyIscGFydCxkb25lTmFtZSxjaGVj a1NldCxub2RlQ2hlY2ssaXNYTUwpO319LGZpbmQ6e0lEOmZ1bmN0aW9uKG1hdGNo LGNvbnRleHQsaXNYTUwpe2lmKHR5cGVvZiBjb250ZXh0LmdldEVsZW1lbnRCeUlk IT09InVuZGVmaW5lZCImJiFpc1hNTCl7dmFyIG09Y29udGV4dC5nZXRFbGVtZW50 QnlJZChtYXRjaFsxXSk7cmV0dXJuIG0/W21dOltdO319LE5BTUU6ZnVuY3Rpb24o bWF0Y2gsY29udGV4dCxpc1hNTCl7aWYodHlwZW9mIGNvbnRleHQuZ2V0RWxlbWVu dHNCeU5hbWUhPT0idW5kZWZpbmVkIil7dmFyIHJldD1bXSxyZXN1bHRzPWNvbnRl eHQuZ2V0RWxlbWVudHNCeU5hbWUobWF0Y2hbMV0pO2Zvcih2YXIgaT0wLGw9cmVz dWx0cy5sZW5ndGg7aTxsO2krKyl7aWYocmVzdWx0c1tpXS5nZXRBdHRyaWJ1dGUo Im5hbWUiKT09PW1hdGNoWzFdKXtyZXQucHVzaChyZXN1bHRzW2ldKTt9fQpyZXR1 cm4gcmV0Lmxlbmd0aD09PTA/bnVsbDpyZXQ7fX0sVEFHOmZ1bmN0aW9uKG1hdGNo LGNvbnRleHQpe3JldHVybiBjb250ZXh0LmdldEVsZW1lbnRzQnlUYWdOYW1lKG1h dGNoWzFdKTt9fSxwcmVGaWx0ZXI6e0NMQVNTOmZ1bmN0aW9uKG1hdGNoLGN1ckxv b3AsaW5wbGFjZSxyZXN1bHQsbm90LGlzWE1MKXttYXRjaD0iICIrbWF0Y2hbMV0u cmVwbGFjZSgvXFwvZywiIikrIiAiO2lmKGlzWE1MKXtyZXR1cm4gbWF0Y2g7fQpm b3IodmFyIGk9MCxlbGVtOyhlbGVtPWN1ckxvb3BbaV0pIT1udWxsO2krKyl7aWYo ZWxlbSl7aWYobm90XihlbGVtLmNsYXNzTmFtZSYmKCIgIitlbGVtLmNsYXNzTmFt ZSsiICIpLmluZGV4T2YobWF0Y2gpPj0wKSl7aWYoIWlucGxhY2UpCnJlc3VsdC5w dXNoKGVsZW0pO31lbHNlIGlmKGlucGxhY2Upe2N1ckxvb3BbaV09ZmFsc2U7fX19 CnJldHVybiBmYWxzZTt9LElEOmZ1bmN0aW9uKG1hdGNoKXtyZXR1cm4gbWF0Y2hb

MV0ucmVwbGFjZSgvXFwvZywiIik7fSxUQUc6ZnVuY3Rpb24obWF0Y2gsY3VyTG9v cCl7Zm9yKHZhciBpPTA7Y3VyTG9vcFtpXT09PWZhbHNlO2krKyl7fQpyZXR1cm4g Y3VyTG9vcFtpXSYmaXNYTUwoY3VyTG9vcFtpXSk/bWF0Y2hbMV06bWF0Y2hbMV0u dG9VcHBlckNhc2UoKTt9LENISUxEOmZ1bmN0aW9uKG1hdGNoKXtpZihtYXRjaFsx XT09Im50aCIpe3ZhciB0ZXN0PS8oLT8pKFxkKiluKCg/OlwrfC0pP1xkKikvLmV4 ZWMobWF0Y2hbMl09PSJldmVuIiYmIjJuInx8bWF0Y2hbMl09PSJvZGQiJiYiMm4r MSJ8fCEvXEQvLnRlc3QobWF0Y2hbMl0pJiYiMG4rIittYXRjaFsyXXx8bWF0Y2hb Ml0pO21hdGNoWzJdPSh0ZXN0WzFdKyh0ZXN0WzJdfHwxKSktMDttYXRjaFszXT10 ZXN0WzNdLTA7fQptYXRjaFswXT1kb25lKys7cmV0dXJuIG1hdGNoO30sQVRUUjpm dW5jdGlvbihtYXRjaCxjdXJMb29wLGlucGxhY2UscmVzdWx0LG5vdCxpc1hNTCl7 dmFyIG5hbWU9bWF0Y2hbMV0ucmVwbGFjZSgvXFwvZywiIik7aWYoIWlzWE1MJiZF eHByLmF0dHJNYXBbbmFtZV0pe21hdGNoWzFdPUV4cHIuYXR0ck1hcFtuYW1lXTt9 CmlmKG1hdGNoWzJdPT09In49Iil7bWF0Y2hbNF09IiAiK21hdGNoWzRdKyIgIjt9 CnJldHVybiBtYXRjaDt9LFBTRVVETzpmdW5jdGlvbihtYXRjaCxjdXJMb29wLGlu cGxhY2UscmVzdWx0LG5vdCl7aWYobWF0Y2hbMV09PT0ibm90Iil7aWYoKGNodW5r ZXIuZXhlYyhtYXRjaFszXSl8fCIiKS5sZW5ndGg+MXx8L15cdy8udGVzdChtYXRj aFszXSkpe21hdGNoWzNdPVNpenpsZShtYXRjaFszXSxudWxsLG51bGwsY3VyTG9v cCk7fWVsc2V7dmFyIHJldD1TaXp6bGUuZmlsdGVyKG1hdGNoWzNdLGN1ckxvb3As aW5wbGFjZSx0cnVlXm5vdCk7aWYoIWlucGxhY2Upe3Jlc3VsdC5wdXNoLmFwcGx5 KHJlc3VsdCxyZXQpO30KcmV0dXJuIGZhbHNlO319ZWxzZSBpZihFeHByLm1hdGNo LlBPUy50ZXN0KG1hdGNoWzBdKXx8RXhwci5tYXRjaC5DSElMRC50ZXN0KG1hdGNo WzBdKSl7cmV0dXJuIHRydWU7fQpyZXR1cm4gbWF0Y2g7fSxQT1M6ZnVuY3Rpb24o bWF0Y2gpe21hdGNoLnVuc2hpZnQodHJ1ZSk7cmV0dXJuIG1hdGNoO319LGZpbHRl cnM6e2VuYWJsZWQ6ZnVuY3Rpb24oZWxlbSl7cmV0dXJuIGVsZW0uZGlzYWJsZWQ9 PT1mYWxzZSYmZWxlbS50eXBlIT09ImhpZGRlbiI7fSxkaXNhYmxlZDpmdW5jdGlv bihlbGVtKXtyZXR1cm4gZWxlbS5kaXNhYmxlZD09PXRydWU7fSxjaGVja2VkOmZ1 bmN0aW9uKGVsZW0pe3JldHVybiBlbGVtLmNoZWNrZWQ9PT10cnVlO30sc2VsZWN0 ZWQ6ZnVuY3Rpb24oZWxlbSl7ZWxlbS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXg7 cmV0dXJuIGVsZW0uc2VsZWN0ZWQ9PT10cnVlO30scGFyZW50OmZ1bmN0aW9uKGVs ZW0pe3JldHVybiEhZWxlbS5maXJzdENoaWxkO30sZW1wdHk6ZnVuY3Rpb24oZWxl bSl7cmV0dXJuIWVsZW0uZmlyc3RDaGlsZDt9LGhhczpmdW5jdGlvbihlbGVtLGks bWF0Y2gpe3JldHVybiEhU2l6emxlKG1hdGNoWzNdLGVsZW0pLmxlbmd0aDt9LGhl YWRlcjpmdW5jdGlvbihlbGVtKXtyZXR1cm4vaFxkL2kudGVzdChlbGVtLm5vZGVO YW1lKTt9LHRleHQ6ZnVuY3Rpb24oZWxlbSl7cmV0dXJuInRleHQiPT09ZWxlbS50 eXBlO30scmFkaW86ZnVuY3Rpb24oZWxlbSl7cmV0dXJuInJhZGlvIj09PWVsZW0u dHlwZTt9LGNoZWNrYm94OmZ1bmN0aW9uKGVsZW0pe3JldHVybiJjaGVja2JveCI9 PT1lbGVtLnR5cGU7fSxmaWxlOmZ1bmN0aW9uKGVsZW0pe3JldHVybiJmaWxlIj09 PWVsZW0udHlwZTt9LHBhc3N3b3JkOmZ1bmN0aW9uKGVsZW0pe3JldHVybiJwYXNz d29yZCI9PT1lbGVtLnR5cGU7fSxzdWJtaXQ6ZnVuY3Rpb24oZWxlbSl7cmV0dXJu InN1Ym1pdCI9PT1lbGVtLnR5cGU7fSxpbWFnZTpmdW5jdGlvbihlbGVtKXtyZXR1 cm4iaW1hZ2UiPT09ZWxlbS50eXBlO30scmVzZXQ6ZnVuY3Rpb24oZWxlbSl7cmV0 dXJuInJlc2V0Ij09PWVsZW0udHlwZTt9LGJ1dHRvbjpmdW5jdGlvbihlbGVtKXty ZXR1cm4iYnV0dG9uIj09PWVsZW0udHlwZXx8ZWxlbS5ub2RlTmFtZS50b1VwcGVy Q2FzZSgpPT09IkJVVFRPTiI7fSxpbnB1dDpmdW5jdGlvbihlbGVtKXtyZXR1cm4v aW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbi9pLnRlc3QoZWxlbS5ub2RlTmFt ZSk7fX0sc2V0RmlsdGVyczp7Zmlyc3Q6ZnVuY3Rpb24oZWxlbSxpKXtyZXR1cm4g aT09PTA7fSxsYXN0OmZ1bmN0aW9uKGVsZW0saSxtYXRjaCxhcnJheSl7cmV0dXJu IGk9PT1hcnJheS5sZW5ndGgtMTt9LGV2ZW46ZnVuY3Rpb24oZWxlbSxpKXtyZXR1 cm4gaSUyPT09MDt9LG9kZDpmdW5jdGlvbihlbGVtLGkpe3JldHVybiBpJTI9PT0x O30sbHQ6ZnVuY3Rpb24oZWxlbSxpLG1hdGNoKXtyZXR1cm4gaTxtYXRjaFszXS0w O30sZ3Q6ZnVuY3Rpb24oZWxlbSxpLG1hdGNoKXtyZXR1cm4gaT5tYXRjaFszXS0w O30sbnRoOmZ1bmN0aW9uKGVsZW0saSxtYXRjaCl7cmV0dXJuIG1hdGNoWzNdLTA9 PWk7fSxlcTpmdW5jdGlvbihlbGVtLGksbWF0Y2gpe3JldHVybiBtYXRjaFszXS0w PT1pO319LGZpbHRlcjp7UFNFVURPOmZ1bmN0aW9uKGVsZW0sbWF0Y2gsaSxhcnJh eSl7dmFyIG5hbWU9bWF0Y2hbMV0sZmlsdGVyPUV4cHIuZmlsdGVyc1tuYW1lXTtp ZihmaWx0ZXIpe3JldHVybiBmaWx0ZXIoZWxlbSxpLG1hdGNoLGFycmF5KTt9ZWxz ZSBpZihuYW1lPT09ImNvbnRhaW5zIil7cmV0dXJuKGVsZW0udGV4dENvbnRlbnR8 fGVsZW0uaW5uZXJUZXh0fHwiIikuaW5kZXhPZihtYXRjaFszXSk+PTA7fWVsc2Ug aWYobmFtZT09PSJub3QiKXt2YXIgbm90PW1hdGNoWzNdO2Zvcih2YXIgaT0wLGw9 bm90Lmxlbmd0aDtpPGw7aSsrKXtpZihub3RbaV09PT1lbGVtKXtyZXR1cm4gZmFs

c2U7fX0KcmV0dXJuIHRydWU7fX0sQ0hJTEQ6ZnVuY3Rpb24oZWxlbSxtYXRjaCl7 dmFyIHR5cGU9bWF0Y2hbMV0sbm9kZT1lbGVtO3N3aXRjaCh0eXBlKXtjYXNlJ29u bHknOmNhc2UnZmlyc3QnOndoaWxlKChub2RlPW5vZGUucHJldmlvdXNTaWJsaW5n KSl7aWYobm9kZS5ub2RlVHlwZT09PTEpcmV0dXJuIGZhbHNlO30KaWYodHlwZT09 J2ZpcnN0JylyZXR1cm4gdHJ1ZTtub2RlPWVsZW07Y2FzZSdsYXN0Jzp3aGlsZSgo bm9kZT1ub2RlLm5leHRTaWJsaW5nKSl7aWYobm9kZS5ub2RlVHlwZT09PTEpcmV0 dXJuIGZhbHNlO30KcmV0dXJuIHRydWU7Y2FzZSdudGgnOnZhciBmaXJzdD1tYXRj aFsyXSxsYXN0PW1hdGNoWzNdO2lmKGZpcnN0PT0xJiZsYXN0PT0wKXtyZXR1cm4g dHJ1ZTt9CnZhciBkb25lTmFtZT1tYXRjaFswXSxwYXJlbnQ9ZWxlbS5wYXJlbnRO b2RlO2lmKHBhcmVudCYmKHBhcmVudC5zaXpjYWNoZSE9PWRvbmVOYW1lfHwhZWxl bS5ub2RlSW5kZXgpKXt2YXIgY291bnQ9MDtmb3Iobm9kZT1wYXJlbnQuZmlyc3RD aGlsZDtub2RlO25vZGU9bm9kZS5uZXh0U2libGluZyl7aWYobm9kZS5ub2RlVHlw ZT09PTEpe25vZGUubm9kZUluZGV4PSsrY291bnQ7fX0KcGFyZW50LnNpemNhY2hl PWRvbmVOYW1lO30KdmFyIGRpZmY9ZWxlbS5ub2RlSW5kZXgtbGFzdDtpZihmaXJz dD09MCl7cmV0dXJuIGRpZmY9PTA7fWVsc2V7cmV0dXJuKGRpZmYlZmlyc3Q9PTAm JmRpZmYvZmlyc3Q+PTApO319fSxJRDpmdW5jdGlvbihlbGVtLG1hdGNoKXtyZXR1 cm4gZWxlbS5ub2RlVHlwZT09PTEmJmVsZW0uZ2V0QXR0cmlidXRlKCJpZCIpPT09 bWF0Y2g7fSxUQUc6ZnVuY3Rpb24oZWxlbSxtYXRjaCl7cmV0dXJuKG1hdGNoPT09 IioiJiZlbGVtLm5vZGVUeXBlPT09MSl8fGVsZW0ubm9kZU5hbWU9PT1tYXRjaDt9 LENMQVNTOmZ1bmN0aW9uKGVsZW0sbWF0Y2gpe3JldHVybigiICIrKGVsZW0uY2xh c3NOYW1lfHxlbGVtLmdldEF0dHJpYnV0ZSgiY2xhc3MiKSkrIiAiKS5pbmRleE9m KG1hdGNoKT4tMTt9LEFUVFI6ZnVuY3Rpb24oZWxlbSxtYXRjaCl7dmFyIG5hbWU9 bWF0Y2hbMV0scmVzdWx0PUV4cHIuYXR0ckhhbmRsZVtuYW1lXT9FeHByLmF0dHJI YW5kbGVbbmFtZV0oZWxlbSk6ZWxlbVtuYW1lXSE9bnVsbD9lbGVtW25hbWVdOmVs ZW0uZ2V0QXR0cmlidXRlKG5hbWUpLHZhbHVlPXJlc3VsdCsiIix0eXBlPW1hdGNo WzJdLGNoZWNrPW1hdGNoWzRdO3JldHVybiByZXN1bHQ9PW51bGw/dHlwZT09PSIh PSI6dHlwZT09PSI9Ij92YWx1ZT09PWNoZWNrOnR5cGU9PT0iKj0iP3ZhbHVlLmlu ZGV4T2YoY2hlY2spPj0wOnR5cGU9PT0ifj0iPygiICIrdmFsdWUrIiAiKS5pbmRl eE9mKGNoZWNrKT49MDohY2hlY2s/dmFsdWUmJnJlc3VsdCE9PWZhbHNlOnR5cGU9 PT0iIT0iP3ZhbHVlIT1jaGVjazp0eXBlPT09Il49Ij92YWx1ZS5pbmRleE9mKGNo ZWNrKT09PTA6dHlwZT09PSIkPSI/dmFsdWUuc3Vic3RyKHZhbHVlLmxlbmd0aC1j aGVjay5sZW5ndGgpPT09Y2hlY2s6dHlwZT09PSJ8PSI/dmFsdWU9PT1jaGVja3x8 dmFsdWUuc3Vic3RyKDAsY2hlY2subGVuZ3RoKzEpPT09Y2hlY2srIi0iOmZhbHNl O30sUE9TOmZ1bmN0aW9uKGVsZW0sbWF0Y2gsaSxhcnJheSl7dmFyIG5hbWU9bWF0 Y2hbMl0sZmlsdGVyPUV4cHIuc2V0RmlsdGVyc1tuYW1lXTtpZihmaWx0ZXIpe3Jl dHVybiBmaWx0ZXIoZWxlbSxpLG1hdGNoLGFycmF5KTt9fX19O3ZhciBvcmlnUE9T PUV4cHIubWF0Y2guUE9TO2Zvcih2YXIgdHlwZSBpbiBFeHByLm1hdGNoKXtFeHBy Lm1hdGNoW3R5cGVdPW5ldyBSZWdFeHAoRXhwci5tYXRjaFt0eXBlXS5zb3VyY2Ur Lyg/IVteXFtdKlxdKSg/IVteXChdKlwpKS8uc291cmNlKTtFeHByLmxlZnRNYXRj aFt0eXBlXT1uZXcgUmVnRXhwKC8oXig/Oi58XHJ8XG4pKj8pLy5zb3VyY2UrRXhw ci5tYXRjaFt0eXBlXS5zb3VyY2UpO30KdmFyIG1ha2VBcnJheT1mdW5jdGlvbihh cnJheSxyZXN1bHRzKXthcnJheT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChh cnJheSwwKTtpZihyZXN1bHRzKXtyZXN1bHRzLnB1c2guYXBwbHkocmVzdWx0cyxh cnJheSk7cmV0dXJuIHJlc3VsdHM7fQpyZXR1cm4gYXJyYXk7fTt0cnl7QXJyYXku cHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNo aWxkTm9kZXMsMCk7fWNhdGNoKGUpe21ha2VBcnJheT1mdW5jdGlvbihhcnJheSxy ZXN1bHRzKXt2YXIgcmV0PXJlc3VsdHN8fFtdO2lmKHRvU3RyaW5nLmNhbGwoYXJy YXkpPT09IltvYmplY3QgQXJyYXldIil7QXJyYXkucHJvdG90eXBlLnB1c2guYXBw bHkocmV0LGFycmF5KTt9ZWxzZXtpZih0eXBlb2YgYXJyYXkubGVuZ3RoPT09Im51 bWJlciIpe2Zvcih2YXIgaT0wLGw9YXJyYXkubGVuZ3RoO2k8bDtpKyspe3JldC5w dXNoKGFycmF5W2ldKTt9fWVsc2V7Zm9yKHZhciBpPTA7YXJyYXlbaV07aSsrKXty ZXQucHVzaChhcnJheVtpXSk7fX19CnJldHVybiByZXQ7fTt9CnZhciBzb3J0T3Jk ZXI7aWYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNvbXBhcmVEb2N1bWVudFBv c2l0aW9uKXtzb3J0T3JkZXI9ZnVuY3Rpb24oYSxiKXtpZighYS5jb21wYXJlRG9j dW1lbnRQb3NpdGlvbnx8IWIuY29tcGFyZURvY3VtZW50UG9zaXRpb24pe2lmKGE9 PWIpe2hhc0R1cGxpY2F0ZT10cnVlO30KcmV0dXJuIDA7fQp2YXIgcmV0PWEuY29t cGFyZURvY3VtZW50UG9zaXRpb24oYikmND8tMTphPT09Yj8wOjE7aWYocmV0PT09 MCl7aGFzRHVwbGljYXRlPXRydWU7fQpyZXR1cm4gcmV0O307fWVsc2UgaWYoInNv dXJjZUluZGV4ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl7c29ydE9yZGVy PWZ1bmN0aW9uKGEsYil7aWYoIWEuc291cmNlSW5kZXh8fCFiLnNvdXJjZUluZGV4

KXtpZihhPT1iKXtoYXNEdXBsaWNhdGU9dHJ1ZTt9CnJldHVybiAwO30KdmFyIHJl dD1hLnNvdXJjZUluZGV4LWIuc291cmNlSW5kZXg7aWYocmV0PT09MCl7aGFzRHVw bGljYXRlPXRydWU7fQpyZXR1cm4gcmV0O307fWVsc2UgaWYoZG9jdW1lbnQuY3Jl YXRlUmFuZ2Upe3NvcnRPcmRlcj1mdW5jdGlvbihhLGIpe2lmKCFhLm93bmVyRG9j dW1lbnR8fCFiLm93bmVyRG9jdW1lbnQpe2lmKGE9PWIpe2hhc0R1cGxpY2F0ZT10 cnVlO30KcmV0dXJuIDA7fQp2YXIgYVJhbmdlPWEub3duZXJEb2N1bWVudC5jcmVh dGVSYW5nZSgpLGJSYW5nZT1iLm93bmVyRG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTth UmFuZ2Uuc2V0U3RhcnQoYSwwKTthUmFuZ2Uuc2V0RW5kKGEsMCk7YlJhbmdlLnNl dFN0YXJ0KGIsMCk7YlJhbmdlLnNldEVuZChiLDApO3ZhciByZXQ9YVJhbmdlLmNv bXBhcmVCb3VuZGFyeVBvaW50cyhSYW5nZS5TVEFSVF9UT19FTkQsYlJhbmdlKTtp ZihyZXQ9PT0wKXtoYXNEdXBsaWNhdGU9dHJ1ZTt9CnJldHVybiByZXQ7fTt9Cihm dW5jdGlvbigpe3ZhciBmb3JtPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp LGlkPSJzY3JpcHQiKyhuZXcgRGF0ZSkuZ2V0VGltZSgpO2Zvcm0uaW5uZXJIVE1M PSI8YSBuYW1lPSciK2lkKyInLz4iO3ZhciByb290PWRvY3VtZW50LmRvY3VtZW50 RWxlbWVudDtyb290Lmluc2VydEJlZm9yZShmb3JtLHJvb3QuZmlyc3RDaGlsZCk7 aWYoISFkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCkpe0V4cHIuZmluZC5JRD1m dW5jdGlvbihtYXRjaCxjb250ZXh0LGlzWE1MKXtpZih0eXBlb2YgY29udGV4dC5n ZXRFbGVtZW50QnlJZCE9PSJ1bmRlZmluZWQiJiYhaXNYTUwpe3ZhciBtPWNvbnRl eHQuZ2V0RWxlbWVudEJ5SWQobWF0Y2hbMV0pO3JldHVybiBtP20uaWQ9PT1tYXRj aFsxXXx8dHlwZW9mIG0uZ2V0QXR0cmlidXRlTm9kZSE9PSJ1bmRlZmluZWQiJiZt LmdldEF0dHJpYnV0ZU5vZGUoImlkIikubm9kZVZhbHVlPT09bWF0Y2hbMV0/W21d OnVuZGVmaW5lZDpbXTt9fTtFeHByLmZpbHRlci5JRD1mdW5jdGlvbihlbGVtLG1h dGNoKXt2YXIgbm9kZT10eXBlb2YgZWxlbS5nZXRBdHRyaWJ1dGVOb2RlIT09InVu ZGVmaW5lZCImJmVsZW0uZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTtyZXR1cm4gZWxl bS5ub2RlVHlwZT09PTEmJm5vZGUmJm5vZGUubm9kZVZhbHVlPT09bWF0Y2g7fTt9 CnJvb3QucmVtb3ZlQ2hpbGQoZm9ybSk7cm9vdD1mb3JtPW51bGw7fSkoKTsoZnVu Y3Rpb24oKXt2YXIgZGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2Rp di5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVDb21tZW50KCIiKSk7aWYoZGl2 LmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikubGVuZ3RoPjApe0V4cHIuZmluZC5U QUc9ZnVuY3Rpb24obWF0Y2gsY29udGV4dCl7dmFyIHJlc3VsdHM9Y29udGV4dC5n ZXRFbGVtZW50c0J5VGFnTmFtZShtYXRjaFsxXSk7aWYobWF0Y2hbMV09PT0iKiIp e3ZhciB0bXA9W107Zm9yKHZhciBpPTA7cmVzdWx0c1tpXTtpKyspe2lmKHJlc3Vs dHNbaV0ubm9kZVR5cGU9PT0xKXt0bXAucHVzaChyZXN1bHRzW2ldKTt9fQpyZXN1 bHRzPXRtcDt9CnJldHVybiByZXN1bHRzO307fQpkaXYuaW5uZXJIVE1MPSI8YSBo cmVmPScjJz48L2E+IjtpZihkaXYuZmlyc3RDaGlsZCYmdHlwZW9mIGRpdi5maXJz dENoaWxkLmdldEF0dHJpYnV0ZSE9PSJ1bmRlZmluZWQiJiZkaXYuZmlyc3RDaGls ZC5nZXRBdHRyaWJ1dGUoImhyZWYiKSE9PSIjIil7RXhwci5hdHRySGFuZGxlLmhy ZWY9ZnVuY3Rpb24oZWxlbSl7cmV0dXJuIGVsZW0uZ2V0QXR0cmlidXRlKCJocmVm IiwyKTt9O30KZGl2PW51bGw7fSkoKTtpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9y QWxsKShmdW5jdGlvbigpe3ZhciBvbGRTaXp6bGU9U2l6emxlLGRpdj1kb2N1bWVu dC5jcmVhdGVFbGVtZW50KCJkaXYiKTtkaXYuaW5uZXJIVE1MPSI8cCBjbGFzcz0n VEVTVCc+PC9wPiI7aWYoZGl2LnF1ZXJ5U2VsZWN0b3JBbGwmJmRpdi5xdWVyeVNl bGVjdG9yQWxsKCIuVEVTVCIpLmxlbmd0aD09PTApe3JldHVybjt9ClNpenpsZT1m dW5jdGlvbihxdWVyeSxjb250ZXh0LGV4dHJhLHNlZWQpe2NvbnRleHQ9Y29udGV4 dHx8ZG9jdW1lbnQ7aWYoIXNlZWQmJmNvbnRleHQubm9kZVR5cGU9PT05JiYhaXNY TUwoY29udGV4dCkpe3RyeXtyZXR1cm4gbWFrZUFycmF5KGNvbnRleHQucXVlcnlT ZWxlY3RvckFsbChxdWVyeSksZXh0cmEpO31jYXRjaChlKXt9fQpyZXR1cm4gb2xk U2l6emxlKHF1ZXJ5LGNvbnRleHQsZXh0cmEsc2VlZCk7fTtmb3IodmFyIHByb3Ag aW4gb2xkU2l6emxlKXtTaXp6bGVbcHJvcF09b2xkU2l6emxlW3Byb3BdO30KZGl2 PW51bGw7fSkoKTtpZihkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZk b2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSko ZnVuY3Rpb24oKXt2YXIgZGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp O2Rpdi5pbm5lckhUTUw9IjxkaXYgY2xhc3M9J3Rlc3QgZSc+PC9kaXY+PGRpdiBj bGFzcz0ndGVzdCc+PC9kaXY+IjtpZihkaXYuZ2V0RWxlbWVudHNCeUNsYXNzTmFt ZSgiZSIpLmxlbmd0aD09PTApCnJldHVybjtkaXYubGFzdENoaWxkLmNsYXNzTmFt ZT0iZSI7aWYoZGl2LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImUiKS5sZW5ndGg9 PT0xKQpyZXR1cm47RXhwci5vcmRlci5zcGxpY2UoMSwwLCJDTEFTUyIpO0V4cHIu ZmluZC5DTEFTUz1mdW5jdGlvbihtYXRjaCxjb250ZXh0LGlzWE1MKXtpZih0eXBl b2YgY29udGV4dC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lIT09InVuZGVmaW5lZCIm JiFpc1hNTCl7cmV0dXJuIGNvbnRleHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSht

YXRjaFsxXSk7fX07ZGl2PW51bGw7fSkoKTtmdW5jdGlvbiBkaXJOb2RlQ2hlY2so ZGlyLGN1cixkb25lTmFtZSxjaGVja1NldCxub2RlQ2hlY2ssaXNYTUwpe3ZhciBz aWJEaXI9ZGlyPT0icHJldmlvdXNTaWJsaW5nIiYmIWlzWE1MO2Zvcih2YXIgaT0w LGw9Y2hlY2tTZXQubGVuZ3RoO2k8bDtpKyspe3ZhciBlbGVtPWNoZWNrU2V0W2ld O2lmKGVsZW0pe2lmKHNpYkRpciYmZWxlbS5ub2RlVHlwZT09PTEpe2VsZW0uc2l6 Y2FjaGU9ZG9uZU5hbWU7ZWxlbS5zaXpzZXQ9aTt9CmVsZW09ZWxlbVtkaXJdO3Zh ciBtYXRjaD1mYWxzZTt3aGlsZShlbGVtKXtpZihlbGVtLnNpemNhY2hlPT09ZG9u ZU5hbWUpe21hdGNoPWNoZWNrU2V0W2VsZW0uc2l6c2V0XTticmVhazt9CmlmKGVs ZW0ubm9kZVR5cGU9PT0xJiYhaXNYTUwpe2VsZW0uc2l6Y2FjaGU9ZG9uZU5hbWU7 ZWxlbS5zaXpzZXQ9aTt9CmlmKGVsZW0ubm9kZU5hbWU9PT1jdXIpe21hdGNoPWVs ZW07YnJlYWs7fQplbGVtPWVsZW1bZGlyXTt9CmNoZWNrU2V0W2ldPW1hdGNoO319 fQpmdW5jdGlvbiBkaXJDaGVjayhkaXIsY3VyLGRvbmVOYW1lLGNoZWNrU2V0LG5v ZGVDaGVjayxpc1hNTCl7dmFyIHNpYkRpcj1kaXI9PSJwcmV2aW91c1NpYmxpbmci JiYhaXNYTUw7Zm9yKHZhciBpPTAsbD1jaGVja1NldC5sZW5ndGg7aTxsO2krKyl7 dmFyIGVsZW09Y2hlY2tTZXRbaV07aWYoZWxlbSl7aWYoc2liRGlyJiZlbGVtLm5v ZGVUeXBlPT09MSl7ZWxlbS5zaXpjYWNoZT1kb25lTmFtZTtlbGVtLnNpenNldD1p O30KZWxlbT1lbGVtW2Rpcl07dmFyIG1hdGNoPWZhbHNlO3doaWxlKGVsZW0pe2lm KGVsZW0uc2l6Y2FjaGU9PT1kb25lTmFtZSl7bWF0Y2g9Y2hlY2tTZXRbZWxlbS5z aXpzZXRdO2JyZWFrO30KaWYoZWxlbS5ub2RlVHlwZT09PTEpe2lmKCFpc1hNTCl7 ZWxlbS5zaXpjYWNoZT1kb25lTmFtZTtlbGVtLnNpenNldD1pO30KaWYodHlwZW9m IGN1ciE9PSJzdHJpbmciKXtpZihlbGVtPT09Y3VyKXttYXRjaD10cnVlO2JyZWFr O319ZWxzZSBpZihTaXp6bGUuZmlsdGVyKGN1cixbZWxlbV0pLmxlbmd0aD4wKXtt YXRjaD1lbGVtO2JyZWFrO319CmVsZW09ZWxlbVtkaXJdO30KY2hlY2tTZXRbaV09 bWF0Y2g7fX19CnZhciBjb250YWlucz1kb2N1bWVudC5jb21wYXJlRG9jdW1lbnRQ b3NpdGlvbj9mdW5jdGlvbihhLGIpe3JldHVybiBhLmNvbXBhcmVEb2N1bWVudFBv c2l0aW9uKGIpJjE2O306ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYSE9PWImJihhLmNv bnRhaW5zP2EuY29udGFpbnMoYik6dHJ1ZSk7fTt2YXIgaXNYTUw9ZnVuY3Rpb24o ZWxlbSl7cmV0dXJuIGVsZW0ubm9kZVR5cGU9PT05JiZlbGVtLmRvY3VtZW50RWxl bWVudC5ub2RlTmFtZSE9PSJIVE1MInx8ISFlbGVtLm93bmVyRG9jdW1lbnQmJmVs ZW0ub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubm9kZU5hbWUhPT0iSFRN TCI7fTt2YXIgcG9zUHJvY2Vzcz1mdW5jdGlvbihzZWxlY3Rvcixjb250ZXh0KXt2 YXIgdG1wU2V0PVtdLGxhdGVyPSIiLG1hdGNoLHJvb3Q9Y29udGV4dC5ub2RlVHlw ZT9bY29udGV4dF06Y29udGV4dDt3aGlsZSgobWF0Y2g9RXhwci5tYXRjaC5QU0VV RE8uZXhlYyhzZWxlY3RvcikpKXtsYXRlcis9bWF0Y2hbMF07c2VsZWN0b3I9c2Vs ZWN0b3IucmVwbGFjZShFeHByLm1hdGNoLlBTRVVETywiIik7fQpzZWxlY3Rvcj1F eHByLnJlbGF0aXZlW3NlbGVjdG9yXT9zZWxlY3RvcisiKiI6c2VsZWN0b3I7Zm9y KHZhciBpPTAsbD1yb290Lmxlbmd0aDtpPGw7aSsrKXtTaXp6bGUoc2VsZWN0b3Is cm9vdFtpXSx0bXBTZXQpO30KcmV0dXJuIFNpenpsZS5maWx0ZXIobGF0ZXIsdG1w U2V0KTt9O3dpbmRvdy5TaXp6bGU9U2l6emxlO30pKCk7OyhmdW5jdGlvbihlbmdp bmUpe3ZhciBleHRlbmRFbGVtZW50cz1Qcm90b3R5cGUuU2VsZWN0b3IuZXh0ZW5k RWxlbWVudHM7ZnVuY3Rpb24gc2VsZWN0KHNlbGVjdG9yLHNjb3BlKXtyZXR1cm4g ZXh0ZW5kRWxlbWVudHMoZW5naW5lKHNlbGVjdG9yLHNjb3BlfHxkb2N1bWVudCkp O30KZnVuY3Rpb24gbWF0Y2goZWxlbWVudCxzZWxlY3Rvcil7cmV0dXJuIGVuZ2lu ZS5tYXRjaGVzKHNlbGVjdG9yLFtlbGVtZW50XSkubGVuZ3RoPT0xO30KUHJvdG90 eXBlLlNlbGVjdG9yLmVuZ2luZT1lbmdpbmU7UHJvdG90eXBlLlNlbGVjdG9yLnNl bGVjdD1zZWxlY3Q7UHJvdG90eXBlLlNlbGVjdG9yLm1hdGNoPW1hdGNoO30pKFNp enpsZSk7d2luZG93LlNpenpsZT1Qcm90b3R5cGUuX29yaWdpbmFsX3Byb3BlcnR5 O2RlbGV0ZSBQcm90b3R5cGUuX29yaWdpbmFsX3Byb3BlcnR5O3ZhciBGb3JtPXty ZXNldDpmdW5jdGlvbihmb3JtKXtmb3JtPSQoZm9ybSk7Zm9ybS5yZXNldCgpO3Jl dHVybiBmb3JtO30sc2VyaWFsaXplRWxlbWVudHM6ZnVuY3Rpb24oZWxlbWVudHMs b3B0aW9ucyl7aWYodHlwZW9mIG9wdGlvbnMhPSdvYmplY3QnKW9wdGlvbnM9e2hh c2g6ISFvcHRpb25zfTtlbHNlIGlmKE9iamVjdC5pc1VuZGVmaW5lZChvcHRpb25z Lmhhc2gpKW9wdGlvbnMuaGFzaD10cnVlO3ZhciBrZXksdmFsdWUsc3VibWl0dGVk PWZhbHNlLHN1Ym1pdD1vcHRpb25zLnN1Ym1pdCxhY2N1bXVsYXRvcixpbml0aWFs O2lmKG9wdGlvbnMuaGFzaCl7aW5pdGlhbD17fTthY2N1bXVsYXRvcj1mdW5jdGlv bihyZXN1bHQsa2V5LHZhbHVlKXtpZihrZXkgaW4gcmVzdWx0KXtpZighT2JqZWN0 LmlzQXJyYXkocmVzdWx0W2tleV0pKXJlc3VsdFtrZXldPVtyZXN1bHRba2V5XV07 cmVzdWx0W2tleV0ucHVzaCh2YWx1ZSk7fWVsc2UgcmVzdWx0W2tleV09dmFsdWU7 cmV0dXJuIHJlc3VsdDt9O31lbHNle2luaXRpYWw9Jyc7YWNjdW11bGF0b3I9ZnVu Y3Rpb24ocmVzdWx0LGtleSx2YWx1ZSl7cmV0dXJuIHJlc3VsdCsocmVzdWx0Pycm

JzonJykrZW5jb2RlVVJJQ29tcG9uZW50KGtleSkrJz0nK2VuY29kZVVSSUNvbXBv bmVudCh2YWx1ZSk7fX0KcmV0dXJuIGVsZW1lbnRzLmluamVjdChpbml0aWFsLGZ1 bmN0aW9uKHJlc3VsdCxlbGVtZW50KXtpZighZWxlbWVudC5kaXNhYmxlZCYmZWxl bWVudC5uYW1lKXtrZXk9ZWxlbWVudC5uYW1lO3ZhbHVlPSQoZWxlbWVudCkuZ2V0 VmFsdWUoKTtpZih2YWx1ZSE9bnVsbCYmZWxlbWVudC50eXBlIT0nZmlsZScmJihl bGVtZW50LnR5cGUhPSdzdWJtaXQnfHwoIXN1Ym1pdHRlZCYmc3VibWl0IT09ZmFs c2UmJighc3VibWl0fHxrZXk9PXN1Ym1pdCkmJihzdWJtaXR0ZWQ9dHJ1ZSkpKSl7 cmVzdWx0PWFjY3VtdWxhdG9yKHJlc3VsdCxrZXksdmFsdWUpO319CnJldHVybiBy ZXN1bHQ7fSk7fX07Rm9ybS5NZXRob2RzPXtzZXJpYWxpemU6ZnVuY3Rpb24oZm9y bSxvcHRpb25zKXtyZXR1cm4gRm9ybS5zZXJpYWxpemVFbGVtZW50cyhGb3JtLmdl dEVsZW1lbnRzKGZvcm0pLG9wdGlvbnMpO30sZ2V0RWxlbWVudHM6ZnVuY3Rpb24o Zm9ybSl7dmFyIGVsZW1lbnRzPSQoZm9ybSkuZ2V0RWxlbWVudHNCeVRhZ05hbWUo JyonKSxlbGVtZW50LGFycj1bXSxzZXJpYWxpemVycz1Gb3JtLkVsZW1lbnQuU2Vy aWFsaXplcnM7Zm9yKHZhciBpPTA7ZWxlbWVudD1lbGVtZW50c1tpXTtpKyspe2Fy ci5wdXNoKGVsZW1lbnQpO30KcmV0dXJuIGFyci5pbmplY3QoW10sZnVuY3Rpb24o ZWxlbWVudHMsY2hpbGQpe2lmKHNlcmlhbGl6ZXJzW2NoaWxkLnRhZ05hbWUudG9M b3dlckNhc2UoKV0pCmVsZW1lbnRzLnB1c2goRWxlbWVudC5leHRlbmQoY2hpbGQp KTtyZXR1cm4gZWxlbWVudHM7fSl9LGdldElucHV0czpmdW5jdGlvbihmb3JtLHR5 cGVOYW1lLG5hbWUpe2Zvcm09JChmb3JtKTt2YXIgaW5wdXRzPWZvcm0uZ2V0RWxl bWVudHNCeVRhZ05hbWUoJ2lucHV0Jyk7aWYoIXR5cGVOYW1lJiYhbmFtZSlyZXR1 cm4gJEEoaW5wdXRzKS5tYXAoRWxlbWVudC5leHRlbmQpO2Zvcih2YXIgaT0wLG1h dGNoaW5nSW5wdXRzPVtdLGxlbmd0aD1pbnB1dHMubGVuZ3RoO2k8bGVuZ3RoO2kr Kyl7dmFyIGlucHV0PWlucHV0c1tpXTtpZigodHlwZU5hbWUmJmlucHV0LnR5cGUh PXR5cGVOYW1lKXx8KG5hbWUmJmlucHV0Lm5hbWUhPW5hbWUpKQpjb250aW51ZTtt YXRjaGluZ0lucHV0cy5wdXNoKEVsZW1lbnQuZXh0ZW5kKGlucHV0KSk7fQpyZXR1 cm4gbWF0Y2hpbmdJbnB1dHM7fSxkaXNhYmxlOmZ1bmN0aW9uKGZvcm0pe2Zvcm09 JChmb3JtKTtGb3JtLmdldEVsZW1lbnRzKGZvcm0pLmludm9rZSgnZGlzYWJsZScp O3JldHVybiBmb3JtO30sZW5hYmxlOmZ1bmN0aW9uKGZvcm0pe2Zvcm09JChmb3Jt KTtGb3JtLmdldEVsZW1lbnRzKGZvcm0pLmludm9rZSgnZW5hYmxlJyk7cmV0dXJu IGZvcm07fSxmaW5kRmlyc3RFbGVtZW50OmZ1bmN0aW9uKGZvcm0pe3ZhciBlbGVt ZW50cz0kKGZvcm0pLmdldEVsZW1lbnRzKCkuZmluZEFsbChmdW5jdGlvbihlbGVt ZW50KXtyZXR1cm4naGlkZGVuJyE9ZWxlbWVudC50eXBlJiYhZWxlbWVudC5kaXNh YmxlZDt9KTt2YXIgZmlyc3RCeUluZGV4PWVsZW1lbnRzLmZpbmRBbGwoZnVuY3Rp b24oZWxlbWVudCl7cmV0dXJuIGVsZW1lbnQuaGFzQXR0cmlidXRlKCd0YWJJbmRl eCcpJiZlbGVtZW50LnRhYkluZGV4Pj0wO30pLnNvcnRCeShmdW5jdGlvbihlbGVt ZW50KXtyZXR1cm4gZWxlbWVudC50YWJJbmRleH0pLmZpcnN0KCk7cmV0dXJuIGZp cnN0QnlJbmRleD9maXJzdEJ5SW5kZXg6ZWxlbWVudHMuZmluZChmdW5jdGlvbihl bGVtZW50KXtyZXR1cm4vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYSkkL2kudGVz dChlbGVtZW50LnRhZ05hbWUpO30pO30sZm9jdXNGaXJzdEVsZW1lbnQ6ZnVuY3Rp b24oZm9ybSl7Zm9ybT0kKGZvcm0pO3ZhciBlbGVtZW50PWZvcm0uZmluZEZpcnN0 RWxlbWVudCgpO2lmKGVsZW1lbnQpZWxlbWVudC5hY3RpdmF0ZSgpO3JldHVybiBm b3JtO30scmVxdWVzdDpmdW5jdGlvbihmb3JtLG9wdGlvbnMpe2Zvcm09JChmb3Jt KSxvcHRpb25zPU9iamVjdC5jbG9uZShvcHRpb25zfHx7fSk7dmFyIHBhcmFtcz1v cHRpb25zLnBhcmFtZXRlcnMsYWN0aW9uPWZvcm0ucmVhZEF0dHJpYnV0ZSgnYWN0 aW9uJyl8fCcnO2lmKGFjdGlvbi5ibGFuaygpKWFjdGlvbj13aW5kb3cubG9jYXRp b24uaHJlZjtvcHRpb25zLnBhcmFtZXRlcnM9Zm9ybS5zZXJpYWxpemUodHJ1ZSk7 aWYocGFyYW1zKXtpZihPYmplY3QuaXNTdHJpbmcocGFyYW1zKSlwYXJhbXM9cGFy YW1zLnRvUXVlcnlQYXJhbXMoKTtPYmplY3QuZXh0ZW5kKG9wdGlvbnMucGFyYW1l dGVycyxwYXJhbXMpO30KaWYoZm9ybS5oYXNBdHRyaWJ1dGUoJ21ldGhvZCcpJiYh b3B0aW9ucy5tZXRob2QpCm9wdGlvbnMubWV0aG9kPWZvcm0ubWV0aG9kO3JldHVy biBuZXcgQWpheC5SZXF1ZXN0KGFjdGlvbixvcHRpb25zKTt9fTtGb3JtLkVsZW1l bnQ9e2ZvY3VzOmZ1bmN0aW9uKGVsZW1lbnQpeyQoZWxlbWVudCkuZm9jdXMoKTty ZXR1cm4gZWxlbWVudDt9LHNlbGVjdDpmdW5jdGlvbihlbGVtZW50KXskKGVsZW1l bnQpLnNlbGVjdCgpO3JldHVybiBlbGVtZW50O319O0Zvcm0uRWxlbWVudC5NZXRo b2RzPXtzZXJpYWxpemU6ZnVuY3Rpb24oZWxlbWVudCl7ZWxlbWVudD0kKGVsZW1l bnQpO2lmKCFlbGVtZW50LmRpc2FibGVkJiZlbGVtZW50Lm5hbWUpe3ZhciB2YWx1 ZT1lbGVtZW50LmdldFZhbHVlKCk7aWYodmFsdWUhPXVuZGVmaW5lZCl7dmFyIHBh aXI9e307cGFpcltlbGVtZW50Lm5hbWVdPXZhbHVlO3JldHVybiBPYmplY3QudG9R dWVyeVN0cmluZyhwYWlyKTt9fQpyZXR1cm4nJzt9LGdldFZhbHVlOmZ1bmN0aW9u KGVsZW1lbnQpe2VsZW1lbnQ9JChlbGVtZW50KTt2YXIgbWV0aG9kPWVsZW1lbnQu

dGFnTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiBGb3JtLkVsZW1lbnQuU2VyaWFs aXplcnNbbWV0aG9kXShlbGVtZW50KTt9LHNldFZhbHVlOmZ1bmN0aW9uKGVsZW1l bnQsdmFsdWUpe2VsZW1lbnQ9JChlbGVtZW50KTt2YXIgbWV0aG9kPWVsZW1lbnQu dGFnTmFtZS50b0xvd2VyQ2FzZSgpO0Zvcm0uRWxlbWVudC5TZXJpYWxpemVyc1tt ZXRob2RdKGVsZW1lbnQsdmFsdWUpO3JldHVybiBlbGVtZW50O30sY2xlYXI6ZnVu Y3Rpb24oZWxlbWVudCl7JChlbGVtZW50KS52YWx1ZT0nJztyZXR1cm4gZWxlbWVu dDt9LHByZXNlbnQ6ZnVuY3Rpb24oZWxlbWVudCl7cmV0dXJuICQoZWxlbWVudCku dmFsdWUhPScnO30sYWN0aXZhdGU6ZnVuY3Rpb24oZWxlbWVudCl7ZWxlbWVudD0k KGVsZW1lbnQpO3RyeXtlbGVtZW50LmZvY3VzKCk7aWYoZWxlbWVudC5zZWxlY3Qm JihlbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSE9J2lucHV0J3x8ISgvXig/ OmJ1dHRvbnxyZXNldHxzdWJtaXQpJC9pLnRlc3QoZWxlbWVudC50eXBlKSkpKQpl bGVtZW50LnNlbGVjdCgpO31jYXRjaChlKXt9CnJldHVybiBlbGVtZW50O30sZGlz YWJsZTpmdW5jdGlvbihlbGVtZW50KXtlbGVtZW50PSQoZWxlbWVudCk7ZWxlbWVu dC5kaXNhYmxlZD10cnVlO3JldHVybiBlbGVtZW50O30sZW5hYmxlOmZ1bmN0aW9u KGVsZW1lbnQpe2VsZW1lbnQ9JChlbGVtZW50KTtlbGVtZW50LmRpc2FibGVkPWZh bHNlO3JldHVybiBlbGVtZW50O319O3ZhciBGaWVsZD1Gb3JtLkVsZW1lbnQ7dmFy ICRGPUZvcm0uRWxlbWVudC5NZXRob2RzLmdldFZhbHVlO0Zvcm0uRWxlbWVudC5T ZXJpYWxpemVycz0oZnVuY3Rpb24oKXtmdW5jdGlvbiBpbnB1dChlbGVtZW50LHZh bHVlKXtzd2l0Y2goZWxlbWVudC50eXBlLnRvTG93ZXJDYXNlKCkpe2Nhc2UnY2hl Y2tib3gnOmNhc2UncmFkaW8nOnJldHVybiBpbnB1dFNlbGVjdG9yKGVsZW1lbnQs dmFsdWUpO2RlZmF1bHQ6cmV0dXJuIHZhbHVlU2VsZWN0b3IoZWxlbWVudCx2YWx1 ZSk7fX0KZnVuY3Rpb24gaW5wdXRTZWxlY3RvcihlbGVtZW50LHZhbHVlKXtpZihP YmplY3QuaXNVbmRlZmluZWQodmFsdWUpKQpyZXR1cm4gZWxlbWVudC5jaGVja2Vk P2VsZW1lbnQudmFsdWU6bnVsbDtlbHNlIGVsZW1lbnQuY2hlY2tlZD0hIXZhbHVl O30KZnVuY3Rpb24gdmFsdWVTZWxlY3RvcihlbGVtZW50LHZhbHVlKXtpZihPYmpl Y3QuaXNVbmRlZmluZWQodmFsdWUpKXJldHVybiBlbGVtZW50LnZhbHVlO2Vsc2Ug ZWxlbWVudC52YWx1ZT12YWx1ZTt9CmZ1bmN0aW9uIHNlbGVjdChlbGVtZW50LHZh bHVlKXtpZihPYmplY3QuaXNVbmRlZmluZWQodmFsdWUpKQpyZXR1cm4oZWxlbWVu dC50eXBlPT09J3NlbGVjdC1vbmUnP3NlbGVjdE9uZTpzZWxlY3RNYW55KShlbGVt ZW50KTt2YXIgb3B0LGN1cnJlbnRWYWx1ZSxzaW5nbGU9IU9iamVjdC5pc0FycmF5 KHZhbHVlKTtmb3IodmFyIGk9MCxsZW5ndGg9ZWxlbWVudC5sZW5ndGg7aTxsZW5n dGg7aSsrKXtvcHQ9ZWxlbWVudC5vcHRpb25zW2ldO2N1cnJlbnRWYWx1ZT10aGlz Lm9wdGlvblZhbHVlKG9wdCk7aWYoc2luZ2xlKXtpZihjdXJyZW50VmFsdWU9PXZh bHVlKXtvcHQuc2VsZWN0ZWQ9dHJ1ZTtyZXR1cm47fX0KZWxzZSBvcHQuc2VsZWN0 ZWQ9dmFsdWUuaW5jbHVkZShjdXJyZW50VmFsdWUpO319CmZ1bmN0aW9uIHNlbGVj dE9uZShlbGVtZW50KXt2YXIgaW5kZXg9ZWxlbWVudC5zZWxlY3RlZEluZGV4O3Jl dHVybiBpbmRleD49MD9vcHRpb25WYWx1ZShlbGVtZW50Lm9wdGlvbnNbaW5kZXhd KTpudWxsO30KZnVuY3Rpb24gc2VsZWN0TWFueShlbGVtZW50KXt2YXIgdmFsdWVz LGxlbmd0aD1lbGVtZW50Lmxlbmd0aDtpZighbGVuZ3RoKXJldHVybiBudWxsO2Zv cih2YXIgaT0wLHZhbHVlcz1bXTtpPGxlbmd0aDtpKyspe3ZhciBvcHQ9ZWxlbWVu dC5vcHRpb25zW2ldO2lmKG9wdC5zZWxlY3RlZCl2YWx1ZXMucHVzaChvcHRpb25W YWx1ZShvcHQpKTt9CnJldHVybiB2YWx1ZXM7fQpmdW5jdGlvbiBvcHRpb25WYWx1 ZShvcHQpe3JldHVybiBFbGVtZW50Lmhhc0F0dHJpYnV0ZShvcHQsJ3ZhbHVlJyk/ b3B0LnZhbHVlOm9wdC50ZXh0O30KcmV0dXJue2lucHV0OmlucHV0LGlucHV0U2Vs ZWN0b3I6aW5wdXRTZWxlY3Rvcix0ZXh0YXJlYTp2YWx1ZVNlbGVjdG9yLHNlbGVj dDpzZWxlY3Qsc2VsZWN0T25lOnNlbGVjdE9uZSxzZWxlY3RNYW55OnNlbGVjdE1h bnksb3B0aW9uVmFsdWU6b3B0aW9uVmFsdWUsYnV0dG9uOnZhbHVlU2VsZWN0b3J9 O30pKCk7QWJzdHJhY3QuVGltZWRPYnNlcnZlcj1DbGFzcy5jcmVhdGUoUGVyaW9k aWNhbEV4ZWN1dGVyLHtpbml0aWFsaXplOmZ1bmN0aW9uKCRzdXBlcixlbGVtZW50 LGZyZXF1ZW5jeSxjYWxsYmFjayl7JHN1cGVyKGNhbGxiYWNrLGZyZXF1ZW5jeSk7 dGhpcy5lbGVtZW50PSQoZWxlbWVudCk7dGhpcy5sYXN0VmFsdWU9dGhpcy5nZXRW YWx1ZSgpO30sZXhlY3V0ZTpmdW5jdGlvbigpe3ZhciB2YWx1ZT10aGlzLmdldFZh bHVlKCk7aWYoT2JqZWN0LmlzU3RyaW5nKHRoaXMubGFzdFZhbHVlKSYmT2JqZWN0 LmlzU3RyaW5nKHZhbHVlKT90aGlzLmxhc3RWYWx1ZSE9dmFsdWU6U3RyaW5nKHRo aXMubGFzdFZhbHVlKSE9U3RyaW5nKHZhbHVlKSl7dGhpcy5jYWxsYmFjayh0aGlz LmVsZW1lbnQsdmFsdWUpO3RoaXMubGFzdFZhbHVlPXZhbHVlO319fSk7Rm9ybS5F bGVtZW50Lk9ic2VydmVyPUNsYXNzLmNyZWF0ZShBYnN0cmFjdC5UaW1lZE9ic2Vy dmVyLHtnZXRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiBGb3JtLkVsZW1lbnQuZ2V0 VmFsdWUodGhpcy5lbGVtZW50KTt9fSk7Rm9ybS5PYnNlcnZlcj1DbGFzcy5jcmVh dGUoQWJzdHJhY3QuVGltZWRPYnNlcnZlcix7Z2V0VmFsdWU6ZnVuY3Rpb24oKXty

ZXR1cm4gRm9ybS5zZXJpYWxpemUodGhpcy5lbGVtZW50KTt9fSk7QWJzdHJhY3Qu RXZlbnRPYnNlcnZlcj1DbGFzcy5jcmVhdGUoe2luaXRpYWxpemU6ZnVuY3Rpb24o ZWxlbWVudCxjYWxsYmFjayl7dGhpcy5lbGVtZW50PSQoZWxlbWVudCk7dGhpcy5j YWxsYmFjaz1jYWxsYmFjazt0aGlzLmxhc3RWYWx1ZT10aGlzLmdldFZhbHVlKCk7 aWYodGhpcy5lbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKT09J2Zvcm0nKQp0 aGlzLnJlZ2lzdGVyRm9ybUNhbGxiYWNrcygpO2Vsc2UKdGhpcy5yZWdpc3RlckNh bGxiYWNrKHRoaXMuZWxlbWVudCk7fSxvbkVsZW1lbnRFdmVudDpmdW5jdGlvbigp e3ZhciB2YWx1ZT10aGlzLmdldFZhbHVlKCk7aWYodGhpcy5sYXN0VmFsdWUhPXZh bHVlKXt0aGlzLmNhbGxiYWNrKHRoaXMuZWxlbWVudCx2YWx1ZSk7dGhpcy5sYXN0 VmFsdWU9dmFsdWU7fX0scmVnaXN0ZXJGb3JtQ2FsbGJhY2tzOmZ1bmN0aW9uKCl7 Rm9ybS5nZXRFbGVtZW50cyh0aGlzLmVsZW1lbnQpLmVhY2godGhpcy5yZWdpc3Rl ckNhbGxiYWNrLHRoaXMpO30scmVnaXN0ZXJDYWxsYmFjazpmdW5jdGlvbihlbGVt ZW50KXtpZihlbGVtZW50LnR5cGUpe3N3aXRjaChlbGVtZW50LnR5cGUudG9Mb3dl ckNhc2UoKSl7Y2FzZSdjaGVja2JveCc6Y2FzZSdyYWRpbyc6RXZlbnQub2JzZXJ2 ZShlbGVtZW50LCdjbGljaycsdGhpcy5vbkVsZW1lbnRFdmVudC5iaW5kKHRoaXMp KTticmVhaztkZWZhdWx0OkV2ZW50Lm9ic2VydmUoZWxlbWVudCwnY2hhbmdlJyx0 aGlzLm9uRWxlbWVudEV2ZW50LmJpbmQodGhpcykpO2JyZWFrO319fX0pO0Zvcm0u RWxlbWVudC5FdmVudE9ic2VydmVyPUNsYXNzLmNyZWF0ZShBYnN0cmFjdC5FdmVu dE9ic2VydmVyLHtnZXRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiBGb3JtLkVsZW1l bnQuZ2V0VmFsdWUodGhpcy5lbGVtZW50KTt9fSk7Rm9ybS5FdmVudE9ic2VydmVy PUNsYXNzLmNyZWF0ZShBYnN0cmFjdC5FdmVudE9ic2VydmVyLHtnZXRWYWx1ZTpm dW5jdGlvbigpe3JldHVybiBGb3JtLnNlcmlhbGl6ZSh0aGlzLmVsZW1lbnQpO319 KTsoZnVuY3Rpb24oKXt2YXIgRXZlbnQ9e0tFWV9CQUNLU1BBQ0U6OCxLRVlfVEFC OjksS0VZX1JFVFVSTjoxMyxLRVlfRVNDOjI3LEtFWV9MRUZUOjM3LEtFWV9VUDoz OCxLRVlfUklHSFQ6MzksS0VZX0RPV046NDAsS0VZX0RFTEVURTo0NixLRVlfSE9N RTozNixLRVlfRU5EOjM1LEtFWV9QQUdFVVA6MzMsS0VZX1BBR0VET1dOOjM0LEtF WV9JTlNFUlQ6NDUsY2FjaGU6e319O3ZhciBkb2NFbD1kb2N1bWVudC5kb2N1bWVu dEVsZW1lbnQ7dmFyIE1PVVNFRU5URVJfTU9VU0VMRUFWRV9FVkVOVFNfU1VQUE9S VEVEPSdvbm1vdXNlZW50ZXInaW4gZG9jRWwmJidvbm1vdXNlbGVhdmUnaW4gZG9j RWw7dmFyIGlzSUVMZWdhY3lFdmVudD1mdW5jdGlvbihldmVudCl7cmV0dXJuIGZh bHNlO307aWYod2luZG93LmF0dGFjaEV2ZW50KXtpZih3aW5kb3cuYWRkRXZlbnRM aXN0ZW5lcil7aXNJRUxlZ2FjeUV2ZW50PWZ1bmN0aW9uKGV2ZW50KXtyZXR1cm4h KGV2ZW50IGluc3RhbmNlb2Ygd2luZG93LkV2ZW50KTt9O31lbHNle2lzSUVMZWdh Y3lFdmVudD1mdW5jdGlvbihldmVudCl7cmV0dXJuIHRydWU7fTt9fQp2YXIgX2lz QnV0dG9uO2Z1bmN0aW9uIF9pc0J1dHRvbkZvckRPTUV2ZW50cyhldmVudCxjb2Rl KXtyZXR1cm4gZXZlbnQud2hpY2g/KGV2ZW50LndoaWNoPT09Y29kZSsxKTooZXZl bnQuYnV0dG9uPT09Y29kZSk7fQp2YXIgbGVnYWN5QnV0dG9uTWFwPXswOjEsMTo0 LDI6Mn07ZnVuY3Rpb24gX2lzQnV0dG9uRm9yTGVnYWN5RXZlbnRzKGV2ZW50LGNv ZGUpe3JldHVybiBldmVudC5idXR0b249PT1sZWdhY3lCdXR0b25NYXBbY29kZV07 fQpmdW5jdGlvbiBfaXNCdXR0b25Gb3JXZWJLaXQoZXZlbnQsY29kZSl7c3dpdGNo KGNvZGUpe2Nhc2UgMDpyZXR1cm4gZXZlbnQud2hpY2g9PTEmJiFldmVudC5tZXRh S2V5O2Nhc2UgMTpyZXR1cm4gZXZlbnQud2hpY2g9PTJ8fChldmVudC53aGljaD09 MSYmZXZlbnQubWV0YUtleSk7Y2FzZSAyOnJldHVybiBldmVudC53aGljaD09Mztk ZWZhdWx0OnJldHVybiBmYWxzZTt9fQppZih3aW5kb3cuYXR0YWNoRXZlbnQpe2lm KCF3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcil7X2lzQnV0dG9uPV9pc0J1dHRvbkZv ckxlZ2FjeUV2ZW50czt9ZWxzZXtfaXNCdXR0b249ZnVuY3Rpb24oZXZlbnQsY29k ZSl7cmV0dXJuIGlzSUVMZWdhY3lFdmVudChldmVudCk/X2lzQnV0dG9uRm9yTGVn YWN5RXZlbnRzKGV2ZW50LGNvZGUpOl9pc0J1dHRvbkZvckRPTUV2ZW50cyhldmVu dCxjb2RlKTt9fX1lbHNlIGlmKFByb3RvdHlwZS5Ccm93c2VyLldlYktpdCl7X2lz QnV0dG9uPV9pc0J1dHRvbkZvcldlYktpdDt9ZWxzZXtfaXNCdXR0b249X2lzQnV0 dG9uRm9yRE9NRXZlbnRzO30KZnVuY3Rpb24gaXNMZWZ0Q2xpY2soZXZlbnQpe3Jl dHVybiBfaXNCdXR0b24oZXZlbnQsMCl9CmZ1bmN0aW9uIGlzTWlkZGxlQ2xpY2so ZXZlbnQpe3JldHVybiBfaXNCdXR0b24oZXZlbnQsMSl9CmZ1bmN0aW9uIGlzUmln aHRDbGljayhldmVudCl7cmV0dXJuIF9pc0J1dHRvbihldmVudCwyKX0KZnVuY3Rp b24gZWxlbWVudChldmVudCl7ZXZlbnQ9RXZlbnQuZXh0ZW5kKGV2ZW50KTt2YXIg bm9kZT1ldmVudC50YXJnZXQsdHlwZT1ldmVudC50eXBlLGN1cnJlbnRUYXJnZXQ9 ZXZlbnQuY3VycmVudFRhcmdldDtpZihjdXJyZW50VGFyZ2V0JiZjdXJyZW50VGFy Z2V0LnRhZ05hbWUpe2lmKHR5cGU9PT0nbG9hZCd8fHR5cGU9PT0nZXJyb3InfHwo dHlwZT09PSdjbGljaycmJmN1cnJlbnRUYXJnZXQudGFnTmFtZS50b0xvd2VyQ2Fz ZSgpPT09J2lucHV0JyYmY3VycmVudFRhcmdldC50eXBlPT09J3JhZGlvJykpCm5v

ZGU9Y3VycmVudFRhcmdldDt9CmlmKG5vZGUubm9kZVR5cGU9PU5vZGUuVEVYVF9O T0RFKQpub2RlPW5vZGUucGFyZW50Tm9kZTtyZXR1cm4gRWxlbWVudC5leHRlbmQo bm9kZSk7fQpmdW5jdGlvbiBmaW5kRWxlbWVudChldmVudCxleHByZXNzaW9uKXt2 YXIgZWxlbWVudD1FdmVudC5lbGVtZW50KGV2ZW50KTtpZighZXhwcmVzc2lvbily ZXR1cm4gZWxlbWVudDt3aGlsZShlbGVtZW50KXtpZihPYmplY3QuaXNFbGVtZW50 KGVsZW1lbnQpJiZQcm90b3R5cGUuU2VsZWN0b3IubWF0Y2goZWxlbWVudCxleHBy ZXNzaW9uKSl7cmV0dXJuIEVsZW1lbnQuZXh0ZW5kKGVsZW1lbnQpO30KZWxlbWVu dD1lbGVtZW50LnBhcmVudE5vZGU7fX0KZnVuY3Rpb24gcG9pbnRlcihldmVudCl7 cmV0dXJue3g6cG9pbnRlclgoZXZlbnQpLHk6cG9pbnRlclkoZXZlbnQpfTt9CmZ1 bmN0aW9uIHBvaW50ZXJYKGV2ZW50KXt2YXIgZG9jRWxlbWVudD1kb2N1bWVudC5k b2N1bWVudEVsZW1lbnQsYm9keT1kb2N1bWVudC5ib2R5fHx7c2Nyb2xsTGVmdDow fTtyZXR1cm4gZXZlbnQucGFnZVh8fChldmVudC5jbGllbnRYKwooZG9jRWxlbWVu dC5zY3JvbGxMZWZ0fHxib2R5LnNjcm9sbExlZnQpLQooZG9jRWxlbWVudC5jbGll bnRMZWZ0fHwwKSk7fQpmdW5jdGlvbiBwb2ludGVyWShldmVudCl7dmFyIGRvY0Vs ZW1lbnQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGJvZHk9ZG9jdW1lbnQuYm9k eXx8e3Njcm9sbFRvcDowfTtyZXR1cm4gZXZlbnQucGFnZVl8fChldmVudC5jbGll bnRZKwooZG9jRWxlbWVudC5zY3JvbGxUb3B8fGJvZHkuc2Nyb2xsVG9wKS0KKGRv Y0VsZW1lbnQuY2xpZW50VG9wfHwwKSk7fQpmdW5jdGlvbiBzdG9wKGV2ZW50KXtF dmVudC5leHRlbmQoZXZlbnQpO2V2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQu c3RvcFByb3BhZ2F0aW9uKCk7ZXZlbnQuc3RvcHBlZD10cnVlO30KRXZlbnQuTWV0 aG9kcz17aXNMZWZ0Q2xpY2s6aXNMZWZ0Q2xpY2ssaXNNaWRkbGVDbGljazppc01p ZGRsZUNsaWNrLGlzUmlnaHRDbGljazppc1JpZ2h0Q2xpY2ssZWxlbWVudDplbGVt ZW50LGZpbmRFbGVtZW50OmZpbmRFbGVtZW50LHBvaW50ZXI6cG9pbnRlcixwb2lu dGVyWDpwb2ludGVyWCxwb2ludGVyWTpwb2ludGVyWSxzdG9wOnN0b3B9O3ZhciBt ZXRob2RzPU9iamVjdC5rZXlzKEV2ZW50Lk1ldGhvZHMpLmluamVjdCh7fSxmdW5j dGlvbihtLG5hbWUpe21bbmFtZV09RXZlbnQuTWV0aG9kc1tuYW1lXS5tZXRob2Rp emUoKTtyZXR1cm4gbTt9KTtpZih3aW5kb3cuYXR0YWNoRXZlbnQpe2Z1bmN0aW9u IF9yZWxhdGVkVGFyZ2V0KGV2ZW50KXt2YXIgZWxlbWVudDtzd2l0Y2goZXZlbnQu dHlwZSl7Y2FzZSdtb3VzZW92ZXInOmNhc2UnbW91c2VlbnRlcic6ZWxlbWVudD1l dmVudC5mcm9tRWxlbWVudDticmVhaztjYXNlJ21vdXNlb3V0JzpjYXNlJ21vdXNl bGVhdmUnOmVsZW1lbnQ9ZXZlbnQudG9FbGVtZW50O2JyZWFrO2RlZmF1bHQ6cmV0 dXJuIG51bGw7fQpyZXR1cm4gRWxlbWVudC5leHRlbmQoZWxlbWVudCk7fQp2YXIg YWRkaXRpb25hbE1ldGhvZHM9e3N0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3Ro aXMuY2FuY2VsQnViYmxlPXRydWV9LHByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7 dGhpcy5yZXR1cm5WYWx1ZT1mYWxzZX0saW5zcGVjdDpmdW5jdGlvbigpe3JldHVy bidbb2JqZWN0IEV2ZW50XSd9fTtFdmVudC5leHRlbmQ9ZnVuY3Rpb24oZXZlbnQs ZWxlbWVudCl7aWYoIWV2ZW50KXJldHVybiBmYWxzZTtpZighaXNJRUxlZ2FjeUV2 ZW50KGV2ZW50KSlyZXR1cm4gZXZlbnQ7aWYoZXZlbnQuX2V4dGVuZGVkQnlQcm90 b3R5cGUpcmV0dXJuIGV2ZW50O2V2ZW50Ll9leHRlbmRlZEJ5UHJvdG90eXBlPVBy b3RvdHlwZS5lbXB0eUZ1bmN0aW9uO3ZhciBwb2ludGVyPUV2ZW50LnBvaW50ZXIo ZXZlbnQpO09iamVjdC5leHRlbmQoZXZlbnQse3RhcmdldDpldmVudC5zcmNFbGVt ZW50fHxlbGVtZW50LHJlbGF0ZWRUYXJnZXQ6X3JlbGF0ZWRUYXJnZXQoZXZlbnQp LHBhZ2VYOnBvaW50ZXIueCxwYWdlWTpwb2ludGVyLnl9KTtPYmplY3QuZXh0ZW5k KGV2ZW50LG1ldGhvZHMpO09iamVjdC5leHRlbmQoZXZlbnQsYWRkaXRpb25hbE1l dGhvZHMpO3JldHVybiBldmVudDt9O31lbHNle0V2ZW50LmV4dGVuZD1Qcm90b3R5 cGUuSzt9CmlmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKXtFdmVudC5wcm90b3R5 cGU9d2luZG93LkV2ZW50LnByb3RvdHlwZXx8ZG9jdW1lbnQuY3JlYXRlRXZlbnQo J0hUTUxFdmVudHMnKS5fX3Byb3RvX187T2JqZWN0LmV4dGVuZChFdmVudC5wcm90 b3R5cGUsbWV0aG9kcyk7fQpmdW5jdGlvbiBfY3JlYXRlUmVzcG9uZGVyKGVsZW1l bnQsZXZlbnROYW1lLGhhbmRsZXIpe3ZhciByZWdpc3RyeT1FbGVtZW50LnJldHJp ZXZlKGVsZW1lbnQsJ3Byb3RvdHlwZV9ldmVudF9yZWdpc3RyeScpO2lmKE9iamVj dC5pc1VuZGVmaW5lZChyZWdpc3RyeSkpe0NBQ0hFLnB1c2goZWxlbWVudCk7cmVn aXN0cnk9RWxlbWVudC5yZXRyaWV2ZShlbGVtZW50LCdwcm90b3R5cGVfZXZlbnRf cmVnaXN0cnknLCRIKCkpO30KdmFyIHJlc3BvbmRlcnNGb3JFdmVudD1yZWdpc3Ry eS5nZXQoZXZlbnROYW1lKTtpZihPYmplY3QuaXNVbmRlZmluZWQocmVzcG9uZGVy c0ZvckV2ZW50KSl7cmVzcG9uZGVyc0ZvckV2ZW50PVtdO3JlZ2lzdHJ5LnNldChl dmVudE5hbWUscmVzcG9uZGVyc0ZvckV2ZW50KTt9CmlmKHJlc3BvbmRlcnNGb3JF dmVudC5wbHVjaygnaGFuZGxlcicpLmluY2x1ZGUoaGFuZGxlcikpcmV0dXJuIGZh bHNlO3ZhciByZXNwb25kZXI7aWYoZXZlbnROYW1lLmluY2x1ZGUoIjoiKSl7cmVz cG9uZGVyPWZ1bmN0aW9uKGV2ZW50KXtpZihPYmplY3QuaXNVbmRlZmluZWQoZXZl

bnQuZXZlbnROYW1lKSkKcmV0dXJuIGZhbHNlO2lmKGV2ZW50LmV2ZW50TmFtZSE9 PWV2ZW50TmFtZSkKcmV0dXJuIGZhbHNlO0V2ZW50LmV4dGVuZChldmVudCxlbGVt ZW50KTtoYW5kbGVyLmNhbGwoZWxlbWVudCxldmVudCk7fTt9ZWxzZXtpZighTU9V U0VFTlRFUl9NT1VTRUxFQVZFX0VWRU5UU19TVVBQT1JURUQmJihldmVudE5hbWU9 PT0ibW91c2VlbnRlciJ8fGV2ZW50TmFtZT09PSJtb3VzZWxlYXZlIikpe2lmKGV2 ZW50TmFtZT09PSJtb3VzZWVudGVyInx8ZXZlbnROYW1lPT09Im1vdXNlbGVhdmUi KXtyZXNwb25kZXI9ZnVuY3Rpb24oZXZlbnQpe0V2ZW50LmV4dGVuZChldmVudCxl bGVtZW50KTt2YXIgcGFyZW50PWV2ZW50LnJlbGF0ZWRUYXJnZXQ7d2hpbGUocGFy ZW50JiZwYXJlbnQhPT1lbGVtZW50KXt0cnl7cGFyZW50PXBhcmVudC5wYXJlbnRO b2RlO30KY2F0Y2goZSl7cGFyZW50PWVsZW1lbnQ7fX0KaWYocGFyZW50PT09ZWxl bWVudClyZXR1cm47aGFuZGxlci5jYWxsKGVsZW1lbnQsZXZlbnQpO307fX1lbHNl e3Jlc3BvbmRlcj1mdW5jdGlvbihldmVudCl7RXZlbnQuZXh0ZW5kKGV2ZW50LGVs ZW1lbnQpO2hhbmRsZXIuY2FsbChlbGVtZW50LGV2ZW50KTt9O319CnJlc3BvbmRl ci5oYW5kbGVyPWhhbmRsZXI7cmVzcG9uZGVyc0ZvckV2ZW50LnB1c2gocmVzcG9u ZGVyKTtyZXR1cm4gcmVzcG9uZGVyO30KZnVuY3Rpb24gX2Rlc3Ryb3lDYWNoZSgp e2Zvcih2YXIgaT0wLGxlbmd0aD1DQUNIRS5sZW5ndGg7aTxsZW5ndGg7aSsrKXtF dmVudC5zdG9wT2JzZXJ2aW5nKENBQ0hFW2ldKTtDQUNIRVtpXT1udWxsO319CnZh ciBDQUNIRT1bXTtpZihQcm90b3R5cGUuQnJvd3Nlci5JRSkKd2luZG93LmF0dGFj aEV2ZW50KCdvbnVubG9hZCcsX2Rlc3Ryb3lDYWNoZSk7aWYoUHJvdG90eXBlLkJy b3dzZXIuV2ViS2l0KQp3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigndW5sb2FkJyxQ cm90b3R5cGUuZW1wdHlGdW5jdGlvbixmYWxzZSk7dmFyIF9nZXRET01FdmVudE5h bWU9UHJvdG90eXBlLkssdHJhbnNsYXRpb25zPXttb3VzZWVudGVyOiJtb3VzZW92 ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0In07aWYoIU1PVVNFRU5URVJfTU9VU0VM RUFWRV9FVkVOVFNfU1VQUE9SVEVEKXtfZ2V0RE9NRXZlbnROYW1lPWZ1bmN0aW9u KGV2ZW50TmFtZSl7cmV0dXJuKHRyYW5zbGF0aW9uc1tldmVudE5hbWVdfHxldmVu dE5hbWUpO307fQpmdW5jdGlvbiBvYnNlcnZlKGVsZW1lbnQsZXZlbnROYW1lLGhh bmRsZXIpe2VsZW1lbnQ9JChlbGVtZW50KTt2YXIgcmVzcG9uZGVyPV9jcmVhdGVS ZXNwb25kZXIoZWxlbWVudCxldmVudE5hbWUsaGFuZGxlcik7aWYoIXJlc3BvbmRl cilyZXR1cm4gZWxlbWVudDtpZihldmVudE5hbWUuaW5jbHVkZSgnOicpKXtpZihl bGVtZW50LmFkZEV2ZW50TGlzdGVuZXIpCmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5l cigiZGF0YWF2YWlsYWJsZSIscmVzcG9uZGVyLGZhbHNlKTtlbHNle2VsZW1lbnQu YXR0YWNoRXZlbnQoIm9uZGF0YWF2YWlsYWJsZSIscmVzcG9uZGVyKTtlbGVtZW50 LmF0dGFjaEV2ZW50KCJvbmxvc2VjYXB0dXJlIixyZXNwb25kZXIpO319ZWxzZXt2 YXIgYWN0dWFsRXZlbnROYW1lPV9nZXRET01FdmVudE5hbWUoZXZlbnROYW1lKTtp ZihlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIpCmVsZW1lbnQuYWRkRXZlbnRMaXN0 ZW5lcihhY3R1YWxFdmVudE5hbWUscmVzcG9uZGVyLGZhbHNlKTtlbHNlCmVsZW1l bnQuYXR0YWNoRXZlbnQoIm9uIithY3R1YWxFdmVudE5hbWUscmVzcG9uZGVyKTt9 CnJldHVybiBlbGVtZW50O30KZnVuY3Rpb24gc3RvcE9ic2VydmluZyhlbGVtZW50 LGV2ZW50TmFtZSxoYW5kbGVyKXtlbGVtZW50PSQoZWxlbWVudCk7dmFyIHJlZ2lz dHJ5PUVsZW1lbnQucmV0cmlldmUoZWxlbWVudCwncHJvdG90eXBlX2V2ZW50X3Jl Z2lzdHJ5Jyk7aWYoIXJlZ2lzdHJ5KXJldHVybiBlbGVtZW50O2lmKCFldmVudE5h bWUpe3JlZ2lzdHJ5LmVhY2goZnVuY3Rpb24ocGFpcil7dmFyIGV2ZW50TmFtZT1w YWlyLmtleTtzdG9wT2JzZXJ2aW5nKGVsZW1lbnQsZXZlbnROYW1lKTt9KTtyZXR1 cm4gZWxlbWVudDt9CnZhciByZXNwb25kZXJzPXJlZ2lzdHJ5LmdldChldmVudE5h bWUpO2lmKCFyZXNwb25kZXJzKXJldHVybiBlbGVtZW50O2lmKCFoYW5kbGVyKXty ZXNwb25kZXJzLmVhY2goZnVuY3Rpb24ocil7c3RvcE9ic2VydmluZyhlbGVtZW50 LGV2ZW50TmFtZSxyLmhhbmRsZXIpO30pO3JldHVybiBlbGVtZW50O30KdmFyIGk9 cmVzcG9uZGVycy5sZW5ndGgscmVzcG9uZGVyO3doaWxlKGktLSl7aWYocmVzcG9u ZGVyc1tpXS5oYW5kbGVyPT09aGFuZGxlcil7cmVzcG9uZGVyPXJlc3BvbmRlcnNb aV07YnJlYWs7fX0KaWYoIXJlc3BvbmRlcilyZXR1cm4gZWxlbWVudDtpZihldmVu dE5hbWUuaW5jbHVkZSgnOicpKXtpZihlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVu ZXIpCmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZGF0YWF2YWlsYWJsZSIs cmVzcG9uZGVyLGZhbHNlKTtlbHNle2VsZW1lbnQuZGV0YWNoRXZlbnQoIm9uZGF0 YWF2YWlsYWJsZSIscmVzcG9uZGVyKTtlbGVtZW50LmRldGFjaEV2ZW50KCJvbmxv c2VjYXB0dXJlIixyZXNwb25kZXIpO319ZWxzZXt2YXIgYWN0dWFsRXZlbnROYW1l PV9nZXRET01FdmVudE5hbWUoZXZlbnROYW1lKTtpZihlbGVtZW50LnJlbW92ZUV2 ZW50TGlzdGVuZXIpCmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihhY3R1YWxF dmVudE5hbWUscmVzcG9uZGVyLGZhbHNlKTtlbHNlCmVsZW1lbnQuZGV0YWNoRXZl bnQoJ29uJythY3R1YWxFdmVudE5hbWUscmVzcG9uZGVyKTt9CnJlZ2lzdHJ5LnNl dChldmVudE5hbWUscmVzcG9uZGVycy53aXRob3V0KHJlc3BvbmRlcikpO3JldHVy

biBlbGVtZW50O30KZnVuY3Rpb24gZmlyZShlbGVtZW50LGV2ZW50TmFtZSxtZW1v LGJ1YmJsZSl7ZWxlbWVudD0kKGVsZW1lbnQpO2lmKE9iamVjdC5pc1VuZGVmaW5l ZChidWJibGUpKQpidWJibGU9dHJ1ZTtpZihlbGVtZW50PT1kb2N1bWVudCYmZG9j dW1lbnQuY3JlYXRlRXZlbnQmJiFlbGVtZW50LmRpc3BhdGNoRXZlbnQpCmVsZW1l bnQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3ZhciBldmVudDtpZihkb2N1bWVu dC5jcmVhdGVFdmVudCl7ZXZlbnQ9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0hUTUxF dmVudHMnKTtldmVudC5pbml0RXZlbnQoJ2RhdGFhdmFpbGFibGUnLGJ1YmJsZSx0 cnVlKTt9ZWxzZXtldmVudD1kb2N1bWVudC5jcmVhdGVFdmVudE9iamVjdCgpO2V2 ZW50LmV2ZW50VHlwZT1idWJibGU/J29uZGF0YWF2YWlsYWJsZSc6J29ubG9zZWNh cHR1cmUnO30KZXZlbnQuZXZlbnROYW1lPWV2ZW50TmFtZTtldmVudC5tZW1vPW1l bW98fHt9O2lmKGRvY3VtZW50LmNyZWF0ZUV2ZW50KQplbGVtZW50LmRpc3BhdGNo RXZlbnQoZXZlbnQpO2Vsc2UKZWxlbWVudC5maXJlRXZlbnQoZXZlbnQuZXZlbnRU eXBlLGV2ZW50KTtyZXR1cm4gRXZlbnQuZXh0ZW5kKGV2ZW50KTt9CkV2ZW50Lkhh bmRsZXI9Q2xhc3MuY3JlYXRlKHtpbml0aWFsaXplOmZ1bmN0aW9uKGVsZW1lbnQs ZXZlbnROYW1lLHNlbGVjdG9yLGNhbGxiYWNrKXt0aGlzLmVsZW1lbnQ9JChlbGVt ZW50KTt0aGlzLmV2ZW50TmFtZT1ldmVudE5hbWU7dGhpcy5zZWxlY3Rvcj1zZWxl Y3Rvcjt0aGlzLmNhbGxiYWNrPWNhbGxiYWNrO3RoaXMuaGFuZGxlcj10aGlzLmhh bmRsZUV2ZW50LmJpbmQodGhpcyk7fSxzdGFydDpmdW5jdGlvbigpe0V2ZW50Lm9i c2VydmUodGhpcy5lbGVtZW50LHRoaXMuZXZlbnROYW1lLHRoaXMuaGFuZGxlcik7 cmV0dXJuIHRoaXM7fSxzdG9wOmZ1bmN0aW9uKCl7RXZlbnQuc3RvcE9ic2Vydmlu Zyh0aGlzLmVsZW1lbnQsdGhpcy5ldmVudE5hbWUsdGhpcy5oYW5kbGVyKTtyZXR1 cm4gdGhpczt9LGhhbmRsZUV2ZW50OmZ1bmN0aW9uKGV2ZW50KXt2YXIgZWxlbWVu dD1FdmVudC5maW5kRWxlbWVudChldmVudCx0aGlzLnNlbGVjdG9yKTtpZihlbGVt ZW50KXRoaXMuY2FsbGJhY2suY2FsbCh0aGlzLmVsZW1lbnQsZXZlbnQsZWxlbWVu dCk7fX0pO2Z1bmN0aW9uIG9uKGVsZW1lbnQsZXZlbnROYW1lLHNlbGVjdG9yLGNh bGxiYWNrKXtlbGVtZW50PSQoZWxlbWVudCk7aWYoT2JqZWN0LmlzRnVuY3Rpb24o c2VsZWN0b3IpJiZPYmplY3QuaXNVbmRlZmluZWQoY2FsbGJhY2spKXtjYWxsYmFj az1zZWxlY3RvcixzZWxlY3Rvcj1udWxsO30KcmV0dXJuIG5ldyBFdmVudC5IYW5k bGVyKGVsZW1lbnQsZXZlbnROYW1lLHNlbGVjdG9yLGNhbGxiYWNrKS5zdGFydCgp O30KT2JqZWN0LmV4dGVuZChFdmVudCxFdmVudC5NZXRob2RzKTtPYmplY3QuZXh0 ZW5kKEV2ZW50LHtmaXJlOmZpcmUsb2JzZXJ2ZTpvYnNlcnZlLHN0b3BPYnNlcnZp bmc6c3RvcE9ic2VydmluZyxvbjpvbn0pO0VsZW1lbnQuYWRkTWV0aG9kcyh7Zmly ZTpmaXJlLG9ic2VydmU6b2JzZXJ2ZSxzdG9wT2JzZXJ2aW5nOnN0b3BPYnNlcnZp bmcsb246b259KTtPYmplY3QuZXh0ZW5kKGRvY3VtZW50LHtmaXJlOmZpcmUubWV0 aG9kaXplKCksb2JzZXJ2ZTpvYnNlcnZlLm1ldGhvZGl6ZSgpLHN0b3BPYnNlcnZp bmc6c3RvcE9ic2VydmluZy5tZXRob2RpemUoKSxvbjpvbi5tZXRob2RpemUoKSxs b2FkZWQ6ZmFsc2V9KTtpZih3aW5kb3cuRXZlbnQpT2JqZWN0LmV4dGVuZCh3aW5k b3cuRXZlbnQsRXZlbnQpO2Vsc2Ugd2luZG93LkV2ZW50PUV2ZW50O30pKCk7KGZ1 bmN0aW9uKCl7dmFyIHRpbWVyO2Z1bmN0aW9uIGZpcmVDb250ZW50TG9hZGVkRXZl bnQoKXtpZihkb2N1bWVudC5sb2FkZWQpcmV0dXJuO2lmKHRpbWVyKXdpbmRvdy5j bGVhclRpbWVvdXQodGltZXIpO2RvY3VtZW50LmxvYWRlZD10cnVlO2RvY3VtZW50 LmZpcmUoJ2RvbTpsb2FkZWQnKTt9CmZ1bmN0aW9uIGNoZWNrUmVhZHlTdGF0ZSgp e2lmKGRvY3VtZW50LnJlYWR5U3RhdGU9PT0nY29tcGxldGUnKXtkb2N1bWVudC5z dG9wT2JzZXJ2aW5nKCdyZWFkeXN0YXRlY2hhbmdlJyxjaGVja1JlYWR5U3RhdGUp O2ZpcmVDb250ZW50TG9hZGVkRXZlbnQoKTt9fQpmdW5jdGlvbiBwb2xsRG9TY3Jv bGwoKXt0cnl7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKCdsZWZ0 Jyk7fQpjYXRjaChlKXt0aW1lcj1wb2xsRG9TY3JvbGwuZGVmZXIoKTtyZXR1cm47 fQpmaXJlQ29udGVudExvYWRlZEV2ZW50KCk7fQppZihkb2N1bWVudC5hZGRFdmVu dExpc3RlbmVyKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50 TG9hZGVkJyxmaXJlQ29udGVudExvYWRlZEV2ZW50LGZhbHNlKTt9ZWxzZXtkb2N1 bWVudC5vYnNlcnZlKCdyZWFkeXN0YXRlY2hhbmdlJyxjaGVja1JlYWR5U3RhdGUp O2lmKHdpbmRvdz09dG9wKQp0aW1lcj1wb2xsRG9TY3JvbGwuZGVmZXIoKTt9CkV2 ZW50Lm9ic2VydmUod2luZG93LCdsb2FkJyxmaXJlQ29udGVudExvYWRlZEV2ZW50 KTt9KSgpO0VsZW1lbnQuYWRkTWV0aG9kcygpO0hhc2gudG9RdWVyeVN0cmluZz1P YmplY3QudG9RdWVyeVN0cmluZzt2YXIgVG9nZ2xlPXtkaXNwbGF5OkVsZW1lbnQu dG9nZ2xlfTtFbGVtZW50Lk1ldGhvZHMuY2hpbGRPZj1FbGVtZW50Lk1ldGhvZHMu ZGVzY2VuZGFudE9mO3ZhciBJbnNlcnRpb249e0JlZm9yZTpmdW5jdGlvbihlbGVt ZW50LGNvbnRlbnQpe3JldHVybiBFbGVtZW50Lmluc2VydChlbGVtZW50LHtiZWZv cmU6Y29udGVudH0pO30sVG9wOmZ1bmN0aW9uKGVsZW1lbnQsY29udGVudCl7cmV0 dXJuIEVsZW1lbnQuaW5zZXJ0KGVsZW1lbnQse3RvcDpjb250ZW50fSk7fSxCb3R0

b206ZnVuY3Rpb24oZWxlbWVudCxjb250ZW50KXtyZXR1cm4gRWxlbWVudC5pbnNl cnQoZWxlbWVudCx7Ym90dG9tOmNvbnRlbnR9KTt9LEFmdGVyOmZ1bmN0aW9uKGVs ZW1lbnQsY29udGVudCl7cmV0dXJuIEVsZW1lbnQuaW5zZXJ0KGVsZW1lbnQse2Fm dGVyOmNvbnRlbnR9KTt9fTt2YXIgJGNvbnRpbnVlPW5ldyBFcnJvcignInRocm93 ICRjb250aW51ZSIgaXMgZGVwcmVjYXRlZCwgdXNlICJyZXR1cm4iIGluc3RlYWQn KTt2YXIgUG9zaXRpb249e2luY2x1ZGVTY3JvbGxPZmZzZXRzOmZhbHNlLHByZXBh cmU6ZnVuY3Rpb24oKXt0aGlzLmRlbHRhWD13aW5kb3cucGFnZVhPZmZzZXR8fGRv Y3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0fHxkb2N1bWVudC5ib2R5 LnNjcm9sbExlZnR8fDA7dGhpcy5kZWx0YVk9d2luZG93LnBhZ2VZT2Zmc2V0fHxk b2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wfHxkb2N1bWVudC5ib2R5 LnNjcm9sbFRvcHx8MDt9LHdpdGhpbjpmdW5jdGlvbihlbGVtZW50LHgseSl7aWYo dGhpcy5pbmNsdWRlU2Nyb2xsT2Zmc2V0cykKcmV0dXJuIHRoaXMud2l0aGluSW5j bHVkaW5nU2Nyb2xsb2Zmc2V0cyhlbGVtZW50LHgseSk7dGhpcy54Y29tcD14O3Ro aXMueWNvbXA9eTt0aGlzLm9mZnNldD1FbGVtZW50LmN1bXVsYXRpdmVPZmZzZXQo ZWxlbWVudCk7cmV0dXJuKHk+PXRoaXMub2Zmc2V0WzFdJiZ5PHRoaXMub2Zmc2V0 WzFdK2VsZW1lbnQub2Zmc2V0SGVpZ2h0JiZ4Pj10aGlzLm9mZnNldFswXSYmeDx0 aGlzLm9mZnNldFswXStlbGVtZW50Lm9mZnNldFdpZHRoKTt9LHdpdGhpbkluY2x1 ZGluZ1Njcm9sbG9mZnNldHM6ZnVuY3Rpb24oZWxlbWVudCx4LHkpe3ZhciBvZmZz ZXRjYWNoZT1FbGVtZW50LmN1bXVsYXRpdmVTY3JvbGxPZmZzZXQoZWxlbWVudCk7 dGhpcy54Y29tcD14K29mZnNldGNhY2hlWzBdLXRoaXMuZGVsdGFYO3RoaXMueWNv bXA9eStvZmZzZXRjYWNoZVsxXS10aGlzLmRlbHRhWTt0aGlzLm9mZnNldD1FbGVt ZW50LmN1bXVsYXRpdmVPZmZzZXQoZWxlbWVudCk7cmV0dXJuKHRoaXMueWNvbXA+ PXRoaXMub2Zmc2V0WzFdJiZ0aGlzLnljb21wPHRoaXMub2Zmc2V0WzFdK2VsZW1l bnQub2Zmc2V0SGVpZ2h0JiZ0aGlzLnhjb21wPj10aGlzLm9mZnNldFswXSYmdGhp cy54Y29tcDx0aGlzLm9mZnNldFswXStlbGVtZW50Lm9mZnNldFdpZHRoKTt9LG92 ZXJsYXA6ZnVuY3Rpb24obW9kZSxlbGVtZW50KXtpZighbW9kZSlyZXR1cm4gMDtp Zihtb2RlPT0ndmVydGljYWwnKQpyZXR1cm4oKHRoaXMub2Zmc2V0WzFdK2VsZW1l bnQub2Zmc2V0SGVpZ2h0KS10aGlzLnljb21wKS9lbGVtZW50Lm9mZnNldEhlaWdo dDtpZihtb2RlPT0naG9yaXpvbnRhbCcpCnJldHVybigodGhpcy5vZmZzZXRbMF0r ZWxlbWVudC5vZmZzZXRXaWR0aCktdGhpcy54Y29tcCkvZWxlbWVudC5vZmZzZXRX aWR0aDt9LGN1bXVsYXRpdmVPZmZzZXQ6RWxlbWVudC5NZXRob2RzLmN1bXVsYXRp dmVPZmZzZXQscG9zaXRpb25lZE9mZnNldDpFbGVtZW50Lk1ldGhvZHMucG9zaXRp b25lZE9mZnNldCxhYnNvbHV0aXplOmZ1bmN0aW9uKGVsZW1lbnQpe1Bvc2l0aW9u LnByZXBhcmUoKTtyZXR1cm4gRWxlbWVudC5hYnNvbHV0aXplKGVsZW1lbnQpO30s cmVsYXRpdml6ZTpmdW5jdGlvbihlbGVtZW50KXtQb3NpdGlvbi5wcmVwYXJlKCk7 cmV0dXJuIEVsZW1lbnQucmVsYXRpdml6ZShlbGVtZW50KTt9LHJlYWxPZmZzZXQ6 RWxlbWVudC5NZXRob2RzLmN1bXVsYXRpdmVTY3JvbGxPZmZzZXQsb2Zmc2V0UGFy ZW50OkVsZW1lbnQuTWV0aG9kcy5nZXRPZmZzZXRQYXJlbnQscGFnZTpFbGVtZW50 Lk1ldGhvZHMudmlld3BvcnRPZmZzZXQsY2xvbmU6ZnVuY3Rpb24oc291cmNlLHRh cmdldCxvcHRpb25zKXtvcHRpb25zPW9wdGlvbnN8fHt9O3JldHVybiBFbGVtZW50 LmNsb25lUG9zaXRpb24odGFyZ2V0LHNvdXJjZSxvcHRpb25zKTt9fTtpZighZG9j dW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSlkb2N1bWVudC5nZXRFbGVtZW50 c0J5Q2xhc3NOYW1lPWZ1bmN0aW9uKGluc3RhbmNlTWV0aG9kcyl7ZnVuY3Rpb24g aXRlcihuYW1lKXtyZXR1cm4gbmFtZS5ibGFuaygpP251bGw6Iltjb250YWlucyhj b25jYXQoJyAnLCBAY2xhc3MsICcgJyksICcgIituYW1lKyIgJyldIjt9Cmluc3Rh bmNlTWV0aG9kcy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lPVByb3RvdHlwZS5Ccm93 c2VyRmVhdHVyZXMuWFBhdGg/ZnVuY3Rpb24oZWxlbWVudCxjbGFzc05hbWUpe2Ns YXNzTmFtZT1jbGFzc05hbWUudG9TdHJpbmcoKS5zdHJpcCgpO3ZhciBjb25kPS9c cy8udGVzdChjbGFzc05hbWUpPyR3KGNsYXNzTmFtZSkubWFwKGl0ZXIpLmpvaW4o JycpOml0ZXIoY2xhc3NOYW1lKTtyZXR1cm4gY29uZD9kb2N1bWVudC5fZ2V0RWxl bWVudHNCeVhQYXRoKCcuLy8qJytjb25kLGVsZW1lbnQpOltdO306ZnVuY3Rpb24o ZWxlbWVudCxjbGFzc05hbWUpe2NsYXNzTmFtZT1jbGFzc05hbWUudG9TdHJpbmco KS5zdHJpcCgpO3ZhciBlbGVtZW50cz1bXSxjbGFzc05hbWVzPSgvXHMvLnRlc3Qo Y2xhc3NOYW1lKT8kdyhjbGFzc05hbWUpOm51bGwpO2lmKCFjbGFzc05hbWVzJiYh Y2xhc3NOYW1lKXJldHVybiBlbGVtZW50czt2YXIgbm9kZXM9JChlbGVtZW50KS5n ZXRFbGVtZW50c0J5VGFnTmFtZSgnKicpO2NsYXNzTmFtZT0nICcrY2xhc3NOYW1l KycgJztmb3IodmFyIGk9MCxjaGlsZCxjbjtjaGlsZD1ub2Rlc1tpXTtpKyspe2lm KGNoaWxkLmNsYXNzTmFtZSYmKGNuPScgJytjaGlsZC5jbGFzc05hbWUrJyAnKSYm KGNuLmluY2x1ZGUoY2xhc3NOYW1lKXx8KGNsYXNzTmFtZXMmJmNsYXNzTmFtZXMu YWxsKGZ1bmN0aW9uKG5hbWUpe3JldHVybiFuYW1lLnRvU3RyaW5nKCkuYmxhbmso

KSYmY24uaW5jbHVkZSgnICcrbmFtZSsnICcpO30pKSkpCmVsZW1lbnRzLnB1c2go RWxlbWVudC5leHRlbmQoY2hpbGQpKTt9CnJldHVybiBlbGVtZW50czt9O3JldHVy biBmdW5jdGlvbihjbGFzc05hbWUscGFyZW50RWxlbWVudCl7cmV0dXJuICQocGFy ZW50RWxlbWVudHx8ZG9jdW1lbnQuYm9keSkuZ2V0RWxlbWVudHNCeUNsYXNzTmFt ZShjbGFzc05hbWUpO307fShFbGVtZW50Lk1ldGhvZHMpO0VsZW1lbnQuQ2xhc3NO YW1lcz1DbGFzcy5jcmVhdGUoKTtFbGVtZW50LkNsYXNzTmFtZXMucHJvdG90eXBl PXtpbml0aWFsaXplOmZ1bmN0aW9uKGVsZW1lbnQpe3RoaXMuZWxlbWVudD0kKGVs ZW1lbnQpO30sX2VhY2g6ZnVuY3Rpb24oaXRlcmF0b3Ipe3RoaXMuZWxlbWVudC5j bGFzc05hbWUuc3BsaXQoL1xzKy8pLnNlbGVjdChmdW5jdGlvbihuYW1lKXtyZXR1 cm4gbmFtZS5sZW5ndGg+MDt9KS5fZWFjaChpdGVyYXRvcik7fSxzZXQ6ZnVuY3Rp b24oY2xhc3NOYW1lKXt0aGlzLmVsZW1lbnQuY2xhc3NOYW1lPWNsYXNzTmFtZTt9 LGFkZDpmdW5jdGlvbihjbGFzc05hbWVUb0FkZCl7aWYodGhpcy5pbmNsdWRlKGNs YXNzTmFtZVRvQWRkKSlyZXR1cm47dGhpcy5zZXQoJEEodGhpcykuY29uY2F0KGNs YXNzTmFtZVRvQWRkKS5qb2luKCcgJykpO30scmVtb3ZlOmZ1bmN0aW9uKGNsYXNz TmFtZVRvUmVtb3ZlKXtpZighdGhpcy5pbmNsdWRlKGNsYXNzTmFtZVRvUmVtb3Zl KSlyZXR1cm47dGhpcy5zZXQoJEEodGhpcykud2l0aG91dChjbGFzc05hbWVUb1Jl bW92ZSkuam9pbignICcpKTt9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICRB KHRoaXMpLmpvaW4oJyAnKTt9fTtPYmplY3QuZXh0ZW5kKEVsZW1lbnQuQ2xhc3NO YW1lcy5wcm90b3R5cGUsRW51bWVyYWJsZSk7KGZ1bmN0aW9uKCl7d2luZG93LlNl bGVjdG9yPUNsYXNzLmNyZWF0ZSh7aW5pdGlhbGl6ZTpmdW5jdGlvbihleHByZXNz aW9uKXt0aGlzLmV4cHJlc3Npb249ZXhwcmVzc2lvbi5zdHJpcCgpO30sZmluZEVs ZW1lbnRzOmZ1bmN0aW9uKHJvb3RFbGVtZW50KXtyZXR1cm4gUHJvdG90eXBlLlNl bGVjdG9yLnNlbGVjdCh0aGlzLmV4cHJlc3Npb24scm9vdEVsZW1lbnQpO30sbWF0 Y2g6ZnVuY3Rpb24oZWxlbWVudCl7cmV0dXJuIFByb3RvdHlwZS5TZWxlY3Rvci5t YXRjaChlbGVtZW50LHRoaXMuZXhwcmVzc2lvbik7fSx0b1N0cmluZzpmdW5jdGlv bigpe3JldHVybiB0aGlzLmV4cHJlc3Npb247fSxpbnNwZWN0OmZ1bmN0aW9uKCl7 cmV0dXJuIiM8U2VsZWN0b3I6ICIrdGhpcy5leHByZXNzaW9uKyI+Ijt9fSk7T2Jq ZWN0LmV4dGVuZChTZWxlY3Rvcix7bWF0Y2hFbGVtZW50czpmdW5jdGlvbihlbGVt ZW50cyxleHByZXNzaW9uKXt2YXIgbWF0Y2g9UHJvdG90eXBlLlNlbGVjdG9yLm1h dGNoLHJlc3VsdHM9W107Zm9yKHZhciBpPTAsbGVuZ3RoPWVsZW1lbnRzLmxlbmd0 aDtpPGxlbmd0aDtpKyspe3ZhciBlbGVtZW50PWVsZW1lbnRzW2ldO2lmKG1hdGNo KGVsZW1lbnQsZXhwcmVzc2lvbikpe3Jlc3VsdHMucHVzaChFbGVtZW50LmV4dGVu ZChlbGVtZW50KSk7fX0KcmV0dXJuIHJlc3VsdHM7fSxmaW5kRWxlbWVudDpmdW5j dGlvbihlbGVtZW50cyxleHByZXNzaW9uLGluZGV4KXtpbmRleD1pbmRleHx8MDt2 YXIgbWF0Y2hJbmRleD0wLGVsZW1lbnQ7Zm9yKHZhciBpPTAsbGVuZ3RoPWVsZW1l bnRzLmxlbmd0aDtpPGxlbmd0aDtpKyspe2VsZW1lbnQ9ZWxlbWVudHNbaV07aWYo UHJvdG90eXBlLlNlbGVjdG9yLm1hdGNoKGVsZW1lbnQsZXhwcmVzc2lvbikmJmlu ZGV4PT09bWF0Y2hJbmRleCsrKXtyZXR1cm4gRWxlbWVudC5leHRlbmQoZWxlbWVu dCk7fX19LGZpbmRDaGlsZEVsZW1lbnRzOmZ1bmN0aW9uKGVsZW1lbnQsZXhwcmVz c2lvbnMpe3ZhciBzZWxlY3Rvcj1leHByZXNzaW9ucy50b0FycmF5KCkuam9pbign LCAnKTtyZXR1cm4gUHJvdG90eXBlLlNlbGVjdG9yLnNlbGVjdChzZWxlY3Rvcixl bGVtZW50fHxkb2N1bWVudCk7fX0pO30pKCk7CgoKLyogcHVibGljL2phdmFzY3Jp cHRzL2dlb2lwLmpzIEAgMTM0ODUxNzU3OSAqLwoKaWYoIXdpbmRvdy5TY3JpYmQp dmFyIFNjcmliZD17fTtTY3JpYmQuZ2VvTW9kdWxlPShmdW5jdGlvbigpe3ZhciBz ZWFyY2hPcmRlcj1bY2hlY2tTU0ksY2hlY2tMb2NhbHN0b3JhZ2UsZmV0Y2hKcXVl cnksZmV0Y2hQcm90b3R5cGUsZmV0Y2hKc29ucF0sYXR0ZW1wdD0wLHF1ZXJpZXM9 W3VwZGF0ZUxvY2FsU3RvcmFnZV0sZG9uZSxyZXN1bHQsZnJlc2gsY2NfcmVnZXg9 L14oW0EtWl17Mn0pXHMqJC87dmFyIGxvY2FsU3RvcmFnZUtleT0iX2dlb19jY19j YWNoZSIsbG9jYWxTdG9yYWdlVGltZW91dD00MzIwMDAwMDA7ZnVuY3Rpb24gcmVz cG9uZFRvUXVlcmllcygpe3ZhciBxdWVyeUNhbGxiYWNrO3doaWxlKHF1ZXJ5Q2Fs bGJhY2s9cXVlcmllcy5zaGlmdCgpKXtxdWVyeUNhbGxiYWNrKHJlc3VsdCxmcmVz aCk7fX0KZnVuY3Rpb24gcXVlcnlHZW8oY2FsbGJhY2tfb3Jfbm93KXtpZihjYWxs YmFja19vcl9ub3c9PT0ibm93Iil7aWYoZG9uZSl7cmV0dXJuIHJlc3VsdDt9fQpl bHNle3F1ZXJpZXMucHVzaChjYWxsYmFja19vcl9ub3cpO2lmKGRvbmUpe3Jlc3Bv bmRUb1F1ZXJpZXMoKTt9fX0KZnVuY3Rpb24gc2VhcmNoRm9yR2VvKCl7aWYoYXR0 ZW1wdDxzZWFyY2hPcmRlci5sZW5ndGgpe3NlYXJjaE9yZGVyW2F0dGVtcHRdKHdv cmtfY2FsbGJhY2spO319CmZ1bmN0aW9uIHdvcmtfY2FsbGJhY2soX3Jlc3VsdCxf ZnJlc2gpe2lmKF9yZXN1bHQmJl9yZXN1bHQubGVuZ3RoPT0yKXtkb25lPXRydWU7 ZnJlc2g9X2ZyZXNoO3Jlc3VsdD1fcmVzdWx0O3Jlc3BvbmRUb1F1ZXJpZXMoKTt9 ZWxzZXthdHRlbXB0Kz0xO3NlYXJjaEZvckdlbygpO319CmZ1bmN0aW9uIGNoZWNr

U1NJKGNhbGxiYWNrKXtjYWxsYmFjayh3aW5kb3cuU2NyaWJkLl9nZW9fc3NpX3Zh bHVlLHRydWUpO30KZnVuY3Rpb24gY2hlY2tMb2NhbHN0b3JhZ2UoY2FsbGJhY2sp e3ZhciB2YWx1ZTtpZignbG9jYWxTdG9yYWdlJ2luIHdpbmRvdyl7dHJ5e3ZhbHVl PXdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShsb2NhbFN0b3JhZ2VLZXkpO2lm KHZhbHVlKXt2YWx1ZT1KU09OLnBhcnNlKHZhbHVlKTtub3c9RGF0ZS5ub3coKTtp Zih2YWx1ZS5kYXRlPD1ub3cmJnZhbHVlLmRhdGU+KG5vdy1sb2NhbFN0b3JhZ2VU aW1lb3V0KSl7cmV0dXJuIGNhbGxiYWNrKHZhbHVlLmdlb19jYyxmYWxzZSk7fX19 Y2F0Y2goZSl7fX0KY2FsbGJhY2soKTt9CmZ1bmN0aW9uIGZldGNoSnF1ZXJ5KGNh bGxiYWNrKXtpZih3aW5kb3cualF1ZXJ5IT09dW5kZWZpbmVkKXt2YXIgeGhyPXdp bmRvdy5qUXVlcnkucG9zdCgnL3NzaS9nZW9pcF9jYycseydkYXRhVHlwZSc6J3Rl eHQnfSkKeGhyLmFsd2F5cyhmdW5jdGlvbigpe2lmKHhoci5zdGF0dXM9PTIwMCl7 dmFyIG1hdGNoPXhoci5yZXNwb25zZVRleHQubWF0Y2goY2NfcmVnZXgpO2lmKG1h dGNoKXtjYWxsYmFjayhtYXRjaFsxXSx0cnVlKTt9ZWxzZXtjYWxsYmFjaygpO319 ZWxzZXtjYWxsYmFjaygpO319KTt9ZWxzZXtyZXR1cm4gY2FsbGJhY2soKTt9fQpm dW5jdGlvbiBmZXRjaFByb3RvdHlwZShjYWxsYmFjayl7aWYod2luZG93LlByb3Rv dHlwZSl7dmFyIHJlcT1uZXcgQWpheC5SZXF1ZXN0KCcvc3NpL2dlb2lwX2NjJyx7 bWV0aG9kOidwb3N0JyxvblN1Y2Nlc3M6ZnVuY3Rpb24odHJhbnNwb3J0KXt2YXIg bWF0Y2g9dHJhbnNwb3J0LnJlc3BvbnNlVGV4dC5tYXRjaChjY19yZWdleCk7aWYo bWF0Y2gpe2NhbGxiYWNrKG1hdGNoWzFdLHRydWUpO31lbHNle2NhbGxiYWNrKCk7 fX0sb25GYWlsdXJlOmZ1bmN0aW9uKCl7Y2FsbGJhY2soKTt9fSk7fWVsc2V7Y2Fs bGJhY2soKTt9fQpmdW5jdGlvbiBmZXRjaEpzb25wKGNhbGxiYWNrKXt2YXIgcmFu ZElkPSJfZ2VvaXBfIitNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKC0xPj4+MSkp LnRvU3RyaW5nKDE2KTt3aW5kb3dbcmFuZElkXT1mdW5jdGlvbihyZXN1bHQpe2Rl bGV0ZSB3aW5kb3cucmFuZElkO2NhbGxiYWNrKHJlc3VsdCk7fTt2YXIgc3RhcnRq c29ucD1mdW5jdGlvbigpe3ZhciBzY3JpcHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVu dCgic2NyaXB0Iik7c2NyaXB0LnR5cGU9InRleHQvamF2YXNjcmlwdCI7c2NyaXB0 LnNyYz0iLy93d3cuc2NyaWJkLmNvbS9zc2kvZ2VvaXBfc2NyaXB0P2NhbGxiYWNr PSIrcmFuZElkO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTt9O2lm KGRvY3VtZW50LmJvZHkpe3N0YXJ0anNvbnAoKTt9ZWxzZSBpZihkb2N1bWVudC5h ZGRFdmVudExpc3RlbmVyKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01D b250ZW50TG9hZGVkIixzdGFydGpzb25wLGZhbHNlKTt9ZWxzZSBpZihkb2N1bWVu dC5hdHRhY2hFdmVudCl7ZG9jdW1lbnQuYXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0 ZWNoYW5nZSIsc3RhcnRqc29ucCk7fWVsc2V7Y2FsbGJhY2soKTt9fQpmdW5jdGlv biB1cGRhdGVMb2NhbFN0b3JhZ2UoZ2VvX2NjLGZyZXNoKXtpZihmcmVzaCE9PXRy dWUpe3JldHVybjt9CmlmKCdsb2NhbFN0b3JhZ2UnaW4gd2luZG93KXt0cnl7dmFy IG5vdz1EYXRlLm5vdygpLHZhbHVlPUpTT04uc3RyaW5naWZ5KHsnZ2VvX2NjJzpn ZW9fY2MsJ2RhdGUnOkRhdGUubm93KCl9KTt3aW5kb3cubG9jYWxTdG9yYWdlLnNl dEl0ZW0obG9jYWxTdG9yYWdlS2V5LHZhbHVlKTt9Y2F0Y2goZSl7fX19CnNlYXJj aEZvckdlbygpO3JldHVybiBxdWVyeUdlbzt9KSgpOwoKCi8qIHB1YmxpYy9qYXZh c2NyaXB0cy9zaGFyZWQvdmVuZG9yL2xhenlfaW1hZ2UuanMgQCAxMzQ4NTE3NTc5 ICovCgooZnVuY3Rpb24od2luZG93LGRvY3VtZW50KXt2YXIKb2Zmc2V0PTIwMCxs YXp5QXR0cj0nZGF0YS1zcmMnLHdpbkgsaW1ncz1bXSxwYWdlSGFzTG9hZGVkLGdl dFdpbmRvd0hlaWdodFQ9dGhyb3R0bGUoZ2V0V2luZG93SGVpZ2h0LDIwKSxzaG93 SW1hZ2VzVD10aHJvdHRsZShzaG93SW1hZ2VzLDIwKTt3aW5kb3dbJ2x6bGQnXT1v bkZha2VJbWdMb2FkO3dpbmRvd1snZm9yY2VfbHpsZCddPWxvYWRJbWc7Z2V0V2lu ZG93SGVpZ2h0KCk7YWRkRXZlbnQod2luZG93LCdyZXNpemUnLGdldFdpbmRvd0hl aWdodFQpO2FkZEV2ZW50KHdpbmRvdywnc2Nyb2xsJyxzaG93SW1hZ2VzVCk7YWRk RXZlbnQoZG9jdW1lbnQsJ0RPTUNvbnRlbnRMb2FkZWQnLG9uRG9tUmVhZHkpO2Fk ZEV2ZW50KHdpbmRvdywnbG9hZCcsb25Mb2FkKTtmdW5jdGlvbiBvbkZha2VJbWdM b2FkKGltZyl7aW1nLm9ubG9hZD1udWxsO3Nob3dJZlZpc2libGUoaW1nLGltZ3Mu cHVzaChpbWcpLTEpO30KZnVuY3Rpb24gb25Eb21SZWFkeSgpe3Nob3dJbWFnZXNU KCk7c2V0VGltZW91dChzaG93SW1hZ2VzVCwyMCk7fQpmdW5jdGlvbiBvbkxvYWQo KXtwYWdlSGFzTG9hZGVkPXRydWU7c2hvd0ltYWdlc1QoKTtzZXRUaW1lb3V0KHNo b3dJbWFnZXNULDIwKTt9CmZ1bmN0aW9uIHRocm90dGxlKGZuLG1pbkRlbGF5KXt2 YXIgbGFzdENhbGw9MDtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbm93PStuZXcgRGF0 ZTtpZihub3ctbGFzdENhbGw8bWluRGVsYXkpe3JldHVybjt9Cmxhc3RDYWxsPW5v dztmbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7fX0KZnVuY3Rpb24gYWRkRXZlbnQo ZWwsdHlwZSxmbil7aWYoZWwuYXR0YWNoRXZlbnQpe2VsLmF0dGFjaEV2ZW50JiZl bC5hdHRhY2hFdmVudCgnb24nK3R5cGUsZm4pO31lbHNle2VsLmFkZEV2ZW50TGlz dGVuZXIodHlwZSxmbixmYWxzZSk7fX0KZnVuY3Rpb24gcmVtb3ZlRXZlbnQoZWws

dHlwZSxmbil7aWYoZWwuZGV0YWNoRXZlbnQpe2VsLmRldGFjaEV2ZW50JiZlbC5k ZXRhY2hFdmVudCgnb24nK3R5cGUsZm4pO31lbHNle2VsLnJlbW92ZUV2ZW50TGlz dGVuZXIodHlwZSxmbixmYWxzZSk7fX0KZnVuY3Rpb24gbG9hZEltZyhpbWcsaW5k ZXgpe2lmKCFpbWcuZ2V0QXR0cmlidXRlKGxhenlBdHRyKSlyZXR1cm47aWYoIWlu ZGV4KWluZGV4PWltZ3MuaW5kZXhPZihpbWcpO2ltZy5zcmM9aW1nLmdldEF0dHJp YnV0ZShsYXp5QXR0cik7aW1nLnJlbW92ZUF0dHJpYnV0ZShsYXp5QXR0cik7aWYo IWluZGV4KXJldHVybjtpbWdzW2luZGV4XT1udWxsO30KZnVuY3Rpb24gc2hvd0lm VmlzaWJsZShpbWcsaW5kZXgpe3ZhciBpbnZpcz1pbWcuZ2V0Qm91bmRpbmdDbGll bnRSZWN0KCkudG9wPT0wJiZpbWcuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuYm90 dG9tPT0wCmlmKCFpbnZpcyYmaW1nLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRv cDx3aW5IK29mZnNldCl7bG9hZEltZyhpbWcsaW5kZXgpO3JldHVybiB0cnVlO31l bHNle3JldHVybiBmYWxzZTt9fQpmdW5jdGlvbiBnZXRXaW5kb3dIZWlnaHQoKXt3 aW5IPXdpbmRvdy5pbm5lckhlaWdodHx8KGRvY3VtZW50LmRvY3VtZW50RWxlbWVu dCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCl8fChkb2N1 bWVudC5ib2R5JiZkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCl8fDEwMDAwO30K ZnVuY3Rpb24gc2hvd0ltYWdlcygpe3ZhcgpsYXN0PWltZ3MubGVuZ3RoLGN1cnJl bnQsYWxsSW1hZ2VzRG9uZT10cnVlO2ZvcihjdXJyZW50PTA7Y3VycmVudDxsYXN0 O2N1cnJlbnQrKyl7dmFyIGltZz1pbWdzW2N1cnJlbnRdO2lmKGltZyE9PW51bGwm JiFzaG93SWZWaXNpYmxlKGltZyxjdXJyZW50KSl7YWxsSW1hZ2VzRG9uZT1mYWxz ZTt9fQppZihhbGxJbWFnZXNEb25lJiZwYWdlSGFzTG9hZGVkKXt9fQpmdW5jdGlv biB1bnN1YnNjcmliZSgpe319KSh0aGlzLGRvY3VtZW50KTsKCgovKiBwdWJsaWMv amF2YXNjcmlwdHMvc2hhcmVkL2FsZXJ0cy5qcyBAIDEzNDg1MTc1NzkgKi8KCmlm KCF3aW5kb3cuU2NyaWJkKXZhciBTY3JpYmQ9e307U2NyaWJkLmFsZXJ0c01hbmFn ZXI9Q2xhc3MuY3JlYXRlKHtpbml0aWFsaXplOmZ1bmN0aW9uKCl7fSxyZW5kZXI6 ZnVuY3Rpb24odHlwZSxlbCxtZXNzYWdlLG9wdGlvbnMpe29wdGlvbnM9T2JqZWN0 LmV4dGVuZCh7YXV0b19mYWRlOnRydWUsZWxlbWVudF90b19mYWRlOm51bGwsZGVs YXk6NyxkdXJhdGlvbjoxLjB9LG9wdGlvbnN8fHt9KTtlbD0kKGVsKTtlbC5zaG93 KCk7ZWwudXBkYXRlKHRoaXNbdHlwZSsnX3RlbXBsYXRlJ10uZXZhbHVhdGUoe21l c3NhZ2U6bWVzc2FnZX0pKTtkb2N1bWVudC5maXJlKCdzY3JpYmQ6ZG9tX2hlaWdo dF9jaGFuZ2VkJyk7dmFyIGVsZW1lbnRfdG9fZmFkZT1vcHRpb25zLmVsZW1lbnRf dG9fZmFkZT8kKG9wdGlvbnMuZWxlbWVudF90b19mYWRlKTplbDtpZihvcHRpb25z LmF1dG9fZmFkZSl7dGhpcy5kaXNtaXNzLmN1cnJ5KGVsZW1lbnRfdG9fZmFkZSxv cHRpb25zLmR1cmF0aW9uKS5kZWxheShvcHRpb25zLmRlbGF5KTt9fSxkaXNtaXNz OmZ1bmN0aW9uKGVsLGR1cmF0aW9uKXtkdXJhdGlvbj1kdXJhdGlvbnx8MTskKGVs KS5mYWRlKHtkdXJhdGlvbjpkdXJhdGlvbixhZnRlckZpbmlzaDpmdW5jdGlvbigp e2RvY3VtZW50LmZpcmUoJ3NjcmliZDpkb21faGVpZ2h0X2NoYW5nZWQnKTt9fSk7 fSxyZW5kZXJfbm9fZmFkZTpmdW5jdGlvbih0eXBlLGVsLG1lc3NhZ2Usb3B0aW9u cyl7b3B0aW9ucz1PYmplY3QuZXh0ZW5kKHthdXRvX2ZhZGU6ZmFsc2V9LG9wdGlv bnN8fHt9KTt0aGlzLnJlbmRlcih0eXBlLGVsLG1lc3NhZ2Usb3B0aW9ucyk7fSxl cnJvcl90ZW1wbGF0ZTpuZXcgVGVtcGxhdGUoIjxkaXYgY2xhc3M9XCJhdXRvZ2Vu X2NsYXNzX3ZpZXdzX3NoYXJlZF9hbGVydHNfZXJyb3IgYXV0b2dlbl9jbGFzc192 aWV3c19zaGFyZWRfYWxlcnRzX2Jhc2UgZXJyb3JfYWxlcnRcIj48ZGl2IGNsYXNz PVwiaW5uZXJcIj4je21lc3NhZ2V9PC9kaXY+PC9kaXY+Iiksc3VjY2Vzc190ZW1w bGF0ZTpuZXcgVGVtcGxhdGUoIjxkaXYgY2xhc3M9XCJhdXRvZ2VuX2NsYXNzX3Zp ZXdzX3NoYXJlZF9hbGVydHNfc3VjY2VzcyBhdXRvZ2VuX2NsYXNzX3ZpZXdzX3No YXJlZF9hbGVydHNfYmFzZVwiPjxkaXYgY2xhc3M9XCJpbm5lclwiPiN7bWVzc2Fn ZX08L2Rpdj48L2Rpdj4iKSxzdWNjZXNzX2JsdWVfdGVtcGxhdGU6bmV3IFRlbXBs YXRlKCI8ZGl2IGNsYXNzPVwiYXV0b2dlbl9jbGFzc192aWV3c19zaGFyZWRfYWxl cnRzX3N1Y2Nlc3NfYmx1ZSBhdXRvZ2VuX2NsYXNzX3ZpZXdzX3NoYXJlZF9hbGVy dHNfYmFzZVwiPjxkaXYgY2xhc3M9XCJpbm5lclwiPiN7bWVzc2FnZX08L2Rpdj48 L2Rpdj4iKSxzdWNjZXNzX3JlZF90ZW1wbGF0ZTpuZXcgVGVtcGxhdGUoIjxkaXYg Y2xhc3M9XCJhdXRvZ2VuX2NsYXNzX3ZpZXdzX3NoYXJlZF9hbGVydHNfc3VjY2Vz c19yZWQgYXV0b2dlbl9jbGFzc192aWV3c19zaGFyZWRfYWxlcnRzX2Jhc2VcIj48 ZGl2IGNsYXNzPVwiaW5uZXJcIj4je21lc3NhZ2V9PC9kaXY+PC9kaXY+IikscHJv Z3Jlc3NfdGVtcGxhdGU6bmV3IFRlbXBsYXRlKCI8ZGl2IGNsYXNzPVwiYXV0b2dl bl9jbGFzc192aWV3c19zaGFyZWRfYWxlcnRzX3Byb2dyZXNzIGF1dG9nZW5fY2xh c3Nfdmlld3Nfc2hhcmVkX2FsZXJ0c19iYXNlXCI+PGRpdiBjbGFzcz1cImlubmVy XCI+PGltZyBzcmM9XCIvaW1hZ2VzL3NoYXJlZC9hbGVydHMvc3Bpbm5lci5naWZc IiAvPiN7bWVzc2FnZX08L2Rpdj48L2Rpdj4iKX0pOyhmdW5jdGlvbigpe1snZXJy b3InLCdwcm9ncmVzcyddLmVhY2goZnVuY3Rpb24odHlwZSl7U2NyaWJkLmFsZXJ0

c01hbmFnZXIucHJvdG90eXBlW3R5cGVdPVNjcmliZC5hbGVydHNNYW5hZ2VyLnBy b3RvdHlwZS5yZW5kZXJfbm9fZmFkZS5jdXJyeSh0eXBlKTt9KTtbJ3N1Y2Nlc3Mn LCdzdWNjZXNzX2JsdWUnLCdzdWNjZXNzX3JlZCddLmVhY2goZnVuY3Rpb24odHlw ZSl7U2NyaWJkLmFsZXJ0c01hbmFnZXIucHJvdG90eXBlW3R5cGVdPVNjcmliZC5h bGVydHNNYW5hZ2VyLnByb3RvdHlwZS5yZW5kZXIuY3VycnkodHlwZSk7fSk7fSko KTtTY3JpYmQuQWxlcnRzPW5ldyBTY3JpYmQuYWxlcnRzTWFuYWdlcigpOwoKCi8q IHB1YmxpYy9qYXZhc2NyaXB0cy9zaGFyZWQvWmVyb0NsaXBib2FyZC5qcyBAIDEz NDg1MTc1NzkgKi8KCnZhciBaZXJvQ2xpcGJvYXJkPXt2ZXJzaW9uOiIxLjAuNyIs Y2xpZW50czp7fSxtb3ZpZVBhdGg6J1plcm9DbGlwYm9hcmQuc3dmJyxuZXh0SWQ6 MSwkOmZ1bmN0aW9uKHRoaW5neSl7aWYodHlwZW9mKHRoaW5neSk9PSdzdHJpbmcn KXRoaW5neT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGluZ3kpO2lmKCF0aGlu Z3kuYWRkQ2xhc3Mpe3RoaW5neS5oaWRlPWZ1bmN0aW9uKCl7dGhpcy5zdHlsZS5k aXNwbGF5PSdub25lJzt9O3RoaW5neS5zaG93PWZ1bmN0aW9uKCl7dGhpcy5zdHls ZS5kaXNwbGF5PScnO307dGhpbmd5LmFkZENsYXNzPWZ1bmN0aW9uKG5hbWUpe3Ro aXMucmVtb3ZlQ2xhc3MobmFtZSk7dGhpcy5jbGFzc05hbWUrPScgJytuYW1lO307 dGhpbmd5LnJlbW92ZUNsYXNzPWZ1bmN0aW9uKG5hbWUpe3ZhciBjbGFzc2VzPXRo aXMuY2xhc3NOYW1lLnNwbGl0KC9ccysvKTt2YXIgaWR4PS0xO2Zvcih2YXIgaz0w O2s8Y2xhc3Nlcy5sZW5ndGg7aysrKXtpZihjbGFzc2VzW2tdPT1uYW1lKXtpZHg9 aztrPWNsYXNzZXMubGVuZ3RoO319CmlmKGlkeD4tMSl7Y2xhc3Nlcy5zcGxpY2Uo aWR4LDEpO3RoaXMuY2xhc3NOYW1lPWNsYXNzZXMuam9pbignICcpO30KcmV0dXJu IHRoaXM7fTt0aGluZ3kuaGFzQ2xhc3M9ZnVuY3Rpb24obmFtZSl7cmV0dXJuISF0 aGlzLmNsYXNzTmFtZS5tYXRjaChuZXcgUmVnRXhwKCJcXHMqIituYW1lKyJcXHMq IikpO307fQpyZXR1cm4gdGhpbmd5O30sc2V0TW92aWVQYXRoOmZ1bmN0aW9uKHBh dGgpe3RoaXMubW92aWVQYXRoPXBhdGg7fSxuZXdDbGllbnQ6ZnVuY3Rpb24oKXty ZXR1cm4gbmV3IFplcm9DbGlwYm9hcmQuQ2xpZW50KCk7fSxkaXNwYXRjaDpmdW5j dGlvbihpZCxldmVudE5hbWUsYXJncyl7dmFyIGNsaWVudD10aGlzLmNsaWVudHNb aWRdO2lmKGNsaWVudCl7Y2xpZW50LnJlY2VpdmVFdmVudChldmVudE5hbWUsYXJn cyk7fX0scmVnaXN0ZXI6ZnVuY3Rpb24oaWQsY2xpZW50KXt0aGlzLmNsaWVudHNb aWRdPWNsaWVudDt9LGdldERPTU9iamVjdFBvc2l0aW9uOmZ1bmN0aW9uKG9iaixz dG9wT2JqKXt2YXIgaW5mbz17bGVmdDowLHRvcDowLHdpZHRoOm9iai53aWR0aD9v Ymoud2lkdGg6b2JqLm9mZnNldFdpZHRoLGhlaWdodDpvYmouaGVpZ2h0P29iai5o ZWlnaHQ6b2JqLm9mZnNldEhlaWdodH07d2hpbGUob2JqJiYob2JqIT1zdG9wT2Jq KSl7aW5mby5sZWZ0Kz1vYmoub2Zmc2V0TGVmdDtpbmZvLnRvcCs9b2JqLm9mZnNl dFRvcDtvYmo9b2JqLm9mZnNldFBhcmVudDt9CnJldHVybiBpbmZvO30sQ2xpZW50 OmZ1bmN0aW9uKGVsZW0pe3RoaXMuaGFuZGxlcnM9e307dGhpcy5pZD1aZXJvQ2xp cGJvYXJkLm5leHRJZCsrO3RoaXMubW92aWVJZD0nWmVyb0NsaXBib2FyZE1vdmll XycrdGhpcy5pZDtaZXJvQ2xpcGJvYXJkLnJlZ2lzdGVyKHRoaXMuaWQsdGhpcyk7 aWYoZWxlbSl0aGlzLmdsdWUoZWxlbSk7fX07WmVyb0NsaXBib2FyZC5DbGllbnQu cHJvdG90eXBlPXtpZDowLHJlYWR5OmZhbHNlLG1vdmllOm51bGwsY2xpcFRleHQ6 JycsaGFuZEN1cnNvckVuYWJsZWQ6dHJ1ZSxjc3NFZmZlY3RzOnRydWUsaGFuZGxl cnM6bnVsbCx6SW5kZXg6OTksZ2x1ZTpmdW5jdGlvbihlbGVtLGFwcGVuZEVsZW0s c3R5bGVzVG9BZGQpe3RoaXMuZG9tRWxlbWVudD1aZXJvQ2xpcGJvYXJkLiQoZWxl bSk7aWYodGhpcy5kb21FbGVtZW50LnN0eWxlLnpJbmRleCl7dGhpcy56SW5kZXg9 cGFyc2VJbnQodGhpcy5kb21FbGVtZW50LnN0eWxlLnpJbmRleCwxMCkrMTt9Cmlm KHR5cGVvZihhcHBlbmRFbGVtKT09J3N0cmluZycpe2FwcGVuZEVsZW09WmVyb0Ns aXBib2FyZC4kKGFwcGVuZEVsZW0pO30KZWxzZSBpZih0eXBlb2YoYXBwZW5kRWxl bSk9PSd1bmRlZmluZWQnKXthcHBlbmRFbGVtPWRvY3VtZW50LmdldEVsZW1lbnRz QnlUYWdOYW1lKCdib2R5JylbMF07fQp2YXIgYm94PVplcm9DbGlwYm9hcmQuZ2V0 RE9NT2JqZWN0UG9zaXRpb24odGhpcy5kb21FbGVtZW50LGFwcGVuZEVsZW0pO3Ro aXMuZGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO3ZhciBzdHlsZT10 aGlzLmRpdi5zdHlsZTtzdHlsZS5wb3NpdGlvbj0nYWJzb2x1dGUnO3N0eWxlLmxl ZnQ9JycrYm94LmxlZnQrJ3B4JztzdHlsZS50b3A9JycrYm94LnRvcCsncHgnO3N0 eWxlLndpZHRoPScnK2JveC53aWR0aCsncHgnO3N0eWxlLmhlaWdodD0nJytib3gu aGVpZ2h0KydweCc7c3R5bGUuekluZGV4PXRoaXMuekluZGV4O2lmKHR5cGVvZihz dHlsZXNUb0FkZCk9PSdvYmplY3QnKXtmb3IoYWRkZWRTdHlsZSBpbiBzdHlsZXNU b0FkZCl7c3R5bGVbYWRkZWRTdHlsZV09c3R5bGVzVG9BZGRbYWRkZWRTdHlsZV07 fX0KYXBwZW5kRWxlbS5hcHBlbmRDaGlsZCh0aGlzLmRpdik7dGhpcy5kaXYuaW5u ZXJIVE1MPXRoaXMuZ2V0SFRNTChib3gud2lkdGgsYm94LmhlaWdodCk7fSxnZXRI VE1MOmZ1bmN0aW9uKHdpZHRoLGhlaWdodCl7dmFyIGh0bWw9Jyc7dmFyIGZsYXNo dmFycz0naWQ9Jyt0aGlzLmlkKycmd2lkdGg9Jyt3aWR0aCsnJmhlaWdodD0nK2hl

aWdodDtpZihuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9NU0lFLykpe3ZhciBw cm90b2NvbD1sb2NhdGlvbi5ocmVmLm1hdGNoKC9eaHR0cHMvaSk/J2h0dHBzOi8v JzonaHR0cDovLyc7aHRtbCs9JzxvYmplY3QgY2xhc3NpZD0iY2xzaWQ6ZDI3Y2Ri NmUtYWU2ZC0xMWNmLTk2YjgtNDQ0NTUzNTQwMDAwIiBjb2RlYmFzZT0iJytwcm90 b2NvbCsnZG93bmxvYWQubWFjcm9tZWRpYS5jb20vcHViL3Nob2Nrd2F2ZS9jYWJz L2ZsYXNoL3N3Zmxhc2guY2FiI3ZlcnNpb249OSwwLDAsMCIgd2lkdGg9Iicrd2lk dGgrJyIgaGVpZ2h0PSInK2hlaWdodCsnIiBpZD0iJyt0aGlzLm1vdmllSWQrJyIg YWxpZ249Im1pZGRsZSI+PHBhcmFtIG5hbWU9ImFsbG93U2NyaXB0QWNjZXNzIiB2 YWx1ZT0iYWx3YXlzIiAvPjxwYXJhbSBuYW1lPSJhbGxvd0Z1bGxTY3JlZW4iIHZh bHVlPSJmYWxzZSIgLz48cGFyYW0gbmFtZT0ibW92aWUiIHZhbHVlPSInK1plcm9D bGlwYm9hcmQubW92aWVQYXRoKyciIC8+PHBhcmFtIG5hbWU9Imxvb3AiIHZhbHVl PSJmYWxzZSIgLz48cGFyYW0gbmFtZT0ibWVudSIgdmFsdWU9ImZhbHNlIiAvPjxw YXJhbSBuYW1lPSJxdWFsaXR5IiB2YWx1ZT0iYmVzdCIgLz48cGFyYW0gbmFtZT0i Ymdjb2xvciIgdmFsdWU9IiNmZmZmZmYiIC8+PHBhcmFtIG5hbWU9ImZsYXNodmFy cyIgdmFsdWU9IicrZmxhc2h2YXJzKyciLz48cGFyYW0gbmFtZT0id21vZGUiIHZh bHVlPSJ0cmFuc3BhcmVudCIvPjwvb2JqZWN0Pic7fQplbHNle2h0bWwrPSc8ZW1i ZWQgaWQ9IicrdGhpcy5tb3ZpZUlkKyciIHNyYz0iJytaZXJvQ2xpcGJvYXJkLm1v dmllUGF0aCsnIiBsb29wPSJmYWxzZSIgbWVudT0iZmFsc2UiIHF1YWxpdHk9ImJl c3QiIGJnY29sb3I9IiNmZmZmZmYiIHdpZHRoPSInK3dpZHRoKyciIGhlaWdodD0i JytoZWlnaHQrJyIgbmFtZT0iJyt0aGlzLm1vdmllSWQrJyIgYWxpZ249Im1pZGRs ZSIgYWxsb3dTY3JpcHRBY2Nlc3M9ImFsd2F5cyIgYWxsb3dGdWxsU2NyZWVuPSJm YWxzZSIgdHlwZT0iYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2giIHBsdWdp bnNwYWdlPSJodHRwOi8vd3d3Lm1hY3JvbWVkaWEuY29tL2dvL2dldGZsYXNocGxh eWVyIiBmbGFzaHZhcnM9IicrZmxhc2h2YXJzKyciIHdtb2RlPSJ0cmFuc3BhcmVu dCIgLz4nO30KcmV0dXJuIGh0bWw7fSxoaWRlOmZ1bmN0aW9uKCl7aWYodGhpcy5k aXYpe3RoaXMuZGl2LnN0eWxlLmxlZnQ9Jy0yMDAwcHgnO319LHNob3c6ZnVuY3Rp b24oKXt0aGlzLnJlcG9zaXRpb24oKTt9LGRlc3Ryb3k6ZnVuY3Rpb24oKXtpZih0 aGlzLmRvbUVsZW1lbnQmJnRoaXMuZGl2KXt0aGlzLmhpZGUoKTt0aGlzLmRpdi5p bm5lckhUTUw9Jyc7dmFyIGJvZHk9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05h bWUoJ2JvZHknKVswXTt0cnl7Ym9keS5yZW1vdmVDaGlsZCh0aGlzLmRpdik7fWNh dGNoKGUpezt9CnRoaXMuZG9tRWxlbWVudD1udWxsO3RoaXMuZGl2PW51bGw7fX0s cmVwb3NpdGlvbjpmdW5jdGlvbihlbGVtKXtpZihlbGVtKXt0aGlzLmRvbUVsZW1l bnQ9WmVyb0NsaXBib2FyZC4kKGVsZW0pO2lmKCF0aGlzLmRvbUVsZW1lbnQpdGhp cy5oaWRlKCk7fQppZih0aGlzLmRvbUVsZW1lbnQmJnRoaXMuZGl2KXt2YXIgYm94 PVplcm9DbGlwYm9hcmQuZ2V0RE9NT2JqZWN0UG9zaXRpb24odGhpcy5kb21FbGVt ZW50KTt2YXIgc3R5bGU9dGhpcy5kaXYuc3R5bGU7c3R5bGUubGVmdD0nJytib3gu bGVmdCsncHgnO3N0eWxlLnRvcD0nJytib3gudG9wKydweCc7fX0sc2V0VGV4dDpm dW5jdGlvbihuZXdUZXh0KXt0aGlzLmNsaXBUZXh0PW5ld1RleHQ7aWYodGhpcy5y ZWFkeSl0aGlzLm1vdmllLnNldFRleHQobmV3VGV4dCk7fSxhZGRFdmVudExpc3Rl bmVyOmZ1bmN0aW9uKGV2ZW50TmFtZSxmdW5jKXtldmVudE5hbWU9ZXZlbnROYW1l LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9eb24vLCcnKTtpZigh dGhpcy5oYW5kbGVyc1tldmVudE5hbWVdKXRoaXMuaGFuZGxlcnNbZXZlbnROYW1l XT1bXTt0aGlzLmhhbmRsZXJzW2V2ZW50TmFtZV0ucHVzaChmdW5jKTt9LHNldEhh bmRDdXJzb3I6ZnVuY3Rpb24oZW5hYmxlZCl7dGhpcy5oYW5kQ3Vyc29yRW5hYmxl ZD1lbmFibGVkO2lmKHRoaXMucmVhZHkpdGhpcy5tb3ZpZS5zZXRIYW5kQ3Vyc29y KGVuYWJsZWQpO30sc2V0Q1NTRWZmZWN0czpmdW5jdGlvbihlbmFibGVkKXt0aGlz LmNzc0VmZmVjdHM9ISFlbmFibGVkO30scmVjZWl2ZUV2ZW50OmZ1bmN0aW9uKGV2 ZW50TmFtZSxhcmdzKXtldmVudE5hbWU9ZXZlbnROYW1lLnRvU3RyaW5nKCkudG9M b3dlckNhc2UoKS5yZXBsYWNlKC9eb24vLCcnKTtzd2l0Y2goZXZlbnROYW1lKXtj YXNlJ2xvYWQnOnRoaXMubW92aWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhp cy5tb3ZpZUlkKTtpZighdGhpcy5tb3ZpZSl7dmFyIHNlbGY9dGhpcztzZXRUaW1l b3V0KGZ1bmN0aW9uKCl7c2VsZi5yZWNlaXZlRXZlbnQoJ2xvYWQnLG51bGwpO30s MSk7cmV0dXJuO30KaWYoIXRoaXMucmVhZHkmJm5hdmlnYXRvci51c2VyQWdlbnQu bWF0Y2goL0ZpcmVmb3gvKSYmbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvV2lu ZG93cy8pKXt2YXIgc2VsZj10aGlzO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtzZWxm LnJlY2VpdmVFdmVudCgnbG9hZCcsbnVsbCk7fSwxMDApO3RoaXMucmVhZHk9dHJ1 ZTtyZXR1cm47fQp0aGlzLnJlYWR5PXRydWU7dGhpcy5tb3ZpZS5zZXRUZXh0KHRo aXMuY2xpcFRleHQpO3RoaXMubW92aWUuc2V0SGFuZEN1cnNvcih0aGlzLmhhbmRD dXJzb3JFbmFibGVkKTticmVhaztjYXNlJ21vdXNlb3Zlcic6aWYodGhpcy5kb21F bGVtZW50JiZ0aGlzLmNzc0VmZmVjdHMpe3RoaXMuZG9tRWxlbWVudC5hZGRDbGFz

cygnaG92ZXInKTtpZih0aGlzLnJlY292ZXJBY3RpdmUpdGhpcy5kb21FbGVtZW50 LmFkZENsYXNzKCdhY3RpdmUnKTt9CmJyZWFrO2Nhc2UnbW91c2VvdXQnOmlmKHRo aXMuZG9tRWxlbWVudCYmdGhpcy5jc3NFZmZlY3RzKXt0aGlzLnJlY292ZXJBY3Rp dmU9ZmFsc2U7aWYodGhpcy5kb21FbGVtZW50Lmhhc0NsYXNzKCdhY3RpdmUnKSl7 dGhpcy5kb21FbGVtZW50LnJlbW92ZUNsYXNzKCdhY3RpdmUnKTt0aGlzLnJlY292 ZXJBY3RpdmU9dHJ1ZTt9CnRoaXMuZG9tRWxlbWVudC5yZW1vdmVDbGFzcygnaG92 ZXInKTt9CmJyZWFrO2Nhc2UnbW91c2Vkb3duJzppZih0aGlzLmRvbUVsZW1lbnQm JnRoaXMuY3NzRWZmZWN0cyl7dGhpcy5kb21FbGVtZW50LmFkZENsYXNzKCdhY3Rp dmUnKTt9CmJyZWFrO2Nhc2UnbW91c2V1cCc6aWYodGhpcy5kb21FbGVtZW50JiZ0 aGlzLmNzc0VmZmVjdHMpe3RoaXMuZG9tRWxlbWVudC5yZW1vdmVDbGFzcygnYWN0 aXZlJyk7dGhpcy5yZWNvdmVyQWN0aXZlPWZhbHNlO30KYnJlYWs7fQppZih0aGlz LmhhbmRsZXJzW2V2ZW50TmFtZV0pe2Zvcih2YXIgaWR4PTAsbGVuPXRoaXMuaGFu ZGxlcnNbZXZlbnROYW1lXS5sZW5ndGg7aWR4PGxlbjtpZHgrKyl7dmFyIGZ1bmM9 dGhpcy5oYW5kbGVyc1tldmVudE5hbWVdW2lkeF07aWYodHlwZW9mKGZ1bmMpPT0n ZnVuY3Rpb24nKXtmdW5jKHRoaXMsYXJncyk7fQplbHNlIGlmKCh0eXBlb2YoZnVu Yyk9PSdvYmplY3QnKSYmKGZ1bmMubGVuZ3RoPT0yKSl7ZnVuY1swXVtmdW5jWzFd XSh0aGlzLGFyZ3MpO30KZWxzZSBpZih0eXBlb2YoZnVuYyk9PSdzdHJpbmcnKXt3 aW5kb3dbZnVuY10odGhpcyxhcmdzKTt9fX19fTsKCgovKiBwdWJsaWMvamF2YXNj cmlwdHMvZWZmZWN0cy5qcyBAIDEzNDg1MTc1NzkgKi8KCnZhciBTY3JpcHRhY3Vs b3VzPXtWZXJzaW9uOicxLjguMyd9ClN0cmluZy5wcm90b3R5cGUucGFyc2VDb2xv cj1mdW5jdGlvbigpe3ZhciBjb2xvcj0nIyc7aWYodGhpcy5zbGljZSgwLDQpPT0n cmdiKCcpe3ZhciBjb2xzPXRoaXMuc2xpY2UoNCx0aGlzLmxlbmd0aC0xKS5zcGxp dCgnLCcpO3ZhciBpPTA7ZG97Y29sb3IrPXBhcnNlSW50KGNvbHNbaV0pLnRvQ29s b3JQYXJ0KCl9d2hpbGUoKytpPDMpO31lbHNle2lmKHRoaXMuc2xpY2UoMCwxKT09 JyMnKXtpZih0aGlzLmxlbmd0aD09NClmb3IodmFyIGk9MTtpPDQ7aSsrKWNvbG9y Kz0odGhpcy5jaGFyQXQoaSkrdGhpcy5jaGFyQXQoaSkpLnRvTG93ZXJDYXNlKCk7 aWYodGhpcy5sZW5ndGg9PTcpY29sb3I9dGhpcy50b0xvd2VyQ2FzZSgpO319CnJl dHVybihjb2xvci5sZW5ndGg9PTc/Y29sb3I6KGFyZ3VtZW50c1swXXx8dGhpcykp O307RWxlbWVudC5jb2xsZWN0VGV4dE5vZGVzPWZ1bmN0aW9uKGVsZW1lbnQpe3Jl dHVybiAkQSgkKGVsZW1lbnQpLmNoaWxkTm9kZXMpLmNvbGxlY3QoZnVuY3Rpb24o bm9kZSl7cmV0dXJuKG5vZGUubm9kZVR5cGU9PTM/bm9kZS5ub2RlVmFsdWU6KG5v ZGUuaGFzQ2hpbGROb2RlcygpP0VsZW1lbnQuY29sbGVjdFRleHROb2Rlcyhub2Rl KTonJykpO30pLmZsYXR0ZW4oKS5qb2luKCcnKTt9O0VsZW1lbnQuY29sbGVjdFRl eHROb2Rlc0lnbm9yZUNsYXNzPWZ1bmN0aW9uKGVsZW1lbnQsY2xhc3NOYW1lKXty ZXR1cm4gJEEoJChlbGVtZW50KS5jaGlsZE5vZGVzKS5jb2xsZWN0KGZ1bmN0aW9u KG5vZGUpe3JldHVybihub2RlLm5vZGVUeXBlPT0zP25vZGUubm9kZVZhbHVlOigo bm9kZS5oYXNDaGlsZE5vZGVzKCkmJiFFbGVtZW50Lmhhc0NsYXNzTmFtZShub2Rl LGNsYXNzTmFtZSkpP0VsZW1lbnQuY29sbGVjdFRleHROb2Rlc0lnbm9yZUNsYXNz KG5vZGUsY2xhc3NOYW1lKTonJykpO30pLmZsYXR0ZW4oKS5qb2luKCcnKTt9O0Vs ZW1lbnQuc2V0Q29udGVudFpvb209ZnVuY3Rpb24oZWxlbWVudCxwZXJjZW50KXtl bGVtZW50PSQoZWxlbWVudCk7ZWxlbWVudC5zZXRTdHlsZSh7Zm9udFNpemU6KHBl cmNlbnQvMTAwKSsnZW0nfSk7aWYoUHJvdG90eXBlLkJyb3dzZXIuV2ViS2l0KXdp bmRvdy5zY3JvbGxCeSgwLDApO3JldHVybiBlbGVtZW50O307RWxlbWVudC5nZXRJ bmxpbmVPcGFjaXR5PWZ1bmN0aW9uKGVsZW1lbnQpe3JldHVybiAkKGVsZW1lbnQp LnN0eWxlLm9wYWNpdHl8fCcnO307RWxlbWVudC5mb3JjZVJlcmVuZGVyaW5nPWZ1 bmN0aW9uKGVsZW1lbnQpe3RyeXtlbGVtZW50PSQoZWxlbWVudCk7dmFyIG49ZG9j dW1lbnQuY3JlYXRlVGV4dE5vZGUoJyAnKTtlbGVtZW50LmFwcGVuZENoaWxkKG4p O2VsZW1lbnQucmVtb3ZlQ2hpbGQobik7fWNhdGNoKGUpe319O3ZhciBFZmZlY3Q9 e19lbGVtZW50RG9lc05vdEV4aXN0RXJyb3I6e25hbWU6J0VsZW1lbnREb2VzTm90 RXhpc3RFcnJvcicsbWVzc2FnZTonVGhlIHNwZWNpZmllZCBET00gZWxlbWVudCBk b2VzIG5vdCBleGlzdCwgYnV0IGlzIHJlcXVpcmVkIGZvciB0aGlzIGVmZmVjdCB0 byBvcGVyYXRlJ30sVHJhbnNpdGlvbnM6e2xpbmVhcjpQcm90b3R5cGUuSyxzaW5v aWRhbDpmdW5jdGlvbihwb3Mpe3JldHVybigtTWF0aC5jb3MocG9zKk1hdGguUEkp LzIpKy41O30scmV2ZXJzZTpmdW5jdGlvbihwb3Mpe3JldHVybiAxLXBvczt9LGZs aWNrZXI6ZnVuY3Rpb24ocG9zKXt2YXIgcG9zPSgoLU1hdGguY29zKHBvcypNYXRo LlBJKS80KSsuNzUpK01hdGgucmFuZG9tKCkvNDtyZXR1cm4gcG9zPjE/MTpwb3M7 fSx3b2JibGU6ZnVuY3Rpb24ocG9zKXtyZXR1cm4oLU1hdGguY29zKHBvcypNYXRo LlBJKig5KnBvcykpLzIpKy41O30scHVsc2U6ZnVuY3Rpb24ocG9zLHB1bHNlcyl7 cmV0dXJuKC1NYXRoLmNvcygocG9zKigocHVsc2VzfHw1KS0uNSkqMikqTWF0aC5Q SSkvMikrLjU7fSxzcHJpbmc6ZnVuY3Rpb24ocG9zKXtyZXR1cm4gMS0oTWF0aC5j

b3MocG9zKjQuNSpNYXRoLlBJKSpNYXRoLmV4cCgtcG9zKjYpKTt9LG5vbmU6ZnVu Y3Rpb24ocG9zKXtyZXR1cm4gMDt9LGZ1bGw6ZnVuY3Rpb24ocG9zKXtyZXR1cm4g MTt9fSxEZWZhdWx0T3B0aW9uczp7ZHVyYXRpb246MS4wLGZwczoxMDAsc3luYzpm YWxzZSxmcm9tOjAuMCx0bzoxLjAsZGVsYXk6MC4wLHF1ZXVlOidwYXJhbGxlbCd9 LHRhZ2lmeVRleHQ6ZnVuY3Rpb24oZWxlbWVudCl7dmFyIHRhZ2lmeVN0eWxlPSdw b3NpdGlvbjpyZWxhdGl2ZSc7aWYoUHJvdG90eXBlLkJyb3dzZXIuSUUpdGFnaWZ5 U3R5bGUrPSc7em9vbToxJztlbGVtZW50PSQoZWxlbWVudCk7JEEoZWxlbWVudC5j aGlsZE5vZGVzKS5lYWNoKGZ1bmN0aW9uKGNoaWxkKXtpZihjaGlsZC5ub2RlVHlw ZT09Myl7Y2hpbGQubm9kZVZhbHVlLnRvQXJyYXkoKS5lYWNoKGZ1bmN0aW9uKGNo YXJhY3Rlcil7ZWxlbWVudC5pbnNlcnRCZWZvcmUobmV3IEVsZW1lbnQoJ3NwYW4n LHtzdHlsZTp0YWdpZnlTdHlsZX0pLnVwZGF0ZShjaGFyYWN0ZXI9PScgJz9TdHJp bmcuZnJvbUNoYXJDb2RlKDE2MCk6Y2hhcmFjdGVyKSxjaGlsZCk7fSk7RWxlbWVu dC5yZW1vdmUoY2hpbGQpO319KTt9LG11bHRpcGxlOmZ1bmN0aW9uKGVsZW1lbnQs ZWZmZWN0KXt2YXIgZWxlbWVudHM7aWYoKCh0eXBlb2YgZWxlbWVudD09J29iamVj dCcpfHxPYmplY3QuaXNGdW5jdGlvbihlbGVtZW50KSkmJihlbGVtZW50Lmxlbmd0 aCkpCmVsZW1lbnRzPWVsZW1lbnQ7ZWxzZQplbGVtZW50cz0kKGVsZW1lbnQpLmNo aWxkTm9kZXM7dmFyIG9wdGlvbnM9T2JqZWN0LmV4dGVuZCh7c3BlZWQ6MC4xLGRl bGF5OjAuMH0sYXJndW1lbnRzWzJdfHx7fSk7dmFyIG1hc3RlckRlbGF5PW9wdGlv bnMuZGVsYXk7JEEoZWxlbWVudHMpLmVhY2goZnVuY3Rpb24oZWxlbWVudCxpbmRl eCl7bmV3IGVmZmVjdChlbGVtZW50LE9iamVjdC5leHRlbmQob3B0aW9ucyx7ZGVs YXk6aW5kZXgqb3B0aW9ucy5zcGVlZCttYXN0ZXJEZWxheX0pKTt9KTt9LFBBSVJT Onsnc2xpZGUnOlsnU2xpZGVEb3duJywnU2xpZGVVcCddLCdibGluZCc6WydCbGlu ZERvd24nLCdCbGluZFVwJ10sJ2FwcGVhcic6WydBcHBlYXInLCdGYWRlJ119LHRv Z2dsZTpmdW5jdGlvbihlbGVtZW50LGVmZmVjdCl7ZWxlbWVudD0kKGVsZW1lbnQp O2VmZmVjdD0oZWZmZWN0fHwnYXBwZWFyJykudG9Mb3dlckNhc2UoKTt2YXIgb3B0 aW9ucz1PYmplY3QuZXh0ZW5kKHtxdWV1ZTp7cG9zaXRpb246J2VuZCcsc2NvcGU6 KGVsZW1lbnQuaWR8fCdnbG9iYWwnKSxsaW1pdDoxfX0sYXJndW1lbnRzWzJdfHx7 fSk7RWZmZWN0W2VsZW1lbnQudmlzaWJsZSgpP0VmZmVjdC5QQUlSU1tlZmZlY3Rd WzFdOkVmZmVjdC5QQUlSU1tlZmZlY3RdWzBdXShlbGVtZW50LG9wdGlvbnMpO319 O0VmZmVjdC5EZWZhdWx0T3B0aW9ucy50cmFuc2l0aW9uPUVmZmVjdC5UcmFuc2l0 aW9ucy5zaW5vaWRhbDtFZmZlY3QuU2NvcGVkUXVldWU9Q2xhc3MuY3JlYXRlKEVu dW1lcmFibGUse2luaXRpYWxpemU6ZnVuY3Rpb24oKXt0aGlzLmVmZmVjdHM9W107 dGhpcy5pbnRlcnZhbD1udWxsO30sX2VhY2g6ZnVuY3Rpb24oaXRlcmF0b3Ipe3Ro aXMuZWZmZWN0cy5fZWFjaChpdGVyYXRvcik7fSxhZGQ6ZnVuY3Rpb24oZWZmZWN0 KXt2YXIgdGltZXN0YW1wPW5ldyBEYXRlKCkuZ2V0VGltZSgpO3ZhciBwb3NpdGlv bj1PYmplY3QuaXNTdHJpbmcoZWZmZWN0Lm9wdGlvbnMucXVldWUpP2VmZmVjdC5v cHRpb25zLnF1ZXVlOmVmZmVjdC5vcHRpb25zLnF1ZXVlLnBvc2l0aW9uO3N3aXRj aChwb3NpdGlvbil7Y2FzZSdmcm9udCc6dGhpcy5lZmZlY3RzLmZpbmRBbGwoZnVu Y3Rpb24oZSl7cmV0dXJuIGUuc3RhdGU9PSdpZGxlJ30pLmVhY2goZnVuY3Rpb24o ZSl7ZS5zdGFydE9uKz1lZmZlY3QuZmluaXNoT247ZS5maW5pc2hPbis9ZWZmZWN0 LmZpbmlzaE9uO30pO2JyZWFrO2Nhc2Und2l0aC1sYXN0Jzp0aW1lc3RhbXA9dGhp cy5lZmZlY3RzLnBsdWNrKCdzdGFydE9uJykubWF4KCl8fHRpbWVzdGFtcDticmVh aztjYXNlJ2VuZCc6dGltZXN0YW1wPXRoaXMuZWZmZWN0cy5wbHVjaygnZmluaXNo T24nKS5tYXgoKXx8dGltZXN0YW1wO2JyZWFrO30KZWZmZWN0LnN0YXJ0T24rPXRp bWVzdGFtcDtlZmZlY3QuZmluaXNoT24rPXRpbWVzdGFtcDtpZighZWZmZWN0Lm9w dGlvbnMucXVldWUubGltaXR8fCh0aGlzLmVmZmVjdHMubGVuZ3RoPGVmZmVjdC5v cHRpb25zLnF1ZXVlLmxpbWl0KSkKdGhpcy5lZmZlY3RzLnB1c2goZWZmZWN0KTtp ZighdGhpcy5pbnRlcnZhbCkKdGhpcy5pbnRlcnZhbD1zZXRJbnRlcnZhbCh0aGlz Lmxvb3AuYmluZCh0aGlzKSwxNSk7fSxyZW1vdmU6ZnVuY3Rpb24oZWZmZWN0KXt0 aGlzLmVmZmVjdHM9dGhpcy5lZmZlY3RzLnJlamVjdChmdW5jdGlvbihlKXtyZXR1 cm4gZT09ZWZmZWN0fSk7aWYodGhpcy5lZmZlY3RzLmxlbmd0aD09MCl7Y2xlYXJJ bnRlcnZhbCh0aGlzLmludGVydmFsKTt0aGlzLmludGVydmFsPW51bGw7fX0sbG9v cDpmdW5jdGlvbigpe3ZhciB0aW1lUG9zPW5ldyBEYXRlKCkuZ2V0VGltZSgpO2Zv cih2YXIgaT0wLGxlbj10aGlzLmVmZmVjdHMubGVuZ3RoO2k8bGVuO2krKykKdHJ5 e3RoaXMuZWZmZWN0c1tpXSYmdGhpcy5lZmZlY3RzW2ldLmxvb3AodGltZVBvcyk7 fWNhdGNoKGUpe319fSk7RWZmZWN0LlF1ZXVlcz17aW5zdGFuY2VzOiRIKCksZ2V0 OmZ1bmN0aW9uKHF1ZXVlTmFtZSl7aWYoIU9iamVjdC5pc1N0cmluZyhxdWV1ZU5h bWUpKXJldHVybiBxdWV1ZU5hbWU7cmV0dXJuIHRoaXMuaW5zdGFuY2VzLmdldChx dWV1ZU5hbWUpfHx0aGlzLmluc3RhbmNlcy5zZXQocXVldWVOYW1lLG5ldyBFZmZl Y3QuU2NvcGVkUXVldWUoKSk7fX07RWZmZWN0LlF1ZXVlPUVmZmVjdC5RdWV1ZXMu

Z2V0KCdnbG9iYWwnKTtFZmZlY3QuQmFzZT1DbGFzcy5jcmVhdGUoe3Bvc2l0aW9u Om51bGwsc3RhcnQ6ZnVuY3Rpb24ob3B0aW9ucyl7ZnVuY3Rpb24gY29kZUZvckV2 ZW50KG9wdGlvbnMsZXZlbnROYW1lKXtyZXR1cm4oKG9wdGlvbnNbZXZlbnROYW1l KydJbnRlcm5hbCddPyd0aGlzLm9wdGlvbnMuJytldmVudE5hbWUrJ0ludGVybmFs KHRoaXMpOyc6JycpKwoob3B0aW9uc1tldmVudE5hbWVdPyd0aGlzLm9wdGlvbnMu JytldmVudE5hbWUrJyh0aGlzKTsnOicnKSk7fQppZihvcHRpb25zJiZvcHRpb25z LnRyYW5zaXRpb249PT1mYWxzZSlvcHRpb25zLnRyYW5zaXRpb249RWZmZWN0LlRy YW5zaXRpb25zLmxpbmVhcjt0aGlzLm9wdGlvbnM9T2JqZWN0LmV4dGVuZChPYmpl Y3QuZXh0ZW5kKHt9LEVmZmVjdC5EZWZhdWx0T3B0aW9ucyksb3B0aW9uc3x8e30p O3RoaXMuY3VycmVudEZyYW1lPTA7dGhpcy5zdGF0ZT0naWRsZSc7dGhpcy5zdGFy dE9uPXRoaXMub3B0aW9ucy5kZWxheSoxMDAwO3RoaXMuZmluaXNoT249dGhpcy5z dGFydE9uKyh0aGlzLm9wdGlvbnMuZHVyYXRpb24qMTAwMCk7dGhpcy5mcm9tVG9E ZWx0YT10aGlzLm9wdGlvbnMudG8tdGhpcy5vcHRpb25zLmZyb207dGhpcy50b3Rh bFRpbWU9dGhpcy5maW5pc2hPbi10aGlzLnN0YXJ0T247dGhpcy50b3RhbEZyYW1l cz10aGlzLm9wdGlvbnMuZnBzKnRoaXMub3B0aW9ucy5kdXJhdGlvbjt0aGlzLnJl bmRlcj0oZnVuY3Rpb24oKXtmdW5jdGlvbiBkaXNwYXRjaChlZmZlY3QsZXZlbnRO YW1lKXtpZihlZmZlY3Qub3B0aW9uc1tldmVudE5hbWUrJ0ludGVybmFsJ10pCmVm ZmVjdC5vcHRpb25zW2V2ZW50TmFtZSsnSW50ZXJuYWwnXShlZmZlY3QpO2lmKGVm ZmVjdC5vcHRpb25zW2V2ZW50TmFtZV0pCmVmZmVjdC5vcHRpb25zW2V2ZW50TmFt ZV0oZWZmZWN0KTt9CnJldHVybiBmdW5jdGlvbihwb3Mpe2lmKHRoaXMuc3RhdGU9 PT0iaWRsZSIpe3RoaXMuc3RhdGU9InJ1bm5pbmciO2Rpc3BhdGNoKHRoaXMsJ2Jl Zm9yZVNldHVwJyk7aWYodGhpcy5zZXR1cCl0aGlzLnNldHVwKCk7ZGlzcGF0Y2go dGhpcywnYWZ0ZXJTZXR1cCcpO30KaWYodGhpcy5zdGF0ZT09PSJydW5uaW5nIil7 cG9zPSh0aGlzLm9wdGlvbnMudHJhbnNpdGlvbihwb3MpKnRoaXMuZnJvbVRvRGVs dGEpK3RoaXMub3B0aW9ucy5mcm9tO3RoaXMucG9zaXRpb249cG9zO2Rpc3BhdGNo KHRoaXMsJ2JlZm9yZVVwZGF0ZScpO2lmKHRoaXMudXBkYXRlKXRoaXMudXBkYXRl KHBvcyk7ZGlzcGF0Y2godGhpcywnYWZ0ZXJVcGRhdGUnKTt9fTt9KSgpO3RoaXMu ZXZlbnQoJ2JlZm9yZVN0YXJ0Jyk7aWYoIXRoaXMub3B0aW9ucy5zeW5jKQpFZmZl Y3QuUXVldWVzLmdldChPYmplY3QuaXNTdHJpbmcodGhpcy5vcHRpb25zLnF1ZXVl KT8nZ2xvYmFsJzp0aGlzLm9wdGlvbnMucXVldWUuc2NvcGUpLmFkZCh0aGlzKTt9 LGxvb3A6ZnVuY3Rpb24odGltZVBvcyl7aWYodGltZVBvcz49dGhpcy5zdGFydE9u KXtpZih0aW1lUG9zPj10aGlzLmZpbmlzaE9uKXt0aGlzLnJlbmRlcigxLjApO3Ro aXMuY2FuY2VsKCk7dGhpcy5ldmVudCgnYmVmb3JlRmluaXNoJyk7aWYodGhpcy5m aW5pc2gpdGhpcy5maW5pc2goKTt0aGlzLmV2ZW50KCdhZnRlckZpbmlzaCcpO3Jl dHVybjt9CnZhciBwb3M9KHRpbWVQb3MtdGhpcy5zdGFydE9uKS90aGlzLnRvdGFs VGltZSxmcmFtZT0ocG9zKnRoaXMudG90YWxGcmFtZXMpLnJvdW5kKCk7aWYoZnJh bWU+dGhpcy5jdXJyZW50RnJhbWUpe3RoaXMucmVuZGVyKHBvcyk7dGhpcy5jdXJy ZW50RnJhbWU9ZnJhbWU7fX19LGNhbmNlbDpmdW5jdGlvbigpe2lmKCF0aGlzLm9w dGlvbnMuc3luYykKRWZmZWN0LlF1ZXVlcy5nZXQoT2JqZWN0LmlzU3RyaW5nKHRo aXMub3B0aW9ucy5xdWV1ZSk/J2dsb2JhbCc6dGhpcy5vcHRpb25zLnF1ZXVlLnNj b3BlKS5yZW1vdmUodGhpcyk7dGhpcy5zdGF0ZT0nZmluaXNoZWQnO30sZXZlbnQ6 ZnVuY3Rpb24oZXZlbnROYW1lKXtpZih0aGlzLm9wdGlvbnNbZXZlbnROYW1lKydJ bnRlcm5hbCddKXRoaXMub3B0aW9uc1tldmVudE5hbWUrJ0ludGVybmFsJ10odGhp cyk7aWYodGhpcy5vcHRpb25zW2V2ZW50TmFtZV0pdGhpcy5vcHRpb25zW2V2ZW50 TmFtZV0odGhpcyk7fSxpbnNwZWN0OmZ1bmN0aW9uKCl7dmFyIGRhdGE9JEgoKTtm b3IocHJvcGVydHkgaW4gdGhpcykKaWYoIU9iamVjdC5pc0Z1bmN0aW9uKHRoaXNb cHJvcGVydHldKSlkYXRhLnNldChwcm9wZXJ0eSx0aGlzW3Byb3BlcnR5XSk7cmV0 dXJuJyM8RWZmZWN0OicrZGF0YS5pbnNwZWN0KCkrJyxvcHRpb25zOicrJEgodGhp cy5vcHRpb25zKS5pbnNwZWN0KCkrJz4nO319KTtFZmZlY3QuUGFyYWxsZWw9Q2xh c3MuY3JlYXRlKEVmZmVjdC5CYXNlLHtpbml0aWFsaXplOmZ1bmN0aW9uKGVmZmVj dHMpe3RoaXMuZWZmZWN0cz1lZmZlY3RzfHxbXTt0aGlzLnN0YXJ0KGFyZ3VtZW50 c1sxXSk7fSx1cGRhdGU6ZnVuY3Rpb24ocG9zaXRpb24pe3RoaXMuZWZmZWN0cy5p bnZva2UoJ3JlbmRlcicscG9zaXRpb24pO30sZmluaXNoOmZ1bmN0aW9uKHBvc2l0 aW9uKXt0aGlzLmVmZmVjdHMuZWFjaChmdW5jdGlvbihlZmZlY3Qpe2VmZmVjdC5y ZW5kZXIoMS4wKTtlZmZlY3QuY2FuY2VsKCk7ZWZmZWN0LmV2ZW50KCdiZWZvcmVG aW5pc2gnKTtpZihlZmZlY3QuZmluaXNoKWVmZmVjdC5maW5pc2gocG9zaXRpb24p O2VmZmVjdC5ldmVudCgnYWZ0ZXJGaW5pc2gnKTt9KTt9fSk7RWZmZWN0LlR3ZWVu PUNsYXNzLmNyZWF0ZShFZmZlY3QuQmFzZSx7aW5pdGlhbGl6ZTpmdW5jdGlvbihv YmplY3QsZnJvbSx0byl7b2JqZWN0PU9iamVjdC5pc1N0cmluZyhvYmplY3QpPyQo b2JqZWN0KTpvYmplY3Q7dmFyIGFyZ3M9JEEoYXJndW1lbnRzKSxtZXRob2Q9YXJn

cy5sYXN0KCksb3B0aW9ucz1hcmdzLmxlbmd0aD09NT9hcmdzWzNdOm51bGw7dGhp cy5tZXRob2Q9T2JqZWN0LmlzRnVuY3Rpb24obWV0aG9kKT9tZXRob2QuYmluZChv YmplY3QpOk9iamVjdC5pc0Z1bmN0aW9uKG9iamVjdFttZXRob2RdKT9vYmplY3Rb bWV0aG9kXS5iaW5kKG9iamVjdCk6ZnVuY3Rpb24odmFsdWUpe29iamVjdFttZXRo b2RdPXZhbHVlfTt0aGlzLnN0YXJ0KE9iamVjdC5leHRlbmQoe2Zyb206ZnJvbSx0 bzp0b30sb3B0aW9uc3x8e30pKTt9LHVwZGF0ZTpmdW5jdGlvbihwb3NpdGlvbil7 dGhpcy5tZXRob2QocG9zaXRpb24pO319KTtFZmZlY3QuRXZlbnQ9Q2xhc3MuY3Jl YXRlKEVmZmVjdC5CYXNlLHtpbml0aWFsaXplOmZ1bmN0aW9uKCl7dGhpcy5zdGFy dChPYmplY3QuZXh0ZW5kKHtkdXJhdGlvbjowfSxhcmd1bWVudHNbMF18fHt9KSk7 fSx1cGRhdGU6UHJvdG90eXBlLmVtcHR5RnVuY3Rpb259KTtFZmZlY3QuT3BhY2l0 eT1DbGFzcy5jcmVhdGUoRWZmZWN0LkJhc2Use2luaXRpYWxpemU6ZnVuY3Rpb24o ZWxlbWVudCl7dGhpcy5lbGVtZW50PSQoZWxlbWVudCk7aWYoIXRoaXMuZWxlbWVu dCl0aHJvdyhFZmZlY3QuX2VsZW1lbnREb2VzTm90RXhpc3RFcnJvcik7aWYoUHJv dG90eXBlLkJyb3dzZXIuSUUmJighdGhpcy5lbGVtZW50LmN1cnJlbnRTdHlsZS5o YXNMYXlvdXQpKQp0aGlzLmVsZW1lbnQuc2V0U3R5bGUoe3pvb206MX0pO3ZhciBv cHRpb25zPU9iamVjdC5leHRlbmQoe2Zyb206dGhpcy5lbGVtZW50LmdldE9wYWNp dHkoKXx8MC4wLHRvOjEuMH0sYXJndW1lbnRzWzFdfHx7fSk7dGhpcy5zdGFydChv cHRpb25zKTt9LHVwZGF0ZTpmdW5jdGlvbihwb3NpdGlvbil7dGhpcy5lbGVtZW50 LnNldE9wYWNpdHkocG9zaXRpb24pO319KTtFZmZlY3QuTW92ZT1DbGFzcy5jcmVh dGUoRWZmZWN0LkJhc2Use2luaXRpYWxpemU6ZnVuY3Rpb24oZWxlbWVudCl7dGhp cy5lbGVtZW50PSQoZWxlbWVudCk7aWYoIXRoaXMuZWxlbWVudCl0aHJvdyhFZmZl Y3QuX2VsZW1lbnREb2VzTm90RXhpc3RFcnJvcik7dmFyIG9wdGlvbnM9T2JqZWN0 LmV4dGVuZCh7eDowLHk6MCxtb2RlOidyZWxhdGl2ZSd9LGFyZ3VtZW50c1sxXXx8 e30pO3RoaXMuc3RhcnQob3B0aW9ucyk7fSxzZXR1cDpmdW5jdGlvbigpe3RoaXMu ZWxlbWVudC5tYWtlUG9zaXRpb25lZCgpO3RoaXMub3JpZ2luYWxMZWZ0PXBhcnNl RmxvYXQodGhpcy5lbGVtZW50LmdldFN0eWxlKCdsZWZ0Jyl8fCcwJyk7dGhpcy5v cmlnaW5hbFRvcD1wYXJzZUZsb2F0KHRoaXMuZWxlbWVudC5nZXRTdHlsZSgndG9w Jyl8fCcwJyk7aWYodGhpcy5vcHRpb25zLm1vZGU9PSdhYnNvbHV0ZScpe3RoaXMu b3B0aW9ucy54PXRoaXMub3B0aW9ucy54LXRoaXMub3JpZ2luYWxMZWZ0O3RoaXMu b3B0aW9ucy55PXRoaXMub3B0aW9ucy55LXRoaXMub3JpZ2luYWxUb3A7fX0sdXBk YXRlOmZ1bmN0aW9uKHBvc2l0aW9uKXt0aGlzLmVsZW1lbnQuc2V0U3R5bGUoe2xl ZnQ6KHRoaXMub3B0aW9ucy54KnBvc2l0aW9uK3RoaXMub3JpZ2luYWxMZWZ0KS5y b3VuZCgpKydweCcsdG9wOih0aGlzLm9wdGlvbnMueSpwb3NpdGlvbit0aGlzLm9y aWdpbmFsVG9wKS5yb3VuZCgpKydweCd9KTt9fSk7RWZmZWN0Lk1vdmVCeT1mdW5j dGlvbihlbGVtZW50LHRvVG9wLHRvTGVmdCl7cmV0dXJuIG5ldyBFZmZlY3QuTW92 ZShlbGVtZW50LE9iamVjdC5leHRlbmQoe3g6dG9MZWZ0LHk6dG9Ub3B9LGFyZ3Vt ZW50c1szXXx8e30pKTt9O0VmZmVjdC5TY2FsZT1DbGFzcy5jcmVhdGUoRWZmZWN0 LkJhc2Use2luaXRpYWxpemU6ZnVuY3Rpb24oZWxlbWVudCxwZXJjZW50KXt0aGlz LmVsZW1lbnQ9JChlbGVtZW50KTtpZighdGhpcy5lbGVtZW50KXRocm93KEVmZmVj dC5fZWxlbWVudERvZXNOb3RFeGlzdEVycm9yKTt2YXIgb3B0aW9ucz1PYmplY3Qu ZXh0ZW5kKHtzY2FsZVg6dHJ1ZSxzY2FsZVk6dHJ1ZSxzY2FsZUNvbnRlbnQ6dHJ1 ZSxzY2FsZUZyb21DZW50ZXI6ZmFsc2Usc2NhbGVNb2RlOidib3gnLHNjYWxlRnJv bToxMDAuMCxzY2FsZVRvOnBlcmNlbnR9LGFyZ3VtZW50c1syXXx8e30pO3RoaXMu c3RhcnQob3B0aW9ucyk7fSxzZXR1cDpmdW5jdGlvbigpe3RoaXMucmVzdG9yZUFm dGVyRmluaXNoPXRoaXMub3B0aW9ucy5yZXN0b3JlQWZ0ZXJGaW5pc2h8fGZhbHNl O3RoaXMuZWxlbWVudFBvc2l0aW9uaW5nPXRoaXMuZWxlbWVudC5nZXRTdHlsZSgn cG9zaXRpb24nKTt0aGlzLm9yaWdpbmFsU3R5bGU9e307Wyd0b3AnLCdsZWZ0Jywn d2lkdGgnLCdoZWlnaHQnLCdmb250U2l6ZSddLmVhY2goZnVuY3Rpb24oayl7dGhp cy5vcmlnaW5hbFN0eWxlW2tdPXRoaXMuZWxlbWVudC5zdHlsZVtrXTt9LmJpbmQo dGhpcykpO3RoaXMub3JpZ2luYWxUb3A9dGhpcy5lbGVtZW50Lm9mZnNldFRvcDt0 aGlzLm9yaWdpbmFsTGVmdD10aGlzLmVsZW1lbnQub2Zmc2V0TGVmdDt2YXIgZm9u dFNpemU9dGhpcy5lbGVtZW50LmdldFN0eWxlKCdmb250LXNpemUnKXx8JzEwMCUn O1snZW0nLCdweCcsJyUnLCdwdCddLmVhY2goZnVuY3Rpb24oZm9udFNpemVUeXBl KXtpZihmb250U2l6ZS5pbmRleE9mKGZvbnRTaXplVHlwZSk+MCl7dGhpcy5mb250 U2l6ZT1wYXJzZUZsb2F0KGZvbnRTaXplKTt0aGlzLmZvbnRTaXplVHlwZT1mb250 U2l6ZVR5cGU7fX0uYmluZCh0aGlzKSk7dGhpcy5mYWN0b3I9KHRoaXMub3B0aW9u cy5zY2FsZVRvLXRoaXMub3B0aW9ucy5zY2FsZUZyb20pLzEwMDt0aGlzLmRpbXM9 bnVsbDtpZih0aGlzLm9wdGlvbnMuc2NhbGVNb2RlPT0nYm94JykKdGhpcy5kaW1z PVt0aGlzLmVsZW1lbnQub2Zmc2V0SGVpZ2h0LHRoaXMuZWxlbWVudC5vZmZzZXRX aWR0aF07aWYoL15jb250ZW50Ly50ZXN0KHRoaXMub3B0aW9ucy5zY2FsZU1vZGUp

KQp0aGlzLmRpbXM9W3RoaXMuZWxlbWVudC5zY3JvbGxIZWlnaHQsdGhpcy5lbGVt ZW50LnNjcm9sbFdpZHRoXTtpZighdGhpcy5kaW1zKQp0aGlzLmRpbXM9W3RoaXMu b3B0aW9ucy5zY2FsZU1vZGUub3JpZ2luYWxIZWlnaHQsdGhpcy5vcHRpb25zLnNj YWxlTW9kZS5vcmlnaW5hbFdpZHRoXTt9LHVwZGF0ZTpmdW5jdGlvbihwb3NpdGlv bil7dmFyIGN1cnJlbnRTY2FsZT0odGhpcy5vcHRpb25zLnNjYWxlRnJvbS8xMDAu MCkrKHRoaXMuZmFjdG9yKnBvc2l0aW9uKTtpZih0aGlzLm9wdGlvbnMuc2NhbGVD b250ZW50JiZ0aGlzLmZvbnRTaXplKQp0aGlzLmVsZW1lbnQuc2V0U3R5bGUoe2Zv bnRTaXplOnRoaXMuZm9udFNpemUqY3VycmVudFNjYWxlK3RoaXMuZm9udFNpemVU eXBlfSk7dGhpcy5zZXREaW1lbnNpb25zKHRoaXMuZGltc1swXSpjdXJyZW50U2Nh bGUsdGhpcy5kaW1zWzFdKmN1cnJlbnRTY2FsZSk7fSxmaW5pc2g6ZnVuY3Rpb24o cG9zaXRpb24pe2lmKHRoaXMucmVzdG9yZUFmdGVyRmluaXNoKXRoaXMuZWxlbWVu dC5zZXRTdHlsZSh0aGlzLm9yaWdpbmFsU3R5bGUpO30sc2V0RGltZW5zaW9uczpm dW5jdGlvbihoZWlnaHQsd2lkdGgpe3ZhciBkPXt9O2lmKHRoaXMub3B0aW9ucy5z Y2FsZVgpZC53aWR0aD13aWR0aC5yb3VuZCgpKydweCc7aWYodGhpcy5vcHRpb25z LnNjYWxlWSlkLmhlaWdodD1oZWlnaHQucm91bmQoKSsncHgnO2lmKHRoaXMub3B0 aW9ucy5zY2FsZUZyb21DZW50ZXIpe3ZhciB0b3BkPShoZWlnaHQtdGhpcy5kaW1z WzBdKS8yO3ZhciBsZWZ0ZD0od2lkdGgtdGhpcy5kaW1zWzFdKS8yO2lmKHRoaXMu ZWxlbWVudFBvc2l0aW9uaW5nPT0nYWJzb2x1dGUnKXtpZih0aGlzLm9wdGlvbnMu c2NhbGVZKWQudG9wPXRoaXMub3JpZ2luYWxUb3AtdG9wZCsncHgnO2lmKHRoaXMu b3B0aW9ucy5zY2FsZVgpZC5sZWZ0PXRoaXMub3JpZ2luYWxMZWZ0LWxlZnRkKydw eCc7fWVsc2V7aWYodGhpcy5vcHRpb25zLnNjYWxlWSlkLnRvcD0tdG9wZCsncHgn O2lmKHRoaXMub3B0aW9ucy5zY2FsZVgpZC5sZWZ0PS1sZWZ0ZCsncHgnO319CnRo aXMuZWxlbWVudC5zZXRTdHlsZShkKTt9fSk7RWZmZWN0LkhpZ2hsaWdodD1DbGFz cy5jcmVhdGUoRWZmZWN0LkJhc2Use2luaXRpYWxpemU6ZnVuY3Rpb24oZWxlbWVu dCl7dGhpcy5lbGVtZW50PSQoZWxlbWVudCk7aWYoIXRoaXMuZWxlbWVudCl0aHJv dyhFZmZlY3QuX2VsZW1lbnREb2VzTm90RXhpc3RFcnJvcik7dmFyIG9wdGlvbnM9 T2JqZWN0LmV4dGVuZCh7c3RhcnRjb2xvcjonI2ZmZmY5OSd9LGFyZ3VtZW50c1sx XXx8e30pO3RoaXMuc3RhcnQob3B0aW9ucyk7fSxzZXR1cDpmdW5jdGlvbigpe2lm KHRoaXMuZWxlbWVudC5nZXRTdHlsZSgnZGlzcGxheScpPT0nbm9uZScpe3RoaXMu Y2FuY2VsKCk7cmV0dXJuO30KdGhpcy5vbGRTdHlsZT17fTtpZighdGhpcy5vcHRp b25zLmtlZXBCYWNrZ3JvdW5kSW1hZ2Upe3RoaXMub2xkU3R5bGUuYmFja2dyb3Vu ZEltYWdlPXRoaXMuZWxlbWVudC5nZXRTdHlsZSgnYmFja2dyb3VuZC1pbWFnZScp O3RoaXMuZWxlbWVudC5zZXRTdHlsZSh7YmFja2dyb3VuZEltYWdlOidub25lJ30p O30KaWYoIXRoaXMub3B0aW9ucy5lbmRjb2xvcikKdGhpcy5vcHRpb25zLmVuZGNv bG9yPXRoaXMuZWxlbWVudC5nZXRTdHlsZSgnYmFja2dyb3VuZC1jb2xvcicpLnBh cnNlQ29sb3IoJyNmZmZmZmYnKTtpZighdGhpcy5vcHRpb25zLnJlc3RvcmVjb2xv cikKdGhpcy5vcHRpb25zLnJlc3RvcmVjb2xvcj10aGlzLmVsZW1lbnQuZ2V0U3R5 bGUoJ2JhY2tncm91bmQtY29sb3InKTt0aGlzLl9iYXNlPSRSKDAsMikubWFwKGZ1 bmN0aW9uKGkpe3JldHVybiBwYXJzZUludCh0aGlzLm9wdGlvbnMuc3RhcnRjb2xv ci5zbGljZShpKjIrMSxpKjIrMyksMTYpfS5iaW5kKHRoaXMpKTt0aGlzLl9kZWx0 YT0kUigwLDIpLm1hcChmdW5jdGlvbihpKXtyZXR1cm4gcGFyc2VJbnQodGhpcy5v cHRpb25zLmVuZGNvbG9yLnNsaWNlKGkqMisxLGkqMiszKSwxNiktdGhpcy5fYmFz ZVtpXX0uYmluZCh0aGlzKSk7fSx1cGRhdGU6ZnVuY3Rpb24ocG9zaXRpb24pe3Ro aXMuZWxlbWVudC5zZXRTdHlsZSh7YmFja2dyb3VuZENvbG9yOiRSKDAsMikuaW5q ZWN0KCcjJyxmdW5jdGlvbihtLHYsaSl7cmV0dXJuIG0rKCh0aGlzLl9iYXNlW2ld Kyh0aGlzLl9kZWx0YVtpXSpwb3NpdGlvbikpLnJvdW5kKCkudG9Db2xvclBhcnQo KSk7fS5iaW5kKHRoaXMpKX0pO30sZmluaXNoOmZ1bmN0aW9uKCl7dGhpcy5lbGVt ZW50LnNldFN0eWxlKE9iamVjdC5leHRlbmQodGhpcy5vbGRTdHlsZSx7YmFja2dy b3VuZENvbG9yOnRoaXMub3B0aW9ucy5yZXN0b3JlY29sb3J9KSk7fX0pO0VmZmVj dC5TY3JvbGxUbz1mdW5jdGlvbihlbGVtZW50KXt2YXIgb3B0aW9ucz1hcmd1bWVu dHNbMV18fHt9LHNjcm9sbE9mZnNldHM9ZG9jdW1lbnQudmlld3BvcnQuZ2V0U2Ny b2xsT2Zmc2V0cygpLGVsZW1lbnRPZmZzZXRzPSQoZWxlbWVudCkuY3VtdWxhdGl2 ZU9mZnNldCgpO2lmKG9wdGlvbnMub2Zmc2V0KWVsZW1lbnRPZmZzZXRzWzFdKz1v cHRpb25zLm9mZnNldDtyZXR1cm4gbmV3IEVmZmVjdC5Ud2VlbihudWxsLHNjcm9s bE9mZnNldHMudG9wLGVsZW1lbnRPZmZzZXRzWzFdLG9wdGlvbnMsZnVuY3Rpb24o cCl7c2Nyb2xsVG8oc2Nyb2xsT2Zmc2V0cy5sZWZ0LHAucm91bmQoKSk7fSk7fTtF ZmZlY3QuRmFkZT1mdW5jdGlvbihlbGVtZW50KXtlbGVtZW50PSQoZWxlbWVudCk7 dmFyIG9sZE9wYWNpdHk9ZWxlbWVudC5nZXRJbmxpbmVPcGFjaXR5KCk7dmFyIG9w dGlvbnM9T2JqZWN0LmV4dGVuZCh7ZnJvbTplbGVtZW50LmdldE9wYWNpdHkoKXx8 MS4wLHRvOjAuMCxhZnRlckZpbmlzaEludGVybmFsOmZ1bmN0aW9uKGVmZmVjdCl7

aWYoZWZmZWN0Lm9wdGlvbnMudG8hPTApcmV0dXJuO2VmZmVjdC5lbGVtZW50Lmhp ZGUoKS5zZXRTdHlsZSh7b3BhY2l0eTpvbGRPcGFjaXR5fSk7fX0sYXJndW1lbnRz WzFdfHx7fSk7cmV0dXJuIG5ldyBFZmZlY3QuT3BhY2l0eShlbGVtZW50LG9wdGlv bnMpO307RWZmZWN0LkFwcGVhcj1mdW5jdGlvbihlbGVtZW50KXtlbGVtZW50PSQo ZWxlbWVudCk7dmFyIG9wdGlvbnM9T2JqZWN0LmV4dGVuZCh7ZnJvbTooZWxlbWVu dC5nZXRTdHlsZSgnZGlzcGxheScpPT0nbm9uZSc/MC4wOmVsZW1lbnQuZ2V0T3Bh Y2l0eSgpfHwwLjApLHRvOjEuMCxhZnRlckZpbmlzaEludGVybmFsOmZ1bmN0aW9u KGVmZmVjdCl7ZWZmZWN0LmVsZW1lbnQuZm9yY2VSZXJlbmRlcmluZygpO30sYmVm b3JlU2V0dXA6ZnVuY3Rpb24oZWZmZWN0KXtlZmZlY3QuZWxlbWVudC5zZXRPcGFj aXR5KGVmZmVjdC5vcHRpb25zLmZyb20pLnNob3coKTt9fSxhcmd1bWVudHNbMV18 fHt9KTtyZXR1cm4gbmV3IEVmZmVjdC5PcGFjaXR5KGVsZW1lbnQsb3B0aW9ucyk7 fTtFZmZlY3QuUHVmZj1mdW5jdGlvbihlbGVtZW50KXtlbGVtZW50PSQoZWxlbWVu dCk7dmFyIG9sZFN0eWxlPXtvcGFjaXR5OmVsZW1lbnQuZ2V0SW5saW5lT3BhY2l0 eSgpLHBvc2l0aW9uOmVsZW1lbnQuZ2V0U3R5bGUoJ3Bvc2l0aW9uJyksdG9wOmVs ZW1lbnQuc3R5bGUudG9wLGxlZnQ6ZWxlbWVudC5zdHlsZS5sZWZ0LHdpZHRoOmVs ZW1lbnQuc3R5bGUud2lkdGgsaGVpZ2h0OmVsZW1lbnQuc3R5bGUuaGVpZ2h0fTty ZXR1cm4gbmV3IEVmZmVjdC5QYXJhbGxlbChbbmV3IEVmZmVjdC5TY2FsZShlbGVt ZW50LDIwMCx7c3luYzp0cnVlLHNjYWxlRnJvbUNlbnRlcjp0cnVlLHNjYWxlQ29u dGVudDp0cnVlLHJlc3RvcmVBZnRlckZpbmlzaDp0cnVlfSksbmV3IEVmZmVjdC5P cGFjaXR5KGVsZW1lbnQse3N5bmM6dHJ1ZSx0bzowLjB9KV0sT2JqZWN0LmV4dGVu ZCh7ZHVyYXRpb246MS4wLGJlZm9yZVNldHVwSW50ZXJuYWw6ZnVuY3Rpb24oZWZm ZWN0KXtQb3NpdGlvbi5hYnNvbHV0aXplKGVmZmVjdC5lZmZlY3RzWzBdLmVsZW1l bnQpO30sYWZ0ZXJGaW5pc2hJbnRlcm5hbDpmdW5jdGlvbihlZmZlY3Qpe2VmZmVj dC5lZmZlY3RzWzBdLmVsZW1lbnQuaGlkZSgpLnNldFN0eWxlKG9sZFN0eWxlKTt9 fSxhcmd1bWVudHNbMV18fHt9KSk7fTtFZmZlY3QuQmxpbmRVcD1mdW5jdGlvbihl bGVtZW50KXtlbGVtZW50PSQoZWxlbWVudCk7ZWxlbWVudC5tYWtlQ2xpcHBpbmco KTt2YXIgZWxlbWVudERpbWVuc2lvbnM9ZWxlbWVudC5nZXREaW1lbnNpb25zKCk7 dmFyIG09LyguKj8pcHgvLmV4ZWMoZWxlbWVudC5nZXRTdHlsZSgnaGVpZ2h0Jykp O3ZhciBoZWlnaHQ9bVsxXT9wYXJzZUludChtWzFdKTplbGVtZW50RGltZW5zaW9u cy5oZWlnaHQ7cmV0dXJuIG5ldyBFZmZlY3QuU2NhbGUoZWxlbWVudCwwLE9iamVj dC5leHRlbmQoe3NjYWxlQ29udGVudDpmYWxzZSxzY2FsZVg6ZmFsc2Usc2NhbGVN b2RlOntvcmlnaW5hbEhlaWdodDpoZWlnaHQsb3JpZ2luYWxXaWR0aDplbGVtZW50 RGltZW5zaW9ucy53aWR0aH0scmVzdG9yZUFmdGVyRmluaXNoOnRydWUsYWZ0ZXJG aW5pc2hJbnRlcm5hbDpmdW5jdGlvbihlZmZlY3Qpe2VmZmVjdC5lbGVtZW50Lmhp ZGUoKS51bmRvQ2xpcHBpbmcoKTt9fSxhcmd1bWVudHNbMV18fHt9KSk7fTtFZmZl Y3QuQmxpbmREb3duPWZ1bmN0aW9uKGVsZW1lbnQpe2VsZW1lbnQ9JChlbGVtZW50 KTt2YXIgZWxlbWVudERpbWVuc2lvbnM9ZWxlbWVudC5nZXREaW1lbnNpb25zKCk7 cmV0dXJuIG5ldyBFZmZlY3QuU2NhbGUoZWxlbWVudCwxMDAsT2JqZWN0LmV4dGVu ZCh7c2NhbGVDb250ZW50OmZhbHNlLHNjYWxlWDpmYWxzZSxzY2FsZUZyb206MCxz Y2FsZU1vZGU6e29yaWdpbmFsSGVpZ2h0OmVsZW1lbnREaW1lbnNpb25zLmhlaWdo dCxvcmlnaW5hbFdpZHRoOmVsZW1lbnREaW1lbnNpb25zLndpZHRofSxyZXN0b3Jl QWZ0ZXJGaW5pc2g6dHJ1ZSxhZnRlclNldHVwOmZ1bmN0aW9uKGVmZmVjdCl7ZWZm ZWN0LmVsZW1lbnQubWFrZUNsaXBwaW5nKCkuc2V0U3R5bGUoe2hlaWdodDonMHB4 J30pLnNob3coKTt9LGFmdGVyRmluaXNoSW50ZXJuYWw6ZnVuY3Rpb24oZWZmZWN0 KXtlZmZlY3QuZWxlbWVudC51bmRvQ2xpcHBpbmcoKTt9fSxhcmd1bWVudHNbMV18 fHt9KSk7fTtFZmZlY3QuU3dpdGNoT2ZmPWZ1bmN0aW9uKGVsZW1lbnQpe2VsZW1l bnQ9JChlbGVtZW50KTt2YXIgb2xkT3BhY2l0eT1lbGVtZW50LmdldElubGluZU9w YWNpdHkoKTtyZXR1cm4gbmV3IEVmZmVjdC5BcHBlYXIoZWxlbWVudCxPYmplY3Qu ZXh0ZW5kKHtkdXJhdGlvbjowLjQsZnJvbTowLHRyYW5zaXRpb246RWZmZWN0LlRy YW5zaXRpb25zLmZsaWNrZXIsYWZ0ZXJGaW5pc2hJbnRlcm5hbDpmdW5jdGlvbihl ZmZlY3Qpe25ldyBFZmZlY3QuU2NhbGUoZWZmZWN0LmVsZW1lbnQsMSx7ZHVyYXRp b246MC4zLHNjYWxlRnJvbUNlbnRlcjp0cnVlLHNjYWxlWDpmYWxzZSxzY2FsZUNv bnRlbnQ6ZmFsc2UscmVzdG9yZUFmdGVyRmluaXNoOnRydWUsYmVmb3JlU2V0dXA6 ZnVuY3Rpb24oZWZmZWN0KXtlZmZlY3QuZWxlbWVudC5tYWtlUG9zaXRpb25lZCgp Lm1ha2VDbGlwcGluZygpO30sYWZ0ZXJGaW5pc2hJbnRlcm5hbDpmdW5jdGlvbihl ZmZlY3Qpe2VmZmVjdC5lbGVtZW50LmhpZGUoKS51bmRvQ2xpcHBpbmcoKS51bmRv UG9zaXRpb25lZCgpLnNldFN0eWxlKHtvcGFjaXR5Om9sZE9wYWNpdHl9KTt9fSk7 fX0sYXJndW1lbnRzWzFdfHx7fSkpO307RWZmZWN0LkRyb3BPdXQ9ZnVuY3Rpb24o ZWxlbWVudCl7ZWxlbWVudD0kKGVsZW1lbnQpO3ZhciBvbGRTdHlsZT17dG9wOmVs ZW1lbnQuZ2V0U3R5bGUoJ3RvcCcpLGxlZnQ6ZWxlbWVudC5nZXRTdHlsZSgnbGVm

dCcpLG9wYWNpdHk6ZWxlbWVudC5nZXRJbmxpbmVPcGFjaXR5KCl9O3JldHVybiBu ZXcgRWZmZWN0LlBhcmFsbGVsKFtuZXcgRWZmZWN0Lk1vdmUoZWxlbWVudCx7eDow LHk6MTAwLHN5bmM6dHJ1ZX0pLG5ldyBFZmZlY3QuT3BhY2l0eShlbGVtZW50LHtz eW5jOnRydWUsdG86MC4wfSldLE9iamVjdC5leHRlbmQoe2R1cmF0aW9uOjAuNSxi ZWZvcmVTZXR1cDpmdW5jdGlvbihlZmZlY3Qpe2VmZmVjdC5lZmZlY3RzWzBdLmVs ZW1lbnQubWFrZVBvc2l0aW9uZWQoKTt9LGFmdGVyRmluaXNoSW50ZXJuYWw6ZnVu Y3Rpb24oZWZmZWN0KXtlZmZlY3QuZWZmZWN0c1swXS5lbGVtZW50LmhpZGUoKS51 bmRvUG9zaXRpb25lZCgpLnNldFN0eWxlKG9sZFN0eWxlKTt9fSxhcmd1bWVudHNb MV18fHt9KSk7fTtFZmZlY3QuU2hha2U9ZnVuY3Rpb24oZWxlbWVudCl7ZWxlbWVu dD0kKGVsZW1lbnQpO3ZhciBvcHRpb25zPU9iamVjdC5leHRlbmQoe2Rpc3RhbmNl OjIwLGR1cmF0aW9uOjAuNX0sYXJndW1lbnRzWzFdfHx7fSk7dmFyIGRpc3RhbmNl PXBhcnNlRmxvYXQob3B0aW9ucy5kaXN0YW5jZSk7dmFyIHNwbGl0PXBhcnNlRmxv YXQob3B0aW9ucy5kdXJhdGlvbikvMTAuMDt2YXIgb2xkU3R5bGU9e3RvcDplbGVt ZW50LmdldFN0eWxlKCd0b3AnKSxsZWZ0OmVsZW1lbnQuZ2V0U3R5bGUoJ2xlZnQn KX07cmV0dXJuIG5ldyBFZmZlY3QuTW92ZShlbGVtZW50LHt4OmRpc3RhbmNlLHk6 MCxkdXJhdGlvbjpzcGxpdCxhZnRlckZpbmlzaEludGVybmFsOmZ1bmN0aW9uKGVm ZmVjdCl7bmV3IEVmZmVjdC5Nb3ZlKGVmZmVjdC5lbGVtZW50LHt4Oi1kaXN0YW5j ZSoyLHk6MCxkdXJhdGlvbjpzcGxpdCoyLGFmdGVyRmluaXNoSW50ZXJuYWw6ZnVu Y3Rpb24oZWZmZWN0KXtuZXcgRWZmZWN0Lk1vdmUoZWZmZWN0LmVsZW1lbnQse3g6 ZGlzdGFuY2UqMix5OjAsZHVyYXRpb246c3BsaXQqMixhZnRlckZpbmlzaEludGVy bmFsOmZ1bmN0aW9uKGVmZmVjdCl7bmV3IEVmZmVjdC5Nb3ZlKGVmZmVjdC5lbGVt ZW50LHt4Oi1kaXN0YW5jZSoyLHk6MCxkdXJhdGlvbjpzcGxpdCoyLGFmdGVyRmlu aXNoSW50ZXJuYWw6ZnVuY3Rpb24oZWZmZWN0KXtuZXcgRWZmZWN0Lk1vdmUoZWZm ZWN0LmVsZW1lbnQse3g6ZGlzdGFuY2UqMix5OjAsZHVyYXRpb246c3BsaXQqMixh ZnRlckZpbmlzaEludGVybmFsOmZ1bmN0aW9uKGVmZmVjdCl7bmV3IEVmZmVjdC5N b3ZlKGVmZmVjdC5lbGVtZW50LHt4Oi1kaXN0YW5jZSx5OjAsZHVyYXRpb246c3Bs aXQsYWZ0ZXJGaW5pc2hJbnRlcm5hbDpmdW5jdGlvbihlZmZlY3Qpe2VmZmVjdC5l bGVtZW50LnVuZG9Qb3NpdGlvbmVkKCkuc2V0U3R5bGUob2xkU3R5bGUpO319KTt9 fSk7fX0pO319KTt9fSk7fX0pO307RWZmZWN0LlNsaWRlRG93bj1mdW5jdGlvbihl bGVtZW50KXtlbGVtZW50PSQoZWxlbWVudCkuY2xlYW5XaGl0ZXNwYWNlKCk7dmFy IG9sZElubmVyQm90dG9tPWVsZW1lbnQuZG93bigpLmdldFN0eWxlKCdib3R0b20n KTt2YXIgZWxlbWVudERpbWVuc2lvbnM9ZWxlbWVudC5nZXREaW1lbnNpb25zKCk7 cmV0dXJuIG5ldyBFZmZlY3QuU2NhbGUoZWxlbWVudCwxMDAsT2JqZWN0LmV4dGVu ZCh7c2NhbGVDb250ZW50OmZhbHNlLHNjYWxlWDpmYWxzZSxzY2FsZUZyb206d2lu ZG93Lm9wZXJhPzA6MSxzY2FsZU1vZGU6e29yaWdpbmFsSGVpZ2h0OmVsZW1lbnRE aW1lbnNpb25zLmhlaWdodCxvcmlnaW5hbFdpZHRoOmVsZW1lbnREaW1lbnNpb25z LndpZHRofSxyZXN0b3JlQWZ0ZXJGaW5pc2g6dHJ1ZSxhZnRlclNldHVwOmZ1bmN0 aW9uKGVmZmVjdCl7ZWZmZWN0LmVsZW1lbnQubWFrZVBvc2l0aW9uZWQoKTtlZmZl Y3QuZWxlbWVudC5kb3duKCkubWFrZVBvc2l0aW9uZWQoKTtpZih3aW5kb3cub3Bl cmEpZWZmZWN0LmVsZW1lbnQuc2V0U3R5bGUoe3RvcDonJ30pO2VmZmVjdC5lbGVt ZW50Lm1ha2VDbGlwcGluZygpLnNldFN0eWxlKHtoZWlnaHQ6JzBweCd9KS5zaG93 KCk7fSxhZnRlclVwZGF0ZUludGVybmFsOmZ1bmN0aW9uKGVmZmVjdCl7ZWZmZWN0 LmVsZW1lbnQuZG93bigpLnNldFN0eWxlKHtib3R0b206KGVmZmVjdC5kaW1zWzBd LWVmZmVjdC5lbGVtZW50LmNsaWVudEhlaWdodCkrJ3B4J30pO30sYWZ0ZXJGaW5p c2hJbnRlcm5hbDpmdW5jdGlvbihlZmZlY3Qpe2VmZmVjdC5lbGVtZW50LnVuZG9D bGlwcGluZygpLnVuZG9Qb3NpdGlvbmVkKCk7ZWZmZWN0LmVsZW1lbnQuZG93bigp LnVuZG9Qb3NpdGlvbmVkKCkuc2V0U3R5bGUoe2JvdHRvbTpvbGRJbm5lckJvdHRv bX0pO319LGFyZ3VtZW50c1sxXXx8e30pKTt9O0VmZmVjdC5TbGlkZVVwPWZ1bmN0 aW9uKGVsZW1lbnQpe2VsZW1lbnQ9JChlbGVtZW50KS5jbGVhbldoaXRlc3BhY2Uo KTt2YXIgb2xkSW5uZXJCb3R0b209ZWxlbWVudC5kb3duKCkuZ2V0U3R5bGUoJ2Jv dHRvbScpO3ZhciBlbGVtZW50RGltZW5zaW9ucz1lbGVtZW50LmdldERpbWVuc2lv bnMoKTtyZXR1cm4gbmV3IEVmZmVjdC5TY2FsZShlbGVtZW50LHdpbmRvdy5vcGVy YT8wOjEsT2JqZWN0LmV4dGVuZCh7c2NhbGVDb250ZW50OmZhbHNlLHNjYWxlWDpm YWxzZSxzY2FsZU1vZGU6J2JveCcsc2NhbGVGcm9tOjEwMCxzY2FsZU1vZGU6e29y aWdpbmFsSGVpZ2h0OmVsZW1lbnREaW1lbnNpb25zLmhlaWdodCxvcmlnaW5hbFdp ZHRoOmVsZW1lbnREaW1lbnNpb25zLndpZHRofSxyZXN0b3JlQWZ0ZXJGaW5pc2g6 dHJ1ZSxhZnRlclNldHVwOmZ1bmN0aW9uKGVmZmVjdCl7ZWZmZWN0LmVsZW1lbnQu bWFrZVBvc2l0aW9uZWQoKTtlZmZlY3QuZWxlbWVudC5kb3duKCkubWFrZVBvc2l0 aW9uZWQoKTtpZih3aW5kb3cub3BlcmEpZWZmZWN0LmVsZW1lbnQuc2V0U3R5bGUo e3RvcDonJ30pO2VmZmVjdC5lbGVtZW50Lm1ha2VDbGlwcGluZygpLnNob3coKTt9

LGFmdGVyVXBkYXRlSW50ZXJuYWw6ZnVuY3Rpb24oZWZmZWN0KXtlZmZlY3QuZWxl bWVudC5kb3duKCkuc2V0U3R5bGUoe2JvdHRvbTooZWZmZWN0LmRpbXNbMF0tZWZm ZWN0LmVsZW1lbnQuY2xpZW50SGVpZ2h0KSsncHgnfSk7fSxhZnRlckZpbmlzaElu dGVybmFsOmZ1bmN0aW9uKGVmZmVjdCl7ZWZmZWN0LmVsZW1lbnQuaGlkZSgpLnVu ZG9DbGlwcGluZygpLnVuZG9Qb3NpdGlvbmVkKCk7ZWZmZWN0LmVsZW1lbnQuZG93 bigpLnVuZG9Qb3NpdGlvbmVkKCkuc2V0U3R5bGUoe2JvdHRvbTpvbGRJbm5lckJv dHRvbX0pO319LGFyZ3VtZW50c1sxXXx8e30pKTt9O0VmZmVjdC5TcXVpc2g9ZnVu Y3Rpb24oZWxlbWVudCl7cmV0dXJuIG5ldyBFZmZlY3QuU2NhbGUoZWxlbWVudCx3 aW5kb3cub3BlcmE/MTowLHtyZXN0b3JlQWZ0ZXJGaW5pc2g6dHJ1ZSxiZWZvcmVT ZXR1cDpmdW5jdGlvbihlZmZlY3Qpe2VmZmVjdC5lbGVtZW50Lm1ha2VDbGlwcGlu ZygpO30sYWZ0ZXJGaW5pc2hJbnRlcm5hbDpmdW5jdGlvbihlZmZlY3Qpe2VmZmVj dC5lbGVtZW50LmhpZGUoKS51bmRvQ2xpcHBpbmcoKTt9fSk7fTtFZmZlY3QuR3Jv dz1mdW5jdGlvbihlbGVtZW50KXtlbGVtZW50PSQoZWxlbWVudCk7dmFyIG9wdGlv bnM9T2JqZWN0LmV4dGVuZCh7ZGlyZWN0aW9uOidjZW50ZXInLG1vdmVUcmFuc2l0 aW9uOkVmZmVjdC5UcmFuc2l0aW9ucy5zaW5vaWRhbCxzY2FsZVRyYW5zaXRpb246 RWZmZWN0LlRyYW5zaXRpb25zLnNpbm9pZGFsLG9wYWNpdHlUcmFuc2l0aW9uOkVm ZmVjdC5UcmFuc2l0aW9ucy5mdWxsfSxhcmd1bWVudHNbMV18fHt9KTt2YXIgb2xk U3R5bGU9e3RvcDplbGVtZW50LnN0eWxlLnRvcCxsZWZ0OmVsZW1lbnQuc3R5bGUu bGVmdCxoZWlnaHQ6ZWxlbWVudC5zdHlsZS5oZWlnaHQsd2lkdGg6ZWxlbWVudC5z dHlsZS53aWR0aCxvcGFjaXR5OmVsZW1lbnQuZ2V0SW5saW5lT3BhY2l0eSgpfTt2 YXIgZGltcz1lbGVtZW50LmdldERpbWVuc2lvbnMoKTt2YXIgaW5pdGlhbE1vdmVY LGluaXRpYWxNb3ZlWTt2YXIgbW92ZVgsbW92ZVk7c3dpdGNoKG9wdGlvbnMuZGly ZWN0aW9uKXtjYXNlJ3RvcC1sZWZ0Jzppbml0aWFsTW92ZVg9aW5pdGlhbE1vdmVZ PW1vdmVYPW1vdmVZPTA7YnJlYWs7Y2FzZSd0b3AtcmlnaHQnOmluaXRpYWxNb3Zl WD1kaW1zLndpZHRoO2luaXRpYWxNb3ZlWT1tb3ZlWT0wO21vdmVYPS1kaW1zLndp ZHRoO2JyZWFrO2Nhc2UnYm90dG9tLWxlZnQnOmluaXRpYWxNb3ZlWD1tb3ZlWD0w O2luaXRpYWxNb3ZlWT1kaW1zLmhlaWdodDttb3ZlWT0tZGltcy5oZWlnaHQ7YnJl YWs7Y2FzZSdib3R0b20tcmlnaHQnOmluaXRpYWxNb3ZlWD1kaW1zLndpZHRoO2lu aXRpYWxNb3ZlWT1kaW1zLmhlaWdodDttb3ZlWD0tZGltcy53aWR0aDttb3ZlWT0t ZGltcy5oZWlnaHQ7YnJlYWs7Y2FzZSdjZW50ZXInOmluaXRpYWxNb3ZlWD1kaW1z LndpZHRoLzI7aW5pdGlhbE1vdmVZPWRpbXMuaGVpZ2h0LzI7bW92ZVg9LWRpbXMu d2lkdGgvMjttb3ZlWT0tZGltcy5oZWlnaHQvMjticmVhazt9CnJldHVybiBuZXcg RWZmZWN0Lk1vdmUoZWxlbWVudCx7eDppbml0aWFsTW92ZVgseTppbml0aWFsTW92 ZVksZHVyYXRpb246MC4wMSxiZWZvcmVTZXR1cDpmdW5jdGlvbihlZmZlY3Qpe2Vm ZmVjdC5lbGVtZW50LmhpZGUoKS5tYWtlQ2xpcHBpbmcoKS5tYWtlUG9zaXRpb25l ZCgpO30sYWZ0ZXJGaW5pc2hJbnRlcm5hbDpmdW5jdGlvbihlZmZlY3Qpe25ldyBF ZmZlY3QuUGFyYWxsZWwoW25ldyBFZmZlY3QuT3BhY2l0eShlZmZlY3QuZWxlbWVu dCx7c3luYzp0cnVlLHRvOjEuMCxmcm9tOjAuMCx0cmFuc2l0aW9uOm9wdGlvbnMu b3BhY2l0eVRyYW5zaXRpb259KSxuZXcgRWZmZWN0Lk1vdmUoZWZmZWN0LmVsZW1l bnQse3g6bW92ZVgseTptb3ZlWSxzeW5jOnRydWUsdHJhbnNpdGlvbjpvcHRpb25z Lm1vdmVUcmFuc2l0aW9ufSksbmV3IEVmZmVjdC5TY2FsZShlZmZlY3QuZWxlbWVu dCwxMDAse3NjYWxlTW9kZTp7b3JpZ2luYWxIZWlnaHQ6ZGltcy5oZWlnaHQsb3Jp Z2luYWxXaWR0aDpkaW1zLndpZHRofSxzeW5jOnRydWUsc2NhbGVGcm9tOndpbmRv dy5vcGVyYT8xOjAsdHJhbnNpdGlvbjpvcHRpb25zLnNjYWxlVHJhbnNpdGlvbixy ZXN0b3JlQWZ0ZXJGaW5pc2g6dHJ1ZX0pXSxPYmplY3QuZXh0ZW5kKHtiZWZvcmVT ZXR1cDpmdW5jdGlvbihlZmZlY3Qpe2VmZmVjdC5lZmZlY3RzWzBdLmVsZW1lbnQu c2V0U3R5bGUoe2hlaWdodDonMHB4J30pLnNob3coKTt9LGFmdGVyRmluaXNoSW50 ZXJuYWw6ZnVuY3Rpb24oZWZmZWN0KXtlZmZlY3QuZWZmZWN0c1swXS5lbGVtZW50 LnVuZG9DbGlwcGluZygpLnVuZG9Qb3NpdGlvbmVkKCkuc2V0U3R5bGUob2xkU3R5 bGUpO319LG9wdGlvbnMpKTt9fSk7fTtFZmZlY3QuU2hyaW5rPWZ1bmN0aW9uKGVs ZW1lbnQpe2VsZW1lbnQ9JChlbGVtZW50KTt2YXIgb3B0aW9ucz1PYmplY3QuZXh0 ZW5kKHtkaXJlY3Rpb246J2NlbnRlcicsbW92ZVRyYW5zaXRpb246RWZmZWN0LlRy YW5zaXRpb25zLnNpbm9pZGFsLHNjYWxlVHJhbnNpdGlvbjpFZmZlY3QuVHJhbnNp dGlvbnMuc2lub2lkYWwsb3BhY2l0eVRyYW5zaXRpb246RWZmZWN0LlRyYW5zaXRp b25zLm5vbmV9LGFyZ3VtZW50c1sxXXx8e30pO3ZhciBvbGRTdHlsZT17dG9wOmVs ZW1lbnQuc3R5bGUudG9wLGxlZnQ6ZWxlbWVudC5zdHlsZS5sZWZ0LGhlaWdodDpl bGVtZW50LnN0eWxlLmhlaWdodCx3aWR0aDplbGVtZW50LnN0eWxlLndpZHRoLG9w YWNpdHk6ZWxlbWVudC5nZXRJbmxpbmVPcGFjaXR5KCl9O3ZhciBkaW1zPWVsZW1l bnQuZ2V0RGltZW5zaW9ucygpO3ZhciBtb3ZlWCxtb3ZlWTtzd2l0Y2gob3B0aW9u cy5kaXJlY3Rpb24pe2Nhc2UndG9wLWxlZnQnOm1vdmVYPW1vdmVZPTA7YnJlYWs7

Y2FzZSd0b3AtcmlnaHQnOm1vdmVYPWRpbXMud2lkdGg7bW92ZVk9MDticmVhaztj YXNlJ2JvdHRvbS1sZWZ0Jzptb3ZlWD0wO21vdmVZPWRpbXMuaGVpZ2h0O2JyZWFr O2Nhc2UnYm90dG9tLXJpZ2h0Jzptb3ZlWD1kaW1zLndpZHRoO21vdmVZPWRpbXMu aGVpZ2h0O2JyZWFrO2Nhc2UnY2VudGVyJzptb3ZlWD1kaW1zLndpZHRoLzI7bW92 ZVk9ZGltcy5oZWlnaHQvMjticmVhazt9CnJldHVybiBuZXcgRWZmZWN0LlBhcmFs bGVsKFtuZXcgRWZmZWN0Lk9wYWNpdHkoZWxlbWVudCx7c3luYzp0cnVlLHRvOjAu MCxmcm9tOjEuMCx0cmFuc2l0aW9uOm9wdGlvbnMub3BhY2l0eVRyYW5zaXRpb259 KSxuZXcgRWZmZWN0LlNjYWxlKGVsZW1lbnQsd2luZG93Lm9wZXJhPzE6MCx7c3lu Yzp0cnVlLHRyYW5zaXRpb246b3B0aW9ucy5zY2FsZVRyYW5zaXRpb24scmVzdG9y ZUFmdGVyRmluaXNoOnRydWV9KSxuZXcgRWZmZWN0Lk1vdmUoZWxlbWVudCx7eDpt b3ZlWCx5Om1vdmVZLHN5bmM6dHJ1ZSx0cmFuc2l0aW9uOm9wdGlvbnMubW92ZVRy YW5zaXRpb259KV0sT2JqZWN0LmV4dGVuZCh7YmVmb3JlU3RhcnRJbnRlcm5hbDpm dW5jdGlvbihlZmZlY3Qpe2VmZmVjdC5lZmZlY3RzWzBdLmVsZW1lbnQubWFrZVBv c2l0aW9uZWQoKS5tYWtlQ2xpcHBpbmcoKTt9LGFmdGVyRmluaXNoSW50ZXJuYWw6 ZnVuY3Rpb24oZWZmZWN0KXtlZmZlY3QuZWZmZWN0c1swXS5lbGVtZW50LmhpZGUo KS51bmRvQ2xpcHBpbmcoKS51bmRvUG9zaXRpb25lZCgpLnNldFN0eWxlKG9sZFN0 eWxlKTt9fSxvcHRpb25zKSk7fTtFZmZlY3QuUHVsc2F0ZT1mdW5jdGlvbihlbGVt ZW50KXtlbGVtZW50PSQoZWxlbWVudCk7dmFyIG9wdGlvbnM9YXJndW1lbnRzWzFd fHx7fSxvbGRPcGFjaXR5PWVsZW1lbnQuZ2V0SW5saW5lT3BhY2l0eSgpLHRyYW5z aXRpb249b3B0aW9ucy50cmFuc2l0aW9ufHxFZmZlY3QuVHJhbnNpdGlvbnMubGlu ZWFyLHJldmVyc2VyPWZ1bmN0aW9uKHBvcyl7cmV0dXJuIDEtdHJhbnNpdGlvbigo LU1hdGguY29zKChwb3MqKG9wdGlvbnMucHVsc2VzfHw1KSoyKSpNYXRoLlBJKS8y KSsuNSk7fTtyZXR1cm4gbmV3IEVmZmVjdC5PcGFjaXR5KGVsZW1lbnQsT2JqZWN0 LmV4dGVuZChPYmplY3QuZXh0ZW5kKHtkdXJhdGlvbjoyLjAsZnJvbTowLGFmdGVy RmluaXNoSW50ZXJuYWw6ZnVuY3Rpb24oZWZmZWN0KXtlZmZlY3QuZWxlbWVudC5z ZXRTdHlsZSh7b3BhY2l0eTpvbGRPcGFjaXR5fSk7fX0sb3B0aW9ucykse3RyYW5z aXRpb246cmV2ZXJzZXJ9KSk7fTtFZmZlY3QuRm9sZD1mdW5jdGlvbihlbGVtZW50 KXtlbGVtZW50PSQoZWxlbWVudCk7dmFyIG9sZFN0eWxlPXt0b3A6ZWxlbWVudC5z dHlsZS50b3AsbGVmdDplbGVtZW50LnN0eWxlLmxlZnQsd2lkdGg6ZWxlbWVudC5z dHlsZS53aWR0aCxoZWlnaHQ6ZWxlbWVudC5zdHlsZS5oZWlnaHR9O2VsZW1lbnQu bWFrZUNsaXBwaW5nKCk7cmV0dXJuIG5ldyBFZmZlY3QuU2NhbGUoZWxlbWVudCw1 LE9iamVjdC5leHRlbmQoe3NjYWxlQ29udGVudDpmYWxzZSxzY2FsZVg6ZmFsc2Us YWZ0ZXJGaW5pc2hJbnRlcm5hbDpmdW5jdGlvbihlZmZlY3Qpe25ldyBFZmZlY3Qu U2NhbGUoZWxlbWVudCwxLHtzY2FsZUNvbnRlbnQ6ZmFsc2Usc2NhbGVZOmZhbHNl LGFmdGVyRmluaXNoSW50ZXJuYWw6ZnVuY3Rpb24oZWZmZWN0KXtlZmZlY3QuZWxl bWVudC5oaWRlKCkudW5kb0NsaXBwaW5nKCkuc2V0U3R5bGUob2xkU3R5bGUpO319 KTt9fSxhcmd1bWVudHNbMV18fHt9KSk7fTtFZmZlY3QuTW9ycGg9Q2xhc3MuY3Jl YXRlKEVmZmVjdC5CYXNlLHtpbml0aWFsaXplOmZ1bmN0aW9uKGVsZW1lbnQpe3Ro aXMuZWxlbWVudD0kKGVsZW1lbnQpO2lmKCF0aGlzLmVsZW1lbnQpdGhyb3coRWZm ZWN0Ll9lbGVtZW50RG9lc05vdEV4aXN0RXJyb3IpO3ZhciBvcHRpb25zPU9iamVj dC5leHRlbmQoe3N0eWxlOnt9fSxhcmd1bWVudHNbMV18fHt9KTtpZighT2JqZWN0 LmlzU3RyaW5nKG9wdGlvbnMuc3R5bGUpKXRoaXMuc3R5bGU9JEgob3B0aW9ucy5z dHlsZSk7ZWxzZXtpZihvcHRpb25zLnN0eWxlLmluY2x1ZGUoJzonKSkKdGhpcy5z dHlsZT1vcHRpb25zLnN0eWxlLnBhcnNlU3R5bGUoKTtlbHNle3RoaXMuZWxlbWVu dC5hZGRDbGFzc05hbWUob3B0aW9ucy5zdHlsZSk7dGhpcy5zdHlsZT0kSCh0aGlz LmVsZW1lbnQuZ2V0U3R5bGVzKCkpO3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzc05h bWUob3B0aW9ucy5zdHlsZSk7dmFyIGNzcz10aGlzLmVsZW1lbnQuZ2V0U3R5bGVz KCk7dGhpcy5zdHlsZT10aGlzLnN0eWxlLnJlamVjdChmdW5jdGlvbihzdHlsZSl7 cmV0dXJuIHN0eWxlLnZhbHVlPT1jc3Nbc3R5bGUua2V5XTt9KTtvcHRpb25zLmFm dGVyRmluaXNoSW50ZXJuYWw9ZnVuY3Rpb24oZWZmZWN0KXtlZmZlY3QuZWxlbWVu dC5hZGRDbGFzc05hbWUoZWZmZWN0Lm9wdGlvbnMuc3R5bGUpO2VmZmVjdC50cmFu c2Zvcm1zLmVhY2goZnVuY3Rpb24odHJhbnNmb3JtKXtlZmZlY3QuZWxlbWVudC5z dHlsZVt0cmFuc2Zvcm0uc3R5bGVdPScnO30pO307fX0KdGhpcy5zdGFydChvcHRp b25zKTt9LHNldHVwOmZ1bmN0aW9uKCl7ZnVuY3Rpb24gcGFyc2VDb2xvcihjb2xv cil7aWYoIWNvbG9yfHxbJ3JnYmEoMCwgMCwgMCwgMCknLCd0cmFuc3BhcmVudCdd LmluY2x1ZGUoY29sb3IpKWNvbG9yPScjZmZmZmZmJztjb2xvcj1jb2xvci5wYXJz ZUNvbG9yKCk7cmV0dXJuICRSKDAsMikubWFwKGZ1bmN0aW9uKGkpe3JldHVybiBw YXJzZUludChjb2xvci5zbGljZShpKjIrMSxpKjIrMyksMTYpO30pO30KdGhpcy50 cmFuc2Zvcm1zPXRoaXMuc3R5bGUubWFwKGZ1bmN0aW9uKHBhaXIpe3ZhciBwcm9w ZXJ0eT1wYWlyWzBdLHZhbHVlPXBhaXJbMV0sdW5pdD1udWxsO2lmKHZhbHVlLnBh

cnNlQ29sb3IoJyN6enp6enonKSE9JyN6enp6enonKXt2YWx1ZT12YWx1ZS5wYXJz ZUNvbG9yKCk7dW5pdD0nY29sb3InO31lbHNlIGlmKHByb3BlcnR5PT0nb3BhY2l0 eScpe3ZhbHVlPXBhcnNlRmxvYXQodmFsdWUpO2lmKFByb3RvdHlwZS5Ccm93c2Vy LklFJiYoIXRoaXMuZWxlbWVudC5jdXJyZW50U3R5bGUuaGFzTGF5b3V0KSkKdGhp cy5lbGVtZW50LnNldFN0eWxlKHt6b29tOjF9KTt9ZWxzZSBpZihFbGVtZW50LkNT U19MRU5HVEgudGVzdCh2YWx1ZSkpe3ZhciBjb21wb25lbnRzPXZhbHVlLm1hdGNo KC9eKFtcK1wtXT9bMC05XC5dKykoLiopJC8pO3ZhbHVlPXBhcnNlRmxvYXQoY29t cG9uZW50c1sxXSk7dW5pdD0oY29tcG9uZW50cy5sZW5ndGg9PTMpP2NvbXBvbmVu dHNbMl06bnVsbDt9CnZhciBvcmlnaW5hbFZhbHVlPXRoaXMuZWxlbWVudC5nZXRT dHlsZShwcm9wZXJ0eSk7cmV0dXJue3N0eWxlOnByb3BlcnR5LmNhbWVsaXplKCks b3JpZ2luYWxWYWx1ZTp1bml0PT0nY29sb3InP3BhcnNlQ29sb3Iob3JpZ2luYWxW YWx1ZSk6cGFyc2VGbG9hdChvcmlnaW5hbFZhbHVlfHwwKSx0YXJnZXRWYWx1ZTp1 bml0PT0nY29sb3InP3BhcnNlQ29sb3IodmFsdWUpOnZhbHVlLHVuaXQ6dW5pdH07 fS5iaW5kKHRoaXMpKS5yZWplY3QoZnVuY3Rpb24odHJhbnNmb3JtKXtyZXR1cm4o KHRyYW5zZm9ybS5vcmlnaW5hbFZhbHVlPT10cmFuc2Zvcm0udGFyZ2V0VmFsdWUp fHwodHJhbnNmb3JtLnVuaXQhPSdjb2xvcicmJihpc05hTih0cmFuc2Zvcm0ub3Jp Z2luYWxWYWx1ZSl8fGlzTmFOKHRyYW5zZm9ybS50YXJnZXRWYWx1ZSkpKSk7fSk7 fSx1cGRhdGU6ZnVuY3Rpb24ocG9zaXRpb24pe3ZhciBzdHlsZT17fSx0cmFuc2Zv cm0saT10aGlzLnRyYW5zZm9ybXMubGVuZ3RoO3doaWxlKGktLSkKc3R5bGVbKHRy YW5zZm9ybT10aGlzLnRyYW5zZm9ybXNbaV0pLnN0eWxlXT10cmFuc2Zvcm0udW5p dD09J2NvbG9yJz8nIycrCihNYXRoLnJvdW5kKHRyYW5zZm9ybS5vcmlnaW5hbFZh bHVlWzBdKwoodHJhbnNmb3JtLnRhcmdldFZhbHVlWzBdLXRyYW5zZm9ybS5vcmln aW5hbFZhbHVlWzBdKSpwb3NpdGlvbikpLnRvQ29sb3JQYXJ0KCkrCihNYXRoLnJv dW5kKHRyYW5zZm9ybS5vcmlnaW5hbFZhbHVlWzFdKwoodHJhbnNmb3JtLnRhcmdl dFZhbHVlWzFdLXRyYW5zZm9ybS5vcmlnaW5hbFZhbHVlWzFdKSpwb3NpdGlvbikp LnRvQ29sb3JQYXJ0KCkrCihNYXRoLnJvdW5kKHRyYW5zZm9ybS5vcmlnaW5hbFZh bHVlWzJdKwoodHJhbnNmb3JtLnRhcmdldFZhbHVlWzJdLXRyYW5zZm9ybS5vcmln aW5hbFZhbHVlWzJdKSpwb3NpdGlvbikpLnRvQ29sb3JQYXJ0KCk6KHRyYW5zZm9y bS5vcmlnaW5hbFZhbHVlKwoodHJhbnNmb3JtLnRhcmdldFZhbHVlLXRyYW5zZm9y bS5vcmlnaW5hbFZhbHVlKSpwb3NpdGlvbikudG9GaXhlZCgzKSsKKHRyYW5zZm9y bS51bml0PT09bnVsbD8nJzp0cmFuc2Zvcm0udW5pdCk7dGhpcy5lbGVtZW50LnNl dFN0eWxlKHN0eWxlLHRydWUpO319KTtFZmZlY3QuVHJhbnNmb3JtPUNsYXNzLmNy ZWF0ZSh7aW5pdGlhbGl6ZTpmdW5jdGlvbih0cmFja3Mpe3RoaXMudHJhY2tzPVtd O3RoaXMub3B0aW9ucz1hcmd1bWVudHNbMV18fHt9O3RoaXMuYWRkVHJhY2tzKHRy YWNrcyk7fSxhZGRUcmFja3M6ZnVuY3Rpb24odHJhY2tzKXt0cmFja3MuZWFjaChm dW5jdGlvbih0cmFjayl7dHJhY2s9JEgodHJhY2spO3ZhciBkYXRhPXRyYWNrLnZh bHVlcygpLmZpcnN0KCk7dGhpcy50cmFja3MucHVzaCgkSCh7aWRzOnRyYWNrLmtl eXMoKS5maXJzdCgpLGVmZmVjdDpFZmZlY3QuTW9ycGgsb3B0aW9uczp7c3R5bGU6 ZGF0YX19KSk7fS5iaW5kKHRoaXMpKTtyZXR1cm4gdGhpczt9LHBsYXk6ZnVuY3Rp b24oKXtyZXR1cm4gbmV3IEVmZmVjdC5QYXJhbGxlbCh0aGlzLnRyYWNrcy5tYXAo ZnVuY3Rpb24odHJhY2spe3ZhciBpZHM9dHJhY2suZ2V0KCdpZHMnKSxlZmZlY3Q9 dHJhY2suZ2V0KCdlZmZlY3QnKSxvcHRpb25zPXRyYWNrLmdldCgnb3B0aW9ucycp O3ZhciBlbGVtZW50cz1bJChpZHMpfHwkJChpZHMpXS5mbGF0dGVuKCk7cmV0dXJu IGVsZW1lbnRzLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gbmV3IGVmZmVjdChlLE9i amVjdC5leHRlbmQoe3N5bmM6dHJ1ZX0sb3B0aW9ucykpfSk7fSkuZmxhdHRlbigp LHRoaXMub3B0aW9ucyk7fX0pO0VsZW1lbnQuQ1NTX1BST1BFUlRJRVM9JHcoJ2Jh Y2tncm91bmRDb2xvciBiYWNrZ3JvdW5kUG9zaXRpb24gYm9yZGVyQm90dG9tQ29s b3IgYm9yZGVyQm90dG9tU3R5bGUgJysnYm9yZGVyQm90dG9tV2lkdGggYm9yZGVy TGVmdENvbG9yIGJvcmRlckxlZnRTdHlsZSBib3JkZXJMZWZ0V2lkdGggJysnYm9y ZGVyUmlnaHRDb2xvciBib3JkZXJSaWdodFN0eWxlIGJvcmRlclJpZ2h0V2lkdGgg Ym9yZGVyU3BhY2luZyAnKydib3JkZXJUb3BDb2xvciBib3JkZXJUb3BTdHlsZSBi b3JkZXJUb3BXaWR0aCBib3R0b20gY2xpcCBjb2xvciAnKydmb250U2l6ZSBmb250 V2VpZ2h0IGhlaWdodCBsZWZ0IGxldHRlclNwYWNpbmcgbGluZUhlaWdodCAnKydt YXJnaW5Cb3R0b20gbWFyZ2luTGVmdCBtYXJnaW5SaWdodCBtYXJnaW5Ub3AgbWFy a2VyT2Zmc2V0IG1heEhlaWdodCAnKydtYXhXaWR0aCBtaW5IZWlnaHQgbWluV2lk dGggb3BhY2l0eSBvdXRsaW5lQ29sb3Igb3V0bGluZU9mZnNldCAnKydvdXRsaW5l V2lkdGggcGFkZGluZ0JvdHRvbSBwYWRkaW5nTGVmdCBwYWRkaW5nUmlnaHQgcGFk ZGluZ1RvcCAnKydyaWdodCB0ZXh0SW5kZW50IHRvcCB3aWR0aCB3b3JkU3BhY2lu ZyB6SW5kZXgnKTtFbGVtZW50LkNTU19MRU5HVEg9L14oKFtcK1wtXT9bMC05XC5d KykoZW18ZXh8cHh8aW58Y218bW18cHR8cGN8XCUpKXwwJC87U3RyaW5nLl9fcGFy

c2VTdHlsZUVsZW1lbnQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7U3Ry aW5nLnByb3RvdHlwZS5wYXJzZVN0eWxlPWZ1bmN0aW9uKCl7dmFyIHN0eWxlLHN0 eWxlUnVsZXM9JEgoKTtpZihQcm90b3R5cGUuQnJvd3Nlci5XZWJLaXQpCnN0eWxl PW5ldyBFbGVtZW50KCdkaXYnLHtzdHlsZTp0aGlzfSkuc3R5bGU7ZWxzZXtTdHJp bmcuX19wYXJzZVN0eWxlRWxlbWVudC5pbm5lckhUTUw9JzxkaXYgc3R5bGU9Iicr dGhpcysnIj48L2Rpdj4nO3N0eWxlPVN0cmluZy5fX3BhcnNlU3R5bGVFbGVtZW50 LmNoaWxkTm9kZXNbMF0uc3R5bGU7fQpFbGVtZW50LkNTU19QUk9QRVJUSUVTLmVh Y2goZnVuY3Rpb24ocHJvcGVydHkpe2lmKHN0eWxlW3Byb3BlcnR5XSlzdHlsZVJ1 bGVzLnNldChwcm9wZXJ0eSxzdHlsZVtwcm9wZXJ0eV0pO30pO2lmKFByb3RvdHlw ZS5Ccm93c2VyLklFJiZ0aGlzLmluY2x1ZGUoJ29wYWNpdHknKSkKc3R5bGVSdWxl cy5zZXQoJ29wYWNpdHknLHRoaXMubWF0Y2goL29wYWNpdHk6XHMqKCg/OjB8MSk/ KD86XC5cZCopPykvKVsxXSk7cmV0dXJuIHN0eWxlUnVsZXM7fTtpZihkb2N1bWVu dC5kZWZhdWx0VmlldyYmZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRT dHlsZSl7RWxlbWVudC5nZXRTdHlsZXM9ZnVuY3Rpb24oZWxlbWVudCl7dmFyIGNz cz1kb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKCQoZWxlbWVu dCksbnVsbCk7cmV0dXJuIEVsZW1lbnQuQ1NTX1BST1BFUlRJRVMuaW5qZWN0KHt9 LGZ1bmN0aW9uKHN0eWxlcyxwcm9wZXJ0eSl7c3R5bGVzW3Byb3BlcnR5XT1jc3Nb cHJvcGVydHldO3JldHVybiBzdHlsZXM7fSk7fTt9ZWxzZXtFbGVtZW50LmdldFN0 eWxlcz1mdW5jdGlvbihlbGVtZW50KXtlbGVtZW50PSQoZWxlbWVudCk7dmFyIGNz cz1lbGVtZW50LmN1cnJlbnRTdHlsZSxzdHlsZXM7c3R5bGVzPUVsZW1lbnQuQ1NT X1BST1BFUlRJRVMuaW5qZWN0KHt9LGZ1bmN0aW9uKHJlc3VsdHMscHJvcGVydHkp e3Jlc3VsdHNbcHJvcGVydHldPWNzc1twcm9wZXJ0eV07cmV0dXJuIHJlc3VsdHM7 fSk7aWYoIXN0eWxlcy5vcGFjaXR5KXN0eWxlcy5vcGFjaXR5PWVsZW1lbnQuZ2V0 T3BhY2l0eSgpO3JldHVybiBzdHlsZXM7fTt9CkVmZmVjdC5NZXRob2RzPXttb3Jw aDpmdW5jdGlvbihlbGVtZW50LHN0eWxlKXtlbGVtZW50PSQoZWxlbWVudCk7bmV3 IEVmZmVjdC5Nb3JwaChlbGVtZW50LE9iamVjdC5leHRlbmQoe3N0eWxlOnN0eWxl fSxhcmd1bWVudHNbMl18fHt9KSk7cmV0dXJuIGVsZW1lbnQ7fSx2aXN1YWxFZmZl Y3Q6ZnVuY3Rpb24oZWxlbWVudCxlZmZlY3Qsb3B0aW9ucyl7ZWxlbWVudD0kKGVs ZW1lbnQpO3ZhciBzPWVmZmVjdC5kYXNoZXJpemUoKS5jYW1lbGl6ZSgpLGtsYXNz PXMuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrcy5zdWJzdHJpbmcoMSk7bmV3IEVm ZmVjdFtrbGFzc10oZWxlbWVudCxvcHRpb25zKTtyZXR1cm4gZWxlbWVudDt9LGhp Z2hsaWdodDpmdW5jdGlvbihlbGVtZW50LG9wdGlvbnMpe2VsZW1lbnQ9JChlbGVt ZW50KTtuZXcgRWZmZWN0LkhpZ2hsaWdodChlbGVtZW50LG9wdGlvbnMpO3JldHVy biBlbGVtZW50O319OyR3KCdmYWRlIGFwcGVhciBncm93IHNocmluayBmb2xkIGJs aW5kVXAgYmxpbmREb3duIHNsaWRlVXAgc2xpZGVEb3duICcrJ3B1bHNhdGUgc2hh a2UgcHVmZiBzcXVpc2ggc3dpdGNoT2ZmIGRyb3BPdXQnKS5lYWNoKGZ1bmN0aW9u KGVmZmVjdCl7RWZmZWN0Lk1ldGhvZHNbZWZmZWN0XT1mdW5jdGlvbihlbGVtZW50 LG9wdGlvbnMpe2VsZW1lbnQ9JChlbGVtZW50KTtFZmZlY3RbZWZmZWN0LmNoYXJB dCgwKS50b1VwcGVyQ2FzZSgpK2VmZmVjdC5zdWJzdHJpbmcoMSldKGVsZW1lbnQs b3B0aW9ucyk7cmV0dXJuIGVsZW1lbnQ7fTt9KTskdygnZ2V0SW5saW5lT3BhY2l0 eSBmb3JjZVJlcmVuZGVyaW5nIHNldENvbnRlbnRab29tIGNvbGxlY3RUZXh0Tm9k ZXMgY29sbGVjdFRleHROb2Rlc0lnbm9yZUNsYXNzIGdldFN0eWxlcycpLmVhY2go ZnVuY3Rpb24oZil7RWZmZWN0Lk1ldGhvZHNbZl09RWxlbWVudFtmXTt9KTtFbGVt ZW50LmFkZE1ldGhvZHMoRWZmZWN0Lk1ldGhvZHMpOwoKCi8qIHB1YmxpYy9qYXZh c2NyaXB0cy9zbGlkZXIuanMgQCAxMzQ4NTE3NTc5ICovCgppZighQ29udHJvbCl2 YXIgQ29udHJvbD17fTtDb250cm9sLlNsaWRlcj1DbGFzcy5jcmVhdGUoe2luaXRp YWxpemU6ZnVuY3Rpb24oaGFuZGxlLHRyYWNrLG9wdGlvbnMpe3ZhciBzbGlkZXI9 dGhpcztpZihPYmplY3QuaXNBcnJheShoYW5kbGUpKXt0aGlzLmhhbmRsZXM9aGFu ZGxlLmNvbGxlY3QoZnVuY3Rpb24oZSl7cmV0dXJuICQoZSl9KTt9ZWxzZXt0aGlz LmhhbmRsZXM9WyQoaGFuZGxlKV07fQp0aGlzLnRyYWNrPSQodHJhY2spO3RoaXMu b3B0aW9ucz1vcHRpb25zfHx7fTt0aGlzLmF4aXM9dGhpcy5vcHRpb25zLmF4aXN8 fCdob3Jpem9udGFsJzt0aGlzLmluY3JlbWVudD10aGlzLm9wdGlvbnMuaW5jcmVt ZW50fHwxO3RoaXMuc3RlcD1wYXJzZUludCh0aGlzLm9wdGlvbnMuc3RlcHx8JzEn KTt0aGlzLnJhbmdlPXRoaXMub3B0aW9ucy5yYW5nZXx8JFIoMCwxKTt0aGlzLnZh bHVlPTA7dGhpcy52YWx1ZXM9dGhpcy5oYW5kbGVzLm1hcChmdW5jdGlvbigpe3Jl dHVybiAwfSk7dGhpcy5zcGFucz10aGlzLm9wdGlvbnMuc3BhbnM/dGhpcy5vcHRp b25zLnNwYW5zLm1hcChmdW5jdGlvbihzKXtyZXR1cm4gJChzKX0pOmZhbHNlO3Ro aXMub3B0aW9ucy5zdGFydFNwYW49JCh0aGlzLm9wdGlvbnMuc3RhcnRTcGFufHxu dWxsKTt0aGlzLm9wdGlvbnMuZW5kU3Bhbj0kKHRoaXMub3B0aW9ucy5lbmRTcGFu fHxudWxsKTt0aGlzLnJlc3RyaWN0ZWQ9dGhpcy5vcHRpb25zLnJlc3RyaWN0ZWR8

fGZhbHNlO3RoaXMubWF4aW11bT10aGlzLm9wdGlvbnMubWF4aW11bXx8dGhpcy5y YW5nZS5lbmQ7dGhpcy5taW5pbXVtPXRoaXMub3B0aW9ucy5taW5pbXVtfHx0aGlz LnJhbmdlLnN0YXJ0O3RoaXMuYWxpZ25YPXBhcnNlSW50KHRoaXMub3B0aW9ucy5h bGlnblh8fCcwJyk7dGhpcy5hbGlnblk9cGFyc2VJbnQodGhpcy5vcHRpb25zLmFs aWduWXx8JzAnKTt0aGlzLnRyYWNrTGVuZ3RoPXRoaXMubWF4aW11bU9mZnNldCgp LXRoaXMubWluaW11bU9mZnNldCgpO3RoaXMuaGFuZGxlTGVuZ3RoPXRoaXMuaXNW ZXJ0aWNhbCgpPyh0aGlzLmhhbmRsZXNbMF0ub2Zmc2V0SGVpZ2h0IT0wP3RoaXMu aGFuZGxlc1swXS5vZmZzZXRIZWlnaHQ6dGhpcy5oYW5kbGVzWzBdLnN0eWxlLmhl aWdodC5yZXBsYWNlKC9weCQvLCIiKSk6KHRoaXMuaGFuZGxlc1swXS5vZmZzZXRX aWR0aCE9MD90aGlzLmhhbmRsZXNbMF0ub2Zmc2V0V2lkdGg6dGhpcy5oYW5kbGVz WzBdLnN0eWxlLndpZHRoLnJlcGxhY2UoL3B4JC8sIiIpKTt0aGlzLmFjdGl2ZT1m YWxzZTt0aGlzLmRyYWdnaW5nPWZhbHNlO3RoaXMuZGlzYWJsZWQ9ZmFsc2U7aWYo dGhpcy5vcHRpb25zLmRpc2FibGVkKXRoaXMuc2V0RGlzYWJsZWQoKTt0aGlzLmFs bG93ZWRWYWx1ZXM9dGhpcy5vcHRpb25zLnZhbHVlcz90aGlzLm9wdGlvbnMudmFs dWVzLnNvcnRCeShQcm90b3R5cGUuSyk6ZmFsc2U7aWYodGhpcy5hbGxvd2VkVmFs dWVzKXt0aGlzLm1pbmltdW09dGhpcy5hbGxvd2VkVmFsdWVzLm1pbigpO3RoaXMu bWF4aW11bT10aGlzLmFsbG93ZWRWYWx1ZXMubWF4KCk7fQp0aGlzLmV2ZW50TW91 c2VEb3duPXRoaXMuc3RhcnREcmFnLmJpbmRBc0V2ZW50TGlzdGVuZXIodGhpcyk7 dGhpcy5ldmVudE1vdXNlVXA9dGhpcy5lbmREcmFnLmJpbmRBc0V2ZW50TGlzdGVu ZXIodGhpcyk7dGhpcy5ldmVudE1vdXNlTW92ZT10aGlzLnVwZGF0ZS5iaW5kQXNF dmVudExpc3RlbmVyKHRoaXMpO3RoaXMuaGFuZGxlcy5lYWNoKGZ1bmN0aW9uKGgs aSl7aT1zbGlkZXIuaGFuZGxlcy5sZW5ndGgtMS1pO3NsaWRlci5zZXRWYWx1ZShw YXJzZUZsb2F0KChPYmplY3QuaXNBcnJheShzbGlkZXIub3B0aW9ucy5zbGlkZXJW YWx1ZSk/c2xpZGVyLm9wdGlvbnMuc2xpZGVyVmFsdWVbaV06c2xpZGVyLm9wdGlv bnMuc2xpZGVyVmFsdWUpfHxzbGlkZXIucmFuZ2Uuc3RhcnQpLGkpO2gubWFrZVBv c2l0aW9uZWQoKS5vYnNlcnZlKCJtb3VzZWRvd24iLHNsaWRlci5ldmVudE1vdXNl RG93bik7fSk7dGhpcy50cmFjay5vYnNlcnZlKCJtb3VzZWRvd24iLHRoaXMuZXZl bnRNb3VzZURvd24pO2RvY3VtZW50Lm9ic2VydmUoIm1vdXNldXAiLHRoaXMuZXZl bnRNb3VzZVVwKTtkb2N1bWVudC5vYnNlcnZlKCJtb3VzZW1vdmUiLHRoaXMuZXZl bnRNb3VzZU1vdmUpO3RoaXMuaW5pdGlhbGl6ZWQ9dHJ1ZTt9LGRpc3Bvc2U6ZnVu Y3Rpb24oKXt2YXIgc2xpZGVyPXRoaXM7RXZlbnQuc3RvcE9ic2VydmluZyh0aGlz LnRyYWNrLCJtb3VzZWRvd24iLHRoaXMuZXZlbnRNb3VzZURvd24pO0V2ZW50LnN0 b3BPYnNlcnZpbmcoZG9jdW1lbnQsIm1vdXNldXAiLHRoaXMuZXZlbnRNb3VzZVVw KTtFdmVudC5zdG9wT2JzZXJ2aW5nKGRvY3VtZW50LCJtb3VzZW1vdmUiLHRoaXMu ZXZlbnRNb3VzZU1vdmUpO3RoaXMuaGFuZGxlcy5lYWNoKGZ1bmN0aW9uKGgpe0V2 ZW50LnN0b3BPYnNlcnZpbmcoaCwibW91c2Vkb3duIixzbGlkZXIuZXZlbnRNb3Vz ZURvd24pO30pO30sc2V0RGlzYWJsZWQ6ZnVuY3Rpb24oKXt0aGlzLmRpc2FibGVk PXRydWU7fSxzZXRFbmFibGVkOmZ1bmN0aW9uKCl7dGhpcy5kaXNhYmxlZD1mYWxz ZTt9LGdldE5lYXJlc3RWYWx1ZTpmdW5jdGlvbih2YWx1ZSl7aWYodGhpcy5hbGxv d2VkVmFsdWVzKXtpZih2YWx1ZT49dGhpcy5hbGxvd2VkVmFsdWVzLm1heCgpKXJl dHVybih0aGlzLmFsbG93ZWRWYWx1ZXMubWF4KCkpO2lmKHZhbHVlPD10aGlzLmFs bG93ZWRWYWx1ZXMubWluKCkpcmV0dXJuKHRoaXMuYWxsb3dlZFZhbHVlcy5taW4o KSk7dmFyIG9mZnNldD1NYXRoLmFicyh0aGlzLmFsbG93ZWRWYWx1ZXNbMF0tdmFs dWUpO3ZhciBuZXdWYWx1ZT10aGlzLmFsbG93ZWRWYWx1ZXNbMF07dGhpcy5hbGxv d2VkVmFsdWVzLmVhY2goZnVuY3Rpb24odil7dmFyIGN1cnJlbnRPZmZzZXQ9TWF0 aC5hYnModi12YWx1ZSk7aWYoY3VycmVudE9mZnNldDw9b2Zmc2V0KXtuZXdWYWx1 ZT12O29mZnNldD1jdXJyZW50T2Zmc2V0O319KTtyZXR1cm4gbmV3VmFsdWU7fQpp Zih2YWx1ZT50aGlzLnJhbmdlLmVuZClyZXR1cm4gdGhpcy5yYW5nZS5lbmQ7aWYo dmFsdWU8dGhpcy5yYW5nZS5zdGFydClyZXR1cm4gdGhpcy5yYW5nZS5zdGFydDty ZXR1cm4gdmFsdWU7fSxzZXRWYWx1ZTpmdW5jdGlvbihzbGlkZXJWYWx1ZSxoYW5k bGVJZHgpe2lmKCF0aGlzLmFjdGl2ZSl7dGhpcy5hY3RpdmVIYW5kbGVJZHg9aGFu ZGxlSWR4fHwwO3RoaXMuYWN0aXZlSGFuZGxlPXRoaXMuaGFuZGxlc1t0aGlzLmFj dGl2ZUhhbmRsZUlkeF07dGhpcy51cGRhdGVTdHlsZXMoKTt9CmhhbmRsZUlkeD1o YW5kbGVJZHh8fHRoaXMuYWN0aXZlSGFuZGxlSWR4fHwwO2lmKHRoaXMuaW5pdGlh bGl6ZWQmJnRoaXMucmVzdHJpY3RlZCl7aWYoKGhhbmRsZUlkeD4wKSYmKHNsaWRl clZhbHVlPHRoaXMudmFsdWVzW2hhbmRsZUlkeC0xXSkpCnNsaWRlclZhbHVlPXRo aXMudmFsdWVzW2hhbmRsZUlkeC0xXTtpZigoaGFuZGxlSWR4PCh0aGlzLmhhbmRs ZXMubGVuZ3RoLTEpKSYmKHNsaWRlclZhbHVlPnRoaXMudmFsdWVzW2hhbmRsZUlk eCsxXSkpCnNsaWRlclZhbHVlPXRoaXMudmFsdWVzW2hhbmRsZUlkeCsxXTt9CnNs aWRlclZhbHVlPXRoaXMuZ2V0TmVhcmVzdFZhbHVlKHNsaWRlclZhbHVlKTt0aGlz

LnZhbHVlc1toYW5kbGVJZHhdPXNsaWRlclZhbHVlO3RoaXMudmFsdWU9dGhpcy52 YWx1ZXNbMF07dGhpcy5oYW5kbGVzW2hhbmRsZUlkeF0uc3R5bGVbdGhpcy5pc1Zl cnRpY2FsKCk/J3RvcCc6J2xlZnQnXT10aGlzLnRyYW5zbGF0ZVRvUHgoc2xpZGVy VmFsdWUpO3RoaXMuZHJhd1NwYW5zKCk7aWYoIXRoaXMuZHJhZ2dpbmd8fCF0aGlz LmV2ZW50KXRoaXMudXBkYXRlRmluaXNoZWQoKTt9LHNldFZhbHVlQnk6ZnVuY3Rp b24oZGVsdGEsaGFuZGxlSWR4KXt0aGlzLnNldFZhbHVlKHRoaXMudmFsdWVzW2hh bmRsZUlkeHx8dGhpcy5hY3RpdmVIYW5kbGVJZHh8fDBdK2RlbHRhLGhhbmRsZUlk eHx8dGhpcy5hY3RpdmVIYW5kbGVJZHh8fDApO30sdHJhbnNsYXRlVG9QeDpmdW5j dGlvbih2YWx1ZSl7cmV0dXJuIE1hdGgucm91bmQoKCh0aGlzLnRyYWNrTGVuZ3Ro LXRoaXMuaGFuZGxlTGVuZ3RoKS8odGhpcy5yYW5nZS5lbmQtdGhpcy5yYW5nZS5z dGFydCkpKih2YWx1ZS10aGlzLnJhbmdlLnN0YXJ0KSkrInB4Ijt9LHRyYW5zbGF0 ZVRvVmFsdWU6ZnVuY3Rpb24ob2Zmc2V0KXtyZXR1cm4oKG9mZnNldC8odGhpcy50 cmFja0xlbmd0aC10aGlzLmhhbmRsZUxlbmd0aCkqKHRoaXMucmFuZ2UuZW5kLXRo aXMucmFuZ2Uuc3RhcnQpKSt0aGlzLnJhbmdlLnN0YXJ0KTt9LGdldFJhbmdlOmZ1 bmN0aW9uKHJhbmdlKXt2YXIgdj10aGlzLnZhbHVlcy5zb3J0QnkoUHJvdG90eXBl LkspO3JhbmdlPXJhbmdlfHwwO3JldHVybiAkUih2W3JhbmdlXSx2W3JhbmdlKzFd KTt9LG1pbmltdW1PZmZzZXQ6ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5pc1ZlcnRp Y2FsKCk/dGhpcy5hbGlnblk6dGhpcy5hbGlnblgpO30sbWF4aW11bU9mZnNldDpm dW5jdGlvbigpe3JldHVybih0aGlzLmlzVmVydGljYWwoKT8odGhpcy50cmFjay5v ZmZzZXRIZWlnaHQhPTA/dGhpcy50cmFjay5vZmZzZXRIZWlnaHQ6dGhpcy50cmFj ay5zdHlsZS5oZWlnaHQucmVwbGFjZSgvcHgkLywiIikpLXRoaXMuYWxpZ25ZOih0 aGlzLnRyYWNrLm9mZnNldFdpZHRoIT0wP3RoaXMudHJhY2sub2Zmc2V0V2lkdGg6 dGhpcy50cmFjay5zdHlsZS53aWR0aC5yZXBsYWNlKC9weCQvLCIiKSktdGhpcy5h bGlnblgpO30saXNWZXJ0aWNhbDpmdW5jdGlvbigpe3JldHVybih0aGlzLmF4aXM9 PSd2ZXJ0aWNhbCcpO30sZHJhd1NwYW5zOmZ1bmN0aW9uKCl7dmFyIHNsaWRlcj10 aGlzO2lmKHRoaXMuc3BhbnMpCiRSKDAsdGhpcy5zcGFucy5sZW5ndGgtMSkuZWFj aChmdW5jdGlvbihyKXtzbGlkZXIuc2V0U3BhbihzbGlkZXIuc3BhbnNbcl0sc2xp ZGVyLmdldFJhbmdlKHIpKX0pO2lmKHRoaXMub3B0aW9ucy5zdGFydFNwYW4pCnRo aXMuc2V0U3Bhbih0aGlzLm9wdGlvbnMuc3RhcnRTcGFuLCRSKDAsdGhpcy52YWx1 ZXMubGVuZ3RoPjE/dGhpcy5nZXRSYW5nZSgwKS5taW4oKTp0aGlzLnZhbHVlKSk7 aWYodGhpcy5vcHRpb25zLmVuZFNwYW4pCnRoaXMuc2V0U3Bhbih0aGlzLm9wdGlv bnMuZW5kU3BhbiwkUih0aGlzLnZhbHVlcy5sZW5ndGg+MT90aGlzLmdldFJhbmdl KHRoaXMuc3BhbnMubGVuZ3RoLTEpLm1heCgpOnRoaXMudmFsdWUsdGhpcy5tYXhp bXVtKSk7fSxzZXRTcGFuOmZ1bmN0aW9uKHNwYW4scmFuZ2Upe2lmKHRoaXMuaXNW ZXJ0aWNhbCgpKXtzcGFuLnN0eWxlLnRvcD10aGlzLnRyYW5zbGF0ZVRvUHgocmFu Z2Uuc3RhcnQpO3NwYW4uc3R5bGUuaGVpZ2h0PXRoaXMudHJhbnNsYXRlVG9QeChy YW5nZS5lbmQtcmFuZ2Uuc3RhcnQrdGhpcy5yYW5nZS5zdGFydCk7fWVsc2V7c3Bh bi5zdHlsZS5sZWZ0PXRoaXMudHJhbnNsYXRlVG9QeChyYW5nZS5zdGFydCk7c3Bh bi5zdHlsZS53aWR0aD10aGlzLnRyYW5zbGF0ZVRvUHgocmFuZ2UuZW5kLXJhbmdl LnN0YXJ0K3RoaXMucmFuZ2Uuc3RhcnQpO319LHVwZGF0ZVN0eWxlczpmdW5jdGlv bigpe3RoaXMuaGFuZGxlcy5lYWNoKGZ1bmN0aW9uKGgpe0VsZW1lbnQucmVtb3Zl Q2xhc3NOYW1lKGgsJ3NlbGVjdGVkJyl9KTtFbGVtZW50LmFkZENsYXNzTmFtZSh0 aGlzLmFjdGl2ZUhhbmRsZSwnc2VsZWN0ZWQnKTt9LHN0YXJ0RHJhZzpmdW5jdGlv bihldmVudCl7aWYoRXZlbnQuaXNMZWZ0Q2xpY2soZXZlbnQpKXtpZighdGhpcy5k aXNhYmxlZCl7dGhpcy5hY3RpdmU9dHJ1ZTt2YXIgaGFuZGxlPUV2ZW50LmVsZW1l bnQoZXZlbnQpO3ZhciBwb2ludGVyPVtFdmVudC5wb2ludGVyWChldmVudCksRXZl bnQucG9pbnRlclkoZXZlbnQpXTt2YXIgdHJhY2s9aGFuZGxlO2lmKHRyYWNrPT10 aGlzLnRyYWNrKXt2YXIgb2Zmc2V0cz10aGlzLnRyYWNrLmN1bXVsYXRpdmVPZmZz ZXQoKTt0aGlzLmV2ZW50PWV2ZW50O3RoaXMuc2V0VmFsdWUodGhpcy50cmFuc2xh dGVUb1ZhbHVlKCh0aGlzLmlzVmVydGljYWwoKT9wb2ludGVyWzFdLW9mZnNldHNb MV06cG9pbnRlclswXS1vZmZzZXRzWzBdKS0odGhpcy5oYW5kbGVMZW5ndGgvMikp KTt2YXIgb2Zmc2V0cz10aGlzLmFjdGl2ZUhhbmRsZS5jdW11bGF0aXZlT2Zmc2V0 KCk7dGhpcy5vZmZzZXRYPShwb2ludGVyWzBdLW9mZnNldHNbMF0pO3RoaXMub2Zm c2V0WT0ocG9pbnRlclsxXS1vZmZzZXRzWzFdKTt9ZWxzZXt3aGlsZSgodGhpcy5o YW5kbGVzLmluZGV4T2YoaGFuZGxlKT09LTEpJiZoYW5kbGUucGFyZW50Tm9kZSkK aGFuZGxlPWhhbmRsZS5wYXJlbnROb2RlO2lmKHRoaXMuaGFuZGxlcy5pbmRleE9m KGhhbmRsZSkhPS0xKXt0aGlzLmFjdGl2ZUhhbmRsZT1oYW5kbGU7dGhpcy5hY3Rp dmVIYW5kbGVJZHg9dGhpcy5oYW5kbGVzLmluZGV4T2YodGhpcy5hY3RpdmVIYW5k bGUpO3RoaXMudXBkYXRlU3R5bGVzKCk7dmFyIG9mZnNldHM9dGhpcy5hY3RpdmVI YW5kbGUuY3VtdWxhdGl2ZU9mZnNldCgpO3RoaXMub2Zmc2V0WD0ocG9pbnRlclsw

XS1vZmZzZXRzWzBdKTt0aGlzLm9mZnNldFk9KHBvaW50ZXJbMV0tb2Zmc2V0c1sx XSk7fX19CkV2ZW50LnN0b3AoZXZlbnQpO319LHVwZGF0ZTpmdW5jdGlvbihldmVu dCl7aWYodGhpcy5hY3RpdmUpe2lmKCF0aGlzLmRyYWdnaW5nKXRoaXMuZHJhZ2dp bmc9dHJ1ZTt0aGlzLmRyYXcoZXZlbnQpO2lmKFByb3RvdHlwZS5Ccm93c2VyLldl YktpdCl3aW5kb3cuc2Nyb2xsQnkoMCwwKTtFdmVudC5zdG9wKGV2ZW50KTt9fSxk cmF3OmZ1bmN0aW9uKGV2ZW50KXt2YXIgcG9pbnRlcj1bRXZlbnQucG9pbnRlclgo ZXZlbnQpLEV2ZW50LnBvaW50ZXJZKGV2ZW50KV07dmFyIG9mZnNldHM9dGhpcy50 cmFjay5jdW11bGF0aXZlT2Zmc2V0KCk7cG9pbnRlclswXS09dGhpcy5vZmZzZXRY K29mZnNldHNbMF07cG9pbnRlclsxXS09dGhpcy5vZmZzZXRZK29mZnNldHNbMV07 dGhpcy5ldmVudD1ldmVudDt0aGlzLnNldFZhbHVlKHRoaXMudHJhbnNsYXRlVG9W YWx1ZSh0aGlzLmlzVmVydGljYWwoKT9wb2ludGVyWzFdOnBvaW50ZXJbMF0pKTtp Zih0aGlzLmluaXRpYWxpemVkJiZ0aGlzLm9wdGlvbnMub25TbGlkZSkKdGhpcy5v cHRpb25zLm9uU2xpZGUodGhpcy52YWx1ZXMubGVuZ3RoPjE/dGhpcy52YWx1ZXM6 dGhpcy52YWx1ZSx0aGlzKTt9LGVuZERyYWc6ZnVuY3Rpb24oZXZlbnQpe2lmKHRo aXMuYWN0aXZlJiZ0aGlzLmRyYWdnaW5nKXt0aGlzLmZpbmlzaERyYWcoZXZlbnQs dHJ1ZSk7RXZlbnQuc3RvcChldmVudCk7fQp0aGlzLmFjdGl2ZT1mYWxzZTt0aGlz LmRyYWdnaW5nPWZhbHNlO30sZmluaXNoRHJhZzpmdW5jdGlvbihldmVudCxzdWNj ZXNzKXt0aGlzLmFjdGl2ZT1mYWxzZTt0aGlzLmRyYWdnaW5nPWZhbHNlO3RoaXMu dXBkYXRlRmluaXNoZWQoKTt9LHVwZGF0ZUZpbmlzaGVkOmZ1bmN0aW9uKCl7aWYo dGhpcy5pbml0aWFsaXplZCYmdGhpcy5vcHRpb25zLm9uQ2hhbmdlKQp0aGlzLm9w dGlvbnMub25DaGFuZ2UodGhpcy52YWx1ZXMubGVuZ3RoPjE/dGhpcy52YWx1ZXM6 dGhpcy52YWx1ZSx0aGlzKTt0aGlzLmV2ZW50PW51bGw7fX0pOwoKCi8qIHB1Ymxp Yy9qYXZhc2NyaXB0cy9zd2ZvYmplY3QuanMgQCAxMzQ4NTE3NTc5ICovCnZhciBs enlfanNfcHVibGljX2phdmFzY3JpcHRzX3N3Zm9iamVjdD0iXG5pZih0eXBlb2Yg ZGVjb25jZXB0PT1cInVuZGVmaW5lZFwiKXZhciBkZWNvbmNlcHQ9bmV3IE9iamVj dCgpO2lmKHR5cGVvZiBkZWNvbmNlcHQudXRpbD09XCJ1bmRlZmluZWRcIilkZWNv bmNlcHQudXRpbD1uZXcgT2JqZWN0KCk7aWYodHlwZW9mIGRlY29uY2VwdC5TV0ZP YmplY3RVdGlsPT1cInVuZGVmaW5lZFwiKWRlY29uY2VwdC5TV0ZPYmplY3RVdGls PW5ldyBPYmplY3QoKTtkZWNvbmNlcHQuU1dGT2JqZWN0PWZ1bmN0aW9uKHN3Zixp ZCx3LGgsdmVyLGMsdXNlRXhwcmVzc0luc3RhbGwscXVhbGl0eSx4aVJlZGlyZWN0 VXJsLHJlZGlyZWN0VXJsLGRldGVjdEtleSl7aWYoIWRvY3VtZW50LmdldEVsZW1l bnRCeUlkKXtyZXR1cm47fVxudGhpcy5ERVRFQ1RfS0VZPWRldGVjdEtleT9kZXRl Y3RLZXk6XCdkZXRlY3RmbGFzaFwnO3RoaXMuc2tpcERldGVjdD1kZWNvbmNlcHQu dXRpbC5nZXRSZXF1ZXN0UGFyYW1ldGVyKHRoaXMuREVURUNUX0tFWSk7dGhpcy5w YXJhbXM9bmV3IE9iamVjdCgpO3RoaXMudmFyaWFibGVzPW5ldyBPYmplY3QoKTt0 aGlzLmF0dHJpYnV0ZXM9bmV3IEFycmF5KCk7aWYoc3dmKXt0aGlzLnNldEF0dHJp YnV0ZShcJ3N3ZlwnLHN3Zik7fVxuaWYoaWQpe3RoaXMuc2V0QXR0cmlidXRlKFwn aWRcJyxpZCk7fVxuaWYodyl7dGhpcy5zZXRBdHRyaWJ1dGUoXCd3aWR0aFwnLHcp O31cbmlmKGgpe3RoaXMuc2V0QXR0cmlidXRlKFwnaGVpZ2h0XCcsaCk7fVxuaWYo dmVyKXt0aGlzLnNldEF0dHJpYnV0ZShcJ3ZlcnNpb25cJyxuZXcgZGVjb25jZXB0 LlBsYXllclZlcnNpb24odmVyLnRvU3RyaW5nKCkuc3BsaXQoXCIuXCIpKSk7fVxu dGhpcy5pbnN0YWxsZWRWZXI9ZGVjb25jZXB0LlNXRk9iamVjdFV0aWwuZ2V0UGxh eWVyVmVyc2lvbigpO2lmKGMpe3RoaXMuYWRkUGFyYW0oXCdiZ2NvbG9yXCcsYyk7 fVxudmFyIHE9cXVhbGl0eT9xdWFsaXR5OlwnaGlnaFwnO3RoaXMuYWRkUGFyYW0o XCdxdWFsaXR5XCcscSk7dGhpcy5zZXRBdHRyaWJ1dGUoXCd1c2VFeHByZXNzSW5z dGFsbFwnLHVzZUV4cHJlc3NJbnN0YWxsKTt0aGlzLnNldEF0dHJpYnV0ZShcJ2Rv RXhwcmVzc0luc3RhbGxcJyxmYWxzZSk7dmFyIHhpcj0oeGlSZWRpcmVjdFVybCk/ eGlSZWRpcmVjdFVybDp3aW5kb3cubG9jYXRpb247dGhpcy5zZXRBdHRyaWJ1dGUo XCd4aVJlZGlyZWN0VXJsXCcseGlyKTt0aGlzLnNldEF0dHJpYnV0ZShcJ3JlZGly ZWN0VXJsXCcsXCdcJyk7aWYocmVkaXJlY3RVcmwpe3RoaXMuc2V0QXR0cmlidXRl KFwncmVkaXJlY3RVcmxcJyxyZWRpcmVjdFVybCk7fX1cbmRlY29uY2VwdC5TV0ZP YmplY3QucHJvdG90eXBlPXtzZXRBdHRyaWJ1dGU6ZnVuY3Rpb24obmFtZSx2YWx1 ZSl7dGhpcy5hdHRyaWJ1dGVzW25hbWVdPXZhbHVlO30sZ2V0QXR0cmlidXRlOmZ1 bmN0aW9uKG5hbWUpe3JldHVybiB0aGlzLmF0dHJpYnV0ZXNbbmFtZV07fSxhZGRQ YXJhbTpmdW5jdGlvbihuYW1lLHZhbHVlKXt0aGlzLnBhcmFtc1tuYW1lXT12YWx1 ZTt9LGdldFBhcmFtczpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBhcmFtczt9LGFk ZFZhcmlhYmxlOmZ1bmN0aW9uKG5hbWUsdmFsdWUpe3RoaXMudmFyaWFibGVzW25h bWVdPXZhbHVlO30sZ2V0VmFyaWFibGU6ZnVuY3Rpb24obmFtZSl7cmV0dXJuIHRo aXMudmFyaWFibGVzW25hbWVdO30sZ2V0VmFyaWFibGVzOmZ1bmN0aW9uKCl7cmV0 dXJuIHRoaXMudmFyaWFibGVzO30sZ2V0VmFyaWFibGVQYWlyczpmdW5jdGlvbigp

e3ZhciB2YXJpYWJsZVBhaXJzPW5ldyBBcnJheSgpO3ZhciBrZXk7dmFyIHZhcmlh Ymxlcz10aGlzLmdldFZhcmlhYmxlcygpO2ZvcihrZXkgaW4gdmFyaWFibGVzKXt2 YXJpYWJsZVBhaXJzLnB1c2goa2V5K1wiPVwiK3ZhcmlhYmxlc1trZXldKTt9XG5y ZXR1cm4gdmFyaWFibGVQYWlyczt9LGdldFNXRkhUTUw6ZnVuY3Rpb24oKXt2YXIg c3dmTm9kZT1cIlwiO2lmKG5hdmlnYXRvci5wbHVnaW5zJiZuYXZpZ2F0b3IubWlt ZVR5cGVzJiZuYXZpZ2F0b3IubWltZVR5cGVzLmxlbmd0aCl7aWYodGhpcy5nZXRB dHRyaWJ1dGUoXCJkb0V4cHJlc3NJbnN0YWxsXCIpKXt0aGlzLmFkZFZhcmlhYmxl KFwiTU1wbGF5ZXJUeXBlXCIsXCJQbHVnSW5cIik7fVxuc3dmTm9kZT1cJzxlbWJl ZCB0eXBlPVwiYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2hcIiBzcmM9XCJc Jyt0aGlzLmdldEF0dHJpYnV0ZShcJ3N3ZlwnKStcJ1wiIHdpZHRoPVwiXCcrdGhp cy5nZXRBdHRyaWJ1dGUoXCd3aWR0aFwnKStcJ1wiIGhlaWdodD1cIlwnK3RoaXMu Z2V0QXR0cmlidXRlKFwnaGVpZ2h0XCcpK1wnXCJcJztzd2ZOb2RlKz1cJyBpZD1c IlwnK3RoaXMuZ2V0QXR0cmlidXRlKFwnaWRcJykrXCdcIiBuYW1lPVwiXCcrdGhp cy5nZXRBdHRyaWJ1dGUoXCdpZFwnKStcJ1wiIFwnO3ZhciBwYXJhbXM9dGhpcy5n ZXRQYXJhbXMoKTtmb3IodmFyIGtleSBpbiBwYXJhbXMpe3N3Zk5vZGUrPVtrZXld K1wnPVwiXCcrcGFyYW1zW2tleV0rXCdcIiBcJzt9XG52YXIgcGFpcnM9dGhpcy5n ZXRWYXJpYWJsZVBhaXJzKCkuam9pbihcIiZcIik7aWYocGFpcnMubGVuZ3RoPjAp e3N3Zk5vZGUrPVwnZmxhc2h2YXJzPVwiXCcrcGFpcnMrXCdcIlwnO31cbnN3Zk5v ZGUrPVwnLz5cJzt9ZWxzZXtpZih0aGlzLmdldEF0dHJpYnV0ZShcImRvRXhwcmVz c0luc3RhbGxcIikpe3RoaXMuYWRkVmFyaWFibGUoXCJNTXBsYXllclR5cGVcIixc IkFjdGl2ZVhcIik7fVxuc3dmTm9kZT1cJzxvYmplY3QgaWQ9XCJcJyt0aGlzLmdl dEF0dHJpYnV0ZShcJ2lkXCcpK1wnXCIgY2xhc3NpZD1cImNsc2lkOkQyN0NEQjZF LUFFNkQtMTFjZi05NkI4LTQ0NDU1MzU0MDAwMFwiIHdpZHRoPVwiXCcrdGhpcy5n ZXRBdHRyaWJ1dGUoXCd3aWR0aFwnKStcJ1wiIGhlaWdodD1cIlwnK3RoaXMuZ2V0 QXR0cmlidXRlKFwnaGVpZ2h0XCcpK1wnXCI+XCc7c3dmTm9kZSs9XCc8cGFyYW0g bmFtZT1cIm1vdmllXCIgdmFsdWU9XCJcJyt0aGlzLmdldEF0dHJpYnV0ZShcJ3N3 ZlwnKStcJ1wiIC8+XCc7dmFyIHBhcmFtcz10aGlzLmdldFBhcmFtcygpO2Zvcih2 YXIga2V5IGluIHBhcmFtcyl7c3dmTm9kZSs9XCc8cGFyYW0gbmFtZT1cIlwnK2tl eStcJ1wiIHZhbHVlPVwiXCcrcGFyYW1zW2tleV0rXCdcIiAvPlwnO31cbnZhciBw YWlycz10aGlzLmdldFZhcmlhYmxlUGFpcnMoKS5qb2luKFwiJlwiKTtpZihwYWly cy5sZW5ndGg+MCl7c3dmTm9kZSs9XCc8cGFyYW0gbmFtZT1cImZsYXNodmFyc1wi IHZhbHVlPVwiXCcrcGFpcnMrXCdcIiAvPlwnO31cbnN3Zk5vZGUrPVwiPFwvb2Jq ZWN0PlwiO31cbnJldHVybiBzd2ZOb2RlO30sd3JpdGU6ZnVuY3Rpb24oZWxlbWVu dElkKXtpZih0aGlzLmdldEF0dHJpYnV0ZShcJ3VzZUV4cHJlc3NJbnN0YWxsXCcp KXt2YXIgZXhwcmVzc0luc3RhbGxSZXFWZXI9bmV3IGRlY29uY2VwdC5QbGF5ZXJW ZXJzaW9uKFs2LDAsNjVdKTtpZih0aGlzLmluc3RhbGxlZFZlci52ZXJzaW9uSXNW YWxpZChleHByZXNzSW5zdGFsbFJlcVZlcikmJiF0aGlzLmluc3RhbGxlZFZlci52 ZXJzaW9uSXNWYWxpZCh0aGlzLmdldEF0dHJpYnV0ZShcJ3ZlcnNpb25cJykpKXt0 aGlzLnNldEF0dHJpYnV0ZShcJ2RvRXhwcmVzc0luc3RhbGxcJyx0cnVlKTt0aGlz LmFkZFZhcmlhYmxlKFwiTU1yZWRpcmVjdFVSTFwiLGVzY2FwZSh0aGlzLmdldEF0 dHJpYnV0ZShcJ3hpUmVkaXJlY3RVcmxcJykpKTtkb2N1bWVudC50aXRsZT1kb2N1 bWVudC50aXRsZS5zbGljZSgwLDQ3KStcIiAtIEZsYXNoIFBsYXllciBJbnN0YWxs YXRpb25cIjt0aGlzLmFkZFZhcmlhYmxlKFwiTU1kb2N0aXRsZVwiLGRvY3VtZW50 LnRpdGxlKTt9fVxuaWYodGhpcy5za2lwRGV0ZWN0fHx0aGlzLmdldEF0dHJpYnV0 ZShcJ2RvRXhwcmVzc0luc3RhbGxcJyl8fHRoaXMuaW5zdGFsbGVkVmVyLnZlcnNp b25Jc1ZhbGlkKHRoaXMuZ2V0QXR0cmlidXRlKFwndmVyc2lvblwnKSkpe3ZhciBu PSh0eXBlb2YgZWxlbWVudElkPT1cJ3N0cmluZ1wnKT9kb2N1bWVudC5nZXRFbGVt ZW50QnlJZChlbGVtZW50SWQpOmVsZW1lbnRJZDtuLmlubmVySFRNTD10aGlzLmdl dFNXRkhUTUwoKTtyZXR1cm4gdHJ1ZTt9ZWxzZXtpZih0aGlzLmdldEF0dHJpYnV0 ZShcJ3JlZGlyZWN0VXJsXCcpIT1cIlwiKXtkb2N1bWVudC5sb2NhdGlvbi5yZXBs YWNlKHRoaXMuZ2V0QXR0cmlidXRlKFwncmVkaXJlY3RVcmxcJykpO319XG5yZXR1 cm4gZmFsc2U7fX1cbmRlY29uY2VwdC5TV0ZPYmplY3RVdGlsLmdldFBsYXllclZl cnNpb249ZnVuY3Rpb24oKXt2YXIgUGxheWVyVmVyc2lvbj1uZXcgZGVjb25jZXB0 LlBsYXllclZlcnNpb24oWzAsMCwwXSk7aWYobmF2aWdhdG9yLnBsdWdpbnMmJm5h dmlnYXRvci5taW1lVHlwZXMubGVuZ3RoKXt2YXIgeD1uYXZpZ2F0b3IucGx1Z2lu c1tcIlNob2Nrd2F2ZSBGbGFzaFwiXTtpZih4JiZ4LmRlc2NyaXB0aW9uKXtQbGF5 ZXJWZXJzaW9uPW5ldyBkZWNvbmNlcHQuUGxheWVyVmVyc2lvbih4LmRlc2NyaXB0 aW9uLnJlcGxhY2UoLyhbYS16QS1aXXxcXHMpKy8sXCJcIikucmVwbGFjZSgvKFxc cytyfFxccytiWzAtOV0rKS8sXCIuXCIpLnNwbGl0KFwiLlwiKSk7fX1lbHNle3Ry eXt2YXIgYXhvPW5ldyBBY3RpdmVYT2JqZWN0KFwiU2hvY2t3YXZlRmxhc2guU2hv

Y2t3YXZlRmxhc2guN1wiKTt9Y2F0Y2goZSl7dHJ5e3ZhciBheG89bmV3IEFjdGl2 ZVhPYmplY3QoXCJTaG9ja3dhdmVGbGFzaC5TaG9ja3dhdmVGbGFzaC42XCIpO1Bs YXllclZlcnNpb249bmV3IGRlY29uY2VwdC5QbGF5ZXJWZXJzaW9uKFs2LDAsMjFd KTtheG8uQWxsb3dTY3JpcHRBY2Nlc3M9XCJhbHdheXNcIjt9Y2F0Y2goZSl7aWYo UGxheWVyVmVyc2lvbi5tYWpvcj09Nil7cmV0dXJuIFBsYXllclZlcnNpb247fX1c bnRyeXtheG89bmV3IEFjdGl2ZVhPYmplY3QoXCJTaG9ja3dhdmVGbGFzaC5TaG9j a3dhdmVGbGFzaFwiKTt9Y2F0Y2goZSl7fX1cbmlmKGF4byE9bnVsbCl7UGxheWVy VmVyc2lvbj1uZXcgZGVjb25jZXB0LlBsYXllclZlcnNpb24oYXhvLkdldFZhcmlh YmxlKFwiJHZlcnNpb25cIikuc3BsaXQoXCIgXCIpWzFdLnNwbGl0KFwiLFwiKSk7 fX1cbnJldHVybiBQbGF5ZXJWZXJzaW9uO31cbmRlY29uY2VwdC5QbGF5ZXJWZXJz aW9uPWZ1bmN0aW9uKGFyclZlcnNpb24pe3RoaXMubWFqb3I9YXJyVmVyc2lvblsw XSE9bnVsbD9wYXJzZUludChhcnJWZXJzaW9uWzBdKTowO3RoaXMubWlub3I9YXJy VmVyc2lvblsxXSE9bnVsbD9wYXJzZUludChhcnJWZXJzaW9uWzFdKTowO3RoaXMu cmV2PWFyclZlcnNpb25bMl0hPW51bGw/cGFyc2VJbnQoYXJyVmVyc2lvblsyXSk6 MDt9XG5kZWNvbmNlcHQuUGxheWVyVmVyc2lvbi5wcm90b3R5cGUudmVyc2lvbklz VmFsaWQ9ZnVuY3Rpb24oZnYpe2lmKHRoaXMubWFqb3I8ZnYubWFqb3IpcmV0dXJu IGZhbHNlO2lmKHRoaXMubWFqb3I+ZnYubWFqb3IpcmV0dXJuIHRydWU7aWYodGhp cy5taW5vcjxmdi5taW5vcilyZXR1cm4gZmFsc2U7aWYodGhpcy5taW5vcj5mdi5t aW5vcilyZXR1cm4gdHJ1ZTtpZih0aGlzLnJldjxmdi5yZXYpcmV0dXJuIGZhbHNl O3JldHVybiB0cnVlO31cbmRlY29uY2VwdC51dGlsPXtnZXRSZXF1ZXN0UGFyYW1l dGVyOmZ1bmN0aW9uKHBhcmFtKXt2YXIgcT1kb2N1bWVudC5sb2NhdGlvbi5zZWFy Y2h8fGRvY3VtZW50LmxvY2F0aW9uLmhhc2g7aWYocSl7dmFyIHBhaXJzPXEuc3Vi c3RyaW5nKDEpLnNwbGl0KFwiJlwiKTtmb3IodmFyIGk9MDtpPHBhaXJzLmxlbmd0 aDtpKyspe2lmKHBhaXJzW2ldLnN1YnN0cmluZygwLHBhaXJzW2ldLmluZGV4T2Yo XCI9XCIpKT09cGFyYW0pe3JldHVybiBwYWlyc1tpXS5zdWJzdHJpbmcoKHBhaXJz W2ldLmluZGV4T2YoXCI9XCIpKzEpKTt9fX1cbnJldHVyblwiXCI7fX1cbmRlY29u Y2VwdC5TV0ZPYmplY3RVdGlsLmNsZWFudXBTV0ZzPWZ1bmN0aW9uKCl7aWYod2lu ZG93Lm9wZXJhfHwhZG9jdW1lbnQuYWxsKXJldHVybjt2YXIgb2JqZWN0cz1kb2N1 bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcIk9CSkVDVFwiKTtmb3IodmFyIGk9 MDtpPG9iamVjdHMubGVuZ3RoO2krKyl7b2JqZWN0c1tpXS5zdHlsZS5kaXNwbGF5 PVwnbm9uZVwnO2Zvcih2YXIgeCBpbiBvYmplY3RzW2ldKXtpZih0eXBlb2Ygb2Jq ZWN0c1tpXVt4XT09XCdmdW5jdGlvblwnKXtvYmplY3RzW2ldW3hdPWZ1bmN0aW9u KCl7fTt9fX19XG5kZWNvbmNlcHQuU1dGT2JqZWN0VXRpbC5wcmVwVW5sb2FkPWZ1 bmN0aW9uKCl7X19mbGFzaF91bmxvYWRIYW5kbGVyPWZ1bmN0aW9uKCl7fTtfX2Zs YXNoX3NhdmVkVW5sb2FkSGFuZGxlcj1mdW5jdGlvbigpe307aWYodHlwZW9mIHdp bmRvdy5vbnVubG9hZD09XCdmdW5jdGlvblwnKXt2YXIgb2xkVW5sb2FkPXdpbmRv dy5vbnVubG9hZDt3aW5kb3cub251bmxvYWQ9ZnVuY3Rpb24oKXtkZWNvbmNlcHQu U1dGT2JqZWN0VXRpbC5jbGVhbnVwU1dGcygpO29sZFVubG9hZCgpO319ZWxzZXt3 aW5kb3cub251bmxvYWQ9ZGVjb25jZXB0LlNXRk9iamVjdFV0aWwuY2xlYW51cFNX RnM7fX1cbmlmKHR5cGVvZiB3aW5kb3cub25iZWZvcmV1bmxvYWQ9PVwnZnVuY3Rp b25cJyl7dmFyIG9sZEJlZm9yZVVubG9hZD13aW5kb3cub25iZWZvcmV1bmxvYWQ7 d2luZG93Lm9uYmVmb3JldW5sb2FkPWZ1bmN0aW9uKCl7ZGVjb25jZXB0LlNXRk9i amVjdFV0aWwucHJlcFVubG9hZCgpO29sZEJlZm9yZVVubG9hZCgpO319ZWxzZXt3 aW5kb3cub25iZWZvcmV1bmxvYWQ9ZGVjb25jZXB0LlNXRk9iamVjdFV0aWwucHJl cFVubG9hZDt9XG5pZihBcnJheS5wcm90b3R5cGUucHVzaD09bnVsbCl7QXJyYXku cHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24oaXRlbSl7dGhpc1t0aGlzLmxlbmd0aF09 aXRlbTtyZXR1cm4gdGhpcy5sZW5ndGg7fX1cbnZhciBnZXRRdWVyeVBhcmFtVmFs dWU9ZGVjb25jZXB0LnV0aWwuZ2V0UmVxdWVzdFBhcmFtZXRlcjt2YXIgRmxhc2hP YmplY3Q9ZGVjb25jZXB0LlNXRk9iamVjdDt2YXIgU1dGT2JqZWN0PWRlY29uY2Vw dC5TV0ZPYmplY3Q7IjsKCgovKiBwdWJsaWMvamF2YXNjcmlwdHMvZ2xvYmFsL2Jh c2UuanMgQCAxMzQ4NTE3NTc5ICovCgppZighd2luZG93LlNjcmliZClTY3JpYmQ9 e307ZnVuY3Rpb24gamtzdHJwKGYsbmFtZSl7ZnVuY3Rpb24gcCgpe3RyeXtmKCk7 fWNhdGNoKGUpe3ZhciB1YT0iIituYXZpZ2F0b3IudXNlckFnZW50O3dpbmRvdy50 cmFja0V2ZW50JiZ0cmFja0V2ZW50KCJFcnJvciIsbmFtZSsiIDo6ICIrdWEsZS5z dGFja3x8ZS5tZXNzYWdlKTt0aHJvdyBlO319CmlmKGRvY3VtZW50LmxvYWRlZClw KCk7ZWxzZSBkb2N1bWVudC5vYnNlcnZlKCdkb206bG9hZGVkJyxwKTt9CmlmKGZh bHNlKXtBamF4LlJlc3BvbmRlcnMucmVnaXN0ZXIoe29uRXhjZXB0aW9uOmZ1bmN0 aW9uKHJlcXVlc3QsZXhjZXB0aW9uKXsoZnVuY3Rpb24oKXt0aHJvdyBleGNlcHRp b247fSkuZGVmZXIoKTt9fSk7fQpGdW5jdGlvbi5wcm90b3R5cGUuZGVib3VuY2U9 ZnVuY3Rpb24oZGVsYXksaW1tZWRpYXRlKXt2YXIgZm49dGhpcyx0aW1lb3V0PW51

bGw7cmV0dXJuIGZ1bmN0aW9uIGQoKXt2YXIgX3RoaXM9dGhpcyxhcmdzPWFyZ3Vt ZW50cztpZihpbW1lZGlhdGUmJnRpbWVvdXQ9PT1udWxsKXtmbi5hcHBseShfdGhp cyxhcmdzKTt9CmlmKHRpbWVvdXQhPT1udWxsKXdpbmRvdy5jbGVhclRpbWVvdXQo dGltZW91dCk7dGltZW91dD13aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpe2lm KCFpbW1lZGlhdGUpZm4uYXBwbHkoX3RoaXMsYXJncyk7dGltZW91dD1udWxsO30s ZGVsYXkpO319O0Z1bmN0aW9uLnByb3RvdHlwZS50aHJvdHRsZT1mdW5jdGlvbihy YXRlKXt2YXIgZm49dGhpcyx0aW1lb3V0O3JldHVybiBmdW5jdGlvbiB0KCl7aWYo dGltZW91dClyZXR1cm47Zm4uYXBwbHkodGhpcyxhcmd1bWVudHMpO3RpbWVvdXQ9 c2V0VGltZW91dChmdW5jdGlvbigpe3RpbWVvdXQ9bnVsbDt9LHJhdGUpO319O1Nj cmliZC5vbmNlPWZ1bmN0aW9uKGZuKXt2YXIgY2FsbGVkPWZhbHNlO3JldHVybiBm dW5jdGlvbigpe2lmKGNhbGxlZClyZXR1cm47Y2FsbGVkPXRydWU7cmV0dXJuIGZu LmFwcGx5KHRoaXMsYXJndW1lbnRzKTt9fTtTY3JpYmQuUmVtb3RlPShmdW5jdGlv bigpe2Z1bmN0aW9uIGdldEVsZW1lbnQoZSx0eXBlKXtpZihlLnRhZ05hbWUmJmUu dGFnTmFtZT09dHlwZSl7dmFyIGVsPSQoZSk7fWVsc2V7ZS5zdG9wKCk7dmFyIGVs PWUuZmluZEVsZW1lbnQodHlwZSk7fQpyZXR1cm4gZWw7fQpmdW5jdGlvbiBmb3Jt U2VuZFN1Y2Nlc3MocmVxKXt2YXIgcmVwbHk9cmVxLnJlc3BvbnNlSlNPTjtpZihy ZXBseSYmcmVwbHkuZXJyb3JzJiZ0aGlzLnVzZV9hbGVydCl7dmFyIGZvcm09JChk b2N1bWVudFtyZXBseS5mb3JtX25hbWVdKTtyZXBseS5lcnJvcnMuZWFjaChmdW5j dGlvbihlcil7dmFyIGlucHV0PWZvcm0uZG93bigiaW5wdXRbbmFtZT0nIitlci5p bnB1dF9uYW1lKyInXSIpO2lmKGlucHV0KXt2YXIgZXJyb3Jfbm9kZT1mb3JtLm5l eHQoJy5hbGVydCcpO2lmKCFlcnJvcl9ub2RlKXtlcnJvcl9ub2RlPW5ldyBFbGVt ZW50KCdkaXYnLHsnY2xhc3MnOidhbGVydCd9KTtmb3JtLmluc2VydCh7Ym90dG9t OmVycm9yX25vZGV9KTt9CmVycm9yX25vZGUudXBkYXRlKGVyLm1zZyk7fX0pO319 CnZhciBwdWI9e0Zvcm06ZnVuY3Rpb24oZSxvcHRzKXt2YXIgb3B0aW9ucz1PYmpl Y3QuZXh0ZW5kKHt1c2VfYWxlcnQ6dHJ1ZX0sb3B0cyk7dmFyIGZvcm09Z2V0RWxl bWVudChlLCdGT1JNJyk7b3B0aW9ucy5mb3JtX25hbWU9Zm9ybS5yZWFkQXR0cmli dXRlKCduYW1lJyk7aWYob3B0aW9ucy51c2VfYWxlcnQpCmZvcm0uc2VsZWN0KCcu YWxlcnQnKS5pbnZva2UoJ3VwZGF0ZScpO2Zvcm0ucmVxdWVzdChPYmplY3QuZXh0 ZW5kKHtldmFsU2NyaXB0czp0cnVlLHBhcmFtZXRlcnM6J2Zvcm1fbmFtZT0nK2Vu Y29kZVVSSUNvbXBvbmVudChmb3JtLnJlYWRBdHRyaWJ1dGUoJ25hbWUnKSksb25T dWNjZXNzOmZvcm1TZW5kU3VjY2Vzcy5iaW5kKG9wdGlvbnMpLG9uRmFpbHVyZTpm dW5jdGlvbigpe1NjcmliZC5BbGVydHMuZXJyb3IoJ2ZsYXNoZXNfcGxhY2Vob2xk ZXInLCJSZXF1ZXN0IGZhaWxlZCEgUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4iLHth dXRvX2ZhZGU6dHJ1ZX0pOyQoJ2ZsYXNoZXNfcGxhY2Vob2xkZXInKS5zY3JvbGxU bygpO30uYmluZChvcHRpb25zKSxvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7dmFyIGZv cm09JCQoImZvcm1bbmFtZT0nIit0aGlzLmZvcm1fbmFtZSsiJ10iKS5maXJzdCgp O2Zvcm0uZW5hYmxlKCk7Zm9ybS5kb3duKCIuc3Bpbm5lciIpLmhpZGUoKTt9LmJp bmQob3B0aW9ucyl9LG9wdGlvbnMpKTtmb3JtLmRpc2FibGUoKTt2YXIgc3Bpbm5l cj1mb3JtLmRvd24oJy5zcGlubmVyJyk7aWYoc3Bpbm5lcikKc3Bpbm5lci5zaG93 KCk7Zm9ybT1udWxsO30sTGluazpmdW5jdGlvbihlLG9wdHMpe3ZhciBvcHRpb25z PW9wdHN8fHt9O3ZhciBsaW5rPWdldEVsZW1lbnQoZSwnQScpO3ZhciB1cmw9bGlu ay5yZWFkQXR0cmlidXRlKCdocmVmJyk7bmV3IEFqYXguUmVxdWVzdCh1cmwsT2Jq ZWN0LmV4dGVuZCh7bWV0aG9kOidHRVQnLGV2YWxTY3JpcHRzOnRydWV9LG9wdGlv bnMpKTtsaW5rPW51bGw7fX07cmV0dXJuIHB1Yjt9KSgpO1NjcmliZC5sb2FkU2Ny aXB0PWZ1bmN0aW9uKG9wdGlvbnMpe3ZhciB1cmw9b3B0aW9ucy51cmx8fG9wdGlv bnM7aWYodHlwZW9mKHVybCkhPT0nc3RyaW5nJyl7dGhyb3cibG9hZFNjcmlwdCBj YWxsZWQgd2l0aG91dCBhIHVybCI7fQp2YXIgY29udGFpbmVyPSQob3B0aW9ucy5j b250YWluZXIpfHxkb2N1bWVudC5oZWFkfHxkb2N1bWVudC5nZXRFbGVtZW50c0J5 VGFnTmFtZSgiaGVhZCIpWzBdfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7dmFy IHNjcmlwdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtzY3JpcHQu dHlwZT0ndGV4dC9qYXZhc2NyaXB0JztzY3JpcHQuc3JjPXVybDtzY3JpcHQuYXN5 bmM9dHJ1ZTtjb250YWluZXIuaW5zZXJ0QmVmb3JlKHNjcmlwdCxjb250YWluZXIu Zmlyc3RDaGlsZCk7fTtTY3JpYmQuanNvbnA9ZnVuY3Rpb24ob3B0aW9ucyl7aWYo T2JqZWN0LmlzRnVuY3Rpb24ob3B0aW9ucy5jYWxsYmFjaykpe3ZhciBjYWxsYmFj a05hbWU9J2pzb25wJytNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMTAwMDAwMSk7 d2luZG93W2NhbGxiYWNrTmFtZV09ZnVuY3Rpb24oanNvbkRhdGEpe29wdGlvbnMu Y2FsbGJhY2soanNvbkRhdGEpO3dpbmRvd1tjYWxsYmFja05hbWVdPXVuZGVmaW5l ZDt9O31lbHNle3ZhciBjYWxsYmFja05hbWU9b3B0aW9ucy5jYWxsYmFjazt9CnZh ciB1cmw9b3B0aW9ucy51cmw7aWYob3B0aW9ucy5wYXJhbXMpe3ZhciBwYXJhbXM9 b3B0aW9ucy5wYXJhbXMudG9RdWVyeVN0cmluZygpKycmY2FsbGJhY2s9JytjYWxs

YmFja05hbWU7aWYob3B0aW9ucy51cmwuaW5kZXhPZignPycpPj0wKXt1cmwrPSgi JiIrcGFyYW1zKTt9ZWxzZXt1cmwrPSgiPyIrcGFyYW1zKTt9fWVsc2V7dXJsKz0n P2NhbGxiYWNrPScrY2FsbGJhY2tOYW1lO30KdmFyIHNjcmlwdFRhZz1kb2N1bWVu dC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtzY3JpcHRUYWcuc2V0QXR0cmlidXRl KCdzcmMnLHVybCk7c2NyaXB0VGFnLnNldEF0dHJpYnV0ZSgnYXN5bmMnLCd0cnVl Jyk7c2NyaXB0VGFnLnNldEF0dHJpYnV0ZSgnY2hhcnNldCcsJ3V0Zi04JykKZG9j dW1lbnQuZG9jdW1lbnRFbGVtZW50LmZpcnN0Q2hpbGQuYXBwZW5kQ2hpbGQoc2Ny aXB0VGFnKTt9ClNjcmliZC5hZGREZWZhdWx0VGV4dEV2ZW50cz1mdW5jdGlvbihl bGVtZW50LGRlZmF1bHRfdGV4dCxjYil7ZWxlbWVudC5hZGRDbGFzc05hbWUoJ2lu YWN0aXZlJyk7ZWxlbWVudC52YWx1ZT1kZWZhdWx0X3RleHQ7ZWxlbWVudC5vYnNl cnZlKCdmb2N1cycsZnVuY3Rpb24oZSl7aWYodGhpcy52YWx1ZT09ZGVmYXVsdF90 ZXh0KQp0aGlzLnZhbHVlPScnO3RoaXMucmVtb3ZlQ2xhc3NOYW1lKCdpbmFjdGl2 ZScpO2lmKGNiKWNiKGUpO30pO2VsZW1lbnQub2JzZXJ2ZSgnYmx1cicsZnVuY3Rp b24oZSl7aWYoJEYoZWxlbWVudCk9PScnKXtlbGVtZW50LnZhbHVlPWRlZmF1bHRf dGV4dDtlbGVtZW50LmFkZENsYXNzTmFtZSgnaW5hY3RpdmUnKTt9fSk7fTtTY3Jp YmQuZW5mb3JjZU1heExlbmd0aD1mdW5jdGlvbih0ZXh0YXJlYSxjb3VudERpc3Bs YXksbWF4TGVuZ3RoKXtpZih0ZXh0YXJlYSYmY291bnREaXNwbGF5KXt2YXIgdXBk YXRlQ2hhckNvdW50PWZ1bmN0aW9uKGUpe3ZhciB2YWw9JEYodGV4dGFyZWEpO3Zh ciBsZWZ0PW1heExlbmd0aC12YWwubGVuZ3RoO2lmKGxlZnQ8MCl7dGV4dGFyZWEu c2V0VmFsdWUodmFsLnNsaWNlKDAsbWF4TGVuZ3RoKSk7bGVmdD0wO30KaWYobGVm dD09MCl7Y291bnREaXNwbGF5LmFkZENsYXNzTmFtZSgnbGltaXRfcmVhY2hlZCcp O31lbHNle2NvdW50RGlzcGxheS5yZW1vdmVDbGFzc05hbWUoJ2xpbWl0X3JlYWNo ZWQnKTt9CmNvdW50RGlzcGxheS51cGRhdGUobGVmdCk7fQp1cGRhdGVDaGFyQ291 bnQoKTt0ZXh0YXJlYS5vYnNlcnZlKCdmb2N1cycsdXBkYXRlQ2hhckNvdW50KTt0 ZXh0YXJlYS5vYnNlcnZlKCdjaGFuZ2UnLHVwZGF0ZUNoYXJDb3VudCk7dGV4dGFy ZWEub2JzZXJ2ZSgna2V5dXAnLHVwZGF0ZUNoYXJDb3VudCk7fX07U2NyaWJkLkpT T05Db29raWU9Q2xhc3MuY3JlYXRlKHtpbml0aWFsaXplOmZ1bmN0aW9uKG5hbWUs amFyKXt0aGlzLmphcj1qYXJ8fG5ldyBDb29raWVKYXIoe3BhdGg6Jy8nLGV4cGly ZXM6Jyd9KTt0aGlzLm5hbWU9bmFtZTt2YXIgb2xkQ29va2llPXRoaXMuamFyLmdl dChuYW1lKXx8e307aWYodHlwZW9mKG9sZENvb2tpZSk9PT0ic3RyaW5nIikKb2xk Q29va2llPW9sZENvb2tpZS5ldmFsSlNPTih0cnVlKTt0aGlzLnN0b3JlPSRIKG9s ZENvb2tpZSk7fSxzZXQ6ZnVuY3Rpb24oayx2KXtyZXR1cm4gdGhpcy5zdG9yZS5z ZXQoayx2KTt9LHVuc2V0OmZ1bmN0aW9uKGtleSl7cmV0dXJuIHRoaXMuc3RvcmUu dW5zZXQoa2V5KTt9LHRvSlNPTjpmdW5jdGlvbigpe3JldHVybiB0aGlzLnN0b3Jl LnRvSlNPTigpO30sZ2V0OmZ1bmN0aW9uKGtleSl7cmV0dXJuIHRoaXMuc3RvcmUu Z2V0KGtleSk7fSxzYXZlOmZ1bmN0aW9uKCl7dGhpcy5qYXIucHV0KHRoaXMubmFt ZSx0aGlzLnRvSlNPTigpKTt9fSk7U2NyaWJkLnVzZXJuYW1lUmVzdHJpY3Rpb249 L1tBLVphLXpfMC05XS9nO1NjcmliZC5yZXN0cmljdENoYXJhY3RlcnNGb3JVc2Vy bmFtZT1mdW5jdGlvbihlKXtpZighZSl2YXIgZT13aW5kb3cuZXZlbnQ7aWYoZS5r ZXlDb2RlKWNvZGU9ZS5rZXlDb2RlO2Vsc2UgaWYoZS53aGljaCljb2RlPWUud2hp Y2g7dmFyIGNoYXJhY3Rlcj1TdHJpbmcuZnJvbUNoYXJDb2RlKGNvZGUpO2lmKGNv ZGU9PTI3KXt0aGlzLmJsdXIoKTtyZXR1cm4gZmFsc2U7fQppZighZS5jdHJsS2V5 JiZjb2RlIT05JiZjb2RlIT04JiZjb2RlIT0zNiYmY29kZSE9MzcmJmNvZGUhPTM4 JiYoY29kZSE9MzkpJiZjb2RlIT00MCYmY29kZSE9NDYpe2lmKGNoYXJhY3Rlci5t YXRjaChTY3JpYmQudXNlcm5hbWVSZXN0cmljdGlvbikpe3JldHVybiB0cnVlO31l bHNle2Uuc3RvcCgpO319fTtTY3JpYmQubG9nT249ZmFsc2V8fHdpbmRvdy5sb2Nh dGlvbi5ocmVmLm1hdGNoKC8jLipsb2cvKTtTY3JpYmQubG9nPWZ1bmN0aW9uKG1z ZyxvYmosbG9nZ2VyKXtpZighbG9nZ2VyKQpsb2dnZXI9J2xvZyc7aWYoU2NyaWJk LmxvZ09uJiZ3aW5kb3dbJ2NvbnNvbGUnXSYmd2luZG93Wydjb25zb2xlJ11bbG9n Z2VyXSl7Y29uc29sZVtsb2dnZXJdKG1zZyk7aWYob2JqKQpjb25zb2xlW2xvZ2dl cl0ob2JqKTt9fTtTY3JpYmQubG9nRXJyb3I9ZnVuY3Rpb24obXNnLG9iail7U2Ny aWJkLmxvZyhtc2csb2JqLCdlcnJvcicpO307U2NyaWJkLmNyZWF0ZUNvcHlCdXR0 b249ZnVuY3Rpb24oYnV0dG9uX2lkLHRleHRfZmllbGRfaWQsb3B0cyl7dmFyIGFj dHVhbGx5X2NyZWF0ZV9jb3B5X2J1dHRvbj1mdW5jdGlvbihidXR0b25faWQsdGV4 dF9maWVsZF9pZCxvcHRzKXtvcHRzPW9wdHN8fHt9O3ZhciBtb3VzZWRvd25fY2Fs bGJhY2s9b3B0c1snbW91c2Vkb3duX2NhbGxiYWNrJ10sY29udGFpbmVyX2lkPW9w dHNbJ2NvbnRhaW5lcl9pZCddLGJ1dHRvbj0kKGJ1dHRvbl9pZCk7WmVyb0NsaXBi b2FyZC5zZXRNb3ZpZVBhdGgoU2NyaWJkLmNkbl9wYXRoKydzd2YvWmVyb0NsaXBi b2FyZC5zd2YnKTt2YXIgY2xpcD1uZXcgWmVyb0NsaXBib2FyZC5DbGllbnQoKTtj bGlwLnNldENTU0VmZmVjdHMoZmFsc2UpO2NsaXAuc2V0VGV4dCgnJyk7Y2xpcC5h

ZGRFdmVudExpc3RlbmVyKCdvbk1vdXNlT3ZlcicsZnVuY3Rpb24oY2xpZW50KXti dXR0b24uYWRkQ2xhc3NOYW1lKCdob3ZlcicpO30pO2NsaXAuYWRkRXZlbnRMaXN0 ZW5lcignb25Nb3VzZU91dCcsZnVuY3Rpb24oY2xpZW50KXtidXR0b24ucmVtb3Zl Q2xhc3NOYW1lKCdob3ZlcicpO30pO2NsaXAuYWRkRXZlbnRMaXN0ZW5lcignb25N b3VzZURvd24nLGZ1bmN0aW9uKGNsaWVudCl7Y2xpcC5zZXRUZXh0KCQodGV4dF9m aWVsZF9pZCkudmFsdWUpO2J1dHRvbi5hZGRDbGFzc05hbWUoJ2FjdGl2ZScpO2Rl bGF5VGltZT0xMDAwO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtidXR0b24ucmVtb3Zl Q2xhc3NOYW1lKCdhY3RpdmUnKTt9LGRlbGF5VGltZSk7aWYobW91c2Vkb3duX2Nh bGxiYWNrIT09dW5kZWZpbmVkKXttb3VzZWRvd25fY2FsbGJhY2soKTt9fSk7aWYo Y29udGFpbmVyX2lkIT09dW5kZWZpbmVkKXtjbGlwLmdsdWUoYnV0dG9uX2lkLGNv bnRhaW5lcl9pZCk7fWVsc2V7RXZlbnQub2JzZXJ2ZSh3aW5kb3csJ3Jlc2l6ZScs Y2xpcC5yZXBvc2l0aW9uKTtjbGlwLmdsdWUoYnV0dG9uX2lkKTt9fTt2YXIgc2hv d19vbl92aXNpYmxlPWZ1bmN0aW9uKCl7U2NyaWJkLm9uVmlzaWJsZShidXR0b25f aWQsZnVuY3Rpb24oKXthY3R1YWxseV9jcmVhdGVfY29weV9idXR0b24oYnV0dG9u X2lkLHRleHRfZmllbGRfaWQsb3B0cyk7fSk7fTtpZihkb2N1bWVudC5sb2FkZWQp CnNob3dfb25fdmlzaWJsZSgpO2Vsc2UKZG9jdW1lbnQub2JzZXJ2ZSgnZG9tOmxv YWRlZCcsc2hvd19vbl92aXNpYmxlKTt9O1NjcmliZC5hYnNvbHV0aXplQW5kUGFk PWZ1bmN0aW9uKGNvbnRhaW5lcil7dmFyIHBhZGRpbmc7dmFyIGFic29sdXRlPWNv bnRhaW5lcjtwYWRkaW5nPWFic29sdXRlLmNsb25lTm9kZShmYWxzZSk7cGFkZGlu Zy5jbG9uZVBvc2l0aW9uKGFic29sdXRlKTthYnNvbHV0ZS53cml0ZUF0dHJpYnV0 ZSh7J2lkJzpjb250YWluZXIuaWQrJ19hYnNvbHV0ZSd9KTthYnNvbHV0ZS5hYnNv bHV0aXplKCk7YWJzb2x1dGUuaW5zZXJ0KHsnYWZ0ZXInOnBhZGRpbmd9KTt2YXIg dXBkYXRlUG9zaXRpb249ZnVuY3Rpb24oKXthYnNvbHV0ZS5jbG9uZVBvc2l0aW9u KHBhZGRpbmcpO307RXZlbnQub2JzZXJ2ZSh3aW5kb3csJ3Jlc2l6ZScsdXBkYXRl UG9zaXRpb24pO0V2ZW50Lm9ic2VydmUoZG9jdW1lbnQsJ3NjcmliZDptb3ZlX2Fk cycsdXBkYXRlUG9zaXRpb24pO1snem9vbWVkJywndmlld21vZGVDaGFuZ2VkJywn ZW50ZXJlZEZ1bGxzY3JlZW4nLCdleGl0ZWRGdWxsc2NyZWVuJ10uZWFjaChmdW5j dGlvbih3aGljaCl7ZG9jTWFuYWdlci5hZGRFdmVudCh3aGljaCx1cGRhdGVQb3Np dGlvbik7fSk7fTtTY3JpYmQuaXNWaXNpYmxlPWZ1bmN0aW9uKGlkX29yX2VsZW1l bnQpe3ZhciBlbGVtZW50PWlkX29yX2VsZW1lbnQ7aWYodHlwZW9mKGlkX29yX2Vs ZW1lbnQpPT09J3N0cmluZycpCmVsZW1lbnQ9JChpZF9vcl9lbGVtZW50KTtpZigh ZWxlbWVudCl7dGhyb3ciRWxlbWVudCAiK2lkX29yX2VsZW1lbnQrImRvZXMgbm90 IGV4aXN0ISI7fWVsc2UgaWYoZWxlbWVudD09PWRvY3VtZW50KXtyZXR1cm4gdHJ1 ZTt9ZWxzZSBpZihlbGVtZW50LmdldFN0eWxlKCdkaXNwbGF5Jyk9PT0nbm9uZScp e3JldHVybiBmYWxzZTt9ZWxzZXtyZXR1cm4gU2NyaWJkLmlzVmlzaWJsZShlbGVt ZW50LnBhcmVudE5vZGUpO319ClNjcmliZC5vblZpc2libGU9ZnVuY3Rpb24oaWRf b3JfZWxlbWVudCxjYWxsYmFjayxwb2xsX3RpbWUpe2lmKHBvbGxfdGltZT09PXVu ZGVmaW5lZCkKcG9sbF90aW1lPTEwMDt2YXIgaW50ZXJ2YWxfaWQ9bnVsbDt2YXIg dGVzdF9hbmRfY2FsbGJhY2s9ZnVuY3Rpb24oKXtpZihTY3JpYmQuaXNWaXNpYmxl KGlkX29yX2VsZW1lbnQpKXtjYWxsYmFjaygpO2NsZWFySW50ZXJ2YWwoaW50ZXJ2 YWxfaWQpO3JldHVybiB0cnVlO319CmlmKHRlc3RfYW5kX2NhbGxiYWNrKCkpCnJl dHVybiBudWxsO2ludGVydmFsX2lkPXNldEludGVydmFsKHRlc3RfYW5kX2NhbGxi YWNrLHBvbGxfdGltZSk7cmV0dXJuIGludGVydmFsX2lkO30KUHJvdG90eXBlLkJy b3dzZXIuSUU2PVByb3RvdHlwZS5Ccm93c2VyLklFJiZwYXJzZUludChuYXZpZ2F0 b3IudXNlckFnZW50LnN1YnN0cmluZyhuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4 T2YoIk1TSUUiKSs1KSk9PTY7UHJvdG90eXBlLkJyb3dzZXIuSUU3PVByb3RvdHlw ZS5Ccm93c2VyLklFJiZwYXJzZUludChuYXZpZ2F0b3IudXNlckFnZW50LnN1YnN0 cmluZyhuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIk1TSUUiKSs1KSk9PTc7 UHJvdG90eXBlLkJyb3dzZXIuSUU4PVByb3RvdHlwZS5Ccm93c2VyLklFJiYhUHJv dG90eXBlLkJyb3dzZXIuSUU2JiYhUHJvdG90eXBlLkJyb3dzZXIuSUU3O1Njcmli ZC5pbml0PWZ1bmN0aW9uKGEpe2lmKGFyZ3VtZW50cy5sZW5ndGg+MCl7dmFyIGxl bj1hcmd1bWVudHMubGVuZ3RoO3ZhciBwcmV2PW51bGw7Zm9yKHZhciBpPTA7aTxs ZW47aSsrKXtpZihhcmd1bWVudHNbaV0ubGVuZ3RoPT0wKXRocm93IkNhbm5vdCBp bml0aWFsaXplIGFuIGVtcHR5IHN0cmluZyI7dmFyIGN1cnJlbnQ9cHJldj9wcmV2 W2FyZ3VtZW50c1tpXV06d2luZG93W2FyZ3VtZW50c1tpXV07dmFyIGJhc2U9cHJl dj9wcmV2OndpbmRvdztpZighY3VycmVudCljdXJyZW50PWJhc2VbYXJndW1lbnRz W2ldXT17fTtwcmV2PWN1cnJlbnQ7fQpyZXR1cm4gY3VycmVudDt9ZWxzZXtyZXR1 cm4gbnVsbDt9fTtTY3JpYmQuZ2V0T3B0aW9uPWZ1bmN0aW9uKG5hbWUsZGVmYXVs dFZhbCl7dmFyIHZhbD13aW5kb3dbIl9zYmRPcHRpb25zXyIrbmFtZV07aWYodHlw ZW9mIHZhbD09PSd1bmRlZmluZWQnKXt2YWw9ZGVmYXVsdFZhbDt9CnJldHVybiB2

YWw7fTtTY3JpYmQudHJhY2tTZXNzaW9uTGVuZ3RoPWZ1bmN0aW9uKGNhdGVnb3J5 LGFjdGlvbixsYWJlbCx0aW1lc3RhbXApe3RpbWVzdGFtcD10aW1lc3RhbXB8fG5l dyBEYXRlKCk7ZG9jdW1lbnQub2JzZXJ2ZSgnZG9tOmxvYWRlZCcsZnVuY3Rpb24o KXt0aW1lc3RhbXA9bmV3IERhdGUoKTt9KTtFdmVudC5vYnNlcnZlKHdpbmRvdywn dW5sb2FkJyxmdW5jdGlvbigpe3RyYWNrRXZlbnQoY2F0ZWdvcnksYWN0aW9uLGxh YmVsLHBhcnNlSW50KChuZXcgRGF0ZSgpLXRpbWVzdGFtcCkvMTAwMCkpO30pO307 ZnVuY3Rpb24gaGlkZUVsZW1lbnRzKHNlbGVjdG9yKXskJChzZWxlY3RvcikuZWFj aChmdW5jdGlvbihpdGVtKXtpdGVtLmhpZGUoKTt9KX0KU2NyaWJkLnRyYWNrX2V2 ZW50PWZ1bmN0aW9uKGNhdGVnb3J5LGFjdGlvbixsYWJlbCx2YWx1ZSxpbnRlcmFj dGl2ZSl7aW50ZXJhY3RpdmU9aW50ZXJhY3RpdmUhPW51bGw/aW50ZXJhY3RpdmU6 dHJ1ZTtTY3JpYmQubG9nKCJHQSB0cmFja0V2ZW50OiAiK1tjYXRlZ29yeSxhY3Rp b24sbGFiZWwsdmFsdWUsaW50ZXJhY3RpdmVdLmpvaW4oIiwgIikpO3RyeXtyZXR1 cm4gX2dhcS5wdXNoKFsnX3RyYWNrRXZlbnQnLGNhdGVnb3J5LGFjdGlvbixsYWJl bCx2YWx1ZSwhaW50ZXJhY3RpdmVdKTt9Y2F0Y2goZSl7cmV0dXJuIFNjcmliZC5s b2coIkNvdWxkbid0IGxvZyBsYXN0IGV2ZW50IHdpdGggR0EiLGUpO319O3dpbmRv dy50cmFja0V2ZW50PVNjcmliZC50cmFja19ldmVudApTY3JpYmQuZHluYW1pY0lu Y2x1ZGVyPShmdW5jdGlvbigpe2Z1bmN0aW9uIGRpc3BhdGNoQ2FsbGJhY2tzKHN0 YXR1cyl7cy5jb21wbGV0ZShzdGF0dXMsbG9hZGVkLGVycm9ycyk7c1tzdGF0dXNd KHN0YXR1cz09J2Vycm9yJz9lcnJvcnM6bG9hZGVkKTtjbGVhclRpbWVvdXQodFRp bWVvdXQpO2NsZWFyVGltZW91dChjc3NUaW1lb3V0KTt9O2Z1bmN0aW9uIGNoZWNr UHJvZ3Jlc3MoKXtpZihsb2FkZWQubGVuZ3RoPT1maWxlcy5sZW5ndGgpU2NyaWJk LmR5bmFtaWNJbmNsdWRlci5kaXNwYXRjaENhbGxiYWNrcygnc3VjY2VzcycpO2Vs c2UgaWYobG9hZGVkLmxlbmd0aCtlcnJvcnMubGVuZ3RoPT1maWxlcy5sZW5ndGgp U2NyaWJkLmR5bmFtaWNJbmNsdWRlci5kaXNwYXRjaENhbGxiYWNrcygnZXJyb3In KTt9O2Z1bmN0aW9uIGFkZEVycm9yKCl7ZXJyb3JzLnB1c2godGhpcy5zcmMpO1Nj cmliZC5keW5hbWljSW5jbHVkZXIuY2hlY2tQcm9ncmVzcygpO307dmFyIHB1Yj17 aW5jbHVkZTpmdW5jdGlvbihzcmMsY2FsbGJhY2ssbmFtZSl7dmFyIHNjcmlwdD0k JCgnc2NyaXB0W3NyYyo9Iicrc3JjKyciXScpO2lmKHNjcmlwdC5sZW5ndGg+MCl7 dmFyIHRoaXNTY3JpcHQ9c2NyaXB0WzBdO3RoaXNTY3JpcHQucmVhZEF0dHJpYnV0 ZSgncGVuZGluZycpP3RoaXNTY3JpcHQub2JzZXJ2ZSgnZHluYW1pY2xvYWRlcjpz Y3JpcHRsb2FkJyxjYWxsYmFjayk6Y2FsbGJhY2soKTtyZXR1cm47fTt2YXIgcz1u ZXcgRWxlbWVudCgnc2NyaXB0Jyx7InR5cGUiOiJ0ZXh0L2phdmFzY3JpcHQiLCJz cmMiOnNyYywiaWQiOm5hbWUsInBlbmRpbmciOjF9KTtpZihQcm90b3R5cGUuQnJv d3Nlci5HZWNrbyl7cy5vbmVycm9yPXRoaXMuYWRkRXJyb3I7fQpzLm9ic2VydmUo J2R5bmFtaWNsb2FkZXI6c2NyaXB0bG9hZCcsZnVuY3Rpb24oKXskKHRoaXMpLndy aXRlQXR0cmlidXRlKCdwZW5kaW5nJyxudWxsKTtjYWxsYmFjaygpO3NldFRpbWVv dXQoZnVuY3Rpb24oKXtzLnN0b3BPYnNlcnZpbmcoJ2R5bmFtaWNsb2FkZXI6c2Ny aXB0bG9hZCcpO30sMTApO30pO3ZhciBkb25lPWZhbHNlO3Mub25sb2FkPXMub25y ZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoIWRvbmUmJighdGhpcy5yZWFk eVN0YXRlfHwvbG9hZGVkfGNvbXBsZXRlLy50ZXN0KHRoaXMucmVhZHlTdGF0ZSkp KXtkb25lPXRydWU7cy5vbmxvYWQ9cy5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbDtz LmZpcmUoJ2R5bmFtaWNsb2FkZXI6c2NyaXB0bG9hZCcpO307fTtkb2N1bWVudC5n ZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKHMpO319 O3JldHVybiBwdWI7fSkoKTsKCgovKiBwdWJsaWMvamF2YXNjcmlwdHMvZ2xvYmFs L2Jyb3dzZXJfZGV0ZWN0LmpzIEAgMTM0ODUxNzU3OSAqLwoKU2NyaWJkLkJyb3dz ZXJEZXRlY3Q9e2luaXQ6ZnVuY3Rpb24oKXt0aGlzLmJyb3dzZXI9dGhpcy5zZWFy Y2hTdHJpbmcodGhpcy5kYXRhQnJvd3Nlcil8fCJBbiB1bmtub3duIGJyb3dzZXIi O3RoaXMudmVyc2lvbj10aGlzLnNlYXJjaFZlcnNpb24obmF2aWdhdG9yLnVzZXJB Z2VudCl8fHRoaXMuc2VhcmNoVmVyc2lvbihuYXZpZ2F0b3IuYXBwVmVyc2lvbil8 fCJhbiB1bmtub3duIHZlcnNpb24iO3RoaXMuT1M9dGhpcy5zZWFyY2hTdHJpbmco dGhpcy5kYXRhT1MpfHwiYW4gdW5rbm93biBPUyI7fSxzZWFyY2hTdHJpbmc6ZnVu Y3Rpb24oZGF0YSl7Zm9yKHZhciBpPTA7aTxkYXRhLmxlbmd0aDtpKyspe3ZhciBk YXRhU3RyaW5nPWRhdGFbaV0uc3RyaW5nO3ZhciBkYXRhUHJvcD1kYXRhW2ldLnBy b3A7dGhpcy52ZXJzaW9uU2VhcmNoU3RyaW5nPWRhdGFbaV0udmVyc2lvblNlYXJj aHx8ZGF0YVtpXS5pZGVudGl0eTtpZihkYXRhU3RyaW5nKXtpZihkYXRhU3RyaW5n LmluZGV4T2YoZGF0YVtpXS5zdWJTdHJpbmcpIT0tMSkKcmV0dXJuIGRhdGFbaV0u aWRlbnRpdHk7fQplbHNlIGlmKGRhdGFQcm9wKQpyZXR1cm4gZGF0YVtpXS5pZGVu dGl0eTt9fSxzZWFyY2hWZXJzaW9uOmZ1bmN0aW9uKGRhdGFTdHJpbmcpe3ZhciBp bmRleD1kYXRhU3RyaW5nLmluZGV4T2YodGhpcy52ZXJzaW9uU2VhcmNoU3RyaW5n KTtpZihpbmRleD09LTEpcmV0dXJuO3JldHVybiBwYXJzZUZsb2F0KGRhdGFTdHJp

bmcuc3Vic3RyaW5nKGluZGV4K3RoaXMudmVyc2lvblNlYXJjaFN0cmluZy5sZW5n dGgrMSkpO30sZGF0YUJyb3dzZXI6W3tzdHJpbmc6bmF2aWdhdG9yLnVzZXJBZ2Vu dCxzdWJTdHJpbmc6IkNocm9tZSIsaWRlbnRpdHk6IkNocm9tZSJ9LHtzdHJpbmc6 bmF2aWdhdG9yLnVzZXJBZ2VudCxzdWJTdHJpbmc6Ik9tbmlXZWIiLHZlcnNpb25T ZWFyY2g6Ik9tbmlXZWIvIixpZGVudGl0eToiT21uaVdlYiJ9LHtzdHJpbmc6bmF2 aWdhdG9yLnZlbmRvcixzdWJTdHJpbmc6IkFwcGxlIixpZGVudGl0eToiU2FmYXJp Iix2ZXJzaW9uU2VhcmNoOiJWZXJzaW9uIn0se3Byb3A6d2luZG93Lm9wZXJhLGlk ZW50aXR5OiJPcGVyYSJ9LHtzdHJpbmc6bmF2aWdhdG9yLnZlbmRvcixzdWJTdHJp bmc6ImlDYWIiLGlkZW50aXR5OiJpQ2FiIn0se3N0cmluZzpuYXZpZ2F0b3IudmVu ZG9yLHN1YlN0cmluZzoiS0RFIixpZGVudGl0eToiS29ucXVlcm9yIn0se3N0cmlu ZzpuYXZpZ2F0b3IudXNlckFnZW50LHN1YlN0cmluZzoiRmlyZWZveCIsaWRlbnRp dHk6IkZpcmVmb3gifSx7c3RyaW5nOm5hdmlnYXRvci52ZW5kb3Isc3ViU3RyaW5n OiJDYW1pbm8iLGlkZW50aXR5OiJDYW1pbm8ifSx7c3RyaW5nOm5hdmlnYXRvci51 c2VyQWdlbnQsc3ViU3RyaW5nOiJOZXRzY2FwZSIsaWRlbnRpdHk6Ik5ldHNjYXBl In0se3N0cmluZzpuYXZpZ2F0b3IudXNlckFnZW50LHN1YlN0cmluZzoiTVNJRSIs aWRlbnRpdHk6IkV4cGxvcmVyIix2ZXJzaW9uU2VhcmNoOiJNU0lFIn0se3N0cmlu ZzpuYXZpZ2F0b3IudXNlckFnZW50LHN1YlN0cmluZzoiR2Vja28iLGlkZW50aXR5 OiJNb3ppbGxhIix2ZXJzaW9uU2VhcmNoOiJydiJ9LHtzdHJpbmc6bmF2aWdhdG9y LnVzZXJBZ2VudCxzdWJTdHJpbmc6Ik1vemlsbGEiLGlkZW50aXR5OiJOZXRzY2Fw ZSIsdmVyc2lvblNlYXJjaDoiTW96aWxsYSJ9XSxkYXRhT1M6W3tzdHJpbmc6bmF2 aWdhdG9yLnBsYXRmb3JtLHN1YlN0cmluZzoiV2luIixpZGVudGl0eToiV2luZG93 cyJ9LHtzdHJpbmc6bmF2aWdhdG9yLnBsYXRmb3JtLHN1YlN0cmluZzoiTWFjIixp ZGVudGl0eToiTWFjIn0se3N0cmluZzpuYXZpZ2F0b3IudXNlckFnZW50LHN1YlN0 cmluZzoiaVBob25lIixpZGVudGl0eToiaVBob25lL2lQb2QifSx7c3RyaW5nOm5h dmlnYXRvci5wbGF0Zm9ybSxzdWJTdHJpbmc6IkxpbnV4IixpZGVudGl0eToiTGlu dXgifV19O1NjcmliZC5Ccm93c2VyRGV0ZWN0LmluaXQoKTsKCgovKiBwdWJsaWMv amF2YXNjcmlwdHMvZG9jdW1lbnRfdXJsLmpzIEAgMTM0ODUxNzU3OSAqLwoKaWYo IXdpbmRvdy5TY3JpYmQpdmFyIFNjcmliZD1uZXcgT2JqZWN0KCk7U2NyaWJkLkRv Y3VtZW50VXJsPXt1cmxCeURvY0lkOmZ1bmN0aW9uKGRvY19pZCxvcHRpb25zKXtp Zighb3B0aW9ucylvcHRpb25zPXt9O3ZhciBob3N0PW9wdGlvbnMuZW52PT0icHJv ZHVjdGlvbiI/InNjcmliZC5jb20iOndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZTt2 YXIgcG9ydD1vcHRpb25zLmVudj09InByb2R1Y3Rpb24iPzgwOndpbmRvdy5sb2Nh dGlvbi5wb3J0O3ZhciB1cmw9Ii9kb2MvIitkb2NfaWQ7aWYoIW9wdGlvbnMucmVs YXRpdmVfcGF0aCl7aWYocG9ydCYmcG9ydCE9ODAmJnBvcnQhPTQ0MykKcG9ydD0i OiIrcG9ydDtlbHNlCnBvcnQ9IiI7dXJsPSJodHRwOi8vIitob3N0K3BvcnQrdXJs O30KaWYob3B0aW9ucy5zbGFnKQp1cmwrPSIvIitvcHRpb25zLnNsYWc7aWYob3B0 aW9ucy5zZWNyZXRfcGFzc3dvcmQmJm9wdGlvbnMuc2VjcmV0X3Bhc3N3b3JkLmxl bmd0aD4wKQp1cmwrPSI/c2VjcmV0X3Bhc3N3b3JkPSIrb3B0aW9ucy5zZWNyZXRf cGFzc3dvcmQ7cmV0dXJuIHVybDt9fTsKCgovKiBwdWJsaWMvamF2YXNjcmlwdHMv bGlnaHRib3guanMgQCAxMzQ4NTE3NTc5ICovCgppZighd2luZG93LlNjcmliZCl2 YXIgU2NyaWJkPW5ldyBPYmplY3QoKTtTY3JpYmQuTGlnaHRib3g9KGZ1bmN0aW9u KCl7ZnVuY3Rpb24gY2VudGVyKGlkLHRvcE9mZnNldCl7aWYodHlwZW9mIHRvcE9m ZnNldD09InVuZGVmaW5lZCIpe3RvcE9mZnNldD0wO30KaWYoKGlkPT0ndG9vbGJh cl9kb3dubG9hZF9saWdodGJveCcpfHwoaWQ9PSdwcmVtaXVtX2Rvd25sb2FkJyl8 fChpZD09J3ByZW1pdW1fY3JlZGl0X2NhcmRfZmxvdycpKXt2YXIgY29udGFpbmVy PSQoJ3ZpZXdlcicpfHwkKCdjb250ZW50X3dyYXAnKTtjX3c9Y29udGFpbmVyLmdl dFdpZHRoKCk7Y19vZmZzZXRzPWNvbnRhaW5lci5jdW11bGF0aXZlT2Zmc2V0KCk7 Y19sZWZ0X29mZnNldD1jX29mZnNldHNbMF07ZWxfdz0kKGlkKS5nZXRXaWR0aCgp O2xlZnQ9Y19sZWZ0X29mZnNldCtNYXRoLnJvdW5kKChjX3ctZWxfdykvMik7fWVs c2V7ZWxfdz0kKGlkKS5nZXRXaWR0aCgpO3ZpZXdfdz1kb2N1bWVudC52aWV3cG9y dC5nZXRXaWR0aCgpO2xlZnQ9TWF0aC5yb3VuZCgodmlld193LWVsX3cpLzIpO30K aWYobGVmdDwwKXtsZWZ0PTA7fQokKGlkKS5zdHlsZS5sZWZ0PWxlZnQrJ3B4Jztp Zih0b3BPZmZzZXQ+PTApeyQoaWQpLnN0eWxlLnRvcD0oZG9jdW1lbnQudmlld3Bv cnQuZ2V0U2Nyb2xsT2Zmc2V0cygpLnRvcCs3MCt0b3BPZmZzZXQpKydweCc7fX0K cmV0dXJue2NlbnRlcjpjZW50ZXIsY3VycmVudF9vcGVuOm51bGwsaXNPcGVuOmZ1 bmN0aW9uKCl7cmV0dXJuIHRoaXMuY3VycmVudF9vcGVuIT09bnVsbDt9LGN1cnJl bnQ6ZnVuY3Rpb24oKXtyZXR1cm4gJCh0aGlzLmN1cnJlbnRfb3Blbik7fSxpbml0 aWFsaXplOmZ1bmN0aW9uKG9wdGlvbnMpe2RvY3VtZW50Lm9ic2VydmUoJ2tleWRv d24nLGZ1bmN0aW9uKGUpe2lmKEV2ZW50LktFWV9FU0M9PWUua2V5Q29kZSl7dGhp cy5jbG9zZSh0aGlzLmN1cnJlbnRfb3Blbik7fX0uYmluZCh0aGlzKSk7aWYob3B0

aW9ucyl7aWZyYW1lU2hpbT1vcHRpb25zLmlmcmFtZVNoaW07fWVsc2V7aWZyYW1l U2hpbT1udWxsO30KZG9jdW1lbnQub2JzZXJ2ZSgnZG9tOmxvYWRlZCcsZnVuY3Rp b24oKXt0aGlzLm92ZXJsYXk9JCgnb3ZlcmxheScpO2lmKCF0aGlzLm92ZXJsYXkp e2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobmV3IEVsZW1lbnQoJ2Rpdicseydp ZCc6J292ZXJsYXknLHN0eWxlOidkaXNwbGF5OiBub25lOyd9KSk7dGhpcy5vdmVy bGF5PSQoJ292ZXJsYXknKTt9CnRoaXMub3ZlcmxheS5vYnNlcnZlKCJjbGljayIs ZnVuY3Rpb24oKXtpZigkKHRoaXMuY3VycmVudF9vcGVuKS5kb3duKCIuY2xvc2Vf YnV0dG9uIikpe3RoaXMuY2xvc2UodGhpcy5jdXJyZW50X29wZW4pO319LmJpbmQo dGhpcykpO2RvY3VtZW50Lm9ic2VydmUoImNsaWNrIixmdW5jdGlvbihlKXtpZihl LmZpbmRFbGVtZW50KCIubGlnaHRib3ggLmNsb3NlX2J1dHRvbiIpfHxlLmZpbmRF bGVtZW50KCIubGlnaHRib3ggLmNsb3NlX2xpbmsiKSl7dGhpcy5jbG9zZUhhbmRs ZXIoZSk7fX0uYmluZCh0aGlzKSk7fS5iaW5kKHRoaXMpKTt9LGNyZWF0ZTpmdW5j dGlvbihpZCxvcHRpb25zKXtpZigkKGlkKSl0aGlzLmRlc3Ryb3koaWQpO3ZhciBv cHRpb25zPVNjcmliZC5PcHRpb25zKHtzdHlsZTonbm9ybWFsJyxjbG9zZTpmYWxz ZX0sb3B0aW9ucyk7aWYob3B0aW9ucy5zdHlsZT09J3RpZ2h0Jyl7dmFyIGNvbnRl bnRfY2xhc3M9J2NvbnRlbnQgY29udGVudF90aWdodCc7fWVsc2V7dmFyIGNvbnRl bnRfY2xhc3M9J2NvbnRlbnQnO30KZWxlbWVudF9zdHlsZT0nZGlzcGxheTpub25l JztpZihvcHRpb25zLndpZHRoKXtlbGVtZW50X3N0eWxlKz0nO3dpZHRoOicrb3B0 aW9ucy53aWR0aCsncHgnO30KdmFyIGNvbnRlbnRzPSc8ZGl2IGNsYXNzPSInK2Nv bnRlbnRfY2xhc3MrJyI+PC9kaXY+PGRpdiBjbGFzcz0iZm9vdGVyIj48L2Rpdj4n O2lmKG9wdGlvbnMudGl0bGUpe2NvbnRlbnRzPSc8ZGl2IGNsYXNzPSJ0aXRsZSI+ JytvcHRpb25zLnRpdGxlKyc8L2Rpdj4nK2NvbnRlbnRzO30KaWYob3B0aW9ucy5j bG9zZSl7Y29udGVudHM9JzxkaXYgY2xhc3M9ImNsb3NlX2J1dHRvbiI+PC9kaXY+ Jytjb250ZW50czt9CmNvbnRlbnRzPSc8ZGl2IGNsYXNzPSJ3cmFwcGVyIj4nK2Nv bnRlbnRzKyc8L2Rpdj4nO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobmV3IEVs ZW1lbnQoJ2RpdicseydjbGFzcyc6J2xpZ2h0Ym94JyxpZDppZCxzdHlsZTplbGVt ZW50X3N0eWxlfSkudXBkYXRlKGNvbnRlbnRzKSk7fSxzZXRUaXRsZTpmdW5jdGlv bihpZCx0aXRsZSl7dmFyIG5vZGU9JChpZCkuZG93bigiLnRpdGxlIik7aWYoIW5v ZGUpe25vZGU9bmV3IEVsZW1lbnQoImRpdiIseyJjbGFzcyI6InRpdGxlIn0pOyQo aWQpLmRvd24oIi5jbG9zZV9idXR0b24iKS5pbnNlcnQoe2FmdGVyOm5vZGV9KTt9 Cm5vZGUudXBkYXRlKHRpdGxlKTt9LHVwZGF0ZTpmdW5jdGlvbihpZCxjb250ZW50 KXskKGlkKS5kb3duKCcuY29udGVudCcpLnVwZGF0ZShjb250ZW50KS5maXJlKCJT Y3JpYmQ6ZG9tX3VwZGF0ZWQiKTt9LHNldF9jb250ZW50X3N0eWxlX2NsYXNzOmZ1 bmN0aW9uKGlkLHN0eWxlKXtpZihzdHlsZT09J25vcm1hbCcpCiQoaWQpLmRvd24o Jy5jb250ZW50JykucmVtb3ZlQ2xhc3NOYW1lKCdjb250ZW50X3RpZ2h0JykuZmly ZSgiU2NyaWJkOmRvbV91cGRhdGVkIik7aWYoc3R5bGU9PSd0aWdodCcpCiQoaWQp LmRvd24oJy5jb250ZW50JykuYWRkQ2xhc3NOYW1lKCdjb250ZW50X3RpZ2h0Jyku ZmlyZSgiU2NyaWJkOmRvbV91cGRhdGVkIik7fSxpbnNlcnQ6ZnVuY3Rpb24oaWQs Y29udGVudCl7JChpZCkuZG93bignLmNvbnRlbnQnKS5pbnNlcnQoY29udGVudCku ZmlyZSgiU2NyaWJkOmRvbV91cGRhdGVkIik7fSxzaG93T3ZlcmxheTpmdW5jdGlv bigpe2lmKCF0aGlzLm92ZXJsYXkudmlzaWJsZSgpKXt0aGlzLm92ZXJsYXkuc2hv dygpO319LGhpZGVPdmVybGF5OmZ1bmN0aW9uKCl7aWYodGhpcy5vdmVybGF5LnZp c2libGUoKSl7dGhpcy5vdmVybGF5LmhpZGUoKTt9fSxnZXRTdGVtT2Zmc2V0OmZ1 bmN0aW9uKGlkKXt2YXIgc3RlbT0kKGlkKS5zZWxlY3QoJy50b29sdGlwX3N0ZW0n KVswXTt2YXIgc3RlbV9zaXplPXN0ZW0uZ2V0RGltZW5zaW9ucygpO3ZhciBib3hf cG9zaXRpb249JChpZCkuY3VtdWxhdGl2ZU9mZnNldCgpO3ZhciBzdGVtX3Bvc2l0 aW9uPXN0ZW0uY3VtdWxhdGl2ZU9mZnNldCgpO3JldHVybntsZWZ0OnN0ZW1fcG9z aXRpb24ubGVmdCtNYXRoLnJvdW5kKHN0ZW1fc2l6ZS53aWR0aC8yKS1ib3hfcG9z aXRpb24ubGVmdCx0b3A6c3RlbV9wb3NpdGlvbi50b3Arc3RlbV9zaXplLmhlaWdo dC1ib3hfcG9zaXRpb24udG9wfTt9LG9wZW46ZnVuY3Rpb24oaWQsdG9wT2Zmc2V0 LHN0ZW1Qb3NpdGlvbil7dmFyIHRvb2x0aXBfc3R5bGU9JChpZCkuaGFzQ2xhc3NO YW1lKCd0b29sdGlwX2xpZ2h0Ym94Jyk7aWYoIXRvb2x0aXBfc3R5bGUpe3RoaXMu c2hvd092ZXJsYXkoKTt9CmlmKGlkPT10aGlzLmN1cnJlbnRfb3Blbil7cmV0dXJu O30KdGhpcy5jbG9zZSh0aGlzLmN1cnJlbnRfb3Blbix0cnVlKTtpZih0b29sdGlw X3N0eWxlKXt2YXIgb2xkX2xlZnQ9JChpZCkuc3R5bGUubGVmdDskKGlkKS5zdHls ZS5sZWZ0PSctOTk5OXB4JzskKGlkKS5zaG93KCk7dmFyIHN0ZW1PZmZzZXQ9dGhp cy5nZXRTdGVtT2Zmc2V0KGlkKTt2YXIgbGVmdD0oc3RlbVBvc2l0aW9uLmxlZnQt c3RlbU9mZnNldC5sZWZ0KTt2YXIgdG9wPShzdGVtUG9zaXRpb24udG9wLXN0ZW1P ZmZzZXQudG9wKTtpZihsZWZ0PDApe3ZhciBzdGVtPSQoaWQpLnNlbGVjdCgnLnRv b2x0aXBfc3RlbScpWzBdO3N0ZW0uc3R5bGUubGVmdD1sZWZ0KydweCc7bGVmdD0w

O30KJChpZCkuaGlkZSgpOyQoaWQpLnN0eWxlLmxlZnQ9bGVmdCsncHgnOyQoaWQp LnN0eWxlLnRvcD10b3ArJ3B4Jzt9ZWxzZXtjZW50ZXIoaWQsdG9wT2Zmc2V0KTt9 CnRoaXMuaWQ9aWQ7JChpZCkuYXBwZWFyKHtkdXJhdGlvbjowLjJ9KTt0aGlzLmN1 cnJlbnRfb3Blbj1pZDskKGRvY3VtZW50KS5maXJlKCdsaWdodGJveDpvcGVuJyk7 fSxzaG93X2xvYWRpbmdfbGlnaHRib3g6ZnVuY3Rpb24oaWQsb3B0cyl7aWQ9aWR8 fCJsb2FkaW5nIjt0aGlzLmNyZWF0ZShpZCxvcHRzKTt0aGlzLnVwZGF0ZShpZCwn PGRpdiBjbGFzcz0ic3Bpbm5lcl9jb250YWluZXIiPjxpbWcgc3JjPSIvaW1hZ2Vz L3NwaW5uZXJfbGFyZ2VfbWFjX3doaXRlLmdpZj8xMzQ4NTE3NTc5IiAvPjwvZGl2 PicpO3RoaXMub3BlbihpZCw3NSk7fSxyZW1vdGVPcGVuOmZ1bmN0aW9uKGlkLHVy bCxwYXJhbXMsY3JlYXRlX29wdGlvbnMpe3ZhciBwYXJhbXM9U2NyaWJkLk9wdGlv bnMoe2xpZ2h0Ym94OnRydWUsbWV0aG9kOidwb3N0J30scGFyYW1zKTt2YXIgY3Jl YXRlX29wdGlvbnM9U2NyaWJkLk9wdGlvbnMoe30sY3JlYXRlX29wdGlvbnMpO3Zh ciBtZXRob2Q9cGFyYW1zLm1ldGhvZDtkZWxldGUgcGFyYW1zLm1ldGhvZDt0aGlz LnNob3dfbG9hZGluZ19saWdodGJveChpZCxjcmVhdGVfb3B0aW9ucyk7bmV3IEFq YXguUmVxdWVzdCh1cmwse3BhcmFtZXRlcnM6cGFyYW1zLG1ldGhvZDptZXRob2Qs ZXZhbFNjcmlwdHM6dHJ1ZSxyZXF1ZXN0SGVhZGVyczp7QWNjZXB0OidhcHBsaWNh dGlvbi9qc29uJ30sb25TdWNjZXNzOmZ1bmN0aW9uKHQpe3ZhciByPXQucmVzcG9u c2VKU09OO2lmKHIuY29udGVudF9zdHlsZV9jbGFzcykKdGhpcy5zZXRfY29udGVu dF9zdHlsZV9jbGFzcyhpZCxyLmNvbnRlbnRfc3R5bGVfY2xhc3MpO2lmKHIuY29u dGVudCl7dGhpcy51cGRhdGUoaWQsci5jb250ZW50KTtjZW50ZXIoaWQsLTEpO30K aWYoci50aXRsZSl7dGhpcy5zZXRUaXRsZShpZCxyLnRpdGxlKTt9CmlmKHIucmVk aXJlY3Qpe1NjcmliZC5MaWdodGJveC5yZW1vdGVPcGVuKGlkLHIucmVkaXJlY3Qs e30sY3JlYXRlX29wdGlvbnMpO319LmJpbmQodGhpcyl9KTt9LHNlY3VyZUlmcmFt ZU9wZW46ZnVuY3Rpb24oaWQsdXJsLG9wdGlvbnMsY3JlYXRlX29wdGlvbnMpe3Zh ciBjcmVhdGVfb3B0aW9ucz1TY3JpYmQuT3B0aW9ucyh7fSxjcmVhdGVfb3B0aW9u cyk7dmFyIG9wdGlvbnM9U2NyaWJkLk9wdGlvbnMoe3Nob3dMb2FkaW5nOnRydWV9 LG9wdGlvbnMpO3RoaXMuY3JlYXRlKGlkLGNyZWF0ZV9vcHRpb25zKTt2YXIgY29u dGFpbmVyPW5ldyBFbGVtZW50KCdkaXYnLHsnY2xhc3MnOidpZnJhbWVfY29udGFp bmVyJ30pO3RoaXMuaW5zZXJ0KGlkLGNvbnRhaW5lcik7dmFyIHJlbW90ZT1vcHRp b25zLnJlbW90ZVVybD9vcHRpb25zLnJlbW90ZVVybDoodXJsLnByb3RvY29sKCkr Jy8vJyt1cmwuZG9tYWluKCkpO3ZhciBpbnRlcm1lZGlhcnlVcmw9cmVtb3RlKycv ZWFzeXhkbS9pbnRlcm1lZGlhcnkuaHRtbCN1cmw9JytlbmNvZGVVUklDb21wb25l bnQodXJsKSsnJnNob3dMb2FkaW5nPScrKG9wdGlvbnMuc2hvd0xvYWRpbmc/JzEn OicwJyk7bmV3IGVhc3lYRE0uU29ja2V0KHtyZW1vdGU6aW50ZXJtZWRpYXJ5VXJs LHJlbW90ZUhlbHBlcjpyZW1vdGUrIi9lYXN5eGRtL25hbWUuaHRtbCIsbG9jYWw6 Ii9lYXN5eGRtL25hbWUuaHRtbCIsY29udGFpbmVyOmNvbnRhaW5lcixwcm9wczp7 ZnJhbWVib3JkZXI6MCxib3JkZXI6MCxzY3JvbGxpbmc6J25vJ30sb25NZXNzYWdl OmZ1bmN0aW9uKG1lc3NhZ2Usb3JpZ2luKXt2YXIgYXJncz1tZXNzYWdlLnNwbGl0 KCcgJyk7bWVzc2FnZT1hcmdzLnNoaWZ0KCk7aWYobWVzc2FnZT09J29wZW4nKXtT Y3JpYmQuTGlnaHRib3gub3BlbihhcmdzWzBdLDc1KTt9ZWxzZSBpZihtZXNzYWdl PT0nY2xvc2UnKXt0aGlzLmNsb3NlKCk7fWVsc2UgaWYobWVzc2FnZT09J3Jlc2l6 ZScpe2NvbnRhaW5lci5kb3duKCdpZnJhbWUnKS5zdHlsZS5oZWlnaHQ9YXJnc1sw XSsicHgiO31lbHNlIGlmKG9wdGlvbnMub25NZXNzYWdlKXtvcHRpb25zLm9uTWVz c2FnZShtZXNzYWdlLG9yaWdpbik7fX0uYmluZCh0aGlzKX0pO2lmKG9wdGlvbnMu aGVpZ2h0KQpjb250YWluZXIuZG93bignaWZyYW1lJykuc3R5bGUuaGVpZ2h0PW9w dGlvbnMuaGVpZ2h0KydweCc7dGhpcy5vcGVuKGlkLDc1KTt9LGNsb3NlOmZ1bmN0 aW9uKGlkLGtlZXBfb3ZlcmxheSl7dmFyIGxiPWlkPyQoaWQpOiQodGhpcy5jdXJy ZW50X29wZW4pO2lmKGxiJiZsYi52aXNpYmxlKCkpe2xiLmZhZGUoe2R1cmF0aW9u OjAuMX0pO3RoaXMuY3VycmVudF9vcGVuPW51bGw7ZG9jdW1lbnQuZmlyZSgnbGln aHRib3g6Y2xvc2VkJyx7J2xpZ2h0Ym94X2lkJzpsYi5pZH0pO2lmKCFrZWVwX292 ZXJsYXkpdGhpcy5oaWRlT3ZlcmxheSgpO319LHRvZ2dsZTpmdW5jdGlvbihpZCx0 b3BPZmZzZXQsc3RlbVBvc2l0aW9uKXt2YXIgbGI9JChpZCk7aWYobGIudmlzaWJs ZSgpKQp0aGlzLmNsb3NlKGlkKTtlbHNlCnRoaXMub3BlbihpZCx0b3BPZmZzZXQs c3RlbVBvc2l0aW9uKTt9LGNsb3NlSGFuZGxlcjpmdW5jdGlvbihlKXtlLnN0b3Ao KTt2YXIgbGI9ZS5lbGVtZW50KCkudXAoJy5saWdodGJveCcpO2lmKGxiKVNjcmli ZC5MaWdodGJveC5jbG9zZShsYi5pZCk7fSxkZXN0cm95OmZ1bmN0aW9uKGlkKXtp ZigkKGlkKSl7dGhpcy5jbG9zZShpZCk7JChpZCkucmVtb3ZlKCk7fX19fSkoKTsK CgovKiBwdWJsaWMvamF2YXNjcmlwdHMvZG9jX2NlbGwuanMgQCAxMzQ4NTE3NTc5 ICovCnZhciBsenlfanNfcHVibGljX2phdmFzY3JpcHRzX2RvY19jZWxsPSJcblNj cmliZC5Eb2N1bWVudENlbGw9Q2xhc3MuY3JlYXRlKHtpbml0aWFsaXplOmZ1bmN0

aW9uKGRhdGEpe3RoaXMuZG9jPWRhdGE7fSxyZW5kZXI6ZnVuY3Rpb24odGVtcGxh dGUpe3ZhciB0ZW1wbGF0ZV9uYW1lX2FuZF9jb250cm9sPXRlbXBsYXRlLnNwbGl0 KFwnLlwnKTt2YXIgdGVtcGxhdGVfbmFtZT10ZW1wbGF0ZV9uYW1lX2FuZF9jb250 cm9sWzBdO3ZhciBjb250cm9sPXRlbXBsYXRlX25hbWVfYW5kX2NvbnRyb2xbMV07 cmV0dXJuIFNjcmliZC5Eb2N1bWVudENlbGwudGVtcGxhdGVzW3RlbXBsYXRlX25h bWVdLnRlbXBsYXRlLmV2YWx1YXRlKHRoaXNbdGVtcGxhdGVfbmFtZStcJ190ZW1w bGF0ZV9kYXRhXCddKGNvbnRyb2wpKTt9LGNvbGxlY3Rpb25fdGVtcGxhdGVfZGF0 YTpmdW5jdGlvbihjb250cm9sKXtyZXR1cm4oe2RvY19pZDp0aGlzLmRvYy5pZCxk b2NfdGl0bGU6dGhpcy5kb2MudGl0bGUsZG9jX3VybDp0aGlzLmRvYy51cmwsZG9j X3BhZ2VfY291bnQ6dGhpcy5kb2MucGFnZV9jb3VudCxkb2NfZGVzY3JpcHRpb246 dGhpcy5kb2MuZGVzY3JpcHRpb24udHJ1bmNhdGUoMjcwKSxkb2NfdGh1bWJuYWls X3VybDp0aGlzLmRvYy50aHVtYm5haWxfc21hbGxfdXJsLGRvY192aWV3czp0aGlz LmRvYy52aWV3cyxkb2NfY3JlYXRlZF9vbjp0aGlzLmRvYy5jcmVhdGVkX29uLGRv Y19jYXRlZ29yeTp0aGlzLmRvYy5jYXRlZ29yeSYmdGhpcy5kb2MuY2F0ZWdvcnku bmFtZSYmW1wnPGxpIGNsYXNzPVwiY2F0ZWdvcnlcIj48c3BhbiBjbGFzcz1cIm1l dGFkYXRhX2xhYmVsXCI+Q2F0ZWdvcnk6PFwvc3Bhbj48YSBocmVmPVwiXCcsdGhp cy5kb2MuY2F0ZWdvcnkudXJsK1wnXCI+XCcsdGhpcy5kb2MuY2F0ZWdvcnkubmFt ZStcJzxcL2E+PFwvbGk+XCddLmpvaW4oXCdcJyksdXNlcl91cmw6dGhpcy5kb2Mu dXNlci51cmwsdXNlcl9sb2dpbjp0aGlzLmRvYy51c2VyLmxvZ2luLGRvY19wcmlj ZTp0aGlzLmRvYy5wcmljZSYmKFwnPGxpIGNsYXNzPVwicHJpY2VcIj48c3BhbiBj bGFzcz1cInByaWNlXCI+XCcrdGhpcy5kb2MucHJpY2UrXCc8XC9zcGFuPjxcL2xp PlwnKSxkb2NfcmVhZGNhc3RzOnRoaXMuZG9jLnJlYWRjYXN0cyxjb250cm9sOlNj cmliZC5Eb2N1bWVudENlbGwudGVtcGxhdGVzLmNvbGxlY3Rpb24uY29udHJvbHNb Y29udHJvbF19KTt9LGNvbGxlY3Rpb25fb2xkX3RlbXBsYXRlX2RhdGE6ZnVuY3Rp b24oY29udHJvbCl7cmV0dXJuKHtkb2NfaWQ6dGhpcy5kb2MuaWQsZG9jX3RpdGxl OnRoaXMuZG9jLnRpdGxlLGRvY191cmw6dGhpcy5kb2MudXJsLGRvY19wYWdlX2Nv dW50OnRoaXMuZG9jLnBhZ2VfY291bnQsZG9jX2Rlc2NyaXB0aW9uOnRoaXMuZG9j LmRlc2NyaXB0aW9uLnRydW5jYXRlKDI3MCksZG9jX3RodW1ibmFpbF91cmw6dGhp cy5kb2MudGh1bWJuYWlsX3VybCxkb2Nfdmlld3M6dGhpcy5kb2Mudmlld3MsZG9j X2NyZWF0ZWRfb246dGhpcy5kb2MuY3JlYXRlZF9vbixkb2NfY2F0ZWdvcnk6dGhp cy5kb2MuY2F0ZWdvcnkmJnRoaXMuZG9jLmNhdGVnb3J5Lm5hbWUmJltcJzxsaSBj bGFzcz1cImNhdGVnb3J5XCI+PHNwYW4gY2xhc3M9XCJtZXRhZGF0YV9sYWJlbFwi PkNhdGVnb3J5OjxcL3NwYW4+PGEgaHJlZj1cIlwnLHRoaXMuZG9jLmNhdGVnb3J5 LnVybCtcJ1wiPlwnLHRoaXMuZG9jLmNhdGVnb3J5Lm5hbWUrXCc8XC9hPjxcL2xp PlwnXS5qb2luKFwnXCcpLHVzZXJfdXJsOnRoaXMuZG9jLnVzZXIudXJsLHVzZXJf bG9naW46dGhpcy5kb2MudXNlci5sb2dpbixkb2NfcHJpY2U6dGhpcy5kb2MucHJp Y2UmJihcJzxsaSBjbGFzcz1cInByaWNlXCI+PHNwYW4gY2xhc3M9XCJwcmljZVwi PlwnK3RoaXMuZG9jLnByaWNlK1wnPFwvc3Bhbj48XC9saT5cJyksY29udHJvbDpT Y3JpYmQuRG9jdW1lbnRDZWxsLnRlbXBsYXRlcy5jb2xsZWN0aW9uX29sZC5jb250 cm9sc1tjb250cm9sXX0pO319KTtTY3JpYmQuRG9jdW1lbnRDZWxsLnRlbXBsYXRl cz17Y29sbGVjdGlvbjp7Y29udHJvbHM6e2FkZF9kb2N1bWVudDpcJzxhIGhyZWY9 XCIjXCIgY2xhc3M9XCJhZGRfZG9jdW1lbnRcIj4gPFwvYT5cJyxyZW1vdmVfZG9j dW1lbnQ6XCc8YSBocmVmPVwiI1wiIGNsYXNzPVwic3VidGxlX2Nsb3NlX2J1dHRv biBkZXN0cm95XCI+IDxcL2E+XCd9LHRlbXBsYXRlOm5ldyBUZW1wbGF0ZShcJ1xc XG48ZGl2IGNsYXNzPVwiZG9jdW1lbnRfbWl4ZWQgZG9jdW1lbnRfc3VtbWFyeSBk b2N1bWVudF8je2RvY19pZH1cIj5cXFxuICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnRf dGh1bWJuYWlsXCI+XFxcbiAgICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnRfdGh1bWJu YWlsX3NoYWRvdyBnYWlubGF5b3V0XCI+XFxcbiAgICAgIDxhIGhyZWY9XCIje2Rv Y191cmx9XCI+XFxcbiAgICAgICAgPGRpdiBjbGFzcz1cInRodW1ibmFpbFwiPlxc XG4gICAgICAgICAgPGltZyBzcmM9XCIje2RvY190aHVtYm5haWxfdXJsfVwiPlxc XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJub19vZl9wYWdlc1wiPiN7ZG9jX3Bh Z2VfY291bnR9IHAuPFwvc3Bhbj5cXFxuICAgICAgICA8XC9kaXY+XFxcbiAgICAg IDxcL2E+XFxcbiAgICA8XC9kaXY+XFxcbiAgPFwvZGl2PlxcXG4gIDxkaXYgY2xh c3M9XCJkb2N1bWVudF9ib2R5XCI+XFxcbiAgICA8aDQgY2xhc3M9XCJkb2N1bWVu dF90aXRsZVwiPlxcXG4gICAgICA8YSBjbGFzcz1cIm5hbWVfbGlua1wiIGhyZWY9 XCIje2RvY191cmx9XCI+I3tkb2NfdGl0bGV9PFwvYT5cXFxuICAgIDxcL2g0Plxc XG4gICAgPHAgY2xhc3M9XCJkb2N1bWVudF9kZXNjcmlwdGlvblwiPiN7ZG9jX2Rl c2NyaXB0aW9ufTxcL3A+XFxcbiAgICA8cCBjbGFzcz1cImRvY3VtZW50X2F0dHJp dGlvblwiPlxcXG4gICAgICA8c3Bhbj5Gcm9tOiA8XC9zcGFuPlxcXG4gICAgICA8 YSBocmVmPVwiI3t1c2VyX3VybH1cIiBjbGFzcz1cInVzZXJuYW1lXCI+I3t1c2Vy

X2xvZ2lufTxcL2E+XFxcbiAgICA8XC9wPlxcXG4gIDxcL2Rpdj5cXFxuICA8ZGl2 IGNsYXNzPVwicmlnaHRfdG9vbGJhclwiPiN7Y29udHJvbH08XC9kaXY+XFxcbiAg PHVsIGNsYXNzPVwiZG9jdW1lbnRfbWV0YSBwaWxsc1wiPlxcXG4gICAgPGxpIGNs YXNzPVwibWV0YV9ub2RlIHRvcFwiPlxcXG4gICAgICA8bGFiZWw+UmVhZHM6PFwv bGFiZWw+XFxcbiAgICAgIDxzdHJvbmc+I3tkb2Nfdmlld3N9PFwvc3Ryb25nPlxc XG4gICAgICA8ZGl2IGNsYXNzPVwiY2xlYXJmaXhcIj48XC9kaXY+XFxcbiAgICA8 XC9saT5cXFxuICAgIDxsaSBjbGFzcz1cIm1ldGFfbm9kZVwiPlxcXG4gICAgICA8 bGFiZWw+UmVhZGNhc3RzOjxcL2xhYmVsPlxcXG4gICAgICA8c3Ryb25nPiN7ZG9j X3JlYWRjYXN0c308XC9zdHJvbmc+XFxcbiAgICAgIDxkaXYgY2xhc3M9XCJjbGVh cmZpeFwiPjxcL2Rpdj5cXFxuICAgIDxcL2xpPlxcXG4gICAgPGxpIGNsYXNzPVwi bWV0YV9ub2RlIGJvdHRvbVwiPlxcXG4gICAgICA8bGFiZWw+VXBsb2FkZWQ6PFwv bGFiZWw+XFxcbiAgICAgIDxzdHJvbmc+I3tkb2NfY3JlYXRlZF9vbn08XC9zdHJv bmc+XFxcbiAgICAgIDxkaXYgY2xhc3M9XCJjbGVhcmZpeFwiPjxcL2Rpdj5cXFxu ICAgIDxcL2xpPlxcXG4gIDxcL3VsPlxcXG4gIDxkaXYgY2xhc3M9XCJjbGVhcmZp eFwiPjxcL2Rpdj5cXFxuPFwvZGl2PlxcXG5cJyl9LGNvbGxlY3Rpb25fb2xkOntj b250cm9sczp7YWRkX2RvY3VtZW50OlwnPGEgaHJlZj1cIiNcIiBjbGFzcz1cImFk ZF9kb2N1bWVudFwiPiA8XC9hPlwnLHJlbW92ZV9kb2N1bWVudDpcJzxhIGhyZWY9 XCIjXCIgY2xhc3M9XCJjbG9zZV9idXR0b24gZGVzdHJveVwiPiA8XC9hPlwnfSx0 ZW1wbGF0ZTpuZXcgVGVtcGxhdGUoXCdcXFxuPGRpdiBjbGFzcz1cImRvY3VtZW50 X3N1bW1hcnkgZG9jdW1lbnRfI3tkb2NfaWR9XCI+XFxcbiAgICA8ZGl2IGNsYXNz PVwiY2xlYXJmaXhcIj5cXFxuICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRfdG9v bGJhclwiPlxcXG4gICAgICAgICAgICAje2NvbnRyb2x9XFxcbiAgICAgICAgPFwv ZGl2PlxcXG4gICAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgY2xhc3M9XCJj b25maXJtYXRpb25cIiBuYW1lPWRvY3VtZW50X2lkc1tdIHZhbHVlPVwiI3tkb2Nf aWR9XCIgLz5cXFxuICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnRfdGh1bWJu YWlsX3NoYWRvd1wiPlxcXG4gICAgICAgICAgICA8YSBocmVmPVwiI3tkb2NfdXJs fVwiPlxcXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRodW1ibmFpbFwi PlxcXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiI3tkb2NfdGh1bWJu YWlsX3VybH1cIj5cXFxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1c Im5vX29mX3BhZ2VzXCI+I3tkb2NfcGFnZV9jb3VudH0gcC48XC9zcGFuPlxcXG4g ICAgICAgICAgICAgICAgPFwvZGl2PlxcXG4gICAgICAgICAgICA8XC9hPlxcXG4g ICAgICAgIDxcL2Rpdj5cXFxuICAgICAgICA8ZGl2IGNsYXNzPVwic3VtbWFyeSBj bGVhcmZpeFwiPlxcXG4gICAgICAgICAgICA8aDU+IFxcXG4gICAgICAgICAgICAg ICAgPGEgaHJlZj1cIiN7ZG9jX3VybH1cIj4je2RvY190aXRsZX08XC9hPlxcXG4g ICAgICAgICAgICA8XC9oNT5cXFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRl c2NyaXB0aW9uXCI+XFxcbiAgICAgICAgICAgICAgICAje2RvY19kZXNjcmlwdGlv bn1cXFxuICAgICAgICAgICAgPFwvZGl2PlxcXG4gICAgICAgICAgICA8dWwgY2xh c3M9XCJzdGF0c19ib3R0b21cIj5cXFxuICAgICAgICAgICAgICAgIDxkaXYgY2xh c3M9XCJsZWZ0X2NvbHVtblwiPlxcXG4gICAgICAgICAgICAgICAgICAgICN7ZG9j X3ByaWNlfVxcXG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInVzZXJc Ij5cXFxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZXRh ZGF0YV9sYWJlbFwiPkZyb206PFwvc3Bhbj5cXFxuICAgICAgICAgICAgICAgICAg ICAgICAgPGEgY2xhc3M9XCJ1c2VybmFtZVwiIGhyZWY9XCIje3VzZXJfdXJsfVwi PiN7dXNlcl9sb2dpbn08XC9hPlxcXG4gICAgICAgICAgICAgICAgICAgIDxcL2xp PlxcXG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImNyZWF0ZWRfYXRc Ij5cXFxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZXRh ZGF0YV9sYWJlbFwiPlVwbG9hZGVkOjxcL3NwYW4+ICN7ZG9jX2NyZWF0ZWRfb259 XFxcbiAgICAgICAgICAgICAgICAgICAgPFwvbGk+XFxcbiAgICAgICAgICAgICAg ICAgICAgPGxpIGNsYXNzPVwidmlld3NcIj5cXFxuICAgICAgICAgICAgICAgICAg ICAgICAgPHNwYW4gY2xhc3M9XCJtZXRhZGF0YV9sYWJlbFwiPlJlYWRzOjxcL3Nw YW4+ICN7ZG9jX3ZpZXdzfVxcXG4gICAgICAgICAgICAgICAgICAgIDxcL2xpPlxc XG4gICAgICAgICAgICAgICAgICAgICN7ZG9jX2NhdGVnb3J5fVxcXG4gICAgICAg ICAgICAgICAgPFwvZGl2PlxcXG4gICAgICAgICAgICA8XC91bD5cXFxuICAgICAg ICA8XC9kaXY+XFxcbiAgICA8XC9kaXY+XFxcbjxcL2Rpdj5cXFxuXCcpfX07IjsK CgovKiBwdWJsaWMvamF2YXNjcmlwdHMvY29va2llamFyLmpzIEAgMTM0ODUxNzU3 OSAqLwoKdmFyIENvb2tpZUphcj1DbGFzcy5jcmVhdGUoKTtDb29raWVKYXIucHJv dG90eXBlPXthcHBlbmRTdHJpbmc6Il9fQ0pfIixpbml0aWFsaXplOmZ1bmN0aW9u KG9wdGlvbnMpe3RoaXMub3B0aW9ucz17ZXhwaXJlczozNjAwLHBhdGg6JycsZG9t YWluOicnLHNlY3VyZTonJ307T2JqZWN0LmV4dGVuZCh0aGlzLm9wdGlvbnMsb3B0 aW9uc3x8e30pO2lmKHRoaXMub3B0aW9ucy5leHBpcmVzIT0nJyl7dmFyIGRhdGU9

bmV3IERhdGUoKTtkYXRlPW5ldyBEYXRlKGRhdGUuZ2V0VGltZSgpKyh0aGlzLm9w dGlvbnMuZXhwaXJlcyoxMDAwKSk7dGhpcy5vcHRpb25zLmV4cGlyZXM9JzsgZXhw aXJlcz0nK2RhdGUudG9HTVRTdHJpbmcoKTt9CmlmKHRoaXMub3B0aW9ucy5wYXRo IT0nJyl7dGhpcy5vcHRpb25zLnBhdGg9JzsgcGF0aD0nK2VzY2FwZSh0aGlzLm9w dGlvbnMucGF0aCk7fQppZih0aGlzLm9wdGlvbnMuZG9tYWluIT0nJyl7dGhpcy5v cHRpb25zLmRvbWFpbj0nOyBkb21haW49Jytlc2NhcGUodGhpcy5vcHRpb25zLmRv bWFpbik7fQppZih0aGlzLm9wdGlvbnMuc2VjdXJlPT0nc2VjdXJlJyl7dGhpcy5v cHRpb25zLnNlY3VyZT0nOyBzZWN1cmUnO31lbHNle3RoaXMub3B0aW9ucy5zZWN1 cmU9Jyc7fX0scHV0OmZ1bmN0aW9uKG5hbWUsdmFsdWUpe25hbWU9dGhpcy5hcHBl bmRTdHJpbmcrbmFtZTtjb29raWU9dGhpcy5vcHRpb25zO3ZhciB0eXBlPXR5cGVv ZiB2YWx1ZTtzd2l0Y2godHlwZSl7Y2FzZSd1bmRlZmluZWQnOmNhc2UnZnVuY3Rp b24nOmNhc2UndW5rbm93bic6cmV0dXJuIGZhbHNlO2Nhc2UnYm9vbGVhbic6Y2Fz ZSdzdHJpbmcnOmNhc2UnbnVtYmVyJzp2YWx1ZT1TdHJpbmcodmFsdWUudG9TdHJp bmcoKSk7fQp2YXIgY29va2llX3N0cj1uYW1lKyI9Iitlc2NhcGUoT2JqZWN0LnRv SlNPTih2YWx1ZSkpO3RyeXtkb2N1bWVudC5jb29raWU9Y29va2llX3N0citjb29r aWUuZXhwaXJlcytjb29raWUucGF0aCtjb29raWUuZG9tYWluK2Nvb2tpZS5zZWN1 cmU7fWNhdGNoKGUpe3JldHVybiBmYWxzZTt9CnJldHVybiB0cnVlO30scmVtb3Zl OmZ1bmN0aW9uKG5hbWUpe25hbWU9dGhpcy5hcHBlbmRTdHJpbmcrbmFtZTtjb29r aWU9dGhpcy5vcHRpb25zO3RyeXt2YXIgZGF0ZT1uZXcgRGF0ZSgpO2RhdGUuc2V0 VGltZShkYXRlLmdldFRpbWUoKS0oMzYwMCoxMDAwKSk7dmFyIGV4cGlyZXM9Jzsg ZXhwaXJlcz0nK2RhdGUudG9HTVRTdHJpbmcoKTtkb2N1bWVudC5jb29raWU9bmFt ZSsiPSIrZXhwaXJlcytjb29raWUucGF0aCtjb29raWUuZG9tYWluK2Nvb2tpZS5z ZWN1cmU7fWNhdGNoKGUpe3JldHVybiBmYWxzZTt9CnJldHVybiB0cnVlO30sZ2V0 OmZ1bmN0aW9uKG5hbWUpe25hbWU9dGhpcy5hcHBlbmRTdHJpbmcrbmFtZTt2YXIg Y29va2llcz1kb2N1bWVudC5jb29raWUubWF0Y2gobmFtZSsnPSguKj8pKDt8JCkn KTtpZihjb29raWVzKXtyZXR1cm4odW5lc2NhcGUoY29va2llc1sxXSkpLmV2YWxK U09OKCk7fWVsc2V7cmV0dXJuIG51bGw7fX0sZW1wdHk6ZnVuY3Rpb24oKXtrZXlz PXRoaXMuZ2V0S2V5cygpO3NpemU9a2V5cy5zaXplKCk7Zm9yKGk9MDtpPHNpemU7 aSsrKXt0aGlzLnJlbW92ZShrZXlzW2ldKTt9fSxnZXRQYWNrOmZ1bmN0aW9uKCl7 cGFjaz17fTtrZXlzPXRoaXMuZ2V0S2V5cygpO3NpemU9a2V5cy5zaXplKCk7Zm9y KGk9MDtpPHNpemU7aSsrKXtwYWNrW2tleXNbaV1dPXRoaXMuZ2V0KGtleXNbaV0p O30KcmV0dXJuIHBhY2s7fSxnZXRLZXlzOmZ1bmN0aW9uKCl7a2V5cz0kQSgpO2tl eVJlPS9bXj07IF0rKD89XD0pL2c7c3RyPWRvY3VtZW50LmNvb2tpZTtDSlJlPW5l dyBSZWdFeHAoIl4iK3RoaXMuYXBwZW5kU3RyaW5nKTt3aGlsZSgobWF0Y2g9a2V5 UmUuZXhlYyhzdHIpKSE9dW5kZWZpbmVkKXtpZihDSlJlLnRlc3QobWF0Y2hbMF0u c3RyaXAoKSkpe2tleXMucHVzaChtYXRjaFswXS5zdHJpcCgpLmdzdWIoIl4iK3Ro aXMuYXBwZW5kU3RyaW5nLCIiKSk7fX0KcmV0dXJuIGtleXM7fX07CgoKLyogcHVi bGljL2phdmFzY3JpcHRzL2xvZ2luLmpzIEAgMTM0ODUxNzU3OSAqLwoKaWYoIXdp bmRvdy5TY3JpYmQpdmFyIFNjcmliZD1uZXcgT2JqZWN0KCk7U2NyaWJkLmxvZ2lu TWFuYWdlcj1DbGFzcy5jcmVhdGUoe2luaXRpYWxpemU6ZnVuY3Rpb24ob3B0aW9u cyl7dGhpcy5oYXNGQkNhbGxiYWNrPWZhbHNlO3RoaXMub3B0aW9ucz1vcHRpb25z fHx7fTt0aGlzLmxpZ2h0Ym94X2lkPSJsb2dpbl9sYiI7dGhpcy5jb250YWluZXI9 JCh0aGlzLm9wdGlvbnMuY29udGFpbmVyP3RoaXMub3B0aW9ucy5jb250YWluZXI6 dGhpcy5saWdodGJveF9pZCk7dGhpcy5leHBsYW5hdGlvbnM9e3ByZW1pdW1fcmVh ZGVyOicnLGZvbGxvdzondG8gU3Vic2NyaWJlIHRvIFRoaXMgVXNlcicsY29tbWVu dDondG8gU2NyaWJibGUgYSBDb21tZW50JyxyZWFkY2FzdDondG8gUmVhZGNhc3Qn LGRvd25sb2FkOid0byBEb3dubG9hZCBhIERvY3VtZW50JyxkaXNjdXNzaW9uOid0 byBQYXJ0aWNpcGF0ZSBpbiBUaGlzIERpc2N1c3Npb24nLGFkZF90b19jb2xsZWN0 aW9uczondG8gQWRkIHRvIENvbGxlY3Rpb25zJyxqb2luOicnLHVwbG9hZDondG8g UHVibGlzaCBZb3VyIERvY3VtZW50cycsdmlld19wdXJjaGFzZWRfZG9jdW1lbnQ6 J3RvIFZpZXcgWW91ciBQdXJjaGFzZWQgRG9jdW1lbnQnLHN0YXR1c19yZXBseTon dG8gUmVwbHkgU3RhdHVzIE1lc3NhZ2VzJyxjb21tZW50X3JlcGx5Oid0byBSZXBs eSB0byB0aGlzIENvbW1lbnQnLHJhdGU6J3RvIFJhdGUgdGhpcyBEb2N1bWVudCcs dHJpYWw6J3RvIFN0YXJ0IFlvdXIgRnJlZSBUcmlhbCcsdmlld19tb2RlOiJ0byBD aGFuZ2UgVmlldyBNb2RlIn07dGhpcy5leHBsYW5hdGlvbkJhc2U9IllvdSBNdXN0 IGJlIExvZ2dlZCBpbiAiO3RoaXMuYWZ0ZXJfZmFjZWJvb2tfc2lnbnVwX3VybD0n L2xvZ2luL3NpZ251cF9zdWNjZXNzJzt0aGlzLmFmdGVyX2ZhY2Vib29rX2xvZ2lu X3VybD0nL2xvZ2luL2NhbGxiYWNrcyc7dGhpcy5zaWdudXBfZm9ybT10aGlzLmNv bnRhaW5lci5kb3duKCcuZ2xvYmFsX3NpZ251cF9mb3JtJyk7dGhpcy5sb2dpbl9m b3JtPXRoaXMuY29udGFpbmVyLmRvd24oJy5nbG9iYWxfbG9naW5fZm9ybScpO3Ro

aXMubG9naW5faGVhZGVyPXRoaXMuY29udGFpbmVyLmRvd24oJy5sb2dpbl9sYl9o ZWFkZXInKTt0aGlzLnNpZ251cF9oZWFkZXI9dGhpcy5jb250YWluZXIuZG93bign LnNpZ251cF9oZWFkZXInKTt0aGlzLmxvZ2luX3NlY3Rpb249dGhpcy5jb250YWlu ZXIuZG93bignLmxvZ2luX3NlY3Rpb24nKTt0aGlzLnNpZ251cF90b2dnbGU9dGhp cy5jb250YWluZXIuZG93bignLnNpZ251cF90b2dnbGUnKTt0aGlzLmxvZ2luX3Rv Z2dsZT10aGlzLmNvbnRhaW5lci5kb3duKCcubG9naW5fdG9nZ2xlJyk7dGhpcy5z ZXRFdmVudHMoKTt9LHNldFRpdGxlOmZ1bmN0aW9uKHRpdGxlKXtTY3JpYmQuTGln aHRib3guc2V0VGl0bGUodGhpcy5saWdodGJveF9pZCx0aXRsZSk7fSxzZXRFdmVu dHM6ZnVuY3Rpb24oKXt2YXIgc3VibWl0X2xpc3RlbmVyPXRoaXMuc2VuZEZvcm0u YmluZEFzRXZlbnRMaXN0ZW5lcih0aGlzKTt0aGlzLmNvbnRhaW5lci5zZWxlY3Qo Ii5saWdodGJveF9mb3JtIikuZWFjaChmdW5jdGlvbihlbG0pe2VsbS5vbnN1Ym1p dD1mdW5jdGlvbihlKXtFdmVudC5zdG9wKGV8fHdpbmRvdy5ldmVudCk7c3VibWl0 X2xpc3RlbmVyKGUpO3JldHVybiBmYWxzZTt9fSx0aGlzKTtpZih0aGlzLnNpZ251 cF90b2dnbGUpe3RoaXMuc2lnbnVwX3RvZ2dsZS5kb3duKCdhJykub2JzZXJ2ZSgn Y2xpY2snLGZ1bmN0aW9uKGUpe2Uuc3RvcCgpO2UuZWxlbWVudCgpLnVwKCkudG9n Z2xlQ2xhc3NOYW1lKCdvcGVuJyk7dGhpcy5zaWdudXBfZm9ybS50b2dnbGUoKTt9 LmJpbmQodGhpcykpO30KaWYodGhpcy5sb2dpbl90b2dnbGUpe3RoaXMubG9naW5f dG9nZ2xlLmRvd24oJ2EnKS5vYnNlcnZlKCdjbGljaycsZnVuY3Rpb24oZSl7ZS5z dG9wKCk7ZS5lbGVtZW50KCkudXAoKS50b2dnbGVDbGFzc05hbWUoJ29wZW4nKTt0 aGlzLmxvZ2luX2Zvcm0udG9nZ2xlKCk7fS5iaW5kKHRoaXMpKTt9fSxkZWZhdWx0 RXhwbGFuYXRpb246ZnVuY3Rpb24oY29udGV4dCl7c3dpdGNoKGNvbnRleHQpe2Nh c2Unam9pbic6cmV0dXJuJ1NpZ24gVXAnO2RlZmF1bHQ6cmV0dXJuJ0xvZyBJbic7 fX0sc2VuZEZvcm06ZnVuY3Rpb24oZSl7RXZlbnQuc3RvcChlKTtTY3JpYmQuUmVt b3RlLkZvcm0oRXZlbnQuZWxlbWVudChlKSk7fSxjaGVja0ZpZWxkOmZ1bmN0aW9u KHVybCxlbCl7dmFyIG5hbWU9RWxlbWVudC5yZWFkQXR0cmlidXRlKGVsLCduYW1l Jyk7dmFyIG5hbWVfcGFyc2VkPW5hbWUubWF0Y2goL1xbKFthLXpfXSspXF0vaSk7 aWYobmFtZV9wYXJzZWQubGVuZ3RoPjEpCm5hbWU9bmFtZV9wYXJzZWRbMV07dmFy IHZhbHVlPSRGKGVsKTtpZih2YWx1ZSkKbmV3IEFqYXguUmVxdWVzdCh1cmwse2Fz eW5jaHJvbm91czp0cnVlLGV2YWxTY3JpcHRzOnRydWUscGFyYW1ldGVyczpuYW1l Kyc9Jytlc2NhcGUodmFsdWUpfSk7fSxvcGVuOmZ1bmN0aW9uKG9wdGlvbnMpe2lm KHRoaXMubG9naW5fZm9ybSl7aWYob3B0aW9ucy5jb250ZXh0PT0nam9pbicpe3Ro aXMubG9naW5fdG9nZ2xlLmhpZGUoKTt9ZWxzZXt0aGlzLmxvZ2luX3RvZ2dsZS5z aG93KCk7fQp0aGlzLmxvZ2luX2Zvcm0uZG93bignLmhpZGRlbicpLnVwZGF0ZSgn Jyk7dGhpcy5zaWdudXBfZm9ybS5kb3duKCcuaGlkZGVuJykudXBkYXRlKCcnKTsk SChvcHRpb25zKS5lYWNoKGZ1bmN0aW9uKHBhaXIpe3ZhciBpbnB1dD1uZXcgRWxl bWVudCgnaW5wdXQnLHsndHlwZSc6J2hpZGRlbicsJ3ZhbHVlJzpwYWlyLnZhbHVl LCduYW1lJzonbG9naW5fcGFyYW1zWycrcGFpci5rZXkrJ10nfSk7dGhpcy5sb2dp bl9mb3JtLmRvd24oJy5oaWRkZW4nKS5hcHBlbmRDaGlsZChpbnB1dCk7dGhpcy5z aWdudXBfZm9ybS5kb3duKCcuaGlkZGVuJykuYXBwZW5kQ2hpbGQoaW5wdXQuY2xv bmVOb2RlKHRydWUpKTskKCdsb2dpbl9sYicpLnNlbGVjdCgnLmxvZ2luX2FkZF9o aWRkZW5fZm9ybV9maWVsZHNfZm9yX29wdGlvbnMnKS5lYWNoKGZ1bmN0aW9uKGUp e2UuYXBwZW5kQ2hpbGQoaW5wdXQuY2xvbmVOb2RlKHRydWUpKTt9KTt9LmJpbmQo dGhpcykpO3ZhciBleHA9dGhpcy5leHBsYW5hdGlvbnNbb3B0aW9ucy5jb250ZXh0 XTtpZihleHApe2V4cD10aGlzLmV4cGxhbmF0aW9uQmFzZStleHA7fWVsc2V7ZXhw PXRoaXMuZGVmYXVsdEV4cGxhbmF0aW9uKG9wdGlvbnMuY29udGV4dCk7fQp0aGlz LnNldFRpdGxlKGV4cCk7aWYob3B0aW9ucy5saWdodGJveD09J2FyY2hpdmUnKXtT Y3JpYmQuTGlnaHRib3gub3BlbignYXJjaGl2ZV9sYicpO31lbHNle1NjcmliZC5M aWdodGJveC5vcGVuKCdsb2dpbl9sYicpO30KdGhpcy5oYXNGQkNhbGxiYWNrPXRy dWU7dGhpcy5jYWxsYmFja0ZCRnVuY3Rpb249ZnVuY3Rpb24obmV3X3VzZXIpe2lm KG5ld191c2VyKXt2YXIgdXJsPXRoaXMuYWZ0ZXJfZmFjZWJvb2tfc2lnbnVwX3Vy bDt9ZWxzZXt2YXIgdXJsPXRoaXMuYWZ0ZXJfZmFjZWJvb2tfbG9naW5fdXJsO30K bmV3IEFqYXguUmVxdWVzdCh1cmwse21ldGhvZDoncG9zdCcscGFyYW1ldGVyczpv cHRpb25zLGFzeW5jaHJvbm91czp0cnVlLGV2YWxTY3JpcHRzOnRydWV9KTt9LmJp bmQodGhpcyk7fX0sY2FsbGJhY2tGQjpmdW5jdGlvbihuZXdfdXNlcil7dmFyIGNv b2tpZT1uZXcgU2NyaWJkLkpTT05Db29raWUoJ3Nlc3Npb25fbWV0YWRhdGEnKTtp Zihjb29raWUuZ2V0KCdkZW5pZWRfSUMnKSl7Y29va2llLnVuc2V0KCdkZW5pZWRf SUMnKTtjb29raWUuc2F2ZSgpO30KaWYodGhpcy5oYXNGQkNhbGxiYWNrKXt0aGlz LmNhbGxiYWNrRkJGdW5jdGlvbihuZXdfdXNlcik7fWVsc2V7d2luZG93LmxvY2F0 aW9uLnJlbG9hZCgpO319fSk7CgoKLyogcHVibGljL2phdmFzY3JpcHRzL3JhdC5q cyBAIDEzNDg1MTc1NzkgKi8KCnZhciBSQVRfQVBJX1ZFUlNJT049JzInO3ZhciBy

YXRJbml0PShmdW5jdGlvbigpe2Z1bmN0aW9uIGdldFJhbmRvbUludChtaW4sbWF4 KXtyZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKihtYXgtbWluKzEpKStt aW47fQp2YXIgQmFzZTY0PXtfa2V5U3RyOiJBQkNERUZHSElKS0xNTk9QUVJTVFVW V1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPSIsZW5j b2RlOmZ1bmN0aW9uKGlucHV0KXt2YXIgb3V0cHV0PSIiO3ZhciBjaHIxLGNocjIs Y2hyMyxlbmMxLGVuYzIsZW5jMyxlbmM0O3ZhciBpPTA7aW5wdXQ9QmFzZTY0Ll91 dGY4X2VuY29kZShpbnB1dCk7d2hpbGUoaTxpbnB1dC5sZW5ndGgpe2NocjE9aW5w dXQuY2hhckNvZGVBdChpKyspO2NocjI9aW5wdXQuY2hhckNvZGVBdChpKyspO2No cjM9aW5wdXQuY2hhckNvZGVBdChpKyspO2VuYzE9Y2hyMT4+MjtlbmMyPSgoY2hy MSYzKTw8NCl8KGNocjI+PjQpO2VuYzM9KChjaHIyJjE1KTw8Mil8KGNocjM+PjYp O2VuYzQ9Y2hyMyY2MztpZihpc05hTihjaHIyKSl7ZW5jMz1lbmM0PTY0O31lbHNl IGlmKGlzTmFOKGNocjMpKXtlbmM0PTY0O30Kb3V0cHV0PW91dHB1dCsKdGhpcy5f a2V5U3RyLmNoYXJBdChlbmMxKSt0aGlzLl9rZXlTdHIuY2hhckF0KGVuYzIpKwp0 aGlzLl9rZXlTdHIuY2hhckF0KGVuYzMpK3RoaXMuX2tleVN0ci5jaGFyQXQoZW5j NCk7fQpyZXR1cm4gb3V0cHV0O30sX3V0ZjhfZW5jb2RlOmZ1bmN0aW9uKHN0cmlu Zyl7c3RyaW5nPXN0cmluZy5yZXBsYWNlKC9cclxuL2csIlxuIik7dmFyIHV0ZnRl eHQ9IiI7Zm9yKHZhciBuPTA7bjxzdHJpbmcubGVuZ3RoO24rKyl7dmFyIGM9c3Ry aW5nLmNoYXJDb2RlQXQobik7aWYoYzwxMjgpe3V0ZnRleHQrPVN0cmluZy5mcm9t Q2hhckNvZGUoYyk7fQplbHNlIGlmKChjPjEyNykmJihjPDIwNDgpKXt1dGZ0ZXh0 Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKChjPj42KXwxOTIpO3V0ZnRleHQrPVN0cmlu Zy5mcm9tQ2hhckNvZGUoKGMmNjMpfDEyOCk7fQplbHNle3V0ZnRleHQrPVN0cmlu Zy5mcm9tQ2hhckNvZGUoKGM+PjEyKXwyMjQpO3V0ZnRleHQrPVN0cmluZy5mcm9t Q2hhckNvZGUoKChjPj42KSY2Myl8MTI4KTt1dGZ0ZXh0Kz1TdHJpbmcuZnJvbUNo YXJDb2RlKChjJjYzKXwxMjgpO319CnJldHVybiB1dGZ0ZXh0O319O2Z1bmN0aW9u IGpzb25wKHVybCxjYWxsYmFjayl7dmFyIGhlYWQ9ZG9jdW1lbnQuZ2V0RWxlbWVu dHNCeVRhZ05hbWUoJ2hlYWQnKVswXTt2YXIgbmV3U2NyaXB0PWRvY3VtZW50LmNy ZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO3ZhciBjYWxsYmFja05hbWU9J2pzb25wJytn ZXRSYW5kb21JbnQoMCwxMDAwMDAwKTt3aW5kb3dbY2FsbGJhY2tOYW1lXT1mdW5j dGlvbihkYXRhKXtjYWxsYmFjayhkYXRhWzBdKTt3aW5kb3dbY2FsbGJhY2tOYW1l XT11bmRlZmluZWQ7fTt2YXIgbmV3dXJsPXVybC5yZXBsYWNlKC8oLipcPy4qKShc PykvLCckMScrY2FsbGJhY2tOYW1lKTtuZXdTY3JpcHQuc3JjPW5ld3VybDtuZXdT Y3JpcHQuYXN5bmM9dHJ1ZTtuZXdTY3JpcHQuZGVmZXI9J2RlZmVyJztoZWFkLmFw cGVuZENoaWxkKG5ld1NjcmlwdCk7cmV0dXJuIG5ld1NjcmlwdDt9CmZ1bmN0aW9u IG5vdygpe3JldHVybihuZXcgRGF0ZSgpKS5nZXRUaW1lKCkvMTAwMC4wO30KZnVu Y3Rpb24gZW5jb2RlT2JqKHJhd19hcmdzKXt2YXIgYXJncz1bXTtmb3IodmFyIGsg aW4gcmF3X2FyZ3Mpe2lmKHJhd19hcmdzLmhhc093blByb3BlcnR5KGspKXt2YXIg dj1yYXdfYXJnc1trXTtpZih2PT09dW5kZWZpbmVkKXt2PW51bGw7fQp2PUJhc2U2 NC5lbmNvZGUoT2JqZWN0LnRvSlNPTih2KSk7YXJncy5wdXNoKGsrJz0nK2VuY29k ZVVSSUNvbXBvbmVudCh2KSk7fX0KcmV0dXJuIGFyZ3Muam9pbignJicpO30KZnVu Y3Rpb24gYWRkTGlzdGVuZXIoZWwsZSxmKXtpZihlbC5hZGRFdmVudExpc3RlbmVy KXtlbC5hZGRFdmVudExpc3RlbmVyKGUsZixmYWxzZSk7fWVsc2UgaWYoZWwuYXR0 YWNoRXZlbnQpe2VsLmF0dGFjaEV2ZW50KCdvbicrZSxmKTt9fQpmdW5jdGlvbiBy ZW1vdmVMaXN0ZW5lcihlbCxlLGYpe2lmKGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIp e2VsLnJlbW92ZUV2ZW50TGlzdGVuZXIoZSxmLGZhbHNlKTt9ZWxzZSBpZihlbC5k ZXRhY2hFdmVudCl7ZWwuZGV0YWNoRXZlbnQoJ29uJytlLGYpO319CmZ1bmN0aW9u IFJhdHMoaG9zdHMsb3RoZXJEYXRhKXt0aGlzLmhvc3RzPWhvc3RzO3RoaXMuZXM9 W107dGhpcy52cz1bXTt0aGlzLnRzPVtdO3RoaXMub3RoZXJEYXRhPW90aGVyRGF0 YTt0aGlzLl9mbHVzaFRpbWVvdXRJZD1udWxsO3RoaXMubGFzdFBpbmc9bnVsbDt0 aGlzLm51bVBpbmdzPTA7dGhpcy5kaG9zdD10aGlzLl9yYW5kSG9zdCgpK1JBVF9B UElfVkVSU0lPTisnLyc7fQpSYXRzLnByb3RvdHlwZS5zdGFydD1mdW5jdGlvbigp e3ZhciBzZWxmPXRoaXM7dGhpcy5fZ2V0VmlkKCk7YWRkTGlzdGVuZXIod2luZG93 LCdsb2FkJyxmdW5jdGlvbigpe3NlbGYuZG9jTG9hZGVkPXRydWU7fSk7ZnVuY3Rp b24gdW5sb2FkZigpe2lmKHNlbGYubHBzKXtzZWxmLmxwcy5wYXJlbnRFbGVtZW50 LnJlbW92ZUNoaWxkKHNlbGYubHBzKTtkZWxldGUgc2VsZi5scHM7c2VsZi5scHM9 bnVsbDt9CnNlbGYubG9nRXZlbnQoJ2RvbS53aW5kb3cuYmVmb3JldW5sb2FkJyk7 c2VsZi5mbHVzaEV2ZW50cyh0cnVlKTt9CnRoaXMudW5sb2FkZj11bmxvYWRmO2Fk ZExpc3RlbmVyKHdpbmRvdywnYmVmb3JldW5sb2FkJyx1bmxvYWRmKTt9O1JhdHMu cHJvdG90eXBlLl9nZXRWaWQ9ZnVuY3Rpb24oY2FsbGJhY2spe3ZhciB1cmw9dGhp cy5kaG9zdCsnZ2V0dmlkLmpzb25wP2NhbGxiYWNrPT8mJysKZW5jb2RlT2JqKHts OmxvY2F0aW9uLmhyZWYscjooZG9jdW1lbnQucmVmZXJyZXJ8fGRvY3VtZW50LnJl

ZmVyZXJ8fG51bGwpLGVhOnRoaXMub3RoZXJEYXRhLHVidGM6dGhpcy5fZ2V0VUJU QygpfSk7dmFyIHNlbGY9dGhpcztqc29ucCh1cmwsZnVuY3Rpb24oZGF0YSl7aWYo ZGF0YS5zdGF0dXMhPSdzdWNjZXNzJyl7c2VsZi5kaXNhYmxlKCk7cmV0dXJuO30K c2VsZi52aWQ9ZGF0YS52aWQ7c2VsZi5sYXN0Rmx1c2hlZD1ub3coKTtzZWxmLl9z ZXR1cFBpbmcoKTtzZWxmLmxvZ1RpbWVvdXRMZW49ZGF0YS5sb2dUaW1lb3V0TGVu O2lmKGNhbGxiYWNrKXtjYWxsYmFjayhzZWxmLnZpZCk7fX0pO307UmF0cy5wcm90 b3R5cGUuX3NldHVwUGluZz1mdW5jdGlvbigpe2lmKHRoaXMuZGlzYWJsZWQoKSl7 cmV0dXJuO30KaWYodGhpcy5fcGluZ1NldHVwKXtyZXR1cm47fQp0aGlzLl9waW5n U2V0dXA9dHJ1ZTt2YXIgc2VsZj10aGlzO2Z1bmN0aW9uIHBpbmcoKXtzZWxmLmxh c3RQaW5nPW5vdygpO3NlbGYubnVtUGluZ3MrPTE7c2VsZi5fcGluZ1NldHVwPWZh bHNlO3NlbGYuX3N0YXJ0Rmx1c2hUaW1lb3V0KCk7cmVtb3ZlTGlzdGVuZXIoZG9j dW1lbnQsJ21vdXNlbW92ZScscGluZyk7c2V0VGltZW91dChmdW5jdGlvbigpe3Nl bGYuX3NldHVwUGluZygpO30sMTAwMC4wKTt9CmFkZExpc3RlbmVyKGRvY3VtZW50 LCdtb3VzZW1vdmUnLHBpbmcpO307UmF0cy5wcm90b3R5cGUuX3Jlc2V0QnVmZmVy cz1mdW5jdGlvbigpe3RoaXMuZXM9W107dGhpcy50cz1bXTt0aGlzLnZzPVtdO3Ro aXMubGFzdEZsdXNoZWQ9dGhpcy5sYXN0UGluZzt0aGlzLmxhc3RQaW5nPW51bGw7 dGhpcy5udW1QaW5ncz0wO3RoaXMuX2NsZWFyRmx1c2hUaW1lb3V0KCk7fTtSYXRz LnByb3RvdHlwZS5fZ2V0VUJUQz1mdW5jdGlvbigpe3RoaXMuX3VidGM9dGhpcy5f dWJ0Y3x8ZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLzsgKi9nLCcmJykucGFyc2VR dWVyeSgpLnNjcmliZF91YnRjO3JldHVybiB0aGlzLl91YnRjO307UmF0cy5wcm90 b3R5cGUuZmx1c2hFdmVudHM9ZnVuY3Rpb24odXNlSW1nLGNhbGxiYWNrKXtpZih0 aGlzLmRpc2FibGVkKCkpe3JldHVybjt9CnZhciBhcmdzPWVuY29kZU9iaih7ZXM6 dGhpcy5lcyx0czp0aGlzLnRzLHZzOnRoaXMudnMsbjpub3coKSxscDp0aGlzLmxh c3RQaW5nLG5wOnRoaXMubnVtUGluZ3MsdWJ0Yzp0aGlzLl9nZXRVQlRDKCl9KTt0 aGlzLl9yZXNldEJ1ZmZlcnMoKTt2YXIgc2VsZj10aGlzO2lmKHVzZUltZyl7dmFy IGk9bmV3IEltYWdlKCk7aS5zcmM9dGhpcy5kaG9zdCt0aGlzLnZpZCsnL2RlLnBu Zz9yYW5kPScrZ2V0UmFuZG9tSW50KDAsMTAwMDAwKSsnJicrYXJncztkb2N1bWVu dC5ib2R5LmFwcGVuZENoaWxkKGkpO31lbHNle2pzb25wKHRoaXMuZGhvc3QrdGhp cy52aWQrJy9kZS5qc29ucD9jYWxsYmFjaz0/JicrYXJncyxmdW5jdGlvbihkYXRh KXtpZihkYXRhLnN0YXR1cz09J3N1Y2Nlc3MnKXtpZihjYWxsYmFjayl7Y2FsbGJh Y2soKTt9fWVsc2V7c2VsZi5kaXNhYmxlKCk7fX0pO319O1JhdHMucHJvdG90eXBl LmxvZ0V2ZW50PWZ1bmN0aW9uKGUsdil7aWYodGhpcy5kaXNhYmxlZCgpKXtyZXR1 cm47fQp2YXIgbj1ub3coKTt0aGlzLmxhc3RQaW5nPW47dj12fHxudWxsO3RoaXMu ZXMucHVzaChlKTt0aGlzLnZzLnB1c2godik7dGhpcy50cy5wdXNoKG4pO3RoaXMu X3N0YXJ0Rmx1c2hUaW1lb3V0KCk7fTtSYXRzLnByb3RvdHlwZS5sPVJhdHMucHJv dG90eXBlLmxvZ0V2ZW50O1JhdHMucHJvdG90eXBlLl9zdGFydEZsdXNoVGltZW91 dD1mdW5jdGlvbigpe2lmKHRoaXMuZGlzYWJsZWQoKSl7cmV0dXJuO30KaWYodGhp cy5fZmx1c2hUaW1lb3V0SWQhPT1udWxsfHwhdGhpcy5sb2dUaW1lb3V0TGVuKXty ZXR1cm47fQp2YXIgc2VsZj10aGlzO3RoaXMuX2ZsdXNoVGltZW91dElkPXdpbmRv dy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7c2VsZi5mbHVzaEV2ZW50cyhmYWxzZSxm dW5jdGlvbigpe3NlbGYuX3NldHVwUGluZygpO30pO30sdGhpcy5fZ2V0VGltZW91 dExlbigpKTt9O1JhdHMucHJvdG90eXBlLl9nZXRUaW1lb3V0TGVuPWZ1bmN0aW9u KCl7cmV0dXJuIHRoaXMubG9nVGltZW91dExlbi0oKG5vdygpLXRoaXMubGFzdEZs dXNoZWQpKjEwMDAuMCk7fTtSYXRzLnByb3RvdHlwZS5fY2xlYXJGbHVzaFRpbWVv dXQ9ZnVuY3Rpb24oKXtpZih0aGlzLl9mbHVzaFRpbWVvdXRJZD09PW51bGwpe3Jl dHVybjt9CndpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5fZmx1c2hUaW1lb3V0SWQp O3RoaXMuX2ZsdXNoVGltZW91dElkPW51bGw7fTtSYXRzLnByb3RvdHlwZS5fcmFu ZEhvc3Q9ZnVuY3Rpb24odXJsU3VmZml4KXt1cmxTdWZmaXg9dXJsU3VmZml4fHwn JztyZXR1cm4gdGhpcy5ob3N0c1tnZXRSYW5kb21JbnQoMCx0aGlzLmhvc3RzLmxl bmd0aC0xKV0rdXJsU3VmZml4O307UmF0cy5wcm90b3R5cGUuZGlzYWJsZT1mdW5j dGlvbigpe3RoaXMuX2Rpc2FibGVkPXRydWU7aWYodGhpcy51bmxvYWRmKXtyZW1v dmVMaXN0ZW5lcih3aW5kb3csJ2JlZm9yZXVubG9hZCcsdGhpcy51bmxvYWRmKTt9 fTtSYXRzLnByb3RvdHlwZS5kaXNhYmxlZD1mdW5jdGlvbigpe3JldHVybiB0aGlz Ll9kaXNhYmxlZDt9O1JhdHMucHJvdG90eXBlLnJvb3Q9ZnVuY3Rpb24oKXtyZXR1 cm4gdGhpczt9O2Z1bmN0aW9uIG1ha2VTY29wZShwYXJlbnQscHJlZml4KXtmdW5j dGlvbiBSYXRTY29wZShlLHYpe2lmKHByZWZpeCl7ZT1wcmVmaXgrJy4nK2U7fQpw YXJlbnQubG9nRXZlbnQoZSx2KTt9ClJhdFNjb3BlLmxvZ0V2ZW50PVJhdFNjb3Bl O1JhdFNjb3BlLnBhcmVudD1wYXJlbnQ7UmF0U2NvcGUucm9vdD1mdW5jdGlvbigp e3JldHVybiBwYXJlbnQucm9vdCgpO307UmF0U2NvcGUuZGlzYWJsZT1mdW5jdGlv bigpe3BhcmVudC5kaXNhYmxlKCk7fTtSYXRTY29wZS5kaXNhYmxlZD1mdW5jdGlv

bigpe3JldHVybiBwYXJlbnQuZGlzYWJsZWQoKTt9O1JhdFNjb3BlLnM9ZnVuY3Rp b24ocHJlZml4KXtyZXR1cm4gbWFrZVNjb3BlKFJhdFNjb3BlLHByZWZpeCk7fTtS YXRTY29wZS5vPWZ1bmN0aW9uKGVsZW1lbnQsZG9tRXZlbnQsbG9nRXZlbnROYW1l T3JGdW5jdGlvbixtYXhUaW1lcyxmaXJlVGltZW91dCl7bWF4VGltZXM9bWF4VGlt ZXN8fC0xO2ZpcmVUaW1lb3V0PWZpcmVUaW1lb3V0fHwxMDAwO2lmKFJhdFNjb3Bl LmRpc2FibGVkKCkpe3JldHVybjt9CnZhciBpc1NldFVwPWZhbHNlO2Z1bmN0aW9u IHNldFVwKCl7aWYoaXNTZXRVcCl7cmV0dXJuO31lbHNle2lzU2V0VXA9dHJ1ZTt9 fQppc1NldFVwPXRydWU7dmFyIHNlbGY9dGhpcztmdW5jdGlvbiBmaXJlKGUpe2lm KCFlKXtlPXdpbmRvdy5ldmVudDt9CmlmKGxvZ0V2ZW50TmFtZU9yRnVuY3Rpb24g aW5zdGFuY2VvZiBGdW5jdGlvbil7UmF0U2NvcGUubG9nRXZlbnQobG9nRXZlbnRO YW1lT3JGdW5jdGlvbi5jYWxsKHRoaXMsZSkpO31lbHNle1JhdFNjb3BlLmxvZ0V2 ZW50KGxvZ0V2ZW50TmFtZU9yRnVuY3Rpb24pO30KcmVtb3ZlTGlzdGVuZXIoZWxl bWVudCxkb21FdmVudCxmaXJlKTttYXhUaW1lcy09MTtpZihtYXhUaW1lcz09LTF8 fG1heFRpbWVzPjApe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtzZXRVcCgpO30sZmly ZVRpbWVvdXQpO319CmFkZExpc3RlbmVyKGVsZW1lbnQsZG9tRXZlbnQsZmlyZSk7 fTtyZXR1cm4gUmF0U2NvcGU7fQpyZXR1cm4gZnVuY3Rpb24ocmF0SG9zdHMsb3Ro ZXJEYXRhLGRpc2FibGVkKXt2YXIgcj1uZXcgUmF0cyhyYXRIb3N0cyxvdGhlckRh dGEpO2lmKGRpc2FibGVkKXtyLmRpc2FibGUoKTt9ZWxzZXtyLnN0YXJ0KCk7fQpy ZXR1cm4gbWFrZVNjb3BlKHIpO307fSkoKTsKCgovKiBwdWJsaWMvamF2YXNjcmlw dHMvcGVyZi5qcyBAIDEzNDg1MTc1NzkgKi8KClNjcmliZC5QZXJmPUNsYXNzLmNy ZWF0ZSh7aW5pdGlhbGl6ZTpmdW5jdGlvbihjdXN0b21fbG9nZ2VyKXt2YXIgX3Ro aXM9dGhpczt0aGlzLnJlcG9ydGVkX3N0YXRzPWZhbHNlO3RoaXMuY3VzdG9tX2xv Z2dlcj1jdXN0b21fbG9nZ2VyO3RoaXMuQ2FsbD1mdW5jdGlvbihmdW5jKXt2YXIg bz1mdW5jdGlvbihldil7ZnVuYy5jYWxsKF90aGlzLGV2KTt9CnJldHVybiBvO319 LGFkZExpc3RlbmVyOmZ1bmN0aW9uKGVsLGUsZil7aWYoZWwuYWRkRXZlbnRMaXN0 ZW5lcil7ZWwuYWRkRXZlbnRMaXN0ZW5lcihlLGYsZmFsc2UpO31lbHNlIGlmKGVs LmF0dGFjaEV2ZW50KXtlbC5hdHRhY2hFdmVudCgnb24nK2UsZik7fX0scmVjb3Jk UGVyY2VpdmVkTG9hZFRpbWU6ZnVuY3Rpb24odCl7aWYoJHJhdCYmd2luZG93LnBl cmZvcm1hbmNlJiZ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nKXskcmF0KCJwZXJj ZWl2ZWRMb2FkVGltZSIsdCk7fX0scmVjb3JkUGVyZjpmdW5jdGlvbihlKXtpZigk cmF0JiZ3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1p bmcmJiF0aGlzLnJlcG9ydGVkX3N0YXRzKXt2YXIgb2JqVG9Mb2c9e307dmFyIHRp bWluZ09iaj13aW5kb3cucGVyZm9ybWFuY2UudGltaW5nO3ZhciB2YWx1ZXNfdG9f cmVwb3J0PVsnbmF2aWdhdGlvblN0YXJ0JywndW5sb2FkRXZlbnRTdGFydCcsJ3Vu bG9hZEV2ZW50RW5kJywncmVkaXJlY3RTdGFydCcsJ3JlZGlyZWN0RW5kJywnZmV0 Y2hTdGFydCcsJ2RvbWFpbkxvb2t1cFN0YXJ0JywnZG9tYWluTG9va3VwRW5kJywn Y29ubmVjdFN0YXJ0JywnY29ubmVjdEVuZCcsJ3NlY3VyZUNvbm5lY3Rpb25TdGFy dCcsJ3JlcXVlc3RTdGFydCcsJ3Jlc3BvbnNlU3RhcnQnLCdyZXNwb25zZUVuZCcs J2RvbUxvYWRpbmcnLCdkb21JbnRlcmFjdGl2ZScsJ2RvbUNvbnRlbnRMb2FkZWRT dGFydCcsJ2RvbUNvbnRlbnRMb2FkZWRFbmQnLCdkb21Db21wbGV0ZScsJ2xvYWRF dmVudFN0YXJ0JywnbG9hZEV2ZW50RW5kJywnZG9tQ29udGVudExvYWRlZEV2ZW50 U3RhcnQnLCdkb21Db250ZW50TG9hZGVkRXZlbnRFbmQnXTtmb3IodmFyIGk9MDtp PHZhbHVlc190b19yZXBvcnQubGVuZ3RoO2krKyl7dmFyIGs9dmFsdWVzX3RvX3Jl cG9ydFtpXTtpZigodHlwZW9mIHRpbWluZ09ialtrXSE9InVuZGVmaW5lZCIpKXtv YmpUb0xvZ1trXT10aW1pbmdPYmpba107fWVsc2V7b2JqVG9Mb2dba109MDt9fQpp ZihvYmpUb0xvZ1snZG9tQ29udGVudExvYWRlZFN0YXJ0J109PTAmJm9ialRvTG9n Wydkb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCddIT0wKXtvYmpUb0xvZ1snZG9t Q29udGVudExvYWRlZFN0YXJ0J109b2JqVG9Mb2dbJ2RvbUNvbnRlbnRMb2FkZWRF dmVudFN0YXJ0J107ZGVsZXRlIG9ialRvTG9nWydkb21Db250ZW50TG9hZGVkRXZl bnRTdGFydCddO30KaWYob2JqVG9Mb2dbJ2RvbUNvbnRlbnRMb2FkZWRFbmQnXT09 MCYmb2JqVG9Mb2dbJ2RvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCddIT0wKXtvYmpU b0xvZ1snZG9tQ29udGVudExvYWRlZEVuZCddPW9ialRvTG9nWydkb21Db250ZW50 TG9hZGVkRXZlbnRFbmQnXTtkZWxldGUgb2JqVG9Mb2dbJ2RvbUNvbnRlbnRMb2Fk ZWRFdmVudEVuZCddO30KaWYoZT09Im9ubG9hZCIpe2lmKG9ialRvTG9nWydsb2Fk RXZlbnRFbmQnXT09MCl7b2JqVG9Mb2dbJ2xvYWRFdmVudEVuZCddPShuZXcgRGF0 ZSgpKS5nZXRUaW1lKCk7fX0KaWYodGhpcy5jdXN0b21fbG9nZ2VyKXt0aGlzLmN1 c3RvbV9sb2dnZXIob2JqVG9Mb2cpO31lbHNleyRyYXQoJ3dpbmRvdy5wZXJmb3Jt YW5jZS50aW1pbmcnLG9ialRvTG9nKTt9CmlmKGUmJmUudHlwZT09ImJlZm9yZXVu bG9hZCImJm9ialRvTG9nWydsb2FkRXZlbnRFbmQnXT09MCl7JHJhdCgnYm91bmNl ZEJlZm9yZU9ubG9hZCcsdHJ1ZSk7fQp0aGlzLnJlcG9ydGVkX3N0YXRzPXRydWU7

fX0scmVnaXN0ZXJPbmJlZm9yZXVubG9hZDpmdW5jdGlvbigpe3RoaXMuYWRkTGlz dGVuZXIod2luZG93LCdiZWZvcmV1bmxvYWQnLHRoaXMuQ2FsbCh0aGlzLnJlY29y ZFBlcmYpKTt9LHJlZ2lzdGVyT25sb2FkOmZ1bmN0aW9uKCl7dmFyIHJlY29yZFBl cmZGdW5jPXRoaXMucmVjb3JkUGVyZjt2YXIgX3RoaXM9dGhpcztpZih3aW5kb3cu b25sb2FkIT1udWxsKXt2YXIgb2xkT25Mb2FkPXdpbmRvdy5vbmxvYWQ7d2luZG93 Lm9ubG9hZD1mdW5jdGlvbihlKXtvbGRPbkxvYWQoZSk7dmFyIGZ1bmM9ZnVuY3Rp b24oKXtyZWNvcmRQZXJmRnVuYy5jYWxsKF90aGlzLCJvbmxvYWQiKTt9O2Z1bmMu ZGVmZXIoKTt9O31lbHNle3dpbmRvdy5vbmxvYWQ9ZnVuY3Rpb24oKXtyZWNvcmRQ ZXJmRnVuYy5jYWxsKF90aGlzLCJvbmxvYWQiKTt9O307fX0pOwoKCi8qIHB1Ymxp Yy9qYXZhc2NyaXB0cy80Z2VuX2luX2RvY19zZWFyY2guanMgQCAxMzQ4NTE3NTc5 ICovCgpTY3JpYmQuaW5pdCgnU2NyaWJkJywnQW5ub3RhdGlvbicpO1NjcmliZC5p bml0KCdTY3JpYmQnLCdGb3VyZ2VuJyk7U2NyaWJkLmluaXQoJ1NjcmliZCcsJ0RP TScpO1NjcmliZC5Gb3VyZ2VuLkRvY1NlYXJjaGVyPUNsYXNzLmNyZWF0ZSh7aW5p dGlhbGl6ZTpmdW5jdGlvbihvcHRpb25zKXt2YXIgZG9jX2lkPW9wdGlvbnMuZG9j X2lkLHVwbG9hZF9pZD1vcHRpb25zLnVwbG9hZF9pZCxzZWNyZXRfcGFzc3dvcmQ9 b3B0aW9ucy5zZWNyZXRfcGFzc3dvcmQ7dmFyIHRoYXQ9dGhpczt0aGlzLmNhY2hl PW5ldyBTY3JpYmQuRm91cmdlbi5Eb2NTZWFyY2hlci5DYWNoZShmdW5jdGlvbihx dWVyeSxkYXRhSGFuZGxlcil7dmFyIGNhY2hlPXRoaXM7U2NyaWJkLkZvdXJnZW4u RG9jU2VhcmNoZXIucmVtb3RlX3NlYXJjaCh7J3F1ZXJ5JzpxdWVyeSwnZG9jX2lk Jzpkb2NfaWQsJ3VwbG9hZF9pZCc6dXBsb2FkX2lkLCdzZWNyZXRfcGFzc3dvcmQn OnNlY3JldF9wYXNzd29yZCxzdWNjZXNzOmZ1bmN0aW9uKGRhdGEpe2lmKGRhdGEp e2NhY2hlLnNldChxdWVyeSxkYXRhKTtkYXRhSGFuZGxlcihkYXRhKTt0aGF0LnRy YWNrRXZlbnQoJ3Jlc3VsdC5zdWNjZXNzJyxkYXRhLmxlbmd0aCk7fWVsc2V7Y2Fj aGUuc2V0KHF1ZXJ5LG51bGwpO3RoYXQudHJhY2tFdmVudCgncmVzdWx0Lm51bGwn KTt9fSxmYWlsdXJlOmZ1bmN0aW9uKGVycm9yKXtjYWNoZS5zZXQocXVlcnksZmFs c2UpO2RhdGFIYW5kbGVyKGZhbHNlKTt0aGF0LnRyYWNrRXZlbnQoJ3Jlc3VsdC5m YWlsZWQnKTt9fSk7fSk7dGhpcy5xdWVyeUhpc3Rvcnk9W107dGhpcy5xdWVyeUhp c3RvcnlJbmRleD0wO30sc2VhcmNoOmZ1bmN0aW9uKHF1ZXJ5LHJlc3VsdEhhbmRs ZXIpe3RoaXMucXVlcnlIaXN0b3J5LnB1c2gocXVlcnkpO3RoaXMucXVlcnlIaXN0 b3J5SW5kZXg9dGhpcy5xdWVyeUhpc3RvcnkubGVuZ3RoLTE7dGhpcy50cmFja0V2 ZW50KCdzdWJtaXQnKTt0aGlzLmNhY2hlLmZldGNoKHF1ZXJ5LHJlc3VsdEhhbmRs ZXIpO30sdHJhY2tFdmVudDpmdW5jdGlvbihldmVudE5hbWUsZXh0cmEpe2lmKHdp bmRvdy4kcmF0KXtpZih0aGlzLmN1cnJlbnRRdWVyeSgpKXt2YXIgZXZlbnREYXRh PVt0aGlzLnF1ZXJ5SGlzdG9yeUluZGV4LHRoaXMuY3VycmVudFF1ZXJ5KCldO2lm KGV4dHJhIT09dW5kZWZpbmVkKXtldmVudERhdGEucHVzaChleHRyYSk7fQokcmF0 KCdmb3VyZ2VuLnRvb2xiYXIuc2VhcmNoLicrZXZlbnROYW1lLGV2ZW50RGF0YSk7 fX19LGN1cnJlbnRSZXN1bHRzOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2FjaGUu Z2V0KHRoaXMuY3VycmVudFF1ZXJ5KCkpO30sY3VycmVudFF1ZXJ5OmZ1bmN0aW9u KCl7cmV0dXJuIHRoaXMucXVlcnlIaXN0b3J5W3RoaXMucXVlcnlIaXN0b3J5SW5k ZXhdO30sc2V0Q3VycmVudFF1ZXJ5VG86ZnVuY3Rpb24ocG9zaXRpb24pe2lmKHBv c2l0aW9uPj0wJiZwb3NpdGlvbjx0aGlzLnF1ZXJ5SGlzdG9yeS5sZW5ndGgpe3Ro aXMucXVlcnlIaXN0b3J5SW5kZXg9cG9zaXRpb247fX0scGFzdFF1ZXJpZXM6ZnVu Y3Rpb24obil7dmFyIGhpc3RvcnlMZW5ndGg9dGhpcy5xdWVyeUhpc3RvcnkubGVu Z3RoLHF1ZXJpZXM9W107bj1NYXRoLm1pbihufHwxMCxoaXN0b3J5TGVuZ3RoKTtm b3IodmFyIGk9MTtpPD1uO2krKyl7dmFyIHBvc2l0aW9uPWhpc3RvcnlMZW5ndGgt aTtxdWVyaWVzLnB1c2goeydwb3NpdGlvbic6cG9zaXRpb24sJ3F1ZXJ5Jzp0aGlz LnF1ZXJ5SGlzdG9yeVtwb3NpdGlvbl19KTt9CnJldHVybiBxdWVyaWVzO319KTtT Y3JpYmQuRm91cmdlbi5Eb2NTZWFyY2hlci5CQVNFX1VSTD0iL3NlYXJjaC00Z2Vu IjtTY3JpYmQuRm91cmdlbi5Eb2NTZWFyY2hlci5yZW1vdGVfc2VhcmNoPWZ1bmN0 aW9uKG9wdGlvbnMpe3ZhciBwYXJhbXM9eydxdWVyeSc6b3B0aW9ucy5xdWVyeSwn d29yZFVwbG9hZElkJzpvcHRpb25zLnVwbG9hZF9pZCwnd29yZERvY3VtZW50SWQn Om9wdGlvbnMuZG9jX2lkfTtpZihvcHRpb25zLnNlY3JldF9wYXNzd29yZCkKcGFy YW1zLnNlY3JldFBhc3N3b3JkPW9wdGlvbnMuc2VjcmV0X3Bhc3N3b3JkO25ldyBB amF4LlJlcXVlc3QoU2NyaWJkLkZvdXJnZW4uRG9jU2VhcmNoZXIuQkFTRV9VUkws e3BhcmFtZXRlcnM6cGFyYW1zLG1ldGhvZDonZ2V0JyxvblN1Y2Nlc3M6b3B0aW9u cy5zdWNjZXNzJiZmdW5jdGlvbihyZXNwKXtvcHRpb25zLnN1Y2Nlc3MocmVzcC5y ZXNwb25zZUpTT04pO30sb25GYWlsdXJlOm9wdGlvbnMuZmFpbHVyZX0pO307U2Ny aWJkLkZvdXJnZW4uRG9jU2VhcmNoZXIuQ2FjaGU9Q2xhc3MuY3JlYXRlKHtpbml0 aWFsaXplOmZ1bmN0aW9uKG1pc3NIYW5kbGVyKXt0aGlzLmNhY2hlPXt9O3RoaXMu bWlzc0hhbmRsZXI9bWlzc0hhbmRsZXIuYmluZCh0aGlzKTt9LGZldGNoOmZ1bmN0

aW9uKGtleSxkYXRhSGFuZGxlcil7dmFyIGRhdGE9dGhpcy5nZXQoa2V5KTtpZihk YXRhPT09dW5kZWZpbmVkKXt0aGlzLm1pc3NIYW5kbGVyKGtleSxkYXRhSGFuZGxl cik7fWVsc2V7ZGF0YUhhbmRsZXIoZGF0YSk7fX0sZ2V0OmZ1bmN0aW9uKGtleSl7 cmV0dXJuIHRoaXMuY2FjaGVbdGhpcy5fbm9ybWFsaXplZEtleShrZXkpXTt9LHNl dDpmdW5jdGlvbihrZXksZGF0YSl7dGhpcy5jYWNoZVt0aGlzLl9ub3JtYWxpemVk S2V5KGtleSldPWRhdGE7fSxfbm9ybWFsaXplZEtleTpmdW5jdGlvbihrZXkpe2lm KGtleSkKcmV0dXJuIGtleS50b1VwcGVyQ2FzZSgpO3JldHVybiBrZXk7fX0pO1Nj cmliZC5Bbm5vdGF0aW9uLmhpZ2hsaWdodFRleHQ9ZnVuY3Rpb24obm9kZSx0ZXh0 LGhpZ2hsaWdodENsYXNzKXt2YXIgaGlnaGxpZ2h0Q2xhc3M9aGlnaGxpZ2h0Q2xh c3N8fCdmb3VyZ2VuX2hpZ2hsaWdodCc7dmFyIGhpZ2hsaWdodGVkPTA7dmFyIGhp Z2hsaWdodD1mdW5jdGlvbihub2RlKXt2YXIgc2tpcD0wO2lmKG5vZGUubm9kZVR5 cGU9PTMpe3ZhciBwb3M9bm9kZS5kYXRhLnRvVXBwZXJDYXNlKCkuaW5kZXhPZih0 ZXh0LnRvVXBwZXJDYXNlKCkpO2lmKHBvcz49MCl7dmFyIHNwYW5fbm9kZT1kb2N1 bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7c3Bhbl9ub2RlLmNsYXNzTmFtZT1o aWdobGlnaHRDbGFzczt2YXIgZm91bmQ9bm9kZS5zcGxpdFRleHQocG9zKTtmb3Vu ZC5zcGxpdFRleHQodGV4dC5sZW5ndGgpO3ZhciBmb3VuZF9jbG9uZT1mb3VuZC5j bG9uZU5vZGUodHJ1ZSk7c3Bhbl9ub2RlLmFwcGVuZENoaWxkKGZvdW5kX2Nsb25l KTtmb3VuZC5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChzcGFuX25vZGUsZm91bmQp O3NraXA9MTtoaWdobGlnaHRlZCsrO319ZWxzZSBpZihub2RlLm5vZGVUeXBlPT0x JiZub2RlLmNoaWxkTm9kZXMmJiEvKHNjcmlwdHxzdHlsZSkvaS50ZXN0KG5vZGUu dGFnTmFtZSkpe2lmKG5vZGUuY2xhc3NOYW1lP25vZGUuY2xhc3NOYW1lLmluZGV4 T2YoaGlnaGxpZ2h0Q2xhc3MpPDA6dHJ1ZSl7Zm9yKHZhciBpPTA7aTxub2RlLmNo aWxkTm9kZXMubGVuZ3RoOysraSkKaSs9aGlnaGxpZ2h0KG5vZGUuY2hpbGROb2Rl c1tpXSk7fWVsc2V7aGlnaGxpZ2h0ZWQrKzt9fQpyZXR1cm4gc2tpcDt9O2hpZ2hs aWdodChub2RlKTtyZXR1cm4gaGlnaGxpZ2h0ZWQ7fTtTY3JpYmQuQW5ub3RhdGlv bi5yZW1vdmVIaWdobGlnaHQ9ZnVuY3Rpb24oaGlnaGxpZ2h0U2VsZWN0b3Ipe3Zh ciBoaWdobGlnaHRTZWxlY3Rvcj1oaWdobGlnaHRTZWxlY3Rvcnx8Jy5mb3VyZ2Vu X2hpZ2hsaWdodCcKJCQoaGlnaGxpZ2h0U2VsZWN0b3IpLmVhY2goZnVuY3Rpb24o ZSl7dmFyIHBhcmVudD1lLnBhcmVudE5vZGU7cGFyZW50LnJlcGxhY2VDaGlsZChl LmZpcnN0Q2hpbGQsZSk7cGFyZW50Lm5vcm1hbGl6ZSgpO30pO307U2NyaWJkLkRP TS5zY2FsZWRDdW11bGF0aXZlT2Zmc2V0PWZ1bmN0aW9uKGVsZW1lbnQpe2lmKFBy b3RvdHlwZS5Ccm93c2VyLklFKXtTY3JpYmQuRE9NLnNjYWxlZEN1bXVsYXRpdmVP ZmZzZXQ9ZnVuY3Rpb24oZWxlbSl7dmFyIHRvcD0wLGxlZnQ9MDtkb3t2YXIgc2Nh bGU9cGFyc2VGbG9hdChlbGVtLmdldFN0eWxlKCd6b29tJykpLzEwMDtpZihzY2Fs ZSl7dG9wKj1zY2FsZTtsZWZ0Kj1zY2FsZTt9CnRvcCs9ZWxlbS5vZmZzZXRUb3A7 bGVmdCs9ZWxlbS5vZmZzZXRMZWZ0O2VsZW09ZWxlbS5vZmZzZXRQYXJlbnQ7fXdo aWxlKGVsZW0pO3JldHVybiBFbGVtZW50Ll9yZXR1cm5PZmZzZXQobGVmdCx0b3Ap O319ZWxzZSBpZihQcm90b3R5cGUuQnJvd3Nlci5XZWJLaXR8fFByb3RvdHlwZS5C cm93c2VyLkdlY2tvKXt2YXIgdHJhbnNmb3JtU3R5bGU9UHJvdG90eXBlLkJyb3dz ZXIuV2ViS2l0Pyctd2Via2l0LXRyYW5zZm9ybSc6Jy1tb3otdHJhbnNmb3JtJztT Y3JpYmQuRE9NLnNjYWxlZEN1bXVsYXRpdmVPZmZzZXQ9ZnVuY3Rpb24oZWxlbSl7 dmFyIHRvcD0wLGxlZnQ9MCx0cmFuc2Zvcm1QYXJzZXI9bmV3IFJlZ0V4cCgic2Nh bGVcXCgoWzAtOVxcLl0rKVxcKXxtYXRyaXhcXCgoWzAtOVxcLl0rLCkiKTtkb3t2 YXIgbWF0Y2hlZFNjYWxlPXRyYW5zZm9ybVBhcnNlci5leGVjKEVsZW1lbnQuZ2V0 U3R5bGUoZWxlbSx0cmFuc2Zvcm1TdHlsZSkpO2lmKG1hdGNoZWRTY2FsZSYmbWF0 Y2hlZFNjYWxlLmxlbmd0aD4xKXt2YXIgc2NhbGU9cGFyc2VGbG9hdChtYXRjaGVk U2NhbGVbMV18fG1hdGNoZWRTY2FsZVsyXSk7dG9wKj1zY2FsZTtsZWZ0Kj1zY2Fs ZTt9CnRvcCs9ZWxlbS5vZmZzZXRUb3A7bGVmdCs9ZWxlbS5vZmZzZXRMZWZ0O2Vs ZW09ZWxlbS5vZmZzZXRQYXJlbnQ7fXdoaWxlKGVsZW0pO3JldHVybiBFbGVtZW50 Ll9yZXR1cm5PZmZzZXQobGVmdCx0b3ApO319ZWxzZXtTY3JpYmQuRE9NLnNjYWxl ZEN1bXVsYXRpdmVPZmZzZXQ9RWxlbWVudC5jdW11bGF0aXZlT2Zmc2V0O30KcmV0 dXJuIFNjcmliZC5ET00uc2NhbGVkQ3VtdWxhdGl2ZU9mZnNldChlbGVtZW50KTt9 OwoKCi8qIHB1YmxpYy9qYXZhc2NyaXB0cy9kb2N1bWVudF9jb2xsZWN0aW9uc19t YW5hZ2VyLmpzIEAgMTM0ODUxNzU3OSAqLwp2YXIgbHp5X2pzX3B1YmxpY19qYXZh c2NyaXB0c19kb2N1bWVudF9jb2xsZWN0aW9uc19tYW5hZ2VyPSJcblNjcmliZC5E b2N1bWVudENvbGxlY3Rpb25zTWFuYWdlcj17ZG9jc19pbl9jb2xsZWN0aW9uczp7 fSxkb2NzOnt9LGxvYWRQYWdlRm9yRG9jdW1lbnQ6ZnVuY3Rpb24oZG9jX2lkLHBh Z2UsY29sbGVjdGlvbnNfY29udGFpbmVyLHByb2dyZXNzX2luZGljYXRvcil7cHJv Z3Jlc3NfaW5kaWNhdG9yLnNob3coKTt2YXIgTT1TY3JpYmQuRG9jdW1lbnRDb2xs ZWN0aW9uc01hbmFnZXI7aWYoIU0uZG9jc19pbl9jb2xsZWN0aW9uc1tkb2NfaWRd

KXtNLmRvY3NfaW5fY29sbGVjdGlvbnNbZG9jX2lkXT17fX07TS5nZXRDb2xsZWN0 aW9uc0ZvckRvY3VtZW50KGRvY19pZCxwYWdlLHtvblN1Y2Nlc3M6ZnVuY3Rpb24o ZGF0YSl7TS5zdG9yZUNvbGxlY3Rpb25zKGRvY19pZCxkYXRhLmNvbGxlY3Rpb25z KTtjb2xsZWN0aW9uc19jb250YWluZXIudXBkYXRlKE0ucmVuZGVyQ29sbGVjdGlv bnNJbihkb2NfaWQsZGF0YSkpO00uYXR0YWNoRXZlbnRzKGRvY19pZCxjb2xsZWN0 aW9uc19jb250YWluZXIuc2VsZWN0KFwnbGkuZG9jdW1lbnRfY29sbGVjdGlvblwn KSk7fSxvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7cHJvZ3Jlc3NfaW5kaWNhdG9yJiZw cm9ncmVzc19pbmRpY2F0b3IuaGlkZSgpO30sb25DcmVhdGU6ZnVuY3Rpb24oKXtw cm9ncmVzc19pbmRpY2F0b3ImJnByb2dyZXNzX2luZGljYXRvci5zaG93KCk7fX0p O30sZ2V0Q29sbGVjdGlvbnNGb3JEb2N1bWVudDpmdW5jdGlvbihkb2NfaWQscGFn ZSxjYWxsYmFja3Mpe3ZhciBjb2xsZWN0aW9ucz1bXTtuZXcgQWpheC5SZXF1ZXN0 KFwnL215X2RvY3VtZW50X2NvbGxlY3Rpb25zLmpzb25cJyx7cGFyYW1ldGVyczp7 dmlldzpcJ2FkZF9kb2N1bWVudF90b19jb2xsZWN0aW9uc1wnLGRvY3VtZW50X2lk OmRvY19pZCxcJ3BhZ2VcJzpwYWdlfSxtZXRob2Q6XCdnZXRcJyxvbkNyZWF0ZTpj YWxsYmFja3Mub25DcmVhdGUsb25Db21wbGV0ZTpjYWxsYmFja3Mub25Db21wbGV0 ZSxvbkZhaWx1cmU6Y2FsbGJhY2tzLm9uRmFpbHVyZSxvblN1Y2Nlc3M6ZnVuY3Rp b24ocmVzcG9uc2Upe2NhbGxiYWNrcy5vblN1Y2Nlc3MocmVzcG9uc2UucmVzcG9u c2VKU09OKTt9fSk7fSxzdG9yZUNvbGxlY3Rpb25zOmZ1bmN0aW9uKGRvY19pZCxj b2xsZWN0aW9ucyl7dmFyIE09U2NyaWJkLkRvY3VtZW50Q29sbGVjdGlvbnNNYW5h Z2VyO2NvbGxlY3Rpb25zPSRBKGNvbGxlY3Rpb25zKTtjb2xsZWN0aW9ucy5zZWxl Y3QoZnVuY3Rpb24oY29sbGVjdGlvbil7cmV0dXJuIGNvbGxlY3Rpb24uc2VsZWN0 ZWQ9PVwnMVwnO30pLmVhY2goZnVuY3Rpb24oY29sbGVjdGlvbil7TS5kb2NzX2lu X2NvbGxlY3Rpb25zW2RvY19pZF1bY29sbGVjdGlvbi5pZF09dHJ1ZTt9KTt9LGF0 dGFjaEV2ZW50czpmdW5jdGlvbihkb2NfaWQsY29sbGVjdGlvbl9jb250YWluZXJz KXt2YXIgTT1TY3JpYmQuRG9jdW1lbnRDb2xsZWN0aW9uc01hbmFnZXI7Y29sbGVj dGlvbl9jb250YWluZXJzLmVhY2goZnVuY3Rpb24oY29udGFpbmVyKXtNLmF0dGFj aEV2ZW50KGRvY19pZCxjb250YWluZXIpO30pO30sYXR0YWNoRXZlbnQ6ZnVuY3Rp b24oZG9jX2lkLGNvbnRhaW5lcil7dmFyIE09U2NyaWJkLkRvY3VtZW50Q29sbGVj dGlvbnNNYW5hZ2VyO3ZhciBjb2xsZWN0aW9uX2lkPWNvbnRhaW5lci5nZXRBdHRy aWJ1dGUoXCdkYXRhLWRvY3VtZW50X2NvbGxlY3Rpb25faWRcJyk7dmFyIGNoZWNr Ym94PWNvbnRhaW5lci5kb3duKFwnaW5wdXRcJyk7dmFyIGxvYWRlcj1jb250YWlu ZXIuZG93bihcJy5zdGF0dXNfbG9hZGVyXCcpO2NvbnRhaW5lci5vYnNlcnZlKFwn Y2xpY2tcJyxmdW5jdGlvbihlKXtlLnN0b3AoKTtpZihNLmRvY3NfaW5fY29sbGVj dGlvbnNbZG9jX2lkXVtjb2xsZWN0aW9uX2lkXSl7dmFyIGFjdGlvbj1cJy9yZW1v dmVfZG9jdW1lbnRcJzt2YXIgaHR0cF9tZXRob2Q9XCdkZWxldGVcJzt9ZWxzZXt2 YXIgYWN0aW9uPVwnL2FkZF9kb2N1bWVudFwnO3ZhciBodHRwX21ldGhvZD1cJ3Bv c3RcJzt9XG5uZXcgQWpheC5SZXF1ZXN0KFwnL2RvY3VtZW50X2NvbGxlY3Rpb25z L1wnK2NvbGxlY3Rpb25faWQrYWN0aW9uLHtwYXJhbWV0ZXJzOntkb2N1bWVudF9p ZDpkb2NfaWR9LG1ldGhvZDpodHRwX21ldGhvZCxvbkNyZWF0ZTpmdW5jdGlvbigp e2xvYWRlci5zaG93KCk7Y2hlY2tib3guaGlkZSgpO30sb25Db21wbGV0ZTpmdW5j dGlvbigpe2xvYWRlci5oaWRlKCk7Y2hlY2tib3guc2hvdygpO30sb25TdWNjZXNz OmZ1bmN0aW9uKHJlc3BvbnNlKXt2YXIgcmVzdWx0PXJlc3BvbnNlLnJlc3BvbnNl SlNPTjtpZihyZXN1bHQmJnJlc3VsdC5hZGRlZCl7Y2hlY2tib3guY2hlY2tlZD10 cnVlO00uZG9jc19pbl9jb2xsZWN0aW9uc1tkb2NfaWRdW2NvbGxlY3Rpb25faWRd PXRydWU7fWVsc2V7Y2hlY2tib3guY2hlY2tlZD1mYWxzZTtkZWxldGUgTS5kb2Nz X2luX2NvbGxlY3Rpb25zW2RvY19pZF1bY29sbGVjdGlvbl9pZF07fX19KTt9KTt9 LHJlbmRlckNvbGxlY3Rpb25zSW46ZnVuY3Rpb24oZG9jX2lkLGRhdGEpe3ZhciBN PVNjcmliZC5Eb2N1bWVudENvbGxlY3Rpb25zTWFuYWdlcjt2YXIgcmVuZGVyZWRf Y29sbGVjdGlvbnM9JEEoZGF0YS5jb2xsZWN0aW9ucykubWFwKGZ1bmN0aW9uKGNv bGxlY3Rpb24pe3ZhciB0cmFuc2Zvcm1lZF9jb2xsZWN0aW9uPU0ucmVuZGVyaW5n Q29sbGVjdGlvbkF0dHJpYnV0ZXMoZG9jX2lkLGNvbGxlY3Rpb24pO3JldHVybiBN LmNvbGxlY3Rpb25fdGVtcGxhdGUuZXZhbHVhdGUodHJhbnNmb3JtZWRfY29sbGVj dGlvbik7fSkuam9pbihcIlxcblwiKTtpZihkYXRhLnRvdGFsPT0wKXt2YXIgcHJp dmF0ZV90ZXh0PU0uZG9jc1tkb2NfaWRdW1wncHJpdmF0ZVwnXT9cJ3ByaXZhdGUg XCc6XCdcJztyZW5kZXJlZF9jb2xsZWN0aW9ucz1cJzxzcGFuIGNsYXNzPVwibm9f Y29sbGVjdGlvbnNcIj5Zb3UgaGF2ZSBub3QgY3JlYXRlZCBhbnkgXCcrcHJpdmF0 ZV90ZXh0K1wnY29sbGVjdGlvbnMgeWV0LjxcL3NwYW4+XCc7fVxucmV0dXJuIE0u Y29sbGVjdGlvbnNfdGVtcGxhdGUuZXZhbHVhdGUoe2NvbGxlY3Rpb25zX2xpc3Q6 cmVuZGVyZWRfY29sbGVjdGlvbnMscGFnaW5hdGlvbl9jb250cm9sOk0ucmVuZGVy UGFnaW5hdGlvbihkYXRhLnBhZ2UsZGF0YS5wZXJfcGFnZSxkYXRhLnRvdGFsKSxc

J2RvY19pZFwnOmRvY19pZH0pO30scmVuZGVyUGFnaW5hdGlvbjpmdW5jdGlvbihw YWdlLHBlcl9wYWdlLHRvdGFsLHdpbmRvd19zaXplKXt2YXIgbnVtX29mX3BhZ2Vz PU1hdGguY2VpbCh0b3RhbC9wZXJfcGFnZSk7aWYobnVtX29mX3BhZ2VzPD0xKXty ZXR1cm5cJ1wnO31cbnZhciBodG1scz1bXCc8c3Bhbj5cJyxwYWdlLFwnPFwvc3Bh bj5cJ107aWYoIXdpbmRvd19zaXplKXt3aW5kb3dfc2l6ZT0yfTt2YXIgbGFzdF9w YWdlPW51bV9vZl9wYWdlczt2YXIgcHJldl9wYWdlPW5leHRfcGFnZT1wYWdlO2Zv cih2YXIgaT0xO2k8PXdpbmRvd19zaXplO2krKyl7aWYocHJldl9wYWdlPjEpe3By ZXZfcGFnZT1wYWdlLWk7aHRtbHMudW5zaGlmdChcJzxhIGhyZWY9XCIjXCIgZGF0 YS1wYWdlPVwiXCcscHJldl9wYWdlLFwnXCI+XCcscHJldl9wYWdlLFwnPFwvYT5c Jyk7fVxuaWYobmV4dF9wYWdlPGxhc3RfcGFnZSl7bmV4dF9wYWdlPXBhZ2UraTto dG1scy5wdXNoKFwnPGEgaHJlZj1cIiNcIiBkYXRhLXBhZ2U9XCJcJyxuZXh0X3Bh Z2UsXCdcIj5cJyxuZXh0X3BhZ2UsXCc8XC9hPlwnKTt9fVxuaWYocHJldl9wYWdl PjIpe2h0bWxzLnVuc2hpZnQoXCc8c3BhbiBjbGFzcz1cImVsbGlwc2lzXCI+Li4u PFwvc3Bhbj5cJyk7fVxuaWYocHJldl9wYWdlPjEpe2h0bWxzLnVuc2hpZnQoXCc8 YSBocmVmPVwiI1wiIGRhdGEtcGFnZT1cIlwnLHBhZ2UtMSxcJ1wiPlwnLFwnwqtc JyxcJzxcL2E+XCcsXCc8YSBocmVmPVwiI1wiIGRhdGEtcGFnZT1cIjFcIj4xPFwv YT5cJyk7fVxuaWYobmV4dF9wYWdlPGxhc3RfcGFnZS0xKXtodG1scy5wdXNoKFwn PHNwYW4gY2xhc3M9XCJlbGxpcHNpc1wiPi4uLjxcL3NwYW4+XCcpO31cbmlmKG5l eHRfcGFnZTxsYXN0X3BhZ2Upe2h0bWxzLnB1c2goXCc8YSBocmVmPVwiI1wiIGRh dGEtcGFnZT1cIlwnLGxhc3RfcGFnZSxcJ1wiPlwnLGxhc3RfcGFnZSxcJzxcL2E+ XCcsXCc8YSBocmVmPVwiI1wiIGRhdGEtcGFnZT1cIlwnLHBhZ2UrMSxcJ1wiPlwn LFwnwrtcJyxcJzxcL2E+XCcpO31cbnJldHVybihcJzxkaXYgY2xhc3M9XCJwYWdp bmF0b3IgXCI+XCcraHRtbHMuam9pbihcJ1wnKStcJzxcL2Rpdj5cJyk7fSxyZW5k ZXJpbmdDb2xsZWN0aW9uQXR0cmlidXRlczpmdW5jdGlvbihkb2NfaWQsY29sbGVj dGlvbil7dmFyIHRyYW5zZm9ybWVkX2NvbGxlY3Rpb249e1wnaWRcJzpjb2xsZWN0 aW9uLmlkLFwnbmFtZVwnOmNvbGxlY3Rpb24ubmFtZS50cnVuY2F0ZSg4MCksZG9j X2lkOmRvY19pZCxwcml2YWN5X3R5cGU6Y29sbGVjdGlvbi5wcml2YWN5X3R5cGUs Y29tYmluZWRfcHJpdmFjeV90eXBlOmNvbGxlY3Rpb24uY29tYmluZWRfcHJpdmFj eV90eXBlfVxuaWYoY29sbGVjdGlvbi5zZWxlY3RlZD09XCcxXCcpe3RyYW5zZm9y bWVkX2NvbGxlY3Rpb25bXCdjaGVja2VkXCddPVwnY2hlY2tlZD1cImNoZWNrZWRc IlwnO31cbnJldHVybiB0cmFuc2Zvcm1lZF9jb2xsZWN0aW9uO30sYWRkVG9Db2xs ZWN0aW9uc0V2ZW50SGFuZGxlcjpmdW5jdGlvbihkb2NfaWQsZSl7ZS5zdG9wKCk7 dmFyIE09U2NyaWJkLkRvY3VtZW50Q29sbGVjdGlvbnNNYW5hZ2VyO3ZhciBhZGRf dG9fY29sbGVjdGlvbj1lLmZpbmRFbGVtZW50KCk7dmFyIGxpZ2h0Ym94PSQkKFwn I2xpZ2h0Ym94X2RvY3VtZW50X2NvbGxlY3Rpb25zXCcpLmZpcnN0KCk7aWYobGln aHRib3gudmlzaWJsZSgpKVxuU2NyaWJkLkxpZ2h0Ym94LnRvZ2dsZShcJ2xpZ2h0 Ym94X2RvY3VtZW50X2NvbGxlY3Rpb25zXCcsMCk7bGlnaHRib3guZG93bihcJy5w cml2YXRlXCcpLmhpZGUoKTt2YXIgbWFuYWdlcl9jb250YWluZXI9bGlnaHRib3gu ZG93bihcJy5tYW5hZ2VfY29sbGVjdGlvblwnKTt2YXIgY29sbGVjdGlvbnNfY29u dGFpbmVyPW1hbmFnZXJfY29udGFpbmVyLmRvd24oXCcuZG9jdW1lbnRfY29sbGVj dGlvbnNfY29udGFpbmVyXCcpO2lmKGNvbGxlY3Rpb25zX2NvbnRhaW5lci5yZXRy aWV2ZShcJ2RvY3VtZW50X2lkXCcpIT09ZG9jX2lkKXtjb2xsZWN0aW9uc19jb250 YWluZXIuc3RvcmUoXCdkb2N1bWVudF9pZFwnLGRvY19pZCk7TS5yZW5kZXJEb2Mo ZG9jX2lkKTtjb2xsZWN0aW9uc19jb250YWluZXIudXBkYXRlKFwnXCcpO3ZhciBz cGlubmVyPW1hbmFnZXJfY29udGFpbmVyLmRvd24oXCdpbWdcJyk7TS5sb2FkUGFn ZUZvckRvY3VtZW50KGRvY19pZCwxLGNvbGxlY3Rpb25zX2NvbnRhaW5lcixzcGlu bmVyKTt9XG5TY3JpYmQuTGlnaHRib3gudG9nZ2xlKFwnbGlnaHRib3hfZG9jdW1l bnRfY29sbGVjdGlvbnNcJyw3NSk7fSxzZXR1cENvbGxlY3Rpb25zTGlnaHRib3g6 ZnVuY3Rpb24oY29udGFpbmVyLGRvY19pZCl7Y29udGFpbmVyPSQoY29udGFpbmVy KTtkb2NfaWQ9ZG9jX2lkfHxTY3JpYmQuY3VycmVudF9kb2MuaWQ7dmFyIG1hbmFn ZXJfY29udGFpbmVyPWNvbnRhaW5lci5kb3duKFwiLm1hbmFnZV9jb2xsZWN0aW9u XCIpO3ZhciBjb2xsZWN0aW9uc19jb250YWluZXI9bWFuYWdlcl9jb250YWluZXIu ZG93bihcIi5kb2N1bWVudF9jb2xsZWN0aW9uc19jb250YWluZXJcIik7aWYoY29s bGVjdGlvbnNfY29udGFpbmVyLnJldHJpZXZlKFwiZG9jdW1lbnRfaWRcIikhPT1k b2NfaWQpe2NvbGxlY3Rpb25zX2NvbnRhaW5lci5zdG9yZShcImRvY3VtZW50X2lk XCIsZG9jX2lkKTt0aGlzLnJlbmRlckRvYyhkb2NfaWQpO2NvbGxlY3Rpb25zX2Nv bnRhaW5lci51cGRhdGUoXCdcJyk7dmFyIHNwaW5uZXI9bWFuYWdlcl9jb250YWlu ZXIuZG93bihcImltZ1wiKTt0aGlzLmxvYWRQYWdlRm9yRG9jdW1lbnQoZG9jX2lk LDEsY29sbGVjdGlvbnNfY29udGFpbmVyLHNwaW5uZXIpO319LGFkZFBhZ2luYXRp b25FdmVudDpmdW5jdGlvbigpe3ZhciBNPVNjcmliZC5Eb2N1bWVudENvbGxlY3Rp

b25zTWFuYWdlcjt2YXIgbWFuYWdlcl9jb250YWluZXI9JCQoXCcjbGlnaHRib3hf ZG9jdW1lbnRfY29sbGVjdGlvbnMgLm1hbmFnZV9jb2xsZWN0aW9uXCcpLmZpcnN0 KCk7dmFyIGNvbGxlY3Rpb25zX2NvbnRhaW5lcj1tYW5hZ2VyX2NvbnRhaW5lci5k b3duKFwnLmRvY3VtZW50X2NvbGxlY3Rpb25zX2NvbnRhaW5lclwnKTt2YXIgc3Bp bm5lcj1tYW5hZ2VyX2NvbnRhaW5lci5kb3duKFwnaW1nXCcpO2NvbGxlY3Rpb25z X2NvbnRhaW5lci5vYnNlcnZlKFwnY2xpY2tcJyxmdW5jdGlvbihlKXt2YXIgY2xp Y2tlcj1lLmZpbmRFbGVtZW50KCk7aWYoY2xpY2tlci5nZXRBdHRyaWJ1dGUoXCdk YXRhLXBhZ2VcJykpe2Uuc3RvcCgpO3ZhciBkb2NfaWQ9Y29sbGVjdGlvbnNfY29u dGFpbmVyLnJldHJpZXZlKFwnZG9jdW1lbnRfaWRcJyk7TS5sb2FkUGFnZUZvckRv Y3VtZW50KGRvY19pZCxjbGlja2VyLmdldEF0dHJpYnV0ZShcJ2RhdGEtcGFnZVwn KSxjb2xsZWN0aW9uc19jb250YWluZXIsc3Bpbm5lcik7fX0pO30scmVuZGVyRG9j OmZ1bmN0aW9uKGRvY19pZCl7dmFyIE09U2NyaWJkLkRvY3VtZW50Q29sbGVjdGlv bnNNYW5hZ2VyO3ZhciBkb2M9TS5kb2NzW2RvY19pZF07dmFyIGRvY3VtZW50X2Nv bnRhaW5lcj0kJChcJyNsaWdodGJveF9kb2N1bWVudF9jb2xsZWN0aW9ucyAuZG9j dW1lbnRfY29udGFpbmVyXCcpLmZpcnN0KCk7aWYoZG9jKXtkb2N1bWVudF9jb250 YWluZXIudXBkYXRlKG5ldyBTY3JpYmQuRG9jdW1lbnRDZWxsKGRvYykucmVuZGVy KFwnY29sbGVjdGlvbl9vbGRcJykpO2lmKGRvY1tcJ3ByaXZhdGVcJ10pXG5kb2N1 bWVudF9jb250YWluZXIucGFyZW50Tm9kZS5kb3duKFwnLnByaXZhdGVcJykuc2hv dygpO31lbHNle2RvY3VtZW50X2NvbnRhaW5lci51cGRhdGUoXCdcJyk7bmV3IEFq YXguUmVxdWVzdChcIi9kb2N1bWVudHMvXCIrZG9jX2lkK1wnLmpzb25cJyx7bWV0 aG9kOlwnZ2V0XCcsb25TdWNjZXNzOmZ1bmN0aW9uKHJlc3BvbnNlKXtpZihyZXNw b25zZS5yZXNwb25zZUpTT04pe00uZG9jc1tkb2NfaWRdPXJlc3BvbnNlLnJlc3Bv bnNlSlNPTjtNLnJlbmRlckRvYyhkb2NfaWQpO319fSk7fX19XG5TY3JpYmQuRG9j dW1lbnRDb2xsZWN0aW9uc01hbmFnZXIuUGFnaW5hdG9yPUNsYXNzLmNyZWF0ZSh7 aW5pdGlhbGl6ZTpmdW5jdGlvbihvcHRpb25zKXt0aGlzLnRvdGFsPW9wdGlvbnMu dG90YWwsdGhpcy5wZXJfcGFnZT1vcHRpb25zLnBlcl9wYWdlfHwxMCx0aGlzLndp bmRvd19zaXplPW9wdGlvbnMud2luZG93X3NpemU7dGhpcy51cmw9b3B0aW9ucy51 cmwsdGhpcy5wYXJhbXM9b3B0aW9ucy5wYXJhbXM7fX0pO1NjcmliZC5Eb2N1bWVu dENvbGxlY3Rpb25zTWFuYWdlci5jb2xsZWN0aW9uc190ZW1wbGF0ZT1uZXcgVGVt cGxhdGUoXCdcXFxuPHVsIHN0eWxlPVwicmlnaHQ6IGF1dG87XCIgY2xhc3M9XCJh ZGRfdG9fbXlfY29sbGVjdGlvbnMgc3ViX21lbnVcIj5cXFxuICAgICN7Y29sbGVj dGlvbnNfbGlzdH1cXFxuICAgICN7cGFnaW5hdGlvbl9jb250cm9sfVxcXG48XC91 bD5cJyk7U2NyaWJkLkRvY3VtZW50Q29sbGVjdGlvbnNNYW5hZ2VyLmNvbGxlY3Rp b25fdGVtcGxhdGU9bmV3IFRlbXBsYXRlKFwnXFxcbjxsaSBjbGFzcz1cImNsZWFy Zml4IGRvY3VtZW50X2NvbGxlY3Rpb24gZG9jdW1lbnRfY29sbGVjdGlvbl8je2lk fVwiIGRhdGEtZG9jdW1lbnRfY29sbGVjdGlvbl9pZD1cIiN7aWR9XCI+XFxcbiAg ICA8c3Bhbj5cXFxuICAgICAgICA8aW1nIHNyYz1cIi9pbWFnZXMvbG9hZGVyX2Js YWNrX29uX3doaXRlLmdpZj8xMzQ4NTE3NTc5XCIgY2xhc3M9XCJzdGF0dXNfbG9h ZGVyXCIgYWx0PVwiTG9hZGVyX2JsYWNrX29uX3doaXRlXCIgc3R5bGU9XCJkaXNw bGF5Om5vbmU7XCI+XFxcbiAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwi IHZhbHVlPVwiI3tpZH1cIiBuYW1lPVwiZG9jdW1lbnRfY29sbGVjdGlvbl9pZFwi ICN7Y2hlY2tlZH0vPlxcXG4gICAgPFwvc3Bhbj5cXFxuICAgIDxsYWJlbD4je25h bWV9PFwvbGFiZWw+XFxcbiAgICA8c3BhbiBjbGFzcz1cInByaXZhY3kgI3twcml2 YWN5X3R5cGV9XCI+ICN7Y29tYmluZWRfcHJpdmFjeV90eXBlfSA8XC9zcGFuPlxc XG48XC9saT5cJyk7IjsKCgovKiBwdWJsaWMvamF2YXNjcmlwdHMvc3RhcmJveC5q cyBAIDEzNDg1MTc1NzkgKi8KCnZhciBTdGFyYm94ZXM9e29wdGlvbnM6e2J1dHRv bnM6NSxjbGFzc05hbWU6J2RlZmF1bHQnLGNvbG9yOmZhbHNlLGR1cmF0aW9uOjAu NixlZmZlY3Q6e21vdXNlb3ZlcjpmYWxzZSxtb3VzZW91dDood2luZG93LkVmZmVj dCYmRWZmZWN0Lk1vcnBoKX0saG92ZXJDb2xvcjpmYWxzZSxob3ZlckNsYXNzOido b3ZlcicsZ2hvc3RDb2xvcjpmYWxzZSxnaG9zdGluZzpmYWxzZSxpZGVudGl0eTpm YWxzZSxpbmRpY2F0b3I6ZmFsc2UsaW52ZXJzZTpmYWxzZSxsb2NrZWQ6ZmFsc2Us bWF4OjUsb25SYXRlOlByb3RvdHlwZS5lbXB0eUZ1bmN0aW9uLHJhdGVkOmZhbHNl LHJhdGVkQ2xhc3M6J3JhdGVkJyxyZXJhdGU6ZmFsc2Usb3ZlcmxheTonZGVmYXVs dF9ncmFkaWVudC5wbmcnLG92ZXJsYXlJbWFnZXM6U2NyaWJkLmNkbl9wYXRoKydp bWFnZXMvc3RhcmJveC8nLHN0YXJzOjUsdG90YWw6MH19O2V2YWwoZnVuY3Rpb24o cCxhLGMsayxlLHIpe2U9ZnVuY3Rpb24oYyl7cmV0dXJuKGM8YT8nJzplKHBhcnNl SW50KGMvYSkpKSsoKGM9YyVhKT4zNT9TdHJpbmcuZnJvbUNoYXJDb2RlKGMrMjkp OmMudG9TdHJpbmcoMzYpKX07aWYoIScnLnJlcGxhY2UoL14vLFN0cmluZykpe3do aWxlKGMtLSlyW2UoYyldPWtbY118fGUoYyk7az1bZnVuY3Rpb24oZSl7cmV0dXJu IHJbZV19XTtlPWZ1bmN0aW9uKCl7cmV0dXJuJ1xcdysnfTtjPTF9O3doaWxlKGMt

LSlpZihrW2NdKXA9cC5yZXBsYWNlKG5ldyBSZWdFeHAoJ1xcYicrZShjKSsnXFxi JywnZycpLGtbY10pO3JldHVybiBwfSgnUC4xYShuLHsycjoiMS42LjAuMyIsMnM6 IjEuOC4yIiwxUTppKCl7NS4xbygiMTIiKTs1LlEuMVI9MTtoKC9eKDJ0PzpcXC9c XC98XFwvKS8uMnUoNS45LjFwKSl7NS4xcT01LjkuMXB9MXJ7aiBhPS8xMyg/Oi1b XFx3XFxkLl0rKT9cXC4ydiguKikvOzUuMXE9KCgkJCgiMndbQ10iKS4xUyhpKGIp e28gYi5DLjJ4KGEpfSl8fHt9KS5DfHwiIikuMVQoYSwiIikrNS45LjFwfX0sMW86 aShhKXtoKCgyeSAxYlthXT09IjJ6Iil8fCg1LjFzKDFiW2FdLjJBKTw1LjFzKDVb IjFVIithXSkpKXsyQigiMVYgMkMgIithKyIgPj0gIis1WyIxVSIrYV0pO319LDFz OmkoYSl7aiBiPWEuMVQoLzF0Lip8XFwuL2csIiIpO2I9MXUoYisiMCIuMXYoNC1i LjJEKSk7byBhLjJFKCIxdCIpPi0xP2ItMTpifSwxVzooaShiKXtqIGE9bCAyRigi MkcgKFtcXFxcZC5dKykiKS4ySChiKTtvIGE/KDJJKGFbMV0pPDcpOjFYfSkoMkou MkspLFE6aShiKXtiPSQoYik7aiBjPWIuMkwoIjFZIiksYT0xdy4yTTtoKGMpe28g Y30yTntjPSIyTyIrYS4xUisrfTJQKCQoYykpO2IuMlEoIjFZIixjKTtvIGN9LDF4 OltdLDJSOmkoYSl7aCghNS4xeShhLkMpKXs1LjF4LjFjKGEpfW8gYX0sMXk6aShh KXtvIDUuMXguMVMoaShiKXtvIGIuQz09YX0pfSxHOltdLDFaOmkoYSl7NS5HLjFj KGEpfSwxZDppKCl7aCghNS5HWzBdKXs1LjIwPTIxO299NS4yMig1LkdbMF0pfSwy MjppKGMpe2ogZT1bXSxiPWMuOS4yMyxhPTUuMXkoYik7NS5HLkgoaShmKXtoKGYu OS4yMz09Yil7ZS4xYyhmKTs1Lkc9NS5HLjJTKGYpfX0ueSg1KSk7aCghYSl7aiBk PWwgMlQoKTtkLjJVPWkoKXs1LjF6KGUse0M6YixJOmQuSSxKOmQuSiwyNDpkLkN9 KX0ueSg1KTtkLkM9bi4xcStifTFyezUuMXooZSxhKX19LDF6OmkoYixhKXtiLkgo aShjKXtjLjFlPWE7Yy4yNSgpfSk7NS4xZCgpfSwxQTooaShhKXtvezFmOiIxZiIs UjoiUiIsSzooYT8iMlYiOiJLIil9fSkoMTIuMWcuMWgpLDI2OmkoYSl7aCghMTIu MWcuMWgpe2E9YS4yVyhpKGUsZCl7aiBjPVAuMlgoNSk/NTo1LnIsYj1kLjJZO2go YiE9YyYmISRBKGMuMlooIioiKSkuMzAoYikpe2UoZCl9fSl9byBhfX0pO24uMVEo KTszMS4yNygiMzI6MzMiLG4uMWQueShuKSk7aiAxVj0zNC4zNSh7MzY6aShhLGIp ezUucj0kKGEpOzUucD1iOzUuOT1QLjFhKFAuMzcobi45KSwxd1syXXx8e30pOyR3 KCJMIG0gRCB0IikuSChpKGMpezVbY109NS45W2NdfS55KDUpKTs1LlM9NS45LlN8 fCg1Lm0mJiE1LjkuMUIpO2goITUuTCl7NS5MPW4uUSg1LnIpfWgoNS45LnUmJig1 LjkudS5SfHw1LjkudS5LKSl7bi4xbygiMzgiKX1uLjFaKDUpO2gobi4yMCl7bi4x ZCgpfX0sMjg6aSgpeyR3KCJLIFIgMWYiKS5IKGkoYyl7aiBiPWMuMjkoKSxhPTVb IjFpIitiXS4zOSg1KTs1WyIxaSIrYisiMUMiXT0oYz09IksiJiYhMTIuMWcuMWgp P24uMjYoYSk6YTs1LjE0LjI3KG4uMUFbY10sNVsiMWkiK2IrIjFDIl0pfS55KDUp KTs1Lk0uMmEoImsiLHsyYjoiM2EifSl9LDJjOmkoKXskdygiUiBLIDFmIikuSChp KGEpezUuMTQuM2Iobi4xQVthXSw1WyIxaSIrYS4yOSgpKyIxQyJdKX0ueSg1KSk7 NS5NLjJhKCJrIix7MmI6IjNjIn0pfSwyNTppKCl7NS4xNT01LjFlLko7NS4xNj01 LjFlLkk7NS4xRD01LjFlLjI0OzUuVD01LjE1KjUuOS4xRTs1LjE3PTUuVC81Ljku TTs1LjFqPTUuOS5ELzUuOS5NO2goNS45LnUpezUuMmQ9NS4xOCgwKTs1LjJlPTUu MTgoNS45LkQpfWogYT17Tjp7VToiTiIsMWs6MCx6OjAsSjo1LlQrInEiLEk6NS4x NisicSJ9LDFGOntVOiIyZiIsSjo1LlQrInEiLEk6NS4xNisicSJ9LDJnOntVOiJO IiwxazowLHo6MCxKOjUuMTUrInEiLEk6NS4xNisicSJ9fTs1LnIuVigiMTMiKTs1 LjJoPWwgcygidiIse1c6NS45Lld8fCIifSkuayh7VToiMmYifSkueCg1LjE5PWwg cygidiIpLngoNS4xbD1sIHMoInYiKS54KDUuMUc9bCBzKCJ2Iix7VzoiMUUifSku ayhQLjFhKHszZDoiMmkifSxhLjFGKSkpKSk7aCg1Lm0pezUuMTkuVigibSIpfWgo NS5TKXs1LjE5LlYoIlMiKX1oKDUuOS4yail7NS4xRy54KDUuTz1sIHMoInYiLHtX OiJPIn0pLmsoYS5OKSk7aCg1LjkuMmspezUuTy5rKHtYOjUuOS4ya30pfWgoNS45 LnUpezUuTy5FPTUuTy5RKCl9NS5ZKDUuTyw1LnAsKDFiLlomJlouMUgpKX01LjFH LngoNS5CPWwgcygidiIse1c6IkIifSkuayhhLk4pKS54KGwgcygidiIpLmsoYS5O KS54KDUuMTQ9bCBzKCJ2IikuayhhLjFGKSkpO2goNS45LjFJKXs1LkIuayh7WDo1 LjkuMUl9KX1oKDUuOS51KXs1LkIuRT01LkIuUSgpfTUuOS4xRS4xdihpKGIpe2og Yzs1LjE0LngoYz1sIHMoInYiKS5rKFAuMWEoe1g6IjNlKCIrNS4xRCsiKSAxayB6 IDNmLTNnIix6OjUuMTUqYisicSJ9LGEuMmcpKSk7Yy5rKHt6OjUuMTUqYisicSJ9 KTtoKG4uMVcpe2Muayh7WDoiM2giLDNpOiIzajozay4zbC4zbShDPVwnIis1LjFE KyJcJ1wnLCAzbj1cJzNvXCcpIn0pfX0ueSg1KSk7NS5NPVtdOzUuOS5NLjF2KGko ZCl7aiBjLGI9NS45LjJsPzUuVC01LjE3KihkKzEpOjUuMTcqZDs1LjE0LngoYz1s IHMoInYiKS5rKHtVOiJOIiwxazowLHo6YisicSIsSjo1LjE3KygxMi4xZy4xaD8x OjApKyJxIixJOjUuMTYrInEifSkpO2MuRj01LjFqKmQrNS4xajs1Lk0uMWMoYyl9 LnkoNSkpOzUuWSg1LkIsNS5wKTs1LnIuMm0oNS4yaCk7NS4xSj17fTskdygicCBE IG0gMW0gdCIpLkgoaShiKXs1LnIueCg1LjFKW2JdPWwgcygiM3AiLHszcToiMmki LDNyOjUuTCsiMXQiK2IsMm46IiIrKGI9PSIxbSI/ISE1W2JdOjVbYl0pfSkpfS55 KDUpKTtoKDUuOS4xMSl7NS4xbC54KDUuMTE9bCBzKCJ2Iix7VzoiMTEifSkpOzUu

MUsoKX1oKCE1LlMpezUuMjgoKX19LDJvOmkoYSl7aCg1Lm0mJjUuOS4xQil7NS5w PSg1LnQqNS5wLTUubSkvKDUudC0xfHwxKX1qIGI9NS5tPzUudDo1LnQrKzs1LnA9 KDUucD09MCk/YTooNS5wKig1Lm0/Yi0xOmIpK2EpLyg1Lm0/YjpiKzEpfSwxSzpp KCl7NS4xMS4ybShsIDNzKDUuOS4xMSkuM3Qoe0Q6NS45LkQsdDo1LnQscDooNS5w KjEwKS4zdSgpLzEwfSkpfSwxODppKGIpe2ogYT0oNS5ULShiLzUuMWopKjUuMTcp O28gMXUoNS45LjJsP2EuM3YoKTotMSphLjN3KCkpfSxZOmkoYSxiKXtoKDUuOS51 JiY1WyIxTCIrYS5FXSl7Wi4zeC4zeShhLkUpLjN6KDVbIjFMIithLkVdKX1qIGQ9 NS4xOChiKTtoKDF3WzJdKXtqIGM9MXUoYS4zQSgieiIpKSxmPTUuMTgoYik7aChj PT1mKXtvfWogZT0oKDUuMmUtKGMtZikuMU0oKSkuMU0oKS81LjJkLjFNKCkpLjNC KDIpOzVbIjFMIithLkVdPWwgWi4xSChhLHszQzp7ejpkKyJxIn0sM0Q6e1U6IjNF IiwzRjoxLEU6YS5FfSwycDooNS45LjJwKmUpfSl9MXJ7YS5rKHt6OmQrInEifSl9 fSwzRzppKGMpe2ogYj1jLnIoKTtoKCFiLkYpe299NS4ybyhiLkYpO2goNS45LjEx KXs1LjFLKCl9aCg1LjkuMmopezUuWSg1Lk8sNS5wLCgxYi5aJiZaLjFIKSl9aCgh NS5tKXs1LjE5LlYoIm0iKX01LjFtPSEhNS5tOzUubT1iLkY7aCghNS45LjFCKXs1 LjJjKCk7NS4xOS5WKCJTIik7NS4ycShjKX1qIGE9e307JHcoInAgTCBEIG0gMW0g dCIpLkgoaShkKXtoKGQhPSJMIil7NS4xSltkXS4ybj01W2RdfWFbZF09NVtkXX0u eSg1KSk7NS45LjNIKDUucixhKTs1LnIuMU4oIjEzOm0iLGEpfSwycTppKGEpezUu WSg1LkIsNS5wLCg1LjkudSYmNS45LnUuSykpOzUuMU89MVg7aCg1LjkuMW4pezUu MWwuM0koNS45LjFuKX1oKDUuOS4xUCl7NS5CLmsoe1g6NS45LjFJfSl9NS5yLjFO KCIxMzp6Iil9LDNKOmkoYil7aiBhPWIucigpO2goIWEuRil7b301LlkoNS5CLGEu RiwoNS45LnUmJjUuOS51LlIpKTtoKCE1LjFPJiY1LjkuMW4pezUuMWwuVig1Ljku MW4pfTUuMU89MjE7aCg1LjkuMVApezUuQi5rKHtYOjUuOS4xUH0pfTUuci4xTigi MTM6M0siLHtROjUuOS5MLEQ6NS45LkQsRjphLkYsdDo1LnR9KX19KTsnLDYyLDIz MywnfHx8fHx0aGlzfHx8fG9wdGlvbnN8fHx8fHx8fGlmfGZ1bmN0aW9ufHZhcnxz ZXRTdHlsZXxuZXd8cmF0ZWR8U3RhcmJveGVzfHJldHVybnxhdmVyYWdlfHB4fGVs ZW1lbnR8RWxlbWVudHx0b3RhbHxlZmZlY3R8ZGl2fHxpbnNlcnR8YmluZHxsZWZ0 fHxjb2xvcmJhcnxzcmN8bWF4fHNjb3BlfHJhdGluZ3xidWlsZFF1ZXVlfGVhY2h8 aGVpZ2h0fHdpZHRofG1vdXNlb3V0fGlkZW50aXR5fGJ1dHRvbnN8YWJzb2x1dGV8 Z2hvc3R8T2JqZWN0fGlkZW50aWZ5fG1vdXNlb3Zlcnxsb2NrZWR8Ym94V2lkdGh8 cG9zaXRpb258YWRkQ2xhc3NOYW1lfGNsYXNzTmFtZXxiYWNrZ3JvdW5kfHNldEJh clBvc2l0aW9ufEVmZmVjdHx8aW5kaWNhdG9yfFByb3RvdHlwZXxzdGFyYm94fHN0 YXJiYXJ8c3RhcldpZHRofHN0YXJIZWlnaHR8YnV0dG9uV2lkdGh8Z2V0QmFyUG9z aXRpb258c3RhdHVzfGV4dGVuZHx3aW5kb3d8cHVzaHxwcm9jZXNzQnVpbGRRdWV1 ZXxpbWFnZUluZm98Y2xpY2t8QnJvd3NlcnxJRXxvbnxidXR0b25SYXRpbmd8dG9w fGhvdmVyfHJlcmF0ZWR8aG92ZXJDbGFzc3xyZXF1aXJlfG92ZXJsYXlJbWFnZXN8 aW1hZ2VTb3VyY2V8ZWxzZXxjb252ZXJ0VmVyc2lvblN0cmluZ3xffHBhcnNlSW50 fHRpbWVzfGFyZ3VtZW50c3xpbWFnZWNhY2hlfGdldENhY2hlZEltYWdlfGJ1aWxk QmF0Y2h8dXNlRXZlbnR8cmVyYXRlfF9jYWNoZWR8c3RhclNyY3xzdGFyc3xiYXNl fHdyYXBwZXJ8TW9ycGh8Y29sb3J8aW5wdXRzfHVwZGF0ZUluZGljYXRvcnxhY3Rp dmVFZmZlY3RffGFic3xmaXJlfGhvdmVyZWR8aG92ZXJDb2xvcnxsb2FkfGNvdW50 ZXJ8ZmluZHxyZXBsYWNlfFJFUVVJUkVEX3xTdGFyYm94fGZpeElFfGZhbHNlfGlk fHF1ZXVlQnVpbGR8YmF0Y2hMb2FkaW5nfHRydWV8Y2FjaGVCdWlsZEJhdGNofG92 ZXJsYXl8ZnVsbHNyY3xidWlsZHxjYXB0dXJlfG9ic2VydmV8ZW5hYmxlfGNhcGl0 YWxpemV8aW52b2tlfGN1cnNvcnxkaXNhYmxlfHplcm9Qb3NpdGlvbnxtYXhQb3Np dGlvbnxyZWxhdGl2ZXxzdGFyfGNvbnRhaW5lcnxoaWRkZW58Z2hvc3Rpbmd8Z2hv c3RDb2xvcnxpbnZlcnNlfHVwZGF0ZXx2YWx1ZXx1cGRhdGVBdmVyYWdlfGR1cmF0 aW9ufG9uTW91c2VvdXR8UkVRVUlSRURfUHJvdG90eXBlfFJFUVVJUkVEX1Njcmlw dGFjdWxvdXN8aHR0cHN8dGVzdHxqc3xzY3JpcHR8bWF0Y2h8dHlwZW9mfHVuZGVm aW5lZHxWZXJzaW9ufHRocm93fHJlcXVpcmVzfGxlbmd0aHxpbmRleE9mfFJlZ0V4 cHxNU0lFfGV4ZWN8cGFyc2VGbG9hdHxuYXZpZ2F0b3J8dXNlckFnZW50fHJlYWRB dHRyaWJ1dGV8Y2FsbGVlfGRvfHN0YXJib3hffHdoaWxlfHdyaXRlQXR0cmlidXRl fGNhY2hlSW1hZ2V8d2l0aG91dHxJbWFnZXxvbmxvYWR8bW91c2VsZWF2ZXx3cmFw fGlzRWxlbWVudHxyZWxhdGVkVGFyZ2V0fHNlbGVjdHxtZW1iZXJ8ZG9jdW1lbnR8 ZG9tfGxvYWRlZHxDbGFzc3xjcmVhdGV8aW5pdGlhbGl6ZXxjbG9uZXxTY3JpcHRh Y3Vsb3VzfGJpbmRBc0V2ZW50TGlzdGVuZXJ8cG9pbnRlcnxzdG9wT2JzZXJ2aW5n fGF1dG98b3ZlcmZsb3d8dXJsfG5vfHJlcGVhdHxub25lfGZpbHRlcnxwcm9naWR8 RFhJbWFnZVRyYW5zZm9ybXxNaWNyb3NvZnR8QWxwaGFJbWFnZUxvYWRlcnxzaXpp bmdNZXRob2R8c2NhbGV8aW5wdXR8dHlwZXxuYW1lfFRlbXBsYXRlfGV2YWx1YXRl fHJvdW5kfGNlaWx8Zmxvb3J8UXVldWVzfGdldHxyZW1vdmV8Z2V0U3R5bGV8dG9G aXhlZHxzdHlsZXxxdWV1ZXxlbmR8bGltaXR8b25DbGlja3xvblJhdGV8cmVtb3Zl

Q2xhc3NOYW1lfG9uTW91c2VvdmVyfGNoYW5nZWQnLnNwbGl0KCd8JyksMCx7fSkp OwoKCi8qIHB1YmxpYy9qYXZhc2NyaXB0cy9pbnRlcnN0aXRpYWwuanMgQCAxMzQ4 NTE3NTc5ICovCnZhciBsenlfanNfcHVibGljX2phdmFzY3JpcHRzX2ludGVyc3Rp dGlhbD0iXG4oZnVuY3Rpb24oKXtmdW5jdGlvbiBmKGEpe3Rocm93IGE7fXZhciBp PXRydWUsaj1udWxsLGs9ZmFsc2UscCxxPXRoaXM7ZnVuY3Rpb24gYWEoYSl7YT1h LnNwbGl0KFwiLlwiKTtmb3IodmFyIGI9cSxjO2M9YS5zaGlmdCgpOylpZihiW2Nd IT1qKWI9YltjXTtlbHNlIHJldHVybiBqO3JldHVybiBifWZ1bmN0aW9uIGJhKCl7 fVxuZnVuY3Rpb24gY2EoYSl7dmFyIGI9dHlwZW9mIGE7aWYoYj09XCJvYmplY3Rc IilpZihhKXtpZihhIGluc3RhbmNlb2YgQXJyYXl8fCEoYSBpbnN0YW5jZW9mIE9i amVjdCkmJk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhKT09XCJbb2Jq ZWN0IEFycmF5XVwifHx0eXBlb2YgYS5sZW5ndGg9PVwibnVtYmVyXCImJnR5cGVv ZiBhLnNwbGljZSE9XCJ1bmRlZmluZWRcIiYmdHlwZW9mIGEucHJvcGVydHlJc0Vu dW1lcmFibGUhPVwidW5kZWZpbmVkXCImJiFhLnByb3BlcnR5SXNFbnVtZXJhYmxl KFwic3BsaWNlXCIpKXJldHVyblwiYXJyYXlcIjtpZighKGEgaW5zdGFuY2VvZiBP YmplY3QpJiYoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGEpPT1cIltv YmplY3QgRnVuY3Rpb25dXCJ8fHR5cGVvZiBhLmNhbGwhPVwidW5kZWZpbmVkXCIm JnR5cGVvZiBhLnByb3BlcnR5SXNFbnVtZXJhYmxlIT1cInVuZGVmaW5lZFwiJiYh YS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcImNhbGxcIikpKXJldHVyblwiZnVuY3Rp b25cIn1lbHNlIHJldHVyblwibnVsbFwiO2Vsc2UgaWYoYj09XCJmdW5jdGlvblwi JiZ0eXBlb2YgYS5jYWxsPT1cInVuZGVmaW5lZFwiKXJldHVyblwib2JqZWN0XCI7 cmV0dXJuIGJ9ZnVuY3Rpb24gZGEoYSl7cmV0dXJuIGNhKGEpPT1cImFycmF5XCJ9 ZnVuY3Rpb24gZWEoYSl7dmFyIGI9Y2EoYSk7cmV0dXJuIGI9PVwiYXJyYXlcInx8 Yj09XCJvYmplY3RcIiYmdHlwZW9mIGEubGVuZ3RoPT1cIm51bWJlclwifWZ1bmN0 aW9uIHMoYSl7cmV0dXJuIHR5cGVvZiBhPT1cInN0cmluZ1wifWZ1bmN0aW9uIGZh KGEpe3JldHVybiBjYShhKT09XCJmdW5jdGlvblwifWZ1bmN0aW9uIGdhKGEpe2E9 Y2EoYSk7cmV0dXJuIGE9PVwib2JqZWN0XCJ8fGE9PVwiYXJyYXlcInx8YT09XCJm dW5jdGlvblwifWZ1bmN0aW9uIGhhKGEpe3JldHVybiBhW2lhXXx8KGFbaWFdPSsr amEpfXZhciBpYT1cImNsb3N1cmVfdWlkX1wiK01hdGguZmxvb3IoTWF0aC5yYW5k b20oKSoyMTQ3NDgzNjQ4KS50b1N0cmluZygzNiksamE9MDtmdW5jdGlvbiBrYShh KXtyZXR1cm4gYS5jYWxsLmFwcGx5KGEuYmluZCxhcmd1bWVudHMpfWZ1bmN0aW9u IGxhKGEsYil7dmFyIGM9Ynx8cTtpZihhcmd1bWVudHMubGVuZ3RoPjIpe3ZhciBk PUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywyKTtyZXR1cm4g ZnVuY3Rpb24oKXt2YXIgZz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1 bWVudHMpO0FycmF5LnByb3RvdHlwZS51bnNoaWZ0LmFwcGx5KGcsZCk7cmV0dXJu IGEuYXBwbHkoYyxnKX19ZWxzZSByZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYS5h cHBseShjLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIHQoKXt0PUZ1bmN0aW9uLnByb3Rv dHlwZS5iaW5kJiZGdW5jdGlvbi5wcm90b3R5cGUuYmluZC50b1N0cmluZygpLmlu ZGV4T2YoXCJuYXRpdmUgY29kZVwiKSE9LTE/a2E6bGE7cmV0dXJuIHQuYXBwbHko aixhcmd1bWVudHMpfVxuZnVuY3Rpb24gbWEoYSl7dmFyIGI9QXJyYXkucHJvdG90 eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe3Zh ciBjPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7Yy51bnNo aWZ0LmFwcGx5KGMsYik7cmV0dXJuIGEuYXBwbHkodGhpcyxjKX19dmFyIHU9RGF0 ZS5ub3d8fGZ1bmN0aW9uKCl7cmV0dXJuK25ldyBEYXRlfTtmdW5jdGlvbiBuYShh KXt2YXIgYj17fSxjO2ZvcihjIGluIGIpe3ZhciBkPShcIlwiK2JbY10pLnJlcGxh Y2UoL1xcJC9nLFwiJCQkJFwiKTthPWEucmVwbGFjZShSZWdFeHAoXCJcXFxce1xc XFwkXCIrYytcIlxcXFx9XCIsXCJnaVwiKSxkKX1yZXR1cm4gYX1cbmZ1bmN0aW9u IHYoYSxiKXt2YXIgYz1hLnNwbGl0KFwiLlwiKSxkPXE7IShjWzBdaW4gZCkmJmQu ZXhlY1NjcmlwdCYmZC5leGVjU2NyaXB0KFwidmFyIFwiK2NbMF0pO2Zvcih2YXIg ZztjLmxlbmd0aCYmKGc9Yy5zaGlmdCgpKTspaWYoIWMubGVuZ3RoJiZiIT09dW5k ZWZpbmVkKWRbZ109YjtlbHNlIGQ9ZFtnXT9kW2ddOmRbZ109e319ZnVuY3Rpb24g dyhhLGIpe2Z1bmN0aW9uIGMoKXt9Yy5wcm90b3R5cGU9Yi5wcm90b3R5cGU7YS5x PWIucHJvdG90eXBlO2EucHJvdG90eXBlPW5ldyBjfTtmdW5jdGlvbiBwYShhKXt0 aGlzLnN0YWNrPUVycm9yKCkuc3RhY2t8fFwiXCI7aWYoYSl0aGlzLm1lc3NhZ2U9 U3RyaW5nKGEpfXcocGEsRXJyb3IpO3BhLnByb3RvdHlwZS5uYW1lPVwiQ3VzdG9t RXJyb3JcIjtmdW5jdGlvbiBxYShhKXtmb3IodmFyIGI9MTtiPGFyZ3VtZW50cy5s ZW5ndGg7YisrKXt2YXIgYz1TdHJpbmcoYXJndW1lbnRzW2JdKS5yZXBsYWNlKC9c XCQvZyxcIiQkJCRcIik7YT1hLnJlcGxhY2UoL1xcJXMvLGMpfXJldHVybiBhfXZh ciByYT0vXlthLXpBLVowLTlcXC1fLiF+KlwnKCldKiQvO2Z1bmN0aW9uIHNhKGEp e2E9U3RyaW5nKGEpO2lmKCFyYS50ZXN0KGEpKXJldHVybiBlbmNvZGVVUklDb21w b25lbnQoYSk7cmV0dXJuIGF9ZnVuY3Rpb24geChhKXtpZighdGEudGVzdChhKSly

ZXR1cm4gYTtpZihhLmluZGV4T2YoXCImXCIpIT0tMSlhPWEucmVwbGFjZSh1YSxc IiZhbXA7XCIpO2lmKGEuaW5kZXhPZihcIjxcIikhPS0xKWE9YS5yZXBsYWNlKHZh LFwiJmx0O1wiKTtpZihhLmluZGV4T2YoXCI+XCIpIT0tMSlhPWEucmVwbGFjZSh3 YSxcIiZndDtcIik7aWYoYS5pbmRleE9mKFwnXCJcJykhPS0xKWE9YS5yZXBsYWNl KHhhLFwiJnF1b3Q7XCIpO3JldHVybiBhfVxudmFyIHVhPS8mL2csdmE9LzxcL2cs d2E9Lz4vZyx4YT0vXFxcIi9nLHRhPS9bJjw+XFxcIl0vO2Z1bmN0aW9uIHkoYSl7 YT1TdHJpbmcoYSk7dmFyIGI9YS5pbmRleE9mKFwiLlwiKTtpZihiPT0tMSliPWEu bGVuZ3RoO3JldHVybiBBcnJheShNYXRoLm1heCgwLDItYikrMSkuam9pbihcIjBc IikrYX1cbmZ1bmN0aW9uIHlhKGEsYil7Zm9yKHZhciBjPTAsZD1TdHJpbmcoYSku cmVwbGFjZSgvXltcXHNcXHhhMF0rfFtcXHNcXHhhMF0rJC9nLFwiXCIpLnNwbGl0 KFwiLlwiKSxnPVN0cmluZyhiKS5yZXBsYWNlKC9eW1xcc1xceGEwXSt8W1xcc1xc eGEwXSskL2csXCJcIikuc3BsaXQoXCIuXCIpLGU9TWF0aC5tYXgoZC5sZW5ndGgs Zy5sZW5ndGgpLGg9MDtjPT0wJiZoPGU7aCsrKXt2YXIgbD1kW2hdfHxcIlwiLG09 Z1toXXx8XCJcIixuPVJlZ0V4cChcIihcXFxcZCopKFxcXFxEKilcIixcImdcIiks b2E9UmVnRXhwKFwiKFxcXFxkKikoXFxcXEQqKVwiLFwiZ1wiKTtkb3t2YXIgcj1u LmV4ZWMobCl8fFtcIlwiLFwiXCIsXCJcIl0sbz1vYS5leGVjKG0pfHxbXCJcIixc IlwiLFwiXCJdO2lmKHJbMF0ubGVuZ3RoPT0wJiZvWzBdLmxlbmd0aD09MClicmVh aztjPXphKHJbMV0ubGVuZ3RoPT0wPzA6cGFyc2VJbnQoclsxXSwxMCksb1sxXS5s ZW5ndGg9PTA/MDpwYXJzZUludChvWzFdLDEwKSl8fHphKHJbMl0ubGVuZ3RoPT0w LG9bMl0ubGVuZ3RoPT0wKXx8emEoclsyXSxvWzJdKX13aGlsZShjPT0wKX1yZXR1 cm4gY31mdW5jdGlvbiB6YShhLGIpe2lmKGE8YilyZXR1cm4tMTtlbHNlIGlmKGE+ YilyZXR1cm4gMTtyZXR1cm4gMH07ZnVuY3Rpb24gQWEoYSxiKXtiLnVuc2hpZnQo YSk7cGEuY2FsbCh0aGlzLHFhLmFwcGx5KGosYikpO2Iuc2hpZnQoKTt0aGlzLmE9 YX13KEFhLHBhKTtBYS5wcm90b3R5cGUubmFtZT1cIkFzc2VydGlvbkVycm9yXCI7 ZnVuY3Rpb24gQmEoYSxiKXtpZighYSl7dmFyIGM9QXJyYXkucHJvdG90eXBlLnNs aWNlLmNhbGwoYXJndW1lbnRzLDIpLGQ9XCJBc3NlcnRpb24gZmFpbGVkXCI7aWYo Yil7ZCs9XCI6IFwiK2I7dmFyIGc9Y31mKG5ldyBBYShcIlwiK2QsZ3x8W10pKX19 ZnVuY3Rpb24gQ2EoYSl7ZihuZXcgQWEoXCJGYWlsdXJlXCIrKGE/XCI6IFwiK2E6 XCJcIiksQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpKSl9 O3ZhciB6PUFycmF5LnByb3RvdHlwZSxEYT16LmluZGV4T2Y/ZnVuY3Rpb24oYSxi LGMpe0JhKGEubGVuZ3RoIT1qKTtyZXR1cm4gei5pbmRleE9mLmNhbGwoYSxiLGMp fTpmdW5jdGlvbihhLGIsYyl7Yz1jPT1qPzA6YzwwP01hdGgubWF4KDAsYS5sZW5n dGgrYyk6YztpZihzKGEpKXtpZighcyhiKXx8Yi5sZW5ndGghPTEpcmV0dXJuLTE7 cmV0dXJuIGEuaW5kZXhPZihiLGMpfWZvcihjPWM7YzxhLmxlbmd0aDtjKyspaWYo YyBpbiBhJiZhW2NdPT09YilyZXR1cm4gYztyZXR1cm4tMX0sRWE9ei5mb3JFYWNo P2Z1bmN0aW9uKGEsYixjKXtCYShhLmxlbmd0aCE9aik7ei5mb3JFYWNoLmNhbGwo YSxiLGMpfTpmdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPWEubGVuZ3RoLGc9cyhh KT9hLnNwbGl0KFwiXCIpOmEsZT0wO2U8ZDtlKyspZSBpbiBnJiZiLmNhbGwoYyxn W2VdLGUsYSl9O2Z1bmN0aW9uIEZhKGEsYil7dmFyIGM9RGEoYSxiKSxkO2lmKGQ9 Yz49MCl7QmEoYS5sZW5ndGghPWopO3ouc3BsaWNlLmNhbGwoYSxjLDEpfXJldHVy biBkfWZ1bmN0aW9uIEdhKCl7cmV0dXJuIHouY29uY2F0LmFwcGx5KHosYXJndW1l bnRzKX1mdW5jdGlvbiBIYShhKXtpZihkYShhKSlyZXR1cm4gR2EoYSk7ZWxzZXtm b3IodmFyIGI9W10sYz0wLGQ9YS5sZW5ndGg7YzxkO2MrKyliW2NdPWFbY107cmV0 dXJuIGJ9fWZ1bmN0aW9uIElhKGEpe0JhKGEubGVuZ3RoIT1qKTt6LnNwbGljZS5h cHBseShhLEphKGFyZ3VtZW50cywxKSl9ZnVuY3Rpb24gSmEoYSxiLGMpe0JhKGEu bGVuZ3RoIT1qKTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDw9Mj96LnNsaWNlLmNh bGwoYSxiKTp6LnNsaWNlLmNhbGwoYSxiLGMpfTt2YXIgS2EsTGEsTWEsTmEsT2Es UGEsUWE7ZnVuY3Rpb24gUmEoKXtyZXR1cm4gcS5uYXZpZ2F0b3I/cS5uYXZpZ2F0 b3IudXNlckFnZW50Omp9ZnVuY3Rpb24gU2EoKXtyZXR1cm4gcS5uYXZpZ2F0b3J9 T2E9TmE9TWE9TGE9S2E9azt2YXIgVGE7aWYoVGE9UmEoKSl7dmFyIFVhPVNhKCk7 S2E9VGEuaW5kZXhPZihcIk9wZXJhXCIpPT0wO0xhPSFLYSYmVGEuaW5kZXhPZihc Ik1TSUVcIikhPS0xO05hPShNYT0hS2EmJlRhLmluZGV4T2YoXCJXZWJLaXRcIikh PS0xKSYmVGEuaW5kZXhPZihcIk1vYmlsZVwiKSE9LTE7T2E9IUthJiYhTWEmJlVh LnByb2R1Y3Q9PVwiR2Vja29cIn12YXIgQT1LYSxCPUxhLFZhPU9hLEM9TWEsV2E9 TmEsWGEsWWE9U2EoKTtYYT1ZYSYmWWEucGxhdGZvcm18fFwiXCI7UGE9WGEuaW5k ZXhPZihcIk1hY1wiKSE9LTE7UWE9WGEuaW5kZXhPZihcIldpblwiKSE9LTE7dmFy IFphPSEhU2EoKSYmKFNhKCkuYXBwVmVyc2lvbnx8XCJcIikuaW5kZXhPZihcIlgx MVwiKSE9LTEsJGE7YTp7dmFyIGFiPVwiXCIsYmI7aWYoQSYmcS5vcGVyYSl7dmFy IGNiPXEub3BlcmEudmVyc2lvbjthYj10eXBlb2YgY2I9PVwiZnVuY3Rpb25cIj9j YigpOmNifWVsc2V7aWYoVmEpYmI9L3J2XFw6KFteXFwpO10rKShcXCl8OykvO2Vs

c2UgaWYoQiliYj0vTVNJRVxccysoW15cXCk7XSspKFxcKXw7KS87ZWxzZSBpZihD KWJiPS9XZWJLaXRcXC8oXFxTKykvO2lmKGJiKXt2YXIgZGI9YmIuZXhlYyhSYSgp KTthYj1kYj9kYlsxXTpcIlwifX1pZihCKXt2YXIgZWIsZmI9cS5kb2N1bWVudDtl Yj1mYj9mYi5kb2N1bWVudE1vZGU6dW5kZWZpbmVkO2lmKGViPnBhcnNlRmxvYXQo YWIpKXskYT1TdHJpbmcoZWIpO2JyZWFrIGF9fSRhPWFifXZhciBnYj17fTtmdW5j dGlvbiBEKGEpe3JldHVybiBnYlthXXx8KGdiW2FdPXlhKCRhLGEpPj0wKX07dmFy IGhiLGliPSFCfHxEKFwiOVwiKTtCJiZEKFwiOVwiKTtmdW5jdGlvbiBqYihhKXty ZXR1cm4oYT1hLmNsYXNzTmFtZSkmJnR5cGVvZiBhLnNwbGl0PT1cImZ1bmN0aW9u XCI/YS5zcGxpdCgvXFxzKy8pOltdfWZ1bmN0aW9uIGtiKGEpe3ZhciBiPWpiKGEp LGM7Yz1KYShhcmd1bWVudHMsMSk7Zm9yKHZhciBkPTAsZz0wO2c8Yy5sZW5ndGg7 ZysrKWlmKCEoRGEoYixjW2ddKT49MCkpe2IucHVzaChjW2ddKTtkKyt9Yz1kPT1j Lmxlbmd0aDthLmNsYXNzTmFtZT1iLmpvaW4oXCIgXCIpO3JldHVybiBjfWZ1bmN0 aW9uIGxiKGEpe2Zvcih2YXIgYj1qYihhKSxjPUphKGFyZ3VtZW50cywxKSxkPTAs Zz0wO2c8Yi5sZW5ndGg7ZysrKWlmKERhKGMsYltnXSk+PTApe0lhKGIsZy0tLDEp O2QrK31hLmNsYXNzTmFtZT1iLmpvaW4oXCIgXCIpfTtmdW5jdGlvbiBFKGEsYil7 dGhpcy54PWEhPT11bmRlZmluZWQ/YTowO3RoaXMueT1iIT09dW5kZWZpbmVkP2I6 MH1FLnByb3RvdHlwZS5KPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBFKHRoaXMueCx0 aGlzLnkpfTtFLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVyblwi KFwiK3RoaXMueCtcIiwgXCIrdGhpcy55K1wiKVwifTtmdW5jdGlvbiBHKGEsYil7 dGhpcy53aWR0aD1hO3RoaXMuaGVpZ2h0PWJ9Ry5wcm90b3R5cGUuSj1mdW5jdGlv bigpe3JldHVybiBuZXcgRyh0aGlzLndpZHRoLHRoaXMuaGVpZ2h0KX07Ry5wcm90 b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm5cIihcIit0aGlzLndpZHRo K1wiIHggXCIrdGhpcy5oZWlnaHQrXCIpXCJ9O0cucHJvdG90eXBlLmZsb29yPWZ1 bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMu aGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtHLnBy b3RvdHlwZS5yb3VuZD1mdW5jdGlvbigpe3RoaXMud2lkdGg9TWF0aC5yb3VuZCh0 aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLnJvdW5kKHRoaXMuaGVpZ2h0KTty ZXR1cm4gdGhpc307ZnVuY3Rpb24gbWIoYSxiLGMpe2Zvcih2YXIgZCBpbiBhKWIu Y2FsbChjLGFbZF0sZCxhKX1mdW5jdGlvbiBuYihhKXt2YXIgYj1bXSxjPTAsZDtm b3IoZCBpbiBhKWJbYysrXT1hW2RdO3JldHVybiBifWZ1bmN0aW9uIG9iKGEpe3Zh ciBiPVtdLGM9MCxkO2ZvcihkIGluIGEpYltjKytdPWQ7cmV0dXJuIGJ9dmFyIHBi PVtcImNvbnN0cnVjdG9yXCIsXCJoYXNPd25Qcm9wZXJ0eVwiLFwiaXNQcm90b3R5 cGVPZlwiLFwicHJvcGVydHlJc0VudW1lcmFibGVcIixcInRvTG9jYWxlU3RyaW5n XCIsXCJ0b1N0cmluZ1wiLFwidmFsdWVPZlwiXTtmdW5jdGlvbiBxYihhKXtmb3Io dmFyIGIsYyxkPTE7ZDxhcmd1bWVudHMubGVuZ3RoO2QrKyl7Yz1hcmd1bWVudHNb ZF07Zm9yKGIgaW4gYylhW2JdPWNbYl07Zm9yKHZhciBnPTA7ZzxwYi5sZW5ndGg7 ZysrKXtiPXBiW2ddO2lmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHku Y2FsbChjLGIpKWFbYl09Y1tiXX19fTtmdW5jdGlvbiBIKGEpe3JldHVybiBhP25l dyByYihJKGEpKTpoYnx8KGhiPW5ldyByYil9ZnVuY3Rpb24gc2IoYSl7cmV0dXJu IHMoYSk/ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYSk6YX1mdW5jdGlvbiB0Yihh LGIpe21iKGIsZnVuY3Rpb24oYyxkKXtpZihkPT1cInN0eWxlXCIpYS5zdHlsZS5j c3NUZXh0PWM7ZWxzZSBpZihkPT1cImNsYXNzXCIpYS5jbGFzc05hbWU9YztlbHNl IGlmKGQ9PVwiZm9yXCIpYS5odG1sRm9yPWM7ZWxzZSBpZihkIGluIHViKWEuc2V0 QXR0cmlidXRlKHViW2RdLGMpO2Vsc2UgYVtkXT1jfSl9dmFyIHViPXtjZWxscGFk ZGluZzpcImNlbGxQYWRkaW5nXCIsY2VsbHNwYWNpbmc6XCJjZWxsU3BhY2luZ1wi LGNvbHNwYW46XCJjb2xTcGFuXCIscm93c3BhbjpcInJvd1NwYW5cIix2YWxpZ246 XCJ2QWxpZ25cIixoZWlnaHQ6XCJoZWlnaHRcIix3aWR0aDpcIndpZHRoXCIsdXNl bWFwOlwidXNlTWFwXCIsZnJhbWVib3JkZXI6XCJmcmFtZUJvcmRlclwiLHR5cGU6 XCJ0eXBlXCJ9O2Z1bmN0aW9uIHZiKGEpe3ZhciBiPWEuZG9jdW1lbnQ7aWYoQyYm IUQoXCI1MDBcIikmJiFXYSl7aWYodHlwZW9mIGEuaW5uZXJIZWlnaHQ9PVwidW5k ZWZpbmVkXCIpYT13aW5kb3c7Yj1hLmlubmVySGVpZ2h0O3ZhciBjPWEuZG9jdW1l bnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbEhlaWdodDtpZihhPT1hLnRvcClpZihj PGIpYi09MTU7cmV0dXJuIG5ldyBHKGEuaW5uZXJXaWR0aCxiKX1hPWIuY29tcGF0 TW9kZT09XCJDU1MxQ29tcGF0XCI7aWYoQSYmIUQoXCI5LjUwXCIpKWE9azthPWE/ Yi5kb2N1bWVudEVsZW1lbnQ6Yi5ib2R5O3JldHVybiBuZXcgRyhhLmNsaWVudFdp ZHRoLGEuY2xpZW50SGVpZ2h0KX1mdW5jdGlvbiB3YihhKXtyZXR1cm4gYT9hLnBh cmVudFdpbmRvd3x8YS5kZWZhdWx0Vmlldzp3aW5kb3d9ZnVuY3Rpb24geGIoKXty ZXR1cm4geWIoZG9jdW1lbnQsYXJndW1lbnRzKX1cbmZ1bmN0aW9uIHliKGEsYil7 dmFyIGM9YlswXSxkPWJbMV07aWYoIWliJiZkJiYoZC5uYW1lfHxkLnR5cGUpKXtj PVtcIjxcIixjXTtkLm5hbWUmJmMucHVzaChcJyBuYW1lPVwiXCcseChkLm5hbWUp

LFwnXCJcJyk7aWYoZC50eXBlKXtjLnB1c2goXCcgdHlwZT1cIlwnLHgoZC50eXBl KSxcJ1wiXCcpO3ZhciBnPXt9O3FiKGcsZCk7ZD1nO2RlbGV0ZSBkLnR5cGV9Yy5w dXNoKFwiPlwiKTtjPWMuam9pbihcIlwiKX1jPWEuY3JlYXRlRWxlbWVudChjKTtp ZihkKWlmKHMoZCkpYy5jbGFzc05hbWU9ZDtlbHNlIGRhKGQpP2tiLmFwcGx5KGos W2NdLmNvbmNhdChkKSk6dGIoYyxkKTtiLmxlbmd0aD4yJiZ6YihhLGMsYik7cmV0 dXJuIGN9XG5mdW5jdGlvbiB6YihhLGIsYyl7ZnVuY3Rpb24gZChoKXtpZihoKWIu YXBwZW5kQ2hpbGQocyhoKT9hLmNyZWF0ZVRleHROb2RlKGgpOmgpfWZvcih2YXIg Zz0yO2c8Yy5sZW5ndGg7ZysrKXt2YXIgZT1jW2ddO2VhKGUpJiYhKGdhKGUpJiZl Lm5vZGVUeXBlPjApP0VhKEFiKGUpP0hhKGUpOmUsZCk6ZChlKX19ZnVuY3Rpb24g QmIoYSl7YSYmYS5wYXJlbnROb2RlJiZhLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQo YSl9ZnVuY3Rpb24gSShhKXtyZXR1cm4gYS5ub2RlVHlwZT09OT9hOmEub3duZXJE b2N1bWVudHx8YS5kb2N1bWVudH1mdW5jdGlvbiBBYihhKXtpZihhJiZ0eXBlb2Yg YS5sZW5ndGg9PVwibnVtYmVyXCIpaWYoZ2EoYSkpcmV0dXJuIHR5cGVvZiBhLml0 ZW09PVwiZnVuY3Rpb25cInx8dHlwZW9mIGEuaXRlbT09XCJzdHJpbmdcIjtlbHNl IGlmKGZhKGEpKXJldHVybiB0eXBlb2YgYS5pdGVtPT1cImZ1bmN0aW9uXCI7cmV0 dXJuIGt9XG5mdW5jdGlvbiByYihhKXt0aGlzLmE9YXx8cS5kb2N1bWVudHx8ZG9j dW1lbnR9cD1yYi5wcm90b3R5cGU7cC52PUg7ZnVuY3Rpb24gQ2IoYSl7cmV0dXJu IGEuYX1wLmY9ZnVuY3Rpb24oYSl7cmV0dXJuIHMoYSk/dGhpcy5hLmdldEVsZW1l bnRCeUlkKGEpOmF9O3AudD1mdW5jdGlvbigpe3JldHVybiB5Yih0aGlzLmEsYXJn dW1lbnRzKX07cC5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlz LmEuY3JlYXRlRWxlbWVudChhKX07cC5jcmVhdGVUZXh0Tm9kZT1mdW5jdGlvbihh KXtyZXR1cm4gdGhpcy5hLmNyZWF0ZVRleHROb2RlKGEpfTtmdW5jdGlvbiBEYihh KXthPSFDJiZhLmEuY29tcGF0TW9kZT09XCJDU1MxQ29tcGF0XCI/YS5hLmRvY3Vt ZW50RWxlbWVudDphLmEuYm9keTtyZXR1cm4gbmV3IEUoYS5zY3JvbGxMZWZ0LGEu c2Nyb2xsVG9wKX1wLmFwcGVuZENoaWxkPWZ1bmN0aW9uKGEsYil7YS5hcHBlbmRD aGlsZChiKX07dmFyIEViO3ZhciBGYj0oRWI9XCJTY3JpcHRFbmdpbmVcImluIHEm JnEuU2NyaXB0RW5naW5lKCk9PVwiSlNjcmlwdFwiKT9xLlNjcmlwdEVuZ2luZU1h am9yVmVyc2lvbigpK1wiLlwiK3EuU2NyaXB0RW5naW5lTWlub3JWZXJzaW9uKCkr XCIuXCIrcS5TY3JpcHRFbmdpbmVCdWlsZFZlcnNpb24oKTpcIjBcIjtmdW5jdGlv biBHYihhKXtyZXR1cm5cJ1xcdDxkaXYgaWQ9XCJcJyt4KFN0cmluZyhhLnpiKSkr XCdcIj48ZGl2IGlkPVwiXCcreChTdHJpbmcoYS54YikpK1wnXCI+PFwvZGl2Pjxk aXYgaWQ9XCJcJyt4KFN0cmluZyhhLnliKSkrXCdcIj48XC9kaXY+PFwvZGl2Plwn fTtmdW5jdGlvbiBIYihhKXtpZih0eXBlb2YgYS5hYT09XCJmdW5jdGlvblwiKXJl dHVybiBhLmFhKCk7aWYocyhhKSlyZXR1cm4gYS5zcGxpdChcIlwiKTtpZihlYShh KSl7Zm9yKHZhciBiPVtdLGM9YS5sZW5ndGgsZD0wO2Q8YztkKyspYi5wdXNoKGFb ZF0pO3JldHVybiBifXJldHVybiBuYihhKX1mdW5jdGlvbiBJYihhLGIsYyl7aWYo dHlwZW9mIGEuZm9yRWFjaD09XCJmdW5jdGlvblwiKWEuZm9yRWFjaChiLGMpO2Vs c2UgaWYoZWEoYSl8fHMoYSkpRWEoYSxiLGMpO2Vsc2V7dmFyIGQ7aWYodHlwZW9m IGEubmE9PVwiZnVuY3Rpb25cIilkPWEubmEoKTtlbHNlIGlmKHR5cGVvZiBhLmFh IT1cImZ1bmN0aW9uXCIpaWYoZWEoYSl8fHMoYSkpe2Q9W107Zm9yKHZhciBnPWEu bGVuZ3RoLGU9MDtlPGc7ZSsrKWQucHVzaChlKTtkPWR9ZWxzZSBkPW9iKGEpO2Vs c2UgZD12b2lkIDA7Zz1IYihhKTtlPWcubGVuZ3RoO2Zvcih2YXIgaD0wO2g8ZTto KyspYi5jYWxsKGMsZ1toXSxkJiZkW2hdLGEpfX07ZnVuY3Rpb24gSmIoYSl7dGhp cy5iPXt9O3RoaXMuYT1bXTt2YXIgYj1hcmd1bWVudHMubGVuZ3RoO2lmKGI+MSl7 aWYoYiUyKWYoRXJyb3IoXCJVbmV2ZW4gbnVtYmVyIG9mIGFyZ3VtZW50c1wiKSk7 Zm9yKHZhciBjPTA7YzxiO2MrPTIpdGhpcy5kYShhcmd1bWVudHNbY10sYXJndW1l bnRzW2MrMV0pfWVsc2UgaWYoYSl7aWYoYSBpbnN0YW5jZW9mIEpiKXtiPWEubmEo KTtjPWEuYWEoKX1lbHNle2I9b2IoYSk7Yz1uYihhKX1mb3IodmFyIGQ9MDtkPGIu bGVuZ3RoO2QrKyl0aGlzLmRhKGJbZF0sY1tkXSl9fXA9SmIucHJvdG90eXBlO3Au dT0wO3AuJGI9MDtwLmFhPWZ1bmN0aW9uKCl7S2IodGhpcyk7Zm9yKHZhciBhPVtd LGI9MDtiPHRoaXMuYS5sZW5ndGg7YisrKWEucHVzaCh0aGlzLmJbdGhpcy5hW2Jd XSk7cmV0dXJuIGF9O3AubmE9ZnVuY3Rpb24oKXtLYih0aGlzKTtyZXR1cm4gdGhp cy5hLmNvbmNhdCgpfTtmdW5jdGlvbiBLYihhKXtpZihhLnUhPWEuYS5sZW5ndGgp e2Zvcih2YXIgYj0wLGM9MDtiPGEuYS5sZW5ndGg7KXt2YXIgZD1hLmFbYl07aWYo T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEuYixkKSlhLmFb YysrXT1kO2IrK31hLmEubGVuZ3RoPWN9aWYoYS51IT1hLmEubGVuZ3RoKXt2YXIg Zz17fTtmb3IoYz1iPTA7YjxhLmEubGVuZ3RoOyl7ZD1hLmFbYl07aWYoIU9iamVj dC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChnLGQpKXthLmFbYysrXT1k O2dbZF09MX1iKyt9YS5hLmxlbmd0aD1jfX1mdW5jdGlvbiBMYihhLGIpe2lmKE9i amVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLmIsYikpcmV0dXJu

IGEuYltiXX1wLmRhPWZ1bmN0aW9uKGEsYil7aWYoIU9iamVjdC5wcm90b3R5cGUu aGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLmIsYSkpe3RoaXMudSsrO3RoaXMuYS5w dXNoKGEpO3RoaXMuJGIrK310aGlzLmJbYV09Yn07cC5KPWZ1bmN0aW9uKCl7cmV0 dXJuIG5ldyBKYih0aGlzKX07ZnVuY3Rpb24gTWIoYSl7cmV0dXJuIE5iKGF8fGFy Z3VtZW50cy5jYWxsZWUuY2FsbGVyLFtdKX1cbmZ1bmN0aW9uIE5iKGEsYil7dmFy IGM9W107aWYoRGEoYixhKT49MCljLnB1c2goXCJbLi4uY2lyY3VsYXIgcmVmZXJl bmNlLi4uXVwiKTtlbHNlIGlmKGEmJmIubGVuZ3RoPDUwKXtjLnB1c2goT2IoYSkr XCIoXCIpO2Zvcih2YXIgZD1hLmFyZ3VtZW50cyxnPTA7ZzxkLmxlbmd0aDtnKysp e2c+MCYmYy5wdXNoKFwiLCBcIik7dmFyIGU7ZT1kW2ddO3N3aXRjaCh0eXBlb2Yg ZSl7Y2FzZVwib2JqZWN0XCI6ZT1lP1wib2JqZWN0XCI6XCJudWxsXCI7YnJlYWs7 Y2FzZVwic3RyaW5nXCI6ZT1lO2JyZWFrO2Nhc2VcIm51bWJlclwiOmU9U3RyaW5n KGUpO2JyZWFrO2Nhc2VcImJvb2xlYW5cIjplPWU/XCJ0cnVlXCI6XCJmYWxzZVwi O2JyZWFrO2Nhc2VcImZ1bmN0aW9uXCI6ZT0oZT1PYihlKSk/ZTpcIltmbl1cIjti cmVhaztkZWZhdWx0OmU9dHlwZW9mIGV9aWYoZS5sZW5ndGg+NDApZT1lLnN1YnN0 cigwLDQwKStcIi4uLlwiO2MucHVzaChlKX1iLnB1c2goYSk7Yy5wdXNoKFwiKVxc blwiKTt0cnl7Yy5wdXNoKE5iKGEuY2FsbGVyLGIpKX1jYXRjaChoKXtjLnB1c2go XCJbZXhjZXB0aW9uIHRyeWluZyB0byBnZXQgY2FsbGVyXVxcblwiKX19ZWxzZSBh P2MucHVzaChcIlsuLi5sb25nIHN0YWNrLi4uXVwiKTpjLnB1c2goXCJbZW5kXVwi KTtyZXR1cm4gYy5qb2luKFwiXCIpfWZ1bmN0aW9uIE9iKGEpe2E9U3RyaW5nKGEp O2lmKCFQYlthXSl7dmFyIGI9L2Z1bmN0aW9uIChbXlxcKF0rKS8uZXhlYyhhKTtQ YlthXT1iP2JbMV06XCJbQW5vbnltb3VzXVwifXJldHVybiBQYlthXX12YXIgUGI9 e307ZnVuY3Rpb24gUWIoYSxiLGMsZCxnKXt0aGlzLk49dHlwZW9mIGc9PVwibnVt YmVyXCI/ZzpSYisrO3RoaXMuaz1kfHx1KCk7dGhpcy5jPWE7dGhpcy5lPWI7dGhp cy5wPWM7ZGVsZXRlIHRoaXMuYjtkZWxldGUgdGhpcy5hfVFiLnByb3RvdHlwZS5O PTA7UWIucHJvdG90eXBlLmI9ajtRYi5wcm90b3R5cGUuYT1qO3ZhciBSYj0wO2Z1 bmN0aW9uIEooYSl7dGhpcy5wPWF9Si5wcm90b3R5cGUuYz1qO0oucHJvdG90eXBl LmI9ajtKLnByb3RvdHlwZS5lPWo7Si5wcm90b3R5cGUuYT1qO2Z1bmN0aW9uIFNi KGEsYil7dGhpcy5uYW1lPWE7dGhpcy52YWx1ZT1ifVNiLnByb3RvdHlwZS50b1N0 cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWV9O3ZhciBUYj1uZXcgU2Io XCJTSE9VVFwiLDEyMDApLFViPW5ldyBTYihcIlNFVkVSRVwiLDFFMyksVmI9bmV3 IFNiKFwiV0FSTklOR1wiLDkwMCksV2I9bmV3IFNiKFwiSU5GT1wiLDgwMCksWGI9 bmV3IFNiKFwiQ09ORklHXCIsNzAwKSxZYj1uZXcgU2IoXCJBTExcIiwwKTtmdW5j dGlvbiBaYihhKXtpZihhLmIpcmV0dXJuIGEuYjtpZihhLmMpcmV0dXJuIFpiKGEu Yyk7Q2EoXCJSb290IGxvZ2dlciBoYXMgbm8gbGV2ZWwgc2V0LlwiKTtyZXR1cm4g an1cbkoucHJvdG90eXBlLmxvZz1mdW5jdGlvbihhLGIsYyl7aWYoYS52YWx1ZT49 WmIodGhpcykudmFsdWUpe2E9dGhpcy5rKGEsYixjKTtpZihxLmNvbnNvbGUmJnEu Y29uc29sZS5tYXJrVGltZWxpbmUpcS5jb25zb2xlLm1hcmtUaW1lbGluZShcImxv ZzpcIithLmUpO2ZvcihiPXRoaXM7Yjspe2M9Yjt2YXIgZD1hO2lmKGMuYSlmb3Io dmFyIGc9MCxlPXZvaWQgMDtlPWMuYVtnXTtnKyspZShkKTtiPWIuY319fTtKLnBy b3RvdHlwZS5rPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1uZXcgUWIoYSxTdHJpbmco YiksdGhpcy5wKTtpZihjKXtkLmI9Yzt2YXIgZzt2YXIgZT1hcmd1bWVudHMuY2Fs bGVlLmNhbGxlcjt0cnl7dmFyIGgsbD1hYShcIndpbmRvdy5sb2NhdGlvbi5ocmVm XCIpO2g9dHlwZW9mIGM9PVwic3RyaW5nXCI/e21lc3NhZ2U6YyxuYW1lOlwiVW5r bm93biBlcnJvclwiLGxpbmVOdW1iZXI6XCJOb3QgYXZhaWxhYmxlXCIsZmlsZU5h bWU6bCxzdGFjazpcIk5vdCBhdmFpbGFibGVcIn06IWMubGluZU51bWJlcnx8IWMu ZmlsZU5hbWV8fCFjLnN0YWNrP3ttZXNzYWdlOmMubWVzc2FnZSxuYW1lOmMubmFt ZSxsaW5lTnVtYmVyOmMubGluZU51bWJlcnx8Yy5rZHx8XCJOb3QgYXZhaWxhYmxl XCIsZmlsZU5hbWU6Yy5maWxlTmFtZXx8Yy5maWxlbmFtZXx8Yy5zb3VyY2VVUkx8 fGwsc3RhY2s6Yy5zdGFja3x8XCJOb3QgYXZhaWxhYmxlXCJ9OmM7Zz1cIk1lc3Nh Z2U6IFwiK3goaC5tZXNzYWdlKStcJ1xcblVybDogPGEgaHJlZj1cInZpZXctc291 cmNlOlwnK1xuaC5maWxlTmFtZStcJ1wiIHRhcmdldD1cIl9uZXdcIj5cJytoLmZp bGVOYW1lK1wiPFwvYT5cXG5MaW5lOiBcIitoLmxpbmVOdW1iZXIrXCJcXG5cXG5C cm93c2VyIHN0YWNrOlxcblwiK3goaC5zdGFjaytcIi0+IFwiKStcIltlbmRdXFxu XFxuSlMgc3RhY2sgdHJhdmVyc2FsOlxcblwiK3goTWIoZSkrXCItPiBcIil9Y2F0 Y2gobSl7Zz1cIkV4Y2VwdGlvbiB0cnlpbmcgdG8gZXhwb3NlIGV4Y2VwdGlvbiEg WW91IHdpbiwgd2UgbG9zZS4gXCIrbX1kLmE9Z31yZXR1cm4gZH07Si5wcm90b3R5 cGUuaW5mbz1mdW5jdGlvbihhLGIpe3RoaXMubG9nKFdiLGEsYil9O3ZhciAkYj17 fSxhYz1qO2Z1bmN0aW9uIGJjKCl7aWYoIWFjKXthYz1uZXcgSihcIlwiKTskYltc IlwiXT1hYzthYy5iPVhifX1cbmZ1bmN0aW9uIGNjKGEpe2JjKCk7dmFyIGI7aWYo IShiPSRiW2FdKSl7Yj1uZXcgSihhKTt2YXIgYz1hLmxhc3RJbmRleE9mKFwiLlwi

KSxkPWEuc3Vic3RyKGMrMSk7Yz1jYyhhLnN1YnN0cigwLGMpKTtpZighYy5lKWMu ZT17fTtjLmVbZF09YjtiLmM9YztiPSRiW2FdPWJ9cmV0dXJuIGJ9O2Z1bmN0aW9u IGRjKCl7fWRjLnByb3RvdHlwZS5mYj1rO2RjLnByb3RvdHlwZS5yPWZ1bmN0aW9u KCl7aWYoIXRoaXMuZmIpe3RoaXMuZmI9aTt0aGlzLmkoKX19O2RjLnByb3RvdHlw ZS5pPWZ1bmN0aW9uKCl7fTt2YXIgZWMsZmM9IUJ8fEQoXCI5XCIpLGdjPUImJiFE KFwiOFwiKTtmdW5jdGlvbiBLKGEsYil7dGhpcy50eXBlPWE7dGhpcy5hPXRoaXMu dGFyZ2V0PWJ9dyhLLGRjKTtwPUsucHJvdG90eXBlO3AuaT1mdW5jdGlvbigpe2Rl bGV0ZSB0aGlzLnR5cGU7ZGVsZXRlIHRoaXMudGFyZ2V0O2RlbGV0ZSB0aGlzLmF9 O3AuTz1rO3AuZWE9aTtwLnJhPWZ1bmN0aW9uKCl7dGhpcy5PPWl9O3AuSz1mdW5j dGlvbigpe3RoaXMuZWE9a307ZnVuY3Rpb24gaGMoYSl7YS5yYSgpfWZ1bmN0aW9u IGljKGEpe2EuSygpfTt2YXIgamM9e2ZjOlwiY2xpY2tcIixtYzpcImRibGNsaWNr XCIsRmM6XCJtb3VzZWRvd25cIixKYzpcIm1vdXNldXBcIixJYzpcIm1vdXNlb3Zl clwiLEhjOlwibW91c2VvdXRcIixHYzpcIm1vdXNlbW92ZVwiLGJkOlwic2VsZWN0 c3RhcnRcIixBYzpcImtleXByZXNzXCIsemM6XCJrZXlkb3duXCIsQmM6XCJrZXl1 cFwiLGJjOlwiYmx1clwiLHRjOlwiZm9jdXNcIixuYzpcImRlYWN0aXZhdGVcIix1 YzpCP1wiZm9jdXNpblwiOlwiRE9NRm9jdXNJblwiLHZjOkI/XCJmb2N1c291dFwi OlwiRE9NRm9jdXNPdXRcIixlYzpcImNoYW5nZVwiLGFkOlwic2VsZWN0XCIsY2Q6 XCJzdWJtaXRcIix5YzpcImlucHV0XCIsVWM6XCJwcm9wZXJ0eWNoYW5nZVwiLHJj OlwiZHJhZ3N0YXJ0XCIsb2M6XCJkcmFnZW50ZXJcIixxYzpcImRyYWdvdmVyXCIs cGM6XCJkcmFnbGVhdmVcIixzYzpcImRyb3BcIixnZDpcInRvdWNoc3RhcnRcIixm ZDpcInRvdWNobW92ZVwiLGVkOlwidG91Y2hlbmRcIixkZDpcInRvdWNoY2FuY2Vs XCIsaWM6XCJjb250ZXh0bWVudVwiLHRiOlwiZXJyb3JcIix4YzpcImhlbHBcIixE YzpcImxvYWRcIixFYzpcImxvc2VjYXB0dXJlXCIsVmM6XCJyZWFkeXN0YXRlY2hh bmdlXCIsV2M6XCJyZXNpemVcIiwkYzpcInNjcm9sbFwiLGhkOlwidW5sb2FkXCIs d2M6XCJoYXNoY2hhbmdlXCIsUGM6XCJwYWdlaGlkZVwiLFFjOlwicGFnZXNob3dc IixUYzpcInBvcHN0YXRlXCIsamM6XCJjb3B5XCIsUmM6XCJwYXN0ZVwiLGxjOlwi Y3V0XCJ9O3ZhciBrYz1uZXcgRnVuY3Rpb24oXCJhXCIsXCJyZXR1cm4gYVwiKTtm dW5jdGlvbiBMKGEsYil7YSYmdGhpcy5pbml0KGEsYil9dyhMLEspO3ZhciBsYz1b MSw0LDJdO3A9TC5wcm90b3R5cGU7cC50YXJnZXQ9ajtwLmJiPWo7cC5IYj0wO3Au SWI9MDtwLmNsaWVudFg9MDtwLmNsaWVudFk9MDtwLnBhPTA7cC5xYT0wO3AuRGI9 MDtwLmtleUNvZGU9MDtwLkViPTA7cC5GYj1rO3AuQ2I9aztwLmNiPWs7cC5HYj1r O3AuVmI9aztwLkc9ajtwLmluaXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLnR5 cGU9YS50eXBlO3RoaXMudGFyZ2V0PWEudGFyZ2V0fHxhLnNyY0VsZW1lbnQ7dGhp cy5hPWI7dmFyIGQ9YS5yZWxhdGVkVGFyZ2V0O2lmKGQpe2lmKFZhKXRyeXtrYyhk Lm5vZGVOYW1lKX1jYXRjaChnKXtkPWp9fWVsc2UgaWYoYz09XCJtb3VzZW92ZXJc IilkPWEuZnJvbUVsZW1lbnQ7ZWxzZSBpZihjPT1cIm1vdXNlb3V0XCIpZD1hLnRv RWxlbWVudDt0aGlzLmJiPWQ7dGhpcy5IYj1hLm9mZnNldFghPT11bmRlZmluZWQ/ YS5vZmZzZXRYOmEubGF5ZXJYO3RoaXMuSWI9YS5vZmZzZXRZIT09dW5kZWZpbmVk P2Eub2Zmc2V0WTphLmxheWVyWTt0aGlzLmNsaWVudFg9YS5jbGllbnRYIT09dW5k ZWZpbmVkP2EuY2xpZW50WDphLnBhZ2VYO3RoaXMuY2xpZW50WT1hLmNsaWVudFkh PT11bmRlZmluZWQ/YS5jbGllbnRZOmEucGFnZVk7dGhpcy5wYT1hLnNjcmVlblh8 fDA7dGhpcy5xYT1hLnNjcmVlbll8fDA7dGhpcy5EYj1hLmJ1dHRvbjt0aGlzLmtl eUNvZGU9YS5rZXlDb2RlfHwwO3RoaXMuRWI9YS5jaGFyQ29kZXx8KGM9PVwia2V5 cHJlc3NcIj9hLmtleUNvZGU6MCk7dGhpcy5GYj1hLmN0cmxLZXk7dGhpcy5DYj1h LmFsdEtleTt0aGlzLmNiPWEuc2hpZnRLZXk7dGhpcy5HYj1hLm1ldGFLZXk7dGhp cy5WYj1QYT9hLm1ldGFLZXk6YS5jdHJsS2V5O3RoaXMuYj1hLnN0YXRlO3RoaXMu Rz1hO2RlbGV0ZSB0aGlzLmVhO2RlbGV0ZSB0aGlzLk99O3AucmE9ZnVuY3Rpb24o KXtMLnEucmEuY2FsbCh0aGlzKTtpZih0aGlzLkcuc3RvcFByb3BhZ2F0aW9uKXRo aXMuRy5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIHRoaXMuRy5jYW5jZWxCdWJibGU9 aX07cC5LPWZ1bmN0aW9uKCl7TC5xLksuY2FsbCh0aGlzKTt2YXIgYT10aGlzLkc7 aWYoYS5wcmV2ZW50RGVmYXVsdClhLnByZXZlbnREZWZhdWx0KCk7ZWxzZXthLnJl dHVyblZhbHVlPWs7aWYoZ2MpdHJ5e2lmKGEuY3RybEtleXx8YS5rZXlDb2RlPj0x MTImJmEua2V5Q29kZTw9MTIzKWEua2V5Q29kZT0tMX1jYXRjaChiKXt9fX07cC5p PWZ1bmN0aW9uKCl7TC5xLmkuY2FsbCh0aGlzKTt0aGlzLmJiPXRoaXMuYT10aGlz LnRhcmdldD10aGlzLkc9an07ZnVuY3Rpb24gbWMoKXt9dmFyIG5jPTA7cD1tYy5w cm90b3R5cGU7cC5rZXk9MDtwLlY9aztwLldhPWs7cC5pbml0PWZ1bmN0aW9uKGEs YixjLGQsZyxlKXtpZihmYShhKSl0aGlzLmE9aTtlbHNlIGlmKGEmJmEuaGFuZGxl RXZlbnQmJmZhKGEuaGFuZGxlRXZlbnQpKXRoaXMuYT1rO2Vsc2UgZihFcnJvcihc IkludmFsaWQgbGlzdGVuZXIgYXJndW1lbnRcIikpO3RoaXMuVT1hO3RoaXMuYj1i O3RoaXMuc3JjPWM7dGhpcy50eXBlPWQ7dGhpcy5jYXB0dXJlPSEhZzt0aGlzLnRh

PWU7dGhpcy5XYT1rO3RoaXMua2V5PSsrbmM7dGhpcy5WPWt9O3AuaGFuZGxlRXZl bnQ9ZnVuY3Rpb24oYSl7aWYodGhpcy5hKXJldHVybiB0aGlzLlUuY2FsbCh0aGlz LnRhfHx0aGlzLnNyYyxhKTtyZXR1cm4gdGhpcy5VLmhhbmRsZUV2ZW50LmNhbGwo dGhpcy5VLGEpfTtmdW5jdGlvbiBNKGEsYil7dGhpcy5lPWI7dGhpcy5iPVtdO2lm KGE+dGhpcy5lKWYoRXJyb3IoXCJbZ29vZy5zdHJ1Y3RzLlNpbXBsZVBvb2xdIElu aXRpYWwgY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiBtYXhcIikpO2Zvcih2YXIgYz0w O2M8YTtjKyspdGhpcy5iLnB1c2godGhpcy5hP3RoaXMuYSgpOnt9KX13KE0sZGMp O00ucHJvdG90eXBlLmE9ajtNLnByb3RvdHlwZS5jPWo7ZnVuY3Rpb24gb2MoYSl7 aWYoYS5iLmxlbmd0aClyZXR1cm4gYS5iLnBvcCgpO3JldHVybiBhLmE/YS5hKCk6 e319ZnVuY3Rpb24gcGMoYSxiKXthLmIubGVuZ3RoPGEuZT9hLmIucHVzaChiKTpx YyhhLGIpfWZ1bmN0aW9uIHFjKGEsYil7aWYoYS5jKWEuYyhiKTtlbHNlIGlmKGdh KGIpKWlmKGZhKGIucikpYi5yKCk7ZWxzZSBmb3IodmFyIGMgaW4gYilkZWxldGUg YltjXX1cbk0ucHJvdG90eXBlLmk9ZnVuY3Rpb24oKXtNLnEuaS5jYWxsKHRoaXMp O2Zvcih2YXIgYT10aGlzLmI7YS5sZW5ndGg7KXFjKHRoaXMsYS5wb3AoKSk7ZGVs ZXRlIHRoaXMuYn07dmFyIHJjLHNjLHRjLHVjLHZjLHdjLHhjLHljLHpjLEFjLEJj OyhmdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtyZXR1cm57dTowLEI6MH19ZnVuY3Rp b24gYigpe3JldHVybltdfWZ1bmN0aW9uIGMoKXtmdW5jdGlvbiBvKEYpe3JldHVy biBoLmNhbGwoby5zcmMsby5rZXksRil9cmV0dXJuIG99ZnVuY3Rpb24gZCgpe3Jl dHVybiBuZXcgbWN9ZnVuY3Rpb24gZygpe3JldHVybiBuZXcgTH12YXIgZT1FYiYm ISh5YShGYixcIjUuN1wiKT49MCksaDt3Yz1mdW5jdGlvbihvKXtoPW99O2lmKGUp e3JjPWZ1bmN0aW9uKCl7cmV0dXJuIG9jKGwpfTtzYz1mdW5jdGlvbihvKXtwYyhs LG8pfTt0Yz1mdW5jdGlvbigpe3JldHVybiBvYyhtKX07dWM9ZnVuY3Rpb24obyl7 cGMobSxvKX07dmM9ZnVuY3Rpb24oKXtyZXR1cm4gb2Mobil9O3hjPWZ1bmN0aW9u KCl7cGMobixjKCkpfTt5Yz1mdW5jdGlvbigpe3JldHVybiBvYyhvYSl9O3pjPWZ1 bmN0aW9uKG8pe3BjKG9hLG8pfTtBYz1mdW5jdGlvbigpe3JldHVybiBvYyhyKX07 QmM9ZnVuY3Rpb24obyl7cGMocixvKX07dmFyIGw9bmV3IE0oMCw2MDApO2wuYT1h O3ZhciBtPW5ldyBNKDAsNjAwKTttLmE9Yjt2YXIgbj1uZXcgTSgwLDYwMCk7bi5h PWM7dmFyIG9hPW5ldyBNKDAsNjAwKTtvYS5hPWQ7dmFyIHI9bmV3IE0oMCw2MDAp O3IuYT1nfWVsc2V7cmM9YTtzYz1iYTt0Yz1iO3VjPWJhO3ZjPWM7eGM9YmE7eWM9 ZDt6Yz1iYTtBYz1nO0JjPWJhfX0pKCk7dmFyIENjPXt9LE49e30sTz17fSxEYz17 fTtmdW5jdGlvbiBQKGEsYixjLGQsZyl7aWYoYilpZihkYShiKSl7Zm9yKHZhciBl PTA7ZTxiLmxlbmd0aDtlKyspUChhLGJbZV0sYyxkLGcpO3JldHVybiBqfWVsc2V7 ZD0hIWQ7dmFyIGg9TjtiIGluIGh8fChoW2JdPXJjKCkpO2g9aFtiXTtpZighKGQg aW4gaCkpe2hbZF09cmMoKTtoLnUrK31oPWhbZF07dmFyIGw9aGEoYSksbTtoLkIr KztpZihoW2xdKXttPWhbbF07Zm9yKGU9MDtlPG0ubGVuZ3RoO2UrKyl7aD1tW2Vd O2lmKGguVT09YyYmaC50YT09Zyl7aWYoaC5WKWJyZWFrO3JldHVybiBtW2VdLmtl eX19fWVsc2V7bT1oW2xdPXRjKCk7aC51Kyt9ZT12YygpO2Uuc3JjPWE7aD15Yygp O2guaW5pdChjLGUsYSxiLGQsZyk7Yz1oLmtleTtlLmtleT1jO20ucHVzaChoKTtD Y1tjXT1oO09bbF18fChPW2xdPXRjKCkpO09bbF0ucHVzaChoKTtpZihhLmFkZEV2 ZW50TGlzdGVuZXIpe2lmKGE9PXF8fCFhLllhKWEuYWRkRXZlbnRMaXN0ZW5lcihi LGUsZCl9ZWxzZSBhLmF0dGFjaEV2ZW50KEVjKGIpLGUpO3JldHVybiBjfWVsc2Ug ZihFcnJvcihcIkludmFsaWQgZXZlbnQgdHlwZVwiKSl9ZnVuY3Rpb24gRmMoYSxi LGMsZCxnKXtpZihkYShiKSlmb3IodmFyIGU9MDtlPGIubGVuZ3RoO2UrKylGYyhh LGJbZV0sYyxkLGcpO2Vsc2V7ZD0hIWQ7aWYoYT1HYyhhLGIsZCkpZm9yKGU9MDtl PGEubGVuZ3RoO2UrKylpZihhW2VdLlU9PWMmJmFbZV0uY2FwdHVyZT09ZCYmYVtl XS50YT09Zyl7UShhW2VdLmtleSk7YnJlYWt9fX1cbmZ1bmN0aW9uIFEoYSl7aWYo Q2NbYV0pe3ZhciBiPUNjW2FdO2lmKCFiLlYpe3ZhciBjPWIuc3JjLGQ9Yi50eXBl LGc9Yi5iLGU9Yi5jYXB0dXJlO2lmKGMucmVtb3ZlRXZlbnRMaXN0ZW5lcil7aWYo Yz09cXx8IWMuWWEpYy5yZW1vdmVFdmVudExpc3RlbmVyKGQsZyxlKX1lbHNlIGMu ZGV0YWNoRXZlbnQmJmMuZGV0YWNoRXZlbnQoRWMoZCksZyk7Yz1oYShjKTtnPU5b ZF1bZV1bY107aWYoT1tjXSl7dmFyIGg9T1tjXTtGYShoLGIpO2gubGVuZ3RoPT0w JiZkZWxldGUgT1tjXX1iLlY9aTtnLmdiPWk7SGMoZCxlLGMsZyk7ZGVsZXRlIENj W2FdfX19XG5mdW5jdGlvbiBIYyhhLGIsYyxkKXtpZighZC53YSlpZihkLmdiKXtm b3IodmFyIGc9MCxlPTA7ZzxkLmxlbmd0aDtnKyspaWYoZFtnXS5WKXt2YXIgaD1k W2ddLmI7aC5zcmM9ajt4YyhoKTt6YyhkW2ddKX1lbHNle2lmKGchPWUpZFtlXT1k W2ddO2UrK31kLmxlbmd0aD1lO2QuZ2I9aztpZihlPT0wKXt1YyhkKTtkZWxldGUg TlthXVtiXVtjXTtOW2FdW2JdLnUtLTtpZihOW2FdW2JdLnU9PTApe3NjKE5bYV1b Yl0pO2RlbGV0ZSBOW2FdW2JdO05bYV0udS0tfWlmKE5bYV0udT09MCl7c2MoTlth XSk7ZGVsZXRlIE5bYV19fX19XG5mdW5jdGlvbiBJYyhhKXt2YXIgYixjPTAsZD1i PT1qO2I9ISFiO2lmKGE9PWopbWIoTyxmdW5jdGlvbihoKXtmb3IodmFyIGw9aC5s

ZW5ndGgtMTtsPj0wO2wtLSl7dmFyIG09aFtsXTtpZihkfHxiPT1tLmNhcHR1cmUp e1EobS5rZXkpO2MrK319fSk7ZWxzZXthPWhhKGEpO2lmKE9bYV0pe2E9T1thXTtm b3IodmFyIGc9YS5sZW5ndGgtMTtnPj0wO2ctLSl7dmFyIGU9YVtnXTtpZihkfHxi PT1lLmNhcHR1cmUpe1EoZS5rZXkpO2MrK319fX19ZnVuY3Rpb24gR2MoYSxiLGMp e3ZhciBkPU47aWYoYiBpbiBkKXtkPWRbYl07aWYoYyBpbiBkKXtkPWRbY107YT1o YShhKTtpZihkW2FdKXJldHVybiBkW2FdfX1yZXR1cm4gan1mdW5jdGlvbiBFYyhh KXtpZihhIGluIERjKXJldHVybiBEY1thXTtyZXR1cm4gRGNbYV09XCJvblwiK2F9 XG5mdW5jdGlvbiBKYyhhLGIsYyxkLGcpe3ZhciBlPTE7Yj1oYShiKTtpZihhW2Jd KXthLkItLTthPWFbYl07aWYoYS53YSlhLndhKys7ZWxzZSBhLndhPTE7dHJ5e2Zv cih2YXIgaD1hLmxlbmd0aCxsPTA7bDxoO2wrKyl7dmFyIG09YVtsXTtpZihtJiYh bS5WKWUmPUtjKG0sZykhPT1rfX1maW5hbGx5e2Eud2EtLTtIYyhjLGQsYixhKX19 cmV0dXJuIEJvb2xlYW4oZSl9ZnVuY3Rpb24gS2MoYSxiKXt2YXIgYz1hLmhhbmRs ZUV2ZW50KGIpO2EuV2EmJlEoYS5rZXkpO3JldHVybiBjfVxuZnVuY3Rpb24gUihh LGIpe2lmKHMoYikpYj1uZXcgSyhiLGEpO2Vsc2UgaWYoYiBpbnN0YW5jZW9mIEsp Yi50YXJnZXQ9Yi50YXJnZXR8fGE7ZWxzZXt2YXIgYz1iO2I9bmV3IEsoYi50eXBl LGEpO3FiKGIsYyl9Yz0xO3ZhciBkLGc9Yi50eXBlLGU9TjtpZighKGcgaW4gZSkp cmV0dXJuIGk7ZT1lW2ddO2c9aSBpbiBlO3ZhciBoO2lmKGcpe2Q9W107Zm9yKGg9 YTtoO2g9aC56YSlkLnB1c2goaCk7aD1lW2ldO2guQj1oLnU7Zm9yKHZhciBsPWQu bGVuZ3RoLTE7IWIuTyYmbD49MCYmaC5CO2wtLSl7Yi5hPWRbbF07YyY9SmMoaCxk W2xdLGIudHlwZSxpLGIpJiZiLmVhIT1rfX1pZihrIGluIGUpe2g9ZVtrXTtoLkI9 aC51O2lmKGcpZm9yKGw9MDshYi5PJiZsPGQubGVuZ3RoJiZoLkI7bCsrKXtiLmE9 ZFtsXTtjJj1KYyhoLGRbbF0sYi50eXBlLGssYikmJmIuZWEhPWt9ZWxzZSBmb3Io ZD1hOyFiLk8mJmQmJmguQjtkPWQuemEpe2IuYT1kO2MmPUpjKGgsZCxiLnR5cGUs ayxiKSYmYi5lYSE9a319cmV0dXJuIEJvb2xlYW4oYyl9XG53YyhmdW5jdGlvbihh LGIpe2lmKCFDY1thXSlyZXR1cm4gaTt2YXIgYz1DY1thXSxkPWMudHlwZSxnPU47 aWYoIShkIGluIGcpKXJldHVybiBpO2c9Z1tkXTt2YXIgZSxoO2lmKGVjPT09dW5k ZWZpbmVkKWVjPUImJiFxLmFkZEV2ZW50TGlzdGVuZXI7aWYoZWMpe2U9Ynx8YWEo XCJ3aW5kb3cuZXZlbnRcIik7dmFyIGw9aSBpbiBnLG09ayBpbiBnO2lmKGwpe2lm KGUua2V5Q29kZTwwfHxlLnJldHVyblZhbHVlIT11bmRlZmluZWQpcmV0dXJuIGk7 YTp7dmFyIG49aztpZihlLmtleUNvZGU9PTApdHJ5e2Uua2V5Q29kZT0tMTticmVh ayBhfWNhdGNoKG9hKXtuPWl9aWYobnx8ZS5yZXR1cm5WYWx1ZT09dW5kZWZpbmVk KWUucmV0dXJuVmFsdWU9aX19bj1BYygpO24uaW5pdChlLHRoaXMpO2U9aTt0cnl7 aWYobCl7Zm9yKHZhciByPXRjKCksbz1uLmE7bztvPW8ucGFyZW50Tm9kZSlyLnB1 c2gobyk7aD1nW2ldO2guQj1oLnU7Zm9yKHZhciBGPXIubGVuZ3RoLTE7IW4uTyYm Rj49MCYmaC5CO0YtLSl7bi5hPXJbRl07ZSY9SmMoaCxyW0ZdLGQsaSxuKX1pZiht KXtoPWdba107aC5CPWgudTtmb3IoRj0wOyFuLk8mJkY8ci5sZW5ndGgmJmguQjtG Kyspe24uYT1yW0ZdO2UmPUpjKGgscltGXSxkLGssbil9fX1lbHNlIGU9S2MoYyxu KX1maW5hbGx5e2lmKHIpe3IubGVuZ3RoPTA7dWMocil9bi5yKCk7QmMobil9cmV0 dXJuIGV9ZD1uZXcgTChiLHRoaXMpO3RyeXtlPUtjKGMsZCl9ZmluYWxseXtkLnIo KX1yZXR1cm4gZX0pO2Z1bmN0aW9uIFMoKXt9dyhTLGRjKTtwPVMucHJvdG90eXBl O3AuWWE9aTtwLnphPWo7cC5OYT1mdW5jdGlvbihhKXt0aGlzLnphPWF9O3AuYWRk RXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhLGIsYyxkKXtQKHRoaXMsYSxiLGMsZCl9 O3AucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhLGIsYyxkKXtGYyh0aGlz LGEsYixjLGQpfTtwLmk9ZnVuY3Rpb24oKXtTLnEuaS5jYWxsKHRoaXMpO0ljKHRo aXMpO3RoaXMuemE9an07ZnVuY3Rpb24gVChhLGIpe3RoaXMuZT1hfHwxO3RoaXMu Yj1ifHxMYzt0aGlzLms9dCh0aGlzLk4sdGhpcyk7dGhpcy5wPXUoKX13KFQsUyk7 VC5wcm90b3R5cGUuYz1rO3ZhciBMYz1xLndpbmRvdztULnByb3RvdHlwZS5hPWo7 VC5wcm90b3R5cGUuTj1mdW5jdGlvbigpe2lmKHRoaXMuYyl7dmFyIGE9dSgpLXRo aXMucDtpZihhPjAmJmE8dGhpcy5lKjAuOCl0aGlzLmE9dGhpcy5iLnNldFRpbWVv dXQodGhpcy5rLHRoaXMuZS1hKTtlbHNle1IodGhpcyxNYyk7aWYodGhpcy5jKXt0 aGlzLmE9dGhpcy5iLnNldFRpbWVvdXQodGhpcy5rLHRoaXMuZSk7dGhpcy5wPXUo KX19fX07ZnVuY3Rpb24gTmMoYSl7YS5jPWk7aWYoIWEuYSl7YS5hPWEuYi5zZXRU aW1lb3V0KGEuayxhLmUpO2EucD11KCl9fVQucHJvdG90eXBlLnN0b3A9ZnVuY3Rp b24oKXt0aGlzLmM9aztpZih0aGlzLmEpe3RoaXMuYi5jbGVhclRpbWVvdXQodGhp cy5hKTt0aGlzLmE9an19O1QucHJvdG90eXBlLmk9ZnVuY3Rpb24oKXtULnEuaS5j YWxsKHRoaXMpO3RoaXMuc3RvcCgpO2RlbGV0ZSB0aGlzLmJ9O3ZhciBNYz1cInRp Y2tcIjtmdW5jdGlvbiBPYyhhLGIsYyl7aWYoZmEoYSkpe2lmKGMpYT10KGEsYyl9 ZWxzZSBpZihhJiZ0eXBlb2YgYS5oYW5kbGVFdmVudD09XCJmdW5jdGlvblwiKWE9 dChhLmhhbmRsZUV2ZW50LGEpO2Vsc2UgZihFcnJvcihcIkludmFsaWQgbGlzdGVu ZXIgYXJndW1lbnRcIikpO3JldHVybiBiPjIxNDc0ODM2NDc/LTE6TGMuc2V0VGlt

ZW91dChhLGJ8fDApfTtmdW5jdGlvbiBQYyhhKXt0aGlzLmM9YX13KFBjLGRjKTt2 YXIgUWM9bmV3IE0oMCwxMDApLFJjPVtdO2Z1bmN0aW9uIFUoYSxiLGMsZCxnKXtp ZighZGEoYykpe1JjWzBdPWM7Yz1SY31mb3IodmFyIGU9MDtlPGMubGVuZ3RoO2Ur Kyl7dmFyIGg9YSxsPVAoYixjW2VdLGR8fGEsZ3x8ayxhLmN8fGEpO2lmKGguYSlo LmFbbF09aTtlbHNlIGlmKGguYil7aC5hPW9jKFFjKTtoLmFbaC5iXT1pO2guYj1q O2guYVtsXT1pfWVsc2UgaC5iPWx9cmV0dXJuIGF9XG5mdW5jdGlvbiBTYyhhLGIs YyxkLGcsZSl7aWYoYS5ifHxhLmEpaWYoZGEoYykpZm9yKHZhciBoPTA7aDxjLmxl bmd0aDtoKyspU2MoYSxiLGNbaF0sZCxnLGUpO2Vsc2V7YTp7ZD1kfHxhO2U9ZXx8 YS5jfHxhO2c9ISFnO2lmKGI9R2MoYixjLGcpKWZvcihjPTA7YzxiLmxlbmd0aDtj KyspaWYoYltjXS5VPT1kJiZiW2NdLmNhcHR1cmU9PWcmJmJbY10udGE9PWUpe2I9 YltjXTticmVhayBhfWI9an1pZihiKXtiPWIua2V5O1EoYik7aWYoYS5hKXtjPWEu YTtiIGluIGMmJmRlbGV0ZSBjW2JdfWVsc2UgaWYoYS5iPT1iKWEuYj1qfX1yZXR1 cm4gYX1mdW5jdGlvbiBUYyhhKXtpZihhLmEpe2Zvcih2YXIgYiBpbiBhLmEpe1Eo Yik7ZGVsZXRlIGEuYVtiXX1wYyhRYyxhLmEpO2EuYT1qfWVsc2UgYS5iJiZRKGEu Yil9UGMucHJvdG90eXBlLmk9ZnVuY3Rpb24oKXtQYy5xLmkuY2FsbCh0aGlzKTtU Yyh0aGlzKX07UGMucHJvdG90eXBlLmhhbmRsZUV2ZW50PWZ1bmN0aW9uKCl7ZihF cnJvcihcIkV2ZW50SGFuZGxlci5oYW5kbGVFdmVudCBub3QgaW1wbGVtZW50ZWRc IikpfTtmdW5jdGlvbiBVYyhhLGIsYyxkKXt0aGlzLmxlZnQ9YTt0aGlzLnRvcD1i O3RoaXMud2lkdGg9Yzt0aGlzLmhlaWdodD1kfVVjLnByb3RvdHlwZS5KPWZ1bmN0 aW9uKCl7cmV0dXJuIG5ldyBVYyh0aGlzLmxlZnQsdGhpcy50b3AsdGhpcy53aWR0 aCx0aGlzLmhlaWdodCl9O1VjLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigp e3JldHVyblwiKFwiK3RoaXMubGVmdCtcIiwgXCIrdGhpcy50b3ArXCIgLSBcIit0 aGlzLndpZHRoK1widyB4IFwiK3RoaXMuaGVpZ2h0K1wiaClcIn07ZnVuY3Rpb24g VmMoYSxiLGMpe3MoYik/V2MoYSxjLGIpOm1iKGIsbWEoV2MsYSkpfWZ1bmN0aW9u IFdjKGEsYixjKXthLnN0eWxlW1hjKGMpXT1ifWZ1bmN0aW9uIFljKGEsYil7dmFy IGM9SShhKTtpZihjLmRlZmF1bHRWaWV3JiZjLmRlZmF1bHRWaWV3LmdldENvbXB1 dGVkU3R5bGUpaWYoYz1jLmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoYSxq KSlyZXR1cm4gY1tiXXx8Yy5nZXRQcm9wZXJ0eVZhbHVlKGIpO3JldHVyblwiXCJ9 ZnVuY3Rpb24gWmMoYSxiKXtyZXR1cm4gWWMoYSxiKXx8KGEuY3VycmVudFN0eWxl P2EuY3VycmVudFN0eWxlW2JdOmopfHxhLnN0eWxlW2JdfWZ1bmN0aW9uICRjKGEs YixjKXt2YXIgZCxnPVZhJiYoUGF8fFphKSYmRChcIjEuOVwiKTtpZihiIGluc3Rh bmNlb2YgRSl7ZD1iLng7Yj1iLnl9ZWxzZXtkPWI7Yj1jfWEuc3R5bGUubGVmdD1h ZChkLGcpO2Euc3R5bGUudG9wPWFkKGIsZyl9XG5mdW5jdGlvbiBiZChhKXtpZihC KXJldHVybiBhLm9mZnNldFBhcmVudDt2YXIgYj1JKGEpLGM9WmMoYSxcInBvc2l0 aW9uXCIpLGQ9Yz09XCJmaXhlZFwifHxjPT1cImZpeGVkXCI7Zm9yKGE9YS5wYXJl bnROb2RlO2EmJmEhPWI7YT1hLnBhcmVudE5vZGUpe2M9WmMoYSxcInBvc2l0aW9u XCIpO2Q9ZCYmYz09XCJzdGF0aWNcIiYmYSE9Yi5kb2N1bWVudEVsZW1lbnQmJmEh PWIuYm9keTtpZighZCYmKGEuc2Nyb2xsV2lkdGg+YS5jbGllbnRXaWR0aHx8YS5z Y3JvbGxIZWlnaHQ+YS5jbGllbnRIZWlnaHR8fGM9PVwiZml4ZWRcInx8Yz09XCJm aXhlZFwiKSlyZXR1cm4gYX1yZXR1cm4gan1cbmZ1bmN0aW9uIGNkKGEpe3ZhciBi LGM9SShhKSxkPVpjKGEsXCJwb3NpdGlvblwiKSxnPVZhJiZjLmdldEJveE9iamVj dEZvciYmIWEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0JiZkPT1cImZpeGVkXCImJihi PWMuZ2V0Qm94T2JqZWN0Rm9yKGEpKSYmKGIuc2NyZWVuWDwwfHxiLnNjcmVlblk8 MCksZT1uZXcgRSgwLDApLGg7Yj1jP2Mubm9kZVR5cGU9PTk/YzpJKGMpOmRvY3Vt ZW50O2lmKGg9QiloPUgoYikuYS5jb21wYXRNb2RlIT1cIkNTUzFDb21wYXRcIjto PWg/Yi5ib2R5OmIuZG9jdW1lbnRFbGVtZW50O2lmKGE9PWgpcmV0dXJuIGU7aWYo YS5nZXRCb3VuZGluZ0NsaWVudFJlY3Qpe2Q9YS5nZXRCb3VuZGluZ0NsaWVudFJl Y3QoKTtpZihCKXthPWEub3duZXJEb2N1bWVudDtkLmxlZnQtPWEuZG9jdW1lbnRF bGVtZW50LmNsaWVudExlZnQrYS5ib2R5LmNsaWVudExlZnQ7ZC50b3AtPWEuZG9j dW1lbnRFbGVtZW50LmNsaWVudFRvcCthLmJvZHkuY2xpZW50VG9wfWI9ZDtjPURi KEgoYykpO2UueD1iLmxlZnQrYy54O2UueT1iLnRvcCtjLnl9ZWxzZSBpZihjLmdl dEJveE9iamVjdEZvciYmIWcpe2I9Yy5nZXRCb3hPYmplY3RGb3IoYSk7Yz1jLmdl dEJveE9iamVjdEZvcihoKTtlLng9Yi5zY3JlZW5YLWMuc2NyZWVuWDtlLnk9Yi5z Y3JlZW5ZLWMuc2NyZWVuWX1lbHNle2I9YTtkb3tlLngrPWIub2Zmc2V0TGVmdDtl LnkrPWIub2Zmc2V0VG9wO2lmKGIhPWEpe2UueCs9Yi5jbGllbnRMZWZ0fHwwO2Uu eSs9Yi5jbGllbnRUb3B8fDB9aWYoQyYmWmMoYixcInBvc2l0aW9uXCIpPT1cImZp eGVkXCIpe2UueCs9Yy5ib2R5LnNjcm9sbExlZnQ7ZS55Kz1jLmJvZHkuc2Nyb2xs VG9wO2JyZWFrfWI9Yi5vZmZzZXRQYXJlbnR9d2hpbGUoYiYmYiE9YSk7aWYoQXx8 QyYmZD09XCJmaXhlZFwiKWUueS09Yy5ib2R5Lm9mZnNldFRvcDtmb3IoYj1hOyhi PWJkKGIpKSYmYiE9Yy5ib2R5JiZiIT1oOyl7ZS54LT1iLnNjcm9sbExlZnQ7aWYo

IUF8fGIudGFnTmFtZSE9XCJUUlwiKWUueS09Yi5zY3JvbGxUb3B9fXJldHVybiBl fVxuZnVuY3Rpb24gZGQoYSxiLGMpe3ZhciBkPWNkKGEpO2lmKGIgaW5zdGFuY2Vv ZiBFKXtjPWIueTtiPWIueH0kYyhhLGEub2Zmc2V0TGVmdCsoYi1kLngpLGEub2Zm c2V0VG9wKyhjLWQueSkpfWZ1bmN0aW9uIGVkKGEsYixjKXtpZihiIGluc3RhbmNl b2YgRyl7Yz1iLmhlaWdodDtiPWIud2lkdGh9ZWxzZXtpZihjPT11bmRlZmluZWQp ZihFcnJvcihcIm1pc3NpbmcgaGVpZ2h0IGFyZ3VtZW50XCIpKTtjPWN9YS5zdHls ZS53aWR0aD1hZChiLGkpO2Euc3R5bGUuaGVpZ2h0PWFkKGMsaSl9ZnVuY3Rpb24g YWQoYSxiKXtpZih0eXBlb2YgYT09XCJudW1iZXJcIilhPShiP01hdGgucm91bmQo YSk6YSkrXCJweFwiO3JldHVybiBhfVxuZnVuY3Rpb24gZmQoYSl7dmFyIGI9QSYm IUQoXCIxMFwiKTtpZihaYyhhLFwiZGlzcGxheVwiKSE9XCJub25lXCIpcmV0dXJu IGI/bmV3IEcoYS5vZmZzZXRXaWR0aHx8YS5jbGllbnRXaWR0aCxhLm9mZnNldEhl aWdodHx8YS5jbGllbnRIZWlnaHQpOm5ldyBHKGEub2Zmc2V0V2lkdGgsYS5vZmZz ZXRIZWlnaHQpO3ZhciBjPWEuc3R5bGUsZD1jLmRpc3BsYXksZz1jLnZpc2liaWxp dHksZT1jLnBvc2l0aW9uO2MudmlzaWJpbGl0eT1cImhpZGRlblwiO2MucG9zaXRp b249XCJmaXhlZFwiO2MuZGlzcGxheT1cImlubGluZVwiO2lmKGIpe2I9YS5vZmZz ZXRXaWR0aHx8YS5jbGllbnRXaWR0aDthPWEub2Zmc2V0SGVpZ2h0fHxhLmNsaWVu dEhlaWdodH1lbHNle2I9YS5vZmZzZXRXaWR0aDthPWEub2Zmc2V0SGVpZ2h0fWMu ZGlzcGxheT1kO2MucG9zaXRpb249ZTtjLnZpc2liaWxpdHk9ZztyZXR1cm4gbmV3 IEcoYixhKX12YXIgZ2Q9e307ZnVuY3Rpb24gWGMoYSl7cmV0dXJuIGdkW2FdfHwo Z2RbYV09U3RyaW5nKGEpLnJlcGxhY2UoL1xcLShbYS16XSkvZyxmdW5jdGlvbihi LGMpe3JldHVybiBjLnRvVXBwZXJDYXNlKCl9KSl9ZnVuY3Rpb24gaGQoYSxiKXt2 YXIgYz1hLnN0eWxlO2lmKFwib3BhY2l0eVwiaW4gYyljLm9wYWNpdHk9YjtlbHNl IGlmKFwiTW96T3BhY2l0eVwiaW4gYyljLk1vek9wYWNpdHk9YjtlbHNlIGlmKFwi ZmlsdGVyXCJpbiBjKWMuZmlsdGVyPWI9PT1cIlwiP1wiXCI6XCJhbHBoYShvcGFj aXR5PVwiK2IqMTAwK1wiKVwifWZ1bmN0aW9uIFYoYSxiKXthLnN0eWxlLmRpc3Bs YXk9Yj9cIlwiOlwibm9uZVwifTtmdW5jdGlvbiBpZCgpe30oZnVuY3Rpb24oYSl7 YS5hYj1mdW5jdGlvbigpe3JldHVybiBhLkxifHwoYS5MYj1uZXcgYSl9fSkoaWQp O2lkLnByb3RvdHlwZS5hPTA7aWQuYWIoKTtmdW5jdGlvbiBXKGEpe3RoaXMuYz1h fHxIKCk7dGhpcy5XYj1qZH13KFcsUyk7Vy5wcm90b3R5cGUuTmI9aWQuYWIoKTt2 YXIgamQ9ajtwPVcucHJvdG90eXBlO3AuZWI9ajtwLkQ9aztwLmo9ajtwLldiPWo7 cC5QYj1qO3AuVD1qO3Auc2E9ajtwLmdhPWo7cC5hYz1rO2Z1bmN0aW9uIGtkKGEp e3JldHVybiBhLmVifHwoYS5lYj1cIjpcIisoYS5OYi5hKyspLnRvU3RyaW5nKDM2 KSl9cC5mPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07ZnVuY3Rpb24gbGQoYSl7 cmV0dXJuIGEuYXx8KGEuYT1uZXcgUGMoYSkpfXAuTmE9ZnVuY3Rpb24oYSl7aWYo dGhpcy5UJiZ0aGlzLlQhPWEpZihFcnJvcihcIk1ldGhvZCBub3Qgc3VwcG9ydGVk XCIpKTtXLnEuTmEuY2FsbCh0aGlzLGEpfTtwLnY9ZnVuY3Rpb24oKXtyZXR1cm4g dGhpcy5jfTtwLnQ9ZnVuY3Rpb24oKXt0aGlzLmo9dGhpcy5jLmNyZWF0ZUVsZW1l bnQoXCJkaXZcIil9O3AuTD1mdW5jdGlvbihhKXtpZih0aGlzLkQpZihFcnJvcihc IkNvbXBvbmVudCBhbHJlYWR5IHJlbmRlcmVkXCIpKTt0aGlzLmp8fHRoaXMudCgp O2E/YS5pbnNlcnRCZWZvcmUodGhpcy5qLGopOnRoaXMuYy5hLmJvZHkuYXBwZW5k Q2hpbGQodGhpcy5qKTtpZighdGhpcy5UfHx0aGlzLlQuRCl0aGlzLlMoKX07cC5T PWZ1bmN0aW9uKCl7dGhpcy5EPWk7bWQodGhpcyxmdW5jdGlvbihhKXshYS5EJiZh LmYoKSYmYS5TKCl9KX07cC4kPWZ1bmN0aW9uKCl7bWQodGhpcyxmdW5jdGlvbihh KXthLkQmJmEuJCgpfSk7dGhpcy5hJiZUYyh0aGlzLmEpO3RoaXMuRD1rfTtwLmk9 ZnVuY3Rpb24oKXtXLnEuaS5jYWxsKHRoaXMpO3RoaXMuRCYmdGhpcy4kKCk7aWYo dGhpcy5hKXt0aGlzLmEucigpO2RlbGV0ZSB0aGlzLmF9bWQodGhpcyxmdW5jdGlv bihhKXthLnIoKX0pOyF0aGlzLmFjJiZ0aGlzLmomJkJiKHRoaXMuaik7dGhpcy5U PXRoaXMuUGI9dGhpcy5qPXRoaXMuZ2E9dGhpcy5zYT1qfTtmdW5jdGlvbiBtZChh LGIpe2Euc2EmJkVhKGEuc2EsYix2b2lkIDApfXAucmVtb3ZlQ2hpbGQ9ZnVuY3Rp b24oYSxiKXtpZihhKXt2YXIgYz1zKGEpP2E6a2QoYSksZDtpZih0aGlzLmdhJiZj KXtkPXRoaXMuZ2E7ZD1jIGluIGQ/ZFtjXTp2b2lkIDA7ZD1kfHxqfWVsc2UgZD1q O2E9ZDtpZihjJiZhKXtkPXRoaXMuZ2E7YyBpbiBkJiZkZWxldGUgZFtjXTtGYSh0 aGlzLnNhLGEpO2lmKGIpe2EuJCgpO2EuaiYmQmIoYS5qKX1jPWE7aWYoYz09ailm KEVycm9yKFwiVW5hYmxlIHRvIHNldCBwYXJlbnQgY29tcG9uZW50XCIpKTtjLlQ9 ajtXLnEuTmEuY2FsbChjLGopfX1pZighYSlmKEVycm9yKFwiQ2hpbGQgaXMgbm90 IGluIHBhcmVudCBjb21wb25lbnRcIikpfTt2YXIgbmQ7KGZ1bmN0aW9uKCl7ZnVu Y3Rpb24gYShsKXtsPWwubWF0Y2goL1tcXGRdKy9nKTtsLmxlbmd0aD0zO3JldHVy biBsLmpvaW4oXCIuXCIpfXZhciBiPWssYz1cIlwiO2lmKG5hdmlnYXRvci5wbHVn aW5zJiZuYXZpZ2F0b3IucGx1Z2lucy5sZW5ndGgpe3ZhciBkPW5hdmlnYXRvci5w bHVnaW5zW1wiU2hvY2t3YXZlIEZsYXNoXCJdO2lmKGQpe2I9aTtpZihkLmRlc2Ny

aXB0aW9uKWM9YShkLmRlc2NyaXB0aW9uKX1pZihuYXZpZ2F0b3IucGx1Z2luc1tc IlNob2Nrd2F2ZSBGbGFzaCAyLjBcIl0pe2I9aTtjPVwiMi4wLjAuMTFcIn19ZWxz ZSBpZihuYXZpZ2F0b3IubWltZVR5cGVzJiZuYXZpZ2F0b3IubWltZVR5cGVzLmxl bmd0aCl7aWYoYj0oZD1uYXZpZ2F0b3IubWltZVR5cGVzW1wiYXBwbGljYXRpb24v eC1zaG9ja3dhdmUtZmxhc2hcIl0pJiZkLmVuYWJsZWRQbHVnaW4pYz1hKGQuZW5h YmxlZFBsdWdpbi5kZXNjcmlwdGlvbil9ZWxzZSB0cnl7ZD1uZXcgQWN0aXZlWE9i amVjdChcIlNob2Nrd2F2ZUZsYXNoLlNob2Nrd2F2ZUZsYXNoLjdcIik7Yj1pO2M9 YShkLkdldFZhcmlhYmxlKFwiJHZlcnNpb25cIikpfWNhdGNoKGcpe3RyeXtkPW5l dyBBY3RpdmVYT2JqZWN0KFwiU2hvY2t3YXZlRmxhc2guU2hvY2t3YXZlRmxhc2gu NlwiKTtiPWk7Yz1cIjYuMC4yMVwifWNhdGNoKGUpe3RyeXtkPW5ldyBBY3RpdmVY T2JqZWN0KFwiU2hvY2t3YXZlRmxhc2guU2hvY2t3YXZlRmxhc2hcIik7Yj1pO2M9 YShkLkdldFZhcmlhYmxlKFwiJHZlcnNpb25cIikpfWNhdGNoKGgpe319fW5kPWN9 KSgpO2Z1bmN0aW9uIG9kKGEsYil7Vy5jYWxsKHRoaXMsYik7dGhpcy5NYj1hO3Ro aXMuZT1uZXcgUGModGhpcyk7dGhpcy5iPW5ldyBKYn13KG9kLFcpO3A9b2QucHJv dG90eXBlO3AuT2I9Y2MoXCJnb29nLnVpLm1lZGlhLkZsYXNoT2JqZWN0XCIpO3Au cmI9XCJ3aW5kb3dcIjtwLnZiPVwiIzAwMDAwMFwiO3AuVmE9XCJzYW1lRG9tYWlu XCI7ZnVuY3Rpb24gcGQoYSxiLGMpe2EuTj1zKGIpP2I6TWF0aC5yb3VuZChiKStc InB4XCI7YS5rPXMoYyk/YzpNYXRoLnJvdW5kKGMpK1wicHhcIjthLmYoKSYmZWQo cWQoYSksYS5OLGEuayl9XG5wLlM9ZnVuY3Rpb24oKXtvZC5xLlMuY2FsbCh0aGlz KTt2YXIgYT10aGlzLmYoKSxiO2I9Qj9cJzxvYmplY3QgY2xhc3NpZD1cImNsc2lk OmQyN2NkYjZlLWFlNmQtMTFjZi05NmI4LTQ0NDU1MzU0MDAwMFwiIGlkPVwiJXNc IiBuYW1lPVwiJXNcIiBjbGFzcz1cIiVzXCI+PHBhcmFtIG5hbWU9XCJtb3ZpZVwi IHZhbHVlPVwiJXNcIi8+PHBhcmFtIG5hbWU9XCJxdWFsaXR5XCIgdmFsdWU9XCJo aWdoXCIvPjxwYXJhbSBuYW1lPVwiRmxhc2hWYXJzXCIgdmFsdWU9XCIlc1wiLz48 cGFyYW0gbmFtZT1cImJnY29sb3JcIiB2YWx1ZT1cIiVzXCIvPjxwYXJhbSBuYW1l PVwiQWxsb3dTY3JpcHRBY2Nlc3NcIiB2YWx1ZT1cIiVzXCIvPjxwYXJhbSBuYW1l PVwiYWxsb3dGdWxsU2NyZWVuXCIgdmFsdWU9XCJ0cnVlXCIvPjxwYXJhbSBuYW1l PVwiU2VhbWxlc3NUYWJiaW5nXCIgdmFsdWU9XCJmYWxzZVwiLz4lczxcL29iamVj dD5cJzpcJzxlbWJlZCBxdWFsaXR5PVwiaGlnaFwiIGlkPVwiJXNcIiBuYW1lPVwi JXNcIiBjbGFzcz1cIiVzXCIgc3JjPVwiJXNcIiBGbGFzaFZhcnM9XCIlc1wiIGJn Y29sb3I9XCIlc1wiIEFsbG93U2NyaXB0QWNjZXNzPVwiJXNcIiBhbGxvd0Z1bGxT Y3JlZW49XCJ0cnVlXCIgU2VhbWxlc3NUYWJiaW5nPVwiZmFsc2VcIiB0eXBlPVwi YXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2hcIiBwbHVnaW5zcGFnZT1cImh0 dHA6Ly93d3cubWFjcm9tZWRpYS5jb20vZ28vZ2V0Zmxhc2hwbGF5ZXJcIiAlcz48 XC9lbWJlZD5cJzt2YXIgYz1CP1wnPHBhcmFtIG5hbWU9XCJ3bW9kZVwiIHZhbHVl PVwiJXNcIi8+XCc6XCJ3bW9kZT0lc1wiO2M9cWEoYyx0aGlzLnJiKTtmb3IodmFy IGQ9dGhpcy5iLm5hKCksZz10aGlzLmIuYWEoKSxlPVtdLGg9MDtoPGQubGVuZ3Ro O2grKyl7dmFyIGw9c2EoZFtoXSksbT1zYShnW2hdKTtlLnB1c2gobCtcIj1cIitt KX1iPXFhKGIsa2QodGhpcyksa2QodGhpcyksXCJnb29nLXVpLW1lZGlhLWZsYXNo LW9iamVjdFwiLHgodGhpcy5NYikseChlLmpvaW4oXCImXCIpKSx0aGlzLnZiLHRo aXMuVmEsYyk7YS5pbm5lckhUTUw9Yjt0aGlzLk4mJnRoaXMuayYmcGQodGhpcyx0 aGlzLk4sdGhpcy5rKTtVKHRoaXMuZSx0aGlzLmYoKSxuYihqYyksaGMpfTtwLnQ9 ZnVuY3Rpb24oKXtpZih0aGlzLnAhPWomJiEoeWEobmQsdGhpcy5wKT49MCkpe3Ro aXMuT2IubG9nKFZiLFwiUmVxdWlyZWQgZmxhc2ggdmVyc2lvbiBub3QgZm91bmQ6 XCIrdGhpcy5wLHZvaWQgMCk7ZihFcnJvcihcIk1ldGhvZCBub3Qgc3VwcG9ydGVk XCIpKX12YXIgYT10aGlzLnYoKS5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2EuY2xh c3NOYW1lPVwiZ29vZy11aS1tZWRpYS1mbGFzaFwiO3RoaXMuaj1hfTtmdW5jdGlv biBxZChhKXtyZXR1cm4gYS5mKCk/YS5mKCkuZmlyc3RDaGlsZDpqfXAuaT1mdW5j dGlvbigpe29kLnEuaS5jYWxsKHRoaXMpO3RoaXMuYj1qO3RoaXMuZS5yKCk7dGhp cy5lPWp9O2Z1bmN0aW9uIHJkKGEpe2lmKCFhLkR8fCFhLmYoKSlyZXR1cm4gaztp ZihxZChhKS5yZWFkeVN0YXRlJiZxZChhKS5yZWFkeVN0YXRlPT00KXJldHVybiBp O2lmKHFkKGEpLlBlcmNlbnRMb2FkZWQmJnFkKGEpLlBlcmNlbnRMb2FkZWQoKT09 MTAwKXJldHVybiBpO3JldHVybiBrfTt2YXIgc2Q9e2RjOlwiYnJlYWtTdGFydGVk XCIsY2M6XCJicmVha0VuZGVkXCIsWWM6XCJzY3JpcHRGZXRjaGVkXCIsWmM6XCJz Y3JpcHRUaW1lb3V0XCIsa2M6XCJjdXN0b21cIixnYzpcImNsaWNrVGhydVwiLENj OlwibGluZWFyQ2hhbmdlZFwiLGhjOlwiY29tcGFuaW9uXCIsS2M6XCJub0NvbXBh bmlvblwiLFNjOlwicGF1c2VkXCIsWGM6XCJyZXN1bWVkXCIsamQ6XCJ2b2x1bWVD aGFuZ2VkXCIsTmM6XCJvdmVybGF5U3RhcnRlZFwiLE9jOlwib3ZlcmxheVN0b3Bw ZWRcIixNYzpcIm92ZXJsYXlFeHBhbmRlZFwiLExjOlwib3ZlcmxheUNvbGxhcHNl ZFwiLHRiOlwiZXJyb3JcIn07ZnVuY3Rpb24gdGQoYSl7dGhpcy5vPWNjKFwiYWRh

cHR2LmFkcy5WUEFJREFkXCIpO3RoaXMuby5pbmZvKFwiVlBBSURBZCgpXCIpO3Ro aXMuYj1hO3RoaXMuYT1bXX1mdW5jdGlvbiB1ZChhLGIsYyl7RWEoYS5hLGZ1bmN0 aW9uKGQpe2lmKGQudHlwZT09Yil7Yz1jfHx7fTtkLmZuLmNhbGwoZC5zY29wZSx7 dGFyZ2V0OnRoaXMsdHlwZTpiLGRhdGE6Y30pfX0pfVxudGQucHJvdG90eXBlLmlu aXRBZD1mdW5jdGlvbihhLGIsYyl7dGhpcy53aWR0aD1hO3RoaXMuaGVpZ2h0PWI7 dmFyIGQ9XCJodHRwczpcIj09ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2w/XCJo dHRwczovL3NlY3VyZS1hc3NldHMuYWRhcC50dlwiOlwiaHR0cDovL3JlZGlyLmFk YXAudHZcIixnPW5ldyBvZChkK1wiL3JlZGlyL2NsaWVudC9zd2Zsb2FkZXIuc3dm P2lkPXN3ZmxvYWRlclwiKTtwZChnLGEsYik7Zy5yYj1cIm9wYXF1ZVwiO2cucD1c IjkuMC4xMjRcIjtnLlZhPVwiYWx3YXlzXCI7Zy5MKHNiKHRoaXMuYikpO2cuZigp LmlkPVwiYWRhcHR2RGl2XCI7dmFyIGU9c2V0SW50ZXJ2YWwodChmdW5jdGlvbigp e2lmKCEoIXJkKGcpfHx3aW5kb3cuX19hZGFwdHZfXy5qc3Byb3h5PT1qfHx3aW5k b3cuX19hZGFwdHZfXy5qc3Byb3h5W2tkKGcpXT09aikpaWYocmQoZykmJndpbmRv dy5fX2FkYXB0dl9fLmpzcHJveHkhPWope2NsZWFySW50ZXJ2YWwoZSk7dGhpcy5C YT13aW5kb3cuX19hZGFwdHZfXy5qc3Byb3h5W2tkKGcpXS5zd2Zsb2FkZXI7dGhp cy5CYS5fX29uKFwiYWRhcHR2X3N3ZmxvYWRlcl9Td2ZMb2FkZWRcIixmdW5jdGlv bigpe2Z1bmN0aW9uIGgobCl7dGhpcy5vLmluZm8oXCJbQWRQbGF5ZXJFdmVudF0g XCIrbC50eXBlLGwuZGF0YSk7c3dpdGNoKGwudHlwZSl7Y2FzZVwic2NyaXB0RmV0 Y2hlZFwiOmwuZGF0YS5oYXNQcmVyb2xsPT09aT91ZCh0aGlzLFguU2EpOnVkKHRo aXMsWC5FYSx7bWVzc2FnZTpsLmRhdGEubWVzc2FnZXx8XCJObyBwcmVyb2xsIGFk IGF2YWlsYWJsZSBpbiBjb250cm9sIHNjcmlwdFwifSk7YnJlYWs7Y2FzZVwiYnJl YWtTdGFydGVkXCI6dWQodGhpcyxYLlRhKTticmVhaztjYXNlXCJjbGlja1RocnVc Ijp1ZCh0aGlzLFguc2IsbC5kYXRhKTticmVhaztjYXNlXCJjb21wYW5pb25cIjp1 ZCh0aGlzLFguUmEsbC5kYXRhKTticmVhaztjYXNlXCJicmVha0VuZGVkXCI6dmFy IG09T2MoZnVuY3Rpb24oKXtMYy5jbGVhclRpbWVvdXQobSk7dWQodGhpcyxYLlVh KX0sNTAwLHRoaXMpfX10aGlzLm8uaW5mbyhcInN3ZmxvYWRlciBsb2FkZWRcIik7 dGhpcy5IPXdpbmRvdy5fX2FkYXB0dl9fLmpzcHJveHlba2QoZyldLmFkcGxheWVy O21iKHNkLGZ1bmN0aW9uKGwpe3RoaXMuSC5fX29uKGwsaCx0aGlzKX0sdGhpcyk7 dGhpcy5ILmFwaVZlcnNpb24oXCIyLjFcIik7dGhpcy5ILnNldE1ldGFkYXRhKGMp O3RoaXMuSC5zZXRDb250ZW50U2l6ZSg1MDAsNDAwKTt0aGlzLkguc2V0SFRNTFNp emUoYSxiLDAsMCk7dGhpcy5ILmZldGNoU2NyaXB0KCl9LHRoaXMpO3RoaXMuQmEu X19vbihcImFkYXB0dl9zd2Zsb2FkZXJfU3dmTG9hZEVycm9yXCIsZnVuY3Rpb24o KXt0aGlzLm8uaW5mbyhcInN3ZmxvYWRlciBsb2FkIGVycm9yXCIpO3VkKHRoaXMs WC5FYSl9LHRoaXMpO3RoaXMuQmEuaW5pdCg1MDAsNDAwKTt0aGlzLkJhLmxvYWQo ZCtcIi9yZWRpci9jbGllbnQvc3RhdGljL0FTM0FkUGxheWVyLnN3ZlwiLFwiYWRw bGF5ZXJcIix7ZXZlbnRzOm5iKHNkKX0pfX0sdGhpcyksNTAwKX07dGQucHJvdG90 eXBlLnN0YXJ0QWQ9ZnVuY3Rpb24oKXt0aGlzLkguc3RhcnRCcmVhaygpfTtmdW5j dGlvbiB2ZChhLGIsYyxkKXthLmEucHVzaCh7dHlwZTpiLGZuOmMsc2NvcGU6ZH0p fXRkLnByb3RvdHlwZS5yPWZ1bmN0aW9uKCl7dGhpcy5ILmRlc3Ryb3koKX07dmFy IFg9e1NhOlwiQWRMb2FkZWRcIixUYTpcIkFkU3RhcnRlZFwiLFJhOlwiQWRDb21w YW5pb25EaXNwbGF5XCIsc2I6XCJBZENsaWNrVGhydVwiLFVhOlwiQWRTdG9wcGVk XCIsRWE6XCJBZEVycm9yXCJ9O2Z1bmN0aW9uIHdkKGEsYixjLGQsZyxlKXtpZihz KGEpKXt0aGlzLnA9YT09eGQ/YjowO3RoaXMuZT1hPT15ZD9iOjA7dGhpcy5hPWE9 PXpkP2I6MDt0aGlzLmI9YT09QWQ/YjowO3RoaXMuYz1hPT1CZD9iOjA7dGhpcy5r PWE9PUNkP2I6MH1lbHNle3RoaXMucD1hfHwwO3RoaXMuZT1ifHwwO3RoaXMuYT1j fHwwO3RoaXMuYj1kfHwwO3RoaXMuYz1nfHwwO3RoaXMuaz1lfHwwfX13ZC5wcm90 b3R5cGUuSj1mdW5jdGlvbigpe3JldHVybiBuZXcgd2QodGhpcy5wLHRoaXMuZSx0 aGlzLmEsdGhpcy5iLHRoaXMuYyx0aGlzLmspfTt2YXIgeGQ9XCJ5XCIseWQ9XCJt XCIsemQ9XCJkXCIsQWQ9XCJoXCIsQmQ9XCJuXCIsQ2Q9XCJzXCI7ZnVuY3Rpb24g RGQoYSl7QmEoYS5wPT0wJiZhLmU9PTApO3JldHVybigoYS5hKjI0K2EuYikqNjAr YS5jKSo2MCthLmt9XG5mdW5jdGlvbiBFZChhLGIsYyl7aWYodHlwZW9mIGE9PVwi bnVtYmVyXCIpe3RoaXMuYT1uZXcgRGF0ZShhLGJ8fDAsY3x8MSk7RmQodGhpcyxj fHwxKX1lbHNlIGlmKGdhKGEpKXt0aGlzLmE9bmV3IERhdGUoYS5nZXRGdWxsWWVh cigpLGEuZ2V0TW9udGgoKSxhLmdldERhdGUoKSk7RmQodGhpcyxhLmdldERhdGUo KSl9ZWxzZXt0aGlzLmE9bmV3IERhdGU7dGhpcy5hLnNldEhvdXJzKDApO3RoaXMu YS5zZXRNaW51dGVzKDApO3RoaXMuYS5zZXRTZWNvbmRzKDApO3RoaXMuYS5zZXRN aWxsaXNlY29uZHMoMCl9fXA9RWQucHJvdG90eXBlO3Aua2E9MDtwLmxhPTM7cC5K PWZ1bmN0aW9uKCl7dmFyIGE9bmV3IEVkKHRoaXMuYSk7YS5rYT10aGlzLmthO2Eu bGE9dGhpcy5sYTtyZXR1cm4gYX07cC5nZXRGdWxsWWVhcj1mdW5jdGlvbigpe3Jl dHVybiB0aGlzLmEuZ2V0RnVsbFllYXIoKX07cC5nZXRNb250aD1mdW5jdGlvbigp

e3JldHVybiB0aGlzLmEuZ2V0TW9udGgoKX07cC5nZXREYXRlPWZ1bmN0aW9uKCl7 cmV0dXJuIHRoaXMuYS5nZXREYXRlKCl9O3AuZ2V0VGltZT1mdW5jdGlvbigpe3Jl dHVybiB0aGlzLmEuZ2V0VGltZSgpfTtmdW5jdGlvbiBHZChhKXthPWEuYS5nZXRU aW1lem9uZU9mZnNldCgpO2lmKGE9PTApYT1cIlpcIjtlbHNle3ZhciBiPU1hdGgu YWJzKGEpLzYwLGM9TWF0aC5mbG9vcihiKTthPShhPjA/XCItXCI6XCIrXCIpK3ko YykrXCI6XCIreSgoYi1jKSo2MCl9cmV0dXJuIGF9XG5wLkphPWZ1bmN0aW9uKGEp e2lmKGEucHx8YS5lKXt2YXIgYj10aGlzLmdldE1vbnRoKCkrYS5lK2EucCoxMixj PXRoaXMuZ2V0RnVsbFllYXIoKStNYXRoLmZsb29yKGIvMTIpO2IlPTEyO2lmKGI8 MCliKz0xMjt2YXIgZDthOntzd2l0Y2goYil7Y2FzZSAxOmQ9YyU0PT0wJiYoYyUx MDAhPTB8fGMlNDAwPT0wKT8yOToyODticmVhayBhO2Nhc2UgNTpjYXNlIDg6Y2Fz ZSAxMDpjYXNlIDM6ZD0zMDticmVhayBhfWQ9MzF9ZD1NYXRoLm1pbihkLHRoaXMu Z2V0RGF0ZSgpKTt0aGlzLmEuc2V0RGF0ZSgxKTt0aGlzLmEuc2V0RnVsbFllYXIo Yyk7dGhpcy5hLnNldE1vbnRoKGIpO3RoaXMuYS5zZXREYXRlKGQpfWlmKGEuYSl7 YT1uZXcgRGF0ZSgobmV3IERhdGUodGhpcy5nZXRGdWxsWWVhcigpLHRoaXMuZ2V0 TW9udGgoKSx0aGlzLmdldERhdGUoKSwxMikpLmdldFRpbWUoKSthLmEqODY0RTUp O3RoaXMuYS5zZXREYXRlKDEpO3RoaXMuYS5zZXRGdWxsWWVhcihhLmdldEZ1bGxZ ZWFyKCkpO3RoaXMuYS5zZXRNb250aChhLmdldE1vbnRoKCkpO3RoaXMuYS5zZXRE YXRlKGEuZ2V0RGF0ZSgpKTtGZCh0aGlzLGEuZ2V0RGF0ZSgpKX19O3Aub2E9ZnVu Y3Rpb24oYSxiKXtyZXR1cm5bdGhpcy5nZXRGdWxsWWVhcigpLHkodGhpcy5nZXRN b250aCgpKzEpLHkodGhpcy5nZXREYXRlKCkpXS5qb2luKGE/XCItXCI6XCJcIikr KGI/R2QodGhpcyk6XCJcIil9O3AudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4g dGhpcy5vYSgpfTtmdW5jdGlvbiBGZChhLGIpe2lmKGEuZ2V0RGF0ZSgpIT1iKWEu YS5zZXRVVENIb3VycyhhLmEuZ2V0VVRDSG91cnMoKSsoYS5nZXREYXRlKCk8Yj8x Oi0xKSl9cC52YWx1ZU9mPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYS52YWx1ZU9m KCl9O2Z1bmN0aW9uIFkoYSxiLGMsZCxnLGUsaCl7dGhpcy5hPXR5cGVvZiBhPT1c Im51bWJlclwiP25ldyBEYXRlKGEsYnx8MCxjfHwxLGR8fDAsZ3x8MCxlfHwwLGh8 fDApOm5ldyBEYXRlKGE/YS5nZXRUaW1lKCk6dSgpKX1cbncoWSxFZCk7WS5wcm90 b3R5cGUuSmE9ZnVuY3Rpb24oYSl7RWQucHJvdG90eXBlLkphLmNhbGwodGhpcyxh KTthLmImJnRoaXMuYS5zZXRIb3Vycyh0aGlzLmEuZ2V0SG91cnMoKSthLmIpO2Eu YyYmdGhpcy5hLnNldE1pbnV0ZXModGhpcy5hLmdldE1pbnV0ZXMoKSthLmMpO2Eu ayYmdGhpcy5hLnNldFNlY29uZHModGhpcy5hLmdldFNlY29uZHMoKSthLmspfTtZ LnByb3RvdHlwZS5vYT1mdW5jdGlvbihhLGIpe3ZhciBjPUVkLnByb3RvdHlwZS5v YS5jYWxsKHRoaXMsYSk7aWYoYSlyZXR1cm4gYytcIiBcIit5KHRoaXMuYS5nZXRI b3VycygpKStcIjpcIit5KHRoaXMuYS5nZXRNaW51dGVzKCkpK1wiOlwiK3kodGhp cy5hLmdldFNlY29uZHMoKSkrKGI/R2QodGhpcyk6XCJcIik7cmV0dXJuIGMrXCJU XCIreSh0aGlzLmEuZ2V0SG91cnMoKSkreSh0aGlzLmEuZ2V0TWludXRlcygpKSt5 KHRoaXMuYS5nZXRTZWNvbmRzKCkpKyhiP0dkKHRoaXMpOlwiXCIpfTtZLnByb3Rv dHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9hKCl9O1kucHJv dG90eXBlLko9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgWSh0aGlzLmEpO2Eua2E9dGhp cy5rYTthLmxhPXRoaXMubGE7cmV0dXJuIGF9O2Z1bmN0aW9uIEhkKGEpe3RoaXMu Uj1hfHx3aW5kb3c7dGhpcy52YT1QKHRoaXMuUixcInJlc2l6ZVwiLHRoaXMuSmIs ayx0aGlzKTt0aGlzLkFhPXZiKHRoaXMuUnx8d2luZG93KTtpZihDJiZRYXx8QSYm dGhpcy5SLnNlbGYhPXRoaXMuUi50b3ApdGhpcy5EYT13aW5kb3cuc2V0SW50ZXJ2 YWwodCh0aGlzLlhhLHRoaXMpLElkKX13KEhkLFMpO3ZhciBJZD01MDA7cD1IZC5w cm90b3R5cGU7cC52YT1qO3AuUj1qO3AuQWE9ajtwLkRhPWo7cC5pPWZ1bmN0aW9u KCl7SGQucS5pLmNhbGwodGhpcyk7aWYodGhpcy52YSl7USh0aGlzLnZhKTt0aGlz LnZhPWp9aWYodGhpcy5EYSl7d2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5EYSk7 dGhpcy5EYT1qfXRoaXMuQWE9dGhpcy5SPWp9O3AuSmI9ZnVuY3Rpb24oKXt0aGlz LlhhKCl9O3AuWGE9ZnVuY3Rpb24oKXt2YXIgYT12Yih0aGlzLlJ8fHdpbmRvdyks YjtiPXRoaXMuQWE7Yj1hPT1iP2k6IWF8fCFiP2s6YS53aWR0aD09Yi53aWR0aCYm YS5oZWlnaHQ9PWIuaGVpZ2h0O2lmKCFiKXt0aGlzLkFhPWE7Uih0aGlzLFwicmVz aXplXCIpfX07dmFyIEpkPS9cXHMqO1xccyovO2Z1bmN0aW9uIEtkKGEsYil7dmFy IGM9ODY0MDA7aWYoL1s7PVxcc10vLnRlc3QoYSkpZihFcnJvcihcJ0ludmFsaWQg Y29va2llIG5hbWUgXCJcJythK1wnXCJcJykpO2lmKC9bO1xcclxcbl0vLnRlc3Qo YikpZihFcnJvcihcJ0ludmFsaWQgY29va2llIHZhbHVlIFwiXCcrYitcJ1wiXCcp KTtjIT09dW5kZWZpbmVkfHwoYz0tMSk7Yz1jPDA/XCJcIjpjPT0wP1wiO2V4cGly ZXM9XCIrKG5ldyBEYXRlKDE5NzAsMSwxKSkudG9VVENTdHJpbmcoKTpcIjtleHBp cmVzPVwiKyhuZXcgRGF0ZSh1KCkrYyoxRTMpKS50b1VUQ1N0cmluZygpO2RvY3Vt ZW50LmNvb2tpZT1hK1wiPVwiK2IrXCI7ZG9tYWluPS5hZGFwLnR2O3BhdGg9L1wi K2MrXCJcIn1mdW5jdGlvbiBMZChhKXthPWErXCI9XCI7Zm9yKHZhciBiPShkb2N1

bWVudC5jb29raWV8fFwiXCIpLnNwbGl0KEpkKSxjPTAsZDtkPWJbY107YysrKWlm KGQuaW5kZXhPZihhKT09MClyZXR1cm4gZC5zdWJzdHIoYS5sZW5ndGgpO3JldHVy blwiMFwifTtmdW5jdGlvbiBNZChhKXthLnNldEF0dHJpYnV0ZShcInJvbGVcIixc ImRpYWxvZ1wiKTthLmE9XCJkaWFsb2dcIn07ZnVuY3Rpb24gTmQoYSl7dGhpcy5q PWE7YT1CP1wiZm9jdXNvdXRcIjpcImJsdXJcIjt0aGlzLmE9UCh0aGlzLmosQj9c ImZvY3VzaW5cIjpcImZvY3VzXCIsdGhpcywhQik7dGhpcy5iPVAodGhpcy5qLGEs dGhpcywhQil9dyhOZCxTKTtOZC5wcm90b3R5cGUuaGFuZGxlRXZlbnQ9ZnVuY3Rp b24oYSl7dmFyIGI9bmV3IEwoYS5HKTtiLnR5cGU9YS50eXBlPT1cImZvY3VzaW5c Inx8YS50eXBlPT1cImZvY3VzXCI/XCJmb2N1c2luXCI6XCJmb2N1c291dFwiO3Ry eXtSKHRoaXMsYil9ZmluYWxseXtiLnIoKX19O05kLnByb3RvdHlwZS5pPWZ1bmN0 aW9uKCl7TmQucS5pLmNhbGwodGhpcyk7USh0aGlzLmEpO1EodGhpcy5iKTtkZWxl dGUgdGhpcy5qfTtmdW5jdGlvbiBPZChhLGIsYyl7dGhpcy50YXJnZXQ9YTt0aGlz LmU9Ynx8YTt0aGlzLms9Y3x8bmV3IFVjKE5hTixOYU4sTmFOLE5hTik7dGhpcy5j PUkoYSk7dGhpcy5hPW5ldyBQYyh0aGlzKTtQKHRoaXMuZSxcIm1vdXNlZG93blwi LHRoaXMubGIsayx0aGlzKX13KE9kLFMpO3ZhciBQZD1CfHxWYSYmRChcIjEuOS4z XCIpO3A9T2QucHJvdG90eXBlO3AuYmE9MDtwLmNhPTA7cC5tYj0wO3AubmI9MDtw Llg9MDtwLlk9MDtwLiRhPWk7cC5JPWs7cC5kYj0wO3AuUWI9MDtwLktiPWs7cC5p PWZ1bmN0aW9uKCl7T2QucS5pLmNhbGwodGhpcyk7RmModGhpcy5lLFwibW91c2Vk b3duXCIsdGhpcy5sYixrLHRoaXMpO3RoaXMuYS5yKCk7ZGVsZXRlIHRoaXMudGFy Z2V0O2RlbGV0ZSB0aGlzLmU7ZGVsZXRlIHRoaXMuYX07cC5sYj1mdW5jdGlvbihh KXtpZih0aGlzLiRhJiYhdGhpcy5JJiYoYS50eXBlIT1cIm1vdXNlZG93blwifHwo ZmM/YS5HLmJ1dHRvbj09MDphLnR5cGU9PVwiY2xpY2tcInx8YS5HLmJ1dHRvbiZs Y1swXSkpKXtpZih0aGlzLmRiPT0wKXtRZCh0aGlzLGEpO2lmKHRoaXMuSSlhLkso KTtlbHNlIHJldHVybn1lbHNlIGEuSygpO3ZhciBiPXRoaXMuYyxjPWIuZG9jdW1l bnRFbGVtZW50LGQ9IVBkO1UodGhpcy5hLGIsXCJtb3VzZW1vdmVcIix0aGlzLlJi LGQpO1UodGhpcy5hLGIsXCJtb3VzZXVwXCIsdGhpcy5qYSxkKTtpZihQZCl7Yy5z ZXRDYXB0dXJlKGspO1UodGhpcy5hLGMsXCJsb3NlY2FwdHVyZVwiLHRoaXMuamEp fWVsc2UgVSh0aGlzLmEsd2IoYiksXCJibHVyXCIsdGhpcy5qYSk7QiYmdGhpcy5L YiYmVSh0aGlzLmEsYixcImRyYWdzdGFydFwiLGljKTt0aGlzLnAmJlUodGhpcy5h LHRoaXMucCxcInNjcm9sbFwiLHRoaXMuVGIsZCk7dGhpcy5iYT10aGlzLm1iPWEu cGE7dGhpcy5jYT10aGlzLm5iPWEucWE7dGhpcy5YPXRoaXMudGFyZ2V0Lm9mZnNl dExlZnQ7dGhpcy5ZPXRoaXMudGFyZ2V0Lm9mZnNldFRvcDt0aGlzLmI9RGIoSCh0 aGlzLmMpKTt0aGlzLlFiPXUoKX19O2Z1bmN0aW9uIFFkKGEsYil7aWYoUihhLG5l dyBSZChcInN0YXJ0XCIsYSxiLmNsaWVudFgsYi5jbGllbnRZLGIpKSE9PWspYS5J PWl9cC5qYT1mdW5jdGlvbihhLGIpe1RjKHRoaXMuYSk7UGQmJnRoaXMuYy5yZWxl YXNlQ2FwdHVyZSgpO2lmKHRoaXMuSSl7dGhpcy5JPWs7Uih0aGlzLG5ldyBSZChc ImVuZFwiLHRoaXMsYS5jbGllbnRYLGEuY2xpZW50WSxhLFNkKHRoaXMsdGhpcy5Y KSxUZCh0aGlzLHRoaXMuWSksYikpfX07cC5SYj1mdW5jdGlvbihhKXtpZih0aGlz LiRhKXt2YXIgYj1hLnBhLXRoaXMuYmEsYz1hLnFhLXRoaXMuY2E7dGhpcy5iYT1h LnBhO3RoaXMuY2E9YS5xYTtpZighdGhpcy5JKXt2YXIgZD10aGlzLm1iLXRoaXMu YmEsZz10aGlzLm5iLXRoaXMuY2E7aWYoZCpkK2cqZz50aGlzLmRiKXtRZCh0aGlz LGEpO2lmKCF0aGlzLkkpe3RoaXMuamEoYSk7cmV0dXJufX19Yz1VZCh0aGlzLGIs Yyk7Yj1jLng7Yz1jLnk7aWYodGhpcy5JKWlmKFIodGhpcyxuZXcgUmQoXCJiZWZv cmVkcmFnXCIsdGhpcyxhLmNsaWVudFgsYS5jbGllbnRZLGEsYixjKSkhPT1rKXtW ZCh0aGlzLGEsYixjKTthLksoKX19fTtmdW5jdGlvbiBVZChhLGIsYyl7dmFyIGQ9 RGIoSChhLmMpKTtiKz1kLngtYS5iLng7Yys9ZC55LWEuYi55O2EuYj1kO2EuWCs9 YjthLlkrPWM7cmV0dXJuIG5ldyBFKFNkKGEsYS5YKSxUZChhLGEuWSkpfVxucC5U Yj1mdW5jdGlvbihhKXt2YXIgYj1VZCh0aGlzLDAsMCk7YS5jbGllbnRYPXRoaXMu Yi54LXRoaXMuYmE7YS5jbGllbnRZPXRoaXMuYi54LXRoaXMuY2E7VmQodGhpcyxh LGIueCxiLnkpfTtmdW5jdGlvbiBWZChhLGIsYyxkKXthLnRhcmdldC5zdHlsZS5s ZWZ0PWMrXCJweFwiO2EudGFyZ2V0LnN0eWxlLnRvcD1kK1wicHhcIjtSKGEsbmV3 IFJkKFwiZHJhZ1wiLGEsYi5jbGllbnRYLGIuY2xpZW50WSxiLGMsZCkpfWZ1bmN0 aW9uIFNkKGEsYil7dmFyIGM9YS5rLGQ9IWlzTmFOKGMubGVmdCk/Yy5sZWZ0Omo7 Yz0haXNOYU4oYy53aWR0aCk/Yy53aWR0aDowO3JldHVybiBNYXRoLm1pbihkIT1q P2QrYzpJbmZpbml0eSxNYXRoLm1heChkIT1qP2Q6LUluZmluaXR5LGIpKX1cbmZ1 bmN0aW9uIFRkKGEsYil7dmFyIGM9YS5rLGQ9IWlzTmFOKGMudG9wKT9jLnRvcDpq O2M9IWlzTmFOKGMuaGVpZ2h0KT9jLmhlaWdodDowO3JldHVybiBNYXRoLm1pbihk IT1qP2QrYzpJbmZpbml0eSxNYXRoLm1heChkIT1qP2Q6LUluZmluaXR5LGIpKX1m dW5jdGlvbiBSZChhLGIsYyxkLGcsZSxoLGwpe0suY2FsbCh0aGlzLGEpO3RoaXMu Y2xpZW50WD1jO3RoaXMuY2xpZW50WT1kO3RoaXMuYj1nO3RoaXMubGVmdD1lIT09

dW5kZWZpbmVkP2U6Yi5YO3RoaXMudG9wPWghPT11bmRlZmluZWQ/aDpiLlk7dGhp cy5lPWI7dGhpcy5jPSEhbH13KFJkLEspO2Z1bmN0aW9uIFdkKGEsYixjKXtXLmNh bGwodGhpcyxjKTt0aGlzLnc9YXx8XCJtb2RhbC1kaWFsb2dcIjt0aGlzLlBhPSEh Yjt0aGlzLno9WGQoKX13KFdkLFcpO3A9V2QucHJvdG90eXBlO3AubWE9ajtwLkFi PWk7cC51YT1pO3AuUGE9aztwLnhhPWk7cC5aPWk7cC5HYT0wLjU7cC5xYj1cIlwi O3AuSWE9XCJcIjtwLno9ajtwLkE9ajtwLkNhPWs7cC5aYT1rO3AubD1qO3Aubj1q O3AuVz1qO3AuZmE9ajtwLnBiPWo7cC5RPWo7cC5oYT1qO3AuQz1qO2Z1bmN0aW9u IFlkKGEsYil7YS5xYj1iO2lmKGEuZmEpe3ZhciBjPWEuZmE7aWYoXCJ0ZXh0Q29u dGVudFwiaW4gYyljLnRleHRDb250ZW50PWI7ZWxzZSBpZihjLmZpcnN0Q2hpbGQm JmMuZmlyc3RDaGlsZC5ub2RlVHlwZT09Myl7Zm9yKDtjLmxhc3RDaGlsZCE9Yy5m aXJzdENoaWxkOyljLnJlbW92ZUNoaWxkKGMubGFzdENoaWxkKTtjLmZpcnN0Q2hp bGQuZGF0YT1ifWVsc2V7Zm9yKHZhciBkO2Q9Yy5maXJzdENoaWxkOyljLnJlbW92 ZUNoaWxkKGQpO2MuYXBwZW5kQ2hpbGQoSShjKS5jcmVhdGVUZXh0Tm9kZShiKSl9 fX1mdW5jdGlvbiBaZChhLGIpe2EuSWE9YjtpZihhLmhhKWEuaGEuaW5uZXJIVE1M PWJ9ZnVuY3Rpb24gJGQoYSl7YS5mKCl8fGEuTCgpO3JldHVybiBhLlF9ZnVuY3Rp b24gYWUoYSl7YS5mKCl8fGEuTCgpO3JldHVybiBhLmx9ZnVuY3Rpb24gYmUoYSxi KXthLkdhPWI7YS5sJiZoZChhLmwsYS5HYSl9XG5mdW5jdGlvbiBjZShhKXthLlo9 aztpZihhLlomJiFhLkEmJmEuZigpKWEuQT1kZShhKTtlbHNlIGlmKCFhLlomJmEu QSl7YS5mKCkmJmxiKGEuVyxhLncrXCItdGl0bGUtZHJhZ2dhYmxlXCIpO2EuQS5y KCk7YS5BPWp9fWZ1bmN0aW9uIGRlKGEpe3ZhciBiPW5ldyBPZChhLmYoKSxhLlcp O2tiKGEuVyxhLncrXCItdGl0bGUtZHJhZ2dhYmxlXCIpO3JldHVybiBifVxucC50 PWZ1bmN0aW9uKCl7aWYodGhpcy5QYSYmdGhpcy54YSYmIXRoaXMubil7dGhpcy5u PXRoaXMudigpLnQoXCJpZnJhbWVcIix7ZnJhbWVib3JkZXI6MCxzdHlsZTpcImJv cmRlcjowO3ZlcnRpY2FsLWFsaWduOmJvdHRvbTtcIixzcmM6XCdqYXZhc2NyaXB0 OlwiXCJcJ30pO3RoaXMubi5jbGFzc05hbWU9dGhpcy53K1wiLWJnXCI7Vih0aGlz Lm4sayk7aGQodGhpcy5uLDApfWVsc2UgaWYoKCF0aGlzLlBhfHwhdGhpcy54YSkm JnRoaXMubil7QmIodGhpcy5uKTt0aGlzLm49an1pZih0aGlzLnhhJiYhdGhpcy5s KXt0aGlzLmw9dGhpcy52KCkudChcImRpdlwiLHRoaXMudytcIi1iZ1wiKTtoZCh0 aGlzLmwsdGhpcy5HYSk7Vih0aGlzLmwsayl9ZWxzZSBpZighdGhpcy54YSYmdGhp cy5sKXtCYih0aGlzLmwpO3RoaXMubD1qfXZhciBhPXRoaXMudigpO3RoaXMuaj1h LnQoXCJkaXZcIix7Y2xhc3NOYW1lOnRoaXMudyx0YWJJbmRleDowfSx0aGlzLlc9 YS50KFwiZGl2XCIse2NsYXNzTmFtZTp0aGlzLncrXCItdGl0bGVcIixpZDprZCh0 aGlzKX0sdGhpcy5mYT1hLnQoXCJzcGFuXCIsdGhpcy53K1wiLXRpdGxlLXRleHRc Iix0aGlzLnFiKSx0aGlzLlE9YS50KFwic3BhblwiLHRoaXMudytcIi10aXRsZS1j bG9zZVwiKSksdGhpcy5oYT1hLnQoXCJkaXZcIix0aGlzLncrXCItY29udGVudFwi KSx0aGlzLkM9YS50KFwiZGl2XCIsdGhpcy53K1wiLWJ1dHRvbnNcIiksdGhpcy5i PWEudChcInNwYW5cIix7dGFiSW5kZXg6MH0pKTt0aGlzLnBiPXRoaXMuVy5pZDtN ZCh0aGlzLmYoKSk7dGhpcy5mKCkuc2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbGxl ZGJ5XCIsdGhpcy5wYnx8XCJcIik7aWYodGhpcy5JYSl0aGlzLmhhLmlubmVySFRN TD10aGlzLklhO1YodGhpcy5RLHRoaXMudWEpO1YodGhpcy5mKCksayk7aWYodGhp cy56KXthPXRoaXMuejthLmo9dGhpcy5DO2VlKGEpfX07cC5MPWZ1bmN0aW9uKGEp e2lmKHRoaXMuRClmKEVycm9yKFwiQ29tcG9uZW50IGFscmVhZHkgcmVuZGVyZWRc IikpO3RoaXMuZigpfHx0aGlzLnQoKTthPWF8fENiKHRoaXMudigpKS5ib2R5O3Ro aXMubiYmYS5hcHBlbmRDaGlsZCh0aGlzLm4pO3RoaXMubCYmYS5hcHBlbmRDaGls ZCh0aGlzLmwpO1dkLnEuTC5jYWxsKHRoaXMsYSl9O3AuUz1mdW5jdGlvbigpe1dk LnEuUy5jYWxsKHRoaXMpO3RoaXMubWE9bmV3IE5kKENiKHRoaXMudigpKSk7aWYo dGhpcy5aJiYhdGhpcy5BKXRoaXMuQT1kZSh0aGlzKTtVKFUobGQodGhpcyksdGhp cy5RLFwiY2xpY2tcIix0aGlzLlViKSx0aGlzLm1hLFwiZm9jdXNpblwiLHRoaXMu U2IpO01kKHRoaXMuZigpKTt0aGlzLmZhLmlkIT09XCJcIiYmdGhpcy5mKCkuc2V0 QXR0cmlidXRlKFwiYXJpYS1sYWJlbGxlZGJ5XCIsdGhpcy5mYS5pZCl9O3AuJD1m dW5jdGlvbigpe3RoaXMuQ2EmJmZlKHRoaXMsayk7dGhpcy5tYS5yKCk7dGhpcy5t YT1qO2lmKHRoaXMuQSl7dGhpcy5BLnIoKTt0aGlzLkE9an1XZC5xLiQuY2FsbCh0 aGlzKX07ZnVuY3Rpb24gZmUoYSxiKXtpZihiIT1hLkNhKXt2YXIgYz1DYihhLnYo KSksZD13YihjKXx8d2luZG93O2EuRHx8YS5MKGMuYm9keSk7aWYoYil7Z2UoYSk7 YS5QKCk7VShVKFUobGQoYSksYS5mKCksXCJrZXlkb3duXCIsYS55YSksYS5mKCks XCJrZXlwcmVzc1wiLGEueWEpLGQsXCJyZXNpemVcIixhLmliKX1lbHNlIFNjKFNj KFNjKGxkKGEpLGEuZigpLFwia2V5ZG93blwiLGEueWEpLGEuZigpLFwia2V5cHJl c3NcIixhLnlhKSxkLFwicmVzaXplXCIsYS5pYik7YS5uJiZWKGEubixiKTthLmwm JlYoYS5sLGIpO1YoYS5mKCksYik7YiYmYS5mb2N1cygpO2lmKGEuQ2E9YilVKGxk KGEpLGEuQyxcImNsaWNrXCIsYS5oYik7ZWxzZXtTYyhsZChhKSxhLkMsXCJjbGlj

a1wiLGEuaGIpO1IoYSxoZSk7YS5aYSYmYS5yKCl9fX1cbnAuZm9jdXM9ZnVuY3Rp b24oKXt0cnl7dGhpcy5mKCkuZm9jdXMoKX1jYXRjaChhKXt9aWYodGhpcy56KXt2 YXIgYj10aGlzLnouaWE7aWYoYilmb3IodmFyIGM9Q2IodGhpcy52KCkpLGQ9dGhp cy5DLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiYnV0dG9uXCIpLGc9MCxlO2U9ZFtn XTtnKyspaWYoZS5uYW1lPT1iKXt0cnl7aWYoQ3x8QSl7dmFyIGg9Yy5jcmVhdGVF bGVtZW50KFwiaW5wdXRcIik7aC5zdHlsZS5jc3NUZXh0PVwicG9zaXRpb246Zml4 ZWQ7d2lkdGg6MDtoZWlnaHQ6MDtsZWZ0OjA7dG9wOjA7XCI7dGhpcy5mKCkuYXBw ZW5kQ2hpbGQoaCk7aC5mb2N1cygpO3RoaXMuZigpLnJlbW92ZUNoaWxkKGgpfWUu Zm9jdXMoKX1jYXRjaChsKXt9YnJlYWt9fX07ZnVuY3Rpb24gZ2UoYSl7YS5uJiZW KGEubixrKTthLmwmJlYoYS5sLGspO3ZhciBiPUNiKGEudigpKSxjPXZiKHdiKGIp fHx3aW5kb3d8fHdpbmRvdyksZD1NYXRoLm1heChiLmJvZHkuc2Nyb2xsV2lkdGgs Yy53aWR0aCk7Yj1NYXRoLm1heChiLmJvZHkuc2Nyb2xsSGVpZ2h0LGMuaGVpZ2h0 KTtpZihhLm4pe1YoYS5uLGkpO2VkKGEubixkLGIpfWlmKGEubCl7VihhLmwsaSk7 ZWQoYS5sLGQsYil9aWYoYS5aKXtjPWZkKGEuZigpKTthLkEuaz1uZXcgVWMoMCww LGQtYy53aWR0aCxiLWMuaGVpZ2h0KX19XG5wLlA9ZnVuY3Rpb24oKXt2YXIgYT1D Yih0aGlzLnYoKSksYj13YihhKXx8d2luZG93O2lmKFpjKHRoaXMuZigpLFwicG9z aXRpb25cIik9PVwiZml4ZWRcIil2YXIgYz1hPTA7ZWxzZXtjPURiKHRoaXMudigp KTthPWMueDtjPWMueX12YXIgZD1mZCh0aGlzLmYoKSk7Yj12YihifHx3aW5kb3cp OyRjKHRoaXMuZigpLE1hdGgubWF4KGErYi53aWR0aC8yLWQud2lkdGgvMiwwKSxN YXRoLm1heChjK2IuaGVpZ2h0LzItZC5oZWlnaHQvMiwwKSl9O3AuVWI9ZnVuY3Rp b24oKXtpZih0aGlzLnVhKXt2YXIgYT10aGlzLnosYj1hJiZhLkhhO2lmKGIpUih0 aGlzLG5ldyBpZShiLExiKGEsYikpKSYmZmUodGhpcyxrKTtlbHNlIGZlKHRoaXMs ayl9fTtmdW5jdGlvbiBqZShhLGIpe2EudWE9YjthLlEmJlYoYS5RLGEudWEpfVxu cC5pPWZ1bmN0aW9uKCl7V2QucS5pLmNhbGwodGhpcyk7aWYodGhpcy5sKXtCYih0 aGlzLmwpO3RoaXMubD1qfWlmKHRoaXMubil7QmIodGhpcy5uKTt0aGlzLm49an10 aGlzLmI9dGhpcy5DPXRoaXMuUT1qfTtmdW5jdGlvbiBrZShhKXthLno9ajtpZihh LkMpaWYoYS56KXt2YXIgYj1hLno7Yi5qPWEuQztlZShiKX1lbHNlIGEuQy5pbm5l ckhUTUw9XCJcIn1wLmhiPWZ1bmN0aW9uKGEpe2E6e2ZvcihhPWEudGFyZ2V0O2Eh PWomJmEhPXRoaXMuQzspe2lmKGEudGFnTmFtZT09XCJCVVRUT05cIil7YT1hO2Jy ZWFrIGF9YT1hLnBhcmVudE5vZGV9YT1qfWlmKGEmJiFhLmRpc2FibGVkKXthPWEu bmFtZTtSKHRoaXMsbmV3IGllKGEsTGIodGhpcy56LGEpKSkmJmZlKHRoaXMsayl9 fTtwLnlhPWZ1bmN0aW9uKGEpe3ZhciBiPWssYz1rLGQ9dGhpcy56LGc9YS50YXJn ZXQ7aWYoYS50eXBlPT1cImtleWRvd25cIilpZih0aGlzLkFiJiZhLmtleUNvZGU9 PTI3KXt2YXIgZT1kJiZkLkhhO2c9Zy50YWdOYW1lPT1cIlNFTEVDVFwiJiYhZy5k aXNhYmxlZDtpZihlJiYhZyl7Yz1pO2I9Uih0aGlzLG5ldyBpZShlLExiKGQsZSkp KX1lbHNlIGd8fChiPWkpfWVsc2V7aWYoYS5rZXlDb2RlPT05JiZhLmNiJiZnPT10 aGlzLmYoKSljPWl9ZWxzZSBpZihhLmtleUNvZGU9PTEzKXtpZihnLnRhZ05hbWU9 PVwiQlVUVE9OXCIpZT1nLm5hbWU7ZWxzZSBpZihkKXt2YXIgaD1kLmlhLGw7aWYo bD1oKWE6e2w9ZC5qLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiQlVUVE9OXCIpO2Zv cih2YXIgbT0wLG47bj1sW21dO20rKylpZihuLm5hbWU9PWh8fG4uaWQ9PWgpe2w9 bjticmVhayBhfWw9an1sPWw7Zz0oZy50YWdOYW1lPT1cIlRFWFRBUkVBXCJ8fGcu dGFnTmFtZT09XCJTRUxFQ1RcIikmJiFnLmRpc2FibGVkO2lmKGwmJiFsLmRpc2Fi bGVkJiYhZyllPWh9aWYoZSl7Yz1pO2I9Uih0aGlzLG5ldyBpZShlLFN0cmluZyhM YihkLGUpKSkpfX1pZihifHxjKXthLnJhKCk7YS5LKCl9YiYmZmUodGhpcyxrKX07 cC5pYj1mdW5jdGlvbigpe2dlKHRoaXMpfTtwLlNiPWZ1bmN0aW9uKGEpe3RoaXMu Yj09YS50YXJnZXQmJk9jKHRoaXMuQmIsMCx0aGlzKX07cC5CYj1mdW5jdGlvbigp e0ImJkNiKHRoaXMudigpKS5ib2R5LmZvY3VzKCk7dGhpcy5mKCkuZm9jdXMoKX07 ZnVuY3Rpb24gaWUoYSxiKXt0aGlzLnR5cGU9bGU7dGhpcy5rZXk9YTt0aGlzLmNh cHRpb249Yn13KGllLEspO3ZhciBsZT1cImRpYWxvZ3NlbGVjdFwiLGhlPVwiYWZ0 ZXJoaWRlXCI7ZnVuY3Rpb24gbWUoYSl7dGhpcy5jPWF8fEgoKTtKYi5jYWxsKHRo aXMpfXcobWUsSmIpO3A9bWUucHJvdG90eXBlO3Audz1cImdvb2ctYnV0dG9uc2V0 XCI7cC5pYT1qO3Auaj1qO3AuSGE9ajtwLmRhPWZ1bmN0aW9uKGEsYixjLGQpe0pi LnByb3RvdHlwZS5kYS5jYWxsKHRoaXMsYSxiKTtpZihjKXRoaXMuaWE9YTtpZihk KXRoaXMuSGE9YTtyZXR1cm4gdGhpc307ZnVuY3Rpb24gWihhLGIsYyxkKXtyZXR1 cm4gYS5kYShiLmtleSxiLmNhcHRpb24sYyxkKX1mdW5jdGlvbiBlZShhKXtpZihh Lmope2Euai5pbm5lckhUTUw9XCJcIjt2YXIgYj1IKGEuaik7SWIoYSxmdW5jdGlv bihjLGQpe3ZhciBnPWIudChcImJ1dHRvblwiLHtuYW1lOmR9LGMpO2lmKGQ9PXRo aXMuaWEpZy5jbGFzc05hbWU9dGhpcy53K1wiLWRlZmF1bHRcIjt0aGlzLmouYXBw ZW5kQ2hpbGQoZyl9LGEpfX1cbnZhciBuZT1uYShcIk9LXCIpLG9lPW5hKFwiQ2Fu Y2VsXCIpLHBlPW5hKFwiWWVzXCIpLHFlPW5hKFwiTm9cIikscmU9bmEoXCJTYXZl

XCIpLHNlPW5hKFwiQ29udGludWVcIiksdGU9e2tleTpcIm9rXCIsY2FwdGlvbjpu ZX0sdWU9e2tleTpcImNhbmNlbFwiLGNhcHRpb246b2V9LHZlPXtrZXk6XCJ5ZXNc IixjYXB0aW9uOnBlfSx3ZT17a2V5Olwibm9cIixjYXB0aW9uOnFlfSx4ZT17a2V5 Olwic2F2ZVwiLGNhcHRpb246cmV9LHllPXtrZXk6XCJjb250aW51ZVwiLGNhcHRp b246c2V9O2Z1bmN0aW9uIFhkKCl7cmV0dXJuIFooWihuZXcgbWUsdGUsaSksdWUs ayxpKX1aKG5ldyBtZSx0ZSxpLGkpO1hkKCk7WihaKG5ldyBtZSx2ZSxpKSx3ZSxr LGkpO1ooWihaKG5ldyBtZSx2ZSksd2UsaSksdWUsayxpKTtaKFooWihuZXcgbWUs eWUpLHhlKSx1ZSxpLGkpO2Z1bmN0aW9uICQoYSxiKXt0aGlzLm89Y2MoXCJhZGFw dHYuYWRzLlZpZGVvSW50ZXJzdGl0aWFsXCIpO3RoaXMuby5pbmZvKFwiVmlkZW9J bnRlcnN0aXRpYWwoKVwiKTtpZihiIT1qKXt0aGlzLndpZHRoPWIud2lkdGg7dGhp cy5oZWlnaHQ9Yi5oZWlnaHQ7dGhpcy5lPWIuY29uZmlnfXRoaXMuYT1hfXA9JC5w cm90b3R5cGU7cC5PYT1mdW5jdGlvbihhKXt0aGlzLndpZHRoPWE7cmV0dXJuIHRo aXN9O3AuTGE9ZnVuY3Rpb24oYSl7dGhpcy5oZWlnaHQ9YTtyZXR1cm4gdGhpc307 cC5NYT1mdW5jdGlvbihhKXt0aGlzLmE9YTtyZXR1cm4gdGhpc307cC5LYT1mdW5j dGlvbihhKXt0aGlzLmU9YTtyZXR1cm4gdGhpc307ZnVuY3Rpb24gemUoYSl7YS5v LmluZm8oXCJzaG93T3ZlcmxheSgpXCIpO2ZlKGEuZyxpKTthLlAoKTt2YXIgYj1u ZXcgSGQ7UChiLFwicmVzaXplXCIsZnVuY3Rpb24oKXt0aGlzLlAoKX0sayxhKX1c bnAuRmE9ZnVuY3Rpb24oKXt0aGlzLm8uaW5mbyhcInNob3coKVwiKTt2YXIgYT1u ZXcgWSxiPXBhcnNlSW50KExkKFwidmlld0NvdW50XCIpLDEwKTthLmEuc2V0VGlt ZShwYXJzZUludChMZChcImxhc3RWaWV3VGltZVwiKSwxMCkpO2IrPTE7S2QoXCJ2 aWV3Q291bnRcIixiLnRvU3RyaW5nKCkpO3RoaXMuby5pbmZvKFwidmlld0NvdW50 OiBcIitiKTt0aGlzLm8uaW5mbyhcImxhc3RWaWV3VGltZTogXCIrYS50b1N0cmlu ZygpKTt0aGlzLmEubG9hZE9uVmlldz10aGlzLmEubG9hZE9uVmlld3x8MTt0aGlz LmEudmlld0NhcD10aGlzLmEudmlld0NhcHx8MTtpZihiPHRoaXMuYS5sb2FkT25W aWV3KXt0aGlzLm8uaW5mbyhcImNhcHBlZCAtIHdpbGwgb25seSBzaG93IG9uIHZp ZXcgXCIrdGhpcy5hLmxvYWRPblZpZXcudG9TdHJpbmcoKSk7cmV0dXJuIHRoaXN9 aWYoKGItdGhpcy5hLmxvYWRPblZpZXcpJXRoaXMuYS52aWV3Q2FwIT0wKXt0aGlz Lm8uaW5mbyhcInZpZXdDYXBwZWQgLSBsaW1pdGVkIHRvIG9uY2UgZXZlcnkgXCIr XG50aGlzLmEudmlld0NhcC50b1N0cmluZygpK1wiIHZpZXcocylcIik7cmV0dXJu IHRoaXN9aWYodGhpcy5hLnRpbWVDYXAhPWope2I9cGFyc2VGbG9hdCh0aGlzLmEu dGltZUNhcC5zbGljZSgwLC0xKSk7dmFyIGM9dGhpcy5hLnRpbWVDYXAuc2xpY2Uo LTEpO2I9bmV3IHdkKHtzOkNkLG06QmQsaDpBZCxkOnpkfVtjXSxiKTthPWEuSigp O2EuSmEoYik7dGhpcy5vLmluZm8oXCJpbnRlcnZhbDogXCIrRGQoYikudG9TdHJp bmcoKSk7dGhpcy5vLmluZm8oXCJuZXh0Vmlld1RpbWU6IFwiK2EpO2lmKGE+bmV3 IFkpe3RoaXMuby5pbmZvKFwidGltZUNhcHBlZCAtIGxpbWl0ZWQgdG8gb25jZSBl dmVyeSBcIit0aGlzLmEudGltZUNhcCk7cmV0dXJuIHRoaXN9fXRoaXMuaW5pdCgp O2lmKHRoaXMuYS5jb3ZlclBhZ2U9PT1pKXt0aGlzLm8uaW5mbyhcInNob3dDb3Zl cigpXCIpO1YoYWUodGhpcy5nKSxpKTt0aGlzLmcubiE9aiYmVih0aGlzLmcubixp KTtnZSh0aGlzLmcpO2lmKHRoaXMuYS50aW1lb3V0X21zIT1qKXRoaXMub2I9T2Mo ZnVuY3Rpb24oKXtpZighdGhpcy51Yil7dGhpcy5vLmluZm8oXCJUaW1pbmcgb3V0 IHRoZSBpbnRlcnN0aXRpYWxcIik7dGhpcy5NKCl9TGMuY2xlYXJUaW1lb3V0KHRo aXMub2IpfSx0aGlzLmEudGltZW91dF9tcyx0aGlzKX1yZXR1cm4gdGhpc307cC5N PWZ1bmN0aW9uKCl7dGhpcy5vLmluZm8oXCJoaWRlKClcIik7QmIodGhpcy5iKTtM Yy5jbGVhclRpbWVvdXQodGhpcy5vYik7aWYodGhpcy5GIT1qKXt0aGlzLkYuc3Rv cCgpO3RoaXMuRi5yKCk7dGhpcy5GPWp9aWYodGhpcy5nIT1qKXtmZSh0aGlzLmcs ayk7dGhpcy5nLnIoKTt0aGlzLmc9an1yZXR1cm4gdGhpc307cC5QPWZ1bmN0aW9u KCl7dGhpcy5vLmluZm8oXCJyZXBvc2l0aW9uKClcIik7aWYodGhpcy5nKXtnZSh0 aGlzLmcpO3RoaXMuZy5QKCk7dGhpcy5nLkNhJiZkZCh0aGlzLmIsY2QodGhpcy5j KSl9ZWxzZSBkZCh0aGlzLmIsLXRoaXMud2lkdGgtMTAwLC10aGlzLmhlaWdodC0x MDApfTtwLmluaXQ9ZnVuY3Rpb24oKXt0aGlzLm8uaW5mbyhcImluaXQoKVwiKTt2 YXIgYT10aGlzLmEuaWRzPXt9O2EuREVGQVVMVF9QUkVGSVg9dGhpcy5hLmNsYXNz TmFtZVByZWZpeHx8XCJhZGFwdHYtaW50ZXJzdGl0aWFsXCI7YS5DT05UQUlORVI9 YS5ERUZBVUxUX1BSRUZJWCtcIi1jb250YWluZXJcIjthLkFEUExBWUVSPWEuREVG QVVMVF9QUkVGSVgrXCItdmlkZW9cIjthLkNPTVBBTklPTj1hLkRFRkFVTFRfUFJF RklYK1wiLWNvbXBhbmlvblwiO2EuQURQTEFZRVJfQUJTPWEuREVGQVVMVF9QUkVG SVgrXCItZml4ZWRcIjt0aGlzLmc9bmV3IFdkKHRoaXMuYS5jbGFzc05hbWV8fGEu REVGQVVMVF9QUkVGSVgsaSk7WmQodGhpcy5nLEdiKHt6YjphLkNPTlRBSU5FUix4 YjphLkFEUExBWUVSLHliOmEuQ09NUEFOSU9OfSkpO2tlKHRoaXMuZyk7Y2UodGhp cy5nKTt0aGlzLmcuWmE9aTtZZCh0aGlzLmcsdGhpcy5hLnRpdGxlfHxcIlZpZGVv IEFkXCIpO2JlKHRoaXMuZyx0aGlzLmEuYmFja2dyb3VuZE9wYWNpdHk9PWo/MC44

OnRoaXMuYS5iYWNrZ3JvdW5kT3BhY2l0eSk7amUodGhpcy5nLHRoaXMuYS5oYXND bG9zZUJ1dHRvbj09aj9pOnRoaXMuYS5oYXNDbG9zZUJ1dHRvbik7YWUodGhpcy5n KTt0aGlzLmM9c2IodGhpcy5hLmlkcy5BRFBMQVlFUik7dGhpcy53Yj1zYih0aGlz LmEuaWRzLkNPTVBBTklPTik7aWYodGhpcy53aWR0aD09ail7dmFyIGI9WWModGhp cy5jLFwid2lkdGhcIil8fHRoaXMuYy5jdXJyZW50U3R5bGUud2lkdGg7dGhpcy5P YShwYXJzZUludChiLnNsaWNlKDAsLTIpLDEwKSl9aWYodGhpcy5oZWlnaHQ9PWop e2I9WWModGhpcy5jLFwiaGVpZ2h0XCIpfHx0aGlzLmMuY3VycmVudFN0eWxlLmhl aWdodDt0aGlzLkxhKHBhcnNlSW50KGIuc2xpY2UoMCwtMiksMTApKX10aGlzLmI9 eGIoXCJkaXZcIix7aWQ6YS5BRFBMQVlFUl9BQlN9KTtkb2N1bWVudC5ib2R5LmFw cGVuZENoaWxkKHRoaXMuYik7VmModGhpcy5iLFwicG9zaXRpb25cIixcImZpeGVk XCIpO1ZjKHRoaXMuYixcInotaW5kZXhcIiwxRTUpO2RkKHRoaXMuYiwtdGhpcy53 aWR0aC0xMDAsLXRoaXMuaGVpZ2h0LTEwMCk7dGhpcy5RYT1uZXcgdGQoYS5BRFBM QVlFUl9BQlMpO21iKFgsZnVuY3Rpb24oYyl7dmQodGhpcy5RYSxjLGZ1bmN0aW9u KGQpe3RoaXMuby5pbmZvKFwiW1ZQQUlERXZlbnRdIFwiK2QudHlwZSk7c3dpdGNo KGQudHlwZSl7Y2FzZSBYLlNhOnRoaXMudWI9aTt0aGlzLlFhLnN0YXJ0QWQoKTti cmVhaztjYXNlIFguVGE6emUodGhpcyk7YnJlYWs7Y2FzZSBYLlJhOnZhciBnPXNi KGEuQ09NUEFOSU9OKTtnLnN0eWxlLndpZHRoPWFkKGQuZGF0YS5jb21wYW5pb25f d2lkdGgsaSk7Zy5zdHlsZS5oZWlnaHQ9YWQoZC5kYXRhLmNvbXBhbmlvbl9oZWln aHQsaSk7dGhpcy5QKCk7YnJlYWs7Y2FzZSBYLkVhOnRoaXMuTSgpO2JyZWFrO2Nh c2UgWC5VYTp2YXIgZT1PYyhmdW5jdGlvbigpe0xjLmNsZWFyVGltZW91dChlKTt0 aGlzLk0oKX0sNTAwLHRoaXMpO0tkKFwibGFzdFZpZXdUaW1lXCIsdSgpLnRvU3Ry aW5nKCkpfX0sdGhpcyl9LHRoaXMpO3RoaXMuZS5jb21wYW5pb25JZD1hLkNPTVBB TklPTjt0aGlzLmUuaW50ZXJzdGl0aWFsPWk7dGhpcy5RYS5pbml0QWQodGhpcy53 aWR0aCx0aGlzLmhlaWdodCx0aGlzLmUpO3RoaXMuYS5oYXNDbG9zZUJ1dHRvbj09 PWkmJlAoJGQodGhpcy5nKSxcImNsaWNrXCIsZnVuY3Rpb24oKXt0aGlzLk0oKX0s aSx0aGlzKTt0aGlzLmEuZXNjYXBlVG9DbG9zZT09PWkmJlAodGhpcy5nLmYoKSxc ImtleWRvd25cIixmdW5jdGlvbihjKXtjLnR5cGU9PVwia2V5ZG93blwiJiZjLmtl eUNvZGU9PTI3JiZ0aGlzLk0oKX0saSx0aGlzKTt0aGlzLkY9bmV3IFQoMzAwKTtO Yyh0aGlzLkYpO1AodGhpcy5GLE1jLGZ1bmN0aW9uKCl7aWYodGhpcy53Yi5pbm5l ckhUTUwhPVwiXCIpe3RoaXMuUCgpO3RoaXMuRi5zdG9wKCk7dGhpcy5GLnIoKTt0 aGlzLkY9ajt2YXIgYz10aGlzLmc7Yy5mKCl8fGMuTCgpO2MuVy5hcHBlbmRDaGls ZCh0aGlzLmcudigpLnQoXCJzcGFuXCIpKX19LGssdGhpcyk7UCh3aW5kb3csXCJ1 bmxvYWRcIixmdW5jdGlvbigpe0ljKCl9LGssdGhpcyl9O3ZhciBBZT1uZXcgZnVu Y3Rpb24oKXt0aGlzLmE9dSgpfTtmdW5jdGlvbiBCZShhKXt0aGlzLmE9YXx8XCJc Ijt0aGlzLmI9QWV9cD1CZS5wcm90b3R5cGU7cC5qYj1pO3AuWWI9aTtwLlhiPWk7 cC5rYj1rO3AuWmI9aztmdW5jdGlvbiBDZShhKXtpZihhPDEwKXJldHVyblwiMFwi K2E7cmV0dXJuIFN0cmluZyhhKX1mdW5jdGlvbiBEZShhKXtCZS5jYWxsKHRoaXMs YSl9dyhEZSxCZSk7ZnVuY3Rpb24gRWUoKXt0aGlzLms9dCh0aGlzLmMsdGhpcyk7 dGhpcy5hPW5ldyBEZTt0aGlzLmEuamI9azt0aGlzLmI9dGhpcy5hLmtiPWs7dGhp cy5lPVwiXCJ9XG5FZS5wcm90b3R5cGUuYz1mdW5jdGlvbihhKXt2YXIgYjtiPXRo aXMuYTt2YXIgYz1bXTtjLnB1c2goYi5hLFwiIFwiKTtpZihiLmpiKXt2YXIgZD1u ZXcgRGF0ZShhLmspO2MucHVzaChcIltcIixDZShkLmdldEZ1bGxZZWFyKCktMkUz KStDZShkLmdldE1vbnRoKCkrMSkrQ2UoZC5nZXREYXRlKCkpK1wiIFwiK0NlKGQu Z2V0SG91cnMoKSkrXCI6XCIrQ2UoZC5nZXRNaW51dGVzKCkpK1wiOlwiK0NlKGQu Z2V0U2Vjb25kcygpKStcIi5cIitDZShNYXRoLmZsb29yKGQuZ2V0TWlsbGlzZWNv bmRzKCkvMTApKSxcIl0gXCIpfWlmKGIuWWIpe2Q9KGEuay1iLmIuYSkvMUUzO3Zh ciBnPWQudG9GaXhlZCgzKSxlPTA7aWYoZDwxKWU9MjtlbHNlIGZvcig7ZDwxMDA7 KXtlKys7ZCo9MTB9Zm9yKDtlLS0+MDspZz1cIiBcIitnO2MucHVzaChcIltcIixn LFwic10gXCIpfWIuWGImJmMucHVzaChcIltcIixhLnAsXCJdIFwiKTtiLlpiJiZj LnB1c2goXCJbXCIsYS5jLm5hbWUsXCJdIFwiKTtjLnB1c2goYS5lLFwiXFxuXCIp O2Iua2ImJmEuYiYmYy5wdXNoKGEuYSxcIlxcblwiKTtiPWMuam9pbihcIlwiKTtp Zih3aW5kb3cuY29uc29sZSYmd2luZG93LmNvbnNvbGUuZmlyZWJ1Zylzd2l0Y2go YS5jKXtjYXNlIFRiOndpbmRvdy5jb25zb2xlLmluZm8oYik7YnJlYWs7Y2FzZSBV Yjp3aW5kb3cuY29uc29sZS5lcnJvcihiKTticmVhaztjYXNlIFZiOndpbmRvdy5j b25zb2xlLndhcm4oYik7YnJlYWs7ZGVmYXVsdDp3aW5kb3cuY29uc29sZS5kZWJ1 ZyhiKX1lbHNlIGlmKHdpbmRvdy5jb25zb2xlKXdpbmRvdy5jb25zb2xlLmxvZyhi KTtlbHNlIGlmKHdpbmRvdy5vcGVyYSl3aW5kb3cub3BlcmEucG9zdEVycm9yKGIp O2Vsc2UgdGhpcy5lKz1ifTt2KFwiX19hZGFwdHZfXy5kZWJ1Zy5jb25maWd1cmVc IixmdW5jdGlvbihhLGIpe2NjKGEpLmI9Ynx8WWI7dmFyIGM9bmV3IEVlO2lmKGkh PWMuYil7YmMoKTt2YXIgZD1hYyxnPWMuaztpZighZC5hKWQuYT1bXTtkLmEucHVz

aChnKTtjLmI9aX19KTt2KFwiX19hZGFwdHZfXy5kZWJ1Zy5sb2dcIixmdW5jdGlv bihhKXtjYyhcImFkYXB0di5wYWdlXCIpLmluZm8oYSl9KTt2KFwiX19hZGFwdHZf Xy5hZHMuaW50ZXJzdGl0aWFsLlZpZGVvSW50ZXJzdGl0aWFsXCIsJCk7dihcIl9f YWRhcHR2X18uYWRzLmludGVyc3RpdGlhbC5WaWRlb0ludGVyc3RpdGlhbC5wcm90 b3R5cGUuc2V0V2lkdGhcIiwkLnByb3RvdHlwZS5PYSk7dihcIl9fYWRhcHR2X18u YWRzLmludGVyc3RpdGlhbC5WaWRlb0ludGVyc3RpdGlhbC5wcm90b3R5cGUuc2V0 SGVpZ2h0XCIsJC5wcm90b3R5cGUuTGEpO3YoXCJfX2FkYXB0dl9fLmFkcy5pbnRl cnN0aXRpYWwuVmlkZW9JbnRlcnN0aXRpYWwucHJvdG90eXBlLnNldE9wdGlvbnNc IiwkLnByb3RvdHlwZS5NYSk7dihcIl9fYWRhcHR2X18uYWRzLmludGVyc3RpdGlh bC5WaWRlb0ludGVyc3RpdGlhbC5wcm90b3R5cGUuc2V0QWRDb25maWdcIiwkLnBy b3RvdHlwZS5LYSk7dihcIl9fYWRhcHR2X18uYWRzLmludGVyc3RpdGlhbC5WaWRl b0ludGVyc3RpdGlhbC5wcm90b3R5cGUuc2hvd1wiLCQucHJvdG90eXBlLkZhKTt2 KFwiX19hZGFwdHZfXy5hZHMuaW50ZXJzdGl0aWFsLlZpZGVvSW50ZXJzdGl0aWFs LnByb3RvdHlwZS5oaWRlXCIsJC5wcm90b3R5cGUuTSk7dihcIl9fYWRhcHR2X18u YWRzLlZpZGVvSW50ZXJzdGl0aWFsXCIsJCk7dihcIl9fYWRhcHR2X18uYWRzLlZp ZGVvSW50ZXJzdGl0aWFsLnByb3RvdHlwZS5zZXRXaWR0aFwiLCQucHJvdG90eXBl Lk9hKTt2KFwiX19hZGFwdHZfXy5hZHMuVmlkZW9JbnRlcnN0aXRpYWwucHJvdG90 eXBlLnNldEhlaWdodFwiLCQucHJvdG90eXBlLkxhKTt2KFwiX19hZGFwdHZfXy5h ZHMuVmlkZW9JbnRlcnN0aXRpYWwucHJvdG90eXBlLnNldE9wdGlvbnNcIiwkLnBy b3RvdHlwZS5NYSk7dihcIl9fYWRhcHR2X18uYWRzLlZpZGVvSW50ZXJzdGl0aWFs LnByb3RvdHlwZS5zZXRBZENvbmZpZ1wiLCQucHJvdG90eXBlLkthKTt2KFwiX19h ZGFwdHZfXy5hZHMuVmlkZW9JbnRlcnN0aXRpYWwucHJvdG90eXBlLnNob3dcIiwk LnByb3RvdHlwZS5GYSk7dihcIl9fYWRhcHR2X18uYWRzLlZpZGVvSW50ZXJzdGl0 aWFsLnByb3RvdHlwZS5oaWRlXCIsJC5wcm90b3R5cGUuTSk7d2luZG93LmFkYXB0 dl92aWRlb2ludF9hZGNvbmZpZyE9aiYmKG5ldyAkKS5LYSh3aW5kb3cuYWRhcHR2 X3ZpZGVvaW50X2FkY29uZmlnKS5NYSh3aW5kb3cuYWRhcHR2X3ZpZGVvaW50X29w dGlvbnMpLkZhKCk7fSkoKTsiOwoKCi8qIHB1YmxpYy9qYXZhc2NyaXB0cy9zaGFy ZWQvYWRfaGlkZXIuanMgQCAxMzQ4NTE3NTc5ICovCgpTY3JpYmQuQWRIaWRlcj0o ZnVuY3Rpb24oKXt2YXIgaGlkZUVsZW1lbnQ9ZnVuY3Rpb24oZWwpe3RyeXtlbC5z ZXRTdHlsZSh7dmlzaWJpbGl0eTonaGlkZGVuICFpbXBvcnRhbnQnfSk7fWNhdGNo KGUpe2VsLmhpZGUoKTt9fQp2YXIgc2hvd0VsZW1lbnQ9ZnVuY3Rpb24oZWwpe3Ry eXtlbC5zZXRTdHlsZSh7dmlzaWJpbGl0eTondmlzaWJsZSAhaW1wb3J0YW50J30p O31jYXRjaChlKXtlbC5zaG93KCk7fX0KQWRIaWRlcj1mdW5jdGlvbigpe3RoaXMu SElERV9FVkVOVFMuZWFjaChmdW5jdGlvbihoaWRlX2V2ZW50KXskKGRvY3VtZW50 KS5vYnNlcnZlKGhpZGVfZXZlbnQsZnVuY3Rpb24oZSl7dGhpcy5BRF9DTEFTU0VT LmVhY2goZnVuY3Rpb24oa2xhc3MpeyQkKGtsYXNzKS5lYWNoKGZ1bmN0aW9uKGVs KXtoaWRlRWxlbWVudChlbCk7ZWwuc2VsZWN0KCJpZnJhbWUiKS5lYWNoKGhpZGVF bGVtZW50KTt9KTt9KTt9LmJpbmQodGhpcykpO30uYmluZCh0aGlzKSk7dGhpcy5T SE9XX0VWRU5UUy5lYWNoKGZ1bmN0aW9uKHNob3dfZXZlbnQpeyQoZG9jdW1lbnQp Lm9ic2VydmUoc2hvd19ldmVudCxmdW5jdGlvbihlKXt0aGlzLkFEX0NMQVNTRVMu ZWFjaChmdW5jdGlvbihrbGFzcyl7JCQoa2xhc3MpLmVhY2goZnVuY3Rpb24oZWwp e3Nob3dFbGVtZW50KGVsKTtlbC5zZWxlY3QoImlmcmFtZSIpLmVhY2goc2hvd0Vs ZW1lbnQpO30pO30pO30uYmluZCh0aGlzKSk7fS5iaW5kKHRoaXMpKTt9CkFkSGlk ZXIucHJvdG90eXBlPXtBRF9DTEFTU0VTOlsnLmhpZGVhYmxlX2FkJ10sSElERV9F VkVOVFM6WydsaWdodGJveDpvcGVuJ10sU0hPV19FVkVOVFM6WydsaWdodGJveDpj bG9zZWQnXX0KcmV0dXJuIEFkSGlkZXI7fSkoKTsKCgovKiBwdWJsaWMvamF2YXNj cmlwdHMvc2hhcmVkL2NzcmYuanMgQCAxMzQ4NTE3NTc5ICovCgpTY3JpYmQuaW5p dCgnU2NyaWJkJywnQ1NSRicpO1NjcmliZC5DU1JGPXtpbml0aWFsaXplOmZ1bmN0 aW9uKCl7dmFyIG1ldGFfcGFyYW09JCQoJ21ldGFbbmFtZT1jc3JmLXBhcmFtXScp LmZpcnN0KCksbWV0YV90b2tlbj0kJCgnbWV0YVtuYW1lPWNzcmYtdG9rZW5dJyku Zmlyc3QoKTt0aGlzLmFjdGl2ZT1tZXRhX3BhcmFtJiZtZXRhX3Rva2VuO3RoaXMu cGFyYW1zSGFzaD17fTtpZih0aGlzLmFjdGl2ZSl7dGhpcy5wYXJhbT1tZXRhX3Bh cmFtLnJlYWRBdHRyaWJ1dGUoJ2NvbnRlbnQnKTt0aGlzLnRva2VuPW1ldGFfdG9r ZW4ucmVhZEF0dHJpYnV0ZSgnY29udGVudCcpO3RoaXMucGFyYW1zSGFzaFt0aGlz LnBhcmFtXT10aGlzLnRva2VuO319LHBhcmFtc1dpdGhUb2tlbjpmdW5jdGlvbihw YXJhbXMpe3JldHVybiBPYmplY3QuZXh0ZW5kKHBhcmFtcyx0aGlzLnBhcmFtc0hh c2gpO319O2RvY3VtZW50Lm9ic2VydmUoJ2RvbTpsb2FkZWQnLFNjcmliZC5DU1JG LmluaXRpYWxpemUuYmluZChTY3JpYmQuQ1NSRikpOwoKCi8qIHB1YmxpYy9qYXZh c2NyaXB0cy9zaGFyZWQvY3VzdG9tRWZmZWN0cy5qcyBAIDEzNDg1MTc1NzkgKi8K CkVmZmVjdC5GYWRlV2l0aENhbGxiYWNrPWZ1bmN0aW9uKGVsZW1lbnQpe2VsZW1l

bnQ9JChlbGVtZW50KTt2YXIgb2xkT3BhY2l0eT1lbGVtZW50LmdldElubGluZU9w YWNpdHkoKTt2YXIgb3B0aW9ucz1PYmplY3QuZXh0ZW5kKHtmcm9tOmVsZW1lbnQu Z2V0T3BhY2l0eSgpfHwxLjAsdG86MC4wLGNhbGxiYWNrOmZ1bmN0aW9uKCl7fSxh ZnRlckZpbmlzaEludGVybmFsOmZ1bmN0aW9uKGVmZmVjdCl7ZWZmZWN0Lm9wdGlv bnMuY2FsbGJhY2soKTt9fSxhcmd1bWVudHNbMV18fHt9KTtyZXR1cm4gbmV3IEVm ZmVjdC5PcGFjaXR5KGVsZW1lbnQsb3B0aW9ucyk7fTsKCgovKiBwdWJsaWMvamF2 YXNjcmlwdHMvc2hhcmVkL2VtYmVkX2NvZGUuanMgQCAxMzQ4NTE3NTc5ICovCnZh ciBsenlfanNfcHVibGljX2phdmFzY3JpcHRzX3NoYXJlZF9lbWJlZF9jb2RlPSJc blNjcmliZC5nZW5lcmljRW1iZWRDb2RlR2VuZXJhdG9yPUNsYXNzLmNyZWF0ZSh7 bWluV2lkdGg6NDAwLG1pbkhlaWdodDo0MDAsbWF4V2lkdGg6MTYwMCxtYXhIZWln aHQ6MTYwMCxkZWZhdWx0V2lkdGg6NDAwLGRlZmF1bHRIZWlnaHQ6NjAwLGRlZmF1 bHRQYWdlOjEsZGVmYXVsdE1vZGU6XCdzY3JvbGxcJyxkZWZhdWx0QXV0b1dpZHRo OnRydWUsZGVmYXVsdEF1dG9IZWlnaHQ6ZmFsc2UsaW5pdGlhbGl6ZTpmdW5jdGlv bihvcHRpb25zKXt0aGlzLm9wdGlvbnM9T2JqZWN0LmV4dGVuZCh7d2lkdGg6dGhp cy5kZWZhdWx0V2lkdGgsaGVpZ2h0OnRoaXMuZGVmYXVsdEhlaWdodCxwYWdlOnRo aXMuZGVmYXVsdFBhZ2UsbW9kZTp0aGlzLmRlZmF1bHRNb2RlLGF1dG9fd2lkdGg6 dGhpcy5kZWZhdWx0QXV0b1dpZHRoLGF1dG9faGVpZ2h0OnRoaXMuZGVmYXVsdEF1 dG9IZWlnaHQsc2hvd190aXRsZTp0cnVlLGRvY191cmw6XCdcJyx0aXRsZTpcJyxc Jyxkb2NfaWQ6MCxhY2Nlc3Nfa2V5OlwnXCd9LG9wdGlvbnN8fHt9KTt0aGlzLm9w dGlvbnMub2JqZWN0X2lkPVwnZG9jX1wnK01hdGguZmxvb3IoTWF0aC5yYW5kb20o KSo5OTk5OSk7dGhpcy5idWlsZFRlbXBsYXRlcygpO30scmVuZGVyOmZ1bmN0aW9u KG9wdGlvbnMpe3RoaXMudXBkYXRlT3B0aW9ucyhvcHRpb25zKTtyZXR1cm4gdGhp cy5yZW5kZXJUZW1wbGF0ZXMoKTt9LHVwZGF0ZU9wdGlvbnM6ZnVuY3Rpb24ob3B0 aW9ucyl7dGhpcy5vcHRpb25zPU9iamVjdC5leHRlbmQodGhpcy5vcHRpb25zLG9w dGlvbnMpO3RoaXMub3B0aW9ucy53aWR0aD10aGlzLm9wdGlvbnMud2lkdGh8fHRo aXMuZGVmYXVsdFdpZHRoO3RoaXMub3B0aW9ucy5oZWlnaHQ9dGhpcy5vcHRpb25z LmhlaWdodHx8dGhpcy5kZWZhdWx0SGVpZ2h0O3RoaXMub3B0aW9ucy5wYWdlPXRo aXMub3B0aW9ucy5wYWdlfHx0aGlzLmRlZmF1bHRQYWdlO2lmKHRoaXMub3B0aW9u cy5hdXRvX3dpZHRofHx0aGlzLm9wdGlvbnMud2lkdGg9PVwiMTAwJVwiKXt0aGlz Lm9wdGlvbnMud2lkdGg9XCcxMDAlXCc7fWVsc2UgaWYocGFyc2VJbnQodGhpcy5v cHRpb25zLndpZHRoKTx0aGlzLm1pbldpZHRoKXt0aGlzLm9wdGlvbnMud2lkdGg9 dGhpcy5taW5XaWR0aDt9XG5pZih0aGlzLm9wdGlvbnMuYXV0b19oZWlnaHQpe3Ro aXMub3B0aW9ucy5oZWlnaHQ9dGhpcy5kZWZhdWx0SGVpZ2h0O31lbHNlIGlmKHBh cnNlSW50KHRoaXMub3B0aW9ucy5oZWlnaHQpPHRoaXMubWluSGVpZ2h0KXt0aGlz Lm9wdGlvbnMuaGVpZ2h0PXRoaXMubWluSGVpZ2h0O319LHRpdGxlU3RyaW5nOmZ1 bmN0aW9uKCl7aWYodGhpcy5vcHRpb25zLnNob3dfdGl0bGUpe3JldHVybiB0aGlz LnRpdGxlX3RtcGwuZXZhbHVhdGUoe3RpdGxlOnRoaXMub3B0aW9ucy50aXRsZS5l c2NhcGVIVE1MKCksZG9jX3VybDp0aGlzLm9wdGlvbnMuZG9jX3VybCx0aXRsZV90 cnVuY2F0ZWQ6dGhpcy5vcHRpb25zLnRpdGxlLmVzY2FwZUhUTUwoKS50cnVuY2F0 ZSgxMTApfSk7fWVsc2V7cmV0dXJuXCJcIjt9fX0pO1NjcmliZC5Xb3JkcHJlc3NF bWJlZENvZGVHZW5lcmF0b3I9Q2xhc3MuY3JlYXRlKFNjcmliZC5nZW5lcmljRW1i ZWRDb2RlR2VuZXJhdG9yLHtidWlsZFRlbXBsYXRlczpmdW5jdGlvbigpe3RoaXMu d3BfdG1wbD1uZXcgVGVtcGxhdGUoXCJbc2NyaWJkIGlkPSN7ZG9jX2lkfSBrZXk9 I3thY2Nlc3Nfa2V5fSBtb2RlPSN7bW9kZX1dXCIpO30scmVuZGVyVGVtcGxhdGVz OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMud3BfdG1wbC5ldmFsdWF0ZSh0aGlzLm9w dGlvbnMpO319KTtTY3JpYmQuZW1iZWRDb2RlR2VuZXJhdG9yPUNsYXNzLmNyZWF0 ZShTY3JpYmQuZ2VuZXJpY0VtYmVkQ29kZUdlbmVyYXRvcix7YnVpbGRUZW1wbGF0 ZXM6ZnVuY3Rpb24oKXt0aGlzLnRpdGxlX3RtcGw9bmV3IFRlbXBsYXRlKFwnPGEg dGl0bGU9XCJWaWV3ICN7dGl0bGV9IG9uIFNjcmliZFwiIGhyZWY9XCIje2RvY191 cmx9XCIgc3R5bGU9XCJtYXJnaW46IDEycHggYXV0byA2cHggYXV0bzsgZm9udC1m YW1pbHk6IEhlbHZldGljYSxBcmlhbCxTYW5zLXNlcmlmOyBmb250LXN0eWxlOiBu b3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFs OyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtc2l6 ZS1hZGp1c3Q6IG5vbmU7IGZvbnQtc3RyZXRjaDogbm9ybWFsOyAteC1zeXN0ZW0t Zm9udDogbm9uZTsgZGlzcGxheTogYmxvY2s7IHRleHQtZGVjb3JhdGlvbjogdW5k ZXJsaW5lO1wiPiN7dGl0bGVfdHJ1bmNhdGVkfTxcL2E+IFwnKTt0aGlzLm9iamVj dF90bXBsPW5ldyBUZW1wbGF0ZShcJzxvYmplY3QgaWQ9XCIje29iamVjdF9pZH1c IiBuYW1lPVwiI3tvYmplY3RfaWR9XCIgaGVpZ2h0PVwiI3toZWlnaHR9XCIgd2lk dGg9XCIje3dpZHRofVwiIHR5cGU9XCJhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1m bGFzaFwiIGRhdGE9XCJodHRwOi8vZDEuc2NyaWJkYXNzZXRzLmNvbS9TY3JpYmRW

aWV3ZXIuc3dmXCIgc3R5bGU9XCJvdXRsaW5lOm5vbmU7XCIgPlxcXG4gICAgICAg ICAgICA8cGFyYW0gbmFtZT1cIm1vdmllXCIgdmFsdWU9XCJodHRwOi8vZDEuc2Ny aWJkYXNzZXRzLmNvbS9TY3JpYmRWaWV3ZXIuc3dmXCI+IFxcXG4gICAgICAgICAg ICA8cGFyYW0gbmFtZT1cIndtb2RlXCIgdmFsdWU9XCJvcGFxdWVcIj4gXFxcbiAg ICAgICAgICAgIDxwYXJhbSBuYW1lPVwiYmdjb2xvclwiIHZhbHVlPVwiI2ZmZmZm ZlwiPiBcXFxuICAgICAgICAgICAgPHBhcmFtIG5hbWU9XCJhbGxvd0Z1bGxTY3Jl ZW5cIiB2YWx1ZT1cInRydWVcIj4gXFxcbiAgICAgICAgICAgIDxwYXJhbSBuYW1l PVwiYWxsb3dTY3JpcHRBY2Nlc3NcIiB2YWx1ZT1cImFsd2F5c1wiPiBcXFxuICAg ICAgICAgICAgPHBhcmFtIG5hbWU9XCJGbGFzaFZhcnNcIiB2YWx1ZT1cImRvY3Vt ZW50X2lkPSN7ZG9jX2lkfSZhY2Nlc3Nfa2V5PSN7YWNjZXNzX2tleX0mcGFnZT0j e3BhZ2V9JnZpZXdNb2RlPSN7bW9kZX1cIj4gXFxcbiAgICAgICAgICAgIDxlbWJl ZCBpZD1cIiN7b2JqZWN0X2lkfVwiIG5hbWU9XCIje29iamVjdF9pZH1cIiBzcmM9 XCJodHRwOi8vZDEuc2NyaWJkYXNzZXRzLmNvbS9TY3JpYmRWaWV3ZXIuc3dmP2Rv Y3VtZW50X2lkPSN7ZG9jX2lkfSZhY2Nlc3Nfa2V5PSN7YWNjZXNzX2tleX0mcGFn ZT0je3BhZ2V9JnZpZXdNb2RlPSN7bW9kZX1cIiB0eXBlPVwiYXBwbGljYXRpb24v eC1zaG9ja3dhdmUtZmxhc2hcIiBhbGxvd3NjcmlwdGFjY2Vzcz1cImFsd2F5c1wi IGFsbG93ZnVsbHNjcmVlbj1cInRydWVcIiBoZWlnaHQ9XCIje2hlaWdodH1cIiB3 aWR0aD1cIiN7d2lkdGh9XCIgd21vZGU9XCJvcGFxdWVcIiBiZ2NvbG9yPVwiI2Zm ZmZmZlwiPjxcL2VtYmVkPiBcXFxuICAgICAgICA8XC9vYmplY3Q+XCcpO3RoaXMu c2NyaXB0X3RtcGw9bmV3IFRlbXBsYXRlKFwnXCcpO30scmVuZGVyVGVtcGxhdGVz OmZ1bmN0aW9uKCl7dmFyIG9iamVjdF9zdHI9dGhpcy5vYmplY3RfdG1wbC5ldmFs dWF0ZSh0aGlzLm9wdGlvbnMpO3JldHVybih0aGlzLnRpdGxlU3RyaW5nKCkrb2Jq ZWN0X3N0cik7fX0pO1NjcmliZC5IVE1MNUVtYmVkQ29kZUdlbmVyYXRvcj1DbGFz cy5jcmVhdGUoU2NyaWJkLmdlbmVyaWNFbWJlZENvZGVHZW5lcmF0b3Ise3JlbmRl clRlbXBsYXRlczpmdW5jdGlvbigpe3ZhciBnZW5lcmF0ZV9oZWlnaHRfc2NyaXB0 PWZhbHNlO2lmKHRoaXMub3B0aW9ucy5hdXRvX2hlaWdodCYmdGhpcy5vcHRpb25z LmFzcGVjdF9yYXRpbyl7aWYodGhpcy5vcHRpb25zLmF1dG9fd2lkdGgpe2dlbmVy YXRlX2hlaWdodF9zY3JpcHQ9dHJ1ZTt9ZWxzZXt0aGlzLm9wdGlvbnMuaGVpZ2h0 PU1hdGgucm91bmQoKDEvdGhpcy5vcHRpb25zLmFzcGVjdF9yYXRpbykqdGhpcy5v cHRpb25zLndpZHRoKSs2MDt9fVxudGhpcy5vcHRpb25zLmVtYmVkX3VybD1cImh0 dHA6Ly93d3cuc2NyaWJkLmNvbS9lbWJlZHMvXCIrdGhpcy5vcHRpb25zLmRvY19p ZCtcIi9jb250ZW50XCI7dGhpcy5vcHRpb25zLmVtYmVkX3VybD10aGlzLm9wdGlv bnMuZW1iZWRfdXJsLnVwZGF0ZVF1ZXJ5UGFyYW1zKHtzdGFydF9wYWdlOnRoaXMu b3B0aW9ucy5wYWdlLHZpZXdfbW9kZTp0aGlzLm9wdGlvbnMubW9kZX0pO2lmKHRo aXMub3B0aW9ucy5hY2Nlc3Nfa2V5JiZ0aGlzLm9wdGlvbnMuYWNjZXNzX2tleS5s ZW5ndGg+MCl7dGhpcy5vcHRpb25zLmVtYmVkX3VybD10aGlzLm9wdGlvbnMuZW1i ZWRfdXJsLnVwZGF0ZVF1ZXJ5UGFyYW1zKHthY2Nlc3Nfa2V5OnRoaXMub3B0aW9u cy5hY2Nlc3Nfa2V5fSk7fVxudmFyIG9iamVjdF9zdHI9dGhpcy5pZnJhbWVfdG1w bC5ldmFsdWF0ZSh7ZW1iZWRfdXJsOnRoaXMub3B0aW9ucy5lbWJlZF91cmwsb2Jq ZWN0X2lkOnRoaXMub3B0aW9ucy5vYmplY3RfaWQsYXNwZWN0X3JhdGlvOnRoaXMu b3B0aW9ucy5hc3BlY3RfcmF0aW8sd2lkdGg6dGhpcy5vcHRpb25zLndpZHRoLGhl aWdodDp0aGlzLm9wdGlvbnMuaGVpZ2h0LGF1dG9faGVpZ2h0OiEhdGhpcy5vcHRp b25zLmF1dG9fd2lkdGh9KTtvdXQ9dGhpcy50aXRsZVN0cmluZygpK29iamVjdF9z dHI7aWYoZ2VuZXJhdGVfaGVpZ2h0X3NjcmlwdCl7b3V0Kz10aGlzLmhlaWdodF9z Y3JpcHRfdG1wbC5ldmFsdWF0ZSh7b2JqZWN0X2lkOnRoaXMub3B0aW9ucy5vYmpl Y3RfaWR9KTt9XG5yZXR1cm4gb3V0O30sYnVpbGRUZW1wbGF0ZXM6ZnVuY3Rpb24o KXt0aGlzLnRpdGxlX3RtcGw9bmV3IFRlbXBsYXRlKFwnPGEgdGl0bGU9XCJWaWV3 ICN7dGl0bGV9IG9uIFNjcmliZFwiIGhyZWY9XCIje2RvY191cmx9XCIgc3R5bGU9 XCJtYXJnaW46IDEycHggYXV0byA2cHggYXV0bzsgZm9udC1mYW1pbHk6IEhlbHZl dGljYSxBcmlhbCxTYW5zLXNlcmlmOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQt dmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6 IDE0cHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZS1hZGp1c3Q6IG5v bmU7IGZvbnQtc3RyZXRjaDogbm9ybWFsOyAteC1zeXN0ZW0tZm9udDogbm9uZTsg ZGlzcGxheTogYmxvY2s7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1wiPiN7 dGl0bGVfdHJ1bmNhdGVkfTxcL2E+XCcpO3RoaXMuaWZyYW1lX3RtcGw9bmV3IFRl bXBsYXRlKFwnPGlmcmFtZSBjbGFzcz1cInNjcmliZF9pZnJhbWVfZW1iZWRcIiBz cmM9XCIje2VtYmVkX3VybH1cIiBkYXRhLWF1dG8taGVpZ2h0PVwiI3thdXRvX2hl aWdodH1cIiBkYXRhLWFzcGVjdC1yYXRpbz1cIiN7YXNwZWN0X3JhdGlvfVwiIHNj cm9sbGluZz1cIm5vXCIgaWQ9XCIje29iamVjdF9pZH1cIiB3aWR0aD1cIiN7d2lk dGh9XCIgaGVpZ2h0PVwiI3toZWlnaHR9XCIgZnJhbWVib3JkZXI9XCIwXCI+PFwv

aWZyYW1lPlwnKTt0aGlzLmhlaWdodF9zY3JpcHRfdG1wbD1uZXcgVGVtcGxhdGUo XCc8c2NyaXB0IHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIj4oZnVuY3Rpb24oKSB7 IHZhciBzY3JpYmQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIp OyBzY3JpYmQudHlwZSA9IFwidGV4dC9qYXZhc2NyaXB0XCI7IHNjcmliZC5hc3lu YyA9IHRydWU7IHNjcmliZC5zcmMgPSBcImh0dHA6Ly93d3cuc2NyaWJkLmNvbS9q YXZhc2NyaXB0cy9lbWJlZF9jb2RlL2luamVjdC5qc1wiOyB2YXIgcyA9IGRvY3Vt ZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwic2NyaXB0XCIpWzBdOyBzLnBhcmVu dE5vZGUuaW5zZXJ0QmVmb3JlKHNjcmliZCwgcyk7IH0pKCk7PFwvc2NyaXB0Plwn KTt9fSk7IjsKCgovKiBwdWJsaWMvamF2YXNjcmlwdHMvc2hhcmVkL2ZhY2Vib29r L2ZhY2Vib29rLmpzIEAgMTM0ODUxNzU3OSAqLwoKaWYoIXdpbmRvdy5TY3JpYmQp dmFyIFNjcmliZD1uZXcgT2JqZWN0KCk7U2NyaWJkLmluaXQoJ1NjcmliZCcsJ0Zh Y2Vib29rJyk7T2JqZWN0LmV4dGVuZChTY3JpYmQuRmFjZWJvb2ssZnVuY3Rpb24o KXt2YXIgYXBpS2V5PScxYjQ2NDIwM2YxM2U1ODVmMTdkZTg5Nzk3ZTU5YmQ5OCc7 dmFyIGFwcElkPScxMzY0OTQ0OTQyMDknO3ZhciBrbm9iVVJMPScnO3ZhciBsb2Fk ZWQ9ZmFsc2U7dmFyIHNlc3Npb249bnVsbDt2YXIgY29va2llPW5ldyBTY3JpYmQu SlNPTkNvb2tpZSgnc2Vzc2lvbl9tZXRhZGF0YScpO3ZhciBwYWdlVHJhbnNpdGlv blVSTD0oIi9zZXNzaW9uX3RyYW5zaXRpb24vbmV3X3BhZ2VfY29udGVudCIpO2Z1 bmN0aW9uIGNoZWNrU2Vzc2lvblN0YXRlKCl7aWYoY29va2llLmdldCgnYWN0aXZl X2ZhY2Vib29rX3Nlc3Npb24nKT09J2ZhbHNlJyl7dmFyIGxhc3Q9Y29va2llLmdl dCgnbGFzdF9mYWNlYm9va19waW5nJyk7aWYobGFzdCYmK25ldyBEYXRlLWxhc3Q8 MTAwMCo2MCo2MCl7RXZlbnQuZmlyZShkb2N1bWVudCxTY3JpYmQuRmFjZWJvb2su RVZFTlRTLmluYWN0aXZlX2ZhY2Vib29rX3Nlc3Npb24pO3Nlc3Npb249ZmFsc2U7 fX1lbHNle0ZCLmdldExvZ2luU3RhdHVzKGZ1bmN0aW9uKHJlc3BvbnNlKXtpZihy ZXNwb25zZS5zdGF0dXM9PT0nY29ubmVjdGVkJyYmcmVzcG9uc2UuYXV0aFJlc3Bv bnNlKXtTY3JpYmQubG9nKCdGQiBjaGVja1Nlc3Npb25TdGF0ZTogYWN0aXZlIGZi IHNlc3Npb24nKTtzZXNzaW9uPXJlc3BvbnNlLmF1dGhSZXNwb25zZTtFdmVudC5m aXJlKGRvY3VtZW50LFNjcmliZC5GYWNlYm9vay5FVkVOVFMuYWN0aXZlX2ZhY2Vi b29rX3Nlc3Npb24pO31lbHNle1NjcmliZC5sb2coJ0ZCIGNoZWNrU2Vzc2lvblN0 YXRlOiBpbmFjdGl2ZSBmYiBzZXNzaW9uJyk7Y29va2llLnNldCgnYWN0aXZlX2Zh Y2Vib29rX3Nlc3Npb24nLCdmYWxzZScpO2Nvb2tpZS5zZXQoJ2xhc3RfZmFjZWJv b2tfcGluZycsK25ldyBEYXRlKTtjb29raWUuc2F2ZSgpO3Nlc3Npb249ZmFsc2U7 RXZlbnQuZmlyZShkb2N1bWVudCxTY3JpYmQuRmFjZWJvb2suRVZFTlRTLmluYWN0 aXZlX2ZhY2Vib29rX3Nlc3Npb24pO319KTt9fQpyZXR1cm57c2NyaWJkU2Vzc2lv bkFjdGl2ZTpmYWxzZSxzZXJ2ZXJFbmFibGVJbnN0YW50Q29ubmVjdDp0cnVlLEVW RU5UUzp7bG9hZGVkOidTY3JpYmQ6RmFjZWJvb2s6bG9hZGVkJyxhY3RpdmVfZmFj ZWJvb2tfc2Vzc2lvbjonU2NyaWJkOkZhY2Vib29rOmFjdGl2ZV9mYWNlYm9va19z ZXNzaW9uJyxpbmFjdGl2ZV9mYWNlYm9va19zZXNzaW9uOidTY3JpYmQ6RmFjZWJv b2s6aW5hY3RpdmVfZmFjZWJvb2tfc2Vzc2lvbicsYXV0b19sb2dnZWRfaW46J1Nj cmliZDpGYWNlYm9vazphdXRvX2xvZ2dlZF9pbicsYXV0b19sb2dnZWRfb3V0OidT Y3JpYmQ6RmFjZWJvb2s6YXV0b19sb2dnZWRfb3V0Jyx0cmFuc2l0aW9uOidTY3Jp YmQ6RmFjZWJvb2s6dHJhbnNpdGlvbid9LG5hbWVzcGFjZTonc2NyaWJkLWNvbScs aXNTZXNzaW9uVHJhbnNpdGlvbmVkOmZ1bmN0aW9uKCl7cmV0dXJuIFNjcmliZC5G YWNlYm9vay5BdXRvTG9naW4udHJhbnNpdGlvbmVkO30sZ2V0U2Vzc2lvblVJRDpm dW5jdGlvbigpe2lmKCFzZXNzaW9ufHwhc2Vzc2lvbi51c2VySUQpe3JldHVybiBu dWxsO30KcmV0dXJuIHNlc3Npb24udXNlcklEO30sZW5zdXJlSW5pdDpmdW5jdGlv bihmdW5jKXtpZihsb2FkZWQpe2Z1bmMoKTt9CmVsc2V7ZG9jdW1lbnQub2JzZXJ2 ZShTY3JpYmQuRmFjZWJvb2suRVZFTlRTLmxvYWRlZCxmdW5jKTt9fSxiZWZvcmVG YWNlYm9va0luaXRpYWxpemU6ZnVuY3Rpb24oKXtTY3JpYmQuRmFjZWJvb2suQXV0 b0xvZ2luLmluaXRpYWxpemUoKTt9LGluaXRpYWxpemVDb25uZWN0OmZ1bmN0aW9u KCl7RkIuaW5pdCh7YXBwSWQ6YXBwSWQsc3RhdHVzOmZhbHNlLGNvb2tpZTp0cnVl LHhmYm1sOnRydWUsb2F1dGg6dHJ1ZX0pO3RoaXMuc2Vzc2lvbj1GQi5fc2Vzc2lv bjtpZihmYWNlYm9va1VzZXIpe0ZCLmdldExvZ2luU3RhdHVzKCk7fQpjaGVja1Nl c3Npb25TdGF0ZSgpO2xvYWRlZD10cnVlO2RvY3VtZW50LmZpcmUoU2NyaWJkLkZh Y2Vib29rLkVWRU5UUy5sb2FkZWQpO319O30oKSk7CgoKLyogcHVibGljL2phdmFz Y3JpcHRzL3NoYXJlZC9mYWNlYm9vay9saWtlX2J1dHRvbl9tYW5hZ2VyLmpzIEAg MTM0ODUxNzU3OSAqLwoKU2NyaWJkLmluaXQoJ1NjcmliZCcsJ0ZhY2Vib29rJyk7 U2NyaWJkLkxpa2VCdXR0b25NYW5hZ2VyPUNsYXNzLmNyZWF0ZSh7aW5pdGlhbGl6 ZTpmdW5jdGlvbihjdXJyZW50X2ZhY2Vib29rX3VzZXJfaWQsY29udGFpbmVyLHVy bCx3aWR0aCxsYXlvdXQsZXh0cmFzKXt2YXIgZXh0cmFzPWV4dHJhc3x8J3Nob3df ZmFjZXM9InRydWUiJzt2YXIgY29udGFpbmVyPSQoY29udGFpbmVyKTtkb2N1bWVu

dC5vYnNlcnZlKFNjcmliZC5GYWNlYm9vay5FVkVOVFMubG9hZGVkLGZ1bmN0aW9u KCl7Y29udGFpbmVyLnVwZGF0ZSgnPGZiOmxpa2UgaHJlZj0iJyt1cmwrJyIgd2lk dGg9Iicrd2lkdGgrJyIgbGF5b3V0PSInK2xheW91dCsnIiAnK2V4dHJhcysnPjwv ZmI6bGlrZT4nKS5zaG93KCk7fSk7fX0pOwoKCi8qIHB1YmxpYy9qYXZhc2NyaXB0 cy9zaGFyZWQvZmFjZWJvb2svYXV0b19sb2dpbi5qcyBAIDEzNDg1MTc1NzkgKi8K ClNjcmliZC5pbml0KCdTY3JpYmQnLCdGYWNlYm9vaycpO1NjcmliZC5GYWNlYm9v ay5BdXRvTG9naW49e3RyYW5zaXRpb25lZDpmYWxzZSxjb29raWU6bmV3IFNjcmli ZC5KU09OQ29va2llKCdzZXNzaW9uX21ldGFkYXRhJyksdHJhbnNpdGlvblVybDoi L3Nlc3Npb25fdHJhbnNpdGlvbi9uZXdfcGFnZV9jb250ZW50Iixpbml0aWFsaXpl OmZ1bmN0aW9uKCl7RXZlbnQub2JzZXJ2ZShkb2N1bWVudCxTY3JpYmQuRmFjZWJv b2suRVZFTlRTLmFjdGl2ZV9mYWNlYm9va19zZXNzaW9uLGZ1bmN0aW9uKGUpe2lm KHRoaXMuZW5hYmxlZCgpKXtuZXcgQWpheC5SZXF1ZXN0KCcvZmFjZWJvb2tfc2Vz c2lvbi9pbnN0YW50X2Nvbm5lY3QnLHtwYXJhbWV0ZXJzOntmYWNlYm9va19pZDpT Y3JpYmQuRmFjZWJvb2suZ2V0U2Vzc2lvblVJRCgpfSxvbkNvbXBsZXRlOmZ1bmN0 aW9uKHIpe2lmKHIucmVzcG9uc2VKU09OLnN1Y2Nlc3Mpe3RyYWNrRXZlbnQoJ0Zh Y2Vib29rJywnQXV0b2xvZ2luJyk7U2NyaWJkLmxvZygnRkIgYXV0b0xvZ2luOiBs b2dpbiByZXNwb25zZScsci5yZXNwb25zZUpTT04pO0V2ZW50LmZpcmUoZG9jdW1l bnQsU2NyaWJkLkZhY2Vib29rLkVWRU5UUy5hdXRvX2xvZ2dlZF9pbik7U2NyaWJk LkZhY2Vib29rLkF1dG9Mb2dpbi50cmFuc2l0aW9uVG9Mb2dnZWRJblVJKHIucmVz cG9uc2VKU09OKTt9ZWxzZSBpZihyLnJlc3BvbnNlSlNPTi5uZXdfdXNlcil7U2Ny aWJkLmxvZygnRkIgYXV0b0NyZWF0ZTogY3JlYXRlIHJlc3BvbnNlJyxyLnJlc3Bv bnNlSlNPTik7RXZlbnQuZmlyZShkb2N1bWVudCxTY3JpYmQuRmFjZWJvb2suRVZF TlRTLmF1dG9fbG9nZ2VkX2luKTtTY3JpYmQuRmFjZWJvb2suQXV0b0xvZ2luLnRy YW5zaXRpb25Ub0xvZ2dlZEluVUkoci5yZXNwb25zZUpTT04pO31lbHNle1Njcmli ZC5sb2coci5yZXNwb25zZUpTT04uc3VjY2Vzcyk7U2NyaWJkLmxvZygnRkIgYXV0 b0xvZ2luOiBubyBleGlzdGluZyBzY3JpYmQgdXNlcicpO3RoaXMubG9nZ2VkT3V0 KCk7dGhpcy5jb29raWUuc2V0KCdub19leGlzdGluZ19zY3JpYmRfdXNlcicsJ3Ry dWUnKTt0aGlzLmNvb2tpZS5zYXZlKCk7fX0uYmluZCh0aGlzKX0pO30KdGhpcy5j b29raWUuc2V0KCJsYXN0X2ZhY2Vib29rX3VpZCIsU2NyaWJkLkZhY2Vib29rU2Vz c2lvbi5nZXRVc2VySWQoKSk7dGhpcy5jb29raWUuc2F2ZSgpO30uYmluZCh0aGlz KSk7RXZlbnQub2JzZXJ2ZShkb2N1bWVudCxTY3JpYmQuRmFjZWJvb2suRVZFTlRT LmluYWN0aXZlX2ZhY2Vib29rX3Nlc3Npb24sZnVuY3Rpb24oZSl7U2NyaWJkLmxv ZygnRkIgYXV0b0xvZ2luOiBubyBhY3RpdmUgZmIgc2Vzc2lvbicpO3RoaXMubG9n Z2VkT3V0KCk7fS5iaW5kKHRoaXMpKTt9LHRyYW5zaXRpb25Ub0xvZ2dlZEluVUk6 ZnVuY3Rpb24oc2Vzc2lvbil7U2NyaWJkLmxvZ2dlZF9pbj10cnVlO1NjcmliZC5G YWNlYm9vay5BdXRvTG9naW4udHJhbnNpdGlvbmVkPXRydWU7ZG9jdW1lbnQuZmly ZShTY3JpYmQuRmFjZWJvb2suRVZFTlRTLnRyYW5zaXRpb24sc2Vzc2lvbik7bmV3 IEFqYXguUmVxdWVzdChTY3JpYmQuRmFjZWJvb2suQXV0b0xvZ2luLnRyYW5zaXRp b25Vcmwse29uQ29tcGxldGU6ZnVuY3Rpb24ocmVzKXt2YXIgb2JqPXJlcy5yZXNw b25zZUpTT04saGVhZGVyPSQoImdsb2JhbF9oZWFkZXIiKTtpZihvYmoudXNlcl9t ZW51KXt2YXIgcmlnaHQ9aGVhZGVyLmRvd24oIi5yaWdodF9zZWN0aW9uIikudXBk YXRlKG9iai51c2VyX21lbnUpO0VmZmVjdC5GYWRlKHJpZ2h0LHtmcm9tOjAsdG86 MX0pO25ldyBTY3JpYmQuSG92ZXJNZW51KHJpZ2h0LmRvd24oIi5ob3Zlcl9tZW51 IikpO30KaWYob2JqLmZhY2Vib29rX3RvcF9iYW5uZXIpe3ZhciBvbGRfZmFjZWJv b2s9JCgiZmFjZWJvb2tfd2VsY29tZSIpO2lmKG9sZF9mYWNlYm9vaylvbGRfZmFj ZWJvb2sucmVtb3ZlKCk7aGVhZGVyLmluc2VydCh7YWZ0ZXI6b2JqLmZhY2Vib29r X3RvcF9iYW5uZXJ9KTt9CmRvY3VtZW50LmJvZHkuZmlyZSgnU2NyaWJkOmRvbV91 cGRhdGVkJyk7fS5iaW5kKHRoaXMpfSk7fSxlbmFibGVkOmZ1bmN0aW9uKCl7aWYo dGhpcy5jb29raWUuZ2V0KCdub19leGlzdGluZ19zY3JpYmRfdXNlcicpPT0ndHJ1 ZScpe1NjcmliZC5sb2coJ0ZCIGF1dG9Mb2dpbjogbm8gZXhpc3Rpbmcgc2NyaWJk IHVzZXIgKGNhY2hlZCknKTtyZXR1cm4gZmFsc2U7fQppZihkb2N1bWVudC5jb29r aWUubWF0Y2goJ3VzZXJfZm9yY2VkX2xvZ291dD10cnVlJykpe3ZhciBsYXN0X3Vp ZD10aGlzLmNvb2tpZS5nZXQoImxhc3RfZmFjZWJvb2tfdWlkIik7aWYoIWxhc3Rf dWlkfHxsYXN0X3VpZD09U2NyaWJkLkZhY2Vib29rU2Vzc2lvbi5nZXRVc2VySWQo KSl7U2NyaWJkLmxvZygnRkIgYXV0b0xvZ2luOiB1c2VyIGZvcmNlZCBsb2dvdXQn KTtyZXR1cm4gZmFsc2U7fX0KaWYoIVNjcmliZC5GYWNlYm9vay5zZXJ2ZXJFbmFi bGVJbnN0YW50Q29ubmVjdHx8U2NyaWJkLkZhY2Vib29rLnNjcmliZFNlc3Npb25B Y3RpdmUpe3JldHVybiBmYWxzZTt9CnJldHVybiB0cnVlO30sbG9nZ2VkT3V0OmZ1 bmN0aW9uKCl7RXZlbnQuZmlyZShkb2N1bWVudCxTY3JpYmQuRmFjZWJvb2suRVZF TlRTLmF1dG9fbG9nZ2VkX291dCk7fX07RXZlbnQuZmlyZShkb2N1bWVudCwnU2Ny

aWJkOkZhY2Vib29rOkF1dG9Mb2dpbjpsb2FkZWQnKTsKCgovKiBwdWJsaWMvamF2 YXNjcmlwdHMvc2hhcmVkL2ZhY2Vib29rL2JsdWVfYmFyX3V0aWwuanMgQCAxMzQ4 NTE3NTc5ICovCgppZighd2luZG93LlNjcmliZCl2YXIgU2NyaWJkPW5ldyBPYmpl Y3QoKTtTY3JpYmQuYmx1ZUJhclV0aWw9e3Nob3c6ZnVuY3Rpb24oKXt9LGJhckNs b3NlZDpmdW5jdGlvbigpe3RyYWNrRXZlbnQoJ0ZhY2Vib29rJywnQmx1ZSBCYXIn LCdDbG9zZSBUaGlzIE1lc3NhZ2UnKTt9LG5vVGhhbmtzOmZ1bmN0aW9uKCl7RkIu YXBpKCcvbWUvcGVybWlzc2lvbnMnLCdkZWxldGUnLGZ1bmN0aW9uKCl7fSk7bmV3 IEFqYXguUmVxdWVzdCgiL2ZhY2Vib29rX3Nlc3Npb24vbm9fdGhhbmtzIix7YXN5 bmNocm9ub3VzOmZhbHNlLG9uU3VjY2VzczpmdW5jdGlvbihyZXEpe3RyYWNrRXZl bnQoJ0ZhY2Vib29rJywnQmx1ZSBCYXInLCdObyBUaGFua3MnKTsoZnVuY3Rpb24o KXt3aW5kb3cubG9jYXRpb249Jy9sb2dvdXQ/cmV0dXJuX3RvPScrZW5jb2RlVVJJ Q29tcG9uZW50KHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSk7fSkuZGVsYXkoMSk7 fSxvbjQwOTpmdW5jdGlvbihyZXEpe3dpbmRvdy5sb2NhdGlvbj0nL2FjY291bnQv YmxvY2tlZF9mcm9tX2RlbGV0aW9uJzt9fSk7fSxvbkxvYWRIYW5kbGVyOmZ1bmN0 aW9uKCl7U2NyaWJkLkZhY2Vib29rLmVuc3VyZUluaXQoZnVuY3Rpb24oKXtpZihm YWNlYm9va1VzZXImJlNjcmliZC5GYWNlYm9va1Nlc3Npb24uY29ycmVjdCgpJiZm YWNlYm9va1VzZXJJbnN0YW50Q29ubmVjdGVkKXtTY3JpYmQuYmx1ZUJhclV0aWwu c2hvdygpO319KTt9fTsKCgovKiBwdWJsaWMvamF2YXNjcmlwdHMvc2hhcmVkL2kx OG4uanMgQCAxMzQ4NTE3NTc5ICovCgp2YXIgSTE4bj1JMThufHx7fTtJMThuLmRl ZmF1bHRMb2NhbGU9ImVuX1VTIjtJMThuLmZhbGxiYWNrcz10cnVlO0kxOG4uZGVm YXVsdFNlcGFyYXRvcj0iLiI7STE4bi5sb2NhbGU9bnVsbDtJMThuLlBMQUNFSE9M REVSPS8oPzpce1x7fCVceykoLio/KSg/Olx9XH0/KS9nbTtJMThuLmlzVmFsaWRO b2RlPWZ1bmN0aW9uKG9iaixub2RlLHVuZGVmaW5lZCl7cmV0dXJuIG9ialtub2Rl XSE9PW51bGwmJm9ialtub2RlXSE9PXVuZGVmaW5lZDt9CkkxOG4ubG9va3VwPWZ1 bmN0aW9uKHNjb3BlLG9wdGlvbnMpe3ZhciBvcHRpb25zPW9wdGlvbnN8fHt9LGxv b2t1cEluaXRpYWxTY29wZT1zY29wZSx0cmFuc2xhdGlvbnM9dGhpcy5wcmVwYXJl T3B0aW9ucyhJMThuLnRyYW5zbGF0aW9ucyksbWVzc2FnZXM9dHJhbnNsYXRpb25z W29wdGlvbnMubG9jYWxlfHxJMThuLmN1cnJlbnRMb2NhbGUoKV0sb3B0aW9ucz10 aGlzLnByZXBhcmVPcHRpb25zKG9wdGlvbnMpLGN1cnJlbnRTY29wZTtpZighbWVz c2FnZXMmJm9wdGlvbnMucmVkbykKe3JldHVybjt9CmlmKCFtZXNzYWdlcyl7b3B0 aW9ucy5sb2NhbGU9STE4bi5kZWZhdWx0TG9jYWxlCm9wdGlvbnMucmVkbz10cnVl CnJldHVybiBJMThuLmxvb2t1cChzY29wZSxvcHRpb25zKX0KaWYodHlwZW9mKHNj b3BlKT09Im9iamVjdCIpe3Njb3BlPXNjb3BlLmpvaW4odGhpcy5kZWZhdWx0U2Vw YXJhdG9yKTt9CmlmKG9wdGlvbnMuc2NvcGUpe3Njb3BlPW9wdGlvbnMuc2NvcGUu dG9TdHJpbmcoKSt0aGlzLmRlZmF1bHRTZXBhcmF0b3Irc2NvcGU7fQpzY29wZT1z Y29wZS5zcGxpdCh0aGlzLmRlZmF1bHRTZXBhcmF0b3IpO3doaWxlKHNjb3BlLmxl bmd0aD4wKXtjdXJyZW50U2NvcGU9c2NvcGUuc2hpZnQoKTttZXNzYWdlcz1tZXNz YWdlc1tjdXJyZW50U2NvcGVdO2lmKCFtZXNzYWdlcyl7aWYoSTE4bi5mYWxsYmFj a3MmJiFvcHRpb25zLmZhbGxiYWNrKXttZXNzYWdlcz1JMThuLmxvb2t1cChsb29r dXBJbml0aWFsU2NvcGUsdGhpcy5wcmVwYXJlT3B0aW9ucyh7bG9jYWxlOkkxOG4u ZGVmYXVsdExvY2FsZSxmYWxsYmFjazp0cnVlfSxvcHRpb25zKSk7fQpicmVhazt9 fQppZighbWVzc2FnZXMmJnRoaXMuaXNWYWxpZE5vZGUob3B0aW9ucywiZGVmYXVs dFZhbHVlIikpe21lc3NhZ2VzPW9wdGlvbnMuZGVmYXVsdFZhbHVlO30KcmV0dXJu IG1lc3NhZ2VzO307STE4bi5wcmVwYXJlT3B0aW9ucz1mdW5jdGlvbigpe3ZhciBv cHRpb25zPXt9LG9wdHMsY291bnQ9YXJndW1lbnRzLmxlbmd0aDtmb3IodmFyIGk9 MDtpPGNvdW50O2krKyl7b3B0cz1hcmd1bWVudHNbaV07aWYoIW9wdHMpe2NvbnRp bnVlO30KZm9yKHZhciBrZXkgaW4gb3B0cyl7aWYoIXRoaXMuaXNWYWxpZE5vZGUo b3B0aW9ucyxrZXkpKXtvcHRpb25zW2tleV09b3B0c1trZXldO319fQpyZXR1cm4g b3B0aW9uczt9O0kxOG4uaW50ZXJwb2xhdGU9ZnVuY3Rpb24obWVzc2FnZSxvcHRp b25zKXtvcHRpb25zPXRoaXMucHJlcGFyZU9wdGlvbnMob3B0aW9ucyk7dmFyIG1h dGNoZXM9bWVzc2FnZS5tYXRjaCh0aGlzLlBMQUNFSE9MREVSKSxwbGFjZWhvbGRl cix2YWx1ZSxuYW1lO2lmKCFtYXRjaGVzKXtyZXR1cm4gbWVzc2FnZTt9CmZvcih2 YXIgaT0wO3BsYWNlaG9sZGVyPW1hdGNoZXNbaV07aSsrKXtuYW1lPXBsYWNlaG9s ZGVyLnJlcGxhY2UodGhpcy5QTEFDRUhPTERFUiwiJDEiKTt2YWx1ZT1vcHRpb25z W25hbWVdO2lmKCF0aGlzLmlzVmFsaWROb2RlKG9wdGlvbnMsbmFtZSkpe3ZhbHVl PSJbbWlzc2luZyAiK3BsYWNlaG9sZGVyKyIgdmFsdWVdIjt9CnJlZ2V4PW5ldyBS ZWdFeHAocGxhY2Vob2xkZXIucmVwbGFjZSgvXHsvZ20sIlxceyIpLnJlcGxhY2Uo L1x9L2dtLCJcXH0iKSk7bWVzc2FnZT1tZXNzYWdlLnJlcGxhY2UocmVnZXgsdmFs dWUpO30KcmV0dXJuIG1lc3NhZ2U7fTtJMThuLnRyYW5zbGF0ZT1mdW5jdGlvbihz Y29wZSxvcHRpb25zKXtvcHRpb25zPXRoaXMucHJlcGFyZU9wdGlvbnMob3B0aW9u

cyk7dmFyIHRyYW5zbGF0aW9uPXRoaXMubG9va3VwKHNjb3BlLG9wdGlvbnMpO3Ry eXtpZih0eXBlb2YodHJhbnNsYXRpb24pPT0ib2JqZWN0Iil7aWYodHlwZW9mKG9w dGlvbnMuY291bnQpPT0ibnVtYmVyIil7cmV0dXJuIHRoaXMucGx1cmFsaXplKG9w dGlvbnMuY291bnQsc2NvcGUsb3B0aW9ucyk7fWVsc2V7cmV0dXJuIHRyYW5zbGF0 aW9uO319ZWxzZXtyZXR1cm4gdGhpcy5pbnRlcnBvbGF0ZSh0cmFuc2xhdGlvbixv cHRpb25zKTt9fWNhdGNoKGVycil7cmV0dXJuIHRoaXMubWlzc2luZ1RyYW5zbGF0 aW9uKHNjb3BlKTt9fTtJMThuLmxvY2FsaXplPWZ1bmN0aW9uKHNjb3BlLHZhbHVl KXtzd2l0Y2goc2NvcGUpe2Nhc2UiY3VycmVuY3kiOnJldHVybiB0aGlzLnRvQ3Vy cmVuY3kodmFsdWUpO2Nhc2UibnVtYmVyIjpzY29wZT10aGlzLmxvb2t1cCgibnVt YmVyLmZvcm1hdCIpO3JldHVybiB0aGlzLnRvTnVtYmVyKHZhbHVlLHNjb3BlKTtj YXNlInBlcmNlbnRhZ2UiOnJldHVybiB0aGlzLnRvUGVyY2VudGFnZSh2YWx1ZSk7 ZGVmYXVsdDppZihzY29wZS5tYXRjaCgvXihkYXRlfHRpbWUpLykpe3JldHVybiB0 aGlzLnRvVGltZShzY29wZSx2YWx1ZSk7fWVsc2V7cmV0dXJuIHZhbHVlLnRvU3Ry aW5nKCk7fX19O0kxOG4ucGFyc2VEYXRlPWZ1bmN0aW9uKGRhdGUpe3ZhciBtYXRj aGVzLGNvbnZlcnRlZERhdGU7aWYodHlwZW9mKGRhdGUpPT0ib2JqZWN0Iil7cmV0 dXJuIGRhdGU7fTttYXRjaGVzPWRhdGUudG9TdHJpbmcoKS5tYXRjaCgvKFxkezR9 KS0oXGR7Mn0pLShcZHsyfSkoPzpbIFRdKFxkezJ9KTooXGR7Mn0pOihcZHsyfSkp PyhafFwrMDAwMCk/Lyk7aWYobWF0Y2hlcyl7Zm9yKHZhciBpPTE7aTw9NjtpKysp e21hdGNoZXNbaV09cGFyc2VJbnQobWF0Y2hlc1tpXSwxMCl8fDA7fQptYXRjaGVz WzJdLT0xO2lmKG1hdGNoZXNbN10pe2NvbnZlcnRlZERhdGU9bmV3IERhdGUoRGF0 ZS5VVEMobWF0Y2hlc1sxXSxtYXRjaGVzWzJdLG1hdGNoZXNbM10sbWF0Y2hlc1s0 XSxtYXRjaGVzWzVdLG1hdGNoZXNbNl0pKTt9ZWxzZXtjb252ZXJ0ZWREYXRlPW5l dyBEYXRlKG1hdGNoZXNbMV0sbWF0Y2hlc1syXSxtYXRjaGVzWzNdLG1hdGNoZXNb NF0sbWF0Y2hlc1s1XSxtYXRjaGVzWzZdKTt9fWVsc2UgaWYodHlwZW9mKGRhdGUp PT0ibnVtYmVyIil7Y29udmVydGVkRGF0ZT1uZXcgRGF0ZSgpO2NvbnZlcnRlZERh dGUuc2V0VGltZShkYXRlKTt9ZWxzZSBpZihkYXRlLm1hdGNoKC9cZCsgXGQrOlxk KzpcZCsgWystXVxkKyBcZCsvKSl7Y29udmVydGVkRGF0ZT1uZXcgRGF0ZSgpO2Nv bnZlcnRlZERhdGUuc2V0VGltZShEYXRlLnBhcnNlKGRhdGUpKX1lbHNle2NvbnZl cnRlZERhdGU9bmV3IERhdGUoKTtjb252ZXJ0ZWREYXRlLnNldFRpbWUoRGF0ZS5w YXJzZShkYXRlKSk7fQpyZXR1cm4gY29udmVydGVkRGF0ZTt9O0kxOG4udG9UaW1l PWZ1bmN0aW9uKHNjb3BlLGQpe3ZhciBkYXRlPXRoaXMucGFyc2VEYXRlKGQpLGZv cm1hdD10aGlzLmxvb2t1cChzY29wZSk7aWYoZGF0ZS50b1N0cmluZygpLm1hdGNo KC9pbnZhbGlkL2kpKXtyZXR1cm4gZGF0ZS50b1N0cmluZygpO30KaWYoIWZvcm1h dCl7cmV0dXJuIGRhdGUudG9TdHJpbmcoKTt9CnJldHVybiB0aGlzLnN0cmZ0aW1l KGRhdGUsZm9ybWF0KTt9O0kxOG4uc3RyZnRpbWU9ZnVuY3Rpb24oZGF0ZSxmb3Jt YXQpe3ZhciBvcHRpb25zPXRoaXMubG9va3VwKCJkYXRlIik7aWYoIW9wdGlvbnMp e3JldHVybiBkYXRlLnRvU3RyaW5nKCk7fQpvcHRpb25zLm1lcmlkaWFuPW9wdGlv bnMubWVyaWRpYW58fFsiQU0iLCJQTSJdO3ZhciB3ZWVrRGF5PWRhdGUuZ2V0RGF5 KCksZGF5PWRhdGUuZ2V0RGF0ZSgpLHllYXI9ZGF0ZS5nZXRGdWxsWWVhcigpLG1v bnRoPWRhdGUuZ2V0TW9udGgoKSsxLGhvdXI9ZGF0ZS5nZXRIb3VycygpLGhvdXIx Mj1ob3VyLG1lcmlkaWFuPWhvdXI+MTE/MTowLHNlY3M9ZGF0ZS5nZXRTZWNvbmRz KCksbWlucz1kYXRlLmdldE1pbnV0ZXMoKSxvZmZzZXQ9ZGF0ZS5nZXRUaW1lem9u ZU9mZnNldCgpLGFic09mZnNldEhvdXJzPU1hdGguZmxvb3IoTWF0aC5hYnMob2Zm c2V0LzYwKSksYWJzT2Zmc2V0TWludXRlcz1NYXRoLmFicyhvZmZzZXQpLShhYnNP ZmZzZXRIb3Vycyo2MCksdGltZXpvbmVvZmZzZXQ9KG9mZnNldD4wPyItIjoiKyIp KyhhYnNPZmZzZXRIb3Vycy50b1N0cmluZygpLmxlbmd0aDwyPyIwIithYnNPZmZz ZXRIb3VyczphYnNPZmZzZXRIb3VycykrKGFic09mZnNldE1pbnV0ZXMudG9TdHJp bmcoKS5sZW5ndGg8Mj8iMCIrYWJzT2Zmc2V0TWludXRlczphYnNPZmZzZXRNaW51 dGVzKTtpZihob3VyMTI+MTIpe2hvdXIxMj1ob3VyMTItMTI7fWVsc2UgaWYoaG91 cjEyPT09MCl7aG91cjEyPTEyO30KdmFyIHBhZGRpbmc9ZnVuY3Rpb24obil7dmFy IHM9IjAiK24udG9TdHJpbmcoKTtyZXR1cm4gcy5zdWJzdHIocy5sZW5ndGgtMik7 fTt2YXIgZj1mb3JtYXQ7Zj1mLnJlcGxhY2UoIiVhIixvcHRpb25zLmFiYnJfZGF5 X25hbWVzW3dlZWtEYXldKTtmPWYucmVwbGFjZSgiJUEiLG9wdGlvbnMuZGF5X25h bWVzW3dlZWtEYXldKTtmPWYucmVwbGFjZSgiJWIiLG9wdGlvbnMuYWJicl9tb250 aF9uYW1lc1ttb250aF0pO2Y9Zi5yZXBsYWNlKCIlQiIsb3B0aW9ucy5tb250aF9u YW1lc1ttb250aF0pO2Y9Zi5yZXBsYWNlKCIlZCIscGFkZGluZyhkYXkpKTtmPWYu cmVwbGFjZSgiJWUiLGRheSk7Zj1mLnJlcGxhY2UoIiUtZCIsZGF5KTtmPWYucmVw bGFjZSgiJUgiLHBhZGRpbmcoaG91cikpO2Y9Zi5yZXBsYWNlKCIlLUgiLGhvdXIp O2Y9Zi5yZXBsYWNlKCIlSSIscGFkZGluZyhob3VyMTIpKTtmPWYucmVwbGFjZSgi JS1JIixob3VyMTIpO2Y9Zi5yZXBsYWNlKCIlbSIscGFkZGluZyhtb250aCkpO2Y9

Zi5yZXBsYWNlKCIlLW0iLG1vbnRoKTtmPWYucmVwbGFjZSgiJU0iLHBhZGRpbmco bWlucykpO2Y9Zi5yZXBsYWNlKCIlLU0iLG1pbnMpO2Y9Zi5yZXBsYWNlKCIlcCIs b3B0aW9ucy5tZXJpZGlhblttZXJpZGlhbl0pO2Y9Zi5yZXBsYWNlKCIlUyIscGFk ZGluZyhzZWNzKSk7Zj1mLnJlcGxhY2UoIiUtUyIsc2Vjcyk7Zj1mLnJlcGxhY2Uo IiV3Iix3ZWVrRGF5KTtmPWYucmVwbGFjZSgiJXkiLHBhZGRpbmcoeWVhcikpO2Y9 Zi5yZXBsYWNlKCIlLXkiLHBhZGRpbmcoeWVhcikucmVwbGFjZSgvXjArLywiIikp O2Y9Zi5yZXBsYWNlKCIlWSIseWVhcik7Zj1mLnJlcGxhY2UoIiV6Iix0aW1lem9u ZW9mZnNldCk7cmV0dXJuIGY7fTtJMThuLnRvTnVtYmVyPWZ1bmN0aW9uKG51bWJl cixvcHRpb25zKXtvcHRpb25zPXRoaXMucHJlcGFyZU9wdGlvbnMob3B0aW9ucyx0 aGlzLmxvb2t1cCgibnVtYmVyLmZvcm1hdCIpLHtwcmVjaXNpb246MyxzZXBhcmF0 b3I6Ii4iLGRlbGltaXRlcjoiLCIsc3RyaXBfaW5zaWduaWZpY2FudF96ZXJvczpm YWxzZX0pO3ZhciBuZWdhdGl2ZT1udW1iZXI8MCxzdHJpbmc9TWF0aC5hYnMobnVt YmVyKS50b0ZpeGVkKG9wdGlvbnMucHJlY2lzaW9uKS50b1N0cmluZygpLHBhcnRz PXN0cmluZy5zcGxpdCgiLiIpLHByZWNpc2lvbixidWZmZXI9W10sZm9ybWF0dGVk TnVtYmVyO251bWJlcj1wYXJ0c1swXTtwcmVjaXNpb249cGFydHNbMV07d2hpbGUo bnVtYmVyLmxlbmd0aD4wKXtidWZmZXIudW5zaGlmdChudW1iZXIuc3Vic3RyKE1h dGgubWF4KDAsbnVtYmVyLmxlbmd0aC0zKSwzKSk7bnVtYmVyPW51bWJlci5zdWJz dHIoMCxudW1iZXIubGVuZ3RoLTMpO30KZm9ybWF0dGVkTnVtYmVyPWJ1ZmZlci5q b2luKG9wdGlvbnMuZGVsaW1pdGVyKTtpZihvcHRpb25zLnByZWNpc2lvbj4wKXtm b3JtYXR0ZWROdW1iZXIrPW9wdGlvbnMuc2VwYXJhdG9yK3BhcnRzWzFdO30KaWYo bmVnYXRpdmUpe2Zvcm1hdHRlZE51bWJlcj0iLSIrZm9ybWF0dGVkTnVtYmVyO30K aWYob3B0aW9ucy5zdHJpcF9pbnNpZ25pZmljYW50X3plcm9zKXt2YXIgcmVnZXg9 e3NlcGFyYXRvcjpuZXcgUmVnRXhwKG9wdGlvbnMuc2VwYXJhdG9yLnJlcGxhY2Uo L1wuLywiXFwuIikrIiQiKSx6ZXJvczovMCskL307Zm9ybWF0dGVkTnVtYmVyPWZv cm1hdHRlZE51bWJlci5yZXBsYWNlKHJlZ2V4Lnplcm9zLCIiKS5yZXBsYWNlKHJl Z2V4LnNlcGFyYXRvciwiIik7fQpyZXR1cm4gZm9ybWF0dGVkTnVtYmVyO307STE4 bi50b0N1cnJlbmN5PWZ1bmN0aW9uKG51bWJlcixvcHRpb25zKXtvcHRpb25zPXRo aXMucHJlcGFyZU9wdGlvbnMob3B0aW9ucyx0aGlzLmxvb2t1cCgibnVtYmVyLmN1 cnJlbmN5LmZvcm1hdCIpLHRoaXMubG9va3VwKCJudW1iZXIuZm9ybWF0Iikse3Vu aXQ6IiQiLHByZWNpc2lvbjoyLGZvcm1hdDoiJXUlbiIsZGVsaW1pdGVyOiIsIixz ZXBhcmF0b3I6Ii4ifSk7bnVtYmVyPXRoaXMudG9OdW1iZXIobnVtYmVyLG9wdGlv bnMpO251bWJlcj1vcHRpb25zLmZvcm1hdC5yZXBsYWNlKCIldSIsb3B0aW9ucy51 bml0KS5yZXBsYWNlKCIlbiIsbnVtYmVyKTtyZXR1cm4gbnVtYmVyO307STE4bi50 b0h1bWFuU2l6ZT1mdW5jdGlvbihudW1iZXIsb3B0aW9ucyl7dmFyIGtiPTEwMjQs c2l6ZT1udW1iZXIsaXRlcmF0aW9ucz0wLHVuaXQscHJlY2lzaW9uO3doaWxlKHNp emU+PWtiJiZpdGVyYXRpb25zPDQpe3NpemU9c2l6ZS9rYjtpdGVyYXRpb25zKz0x O30KaWYoaXRlcmF0aW9ucz09PTApe3VuaXQ9dGhpcy50KCJudW1iZXIuaHVtYW4u c3RvcmFnZV91bml0cy51bml0cy5ieXRlIix7Y291bnQ6c2l6ZX0pO3ByZWNpc2lv bj0wO31lbHNle3VuaXQ9dGhpcy50KCJudW1iZXIuaHVtYW4uc3RvcmFnZV91bml0 cy51bml0cy4iK1tudWxsLCJrYiIsIm1iIiwiZ2IiLCJ0YiJdW2l0ZXJhdGlvbnNd KTtwcmVjaXNpb249KHNpemUtTWF0aC5mbG9vcihzaXplKT09PTApPzA6MTt9Cm9w dGlvbnM9dGhpcy5wcmVwYXJlT3B0aW9ucyhvcHRpb25zLHtwcmVjaXNpb246cHJl Y2lzaW9uLGZvcm1hdDoiJW4ldSIsZGVsaW1pdGVyOiIifSk7bnVtYmVyPXRoaXMu dG9OdW1iZXIoc2l6ZSxvcHRpb25zKTtudW1iZXI9b3B0aW9ucy5mb3JtYXQucmVw bGFjZSgiJXUiLHVuaXQpLnJlcGxhY2UoIiVuIixudW1iZXIpO3JldHVybiBudW1i ZXI7fTtJMThuLnRvUGVyY2VudGFnZT1mdW5jdGlvbihudW1iZXIsb3B0aW9ucyl7 b3B0aW9ucz10aGlzLnByZXBhcmVPcHRpb25zKG9wdGlvbnMsdGhpcy5sb29rdXAo Im51bWJlci5wZXJjZW50YWdlLmZvcm1hdCIpLHRoaXMubG9va3VwKCJudW1iZXIu Zm9ybWF0Iikse3ByZWNpc2lvbjozLHNlcGFyYXRvcjoiLiIsZGVsaW1pdGVyOiIi fSk7bnVtYmVyPXRoaXMudG9OdW1iZXIobnVtYmVyLG9wdGlvbnMpO3JldHVybiBu dW1iZXIrIiUiO307STE4bi5wbHVyYWxpemU9ZnVuY3Rpb24oY291bnQsc2NvcGUs b3B0aW9ucyl7dmFyIHRyYW5zbGF0aW9uO3RyeXt0cmFuc2xhdGlvbj10aGlzLmxv b2t1cChzY29wZSxvcHRpb25zKTt9Y2F0Y2goZXJyb3Ipe30KaWYoIXRyYW5zbGF0 aW9uKXtyZXR1cm4gdGhpcy5taXNzaW5nVHJhbnNsYXRpb24oc2NvcGUpO30KdmFy IG1lc3NhZ2U7b3B0aW9ucz10aGlzLnByZXBhcmVPcHRpb25zKG9wdGlvbnMpO29w dGlvbnMuY291bnQ9Y291bnQudG9TdHJpbmcoKTtzd2l0Y2goTWF0aC5hYnMoY291 bnQpKXtjYXNlIDA6bWVzc2FnZT10aGlzLmlzVmFsaWROb2RlKHRyYW5zbGF0aW9u LCJ6ZXJvIik/dHJhbnNsYXRpb24uemVybzp0aGlzLmlzVmFsaWROb2RlKHRyYW5z bGF0aW9uLCJub25lIik/dHJhbnNsYXRpb24ubm9uZTp0aGlzLmlzVmFsaWROb2Rl KHRyYW5zbGF0aW9uLCJvdGhlciIpP3RyYW5zbGF0aW9uLm90aGVyOnRoaXMubWlz

c2luZ1RyYW5zbGF0aW9uKHNjb3BlLCJ6ZXJvIik7YnJlYWs7Y2FzZSAxOm1lc3Nh Z2U9dGhpcy5pc1ZhbGlkTm9kZSh0cmFuc2xhdGlvbiwib25lIik/dHJhbnNsYXRp b24ub25lOnRoaXMubWlzc2luZ1RyYW5zbGF0aW9uKHNjb3BlLCJvbmUiKTticmVh aztkZWZhdWx0Om1lc3NhZ2U9dGhpcy5pc1ZhbGlkTm9kZSh0cmFuc2xhdGlvbiwi b3RoZXIiKT90cmFuc2xhdGlvbi5vdGhlcjp0aGlzLm1pc3NpbmdUcmFuc2xhdGlv bihzY29wZSwib3RoZXIiKTt9CnJldHVybiB0aGlzLmludGVycG9sYXRlKG1lc3Nh Z2Usb3B0aW9ucyk7fTtJMThuLm1pc3NpbmdUcmFuc2xhdGlvbj1mdW5jdGlvbigp e3ZhciBtZXNzYWdlPSdbbWlzc2luZyAiJyt0aGlzLmN1cnJlbnRMb2NhbGUoKSxj b3VudD1hcmd1bWVudHMubGVuZ3RoO2Zvcih2YXIgaT0wO2k8Y291bnQ7aSsrKXtt ZXNzYWdlKz0iLiIrYXJndW1lbnRzW2ldO30KbWVzc2FnZSs9JyIgdHJhbnNsYXRp b25dJztyZXR1cm4gbWVzc2FnZTt9O0kxOG4uY3VycmVudExvY2FsZT1mdW5jdGlv bigpe3JldHVybihJMThuLmxvY2FsZXx8STE4bi5kZWZhdWx0TG9jYWxlKTt9O0kx OG4udD1JMThuLnRyYW5zbGF0ZTtJMThuLmw9STE4bi5sb2NhbGl6ZTtJMThuLnA9 STE4bi5wbHVyYWxpemU7CgoKLyogcHVibGljL2phdmFzY3JpcHRzL3NoYXJlZC9s aW5rX2FjY291bnQuanMgQCAxMzQ4NTE3NTc5ICovCgppZighd2luZG93LlNjcmli ZCl2YXIgU2NyaWJkPW5ldyBPYmplY3QoKTtpZighU2NyaWJkLkZhY2Vib29rKVNj cmliZC5GYWNlYm9vaz17fTtpZighU2NyaWJkLlR3aXR0ZXIpU2NyaWJkLlR3aXR0 ZXI9e307U2NyaWJkLlNvY2lhbEFjY291bnQ9Q2xhc3MuY3JlYXRlKHtpbml0aWFs aXplOmZ1bmN0aW9uKGVsZW1lbnQsY2FsbGJhY2tzKXt0aGlzLmVsZW1lbnQ9ZWxl bWVudDtpZih0aGlzLmVsZW1lbnQpe3RoaXMuZWxlbWVudC5vYnNlcnZlKCdjbGlj aycsdGhpcy5saW5rUHJvbXB0LmJpbmQodGhpcykpO30KaWYodHlwZW9mIGNhbGxi YWNrcyE9PSd1bmRlZmluZWQnKXt0aGlzLm9uU3VjY2Vzcz1jYWxsYmFja3Mub25T dWNjZXNzO3RoaXMub25GYWlsdXJlPWNhbGxiYWNrcy5vbkZhaWx1cmU7fX0sc3Vj Y2VzczpmdW5jdGlvbigpe2lmKHRoaXMub25TdWNjZXNzKXRoaXMub25TdWNjZXNz KCk7fSxmYWlsdXJlOmZ1bmN0aW9uKCl7aWYodGhpcy5vbkZhaWx1cmUpdGhpcy5v bkZhaWx1cmUoKTt9LGxpbmtlZFRlbXBsYXRlOm5ldyBUZW1wbGF0ZSgnPHNwYW4+ I3tuYW1lfTwvc3Bhbj4nKX0pO1NjcmliZC5GYWNlYm9vay5BY2NvdW50PUNsYXNz LmNyZWF0ZShTY3JpYmQuU29jaWFsQWNjb3VudCx7bGlua1Byb21wdDpmdW5jdGlv bihlKXtlLnN0b3AoKTtGQi5sb2dpbih0aGlzLmhhbmRsZUxpbmtSZXNwb25zZS5i aW5kKHRoaXMpKTt9LGhhbmRsZUxpbmtSZXNwb25zZTpmdW5jdGlvbihyZXNwb25z ZSl7aWYocmVzcG9uc2UuYXV0aFJlc3BvbnNlKXtuZXcgQWpheC5SZXF1ZXN0KCIv ZmFjZWJvb2tfbGluayIse21ldGhvZDoncG9zdCcsb25TdWNjZXNzOnRoaXMubGlu a1N1Y2Nlc3MuYmluZCh0aGlzKSxvbkZhaWx1cmU6dGhpcy5saW5rRmFpbHVyZS5i aW5kKHRoaXMpfSk7fWVsc2V7dGhpcy5saW5rRmFpbHVyZSgpO319LHNldEdsb2Jh bFN0YXRlOmZ1bmN0aW9uKCl7dmFyIGNvb2tpZT1GQi5Db29raWUubG9hZCgpO2lm KGNvb2tpZSl7ZmFjZWJvb2tVc2VyPXRydWU7ZmFjZWJvb2tTZXNzaW9uS2V5PWNv b2tpZS5zZXNzaW9uX2tleTtmYWNlYm9va1VzZXJJZD1jb29raWUudWlkO319LGxp bmtTdWNjZXNzOmZ1bmN0aW9uKCl7dGhpcy5zZXRHbG9iYWxTdGF0ZSgpO3RoaXMu c2V0TmFtZSgpOyQkKCIuZmFjZWJvb2tfcHJlZnMiKS5pbnZva2UoJ2hpZGUnKTtT Y3JpYmQuQWxlcnRzLnN1Y2Nlc3MoJ2ZsYXNoZXNfcGxhY2Vob2xkZXInLCJZb3Vy IGZhY2Vib29rIGFjY291bnQgaXMgbm93IGxpbmtlZC4iLHthdXRvX2ZhZGU6dHJ1 ZX0pOyQkKCcuZmFjZWJvb2tfbm90X2xpbmtlZCcpLmludm9rZSgnaGlkZScpO3Ro aXMuc3VjY2VzcygpO30sbGlua0ZhaWx1cmU6ZnVuY3Rpb24oKXtTY3JpYmQuQWxl cnRzLmVycm9yKCdmbGFzaGVzX3BsYWNlaG9sZGVyJywiU29ycnksIGFub3RoZXIg U2NyaWJkIHVzZXIgaXMgYWxyZWFkeSBhc3NvY2lhdGVkIHdpdGggdGhhdCBGYWNl Ym9vayBhY2NvdW50LiIse2F1dG9fZmFkZTpmYWxzZX0pO3RoaXMuZmFpbHVyZSgp O30scmVwbGFjZUxpbms6ZnVuY3Rpb24ocmVzcG9uc2Upe2lmKHJlc3BvbnNlWzBd KXt2YXIgc3Bhbj10aGlzLmxpbmtlZFRlbXBsYXRlLmV2YWx1YXRlKHtuYW1lOnJl c3BvbnNlWzBdLm5hbWV9KTskJCgnLmZhY2Vib29rX3VubGlua19hY2NvdW50Jyku aW52b2tlKCdzaG93Jyk7JCQoJy5mYWNlYm9va19saW5rX2FjY291bnQnKS5pbnZv a2UoJ2hpZGUnKTskJCgnLmZhY2Vib29rX3VzZXJuYW1lJykuZWFjaChmdW5jdGlv bihlbGVtZW50KXtlbGVtZW50LnVwZGF0ZShyZXNwb25zZVswXS5uYW1lKTtlbGVt ZW50LnNob3coKTt9KTt9fSxzZXROYW1lOmZ1bmN0aW9uKCl7RkIuYXBpKHttZXRo b2Q6J2ZxbC5xdWVyeScscXVlcnk6J1NFTEVDVCBuYW1lIEZST00gcHJvZmlsZSBX SEVSRSBpZD0nK0ZCLmdldEF1dGhSZXNwb25zZSgpLnVzZXJJRH0sdGhpcy5yZXBs YWNlTGluay5iaW5kKHRoaXMpKTt9fSk7U2NyaWJkLlR3aXR0ZXIuQWNjb3VudD1D bGFzcy5jcmVhdGUoU2NyaWJkLlNvY2lhbEFjY291bnQse2xpbmtQcm9tcHQ6ZnVu Y3Rpb24oZSl7ZS5zdG9wKCk7dmFyIHBvcHVwUGFyYW1zPSdsb2NhdGlvbj0wLHN0 YXR1cz0wLHdpZHRoPTgwMCxoZWlnaHQ9NDAwJzt0aGlzLl90d2l0dGVyV2luZG93 PXdpbmRvdy5vcGVuKCIvdHdpdHRlcl9saW5rL25ldy5qcyIsJ3R3aXR0ZXJXaW5k

b3cnLHBvcHVwUGFyYW1zKTt0aGlzLl90d2l0dGVySW50ZXJ2YWw9d2luZG93LnNl dEludGVydmFsKHRoaXMuaGFuZGxlTGlua1Jlc3BvbnNlLmJpbmQodGhpcyksMjAw KTt9LGhhbmRsZUxpbmtSZXNwb25zZTpmdW5jdGlvbigpe2lmKCF0aGlzLl90d2l0 dGVyV2luZG93KXt0aGlzLnJlc3BvbnNlRG9uZSgpO30KdHJ5e2lmKHRoaXMuX3R3 aXR0ZXJXaW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKCdvYXV0aF90b2tlbicp Pj0wKXt0aGlzLl90d2l0dGVyV2luZG93LmNsb3NlKCk7dGhpcy5yZXNwb25zZURv bmUoKTt9fWNhdGNoKGUpe319LHJlc3BvbnNlRG9uZTpmdW5jdGlvbigpe3dpbmRv dy5jbGVhckludGVydmFsKHRoaXMuX3R3aXR0ZXJJbnRlcnZhbCk7dGhpcy50ZXN0 TGluaygpO30sdGVzdExpbms6ZnVuY3Rpb24oKXtuZXcgQWpheC5SZXF1ZXN0KCIv dHdpdHRlcl9saW5rLmpzIix7bWV0aG9kOidnZXQnLG9uU3VjY2Vzczp0aGlzLmxp bmtTdWNjZXNzLmJpbmQodGhpcyksb25GYWlsdXJlOnRoaXMubGlua0ZhaWx1cmUu YmluZCh0aGlzKX0pO30sbGlua1N1Y2Nlc3M6ZnVuY3Rpb24oKXskJCgiLnR3aXR0 ZXJfcHJlZnMiKS5pbnZva2UoJ2hpZGUnKTtTY3JpYmQuQWxlcnRzLnN1Y2Nlc3Mo J2ZsYXNoZXNfcGxhY2Vob2xkZXInLCJZb3VyIHR3aXR0ZXIgYWNjb3VudCBpcyBu b3cgbGlua2VkLiIse2F1dG9fZmFkZTp0cnVlfSk7JCQoJy50d2l0dGVyX25vdF9s aW5rZWQnKS5pbnZva2UoJ2hpZGUnKTt0aGlzLnN1Y2Nlc3MoKTt0aGlzLnNldE5h bWUoKTt9LGxpbmtGYWlsdXJlOmZ1bmN0aW9uKCl7U2NyaWJkLkFsZXJ0cy5lcnJv cignZmxhc2hlc19wbGFjZWhvbGRlcicsIldlIGNvdWxkIG5vdCBsaW5rIHlvdXIg dHdpdHRlciBhY2NvdW50LiAgUGxlYXNlIHRyeSBhZ2Fpbi4iLHthdXRvX2ZhZGU6 dHJ1ZX0pO3RoaXMuZmFpbHVyZSgpO30scmVwbGFjZUxpbms6ZnVuY3Rpb24odHJh bnMpeyQkKCcudHdpdHRlcl91bmxpbmtfYWNjb3VudCcpLmludm9rZSgnc2hvdycp OyQkKCcudHdpdHRlcl9saW5rX2FjY291bnQnKS5pbnZva2UoJ2hpZGUnKTskJCgn LnR3aXR0ZXJfdXNlcm5hbWUnKS5lYWNoKGZ1bmN0aW9uKGVsZW1lbnQpe2VsZW1l bnQudXBkYXRlKCJAIit0cmFucy5yZXNwb25zZUpTT04uaW5mby5zY3JlZW5fbmFt ZSk7ZWxlbWVudC5zaG93KCk7fSk7fSxzZXROYW1lOmZ1bmN0aW9uKCl7bmV3IEFq YXguUmVxdWVzdCgiL3R3aXR0ZXJfbGluay9pbmZvLmpzb24iLHttZXRob2Q6J2dl dCcsZXZhbEpTT046J2ZvcmNlJyxvblN1Y2Nlc3M6dGhpcy5yZXBsYWNlTGluay5i aW5kKHRoaXMpfSk7fX0pO1NjcmliZC5GYWNlYm9vay5VbmxpbmtBY2NvdW50PUNs YXNzLmNyZWF0ZSh7aW5pdGlhbGl6ZTpmdW5jdGlvbihlbGVtZW50KXt0aGlzLmVs ZW1lbnQ9ZWxlbWVudDtpZih0aGlzLmVsZW1lbnQpe3RoaXMuZWxlbWVudC5vYnNl cnZlKCdjbGljaycsdGhpcy51bmxpbmtBY2NvdW50LmJpbmQodGhpcykpO319LHVu bGlua0FjY291bnQ6ZnVuY3Rpb24oZSl7ZS5zdG9wKCk7bmV3IEFqYXguUmVxdWVz dCgiL2ZhY2Vib29rX2xpbmtzL2Rlc3Ryb3kiLHttZXRob2Q6J2RlbGV0ZScsb25T dWNjZXNzOnRoaXMuaGFuZGxlVW5saW5rQWNjb3VudFJlc3BvbnNlLmJpbmQodGhp cyl9KTt9LGhhbmRsZVVubGlua0FjY291bnRSZXNwb25zZTpmdW5jdGlvbihyZXNw b25zZSl7JCQoJy5mYWNlYm9va191bmxpbmtfYWNjb3VudCcpLmludm9rZSgnaGlk ZScpOyQkKCcuZmFjZWJvb2tfdXNlcm5hbWUnKS5pbnZva2UoJ2hpZGUnKTskJCgn LmZhY2Vib29rX2xpbmtfYWNjb3VudCcpLmludm9rZSgnc2hvdycpO319KTtTY3Jp YmQuVHdpdHRlci5VbmxpbmtBY2NvdW50PUNsYXNzLmNyZWF0ZSh7aW5pdGlhbGl6 ZTpmdW5jdGlvbihlbGVtZW50KXt0aGlzLmVsZW1lbnQ9ZWxlbWVudDtpZih0aGlz LmVsZW1lbnQpe3RoaXMuZWxlbWVudC5vYnNlcnZlKCdjbGljaycsdGhpcy51bmxp bmtBY2NvdW50LmJpbmQodGhpcykpO319LHVubGlua0FjY291bnQ6ZnVuY3Rpb24o ZSl7ZS5zdG9wKCk7bmV3IEFqYXguUmVxdWVzdCgiL3R3aXR0ZXJfbGlua3MvZGVz dHJveSIse21ldGhvZDonZGVsZXRlJyxvblN1Y2Nlc3M6dGhpcy5oYW5kbGVVbmxp bmtBY2NvdW50UmVzcG9uc2UuYmluZCh0aGlzKX0pO30saGFuZGxlVW5saW5rQWNj b3VudFJlc3BvbnNlOmZ1bmN0aW9uKHJlc3BvbnNlKXskJCgnLnR3aXR0ZXJfdW5s aW5rX2FjY291bnQnKS5pbnZva2UoJ2hpZGUnKTskJCgnLnR3aXR0ZXJfdXNlcm5h bWUnKS5pbnZva2UoJ2hpZGUnKTskJCgnLnR3aXR0ZXJfbGlua19hY2NvdW50Jyku aW52b2tlKCdzaG93Jyk7fX0pO2RvY3VtZW50Lm9ic2VydmUoJ1NjcmliZDpGYWNl Ym9vazpsb2FkZWQnLGZ1bmN0aW9uKCl7aWYoIVNjcmliZC5SZWFkY2FzdC5hY3Rp dmUoKSlyZXR1cm47JCQoJy5mYWNlYm9va19saW5rJykuZWFjaChmdW5jdGlvbihl bCl7bmV3IFNjcmliZC5GYWNlYm9vay5BY2NvdW50KGVsKTt9KTskJCgnLnR3aXR0 ZXJfbGluaycpLmVhY2goZnVuY3Rpb24oZWwpe25ldyBTY3JpYmQuVHdpdHRlci5B Y2NvdW50KGVsKTt9KTt9KTsKCgovKiBwdWJsaWMvamF2YXNjcmlwdHMvc2hhcmVk L2xvZ2luX3JlcXVpcmVkLmpzIEAgMTM0ODUxNzU3OSAqLwoKU2NyaWJkLnJlcXVp cmVMb2dpbj1mdW5jdGlvbigpe2lmKFNjcmliZC5sb2dnZWRfaW4pe3JldHVybiB0 cnVlO30KU2NyaWJkLmxvZ2luLm9wZW4oe30pO3JldHVybiBmYWxzZTt9OwoKCi8q IHB1YmxpYy9qYXZhc2NyaXB0cy9zaGFyZWQvbG9nb3V0QWxlcnQuanMgQCAxMzQ4 NTE3NTc5ICovCgppZighd2luZG93LlNjcmliZCl2YXIgU2NyaWJkPW5ldyBPYmpl Y3QoKTtTY3JpYmQubG9nb3V0QWxlcnQ9Q2xhc3MuY3JlYXRlKHttZXNzYWdlOidZ

b3UgaGF2ZSBsb2dnZWQgb3V0LicsaW5pdGlhbGl6ZTpmdW5jdGlvbihjb250YWlu ZXIpe3ZhciBjb250YWluZXI9JChjb250YWluZXIpO2lmKGNvbnRhaW5lciYmU2Ny aWJkLkFsZXJ0cyYmIVNjcmliZC5sb2dnZWRfaW4pe2lmKHdpbmRvdy5sb2NhdGlv bi5oYXNoPT0nI2xvZ291dCcpe2NvbnRhaW5lci5hZGRDbGFzc05hbWUoJ2FjdGl2 ZScpLnNob3coKTtTY3JpYmQuQWxlcnRzLnN1Y2Nlc3NfYmx1ZShjb250YWluZXIs dGhpcy5tZXNzYWdlKTt3aW5kb3cubG9jYXRpb24uaGFzaD0nJzt9fX19KTtFdmVu dC5vYnNlcnZlKHdpbmRvdywnbG9hZCcsZnVuY3Rpb24oZSl7bmV3IFNjcmliZC5s b2dvdXRBbGVydCgnZmxhc2hlc19wbGFjZWhvbGRlcicpO30pOwoKCi8qIHB1Ymxp Yy9qYXZhc2NyaXB0cy9zaGFyZWQvb3B0aW9ucy5qcyBAIDEzNDg1MTc1NzkgKi8K CmlmKCF3aW5kb3cuU2NyaWJkKXZhciBTY3JpYmQ9bmV3IE9iamVjdCgpO1Njcmli ZC5PcHRpb25zPWZ1bmN0aW9uKGRlZmF1bHRzLG9wdGlvbnMpe2lmKG9wdGlvbnM9 PT11bmRlZmluZWQpdmFyIG9wdGlvbnM9e307dmFyIHI9ZGVmYXVsdHM7Zm9yKHZh ciBwcm9wZXJ0eSBpbiBvcHRpb25zKQpyW3Byb3BlcnR5XT1vcHRpb25zW3Byb3Bl cnR5XTtyZXR1cm4gcjt9OwoKCi8qIHB1YmxpYy9qYXZhc2NyaXB0cy9zaGFyZWQv cHJvdG90eXBlcy9zdHJpbmcuanMgQCAxMzQ4NTE3NTc5ICovCgpPYmplY3QuZXh0 ZW5kKFN0cmluZy5wcm90b3R5cGUsKGZ1bmN0aW9uKCl7dmFyIHVwZGF0ZVF1ZXJ5 UGFyYW1zPWZ1bmN0aW9uKHBhcmFtcyl7aWYodGhpcy5pbmRleE9mKCc/Jyk9PS0x KXtyZXR1cm4gdGhpcysnPycrT2JqZWN0LnRvUXVlcnlTdHJpbmcocGFyYW1zKTt9 ZWxzZXt2YXIgb2xkX3BhcmFtcz10aGlzLnRvUXVlcnlQYXJhbXMoKTt2YXIgbmV3 X3BhcmFtcz1PYmplY3QuZXh0ZW5kKG9sZF9wYXJhbXMscGFyYW1zKTtyZXR1cm4g dGhpcy5iYXNlVXJsKCkrJz8nK09iamVjdC50b1F1ZXJ5U3RyaW5nKG5ld19wYXJh bXMpO319O3ZhciBiYXNlVXJsPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2xpY2Uo MCx0aGlzLmluZGV4T2YoJz8nKSk7fTt2YXIgcHJvdG9jb2w9ZnVuY3Rpb24oKXt2 YXIgbWF0Y2hlcz0vXiguKj86KVwvXC8vLmV4ZWModGhpcyk7cmV0dXJuIG1hdGNo ZXM/bWF0Y2hlc1sxXTpudWxsO307dmFyIGRvbWFpbj1mdW5jdGlvbigpe3ZhciBt YXRjaGVzPS9cL1wvKC4qPylcLy8uZXhlYyh0aGlzKTtyZXR1cm4gbWF0Y2hlcz9t YXRjaGVzWzFdOm51bGw7fTtyZXR1cm57dXBkYXRlUXVlcnlQYXJhbXM6dXBkYXRl UXVlcnlQYXJhbXMsYmFzZVVybDpiYXNlVXJsLHByb3RvY29sOnByb3RvY29sLGRv bWFpbjpkb21haW59O30pKCkpOwoKCi8qIHB1YmxpYy9qYXZhc2NyaXB0cy9zaGFy ZWQvcmVhZGNhc3QuanMgQCAxMzQ4NTE3NTc5ICovCgpTY3JpYmQuUmVhZGNhc3Q9 U2NyaWJkLlJlYWRjYXN0fHx7fTtTY3JpYmQuUmVhZGNhc3QuRXZlbnQ9U2NyaWJk LlJlYWRjYXN0LkV2ZW50fHx7fTtTY3JpYmQuUmVhZGNhc3QuYWN0aXZlX2V2ZW50 cz17fTtTY3JpYmQuUmVhZGNhc3QuRXZlbnQuU2hhcmU9Q2xhc3MuY3JlYXRlKHtp bml0aWFsaXplOmZ1bmN0aW9uKG9wdGlvbnMpe3RoaXMua2xhc3M9dGhpcy5fa2xh c3MoKTt0aGlzLm9wdGlvbnM9T2JqZWN0LmV4dGVuZChPYmplY3QuY2xvbmUodGhp cy5rbGFzcy5ERUZBVUxUX09QVElPTlMpLG9wdGlvbnMpO3RoaXMuZXZlbnRzPXRo aXMua2xhc3MuRVZFTlRTO3RoaXMuZG9jPXRoaXMub3B0aW9ucy5kb2M7dGhpcy5k b2NfY29sbGVjdGlvbj10aGlzLm9wdGlvbnMuZG9jX2NvbGxlY3Rpb247dGhpcy5z Y3JpYmJsZV90ZXh0PXRoaXMub3B0aW9ucy5zY3JpYmJsZV90ZXh0O30sX2tsYXNz OmZ1bmN0aW9uKCl7cmV0dXJuIFNjcmliZC5SZWFkY2FzdC5FdmVudC5TaGFyZTt9 LHJlc3VibWl0OmZ1bmN0aW9uKGNiKXt0aGlzLnN1Ym1pdHRlZD1mYWxzZTt0aGlz LnN1Ym1pdChjYik7fSxzdWJtaXQ6ZnVuY3Rpb24oY2Ipe2lmKHRoaXMuc3VibWl0 dGVkKXJldHVybjt0aGlzLnN1Ym1pdFRvUmVtb3RlKGNiKTtkb2N1bWVudC5maXJl KHRoaXMuZXZlbnRzLnN1Ym1pdHRlZCx7ZXZlbnQ6dGhpc30pO3JldHVybiB0aGlz O30sc3VibWl0VG9SZW1vdGU6ZnVuY3Rpb24oY2Ipe3RoaXMuc3VibWl0VG9TY3Jp YmQoKTtpZihPYmplY3QuaXNGdW5jdGlvbihjYikpY2IuY2FsbCh0aGlzKTtyZXR1 cm4gdGhpczt9LHN1Ym1pdFRvU2NyaWJkOmZ1bmN0aW9uKHBhcmFtcyl7dmFyIHRo YXQ9dGhpczt0aGlzLnN1Ym1pdHRlZD10cnVlO2lmKHRoaXMuZG9jJiZ0aGlzLmRv Yy5pZCkKcGFyYW1zPU9iamVjdC5leHRlbmQoe2RvY3VtZW50X2lkOnRoaXMuZG9j LmlkfSxwYXJhbXMpO2lmKHRoaXMuZG9jX2NvbGxlY3Rpb24mJnRoaXMuZG9jX2Nv bGxlY3Rpb24uaWQpCnBhcmFtcz1PYmplY3QuZXh0ZW5kKHtkb2N1bWVudF9jb2xs ZWN0aW9uX2lkOnRoaXMuZG9jX2NvbGxlY3Rpb24uaWR9LHBhcmFtcyk7aWYodGhp cy5zY3JpYmJsZV90ZXh0KXtwYXJhbXM9T2JqZWN0LmV4dGVuZChwYXJhbXN8fHt9 LHtzY3JpYmJsZV90ZXh0OnRoaXMuc2NyaWJibGVfdGV4dH0pO30KbmV3IEFqYXgu UmVxdWVzdCh0aGlzLnJlYWRjYXN0VVJMKCkse3BhcmFtZXRlcnM6cGFyYW1zLG9u Q29tcGxldGU6ZnVuY3Rpb24odCl7ZG9jdW1lbnQuZmlyZSh0aGF0LmV2ZW50cy5j b21wbGV0ZWQse2V2ZW50OnR9KX19KTtyZXR1cm4gdGhpczt9LHJlYWRjYXN0VVJM OmZ1bmN0aW9uKCl7cmV0dXJuJy9yZWFkY2FzdC8nK3RoaXMub3B0aW9ucy5zZXJ2 aWNlX3R5cGUrJy8nK3RoaXMub3B0aW9ucy5ldmVudF90eXBlO319KTtTY3JpYmQu UmVhZGNhc3QuRXZlbnQuU2hhcmUuREVGQVVMVF9PUFRJT05TPXtldmVudF90eXBl

OidyZWFkJ307U2NyaWJkLlJlYWRjYXN0LkV2ZW50LlNoYXJlLkVWRU5UUz17c3Rh cnRlZDonU2NyaWJkOlJlYWRjYXN0OlNoYXJlOnN0YXJ0ZWQnLHJlYWR5OidTY3Jp YmQ6UmVhZGNhc3Q6U2hhcmU6cmVhZHknLHN1Ym1pdHRlZDonU2NyaWJkOlJlYWRj YXN0OlNoYXJlOnN1Ym1pdHRlZCcsY29tcGxldGVkOidTY3JpYmQ6UmVhZGNhc3Q6 U2hhcmU6Y29tcGxldGVkJ307U2NyaWJkLlJlYWRjYXN0LkV2ZW50LkJsYW5rUmVh ZGNhc3Q9Q2xhc3MuY3JlYXRlKHtpbml0aWFsaXplOmZ1bmN0aW9uKG9wdGlvbnMp e3RoaXMua2xhc3M9U2NyaWJkLlJlYWRjYXN0LkV2ZW50LkJsYW5rUmVhZGNhc3Q7 dGhpcy5vcHRpb25zPU9iamVjdC5leHRlbmQoT2JqZWN0LmNsb25lKHRoaXMua2xh c3MuREVGQVVMVF9PUFRJT05TKSxvcHRpb25zKTt0aGlzLmV2ZW50cz10aGlzLmts YXNzLkVWRU5UUzt0aGlzLmRvYz10aGlzLm9wdGlvbnMuZG9jO3RoaXMuZG9jX2Nv bGxlY3Rpb249dGhpcy5vcHRpb25zLmRvY19jb2xsZWN0aW9uO30sc3RhcnQ6ZnVu Y3Rpb24oKXt2YXIgdGhhdD10aGlzO3RoaXMuc3RhcnRfdGltZXI9c2V0VGltZW91 dChmdW5jdGlvbigpe2RvY3VtZW50LmZpcmUodGhhdC5ldmVudHMucmVhZHkse2V2 ZW50OnRoYXR9KTt9LHRoaXMub3B0aW9ucy5kZWxheSoxMDAwKTtyZXR1cm4gdGhp czt9fSk7U2NyaWJkLlJlYWRjYXN0LkV2ZW50LkJsYW5rUmVhZGNhc3QuRVZFTlRT PXtyZWFkeTonU2NyaWJkOlJlYWRjYXN0OkJsYW5rUmVhZGNhc3Q6cmVhZHknfTtT Y3JpYmQuUmVhZGNhc3QuRXZlbnQuQmxhbmtSZWFkY2FzdC5ERUZBVUxUX09QVElP TlM9e2RlbGF5OjEwfTtTY3JpYmQuUmVhZGNhc3QuRXZlbnQuQXV0b1NoYXJlPUNs YXNzLmNyZWF0ZShTY3JpYmQuUmVhZGNhc3QuRXZlbnQuU2hhcmUse19rbGFzczpm dW5jdGlvbigpe3JldHVybiBTY3JpYmQuUmVhZGNhc3QuRXZlbnQuQXV0b1NoYXJl O30sc3RhcnQ6ZnVuY3Rpb24oKXt2YXIgdGhhdD10aGlzO3RoaXMuc3RhcnRfdGlt ZXI9c2V0VGltZW91dChmdW5jdGlvbigpe2RvY3VtZW50LmZpcmUodGhhdC5ldmVu dHMucmVhZHkse2V2ZW50OnRoYXR9KTtTY3JpYmQuUmVhZGNhc3QuYWN0aXZlX2V2 ZW50c1t0aGF0Lm9wdGlvbnMuc2VydmljZV90eXBlXT10aGF0O2lmKHRoYXQub3B0 aW9ucy5hdXRvX3N1Ym1pdCl7dGhhdC51bmRvX3RpbWVyPXNldFRpbWVvdXQoZnVu Y3Rpb24oKXtTY3JpYmQuUmVhZGNhc3QudHJhY2tFdmVudCgiYXV0byBzdWJtaXQi LHRoYXQub3B0aW9ucy5zZXJ2aWNlX3R5cGUpO3RoYXQuc3VibWl0KCk7fSx0aGF0 Lm9wdGlvbnMuc3VibWl0X2RlbGF5KjEwMDApO2RvY3VtZW50LmZpcmUodGhhdC5l dmVudHMuc3RhcnRlZCx7ZXZlbnQ6dGhhdH0pO319LHRoaXMub3B0aW9ucy5kZWxh eSoxMDAwKTtyZXR1cm4gdGhpczt9LHN0b3A6ZnVuY3Rpb24oKXtpZighdGhpcy5z dWJtaXR0ZWQpe2lmKHRoaXMudW5kb190aW1lcil7Y2xlYXJUaW1lb3V0KHRoaXMu dW5kb190aW1lcik7fQppZih0aGlzLnN0YXJ0X3RpbWVyKXtjbGVhclRpbWVvdXQo dGhpcy5zdGFydF90aW1lcik7fQpkb2N1bWVudC5maXJlKHRoaXMuZXZlbnRzLnN0 b3BwZWQse2V2ZW50OnRoaXN9KTt9CnJldHVybiB0aGlzO319KTtTY3JpYmQuUmVh ZGNhc3QuRXZlbnQuQXV0b1NoYXJlLkRFRkFVTFRfT1BUSU9OUz17ZGVsYXk6Myxz dWJtaXRfZGVsYXk6MTAsYXV0b19zdWJtaXQ6ZmFsc2Usc2VydmljZV90eXBlOidz Y3JpYmQnLGV2ZW50X3R5cGU6J3JlYWQnfTtTY3JpYmQuUmVhZGNhc3QuRXZlbnQu QXV0b1NoYXJlLkVWRU5UUz17c3RhcnRlZDonU2NyaWJkOlJlYWRjYXN0OkF1dG9T aGFyZTpzdGFydGVkJyxyZWFkeTonU2NyaWJkOlJlYWRjYXN0OkF1dG9TaGFyZTpy ZWFkeScsc3VibWl0dGVkOidTY3JpYmQ6UmVhZGNhc3Q6QXV0b1NoYXJlOnN1Ym1p dHRlZCcsY29tcGxldGVkOidTY3JpYmQ6UmVhZGNhc3Q6QXV0b1NoYXJlOmNvbXBs ZXRlZCcsc3RvcHBlZDonU2NyaWJkOlJlYWRjYXN0OkF1dG9TaGFyZTpzdG9wcGVk J307U2NyaWJkLlJlYWRjYXN0LkV2ZW50LkZhY2Vib29rQXV0b1NoYXJlPUNsYXNz LmNyZWF0ZShTY3JpYmQuUmVhZGNhc3QuRXZlbnQuQXV0b1NoYXJlLHtpbml0aWFs aXplOmZ1bmN0aW9uKCRzdXBlcixvcHRpb25zKXskc3VwZXIob3B0aW9ucyk7dGhp cy5vcHRpb25zLnNlcnZpY2VfdHlwZT0nZmFjZWJvb2snO3RoaXMuY29tbWVudHM9 dGhpcy5rbGFzcy5DT01NRU5UUzt9LF9rbGFzczpmdW5jdGlvbigpe3JldHVybiBT Y3JpYmQuUmVhZGNhc3QuRXZlbnQuRmFjZWJvb2tBdXRvU2hhcmU7fSxzdWJtaXRU b1JlbW90ZTpmdW5jdGlvbihjYil7dmFyIGZuPXRoaXMuc2VuZFRvRmFjZWJvb2su YmluZCh0aGlzKShjYik7U2NyaWJkLkZhY2Vib29rU2Vzc2lvbi5lbnN1cmVWYWxp ZChmbik7cmV0dXJuIHRoaXM7fSxzZW5kVG9GYWNlYm9vazpmdW5jdGlvbihjYil7 dmFyIHRoYXQ9dGhpcyxmYkNhbGxiYWNrPWZ1bmN0aW9uKHJlc3BvbnNlKXtpZigh cmVzcG9uc2V8fHJlc3BvbnNlLmVycm9yKXtyZXR1cm47fQp0aGF0LnN1Ym1pdFRv U2NyaWJkKCk7dGhhdC5zdWJtaXR0ZWQ9dHJ1ZTtpZihPYmplY3QuaXNGdW5jdGlv bihjYikpY2IuY2FsbCh0aGF0KTt9O3JldHVybihmdW5jdGlvbigpe1NjcmliZC5S ZWFkY2FzdC5QZXJtaXNzaW9ucy5GYWNlYm9vay5lbnN1cmVQdWJsaXNoKGZ1bmN0 aW9uKHJlc3BvbnNlKXt2YXIgYXBpX3BhdGg9dGhhdC5mYWNlYm9va0FwaVBhdGgo KTtGQi5hcGkoYXBpX3BhdGgsJ3Bvc3QnLGZiQ2FsbGJhY2spO30pO30pO30sZmFj ZWJvb2tBcGlQYXRoOmZ1bmN0aW9uKCl7aWYodGhpcy5kb2Mpe3JldHVybicvbWUv JytTY3JpYmQuRmFjZWJvb2submFtZXNwYWNlKyc6Jyt0aGlzLmFjdGlvbigpKyc/

JysnZG9jdW1lbnQnKyc9Jyt0aGlzLmRvYy51cmw7fWVsc2V7cmV0dXJuJy9tZS8n K1NjcmliZC5GYWNlYm9vay5uYW1lc3BhY2UrJzonK3RoaXMuYWN0aW9uKCkrJz8n Kydjb2xsZWN0aW9uJysnPScrdGhpcy5kb2NfY29sbGVjdGlvbi51cmw7fX0sYWN0 aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMua2xhc3MuQUNUSU9OU1t0aGlzLm9w dGlvbnMuZXZlbnRfdHlwZV07fX0pO1NjcmliZC5SZWFkY2FzdC5FdmVudC5GYWNl Ym9va0F1dG9TaGFyZS5ERUZBVUxUX09QVElPTlM9T2JqZWN0LmNsb25lKFNjcmli ZC5SZWFkY2FzdC5FdmVudC5BdXRvU2hhcmUuREVGQVVMVF9PUFRJT05TKTtTY3Jp YmQuUmVhZGNhc3QuRXZlbnQuRmFjZWJvb2tBdXRvU2hhcmUuRVZFTlRTPXtzdGFy dGVkOidTY3JpYmQ6UmVhZGNhc3Q6RmFjZWJvb2tBdXRvU2hhcmU6c3RhcnRlZCcs cmVhZHk6J1NjcmliZDpSZWFkY2FzdDpGYWNlYm9va0F1dG9TaGFyZTpyZWFkeScs c3VibWl0dGVkOidTY3JpYmQ6UmVhZGNhc3Q6RmFjZWJvb2tBdXRvU2hhcmU6c3Vi bWl0dGVkJyxjb21wbGV0ZWQ6J1NjcmliZDpSZWFkY2FzdDpGYWNlYm9va0F1dG9T aGFyZTpjb21wbGV0ZWQnLHN0b3BwZWQ6J1NjcmliZDpSZWFkY2FzdDpGYWNlYm9v a0F1dG9TaGFyZTpzdG9wcGVkJ307U2NyaWJkLlJlYWRjYXN0LkV2ZW50LkZhY2Vi b29rQXV0b1NoYXJlLkFDVElPTlM9e3JlYWQ6J3JlYWQnLGRvd25sb2FkOidyZWFk Jyx1cGxvYWQ6J3B1Ymxpc2gnfTtTY3JpYmQuUmVhZGNhc3QuRXZlbnQuRmFjZWJv b2tTY3JpYmJsZUF1dG9TaGFyZT1DbGFzcy5jcmVhdGUoU2NyaWJkLlJlYWRjYXN0 LkV2ZW50LkZhY2Vib29rQXV0b1NoYXJlLHtpbml0aWFsaXplOmZ1bmN0aW9uKCRz dXBlcixvcHRpb25zKXskc3VwZXIob3B0aW9ucyk7dGhpcy5vcHRpb25zLnNlcnZp Y2VfdHlwZT0nZmFjZWJvb2snO30sX2tsYXNzOmZ1bmN0aW9uKCl7cmV0dXJuIFNj cmliZC5SZWFkY2FzdC5FdmVudC5GYWNlYm9va1NjcmliYmxlQXV0b1NoYXJlO30s c2VuZFRvRmFjZWJvb2s6ZnVuY3Rpb24oY2Ipe3ZhciB0aGF0PXRoaXM7cmV0dXJu KGZ1bmN0aW9uKCl7U2NyaWJkLlJlYWRjYXN0LlBlcm1pc3Npb25zLkZhY2Vib29r LmVuc3VyZVB1Ymxpc2goZnVuY3Rpb24ocmVzcG9uc2Upe0ZCLmFwaSh0aGF0LmZh Y2Vib29rQXBpUGF0aCgpLCdwb3N0Jyx0aGF0LmZhY2Vib29rQXBpUGFyYW1zKCks ZnVuY3Rpb24ocmVzcG9uc2Upe3RoYXQuc3VibWl0VG9TY3JpYmQoKTt0aGF0LnN1 Ym1pdHRlZD10cnVlO30pO30pO30pO30sZmFjZWJvb2tBcGlQYXRoOmZ1bmN0aW9u KCl7cmV0dXJuJy9tZS8nKydmZWVkJzt9LGZhY2Vib29rQXBpUGFyYW1zOmZ1bmN0 aW9uKCl7aWYodGhpcy5kb2Mpe3JldHVybih7bWVzc2FnZTp0aGlzLnNjcmliYmxl X3RleHQsbGluazpTY3JpYmQuU2hhcmVkTGluay51cmxGb3JGYWNlYm9vayh0aGlz LmRvYy51cmwpLGRlc2NyaXB0aW9uOnRoaXMuZG9jLmRlc2NyaXB0aW9uLG5hbWU6 dGhpcy5kb2MudGl0bGV9KTt9ZWxzZXtyZXR1cm4oe21lc3NhZ2U6dGhpcy5zY3Jp YmJsZV90ZXh0fSk7fX19KTtTY3JpYmQuUmVhZGNhc3QuRXZlbnQuRmFjZWJvb2tT Y3JpYmJsZUF1dG9TaGFyZS5FVkVOVFM9T2JqZWN0LmNsb25lKFNjcmliZC5SZWFk Y2FzdC5FdmVudC5BdXRvU2hhcmUuRVZFTlRTKTsKCgovKiBwdWJsaWMvamF2YXNj cmlwdHMvc2hhcmVkL3NoYXJlZF9saW5rLmpzIEAgMTM0ODUxNzU3OSAqLwoKaWYo IXdpbmRvdy5TY3JpYmQpdmFyIFNjcmliZD1uZXcgT2JqZWN0KCk7U2NyaWJkLlNo YXJlZExpbms9ZnVuY3Rpb24oKXt2YXIgc291cmNlPXdpbmRvdy5sb2NhdGlvbi5o YXNoLm1hdGNoKCcjc291cmNlOiguKyknKTtpZihzb3VyY2Upe3NvdXJjZT1zb3Vy Y2VbMV07fQpyZXR1cm57dHJhY2tEb2N1bWVudExpbms6ZnVuY3Rpb24oaWQpe2lm KHNvdXJjZT09J2ZhY2Vib29rJyl7dHJhY2tFdmVudCgnRmFjZWJvb2snLCdMaW5r IFNoYXJpbmcnLGlkKTt9fSx1cmxGb3JTb3VyY2U6ZnVuY3Rpb24odXJsLHNvdXJj ZSl7cmV0dXJuIHVybC5zcGxpdCgnIycpWzBdKycjc291cmNlOicrc291cmNlO30s dXJsRm9yRmFjZWJvb2s6ZnVuY3Rpb24odXJsKXtyZXR1cm4gdGhpcy51cmxGb3JT b3VyY2UodXJsLCdmYWNlYm9vaycpO319O30oKTsKCgovKiBwdWJsaWMvamF2YXNj cmlwdHMvc2hhcmVkL2kxOG5fbWFuYWdlci5qcyBAIDEzNDg1MTc1NzkgKi8KClNj cmliZC5JMThuTWFuYWdlcj1DbGFzcy5jcmVhdGUoe2xhbmd1YWdlczp7ImVzX0xB Ijp7ImxjaWQiOiJlcyIsIm5hbWUiOiJlc3BhXHUwMGYxb2wiLCJhdmFpbGFibGUi OnRydWUsImRpc3BsYXlfb3JkZXIiOjQsInByZWZpeCI6ImVzIiwiaXNvXzYzOV8x IjoiZXMiLCJpc29fNjM5XzIiOiJzcGEiLCJpMThuX2xvY2FsZSI6ImVzX0xBIiwi aWQiOjQsImd1ZXNzX25hbWUiOiJzcGFuaXNoIn0sImVuX1VTIjp7ImxjaWQiOiJl biIsIm5hbWUiOiJFbmdsaXNoIiwiYXZhaWxhYmxlIjp0cnVlLCJkaXNwbGF5X29y ZGVyIjoxLCJwcmVmaXgiOiJ3d3ciLCJpc29fNjM5XzEiOiJlbiIsImlzb182Mzlf MiI6ImVuZyIsImkxOG5fbG9jYWxlIjoiZW5fVVMiLCJpZCI6MSwiZ3Vlc3NfbmFt ZSI6ImVuZ2xpc2gifSwicHRfQlIiOnsibGNpZCI6InB0LWJyIiwibmFtZSI6InBv cnR1Z3VcdTAwZWFzIiwiYXZhaWxhYmxlIjp0cnVlLCJkaXNwbGF5X29yZGVyIjo2 LCJwcmVmaXgiOiJwdCIsImlzb182MzlfMSI6InB0IiwiaXNvXzYzOV8yIjoicG9y IiwiaTE4bl9sb2NhbGUiOiJwdF9CUiIsImlkIjoxMywiZ3Vlc3NfbmFtZSI6InBv cnR1Z3Vlc2UifX0sY3VycmVudExhbmd1YWdlOm51bGwsaW5pdGlhbGl6ZTpmdW5j dGlvbihvcHRpb25zKXt2YXIgb3B0aW9ucz1vcHRpb25zfHx7fTt0aGlzLmRldGVj

dExhbmd1YWdlKCk7fSxkZXRlY3RMYW5ndWFnZTpmdW5jdGlvbigpe3RoaXMuY3Vy cmVudExhbmd1YWdlPXRoaXMubGFuZ3VhZ2VzW0kxOG4ubG9jYWxlXTtpZighdGhp cy5jdXJyZW50TGFuZ3VhZ2UpdGhpcy5jdXJyZW50TGFuZ3VhZ2U9dGhpcy5sYW5n dWFnZXNbSTE4bi5kZWZhdWx0TG9jYWxlXTt3aW5kb3cuc2V0VGltZW91dChmdW5j dGlvbigpe0V2ZW50LmZpcmUoZG9jdW1lbnQsJ1NjcmliZDpsYW5ndWFnZV9kZXRl Y3RlZCcpfSwwKTt9fSk7CgoKLyogcHVibGljL2phdmFzY3JpcHRzL3NoYXJlZC9z dGlja3lfZWxlbWVudC5qcyBAIDEzNDg1MTc1NzkgKi8KCmlmKCF3aW5kb3cuU2Ny aWJkKXZhciBTY3JpYmQ9e307U2NyaWJkLlN0aWNreUVsZW1lbnQ9ZnVuY3Rpb24o aWQsZml4ZWRfY2FsbGJhY2ssYWJzb2x1dGVfY2FsbGJhY2ssc3RpY2t5X2Z1bmMs dXBkYXRlX2Z1bmMpe2lmKCEhKGRvY3VtZW50LmFsbCYmKC9tc2llIDYuL2kpLnRl c3QobmF2aWdhdG9yLmFwcFZlcnNpb24pJiZ3aW5kb3cuQWN0aXZlWE9iamVjdCkp CnJldHVybjt2YXIgcHJldmlvdXNfc3RpY2tpbmVzcz0hc3RpY2t5X2Z1bmMoKTt2 YXIgZWxlbWVudD0kKGlkKTt2YXIgbmV3X2NhbGxiYWNrPWZ1bmN0aW9uKGV2ZW50 LGZvcmNlX2FwcGx5KXt2YXIgbmV3X3N0aWNraW5lc3M9c3RpY2t5X2Z1bmMoKTtp Zihmb3JjZV9hcHBseXx8KG5ld19zdGlja2luZXNzIT1wcmV2aW91c19zdGlja2lu ZXNzKSl7cHJldmlvdXNfc3RpY2tpbmVzcz1uZXdfc3RpY2tpbmVzcztpZihuZXdf c3RpY2tpbmVzcyl7Zml4ZWRfY2FsbGJhY2soZWxlbWVudCk7fWVsc2V7YWJzb2x1 dGVfY2FsbGJhY2soZWxlbWVudCk7fQp1cGRhdGVfZnVuYyhlbGVtZW50KTtkb2N1 bWVudC5maXJlKCdzY3JpYmQ6bW92ZV9hZHMnKTt9fTt2YXIgZm9yY2VfYXBwbHlf Y2FsbGJhY2s9ZnVuY3Rpb24oZXZlbnQpe25ld19jYWxsYmFjayhldmVudCx0cnVl KTt9O2RvY01hbmFnZXIuYWRkRXZlbnQoJ3pvb21lZCcsZm9yY2VfYXBwbHlfY2Fs bGJhY2spO2RvY01hbmFnZXIuYWRkRXZlbnQoJ3ZpZXdtb2RlQ2hhbmdlZCcsbmV3 X2NhbGxiYWNrKTtkb2NNYW5hZ2VyLmFkZEV2ZW50KCdlbnRlcmVkRnVsbHNjcmVl bicsbmV3X2NhbGxiYWNrKTtkb2NNYW5hZ2VyLmFkZEV2ZW50KCdleGl0ZWRGdWxs c2NyZWVuJyxuZXdfY2FsbGJhY2spO2RvY3VtZW50Lm9ic2VydmUoJ3NjcmliZDpk b21faGVpZ2h0X2NoYW5nZWQnLGZ1bmN0aW9uKCl7cHJldmlvdXNfc3RpY2tpbmVz cz1udWxsO2ZvcmNlX2FwcGx5X2NhbGxiYWNrKCk7fSk7RXZlbnQub2JzZXJ2ZShk b2N1bWVudC5vbnJlc2l6ZT9kb2N1bWVudDp3aW5kb3csJ3Jlc2l6ZScsZm9yY2Vf YXBwbHlfY2FsbGJhY2spO0V2ZW50Lm9ic2VydmUod2luZG93LCdzY3JvbGwnLG5l d19jYWxsYmFjayk7bmV3X2NhbGxiYWNrLmRlZmVyKCk7fTsKCgovKiBwdWJsaWMv amF2YXNjcmlwdHMvc2hhcmVkL3RyYW5zbGF0aW9ucy5qcyBAIDEzNDg1MTc1Nzkg Ki8KCnZhciBJMThuPUkxOG58fHt9O0kxOG4udHJhbnNsYXRpb25zPXsiZXNfTEEi OnsianMiOnsic2VhcmNoX3Blb3BsZSI6IkJ1c2NhciBwZXJzb25hcyIsInJlc3Vs dCI6IlJlc3VsdGFkbyIsImFyZV95b3Vfc3VyZV95b3Vfd2FudF90b19kZWxldGUi OiJcdTAwYmZFc3RcdTAwZTEgc2VndXJvIGRlIHF1ZSBkZXNlYSBlbGltaW5hciBl c3RlIG9iamV0bz8iLCJzZWFyY2hfYm9va3NfcHJlc2VudGF0aW9ucyI6IkJ1c2Nh ciBsaWJyb3MsIHByZXNlbnRhY2lvbmVzLCBuZWdvY2lvcywgcHVibGljYWNpb25l c1x1MjAyNiIsInNlYXJjaF9oaXN0b3J5IjoiQnVzY2FyIGhpc3RvcmlhbCIsIm9m IjoiZGUiLCJkb3dubG9hZCI6IkRlc2NhcmdhIiwiaGVscF9tZSI6Ilx1MDBhMUxh cyBqaXJhZmFzIG5vcyBhdGFjYW4sIHJlcGl0byEiLCJzZWFyY2hfd2l0aGluX2Rv Y3VtZW50IjoiQnVzY2FyIGRlbnRybyBkZSBkb2N1bWVudG8iLCJwdWJsaWNfbG9j a2VkX2NvbGxlY3Rpb24iOiIoU29sbyB1c3RlZCBwdWVkZSBhZ3JlZ2FyIGEgZXN0 YSBjb2xlY2NpXHUwMGYzbiwgeSBvdHJvcyBwb2RyXHUwMGUxbiB2ZXJsYSkiLCJu b19zZWFyY2hfcmVzdWx0X2lzX2ZvdW5kIjoiTm8gc2UgZW5jb250cmFyb24gcmVz dWx0YWRvcyIsInRoaXNfZG9jdW1lbnRfY291bGRfbm90X2JlX2RlbGV0ZWQiOiJF c3RlIGRvY3VtZW50byBubyBwdWVkZSBzZXIgYm9ycmFkby4gUFx1MDBmM25nYXNl IGVuIGNvbnRhY3RvIGNvbiBzdXBwb3J0QHNjcmliZC5jb20uIiwic2hvd19idWxr X2VkaXRvciI6Ik1vc3RyYXIgZWRpdG9yIHBvciBsb3RlcyIsInJlYWRjYXN0X2Nv bXBsZXRlIjoiXHUwMGExUmVhZGNhc3QgY29tcGxldG8hIiwiYXJlX3lvdV9zdXJl X3lvdV93YW50X3RvX2RlbGV0ZV8iOiJcdTAwYmZFc3RcdTAwZTEgc2VndXJvIGRl IHF1ZSBkZXNlYSBlbGltaW5hciBlc3RvcyBkb2N1bWVudG9zPyBFc3RhIGFjY2lc dTAwZjNuIG5vIHNlIHB1ZWRlIGRlc2hhY2VyLiIsInNoYXJlX3doYXRfeW91cmVf cmVhZGluZyI6IkNvbXBhcnRpciBsbyBxdWUgZXN0XHUwMGUxIGxleWVuZG8uLi4i LCJwcml2YXRlX2NvbGxlY3Rpb24iOiIoU29sbyB1c3RlZCBwdWVkZSBhZ3JlZ2Fy IGEgZXN0YSBjb2xlY2NpXHUwMGYzbiwgeSBuYWRpZSBtXHUwMGUxcyBwb2RyXHUw MGUxIHZlcmxhKSIsImFkZF9hX3JlcGx5IjoiUmVzcG9uZGVyLi4uIiwiZW1haWxf YWRkcmVzc2VzX29mX3JlY2lwaWVudHMiOiJkaXJlY2NpXHUwMGYzbiBkZSBjb3Jy ZW8gZWxlY3RyXHUwMGYzbmljbyBkZSBsb3MgZGVzdGluYXRhcmlvcyIsInNlYXJj aF9teV9jb250ZW50IjoiQnVzY2FyIGVuIG1pIGNvbnRlbmlkb1x1MjAyNiIsInN1 Y2Nlc3NmdWxseV9zZW50X3RoaXNfZG9jdW1lbnQiOiJcdTAwYTFEb2N1bWVudG8g

ZW52aWFkbyBjb3JyZWN0YW1lbnRlISIsInB1YmxpY19tb2RlcmF0ZWRfY29sbGVj dGlvbiI6IihPdHJvcyBwdWVkZW4gYWdyZWdhciBhIGVzdGEgY29sZWNjaVx1MDBm M24sIHBlcm8gdXN0ZWQgdGVuZHJcdTAwZTEgcXVlIGFwcm9iYXIgbyByZWNoYXph ciBsb3MgZWxlbWVudG9zIGFncmVnYWRvcykiLCJoaWRlX2J1bGtfZWRpdG9yIjoi TW9zdHJhciBlZGl0b3IgcG9yIGxvdGVzIiwiZW1haWxfYWRkcmVzc2VzX29yX3Nj cmliZF91c2VybmFtZXMiOiJkaXJlY2Npb25lcyBkZSBjb3JyZW8gZWxlY3RyXHUw MGYzbmljbyBvIG5vbWJyZXMgZGUgdXN1YXJpbyBkZSBTY3JpYmQiLCJoaV90aGVy ZV93ZXJlX2xvZ2dpbmdfeW91X2luIjoiXHUwMGExQmllbnZlbmlkbyEgU3Ugc2Vz aVx1MDBmM24gc2UgZXN0XHUwMGUxIGluaWNpYW5kby4uLiIsImVudGVyX2FfbmFt ZV9mb3JfeW91cl9uZXdfY29sbGVjdGlvbiI6IkluZ3Jlc2UgdW4gbm9tYnJlIHBh cmEgc3UgbnVldmEgY29sZWNjaVx1MDBmM24iLCJzZWFyY2hfdGhpc19wcm9maWxl IjoiQnVzY2FyIGVzdGUgcGVyZmlsLi4uIiwic2VhcmNoX2lzX2Rpc2FibGVkIjoi TGEgYlx1MDBmYXNxdWVkYSBlc3RcdTAwZTEgZGVzaGFiaWxpdGFkYVx1MjAyNiJ9 fSwicHRfQlIiOnsianMiOnsic2VhcmNoX3Blb3BsZSI6IkJ1c3F1ZSBQZXNzb2Fz IiwicmVzdWx0IjoiUmVzdWx0YWRvIiwiYXJlX3lvdV9zdXJlX3lvdV93YW50X3Rv X2RlbGV0ZSI6IlRlbSBjZXJ0ZXphIHF1ZSBkZXNlamEgZXhjbHVpciBlc3RlIGl0 ZW0/Iiwic2VhcmNoX2Jvb2tzX3ByZXNlbnRhdGlvbnMiOiJQZXNxdWlzZSBwb3Ig bGl2cm9zLCBhcHJlc2VudGFcdTAwZTdcdTAwZjVlcywgbmVnXHUwMGYzY2lvcywg YWNhZFx1MDBlYW1pY29zLi4uIiwic2VhcmNoX2hpc3RvcnkiOiJIaXN0b3JpYSBk ZSBCdXNjYXMiLCJvZiI6ImRlIiwiZG93bmxvYWQiOiJEb3dubG9hZCIsImhlbHBf bWUiOiJFc3RvdSBjaGVpbyBkZSBhYmVsaGFzISIsInNlYXJjaF93aXRoaW5fZG9j dW1lbnQiOiJCdXNjYXIgZGVudHJvIGRvIGRvY3VtZW50byIsInB1YmxpY19sb2Nr ZWRfY29sbGVjdGlvbiI6IihTXHUwMGYzIHZvY1x1MDBlYSBwb2RlIGZhemVyIGFk aVx1MDBlN1x1MDBmNWVzIGEgZXN0YSBjb2xlXHUwMGU3XHUwMGUzbywgbWFzIG91 dHJvcyB1c3VcdTAwZTFyaW9zIHBvZGVtIHZpc3VhbGl6XHUwMGUxLWxhKSIsIm5v X3NlYXJjaF9yZXN1bHRfaXNfZm91bmQiOiJOXHUwMGUzbyBmb3JhbSBlbmNvbnRy YWRvcyByZXN1bHRhZG9zIHBhcmEgc3VhIGJ1c2NhIiwidGhpc19kb2N1bWVudF9j b3VsZF9ub3RfYmVfZGVsZXRlZCI6Ik8gZG9jdW1lbnRvIG5cdTAwZTNvIHBcdTAw ZjRkZSBzZXIgZW52aWFkbyBubyBtb21lbnRvLiBFbnRyZSBlbSBjb250YXRvIGF0 cmF2XHUwMGU5cyBkbyBlLW1haWwgc3VwcG9ydEBzY3JpYmQuY29tLiIsInNob3df YnVsa19lZGl0b3IiOiJFeGliaXIgZWRpdG9yIGRlIGxvdGUiLCJyZWFkY2FzdF9j b21wbGV0ZSI6IlJlYWRjYXN0IGNvbmNsdVx1MDBlZGRvISIsImFyZV95b3Vfc3Vy ZV95b3Vfd2FudF90b19kZWxldGVfIjoiVGVtIGNlcnRlemEgcXVlIGRlc2VqYSBl eGNsdWlyIGVzdGVzIGRvY3VtZW50b3M/Iiwic2hhcmVfd2hhdF95b3VyZV9yZWFk aW5nIjoiQ29tcGFydGlsaGFyIG8gcXVlIHZvY1x1MDBlYSBlc3RcdTAwZTEgbGVu ZG8uLi4iLCJwcml2YXRlX2NvbGxlY3Rpb24iOiIoU1x1MDBmMyB2b2NcdTAwZWEg cG9kZSBmYXplciBhZGlcdTAwZTdcdTAwZjVlcyBhIGVzdGEgY29sZVx1MDBlN1x1 MDBlM28sIGUgc29tZW50ZSB2b2NcdTAwZWEgcG9kZXJcdTAwZTEgdmlzdWFsaXpc dTAwZTEtbGEpIiwiYWRkX2FfcmVwbHkiOiJEZWl4YXIgdW1hIHJlc3Bvc3RhLi4u IiwiZW1haWxfYWRkcmVzc2VzX29mX3JlY2lwaWVudHMiOiJkaXJlXHUwMGU3XHUw MGY1ZXMgZGUgZS1tYWlsIGRvcyByZWNpcGllbnRlcyIsInNlYXJjaF9teV9jb250 ZW50IjoiUGVzcXVpc2FyIG5vIG1ldSBjb250ZVx1MDBmYWRvLi4uIiwic3VjY2Vz c2Z1bGx5X3NlbnRfdGhpc19kb2N1bWVudCI6IkVzdGUgZG9jdW1lbnRvIGZvaSBl bnZpYWRvIGNvbSBzdWNlc3NvISIsInB1YmxpY19tb2RlcmF0ZWRfY29sbGVjdGlv biI6IihPdXRyb3MgdXN1XHUwMGUxcmlvcyBwb2RlbSBmYXplciBhZGlcdTAwZTdc dTAwZjVlcyBhIGVzdGEgY29sZVx1MDBlN1x1MDBlM28sIG1hcyB2b2NcdTAwZWEg cG9kZSBhcHJvdmFyIG91IHJlamVpdFx1MDBlMS1sYXMpIiwiaGlkZV9idWxrX2Vk aXRvciI6IkV4aWJpciBlZGl0b3IgZGUgbG90ZSIsImVtYWlsX2FkZHJlc3Nlc19v cl9zY3JpYmRfdXNlcm5hbWVzIjoiZW5kZXJlXHUwMGU3b3MgZGUgZS1tYWlsIG91 IG5vbWVzIGRlIHVzdVx1MDBlMXJpbyBubyBTY3JpYmQiLCJoaV90aGVyZV93ZXJl X2xvZ2dpbmdfeW91X2luIjoiT2xcdTAwZTEhIFNldSBhY2Vzc28gZXN0XHUwMGUx IHNlbmRvIHJlYWxpemFuZG8uIiwiZW50ZXJfYV9uYW1lX2Zvcl95b3VyX25ld19j b2xsZWN0aW9uIjoiSW5zaXJhIHVtIG5vbWUgcGFyYSBzdWEgbm92YSBjb2xlXHUw MGU3XHUwMGUzby4uLiIsInNlYXJjaF90aGlzX3Byb2ZpbGUiOiJQZXNxdWlzYXIg ZXN0ZSBwZXJmaWwuLi4iLCJzZWFyY2hfaXNfZGlzYWJsZWQiOiJBIHBlc3F1aXNh IGVzdFx1MDBlMSBkZXNhdGl2YWRhLi4uIn19LCJlbl9VUyI6eyJqcyI6eyJhcmVf eW91X3N1cmVfeW91X3dhbnRfdG9fZGVsZXRlIjoiQXJlIHlvdSBzdXJlIHlvdSB3 YW50IHRvIGRlbGV0ZSB0aGlzIGl0ZW0/IiwibG9naW4iOnsiaXNfaW52YWxpZCI6 IlNvcnJ5LCAle25hbWV9IGlzIGludmFsaWQiLCJpc19hdmFpbGFibGUiOiIle25h bWV9IGlzIGF2YWlsYWJpbGUhIiwicmVzZXRfZW1haWxfc2VudCI6IlRoYW5rcyEg

QW4gZW1haWwgaGFzIGJlZW4gc2VudCB0byAle2VtYWlsfSB3aXRoIGluc3RydWN0 aW9ucyB0byByZXNldCB5b3VyIHBhc3N3b3JkLiIsImlzX3VuYXZhaWxhYmxlIjoi U29ycnksICV7bmFtZX0gaXMgdGFrZW4gYWxyZWFkeSIsImludmFsaWRfZW1haWwi OiJUaGVyZSBpcyBubyBhY2NvdW50IHJlZ2lzdGVyZWQgdG8gbWFpbCAnJXtlbWFp bH0nLiBFbnRlciB0aGUgZW1haWwgYWRkcmVzcyB0aGF0IHlvdSB1c2VkIHRvIHJl Z2lzdGVyIHlvdXIgYWNjb3VudCBpbiB0aGUgYm94IGJlbG93LiBXZSB3aWxsIHNl bmQgeW91IGFuIGVtYWlsIHdpdGggYSBsaW5rIHRvIHJlc2V0IHlvdXIgcGFzc3dv cmQuIn0sImFkdmFuY2VkX2VkaXQiOiJBZHZhbmNlZCBFZGl0IiwicmVzdWx0Ijoi UmVzdWx0Iiwic2VhcmNoX3Blb3BsZSI6IlNlYXJjaCBQZW9wbGUiLCJzZWFyY2hf Zm9yX3lvdXJfY291cnNlIjoiU2VhcmNoIGZvciB5b3VyIGNvdXJzZS4uLiIsImNh bmNlbF9jaGFuZ2VzIjoiQ2FuY2VsIGNoYW5nZXMiLCJoZWxwX21lIjoiSSBhbSBm aWxsZWQgd2l0aCBiZWVzISIsImRvd25sb2FkIjoiRG93bmxvYWQiLCJvZiI6Im9m Iiwic2VhcmNoX2hpc3RvcnkiOiJTZWFyY2ggaGlzdG9yeSIsInNlYXJjaF9ib29r c19wcmVzZW50YXRpb25zIjoiU2VhcmNoIGJvb2tzLCBwcmVzZW50YXRpb25zLCBi dXNpbmVzcywgYWNhZGVtaWNzLi4uIiwic2VsZWN0X2FfY2F0ZWdvcnkiOiJTZWxl Y3QgYSBDYXRlZ29yeS4uLiIsInN1YmNhdGVnb3J5IjoiU3ViY2F0ZWdvcnkiLCJz ZXRfYXMiOiJTZXQgQXMiLCJzZWFyY2hfd2l0aGluX2RvY3VtZW50IjoiU2VhcmNo IHdpdGhpbiBkb2N1bWVudCIsIm5vX3NlYXJjaF9yZXN1bHRfaXNfZm91bmQiOiJO byBzZWFyY2ggcmVzdWx0IGlzIGZvdW5kIiwicHVibGljX2xvY2tlZF9jb2xsZWN0 aW9uIjoiKE9ubHkgeW91IGNhbiBhZGQgdG8gdGhpcyBjb2xsZWN0aW9uLCBidXQg b3RoZXJzIGNhbiB2aWV3IGl0KSIsInJlYWRjYXN0X2NvbXBsZXRlIjoiUmVhZGNh c3QgQ29tcGxldGUhIiwic2hvd19idWxrX2VkaXRvciI6IlNob3cgQnVsayBFZGl0 b3IiLCJ0aGlzX2RvY3VtZW50X2NvdWxkX25vdF9iZV9kZWxldGVkIjoiVGhpcyBk b2N1bWVudCBjb3VsZCBub3QgYmUgZGVsZXRlZCBhdCB0aGlzIHRpbWUuICBQbGVh c2UgY29udGFjdCBzdXBwb3J0QHNjcmliZC5jb20uIiwicHJpdmF0ZV9jb2xsZWN0 aW9uIjoiKE9ubHkgeW91IGNhbiBhZGQgdG8gdGhpcyBjb2xsZWN0aW9uLCBhbmQg b25seSB5b3Ugd2lsbCBiZSBhYmxlIHRvIHZpZXcgaXQpIiwibmV4dCI6Ik5leHQi LCJkZXNjcmlwdGlvbiI6IkRlc2NyaXB0aW9uIiwicHVibGljIjoiUHVibGljIiwi Y2F0ZWdvcnkiOiJDYXRlZ29yeSIsInNoYXJlX3doYXRfeW91cmVfcmVhZGluZyI6 IlNoYXJlIHdoYXQgeW91J3JlIHJlYWRpbmcuLi4iLCJhcmVfeW91X3N1cmVfeW91 X3dhbnRfdG9fZGVsZXRlXyI6IkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxl dGUgdGhlc2UgZG9jdW1lbnRzPyAgVGhpcyBDQU5OT1QgYmUgdW5kb25lISIsImVt YWlsX2FkZHJlc3Nlc19vZl9yZWNpcGllbnRzIjoiZW1haWwgYWRkcmVzc2VzIG9m IHJlY2lwaWVudHMiLCJzZWFyY2hfbXlfY29udGVudCI6IlNlYXJjaCBteSBjb250 ZW50Li4uIiwiYWRkX2FfcmVwbHkiOiJBZGQgYSByZXBseS4uLiIsInB1Ymxpc2hl ZCI6IlB1Ymxpc2hlZCIsImNocm9tZSI6eyJzZWFyY2hfcGxhY2Vob2xkZXIiOiJT ZWFyY2ggYm9va3MsIHByZXNlbnRhdGlvbnMsIGJ1c2luZXNzLCBhY2FkZW1pY3Mi fSwiZWRpdCI6IkVkaXQiLCJhZGRfdG9fY29sbGVjdGlvbnMiOiJBZGQgdG8gQ29s bGVjdGlvbnMiLCJwcmV2aW91cyI6IlByZXZpb3VzIiwic3VjY2Vzc2Z1bGx5X3Nl bnRfdGhpc19kb2N1bWVudCI6IlN1Y2Nlc3NmdWxseSBzZW50IHRoaXMgZG9jdW1l bnQhIiwidGl0bGUiOiJUaXRsZSIsImhpZGVfYnVsa19lZGl0b3IiOiJTaG93IEJ1 bGsgRWRpdG9yIiwibmV3aG9tZSI6eyJjZWxscyI6eyJmb2xsb3dlcnMiOiJGb2xs b3dlcnMiLCJkb2N1bWVudHMiOiJEb2N1bWVudHMiLCJwdWJsaXNoZWQiOiJQdWJs aXNoZWQiLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJyZWFkcyI6IlJlYWRzIn19 LCJwdWJsaWNfbW9kZXJhdGVkX2NvbGxlY3Rpb24iOiIoT3RoZXJzIGNhbiBhZGQg dG8gdGhpcyBjb2xsZWN0aW9uLCBidXQgeW91IGFwcHJvdmUgb3IgcmVqZWN0IGFk ZGl0aW9ucykiLCJzYXZlX2NoYW5nZXMiOiJTYXZlIGNoYW5nZXMiLCJwcml2YXRl IjoiUHJpdmF0ZSIsImVudGVyX2FfbmFtZV9mb3JfeW91cl9uZXdfY29sbGVjdGlv biI6IkVudGVyIGEgbmFtZSBmb3IgeW91ciBuZXcgY29sbGVjdGlvbi4uLiIsImhp X3RoZXJlX3dlcmVfbG9nZ2luZ195b3VfaW4iOiJIaSB0aGVyZSEgV2UncmUgbG9n Z2luZyB5b3UgaW4gbm93LiIsImVtYWlsX2FkZHJlc3Nlc19vcl9zY3JpYmRfdXNl cm5hbWVzIjoiZW1haWwgYWRkcmVzc2VzIG9yIFNjcmliZCB1c2VybmFtZXMiLCJz ZWFyY2hfaXNfZGlzYWJsZWQiOiJTZWFyY2ggaXMgZGlzYWJsZWQuLi4iLCJzZWFy Y2hfdGhpc19wcm9maWxlIjoiU2VhcmNoIHRoaXMgcHJvZmlsZS4uLiJ9fX07CgoK LyogcHVibGljL2phdmFzY3JpcHRzL3NoYXJlZC90d2l0dGVyLmpzIEAgMTM0ODUx NzU3OSAqLwoKU2NyaWJkLmluaXQoJ1NjcmliZCcsJ1R3aXR0ZXInKTtTY3JpYmQu VHdpdHRlci5sb2FkTmFtZT1mdW5jdGlvbigpe3ZhciBwbGFjZWhvbGRlcnM9JCQo Jy50d2l0dGVyX3BsYWNlaG9sZGVyJyk7aWYocGxhY2Vob2xkZXJzLmxlbmd0aDwx KXtyZXR1cm47fQpuZXcgQWpheC5SZXF1ZXN0KCIvdHdpdHRlcl9saW5rL2luZm8u anNvbiIse21ldGhvZDonZ2V0JyxvblN1Y2Nlc3M6ZnVuY3Rpb24odHJhbnMpe3Ry

eXt2YXIgbmFtZT10cmFucy5yZXNwb25zZUpTT04uaW5mby5zY3JlZW5fbmFtZTtp Zih0eXBlb2YgbmFtZT09PSd1bmRlZmluZWQnKXJldHVybjtwbGFjZWhvbGRlcnMu ZWFjaChmdW5jdGlvbihlbGVtZW50KXtlbGVtZW50LnVwZGF0ZSgiQCIrbmFtZSk7 fSk7fWNhdGNoKGUpe319fSk7fTsKCgovKiBwdWJsaWMvamF2YXNjcmlwdHMvc2hh cmVkL3ZlbmRvci9lYXN5WERNLmpzIEAgMTM0ODUxNzU3OSAqLwp2YXIgbHp5X2pz X3B1YmxpY19qYXZhc2NyaXB0c19zaGFyZWRfdmVuZG9yX2Vhc3lYRE09IlxuKGZ1 bmN0aW9uKHdpbmRvdyxkb2N1bWVudCxsb2NhdGlvbixzZXRUaW1lb3V0LGRlY29k ZVVSSUNvbXBvbmVudCxlbmNvZGVVUklDb21wb25lbnQpe3ZhciBnbG9iYWw9dGhp czt2YXIgX2NoYW5uZWxJZD0wO3ZhciBlbXB0eUZuPUZ1bmN0aW9uLnByb3RvdHlw ZTt2YXIgcmVVUkk9L14oaHR0cC4/OlxcL1xcLyhbXlxcL1xcc10rKSkvLHJlUGFy ZW50PS9bXFwtXFx3XStcXC9cXC5cXC5cXC8vLHJlRG91YmxlU2xhc2g9LyhbXjpd KVxcL1xcLy9nO3ZhciBDUkVBVEVfRlJBTUVfVVNJTkdfSFRNTD0vbXNpZSBbNjdd Ly50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKSk7ZnVuY3Rp b24gaXNIb3N0TWV0aG9kKG9iamVjdCxwcm9wZXJ0eSl7dmFyIHQ9dHlwZW9mIG9i amVjdFtwcm9wZXJ0eV07cmV0dXJuIHQ9PVwnZnVuY3Rpb25cJ3x8KCEhKHQ9PVwn b2JqZWN0XCcmJm9iamVjdFtwcm9wZXJ0eV0pKXx8dD09XCd1bmtub3duXCc7fVxu ZnVuY3Rpb24gaXNIb3N0T2JqZWN0KG9iamVjdCxwcm9wZXJ0eSl7cmV0dXJuISEo dHlwZW9mKG9iamVjdFtwcm9wZXJ0eV0pPT1cJ29iamVjdFwnJiZvYmplY3RbcHJv cGVydHldKTt9XG52YXIgb249KGZ1bmN0aW9uKCl7aWYoaXNIb3N0TWV0aG9kKHdp bmRvdyxcImFkZEV2ZW50TGlzdGVuZXJcIikpe3JldHVybiBmdW5jdGlvbih0YXJn ZXQsdHlwZSxsaXN0ZW5lcil7dGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIodHlwZSxs aXN0ZW5lcixmYWxzZSk7fTt9XG5lbHNle3JldHVybiBmdW5jdGlvbihvYmplY3Qs c0V2ZW50LGZwTm90aWZ5KXtvYmplY3QuYXR0YWNoRXZlbnQoXCJvblwiK3NFdmVu dCxmcE5vdGlmeSk7fTt9fSgpKTt2YXIgdW49KGZ1bmN0aW9uKCl7aWYoaXNIb3N0 TWV0aG9kKHdpbmRvdyxcInJlbW92ZUV2ZW50TGlzdGVuZXJcIikpe3JldHVybiBm dW5jdGlvbih0YXJnZXQsdHlwZSxsaXN0ZW5lcix1c2VDYXB0dXJlKXt0YXJnZXQu cmVtb3ZlRXZlbnRMaXN0ZW5lcih0eXBlLGxpc3RlbmVyLHVzZUNhcHR1cmUpO307 fVxuZWxzZXtyZXR1cm4gZnVuY3Rpb24ob2JqZWN0LHNFdmVudCxmcE5vdGlmeSl7 b2JqZWN0LmRldGFjaEV2ZW50KFwib25cIitzRXZlbnQsZnBOb3RpZnkpO307fX0o KSk7ZnVuY3Rpb24gZ2V0RG9tYWluTmFtZSh1cmwpe3JldHVybiB1cmwubWF0Y2go cmVVUkkpWzJdO31cbmZ1bmN0aW9uIGdldExvY2F0aW9uKHVybCl7cmV0dXJuIHVy bC5tYXRjaChyZVVSSSlbMV07fVxuZnVuY3Rpb24gcmVzb2x2ZVVybCh1cmwpe3Vy bD11cmwucmVwbGFjZShyZURvdWJsZVNsYXNoLFwiJDEvXCIpO2lmKCF1cmwubWF0 Y2goL14oaHR0cHx8aHR0cHMpOlxcL1xcLy8pKXt2YXIgcGF0aD0odXJsLnN1YnN0 cmluZygwLDEpPT09XCIvXCIpP1wiXCI6bG9jYXRpb24ucGF0aG5hbWU7aWYocGF0 aC5zdWJzdHJpbmcocGF0aC5sZW5ndGgtMSkhPT1cIi9cIil7cGF0aD1wYXRoLnN1 YnN0cmluZygwLHBhdGgubGFzdEluZGV4T2YoXCIvXCIpKzEpO31cbnVybD1sb2Nh dGlvbi5wcm90b2NvbCtcIi8vXCIrbG9jYXRpb24uaG9zdCtwYXRoK3VybDt9XG53 aGlsZShyZVBhcmVudC50ZXN0KHVybCkpe3VybD11cmwucmVwbGFjZShyZVBhcmVu dCxcIlwiKTt9XG5yZXR1cm4gdXJsO31cbmZ1bmN0aW9uIGFwcGVuZFF1ZXJ5UGFy YW1ldGVycyh1cmwscGFyYW1ldGVycyl7dmFyIGhhc2g9XCJcIixpbmRleE9mPXVy bC5pbmRleE9mKFwiI1wiKTtpZihpbmRleE9mIT09LTEpe2hhc2g9dXJsLnN1YnN0 cmluZyhpbmRleE9mKTt1cmw9dXJsLnN1YnN0cmluZygwLGluZGV4T2YpO31cbnZh ciBxPVtdO2Zvcih2YXIga2V5IGluIHBhcmFtZXRlcnMpe2lmKHBhcmFtZXRlcnMu aGFzT3duUHJvcGVydHkoa2V5KSl7cS5wdXNoKGtleStcIj1cIitwYXJhbWV0ZXJz W2tleV0pO319XG5yZXR1cm4gdXJsKygodXJsLmluZGV4T2YoXCI/XCIpPT09LTEp P1wiP1wiOlwiJlwiKStxLmpvaW4oXCImXCIpK2hhc2g7fVxudmFyIF9xdWVyeT0o ZnVuY3Rpb24oKXt2YXIgcXVlcnk9e30scGFpcixzZWFyY2g9bG9jYXRpb24uc2Vh cmNoLnN1YnN0cmluZygxKS5zcGxpdChcIiZcIiksaT1zZWFyY2gubGVuZ3RoO3do aWxlKGktLSl7cGFpcj1zZWFyY2hbaV0uc3BsaXQoXCI9XCIpO3F1ZXJ5W3BhaXJb MF1dPXBhaXJbMV07fVxucmV0dXJuIHF1ZXJ5O30oKSk7ZnVuY3Rpb24gdW5kZWYo dil7cmV0dXJuIHR5cGVvZiB2PT09XCJ1bmRlZmluZWRcIjt9XG5mdW5jdGlvbiBn ZXRKU09OKCl7dmFyIGNhY2hlZD17fTt2YXIgb2JqPXthOlsxLDIsM119LGpzb249 XCJ7XFxcImFcXFwiOlsxLDIsM119XCI7aWYoSlNPTiYmdHlwZW9mIEpTT04uc3Ry aW5naWZ5PT09XCJmdW5jdGlvblwiJiZKU09OLnN0cmluZ2lmeShvYmopLnJlcGxh Y2UoKC9cXHMvZyksXCJcIik9PT1qc29uKXtyZXR1cm4gSlNPTjt9XG5pZihPYmpl Y3QudG9KU09OKXtpZihPYmplY3QudG9KU09OKG9iaikucmVwbGFjZSgoL1xccy9n KSxcIlwiKT09PWpzb24pe2NhY2hlZC5zdHJpbmdpZnk9T2JqZWN0LnRvSlNPTjt9 fVxuaWYodHlwZW9mIFN0cmluZy5wcm90b3R5cGUuZXZhbEpTT049PT1cImZ1bmN0 aW9uXCIpe29iaj1qc29uLmV2YWxKU09OKCk7aWYob2JqLmEmJm9iai5hLmxlbmd0

aD09PTMmJm9iai5hWzJdPT09Myl7Y2FjaGVkLnBhcnNlPWZ1bmN0aW9uKHN0cil7 cmV0dXJuIHN0ci5ldmFsSlNPTigpO307fX1cbmlmKGNhY2hlZC5zdHJpbmdpZnkm JmNhY2hlZC5wYXJzZSl7Z2V0SlNPTj1mdW5jdGlvbigpe3JldHVybiBjYWNoZWQ7 fTtyZXR1cm4gY2FjaGVkO31cbnJldHVybiBudWxsO31cbmZ1bmN0aW9uIGFwcGx5 KGRlc3RpbmF0aW9uLHNvdXJjZSxub092ZXJ3cml0ZSl7dmFyIG1lbWJlcjtmb3Io dmFyIHByb3AgaW4gc291cmNlKXtpZihzb3VyY2UuaGFzT3duUHJvcGVydHkocHJv cCkpe2lmKHByb3AgaW4gZGVzdGluYXRpb24pe21lbWJlcj1zb3VyY2VbcHJvcF07 aWYodHlwZW9mIG1lbWJlcj09PVwib2JqZWN0XCIpe2FwcGx5KGRlc3RpbmF0aW9u W3Byb3BdLG1lbWJlcixub092ZXJ3cml0ZSk7fVxuZWxzZSBpZighbm9PdmVyd3Jp dGUpe2Rlc3RpbmF0aW9uW3Byb3BdPXNvdXJjZVtwcm9wXTt9fVxuZWxzZXtkZXN0 aW5hdGlvbltwcm9wXT1zb3VyY2VbcHJvcF07fX19XG5yZXR1cm4gZGVzdGluYXRp b247fVxuZnVuY3Rpb24gY3JlYXRlRnJhbWUoY29uZmlnKXt2YXIgZnJhbWU7aWYo Y29uZmlnLnByb3BzLm5hbWUmJkNSRUFURV9GUkFNRV9VU0lOR19IVE1MKXtmcmFt ZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiPGlmcmFtZSBuYW1lPVxcXCJcIitj b25maWcucHJvcHMubmFtZStcIlxcXCIvPlwiKTt9XG5lbHNle2ZyYW1lPWRvY3Vt ZW50LmNyZWF0ZUVsZW1lbnQoXCJJRlJBTUVcIik7fVxuYXBwbHkoZnJhbWUsY29u ZmlnLnByb3BzKTtmcmFtZS5pZD1mcmFtZS5uYW1lO2lmKGNvbmZpZy5vbkxvYWQp e2ZyYW1lLmxvYWRGbj1mdW5jdGlvbigpe2NvbmZpZy5vbkxvYWQoZnJhbWUuY29u dGVudFdpbmRvdyk7fTtvbihmcmFtZSxcImxvYWRcIixmcmFtZS5sb2FkRm4pO31c bmlmKGNvbmZpZy5jb250YWluZXIpe2ZyYW1lLmJvcmRlcj1mcmFtZS5mcmFtZUJv cmRlcj0wO2NvbmZpZy5jb250YWluZXIuYXBwZW5kQ2hpbGQoZnJhbWUpO31cbmVs c2V7ZnJhbWUuc3R5bGUucG9zaXRpb249XCJhYnNvbHV0ZVwiO2ZyYW1lLnN0eWxl LmxlZnQ9XCItMjAwMHB4XCI7ZnJhbWUuc3R5bGUudG9wPVwiMHB4XCI7ZG9jdW1l bnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZSk7fVxucmV0dXJuIGZyYW1lO31cbnZh ciBnZXRYaHI9KGZ1bmN0aW9uKCl7aWYoaXNIb3N0TWV0aG9kKHdpbmRvdyxcIlhN TEh0dHBSZXF1ZXN0XCIpKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFhN TEh0dHBSZXF1ZXN0KCk7fTt9XG5lbHNle3ZhciBpdGVtPShmdW5jdGlvbigpe3Zh ciBsaXN0PVtcIk1pY3Jvc29mdFwiLFwiTXN4bWwyXCIsXCJNc3htbDNcIl0saT1s aXN0Lmxlbmd0aDt3aGlsZShpLS0pe3RyeXtpdGVtPWxpc3RbaV0rXCIuWE1MSFRU UFwiO3ZhciBvYmo9bmV3IEFjdGl2ZVhPYmplY3QoaXRlbSk7cmV0dXJuIGl0ZW07 fVxuY2F0Y2goZSl7fX19KCkpO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcg QWN0aXZlWE9iamVjdChpdGVtKTt9O319KCkpO2Z1bmN0aW9uIGFqYXgoY29uZmln KXthcHBseShjb25maWcse21ldGhvZDpcIlBPU1RcIixoZWFkZXJzOntcIkNvbnRl bnQtVHlwZVwiOlwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCIs XCJYLVJlcXVlc3RlZC1XaXRoXCI6XCJYTUxIdHRwUmVxdWVzdFwifSxzdWNjZXNz OmVtcHR5Rm4sZXJyb3I6ZnVuY3Rpb24obXNnKXt0aHJvdyBuZXcgRXJyb3IobXNn KTt9LGRhdGE6e30sdHlwZTpcInBsYWluXCJ9LHRydWUpO3ZhciByZXE9Z2V0WGhy KCkscT1bXTtyZXEub3Blbihjb25maWcubWV0aG9kLGNvbmZpZy51cmwsdHJ1ZSk7 Zm9yKHZhciBwcm9wIGluIGNvbmZpZy5oZWFkZXJzKXtpZihjb25maWcuaGVhZGVy cy5oYXNPd25Qcm9wZXJ0eShwcm9wKSl7cmVxLnNldFJlcXVlc3RIZWFkZXIocHJv cCxjb25maWcuaGVhZGVyc1twcm9wXSk7fX1cbnJlcS5vbnJlYWR5c3RhdGVjaGFu Z2U9ZnVuY3Rpb24oKXtpZihyZXEucmVhZHlTdGF0ZT09NCl7aWYocmVxLnN0YXR1 cz49MjAwJiZyZXEuc3RhdHVzPDMwMCl7dmFyIHJlc3BvbnNlPXJlcS5yZXNwb25z ZVRleHQ7aWYoY29uZmlnLnR5cGU9PT1cImpzb25cIil7cmVzcG9uc2U9Z2V0SlNP TigpLnBhcnNlKHJlc3BvbnNlKTt9XG5jb25maWcuc3VjY2VzcyhyZXNwb25zZSk7 fVxuZWxzZXtjb25maWcuZXJyb3IoXCJBbiBlcnJvciBvY2N1cmVkLiBTdGF0dXMg Y29kZTogXCIrcmVxLnN0YXR1cyk7fVxucmVxLm9ucmVhZHlzdGF0ZWNoYW5nZT1u dWxsO2RlbGV0ZSByZXEub25yZWFkeXN0YXRlY2hhbmdlO319O2Zvcih2YXIga2V5 IGluIGNvbmZpZy5kYXRhKXtpZihjb25maWcuZGF0YS5oYXNPd25Qcm9wZXJ0eShr ZXkpKXtxLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KGtleSkrXCI9XCIrZW5jb2Rl VVJJQ29tcG9uZW50KGNvbmZpZy5kYXRhW2tleV0pKTt9fVxucmVxLnNlbmQocS5q b2luKFwiJlwiKSk7fVxuZnVuY3Rpb24gcHJlcGFyZVRyYW5zcG9ydFN0YWNrKGNv bmZpZyl7dmFyIHByb3RvY29sPWNvbmZpZy5wcm90b2NvbCxzdGFja0Vscztjb25m aWcuaXNIb3N0PWNvbmZpZy5pc0hvc3R8fHVuZGVmKF9xdWVyeS54ZG1fcCk7aWYo IWNvbmZpZy5wcm9wcyl7Y29uZmlnLnByb3BzPXt9O31cbmlmKCFjb25maWcuaXNI b3N0KXtjb25maWcuY2hhbm5lbD1fcXVlcnkueGRtX2M7Y29uZmlnLnNlY3JldD1f cXVlcnkueGRtX3M7Y29uZmlnLnJlbW90ZT1kZWNvZGVVUklDb21wb25lbnQoX3F1 ZXJ5LnhkbV9lKTtwcm90b2NvbD1fcXVlcnkueGRtX3A7fVxuZWxzZXtjb25maWcu cmVtb3RlPXJlc29sdmVVcmwoY29uZmlnLnJlbW90ZSk7Y29uZmlnLmNoYW5uZWw9 Y29uZmlnLmNoYW5uZWx8fFwiZGVmYXVsdFwiK19jaGFubmVsSWQrKztjb25maWcu

c2VjcmV0PU1hdGgucmFuZG9tKCkudG9TdHJpbmcoMTYpLnN1YnN0cmluZygyKTtp Zih1bmRlZihwcm90b2NvbCkpe2lmKGlzSG9zdE1ldGhvZCh3aW5kb3csXCJwb3N0 TWVzc2FnZVwiKSl7cHJvdG9jb2w9XCIxXCI7fVxuZWxzZSBpZihpc0hvc3RNZXRo b2Qod2luZG93LFwiQWN0aXZlWE9iamVjdFwiKSYmaXNIb3N0TWV0aG9kKHdpbmRv dyxcImV4ZWNTY3JpcHRcIikpe3Byb3RvY29sPVwiM1wiO31cbmVsc2UgaWYoY29u ZmlnLnJlbW90ZUhlbHBlcil7Y29uZmlnLnJlbW90ZUhlbHBlcj1yZXNvbHZlVXJs KGNvbmZpZy5yZW1vdGVIZWxwZXIpO3Byb3RvY29sPVwiMlwiO31cbmVsc2V7cHJv dG9jb2w9XCIwXCI7fX19XG5zd2l0Y2gocHJvdG9jb2wpe2Nhc2VcIjBcIjphcHBs eShjb25maWcse2ludGVydmFsOjMwMCxkZWxheToyMDAwLHVzZVJlc2l6ZTp0cnVl LHVzZVBhcmVudDpmYWxzZSx1c2VQb2xsaW5nOmZhbHNlfSx0cnVlKTtpZihjb25m aWcuaXNIb3N0KXtpZighY29uZmlnLmxvY2FsKXt2YXIgZG9tYWluPWxvY2F0aW9u LnByb3RvY29sK1wiLy9cIitsb2NhdGlvbi5ob3N0LGltYWdlcz1kb2N1bWVudC5i b2R5LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaW1nXCIpLGk9aW1hZ2VzLmxlbmd0 aCxpbWFnZTt3aGlsZShpLS0pe2ltYWdlPWltYWdlc1tpXTtpZihpbWFnZS5zcmMu c3Vic3RyaW5nKDAsZG9tYWluLmxlbmd0aCk9PT1kb21haW4pe2NvbmZpZy5sb2Nh bD1pbWFnZS5zcmM7YnJlYWs7fX1cbmlmKCFjb25maWcubG9jYWwpe2NvbmZpZy5s b2NhbD13aW5kb3c7fX1cbnZhciBwYXJhbWV0ZXJzPXt4ZG1fYzpjb25maWcuY2hh bm5lbCx4ZG1fcDowfTtpZihjb25maWcubG9jYWw9PT13aW5kb3cpe2NvbmZpZy51 c2VQb2xsaW5nPXRydWU7Y29uZmlnLnVzZVBhcmVudD10cnVlO2NvbmZpZy5sb2Nh bD1sb2NhdGlvbi5wcm90b2NvbCtcIi8vXCIrbG9jYXRpb24uaG9zdCtsb2NhdGlv bi5wYXRobmFtZStsb2NhdGlvbi5zZWFyY2g7cGFyYW1ldGVycy54ZG1fZT1lbmNv ZGVVUklDb21wb25lbnQoY29uZmlnLmxvY2FsKTtwYXJhbWV0ZXJzLnhkbV9wYT0x O31cbmVsc2V7cGFyYW1ldGVycy54ZG1fZT1yZXNvbHZlVXJsKGNvbmZpZy5sb2Nh bCk7fVxuaWYoY29uZmlnLmNvbnRhaW5lcil7Y29uZmlnLnVzZVJlc2l6ZT1mYWxz ZTtwYXJhbWV0ZXJzLnhkbV9wbz0xO31cbmNvbmZpZy5yZW1vdGU9YXBwZW5kUXVl cnlQYXJhbWV0ZXJzKGNvbmZpZy5yZW1vdGUscGFyYW1ldGVycyk7fVxuZWxzZXth cHBseShjb25maWcse2NoYW5uZWw6X3F1ZXJ5LnhkbV9jLHJlbW90ZTpkZWNvZGVV UklDb21wb25lbnQoX3F1ZXJ5LnhkbV9lKSx1c2VQYXJlbnQ6IXVuZGVmKF9xdWVy eS54ZG1fcGEpLHVzZVBvbGxpbmc6IXVuZGVmKF9xdWVyeS54ZG1fcG8pLHVzZVJl c2l6ZTpjb25maWcudXNlUGFyZW50P2ZhbHNlOmNvbmZpZy51c2VSZXNpemV9KTt9 XG5zdGFja0Vscz1bbmV3IGVhc3lYRE0uc3RhY2suSGFzaFRyYW5zcG9ydChjb25m aWcpLG5ldyBlYXN5WERNLnN0YWNrLlJlbGlhYmxlQmVoYXZpb3Ioe3RpbWVvdXQ6 KChjb25maWcudXNlUmVzaXplPzUwOmNvbmZpZy5pbnRlcnZhbCoxLjUpKyhjb25m aWcudXNlUG9sbGluZz9jb25maWcuaW50ZXJ2YWwqMS41OjUwKSl9KSxuZXcgZWFz eVhETS5zdGFjay5RdWV1ZUJlaGF2aW9yKHtlbmNvZGU6dHJ1ZSxtYXhMZW5ndGg6 NDAwMC1jb25maWcucmVtb3RlLmxlbmd0aH0pLG5ldyBlYXN5WERNLnN0YWNrLlZl cmlmeUJlaGF2aW9yKHtpbml0aWF0ZTpjb25maWcuaXNIb3N0fSldO2JyZWFrO2Nh c2VcIjFcIjpzdGFja0Vscz1bbmV3IGVhc3lYRE0uc3RhY2suUG9zdE1lc3NhZ2VU cmFuc3BvcnQoY29uZmlnKSxuZXcgZWFzeVhETS5zdGFjay5RdWV1ZUJlaGF2aW9y KCldO2JyZWFrO2Nhc2VcIjJcIjpzdGFja0Vscz1bbmV3IGVhc3lYRE0uc3RhY2su TmFtZVRyYW5zcG9ydChjb25maWcpLG5ldyBlYXN5WERNLnN0YWNrLlF1ZXVlQmVo YXZpb3IoKSxuZXcgZWFzeVhETS5zdGFjay5WZXJpZnlCZWhhdmlvcih7aW5pdGlh dGU6Y29uZmlnLmlzSG9zdH0pXTticmVhaztjYXNlXCIzXCI6c3RhY2tFbHM9W25l dyBlYXN5WERNLnN0YWNrLk5peFRyYW5zcG9ydChjb25maWcpLG5ldyBlYXN5WERN LnN0YWNrLlF1ZXVlQmVoYXZpb3IoKV07YnJlYWs7fVxucmV0dXJuIHN0YWNrRWxz O31cbmZ1bmN0aW9uIGNoYWluU3RhY2soc3RhY2tFbGVtZW50cyl7dmFyIHN0YWNr RWwsZGVmYXVsdHM9e2luY29taW5nOmZ1bmN0aW9uKG1lc3NhZ2Usb3JpZ2luKXt0 aGlzLnVwLmluY29taW5nKG1lc3NhZ2Usb3JpZ2luKTt9LG91dGdvaW5nOmZ1bmN0 aW9uKG1lc3NhZ2UscmVjaXBpZW50KXt0aGlzLmRvd24ub3V0Z29pbmcobWVzc2Fn ZSxyZWNpcGllbnQpO30sY2FsbGJhY2s6ZnVuY3Rpb24oc3VjY2Vzcyl7dGhpcy51 cC5jYWxsYmFjayhzdWNjZXNzKTt9LGluaXQ6ZnVuY3Rpb24oKXt0aGlzLmRvd24u aW5pdCgpO30sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZG93bi5kZXN0cm95KCk7 fX07Zm9yKHZhciBpPTAsbGVuPXN0YWNrRWxlbWVudHMubGVuZ3RoO2k8bGVuO2kr Kyl7c3RhY2tFbD1zdGFja0VsZW1lbnRzW2ldO2FwcGx5KHN0YWNrRWwsZGVmYXVs dHMsdHJ1ZSk7aWYoaSE9PTApe3N0YWNrRWwuZG93bj1zdGFja0VsZW1lbnRzW2kt MV07fVxuaWYoaSE9PWxlbi0xKXtzdGFja0VsLnVwPXN0YWNrRWxlbWVudHNbaSsx XTt9fVxucmV0dXJuIHN0YWNrRWw7fVxuZ2xvYmFsLmVhc3lYRE09e3ZlcnNpb246 XCIyLjQuMC45MFwiLGFwcGx5OmFwcGx5LHF1ZXJ5Ol9xdWVyeSxhamF4OmFqYXgs Z2V0SlNPTk9iamVjdDpnZXRKU09OLHN0YWNrOnt9fTtlYXN5WERNLkRvbUhlbHBl cj17b246b24sdW46dW4scmVxdWlyZXNKU09OOmZ1bmN0aW9uKHBhdGgpe2lmKCFp

c0hvc3RPYmplY3Qod2luZG93LFwiSlNPTlwiKSl7ZG9jdW1lbnQud3JpdGUoXCc8 c2NyaXB0IHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIiBzcmM9XCJcJytwYXRoK1wn XCI+PFwvc2NyaXB0PlwnKTt9fX07KGZ1bmN0aW9uKCl7dmFyIF9tYXA9e307ZWFz eVhETS5Gbj17c2V0OmZ1bmN0aW9uKG5hbWUsZm4pe19tYXBbbmFtZV09Zm47fSxn ZXQ6ZnVuY3Rpb24obmFtZSxkZWwpe3ZhciBmbj1fbWFwW25hbWVdO2lmKGRlbCl7 ZGVsZXRlIF9tYXBbbmFtZV07fVxucmV0dXJuIGZuO319O30oKSk7ZWFzeVhETS5T b2NrZXQ9ZnVuY3Rpb24oY29uZmlnKXt2YXIgc3RhY2s9Y2hhaW5TdGFjayhwcmVw YXJlVHJhbnNwb3J0U3RhY2soY29uZmlnKS5jb25jYXQoW3tpbmNvbWluZzpmdW5j dGlvbihtZXNzYWdlLG9yaWdpbil7Y29uZmlnLm9uTWVzc2FnZShtZXNzYWdlLG9y aWdpbik7fSxjYWxsYmFjazpmdW5jdGlvbihzdWNjZXNzKXtpZihjb25maWcub25S ZWFkeSl7Y29uZmlnLm9uUmVhZHkoc3VjY2Vzcyk7fX19XSkpLHJlY2lwaWVudD1n ZXRMb2NhdGlvbihjb25maWcucmVtb3RlKTt0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24o KXtzdGFjay5kZXN0cm95KCk7fTt0aGlzLnBvc3RNZXNzYWdlPWZ1bmN0aW9uKG1l c3NhZ2Upe3N0YWNrLm91dGdvaW5nKG1lc3NhZ2UscmVjaXBpZW50KTt9O3N0YWNr LmluaXQoKTt9O2Vhc3lYRE0uUnBjPWZ1bmN0aW9uKGNvbmZpZyxqc29uUnBjQ29u ZmlnKXtpZihqc29uUnBjQ29uZmlnLmxvY2FsKXtmb3IodmFyIG1ldGhvZCBpbiBq c29uUnBjQ29uZmlnLmxvY2FsKXtpZihqc29uUnBjQ29uZmlnLmxvY2FsLmhhc093 blByb3BlcnR5KG1ldGhvZCkpe3ZhciBtZW1iZXI9anNvblJwY0NvbmZpZy5sb2Nh bFttZXRob2RdO2lmKHR5cGVvZiBtZW1iZXI9PT1cImZ1bmN0aW9uXCIpe2pzb25S cGNDb25maWcubG9jYWxbbWV0aG9kXT17bWV0aG9kOm1lbWJlcn07fX19fVxudmFy IHN0YWNrPWNoYWluU3RhY2socHJlcGFyZVRyYW5zcG9ydFN0YWNrKGNvbmZpZyku Y29uY2F0KFtuZXcgZWFzeVhETS5zdGFjay5ScGNCZWhhdmlvcih0aGlzLGpzb25S cGNDb25maWcpLHtjYWxsYmFjazpmdW5jdGlvbihzdWNjZXNzKXtpZihjb25maWcu b25SZWFkeSl7Y29uZmlnLm9uUmVhZHkoc3VjY2Vzcyk7fX19XSkpO3RoaXMuZGVz dHJveT1mdW5jdGlvbigpe3N0YWNrLmRlc3Ryb3koKTt9O3N0YWNrLmluaXQoKTt9 O2Vhc3lYRE0uc3RhY2suUG9zdE1lc3NhZ2VUcmFuc3BvcnQ9ZnVuY3Rpb24oY29u ZmlnKXt2YXIgcHViLGZyYW1lLGNhbGxlcldpbmRvdyx0YXJnZXRPcmlnaW47ZnVu Y3Rpb24gX2dldE9yaWdpbihldmVudCl7aWYoZXZlbnQub3JpZ2luKXtyZXR1cm4g ZXZlbnQub3JpZ2luO31cbmlmKGV2ZW50LnVyaSl7cmV0dXJuIGdldExvY2F0aW9u KGV2ZW50LnVyaSk7fVxuaWYoZXZlbnQuZG9tYWluKXtyZXR1cm4gbG9jYXRpb24u cHJvdG9jb2wrXCIvL1wiK2V2ZW50LmRvbWFpbjt9XG50aHJvd1wiVW5hYmxlIHRv IHJldHJpZXZlIHRoZSBvcmlnaW4gb2YgdGhlIGV2ZW50XCI7fVxuZnVuY3Rpb24g X3dpbmRvd19vbk1lc3NhZ2UoZXZlbnQpe3ZhciBvcmlnaW49X2dldE9yaWdpbihl dmVudCk7aWYob3JpZ2luPT10YXJnZXRPcmlnaW4mJmV2ZW50LmRhdGEuc3Vic3Ry aW5nKDAsY29uZmlnLmNoYW5uZWwubGVuZ3RoKzEpPT1jb25maWcuY2hhbm5lbCtc IiBcIil7cHViLnVwLmluY29taW5nKGV2ZW50LmRhdGEuc3Vic3RyaW5nKGNvbmZp Zy5jaGFubmVsLmxlbmd0aCsxKSxvcmlnaW4pO319XG5yZXR1cm4ocHViPXtvdXRn b2luZzpmdW5jdGlvbihtZXNzYWdlLGRvbWFpbixmbil7Y2FsbGVyV2luZG93LnBv c3RNZXNzYWdlKGNvbmZpZy5jaGFubmVsK1wiIFwiK21lc3NhZ2UsZG9tYWlufHx0 YXJnZXRPcmlnaW4pO2ZuKCk7fSxkZXN0cm95OmZ1bmN0aW9uKCl7dW4od2luZG93 LFwibWVzc2FnZVwiLF93aW5kb3dfb25NZXNzYWdlKTtpZihmcmFtZSl7Y2FsbGVy V2luZG93PW51bGw7ZnJhbWUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChmcmFtZSk7 ZnJhbWU9bnVsbDt9fSxpbml0OmZ1bmN0aW9uKCl7dGFyZ2V0T3JpZ2luPWdldExv Y2F0aW9uKGNvbmZpZy5yZW1vdGUpO2lmKGNvbmZpZy5pc0hvc3Qpe29uKHdpbmRv dyxcIm1lc3NhZ2VcIixmdW5jdGlvbiB3YWl0Rm9yUmVhZHkoZXZlbnQpe2lmKGV2 ZW50LmRhdGE9PWNvbmZpZy5jaGFubmVsK1wiLXJlYWR5XCIpe2NhbGxlcldpbmRv dz1mcmFtZS5jb250ZW50V2luZG93O3VuKHdpbmRvdyxcIm1lc3NhZ2VcIix3YWl0 Rm9yUmVhZHkpO29uKHdpbmRvdyxcIm1lc3NhZ2VcIixfd2luZG93X29uTWVzc2Fn ZSk7c2V0VGltZW91dChmdW5jdGlvbigpe3B1Yi51cC5jYWxsYmFjayh0cnVlKTt9 LDApO319KTthcHBseShjb25maWcucHJvcHMse3NyYzphcHBlbmRRdWVyeVBhcmFt ZXRlcnMoY29uZmlnLnJlbW90ZSx7eGRtX2U6bG9jYXRpb24ucHJvdG9jb2wrXCIv L1wiK2xvY2F0aW9uLmhvc3QseGRtX2M6Y29uZmlnLmNoYW5uZWwseGRtX3A6MX0p fSk7ZnJhbWU9Y3JlYXRlRnJhbWUoY29uZmlnKTt9XG5lbHNle29uKHdpbmRvdyxc Im1lc3NhZ2VcIixfd2luZG93X29uTWVzc2FnZSk7Y2FsbGVyV2luZG93PXdpbmRv dy5wYXJlbnQ7Y2FsbGVyV2luZG93LnBvc3RNZXNzYWdlKGNvbmZpZy5jaGFubmVs K1wiLXJlYWR5XCIsdGFyZ2V0T3JpZ2luKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7 cHViLnVwLmNhbGxiYWNrKHRydWUpO30sMCk7fX19KTt9O2Vhc3lYRE0uc3RhY2su Tml4VHJhbnNwb3J0PWZ1bmN0aW9uKGNvbmZpZyl7dmFyIHB1YixmcmFtZSxzZW5k LHRhcmdldE9yaWdpbixwcm94eTtyZXR1cm4ocHViPXtvdXRnb2luZzpmdW5jdGlv bihtZXNzYWdlLGRvbWFpbixmbil7c2VuZChtZXNzYWdlKTtmbigpO30sZGVzdHJv

eTpmdW5jdGlvbigpe3Byb3h5PW51bGw7aWYoZnJhbWUpe2ZyYW1lLnBhcmVudE5v ZGUucmVtb3ZlQ2hpbGQoZnJhbWUpO2ZyYW1lPW51bGw7fX0saW5pdDpmdW5jdGlv bigpe3RhcmdldE9yaWdpbj1nZXRMb2NhdGlvbihjb25maWcucmVtb3RlKTtpZihj b25maWcuaXNIb3N0KXt0cnl7aWYoIWlzSG9zdE1ldGhvZCh3aW5kb3csXCJHZXRO aXhQcm94eVwiKSl7d2luZG93LmV4ZWNTY3JpcHQoXCdDbGFzcyBOaXhQcm94eVxc blwnK1wnICAgIFByaXZhdGUgbV9wYXJlbnQsIG1fY2hpbGQsIG1fQXV0aFxcblwn K1wnXFxuXCcrXCcgICAgUHVibGljIFN1YiBTZXRQYXJlbnQob2JqLCBhdXRoKVxc blwnK1wnICAgICAgICBJZiBpc0VtcHR5KG1fQXV0aCkgVGhlbiBtX0F1dGggPSBh dXRoXFxuXCcrXCcgICAgICAgIFNFVCBtX3BhcmVudCA9IG9ialxcblwnK1wnICAg IEVuZCBTdWJcXG5cJytcJyAgICBQdWJsaWMgU3ViIFNldENoaWxkKG9iailcXG5c JytcJyAgICAgICAgU0VUIG1fY2hpbGQgPSBvYmpcXG5cJytcJyAgICAgICAgbV9w YXJlbnQucmVhZHkoKVxcblwnK1wnICAgIEVuZCBTdWJcXG5cJytcJ1xcblwnK1wn ICAgIFB1YmxpYyBTdWIgU2VuZFRvUGFyZW50KGRhdGEsIGF1dGgpXFxuXCcrXCcg ICAgICAgIElmIG1fQXV0aCA9IGF1dGggVGhlbiBtX3BhcmVudC5zZW5kKENTdHIo ZGF0YSkpXFxuXCcrXCcgICAgRW5kIFN1YlxcblwnK1wnICAgIFB1YmxpYyBTdWIg U2VuZFRvQ2hpbGQoZGF0YSwgYXV0aClcXG5cJytcJyAgICAgICAgSWYgbV9BdXRo ID0gYXV0aCBUaGVuIG1fY2hpbGQuc2VuZChDU3RyKGRhdGEpKVxcblwnK1wnICAg IEVuZCBTdWJcXG5cJytcJ0VuZCBDbGFzc1xcblwnK1wnRnVuY3Rpb24gR2V0Tml4 UHJveHkoKVxcblwnK1wnICAgIFNldCBHZXROaXhQcm94eSA9IE5ldyBOaXhQcm94 eVxcblwnK1wnRW5kIEZ1bmN0aW9uXFxuXCcsXCd2YnNjcmlwdFwnKTt9XG5wcm94 eT1HZXROaXhQcm94eSgpO3Byb3h5LlNldFBhcmVudCh7c2VuZDpmdW5jdGlvbiht c2cpe3B1Yi51cC5pbmNvbWluZyhtc2csdGFyZ2V0T3JpZ2luKTt9LHJlYWR5OmZ1 bmN0aW9uKCl7c2V0VGltZW91dChmdW5jdGlvbigpe3B1Yi51cC5jYWxsYmFjayh0 cnVlKTt9LDApO319LGNvbmZpZy5zZWNyZXQpO3NlbmQ9ZnVuY3Rpb24obXNnKXtw cm94eS5TZW5kVG9DaGlsZChtc2csY29uZmlnLnNlY3JldCk7fTt9XG5jYXRjaChl KXt0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZCBub3Qgc2V0IHVwIFZCU2NyaXB0IE5p eFByb3h5OlwiK2UubWVzc2FnZSk7fVxuYXBwbHkoY29uZmlnLnByb3BzLHtzcmM6 YXBwZW5kUXVlcnlQYXJhbWV0ZXJzKGNvbmZpZy5yZW1vdGUse3hkbV9lOmxvY2F0 aW9uLnByb3RvY29sK1wiLy9cIitsb2NhdGlvbi5ob3N0LHhkbV9jOmNvbmZpZy5j aGFubmVsLHhkbV9zOmNvbmZpZy5zZWNyZXQseGRtX3A6M30pfSk7ZnJhbWU9Y3Jl YXRlRnJhbWUoY29uZmlnKTtmcmFtZS5jb250ZW50V2luZG93Lm9wZW5lcj1wcm94 eTt9XG5lbHNle3RyeXtwcm94eT13aW5kb3cub3BlbmVyO31cbmNhdGNoKGUpe3Ro cm93IG5ldyBFcnJvcihcIkNhbm5vdCBhY2Nlc3Mgd2luZG93Lm9wZW5lclwiKTt9 XG5wcm94eS5TZXRDaGlsZCh7c2VuZDpmdW5jdGlvbihtc2cpe2dsb2JhbC5zZXRU aW1lb3V0KGZ1bmN0aW9uKCl7cHViLnVwLmluY29taW5nKG1zZyx0YXJnZXRPcmln aW4pO30sMCk7fX0pO3NlbmQ9ZnVuY3Rpb24obXNnKXtwcm94eS5TZW5kVG9QYXJl bnQobXNnLGNvbmZpZy5zZWNyZXQpO307c2V0VGltZW91dChmdW5jdGlvbigpe3B1 Yi51cC5jYWxsYmFjayh0cnVlKTt9LDApO319fSk7fTtlYXN5WERNLnN0YWNrLk5h bWVUcmFuc3BvcnQ9ZnVuY3Rpb24oY29uZmlnKXt2YXIgcHViO3ZhciBpc0hvc3Qs Y2FsbGVyV2luZG93LHJlbW90ZVdpbmRvdyxyZWFkeUNvdW50LGNhbGxiYWNrLHJl bW90ZU9yaWdpbixyZW1vdGVVcmw7ZnVuY3Rpb24gX3NlbmRNZXNzYWdlKG1lc3Nh Z2Upe3ZhciB1cmw9Y29uZmlnLnJlbW90ZUhlbHBlcisoaXNIb3N0PyhcIiNfM1wi K2VuY29kZVVSSUNvbXBvbmVudChyZW1vdGVVcmwrXCIjXCIrY29uZmlnLmNoYW5u ZWwpKTooXCIjXzJcIitjb25maWcuY2hhbm5lbCkpO2NhbGxlcldpbmRvdy5jb250 ZW50V2luZG93LnNlbmRNZXNzYWdlKG1lc3NhZ2UsdXJsKTt9XG5mdW5jdGlvbiBf b25SZWFkeSgpe2lmKGlzSG9zdCl7aWYoKytyZWFkeUNvdW50PT09Mnx8IWlzSG9z dCl7cHViLnVwLmNhbGxiYWNrKHRydWUpO319XG5lbHNle19zZW5kTWVzc2FnZShc InJlYWR5XCIpO3B1Yi51cC5jYWxsYmFjayh0cnVlKTt9fVxuZnVuY3Rpb24gX29u TWVzc2FnZShtZXNzYWdlKXtwdWIudXAuaW5jb21pbmcobWVzc2FnZSxyZW1vdGVP cmlnaW4pO31cbmZ1bmN0aW9uIF9vbkxvYWQoKXtpZihjYWxsYmFjayl7c2V0VGlt ZW91dChmdW5jdGlvbigpe2NhbGxiYWNrKHRydWUpO30sMCk7fX1cbnJldHVybihw dWI9e291dGdvaW5nOmZ1bmN0aW9uKG1lc3NhZ2UsZG9tYWluLGZuKXtjYWxsYmFj az1mbjtfc2VuZE1lc3NhZ2UobWVzc2FnZSk7fSxkZXN0cm95OmZ1bmN0aW9uKCl7 Y2FsbGVyV2luZG93LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoY2FsbGVyV2luZG93 KTtjYWxsZXJXaW5kb3c9bnVsbDtpZihpc0hvc3Qpe3JlbW90ZVdpbmRvdy5wYXJl bnROb2RlLnJlbW92ZUNoaWxkKHJlbW90ZVdpbmRvdyk7cmVtb3RlV2luZG93PW51 bGw7fX0saW5pdDpmdW5jdGlvbigpe2lzSG9zdD1jb25maWcuaXNIb3N0O3JlYWR5 Q291bnQ9MDtyZW1vdGVPcmlnaW49Z2V0TG9jYXRpb24oY29uZmlnLnJlbW90ZSk7 Y29uZmlnLmxvY2FsPXJlc29sdmVVcmwoY29uZmlnLmxvY2FsKTtpZihpc0hvc3Qp e2Vhc3lYRE0uRm4uc2V0KGNvbmZpZy5jaGFubmVsLGZ1bmN0aW9uKG1lc3NhZ2Up

e2lmKGlzSG9zdCYmbWVzc2FnZT09PVwicmVhZHlcIil7ZWFzeVhETS5Gbi5zZXQo Y29uZmlnLmNoYW5uZWwsX29uTWVzc2FnZSk7X29uUmVhZHkoKTt9fSk7cmVtb3Rl VXJsPWFwcGVuZFF1ZXJ5UGFyYW1ldGVycyhjb25maWcucmVtb3RlLHt4ZG1fZTpj b25maWcubG9jYWwseGRtX2M6Y29uZmlnLmNoYW5uZWwseGRtX3A6Mn0pO2FwcGx5 KGNvbmZpZy5wcm9wcyx7c3JjOnJlbW90ZVVybCtcJyNcJytjb25maWcuY2hhbm5l bCxuYW1lOmNvbmZpZy5jaGFubmVsfSk7cmVtb3RlV2luZG93PWNyZWF0ZUZyYW1l KGNvbmZpZyk7fVxuZWxzZXtjb25maWcucmVtb3RlSGVscGVyPWNvbmZpZy5yZW1v dGU7ZWFzeVhETS5Gbi5zZXQoY29uZmlnLmNoYW5uZWwsX29uTWVzc2FnZSk7fVxu Y2FsbGVyV2luZG93PWNyZWF0ZUZyYW1lKHtwcm9wczp7c3JjOmNvbmZpZy5sb2Nh bCtcIiNfNFwiK2NvbmZpZy5jaGFubmVsfSxvbkxvYWQ6ZnVuY3Rpb24oKXt1bihj YWxsZXJXaW5kb3csXCJsb2FkXCIsY2FsbGVyV2luZG93LmxvYWRGbik7ZWFzeVhE TS5Gbi5zZXQoY29uZmlnLmNoYW5uZWwrXCJfbG9hZFwiLF9vbkxvYWQpO19vblJl YWR5KCk7fX0pO319KTt9O2Vhc3lYRE0uc3RhY2suSGFzaFRyYW5zcG9ydD1mdW5j dGlvbihjb25maWcpe3ZhciBwdWI7dmFyIG1lPXRoaXMsaXNIb3N0LF90aW1lcixw b2xsSW50ZXJ2YWwsX2xhc3RNc2csX21zZ05yLF9saXN0ZW5lcldpbmRvdyxfY2Fs bGVyV2luZG93O3ZhciB1c2VQb2xsaW5nLHVzZVBhcmVudCx1c2VSZXNpemUsX3Jl bW90ZU9yaWdpbjtmdW5jdGlvbiBfc2VuZE1lc3NhZ2UobWVzc2FnZSl7aWYoIV9j YWxsZXJXaW5kb3cpe3JldHVybjt9XG52YXIgdXJsPWNvbmZpZy5yZW1vdGUrXCIj XCIrKF9tc2dOcisrKStcIl9cIittZXNzYWdlO2lmKGlzSG9zdHx8IXVzZVBhcmVu dCl7X2NhbGxlcldpbmRvdy5jb250ZW50V2luZG93LmxvY2F0aW9uPXVybDtpZih1 c2VSZXNpemUpe19jYWxsZXJXaW5kb3cud2lkdGg9X2NhbGxlcldpbmRvdy53aWR0 aD43NT81MDoxMDA7fX1cbmVsc2V7X2NhbGxlcldpbmRvdy5sb2NhdGlvbj11cmw7 fX1cbmZ1bmN0aW9uIF9oYW5kbGVIYXNoKGhhc2gpe19sYXN0TXNnPWhhc2g7cHVi LnVwLmluY29taW5nKF9sYXN0TXNnLnN1YnN0cmluZyhfbGFzdE1zZy5pbmRleE9m KFwiX1wiKSsxKSxfcmVtb3RlT3JpZ2luKTt9XG5mdW5jdGlvbiBfb25SZXNpemUo KXtfaGFuZGxlSGFzaChfbGlzdGVuZXJXaW5kb3cubG9jYXRpb24uaGFzaCk7fVxu ZnVuY3Rpb24gX3BvbGxIYXNoKCl7aWYoX2xpc3RlbmVyV2luZG93LmxvY2F0aW9u Lmhhc2gmJl9saXN0ZW5lcldpbmRvdy5sb2NhdGlvbi5oYXNoIT1fbGFzdE1zZyl7 X2hhbmRsZUhhc2goX2xpc3RlbmVyV2luZG93LmxvY2F0aW9uLmhhc2gpO319XG5m dW5jdGlvbiBfYXR0YWNoTGlzdGVuZXJzKCl7aWYodXNlUG9sbGluZyl7X3RpbWVy PXNldEludGVydmFsKF9wb2xsSGFzaCxwb2xsSW50ZXJ2YWwpO31cbmVsc2V7b24o X2xpc3RlbmVyV2luZG93LFwicmVzaXplXCIsX29uUmVzaXplKTt9fVxucmV0dXJu KHB1Yj17b3V0Z29pbmc6ZnVuY3Rpb24obWVzc2FnZSxkb21haW4pe19zZW5kTWVz c2FnZShtZXNzYWdlKTt9LGRlc3Ryb3k6ZnVuY3Rpb24oKXtpZih1c2VQb2xsaW5n KXt3aW5kb3cuY2xlYXJJbnRlcnZhbChfdGltZXIpO31cbmVsc2UgaWYoX2xpc3Rl bmVyV2luZG93KXt1bihfbGlzdGVuZXJXaW5kb3csXCJyZXNpemVcIixfcG9sbEhh c2gpO31cbmlmKGlzSG9zdHx8IXVzZVBhcmVudCl7X2NhbGxlcldpbmRvdy5wYXJl bnROb2RlLnJlbW92ZUNoaWxkKF9jYWxsZXJXaW5kb3cpO31cbl9jYWxsZXJXaW5k b3c9bnVsbDt9LGluaXQ6ZnVuY3Rpb24oKXtpc0hvc3Q9Y29uZmlnLmlzSG9zdDtw b2xsSW50ZXJ2YWw9Y29uZmlnLmludGVydmFsO19sYXN0TXNnPVwiI1wiK2NvbmZp Zy5jaGFubmVsO19tc2dOcj0wO3VzZVBvbGxpbmc9Y29uZmlnLnVzZVBvbGxpbmc7 dXNlUGFyZW50PWNvbmZpZy51c2VQYXJlbnQ7dXNlUmVzaXplPWNvbmZpZy51c2VS ZXNpemU7X3JlbW90ZU9yaWdpbj1nZXRMb2NhdGlvbihjb25maWcucmVtb3RlKTtp ZighaXNIb3N0JiZ1c2VQYXJlbnQpe19saXN0ZW5lcldpbmRvdz13aW5kb3c7X2Nh bGxlcldpbmRvdz1wYXJlbnQ7X2F0dGFjaExpc3RlbmVycygpO3B1Yi51cC5jYWxs YmFjayh0cnVlKTt9XG5lbHNle2FwcGx5KGNvbmZpZyx7cHJvcHM6e3NyYzooaXNI b3N0P2NvbmZpZy5yZW1vdGU6Y29uZmlnLnJlbW90ZStcIiNcIitjb25maWcuY2hh bm5lbCksbmFtZTooaXNIb3N0P1wibG9jYWxfXCI6XCJyZW1vdGVfXCIpK2NvbmZp Zy5jaGFubmVsfSxvbkxvYWQ6KGlzSG9zdCYmdXNlUGFyZW50fHwhaXNIb3N0KT8o ZnVuY3Rpb24oKXtfbGlzdGVuZXJXaW5kb3c9d2luZG93O19hdHRhY2hMaXN0ZW5l cnMoKTtwdWIudXAuY2FsbGJhY2sodHJ1ZSk7fSk6bnVsbH0pO19jYWxsZXJXaW5k b3c9Y3JlYXRlRnJhbWUoY29uZmlnKTtpZihpc0hvc3QmJiF1c2VQYXJlbnQpe3Zh ciB0cmllcz0wLG1heD1jb25maWcuZGVsYXkvNTA7KGZ1bmN0aW9uIGdldFJlZigp e2lmKCsrdHJpZXM+bWF4KXt0aHJvdyBuZXcgRXJyb3IoXCJVbmFibGUgdG8gcmVm ZXJlbmNlIGxpc3RlbmVyd2luZG93XCIpO31cbmlmKF9saXN0ZW5lcldpbmRvdyl7 cmV0dXJuO31cbnRyeXtfbGlzdGVuZXJXaW5kb3c9X2NhbGxlcldpbmRvdy5jb250 ZW50V2luZG93LmZyYW1lc1tcInJlbW90ZV9cIitjb25maWcuY2hhbm5lbF07d2lu ZG93LmNsZWFyVGltZW91dChfdGltZXIpO19hdHRhY2hMaXN0ZW5lcnMoKTtwdWIu dXAuY2FsbGJhY2sodHJ1ZSk7cmV0dXJuO31cbmNhdGNoKGV4KXtzZXRUaW1lb3V0 KGdldFJlZiw1MCk7fX0oKSk7fX19fSk7fTtlYXN5WERNLnN0YWNrLlJlbGlhYmxl

QmVoYXZpb3I9ZnVuY3Rpb24oY29uZmlnKXt2YXIgcHViLHRpbWVyLGN1cnJlbnQs bmV4dCxzZW5kSWQ9MCxzZW5kQ291bnQ9MCxtYXhUcmllcz1jb25maWcudHJpZXN8 fDUsdGltZW91dD1jb25maWcudGltZW91dCxyZWNlaXZlSWQ9MCxjYWxsYmFjazty ZXR1cm4ocHViPXtpbmNvbWluZzpmdW5jdGlvbihtZXNzYWdlLG9yaWdpbil7dmFy IGluZGV4T2Y9bWVzc2FnZS5pbmRleE9mKFwiX1wiKSxhY2s9cGFyc2VJbnQobWVz c2FnZS5zdWJzdHJpbmcoMCxpbmRleE9mKSwxMCksaWQ7bWVzc2FnZT1tZXNzYWdl LnN1YnN0cmluZyhpbmRleE9mKzEpO2luZGV4T2Y9bWVzc2FnZS5pbmRleE9mKFwi X1wiKTtpZD1wYXJzZUludChtZXNzYWdlLnN1YnN0cmluZygwLGluZGV4T2YpLDEw KTtpbmRleE9mPW1lc3NhZ2UuaW5kZXhPZihcIl9cIik7bWVzc2FnZT1tZXNzYWdl LnN1YnN0cmluZyhpbmRleE9mKzEpO2lmKHRpbWVyJiZhY2s9PT1zZW5kSWQpe3dp bmRvdy5jbGVhclRpbWVvdXQodGltZXIpO3RpbWVyPW51bGw7aWYoY2FsbGJhY2sp e3NldFRpbWVvdXQoZnVuY3Rpb24oKXtjYWxsYmFjayh0cnVlKTt9LDApO319XG5p ZihpZCE9PTApe2lmKGlkIT09cmVjZWl2ZUlkKXtyZWNlaXZlSWQ9aWQ7bWVzc2Fn ZT1tZXNzYWdlLnN1YnN0cmluZyhpZC5sZW5ndGgrMSk7cHViLmRvd24ub3V0Z29p bmcoaWQrXCJfMF9hY2tcIixvcmlnaW4pO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtw dWIudXAuaW5jb21pbmcobWVzc2FnZSxvcmlnaW4pO30sY29uZmlnLnRpbWVvdXQv Mik7fVxuZWxzZXtwdWIuZG93bi5vdXRnb2luZyhpZCtcIl8wX2Fja1wiLG9yaWdp bik7fX19LG91dGdvaW5nOmZ1bmN0aW9uKG1lc3NhZ2Usb3JpZ2luLGZuKXtjYWxs YmFjaz1mbjtzZW5kQ291bnQ9MDtjdXJyZW50PXtkYXRhOnJlY2VpdmVJZCtcIl9c IisoKytzZW5kSWQpK1wiX1wiK21lc3NhZ2Usb3JpZ2luOm9yaWdpbn07KGZ1bmN0 aW9uIHNlbmQoKXt0aW1lcj1udWxsO2lmKCsrc2VuZENvdW50Pm1heFRyaWVzKXtp ZihjYWxsYmFjayl7c2V0VGltZW91dChmdW5jdGlvbigpe2NhbGxiYWNrKGZhbHNl KTt9LDApO319XG5lbHNle3B1Yi5kb3duLm91dGdvaW5nKGN1cnJlbnQuZGF0YSxj dXJyZW50Lm9yaWdpbik7dGltZXI9c2V0VGltZW91dChzZW5kLGNvbmZpZy50aW1l b3V0KTt9fSgpKTt9LGRlc3Ryb3k6ZnVuY3Rpb24oKXtpZih0aW1lcil7d2luZG93 LmNsZWFySW50ZXJ2YWwodGltZXIpO31cbnB1Yi5kb3duLmRlc3Ryb3koKTt9fSk7 fTtlYXN5WERNLnN0YWNrLlF1ZXVlQmVoYXZpb3I9ZnVuY3Rpb24oY29uZmlnKXt2 YXIgcHViLHF1ZXVlPVtdLHdhaXRpbmc9dHJ1ZSxpbmNvbWluZz1cIlwiLGRlc3Ry b3lpbmcsbWF4TGVuZ3RoPTA7ZnVuY3Rpb24gZGlzcGF0Y2goKXtpZih3YWl0aW5n fHxxdWV1ZS5sZW5ndGg9PT0wfHxkZXN0cm95aW5nKXtyZXR1cm47fVxud2FpdGlu Zz10cnVlO3ZhciBtZXNzYWdlPXF1ZXVlLnNoaWZ0KCk7cHViLmRvd24ub3V0Z29p bmcobWVzc2FnZS5kYXRhLG1lc3NhZ2Uub3JpZ2luLGZ1bmN0aW9uKHN1Y2Nlc3Mp e3dhaXRpbmc9ZmFsc2U7aWYobWVzc2FnZS5jYWxsYmFjayl7c2V0VGltZW91dChm dW5jdGlvbigpe21lc3NhZ2UuY2FsbGJhY2soc3VjY2Vzcyk7fSwwKTt9XG5kaXNw YXRjaCgpO30pO31cbnJldHVybihwdWI9e2luaXQ6ZnVuY3Rpb24oKXtpZih1bmRl Zihjb25maWcpKXtjb25maWc9e307fVxubWF4TGVuZ3RoPWNvbmZpZy5tYXhMZW5n dGg/Y29uZmlnLm1heExlbmd0aDowO3B1Yi5kb3duLmluaXQoKTt9LGNhbGxiYWNr OmZ1bmN0aW9uKHN1Y2Nlc3Mpe3dhaXRpbmc9ZmFsc2U7ZGlzcGF0Y2goKTtwdWIu dXAuY2FsbGJhY2soc3VjY2Vzcyk7fSxpbmNvbWluZzpmdW5jdGlvbihtZXNzYWdl LG9yaWdpbil7dmFyIGluZGV4T2Y9bWVzc2FnZS5pbmRleE9mKFwiX1wiKSxzZXE9 cGFyc2VJbnQobWVzc2FnZS5zdWJzdHJpbmcoMCxpbmRleE9mKSwxMCk7aW5jb21p bmcrPW1lc3NhZ2Uuc3Vic3RyaW5nKGluZGV4T2YrMSk7aWYoc2VxPT09MCl7aWYo Y29uZmlnLmVuY29kZSl7aW5jb21pbmc9ZGVjb2RlVVJJQ29tcG9uZW50KGluY29t aW5nKTt9XG5wdWIudXAuaW5jb21pbmcoaW5jb21pbmcsb3JpZ2luKTtpbmNvbWlu Zz1cIlwiO319LG91dGdvaW5nOmZ1bmN0aW9uKG1lc3NhZ2Usb3JpZ2luLGZuKXtp Zihjb25maWcuZW5jb2RlKXttZXNzYWdlPWVuY29kZVVSSUNvbXBvbmVudChtZXNz YWdlKTt9XG52YXIgZnJhZ21lbnRzPVtdLGZyYWdtZW50O2lmKG1heExlbmd0aCl7 d2hpbGUobWVzc2FnZS5sZW5ndGghPT0wKXtmcmFnbWVudD1tZXNzYWdlLnN1YnN0 cmluZygwLG1heExlbmd0aCk7bWVzc2FnZT1tZXNzYWdlLnN1YnN0cmluZyhmcmFn bWVudC5sZW5ndGgpO2ZyYWdtZW50cy5wdXNoKGZyYWdtZW50KTt9fVxuZWxzZXtm cmFnbWVudHMucHVzaChtZXNzYWdlKTt9XG53aGlsZSgoZnJhZ21lbnQ9ZnJhZ21l bnRzLnNoaWZ0KCkpKXtxdWV1ZS5wdXNoKHtkYXRhOmZyYWdtZW50cy5sZW5ndGgr XCJfXCIrZnJhZ21lbnQsb3JpZ2luOm9yaWdpbixjYWxsYmFjazpmcmFnbWVudHMu bGVuZ3RoPT09MD9mbjpudWxsfSk7fVxuZGlzcGF0Y2goKTt9LGRlc3Ryb3k6ZnVu Y3Rpb24oKXtkZXN0cm95aW5nPXRydWU7cHViLmRvd24uZGVzdHJveSgpO319KTt9 O2Vhc3lYRE0uc3RhY2suVmVyaWZ5QmVoYXZpb3I9ZnVuY3Rpb24oY29uZmlnKXt2 YXIgcHViLG15U2VjcmV0LHRoZWlyU2VjcmV0LHZlcmlmaWVkPWZhbHNlO2Z1bmN0 aW9uIHN0YXJ0VmVyaWZpY2F0aW9uKCl7bXlTZWNyZXQ9TWF0aC5yYW5kb20oKS50 b1N0cmluZygxNikuc3Vic3RyaW5nKDIpO3B1Yi5kb3duLm91dGdvaW5nKG15U2Vj cmV0KTt9XG5yZXR1cm4ocHViPXtpbmNvbWluZzpmdW5jdGlvbihtZXNzYWdlLG9y

aWdpbil7dmFyIGluZGV4T2Y9bWVzc2FnZS5pbmRleE9mKFwiX1wiKTtpZihpbmRl eE9mPT09LTEpe2lmKG1lc3NhZ2U9PT1teVNlY3JldCl7cHViLnVwLmNhbGxiYWNr KHRydWUpO31cbmVsc2UgaWYoIXRoZWlyU2VjcmV0KXt0aGVpclNlY3JldD1tZXNz YWdlO2lmKCFjb25maWcuaW5pdGlhdGUpe3N0YXJ0VmVyaWZpY2F0aW9uKCk7fVxu cHViLmRvd24ub3V0Z29pbmcobWVzc2FnZSk7fX1cbmVsc2V7aWYobWVzc2FnZS5z dWJzdHJpbmcoMCxpbmRleE9mKT09PXRoZWlyU2VjcmV0KXtwdWIudXAuaW5jb21p bmcobWVzc2FnZS5zdWJzdHJpbmcoaW5kZXhPZisxKSxvcmlnaW4pO319fSxvdXRn b2luZzpmdW5jdGlvbihtZXNzYWdlLG9yaWdpbixmbil7cHViLmRvd24ub3V0Z29p bmcobXlTZWNyZXQrXCJfXCIrbWVzc2FnZSxvcmlnaW4sZm4pO30sY2FsbGJhY2s6 ZnVuY3Rpb24oc3VjY2Vzcyl7aWYoY29uZmlnLmluaXRpYXRlKXtzdGFydFZlcmlm aWNhdGlvbigpO319fSk7fTtlYXN5WERNLnN0YWNrLlJwY0JlaGF2aW9yPWZ1bmN0 aW9uKHByb3h5LGNvbmZpZyl7dmFyIHB1YixzZXJpYWxpemVyPWNvbmZpZy5zZXJp YWxpemVyfHxnZXRKU09OKCk7dmFyIF9jYWxsYmFja0NvdW50ZXI9MCxfY2FsbGJh Y2tzPXt9O2Z1bmN0aW9uIF9zZW5kKGRhdGEpe2RhdGEuanNvbnJwYz1cIjIuMFwi O3B1Yi5kb3duLm91dGdvaW5nKHNlcmlhbGl6ZXIuc3RyaW5naWZ5KGRhdGEpKTt9 XG5mdW5jdGlvbiBfY3JlYXRlTWV0aG9kKGRlZmluaXRpb24sbWV0aG9kKXt2YXIg c2xpY2U9QXJyYXkucHJvdG90eXBlLnNsaWNlO3JldHVybiBmdW5jdGlvbigpe3Zh ciBsPWFyZ3VtZW50cy5sZW5ndGgsY2FsbGJhY2ssbWVzc2FnZT17bWV0aG9kOm1l dGhvZH07aWYobD4wJiZ0eXBlb2YgYXJndW1lbnRzW2wtMV09PT1cImZ1bmN0aW9u XCIpe2lmKGw+MSYmdHlwZW9mIGFyZ3VtZW50c1tsLTJdPT09XCJmdW5jdGlvblwi KXtjYWxsYmFjaz17c3VjY2Vzczphcmd1bWVudHNbbC0yXSxlcnJvcjphcmd1bWVu dHNbbC0xXX07bWVzc2FnZS5wYXJhbXM9c2xpY2UuY2FsbChhcmd1bWVudHMsMCxs LTIpO31cbmVsc2V7Y2FsbGJhY2s9e3N1Y2Nlc3M6YXJndW1lbnRzW2wtMV19O21l c3NhZ2UucGFyYW1zPXNsaWNlLmNhbGwoYXJndW1lbnRzLDAsbC0xKTt9XG5fY2Fs bGJhY2tzW1wiXCIrKCsrX2NhbGxiYWNrQ291bnRlcildPWNhbGxiYWNrO21lc3Nh Z2UuaWQ9X2NhbGxiYWNrQ291bnRlcjt9XG5lbHNle21lc3NhZ2UucGFyYW1zPXNs aWNlLmNhbGwoYXJndW1lbnRzLDApO31cbl9zZW5kKG1lc3NhZ2UpO307fVxuZnVu Y3Rpb24gX2V4ZWN1dGVNZXRob2QobWV0aG9kLGlkLGZuLHBhcmFtcyl7aWYoIWZu KXtpZihpZCl7X3NlbmQoe2lkOmlkLGVycm9yOntjb2RlOi0zMjYwMSxtZXNzYWdl OlwiUHJvY2VkdXJlIG5vdCBmb3VuZC5cIn19KTt9XG5yZXR1cm47fVxudmFyIHVz ZWQ9ZmFsc2Usc3VjY2VzcyxlcnJvcjtpZihpZCl7c3VjY2Vzcz1mdW5jdGlvbihy ZXN1bHQpe2lmKHVzZWQpe3JldHVybjt9XG51c2VkPXRydWU7X3NlbmQoe2lkOmlk LHJlc3VsdDpyZXN1bHR9KTt9O2Vycm9yPWZ1bmN0aW9uKG1lc3NhZ2Upe2lmKHVz ZWQpe3JldHVybjt9XG51c2VkPXRydWU7X3NlbmQoe2lkOmlkLGVycm9yOntjb2Rl Oi0zMjA5OSxtZXNzYWdlOlwiQXBwbGljYXRpb24gZXJyb3I6IFwiK21lc3NhZ2V9 fSk7fTt9XG5lbHNle3N1Y2Nlc3M9ZXJyb3I9ZW1wdHlGbjt9XG50cnl7dmFyIHJl c3VsdD1mbi5tZXRob2QuYXBwbHkoZm4uc2NvcGUscGFyYW1zLmNvbmNhdChbc3Vj Y2VzcyxlcnJvcl0pKTtpZighdW5kZWYocmVzdWx0KSl7c3VjY2VzcyhyZXN1bHQp O319XG5jYXRjaChleDEpe2Vycm9yKGV4MS5tZXNzYWdlKTt9fVxucmV0dXJuKHB1 Yj17aW5jb21pbmc6ZnVuY3Rpb24obWVzc2FnZSxvcmlnaW4pe3ZhciBkYXRhPXNl cmlhbGl6ZXIucGFyc2UobWVzc2FnZSk7aWYoZGF0YS5tZXRob2Qpe2lmKGNvbmZp Zy5oYW5kbGUpe2NvbmZpZy5oYW5kbGUoZGF0YSxfc2VuZCk7fVxuZWxzZXtfZXhl Y3V0ZU1ldGhvZChkYXRhLm1ldGhvZCxkYXRhLmlkLGNvbmZpZy5sb2NhbFtkYXRh Lm1ldGhvZF0sZGF0YS5wYXJhbXMpO319XG5lbHNle3ZhciBjYWxsYmFjaz1fY2Fs bGJhY2tzW2RhdGEuaWRdO2lmKGRhdGEuZXJyb3Ipe2lmKGNhbGxiYWNrLmVycm9y KXtjYWxsYmFjay5lcnJvcihkYXRhLmVycm9yKTt9fVxuZWxzZSBpZihjYWxsYmFj ay5zdWNjZXNzKXtjYWxsYmFjay5zdWNjZXNzKGRhdGEucmVzdWx0KTt9XG5kZWxl dGUgX2NhbGxiYWNrc1tkYXRhLmlkXTt9fSxpbml0OmZ1bmN0aW9uKCl7aWYoY29u ZmlnLnJlbW90ZSl7Zm9yKHZhciBtZXRob2QgaW4gY29uZmlnLnJlbW90ZSl7aWYo Y29uZmlnLnJlbW90ZS5oYXNPd25Qcm9wZXJ0eShtZXRob2QpKXtwcm94eVttZXRo b2RdPV9jcmVhdGVNZXRob2QoY29uZmlnLnJlbW90ZVttZXRob2RdLG1ldGhvZCk7 fX19XG5wdWIuZG93bi5pbml0KCk7fSxkZXN0cm95OmZ1bmN0aW9uKCl7Zm9yKHZh ciBtZXRob2QgaW4gY29uZmlnLnJlbW90ZSl7aWYoY29uZmlnLnJlbW90ZS5oYXNP d25Qcm9wZXJ0eShtZXRob2QpJiZwcm94eS5oYXNPd25Qcm9wZXJ0eShtZXRob2Qp KXtkZWxldGUgcHJveHlbbWV0aG9kXTt9fVxucHViLmRvd24uZGVzdHJveSgpO319 KTt9O30pKHdpbmRvdyxkb2N1bWVudCxsb2NhdGlvbix3aW5kb3cuc2V0VGltZW91 dCxkZWNvZGVVUklDb21wb25lbnQsZW5jb2RlVVJJQ29tcG9uZW50KTsiOwoKCi8q IDphc3NldF9wYWNrYWdlcl9jb21wYXRpYmlsaXR5LCAnY29uZmlnL2Fzc2V0X3Bh Y2thZ2VzLnltbCcgQCAxMzQ4NTE3NTc5ICovCi8qIHB1YmxpYy9qYXZhc2NyaXB0 cy9uZXdkb2MvdGVtcGxhdGVzX3Byb3RvdHlwZS5jb2ZmZWUgQCAxMzQ4NTE3NTc5

ICovCgooZnVuY3Rpb24oKXt2YXIgYWRkX21hbnlfdG8sZm9ybWF0X251bWJlcix0 LHRyYWNrX2V2ZW50LHRydW5jYXRlLF9faGFzUHJvcD17fS5oYXNPd25Qcm9wZXJ0 eSxfX2V4dGVuZHM9ZnVuY3Rpb24oY2hpbGQscGFyZW50KXtmb3IodmFyIGtleSBp biBwYXJlbnQpe2lmKF9faGFzUHJvcC5jYWxsKHBhcmVudCxrZXkpKWNoaWxkW2tl eV09cGFyZW50W2tleV07fWZ1bmN0aW9uIGN0b3IoKXt0aGlzLmNvbnN0cnVjdG9y PWNoaWxkO31jdG9yLnByb3RvdHlwZT1wYXJlbnQucHJvdG90eXBlO2NoaWxkLnBy b3RvdHlwZT1uZXcgY3RvcigpO2NoaWxkLl9fc3VwZXJfXz1wYXJlbnQucHJvdG90 eXBlO3JldHVybiBjaGlsZDt9O1NjcmliZC5OZXdkb2M9e307dHJ1bmNhdGU9ZnVu Y3Rpb24oc3RyLGxlbil7aWYobGVuPT1udWxsKXtsZW49NjA7fQpyZXR1cm4gc3Ry LnJlcGxhY2UobmV3IFJlZ0V4cCgiXigueyIrKGxlbi0zKSsifSlbXFxzXFxTXSok IiksZnVuY3Rpb24oXyxtKXtyZXR1cm4gbS5yZXBsYWNlKC9ccyskLywnJykrJy4u Lic7fSk7fTt0PWZ1bmN0aW9uKGtleSl7cmV0dXJuIEkxOG4udCgianMubmV3aG9t ZS5jZWxscy4iK2tleSk7fTt0cmFja19ldmVudD1mdW5jdGlvbih0eXBlLGxhYmVs LHZhbHVlLGludGVyYWN0aXZlKXtpZih2YWx1ZT09bnVsbCl7dmFsdWU9KFNjcmli ZC5jdXJyZW50X3VzZXI/MTowKTt9CnJldHVybiB0cmFja0V2ZW50KCJuZXdfZG9j Iix0eXBlLGxhYmVsLHZhbHVlLGludGVyYWN0aXZlKTt9O2FkZF9tYW55X3RvPWZ1 bmN0aW9uKGNvbnRhaW5lcixpdGVtcyl7dmFyIGZyYWdtZW50LGl0ZW0sX2ksX2xl bjtmcmFnbWVudD1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Zm9y KF9pPTAsX2xlbj1pdGVtcy5sZW5ndGg7X2k8X2xlbjtfaSsrKXtpdGVtPWl0ZW1z W19pXTtmcmFnbWVudC5hcHBlbmRDaGlsZChpdGVtWzBdKTt9CnJldHVybiBjb250 YWluZXIuYXBwZW5kKGZyYWdtZW50KTt9O2Zvcm1hdF9udW1iZXI9ZnVuY3Rpb24o bnVtKXtpZih0eXBlb2YgbnVtIT09Im51bWJlciIpe3JldHVybiAwO30KcmV0dXJu KCIiK251bSkuc3BsaXQoIiIpLnJldmVyc2UoKS5qb2luKCIiKS5tYXRjaCgvKC57 MSwzfSkvZykuam9pbigiLCIpLnNwbGl0KCIiKS5yZXZlcnNlKCkuam9pbigiIik7 fTtTY3JpYmQuTmV3ZG9jLkhvcml6U2xpZGVyPShmdW5jdGlvbigpe0hvcml6U2xp ZGVyLnByb3RvdHlwZS5zcGVlZD0iZmFzdCI7ZnVuY3Rpb24gSG9yaXpTbGlkZXIo Y29udGFpbmVyLHBhZ2Vfd2lkdGgsbnVtX3BhZ2VzKXt0aGlzLnBhZ2Vfd2lkdGg9 cGFnZV93aWR0aCE9bnVsbD9wYWdlX3dpZHRoOm51bGw7dGhpcy5udW1fcGFnZXM9 bnVtX3BhZ2VzIT1udWxsP251bV9wYWdlczoxO3RoaXMuY29udGFpbmVyPSQoY29u dGFpbmVyKTt0aGlzLmlubmVyPXRoaXMuY29udGFpbmVyLmRvd24oIi5pdGVtcyIp O3RoaXMucGFnZV93aWR0aD10aGlzLnBhZ2Vfd2lkdGh8fHRoaXMuY29udGFpbmVy LmdldFdpZHRoKCkrMTt0aGlzLnNldF9udW1fcGFnZXModGhpcy5udW1fcGFnZXMp O30KSG9yaXpTbGlkZXIucHJvdG90eXBlLmdvdG9fcGFnZT1mdW5jdGlvbihwKXty ZXR1cm4gdGhpcy5pbm5lci5zZXRTdHlsZSh7bWFyZ2luTGVmdDotKHRoaXMucGFn ZV93aWR0aCoocC0xKSkrJ3B4J30pO307SG9yaXpTbGlkZXIucHJvdG90eXBlLnJl c2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5uZXIuc2V0U3R5bGUoe21hcmdp bkxlZnQ6JzBweCd9KTt9O0hvcml6U2xpZGVyLnByb3RvdHlwZS5zZXRfbnVtX3Bh Z2VzPWZ1bmN0aW9uKG51bV9wYWdlcyl7dGhpcy5udW1fcGFnZXM9bnVtX3BhZ2Vz O3JldHVybiB0aGlzLmlubmVyLnNldFN0eWxlKHt3aWR0aDoiIisodGhpcy5udW1f cGFnZXMqdGhpcy5wYWdlX3dpZHRoKSsicHgifSk7fTtyZXR1cm4gSG9yaXpTbGlk ZXI7fSkoKTtTY3JpYmQuTmV3ZG9jLlBhZ2VEb3RzPShmdW5jdGlvbigpe1BhZ2VE b3RzLnByb3RvdHlwZS5kb3Rfc2l6ZT0xMjtQYWdlRG90cy5wcm90b3R5cGUudXBk YXRlX2ZpbGw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5maWxsLnNldFN0eWxlKHts ZWZ0OigodGhpcy5jdXJyZW50X3BhZ2UtMSkqdGhpcy5kb3Rfc2l6ZSp0aGlzLnBl cl9wYWdlKSsicHgiLHdpZHRoOih0aGlzLnBlcl9wYWdlKnRoaXMuZG90X3NpemUp KyJweCJ9KTt9O1BhZ2VEb3RzLnByb3RvdHlwZS5nb3RvX3BhZ2U9ZnVuY3Rpb24o Y3VycmVudF9wYWdlKXt0aGlzLmN1cnJlbnRfcGFnZT1jdXJyZW50X3BhZ2U7cmV0 dXJuIHRoaXMudXBkYXRlX2ZpbGwoKTt9O1BhZ2VEb3RzLnByb3RvdHlwZS5pc19m aXJzdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmN1cnJlbnRfcGFnZT09PTE7fTtQ YWdlRG90cy5wcm90b3R5cGUuaXNfbGFzdD1mdW5jdGlvbigpe3JldHVybiB0aGlz LmN1cnJlbnRfcGFnZT09PXRoaXMudG90YWxfcGFnZXM7fTtmdW5jdGlvbiBQYWdl RG90cyhjb250YWluZXIsdG90YWxfcGFnZXMscGVyX3BhZ2Upe3RoaXMuY29udGFp bmVyPWNvbnRhaW5lcjt0aGlzLnRvdGFsX3BhZ2VzPXRvdGFsX3BhZ2VzO3RoaXMu cGVyX3BhZ2U9cGVyX3BhZ2UhPW51bGw/cGVyX3BhZ2U6MTt0aGlzLmNvbnRhaW5l ci5zZXRTdHlsZSh7d2lkdGg6KHRoaXMudG90YWxfcGFnZXMqdGhpcy5kb3Rfc2l6 ZSp0aGlzLnBlcl9wYWdlKSsicHgifSk7dGhpcy5maWxsPXRoaXMuY29udGFpbmVy LmRvd24oIi5maWxsIik7dGhpcy5jdXJyZW50X3BhZ2U9MTt0aGlzLnVwZGF0ZV9m aWxsKCk7fQpyZXR1cm4gUGFnZURvdHM7fSkoKTtTY3JpYmQuTmV3ZG9jLkxpc3Q9 KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gTGlzdChjb250YWluZXIscGFyYW1zKXt0aGlz LnBhcmFtcz1wYXJhbXM7dGhpcy5jb250YWluZXI9JChjb250YWluZXIpO3RoaXMu

aXRlbXM9dGhpcy5wYXJhbXMuaXRlbXN8fFtdO3RoaXMucmVuZGVyKCk7dGhpcy5z ZXR1cF90cmFja2luZygpO30KTGlzdC5wcm90b3R5cGUuc2V0dXBfdHJhY2tpbmc9 ZnVuY3Rpb24oKXt2YXIgX3RoaXM9dGhpcztyZXR1cm4gdGhpcy5jb250YWluZXIu b24oImNsaWNrIixmdW5jdGlvbigpe3JldHVybiB0cmFja19ldmVudCgiY2xpY2si LCJyZWxhdGVkX2RvY3MiKTt9KTt9O0xpc3QucHJvdG90eXBlLmxpc3RfZWxtPWZ1 bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2xpc3RfZWxtfHwodGhpcy5fbGlzdF9lbG09 dGhpcy5jb250YWluZXJfbmFtZSYmdGhpcy5jb250YWluZXIuZG93bih0aGlzLmNv bnRhaW5lcl9uYW1lKXx8dGhpcy5jb250YWluZXIpO307TGlzdC5wcm90b3R5cGUu bWFrZV9jZWxsPWZ1bmN0aW9uKGl0ZW0saSl7cmV0dXJuIG51bGw7fTtMaXN0LnBy b3RvdHlwZS5jZWxsX2FkZGVkPWZ1bmN0aW9uKGNlbGwpe3JldHVybiB0eXBlb2Yg Y2VsbC5hZnRlcl9hZGQ9PT0iZnVuY3Rpb24iP2NlbGwuYWZ0ZXJfYWRkKCk6dm9p ZCAwO307TGlzdC5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKCl7cmV0dXJuIG51 bGw7fTtyZXR1cm4gTGlzdDt9KSgpO1NjcmliZC5OZXdkb2MuUGFnZWRMaXN0PShm dW5jdGlvbihfc3VwZXIpe19fZXh0ZW5kcyhQYWdlZExpc3QsX3N1cGVyKTtQYWdl ZExpc3QucHJvdG90eXBlLnBlcl9wYWdlPTM7UGFnZWRMaXN0LnByb3RvdHlwZS5j b250YWluZXJfbmFtZT0iLml0ZW1zIjtQYWdlZExpc3QucHJvdG90eXBlLmxvb3Bp bmc9ZmFsc2U7UGFnZWRMaXN0LnByb3RvdHlwZS5nZXRfZWxlbWVudD1mdW5jdGlv bihpKXtpZighdGhpcy5lbGVtZW50c1tpXSl7dGhpcy5lbGVtZW50c1tpXT10aGlz Lml0ZW1zW2ldO30KcmV0dXJuIHRoaXMuZWxlbWVudHNbaV07fTtmdW5jdGlvbiBQ YWdlZExpc3QoY29udGFpbmVyLHBhcmFtcyl7dGhpcy5wYXJhbXM9cGFyYW1zO3Ro aXMuY29udGFpbmVyPSQoY29udGFpbmVyKTt0aGlzLml0ZW1zPXRoaXMuY29udGFp bmVyLnNlbGVjdCgiLmNlbGwiKTt0aGlzLnRvb2xzPXRoaXMuY29udGFpbmVyLmRv d24oIi50b29scyIpO3RoaXMucGFnZV9waWNrZXI9dGhpcy5jb250YWluZXIuZG93 bigiLnBhZ2VfcGlja2VyIik7dGhpcy5lbGVtZW50cz1bXTt0aGlzLnJlbmRlcmVk X3BhZ2VzPVtdO3RoaXMucmVuZGVyKCk7dGhpcy5zZXR1cF90cmFja2luZygpO30K UGFnZWRMaXN0LnByb3RvdHlwZS5nb3RvX3BhZ2U9ZnVuY3Rpb24ocCl7dGhpcy5k b3RzLmdvdG9fcGFnZShwKTtyZXR1cm4gdGhpcy51cGRhdGVfcGFnZXJzKCk7fTtQ YWdlZExpc3QucHJvdG90eXBlLmNoYW5nZV9wYWdlPWZ1bmN0aW9uKGRwKXt2YXIg bWF4LHA7bWF4PXRoaXMuZG90cy50b3RhbF9wYWdlcztwPXRoaXMuZG90cy5jdXJy ZW50X3BhZ2UrZHA7aWYocD5tYXgpe3A9cC1tYXg7fQppZihwPD0wKXtwPXArbWF4 O30KcmV0dXJuIHRoaXMuZ290b19wYWdlKHApO307UGFnZWRMaXN0LnByb3RvdHlw ZS5lbGVtZW50c19mb3JfcGFnZT1mdW5jdGlvbihwKXt2YXIgZW5kLGksc3RhcnQs X2ksX3Jlc3VsdHM7c3RhcnQ9dGhpcy5wZXJfcGFnZSoocC0xKTtlbmQ9TWF0aC5t aW4oc3RhcnQrdGhpcy5wZXJfcGFnZSx0aGlzLml0ZW1zLmxlbmd0aCk7X3Jlc3Vs dHM9W107Zm9yKGk9X2k9c3RhcnQ7c3RhcnQ8PWVuZD9faTxlbmQ6X2k+ZW5kO2k9 c3RhcnQ8PWVuZD8rK19pOi0tX2kpe19yZXN1bHRzLnB1c2godGhpcy5nZXRfZWxl bWVudChpKSk7fQpyZXR1cm4gX3Jlc3VsdHM7fTtQYWdlZExpc3QucHJvdG90eXBl LnJlbmRlcj1mdW5jdGlvbigpe3RoaXMucmVuZGVyZWRfcGFnZXM9W107dGhpcy5k b3RzPW51bGw7dGhpcy5saXN0X2VsbSgpLmVtcHR5KCk7cmV0dXJuIHRoaXMudXBk YXRlX3BhZ2VycygpO307UGFnZWRMaXN0LnByb3RvdHlwZS51cGRhdGVfcGFnZXJz PWZ1bmN0aW9uKCl7dmFyIHRvdGFsX3BhZ2VzLF90aGlzPXRoaXM7aWYodGhpcy5p dGVtcy5sZW5ndGg+dGhpcy5wZXJfcGFnZSl7dGhpcy50b29scy5zaG93KCk7aWYo IXRoaXMuZG90cyl7dG90YWxfcGFnZXM9TWF0aC5jZWlsKHRoaXMuaXRlbXMubGVu Z3RoL3RoaXMucGVyX3BhZ2UpO3RoaXMuZG90cz1uZXcgU2NyaWJkLk5ld2RvYy5Q YWdlRG90cyh0aGlzLnBhZ2VfcGlja2VyLHRvdGFsX3BhZ2VzKTt0aGlzLmRvdHMu Y3VycmVudF9wYWdlPTE7KHRoaXMudG9vbHMuZG93bigiLmluZGljYXRvciIpKS5v YnNlcnZlKCJjbGljayIsZnVuY3Rpb24oZSl7dHJhY2tfZXZlbnQoImNsaWNrIiwi IisoX3RoaXMuY29udGFpbmVyLnJlYWRBdHRyaWJ1dGUoImlkIikpKyJfZG90cyIp O190aGlzLmNoYW5nZV9wYWdlKDEpO3JldHVybiBmYWxzZTt9KTt0aGlzLnRvb2xz Lm9ic2VydmUoImNsaWNrIixmdW5jdGlvbihlKXt2YXIgbGFiZWwsdGFyZ2V0O3Rh cmdldD0kKGUudGFyZ2V0KTtpZighKHRhcmdldC5oYXNDbGFzc05hbWUoIm5leHRf cGFnZSIpfHx0YXJnZXQuaGFzQ2xhc3NOYW1lKCJwcmV2X3BhZ2UiKSkpe3JldHVy bjt9CmxhYmVsPXRhcmdldC5oYXNDbGFzc05hbWUoIm5leHRfcGFnZSIpPyJOZXh0 IjoiUHJldiI7dHJhY2tfZXZlbnQoImNsaWNrIiwiIisoX3RoaXMuY29udGFpbmVy LnJlYWRBdHRyaWJ1dGUoImlkIikpKyJfIitsYWJlbCk7aWYodGFyZ2V0Lmhhc0Ns YXNzTmFtZSgiZGlzYWJsZWQiKSl7cmV0dXJuO30KX3RoaXMuY2hhbmdlX3BhZ2Uo dGFyZ2V0Lmhhc0NsYXNzTmFtZSgibmV4dF9wYWdlIik/MTotMSk7cmV0dXJuIGZh bHNlO30pO30KaWYodGhpcy5kb3RzLmlzX2ZpcnN0KCkpe3RoaXMudG9vbHMuZG93 bigiLnByZXZfcGFnZSIpLmFkZENsYXNzTmFtZSgiZGlzYWJsZWQiKTt9ZWxzZXt0 aGlzLnRvb2xzLmRvd24oIi5wcmV2X3BhZ2UiKS5yZW1vdmVDbGFzc05hbWUoImRp

c2FibGVkIik7fQppZih0aGlzLmRvdHMuaXNfbGFzdCgpJiYhdGhpcy5sb29waW5n KXtyZXR1cm4gdGhpcy50b29scy5kb3duKCIubmV4dF9wYWdlIikuYWRkQ2xhc3NO YW1lKCJkaXNhYmxlZCIpO31lbHNle3JldHVybiB0aGlzLnRvb2xzLmRvd24oIi5u ZXh0X3BhZ2UiKS5yZW1vdmVDbGFzc05hbWUoImRpc2FibGVkIik7fX1lbHNle3Jl dHVybiB0aGlzLnRvb2xzLmhpZGUoKTt9fTtyZXR1cm4gUGFnZWRMaXN0O30pKFNj cmliZC5OZXdkb2MuTGlzdCk7U2NyaWJkLk5ld2RvYy5TbGlkaW5nTGlzdD0oZnVu Y3Rpb24oX3N1cGVyKXtfX2V4dGVuZHMoU2xpZGluZ0xpc3QsX3N1cGVyKTtmdW5j dGlvbiBTbGlkaW5nTGlzdChjb250YWluZXIscGVyX3BhZ2Upe3RoaXMuY29udGFp bmVyPWNvbnRhaW5lcjt0aGlzLnBlcl9wYWdlPXBlcl9wYWdlO3RoaXMuc2xpZGVy PW5ldyBTY3JpYmQuTmV3ZG9jLkhvcml6U2xpZGVyKCQoY29udGFpbmVyKS5kb3du KCIudmlld3BvcnQiKSk7U2xpZGluZ0xpc3QuX19zdXBlcl9fLmNvbnN0cnVjdG9y LmFwcGx5KHRoaXMsYXJndW1lbnRzKTt9ClNsaWRpbmdMaXN0LnByb3RvdHlwZS5n b3RvX3BhZ2U9ZnVuY3Rpb24ocCl7U2xpZGluZ0xpc3QuX19zdXBlcl9fLmdvdG9f cGFnZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIHRoaXMuc2xpZGVyLmdv dG9fcGFnZShwKTt9O1NsaWRpbmdMaXN0LnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rp b24oKXt2YXIgX3JlZjtTbGlkaW5nTGlzdC5fX3N1cGVyX18ucmVuZGVyLmFwcGx5 KHRoaXMsYXJndW1lbnRzKTt0aGlzLnNsaWRlci5yZXNldCgpO3JldHVybiB0aGlz LnNsaWRlci5zZXRfbnVtX3BhZ2VzKCgoX3JlZj10aGlzLmRvdHMpIT1udWxsP19y ZWYudG90YWxfcGFnZXM6dm9pZCAwKXx8MSk7fTtyZXR1cm4gU2xpZGluZ0xpc3Q7 fSkoU2NyaWJkLk5ld2RvYy5QYWdlZExpc3QpO30pLmNhbGwodGhpcyk7CgoKLyog OmZpbGVzLCAncHVibGljL2phdmFzY3JpcHRzL3NoYXJlZCcsIC4uLiBAIDEzNDg1 MTc1NzkgKi8KLyogcHVibGljL2phdmFzY3JpcHRzL3NoYXJlZC9hbGVydHMuanMg QCAxMzQ4NTE3NTc5ICovCgppZighd2luZG93LlNjcmliZCl2YXIgU2NyaWJkPXt9 O1NjcmliZC5hbGVydHNNYW5hZ2VyPUNsYXNzLmNyZWF0ZSh7aW5pdGlhbGl6ZTpm dW5jdGlvbigpe30scmVuZGVyOmZ1bmN0aW9uKHR5cGUsZWwsbWVzc2FnZSxvcHRp b25zKXtvcHRpb25zPU9iamVjdC5leHRlbmQoe2F1dG9fZmFkZTp0cnVlLGVsZW1l bnRfdG9fZmFkZTpudWxsLGRlbGF5OjcsZHVyYXRpb246MS4wfSxvcHRpb25zfHx7 fSk7ZWw9JChlbCk7ZWwuc2hvdygpO2VsLnVwZGF0ZSh0aGlzW3R5cGUrJ190ZW1w bGF0ZSddLmV2YWx1YXRlKHttZXNzYWdlOm1lc3NhZ2V9KSk7ZG9jdW1lbnQuZmly ZSgnc2NyaWJkOmRvbV9oZWlnaHRfY2hhbmdlZCcpO3ZhciBlbGVtZW50X3RvX2Zh ZGU9b3B0aW9ucy5lbGVtZW50X3RvX2ZhZGU/JChvcHRpb25zLmVsZW1lbnRfdG9f ZmFkZSk6ZWw7aWYob3B0aW9ucy5hdXRvX2ZhZGUpe3RoaXMuZGlzbWlzcy5jdXJy eShlbGVtZW50X3RvX2ZhZGUsb3B0aW9ucy5kdXJhdGlvbikuZGVsYXkob3B0aW9u cy5kZWxheSk7fX0sZGlzbWlzczpmdW5jdGlvbihlbCxkdXJhdGlvbil7ZHVyYXRp b249ZHVyYXRpb258fDE7JChlbCkuZmFkZSh7ZHVyYXRpb246ZHVyYXRpb24sYWZ0 ZXJGaW5pc2g6ZnVuY3Rpb24oKXtkb2N1bWVudC5maXJlKCdzY3JpYmQ6ZG9tX2hl aWdodF9jaGFuZ2VkJyk7fX0pO30scmVuZGVyX25vX2ZhZGU6ZnVuY3Rpb24odHlw ZSxlbCxtZXNzYWdlLG9wdGlvbnMpe29wdGlvbnM9T2JqZWN0LmV4dGVuZCh7YXV0 b19mYWRlOmZhbHNlfSxvcHRpb25zfHx7fSk7dGhpcy5yZW5kZXIodHlwZSxlbCxt ZXNzYWdlLG9wdGlvbnMpO30sZXJyb3JfdGVtcGxhdGU6bmV3IFRlbXBsYXRlKCI8 ZGl2IGNsYXNzPVwiYXV0b2dlbl9jbGFzc192aWV3c19zaGFyZWRfYWxlcnRzX2Vy cm9yIGF1dG9nZW5fY2xhc3Nfdmlld3Nfc2hhcmVkX2FsZXJ0c19iYXNlIGVycm9y X2FsZXJ0XCI+PGRpdiBjbGFzcz1cImlubmVyXCI+I3ttZXNzYWdlfTwvZGl2Pjwv ZGl2PiIpLHN1Y2Nlc3NfdGVtcGxhdGU6bmV3IFRlbXBsYXRlKCI8ZGl2IGNsYXNz PVwiYXV0b2dlbl9jbGFzc192aWV3c19zaGFyZWRfYWxlcnRzX3N1Y2Nlc3MgYXV0 b2dlbl9jbGFzc192aWV3c19zaGFyZWRfYWxlcnRzX2Jhc2VcIj48ZGl2IGNsYXNz PVwiaW5uZXJcIj4je21lc3NhZ2V9PC9kaXY+PC9kaXY+Iiksc3VjY2Vzc19ibHVl X3RlbXBsYXRlOm5ldyBUZW1wbGF0ZSgiPGRpdiBjbGFzcz1cImF1dG9nZW5fY2xh c3Nfdmlld3Nfc2hhcmVkX2FsZXJ0c19zdWNjZXNzX2JsdWUgYXV0b2dlbl9jbGFz c192aWV3c19zaGFyZWRfYWxlcnRzX2Jhc2VcIj48ZGl2IGNsYXNzPVwiaW5uZXJc Ij4je21lc3NhZ2V9PC9kaXY+PC9kaXY+Iiksc3VjY2Vzc19yZWRfdGVtcGxhdGU6 bmV3IFRlbXBsYXRlKCI8ZGl2IGNsYXNzPVwiYXV0b2dlbl9jbGFzc192aWV3c19z aGFyZWRfYWxlcnRzX3N1Y2Nlc3NfcmVkIGF1dG9nZW5fY2xhc3Nfdmlld3Nfc2hh cmVkX2FsZXJ0c19iYXNlXCI+PGRpdiBjbGFzcz1cImlubmVyXCI+I3ttZXNzYWdl fTwvZGl2PjwvZGl2PiIpLHByb2dyZXNzX3RlbXBsYXRlOm5ldyBUZW1wbGF0ZSgi PGRpdiBjbGFzcz1cImF1dG9nZW5fY2xhc3Nfdmlld3Nfc2hhcmVkX2FsZXJ0c19w cm9ncmVzcyBhdXRvZ2VuX2NsYXNzX3ZpZXdzX3NoYXJlZF9hbGVydHNfYmFzZVwi PjxkaXYgY2xhc3M9XCJpbm5lclwiPjxpbWcgc3JjPVwiL2ltYWdlcy9zaGFyZWQv YWxlcnRzL3NwaW5uZXIuZ2lmXCIgLz4je21lc3NhZ2V9PC9kaXY+PC9kaXY+Iil9 KTsoZnVuY3Rpb24oKXtbJ2Vycm9yJywncHJvZ3Jlc3MnXS5lYWNoKGZ1bmN0aW9u

KHR5cGUpe1NjcmliZC5hbGVydHNNYW5hZ2VyLnByb3RvdHlwZVt0eXBlXT1TY3Jp YmQuYWxlcnRzTWFuYWdlci5wcm90b3R5cGUucmVuZGVyX25vX2ZhZGUuY3Vycnko dHlwZSk7fSk7WydzdWNjZXNzJywnc3VjY2Vzc19ibHVlJywnc3VjY2Vzc19yZWQn XS5lYWNoKGZ1bmN0aW9uKHR5cGUpe1NjcmliZC5hbGVydHNNYW5hZ2VyLnByb3Rv dHlwZVt0eXBlXT1TY3JpYmQuYWxlcnRzTWFuYWdlci5wcm90b3R5cGUucmVuZGVy LmN1cnJ5KHR5cGUpO30pO30pKCk7U2NyaWJkLkFsZXJ0cz1uZXcgU2NyaWJkLmFs ZXJ0c01hbmFnZXIoKTsKCgovKiA6ZmlsZXMsICdhcHAvdmlld3MnLCAuLi4gQCAx MzQ4NTE3NTI2ICovCi8qIGFwcC92aWV3cy9sYXlvdXRzL2dsb2JhbF9zZWFyY2gu anMgQCAxMzQ4NTE3NTI2ICovCgpTY3JpYmQuU2VhcmNoQXV0b0NvbXBsZXRlcj0o ZnVuY3Rpb24oKXtmdW5jdGlvbiBEYXRhU291cmNlKGRhdGEsY2F0ZWdvcnkpe3Ro aXMuZGF0YT1kYXRhO3RoaXMuY2F0ZWdvcnk9Y2F0ZWdvcnk7fQpEYXRhU291cmNl LnByb3RvdHlwZT17ZmluZDpmdW5jdGlvbihxdWVyeSl7dmFyIG1hdGNoZXM9W107 dGhpcy5kYXRhLmVhY2goZnVuY3Rpb24oZWxlbWVudCl7aWYodGhpcy5jYXRlZ29y eT09PSJkb2N1bWVudHMiKXt2YXIgcG9zPWZpcnN0TWF0Y2hlZFBvc2l0aW9uKGVs ZW1lbnQubixxdWVyeSk7ZWxlbWVudC50aXRsZT1lbGVtZW50Lm47ZWxlbWVudC51 cmw9U2NyaWJkLkRvY3VtZW50VXJsLnVybEJ5RG9jSWQoZWxlbWVudC5pLHtyZWxh dGl2ZV9wYXRoOnRydWV9KTt9ZWxzZSBpZih0aGlzLmNhdGVnb3J5PT09InVzZXJz Inx8dGhpcy5jYXRlZ29yeT09PSJwdWJsaXNoZXJzIil7dmFyIHBvcz1maXJzdE1h dGNoZWRQb3NpdGlvbihlbGVtZW50LnVuLHF1ZXJ5KTtlbGVtZW50LnRpdGxlPWVs ZW1lbnQudW47aWYocG9zPDApe3Bvcz1maXJzdE1hdGNoZWRQb3NpdGlvbihlbGVt ZW50LnVsLHF1ZXJ5KTtlbGVtZW50LnRpdGxlPWVsZW1lbnQudWw7fQp2YXIgaWQ9 KHRoaXMuY2F0ZWdvcnk9PT0idXNlcnMiP2VsZW1lbnQuaTplbGVtZW50LnVpKTtl bGVtZW50LnVybD0nL3VzZXJzLycraWQ7fWVsc2UgaWYodGhpcy5jYXRlZ29yeT09 PSJkb2N1bWVudF9jb2xsZWN0aW9ucyJ8fHRoaXMuY2F0ZWdvcnk9PT0ic2NyaWJk X3BhZ2VzIil7ZWxlbWVudC50aXRsZT1lbGVtZW50Lm47dmFyIHBvcz1maXJzdE1h dGNoZWRQb3NpdGlvbihlbGVtZW50Lm4scXVlcnkpO2lmKHRoaXMuY2F0ZWdvcnk9 PT0iZG9jdW1lbnRfY29sbGVjdGlvbnMiKXtlbGVtZW50LnVybD0nL2RvY3VtZW50 X2NvbGxlY3Rpb25zLycrZWxlbWVudC5pO31lbHNle2VsZW1lbnQudXJsPWVsZW1l bnQudTt9fQplbGVtZW50LnNhbml0aXplZFRpdGxlPWVsZW1lbnQudGl0bGUmJmVs ZW1lbnQudGl0bGUuZXNjYXBlSFRNTCgpO2VsZW1lbnQuc2FuaXRpemVkVXNlck5h bWU9ZWxlbWVudC51biYmZWxlbWVudC51bi5lc2NhcGVIVE1MKCk7aWYocG9zPi0x KXttYXRjaGVzLnB1c2goW2VsZW1lbnQscG9zLHF1ZXJ5Lmxlbmd0aF0pO31lbHNl IGlmKGVsZW1lbnQuZSYmZWxlbWVudC5lLmluZGV4T2YocXVlcnkpPi0xKXttYXRj aGVzLnB1c2goW2VsZW1lbnQsMCwwXSk7fX0uYmluZCh0aGlzKSk7cmV0dXJuIG1h dGNoZXM7fSxzaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGF0YS5sZW5ndGg7 fX07ZnVuY3Rpb24gUmVzdWx0KG9iaixwb3MsbGVuKXt0aGlzLm9iaj1vYmo7dGhp cy5wb3M9cG9zO3RoaXMubGVuPWxlbjt0aGlzLmRvbV9pZD1udWxsO3RoaXMubmV4 dD1udWxsO3RoaXMucHJldj1udWxsO3RoaXMuZG9tX2lkPSJhY19yZXN1bHRfIit0 aGlzLm9iai50KyJfIit0aGlzLm9iai5pO30KUmVzdWx0LnByb3RvdHlwZT17cmVu ZGVyOmZ1bmN0aW9uKHRlbXBsYXRlKXt0aGlzLm9iai5tb2RfdGl0bGU9dGhpcy5v YmoudGl0bGUuc3Vic3RyKDAsdGhpcy5wb3MpLmVzY2FwZUhUTUwoKSsiPHN0cm9u Zz4iKwp0aGlzLm9iai50aXRsZS5zdWJzdHIodGhpcy5wb3MsdGhpcy5sZW4pLmVz Y2FwZUhUTUwoKSsiPC9zdHJvbmc+IisKdGhpcy5vYmoudGl0bGUuc3Vic3RyKHRo aXMucG9zK3RoaXMubGVuLHRoaXMub2JqLnRpdGxlLmxlbmd0aCkuZXNjYXBlSFRN TCgpO3JldHVybigiPHNwYW4gaWQ9JyIrdGhpcy5kb21faWQrIic+Iit0ZW1wbGF0 ZSsiPC9zcGFuPiIpLmludGVycG9sYXRlKHRoaXMub2JqKTt9LGVsZW1lbnQ6ZnVu Y3Rpb24oKXtpZih0aGlzLl9lbGVtZW50KXtyZXR1cm4gdGhpcy5fZWxlbWVudDt9 CnRoaXMuX2VsZW1lbnQ9JCh0aGlzLmRvbV9pZCk7cmV0dXJuIHRoaXMuX2VsZW1l bnQ7fX07ZnVuY3Rpb24gQ29udGFpbmVyKGVsZW1lbnQsdGl0bGUpe3RoaXMuZWxl bWVudD1lbGVtZW50O3RoaXMudGl0bGU9dGl0bGU7dGhpcy5yZXN1bHRzPVtdO30K Q29udGFpbmVyLnByb3RvdHlwZT17dXBkYXRlV2l0aDpmdW5jdGlvbihyZXN1bHRz KXt0aGlzLnJlc3VsdHM9W107aWYocmVzdWx0cy5sZW5ndGg9PT0wKXt0aGlzLmVs ZW1lbnQuaGlkZSgpO3JldHVybjt9CnRoaXMuZWxlbWVudC5zaG93KCk7dmFyIGh0 bWw9WyI8aDQ+Iit0aGlzLnRpdGxlLmdzdWIoJ18nLCcgJykrIjwvaDQ+PHVsPiJd O3ZhciB0aGF0PXRoaXM7cmVzdWx0cy5lYWNoKGZ1bmN0aW9uKHJlc3VsdCl7dmFy IG9iaj1yZXN1bHRbMF07dmFyIHBvcz1yZXN1bHRbMV07dmFyIGxlbj1yZXN1bHRb Ml07dGhhdC5yZXN1bHRzLnB1c2gobmV3IFJlc3VsdChvYmoscG9zLGxlbikpO30p O3RoaXMucmVzdWx0cy5lYWNoKGZ1bmN0aW9uKHJlc3VsdCl7aHRtbC5wdXNoKHJl c3VsdC5yZW5kZXIodGhhdC50ZW1wbGF0ZSkpO30pO2h0bWwucHVzaCgnPC91bD4n KTt0aGlzLmVsZW1lbnQuZG93bignLmFjX21haW4nKS51cGRhdGUoaHRtbC5qb2lu

KCcnKSk7fSxjbGVhcjpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5kb3duKCcuYWNf bWFpbicpLnVwZGF0ZSgnJyk7fX07ZnVuY3Rpb24gZmlyc3RNYXRjaGVkUG9zaXRp b24odGV4dCxxdWVyeSl7dGV4dD10ZXh0LnRvTG93ZXJDYXNlKCk7aWYodGV4dC5z dWJzdHIoMCxxdWVyeS5sZW5ndGgpPT09cXVlcnkpe3JldHVybiBwb3M9MDt9CnZh ciBwb3M9dGV4dC5pbmRleE9mKCIgIitxdWVyeSk7aWYocG9zPi0xKXtwb3MrKzt9 CnJldHVybiBwb3M7fQpmdW5jdGlvbiBub3JtYWxpemVRdWVyeShxdWVyeSl7cmV0 dXJuIHF1ZXJ5P3F1ZXJ5LnN0cmlwKCkudG9Mb3dlckNhc2UoKTpxdWVyeTt9CnZh ciBTZWFyY2hBdXRvY29tcGxldGVyPWZ1bmN0aW9uKGZpZWxkLHJlc3VsdHNDb250 YWluZXJJZCxrZXlTdHJva2VCdWZmZXJEZWxheSl7dGhpcy5maWVsZD1maWVsZDt0 aGlzLnJlc3VsdHNDb250YWluZXJJZD1yZXN1bHRzQ29udGFpbmVySWQ7dGhpcy5z ZWxlY3RlZEVsZW1lbnQ9bnVsbDt0aGlzLnJlc3VsdHM9W107dGhpcy5jYXRlZ29y aWVzPVtdO3RoaXMuYnVmZmVyS2V5VGltZXI9bnVsbDt0aGlzLmtleVN0cm9rZUJ1 ZmZlckRlbGF5PWtleVN0cm9rZUJ1ZmZlckRlbGF5fHwyMDA7RXZlbnQub2JzZXJ2 ZSh3aW5kb3csImtleXVwIixmdW5jdGlvbihlKXtpZighJCh0aGlzLnJlc3VsdHND b250YWluZXJJZCkudmlzaWJsZSgpKXJldHVybjtpZigoZS5rZXlDb2RlPT09MTN8 fGUua2V5Q29kZT09OSkmJnRoaXMucmVzdWx0cy5sZW5ndGg+MCYmdGhpcy5zZWxl Y3RlZEVsZW1lbnQpe2xvY2F0aW9uLmhyZWY9dGhpcy5zZWxlY3RlZEVsZW1lbnQu b2JqLnVybDt9ZWxzZSBpZihlLmtleUNvZGU9PTM4KXtpZih0aGlzLnNlbGVjdGVk RWxlbWVudD09PW51bGwpe3RoaXMuY2hhbmdlU2VsZWN0ZWRFbGVtZW50KHRoaXMu cmVzdWx0c1t0aGlzLnJlc3VsdHMubGVuZ3RoLTFdKTt9ZWxzZXt0aGlzLmNoYW5n ZVNlbGVjdGVkRWxlbWVudCh0aGlzLnNlbGVjdGVkRWxlbWVudC5wcmV2KTt9CmUu c3RvcCgpO31lbHNlIGlmKGUua2V5Q29kZT09NDApe2lmKHRoaXMuc2VsZWN0ZWRF bGVtZW50PT09bnVsbCl7dGhpcy5jaGFuZ2VTZWxlY3RlZEVsZW1lbnQodGhpcy5y ZXN1bHRzWzBdKTt9ZWxzZXt0aGlzLmNoYW5nZVNlbGVjdGVkRWxlbWVudCh0aGlz LnNlbGVjdGVkRWxlbWVudC5uZXh0KTt9CmUuc3RvcCgpO31lbHNlIGlmKGUua2V5 Q29kZT09Mjcpe2Uuc3RvcCgpO3RoaXMuaGlkZSgpO319LmJpbmQodGhpcykpO0V2 ZW50Lm9ic2VydmUod2luZG93LCJjbGljayIsZnVuY3Rpb24oZSl7aWYoZS5maW5k RWxlbWVudCgpIT09dGhpcy5maWVsZCl7dGhpcy5oaWRlKCk7fX0uYmluZCh0aGlz KSk7RXZlbnQub2JzZXJ2ZSh0aGlzLmZpZWxkLCJrZXl1cCIsdGhpcy5idWZmZXJl ZEtleXVwLmJpbmQodGhpcykpO3RoaXMuZGF0YVNvdXJjZXM9W107dGhpcy5jb250 YWluZXJzPXt9O307U2VhcmNoQXV0b2NvbXBsZXRlci5wcm90b3R5cGU9e2hpZGU6 ZnVuY3Rpb24oKXt0aGlzLnJlc3VsdHM9W107dGhpcy5zZWxlY3RlZEVsZW1lbnQ9 bnVsbDskKHRoaXMucmVzdWx0c0NvbnRhaW5lcklkKS5oaWRlKCk7dGhpcy5jYXRl Z29yaWVzLmVhY2goZnVuY3Rpb24oY2F0ZWdvcnkpe3RoaXMuY29udGFpbmVyc1tj YXRlZ29yeV0uY2xlYXIoKTt9LmJpbmQodGhpcykpO30sYnVmZmVyZWRLZXl1cDpm dW5jdGlvbigpe2lmKHRoaXMuYnVmZmVyZWRRdWVyeSE9PXRoaXMuZmllbGQuZ2V0 VmFsdWUoKSl7d2luZG93LmNsZWFyVGltZW91dCh0aGlzLmJ1ZmZlcktleVRpbWVy KTt0aGlzLmJ1ZmZlcmVkUXVlcnk9dGhpcy5maWVsZC5nZXRWYWx1ZSgpO3ZhciBx dWVyeT1ub3JtYWxpemVRdWVyeSh0aGlzLmJ1ZmZlcmVkUXVlcnkpO3ZhciB0aGF0 PXRoaXM7dGhpcy5idWZmZXJLZXlUaW1lcj13aW5kb3cuc2V0VGltZW91dChmdW5j dGlvbigpe3RoYXQuc2VydmljZS5maW5kKHF1ZXJ5LHtmb3VuZDpmdW5jdGlvbihq c29uKXt0aGF0LmluaXREYXRhU291cmNlcyhqc29uKTt0aGF0LmZpbmQocXVlcnkp OyQodGhhdC5yZXN1bHRzQ29udGFpbmVySWQpLnNob3coKTt9LG5vdEZvdW5kOmZ1 bmN0aW9uKCl7dGhhdC5oaWRlKCk7fX0pO30scXVlcnkubGVuZ3RoPT0xJiYoKHF1 ZXJ5Pj0nYScmJnF1ZXJ5PD0neicpfHwocXVlcnk+PSdBJyYmcXVlcnk8PSdaJykp PzA6dGhhdC5rZXlTdHJva2VCdWZmZXJEZWxheSk7fX0saW5pdERhdGFTb3VyY2Vz OmZ1bmN0aW9uKGRhdGEpe3ZhciB0b3RhbD0wCnRoaXMuZGF0YVNvdXJjZXM9W107 Zm9yKHZhciBjYXRlZ29yeSBpbiBkYXRhKXt2YXIgZHM9bmV3IERhdGFTb3VyY2Uo ZGF0YVtjYXRlZ29yeV0sY2F0ZWdvcnkpO3RvdGFsKz1kcy5zaXplKCk7dGhpcy5k YXRhU291cmNlcy5wdXNoKGRzKTt9CnJldHVybiB0b3RhbDt9LGluaXQ6ZnVuY3Rp b24oZGF0YSl7dGhpcy5pbml0RGF0YVNvdXJjZXMoZGF0YSk7Zm9yKHZhciBjYXRl Z29yeSBpbiBkYXRhKXt0aGlzLmNhdGVnb3JpZXMucHVzaChjYXRlZ29yeSk7dmFy IHNlY3Rpb25JZD10aGlzLnJlc3VsdHNDb250YWluZXJJZCsiXyIrY2F0ZWdvcnk7 aWYoISQoc2VjdGlvbklkKSl7JCh0aGlzLnJlc3VsdHNDb250YWluZXJJZCkuaW5z ZXJ0KCI8ZGl2IGlkPScje2lkfScgY2xhc3M9J2FjX3NlY3Rpb24nPjwvZGl2PiIu aW50ZXJwb2xhdGUoe2lkOnNlY3Rpb25JZH0pKTt9CnZhciBjb250YWluZXI9bmV3 IENvbnRhaW5lcigkKHNlY3Rpb25JZCksY2F0ZWdvcnkpO3RoaXMuY29udGFpbmVy c1tjYXRlZ29yeV09Y29udGFpbmVyO2lmKGNhdGVnb3J5PT09InNjcmliZF9wYWdl cyIpe2NvbnRhaW5lci50ZW1wbGF0ZT0iPGEgaHJlZj0nI3t1cmx9Jz48bGk+PHA+ I3ttb2RfdGl0bGV9PC9wPjwvbGk+PC9hPiI7fWVsc2UgaWYoY2F0ZWdvcnk9PT0n

dXNlcnMnfHxjYXRlZ29yeT09PSdwdWJsaXNoZXJzJyl7Y29udGFpbmVyLnRlbXBs YXRlPSI8YSBocmVmPScje3VybH0nPjxsaT48aW1nIHNyYz0nI3t0dX0nIGFsdD0n I3tzYW5pdGl6ZWRUaXRsZX0nIC8+PHA+I3ttb2RfdGl0bGV9PC9wPjwvbGk+PC9h PiI7fWVsc2UgaWYoY2F0ZWdvcnk9PT0iZG9jdW1lbnRzInx8Y2F0ZWdvcnk9PT0i ZG9jdW1lbnRfY29sbGVjdGlvbnMiKXtjb250YWluZXIudGVtcGxhdGU9IjxhIGhy ZWY9JyN7dXJsfSc+PGxpPjxpbWcgc3JjPScje3R1fScgYWx0PScje3Nhbml0aXpl ZFRpdGxlfScgLz48ZGl2PjxwPiN7bW9kX3RpdGxlfTwvcD48cCBjbGFzcz0nYWNf dXNlcl9jcmVkaXQnPjxzcGFuIGNsYXNzPSdsYWJlbCc+RnJvbTo8L3NwYW4+ICN7 c2FuaXRpemVkVXNlck5hbWV9PC9wPjwvZGl2PjwvbGk+PC9hPiI7fX19LGNoYW5n ZVNlbGVjdGVkRWxlbWVudDpmdW5jdGlvbihuZXdFbGVtZW50KXtpZih0aGlzLnNl bGVjdGVkRWxlbWVudCE9PW51bGwpe3ZhciBzZWxlY3RlZEVsZW1lbnQ9dGhpcy5z ZWxlY3RlZEVsZW1lbnQuZWxlbWVudCgpO2lmKHNlbGVjdGVkRWxlbWVudCl7c2Vs ZWN0ZWRFbGVtZW50LmRvd24oKS5yZW1vdmVDbGFzc05hbWUoImhpZ2hsaWdodCIp O319CnRoaXMuc2VsZWN0ZWRFbGVtZW50PW5ld0VsZW1lbnQ7aWYobmV3RWxlbWVu dCE9PW51bGwpe3ZhciBzZWxlY3RlZEVsZW1lbnQ9dGhpcy5zZWxlY3RlZEVsZW1l bnQuZWxlbWVudCgpO2lmKHNlbGVjdGVkRWxlbWVudCl7c2VsZWN0ZWRFbGVtZW50 LmRvd24oKS5hZGRDbGFzc05hbWUoImhpZ2hsaWdodCIpO319fSxhZGRLZXliaW5k aW5nczpmdW5jdGlvbigpe3ZhciB0aGF0PXRoaXM7dGhpcy5yZXN1bHRzLmVhY2go ZnVuY3Rpb24ocmVzdWx0KXtFdmVudC5vYnNlcnZlKHJlc3VsdC5lbGVtZW50KCks Im1vdXNlb3ZlciIsZnVuY3Rpb24oZSl7dGhhdC5jaGFuZ2VTZWxlY3RlZEVsZW1l bnQocmVzdWx0KTt9KTt9KTt9LGZpbmQ6ZnVuY3Rpb24ocXVlcnkpe3RoaXMucmVz dWx0cz1bXTt0aGlzLnNlbGVjdGVkRWxlbWVudD1udWxsO2Zvcih2YXIgaT0wO2k8 dGhpcy5kYXRhU291cmNlcy5sZW5ndGg7aSsrKXt2YXIgZGF0YVNvdXJjZT10aGlz LmRhdGFTb3VyY2VzW2ldO3ZhciBjb250YWluZXI9dGhpcy5jb250YWluZXJzW2Rh dGFTb3VyY2UuY2F0ZWdvcnldO2lmKGNvbnRhaW5lcil7Y29udGFpbmVyLnVwZGF0 ZVdpdGgoZGF0YVNvdXJjZS5maW5kKHF1ZXJ5KSk7dGhpcy5yZXN1bHRzPXRoaXMu cmVzdWx0cy5jb25jYXQoY29udGFpbmVyLnJlc3VsdHMpO319CmlmKHRoaXMucmVz dWx0cy5sZW5ndGg9PTApe3RoaXMuaGlkZSgpO31lbHNle2Zvcih2YXIgaT0wO2k8 dGhpcy5yZXN1bHRzLmxlbmd0aDtpKyspe2lmKGkhPT0wKXt0aGlzLnJlc3VsdHNb aS0xXS5uZXh0PXRoaXMucmVzdWx0c1tpXTt0aGlzLnJlc3VsdHNbaV0ucHJldj10 aGlzLnJlc3VsdHNbaS0xXTt9CmlmKGkhPT10aGlzLnJlc3VsdHMubGVuZ3RoLTEp e3RoaXMucmVzdWx0c1tpKzFdLnByZXY9dGhpcy5yZXN1bHRzW2ldO3RoaXMucmVz dWx0c1tpXS5uZXh0PXRoaXMucmVzdWx0c1tpKzFdO319CnRoaXMuYWRkS2V5Ymlu ZGluZ3MoKTt9fX07dmFyIEdsb2JhbFNlcnZpY2U9Q2xhc3MuY3JlYXRlKHtpbml0 aWFsaXplOmZ1bmN0aW9uKHVybCl7dGhpcy51cmw9dXJsLHRoaXMucmVzdWx0Q2Fj aGU9e30sdGhpcy5leGVjdXRlZFF1ZXJpZXM9e30sdGhpcy5idWZmZXJlZFF1ZXJ5 PW51bGw7fSxmaW5kOmZ1bmN0aW9uKHF1ZXJ5LGNhbGxiYWNrcyl7aWYodGhpcy5o YXNOb1Jlc3VsdHMocXVlcnkpKXtjYWxsYmFja3Mubm90Rm91bmQoKTt9ZWxzZSBp Zih0aGlzLmhhc0NhY2hlKHF1ZXJ5KSl7cmV0dXJuIGNhbGxiYWNrcy5mb3VuZCh0 aGlzLnJlc3VsdENhY2hlW3F1ZXJ5XSk7fWVsc2UgaWYocXVlcnkhPT10aGlzLmJ1 ZmZlcmVkUXVlcnkpe2lmKCF0aGlzLmlzRmV0Y2hpbmcpe3RoaXMuaXNGZXRjaGlu Zz10cnVlO3RoaXMuX2ZldGNoKHF1ZXJ5LGNhbGxiYWNrcyk7fX0KdGhpcy5idWZm ZXJlZFF1ZXJ5PXF1ZXJ5O30sX2ZldGNoOmZ1bmN0aW9uKHF1ZXJ5LGNhbGxiYWNr cyl7dGhpcy5idWZmZXJlZFF1ZXJ5PXF1ZXJ5O3RoaXMuX3JlbW90ZUZldGNoKHF1 ZXJ5LHtxOnF1ZXJ5fSxjYWxsYmFja3MpO30sX3JlbW90ZUZldGNoOmZ1bmN0aW9u KHF1ZXJ5LHBhcmFtcyxjYWxsYmFja3Mpe3ZhciB0aGF0PXRoaXM7bmV3IEFqYXgu UmVxdWVzdCh0aGlzLnVybCx7bWV0aG9kOidnZXQnLHBhcmFtZXRlcnM6cGFyYW1z LG9uU3VjY2VzczpmdW5jdGlvbihyZXNwKXt2YXIgZGF0YT1yZXNwLnJlc3BvbnNl SlNPTjtpZihkYXRhKXt2YXIgdG90YWxGb3VuZD0wO2Zvcih2YXIgY2F0ZWdvcnkg aW4gZGF0YSl7dG90YWxGb3VuZCs9ZGF0YVtjYXRlZ29yeV0ubGVuZ3RoO30KaWYo dGhhdC5zaG91bGRDYWNoZSgpKXt0aGF0LmV4ZWN1dGVkUXVlcmllc1txdWVyeV09 dG90YWxGb3VuZDt0aGF0LnJlc3VsdENhY2hlW3F1ZXJ5XT1kYXRhO30KaWYodG90 YWxGb3VuZD4wKXtyZXR1cm4gY2FsbGJhY2tzLmZvdW5kKGRhdGEpO319CmNhbGxi YWNrcy5ub3RGb3VuZCgpO30sb25GYWlsdXJlOmZ1bmN0aW9uKHJlc3Ape1Njcmli ZC5sb2dFcnJvcihyZXNwKTtjYWxsYmFja3Mubm90Rm91bmQoKTt9LG9uRXhjZXB0 aW9uOmZ1bmN0aW9uKHJlcSxlKXtTY3JpYmQubG9nRXJyb3IoZSk7fSxvbkNvbXBs ZXRlOmZ1bmN0aW9uKCl7dGhhdC5pc0ZldGNoaW5nPWZhbHNlO2lmKHF1ZXJ5IT09 dGhhdC5idWZmZXJlZFF1ZXJ5KXt0aGF0LmZpbmQodGhhdC5idWZmZXJlZFF1ZXJ5 LGNhbGxiYWNrcyk7fX19KTt9LGhhc05vUmVzdWx0czpmdW5jdGlvbihxdWVyeSl7 aWYoIXF1ZXJ5KXtyZXR1cm4gdHJ1ZTt9CnZhciBmb3VuZD10aGlzLmV4ZWN1dGVk

UXVlcmllc1txdWVyeV07aWYoZm91bmQmJmZvdW5kPD0wKXtyZXR1cm4gdHJ1ZTt9 CmZvcih2YXIgcSBpbiB0aGlzLmV4ZWN1dGVkUXVlcmllcyl7aWYocXVlcnkuaW5k ZXhPZihxKT09PTAmJnRoaXMuZXhlY3V0ZWRRdWVyaWVzW3FdPD0wKXtyZXR1cm4g dHJ1ZTt9fQpyZXR1cm4gZmFsc2U7fSxoYXNDYWNoZTpmdW5jdGlvbihxdWVyeSl7 dmFyIGZvdW5kPXRoaXMuZXhlY3V0ZWRRdWVyaWVzW3F1ZXJ5XTtyZXR1cm4oZm91 bmQmJmZvdW5kPjApO30sc2hvdWxkQ2FjaGU6ZnVuY3Rpb24oKXtyZXR1cm4gdHJ1 ZTt9LHByZUFscGhhYmV0Q2FjaGU6ZnVuY3Rpb24oKXt2YXIgdGhhdD10aGlzO25l dyBBamF4LlJlcXVlc3QodGhpcy51cmwse21ldGhvZDonZ2V0JyxwYXJhbWV0ZXJz OntwcmVmZXRjaDp0cnVlfSxvblN1Y2Nlc3M6ZnVuY3Rpb24ocmVzcCl7dmFyIGRh dGE9cmVzcC5yZXNwb25zZUpTT047aWYoZGF0YSl7Zm9yKHZhciBwcmVRdWVyeSBp biBkYXRhKXt2YXIgcHFEYXRhPWRhdGFbcHJlUXVlcnldOzt2YXIgdG90YWxGb3Vu ZD0wO2Zvcih2YXIgY2F0ZWdvcnkgaW4gcHFEYXRhKXt0b3RhbEZvdW5kKz1wcURh dGFbY2F0ZWdvcnldLmxlbmd0aDt9CnRoYXQuZXhlY3V0ZWRRdWVyaWVzW3ByZVF1 ZXJ5XT10b3RhbEZvdW5kO3RoYXQucmVzdWx0Q2FjaGVbcHJlUXVlcnldPXBxRGF0 YTt9fX0sb25GYWlsdXJlOmZ1bmN0aW9uKHJlc3Ape1NjcmliZC5sb2dFcnJvcihy ZXNwKTt9LG9uRXhjZXB0aW9uOmZ1bmN0aW9uKHJlcSxlKXtTY3JpYmQubG9nRXJy b3IoZSk7fX0pO319KTt2YXIgVXNlclNlcnZpY2U9Q2xhc3MuY3JlYXRlKEdsb2Jh bFNlcnZpY2Use2luaXRpYWxpemU6ZnVuY3Rpb24oJHN1cGVyLHVzZXJJZCl7dGhp cy51c2VySWQ9dXNlcklkOyRzdXBlcignL3VzZXJzLycrdXNlcklkKycvYXV0b2Nv bXBsZXRlci9mZXRjaGlkcycpO3RoaXMudHJpZXM9ezA6bmV3IFNjcmliZC5Db21w YWN0VHJpZSgpLDE6bmV3IFNjcmliZC5Db21wYWN0VHJpZSgpLDM6bmV3IFNjcmli ZC5Db21wYWN0VHJpZSgpfTt0aGlzLnRyaWVzTG9hZGVkPTA7fSxmZXRjaFRyaWU6 ZnVuY3Rpb24odHlwZSx1cmwpe3ZhciB0aGF0PXRoaXMsdHlwZUlkPVNlYXJjaEF1 dG9jb21wbGV0ZXIuVHlwZXNUb0lEc1t0eXBlXSxnbG9iYWxDYWxsYmFjaz0nX191 YWN0SnNvbnAnK3R5cGVJZDt3aW5kb3dbZ2xvYmFsQ2FsbGJhY2tdPXVuZGVmaW5l ZDt3aW5kb3dbZ2xvYmFsQ2FsbGJhY2tdPWZ1bmN0aW9uKGRhdGEpe3RoYXQuaW5p dFRyaWUodHlwZUlkLGRhdGEpO307U2NyaWJkLmpzb25wKHt1cmw6dXJsLGNhbGxi YWNrOmdsb2JhbENhbGxiYWNrfSk7fSxpbml0VHJpZTpmdW5jdGlvbihjYXRlZ29y eSxkYXRhKXt0aGlzLnRyaWVzW2NhdGVnb3J5XS5kYXRhPWRhdGE7dGhpcy50cmll c0xvYWRlZCsrO30sX2ZldGNoOmZ1bmN0aW9uKHF1ZXJ5LGNhbGxiYWNrcyl7aWYo cXVlcnkubGVuZ3RoPDIpe2NhbGxiYWNrcy5ub3RGb3VuZCgpO3RoaXMuaXNGZXRj aGluZz1mYWxzZTt9ZWxzZXt2YXIgcGFyYW1zPXt9O3ZhciBmb3VuZD1mYWxzZTtm b3IodmFyIGNhdGVnb3J5IGluIHRoaXMudHJpZXMpe3ZhciB0cmllPXRoaXMudHJp ZXNbY2F0ZWdvcnldO3ZhciBpZHM9dHJpZS5zZWFyY2gocXVlcnkpLmZsYXR0ZW4o KS51bmlxKCk7aWYoaWRzLmxlbmd0aD4wKXtwYXJhbXNbY2F0ZWdvcnldPWlkcy5z bGljZSgwLDUpLmpvaW4oJywnKTtmb3VuZD10cnVlO319CmlmKGZvdW5kKXt0aGlz Ll9yZW1vdGVGZXRjaChxdWVyeSxwYXJhbXMsY2FsbGJhY2tzKTt9ZWxzZXtpZih0 aGlzLnNob3VsZENhY2hlKCkpe3RoaXMuZXhlY3V0ZWRRdWVyaWVzW3F1ZXJ5XT0w O30KY2FsbGJhY2tzLm5vdEZvdW5kKCk7dGhpcy5pc0ZldGNoaW5nPWZhbHNlO319 fSxzaG91bGRDYWNoZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnRyaWVzTG9hZGVk PT09Mzt9fSk7U2VhcmNoQXV0b2NvbXBsZXRlci5HbG9iYWxTZXJ2aWNlPUdsb2Jh bFNlcnZpY2U7U2VhcmNoQXV0b2NvbXBsZXRlci5Vc2VyU2VydmljZT1Vc2VyU2Vy dmljZTtTZWFyY2hBdXRvY29tcGxldGVyLlR5cGVzVG9JRHM9e2RvY3VtZW50czow LHVzZXJzOjEscHVibGlzZXJzOjIsZG9jdW1lbnRfY29sbGVjdGlvbnM6MyxzY3Jp YmRfcGFnZXM6NH07cmV0dXJuIFNlYXJjaEF1dG9jb21wbGV0ZXI7fSkoKTtTY3Jp YmQuQ29tcGFjdFRyaWU9KGZ1bmN0aW9uKCl7dmFyIENUPWZ1bmN0aW9uKGRhdGEs ZW5kcG9pbnQpe3RoaXMuZGF0YT1kYXRhfHx7fTt0aGlzLmVuZHBvaW50PWVuZHBv aW50fHxDVC5lbmRwb2ludDt9O0NULmVuZHBvaW50PVN0cmluZy5mcm9tQ2hhckNv ZGUoMHgxMzM3KTtDVC5wcm90b3R5cGU9e3NlYXJjaDpmdW5jdGlvbihxdWVyeSl7 dmFyIGRhdGE9dGhpcy5kYXRhO3ZhciBjdXJyZW50UXVlcnk9Jyc7Zm9yKHZhciBp PTA7aTxxdWVyeS5sZW5ndGg7aSsrKXt2YXIgY2g9cXVlcnlbaV07Y3VycmVudFF1 ZXJ5PWN1cnJlbnRRdWVyeS5jb25jYXQoY2gpO3ZhciBkPWRhdGFbY2hdO2lmKGQp e2RhdGE9ZDtjdXJyZW50UXVlcnk9Jyc7fWVsc2V7dmFyIGZvdW5kPXByZWZpeE1h dGNoKGRhdGEsY3VycmVudFF1ZXJ5KTtpZighZm91bmQpe3JldHVybltdO30KaWYo KGZvdW5kLmtleS5sZW5ndGg+PXF1ZXJ5Lmxlbmd0aC1pJiZmb3VuZC5rZXkuaW5k ZXhPZihxdWVyeS5zdWJzdHIoaSkpPT09MCkpe2RhdGE9Zm91bmQuZGF0YTticmVh azt9ZWxzZSBpZihxdWVyeS5zdWJzdHIoaSkuaW5kZXhPZihmb3VuZC5rZXkpPT09 MCl7aSs9KGZvdW5kLmtleS5sZW5ndGgtMSk7aWYodGhpcy5pc0VuZFBvaW50KGZv dW5kLmRhdGEpKXtyZXR1cm5bXTt9CmN1cnJlbnRRdWVyeT0nJztkYXRhPWZvdW5k LmRhdGE7fWVsc2V7cmV0dXJuW107fX19CnJldHVybiB0aGlzLmVudW1lcmF0ZShk

YXRhKTt9LGVudW1lcmF0ZTpmdW5jdGlvbihkYXRhKXt2YXIgcmVzdWx0cz1bXTtm b3IodmFyIGtleSBpbiBkYXRhKXt2YXIgZXA9ZGF0YVtrZXldO2lmKGtleT09dGhp cy5lbmRwb2ludCl7cmVzdWx0cy5wdXNoKGRhdGFba2V5XSk7fWVsc2V7cmVzdWx0 cz1yZXN1bHRzLmNvbmNhdCh0aGlzLmVudW1lcmF0ZShkYXRhW2tleV0sa2V5LHRo aXMuZW5kcG9pbnQpKTt9fQpyZXR1cm4gcmVzdWx0czt9LGlzRW5kUG9pbnQ6ZnVu Y3Rpb24oZGF0YSl7Zm9yKHZhciBrIGluIGRhdGEpe3ZhciBlcD1kYXRhW2tdO2lm KGshPXRoaXMuZW5kcG9pbnQpCnJldHVybiBmYWxzZTt9CnJldHVybiB0cnVlO319 O2Z1bmN0aW9uIHByZWZpeE1hdGNoKGRhdGEscHJlZml4KXtmb3IodmFyIGtleSBp biBkYXRhKXtpZihrZXkuaW5kZXhPZihwcmVmaXgpPT09MCl7cmV0dXJuKHsna2V5 JzprZXksJ2RhdGEnOmRhdGFba2V5XX0pO319CnJldHVybiBudWxsO30KcmV0dXJu IENUO30pKCk7ZG9jdW1lbnQub2JzZXJ2ZSgnZG9tOmxvYWRlZCcsZnVuY3Rpb24o KXt2YXIgZ2xvYmFsSGVhZGVyPSQoJ2dsb2JhbF9oZWFkZXInKTtpZighZ2xvYmFs SGVhZGVyKXtyZXR1cm47fQppZigkKCd0ZW1wbGF0ZV9tYWluX2NvbnRlbnQnKSl7 aWYoISQoJ3RlbXBsYXRlX21haW5fY29udGVudCcpLnZpc2libGUoKSl7cmV0dXJu O319CnZhciBzZWFyY2hGaWVsZD1nbG9iYWxIZWFkZXIuZG93bigiLnNlYXJjaF9p bnB1dCIpLGRlZmF1bHRUZXh0PUkxOG4udCgnanMuc2VhcmNoX2Jvb2tzX3ByZXNl bnRhdGlvbnMnKTtpZihzZWFyY2hGaWVsZCl7c2VhcmNoRmllbGQuYmx1cigpO3Zh ciB2YWw9JEYoc2VhcmNoRmllbGQpO2lmKHNlYXJjaEZpZWxkLnZpc2libGUoKSYm KCF2YWx8fHZhbD09PWRlZmF1bHRUZXh0KSl7U2NyaWJkLmFkZERlZmF1bHRUZXh0 RXZlbnRzKHNlYXJjaEZpZWxkLGRlZmF1bHRUZXh0KTt9fQppZihTY3JpYmQuZ2V0 T3B0aW9uKCdHbG9iYWxBdXRvQ29tcGxldGVyRW5hYmxlZCcpJiYkKCJhdXRvY29t cGxldGVyIikpe3ZhciBhPW5ldyBTY3JpYmQuU2VhcmNoQXV0b0NvbXBsZXRlcihz ZWFyY2hGaWVsZCwiYXV0b2NvbXBsZXRlciIpO2EuaW5pdCh7ImRvY3VtZW50cyI6 W10sInVzZXJzIjpbXSwiZG9jdW1lbnRfY29sbGVjdGlvbnMiOltdLCJwdWJsaXNo ZXJzIjpbXSwic2NyaWJkX3BhZ2VzIjpbXX0pO2Euc2VydmljZT1uZXcgU2NyaWJk LlNlYXJjaEF1dG9Db21wbGV0ZXIuR2xvYmFsU2VydmljZSgnL2F1dG9jb21wbGV0 ZXInKTt9CiQkKCcuc2VhcmNoX2J1dHRvbicpLmludm9rZSgnb2JzZXJ2ZScsJ2Ns aWNrJyxmdW5jdGlvbihlKXtlLnN0b3AoKTt2YXIgYnV0dG9uPWUuZmluZEVsZW1l bnQoKSxmb3JtPWJ1dHRvbi51cCgnZm9ybScpLHRleHQ9JEYoZm9ybS5kb3duKCcu c2VhcmNoX2lucHV0JykpO2lmKHRleHQuc3RyaXAoKT09PWRlZmF1bHRUZXh0KXty ZXR1cm47fQpmb3JtLnN1Ym1pdCgpO30pO30pOwoKCi8qIGFwcC92aWV3cy9uZXdk b2MvZG9jdW1lbnRfbGlzdC5qcyBAIDEzNDg1MTc1MjYgKi8KClNjcmliZC5pbml0 KCJTY3JpYmQiLCJVSSIpO1NjcmliZC5VSS5Eb2N1bWVudExpc3RUYWJzPUNsYXNz LmNyZWF0ZSh7aW5pdGlhbGl6ZTpmdW5jdGlvbihjb250YWluZXIpe3RoaXMuY29u dGFpbmVyPSQoY29udGFpbmVyKTtpZighdGhpcy5jb250YWluZXIpcmV0dXJuO3Ro aXMuY29udGFpbmVyLmRvd24oIi50YWJzIikub2JzZXJ2ZSgiY2xpY2siLGZ1bmN0 aW9uKGUpe3ZhciBlbG09ZS5maW5kRWxlbWVudCgnZGl2W2RhdGEtbmFtZV0nKTtp ZihlbG0pe3RoaXMuc2VsZWN0X3RhYihlbG0ucmVhZEF0dHJpYnV0ZSgiZGF0YS1u YW1lIikpO319LmJpbmQodGhpcykpO3RoaXMuc2VsZWN0X3RhYih0aGlzLmNvbnRh aW5lci5kb3duKCIudGFicyAudGFiIikucmVhZEF0dHJpYnV0ZSgiZGF0YS1uYW1l IikpO30sc2VsZWN0X3RhYjpmdW5jdGlvbihuYW1lKXt2YXIgYm9keT10aGlzLmNv bnRhaW5lci5kb3duKCIuY29udGVudCIpO2JvZHkuc2VsZWN0KCI+IGRpdiIpLmVh Y2goZnVuY3Rpb24oZCl7aWYoZC5yZWFkQXR0cmlidXRlKCJkYXRhLW5hbWUiKT09 bmFtZSl7ZC5zaG93KCk7fWVsc2V7ZC5oaWRlKCk7fX0uYmluZCh0aGlzKSk7dGhp cy5jb250YWluZXIuc2VsZWN0KCIudGFicyAudGFiIikuaW52b2tlKCJyZW1vdmVD bGFzc05hbWUiLCJhY3RpdmUiKTt0aGlzLmNvbnRhaW5lci5zZWxlY3QoIi50YWJz IC50YWJbZGF0YS1uYW1lPSciK25hbWUrIiddIikuaW52b2tlKCJhZGRDbGFzc05h bWUiLCJhY3RpdmUiKTt9fSk7U2NyaWJkLlVJLkRvY3VtZW50TGlzdFBhZ2VyPUNs YXNzLmNyZWF0ZSh7YWN0aW9uczp7bmV4dF9wYWdlOmZ1bmN0aW9uKCl7dGhpcy5n b3RvX3BhZ2UodGhpcy5jdXJyZW50X3BhZ2UrMSk7fSxwcmV2X3BhZ2U6ZnVuY3Rp b24oKXt0aGlzLmdvdG9fcGFnZSh0aGlzLmN1cnJlbnRfcGFnZS0xKTt9fSx0cmFj a2luZzp7c2Nyb2xsaW5nX3VzZXJfZG9jOmZ1bmN0aW9uKCl7dHJhY2tFdmVudCgn bmV3ZG9jJywnU2Nyb2xsaW5nJywnc2Nyb2xsaW5nX3VzZXJfZG9jJywxKTt9LHNj cm9sbGluZ19yZWxhdGVkX2RvYzpmdW5jdGlvbigpe3RyYWNrRXZlbnQoJ25ld2Rv YycsJ1Njcm9sbGluZycsJ3Njcm9sbGluZ19yZWxhdGVkX2RvYycsMSk7fX0saW5p dGlhbGl6ZTpmdW5jdGlvbihjb250YWluZXIpe3RoaXMucGVyX3BhZ2U9Mzt0aGlz LmNvbnRhaW5lcj0kKGNvbnRhaW5lcik7aWYoIXRoaXMuY29udGFpbmVyKXJldHVy bjt0aGlzLmNvbnRhaW5lci5vYnNlcnZlKCJjbGljayIsZnVuY3Rpb24oZSl7Zm9y KHZhciBhY3Rpb25fbmFtZSBpbiB0aGlzLmFjdGlvbnMpe2lmKHRoaXMuYWN0aW9u cy5oYXNPd25Qcm9wZXJ0eShhY3Rpb25fbmFtZSkmJmUuZWxlbWVudCgpLmhhc0Ns

YXNzTmFtZShhY3Rpb25fbmFtZSkpe2Uuc3RvcCgpO3RoaXMuYWN0aW9uc1thY3Rp b25fbmFtZV0uY2FsbCh0aGlzLGUpO319fS5iaW5kKHRoaXMpKTt0aGlzLmNvbnRh aW5lci5vYnNlcnZlKCJjbGljayIsZnVuY3Rpb24oZSl7U2NyaWJkLlVJLmRpc3Bh dGNoKGUsdGhpcy50cmFja2luZyx0aGlzLG51bGwsdHJ1ZSk7fS5iaW5kKHRoaXMp KTt0aGlzLnBhZ2luYXRlKCk7fSxyZW1vdmU6ZnVuY3Rpb24oKXt2YXIgY29sbGVj dGlvbnM9dGhpcy5jb250YWluZXIudXAoIi5zaWRlYmFyX2NvbGxlY3Rpb25zIiks Y29udGVudD10aGlzLmNvbnRhaW5lci51cCgiZGl2W2RhdGEtbmFtZV0iKTt2YXIg dGFiX25hbWU9Y29udGVudC5yZWFkQXR0cmlidXRlKCJkYXRhLW5hbWUiKTtjb2xs ZWN0aW9ucy5kb3duKCIudGFicyAudGFiW2RhdGEtbmFtZT0nIit0YWJfbmFtZSsi J10iKS5yZW1vdmUoKTtjb250ZW50LnJlbW92ZSgpO2lmKGNvbGxlY3Rpb25zLnNl bGVjdCgiLnRhYnMgLnRhYiIpLmxlbmd0aD09MCl7Y29sbGVjdGlvbnMucmVtb3Zl KCk7fX0scGFnaW5hdGU6ZnVuY3Rpb24oKXt2YXIgaXRlbXM9dGhpcy5jb250YWlu ZXIuc2VsZWN0KCIucHViX2ZlYXR1cmVkX2RvYyIpO2lmKGl0ZW1zLmxlbmd0aD09 MClyZXR1cm4gdGhpcy5yZW1vdmUoKTt2YXIgcGFnZV9udW09MSxtYXhfcGFnZXM9 TWF0aC5jZWlsKGl0ZW1zLmxlbmd0aC90aGlzLnBlcl9wYWdlKTt0aGlzLnBhZ2Vz PWl0ZW1zLmVhY2hTbGljZSh0aGlzLnBlcl9wYWdlLGZ1bmN0aW9uKHMpe3ZhciBw YWdlPW5ldyBFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6InJlbGF0ZWRfcGFnZSJ9 KTtzLmVhY2goZnVuY3Rpb24oZWxtKXtwYWdlLmluc2VydCh7Ym90dG9tOmVsbX0p O30pO3ZhciBmb290ZXI9bmV3IEVsZW1lbnQoImRpdiIse2NsYXNzTmFtZToicGFn ZV9mb290ZXIifSk7aWYocGFnZV9udW0+MSl7Zm9vdGVyLmluc2VydCh7Ym90dG9t Om5ldyBFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOiJwcmV2X3BhZ2UgcHNldWRv TGluayJ9KS51cGRhdGUoIlByZXYiKX0pO30KaWYocGFnZV9udW08bWF4X3BhZ2Vz KXtpZighZm9vdGVyLmVtcHR5KCkpe2Zvb3Rlci5pbnNlcnQoe2JvdHRvbToiICZt aWRkb3Q7ICJ9KTt9CmZvb3Rlci5pbnNlcnQoe2JvdHRvbTpuZXcgRWxlbWVudCgi c3BhbiIse2NsYXNzTmFtZToibmV4dF9wYWdlIHBzZXVkb0xpbmsifSkudXBkYXRl KCJOZXh0Iil9KTt9CmlmKCFmb290ZXIuZW1wdHkoKSl7cGFnZS5pbnNlcnQoe2Jv dHRvbTpmb290ZXJ9KTt9CnBhZ2VfbnVtKys7cmV0dXJuIHBhZ2U7fSk7dGhpcy5w YWdlcy5lYWNoKGZ1bmN0aW9uKHApe3RoaXMuY29udGFpbmVyLmluc2VydCh7Ym90 dG9tOnB9KTt9LmJpbmQodGhpcykpO3RoaXMuZ290b19wYWdlKDEpO30sZ290b19w YWdlOmZ1bmN0aW9uKHBhZ2VfbnVtKXtwYWdlX251bT1NYXRoLm1heCgxLE1hdGgu bWluKHRoaXMucGFnZXMubGVuZ3RoLHBhZ2VfbnVtKSk7Zm9yKHZhciBpPTA7aTx0 aGlzLnBhZ2VzLmxlbmd0aDtpKyspe3ZhciBwPXRoaXMucGFnZXNbaV07aWYoaSsx PT1wYWdlX251bSl7cC5zaG93KCk7cC5zZWxlY3QoImltZyIpLmVhY2goZnVuY3Rp b24oaW1nKXtmb3JjZV9semxkKGltZyk7fSk7fWVsc2V7cC5oaWRlKCk7fX0KdGhp cy5jdXJyZW50X3BhZ2U9cGFnZV9udW07fX0pOwoKCi8qIGFwcC92aWV3cy9zaGFy ZWQvbWVudS9ob3Zlcl9tZW51LmpzIEAgMTM0ODUxNzUyNiAqLwoKU2NyaWJkLkhv dmVyTWVudT1DbGFzcy5jcmVhdGUoe2luaXRpYWxpemU6ZnVuY3Rpb24oaG92ZXJf ZWwsbWVudV9lbCl7dGhpcy5ob3Zlcl9lbGVtZW50PWhvdmVyX2VsO3RoaXMubWVu dV9lbGVtZW50PXRoaXMuaG92ZXJfZWxlbWVudC5kb3duKCcuc3ViX21lbnUnKTt0 aGlzLmFjdGl2ZT1mYWxzZTt0aGlzLnRpbWVySWQ9bnVsbDt0aGlzLnNldHVwT2Jz ZXJ2ZXJzKCk7fSxjb250cm9sczpmdW5jdGlvbigpe3JldHVyblt0aGlzLmhvdmVy X2VsZW1lbnQsdGhpcy5tZW51X2VsZW1lbnRdO30sc2V0dXBPYnNlcnZlcnM6ZnVu Y3Rpb24oKXt0aGlzLmhvdmVyX2VsZW1lbnQub2JzZXJ2ZSgnbW91c2VlbnRlcics dGhpcy5zaG93TWVudS5iaW5kKHRoaXMpKTt0aGlzLmNvbnRyb2xzKCkuaW52b2tl KCdvYnNlcnZlJywnbW91c2VlbnRlcicsdGhpcy5hY3RpdmF0ZS5iaW5kKHRoaXMp KTt0aGlzLmNvbnRyb2xzKCkuaW52b2tlKCdvYnNlcnZlJywnbW91c2Vtb3ZlJyx0 aGlzLmFjdGl2YXRlLmJpbmQodGhpcykpO3RoaXMuY29udHJvbHMoKS5pbnZva2Uo J29ic2VydmUnLCdjbGljaycsdGhpcy5hY3RpdmF0ZS5iaW5kKHRoaXMpKTt0aGlz LmNvbnRyb2xzKCkuaW52b2tlKCdvYnNlcnZlJywnbW91c2VvdXQnLHRoaXMuZGVh Y3RpdmF0ZS5iaW5kKHRoaXMpKTskKCJ3cmFwIikub2JzZXJ2ZSgnY2xpY2snLGZ1 bmN0aW9uKCl7dGhpcy5ob3Zlcl9lbGVtZW50LnJlbW92ZUNsYXNzTmFtZSgnb3Bl bicpO30uYmluZCh0aGlzKSk7fSxhY3RpdmF0ZTpmdW5jdGlvbigpe3RoaXMuYWN0 aXZlPXRydWU7Y2xlYXJUaW1lb3V0KHRoaXMudGltZXJJZCk7dGhpcy50aW1lcklk PXRoaXMudHJ5SGlkZS5iaW5kKHRoaXMpLmRlbGF5KDEpO30sZGVhY3RpdmF0ZTpm dW5jdGlvbigpe3RoaXMuYWN0aXZlPWZhbHNlO30sdHJ5SGlkZTpmdW5jdGlvbigp e2lmKHRoaXMuYWN0aXZlKXtyZXR1cm4gZmFsc2U7fQp0aGlzLmhvdmVyX2VsZW1l bnQucmVtb3ZlQ2xhc3NOYW1lKCdvcGVuJyk7fSxzaG93TWVudTpmdW5jdGlvbigp e3RoaXMuaGlkZU90aGVycygpO3RoaXMuaG92ZXJfZWxlbWVudC5hZGRDbGFzc05h bWUoJ29wZW4nKTt9LGhpZGVPdGhlcnM6ZnVuY3Rpb24oKXskJCgnLmhvdmVyX21l bnUnKS5lYWNoKGZ1bmN0aW9uKGVsKXtlbC5yZW1vdmVDbGFzc05hbWUoJ29wZW4n

KTt9KTt9fSk7ZG9jdW1lbnQub2JzZXJ2ZSgnZG9tOmxvYWRlZCcsZnVuY3Rpb24o KXskJCgnLmhvdmVyX21lbnUnKS5lYWNoKGZ1bmN0aW9uKGVsKXtuZXcgU2NyaWJk LkhvdmVyTWVudShlbCk7fSk7fSk7CgoKLyogOmNsYXNzX2lubGluZXMsICdhcHAv dmlld3MnLCAuLi4gQCAxMzQ4NTE3NTI2ICovCi8qIGFwcC92aWV3cy9kb2N1bWVu dHMvYWRzX2JlbG93X3NpZGVib2FyZC5qcyBAIDEzNDg1MTc1MjYgKi8KCmRvY3Vt ZW50Lm9ic2VydmUoJ2RvbTpsb2FkZWQnLGZ1bmN0aW9uKCl7dmFyIHBpbm5lZF9h ZD0kKCdwaW5uZWRfYWQnKTt2YXIgY29udGFpbmVyPSQoJ3Bpbm5lZF9hZF9jb250 YWluZXInKTt2YXIgcGFnZV9jb250YWluZXI9JCQoJy5vdXRlcl9wYWdlX2NvbnRh aW5lcicpWzBdO2lmKCFwYWdlX2NvbnRhaW5lcilwYWdlX2NvbnRhaW5lcj0kKCJk b2N1bWVudF9jb2x1bW4iKTt2YXIgaXNfaWU2PSEhKGRvY3VtZW50LmFsbCYmKC9t c2llIDYuL2kpLnRlc3QobmF2aWdhdG9yLmFwcFZlcnNpb24pJiZ3aW5kb3cuQWN0 aXZlWE9iamVjdCk7aWYoIXBpbm5lZF9hZHx8IWNvbnRhaW5lcnx8IXBhZ2VfY29u dGFpbmVyKQpyZXR1cm47dmFyIGlzX3Bpbm5lZD1mYWxzZTt2YXIgcGluLHVucGlu O2lmKGlzX2llNil7cGluPWZ1bmN0aW9uKCl7cGlubmVkX2FkLmFkZENsYXNzTmFt ZSgnaWVfZml4ZWQnKTtwaW5uZWRfYWQuc2V0U3R5bGUoe3RvcDooZG9jdW1lbnQu dmlld3BvcnQuZ2V0U2Nyb2xsT2Zmc2V0cygpLnRvcC01MCkrJ3B4J30pO307dW5w aW49ZnVuY3Rpb24oKXtwaW5uZWRfYWQucmVtb3ZlQ2xhc3NOYW1lKCdpZV9maXhl ZCcpO3Bpbm5lZF9hZC5zZXRTdHlsZSh7dG9wOicwcHgnfSk7fTt9ZWxzZXtwaW49 ZnVuY3Rpb24oKXtpZighaXNfcGlubmVkKXtwaW5uZWRfYWQuYWRkQ2xhc3NOYW1l KCdmaXhlZCcpO2lzX3Bpbm5lZD10cnVlO319O3VucGluPWZ1bmN0aW9uKCl7aWYo aXNfcGlubmVkKXtwaW5uZWRfYWQucmVtb3ZlQ2xhc3NOYW1lKCdmaXhlZCcpO2lz X3Bpbm5lZD1mYWxzZTt9fTt9CnZhciB1cGRhdGVfcGlubmluZz1mdW5jdGlvbigp e2lmKGNvbnRhaW5lci52aWV3cG9ydE9mZnNldCgpLnRvcCtwaW5uZWRfYWQuZ2V0 SGVpZ2h0KCk+cGFnZV9jb250YWluZXIudmlld3BvcnRPZmZzZXQoKS50b3ArcGFn ZV9jb250YWluZXIuZ2V0SGVpZ2h0KCkpe3VucGluKCk7cmV0dXJuO30KaWYoY29u dGFpbmVyLnZpZXdwb3J0T2Zmc2V0KCkudG9wPDApCnBpbigpO2Vsc2UKdW5waW4o KTt9O3ZhciByZXBpbj1mdW5jdGlvbigpe3VucGluKCk7dXBkYXRlX3Bpbm5pbmco KTt9O0V2ZW50Lm9ic2VydmUod2luZG93LCdzY3JvbGwnLHVwZGF0ZV9waW5uaW5n KTtkb2NNYW5hZ2VyLmFkZEV2ZW50KCd6b29tZWQnLHJlcGluKTtkb2NNYW5hZ2Vy LmFkZEV2ZW50KCdlbnRlcmVkRnVsbHNjcmVlbicsdW5waW4pO2RvY01hbmFnZXIu YWRkRXZlbnQoJ2V4aXRlZEZ1bGxzY3JlZW4nLHJlcGluKTt9KTsKCgovKiBhcHAv dmlld3Mvc2hhcmVkL2phdmFzY3JpcHRfd2lkZ2V0LmpzIEAgMTM0ODUxNzUyNiAq LwoKaWYoIXdpbmRvdy5TY3JpYmQpdmFyIFNjcmliZD1uZXcgT2JqZWN0KCk7aWYo IXdpbmRvdy5TY3JpYmQuU2hhcmVkKVNjcmliZC5TaGFyZWQ9bmV3IE9iamVjdCgp O1NjcmliZC5TaGFyZWQuSmF2YXNjcmlwdFdpZGdldD1DbGFzcy5jcmVhdGUoe2lu aXRpYWxpemU6ZnVuY3Rpb24ob3B0aW9ucyl7dGhpcy5vcHRpb25zPW9wdGlvbnM7 dGhpcy53aWRnZXRfZG9tX2lkPW9wdGlvbnMud2lkZ2V0X2RvbV9pZDt0aGlzLmlz X3dpZGdldF9sb2FkZWQ9ZmFsc2U7fSxvbkRvbUxvYWRlZDpmdW5jdGlvbihldmVu dCl7dGhpcy53aWRnZXRfZG9tPSQodGhpcy53aWRnZXRfZG9tX2lkKTt0aGlzLndp ZGdldF9kb20uamF2YXNjcmlwdF93aWRnZXQ9dGhpczt0aGlzLm9uX3dpZGdldHNf bG9hZGVkPXRoaXMub25XaWRnZXRzTG9hZGVkLmJpbmQodGhpcyk7RXZlbnQub2Jz ZXJ2ZShkb2N1bWVudCwnU2NyaWJkOndpZGdldHNfbG9hZGVkJyx0aGlzLm9uX3dp ZGdldHNfbG9hZGVkKTt9LG9uV2lkZ2V0c0xvYWRlZDpmdW5jdGlvbihldmVudCl7 RXZlbnQuc3RvcE9ic2VydmluZyhkb2N1bWVudCwnU2NyaWJkOndpZGdldHNfbG9h ZGVkJyx0aGlzLm9uX3dpZGdldHNfbG9hZGVkKTt0aGlzLmlzX3dpZGdldF9sb2Fk ZWQ9dHJ1ZTt9fSk7CgoKLyogYXBwL3ZpZXdzL2ZhY2Vib29rL19sb2dpbl9idXR0 b24ucmI6MTYgQCAxMzQ4NTE3NTI2ICovCgppZighd2luZG93LlNjcmliZCl2YXIg U2NyaWJkPW5ldyBPYmplY3QoKTtpZighd2luZG93LlNjcmliZC5GYWNlYm9vaylT Y3JpYmQuRmFjZWJvb2s9bmV3IE9iamVjdCgpO1NjcmliZC5GYWNlYm9vay5Mb2dp bkJ1dHRvbj1DbGFzcy5jcmVhdGUoU2NyaWJkLlNoYXJlZC5KYXZhc2NyaXB0V2lk Z2V0LHtpbml0aWFsaXplOmZ1bmN0aW9uKCRzdXBlcixvcHRpb25zKXskc3VwZXIo b3B0aW9ucyk7fSxvbldpZGdldHNMb2FkZWQ6ZnVuY3Rpb24oJHN1cGVyLGV2ZW50 KXskc3VwZXIoZXZlbnQpO3ZhciBidXR0b25DbGlja2VkRnVuY3Rpb249dGhpcy5i dXR0b25DbGlja2VkLmJpbmQodGhpcyk7dGhpcy53aWRnZXRfZG9tLnNlbGVjdCgn LmZiX2J1dHRvbicpLmVhY2goZnVuY3Rpb24oYnV0dG9uKXtidXR0b24ub2JzZXJ2 ZSgnY2xpY2snLGJ1dHRvbkNsaWNrZWRGdW5jdGlvbik7fSk7dGhpcy5wb3N0ZWRf Zm9ybT10aGlzLndpZGdldF9kb20uZG93bignLnBvc3RlZF9mb3JtJyk7fSxidXR0 b25DbGlja2VkOmZ1bmN0aW9uKGV2ZW50KXtFdmVudC5zdG9wKGV2ZW50KTt0aGlz LmluX3Byb2Nlc3M9dHJ1ZTt0aGlzLnNob3dTcGlubmVySWZTdGlsbFByb2Nlc3Np bmcuYmluZCh0aGlzKS5kZWxheSgwKTtGQi5sb2dpbih0aGlzLmZiTG9naW5SZXR1

cm5lZC5iaW5kKHRoaXMpLHtzY29wZToiZW1haWwscHVibGlzaF9hY3Rpb25zLHB1 Ymxpc2hfc3RyZWFtLHJlYWRfc3RyZWFtLG9mZmxpbmVfYWNjZXNzIn0pO30sZmJM b2dpblJldHVybmVkOmZ1bmN0aW9uKHJlc3BvbnNlKXt2YXIgYXV0aFJlc3BvbnNl PXJlc3BvbnNlLmF1dGhSZXNwb25zZTtpZihhdXRoUmVzcG9uc2Upe3ZhciBzZXNz aW9uX2VsZW1lbnRzX2Rpdj10aGlzLnBvc3RlZF9mb3JtLmRvd24oIi5mYWNlYm9v a19zZXNzaW9uX2VsZW1lbnRzIik7aWYoc2Vzc2lvbl9lbGVtZW50c19kaXYpe3Zh ciBjb29raWVzPWRvY3VtZW50LmNvb2tpZTt2YXIgcmVnZXhwPW5ldyBSZWdFeHAo IihmYnNfW2EtZjAtOV0qKVxzKj1ccyooW147XSspIik7dmFyIG1hdGNoPXJlZ2V4 cC5leGVjKGNvb2tpZXMpO2lmKG1hdGNoKXt2YXIgZmJzX2Nvb2tpZV9uYW1lPW1h dGNoWzFdO3ZhciBmYnNfY29va2llPW1hdGNoWzJdO21hdGNoPW5ldyBSZWdFeHAo Il5cIiguKilcIiQiKS5leGVjKGZic19jb29raWUpO2lmKG1hdGNoKXtmYnNfY29v a2llPW1hdGNoWzFdO30Kc2Vzc2lvbl9lbGVtZW50c19kaXYuaW5zZXJ0KCI8aW5w dXQgdHlwZT0naGlkZGVuJyBuYW1lPSdmYnNfY29va2llJyB2YWx1ZT0nIitmYnNf Y29va2llKyInIC8+Iik7c2Vzc2lvbl9lbGVtZW50c19kaXYuaW5zZXJ0KCI8aW5w dXQgdHlwZT0naGlkZGVuJyBuYW1lPSdmYnNfY29va2llX25hbWUnIHZhbHVlPSci K2Zic19jb29raWVfbmFtZSsiJyAvPiIpO31lbHNle3Nlc3Npb25fZWxlbWVudHNf ZGl2Lmluc2VydCgiPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nZmJzX2Nvb2tp ZScgdmFsdWU9J25vbmUnIC8+Iik7fQpmb3IodmFyIG5hbWUgaW4gYXV0aFJlc3Bv bnNlKXt2YXIgdmFsdWU9YXV0aFJlc3BvbnNlW25hbWVdO3Nlc3Npb25fZWxlbWVu dHNfZGl2Lmluc2VydCgiPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nZmFjZWJv b2tfc2Vzc2lvblsiK25hbWUrIl0nIHZhbHVlPSciK3ZhbHVlKyInIC8+Iik7fX0K dGhpcy51c2VySXNMb2dnZWRJblRvRmFjZWJvb2socmVzcG9uc2UpO31lbHNle3Ro aXMudXNlckNhbmNlbGxlZEZhY2Vib29rTG9naW4ocmVzcG9uc2UpO319LHVzZXJJ c0xvZ2dlZEluVG9GYWNlYm9vazpmdW5jdGlvbihyZXNwb25zZSl7aWYodGhpcy5v cHRpb25zLnRyYWNrRXZlbnQpe2V2YWwodGhpcy5vcHRpb25zLnRyYWNrRXZlbnQp O31lbHNlIGlmKHRoaXMub3B0aW9ucy5nb29nbGVfYW5hbHl0aWNzX2V2ZW50KXt0 cmFja0V2ZW50KCJGYWNlYm9vayIsdGhpcy5vcHRpb25zLmdvb2dsZV9hbmFseXRp Y3NfZXZlbnQpO30KdGhpcy5sb2dnZWRJbkNhbGxiYWNrKCk7fSx1c2VyQ2FuY2Vs bGVkRmFjZWJvb2tMb2dpbjpmdW5jdGlvbihyZXNwb25zZSl7dGhpcy5pbl9wcm9j ZXNzPWZhbHNlO3RoaXMuaW52b2tlT25JblByb2Nlc3MoZnVuY3Rpb24oZSl7ZS5o aWRlKCk7fSk7fSxzaG93U3Bpbm5lcklmU3RpbGxQcm9jZXNzaW5nOmZ1bmN0aW9u KCl7aWYodGhpcy5pbl9wcm9jZXNzKXt0aGlzLmludm9rZU9uSW5Qcm9jZXNzKGZ1 bmN0aW9uKGUpe2Uuc2hvdygpO30pO319LGludm9rZU9uSW5Qcm9jZXNzOmZ1bmN0 aW9uKGYpe3RoaXMud2lkZ2V0X2RvbS5zZWxlY3QoIi5pbl9wcm9jZXNzIikuZWFj aChmKTt9LGxvZ2dlZEluQ2FsbGJhY2s6ZnVuY3Rpb24oKXt0aGlzLnBvc3RlZF9m b3JtLnN1Ym1pdCgpO319KTsKCgovKiBhcHAvdmlld3MvbmV3ZG9jL19jbG9zZWFi bGVfYWRfY29kZS5qcyBAIDEzNDg1MTc1MjYgKi8KClNjcmliZC5pbml0KCJTY3Jp YmQiLCJVSSIpO1NjcmliZC5VSS5DbG9zZWFibGVBZENvZGU9Q2xhc3MuY3JlYXRl KHthY3Rpb25zOntjbG9zZV9idXR0b246ZnVuY3Rpb24oKXt0aGlzLmhpZGUodHJ1 ZSk7dGhpcy5jbG9zZWQ9dHJ1ZTt9fSxpbml0aWFsaXplOmZ1bmN0aW9uKGNvbnRh aW5lcixvcHRzKXt0aGlzLmNvbnRhaW5lcj0kKGNvbnRhaW5lcik7dGhpcy5hZF9j b250YWluZXI9JChjb250YWluZXIpLmNoaWxkRWxlbWVudHMoKS5maXJzdCgpO3Ro aXMuY2xvc2VfYnV0dG9uPSQoY29udGFpbmVyKS5kb3duKCcuY2xvc2VfYnV0dG9u Jyk7dGhpcy5kb2N1bWVudF9jb2x1bW49dGhpcy5jb250YWluZXIudXAoJyNkb2N1 bWVudF9jb2x1bW4nKTt0aGlzLnNpZGViYXI9JCgnc2lkZWJhcicpO3RoaXMuYWRf d2lkdGg9b3B0cy53aWR0aHx8NzI4O3RoaXMubG9hZGluZ19mdW5jPW9wdHMubG9h ZGluZ19mdW5jfHwoZnVuY3Rpb24oKXt9KTt0aGlzLmNsb3NlZD1mYWxzZTt0aGlz LmhpZGUoKTt0aGlzLnNldHVwX2V2ZW50cygpO30saGlkZTpmdW5jdGlvbihwZXJt YW5lbnRseSl7cGVybWFuZW50bHk9dHlwZW9mIGEhPT0ndW5kZWZpbmVkJz9hOmZh bHNlO2lmKHBlcm1hbmVudGx5KXt0aGlzLmNvbnRhaW5lci5oaWRlKCk7fWVsc2V7 dGhpcy5jb250YWluZXIuc2hvdygpO3RoaXMuY29udGFpbmVyLnNldFN0eWxlKHt3 aWR0aDonMHB4JyxoZWlnaHQ6JzBweCcsb3ZlcmZsb3c6J2hpZGRlbicsYm9yZGVy X3dpZHRoOicwcHgnfSk7fQppZih0aGlzLmNsb3NlX2J1dHRvbil7dGhpcy5jbG9z ZV9idXR0b24uaGlkZSgpO319LHNob3c6ZnVuY3Rpb24oKXt0aGlzLmNvbnRhaW5l ci5zaG93KCk7dGhpcy5jb250YWluZXIuc2V0U3R5bGUoe2hlaWdodDonJyx3aWR0 aDonJyxvdmVyZmxvdzonJyxib3JkZXJfd2lkdGg6JzFweCd9KTtpZih0aGlzLmNs b3NlX2J1dHRvbil7dGhpcy5jbG9zZV9idXR0b24uc2hvdygpO319LHNldHVwX2V2 ZW50czpmdW5jdGlvbigpe3RoaXMuY29udGFpbmVyLm9ic2VydmUoJ2NsaWNrJywo ZnVuY3Rpb24oZSl7U2NyaWJkLlVJLmRpc3BhdGNoKGUsdGhpcy5hY3Rpb25zLHRo aXMsJ2Fib3ZlX3NjcnViYmVyX2FkJyk7fSkuYmluZCh0aGlzKSk7U2NyaWJkLm9u

QWRGaWxsZWQodGhpcy5hZF9jb250YWluZXIsdGhpcy5tYXliZV9zaG93X2FkLmJp bmQodGhpcykpO2lmKCF0aGlzLnRvb193aWRlKHRoaXMuYWRfd2lkdGgpKXt0aGlz LmxvYWRpbmdfZnVuYygpO319LG1heWJlX3Nob3dfYWQ6ZnVuY3Rpb24oKXsoZnVu Y3Rpb24oKXtpZih0aGlzLmFkX3Zpc2libGUoKSl7ZG9jTWFuYWdlci5zZXRQYWdl V2lkdGhzKHRoaXMuYWRfd2lkdGgpO3RoaXMuc2hvdygpO31lbHNle3RoaXMuaGlk ZSh0cnVlKTt9fSkuYmluZCh0aGlzKS5kZWZlcigpO30sYWRfdmlzaWJsZTpmdW5j dGlvbigpe3JldHVybiB0aGlzLmFkX2NvbnRhaW5lci5jaGlsZEVsZW1lbnRzKCku bGVuZ3RoPjEmJnRoaXMuYWRfY29udGFpbmVyLnZpc2libGUoKTt9LHRvb193aWRl OmZ1bmN0aW9uKGNvbHVtbl93aWR0aCl7aWYoIXRoaXMuc2lkZWJhcilyZXR1cm4g dHJ1ZTtyZXR1cm4gdGhpcy5zaWRlYmFyLmdldFdpZHRoKCkrY29sdW1uX3dpZHRo PmRvY3VtZW50LnZpZXdwb3J0LmdldFdpZHRoKCk7fX0pOwoKCi8qIGFwcC92aWV3 cy9uZXdkb2MvX2NvbW1lbnRzLmpzIEAgMTM0ODUxNzUyNiAqLwoKU2NyaWJkLlVJ LkNvbW1lbnRMaXN0PUNsYXNzLmNyZWF0ZSh7ZG9jdW1lbnRfZXZlbnRzX3VybDoi L2RvY3VtZW50X2V2ZW50cy8iLGFjdGlvbnM6e21vcmVfY29tbWVudHNfYnV0dG9u OmZ1bmN0aW9uKGVsbSl7dGhpcy5sb2FkX21vcmVfY29tbWVudHMoKTt9LHJlcGx5 X2J1dHRvbjpmdW5jdGlvbihlbG0pe3ZhciBpZD1lbG0ucmVhZEF0dHJpYnV0ZSgi ZGF0YS10aW1lbGluZV9ldmVudF9pZCIpLHVpZD1lbG0ucmVhZEF0dHJpYnV0ZSgi ZGF0YS10b191aWQiKSxrZXk9aWQrIjsiK3VpZDt2YXIgZm9ybT10aGlzLmZvcm1z W2tleV07aWYoZm9ybSl7Zm9ybS5jb250YWluZXIudG9nZ2xlKCk7fWVsc2V7dmFy IGNvbnRhaW5lcj1lbG0udXAoIi5zaW5nbGVfY29tbWVudCIpLm5leHQoJy5jb21t ZW50X3JlcGxpZXMnKTtpZighY29udGFpbmVyKXtjb250YWluZXI9bmV3IEVsZW1l bnQoImRpdiIseyJjbGFzcyI6ImNvbW1lbnRfcmVwbGllcyJ9KTtlbG0udXAoIi5z aW5nbGVfY29tbWVudCIpLmluc2VydCh7YWZ0ZXI6Y29udGFpbmVyfSk7fQpmb3Jt PXRoaXMucmVwbHlfZm9ybV9mb3IoaWQsdWlkLGNvbnRhaW5lcik7dGhpcy5mb3Jt c1trZXldPWZvcm07ZWxtLnBhcmVudE5vZGUuaW5zZXJ0KHthZnRlcjpmb3JtLmNv bnRhaW5lcn0pO319LGRlbGV0ZV9idXR0b246ZnVuY3Rpb24oZWxtKXt0aGlzLmRl bGV0ZV9jb21tZW50KGVsbS5yZWFkQXR0cmlidXRlKCJkYXRhLWlkIikpO3ZhciBj b21tZW50PWVsbS51cCgiLnNpbmdsZV9jb21tZW50Iik7Y29tbWVudC51cGRhdGUo JzxkaXYgY2xhc3M9ImF1dG9nZW5fY2xhc3Nfdmlld3Nfc2hhcmVkX2FsZXJ0c19z dWNjZXNzX3JlZCBhdXRvZ2VuX2NsYXNzX3ZpZXdzX3NoYXJlZF9hbGVydHNfYmFz ZSI+PGRpdiBjbGFzcz0iaW5uZXIiPkRlbGV0ZWQhPC9kaXY+PC9kaXY+Jyk7Y29t bWVudC5hZGRDbGFzc05hbWUoImRlbGV0ZWQiKTt2YXIgcmVwbGllcz1jb21tZW50 Lm5leHQoIi5jb21tZW50X3JlcGxpZXMiKTtpZihyZXBsaWVzKXJlcGxpZXMucmVt b3ZlKCk7KGZ1bmN0aW9uKCl7bmV3IEVmZmVjdC5GYWRlKGNvbW1lbnQse2R1cmF0 aW9uOjAuNX0pO30pLmRlbGF5KDIuMCk7fX0saW5pdGlhbGl6ZTpmdW5jdGlvbihj b250YWluZXIpe3RoaXMuY3VycmVudF9wYWdlPTE7dGhpcy5mb3Jtcz17fTt0aGlz LmNvbnRhaW5lcj0kKGNvbnRhaW5lcik7dGhpcy5jb250YWluZXIub2JzZXJ2ZSgi Y2xpY2siLGZ1bmN0aW9uKGUpe1NjcmliZC5VSS5kaXNwYXRjaChlLHRoaXMuYWN0 aW9ucyx0aGlzLCJjb21tZW50cyIpO30uYmluZCh0aGlzKSk7fSxyZXBseV9mb3Jt X2ZvcjpmdW5jdGlvbihldmVudF9pZCx1aWQsZGlzcGxheV9lbGVtZW50KXt2YXIg ZWxtPSQoInJlcGx5X3RlbXBsYXRlIikuZG93bigiLmNvbW1lbnRfZm9ybSIpLmNs b25lTm9kZSh0cnVlKTtlbG0ucmVtb3ZlQXR0cmlidXRlKCJpZCIpO2VsbS5kb3du KCJmb3JtIikuYWN0aW9uPSIvZG9jdW1lbnRzLyIrU2NyaWJkLmN1cnJlbnRfZG9j LmlkKyIvY29tbWVudHMvIitldmVudF9pZCsiL3JlcGx5P3RvX3VpZD0iK3VpZDty ZXR1cm4gbmV3IFNjcmliZC5VSS5Db21tZW50Rm9ybShlbG0se2lzX3JlcGx5OnRy dWUsZGlzcGxheV9lbGVtZW50OmRpc3BsYXlfZWxlbWVudH0pO30sZGVsZXRlX2Nv bW1lbnQ6ZnVuY3Rpb24oZG9jX2V2ZW50X2lkKXt2YXIgdXJsPXRoaXMuZG9jdW1l bnRfZXZlbnRzX3VybCtkb2NfZXZlbnRfaWQ7bmV3IEFqYXguUmVxdWVzdCh1cmws e2FzeW5jaHJvbm91czp0cnVlLGV2YWxTY3JpcHRzOnRydWUsbWV0aG9kOidkZWxl dGUnfSk7fSxsb2FkX21vcmVfY29tbWVudHM6ZnVuY3Rpb24oZXh0cmFzKXtleHRy YXM9ZXh0cmFzfHx7cGVyX3BhZ2U6OCxmb3JtYXQ6Impzb24ifTt2YXIgcGFnZT0r K3RoaXMuY3VycmVudF9wYWdlO3ZhciB1cmw9Ii9kb2N1bWVudHMvIitTY3JpYmQu Y3VycmVudF9kb2MuaWQrIi9jb21tZW50cz9wYWdlPSIrcGFnZTt0aGlzLmNvbnRh aW5lci5kb3duKCIubW9yZV9jb21tZW50c19idXR0b24iKS5oaWRlKCk7dGhpcy5j b250YWluZXIuZG93bigiLmxvYWRpbmdfY29tbWVudHMiKS5zaG93KCk7bmV3IEFq YXguUmVxdWVzdCh1cmwse21ldGhvZDonZ2V0JyxwYXJhbWV0ZXJzOmV4dHJhcyxv bkNvbXBsZXRlOmZ1bmN0aW9uKHJlcSl7dmFyIGV2ZW50cz10aGlzLmNvbnRhaW5l ci5kb3duKCIuZXZlbnRzIik7dmFyIGh0bWxzPXJlcS5yZXNwb25zZUpTT04uY29t bWVudHMubWFwKGZ1bmN0aW9uKGNvbW1lbnQpe3JldHVybiBjb21tZW50LmNvbnRl bnQ7fSk7aWYoIXJlcS5yZXNwb25zZUpTT04ubGFzdF9wYWdlJiZyZXEucmVzcG9u

c2VKU09OLmNvbW1lbnRzLmxlbmd0aCE9MCl7dGhpcy5jb250YWluZXIuZG93bigi Lm1vcmVfY29tbWVudHNfYnV0dG9uIikuc2hvdygpO30KdGhpcy5jb250YWluZXIu ZG93bigiLmxvYWRpbmdfY29tbWVudHMiKS5oaWRlKCk7dmFyIG5ld19jb21tZW50 cz1uZXcgRWxlbWVudCgiZGl2IikudXBkYXRlKGh0bWxzLmpvaW4oIiIpKTtldmVu dHMuaW5zZXJ0KHtib3R0b206bmV3X2NvbW1lbnRzfSk7bmV3IEVmZmVjdC5CbGlu ZERvd24obmV3X2NvbW1lbnRzLHtkdXJhdGlvbjowLjJ9KTtkb2N1bWVudC5maXJl KCdzY3JpYmQ6ZG9tX2hlaWdodF9jaGFuZ2VkJyk7fS5iaW5kKHRoaXMpfSk7fX0p O1NjcmliZC5VSS5Db21tZW50Rm9ybT1DbGFzcy5jcmVhdGUoe2V2ZW50c19zZW50 Ont9LG1heF9sZW46NDAwLGFjdGlvbnM6e2Zha2VfdGV4dGFyZWE6ZnVuY3Rpb24o KXtTY3JpYmQubG9naW4ub3Blbih7Y29udGV4dDoiY29tbWVudCIsbmV4dF91cmw6 U2NyaWJkLmN1cnJlbnRfZG9jLnVybCsiI2NvbW1lbnRzIn0pO30sc3VibWl0X2Nv bW1lbnQ6ZnVuY3Rpb24oKXt0aGlzLnN1Ym1pdF9jb21tZW50KCk7fX0saW5pdGlh bGl6ZTpmdW5jdGlvbihjb250YWluZXIsb3B0aW9ucyl7dGhpcy5vcHRpb25zPU9i amVjdC5leHRlbmQoe30sb3B0aW9uc3x8e30pO3RoaXMuY29udGFpbmVyPSQoY29u dGFpbmVyKTt0aGlzLmZvcm09dGhpcy5jb250YWluZXIuZG93bigiZm9ybSIpO3Zh ciBfdGhpcz10aGlzO3RoaXMuZm9ybS5vbnN1Ym1pdD1mdW5jdGlvbihlKXtFdmVu dC5zdG9wKGV8fHdpbmRvdy5ldmVudCk7X3RoaXMuc3VibWl0X2NvbW1lbnQoKTty ZXR1cm4gZmFsc2U7fTt0aGlzLmNvbnRhaW5lci5vYnNlcnZlKCJjbGljayIsZnVu Y3Rpb24oZSl7U2NyaWJkLlVJLmRpc3BhdGNoKGUsdGhpcy5hY3Rpb25zLHRoaXMs ImNvbW1tZW50cyIpO30uYmluZCh0aGlzKSk7dGhpcy5pbnB1dD10aGlzLmNvbnRh aW5lci5kb3duKCJ0ZXh0YXJlYSIpO3RoaXMuZXJyb3JzPXRoaXMuY29udGFpbmVy LmRvd24oIi5jb21tZW50X2Vycm9ycyIpO2lmKHRoaXMuaW5wdXQpe1NjcmliZC5l bmZvcmNlTWF4TGVuZ3RoKHRoaXMuaW5wdXQsdGhpcy5jb250YWluZXIuZG93bign Lm51bWJlcicpLHRoaXMubWF4X2xlbik7dGhpcy5pbnB1dC5vYnNlcnZlKCJmb2N1 cyIsZnVuY3Rpb24oKXt2YXIgZXZlbnRfbmFtZT10aGlzLm9wdGlvbnMuaXNfcmVw bHk/ImNvbW1lbnRfcmVwbHkiOiJjb21tZW50X25ldyI7aWYodGhpcy5ldmVudHNf c2VudFtldmVudF9uYW1lXSlyZXR1cm47dHJhY2tFdmVudCgibmV3ZG9jIiwiRm9j dXMiLGV2ZW50X25hbWUsU2NyaWJkLmxvZ2dlZF9pbj8xOjApO3RoaXMuZXZlbnRz X3NlbnRbZXZlbnRfbmFtZV09dHJ1ZTt9LmJpbmQodGhpcykpO31lbHNle3RoaXMu Y29udGFpbmVyLmRvd24oIi5udW1iZXIiKS51cGRhdGUodGhpcy5tYXhfbGVuKTt9 fSx2YWxpZGF0ZTpmdW5jdGlvbigpe3RoaXMuZXJyb3JzLmhpZGUoKTtpZih0aGlz LmlucHV0LnZhbHVlLmJsYW5rKCkpe3RoaXMuZXJyb3JzLnNob3coKTtyZXR1cm4g ZmFsc2U7fQpyZXR1cm4gdHJ1ZTt9LHNldF9lcnJvcl9tZXNzYWdlOmZ1bmN0aW9u KG1zZyl7dGhpcy5lcnJvcnMuZG93bigiLmFsZXJ0IikudXBkYXRlKG1zZyk7dGhp cy5lcnJvcnMuc2hvdygpO30sc3VibWl0X2NvbW1lbnQ6ZnVuY3Rpb24oKXt2YXIg YnRuPXRoaXMuY29udGFpbmVyLmRvd24oIi5zdWJtaXRfY29tbWVudCIpO2lmKGJ0 bi5oYXNDbGFzc05hbWUoImRpc2FibGVkIikpcmV0dXJuO2lmKCF0aGlzLnZhbGlk YXRlKCkpcmV0dXJuO3RoaXMuZXJyb3JzLmhpZGUoKTtidG4uYWRkQ2xhc3NOYW1l KCJkaXNhYmxlZCIpO1NjcmliZC5SZW1vdGUuRm9ybSh0aGlzLmZvcm0se3VzZV9h bGVydDpmYWxzZSxvbkNvbXBsZXRlOmZ1bmN0aW9uKHJlcSl7dGhpcy5mb3JtLmVu YWJsZSgpO3RoaXMuZm9ybS5kb3duKCIuc3Bpbm5lciIpLmhpZGUoKTtidG4ucmVt b3ZlQ2xhc3NOYW1lKCJkaXNhYmxlZCIpO2lmKHJlcS5yZXNwb25zZUpTT04uZXJy b3Ipe3RoaXMuc2V0X2Vycm9yX21lc3NhZ2UocmVxLnJlc3BvbnNlSlNPTi5lcnJv cik7cmV0dXJuO30KdGhpcy5pbnB1dC52YWx1ZT0nJzt0aGlzLmRpc3BsYXlfY29t bWVudChyZXEucmVzcG9uc2VKU09OLmNvbnRlbnQpO30uYmluZCh0aGlzKX0pO30s ZGlzcGxheV9jb21tZW50OmZ1bmN0aW9uKGh0bWwpe3ZhciBldmVudHM9dGhpcy5v cHRpb25zLmRpc3BsYXlfZWxlbWVudHx8JCgiY29tbWVudHNfc2VjdGlvbiIpLmRv d24oIi5ldmVudHMiKTtldmVudHMuaW5zZXJ0KHt0b3A6aHRtbH0pO3ZhciBjb21t ZW50PWV2ZW50cy5maXJzdERlc2NlbmRhbnQoKTtpZih0aGlzLm9wdGlvbnMuaXNf cmVwbHkpe2NvbW1lbnQuZG93bigiLnNpbmdsZV9jb21tZW50IikuYWRkQ2xhc3NO YW1lKCJjaGlsZF9jb21tZW50Iik7Y29tbWVudC5kb3duKCIucmVwbHlfYnV0dG9u IikucmVtb3ZlKCk7dGhpcy5jb250YWluZXIudG9nZ2xlKCk7fQpuZXcgRWZmZWN0 LkJsaW5kRG93bihjb21tZW50LHt0cmFuc2l0aW9uOkVmZmVjdC5UcmFuc2l0aW9u cy5zcHJpbmd9KTtuZXcgRWZmZWN0LkFwcGVhcihjb21tZW50LHthZnRlckZpbmlz aDpmdW5jdGlvbigpe2RvY3VtZW50LmZpcmUoJ3NjcmliZDpkb21faGVpZ2h0X2No YW5nZWQnKTt9fSk7fX0pOwoKCi8qIGFwcC92aWV3cy9uZXdkb2MvcGFnaW5hdGVk L19jb2xsZWN0aW9uX3dpZGdldHMuanMgQCAxMzQ4NTE3NTI2ICovCgpTY3JpYmQu VUkuQ29sbGVjdGlvbldpZGdldHM9Q2xhc3MuY3JlYXRlKHtpbml0aWFsaXplOmZ1 bmN0aW9uKGNvbnRhaW5lcil7dmFyIGNvbGxlY3Rpb25zPWNvbnRhaW5lci5zZWxl Y3QoJy5wYWdpbmF0ZWRfZG9jdW1lbnRfY29sbGVjdGlvbicpO2NvbGxlY3Rpb25z

LmVhY2goZnVuY3Rpb24oY29sbGVjdGlvbil7cmV0dXJuIG5ldyBTY3JpYmQuVUku RG9jdW1lbnRDb2xsZWN0aW9uKGNvbGxlY3Rpb24pO30pO2RvY3VtZW50LmZpcmUo J0RvY3VtZW50Q29sbGVjdGlvbjpMb2FkZWQnKTt9fSk7U2NyaWJkLlVJLkRvY3Vt ZW50Q29sbGVjdGlvbj1DbGFzcy5jcmVhdGUoe2FjdGlvbnM6e25leHRfY29sbGVj dGlvbl9wYWdlOmZ1bmN0aW9uKCl7dGhpcy5nb3RvX3BhZ2UodGhpcy5jdXJyZW50 X3BhZ2UrMSk7fSxwcmV2X2NvbGxlY3Rpb25fcGFnZTpmdW5jdGlvbigpe3RoaXMu Z290b19wYWdlKHRoaXMuY3VycmVudF9wYWdlLTEpO319LHRyYWNraW5nOntwYWdp bmF0ZWRfcmVsYXRlZF9kb2M6ZnVuY3Rpb24oKXt0cmFja0V2ZW50KCduZXdkb2Mn LCdQYWdpbmF0aW9uJywncGFnaW5hdGVkX3JlbGF0ZWRfZG9jJywxKTt9LHBhZ2lu YXRlZF91c2VyX2RvYzpmdW5jdGlvbigpe3RyYWNrRXZlbnQoJ25ld2RvYycsJ1Bh Z2luYXRpb24nLCdwYWdpbmF0ZWRfdXNlcl9kb2MnLDEpO319LGluaXRpYWxpemU6 ZnVuY3Rpb24oY29udGFpbmVyKXt0aGlzLnBlcl9wYWdlPTM7dGhpcy5jb250YWlu ZXI9JChjb250YWluZXIpO3RoaXMucHJldl9wYWdlX2J1dHRvbj10aGlzLmNvbnRh aW5lci5kb3duKCcucHJldl9wYWdlJyk7dGhpcy5uZXh0X3BhZ2VfYnV0dG9uPXRo aXMuY29udGFpbmVyLmRvd24oJy5uZXh0X3BhZ2UnKTtpZighdGhpcy5jb250YWlu ZXIpcmV0dXJuO3RoaXMuY29udGFpbmVyLm9ic2VydmUoImNsaWNrIixmdW5jdGlv bihlKXtTY3JpYmQuVUkuZGlzcGF0Y2goZSx0aGlzLmFjdGlvbnMsdGhpcyk7fS5i aW5kKHRoaXMpKTt0aGlzLmNvbnRhaW5lci5vYnNlcnZlKCJjbGljayIsZnVuY3Rp b24oZSl7U2NyaWJkLlVJLmRpc3BhdGNoKGUsdGhpcy50cmFja2luZyx0aGlzLG51 bGwsdHJ1ZSk7fS5iaW5kKHRoaXMpKTt0aGlzLnBhZ2luYXRlKCk7fSxwYWdpbmF0 ZTpmdW5jdGlvbigpe3ZhciBpdGVtcz10aGlzLmNvbnRhaW5lci5zZWxlY3QoIi5w YWdpbmF0ZWRfZmVhdHVyZWRfZG9jIil8fFtdO2lmKGl0ZW1zLmxlbmd0aD09PTAp e3RoaXMuY29udGFpbmVyLmhpZGUoKTtyZXR1cm47fQp2YXIgcGFnZV9udW09MSxt YXhfcGFnZXM9TWF0aC5jZWlsKGl0ZW1zLmxlbmd0aC90aGlzLnBlcl9wYWdlKTt0 aGlzLnBhZ2VzPWl0ZW1zLmVhY2hTbGljZSh0aGlzLnBlcl9wYWdlLGZ1bmN0aW9u KHMpe3ZhciBwYWdlPW5ldyBFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6InJlbGF0 ZWRfcGFnZSJ9KTtzLmVhY2goZnVuY3Rpb24oZWxtKXtwYWdlLmluc2VydCh7Ym90 dG9tOmVsbX0pO30pO3ZhciBmb290ZXI9bmV3IEVsZW1lbnQoImRpdiIse2NsYXNz TmFtZToicGFnZV9mb290ZXIifSk7aWYocGFnZV9udW0+MSl7Zm9vdGVyLmluc2Vy dCh7Ym90dG9tOm5ldyBFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOiJwcmV2X2Nv bGxlY3Rpb25fcGFnZSBwc2V1ZG9MaW5rIn0pLnVwZGF0ZShJMThuLnQoImpzLnBy ZXZpb3VzIikpfSk7fQppZihwYWdlX251bTxtYXhfcGFnZXMpe2lmKCFmb290ZXIu ZW1wdHkoKSl7Zm9vdGVyLmluc2VydCh7Ym90dG9tOiIgfCAifSk7fQpmb290ZXIu aW5zZXJ0KHtib3R0b206bmV3IEVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6Im5l eHRfY29sbGVjdGlvbl9wYWdlIHBzZXVkb0xpbmsifSkudXBkYXRlKEkxOG4udCgi anMubmV4dCIpKX0pO30KaWYoIWZvb3Rlci5lbXB0eSgpKXtwYWdlLmluc2VydCh7 Ym90dG9tOmZvb3Rlcn0pO30KcGFnZV9udW0rKztyZXR1cm4gcGFnZTt9KTt0aGlz LnBhZ2VzLmVhY2goZnVuY3Rpb24ocCl7dGhpcy5jb250YWluZXIuaW5zZXJ0KHti b3R0b206cH0pO30uYmluZCh0aGlzKSk7dGhpcy5nb3RvX3BhZ2UoMSk7fSxnb3Rv X3BhZ2U6ZnVuY3Rpb24ocGFnZV9udW0pe3BhZ2VfbnVtPU1hdGgubWF4KDEsTWF0 aC5taW4odGhpcy5wYWdlcy5sZW5ndGgscGFnZV9udW0pKTtmb3IodmFyIGk9MDtp PHRoaXMucGFnZXMubGVuZ3RoO2krKyl7dmFyIHA9dGhpcy5wYWdlc1tpXTtpZihp KzE9PXBhZ2VfbnVtKXtwLnNob3coKTtwLnNlbGVjdCgiaW1nIikuZWFjaChmdW5j dGlvbihpbWcpe2ZvcmNlX2x6bGQoaW1nKTt9KTt9ZWxzZXtwLmhpZGUoKTt9fQp0 aGlzLmN1cnJlbnRfcGFnZT1wYWdlX251bTt9fSk7CgoKLyogYXBwL3ZpZXdzL25l d2RvYy9wYWdpbmF0ZWQvX3BhZGRsZXMuanMgQCAxMzQ4NTE3NTI2ICovCgpTY3Jp YmQuaW5pdCgiU2NyaWJkIiwiVUkiKTtTY3JpYmQuVUkuUGFkZGxlcz1DbGFzcy5j cmVhdGUoe2FjdGlvbnM6e2dvdG9fcHJldmlvdXNfcGFnZTpmdW5jdGlvbigpe2Rv Y3VtZW50LmZpcmUoInNjcmliZDppbnRlcmFjdCIpO1NjcmliZC5VSS5zY3JvbGxf dG9fdG9wKCk7ZG9jTWFuYWdlci5nb3RvUHJldmlvdXNQYWdlKCk7fSxnb3RvX25l eHRfcGFnZTpmdW5jdGlvbigpe2RvY3VtZW50LmZpcmUoInNjcmliZDppbnRlcmFj dCIpO1NjcmliZC5VSS5zY3JvbGxfdG9fdG9wKCk7ZG9jTWFuYWdlci5nb3RvTmV4 dFBhZ2UoKTt9fSxpbml0aWFsaXplOmZ1bmN0aW9uKGNvbnRhaW5lcil7dGhpcy5j b250YWluZXI9JChjb250YWluZXIpO2lmKGRvY01hbmFnZXIucGFnZUNvdW50KCk9 PTEpe3RoaXMuY29udGFpbmVyLmhpZGUoKTtyZXR1cm47fQp0aGlzLm1heF9wYWdl PVNjcmliZC5VSS5QYWdlci5wcm90b3R5cGUuZ2V0X2hpZ2hlc3RfcGFnZSgpO3Ro aXMubGVmdF9wYWRkbGU9dGhpcy5jb250YWluZXIuZG93bigiLnBhZGRsZV9sZWZ0 Iik7dGhpcy5yaWdodF9wYWRkbGU9dGhpcy5jb250YWluZXIuZG93bigiLnBhZGRs ZV9yaWdodCIpO3RoaXMubGVmdF9ob3RzcG90PXRoaXMuY29udGFpbmVyLmRvd24o Ii5ob3RzcG90X2xlZnQiKTt0aGlzLnJpZ2h0X2hvdHNwb3Q9dGhpcy5jb250YWlu

ZXIuZG93bigiLmhvdHNwb3RfcmlnaHQiKTt0aGlzLmlzX21pbmk9ZmFsc2U7dGhp cy5jb250YWluZXIub2JzZXJ2ZSgiY2xpY2siLGZ1bmN0aW9uKGUpe1NjcmliZC5V SS5kaXNwYXRjaChlLHRoaXMuYWN0aW9ucyx0aGlzKTt9LmJpbmQodGhpcykpO3Ro aXMuYXR0YWNoLmJpbmQodGhpcykuZGVmZXIoKTt9LG9uX2NoYW5nZV9wYWdlOmZ1 bmN0aW9uKG51bSl7aWYobnVtPT0xKXt0aGlzLmxlZnRfcGFkZGxlLmFkZENsYXNz TmFtZSgiZGlzYWJsZWQiKTt0aGlzLmxlZnRfaG90c3BvdC5hZGRDbGFzc05hbWUo ImRpc2FibGVkIik7fWVsc2V7dGhpcy5sZWZ0X3BhZGRsZS5yZW1vdmVDbGFzc05h bWUoImRpc2FibGVkIik7dGhpcy5sZWZ0X2hvdHNwb3QucmVtb3ZlQ2xhc3NOYW1l KCJkaXNhYmxlZCIpO30KaWYobnVtPT10aGlzLm1heF9wYWdlKXt0aGlzLnJpZ2h0 X3BhZGRsZS5hZGRDbGFzc05hbWUoImRpc2FibGVkIik7dGhpcy5yaWdodF9ob3Rz cG90LmFkZENsYXNzTmFtZSgiZGlzYWJsZWQiKTt9ZWxzZXt0aGlzLnJpZ2h0X3Bh ZGRsZS5yZW1vdmVDbGFzc05hbWUoImRpc2FibGVkIik7dGhpcy5yaWdodF9ob3Rz cG90LnJlbW92ZUNsYXNzTmFtZSgiZGlzYWJsZWQiKTt9fSxhdHRhY2g6ZnVuY3Rp b24oKXt2YXIgX3RoaXM9dGhpczt2YXIgdmlld2VyPSQoInZpZXdlciIpO3ZhciBs ZWZ0X3BhZGRsZT10aGlzLmxlZnRfcGFkZGxlLHJpZ2h0X3BhZGRsZT10aGlzLnJp Z2h0X3BhZGRsZSxsZWZ0X2hvdHNwb3Q9dGhpcy5sZWZ0X2hvdHNwb3QscmlnaHRf aG90c3BvdD10aGlzLnJpZ2h0X2hvdHNwb3Q7dmFyIHBhZGRsZV9oZWlnaHQ9bGVm dF9wYWRkbGUuZ2V0SGVpZ2h0KCk7ZG9jTWFuYWdlci5hZGRFdmVudCgiZXhwZWN0 ZWRGaXJzdFBhZ2VDaGFuZ2VkIixmdW5jdGlvbihwYWdlX251bSl7X3RoaXMub25f Y2hhbmdlX3BhZ2UocGFnZV9udW0pO30pO3RoaXMudXBkYXRlX3Bvc2l0aW9uPWZ1 bmN0aW9uKCl7dmFyIHZpZXdlcl9oZWlnaHQ9dmlld2VyLmdldEhlaWdodCgpO3Zh ciB2aWV3ZXJfb2Zmc2V0PXZpZXdlci5jdW11bGF0aXZlT2Zmc2V0KCk7dmFyIHNj cm9sbD1kb2N1bWVudC52aWV3cG9ydC5nZXRTY3JvbGxPZmZzZXRzKCk7dmFyIHVw O2lmKHZpZXdlci5zdHlsZS5wb3NpdGlvbj09ImZpeGVkIil7dXA9MDt9ZWxzZXt1 cD1NYXRoLm1heChzY3JvbGwudG9wLHZpZXdlcl9vZmZzZXQudG9wKTt9CnZhciBk b3duPXZpZXdlcl9vZmZzZXQudG9wK3ZpZXdlcl9oZWlnaHQ7dmFyIGhlaWdodD1k b3duLXVwO3ZhciBtaWQ9TWF0aC5tYXgoOCxNYXRoLmZsb29yKChoZWlnaHQtcGFk ZGxlX2hlaWdodCkvMikpO2xlZnRfcGFkZGxlLnN0eWxlLmJvdHRvbT1taWQrInB4 IjtyaWdodF9wYWRkbGUuc3R5bGUuYm90dG9tPW1pZCsicHgiO2xlZnRfaG90c3Bv dC5zdHlsZS5oZWlnaHQ9dmlld2VyX2hlaWdodCsicHgiO3JpZ2h0X2hvdHNwb3Qu c3R5bGUuaGVpZ2h0PXZpZXdlcl9oZWlnaHQrInB4Ijt9LmJpbmQodGhpcyk7KGZ1 bmN0aW9uKCl7X3RoaXMub25fY2hhbmdlX3BhZ2UoZG9jTWFuYWdlci5maXJzdFZp c2libGVQYWdlLnBhZ2VOdW0pO3ZhciBub3A9ZnVuY3Rpb24oKXt9O190aGlzLnVw ZGF0ZV9wb3NpdGlvbigpO1NjcmliZC5TdGlja3lFbGVtZW50KF90aGlzLmNvbnRh aW5lcixub3Asbm9wLG5vcCxfdGhpcy51cGRhdGVfcG9zaXRpb24pO30pLmRlZmVy KCk7fX0pOwoKCi8qIGFwcC92aWV3cy9uZXdkb2MvcGFnaW5hdGVkL19wYWdlX251 bWJlcnMuanMgQCAxMzQ4NTE3NTI2ICovCgpTY3JpYmQuaW5pdCgiU2NyaWJkIiwi VUkiKTtTY3JpYmQuVUkuUGFnZU51bWJlcnM9Q2xhc3MuY3JlYXRlKHtwYWdlX3Jh bmdlOjcsaW5pdGlhbGl6ZTpmdW5jdGlvbihjb250YWluZXIpe3RoaXMuY29udGFp bmVyPSQoY29udGFpbmVyKTtpZihkb2NNYW5hZ2VyLnBhZ2VDb3VudCgpPT0xKXt0 aGlzLmNvbnRhaW5lci5oaWRlKCk7cmV0dXJuO30KdGhpcy52aWV3ZXI9dGhpcy5j b250YWluZXIucGFyZW50Tm9kZTt0aGlzLnBhZ2VzX2VsbT10aGlzLmNvbnRhaW5l ci5kb3duKCIucGFnZXMiKTt0aGlzLmNlbnRlcl9vbl9kb2N1bWVudD10aGlzLmNl bnRlcl9vbl9kb2N1bWVudC5iaW5kKHRoaXMpO3RoaXMubWF4X3BhZ2U9U2NyaWJk LlVJLlBhZ2VyLnByb3RvdHlwZS5nZXRfaGlnaGVzdF9wYWdlKCk7dGhpcy5hdHRh Y2guYmluZCh0aGlzKS5kZWZlcigpO3RoaXMuY29udGFpbmVyLm9ic2VydmUoImNs aWNrIixmdW5jdGlvbihlKXt2YXIgZWxtPWUuZmluZEVsZW1lbnQoIltkYXRhLXBh Z2VdIik7aWYoZWxtKXtkb2NNYW5hZ2VyLmdvdG9QYWdlKGVsbS5yZWFkQXR0cmli dXRlKCJkYXRhLXBhZ2UiKSk7ZG9jdW1lbnQuZmlyZSgic2NyaWJkOmludGVyYWN0 Iik7dHJhY2tFdmVudCgibmV3ZG9jIiwiUGFnaW5hdGlvbiIsImNsaWNrX3BhZ2Vf bnVtYmVyIixTY3JpYmQubG9nZ2VkX2luPzE6MCk7fX0uYmluZCh0aGlzKSk7ZG9j TWFuYWdlci5hZGRFdmVudCgiZXhwZWN0ZWRGaXJzdFBhZ2VDaGFuZ2VkIixmdW5j dGlvbihwYWdlX251bSl7dGhpcy5jdXJyZW50X3BhZ2VfY2hhbmdlZChwYWdlX251 bSk7fS5iaW5kKHRoaXMpKTt0aGlzLmN1cnJlbnRfcGFnZV9jaGFuZ2VkKDEpO30s Y3VycmVudF9wYWdlX2NoYW5nZWQ6ZnVuY3Rpb24ocGFnZV9udW0pe3BhZ2VfbnVt PXBhcnNlSW50KHBhZ2VfbnVtLDEwKTtpZihwYWdlX251bT09dGhpcy5wYWdlX251 bSlyZXR1cm47dGhpcy5wYWdlc19lbG0udXBkYXRlKCIiKTt2YXIgaGFsZj1NYXRo LmZsb29yKHRoaXMucGFnZV9yYW5nZS8yKTt2YXIgYmVmb3JlPXRoaXMuZ2V0X3Bh Z2VzKHBhZ2VfbnVtLC0xLGhhbGYpLGFmdGVyPXRoaXMuZ2V0X3BhZ2VzKHBhZ2Vf bnVtLDEsdGhpcy5wYWdlX3JhbmdlLWJlZm9yZS5sZW5ndGgtMSk7aWYoIWJlZm9y

ZS5oaXRfZW5kKXt0aGlzLnBhZ2VzX2VsbS5hcHBlbmRDaGlsZCh0aGlzLm5ld19w YWdlX2VsbSgxKSk7dGhpcy5wYWdlc19lbG0uYXBwZW5kQ2hpbGQobmV3IEVsZW1l bnQoInNwYW4iKS51cGRhdGUoIi4uLiIpLmFkZENsYXNzTmFtZSgiZG90ZG90ZG90 IikpO30KdmFyIHBhZ2VzPWJlZm9yZS5jb25jYXQoKS5jb25jYXQoW3BhZ2VfbnVt XSkuY29uY2F0KGFmdGVyKTtwYWdlcy5lYWNoKGZ1bmN0aW9uKHApe3RoaXMucGFn ZXNfZWxtLmFwcGVuZENoaWxkKHRoaXMubmV3X3BhZ2VfZWxtKHApKTt9LmJpbmQo dGhpcykpO2lmKCFhZnRlci5oaXRfZW5kKXt0aGlzLnBhZ2VzX2VsbS5hcHBlbmRD aGlsZChuZXcgRWxlbWVudCgic3BhbiIpLnVwZGF0ZSgiLi4uIikuYWRkQ2xhc3NO YW1lKCJkb3Rkb3Rkb3QiKSk7dGhpcy5wYWdlc19lbG0uYXBwZW5kQ2hpbGQodGhp cy5uZXdfcGFnZV9lbG0odGhpcy5tYXhfcGFnZSkpO30KdGhpcy5wYWdlc19lbG0u c2VsZWN0KCJsaSIpLmVhY2goZnVuY3Rpb24oZSl7aWYoZS5yZWFkQXR0cmlidXRl KCJkYXRhLXBhZ2UiKT09cGFnZV9udW0pe2UuYWRkQ2xhc3NOYW1lKCJjdXJyZW50 Iik7fWVsc2V7ZS5yZW1vdmVDbGFzc05hbWUoImN1cnJlbnQiKTt9fSk7dGhpcy5w YWdlX251bT1wYWdlX251bTt0aGlzLmNlbnRlcl9vbl9kb2N1bWVudCgpO30sZ2V0 X3BhZ2VzOmZ1bmN0aW9uKHN0YXJ0LGRpcmVjdGlvbixjb3VudCl7dmFyIHBhZ2Vz PVtdO3ZhciBsYXN0PXN0YXJ0O3doaWxlKGNvdW50LS0+MCl7c3RhcnQ9ZG9jTWFu YWdlci5nZXRDbG9zZXN0UGFnZU51bWJlcihzdGFydCtkaXJlY3Rpb24sZGlyZWN0 aW9uKTtpZihzdGFydD09bGFzdHx8c3RhcnQ8MXx8c3RhcnQ+dGhpcy5tYXhfcGFn ZSlicmVhaztsYXN0PXN0YXJ0O3BhZ2VzLnB1c2goc3RhcnQpO30KaWYoc3RhcnQ8 PTF8fHN0YXJ0Pj10aGlzLm1heF9wYWdlKXBhZ2VzLmhpdF9lbmQ9dHJ1ZTtpZihk aXJlY3Rpb248MClwYWdlcy5yZXZlcnNlKHRydWUpO3JldHVybiBwYWdlczt9LG5l d19wYWdlX2VsbTpmdW5jdGlvbihwYWdlX251bSl7cmV0dXJuIG5ldyBFbGVtZW50 KCJsaSIseyJkYXRhLXBhZ2UiOnBhZ2VfbnVtfSkudXBkYXRlKHBhZ2VfbnVtKTt9 LGF0dGFjaDpmdW5jdGlvbigpe2RvY3VtZW50Lm9ic2VydmUoInNjcmliZDpkb21f aGVpZ2h0X2NoYW5nZWQiLHRoaXMuY2VudGVyX29uX2RvY3VtZW50KTtkb2NNYW5h Z2VyLmFkZEV2ZW50KCJ6b29tZWQiLFNjcmliZC5VSS5wYWdlX251bWJlcnMuY2Vu dGVyX29uX2RvY3VtZW50LmJpbmQodGhpcykpO3RoaXMuY2VudGVyX29uX2RvY3Vt ZW50KCk7fSxjZW50ZXJfb25fZG9jdW1lbnQ6ZnVuY3Rpb24oKXt2YXIgd2lkdGg9 dGhpcy5jb250YWluZXIuZ2V0V2lkdGgoKSxwYXJlbnRfd2lkdGg9dGhpcy52aWV3 ZXIuZ2V0V2lkdGgoKTt0aGlzLmNvbnRhaW5lci5zZXRTdHlsZSh7bGVmdDpNYXRo LmZsb29yKChwYXJlbnRfd2lkdGgtd2lkdGgpLzIpKyJweCJ9KTt9fSk7CgoKLyog YXBwL3ZpZXdzL25ld2RvYy9wYWdpbmF0ZWQvX3NjcnViYmVyLmpzIEAgMTM0ODUx NzUyNiAqLwoKU2NyaWJkLmluaXQoIlNjcmliZCIsIlVJIik7U2NyaWJkLlVJLlNj cnViYmVyPUNsYXNzLmNyZWF0ZSh7YWN0aW9uczp7c2hvd19zZWN0aW9uczpmdW5j dGlvbigpe2lmKHRoaXMuc2VjdGlvbl90b29sdGlwLnZpc2libGUoKSl7dGhpcy5o aWRlX3NlY3Rpb25fdG9vbHRpcCgpO31lbHNle3RoaXMuc2hvd19zZWN0aW9uX3Rv b2x0aXAoKTt9fX0saW5pdGlhbGl6ZTpmdW5jdGlvbihjb250YWluZXIsb3B0cyl7 dGhpcy5jb250YWluZXI9JChjb250YWluZXIpO2lmKGRvY01hbmFnZXIucGFnZUNv dW50KCk9PTEpe3RoaXMuY29udGFpbmVyLmhpZGUoKTtyZXR1cm47fQp0aGlzLnNl Y3Rpb25fbGlzdD1vcHRzLnNlY3Rpb25fbGlzdHx8W107dGhpcy5tYXJrZXJfb2Zm c2V0PW9wdHMubWFya2VyX29mZnNldHx8MjI7dGhpcy5wYWdlX29mZnNldD1vcHRz LnBhZ2Vfb2Zmc2V0fHwwLjk5O3RoaXMucGFnZV9kaXNwbGF5PXRoaXMuY29udGFp bmVyLmRvd24oJyNzY3J1YmJlcl9jdXJyZW50X3BhZ2UnKTt0aGlzLnRyYWNrPXRo aXMuY29udGFpbmVyLmRvd24oJy5zbGlkZXJfdHJhY2snKTt0aGlzLmhhbmRsZT10 aGlzLmNvbnRhaW5lci5kb3duKCcuaGFuZGxlJyk7dGhpcy5zbGlkZXJfdG9vbHRp cD10aGlzLmNvbnRhaW5lci5kb3duKCcuc2xpZGVyX3Rvb2x0aXAnKTt0aGlzLnNl Y3Rpb25fdG9vbHRpcD10aGlzLmNvbnRhaW5lci5kb3duKCcuc2VjdGlvbl90b29s dGlwJyk7dGhpcy5oaWdoZXN0X3BhZ2U9U2NyaWJkLlVJLlBhZ2VyLnByb3RvdHlw ZS5nZXRfaGlnaGVzdF9wYWdlKCk7dGhpcy5zbGlkZXI9bmV3IENvbnRyb2wuU2xp ZGVyKHRoaXMuaGFuZGxlLHRoaXMudHJhY2sse2F4aXM6J2hvcml6b250YWwnLHJh bmdlOiRSKDEsdGhpcy5oaWdoZXN0X3BhZ2UrdGhpcy5wYWdlX29mZnNldCksaW5j cmVtZW50OjEsZGlzYWJsZWQ6ZmFsc2Usc2xpZGVyVmFsdWU6MSxvbkNoYW5nZTp0 aGlzLm9uX2NoYW5nZS5iaW5kKHRoaXMpLG9uU2xpZGU6dGhpcy5vbl9zbGlkZS5i aW5kKHRoaXMpfSk7dGhpcy5zZWN0aW9uX2xpc3Q9dGhpcy5zZWN0aW9uX2xpc3Qu c29ydEJ5KGZ1bmN0aW9uKHNlY3Rpb24pe3JldHVybi0xKnNlY3Rpb24uZmlyc3Rf cGFnZTt9KTt0aGlzLnVwZGF0ZV9wYWdlX2Rpc3BsYXkoMSk7dGhpcy5zbGlkZXJf dG9vbHRpcC5oaWRlKCk7dGhpcy5zZWN0aW9uX3Rvb2x0aXAuaGlkZSgpO3RoaXMu dXBkYXRlX3Rvb2x0aXAoKTt0aGlzLnNldHVwX2V2ZW50cygpOyhmdW5jdGlvbigp e3RoaXMuZHJhdygpO30pLmJpbmQodGhpcykuZGVmZXIoKTt9LHNldHVwX2V2ZW50 czpmdW5jdGlvbigpe3ZhciBldmVudHM9WydleHBlY3RlZEZpcnN0UGFnZUNoYW5n

ZWQnLCd6b29tZWQnLCdlbnRlcmVkRnVsbHNjcmVlbicsJ2V4aXRlZEZ1bGxzY3Jl ZW4nXTtldmVudHMuZWFjaChmdW5jdGlvbihldmVudF9uYW1lKXtkb2NNYW5hZ2Vy LmFkZEV2ZW50KGV2ZW50X25hbWUsKGZ1bmN0aW9uKHBhZ2VfbnVtKXt0aGlzLmRy YXcoKTt9KS5iaW5kKHRoaXMpKTt9LHRoaXMpO2RvY3VtZW50Lm9ic2VydmUoJ2Ns aWNrJywoZnVuY3Rpb24oZSxlbCl7aWYoIWUudGFyZ2V0LmRlc2NlbmRhbnRPZih0 aGlzLnNlY3Rpb25fdG9vbHRpcCkpe3RoaXMuaGlkZV9zZWN0aW9uX3Rvb2x0aXAo KTt9fSkuYmluZCh0aGlzKSk7dGhpcy5jb250YWluZXIub2JzZXJ2ZSgnY2xpY2sn LChmdW5jdGlvbihlKXtTY3JpYmQuVUkuZGlzcGF0Y2goZSx0aGlzLmFjdGlvbnMs dGhpcywnc2NydWJiZXInKTt9KS5iaW5kKHRoaXMpKTt0aGlzLnRyYWNrLm9ic2Vy dmUoJ2RibGNsaWNrJywoZnVuY3Rpb24oZSl7dmFyIHBvaW50ZXJYPUV2ZW50LnBv aW50ZXJYKGUpO3ZhciB0cmFja0xlZnQ9dGhpcy50cmFjay52aWV3cG9ydE9mZnNl dCgpLmxlZnQ7cG9pbnRlclg9cG9pbnRlclgtdHJhY2tMZWZ0O3BvaW50ZXJYPXRo aXMudHJhbnNsYXRlX3RvX3ZhbHVlKHBvaW50ZXJYKTt0aGlzLmdvdG9fcGFnZSh0 aGlzLmNsb3Nlc3RfcGFnZShwb2ludGVyWCkpO2Uuc3RvcCgpO30pLmJpbmQodGhp cykpO30sZ290b19wYWdlOmZ1bmN0aW9uKHBhZ2VfbnVtKXt2YXIgY3VyX3BhZ2Vf bnVtPXRoaXMuY3VycmVudF9wYWdlX251bSgpO2lmKGN1cl9wYWdlX251bT09cGFn ZV9udW0pe3JldHVybiBmYWxzZTt9CnZhciBkaXJlY3Rpb249cGFnZV9udW0+Y3Vy X3BhZ2VfbnVtPzE6LTEsdGFyZ2V0X3BhZ2U9ZG9jTWFuYWdlci5nZXRDbG9zZXN0 UGFnZU51bWJlcihwYWdlX251bSxkaXJlY3Rpb24pO2RvY01hbmFnZXIuZ290b1Bh Z2UodGFyZ2V0X3BhZ2Use2RpcmVjdGlvbjpkaXJlY3Rpb259KTtyZXR1cm4gdHJ1 ZTt9LG9uX3NsaWRlOmZ1bmN0aW9uKHZhbHVlKXt2YXIgcGFnZV9udW09dGhpcy5j bG9zZXN0X3BhZ2UodmFsdWUpO2lmKCFpc05hTihwYWdlX251bSkpe3RoaXMudXBk YXRlX3Rvb2x0aXAocGFnZV9udW0pO3RoaXMuc2xpZGVyX3Rvb2x0aXAuc2hvdygp O30KdGhpcy52YWx1ZT12YWx1ZTt9LG9uX2NoYW5nZTpmdW5jdGlvbigpe3ZhciBw YWdlX251bT10aGlzLmNsb3Nlc3RfcGFnZSh0aGlzLnZhbHVlKTtpZighdGhpcy5n b3RvX3BhZ2UocGFnZV9udW0pKXt0aGlzLnVwZGF0ZV9zbGlkZXIocGFnZV9udW0p O30KdGhpcy5zbGlkZXJfdG9vbHRpcC5oaWRlKCk7dHJhY2tFdmVudCgnbmV3ZG9j JywnU2xpZGUnLCdzbGlkZXJfY2hhbmdlZCcpO30sdXBkYXRlX3NsaWRlcjpmdW5j dGlvbihwYWdlX251bSl7dmFyIHNsaWRlcl92YWx1ZT10aGlzLnNrZXdlZF92YWx1 ZShwYWdlX251bSk7dmFyIHNhdmVkX2Z1bmM9dGhpcy5zbGlkZXIub3B0aW9ucy5v bkNoYW5nZTt0aGlzLnNsaWRlci5vcHRpb25zLm9uQ2hhbmdlPShmdW5jdGlvbigp e30pO3RoaXMuc2xpZGVyLnNldFZhbHVlKHNsaWRlcl92YWx1ZSk7dGhpcy51cGRh dGVfcGFnZV9kaXNwbGF5KHBhZ2VfbnVtKTt0aGlzLnNsaWRlci5vcHRpb25zLm9u Q2hhbmdlPXNhdmVkX2Z1bmM7fSxza2V3ZWRfdmFsdWU6ZnVuY3Rpb24ocGFnZV9u dW0pe3JldHVybiBwYWdlX251bSsocGFnZV9udW0qdGhpcy5wYWdlX29mZnNldCkv KHRoaXMuaGlnaGVzdF9wYWdlKTt9LHJlbmRlcl9zZWN0aW9uX21hcmtlcnM6ZnVu Y3Rpb24oKXt0aGlzLnRyYWNrLnNlbGVjdCgnLnNlY3Rpb25fbWFya2VyJykubWFw KEVsZW1lbnQucmVtb3ZlKTt0aGlzLnNlY3Rpb25fbGlzdC5lYWNoKGZ1bmN0aW9u KHNlY3Rpb24pe3ZhciBsZWZ0PXRoaXMudHJhbnNsYXRlX3RvX3B4KHRoaXMuc2tl d2VkX3ZhbHVlKHNlY3Rpb24uZmlyc3RfcGFnZSkpO3RoaXMudHJhY2suaW5zZXJ0 KHtib3R0b206bmV3IEVsZW1lbnQoJ2RpdicseydjbGFzcyc6J3NlY3Rpb25fbWFy a2VyJywnaWQnOidhdF9wYWdlXycrc2VjdGlvbi5maXJzdF9wYWdlfSkuc2V0U3R5 bGUoe2xlZnQ6bGVmdH0pfSk7fSx0aGlzKTt9LHRyYW5zbGF0ZV90b19weDpmdW5j dGlvbih2YWx1ZSl7dmFyIG9mZnNldD10aGlzLnNsaWRlci50cmFuc2xhdGVUb1B4 KHZhbHVlKS5yZXBsYWNlKC9weCQvLCIiKTt2YXIgYWRqdXN0ZWQ9cGFyc2VJbnQo b2Zmc2V0LDEwKStwYXJzZUludCh0aGlzLnNsaWRlci5oYW5kbGVMZW5ndGgsMTAp LXRoaXMubWFya2VyX29mZnNldDtyZXR1cm4gYWRqdXN0ZWQrJ3B4Jzt9LHRyYW5z bGF0ZV90b192YWx1ZTpmdW5jdGlvbihweCl7cmV0dXJuIHRoaXMuc2xpZGVyLnRy YW5zbGF0ZVRvVmFsdWUocHgtdGhpcy5zbGlkZXIuaGFuZGxlTGVuZ3RoK3RoaXMu bWFya2VyX29mZnNldCk7fSxkcmF3OmZ1bmN0aW9uKCl7dGhpcy5yZXNpemVfc2xp ZGVyKHRoaXMuY3VycmVudF9wYWdlX251bSgpKTt0aGlzLnJlbmRlcl9zZWN0aW9u X21hcmtlcnMoKTt9LHJlc2l6ZV9zbGlkZXI6ZnVuY3Rpb24ocGFnZV9udW0pe3Zh ciBvcHRzPXRoaXMuc2xpZGVyLm9wdGlvbnM7dGhpcy5zbGlkZXIuZGlzcG9zZSgp O2RlbGV0ZSB0aGlzLnNsaWRlcjt0aGlzLnNsaWRlcj1uZXcgQ29udHJvbC5TbGlk ZXIodGhpcy5oYW5kbGUsdGhpcy50cmFjayxvcHRzKTt0aGlzLnVwZGF0ZV9zbGlk ZXIocGFnZV9udW0pO30sdXBkYXRlX3Rvb2x0aXA6ZnVuY3Rpb24ocGFnZV9udW0p e3RoaXMuc2xpZGVyX3Rvb2x0aXAuZG93bignLnBhZ2VfdGV4dCcpLnRleHRDb250 ZW50PSJwYWdlICIrcGFnZV9udW07dmFyIGN1cnJlbnRfc2VjdGlvbjtpZighIShj dXJyZW50X3NlY3Rpb249dGhpcy5zZWN0aW9uX2Zvcl9wYWdlKHBhZ2VfbnVtKSkp e3RoaXMuc2xpZGVyX3Rvb2x0aXAuZG93bignLnNlY3Rpb25fdGV4dCcpLnRleHRD

b250ZW50PWN1cnJlbnRfc2VjdGlvbi50aXRsZTt9ZWxzZXt0aGlzLnNsaWRlcl90 b29sdGlwLmRvd24oJy5zZWN0aW9uX3RleHQnKS50ZXh0Q29udGVudD0iIjt9fSx1 cGRhdGVfcGFnZV9kaXNwbGF5OmZ1bmN0aW9uKHBhZ2VfbnVtKXt0aGlzLnBhZ2Vf ZGlzcGxheS50ZXh0Q29udGVudD0iIitwYWdlX251bTt9LGNsb3Nlc3RfcGFnZTpm dW5jdGlvbih2YWx1ZSl7cmV0dXJuIE1hdGguZmxvb3IodmFsdWUpO30sc2VjdGlv bl9mb3JfcGFnZTpmdW5jdGlvbihwYWdlX251bSl7cmV0dXJuIHRoaXMuc2VjdGlv bl9saXN0LmRldGVjdChmdW5jdGlvbihzZWN0aW9uKXtyZXR1cm4odGhpcz49c2Vj dGlvbi5maXJzdF9wYWdlJiZ0aGlzPD1zZWN0aW9uLmxhc3RfcGFnZSk7fSxwYWdl X251bSk7fSxjdXJyZW50X3BhZ2VfbnVtOmZ1bmN0aW9uKCl7aWYoIWRvY01hbmFn ZXIuZmlyc3RWaXNpYmxlUGFnZSl7cmV0dXJuIDE7fWVsc2V7cmV0dXJuIGRvY01h bmFnZXIuZmlyc3RWaXNpYmxlUGFnZS5wYWdlTnVtO319LGhpZGVfc2VjdGlvbl90 b29sdGlwOmZ1bmN0aW9uKCl7dGhpcy5zZWN0aW9uX3Rvb2x0aXAuaGlkZSgpO2lm KCEhKHBhZGRsZXM9U2NyaWJkLlVJLnBhZGRsZV93aWRnZXQpKXtwYWRkbGVzLmNv bnRhaW5lci5zaG93KCk7fX0sc2hvd19zZWN0aW9uX3Rvb2x0aXA6ZnVuY3Rpb24o KXt0aGlzLnNlY3Rpb25fdG9vbHRpcC5zaG93KCk7aWYoISEocGFkZGxlcz1TY3Jp YmQuVUkucGFkZGxlX3dpZGdldCkpe3BhZGRsZXMuY29udGFpbmVyLmhpZGUoKTt9 fX0pOwoKCi8qIGFwcC92aWV3cy9uZXdkb2Mvc2VhcmNoL19iYXNlLmpzIEAgMTM0 ODUxNzUyNiAqLwoKU2NyaWJkLmluaXQoIlNjcmliZCIsIlVJIik7U2NyaWJkLlVJ LkRvY3VtZW50U2VhcmNoRm9ybT1DbGFzcy5jcmVhdGUoe2V2ZW50X25hbWU6ImRv Y3VtZW50X3NlYXJjaCIsaW5pdGlhbGl6ZTpmdW5jdGlvbihjb250YWluZXIsY29u dHJvbGxlcil7dGhpcy5jb250YWluZXI9JChjb250YWluZXIpO3RoaXMuY29udHJv bGxlcj1jb250cm9sbGVyO3RoaXMuaW5wdXQ9dGhpcy5jb250YWluZXIuZG93bigi LnF1ZXJ5Iik7dGhpcy5mb3JtPXRoaXMuY29udGFpbmVyLmRvd24oImZvcm0iKTt2 YXIgc3VibWl0dGVyPXRoaXMuc2VhcmNoX3N1Ym1pdC5iaW5kKHRoaXMpO3RoaXMu Zm9ybS5vYnNlcnZlKCJzdWJtaXQiLHN1Ym1pdHRlcik7dGhpcy5mb3JtLmRvd24o Ii5zZWFyY2hfc3VibWl0Iikub2JzZXJ2ZSgiY2xpY2siLHN1Ym1pdHRlcik7fSx2 YWx1ZTpmdW5jdGlvbih2YWwpe2lmKHZhbCE9PXVuZGVmaW5lZCl7dGhpcy5pbnB1 dC52YWx1ZT12YWw7fWVsc2V7cmV0dXJuIHRoaXMuaW5wdXQudmFsdWU7fX0sZGlz YWJsZTpmdW5jdGlvbigpe3RoaXMuZm9ybS5hZGRDbGFzc05hbWUoImRpc2FibGVk Iik7dGhpcy5pbnB1dC5kaXNhYmxlZD10cnVlO30sZW5hYmxlOmZ1bmN0aW9uKCl7 dGhpcy5mb3JtLnJlbW92ZUNsYXNzTmFtZSgiZGlzYWJsZWQiKTt0aGlzLmlucHV0 LmRpc2FibGVkPWZhbHNlO30sc2VhcmNoX3N1Ym1pdDpmdW5jdGlvbihlKXt0cmFj a0V2ZW50KCJuZXdkb2MiLCJTdWJtaXQiLHRoaXMuZXZlbnRfbmFtZSxTY3JpYmQu bG9nZ2VkX2luPzE6MCk7ZS5zdG9wKCk7dGhpcy5jb250cm9sbGVyLnNlYXJjaCh0 aGlzLnZhbHVlKCkpO319KTtTY3JpYmQuVUkuRG9jdW1lbnRTZWFyY2g9Q2xhc3Mu Y3JlYXRlKHtpbml0aWFsaXplOmZ1bmN0aW9uKGNvbnRhaW5lcil7dGhpcy5jb250 YWluZXI9JChjb250YWluZXIpO3RoaXMuc2VhcmNoZXI9bmV3IFNjcmliZC5Gb3Vy Z2VuLkRvY1NlYXJjaGVyKHtkb2NfaWQ6U2NyaWJkLmN1cnJlbnRfZG9jLmlkLHVw bG9hZF9pZDpTY3JpYmQuY3VycmVudF9kb2Mud29yZF91cGxvYWRfaWQsc2VjcmV0 X3Bhc3N3b3JkOlNjcmliZC5jdXJyZW50X2RvYy5zZWNyZXRfcGFzc3dvcmR9KTt0 aGlzLmNvbnRyb2xsZXI9bmV3IFNjcmliZC5VSS5TZWFyY2hDb250cm9sbGVyKHRo aXMuc2VhcmNoZXIse29uX2NsZWFyOmZ1bmN0aW9uKCl7dGhpcy5mb3JtLnZhbHVl KCIiKTt0aGlzLnJlc3VsdHMuaGlkZSgpO30uYmluZCh0aGlzKX0pO3RoaXMucmVz dWx0cz1uZXcgU2NyaWJkLlVJLlNlYXJjaFJlc3VsdHMoJCgiZG9jdW1lbnRfc2Vh cmNoX3Jlc3VsdHMiKSx0aGlzKTt0aGlzLmZvcm09bmV3IFNjcmliZC5VSS5Eb2N1 bWVudFNlYXJjaEZvcm0odGhpcy5jb250YWluZXIuZG93bigiLnNpZGViYXJfc2Vh cmNoIiksdGhpcy5jb250cm9sbGVyKTt0aGlzLmZvcm0uZXZlbnRfbmFtZT0ic2lk ZWJhcl9zZWFyY2giO3ZhciBpc19tYWM9bmF2aWdhdG9yLnBsYXRmb3JtLm1hdGNo KC9NYWMvKTtpZihpc19tYWMpdGhpcy5jb250YWluZXIuYWRkQ2xhc3NOYW1lKCJv c3giKTt2YXIgZW5hYmxlX2hvdGtleT10cnVlO2lmKFNjcmliZC5Ccm93c2VyRGV0 ZWN0LmJyb3dzZXI9PSJFeHBsb3JlciIpe2VuYWJsZV9ob3RrZXk9U2NyaWJkLkJy b3dzZXJEZXRlY3QudmVyc2lvbj49OTt9CmlmKGVuYWJsZV9ob3RrZXkpe3RoaXMu Y29udGFpbmVyLmFkZENsYXNzTmFtZSgiaG90a2V5X2VuYWJsZWQiKTt9CmRvY3Vt ZW50Lm9ic2VydmUoImtleWRvd24iLGZ1bmN0aW9uKGUpe2lmKGUua2V5Q29kZT09 IkYiLmNoYXJDb2RlQXQoMCkpe2lmKGlzX21hYyYmZS5tZXRhS2V5fHwhaXNfbWFj JiZlLmN0cmxLZXkpe3RyYWNrRXZlbnQoIm5ld2RvYyIsIkhvdGtleSIsInByZXNl bnRfc2VhcmNoIixTY3JpYmQubG9nZ2VkX2luPzE6MCk7dGhpcy5yZXN1bHRzLnBy ZXNlbnRfZm9yX3NlYXJjaCgpO2Uuc3RvcCgpO30KcmV0dXJuO30KaWYodGhpcy5y ZXN1bHRzLnZpc2libGUpe2lmKGUua2V5Q29kZT09Mjcpe3RoaXMuY29udHJvbGxl ci5yZXNldF9hbmRfY2xlYXIoKTt0aGlzLnJlc3VsdHMuaGlkZSgpO31lbHNlIGlm

KGUua2V5Q29kZT09Mzgpe3RoaXMuY29udHJvbGxlci5nb3RvX3ByZXZfcmVzdWx0 KCk7fWVsc2UgaWYoZS5rZXlDb2RlPT00MCl7dGhpcy5jb250cm9sbGVyLmdvdG9f bmV4dF9yZXN1bHQoKTt9ZWxzZXtyZXR1cm47fQplLnN0b3AoKTt9fS5iaW5kKHRo aXMpKTt9fSk7U2NyaWJkLlVJLlNlYXJjaFJlc3VsdHM9Q2xhc3MuY3JlYXRlKHtw YWRkaW5nOjE2LGFjdGlvbnM6e25leHRfcmVzdWx0OmZ1bmN0aW9uKCl7dGhpcy5j b250cm9sbGVyLmdvdG9fbmV4dF9yZXN1bHQoKTt9LHByZXZfcmVzdWx0OmZ1bmN0 aW9uKCl7dGhpcy5jb250cm9sbGVyLmdvdG9fcHJldl9yZXN1bHQoKTt9LGNsb3Nl X2J1dHRvbjpmdW5jdGlvbigpe3RoaXMuY29udHJvbGxlci5yZXNldF9hbmRfY2xl YXIoKTt0aGlzLmhpZGUoKTt9LGhpc3RvcnlfcmVzdWx0OmZ1bmN0aW9uKGVsbSl7 dmFyIHF1ZXJ5PWVsbS5yZWFkQXR0cmlidXRlKCJkYXRhLXF1ZXJ5Iik7aWYocXVl cnk9PXRoaXMuY29udHJvbGxlci5xdWVyeSlyZXR1cm47dGhpcy5jb250cm9sbGVy LnNlYXJjaChxdWVyeSx0cnVlKTt9fSx2aXNpYmxlOmZhbHNlLGluaXRpYWxpemU6 ZnVuY3Rpb24oY29udGFpbmVyLGRvY19zZWFyY2gpe3RoaXMuY29udGFpbmVyPSQo Y29udGFpbmVyKTt0aGlzLmRvY19zZWFyY2g9ZG9jX3NlYXJjaDt0aGlzLmNvbnRy b2xsZXI9ZG9jX3NlYXJjaC5jb250cm9sbGVyO3RoaXMuc2VhcmNoX2hpc3Rvcnk9 W107dGhpcy5saXN0X2VsbT10aGlzLmNvbnRhaW5lci5kb3duKCIucmVzdWx0c19s aXN0Iik7dGhpcy5mb3JtPW5ldyBTY3JpYmQuVUkuRG9jdW1lbnRTZWFyY2hGb3Jt KHRoaXMuY29udGFpbmVyLmRvd24oIi5wb3B1cF9zZWFyY2giKSx0aGlzLmNvbnRy b2xsZXIpO3RoaXMuZm9ybS5ldmVudF9uYW1lPSJwb3B1cF9zZWFyY2giO3RoaXMu Y29udHJvbGxlci5saXN0ZW4oIm9uX3NlYXJjaCIsZnVuY3Rpb24ocXVlcnksZnJv bV9oaXN0b3J5KXt0aGlzLnNob3dfbG9hZGluZygpO2lmKCFmcm9tX2hpc3Rvcnkp e3RoaXMuc2VhcmNoX2hpc3RvcnkucHVzaChxdWVyeSk7fQp0aGlzLnJlbmRlcl9z ZWFyY2hfaGlzdG9yeSgpO3RoaXMuZm9ybS52YWx1ZShxdWVyeSk7dGhpcy5jb250 YWluZXIuc2VsZWN0KCIubGFzdF9xdWVyeSIpLmludm9rZSgidXBkYXRlIixxdWVy eS5lc2NhcGVIVE1MKCkpO3RoaXMuZm9ybS5kaXNhYmxlKCk7fSx0aGlzKTt0aGlz LmNvbnRyb2xsZXIubGlzdGVuKCJvbl9yZXN1bHRzIixmdW5jdGlvbihyZXN1bHRz KXtpZighdGhpcy52aXNpYmxlKXJldHVybjt0aGlzLmZvcm0uZW5hYmxlKCk7aWYo cmVzdWx0cy5sZW5ndGg9PT0wKXt0aGlzLmNvbnRhaW5lci5zZWxlY3QoIi5zY3Jv bGxlciIsIi5jdXJyZW50X2luZm8iKS5pbnZva2UoImhpZGUiKTt9ZWxzZXt0aGlz LmNvbnRhaW5lci5zZWxlY3QoIi5zY3JvbGxlciIsIi5jdXJyZW50X2luZm8iKS5p bnZva2UoInNob3ciKTt9CnRoaXMubGlzdF9lbG0udXBkYXRlKCIiKTtyZXN1bHRz LmVhY2goZnVuY3Rpb24ocixpKXt2YXIgZWxtPXRoaXMubmV3X3Jlc3VsdF9lbGVt ZW50KHIuc25pcHBldCxyLnBhZ2VOdW0saSk7dGhpcy5saXN0X2VsbS5hcHBlbmRD aGlsZChlbG0pO30sdGhpcyk7dGhpcy5jb250YWluZXIuc2VsZWN0KCIubnVtX3Jl c3VsdHMiKS5pbnZva2UoInVwZGF0ZSIscmVzdWx0cy5sZW5ndGgpO2lmKHJlc3Vs dHMubGVuZ3RoPT0xKXt0aGlzLmNvbnRhaW5lci5zZWxlY3QoIi5wbHVyYWwiKS5p bnZva2UoImhpZGUiKTt0aGlzLmNvbnRhaW5lci5zZWxlY3QoIi5ub25fcGx1cmFs IikuaW52b2tlKCJzaG93Iik7fWVsc2V7dGhpcy5jb250YWluZXIuc2VsZWN0KCIu cGx1cmFsIikuaW52b2tlKCJzaG93Iik7dGhpcy5jb250YWluZXIuc2VsZWN0KCIu bm9uX3BsdXJhbCIpLmludm9rZSgiaGlkZSIpO30KdGhpcy5kb25lX2xvYWRpbmco KTt9LHRoaXMpO3RoaXMuY29udHJvbGxlci5saXN0ZW4oIm9uX3NlbGVjdF9yZXN1 bHQiLGZ1bmN0aW9uKGkpe3RoaXMuY29udGFpbmVyLnNlbGVjdCgiLmN1cnJlbnRf cmVzdWx0X251bSIpLmludm9rZSgidXBkYXRlIixpKzEpO3ZhciBvbGQ9dGhpcy5s aXN0X2VsbS5kb3duKCJsaS5jdXJyZW50X3Jlc3VsdCIpO2lmKG9sZCl7b2xkLnJl bW92ZUNsYXNzTmFtZSgiY3VycmVudF9yZXN1bHQiKTt9CnZhciBjdXJyZW50PXRo aXMubGlzdF9lbG0uc2VsZWN0KCJsaSIpW2ldLmFkZENsYXNzTmFtZSgiY3VycmVu dF9yZXN1bHQiKTt2YXIgc2Nyb2xsZXI9dGhpcy5jb250YWluZXIuZG93bigiLnNj cm9sbGVyIik7dmFyIGg9Y3VycmVudC5nZXRIZWlnaHQoKSxzY3JvbGxfaGVpZ2h0 PXNjcm9sbGVyLmdldEhlaWdodCgpO3ZhciBwb3M9aSpoO2lmKHBvczxzY3JvbGxl ci5zY3JvbGxUb3Ape3Njcm9sbGVyLnNjcm9sbFRvcD1wb3M7fWVsc2UgaWYocG9z PnNjcm9sbGVyLnNjcm9sbFRvcCtzY3JvbGxfaGVpZ2h0KXtzY3JvbGxlci5zY3Jv bGxUb3A9cG9zLXNjcm9sbF9oZWlnaHQraDt9fSx0aGlzKTt0aGlzLmNvbnRhaW5l ci5vYnNlcnZlKCJjbGljayIsZnVuY3Rpb24oZSl7aWYoU2NyaWJkLlVJLmRpc3Bh dGNoKGUsdGhpcy5hY3Rpb25zLHRoaXMsInNlYXJjaCIpKXJldHVybjt2YXIgbGk9 ZS5maW5kRWxlbWVudCgibGkiKTtpZihsaSl7dmFyIHJlc3VsdF9pZD1saS5yZWFk QXR0cmlidXRlKCJkYXRhLXJlc3VsdF9pZCIpO2lmKHJlc3VsdF9pZCl7dGhpcy5j b250cm9sbGVyLmdvdG9fbnRoX3Jlc3VsdChyZXN1bHRfaWQpO319fS5iaW5kKHRo aXMpKTt0aGlzLmNvbnRyb2xsZXIubGlzdGVuKCJvbl9jbGVhciIsZnVuY3Rpb24o KXt0aGlzLmZvcm0udmFsdWUoIiIpO30uYmluZCh0aGlzKSk7dGhpcy5hdHRhY2gu YmluZCh0aGlzKS5kZWZlcigpO30sbmV3X3Jlc3VsdF9lbGVtZW50OmZ1bmN0aW9u

KHNuaXBwZXQscGFnZV9udW0saSl7dmFyIGVsbT10aGlzLmNvbnRhaW5lci5kb3du KCIucmVzdWx0X3RlbXBsYXRlIikuZG93bigibGkiKS5jbG9uZU5vZGUodHJ1ZSk7 ZWxtLmRvd24oIi5pbm5lcl9udW0iKS51cGRhdGUocGFnZV9udW0pO2VsbS5kb3du KCIuc25pcHBldCIpLnVwZGF0ZSh0aGlzLmhpZ2hsaWdodF9zbmlwcGV0KHNuaXBw ZXQpKTtlbG0ud3JpdGVBdHRyaWJ1dGUoImRhdGEtcmVzdWx0X2lkIixpKTtyZXR1 cm4gZWxtO30scmVuZGVyX3NlYXJjaF9oaXN0b3J5OmZ1bmN0aW9uKCl7dmFyIGxp c3Q9dGhpcy5jb250YWluZXIuZG93bigiLmhpc3RvcnlfbGlzdCIpO2xpc3QudXBk YXRlKCIiKTt2YXIgcXVlcmllcz10aGlzLnNlYXJjaF9oaXN0b3J5LnNsaWNlKC02 KS5yZXZlcnNlKCk7aWYocXVlcmllcy5sZW5ndGg8PTEpe3RoaXMuY29udGFpbmVy LmRvd24oIi5zZWFyY2hfaGlzdG9yeSIpLmhpZGUoKTtyZXR1cm47fQp0aGlzLmNv bnRhaW5lci5kb3duKCIuc2VhcmNoX2hpc3RvcnkiKS5zaG93KCk7dmFyIGVsbXM9 cXVlcmllcy5tYXAoZnVuY3Rpb24ocSl7dmFyIGVsbT1uZXcgRWxlbWVudCgiZGl2 IikudXBkYXRlKHEudHJ1bmNhdGUoJzI1JykuZXNjYXBlSFRNTCgpKTtlbG0uYWRk Q2xhc3NOYW1lKCJoaXN0b3J5X3Jlc3VsdCIpO2lmKHRoaXMuY29udHJvbGxlci5x dWVyeT09cSllbG0uYWRkQ2xhc3NOYW1lKCJjdXJyZW50Iik7ZWxtLndyaXRlQXR0 cmlidXRlKCJkYXRhLXF1ZXJ5IixxKTtyZXR1cm4gZWxtO30sdGhpcyk7dmFyIHNl cD0iIMK7ICI7ZWxtcy5lYWNoKGZ1bmN0aW9uKGVsbSxpKXtsaXN0LmFwcGVuZENo aWxkKGVsbSk7aWYoaSE9ZWxtcy5sZW5ndGgtMSl7bGlzdC5hcHBlbmRDaGlsZChu ZXcgRWxlbWVudCgic3BhbiIpLnVwZGF0ZShzZXApKTt9fSk7fSxzaG93X2xvYWRp bmc6ZnVuY3Rpb24oKXt0aGlzLnNob3coKTt0aGlzLmNvbnRhaW5lci5hZGRDbGFz c05hbWUoImxvYWRpbmciKTt0aGlzLmNvbnRhaW5lci5yZW1vdmVDbGFzc05hbWUo ImZyZXNoX3NlYXJjaCIpO3RoaXMuY29udGFpbmVyLnJlbW92ZUNsYXNzTmFtZSgi bm90X2xvYWRpbmciKTtkb2N1bWVudC5maXJlKCJzY3JpYmQ6ZG9tX2hlaWdodF9j aGFuZ2VkIik7fSxkb25lX2xvYWRpbmc6ZnVuY3Rpb24oKXt0aGlzLmNvbnRhaW5l ci5yZW1vdmVDbGFzc05hbWUoImxvYWRpbmciKTt0aGlzLmNvbnRhaW5lci5hZGRD bGFzc05hbWUoIm5vdF9sb2FkaW5nIik7ZG9jdW1lbnQuZmlyZSgic2NyaWJkOmRv bV9oZWlnaHRfY2hhbmdlZCIpO30scHJlc2VudF9mb3Jfc2VhcmNoOmZ1bmN0aW9u KCl7aWYoIXRoaXMudmlzaWJsZSl7dGhpcy5jb250YWluZXIuYWRkQ2xhc3NOYW1l KCJmcmVzaF9zZWFyY2giKTt9CnRoaXMuc2hvdygpO3RoaXMucmVuZGVyX3NlYXJj aF9oaXN0b3J5KCk7dGhpcy5mb3JtLnZhbHVlKCIiKTt0aGlzLmZvcm0uaW5wdXQu Zm9jdXMoKTt9LHNob3c6ZnVuY3Rpb24oKXt0aGlzLnZpc2libGU9dHJ1ZTt0aGlz LmNvbnRhaW5lci5hZGRDbGFzc05hbWUoInNob3dfcmVzdWx0cyIpO3RoaXMuZm9y bS5lbmFibGUoKTt9LGhpZGU6ZnVuY3Rpb24oKXt0aGlzLnZpc2libGU9ZmFsc2U7 dGhpcy5jb250YWluZXIucmVtb3ZlQ2xhc3NOYW1lKCJzaG93X3Jlc3VsdHMiKTt9 LGhpZ2hsaWdodF9zbmlwcGV0OmZ1bmN0aW9uKHNuaXBwZXQscXVlcnkpe3F1ZXJ5 PXF1ZXJ5fHx0aGlzLmNvbnRyb2xsZXIucXVlcnk7dmFyIHBhdHRlcm49bmV3IFJl Z0V4cCgnKCcrUmVnRXhwLmVzY2FwZShxdWVyeSkrJyknLCdpJyk7cmV0dXJuIHNu aXBwZXQuZXNjYXBlSFRNTCgpLnN1YihwYXR0ZXJuLGZ1bmN0aW9uKG1hdGNoKXty ZXR1cm4oJzxzcGFuIGNsYXNzPSJmb3VuZCI+JyttYXRjaFsxXSsnPC9zcGFuPicp O30pO30sYXR0YWNoOmZ1bmN0aW9uKCl7dmFyIF90aGlzPXRoaXM7U2NyaWJkLlN0 aWNreUVsZW1lbnQodGhpcy5jb250YWluZXIsZnVuY3Rpb24oZWxtKXtlbG0uc2V0 U3R5bGUoe3Bvc2l0aW9uOiJmaXhlZCIsdG9wOiJhdXRvIixib3R0b206X3RoaXMu cGFkZGluZysicHgifSk7fSxmdW5jdGlvbihlbG0pe3ZhciB2aWV3ZXJfcG9zPXZp ZXdlci5jdW11bGF0aXZlT2Zmc2V0KCksdmlld2VyX2hlaWdodD12aWV3ZXIuZ2V0 SGVpZ2h0KCksY29udGFpbmVyX2hlaWdodD1fdGhpcy5jb250YWluZXIuZ2V0SGVp Z2h0KCk7ZWxtLnNldFN0eWxlKHtwb3NpdGlvbjoiYWJzb2x1dGUiLGJvdHRvbToi YXV0byIsdG9wOih2aWV3ZXJfcG9zLnRvcCt2aWV3ZXJfaGVpZ2h0LV90aGlzLnBh ZGRpbmctY29udGFpbmVyX2hlaWdodCkrInB4In0pO30sZnVuY3Rpb24oZWxtKXt2 YXIgdmlld2VyPSQoInZpZXdlciIpO3ZhciBzY3JlZW5faGVpZ2h0PWRvY3VtZW50 LnZpZXdwb3J0LmdldEhlaWdodCgpLHNjcm9sbD1kb2N1bWVudC52aWV3cG9ydC5n ZXRTY3JvbGxPZmZzZXRzKCksdmlld2VyX3Bvcz12aWV3ZXIuY3VtdWxhdGl2ZU9m ZnNldCgpLHZpZXdlcl9oZWlnaHQ9dmlld2VyLmdldEhlaWdodCgpO3JldHVybiBz Y3JvbGwudG9wK3NjcmVlbl9oZWlnaHQ8dmlld2VyX3Bvcy50b3Ardmlld2VyX2hl aWdodDt9LGZ1bmN0aW9uKGVsbSl7dmFyIGNvbD0kKCJkb2N1bWVudF9jb2x1bW4i KTt2YXIgeD1jb2wuY3VtdWxhdGl2ZU9mZnNldCgpWzBdLHc9Y29sLmdldFdpZHRo KCksdmlld3BvcnRfdz1kb2N1bWVudC52aWV3cG9ydC5nZXRXaWR0aCgpLHRvb2xf dz1lbG0uZ2V0V2lkdGgoKTt2YXIgbGVmdDtpZih3PnZpZXdwb3J0X3cpe2xlZnQ9 TWF0aC5mbG9vcigodmlld3BvcnRfdy10b29sX3cpLzIpO31lbHNle2xlZnQ9TWF0 aC5mbG9vcih4K3cvMi10b29sX3cvMik7fQplbG0uc2V0U3R5bGUoe2xlZnQ6bGVm dCsicHgifSk7fSk7fX0pO1NjcmliZC5VSS5TZWFyY2hDb250cm9sbGVyPUNsYXNz

LmNyZWF0ZSh7c2VsZWN0ZWRfY2xhc3NuYW1lOidmb3VyZ2VuX2hpZ2hsaWdodF9z ZWxlY3RlZCcsaW5pdGlhbGl6ZTpmdW5jdGlvbihzZWFyY2hlcixldmVudHMpe3Ro aXMuZXZlbnRzPWV2ZW50c3x8e307dGhpcy5zZWFyY2hlcj1zZWFyY2hlcjt0aGlz LmxvYWRlZFBhZ2VzPXt9O3RoaXMucmVzZXQoKTtkb2NNYW5hZ2VyLmFkZEV2ZW50 KCdwYWdlTG9hZGVkJyx0aGlzLmhhbmRsZV9wYWdlX2xvYWRlZC5iaW5kKHRoaXMp KTtkb2NNYW5hZ2VyLmFkZEV2ZW50KCdleHBlY3RlZEZpcnN0UGFnZUNoYW5nZWQn LHRoaXMuaGFuZGxlX3BhZ2VfY2hhbmdlZC5iaW5kKHRoaXMpKTt9LGxpc3Rlbjpm dW5jdGlvbihuYW1lLGZuLGJpbmQpe2lmKGJpbmQpZm49Zm4uYmluZChiaW5kKTtm bi5fbmV4dF9saXN0ZW5lcj10aGlzLmV2ZW50c1tuYW1lXTt0aGlzLmV2ZW50c1tu YW1lXT1mbjt9LGZpcmU6ZnVuY3Rpb24obmFtZSxhcmdzKXt2YXIgZm49dGhpcy5l dmVudHNbbmFtZV07dmFyIG91dDt3aGlsZShmbil7b3V0PWZuLmFwcGx5KHRoaXMs YXJnc3x8W10pO2ZuPWZuLl9uZXh0X2xpc3RlbmVyO30KcmV0dXJuIG91dDt9LHNl YXJjaDpmdW5jdGlvbihxdWVyeSxmcm9tX2hpc3Rvcnkpe2lmKHF1ZXJ5KXt0aGlz LnJlc2V0KCk7dGhpcy5xdWVyeT1xdWVyeTt0aGlzLmZpcmUoIm9uX3NlYXJjaCIs W3F1ZXJ5LGZyb21faGlzdG9yeV0pO3RoaXMuc2VhcmNoZXIuc2VhcmNoKHRoaXMu cXVlcnksdGhpcy5yZW5kZXJfcmVzdWx0cy5iaW5kKHRoaXMpKTt9fSxyZXNldDpm dW5jdGlvbigpe3RoaXMucXVlcnk9bnVsbDt0aGlzLnF1ZXJ5X3Jlc3VsdHM9bnVs bDt0aGlzLmN1cnJlbnRfcmVzdWx0PTA7dGhpcy5yZXN1bHRzX29uX3BhZ2U9e307 dGhpcy5oaWdobGlnaHRlZFBhZ2VzPXt9O3RoaXMuaGlnaGxpZ2h0aW5nU2VsZWN0 ZWRQYWdlPXt9O1NjcmliZC5Bbm5vdGF0aW9uLnJlbW92ZUhpZ2hsaWdodCgpO30s cmVzZXRfYW5kX2NsZWFyOmZ1bmN0aW9uKCl7dGhpcy5yZXNldCgpO3RoaXMuZmly ZSgib25fY2xlYXIiKTt9LHJlbmRlcl9yZXN1bHRzOmZ1bmN0aW9uKGRhdGEpe2lm KCF0aGlzLnF1ZXJ5KXJldHVybjtpZihkYXRhJiZkYXRhLmxlbmd0aD4wKXt0aGlz LnF1ZXJ5X3Jlc3VsdHM9ZGF0YTt0aGlzLmdvdG9fY3VycmVudC5iaW5kKHRoaXMp LmRlZmVyKCk7fWVsc2V7dGhpcy5xdWVyeV9yZXN1bHRzPVtdO30KdGhpcy5xdWVy eV9yZXN1bHRzLmVhY2goZnVuY3Rpb24ocmVzKXt0aGlzLnJlc3VsdHNfb25fcGFn ZVtyZXMucGFnZU51bV09KHRoaXMucmVzdWx0c19vbl9wYWdlW3Jlcy5wYWdlTnVt XXx8MCkrMTt9LHRoaXMpO3RoaXMuZmlyZSgib25fcmVzdWx0cyIsW3RoaXMucXVl cnlfcmVzdWx0c10pO30sZ290b19jdXJyZW50OmZ1bmN0aW9uKCl7dmFyIHJlc3Vs dD10aGlzLnF1ZXJ5X3Jlc3VsdHNbdGhpcy5jdXJyZW50X3Jlc3VsdF07aWYocmVz dWx0KXt0aGlzLmdvdG9fcmVzdWx0KHJlc3VsdCk7dGhpcy5maXJlKCJvbl9zZWxl Y3RfcmVzdWx0IixbdGhpcy5jdXJyZW50X3Jlc3VsdCxyZXN1bHRdKTt9fSxnb3Rv X250aF9yZXN1bHQ6ZnVuY3Rpb24obil7dGhpcy5jdXJyZW50X3Jlc3VsdD1NYXRo Lm1heCgwLE1hdGgubWluKG4sdGhpcy5xdWVyeV9yZXN1bHRzLmxlbmd0aCkpO3Ro aXMuZ290b19jdXJyZW50KCk7fSxnb3RvX25leHRfcmVzdWx0OmZ1bmN0aW9uKCl7 aWYodGhpcy5xdWVyeV9yZXN1bHRzPT09bnVsbClyZXR1cm47dGhpcy5jdXJyZW50 X3Jlc3VsdD0odGhpcy5jdXJyZW50X3Jlc3VsdCsxKSV0aGlzLnF1ZXJ5X3Jlc3Vs dHMubGVuZ3RoO3RoaXMuZ290b19jdXJyZW50KCk7dGhpcy5maXJlKCJuZXh0X3Jl c3VsdCIpO30sZ290b19wcmV2X3Jlc3VsdDpmdW5jdGlvbigpe2lmKHRoaXMucXVl cnlfcmVzdWx0cz09PW51bGwpcmV0dXJuO3RoaXMuY3VycmVudF9yZXN1bHQtLTtp Zih0aGlzLmN1cnJlbnRfcmVzdWx0PDApdGhpcy5jdXJyZW50X3Jlc3VsdD10aGlz LnF1ZXJ5X3Jlc3VsdHMubGVuZ3RoLTE7dGhpcy5nb3RvX2N1cnJlbnQoKTt0aGlz LmZpcmUoInByZXZfcmVzdWx0Iik7fSxnb3RvX3Jlc3VsdDpmdW5jdGlvbihyZXN1 bHQpe3ZhciBwYWdlX251bT1yZXN1bHQucGFnZU51bTtpZihwYWdlX251bSE9ZG9j TWFuYWdlci5jdXJyZW50UGFnZU51bSgpKXt0aGlzLnNldEhpZ2hsaWdodGluZ1Nl bGVjdGVkUGFnZShwYWdlX251bSk7ZG9jTWFuYWdlci5nb3RvUGFnZShwYWdlX251 bSk7fQp0aGlzLmhpZ2hsaWdodF9wYWdlKHBhZ2VfbnVtLHRoaXMucXVlcnksZnVu Y3Rpb24oKXtpZighdGhpcy5pc0hpZ2hsaWdodGluZ1NlbGVjdGVkUGFnZShwYWdl X251bSkpe3ZhciBoaWdobGlnaHRzPSQkKCcjb3V0ZXJfcGFnZV8nK3BhZ2VfbnVt KycgLmZvdXJnZW5faGlnaGxpZ2h0Jyk7dmFyIG49MCxpPXRoaXMuY3VycmVudF9y ZXN1bHQtMTt3aGlsZShpPj0wJiZ0aGlzLnF1ZXJ5X3Jlc3VsdHNbaS0tXS5wYWdl TnVtPT1wYWdlX251bSluKys7dmFyIGN1cnJlbnRfaGlnaGxpZ2h0PWhpZ2hsaWdo dHNbbl07Y3VycmVudF9oaWdobGlnaHQuYWRkQ2xhc3NOYW1lKHRoaXMuc2VsZWN0 ZWRfY2xhc3NuYW1lKTtpZih0aGlzLmxhc3RfaGlnaGxpZ2h0KXtjdXJyZW50X2hp Z2hsaWdodC5yZW1vdmVDbGFzc05hbWUodGhpcy5zZWxlY3RlZF9jbGFzc25hbWUp O30KdGhpcy5sYXN0X2hpZ2hsaWdodD1jdXJyZW50X2hpZ2hsaWdodDt2YXIgb2Zm c2V0PVNjcmliZC5ET00uc2NhbGVkQ3VtdWxhdGl2ZU9mZnNldChjdXJyZW50X2hp Z2hsaWdodCk7aWYob2Zmc2V0IT09MCl7d2luZG93LnNjcm9sbFRvKG9mZnNldC5s ZWZ0LG9mZnNldC50b3AtMTApO319CnRoaXMudW5zZXRIaWdobGlnaHRpbmdTZWxl Y3RlZFBhZ2UocGFnZV9udW0pO30uYmluZCh0aGlzKSk7fSxoYW5kbGVfcGFnZV9s

b2FkZWQ6ZnVuY3Rpb24oY29udGFpbmVyKXt2YXIgcGFnZV9udW09Y29udGFpbmVy LmlkLm1hdGNoKC9eb3V0ZXJfcGFnZV8oXGQrKSQvKVsxXTtpZih0aGlzLnF1ZXJ5 JiYhdGhpcy5pc0hpZ2hsaWdodGluZ1NlbGVjdGVkUGFnZShwYWdlX251bSkpe3Ro aXMuc2V0TG9hZGVkUGFnZShwYWdlX251bSk7dGhpcy5oaWdobGlnaHRfcGFnZShw YWdlX251bSx0aGlzLnF1ZXJ5KTt9fSxoYW5kbGVfcGFnZV9jaGFuZ2VkOmZ1bmN0 aW9uKHBhZ2VfbnVtKXtpZih0aGlzLnF1ZXJ5JiYhdGhpcy5oYXNIaWdobGlnaHRl ZFBhZ2UocGFnZV9udW0pJiYhdGhpcy5pc0hpZ2hsaWdodGluZ1NlbGVjdGVkUGFn ZShwYWdlX251bSkpCnt0aGlzLmhpZ2hsaWdodF9wYWdlKHBhZ2VfbnVtLHRoaXMu cXVlcnkpO319LGhpZ2hsaWdodF9wYWdlOmZ1bmN0aW9uKHBhZ2VOdW0scXVlcnks Y2FsbGJhY2spe3ZhciBleHBlY3RlZF9yZXN1bHRzPXRoaXMucmVzdWx0c19vbl9w YWdlW3BhZ2VOdW1dO3ZhciBwYWdlX2NvbnRhaW5lcj0kKCdvdXRlcl9wYWdlXycr cGFnZU51bSk7dmFyIF90cnlfaGlnaGxpZ2h0PWZ1bmN0aW9uKHJldHJpZXMpe3Jl dHJpZXM9cmV0cmllcz09PXVuZGVmaW5lZD84OnJldHJpZXM7dmFyIGZvdW5kPVNj cmliZC5Bbm5vdGF0aW9uLmhpZ2hsaWdodFRleHQocGFnZV9jb250YWluZXIscXVl cnksJ2ZvdXJnZW5faGlnaGxpZ2h0Jyk7aWYoIXRoaXMuaGFzTG9hZGVkUGFnZShw YWdlTnVtKSYmcmV0cmllcz4wJiZmb3VuZDxleHBlY3RlZF9yZXN1bHRzKXtyZXR1 cm4gc2V0VGltZW91dChmdW5jdGlvbigpe190cnlfaGlnaGxpZ2h0KHJldHJpZXMt MSk7fSw1MDApO30KdGhpcy5zZXRIaWdobGlnaHRlZFBhZ2UocGFnZU51bSk7aWYo Y2FsbGJhY2spe2NhbGxiYWNrKCQkKCcjb3V0ZXJfcGFnZV8nK3BhZ2VOdW0rJyAu Zm91cmdlbl9oaWdobGlnaHQnKSk7fX0uYmluZCh0aGlzKTtpZihleHBlY3RlZF9y ZXN1bHRzPjApe190cnlfaGlnaGxpZ2h0KCk7fX0saXNIaWdobGlnaHRpbmdTZWxl Y3RlZFBhZ2U6ZnVuY3Rpb24ocGFnZU51bSl7cmV0dXJuIHRoaXMuaGlnaGxpZ2h0 aW5nU2VsZWN0ZWRQYWdlWydwJytwYWdlTnVtXT09PXRydWU7fSxzZXRIaWdobGln aHRpbmdTZWxlY3RlZFBhZ2U6ZnVuY3Rpb24ocGFnZU51bSl7dGhpcy5oaWdobGln aHRpbmdTZWxlY3RlZFBhZ2VbJ3AnK3BhZ2VOdW1dPXRydWU7fSx1bnNldEhpZ2hs aWdodGluZ1NlbGVjdGVkUGFnZTpmdW5jdGlvbihwYWdlTnVtKXt0aGlzLmhpZ2hs aWdodGluZ1NlbGVjdGVkUGFnZVsncCcrcGFnZU51bV09ZmFsc2U7fSxoYXNMb2Fk ZWRQYWdlOmZ1bmN0aW9uKHBhZ2VOdW0pe3JldHVybiB0aGlzLmxvYWRlZFBhZ2Vz WydwJytwYWdlTnVtXT09PXRydWU7fSxzZXRMb2FkZWRQYWdlOmZ1bmN0aW9uKHBh Z2VOdW0pe3RoaXMubG9hZGVkUGFnZXNbJ3AnK3BhZ2VOdW1dPXRydWU7fSxoYXNI aWdobGlnaHRlZFBhZ2U6ZnVuY3Rpb24ocGFnZU51bSl7cmV0dXJuIHRoaXMuaGln aGxpZ2h0ZWRQYWdlc1sncCcrcGFnZU51bV09PT10cnVlO30sc2V0SGlnaGxpZ2h0 ZWRQYWdlOmZ1bmN0aW9uKHBhZ2VOdW0pe3RoaXMuaGlnaGxpZ2h0ZWRQYWdlc1sn cCcrcGFnZU51bV09dHJ1ZTt9fSk7CgoKLyogYXBwL3ZpZXdzL25ld2RvYy9fc2Vj dGlvbl9saXN0LmpzIEAgMTM0ODUxNzUyNiAqLwoKU2NyaWJkLlVJLnNldHVwX3Nl Y3Rpb25fbGlzdD1mdW5jdGlvbihjb250YWluZXIpeyQoY29udGFpbmVyKS5kb3du KCJ1bCIpLm9ic2VydmUoImNsaWNrIixmdW5jdGlvbihlKXt2YXIgbGluaz1lLmZp bmRFbGVtZW50KCJbZGF0YS1zZWN0aW9uXSIpO2lmKGxpbmspe2NvbnNvbGUubG9n KCJjbGljayIsbGluayk7dmFyIHNlY3Rpb249bGluay5nZXRBdHRyaWJ1dGUoJ2Rh dGEtc2VjdGlvbicpO3ZhciBmaXJzdF9wYWdlPWxpbmsuZ2V0QXR0cmlidXRlKCdk YXRhLWZpcnN0LXBhZ2UnKTtkb2N1bWVudC5sb2NhdGlvbi5oYXNoPSIjcGFnZT0i K2ZpcnN0X3BhZ2U7ZG9jTWFuYWdlci5nb3RvUGFnZShmaXJzdF9wYWdlKTt0cmFj a0V2ZW50KCduZXdkb2MnLCdTZWN0aW9uaXplZCcsJ1RPQ19OYXZDbGljaycpO2Uu c3RvcCgpO319KTt9CjsKCgovKiBhcHAvdmlld3MvbmV3ZG9jL19zaGFyZXIuanMg QCAxMzQ4NTE3NTI2ICovCgpTY3JpYmQuaW5pdCgiU2NyaWJkIiwiVUkiKTtTY3Jp YmQuVUkuU2hhcmVyPUNsYXNzLmNyZWF0ZSh7aW5pdGlhbGl6ZTpmdW5jdGlvbihj b250YWluZXIsZG9jdW1lbnRfY29sdW1uLGF1dG9zaGFyZSxvcHRzKXt0aGlzLmNv bnRhaW5lcj0kKGNvbnRhaW5lcik7dGhpcy5vcHRpb25zPW9wdHN8fFtdO3RoaXMu YXV0b3NoYXJlPWF1dG9zaGFyZTt0aGlzLm1hcmdpbl9sZWZ0PXRoaXMub3B0aW9u c1snbWFyZ2luX2xlZnQnXXx8NDt0aGlzLm1hcmdpbl90b3A9dGhpcy5vcHRpb25z WydtYXJnaW5fdG9wJ118fDQ7dGhpcy5kb2N1bWVudF9jb2x1bW49JChkb2N1bWVu dF9jb2x1bW4pO3RoaXMuc3Bhbl90ZXh0PXRoaXMuY29udGFpbmVyLmRvd24oJyNz aGFyaW5nX3N0YXR1cycpO3RoaXMuY3VycmVudF9zdGF0ZT10aGlzLnN0YXRlcy5u b3RfcmVhZHk7aWYodGhpcy5hdXRvc2hhcmVfZW5hYmxlZCgpKXt0aGlzLnNldHVw X2V2ZW50cygpO3RoaXMuYXR0YWNoLmJpbmQodGhpcykuZGVmZXIoKTt0aGlzLnNl dF9zdGF0ZSgncmVhZHknKTt9ZWxzZXt0aGlzLmNvbnRhaW5lci5hZGRDbGFzc05h bWUoJ2hpZGRlbicpO319LHNldHVwX2V2ZW50czpmdW5jdGlvbigpe3RoaXMuY29u dGFpbmVyLm9ic2VydmUoJ21vdXNlb3ZlcicsKGZ1bmN0aW9uKCl7aWYodGhpcy5j dXJyZW50X3N0YXRlPT10aGlzLnN0YXRlcy5yZWFkeSl7dGhpcy5zcGFuX3RleHQu dGV4dENvbnRlbnQ9J1Vuc2hhcmUnO319KS5iaW5kKHRoaXMpKTt0aGlzLmNvbnRh

aW5lci5vYnNlcnZlKCdtb3VzZW91dCcsKGZ1bmN0aW9uKCl7dGhpcy5zcGFuX3Rl eHQudGV4dENvbnRlbnQ9dGhpcy5jdXJyZW50X3N0YXRlLnRleHQ7fSkuYmluZCh0 aGlzKSk7dGhpcy5jb250YWluZXIub2JzZXJ2ZSgnY2xpY2snLHRoaXMuY3VycmVu dF9hY3Rpb24uYmluZCh0aGlzKSk7JEgodGhpcy5hdXRvc2hhcmUuZXZlbnRzKS5l YWNoKGZ1bmN0aW9uKHBhaXIpe3ZhciBldmVudF9uYW1lPXBhaXIudmFsdWU7dmFy IHN0YXRlPXBhaXIua2V5O2RvY3VtZW50Lm9ic2VydmUoZXZlbnRfbmFtZSwoZnVu Y3Rpb24oKXt0aGlzLnNldF9zdGF0ZShzdGF0ZSk7fSkuYmluZCh0aGlzKSk7fSx0 aGlzKTt9LGF1dG9zaGFyZV9lbmFibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIFNjcmli ZC5jdXJyZW50X2RvYy5hdXRvX3NoYXJlLmZhY2Vib29rO30sc3RhdGVzOntub3Rf cmVhZHk6e3RleHQ6Jy4uLicsY2xpY2tfYWN0aW9uOmZ1bmN0aW9uKCl7fX0scmVh ZHk6e3RleHQ6J1NoYXJpbmcuLi4nLGNsaWNrX2FjdGlvbjpmdW5jdGlvbigpe3Ro aXMuYXV0b3NoYXJlLnN0b3AoKTt0aGlzLnNldF9zdGF0ZSgnc3RvcHBlZCcpO3Ry YWNrRXZlbnQoJ25ld2RvYycsJ0NsaWNrJywnc2hhcmVyX2NhbmNlbCcsMSk7fX0s c3VibWl0dGVkOnt0ZXh0OidTaGFyZWQnLGNsaWNrX2FjdGlvbjpmdW5jdGlvbigp e319LHN0b3BwZWQ6e3RleHQ6J05vdCBTaGFyZWQnLGNsaWNrX2FjdGlvbjpmdW5j dGlvbigpe319fSxjdXJyZW50X2FjdGlvbjpmdW5jdGlvbigpe3RoaXMuY3VycmVu dF9zdGF0ZS5jbGlja19hY3Rpb24uYmluZCh0aGlzKSgpO30sc2V0X3N0YXRlOmZ1 bmN0aW9uKHN0YXRlKXtpZih0aGlzLnN0YXRlc1tzdGF0ZV0pe3RoaXMuY3VycmVu dF9zdGF0ZT10aGlzLnN0YXRlc1tzdGF0ZV07dGhpcy5yZXNldF9jc3MoKTt0aGlz LmNvbnRhaW5lci5hZGRDbGFzc05hbWUoc3RhdGUpO3RyYWNrRXZlbnQoJ25ld2Rv YycsJ1NoYXJlJywnc2hhcmVfc3RhdGVfJytzdGF0ZSk7dGhpcy5zcGFuX3RleHQu dGV4dENvbnRlbnQ9dGhpcy5jdXJyZW50X3N0YXRlLnRleHQ7aWYoc3RhdGU9PSdz dWJtaXR0ZWQnfHxzdGF0ZT09J3N0b3BwZWQnKXt0aGlzLmNvbnRhaW5lci5mYWRl KHtkdXJhdGlvbjo1LjB9KTt9fX0scmVzZXRfY3NzOmZ1bmN0aW9uKCl7JEgodGhp cy5zdGF0ZXMpLmVhY2goZnVuY3Rpb24ocGFpcil7dmFyIHN0YXRlPXBhaXIua2V5 O3RoaXMuY29udGFpbmVyLnJlbW92ZUNsYXNzTmFtZShzdGF0ZSk7fSx0aGlzKTt9 LGF0dGFjaDpmdW5jdGlvbigpe3ZhciBfdGhpcz10aGlzO3ZhciBzaGFyZXJfc2l6 ZT10aGlzLmNvbnRhaW5lci5nZXREaW1lbnNpb25zKCk7dmFyIGFic29sdXRlX3Rv cD10cnVlO2Z1bmN0aW9uIGNhbGNfbGVmdChkb2Nfb2Zmc2V0X2xlZnQscG9zaXRp b25fdHlwZSl7dmFyIGJhc2VPZmZzZXQ9X3RoaXMuZG9jdW1lbnRfY29sdW1uLnBv c2l0aW9uZWRPZmZzZXQoKTt2YXIgbGVmdD1iYXNlT2Zmc2V0LmxlZnQrX3RoaXMu bWFyZ2luX2xlZnQ7cmV0dXJuIGxlZnQrJ3B4Jzt9ClNjcmliZC5TdGlja3lFbGVt ZW50KHRoaXMuY29udGFpbmVyLGZ1bmN0aW9uKGVsbSl7aWYoX3RoaXMubG9ja2Vk KXtfdGhpcy5zZXRfbG9ja2VkX3Bvc2l0aW9uKCk7cmV0dXJuO30KdmFyIGRvY19v ZmZzZXQ9X3RoaXMuZG9jdW1lbnRfY29sdW1uLmN1bXVsYXRpdmVPZmZzZXQoKTtl bG0uc2V0U3R5bGUoe3Bvc2l0aW9uOiJmaXhlZCIsdG9wOl90aGlzLm1hcmdpbl90 b3ArInB4IixsZWZ0OmNhbGNfbGVmdChkb2Nfb2Zmc2V0LmxlZnQsJ2ZpeGVkJyl9 KTt9LGZ1bmN0aW9uKGVsbSl7aWYoX3RoaXMubG9ja2VkKXtfdGhpcy5zZXRfbG9j a2VkX3Bvc2l0aW9uKCk7cmV0dXJuO30KdmFyIGRvY19vZmZzZXQ9X3RoaXMuZG9j dW1lbnRfY29sdW1uLmN1bXVsYXRpdmVPZmZzZXQoKTt2YXIgeTtpZihhYnNvbHV0 ZV90b3Ape3k9ZG9jX29mZnNldC50b3ArX3RoaXMubWFyZ2luX3RvcDt9ZWxzZXt2 YXIgZG9jX2hlaWdodD1fdGhpcy5kb2N1bWVudF9jb2x1bW4uZ2V0SGVpZ2h0KCk7 eT1kb2Nfb2Zmc2V0LnRvcCtkb2NfaGVpZ2h0LXNoYXJlcl9zaXplLmhlaWdodC1f dGhpcy5tYXJnaW5fdG9wO30KZWxtLnNldFN0eWxlKHtwb3NpdGlvbjoiYWJzb2x1 dGUiLHRvcDp5KyJweCIsbGVmdDpjYWxjX2xlZnQoZG9jX29mZnNldC5sZWZ0LCdh YnNvbHV0ZScpfSk7fSxmdW5jdGlvbigpe2lmKF90aGlzLm9wdGlvbnMuZml4ZWQp cmV0dXJuIGZhbHNlO3ZhciBzY3JvbGw9ZG9jdW1lbnQudmlld3BvcnQuZ2V0U2Ny b2xsT2Zmc2V0cygpO3ZhciBkb2Nfb2Zmc2V0PV90aGlzLmRvY3VtZW50X2NvbHVt bi5jdW11bGF0aXZlT2Zmc2V0KCk7dmFyIGRvY19oZWlnaHQ9X3RoaXMuZG9jdW1l bnRfY29sdW1uLmdldEhlaWdodCgpO2lmKHNjcm9sbC50b3A8PWRvY19vZmZzZXQu dG9wKXthYnNvbHV0ZV90b3A9dHJ1ZTtyZXR1cm4gZmFsc2U7fQppZihkb2Nfb2Zm c2V0LnRvcCtkb2NfaGVpZ2h0LXNjcm9sbC50b3A8c2hhcmVyX3NpemUuaGVpZ2h0 K190aGlzLm1hcmdpbl90b3Ape2Fic29sdXRlX3RvcD1mYWxzZTtyZXR1cm4gZmFs c2U7fQpyZXR1cm4gdHJ1ZTt9LGZ1bmN0aW9uKCl7fSk7fSxsb2NrX3Bvc2l0aW9u OmZ1bmN0aW9uKCl7dGhpcy5sb2NrZWQ9dHJ1ZTt0aGlzLmxvY2tlZF9wb3NpdGlv bj10aGlzLmNvbnRhaW5lci52aWV3cG9ydE9mZnNldCgpO30sdW5sb2NrX3Bvc2l0 aW9uOmZ1bmN0aW9uKCl7dGhpcy5sb2NrZWQ9ZmFsc2U7ZG9jdW1lbnQuZmlyZSgi c2NyaWJkOmRvbV9oZWlnaHRfY2hhbmdlZCIpO30sc2V0X2xvY2tlZF9wb3NpdGlv bjpmdW5jdGlvbigpe3RoaXMuY29udGFpbmVyLnNldFN0eWxlKHtwb3NpdGlvbjoi Zml4ZWQiLHRvcDp0aGlzLmxvY2tlZF9wb3NpdGlvbi50b3ArInB4IixsZWZ0OnRo

aXMubG9ja2VkX3Bvc2l0aW9uLmxlZnQrInB4In0pO319KTsKCgovKiBhcHAvdmll d3MvbmV3ZG9jL3Nob3cuanMgQCAxMzQ4NTE3NTI2ICovCgpTY3JpYmQuaW5pdCgi U2NyaWJkIiwiVUkiKTtTY3JpYmQuYWxlcnRfaGlnaGphY2s9ZnVuY3Rpb24obGln aHRib3hfaWQsb25fYWxlcnQpe3ZhciBvbGRfcmVuZGVyPVNjcmliZC5BbGVydHMu cmVuZGVyO1NjcmliZC5BbGVydHMucmVuZGVyPWZ1bmN0aW9uKCl7aWYoU2NyaWJk LkxpZ2h0Ym94LmN1cnJlbnQoKS5pZD09bGlnaHRib3hfaWQpe29uX2FsZXJ0LmFw cGx5KG51bGwsYXJndW1lbnRzKTt9ZWxzZXtvbGRfcmVuZGVyLmFwcGx5KHRoaXMs YXJndW1lbnRzKTt9fTt9O1NjcmliZC5VSS5kaXNwYXRjaD1mdW5jdGlvbihlLGFj dGlvbnMsY29udGV4dCxldmVudF9wcmVmaXgsZGlzYWJsZV9zdG9wKXtmb3IodmFy IG5hbWUgaW4gYWN0aW9ucyl7aWYoIWFjdGlvbnMuaGFzT3duUHJvcGVydHkobmFt ZSkpY29udGludWU7dmFyIGVsbT1lLmZpbmRFbGVtZW50KCIuIituYW1lKTtpZihl bG0pe2lmKCFkaXNhYmxlX3N0b3Ape2Uuc3RvcCgpO30KaWYoZWxtLmhhc0NsYXNz TmFtZSgiZGlzYWJsZWQiKSlyZXR1cm4gdHJ1ZTt2YXIgZXZlbnRfbmFtZT1ldmVu dF9wcmVmaXg/ZXZlbnRfcHJlZml4KyJfIituYW1lOm5hbWU7dHJhY2tFdmVudCgi bmV3ZG9jIiwiQ2xpY2siLGV2ZW50X25hbWUsU2NyaWJkLmxvZ2dlZF9pbj8xOjAp O2FjdGlvbnNbbmFtZV0uY2FsbChjb250ZXh0LGVsbSxlKTtyZXR1cm4gdHJ1ZTt9 fQpyZXR1cm4gZmFsc2U7fTtTY3JpYmQucmVzdHJpY3RfdG9fbnVtYmVycz1mdW5j dGlvbihlKXt2YXIgY29kZTtpZihlLmtleUNvZGUpY29kZT1lLmtleUNvZGU7ZWxz ZSBpZihlLndoaWNoKWNvZGU9ZS53aGljaDt2YXIgY2hhcmFjdGVyPVN0cmluZy5m cm9tQ2hhckNvZGUoY29kZSk7aWYoY29kZT09Mjcpe3RoaXMuYmx1cigpO3JldHVy biBmYWxzZTt9CmlmKCFlLmN0cmxLZXkmJmNvZGUhPTkmJmNvZGUhPTgmJmNvZGUh PTM2JiZjb2RlIT0zNyYmY29kZSE9MzgmJihjb2RlIT0zOSkmJmNvZGUhPTQwJiZj b2RlIT00Nil7aWYoY2hhcmFjdGVyLm1hdGNoKC9bMC05XS9nKSl7cmV0dXJuIHRy dWU7fWVsc2V7ZS5zdG9wKCk7fX19O1NjcmliZC5yZXN0cmljdF9pbnB1dF90b19u dW1iZXJzPWZ1bmN0aW9uKGlucHV0KXtpbnB1dD0kKGlucHV0KTtpbnB1dC5vYnNl cnZlKCJrZXlwcmVzcyIsU2NyaWJkLnJlc3RyaWN0X3RvX251bWJlcnMpO2lucHV0 Lm9ic2VydmUoImNoYW5nZSIsU2NyaWJkLnJlc3RyaWN0X3RvX251bWJlcnMpO307 U2NyaWJkLlVJLnNldHVwX25ld2RvYz1mdW5jdGlvbihsYXlvdXRfZm9ybWF0KXtf Z2FxLnB1c2goWydfc2V0Q3VzdG9tVmFyJywxLCduZXdkb2NfbGF5b3V0X2Zvcm1h dCcsbGF5b3V0X2Zvcm1hdHx8IndlYiJdKTtTY3JpYmQudHJhY2tTZXNzaW9uTGVu Z3RoKCduZXdkb2MnLCdNZXRyaWNzJywnU2Vzc2lvbkxlbmd0aFNlYycpO3ZhciBm dW5jUGFnZVZpZXc9ZnVuY3Rpb24oKXtpZigkcGVyZil7JHBlcmYucmVjb3JkUGVy Y2VpdmVkTG9hZFRpbWUoKChuZXcgRGF0ZSgpKS5nZXRUaW1lKCkpKTt9CmlmKHJl Zmxvd19xdWFsaXR5X2dvb2QmJiRyYXQpeyRyYXQoJ3JlZmxvdycsdHJ1ZSk7fQpp ZihyZWZsb3dfcXVhbGl0eV9nb29kKXtpZih3aW5kb3cucGVyZm9ybWFuY2UmJndp bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcpe3ZhciBlbGFwc2VkX3RpbWU9KChuZXcg RGF0ZSgpKS5nZXRUaW1lKCkpLXdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZmV0 Y2hTdGFydDt2YXIgbmFtZXNwYWNlPSJwZXJjZWl2ZWRfbG9hZF90aW1lOiIrKFNj cmliZC5sb2dnZWRfaW4/ImxvZ2dlZF9pbiI6ImxvZ2dlZF9vdXQiKTt0cmFja0V2 ZW50KCdyZWZsb3cnLCdwbGFpbicsbmFtZXNwYWNlLGVsYXBzZWRfdGltZSxmYWxz ZSk7fQp2YXIgbG9hZERvbmVUaW1lPW5ldyBEYXRlKCk7RXZlbnQub2JzZXJ2ZSh3 aW5kb3csJ3VubG9hZCcsZnVuY3Rpb24oKXt0cmFja0V2ZW50KCdyZWZsb3cnLCdw bGFpbicsJ3RpbWVfb25fc2l0ZTInLHBhcnNlSW50KChuZXcgRGF0ZSgpLWxvYWRE b25lVGltZSkvMTAwMCkpO30pO30KZG9jTWFuYWdlci5yZW1vdmVFdmVudCgicGFn ZVZpZXciLGZ1bmNQYWdlVmlldyk7U2NyaWJkLkFkcy5maXJlKGRvY3VtZW50LCdz Y3JpYmQ6bG9hZF9hZHMnKTt9O2lmKHNob3dfcmVmbG93KXtmdW5jUGFnZVZpZXco KTt9ZWxzZXtkb2NNYW5hZ2VyLmFkZEV2ZW50KCJwYWdlVmlldyIsZnVuY1BhZ2VW aWV3KTt9CnZhciBmZWF0dXJlZD0kKCJwdWJfZmVhdHVyZWRfZG9jcyIpO2lmKGZl YXR1cmVkKXtTY3JpYmQuVUkucmVsYXRlZF9wYWdlcj1uZXcgU2NyaWJkLlVJLkRv Y3VtZW50TGlzdFBhZ2VyKGZlYXR1cmVkKTt9CmRvY01hbmFnZXIuYWRkRXZlbnQo J2hpZGVFeHRyYXMnLGZ1bmN0aW9uKCl7JCgnc2lkZWJhcicpLmhpZGUoKTt9KTtk b2NNYW5hZ2VyLmFkZEV2ZW50KCdzaG93RXh0cmFzJyxmdW5jdGlvbigpeyQoJ3Np ZGViYXInKS5zaG93KCk7fSk7dmFyIGxlYWRlcmJvYXJkPSQoImxlYWRlcmJvYXJk X2FkX21haW4iKTt2YXIgcHBwX2Jhbm5lcj0kKCJwcm9maWxlX2JyYW5kaW5nX2Jh bm5lciIpO2lmKHBwcF9iYW5uZXIpe3BwcF9iYW5uZXIuZG93bigiaW1nIikub2Jz ZXJ2ZSgibG9hZCIsZnVuY3Rpb24oKXtkb2N1bWVudC5maXJlKCJzY3JpYmQ6ZG9t X2hlaWdodF9jaGFuZ2VkIik7fSk7fQp2YXIgcGFnZV9oYXNoPXdpbmRvdy5sb2Nh dGlvbi5oYXNoLm1hdGNoKC8jcGFnZT0oXGQrKS8pO2lmKHBhZ2VfaGFzaCYmcGFn ZV9oYXNoLmxlbmd0aD09Mil7ZG9jTWFuYWdlci5nb3RvUGFnZShwYWdlX2hhc2hb MV0pO30KKGZ1bmN0aW9uKCl7dmFyIGFjdGlvbj13aW5kb3cubG9jYXRpb24uaGFz

aC5tYXRjaCgvXiMoXHcrKSQvKTtpZihhY3Rpb24pe2FjdGlvbj1hY3Rpb25bMV07 c3dpdGNoKGFjdGlvbil7Y2FzZSJkb3dubG9hZCI6U2NyaWJkLnNpZGViYXJfYWN0 aW9ucy5kb3dubG9hZF9idXR0b24oKTticmVhaztjYXNlInJlYWRjYXN0IjpTY3Jp YmQuc29jaWFsX2FjdGlvbnMucmVhZGNhc3RfYnV0dG9uKCk7YnJlYWs7Y2FzZSJj b2xsZWN0aW9ucyI6U2NyaWJkLnNvY2lhbF9hY3Rpb25zLmNvbGxlY3Rpb25zX2J1 dHRvbigpO2JyZWFrO2Nhc2UiZnVsbHNjcmVlbiI6Y2FzZSJmdWxsIjp2YXIgcGFn ZXI9U2NyaWJkLlVJLnBhZ2VyO3BhZ2VyLmFjdGlvbnMuZW50ZXJfZnVsbHNjcmVl bi5jYWxsKHBhZ2VyKTticmVhazt9fX0pLmRlZmVyKCk7aWYoU2NyaWJkLmxvZ2dl ZF9pbil7WyJzY3JpYmQiLCJ0d2l0dGVyIl0uZWFjaChmdW5jdGlvbihuZXR3b3Jr KXsobmV3IFNjcmliZC5SZWFkY2FzdC5FdmVudC5BdXRvU2hhcmUoe2RvYzpTY3Jp YmQuY3VycmVudF9kb2Muc2hhcmluZ19kYXRhLGF1dG9fc3VibWl0OlNjcmliZC5j dXJyZW50X2RvYy5hdXRvX3NoYXJlW25ldHdvcmtdLHNlcnZpY2VfdHlwZTpuZXR3 b3JrLGV2ZW50X3R5cGU6J3JlYWQnfSkpLnN0YXJ0KCk7fSk7KG5ldyBTY3JpYmQu UmVhZGNhc3QuRXZlbnQuRmFjZWJvb2tBdXRvU2hhcmUoe2RvYzpTY3JpYmQuY3Vy cmVudF9kb2Muc2hhcmluZ19kYXRhLGF1dG9fc3VibWl0OlNjcmliZC5jdXJyZW50 X2RvYy5hdXRvX3NoYXJlLmZhY2Vib29rLGV2ZW50X3R5cGU6J3JlYWQnfSkpLnN0 YXJ0KCk7fQokJCgiI2FkbWluX3Nob3dfbGluayIsIiNhZG1pbl9oaWRkZW5fbGlu ayIpLmludm9rZSgib2JzZXJ2ZSIsImNsaWNrIixmdW5jdGlvbigpeyQoJ2FkbWlu X3Nob3cnKS50b2dnbGUoKTskKCdhZG1pbl9oaWRkZW4nKS50b2dnbGUoKTtkb2N1 bWVudC5maXJlKCdzY3JpYmQ6bW92ZV9hZHMnKTt9KTtTY3JpYmQuc2V0dXBfbGFu Z3VhZ2VfYmFyKCk7aWYoIVNjcmliZC5jdXJyZW50X2RvYy5jYW5fcHVyY2hhc2Up eyQkKCIubWlzc2luZ19wYWdlX2J1eV9idXR0b24iKS5pbnZva2UoInJlbW92ZSIp O30KaWYoZG9jTWFuYWdlciYmZG9jTWFuYWdlci5wYWdlcyl7aWYoISQoImJldHdl ZW5fcGFnZV9hZHNfMyIpKXskKCJzaWRlYmFyIikuYWRkQ2xhc3NOYW1lKCJzdGlj a3lfZmx1c2giKTt9fX07ZG9jdW1lbnQub2JzZXJ2ZSgnc2NyaWJkOmRvY2luZm9f cmVhZHknLGZ1bmN0aW9uKCl7aWYoU2NyaWJkLmN1cnJlbnRfZG9jLnNob3dfYWdl X2dhdGUmJnR5cGVvZihTY3JpYmQuQnJvd3NlckRldGVjdC5pc19ib3QpPT09J3Vu ZGVmaW5lZCcpe3ZhciBjb29raWU9bmV3IFNjcmliZC5KU09OQ29va2llKCdzZXNz aW9uX21ldGFkYXRhJyk7dmFyIHRpbWU9Y29va2llLmdldCgnYWR1bHRfb2snKTt2 YXIgZGVsdGE9KG5ldyBEYXRlKCkpLmdldFRpbWUoKS10aW1lO2lmKCF0aW1lfHxk ZWx0YT4zNjAwMDAwKXtpZih3aW5kb3cuc3RvcCkKd2luZG93LnN0b3AoKTtlbHNl IGlmKGRvY3VtZW50LmV4ZWNDb21tYW5kKQpkb2N1bWVudC5leGVjQ29tbWFuZCgn c3RvcCcpO3ZhciBuZXdIcmVmPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCsnLy8n K3dpbmRvdy5sb2NhdGlvbi5ob3N0KycvZG9jL3Byb3RlY3RlZC8nK1NjcmliZC5j dXJyZW50X2RvYy5pZDtpZih0eXBlb2YoU2NyaWJkLmN1cnJlbnRfZG9jLnNlY3Rp b25faWQpIT09J3VuZGVmaW5lZCcpCm5ld0hyZWYrPScvJytTY3JpYmQuY3VycmVu dF9kb2Muc2VjdGlvbl9pZDt3aW5kb3cubG9jYXRpb24uaHJlZj1uZXdIcmVmO319 fSk7U2NyaWJkLm9uQWRGaWxsZWQ9ZnVuY3Rpb24oYWRfY29udGFpbmVyLGNhbGxi YWNrLHBlcnNpc3QscG9sbFRpbWUsdGltZW91dCl7dmFyIGluaXRpYWxIZWlnaHQ7 dmFyIHBvbGxlcjt2YXIgdGltZXNQb2xsZWQ9MDt0aW1lb3V0PXRpbWVvdXR8fDJl NDtwb2xsVGltZT1wb2xsVGltZXx8MWUzO2luaXRpYWxIZWlnaHQ9YWRfY29udGFp bmVyLmdldEhlaWdodCgpO3BvbGxlcj1zZXRJbnRlcnZhbChmdW5jdGlvbigpe3Rp bWVzUG9sbGVkKz0xO2lmKCh0aW1lc1BvbGxlZCpwb2xsVGltZSk+dGltZW91dCl7 Y2xlYXJJbnRlcnZhbChwb2xsZXIpO30KaWYoYWRfY29udGFpbmVyLmdldEhlaWdo dCgpIT09aW5pdGlhbEhlaWdodCYmYWRfY29udGFpbmVyLmdldEhlaWdodCgpPjEw KXtpZighcGVyc2lzdCkKY2xlYXJJbnRlcnZhbChwb2xsZXIpO2NhbGxiYWNrKGFk X2NvbnRhaW5lcik7fX0scG9sbFRpbWUpO307KGZ1bmN0aW9uKCl7dmFyIGZpeEFk PWZ1bmN0aW9uKGFkX2NvbnRhaW5lcil7U2NyaWJkLmFic29sdXRpemVBbmRQYWQo YWRfY29udGFpbmVyKTtkb2N1bWVudC5maXJlKCJzY3JpYmQ6ZG9tX2hlaWdodF9j aGFuZ2VkIik7fTtpZihQcm90b3R5cGUuQnJvd3Nlci5XZWJLaXQpe0V2ZW50Lm9i c2VydmUoZG9jdW1lbnQsJ2RvbTpsb2FkZWQnLGZ1bmN0aW9uKCl7aWYoU2NyaWJk LkFkcy5lbmFibGVkKXt2YXIgYWRzPVsnbGVhZGVyYm9hcmRfYWRfZ2FtJywncmln aHRjb2x1bW5fYWRfZ2FtJ107Zm9yKHZhciBhZElkIGluIFNjcmliZC5BZHMucXVl dWVkRm9yRGlzcGxheSl7aWYoU2NyaWJkLkFkcy5xdWV1ZWRGb3JEaXNwbGF5Lmhh c093blByb3BlcnR5KGFkSWQpKXt2YXIgYWQ9JChhZElkKTtpZihhZCl7U2NyaWJk Lm9uQWRGaWxsZWQoYWQsZml4QWQpO319fX19KTt9fSkoKTtTY3JpYmQudG9nZ2xl X3BhZ2luYXRpb249ZnVuY3Rpb24oKXtpZihTY3JpYmQuY3VycmVudF9kb2MuaXNf b3duZXIpe25ldyBBamF4LlJlcXVlc3QoIi9uZXdkb2MvdG9nZ2xlX3BhZ2luYXRp b25fdGVzdCIse21ldGhvZDoicG9zdCIscGFyYW1ldGVyczp7aWQ6U2NyaWJkLmN1 cnJlbnRfZG9jLmlkfSxvblN1Y2Nlc3M6ZnVuY3Rpb24oKXt3aW5kb3cubG9jYXRp

b24ucmVsb2FkKCk7fX0pO30KdmFyIHJldmVydF9uYW1lPVNjcmliZC5VSS5pc19w YWdpbmF0ZWQ/InBhZ2luYXRpb24iOiJub3RfcGFnaW5hdGVkIjt0cmFja0V2ZW50 KCJuZXdkb2MiLCJQYWdpbmF0aW9uIiwicmV2ZXJ0XyIrcmV2ZXJ0X25hbWUsU2Ny aWJkLmxvZ2dlZF9pbj8xOjApO2lmKFNjcmliZC5sb2dnZWRfaW4pe3ZhciBjb29r aWU9bmV3IFNjcmliZC5KU09OQ29va2llKCJzZXNzaW9uX21ldGFkYXRhIik7aWYo IWNvb2tpZS5nZXQoInBhZ2luYXRpb25fZGlzYWJsZWQiKSl7Y29va2llLnNldCgi cGFnaW5hdGlvbl9kaXNhYmxlZCIsdHJ1ZSk7U2NyaWJkLmxvZygicGFnaW5hdGlv biBkaXNhYmxlZCIpO31lbHNle2Nvb2tpZS51bnNldCgicGFnaW5hdGlvbl9kaXNh YmxlZCIpO1NjcmliZC5sb2coInBhZ2luYXRpb24gZW5hYmxlZCIpO30KY29va2ll LnNhdmUoKTt3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7fWVsc2V7U2NyaWJkLmxv Z2luLm9wZW4oe2NvbnRleHQ6InZpZXdfbW9kZSIsY2FsbGJhY2s6IlNjcmliZC5s b2dnZWRfaW4gPSB0cnVlLCBTY3JpYmQudG9nZ2xlX3BhZ2luYXRpb24oKSJ9KTt9 fTtTY3JpYmQuVUkuc2Nyb2xsX3RvX3RvcD1mdW5jdGlvbigpeyQoJ3ZpZXdlcicp LnNjcm9sbFRvKCk7fTtTY3JpYmQuVUkuZW5zdXJlX2xvZ2luPWZ1bmN0aW9uKGZu LGNvbnRleHQsaGFzaCl7cmV0dXJuKGZ1bmN0aW9uKCl7aGFzaD1oYXNofHwiIyIr Y29udGV4dDtpZighU2NyaWJkLmxvZ2dlZF9pbil7U2NyaWJkLmxvZ2luLm9wZW4o e2NvbnRleHQ6Y29udGV4dCxuZXh0X3VybDpTY3JpYmQuY3VycmVudF9kb2MudXJs K2hhc2h9KTt9ZWxzZXtyZXR1cm4gZm4uYXBwbHkodGhpcyxhcmd1bWVudHMpO30K cmV0dXJuIG51bGw7fSk7fTtTY3JpYmQuY2hlY2tGb3JPdmVycmlkZUxhbmd1YWdl PWZ1bmN0aW9uKCl7dmFyIGRvbWFpblByZWZpeDt2YXIgbGNpZDt2YXIgc2hvdWxk U2V0TGFuZ3VhZ2U9ZnVuY3Rpb24oKXtpZihTY3JpYmQuY3VycmVudF9kb2MubGFu Z3VhZ2VfaWQ9PT0xKXtyZXR1cm4gZmFsc2U7fQp2YXIgaW5BY2NlcHRlZExhbmd1 YWdlcztmb3IodmFyIGkgaW4gU2NyaWJkLkkxOG4ubGFuZ3VhZ2VzKXtpZihTY3Jp YmQuY3VycmVudF9kb2MubGFuZ3VhZ2VfaWQ9PT1TY3JpYmQuSTE4bi5sYW5ndWFn ZXNbaV0uaWQpe2luQWNjZXB0ZWRMYW5ndWFnZXM9dHJ1ZTtkb21haW5QcmVmaXg9 U2NyaWJkLkkxOG4ubGFuZ3VhZ2VzW2ldLnByZWZpeDtsY2lkPVNjcmliZC5JMThu Lmxhbmd1YWdlc1tpXS5sY2lkO2JyZWFrO319CmlmKCFpbkFjY2VwdGVkTGFuZ3Vh Z2VzKXtyZXR1cm4gZmFsc2U7fQp2YXIgY29va2llcz1kb2N1bWVudC5jb29raWUu bWF0Y2goJ2xhbmc9KC4qPykoO3wkKScpO2lmKGNvb2tpZXMpe3JldHVybiBmYWxz ZTt9CmlmKGRvY3VtZW50LnJlZmVycmVyLmluZGV4T2YoInNjcmliZC5jb20iKSE9 PS0xKXtyZXR1cm4gZmFsc2U7fQpyZXR1cm4gdHJ1ZTt9O2lmKHNob3VsZFNldExh bmd1YWdlKCkpe3ZhciBteURlc3RpbmF0aW9uPSIvbGFuZ3VhZ2U/ZGVzdGluYXRp b249aHR0cCUzQSUyRiUyRiIrZG9tYWluUHJlZml4KyIuc2NyaWJkLmNvbSIrZW5j b2RlVVJJQ29tcG9uZW50KGRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lKSsiJmlk PSIrbGNpZDtkb2N1bWVudC5sb2NhdGlvbj1teURlc3RpbmF0aW9uO319OwoKCi8q IGFwcC92aWV3cy9uZXdkb2Mvc2hvdy9wYWdpbmF0ZWQuanMgQCAxMzQ4NTE3NTI2 ICovCgpTY3JpYmQuaW5pdCgiU2NyaWJkIiwiVUkiKTtTY3JpYmQuVUkuc2V0dXBf cGFnaW5hdGlvbj1mdW5jdGlvbigpe1NjcmliZC5VSS5pc19wYWdpbmF0ZWQ9dHJ1 ZTt2YXIgY3VycmVudF91c2VyPVNjcmliZC5wYWdpbmF0ZWRfdXNlcj17fTtjdXJy ZW50X3VzZXIubWF4X3ZpZXdlZF9wYWdlPTE7Y3VycmVudF91c2VyLm51bV9yZWZy ZXNoZXM9MDt2YXIgcGFnZV9sb2FkX3RpbWU9K25ldyBEYXRlO3RyYWNrRXZlbnQo Im5ld2RvYyIsIlBhZ2luYXRpb24iLCJoaXQiLFNjcmliZC5sb2dnZWRfaW4/MTow KTtkb2NNYW5hZ2VyLmFkZEV2ZW50KCJleHBlY3RlZEZpcnN0UGFnZUNoYW5nZWQi LGZ1bmN0aW9uKHBhZ2Upe2N1cnJlbnRfdXNlci5tYXhfdmlld2VkX3BhZ2U9TWF0 aC5tYXgoY3VycmVudF91c2VyLm1heF92aWV3ZWRfcGFnZSxwYWdlKTt9KTtFdmVu dC5vYnNlcnZlKHdpbmRvdywndW5sb2FkJyxmdW5jdGlvbigpe3RyYWNrRXZlbnQo J25ld2RvYycsJ1BhZ2luYXRpb24nLCdwYWdlc192aWV3c19jb3VudCcsY3VycmVu dF91c2VyLm1heF92aWV3ZWRfcGFnZSk7aWYoU2NyaWJkLlVJLnBhZ2VyKXt0cmFj a0V2ZW50KCduZXdkb2MnLCdQYWdpbmF0aW9uJywncGFnZXNfdmlld3NfcGVyY2Vu dCcsY3VycmVudF91c2VyLm1heF92aWV3ZWRfcGFnZS9TY3JpYmQuVUkucGFnZXIu bWF4X3ZpZXdlZF9wYWdlKTt9CnRyYWNrRXZlbnQoJ25ld2RvYycsJ1BhZ2luYXRp b24nLCdudW1fcmVmcmVzaGVzJyxjdXJyZW50X3VzZXIubnVtX3JlZnJlc2hlcyk7 fSk7ZG9jdW1lbnQub2JzZXJ2ZSgnc2NyaWJkOmludGVyYWN0JyxmdW5jdGlvbigp e3ZhciBzbG90cz1TY3JpYmQuQWRzLmdwdF9zbG90cztpZihzbG90cyYmZ29vZ2xl dGFnLnB1YmFkcyl7Y3VycmVudF91c2VyLm51bV9yZWZyZXNoZXMrKztnb29nbGV0 YWcucHViYWRzKCkucmVmcmVzaChzbG90cyk7fX0udGhyb3R0bGUoNTAwMCkpO2Rv Y3VtZW50Lm9ic2VydmUoImtleXVwIixmdW5jdGlvbihlKXt2YXIgZXZlbnRfbmFt ZTtzd2l0Y2goZS5rZXlDb2RlKXtjYXNlIEV2ZW50LktFWV9MRUZUOmRvY3VtZW50 LmZpcmUoInNjcmliZDppbnRlcmFjdCIpO2V2ZW50X25hbWU9ImtleWJvYXJkX3By ZXZfcGFnZSI7U2NyaWJkLlVJLnNjcm9sbF90b190b3AoKTtkb2NNYW5hZ2VyLmdv

dG9QcmV2aW91c1BhZ2UoKTticmVhaztjYXNlIEV2ZW50LktFWV9SSUdIVDpkb2N1 bWVudC5maXJlKCJzY3JpYmQ6aW50ZXJhY3QiKTtldmVudF9uYW1lPSJrZXlib2Fy ZF9uZXh0X3BhZ2UiO1NjcmliZC5VSS5zY3JvbGxfdG9fdG9wKCk7ZG9jTWFuYWdl ci5nb3RvTmV4dFBhZ2UoKTticmVhaztkZWZhdWx0OnJldHVybjt9CnRyYWNrRXZl bnQoIm5ld2RvYyIsIlBhZ2luYXRpb24iLGV2ZW50X25hbWUsU2NyaWJkLmxvZ2dl ZF9pbj8xOjApO2Uuc3RvcCgpO30pO2RvY01hbmFnZXIudmlld01hbmFnZXJzLnNs aWRlc2hvdy5fc2V0UGFnZUJvdW5kcz1mdW5jdGlvbihib3VuZHMpe3ZhciBwYWdl PXRoaXMuZG9jdW1lbnRNYW5hZ2VyLnBhZ2VzW3RoaXMuY3VycmVudFBhZ2VJZF07 aWYoIXBhZ2UpcmV0dXJuO3ZhciB3aWR0aD1ib3VuZHMud2lkdGgsaGVpZ2h0PWJv dW5kcy5oZWlnaHQ7KGZ1bmN0aW9uKCl7d2lkdGgtPTMwO2hlaWdodD1NYXRoLmNl aWwod2lkdGgqdGhpcy5vcmlnSGVpZ2h0L3RoaXMub3JpZ1dpZHRoKTt0aGlzLmNv bnRhaW5lckVsZW0uc3R5bGUud2lkdGg9d2lkdGgrInB4Ijt0aGlzLmNvbnRhaW5l ckVsZW0uc3R5bGUuaGVpZ2h0PWhlaWdodCsicHgiO3RoaXMuX3RhcmdldFdpZHRo PXdpZHRoO3RoaXMuX2ZpdENvbnRlbnRzVG9XaWR0aCgpO30pLmFwcGx5KHBhZ2Up O307KGZ1bmN0aW9uKCl7dmFyIGZuPWRvY3VtZW50LmZpcmUuYmluZChkb2N1bWVu dCwic2NyaWJkOmRvbV9oZWlnaHRfY2hhbmdlZCIpO2RvY01hbmFnZXIuYWRkRXZl bnQoImV4aXRlZEZ1bGxzY3JlZW4iLGZuKTtkb2NNYW5hZ2VyLmFkZEV2ZW50KCJl bnRlcmVkRnVsbHNjcmVlbiIsZm4pO30pLmRlZmVyKCk7fTsKCgovKiBhcHAvdmll d3MvbmV3ZG9jL3Nob3cvcmVmbG93LmpzIEAgMTM0ODUxNzUyNiAqLwoKU2NyaWJk LmluaXQoIlNjcmliZCIsIlVJIik7U2NyaWJkLlVJLnNldHVwX3JlZmxvdz1mdW5j dGlvbigpe1NjcmliZC5VSS5pc19yZWZsb3dlZD10cnVlO3ZhciBwYWdlX2xvYWRf dGltZT0rbmV3IERhdGUoKTt0cmFja0V2ZW50KCJyZWZsb3ciLCJwbGFpbiIsImhp dCIsU2NyaWJkLmxvZ2dlZF9pbj8xOjApO1NjcmliZC50cmFja1Nlc3Npb25MZW5n dGgoJ3JlZmxvdycsJ3BsYWluJywndGltZV9vbl9zaXRlJyk7aWYoJHJhdCl7JHJh dCgncmVmbG93Jyx0cnVlKTt9fTtmdW5jdGlvbiBSZWZsb3dEb2NNYW5hZ2VyKCl7 dGhpcy5jdXJyZW50UGFnZU51bT10aGlzLnBhZ2VDb3VudD1mdW5jdGlvbigpe3Jl dHVybiAxO307dGhpcy52aWV3TW9kZT1mdW5jdGlvbigpe3JldHVybiJyZWZsb3ci O307dmFyIGVtcHR5U3R1YnM9WydmaXJlRXZlbnQnLCdyZW1vdmVFdmVudCcsJ2Fk ZEV2ZW50JywnZ290b05leHRQYWdlJywnZ290b1ByZXZpb3VzUGFnZScsJ2dvdG9Q YWdlJywnem9vbScsJ2VudGVyRnVsbFNjcmVlbicsJ2V4aXRGdWxsU2NyZWVuJ107 dmFyIGVtcHR5RnVuYz1mdW5jdGlvbigpe307Zm9yKHZhciBpPTA7aTxlbXB0eVN0 dWJzLmxlbmd0aDtpKyspe3RoaXNbZW1wdHlTdHVic1tpXV09ZW1wdHlGdW5jO319 CnZhciBkb2NNYW5hZ2VyPW5ldyBSZWZsb3dEb2NNYW5hZ2VyKCk7CgoKLyogYXBw L3ZpZXdzL25ld2RvYy9fc2lkZWJhci5qcyBAIDEzNDg1MTc1MjYgKi8KClNjcmli ZC50b29sYmFyUGFyYW1zPWZ1bmN0aW9uKCl7dmFyIHBhcmFtcz17aWQ6U2NyaWJk LmN1cnJlbnRfZG9jLmlkLHNob3dfY29udGFpbmVyOnRydWV9O2lmKFNjcmliZC5j dXJyZW50X2RvYy5zZWNyZXRfcGFzc3dvcmQpe3BhcmFtcy5zZWNyZXRfcGFzc3dv cmQ9U2NyaWJkLmN1cnJlbnRfZG9jLnNlY3JldF9wYXNzd29yZDt9CnJldHVybiBw YXJhbXM7fTtTY3JpYmQuc2lkZWJhcl9hY3Rpb25zPXtkb3dubG9hZF9idXR0b246 ZnVuY3Rpb24oKXt2YXIgcmVnaXN0ZXJEb3dubG9hZEF0dGVtcHQ9ZnVuY3Rpb24o ZG9jX2lkLG5leHRfc2NyZWVuKXtuZXcgQWpheC5SZXF1ZXN0KCcvZG9jdW1lbnRf ZG93bmxvYWRzL3JlZ2lzdGVyX2Rvd25sb2FkX2F0dGVtcHQnLHttZXRob2Q6InBv c3QiLHBhcmFtZXRlcnM6e2RvY19pZDpkb2NfaWQsbmV4dF9zY3JlZW46bmV4dF9z Y3JlZW59fSk7fTt0cmFja0V2ZW50KCJwYXltZW50cyIsIm5ld2RvYyIsImRvd25s b2FkX2RpYWxvZzpidXR0b246Y2xpY2siLFNjcmliZC5sb2dnZWRfaW4/MTowKTsk cmF0KCdhbmFseXRpY3Muc2lkZWJhci5kb2N1bWVudC5kb3dubG9hZCcseyd0aXRs ZSc6U2NyaWJkLmN1cnJlbnRfZG9jLnRpdGxlfSk7aWYoIVNjcmliZC5jdXJyZW50 X2RvYy5zaG93X2FyY2hpdmVfcGF5d2FsbCl7aWYoU2NyaWJkLmxvZ2dlZF9pbil7 cmVnaXN0ZXJEb3dubG9hZEF0dGVtcHQoU2NyaWJkLmN1cnJlbnRfZG9jLmlkLCJk b3dubG9hZF9saWdodGJveCIpO1NjcmliZC5MaWdodGJveC5yZW1vdGVPcGVuKCdk b3dubG9hZF9sYicsJy9uZXdkb2MvZG93bmxvYWRfZGlhbG9nJyxTY3JpYmQudG9v bGJhclBhcmFtcygpLHtjbG9zZTp0cnVlfSk7fWVsc2V7cmVnaXN0ZXJEb3dubG9h ZEF0dGVtcHQoU2NyaWJkLmN1cnJlbnRfZG9jLmlkLCJsb2dpbl9saWdodGJveCIp O1NjcmliZC5sb2dpbi5vcGVuKHtjb250ZXh0OiJkb3dubG9hZCIsbmV4dF91cmw6 U2NyaWJkLmN1cnJlbnRfZG9jLnVybCsiI2Rvd25sb2FkIn0pO319ZWxzZXtpZihT Y3JpYmQubG9nZ2VkX2luKXtyZWdpc3RlckRvd25sb2FkQXR0ZW1wdChTY3JpYmQu Y3VycmVudF9kb2MuaWQsInBheXdhbGwiKTt3aW5kb3cubG9jYXRpb249Jy9hcmNo aXZlL3BsYW5zP2RvYz0nK1NjcmliZC5jdXJyZW50X2RvYy5pZDt9ZWxzZXtyZWdp c3RlckRvd25sb2FkQXR0ZW1wdChTY3JpYmQuY3VycmVudF9kb2MuaWQsImxvZ2lu X2xpZ2h0Ym94Iik7U2NyaWJkLkxpZ2h0Ym94LnJlbW90ZU9wZW4oImFyY2hpdmVf

bGIiLCIvYXJjaGl2ZS9sb2dpbj9kb2M9IitTY3JpYmQuY3VycmVudF9kb2MuaWQs U2NyaWJkLnRvb2xiYXJQYXJhbXMoKSx7Y2xvc2U6dHJ1ZX0pO319fSxkZWxldGVf ZG9jdW1lbnRfYnV0dG9uOmZ1bmN0aW9uKCl7dmFyIG1lc3NhZ2U7aWYoU2NyaWJk LmN1cnJlbnRfZG9jLmlzX2RlbGV0YWJsZSl7dmFyIGZvcm09JCgnZGVsZXRlX2Zv cm0nKTttZXNzYWdlPSQoJ2RlbGV0ZV9mb3JtX21lc3NhZ2UnKS5pbm5lckhUTUw7 aWYoY29uZmlybShtZXNzYWdlKSlmb3JtLnN1Ym1pdCgpO31lbHNle21lc3NhZ2U9 STE4bi50KCdqcy50aGlzX2RvY3VtZW50X2NvdWxkX25vdF9iZV9kZWxldGVkJyk7 YWxlcnQobWVzc2FnZSk7fX0scmVxdWVzdF9wdXRiYWNrX2J1dHRvbjpmdW5jdGlv bigpe2lmKFNjcmliZC5jdXJyZW50X2RvYy5pc19vd25lcil7JCgncmVxdWVzdF9w dXRiYWNrX3NwaW5uZXInKS5zaG93KCk7bmV3IEFqYXguUmVxdWVzdCgnL2RvYy9y ZXF1ZXN0X3B1dGJhY2svJytTY3JpYmQuY3VycmVudF9kb2MuaWQse29uU3VjY2Vz czpmdW5jdGlvbihyZXNwb25zZSl7JCgncmVxdWVzdF9wdXRiYWNrX2RpYWxvZycp LmhpZGUoKTskKCdyZXF1ZXN0X3B1dGJhY2tfc3Bpbm5lcicpLmhpZGUoKTskKCdy ZXF1ZXN0X3B1dGJhY2tfcmVxdWVzdGVkJykuc2hvdygpO30sb25GYWlsdXJlOmZ1 bmN0aW9uKHJlc3BvbnNlKXskKCdyZXF1ZXN0X3B1dGJhY2tfc3Bpbm5lcicpLmhp ZGUoKTskKCdyZXF1ZXN0X3B1dGJhY2tfZXJyb3InKS5zaG93KCk7fX0pO319LGZs YWdfYnV0dG9uOmZ1bmN0aW9uKCl7U2NyaWJkLkxpZ2h0Ym94LnJlbW90ZU9wZW4o ImZsYWdfZG9jX2xiIiwiL25ld2RvYy9mbGFnX2RpYWxvZyIsU2NyaWJkLnRvb2xi YXJQYXJhbXMoKSx7Y2xvc2U6dHJ1ZX0pO30sYWRkX3RvX2NvbGxlY3Rpb25fYnRu OmZ1bmN0aW9uKCl7U2NyaWJkLlVJLmVuc3VyZV9sb2dpbihmdW5jdGlvbihlKXtT Y3JpYmQuTGlnaHRib3gucmVtb3RlT3BlbigiY29sbGVjdGlvbnNfbGIiLCIvbmV3 ZG9jL2NvbGxlY3Rpb25zX2RpYWxvZyIsU2NyaWJkLnRvb2xiYXJQYXJhbXMoKSx7 Y2xvc2U6dHJ1ZX0pO30sImNvbGxlY3Rpb25zIikoKTt9fTtTY3JpYmQuVUkuZW5h YmxlX3JhdGluZz1TY3JpYmQub25jZShmdW5jdGlvbigpe2lmKCFTY3JpYmQuY3Vy cmVudF9kb2MucmF0aW5nX3VybClyZXR1cm47dHJ5e25ldyBTdGFyYm94KCJkb2N1 bWVudF9zdGFyYm94IixTY3JpYmQuY3VycmVudF9kb2MucmF0aW5nLHtvdmVybGF5 Oidicm93bl9ncmFkaWVudC5wbmcnLGNsYXNzTmFtZToncG9pbnR5Jyxsb2NrZWQ6 ZmFsc2UsZWZmZWN0Onttb3VzZW91dDpmYWxzZX19KTt9Y2F0Y2goZSl7fQp2YXIg cmF0aW5nPSQoInJhdGluZyIpO2lmKHJhdGluZyl7cmF0aW5nLm9ic2VydmUoInN0 YXJib3g6cmF0ZWQiLGZ1bmN0aW9uKGV2ZW50KXtpZihTY3JpYmQubG9nZ2VkX2lu fHxTY3JpYmQuRmFjZWJvb2suaXNTZXNzaW9uVHJhbnNpdGlvbmVkKCkpe25ldyBB amF4LlJlcXVlc3QoU2NyaWJkLmN1cnJlbnRfZG9jLnJhdGluZ191cmwse3BhcmFt ZXRlcnM6ZXZlbnQubWVtbyxldmFsSlNPTjoiZm9yY2UifSk7fWVsc2V7U2NyaWJk LmxvZ2luLm9wZW4oe25leHRfdXJsOlNjcmliZC5jdXJyZW50X2RvYy51cmwsZmFs bGJhY2tfdXJsOiIvIixjb250ZXh0OiJyYXRlIn0pO319KTt9fSk7U2NyaWJkLlVJ LlNpZGViYXI9Q2xhc3MuY3JlYXRlKHtpbml0aWFsaXplOmZ1bmN0aW9uKGNvbnRh aW5lcil7dmFyIHNpZGViYXI9dGhpcy5jb250YWluZXI9JChjb250YWluZXIpO3Ro aXMuY29udGFpbmVyLm9ic2VydmUoImNsaWNrIixmdW5jdGlvbihlKXtpZihlLmZp bmRFbGVtZW50KCIudHJ1bmNhdGVkX21vcmUiKXx8ZS5maW5kRWxlbWVudCgiLnRy dW5jYXRlZF9sZXNzIikpe2UuZWxlbWVudCgpLnVwKCIudHJ1bmNhdGVkX3RleHQi KS5zZWxlY3QoIi50cnVuY2F0ZWRfbG9uZyIsIi50cnVuY2F0ZWRfc2hvcnQiKS5p bnZva2UoInRvZ2dsZSIpO2RvY3VtZW50LmZpcmUoJ3NjcmliZDptb3ZlX2Fkcycp O2Uuc3RvcCgpO3JldHVybjt9ClNjcmliZC5VSS5kaXNwYXRjaChlLFNjcmliZC5z aWRlYmFyX2FjdGlvbnMsc2lkZWJhcik7fSk7ZnVuY3Rpb24gc2V0X3ByaXZhY3lf aW5kaWNhdG9yKGlzX3ByaXZhdGUpe3ZhciBpbmRpY2F0b3I9c2lkZWJhci5kb3du KCIucHJpdmFjeV9pbmRpY2F0b3IiKTtpZihpc19wcml2YXRlKWluZGljYXRvci5z aG93KCk7ZWxzZSBpbmRpY2F0b3IuaGlkZSgpO2RvY3VtZW50LmZpcmUoJ3Njcmli ZDptb3ZlX2FkcycpO30KdGhpcy5jb250YWluZXIuc2VsZWN0KCIucHJpdmFjeV9j b250cm9sIGlucHV0IikuaW52b2tlKCJvYnNlcnZlIiwiY2hhbmdlIixmdW5jdGlv bihlKXt2YXIgdmlzaWJpbGl0eT1lLmVsZW1lbnQoKS52YWx1ZTtzZXRfcHJpdmFj eV9pbmRpY2F0b3IodmlzaWJpbGl0eT09InByaXZhdGUiKTtuZXcgQWpheC5SZXF1 ZXN0KCcvZG9jdW1lbnRzL21ha2VfJyt2aXNpYmlsaXR5LHtwYXJhbWV0ZXJzOlNj cmliZC5DU1JGLnBhcmFtc1dpdGhUb2tlbih7ZG9jdW1lbnRfaWRzOlNjcmliZC5j dXJyZW50X2RvYy5pZH0pLGV2YWxKU09OOnRydWUsb25GYWlsdXJlOmZ1bmN0aW9u KHRyYW5zKXtzZXRfcHJpdmFjeV9pbmRpY2F0b3IodmlzaWJpbGl0eSE9InByaXZh dGUiKTt9LmJpbmQodGhpcyl9KTt9KTtTY3JpYmQuVUkuZW5hYmxlX3JhdGluZygp O319KTsKCgovKiBhcHAvdmlld3MvbmV3ZG9jL19zdGlja3lfYmFyLmpzIEAgMTM0 ODUxNzUyNiAqLwoKU2NyaWJkLmluaXQoIlNjcmliZCIsIlVJIik7U2NyaWJkLlVJ LlN0aWNreUJhcj1DbGFzcy5jcmVhdGUoe3RyYW5zaXRpb25fdGltZTowLjIsaW5p dGlhbGl6ZTpmdW5jdGlvbihjb250YWluZXIsZG9jdW1lbnRfY29sdW1uLHNpZGVi

YXIsb3B0cyl7dGhpcy5zcGFjZXI9JChjb250YWluZXIpO3RoaXMuY29udGFpbmVy PXRoaXMuc3BhY2VyLmRvd24oIi5zdGlja3lfY29udGFpbmVyIik7dGhpcy5hY3Rp b25zX2NvbnRhaW5lcj10aGlzLmNvbnRhaW5lci5kb3duKCcuYWN0aW9uc19jb250 YWluZXInKTt0aGlzLnNwYWNlcl9wYWRkaW5nPXRoaXMuc3BhY2VyLmdldExheW91 dCgpLmdldCgicGFkZGluZy10b3AiKTt0aGlzLnJlYWRjYXN0X2luZGljYXRvcj10 aGlzLmNvbnRhaW5lci5kb3duKCcucmVhZGNhc3QnKTt0aGlzLmNvbW1lbnRfYnV0 dG9uPW5ldyBTY3JpYmQuVUkuQ29tbWVudHNCdXR0b24odGhpcy5jb250YWluZXIu ZG93bignLmNvbW1lbnQnKSk7dGhpcy5tYWluX2dyb3VwPXRoaXMuY29udGFpbmVy LmRvd24oJy5tYWluJyk7dGhpcy56b29tX2dyb3VwPXRoaXMuY29udGFpbmVyLmRv d24oJy56b29tJyk7dGhpcy5wYWdpbmdfZ3JvdXA9dGhpcy5jb250YWluZXIuZG93 bignLnBhZ2luZycpO3RoaXMuc29jaWFsX2dyb3VwPXRoaXMuY29udGFpbmVyLmRv d24oJy5zb2NpYWwnKTt0aGlzLm9wdGlvbnM9b3B0c3x8W107dGhpcy5maXhlZD1m YWxzZTt0aGlzLnNjcm9sbF9lZmZlY3RzPTA7dGhpcy5kb2N1bWVudF9jb2x1bW49 JChkb2N1bWVudF9jb2x1bW4pO3RoaXMuc2lkZWJhcj0kKHNpZGViYXIpO3RoaXMu cGFnZV9pbnB1dD10aGlzLmNvbnRhaW5lci5kb3duKCIucGFnZV9pbnB1dCIpO3Ro aXMuYXR0YWNoLmJpbmQodGhpcykuZGVmZXIoKTt0aGlzLnNldF9hYnNvbHV0ZV9w b3NpdGlvbigpO3RoaXMuc2V0dXBfZXZlbnRzKCk7ZG9jdW1lbnQub24oIm1vdXNl bW92ZSIsZnVuY3Rpb24oZSl7dmFyIG9uX3pvb209dGhpcy5vbl96b29tO3RoaXMu b25fem9vbT0hIWUuZmluZEVsZW1lbnQoIi5ncm91cC56b29tIik7aWYob25fem9v bSYmIXRoaXMub25fem9vbSl7aWYodGhpcy5vbl9sZWF2ZV96b29tKXt0aGlzLm9u X2xlYXZlX3pvb20oKTt0aGlzLm9uX2xlYXZlX3pvb209bnVsbDt9fQppZighb25f em9vbSYmdGhpcy5vbl96b29tKXt0aGlzLmxhc3Rfd2lkdGg9dGhpcy5iYXJfd2lk dGg7fX0uYmluZCh0aGlzKSk7fSxhY3Rpb25zOntkb3dubG9hZF9idG46ZnVuY3Rp b24oKXtTY3JpYmQuc2lkZWJhcl9hY3Rpb25zLmRvd25sb2FkX2J1dHRvbigpO30s ZW1iZWQ6ZnVuY3Rpb24oKXtTY3JpYmQuTGlnaHRib3gucmVtb3RlT3BlbignZW1i ZWRfbGInLCcvbmV3ZG9jL2VtYmVkX2RpYWxvZycsU2NyaWJkLnRvb2xiYXJQYXJh bXMoKSx7Y2xvc2U6dHJ1ZX0pOyRyYXQoJ3NoYXJlYm94LnZpZXdiYXIubW9yZV9z aGFyZV9vcHRpb25zJyk7fSxsaW5rOmZ1bmN0aW9uKCl7U2NyaWJkLkxpZ2h0Ym94 LnJlbW90ZU9wZW4oImNvcHlfbGlua19sYiIsIi9uZXdkb2MvY29weV9saW5rX2Rp YWxvZyIsU2NyaWJkLnRvb2xiYXJQYXJhbXMoKSx7Y2xvc2U6dHJ1ZX0pO30sem9v bV9pbjpmdW5jdGlvbigpe2RvY01hbmFnZXIuem9vbSgxLjI1KTt0aGlzLnpvb21f Y2hhbmdlZCgpO30sem9vbV9vdXQ6ZnVuY3Rpb24oKXtkb2NNYW5hZ2VyLnpvb20o MC44MCk7dGhpcy56b29tX2NoYW5nZWQoKTt9LHpvb21fZnVsbDpmdW5jdGlvbigp e2lmKGRvY01hbmFnZXIuX2N1cnJlbnRWaWV3TWFuYWdlci5pc0Z1bGxzY3JlZW4p e2RvY01hbmFnZXIuZXhpdEZ1bGxzY3JlZW4oKTt9ZWxzZXtkb2NNYW5hZ2VyLmVu dGVyRnVsbHNjcmVlbigpO30KdGhpcy56b29tX2NoYW5nZWQoKTtkb2N1bWVudC5m aXJlKCJzY3JpYmQ6ZG9tX2hlaWdodF9jaGFuZ2VkIik7fSxuZXh0X3BhZ2U6ZnVu Y3Rpb24oKXt0aGlzLmdvdG9fcGFnZSh0aGlzLmN1cnJlbnRfcGFnZV9udW0rMSk7 fSxwcmV2X3BhZ2U6ZnVuY3Rpb24oKXt0aGlzLmdvdG9fcGFnZSh0aGlzLmN1cnJl bnRfcGFnZV9udW0tMSk7fSxyZWFkY2FzdDpmdW5jdGlvbigpe1NjcmliZC5VSS5l bnN1cmVfbG9naW4oZnVuY3Rpb24oKXtTY3JpYmQuTGlnaHRib3gucmVtb3RlT3Bl bigncmVhZGNhc3RfbGInLCcvcmVhZGNhc3QvZGlhbG9nJyx7ZG9jdW1lbnRfaWQ6 U2NyaWJkLmN1cnJlbnRfZG9jLmlkfSx7Y2xvc2U6dHJ1ZX0pO30sInJlYWRjYXN0 IikoKTt9fSxzZXR1cF9ldmVudHM6ZnVuY3Rpb24oKXt2YXIgX3RoaXM9dGhpczt0 aGlzLmNvbnRhaW5lci5vYnNlcnZlKCJjbGljayIsZnVuY3Rpb24oZSl7U2NyaWJk LlVJLmRpc3BhdGNoKGUsX3RoaXMuYWN0aW9ucyxfdGhpcywic3RpY2t5X2JhciIp O30pO2RvY01hbmFnZXIuYWRkRXZlbnQoImV4cGVjdGVkRmlyc3RQYWdlQ2hhbmdl ZCIsZnVuY3Rpb24ocGFnZV9udW0pe2lmKF90aGlzLmVudGVyaW5nX2Z1bGxzY3Jl ZW4pe190aGlzLmVudGVyaW5nX2Z1bGxzY3JlZW49ZmFsc2U7dmFyIHZpZXdNYW5h Z2VyPWRvY01hbmFnZXIuX2N1cnJlbnRWaWV3TWFuYWdlcjtpZih2aWV3TWFuYWdl ciYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoPjEyODApe3Zp ZXdNYW5hZ2VyLl9zZXRXaWR0aCgxMjgwKTt9fQpfdGhpcy5vbl91cGRhdGVfcGFn ZV9udW0ocGFnZV9udW0pO30pO2lmKHRoaXMucGFnZV9pbnB1dCl7dGhpcy5zZXR1 cF9wYWdlX3BpY2tlcigpO30KZG9jdW1lbnQub2JzZXJ2ZSgnU2NyaWJkOlJlYWRj YXN0OkF1dG9TaGFyZTpzdWJtaXR0ZWQnLGZ1bmN0aW9uKCl7aWYodGhpcy5yZWFk Y2FzdF9pbmRpY2F0b3Ipe3RoaXMucmVhZGNhc3RfaW5kaWNhdG9yLnJlbW92ZUNs YXNzTmFtZSgicmVhZGNhc3QiKTt0aGlzLnJlYWRjYXN0X2luZGljYXRvci5hZGRD bGFzc05hbWUoImNoZWNrbWFyayIpO319KTt9LHNldHVwX3BhZ2VfcGlja2VyOmZ1 bmN0aW9uKCl7dGhpcy5wYWdlX2lucHV0Lm9ic2VydmUoImNsaWNrIixmdW5jdGlv bigpe3RoaXMucGFnZV9pbnB1dC5zZWxlY3QoKTt9LmJpbmQodGhpcykpO3RoaXMu

dXBkYXRlX3BhZ2VfbnVtLmJpbmQodGhpcykuZGVmZXIoKTtTY3JpYmQucmVzdHJp Y3RfaW5wdXRfdG9fbnVtYmVycyh0aGlzLnBhZ2VfaW5wdXQpO3RoaXMubWF4X3Bh Z2U9dGhpcy5nZXRfaGlnaGVzdF9wYWdlKCk7dGhpcy5jb250YWluZXIuZG93bigi Lm1heF9wYWdlIikudXBkYXRlKHRoaXMubWF4X3BhZ2UpO3RoaXMucGFnZV9pbnB1 dC5vYnNlcnZlKCJjaGFuZ2UiLHRoaXMudXBkYXRlX3BhZ2VfZnJvbV9pbnB1dC5i aW5kKHRoaXMpKTt0aGlzLnBhZ2VfaW5wdXQub2JzZXJ2ZSgia2V5cHJlc3MiLGZ1 bmN0aW9uKGUpe2lmKGUua2V5Q29kZT09RXZlbnQuS0VZX1JFVFVSTil7dGhpcy51 cGRhdGVfcGFnZV9mcm9tX2lucHV0KCk7fX0uYmluZCh0aGlzKSk7dGhpcy5wYWdl X2lucHV0Lm9ic2VydmUoImZvY3VzIixmdW5jdGlvbigpe3RoaXMuY29udGFpbmVy LmFkZENsYXNzTmFtZSgiaW5wdXRfZm9jdXNlZCIpO30uYmluZCh0aGlzKSk7dGhp cy5wYWdlX2lucHV0Lm9ic2VydmUoImJsdXIiLGZ1bmN0aW9uKCl7dGhpcy5jb250 YWluZXIucmVtb3ZlQ2xhc3NOYW1lKCJpbnB1dF9mb2N1c2VkIik7fS5iaW5kKHRo aXMpKTt0aGlzLnBhZ2VfaW5wdXQub2JzZXJ2ZSgia2V5ZG93biIsZnVuY3Rpb24o ZSl7dmFyIGV2ZW50X25hbWU7c3dpdGNoKGUua2V5Q29kZSl7Y2FzZSBFdmVudC5L RVlfVVA6dGhpcy5hY3Rpb25zLnByZXZfcGFnZS5jYWxsKHRoaXMpO2V2ZW50X25h bWU9InBhZ2VyX3ByZXZfcGFnZSI7YnJlYWs7Y2FzZSBFdmVudC5LRVlfRE9XTjp0 aGlzLmFjdGlvbnMubmV4dF9wYWdlLmNhbGwodGhpcyk7ZXZlbnRfbmFtZT0icGFn ZXJfbmV4dF9wYWdlIjticmVhaztkZWZhdWx0OnJldHVybjt9CnRyYWNrRXZlbnQo Im5ld2RvYyIsIkhvdGtleSIsZXZlbnRfbmFtZSxTY3JpYmQubG9nZ2VkX2luPzE6 MCk7dGhpcy5wYWdlX2lucHV0LnNlbGVjdCgpO2Uuc3RvcCgpO30uYmluZCh0aGlz KSk7fSxhdHRhY2g6ZnVuY3Rpb24oKXt2YXIgX3RoaXM9dGhpcztTY3JpYmQuU3Rp Y2t5RWxlbWVudCh0aGlzLmNvbnRhaW5lcix0aGlzLnNldF9maXhlZF9wb3NpdGlv bi5iaW5kKHRoaXMpLHRoaXMuc2V0X2Fic29sdXRlX3Bvc2l0aW9uLmJpbmQodGhp cyksZnVuY3Rpb24oKXtpZihfdGhpcy5vcHRpb25zLmZpeGVkKXJldHVybiBmYWxz ZTt2YXIgc2Nyb2xsPWRvY3VtZW50LnZpZXdwb3J0LmdldFNjcm9sbE9mZnNldHMo KTtyZXR1cm4gc2Nyb2xsLnRvcD5fdGhpcy5zcGFjZXJfdG9wK190aGlzLnNwYWNl cl9wYWRkaW5nO30sZnVuY3Rpb24oKXt9KTt9LHNldF9maXhlZF9wb3NpdGlvbjpm dW5jdGlvbihfLGV2ZW50X25hbWUpe3RoaXMudXBkYXRlX2RpbWVuc2lvbnMoKTt0 aGlzLmZpeGVkPXRydWU7dGhpcy5jb250YWluZXIuYWRkQ2xhc3NOYW1lKCdmaXhl ZCcpO3RoaXMuY29udGFpbmVyLnNldFN0eWxlKHtwb3NpdGlvbjonZml4ZWQnLHRv cDonMHB4JyxsZWZ0OicwcHgnLHdpZHRoOmRvY3VtZW50LnZpZXdwb3J0LmdldFdp ZHRoKCkrJ3B4J30pO2lmKCF0aGlzLm9uX3pvb20pe3RoaXMuc2V0X2dyb3VwX3dp ZHRoKCk7fWVsc2V7dGhpcy5vbl9sZWF2ZV96b29tPXRoaXMuc2V0X2dyb3VwX3dp ZHRoLmJpbmQodGhpcyk7fX0sc2V0X2Fic29sdXRlX3Bvc2l0aW9uOmZ1bmN0aW9u KF8sZXZlbnRfbmFtZSl7dGhpcy51cGRhdGVfZGltZW5zaW9ucygpO3RoaXMuZml4 ZWQ9ZmFsc2U7dGhpcy5jb250YWluZXIucmVtb3ZlQ2xhc3NOYW1lKCdmaXhlZCcp O2lmKHRoaXMuYmFyX3dpZHRoPjApe3RoaXMuY29udGFpbmVyLnNldFN0eWxlKHtw b3NpdGlvbjonJyx3aWR0aDp0aGlzLmJhcl93aWR0aCsicHgifSk7fQppZighdGhp cy5vbl96b29tKXt0aGlzLnNldF9ncm91cF93aWR0aCgpO31lbHNle3ZhciBzaHJp bmtpbmc9dGhpcy5sYXN0X3dpZHRoJiZ0aGlzLmxhc3Rfd2lkdGg+dGhpcy5iYXJf d2lkdGg7aWYoc2hyaW5raW5nKXt2YXIgbWFyZ2luPU1hdGgucm91bmQoKHRoaXMu bGFzdF93aWR0aC10aGlzLmJhcl93aWR0aCkvMik7dGhpcy5tYWluX2dyb3VwLnJl bW92ZUNsYXNzTmFtZSgiYW5pbWF0ZSIpO3RoaXMubWFpbl9ncm91cC5zZXRTdHls ZSh7bWFyZ2luTGVmdDooLW1hcmdpbikrInB4In0pO3RoaXMuYWN0aW9uc19jb250 YWluZXIuYWRkQ2xhc3NOYW1lKCJoaWRlX292ZXJmbG93Iik7fQp0aGlzLm9uX2xl YXZlX3pvb209ZnVuY3Rpb24oKXt0aGlzLnNldF9ncm91cF93aWR0aCgpO3RoaXMu bWFpbl9ncm91cC5hZGRDbGFzc05hbWUoImFuaW1hdGUiKTt0aGlzLm1haW5fZ3Jv dXAuc2V0U3R5bGUoe21hcmdpbkxlZnQ6IiJ9KTtpZihzaHJpbmtpbmcpeyhmdW5j dGlvbigpe3RoaXMuYWN0aW9uc19jb250YWluZXIucmVtb3ZlQ2xhc3NOYW1lKCJo aWRlX292ZXJmbG93Iik7fSkuYmluZCh0aGlzKS5kZWxheSh0aGlzLnRyYW5zaXRp b25fdGltZSk7fX07fX0sc2V0X2dyb3VwX3dpZHRoOmZ1bmN0aW9uKCl7dmFyIHBh Z2luZ193aWR0aD10aGlzLmJhcl93aWR0aC0oNCt0aGlzLnNvY2lhbF9ncm91cC5n ZXRXaWR0aCgpK3RoaXMubWFpbl9ncm91cC5nZXRXaWR0aCgpK3RoaXMuem9vbV9n cm91cC5nZXRXaWR0aCgpKS0xMztpZihwYWdpbmdfd2lkdGg8MClyZXR1cm47dGhp cy5wYWdpbmdfZ3JvdXAuc2V0U3R5bGUoe3dpZHRoOnBhZ2luZ193aWR0aCsncHgn fSk7fSx6b29tX2NoYW5nZWQ6ZnVuY3Rpb24oKXt2YXIgYnRuPXRoaXMuY29udGFp bmVyLmRvd24oIi56b29tX291dCIpO2lmKGJ0bil7dmFyIHZpZXdfbWFuYWdlcj1k b2NNYW5hZ2VyLl9jdXJyZW50Vmlld01hbmFnZXI7aWYodmlld19tYW5hZ2VyKXt2 YXIgem9vbT12aWV3X21hbmFnZXIuX2N1cnJlbnRab29tTXVsdGlwbGllcjtpZih6 b29tPD0xJiYhdmlld19tYW5hZ2VyLmlzRnVsbHNjcmVlbnx8em9vbTw9MC41KXti

dG4uYWRkQ2xhc3NOYW1lKCJkaXNhYmxlZCIpO31lbHNle2J0bi5yZW1vdmVDbGFz c05hbWUoImRpc2FibGVkIik7fX19fSxnb3RvX3BhZ2U6ZnVuY3Rpb24oaSl7dmFy IGRpcmVjdGlvbj1pPnRoaXMuY3VycmVudF9wYWdlX251bT8xOi0xLHRhcmdldF9w YWdlPWRvY01hbmFnZXIuZ2V0Q2xvc2VzdFBhZ2VOdW1iZXIoaSxkaXJlY3Rpb24p O2RvY01hbmFnZXIuZ290b1BhZ2UodGFyZ2V0X3BhZ2Use2RpcmVjdGlvbjpkaXJl Y3Rpb259KTt2YXIgZWZmZWN0PWRvY01hbmFnZXIuX2N1cnJlbnRWaWV3TWFuYWdl ci5fc2Nyb2xsRWZmZWN0O2lmKGVmZmVjdCl7dGhpcy5pc19wYWdpbmc9dHJ1ZTt0 aGlzLnNjcm9sbF9lZmZlY3RzKys7dmFyIGZpbmlzaD1lZmZlY3Qub3B0aW9ucy5h ZnRlckZpbmlzaDt0aGlzLmN1cnJlbnRfcGFnZV9udW09dGFyZ2V0X3BhZ2U7ZWZm ZWN0Lm9wdGlvbnMuYWZ0ZXJGaW5pc2g9ZnVuY3Rpb24oKXtmaW5pc2guY2FsbCh0 aGlzLGFyZ3VtZW50cyk7dGhpcy5zY3JvbGxfZWZmZWN0cy0tO2lmKHRoaXMuc2Ny b2xsX2VmZmVjdHM9PT0wKXt0aGlzLmlzX3BhZ2luZz1mYWxzZTt9fS5iaW5kKHRo aXMpO319LGdldF9oaWdoZXN0X3BhZ2U6ZnVuY3Rpb24oKXt2YXIgY291bnQ9U2Ny aWJkLmN1cnJlbnRfZG9jLnBhZ2VfY291bnQ7aWYoIWNvdW50KXtjb3VudD0wO2Zv cih2YXIgcGFnZV9pZCBpbiBkb2NNYW5hZ2VyLnBhZ2VzKXtjb3VudD1NYXRoLm1h eChjb3VudCxwYWdlX2lkKTt9fQpyZXR1cm4gY291bnQ7fSx1cGRhdGVfcGFnZV9m cm9tX2lucHV0OmZ1bmN0aW9uKCl7dmFyIHBhZ2VfbnVtPXBhcnNlSW50KHRoaXMu cGFnZV9pbnB1dC52YWx1ZSwxMCk7aWYoIWlzTmFOKHBhZ2VfbnVtKSl7ZG9jTWFu YWdlci5nb3RvUGFnZShNYXRoLm1pbihwYWdlX251bSx0aGlzLm1heF9wYWdlKSk7 fX0sdXBkYXRlX3BhZ2VfbnVtOmZ1bmN0aW9uKCl7aWYoZG9jTWFuYWdlci5maXJz dFZpc2libGVQYWdlKXt0aGlzLm9uX3VwZGF0ZV9wYWdlX251bShkb2NNYW5hZ2Vy LmZpcnN0VmlzaWJsZVBhZ2UucGFnZU51bSk7fX0sb25fdXBkYXRlX3BhZ2VfbnVt OmZ1bmN0aW9uKHBhZ2VfbnVtKXtpZighdGhpcy5pc19wYWdpbmcpe3RoaXMuY3Vy cmVudF9wYWdlX251bT1wYWdlX251bTt9CnRoaXMucGFnZV9pbnB1dC52YWx1ZT10 aGlzLmN1cnJlbnRfcGFnZV9udW07fSx1cGRhdGVfZGltZW5zaW9uczpmdW5jdGlv bigpe3RoaXMuc3BhY2VyX3RvcD10aGlzLnNwYWNlci5jdW11bGF0aXZlT2Zmc2V0 KCkudG9wO3RoaXMuZG9jX3dpZHRoPXRoaXMuZG9jdW1lbnRfY29sdW1uLmdldFdp ZHRoKCk7dmFyIHNpZGViYXJfd2lkdGg9dGhpcy5zaWRlYmFyLmdldFdpZHRoKCk7 dGhpcy5iYXJfd2lkdGg9dGhpcy5kb2Nfd2lkdGgtMjtpZighKGRvY01hbmFnZXIu X2N1cnJlbnRWaWV3TWFuYWdlciYmZG9jTWFuYWdlci5fY3VycmVudFZpZXdNYW5h Z2VyLmlzRnVsbHNjcmVlbikpe3RoaXMuYmFyX3dpZHRoKz1zaWRlYmFyX3dpZHRo O319fSk7U2NyaWJkLlVJLkNvbW1lbnRzQnV0dG9uPUNsYXNzLmNyZWF0ZSh7aW5p dGlhbGl6ZTpmdW5jdGlvbihjb250YWluZXIpe3RoaXMuY29udGFpbmVyPSQoY29u dGFpbmVyKTt0aGlzLmNvbnRhaW5lci5vYnNlcnZlKCJjbGljayIsdGhpcy5jbGlj ay5iaW5kKHRoaXMpKTt0aGlzLnNhdmVkX3Bvc2l0aW9uPW51bGw7fSxsaXN0ZW5f c2Nyb2xsOmZ1bmN0aW9uKCl7aWYodGhpcy5zY3JvbGxfY2FsbGJhY2spcmV0dXJu O3RoaXMuc2Nyb2xsX2NhbGxiYWNrPWZ1bmN0aW9uKCl7aWYodGhpcy5pc19zY3Jv bGxpbmcpcmV0dXJuO3ZhciBjb21tZW50cz0kKCJjb21tZW50c19zZWN0aW9uIik7 aWYoY29tbWVudHMudmlld3BvcnRPZmZzZXQoKS50b3A+ZG9jdW1lbnQudmlld3Bv cnQuZ2V0SGVpZ2h0KCkpe0VsZW1lbnQuc3RvcE9ic2VydmluZyh3aW5kb3csInNj cm9sbCIsdGhpcy5zY3JvbGxfY2FsbGJhY2spO3RoaXMuc2Nyb2xsX2NhbGxiYWNr PWZhbHNlO3RoaXMuc2F2ZWRfcG9zaXRpb249bnVsbDt0aGlzLmNvbnRhaW5lci5y ZW1vdmVDbGFzc05hbWUoImF0X2JvdHRvbSIpO319LmJpbmQodGhpcyk7RWxlbWVu dC5vYnNlcnZlKHdpbmRvdywic2Nyb2xsIix0aGlzLnNjcm9sbF9jYWxsYmFjayk7 fSxjbGljazpmdW5jdGlvbigpe3RyYWNrRXZlbnQoIm5ld2RvYyIsIkNsaWNrIiwn c3RpY2t5X2Jhcl9jb21tZW50JyxTY3JpYmQubG9nZ2VkX2luPzE6MCk7aWYodGhp cy5zYXZlZF9wb3NpdGlvbiE9PW51bGwpe3RoaXMuc2Nyb2xsX3RvX3Bvcyh0aGlz LnNhdmVkX3Bvc2l0aW9uKTt0aGlzLnNhdmVkX3Bvc2l0aW9uPW51bGw7dGhpcy5j b250YWluZXIucmVtb3ZlQ2xhc3NOYW1lKCJhdF9ib3R0b20iKTt9ZWxzZXt2YXIg Y29tbWVudHM9JCgiY29tbWVudHNfc2VjdGlvbiIpO2lmKGNvbW1lbnRzLnZpZXdw b3J0T2Zmc2V0KCkudG9wPmRvY3VtZW50LnZpZXdwb3J0LmdldEhlaWdodCgpKXt0 aGlzLnNhdmVkX3Bvc2l0aW9uPWRvY3VtZW50LnZpZXdwb3J0LmdldFNjcm9sbE9m ZnNldHMoKS50b3A7dGhpcy5jb250YWluZXIuYWRkQ2xhc3NOYW1lKCJhdF9ib3R0 b20iKTt0aGlzLmxpc3Rlbl9zY3JvbGwoKTt9CnRoaXMuaXNfc2Nyb2xsaW5nPXRy dWU7bmV3IEVmZmVjdC5TY3JvbGxUbyhjb21tZW50cyx7ZHVyYXRpb246MC42LGFm dGVyRmluaXNoOmZ1bmN0aW9uKCl7dGhpcy5pc19zY3JvbGxpbmc9ZmFsc2U7fS5i aW5kKHRoaXMpfSk7fX0sc2Nyb2xsX3RvX3BvczpmdW5jdGlvbihwb3Mpe3ZhciBz Y3JvbGxPZmZzZXRzPWRvY3VtZW50LnZpZXdwb3J0LmdldFNjcm9sbE9mZnNldHMo KTt0aGlzLmlzX3Njcm9sbGluZz10cnVlO3JldHVybiBuZXcgRWZmZWN0LlR3ZWVu KG51bGwsc2Nyb2xsT2Zmc2V0cy50b3AscG9zLHthZnRlckZpbmlzaDpmdW5jdGlv

bigpe3RoaXMuaXNfc2Nyb2xsaW5nPWZhbHNlO30uYmluZCh0aGlzKX0sZnVuY3Rp b24ocCl7c2Nyb2xsVG8oc2Nyb2xsT2Zmc2V0cy5sZWZ0LHAucm91bmQoKSk7fSk7 fX0pOwoKCi8qIGFwcC92aWV3cy9vbGQvY2hyb21lL19sYW5ndWFnZV9zZWxlY3Rv ci5qcyBAIDEzNDg1MTc1MjYgKi8KClNjcmliZC5MYW5ndWFnZVNlbGVjdG9yPUNs YXNzLmNyZWF0ZShTY3JpYmQuU2hhcmVkLkphdmFzY3JpcHRXaWRnZXQse2luaXRp YWxpemU6ZnVuY3Rpb24oJHN1cGVyLG9wdGlvbnMpeyRzdXBlcihvcHRpb25zKTt0 aGlzLm9wZW49ZmFsc2U7fSxvbkRvbUxvYWRlZDpmdW5jdGlvbigkc3VwZXIsZXZl bnQpeyRzdXBlcihldmVudCk7dGhpcy53aWRnZXRfZG9tLnNlbGVjdCgnLmxhbmd1 YWdlJykuaW52b2tlKCdvYnNlcnZlJywnY2xpY2snLGZ1bmN0aW9uKGUpe2Uuc3Rv cCgpO2lmKHRoaXMub3Blbil7dGhpcy53aWRnZXRfZG9tLmRvd24oJy5sYW5ndWFn ZScpLnJlbW92ZUNsYXNzTmFtZSgnYWN0aXZlJyk7dGhpcy53aWRnZXRfZG9tLmRv d24oJy5sYW5ndWFnZV9zZWxlY3RvcicpLmhpZGUoKTt0aGlzLm9wZW49ZmFsc2U7 fWVsc2V7dGhpcy53aWRnZXRfZG9tLmRvd24oJy5sYW5ndWFnZScpLmFkZENsYXNz TmFtZSgnYWN0aXZlJyk7dGhpcy53aWRnZXRfZG9tLmRvd24oJy5sYW5ndWFnZV9z ZWxlY3RvcicpLnNob3coKTt0aGlzLm9wZW49dHJ1ZTt9CnJldHVybiBmYWxzZTt9 LmJpbmQodGhpcykpO3ZhciBzZXRfbGFuZz1mdW5jdGlvbigpe3RoaXMud2lkZ2V0 X2RvbS5zZWxlY3QoJy5sYW5ndWFnZSBhJykuaW52b2tlKCd1cGRhdGUnLFNjcmli ZC5JMThuLmN1cnJlbnRMYW5ndWFnZS5uYW1lLmNhcGl0YWxpemUoKSk7dGhpcy53 aWRnZXRfZG9tLnNlbGVjdCgnLmxhbmd1YWdlX3NlbGVjdG9yIGxpW2RhdGEtaWQ9 JytTY3JpYmQuSTE4bi5jdXJyZW50TGFuZ3VhZ2UubGNpZCsnXSBhJykuaW52b2tl KCdhZGRDbGFzc05hbWUnLCdhY3RpdmUnKTt9LmJpbmQodGhpcyk7aWYoU2NyaWJk LkkxOG4pe3NldF9sYW5nKCk7fWVsc2V7ZG9jdW1lbnQub2JzZXJ2ZSgnU2NyaWJk Omxhbmd1YWdlX2RldGVjdGVkJyxzZXRfbGFuZyk7fX19KTsKCgovKiBhcHAvdmll d3Mvc2hhcmVkL2FsZXJ0cy9fbGFuZ3VhZ2VfYmFyLmpzIEAgMTM0ODUxNzUyNiAq LwoKU2NyaWJkLnNldHVwX2xhbmd1YWdlX2Jhcj1mdW5jdGlvbigpe3ZhciBkaXNw bGF5TGFuZ3VhZ2VCYXI9ZnVuY3Rpb24oKXskKCJ0b3BfbGFuZ3VhZ2VfYmFyIiku c3R5bGUuZGlzcGxheT0iYmxvY2siO2ZpbGxfbGFuZ3VhZ2VfYmx1cmIoKTskKCJj bG9zZV9sYW5ndWFnZV9iYXIiKS5vYnNlcnZlKCJjbGljayIsZnVuY3Rpb24oKXsk KCJ0b3BfbGFuZ3VhZ2VfYmFyIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7fSk7fTt2 YXIgZmlsbF9sYW5ndWFnZV9ibHVyYj1mdW5jdGlvbigpeyQoImxhbmd1YWdlX2Js dXJiIikuaW5uZXJIVE1MPSI8aDM+WW91IGFyZSB2aWV3aW5nIFNjcmliZCBpbiAi K1NjcmliZC5JMThuLmN1cnJlbnRMYW5ndWFnZS5ndWVzc19uYW1lLmNhcGl0YWxp emUoKSsiLiBDaGFuZ2UgeW91ciBsYW5ndWFnZSBwcmVmZXJlbmNlIGhlcmUuPC9o Mz4iO307dmFyIHNob3VsZERpc3BsYXlCYXI9KGZ1bmN0aW9uKCl7aWYoU2NyaWJk LkkxOG4uY3VycmVudExhbmd1YWdlLmd1ZXNzX25hbWU9PT0iZW5nbGlzaCIpe3Jl dHVybiBmYWxzZTt9CmlmKFNjcmliZC5jdXJyZW50X3VzZXIpe3JldHVybiBTY3Jp YmQuY3VycmVudF91c2VyLmRpc3BsYXlfbGFuZ3VhZ2VfYmFyO30KZWxzZXt2YXIg Y29va2llSmFyPW5ldyBTY3JpYmQuSlNPTkNvb2tpZSgic2Vzc2lvbl9tZXRhZGF0 YSIpO2lmKGNvb2tpZUphci5nZXQoInNob3dfbGFuZ3VhZ2VfYmFyIik9PT11bmRl ZmluZWQpe2Nvb2tpZUphci5zZXQoInNob3dfbGFuZ3VhZ2VfYmFyIixmYWxzZSk7 Y29va2llSmFyLnNhdmUoKTtyZXR1cm4gdHJ1ZTt9CnJldHVybiBmYWxzZTt9fSko KTtpZihzaG91bGREaXNwbGF5QmFyKXtkaXNwbGF5TGFuZ3VhZ2VCYXIoKTt9fTsK CgovKiBhcHAvdmlld3Mvc2hhcmVkL2FuYWx5dGljcy9fZG9jX3ZpZXdfcGluZ2Jh Y2suanMgQCAxMzQ4NTE3NTI2ICovCgppZighd2luZG93LlNjcmliZCl7dmFyIFNj cmliZD17fTt9ClNjcmliZC5QaW5nYmFjaz17cnVuOmZ1bmN0aW9uKHVybCl7aWYo bmF2aWdhdG9yJiZuYXZpZ2F0b3IudXNlckFnZW50JiYhIW5hdmlnYXRvci51c2Vy QWdlbnQubWF0Y2goL0dvb2dsZSAoV2VifEluc3RhbnQpIFByZXZpZXcvKSl7cmV0 dXJuIG51bGw7fQp2YXIgZGF0YT17fTtpZihkb2N1bWVudC5yZWZlcnJlcil7ZGF0 YVsncmVmZXJlciddPWRvY3VtZW50LnJlZmVycmVyO30KbmV3IEFqYXguUmVxdWVz dCh1cmwse21ldGhvZDoncG9zdCcscGFyYW1ldGVyczpkYXRhfSk7fX07CgoKLyog YXBwL3ZpZXdzL3NoYXJlZC9kb2N1bWVudF9jb2xsZWN0aW9ucy9mb3JtLmpzIEAg MTM0ODUxNzUyNiAqLwoKaWYoIXdpbmRvdy5TY3JpYmQpdmFyIFNjcmliZD1uZXcg T2JqZWN0KCk7U2NyaWJkLmVuYWJsZURvY3VtZW50Q29sbGVjdGlvbkZvcm09ZnVu Y3Rpb24oKXt2YXIgTT1TY3JpYmQuRG9jdW1lbnRDb2xsZWN0aW9uc01hbmFnZXI7 U2NyaWJkLmFqYXhEb2N1bWVudENvbGxlY3Rpb25Gb3JtKHtmb3JtOiduZXdfZG9j dW1lbnRfY29sbGVjdGlvbicscmV2ZWFsOnRydWUscGFyYW1zOmZ1bmN0aW9uKCl7 dmFyIHBhcmFtcz17Zm9ybWF0Oidqc29uJyxkb2N1bWVudF9pZDokKCdsaWdodGJv eF9kb2N1bWVudF9jb2xsZWN0aW9ucycpLmRvd24oJy5kb2N1bWVudF9jb2xsZWN0 aW9uc19jb250YWluZXInKS5yZXRyaWV2ZSgnZG9jdW1lbnRfaWQnKX0KcmV0dXJu IHBhcmFtczt9LHN1Y2Nlc3M6ZnVuY3Rpb24oanNvbixwYXJhbXMpe3ZhciBkb2Nf

aWQ9cGFyYW1zLmRvY3VtZW50X2lkO3ZhciBuZXdfY29sbGVjdGlvbj1uZXcgRWxl bWVudCgnZGl2JykudXBkYXRlKE0uY29sbGVjdGlvbl90ZW1wbGF0ZS5ldmFsdWF0 ZShNLnJlbmRlcmluZ0NvbGxlY3Rpb25BdHRyaWJ1dGVzKGRvY19pZCxqc29uLmRv Y3VtZW50X2NvbGxlY3Rpb24pKSkuZG93bignbGkuZG9jdW1lbnRfY29sbGVjdGlv bicpO00uc3RvcmVDb2xsZWN0aW9ucyhkb2NfaWQsW2pzb24uZG9jdW1lbnRfY29s bGVjdGlvbl0pO00uYXR0YWNoRXZlbnQoZG9jX2lkLG5ld19jb2xsZWN0aW9uKTsk JCgnLm1hbmFnZV9jb2xsZWN0aW9uIC5hZGRfdG9fbXlfY29sbGVjdGlvbnMnKS5l YWNoKGZ1bmN0aW9uKGNvbnRhaW5lcil7Y29udGFpbmVyLmluc2VydCh7J3RvcCc6 bmV3X2NvbGxlY3Rpb259KTt9KTt9fSk7TS5hZGRQYWdpbmF0aW9uRXZlbnQoKTt9 O1NjcmliZC5hamF4RG9jdW1lbnRDb2xsZWN0aW9uRm9ybT1mdW5jdGlvbihvcHRp b25zKXt2YXIgZm9ybT0kKG9wdGlvbnMuZm9ybSk7dmFyIHNwaW5uZXI9c3Bpbm5l cnx8Zm9ybS5kb3duKCcuc3Bpbm5lcicpO3ZhciBlcnJvcl9jb250YWluZXI9JChl cnJvcl9jb250YWluZXIpfHxmb3JtLmRvd24oJy5lcnJvcicpO3ZhciBmb3JtX2Nv bnRhaW5lcj1vcHRpb25zLmZvcm1fY29udGFpbmVyfHxmb3JtLnVwKCk7dmFyIHN1 Y2Nlc3NfbWVzc2FnZT1vcHRpb25zLnN1Y2Nlc3NfbWVzc2FnZTt2YXIgbWV0aG9k PW9wdGlvbnMubWV0aG9kfHwncG9zdCc7dmFyIGNsaWNrYWJsZV9oZWFkZXI9JChv cHRpb25zLmNsaWNrYWJsZV9oZWFkZXIpfHxmb3JtX2NvbnRhaW5lci5kb3duKCcu Zm9ybV9oZWFkZXInKTt2YXIgbmFtZV9pbnB1dD1mb3JtLmRvd24oJyNkb2N1bWVu dF9jb2xsZWN0aW9uX25hbWUnKTt2YXIgbmV3X25hbWVfbWVzc2FnZT1JMThuLnQo J2pzLmVudGVyX2FfbmFtZV9mb3JfeW91cl9uZXdfY29sbGVjdGlvbicpO2Z1bmN0 aW9uIHJlc2V0KCl7Zm9ybS5yZXNldCgpO2lmKGZvcm1fY29udGFpbmVyJiZvcHRp b25zLnJldmVhbCl7bmFtZV9pbnB1dC5zZXRWYWx1ZShuZXdfbmFtZV9tZXNzYWdl KTt9CmZvcm1fY29udGFpbmVyJiZmb3JtX2NvbnRhaW5lci5yZW1vdmVDbGFzc05h bWUoJ2RvY3VtZW50X2NvbGxlY3Rpb25fZm9ybV9jb250YWluZXJfb3BlbicpO2Vy cm9yX2NvbnRhaW5lciYmZXJyb3JfY29udGFpbmVyLnVwZGF0ZSgnJyk7fQppZigk KCdkeW5hbWljX3ByaXZhY3lfZXhwbGFuYXRpb24nKSl7ZXhwbGFuYXRpb25UZXh0 Q29udGFpbmVyPSQoJ2R5bmFtaWNfcHJpdmFjeV9leHBsYW5hdGlvbicpO2V4cGxh bmF0aW9uU2VsZWN0b3I9JCgnZG9jdW1lbnRfY29sbGVjdGlvbl9jb21iaW5lZF9w cml2YWN5X3R5cGUnKTtleHBsYW5hdGlvblRleHRDb250YWluZXIuaW5uZXJIVE1M PWdldEV4cGxhbmF0aW9uKGV4cGxhbmF0aW9uU2VsZWN0b3IpO2V4cGxhbmF0aW9u U2VsZWN0b3Iub2JzZXJ2ZSgnY2hhbmdlJyxmdW5jdGlvbihlKXtlLnN0b3AoKTtl eHBsYW5hdGlvblRleHRDb250YWluZXIuaW5uZXJIVE1MPWdldEV4cGxhbmF0aW9u KHRoaXMpO30pO30KZnVuY3Rpb24gZ2V0RXhwbGFuYXRpb24oZXhwbGFuYXRpb25T ZWxlY3Rvcil7c3dpdGNoKGV4cGxhbmF0aW9uU2VsZWN0b3IudmFsdWUpe2Nhc2Ui cHVibGljIC0gbG9ja2VkIjpyZXR1cm4gSTE4bi50KCdqcy5wdWJsaWNfbG9ja2Vk X2NvbGxlY3Rpb24nKTtjYXNlInB1YmxpYyAtIG1vZGVyYXRlZCI6cmV0dXJuIEkx OG4udCgnanMucHVibGljX21vZGVyYXRlZF9jb2xsZWN0aW9uJyk7Y2FzZSJwcml2 YXRlIjpyZXR1cm4gSTE4bi50KCdqcy5wcml2YXRlX2NvbGxlY3Rpb24nKTtkZWZh dWx0OnJldHVybiIiO319CmlmKCQoJ21ha2Vfc2VsbGFibGUnKSl7JCgnbWFrZV9z ZWxsYWJsZScpLm9ic2VydmUoJ2NsaWNrJyxmdW5jdGlvbihlKXtpZigkKCdwcmlj ZScpLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSl7JCgncHJpY2UnKS5yZW1vdmVB dHRyaWJ1dGUoJ2Rpc2FibGVkJyk7JCgncHJpY2UnKS5yZW1vdmVDbGFzc05hbWUo J2dyZXknKTt9ZWxzZXskKCdwcmljZScpLnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQn LCdkaXNhYmxlZCcpOyQoJ3ByaWNlJykuYWRkQ2xhc3NOYW1lKCdncmV5Jyk7fX0p O30KZm9ybS5vYnNlcnZlKCdzdWJtaXQnLGZ1bmN0aW9uKGUpe2Uuc3RvcCgpO3Zh ciBwYXJhbXM9T2JqZWN0LmlzRnVuY3Rpb24ob3B0aW9ucy5wYXJhbXMpP29wdGlv bnMucGFyYW1zKGZvcm0pOm9wdGlvbnMucGFyYW1zO2lmKG9wdGlvbnMucmV2ZWFs JiZuYW1lX2lucHV0LmdldFZhbHVlKCk9PT1uZXdfbmFtZV9tZXNzYWdlKXtuYW1l X2lucHV0LnNldFZhbHVlKCcnKTt9CmZvcm0ucmVxdWVzdCh7J21ldGhvZCc6bWV0 aG9kLHBhcmFtZXRlcnM6KHBhcmFtcyksb25DcmVhdGU6ZnVuY3Rpb24oKXtmb3Jt LmRpc2FibGUoKTtzcGlubmVyJiZzcGlubmVyLnNob3coKTt9LG9uQ29tcGxldGU6 ZnVuY3Rpb24oKXtmb3JtLmVuYWJsZSgpO3NwaW5uZXImJnNwaW5uZXIuaGlkZSgp O30sb25TdWNjZXNzOmZ1bmN0aW9uKHJlc3BvbnNlKXt2YXIganNvbj1yZXNwb25z ZS5yZXNwb25zZUpTT047c3dpdGNoKGpzb24uc3RhdHVzKXtjYXNlJ29rJzpzdWNj ZXNzX21lc3NhZ2UmJnN1Y2Nlc3NfbWVzc2FnZS5zaG93KCk7b3B0aW9ucy5zdWNj ZXNzJiZvcHRpb25zLnN1Y2Nlc3MoanNvbixwYXJhbXMpCm9wdGlvbnMucmVzZXQ/ b3B0aW9ucy5yZXNldChmb3JtKTpyZXNldCgpO3JldHVybjtjYXNlJ2Vycm9yJzpv cHRpb25zLmVycm9yJiZvcHRpb25zLmVycm9yKGpzb24scGFyYW1zKTtlcnJvcl9j b250YWluZXImJlNjcmliZC5BbGVydHMuZXJyb3IoZXJyb3JfY29udGFpbmVyLGpz b24ubWVzc2FnZSl9fX0pO30pO3ZhciBjYW5jZWw9Zm9ybS5kb3duKCdhLmNhbmNl

bCcpO2lmKGNhbmNlbCl7Y2FuY2VsLm9ic2VydmUoJ2NsaWNrJyxmdW5jdGlvbihl KXtlLnN0b3AoKTtvcHRpb25zLnJlc2V0P29wdGlvbnMucmVzZXQoZm9ybSk6cmVz ZXQoKTt9KX0KaWYoZm9ybV9jb250YWluZXImJm9wdGlvbnMucmV2ZWFsKXtuYW1l X2lucHV0LnNldFZhbHVlKG5ld19uYW1lX21lc3NhZ2UpO25hbWVfaW5wdXQub2Jz ZXJ2ZSgnZm9jdXMnLGZ1bmN0aW9uKGUpe2Zvcm1fY29udGFpbmVyLmFkZENsYXNz TmFtZSgnZG9jdW1lbnRfY29sbGVjdGlvbl9mb3JtX2NvbnRhaW5lcl9vcGVuJyk7 aWYobmFtZV9pbnB1dC5nZXRWYWx1ZSgpPT09bmV3X25hbWVfbWVzc2FnZSl7bmFt ZV9pbnB1dC5zZXRWYWx1ZSgnJyk7fX0pO25hbWVfaW5wdXQub2JzZXJ2ZSgnYmx1 cicsZnVuY3Rpb24oZSl7aWYobmFtZV9pbnB1dC5nZXRWYWx1ZSgpLnN0cmlwKCk9 PT0nJyl7bmFtZV9pbnB1dC5zZXRWYWx1ZShuZXdfbmFtZV9tZXNzYWdlKTt9fSk7 fQppZihjbGlja2FibGVfaGVhZGVyKXtjbGlja2FibGVfaGVhZGVyLm9ic2VydmUo J2NsaWNrJyxmdW5jdGlvbigpe2Zvcm1fY29udGFpbmVyLnRvZ2dsZUNsYXNzTmFt ZSgnZG9jdW1lbnRfY29sbGVjdGlvbl9mb3JtX2NvbnRhaW5lcl9vcGVuJyk7fSk7 fX07CgoKLyogYXBwL3ZpZXdzL3NoYXJlZC9mYWNlYm9vay9zZXNzaW9uLmpzIEAg MTM0ODUxNzUyNiAqLwoKaWYoIXdpbmRvdy5TY3JpYmQpdmFyIFNjcmliZD1uZXcg T2JqZWN0KCk7U2NyaWJkLkZhY2Vib29rU2Vzc2lvbj17Z2V0VXNlcklkOmZ1bmN0 aW9uKCl7dmFyIGF1dGhSZXNwb25zZT1GQi5nZXRBdXRoUmVzcG9uc2UoKTtpZihh dXRoUmVzcG9uc2Upe3JldHVybiBhdXRoUmVzcG9uc2UudXNlcklEO319LGNvcnJl Y3Q6ZnVuY3Rpb24oKXtpZighd2luZG93LmZhY2Vib29rVXNlcnx8KHR5cGVvZiB3 aW5kb3cuZmFjZWJvb2tVc2VySWQ9PT0ndW5kZWZpbmVkJykpcmV0dXJuIGZhbHNl O3JldHVybiB0aGlzLmdldFVzZXJJZCgpPT1mYWNlYm9va1VzZXJJZDt9LHZlcmlm eUV4ZWM6ZnVuY3Rpb24oZm4sZm9yY2Upe2lmKCF3aW5kb3cuZmFjZWJvb2tVc2Vy KXJldHVybjt2YXIgdGhhdD10aGlzO2lmKCF0aGF0LmNvcnJlY3QoKSl7aWYoZm9y Y2Upe0ZCLmdldExvZ2luU3RhdHVzKGZ1bmN0aW9uKHJlc3BvbnNlKXt2YXIgYXV0 aFJlc3BvbnNlPXJlc3BvbnNlLmF1dGhSZXNwb25zZTtpZihhdXRoUmVzcG9uc2Up e0ZCLmxvZ291dChmdW5jdGlvbihyZXNwb25zZSl7RkIubG9naW4oZnVuY3Rpb24o cmVzcG9uc2Upe3RoYXQud2l0aFZhbGlkKGZuKTt9KTt9KTt9ZWxzZXtGQi5sb2dp bihmdW5jdGlvbihyZXNwb25zZSl7dGhhdC53aXRoVmFsaWQoZm4pO30pO319KTt9 fWVsc2V7Zm4oKTt9fSxlbnN1cmVWYWxpZDpmdW5jdGlvbihmbil7dGhpcy52ZXJp ZnlFeGVjKGZuLHRydWUpO30sd2l0aFZhbGlkOmZ1bmN0aW9uKGZuKXt0aGlzLnZl cmlmeUV4ZWMoZm4sZmFsc2UpO319OwoKCi8qIGFwcC92aWV3cy9zaGFyZWQvc2hh cmluZy9kaWFsb2cuanMgQCAxMzQ4NTE3NTI2ICovCgppZighd2luZG93LlNjcmli ZCl2YXIgU2NyaWJkPW5ldyBPYmplY3QoKTtpZighU2NyaWJkLlJlYWRjYXN0KVNj cmliZC5SZWFkY2FzdD17fTtTY3JpYmQuUmVhZGNhc3QuRGlhbG9nPXtBbmltYXRp b25zOntzdGFuZGFyZDp7c2hvd19wb3B1cDpmdW5jdGlvbigpe2lmKHRoaXMuc2hv d2luZylyZXR1cm47dGhpcy5zaG93aW5nPXRydWU7dGhpcy5lbGVtZW50LnNob3co KTtTY3JpYmQuUmVhZGNhc3QudHJhY2tFdmVudCgiZGlhbG9nIiwic2hvdyIpO25l dyBFZmZlY3QuTW9ycGgodGhpcy5lbGVtZW50LHtzdHlsZTonbWFyZ2luLWxlZnQ6 IDVweCcsZHVyYXRpb246MC40LHF1ZXVlOntwb3NpdGlvbjonZnJvbnQnLHNjb3Bl OidyZWFkY2FzdENvbnRyb2xzJ30sYWZ0ZXJGaW5pc2g6U2NyaWJkLlJlYWRjYXN0 LkNvbnRyb2wuc2hvd0NvbnRyb2xzfSk7fSxoaWRlX3BvcHVwOmZ1bmN0aW9uKGUp e2Uuc3RvcCgpO1NjcmliZC5SZWFkY2FzdC50cmFja0V2ZW50KCJkaWFsb2ciLCJj bG9zZSIpO3RoaXMuZWxlbWVudC5ibGluZFVwKHtkdXJhdGlvbjowLjJ9KTt9fSxi bGFuazp7c2hvd19wb3B1cDpmdW5jdGlvbigpe2lmKHRoaXMuc2hvd2luZylyZXR1 cm47dGhpcy5zaG93aW5nPXRydWU7dGhpcy5lbGVtZW50LnNob3coKTtTY3JpYmQu UmVhZGNhc3QudHJhY2tFdmVudCgiYmxhbmtkaWFsb2ciLCJzaG93Iik7bmV3IEVm ZmVjdC5Nb3JwaCh0aGlzLmVsZW1lbnQse3N0eWxlOidtYXJnaW4tbGVmdDogNXB4 JyxkdXJhdGlvbjowLjQscXVldWU6e3Bvc2l0aW9uOidmcm9udCcsc2NvcGU6J3Jl YWRjYXN0Q29udHJvbHMnfX0pO30saGlkZV9wb3B1cDpmdW5jdGlvbihlKXtlLnN0 b3AoKTtTY3JpYmQuUmVhZGNhc3QudHJhY2tFdmVudCgiYmxhbmtkaWFsb2ciLCJj bG9zZSIpO3RoaXMuZWxlbWVudC5ibGluZFVwKHtkdXJhdGlvbjowLjJ9KTt9fSxm b3VyZ2VuOntzaG93bjpmYWxzZSxzaG93X3BvcHVwOmZ1bmN0aW9uKGUpe2lmKCFT Y3JpYmQuUmVhZGNhc3QuRGlhbG9nLkFuaW1hdGlvbnMuZm91cmdlbi5zaG93bil7 U2NyaWJkLlJlYWRjYXN0LkRpYWxvZy5BbmltYXRpb25zLmZvdXJnZW4uc2hvd249 dHJ1ZTtTY3JpYmQuVG9vbGJhci5hY3Rpb25zLnJlYWRjYXN0KGUpO319LGhpZGVf cG9wdXA6ZnVuY3Rpb24oZSl7U2NyaWJkLlRvb2xiYXIuYWN0aW9ucy5yZWFkY2Fz dChlKTt9fX0saW5pdGlhbGl6ZTpmdW5jdGlvbigpe3ZhciB0aGF0PXRoaXM7aWYo U2NyaWJkLlJlYWRjYXN0LkRpYWxvZy5hbmltYXRpb249PT0nZm91cmdlbicpe3Ro aXMuc2hvd19wb3B1cD1TY3JpYmQuUmVhZGNhc3QuRGlhbG9nLkFuaW1hdGlvbnMu Zm91cmdlbi5zaG93X3BvcHVwO3RoaXMuaGlkZV9wb3B1cD1TY3JpYmQuUmVhZGNh

c3QuRGlhbG9nLkFuaW1hdGlvbnMuZm91cmdlbi5oaWRlX3BvcHVwO31lbHNle3Ro aXMuc2hvd19wb3B1cD1TY3JpYmQuUmVhZGNhc3QuRGlhbG9nLkFuaW1hdGlvbnMu c3RhbmRhcmQuc2hvd19wb3B1cDt0aGlzLmhpZGVfcG9wdXA9U2NyaWJkLlJlYWRj YXN0LkRpYWxvZy5BbmltYXRpb25zLnN0YW5kYXJkLmhpZGVfcG9wdXA7fQpkb2N1 bWVudC5vYnNlcnZlKFNjcmliZC5SZWFkY2FzdC5FdmVudC5BdXRvU2hhcmUuRVZF TlRTLnJlYWR5LGZ1bmN0aW9uKGUpe2lmKFNjcmliZC5SZWFkY2FzdC5yZWFkaW5n RGlzYWJsZWQoKSl7cmV0dXJuO30KaWYoU2NyaWJkLlRvb2xiYXImJlNjcmliZC5U b29sYmFyLm9wZW5Qb3B1cHMmJlNjcmliZC5Ub29sYmFyLm9wZW5Qb3B1cHMuc2l6 ZSE9MCl7cmV0dXJuO30KaWYoIVNjcmliZC5SZWFkY2FzdC5ub19pbml0aWFsX3Bv cHVwKCkpe3RoYXQuc2hvd19wb3B1cC5iaW5kKHRoYXQpKGUpO319KTt0aGlzLmxv YWRUd2l0dGVyTmFtZSgpO3RoaXMuZWxlbWVudD0kKCdyZWFkY2FzdF9wb3B1cF9v dXRlcicpO3RoaXMuZWxlbWVudC5kb3duKCcuY2xvc2VfYnV0dG9uJykub2JzZXJ2 ZSgnY2xpY2snLHRoaXMuaGlkZV9wb3B1cC5iaW5kKHRoaXMpKTt2YXIgYWx0PXRo aXMuZWxlbWVudC5kb3duKCcuYWx0ZXJuYXRlX2xpbmsnKTtpZihhbHQpe2FsdC5v YnNlcnZlKCdjbGljaycsdGhpcy5oaWRlX3BvcHVwLmJpbmQodGhpcykpO319LGxv YWRUd2l0dGVyTmFtZTpmdW5jdGlvbigpe3ZhciBwbGFjZWhvbGRlcnM9JCQoJy50 d2l0dGVyX3BsYWNlaG9sZGVyJyk7aWYocGxhY2Vob2xkZXJzLmxlbmd0aDwxKXJl dHVybjtuZXcgQWpheC5SZXF1ZXN0KCIvdHdpdHRlcl9saW5rL2luZm8uanNvbiIs e21ldGhvZDonZ2V0JyxldmFsSlNPTjonZm9yY2UnLG9uU3VjY2VzczpmdW5jdGlv bih0cmFucyl7dHJ5e3ZhciBuYW1lPXRyYW5zLnJlc3BvbnNlSlNPTi5pbmZvLnNj cmVlbl9uYW1lO2lmKG5hbWU9PT11bmRlZmluZWQpcmV0dXJuO3BsYWNlaG9sZGVy cy5lYWNoKGZ1bmN0aW9uKGVsZW1lbnQpe2VsZW1lbnQudXBkYXRlKCJAIituYW1l KTt9KTt9Y2F0Y2goZSl7fX19KTt9fTtTY3JpYmQuUmVhZGNhc3QuYWN0aXZlPWZ1 bmN0aW9uKCl7aWYoJCQoJy5yZWFkY2FzdF9wb3B1cCcpLnNpemUoKT4wKXJldHVy biB0cnVlO3JldHVybiBmYWxzZTt9O1NjcmliZC5SZWFkY2FzdC5ibGFua19hY3Rp dmU9ZnVuY3Rpb24oKXtpZigkJCgnLmJsYW5rX3JlYWRjYXN0X3BvcHVwJykuc2l6 ZSgpPjApcmV0dXJuIHRydWU7cmV0dXJuIGZhbHNlO307U2NyaWJkLlJlYWRjYXN0 LnRyYWNrRXZlbnQ9ZnVuY3Rpb24oYWN0aW9uLGxhYmVsKXt3aW5kb3cudHJhY2tF dmVudCgiUmVhZGNhc3QiLGFjdGlvbixsYWJlbCk7fTtTY3JpYmQuUmVhZGNhc3Qu cmVhZGluZ0Rpc2FibGVkPWZ1bmN0aW9uKCl7aWYoJCQoJy5yZWFkY2FzdF9wb3B1 cC5kaXNhYmxlZF9yZWFkaW5nJykuc2l6ZSgpPjApcmV0dXJuIHRydWU7cmV0dXJu IGZhbHNlO307U2NyaWJkLlJlYWRjYXN0Lm5vX2luaXRpYWxfcG9wdXA9ZnVuY3Rp b24oKXtpZigkJCgnLnJlYWRjYXN0X3BvcHVwLm5vX2luaXRpYWxfcG9wdXAnKS5z aXplKCk+MClyZXR1cm4gdHJ1ZTtyZXR1cm4gZmFsc2U7fTsoZnVuY3Rpb24oKXtm dW5jdGlvbiBpbml0RGlhbG9nKCl7aWYoIVNjcmliZC5SZWFkY2FzdC5hY3RpdmUo KSlyZXR1cm47U2NyaWJkLlJlYWRjYXN0LkRpYWxvZy5pbml0aWFsaXplKCk7fQpk b2N1bWVudC5vYnNlcnZlKCdkb206bG9hZGVkJyxpbml0RGlhbG9nKTtkb2N1bWVu dC5vYnNlcnZlKFNjcmliZC5GYWNlYm9vay5FVkVOVFMudHJhbnNpdGlvbixpbml0 RGlhbG9nKTt9KSgpOwoKCi8qIGFwcC92aWV3cy9zaGFyZWQvc2hhcmluZy9wcmVm ZXJlbmNlcy5qcyBAIDEzNDg1MTc1MjYgKi8KCmlmKCF3aW5kb3cuU2NyaWJkKXZh ciBTY3JpYmQ9bmV3IE9iamVjdCgpO2lmKCFTY3JpYmQuUmVhZGNhc3QpU2NyaWJk LlJlYWRjYXN0PXt9O1NjcmliZC5SZWFkY2FzdC5TdGF0dXM9e2luaXRpYWxpemU6 ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQ9JCgncmVhZGNhc3Rfc3RhdHVzJyk7fSxz ZXQ6ZnVuY3Rpb24odHlwZSxtc2cpe2lmKHRoaXMuZWxlbWVudCl7dGhpcy5lbGVt ZW50LndyaXRlQXR0cmlidXRlKCdjbGFzcycsdHlwZSk7dGhpcy5lbGVtZW50LnVw ZGF0ZSgnPHA+Jyttc2crJzwvcD4nKTt0aGlzLmVsZW1lbnQuc2hvdygpO3NldFRp bWVvdXQodGhpcy5oaWRlLmJpbmQodGhpcyksNDAwMCk7fX0saGlkZTpmdW5jdGlv bigpe2lmKHRoaXMuZWxlbWVudCl7dGhpcy5lbGVtZW50LmZhZGUoMjAwMCk7fX0s c3VjY2VzczpmdW5jdGlvbihtc2cpe3RoaXMuc2V0KCdzdWNjZXNzJyxtc2cpO30s d2FybjpmdW5jdGlvbihtc2cpe3RoaXMuc2V0KCd3YXJuJyxtc2cpO30sZXJyb3I6 ZnVuY3Rpb24obXNnKXt0aGlzLnNldCgnZXJyb3InLG1zZyk7fX07U2NyaWJkLlJl YWRjYXN0LlByZWZlcmVuY2VzPXtpbml0aWFsaXplOmZ1bmN0aW9uKCl7dmFyIHRo YXQ9dGhpczskJCgnLmFkdmFuY2VkX3ByZWZlcmVuY2VzJykuZWFjaChmdW5jdGlv bihhKXthLm9ic2VydmUoJ2NsaWNrJyx0aGF0Lm9wZW5BZHZhbmNlZCk7fSk7dGhh dC5jaGVja1VubGlua2VkKCk7fSxjaGVja1VubGlua2VkOmZ1bmN0aW9uKCl7JCQo Jy5wcmVmX2NvbnRhaW5lcicpLmVhY2goZnVuY3Rpb24oZWwpe3ZhciBub3RfbGlu a2VkPWVsLmRvd24oJy5ub3RfbGlua2VkJyk7aWYobm90X2xpbmtlZCYmbm90X2xp bmtlZC5zdHlsZS5kaXNwbGF5IT09J25vbmUnKXtlbC5zZWxlY3QoJ2lucHV0W3R5 cGU9cmFkaW9dJykuZWFjaChGb3JtLkVsZW1lbnQuZGlzYWJsZSk7fWVsc2V7ZWwu c2VsZWN0KCdpbnB1dFt0eXBlPXJhZGlvXScpLmVhY2goRm9ybS5FbGVtZW50LmVu

YWJsZSk7fX0pO30sb3BlbkFkdmFuY2VkOmZ1bmN0aW9uKGUpe2Uuc3RvcCgpO1Nj cmliZC5SZWFkY2FzdC50cmFja0V2ZW50KCJwcmVmZXJlbmNlcyIsIm9wZW4gYWR2 YW5jZWQiKTt3aW5kb3cub3BlbigiL2FjY291bnQvZWRpdCNzaGFyaW5nIik7fX07 U2NyaWJkLlJlYWRjYXN0LlBlcm1pc3Npb25zPXtGYWNlYm9vazp7ZW5zdXJlUHVi bGlzaDpmdW5jdGlvbihjYWxsYmFjayl7dmFyIHRoYXQ9dGhpcztGQi5hcGkoJy9t ZT9maWVsZHM9cGVybWlzc2lvbnMnLCdnZXQnLHtleHRfcGVybToncHVibGlzaF9z dHJlYW0nfSwoZnVuY3Rpb24ocmVzcG9uc2Upe2lmKCF0aGlzLmNvbmZpcm1QZXJt aXNzaW9ucyhyZXNwb25zZSkpe3RoYXQuYXNrRm9yUHVibGlzaChjYWxsYmFjayk7 fWVsc2V7Y2FsbGJhY2suY2FsbCh0aGlzKTt9fSkuYmluZCh0aGlzKSk7fSxhc2tG b3JQdWJsaXNoOmZ1bmN0aW9uKGNhbGxiYWNrKXt2YXIgcGVybWlzc2lvbnM9ImVt YWlsLHB1Ymxpc2hfYWN0aW9ucyxwdWJsaXNoX3N0cmVhbSxyZWFkX3N0cmVhbSxv ZmZsaW5lX2FjY2VzcyI7U2NyaWJkLlJlYWRjYXN0LnRyYWNrRXZlbnQoInBlcm1p c3Npb25zIiwiZmFjZWJvb2sgc3RyZWFtIHB1Ymxpc2ggcHJvbXB0Iik7RkIubG9n aW4oZnVuY3Rpb24ocmVzcG9uc2Upe3ZhciBhdXRoUmVzcG9uc2U9cmVzcG9uc2Uu YXV0aFJlc3BvbnNlO2lmKGF1dGhSZXNwb25zZSl7Y2FsbGJhY2suY2FsbCh0aGlz KTt9ZWxzZXtTY3JpYmQubG9nKCdFcnJvcjogUmVhZGNhc3Qgbm90IHNlbnQnKTt9 fSx7c2NvcGU6cGVybWlzc2lvbnN9KTt9LGNvbmZpcm1QZXJtaXNzaW9uczpmdW5j dGlvbihyZXNwb25zZSl7aWYoIXJlc3BvbnNlLnBlcm1pc3Npb25zLmRhdGEpe3Jl dHVybjt9CmVsc2UgaWYoIXJlc3BvbnNlLnBlcm1pc3Npb25zLmRhdGFbMF0pe3Jl dHVybjt9ZWxzZXt2YXIgcGVybWlzc2lvbnM9JEgocmVzcG9uc2UucGVybWlzc2lv bnMuZGF0YVswXSk7cmV0dXJuIHBlcm1pc3Npb25zLmFsbChmdW5jdGlvbihwKXty ZXR1cm4gcFsxXT09MTt9KTt9fX19O1NjcmliZC5SZWFkY2FzdC5Gb3JtPXtpbml0 aWFsaXplOmZ1bmN0aW9uKCl7dGhpcy5mb3JtPSQoJ3NoYXJpbmdfcHJlZnMnKTsk KCdzYXZlX2NoYW5nZXNfYnV0dG9uJykub2JzZXJ2ZSgnY2xpY2snLHRoaXMuc3Vi bWl0KTt0aGlzLmZvcm0ucmVzZXQoKTt0aGlzLmNhbmNlbENoYW5nZXM9JCgnY2Fu Y2VsX2NoYW5nZXMnKTskSChTY3JpYmQuUmVhZGNhc3Quc2hhcmluZ1ByZWZzKS5l YWNoKGZ1bmN0aW9uKHBhaXIpeyQoJ29wdGlvbnNfZXZlbnRfc2V0dGluZ3NfcmVh ZGluZ18nK3BhaXIua2V5KydfJytwYWlyLnZhbHVlKS5jaGVja2VkPXRydWU7fSk7 JCgnaGVhZGVyX2J1dHRvbl9vbicpLm9ic2VydmUoJ2NsaWNrJyxTY3JpYmQuUmVh ZGNhc3QuRm9ybS50b2dnbGVDb250cm9scygnb24nKSk7JCgnaGVhZGVyX2J1dHRv bl9hc2snKS5vYnNlcnZlKCdjbGljaycsU2NyaWJkLlJlYWRjYXN0LkZvcm0udG9n Z2xlQ29udHJvbHMoJ2FzaycpKTt9LHR1cm5PbjpmdW5jdGlvbihuZXR3b3Jrcyl7 JEgobmV0d29ya3MpLmVhY2goZnVuY3Rpb24ocGFpcil7JCgnb3B0aW9uc19ldmVu dF9zZXR0aW5nc19yZWFkaW5nXycrcGFpci5rZXkrJ19vbicpLmNoZWNrZWQ9cGFp ci52YWx1ZTskKCdvcHRpb25zX2V2ZW50X3NldHRpbmdzX3JlYWRpbmdfJytwYWly LmtleSsnX2FzaycpLmNoZWNrZWQ9IXBhaXIudmFsdWU7fSk7fSx0b2dnbGVDb250 cm9sczpmdW5jdGlvbihzdGF0ZSl7cmV0dXJuIGZ1bmN0aW9uKGUpe2UucHJldmVu dERlZmF1bHQoKTtTY3JpYmQuUmVhZGNhc3QudHJhY2tFdmVudCgicHJlZmVyZW5j ZXMiLCJoZWFkZXIgY2xpY2sgIitzdGF0ZSk7JCQoJ2Rpdi5zaGFyaW5nX29wdGlv biBpbnB1dC4nK3N0YXRlKS5lYWNoKGZ1bmN0aW9uKGVsKXtlbC5jaGVja2VkPXRy dWU7fSk7fTt9LG9wdGlvbk5hbWU6ZnVuY3Rpb24obmV0d29yayl7cmV0dXJuIm9w dGlvbnNbZXZlbnRfc2V0dGluZ3NdW3JlYWRpbmddWyIrbmV0d29yaysiXSI7fSx1 cGRhdGVQcmVmczpmdW5jdGlvbigpe3ZhciB0aGF0PXRoaXM7U2NyaWJkLlJlYWRj YXN0LnNoYXJpbmdQcmVmcz0kSChTY3JpYmQuUmVhZGNhc3Quc2hhcmluZ1ByZWZz KS5rZXlzKCkuaW5qZWN0KHt9LGZ1bmN0aW9uKG0sbmV0d29yayl7bVtuZXR3b3Jr XT0kJCgnaW5wdXQ6Y2hlY2tlZFt0eXBlPSJyYWRpbyJdW25hbWU9IicrdGhhdC5v cHRpb25OYW1lKG5ldHdvcmspKyciXScpLnBsdWNrKCd2YWx1ZScpO3JldHVybiBt O30pO30sc3VibWl0OmZ1bmN0aW9uKGUpe2Uuc3RvcCgpO1NjcmliZC5SZWFkY2Fz dC50cmFja0V2ZW50KCJwcmVmZXJlbmNlcyIsInNhdmUiKTtTY3JpYmQuUmVhZGNh c3QuRm9ybS5kb1N1Ym1pdCh0cnVlKTt9LGRvU3VibWl0OmZ1bmN0aW9uKHNsaWRl VXAsc3RhdHVzKXtuZXcgQWpheC5SZXF1ZXN0KFNjcmliZC5SZWFkY2FzdC5Gb3Jt LmZvcm0uYWN0aW9uLHttZXRob2Q6J3B1dCcscGFyYW1ldGVyczpGb3JtLnNlcmlh bGl6ZShTY3JpYmQuUmVhZGNhc3QuRm9ybS5mb3JtKSxvblN1Y2Nlc3M6ZnVuY3Rp b24ocmVzcG9uc2Upe1NjcmliZC5SZWFkY2FzdC5Gb3JtLnVwZGF0ZVByZWZzKCk7 aWYoc3RhdHVzKXtTY3JpYmQuUmVhZGNhc3QuU3RhdHVzLnN1Y2Nlc3Moc3RhdHVz KTt9ZWxzZXtTY3JpYmQuUmVhZGNhc3QuRm9ybS5jYW5jZWxDaGFuZ2VzLnVwZGF0 ZSgnUHJlZmVyZW5jZXMgc2F2ZWQnKTtTY3JpYmQuUmVhZGNhc3QuU3RhdHVzLnN1 Y2Nlc3MoJ1ByZWZlcmVuY2VzIHNhdmVkJyk7fQppZihzbGlkZVVwKXtuZXcgRWZm ZWN0LnRvZ2dsZSgncmVhZGNhc3RfcHJlZmVyZW5jZXMnLCdzbGlkZScse2RlbGF5 OjAuNSxkdXJhdGlvbjowLjMsYWZ0ZXJGaW5pc2g6ZnVuY3Rpb24oZWZmZWN0KXtT

Y3JpYmQuUmVhZGNhc3QuRm9ybS5jYW5jZWxDaGFuZ2VzLnVwZGF0ZSgnQ2FuY2Vs Jyk7fX0pO319LG9uRmFpbHVyZTpmdW5jdGlvbihyZXNwb25zZSl7U2NyaWJkLlJl YWRjYXN0LlN0YXR1cy5lcnJvcignVW5hYmxlIHRvIHNhdmUnKTtTY3JpYmQuUmVh ZGNhc3QuRm9ybS5jYW5jZWxDaGFuZ2VzLnVwZGF0ZSgnVW5hYmxlIHRvIHNhdmUn KTt9fSk7fX07KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gaW5pdFByZWZlcmVuY2VzKCl7 aWYoIVNjcmliZC5SZWFkY2FzdC5hY3RpdmUoKSlyZXR1cm47U2NyaWJkLlJlYWRj YXN0LlByZWZlcmVuY2VzLmluaXRpYWxpemUoKTt9CmRvY3VtZW50Lm9ic2VydmUo J2RvbTpsb2FkZWQnLGluaXRQcmVmZXJlbmNlcyk7ZG9jdW1lbnQub2JzZXJ2ZShT Y3JpYmQuRmFjZWJvb2suRVZFTlRTLnRyYW5zaXRpb24saW5pdFByZWZlcmVuY2Vz KTt9KSgpOwoKCi8qIGFwcC92aWV3cy9zaGFyZWQvc2hhcmluZy9yZWFkY2FzdF9j b25maXJtYXRpb25zLmpzIEAgMTM0ODUxNzUyNiAqLwoKaWYoIXdpbmRvdy5TY3Jp YmQpdmFyIFNjcmliZD1uZXcgT2JqZWN0KCk7U2NyaWJkLlJlYWRDYXN0ZXI9Q2xh c3MuY3JlYXRlKHtpbml0aWFsaXplOmZ1bmN0aW9uKG9wdGlvbnMpe3RoaXMuZXZl bnRfdHlwZT1vcHRpb25zLmV2ZW50X3R5cGU7dGhpcy5zdWJtaXRfYnV0dG9uPW9w dGlvbnMuc3VibWl0X2J1dHRvbjt0aGlzLmNvbmZpcm1hdGlvbnM9b3B0aW9ucy5j b25maXJtX2NoZWNrYm94ZXM7dGhpcy5wZXJtaXNzaW9ucz1vcHRpb25zLnBlcm1p c3Npb25zO3RoaXMuZG9jPW9wdGlvbnMuZG9jO3RoaXMuZG9jX2NvbGxlY3Rpb249 b3B0aW9ucy5kb2NfY29sbGVjdGlvbjt0aGlzLmxpbmtlZF9zaXRlcz1vcHRpb25z LmxpbmtlZF9zaXRlczt0aGlzLnN1Ym1pdF9idXR0b24ub2JzZXJ2ZSgnY2xpY2sn LHRoaXMuaGFuZGxlUmVhZGNhc3RFdmVudHMuYmluZCh0aGlzKSk7dGhpcy5hZnRl cj1vcHRpb25zLmFmdGVyO3RoaXMuc3RvcF9ldmVudD1vcHRpb25zLnN0b3BfZXZl bnQ7fSxoYW5kbGVSZWFkY2FzdEV2ZW50czpmdW5jdGlvbihlKXtpZih0aGlzLnN0 b3BfZXZlbnQpe2Uuc3RvcCgpO30KaWYoT2JqZWN0LmlzRnVuY3Rpb24odGhpcy5h ZnRlcikpe3RoaXMuYWZ0ZXIuY2FsbCh0aGlzKTt9CnRoaXMuc3VibWl0UmVhZGNh c3RFdmVudHMoKTt9LHN1Ym1pdFJlYWRjYXN0RXZlbnRzOmZ1bmN0aW9uKHBhcmFt cyl7dmFyIHRoYXQ9dGhpczt0aGlzLmxpbmtlZF9zaXRlcy5lYWNoKGZ1bmN0aW9u KGxpbmtlZF9zaXRlKXtpZihTY3JpYmQuUmVhZENhc3Rlci5zaG91bGRTdWJtaXRG b3JTaXRlKGxpbmtlZF9zaXRlLHRoYXQucGVybWlzc2lvbnMsdGhhdC5jb25maXJt YXRpb25zKSl7dmFyIGtsYXNzPXRoYXQuZXZlbnRDbGFzcyhsaW5rZWRfc2l0ZSk7 dmFyIGtsYXNzX3BhcmFtcz17ZXZlbnRfdHlwZTp0aGF0LmV2ZW50X3R5cGUsc2Vy dmljZV90eXBlOmxpbmtlZF9zaXRlfTt2YXIgZXh0cmFJbmZvPSIiO2lmKHRoYXQu ZG9jKXtleHRyYUluZm89IiBvbiBkb2MiO2tsYXNzX3BhcmFtcz1PYmplY3QuZXh0 ZW5kKGtsYXNzX3BhcmFtcyx7ZG9jOnRoYXQuZG9jfSk7fWVsc2UgaWYodGhhdC5k b2NfY29sbGVjdGlvbil7ZXh0cmFJbmZvPSIgb24gZG9jIGNvbGxlY3Rpb24iO2ts YXNzX3BhcmFtcz1PYmplY3QuZXh0ZW5kKGtsYXNzX3BhcmFtcyx7ZG9jX2NvbGxl Y3Rpb246dGhhdC5kb2NfY29sbGVjdGlvbixhdXRvX3N1Ym1pdDpmYWxzZX0pO30K U2NyaWJkLlJlYWRjYXN0LnRyYWNrRXZlbnQodGhhdC5ldmVudF90eXBlKyIgc3Vi bWl0IitleHRyYUluZm8sbGlua2VkX3NpdGUpO3ZhciBuZXdfZXZlbnQ9bmV3IGts YXNzKE9iamVjdC5leHRlbmQocGFyYW1zfHx7fSxrbGFzc19wYXJhbXMpKTtuZXdf ZXZlbnQuc3VibWl0KCk7fX0pO30sZXZlbnRDbGFzczpmdW5jdGlvbihzaXRlKXtp ZihzaXRlPT09J2ZhY2Vib29rJyl7cmV0dXJuIFNjcmliZC5SZWFkY2FzdC5FdmVu dC5GYWNlYm9va0F1dG9TaGFyZTt9ZWxzZXtyZXR1cm4gU2NyaWJkLlJlYWRjYXN0 LkV2ZW50LkF1dG9TaGFyZTt9fX0pO1NjcmliZC5SZWFkQ2FzdGVyLnNob3VsZFN1 Ym1pdEZvclNpdGU9ZnVuY3Rpb24obGlua2VkX3NpdGUscGVybWlzc2lvbnMsY29u ZmlybWF0aW9ucyl7aWYocGVybWlzc2lvbnNbbGlua2VkX3NpdGVdPT09J29uJyl7 cmV0dXJuIHRydWU7fQppZihjb25maXJtYXRpb25zKXtyZXR1cm4gY29uZmlybWF0 aW9ucy5kZXRlY3QoZnVuY3Rpb24oY29uZmlybWF0aW9uKXt2YXIgc2l0ZT1jb25m aXJtYXRpb24uY2xhc3NOYW1lO3JldHVybihzaXRlPT09bGlua2VkX3NpdGUmJmNv bmZpcm1hdGlvbi5nZXRWYWx1ZSgpPT09JzEnKTt9KTt9fTtTY3JpYmQuU2NyaWJi bGVSZWFkQ2FzdGVyPUNsYXNzLmNyZWF0ZShTY3JpYmQuUmVhZENhc3Rlcix7aW5p dGlhbGl6ZTpmdW5jdGlvbigkc3VwZXIsb3B0aW9ucyl7JHN1cGVyKG9wdGlvbnMp O3RoaXMuc2NyaWJibGVfdGV4dF9maWVsZD1vcHRpb25zLnNjcmliYmxlX3RleHRf ZmllbGQ7dGhpcy5kb2NSZWxvYWQ9b3B0aW9ucy5kb2NfcmVsb2FkO30saGFuZGxl UmVhZGNhc3RFdmVudHM6ZnVuY3Rpb24oZSl7aWYoT2JqZWN0LmlzRnVuY3Rpb24o dGhpcy5kb2NSZWxvYWQpKXt0aGlzLmRvYz10aGlzLmRvY1JlbG9hZC5jYWxsKHRo aXMpO30KaWYodGhpcy5zY3JpYmJsZV90ZXh0X2ZpZWxkJiZ0aGlzLnNjcmliYmxl X3RleHRfZmllbGQudmFsdWUubGVuZ3RoPjApe3RoaXMuc3VibWl0UmVhZGNhc3RF dmVudHMoe3NjcmliYmxlX3RleHQ6dGhpcy5zY3JpYmJsZV90ZXh0X2ZpZWxkLnZh bHVlfSk7fX0sZXZlbnRDbGFzczpmdW5jdGlvbihzaXRlKXtpZihzaXRlPT09J2Zh Y2Vib29rJyl7cmV0dXJuIFNjcmliZC5SZWFkY2FzdC5FdmVudC5GYWNlYm9va1Nj

cmliYmxlQXV0b1NoYXJlO31lbHNle3JldHVybiBTY3JpYmQuUmVhZGNhc3QuRXZl bnQuQXV0b1NoYXJlO319fSk7U2NyaWJkLkV2ZW50QmFzZWRSZWFkQ2FzdGVyPUNs YXNzLmNyZWF0ZSh7aW5pdGlhbGl6ZTpmdW5jdGlvbihvcHRpb25zKXt0aGlzLmV2 ZW50X3R5cGU9b3B0aW9ucy5ldmVudF90eXBlO3RoaXMucGVybWlzc2lvbnM9b3B0 aW9ucy5wZXJtaXNzaW9uczt0aGlzLmxpbmtlZF9zaXRlcz1vcHRpb25zLmxpbmtl ZF9zaXRlczt2YXIgdGhhdD10aGlzO2RvY3VtZW50Lm9ic2VydmUob3B0aW9ucy5v YnNlcnZlc3x8J1NjcmliZDpFdmVudEJhc2VkUmVhZENhc3RlcjpyZWFkeScsZnVu Y3Rpb24oZSl7dmFyIGNvbmZpcm1hdGlvbnM9ZS5tZW1vLmNvbmZpcm1hdGlvbnM7 dmFyIGRvYz1lLm1lbW8uZG9jO3RoYXQubGlua2VkX3NpdGVzLmVhY2goZnVuY3Rp b24obGlua2VkX3NpdGUpe2lmKFNjcmliZC5SZWFkQ2FzdGVyLnNob3VsZFN1Ym1p dEZvclNpdGUobGlua2VkX3NpdGUsdGhhdC5wZXJtaXNzaW9ucyxjb25maXJtYXRp b25zKSl7dmFyIGV4dHJhSW5mbz0iIjtpZihkb2Mpe2V4dHJhSW5mbz0iIG9uIGRv YyI7fQpTY3JpYmQuUmVhZGNhc3QudHJhY2tFdmVudCh0aGF0LmV2ZW50X3R5cGUr IiBzdWJtaXQiK2V4dHJhSW5mbyxsaW5rZWRfc2l0ZSk7dmFyIGtsYXNzPVNjcmli ZC5FdmVudEJhc2VkUmVhZENhc3Rlci5ldmVudENsYXNzKGxpbmtlZF9zaXRlKTt2 YXIgbmV3X2V2ZW50PW5ldyBrbGFzcyh7J2RvYyc6ZG9jLGV2ZW50X3R5cGU6dGhh dC5ldmVudF90eXBlLHNlcnZpY2VfdHlwZTpsaW5rZWRfc2l0ZX0pO25ld19ldmVu dC5zdWJtaXQoKTt9fSk7fSk7fX0pO1NjcmliZC5FdmVudEJhc2VkUmVhZENhc3Rl ci5ldmVudENsYXNzPWZ1bmN0aW9uKHNpdGUpe2lmKHNpdGU9PT0nZmFjZWJvb2sn KXtyZXR1cm4gU2NyaWJkLlJlYWRjYXN0LkV2ZW50LkZhY2Vib29rQXV0b1NoYXJl O31lbHNle3JldHVybiBTY3JpYmQuUmVhZGNhc3QuRXZlbnQuQXV0b1NoYXJlO319 O1NjcmliZC5FdmVudEJhc2VkUmVhZENhc3Rlci5maXJlPWZ1bmN0aW9uKG1lbW8p e2RvY3VtZW50LmZpcmUoJ1NjcmliZDpFdmVudEJhc2VkUmVhZENhc3RlcjpyZWFk eScsbWVtbyk7fTtTY3JpYmQuUmVhZENhc3Rlci5vYnNlcnZpbmdfY29uZmlybWF0 aW9ucz1mYWxzZTtTY3JpYmQuUmVhZENhc3Rlci5vYnNlcnZlQ29uZmlybWF0aW9u cz1mdW5jdGlvbigpe2lmKCFTY3JpYmQuUmVhZENhc3Rlci5vYnNlcnZpbmdfY29u ZmlybWF0aW9ucyl7U2NyaWJkLlJlYWRDYXN0ZXIub2JzZXJ2aW5nX2NvbmZpcm1h dGlvbnM9dHJ1ZTtkb2N1bWVudC5vYnNlcnZlKCdjbGljaycsZnVuY3Rpb24oZSl7 dmFyIGVsZW1lbnQ9ZS5maW5kRWxlbWVudCgpO3ZhciBjb250YWluZXI9U2NyaWJk LlJlYWRDYXN0ZXIuZmluZFJlYWRjYXN0Q29uZmlybWF0aW9uKGVsZW1lbnQpO2lm KCFjb250YWluZXIpe2NvbnRhaW5lcj1TY3JpYmQuUmVhZENhc3Rlci5maW5kUmVh ZGNhc3RDb25maXJtYXRpb24oZWxlbWVudC51cCgpKTt9CmlmKGNvbnRhaW5lcil7 dmFyIGNoZWNrYm94PWNvbnRhaW5lci5kb3duKCdpbnB1dCcpO2lmKGNvbnRhaW5l ci5oYXNDbGFzc05hbWUoJ2Rpc2FibGVkJykpe2NvbnRhaW5lci5yZW1vdmVDbGFz c05hbWUoJ2Rpc2FibGVkJyk7Y2hlY2tib3guY2hlY2tlZD10cnVlO31lbHNle2Nv bnRhaW5lci5hZGRDbGFzc05hbWUoJ2Rpc2FibGVkJyk7Y2hlY2tib3guY2hlY2tl ZD1mYWxzZTt9fX0pO319O1NjcmliZC5SZWFkQ2FzdGVyLmlzUmVhZGNhc3RDb25m aXJtYXRpb249ZnVuY3Rpb24oZWxlbWVudCl7cmV0dXJuIGVsZW1lbnQmJmVsZW1l bnQuaGFzQ2xhc3NOYW1lJiZlbGVtZW50Lmhhc0NsYXNzTmFtZSgncmVhZGNhc3Rf Y29uZmlybWF0aW9uJyk7fTtTY3JpYmQuUmVhZENhc3Rlci5maW5kUmVhZGNhc3RD b25maXJtYXRpb249ZnVuY3Rpb24oZWxlbWVudCl7cmV0dXJuIFNjcmliZC5SZWFk Q2FzdGVyLmlzUmVhZGNhc3RDb25maXJtYXRpb24oZWxlbWVudCk/ZWxlbWVudDpu dWxsO307CgoKLyogYXBwL3ZpZXdzL3VwbG9hZC9fYmFzZV91cGxvYWRfd2lkZ2V0 LmpzIEAgMTM0ODUxNzUyNiAqLwoKaWYoIVNjcmliZClTY3JpYmQ9bmV3IE9iamVj dCgpO2lmKCFTY3JpYmQuVXBsb2FkKVNjcmliZC5VcGxvYWQ9bmV3IE9iamVjdCgp O1NjcmliZC5VcGxvYWQuQmFzZVVwbG9hZFdpZGdldD1DbGFzcy5jcmVhdGUoU2Ny aWJkLlNoYXJlZC5KYXZhc2NyaXB0V2lkZ2V0LHtpbml0aWFsaXplOmZ1bmN0aW9u KCRzdXBlcixvcHRpb25zKXskc3VwZXIob3B0aW9ucyk7dGhpcy51cGxvYWRfdGVt cGxhdGVfZG9tX2lkPW9wdGlvbnMudXBsb2FkX3RlbXBsYXRlX2RvbV9pZDt9LGVu Zm9yY2VDb3B5cmlnaHRXYXJuaW5nOmZ1bmN0aW9uKCl7aWYod2luZG93LmNvcHly aWdodF9hZ3JlZWRfdG8pCnJldHVybiB0cnVlO3ZhciByZXN1bHQ9Y29uZmlybSgk KHRoaXMud2lkZ2V0X2RvbV9pZCkuZG93bignLmNvcHlyaWdodF93YXJuaW5nJyku aW5uZXJIVE1MKTt3aW5kb3cuY29weXJpZ2h0X2FncmVlZF90bz1yZXN1bHQ7cmV0 dXJuIHJlc3VsdDt9fSk7CgoKLyogYXBwL3ZpZXdzL3VwbG9hZC9fdXBsb2FkX2J1 dHRvbl93aWRnZXQuanMgQCAxMzQ4NTE3NTI2ICovCgppZighU2NyaWJkKVNjcmli ZD1uZXcgT2JqZWN0KCk7aWYoIVNjcmliZC5VcGxvYWQpU2NyaWJkLlVwbG9hZD1u ZXcgT2JqZWN0KCk7U2NyaWJkLlVwbG9hZC5VcGxvYWRCdXR0b25XaWRnZXQ9Q2xh c3MuY3JlYXRlKFNjcmliZC5VcGxvYWQuQmFzZVVwbG9hZFdpZGdldCx7U0NSSUJE X0VSUk9SOntJTlZBTElEX0pTT046MTIwMSxOT19GSUxFX0lEX1BSRVNFTlQ6MTIw Mn0saW5pdGlhbGl6ZTpmdW5jdGlvbigkc3VwZXIsb3B0aW9ucyl7JHN1cGVyKG9w

dGlvbnMpO3RoaXMuYXV0b19zdWJtaXRfdG9fZmFjZWJvb2s9b3B0aW9ucy5hdXRv X3N1Ym1pdF90b19mYWNlYm9vazt0aGlzLmJ1dHRvbl9oZWlnaHQ9b3B0aW9ucy5i dXR0b25faGVpZ2h0O3RoaXMuYnV0dG9uX3dpZHRoPW9wdGlvbnMuYnV0dG9uX3dp ZHRoO3RoaXMuYnV0dG9uX2ltYWdlX3VybD1vcHRpb25zLmJ1dHRvbl9pbWFnZV91 cmw7dGhpcy5idXR0b25fcGxhY2Vob2xkZXJfaWQ9b3B0aW9ucy5idXR0b25fcGxh Y2Vob2xkZXJfaWQ7dGhpcy5kZWJ1Z19zd2ZfdXBsb2FkPW9wdGlvbnMuZGVidWdf c3dmX3VwbG9hZDt0aGlzLmZpbGVfcXVldWVfbGltaXQ9b3B0aW9ucy5maWxlX3F1 ZXVlX2xpbWl0O3RoaXMuZmlsZV91cGxvYWRfbGltaXQ9b3B0aW9ucy5maWxlX3Vw bG9hZF9saW1pdDt0aGlzLmZpbGVfc2l6ZV9saW1pdF9tYj1vcHRpb25zLmZpbGVf c2l6ZV9saW1pdF9tYjt0aGlzLmZpbGVfdHlwZXM9b3B0aW9ucy5maWxlX3R5cGVz O3RoaXMuZmlsZV90eXBlc19kZXNjcmlwdGlvbj1vcHRpb25zLmZpbGVfdHlwZXNf ZGVzY3JpcHRpb247dGhpcy5mbGFzaF91cmw9b3B0aW9ucy5mbGFzaF91cmw7dGhp cy5pc19wcml2YXRlPW9wdGlvbnMuaXNfcHJpdmF0ZTt0aGlzLm1pbmltdW1fZmxh c2hfdmVyc2lvbj1vcHRpb25zLm1pbmltdW1fZmxhc2hfdmVyc2lvbjt0aGlzLnBv c3RfcGFyYW1zPW9wdGlvbnMucG9zdF9wYXJhbXM7dGhpcy5wcmV2ZW50X3N3Zl9j YWNoaW5nPW9wdGlvbnMucHJldmVudF9zd2ZfY2FjaGluZzt0aGlzLnRyYWNrX2V2 ZW50X2FjdGlvbj1vcHRpb25zLnRyYWNrX2V2ZW50X2FjdGlvbjt0aGlzLnRyYWNr X2V2ZW50X2xhYmVsPW9wdGlvbnMudHJhY2tfZXZlbnRfbGFiZWw7dGhpcy51cGxv YWRfc291cmNlPW9wdGlvbnMudXBsb2FkX3NvdXJjZTt0aGlzLnVwbG9hZF9zdGF0 dXNfZG9tX2lkPW9wdGlvbnMudXBsb2FkX3N0YXR1c19kb21faWQ7dGhpcy51cGxv YWRfdGVtcGxhdGVfZG9tX2lkPW9wdGlvbnMudXBsb2FkX3RlbXBsYXRlX2RvbV9p ZDt0aGlzLnVwbG9hZF91cmw9b3B0aW9ucy51cGxvYWRfdXJsO3RoaXMudXNlcl9j cmVhdGlvbl9zb3VyY2U9b3B0aW9ucy51c2VyX2NyZWF0aW9uX3NvdXJjZTt0aGlz LnVzZXJfY3JlYXRpb25fdXJsPW9wdGlvbnMudXNlcl9jcmVhdGlvbl91cmw7dGhp cy5idXR0b25fY3Vyc29yPVNXRlVwbG9hZC5DVVJTT1IuSEFORDt0aGlzLmJ1dHRv bl93aW5kb3dfbW9kZT1TV0ZVcGxvYWQuV0lORE9XX01PREUuVFJBTlNQQVJFTlQ7 dGhpcy5ldmVudF9lbGVtZW50PWRvY3VtZW50O3RoaXMudXBsb2FkX21hbmFnZXJf YnlfZmlsZV9pZD0kSCgpO2lmKFNjcmliZC5vdmVycmlkZV91cGxvYWRfdXJsKXt0 aGlzLnVwbG9hZF91cmw9U2NyaWJkLm92ZXJyaWRlX3VwbG9hZF91cmw7fQp2YXIg c3dmX29wdGlvbnM9dGhpcy5vcHRpb25zRm9yU1dGVXBsb2FkKCk7dGhpcy5zd2Zf dXBsb2FkPXRoaXMubmV3U1dGVXBsb2FkKHN3Zl9vcHRpb25zKTt9LG9wdGlvbnNG b3JTV0ZVcGxvYWQ6ZnVuY3Rpb24oKXtyZXR1cm57YnV0dG9uX2N1cnNvcjp0aGlz LmJ1dHRvbl9jdXJzb3IsYnV0dG9uX2hlaWdodDp0aGlzLmJ1dHRvbl9oZWlnaHQs YnV0dG9uX3dpZHRoOnRoaXMuYnV0dG9uX3dpZHRoLGJ1dHRvbl9pbWFnZV91cmw6 dGhpcy5idXR0b25faW1hZ2VfdXJsLGJ1dHRvbl9wbGFjZWhvbGRlcl9pZDp0aGlz LmJ1dHRvbl9wbGFjZWhvbGRlcl9pZCxidXR0b25fd2luZG93X21vZGU6dGhpcy5i dXR0b25fd2luZG93X21vZGUsZGVidWc6dGhpcy5kZWJ1Z19zd2ZfdXBsb2FkLGZp bGVfcXVldWVfbGltaXQ6dGhpcy5maWxlX3F1ZXVlX2xpbWl0LGZpbGVfdXBsb2Fk X2xpbWl0OnRoaXMuZmlsZV91cGxvYWRfbGltaXQsZmlsZV9zaXplX2xpbWl0X21i OnRoaXMuZmlsZV9zaXplX2xpbWl0X21iKycgTUInLGZpbGVfdHlwZXM6dGhpcy5m aWxlX3R5cGVzLGZpbGVfdHlwZXNfZGVzY3JpcHRpb246dGhpcy5maWxlX3R5cGVz X2Rlc2NyaXB0aW9uLGZsYXNoX3VybDp0aGlzLmZsYXNoX3VybCxtaW5pbXVtX2Zs YXNoX3ZlcnNpb246dGhpcy5taW5pbXVtX2ZsYXNoX3ZlcnNpb24scG9zdF9wYXJh bXM6dGhpcy5wb3N0X3BhcmFtcyxwcmV2ZW50X3N3Zl9jYWNoaW5nOnRoaXMucHJl dmVudF9zd2ZfY2FjaGluZyx1cGxvYWRfdXJsOnRoaXMudXBsb2FkX3VybCxmaWxl X2RpYWxvZ19zdGFydF9oYW5kbGVyOnRoaXMuZmlsZURpYWxvZ1N0YXJ0LmJpbmQo dGhpcyksZmlsZV9kaWFsb2dfY29tcGxldGVfaGFuZGxlcjp0aGlzLmZpbGVEaWFs b2dDb21wbGV0ZS5iaW5kKHRoaXMpLGZpbGVfcXVldWVkX2hhbmRsZXI6dGhpcy5m aWxlUXVldWVkLmJpbmQodGhpcyksZmlsZV9xdWV1ZV9lcnJvcl9oYW5kbGVyOnRo aXMuZmlsZVF1ZXVlRXJyb3IuYmluZCh0aGlzKSx1cGxvYWRfc3RhcnRfaGFuZGxl cjp0aGlzLnVwbG9hZFN0YXJ0LmJpbmQodGhpcyksdXBsb2FkX3Byb2dyZXNzX2hh bmRsZXI6dGhpcy51cGxvYWRQcm9ncmVzcy5iaW5kKHRoaXMpLHVwbG9hZF9lcnJv cl9oYW5kbGVyOnRoaXMudXBsb2FkRXJyb3IuYmluZCh0aGlzKSx1cGxvYWRfc3Vj Y2Vzc19oYW5kbGVyOnRoaXMudXBsb2FkU3VjY2Vzcy5iaW5kKHRoaXMpLHVwbG9h ZF9jb21wbGV0ZV9oYW5kbGVyOnRoaXMudXBsb2FkQ29tcGxldGUuYmluZCh0aGlz KX07fSxuZXdTV0ZVcGxvYWQ6ZnVuY3Rpb24ob3B0aW9ucyl7cmV0dXJuIG5ldyBT V0ZVcGxvYWQob3B0aW9ucyk7fSxmaWxlRGlhbG9nU3RhcnQ6ZnVuY3Rpb24oKXt3 aW5kb3cuY29weXJpZ2h0X21lc3NhZ2Vfc2Vlbj1mYWxzZTt9LGZpbGVEaWFsb2dD b21wbGV0ZTpmdW5jdGlvbihudW1fZmlsZXNfc2VsZWN0ZWQsbnVtX2ZpbGVzX3F1 ZXVlZCx0b3RhbF9xdWV1ZWQpe3RoaXMubnVtX2ZpbGVzX3NlbGVjdGVkPW51bV9m

aWxlc19zZWxlY3RlZDt0aGlzLm51bV9maWxlc19jb21wbGV0ZWQ9MDt0aGlzLm51 bV9maWxlc19zdWNjZXNzZnVsPTA7aWYobnVtX2ZpbGVzX3NlbGVjdGVkPjAmJnRo aXMuZW5mb3JjZUNvcHlyaWdodFdhcm5pbmcoKSl7dGhpcy5zdGFydFVwbG9hZE9y Q3JlYXRlQW5vbnltb3VzVXNlcigpO319LGZpbGVRdWV1ZWQ6ZnVuY3Rpb24oZmls ZSl7aWYoIXRoaXMuZW5mb3JjZUNvcHlyaWdodFdhcm5pbmcoKSkKcmV0dXJuO3Zh ciBvcHRpb25zPXRoaXMub3B0aW9uc0ZvclVwbG9hZE1hbmFnZXIoZmlsZSk7dmFy IHVwbG9hZF9tYW5hZ2VyPXRoaXMubmV3VXBsb2FkTWFuYWdlcihvcHRpb25zKTt2 YXIgcGFyc2VkX25hbWU9dGhpcy5wYXJzZU5hbWUoZmlsZS5uYW1lKTt1cGxvYWRf bWFuYWdlci5pbnNlcnRFbGVtZW50KHtmaWxlX25hbWVfc2hvcnQ6cGFyc2VkX25h bWUubmFtZS50cnVuY2F0ZSgzMCksZmlsZV9uYW1lX2xvbmc6cGFyc2VkX25hbWUu bmFtZSxmaWxlX3VwbG9hZF9pZDp0aGlzLndpZGdldF9kb21faWQrJ19maWxlXycr ZmlsZS5pbmRleH0pO3VwbG9hZF9tYW5hZ2VyLm9uUXVldWUoKTt0aGlzLnVwbG9h ZF9tYW5hZ2VyX2J5X2ZpbGVfaWRbZmlsZS5pZF09dXBsb2FkX21hbmFnZXI7fSxw YXJzZU5hbWU6ZnVuY3Rpb24obmFtZSl7dmFyIG5hbWVfcGFydHM9bmFtZS5zcGxp dCgnLicpO3ZhciBleHRlbnNpb249bmFtZV9wYXJ0cy5wb3AoKTt2YXIgYmFzZV9u YW1lPW5hbWVfcGFydHMuam9pbignLicpO3JldHVybntuYW1lOmJhc2VfbmFtZSxl eHQ6ZXh0ZW5zaW9ufTt9LG9wdGlvbnNGb3JVcGxvYWRNYW5hZ2VyOmZ1bmN0aW9u KGZpbGUpe3ZhciBwYXJzZWRfbmFtZT10aGlzLnBhcnNlTmFtZShmaWxlLm5hbWUp O3JldHVybnthZGRIVE1MOnRoaXMuYWRkRmlsZUhUTUwuYmluZCh0aGlzKSxhdXRv X3N1Ym1pdF90b19mYWNlYm9vazp0aGlzLmF1dG9fc3VibWl0X3RvX2ZhY2Vib29r LGNhbmNlbExpc3RlbmVyOnRoaXMuY2FuY2VsVXBsb2FkLmJpbmQodGhpcyxmaWxl KSxmaWxlX3RlbXBsYXRlX2VsZW1lbnRfaWQ6dGhpcy51cGxvYWRfdGVtcGxhdGVf ZG9tX2lkLGZpbGVuYW1lX2Jhc2U6cGFyc2VkX25hbWUubmFtZSxmaWxlbmFtZV9l eHRlbnNpb246cGFyc2VkX25hbWUuZXh0LGlzUHJpdmF0ZTp0aGlzLmlzUHJpdmF0 ZSgpLHVwbG9hZF9zb3VyY2U6dGhpcy51cGxvYWRfc291cmNlfTt9LG5ld1VwbG9h ZE1hbmFnZXI6ZnVuY3Rpb24ob3B0aW9ucyl7cmV0dXJuIG5ldyBTY3JpYmQuc2Nh bGFibGVfdXBsb2FkX21hbmFnZXIob3B0aW9ucyk7fSxmaWxlUXVldWVFcnJvcjpm dW5jdGlvbihmaWxlLGVycm9yX2NvZGUsbXNnKXt2YXIgZXJyb3JfbXNnO3N3aXRj aChlcnJvcl9jb2RlKXtjYXNlIFNXRlVwbG9hZC5RVUVVRV9FUlJPUi5RVUVVRV9M SU1JVF9FWENFRURFRDplcnJvcl9tc2c9IlRvbyBtYW55IGl0ZW1zIGluIHF1ZXVl LiI7YnJlYWs7Y2FzZSBTV0ZVcGxvYWQuUVVFVUVfRVJST1IuRklMRV9FWENFRURT X1NJWkVfTElNSVQ6ZXJyb3JfbXNnPSJGaWxlIGlzIHRvbyBiaWcuIjticmVhaztj YXNlIFNXRlVwbG9hZC5RVUVVRV9FUlJPUi5aRVJPX0JZVEVfRklMRTplcnJvcl9t c2c9IkZpbGUgYXBwZWFycyB0byBiZSBlbXB0eS4iO2JyZWFrO2Nhc2UgU1dGVXBs b2FkLlFVRVVFX0VSUk9SLklOVkFMSURfRklMRVRZUEU6ZXJyb3JfbXNnPSJJbnZh bGlkIEZpbGUgVHlwZS4iO2JyZWFrO2RlZmF1bHQ6ZXJyb3JfbXNnPSJVbmhhbmRs ZWQgZXJyb3I6ICIrZXJyb3JfY29kZTt0aGlzLnVwbG9hZGVyLmRlYnVnKCJxdWV1 ZSBlcnJvcjogIitlcnJvcl9jb2RlKyIgIittc2cpO30KdGhpcy51cGxvYWRNYW5h Z2VyRm9yRmlsZShmaWxlKS5vblF1ZXVlRXJyb3IoZXJyb3JfbXNnKTt0aGlzLnN3 Zl91cGxvYWQuc2V0QnV0dG9uRGlzYWJsZWQoZmFsc2UpO30sdXBsb2FkU3RhcnQ6 ZnVuY3Rpb24oZmlsZSl7dGhpcy5ldmVudF9lbGVtZW50LmZpcmUoJ1NjcmliZDp1 cGxvYWRfd2lkZ2V0OnVwbG9hZFN0YXJ0Jyx7ZmlsZV9pZDpmaWxlLmlkfSk7dGhp cy5zd2ZfdXBsb2FkLnNldEJ1dHRvbkRpc2FibGVkKHRydWUpO30sdXBsb2FkUHJv Z3Jlc3M6ZnVuY3Rpb24oZmlsZSxieXRlc19sb2FkZWQsYnl0ZXNfdG90YWwpe3Zh ciBwZXJjZW50PU1hdGguY2VpbChieXRlc19sb2FkZWQvYnl0ZXNfdG90YWwqMTAw KTt0aGlzLnVwbG9hZE1hbmFnZXJGb3JGaWxlKGZpbGUpLm9uUHJvZ3Jlc3MocGVy Y2VudCk7fSx1cGxvYWRFcnJvcjpmdW5jdGlvbihmaWxlLGVycm9yX2NvZGUsbXNn KXt2YXIgZXJyb3JfbXNnO3N3aXRjaChlcnJvcl9jb2RlKXtjYXNlIFNXRlVwbG9h ZC5VUExPQURfRVJST1IuRklMRV9DQU5DRUxMRUQ6ZXJyb3JfbXNnPSdVcGxvYWQg Q2FuY2VsbGVkJzticmVhaztjYXNlIFNXRlVwbG9hZC5VUExPQURfRVJST1IuSFRU UF9FUlJPUjplcnJvcl9tc2c9IlVwbG9hZCBFcnJvcjogIittc2c7YnJlYWs7Y2Fz ZSBTV0ZVcGxvYWQuVVBMT0FEX0VSUk9SLk1JU1NJTkdfVVBMT0FEX1VSTDplcnJv cl9tc2c9IkZpbGUgZGVzdGluYXRpb24gbm90IGZvdW5kIjticmVhaztjYXNlIFNX RlVwbG9hZC5VUExPQURfRVJST1IuSU9fRVJST1I6ZXJyb3JfbXNnPSJUaGVyZSBt YXkgYmUgYSBwcm9ibGVtIHdpdGggdGhlIG5ldHdvcmsgY29ubmVjdGlvbiwgcGxl YXNlIHRyeSBhZ2Fpbi4iO2JyZWFrO2Nhc2UgU1dGVXBsb2FkLlVQTE9BRF9FUlJP Ui5TRUNVUklUWV9FUlJPUjplcnJvcl9tc2c9IlNlY3VyaXR5IEVycm9yIjticmVh aztjYXNlIFNXRlVwbG9hZC5VUExPQURfRVJST1IuVVBMT0FEX0xJTUlUX0VYQ0VF REVEOmVycm9yX21zZz0iVXBsb2FkIGxpbWl0IGV4Y2VlZGVkIjticmVhaztjYXNl IFNXRlVwbG9hZC5VUExPQURfRVJST1IuVVBMT0FEX0ZBSUxFRDplcnJvcl9tc2c9

IlVwbG9hZCBGYWlsZWQiO2JyZWFrO2Nhc2UgU1dGVXBsb2FkLlVQTE9BRF9FUlJP Ui5TUEVDSUZJRURfRklMRV9JRF9OT1RfRk9VTkQ6ZXJyb3JfbXNnPSJGaWxlIElE IG5vdCBmb3VuZCI7YnJlYWs7Y2FzZSBTV0ZVcGxvYWQuVVBMT0FEX0VSUk9SLkZJ TEVfVkFMSURBVElPTl9GQUlMRUQ6ZXJyb3JfbXNnPSJGaWxlIHZhbGlkYXRpb24g ZmFpbGVkIjticmVhaztjYXNlIFNXRlVwbG9hZC5VUExPQURfRVJST1IuVVBMT0FE X1NUT1BQRUQ6ZXJyb3JfbXNnPSJVcGxvYWQgc3RvcHBlZCI7YnJlYWs7Y2FzZSB0 aGlzLlNDUklCRF9FUlJPUi5JTlZBTElEX0pTT046ZXJyb3JfbXNnPSJUaGVyZSBt YXkgYmUgYSBwcm9ibGVtIHdpdGggdGhlIG5ldHdvcmsgY29ubmVjdGlvbiwgcGxl YXNlIHRyeSBhZ2Fpbi4iO2JyZWFrO2Nhc2UgdGhpcy5TQ1JJQkRfRVJST1IuTk9f RklMRV9JRF9QUkVTRU5UOmVycm9yX21zZz0iTm8gZmlsZSBJRCBwcmVzZW50Ijti cmVhaztkZWZhdWx0OmVycm9yX21zZz0nVW5oYW5kbGVkIEVycm9yOiAnK2Vycm9y X2NvZGU7dGhpcy51cGxvYWRlci5kZWJ1ZygidXBsb2FkIGVycm9yOiAiK2Vycm9y X2NvZGUrIiAiK21zZyk7fQp0aGlzLnVwbG9hZE1hbmFnZXJGb3JGaWxlKGZpbGUp Lm9uRXJyb3IoIigiK25ldyBEYXRlKCkuZ2V0VGltZSgpKyIpOiAiK2Vycm9yX21z Zyk7dGhpcy5zd2ZfdXBsb2FkLnNldEJ1dHRvbkRpc2FibGVkKGZhbHNlKTt9LHVw bG9hZFN1Y2Nlc3M6ZnVuY3Rpb24oZmlsZSxzZXJ2ZXJfZGF0YSxyZXNwb25zZSl7 dmFyIGZpbGVfaW5mbz10aGlzLnBhcnNlU2VydmVyUmVzcG9uc2UoZmlsZSxzZXJ2 ZXJfZGF0YSk7aWYoIWZpbGVfaW5mbylyZXR1cm47dGhpcy51cGxvYWRNYW5hZ2Vy Rm9yRmlsZShmaWxlKS5vblN1Y2Nlc3MoZmlsZV9pbmZvKTt2YXIgc3RhdHM9dGhp cy5zd2ZfdXBsb2FkLmdldFN0YXRzKCk7aWYoc3RhdHMuZmlsZXNfcXVldWVkPjAp e3RoaXMuc3RhcnRVcGxvYWQoKTt9ZWxzZXt0aGlzLnN3Zl91cGxvYWQuc2V0QnV0 dG9uRGlzYWJsZWQoZmFsc2UpO30Kd2luZG93LnRyYWNrRXZlbnQoJ3VwbG9hZCcs dGhpcy50cmFja19ldmVudF9hY3Rpb24sdGhpcy50cmFja19ldmVudF9sYWJlbCww KTt0aGlzLmV2ZW50X2VsZW1lbnQuZmlyZSgnU2NyaWJkOnVwbG9hZF93aWRnZXQ6 dXBsb2FkU3VjY2Vzcycse2ZpbGVfaWQ6ZmlsZS5pZCxkb2NfaWQ6ZmlsZV9pbmZv LmlkLGRvY190aXRsZTpmaWxlX2luZm8udGl0bGV9KTt0aGlzLm51bV9maWxlc19z dWNjZXNzZnVsKz0xO30scGFyc2VTZXJ2ZXJSZXNwb25zZTpmdW5jdGlvbihmaWxl LHNlcnZlcl9kYXRhKXt2YXIgZmlsZV9pbmZvPW51bGw7dHJ5e2ZpbGVfaW5mbz1z ZXJ2ZXJfZGF0YS5ldmFsSlNPTih0cnVlKTt9Y2F0Y2goZSl7dGhpcy5pbnZhbGlk SnNvbkVycm9yKGZpbGUsc2VydmVyX2RhdGEpO3JldHVybiBudWxsO30KaWYoIXRo aXMuaXNWYWxpZEZpbGVJbmZvKGZpbGVfaW5mbykpe3RoaXMuaW52YWxpZEZpbGVJ bmZvRXJyb3IoZmlsZSxzZXJ2ZXJfZGF0YSk7cmV0dXJuIG51bGw7fQpyZXR1cm4g ZmlsZV9pbmZvO30saW52YWxpZEpzb25FcnJvcjpmdW5jdGlvbihmaWxlLHNlcnZl cl9kYXRhKXt0aGlzLnVwbG9hZEVycm9yKGZpbGUsdGhpcy5TQ1JJQkRfRVJST1Iu SU5WQUxJRF9KU09OLCdUaGVyZSBtYXkgYmUgYSBwcm9ibGVtIHdpdGggdGhlIG5l dHdvcmsgY29ubmVjdGlvbiwgcGxlYXNlIHRyeSBhZ2Fpbi4nKTt9LGlzVmFsaWRG aWxlSW5mbzpmdW5jdGlvbihmaWxlX2luZm8pe3JldHVybigoZmlsZV9pbmZvKSYm KGZpbGVfaW5mby5pZCkmJihmaWxlX2luZm8uaWQ+MCkmJihmaWxlX2luZm8uYWNj ZXNzX2tleSkmJihmaWxlX2luZm8uYWNjZXNzX2tleS5sZW5ndGg+MCkpO30saW52 YWxpZEZpbGVJbmZvRXJyb3I6ZnVuY3Rpb24oZmlsZSxzZXJ2ZXJfZGF0YSl7dGhp cy51cGxvYWRFcnJvcihmaWxlLHRoaXMuU0NSSUJEX0VSUk9SLk5PX0ZJTEVfSURf UFJFU0VOVCwnSW52YWxpZCBzZXJ2ZXIgcmVzcG9uc2U6ICcrc2VydmVyX2RhdGEp O30sdXBsb2FkQ29tcGxldGU6ZnVuY3Rpb24oZmlsZSl7dmFyIHVwbG9hZF9tYW5h Z2VyPXRoaXMudXBsb2FkTWFuYWdlckZvckZpbGUoZmlsZSk7dXBsb2FkX21hbmFn ZXIub25Db21wbGV0ZSgpO3RoaXMubnVtX2ZpbGVzX2NvbXBsZXRlZCs9MTtpZih0 aGlzLm51bV9maWxlc19jb21wbGV0ZWQ9PXRoaXMubnVtX2ZpbGVzX3NlbGVjdGVk KXtpZih0aGlzLm51bV9maWxlc19zdWNjZXNzZnVsPT10aGlzLm51bV9maWxlc19z ZWxlY3RlZCl7dGhpcy5ldmVudF9lbGVtZW50LmZpcmUoIlNjcmliZDp1cGxvYWRf d2lkZ2V0OmFsbEZpbGVzU3VjY2Vzc2Z1bCIpO31lbHNle3RoaXMuZXZlbnRfZWxl bWVudC5maXJlKCJTY3JpYmQ6dXBsb2FkX3dpZGdldDpzb21lRmlsZXNVbnN1Y2Nl c3NmdWwiKTt9fQp0aGlzLmV2ZW50X2VsZW1lbnQuZmlyZSgnU2NyaWJkOnVwbG9h ZF93aWRnZXQ6dXBsb2FkQ29tcGxldGUnLHtmaWxlX2lkOmZpbGUuaWR9KTt9LGVu Zm9yY2VDb3B5cmlnaHRXYXJuaW5nOmZ1bmN0aW9uKCRzdXBlcil7aWYod2luZG93 LmNvcHlyaWdodF9tZXNzYWdlX3NlZW4pe3JldHVybiB3aW5kb3cuY29weXJpZ2h0 X2FncmVlZF90bzt9ZWxzZXt3aW5kb3cuY29weXJpZ2h0X21lc3NhZ2Vfc2Vlbj10 cnVlO3JldHVybiAkc3VwZXIoKTt9fSxpc1ByaXZhdGU6ZnVuY3Rpb24oKXtyZXR1 cm4gdGhpcy5pc19wcml2YXRlO30sc3RhcnRVcGxvYWRPckNyZWF0ZUFub255bW91 c1VzZXI6ZnVuY3Rpb24oKXtpZih0aGlzLnVwbG9hZF91cmwpe3RoaXMuc3RhcnRV cGxvYWQoKTt9ZWxzZXtuZXcgQWpheC5SZXF1ZXN0KHRoaXMudXNlcl9jcmVhdGlv bl91cmwse2FzeW5jaHJvbm91czp0cnVlLGV2YWxTY3JpcHRzOnRydWUscGFyYW1l

dGVyczp7ZnJvbTp0aGlzLnVzZXJfY3JlYXRpb25fc291cmNlfSxvblN1Y2Nlc3M6 dGhpcy5hbm9ueW1vdXNVc2VyQ3JlYXRlZC5iaW5kKHRoaXMpLG9uRmFpbHVyZTp0 aGlzLmFub255bW91c1VzZXJDcmVhdGlvbkZhaWxlZC5iaW5kKHRoaXMpfSk7fX0s YW5vbnltb3VzVXNlckNyZWF0ZWQ6ZnVuY3Rpb24odHJhbnNwb3J0KXt2YXIgZGF0 YT10cmFuc3BvcnQucmVzcG9uc2VUZXh0LmV2YWxKU09OKCk7dmFyIHVwbG9hZF91 cmw9ZGF0YS51cGxvYWRfdXJsO2lmKHVwbG9hZF91cmwmJiF1cGxvYWRfdXJsLmJs YW5rKCkpe3RoaXMudXBsb2FkX3VybD11cGxvYWRfdXJsO3RoaXMuc3dmX3VwbG9h ZC5zZXRVcGxvYWRVUkwodXBsb2FkX3VybCk7dGhpcy5zdGFydFVwbG9hZCgpO31l bHNle3RoaXMuYW5vbnltb3VzVXNlckNyZWF0aW9uRmFpbGVkKHRyYW5zcG9ydCk7 fX0sYW5vbnltb3VzVXNlckNyZWF0aW9uRmFpbGVkOmZ1bmN0aW9uKHRyYW5zcG9y dCl7dmFyIHJhd1RleHQ9dHJhbnNwb3J0LnJlc3BvbnNlVGV4dDt0aGlzLnVwbG9h ZGVyLnNldEJ1dHRvbkRpc2FibGVkKHRydWUpO3RoaXMudXBsb2FkX21hbmFnZXJf YnlfZmlsZV9pZC5lYWNoKGZ1bmN0aW9uKGl0ZW0pe3ZhciB1cGxvYWRfbWFuYWdl cj1pdGVtLnZhbHVlO3VwbG9hZF9tYW5hZ2VyLm9uRXJyb3IoJ1JlZ2lzdHJhdGlv biBmYWlsZWQuJyk7fSk7dGhpcy5zaG93QW5vbnltb3VzVXNlckNyZWF0aW9uRmFp bGVkKHJhd1RleHQpO30sc2hvd0Fub255bW91c1VzZXJDcmVhdGlvbkZhaWxlZDpm dW5jdGlvbihyYXdUZXh0KXskJCgnLnV3X2Fub255bW91c191c2VyX2NyZWF0aW9u X2ZhaWxlZCcpLmVhY2goZnVuY3Rpb24oZSl7ZS5zaG93KCk7fSk7fSxzdGFydFVw bG9hZDpmdW5jdGlvbigpe3RoaXMuc2V0UG9zdFBhcmFtKCdvdmVycmlkZV9jb29r aWVzJyx0aGlzLmdldEJyb3dzZXJDb29raWVzKCkpO3RoaXMuc2V0UG9zdFBhcmFt KCdvdmVycmlkZV91dWlkJyx0aGlzLmdldEJyb3dzZXJVdWlkKCkpO3RoaXMuc2V0 UG9zdFBhcmFtKCdwcml2YXRlX2ZsYWcnLHRoaXMuaXNQcml2YXRlKCkpO3RoaXMu c2V0UG9zdFBhcmFtKCdzb3VyY2UnLHRoaXMudXBsb2FkX3NvdXJjZSk7dGhpcy5z d2ZfdXBsb2FkLnN0YXJ0VXBsb2FkKCk7fSxnZXRCcm93c2VyVXVpZDpmdW5jdGlv bigpe3JldHVybiBTY3JpYmQuZ2V0QnJvd3NlclV1aWQoKTt9LGdldEJyb3dzZXJD b29raWVzOmZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LmNvb2tpZTt9LGFkZEZp bGVIVE1MOmZ1bmN0aW9uKGRvbV9lbGVtZW50KXt2YXIgdXBsb2FkX3N0YXR1c19k b209JCh0aGlzLnVwbG9hZF9zdGF0dXNfZG9tX2lkKTt1cGxvYWRfc3RhdHVzX2Rv bS5pbnNlcnQoe3RvcDpkb21fZWxlbWVudH0pO30sY2FuY2VsVXBsb2FkOmZ1bmN0 aW9uKGZpbGUpe3RoaXMuc3dmX3VwbG9hZC5jYW5jZWxVcGxvYWQoZmlsZS5pZCxm YWxzZSk7fSxzZXRQb3N0UGFyYW06ZnVuY3Rpb24oa2V5LHZhbHVlKXt0aGlzLnN3 Zl91cGxvYWQucmVtb3ZlUG9zdFBhcmFtKGtleSk7dGhpcy5zd2ZfdXBsb2FkLmFk ZFBvc3RQYXJhbShrZXksdmFsdWUpO30sdXBsb2FkTWFuYWdlckZvckZpbGU6ZnVu Y3Rpb24oZmlsZSl7cmV0dXJuIHRoaXMudXBsb2FkX21hbmFnZXJfYnlfZmlsZV9p ZFtmaWxlLmlkXTt9fSk7CgoKLyogOmZpbGVzLCAnYXBwL3ZpZXdzJywgLi4uIEAg KG5vbmUpICovCg== ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline; filename=favicon.ico Content-Type: image/x-icon; name=favicon.ico Content-Location: http://s6.scribdassets.com/favicon.ico Content-Transfer-Encoding: Base64 AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAA AAAAAAAAAAAAAAAAAAD///8AGBsh/xcaIf8WGSD/Fhoh/xYaIf8WGST/FRgj/xYZ IP8VGh7/Fhoh/xYZJP8XGiH/Fxoh/xUZIP////8AGRwn/xgbJv8ZHCf/Gh0o/xUY I/8KDhX/Cg0U/w4RF/8JDxb/CAwT/xQYH/8MFB7/CREg/xQaIf8aHSj/Fx0n/xwe LP8bICz/GiAq/xMZI/8TFh3/YWJo/6utrv/Exsb/ubrA/35+hv8aHST/SkMn/1lR MP8YGyL/GRwn/x0eLP8fIi3/HCIs/xgeKP8aHiX/dXh+/////////////f////3/ ///7+v3/R0U5/9e7K//ryhr/VVE1/xIWJf8eISz/HyUs/x4kLv8QFiD/SUxS//// //////3/oqSl/0lMU/9ucHH/4uHk/09PT//Atir/59dF/0RDNP8TGCj/HyUv/yEn Mf8hJzH/FBok/11haP/9/////f///0lMUv8AAQz/AAAB/+vs6f/N0Nb/SUtL/ygt Kv8WHij/ICkt/yIlMP8kKTX/JCk1/yEnMf8fJS//SUxS/11gZ/8MDxb/JCcu/21w d//r7On///7//6Worv8MEB//Iyg0/yMpM/8iJzf/Jio5/yYrN/8mLDb/Iykz/wcN F/8qLTj/mZqg/+fn5//9///////9/+/y7/9GSlH/HCIs/yYrN/8pKzn/Jis3/yku O/8nLjv/Ji06/xshK/9VWF//7Ovu////////////+/n5/7Kzuf88P0r/GB0p/ygu OP8rLjn/KS85/yYtOv8rMD3/KC88/yctN/8jJjH/0dLY//7+/v/u7u7/iYuM/zg9 Qf8bHiT/MzY9/yAmMP8oLTn/Ki87/yovO/8qLzv/LDE+/y0yP/8mLDb/MzY9/+3v 8P//////b3Fy/wAAB/8RFyH/xcjO//L09f91eH7/HSIu/yoxPv8sMT7/LDE+/y80 Qf8tMj//Ki87/ycqNf/Y2tv////9/7S0tP9CQ0n/aWlx//////////3/q6yy/xsh

K/8sM0D/LTM9/y0yP/8vNEH/LzRB/ywzQP8eJC7/bnF3//v9/f///////v3////+ //////3/8fHx/1RXXv8jKDT/LDQ+/zA2QP8wNUL/MTZD/zE2Q/8uNUL/LDNA/yAm MP9dYGb/t7m6/9ja2//S1NX/pamq/0lOUv8hJjL/LTRB/zI3RP8xNkP/MTZD/zI3 RP8yOEL/MDhC/zA3RP8wNUL/JSgz/yImLf8rLzb/Jy00/x4kK/8mLDb/MDdE/zA3 RP8xNkP/MzhF/zI3RP////8ANDpE/zU7Rf80OkT/MzhF/zQ5Rv8yN0T/LTRB/y41 Qv8zOEX/NTdF/zQ6RP8yOkT/NDlG/zI5Rv////8AgAEAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAEAAA== ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline; filename=ads.js Content-Type: application/x-javascript; charset=utf-8; name=ads.js Content-Location: http://s6.scribdassets.com/javascripts/ads.js?1348517579 Content-Transfer-Encoding: Base64 Ly9OT1RFOiAgTk8gUFJPVE9UWVBFIElOIEFEUy5KUyEgIChiZWNhdXNlIG9mIC9t b2JpbGUgYW5kIG5ld2hvbWUhKQppZiAoIXdpbmRvdy5TY3JpYmQpIHZhciBTY3Jp YmQgPSB7fTsKaWYgKCFTY3JpYmQuQWRzKSBTY3JpYmQuQWRzID0ge307CgpTY3Jp YmQuQWRzLmF0dHJpYnV0ZXMgPSB7fTsKClNjcmliZC5BZHMuYWRkQXR0cmlidXRl ID0gZnVuY3Rpb24obmFtZSwgdmFsdWUpIHsKICBpZiAodmFsdWUgIT09IHVuZGVm aW5lZCkgewogICAgdmFyIGF0dHJpYnV0ZXMgPSBTY3JpYmQuQWRzLmF0dHJpYnV0 ZXNbbmFtZV0gPSBTY3JpYmQuQWRzLmF0dHJpYnV0ZXNbbmFtZV0gfHwgW107Cgog ICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQXJyYXkpIHsKICAgICAgYXR0cmlidXRl cy5wdXNoLmFwcGx5KGF0dHJpYnV0ZXMsIHZhbHVlKTsKICAgIH0KICAgIGVsc2Ug ewogICAgICBhdHRyaWJ1dGVzLnB1c2godmFsdWUpOwogICAgfQogIH0KfTsKCi8v dXNlZnVsIGZvciBhZCBsYXlvdXQgdHJhY2tpbmcuIEVuc3VyZXMgdGhhdCB0aGUg YXR0cmlidXRlcyBpdCBhZGRzIHRvIGhhcyBvbmx5IG9uZSB2YWx1ZS4KLy9pZiB0 aGUgbmV3IHZhbHVlIGlzIHNtYWxsZXIsIGl0IG92ZXJ3cml0ZXMgdGhlIHZhbHVl LgpTY3JpYmQuQWRzLmFkZEF0dHJpYnV0ZUlmU21hbGxlciA9IGZ1bmN0aW9uIChu YW1lLCB2YWx1ZSkgewogIHZhciBhdHRyaWJ1dGVzID0gU2NyaWJkLkFkcy5hdHRy aWJ1dGVzW25hbWVdOwogIGlmICghYXR0cmlidXRlcykgewogICAgU2NyaWJkLkFk cy5hZGRBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOwogIH0gZWxzZSBpZiAoYXR0cmli dXRlcy5sZW5ndGggPiAxKSB7CiAgICB0aHJvdyAiY2FuJ3QgdXNlIFNjcmliZC5B ZHMuYWRkQXR0cmlidXRlSWZTbWFsbGVyIGZvciBhdHRyaWJ1dGVzLCAnIituYW1l KyInIHdpdGggbXVsdGlwbGUgdmFsdWVzIjsKICB9IGVsc2UgewogICAgaWYgKHZh bHVlIDwgYXR0cmlidXRlc1swXSkgewogICAgICBTY3JpYmQuQWRzLmF0dHJpYnV0 ZXNbbmFtZV1bMF0gPSB2YWx1ZTsKICAgIH0KICB9Cn07CgpTY3JpYmQuQWRzLmVu YWJsZUFkcyA9IGZ1bmN0aW9uKCkgewogIFNjcmliZC5BZHMubWF4X2JldHdlZW5f cGFnZSA9IDIxOwoKICAvL1RISVMgQ09ERSBJUyBIRVJFIEFTIEEgV0FSTklORyEK ICAvLyBpbiB0aGUgcGFzdCwgdXNpbmcgZ3B0IHRvIHJlZnJlc2ggYWRzIHdvdWxk CiAgLy8gbm90IGFjdHVhbGx5IGZpbGwgYWRzIGFmdGVyIGEgZmV3IHJlZnJlc2hl cy4KICAvLyBzbyBydW4gYSB0ZXN0IGJlZm9yZSBhY3R1YWxseSB1c2luZyB0aGlz Li4uCgogIFNjcmliZC5BZHMuR1BUUmVmcmVzaFVuaXQgPSBmdW5jdGlvbiAobmFt ZSkgewogICAgLy9sb29rIGF0IHJlZiAxODk5NTQyZjMwNDJmM2IxODVhZTY3MGQ2 OGU0MzhkZGYzYTg3ZjI5IGZvciBpbXBsZW1lbnRhdGlvbiAoMTMyLTE2MikKICB9 OwoKICAvLyBhYnN0cmFjdGlvbiBmb3IgcmVmcmVzaFVuaXQgb2JqZWN0cy4uLgog IFNjcmliZC5BZHMuUmVmcmVzaFVuaXQgPSBmdW5jdGlvbihuYW1lKSB7CiAgICB2 YXIgcGFyYW1zOwogICAgU2NyaWJkLkFkcy5SZWZyZXNoVW5pdC5hbGxbbmFtZV0g PSB0aGlzOwogICAgcGFyYW1zID0gU2NyaWJkLkFkcy5zZXR1cElmcmFtZVVuaXQo bmFtZSk7CiAgICB0aGlzLndpZHRoID0gcGFyYW1zLnNpemVbMF07CiAgICB0aGlz LmhlaWdodCA9IHBhcmFtcy5zaXplWzFdOwogICAgdGhpcy51cmxfcGFyYW1zID0g cGFyYW1zLnVybF9wYXJhbXM7CiAgICB0aGlzLm5hbWUgPSBuYW1lOwoKICAgIFNj cmliZC5BZHMub2JzZXJ2ZVVzZXJBY3Rpdml0eSgpOwoKICAgIHRoaXMubGlzdGVu Rm9ySG92ZXIoKTsKICAgIHRoaXMubGFzdFJlZnJlc2hlZCA9IDA7CiAgICB0aGlz LnNldHVwUmVmcmVzaCgpOwogIH07CgogIFNjcmliZC5BZHMuUmVmcmVzaFVuaXQu cHJvdG90eXBlID0gewogICAgY29udGFpbmVyOiBmdW5jdGlvbigpIHsKICAgICAg cmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMubmFtZSArICdfY29u dGFpbmVyJyk7CiAgICB9LAogICAgc2V0dXBSZWZyZXNoOiBmdW5jdGlvbigpIHsK ICAgICAgdGhpcy50aW1lc1JlZnJlc2hlZCA9IDA7CiAgICAgIHRoaXMudGltZXIg PSBudWxsOwogICAgICB0aGlzLnNldE5leHRSZWZyZXNoKCk7CiAgICB9LAogICAg bGlzdGVuRm9ySG92ZXI6IGZ1bmN0aW9uKCkgewogICAgICB2YXIgc2VsZiA9IHRo

aXM7CiAgICAgIHRoaXMuaXNPdmVyID0gZmFsc2U7CiAgICAgIC8vIG9ubHkgaGF2 ZSAnb2JzZXJ2ZScgd2hlbiBub3QgaW4gbW9iaWxlLgogICAgICBpZiggdGhpcy5j b250YWluZXIoKS5vYnNlcnZlICkgewogICAgICAgIHRoaXMuY29udGFpbmVyKCku b2JzZXJ2ZSgnbW91c2VlbnRlcicsIGZ1bmN0aW9uKCkgewogICAgICAgICAgc2Vs Zi5pc092ZXIgPSB0cnVlOwogICAgICAgIH0pLm9ic2VydmUoJ21vdXNlbGVhdmUn LCBmdW5jdGlvbigpIHsKICAgICAgICAgIHNlbGYuaXNPdmVyID0gZmFsc2U7CiAg ICAgICAgfSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgc2VsZi5pc092ZXIgPSBm YWxzZTsKICAgICAgfQogICAgfSwKICAgIGdldER1cmF0aW9uOiBmdW5jdGlvbigp IHsKICAgICAgaWYodGhpcy5fZHVyYXRpb24pCiAgICAgICAgcmV0dXJuIHRoaXMu X2R1cmF0aW9uOwogICAgICBlbHNlCiAgICAgICAgcmV0dXJuIFNjcmliZC5BZHMu cmVmcmVzaEludGVydmFsICogMTAwMDsKICAgIH0sCiAgICByZXNldER1cmF0aW9u OiBmdW5jdGlvbigpIHsKICAgICAgZGVsZXRlKHRoaXMuX2R1cmF0aW9uKTsKICAg ICAgcmV0dXJuIHRoaXMuZ2V0RHVyYXRpb24oKTsKICAgIH0sCgogICAgZHVyYXRp b246IGZ1bmN0aW9uKG5ld0R1cmF0aW9uKSB7CiAgICAgIGlmKHR5cGVvZihuZXdE dXJhdGlvbikgPT09ICdudW1iZXInKSB7CiAgICAgICAgaWYgKG5ld0R1cmF0aW9u IDwgMTAwMCkKICAgICAgICAgIG5ld0R1cmF0aW9uICo9IDEwMDA7CiAgICAgICAg Ly9zZXQgdGhlIGR1cmF0aW9uCiAgICAgICAgdGhpcy5fZHVyYXRpb24gPSBuZXdE dXJhdGlvbjsKICAgICAgICB0aGlzLnNldE5leHRSZWZyZXNoKCk7CiAgICAgICAg Ly9hbmQgcmVzZXQgdGhlIHRpbWVyCiAgICAgIH0KICAgICAgcmV0dXJuIHRoaXMu Z2V0RHVyYXRpb24oKTsKICAgIH0sCgogICAgc3RvcFJlZnJlc2hpbmc6IGZ1bmN0 aW9uKCkgewogICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lcik7CiAgICAgIGRl bGV0ZSh0aGlzLnRpbWVyKTsKICAgIH0sCgogICAgc2V0TmV4dFJlZnJlc2g6IGZ1 bmN0aW9uKCkgewogICAgICB2YXIgdGltZUxlZnQsIHNlbGY7CiAgICAgIHRoaXMu c3RvcFJlZnJlc2hpbmcoKTsKICAgICAgc2VsZiA9IHRoaXM7CiAgICAgIC8vaXMg aXQgdGltZSB5ZXQ/CgogICAgICB0aW1lTGVmdCA9IHRoaXMuZHVyYXRpb24oKSAt ICgobmV3IERhdGUoKSkuZ2V0VGltZSgpIC0gdGhpcy5sYXN0UmVmcmVzaGVkKTsK ICAgICAgaWYodGltZUxlZnQgPD0gMCkgewogICAgICAgIHRoaXMucmVmcmVzaCgp OwogICAgICAgIHRpbWVMZWZ0ID0gMTAwMDA7IC8vdGltZW91dCBmb3IgYWQgbG9h ZGluZwogICAgICB9CgogICAgICB0aGlzLnRpbWVyID0gc2V0VGltZW91dChmdW5j dGlvbigpIHsgc2VsZi5zZXROZXh0UmVmcmVzaCgpOyB9LCB0aW1lTGVmdCk7CiAg ICB9LAoKICAgIHJlZnJlc2g6IGZ1bmN0aW9uKCkgewogICAgICAvL3Rocm93IHJl ZnJlc2ggaW4gaGVyZS4uLgogICAgICBpZiAoKFNjcmliZC5BZHMudXNlcklzQWN0 aXZlIHx8ICFTY3JpYmQuQWRzLnRyYWNrRW5nYWdlbWVudCkgJiYKICAgICAgICAh dGhpcy5pc092ZXIpIHsKICAgICAgICAvL2ludmFsaWRhdGluZyBsYXN0UmVmcmVz aGVkLCB3aGljaCBzaG91bGQgYmUgc2V0IGZyb20gYWRfcmVmcmVzaGVyCiAgICAg ICAgdGhpcy5yZXNldER1cmF0aW9uKCk7CiAgICAgICAgdGhpcy5sYXN0UmVmcmVz aGVkID0gbnVsbDsKICAgICAgICB0aGlzLmFjdHVhbGx5UmVmcmVzaCgpOwogICAg ICB9CiAgICB9LAoKICAgIGFjdHVhbGx5UmVmcmVzaDogZnVuY3Rpb24oKSB7CiAg ICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgc2V0VGltZW91dChmdW5jdGlvbigp IHsKICAgICAgICBTY3JpYmQuQWRzLnJlcGxhY2VJZnJhbWUoc2VsZi5uYW1lLCBz ZWxmLndpZHRoLCBzZWxmLmhlaWdodCwgc2VsZi51cmxfcGFyYW1zKTsKICAgICAg fSwgMCk7CiAgICB9LAoKICAgIC8vY2FsbGVkIGZyb20gYWRfcmVmcmVzaGVyCiAg ICBpZnJhbWVMb2FkZWQ6ICBmdW5jdGlvbigpIHsKICAgICAgdGhpcy5sYXN0UmVm cmVzaGVkID0gKG5ldyBEYXRlKCkpLmdldFRpbWUoKTsKICAgICAgdGhpcy50aW1l c1JlZnJlc2hlZCArPSAxOwogICAgfQogIH07CgogIFNjcmliZC5BZHMuUmVmcmVz aFVuaXQuZ2V0ID0gU2NyaWJkLkFkcy5SZWZyZXNoVW5pdC5hbGwgPSB7fTsKICBT Y3JpYmQuQWRzLnF1ZXVlZEZvckRpc3BsYXkgPSB7fTsKICBTY3JpYmQuQWRzLmRp c3BsYXllZEFkVW5pdHMgPSB7fTsKCiAgLy90aGlzIGlzIGZvciBob21lcGFnZSB3 aGljaCBkb2Vzbid0IHVzZSBwcm90b3R5cGUKICBpZih3aW5kb3cualF1ZXJ5KSB7 CiAgICBTY3JpYmQuQWRzLm9ic2VydmUgPSBmdW5jdGlvbih0YXJnZXQsIGV2ZW50 X25hbWUsIGNhbGxiYWNrKSB7CiAgICAgICQodGFyZ2V0KS5iaW5kKGV2ZW50X25h bWUsIGNhbGxiYWNrKTsKICAgIH07CiAgICBTY3JpYmQuQWRzLmZpcmUgPSBmdW5j dGlvbih0YXJnZXQsIGV2ZW50X25hbWUpIHsKICAgICAgJCh0YXJnZXQpLnRyaWdn ZXIoZXZlbnRfbmFtZSk7CiAgICB9OwogIH0KICBlbHNlIGlmKHdpbmRvdy5Qcm90 b3R5cGUpIHsKICAgIFNjcmliZC5BZHMub2JzZXJ2ZSA9IEV2ZW50Lm9ic2VydmU7 CiAgICBTY3JpYmQuQWRzLmZpcmUgPSBmdW5jdGlvbih0YXJnZXQsIGV2ZW50X25h bWUpIHsKICAgICAgdGFyZ2V0LmZpcmUoZXZlbnRfbmFtZSk7CiAgICB9OwogIH0K CgoKICBTY3JpYmQuQWRzLmFkZFVuaXQgPSBmdW5jdGlvbih1bml0X25hbWUsIG5v ZGVfaWQsIGRlbGF5X29yX2xvYWRfZXZlbnQsIG5vbl9jb2xsYXBzaW5nKSB7CiAg ICB2YXIgc2l6ZSA9IHVuaXRfbmFtZS5tYXRjaCgvLipfKFxkKyl4KFxkKykvKS5z

bGljZSgxKTsKICAgIG5vZGVfaWQgPSBub2RlX2lkIHx8IHVuaXRfbmFtZSArICdf Y29udGFpbmVyJzsKICAgIHZhciBub2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 SWQobm9kZV9pZCk7CiAgICBpZiAoIW5vbl9jb2xsYXBzaW5nKSB7CiAgICAgIGlm IChTY3JpYmQuQWRzLmVuYWJsZWQpIHsKICAgICAgICBub2RlLnN0eWxlLndpZHRo ID0gc2l6ZVswXSArICJweCI7CiAgICAgICAgbm9kZS5zdHlsZS5oZWlnaHQgPSBz aXplWzFdICsgInB4IjsKICAgICAgfQogICAgICBlbHNlIHsKICAgICAgICBub2Rl LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CiAgICAgIH0KICAgIH0KCiAgICBTY3Jp YmQuQWRzLnF1ZXVlZEZvckRpc3BsYXlbbm9kZV9pZF0gPSB0cnVlOwoKICAgIC8v bm90IHRvIGJlIGNhbGxlZCBkaXJlY3RseSwgZGVmaW5lZAogICAgdmFyIHNob3dB ZEZ1bmMgPSBmdW5jdGlvbigpIHsKICAgICAgaWYoIFNjcmliZC5BZHMuZGlzcGxh eWVkQWRVbml0c1tub2RlX2lkXSApIHsKICAgICAgICByZXR1cm47CiAgICAgIH0K ICAgICAgZWxzZSB7CiAgICAgICAgU2NyaWJkLkFkcy5kaXNwbGF5ZWRBZFVuaXRz W25vZGVfaWRdID0gdHJ1ZTsKICAgICAgICBkZWxldGUgU2NyaWJkLkFkcy5xdWV1 ZWRGb3JEaXNwbGF5W25vZGVfaWRdOwogICAgICAgIGlmIChnb29nbGV0YWcuY21k IGluc3RhbmNlb2YgQXJyYXkpCiAgICAgICAgICBnb29nbGV0YWcuY21kLnB1c2go ZnVuY3Rpb24gKCkge2dvb2dsZXRhZy5kaXNwbGF5KG5vZGVfaWQpO30pOwogICAg ICAgIGVsc2UKICAgICAgICAgIGdvb2dsZXRhZy5kaXNwbGF5KG5vZGVfaWQpOwog ICAgICB9CiAgICB9OwoKICAgIC8vaGFuZGxlIGxhdGUgbG9hZGluZyBhZHMuLi4K ICAgIGlmKGRlbGF5X29yX2xvYWRfZXZlbnQpIHsKICAgICAgaWYgKHR5cGVvZihk ZWxheV9vcl9sb2FkX2V2ZW50KSA9PT0gJ3N0cmluZycpIHsKICAgICAgICBTY3Jp YmQuQWRzLm9ic2VydmUoZG9jdW1lbnQsIGRlbGF5X29yX2xvYWRfZXZlbnQsIGZ1 bmN0aW9uICgpIHsKICAgICAgICAgIHNob3dBZEZ1bmMoKTsKICAgICAgICB9KTsK ICAgICAgfQogICAgICBlbHNlIHsKICAgICAgICBTY3JpYmQuQWRzLm9ic2VydmUo ZG9jdW1lbnQsICdzY3JpYmQ6bG9hZF9hZHMnLCBmdW5jdGlvbiAoKSB7CiAgICAg ICAgICBzZXRUaW1lb3V0KHNob3dBZEZ1bmMsIDUwKTsKICAgICAgICB9KTsKICAg ICAgfQogICAgfQogICAgZWxzZSB7CiAgICAgIHNob3dBZEZ1bmMoKTsKICAgIH0K ICB9OwoKICBTY3JpYmQuQWRzLmJldHdlZW5Vbml0Rm9yUGFnZSA9IGZ1bmN0aW9u KHBhZ2VfbnVtKSB7CiAgICB2YXIgbmFtZTsKICAgIGlmIChwYWdlX251bSA9PSAx KQogICAgICByZXR1cm4gewogICAgICAgIHVuaXQ6ICdEb2NfQmV0d2Vlbl9Ub3Bf RnVsbEJhbm5lcl80Njh4NjAnLAogICAgICAgIHNob3VsZF9oaWRlOiBmYWxzZSwK ICAgICAgICBsb2FkX2V2ZW50OiB0cnVlCiAgICAgIH07CiAgICBlbHNlIGlmIChw YWdlX251bSA9PSAyKQogICAgICByZXR1cm4gewogICAgICAgIHVuaXQ6ICdEb2Nf QmV0d2Vlbl9MZWFkZXJib2FyZF9CVEZfNjc5eDI1MCcsCiAgICAgICAgc2hvdWxk X2hpZGU6IGZhbHNlLAogICAgICAgIGxvYWRfZXZlbnQ6IHRydWUKICAgICAgfTsK ICAgIGVsc2UgaWYgKHBhZ2VfbnVtICUgMiA9PSAxICYmIHBhZ2VfbnVtIDw9IDIx KQogICAgICByZXR1cm4gewogICAgICAgIHVuaXQ6ICdEb2NfQmV0d2Vlbl9MZWFk ZXJib2FyZF9CVEZfNzI4eDkwXycgKyBwYWdlX251bSwKICAgICAgICBzaG91bGRf aGlkZTogZmFsc2UsCiAgICAgICAgbG9hZF9ldmVudDogdHJ1ZQogICAgICB9Owog IH07CgogIFNjcmliZC5BZHMuYWRkQmV0d2VlblBhZ2VVbml0ID0gZnVuY3Rpb24o cGFnZV9udW0pIHsKCiAgICBpZiAoU2NyaWJkLkFkcy5hdHRyaWJ1dGVzLkFkTGF5 b3V0WzBdIDw9IDEpIHsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIGlmIChuYXZp Z2F0b3IudXNlckFnZW50Lm1hdGNoKC9pUGFkL2kpKQogICAgICByZXR1cm47Cgog ICAgLy8gZG9uJ3Qgc2hvdyBhZHMgb24gcGFpZCBkb2MKICAgIGlmIChTY3JpYmQu Y3VycmVudF9kb2MgJiYgU2NyaWJkLmN1cnJlbnRfZG9jLmlzX3BhaWQpCiAgICAg IHJldHVybjsKCgogICAgdmFyIHVuaXQgPSBTY3JpYmQuQWRzLmJldHdlZW5Vbml0 Rm9yUGFnZShwYWdlX251bSk7CiAgICBpZiAoIXVuaXQpIHJldHVybjsKICAgIHZh ciBhZF9jb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmV0d2Vl bl9wYWdlX2Fkc18nICsgcGFnZV9udW0pOwogICAgdmFyIGlubmVyX2NvbnRhaW5l ciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgaW5uZXJfY29u dGFpbmVyLmlkID0gJ2JldHdlZW5fcGFnZV9hZHNfaW5uZXJfJyArIHBhZ2VfbnVt OwogICAgYWRfY29udGFpbmVyLmFwcGVuZENoaWxkKGlubmVyX2NvbnRhaW5lcik7 CgogICAgaWYodW5pdC5zaG91bGRfaGlkZSkKICAgICAgYWRfY29udGFpbmVyLnN0 eWxlLmRpc3BsYXkgPSAnbm9uZSc7CgogICAgU2NyaWJkLkFkcy5hZGRVbml0KHVu aXQudW5pdCwgaW5uZXJfY29udGFpbmVyLmlkLCB1bml0LmxvYWRfZXZlbnQpOwog IH07CgogIFNjcmliZC5BZHMuc2V0dXBJZnJhbWVVbml0ID0gZnVuY3Rpb24obmFt ZSkgewogICAgdmFyIHVybF9wYXJhbXMsIHNpemU7CiAgICB1cmxfcGFyYW1zID0g J2FkX3VuaXQ9JyArIGVzY2FwZShuYW1lKTsKICAgIHNpemUgPSBuYW1lLm1hdGNo KC8uKl8oXGQrKXgoXGQrKSQvKQogICAgICAgICAgICAgICAuc2xpY2UoMSkKICAg ICAgICAgICAgICAgLm1hcChmdW5jdGlvbihmKXtyZXR1cm4gcGFyc2VJbnQoZiwx MCk7fSk7CgoKICAgIHJldHVybiB7IHNpemU6IHNpemUsIHVybF9wYXJhbXM6IHVy

bF9wYXJhbXMgfTsKICB9OwoKICBTY3JpYmQuQWRzLmFkZFBhc3NiYWNrVW5pdCA9 IGZ1bmN0aW9uKG5hbWUsIHJlcGxhY2luZ05hbWUpIHsKICAgIHZhciBwYXJhbXMg PSBTY3JpYmQuQWRzLnNldHVwSWZyYW1lVW5pdChuYW1lKTsKICAgIFNjcmliZC5B ZHMucmVwbGFjZUlmcmFtZShyZXBsYWNpbmdOYW1lLCBwYXJhbXMuc2l6ZVswXSwg cGFyYW1zLnNpemVbMV0sIHBhcmFtcy51cmxfcGFyYW1zLCAwKTsKICB9OwoKICBT Y3JpYmQuQWRzLmFkZFJlZnJlc2hVbml0ID0gZnVuY3Rpb24obmFtZSkgewogICAg aWYgKFNjcmliZC5BZHMuYXR0cmlidXRlcy5BZExheW91dFswXSA8PSAxKSB7CiAg ICAgIHJldHVybjsKICAgIH0KICAgIGVsc2UgewogICAgICByZXR1cm4gbmV3IFNj cmliZC5BZHMuUmVmcmVzaFVuaXQobmFtZSk7CiAgICB9CiAgfTsKCiAgU2NyaWJk LkFkcy5yZXBsYWNlSWZyYW1lID0gZnVuY3Rpb24obmFtZSwgd2lkdGgsIGhlaWdo dCwgdXJsX3BhcmFtcykgewogICAgdmFyIGlmcmFtZSwgY29udGFpbmVyLCBpbnRl cnZhbDsKICAgIGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG5h bWUgKyAnX2NvbnRhaW5lcicpOwogICAgaWYoY29udGFpbmVyICYmIGNvbnRhaW5l ci5oYXNDaGlsZE5vZGVzKCkpCiAgICAgIGNvbnRhaW5lci5wYXJlbnROb2RlLnJl cGxhY2VDaGlsZChjb250YWluZXIuY2xvbmUoZmFsc2UpLCBjb250YWluZXIpOwoK ICAgIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwog ICAgaWZyYW1lLndpZHRoID0gd2lkdGg7CiAgICBpZnJhbWUuaGVpZ2h0ID0gaGVp Z2h0OwogICAgaWZyYW1lLnNjcm9sbGluZyA9ICdubyc7CiAgICBpZnJhbWUuZnJh bWVCb3JkZXIgPSAwOwogICAgaWZyYW1lLm1hcmdpbldpZHRoID0gMDsKICAgIGlm cmFtZS5tYXJnaW5IZWlnaHQgPSAwOwogICAgaWZyYW1lLmFsbG93VHJhbnNwYXJl bmN5ID0gdHJ1ZTsKICAgIGlmcmFtZS5zcmMgPSAnL2FkX3JlZnJlc2hlci5odG1s IycgKyB1cmxfcGFyYW1zOwogICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGlmcmFt ZSk7CiAgfTsKCiAgdmFyIGdldF9zZXJ2ZXJfb3B0aW9uID0gZnVuY3Rpb24obmFt ZSwgZGVmYXVsdF92YWx1ZSkgewogICAgaWYgKHR5cGVvZiBTY3JpYmQuU2VydmVy T3B0aW9ucyA9PSAndW5kZWZpbmVkJyB8fCBldmFsKCd0eXBlb2YgU2NyaWJkLlNl cnZlck9wdGlvbnMuJyArIG5hbWUpID09ICd1bmRlZmluZWQnKQogICAgICByZXR1 cm4gZGVmYXVsdF92YWx1ZTsKCiAgICByZXR1cm4gZXZhbCgnU2NyaWJkLlNlcnZl ck9wdGlvbnMuJyArIG5hbWUpOwogIH07CgogIFNjcmliZC5BZHMudHJhY2tFbmdh Z2VtZW50ID0gZmFsc2U7CiAgU2NyaWJkLkFkcy51c2VySXNBY3RpdmUgPSBmYWxz ZTsKICBTY3JpYmQuQWRzLmluYWN0aXZpdHlUaW1lciA9IG51bGw7CiAgU2NyaWJk LkFkcy5pZGxlVGltZUJlZm9yZUluYWN0aXZlID0gZ2V0X3NlcnZlcl9vcHRpb24o J2FkX3JlZnJlc2hfaWRsZV90aW1lX2JlZm9yZV9pbmFjdGl2ZScsIDYwKTsKICBT Y3JpYmQuQWRzLnJlZnJlc2hJbnRlcnZhbCA9IGdldF9zZXJ2ZXJfb3B0aW9uKCdh ZF9yZWZyZXNoX2ludGVydmFsJywgNjApOwogIFNjcmliZC5BZHMuZGVsYXlCZWZv cmVUcmFja2luZ0VuZ2FnZW1lbnQgPSBnZXRfc2VydmVyX29wdGlvbignYWRfcmVm cmVzaF9lbmdhZ2VtZW50X3RyYWNraW5nX2RlbGF5JywgMCk7CgogIHNldFRpbWVv dXQoZnVuY3Rpb24oKSB7CiAgICBTY3JpYmQuQWRzLnRyYWNrRW5nYWdlbWVudCA9 IHRydWU7CiAgfSwgU2NyaWJkLkFkcy5kZWxheUJlZm9yZVRyYWNraW5nRW5nYWdl bWVudCAqIDEwMDApOwoKICBTY3JpYmQuQWRzLm9uVXNlckFjdGl2aXR5ID0gZnVu Y3Rpb24oKSB7CiAgICBTY3JpYmQuQWRzLnVzZXJJc0FjdGl2ZSA9IHRydWU7CiAg ICBjbGVhclRpbWVvdXQoU2NyaWJkLkFkcy5pbmFjdGl2aXR5VGltZXIpOwogICAg U2NyaWJkLkFkcy5pbmFjdGl2aXR5VGltZXIgPSBzZXRUaW1lb3V0KFNjcmliZC5B ZHMub25Vc2VySW5hY3Rpdml0eSwgU2NyaWJkLkFkcy5pZGxlVGltZUJlZm9yZUlu YWN0aXZlICogMTAwMCk7CiAgfTsKCiAgU2NyaWJkLkFkcy5vblVzZXJJbmFjdGl2 aXR5ID0gZnVuY3Rpb24oKSB7CiAgICBTY3JpYmQuQWRzLnVzZXJJc0FjdGl2ZSA9 IGZhbHNlOwogIH07CgogIFNjcmliZC5BZHMub2JzZXJ2aW5nVXNlckFjdGl2aXR5 ID0gZmFsc2U7CgogIFNjcmliZC5BZHMub2JzZXJ2ZVVzZXJBY3Rpdml0eSA9IGZ1 bmN0aW9uKCkgewogICAgaWYgKCFTY3JpYmQuQWRzLm9ic2VydmluZ1VzZXJBY3Rp dml0eSkgewogICAgICBTY3JpYmQuQWRzLm9uVXNlckFjdGl2aXR5KCk7IC8vIHdl IGNvbnNpZGVyIHRoZW0gYWN0aXZlIHRvIHN0YXJ0IG9mZgogICAgICBkb2N1bWVu dC5vYnNlcnZlKCdtb3VzZW1vdmUnLCBTY3JpYmQuQWRzLm9uVXNlckFjdGl2aXR5 KTsKICAgICAgRXZlbnQub2JzZXJ2ZSh3aW5kb3csICdzY3JvbGwnLCBTY3JpYmQu QWRzLm9uVXNlckFjdGl2aXR5KTsKICAgICAgU2NyaWJkLkFkcy5vYnNlcnZpbmdV c2VyQWN0aXZpdHkgPSB0cnVlOwogICAgfQogIH07CgogIFNjcmliZC5BZHMub25W aWV3TW9kZUNoYW5nZSA9IGZ1bmN0aW9uKG5ld19tb2RlLCBvbGRfbW9kZSkgewog ICAgaWYgKG9sZF9tb2RlID09ICdzY3JvbGwnKQogICAgICAkJCgnLmJldHdlZW5f cGFnZV9hZHMnKS5lYWNoKGZ1bmN0aW9uKGFkKSB7IGFkLmhpZGUoKTsgfSk7CiAg ICBpZiAobmV3X21vZGUgPT0gJ3Njcm9sbCcpCiAgICAgICQkKCcuYmV0d2Vlbl9w YWdlX2FkcycpLmVhY2goZnVuY3Rpb24oYWQpIHsgYWQuc2hvdygpOyB9KTsKICB9 OwoKICBpZiAodHlwZW9mIGRvY01hbmFnZXIgIT09ICd1bmRlZmluZWQnKSB7CiAg

ICAgIGRvY01hbmFnZXIuYWRkRXZlbnQoJ3ZpZXdtb2RlQ2hhbmdlZCcsIFNjcmli ZC5BZHMub25WaWV3TW9kZUNoYW5nZSk7CiAgfQp9OwogIC8vIGlmIGFkcyBkaXNh YmxlZCwgbGV0cyByZW1vdmUgZnVuY3Rpb25hbGl0eSBmcm9tIGFsbCB0aG9zZSBt ZXRob2RzLi4uCiAgLy8gbm90ZTogT3JpZ2luYWxseSBhZGRBdHRyaWJ1dGUgd2Fz IGhlcmUuIFJlbW92aW5nIGl0IGJlY2F1c2UgSSB3YW50IHRvIHNldCB0aGlzIGF0 dHJpYnV0ZSByZWdhcmRsZXNzIG9mIHRoZSBwcmVzZW5jZSBvZiBhZHMKU2NyaWJk LkFkcy5kaXNhYmxlQWRzID0gZnVuY3Rpb24oKSB7CiAgICB2YXIgcmVzZXRUaGVz ZSA9IFsgJ2FkZFJlZnJlc2hVbml0JywgJ2FkZFVuaXQnLCdhZGRCZXR3ZWVuUGFn ZVVuaXQnLCAnb2JzZXJ2ZScsICdmaXJlJ107CiAgICB2YXIgZG9Ob3RoaW5nID0g ZnVuY3Rpb24oKSB7fTsKICAgIGZvcih2YXIgaSA9IHJlc2V0VGhlc2UubGVuZ3Ro IC0gMTsgaSA+PSAwOyBpIC09IDEpIHsKICAgICAgU2NyaWJkLkFkc1tyZXNldFRo ZXNlW2ldXSA9IGRvTm90aGluZzsKICAgIH0KfTsKClNjcmliZC5BZHMuc2V0QWRM YXlvdXRzID0gZnVuY3Rpb24gKCkgewogIFNjcmliZC5BZHMuc2V0UmVmZXJlclR5 cGUoKTsKCiAgaWYgKFNjcmliZC5jdXJyZW50X3VzZXIpIHsKCiAgICAvLyBEaXNh YmxlIGFkcyBpZiB5b3UgaGF2ZSBwdXJjaGFzZWQgdGhpcyBkb2N1bWVudC4KICAg IGlmIChTY3JpYmQuY3VycmVudF91c2VyLmhhc19wdXJjaGFzZWQpIHsKICAgICAg U2NyaWJkLkFkcy5hZGRBdHRyaWJ1dGVJZlNtYWxsZXIoIkFkTGF5b3V0IiwgMCk7 CiAgICAgIHRyYWNrRXZlbnQoIkFkVGFyZ2V0aW5nIiwgIlNwZWNpYWxDYXNlIiwg IlVzZXJQdXJjaGFzZWREb2N1bWVudCIsIDAsIGZhbHNlKTsKICAgIH0KCiAgICAv LyBEaXNhYmxlIGFkcyBpZiB5b3UgYXJlIHRoZSBvd25lciBvZiB0aGUgZG9jdW1l bnQuCiAgICBpZiAoU2NyaWJkLmN1cnJlbnRfZG9jICYmIFNjcmliZC5jdXJyZW50 X2RvYy5pc19vd25lcikgewogICAgICBTY3JpYmQuQWRzLmFkZEF0dHJpYnV0ZUlm U21hbGxlcigiQWRMYXlvdXQiLDApOwogICAgICB0cmFja0V2ZW50KCJBZFRhcmdl dGluZyIsICJTcGVjaWFsQ2FzZSIsICJVc2VyVmlld2luZ093bkRvY3VtZW50Iiwg MCwgZmFsc2UpOwogICAgfQoKICAgIC8vIERpc2FibGUgYWRzIGlmIHlvdSBoYXZl IHVwbG9hZGVkIDMgb3IgbW9yZSBkb2N1bWVudHMuCiAgICBpZiAoU2NyaWJkLmN1 cnJlbnRfdXNlci51cGxvYWRlZF9hdF9sZWFzdF90aHJlZSkgewogICAgICBTY3Jp YmQuQWRzLmFkZEF0dHJpYnV0ZUlmU21hbGxlcigiQWRMYXlvdXQiLDApOwogICAg ICB0cmFja0V2ZW50KCJBZFRhcmdldGluZyIsICJTcGVjaWFsQ2FzZSIsICJVc2Vy VXBsb2FkZWRUaHJlZU9yTW9yZSIsIDAsIGZhbHNlKTsKICAgIH0KICB9CgogIGlm IChTY3JpYmQuY3VycmVudF9kb2MpIHsKICAgIC8vIElmIHlvdSBhcmUgdmlld2lu ZyBhIHByaXZhdGUgZG9jdW1lbnQsIGdldCBsYXlvdXQgMS4KICAgIGlmIChTY3Jp YmQuY3VycmVudF9kb2MuaXNfcHJpdmF0ZSkgewogICAgICBTY3JpYmQuQWRzLmFk ZEF0dHJpYnV0ZUlmU21hbGxlcigiQWRMYXlvdXQiLDEpOwogICAgICB0cmFja0V2 ZW50KCJBZFRhcmdldGluZyIsICJTcGVjaWFsQ2FzZSIsICJVc2VyVmlld2luZ1By aXZhdGVEb2MiLCAwLCBmYWxzZSk7CiAgICB9CgogICAgLy8gSWYgeW91IGFyZSB2 aWV3aW5nIGEgc3RvcmUgZG9jdW1lbnQgdGhhdCB5b3UgaGF2ZSBub3QgcHVyY2hh c2VkLCBnZXQgbGF5b3V0IDEuCiAgICBpZiAoU2NyaWJkLmN1cnJlbnRfZG9jLmNh bl9wdXJjaGFzZSkgewogICAgICBTY3JpYmQuQWRzLmFkZEF0dHJpYnV0ZUlmU21h bGxlcigiQWRMYXlvdXQiLDEpOwogICAgICB0cmFja0V2ZW50KCJBZFRhcmdldGlu ZyIsICJTcGVjaWFsQ2FzZSIsICJVc2VyVmlld2luZ1VucHVyY2hhc2VkRG9jIiwg MCwgZmFsc2UpOwogICAgfQogIH0KCiAgdHJhY2tFdmVudCgiQWRUYXJnZXRpbmci LCAiQWRMYXlvdXQiLCBTY3JpYmQuQWRzLmF0dHJpYnV0ZXNbJ0FkTGF5b3V0J11b MF0rJycsIDAsIGZhbHNlKTsKCgp9OwoKU2NyaWJkLkFkcy5zZXRCeUdlbyA9IGZ1 bmN0aW9uIChpc1NlYXJjaFRyYWZmaWMpIHsKICBTY3JpYmQuY3VycmVudF9sb2Nh dGlvbiA9IFNjcmliZC5nZW9Nb2R1bGUoJ25vdycpOwogIHZhciBhZF9sYXlvdXQg PSA0LAogICAgICBpc0xvd0FkQ291bnRyeSA9IHsnVVMnOiB0cnVlLCAnQ0EnOiB0 cnVlLCAnQVUnOiB0cnVlLCAnR0InOiB0cnVlLAogICAgICAgICAgICAgICAgICAg ICAgICAnRlInOiB0cnVlLCAnSVQnOiB0cnVlLCAnREUnOiB0cnVlLCAnTkwnOiB0 cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAnQkUnOiB0cnVlLCAnUFQnOiB0 cnVlLCAnQ0gnOiB0cnVlLCAnQVQnOiB0cnVlLAogICAgICAgICAgICAgICAgICAg ICAgICAnU0UnOiB0cnVlLCAnREsnOiB0cnVlLCAnSUUnOiB0cnVlLCAnTk8nOiB0 cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAnRkknOiB0cnVlfVtTY3JpYmQu Y3VycmVudF9sb2NhdGlvbl07CgogIGlmIChpc1NlYXJjaFRyYWZmaWMpIHsKICAg IGFkX2xheW91dCA9IGlzTG93QWRDb3VudHJ5ID8gMyA6IDQ7CiAgfQogIGVsc2Ug ewogICAgYWRfbGF5b3V0ID0gaXNMb3dBZENvdW50cnkgPyAxIDogMzsKICB9CiAg U2NyaWJkLkFkcy5hZGRBdHRyaWJ1dGVJZlNtYWxsZXIoJ0FkTGF5b3V0JywgYWRf bGF5b3V0KTsKfTsKClNjcmliZC5BZHMuc2V0UmVmZXJlclR5cGUgPSBmdW5jdGlv biAocmVmKSB7CgogIC8vZGVidWdnaW5nIHB1cnBvc2VzCiAgaWYoIXJlZikgewog ICAgcmVmID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgfQoKICB2YXIgZG9tYWluUGF0

dGVybiA9IC9eaHR0cHM/OlwvXC8oW15cL10rKS9pOwogIHZhciBxdWVyeVBhdHRl cm4gPSAvWz8mXVtwcV09KFteJl0rKS9pOwogIHZhciB3aXRob3V0U3ViZG9tYWlu c1BhdHRlcm4gPSAvXig/OlteLl0rXC4pPyhbXi5dKylcLig/Oig/OmFjfGNvbXxl ZHV8Z2N8Z292fG5ldHxvcmd8cGVyfHNjaHxjbylcLj9bXi5dKykkL2k7CgogIHZh ciB1cmxNYXRjaGVzID0gcmVmLm1hdGNoKGRvbWFpblBhdHRlcm4pOwogIHZhciBy ZWZlcnJlclR5cGUgPSAiIjsKCiAgaWYgKHVybE1hdGNoZXMpIHsKCiAgICB2YXIg dXJsID0gdXJsTWF0Y2hlc1sxXTsKCiAgICB2YXIgZG9tYWluTWF0Y2hlcyA9IHVy bC5tYXRjaCh3aXRob3V0U3ViZG9tYWluc1BhdHRlcm4pOwogICAgaWYgKGRvbWFp bk1hdGNoZXMpIHsKICAgICAgdmFyIGRvbWFpbiA9IGRvbWFpbk1hdGNoZXNbMV07 CgogICAgICB2YXIgcXVlcnlNYXRjaGVzID0gcmVmLm1hdGNoKHF1ZXJ5UGF0dGVy bik7CgoKICAgICAgaWYgKHF1ZXJ5TWF0Y2hlcykgewogICAgICAgIHZhciBxdWVy eSA9IHF1ZXJ5TWF0Y2hlc1sxXTsKICAgICAgICBpZiAocXVlcnkubWF0Y2goL3Nj cmliZC9pKSkgewogICAgICAgICAgcmVmZXJyZXJUeXBlID0gImJyYW5kZWQgc2Vh cmNoIjsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICByZWZlcnJl clR5cGUgPSAib3JnYW5pYyBzZWFyY2giOwogICAgICAgIH0KICAgICAgfQogICAg ICBlbHNlIGlmIChkb21haW4ubWF0Y2goL2dvb2dsZXx5YWhvb3xhc2t8YmluZy9p KSkgewogICAgICAgIHJlZmVycmVyVHlwZSA9ICd1bmtub3duIHNlYXJjaCc7CiAg ICAgIH0KCiAgICAgIGlmIChkb21haW4ubWF0Y2goL155Y29tYmluYXRvci5jb218 aGFja2VybmUud3N8cmVkZGl0LmNvbSQvaSkpIHsKICAgICAgICByZWZlcnJlclR5 cGUgPSAicHJlbWl1bSI7CiAgICAgICAgaWYgKGRvbWFpbiAhPT0gInJlZGRpdCIp IHsKICAgICAgICAgIGRvbWFpbiA9ICJoYWNrZXJuZXdzIjsKICAgICAgICB9CiAg ICAgICAgU2NyaWJkLkFkcy5hZGRBdHRyaWJ1dGVJZlNtYWxsZXIoIkFkTGF5b3V0 IiwxKTsKICAgICAgfQoKICAgICBpZiAocmVmZXJyZXJUeXBlKSB7CiAgICAgICAg dHJhY2tFdmVudCgicmVmZXJlclR5cGUiLCBkb21haW4sIHJlZmVycmVyVHlwZSwg MCwgZmFsc2UpOwogICAgICB9CiAgICB9CiAgfQogIFNjcmliZC5BZHMuc2V0QnlH ZW8oISFyZWZlcnJlclR5cGUubWF0Y2goL3NlYXJjaCQvKSk7Cgp9OwoK ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline; filename=word_document_39288442_canonical_71c800ada 4.jpeg Content-Type: image/jpeg; name=word_document_39288442_canonical_71c800ada4.jpeg Content-Location: http://imgv2-1.scribdassets.com/img/word_document/39288442/255 x300/bae1852c2c/1341942139 Content-Transfer-Encoding: Base64 /9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1 c2luZyBJSkcgSlBFRyB2NjIpLCBxdWFsaXR5ID0gOTUK/9sAQwACAQEBAQECAQEB AgICAgIEAwICAgIFBAQDBAYFBgYGBQYGBgcJCAYHCQcGBggLCAkKCgoKCgYICwwL CgwJCgoK/9sAQwECAgICAgIFAwMFCgcGBwoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK/8AAEQgBLAD/AwEiAAIRAQMRAf/E AB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQE AAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBka JSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SF hoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY 2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgME BQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKB CBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNU VVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/a AAwDAQACEQMRAD8A/fyj6UUHpQAdKKPfFGKACijmigAoNHeigAOBzRRzRQAmP8il 70AYooAOM8UYo6cUHr1oATtzS0DoMUHnigBByc4owSeaTOaORxigBTzxRz1zSc45 oznkHpQAY7k0oz/+uk69BR16UAKQTR16UenNHrk0AGOaOnakIwc/zo6UALzjgfnR g4pPcdqOfSgBffNGD0zQeOaToeKAHDpRSL0paACiiigAzSYzS0hzQAcdqO1LzSde 9ACik4pRSfjQAdKODzRzQRz1oACBjmjgDrRnPel+tACD6/WjAHagHPNH1agA4Heg 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 AFOMUnPpSngcf54pD/n9aAHDHaigUUAf/9k= ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline; filename=4gen.js Content-Type: application/x-javascript; charset=utf-8; name=4gen.js Content-Location: http://fonts1.scribdassets.com/static/4gen.js?1345243168 Content-Transfer-Encoding: Base64 dmFyIGRlZmF1bHRWaWV3TWFuYWdlcj0ic2Nyb2xsIjt2YXIgYWRqYWNlbnRMb2Fk UGFnZXM9Mzt2YXIgYWRqYWNlbnRGb250TG9hZFBhZ2VzPTg7dmFyIGllNl9wbmdm aXhfc2hpbT0iL2ltYWdlcy80Z2VuL3RyYW5zXzF4MS5naWYiO3ZhciBwYWdlUGFk ZGluZz0zMDt2YXIgZXh0cmFzV2lkdGg9MzE1O3ZhciBmb250TG9hZGVyU3RyYXRl Z3k7dmFyIEZPTlRfTE9BREVSX0VPVD0xO3ZhciBGT05UX0xPQURFUl9DU1NfVFRG PTI7dmFyIEZPTlRfTE9BREVSX01VTFRJX1NWRz0zO3ZhciBGT05UX1NFUlZfVkVS U0lPTj0xMjtpZighd2luZG93LmNvbnNvbGUpe3dpbmRvdy5jb25zb2xlPXtsb2c6 ZnVuY3Rpb24oKXt9fX12YXIgRG9jdW1lbnRNYW5hZ2VyPShmdW5jdGlvbigpe3Zh ciBvPXtfa2V5U3RyOiJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdo aWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPSIsZGVjb2RlOmZ1bmN0aW9u KEYpe3ZhciBEPSIiO3ZhciBNLEssSTt2YXIgTCxKLEgsRzt2YXIgRT0wO0Y9Ri5y ZXBsYWNlKC9bXkEtWmEtejAtOVwrXC9cPV0vZywiIik7d2hpbGUoRTxGLmxlbmd0 aCl7TD10aGlzLl9rZXlTdHIuaW5kZXhPZihGLmNoYXJBdChFKyspKTtKPXRoaXMu X2tleVN0ci5pbmRleE9mKEYuY2hhckF0KEUrKykpO0g9dGhpcy5fa2V5U3RyLmlu ZGV4T2YoRi5jaGFyQXQoRSsrKSk7Rz10aGlzLl9rZXlTdHIuaW5kZXhPZihGLmNo YXJBdChFKyspKTtNPShMPDwyKXwoSj4+NCk7Sz0oKEomMTUpPDw0KXwoSD4+Mik7 ST0oKEgmMyk8PDYpfEc7RD1EK1N0cmluZy5mcm9tQ2hhckNvZGUoTSk7aWYoSCE9 NjQpe0Q9RCtTdHJpbmcuZnJvbUNoYXJDb2RlKEspfWlmKEchPTY0KXtEPUQrU3Ry aW5nLmZyb21DaGFyQ29kZShJKX19RD1vLl91dGY4X2RlY29kZShEKTtyZXR1cm4g RH0sX3V0ZjhfZGVjb2RlOmZ1bmN0aW9uKEQpe3ZhciBFPSIiO3ZhciBHPTA7dmFy IEk9MDt2YXIgSD0wO3ZhciBGPTA7d2hpbGUoRzxELmxlbmd0aCl7ST1ELmNoYXJD b2RlQXQoRyk7aWYoSTwxMjgpe0UrPVN0cmluZy5mcm9tQ2hhckNvZGUoSSk7Rysr fWVsc2V7aWYoKEk+MTkxKSYmKEk8MjI0KSl7Rj1ELmNoYXJDb2RlQXQoRysxKTtF Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKCgoSSYzMSk8PDYpfChGJjYzKSk7Rys9Mn1l bHNle0Y9RC5jaGFyQ29kZUF0KEcrMSk7YzM9RC5jaGFyQ29kZUF0KEcrMik7RSs9 U3RyaW5nLmZyb21DaGFyQ29kZSgoKEkmMTUpPDwxMil8KChGJjYzKTw8Nil8KGMz JjYzKSk7Rys9M319fXJldHVybiBFfX07ZnVuY3Rpb24gaChEKXt9aC5wcm90b3R5 cGUuaW5pdEV2ZW50SGVscGVyPWZ1bmN0aW9uKCl7dGhpcy5ldmVudExpc3RlbmVy RW5hYmxlZD10cnVlO3RoaXMuZXZlbnRMaXN0ZW5lcnM9e307Zm9yKHZhciBEPTA7 RDx0aGlzLnBvc3NpYmxlRXZlbnRzLmxlbmd0aDtEKyspe3RoaXMuZXZlbnRMaXN0 ZW5lcnNbdGhpcy5wb3NzaWJsZUV2ZW50c1tEXV09e319fTtoLnByb3RvdHlwZS5h ZGRFdmVudD1mdW5jdGlvbihELEUpe2lmKCF0aGlzLmV2ZW50TGlzdGVuZXJzW0Rd KXt0aHJvdyBEKyIgaXMgbm90IGEgdmFsaWQgdHlwZSBvZiBldmVudCJ9aWYoIXRo aXMuZXZlbnRMaXN0ZW5lcnNbRF0ubmV4dF91aWQpe3RoaXMuZXZlbnRMaXN0ZW5l cnNbRF0ubmV4dF91aWQ9MX1pZighRS5fZXZlbnRfbGlzdGVuZXJfdWlkKXtFLl9l dmVudF9saXN0ZW5lcl91aWQ9dGhpcy5ldmVudExpc3RlbmVyc1tEXS5uZXh0X3Vp ZDt0aGlzLmV2ZW50TGlzdGVuZXJzW0RdLm5leHRfdWlkKyt9dGhpcy5ldmVudExp c3RlbmVyc1tEXVtFLl9ldmVudF9saXN0ZW5lcl91aWRdPUV9O2gucHJvdG90eXBl LnJlbW92ZUV2ZW50PWZ1bmN0aW9uKEQsRSl7ZGVsZXRlIHRoaXMuZXZlbnRMaXN0 ZW5lcnNbRF1bRS5fZXZlbnRfbGlzdGVuZXJfdWlkXX07aC5wcm90b3R5cGUuZmly ZUV2ZW50PWZ1bmN0aW9uKEcsSCl7aWYoIXRoaXMuZXZlbnRMaXN0ZW5lckVuYWJs ZWQpe3JldHVybn12YXIgRD10aGlzLmV2ZW50TGlzdGVuZXJzW0ddO3ZhciBFPVtd O2lmKGFyZ3VtZW50cy5sZW5ndGg+MSl7RVthcmd1bWVudHMubGVuZ3RoLTJdPW51 bGw7Zm9yKHZhciBJPTE7STxhcmd1bWVudHMubGVuZ3RoO0krKyl7RVtJLTFdPWFy Z3VtZW50c1tJXX19dmFyIEY9dGhpcztmdW5jdGlvbiBKKEwpe0wuYXBwbHkoRixF KX1mb3IodmFyIEsgaW4gRCl7aWYoSyE9Im5leHRfdWlkIiYmRC5oYXNPd25Qcm9w ZXJ0eShLKSl7SihEW0tdKX19fTtmdW5jdGlvbiBtKEUsRCl7RS5wcm90b3R5cGUu YWRkRXZlbnQ9aC5wcm90b3R5cGUuYWRkRXZlbnQ7RS5wcm90b3R5cGUucmVtb3Zl RXZlbnQ9aC5wcm90b3R5cGUucmVtb3ZlRXZlbnQ7RS5wcm90b3R5cGUuZmlyZUV2 ZW50PWgucHJvdG90eXBlLmZpcmVFdmVudDtFLnByb3RvdHlwZS5pbml0RXZlbnRI ZWxwZXI9aC5wcm90b3R5cGUuaW5pdEV2ZW50SGVscGVyO0UucHJvdG90eXBlLnBv

c3NpYmxlRXZlbnRzPUR9dmFyIGk9ImZvbnRfcHJlbG9hZF9iZWQiO3ZhciBkPSJc dUY4RkYiO3ZhciBDPWZ1bmN0aW9uKCl7cmV0dXJuICFkb2N1bWVudC5zdHlsZVNo ZWV0c1swXS5pbnNlcnRSdWxlfTt2YXIgcD1mdW5jdGlvbihELEUpe2lmKEMoKSl7 dmFyIEY9RC5pbm5lckhUTUw7RC5ocmVmPUU7aWYoRC5pbm5lckhUTUwhPUYpe0Qu aW5uZXJIVE1MPUZ9fWVsc2V7RC5ocmVmPUV9fTt2YXIgZz0oZnVuY3Rpb24oKXt2 YXIgRD1uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCk7cmV0dXJuIEQu c2VhcmNoKCJhbmRyb2lkIDIuMiIpPi0xfSkoKTt2YXIgZT0oZnVuY3Rpb24oKXt2 YXIgRD1uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCk7cmV0dXJuKEQu c2VhcmNoKCJtb2JpbGUiKT4tMSYmRC5zZWFyY2goInNhZmFyaSIpPi0xJiYhZyl9 KSgpO3ZhciB3PW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiQXBwbGVXZWJL aXQvIik+LTE7Zm9udExvYWRlclN0cmF0ZWd5PShmdW5jdGlvbigpe2lmKEMoKSl7 cmV0dXJuIEZPTlRfTE9BREVSX0VPVH1lbHNle2lmKGUpe3JldHVybiBGT05UX0xP QURFUl9DU1NfVFRGfWVsc2V7cmV0dXJuIEZPTlRfTE9BREVSX0NTU19UVEZ9fX0p KCk7aWYoQygpKXthZGphY2VudEZvbnRMb2FkUGFnZXM9NTthZGphY2VudExvYWRQ YWdlcz0yfWlmKGcpe2FkamFjZW50Rm9udExvYWRQYWdlcz0xO2FkamFjZW50TG9h ZFBhZ2VzPTF9ZnVuY3Rpb24gQShJLEcsRSxILEYsRCl7dGhpcy5pZD1JO3RoaXMu c2hvcnRzdHlsZT1HO3RoaXMuZmFtaWx5PUU7dGhpcy5mYWxsYmFjaz1IO3RoaXMu d2VpZ2h0PUY7dGhpcy5zdHlsZT1EfUEucHJvdG90eXBlLmVvdENzc1J1bGU9ZnVu Y3Rpb24oRCl7dmFyIEU9InNyYzogdXJsKCIrRCt0aGlzLmZhbWlseSsiLmVvdCk7 IGZvbnQtZmFtaWx5OiAiK3RoaXMuZmFtaWx5KyI7IGZvbnQtd2VpZ2h0OiAiK3Ro aXMud2VpZ2h0KyI7IGZvbnQtc3R5bGU6ICIrdGhpcy5zdHlsZTtyZXR1cm4iQGZv bnQtZmFjZSB7IitFKyJ9In07QS5wcm90b3R5cGUudHRmQ3NzUnVsZT1mdW5jdGlv bihEKXt2YXIgRT0ic3JjOiB1cmwoIitEK3RoaXMuZmFtaWx5KyIudHRmKSBmb3Jt YXQoJ3RydWV0eXBlJyk7IGZvbnQtZmFtaWx5OiAiK3RoaXMuZmFtaWx5KyI7IGZv bnQtd2VpZ2h0OiAiK3RoaXMud2VpZ2h0KyI7IGZvbnQtc3R5bGU6ICIrdGhpcy5z dHlsZTtyZXR1cm4iQGZvbnQtZmFjZSB7IitFKyJ9In07QS5wcm90b3R5cGUuc3Zn Q3NzUnVsZT1mdW5jdGlvbihEKXt2YXIgRT0ic3JjOiB1cmwoIitEKyIjIit0aGlz LmZhbWlseSsiKSBmb3JtYXQoJ3N2ZycpOyBmb250LWZhbWlseTogIit0aGlzLmZh bWlseSsiOyBmb250LXdlaWdodDogIit0aGlzLndlaWdodCsiOyBmb250LXN0eWxl OiAiK3RoaXMuc3R5bGU7cmV0dXJuIkBmb250LWZhY2UgeyIrRSsifSJ9O0EucHJv dG90eXBlLmNyZWF0ZVByZWxvYWRFbGVtPWZ1bmN0aW9uKCl7cmV0dXJuIjxzcGFu IHN0eWxlPSdmb250LWZhbWlseTogIit0aGlzLmZhbWlseSsiJz5zY3JpYmQuPC9z cGFuPiAifTtmdW5jdGlvbiB4KEQpe3RoaXMuZm9udHM9W107dGhpcy5kb2NNYW5h Z2VyPUQ7dGhpcy5fY3NzUnVsZVF1ZXVlPVtdO3RoaXMuX2ZvbnRMb2FkUXVldWU9 W119eC5wcm90b3R5cGUuX21ha2VOZXdTdHlsZUJsb2NrPWZ1bmN0aW9uKCl7dmFy IEU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtpZighd2luZG93LmNy ZWF0ZVBvcHVwKXtFLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2Rl KCIiKSl9dmFyIEQ9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQi KVswXTtELmFwcGVuZENoaWxkKEUpO3JldHVybiBFfTt4LnByb3RvdHlwZS5faW5z ZXJ0Q3NzUnVsZT1mdW5jdGlvbihEKXt0aGlzLl9jc3NSdWxlUXVldWUucHVzaChE KX07eC5wcm90b3R5cGUuX2ZsdXNoQ3NzUnVsZVF1ZXVlPWZ1bmN0aW9uKEYpe2lm KHRoaXMuX2Nzc1J1bGVRdWV1ZS5sZW5ndGg+MCl7dmFyIEU9KEYmJmRvY3VtZW50 LmdldEVsZW1lbnRCeUlkKEYpKXx8dGhpcy5fbWFrZU5ld1N0eWxlQmxvY2soKTt2 YXIgRD10aGlzLl9jc3NSdWxlUXVldWUuam9pbigiXG4iKTtpZihDKCkpe0Uuc3R5 bGVTaGVldC5jc3NUZXh0PUR9ZWxzZXtpZighd2luZG93LmNyZWF0ZVBvcHVwKXtF LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKEQpKX1lbHNle0Uu aW5uZXJIVE1MPUR9fXRoaXMuX2Nzc1J1bGVRdWV1ZT1bXX19O3gucHJvdG90eXBl LmdldEZvbnRBZ2dyZWdhdG9ySG9zdEZvckZvbnRzPWZ1bmN0aW9uKEcpe3ZhciBG PVtdO2Zvcih2YXIgRT0wO0U8Ry5sZW5ndGg7RSsrKXtGLnB1c2goR1tFXS5zaG9y dHN0eWxlK0dbRV0uaWQpfUYuc29ydCgpO3ZhciBEPXRoaXMuZG9jTWFuYWdlci5u ZXh0Rm9udEFnZ3JlZ2F0b3JIb3N0KCkrIi8iK3RoaXMuZG9jTWFuYWdlci5hc3Nl dFByZWZpeCsiLyIrRi5qb2luKCIsIikrIi8iK0ZPTlRfU0VSVl9WRVJTSU9OKyIv Ijtzd2l0Y2goZm9udExvYWRlclN0cmF0ZWd5KXtjYXNlIEZPTlRfTE9BREVSX0VP VDpicmVhaztjYXNlIEZPTlRfTE9BREVSX0NTU19UVEY6aWYoIWcpe0QrPSJ0dGZz LmNzcyJ9YnJlYWs7Y2FzZSBGT05UX0xPQURFUl9NVUxUSV9TVkc6RCs9ImZvbnRz LnN2ZyI7YnJlYWt9cmV0dXJuIER9O3gucHJvdG90eXBlLl9hZGRUVEZSdWxlcz1m dW5jdGlvbihHLEUpe2Zvcih2YXIgRj0wO0Y8Ry5sZW5ndGg7RisrKXt2YXIgRD1H W0ZdO3RoaXMuX2luc2VydENzc1J1bGUoRC50dGZDc3NSdWxlKEUpKX19O3gucHJv dG90eXBlLl9hZGRTVkdSdWxlcz1mdW5jdGlvbihHLEUpe2Zvcih2YXIgRj0wO0Y8 Ry5sZW5ndGg7RisrKXt2YXIgRD1HW0ZdO3RoaXMuX2luc2VydENzc1J1bGUoRC5z

dmdDc3NSdWxlKEUpKX19O3gucHJvdG90eXBlLl9hZGRFT1RSdWxlcz1mdW5jdGlv bihHLEUpe2Zvcih2YXIgRj0wO0Y8Ry5sZW5ndGg7RisrKXt2YXIgRD1HW0ZdO3Ro aXMuX2luc2VydENzc1J1bGUoRC5lb3RDc3NSdWxlKEUpKX19O3gucHJvdG90eXBl Ll9uZXh0UHJlbG9hZElkPWZ1bmN0aW9uKCl7aWYoIXRoaXMuX3ByZWxvYWRJZCl7 dGhpcy5fcHJlbG9hZElkPTB9dmFyIEQ9InByZWxvYWRfYmVkIit0aGlzLl9wcmVs b2FkSWQ7dGhpcy5fcHJlbG9hZElkKz0xO3JldHVybiBEfTt4LnByb3RvdHlwZS5f YWRkQ1NTV2Via2l0PWZ1bmN0aW9uKEssRSl7dmFyIE49dGhpczt2YXIgSD1kb2N1 bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtmdW5jdGlvbiBPKCl7dmFyIFA9 ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dmFyIFE9Ti5fbmV4dFByZWxv YWRJZCgpO1AuaW5uZXJIVE1MPUw7dmFyIFI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 SWQoaSk7dmFyIFM9d2luZG93LnNldEludGVydmFsKGZ1bmN0aW9uKCl7aWYoSC5j b250ZW50RG9jdW1lbnQuc3R5bGVTaGVldHMubGVuZ3RoPjApe3dpbmRvdy5jbGVh ckludGVydmFsKFMpO0guY29udGVudERvY3VtZW50LmJvZHkuZ2V0Qm91bmRpbmdD bGllbnRSZWN0KCk7Ui5hcHBlbmRDaGlsZChQKTt3aW5kb3cuc2V0VGltZW91dChm dW5jdGlvbigpe0guY29udGVudERvY3VtZW50LmJvZHkuZ2V0Qm91bmRpbmdDbGll bnRSZWN0KCk7Ti5fYWRkQ1NTTGluayhFKX0sNTAwKX19LDApfXZhciBNPXRoaXMu X25leHRQcmVsb2FkSWQoKTtILmlkPU07dmFyIEw9IiI7Zm9yKHZhciBHPTA7RzxL Lmxlbmd0aDtHKyspe3ZhciBEPUtbR107TCs9RC5jcmVhdGVQcmVsb2FkRWxlbSgp fXZhciBGPXRoaXMuX21ha2VOZXdTdHlsZUJsb2NrKCk7SC5hZGRFdmVudExpc3Rl bmVyKCJsb2FkIixmdW5jdGlvbigpe08oKX0sZmFsc2UpO0guc3R5bGUuZGlzcGxh eT0ibm9uZSI7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChIKTtILmNvbnRlbnRE b2N1bWVudC5ib2R5LmlubmVySFRNTD1MO3ZhciBKPUguY29udGVudERvY3VtZW50 LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtKLmhyZWY9RTtKLnJlbD0ic3R5bGVzaGVl dCI7Si50eXBlPSJ0ZXh0L2NzcyI7Si5tZWRpYT0ic2NyZWVuIjt2YXIgST1ILmNv bnRlbnREb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdO0ku YXBwZW5kQ2hpbGQoSil9O3gucHJvdG90eXBlLl9hZGRDU1NMaW5rPWZ1bmN0aW9u KEQpe3ZhciBGPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtGLmhyZWY9 RDtGLnJlbD0ic3R5bGVzaGVldCI7Ri50eXBlPSJ0ZXh0L2NzcyI7dmFyIEU9ZG9j dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXTtFLmFwcGVuZENo aWxkKEYpfTt4LnByb3RvdHlwZS5mbHVzaEZvbnRRdWV1ZT1mdW5jdGlvbigpe2lm KHRoaXMuX2ZvbnRMb2FkUXVldWUubGVuZ3RoPT09MCl7cmV0dXJufWlmKHRoaXMu ZG9jTWFuYWdlci5kaXNwbGF5VHlwZT09InJhc3Rlcml6ZSIpe3JldHVybn12YXIg RD10aGlzLl9mb250TG9hZFF1ZXVlO3RoaXMuX2ZvbnRMb2FkUXVldWU9W107dmFy IEU9dGhpcy5nZXRGb250QWdncmVnYXRvckhvc3RGb3JGb250cyhEKTtzd2l0Y2go Zm9udExvYWRlclN0cmF0ZWd5KXtjYXNlIEZPTlRfTE9BREVSX0VPVDp0aGlzLl9h ZGRFT1RSdWxlcyhELEUpO2JyZWFrO2Nhc2UgRk9OVF9MT0FERVJfQ1NTX1RURjpp ZihnKXt0aGlzLl9hZGRUVEZSdWxlcyhELEUpfWVsc2V7aWYodyl7dGhpcy5fYWRk Q1NTV2Via2l0KEQsRSl9ZWxzZXt0aGlzLl9hZGRDU1NMaW5rKEUpfX1icmVhaztj YXNlIEZPTlRfTE9BREVSX01VTFRJX1NWRzp0aGlzLl9hZGRTVkdSdWxlcyhELEUp O2JyZWFrfXRoaXMuX2ZsdXNoQ3NzUnVsZVF1ZXVlKCl9O3gucHJvdG90eXBlLmFk ZEZvbnRUb1F1ZXVlPWZ1bmN0aW9uKEUpe3ZhciBEPXRoaXMuZm9udHNbRV07aWYo IUQuX2xvYWRRdWV1ZWQpe0QuX2xvYWRRdWV1ZWQ9dHJ1ZTt0aGlzLl9mb250TG9h ZFF1ZXVlLnB1c2goRCl9fTt4LnByb3RvdHlwZS5hZGRGb250PWZ1bmN0aW9uKEos SCxGLEksRyxFKXt2YXIgRD1uZXcgQShKLEgsRixJLEcsRSk7dGhpcy5mb250c1tK XT1EfTt4LnByb3RvdHlwZS5zZXROdW1Gb250cz1mdW5jdGlvbihEKXtmb3IodmFy IEU9MDtFPEQ7RSsrKXt0aGlzLmZvbnRzW0VdPW5ldyBBKEUsIiIsImZmIitFLCJz YW5zLXNlcmlmIiwibm9ybWFsIiwibm9ybWFsIil9fTt4LnByb3RvdHlwZS5faW5p dEhpZGVyc0NTUz1mdW5jdGlvbigpe3ZhciBEPVtdO2Zvcih2YXIgRT0wO0U8dGhp cy5mb250cy5sZW5ndGg7RSsrKXtELnB1c2goIi4iK3RoaXMuZm9udHNbRV0uZmFt aWx5KX10aGlzLl9pbnNlcnRDc3NSdWxlKEQuam9pbigiLCAiKSsiIHtkaXNwbGF5 OiBub25lO31cbiIpfTt4LnByb3RvdHlwZS5faW5pdEZhbWlseUNTUz1mdW5jdGlv bigpe2Zvcih2YXIgRT0wO0U8dGhpcy5mb250cy5sZW5ndGg7RSsrKXt2YXIgRz10 aGlzLmZvbnRzW0VdLmZhbWlseTt2YXIgST10aGlzLmZvbnRzW0VdLmZhbGxiYWNr O3ZhciBIPXRoaXMuZm9udHNbRV0ud2VpZ2h0O3ZhciBGPXRoaXMuZm9udHNbRV0u c3R5bGU7dmFyIEQ9ImRpdi4iK0crIiBzcGFuIjtpZih0eXBlb2Yoc2NyaWJkKSE9 PSJ1bmRlZmluZWQiJiZ0eXBlb2Yoc2NyaWJkLmVtYmVkX2Rpdl9pZCkhPT0idW5k ZWZpbmVkIil7RD0iIyIrc2NyaWJkLmVtYmVkX2Rpdl9pZCsiICIrRH1pZihDKCkp e3RoaXMuX2luc2VydENzc1J1bGUoRCsiIHtmb250LWZhbWlseTogIitHKyIgIWlt cG9ydGFudDtcbn0iKX1lbHNle3RoaXMuX2luc2VydENzc1J1bGUoRCsiIHtmb250 LWZhbWlseTogIitHKyIsICIrSSsiOyBmb250LXdlaWdodDogIitIKyI7IGZvbnQt

c3R5bGU6ICIrRisiO1xufSIpfX19O3gucHJvdG90eXBlLmluaXRTdHlsZXM9ZnVu Y3Rpb24oRCl7aWYodGhpcy5kb2NNYW5hZ2VyLmRpc3BsYXlUeXBlPT0icmFzdGVy aXplIil7cmV0dXJufXRoaXMuX2luaXRGYW1pbHlDU1MoKTtzd2l0Y2goZm9udExv YWRlclN0cmF0ZWd5KXtjYXNlIEZPTlRfTE9BREVSX0VPVDpicmVhaztjYXNlIEZP TlRfTE9BREVSX0NTU19UVEY6aWYoIWcpe3RoaXMuX2luaXRIaWRlcnNDU1MoKX1i cmVhaztjYXNlIEZPTlRfTE9BREVSX01VTFRJX1NWRzpicmVha310aGlzLl9mbHVz aENzc1J1bGVRdWV1ZSgicHJlbG9hZF9zdHlsZXIiKX07eC5wcm90b3R5cGUuc2V0 dXBUZXN0RWxlbWVudHM9ZnVuY3Rpb24oKXtpZihmb250TG9hZGVyU3RyYXRlZ3kh PUZPTlRfTE9BREVSX0NTU19UVEZ8fHd8fHRoaXMuZG9jTWFuYWdlci5kaXNwbGF5 VHlwZT09InJhc3Rlcml6ZSIpe3JldHVybn12YXIgRz0iIjtmb3IodmFyIEY9MDtG PHRoaXMuZm9udHMubGVuZ3RoO0YrKyl7dmFyIEQ9dGhpcy5mb250c1tGXTtHKz1E LmNyZWF0ZVByZWxvYWRFbGVtKCl9dmFyIEU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 SWQoaSk7RS5pbm5lckhUTUw9Rztkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKEUp O3RoaXMuX2luc2VydENzc1J1bGUoIiMiK2krIiBzcGFuIHtkaXNwbGF5OiBibG9j azsgdmlzaWJpbGl0eTogaGlkZGVufSIpO3RoaXMuX2ZsdXNoQ3NzUnVsZVF1ZXVl KCl9O2Z1bmN0aW9uIGEoRCxFKXt0aGlzLnBhZ2VzPVtdO3RoaXMubG9hZGVkPWZh bHNlO3RoaXMuZm9udHM9e307dGhpcy5udW1Gb250cz0wO3RoaXMuZm9udExvYWRl cj1FO3RoaXMuZ3JvdXBOdW09RHx8MH1hLnByb3RvdHlwZS5hZGRQYWdlPWZ1bmN0 aW9uKEYpe2Zvcih2YXIgRT0wO0U8Ri5mb250cy5sZW5ndGg7RSsrKXt2YXIgRD1G LmZvbnRzW0VdO2lmKHRoaXMuZm9udHNbRF09PT11bmRlZmluZWQpe3RoaXMuZm9u dHNbRF09dHJ1ZTt0aGlzLm51bUZvbnRzKz0xfX10aGlzLnBhZ2VzLnB1c2goRil9 O2EucHJvdG90eXBlLmlzRnVsbD1mdW5jdGlvbigpe3ZhciBGPXRoaXMucGFnZXMu bGVuZ3RoO3ZhciBFPXRoaXMuZ3JvdXBOdW07dmFyIEQ9dGhpcy5udW1Gb250cztp Zihmb250TG9hZGVyU3RyYXRlZ3k9PUZPTlRfTE9BREVSX0VPVCl7cmV0dXJuKHRo aXMuaGFzTG9hZGVkfHxEPjUwfHwoRD49MjAmJigoRT09PTAmJkY+PWFkamFjZW50 Rm9udExvYWRQYWdlcyszKXx8KEY+PTE1KSkpKX1lbHNle2lmKGZvbnRMb2FkZXJT dHJhdGVneT09Rk9OVF9MT0FERVJfTVVMVElfU1ZHfHxnKXtyZXR1cm4odGhpcy5o YXNMb2FkZWR8fChEPj01JiZGPj1hZGphY2VudEZvbnRMb2FkUGFnZXMpKX1lbHNl e3JldHVybih0aGlzLmhhc0xvYWRlZHx8RD4xMDB8fChEPj0yMCYmKChFPT09MCYm Rj49YWRqYWNlbnRGb250TG9hZFBhZ2VzKzMpfHwoRj49MTAwKSkpKX19fTthLnBy b3RvdHlwZS5sb2FkPWZ1bmN0aW9uKEUpe2lmKHRoaXMuaGFzTG9hZGVkKXtyZXR1 cm59dGhpcy5oYXNMb2FkZWQ9dHJ1ZTt2YXIgRD10aGlzO2Z1bmN0aW9uIEYoKXtm b3IodmFyIEcgaW4gRC5mb250cyl7aWYoRC5mb250cy5oYXNPd25Qcm9wZXJ0eShH KSl7RC5mb250TG9hZGVyLmFkZEZvbnRUb1F1ZXVlKEcpfX1ELmZvbnRMb2FkZXIu Zmx1c2hGb250UXVldWUoKX1pZihFKXt3aW5kb3cuc2V0VGltZW91dChmdW5jdGlv bigpe0YoKX0sRSl9ZWxzZXtGKCl9fTthLnByb3RvdHlwZS5uZXdOZXh0R3JvdXA9 ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGEodGhpcy5ncm91cE51bSsxLHRoaXMuZm9u dExvYWRlcil9O3ZhciBxPTE7dmFyIHo9Mjt2YXIgYj0zO3ZhciB5PTQ7dmFyIHI9 KGZ1bmN0aW9uKCl7aWYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLldl YmtpdFRyYW5zZm9ybSE9PXVuZGVmaW5lZCl7cmV0dXJuIHF9ZWxzZXtpZihkb2N1 bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuTW96VHJhbnNmb3JtIT09dW5kZWZp bmVkKXtyZXR1cm4gen1lbHNle2lmKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5z dHlsZS5PVHJhbnNmb3JtIT09dW5kZWZpbmVkKXtyZXR1cm4geX1lbHNle3JldHVy biBifX19fSkoKTtmdW5jdGlvbiBsKEcpe2Zvcih2YXIgRSBpbiB0aGlzLl9kZWZh dWx0UGFyYW1zKXtpZih0aGlzLl9kZWZhdWx0UGFyYW1zLmhhc093blByb3BlcnR5 KEUpKXt0aGlzW0VdPUdbRV18fHRoaXMuX2RlZmF1bHRQYXJhbXNbRV19fWZvcih2 YXIgRD0wO0Q8dGhpcy5fcmVxdWlyZWRQYXJhbXMubGVuZ3RoO0QrKyl7dmFyIEY9 dGhpcy5fcmVxdWlyZWRQYXJhbXNbRF07aWYoIXRoaXNbRl0pe3Rocm93Ik1pc3Np bmcgcmVxdWlyZWQgUGFnZSBwYXJhbTogIitGfX1pZighdGhpcy5jb250ZW50VXJs JiYhdGhpcy5pbm5lclBhZ2VFbGVtKXt0aHJvdyJNdXN0IGluaXRpYWxpemUgYSBw YWdlIHdpdGggZWl0aGVyIGEgY29udGVudFVybCBvciBpbm5lclBhZ2VFbGVtIGVs ZW1lbnQifWlmKHRoaXMuY29udGFpbmVyRWxlbS5ib3VuZFRvUGFnZU9iaj09PXRy dWUpe3Rocm93IkNvbnRhaW5lciBFbGVtIGlzIGFscmVhZHkgYm91bmQgdG8gYSBw YWdlLiAgV2Ugc2hvdWxkbid0IGdldCBoZXJlIn10aGlzLmNvbnRhaW5lckVsZW0u Ym91bmRUb1BhZ2VPYmo9dHJ1ZTt0aGlzLl90YXJnZXRXaWR0aD1udWxsO3RoaXMu X2lubmVyUGFnZVZpc2libGU9ISF0aGlzLmlubmVyUGFnZUVsZW07dGhpcy5faW1h Z2VzVHVybmVkT249ZmFsc2U7dGhpcy5ib3VuZGluZ1JlY3Q9bnVsbDt0aGlzLmlz VmlzaWJsZT1mYWxzZTt0aGlzLmRpc3BsYXlEaXJ0eT10cnVlO3RoaXMuZGlzcGxh eU9uPW51bGw7dGhpcy5sb2FkSGFzU3RhcnRlZD0hIXRoaXMuaW5uZXJQYWdlRWxl bX1sLnByb3RvdHlwZS5fZGVmYXVsdFBhcmFtcz17Y29udGFpbmVyRWxlbTpudWxs

LGlubmVyUGFnZUVsZW06bnVsbCxjb250ZW50VXJsOm51bGwsb3JpZ1dpZHRoOm51 bGwsb3JpZ0hlaWdodDpudWxsLGZvbnRzOm51bGwsZG9jTWFuYWdlcjpudWxsLHBh Z2VOdW06bnVsbH07bC5wcm90b3R5cGUuX3JlcXVpcmVkUGFyYW1zPVsib3JpZ1dp ZHRoIiwib3JpZ0hlaWdodCIsImZvbnRzIiwiZG9jTWFuYWdlciIsImNvbnRhaW5l ckVsZW0iLCJwYWdlTnVtIl07bC5wcm90b3R5cGUuX3VwZGF0ZUJvdW5kaW5nUmVj dD1mdW5jdGlvbigpe3ZhciBJLEgsRyxFO2lmKHRoaXMuY29udGFpbmVyRWxlbS5n ZXRCb3VuZGluZ0NsaWVudFJlY3Qpe3ZhciBGPXRoaXMuY29udGFpbmVyRWxlbS5n ZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt2YXIgRD10aGlzLmRvY01hbmFnZXIudmll d3BvcnRNYW5hZ2VyLnZpZXdSZWN0O0g9Ri5sZWZ0K0QubGVmdDtJPUYudG9wK0Qu dG9wO0c9Ri5yaWdodC1GLmxlZnQ7RT1GLmJvdHRvbS1GLnRvcDt0aGlzLmJvdW5k aW5nUmVjdD17bGVmdDpILHRvcDpJLGJvdHRvbTpJK0UscmlnaHQ6SCtHLHdpZHRo OkcsaGVpZ2h0OkV9fWVsc2V7ST10aGlzLmNvbnRhaW5lckVsZW0ub2Zmc2V0VG9w O0g9dGhpcy5jb250YWluZXJFbGVtLm9mZnNldExlZnQ7Rz10aGlzLmNvbnRhaW5l ckVsZW0ub2Zmc2V0V2lkdGg7RT10aGlzLmNvbnRhaW5lckVsZW0ub2Zmc2V0SGVp Z2h0O3RoaXMuYm91bmRpbmdSZWN0PXtsZWZ0OkgsdG9wOkksYm90dG9tOkkrRSxy aWdodDpIK0csd2lkdGg6RyxoZWlnaHQ6RX19fTtsLnByb3RvdHlwZS5fc2V0Q29u dGFpbmVyQ29udGVudHM9ZnVuY3Rpb24oRil7dmFyIEU9Lzxub3NjcmlwdCAqPjxp bWdbXjw+XSpcLz48XC9ub3NjcmlwdCAqPi9nO3RoaXMuY29udGFpbmVyRWxlbS5p bm5lckhUTUw9Ri5yZXBsYWNlKEUsIiIpK3RoaXMuY29udGFpbmVyRWxlbS5pbm5l ckhUTUw7dmFyIEQ9dGhpczt0aGlzLmlubmVyUGFnZUVsZW09dGhpcy5jb250YWlu ZXJFbGVtLmNoaWxkcmVuWzBdO3RoaXMudHVybk9uTGlua3MoKTt0aGlzLnR1cm5P bkltYWdlcygpO3RoaXMuZml4U1ZHRm9udHMoKTt0aGlzLmRpc3BsYXlEaXJ0eT10 cnVlO2lmKHRoaXMuZGlzcGxheU9uKXt0aGlzLmRpc3BsYXkoKX1lbHNle3RoaXMu aGlkZSgpfX07bC5wcm90b3R5cGUuZml4U1ZHRm9udHM9ZnVuY3Rpb24oKXtpZih0 aGlzLl9zdmdGb250c0ZpeGVkKXt0aHJvdyJBbHJlYWR5IGZpeGVkIHRoZSBzdmcg Zm9udHMifWlmKCF0aGlzLmlubmVyUGFnZUVsZW0pe3JldHVybn1pZihlKXt2YXIg RT1mdW5jdGlvbihJKXtpZihJLm5vZGVUeXBlPT1kb2N1bWVudC5URVhUX05PREUp e3ZhciBGPUkudGV4dENvbnRlbnQuc2VhcmNoKC9bICBcbl1bXiBcbiBdLyk7aWYo Rj49MCl7RShJLnNwbGl0VGV4dChGKzEpKX19ZWxzZXt2YXIgSD1JLmNoaWxkTm9k ZXM7Zm9yKHZhciBHPTA7RzxILmxlbmd0aDtHKyspe0UoSFtHXSl9fX07dmFyIEQ9 ZnVuY3Rpb24oSCl7dmFyIEc9SC5jaGlsZE5vZGVzO2Zvcih2YXIgRj0wO0Y8Ry5s ZW5ndGg7RisrKXt2YXIgSj1HW0ZdO2lmKEoubm9kZVR5cGU9PWRvY3VtZW50LkVM RU1FTlRfTk9ERSl7RChKKX1lbHNle3ZhciBJPUdbRisxXTtpZihJJiZJLm5vZGVO YW1lPT0iI3RleHQiKXtILmluc2VydEJlZm9yZShkb2N1bWVudC5jcmVhdGVFbGVt ZW50KCJzcGFuIiksSSl9fX19O0UodGhpcy5pbm5lclBhZ2VFbGVtKTtEKHRoaXMu aW5uZXJQYWdlRWxlbSl9dGhpcy5fc3ZnRm9udHNGaXhlZD10cnVlfTtsLnByb3Rv dHlwZS5pbWFnZVBhZ2VDb250ZW50PWZ1bmN0aW9uKEQpe3N0cj0iPGltZyBzcmM9 JyIrRCsiJz48L2ltZz4iO3JldHVybiBzdHJ9O2wucHJvdG90eXBlLmxvYWQ9ZnVu Y3Rpb24oKXt0aGlzLmN1cnJlbnRseUxvYWRpbmc9dHJ1ZTt0aGlzLmxvYWRIYXNT dGFydGVkPXRydWU7aWYodGhpcy5pbm5lclBhZ2VFbGVtKXt0aHJvdyJXZSBhbHJl YWR5IGhhdmUgbG9hZGVkIHRoaXMgcGFnZSwgYnV0IGl0IGxvb2tzIGxpa2UgeW91 IGNhbGxlZCBsb2FkUGFnZSBhZ2FpbiJ9dGhpcy5sb2FkRm9udHMoKTt2YXIgRz0i cGFnZSIrdGhpcy5wYWdlTnVtKyJfY2FsbGJhY2siO2lmKHdpbmRvd1tHXSl7dHJ5 e2RlbGV0ZSB3aW5kb3dbR119Y2F0Y2goRil7d2luZG93W0ddPXVuZGVmaW5lZH19 aWYodGhpcy5kb2NNYW5hZ2VyLmRpc3BsYXlUeXBlPT0icmFzdGVyaXplIil7ZGVs ZXRlIHRoaXMuY3VycmVudGx5TG9hZGluZzt0aGlzLl9zZXRDb250YWluZXJDb250 ZW50cyh0aGlzLmltYWdlUGFnZUNvbnRlbnQodGhpcy5jb250ZW50VXJsKSk7cmV0 dXJufXZhciBFPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3ZhciBE PXRoaXM7d2luZG93W0ddPWZ1bmN0aW9uKEkpe2RvY3VtZW50LmJvZHkucmVtb3Zl Q2hpbGQoRSk7dmFyIEo9SVswXTtkZWxldGUgRC5jdXJyZW50bHlMb2FkaW5nO0Qu X3NldENvbnRhaW5lckNvbnRlbnRzKEopO0QuZG9jTWFuYWdlci5maXJlRXZlbnQo InBhZ2VMb2FkZWQiLEQuY29udGFpbmVyRWxlbSk7dHJ5e2RlbGV0ZSB3aW5kb3db R119Y2F0Y2goSCl7d2luZG93W0ddPXVuZGVmaW5lZH19O0Uuc3JjPXRoaXMuY29u dGVudFVybDtFLnR5cGU9InRleHQvamF2YXNjcmlwdCI7RS5jaGFyc2V0PSJVVEYt OCI7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChFKX07bC5wcm90b3R5cGUucmVt b3ZlPWZ1bmN0aW9uKCl7aWYodGhpcy5pbm5lclBhZ2VFbGVtKXt2YXIgRD10aGlz LmlubmVyUGFnZUVsZW0ucGFyZW50Tm9kZTtELnJlbW92ZUNoaWxkKHRoaXMuaW5u ZXJQYWdlRWxlbSk7ZGVsZXRlIHRoaXMuaW5uZXJQYWdlRWxlbTtkZWxldGUgdGhp cy5jdXJyZW50TG9hZGluZztkZWxldGUgdGhpcy5sb2FkSGFzU3RhcnRlZDt0aGlz Ll9saW5rc1R1cm5lZE9uPWZhbHNlO3RoaXMuX2ltYWdlc1R1cm5lZE9uPWZhbHNl

O3RoaXMuX3N2Z0ZvbnRzRml4ZWQ9ZmFsc2V9fTtsLnByb3RvdHlwZS5kaXNwbGF5 PWZ1bmN0aW9uKEUsRCl7aWYodGhpcy5kaXNwbGF5T24mJiF0aGlzLmRpc3BsYXlE aXJ0eSl7cmV0dXJufXRoaXMuZGlzcGxheU9uPXRydWU7aWYodGhpcy5jdXJyZW50 bHlMb2FkaW5nKXtyZXR1cm59ZWxzZXtpZighdGhpcy5pbm5lclBhZ2VFbGVtKXtp Zih0aGlzLmxvYWRIYXNTdGFydGVkKXtyZXR1cm59ZWxzZXtpZihFKXt0aGlzLmxv YWQoKTtyZXR1cm59ZWxzZXtyZXR1cm59fX19dGhpcy5kaXNwbGF5RGlydHk9ZmFs c2U7aWYoIUQpe2lmKCF0aGlzLl9saW5rc1R1cm5lZE9uKXt0aGlzLnR1cm5Pbkxp bmtzKCl9aWYoIXRoaXMuX2ltYWdlc1R1cm5lZE9uKXt0aGlzLnR1cm5PbkltYWdl cygpfWlmKCF0aGlzLl9zdmdGb250c0ZpeGVkKXt0aGlzLmZpeFNWR0ZvbnRzKCl9 fXRoaXMubG9hZEZvbnRzKCk7aWYodGhpcy5faW5uZXJQYWdlVmlzaWJsZSl7cmV0 dXJufXRoaXMuY29udGFpbmVyRWxlbS5jbGFzc05hbWU9dGhpcy5jb250YWluZXJF bGVtLmNsYXNzTmFtZS5yZXBsYWNlKC9wbGFjZWhvbGRlcnxub3RfdmlzaWJsZS9n LCIiKTt0aGlzLl9pbm5lclBhZ2VWaXNpYmxlPXRydWU7aWYoIUQpe3RoaXMuX2Zp dENvbnRlbnRzVG9XaWR0aCgpO3RoaXMuaW5uZXJQYWdlRWxlbS5zdHlsZS5kaXNw bGF5PSJibG9jayJ9fTtsLnByb3RvdHlwZS5oaWRlPWZ1bmN0aW9uKCl7aWYoIXRo aXMuZGlzcGxheU9uJiYhdGhpcy5kaXNwbGF5RGlydHkpe3JldHVybn10aGlzLmRp c3BsYXlPbj1mYWxzZTtpZighdGhpcy5pbm5lclBhZ2VFbGVtKXtyZXR1cm59dGhp cy5kaXNwbGF5RGlydHk9ZmFsc2U7dGhpcy5jb250YWluZXJFbGVtLmNsYXNzTmFt ZT10aGlzLmNvbnRhaW5lckVsZW0uY2xhc3NOYW1lKyIgbm90X3Zpc2libGUiO3Ro aXMuX2lubmVyUGFnZVZpc2libGU9ZmFsc2U7dGhpcy5pbm5lclBhZ2VFbGVtLnN0 eWxlLmRpc3BsYXk9Im5vbmUifTtsLnByb3RvdHlwZS5zZXRMb2FkRm9udEdyb3Vw PWZ1bmN0aW9uKEQpe0QuYWRkUGFnZSh0aGlzKTt0aGlzLmxvYWRGb250R3JvdXA9 RH07bC5wcm90b3R5cGUubG9hZEZvbnRzPWZ1bmN0aW9uKCl7dGhpcy5sb2FkRm9u dEdyb3VwLmxvYWQoKX07dmFyIG49ISEoZG9jdW1lbnQuYWxsJiYoL21zaWUgNi4v aSkudGVzdChuYXZpZ2F0b3IuYXBwVmVyc2lvbikmJndpbmRvdy5BY3RpdmVYT2Jq ZWN0KTtsLnByb3RvdHlwZS5fc2V0Wm9vbVNjYWxlPWZ1bmN0aW9uKEYpe3ZhciBF PXRoaXMuaW5uZXJQYWdlRWxlbTtzd2l0Y2gocil7Y2FzZSBxOkUuc3R5bGUuV2Vi a2l0VHJhbnNmb3JtPSJzY2FsZSgiK0YrIikiO0Uuc3R5bGUuV2Via2l0VHJhbnNm b3JtT3JpZ2luPSJ0b3AgbGVmdCI7YnJlYWs7Y2FzZSB6OkUuc3R5bGUuTW96VHJh bnNmb3JtPSJzY2FsZSgiK0YrIikiO0Uuc3R5bGUuTW96VHJhbnNmb3JtT3JpZ2lu PSJ0b3AgbGVmdCI7YnJlYWs7Y2FzZSB5OkUuc3R5bGUuT1RyYW5zZm9ybT0ic2Nh bGUoIitGKyIpIjtFLnN0eWxlLk9UcmFuc2Zvcm1PcmlnaW49InRvcCBsZWZ0Ijti cmVhaztjYXNlIGI6aWYoIUUub3JpZ2luYWxab29tKXtFLm9yaWdpbmFsWm9vbT1F LmN1cnJlbnRTdHlsZS56b29tPT0ibm9ybWFsIj8xOnBhcnNlRmxvYXQoRS5jdXJy ZW50U3R5bGUuem9vbSkvMTAwO2lmKG4mJiF0aGlzLmRvY01hbmFnZXIuX2lzRW1i ZWQpe0Uub3JpZ2luYWxab29tKj0xLjM1fX1FLnN0eWxlLnpvb209KEUub3JpZ2lu YWxab29tKkYqMTAwKSsiJSI7aWYobil7dmFyIEQ9dGhpcy5pbm5lclBhZ2VFbGVt O3NldFRpbWVvdXQoZnVuY3Rpb24oKXtELnN0eWxlLm1hcmdpbkxlZnQ9RC5zdHls ZS5tYXJnaW5MZWZ0PT09IiI/MDoiIn0sNTAwKX1icmVhaztkZWZhdWx0OnRocm93 IlVua25vd24gc2NhbGUgbWV0aG9kICIrcn19O2wucHJvdG90eXBlLl9maXRDb250 ZW50c1RvV2lkdGg9ZnVuY3Rpb24oKXtpZih0aGlzLl90YXJnZXRXaWR0aCYmdGhp cy5pbm5lclBhZ2VFbGVtJiZ0aGlzLl9pbm5lclBhZ2VWaXNpYmxlKXt2YXIgRD10 aGlzLl90YXJnZXRXaWR0aC90aGlzLm9yaWdXaWR0aDt0aGlzLl9zZXRab29tU2Nh bGUoRCk7dGhpcy5fdGFyZ2V0V2lkdGg9bnVsbH19O2wucHJvdG90eXBlLnNldFdp ZHRoPWZ1bmN0aW9uKEUpe3ZhciBEPU1hdGguY2VpbCgoRS90aGlzLm9yaWdXaWR0 aCkqdGhpcy5vcmlnSGVpZ2h0KTt0aGlzLmNvbnRhaW5lckVsZW0uc3R5bGUud2lk dGg9RSsicHgiO3RoaXMuY29udGFpbmVyRWxlbS5zdHlsZS5oZWlnaHQ9RCsicHgi O3RoaXMuX3RhcmdldFdpZHRoPUU7dGhpcy5fZml0Q29udGVudHNUb1dpZHRoKCl9 O2wucHJvdG90eXBlLnNldEJvdW5kcz1mdW5jdGlvbihFLEQpe2lmKHRoaXMub3Jp Z1dpZHRoL3RoaXMub3JpZ0hlaWdodD5FL0Qpe0Q9TWF0aC5jZWlsKChFL3RoaXMu b3JpZ1dpZHRoKSp0aGlzLm9yaWdIZWlnaHQpfWVsc2V7RT1NYXRoLmNlaWwoKEQv dGhpcy5vcmlnSGVpZ2h0KSp0aGlzLm9yaWdXaWR0aCl9dGhpcy5jb250YWluZXJF bGVtLnN0eWxlLndpZHRoPUUrInB4Ijt0aGlzLmNvbnRhaW5lckVsZW0uc3R5bGUu aGVpZ2h0PUQrInB4Ijt0aGlzLl90YXJnZXRXaWR0aD1FO3RoaXMuX2ZpdENvbnRl bnRzVG9XaWR0aCgpfTtsLnByb3RvdHlwZS50dXJuT25JbWFnZXM9ZnVuY3Rpb24o KXtpZighdGhpcy5pbm5lclBhZ2VFbGVtKXt0aHJvdyJDYW4ndCB0dXJuIG9uIGlt YWdlcyBmb3IgYSBwYWdlIHRoYXQncyBub3QgbG9hZGVkIn1pZih0aGlzLl9pbWFn ZXNUdXJuZWRPbil7dGhyb3ciSW1hZ2VzIGhhdmUgYWxyZWFkeSBiZWVuIHR1cm5l ZCBvbiBmb3IgdGhpcyBkb2N1bWVudCJ9dGhpcy5faW1hZ2VzVHVybmVkT249dHJ1 ZTt2YXIgRj10aGlzLmlubmVyUGFnZUVsZW0uZ2V0RWxlbWVudHNCeVRhZ05hbWUo

ImltZyIpO2Zvcih2YXIgRT0wO0U8Ri5sZW5ndGg7RSsrKXt2YXIgRD1GW0VdO2lm KEQuY2xhc3NOYW1lLnRvTG93ZXJDYXNlKCkuc2VhcmNoKCJhYnNpbWciKT4tMSl7 aWYoIUQuc3JjKXt2YXIgRz10aGlzLmRvY01hbmFnZXIuc3ViSW1hZ2VTcmMoRC5n ZXRBdHRyaWJ1dGUoIm9yaWciKSk7aWYodGhpcy5kb2NNYW5hZ2VyLmVuYWJsZVBO R0hhY2spe0Quc3R5bGUuZmlsdGVyPSJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5N aWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9JyIrRysiJywgc2l6aW5nTWV0 aG9kPSdzY2FsZScpIjtELnNyYz1pZTZfcG5nZml4X3NoaW19ZWxzZXtELnNyYz1H fUQucmVtb3ZlQXR0cmlidXRlKCJvcmlnIik7RC5zdHlsZS5kaXNwbGF5PSJibG9j ayJ9fX19O2wucHJvdG90eXBlLnR1cm5PbkxpbmtzPWZ1bmN0aW9uKCl7aWYoIXRo aXMuaW5uZXJQYWdlRWxlbSl7dGhyb3ciQ2FuJ3QgdHVybiBvbiBsaW5rcyBmb3Ig YSBwYWdlIHRoYXQncyBub3QgbG9hZGVkIn1pZih0aGlzLl9saW5rc1R1cm5lZE9u KXt0aHJvdyJMaW5rcyBoYXZlIGFscmVhZHkgYmVlbiB0dXJuZWQgb24gZm9yIHRo aXMgZG9jdW1lbnQifXRoaXMuX2xpbmtzVHVybmVkT249dHJ1ZTtmdW5jdGlvbiBF KEope3JldHVybihmdW5jdGlvbigpe3dpbmRvdy5sb2NhdGlvbi5oYXNoPSIjb3V0 ZXJfcGFnZV8iK0ouc3Vic3RyaW5nKDQpfSl9dmFyIEg9dGhpcy5pbm5lclBhZ2VF bGVtLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJhIik7Zm9yKHZhciBHPTA7RzxILmxl bmd0aDtHKyspe3ZhciBEPUhbR107aWYoRC5jbGFzc05hbWUudG9Mb3dlckNhc2Uo KS5zZWFyY2goImxsIik+LTEpe2lmKCFELmhyZWYpe3ZhciBJPUQuZ2V0QXR0cmli dXRlKCJvcmlnIik7aWYoSSl7dmFyIEY9by5kZWNvZGUoSSkucmVwbGFjZSgvXmpb XFddKmFbXFddKnZbXFddKmFbXFddKnNbXFddKmNbXFddKnJbXFddKmlbXFddKnBb XFddKnRbXFddKjp8XmZbXFddKmlbXFddKmxbXFddKmVbXFddKjovaWcsIiIpO2lm KEYuc2VhcmNoKC9ecGFnZS8pPi0xKXtELm9uY2xpY2s9RShGKX1lbHNle2lmKEYu c2VhcmNoKC9ebWFpbHRvOi8pPj0wKXt9ZWxzZXtpZihGLnNlYXJjaCgvXihodHRw fGZ0cCkvKTwwKXtGPSJodHRwOi8vIitGfX1ELnRhcmdldD0iX2JsYW5rIjtwKEQs Rik7RC5yZWw9Im5vZm9sbG93In19fX19fTtmdW5jdGlvbiB2KCl7dGhpcy5pbml0 RXZlbnRIZWxwZXIoKTt0aGlzLnZpZXdSZWN0PW51bGw7dGhpcy5lbmFibGVkPWZh bHNlO3ZhciBEPXRoaXM7dGhpcy5fc2Nyb2xsQ2FsbGJhY2s9ZnVuY3Rpb24oKXtE Ll9ldmVudEhhbmRsZXIoInNjcm9sbCIpfTt0aGlzLl9yZXNpemVDYWxsYmFjaz1m dW5jdGlvbihFKXtELl9ldmVudEhhbmRsZXIoInJlc2l6ZSIpfX1tKHYsWyJ2ZXJ0 aWNhbCIsImhvcml6b250YWwiLCJlaXRoZXIiLCJyZXNpemUiXSk7di5wcm90b3R5 cGUuX21ha2VWaWV3UmVjdD1mdW5jdGlvbigpe3ZhciBKPWRvY3VtZW50LmRvY3Vt ZW50RWxlbWVudDt2YXIgST13aW5kb3cuc2Nyb2xsWXx8d2luZG93LnBhZ2VZT2Zm c2V0fHxKLnNjcm9sbFRvcDt2YXIgSD13aW5kb3cuc2Nyb2xsWHx8d2luZG93LnBh Z2VYT2Zmc2V0fHxKLnNjcm9sbExlZnQ7dmFyIEc9d2luZG93LmlubmVyV2lkdGh8 fEouY2xpZW50V2lkdGg7dmFyIEQ9d2luZG93LmlubmVySGVpZ2h0fHxKLmNsaWVu dEhlaWdodDt2YXIgRj1IK0c7dmFyIEU9SStEO3JldHVybnt0b3A6SSxsZWZ0Okgs cmlnaHQ6Rixib3R0b206RSx3aWR0aDpHLGhlaWdodDpEfX07di5wcm90b3R5cGUu X3VwZGF0ZVZpZXdSZWN0PWZ1bmN0aW9uKCl7dmFyIEY9dGhpcy52aWV3UmVjdDt0 aGlzLnZpZXdSZWN0PXRoaXMuX21ha2VWaWV3UmVjdCgpO3ZhciBFPSFGfHxGLmxl ZnQhPXRoaXMudmlld1JlY3QubGVmdHx8Ri53aWR0aCE9dGhpcy52aWV3UmVjdC53 aWR0aDt2YXIgRD0hRnx8Ri50b3AhPXRoaXMudmlld1JlY3QudG9wfHxGLmhlaWdo dCE9dGhpcy52aWV3UmVjdC5oZWlnaHQ7cmV0dXJue3hDaGFuZ2VkOkUseUNoYW5n ZWQ6RH19O3YucHJvdG90eXBlLl9ldmVudEhhbmRsZXI9ZnVuY3Rpb24oRCl7dmFy IEU9dGhpcy5fdXBkYXRlVmlld1JlY3QoKTtpZigoRD09InJlc2l6ZSJ8fEQ9PSJi b3RoIikmJihFLnhDaGFuZ2VkfHxFLnlDaGFuZ2VkKSl7dGhpcy5maXJlRXZlbnQo InJlc2l6ZSIsdGhpcy52aWV3UmVjdCl9aWYoRS54Q2hhbmdlZHx8RS55Q2hhbmdl ZCl7dGhpcy5maXJlRXZlbnQoImVpdGhlciIsdGhpcy52aWV3UmVjdCl9aWYoRS54 Q2hhbmdlZCl7dGhpcy5maXJlRXZlbnQoImhvcml6b250YWwiLHRoaXMudmlld1Jl Y3QpfWlmKEUueUNoYW5nZWQpe3RoaXMuZmlyZUV2ZW50KCJ2ZXJ0aWNhbCIsdGhp cy52aWV3UmVjdCl9fTt2LnByb3RvdHlwZS5lbmFibGU9ZnVuY3Rpb24oKXtpZih0 aGlzLmVuYWJsZWQpe3Rocm93IlZpZXdwb3J0TWFuYWdlciBoYXMgYWxyZWFkeSBi ZWVuIGVuYWJsZWQifXRoaXMuZW5hYmxlZD10cnVlO3RoaXMuY29udGFpbmVyPXdp bmRvdzt0aGlzLl9ldmVudEhhbmRsZXIoImJvdGgiKTtpZih3aW5kb3cuYWRkRXZl bnRMaXN0ZW5lcil7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhp cy5fcmVzaXplQ2FsbGJhY2ssZmFsc2UpO3dpbmRvdy5kb2N1bWVudC5hZGRFdmVu dExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuX3Njcm9sbENhbGxiYWNrLGZhbHNlKX1l bHNle2lmKHdpbmRvdy5hdHRhY2hFdmVudCl7d2luZG93LmF0dGFjaEV2ZW50KCJv bnJlc2l6ZSIsdGhpcy5fcmVzaXplQ2FsbGJhY2spO3dpbmRvdy5hdHRhY2hFdmVu dCgib25zY3JvbGwiLHRoaXMuX3Njcm9sbENhbGxiYWNrKX19fTt2LnByb3RvdHlw ZS5kaXNhYmxlPWZ1bmN0aW9uKCl7aWYoIXRoaXMuZW5hYmxlZCl7dGhyb3ciVmll

d3BvcnRNYW5hZ2VyIGlzIGFscmVhZHkgYmVlbiBlbmFibGVkIn10aGlzLmVuYWJs ZWQ9ZmFsc2U7aWYodGhpcy5jb250YWluZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcil7 d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fcmVzaXpl Q2FsbGJhY2ssZmFsc2UpO3RoaXMuY29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVu ZXIoInNjcm9sbCIsdGhpcy5fc2Nyb2xsQ2FsbGJhY2ssZmFsc2UpfWVsc2V7aWYo d2luZG93LmRldGF0Y2hFdmVudCl7d2luZG93LmRldGF0Y2hFdmVudCgib25yZXNp emUiLHRoaXMuX3Jlc2l6ZUNhbGxiYWNrKTt0aGlzLmNvbnRhaW5lci5kZXRhdGNo RXZlbnQoIm9uc2Nyb2xsIix0aGlzLl9zY3JvbGxDYWxsYmFjayl9fX07ZnVuY3Rp b24gdSgpe311LnByb3RvdHlwZS5uYW1lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMu X25hbWV9O3UucHJvdG90eXBlLnJlZ2lzdGVyPWZ1bmN0aW9uKEUsRCl7aWYodGhp cy5yZWdpc3RlcmVkKXt0aHJvdyJUaGlzIFZpZXdNYW5hZ2VyIGlzIGFscmVhZHkg cmVnaXN0ZXJlZCJ9dGhpcy5yZWdpc3RlcmVkPXRydWU7dGhpcy5kb2N1bWVudE1h bmFnZXI9RTt0aGlzLnZpZXdwb3J0TWFuYWdlcj1EO3RoaXMuX2N1cnJlbnRQYWdl V2lkdGg9ZGVmYXVsdFZpZXdXaWR0aDt0aGlzLl9jdXJyZW50Wm9vbU11bHRpcGxp ZXI9MTt0aGlzLl91cGRhdGVQYWdlV2lkdGhzKCk7dmFyIEY9dGhpcy5kb2N1bWVu dE1hbmFnZXIuZmlyc3RWaXNpYmxlUGFnZTt0aGlzLl9yZWdpc3RlcihFLEQpO2lm KEYpe3RoaXMuZG9jdW1lbnRNYW5hZ2VyLmdvdG9QYWdlKEYucGFnZU51bSx7cHJl dHR5OmZhbHNlfSl9fTt1LnByb3RvdHlwZS5fem9vbWVkUGFnZVdpZHRoPWZ1bmN0 aW9uKCl7cmV0dXJuIHRoaXMuX2N1cnJlbnRQYWdlV2lkdGgqdGhpcy5fY3VycmVu dFpvb21NdWx0aXBsaWVyfTt1LnByb3RvdHlwZS5fdXBkYXRlUGFnZVdpZHRocz1m dW5jdGlvbigpe3RoaXMuZG9jdW1lbnRNYW5hZ2VyLnNldFBhZ2VXaWR0aHModGhp cy5fem9vbWVkUGFnZVdpZHRoKCkpfTt1LnByb3RvdHlwZS5pc1RvcFBhZ2VJblZp ZXc9ZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZX07dS5wcm90b3R5cGUuX3JlZ2lzdGVy PWZ1bmN0aW9uKEUsRCl7fTt1LnByb3RvdHlwZS51bnJlZ2lzdGVyPWZ1bmN0aW9u KCl7aWYoIXRoaXMucmVnaXN0ZXJlZCl7dGhyb3ciVGhpcyBWaWV3TWFuYWdlciBp cyBhbHJlYWR5IHVucmVnaXN0ZXJlZCJ9aWYodGhpcy5pc0Z1bGxzY3JlZW4pe3Ro aXMuZXhpdEZ1bGxzY3JlZW4oKX10aGlzLl9jaGVja0JvZHlXaWR0aCgpO3RoaXMu X3VucmVnaXN0ZXIoKTt0aGlzLnJlZ2lzdGVyZWQ9ZmFsc2U7ZGVsZXRlIHRoaXMu ZG9jdW1lbnRNYW5hZ2VyO2RlbGV0ZSB0aGlzLnZpZXdwb3J0TWFuYWdlcn07dS5w cm90b3R5cGUuX3VucmVnaXN0ZXI9ZnVuY3Rpb24oKXt9O3UucHJvdG90eXBlLl9w YWdpbmdTdGVwPWZ1bmN0aW9uKCl7cmV0dXJuIDF9O3UucHJvdG90eXBlLmdvdG9Q YWdlPWZ1bmN0aW9uKEUsRCl7aWYoIXRoaXMucmVnaXN0ZXJlZCl7dGhyb3ciVmll d01hbmFnZXIgbXVzdCBiZSByZWdpc3RlcmQgdG8gY2FsbCBnb3RvUGFnZSJ9dGhp cy5fZ290b1BhZ2UoRSxEKX07dS5wcm90b3R5cGUuX2dvdG9QYWdlPWZ1bmN0aW9u KEUsRCl7fTt1LnByb3RvdHlwZS5fZmlyZUhpZGVFeHRyYXM9ZnVuY3Rpb24oKXt0 aGlzLmRvY3VtZW50TWFuYWdlci5fZmlyZUhpZGVFeHRyYXMoKTt0aGlzLl9leHRy YXNIaWRkZW49dHJ1ZX07dS5wcm90b3R5cGUuX2ZpcmVTaG93RXh0cmFzPWZ1bmN0 aW9uKCl7dGhpcy5kb2N1bWVudE1hbmFnZXIuX2ZpcmVTaG93RXh0cmFzKCk7dGhp cy5fZXh0cmFzSGlkZGVuPWZhbHNlfTt1LnByb3RvdHlwZS5lbnRlckZ1bGxzY3Jl ZW49ZnVuY3Rpb24oKXtpZih0aGlzLmlzRnVsbHNjcmVlbil7dGhyb3ciRnVsbHNj cmVlbiBpcyBhbHJlYWR5IHNldCJ9dGhpcy5fY2hlY2tCb2R5V2lkdGgoKTt0aGlz LnZpZXdwb3J0TWFuYWdlci5hZGRFdmVudCgicmVzaXplIix0aGlzLl9mdWxsc2Ny ZWVuUmVzaXplZENhbGxiYWNrKTt0aGlzLl9maXJlSGlkZUV4dHJhcygpO3RoaXMu cmVzZXRab29tKCk7dGhpcy5fZW50ZXJGdWxsc2NyZWVuKCk7dGhpcy5fZnVsbHNj cmVlblJlc2l6ZWQodGhpcy52aWV3cG9ydE1hbmFnZXIudmlld1JlY3QpO3RoaXMu X2N1cnJlbnRQYWdlV2lkdGg9dGhpcy52aWV3cG9ydE1hbmFnZXIudmlld1JlY3Qu d2lkdGg7dGhpcy5pc0Z1bGxzY3JlZW49dHJ1ZTt2YXIgRD10aGlzLmRvY3VtZW50 TWFuYWdlci5maXJzdFZpc2libGVQYWdlO2lmKEQpe3RoaXMuZG9jdW1lbnRNYW5h Z2VyLmdvdG9QYWdlKEQucGFnZU51bSx7cHJldHR5OmZhbHNlfSl9dGhpcy5kb2N1 bWVudE1hbmFnZXIuX2ZpcmVFbnRlcmVkRnVsbHNjcmVlbigpfTt1LnByb3RvdHlw ZS5leGl0RnVsbHNjcmVlbj1mdW5jdGlvbigpe2lmKCF0aGlzLmlzRnVsbHNjcmVl bil7dGhyb3ciRnVsbHNjcmVlbiBpcyBub3Qgc2V0In10aGlzLnZpZXdwb3J0TWFu YWdlci5yZW1vdmVFdmVudCgicmVzaXplIix0aGlzLl9mdWxsc2NyZWVuUmVzaXpl ZENhbGxiYWNrKTt0aGlzLl9maXJlU2hvd0V4dHJhcygpO3RoaXMucmVzZXRab29t KCk7dGhpcy5fZXhpdEZ1bGxzY3JlZW4oKTt0aGlzLmlzRnVsbHNjcmVlbj1mYWxz ZTt2YXIgRD10aGlzLmRvY3VtZW50TWFuYWdlci5maXJzdFZpc2libGVQYWdlO2lm KEQpe3RoaXMuZG9jdW1lbnRNYW5hZ2VyLmdvdG9QYWdlKEQucGFnZU51bSx7cHJl dHR5OmZhbHNlfSl9dGhpcy5kb2N1bWVudE1hbmFnZXIuX2ZpcmVFeGl0ZWRGdWxs c2NyZWVuKCl9O3UucHJvdG90eXBlLl92aWV3QmFyV2lkdGg9ZnVuY3Rpb24oKXtp Zih0aGlzLl9leHRyYXNIaWRkZW4pe3JldHVybiAwfWVsc2V7cmV0dXJuIHRoaXMu

ZG9jdW1lbnRNYW5hZ2VyLm9wdGlvbnMuZXh0cmFzV2lkdGh9fTt1LnByb3RvdHlw ZS5fZW50ZXJGdWxsc2NyZWVuPWZ1bmN0aW9uKCl7fTt1LnByb3RvdHlwZS5fZXhp dEZ1bGxzY3JlZW49ZnVuY3Rpb24oKXt9O3UucHJvdG90eXBlLl9mdWxsc2NyZWVu UmVzaXplZD1mdW5jdGlvbihEKXt9O3UucHJvdG90eXBlLl9zY3JvbGxXaXRoWm9v bT1mdW5jdGlvbihELEUpe3dpbmRvdy5zY3JvbGxUbygwLEQudG9wKkUpfTt1LnBy b3RvdHlwZS56b29tPWZ1bmN0aW9uKEUpe3ZhciBEPXRoaXMudmlld3BvcnRNYW5h Z2VyLnZpZXdSZWN0O3RoaXMuX2N1cnJlbnRab29tTXVsdGlwbGllcio9RTt0aGlz Ll9jaGVja0JvZHlXaWR0aCgpO3RoaXMuX3VwZGF0ZVBhZ2VXaWR0aHMoKTt0aGlz LmRvY3VtZW50TWFuYWdlci5zZXRJc1Njcm9sbGluZyh0cnVlKTt0aGlzLl9zY3Jv bGxXaXRoWm9vbShELEUpO3RoaXMuX3pvb21lZCgpO3RoaXMuZG9jdW1lbnRNYW5h Z2VyLnNldElzU2Nyb2xsaW5nKGZhbHNlKTt0aGlzLmRvY3VtZW50TWFuYWdlci5f ZmlyZVpvb21lZChFKX07dS5wcm90b3R5cGUuX3pvb21lZD1mdW5jdGlvbigpe307 dS5wcm90b3R5cGUucmVzZXRab29tPWZ1bmN0aW9uKCl7dGhpcy5fY3VycmVudFpv b21NdWx0aXBsaWVyPTE7dGhpcy5fY2hlY2tCb2R5V2lkdGgoKTt0aGlzLl91cGRh dGVQYWdlV2lkdGhzKCk7dGhpcy5fem9vbWVkKCl9O3UucHJvdG90eXBlLl9jaGVj a0JvZHlXaWR0aD1mdW5jdGlvbihEKXt2YXIgRj1kb2N1bWVudC5kb2N1bWVudEVs ZW1lbnQuY2xpZW50V2lkdGg7dmFyIEU9dGhpcy5fem9vbWVkUGFnZVdpZHRoKCkr dGhpcy5fdmlld0JhcldpZHRoKCkrMTA7Z2xvYmFsSGVhZGVyPWRvY3VtZW50Lmdl dEVsZW1lbnRCeUlkKCJnbG9iYWxfaGVhZGVyIik7aWYoRT5GKXtkb2N1bWVudC5i b2R5LnN0eWxlLndpZHRoPUUrInB4IjtpZihnbG9iYWxIZWFkZXIpe2dsb2JhbEhl YWRlci5zdHlsZS53aWR0aD1GKyJweCJ9fWVsc2V7ZG9jdW1lbnQuYm9keS5zdHls ZS53aWR0aD0iMTAwJSI7aWYoZ2xvYmFsSGVhZGVyKXtnbG9iYWxIZWFkZXIuc3R5 bGUud2lkdGg9IjEwMCUifX19O2Z1bmN0aW9uIEIoRixFLEcpe2lmKHR5cGVvZihz Y3JpYmQpIT09InVuZGVmaW5lZCImJnR5cGVvZihzY3JpYmQualF1ZXJ5KSE9PSJ1 bmRlZmluZWQiKXsoZnVuY3Rpb24oSCl7SCgiaHRtbCwgYm9keSIpLmFuaW1hdGUo e3Njcm9sbFRvcDpIKEYpLm9mZnNldCgpLnRvcH0se3F1ZXVlOmZhbHNlLGR1cmF0 aW9uOkUsZWFzaW5nOiJsaW5lYXIiLGNvbXBsZXRlOkd9KX0pKHNjcmliZC5qUXVl cnkpfWVsc2V7aWYod2luZG93LkVmZmVjdCl7dmFyIEQ9e2R1cmF0aW9uOkUvMTAw MCxmcHM6MTAwLHRyYW5zaXRpb246RWZmZWN0LlRyYW5zaXRpb25zLmxpbmVhcixh ZnRlckZpbmlzaDpHfTtyZXR1cm4gbmV3IEVmZmVjdC5TY3JvbGxUbyhGLEQpfX19 ZnVuY3Rpb24gaigpe3RoaXMuX25hbWU9ImJvb2siO3RoaXMuY3VycmVudFBhZ2VJ ZD1udWxsO3ZhciBEPXRoaXM7dGhpcy5fZnVsbHNjcmVlblJlc2l6ZWRDYWxsYmFj az1mdW5jdGlvbihFKXtELl9mdWxsc2NyZWVuUmVzaXplZChFKX19ai5wcm90b3R5 cGU9bmV3IHUoKTtqLnByb3RvdHlwZS5fcmVnaXN0ZXI9ZnVuY3Rpb24oRSxEKXt0 aGlzLl9wcmVwYXJlRGlzcGxheSgpfTtqLnByb3RvdHlwZS5fdW5yZWdpc3Rlcj1m dW5jdGlvbigpe2Zvcih2YXIgRCBpbiB0aGlzLmRvY3VtZW50TWFuYWdlci5wYWdl cyl7aWYodGhpcy5kb2N1bWVudE1hbmFnZXIucGFnZXMuaGFzT3duUHJvcGVydHko RCkpe3ZhciBFPXRoaXMuZG9jdW1lbnRNYW5hZ2VyLnBhZ2VzW0RdO0UuY29udGFp bmVyRWxlbS5yZW1vdmVDbGFzc05hbWUoImJvb2tfdmlldyIpO0UuY29udGFpbmVy RWxlbS5zdHlsZS5kaXNwbGF5PSIifX19O2oucHJvdG90eXBlLl9wcmVwYXJlRGlz cGxheT1mdW5jdGlvbigpe2Zvcih2YXIgRCBpbiB0aGlzLmRvY3VtZW50TWFuYWdl ci5wYWdlcyl7aWYodGhpcy5kb2N1bWVudE1hbmFnZXIucGFnZXMuaGFzT3duUHJv cGVydHkoRCkpe3ZhciBFPXRoaXMuZG9jdW1lbnRNYW5hZ2VyLnBhZ2VzW0RdO0Uu Y29udGFpbmVyRWxlbS5hZGRDbGFzc05hbWUoImJvb2tfdmlldyIpO0UuY29udGFp bmVyRWxlbS5zdHlsZS5kaXNwbGF5PSJub25lIjtFLmhpZGUoKX19dGhpcy5kb2N1 bWVudE1hbmFnZXIuc2V0UGFnZU1pc3NpbmdNb2R1bGVzVmlzaWJsZShmYWxzZSk7 dGhpcy5kb2N1bWVudE1hbmFnZXIuZ290b1BhZ2UodGhpcy5kb2N1bWVudE1hbmFn ZXIuY3VycmVudFBhZ2VOdW0oKXx8MSl9O2oucHJvdG90eXBlLl96b29tZWQ9ZnVu Y3Rpb24oKXt2YXIgRD10aGlzLmRvY3VtZW50TWFuYWdlci5wYWdlc1t0aGlzLmN1 cnJlbnRQYWdlSWRdfTtqLnByb3RvdHlwZS5fdXBkYXRlUGFnZVdpZHRocz1mdW5j dGlvbigpe3RoaXMuZG9jdW1lbnRNYW5hZ2VyLnNldFBhZ2VXaWR0aHModGhpcy5f em9vbWVkUGFnZVdpZHRoKCkvMil9O2oucHJvdG90eXBlLl9wYWdpbmdTdGVwPWZ1 bmN0aW9uKCl7cmV0dXJuIDJ9O2oucHJvdG90eXBlLl9zaG93UGFnZT1mdW5jdGlv bihEKXt2YXIgRT10aGlzLmRvY3VtZW50TWFuYWdlci5wYWdlc1tEXTtpZihFKXtF LmlzVmlzaWJsZT10cnVlO0UuZGlzcGxheSh0cnVlKTtFLmNvbnRhaW5lckVsZW0u c3R5bGUuZGlzcGxheT0iIn19O2oucHJvdG90eXBlLl9oaWRlUGFnZT1mdW5jdGlv bihEKXt2YXIgRT10aGlzLmRvY3VtZW50TWFuYWdlci5wYWdlc1tEXTtpZihFKXtF LmlzVmlzaWJsZT1mYWxzZTtFLmNvbnRhaW5lckVsZW0uc3R5bGUuZGlzcGxheT0i bm9uZSI7RS5oaWRlKCl9fTtqLnByb3RvdHlwZS5fZ290b1BhZ2U9ZnVuY3Rpb24o RSxHKXtpZihFJTI9PTEpe0UtPTF9dmFyIEQ9bnVsbDt2YXIgRj1udWxsO2lmKHR5

cGVvZih0aGlzLmN1cnJlbnRQYWdlSWQpPT0ibnVtYmVyIil7dGhpcy5faGlkZVBh Z2UodGhpcy5jdXJyZW50UGFnZUlkKTt0aGlzLl9oaWRlUGFnZSh0aGlzLmN1cnJl bnRQYWdlSWQrMSl9RD10aGlzLmRvY3VtZW50TWFuYWdlci5wYWdlc1tFXTtGPXRo aXMuZG9jdW1lbnRNYW5hZ2VyLnBhZ2VzW0UrMV07aWYoIUQmJiFGKXtyZXR1cm59 dGhpcy5jdXJyZW50UGFnZUlkPUU7aWYodGhpcy5pc0Z1bGxzY3JlZW4pe3RoaXMu X3NldFBhZ2VCb3VuZHModGhpcy52aWV3cG9ydE1hbmFnZXIudmlld1JlY3QpfXRo aXMuX3Nob3dQYWdlKEUpO3RoaXMuX3Nob3dQYWdlKEUrMSk7dGhpcy5kb2N1bWVu dE1hbmFnZXIudmlzaWJsZVBhZ2VzQ2hhbmdlZCgpfTtqLnByb3RvdHlwZS5fc2V0 V2lkdGg9ZnVuY3Rpb24oRCl7dGhpcy5fY3VycmVudFBhZ2VXaWR0aD1EO3RoaXMu ZG9jdW1lbnRNYW5hZ2VyLnNldFBhZ2VXaWR0aHMoRCl9O2oucHJvdG90eXBlLl9m dWxsc2NyZWVuUmVzaXplZD1mdW5jdGlvbihEKXt0aGlzLl9zZXRXaWR0aChELndp ZHRoLXBhZ2VQYWRkaW5nKX07ai5wcm90b3R5cGUuX2VudGVyRnVsbHNjcmVlbj1m dW5jdGlvbigpe3RoaXMuX3ByZXZpb3VzUGFnZVdpZHRoPXRoaXMuX2N1cnJlbnRQ YWdlV2lkdGh8fGRlZmF1bHRWaWV3V2lkdGg7Qih0aGlzLmRvY3VtZW50TWFuYWdl ci5wYWdlc1t0aGlzLmN1cnJlbnRQYWdlSWRdLmNvbnRhaW5lckVsZW0sMzAwKX07 ai5wcm90b3R5cGUuX2V4aXRGdWxsc2NyZWVuPWZ1bmN0aW9uKCl7dGhpcy5fc2V0 V2lkdGgoZGVmYXVsdFZpZXdXaWR0aCk7dGhpcy5fY2hlY2tCb2R5V2lkdGgoKX07 ZnVuY3Rpb24gdCgpe3RoaXMuX25hbWU9InNsaWRlc2hvdyI7dGhpcy5jdXJyZW50 UGFnZUlkPW51bGw7dmFyIEQ9dGhpczt0aGlzLl9mdWxsc2NyZWVuUmVzaXplZENh bGxiYWNrPWZ1bmN0aW9uKEUpe0QuX2Z1bGxzY3JlZW5SZXNpemVkKEUpfX10LnBy b3RvdHlwZT1uZXcgdSgpO3QucHJvdG90eXBlLl9yZWdpc3Rlcj1mdW5jdGlvbihF LEQpe3RoaXMuX3ByZXBhcmVEaXNwbGF5KCk7dmFyIEY9ZG9jdW1lbnQuZ2V0RWxl bWVudEJ5SWQoInNjcm9sbF9wcmV2ZW50ZXIiKTtpZihGKXtGLnN0eWxlLm92ZXJm bG93PSJoaWRkZW4iO0Yuc3R5bGUuaGVpZ2h0PSIxMDAlIn19O3QucHJvdG90eXBl Ll91bnJlZ2lzdGVyPWZ1bmN0aW9uKCl7dmFyIEQ9ZG9jdW1lbnQuZ2V0RWxlbWVu dEJ5SWQoInNjcm9sbF9wcmV2ZW50ZXIiKTtpZihEKXtELnN0eWxlLm92ZXJmbG93 PSJ2aXNpYmxlIjtELnN0eWxlLmhlaWdodD0iYXV0byJ9fTt0LnByb3RvdHlwZS5f cHJlcGFyZURpc3BsYXk9ZnVuY3Rpb24oKXtmb3IodmFyIEQgaW4gdGhpcy5kb2N1 bWVudE1hbmFnZXIucGFnZXMpe2lmKHRoaXMuZG9jdW1lbnRNYW5hZ2VyLnBhZ2Vz Lmhhc093blByb3BlcnR5KEQpKXt2YXIgRT10aGlzLmRvY3VtZW50TWFuYWdlci5w YWdlc1tEXTtFLmNvbnRhaW5lckVsZW0uc3R5bGUuZGlzcGxheT0ibm9uZSI7RS5o aWRlKCl9fXRoaXMuZG9jdW1lbnRNYW5hZ2VyLnNldFBhZ2VNaXNzaW5nTW9kdWxl c1Zpc2libGUoZmFsc2UpO3RoaXMuZG9jdW1lbnRNYW5hZ2VyLmdvdG9QYWdlKHRo aXMuZG9jdW1lbnRNYW5hZ2VyLmN1cnJlbnRQYWdlTnVtKCl8fDEpfTt0LnByb3Rv dHlwZS5fc2V0UGFnZUJvdW5kcz1mdW5jdGlvbihEKXt2YXIgRT10aGlzLmRvY3Vt ZW50TWFuYWdlci5wYWdlc1t0aGlzLmN1cnJlbnRQYWdlSWRdO2lmKEUpe0Uuc2V0 Qm91bmRzKEQud2lkdGgsRC5oZWlnaHQpfX07dC5wcm90b3R5cGUuX2dvdG9QYWdl PWZ1bmN0aW9uKEQsRSl7aWYoIXRoaXMuZG9jdW1lbnRNYW5hZ2VyLnBhZ2VzLmhh c093blByb3BlcnR5KEQpKXtyZXR1cm59dmFyIEY7aWYodGhpcy5jdXJyZW50UGFn ZUlkKXtGPXRoaXMuZG9jdW1lbnRNYW5hZ2VyLnBhZ2VzW3RoaXMuY3VycmVudFBh Z2VJZF07aWYoRil7Ri5pc1Zpc2libGU9ZmFsc2U7Ri5jb250YWluZXJFbGVtLnN0 eWxlLmRpc3BsYXk9Im5vbmUiO0YuaGlkZSgpfX10aGlzLmN1cnJlbnRQYWdlSWQ9 RDtGPXRoaXMuZG9jdW1lbnRNYW5hZ2VyLnBhZ2VzW0RdO2lmKHRoaXMuaXNGdWxs c2NyZWVuKXt0aGlzLl9zZXRQYWdlQm91bmRzKHRoaXMudmlld3BvcnRNYW5hZ2Vy LnZpZXdSZWN0KX1GLmlzVmlzaWJsZT10cnVlO0YuZGlzcGxheSh0cnVlKTtGLmNv bnRhaW5lckVsZW0uc3R5bGUuZGlzcGxheT0iIjt0aGlzLmRvY3VtZW50TWFuYWdl ci52aXNpYmxlUGFnZXNDaGFuZ2VkKCl9O3QucHJvdG90eXBlLl9zZXRXaWR0aD1m dW5jdGlvbihEKXt0aGlzLl9jdXJyZW50UGFnZVdpZHRoPUQ7dGhpcy5kb2N1bWVu dE1hbmFnZXIuc2V0UGFnZVdpZHRocyhEKX07dC5wcm90b3R5cGUuX2Z1bGxzY3Jl ZW5SZXNpemVkPWZ1bmN0aW9uKEQpe3RoaXMuX3NldFBhZ2VCb3VuZHMoRCl9O3Qu cHJvdG90eXBlLl9lbnRlckZ1bGxzY3JlZW49ZnVuY3Rpb24oKXt0aGlzLl9wcmV2 aW91c1BhZ2VXaWR0aD10aGlzLl9jdXJyZW50UGFnZVdpZHRofHxkZWZhdWx0Vmll d1dpZHRoO0IodGhpcy5kb2N1bWVudE1hbmFnZXIucGFnZXNbdGhpcy5jdXJyZW50 UGFnZUlkXS5jb250YWluZXJFbGVtLDMwMCl9O3QucHJvdG90eXBlLl9leGl0RnVs bHNjcmVlbj1mdW5jdGlvbigpe3RoaXMuX3NldFdpZHRoKGRlZmF1bHRWaWV3V2lk dGgpO3RoaXMuX2NoZWNrQm9keVdpZHRoKCl9O2Z1bmN0aW9uIGMoKXt0aGlzLl9u YW1lPSJzY3JvbGwiO3ZhciBEPXRoaXM7dGhpcy5fdmVydGljYWxQb3NpdGlvbkNo YW5nZUNhbGxiYWNrPWZ1bmN0aW9uKCl7RC5fdmVydGljYWxQb3NpdGlvbkNoYW5n ZWQoKX07dGhpcy5fZnVsbHNjcmVlblJlc2l6ZWRDYWxsYmFjaz1mdW5jdGlvbigp e0QuX2Z1bGxzY3JlZW5SZXNpemVkKCl9fWMucHJvdG90eXBlPW5ldyB1KCk7Yy5w

cm90b3R5cGUuX3VwZGF0ZUluVmlld3BvcnQ9ZnVuY3Rpb24oRil7dmFyIEQ9dGhp cy52aWV3cG9ydE1hbmFnZXIudmlld1JlY3Q7dmFyIEU9Ri5ib3VuZGluZ1JlY3Q7 dmFyIEc9Ri5pc1Zpc2libGU7aWYoIUR8fCFFKXtGLmlzVmlzaWJsZT1mYWxzZX1l bHNle0YuaXNWaXNpYmxlPShFLmxlZnQ8RC5yaWdodCYmRS5yaWdodD5ELmxlZnQm JkUudG9wPEQuYm90dG9tJiZFLmJvdHRvbT5ELnRvcCl9dGhpcy5hZGphY2VudFZp c2libGVQYWdlcz0yO3JldHVybiBHIT1GLmlzVmlzaWJsZX07Yy5wcm90b3R5cGUu X3ZlcnRpY2FsUG9zaXRpb25DaGFuZ2VkPWZ1bmN0aW9uKCl7dmFyIEU9ZmFsc2U7 Zm9yKHZhciBHIGluIHRoaXMucGFnZXMpe2lmKHRoaXMucGFnZXMuaGFzT3duUHJv cGVydHkoRykpe3ZhciBGPXRoaXMucGFnZXNbR107dmFyIEQ9dGhpcy5fdXBkYXRl SW5WaWV3cG9ydChGKTtFPUV8fER9fWlmKEUpe3RoaXMuZG9jdW1lbnRNYW5hZ2Vy LnZpc2libGVQYWdlc0NoYW5nZWQoKX1lbHNle3RoaXMuZG9jdW1lbnRNYW5hZ2Vy LnNjaGVkdWxlTG9nUGFnZVZpZXcoKX10aGlzLl91cGRhdGVEaXNwbGF5T25QYWdl cygpfTtjLnByb3RvdHlwZS5fdXBkYXRlRGlzcGxheU9uUGFnZXM9ZnVuY3Rpb24o KXtpZih0aGlzLmRvY3VtZW50TWFuYWdlci5maXJzdFZpc2libGVQYWdlJiZ0aGlz LmRvY3VtZW50TWFuYWdlci5sYXN0VmlzaWJsZVBhZ2Upe3ZhciBHPXRoaXMuZG9j dW1lbnRNYW5hZ2VyLmZpcnN0VmlzaWJsZVBhZ2UucGFnZU51bS10aGlzLmFkamFj ZW50VmlzaWJsZVBhZ2VzO3ZhciBGPXRoaXMuZG9jdW1lbnRNYW5hZ2VyLmxhc3RW aXNpYmxlUGFnZS5wYWdlTnVtK3RoaXMuYWRqYWNlbnRWaXNpYmxlUGFnZXM7Zm9y KHZhciBFIGluIHRoaXMucGFnZXMpe2lmKHRoaXMucGFnZXMuaGFzT3duUHJvcGVy dHkoRSkpe3ZhciBEPXRoaXMucGFnZXNbRV07aWYoRCl7aWYoRC5wYWdlTnVtPj1H JiZELnBhZ2VOdW08PUYpe0QuZGlzcGxheSgpfWVsc2V7RC5oaWRlKCk7dGhpcy5k b2N1bWVudE1hbmFnZXIuZmlyZUV2ZW50KCJwYWdlSGlkZSIsRCl9fX19fX07Yy5w cm90b3R5cGUuX3pvb21lZD1mdW5jdGlvbigpe3RoaXMuX3ZlcnRpY2FsUG9zaXRp b25DaGFuZ2VkKCl9O2MucHJvdG90eXBlLl9yZWdpc3Rlcj1mdW5jdGlvbihHLEUp e3RoaXMucGFnZXM9Ry5wYWdlczt0aGlzLnZpZXdwb3J0TWFuYWdlci5hZGRFdmVu dCgidmVydGljYWwiLHRoaXMuX3ZlcnRpY2FsUG9zaXRpb25DaGFuZ2VDYWxsYmFj ayk7Zm9yKHZhciBEIGluIHRoaXMucGFnZXMpe2lmKHRoaXMucGFnZXMuaGFzT3du UHJvcGVydHkoRCkpe3ZhciBGPXRoaXMuZG9jdW1lbnRNYW5hZ2VyLnBhZ2VzW0Rd O0YuY29udGFpbmVyRWxlbS5zdHlsZS5kaXNwbGF5PSIifX10aGlzLmRvY3VtZW50 TWFuYWdlci5zZXRQYWdlTWlzc2luZ01vZHVsZXNWaXNpYmxlKHRydWUpO3RoaXMu ZG9jdW1lbnRNYW5hZ2VyLl91cGRhdGVQYWdlQm91bmRpbmdSZWN0cygpO3RoaXMu X3ZlcnRpY2FsUG9zaXRpb25DaGFuZ2VkKCl9O2MucHJvdG90eXBlLmlzVG9wUGFn ZUluVmlldz1mdW5jdGlvbigpe3ZhciBEPXRoaXMuZG9jdW1lbnRNYW5hZ2VyLmZp cnN0VmlzaWJsZVBhZ2U7aWYoRCl7aWYodGhpcy5kb2N1bWVudE1hbmFnZXIuX2V4 cGVjdGVkRmlyc3RQYWdlTnVtPkQucGFnZU51bSl7cmV0dXJuIHRydWV9cmV0dXJu IEQuYm91bmRpbmdSZWN0LnRvcCs1Pj10aGlzLnZpZXdwb3J0TWFuYWdlci52aWV3 UmVjdC50b3B9ZWxzZXtyZXR1cm4gdHJ1ZX19O2MucHJvdG90eXBlLl91bnJlZ2lz dGVyPWZ1bmN0aW9uKCl7dGhpcy52aWV3cG9ydE1hbmFnZXIucmVtb3ZlRXZlbnQo InZlcnRpY2FsIix0aGlzLl92ZXJ0aWNhbFBvc2l0aW9uQ2hhbmdlQ2FsbGJhY2sp O2RlbGV0ZSB0aGlzLnBhZ2VzfTtjLnByb3RvdHlwZS5fZ290b1BhZ2U9ZnVuY3Rp b24oRSxGKXtpZighdGhpcy5wYWdlcy5oYXNPd25Qcm9wZXJ0eShFKSl7cmV0dXJu fXZhciBHPXRoaXMuZG9jdW1lbnRNYW5hZ2VyLnBhZ2VzW0VdO2lmKEYucHJldHR5 KXt0aGlzLmRvY3VtZW50TWFuYWdlci5zZXRJc1Njcm9sbGluZyh0cnVlKTt2YXIg RD10aGlzO3RoaXMuX3Njcm9sbEVmZmVjdD1CKEcuY29udGFpbmVyRWxlbSwzMDAs ZnVuY3Rpb24oKXtELmRvY3VtZW50TWFuYWdlci5zZXRJc1Njcm9sbGluZyhmYWxz ZSk7aWYoIUQuaXNTY3JvbGxpbmcpe0QuZG9jdW1lbnRNYW5hZ2VyLnZpc2libGVQ YWdlc0NoYW5nZWQoKTtkZWxldGUgRC5fc2Nyb2xsRWZmZWN0fX0pfWVsc2V7dGhp cy5kb2N1bWVudE1hbmFnZXIuc2V0SXNTY3JvbGxpbmcodHJ1ZSk7Ry5fdXBkYXRl Qm91bmRpbmdSZWN0KCk7c2Nyb2xsVG8oRy5ib3VuZGluZ1JlY3QubGVmdCxHLmJv dW5kaW5nUmVjdC50b3ApO3RoaXMuZG9jdW1lbnRNYW5hZ2VyLnNldElzU2Nyb2xs aW5nKGZhbHNlKTt0aGlzLmRvY3VtZW50TWFuYWdlci52aXNpYmxlUGFnZXNDaGFu Z2VkKCl9cmV0dXJuIEcucGFnZU51bX07Yy5wcm90b3R5cGUuX2dvdG9OZXh0UGFn ZT1mdW5jdGlvbigpe2lmKCF0aGlzLmRvY3VtZW50TWFuYWdlci5maXJzdFZpc2li bGVQYWdlKXtyZXR1cm59dGhpcy5kb2N1bWVudE1hbmFnZXIuZ290b1BhZ2UodGhp cy5kb2N1bWVudE1hbmFnZXIuZmlyc3RWaXNpYmxlUGFnZS5wYWdlTnVtKzEse2Rp cmVjdGlvbjoxfSl9O2MucHJvdG90eXBlLl9nb3RvUHJldmlvdXNQYWdlPWZ1bmN0 aW9uKCl7aWYoIXRoaXMuZG9jdW1lbnRNYW5hZ2VyLmZpcnN0VmlzaWJsZVBhZ2Up e3JldHVybn10aGlzLmRvY3VtZW50TWFuYWdlci5nb3RvUGFnZSh0aGlzLmRvY3Vt ZW50TWFuYWdlci5maXJzdFZpc2libGVQYWdlLnBhZ2VOdW0tMSx7ZGlyZWN0aW9u Oi0xfSl9O2MucHJvdG90eXBlLl9zZXRXaWR0aD1mdW5jdGlvbihEKXt0aGlzLl9j

dXJyZW50UGFnZVdpZHRoPUQ7dGhpcy5fdXBkYXRlUGFnZVdpZHRocygpO3RoaXMu X2NoZWNrQm9keVdpZHRoKCl9O2MucHJvdG90eXBlLl9mdWxsc2NyZWVuUmVzaXpl ZD1mdW5jdGlvbigpe3RoaXMuX3NldFdpZHRoKCh3aW5kb3cuaW5uZXJXaWR0aHx8 ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoKS1wYWdlUGFkZGlu Zyl9O2MucHJvdG90eXBlLl9lbnRlckZ1bGxzY3JlZW49ZnVuY3Rpb24oKXt0aGlz Ll9wcmV2aW91c1BhZ2VXaWR0aD10aGlzLl9jdXJyZW50V2lkdGh8fGRlZmF1bHRW aWV3V2lkdGh9O2MucHJvdG90eXBlLl9leGl0RnVsbHNjcmVlbj1mdW5jdGlvbigp e3RoaXMuX3NldFdpZHRoKHRoaXMuX3ByZXZpb3VzUGFnZVdpZHRoKX07ZnVuY3Rp b24gayhGLEUsRCl7dGhpcy5vcHRpb25zPUR8fHt9O3RoaXMub3B0aW9ucy5leHRy YXNXaWR0aD10aGlzLm9wdGlvbnMuZXh0cmFzV2lkdGh8fGV4dHJhc1dpZHRoO3Ro aXMuZGVmYXVsdFZpZXdNb2RlPShGfHwic2Nyb2xsIik7dGhpcy5tb2JpbGU9KEV8 fGZhbHNlKTt0aGlzLmluaXRFdmVudEhlbHBlcigpO3RoaXMucGFnZXM9e307dGhp cy5fcGFnZVdpZHRocz1udWxsO3RoaXMuX2ZvbnRMb2FkZXI9bmV3IHgodGhpcyk7 dGhpcy52aWV3TWFuYWdlcnM9e3Njcm9sbDpuZXcgYygpLHNsaWRlc2hvdzpuZXcg dCgpLGJvb2s6bmV3IGooKX07dGhpcy52aWV3cG9ydE1hbmFnZXI9bmV3IHYoKTt0 aGlzLl9jdXJyZW50Rm9udEFnZ3JlZ2F0b3JIb3N0SWR4PTA7dGhpcy52aXNpYmxl UGFnZXM9W107dGhpcy5maXJzdFZpc2libGVQYWdlPW51bGw7dGhpcy5sYXN0Vmlz aWJsZVBhZ2U9bnVsbDt0aGlzLmN1cnJlbnRGb250R3JvdXA9bmV3IGEoMCx0aGlz Ll9mb250TG9hZGVyKTt0aGlzLmlzU2Nyb2xsaW5nPWZhbHNlO3RoaXMuX3Njcm9s bGluZ0NvdW50PTB9bShrLFsiZXhwZWN0ZWRGaXJzdFBhZ2VDaGFuZ2VkIiwidmll d21vZGVDaGFuZ2VkIiwiZW50ZXJlZEZ1bGxzY3JlZW4iLCJleGl0ZWRGdWxsc2Ny ZWVuIiwiaGlkZUV4dHJhcyIsInNob3dFeHRyYXMiLCJ6b29tZWQiLCJwYWdlSGlk ZSIsInBhZ2VMb2FkZWQiLCJhbGxQYWdlc0FkZGVkIiwicGFnZVZpZXciXSk7ay5w cm90b3R5cGUuX2ZpcmVab29tZWQ9ZnVuY3Rpb24oRCl7dGhpcy5maXJlRXZlbnQo Inpvb21lZCIsRCl9O2sucHJvdG90eXBlLm5leHRGb250QWdncmVnYXRvckhvc3Q9 ZnVuY3Rpb24oKXt0aGlzLl9jdXJyZW50Rm9udEFnZ3JlZ2F0b3JIb3N0SWR4PSh0 aGlzLl9jdXJyZW50Rm9udEFnZ3JlZ2F0b3JIb3N0SWR4KzEpJXRoaXMuZm9udEFn Z3JlZ2F0b3JIb3N0cy5sZW5ndGg7cmV0dXJuIHRoaXMuZm9udEFnZ3JlZ2F0b3JI b3N0c1t0aGlzLl9jdXJyZW50Rm9udEFnZ3JlZ2F0b3JIb3N0SWR4XX07ay5wcm90 b3R5cGUuX2ZpcmVIaWRlRXh0cmFzPWZ1bmN0aW9uKCl7dGhpcy5maXJlRXZlbnQo ImhpZGVFeHRyYXMiKX07ay5wcm90b3R5cGUuX2ZpcmVTaG93RXh0cmFzPWZ1bmN0 aW9uKCl7dGhpcy5maXJlRXZlbnQoInNob3dFeHRyYXMiKX07ay5wcm90b3R5cGUu Y3VycmVudFBhZ2VOdW09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZXhwZWN0ZWRG aXJzdFBhZ2VOdW19O2sucHJvdG90eXBlLnNldHVwVGVzdEVsZW1lbnRzPWZ1bmN0 aW9uKCl7dGhpcy5fZm9udExvYWRlci5zZXR1cFRlc3RFbGVtZW50cygpfTtrLnBy b3RvdHlwZS5wYWdlQ291bnQ9ZnVuY3Rpb24oKXtpZih0aGlzLmhhc093blByb3Bl cnR5KCJfcGFnZUNvdW50Iikpe3JldHVybiB0aGlzLl9wYWdlQ291bnR9dmFyIEQ9 MDtmb3IodmFyIEUgaW4gdGhpcy5wYWdlcyl7aWYodGhpcy5wYWdlcy5oYXNPd25Q cm9wZXJ0eShFKSl7RCsrfX10aGlzLl9wYWdlQ291bnQ9RDtyZXR1cm4gdGhpcy5f cGFnZUNvdW50fTtrLnByb3RvdHlwZS5zZXR1cFBhaWREb2N1bWVudD1mdW5jdGlv bihGLEUpe3RoaXMuYWxsb3dlZFBhZ2VzPUY7dGhpcy5vcmlnaW5hbFBhZ2VDb3Vu dD1FO3RoaXMuX2FsbG93ZWRQYWdlc0hhc2g9W107dGhpcy5fbWF4aW11bUFsbG93 ZWRQYWdlPU1hdGgubWF4LmFwcGx5KG51bGwsdGhpcy5hbGxvd2VkUGFnZXMpO3Ro aXMuX21pbmltdW1BbGxvd2VkUGFnZT1NYXRoLm1pbi5hcHBseShudWxsLHRoaXMu YWxsb3dlZFBhZ2VzKTt0aGlzLl9pc1BhaWREb2N1bWVudD10cnVlO3RoaXMuX3Bh Z2VNaXNzaW5nRWxlbWVudHM9W107Zm9yKHZhciBEPTA7RDxGLmxlbmd0aDtEKysp e3RoaXMuX2FsbG93ZWRQYWdlc0hhc2hbRltEXV09dHJ1ZTtpZigoRD4wJiZGW0Rd PkZbRC0xXSsxKXx8KEQ9PT0wJiZGW0RdIT0xKSl7dGhpcy5fcGFnZU1pc3NpbmdF bGVtZW50cy5wdXNoKCJwYWdlX21pc3NpbmdfZXhwbGFuYXRpb25fIitGW0RdLnRv U3RyaW5nKCkpfX1pZih0aGlzLl9tYXhpbXVtQWxsb3dlZFBhZ2UhPXRoaXMub3Jp Z2luYWxQYWdlQ291bnQpe3RoaXMuX3BhZ2VNaXNzaW5nRWxlbWVudHMucHVzaCgi cGFnZV9taXNzaW5nX2V4cGxhbmF0aW9uXyIrKHRoaXMub3JpZ2luYWxQYWdlQ291 bnQrMSkudG9TdHJpbmcoKSl9fTtrLnByb3RvdHlwZS5taW5pbXVtUGFnZU51bWJl cj1mdW5jdGlvbigpe2lmKHRoaXMudmlld01vZGUoKT09ImJvb2siKXtyZXR1cm4g MH1lbHNle3JldHVybiAxfX07ay5wcm90b3R5cGUubWF4aW11bVBhZ2VOdW1iZXI9 ZnVuY3Rpb24oKXtpZih0aGlzLmFsbG93ZWRQYWdlcyl7cmV0dXJuIHRoaXMub3Jp Z2luYWxQYWdlQ291bnR9ZWxzZXtyZXR1cm4gdGhpcy5wYWdlQ291bnQoKX19O2su cHJvdG90eXBlLmdldENsb3Nlc3RQYWdlTnVtYmVyPWZ1bmN0aW9uKEUsRil7aWYo dGhpcy5hbGxvd2VkUGFnZXMpe2lmKHRoaXMuX2FsbG93ZWRQYWdlc0hhc2hbRV0p e3JldHVybiBFfWVsc2V7aWYoRT49dGhpcy5fbWF4aW11bUFsbG93ZWRQYWdlKXty

ZXR1cm4gdGhpcy5fbWF4aW11bUFsbG93ZWRQYWdlfWVsc2V7aWYoRTw9dGhpcy5f bWluaW11bUFsbG93ZWRQYWdlKXtyZXR1cm4gdGhpcy5fbWluaW11bUFsbG93ZWRQ YWdlfX1mb3IodmFyIEQ9MTtEPD10aGlzLm9yaWdpbmFsUGFnZUNvdW50O0QrKyl7 aWYoRjw9MCYmdGhpcy5fYWxsb3dlZFBhZ2VzSGFzaFtFLURdPT09dHJ1ZSl7cmV0 dXJuIEUtRH1lbHNle2lmKEY+PTAmJkUrRDx0aGlzLm9yaWdpbmFsUGFnZUNvdW50 JiZ0aGlzLl9hbGxvd2VkUGFnZXNIYXNoW0UrRF09PT10cnVlKXtyZXR1cm4gRStE fX19fX1lbHNle3JldHVybiBFfX07ay5wcm90b3R5cGUuc2V0UGFnZU1pc3NpbmdN b2R1bGVzVmlzaWJsZT1mdW5jdGlvbihFKXtpZighdGhpcy5faXNQYWlkRG9jdW1l bnQpe3JldHVybn1mb3IodmFyIEQ9MDtEPHRoaXMuX3BhZ2VNaXNzaW5nRWxlbWVu dHMubGVuZ3RoO0QrKyl7dmFyIEY9JCh0aGlzLl9wYWdlTWlzc2luZ0VsZW1lbnRz W0RdKTtpZihGKXtpZihFKXtGLnNob3coKX1lbHNle0YuaGlkZSgpfX19fTtrLnBy b3RvdHlwZS5nZXROZXh0QXZhaWxhYmxlUGFnZT1mdW5jdGlvbihEKXtyZXR1cm4g Z2V0Q2xvc2VzdFBhZ2VOdW1iZXIoRCwxKX07ay5wcm90b3R5cGUuZ2V0UHJldmlv dXNBdmFpbGFibGVQYWdlPWZ1bmN0aW9uKEQpe3JldHVybiBnZXRDbG9zZXN0UGFn ZU51bWJlcihELC0xKX07ay5wcm90b3R5cGUuZmx1c2hGb250UXVldWU9ZnVuY3Rp b24oKXt0aGlzLl9mb250TG9hZGVyLmZsdXNoRm9udFF1ZXVlKCl9O2sucHJvdG90 eXBlLnZpc2libGVQYWdlc0NoYW5nZWQ9ZnVuY3Rpb24oKXt2YXIgRz1bXTtmb3Io dmFyIEYgaW4gdGhpcy5wYWdlcyl7aWYodGhpcy5wYWdlcy5oYXNPd25Qcm9wZXJ0 eShGKSl7dmFyIEU9dGhpcy5wYWdlc1tGXTtpZihFLmlzVmlzaWJsZSl7Ry5wdXNo KEUpfX19Ry5zb3J0KGZ1bmN0aW9uKEksSCl7aWYoSS5wYWdlTnVtPEgucGFnZU51 bSl7cmV0dXJuIC0xfWVsc2V7cmV0dXJuIDF9fSk7dGhpcy52aXNpYmxlUGFnZXM9 Rzt2YXIgRD10aGlzLmZpcnN0VmlzaWJsZVBhZ2U7dGhpcy5maXJzdFZpc2libGVQ YWdlPUcubGVuZ3RoPjA/R1swXTpudWxsO3RoaXMubGFzdFZpc2libGVQYWdlPUcu bGVuZ3RoPjA/R1tHLmxlbmd0aC0xXTpudWxsO2lmKCF0aGlzLmlzU2Nyb2xsaW5n KXt0aGlzLl9sb2FkQWRqYWNlbnRGb250cygpO3RoaXMuX2xvYWRBZGphY2VudFBh Z2VzKCl9aWYoKHRoaXMuZmlyc3RWaXNpYmxlUGFnZSE9PUQmJighdGhpcy5maXJz dFZpc2libGVQYWdlfHwhRCkpfHx0aGlzLmZpcnN0VmlzaWJsZVBhZ2UucGFnZU51 bSE9RC5wYWdlTnVtKXtpZighdGhpcy5pc1Njcm9sbGluZyYmdGhpcy5maXJzdFZp c2libGVQYWdlKXt0aGlzLl91cGRhdGVFeHBlY3RlZEZpcnN0UGFnZSh0aGlzLmZp cnN0VmlzaWJsZVBhZ2UucGFnZU51bSl9fXRoaXMuc2NoZWR1bGVMb2dQYWdlVmll dygpfTtmdW5jdGlvbiBzKEUsRixEKXtyZXR1cm4gTWF0aC5taW4oRCxNYXRoLm1h eChGLEUpKX1rLnByb3RvdHlwZS5ib3VuZGluZ1JhdGlvRm9yUGFnZT1mdW5jdGlv bihIKXt2YXIgRD10aGlzLnZpZXdwb3J0TWFuYWdlci52aWV3UmVjdDt2YXIgRj1I LmJvdW5kaW5nUmVjdDt2YXIgRz1GLmJvdHRvbS1GLnRvcDt2YXIgRT1GLnJpZ2h0 LUYubGVmdDtyZXR1cm57bGVmdDooRC5sZWZ0LUYubGVmdCkvRSxyaWdodDooRC5y aWdodC1GLnJpZ2h0KS9FKzEsdG9wOnMoKEQudG9wLUYudG9wKS9HK0gucGFnZU51 bSxILnBhZ2VOdW0sSC5wYWdlTnVtKzEpLGJvdHRvbTpzKChELmJvdHRvbS1GLmJv dHRvbSkvRytILnBhZ2VOdW0rMSxILnBhZ2VOdW0sSC5wYWdlTnVtKzEpfX07ay5w cm90b3R5cGUuc2NoZWR1bGVMb2dQYWdlVmlldz1mdW5jdGlvbigpe2lmKHRoaXMu bG9nUGFnZVZpZXdUaW1vdXQpe3dpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5sb2dQ YWdlVmlld1RpbW91dCl9dmFyIEQ9dGhpczt0aGlzLmxvZ1BhZ2VWaWV3VGltb3V0 PXdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7RC5sb2dQYWdlVmlldygpO0Qu bG9nUGFnZVZpZXdUaW1vdXQ9bnVsbH0sMTAwMCl9O2Z1bmN0aW9uIGYoRCl7cmV0 dXJuIE1hdGguZmxvb3IoRCoxMDApLzEwMH1rLnByb3RvdHlwZS5nZXRWaXNpYmxl QkJveD1mdW5jdGlvbigpe3ZhciBEPXt9O2lmKHRoaXMuZmlyc3RWaXNpYmxlUGFn ZSl7dmFyIEY9dGhpcy5ib3VuZGluZ1JhdGlvRm9yUGFnZSh0aGlzLmZpcnN0Vmlz aWJsZVBhZ2UpO0QubGVmdD1GLmxlZnQ7RC5yaWdodD1GLnJpZ2h0O0QudG9wPUYu dG9wfWlmKHRoaXMubGFzdFZpc2libGVQYWdlKXt2YXIgRT10aGlzLmJvdW5kaW5n UmF0aW9Gb3JQYWdlKHRoaXMubGFzdFZpc2libGVQYWdlKTtELmJvdHRvbT1FLmJv dHRvbX1yZXR1cm4gRH07ay5wcm90b3R5cGUubG9nUGFnZVZpZXc9ZnVuY3Rpb24o KXt2YXIgRz10aGlzLmdldFZpc2libGVCQm94KCk7Zm9yKHZhciBEIGluIEcpe2lm KEcuaGFzT3duUHJvcGVydHkoRCkpe0dbRF09ZihHW0RdKX19dmFyIEU9d2luZG93 LiRyYXQ7aWYoRSl7dmFyIEY7aWYod2luZG93LlJBVF9BUElfVkVSU0lPTj09IjIi KXtGPVtbRy5sZWZ0LEcudG9wXSxbRy5yaWdodCxHLmJvdHRvbV1dfWVsc2V7Rj0i KCIrRy5sZWZ0KyIgIitHLnRvcCsiKSAoIitHLnJpZ2h0KyIgIitHLmJvdHRvbSsi KSJ9RSgiZm91cmdlbi52aWV3Y2hhbmdlIixGKX10aGlzLmZpcmVFdmVudCgicGFn ZVZpZXciKTtyZXR1cm4gR307ay5wcm90b3R5cGUuX3VwZGF0ZUV4cGVjdGVkRmly c3RQYWdlPWZ1bmN0aW9uKEQpe3RoaXMuX2V4cGVjdGVkRmlyc3RQYWdlTnVtPUQ7 dGhpcy5maXJlRXZlbnQoImV4cGVjdGVkRmlyc3RQYWdlQ2hhbmdlZCIsdGhpcy5f ZXhwZWN0ZWRGaXJzdFBhZ2VOdW0pfTtrLnByb3RvdHlwZS5fbG9hZEFkamFjZW50

Rm9udHM9ZnVuY3Rpb24oKXtpZih0aGlzLmZpcnN0VmlzaWJsZVBhZ2UmJnRoaXMu bGFzdFZpc2libGVQYWdlKXt2YXIgSD1bXTt2YXIgRD10aGlzLmZpcnN0VmlzaWJs ZVBhZ2UucGFnZU51bS1hZGphY2VudEZvbnRMb2FkUGFnZXM7dmFyIEY9dGhpcy5s YXN0VmlzaWJsZVBhZ2UucGFnZU51bSthZGphY2VudEZvbnRMb2FkUGFnZXM7Zm9y KHZhciBFPUQ7RTw9RjtFKyspe3ZhciBHPXRoaXMucGFnZXNbRV07aWYoRyl7Ry5s b2FkRm9udHMoKX19fX07ay5wcm90b3R5cGUuX2xvYWRBZGphY2VudFBhZ2VzPWZ1 bmN0aW9uKCl7aWYodGhpcy5maXJzdFZpc2libGVQYWdlJiZ0aGlzLmxhc3RWaXNp YmxlUGFnZSl7dmFyIEg9W107dmFyIEQ9dGhpcy5maXJzdFZpc2libGVQYWdlLnBh Z2VOdW0tYWRqYWNlbnRMb2FkUGFnZXM7dmFyIEY9dGhpcy5sYXN0VmlzaWJsZVBh Z2UucGFnZU51bSthZGphY2VudExvYWRQYWdlcztmb3IodmFyIEU9RDtFPD1GO0Ur Kyl7dmFyIEc9dGhpcy5wYWdlc1tFXTtpZihHJiYhRy5sb2FkSGFzU3RhcnRlZCl7 Ry5sb2FkKCk7aWYodGhpcy5tb2JpbGUpe0cuc2V0V2lkdGgodGhpcy5fcGFnZVdp ZHRocyl9fX1pZih0aGlzLm1vYmlsZSl7dGhpcy5fcmVtb3ZlVW51c2VkUGFnZXMo KX19fTtrLnByb3RvdHlwZS5fcmVtb3ZlVW51c2VkUGFnZXM9ZnVuY3Rpb24oKXt2 YXIgRT10aGlzLmZpcnN0VmlzaWJsZVBhZ2UucGFnZU51bS1hZGphY2VudExvYWRQ YWdlczt2YXIgRz10aGlzLmxhc3RWaXNpYmxlUGFnZS5wYWdlTnVtK2FkamFjZW50 TG9hZFBhZ2VzO3ZhciBEPXRoaXMucGFnZXM7dmFyIEY9YWRqYWNlbnRMb2FkUGFn ZXMrMTt3aGlsZShEW0ZdKXtpZihGPEV8fEY+Ryl7RFtGXS5yZW1vdmUoKX1GKyt9 fTtrLnByb3RvdHlwZS5fdXBkYXRlUGFnZUJvdW5kaW5nUmVjdHM9ZnVuY3Rpb24o KXtmb3IodmFyIEQgaW4gdGhpcy5wYWdlcyl7aWYodGhpcy5wYWdlcy5oYXNPd25Q cm9wZXJ0eShEKSl7dGhpcy5wYWdlc1tEXS5fdXBkYXRlQm91bmRpbmdSZWN0KCl9 fX07ay5wcm90b3R5cGUuYWRkUGFnZT1mdW5jdGlvbihFKXtpZihFLnBhZ2VOdW09 PT11bmRlZmluZWQpe3Rocm93Im11c3QgaGF2ZSBwYWdlTnVtIHBhcmFtIn1FLmRv Y01hbmFnZXI9dGhpczt2YXIgRD1uZXcgbChFKTt0aGlzLnBhZ2VzW0UucGFnZU51 bV09RDtpZih0aGlzLl9wYWdlV2lkdGhzKXtELnNldFdpZHRoKHRoaXMuX3BhZ2VX aWR0aHMpfWlmKHRoaXMuY3VycmVudEZvbnRHcm91cC5pc0Z1bGwoKSl7dGhpcy5j dXJyZW50Rm9udEdyb3VwPXRoaXMuY3VycmVudEZvbnRHcm91cC5uZXdOZXh0R3Jv dXAoKX1ELnNldExvYWRGb250R3JvdXAodGhpcy5jdXJyZW50Rm9udEdyb3VwKTty ZXR1cm4gRH07ay5wcm90b3R5cGUuc2V0SXNTY3JvbGxpbmc9ZnVuY3Rpb24oRCl7 aWYoRCl7dGhpcy5fc2Nyb2xsaW5nQ291bnQrPTF9ZWxzZXt0aGlzLl9zY3JvbGxp bmdDb3VudC09MX1pZih0aGlzLl9zY3JvbGxpbmdDb3VudDwwKXt0aGlzLl9zY3Jv bGxpbmdDb3VudD0wfWlmKHRoaXMuX3Njcm9sbGluZ0NvdW50PT09MCl7dGhpcy5p c1Njcm9sbGluZz1mYWxzZX1lbHNle3RoaXMuaXNTY3JvbGxpbmc9dHJ1ZX19O2su cHJvdG90eXBlLnNldFZpZXdNYW5hZ2VyPWZ1bmN0aW9uKEQpe2lmKHRoaXMuX2N1 cnJlbnRWaWV3TWFuYWdlcil7dGhpcy5fY3VycmVudFZpZXdNYW5hZ2VyLnVucmVn aXN0ZXIoKX12YXIgRT10aGlzLl9jdXJyZW50Vmlld01hbmFnZXI7dGhpcy5fY3Vy cmVudFZpZXdNYW5hZ2VyPXRoaXMudmlld01hbmFnZXJzW0RdO3RoaXMuX2N1cnJl bnRWaWV3TWFuYWdlci5yZWdpc3Rlcih0aGlzLHRoaXMudmlld3BvcnRNYW5hZ2Vy KTt0aGlzLmZpcmVFdmVudCgidmlld21vZGVDaGFuZ2VkIix0aGlzLnZpZXdNb2Rl KCksRT9FLm5hbWUoKTpudWxsKX07ay5wcm90b3R5cGUuc2V0RGVmYXVsdFdpZHRo PWZ1bmN0aW9uKEQpe3RoaXMuX2N1cnJlbnRWaWV3TWFuYWdlci5fY3VycmVudFBh Z2VXaWR0aD1EO3RoaXMuX2N1cnJlbnRWaWV3TWFuYWdlci5fY3VycmVudFpvb21N dWx0aXBsaWVyPTE7dGhpcy5fY3VycmVudFZpZXdNYW5hZ2VyLl91cGRhdGVQYWdl V2lkdGhzKCl9O2sucHJvdG90eXBlLnN1YkltYWdlU3JjPWZ1bmN0aW9uKEYpe3Zh ciBFLEQ9MDtmb3IoRT0wO0U8Ri5sZW5ndGg7RSsrKXtEKz1GLmNoYXJDb2RlQXQo RSl9dmFyIEc9dGhpcy5faW1hZ2VEb21haW5TdWJzdGl0dXRpb25MaXN0W0QldGhp cy5faW1hZ2VEb21haW5TdWJzdGl0dXRpb25MaXN0Lmxlbmd0aF07cmV0dXJuIEYu cmVwbGFjZSh0aGlzLl9pbWFnZURvbWFpblN1YnN0aXR1dGlvbkZyb20sRyl9O2su cHJvdG90eXBlLmFsbFBhZ2VzQWRkZWQ9ZnVuY3Rpb24oKXtpZih0aGlzLl9hbGxQ YWdlc0FkZGVkQ2FsbGVkKXt0aHJvdyJjYW4gb25seSBjYWxsIGFsbFBhZ2VzQWRk ZWQgb25jZSJ9dGhpcy52aWV3cG9ydE1hbmFnZXIuZW5hYmxlKCk7dGhpcy5fdXBk YXRlUGFnZUJvdW5kaW5nUmVjdHMoKTt0aGlzLnNldFZpZXdNYW5hZ2VyKHRoaXMu ZGVmYXVsdFZpZXdNb2RlKTt0aGlzLmZpcmVFdmVudCgiYWxsUGFnZXNBZGRlZCIp fTtrLnByb3RvdHlwZS5zZXRFbWJlZGRlZERvYz1mdW5jdGlvbihEKXt0aGlzLl9p c0VtYmVkPShEPT09IlRydWUiKX07ay5wcm90b3R5cGUuc2V0UGFnZVdpZHRocz1m dW5jdGlvbihEKXt0aGlzLl9wYWdlV2lkdGhzPUQ7Zm9yKHZhciBFIGluIHRoaXMu cGFnZXMpe2lmKHRoaXMucGFnZXMuaGFzT3duUHJvcGVydHkoRSkpe3RoaXMucGFn ZXNbRV0uc2V0V2lkdGgodGhpcy5fcGFnZVdpZHRocyl9fXRoaXMuX3VwZGF0ZVBh Z2VCb3VuZGluZ1JlY3RzKCl9O2sucHJvdG90eXBlLmFkZEZvbnQ9ZnVuY3Rpb24o SSxHLEUsSCxGLEQpe3RoaXMuX2ZvbnRMb2FkZXIuYWRkRm9udChJLEcsRSxILEYs

RCl9O2sucHJvdG90eXBlLnNldE51bUZvbnRzPWZ1bmN0aW9uKEQpe3RoaXMuX2Zv bnRMb2FkZXIuc2V0TnVtRm9udHMoRCl9O2sucHJvdG90eXBlLmluaXRTdHlsZXM9 ZnVuY3Rpb24oKXt0aGlzLl9mb250TG9hZGVyLmluaXRTdHlsZXMoKX07ay5wcm90 b3R5cGUuZ290b1BhZ2U9ZnVuY3Rpb24oRCxFKXtpZihEPHRoaXMubWluaW11bVBh Z2VOdW1iZXIoKXx8RD50aGlzLm1heGltdW1QYWdlTnVtYmVyKCkpe3JldHVybn1p ZighRSl7RT17fX1pZihFLnByZXR0eT09PXVuZGVmaW5lZCl7RS5wcmV0dHk9dHJ1 ZX12YXIgRz1FLmRpcmVjdGlvbnx8MDt2YXIgRj10aGlzLnBhZ2VzW0RdO2lmKEY9 PT11bmRlZmluZWQmJnRoaXMuX2lzUGFpZERvY3VtZW50KXtEPXRoaXMuZ2V0Q2xv c2VzdFBhZ2VOdW1iZXIoRCxHKTtGPXRoaXMucGFnZXNbRF19aWYodGhpcy5tb2Jp bGUpe2lmKHRoaXMucGFnZXNbRF0pe3RoaXMucGFnZXNbRF0uc2V0V2lkdGgodGhp cy5fcGFnZVdpZHRocyl9fXRoaXMuX3VwZGF0ZUV4cGVjdGVkRmlyc3RQYWdlKEQp O3RoaXMuX2N1cnJlbnRWaWV3TWFuYWdlci5nb3RvUGFnZSh0aGlzLl9leHBlY3Rl ZEZpcnN0UGFnZU51bSxFKX07ay5wcm90b3R5cGUuZ290b1ByZXZpb3VzUGFnZT1m dW5jdGlvbigpe3ZhciBEPXRoaXMuX2N1cnJlbnRWaWV3TWFuYWdlci5fcGFnaW5n U3RlcCgpO2lmKHRoaXMuX2N1cnJlbnRWaWV3TWFuYWdlci5pc1RvcFBhZ2VJblZp ZXcoKSl7dGhpcy5nb3RvUGFnZSh0aGlzLl9leHBlY3RlZEZpcnN0UGFnZU51bS1E LHtkaXJlY3Rpb246LTF9KX1lbHNle3RoaXMuZ290b1BhZ2UodGhpcy5fZXhwZWN0 ZWRGaXJzdFBhZ2VOdW0se2RpcmVjdGlvbjotMX0pfX07ay5wcm90b3R5cGUuZ290 b05leHRQYWdlPWZ1bmN0aW9uKCl7dmFyIEQ9dGhpcy5fY3VycmVudFZpZXdNYW5h Z2VyLl9wYWdpbmdTdGVwKCk7dGhpcy5nb3RvUGFnZSh0aGlzLl9leHBlY3RlZEZp cnN0UGFnZU51bStELHtkaXJlY3Rpb246MX0pfTtrLnByb3RvdHlwZS5lbnRlckZ1 bGxzY3JlZW49ZnVuY3Rpb24oKXt0aGlzLl9jdXJyZW50Vmlld01hbmFnZXIuZW50 ZXJGdWxsc2NyZWVuKCl9O2sucHJvdG90eXBlLmV4aXRGdWxsc2NyZWVuPWZ1bmN0 aW9uKCl7dGhpcy5fY3VycmVudFZpZXdNYW5hZ2VyLmV4aXRGdWxsc2NyZWVuKCl9 O2sucHJvdG90eXBlLl9maXJlRW50ZXJlZEZ1bGxzY3JlZW49ZnVuY3Rpb24oKXt0 aGlzLmZpcmVFdmVudCgiZW50ZXJlZEZ1bGxzY3JlZW4iKX07ay5wcm90b3R5cGUu X2ZpcmVFeGl0ZWRGdWxsc2NyZWVuPWZ1bmN0aW9uKCl7dGhpcy5maXJlRXZlbnQo ImV4aXRlZEZ1bGxzY3JlZW4iKX07ay5wcm90b3R5cGUudmlld01vZGU9ZnVuY3Rp b24oKXtpZih0aGlzLl9jdXJyZW50Vmlld01hbmFnZXIpe3JldHVybiB0aGlzLl9j dXJyZW50Vmlld01hbmFnZXIubmFtZSgpfXJldHVybiBudWxsfTtrLnByb3RvdHlw ZS56b29tPWZ1bmN0aW9uKEQpe3RoaXMuX2N1cnJlbnRWaWV3TWFuYWdlci56b29t KEQpfTtrLnByb3RvdHlwZS5yZXNldFpvb209ZnVuY3Rpb24oKXt0aGlzLl9jdXJy ZW50Vmlld01hbmFnZXIucmVzZXRab29tKCl9O2sucHJvdG90eXBlLnNldEltYWdl RG9tYWluU3Vic3RpdHV0aW9uPWZ1bmN0aW9uKEQsRSl7dGhpcy5faW1hZ2VEb21h aW5TdWJzdGl0dXRpb25Gcm9tPUQ7dGhpcy5faW1hZ2VEb21haW5TdWJzdGl0dXRp b25MaXN0PUV9O2sucHJvdG90eXBlLmRpc2FibGVWaWV3TWFuYWdlclJlc2l6ZVdp ZHRoPWZ1bmN0aW9uKCl7dS5wcm90b3R5cGUuX2NoZWNrQm9keVdpZHRoPWZ1bmN0 aW9uKCl7fX07ay5wcm90b3R5cGUuZGlzYWJsZT1mdW5jdGlvbigpe2lmKCF0aGlz LmRpc2FibGVkKXt0aGlzLmRpc2FibGVkPXRydWU7dGhpcy52aWV3cG9ydE1hbmFn ZXIuZGlzYWJsZSgpfX07cmV0dXJuIGt9KSgpO3dpbmRvdy5Eb2N1bWVudE1hbmFn ZXI9RG9jdW1lbnRNYW5hZ2VyOw== ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline; filename=4gen.css Content-Type: text/css; name=4gen.css Content-Location: http://fonts3.scribdassets.com/static/4gen.css?1345243169 Content-Transfer-Encoding: 8bit body{font-size:100%;width:100%;margin:0;padding:0;border:none;}div.outer_page{po sition:relative;display:block;font-size:16px;margin:10px;margin-bottom:20px;}div .outer_page.book_view{display:inline-block;}div#page_wrapper{width:100%;}div.pag e{left:0;position:relative;overflow:hidden;font-family:Helvetica,Times;top:0;lin e-height:1;color:#000;}div.layer{position:absolute;left:0;top:0;width:0;height:0 ;}div.inner_layer{position:relative;}div.abstext{position:absolute;}.absimg{posi tion:absolute;border:none;}span.ib{overflow:hidden;white-space:nowrap;display:in line-block;vertical-align:bottom;letter-spacing:0;}div.page div{white-space:nowr ap;}div.scale_hack div.middle_layer{font-size:15.0em;}div.scale_hack div.inner_l ayer{-moz-transform:scale(0.06666666);-moz-transform-origin:top left;-webkit-tra nsform:scale(0.06666666);-webkit-transform-origin:top left;-o-transform:scale(0. 06666666);-o-transform-origin:top left;}span.nw{white-space:nowrap;position:stat

ic;}span.jbr{width:100%;display:inline-block;}.inner_layer div{position:absolute ;}.inner_layer p{position:absolute;margin:0;padding:0;}.inner_layer p.pj span sp an{line-height:0;}.inner_layer p.pl span,.inner_layer p.pc span,.inner_layer p.p r span{line-height:0;}.inner_layer p.pj{white-space:normal;text-align:justify;}. inner_layer p.pl{text-align:left;}.inner_layer p.pr{text-align:right;}.inner_lay er p.pc{text-align:center;}.inner_layer div span,.inner_layer p span{position:re lative;}.inner_layer div,.inner_layer span{white-space:nowrap;}div.outer_page_co ntainer{position:relative;}div.newpage{white-space:nowrap;position:relative;top: 0;left:0;text-rendering:auto;color:#000;}div.image_layer{width:0;height:0;positi on:absolute;top:0;left:0;}div.image_layer .absimg{position:absolute;border:none; left:0;}div.link_layer{width:0;height:0;position:absolute;top:0;left:0;}div.text _layer div{white-space:nowrap;padding:0;margin:0;border:none;line-height:1;}div. text_layer span{white-space:nowrap;padding:0;margin:0;border:none;height:1px;lin e-height:1;}span.g{position:absolute;border:none;left:0;}.text_layer span.w{whit e-space:nowrap;padding:0;margin:0;border:none;height:1px;line-height:1;display:i nline-block;}.text_layer a.ll{position:static;display:inline;color:inherit;textdecoration:none;}.text_layer span.l{white-space:nowrap;padding:0;margin:0;border :none;height:1px;line-height:1;display:inline;}.text_layer span.l1{white-space:n owrap;padding:0;margin:0;border:none;height:1px;line-height:1;display:inline;mar gin-left:-1px;}.text_layer span.l2{white-space:nowrap;padding:0;margin:0;border: none;height:1px;line-height:1;display:inline;margin-left:-2px;}.text_layer span. l3{white-space:nowrap;padding:0;margin:0;border:none;height:1px;line-height:1;di splay:inline;margin-left:-3px;}.text_layer span.l4{white-space:nowrap;padding:0; margin:0;border:none;height:1px;line-height:1;display:inline;margin-left:-4px;}. text_layer span.l5{white-space:nowrap;padding:0;margin:0;border:none;height:1px; line-height:1;display:inline;margin-left:-5px;}.text_layer span.l6{white-space:n owrap;padding:0;margin:0;border:none;height:1px;line-height:1;display:inline;mar gin-left:-6px;}.text_layer span.l7{white-space:nowrap;padding:0;margin:0;border: none;height:1px;line-height:1;display:inline;margin-left:-7px;}.text_layer span. l8{white-space:nowrap;padding:0;margin:0;border:none;height:1px;line-height:1;di splay:inline;margin-left:-8px;}.text_layer span.l9{white-space:nowrap;padding:0; margin:0;border:none;height:1px;line-height:1;display:inline;margin-left:-9px;}. text_layer span.l10{white-space:nowrap;padding:0;margin:0;border:none;height:1px ;line-height:1;display:inline;margin-left:-10px;}.text_layer span.l11{white-spac e:nowrap;padding:0;margin:0;border:none;height:1px;line-height:1;display:inline; margin-left:-11px;}.text_layer span.l12{white-space:nowrap;padding:0;margin:0;bo rder:none;height:1px;line-height:1;display:inline;margin-left:-12px;}.text_layer span.w1{white-space:nowrap;padding:0;margin:0;border:none;height:1px;line-heigh t:1;width:1px;display:inline-block;}.text_layer span.w2{white-space:nowrap;paddi ng:0;margin:0;border:none;height:1px;line-height:1;width:2px;display:inline-bloc k;}.text_layer span.w3{white-space:nowrap;padding:0;margin:0;border:none;height: 1px;line-height:1;width:3px;display:inline-block;}.text_layer span.w4{white-spac e:nowrap;padding:0;margin:0;border:none;height:1px;line-height:1;width:4px;displ ay:inline-block;}.text_layer span.w5{white-space:nowrap;padding:0;margin:0;borde r:none;height:1px;line-height:1;width:5px;display:inline-block;}.text_layer span .w6{white-space:nowrap;padding:0;margin:0;border:none;height:1px;line-height:1;w idth:6px;display:inline-block;}.text_layer span.w7{white-space:nowrap;padding:0; margin:0;border:none;height:1px;line-height:1;width:7px;display:inline-block;}.t ext_layer span.w8{white-space:nowrap;padding:0;margin:0;border:none;height:1px;l ine-height:1;width:8px;display:inline-block;}.text_layer span.w9{white-space:now rap;padding:0;margin:0;border:none;height:1px;line-height:1;width:9px;display:in line-block;}.text_layer span.w10{white-space:nowrap;padding:0;margin:0;border:no ne;height:1px;line-height:1;width:10px;display:inline-block;}.text_layer span.w1 1{white-space:nowrap;padding:0;margin:0;border:none;height:1px;line-height:1;wid th:11px;display:inline-block;}.text_layer span.w12{white-space:nowrap;padding:0; margin:0;border:none;height:1px;line-height:1;width:12px;display:inline-block;} ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline; filename=4gen_non_ie.css Content-Type: text/css; name=4gen_non_ie.css Content-Location: http://fonts1.scribdassets.com/static/4gen_non_ie.css?13452431

69 Content-Transfer-Encoding: 8bit a.ll{display:block;position:absolute;}div.text_layer{position:absolute;top:0;lef t:0;width:0;height:0;-o-transform:scale(0.200000);-o-transform-origin:top left;moz-transform:scale(0.200000);-moz-transform-origin:top left;-webkit-transform:s cale(0.200000);-webkit-transform-origin:top left;-ms-transform:scale(0.2);-ms-tr ansform-origin:top left;transform:scale(0.2);transform-origin:top left;}span.a{p osition:absolute;border:none;left:0;} ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline; filename=smlgif.gif Content-Type: image/gif; name=smlgif.gif Content-Location: http://s6.scribdassets.com/images/smlgif.gif Content-Transfer-Encoding: Base64 R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline; filename=in.js Content-Type: text/javascript; charset=UTF-8; name=in.js Content-Location: http://platform.linkedin.com/in.js Content-Transfer-Encoding: 8bit if(!window.console){window.console={} }if(typeof window.console.log!=="function"){window.console.log=function(){} }if(typeof window.console.warn!=="function"){window.console.warn=function(){} }(function(){var R={"bootstrapInit":+new Date()},p=document,l=(/^https?:\/\/.*?l inkedin.*?\/in\.js.*?$/),b=(/async=true/),D=(/^https:\/\//),J=(/\/\*((?:.|[\s])* ?)\*\//m),F=(/\r/g),j=(/[\s]/g),g=(/^[\s]*(.*?)[\s]*:[\s]*(.*)[\s]*$/),x=(/_([az])/gi),A=(/^[\s]+|[\s]+$/g),u=(/^[a-z]{2}(_)[A-Z]{2}$/),C=(/suppress(Warnings|_ warnings):true/gi),d=(/^api(Key|_key)$/gi),k="\n",G=",",n="",I="@",o="extensions ",Y="on",w="onDOMReady",ab="onOnce",Z="script",L="https://www.linkedin.com/uas/j s/userspace?v=0.0.2000-RC1.21420-1402",h="https://platform.linkedin.com/js/secur eAnonymousFramework?v=0.0.2000-RC1.21420-1402",H="http://platform.linkedin.com/j s/nonSecureAnonymousFramework?v=0.0.2000-RC1.21420-1402",B=p.getElementsByTagNam e("head")[0],t=p.getElementsByTagName(Z),W=[],a=[],O=["lang"],Q={},c=false,ac,m, V,r,K,E,aa; if(window.IN&&IN.ENV&&IN.ENV.js){if(!IN.ENV.js.suppressWarnings){console.warn("d uplicate in.js loaded, any parameters will be ignored") }return }window.IN=window.IN||{}; IN.ENV={}; IN.ENV.js={}; IN.ENV.js.extensions={}; statsQueue=IN.ENV.statsQueue=[]; statsQueue.push(R); ac=IN.ENV.evtQueue=[]; IN.Event={on:function(){ac.push({type:Y,args:arguments}) },onDOMReady:function(){ac.push({type:w,args:arguments}) },onOnce:function(){ac.push({type:ab,args:arguments}) }}; IN.$extensions=function(af){var ai,i,ae,ah,ag=IN.ENV.js.extensions; ai=af.split(G); for(var ad=0,e=ai.length; ad<e; ad++){i=U(ai[ad],I,2); ae=i[0].replace(A,n); ah=i[1]; if(!ag[ae]){ag[ae]={src:(ah)?ah.replace(A,n):n,loaded:false} }}};

function U(af,ad,e){var ag=af.split(ad); if(!e){return ag }if(ag.length<e){return ag }var ae=ag.splice(0,e-1); var i=ag.join(ad); ae.push(i); return ae }function v(e,i){if(e==o){IN.$extensions(i); return null }if(d.test(e)){i=i.replace(j,n) }if(i==""){return null }return i }function N(ae,af){af=v(ae,af); if(af){ae=ae.replace(x,function(){return arguments[1].toUpperCase() }); if(ae==="lang"&&!u.test(af)){try{var ad=af.replace("-","_").split("_"); ad=[ad[0].substr(0,2).toLowerCase(),ad[1].substr(0,2).toUpperCase()].join("_"); if(!u.test(ad)){throw new Error() }else{af=ad }}catch(ag){if(!(aa||IN.ENV.js.suppressWarnings)&&af){console.warn("'"+af+"' is not a supported language, defaulting to 'en_US'") }af="en_US" }}IN.ENV.js[ae]=af; var ah=[encodeURIComponent(ae),encodeURIComponent(af)].join("="); for(var i in O){if(O.hasOwnProperty(i)&&O[i]===ae){a.push(ah); return }}W.push(ah) }}m=""; for(T=0,q=t.length; T<q; T++){var f=t[T]; if(!l.test(f.src)){continue }if(b.test(f.src)){c=true }try{m=f.innerHTML.replace(A,n) }catch(z){try{m=f.text.replace(A,n) }catch(y){}}}m=m.replace(J,"$1").replace(A,n).replace(F,n); aa=C.test(m.replace(j,n)); for(var T=0,S=m.split(k),q=S.length; T<q; T++){var s=S[T]; if(!s||s.replace(j,n).length<=0){continue }try{V=s.match(g); r=V[1].replace(A,n); K=V[2].replace(A,n) }catch(X){if(!aa){console.warn("script tag contents must be key/value pairs sepa rated by a colon. Source: "+X) }continue }N(r,K) }N("secure",(D.test(document.location.href))?1:0); function M(e,i){return e+((/\?/.test(e))?"&":"?")+i.join("&") }IN.init=function P(e){var ad,ae; e=e||{}; for(var i in e){if(e.hasOwnProperty(i)){N(i,e[i]) }}E=p.createElement(Z); ae=(IN.ENV.js.apiKey)?M(L,W):(IN.ENV.js.secure)?h:H; E.src=M(ae,a); B.appendChild(E); statsQueue.push({"userspaceRequested":+new Date()}) }; statsQueue.push({"bootstrapLoaded":+new Date()});

if(!c){IN.init() }})(); ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline; filename=spinner_mac_white.gif Content-Type: image/gif; name=spinner_mac_white.gif Content-Location: http://s5.scribdassets.com/images/spinner_mac_white.gif?134851 7579 Content-Transfer-Encoding: Base64 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 YwSRlycNcWskCkApIyEAOwAAAAAAAAAAAA== ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline; filename=spinner_trans_gray.gif Content-Type: image/gif; name=spinner_trans_gray.gif Content-Location: http://s7.scribdassets.com/images/spinner_trans_gray.gif?13485 17579 Content-Transfer-Encoding: Base64 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 YwSRlycNcWskCkApIyEAOwAAAAAAAAAAAA== ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline; filename=spinner_large_mac_white.gif Content-Type: image/gif; name=spinner_large_mac_white.gif Content-Location: http://s6.scribdassets.com/images/spinner_large_mac_white.gif? 1348517579 Content-Transfer-Encoding: Base64 R0lGODlhMAAwAPcAAFVVVWJiYmdnZ2lpaW1tbXBwcHZ2dnh4eHx8fIODg4SEhIqK io6OjpCQkJWVlZubm5ycnKKioqWlpaurq6+vr7Gxsbe3t7m5ub29vcPDw8TExMnJ yc/Pz9LS0tbW1tvb297e3uPj4+fn5+np6e/v7/Ly8vf39/v7+////1ZWVlhYWF5e XmVlZWtra3FxcXV1dXp6eoGBgYWFhYmJiY2NjZqamqenp6ioqKysrLS0tLi4uMLC wsXFxc7OztHR0dXV1d3d3eHh4ejo6FpaWm5ubnd3d3t7e4aGhoyMjJOTk5eXl5mZ mZ6enq6urrOzs7y8vMHBwcfHx8jIyNDQ0NfX19/f3+Tk5Orq6u7u7vDw8PT09Gho aJGRkaOjo6ampqqqqrKyssrKyuDg4Obm5uzs7PHx8fb29llZWXJycnR0dHl5eYCA gJaWlp+fn6CgoKSkpK2trbCwsLq6ur+/v8vLy83NzdTU1NnZ2eXl5V9fX39/f5KS ktra2tzc3O3t7fj4+GRkZIuLi5SUlKmpqbW1tczMzOvr6/n5+X19feLi4vX19fr6 +nNzc4+Pj8bGxtPT035+fpiYmJ2dnb6+vsDAwKGhoba2tgAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/i1NYWRlIGJ5IEtyYXNp bWlyYSBOZWpjaGV2YSAod3d3LmxvYWRpbmZvLm5ldCkAIfkEAQoAKAAsAAAAADAA MAAABv9AlHBILBqPyKRySQxpNCGmdFp0AAANqpZ4OhlPjCtju/04It7iQnw0ldLk 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 ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline; filename=bk-static.js Content-Type: application/x-javascript; name=bk-static.js Content-Location: http://www.bkrtx.com/js/bk-static.js Content-Transfer-Encoding: Base64 LyogMy4wLjYtNTk3NjggKi8gCihmdW5jdGlvbigpe3ZhciByZXF1aXJlanMscmVx dWlyZSxkZWZpbmU7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSx0KXt2YXIgbj10 JiZ0LnNwbGl0KCIvIikscj1sLm1hcCxpPXImJnJbIioiXXx8e30scyxvLHUsYSxm LGMsaDtpZihlJiZlLmNoYXJBdCgwKT09PSIuIiYmdCl7bj1uLnNsaWNlKDAsbi5s ZW5ndGgtMSksZT1uLmNvbmNhdChlLnNwbGl0KCIvIikpO2ZvcihmPTA7aD1lW2Zd O2YrKyl7aWYoaD09PSIuIil7ZS5zcGxpY2UoZiwxKSxmLT0xO31lbHNle2lmKGg9 PT0iLi4iKXtpZihmPT09MSYmKGVbMl09PT0iLi4ifHxlWzBdPT09Ii4uIikpe3Jl dHVybiAhMDt9Zj4wJiYoZS5zcGxpY2UoZi0xLDIpLGYtPTIpO319fWU9ZS5qb2lu KCIvIik7fWlmKChufHxpKSYmcil7cz1lLnNwbGl0KCIvIik7Zm9yKGY9cy5sZW5n dGg7Zj4wO2YtPTEpe289cy5zbGljZSgwLGYpLmpvaW4oIi8iKTtpZihuKXtmb3Io Yz1uLmxlbmd0aDtjPjA7Yy09MSl7dT1yW24uc2xpY2UoMCxjKS5qb2luKCIvIild O2lmKHUpe3U9dVtvXTtpZih1KXthPXU7YnJlYWs7fX19fWE9YXx8aVtvXTtpZihh KXtzLnNwbGljZSgwLGYsYSksZT1zLmpvaW4oIi8iKTticmVhazt9fX1yZXR1cm4g ZTt9ZnVuY3Rpb24gbih0LG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBkLmFw cGx5KGUsaC5jYWxsKGFyZ3VtZW50cywwKS5jb25jYXQoW3Qsbl0pKTt9O31mdW5j dGlvbiByKGUpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gdChuLGUpO307fWZ1 bmN0aW9uIGkoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe2FbZV09dDt9O31mdW5jdGlv biBzKHQpe2lmKGYuaGFzT3duUHJvcGVydHkodCkpe3ZhciBuPWZbdF07ZGVsZXRl IGZbdF0sY1t0XT0hMCxwLmFwcGx5KGUsbik7fWlmKCFhLmhhc093blByb3BlcnR5 KHQpKXt0aHJvdyBuZXcgRXJyb3IoIk5vICIrdCk7fXJldHVybiBhW3RdO31mdW5j dGlvbiBvKGUsbil7dmFyIGksbyx1PWUuaW5kZXhPZigiISIpO3JldHVybiB1IT09 LTE/KGk9dChlLnNsaWNlKDAsdSksbiksZT1lLnNsaWNlKHUrMSksbz1zKGkpLG8m Jm8ubm9ybWFsaXplP2U9by5ub3JtYWxpemUoZSxyKG4pKTplPXQoZSxuKSk6ZT10 KGUsbikse2Y6aT9pKyIhIitlOmUsbjplLHA6b307fWZ1bmN0aW9uIHUoZSl7cmV0 dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGwmJmwuY29uZmlnJiZsLmNvbmZpZ1tlXXx8 e307fTt9dmFyIGE9e30sZj17fSxsPXt9LGM9e30saD1bXS5zbGljZSxwLGQ7cD1m dW5jdGlvbih0LHIsbCxoKXt2YXIgcD1bXSxkLHYsbSxnLHksYjtoPWh8fHQ7aWYo dHlwZW9mIGw9PSJmdW5jdGlvbiIpe3I9IXIubGVuZ3RoJiZsLmxlbmd0aD9bInJl cXVpcmUiLCJleHBvcnRzIiwibW9kdWxlIl06cjtmb3IoYj0wO2I8ci5sZW5ndGg7 YisrKXt5PW8ocltiXSxoKSxtPXkuZjtpZihtPT09InJlcXVpcmUiKXtwW2JdPW4o dCk7fWVsc2V7aWYobT09PSJleHBvcnRzIil7cFtiXT1hW3RdPXt9LGQ9ITA7fWVs c2V7aWYobT09PSJtb2R1bGUiKXt2PXBbYl09e2lkOnQsdXJpOiIiLGV4cG9ydHM6 YVt0XSxjb25maWc6dSh0KX07fWVsc2V7aWYoYS5oYXNPd25Qcm9wZXJ0eShtKXx8 Zi5oYXNPd25Qcm9wZXJ0eShtKSl7cFtiXT1zKG0pO31lbHNle2lmKHkucCl7eS5w LmxvYWQoeS5uLG4oaCwhMCksaShtKSx7fSkscFtiXT1hW21dO31lbHNle2lmKCFj W21dKXt0aHJvdyBuZXcgRXJyb3IodCsiIG1pc3NpbmcgIittKTt9fX19fX19Zz1s LmFwcGx5KGFbdF0scCk7aWYodCl7aWYodiYmdi5leHBvcnRzIT09ZSYmdi5leHBv cnRzIT09YVt0XSl7YVt0XT12LmV4cG9ydHM7fWVsc2V7aWYoZyE9PWV8fCFkKXth W3RdPWc7fX19fWVsc2V7dCYmKGFbdF09bCk7fX0scmVxdWlyZWpzPXJlcXVpcmU9 ZD1mdW5jdGlvbih0LG4scixpKXtyZXR1cm4gdHlwZW9mIHQ9PSJzdHJpbmciP3Mo byh0LG4pLmYpOih0LnNwbGljZXx8KGw9dCxuLnNwbGljZT8odD1uLG49cixyPW51 bGwpOnQ9ZSksbj1ufHxmdW5jdGlvbigpe30saT9wKGUsdCxuLHIpOnNldFRpbWVv dXQoZnVuY3Rpb24oKXtwKGUsdCxuLHIpO30sMTUpLGQpO30sZC5jb25maWc9ZnVu Y3Rpb24oZSl7cmV0dXJuIGw9ZSxkO30sZGVmaW5lPWZ1bmN0aW9uKGUsdCxuKXt0 LnNwbGljZXx8KG49dCx0PVtdKSxmW2VdPVtlLHQsbl07fSxkZWZpbmUuYW1kPXtq UXVlcnk6ITB9O30pKCksZGVmaW5lKCIuLi92ZW5kb3IvYWxtb25kIixmdW5jdGlv bigpe30pLGZvcnR5b25lPW5ldyBmdW5jdGlvbigpe3RoaXMuZT0obmV3IERhdGUo MjAwNSwwLDE1KSkuZ2V0VGltZXpvbmVPZmZzZXQoKSx0aGlzLmY9KG5ldyBEYXRl KDIwMDUsNiwxNSkpLmdldFRpbWV6b25lT2Zmc2V0KCksdGhpcy5wbHVnaW5zPVtd

LHRoaXMuZD17Rmxhc2g6WyJTaG9ja3dhdmVGbGFzaC5TaG9ja3dhdmVGbGFzaCIs ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0VmFyaWFibGUoIiR2ZXJzaW9uIik7fV0s RGlyZWN0b3I6WyJTV0N0bC5TV0N0bCIsZnVuY3Rpb24oZSl7cmV0dXJuIGUuU2hv Y2t3YXZlVmVyc2lvbigiIik7fV19LHRoaXMucj1mdW5jdGlvbihlKXt2YXIgdDt0 cnl7dD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChlKTt9Y2F0Y2gobil7fWlmKHQ9 PT1udWxsfHx0eXBlb2YgdD09InVuZGVmaW5lZCIpe3RyeXt0PWRvY3VtZW50Lmdl dEVsZW1lbnRzQnlOYW1lKGUpWzBdO31jYXRjaChyKXt9fWlmKHQ9PT1udWxsfHx0 eXBlb2YgdD09InVuZGVmaW5lZCIpe2Zvcih2YXIgaT0wO2k8ZG9jdW1lbnQuZm9y bXMubGVuZ3RoO2krKyl7Zm9yKHZhciBzPWRvY3VtZW50LmZvcm1zW2ldLG89MDtv PHMuZWxlbWVudHMubGVuZ3RoO28rKyl7dmFyIHU9c1tvXTtpZih1Lm5hbWU9PT1l fHx1LmlkPT09ZSl7cmV0dXJuIHU7fX19fXJldHVybiB0O30sdGhpcy5iPWZ1bmN0 aW9uKGUpe3ZhciB0PSIiO3RyeXt0eXBlb2YgdGhpcy5jLmdldENvbXBvbmVudFZl cnNpb24hPSJ1bmRlZmluZWQiJiYodD10aGlzLmMuZ2V0Q29tcG9uZW50VmVyc2lv bihlLCJDb21wb25lbnRJRCIpKTt9Y2F0Y2gobil7ZT1uLm1lc3NhZ2UubGVuZ3Ro LGU9ZT40MD80MDplLHQ9ZXNjYXBlKG4ubWVzc2FnZS5zdWJzdHIoMCxlKSk7fXJl dHVybiB0O30sdGhpcy5leGVjPWZ1bmN0aW9uKGIpe2Zvcih2YXIgYz0wO2M8Yi5s ZW5ndGg7YysrKXt0cnl7dmFyIGQ9ZXZhbChiW2NdKTtpZihkKXtyZXR1cm4gZDt9 fWNhdGNoKGUpe319cmV0dXJuIiI7fSx0aGlzLnA9ZnVuY3Rpb24oZSl7dmFyIHQ9 IiI7dHJ5e2lmKG5hdmlnYXRvci5wbHVnaW5zJiZuYXZpZ2F0b3IucGx1Z2lucy5s ZW5ndGgpe3ZhciBuPVJlZ0V4cChlKyIuKiAoWzAtOS5fXSspIik7Zm9yKGU9MDtl PG5hdmlnYXRvci5wbHVnaW5zLmxlbmd0aDtlKyspe3ZhciByPW4uZXhlYyhuYXZp Z2F0b3IucGx1Z2luc1tlXS5uYW1lKTtyPT09bnVsbCYmKHI9bi5leGVjKG5hdmln YXRvci5wbHVnaW5zW2VdLmRlc2NyaXB0aW9uKSksciYmKHQ9clsxXSk7fX1lbHNl e2lmKHdpbmRvdy5BY3RpdmVYT2JqZWN0JiZ0aGlzLmRbZV0pe3RyeXt2YXIgaT1u ZXcgQWN0aXZlWE9iamVjdCh0aGlzLmRbZV1bMF0pO3Q9dGhpcy5kW2VdWzFdKGkp O31jYXRjaChzKXt0PSIiO319fX1jYXRjaChvKXt0PW8ubWVzc2FnZTt9cmV0dXJu IHQ7fSx0aGlzLnE9ZnVuY3Rpb24oKXtmb3IodmFyIGU9WyJBY3JvYmF0IiwiRmxh c2giLCJRdWlja1RpbWUiLCJKYXZhIFBsdWctaW4iLCJEaXJlY3RvciIsIk9mZmlj ZSJdLHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIG49ZVt0XTt0aGlzLnBsdWdpbnNb bl09dGhpcy5wKG4pO319LHRoaXMuZz1mdW5jdGlvbigpe3JldHVybiBNYXRoLmFi cyh0aGlzLmUtdGhpcy5mKTt9LHRoaXMuaD1mdW5jdGlvbigpe3JldHVybiB0aGlz LmcoKSE9PTA7fSx0aGlzLmk9ZnVuY3Rpb24oZSl7dmFyIHQ9TWF0aC5taW4odGhp cy5lLHRoaXMuZik7cmV0dXJuIHRoaXMuaCgpJiZlLmdldFRpbWV6b25lT2Zmc2V0 KCk9PT10O30sdGhpcy5uPWZ1bmN0aW9uKGUpe3ZhciB0PTA7cmV0dXJuIHQ9MCx0 aGlzLmkoZSkmJih0PXRoaXMuZygpKSx0PS0oZS5nZXRUaW1lem9uZU9mZnNldCgp K3QpLzYwO30sdGhpcy5qPWZ1bmN0aW9uKGUsdCxuLHIpe3R5cGVvZiByIT0iYm9v bGVhbiImJihyPSExKTtmb3IodmFyIGk9ITAsczsocz1lLmluZGV4T2YodCkpPj0w JiYocnx8aSk7KXtlPWUuc3Vic3RyKDAscykrbitlLnN1YnN0cihzK3QubGVuZ3Ro KSxpPSExO31yZXR1cm4gZTt9LHRoaXMubT1mdW5jdGlvbigpe3JldHVybihuZXcg RGF0ZSgyMDA1LDUsNywyMSwzMyw0NCw4ODgpKS50b0xvY2FsZVN0cmluZygpO30s dGhpcy5rPWZ1bmN0aW9uKGIpe3ZhciBjPW5ldyBEYXRlLGQ9W2Z1bmN0aW9uKCl7 cmV0dXJuIlRGMSI7fSxmdW5jdGlvbigpe3JldHVybiIwMTUiO30sZnVuY3Rpb24o KXtyZXR1cm4gU2NyaXB0RW5naW5lTWFqb3JWZXJzaW9uKCk7fSxmdW5jdGlvbigp e3JldHVybiBTY3JpcHRFbmdpbmVNaW5vclZlcnNpb24oKTt9LGZ1bmN0aW9uKCl7 cmV0dXJuIFNjcmlwdEVuZ2luZUJ1aWxkVmVyc2lvbigpO30sZnVuY3Rpb24oZSl7 cmV0dXJuIGUuYigiezc3OTA3NjlDLTA0NzEtMTFEMi1BRjExLTAwQzA0RkEzNUQw Mn0iKTt9LGZ1bmN0aW9uKGUpe3JldHVybiBlLmIoIns4OTgyMDIwMC1FQ0JELTEx Q0YtOEI4NS0wMEFBMDA1QjQzNDB9Iik7fSxmdW5jdGlvbihlKXtyZXR1cm4gZS5i KCJ7MjgzODA3QjUtMkM2MC0xMUQwLUEzMUQtMDBBQTAwQjkyQzAzfSIpO30sZnVu Y3Rpb24oZSl7cmV0dXJuIGUuYigiezRGMjE2OTcwLUM5MEMtMTFEMS1CNUM3LTAw MDBGODA1MTUxNX0iKTt9LGZ1bmN0aW9uKGUpe3JldHVybiBlLmIoIns0NEJCQTg0 OC1DQzUxLTExQ0YtQUFGQS0wMEFBMDBCNjAxNUN9Iik7fSxmdW5jdGlvbihlKXty ZXR1cm4gZS5iKCJ7OTM4MUQ4RjItMDI4OC0xMUQwLTk1MDEtMDBBQTAwQjkxMUE1 fSIpO30sZnVuY3Rpb24oZSl7cmV0dXJuIGUuYigiezRGMjE2OTcwLUM5MEMtMTFE MS1CNUM3LTAwMDBGODA1MTUxNX0iKTt9LGZ1bmN0aW9uKGUpe3JldHVybiBlLmIo Ins1QThENkVFMC0zRTE4LTExRDAtODIxRS00NDQ1NTM1NDAwMDB9Iik7fSxmdW5j dGlvbihlKXtyZXR1cm4gZS5iKCJ7ODk4MjAyMDAtRUNCRC0xMUNGLThCODUtMDBB QTAwNUI0MzgzfSIpO30sZnVuY3Rpb24oZSl7cmV0dXJuIGUuYigiezA4QjBFNUMw LTRGQ0ItMTFDRi1BQUE1LTAwNDAxQzYwODU1NX0iKTt9LGZ1bmN0aW9uKGUpe3Jl dHVybiBlLmIoIns0NUVBNzVBMC1BMjY5LTExRDEtQjVCRi0wMDAwRjgwNTE1MTV9

Iik7fSxmdW5jdGlvbihlKXtyZXR1cm4gZS5iKCJ7REU1QUVEMDAtQTRCRi0xMUQx LTk5NDgtMDBDMDRGOThCQkM5fSIpO30sZnVuY3Rpb24oZSl7cmV0dXJuIGUuYigi ezIyRDZGMzEyLUIwRjYtMTFEMC05NEFCLTAwODBDNzRDN0U5NX0iKTt9LGZ1bmN0 aW9uKGUpe3JldHVybiBlLmIoIns0NEJCQTg0Mi1DQzUxLTExQ0YtQUFGQS0wMEFB MDBCNjAxNUJ9Iik7fSxmdW5jdGlvbihlKXtyZXR1cm4gZS5iKCJ7M0FGMzYyMzAt QTI2OS0xMUQxLUI1QkYtMDAwMEY4MDUxNTE1fSIpO30sZnVuY3Rpb24oZSl7cmV0 dXJuIGUuYigiezQ0QkJBODQwLUNDNTEtMTFDRi1BQUZBLTAwQUEwMEI2MDE1Q30i KTt9LGZ1bmN0aW9uKGUpe3JldHVybiBlLmIoIntDQzJBOUJBMC0zQkRELTExRDAt ODIxRS00NDQ1NTM1NDAwMDB9Iik7fSxmdW5jdGlvbihlKXtyZXR1cm4gZS5iKCJ7 MDhCMEU1QzAtNEZDQi0xMUNGLUFBQTUtMDA0MDFDNjA4NTAwfSIpO30sZnVuY3Rp b24oKXtyZXR1cm4gZXZhbCgibmF2aWdhdG9yLmFwcENvZGVOYW1lIik7fSxmdW5j dGlvbigpe3JldHVybiBldmFsKCJuYXZpZ2F0b3IuYXBwTmFtZSIpO30sZnVuY3Rp b24oKXtyZXR1cm4gZXZhbCgibmF2aWdhdG9yLmFwcFZlcnNpb24iKTt9LGZ1bmN0 aW9uKGUpe3JldHVybiBlLmV4ZWMoWyJuYXZpZ2F0b3IucHJvZHVjdFN1YiIsIm5h dmlnYXRvci5hcHBNaW5vclZlcnNpb24iXSk7fSxmdW5jdGlvbigpe3JldHVybiBl dmFsKCJuYXZpZ2F0b3IuYnJvd3Nlckxhbmd1YWdlIik7fSxmdW5jdGlvbigpe3Jl dHVybiBldmFsKCJuYXZpZ2F0b3IuY29va2llRW5hYmxlZCIpO30sZnVuY3Rpb24o ZSl7cmV0dXJuIGUuZXhlYyhbIm5hdmlnYXRvci5vc2NwdSIsIm5hdmlnYXRvci5j cHVDbGFzcyJdKTt9LGZ1bmN0aW9uKCl7cmV0dXJuIGV2YWwoIm5hdmlnYXRvci5v bkxpbmUiKTt9LGZ1bmN0aW9uKCl7cmV0dXJuIGV2YWwoIm5hdmlnYXRvci5wbGF0 Zm9ybSIpO30sZnVuY3Rpb24oKXtyZXR1cm4gZXZhbCgibmF2aWdhdG9yLnN5c3Rl bUxhbmd1YWdlIik7fSxmdW5jdGlvbigpe3JldHVybiBldmFsKCJuYXZpZ2F0b3Iu dXNlckFnZW50Iik7fSxmdW5jdGlvbihlKXtyZXR1cm4gZS5leGVjKFsibmF2aWdh dG9yLmxhbmd1YWdlIiwibmF2aWdhdG9yLnVzZXJMYW5ndWFnZSJdKTt9LGZ1bmN0 aW9uKCl7cmV0dXJuIGV2YWwoImRvY3VtZW50LmRlZmF1bHRDaGFyc2V0Iik7fSxm dW5jdGlvbigpe3JldHVybiBldmFsKCJkb2N1bWVudC5kb21haW4iKTt9LGZ1bmN0 aW9uKCl7cmV0dXJuIGV2YWwoInNjcmVlbi5kZXZpY2VYRFBJIik7fSxmdW5jdGlv bigpe3JldHVybiBldmFsKCJzY3JlZW4uZGV2aWNlWURQSSIpO30sZnVuY3Rpb24o KXtyZXR1cm4gZXZhbCgic2NyZWVuLmZvbnRTbW9vdGhpbmdFbmFibGVkIik7fSxm dW5jdGlvbigpe3JldHVybiBldmFsKCJzY3JlZW4udXBkYXRlSW50ZXJ2YWwiKTt9 LGZ1bmN0aW9uKGUpe3JldHVybiBlLmgoKTt9LGZ1bmN0aW9uKGUpe3JldHVybiBl LmkoYyk7fSxmdW5jdGlvbigpe3JldHVybiJAVVRDQCI7fSxmdW5jdGlvbihlKXty ZXR1cm4gZS5uKGMpO30sZnVuY3Rpb24oZSl7cmV0dXJuIGUubSgpO30sZnVuY3Rp b24oKXtyZXR1cm4gZXZhbCgic2NyZWVuLndpZHRoIik7fSxmdW5jdGlvbigpe3Jl dHVybiBldmFsKCJzY3JlZW4uaGVpZ2h0Iik7fSxmdW5jdGlvbihlKXtyZXR1cm4g ZS5wbHVnaW5zLkFjcm9iYXQ7fSxmdW5jdGlvbihlKXtyZXR1cm4gZS5wbHVnaW5z LkZsYXNoO30sZnVuY3Rpb24oZSl7cmV0dXJuIGUucGx1Z2lucy5RdWlja1RpbWU7 fSxmdW5jdGlvbihlKXtyZXR1cm4gZS5wbHVnaW5zWyJKYXZhIFBsdWctaW4iXTt9 LGZ1bmN0aW9uKGUpe3JldHVybiBlLnBsdWdpbnMuRGlyZWN0b3I7fSxmdW5jdGlv bihlKXtyZXR1cm4gZS5wbHVnaW5zLk9mZmljZTt9LGZ1bmN0aW9uKCl7cmV0dXJu KG5ldyBEYXRlKS5nZXRUaW1lKCktYy5nZXRUaW1lKCk7fSxmdW5jdGlvbihlKXty ZXR1cm4gZS5lO30sZnVuY3Rpb24oZSl7cmV0dXJuIGUuZjt9LGZ1bmN0aW9uKCl7 cmV0dXJuIGMudG9Mb2NhbGVTdHJpbmcoKTt9LGZ1bmN0aW9uKCl7cmV0dXJuIGV2 YWwoInNjcmVlbi5jb2xvckRlcHRoIik7fSxmdW5jdGlvbigpe3JldHVybiBldmFs KCJ3aW5kb3cuc2NyZWVuLmF2YWlsV2lkdGgiKTt9LGZ1bmN0aW9uKCl7cmV0dXJu IGV2YWwoIndpbmRvdy5zY3JlZW4uYXZhaWxIZWlnaHQiKTt9LGZ1bmN0aW9uKCl7 cmV0dXJuIGV2YWwoIndpbmRvdy5zY3JlZW4uYXZhaWxMZWZ0Iik7fSxmdW5jdGlv bigpe3JldHVybiBldmFsKCJ3aW5kb3cuc2NyZWVuLmF2YWlsVG9wIik7fSxmdW5j dGlvbihlKXtyZXR1cm4gZS5hKCJBY3JvYmF0Iik7fSxmdW5jdGlvbihlKXtyZXR1 cm4gZS5hKCJBZG9iZSBTVkciKTt9LGZ1bmN0aW9uKGUpe3JldHVybiBlLmEoIkF1 dGhvcndhcmUiKTt9LGZ1bmN0aW9uKGUpe3JldHVybiBlLmEoIkNpdHJpeCBJQ0Ei KTt9LGZ1bmN0aW9uKGUpe3JldHVybiBlLmEoIkRpcmVjdG9yIik7fSxmdW5jdGlv bihlKXtyZXR1cm4gZS5hKCJGbGFzaCIpO30sZnVuY3Rpb24oZSl7cmV0dXJuIGUu YSgiTWFwR3VpZGUiKTt9LGZ1bmN0aW9uKGUpe3JldHVybiBlLmEoIk1ldGFTdHJl YW0iKTt9LGZ1bmN0aW9uKGUpe3JldHVybiBlLmEoIlBERlZpZXdlciIpO30sZnVu Y3Rpb24oZSl7cmV0dXJuIGUuYSgiUXVpY2tUaW1lIik7fSxmdW5jdGlvbihlKXty ZXR1cm4gZS5hKCJSZWFsT25lIik7fSxmdW5jdGlvbihlKXtyZXR1cm4gZS5hKCJS ZWFsUGxheWVyIEVudGVycHJpc2UiKTt9LGZ1bmN0aW9uKGUpe3JldHVybiBlLmEo IlJlYWxQbGF5ZXIgUGx1Z2luIik7fSxmdW5jdGlvbihlKXtyZXR1cm4gZS5hKCJT ZWFnYXRlIFNvZnR3YXJlIFJlcG9ydCIpO30sZnVuY3Rpb24oZSl7cmV0dXJuIGUu

YSgiU2lsdmVybGlnaHQiKTt9LGZ1bmN0aW9uKGUpe3JldHVybiBlLmEoIldpbmRv d3MgTWVkaWEiKTt9LGZ1bmN0aW9uKGUpe3JldHVybiBlLmEoImlQSVgiKTt9LGZ1 bmN0aW9uKGUpe3JldHVybiBlLmEoIm5wcGRmLnNvIik7fSxmdW5jdGlvbihlKXty ZXR1cm4gZS5vKCk7fV07dGhpcy5xKCk7Zm9yKHZhciBlPSIiLGY9MDtmPGQubGVu Z3RoO2YrKyl7YiYmKGUrPXRoaXMuaihkW2ZdLnRvU3RyaW5nKCksJyInLCInIiwh MCksZSs9Ij0iKTt2YXIgZzt0cnl7Zz1kW2ZdKHRoaXMpO31jYXRjaChoKXtnPSIi O31lKz1iP2c6ZXNjYXBlKGcpLGUrPSI7IixiJiYoZSs9IlxcbiIpO31yZXR1cm4g ZT10aGlzLmooZSxlc2NhcGUoIkBVVENAIiksKG5ldyBEYXRlKS5nZXRUaW1lKCkp O30sdGhpcy5sPWZ1bmN0aW9uKGUpe3RyeXtpZighZSl7cmV0dXJuIHRoaXMuaygp O312YXIgdDt0PXRoaXMucihlKTtpZih0IT09bnVsbCl7dHJ5e3QudmFsdWU9dGhp cy5rKCk7fWNhdGNoKG4pe3QudmFsdWU9ZXNjYXBlKG4ubWVzc2FnZSk7fX19Y2F0 Y2gocil7fX0sdGhpcy5hPWZ1bmN0aW9uKGUpe3RyeXtpZihuYXZpZ2F0b3IucGx1 Z2lucyYmbmF2aWdhdG9yLnBsdWdpbnMubGVuZ3RoKXtmb3IodmFyIHQ9MDt0PG5h dmlnYXRvci5wbHVnaW5zLmxlbmd0aDt0Kyspe3ZhciBuPW5hdmlnYXRvci5wbHVn aW5zW3RdO2lmKG4ubmFtZS5pbmRleE9mKGUpPj0wKXtyZXR1cm4gbi5uYW1lKyhu LmRlc2NyaXB0aW9uPyJ8IituLmRlc2NyaXB0aW9uOiIiKTt9fX19Y2F0Y2gocil7 fXJldHVybiIiO30sdGhpcy5vPWZ1bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQuY3Jl YXRlRWxlbWVudCgic3BhbiIpO2UuaW5uZXJIVE1MPSImbmJzcDsiLGUuc3R5bGUu cG9zaXRpb249ImFic29sdXRlIixlLnN0eWxlLmxlZnQ9Ii05OTk5cHgiLGRvY3Vt ZW50LmJvZHkuYXBwZW5kQ2hpbGQoZSk7dmFyIHQ9ZS5vZmZzZXRIZWlnaHQ7cmV0 dXJuIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZSksdDt9O307dHJ5e2ZvcnR5 b25lLmM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLHR5cGVvZiBmb3J0 eW9uZS5jLmFkZEJlaGF2aW9yIT0idW5kZWZpbmVkIiYmZm9ydHlvbmUuYy5hZGRC ZWhhdmlvcigiI2RlZmF1bHQjY2xpZW50Q2FwcyIpO31jYXRjaChpKXt9d2luZG93 LmZvcnR5b25lPWZvcnR5b25lLHdpbmRvdy5mb3J0eW9uZS5jb2xsZWN0PWZvcnR5 b25lLmwsZGVmaW5lKCIuLi92ZW5kb3IvZm9ydHlvbmUiLGZ1bmN0aW9uKCl7fSks ZGVmaW5lKCIuLi9zcmMvYm9vdHN0cmFwIixbXSxmdW5jdGlvbigpe3ZhciBlPWZ1 bmN0aW9uKGUsdCl7dmFyIG49dC5zcGxpdCgiLiIpLHI9ZSxpO2k9bi5sZW5ndGg7 Zm9yKHZhciBzPTA7czxpO3MrKyl7dHlwZW9mIHJbbltzXV09PSJ1bmRlZmluZWQi JiYocltuW3NdXT17fSkscj1yW25bc11dO31yZXR1cm4gcjt9O3R5cGVvZiBCS1RB Rz09InVuZGVmaW5lZCImJmUod2luZG93LCJCS1RBRyIpLEJLVEFHLm5zPWU7dmFy IHQ9e2NoZWNrRnJhbWU6ZnVuY3Rpb24oZSl7dmFyIHQ9Il9fYmtmcmFtZSI7aWYo dHlwZW9mIGZyYW1lc1t0XT09InVuZGVmaW5lZCJ8fHR5cGVvZiBkb2N1bWVudC5n ZXRFbGVtZW50QnlJZCh0KT09InVuZGVmaW5lZCIpe3ZhciBuPWRvY3VtZW50LmNy ZWF0ZUVsZW1lbnQoImlmcmFtZSIpO24uc2V0QXR0cmlidXRlKCJuYW1lIix0KSxu LnNldEF0dHJpYnV0ZSgiaWQiLHQpLG4uc2V0QXR0cmlidXRlKCJ0aXRsZSIsImJr Iiksbi5zdHlsZS5ib3JkZXI9IjBweCIsbi5zdHlsZS53aWR0aD0iMHB4IixuLnN0 eWxlLmhlaWdodD0iMHB4IixuLnNyYz0iamF2YXNjcmlwdDp2b2lkKDApIjt2YXIg cj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdO3ImJnIu YXBwZW5kQ2hpbGQobik7fXR5cGVvZiBlPT0iZnVuY3Rpb24iJiZlKCk7fX07cmV0 dXJuIHQ7fSksZGVmaW5lKCIuLi92ZW5kb3IvaHRtbHBhcnNlciIsW10sZnVuY3Rp b24oKXt2YXIgZT1mdW5jdGlvbihlKXt2YXIgdD17fSxuPWUuc3BsaXQoIiwiKTtm b3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dFtuW3JdXT0hMDt9cmV0dXJuIHQ7 fSx0PXtsZWZ0VHJpbTpmdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKC9eXHMr LywiIik7fSxzdGFydFRhZzovXjwoXHcrKSgoPzpccytcdysoPzpccyo9XHMqKD86 KD86IlteIl0qIil8KD86J1teJ10qJyl8W14+XHNdKykpPykqKVxzKihcLz8pPi8s ZW5kVGFnOi9ePFwvKFx3KylbXj5dKj4vLGF0dHI6LyhcdyspKD86XHMqPVxzKig/ Oig/OiIoKD86XFwufFteIl0pKikiKXwoPzonKCg/OlxcLnxbXiddKSopJyl8KFte PlxzXSspKSk/L2csZW1wdHk6ZSgiYXJlYSxiYXNlLGJhc2Vmb250LGJyLGNvbCxm cmFtZSxocixpbWcsaW5wdXQsaXNpbmRleCxsaW5rLG1ldGEscGFyYW0sZW1iZWQi KSxibG9jazplKCJhZGRyZXNzLGFwcGxldCxibG9ja3F1b3RlLGJ1dHRvbixjZW50 ZXIsZGQsZGVsLGRpcixkaXYsZGwsZHQsZmllbGRzZXQsZm9ybSxmcmFtZXNldCxo cixpZnJhbWUsaW5zLGlzaW5kZXgsbGksbWFwLG1lbnUsbm9mcmFtZXMsbm9zY3Jp cHQsTk9TQ1JJUFQsb2JqZWN0LG9sLHAscHJlLHNjcmlwdCxTQ1JJUFQsdGFibGUs dGJvZHksdGQsdGZvb3QsdGgsdGhlYWQsdHIsdWwiKSxpbmxpbmU6ZSgiYSxhYmJy LGFjcm9ueW0sYXBwbGV0LGIsYmFzZWZvbnQsYmRvLGJpZyxicixidXR0b24sY2l0 ZSxjb2RlLGRlbCxkZm4sZW0sZm9udCxpLGlmcmFtZSxpbWcsaW5wdXQsaW5zLGti ZCxsYWJlbCxtYXAsb2JqZWN0LHEscyxzYW1wLHNjcmlwdCxTQ1JJUFQsc2VsZWN0 LHNtYWxsLHNwYW4sc3RyaWtlLHN0cm9uZyxzdWIsc3VwLHRleHRhcmVhLHR0LHUs dmFyIiksY2xvc2VTZWxmOmUoImNvbGdyb3VwLGRkLGR0LGxpLG9wdGlvbnMscCx0

ZCx0Zm9vdCx0aCx0aGVhZCx0ciIpLGZpbGxBdHRyczplKCJjaGVja2VkLGNvbXBh Y3QsZGVjbGFyZSxkZWZlcixkaXNhYmxlZCxpc21hcCxtdWx0aXBsZSxub2hyZWYs bm9yZXNpemUsbm9zaGFkZSxub3dyYXAscmVhZG9ubHksc2VsZWN0ZWQiKSxzcGVj aWFsOmUoInNjcmlwdCxTQ1JJUFQsc3R5bGUiKSxvbmU6ZSgiaHRtbCxoZWFkLGJv ZHksdGl0bGUiKSxzdHJ1Y3R1cmU6e2xpbms6ImhlYWQiLGJhc2U6ImhlYWQifSxo dG1sUGFyc2VyOmZ1bmN0aW9uKGUsbil7ZnVuY3Rpb24gcihlLHIscyxvKXtpZih0 LmJsb2NrW3JdKXt3aGlsZShhLmxhc3QoKSYmdC5pbmxpbmVbYS5sYXN0KCldKXtp KCIiLGEubGFzdCgpKTt9fXQuY2xvc2VTZWxmW3JdJiZhLmxhc3QoKT09ciYmaSgi IixyKSxvPXQuZW1wdHlbcl18fCEhbyxvfHxhLnB1c2gocik7aWYobi5zdGFydCl7 dmFyIHU9W107cy5yZXBsYWNlKHQuYXR0cixmdW5jdGlvbihlLG4pe3ZhciByPWFy Z3VtZW50c1syXT9hcmd1bWVudHNbMl06YXJndW1lbnRzWzNdP2FyZ3VtZW50c1sz XTphcmd1bWVudHNbNF0/YXJndW1lbnRzWzRdOnQuZmlsbEF0dHJzW25dP246IiI7 dS5wdXNoKHtuYW1lOm4sdmFsdWU6cixlc2NhcGVkOnIucmVwbGFjZSgvKF58W15c XF0pIi9nLCckMVxcIicpfSk7fSksbi5zdGFydCYmbi5zdGFydChyLHUsbyk7fX1m dW5jdGlvbiBpKGUsdCl7aWYoIXQpe3ZhciByPTA7fWVsc2V7Zm9yKHZhciByPWEu bGVuZ3RoLTE7cj49MDtyLS0pe2lmKGFbcl09PXQpe2JyZWFrO319fWlmKHI+PTAp e2Zvcih2YXIgaT1hLmxlbmd0aC0xO2k+PXI7aS0tKXtuLmVuZCYmbi5lbmQoYVtp XSk7fWEubGVuZ3RoPXI7fX12YXIgcyxvLHUsYT1bXSxmPWU7YS5sYXN0PWZ1bmN0 aW9uKCl7cmV0dXJuIHRoaXNbdGhpcy5sZW5ndGgtMV07fTt3aGlsZShlKXtvPSEw LGU9dC5sZWZ0VHJpbShlKTtpZighYS5sYXN0KCl8fCF0LnNwZWNpYWxbYS5sYXN0 KCldKXtlLmluZGV4T2YoIjwhLS0iKT09MD8ocz1lLmluZGV4T2YoIi0tPiIpLHM+ PTAmJihuLmNvbW1lbnQmJm4uY29tbWVudChlLnN1YnN0cmluZyg0LHMpKSxlPWUu c3Vic3RyaW5nKHMrMyksbz0hMSkpOmUuaW5kZXhPZigiPC8iKT09MD8odT1lLm1h dGNoKHQuZW5kVGFnKSx1JiYoZT1lLnN1YnN0cmluZyh1WzBdLmxlbmd0aCksdVsw XS5yZXBsYWNlKHQuZW5kVGFnLGkpLG89ITEpKTplLmluZGV4T2YoIjwiKT09MCYm KHU9ZS5tYXRjaCh0LnN0YXJ0VGFnKSx1JiYoZT1lLnN1YnN0cmluZyh1WzBdLmxl bmd0aCksdVswXS5yZXBsYWNlKHQuc3RhcnRUYWcsciksbz0hMSkpO2lmKG8pe3M9 ZS5pbmRleE9mKCI8Iik7dmFyIGw9czwwP2U6ZS5zdWJzdHJpbmcoMCxzKTtlPXM8 MD8iIjplLnN1YnN0cmluZyhzKSxuLmNoYXJzJiZuLmNoYXJzKGwpO319ZWxzZXt2 YXIgYz1uZXcgUmVnRXhwKCI8LyIrYS5sYXN0KCkrIj4iLCJpIikscz1lLnNlYXJj aChjKSxoPWUuc3Vic3RyaW5nKDAscyk7aC5sZW5ndGg+MCYmKG4uY2hhcnMmJm4u Y2hhcnMoaCksZT1lLnJlcGxhY2UoaCwiIikpLGU9ZS5yZXBsYWNlKGMsIiIpLGko IiIsYS5sYXN0KCkpO31pZihlPT1mKXt0aHJvdyJQYXJzZSBFcnJvcjogIitlO31m PWU7fWkoKTt9LGh0bWxUb0RvbTpmdW5jdGlvbihlLG4pe3ZhciByPVtdLGk9bi5k b2N1bWVudEVsZW1lbnR8fG4uZ2V0T3duZXJEb2N1bWVudCYmbi5nZXRPd25lckRv Y3VtZW50KCl8fG47IWkmJm4uY3JlYXRlRWxlbWVudCYmZnVuY3Rpb24oKXt2YXIg ZT1uLmNyZWF0ZUVsZW1lbnQoImh0bWwiKSx0PW4uY3JlYXRlRWxlbWVudCgiaGVh ZCIpO3QuYXBwZW5kQ2hpbGQobi5jcmVhdGVFbGVtZW50KCJ0aXRsZSIpKSxlLmFw cGVuZENoaWxkKHQpLGUuYXBwZW5kQ2hpbGQobi5jcmVhdGVFbGVtZW50KCJib2R5 IikpLG4uYXBwZW5kQ2hpbGQoZSk7fSgpO2lmKG4uZ2V0RWxlbWVudHNCeVRhZ05h bWUpe2Zvcih2YXIgcyBpbiB0Lm9uZSl7dC5vbmVbc109bi5nZXRFbGVtZW50c0J5 VGFnTmFtZShzKVswXTt9fXZhciBvPXQub25lLmJvZHk7dC5odG1sUGFyc2VyKGUs e3N0YXJ0OmZ1bmN0aW9uKGUsaSxzKXtpZih0Lm9uZVtlXSl7bz10Lm9uZVtlXTty ZXR1cm47fXZhciB1PW4uY3JlYXRlRWxlbWVudChlKTtmb3IodmFyIGE9MDthPGku bGVuZ3RoO2ErKyl7dS5zZXRBdHRyaWJ1dGUoaVthXS5uYW1lLGlbYV0udmFsdWUp O310LnN0cnVjdHVyZVtlXSYmdHlwZW9mIF9vbmVbdC5zdHJ1Y3R1cmVbZV1dIT0i Ym9vbGVhbiI/dC5vbmVbdC5zdHJ1Y3R1cmVbZV1dLmFwcGVuZENoaWxkKHUpOm8m Jm8uYXBwZW5kQ2hpbGQmJih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcnx8by50YWdO YW1lIT0iTk9TQ1JJUFQiKSYmby5hcHBlbmRDaGlsZCh1KSxzfHwoci5wdXNoKHUp LG89dSk7fSxlbmQ6ZnVuY3Rpb24oZSl7ci5sZW5ndGgtPTEsci5sZW5ndGg+MD9v PXJbci5sZW5ndGgtMV06bz10Lm9uZS5ib2R5O30sY2hhcnM6ZnVuY3Rpb24oZSl7 aWYod2luZG93LmFkZEV2ZW50TGlzdGVuZXIpe3ZhciB0PW4uY3JlYXRlVGV4dE5v ZGUoZSk7by5hcHBlbmRDaGlsZCh0KTt9ZWxzZXtvLnRleHQ9ZTt9fSxjb21tZW50 OmZ1bmN0aW9uKGUpe319KTt9fTtyZXR1cm4gdDt9KSxkZWZpbmUoIi4uL3NyYy91 dGlscyIsWyIuLi9zcmMvYm9vdHN0cmFwIiwiLi4vdmVuZG9yL2h0bWxwYXJzZXIi XSxmdW5jdGlvbihlLHQpe3ZhciBuPXtnZXRLd2RzOmZ1bmN0aW9uKCl7dmFyIGU9 ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm1ldGEiKSx0PVtdLG4scj1l Lmxlbmd0aDtmb3Iobj0wO248cjtuKyspe2Vbbl0ubmFtZSYmZVtuXS5uYW1lLnRv TG93ZXJDYXNlKCk9PT0ia2V5d29yZHMiJiZ0LnB1c2goZVtuXS5jb250ZW50KTt9 cmV0dXJuIHQuam9pbigiLCIpO30sZ2V0TWV0YTpmdW5jdGlvbihlKXt2YXIgdD1k

b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgibWV0YSIpLG49dC5sZW5ndGg7 Zm9yKHZhciByPTA7cjxuO3IrKyl7dmFyIGk9dFtyXTtpZihpLm5hbWUudG9Mb3dl ckNhc2UoKT09PWUudG9Mb3dlckNhc2UoKSYmaS5jb250ZW50IT09IiIpe3JldHVy biBpLmNvbnRlbnQ7fX1yZXR1cm4gbnVsbDt9LHNjcmlwdFdpdGhPbmxvYWQ6ZnVu Y3Rpb24oZSx0KXt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQi KTtyZXR1cm4gbi5zcmM9ZSxuLm9ubG9hZERvbmU9ITEsbi5vbmxvYWQ9ZnVuY3Rp b24oKXtuLm9ubG9hZERvbmV8fChuLm9ubG9hZERvbmU9ITAsdHlwZW9mIHQ9PSJm dW5jdGlvbiImJnQoKSk7fSxuLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigp eygibG9hZGVkIj09PW4ucmVhZHlTdGF0ZXx8ImNvbXBsZXRlIj09PW4ucmVhZHlT dGF0ZSkmJiFuLm9ubG9hZERvbmUmJihuLm9ubG9hZERvbmU9ITAsdHlwZW9mIHQ9 PSJmdW5jdGlvbiImJnQoKSk7fSxuO30saXNNb2JpbGU6ZnVuY3Rpb24oKXt2YXIg ZT0hMSx0PVsiTW9iaWxlIiwiVGFibGV0IiwiSGFuZGhlbGQiLCJBbmRyb2lkIiwi aVBob25lIiwiS2luZGxlIiwiU2lsayIsIk5va2lhIiwiU3ltYmlhbiIsIkJsYWNr QmVycnkiXTtmb3IodmFyIG4gaW4gdCl7aWYobmF2aWdhdG9yLnVzZXJBZ2VudC5p bmRleE9mKHRbbl0pIT09LTEpe2U9ITA7YnJlYWs7fX1yZXR1cm4gZTt9LGlzRGVi dWc6ZnVuY3Rpb24oKXt2YXIgZT0hMTtyZXR1cm4gdHlwZW9mIHdpbmRvdy5sb2Nh dGlvbiE9InVuZGVmaW5lZCImJnR5cGVvZiB3aW5kb3cubG9jYXRpb24uc2VhcmNo IT0idW5kZWZpbmVkIiYmd2luZG93LmxvY2F0aW9uLnNlYXJjaC5pbmRleE9mKCJk ZWJ1Zz0xIikhPT0tMSYmKGU9ITApLGU7fX07cmV0dXJuIHdpbmRvdy5CS1RBRy5o dG1sVG9Eb209dC5odG1sVG9Eb20sd2luZG93LkJLVEFHLnV0aWw9bixuO30pLGRl ZmluZSgiLi4vc3JjL2NvcmUiLFsiLi4vc3JjL2Jvb3RzdHJhcCIsIi4uL3NyYy91 dGlscyJdLGZ1bmN0aW9uKGUsdCl7dmFyIG49W10scj0hMSxzPXtzaXRlOiJzaXRl X2lkIixsaW1pdDoicGl4ZWxfbGltaXQiLGV4Y2x1ZGVCa1BhcmFtczoiaWdub3Jl X21ldGEiLGV4Y2x1ZGVUaXRsZToiZXhjbHVkZV90aXRsZSIsZXhjbHVkZUtleXdv cmRzOiJleGNsdWRlX2tleXdvcmRzIixleGNsdWRlUmVmZXJyZXI6ImV4Y2x1ZGVf cmVmZXJyZXIiLGV4Y2x1ZGVMb2NhdGlvbjoiZXhjbHVkZV9sb2NhdGlvbiIscGFy dG5lcklEOiJwYXJ0bmVyX2lkIixhbGxvd011bHRpcGxlQ2FsbHM6ImFsbG93X211 bHRpcGxlX2NhbGxzIixjYWxsYmFjazoiY2FsbGJhY2siLGFsbERhdGE6ImFsbF9k YXRhIix0aW1lT3V0OiJ0aW1lb3V0IixpZ25vcmVPdXRzaWRlSWZyYW1lOiJpZ25v cmVfb3V0c2lkZV9pZnJhbWUiLG1ldGFWYXJzOiJtZXRhX3ZhcnMiLGpzTGlzdDoi anNfbGlzdCIscGFyYW1MaXN0OiJwYXJhbV9saXN0Iix1c2VNb2JpbGU6InVzZV9t b2JpbGUiLGRpc2FibGVNb2JpbGU6ImRpc2FibGVfbW9iaWxlIixpc0RlYnVnOiJp c19kZWJ1ZyIsbGltaXRHZXRMZW5ndGg6ImxpbWl0X2dldF9sZW5ndGgifSxvPXtf ZGVzdDpudWxsLGFkZFBhcmFtOmZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gdHlwZW9m IHIhPSJ1bmRlZmluZWQiP24ucHVzaChlKyI9IitlbmNvZGVVUklDb21wb25lbnQo dCsiPSIrcikpOm4ucHVzaChlKyI9Iit0KSxCS1RBRzt9LGFkZEJrUGFyYW06ZnVu Y3Rpb24oZSx0KXtpZih0eXBlb2YgZT09InN0cmluZyImJnR5cGVvZiB0PT0ic3Ry aW5nIil7by5hZGRQYXJhbSgicGhpbnQiLCJfX2JrXyIrZSx0KTt9ZWxzZXtmb3Io dmFyIG4gaW4gZSl7ZS5oYXNPd25Qcm9wZXJ0eShuKSYmdHlwZW9mIGVbbl09PSJz dHJpbmciJiZvLmFkZFBhcmFtKCJwaGludCIsIl9fYmtfIituLGVbbl0pO319cmV0 dXJuIEJLVEFHO30sX3Jlc2V0OmZ1bmN0aW9uKCl7cj0hMSxuPVtdO2Zvcih2YXIg ZSBpbiBzKXtkZWxldGUgd2luZG93WyJia18iK3NbZV1dO31yZXR1cm4gQktUQUc7 fSxwYXJhbXM6ZnVuY3Rpb24oKXtyZXR1cm4gbjt9LGdldEdsb2JhbHM6ZnVuY3Rp b24oZSl7aWYoZS5sZW5ndGgpe2ZvcihpPTA7aTxlLmxlbmd0aDtpKyspe3ZhbD1l W2ldLHR5cGVvZiB3aW5kb3dbdmFsXSE9InVuZGVmaW5lZCImJnZhbCE9PSIiJiZ3 aW5kb3dbdmFsXSE9PSIiJiZia19hZGRQYWdlQ3R4KHZhbCx3aW5kb3dbdmFsXSk7 fX1lbHNle2Zvcih2YXIgdCBpbiBlKXtlLmhhc093blByb3BlcnR5KHQpJiZ0eXBl b2YgdD09InN0cmluZyImJih0eXBlb2YgZVt0XT09InN0cmluZyJ8fHR5cGVvZiBl W3RdPT0ibnVtYmVyInx8dHlwZW9mIGVbdF09PSJib29sZWFuIikmJmJrX2FkZFBh Z2VDdHgodCxlW3RdKTt9fX0sZG9UYWc6ZnVuY3Rpb24oaSx1LGEsZixsLGMsaCxw LGQpe3ZhciB2PXtzaXRlOmksbGltaXQ6dSxleGNsdWRlQmtQYXJhbXM6YSxwYXJ0 bmVySUQ6ZixhbGxvd011bHRpcGxlQ2FsbHM6bCxjYWxsYmFjazpjLGFsbERhdGE6 aCx0aW1lT3V0OnAsaWdub3JlT3V0c2lkZUlmcmFtZTpkfTtmb3IodmFyIG0gaW4g cyl7dHlwZW9mIHdpbmRvd1siYmtfIitzW21dXSE9InVuZGVmaW5lZCImJih2W21d PXdpbmRvd1siYmtfIitzW21dXSk7fWlmKHR5cGVvZiBpPT0ib2JqZWN0Iil7Zm9y KHZhciBnIGluIHMpe3R5cGVvZiBpW3NbZ11dIT0idW5kZWZpbmVkIiYmKHZbZ109 aVtzW2ddXSk7fX1pZih0eXBlb2YgciE9InVuZGVmaW5lZCImJnImJnYuYWxsb3dN dWx0aXBsZUNhbGxzIT09ITApe3JldHVybjt9cj0hMCx2LnRpbWVPdXQ9PT11bmRl ZmluZWQmJih2LnRpbWVPdXQ9MTAwMCksbi51bnNoaWZ0KCJyZXQ9Iisodi5jYWxs YmFjaz8ianMiOiJodG1sIikpO3ZhciB5PXR5cGVvZiB2LnBhcnRuZXJJRCE9InVu

ZGVmaW5lZCImJnYucGFydG5lcklEIT09bnVsbDt5JiZuLnVuc2hpZnQoInBhcnRu ZXI9IitlbmNvZGVVUklDb21wb25lbnQodi5wYXJ0bmVySUQpKTt2YXIgYj17MjYw NzoxLDI4MzQ6MSwyODk0OjEsMzMxNjoxLDMzMTc6MSwzMzE4OjEsMzMxOToxLDMz MjE6MSwzMzIyOjEsMzMyMzoxLDMzMjQ6MSwzMzI1OjEsMzMyNjoxLDMzMjc6MSwz MzI4OjEsMzMyOToxLDMzMzA6MSwzMzMxOjEsMzMzMjoxLDMzMzM6MSwzMzM0OjEs MzMzODoxLDMzMzk6MSwzMzQwOjEsMzM0MToxLDMzNDQ6MSwzMzQ1OjEsMzM0Njox LDMzNDg6MX07IXYuZXhjbHVkZUJrUGFyYW1zJiYhdi5leGNsdWRlVGl0bGUmJmRv Y3VtZW50LnRpdGxlIT09IiImJm8uYWRkQmtQYXJhbSgidCIsZG9jdW1lbnQudGl0 bGUpLCF2LmV4Y2x1ZGVCa1BhcmFtcyYmIXYuZXhjbHVkZUtleXdvcmRzJiZvLmFk ZEJrUGFyYW0oImsiLHQuZ2V0S3dkcygpKSwhdi5leGNsdWRlQmtQYXJhbXMmJiF2 LmV4Y2x1ZGVSZWZlcnJlciYmInJlZmVycmVyIiBpbiBkb2N1bWVudCYmZG9jdW1l bnQucmVmZXJyZXIhPT0iIiYmby5hZGRCa1BhcmFtKCJwciIsZG9jdW1lbnQucmVm ZXJyZXIpLCF2LmV4Y2x1ZGVCa1BhcmFtcyYmIXYuZXhjbHVkZUxvY2F0aW9uJiZv LmFkZEJrUGFyYW0oImwiLHdpbmRvdy5sb2NhdGlvbi50b1N0cmluZygpKSx2LmNh bGxiYWNrP28uYWRkUGFyYW0oImpzY2IiLGVuY29kZVVSSUNvbXBvbmVudCh2LmNh bGxiYWNrKSk6dHlwZW9mIHYubGltaXQhPSJ1bmRlZmluZWQiJiZvLmFkZFBhcmFt KCJsaW1pdCIsZW5jb2RlVVJJQ29tcG9uZW50KHYubGltaXQpKSx2LmFsbERhdGE9 PT0hMCYmby5hZGRQYXJhbSgiZGF0YSIsImFsbCIpLHYuZGlzYWJsZU1vYmlsZSE9 PSEwJiZ0LmlzTW9iaWxlKCkmJnR5cGVvZiBmb3J0eW9uZSE9InVuZGVmaW5lZCIm Jm8uYWRkUGFyYW0oImJrZnBkIixmb3J0eW9uZS5jb2xsZWN0KCkpLHQuaXNEZWJ1 ZygpJiZvLmFkZFBhcmFtKCJkZWJ1ZyIsIjEiKSwhdi5leGNsdWRlQmtQYXJhbXMm JnR5cGVvZiB2LnBhcmFtTGlzdCE9InVuZGVmaW5lZCImJm8uZ2V0R2xvYmFscyh2 LnBhcmFtTGlzdCksIXYuZXhjbHVkZUJrUGFyYW1zJiZ0eXBlb2Ygdi5qc0xpc3Qh PSJ1bmRlZmluZWQiJiZvLmdldEdsb2JhbHModi5qc0xpc3QpO2lmKCF2LmV4Y2x1 ZGVCa1BhcmFtcyYmdHlwZW9mIHYubWV0YVZhcnMhPSJ1bmRlZmluZWQiKXtmb3Io dmFyIHc9MDt3PHYubWV0YVZhcnMubGVuZ3RoO3crKyl7dmFyIEU9dC5nZXRNZXRh KHYubWV0YVZhcnNbd10pO0UhPT1udWxsJiZvLmFkZEJrUGFyYW0odi5tZXRhVmFy c1t3XSxFLCEwKTt9fW8uYWRkUGFyYW0oInIiLHBhcnNlSW50KE1hdGgucmFuZG9t KCkqOTk5OTk5OTksMTApKTt2YXIgUz0oImh0dHBzOiI9PT1kb2N1bWVudC5sb2Nh dGlvbi5wcm90b2NvbD8iaHR0cHM6Ly9zdGFncyI6Imh0dHA6Ly90YWdzIikrIi5i bHVla2FpLmNvbS8iKyh5PyJwc2l0ZSI6InNpdGUiKSsiLyIrdi5zaXRlLHg9Uysi PyIrbi5qb2luKCImIik7di5saW1pdEdldExlbmd0aCYmKHg9eC5zdWJzdHIoMCwy MDAwKSksQktUQUcuX2Rlc3Q9eDtpZih2LmNhbGxiYWNrKXt2YXIgVD1kb2N1bWVu dC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtULnR5cGU9InRleHQvamF2YXNjcmlw dCIsVC5zcmM9by5fZGVzdCxULmlkPSJfX2JrX3NjcmlwdF9fIixiWyIiK2ldJiZz ZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 SWQoIl9fYmtfc2NyaXB0X18iKTtlJiYoZS5yZW1vdmVOb2RlP2UucmVtb3ZlTm9k ZSghMCk6ZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpKTt9LHYudGltZU91dCks ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXS5hcHBlbmRD aGlsZChUKTt9ZWxzZXtlLmNoZWNrRnJhbWUoZnVuY3Rpb24oKXtmcmFtZXMuX19i a2ZyYW1lLmxvY2F0aW9uLnJlcGxhY2UoeCk7fSksbi5zaGlmdCgpO2lmKHR5cGVv ZiB2Lmlnbm9yZU91dHNpZGVJZnJhbWUhPSJ1bmRlZmluZWQiJiZ2Lmlnbm9yZU91 dHNpZGVJZnJhbWU9PT0hMSl7bi51bnNoaWZ0KCJyZXQ9anNodCIpLHg9UysiPyIr bi5qb2luKCImIikseD14LnN1YnN0cigwLDIwMDApO3ZhciBOPWRvY3VtZW50LmNy ZWF0ZUVsZW1lbnQoInNjcmlwdCIpO04uc3JjPXgsTi50eXBlPSJ0ZXh0L2phdmFz Y3JpcHQiLGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IikuaXRl bSgwKS5hcHBlbmRDaGlsZChOKTt9fXR5cGVvZiB1PT0iZnVuY3Rpb24iJiZ1KCks bj1bXTt9fTtmb3IodmFyIHUgaW4gbyl7d2luZG93LkJLVEFHW3VdPW9bdV07fXJl dHVybiB0eXBlb2Ygd2luZG93LmJrX2FzeW5jPT0iZnVuY3Rpb24iJiZ3aW5kb3cu c2V0VGltZW91dChmdW5jdGlvbigpe2JrX2FzeW5jKCk7fSwwKSxvO30pLGRlZmlu ZSgiLi4vc3JjL2FsaWFzZXMiLFsiLi4vc3JjL2NvcmUiXSxmdW5jdGlvbigpe3dp bmRvdy5CS1RBRy5hZGRDdHhQYXJhbT1mdW5jdGlvbihlLHQpe3JldHVybiBCS1RB Ry5hZGRQYXJhbSgicGhpbnQiLGUsdCksQktUQUc7fSx3aW5kb3cuQktUQUcuYWRk QmtQYXJhbT1mdW5jdGlvbihlLHQpe3JldHVybiBCS1RBRy5hZGRQYXJhbSgicGhp bnQiLCJfX2JrXyIrZSx0KSxCS1RBRzt9LHdpbmRvdy5CS1RBRy5hZGRQYWdlQ3R4 PXdpbmRvdy5ia19hZGRQYWdlQ3R4PXdpbmRvdy5CS1RBRy5hZGRVc2VyQ3R4PXdp bmRvdy5ia19hZGRVc2VyQ3R4PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEJLVEFHLmFk ZFBhcmFtKCJwaGludCIsZSx0KSxCS1RBRzt9LHdpbmRvdy5CS1RBRy5kb0pTVGFn PXdpbmRvdy5ia19kb0pTVGFnPWZ1bmN0aW9uKGUsdCxuKXtCS1RBRy5kb1RhZyhl LHQsITEsbnVsbCxuKTt9LHdpbmRvdy5CS1RBRy5kb0pTVGFnMj13aW5kb3cuYmtf

ZG9KU1RhZzI9ZnVuY3Rpb24oZSx0KXtCS1RBRy5kb1RhZyhlLHQpO30sd2luZG93 LkJLVEFHLmRvQ2Fyc0pTVGFnPXdpbmRvdy5ia19kb0NhcnNKU1RhZz1mdW5jdGlv bihlLHQpe0JLVEFHLmRvVGFnKGUsdCwhMCk7fSx3aW5kb3cuQktUQUcuZG9QYXJ0 bmVyQWx0VGFnPXdpbmRvdy5ia19kb1BhcnRuZXJBbHRUYWc9ZnVuY3Rpb24oZSx0 LG4pe2lmKHR5cGVvZiBuPT0idW5kZWZpbmVkInx8bj09PW51bGwpe249MDt9QktU QUcuZG9UYWcoZSx0LCExLG4pO30sd2luZG93LkJLVEFHLmRvQ2FsbGJhY2tUYWc9 d2luZG93LmJrX2RvQ2FsbGJhY2tUYWc9ZnVuY3Rpb24oZSx0LG4scil7QktUQUcu ZG9UYWcoZSwwLCExLG51bGwsbix0LHIpO30sd2luZG93LkJLVEFHLmRvQ2FsbGJh Y2tUYWdXaXRoVGltZU91dD13aW5kb3cuYmtfZG9DYWxsYmFja1RhZ1dpdGhUaW1l T3V0PWZ1bmN0aW9uKGUsdCxuLHIsaSl7QktUQUcuZG9UYWcoZSwwLCExLG51bGws bix0LHIsaSk7fSx3aW5kb3cuQktUQUcuc2VuZERhdGE9ZnVuY3Rpb24oZSl7QktU QUcuZG9UYWcoZSk7fTt9KSxkZWZpbmUoIm1vYmlsZSIsWyIuLi92ZW5kb3IvZm9y dHlvbmUiLCIuLi9zcmMvY29yZSIsIi4uL3NyYy9hbGlhc2VzIl0sZnVuY3Rpb24o KXt9KSxyZXF1aXJlKCJtb2JpbGUiKTt9KSgpLEJLVEFHLnZlcnNpb249IjMuMC42 Ijs= ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline; filename=350041.html Content-Type: text/html; charset=UTF-8; name=350041.html Content-Location: http://rc.rlcdn.com/350041.html Content-Transfer-Encoding: 8bit <html><body><img border='0' hspace='0' vspace='0' width='1' height='1' src='http ://segment-pixel.invitemedia.com/set_partner_uid?partnerID=106&partnerUID=127ed0 55329143d9f5622427358c10e0a20a8c3c9af873e52128c97be0da9ca41746f7095794240c&sscs_ active=1' /> <img border='0' hspace='0' vspace='0' width='1' height='1' src='http://d.agkn.co m/pixel/1697/!?uuid=77d7c72ff4452b2601f33411de5eb1fd68ccd51a&che=91941611&camid= 060812&plaid=1' /> <img border='0' hspace='0' vspace='0' width='1' height='1' src='http://p.raasnet .com/partners/universal/sync?exchange=16&redir=https%3A%2F%2Ffanyv88.com%3A443%2Fhttp%2Fidsync.rlcdn.com%2F4 6944.gif%3Fpartner_uid%3D%7BRA_UID%7D' /> <img border='0' hspace='0' vspace='0' width='1' height='1' src='http://ib.adnxs. com/getuid?https%3A%2F%2Ffanyv88.com%3A443%2Fhttp%2Fidsync.rlcdn.com%2F52154.gif%3Fpartner_uid%3D%24UID' /> <img border='0' hspace='0' vspace='0' width='1' height='1' src='http://tags.blue kai.com/site/2035?phint=rluid=477b880f9438400e6a2914b1f696aef242e81144ede3b0d7b4 5a39f6c274b5172971936f2f944561' /><script type='text/javascript'>document.write( "<iframe id='_rlcdn_qa' height=0 width=0 frameborder=0 src='javascript:void(0)'> </iframe><scr"+"ipt type='text/javascript'>document.getElementById('_rlcdn_qa'). src='http://qa.rlcdn.com/request_complete.html?request_type=html&site=350041&req uest_time=1348839840&adns=1101,20,26,12,1104';</scr"+"ipt>");</script></body></h tml> ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline; filename=set_partner_uid.gif Content-Type: image/gif; name=set_partner_uid.gif Content-Location: http://segment-pixel.invitemedia.com/set_partner_uid?partnerID =106&partnerUID=127ed055329143d9f5622427358c10e0a20a8c3c9af873e52128c97be0da9ca4 1746f7095794240c&sscs_active=1 Content-Transfer-Encoding: Base64 R0lGODlhAQABAIAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw== ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline; filename=!.gif Content-Type: image/gif; charset=ISO-8859-1; name=!.gif Content-Location: http://d.agkn.com/pixel/1697/!?uuid=77d7c72ff4452b2601f33411de

5eb1fd68ccd51a&che=91941611&camid=060812&plaid=1 Content-Transfer-Encoding: Base64 R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAAAICTAEAOw== ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline; filename=46944.gif Content-Type: text/html; charset=ISO-8859-1; name=46944.gif Content-Location: http://p.raasnet.com/partners/universal/sync?exchange=16&redir =https%3A%2F%2Ffanyv88.com%3A443%2Fhttp%2Fidsync.rlcdn.com%2F46944.gif%3Fpartner_uid%3D%7BRA_UID%7D Content-Transfer-Encoding: Base64 R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline; filename=52154.gif Content-Type: text/html; charset=ISO-8859-1; name=52154.gif Content-Location: http://ib.adnxs.com/getuid?https%3A%2F%2Ffanyv88.com%3A443%2Fhttp%2Fidsync.rlcdn.com%2F521 54.gif%3Fpartner_uid%3D%24UID Content-Transfer-Encoding: Base64 R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== ------------8eVr2fgsNKmtHeiwqXbUcZ Content-Disposition: inline; filename=3754.gif Content-Type: text/html; name=3754.gif Content-Location: http://tags.bluekai.com/site/2035?phint=rluid=477b880f9438400e 6a2914b1f696aef242e81144ede3b0d7b45a39f6c274b5172971936f2f944561 Content-Transfer-Encoding: Base64 R0lGODlhAQABAJAAAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAAABACwA AAAAAQABAAACAkwBADs= ------------8eVr2fgsNKmtHeiwqXbUcZ--

You might also like