Content-Type: multipart/related; start=<op.mhtml.1366820608035.9fa30569077689e1@192.168.0.9>; boundary=----------qHryB7dFAJpRddSST4zzSx
Content-Location: http://support.microsoft.com/kb/318785
Subject: =?utf-8?Q?How=20to=20determine=20which=20versions=20and=20service=20pack=20levels=20of=20the=20Microsoft=20.NET=20Framework=20are=20installed?=
MIME-Version: 1.0

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=318785.htm
Content-Type: text/html; charset=utf-8; name=318785.htm
Content-ID: <op.mhtml.1366820608035.9fa30569077689e1@192.168.0.9>
Content-Location: http://support.microsoft.com/kb/318785
Content-Transfer-Encoding: Quoted-Printable


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w=
ww.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir=3D"ltr" lang=3D"en-US">
<head><title>
	How to determine which versions and service pack levels of the Microsof=
t .NET Framework are installed
</title><meta http-equiv=3D"X-UA-Compatible" content=3D"IE=3Dedge" /><me=
ta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dutf-8" />=
<meta id=3D"ctl00_ctl00_WtCampaignId" name=3D"DCSext.wt_linkid" /><meta =
id=3D"ctl00_ctl00_WtTarget" name=3D"DCSext.wt_target" /><meta id=3D"ctl0=
0_ctl00_WtSp" name=3D"WT.sp" /><meta name=3D"DCSdir.gTrackExceptions" co=
ntent=3D"no-track" /><link rel=3D"shortcut icon" href=3D"//www.microsoft=
.com/favicon.ico?v2" />
    <link rel=3D"stylesheet" type=3D"text/css" href=3D"/Styles/oneMscomM=
aster.css" />
    <script type=3D"text/javascript" src=3D"/scripts/oneMscomMaster.js">=
</script>
    =

    <link title=3D"Microsoft Support Search" type=3D"application/opensea=
rchdescription+xml" rel=3D"search" href=3D"/common/opensearchdescriptor.=
aspx?ln=3Den-gb" /><meta name=3D"ms.gsfxversion" content=3D"8.2.0.0" /><=
meta name=3D"ms.sup_cid" content=3D"318785" /><meta name=3D"ms.sup_cln" =
content=3D"en-us" /><meta name=3D"ms.sup_ct" content=3D"kb" /><meta name=
=3D"ms.sup_ln" content=3D"en-gb" /><meta name=3D"ms.sup_sd" content=3D"g=
n" /><meta name=3D"DCSext.sup_cid" content=3D"318785" /><meta name=3D"DC=
Sext.sup_cln" content=3D"en-us" /><meta name=3D"DCSext.sup_ct" content=3D=
"kb" /><meta name=3D"DCSext.sup_ln" content=3D"en-gb" /><meta name=3D"DC=
Sext.sup_sd" content=3D"gn" /><script type=3D"text/javascript">var gCook=
ieDomain=3D'support.microsoft.com';</script><script type=3D"text/javascr=
ipt" src=3D"http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js"><=
/script><script type=3D"text/javascript" src=3D"/common/script/gsfx/defa=
ult.js?80"></script><script type=3D"text/javascript">setcookieval("gssSI=
TE","gn",'',true);</script><script type=3D"text/javascript">setcookieval=
("gssTHEME","gn",'',true);</script><script type=3D"text/javascript">setc=
ookieval("gssTOOLBAR","gn",'',true);</script><script type=3D"text/javasc=
ript">var g_currentContent=3D'kb\x3ben-us\x3b318785';</script><script ty=
pe=3D"text/javascript" src=3D"/common/script/fx/survey.js?80"></script><=
meta name=3D"robots" content=3D"" /><meta name=3D"Search.lcid" content=3D=
"1033" /><meta name=3D"Search.KeyWords" content=3D"kbdownload kbinfo kbs=
etup KB318785" /><meta name=3D"Search.DateModified" content=3D"2012-12-2=
4T03:43:00" /><meta name=3D"Search.Description" content=3D"Describes how=
 to determine which versions of the .NET Framework are installed on a co=
mputer. Also helps you determine which .NET Framework service packs have=
 been applied." /><meta name=3D"Search.KBParents" content=3D"6805 1248 5=
48 3442 1249 8299 8291 13617 14349 12293 12292 12776 14319 14444 12997 1=
3003 12996 13910 14345 14380" /><meta name=3D"Search.Assets" content=3D"=
1" /><meta name=3D"Search.Retire" content=3D"0" /><meta name=3D"Search.P=
roducts" content=3D"195640 34538 288609 559514 590735 469229 590705 5962=
91 532477 572664 590731" /><meta name=3D"Search.QueryWords" content=3D""=
 /><meta name=3D"Search.ContentID" content=3D"318785" /><meta name=3D"Se=
arch.Audiences" content=3D"kbAudGeneralUser kbAudEndUser kbAudDeveloper =
kbAudITPRO" /><meta name=3D"Search.Title" content=3D"How to determine wh=
ich versions and service pack levels of the Microsoft .NET Framework are=
 installed" /><meta name=3D"KBParents" content=3D"6805 1248 548 3442 124=
9 8299 8291 13617 14349 12293 12292 12776 14319 14444 12997 13003 12996 =
13910 14345 14380" /><meta name=3D"Search.ContentType" content=3D"kb" />=
<meta name=3D"Search.scid" content=3D"kb;en-us;318785" /><meta name=3D"S=
earch.MT" content=3D"0" /><meta name=3D"Search.KB3" content=3D"0" /><met=
a name=3D"Keywords" content=3D"kbdownload kbinfo kbsetup KB318785" /><me=
ta name=3D"Description" content=3D"Describes how to determine which vers=
ions of the .NET Framework are installed on a computer. Also helps you d=
etermine which .NET Framework service packs have been applied." /><meta =
name=3D"MS.LOCALE" content=3D"en" /><meta http-equiv=3D"content-type" co=
ntent=3D"text/html; charset=3Dutf-8" /><meta http-equiv=3D"content-langu=
age" content=3D"en-US" /><link rel=3D"canonical" href=3D"http://msdn.mic=
rosoft.com/kb/kbarticle.aspx?id=3D318785"/><script type=3D"text/javascri=
pt">var url_exactMatch=3D'/select/Default.aspx?target=3Dassistance';</sc=
ript><link rel=3D"stylesheet" type=3D"text/css" href=3D"/common/css/defa=
ult/default.css?80" /><link rel=3D"stylesheet" type=3D"text/css" href=3D=
"/common/css/default/XmlContent.css?80" /><script type=3D"text/javascrip=
t" src=3D"/common/script/gsfx/kb.js?80"></script><script type=3D"text/ja=
vascript" src=3D"/common/script/gsfx/stickypanel.js?80"></script><link r=
el=3D"stylesheet" type=3D"text/css" href=3D"/common/css/default/ie/overr=
ide.css?80" /><link rel=3D"stylesheet" type=3D"text/css" href=3D"/common=
/css/default/branding.css?80" />
<!-- RESG: 4/24/2013 9:22:47 AM - RESX: 1/1/0001 12:00:00 AM -->
<!-- (c) 2013 Microsoft Corporation. All Rights Reserved -->
<style type=3D"text/css">html body, html select, html input, html form, =
html textarea{font-family : Segoe UI, Arial, Verdana, Tahoma, sans-serif=
;}</style><script type=3D"text/javascript">var PersonalizationInfo=3D'a2=
IzMTg3ODUIZW4tdXMISG93IHRvIGRldGVybWluZSB3aGljaCB2ZXI_';</script><link r=
el=3D"stylesheet" type=3D"text/css" href=3D"/common/css/fx/surveytrigger=
.css?80" ><script type=3D"text/javascript" src=3D"/common/script/fx/surv=
eycookieutil.js?80"></script><script type=3D"text/javascript" src=3D"/co=
mmon/script/fx/surveytrigger.js?80"></script><script type=3D"text/javasc=
ript" src=3D"/common/script/gsfx/search.js?80"></script><script type=3D"=
text/javascript" src=3D"/common/script/gsfx/ac.js?80"></script>    =

    <style type=3D"text/css">
        #gsfx_brnd_PageWrapper
        {
            float: left;
        }        =

        div.stage, div.mstHdr
        {
            width: 1024px;
        }
        div.search-navigation
        {
            margin-bottom: 0px;    =

        }
        #contentArea
        {
            border-bottom: 0px;       =

        }        =

    </style>
<style type=3D"text/css">

   body =

    {
        color: #000;
        background-color: #ececec;
       =

    }

    body, input =

    {
        font-size: 100%;
    }

    body, select =

    {
        font-family: Segoe UI,Arial,Verdana,Tahoma,sans-serif;
    }

    .png-img span =

    {
        left: -9999px;
    }

    =


    div.form-bottom-inner =

    {
     background-color: #ececec;
        left: 0;
    }
    =

    div.stage-bg-top =

    {
        background-color: #fff;
        left: 0;
    }

    div.stage-bg-mid =

    {
        background-color: #fff;
        left: 0;
    }

    div.stage-bg-bot =

    {
        background-color: #fff;
        left: 0;
    }
    =

    div.main-brand div
    {
        float: left;
    }
    div.main-brand div.brandLogoText a
    {
        color: #4f4f4f;
        font-size: 188%;
    }

    div.main-brand div.brandTagLineText a
    {
        color: #4f4f4f;
        font-size: 80%;
    }
    =

         div.stage {  padding: 0px 40px; width: 984px; }  div.stage-cont=
ent {  padding: 0px; }  body   { background-color: #FFFFFF; }  div.form-=
bottom-inner   { background-color: #FFFFFF; }  div.stage-bg-top   { back=
ground-color: #FFFFFF; _padding: 0 40px;   }  div.stage-bg-mid   { backg=
round-color: #FFFFFF; _padding: 0 40px;   }  div.stage-bg-bot   { backgr=
ound-color: #FFFFFF; _padding: 0 40px;   } =

        =

     <!--[if !IE 7]>
    .png-img div =

    {
        left: 0;
    }
      <![endif]-->
    =

</style></head>
<body bi:type=3D"oneMscomMaster">
    =


<div id=3D"oneMscomJsCssLoader">

    <link rel=3D"stylesheet" type=3D"text/css" href=3D"/Styles/onemscomc=
omponents.css" />
    <link rel=3D"stylesheet" type=3D"text/css" href=3D"/Styles/oneMscomL=
istLayout.css" />

    =

    <link rel=3D"stylesheet" type=3D"text/css" href=3D"/Styles/oneMscomB=
lade.css" />
    <script type=3D"text/javascript" src=3D"/scripts/oneMscomBlade.js"><=
/script>
    =

    <link rel=3D"stylesheet" type=3D"text/css" href=3D"/Styles/oneMscomF=
ooter.css" />
    <script type=3D"text/javascript" src=3D"/scripts/oneMscomFooter.js">=
</script>
    =

    <link rel=3D"stylesheet" type=3D"text/css" href=3D"/Styles/oneMscomN=
av.css" />
    <script type=3D"text/javascript" src=3D"/scripts/oneMscomNav.js"></s=
cript>
    =

  =

         <script type=3D"text/javascript" src=3D"/scripts/oneMscomJsCssL=
oader.js"></script>

    <div id=3D"ctl00_ctl00_JsCssLoaderCtl_oneMscomLoadedComponent" style=
=3D"display: none;">oneMscomBlade,oneMsomNav,oneMscomFooter,</div>
    <div id=3D"ctl00_ctl00_JsCssLoaderCtl_oneMscomComponentDynamicStyle"=
>
        <style type=3D"text/css">
            =

        .mstHdrV3 { font-family:Segoe UI,Arial,Verdana,Tahoma,sans-serif=
; width: 984px;}.mstHdrV3 .mstHdr_StaticSecLeftAlign {float:left;}.mstHd=
rV3 .mstHdr_StaticSecRightAlign {float:right;}.mstHdrV3 .mstHdr_MenuItem=
SiteIdentity a,.mstHdrV3 .mstHdr_MenuItemSiteIdentity a:link,.mstHdrV3 .=
mstHdr_MenuItemSiteIdentity a:visited,.mstHdrV3 .mstHdr_MenuItemSiteIden=
tity a:active {color:#333333;font-size:30px;}.mstHdrV3 .mstHdr_MenuItemA=
ccount a,.mstHdrV3 .mstHdr_MenuItemAccount a:link,.mstHdrV3 .mstHdr_Menu=
ItemAccount a:visited,.mstHdrV3 .mstHdr_MenuItemAccount a:active {font-s=
ize:13px;color:#0072C6;}.mstHdrV3 .mstHdr_SignInOut #idPPScarab{font-siz=
e:13px;color:#0072C6;}.mstHdrV3 .mstHdr_MenuItemsAccount .selected .mstH=
dr_MenuItemAccountText{border-color:#999;}.mstHdrV3 .mstHdr_Flyout{borde=
r: 1px solid #999;}.mstHdrV3 .mstHdr_MenuItemAccountFlyoutLinkText{margi=
n-right:8px;}.mstHdrV3 .mstHdr_MenuItemSignIn{margin-left:10px;}.mstHdrV=
3 .mstHdr_BrandLine{background-color:#EEEEEE;} .mstHdrV3 .mstHdr_SignInO=
ut .mstHdr_UserProfileTileImage { margin-left: 12px; }.oneMscomNavV3 .ms=
tNavNavItem {float:left;padding-right:2px;}.oneMscomNavV3 .mstNavNavItem=
Middle{padding-left: 2px;}.oneMscomNavV3 .mstNavNavItem .mstNavNavItemTa=
bText, .oneMscomNavV3 .mstNavNavItem .mstNavNavItemTabTextLink  {padding=
-right:18px;}.oneMscomNavV3 .mstNavNavItemMiddle .mstNavNavItemTabText, =
.oneMscomNavV3 .mstNavNavItemMiddle .mstNavNavItemTabTextLink  {padding-=
left: 18px;}.oneMscomNavV3 .mstNavNavItemFlyout {left: 0px;}.oneMscomNav=
V3 .mstNav4ColMiddle {padding-left: 20px;}.oneMscomNavV3 .mstNav4ColFlyo=
utList {float:left;}.oneMscomNavV3 .mstNavMenuLinks {float:left;}.oneMsc=
omNavV3 .mstNavMenuImgs {float:left;}.oneMscomNavV3 .mstNavMenuListItem =
 a, .oneMscomNavV3 .mstNavMenuListItem2 a{font-size:13px;color:#1570a6;}=
.oneMscomNavV3 .mstNavMenuListTitle {font-size:16px;color:#000000;}.oneM=
scomNavV3 .mstNavNavItemTabTextLink, .oneMscomNavV3 .mstNavNavItemTabTex=
t {font-size:13px;font-weight:500;color:#000000;}.oneMscomNavV3 .mstNavN=
avItemTabText .selected{font-size:13px;font-weight:500;color:#1570a6;}.o=
neMscomNavV3 .mstNavListImg {float:left;padding-left: 20px;}.oneMscomNav=
V3 .mstNavMenuListImgNoPadding {padding-left: 0px;}.oneMscomNavV3 .mstNa=
vNavItemFlyout, .oneMscomNavV3 .selected, .oneMscomNavV3 .mstNavNavFirst=
Item {background-color:#EEEEEE;}.mstFooterDestLinkListOdd, .mstFooterDes=
tLinkListEven {float:left;margin-left: 20px;}.mstFooterMsLinkItemText {m=
argin-left: 10px;}.mstFooterMsLink, .mstFooterMsLinkItemLink, .mstFooter=
MsLinkItemText, .mstFooterDestLink, .mstFooterPopRes {float:left;}.mstFo=
oterPopRes {margin-left: 20px;}.msFooterCorpLinkLi {margin-left:20px;}.m=
stFooterLocale {float: left;}.mstFooterLogo, .mstFooterCorpLink{float:ri=
ght;}.mstFooterCopyRight {float:right;margin-left: 20px;}.mstFooterMoreC=
orpLink {float:right;}.oneMscomFooterV3, .mstFooterV3Backround {backgrou=
nd-color:#EEEEEE;}.mstFooterMsLinkListTitle {color:#000000;font-size:13p=
x;}.mstFooterMsLinkItemText {font-size:13px;}.mstFooterMsLinkItemText a =
{color:#000000;}.mstFooterDestLinkListTitle {color:#000000;font-size:13p=
x;}.mstFooterDestLinkListItem {font-size:11px;}.mstFooterDestLinkListIte=
m a {color:#0060a6;}.mstFooterPopResListTitle {color:#000000;font-size:1=
3px;}.mstFooterPopResListItem {font-size:11px;}.mstFooterPopResListItem =
a {color:#0060a6;}.mstFooterCorpLinkCopyright {font-size:11px;}.mstFoote=
rCorpLinkCopyright a {color:#000000;}.mstFooterCopyRight {color:#000000;=
font-size:11px;}.mstLcpMenuText {margin-left: 10px;float:left;font-size:=
13px;font-weight:600;color:#000000;}.mstLcpMenuImg {float:left;}.mstLcpF=
lyout {background-color:#EEEEEE;}.mstLcpLangSiteText {font-size:20px;col=
or:#000000;}.mstLcpClose1 {right:20px;}.mstLcpClose2 {float:right;margin=
-right:20px;}.mstLcpList {float:left;}.mstLcpAllSitesText {font-size:20p=
x;color:#000000;}.mstLcpSearch {right:20px;}.mstLcpAllSitesList {float:l=
eft;}.mstLcpSiteSites li a {font-size:13px;color:#0060a6;}.mstLcpAllSite=
sLinks li a {font-size:13px;color:#0060a6;}.mstLcpListNotLast {margin-ri=
ght:20px;}.mstLcpSearchImg {background-image: url('//www.microsoft.com/g=
lobal/onemscomsettings/publishingimages/searchimages/searchv3.ltr.png');=
}.mstLcpSearchBorder {border: 1px solid #EEEEEE;}.mstLcpSearchText {font=
-size:13px;}</style>
    </div>
    <div id=3D"ctl00_ctl00_JsCssLoaderCtl_oneMscomGlobalSettings" style=3D=
"display: none;"></div>
     <div id=3D"ctl00_ctl00_JsCssLoaderCtl_oneMscomThemeSettings" style=3D=
"display: none;"></div>
    <div id=3D"ctl00_ctl00_JsCssLoaderCtl_oneMscomLocaleSettings" style=3D=
"display: none;"></div>
    <div id=3D"ctl00_ctl00_JsCssLoaderCtl_oneMscomSiteSettings" style=3D=
"display: none;"></div>

   <div id=3D"ctl00_ctl00_JsCssLoaderCtl_oneMscomComponentDynamicScript"=
>
         <script type=3D"text/javascript">
            =

        </script>
   </div>
</div>

    <div class=3D"stage">
        <div class=3D"utility-bar">
            =

    =

<div class=3D"oneMscomComp mstHdrV3 mstHdrV3-ltr" dir=3D"ltr" bi:type=3D=
"oneMscomBlade">
    <div id=3D"ctl00_ctl00_Header_oneMscomBlade_mstHdrV3" class=3D"mstHd=
rV3">
        <div class=3D"mstHdr_PriRow">
            <div class=3D"mstHdr_StaticSec11 mstHdr_StaticSecLeftAlign">=

                =

<div id=3D"MenuLink" class=3D"mstHdr_MenuLinkMsLogo" bi:type=3D"oneMscom=
MsLogo">
    <a href=3D"http://www.microsoft.com/en-gb/default.aspx" id=3D"ctl00_=
ctl00_Header_oneMscomBlade_ctl00_MenuLinkAnchor" class=3D"mstHdr_MenuLin=
kAnchor" title=3D"Microsoft UK">
        <img src=3D"//www.microsoft.com/global/onemscomsettings/publishi=
ngimages/headerimages/microsoftlogov3.png" id=3D"ctl00_ctl00_Header_oneM=
scomBlade_ctl00_MenuImage" alt=3D"Microsoft UK" class=3D"mstHdr_MsLogoIm=
ageSmall" />
    </a>
</div>
<div id=3D"ctl00_ctl00_Header_oneMscomBlade_ctl01_divSiteIdentity" class=
=3D"mstHdr_MenuItemSiteIdentity" bi:type=3D"oneMscomSiteIdentity"><a hre=
f=3D"/?ln=3Den-gb"  ><span>Support</span></a></div>

            </div>
            <div class=3D"mstHdr_StaticSec12 mstHdr_StaticSecRightAlign"=
>
                <div class=3D"mstHdr_StaticSec121 mstHdr_StaticSecRightA=
lign">
                    <div id=3D"ctl00_ctl00_Header_oneMscomBlade_ctl02_di=
vAccount" class=3D"mstHdr_MenuItemsAccount mstHdr_StaticSecLeftAlign" st=
yle=3D"display:none;" bi:type=3D"oneMscomAccount">
   <div id=3D"ctl00_ctl00_Header_oneMscomBlade_ctl02_divAcoountItem" cla=
ss=3D"mstHdr_MenuItemAccount mstHdr_StaticSecLeftAlign">
        <div class=3D"mstHdr_MenuItemAccountText">
            <a id=3D"ctl00_ctl00_Header_oneMscomBlade_ctl02_divAccountFl=
youtLink" class=3D"mstHdr_MenuItemAccountFlyoutLink">
                <div id=3D"ctl00_ctl00_Header_oneMscomBlade_ctl02_divAcc=
ountFlyoutLinkText" class=3D"mstHdr_MenuItemAccountFlyoutLinkText mstHdr=
_StaticSecLeftAlign">Account</div>
                <div id=3D"divAccountFlyoutLinkImage" class=3D"mstHdr_Me=
nuItemAccountFlyoutLinkArrow mstHdr_StaticSecLeftAlign">
                   <img src=3D"//www.microsoft.com/global/onemscomsettin=
gs/publishingimages/headerimages/downarrow.png" id=3D"ctl00_ctl00_Header=
_oneMscomBlade_ctl02_AccountDownArrowImage" />
                </div>
                <div class=3D"cssClear">
                </div>
            </a>
        </div>
        <div class=3D"mstHdr_FlyoutPos">
            <div id=3D"ctl00_ctl00_Header_oneMscomBlade_ctl02_divAccount=
Flyout" class=3D"mstHdr_Flyout">
                <div id=3D"ctl00_ctl00_Header_oneMscomBlade_ctl02_divAcc=
ountItems" class=3D"mstHdr_AccountItems">
                    <ul>
                        =

                    </ul>
                </div>
            </div>
        </div>
    </div>
</div>
<script type=3D"text/javascript">
    if (typeof $ !=3D "undefined") {
        $(function () {
            if (Mst && Mst.AccountFlyout) {
                var AccountClick;
                var AccountClose;
                if ($.bi && $.bi.dataRetrievers.structure) { }

                var accountFlyout =3D new Mst.AccountFlyout('ctl00_ctl00=
_Header_oneMscomBlade_ctl02_divAccount', AccountClick, AccountClose);
            }
        });
    }
</script>

<div class=3D"mstHdr_MenuItemSignIn mstHdr_StaticSecLeftAlign" =

    id=3D"mthdr33"    bi:type=3D"oneMscomSignInOut">
    <div id=3D"ctl00_ctl00_Header_oneMscomBlade_ctl03_mstHdrSignInOut" c=
lass=3D"mstHdr_SignInOut">
        <div class=3D"mstHdr_StaticSecLeftAlign">
            =

          =

            <span id=3D"idSIT"><a href=3D"https://login.live.com/login.s=
rf?wa=3Dwsignin1.0&amp;rpsnv=3D11&amp;ct=3D1366820567&amp;rver=3D6.2.628=
9.0&amp;wp=3DLBI&amp;wreply=3Dhttp://support.microsoft.com/MSAccount/Sig=
nIn/SignIn.aspx?RedirectionTo=3D%252fkb%252f318785&amp;lc=3D2057&amp;id=3D=
0" id=3D"idPPScarab" style=3D"display:inline">Sign in</a></span>
        </div>
        =


        <div  class=3D"mstHdr_StaticSecLeftAlign">
            <a href=3D"javascript:void(0);" id=3D"ctl00_ctl00_Header_one=
MscomBlade_ctl03_mstUserProfileTileLink" class=3D"mstHdr_UserProfileTile=
Link">
                <img id=3D"ctl00_ctl00_Header_oneMscomBlade_ctl03_mstUse=
rProfileTileImage" class=3D"mstHdr_UserProfileTileImage" />
            </a>
        </div>
        </div>
</div>
                </div>
                <div class=3D"cssClear">
                </div>
                <div class=3D"mstHdr_StaticSec122 mstHdr_StaticSecRightA=
lign">
                    =

<style type=3D"text/css">
    div.gsfx_bsrch_container {
        background-image: none;
        float: none;
        height: 24px;
        margin: 0px;
        width: auto;
    }

    #gsfx_bsrch_divQuery {
        background-color: #FFFFFF;
        border: 1px solid #999999;
        display: block;
        height: 22px;
        margin: 0px;
    }

    #gsfx_bsrch_divQuery #gsfx_bsrch_query {
        background-color: transparent;
        font-size: 75%;
        height: 16px;
        margin: 2px 2px 0px 2px;
        margin-top: 0px;
        padding: 2px 2px 0px 2px;
        vertical-align: top;
    }

    #gsfx_bsrch_divQuery #gsfx_bsrch_btnimg {
        margin-left: 0px;
        margin-top: 3px;
        vertical-align: top;
    }

    #gsfx_cat_sel {
        margin-right: 0px;
        margin-top: 0px;
        width: 13px;
    }

    #gsfx_bsrch_logo {
        cursor: auto;
        margin-top: 1px;
        vertical-align: top;
    }

    #gsfx_bsrch_logo_div {
        margin-right: 5px;
        margin-top: 0px;
    }

    div.search-navigation .search { width: 385px; }

    #acListWrappergsfx_bsrch_query {
        top: 1px;
        *top: -3px;
    }
</style>
<form id=3D"frmsrch" action=3D"http://search.microsoft.com/en-gb/support=
results.aspx?form=3Dmssupport&q=3D" method=3D"get" onsubmit=3D" return S=
aveSimpleSearch(); " data-featureId=3D"900100">
    <script type=3D'text/javascript'>setACStartChars('4:');</script>
    =

    <div id=3D"gsfx_bsrch_bg" class=3D"gsfx_bsrch_container">
        <div id=3D"gsfx_bsrch_divQuery" style=3D"width: 381px">
            <input type=3D"text" id=3D"gsfx_bsrch_query" style=3D"width:=
 352px" name=3D"q"
                   maxlength=3D"200" value=3D"find out versions of dot n=
et installed" autocomplete=3D"off" /><input type=3D"image" title=3D"" al=
t=3D"" class=3D"gsfx_img_png" style=3D"width: 15px;height: 16px;" src=3D=
"/library/images/support/CN/search_mag_glass.png" onclick=3D"return Save=
SimpleSearch();" id=3D"gsfx_bsrch_btnimg" /><!--[if lte IE 6]><input typ=
e=3D"image" src=3D"/library/images/support/cn/onepix.gif" alt=3D"" class=
=3D"gsfx_div_png" style=3D"width:15px;height:16px;filter:progid:DXImageT=
ransform.Microsoft.AlphaImageLoader(src=3D'/library/images/support/CN/se=
arch_mag_glass.png', sizingMethod=3D'scale');" onclick=3D"return SaveSim=
pleSearch();" id=3D"gsfx_bsrch_btnimg" /><![endif]-->
        </div>
        <div id=3D"gsfx_cat_sel" style=3D"display: none">
            <a id=3D"gsfx_cat_sel_btn" href=3D"javascript:void(0)">
                <img src=3D"/library/images/support/cn/ss_dd_select1.png=
" hover-src=3D"/library/images/support/cn/ss_dd_select2.png"
                     alt=3D"Select" /></a>
            <!-- The below Element is used if the Search is not a MSCOM =
Search -->
            =

            <!-- The above Element is used if the Search is not a MSCOM =
Search -->
            =

        </div>
    </div>
    <script type=3D"text/javascript">try{MS.Support.AC.MakeAutoComplete(=
{id:'gsfx_bsrch_query', lcid:'2057', acURL:'http://autocomplete.support.=
microsoft.com', statsObj:StatsDotNet, startChar:'4', bubbleside:'left'})=
;}catch(e){}</script><script type=3D'text/javascript'>supportedSites.pus=
h(new Site('Search Support', 'http\x3a\x2f\x2fsearch.microsoft.com\x2fen=
-gb\x2fsupportresults.aspx\x3fform\x3dmssupport\x26q\x3d', true, ClickAc=
tion.Redirect));supportedSites.push(new Site('Search Microsoft.com', 'ht=
tp\x3a\x2f\x2fsearch.microsoft.com\x2fresults.aspx\x3fmkt\x3den-us\x26q\=
x3d', false, ClickAction.Redirect));supportedSites.push(new Site('Search=
 the web', 'http\x3a\x2f\x2fwww.bing.com\x2fsearch\x3fform\x3dMSSSUP\x26=
mkt\x3den-gb\x26q\x3d', false, ClickAction.Redirect));</script>
    <div class=3D"hiddenformels">
        <!-- The below Element is used if the Search is not a MSCOM Sear=
ch -->
        =

         <!-- The above Element is used if the Search is not a MSCOM Sea=
rch -->
    =

        <!-- The below Element is used if the Search is a MSCOM Search -=
->
        =



                <input type=3D"hidden" name=3D"form" value=3D"mssupport"=
/>
            =

        <!-- The below Element is used if the Search is a MSCOM Search -=
->
    </div>
    <noscript>
        <style type=3D"text/css">
            #gsfx_bsrch_catsel a { display: none; }

            #gsfx_bsrch_websrch { display: none; }

            #gsfx_bsrch_query {
                color: Black;
                font-style: normal;
            }
        </style>
    </noscript>
</form>
                </div>
            </div>
        </div>
        <div class=3D"cssClear">
        </div>
        <div class=3D"mstHdr_SecRow">
            <div class=3D"mstHdr_StaticSec21">
                =


<div class=3D"oneMscomNavV3" bi:type=3D"oneMscomNav">
    <div id=3D"ctl00_ctl00_Header_oneMscomBlade_ctl05_ctl00_mstNavMenu" =
class=3D"mstNavMenu">
        <ul id=3D"ctl00_ctl00_Header_oneMscomBlade_ctl05_ctl00_mstNav1st=
Lvl" class=3D"mstNav1stLvl">
        </ul>
    </div>
</div>

<script type=3D"text/javascript">

    if (typeof $ !=3D "undefined") {
        $(function () {
            if (Mst && Mst.FlyoutNavigationMenuV3) {
                var NavigationMenuV3 =3D new Mst.FlyoutNavigationMenuV3(=
'ctl00_ctl00_Header_oneMscomBlade_ctl05_ctl00', '984', '');
            }

        });
    }

</script>

            </div>
        </div>
        <div class=3D"mstHdr_BrandLine">
        </div>
    </div>
</div>
<script type=3D"text/javascript">
    if (typeof $ !=3D "undefined") {
        $(function () {
            if (Mst && Mst.HeaderV3) {

                var blade3V =3D new Mst.HeaderV3('ctl00_ctl00_Header_one=
MscomBlade_mstHdrV3', '984', '');
            }
        });
    }
</script>


        </div>
        <div class=3D"stage-content">
             =


            <div class=3D"main-content">
                =

    <div id=3D"gsfx_brnd_PageWrapper">
        <div id=3D"gsfx_brnd_PageContainer" class=3D"gsfx_brnd_PageConta=
iner">
            <div id=3D"gsfx_brnd_ContentContainer" class=3D"gsfx_brnd_Tr=
ansBG">
                <div id=3D"contentArea">
                    <div id=3D"topRow">

<link type=3D"text/css" rel=3D"Stylesheet" href=3D"/common/css/gps/wayfi=
nder.css?80" />

<script type=3D"text/javascript" src=3D"/common/script/gps/wayfinder.js?=
80"></script>
<div id=3D"wayfinder" class=3D"wayfinder" data-featureId=3D"900020">
    <div class=3D"modalities">
        <ul data-gps-lts-log=3D'{"a":"Modality"}'>
            =

            <li class=3D"modality selected" data-type=3D"SelfHelp" data-=
root-path=3D"/find-solutions" data-products-head-title=3D"Select the pro=
duct for which you want to find a solution">
                <a href=3D"/find-solutions/">
                    <span>
                        <span>
                        Find it myself
                        </span>
                        <img alt=3D"Selected" class=3D"arrow" src=3D"/li=
brary/images/support/cn/way-modality-carrot.png" />
                    </span>
                </a>
            </li>
            =

            <li class=3D"modality " data-type=3D"Community" data-root-pa=
th=3D"/ask-community" data-products-head-title=3D"Select a Community For=
um">
                <a href=3D"/ask-community/">
                    <span>
                        <span>
                        Ask the community
                        </span>
                        <img alt=3D"Selected" class=3D"arrow" src=3D"/li=
brary/images/support/cn/way-modality-carrot.png" />
                    </span>
                </a>
            </li>
            =

            <li class=3D"modality " data-type=3D"Support" data-root-path=
=3D"/get-support" data-products-head-title=3D"Select the product you nee=
d assistance with">
                <a href=3D"/get-support/">
                    <span>
                        <span>
                        Get live help
                        </span>
                        <img alt=3D"Selected" class=3D"arrow" src=3D"/li=
brary/images/support/cn/way-modality-carrot.png" />
                    </span>
                </a>
            </li>
            =

        </ul>
    </div>
    <div class=3D"products">
        <h3 class=3D"head-title">
            Select the product for which you want to find a solution
        </h3>
        <ul data-gps-lts-log=3D'{"li.product-item":"GPSProgram"}'>
            =

            <li class=3D"product-tile product-item" data-id=3D"0" data-k=
ey=3D"windows" data-product-id=3D"509" data-seam-id=3D"100100625">
                <a href=3D"/find-solutions/windows/">
                    <span class=3D"icon">
                        =

                        <img alt=3D"Windows" class=3D"show-when-selected=
" src=3D"/library/images/support/cn/way-windows-selected.png" />
                        =

                        <img alt=3D"Windows" class=3D"normal" src=3D"/li=
brary/images/support/cn/way-windows.png" />
                    </span>
                    =

                    <span class=3D"title">Windows</span> </a>
                =

                <ul style=3D"">
                    =

                          <li class=3D"product-item" data-id=3D"0" data-=
key=3D"windows-8" data-product-id=3D"16796" data-seam-id=3D"100100626" s=
tyle=3D"display:block">
                              <a href=3D"/find-solutions/windows/windows=
-8/">Windows 8</a>
                          </li>
                    =

                          <li class=3D"product-item" data-id=3D"0" data-=
key=3D"windows-rt" data-product-id=3D"16855" data-seam-id=3D"100100917" =
style=3D"display:block">
                              <a href=3D"/find-solutions/windows/windows=
-rt/">Windows RT</a>
                          </li>
                    =

                          <li class=3D"product-item" data-id=3D"0" data-=
key=3D"windows-7" data-product-id=3D"14019" data-seam-id=3D"100100749" s=
tyle=3D"display:block">
                              <a href=3D"/find-solutions/windows/windows=
-7/">Windows 7</a>
                          </li>
                    =

                          <li class=3D"product-item" data-id=3D"0" data-=
key=3D"windows-vista" data-product-id=3D"11732" data-seam-id=3D"10010080=
5" style=3D"display:block">
                              <a href=3D"/find-solutions/windows/windows=
-vista/">Windows Vista</a>
                          </li>
                    =

                          <li class=3D"product-item" data-id=3D"0" data-=
key=3D"windows-xp" data-product-id=3D"1173" data-seam-id=3D"100100861" s=
tyle=3D"display:block">
                              <a href=3D"/find-solutions/windows/windows=
-xp/">Windows XP</a>
                          </li>
                    =

                          <li class=3D"product-item" data-id=3D"0" data-=
key=3D"more" data-product-id=3D"" data-seam-id=3D"" style=3D"display:blo=
ck">
                              <a href=3D"/find-solutions/windows/more/">=
more...</a>
                          </li>
                    =

                </ul>
                =

            </li>
            =

            <li class=3D"product-tile product-item" data-id=3D"0" data-k=
ey=3D"internet-explorer" data-product-id=3D"807" data-seam-id=3D"1001001=
79">
                <a href=3D"/find-solutions/internet-explorer/">
                    <span class=3D"icon">
                        =

                        <img alt=3D"Internet Explorer" class=3D"show-whe=
n-selected" src=3D"/library/images/support/cn/way-ie-selected.png" />
                        =

                        <img alt=3D"Internet Explorer" class=3D"normal" =
src=3D"/library/images/support/cn/way-ie.png" />
                    </span>
                    =

                    <span class=3D"title">Internet Explorer</span> </a>
                =

                <ul style=3D"">
                    =

                          <li class=3D"product-item" data-id=3D"0" data-=
key=3D"internet-explorer-10" data-product-id=3D"16759" data-seam-id=3D"1=
00100180" style=3D"display:block">
                              <a href=3D"/find-solutions/internet-explor=
er/internet-explorer-10/">Internet Explorer 10</a>
                          </li>
                    =

                          <li class=3D"product-item" data-id=3D"0" data-=
key=3D"internet-explorer-pre-ie-10" data-product-id=3D"807" data-seam-id=
=3D"100100236" style=3D"display:block">
                              <a href=3D"/find-solutions/internet-explor=
er/internet-explorer-pre-ie-10/">Internet Explorer (pre IE 10)</a>
                          </li>
                    =

                          <li class=3D"product-item" data-id=3D"0" data-=
key=3D"more" data-product-id=3D"" data-seam-id=3D"" style=3D"display:blo=
ck">
                              <a href=3D"/find-solutions/internet-explor=
er/more/">more...</a>
                          </li>
                    =

                </ul>
                =

            </li>
            =

            <li class=3D"product-tile product-item" data-id=3D"0" data-k=
ey=3D"office" data-product-id=3D"505" data-seam-id=3D"100100283">
                <a href=3D"/find-solutions/office/">
                    <span class=3D"icon">
                        =

                        <img alt=3D"Office" class=3D"show-when-selected"=
 src=3D"/library/images/support/cn/way-office-selected.png" />
                        =

                        <img alt=3D"Office" class=3D"normal" src=3D"/lib=
rary/images/support/cn/way-office.png" />
                    </span>
                    =

                    <span class=3D"title">Office</span> </a>
                =

                <ul style=3D"">
                    =

                          <li class=3D"product-item" data-id=3D"0" data-=
key=3D"office-2013" data-product-id=3D"16674" data-seam-id=3D"100101113"=
 style=3D"display:block">
                              <a href=3D"/find-solutions/office/office-2=
013/">Office 2013</a>
                          </li>
                    =

                          <li class=3D"product-item" data-id=3D"0" data-=
key=3D"office-365-home-premium" data-product-id=3D"17032" data-seam-id=3D=
"100101140" style=3D"display:block">
                              <a href=3D"/find-solutions/office/office-3=
65-home-premium/">Office 365 Home Premium &amp; Office 365 University</a=
>
                          </li>
                    =

                          <li class=3D"product-item" data-id=3D"0" data-=
key=3D"office-2010" data-product-id=3D"13615" data-seam-id=3D"100101043"=
 style=3D"display:block">
                              <a href=3D"/find-solutions/office/office-2=
010/">Office 2010 suites</a>
                          </li>
                    =

                          <li class=3D"product-item" data-id=3D"0" data-=
key=3D"office-for-mac-2011" data-product-id=3D"15627" data-seam-id=3D"10=
0101178" style=3D"display:block">
                              <a href=3D"/find-solutions/office/office-f=
or-mac-2011/">Office for Mac 2011</a>
                          </li>
                    =

                          <li class=3D"product-item" data-id=3D"0" data-=
key=3D"excel-2013" data-product-id=3D"16628" data-seam-id=3D"100101054" =
style=3D"display:block">
                              <a href=3D"/find-solutions/office/excel-20=
13/">Excel 2013</a>
                          </li>
                    =

                          <li class=3D"product-item" data-id=3D"0" data-=
key=3D"onenote-2013" data-product-id=3D"16636" data-seam-id=3D"100101205=
" style=3D"display:block">
                              <a href=3D"/find-solutions/office/onenote-=
2013/">OneNote 2013</a>
                          </li>
                    =

                          <li class=3D"product-item" data-id=3D"0" data-=
key=3D"outlook-2013" data-product-id=3D"16648" data-seam-id=3D"100101251=
" style=3D"display:block">
                              <a href=3D"/find-solutions/office/outlook-=
2013/">Outlook 2013</a>
                          </li>
                    =

                          <li class=3D"product-item" data-id=3D"0" data-=
key=3D"powerpoint-2013" data-product-id=3D"16634" data-seam-id=3D"100101=
314" style=3D"display:block">
                              <a href=3D"/find-solutions/office/powerpoi=
nt-2013/">PowerPoint 2013</a>
                          </li>
                    =

                          <li class=3D"product-item" data-id=3D"0" data-=
key=3D"word-2013" data-product-id=3D"16641" data-seam-id=3D"100101367" s=
tyle=3D"display:block">
                              <a href=3D"/find-solutions/office/word-201=
3/">Word 2013</a>
                          </li>
                    =

                          <li class=3D"product-item" data-id=3D"0" data-=
key=3D"more" data-product-id=3D"" data-seam-id=3D"" style=3D"display:blo=
ck">
                              <a href=3D"/find-solutions/office/more/">m=
ore...</a>
                          </li>
                    =

                          <li class=3D"product-item" data-id=3D"0" data-=
key=3D"word" data-product-id=3D"939" data-seam-id=3D"100100516" style=3D=
"display:none">
                              <a href=3D"/find-solutions/office/word/"><=
/a>
                          </li>
                    =

                          <li class=3D"product-item" data-id=3D"0" data-=
key=3D"excel" data-product-id=3D"918" data-seam-id=3D"100100284" style=3D=
"display:none">
                              <a href=3D"/find-solutions/office/excel/">=
Excel</a>
                          </li>
                    =

                          <li class=3D"product-item" data-id=3D"0" data-=
key=3D"outlook" data-product-id=3D"928" data-seam-id=3D"100100420" style=
=3D"display:none">
                              <a href=3D"/find-solutions/office/outlook/=
">Outlook</a>
                          </li>
                    =

                          <li class=3D"product-item" data-id=3D"0" data-=
key=3D"powerpoint" data-product-id=3D"929" data-seam-id=3D"100100468" st=
yle=3D"display:none">
                              <a href=3D"/find-solutions/office/powerpoi=
nt/">PowerPoint</a>
                          </li>
                    =

                </ul>
                =

            </li>
            =

            <li class=3D"product-tile product-item" data-id=3D"0" data-k=
ey=3D"surface" data-product-id=3D"99999" data-seam-id=3D"">
                <a href=3D"/find-solutions/surface/">
                    <span class=3D"icon">
                        =

                        <img alt=3D"Surface" class=3D"show-when-selected=
" src=3D"/library/images/support/CN/Way-Surface-selected.png" />
                        =

                        <img alt=3D"Surface" class=3D"normal" src=3D"/li=
brary/images/support/CN/Way-Surface.png" />
                    </span>
                    =

                    <span class=3D"title">Surface</span> </a>
                =

            </li>
            =

            <li class=3D"product-tile product-item" data-id=3D"0" data-k=
ey=3D"media" data-product-id=3D"7763" data-seam-id=3D"100100162">
                <a href=3D"/find-solutions/media/">
                    <span class=3D"icon">
                        =

                        <img alt=3D"Media Player" class=3D"show-when-sel=
ected" src=3D"/library/images/support/cn/way-media-selected.png" />
                        =

                        <img alt=3D"Media Player" class=3D"normal" src=3D=
"/library/images/support/cn/way-media.png" />
                    </span>
                    =

                    <span class=3D"title">Media Player</span> </a>
                =

            </li>
            =

            <li class=3D"product-tile product-item" data-id=3D"0" data-k=
ey=3D"skype" data-product-id=3D"16432" data-seam-id=3D"">
                <a href=3D"/find-solutions/skype/">
                    <span class=3D"icon">
                        =

                        <img alt=3D"Skype" class=3D"show-when-selected" =
src=3D"/library/images/support/cn/way-skype-selected.png" />
                        =

                        <img alt=3D"Skype" class=3D"normal" src=3D"/libr=
ary/images/support/cn/way-skype.png" />
                    </span>
                    =

                    <span class=3D"title">Skype</span> </a>
                =

            </li>
            =

            <li class=3D"product-tile product-item" data-id=3D"0" data-k=
ey=3D"phone" data-product-id=3D"11921" data-seam-id=3D"">
                <a href=3D"/find-solutions/phone/">
                    <span class=3D"icon">
                        =

                        <img alt=3D"Windows Phone" class=3D"show-when-se=
lected" src=3D"/library/images/support/cn/way-phone-selected.png" />
                        =

                        <img alt=3D"Windows Phone" class=3D"normal" src=3D=
"/library/images/support/cn/way-phone.png" />
                    </span>
                    =

                    <span class=3D"title">Windows Phone</span> </a>
                =

            </li>
            =

            <li class=3D"product-tile product-item last" data-id=3D"0" d=
ata-key=3D"more" data-product-id=3D"" data-seam-id=3D"">
                <a href=3D"/find-solutions/more/">
                    <span class=3D"icon">
                        =

                        <img alt=3D"More Products" class=3D"normal" src=3D=
"/library/images/support/cn/way-more.png" />
                    </span>
                    =

                    <span class=3D"selected-indicator show-when-selected=
">
                        <img alt=3D"Selected" src=3D"/library/images/sup=
port/cn/way-product-carrot.png" /></span>
                    =

                    <span class=3D"title">More Products</span> </a>
                =

            </li>
            =

        </ul>
    </div>
</div>
<div style=3D"clear: both"></div>

<script type=3D"text/javascript">
    (function() {
        var suggestionFormat =3D "Search {0} in Microsoft Support";
        var wayfinder =3D new Microsoft.Support.GSS.WayFinder("#wayfinde=
r", {
            enable: false,      // we need disabled wayfinder first till=
 document is ready.
            language: 'en-gb',
            path: '',
            isFullTopicPath: false,
            topicKeys: ['', ''],
            isRTL: false
        });
        var hasTopSearch =3D $("#gsfx_bsrch_query").length > 0;
        if(hasTopSearch) {
            $(wayfinder).bind("modalityselect", function(evt, modalityDa=
ta, srcEvt) {
                srcEvt.preventDefault();
                if (modalityData.type !=3D=3D "SelfHelp") {
                    removeGpsSearchFromSearchOptions("?");
                } else {
                    var productNode =3D wayfinder.getCurrentProduct();
                    var productName =3D productNode ? productNode.get("n=
ame") : "";
                    if (productName !=3D=3D "" && productNode.get("props=
").productId) {
                        var siteName =3D suggestionFormat.replace(new Re=
gExp('\\{0\\}', 'gm'), productName);
                        AddGpsSearchToSearchOptions(siteName, '?');
                    } else {
                        removeGpsSearchFromSearchOptions("?");
                    }
                }
            }).bind("productselect", function(evt, productNode, srcEvt) =
{
                var productName =3D productNode.get("name");
                var siteName =3D suggestionFormat.replace(new RegExp('\\=
{0\\}', 'gm'), productName);
                if (this.getCurrentModality().type =3D=3D=3D "SelfHelp" =
&& productNode.get("props").productId) {
                    AddGpsSearchToSearchOptions(siteName, '?');
                } else {
                    removeGpsSearchFromSearchOptions("?");
                }
            });
        }
        window._wayfinder =3D wayfinder;
        $(function() {
            wayfinder.enable();
        });
    })();
</script>
</div><div id=3D"mainRow"><div class=3D"primaryTable"><table cellpadding=
=3D"0" cellspacing=3D"0" class=3D"primaryTable"><tr><td class=3D"primary=
MainColumn"><div id=3D"mainColumn" lang=3D"en-us"><div id=3D"kb" class=3D=
"kb"><div id=3D"kb_default" class=3D"kb_default ltr"><!-- - -KB 3 start-=
 - --><a id=3D"top"></a><h1 class=3D"title" id=3D"mt_title">How to deter=
mine which versions and service pack levels of the Microsoft .NET Framew=
ork are installed</h1><div class=3D"articleProperty" id=3D"mt_article_pr=
operties" translate=3D"false">Article ID: 318785 - <a href=3D"#appliesto=
" onclick=3D"return ScrollToSection('.articleProperties');">View product=
s that this article applies to.</a></div><script type=3D"text/javascript=
">if (!loadTOCNode) {var loadTOCNode =3D function(){}}</script><div clas=
s=3D"notice">This article was previously published under Q318785</div><d=
iv id=3D"kb_section" class=3D"section"><div id=3D"kb_expandcollapseall" =
class=3D"expandcollapseall" translate=3D"false"><a href=3D"javascript:vo=
id(0);" class=3D"expandalltext" id=3D"expandAll">Expand all</a> | <a hre=
f=3D"javascript:void(0);" class=3D"collapsealltext" id=3D"collapseAll">C=
ollapse all</a><script type=3D"text/javascript">
          if (kb_page_object)
          {
          kb_page_object.kb_imageExpandHoverText =3D 'Click to expand th=
is image';
          }
        </script></div><h2 class=3D"subTitle tocTitle" id=3D"tocHeadRef"=
 translate=3D"false"><span><a href=3D"javascript:void(0);" id=3D"mt_toc_=
title">On This Page</a></span></h2><div class=3D"sbody" id=3D"tocDiv"></=
div><script type=3D"text/javascript">
      var tocObject =3D {};
      var tocArrow =3D "/library/images/support/kbgraphics/public/en-us/=
downarrow.gif";
      var depthLimit =3D 10;
      var depth3Limit =3D 10;
      var depth4Limit =3D 5;
      var depth5Limit =3D 3;
      var tocEntryMinimum =3D 1;
    </script><noscript><style>.tocTitle, #tocDiv{display: none;}</style>=
</noscript><h2 class=3D"subTitle" id=3D"tocHeadRef" translate=3D"false">=
<span><a href=3D"javascript:void(0);">Summary</a></span></h2><script typ=
e=3D"text/javascript">
              loadTOCNode(1, 'summary');
            </script><div class=3D"sbody" id=3D"mt">This article describ=
es how to determine which version(s) and service pack level(s) of the Mi=
crosoft .NET Framework are installed.<br><br><div class=3D"topOfPage" tr=
anslate=3D"false"><a href=3D"#top"><img src=3D"/library/images/support/e=
n-us/uparrow.gif" alt=3D""><span>Back to the top</span></a><font class=3D=
"noShow"> | </font><a href=3D"#survey" class=3D"noShow" onclick=3D"retur=
n ScrollToSection('.kbfeedback');">Give Feedback</a></div></div><h2 clas=
s=3D"subTitle" id=3D"tocHeadRef" translate=3D"false"><span><a href=3D"ja=
vascript:void(0);">More information</a></span></h2><script type=3D"text/=
javascript">
              loadTOCNode(1, 'moreinformation');
            </script><div class=3D"sbody" id=3D"mt">Use the registry inf=
ormation below to determine which version(s) and service pack level(s) o=
f the Microsoft .NET Framework are installed. <br><br>To do this, follow=
ing the steps below: <ol><li>Click <strong class=3D"uiterm">Start</stron=
g>, type <span class=3D"userInput">regedit</span> in the <strong class=3D=
"uiterm">Search programs and files</strong> box (click <strong class=3D"=
uiterm">Run</strong> and type <span class=3D"userInput">regedit</span> i=
n the <strong class=3D"uiterm">Run</strong> Dialogbox in Windows XP), an=
d then press <span class=3D"userInput">Enter</span>.</li><li>In the <str=
ong class=3D"uiterm">Registry Editor</strong>, locate the <strong class=3D=
"uiterm">Registry Key Name</strong> in the table below and check the val=
ue for the related .NET Framework.<br><div class=3D"kb_outergraphicwrapp=
er kb_outergraphicwrapper_closed" translate=3D"false"><div class=3D"kb_g=
raphictop"><span class=3D"kb_collapsetext_close"><span class=3D"kb_colla=
psetext_background"></span>Collapse this image</span><span class=3D"kb_e=
xpandtext"><span class=3D"kb_expandtext_background"></span>Expand this i=
mage</span></div><div class=3D"kb_graphicwrapper"><img class=3D"graphic"=
 src=3D"/Library/Images/2525681.png" alt=3D"" title=3D""></div></div><br=
><br><div class=3D"kb_outertablewrapper kb_outertablewrapper_closed"><di=
v class=3D"kb_tabletop" translate=3D"false"><span class=3D"kb_collapsete=
xt_close"><span class=3D"kb_collapsetext_background"></span>Collapse thi=
s table</span><span class=3D"kb_expandtext"><span class=3D"kb_expandtext=
_background"></span>Expand this table</span></div><div class=3D"kb_table=
wrapper" id=3D"mt"><table cellspacing=3D"0" class=3D"table" id=3D"mt"><t=
r><td><b>.NET Framework</b></td><td><b>Service Pack Level</b></td><td><b=
>Registry Key Name</b></td><td><b>Value</b></td></tr><tr><td>4 - Client<=
/td><td>Original Release</td><td>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\N=
ET Framework Setup\NDP\v4\Client</td><td>Name: <b>Install</b>, Type: <b>=
REG_DWORD</b>, Data: <b>1</b></td></tr><tr><td></td><td></td><td>HKEY_LO=
CAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client</td><td=
>Name: <b>Version</b>, Type: <b>REG_SZ</b>, Data: <b>4.0.30319.0</b></td=
></tr><tr><td>4 - Full</td><td>Original Release</td><td>HKEY_LOCAL_MACHI=
NE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full</td><td>Name: <b>I=
nstall</b>, Type: <b>REG_DWORD</b>, Data: <b>1</b></td></tr><tr><td></td=
><td></td><td>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\=
NDP\v4\Full</td><td>Name: <b>Version</b>, Type: <b>REG_SZ</b>, Data: <b>=
4.0.30319.0</b></td></tr><tr><td>3.5</td><td>Original Release</td><td>HK=
EY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5</td><td=
>Name: <b>Install</b>, Type: <b>REG_DWORD</b>, Data: <b>1</b></td></tr><=
tr><td></td><td></td><td>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Frame=
work Setup\NDP\v3.5</td><td>Name: <b>SP</b>, Type: <b>REG_DWORD</b>, Dat=
a: <b>0</b></td></tr><tr><td>3.5</td><td>Service Pack 1</td><td>HKEY_LOC=
AL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5</td><td>Name:=
 <b>Install</b>, Type: <b>REG_DWORD</b>, Data: <b>1</b></td></tr><tr><td=
></td><td></td><td>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework S=
etup\NDP\v3.5</td><td>Name: <b>SP</b>, Type: <b>REG_DWORD</b>, Data: <b>=
1</b></td></tr><tr><td>3.0</td><td>Original Release</td><td>Follow the d=
eployment and detection guidance in this document: <a href=3D"http://msd=
n.microsoft.com/en-us/library/aa480173.aspx">http://msdn.microsoft.com/e=
n-us/library/aa480173.aspx</a><div class=3D"pLink">
      (http://msdn.microsoft.com/en-us/library/aa480173.aspx)
    </div></td></tr><tr><td></td><td></td><td>HKEY_LOCAL_MACHINE\SOFTWAR=
E\Microsoft\NET Framework Setup\NDP\v3.0</td><td>Name: <b>SP</b>, Type: =
<b>REG_DWORD</b>, Data: <b>0</b></td></tr><tr><td>3.0</td><td>Service Pa=
ck 1</td><td>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\N=
DP\v3.0</td><td>Name: <b>Install</b>, Type: <b>REG_DWORD</b>, Data: <b>1=
</b></td></tr><tr><td></td><td></td><td>HKEY_LOCAL_MACHINE\SOFTWARE\Micr=
osoft\NET Framework Setup\NDP\v3.0</td><td>Name: <b>SP</b>, Type: <b>REG=
_DWORD</b>, Data: <b>1</b></td></tr><tr><td>3.0</td><td>Service Pack 2</=
td><td>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.=
0</td><td>Name: <b>Install</b>, Type: <b>REG_DWORD</b>, Data: <b>1</b></=
td></tr><tr><td></td><td></td><td>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\=
NET Framework Setup\NDP\v3.0</td><td>Name: <b>SP</b>, Type: <b>REG_DWORD=
</b>, Data: <b>2</b></td></tr><tr><td>2.0</td><td>Original Release</td><=
td>HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50=
727 </td><td>Name: <b>Install</b>, Type: <b>REG_DWORD</b>, Data: <b>1</b=
></td></tr><tr><td></td><td></td><td>HKEY_LOCAL_MACHINE\Software\Microso=
ft\NET Framework Setup\NDP\v2.0.50727 </td><td>Name: <b>SP</b>, Type: <b=
>REG_DWORD</b>, Data: <b>0</b></td></tr><tr><td>2.0</td><td>Service Pack=
 1</td><td>HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP=
\v2.0.50727 </td><td>Name: <b>Install</b>, Type: <b>REG_DWORD</b>, Data:=
 <b>1</b></td></tr><tr><td></td><td></td><td>HKEY_LOCAL_MACHINE\Software=
\Microsoft\NET Framework Setup\NDP\v2.0.50727 </td><td>Name: <b>SP</b>, =
Type: <b>REG_DWORD</b>, Data: <b>1</b></td></tr><tr><td>2.0</td><td>Serv=
ice Pack 2</td><td>HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework S=
etup\NDP\v2.0.50727 </td><td>Name: <b>Install</b>, Type: <b>REG_DWORD</b=
>, Data: <b>1</b></td></tr><tr><td></td><td></td><td>HKEY_LOCAL_MACHINE\=
Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 </td><td>Name: <b>=
SP</b>, Type: <b>REG_DWORD</b>, Data: <b>2</b></td></tr><tr><td>1.1 (on =
32-bit operating systems)</td><td>Original Release</td><td>HKEY_LOCAL_MA=
CHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322</td><td>Name:=
 <b>Install</b>, Type: <b>REG_DWORD</b>, Data: <b>1</b></td></tr><tr><td=
></td><td></td><td>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework S=
etup\NDP\v1.1.4322</td><td>Name: <b>SP</b>, Type: <b>REG_DWORD</b>, Data=
: <b>0</b></td></tr><tr><td>1.1 (on 32-bit operating systems)</td><td>Se=
rvice Pack 1</td><td>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework=
 Setup\NDP\v1.1.4322</td><td>Name: <b>Install</b>, Type: <b>REG_DWORD</b=
>, Data: <b>1</b></td></tr><tr><td>1.1 (on 64-bit operating systems)</td=
><td>Original Release</td><td>HKLM\SOFTWARE\Wow6432Node\Microsoft\NET Fr=
amework Setup\NDP\v1.1.4322</td><td>Name: <b>Install</b>, Type: <b>REG_D=
WORD</b>, Data: <b>1</b></td></tr><tr><td></td><td></td><td>HKLM\SOFTWAR=
E\Wow6432Node\Microsoft\NET Framework Setup\NDP\v1.1.4322</td><td>Name: =
<b>SP</b>, Type: <b>REG_DWORD</b>, Data: <b>0</b></td></tr><tr><td>1.1 (=
on 64-bit operating systems)</td><td>Service Pack 1</td><td>HKLM\SOFTWAR=
E\Wow6432Node\Microsoft\NET Framework Setup\NDP\v1.1.4322</td><td>Name: =
<b>Install</b>, Type: <b>REG_DWORD</b>, Data: <b>1</b></td></tr><tr><td>=
</td><td></td><td>HKLM\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setu=
p\NDP\v1.1.4322</td><td>Name: <b>SP</b>, Type: <b>REG_DWORD</b>, Data: <=
b>1</b></td></tr><tr><td>1.0 (on supported platforms except for Windows =
XP Media Center and Tablet PC)</td><td>Original Release</td><td><br><br>=
HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\=
{78705f0d-e8db-4b2d-8193-982bdda15ecd} <br><br></td><td>Name: <b>Version=
</b>, Type: <b>REG_SZ</b>, Data: <b>1.0.3705.0</b></td></tr><tr><td>1.0 =
(on supported platforms except for Windows XP Media Center and Tablet PC=
)</td><td>Service Pack 1</td><td><br><br>HKEY_LOCAL_MACHINE\Software\Mic=
rosoft\Active Setup\Installed Components\{78705f0d-e8db-4b2d-8193-982bdd=
a15ecd} <br><br></td><td>Name: <b>Version</b>, Type: <b>REG_SZ</b>, Data=
: <b>1.0.3705.1</b></td></tr><tr><td>1.0 (on supported platforms except =
for Windows XP Media Center and Tablet PC)</td><td>Service Pack 2</td><t=
d><br><br>HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed C=
omponents\{78705f0d-e8db-4b2d-8193-982bdda15ecd} <br><br></td><td>Name: =
<b>Version</b>, Type: <b>REG_SZ</b>, Data: <b>1.0.3705.2</b></td></tr><t=
r><td>1.0 (on supported platforms except for Windows XP Media Center and=
 Tablet PC)</td><td>Service Pack 3</td><td><br><br>HKEY_LOCAL_MACHINE\So=
ftware\Microsoft\Active Setup\Installed Components\{78705f0d-e8db-4b2d-8=
193-982bdda15ecd} <br><br></td><td>Name: <b>Version</b>, Type: <b>REG_SZ=
</b>, Data: <b>1.0.3705.3</b></td></tr><tr><td>1.0 (shipped with Windows=
 XP Media Center 2002/2004 and Tablet PC 2004)</td><td>Service Pack 2</t=
d><td><br><br>HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Install=
ed Components\{FDC11A6F-17D1-48f9-9EA3-9051954BAA24} <br><br></td><td>Na=
me: <b>Version</b>, Type: <b>REG_SZ</b>, Data: <b>1.0.3705.2</b></td></t=
r><tr><td>1.0 (shipped with Windows XP Media Center 2005 and Tablet PC 2=
005)</td><td>Service Pack 3</td><td><br><br>HKEY_LOCAL_MACHINE\Software\=
Microsoft\Active Setup\Installed Components\{FDC11A6F-17D1-48f9-9EA3-905=
1954BAA24} <br><br></td><td>Name: <b>Version</b>, Type: <b>REG_SZ</b>, D=
ata: <b>1.0.3705.3</b></td></tr></table></div></div></li></ol><h3 id=3D"=
tocHeadRef">Recommended Deployment Detection</h3><script type=3D"text/ja=
vascript">
        loadTOCNode(2, 'moreinformation');
      </script>To detect the existence of a specific .NET Framework vers=
ion regardless of the Service Pack level, or to detect a service pack le=
vel or a later service pack level of the same .NET Framework version, us=
e the registry information that is listed in the following table.<br><br=
>
<script language=3D"javascript">
function CIP_show_hide1()
{ var obja =3D document.getElementById("CIP_m1");
  =

if (obja.style.display=3D=3D"none")   =

{
obja.style.display=3D"block";
}   =

else    =

{
obja.style.display=3D"none";
}}</script> =

<a href=3D"javascript:void(0);" onclick=3D"CIP_show_hide1()" >

Click here to view or hide detailed information

</a>  =

<div id=3D"CIP_m1" style=3D"display:none;" class=3D"CIP_kb_intextwrapper=
1">
<br><div class=3D"kb_outertablewrapper kb_outertablewrapper_closed"><div=
 class=3D"kb_tabletop" translate=3D"false"><span class=3D"kb_collapsetex=
t_close"><span class=3D"kb_collapsetext_background"></span>Collapse this=
 table</span><span class=3D"kb_expandtext"><span class=3D"kb_expandtext_=
background"></span>Expand this table</span></div><div class=3D"kb_tablew=
rapper" id=3D"mt"><table cellspacing=3D"0" class=3D"table" id=3D"mt"><tr=
><td><b>.NET Framework</b></td><td><b>Service Pack Level</b></td><td><b>=
Registry Key Name</b></td><td><b>Value</b></td></tr><tr><td>4 - Client</=
td><td><b>Any Version</b></td><td>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\=
NET Framework Setup\NDP\v4\Client</td><td>Install =3D 1</td></tr><tr><td=
>4 - Full</td><td><b>Any Version</b></td><td>HKEY_LOCAL_MACHINE\SOFTWARE=
\Microsoft\NET Framework Setup\NDP\v4\Full</td><td>Install =3D 1</td></t=
r><tr><td>3.5</td><td><b>Any Version</b></td><td>HKEY_LOCAL_MACHINE\SOFT=
WARE\Microsoft\NET Framework Setup\NDP\v3.5</td><td>Install =3D 1</td></=
tr><tr><td>3.5</td><td><b>Service Pack 1 or Greater</b></td><td>HKEY_LOC=
AL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5</td><td>SP &g=
t;=3D1</td></tr><tr><td>3.0</td><td><b>Any Version</b></td><td>HKEY_LOCA=
L_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0</td><td>Instal=
l =3D 1</td></tr><tr><td>3.0</td><td><b>Service Pack 1 or Greater</b></t=
d><td>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0=
</td><td>SP &gt;=3D 1</td></tr><tr><td>3.0</td><td><b>Service Pack 2 or =
Greater</b></td><td>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework =
Setup\NDP\v3.0</td><td>SP &gt;=3D 2</td></tr><tr><td>2.0</td><td><b>Any =
Version</b></td><td>HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework =
Setup\NDP\v2.0.50727 </td><td>Install =3D 1</td></tr><tr><td>2.0</td><td=
><b>Service Pack 1 or Greater</b></td><td>HKEY_LOCAL_MACHINE\Software\Mi=
crosoft\NET Framework Setup\NDP\v2.0.50727 </td><td>SP &gt;=3D 1</td></t=
r><tr><td>2.0</td><td><b>Service Pack 2 or Greater</b></td><td>HKEY_LOCA=
L_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 </td><td=
>SP &gt;=3D 2</td></tr><tr><td>1.1</td><td><b>Any Version</b></td><td>HK=
EY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322</t=
d><td>Install =3D 1</td></tr><tr><td>1.1</td><td><b>Service Pack 1 or Gr=
eater</b></td><td>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Se=
tup\NDP\v1.1.4322</td><td>SP &gt;=3D 1</td></tr><tr><td>1.0</td><td><b>A=
ny Version</b></td><td>HKEY_LOCAL_MACHINE\Software\Microsoft\.NET Framew=
ork\Policy\v1.0</td><td>Name: <b>3705</b>, Type: <b>REG_SZ, </b>exists</=
td></tr><tr><td>1.0 (on supported platforms except for Windows XP Media =
Center and Tablet PC)</td><td><b>Service Pack 1 or Greater</b></td><td>H=
KEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{=
78705f0d-e8db-4b2d-8193-982bdda15ecd} </td><td>Version &gt;=3D 1.0.3705.=
1</td></tr><tr><td>1.0 (on supported platforms except for Windows XP Med=
ia Center and Tablet PC)</td><td><b>Service Pack 2 or Greater</b></td><t=
d>HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Component=
s\{78705f0d-e8db-4b2d-8193-982bdda15ecd} </td><td>Version &gt;=3D 1.0.37=
05.2</td></tr><tr><td>1.0 (on supported platforms except for Windows XP =
Media Center and Tablet PC)</td><td><b>Service Pack 3 or Greater</b></td=
><td>HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Compon=
ents\{78705f0d-e8db-4b2d-8193-982bdda15ecd} </td><td>Version &gt;=3D 1.0=
.3705.3</td></tr><tr><td>1.0 (shipped with Windows XP Media Center 2002/=
2004 and Tablet PC 2004)</td><td><b>Service Pack 2 or Greater</b></td><t=
d>HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Component=
s\{FDC11A6F-17D1-48f9-9EA3-9051954BAA24} </td><td>Version &gt;=3D 1.0.37=
05.2</td></tr><tr><td>1.0 (shipped with Windows XP Media Center 2005 and=
 Tablet PC 2005)</td><td><b>Service Pack 3 or Greater</b></td><td>HKEY_L=
OCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{FDC11=
A6F-17D1-48f9-9EA3-9051954BAA24} </td><td>Version &gt;=3D 1.0.3705.3</td=
></tr></table></div></div>
</div>
<script language=3D"javascript">
document.getElementById("CIP_m1").style.display=3D"none";</script>
<div class=3D"topOfPage" translate=3D"false"><a href=3D"#top"><img src=3D=
"/library/images/support/en-us/uparrow.gif" alt=3D""><span>Back to the t=
op</span></a><font class=3D"noShow"> | </font><a href=3D"#survey" class=3D=
"noShow" onclick=3D"return ScrollToSection('.kbfeedback');">Give Feedbac=
k</a></div></div><h2 class=3D"subTitle" id=3D"tocHeadRef" translate=3D"f=
alse"><span><a href=3D"javascript:void(0);">References</a></span></h2><s=
cript type=3D"text/javascript">
              loadTOCNode(1, 'references');
            </script><div class=3D"sbody" id=3D"mt">

For more information about the benefits of the .NET Framework, click the=
 following article number to view the article in the Microsoft Knowledge=
 Base:

<div class=3D"indent"><a class=3D"KBlink" href=3D"/kb/829019">829019</a>=
<div class=3D"pLink">
      (http://support.microsoft.com/kb/829019/
            )
    </div>

 Benefits of the Microsoft .NET Framework

</div><br>For more information about Microsoft=E2=80=99s currently suppo=
rted products, visit the <a href=3D"http://go.microsoft.com/fwlink/?Link=
Id=3D164675">Microsoft Product Support Lifecycle</a><div class=3D"pLink"=
>
      (http://go.microsoft.com/fwlink/?LinkId=3D164675)
    </div> website.<br><br>
For more information about the Windows registry, click the following art=
icle number to view the article in the Microsoft Knowledge Base:<br><br>=
<div class=3D"indent"><a href=3D"http://support.microsoft.com/kb/256986"=
 target=3D_blank >
256986</a>
 Windows registry information for advanced users</div><div class=3D"topO=
fPage" translate=3D"false"><a href=3D"#top"><img src=3D"/library/images/=
support/en-us/uparrow.gif" alt=3D""><span>Back to the top</span></a><fon=
t class=3D"noShow"> | </font><a href=3D"#survey" class=3D"noShow" onclic=
k=3D"return ScrollToSection('.kbfeedback');">Give Feedback</a></div></di=
v><h2 class=3D"subTitle articleProperties" id=3D"tocHeadRef" translate=3D=
"false"><span><a href=3D"javascript:void(0);" id=3D"mt_propertyHead">Pro=
perties</a></span></h2><script type=3D"text/javascript">
      loadTOCNode(1, 'Properties');
    </script><div class=3D"sbody" translate=3D"false"><div class=3D"arti=
clePropertyBottom">Article ID: 318785 - Last Review: December 24, 2012 -=
 Revision: 30.0</div><div class=3D"appliesTo"><a id=3D"appliesto"></a><h=
5>Applies to</h5><ul><li>Microsoft .NET Framework 1.0</li><li>Microsoft =
.NET Framework 1.1</li><li>Microsoft .NET Framework 2.0</li><li>Microsof=
t .NET Framework 2.0 Service Pack 1 (x86)</li><li>Microsoft .NET Framewo=
rk 2.0 Service Pack 2</li><li>Microsoft .NET Framework 3.0</li><li>Micro=
soft .NET Framework 3.0 Service Pack 1</li><li>Microsoft .NET Framework =
3.0 Service Pack 2</li><li>Microsoft .NET Framework 3.5</li><li>Microsof=
t .NET Framework 3.5 Service Pack 1</li><li>Microsoft .NET Framework 4</=
li></ul></div><div class=3D"keywords"><table><tr><td class=3D"header"><h=
5>Keywords:=C2=A0
              </h5></td><td class=3D"text">kbdownload kbinfo kbsetup KB3=
18785</td></tr></table></div><div class=3D"topOfPage" translate=3D"false=
"><a href=3D"#top"><img src=3D"/library/images/support/en-us/uparrow.gif=
" alt=3D""><span>Back to the top</span></a><font class=3D"noShow"> | </f=
ont><a href=3D"#survey" class=3D"noShow" onclick=3D"return ScrollToSecti=
on('.kbfeedback');">Give Feedback</a></div></div></div><script type=3D"t=
ext/javascript">addMtSpan();</script><!-- - -KB 3 end- - --></div></div>=
<div class=3D"kbSurvey noShow"><h2 class=3D"subTitle kbfeedback" id=3D"t=
ocHeadRef"><span><a href=3D"javascript:void(0);">Give Feedback</a></span=
></h2><script type=3D"text/javascript">
        loadTOCNode(1, 'Give Feedback');
      </script><div class=3D"sbody"><span class=3D"bookmark"><a id=3D"su=
rvey" name=3D"survey">&nbsp;</a></span><div class=3D"wp" id=3D"fmsSurvey=
" style=3D"display:none;"><div class=3D"fms"><noscript><div class=3D"SUR=
VEYNOSCRIPT"></div></noscript><input type=3D"hidden" id=3D"surveyname" n=
ame=3D"surveyname" value=3D""><input type=3D"hidden" id=3D"showpage" nam=
e=3D"showpage" value=3D"1"><div id=3D"SURVEYSECTIONCONTAINER"><div id=3D=
"SURVEYSECTION_132" class=3D"SURVEYSECTION" style=3D"display:none;" xmln=
s:sw=3D"urn:schemas-microsoft-com/PSS/PSS_Survey01"><input type=3D"hidde=
n" name=3D"id" value=3D"132"><div name=3D"CompoundingBranchRules" style=3D=
"display:none;"></div><input type=3D"hidden" name=3D"NextSectionByTopicR=
ef" value=3D"0"><div id=3D"SURVEYQUESTION_12616" class=3D"QUESTIONCONTAI=
NER"><input type=3D"hidden" name=3D"id" value=3D"12616"><input type=3D"h=
idden" name=3D"type" value=3D"CHOICE"><input type=3D"hidden" name=3D"req=
uired" value=3D"0"><div class=3D"QUESTIONTEXT">Was this information help=
ful?</div><div class=3D"QUESTIONINSTRUCTION"></div><div class=3D"QUESTIO=
NREQUIRED"></div><input type=3D"hidden" name=3D"randomization" value=3D"=
"><table cellspacing=3D"0" cellpadding=3D"0" border=3D"0"><tr><td valign=
=3D"top"><table cellspacing=3D"0" cellpadding=3D"0" border=3D"0"><tr><td=
 valign=3D"top" class=3D"CHOICEROW"><input type=3D"radio" name=3D"QUESTI=
ON_132_1261612616" id=3D"125" value=3D"0"></td><td class=3D"ANSWERTEXT">=
Yes</td></tr></table></td></tr><tr><td valign=3D"top"><table cellspacing=
=3D"0" cellpadding=3D"0" border=3D"0"><tr><td valign=3D"top" class=3D"CH=
OICEROW"><input type=3D"radio" name=3D"QUESTION_132_1261612616" id=3D"12=
6" value=3D"1"></td><td class=3D"ANSWERTEXT">No</td></tr></table></td></=
tr><tr><td valign=3D"top"><table cellspacing=3D"0" cellpadding=3D"0" bor=
der=3D"0"><tr><td valign=3D"top" class=3D"CHOICEROW"><input type=3D"radi=
o" name=3D"QUESTION_132_1261612616" id=3D"18874" value=3D"2"></td><td cl=
ass=3D"ANSWERTEXT">Somewhat</td></tr></table></td></tr></table></div><di=
v id=3D"SURVEYQUESTION_10576" class=3D"QUESTIONCONTAINER"><input type=3D=
"hidden" name=3D"id" value=3D"10576"><input type=3D"hidden" name=3D"type=
" value=3D"CHOICE"><input type=3D"hidden" name=3D"required" value=3D"0">=
<div class=3D"QUESTIONTEXT">How much effort did you personally put forth=
 to use this article?</div><div class=3D"QUESTIONINSTRUCTION"></div><div=
 class=3D"QUESTIONREQUIRED"></div><input type=3D"hidden" name=3D"randomi=
zation" value=3D""><table cellspacing=3D"0" cellpadding=3D"0" border=3D"=
0"><tr><td valign=3D"top"><table cellspacing=3D"0" cellpadding=3D"0" bor=
der=3D"0"><tr><td valign=3D"top" class=3D"CHOICEROW"><input type=3D"radi=
o" name=3D"QUESTION_132_1057610576" id=3D"16305" value=3D"1"></td><td cl=
ass=3D"ANSWERTEXT">Very low</td></tr></table></td></tr><tr><td valign=3D=
"top"><table cellspacing=3D"0" cellpadding=3D"0" border=3D"0"><tr><td va=
lign=3D"top" class=3D"CHOICEROW"><input type=3D"radio" name=3D"QUESTION_=
132_1057610576" id=3D"16306" value=3D"2"></td><td class=3D"ANSWERTEXT">L=
ow</td></tr></table></td></tr><tr><td valign=3D"top"><table cellspacing=3D=
"0" cellpadding=3D"0" border=3D"0"><tr><td valign=3D"top" class=3D"CHOIC=
EROW"><input type=3D"radio" name=3D"QUESTION_132_1057610576" id=3D"16307=
" value=3D"3"></td><td class=3D"ANSWERTEXT">Moderate</td></tr></table></=
td></tr><tr><td valign=3D"top"><table cellspacing=3D"0" cellpadding=3D"0=
" border=3D"0"><tr><td valign=3D"top" class=3D"CHOICEROW"><input type=3D=
"radio" name=3D"QUESTION_132_1057610576" id=3D"16308" value=3D"4"></td><=
td class=3D"ANSWERTEXT">High</td></tr></table></td></tr><tr><td valign=3D=
"top"><table cellspacing=3D"0" cellpadding=3D"0" border=3D"0"><tr><td va=
lign=3D"top" class=3D"CHOICEROW"><input type=3D"radio" name=3D"QUESTION_=
132_1057610576" id=3D"16309" value=3D"5"></td><td class=3D"ANSWERTEXT">V=
ery high</td></tr></table></td></tr></table></div><div id=3D"SURVEYQUEST=
ION_12617" class=3D"QUESTIONCONTAINER"><input type=3D"hidden" name=3D"id=
" value=3D"12617"><input type=3D"hidden" name=3D"type" value=3D"TEXT-BLO=
CK"><input type=3D"hidden" name=3D"required" value=3D"0"><div class=3D"Q=
UESTIONTEXT">Tell us why and what can we do to improve this information<=
/div><div class=3D"QUESTIONINSTRUCTION"></div><div class=3D"QUESTIONREQU=
IRED"></div><textarea class=3D"ANSWERBOX" name=3D"TEXTBLOCK_12617" rows=3D=
"12" cols=3D"80" onpaste=3D"enforceMaxLength(this,1024,event)" onkeyup=3D=
"enforceMaxLength(this,1024,event)"></textarea></div><div class=3D"NAVIG=
ATION"><table class=3D"NAVBUTTONCONTAINER"><tr><td class=3D"PADDINGCELL"=
></td><td class=3D"NAVBUTTONCELL" id=3D"PreviousButton"></td><td class=3D=
"NAVBUTTONCELL"><input class=3D"NAVBUTTON" type=3D"button" name=3D"next"=
 data-nav=3D"true" data-name=3D"btnNext" value=3D"Submit" id=3D"&#xA;   =
                   SURVEYSECTION_132_next&#xA;                    " oncl=
ick=3D"kbSurvey.next();this.blur();"></td><td class=3D"ENDPADDINGCELL"><=
/td></tr></table></div></div><div ID=3D"DIV_CLOSE" style=3D"display:none=
" xmlns:sw=3D"urn:schemas-microsoft-com/PSS/PSS_Survey01"><div class=3D"=
SURVEYTHANKYOUCONTAINER"><div class=3D"SURVEYINTROTEXT">Thank you! Your =
feedback is used to help us improve our support content. For more assist=
ance options, please visit the <a href=3D"http://support.microsoft.com">=
Help and Support Home Page</a>.</div></div><div class=3D"NAVIGATION"><ta=
ble class=3D"NAVBUTTONCONTAINER" nowrap=3D"yes"><tr><td class=3D"PADDING=
CELL"></td><td class=3D"NAVBUTTONCELL"></td><td class=3D"ENDPADDINGCELL"=
></td></tr></table></div></div></div></div></div><script type=3D"text/ja=
vascript">
      var kbSurvey =3D new MS.Support.Fms.Survey("fmsSurvey");
      kbSurvey.isKBEmbedded =3D true;
      kbSurvey.addSubmitField('REGIONID', 'en-gb');
      kbSurvey.addSubmitField('SITE', 'gn');
      kbSurvey.addSubmitField('SURVEYSCID', 'sw;en;1809');
      kbSurvey.addSubmitField('SURVEYID', '1809');
      kbSurvey.addSubmitField('SURVEYNAME', '');
      kbSurvey.addSubmitField('BROWSERLANGCODE', 'en-GB,en\x3bq\x3d0.9')=
;
      kbSurvey.addSubmitField('SURVEYLANGCODE', 'en');
      kbSurvey.addSubmitField('FMSURL', '%252fdefault.aspx%252fkb%252f31=
8785');
      kbSurvey.parameters =3D ['kb','en-us','318785','','','','','','','=
'];
      kbSurvey.maxKBsInCookie =3D '10';
      kbSurvey.kbvisited =3D '';
    </script><div class=3D"topOfPage">
      <a href=3D"#top">
        <img src=3D"/library/images/support/en-us/upArrow.gif" alt=3D"Ba=
ck to the top"></img>Back to the top
      </a>
    </div></div></div></div></td><td class=3D"primaryThinColumn"><div id=
=3D"thinColumn" style=3D"float: none;"><div class=3D"wp articleTrans"><h=
3><span class=3D"linkCon">Article Translations</span><span class=3D"link=
ConTop"></span></h3></div><div id=3D"ArticleTranslations"><div onclick=3D=
"DisplayATList()" class=3D"ATtext"><span><a href=3D"/kb/318785/he" oncli=
ck=3D"ATClick('29803',this)" title=3D"(=D7=99=D7=A9=D7=A8=D7=90=D7=9C (=D7=
=A2=D7=91=D7=A8=D7=99=D7=AA">(=D7=99=D7=A9=D7=A8=D7=90=D7=9C (=D7=A2=D7=91=
=D7=A8=D7=99=D7=AA</a></span><a style=3D"background-image:url(/library/i=
mages/support/CN/kb_dropdown_icon.png);" href=3D"javascript:void(0)"></a=
></div><div id=3D"ATList" name=3D"scid"><ul><li><a href=3D"/kb/318785/ar=
" onclick=3D"ATClick('29803',this)" title=3D"(=D8=A7=D9=84=D8=B4=D8=B1=D9=
=82 =D8=A7=D9=84=D8=A7=D9=88=D8=B3=D8=B7 (=D8=A7=D9=84=D8=B9=D8=B1=D8=A8=
=D9=8A=D8=A9">(=D8=A7=D9=84=D8=B4=D8=B1=D9=82 =D8=A7=D9=84=D8=A7=D9=88=D8=
=B3=D8=B7 (=D8=A7=D9=84=D8=B9=D8=B1=D8=A8=D9=8A=D8=A9</a></li><li><a hre=
f=3D"/kb/318785/pt-br" onclick=3D"ATClick('29803',this)" title=3D"Brasil=
 (Portugu=C3=AAs)">Brasil (Portugu=C3=AAs)</a></li><li><a href=3D"/kb/31=
8785/cs" onclick=3D"ATClick('29803',this)" title=3D"=C4=8Cesk=C3=A1 repu=
blika (=C4=8Ce=C5=A1tina)">=C4=8Cesk=C3=A1 republika (=C4=8Ce=C5=A1tina)=
</a></li><li><a href=3D"/kb/318785/de" onclick=3D"ATClick('29803',this)"=
 title=3D"Deutschland (Deutsch)">Deutschland (Deutsch)</a></li><li><a hr=
ef=3D"/kb/318785/es" onclick=3D"ATClick('29803',this)" title=3D"Espa=C3=B1=
a, Latinoam=C3=A9rica (Espa=C3=B1ol)">Espa=C3=B1a, Latinoam=C3=A9rica (E=
spa=C3=B1ol)</a></li><li><a href=3D"/kb/318785/fr" onclick=3D"ATClick('2=
9803',this)" title=3D"France (Fran=C3=A7ais)">France (Fran=C3=A7ais)</a>=
</li><li><a href=3D"/kb/318785/id-id" onclick=3D"ATClick('29803',this)" =
title=3D"Indonesia (Bahasa Indonesia)">Indonesia (Bahasa Indonesia)</a><=
/li><li><a href=3D"/kb/318785/it" onclick=3D"ATClick('29803',this)" titl=
e=3D"Italia (Italiano)">Italia (Italiano)</a></li><li><a href=3D"/kb/318=
785/hu" onclick=3D"ATClick('29803',this)" title=3D"Magyarorsz=C3=A1g (Ma=
gyar)">Magyarorsz=C3=A1g (Magyar)</a></li><li><a href=3D"/kb/318785/nl" =
onclick=3D"ATClick('29803',this)" title=3D"Nederland (Nederlands)">Neder=
land (Nederlands)</a></li><li><a href=3D"/kb/318785/pl" onclick=3D"ATCli=
ck('29803',this)" title=3D"Polska (Polski)">Polska (Polski)</a></li><li>=
<a href=3D"/kb/318785/pt" onclick=3D"ATClick('29803',this)" title=3D"Por=
tugal (Portugu=C3=AAs)">Portugal (Portugu=C3=AAs)</a></li><li><a href=3D=
"/kb/318785/ro" onclick=3D"ATClick('29803',this)" title=3D"Rom=C3=A2nia =
(Rom=C3=A2n=C4=83)">Rom=C3=A2nia (Rom=C3=A2n=C4=83)</a></li><li><a href=3D=
"/kb/318785/sk" onclick=3D"ATClick('29803',this)" title=3D"Slovensk=C3=A1=
 Republika (Sloven=C4=8Dina)">Slovensk=C3=A1 Republika (Sloven=C4=8Dina)=
</a></li><li><a href=3D"/kb/318785/tr" onclick=3D"ATClick('29803',this)"=
 title=3D"T=C3=BCrkiye (T=C3=BCrk=C3=A7e)">T=C3=BCrkiye (T=C3=BCrk=C3=A7=
e)</a></li><li><a href=3D"/kb/318785/vi-vn" onclick=3D"ATClick('29803',t=
his)" title=3D"Vi=E1=BB=87t Nam (Ti=E1=BA=BFng Vi=E1=BB=87t)">Vi=E1=BB=87=
t Nam (Ti=E1=BA=BFng Vi=E1=BB=87t)</a></li><li><a href=3D"/kb/318785/el"=
 onclick=3D"ATClick('29803',this)" title=3D"=CE=95=CE=BB=CE=BB=CE=AC=CE=B4=
=CE=B1 (=CE=95=CE=BB=CE=BB=CE=B7=CE=BD=CE=B9=CE=BA=CE=AC)">=CE=95=CE=BB=CE=
=BB=CE=AC=CE=B4=CE=B1 (=CE=95=CE=BB=CE=BB=CE=B7=CE=BD=CE=B9=CE=BA=CE=AC)=
</a></li><li><a href=3D"/kb/318785/ru" onclick=3D"ATClick('29803',this)"=
 title=3D"=D0=A0=D0=BE=D1=81=D1=81=D0=B8=D1=8F (=D0=A0=D1=83=D1=81=D1=81=
=D0=BA=D0=B8=D0=B9)">=D0=A0=D0=BE=D1=81=D1=81=D0=B8=D1=8F (=D0=A0=D1=83=D1=
=81=D1=81=D0=BA=D0=B8=D0=B9)</a></li><li><a href=3D"/kb/318785/hi" oncli=
ck=3D"ATClick('29803',this)" title=3D"=E0=A4=AD=E0=A4=BE=E0=A4=B0=E0=A4=A4=
 (=E0=A4=B9=E0=A4=BF=E0=A4=82=E0=A4=A6=E0=A5=80)">=E0=A4=AD=E0=A4=BE=E0=A4=
=B0=E0=A4=A4 (=E0=A4=B9=E0=A4=BF=E0=A4=82=E0=A4=A6=E0=A5=80)</a></li><li=
><a href=3D"/kb/318785/th" onclick=3D"ATClick('29803',this)" title=3D"=E0=
=B9=84=E0=B8=97=E0=B8=A2 (=E0=B9=84=E0=B8=97=E0=B8=A2)">=E0=B9=84=E0=B8=97=
=E0=B8=A2 (=E0=B9=84=E0=B8=97=E0=B8=A2)</a></li><li><a href=3D"/kb/31878=
5/ko" onclick=3D"ATClick('29803',this)" title=3D"=EB=8C=80=ED=95=9C=EB=AF=
=BC=EA=B5=AD (=ED=95=9C=EA=B5=AD=EC=96=B4)">=EB=8C=80=ED=95=9C=EB=AF=BC=EA=
=B5=AD (=ED=95=9C=EA=B5=AD=EC=96=B4)</a></li><li><a href=3D"/kb/318785/z=
h-cn" onclick=3D"ATClick('29803',this)" title=3D"=E4=B8=AD=E5=9B=BD (=E7=
=AE=80=E4=BD=93=E4=B8=AD=E6=96=87)">=E4=B8=AD=E5=9B=BD (=E7=AE=80=E4=BD=93=
=E4=B8=AD=E6=96=87)</a></li><li><a href=3D"/kb/318785/zh-tw" onclick=3D"=
ATClick('29803',this)" title=3D"=E5=8F=B0=E7=81=A3 (=E7=B9=81=E9=AB=94=E4=
=B8=AD=E6=96=87)">=E5=8F=B0=E7=81=A3 (=E7=B9=81=E9=AB=94=E4=B8=AD=E6=96=87=
)</a></li><li><a href=3D"/kb/318785/ja" onclick=3D"ATClick('29803',this)=
" title=3D"=E6=97=A5=E6=9C=AC (=E6=97=A5=E6=9C=AC=E8=AA=9E)">=E6=97=A5=E6=
=9C=AC (=E6=97=A5=E6=9C=AC=E8=AA=9E)</a></li></ul></div></div><script ty=
pe=3D"text/javascript">GSS.Utility.DisplaySsbAd();</script><div id=3D"di=
vSsbAdContent"><a href=3D"http://smallbusiness.support.microsoft.com/en-=
gb"><center><img src=3D"/library/images/support/en-US/180x150-SMB-ENUS1-=
Alicia.jpg"/></center></a></div><div class=3D"adWrapper"><noscript>
<a href=3D"http://emea.microsoftstore.com/UK/en-GB/Microsoft/Office/Suit=
es-2010?wt.mc_id=3Dsmchome_engb_adr_noscript">
<img src=3D"http://support.microsoft.com/library/images/support/en-GB/Of=
fice_2010_165x240_EN-GB_orig.png"  />
</a>
</noscript>


<link rel=3D"stylesheet" href=3D"/library/StyleSheet/support/en-GB/Dynam=
ic_banner_RN_css_style.css" type=3D"text/css" />
<script type=3D"text/javascript" src=3D"/library/JavaScript/support/en-G=
B/BrowserInfoBanner_Slider_Script.js"></script>
<script type=3D"text/javascript" src=3D"/library/JavaScript/support/en-G=
B/BrowserInfoBanner_Detect_Script.js"></script>
<script type=3D"text/javascript" src=3D"/library/JavaScript/Support/CN/d=
ynamic_banner_rn_init_script_v3.js"></script>


<script language=3D"JavaScript" type=3D"text/javascript">

$(document).ready(function() {
    =

/* pinpoint keywords */
var searchText =3D ["Developer Tools", ".Net", "Exchange", "Lync", "Offi=
ce 365", "Project", "Windows Server", "SharePoint", "Silverlight", "SQL =
Server", "Visual Studio"];

/* pinpoint banners */

/* pinpoint Software Developer Tools*/
var pinpointDevTools =3D '<ul><li><a href=3D"http://pinpoint.microsoft.c=
om/en-US/companies/search?fs=3D100129"><img src=3D"http://support.micros=
oft.com/library/images/support/en-GB/Pinpoint_165x240_DevTools_ENGB.png"=
 alt=3D"Pinpoint" /></a></li></ul>';

/* pinpoint .NET banner */
var pinpointDotNet =3D '<ul><li><a href=3D"http://office365.pinpoint.mic=
rosoft.com/en-US/home"><img src=3D"http://support.microsoft.com/library/=
images/support/en-GB/Pinpoint_165x240_dotNet_ENGB.png" alt=3D"Pinpoint" =
/></a></li></ul>';

/* pinpoint Exhchange banner */
var pinpointExchange =3D '<ul><li><a href=3D"http://exchangeonline.pinpo=
int.microsoft.com/en-GB/companies/search?WT.mc_id=3Den-GB_Perm_BannerDee=
plink_MS_Support_Exchange_2SR"><img src=3D"http://support.microsoft.com/=
library/images/support/en-GB/Pinpoint_165x240_Exchange_ENGB.png" alt=3D"=
Pinpoint" /></a></li></ul>';

/* pinpoint Lync banner */
var pinpointLync =3D '<ul><li><a href=3D"http://lynconline.pinpoint.micr=
osoft.com/en-GB/companies/search?WT.mc_id=3Den-GB_Perm_BannerDeeplink_MS=
_Support_Lync_2SR"><img src=3D"http://support.microsoft.com/library/imag=
es/support/en-GB/Pinpoint_165x240_Lync_ENGB.png" alt=3D"Pinpoint" /></a>=
</li></ul>';

/* pinpoint Office 365 banner */
var pinpointOff365 =3D '<ul><li><a href=3D"http://office365.pinpoint.mic=
rosoft.com/en-GB/companies/search?WT.mc_id=3Den-GB_Perm_BannerDeeplink_M=
S_Support_Office365_2SR"><img src=3D"http://support.microsoft.com/librar=
y/images/support/en-GB/Pinpoint_165x240_Off365_ENGB.png" alt=3D"Pinpoint=
" /></a></li></ul>';

/* pinpoint Project banner*/
var pinpointProject =3D '<ul><li><a href=3D"http://office365.pinpoint.mi=
crosoft.com/en-GB/companies/search?fs=3D100112&q=3D&WT.mc_id=3Den-GB_Per=
m_BannerDeeplink_MS_Support_Project_2SR"><img src=3D"http://support.micr=
osoft.com/library/images/support/en-GB/Pinpoint_165x240_Project_ENGB.png=
" alt=3D"Pinpoint" /></a></li></ul>';

/* pinpoint Server banner*/
var pinpointServer =3D '<ul><li><a href=3D"http://pinpoint.microsoft.com=
/en-US/companies/search?fs=3D100004"><img src=3D"http://support.microsof=
t.com/library/images/support/en-GB/Pinpoint_165x240_server_ENGB.png" alt=
=3D"Pinpoint" /></a></li></ul>';

/* pinpoint SharePoint banner*/
var pinpointSharePoint =3D '<ul><li><a href=3D"http://sharepointonline.p=
inpoint.microsoft.com/en-GB/companies/search?WT.mc_id=3Den-GB_Perm_Banne=
rDeeplink_MS_Support_SharePoint_2SR"><img src=3D"http://support.microsof=
t.com/library/images/support/en-GB/Pinpoint_165x240_SharePoint_ENGB.png"=
 alt=3D"Pinpoint" /></a></li></ul>';

/* pinpoint Silverlight banner*/
var pinpointSilverlight =3D '<ul><li><a href=3D"http://pinpoint.microsof=
t.com/en-US/companies/search?fs=3D100004"><img src=3D"http://support.mic=
rosoft.com/library/images/support/en-GB/Pinpoint_165x240_Silverlight_ENG=
B.png" alt=3D"Pinpoint" /></a></li></ul>';

/* pinpoint SQL Server banner*/
var pinpointSQLServer =3D '<ul><li><a href=3D"http://pinpoint.microsoft.=
com/en-US/companies/search?fs=3D100004"><img src=3D"http://support.micro=
soft.com/library/images/support/en-GB/Pinpoint_165x240_SQLServer_ENGB.pn=
g" alt=3D"Pinpoint" /></a></li></ul>';

/* pinpoint Visual Studio banner*/
var pinpointVisualSt =3D '<ul><li><a href=3D"http://pinpoint.microsoft.c=
om/en-US/companies/search?fs=3D100004"><img src=3D"http://support.micros=
oft.com/library/images/support/en-GB/Pinpoint_165x240_VisSt_ENGB.png" al=
t=3D"Pinpoint" /></a></li></ul>';

string =3D $("title").text().toLowerCase();

/*for(i=3D0; i<searchText.length; i++)
{
    SearchText(i);
};*/
   =

/*function SearchText(i){*/
    /*if(string.indexOf(searchText[0].toLowerCase()) !=3D -1){
	$('#pinpoint1').append(pinpointDevTools);
    };*/

    /*if (string.indexOf(searchText[1].toLowerCase()) !=3D -1){
	$('#pinpoint1').append(pinpointDotNet);
    };*/

    if (string.indexOf(searchText[2].toLowerCase()) !=3D -1){
	$('#pinpoint1').append(pinpointExchange);
    };

    if (string.indexOf(searchText[3].toLowerCase()) !=3D -1){
	$('#pinpoint1').append(pinpointLync);
    };

    if (string.indexOf(searchText[4].toLowerCase()) !=3D -1){
	$('#pinpoint1').append(pinpointOff365);
    };
    =

    if (string.indexOf(searchText[5].toLowerCase()) !=3D -1){
	$('#pinpoint1').append(pinpointProject);
    };
    =

    /*if (string.indexOf(searchText[6].toLowerCase()) !=3D -1){
	$('#pinpoint1').append(pinpointServer);
    };*/
    =

    if (string.indexOf(searchText[7].toLowerCase()) !=3D -1){
	$('#pinpoint1').append(pinpointSharePoint);
    };
    =

    /*if (string.indexOf(searchText[8].toLowerCase()) !=3D -1){
	$('#pinpoint1').append(pinpointSilverlight);
    };
    =

    if (string.indexOf(searchText[9].toLowerCase()) !=3D -1){
	$('#pinpoint1').append(pinpointSQLServer);
    };
    =

    if (string.indexOf(searchText[10].toLowerCase()) !=3D -1){
	$('#pinpoint1').append(pinpointVisualSt);
    };*/
/*};*/


if ($('#pinpoint1 ul li').length =3D=3D 0) {

    /* banner display settings */
    =

    var Configuration =3D new Object;

    /* office */
    var office =3D '<li><a href=3D"http://www.microsoftstore.com/store/m=
suk/en_GB/list/ThemeID.30273200/categoryID.61243800?wt.mc_id=3Dsmcpsc_en=
gb_adr_buyoff"><img src=3D"http://support.microsoft.com/library/images/s=
upport/en-GB/Office_2010_165x240_EN-GB_orig.png" alt=3D"Office 2010" /><=
/a></li>';
    /*http://support.microsoft.com/library/images/support/en-GB/MSSTORE_=
Office_HB_Pub_165x240.png';*/

/* windows 8 */
var windows8 =3D'<li><a href=3D"http://www.microsoft.com/click/services/=
Redirect2.ashx?CR_CC=3D200157147"><img src=3D"http://support.microsoft.c=
om/library/images/support/en-gb/W8NOO_SF_UO_165x240_30K_C_V1R2_ENGB_v10.=
png" alt=3D"Windows 8" /></a></li>';

    /* windows 7 */
    var windows7 =3D '<li><a href=3D"http://www.microsoftstore.com/store=
/msuk/en_GB/cat/ThemeID.30273200/categoryID.59699800?wt.mc_id=3Dsmcpsc_e=
ngb_adr_buywin7"><img src=3D"http://support.microsoft.com/library/images=
/support/en-GB/windows_165_240_EN-GB.png" alt=3D"Windows 7" /></a></li>'=
;

    /* msstore */
    var msstore =3D '<li><a href=3D"http://www.microsoftstore.com/store/=
msuk/en_GB/home?WT.mc_id=3Dsmcpsc_engb_adr_generalstore"><img src=3D"htt=
p://support.microsoft.com/library/images/support/en-GB/MSSTORE_General_B=
anner_165x240.png" alt=3D"Microsoft Store" /></a></li>';

    /* mac */
    var mac =3D '<li><a href=3D"http://www.microsoftstore.com/store/msuk=
/en_GB/list/ThemeID.30273200/categoryID.61244700?wt.mc_id=3Dsmcpsc_engb_=
adr_buyoffmac"><img src=3D"http://support.microsoft.com/library/images/s=
upport/en-GB/Office_Mac_165x240_EN-GB.png" alt=3D"Microsoft=C2=AE Office=
 for Mac 2011" /></a></li>';

/* ie10 on windows7 */
var ie10_win7 =3D'<li><a href=3D"http://www.microsoft.com/click/services=
/Redirect2.ashx?CR_CC=3D200211559"><img src=3D"http://support.microsoft.=
com/library/images/support/en-gb/IE10_165x240_on_win7_ENGB.png" alt=3D"I=
E10" /></a></li>';

    /* ie9 */
    var ie9 =3D '<li><a href=3D"http://www.microsoft.com/click/services/=
Redirect2.ashx?CR_CC=3D200211559"><img src=3D"http://support.microsoft.c=
om/library/images/support/en-GB/Fullon_165x240_EN-GB.png" alt=3D"IE9" />=
<img src=3D"http://view.atdmt.com/UKM/view/358712121/direct/01/" alt=3D"=
" /></a></li>';

    /* ie8 */
    var ie8 =3D '<li><a href=3D"http://www.microsoft.com/click/services/=
Redirect2.ashx?CR_CC=3D200211559"><img src=3D"http://support.microsoft.c=
om/library/images/support/en-GB/Fullon_165x240_EN-GB.png alt=3D"IE8" /><=
img src=3D"http://view.atdmt.com/UKM/view/358712121/direct/01/" alt=3D""=
 /></a></li>';

    /* dc */
    var dc =3D '<li><a href=3D"http://www.microsoft.com/en-us/download/d=
efault.aspx?wt.mc_id=3Dsmcpsc_engb_adr_downdc"><img src=3D"http://suppor=
t.microsoft.com/library/images/support/en-GB/Download_center_165x240_EN-=
GB.png" alt=3D"Download Center" /></a></li>';

    /* mse */
    var mse =3D '<li><a href=3D"http://windows.microsoft.com/en-gb/windo=
ws/security-essentials-download?Wt.mc_id=3Dsmcpsc_engb_text_dnldmse"><im=
g src=3D"http://support.microsoft.com/library/images/support/en-GB/MSE_1=
65x240_EN-GB.png" alt=3D"Microsoft Security Essentials" /></a></li>';

    /* customer experience */
    var experience =3D '<li><a href=3D"http://support.microsoft.com/comm=
on/survey.aspx?scid=3Dsw;en;2040&showpage=3D1"><img src=3D"http://suppor=
t.microsoft.com/library/images/support/en-GB/SMC_CustomerExperience_Bann=
er_165x240_EN.png" alt=3D"Customer Experience" /></a></li>';

    /* pinpoint */
    var pinpoint =3D '<li><a href=3D"http://pinpoint.microsoft.com/en-GB=
/home?WT.mc_id=3Den-GB_Perm_Link_SupportMenu_2HP"><img src=3D"http://sup=
port.microsoft.com/library/images/support/en-gb/165x240_en_GB_IT_Experts=
_new.png" alt=3D"Pinpoint" /></a></li>';
    =

    /* intune */
    var intune =3D '<li><a href=3D"http://www.microsoft.com/en-gb/window=
s/windowsintune/try-and-buy.aspx?cmxid=3DHelpSupport"><img src=3D"http:/=
/support.microsoft.com/library/images/support/en-GB/Windows_intune_165_2=
40.png" alt=3D"Pinpoint" /></a></li>';
    =

    /* Office 365 home */
var office365home =3D '<li><a href=3D"http://www.microsoft.com/click/ser=
vices/Redirect2.ashx?CR_CC=3D200178696&wt.mc_id=3Dsmcpsc_engb_adr_buyoff=
"><img src=3D"http://support.microsoft.com/library/images/support/en-gb/=
Office365_home_165x240_ENGB.png" alt=3D"Office 365 home" /></a></li>';


/* banner set settings */
Configuration.rightnav_ie10_win8 =3D pinpoint + intune + office365home +=
 windows8 + msstore;
Configuration.rightnav_ie9_lower_win8 =3D pinpoint + intune + office365h=
ome + windows8 + msstore;
Configuration.rightnav_3rd_win8 =3D pinpoint + intune + office365home + =
windows8 + msstore;
Configuration.rightnav_ie10_win7 =3D pinpoint + intune + office365home +=
 windows8 + msstore;
Configuration.rightnav_ie9_lower_win7 =3D ie10_win7 + pinpoint + intune =
+ office365home + windows8 + msstore;
Configuration.rightnav_3rd_win7 =3D ie10_win7 + pinpoint + office365home=
 + windows8 + msstore;
Configuration.rightnav_ie9_vista =3D pinpoint + intune + office365home +=
 windows8 + msstore;
Configuration.rightnav_ie8_lower_3rd_vista =3D ie9 + pinpoint + office36=
5home + windows8 + msstore;
Configuration.rightnav_ie8_winxp =3D pinpoint + intune + office365home +=
 windows8 + msstore;
Configuration.rightnav_ie7_lower_3rd_winxp =3D ie8 + pinpoint + office36=
5home + windows8 + msstore;
Configuration.rightnav_ie8_other_win =3D pinpoint + intune + office365ho=
me + windows8 + msstore;
Configuration.rightnav_ie7_lower_3rd_other_win =3D ie8 + pinpoint + offi=
ce365home + windows8 + msstore;
Configuration.rightnav_non_win =3D intune + office365home + windows8 + m=
sstore;
Configuration.rightnav_mac =3D mac;
/* end of dynamic banner settings */

banner_init('slider1', Configuration);

};

});

$(document).ready(function() {
$('body').find('#BrowserInfoBanner').eq(1).attr("style", "display:none !=
important;");

var pin =3D $('#pinpoint1 ul, #pinpoint ul');
if ( pin.length >=3D 1) {
for(i=3D1; i<pin.length; i++) {
    $(pin[i]).attr("style", "display:none;");
    }
}

});

</script>


<div id=3D"BrowserInfoBanner" class=3D"display_block">
    <div>
        <div style=3D"text-align: center;">
            <div id=3D"pinpoint1"></div>
            <div id=3D"slider1"></div>
        </div>
    </div>
</div></div></div></td></tr></table></div></div><noscript><img id=3D"Sta=
tsDotNetImgNoScript" alt=3D"" src=3D"http://support.microsoft.com/LTS/de=
fault.aspx?SSID=3D1&amp;SiteLCID=3D2057&amp;SsVersion=3DGSS8.0&amp;SiteC=
ulture=3Den-gb&amp;ContentCulture=3Den-us&amp;In404Url=3D&amp;EventColle=
ctionID=3D1&amp;URL=3D%2fdefault.aspx&amp;ContentType=3Dkb&amp;ContentLC=
ID=3D1033&amp;ContentID=3D318785&amp;Platform=3Dwindows%20nt%205.1&amp;B=
randID=3D1&amp;flexValue2=3D32&amp;flexValue8=3D0&amp;ContentProperties=3D=
6%3d9%7c7%3d30.0%7c9%3dkbAudGeneralUser%20kbAudEndUser%20kbAudDeveloper%=
20kbAudITPRO%20%7c" /></noscript><img id=3D"StatsDotNetImg" name=3D"Stat=
sDotNetImg" alt=3D"" src=3D"/library/images/support/cn/onepix.gif" /><sc=
ript type=3D"text/javascript">StatsDotNet.disabled=3Dfalse;StatsDotNet.e=
nableCollTierParams=3Dtrue;StatsDotNet.host=3D'http\x3a\x2f\x2fsupport.m=
icrosoft.com\x2fLTS\x2fdefault.aspx';StatsDotNet.ssId=3D'1';StatsDotNet.=
siteLcId=3D'2057';StatsDotNet.SiteCulture=3D'en-gb';StatsDotNet.SsVersio=
n=3D'GSS8.0';StatsDotNet.url=3D'\x2fdefault.aspx';StatsDotNet.ContentCul=
ture =3D'en-us';StatsDotNet.contentType=3D'kb';StatsDotNet.contentLn=3D'=
1033';StatsDotNet.contentId=3D'318785';StatsDotNet.platform=3D'windows n=
t 5.1';StatsDotNet.eventCollectionId=3D1;StatsDotNet.siteBrandId=3D'1';S=
tatsDotNet.onUnloadTimeout=3D300;StatsDotNet.ltsIdleTimeout=3D5000;Stats=
DotNet.userAgentString=3D'mozilla\x2f5.0 \x28compatible\x3b msie 9.0\x3b=
 windows nt 5.1\x3b trident\x2f5.0\x29';StatsDotNet.PassportStatus=3D0;S=
tatsDotNet.ContentProperties=3D'6\x3d9\x7c7\x3d30.0\x7c9\x3dkbAudGeneral=
User kbAudEndUser kbAudDeveloper kbAudITPRO \x7c';StatsDotNet.flexValue2=
=3D'32';StatsDotNet.flexValue8=3D'0';</script><script type=3D"text/javas=
cript"> var varWedcsEnable =3D true; this.generateWedcsData(); </script>=
<script type=3D"text/javascript">var enableSiteSurvey =3D true;function =
isDomainTracking(){var entry =3D MS.Support.Fms.CookieUtil.getCookie('fm=
shb');if (entry){try{return entry.split(',')[0] =3D=3D '1' ? true : fals=
e;}catch (e){return false;}}return false;};window.setInterval(function()=
{MS.Support.Fms.CookieUtil.setSessionCookie('fmshb', (isDomainTracking()=
 ? '1' : '0') + ',' + (new Date()).getTime());}, 1000);function fmsLastE=
xp(){var visits =3D MS.Support.Fms.CookieUtil.getCookie('ST_GN_EN-GB');v=
ar parts =3D  visits ? visits.split('_') : [];if (null =3D=3D visits || =
parts.length !=3D 3 || isNaN(parts[0])){return 0;}return parseInt(parts[=
2]);};function fmsSurveyExpired(days){var MiliDay =3D 86400000;var visit=
s =3D MS.Support.Fms.CookieUtil.getCookie('ST_GN_EN-GB');var parts =3D v=
isits ? visits.split('_') : [];if (null =3D=3D visits || parts.length !=3D=
 3 || isNaN(parts[0])){return true;};var origDate =3D parseInt(parts[1])=
;var curDate =3D new Date();return (curDate.getTime()/MiliDay - days) >=3D=
 origDate;};function activateSiteSurvey (){if(window.top =3D=3D window &=
& !isDomainTracking() && typeof(enableSiteSurvey) !=3D "undefined" && en=
ableSiteSurvey && fmsSurveyExpired(fmsLastExp())){document.write('<scrip=
t language=3D"javascript" src=3D"https://www.microsoft.com/library/svy/s=
upport/broker.js"></scr'+'ipt>');}};var triggerEntity =3D {CookieDef:'ST=
_GN_EN-GB',Site:'gn',Region:'en-gb',IsRTL:false,Scid:"sw;en;3525",Xsl:""=
,Path:"/common/survey.aspx",IdValue: '',EmbedSurveyPrompt: 'nothing',Exp=
iration:90,Delay:0,Frequency:100,SurveyStyle:"popup",DisplayIntroPage:0,=
EmailStyle:1,EmailSurveyID:"0",ReferringURL:'http\x3a\x2f\x2fsupport.mic=
rosoft.com\x2fdefault.aspx\x2fkb\x2f318785',Event:"onUnload",TriggerId:"=
15228",IntervalType:"session",Redirect:"",OptOut:0,AltStyle: 'narrow',Re=
nderOption: 'overridedefault,overrideltr,overridertl',InvitationWidth: 5=
00,PageWidth: 500,PageHeight: 0,AnimationDuration:0.5,Parameters:['kb','=
en-gb','318785','','','','','','',''],Theme:"gn",Toolbar:"",Contains:"su=
b-domain",Pages:[],TrackingText:'Thank you for agreeing to participate i=
n the Microsoft online survey.\u00a0 Please look at the support.microsof=
t.com Web site the way you normally would and then come back and answer =
the survey questions that will appear in this window.\u00a0 The question=
s will appear after you leave the web pages for which Microsoft is seeki=
ng your feedback.'};new MS.Support.Fms.SurveyTrigger(triggerEntity, type=
of config !=3D "undefined" ? config : null);</script><script type=3D"tex=
t/javascript">function thisLoad(){KBFeedBackDisplay();StatsDotNet.LogPag=
eOnLoad();CreateSearchOptions('acListWrappergsfx_bsrch_query', 383);Init=
CatLangSel();InitSrch();InitAC('gsfx_bsrch_query');$(document).ready(fun=
ction() {gsfx_bsrch_InitCatSelection('gsfx_bsrch_query', '4:');});}funct=
ion thisUnload(){}</script><script type=3D"text/javascript">$(window).lo=
ad(thisLoad);$(window).unload(thisUnload);</script><script type=3D"text/=
javascript" src=3D"/library/javascript/support/en-gb/store_link_modifier=
.js?1"></script><script type=3D"text/javascript" src=3D"/library/javascr=
ipt/support/en-gb/pinpoint_link_modifier.js?2"></script>
                </div>
            </div>
        </div>
    </div>

            </div>
            <div class=3D"footer">
                =

    <div id=3D"ctl00_ctl00_Footer_oneMscomFooter_mstFooterV3Ctl" class=3D=
"oneMscomFooterV3" bi:type=3D"oneMscomFooter">
        <div id=3D"mstFooterV3Backround" class=3D"mstFooterV3Backround">=
</div>
        <div class=3D"mstFooterTop">
            <div id=3D"ctl00_ctl00_Footer_oneMscomFooter_mstFooterMsLink=
" class=3D"mstFooterMsLink" bi:type=3D"oneMscomFooterMsLink">
                <ul class=3D"mstFooterMsLinkList">
                    <li>
                        <div id=3D"ctl00_ctl00_Footer_oneMscomFooter_mst=
FooterMsLinkListTitle" class=3D"mstFooterMsLinkListTitle">Other Microsof=
t sites</div>
                    </li>
                    =

                            <li class=3D"mstFooterMsLinkItemLi">
                                <div id=3D"ctl00_ctl00_Footer_oneMscomFo=
oter_mstFooterMsLink_Repeater_ctl00_mstFooterMsLinkItem" class=3D"mstFoo=
terMsLinkItem">
                                    <a href=3D"http://windows.microsoft.=
com/en-gb/" id=3D"ctl00_ctl00_Footer_oneMscomFooter_mstFooterMsLink_Repe=
ater_ctl00_mstFooterMsLinkItemLink" class=3D"mstFooterMsLinkItemLink"><d=
iv title=3D"Windows"><img alt=3D"Windows" src=3D"//www.microsoft.com/glo=
bal/onemscomsettings/publishingimages/footerimages/windowslogo.png" widt=
h=3D"100%" height=3D"100%" ></img></div></a>
                                    <div id=3D"ctl00_ctl00_Footer_oneMsc=
omFooter_mstFooterMsLink_Repeater_ctl00_mstFooterMsLinkItemText" class=3D=
"mstFooterMsLinkItemText"><a href=3D"http://windows.microsoft.com/en-gb/=
" ><span>Windows</span></a></div>
                                </div>
                            </li>
                        =

                            <li class=3D"mstFooterMsLinkItemLi">
                                <div id=3D"ctl00_ctl00_Footer_oneMscomFo=
oter_mstFooterMsLink_Repeater_ctl01_mstFooterMsLinkItem" class=3D"mstFoo=
terMsLinkItem">
                                    <a href=3D"http://office.microsoft.c=
om/en-gb/" id=3D"ctl00_ctl00_Footer_oneMscomFooter_mstFooterMsLink_Repea=
ter_ctl01_mstFooterMsLinkItemLink" class=3D"mstFooterMsLinkItemLink"><di=
v title=3D"Office"><img alt=3D"Office" src=3D"//www.microsoft.com/global=
/onemscomsettings/publishingimages/footerimages/officelogo.png" width=3D=
"100%" height=3D"100%" ></img></div></a>
                                    <div id=3D"ctl00_ctl00_Footer_oneMsc=
omFooter_mstFooterMsLink_Repeater_ctl01_mstFooterMsLinkItemText" class=3D=
"mstFooterMsLinkItemText"><a href=3D"http://office.microsoft.com/en-gb/"=
 ><span>Office</span></a></div>
                                </div>
                            </li>
                        =

                            <li class=3D"mstFooterMsLinkItemLi">
                                <div id=3D"ctl00_ctl00_Footer_oneMscomFo=
oter_mstFooterMsLink_Repeater_ctl02_mstFooterMsLinkItem" class=3D"mstFoo=
terMsLinkItem">
                                    <a href=3D"http://www.windowsphone.c=
om/en-gb/" id=3D"ctl00_ctl00_Footer_oneMscomFooter_mstFooterMsLink_Repea=
ter_ctl02_mstFooterMsLinkItemLink" class=3D"mstFooterMsLinkItemLink"><di=
v title=3D"Windows Phone"><img alt=3D"Windows Phone" src=3D"//www.micros=
oft.com/global/onemscomsettings/publishingimages/footerimages/phonelogo.=
png" width=3D"100%" height=3D"100%" ></img></div></a>
                                    <div id=3D"ctl00_ctl00_Footer_oneMsc=
omFooter_mstFooterMsLink_Repeater_ctl02_mstFooterMsLinkItemText" class=3D=
"mstFooterMsLinkItemText"><a href=3D"http://www.windowsphone.com/en-gb/"=
 ><span>Windows Phone</span></a></div>
                                </div>
                            </li>
                        =

                            <li class=3D"mstFooterMsLinkItemLi">
                                <div id=3D"ctl00_ctl00_Footer_oneMscomFo=
oter_mstFooterMsLink_Repeater_ctl03_mstFooterMsLinkItem" class=3D"mstFoo=
terMsLinkItem">
                                    <a href=3D"http://www.xbox.com/en-gb=
/" id=3D"ctl00_ctl00_Footer_oneMscomFooter_mstFooterMsLink_Repeater_ctl0=
3_mstFooterMsLinkItemLink" class=3D"mstFooterMsLinkItemLink"><div title=3D=
"Xbox"><img alt=3D"Xbox" src=3D"//www.microsoft.com/global/onemscomsetti=
ngs/publishingimages/footerimages/xboxlogo.png" width=3D"100%" height=3D=
"100%" ></img></div></a>
                                    <div id=3D"ctl00_ctl00_Footer_oneMsc=
omFooter_mstFooterMsLink_Repeater_ctl03_mstFooterMsLinkItemText" class=3D=
"mstFooterMsLinkItemText"><a href=3D"http://www.xbox.com/en-gb/" ><span>=
Xbox</span></a></div>
                                </div>
                            </li>
                        =

                            <li class=3D"mstFooterMsLinkItemLi">
                                <div id=3D"ctl00_ctl00_Footer_oneMscomFo=
oter_mstFooterMsLink_Repeater_ctl04_mstFooterMsLinkItem" class=3D"mstFoo=
terMsLinkItem">
                                    <a href=3D"http://www.skype.com/go/s=
kype/?cm_mmc=3DMSFT|TRAF_B1-_-mscom-hero-gb" id=3D"ctl00_ctl00_Footer_on=
eMscomFooter_mstFooterMsLink_Repeater_ctl04_mstFooterMsLinkItemLink" cla=
ss=3D"mstFooterMsLinkItemLink"><div title=3D"Skype"><img alt=3D"Skype" s=
rc=3D"//www.microsoft.com/global/onemscomsettings/publishingimages/foote=
rimages/skypelogo.png" width=3D"100%" height=3D"100%" ></img></div></a>
                                    <div id=3D"ctl00_ctl00_Footer_oneMsc=
omFooter_mstFooterMsLink_Repeater_ctl04_mstFooterMsLinkItemText" class=3D=
"mstFooterMsLinkItemText"><a href=3D"http://www.skype.com/go/skype/?cm_m=
mc=3DMSFT|TRAF_B1-_-mscom-hero-gb" ><span>Skype</span></a></div>
                                </div>
                            </li>
                        =

                            <li class=3D"mstFooterMsLinkItemLi">
                                <div id=3D"ctl00_ctl00_Footer_oneMscomFo=
oter_mstFooterMsLink_Repeater_ctl05_mstFooterMsLinkItem" class=3D"mstFoo=
terMsLinkItem">
                                    <a href=3D"http://www.bing.co.uk/" i=
d=3D"ctl00_ctl00_Footer_oneMscomFooter_mstFooterMsLink_Repeater_ctl05_ms=
tFooterMsLinkItemLink" class=3D"mstFooterMsLinkItemLink"><div title=3D"B=
ing"><img alt=3D"Bing" src=3D"//www.microsoft.com/global/onemscomsetting=
s/publishingimages/footerimages/binglogo.png" width=3D"100%" height=3D"1=
00%" ></img></div></a>
                                    <div id=3D"ctl00_ctl00_Footer_oneMsc=
omFooter_mstFooterMsLink_Repeater_ctl05_mstFooterMsLinkItemText" class=3D=
"mstFooterMsLinkItemText"><a href=3D"http://www.bing.co.uk/" ><span>Bing=
</span></a></div>
                                </div>
                            </li>
                        =

                            <li class=3D"mstFooterMsLinkItemLi">
                                <div id=3D"ctl00_ctl00_Footer_oneMscomFo=
oter_mstFooterMsLink_Repeater_ctl06_mstFooterMsLinkItem" class=3D"mstFoo=
terMsLinkItem">
                                    <a href=3D"http://www.microsoftstore=
.com/store/msuk/en_GB/home?WT.mc_id=3DSMCMSCOM_ENGB_NAV_BUYALL" id=3D"ct=
l00_ctl00_Footer_oneMscomFooter_mstFooterMsLink_Repeater_ctl06_mstFooter=
MsLinkItemLink" class=3D"mstFooterMsLinkItemLink"><div title=3D"Microsof=
t Store"><img alt=3D"Microsoft Store" src=3D"//www.microsoft.com/global/=
onemscomsettings/publishingimages/footerimages/storelogo.png" width=3D"1=
00%" height=3D"100%" ></img></div></a>
                                    <div id=3D"ctl00_ctl00_Footer_oneMsc=
omFooter_mstFooterMsLink_Repeater_ctl06_mstFooterMsLinkItemText" class=3D=
"mstFooterMsLinkItemText"><a href=3D"http://www.microsoftstore.com/store=
/msuk/en_GB/home?WT.mc_id=3DSMCMSCOM_ENGB_NAV_BUYALL" ><span>Microsoft S=
tore</span></a></div>
                                </div>
                            </li>
                        =

                </ul>
            </div>
            <div id=3D"ctl00_ctl00_Footer_oneMscomFooter_mstFooterDestLi=
nk" class=3D"mstFooterDestLink" bi:type=3D"oneMscomFooterDestLink">
                <div id=3D"ctl00_ctl00_Footer_oneMscomFooter_mstFooterDe=
stLinkTemplate"><ul class=3D"mstFooterDestLinkListOdd" ><li><ul class=3D=
"mstFooterDestLinkCatList"><li class=3D"mstFooterDestLinkListTitle"><div=
>Downloads</div></li><li class=3D"mstFooterDestLinkListItem"><div><a  Hr=
ef=3D"http://www.microsoft.com/en-gb/download/default.aspx"><span>Downlo=
ad center</span></a></div></li><li class=3D"mstFooterDestLinkListItem"><=
div><a  Href=3D"http://www.microsoft.com/en-gb/download/windows.aspx?q=3D=
windows"><span>Windows downloads</span></a></div></li><li class=3D"mstFo=
oterDestLinkListItem"><div><a  Href=3D"http://www.microsoft.com/en-gb/do=
wnload/office.aspx?q=3Doffice"><span>Office downloads</span></a></div></=
li><li class=3D"mstFooterDestLinkListItem"><div><a  Href=3D"http://www.m=
icrosoft.com/en-gb/download/servicepack.aspx"><span>Service Pack downloa=
ds</span></a></div></li><li class=3D"mstFooterDestLinkListItem"><div><a =
 Href=3D"http://support.microsoft.com/kb/179113/"><span>Direct X downloa=
d</span></a></div></li></ul></li><li><ul class=3D"mstFooterDestLinkCatLi=
st"><li class=3D"mstFooterDestLinkListTitle"><div>Security</div></li><li=
 class=3D"mstFooterDestLinkListItem"><div><a  Href=3D"http://support.mic=
rosoft.com/gp/cu_sc_virsec_master/en-gb"><span>Virus and Security soluti=
on center</span></a></div></li><li class=3D"mstFooterDestLinkListItem"><=
div><a  Href=3D"http://www.microsoft.com/security/default.aspx"><span>Se=
curity home page</span></a></div></li><li class=3D"mstFooterDestLinkList=
Item"><div><a  Href=3D"http://update.microsoft.com/microsoftupdate"><spa=
n>Microsoft Update</span></a></div></li><li class=3D"mstFooterDestLinkLi=
stItem"><div><a  Href=3D"http://windows.microsoft.com/en-GB/windows/prod=
ucts/security-essentials/?WT.mc_id=3DSMCFOOTER_ENGB_TEXT_DNLD"><span>Dow=
nload Security Essentials</span></a></div></li><li class=3D"mstFooterDes=
tLinkListItem"><div><a  Href=3D"http://www.microsoft.com/security/pc-sec=
urity/malware-removal.aspx"><span>Malware Removal tool</span></a></div><=
/li></ul></li></ul><ul class=3D"mstFooterDestLinkListEven" ><li><ul clas=
s=3D"mstFooterDestLinkCatList"><li class=3D"mstFooterDestLinkListTitle">=
<div>Support</div></li><li class=3D"mstFooterDestLinkListItem"><div><a  =
Href=3D"http://support.microsoft.com/search/?adv=3D1"><span>Knowledge Ba=
se search</span></a></div></li><li class=3D"mstFooterDestLinkListItem"><=
div><a  Href=3D"http://support.microsoft.com/find-solutions/more/?ln=3De=
n-gb"><span>Product list</span></a></div></li><li class=3D"mstFooterDest=
LinkListItem"><div><a  Href=3D"http://support.microsoft.com/gp/microsoft=
-support-options/en-gb"><span>Support options</span></a></div></li><li c=
lass=3D"mstFooterDestLinkListItem"><div><a  Href=3D"http://support.micro=
soft.com/gp/lifecycle"><span>Product support lifecycle</span></a></div><=
/li><li class=3D"mstFooterDestLinkListItem"><div><a  Href=3D"http://smal=
lbusiness.support.microsoft.com/en-gb"><span>Small and medium business s=
upport</span></a></div></li><li class=3D"mstFooterDestLinkListItem"><div=
><a  Href=3D"http://technet.microsoft.com/en-gb/ms772425?WT.mc_id=3DSMCf=
oot_ENGB_TEXT"><span>IT Pro support</span></a></div></li><li class=3D"ms=
tFooterDestLinkListItem"><div><a  Href=3D"http://msdn.microsoft.com/en-g=
b/hh361695?WT.mc_id=3DSMCfoot_ENGB_TEXT"><span>Developer support</span><=
/a></div></li></ul></li><li><ul class=3D"mstFooterDestLinkCatList"><li c=
lass=3D"mstFooterDestLinkListTitle"><div>About Microsoft</div></li><li c=
lass=3D"mstFooterDestLinkListItem"><div><a  Href=3D"http://www.microsoft=
.com/en-gb/about/default.aspx"><span>Microsoft</span></a></div></li><li =
class=3D"mstFooterDestLinkListItem"><div><a  Href=3D"http://careers.micr=
osoft.com/careers/en/gb/home.aspx"><span>Careers</span></a></div></li><l=
i class=3D"mstFooterDestLinkListItem"><div><a  Href=3D"http://www.micros=
oft.com/presspass/emea/presscentre/"><span>Company news</span></a></div>=
</li><li class=3D"mstFooterDestLinkListItem"><div><a  Href=3D"http://www=
.microsoft.com/en/gb/sitemap.aspx"><span>Site map</span></a></div></li><=
/ul></li></ul></div>
            </div>
            <div id=3D"ctl00_ctl00_Footer_oneMscomFooter_mstFooterPopRes=
" class=3D"mstFooterPopRes" bi:type=3D"oneMscomFooterPopResLink">
                <ul class=3D"mstFooterPopResList">
                    <li>
                        <div id=3D"ctl00_ctl00_Footer_oneMscomFooter_mst=
FooterPopResListTitle" class=3D"mstFooterPopResListTitle">Popular Resour=
ces</div>
                    </li>
                    =

                            <li>
                                <div id=3D"ctl00_ctl00_Footer_oneMscomFo=
oter_mstFooterPopRes_Repeater_ctl00_mstFooterPopResListItem" class=3D"ms=
tFooterPopResListItem"><a  Href=3D"http://windows.microsoft.com/en-GB/wi=
ndows/download-outlook-express"><span>Microsoft Outlook Express</span></=
a></div>
                            </li>
                        =

                            <li>
                                <div id=3D"ctl00_ctl00_Footer_oneMscomFo=
oter_mstFooterPopRes_Repeater_ctl01_mstFooterPopResListItem" class=3D"ms=
tFooterPopResListItem"><a  Href=3D"http://support.microsoft.com/fixit"><=
span>Microsoft Fix It</span></a></div>
                            </li>
                        =

                            <li>
                                <div id=3D"ctl00_ctl00_Footer_oneMscomFo=
oter_mstFooterPopRes_Repeater_ctl02_mstFooterPopResListItem" class=3D"ms=
tFooterPopResListItem"><a  Href=3D"http://support.microsoft.com/gp/cu_sc=
_prodact_master/en-gb"><span>Product activation issues</span></a></div>
                            </li>
                        =

                            <li>
                                <div id=3D"ctl00_ctl00_Footer_oneMscomFo=
oter_mstFooterPopRes_Repeater_ctl03_mstFooterPopResListItem" class=3D"ms=
tFooterPopResListItem"><a  Href=3D"http://support.microsoft.com/gp/error=
message/en-gb"><span>Error messages</span></a></div>
                            </li>
                        =

                            <li>
                                <div id=3D"ctl00_ctl00_Footer_oneMscomFo=
oter_mstFooterPopRes_Repeater_ctl04_mstFooterPopResListItem" class=3D"ms=
tFooterPopResListItem"><a  Href=3D"http://support.microsoft.com/gp/wupd/=
en-gb"><span>Windows Update issues</span></a></div>
                            </li>
                        =

                            <li>
                                <div id=3D"ctl00_ctl00_Footer_oneMscomFo=
oter_mstFooterPopRes_Repeater_ctl05_mstFooterPopResListItem" class=3D"ms=
tFooterPopResListItem"><a  Href=3D"http://windows.microsoft.com/en-GB/ho=
tmail/hacked-account-faq"><span>Hacked Hotmail account</span></a></div>
                            </li>
                        =

                            <li>
                                <div id=3D"ctl00_ctl00_Footer_oneMscomFo=
oter_mstFooterPopRes_Repeater_ctl06_mstFooterPopResListItem" class=3D"ms=
tFooterPopResListItem"><a  Href=3D"http://windows.microsoft.com/en-GB/wi=
ndows7/Keyboard-shortcuts"><span>Windows keyboard shortcuts</span></a></=
div>
                            </li>
                        =

                            <li>
                                <div id=3D"ctl00_ctl00_Footer_oneMscomFo=
oter_mstFooterPopRes_Repeater_ctl07_mstFooterPopResListItem" class=3D"ms=
tFooterPopResListItem"><a  Href=3D"http://support.microsoft.com/gp/audio=
-issues/en-gb"><span>Audio issues</span></a></div>
                            </li>
                        =

                            <li>
                                <div id=3D"ctl00_ctl00_Footer_oneMscomFo=
oter_mstFooterPopRes_Repeater_ctl08_mstFooterPopResListItem" class=3D"ms=
tFooterPopResListItem"><a  Href=3D"http://www.microsoft.com/en-gb/securi=
ty/online-privacy/avoid-phone-scams.aspx"><span>Tech support phone scams=
</span></a></div>
                            </li>
                        =

                </ul>
            </div>
        </div>    =

        <div class=3D"mstFooterBottom">
            <div id=3D"ctl00_ctl00_Footer_oneMscomFooter_mstFooterLocale=
Logo" class=3D"mstFooterLocaleLogo" bi:type=3D"oneMscomFooterLocaleLogo"=
>
                <div class=3D"mstFooterLocale">
                    <div id=3D"ctl00_ctl00_Footer_oneMscomFooter_ctl00_o=
neMscomLocalePicker" class=3D"oneMscomLocalePicker">
    <div id=3D"ctl00_ctl00_Footer_oneMscomFooter_ctl00_mstLcpMenu" class=
=3D"mstLcpMenu"><a href=3D"/default.aspx/kb/318785?mstLocPickShow=3DTrue=
" id=3D"mstLocPickerCtl" bi:track=3D"false" ><div class=3D"mstLcpMenuImg=
" ><img src=3D"//www.microsoft.com/global/onemscomsettings/publishingima=
ges/footerimages/footer_globe.png" /></div><span class=3D"mstLcpMenuText=
">United Kingdom </span></a></div>
    =

    <div id=3D"ctl00_ctl00_Footer_oneMscomFooter_ctl00_mstLcpFlyout" cla=
ss=3D"mstLcpFlyout">
        =


        <div>
            <!--site in other languages-->
            <div class=3D"mstLcpLangSites">
                =

                        <div class=3D"mstLcpClose2">
                            <a href=3D"/default.aspx/kb/318785?mstLocPic=
kShow=3DFalse" bi:track=3D"false">
                                <img src=3D"//www.microsoft.com/global/o=
nemscomsettings/publishingimages/commonimages/flyoutclosebtnround.png"/>=

                            </a>
                        </div>
                =

                <div class=3D"cssClear"></div>
            </div>
            <!--all sites text-->
            <div class=3D"mstLcpAllSites">
                <div class=3D"mstLcpAllSitesText">
                    <!--set text based on locale present, if none then s=
et site not available in other languages-->
                    This site in other countries/regions =

	                        =

                </div>
                <div id=3D"ctl00_ctl00_Footer_oneMscomFooter_ctl00_mstLc=
pSearch" class=3D"mstLcpSearch">

                =


                        <span class=3D"mstLcpSearchContainter">
                            <span class=3D"mstLcpSearchBorder">
                                <input name=3D"ctl00$ctl00$Footer$oneMsc=
omFooter$ctl00$mstLcpSearchText" type=3D"text" id=3D"ctl00_ctl00_Footer_=
oneMscomFooter_ctl00_mstLcpSearchText" class=3D"mstLcpSearchText" title=3D=
"Search for a language or locale" />
                                <span class=3D"mstLcpSearchImg"></span>
                            </span>
                        </span>

                    </div>
            </div>
            <div class=3D"mstLcpAllSitesLinks">
            =

                =

                    <ul class=3D"mstLcpAllSitesList mstLcpListNotLast">
                        =

                            <li>
                                <a href=3D"/?ln=3Dfr-al" >
                                    <span dir=3D"ltr">
                                        Algeria - Fran=C3=A7ais
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Des-ar" >
                                    <span dir=3D"ltr">
                                        Argentina - Espa=C3=B1ol
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Den-au" >
                                    <span dir=3D"ltr">
                                        Australia - English
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dnl-be" >
                                    <span dir=3D"ltr">
                                        Belgi=C3=AB - Nederlands
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dfr-be" >
                                    <span dir=3D"ltr">
                                        Belgique - Fran=C3=A7ais
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Des-bo" >
                                    <span dir=3D"ltr">
                                        Bolivia - Espa=C3=B1ol
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dhr-ba" >
                                    <span dir=3D"ltr">
                                        Bosna i Hercegovina  - Hrvatski
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dpt-br" >
                                    <span dir=3D"ltr">
                                        Brasil - Portugu=C3=AAs
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Den-ca" >
                                    <span dir=3D"ltr">
                                        Canada - English
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dfr-ca" >
                                    <span dir=3D"ltr">
                                        Canada - Fran=C3=A7ais
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dcs" >
                                    <span dir=3D"ltr">
                                        =C4=8Cesk=C3=A1 Republika - =C4=8C=
e=C5=A1tina
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Des-cl" >
                                    <span dir=3D"ltr">
                                        Chile - Espa=C3=B1ol
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Des-co" >
                                    <span dir=3D"ltr">
                                        Colombia - Espa=C3=B1ol
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Des-cr" >
                                    <span dir=3D"ltr">
                                        Costa Rica - Espa=C3=B1ol
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dsr-me" >
                                    <span dir=3D"ltr">
                                        Crna Gora - Srpski
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dda" >
                                    <span dir=3D"ltr">
                                        Danmark - Dansk
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dde" >
                                    <span dir=3D"ltr">
                                        Deutschland =E2=80=93 Deutsch
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Des-do" >
                                    <span dir=3D"ltr">
                                        Dominican Republic - Espa=C3=B1o=
l
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Des-ec" >
                                    <span dir=3D"ltr">
                                        Ecuador - Espa=C3=B1ol
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Det" >
                                    <span dir=3D"ltr">
                                        Eesti - Eesti
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Des-sv" >
                                    <span dir=3D"ltr">
                                        El Salvador - Espa=C3=B1ol
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Des-es" >
                                    <span dir=3D"ltr">
                                        Espa=C3=B1a - Espa=C3=B1ol
                                    </span>
                                </a>
                            </li>
                                            =

                    =

                    </ul>
                =

                    <ul class=3D"mstLcpAllSitesList mstLcpListNotLast">
                        =

                            <li>
                                <a href=3D"/?ln=3Dfr" >
                                    <span dir=3D"ltr">
                                        France - Fran=C3=A7ais
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Des-gt" >
                                    <span dir=3D"ltr">
                                        Guatemala - Espa=C3=B1ol
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Den-hk" >
                                    <span dir=3D"ltr">
                                        Hong Kong SAR - English
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dhr" >
                                    <span dir=3D"ltr">
                                        Hrvatska - Hrvatski
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Den-in" >
                                    <span dir=3D"ltr">
                                        India - English
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Did-id" >
                                    <span dir=3D"ltr">
                                        Indonesia (Bahasa) - Bahasa
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Den-id" >
                                    <span dir=3D"ltr">
                                        Indonesia (English) - English
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Den-ie" >
                                    <span dir=3D"ltr">
                                        Ireland - English
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dis-is" >
                                    <span dir=3D"ltr">
                                        =C3=8Dsland - =C3=8Dslenska
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dit" >
                                    <span dir=3D"ltr">
                                        Italia - Italiano
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Des-la" >
                                    <span dir=3D"ltr">
                                        Latinoam=C3=A9rica - Espa=C3=B1o=
l
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dlv" >
                                    <span dir=3D"ltr">
                                        Latvija - Latvie=C5=A1u
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dlt" >
                                    <span dir=3D"ltr">
                                        Lietuva - Lietuvi=C5=B3
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dfr-lu" >
                                    <span dir=3D"ltr">
                                        Luxembourg - Fran=C3=A7ais =

                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dhu" >
                                    <span dir=3D"ltr">
                                        Magyarorsz=C3=A1g - Magyar
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Den-my" >
                                    <span dir=3D"ltr">
                                        Malaysia - English
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Des-mx" >
                                    <span dir=3D"ltr">
                                        M=C3=A9xico - Espa=C3=B1ol
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Den-me" >
                                    <span dir=3D"ltr">
                                        Middle East - English
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dfr-mo" >
                                    <span dir=3D"ltr">
                                        Morrocco - Fran=C3=A7ais
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dnl" >
                                    <span dir=3D"ltr">
                                        Nederland - Nederlands
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Den-nz" >
                                    <span dir=3D"ltr">
                                        New Zealand - English
                                    </span>
                                </a>
                            </li>
                                            =

                    =

                    </ul>
                =

                    <ul class=3D"mstLcpAllSitesList mstLcpListNotLast">
                        =

                            <li>
                                <a href=3D"/?ln=3Dno" >
                                    <span dir=3D"ltr">
                                        Norge - Bokm=C3=A5l
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dde-at" >
                                    <span dir=3D"ltr">
                                        =C3=96sterreich - Deutsch
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Des-pa" >
                                    <span dir=3D"ltr">
                                        Panam=C3=A1 - Espa=C3=B1ol
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Des-py" >
                                    <span dir=3D"ltr">
                                        Paraguay - Espa=C3=B1ol
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Des-pe" >
                                    <span dir=3D"ltr">
                                        Per=C3=BA - Espa=C3=B1ol
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Den-ph" >
                                    <span dir=3D"ltr">
                                        Philippines - English
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dpl" >
                                    <span dir=3D"ltr">
                                        Polska - Polski
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dpt" >
                                    <span dir=3D"ltr">
                                        Portugal - Portugu=C3=AAs
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Des-pr" >
                                    <span dir=3D"ltr">
                                        Puerto Rico - Espa=C3=B1ol
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dro" >
                                    <span dir=3D"ltr">
                                        Rom=C3=A2nia - Rom=C3=A2n=C4=83
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dde-ch" >
                                    <span dir=3D"ltr">
                                        Schweiz - Deutsch
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Den-sg" >
                                    <span dir=3D"ltr">
                                        Singapore - English
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dsl" >
                                    <span dir=3D"ltr">
                                        Slovenija - Sloven=C5=A1=C4=8Din=
a
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dsk" >
                                    <span dir=3D"ltr">
                                        Slovensko - Sloven=C4=8Dina
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Den-za" >
                                    <span dir=3D"ltr">
                                        South Africa - English
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dsr" >
                                    <span dir=3D"ltr">
                                        Srbija - Srpski
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dfr-ch" >
                                    <span dir=3D"ltr">
                                        Suisse - Fran=C3=A7ais
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dfi" >
                                    <span dir=3D"ltr">
                                        Suomi - Suomi
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dsv" >
                                    <span dir=3D"ltr">
                                        Sverige - Svenska
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dfr-tu" >
                                    <span dir=3D"ltr">
                                        Tunisia - Fran=C3=A7ais
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dtr" >
                                    <span dir=3D"ltr">
                                        T=C3=BCrkiye - T=C3=BCrk=C3=A7e
                                    </span>
                                </a>
                            </li>
                                            =

                    =

                    </ul>
                =

                    <ul class=3D"mstLcpAllSitesList">
                        =

                            <li>
                                <a href=3D"/?ln=3Den-us" >
                                    <span dir=3D"ltr">
                                        United States - English
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Des-uy" >
                                    <span dir=3D"ltr">
                                        Uruguay - Espa=C3=B1ol
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Des-ve" >
                                    <span dir=3D"ltr">
                                        Venezuela - Espa=C3=B1ol
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dvi-vn" >
                                    <span dir=3D"ltr">
                                        Vi=E1=BB=87t Nam - Ti=C3=AA=CC=81=
ng vi=E1=BB=87t
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Del" >
                                    <span dir=3D"ltr">
                                        =CE=95=CE=BB=CE=BB=CE=AC=CE=B4=CE=
=B1 - =CE=95=CE=BB=CE=BB=CE=B7=CE=BD=CE=B9=CE=BA=CE=AC
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dbg" >
                                    <span dir=3D"ltr">
                                        =D0=91=D1=8A=D0=BB=D0=B3=D0=B0=D1=
=80=D0=B8=D1=8F - =D0=91=D1=8A=D0=BB=D0=B3=D0=B0=D1=80=D1=81=D0=BA=D0=B8=

                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dkk-kz" >
                                    <span dir=3D"ltr">
                                        =D0=9A=D0=B0=D0=B7=D0=B0=D1=85=D1=
=81=D1=82=D0=B0=D0=BD - =D0=A0=D1=83=D1=81=D1=81=D0=BA=D0=B8=D0=B9
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dru" >
                                    <span dir=3D"ltr">
                                        =D0=A0=D0=BE=D1=81=D1=81=D0=B8=D1=
=8F - =D0=A0=D1=83=D1=81=D1=81=D0=BA=D0=B8=D0=B9
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Duk-ua" >
                                    <span dir=3D"ltr">
                                        =D0=A3=D0=BA=D1=80=D0=B0=D1=97=D0=
=BD=D0=B0 - =D0=A3=D0=BA=D1=80=D0=B0=D1=97=D0=BD=D1=81=D1=8C=D0=BA=D0=B0=

                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dhe" >
                                    <span dir=3D"rtl">
                                        =D7=99=D7=A9=D7=A8=D7=90=D7=9C -=
 =D7=A2=D7=91=D7=A8=D7=99=D7=AA
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dar-ae" >
                                    <span dir=3D"rtl">
                                        =D8=A7=D9=84=D8=A5=D9=85=D8=A7=D8=
=B1=D8=A7=D8=AA =D8=A7=D9=84=D8=B9=D8=B1=D8=A8=D9=8A=D8=A9 =D8=A7=D9=84=D9=
=85=D8=AA=D8=AD=D8=AF=D8=A9 - =D8=A7=D9=84=D8=B9=D8=B1=D8=A8=D9=8A=D8=A9=
 =

                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dar" >
                                    <span dir=3D"rtl">
                                        =D8=A7=D9=84=D8=B4=D8=B1=D9=82 =D8=
=A7=D9=84=D8=A7=D9=88=D8=B3=D8=B7  - =D8=A7=D9=84=D8=B9=D8=B1=D8=A8=D9=8A=
=D8=A9 - =D8=A7=D9=84=D8=B9=D8=B1=D8=A8=D9=8A=D8=A9
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dar-sa" >
                                    <span dir=3D"ltr">
                                        =D8=A7=D9=84=D9=85=D9=85=D9=84=D9=
=83=D8=A9 =D8=A7=D9=84=D8=B9=D8=B1=D8=A8=D9=8A=D8=A9 =D8=A7=D9=84=D8=B3=D8=
=B9=D9=88=D8=AF=D9=8A=D8=A9 - =D8=A7=D9=84=D8=B9=D8=B1=D8=A8=D9=8A=D8=A9=

                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dar-eg" >
                                    <span dir=3D"rtl">
                                        =D9=85=D8=B5=D8=B1 - =D8=A7=D9=84=
=D8=B9=D8=B1=D8=A8=D9=8A=D8=A9
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dhi-in" >
                                    <span dir=3D"ltr">
                                        =E0=A4=AD=E0=A4=BE=E0=A4=B0=E0=A4=
=A4 - =E0=A4=B9=E0=A4=BF=E0=A4=82=E0=A4=A6=E0=A5=80
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dth" >
                                    <span dir=3D"ltr">
                                        =E0=B9=84=E0=B8=97=E0=B8=A2 - =E0=
=B9=84=E0=B8=97=E0=B8=A2
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dko" >
                                    <span dir=3D"ltr">
                                        =EB=8C=80=ED=95=9C=EB=AF=BC=EA=B5=
=AD - =ED=95=9C=EA=B5=AD=EC=96=B4
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dzh-cn" >
                                    <span dir=3D"ltr">
                                        =E4=B8=AD=E5=9B=BD  - =E7=AE=80=E4=
=BD=93=E4=B8=AD=E6=96=87
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dzh-tw" >
                                    <span dir=3D"ltr">
                                        =E5=8F=B0=E7=81=A3 - =E7=B9=81=E9=
=AB=94=E4=B8=AD=E6=96=87
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dja" >
                                    <span dir=3D"ltr">
                                        =E6=97=A5=E6=9C=AC - =E6=97=A5=E6=
=9C=AC=E8=AA=9E
                                    </span>
                                </a>
                            </li>
                        =

                            <li>
                                <a href=3D"/?ln=3Dzh-hk" >
                                    <span dir=3D"ltr">
                                        =E9=A6=99=E6=B8=AF=E7=89=B9=E5=88=
=A5=E8=A1=8C=E6=94=BF=E5=8D=80 - =E7=B9=81=E9=AB=94=E4=B8=AD=E6=96=87
                                    </span>
                                </a>
                            </li>
                                            =

                    =

                    </ul>
                =

                <div class=3D"cssClear"></div>            =

            </div>

        </div>        =


    </div>
</div>
                </div>
                <div id=3D"ctl00_ctl00_Footer_oneMscomFooter_mstFooterLo=
go" class=3D"mstFooterLogo"></div>
            </div>
            <div class=3D"mstFooterCorpLinkCopyright">
                <div id=3D"ctl00_ctl00_Footer_oneMscomFooter_mstFooterCo=
pyRight" class=3D"mstFooterCopyRight"><div>&copy;2013 Microsoft</div></d=
iv>
                <div id=3D"ctl00_ctl00_Footer_oneMscomFooter_mstFooterCo=
rpLink" class=3D"mstFooterCorpLink" bi:type=3D"oneMscomFooterCorpLink"><=
ul><li class=3D"msFooterCorpLinkLi"><a href=3D"http://support.microsoft.=
com/gp/csa/en-gb"  ><span>Services Agreement</span></a></li><li class=3D=
"msFooterCorpLinkLi"><a href=3D"http://support.microsoft.com/contactus/?=
ws=3Dsupport"  ><span>Contact Us</span></a></li><li class=3D"msFooterCor=
pLinkLi"><a href=3D"http://www.microsoft.com/about/legal/en/us/intellect=
ualproperty/copyright/default.aspx"  ><span>Terms of Use</span></a></li>=
<li class=3D"msFooterCorpLinkLi"><a href=3D"http://www.microsoft.com/abo=
ut/legal/en/us/intellectualproperty/trademarks/en-us.aspx"  ><span>Trade=
marks</span></a></li><li class=3D"msFooterCorpLinkLi"><a href=3D"http://=
go.microsoft.com/fwlink/p/?LinkId=3D248685"  ><span>Privacy & Cookies</s=
pan></a></li></ul></div>
                <div id=3D"ctl00_ctl00_Footer_oneMscomFooter_mstFooterMo=
reCorpLink" class=3D"mstFooterMoreCorpLink" bi:type=3D"oneMscomFooterCor=
pLink"><ul><li class=3D"msFooterCorpLinkLi"></li></ul></div>
            </div>            =

        </div>
    </div>
    =


    <script type=3D"text/javascript">

        if (typeof $ !=3D "undefined") {
            $(function () {
                if (Mst && Mst.FooterV3) {
                    var footerV3 =3D new Mst.FooterV3('ctl00_ctl00_Foote=
r_oneMscomFooter', '984', '');
                }
            });
        }

    =

    </script>

       =

 =


            </div>
            <div class=3D"cssClear">
            </div>
        </div>
        <div class=3D"stage-bg-top">
        </div>
        <div class=3D"stage-bg-mid">
        </div>
        <div class=3D"stage-bg-bot">
        </div>
    </div>
    <div class=3D"form-bottom">
        <div class=3D"form-bottom-inner">
        </div>
    </div>
    =


 =

    <!--ADD BIPROXY and BISupporting SCRIPT-->
    =

    <script type=3D"text/javascript" src=3D"/Scripts/jquery.bi.js"></scr=
ipt>
    =

    <script type=3D"text/javascript" src=3D"/Scripts/jquery.bi.dataretri=
evers.attr.js"></script>
    =

    <script type=3D"text/javascript" src=3D"/Scripts/jquery.bi.dataretri=
evers.exp.js"></script>
    =

    <script type=3D"text/javascript" src=3D"/Scripts/jquery.bi.dataretri=
evers.structure.js"></script>
    =

    <script type=3D"text/javascript" src=3D"/Scripts/jquery.bi.queue.js"=
></script>

    =

    <!--ADD WEBTRENDS SCRIPT-->
    =

    <script type=3D"text/javascript" src=3D"/Scripts/jquery.bi.dataconsu=
mers.webtrends.js"></script>

    =

    <script type=3D"text/javascript" src=3D"/Scripts/webtrends.js"></scr=
ipt>
    =


    <!--ADD WEDCS SCRIPT-->
    <script type=3D"text/javascript">
        var varSegmentation =3D 1;
        var varClickTracking =3D 1; // SMC must enable ClickTracking. Th=
e default value from mscom template is "0"
        var varCustomerTracking =3D 1;
        var varLoadTracking =3D 0;
        var Route =3D 12400;
        var Ctrl =3D "SS100";
    </script>

    <!--ADD WEDCS SCRIPT-->
    <script type=3D'text/javascript' src=3D"http://c.microsoft.com/ms.js=
"></script>
    =

    <script type=3D"text/javascript" src=3D"/Scripts/jquery.bi.dataconsu=
mers.wedcs.js"></script>    =

    <noscript>
        <img alt=3D"" width=3D"1" height=3D"1" src=3D"http://c.microsoft=
.com/trans_pixel.aspx" />
    </noscript>
<script type=3D"text/javascript"> var $biSettings=3D{"webtrends":{"inter=
actionTypeMap":{ },"parameterMap":{"DCS.dcssip":[{"bi":"uridomain"}],"DC=
S.dcsuri":[{"bi":"uripath"}],"DCS.dcsqry":[{"bi":"uriquery"}],"WT.dl":[{=
"bi":"interactiontype"}],"WT.TriggerType":[{"bi":"triggertype"}],"WT.z_I=
nitial":[{"bi":"initial"}],"WT.ti":[{"bi":"title"}],"WT.ParentTitleStruc=
ture":[{"bi":"parenttitlestructure"}],"WT.Type":[{"bi":"type"}],"WT.Pare=
ntTypeStructure":[{"bi":"parenttypestructure"}],"WT.Index":[{"bi":"index=
"}],"WT.ParentIndexStructure":[{"bi":"parentindexstructure"}],"WT.GridSt=
ructure":[{"bi":"gridstructure"}],"WT.SearchType":[{"bi":"searchtype"}],=
"WT.SearchQuery":[{"bi":"searchquery"}],"DCSext.wt_linkId":[{"bi":"linki=
d"}],"WT.z_locale":[{"bi":"locale"}],"WT.pa":[{"bi":"primaryaudience"}],=
"WT.z_ea_name":[{"bi":"endactionname"}],"WT.z_ea_actionoffer":[{"bi":"en=
dactionoffer"}],"WT.z_ea_targetcampaign":[{"bi":"campaignguid"}],"DCSext=
.vp_evt":[{"bi":"vpevent"}],"DCSext.vp_uuid":[{"bi":"vpuuid"}],"WT.Surve=
yId":[{"bi":"surveyid"}],"WT.SurveyVersion":[{"bi":"surveyversion"}],"WT=
.SurveyQuestions":[{"bi":"surveyquestions"}],"WT.SurveyComments":[{"bi":=
"surveycomments"}]}},"wedcs":{"interactionTypeMap":{ },"parameterMap":{"=
ms.UriDomain":[{"bi":"uridomain"}],"ms.UriPath":[{"bi":"uripath"}],"ms.U=
riQuery":[{"bi":"uriquery"}],"ms.InteractionType":[{"bi":"interactiontyp=
e"}],"ms.TriggerType":[{"bi":"triggertype"}],"ms.Initial":[{"bi":"initia=
l"}],"ms.Title":[{"bi":"title"}],"ms.ParentTitleStructure":[{"bi":"paren=
ttitlestructure"}],"ms.Type":[{"bi":"type"}],"ms.ParentTypeStructure":[{=
"bi":"parenttypestructure"}],"ms.Index":[{"bi":"index"}],"ms.ParentIndex=
Structure":[{"bi":"parentindexstructure"}],"ms.GridStructure":[{"bi":"gr=
idstructure"}],"ms.SearchType":[{"bi":"searchtype"}],"ms.SearchQuery":[{=
"bi":"searchquery"}],"cot":[{"bi":"cot"}],"ms.linkid":[{"bi":"linkid"}],=
"ms.cpgnguid":[{"bi":"campaignguid"}],"ms.rioctc":[{"bi":"rioctc"}],"ms.=
z_locale":[{"bi":"locale"}],"ms.pa":[{"bi":"primaryaudience"}],"ms.serp.=
link_type":[{"bi":"serplinktype"}],"ms.serp.link_position":[{"bi":"serpl=
inkposition"}],"ms.ea_offer":[{"bi":"endactionoffer"}],"ms.ea_action":[{=
"bi":"endaction"}],"ms.ea_name":[{"bi":"endactionname"}],"ms.vp_site":[{=
"bi":"vpsite"}],"ms.vp_evt":[{"bi":"vpevent"}],"ms.vp_duration":[{"bi":"=
vpduration"}],"ms.vp_channel":[{"bi":"vpchannel"}],"ms.vp_uuid":[{"bi":"=
vpuuid"}],"ms.vp_origin":[{"bi":"vporigin"}],"ms.vp_pos":[{"bi":"vpposit=
ion"}],"ms.Order_ID":[{"bi":"orderid"}],"ms.Order_Revenue":[{"bi":"order=
revenue"}],"ms.Currency":[{"bi":"currency"}],"ms.MS_Sales_Part_Number":[=
{"bi":"msssalespartnumber"}],"ms.MS_Sales_Part_Quantity":[{"bi":"mssales=
partquantity"}],"ms.dwntype":[{"bi":"downloadtype"}],"ms.ActiveDwellTime=
":[{"bi":"activedwelltime"}],"ms.SurveyId":[{"bi":"surveyid"}],"ms.Surve=
yVersion":[{"bi":"surveyversion"}],"ms.SurveyQuestions":[{"bi":"surveyqu=
estions"}],"ms.SurveyComments":[{"bi":"surveycomments"}]}}};</script>
<script type=3D"text/javascript">
if ($ && $.bi)
{
$('html').attr('xmlns:bi', 'urn:schemas-microsoft-com:mscom:bi');
$.bi.init(window.$biSettings);
$.bi.dataConsumers.webtrends.WebTrends.dcsid =3D "dcsxia05c00000s926v0z4=
tru_3w4l";
$.bi.dataConsumers.webtrends.WebTrends.dcsGetId();
}
</script>

</body>
</html>

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=favicon.ico
Content-Type: image/x-icon; name=favicon.ico
Content-Location: http://www.microsoft.com/favicon.ico?v2
Content-Transfer-Encoding: Base64

AAABAAYAgIAQAAAAAABoKAAAZgAAAEhIEAAAAAAA6A0AAM4oAAAwMBAAAAAAAGgG
AAC2NgAAICAQAAAAAADoAgAAHj0AABgYEAAAAAAA6AEAAAZAAAAQEBAAAAAAACgB
AADuQQAAKAAAAIAAAAAAAQAAAQAEAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAD///8A76QAAAC5/wAAun8AIlDyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAD
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiAAAAMzMzMzMzMzMzMzMzMzMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAD
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiAAAAMzMzMzMzMzMzMzMzMzMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAD
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiAAAAMzMzMzMzMzMzMzMzMzMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAD
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiAAAAMzMzMzMzMzMzMzMzMzMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAD
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiAAAAMzMzMzMzMzMzMzMzMzMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAD
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiAAAAMzMzMzMzMzMzMzMzMzMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAD
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiAAAAMzMzMzMzMzMzMzMzMzMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAD
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiAAAAMzMzMzMzMzMzMzMzMzMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAD
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiAAAAMzMzMzMzMzMzMzMzMzMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAD
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiAAAAMzMzMzMzMzMzMzMzMzMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAD
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiAAAAMzMzMzMzMzMzMzMzMzMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAD
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiAAAAMzMzMzMzMzMzMzMzMzMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAD
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiAAAAMzMzMzMzMzMzMzMzMzMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAD
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiAAAAMzMzMzMzMzMzMzMzMzMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAD
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiAAAAMzMzMzMzMzMzMzMzMzMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAD
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiAAAAMzMzMzMzMzMzMzMzMzMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAD
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiAAAAMzMzMzMzMzMzMzMzMzMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAD
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiAAAAMzMzMzMzMzMzMzMzMzMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAD
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiAAAAMzMzMzMzMzMzMzMzMzMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAD
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiAAAAMzMzMzMzMzMzMzMzMzMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAD
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVUAAABERERERERERERERERERERERERERERERERERERERERFVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAARERERERERERERERERERERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAAE
REREREREREREREREREREREREREREREREREREREREVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVUAAABERERERERERERERERERERERERERERERERERERERERFVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAARERERERERERERERERERERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAAE
REREREREREREREREREREREREREREREREREREREREVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVUAAABERERERERERERERERERERERERERERERERERERERERFVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAARERERERERERERERERERERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAAE
REREREREREREREREREREREREREREREREREREREREVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVUAAABERERERERERERERERERERERERERERERERERERERERFVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAARERERERERERERERERERERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAAE
REREREREREREREREREREREREREREREREREREREREVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVUAAABERERERERERERERERERERERERERERERERERERERERFVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAARERERERERERERERERERERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAAE
REREREREREREREREREREREREREREREREREREREREVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVUAAABERERERERERERERERERERERERERERERERERERERERFVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAARERERERERERERERERERERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAAE
REREREREREREREREREREREREREREREREREREREREVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVUAAABERERERERERERERERERERERERERERERERERERERERFVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAARERERERERERERERERERERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAAE
REREREREREREREREREREREREREREREREREREREREVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVUAAABERERERERERERERERERERERERERERERERERERERERFVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAARERERERERERERERERERERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAAE
REREREREREREREREREREREREREREREREREREREREVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVUAAABERERERERERERERERERERERERERERERERERERERERFVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAARERERERERERERERERERERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAAE
REREREREREREREREREREREREREREREREREREREREVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVUAAABERERERERERERERERERERERERERERERERERERERERFVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAARERERERERERERERERERERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAAE
REREREREREREREREREREREREREREREREREREREREVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVUAAABERERERERERERERERERERERERERERERERERERERERFVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAARERERERERERERERERERERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAAE
REREREREREREREREREREREREREREREREREREREREVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVUAAABERERERERERERERERERERERERERERERERERERERERFVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAARERERERERERERERERERERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAAE
REREREREREREREREREREREREREREREREREREREREVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVUAAABERERERERERERERERERERERERERERERERERERERERFVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAARERERERERERERERERERERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAAE
REREREREREREREREREREREREREREREREREREREREVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVUAAABERERERERERERERERERERERERERERERERERERERERFVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAARERERERERERERERERERERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAAE
REREREREREREREREREREREREREREREREREREREREVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVUAAABERERERERERERERERERERERERERERERERERERERERFVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAARERERERERERERERERERERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAAE
REREREREREREREREREREREREREREREREREREREREVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVUAAABERERERERERERERERERERERERERERERERERERERERFVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAARERERERERERERERERERERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAAE
REREREREREREREREREREREREREREREREREREREREVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVUAAABERERERERERERERERERERERERERERERERERERERERFVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAARERERERERERERERERERERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAAE
REREREREREREREREREREREREREREREREREREREREVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVUAAABERERERERERERERERERERERERERERERERERERERERFVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAARERERERERERERERERERERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAAE
REREREREREREREREREREREREREREREREREREREREVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVUAAABERERERERERERERERERERERERERERERERERERERERFVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAARERERERERERERERERERERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAAE
REREREREREREREREREREREREREREREREREREREREVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVUAAABERERERERERERERERERERERERERERERERERERERERFVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAARERERERERERERERERERERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAAE
REREREREREREREREREREREREREREREREREREREREVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVUAAABERERERERERERERERERERERERERERERERERERERERAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAD/////////////////////////////////////////////
////////////////////////////////////////////////////////////////
//////////////////8AAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAKAAAAEgAAACQAAAAAQAEAAAA
AACADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A76QAAAC5/wAAun8AIlDyAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiIiIiIiIiIiIi
IiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMz
MzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIi
IiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMz
MzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIi
IiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMz
MzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIi
IiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMz
MzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIi
IiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMz
MzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIi
IiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMz
MzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIi
IiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMz
MzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIi
IiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMz
MzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMz
MzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIi
IiIiIiIiIgAAMzMzMzMzMzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIgAAMzMz
MzMzMzMzMzMzMzMzMzMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABVVVVVVVVVVVVVVVVVVVVVVQAARERERERERERERERERERE
RERVVVVVVVVVVVVVVVVVVVVVVQAARERERERERERERERERERERERVVVVVVVVVVVVV
VVVVVVVVVQAARERERERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVQAARERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVQAARERERERERERERERERERE
RERVVVVVVVVVVVVVVVVVVVVVVQAARERERERERERERERERERERERVVVVVVVVVVVVV
VVVVVVVVVQAARERERERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVQAARERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVQAARERERERERERERERERERE
RERVVVVVVVVVVVVVVVVVVVVVVQAARERERERERERERERERERERERVVVVVVVVVVVVV
VVVVVVVVVQAARERERERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVQAARERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVQAARERERERERERERERERERE
RERVVVVVVVVVVVVVVVVVVVVVVQAARERERERERERERERERERERERVVVVVVVVVVVVV
VVVVVVVVVQAARERERERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVQAARERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVQAARERERERERERERERERERE
RERVVVVVVVVVVVVVVVVVVVVVVQAARERERERERERERERERERERERVVVVVVVVVVVVV
VVVVVVVVVQAARERERERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVQAARERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVQAARERERERERERERERERERE
RERVVVVVVVVVVVVVVVVVVVVVVQAARERERERERERERERERERERERVVVVVVVVVVVVV
VVVVVVVVVQAARERERERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVQAARERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVQAARERERERERERERERERERE
RERVVVVVVVVVVVVVVVVVVVVVVQAARERERERERERERERERERERERVVVVVVVVVVVVV
VVVVVVVVVQAARERERERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVQAARERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVQAARERERERERERERERERERE
RERVVVVVVVVVVVVVVVVVVVVVVQAARERERERERERERERERERERERVVVVVVVVVVVVV
VVVVVVVVVQAARERERERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVQAARERE
RERERERERERERERERERVVVVVVVVVVVVVVVVVVVVVVQAARERERERERERERERERERE
RERVVVVVVVVVVVVVVVVVVVVVVQAAREREREREREREREREREREREQAAAAAPAAAAAAA
AAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAA
AAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAA
AAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAA
AAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAA
AAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAA
AAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAA
AAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAA
AAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAA
AAAAAAAAPAAAAAAAAAD///////////8AAAD///////////8AAAD///////////8A
AAD///////////8AAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAA
AAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAA
AAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAA
AAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAA
AAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAA
AAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAA
AAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAA
AAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAA
AAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAAAAAAAAAoAAAAMAAAAGAA
AAABAAQAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wDvpAAAALn/AAC6
fwAiUPIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIi
IiIiIiIiIiIiIAMzMzMzMzMzMzMzMyIiIiIiIiIiIiIiIAMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIAMzMzMzMzMzMzMzMyIiIiIiIiIiIiIiIAMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIAMzMzMzMzMzMzMzMyIiIiIiIiIiIiIiIAMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIAMzMzMzMzMzMzMzMyIiIiIiIiIiIiIiIAMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIAMzMzMzMzMzMzMzMyIiIiIiIiIiIiIiIAMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIAMzMzMzMzMzMzMzMyIiIiIiIiIiIiIiIAMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIAMzMzMzMzMzMzMzMyIiIiIiIiIiIiIiIAMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIAMzMzMzMzMzMzMzMyIiIiIiIiIiIiIiIAMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIAMzMzMzMzMzMzMzMyIiIiIiIiIiIiIiIAMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIAMzMzMzMzMzMzMzMyIiIiIiIiIiIiIiIAMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIAMzMzMzMzMzMzMzMyIiIiIiIiIiIiIiIAMzMzMzMzMzMzMzMyIi
IiIiIiIiIiIiIAMzMzMzMzMzMzMzMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFVVVVVVVVVVVVVVUARERERERERERERERFVV
VVVVVVVVVVVVUARERERERERERERERFVVVVVVVVVVVVVVUARERERERERERERERFVV
VVVVVVVVVVVVUARERERERERERERERFVVVVVVVVVVVVVVUARERERERERERERERFVV
VVVVVVVVVVVVUARERERERERERERERFVVVVVVVVVVVVVVUARERERERERERERERFVV
VVVVVVVVVVVVUARERERERERERERERFVVVVVVVVVVVVVVUARERERERERERERERFVV
VVVVVVVVVVVVUARERERERERERERERFVVVVVVVVVVVVVVUARERERERERERERERFVV
VVVVVVVVVVVVUARERERERERERERERFVVVVVVVVVVVVVVUARERERERERERERERFVV
VVVVVVVVVVVVUARERERERERERERERFVVVVVVVVVVVVVVUARERERERERERERERFVV
VVVVVVVVVVVVUARERERERERERERERFVVVVVVVVVVVVVVUARERERERERERERERFVV
VVVVVVVVVVVVUARERERERERERERERFVVVVVVVVVVVVVVUARERERERERERERERFVV
VVVVVVVVVVVVUARERERERERERERERFVVVVVVVVVVVVVVUARERERERERERERERFVV
VVVVVVVVVVVVUARERERERERERERERFVVVVVVVVVVVVVVUARERERERERERERERAAA
AYAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAGAAAAAAAAA
AYAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAGAAAAAAAAA
AYAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAGAAAAAAAAA
AYAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAYAAAAAAAAABgAAAAAD///////8AAP//
/////wAAAAABgAAAAAAAAAGAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAGAAAAAAAAA
AYAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAGAAAAAAAAA
AYAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAGAAAAAAAAA
AYAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAGAAAAAACgA
AAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AO+k
AAAAuf8AALx7AB9M+QAiUPIA96YAAAC6fwDzpgAAHk72ACNO9ADzpAAAALx9AAC6
fQAAAAAAIiIiIiIiIsADMzMzMzMzMyIiIiIiIiLAAzMzMzMzMzMiIiIiIiIiwAMz
MzMzMzMzIiIiIiIiIsADMzMzMzMzMyIiIiIiIiLAAzMzMzMzMzMiIiIiIiIiwAMz
MzMzMzMzIiIiIiIiIsADMzMzMzMzMyIiIiIiIiLAAzMzMzMzMzMiIiIiIiIiwAMz
MzMzMzMzIiIiIiIiIsADMzMzMzMzMyIiIiIiIiLAAzMzMzMzMzMiIiIiIiIiwAMz
MzMzMzMzIiIiIiIiIsADMzMzMzMzMyIiIiIiIiLAAzMzMzMzMzOZmZmZmZmZcAMz
MzMzMzMzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACqqqqqqqqqUATu
7u7u7u7uZmZmZmZmZrANiIiIiIiIiGZmZmZmZmawDYiIiIiIiIhmZmZmZmZmsA2I
iIiIiIiIZmZmZmZmZrANiIiIiIiIiGZmZmZmZmawDYiIiIiIiIhmZmZmZmZmsA2I
iIiIiIiIZmZmZmZmZrANiIiIiIiIiGZmZmZmZmawDYiIiIiIiIhmZmZmZmZmsA2I
iIiIiIiIZmZmZmZmZrANiIiIiIiIiGZmZmZmZmawDYiIiIiIiIhmZmZmZmZmsA2I
iIiIiIiIZmZmZmZmZrANiIiIiIiIiGZmZmZmZmawDYiIiIiIiIgAAYAAAAGAAAAB
gAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAB
gAD//////////wABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAB
gAAAAYAAAAGAAAABgAAAAYAAAAGAACgAAAAYAAAAMAAAAAEABAAAAAAAgAEAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA////AO+kAAAAuf8AALp/ACJQ8gAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiIiIiIg
MzMzMzMwIiIiIiIgMzMzMzMwIiIiIiIgMzMzMzMwIiIiIiIgMzMzMzMwIiIiIiIg
MzMzMzMwIiIiIiIgMzMzMzMwIiIiIiIgMzMzMzMwIiIiIiIgMzMzMzMwIiIiIiIg
MzMzMzMwIiIiIiIgMzMzMzMwIiIiIiIgMzMzMzMwAAAAAAAAAAAAAAAAVVVVVVVQ
RERERERAVVVVVVVQRERERERAVVVVVVVQRERERERAVVVVVVVQRERERERAVVVVVVVQ
RERERERAVVVVVVVQRERERERAVVVVVVVQRERERERAVVVVVVVQRERERERAVVVVVVVQ
RERERERAVVVVVVVQRERERERAVVVVVVVQRERERERA////AAAQAQAAEAEAABABAAAQ
AQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEA////AAAQAQAAEAEAABABAAAQ
AQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAKAAAABAAAAAgAAAAAQAEAAAA
AADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A76QAAAC5/wAAun8AHk73AAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIi
IiAzMzMwIiIiIDMzMzAiIiIgMzMzMCIiIiAzMzMwIiIiIDMzMzAiIiIgMzMzMCIi
IiAzMzMwAAAAAAAAAABVVVVQREREQFVVVVBERERAVVVVUEREREBVVVVQREREQFVV
VVBERERAVVVVUEREREBVVVVQREREQP//AAABAQAAAQEAAAEBAAABAQAAAQEAAAEB
AAABAQAA//8AAAEBAAABAQAAAQEAAAEBAAABAQAAAQEAAAEBAAA=

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=oneMscomMaster.css
Content-Type: text/css; name=oneMscomMaster.css
Content-Location: http://support.microsoft.com/Styles/oneMscomMaster.css
Content-Transfer-Encoding: 8bit

html,body,form,div,h1,h2,h3,h4,h5,h6,li,ol,p,ul{margin:0;padding:0}.cssClear{clear:both;height:0;margin:0;padding:0;_line-height:0}a:link,a:visited{text-decoration:none}img{border:none}#roottoolbar{font-size:70%}html,body{height:100%}body{width:100%;min-height:25px;_height:400px}div.form-bottom{position:relative}div.form-bottom-inner{position:absolute;top:-400px;width:100%;min-width:960px;height:400px}div.stage{position:relative;z-index:1;margin:0 auto;width:960px}div.stage{_height:100%}div.stage-bg-bot{_height:100%;_height:expression(document.body.clientHeight-430+"px")}div.stage-content{padding-left:20px;padding-right:20px}div.stage-bg-top{position:absolute;z-index:-1;top:0;height:85px;width:100%}div.stage-bg-mid{position:absolute;z-index:-1;top:85px;height:345px;width:100%}div.stage-bg-bot{position:absolute;z-index:-1;top:430px;bottom:0;width:100%}div.utility-bar{margin-bottom:10px;position:relative;z-index:999}div.main-brand{margin-bottom:10px}div.main-brand img{border:none}div.main-brand .logo .bg-img,div.main-brand .logo .filter-img{top:0;width:100%;height:100%}div.main-brand .logo .bg-img{background-repeat:no-repeat}.main-brand span.beta{color:#fff;position:relative;top:16px}div.search-navigation{z-index:990;position:relative;width:100%;background-color:transparent;margin-bottom:20px}div.search-navigation-bg{position:absolute;top:0;bottom:0;left:0;right:0}div.main-content{min-height:555px;_height:555px;margin-bottom:20px}div.footer{min-height:50px;_height:50px;_width:100%;clear:both}div.main-brand .brandLogoTextCell{vertical-align:bottom}
------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=oneMscomMaster.js
Content-Type: application/x-javascript; name=oneMscomMaster.js
Content-Location: http://support.microsoft.com/scripts/oneMscomMaster.js
Content-Transfer-Encoding: Base64


------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=jquery-1.7.2.min.js
Content-Type: application/x-javascript; name=jquery-1.7.2.min.js
Content-Location: http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js
Content-Transfer-Encoding: Base64

LyohIGpRdWVyeSB2MS43LjIganF1ZXJ5LmNvbSB8IGpxdWVyeS5vcmcvbGljZW5z
ZSAqLwooZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjeShhKXtyZXR1cm4gZi5pc1dp
bmRvdyhhKT9hOmEubm9kZVR5cGU9PT05P2EuZGVmYXVsdFZpZXd8fGEucGFyZW50
V2luZG93OiExfWZ1bmN0aW9uIGN1KGEpe2lmKCFjalthXSl7dmFyIGI9Yy5ib2R5
LGQ9ZigiPCIrYSsiPiIpLmFwcGVuZFRvKGIpLGU9ZC5jc3MoImRpc3BsYXkiKTtk
LnJlbW92ZSgpO2lmKGU9PT0ibm9uZSJ8fGU9PT0iIil7Y2t8fChjaz1jLmNyZWF0
ZUVsZW1lbnQoImlmcmFtZSIpLGNrLmZyYW1lQm9yZGVyPWNrLndpZHRoPWNrLmhl
aWdodD0wKSxiLmFwcGVuZENoaWxkKGNrKTtpZighY2x8fCFjay5jcmVhdGVFbGVt
ZW50KWNsPShjay5jb250ZW50V2luZG93fHxjay5jb250ZW50RG9jdW1lbnQpLmRv
Y3VtZW50LGNsLndyaXRlKChmLnN1cHBvcnQuYm94TW9kZWw/IjwhZG9jdHlwZSBo
dG1sPiI6IiIpKyI8aHRtbD48Ym9keT4iKSxjbC5jbG9zZSgpO2Q9Y2wuY3JlYXRl
RWxlbWVudChhKSxjbC5ib2R5LmFwcGVuZENoaWxkKGQpLGU9Zi5jc3MoZCwiZGlz
cGxheSIpLGIucmVtb3ZlQ2hpbGQoY2spfWNqW2FdPWV9cmV0dXJuIGNqW2FdfWZ1
bmN0aW9uIGN0KGEsYil7dmFyIGM9e307Zi5lYWNoKGNwLmNvbmNhdC5hcHBseShb
XSxjcC5zbGljZSgwLGIpKSxmdW5jdGlvbigpe2NbdGhpc109YX0pO3JldHVybiBj
fWZ1bmN0aW9uIGNzKCl7Y3E9Yn1mdW5jdGlvbiBjcigpe3NldFRpbWVvdXQoY3Ms
MCk7cmV0dXJuIGNxPWYubm93KCl9ZnVuY3Rpb24gY2koKXt0cnl7cmV0dXJuIG5l
dyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIil9Y2F0Y2goYil7
fX1mdW5jdGlvbiBjaCgpe3RyeXtyZXR1cm4gbmV3IGEuWE1MSHR0cFJlcXVlc3R9
Y2F0Y2goYil7fX1mdW5jdGlvbiBjYihhLGMpe2EuZGF0YUZpbHRlciYmKGM9YS5k
YXRhRmlsdGVyKGMsYS5kYXRhVHlwZSkpO3ZhciBkPWEuZGF0YVR5cGVzLGU9e30s
ZyxoLGk9ZC5sZW5ndGgsaixrPWRbMF0sbCxtLG4sbyxwO2ZvcihnPTE7ZzxpO2cr
Kyl7aWYoZz09PTEpZm9yKGggaW4gYS5jb252ZXJ0ZXJzKXR5cGVvZiBoPT0ic3Ry
aW5nIiYmKGVbaC50b0xvd2VyQ2FzZSgpXT1hLmNvbnZlcnRlcnNbaF0pO2w9ayxr
PWRbZ107aWYoaz09PSIqIilrPWw7ZWxzZSBpZihsIT09IioiJiZsIT09ayl7bT1s
KyIgIitrLG49ZVttXXx8ZVsiKiAiK2tdO2lmKCFuKXtwPWI7Zm9yKG8gaW4gZSl7
aj1vLnNwbGl0KCIgIik7aWYoalswXT09PWx8fGpbMF09PT0iKiIpe3A9ZVtqWzFd
KyIgIitrXTtpZihwKXtvPWVbb10sbz09PSEwP249cDpwPT09ITAmJihuPW8pO2Jy
ZWFrfX19fSFuJiYhcCYmZi5lcnJvcigiTm8gY29udmVyc2lvbiBmcm9tICIrbS5y
ZXBsYWNlKCIgIiwiIHRvICIpKSxuIT09ITAmJihjPW4/bihjKTpwKG8oYykpKX19
cmV0dXJuIGN9ZnVuY3Rpb24gY2EoYSxjLGQpe3ZhciBlPWEuY29udGVudHMsZj1h
LmRhdGFUeXBlcyxnPWEucmVzcG9uc2VGaWVsZHMsaCxpLGosaztmb3IoaSBpbiBn
KWkgaW4gZCYmKGNbZ1tpXV09ZFtpXSk7d2hpbGUoZlswXT09PSIqIilmLnNoaWZ0
KCksaD09PWImJihoPWEubWltZVR5cGV8fGMuZ2V0UmVzcG9uc2VIZWFkZXIoImNv
bnRlbnQtdHlwZSIpKTtpZihoKWZvcihpIGluIGUpaWYoZVtpXSYmZVtpXS50ZXN0
KGgpKXtmLnVuc2hpZnQoaSk7YnJlYWt9aWYoZlswXWluIGQpaj1mWzBdO2Vsc2V7
Zm9yKGkgaW4gZCl7aWYoIWZbMF18fGEuY29udmVydGVyc1tpKyIgIitmWzBdXSl7
aj1pO2JyZWFrfWt8fChrPWkpfWo9anx8a31pZihqKXtqIT09ZlswXSYmZi51bnNo
aWZ0KGopO3JldHVybiBkW2pdfX1mdW5jdGlvbiBiXyhhLGIsYyxkKXtpZihmLmlz
QXJyYXkoYikpZi5lYWNoKGIsZnVuY3Rpb24oYixlKXtjfHxiRC50ZXN0KGEpP2Qo
YSxlKTpiXyhhKyJbIisodHlwZW9mIGU9PSJvYmplY3QiP2I6IiIpKyJdIixlLGMs
ZCl9KTtlbHNlIGlmKCFjJiZmLnR5cGUoYik9PT0ib2JqZWN0Iilmb3IodmFyIGUg
aW4gYiliXyhhKyJbIitlKyJdIixiW2VdLGMsZCk7ZWxzZSBkKGEsYil9ZnVuY3Rp
b24gYiQoYSxjKXt2YXIgZCxlLGc9Zi5hamF4U2V0dGluZ3MuZmxhdE9wdGlvbnN8
fHt9O2ZvcihkIGluIGMpY1tkXSE9PWImJigoZ1tkXT9hOmV8fChlPXt9KSlbZF09
Y1tkXSk7ZSYmZi5leHRlbmQoITAsYSxlKX1mdW5jdGlvbiBiWihhLGMsZCxlLGYs
Zyl7Zj1mfHxjLmRhdGFUeXBlc1swXSxnPWd8fHt9LGdbZl09ITA7dmFyIGg9YVtm
XSxpPTAsaj1oP2gubGVuZ3RoOjAsaz1hPT09YlMsbDtmb3IoO2k8aiYmKGt8fCFs
KTtpKyspbD1oW2ldKGMsZCxlKSx0eXBlb2YgbD09InN0cmluZyImJigha3x8Z1ts
XT9sPWI6KGMuZGF0YVR5cGVzLnVuc2hpZnQobCksbD1iWihhLGMsZCxlLGwsZykp
KTsoa3x8IWwpJiYhZ1siKiJdJiYobD1iWihhLGMsZCxlLCIqIixnKSk7cmV0dXJu
IGx9ZnVuY3Rpb24gYlkoYSl7cmV0dXJuIGZ1bmN0aW9uKGIsYyl7dHlwZW9mIGIh
PSJzdHJpbmciJiYoYz1iLGI9IioiKTtpZihmLmlzRnVuY3Rpb24oYykpe3ZhciBk
PWIudG9Mb3dlckNhc2UoKS5zcGxpdChiTyksZT0wLGc9ZC5sZW5ndGgsaCxpLGo7
Zm9yKDtlPGc7ZSsrKWg9ZFtlXSxqPS9eXCsvLnRlc3QoaCksaiYmKGg9aC5zdWJz
dHIoMSl8fCIqIiksaT1hW2hdPWFbaF18fFtdLGlbaj8idW5zaGlmdCI6InB1c2gi
XShjKX19fWZ1bmN0aW9uIGJCKGEsYixjKXt2YXIgZD1iPT09IndpZHRoIj9hLm9m
ZnNldFdpZHRoOmEub2Zmc2V0SGVpZ2h0LGU9Yj09PSJ3aWR0aCI/MTowLGc9NDtp
ZihkPjApe2lmKGMhPT0iYm9yZGVyIilmb3IoO2U8ZztlKz0yKWN8fChkLT1wYXJz
ZUZsb2F0KGYuY3NzKGEsInBhZGRpbmciK2J4W2VdKSl8fDApLGM9PT0ibWFyZ2lu
Ij9kKz1wYXJzZUZsb2F0KGYuY3NzKGEsYytieFtlXSkpfHwwOmQtPXBhcnNlRmxv
YXQoZi5jc3MoYSwiYm9yZGVyIitieFtlXSsiV2lkdGgiKSl8fDA7cmV0dXJuIGQr
InB4In1kPWJ5KGEsYik7aWYoZDwwfHxkPT1udWxsKWQ9YS5zdHlsZVtiXTtpZihi
dC50ZXN0KGQpKXJldHVybiBkO2Q9cGFyc2VGbG9hdChkKXx8MDtpZihjKWZvcig7
ZTxnO2UrPTIpZCs9cGFyc2VGbG9hdChmLmNzcyhhLCJwYWRkaW5nIitieFtlXSkp
fHwwLGMhPT0icGFkZGluZyImJihkKz1wYXJzZUZsb2F0KGYuY3NzKGEsImJvcmRl
ciIrYnhbZV0rIldpZHRoIikpfHwwKSxjPT09Im1hcmdpbiImJihkKz1wYXJzZUZs
b2F0KGYuY3NzKGEsYytieFtlXSkpfHwwKTtyZXR1cm4gZCsicHgifWZ1bmN0aW9u
IGJvKGEpe3ZhciBiPWMuY3JlYXRlRWxlbWVudCgiZGl2Iik7YmguYXBwZW5kQ2hp
bGQoYiksYi5pbm5lckhUTUw9YS5vdXRlckhUTUw7cmV0dXJuIGIuZmlyc3RDaGls
ZH1mdW5jdGlvbiBibihhKXt2YXIgYj0oYS5ub2RlTmFtZXx8IiIpLnRvTG93ZXJD
YXNlKCk7Yj09PSJpbnB1dCI/Ym0oYSk6YiE9PSJzY3JpcHQiJiZ0eXBlb2YgYS5n
ZXRFbGVtZW50c0J5VGFnTmFtZSE9InVuZGVmaW5lZCImJmYuZ3JlcChhLmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpLGJtKX1mdW5jdGlvbiBibShhKXtpZihh
LnR5cGU9PT0iY2hlY2tib3gifHxhLnR5cGU9PT0icmFkaW8iKWEuZGVmYXVsdENo
ZWNrZWQ9YS5jaGVja2VkfWZ1bmN0aW9uIGJsKGEpe3JldHVybiB0eXBlb2YgYS5n
ZXRFbGVtZW50c0J5VGFnTmFtZSE9InVuZGVmaW5lZCI/YS5nZXRFbGVtZW50c0J5
VGFnTmFtZSgiKiIpOnR5cGVvZiBhLnF1ZXJ5U2VsZWN0b3JBbGwhPSJ1bmRlZmlu
ZWQiP2EucXVlcnlTZWxlY3RvckFsbCgiKiIpOltdfWZ1bmN0aW9uIGJrKGEsYil7
dmFyIGM7Yi5ub2RlVHlwZT09PTEmJihiLmNsZWFyQXR0cmlidXRlcyYmYi5jbGVh
ckF0dHJpYnV0ZXMoKSxiLm1lcmdlQXR0cmlidXRlcyYmYi5tZXJnZUF0dHJpYnV0
ZXMoYSksYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksYz09PSJvYmplY3QiP2Iu
b3V0ZXJIVE1MPWEub3V0ZXJIVE1MOmMhPT0iaW5wdXQifHxhLnR5cGUhPT0iY2hl
Y2tib3giJiZhLnR5cGUhPT0icmFkaW8iP2M9PT0ib3B0aW9uIj9iLnNlbGVjdGVk
PWEuZGVmYXVsdFNlbGVjdGVkOmM9PT0iaW5wdXQifHxjPT09InRleHRhcmVhIj9i
LmRlZmF1bHRWYWx1ZT1hLmRlZmF1bHRWYWx1ZTpjPT09InNjcmlwdCImJmIudGV4
dCE9PWEudGV4dCYmKGIudGV4dD1hLnRleHQpOihhLmNoZWNrZWQmJihiLmRlZmF1
bHRDaGVja2VkPWIuY2hlY2tlZD1hLmNoZWNrZWQpLGIudmFsdWUhPT1hLnZhbHVl
JiYoYi52YWx1ZT1hLnZhbHVlKSksYi5yZW1vdmVBdHRyaWJ1dGUoZi5leHBhbmRv
KSxiLnJlbW92ZUF0dHJpYnV0ZSgiX3N1Ym1pdF9hdHRhY2hlZCIpLGIucmVtb3Zl
QXR0cmlidXRlKCJfY2hhbmdlX2F0dGFjaGVkIikpfWZ1bmN0aW9uIGJqKGEsYil7
aWYoYi5ub2RlVHlwZT09PTEmJiEhZi5oYXNEYXRhKGEpKXt2YXIgYyxkLGUsZz1m
Ll9kYXRhKGEpLGg9Zi5fZGF0YShiLGcpLGk9Zy5ldmVudHM7aWYoaSl7ZGVsZXRl
IGguaGFuZGxlLGguZXZlbnRzPXt9O2ZvcihjIGluIGkpZm9yKGQ9MCxlPWlbY10u
bGVuZ3RoO2Q8ZTtkKyspZi5ldmVudC5hZGQoYixjLGlbY11bZF0pfWguZGF0YSYm
KGguZGF0YT1mLmV4dGVuZCh7fSxoLmRhdGEpKX19ZnVuY3Rpb24gYmkoYSxiKXty
ZXR1cm4gZi5ub2RlTmFtZShhLCJ0YWJsZSIpP2EuZ2V0RWxlbWVudHNCeVRhZ05h
bWUoInRib2R5IilbMF18fGEuYXBwZW5kQ2hpbGQoYS5vd25lckRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInRib2R5IikpOmF9ZnVuY3Rpb24gVShhKXt2YXIgYj1WLnNw
bGl0KCJ8IiksYz1hLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihjLmNyZWF0
ZUVsZW1lbnQpd2hpbGUoYi5sZW5ndGgpYy5jcmVhdGVFbGVtZW50KGIucG9wKCkp
O3JldHVybiBjfWZ1bmN0aW9uIFQoYSxiLGMpe2I9Ynx8MDtpZihmLmlzRnVuY3Rp
b24oYikpcmV0dXJuIGYuZ3JlcChhLGZ1bmN0aW9uKGEsZCl7dmFyIGU9ISFiLmNh
bGwoYSxkLGEpO3JldHVybiBlPT09Y30pO2lmKGIubm9kZVR5cGUpcmV0dXJuIGYu
Z3JlcChhLGZ1bmN0aW9uKGEsZCl7cmV0dXJuIGE9PT1iPT09Y30pO2lmKHR5cGVv
ZiBiPT0ic3RyaW5nIil7dmFyIGQ9Zi5ncmVwKGEsZnVuY3Rpb24oYSl7cmV0dXJu
IGEubm9kZVR5cGU9PT0xfSk7aWYoTy50ZXN0KGIpKXJldHVybiBmLmZpbHRlcihi
LGQsIWMpO2I9Zi5maWx0ZXIoYixkKX1yZXR1cm4gZi5ncmVwKGEsZnVuY3Rpb24o
YSxkKXtyZXR1cm4gZi5pbkFycmF5KGEsYik+PTA9PT1jfSl9ZnVuY3Rpb24gUyhh
KXtyZXR1cm4hYXx8IWEucGFyZW50Tm9kZXx8YS5wYXJlbnROb2RlLm5vZGVUeXBl
PT09MTF9ZnVuY3Rpb24gSygpe3JldHVybiEwfWZ1bmN0aW9uIEooKXtyZXR1cm4h
MX1mdW5jdGlvbiBuKGEsYixjKXt2YXIgZD1iKyJkZWZlciIsZT1iKyJxdWV1ZSIs
Zz1iKyJtYXJrIixoPWYuX2RhdGEoYSxkKTtoJiYoYz09PSJxdWV1ZSJ8fCFmLl9k
YXRhKGEsZSkpJiYoYz09PSJtYXJrInx8IWYuX2RhdGEoYSxnKSkmJnNldFRpbWVv
dXQoZnVuY3Rpb24oKXshZi5fZGF0YShhLGUpJiYhZi5fZGF0YShhLGcpJiYoZi5y
ZW1vdmVEYXRhKGEsZCwhMCksaC5maXJlKCkpfSwwKX1mdW5jdGlvbiBtKGEpe2Zv
cih2YXIgYiBpbiBhKXtpZihiPT09ImRhdGEiJiZmLmlzRW1wdHlPYmplY3QoYVti
XSkpY29udGludWU7aWYoYiE9PSJ0b0pTT04iKXJldHVybiExfXJldHVybiEwfWZ1
bmN0aW9uIGwoYSxjLGQpe2lmKGQ9PT1iJiZhLm5vZGVUeXBlPT09MSl7dmFyIGU9
ImRhdGEtIitjLnJlcGxhY2UoaywiLSQxIikudG9Mb3dlckNhc2UoKTtkPWEuZ2V0
QXR0cmlidXRlKGUpO2lmKHR5cGVvZiBkPT0ic3RyaW5nIil7dHJ5e2Q9ZD09PSJ0
cnVlIj8hMDpkPT09ImZhbHNlIj8hMTpkPT09Im51bGwiP251bGw6Zi5pc051bWVy
aWMoZCk/K2Q6ai50ZXN0KGQpP2YucGFyc2VKU09OKGQpOmR9Y2F0Y2goZyl7fWYu
ZGF0YShhLGMsZCl9ZWxzZSBkPWJ9cmV0dXJuIGR9ZnVuY3Rpb24gaChhKXt2YXIg
Yj1nW2FdPXt9LGMsZDthPWEuc3BsaXQoL1xzKy8pO2ZvcihjPTAsZD1hLmxlbmd0
aDtjPGQ7YysrKWJbYVtjXV09ITA7cmV0dXJuIGJ9dmFyIGM9YS5kb2N1bWVudCxk
PWEubmF2aWdhdG9yLGU9YS5sb2NhdGlvbixmPWZ1bmN0aW9uKCl7ZnVuY3Rpb24g
Sigpe2lmKCFlLmlzUmVhZHkpe3RyeXtjLmRvY3VtZW50RWxlbWVudC5kb1Njcm9s
bCgibGVmdCIpfWNhdGNoKGEpe3NldFRpbWVvdXQoSiwxKTtyZXR1cm59ZS5yZWFk
eSgpfX12YXIgZT1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgZS5mbi5pbml0KGEs
YixoKX0sZj1hLmpRdWVyeSxnPWEuJCxoLGk9L14oPzpbXiM8XSooPFtcd1xXXSs+
KVtePl0qJHwjKFtcd1wtXSopJCkvLGo9L1xTLyxrPS9eXHMrLyxsPS9ccyskLyxt
PS9ePChcdyspXHMqXC8/Pig/OjxcL1wxPik/JC8sbj0vXltcXSw6e31cc10qJC8s
bz0vXFwoPzpbIlxcXC9iZm5ydF18dVswLTlhLWZBLUZdezR9KS9nLHA9LyJbXiJc
XFxuXHJdKiJ8dHJ1ZXxmYWxzZXxudWxsfC0/XGQrKD86XC5cZCopPyg/OltlRV1b
K1wtXT9cZCspPy9nLHE9Lyg/Ol58OnwsKSg/OlxzKlxbKSsvZyxyPS8od2Via2l0
KVsgXC9dKFtcdy5dKykvLHM9LyhvcGVyYSkoPzouKnZlcnNpb24pP1sgXC9dKFtc
dy5dKykvLHQ9Lyhtc2llKSAoW1x3Ll0rKS8sdT0vKG1vemlsbGEpKD86Lio/IHJ2
OihbXHcuXSspKT8vLHY9Ly0oW2Etel18WzAtOV0pL2lnLHc9L14tbXMtLyx4PWZ1
bmN0aW9uKGEsYil7cmV0dXJuKGIrIiIpLnRvVXBwZXJDYXNlKCl9LHk9ZC51c2Vy
QWdlbnQseixBLEIsQz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLEQ9T2JqZWN0
LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxFPUFycmF5LnByb3RvdHlwZS5wdXNo
LEY9QXJyYXkucHJvdG90eXBlLnNsaWNlLEc9U3RyaW5nLnByb3RvdHlwZS50cmlt
LEg9QXJyYXkucHJvdG90eXBlLmluZGV4T2YsST17fTtlLmZuPWUucHJvdG90eXBl
PXtjb25zdHJ1Y3RvcjplLGluaXQ6ZnVuY3Rpb24oYSxkLGYpe3ZhciBnLGgsaixr
O2lmKCFhKXJldHVybiB0aGlzO2lmKGEubm9kZVR5cGUpe3RoaXMuY29udGV4dD10
aGlzWzBdPWEsdGhpcy5sZW5ndGg9MTtyZXR1cm4gdGhpc31pZihhPT09ImJvZHki
JiYhZCYmYy5ib2R5KXt0aGlzLmNvbnRleHQ9Yyx0aGlzWzBdPWMuYm9keSx0aGlz
LnNlbGVjdG9yPWEsdGhpcy5sZW5ndGg9MTtyZXR1cm4gdGhpc31pZih0eXBlb2Yg
YT09InN0cmluZyIpe2EuY2hhckF0KDApIT09IjwifHxhLmNoYXJBdChhLmxlbmd0
aC0xKSE9PSI+Inx8YS5sZW5ndGg8Mz9nPWkuZXhlYyhhKTpnPVtudWxsLGEsbnVs
bF07aWYoZyYmKGdbMV18fCFkKSl7aWYoZ1sxXSl7ZD1kIGluc3RhbmNlb2YgZT9k
WzBdOmQsaz1kP2Qub3duZXJEb2N1bWVudHx8ZDpjLGo9bS5leGVjKGEpLGo/ZS5p
c1BsYWluT2JqZWN0KGQpPyhhPVtjLmNyZWF0ZUVsZW1lbnQoalsxXSldLGUuZm4u
YXR0ci5jYWxsKGEsZCwhMCkpOmE9W2suY3JlYXRlRWxlbWVudChqWzFdKV06KGo9
ZS5idWlsZEZyYWdtZW50KFtnWzFdXSxba10pLGE9KGouY2FjaGVhYmxlP2UuY2xv
bmUoai5mcmFnbWVudCk6ai5mcmFnbWVudCkuY2hpbGROb2Rlcyk7cmV0dXJuIGUu
bWVyZ2UodGhpcyxhKX1oPWMuZ2V0RWxlbWVudEJ5SWQoZ1syXSk7aWYoaCYmaC5w
YXJlbnROb2RlKXtpZihoLmlkIT09Z1syXSlyZXR1cm4gZi5maW5kKGEpO3RoaXMu
bGVuZ3RoPTEsdGhpc1swXT1ofXRoaXMuY29udGV4dD1jLHRoaXMuc2VsZWN0b3I9
YTtyZXR1cm4gdGhpc31yZXR1cm4hZHx8ZC5qcXVlcnk/KGR8fGYpLmZpbmQoYSk6
dGhpcy5jb25zdHJ1Y3RvcihkKS5maW5kKGEpfWlmKGUuaXNGdW5jdGlvbihhKSly
ZXR1cm4gZi5yZWFkeShhKTthLnNlbGVjdG9yIT09YiYmKHRoaXMuc2VsZWN0b3I9
YS5zZWxlY3Rvcix0aGlzLmNvbnRleHQ9YS5jb250ZXh0KTtyZXR1cm4gZS5tYWtl
QXJyYXkoYSx0aGlzKX0sc2VsZWN0b3I6IiIsanF1ZXJ5OiIxLjcuMiIsbGVuZ3Ro
OjAsc2l6ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aH0sdG9BcnJheTpm
dW5jdGlvbigpe3JldHVybiBGLmNhbGwodGhpcywwKX0sZ2V0OmZ1bmN0aW9uKGEp
e3JldHVybiBhPT1udWxsP3RoaXMudG9BcnJheSgpOmE8MD90aGlzW3RoaXMubGVu
Z3RoK2FdOnRoaXNbYV19LHB1c2hTdGFjazpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9
dGhpcy5jb25zdHJ1Y3RvcigpO2UuaXNBcnJheShhKT9FLmFwcGx5KGQsYSk6ZS5t
ZXJnZShkLGEpLGQucHJldk9iamVjdD10aGlzLGQuY29udGV4dD10aGlzLmNvbnRl
eHQsYj09PSJmaW5kIj9kLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3IrKHRoaXMuc2Vs
ZWN0b3I/IiAiOiIiKStjOmImJihkLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3IrIi4i
K2IrIigiK2MrIikiKTtyZXR1cm4gZH0sZWFjaDpmdW5jdGlvbihhLGIpe3JldHVy
biBlLmVhY2godGhpcyxhLGIpfSxyZWFkeTpmdW5jdGlvbihhKXtlLmJpbmRSZWFk
eSgpLEEuYWRkKGEpO3JldHVybiB0aGlzfSxlcTpmdW5jdGlvbihhKXthPSthO3Jl
dHVybiBhPT09LTE/dGhpcy5zbGljZShhKTp0aGlzLnNsaWNlKGEsYSsxKX0sZmly
c3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgwKX0sbGFzdDpmdW5jdGlvbigp
e3JldHVybiB0aGlzLmVxKC0xKX0sc2xpY2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhp
cy5wdXNoU3RhY2soRi5hcHBseSh0aGlzLGFyZ3VtZW50cyksInNsaWNlIixGLmNh
bGwoYXJndW1lbnRzKS5qb2luKCIsIikpfSxtYXA6ZnVuY3Rpb24oYSl7cmV0dXJu
IHRoaXMucHVzaFN0YWNrKGUubWFwKHRoaXMsZnVuY3Rpb24oYixjKXtyZXR1cm4g
YS5jYWxsKGIsYyxiKX0pKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJl
dk9iamVjdHx8dGhpcy5jb25zdHJ1Y3RvcihudWxsKX0scHVzaDpFLHNvcnQ6W10u
c29ydCxzcGxpY2U6W10uc3BsaWNlfSxlLmZuLmluaXQucHJvdG90eXBlPWUuZm4s
ZS5leHRlbmQ9ZS5mbi5leHRlbmQ9ZnVuY3Rpb24oKXt2YXIgYSxjLGQsZixnLGgs
aT1hcmd1bWVudHNbMF18fHt9LGo9MSxrPWFyZ3VtZW50cy5sZW5ndGgsbD0hMTt0
eXBlb2YgaT09ImJvb2xlYW4iJiYobD1pLGk9YXJndW1lbnRzWzFdfHx7fSxqPTIp
LHR5cGVvZiBpIT0ib2JqZWN0IiYmIWUuaXNGdW5jdGlvbihpKSYmKGk9e30pLGs9
PT1qJiYoaT10aGlzLC0taik7Zm9yKDtqPGs7aisrKWlmKChhPWFyZ3VtZW50c1tq
XSkhPW51bGwpZm9yKGMgaW4gYSl7ZD1pW2NdLGY9YVtjXTtpZihpPT09Ziljb250
aW51ZTtsJiZmJiYoZS5pc1BsYWluT2JqZWN0KGYpfHwoZz1lLmlzQXJyYXkoZikp
KT8oZz8oZz0hMSxoPWQmJmUuaXNBcnJheShkKT9kOltdKTpoPWQmJmUuaXNQbGFp
bk9iamVjdChkKT9kOnt9LGlbY109ZS5leHRlbmQobCxoLGYpKTpmIT09YiYmKGlb
Y109Zil9cmV0dXJuIGl9LGUuZXh0ZW5kKHtub0NvbmZsaWN0OmZ1bmN0aW9uKGIp
e2EuJD09PWUmJihhLiQ9ZyksYiYmYS5qUXVlcnk9PT1lJiYoYS5qUXVlcnk9Zik7
cmV0dXJuIGV9LGlzUmVhZHk6ITEscmVhZHlXYWl0OjEsaG9sZFJlYWR5OmZ1bmN0
aW9uKGEpe2E/ZS5yZWFkeVdhaXQrKzplLnJlYWR5KCEwKX0scmVhZHk6ZnVuY3Rp
b24oYSl7aWYoYT09PSEwJiYhLS1lLnJlYWR5V2FpdHx8YSE9PSEwJiYhZS5pc1Jl
YWR5KXtpZighYy5ib2R5KXJldHVybiBzZXRUaW1lb3V0KGUucmVhZHksMSk7ZS5p
c1JlYWR5PSEwO2lmKGEhPT0hMCYmLS1lLnJlYWR5V2FpdD4wKXJldHVybjtBLmZp
cmVXaXRoKGMsW2VdKSxlLmZuLnRyaWdnZXImJmUoYykudHJpZ2dlcigicmVhZHki
KS5vZmYoInJlYWR5Iil9fSxiaW5kUmVhZHk6ZnVuY3Rpb24oKXtpZighQSl7QT1l
LkNhbGxiYWNrcygib25jZSBtZW1vcnkiKTtpZihjLnJlYWR5U3RhdGU9PT0iY29t
cGxldGUiKXJldHVybiBzZXRUaW1lb3V0KGUucmVhZHksMSk7aWYoYy5hZGRFdmVu
dExpc3RlbmVyKWMuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIs
QiwhMSksYS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixlLnJlYWR5LCExKTtlbHNl
IGlmKGMuYXR0YWNoRXZlbnQpe2MuYXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNo
YW5nZSIsQiksYS5hdHRhY2hFdmVudCgib25sb2FkIixlLnJlYWR5KTt2YXIgYj0h
MTt0cnl7Yj1hLmZyYW1lRWxlbWVudD09bnVsbH1jYXRjaChkKXt9Yy5kb2N1bWVu
dEVsZW1lbnQuZG9TY3JvbGwmJmImJkooKX19fSxpc0Z1bmN0aW9uOmZ1bmN0aW9u
KGEpe3JldHVybiBlLnR5cGUoYSk9PT0iZnVuY3Rpb24ifSxpc0FycmF5OkFycmF5
LmlzQXJyYXl8fGZ1bmN0aW9uKGEpe3JldHVybiBlLnR5cGUoYSk9PT0iYXJyYXki
fSxpc1dpbmRvdzpmdW5jdGlvbihhKXtyZXR1cm4gYSE9bnVsbCYmYT09YS53aW5k
b3d9LGlzTnVtZXJpYzpmdW5jdGlvbihhKXtyZXR1cm4haXNOYU4ocGFyc2VGbG9h
dChhKSkmJmlzRmluaXRlKGEpfSx0eXBlOmZ1bmN0aW9uKGEpe3JldHVybiBhPT1u
dWxsP1N0cmluZyhhKTpJW0MuY2FsbChhKV18fCJvYmplY3QifSxpc1BsYWluT2Jq
ZWN0OmZ1bmN0aW9uKGEpe2lmKCFhfHxlLnR5cGUoYSkhPT0ib2JqZWN0Inx8YS5u
b2RlVHlwZXx8ZS5pc1dpbmRvdyhhKSlyZXR1cm4hMTt0cnl7aWYoYS5jb25zdHJ1
Y3RvciYmIUQuY2FsbChhLCJjb25zdHJ1Y3RvciIpJiYhRC5jYWxsKGEuY29uc3Ry
dWN0b3IucHJvdG90eXBlLCJpc1Byb3RvdHlwZU9mIikpcmV0dXJuITF9Y2F0Y2go
Yyl7cmV0dXJuITF9dmFyIGQ7Zm9yKGQgaW4gYSk7cmV0dXJuIGQ9PT1ifHxELmNh
bGwoYSxkKX0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihhKXtmb3IodmFyIGIgaW4g
YSlyZXR1cm4hMTtyZXR1cm4hMH0sZXJyb3I6ZnVuY3Rpb24oYSl7dGhyb3cgbmV3
IEVycm9yKGEpfSxwYXJzZUpTT046ZnVuY3Rpb24oYil7aWYodHlwZW9mIGIhPSJz
dHJpbmcifHwhYilyZXR1cm4gbnVsbDtiPWUudHJpbShiKTtpZihhLkpTT04mJmEu
SlNPTi5wYXJzZSlyZXR1cm4gYS5KU09OLnBhcnNlKGIpO2lmKG4udGVzdChiLnJl
cGxhY2UobywiQCIpLnJlcGxhY2UocCwiXSIpLnJlcGxhY2UocSwiIikpKXJldHVy
bihuZXcgRnVuY3Rpb24oInJldHVybiAiK2IpKSgpO2UuZXJyb3IoIkludmFsaWQg
SlNPTjogIitiKX0scGFyc2VYTUw6ZnVuY3Rpb24oYyl7aWYodHlwZW9mIGMhPSJz
dHJpbmcifHwhYylyZXR1cm4gbnVsbDt2YXIgZCxmO3RyeXthLkRPTVBhcnNlcj8o
Zj1uZXcgRE9NUGFyc2VyLGQ9Zi5wYXJzZUZyb21TdHJpbmcoYywidGV4dC94bWwi
KSk6KGQ9bmV3IEFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSxkLmFz
eW5jPSJmYWxzZSIsZC5sb2FkWE1MKGMpKX1jYXRjaChnKXtkPWJ9KCFkfHwhZC5k
b2N1bWVudEVsZW1lbnR8fGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInBhcnNlcmVy
cm9yIikubGVuZ3RoKSYmZS5lcnJvcigiSW52YWxpZCBYTUw6ICIrYyk7cmV0dXJu
IGR9LG5vb3A6ZnVuY3Rpb24oKXt9LGdsb2JhbEV2YWw6ZnVuY3Rpb24oYil7YiYm
ai50ZXN0KGIpJiYoYS5leGVjU2NyaXB0fHxmdW5jdGlvbihiKXthLmV2YWwuY2Fs
bChhLGIpfSkoYil9LGNhbWVsQ2FzZTpmdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBs
YWNlKHcsIm1zLSIpLnJlcGxhY2Uodix4KX0sbm9kZU5hbWU6ZnVuY3Rpb24oYSxi
KXtyZXR1cm4gYS5ub2RlTmFtZSYmYS5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpPT09
Yi50b1VwcGVyQ2FzZSgpfSxlYWNoOmZ1bmN0aW9uKGEsYyxkKXt2YXIgZixnPTAs
aD1hLmxlbmd0aCxpPWg9PT1ifHxlLmlzRnVuY3Rpb24oYSk7aWYoZCl7aWYoaSl7
Zm9yKGYgaW4gYSlpZihjLmFwcGx5KGFbZl0sZCk9PT0hMSlicmVha31lbHNlIGZv
cig7ZzxoOylpZihjLmFwcGx5KGFbZysrXSxkKT09PSExKWJyZWFrfWVsc2UgaWYo
aSl7Zm9yKGYgaW4gYSlpZihjLmNhbGwoYVtmXSxmLGFbZl0pPT09ITEpYnJlYWt9
ZWxzZSBmb3IoO2c8aDspaWYoYy5jYWxsKGFbZ10sZyxhW2crK10pPT09ITEpYnJl
YWs7cmV0dXJuIGF9LHRyaW06Rz9mdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD8i
IjpHLmNhbGwoYSl9OmZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsPyIiOihhKyIi
KS5yZXBsYWNlKGssIiIpLnJlcGxhY2UobCwiIil9LG1ha2VBcnJheTpmdW5jdGlv
bihhLGIpe3ZhciBjPWJ8fFtdO2lmKGEhPW51bGwpe3ZhciBkPWUudHlwZShhKTth
Lmxlbmd0aD09bnVsbHx8ZD09PSJzdHJpbmcifHxkPT09ImZ1bmN0aW9uInx8ZD09
PSJyZWdleHAifHxlLmlzV2luZG93KGEpP0UuY2FsbChjLGEpOmUubWVyZ2UoYyxh
KX1yZXR1cm4gY30saW5BcnJheTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ7aWYoYil7
aWYoSClyZXR1cm4gSC5jYWxsKGIsYSxjKTtkPWIubGVuZ3RoLGM9Yz9jPDA/TWF0
aC5tYXgoMCxkK2MpOmM6MDtmb3IoO2M8ZDtjKyspaWYoYyBpbiBiJiZiW2NdPT09
YSlyZXR1cm4gY31yZXR1cm4tMX0sbWVyZ2U6ZnVuY3Rpb24oYSxjKXt2YXIgZD1h
Lmxlbmd0aCxlPTA7aWYodHlwZW9mIGMubGVuZ3RoPT0ibnVtYmVyIilmb3IodmFy
IGY9Yy5sZW5ndGg7ZTxmO2UrKylhW2QrK109Y1tlXTtlbHNlIHdoaWxlKGNbZV0h
PT1iKWFbZCsrXT1jW2UrK107YS5sZW5ndGg9ZDtyZXR1cm4gYX0sZ3JlcDpmdW5j
dGlvbihhLGIsYyl7dmFyIGQ9W10sZTtjPSEhYztmb3IodmFyIGY9MCxnPWEubGVu
Z3RoO2Y8ZztmKyspZT0hIWIoYVtmXSxmKSxjIT09ZSYmZC5wdXNoKGFbZl0pO3Jl
dHVybiBkfSxtYXA6ZnVuY3Rpb24oYSxjLGQpe3ZhciBmLGcsaD1bXSxpPTAsaj1h
Lmxlbmd0aCxrPWEgaW5zdGFuY2VvZiBlfHxqIT09YiYmdHlwZW9mIGo9PSJudW1i
ZXIiJiYoaj4wJiZhWzBdJiZhW2otMV18fGo9PT0wfHxlLmlzQXJyYXkoYSkpO2lm
KGspZm9yKDtpPGo7aSsrKWY9YyhhW2ldLGksZCksZiE9bnVsbCYmKGhbaC5sZW5n
dGhdPWYpO2Vsc2UgZm9yKGcgaW4gYSlmPWMoYVtnXSxnLGQpLGYhPW51bGwmJiho
W2gubGVuZ3RoXT1mKTtyZXR1cm4gaC5jb25jYXQuYXBwbHkoW10saCl9LGd1aWQ6
MSxwcm94eTpmdW5jdGlvbihhLGMpe2lmKHR5cGVvZiBjPT0ic3RyaW5nIil7dmFy
IGQ9YVtjXTtjPWEsYT1kfWlmKCFlLmlzRnVuY3Rpb24oYSkpcmV0dXJuIGI7dmFy
IGY9Ri5jYWxsKGFyZ3VtZW50cywyKSxnPWZ1bmN0aW9uKCl7cmV0dXJuIGEuYXBw
bHkoYyxmLmNvbmNhdChGLmNhbGwoYXJndW1lbnRzKSkpfTtnLmd1aWQ9YS5ndWlk
PWEuZ3VpZHx8Zy5ndWlkfHxlLmd1aWQrKztyZXR1cm4gZ30sYWNjZXNzOmZ1bmN0
aW9uKGEsYyxkLGYsZyxoLGkpe3ZhciBqLGs9ZD09bnVsbCxsPTAsbT1hLmxlbmd0
aDtpZihkJiZ0eXBlb2YgZD09Im9iamVjdCIpe2ZvcihsIGluIGQpZS5hY2Nlc3Mo
YSxjLGwsZFtsXSwxLGgsZik7Zz0xfWVsc2UgaWYoZiE9PWIpe2o9aT09PWImJmUu
aXNGdW5jdGlvbihmKSxrJiYoaj8oaj1jLGM9ZnVuY3Rpb24oYSxiLGMpe3JldHVy
biBqLmNhbGwoZShhKSxjKX0pOihjLmNhbGwoYSxmKSxjPW51bGwpKTtpZihjKWZv
cig7bDxtO2wrKyljKGFbbF0sZCxqP2YuY2FsbChhW2xdLGwsYyhhW2xdLGQpKTpm
LGkpO2c9MX1yZXR1cm4gZz9hOms/Yy5jYWxsKGEpOm0/YyhhWzBdLGQpOmh9LG5v
dzpmdW5jdGlvbigpe3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpfSx1YU1hdGNo
OmZ1bmN0aW9uKGEpe2E9YS50b0xvd2VyQ2FzZSgpO3ZhciBiPXIuZXhlYyhhKXx8
cy5leGVjKGEpfHx0LmV4ZWMoYSl8fGEuaW5kZXhPZigiY29tcGF0aWJsZSIpPDAm
JnUuZXhlYyhhKXx8W107cmV0dXJue2Jyb3dzZXI6YlsxXXx8IiIsdmVyc2lvbjpi
WzJdfHwiMCJ9fSxzdWI6ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7cmV0dXJu
IG5ldyBhLmZuLmluaXQoYixjKX1lLmV4dGVuZCghMCxhLHRoaXMpLGEuc3VwZXJj
bGFzcz10aGlzLGEuZm49YS5wcm90b3R5cGU9dGhpcygpLGEuZm4uY29uc3RydWN0
b3I9YSxhLnN1Yj10aGlzLnN1YixhLmZuLmluaXQ9ZnVuY3Rpb24oZCxmKXtmJiZm
IGluc3RhbmNlb2YgZSYmIShmIGluc3RhbmNlb2YgYSkmJihmPWEoZikpO3JldHVy
biBlLmZuLmluaXQuY2FsbCh0aGlzLGQsZixiKX0sYS5mbi5pbml0LnByb3RvdHlw
ZT1hLmZuO3ZhciBiPWEoYyk7cmV0dXJuIGF9LGJyb3dzZXI6e319KSxlLmVhY2go
IkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4
cCBPYmplY3QiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtJWyJbb2JqZWN0ICIr
YisiXSJdPWIudG9Mb3dlckNhc2UoKX0pLHo9ZS51YU1hdGNoKHkpLHouYnJvd3Nl
ciYmKGUuYnJvd3Nlclt6LmJyb3dzZXJdPSEwLGUuYnJvd3Nlci52ZXJzaW9uPXou
dmVyc2lvbiksZS5icm93c2VyLndlYmtpdCYmKGUuYnJvd3Nlci5zYWZhcmk9ITAp
LGoudGVzdCgiwqAiKSYmKGs9L15bXHNceEEwXSsvLGw9L1tcc1x4QTBdKyQvKSxo
PWUoYyksYy5hZGRFdmVudExpc3RlbmVyP0I9ZnVuY3Rpb24oKXtjLnJlbW92ZUV2
ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLEIsITEpLGUucmVhZHkoKX06
Yy5hdHRhY2hFdmVudCYmKEI9ZnVuY3Rpb24oKXtjLnJlYWR5U3RhdGU9PT0iY29t
cGxldGUiJiYoYy5kZXRhY2hFdmVudCgib25yZWFkeXN0YXRlY2hhbmdlIixCKSxl
LnJlYWR5KCkpfSk7cmV0dXJuIGV9KCksZz17fTtmLkNhbGxiYWNrcz1mdW5jdGlv
bihhKXthPWE/Z1thXXx8aChhKTp7fTt2YXIgYz1bXSxkPVtdLGUsaSxqLGssbCxt
LG49ZnVuY3Rpb24oYil7dmFyIGQsZSxnLGgsaTtmb3IoZD0wLGU9Yi5sZW5ndGg7
ZDxlO2QrKylnPWJbZF0saD1mLnR5cGUoZyksaD09PSJhcnJheSI/bihnKTpoPT09
ImZ1bmN0aW9uIiYmKCFhLnVuaXF1ZXx8IXAuaGFzKGcpKSYmYy5wdXNoKGcpfSxv
PWZ1bmN0aW9uKGIsZil7Zj1mfHxbXSxlPSFhLm1lbW9yeXx8W2IsZl0saT0hMCxq
PSEwLG09a3x8MCxrPTAsbD1jLmxlbmd0aDtmb3IoO2MmJm08bDttKyspaWYoY1tt
XS5hcHBseShiLGYpPT09ITEmJmEuc3RvcE9uRmFsc2Upe2U9ITA7YnJlYWt9aj0h
MSxjJiYoYS5vbmNlP2U9PT0hMD9wLmRpc2FibGUoKTpjPVtdOmQmJmQubGVuZ3Ro
JiYoZT1kLnNoaWZ0KCkscC5maXJlV2l0aChlWzBdLGVbMV0pKSl9LHA9e2FkZDpm
dW5jdGlvbigpe2lmKGMpe3ZhciBhPWMubGVuZ3RoO24oYXJndW1lbnRzKSxqP2w9
Yy5sZW5ndGg6ZSYmZSE9PSEwJiYoaz1hLG8oZVswXSxlWzFdKSl9cmV0dXJuIHRo
aXN9LHJlbW92ZTpmdW5jdGlvbigpe2lmKGMpe3ZhciBiPWFyZ3VtZW50cyxkPTAs
ZT1iLmxlbmd0aDtmb3IoO2Q8ZTtkKyspZm9yKHZhciBmPTA7ZjxjLmxlbmd0aDtm
KyspaWYoYltkXT09PWNbZl0pe2omJmY8PWwmJihsLS0sZjw9bSYmbS0tKSxjLnNw
bGljZShmLS0sMSk7aWYoYS51bmlxdWUpYnJlYWt9fXJldHVybiB0aGlzfSxoYXM6
ZnVuY3Rpb24oYSl7aWYoYyl7dmFyIGI9MCxkPWMubGVuZ3RoO2Zvcig7YjxkO2Ir
KylpZihhPT09Y1tiXSlyZXR1cm4hMH1yZXR1cm4hMX0sZW1wdHk6ZnVuY3Rpb24o
KXtjPVtdO3JldHVybiB0aGlzfSxkaXNhYmxlOmZ1bmN0aW9uKCl7Yz1kPWU9Yjty
ZXR1cm4gdGhpc30sZGlzYWJsZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hY30sbG9jazpm
dW5jdGlvbigpe2Q9YiwoIWV8fGU9PT0hMCkmJnAuZGlzYWJsZSgpO3JldHVybiB0
aGlzfSxsb2NrZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hZH0sZmlyZVdpdGg6ZnVuY3Rp
b24oYixjKXtkJiYoaj9hLm9uY2V8fGQucHVzaChbYixjXSk6KCFhLm9uY2V8fCFl
KSYmbyhiLGMpKTtyZXR1cm4gdGhpc30sZmlyZTpmdW5jdGlvbigpe3AuZmlyZVdp
dGgodGhpcyxhcmd1bWVudHMpO3JldHVybiB0aGlzfSxmaXJlZDpmdW5jdGlvbigp
e3JldHVybiEhaX19O3JldHVybiBwfTt2YXIgaT1bXS5zbGljZTtmLmV4dGVuZCh7
RGVmZXJyZWQ6ZnVuY3Rpb24oYSl7dmFyIGI9Zi5DYWxsYmFja3MoIm9uY2UgbWVt
b3J5IiksYz1mLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxkPWYuQ2FsbGJhY2tz
KCJtZW1vcnkiKSxlPSJwZW5kaW5nIixnPXtyZXNvbHZlOmIscmVqZWN0OmMsbm90
aWZ5OmR9LGg9e2RvbmU6Yi5hZGQsZmFpbDpjLmFkZCxwcm9ncmVzczpkLmFkZCxz
dGF0ZTpmdW5jdGlvbigpe3JldHVybiBlfSxpc1Jlc29sdmVkOmIuZmlyZWQsaXNS
ZWplY3RlZDpjLmZpcmVkLHRoZW46ZnVuY3Rpb24oYSxiLGMpe2kuZG9uZShhKS5m
YWlsKGIpLnByb2dyZXNzKGMpO3JldHVybiB0aGlzfSxhbHdheXM6ZnVuY3Rpb24o
KXtpLmRvbmUuYXBwbHkoaSxhcmd1bWVudHMpLmZhaWwuYXBwbHkoaSxhcmd1bWVu
dHMpO3JldHVybiB0aGlzfSxwaXBlOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZi5E
ZWZlcnJlZChmdW5jdGlvbihkKXtmLmVhY2goe2RvbmU6W2EsInJlc29sdmUiXSxm
YWlsOltiLCJyZWplY3QiXSxwcm9ncmVzczpbYywibm90aWZ5Il19LGZ1bmN0aW9u
KGEsYil7dmFyIGM9YlswXSxlPWJbMV0sZztmLmlzRnVuY3Rpb24oYyk/aVthXShm
dW5jdGlvbigpe2c9Yy5hcHBseSh0aGlzLGFyZ3VtZW50cyksZyYmZi5pc0Z1bmN0
aW9uKGcucHJvbWlzZSk/Zy5wcm9taXNlKCkudGhlbihkLnJlc29sdmUsZC5yZWpl
Y3QsZC5ub3RpZnkpOmRbZSsiV2l0aCJdKHRoaXM9PT1pP2Q6dGhpcyxbZ10pfSk6
aVthXShkW2VdKX0pfSkucHJvbWlzZSgpfSxwcm9taXNlOmZ1bmN0aW9uKGEpe2lm
KGE9PW51bGwpYT1oO2Vsc2UgZm9yKHZhciBiIGluIGgpYVtiXT1oW2JdO3JldHVy
biBhfX0saT1oLnByb21pc2Uoe30pLGo7Zm9yKGogaW4gZylpW2pdPWdbal0uZmly
ZSxpW2orIldpdGgiXT1nW2pdLmZpcmVXaXRoO2kuZG9uZShmdW5jdGlvbigpe2U9
InJlc29sdmVkIn0sYy5kaXNhYmxlLGQubG9jaykuZmFpbChmdW5jdGlvbigpe2U9
InJlamVjdGVkIn0sYi5kaXNhYmxlLGQubG9jayksYSYmYS5jYWxsKGksaSk7cmV0
dXJuIGl9LHdoZW46ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gbShhKXtyZXR1cm4gZnVu
Y3Rpb24oYil7ZVthXT1hcmd1bWVudHMubGVuZ3RoPjE/aS5jYWxsKGFyZ3VtZW50
cywwKTpiLGoubm90aWZ5V2l0aChrLGUpfX1mdW5jdGlvbiBsKGEpe3JldHVybiBm
dW5jdGlvbihjKXtiW2FdPWFyZ3VtZW50cy5sZW5ndGg+MT9pLmNhbGwoYXJndW1l
bnRzLDApOmMsLS1nfHxqLnJlc29sdmVXaXRoKGosYil9fXZhciBiPWkuY2FsbChh
cmd1bWVudHMsMCksYz0wLGQ9Yi5sZW5ndGgsZT1BcnJheShkKSxnPWQsaD1kLGo9
ZDw9MSYmYSYmZi5pc0Z1bmN0aW9uKGEucHJvbWlzZSk/YTpmLkRlZmVycmVkKCks
az1qLnByb21pc2UoKTtpZihkPjEpe2Zvcig7YzxkO2MrKyliW2NdJiZiW2NdLnBy
b21pc2UmJmYuaXNGdW5jdGlvbihiW2NdLnByb21pc2UpP2JbY10ucHJvbWlzZSgp
LnRoZW4obChjKSxqLnJlamVjdCxtKGMpKTotLWc7Z3x8ai5yZXNvbHZlV2l0aChq
LGIpfWVsc2UgaiE9PWEmJmoucmVzb2x2ZVdpdGgoaixkP1thXTpbXSk7cmV0dXJu
IGt9fSksZi5zdXBwb3J0PWZ1bmN0aW9uKCl7dmFyIGIsZCxlLGcsaCxpLGosayxs
LG0sbixvLHA9Yy5jcmVhdGVFbGVtZW50KCJkaXYiKSxxPWMuZG9jdW1lbnRFbGVt
ZW50O3Auc2V0QXR0cmlidXRlKCJjbGFzc05hbWUiLCJ0IikscC5pbm5lckhUTUw9
IiAgIDxsaW5rLz48dGFibGU+PC90YWJsZT48YSBocmVmPScvYScgc3R5bGU9J3Rv
cDoxcHg7ZmxvYXQ6bGVmdDtvcGFjaXR5Oi41NTsnPmE8L2E+PGlucHV0IHR5cGU9
J2NoZWNrYm94Jy8+IixkPXAuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxlPXAu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXTtpZighZHx8IWQubGVuZ3RofHwh
ZSlyZXR1cm57fTtnPWMuY3JlYXRlRWxlbWVudCgic2VsZWN0IiksaD1nLmFwcGVu
ZENoaWxkKGMuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpLGk9cC5nZXRFbGVtZW50
c0J5VGFnTmFtZSgiaW5wdXQiKVswXSxiPXtsZWFkaW5nV2hpdGVzcGFjZTpwLmZp
cnN0Q2hpbGQubm9kZVR5cGU9PT0zLHRib2R5OiFwLmdldEVsZW1lbnRzQnlUYWdO
YW1lKCJ0Ym9keSIpLmxlbmd0aCxodG1sU2VyaWFsaXplOiEhcC5nZXRFbGVtZW50
c0J5VGFnTmFtZSgibGluayIpLmxlbmd0aCxzdHlsZTovdG9wLy50ZXN0KGUuZ2V0
QXR0cmlidXRlKCJzdHlsZSIpKSxocmVmTm9ybWFsaXplZDplLmdldEF0dHJpYnV0
ZSgiaHJlZiIpPT09Ii9hIixvcGFjaXR5Oi9eMC41NS8udGVzdChlLnN0eWxlLm9w
YWNpdHkpLGNzc0Zsb2F0OiEhZS5zdHlsZS5jc3NGbG9hdCxjaGVja09uOmkudmFs
dWU9PT0ib24iLG9wdFNlbGVjdGVkOmguc2VsZWN0ZWQsZ2V0U2V0QXR0cmlidXRl
OnAuY2xhc3NOYW1lIT09InQiLGVuY3R5cGU6ISFjLmNyZWF0ZUVsZW1lbnQoImZv
cm0iKS5lbmN0eXBlLGh0bWw1Q2xvbmU6Yy5jcmVhdGVFbGVtZW50KCJuYXYiKS5j
bG9uZU5vZGUoITApLm91dGVySFRNTCE9PSI8Om5hdj48LzpuYXY+IixzdWJtaXRC
dWJibGVzOiEwLGNoYW5nZUJ1YmJsZXM6ITAsZm9jdXNpbkJ1YmJsZXM6ITEsZGVs
ZXRlRXhwYW5kbzohMCxub0Nsb25lRXZlbnQ6ITAsaW5saW5lQmxvY2tOZWVkc0xh
eW91dDohMSxzaHJpbmtXcmFwQmxvY2tzOiExLHJlbGlhYmxlTWFyZ2luUmlnaHQ6
ITAscGl4ZWxNYXJnaW46ITB9LGYuYm94TW9kZWw9Yi5ib3hNb2RlbD1jLmNvbXBh
dE1vZGU9PT0iQ1NTMUNvbXBhdCIsaS5jaGVja2VkPSEwLGIubm9DbG9uZUNoZWNr
ZWQ9aS5jbG9uZU5vZGUoITApLmNoZWNrZWQsZy5kaXNhYmxlZD0hMCxiLm9wdERp
c2FibGVkPSFoLmRpc2FibGVkO3RyeXtkZWxldGUgcC50ZXN0fWNhdGNoKHIpe2Iu
ZGVsZXRlRXhwYW5kbz0hMX0hcC5hZGRFdmVudExpc3RlbmVyJiZwLmF0dGFjaEV2
ZW50JiZwLmZpcmVFdmVudCYmKHAuYXR0YWNoRXZlbnQoIm9uY2xpY2siLGZ1bmN0
aW9uKCl7Yi5ub0Nsb25lRXZlbnQ9ITF9KSxwLmNsb25lTm9kZSghMCkuZmlyZUV2
ZW50KCJvbmNsaWNrIikpLGk9Yy5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLGkudmFs
dWU9InQiLGkuc2V0QXR0cmlidXRlKCJ0eXBlIiwicmFkaW8iKSxiLnJhZGlvVmFs
dWU9aS52YWx1ZT09PSJ0IixpLnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsImNoZWNr
ZWQiKSxpLnNldEF0dHJpYnV0ZSgibmFtZSIsInQiKSxwLmFwcGVuZENoaWxkKGkp
LGo9Yy5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksai5hcHBlbmRDaGlsZChwLmxh
c3RDaGlsZCksYi5jaGVja0Nsb25lPWouY2xvbmVOb2RlKCEwKS5jbG9uZU5vZGUo
ITApLmxhc3RDaGlsZC5jaGVja2VkLGIuYXBwZW5kQ2hlY2tlZD1pLmNoZWNrZWQs
ai5yZW1vdmVDaGlsZChpKSxqLmFwcGVuZENoaWxkKHApO2lmKHAuYXR0YWNoRXZl
bnQpZm9yKG4gaW57c3VibWl0OjEsY2hhbmdlOjEsZm9jdXNpbjoxfSltPSJvbiIr
bixvPW0gaW4gcCxvfHwocC5zZXRBdHRyaWJ1dGUobSwicmV0dXJuOyIpLG89dHlw
ZW9mIHBbbV09PSJmdW5jdGlvbiIpLGJbbisiQnViYmxlcyJdPW87ai5yZW1vdmVD
aGlsZChwKSxqPWc9aD1wPWk9bnVsbCxmKGZ1bmN0aW9uKCl7dmFyIGQsZSxnLGgs
aSxqLGwsbSxuLHEscixzLHQsdT1jLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5
IilbMF07IXV8fChtPTEsdD0icGFkZGluZzowO21hcmdpbjowO2JvcmRlcjoiLHI9
InBvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxcHg7aGVpZ2h0
OjFweDsiLHM9dCsiMDt2aXNpYmlsaXR5OmhpZGRlbjsiLG49InN0eWxlPSciK3Ir
dCsiNXB4IHNvbGlkICMwMDA7IixxPSI8ZGl2ICIrbisiZGlzcGxheTpibG9jazsn
PjxkaXYgc3R5bGU9JyIrdCsiMDtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRl
bjsnPjwvZGl2PjwvZGl2PiIrIjx0YWJsZSAiK24rIicgY2VsbHBhZGRpbmc9JzAn
IGNlbGxzcGFjaW5nPScwJz4iKyI8dHI+PHRkPjwvdGQ+PC90cj48L3RhYmxlPiIs
ZD1jLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQuc3R5bGUuY3NzVGV4dD1zKyJ3aWR0
aDowO2hlaWdodDowO3Bvc2l0aW9uOnN0YXRpYzt0b3A6MDttYXJnaW4tdG9wOiIr
bSsicHgiLHUuaW5zZXJ0QmVmb3JlKGQsdS5maXJzdENoaWxkKSxwPWMuY3JlYXRl
RWxlbWVudCgiZGl2IiksZC5hcHBlbmRDaGlsZChwKSxwLmlubmVySFRNTD0iPHRh
YmxlPjx0cj48dGQgc3R5bGU9JyIrdCsiMDtkaXNwbGF5Om5vbmUnPjwvdGQ+PHRk
PnQ8L3RkPjwvdHI+PC90YWJsZT4iLGs9cC5nZXRFbGVtZW50c0J5VGFnTmFtZSgi
dGQiKSxvPWtbMF0ub2Zmc2V0SGVpZ2h0PT09MCxrWzBdLnN0eWxlLmRpc3BsYXk9
IiIsa1sxXS5zdHlsZS5kaXNwbGF5PSJub25lIixiLnJlbGlhYmxlSGlkZGVuT2Zm
c2V0cz1vJiZrWzBdLm9mZnNldEhlaWdodD09PTAsYS5nZXRDb21wdXRlZFN0eWxl
JiYocC5pbm5lckhUTUw9IiIsbD1jLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGwuc3R5
bGUud2lkdGg9IjAiLGwuc3R5bGUubWFyZ2luUmlnaHQ9IjAiLHAuc3R5bGUud2lk
dGg9IjJweCIscC5hcHBlbmRDaGlsZChsKSxiLnJlbGlhYmxlTWFyZ2luUmlnaHQ9
KHBhcnNlSW50KChhLmdldENvbXB1dGVkU3R5bGUobCxudWxsKXx8e21hcmdpblJp
Z2h0OjB9KS5tYXJnaW5SaWdodCwxMCl8fDApPT09MCksdHlwZW9mIHAuc3R5bGUu
em9vbSE9InVuZGVmaW5lZCImJihwLmlubmVySFRNTD0iIixwLnN0eWxlLndpZHRo
PXAuc3R5bGUucGFkZGluZz0iMXB4IixwLnN0eWxlLmJvcmRlcj0wLHAuc3R5bGUu
b3ZlcmZsb3c9ImhpZGRlbiIscC5zdHlsZS5kaXNwbGF5PSJpbmxpbmUiLHAuc3R5
bGUuem9vbT0xLGIuaW5saW5lQmxvY2tOZWVkc0xheW91dD1wLm9mZnNldFdpZHRo
PT09MyxwLnN0eWxlLmRpc3BsYXk9ImJsb2NrIixwLnN0eWxlLm92ZXJmbG93PSJ2
aXNpYmxlIixwLmlubmVySFRNTD0iPGRpdiBzdHlsZT0nd2lkdGg6NXB4Oyc+PC9k
aXY+IixiLnNocmlua1dyYXBCbG9ja3M9cC5vZmZzZXRXaWR0aCE9PTMpLHAuc3R5
bGUuY3NzVGV4dD1yK3MscC5pbm5lckhUTUw9cSxlPXAuZmlyc3RDaGlsZCxnPWUu
Zmlyc3RDaGlsZCxpPWUubmV4dFNpYmxpbmcuZmlyc3RDaGlsZC5maXJzdENoaWxk
LGo9e2RvZXNOb3RBZGRCb3JkZXI6Zy5vZmZzZXRUb3AhPT01LGRvZXNBZGRCb3Jk
ZXJGb3JUYWJsZUFuZENlbGxzOmkub2Zmc2V0VG9wPT09NX0sZy5zdHlsZS5wb3Np
dGlvbj0iZml4ZWQiLGcuc3R5bGUudG9wPSIyMHB4IixqLmZpeGVkUG9zaXRpb249
Zy5vZmZzZXRUb3A9PT0yMHx8Zy5vZmZzZXRUb3A9PT0xNSxnLnN0eWxlLnBvc2l0
aW9uPWcuc3R5bGUudG9wPSIiLGUuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsZS5z
dHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiLGouc3VidHJhY3RzQm9yZGVyRm9yT3Zl
cmZsb3dOb3RWaXNpYmxlPWcub2Zmc2V0VG9wPT09LTUsai5kb2VzTm90SW5jbHVk
ZU1hcmdpbkluQm9keU9mZnNldD11Lm9mZnNldFRvcCE9PW0sYS5nZXRDb21wdXRl
ZFN0eWxlJiYocC5zdHlsZS5tYXJnaW5Ub3A9IjElIixiLnBpeGVsTWFyZ2luPShh
LmdldENvbXB1dGVkU3R5bGUocCxudWxsKXx8e21hcmdpblRvcDowfSkubWFyZ2lu
VG9wIT09IjElIiksdHlwZW9mIGQuc3R5bGUuem9vbSE9InVuZGVmaW5lZCImJihk
LnN0eWxlLnpvb209MSksdS5yZW1vdmVDaGlsZChkKSxsPXA9ZD1udWxsLGYuZXh0
ZW5kKGIsaikpfSk7cmV0dXJuIGJ9KCk7dmFyIGo9L14oPzpcey4qXH18XFsuKlxd
KSQvLGs9LyhbQS1aXSkvZztmLmV4dGVuZCh7Y2FjaGU6e30sdXVpZDowLGV4cGFu
ZG86ImpRdWVyeSIrKGYuZm4uanF1ZXJ5K01hdGgucmFuZG9tKCkpLnJlcGxhY2Uo
L1xEL2csIiIpLG5vRGF0YTp7ZW1iZWQ6ITAsb2JqZWN0OiJjbHNpZDpEMjdDREI2
RS1BRTZELTExY2YtOTZCOC00NDQ1NTM1NDAwMDAiLGFwcGxldDohMH0saGFzRGF0
YTpmdW5jdGlvbihhKXthPWEubm9kZVR5cGU/Zi5jYWNoZVthW2YuZXhwYW5kb11d
OmFbZi5leHBhbmRvXTtyZXR1cm4hIWEmJiFtKGEpfSxkYXRhOmZ1bmN0aW9uKGEs
YyxkLGUpe2lmKCEhZi5hY2NlcHREYXRhKGEpKXt2YXIgZyxoLGksaj1mLmV4cGFu
ZG8saz10eXBlb2YgYz09InN0cmluZyIsbD1hLm5vZGVUeXBlLG09bD9mLmNhY2hl
OmEsbj1sP2Fbal06YVtqXSYmaixvPWM9PT0iZXZlbnRzIjtpZigoIW58fCFtW25d
fHwhbyYmIWUmJiFtW25dLmRhdGEpJiZrJiZkPT09YilyZXR1cm47bnx8KGw/YVtq
XT1uPSsrZi51dWlkOm49aiksbVtuXXx8KG1bbl09e30sbHx8KG1bbl0udG9KU09O
PWYubm9vcCkpO2lmKHR5cGVvZiBjPT0ib2JqZWN0Inx8dHlwZW9mIGM9PSJmdW5j
dGlvbiIpZT9tW25dPWYuZXh0ZW5kKG1bbl0sYyk6bVtuXS5kYXRhPWYuZXh0ZW5k
KG1bbl0uZGF0YSxjKTtnPWg9bVtuXSxlfHwoaC5kYXRhfHwoaC5kYXRhPXt9KSxo
PWguZGF0YSksZCE9PWImJihoW2YuY2FtZWxDYXNlKGMpXT1kKTtpZihvJiYhaFtj
XSlyZXR1cm4gZy5ldmVudHM7az8oaT1oW2NdLGk9PW51bGwmJihpPWhbZi5jYW1l
bENhc2UoYyldKSk6aT1oO3JldHVybiBpfX0scmVtb3ZlRGF0YTpmdW5jdGlvbihh
LGIsYyl7aWYoISFmLmFjY2VwdERhdGEoYSkpe3ZhciBkLGUsZyxoPWYuZXhwYW5k
byxpPWEubm9kZVR5cGUsaj1pP2YuY2FjaGU6YSxrPWk/YVtoXTpoO2lmKCFqW2td
KXJldHVybjtpZihiKXtkPWM/altrXTpqW2tdLmRhdGE7aWYoZCl7Zi5pc0FycmF5
KGIpfHwoYiBpbiBkP2I9W2JdOihiPWYuY2FtZWxDYXNlKGIpLGIgaW4gZD9iPVti
XTpiPWIuc3BsaXQoIiAiKSkpO2ZvcihlPTAsZz1iLmxlbmd0aDtlPGc7ZSsrKWRl
bGV0ZSBkW2JbZV1dO2lmKCEoYz9tOmYuaXNFbXB0eU9iamVjdCkoZCkpcmV0dXJu
fX1pZighYyl7ZGVsZXRlIGpba10uZGF0YTtpZighbShqW2tdKSlyZXR1cm59Zi5z
dXBwb3J0LmRlbGV0ZUV4cGFuZG98fCFqLnNldEludGVydmFsP2RlbGV0ZSBqW2td
Ompba109bnVsbCxpJiYoZi5zdXBwb3J0LmRlbGV0ZUV4cGFuZG8/ZGVsZXRlIGFb
aF06YS5yZW1vdmVBdHRyaWJ1dGU/YS5yZW1vdmVBdHRyaWJ1dGUoaCk6YVtoXT1u
dWxsKX19LF9kYXRhOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZi5kYXRhKGEsYixj
LCEwKX0sYWNjZXB0RGF0YTpmdW5jdGlvbihhKXtpZihhLm5vZGVOYW1lKXt2YXIg
Yj1mLm5vRGF0YVthLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldO2lmKGIpcmV0dXJu
IGIhPT0hMCYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzaWQiKT09PWJ9cmV0dXJuITB9
fSksZi5mbi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24oYSxjKXt2YXIgZCxlLGcsaCxp
LGo9dGhpc1swXSxrPTAsbT1udWxsO2lmKGE9PT1iKXtpZih0aGlzLmxlbmd0aCl7
bT1mLmRhdGEoaik7aWYoai5ub2RlVHlwZT09PTEmJiFmLl9kYXRhKGosInBhcnNl
ZEF0dHJzIikpe2c9ai5hdHRyaWJ1dGVzO2ZvcihpPWcubGVuZ3RoO2s8aTtrKysp
aD1nW2tdLm5hbWUsaC5pbmRleE9mKCJkYXRhLSIpPT09MCYmKGg9Zi5jYW1lbENh
c2UoaC5zdWJzdHJpbmcoNSkpLGwoaixoLG1baF0pKTtmLl9kYXRhKGosInBhcnNl
ZEF0dHJzIiwhMCl9fXJldHVybiBtfWlmKHR5cGVvZiBhPT0ib2JqZWN0IilyZXR1
cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Zi5kYXRhKHRoaXMsYSl9KTtkPWEuc3Bs
aXQoIi4iLDIpLGRbMV09ZFsxXT8iLiIrZFsxXToiIixlPWRbMV0rIiEiO3JldHVy
biBmLmFjY2Vzcyh0aGlzLGZ1bmN0aW9uKGMpe2lmKGM9PT1iKXttPXRoaXMudHJp
Z2dlckhhbmRsZXIoImdldERhdGEiK2UsW2RbMF1dKSxtPT09YiYmaiYmKG09Zi5k
YXRhKGosYSksbT1sKGosYSxtKSk7cmV0dXJuIG09PT1iJiZkWzFdP3RoaXMuZGF0
YShkWzBdKTptfWRbMV09Yyx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1mKHRo
aXMpO2IudHJpZ2dlckhhbmRsZXIoInNldERhdGEiK2UsZCksZi5kYXRhKHRoaXMs
YSxjKSxiLnRyaWdnZXJIYW5kbGVyKCJjaGFuZ2VEYXRhIitlLGQpfSl9LG51bGws
Yyxhcmd1bWVudHMubGVuZ3RoPjEsbnVsbCwhMSl9LHJlbW92ZURhdGE6ZnVuY3Rp
b24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2YucmVtb3ZlRGF0YSh0
aGlzLGEpfSl9fSksZi5leHRlbmQoe19tYXJrOmZ1bmN0aW9uKGEsYil7YSYmKGI9
KGJ8fCJmeCIpKyJtYXJrIixmLl9kYXRhKGEsYiwoZi5fZGF0YShhLGIpfHwwKSsx
KSl9LF91bm1hcms6ZnVuY3Rpb24oYSxiLGMpe2EhPT0hMCYmKGM9YixiPWEsYT0h
MSk7aWYoYil7Yz1jfHwiZngiO3ZhciBkPWMrIm1hcmsiLGU9YT8wOihmLl9kYXRh
KGIsZCl8fDEpLTE7ZT9mLl9kYXRhKGIsZCxlKTooZi5yZW1vdmVEYXRhKGIsZCwh
MCksbihiLGMsIm1hcmsiKSl9fSxxdWV1ZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ7
aWYoYSl7Yj0oYnx8ImZ4IikrInF1ZXVlIixkPWYuX2RhdGEoYSxiKSxjJiYoIWR8
fGYuaXNBcnJheShjKT9kPWYuX2RhdGEoYSxiLGYubWFrZUFycmF5KGMpKTpkLnB1
c2goYykpO3JldHVybiBkfHxbXX19LGRlcXVldWU6ZnVuY3Rpb24oYSxiKXtiPWJ8
fCJmeCI7dmFyIGM9Zi5xdWV1ZShhLGIpLGQ9Yy5zaGlmdCgpLGU9e307ZD09PSJp
bnByb2dyZXNzIiYmKGQ9Yy5zaGlmdCgpKSxkJiYoYj09PSJmeCImJmMudW5zaGlm
dCgiaW5wcm9ncmVzcyIpLGYuX2RhdGEoYSxiKyIucnVuIixlKSxkLmNhbGwoYSxm
dW5jdGlvbigpe2YuZGVxdWV1ZShhLGIpfSxlKSksYy5sZW5ndGh8fChmLnJlbW92
ZURhdGEoYSxiKyJxdWV1ZSAiK2IrIi5ydW4iLCEwKSxuKGEsYiwicXVldWUiKSl9
fSksZi5mbi5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGEsYyl7dmFyIGQ9Mjt0eXBl
b2YgYSE9InN0cmluZyImJihjPWEsYT0iZngiLGQtLSk7aWYoYXJndW1lbnRzLmxl
bmd0aDxkKXJldHVybiBmLnF1ZXVlKHRoaXNbMF0sYSk7cmV0dXJuIGM9PT1iP3Ro
aXM6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9Zi5xdWV1ZSh0aGlzLGEsYyk7
YT09PSJmeCImJmJbMF0hPT0iaW5wcm9ncmVzcyImJmYuZGVxdWV1ZSh0aGlzLGEp
fSl9LGRlcXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlv
bigpe2YuZGVxdWV1ZSh0aGlzLGEpfSl9LGRlbGF5OmZ1bmN0aW9uKGEsYil7YT1m
LmZ4P2YuZnguc3BlZWRzW2FdfHxhOmEsYj1ifHwiZngiO3JldHVybiB0aGlzLnF1
ZXVlKGIsZnVuY3Rpb24oYixjKXt2YXIgZD1zZXRUaW1lb3V0KGIsYSk7Yy5zdG9w
PWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KGQpfX0pfSxjbGVhclF1ZXVlOmZ1bmN0
aW9uKGEpe3JldHVybiB0aGlzLnF1ZXVlKGF8fCJmeCIsW10pfSxwcm9taXNlOmZ1
bmN0aW9uKGEsYyl7ZnVuY3Rpb24gbSgpey0taHx8ZC5yZXNvbHZlV2l0aChlLFtl
XSl9dHlwZW9mIGEhPSJzdHJpbmciJiYoYz1hLGE9YiksYT1hfHwiZngiO3ZhciBk
PWYuRGVmZXJyZWQoKSxlPXRoaXMsZz1lLmxlbmd0aCxoPTEsaT1hKyJkZWZlciIs
aj1hKyJxdWV1ZSIsaz1hKyJtYXJrIixsO3doaWxlKGctLSlpZihsPWYuZGF0YShl
W2ddLGksYiwhMCl8fChmLmRhdGEoZVtnXSxqLGIsITApfHxmLmRhdGEoZVtnXSxr
LGIsITApKSYmZi5kYXRhKGVbZ10saSxmLkNhbGxiYWNrcygib25jZSBtZW1vcnki
KSwhMCkpaCsrLGwuYWRkKG0pO20oKTtyZXR1cm4gZC5wcm9taXNlKGMpfX0pO3Zh
ciBvPS9bXG5cdFxyXS9nLHA9L1xzKy8scT0vXHIvZyxyPS9eKD86YnV0dG9ufGlu
cHV0KSQvaSxzPS9eKD86YnV0dG9ufGlucHV0fG9iamVjdHxzZWxlY3R8dGV4dGFy
ZWEpJC9pLHQ9L15hKD86cmVhKT8kL2ksdT0vXig/OmF1dG9mb2N1c3xhdXRvcGxh
eXxhc3luY3xjaGVja2VkfGNvbnRyb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxs
b29wfG11bHRpcGxlfG9wZW58cmVhZG9ubHl8cmVxdWlyZWR8c2NvcGVkfHNlbGVj
dGVkKSQvaSx2PWYuc3VwcG9ydC5nZXRTZXRBdHRyaWJ1dGUsdyx4LHk7Zi5mbi5l
eHRlbmQoe2F0dHI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZi5hY2Nlc3ModGhpcyxm
LmF0dHIsYSxiLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHJlbW92ZUF0dHI6ZnVuY3Rp
b24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2YucmVtb3ZlQXR0cih0
aGlzLGEpfSl9LHByb3A6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZi5hY2Nlc3ModGhp
cyxmLnByb3AsYSxiLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHJlbW92ZVByb3A6ZnVu
Y3Rpb24oYSl7YT1mLnByb3BGaXhbYV18fGE7cmV0dXJuIHRoaXMuZWFjaChmdW5j
dGlvbigpe3RyeXt0aGlzW2FdPWIsZGVsZXRlIHRoaXNbYV19Y2F0Y2goYyl7fX0p
fSxhZGRDbGFzczpmdW5jdGlvbihhKXt2YXIgYixjLGQsZSxnLGgsaTtpZihmLmlz
RnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtmKHRoaXMp
LmFkZENsYXNzKGEuY2FsbCh0aGlzLGIsdGhpcy5jbGFzc05hbWUpKX0pO2lmKGEm
JnR5cGVvZiBhPT0ic3RyaW5nIil7Yj1hLnNwbGl0KHApO2ZvcihjPTAsZD10aGlz
Lmxlbmd0aDtjPGQ7YysrKXtlPXRoaXNbY107aWYoZS5ub2RlVHlwZT09PTEpaWYo
IWUuY2xhc3NOYW1lJiZiLmxlbmd0aD09PTEpZS5jbGFzc05hbWU9YTtlbHNle2c9
IiAiK2UuY2xhc3NOYW1lKyIgIjtmb3IoaD0wLGk9Yi5sZW5ndGg7aDxpO2grKyl+
Zy5pbmRleE9mKCIgIitiW2hdKyIgIil8fChnKz1iW2hdKyIgIik7ZS5jbGFzc05h
bWU9Zi50cmltKGcpfX19cmV0dXJuIHRoaXN9LHJlbW92ZUNsYXNzOmZ1bmN0aW9u
KGEpe3ZhciBjLGQsZSxnLGgsaSxqO2lmKGYuaXNGdW5jdGlvbihhKSlyZXR1cm4g
dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe2YodGhpcykucmVtb3ZlQ2xhc3MoYS5jYWxs
KHRoaXMsYix0aGlzLmNsYXNzTmFtZSkpfSk7aWYoYSYmdHlwZW9mIGE9PSJzdHJp
bmcifHxhPT09Yil7Yz0oYXx8IiIpLnNwbGl0KHApO2ZvcihkPTAsZT10aGlzLmxl
bmd0aDtkPGU7ZCsrKXtnPXRoaXNbZF07aWYoZy5ub2RlVHlwZT09PTEmJmcuY2xh
c3NOYW1lKWlmKGEpe2g9KCIgIitnLmNsYXNzTmFtZSsiICIpLnJlcGxhY2Uobywi
ICIpO2ZvcihpPTAsaj1jLmxlbmd0aDtpPGo7aSsrKWg9aC5yZXBsYWNlKCIgIitj
W2ldKyIgIiwiICIpO2cuY2xhc3NOYW1lPWYudHJpbShoKX1lbHNlIGcuY2xhc3NO
YW1lPSIifX1yZXR1cm4gdGhpc30sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24oYSxiKXt2
YXIgYz10eXBlb2YgYSxkPXR5cGVvZiBiPT0iYm9vbGVhbiI7aWYoZi5pc0Z1bmN0
aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYyl7Zih0aGlzKS50b2dn
bGVDbGFzcyhhLmNhbGwodGhpcyxjLHRoaXMuY2xhc3NOYW1lLGIpLGIpfSk7cmV0
dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2lmKGM9PT0ic3RyaW5nIil7dmFyIGUs
Zz0wLGg9Zih0aGlzKSxpPWIsaj1hLnNwbGl0KHApO3doaWxlKGU9altnKytdKWk9
ZD9pOiFoLmhhc0NsYXNzKGUpLGhbaT8iYWRkQ2xhc3MiOiJyZW1vdmVDbGFzcyJd
KGUpfWVsc2UgaWYoYz09PSJ1bmRlZmluZWQifHxjPT09ImJvb2xlYW4iKXRoaXMu
Y2xhc3NOYW1lJiZmLl9kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iLHRoaXMuY2xh
c3NOYW1lKSx0aGlzLmNsYXNzTmFtZT10aGlzLmNsYXNzTmFtZXx8YT09PSExPyIi
OmYuX2RhdGEodGhpcywiX19jbGFzc05hbWVfXyIpfHwiIn0pfSxoYXNDbGFzczpm
dW5jdGlvbihhKXt2YXIgYj0iICIrYSsiICIsYz0wLGQ9dGhpcy5sZW5ndGg7Zm9y
KDtjPGQ7YysrKWlmKHRoaXNbY10ubm9kZVR5cGU9PT0xJiYoIiAiK3RoaXNbY10u
Y2xhc3NOYW1lKyIgIikucmVwbGFjZShvLCIgIikuaW5kZXhPZihiKT4tMSlyZXR1
cm4hMDtyZXR1cm4hMX0sdmFsOmZ1bmN0aW9uKGEpe3ZhciBjLGQsZSxnPXRoaXNb
MF07e2lmKCEhYXJndW1lbnRzLmxlbmd0aCl7ZT1mLmlzRnVuY3Rpb24oYSk7cmV0
dXJuIHRoaXMuZWFjaChmdW5jdGlvbihkKXt2YXIgZz1mKHRoaXMpLGg7aWYodGhp
cy5ub2RlVHlwZT09PTEpe2U/aD1hLmNhbGwodGhpcyxkLGcudmFsKCkpOmg9YSxo
PT1udWxsP2g9IiI6dHlwZW9mIGg9PSJudW1iZXIiP2grPSIiOmYuaXNBcnJheSho
KSYmKGg9Zi5tYXAoaCxmdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD8iIjphKyIi
fSkpLGM9Zi52YWxIb29rc1t0aGlzLnR5cGVdfHxmLnZhbEhvb2tzW3RoaXMubm9k
ZU5hbWUudG9Mb3dlckNhc2UoKV07aWYoIWN8fCEoInNldCJpbiBjKXx8Yy5zZXQo
dGhpcyxoLCJ2YWx1ZSIpPT09Yil0aGlzLnZhbHVlPWh9fSl9aWYoZyl7Yz1mLnZh
bEhvb2tzW2cudHlwZV18fGYudmFsSG9va3NbZy5ub2RlTmFtZS50b0xvd2VyQ2Fz
ZSgpXTtpZihjJiYiZ2V0ImluIGMmJihkPWMuZ2V0KGcsInZhbHVlIikpIT09Yily
ZXR1cm4gZDtkPWcudmFsdWU7cmV0dXJuIHR5cGVvZiBkPT0ic3RyaW5nIj9kLnJl
cGxhY2UocSwiIik6ZD09bnVsbD8iIjpkfX19fSksZi5leHRlbmQoe3ZhbEhvb2tz
OntvcHRpb246e2dldDpmdW5jdGlvbihhKXt2YXIgYj1hLmF0dHJpYnV0ZXMudmFs
dWU7cmV0dXJuIWJ8fGIuc3BlY2lmaWVkP2EudmFsdWU6YS50ZXh0fX0sc2VsZWN0
OntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZz1hLnNlbGVjdGVkSW5kZXgs
aD1bXSxpPWEub3B0aW9ucyxqPWEudHlwZT09PSJzZWxlY3Qtb25lIjtpZihnPDAp
cmV0dXJuIG51bGw7Yz1qP2c6MCxkPWo/ZysxOmkubGVuZ3RoO2Zvcig7YzxkO2Mr
Kyl7ZT1pW2NdO2lmKGUuc2VsZWN0ZWQmJihmLnN1cHBvcnQub3B0RGlzYWJsZWQ/
IWUuZGlzYWJsZWQ6ZS5nZXRBdHRyaWJ1dGUoImRpc2FibGVkIik9PT1udWxsKSYm
KCFlLnBhcmVudE5vZGUuZGlzYWJsZWR8fCFmLm5vZGVOYW1lKGUucGFyZW50Tm9k
ZSwib3B0Z3JvdXAiKSkpe2I9ZihlKS52YWwoKTtpZihqKXJldHVybiBiO2gucHVz
aChiKX19aWYoaiYmIWgubGVuZ3RoJiZpLmxlbmd0aClyZXR1cm4gZihpW2ddKS52
YWwoKTtyZXR1cm4gaH0sc2V0OmZ1bmN0aW9uKGEsYil7dmFyIGM9Zi5tYWtlQXJy
YXkoYik7ZihhKS5maW5kKCJvcHRpb24iKS5lYWNoKGZ1bmN0aW9uKCl7dGhpcy5z
ZWxlY3RlZD1mLmluQXJyYXkoZih0aGlzKS52YWwoKSxjKT49MH0pLGMubGVuZ3Ro
fHwoYS5zZWxlY3RlZEluZGV4PS0xKTtyZXR1cm4gY319fSxhdHRyRm46e3ZhbDoh
MCxjc3M6ITAsaHRtbDohMCx0ZXh0OiEwLGRhdGE6ITAsd2lkdGg6ITAsaGVpZ2h0
OiEwLG9mZnNldDohMH0sYXR0cjpmdW5jdGlvbihhLGMsZCxlKXt2YXIgZyxoLGks
aj1hLm5vZGVUeXBlO2lmKCEhYSYmaiE9PTMmJmohPT04JiZqIT09Mil7aWYoZSYm
YyBpbiBmLmF0dHJGbilyZXR1cm4gZihhKVtjXShkKTtpZih0eXBlb2YgYS5nZXRB
dHRyaWJ1dGU9PSJ1bmRlZmluZWQiKXJldHVybiBmLnByb3AoYSxjLGQpO2k9aiE9
PTF8fCFmLmlzWE1MRG9jKGEpLGkmJihjPWMudG9Mb3dlckNhc2UoKSxoPWYuYXR0
ckhvb2tzW2NdfHwodS50ZXN0KGMpP3g6dykpO2lmKGQhPT1iKXtpZihkPT09bnVs
bCl7Zi5yZW1vdmVBdHRyKGEsYyk7cmV0dXJufWlmKGgmJiJzZXQiaW4gaCYmaSYm
KGc9aC5zZXQoYSxkLGMpKSE9PWIpcmV0dXJuIGc7YS5zZXRBdHRyaWJ1dGUoYywi
IitkKTtyZXR1cm4gZH1pZihoJiYiZ2V0ImluIGgmJmkmJihnPWguZ2V0KGEsYykp
IT09bnVsbClyZXR1cm4gZztnPWEuZ2V0QXR0cmlidXRlKGMpO3JldHVybiBnPT09
bnVsbD9iOmd9fSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGcs
aCxpPTA7aWYoYiYmYS5ub2RlVHlwZT09PTEpe2Q9Yi50b0xvd2VyQ2FzZSgpLnNw
bGl0KHApLGc9ZC5sZW5ndGg7Zm9yKDtpPGc7aSsrKWU9ZFtpXSxlJiYoYz1mLnBy
b3BGaXhbZV18fGUsaD11LnRlc3QoZSksaHx8Zi5hdHRyKGEsZSwiIiksYS5yZW1v
dmVBdHRyaWJ1dGUodj9lOmMpLGgmJmMgaW4gYSYmKGFbY109ITEpKX19LGF0dHJI
b29rczp7dHlwZTp7c2V0OmZ1bmN0aW9uKGEsYil7aWYoci50ZXN0KGEubm9kZU5h
bWUpJiZhLnBhcmVudE5vZGUpZi5lcnJvcigidHlwZSBwcm9wZXJ0eSBjYW4ndCBi
ZSBjaGFuZ2VkIik7ZWxzZSBpZighZi5zdXBwb3J0LnJhZGlvVmFsdWUmJmI9PT0i
cmFkaW8iJiZmLm5vZGVOYW1lKGEsImlucHV0Iikpe3ZhciBjPWEudmFsdWU7YS5z
ZXRBdHRyaWJ1dGUoInR5cGUiLGIpLGMmJihhLnZhbHVlPWMpO3JldHVybiBifX19
LHZhbHVlOntnZXQ6ZnVuY3Rpb24oYSxiKXtpZih3JiZmLm5vZGVOYW1lKGEsImJ1
dHRvbiIpKXJldHVybiB3LmdldChhLGIpO3JldHVybiBiIGluIGE/YS52YWx1ZTpu
dWxsfSxzZXQ6ZnVuY3Rpb24oYSxiLGMpe2lmKHcmJmYubm9kZU5hbWUoYSwiYnV0
dG9uIikpcmV0dXJuIHcuc2V0KGEsYixjKTthLnZhbHVlPWJ9fX0scHJvcEZpeDp7
dGFiaW5kZXg6InRhYkluZGV4IixyZWFkb25seToicmVhZE9ubHkiLCJmb3IiOiJo
dG1sRm9yIiwiY2xhc3MiOiJjbGFzc05hbWUiLG1heGxlbmd0aDoibWF4TGVuZ3Ro
IixjZWxsc3BhY2luZzoiY2VsbFNwYWNpbmciLGNlbGxwYWRkaW5nOiJjZWxsUGFk
ZGluZyIscm93c3Bhbjoicm93U3BhbiIsY29sc3BhbjoiY29sU3BhbiIsdXNlbWFw
OiJ1c2VNYXAiLGZyYW1lYm9yZGVyOiJmcmFtZUJvcmRlciIsY29udGVudGVkaXRh
YmxlOiJjb250ZW50RWRpdGFibGUifSxwcm9wOmZ1bmN0aW9uKGEsYyxkKXt2YXIg
ZSxnLGgsaT1hLm5vZGVUeXBlO2lmKCEhYSYmaSE9PTMmJmkhPT04JiZpIT09Mil7
aD1pIT09MXx8IWYuaXNYTUxEb2MoYSksaCYmKGM9Zi5wcm9wRml4W2NdfHxjLGc9
Zi5wcm9wSG9va3NbY10pO3JldHVybiBkIT09Yj9nJiYic2V0ImluIGcmJihlPWcu
c2V0KGEsZCxjKSkhPT1iP2U6YVtjXT1kOmcmJiJnZXQiaW4gZyYmKGU9Zy5nZXQo
YSxjKSkhPT1udWxsP2U6YVtjXX19LHByb3BIb29rczp7dGFiSW5kZXg6e2dldDpm
dW5jdGlvbihhKXt2YXIgYz1hLmdldEF0dHJpYnV0ZU5vZGUoInRhYmluZGV4Iik7
cmV0dXJuIGMmJmMuc3BlY2lmaWVkP3BhcnNlSW50KGMudmFsdWUsMTApOnMudGVz
dChhLm5vZGVOYW1lKXx8dC50ZXN0KGEubm9kZU5hbWUpJiZhLmhyZWY/MDpifX19
fSksZi5hdHRySG9va3MudGFiaW5kZXg9Zi5wcm9wSG9va3MudGFiSW5kZXgseD17
Z2V0OmZ1bmN0aW9uKGEsYyl7dmFyIGQsZT1mLnByb3AoYSxjKTtyZXR1cm4gZT09
PSEwfHx0eXBlb2YgZSE9ImJvb2xlYW4iJiYoZD1hLmdldEF0dHJpYnV0ZU5vZGUo
YykpJiZkLm5vZGVWYWx1ZSE9PSExP2MudG9Mb3dlckNhc2UoKTpifSxzZXQ6ZnVu
Y3Rpb24oYSxiLGMpe3ZhciBkO2I9PT0hMT9mLnJlbW92ZUF0dHIoYSxjKTooZD1m
LnByb3BGaXhbY118fGMsZCBpbiBhJiYoYVtkXT0hMCksYS5zZXRBdHRyaWJ1dGUo
YyxjLnRvTG93ZXJDYXNlKCkpKTtyZXR1cm4gY319LHZ8fCh5PXtuYW1lOiEwLGlk
OiEwLGNvb3JkczohMH0sdz1mLnZhbEhvb2tzLmJ1dHRvbj17Z2V0OmZ1bmN0aW9u
KGEsYyl7dmFyIGQ7ZD1hLmdldEF0dHJpYnV0ZU5vZGUoYyk7cmV0dXJuIGQmJih5
W2NdP2Qubm9kZVZhbHVlIT09IiI6ZC5zcGVjaWZpZWQpP2Qubm9kZVZhbHVlOmJ9
LHNldDpmdW5jdGlvbihhLGIsZCl7dmFyIGU9YS5nZXRBdHRyaWJ1dGVOb2RlKGQp
O2V8fChlPWMuY3JlYXRlQXR0cmlidXRlKGQpLGEuc2V0QXR0cmlidXRlTm9kZShl
KSk7cmV0dXJuIGUubm9kZVZhbHVlPWIrIiJ9fSxmLmF0dHJIb29rcy50YWJpbmRl
eC5zZXQ9dy5zZXQsZi5lYWNoKFsid2lkdGgiLCJoZWlnaHQiXSxmdW5jdGlvbihh
LGIpe2YuYXR0ckhvb2tzW2JdPWYuZXh0ZW5kKGYuYXR0ckhvb2tzW2JdLHtzZXQ6
ZnVuY3Rpb24oYSxjKXtpZihjPT09IiIpe2Euc2V0QXR0cmlidXRlKGIsImF1dG8i
KTtyZXR1cm4gY319fSl9KSxmLmF0dHJIb29rcy5jb250ZW50ZWRpdGFibGU9e2dl
dDp3LmdldCxzZXQ6ZnVuY3Rpb24oYSxiLGMpe2I9PT0iIiYmKGI9ImZhbHNlIiks
dy5zZXQoYSxiLGMpfX0pLGYuc3VwcG9ydC5ocmVmTm9ybWFsaXplZHx8Zi5lYWNo
KFsiaHJlZiIsInNyYyIsIndpZHRoIiwiaGVpZ2h0Il0sZnVuY3Rpb24oYSxjKXtm
LmF0dHJIb29rc1tjXT1mLmV4dGVuZChmLmF0dHJIb29rc1tjXSx7Z2V0OmZ1bmN0
aW9uKGEpe3ZhciBkPWEuZ2V0QXR0cmlidXRlKGMsMik7cmV0dXJuIGQ9PT1udWxs
P2I6ZH19KX0pLGYuc3VwcG9ydC5zdHlsZXx8KGYuYXR0ckhvb2tzLnN0eWxlPXtn
ZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc3R5bGUuY3NzVGV4dC50b0xvd2VyQ2Fz
ZSgpfHxifSxzZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5zdHlsZS5jc3NUZXh0
PSIiK2J9fSksZi5zdXBwb3J0Lm9wdFNlbGVjdGVkfHwoZi5wcm9wSG9va3Muc2Vs
ZWN0ZWQ9Zi5leHRlbmQoZi5wcm9wSG9va3Muc2VsZWN0ZWQse2dldDpmdW5jdGlv
bihhKXt2YXIgYj1hLnBhcmVudE5vZGU7YiYmKGIuc2VsZWN0ZWRJbmRleCxiLnBh
cmVudE5vZGUmJmIucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4KTtyZXR1cm4gbnVs
bH19KSksZi5zdXBwb3J0LmVuY3R5cGV8fChmLnByb3BGaXguZW5jdHlwZT0iZW5j
b2RpbmciKSxmLnN1cHBvcnQuY2hlY2tPbnx8Zi5lYWNoKFsicmFkaW8iLCJjaGVj
a2JveCJdLGZ1bmN0aW9uKCl7Zi52YWxIb29rc1t0aGlzXT17Z2V0OmZ1bmN0aW9u
KGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZSgidmFsdWUiKT09PW51bGw/Im9uIjph
LnZhbHVlfX19KSxmLmVhY2goWyJyYWRpbyIsImNoZWNrYm94Il0sZnVuY3Rpb24o
KXtmLnZhbEhvb2tzW3RoaXNdPWYuZXh0ZW5kKGYudmFsSG9va3NbdGhpc10se3Nl
dDpmdW5jdGlvbihhLGIpe2lmKGYuaXNBcnJheShiKSlyZXR1cm4gYS5jaGVja2Vk
PWYuaW5BcnJheShmKGEpLnZhbCgpLGIpPj0wfX0pfSk7dmFyIHo9L14oPzp0ZXh0
YXJlYXxpbnB1dHxzZWxlY3QpJC9pLEE9L14oW15cLl0qKT8oPzpcLiguKykpPyQv
LEI9Lyg/Ol58XHMpaG92ZXIoXC5cUyspP1xiLyxDPS9ea2V5LyxEPS9eKD86bW91
c2V8Y29udGV4dG1lbnUpfGNsaWNrLyxFPS9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vz
b3V0Ymx1cikkLyxGPS9eKFx3KikoPzojKFtcd1wtXSspKT8oPzpcLihbXHdcLV0r
KSk/JC8sRz1mdW5jdGlvbigKYSl7dmFyIGI9Ri5leGVjKGEpO2ImJihiWzFdPShi
WzFdfHwiIikudG9Mb3dlckNhc2UoKSxiWzNdPWJbM10mJm5ldyBSZWdFeHAoIig/
Ol58XFxzKSIrYlszXSsiKD86XFxzfCQpIikpO3JldHVybiBifSxIPWZ1bmN0aW9u
KGEsYil7dmFyIGM9YS5hdHRyaWJ1dGVzfHx7fTtyZXR1cm4oIWJbMV18fGEubm9k
ZU5hbWUudG9Mb3dlckNhc2UoKT09PWJbMV0pJiYoIWJbMl18fChjLmlkfHx7fSku
dmFsdWU9PT1iWzJdKSYmKCFiWzNdfHxiWzNdLnRlc3QoKGNbImNsYXNzIl18fHt9
KS52YWx1ZSkpfSxJPWZ1bmN0aW9uKGEpe3JldHVybiBmLmV2ZW50LnNwZWNpYWwu
aG92ZXI/YTphLnJlcGxhY2UoQiwibW91c2VlbnRlciQxIG1vdXNlbGVhdmUkMSIp
fTtmLmV2ZW50PXthZGQ6ZnVuY3Rpb24oYSxjLGQsZSxnKXt2YXIgaCxpLGosayxs
LG0sbixvLHAscSxyLHM7aWYoIShhLm5vZGVUeXBlPT09M3x8YS5ub2RlVHlwZT09
PTh8fCFjfHwhZHx8IShoPWYuX2RhdGEoYSkpKSl7ZC5oYW5kbGVyJiYocD1kLGQ9
cC5oYW5kbGVyLGc9cC5zZWxlY3RvciksZC5ndWlkfHwoZC5ndWlkPWYuZ3VpZCsr
KSxqPWguZXZlbnRzLGp8fChoLmV2ZW50cz1qPXt9KSxpPWguaGFuZGxlLGl8fCho
LmhhbmRsZT1pPWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgZiE9InVuZGVmaW5l
ZCImJighYXx8Zi5ldmVudC50cmlnZ2VyZWQhPT1hLnR5cGUpP2YuZXZlbnQuZGlz
cGF0Y2guYXBwbHkoaS5lbGVtLGFyZ3VtZW50cyk6Yn0saS5lbGVtPWEpLGM9Zi50
cmltKEkoYykpLnNwbGl0KCIgIik7Zm9yKGs9MDtrPGMubGVuZ3RoO2srKyl7bD1B
LmV4ZWMoY1trXSl8fFtdLG09bFsxXSxuPShsWzJdfHwiIikuc3BsaXQoIi4iKS5z
b3J0KCkscz1mLmV2ZW50LnNwZWNpYWxbbV18fHt9LG09KGc/cy5kZWxlZ2F0ZVR5
cGU6cy5iaW5kVHlwZSl8fG0scz1mLmV2ZW50LnNwZWNpYWxbbV18fHt9LG89Zi5l
eHRlbmQoe3R5cGU6bSxvcmlnVHlwZTpsWzFdLGRhdGE6ZSxoYW5kbGVyOmQsZ3Vp
ZDpkLmd1aWQsc2VsZWN0b3I6ZyxxdWljazpnJiZHKGcpLG5hbWVzcGFjZTpuLmpv
aW4oIi4iKX0scCkscj1qW21dO2lmKCFyKXtyPWpbbV09W10sci5kZWxlZ2F0ZUNv
dW50PTA7aWYoIXMuc2V0dXB8fHMuc2V0dXAuY2FsbChhLGUsbixpKT09PSExKWEu
YWRkRXZlbnRMaXN0ZW5lcj9hLmFkZEV2ZW50TGlzdGVuZXIobSxpLCExKTphLmF0
dGFjaEV2ZW50JiZhLmF0dGFjaEV2ZW50KCJvbiIrbSxpKX1zLmFkZCYmKHMuYWRk
LmNhbGwoYSxvKSxvLmhhbmRsZXIuZ3VpZHx8KG8uaGFuZGxlci5ndWlkPWQuZ3Vp
ZCkpLGc/ci5zcGxpY2Uoci5kZWxlZ2F0ZUNvdW50KyssMCxvKTpyLnB1c2gobyks
Zi5ldmVudC5nbG9iYWxbbV09ITB9YT1udWxsfX0sZ2xvYmFsOnt9LHJlbW92ZTpm
dW5jdGlvbihhLGIsYyxkLGUpe3ZhciBnPWYuaGFzRGF0YShhKSYmZi5fZGF0YShh
KSxoLGksaixrLGwsbSxuLG8scCxxLHIscztpZighIWcmJiEhKG89Zy5ldmVudHMp
KXtiPWYudHJpbShJKGJ8fCIiKSkuc3BsaXQoIiAiKTtmb3IoaD0wO2g8Yi5sZW5n
dGg7aCsrKXtpPUEuZXhlYyhiW2hdKXx8W10saj1rPWlbMV0sbD1pWzJdO2lmKCFq
KXtmb3IoaiBpbiBvKWYuZXZlbnQucmVtb3ZlKGEsaitiW2hdLGMsZCwhMCk7Y29u
dGludWV9cD1mLmV2ZW50LnNwZWNpYWxbal18fHt9LGo9KGQ/cC5kZWxlZ2F0ZVR5
cGU6cC5iaW5kVHlwZSl8fGoscj1vW2pdfHxbXSxtPXIubGVuZ3RoLGw9bD9uZXcg
UmVnRXhwKCIoXnxcXC4pIitsLnNwbGl0KCIuIikuc29ydCgpLmpvaW4oIlxcLig/
Oi4qXFwuKT8iKSsiKFxcLnwkKSIpOm51bGw7Zm9yKG49MDtuPHIubGVuZ3RoO24r
KylzPXJbbl0sKGV8fGs9PT1zLm9yaWdUeXBlKSYmKCFjfHxjLmd1aWQ9PT1zLmd1
aWQpJiYoIWx8fGwudGVzdChzLm5hbWVzcGFjZSkpJiYoIWR8fGQ9PT1zLnNlbGVj
dG9yfHxkPT09IioqIiYmcy5zZWxlY3RvcikmJihyLnNwbGljZShuLS0sMSkscy5z
ZWxlY3RvciYmci5kZWxlZ2F0ZUNvdW50LS0scC5yZW1vdmUmJnAucmVtb3ZlLmNh
bGwoYSxzKSk7ci5sZW5ndGg9PT0wJiZtIT09ci5sZW5ndGgmJigoIXAudGVhcmRv
d258fHAudGVhcmRvd24uY2FsbChhLGwpPT09ITEpJiZmLnJlbW92ZUV2ZW50KGEs
aixnLmhhbmRsZSksZGVsZXRlIG9bal0pfWYuaXNFbXB0eU9iamVjdChvKSYmKHE9
Zy5oYW5kbGUscSYmKHEuZWxlbT1udWxsKSxmLnJlbW92ZURhdGEoYSxbImV2ZW50
cyIsImhhbmRsZSJdLCEwKSl9fSxjdXN0b21FdmVudDp7Z2V0RGF0YTohMCxzZXRE
YXRhOiEwLGNoYW5nZURhdGE6ITB9LHRyaWdnZXI6ZnVuY3Rpb24oYyxkLGUsZyl7
aWYoIWV8fGUubm9kZVR5cGUhPT0zJiZlLm5vZGVUeXBlIT09OCl7dmFyIGg9Yy50
eXBlfHxjLGk9W10saixrLGwsbSxuLG8scCxxLHIscztpZihFLnRlc3QoaCtmLmV2
ZW50LnRyaWdnZXJlZCkpcmV0dXJuO2guaW5kZXhPZigiISIpPj0wJiYoaD1oLnNs
aWNlKDAsLTEpLGs9ITApLGguaW5kZXhPZigiLiIpPj0wJiYoaT1oLnNwbGl0KCIu
IiksaD1pLnNoaWZ0KCksaS5zb3J0KCkpO2lmKCghZXx8Zi5ldmVudC5jdXN0b21F
dmVudFtoXSkmJiFmLmV2ZW50Lmdsb2JhbFtoXSlyZXR1cm47Yz10eXBlb2YgYz09
Im9iamVjdCI/Y1tmLmV4cGFuZG9dP2M6bmV3IGYuRXZlbnQoaCxjKTpuZXcgZi5F
dmVudChoKSxjLnR5cGU9aCxjLmlzVHJpZ2dlcj0hMCxjLmV4Y2x1c2l2ZT1rLGMu
bmFtZXNwYWNlPWkuam9pbigiLiIpLGMubmFtZXNwYWNlX3JlPWMubmFtZXNwYWNl
P25ldyBSZWdFeHAoIihefFxcLikiK2kuam9pbigiXFwuKD86LipcXC4pPyIpKyIo
XFwufCQpIik6bnVsbCxvPWguaW5kZXhPZigiOiIpPDA/Im9uIitoOiIiO2lmKCFl
KXtqPWYuY2FjaGU7Zm9yKGwgaW4gailqW2xdLmV2ZW50cyYmaltsXS5ldmVudHNb
aF0mJmYuZXZlbnQudHJpZ2dlcihjLGQsaltsXS5oYW5kbGUuZWxlbSwhMCk7cmV0
dXJufWMucmVzdWx0PWIsYy50YXJnZXR8fChjLnRhcmdldD1lKSxkPWQhPW51bGw/
Zi5tYWtlQXJyYXkoZCk6W10sZC51bnNoaWZ0KGMpLHA9Zi5ldmVudC5zcGVjaWFs
W2hdfHx7fTtpZihwLnRyaWdnZXImJnAudHJpZ2dlci5hcHBseShlLGQpPT09ITEp
cmV0dXJuO3I9W1tlLHAuYmluZFR5cGV8fGhdXTtpZighZyYmIXAubm9CdWJibGUm
JiFmLmlzV2luZG93KGUpKXtzPXAuZGVsZWdhdGVUeXBlfHxoLG09RS50ZXN0KHMr
aCk/ZTplLnBhcmVudE5vZGUsbj1udWxsO2Zvcig7bTttPW0ucGFyZW50Tm9kZSly
LnB1c2goW20sc10pLG49bTtuJiZuPT09ZS5vd25lckRvY3VtZW50JiZyLnB1c2go
W24uZGVmYXVsdFZpZXd8fG4ucGFyZW50V2luZG93fHxhLHNdKX1mb3IobD0wO2w8
ci5sZW5ndGgmJiFjLmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7bCsrKW09cltsXVsw
XSxjLnR5cGU9cltsXVsxXSxxPShmLl9kYXRhKG0sImV2ZW50cyIpfHx7fSlbYy50
eXBlXSYmZi5fZGF0YShtLCJoYW5kbGUiKSxxJiZxLmFwcGx5KG0sZCkscT1vJiZt
W29dLHEmJmYuYWNjZXB0RGF0YShtKSYmcS5hcHBseShtLGQpPT09ITEmJmMucHJl
dmVudERlZmF1bHQoKTtjLnR5cGU9aCwhZyYmIWMuaXNEZWZhdWx0UHJldmVudGVk
KCkmJighcC5fZGVmYXVsdHx8cC5fZGVmYXVsdC5hcHBseShlLm93bmVyRG9jdW1l
bnQsZCk9PT0hMSkmJihoIT09ImNsaWNrInx8IWYubm9kZU5hbWUoZSwiYSIpKSYm
Zi5hY2NlcHREYXRhKGUpJiZvJiZlW2hdJiYoaCE9PSJmb2N1cyImJmghPT0iYmx1
ciJ8fGMudGFyZ2V0Lm9mZnNldFdpZHRoIT09MCkmJiFmLmlzV2luZG93KGUpJiYo
bj1lW29dLG4mJihlW29dPW51bGwpLGYuZXZlbnQudHJpZ2dlcmVkPWgsZVtoXSgp
LGYuZXZlbnQudHJpZ2dlcmVkPWIsbiYmKGVbb109bikpO3JldHVybiBjLnJlc3Vs
dH19LGRpc3BhdGNoOmZ1bmN0aW9uKGMpe2M9Zi5ldmVudC5maXgoY3x8YS5ldmVu
dCk7dmFyIGQ9KGYuX2RhdGEodGhpcywiZXZlbnRzIil8fHt9KVtjLnR5cGVdfHxb
XSxlPWQuZGVsZWdhdGVDb3VudCxnPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLDAp
LGg9IWMuZXhjbHVzaXZlJiYhYy5uYW1lc3BhY2UsaT1mLmV2ZW50LnNwZWNpYWxb
Yy50eXBlXXx8e30saj1bXSxrLGwsbSxuLG8scCxxLHIscyx0LHU7Z1swXT1jLGMu
ZGVsZWdhdGVUYXJnZXQ9dGhpcztpZighaS5wcmVEaXNwYXRjaHx8aS5wcmVEaXNw
YXRjaC5jYWxsKHRoaXMsYykhPT0hMSl7aWYoZSYmKCFjLmJ1dHRvbnx8Yy50eXBl
IT09ImNsaWNrIikpe249Zih0aGlzKSxuLmNvbnRleHQ9dGhpcy5vd25lckRvY3Vt
ZW50fHx0aGlzO2ZvcihtPWMudGFyZ2V0O20hPXRoaXM7bT1tLnBhcmVudE5vZGV8
fHRoaXMpaWYobS5kaXNhYmxlZCE9PSEwKXtwPXt9LHI9W10sblswXT1tO2Zvcihr
PTA7azxlO2srKylzPWRba10sdD1zLnNlbGVjdG9yLHBbdF09PT1iJiYocFt0XT1z
LnF1aWNrP0gobSxzLnF1aWNrKTpuLmlzKHQpKSxwW3RdJiZyLnB1c2gocyk7ci5s
ZW5ndGgmJmoucHVzaCh7ZWxlbTptLG1hdGNoZXM6cn0pfX1kLmxlbmd0aD5lJiZq
LnB1c2goe2VsZW06dGhpcyxtYXRjaGVzOmQuc2xpY2UoZSl9KTtmb3Ioaz0wO2s8
ai5sZW5ndGgmJiFjLmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7aysrKXtxPWpba10s
Yy5jdXJyZW50VGFyZ2V0PXEuZWxlbTtmb3IobD0wO2w8cS5tYXRjaGVzLmxlbmd0
aCYmIWMuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQoKTtsKyspe3M9cS5t
YXRjaGVzW2xdO2lmKGh8fCFjLm5hbWVzcGFjZSYmIXMubmFtZXNwYWNlfHxjLm5h
bWVzcGFjZV9yZSYmYy5uYW1lc3BhY2VfcmUudGVzdChzLm5hbWVzcGFjZSkpYy5k
YXRhPXMuZGF0YSxjLmhhbmRsZU9iaj1zLG89KChmLmV2ZW50LnNwZWNpYWxbcy5v
cmlnVHlwZV18fHt9KS5oYW5kbGV8fHMuaGFuZGxlcikuYXBwbHkocS5lbGVtLGcp
LG8hPT1iJiYoYy5yZXN1bHQ9byxvPT09ITEmJihjLnByZXZlbnREZWZhdWx0KCks
Yy5zdG9wUHJvcGFnYXRpb24oKSkpfX1pLnBvc3REaXNwYXRjaCYmaS5wb3N0RGlz
cGF0Y2guY2FsbCh0aGlzLGMpO3JldHVybiBjLnJlc3VsdH19LHByb3BzOiJhdHRy
Q2hhbmdlIGF0dHJOYW1lIHJlbGF0ZWROb2RlIHNyY0VsZW1lbnQgYWx0S2V5IGJ1
YmJsZXMgY2FuY2VsYWJsZSBjdHJsS2V5IGN1cnJlbnRUYXJnZXQgZXZlbnRQaGFz
ZSBtZXRhS2V5IHJlbGF0ZWRUYXJnZXQgc2hpZnRLZXkgdGFyZ2V0IHRpbWVTdGFt
cCB2aWV3IHdoaWNoIi5zcGxpdCgiICIpLGZpeEhvb2tzOnt9LGtleUhvb2tzOntw
cm9wczoiY2hhciBjaGFyQ29kZSBrZXkga2V5Q29kZSIuc3BsaXQoIiAiKSxmaWx0
ZXI6ZnVuY3Rpb24oYSxiKXthLndoaWNoPT1udWxsJiYoYS53aGljaD1iLmNoYXJD
b2RlIT1udWxsP2IuY2hhckNvZGU6Yi5rZXlDb2RlKTtyZXR1cm4gYX19LG1vdXNl
SG9va3M6e3Byb3BzOiJidXR0b24gYnV0dG9ucyBjbGllbnRYIGNsaWVudFkgZnJv
bUVsZW1lbnQgb2Zmc2V0WCBvZmZzZXRZIHBhZ2VYIHBhZ2VZIHNjcmVlblggc2Ny
ZWVuWSB0b0VsZW1lbnQiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0aW9uKGEsZCl7
dmFyIGUsZixnLGg9ZC5idXR0b24saT1kLmZyb21FbGVtZW50O2EucGFnZVg9PW51
bGwmJmQuY2xpZW50WCE9bnVsbCYmKGU9YS50YXJnZXQub3duZXJEb2N1bWVudHx8
YyxmPWUuZG9jdW1lbnRFbGVtZW50LGc9ZS5ib2R5LGEucGFnZVg9ZC5jbGllbnRY
KyhmJiZmLnNjcm9sbExlZnR8fGcmJmcuc2Nyb2xsTGVmdHx8MCktKGYmJmYuY2xp
ZW50TGVmdHx8ZyYmZy5jbGllbnRMZWZ0fHwwKSxhLnBhZ2VZPWQuY2xpZW50WSso
ZiYmZi5zY3JvbGxUb3B8fGcmJmcuc2Nyb2xsVG9wfHwwKS0oZiYmZi5jbGllbnRU
b3B8fGcmJmcuY2xpZW50VG9wfHwwKSksIWEucmVsYXRlZFRhcmdldCYmaSYmKGEu
cmVsYXRlZFRhcmdldD1pPT09YS50YXJnZXQ/ZC50b0VsZW1lbnQ6aSksIWEud2hp
Y2gmJmghPT1iJiYoYS53aGljaD1oJjE/MTpoJjI/MzpoJjQ/MjowKTtyZXR1cm4g
YX19LGZpeDpmdW5jdGlvbihhKXtpZihhW2YuZXhwYW5kb10pcmV0dXJuIGE7dmFy
IGQsZSxnPWEsaD1mLmV2ZW50LmZpeEhvb2tzW2EudHlwZV18fHt9LGk9aC5wcm9w
cz90aGlzLnByb3BzLmNvbmNhdChoLnByb3BzKTp0aGlzLnByb3BzO2E9Zi5FdmVu
dChnKTtmb3IoZD1pLmxlbmd0aDtkOyllPWlbLS1kXSxhW2VdPWdbZV07YS50YXJn
ZXR8fChhLnRhcmdldD1nLnNyY0VsZW1lbnR8fGMpLGEudGFyZ2V0Lm5vZGVUeXBl
PT09MyYmKGEudGFyZ2V0PWEudGFyZ2V0LnBhcmVudE5vZGUpLGEubWV0YUtleT09
PWImJihhLm1ldGFLZXk9YS5jdHJsS2V5KTtyZXR1cm4gaC5maWx0ZXI/aC5maWx0
ZXIoYSxnKTphfSxzcGVjaWFsOntyZWFkeTp7c2V0dXA6Zi5iaW5kUmVhZHl9LGxv
YWQ6e25vQnViYmxlOiEwfSxmb2N1czp7ZGVsZWdhdGVUeXBlOiJmb2N1c2luIn0s
Ymx1cjp7ZGVsZWdhdGVUeXBlOiJmb2N1c291dCJ9LGJlZm9yZXVubG9hZDp7c2V0
dXA6ZnVuY3Rpb24oYSxiLGMpe2YuaXNXaW5kb3codGhpcykmJih0aGlzLm9uYmVm
b3JldW5sb2FkPWMpfSx0ZWFyZG93bjpmdW5jdGlvbihhLGIpe3RoaXMub25iZWZv
cmV1bmxvYWQ9PT1iJiYodGhpcy5vbmJlZm9yZXVubG9hZD1udWxsKX19fSxzaW11
bGF0ZTpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1mLmV4dGVuZChuZXcgZi5FdmVu
dCxjLHt0eXBlOmEsaXNTaW11bGF0ZWQ6ITAsb3JpZ2luYWxFdmVudDp7fX0pO2Q/
Zi5ldmVudC50cmlnZ2VyKGUsbnVsbCxiKTpmLmV2ZW50LmRpc3BhdGNoLmNhbGwo
YixlKSxlLmlzRGVmYXVsdFByZXZlbnRlZCgpJiZjLnByZXZlbnREZWZhdWx0KCl9
fSxmLmV2ZW50LmhhbmRsZT1mLmV2ZW50LmRpc3BhdGNoLGYucmVtb3ZlRXZlbnQ9
Yy5yZW1vdmVFdmVudExpc3RlbmVyP2Z1bmN0aW9uKGEsYixjKXthLnJlbW92ZUV2
ZW50TGlzdGVuZXImJmEucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLGMsITEpfTpmdW5j
dGlvbihhLGIsYyl7YS5kZXRhY2hFdmVudCYmYS5kZXRhY2hFdmVudCgib24iK2Is
Yyl9LGYuRXZlbnQ9ZnVuY3Rpb24oYSxiKXtpZighKHRoaXMgaW5zdGFuY2VvZiBm
LkV2ZW50KSlyZXR1cm4gbmV3IGYuRXZlbnQoYSxiKTthJiZhLnR5cGU/KHRoaXMu
b3JpZ2luYWxFdmVudD1hLHRoaXMudHlwZT1hLnR5cGUsdGhpcy5pc0RlZmF1bHRQ
cmV2ZW50ZWQ9YS5kZWZhdWx0UHJldmVudGVkfHxhLnJldHVyblZhbHVlPT09ITF8
fGEuZ2V0UHJldmVudERlZmF1bHQmJmEuZ2V0UHJldmVudERlZmF1bHQoKT9LOkop
OnRoaXMudHlwZT1hLGImJmYuZXh0ZW5kKHRoaXMsYiksdGhpcy50aW1lU3RhbXA9
YSYmYS50aW1lU3RhbXB8fGYubm93KCksdGhpc1tmLmV4cGFuZG9dPSEwfSxmLkV2
ZW50LnByb3RvdHlwZT17cHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt0aGlzLmlz
RGVmYXVsdFByZXZlbnRlZD1LO3ZhciBhPXRoaXMub3JpZ2luYWxFdmVudDshYXx8
KGEucHJldmVudERlZmF1bHQ/YS5wcmV2ZW50RGVmYXVsdCgpOmEucmV0dXJuVmFs
dWU9ITEpfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt0aGlzLmlzUHJvcGFn
YXRpb25TdG9wcGVkPUs7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50OyFhfHwoYS5z
dG9wUHJvcGFnYXRpb24mJmEuc3RvcFByb3BhZ2F0aW9uKCksYS5jYW5jZWxCdWJi
bGU9ITApfSxzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt0aGlz
LmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkPUssdGhpcy5zdG9wUHJvcGFn
YXRpb24oKX0saXNEZWZhdWx0UHJldmVudGVkOkosaXNQcm9wYWdhdGlvblN0b3Bw
ZWQ6Sixpc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZDpKfSxmLmVhY2goe21v
dXNlZW50ZXI6Im1vdXNlb3ZlciIsbW91c2VsZWF2ZToibW91c2VvdXQifSxmdW5j
dGlvbihhLGIpe2YuZXZlbnQuc3BlY2lhbFthXT17ZGVsZWdhdGVUeXBlOmIsYmlu
ZFR5cGU6YixoYW5kbGU6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcyxkPWEucmVsYXRl
ZFRhcmdldCxlPWEuaGFuZGxlT2JqLGc9ZS5zZWxlY3RvcixoO2lmKCFkfHxkIT09
YyYmIWYuY29udGFpbnMoYyxkKSlhLnR5cGU9ZS5vcmlnVHlwZSxoPWUuaGFuZGxl
ci5hcHBseSh0aGlzLGFyZ3VtZW50cyksYS50eXBlPWI7cmV0dXJuIGh9fX0pLGYu
c3VwcG9ydC5zdWJtaXRCdWJibGVzfHwoZi5ldmVudC5zcGVjaWFsLnN1Ym1pdD17
c2V0dXA6ZnVuY3Rpb24oKXtpZihmLm5vZGVOYW1lKHRoaXMsImZvcm0iKSlyZXR1
cm4hMTtmLmV2ZW50LmFkZCh0aGlzLCJjbGljay5fc3VibWl0IGtleXByZXNzLl9z
dWJtaXQiLGZ1bmN0aW9uKGEpe3ZhciBjPWEudGFyZ2V0LGQ9Zi5ub2RlTmFtZShj
LCJpbnB1dCIpfHxmLm5vZGVOYW1lKGMsImJ1dHRvbiIpP2MuZm9ybTpiO2QmJiFk
Ll9zdWJtaXRfYXR0YWNoZWQmJihmLmV2ZW50LmFkZChkLCJzdWJtaXQuX3N1Ym1p
dCIsZnVuY3Rpb24oYSl7YS5fc3VibWl0X2J1YmJsZT0hMH0pLGQuX3N1Ym1pdF9h
dHRhY2hlZD0hMCl9KX0scG9zdERpc3BhdGNoOmZ1bmN0aW9uKGEpe2EuX3N1Ym1p
dF9idWJibGUmJihkZWxldGUgYS5fc3VibWl0X2J1YmJsZSx0aGlzLnBhcmVudE5v
ZGUmJiFhLmlzVHJpZ2dlciYmZi5ldmVudC5zaW11bGF0ZSgic3VibWl0Iix0aGlz
LnBhcmVudE5vZGUsYSwhMCkpfSx0ZWFyZG93bjpmdW5jdGlvbigpe2lmKGYubm9k
ZU5hbWUodGhpcywiZm9ybSIpKXJldHVybiExO2YuZXZlbnQucmVtb3ZlKHRoaXMs
Ii5fc3VibWl0Iil9fSksZi5zdXBwb3J0LmNoYW5nZUJ1YmJsZXN8fChmLmV2ZW50
LnNwZWNpYWwuY2hhbmdlPXtzZXR1cDpmdW5jdGlvbigpe2lmKHoudGVzdCh0aGlz
Lm5vZGVOYW1lKSl7aWYodGhpcy50eXBlPT09ImNoZWNrYm94Inx8dGhpcy50eXBl
PT09InJhZGlvIilmLmV2ZW50LmFkZCh0aGlzLCJwcm9wZXJ0eWNoYW5nZS5fY2hh
bmdlIixmdW5jdGlvbihhKXthLm9yaWdpbmFsRXZlbnQucHJvcGVydHlOYW1lPT09
ImNoZWNrZWQiJiYodGhpcy5fanVzdF9jaGFuZ2VkPSEwKX0pLGYuZXZlbnQuYWRk
KHRoaXMsImNsaWNrLl9jaGFuZ2UiLGZ1bmN0aW9uKGEpe3RoaXMuX2p1c3RfY2hh
bmdlZCYmIWEuaXNUcmlnZ2VyJiYodGhpcy5fanVzdF9jaGFuZ2VkPSExLGYuZXZl
bnQuc2ltdWxhdGUoImNoYW5nZSIsdGhpcyxhLCEwKSl9KTtyZXR1cm4hMX1mLmV2
ZW50LmFkZCh0aGlzLCJiZWZvcmVhY3RpdmF0ZS5fY2hhbmdlIixmdW5jdGlvbihh
KXt2YXIgYj1hLnRhcmdldDt6LnRlc3QoYi5ub2RlTmFtZSkmJiFiLl9jaGFuZ2Vf
YXR0YWNoZWQmJihmLmV2ZW50LmFkZChiLCJjaGFuZ2UuX2NoYW5nZSIsZnVuY3Rp
b24oYSl7dGhpcy5wYXJlbnROb2RlJiYhYS5pc1NpbXVsYXRlZCYmIWEuaXNUcmln
Z2VyJiZmLmV2ZW50LnNpbXVsYXRlKCJjaGFuZ2UiLHRoaXMucGFyZW50Tm9kZSxh
LCEwKX0pLGIuX2NoYW5nZV9hdHRhY2hlZD0hMCl9KX0saGFuZGxlOmZ1bmN0aW9u
KGEpe3ZhciBiPWEudGFyZ2V0O2lmKHRoaXMhPT1ifHxhLmlzU2ltdWxhdGVkfHxh
LmlzVHJpZ2dlcnx8Yi50eXBlIT09InJhZGlvIiYmYi50eXBlIT09ImNoZWNrYm94
IilyZXR1cm4gYS5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50
cyl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7Zi5ldmVudC5yZW1vdmUodGhpcywiLl9j
aGFuZ2UiKTtyZXR1cm4gei50ZXN0KHRoaXMubm9kZU5hbWUpfX0pLGYuc3VwcG9y
dC5mb2N1c2luQnViYmxlc3x8Zi5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoi
Zm9jdXNvdXQifSxmdW5jdGlvbihhLGIpe3ZhciBkPTAsZT1mdW5jdGlvbihhKXtm
LmV2ZW50LnNpbXVsYXRlKGIsYS50YXJnZXQsZi5ldmVudC5maXgoYSksITApfTtm
LmV2ZW50LnNwZWNpYWxbYl09e3NldHVwOmZ1bmN0aW9uKCl7ZCsrPT09MCYmYy5h
ZGRFdmVudExpc3RlbmVyKGEsZSwhMCl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7LS1k
PT09MCYmYy5yZW1vdmVFdmVudExpc3RlbmVyKGEsZSwhMCl9fX0pLGYuZm4uZXh0
ZW5kKHtvbjpmdW5jdGlvbihhLGMsZCxlLGcpe3ZhciBoLGk7aWYodHlwZW9mIGE9
PSJvYmplY3QiKXt0eXBlb2YgYyE9InN0cmluZyImJihkPWR8fGMsYz1iKTtmb3Io
aSBpbiBhKXRoaXMub24oaSxjLGQsYVtpXSxnKTtyZXR1cm4gdGhpc31kPT1udWxs
JiZlPT1udWxsPyhlPWMsZD1jPWIpOmU9PW51bGwmJih0eXBlb2YgYz09InN0cmlu
ZyI/KGU9ZCxkPWIpOihlPWQsZD1jLGM9YikpO2lmKGU9PT0hMSllPUo7ZWxzZSBp
ZighZSlyZXR1cm4gdGhpcztnPT09MSYmKGg9ZSxlPWZ1bmN0aW9uKGEpe2YoKS5v
ZmYoYSk7cmV0dXJuIGguYXBwbHkodGhpcyxhcmd1bWVudHMpfSxlLmd1aWQ9aC5n
dWlkfHwoaC5ndWlkPWYuZ3VpZCsrKSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlv
bigpe2YuZXZlbnQuYWRkKHRoaXMsYSxlLGQsYyl9KX0sb25lOmZ1bmN0aW9uKGEs
YixjLGQpe3JldHVybiB0aGlzLm9uKGEsYixjLGQsMSl9LG9mZjpmdW5jdGlvbihh
LGMsZCl7aWYoYSYmYS5wcmV2ZW50RGVmYXVsdCYmYS5oYW5kbGVPYmope3ZhciBl
PWEuaGFuZGxlT2JqO2YoYS5kZWxlZ2F0ZVRhcmdldCkub2ZmKGUubmFtZXNwYWNl
P2Uub3JpZ1R5cGUrIi4iK2UubmFtZXNwYWNlOmUub3JpZ1R5cGUsZS5zZWxlY3Rv
cixlLmhhbmRsZXIpO3JldHVybiB0aGlzfWlmKHR5cGVvZiBhPT0ib2JqZWN0Iil7
Zm9yKHZhciBnIGluIGEpdGhpcy5vZmYoZyxjLGFbZ10pO3JldHVybiB0aGlzfWlm
KGM9PT0hMXx8dHlwZW9mIGM9PSJmdW5jdGlvbiIpZD1jLGM9YjtkPT09ITEmJihk
PUopO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtmLmV2ZW50LnJlbW92ZSh0
aGlzLGEsZCxjKX0pfSxiaW5kOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdGhpcy5v
bihhLG51bGwsYixjKX0sdW5iaW5kOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMu
b2ZmKGEsbnVsbCxiKX0sbGl2ZTpmdW5jdGlvbihhLGIsYyl7Zih0aGlzLmNvbnRl
eHQpLm9uKGEsdGhpcy5zZWxlY3RvcixiLGMpO3JldHVybiB0aGlzfSxkaWU6ZnVu
Y3Rpb24oYSxiKXtmKHRoaXMuY29udGV4dCkub2ZmKGEsdGhpcy5zZWxlY3Rvcnx8
IioqIixiKTtyZXR1cm4gdGhpc30sZGVsZWdhdGU6ZnVuY3Rpb24oYSxiLGMsZCl7
cmV0dXJuIHRoaXMub24oYixhLGMsZCl9LHVuZGVsZWdhdGU6ZnVuY3Rpb24oYSxi
LGMpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPT0xP3RoaXMub2ZmKGEsIioqIik6
dGhpcy5vZmYoYixhLGMpfSx0cmlnZ2VyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRo
aXMuZWFjaChmdW5jdGlvbigpe2YuZXZlbnQudHJpZ2dlcihhLGIsdGhpcyl9KX0s
dHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oYSxiKXtpZih0aGlzWzBdKXJldHVybiBm
LmV2ZW50LnRyaWdnZXIoYSxiLHRoaXNbMF0sITApfSx0b2dnbGU6ZnVuY3Rpb24o
YSl7dmFyIGI9YXJndW1lbnRzLGM9YS5ndWlkfHxmLmd1aWQrKyxkPTAsZT1mdW5j
dGlvbihjKXt2YXIgZT0oZi5fZGF0YSh0aGlzLCJsYXN0VG9nZ2xlIithLmd1aWQp
fHwwKSVkO2YuX2RhdGEodGhpcywibGFzdFRvZ2dsZSIrYS5ndWlkLGUrMSksYy5w
cmV2ZW50RGVmYXVsdCgpO3JldHVybiBiW2VdLmFwcGx5KHRoaXMsYXJndW1lbnRz
KXx8ITF9O2UuZ3VpZD1jO3doaWxlKGQ8Yi5sZW5ndGgpYltkKytdLmd1aWQ9Yzty
ZXR1cm4gdGhpcy5jbGljayhlKX0saG92ZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4g
dGhpcy5tb3VzZWVudGVyKGEpLm1vdXNlbGVhdmUoYnx8YSl9fSksZi5lYWNoKCJi
bHVyIGZvY3VzIGZvY3VzaW4gZm9jdXNvdXQgbG9hZCByZXNpemUgc2Nyb2xsIHVu
bG9hZCBjbGljayBkYmxjbGljayBtb3VzZWRvd24gbW91c2V1cCBtb3VzZW1vdmUg
bW91c2VvdmVyIG1vdXNlb3V0IG1vdXNlZW50ZXIgbW91c2VsZWF2ZSBjaGFuZ2Ug
c2VsZWN0IHN1Ym1pdCBrZXlkb3duIGtleXByZXNzIGtleXVwIGVycm9yIGNvbnRl
eHRtZW51Ii5zcGxpdCgiICIpLGZ1bmN0aW9uKGEsYil7Zi5mbltiXT1mdW5jdGlv
bihhLGMpe2M9PW51bGwmJihjPWEsYT1udWxsKTtyZXR1cm4gYXJndW1lbnRzLmxl
bmd0aD4wP3RoaXMub24oYixudWxsLGEsYyk6dGhpcy50cmlnZ2VyKGIpfSxmLmF0
dHJGbiYmKGYuYXR0ckZuW2JdPSEwKSxDLnRlc3QoYikmJihmLmV2ZW50LmZpeEhv
b2tzW2JdPWYuZXZlbnQua2V5SG9va3MpLEQudGVzdChiKSYmKGYuZXZlbnQuZml4
SG9va3NbYl09Zi5ldmVudC5tb3VzZUhvb2tzKX0pLGZ1bmN0aW9uKCl7ZnVuY3Rp
b24geChhLGIsYyxlLGYsZyl7Zm9yKHZhciBoPTAsaT1lLmxlbmd0aDtoPGk7aCsr
KXt2YXIgaj1lW2hdO2lmKGope3ZhciBrPSExO2o9althXTt3aGlsZShqKXtpZihq
W2RdPT09Yyl7az1lW2ouc2l6c2V0XTticmVha31pZihqLm5vZGVUeXBlPT09MSl7
Z3x8KGpbZF09YyxqLnNpenNldD1oKTtpZih0eXBlb2YgYiE9InN0cmluZyIpe2lm
KGo9PT1iKXtrPSEwO2JyZWFrfX1lbHNlIGlmKG0uZmlsdGVyKGIsW2pdKS5sZW5n
dGg+MCl7az1qO2JyZWFrfX1qPWpbYV19ZVtoXT1rfX19ZnVuY3Rpb24gdyhhLGIs
YyxlLGYsZyl7Zm9yKHZhciBoPTAsaT1lLmxlbmd0aDtoPGk7aCsrKXt2YXIgaj1l
W2hdO2lmKGope3ZhciBrPSExO2o9althXTt3aGlsZShqKXtpZihqW2RdPT09Yyl7
az1lW2ouc2l6c2V0XTticmVha31qLm5vZGVUeXBlPT09MSYmIWcmJihqW2RdPWMs
ai5zaXpzZXQ9aCk7aWYoai5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09Yil7az1q
O2JyZWFrfWo9althXX1lW2hdPWt9fX12YXIgYT0vKCg/OlwoKD86XChbXigpXStc
KXxbXigpXSspK1wpfFxbKD86XFtbXlxbXF1dKlxdfFsnIl1bXiciXSpbJyJdfFte
XFtcXSciXSspK1xdfFxcLnxbXiA+K34sKFxbXFxdKykrfFs+K35dKShccyosXHMq
KT8oKD86LnxccnxcbikqKS9nLGQ9InNpemNhY2hlIisoTWF0aC5yYW5kb20oKSsi
IikucmVwbGFjZSgiLiIsIiIpLGU9MCxnPU9iamVjdC5wcm90b3R5cGUudG9TdHJp
bmcsaD0hMSxpPSEwLGo9L1xcL2csaz0vXHJcbi9nLGw9L1xXLztbMCwwXS5zb3J0
KGZ1bmN0aW9uKCl7aT0hMTtyZXR1cm4gMH0pO3ZhciBtPWZ1bmN0aW9uKGIsZCxl
LGYpe2U9ZXx8W10sZD1kfHxjO3ZhciBoPWQ7aWYoZC5ub2RlVHlwZSE9PTEmJmQu
bm9kZVR5cGUhPT05KXJldHVybltdO2lmKCFifHx0eXBlb2YgYiE9InN0cmluZyIp
cmV0dXJuIGU7dmFyIGksaixrLGwsbixxLHIsdCx1PSEwLHY9bS5pc1hNTChkKSx3
PVtdLHg9Yjtkb3thLmV4ZWMoIiIpLGk9YS5leGVjKHgpO2lmKGkpe3g9aVszXSx3
LnB1c2goaVsxXSk7aWYoaVsyXSl7bD1pWzNdO2JyZWFrfX19d2hpbGUoaSk7aWYo
dy5sZW5ndGg+MSYmcC5leGVjKGIpKWlmKHcubGVuZ3RoPT09MiYmby5yZWxhdGl2
ZVt3WzBdXSlqPXkod1swXSt3WzFdLGQsZik7ZWxzZXtqPW8ucmVsYXRpdmVbd1sw
XV0/W2RdOm0ody5zaGlmdCgpLGQpO3doaWxlKHcubGVuZ3RoKWI9dy5zaGlmdCgp
LG8ucmVsYXRpdmVbYl0mJihiKz13LnNoaWZ0KCkpLGo9eShiLGosZil9ZWxzZXsh
ZiYmdy5sZW5ndGg+MSYmZC5ub2RlVHlwZT09PTkmJiF2JiZvLm1hdGNoLklELnRl
c3Qod1swXSkmJiFvLm1hdGNoLklELnRlc3Qod1t3Lmxlbmd0aC0xXSkmJihuPW0u
ZmluZCh3LnNoaWZ0KCksZCx2KSxkPW4uZXhwcj9tLmZpbHRlcihuLmV4cHIsbi5z
ZXQpWzBdOm4uc2V0WzBdKTtpZihkKXtuPWY/e2V4cHI6dy5wb3AoKSxzZXQ6cyhm
KX06bS5maW5kKHcucG9wKCksdy5sZW5ndGg9PT0xJiYod1swXT09PSJ+Inx8d1sw
XT09PSIrIikmJmQucGFyZW50Tm9kZT9kLnBhcmVudE5vZGU6ZCx2KSxqPW4uZXhw
cj9tLmZpbHRlcihuLmV4cHIsbi5zZXQpOm4uc2V0LHcubGVuZ3RoPjA/az1zKGop
OnU9ITE7d2hpbGUody5sZW5ndGgpcT13LnBvcCgpLHI9cSxvLnJlbGF0aXZlW3Fd
P3I9dy5wb3AoKTpxPSIiLHI9PW51bGwmJihyPWQpLG8ucmVsYXRpdmVbcV0oayxy
LHYpfWVsc2Ugaz13PVtdfWt8fChrPWopLGt8fG0uZXJyb3IocXx8Yik7aWYoZy5j
YWxsKGspPT09IltvYmplY3QgQXJyYXldIilpZighdSllLnB1c2guYXBwbHkoZSxr
KTtlbHNlIGlmKGQmJmQubm9kZVR5cGU9PT0xKWZvcih0PTA7a1t0XSE9bnVsbDt0
Kyspa1t0XSYmKGtbdF09PT0hMHx8a1t0XS5ub2RlVHlwZT09PTEmJm0uY29udGFp
bnMoZCxrW3RdKSkmJmUucHVzaChqW3RdKTtlbHNlIGZvcih0PTA7a1t0XSE9bnVs
bDt0Kyspa1t0XSYma1t0XS5ub2RlVHlwZT09PTEmJmUucHVzaChqW3RdKTtlbHNl
IHMoayxlKTtsJiYobShsLGgsZSxmKSxtLnVuaXF1ZVNvcnQoZSkpO3JldHVybiBl
fTttLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24oYSl7aWYodSl7aD1pLGEuc29ydCh1KTtp
ZihoKWZvcih2YXIgYj0xO2I8YS5sZW5ndGg7YisrKWFbYl09PT1hW2ItMV0mJmEu
c3BsaWNlKGItLSwxKX1yZXR1cm4gYX0sbS5tYXRjaGVzPWZ1bmN0aW9uKGEsYil7
cmV0dXJuIG0oYSxudWxsLG51bGwsYil9LG0ubWF0Y2hlc1NlbGVjdG9yPWZ1bmN0
aW9uKGEsYil7cmV0dXJuIG0oYixudWxsLG51bGwsW2FdKS5sZW5ndGg+MH0sbS5m
aW5kPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoLGk7aWYoIWEpcmV0dXJu
W107Zm9yKGU9MCxmPW8ub3JkZXIubGVuZ3RoO2U8ZjtlKyspe2g9by5vcmRlcltl
XTtpZihnPW8ubGVmdE1hdGNoW2hdLmV4ZWMoYSkpe2k9Z1sxXSxnLnNwbGljZSgx
LDEpO2lmKGkuc3Vic3RyKGkubGVuZ3RoLTEpIT09IlxcIil7Z1sxXT0oZ1sxXXx8
IiIpLnJlcGxhY2UoaiwiIiksZD1vLmZpbmRbaF0oZyxiLGMpO2lmKGQhPW51bGwp
e2E9YS5yZXBsYWNlKG8ubWF0Y2hbaF0sIiIpO2JyZWFrfX19fWR8fChkPXR5cGVv
ZiBiLmdldEVsZW1lbnRzQnlUYWdOYW1lIT0idW5kZWZpbmVkIj9iLmdldEVsZW1l
bnRzQnlUYWdOYW1lKCIqIik6W10pO3JldHVybntzZXQ6ZCxleHByOmF9fSxtLmZp
bHRlcj1mdW5jdGlvbihhLGMsZCxlKXt2YXIgZixnLGgsaSxqLGssbCxuLHAscT1h
LHI9W10scz1jLHQ9YyYmY1swXSYmbS5pc1hNTChjWzBdKTt3aGlsZShhJiZjLmxl
bmd0aCl7Zm9yKGggaW4gby5maWx0ZXIpaWYoKGY9by5sZWZ0TWF0Y2hbaF0uZXhl
YyhhKSkhPW51bGwmJmZbMl0pe2s9by5maWx0ZXJbaF0sbD1mWzFdLGc9ITEsZi5z
cGxpY2UoMSwxKTtpZihsLnN1YnN0cihsLmxlbmd0aC0xKT09PSJcXCIpY29udGlu
dWU7cz09PXImJihyPVtdKTtpZihvLnByZUZpbHRlcltoXSl7Zj1vLnByZUZpbHRl
cltoXShmLHMsZCxyLGUsdCk7aWYoIWYpZz1pPSEwO2Vsc2UgaWYoZj09PSEwKWNv
bnRpbnVlfWlmKGYpZm9yKG49MDsoaj1zW25dKSE9bnVsbDtuKyspaiYmKGk9ayhq
LGYsbixzKSxwPWVeaSxkJiZpIT1udWxsP3A/Zz0hMDpzW25dPSExOnAmJihyLnB1
c2goaiksZz0hMCkpO2lmKGkhPT1iKXtkfHwocz1yKSxhPWEucmVwbGFjZShvLm1h
dGNoW2hdLCIiKTtpZighZylyZXR1cm5bXTticmVha319aWYoYT09PXEpaWYoZz09
bnVsbCltLmVycm9yKGEpO2Vsc2UgYnJlYWs7cT1hfXJldHVybiBzfSxtLmVycm9y
PWZ1bmN0aW9uKGEpe3Rocm93IG5ldyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJl
Y29nbml6ZWQgZXhwcmVzc2lvbjogIithKX07dmFyIG49bS5nZXRUZXh0PWZ1bmN0
aW9uKGEpe3ZhciBiLGMsZD1hLm5vZGVUeXBlLGU9IiI7aWYoZCl7aWYoZD09PTF8
fGQ9PT05fHxkPT09MTEpe2lmKHR5cGVvZiBhLnRleHRDb250ZW50PT0ic3RyaW5n
IilyZXR1cm4gYS50ZXh0Q29udGVudDtpZih0eXBlb2YgYS5pbm5lclRleHQ9PSJz
dHJpbmciKXJldHVybiBhLmlubmVyVGV4dC5yZXBsYWNlKGssIiIpO2ZvcihhPWEu
Zmlyc3RDaGlsZDthO2E9YS5uZXh0U2libGluZyllKz1uKGEpfWVsc2UgaWYoZD09
PTN8fGQ9PT00KXJldHVybiBhLm5vZGVWYWx1ZX1lbHNlIGZvcihiPTA7Yz1hW2Jd
O2IrKyljLm5vZGVUeXBlIT09OCYmKGUrPW4oYykpO3JldHVybiBlfSxvPW0uc2Vs
ZWN0b3JzPXtvcmRlcjpbIklEIiwiTkFNRSIsIlRBRyJdLG1hdGNoOntJRDovIygo
PzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKS8sQ0xBU1M6L1wuKCg/Oltcd1x1
MDBjMC1cdUZGRkZcLV18XFwuKSspLyxOQU1FOi9cW25hbWU9WyciXSooKD86W1x3
XHUwMGMwLVx1RkZGRlwtXXxcXC4pKylbJyJdKlxdLyxBVFRSOi9cW1xzKigoPzpb
XHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKVxzKig/OihcUz89KVxzKig/OihbJyJd
KSguKj8pXDN8KCM/KD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKil8KXwpXHMq
XF0vLFRBRzovXigoPzpbXHdcdTAwYzAtXHVGRkZGXCpcLV18XFwuKSspLyxDSElM
RDovOihvbmx5fG50aHxsYXN0fGZpcnN0KS1jaGlsZCg/OlwoXHMqKGV2ZW58b2Rk
fCg/OlsrXC1dP1xkK3woPzpbK1wtXT9cZCopP25ccyooPzpbK1wtXVxzKlxkKyk/
KSlccypcKSk/LyxQT1M6LzoobnRofGVxfGd0fGx0fGZpcnN0fGxhc3R8ZXZlbnxv
ZGQpKD86XCgoXGQqKVwpKT8oPz1bXlwtXXwkKS8sUFNFVURPOi86KCg/Oltcd1x1
MDBjMC1cdUZGRkZcLV18XFwuKSspKD86XCgoWyciXT8pKCg/OlwoW15cKV0rXCl8
W15cKFwpXSopKylcMlwpKT8vfSxsZWZ0TWF0Y2g6e30sYXR0ck1hcDp7ImNsYXNz
IjoiY2xhc3NOYW1lIiwiZm9yIjoiaHRtbEZvciJ9LGF0dHJIYW5kbGU6e2hyZWY6
ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZ2V0QXR0cmlidXRlKCJocmVmIil9LHR5cGU6
ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZ2V0QXR0cmlidXRlKCJ0eXBlIil9fSxyZWxh
dGl2ZTp7IisiOmZ1bmN0aW9uKGEsYil7dmFyIGM9dHlwZW9mIGI9PSJzdHJpbmci
LGQ9YyYmIWwudGVzdChiKSxlPWMmJiFkO2QmJihiPWIudG9Mb3dlckNhc2UoKSk7
Zm9yKHZhciBmPTAsZz1hLmxlbmd0aCxoO2Y8ZztmKyspaWYoaD1hW2ZdKXt3aGls
ZSgoaD1oLnByZXZpb3VzU2libGluZykmJmgubm9kZVR5cGUhPT0xKTthW2ZdPWV8
fGgmJmgubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWI/aHx8ITE6aD09PWJ9ZSYm
bS5maWx0ZXIoYixhLCEwKX0sIj4iOmZ1bmN0aW9uKGEsYil7dmFyIGMsZD10eXBl
b2YgYj09InN0cmluZyIsZT0wLGY9YS5sZW5ndGg7aWYoZCYmIWwudGVzdChiKSl7
Yj1iLnRvTG93ZXJDYXNlKCk7Zm9yKDtlPGY7ZSsrKXtjPWFbZV07aWYoYyl7dmFy
IGc9Yy5wYXJlbnROb2RlO2FbZV09Zy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09
Yj9nOiExfX19ZWxzZXtmb3IoO2U8ZjtlKyspYz1hW2VdLGMmJihhW2VdPWQ/Yy5w
YXJlbnROb2RlOmMucGFyZW50Tm9kZT09PWIpO2QmJm0uZmlsdGVyKGIsYSwhMCl9
fSwiIjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZj1lKyssZz14O3R5cGVvZiBiPT0i
c3RyaW5nIiYmIWwudGVzdChiKSYmKGI9Yi50b0xvd2VyQ2FzZSgpLGQ9YixnPXcp
LGcoInBhcmVudE5vZGUiLGIsZixhLGQsYyl9LCJ+IjpmdW5jdGlvbihhLGIsYyl7
dmFyIGQsZj1lKyssZz14O3R5cGVvZiBiPT0ic3RyaW5nIiYmIWwudGVzdChiKSYm
KGI9Yi50b0xvd2VyQ2FzZSgpLGQ9YixnPXcpLGcoInByZXZpb3VzU2libGluZyIs
YixmLGEsZCxjKX19LGZpbmQ6e0lEOmZ1bmN0aW9uKGEsYixjKXtpZih0eXBlb2Yg
Yi5nZXRFbGVtZW50QnlJZCE9InVuZGVmaW5lZCImJiFjKXt2YXIgZD1iLmdldEVs
ZW1lbnRCeUlkKGFbMV0pO3JldHVybiBkJiZkLnBhcmVudE5vZGU/W2RdOltdfX0s
TkFNRTpmdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBiLmdldEVsZW1lbnRzQnlOYW1l
IT0idW5kZWZpbmVkIil7dmFyIGM9W10sZD1iLmdldEVsZW1lbnRzQnlOYW1lKGFb
MV0pO2Zvcih2YXIgZT0wLGY9ZC5sZW5ndGg7ZTxmO2UrKylkW2VdLmdldEF0dHJp
YnV0ZSgibmFtZSIpPT09YVsxXSYmYy5wdXNoKGRbZV0pO3JldHVybiBjLmxlbmd0
aD09PTA/bnVsbDpjfX0sVEFHOmZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGIuZ2V0
RWxlbWVudHNCeVRhZ05hbWUhPSJ1bmRlZmluZWQiKXJldHVybiBiLmdldEVsZW1l
bnRzQnlUYWdOYW1lKGFbMV0pfX0scHJlRmlsdGVyOntDTEFTUzpmdW5jdGlvbihh
LGIsYyxkLGUsZil7YT0iICIrYVsxXS5yZXBsYWNlKGosIiIpKyIgIjtpZihmKXJl
dHVybiBhO2Zvcih2YXIgZz0wLGg7KGg9YltnXSkhPW51bGw7ZysrKWgmJihlXiho
LmNsYXNzTmFtZSYmKCIgIitoLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UoL1tcdFxu
XHJdL2csIiAiKS5pbmRleE9mKGEpPj0wKT9jfHxkLnB1c2goaCk6YyYmKGJbZ109
ITEpKTtyZXR1cm4hMX0sSUQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGFbMV0ucmVwbGFj
ZShqLCIiKX0sVEFHOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGFbMV0ucmVwbGFjZShq
LCIiKS50b0xvd2VyQ2FzZSgpfSxDSElMRDpmdW5jdGlvbihhKXtpZihhWzFdPT09
Im50aCIpe2FbMl18fG0uZXJyb3IoYVswXSksYVsyXT1hWzJdLnJlcGxhY2UoL15c
K3xccyovZywiIik7dmFyIGI9LygtPykoXGQqKSg/Om4oWytcLV0/XGQqKSk/Ly5l
eGVjKGFbMl09PT0iZXZlbiImJiIybiJ8fGFbMl09PT0ib2RkIiYmIjJuKzEifHwh
L1xELy50ZXN0KGFbMl0pJiYiMG4rIithWzJdfHxhWzJdKTthWzJdPWJbMV0rKGJb
Ml18fDEpLTAsYVszXT1iWzNdLTB9ZWxzZSBhWzJdJiZtLmVycm9yKGFbMF0pO2Fb
MF09ZSsrO3JldHVybiBhfSxBVFRSOmZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIg
Zz1hWzFdPWFbMV0ucmVwbGFjZShqLCIiKTshZiYmby5hdHRyTWFwW2ddJiYoYVsx
XT1vLmF0dHJNYXBbZ10pLGFbNF09KGFbNF18fGFbNV18fCIiKS5yZXBsYWNlKGos
IiIpLGFbMl09PT0ifj0iJiYoYVs0XT0iICIrYVs0XSsiICIpO3JldHVybiBhfSxQ
U0VVRE86ZnVuY3Rpb24oYixjLGQsZSxmKXtpZihiWzFdPT09Im5vdCIpaWYoKGEu
ZXhlYyhiWzNdKXx8IiIpLmxlbmd0aD4xfHwvXlx3Ly50ZXN0KGJbM10pKWJbM109
bShiWzNdLG51bGwsbnVsbCxjKTtlbHNle3ZhciBnPW0uZmlsdGVyKGJbM10sYyxk
LCEwXmYpO2R8fGUucHVzaC5hcHBseShlLGcpO3JldHVybiExfWVsc2UgaWYoby5t
YXRjaC5QT1MudGVzdChiWzBdKXx8by5tYXRjaC5DSElMRC50ZXN0KGJbMF0pKXJl
dHVybiEwO3JldHVybiBifSxQT1M6ZnVuY3Rpb24oYSl7YS51bnNoaWZ0KCEwKTty
ZXR1cm4gYX19LGZpbHRlcnM6e2VuYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEu
ZGlzYWJsZWQ9PT0hMSYmYS50eXBlIT09ImhpZGRlbiJ9LGRpc2FibGVkOmZ1bmN0
aW9uKGEpe3JldHVybiBhLmRpc2FibGVkPT09ITB9LGNoZWNrZWQ6ZnVuY3Rpb24o
YSl7cmV0dXJuIGEuY2hlY2tlZD09PSEwfSxzZWxlY3RlZDpmdW5jdGlvbihhKXth
LnBhcmVudE5vZGUmJmEucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4O3JldHVybiBh
LnNlbGVjdGVkPT09ITB9LHBhcmVudDpmdW5jdGlvbihhKXtyZXR1cm4hIWEuZmly
c3RDaGlsZH0sZW1wdHk6ZnVuY3Rpb24oYSl7cmV0dXJuIWEuZmlyc3RDaGlsZH0s
aGFzOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4hIW0oY1szXSxhKS5sZW5ndGh9LGhl
YWRlcjpmdW5jdGlvbihhKXtyZXR1cm4vaFxkL2kudGVzdChhLm5vZGVOYW1lKX0s
dGV4dDpmdW5jdGlvbihhKXt2YXIgYj1hLmdldEF0dHJpYnV0ZSgidHlwZSIpLGM9
YS50eXBlO3JldHVybiBhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT0iaW5wdXQi
JiYidGV4dCI9PT1jJiYoYj09PWN8fGI9PT1udWxsKX0scmFkaW86ZnVuY3Rpb24o
YSl7cmV0dXJuIGEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PSJpbnB1dCImJiJy
YWRpbyI9PT1hLnR5cGV9LGNoZWNrYm94OmZ1bmN0aW9uKGEpe3JldHVybiBhLm5v
ZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT0iaW5wdXQiJiYiY2hlY2tib3giPT09YS50
eXBlfSxmaWxlOmZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGVOYW1lLnRvTG93ZXJD
YXNlKCk9PT0iaW5wdXQiJiYiZmlsZSI9PT1hLnR5cGV9LHBhc3N3b3JkOmZ1bmN0
aW9uKGEpe3JldHVybiBhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT0iaW5wdXQi
JiYicGFzc3dvcmQiPT09YS50eXBlfSxzdWJtaXQ6ZnVuY3Rpb24oYSl7dmFyIGI9
YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybihiPT09ImlucHV0Inx8Yj09
PSJidXR0b24iKSYmInN1Ym1pdCI9PT1hLnR5cGV9LGltYWdlOmZ1bmN0aW9uKGEp
e3JldHVybiBhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT0iaW5wdXQiJiYiaW1h
Z2UiPT09YS50eXBlfSxyZXNldDpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1l
LnRvTG93ZXJDYXNlKCk7cmV0dXJuKGI9PT0iaW5wdXQifHxiPT09ImJ1dHRvbiIp
JiYicmVzZXQiPT09YS50eXBlfSxidXR0b246ZnVuY3Rpb24oYSl7dmFyIGI9YS5u
b2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiBiPT09ImlucHV0IiYmImJ1dHRv
biI9PT1hLnR5cGV8fGI9PT0iYnV0dG9uIn0saW5wdXQ6ZnVuY3Rpb24oYSl7cmV0
dXJuL2lucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24vaS50ZXN0KGEubm9kZU5h
bWUpfSxmb2N1czpmdW5jdGlvbihhKXtyZXR1cm4gYT09PWEub3duZXJEb2N1bWVu
dC5hY3RpdmVFbGVtZW50fX0sc2V0RmlsdGVyczp7Zmlyc3Q6ZnVuY3Rpb24oYSxi
KXtyZXR1cm4gYj09PTB9LGxhc3Q6ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIGI9
PT1kLmxlbmd0aC0xfSxldmVuOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGIlMj09PTB9
LG9kZDpmdW5jdGlvbihhLGIpe3JldHVybiBiJTI9PT0xfSxsdDpmdW5jdGlvbihh
LGIsYyl7cmV0dXJuIGI8Y1szXS0wfSxndDpmdW5jdGlvbihhLGIsYyl7cmV0dXJu
IGI+Y1szXS0wfSxudGg6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjWzNdLTA9PT1i
fSxlcTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGNbM10tMD09PWJ9fSxmaWx0ZXI6
e1BTRVVETzpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1iWzFdLGY9by5maWx0ZXJz
W2VdO2lmKGYpcmV0dXJuIGYoYSxjLGIsZCk7aWYoZT09PSJjb250YWlucyIpcmV0
dXJuKGEudGV4dENvbnRlbnR8fGEuaW5uZXJUZXh0fHxuKFthXSl8fCIiKS5pbmRl
eE9mKGJbM10pPj0wO2lmKGU9PT0ibm90Iil7dmFyIGc9YlszXTtmb3IodmFyIGg9
MCxpPWcubGVuZ3RoO2g8aTtoKyspaWYoZ1toXT09PWEpcmV0dXJuITE7cmV0dXJu
ITB9bS5lcnJvcihlKX0sQ0hJTEQ6ZnVuY3Rpb24oYSxiKXt2YXIgYyxlLGYsZyxo
LGksaixrPWJbMV0sbD1hO3N3aXRjaChrKXtjYXNlIm9ubHkiOmNhc2UiZmlyc3Qi
OndoaWxlKGw9bC5wcmV2aW91c1NpYmxpbmcpaWYobC5ub2RlVHlwZT09PTEpcmV0
dXJuITE7aWYoaz09PSJmaXJzdCIpcmV0dXJuITA7bD1hO2Nhc2UibGFzdCI6d2hp
bGUobD1sLm5leHRTaWJsaW5nKWlmKGwubm9kZVR5cGU9PT0xKXJldHVybiExO3Jl
dHVybiEwO2Nhc2UibnRoIjpjPWJbMl0sZT1iWzNdO2lmKGM9PT0xJiZlPT09MCly
ZXR1cm4hMDtmPWJbMF0sZz1hLnBhcmVudE5vZGU7aWYoZyYmKGdbZF0hPT1mfHwh
YS5ub2RlSW5kZXgpKXtpPTA7Zm9yKGw9Zy5maXJzdENoaWxkO2w7bD1sLm5leHRT
aWJsaW5nKWwubm9kZVR5cGU9PT0xJiYobC5ub2RlSW5kZXg9KytpKTtnW2RdPWZ9
aj1hLm5vZGVJbmRleC1lO3JldHVybiBjPT09MD9qPT09MDpqJWM9PT0wJiZqL2M+
PTB9fSxJRDpmdW5jdGlvbihhLGIpe3JldHVybiBhLm5vZGVUeXBlPT09MSYmYS5n
ZXRBdHRyaWJ1dGUoImlkIik9PT1ifSxUQUc6ZnVuY3Rpb24oYSxiKXtyZXR1cm4g
Yj09PSIqIiYmYS5ub2RlVHlwZT09PTF8fCEhYS5ub2RlTmFtZSYmYS5ub2RlTmFt
ZS50b0xvd2VyQ2FzZSgpPT09Yn0sQ0xBU1M6ZnVuY3Rpb24oYSxiKXtyZXR1cm4o
IiAiKyhhLmNsYXNzTmFtZXx8YS5nZXRBdHRyaWJ1dGUoImNsYXNzIikpKyIgIiku
aW5kZXhPZihiKT4tMX0sQVRUUjpmdW5jdGlvbihhLGIpe3ZhciBjPWJbMV0sZD1t
LmF0dHI/bS5hdHRyKGEsYyk6by5hdHRySGFuZGxlW2NdP28uYXR0ckhhbmRsZVtj
XShhKTphW2NdIT1udWxsP2FbY106YS5nZXRBdHRyaWJ1dGUoYyksZT1kKyIiLGY9
YlsyXSxnPWJbNF07cmV0dXJuIGQ9PW51bGw/Zj09PSIhPSI6IWYmJm0uYXR0cj9k
IT1udWxsOmY9PT0iPSI/ZT09PWc6Zj09PSIqPSI/ZS5pbmRleE9mKGcpPj0wOmY9
PT0ifj0iPygiICIrZSsiICIpLmluZGV4T2YoZyk+PTA6Zz9mPT09IiE9Ij9lIT09
ZzpmPT09Il49Ij9lLmluZGV4T2YoZyk9PT0wOmY9PT0iJD0iP2Uuc3Vic3RyKGUu
bGVuZ3RoLWcubGVuZ3RoKT09PWc6Zj09PSJ8PSI/ZT09PWd8fGUuc3Vic3RyKDAs
Zy5sZW5ndGgrMSk9PT1nKyItIjohMTplJiZkIT09ITF9LFBPUzpmdW5jdGlvbihh
LGIsYyxkKXt2YXIgZT1iWzJdLGY9by5zZXRGaWx0ZXJzW2VdO2lmKGYpcmV0dXJu
IGYoYSxjLGIsZCl9fX0scD1vLm1hdGNoLlBPUyxxPWZ1bmN0aW9uKGEsYil7cmV0
dXJuIlxcIisoYi0wKzEpfTtmb3IodmFyIHIgaW4gby5tYXRjaClvLm1hdGNoW3Jd
PW5ldyBSZWdFeHAoby5tYXRjaFtyXS5zb3VyY2UrLyg/IVteXFtdKlxdKSg/IVte
XChdKlwpKS8uc291cmNlKSxvLmxlZnRNYXRjaFtyXT1uZXcgUmVnRXhwKC8oXig/
Oi58XHJ8XG4pKj8pLy5zb3VyY2Urby5tYXRjaFtyXS5zb3VyY2UucmVwbGFjZSgv
XFwoXGQrKS9nLHEpKTtvLm1hdGNoLmdsb2JhbFBPUz1wO3ZhciBzPWZ1bmN0aW9u
KGEsYil7YT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhLDApO2lmKGIpe2Iu
cHVzaC5hcHBseShiLGEpO3JldHVybiBifXJldHVybiBhfTt0cnl7QXJyYXkucHJv
dG90eXBlLnNsaWNlLmNhbGwoYy5kb2N1bWVudEVsZW1lbnQuY2hpbGROb2Rlcyww
KVswXS5ub2RlVHlwZX1jYXRjaCh0KXtzPWZ1bmN0aW9uKGEsYil7dmFyIGM9MCxk
PWJ8fFtdO2lmKGcuY2FsbChhKT09PSJbb2JqZWN0IEFycmF5XSIpQXJyYXkucHJv
dG90eXBlLnB1c2guYXBwbHkoZCxhKTtlbHNlIGlmKHR5cGVvZiBhLmxlbmd0aD09
Im51bWJlciIpZm9yKHZhciBlPWEubGVuZ3RoO2M8ZTtjKyspZC5wdXNoKGFbY10p
O2Vsc2UgZm9yKDthW2NdO2MrKylkLnB1c2goYVtjXSk7cmV0dXJuIGR9fXZhciB1
LHY7Yy5kb2N1bWVudEVsZW1lbnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24/dT1m
dW5jdGlvbihhLGIpe2lmKGE9PT1iKXtoPSEwO3JldHVybiAwfWlmKCFhLmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9ufHwhYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbily
ZXR1cm4gYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj8tMToxO3JldHVybiBhLmNv
bXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpJjQ/LTE6MX06KHU9ZnVuY3Rpb24oYSxi
KXtpZihhPT09Yil7aD0hMDtyZXR1cm4gMH1pZihhLnNvdXJjZUluZGV4JiZiLnNv
dXJjZUluZGV4KXJldHVybiBhLnNvdXJjZUluZGV4LWIuc291cmNlSW5kZXg7dmFy
IGMsZCxlPVtdLGY9W10sZz1hLnBhcmVudE5vZGUsaT1iLnBhcmVudE5vZGUsaj1n
O2lmKGc9PT1pKXJldHVybiB2KGEsYik7aWYoIWcpcmV0dXJuLTE7aWYoIWkpcmV0
dXJuIDE7d2hpbGUoaillLnVuc2hpZnQoaiksaj1qLnBhcmVudE5vZGU7aj1pO3do
aWxlKGopZi51bnNoaWZ0KGopLGo9ai5wYXJlbnROb2RlO2M9ZS5sZW5ndGgsZD1m
Lmxlbmd0aDtmb3IodmFyIGs9MDtrPGMmJms8ZDtrKyspaWYoZVtrXSE9PWZba10p
cmV0dXJuIHYoZVtrXSxmW2tdKTtyZXR1cm4gaz09PWM/dihhLGZba10sLTEpOnYo
ZVtrXSxiLDEpfSx2PWZ1bmN0aW9uKGEsYixjKXtpZihhPT09YilyZXR1cm4gYzt2
YXIgZD1hLm5leHRTaWJsaW5nO3doaWxlKGQpe2lmKGQ9PT1iKXJldHVybi0xO2Q9
ZC5uZXh0U2libGluZ31yZXR1cm4gMX0pLGZ1bmN0aW9uKCl7dmFyIGE9Yy5jcmVh
dGVFbGVtZW50KCJkaXYiKSxkPSJzY3JpcHQiKyhuZXcgRGF0ZSkuZ2V0VGltZSgp
LGU9Yy5kb2N1bWVudEVsZW1lbnQ7YS5pbm5lckhUTUw9IjxhIG5hbWU9JyIrZCsi
Jy8+IixlLmluc2VydEJlZm9yZShhLGUuZmlyc3RDaGlsZCksYy5nZXRFbGVtZW50
QnlJZChkKSYmKG8uZmluZC5JRD1mdW5jdGlvbihhLGMsZCl7aWYodHlwZW9mIGMu
Z2V0RWxlbWVudEJ5SWQhPSJ1bmRlZmluZWQiJiYhZCl7dmFyIGU9Yy5nZXRFbGVt
ZW50QnlJZChhWzFdKTtyZXR1cm4gZT9lLmlkPT09YVsxXXx8dHlwZW9mIGUuZ2V0
QXR0cmlidXRlTm9kZSE9InVuZGVmaW5lZCImJmUuZ2V0QXR0cmlidXRlTm9kZSgi
aWQiKS5ub2RlVmFsdWU9PT1hWzFdP1tlXTpiOltdfX0sby5maWx0ZXIuSUQ9ZnVu
Y3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYS5nZXRBdHRyaWJ1dGVOb2RlIT0idW5k
ZWZpbmVkIiYmYS5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpO3JldHVybiBhLm5vZGVU
eXBlPT09MSYmYyYmYy5ub2RlVmFsdWU9PT1ifSksZS5yZW1vdmVDaGlsZChhKSxl
PWE9bnVsbH0oKSxmdW5jdGlvbigpe3ZhciBhPWMuY3JlYXRlRWxlbWVudCgiZGl2
Iik7YS5hcHBlbmRDaGlsZChjLmNyZWF0ZUNvbW1lbnQoIiIpKSxhLmdldEVsZW1l
bnRzQnlUYWdOYW1lKCIqIikubGVuZ3RoPjAmJihvLmZpbmQuVEFHPWZ1bmN0aW9u
KGEsYil7dmFyIGM9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZShhWzFdKTtpZihhWzFd
PT09IioiKXt2YXIgZD1bXTtmb3IodmFyIGU9MDtjW2VdO2UrKyljW2VdLm5vZGVU
eXBlPT09MSYmZC5wdXNoKGNbZV0pO2M9ZH1yZXR1cm4gY30pLGEuaW5uZXJIVE1M
PSI8YSBocmVmPScjJz48L2E+IixhLmZpcnN0Q2hpbGQmJnR5cGVvZiBhLmZpcnN0
Q2hpbGQuZ2V0QXR0cmlidXRlIT0idW5kZWZpbmVkIiYmYS5maXJzdENoaWxkLmdl
dEF0dHJpYnV0ZSgiaHJlZiIpIT09IiMiJiYoby5hdHRySGFuZGxlLmhyZWY9ZnVu
Y3Rpb24oYSl7cmV0dXJuIGEuZ2V0QXR0cmlidXRlKCJocmVmIiwyKX0pLGE9bnVs
bH0oKSxjLnF1ZXJ5U2VsZWN0b3JBbGwmJmZ1bmN0aW9uKCl7dmFyIGE9bSxiPWMu
Y3JlYXRlRWxlbWVudCgiZGl2IiksZD0iX19zaXp6bGVfXyI7Yi5pbm5lckhUTUw9
IjxwIGNsYXNzPSdURVNUJz48L3A+IjtpZighYi5xdWVyeVNlbGVjdG9yQWxsfHxi
LnF1ZXJ5U2VsZWN0b3JBbGwoIi5URVNUIikubGVuZ3RoIT09MCl7bT1mdW5jdGlv
bihiLGUsZixnKXtlPWV8fGM7aWYoIWcmJiFtLmlzWE1MKGUpKXt2YXIgaD0vXihc
dyskKXxeXC4oW1x3XC1dKyQpfF4jKFtcd1wtXSskKS8uZXhlYyhiKTtpZihoJiYo
ZS5ub2RlVHlwZT09PTF8fGUubm9kZVR5cGU9PT05KSl7aWYoaFsxXSlyZXR1cm4g
cyhlLmdldEVsZW1lbnRzQnlUYWdOYW1lKGIpLGYpO2lmKGhbMl0mJm8uZmluZC5D
TEFTUyYmZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKXJldHVybiBzKGUuZ2V0RWxl
bWVudHNCeUNsYXNzTmFtZShoWzJdKSxmKX1pZihlLm5vZGVUeXBlPT09OSl7aWYo
Yj09PSJib2R5IiYmZS5ib2R5KXJldHVybiBzKFtlLmJvZHldLGYpO2lmKGgmJmhb
M10pe3ZhciBpPWUuZ2V0RWxlbWVudEJ5SWQoaFszXSk7aWYoIWl8fCFpLnBhcmVu
dE5vZGUpcmV0dXJuIHMoW10sZik7aWYoaS5pZD09PWhbM10pcmV0dXJuIHMoW2ld
LGYpfXRyeXtyZXR1cm4gcyhlLnF1ZXJ5U2VsZWN0b3JBbGwoYiksZil9Y2F0Y2go
ail7fX1lbHNlIGlmKGUubm9kZVR5cGU9PT0xJiZlLm5vZGVOYW1lLnRvTG93ZXJD
YXNlKCkhPT0ib2JqZWN0Iil7dmFyIGs9ZSxsPWUuZ2V0QXR0cmlidXRlKCJpZCIp
LG49bHx8ZCxwPWUucGFyZW50Tm9kZSxxPS9eXHMqWyt+XS8udGVzdChiKTtsP249
bi5yZXBsYWNlKC8nL2csIlxcJCYiKTplLnNldEF0dHJpYnV0ZSgiaWQiLG4pLHEm
JnAmJihlPWUucGFyZW50Tm9kZSk7dHJ5e2lmKCFxfHxwKXJldHVybiBzKGUucXVl
cnlTZWxlY3RvckFsbCgiW2lkPSciK24rIiddICIrYiksZil9Y2F0Y2gocil7fWZp
bmFsbHl7bHx8ay5yZW1vdmVBdHRyaWJ1dGUoImlkIil9fX1yZXR1cm4gYShiLGUs
ZixnKX07Zm9yKHZhciBlIGluIGEpbVtlXT1hW2VdO2I9bnVsbH19KCksZnVuY3Rp
b24oKXt2YXIgYT1jLmRvY3VtZW50RWxlbWVudCxiPWEubWF0Y2hlc1NlbGVjdG9y
fHxhLm1vek1hdGNoZXNTZWxlY3Rvcnx8YS53ZWJraXRNYXRjaGVzU2VsZWN0b3J8
fGEubXNNYXRjaGVzU2VsZWN0b3I7aWYoYil7dmFyIGQ9IWIuY2FsbChjLmNyZWF0
ZUVsZW1lbnQoImRpdiIpLCJkaXYiKSxlPSExO3RyeXtiLmNhbGwoYy5kb2N1bWVu
dEVsZW1lbnQsIlt0ZXN0IT0nJ106c2l6emxlIil9Y2F0Y2goZil7ZT0hMH1tLm1h
dGNoZXNTZWxlY3Rvcj1mdW5jdGlvbihhLGMpe2M9Yy5yZXBsYWNlKC9cPVxzKihb
XiciXF1dKilccypcXS9nLCI9JyQxJ10iKTtpZighbS5pc1hNTChhKSl0cnl7aWYo
ZXx8IW8ubWF0Y2guUFNFVURPLnRlc3QoYykmJiEvIT0vLnRlc3QoYykpe3ZhciBm
PWIuY2FsbChhLGMpO2lmKGZ8fCFkfHxhLmRvY3VtZW50JiZhLmRvY3VtZW50Lm5v
ZGVUeXBlIT09MTEpcmV0dXJuIGZ9fWNhdGNoKGcpe31yZXR1cm4gbShjLG51bGws
bnVsbCxbYV0pLmxlbmd0aD4wfX19KCksZnVuY3Rpb24oKXt2YXIgYT1jLmNyZWF0
ZUVsZW1lbnQoImRpdiIpO2EuaW5uZXJIVE1MPSI8ZGl2IGNsYXNzPSd0ZXN0IGUn
PjwvZGl2PjxkaXYgY2xhc3M9J3Rlc3QnPjwvZGl2PiI7aWYoISFhLmdldEVsZW1l
bnRzQnlDbGFzc05hbWUmJmEuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZSIpLmxl
bmd0aCE9PTApe2EubGFzdENoaWxkLmNsYXNzTmFtZT0iZSI7aWYoYS5nZXRFbGVt
ZW50c0J5Q2xhc3NOYW1lKCJlIikubGVuZ3RoPT09MSlyZXR1cm47by5vcmRlci5z
cGxpY2UoMSwwLCJDTEFTUyIpLG8uZmluZC5DTEFTUz1mdW5jdGlvbihhLGIsYyl7
aWYodHlwZW9mIGIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSE9InVuZGVmaW5lZCIm
JiFjKXJldHVybiBiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoYVsxXSl9LGE9bnVs
bH19KCksYy5kb2N1bWVudEVsZW1lbnQuY29udGFpbnM/bS5jb250YWlucz1mdW5j
dGlvbihhLGIpe3JldHVybiBhIT09YiYmKGEuY29udGFpbnM/YS5jb250YWlucyhi
KTohMCl9OmMuZG9jdW1lbnRFbGVtZW50LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9u
P20uY29udGFpbnM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4hIShhLmNvbXBhcmVEb2N1
bWVudFBvc2l0aW9uKGIpJjE2KX06bS5jb250YWlucz1mdW5jdGlvbigpe3JldHVy
biExfSxtLmlzWE1MPWZ1bmN0aW9uKGEpe3ZhciBiPShhP2Eub3duZXJEb2N1bWVu
dHx8YTowKS5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIGI/Yi5ub2RlTmFtZSE9PSJI
VE1MIjohMX07dmFyIHk9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU9W10sZj0iIixn
PWIubm9kZVR5cGU/W2JdOmI7d2hpbGUoZD1vLm1hdGNoLlBTRVVETy5leGVjKGEp
KWYrPWRbMF0sYT1hLnJlcGxhY2Uoby5tYXRjaC5QU0VVRE8sIiIpO2E9by5yZWxh
dGl2ZVthXT9hKyIqIjphO2Zvcih2YXIgaD0wLGk9Zy5sZW5ndGg7aDxpO2grKylt
KGEsZ1toXSxlLGMpO3JldHVybiBtLmZpbHRlcihmLGUpfTttLmF0dHI9Zi5hdHRy
LG0uc2VsZWN0b3JzLmF0dHJNYXA9e30sZi5maW5kPW0sZi5leHByPW0uc2VsZWN0
b3JzLGYuZXhwclsiOiJdPWYuZXhwci5maWx0ZXJzLGYudW5pcXVlPW0udW5pcXVl
U29ydCxmLnRleHQ9bS5nZXRUZXh0LGYuaXNYTUxEb2M9bS5pc1hNTCxmLmNvbnRh
aW5zPW0uY29udGFpbnN9KCk7dmFyIEw9L1VudGlsJC8sTT0vXig/OnBhcmVudHN8
cHJldlVudGlsfHByZXZBbGwpLyxOPS8sLyxPPS9eLlteOiNcW1wuLF0qJC8sUD1B
cnJheS5wcm90b3R5cGUuc2xpY2UsUT1mLmV4cHIubWF0Y2guZ2xvYmFsUE9TLFI9
e2NoaWxkcmVuOiEwLGNvbnRlbnRzOiEwLG5leHQ6ITAscHJldjohMH07Zi5mbi5l
eHRlbmQoe2ZpbmQ6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjLGQ7aWYodHlwZW9m
IGEhPSJzdHJpbmciKXJldHVybiBmKGEpLmZpbHRlcihmdW5jdGlvbigpe2Zvcihj
PTAsZD1iLmxlbmd0aDtjPGQ7YysrKWlmKGYuY29udGFpbnMoYltjXSx0aGlzKSly
ZXR1cm4hMH0pO3ZhciBlPXRoaXMucHVzaFN0YWNrKCIiLCJmaW5kIixhKSxnLGgs
aTtmb3IoYz0wLGQ9dGhpcy5sZW5ndGg7YzxkO2MrKyl7Zz1lLmxlbmd0aCxmLmZp
bmQoYSx0aGlzW2NdLGUpO2lmKGM+MClmb3IoaD1nO2g8ZS5sZW5ndGg7aCsrKWZv
cihpPTA7aTxnO2krKylpZihlW2ldPT09ZVtoXSl7ZS5zcGxpY2UoaC0tLDEpO2Jy
ZWFrfX1yZXR1cm4gZX0saGFzOmZ1bmN0aW9uKGEpe3ZhciBiPWYoYSk7cmV0dXJu
IHRoaXMuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKHZhciBhPTAsYz1iLmxlbmd0aDth
PGM7YSsrKWlmKGYuY29udGFpbnModGhpcyxiW2FdKSlyZXR1cm4hMH0pfSxub3Q6
ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKFQodGhpcyxhLCExKSwi
bm90IixhKX0sZmlsdGVyOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFj
ayhUKHRoaXMsYSwhMCksImZpbHRlciIsYSl9LGlzOmZ1bmN0aW9uKGEpe3JldHVy
biEhYSYmKHR5cGVvZiBhPT0ic3RyaW5nIj9RLnRlc3QoYSk/ZihhLHRoaXMuY29u
dGV4dCkuaW5kZXgodGhpc1swXSk+PTA6Zi5maWx0ZXIoYSx0aGlzKS5sZW5ndGg+
MDp0aGlzLmZpbHRlcihhKS5sZW5ndGg+MCl9LGNsb3Nlc3Q6ZnVuY3Rpb24oYSxi
KXt2YXIgYz1bXSxkLGUsZz10aGlzWzBdO2lmKGYuaXNBcnJheShhKSl7dmFyIGg9
MTt3aGlsZShnJiZnLm93bmVyRG9jdW1lbnQmJmchPT1iKXtmb3IoZD0wO2Q8YS5s
ZW5ndGg7ZCsrKWYoZykuaXMoYVtkXSkmJmMucHVzaCh7c2VsZWN0b3I6YVtkXSxl
bGVtOmcsbGV2ZWw6aH0pO2c9Zy5wYXJlbnROb2RlLGgrK31yZXR1cm4gY312YXIg
aT1RLnRlc3QoYSl8fHR5cGVvZiBhIT0ic3RyaW5nIj9mKGEsYnx8dGhpcy5jb250
ZXh0KTowO2ZvcihkPTAsZT10aGlzLmxlbmd0aDtkPGU7ZCsrKXtnPXRoaXNbZF07
d2hpbGUoZyl7aWYoaT9pLmluZGV4KGcpPi0xOmYuZmluZC5tYXRjaGVzU2VsZWN0
b3IoZyxhKSl7Yy5wdXNoKGcpO2JyZWFrfWc9Zy5wYXJlbnROb2RlO2lmKCFnfHwh
Zy5vd25lckRvY3VtZW50fHxnPT09Ynx8Zy5ub2RlVHlwZT09PTExKWJyZWFrfX1j
PWMubGVuZ3RoPjE/Zi51bmlxdWUoYyk6YztyZXR1cm4gdGhpcy5wdXNoU3RhY2so
YywiY2xvc2VzdCIsYSl9LGluZGV4OmZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiB0
aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5wcmV2QWxsKCkubGVuZ3Ro
Oi0xO2lmKHR5cGVvZiBhPT0ic3RyaW5nIilyZXR1cm4gZi5pbkFycmF5KHRoaXNb
MF0sZihhKSk7cmV0dXJuIGYuaW5BcnJheShhLmpxdWVyeT9hWzBdOmEsdGhpcyl9
LGFkZDpmdW5jdGlvbihhLGIpe3ZhciBjPXR5cGVvZiBhPT0ic3RyaW5nIj9mKGEs
Yik6Zi5tYWtlQXJyYXkoYSYmYS5ub2RlVHlwZT9bYV06YSksZD1mLm1lcmdlKHRo
aXMuZ2V0KCksYyk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKFMoY1swXSl8fFMoZFsw
XSk/ZDpmLnVuaXF1ZShkKSl9LGFuZFNlbGY6ZnVuY3Rpb24oKXtyZXR1cm4gdGhp
cy5hZGQodGhpcy5wcmV2T2JqZWN0KX19KSxmLmVhY2goe3BhcmVudDpmdW5jdGlv
bihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJmIubm9kZVR5cGUhPT0x
MT9iOm51bGx9LHBhcmVudHM6ZnVuY3Rpb24oYSl7cmV0dXJuIGYuZGlyKGEsInBh
cmVudE5vZGUiKX0scGFyZW50c1VudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4g
Zi5kaXIoYSwicGFyZW50Tm9kZSIsYyl9LG5leHQ6ZnVuY3Rpb24oYSl7cmV0dXJu
IGYubnRoKGEsMiwibmV4dFNpYmxpbmciKX0scHJldjpmdW5jdGlvbihhKXtyZXR1
cm4gZi5udGgoYSwyLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dEFsbDpmdW5jdGlv
bihhKXtyZXR1cm4gZi5kaXIoYSwibmV4dFNpYmxpbmciKX0scHJldkFsbDpmdW5j
dGlvbihhKXtyZXR1cm4gZi5kaXIoYSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRV
bnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGYuZGlyKGEsIm5leHRTaWJsaW5n
IixjKX0scHJldlVudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZi5kaXIoYSwi
cHJldmlvdXNTaWJsaW5nIixjKX0sc2libGluZ3M6ZnVuY3Rpb24oYSl7cmV0dXJu
IGYuc2libGluZygoYS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxhKX0sY2hp
bGRyZW46ZnVuY3Rpb24oYSl7cmV0dXJuIGYuc2libGluZyhhLmZpcnN0Q2hpbGQp
fSxjb250ZW50czpmdW5jdGlvbihhKXtyZXR1cm4gZi5ub2RlTmFtZShhLCJpZnJh
bWUiKT9hLmNvbnRlbnREb2N1bWVudHx8YS5jb250ZW50V2luZG93LmRvY3VtZW50
OmYubWFrZUFycmF5KGEuY2hpbGROb2Rlcyl9fSxmdW5jdGlvbihhLGIpe2YuZm5b
YV09ZnVuY3Rpb24oYyxkKXt2YXIgZT1mLm1hcCh0aGlzLGIsYyk7TC50ZXN0KGEp
fHwoZD1jKSxkJiZ0eXBlb2YgZD09InN0cmluZyImJihlPWYuZmlsdGVyKGQsZSkp
LGU9dGhpcy5sZW5ndGg+MSYmIVJbYV0/Zi51bmlxdWUoZSk6ZSwodGhpcy5sZW5n
dGg+MXx8Ti50ZXN0KGQpKSYmTS50ZXN0KGEpJiYoZT1lLnJldmVyc2UoKSk7cmV0
dXJuIHRoaXMucHVzaFN0YWNrKGUsYSxQLmNhbGwoYXJndW1lbnRzKS5qb2luKCIs
IikpfX0pLGYuZXh0ZW5kKHtmaWx0ZXI6ZnVuY3Rpb24oYSxiLGMpe2MmJihhPSI6
bm90KCIrYSsiKSIpO3JldHVybiBiLmxlbmd0aD09PTE/Zi5maW5kLm1hdGNoZXNT
ZWxlY3RvcihiWzBdLGEpP1tiWzBdXTpbXTpmLmZpbmQubWF0Y2hlcyhhLGIpfSxk
aXI6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlPVtdLGc9YVtjXTt3aGlsZShnJiZnLm5v
ZGVUeXBlIT09OSYmKGQ9PT1ifHxnLm5vZGVUeXBlIT09MXx8IWYoZykuaXMoZCkp
KWcubm9kZVR5cGU9PT0xJiZlLnB1c2goZyksZz1nW2NdO3JldHVybiBlfSxudGg6
ZnVuY3Rpb24oYSxiLGMsZCl7Yj1ifHwxO3ZhciBlPTA7Zm9yKDthO2E9YVtjXSlp
ZihhLm5vZGVUeXBlPT09MSYmKytlPT09YilicmVhaztyZXR1cm4gYX0sc2libGlu
ZzpmdW5jdGlvbihhLGIpe3ZhciBjPVtdO2Zvcig7YTthPWEubmV4dFNpYmxpbmcp
YS5ub2RlVHlwZT09PTEmJmEhPT1iJiZjLnB1c2goYSk7cmV0dXJuIGN9fSk7dmFy
IFY9ImFiYnJ8YXJ0aWNsZXxhc2lkZXxhdWRpb3xiZGl8Y2FudmFzfGRhdGF8ZGF0
YWxpc3R8ZGV0YWlsc3xmaWdjYXB0aW9ufGZpZ3VyZXxmb290ZXJ8aGVhZGVyfGhn
cm91cHxtYXJrfG1ldGVyfG5hdnxvdXRwdXR8cHJvZ3Jlc3N8c2VjdGlvbnxzdW1t
YXJ5fHRpbWV8dmlkZW8iLFc9LyBqUXVlcnlcZCs9Iig/OlxkK3xudWxsKSIvZyxY
PS9eXHMrLyxZPS88KD8hYXJlYXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxp
bmt8bWV0YXxwYXJhbSkoKFtcdzpdKylbXj5dKilcLz4vaWcsWj0vPChbXHc6XSsp
LywkPS88dGJvZHkvaSxfPS88fCYjP1x3KzsvLGJhPS88KD86c2NyaXB0fHN0eWxl
KS9pLGJiPS88KD86c2NyaXB0fG9iamVjdHxlbWJlZHxvcHRpb258c3R5bGUpL2ks
YmM9bmV3IFJlZ0V4cCgiPCg/OiIrVisiKVtcXHMvPl0iLCJpIiksYmQ9L2NoZWNr
ZWRccyooPzpbXj1dfD1ccyouY2hlY2tlZC4pL2ksYmU9L1wvKGphdmF8ZWNtYSlz
Y3JpcHQvaSxiZj0vXlxzKjwhKD86XFtDREFUQVxbfFwtXC0pLyxiZz17b3B0aW9u
OlsxLCI8c2VsZWN0IG11bHRpcGxlPSdtdWx0aXBsZSc+IiwiPC9zZWxlY3Q+Il0s
bGVnZW5kOlsxLCI8ZmllbGRzZXQ+IiwiPC9maWVsZHNldD4iXSx0aGVhZDpbMSwi
PHRhYmxlPiIsIjwvdGFibGU+Il0sdHI6WzIsIjx0YWJsZT48dGJvZHk+IiwiPC90
Ym9keT48L3RhYmxlPiJdLHRkOlszLCI8dGFibGU+PHRib2R5Pjx0cj4iLCI8L3Ry
PjwvdGJvZHk+PC90YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48dGJvZHk+PC90Ym9k
eT48Y29sZ3JvdXA+IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLGFyZWE6WzEsIjxt
YXA+IiwiPC9tYXA+Il0sX2RlZmF1bHQ6WzAsIiIsIiJdfSxiaD1VKGMpO2JnLm9w
dGdyb3VwPWJnLm9wdGlvbixiZy50Ym9keT1iZy50Zm9vdD1iZy5jb2xncm91cD1i
Zy5jYXB0aW9uPWJnLnRoZWFkLGJnLnRoPWJnLnRkLGYuc3VwcG9ydC5odG1sU2Vy
aWFsaXplfHwoYmcuX2RlZmF1bHQ9WzEsImRpdjxkaXY+IiwiPC9kaXY+Il0pLGYu
Zm4uZXh0ZW5kKHt0ZXh0OmZ1bmN0aW9uKGEpe3JldHVybiBmLmFjY2Vzcyh0aGlz
LGZ1bmN0aW9uKGEpe3JldHVybiBhPT09Yj9mLnRleHQodGhpcyk6dGhpcy5lbXB0
eSgpLmFwcGVuZCgodGhpc1swXSYmdGhpc1swXS5vd25lckRvY3VtZW50fHxjKS5j
cmVhdGVUZXh0Tm9kZShhKSl9LG51bGwsYSxhcmd1bWVudHMubGVuZ3RoKX0sd3Jh
cEFsbDpmdW5jdGlvbihhKXtpZihmLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMu
ZWFjaChmdW5jdGlvbihiKXtmKHRoaXMpLndyYXBBbGwoYS5jYWxsKHRoaXMsYikp
fSk7aWYodGhpc1swXSl7dmFyIGI9ZihhLHRoaXNbMF0ub3duZXJEb2N1bWVudCku
ZXEoMCkuY2xvbmUoITApO3RoaXNbMF0ucGFyZW50Tm9kZSYmYi5pbnNlcnRCZWZv
cmUodGhpc1swXSksYi5tYXAoZnVuY3Rpb24oKXt2YXIgYT10aGlzO3doaWxlKGEu
Zmlyc3RDaGlsZCYmYS5maXJzdENoaWxkLm5vZGVUeXBlPT09MSlhPWEuZmlyc3RD
aGlsZDtyZXR1cm4gYX0pLmFwcGVuZCh0aGlzKX1yZXR1cm4gdGhpc30sd3JhcElu
bmVyOmZ1bmN0aW9uKGEpe2lmKGYuaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5l
YWNoKGZ1bmN0aW9uKGIpe2YodGhpcykud3JhcElubmVyKGEuY2FsbCh0aGlzLGIp
KX0pO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1mKHRoaXMpLGM9
Yi5jb250ZW50cygpO2MubGVuZ3RoP2Mud3JhcEFsbChhKTpiLmFwcGVuZChhKX0p
fSx3cmFwOmZ1bmN0aW9uKGEpe3ZhciBiPWYuaXNGdW5jdGlvbihhKTtyZXR1cm4g
dGhpcy5lYWNoKGZ1bmN0aW9uKGMpe2YodGhpcykud3JhcEFsbChiP2EuY2FsbCh0
aGlzLGMpOmEpfSl9LHVud3JhcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBhcmVu
dCgpLmVhY2goZnVuY3Rpb24oKXtmLm5vZGVOYW1lKHRoaXMsImJvZHkiKXx8Zih0
aGlzKS5yZXBsYWNlV2l0aCh0aGlzLmNoaWxkTm9kZXMpfSkuZW5kKCl9LGFwcGVu
ZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMCxm
dW5jdGlvbihhKXt0aGlzLm5vZGVUeXBlPT09MSYmdGhpcy5hcHBlbmRDaGlsZChh
KX0pfSxwcmVwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJn
dW1lbnRzLCEwLGZ1bmN0aW9uKGEpe3RoaXMubm9kZVR5cGU9PT0xJiZ0aGlzLmlu
c2VydEJlZm9yZShhLHRoaXMuZmlyc3RDaGlsZCl9KX0sYmVmb3JlOmZ1bmN0aW9u
KCl7aWYodGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlKXJldHVybiB0aGlzLmRv
bU1hbmlwKGFyZ3VtZW50cywhMSxmdW5jdGlvbihhKXt0aGlzLnBhcmVudE5vZGUu
aW5zZXJ0QmVmb3JlKGEsdGhpcyl9KTtpZihhcmd1bWVudHMubGVuZ3RoKXt2YXIg
YT1mCi5jbGVhbihhcmd1bWVudHMpO2EucHVzaC5hcHBseShhLHRoaXMudG9BcnJh
eSgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYSwiYmVmb3JlIixhcmd1bWVudHMp
fX0sYWZ0ZXI6ZnVuY3Rpb24oKXtpZih0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5v
ZGUpcmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLCExLGZ1bmN0aW9uKGEp
e3RoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSx0aGlzLm5leHRTaWJsaW5n
KX0pO2lmKGFyZ3VtZW50cy5sZW5ndGgpe3ZhciBhPXRoaXMucHVzaFN0YWNrKHRo
aXMsImFmdGVyIixhcmd1bWVudHMpO2EucHVzaC5hcHBseShhLGYuY2xlYW4oYXJn
dW1lbnRzKSk7cmV0dXJuIGF9fSxyZW1vdmU6ZnVuY3Rpb24oYSxiKXtmb3IodmFy
IGM9MCxkOyhkPXRoaXNbY10pIT1udWxsO2MrKylpZighYXx8Zi5maWx0ZXIoYSxb
ZF0pLmxlbmd0aCkhYiYmZC5ub2RlVHlwZT09PTEmJihmLmNsZWFuRGF0YShkLmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpLGYuY2xlYW5EYXRhKFtkXSkpLGQucGFy
ZW50Tm9kZSYmZC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGQpO3JldHVybiB0aGlz
fSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgYT0wLGI7KGI9dGhpc1thXSkhPW51
bGw7YSsrKXtiLm5vZGVUeXBlPT09MSYmZi5jbGVhbkRhdGEoYi5nZXRFbGVtZW50
c0J5VGFnTmFtZSgiKiIpKTt3aGlsZShiLmZpcnN0Q2hpbGQpYi5yZW1vdmVDaGls
ZChiLmZpcnN0Q2hpbGQpfXJldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbihhLGIp
e2E9YT09bnVsbD8hMTphLGI9Yj09bnVsbD9hOmI7cmV0dXJuIHRoaXMubWFwKGZ1
bmN0aW9uKCl7cmV0dXJuIGYuY2xvbmUodGhpcyxhLGIpfSl9LGh0bWw6ZnVuY3Rp
b24oYSl7cmV0dXJuIGYuYWNjZXNzKHRoaXMsZnVuY3Rpb24oYSl7dmFyIGM9dGhp
c1swXXx8e30sZD0wLGU9dGhpcy5sZW5ndGg7aWYoYT09PWIpcmV0dXJuIGMubm9k
ZVR5cGU9PT0xP2MuaW5uZXJIVE1MLnJlcGxhY2UoVywiIik6bnVsbDtpZih0eXBl
b2YgYT09InN0cmluZyImJiFiYS50ZXN0KGEpJiYoZi5zdXBwb3J0LmxlYWRpbmdX
aGl0ZXNwYWNlfHwhWC50ZXN0KGEpKSYmIWJnWyhaLmV4ZWMoYSl8fFsiIiwiIl0p
WzFdLnRvTG93ZXJDYXNlKCldKXthPWEucmVwbGFjZShZLCI8JDE+PC8kMj4iKTt0
cnl7Zm9yKDtkPGU7ZCsrKWM9dGhpc1tkXXx8e30sYy5ub2RlVHlwZT09PTEmJihm
LmNsZWFuRGF0YShjLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpLGMuaW5uZXJI
VE1MPWEpO2M9MH1jYXRjaChnKXt9fWMmJnRoaXMuZW1wdHkoKS5hcHBlbmQoYSl9
LG51bGwsYSxhcmd1bWVudHMubGVuZ3RoKX0scmVwbGFjZVdpdGg6ZnVuY3Rpb24o
YSl7aWYodGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlKXtpZihmLmlzRnVuY3Rp
b24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXt2YXIgYz1mKHRoaXMp
LGQ9Yy5odG1sKCk7Yy5yZXBsYWNlV2l0aChhLmNhbGwodGhpcyxiLGQpKX0pO3R5
cGVvZiBhIT0ic3RyaW5nIiYmKGE9ZihhKS5kZXRhY2goKSk7cmV0dXJuIHRoaXMu
ZWFjaChmdW5jdGlvbigpe3ZhciBiPXRoaXMubmV4dFNpYmxpbmcsYz10aGlzLnBh
cmVudE5vZGU7Zih0aGlzKS5yZW1vdmUoKSxiP2YoYikuYmVmb3JlKGEpOmYoYyku
YXBwZW5kKGEpfSl9cmV0dXJuIHRoaXMubGVuZ3RoP3RoaXMucHVzaFN0YWNrKGYo
Zi5pc0Z1bmN0aW9uKGEpP2EoKTphKSwicmVwbGFjZVdpdGgiLGEpOnRoaXN9LGRl
dGFjaDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5yZW1vdmUoYSwhMCl9LGRvbU1h
bmlwOmZ1bmN0aW9uKGEsYyxkKXt2YXIgZSxnLGgsaSxqPWFbMF0saz1bXTtpZigh
Zi5zdXBwb3J0LmNoZWNrQ2xvbmUmJmFyZ3VtZW50cy5sZW5ndGg9PT0zJiZ0eXBl
b2Ygaj09InN0cmluZyImJmJkLnRlc3QoaikpcmV0dXJuIHRoaXMuZWFjaChmdW5j
dGlvbigpe2YodGhpcykuZG9tTWFuaXAoYSxjLGQsITApfSk7aWYoZi5pc0Z1bmN0
aW9uKGopKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oZSl7dmFyIGc9Zih0aGlz
KTthWzBdPWouY2FsbCh0aGlzLGUsYz9nLmh0bWwoKTpiKSxnLmRvbU1hbmlwKGEs
YyxkKX0pO2lmKHRoaXNbMF0pe2k9aiYmai5wYXJlbnROb2RlLGYuc3VwcG9ydC5w
YXJlbnROb2RlJiZpJiZpLm5vZGVUeXBlPT09MTEmJmkuY2hpbGROb2Rlcy5sZW5n
dGg9PT10aGlzLmxlbmd0aD9lPXtmcmFnbWVudDppfTplPWYuYnVpbGRGcmFnbWVu
dChhLHRoaXMsayksaD1lLmZyYWdtZW50LGguY2hpbGROb2Rlcy5sZW5ndGg9PT0x
P2c9aD1oLmZpcnN0Q2hpbGQ6Zz1oLmZpcnN0Q2hpbGQ7aWYoZyl7Yz1jJiZmLm5v
ZGVOYW1lKGcsInRyIik7Zm9yKHZhciBsPTAsbT10aGlzLmxlbmd0aCxuPW0tMTts
PG07bCsrKWQuY2FsbChjP2JpKHRoaXNbbF0sZyk6dGhpc1tsXSxlLmNhY2hlYWJs
ZXx8bT4xJiZsPG4/Zi5jbG9uZShoLCEwLCEwKTpoKX1rLmxlbmd0aCYmZi5lYWNo
KGssZnVuY3Rpb24oYSxiKXtiLnNyYz9mLmFqYXgoe3R5cGU6IkdFVCIsZ2xvYmFs
OiExLHVybDpiLnNyYyxhc3luYzohMSxkYXRhVHlwZToic2NyaXB0In0pOmYuZ2xv
YmFsRXZhbCgoYi50ZXh0fHxiLnRleHRDb250ZW50fHxiLmlubmVySFRNTHx8IiIp
LnJlcGxhY2UoYmYsIi8qJDAqLyIpKSxiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9k
ZS5yZW1vdmVDaGlsZChiKX0pfXJldHVybiB0aGlzfX0pLGYuYnVpbGRGcmFnbWVu
dD1mdW5jdGlvbihhLGIsZCl7dmFyIGUsZyxoLGksaj1hWzBdO2ImJmJbMF0mJihp
PWJbMF0ub3duZXJEb2N1bWVudHx8YlswXSksaS5jcmVhdGVEb2N1bWVudEZyYWdt
ZW50fHwoaT1jKSxhLmxlbmd0aD09PTEmJnR5cGVvZiBqPT0ic3RyaW5nIiYmai5s
ZW5ndGg8NTEyJiZpPT09YyYmai5jaGFyQXQoMCk9PT0iPCImJiFiYi50ZXN0KGop
JiYoZi5zdXBwb3J0LmNoZWNrQ2xvbmV8fCFiZC50ZXN0KGopKSYmKGYuc3VwcG9y
dC5odG1sNUNsb25lfHwhYmMudGVzdChqKSkmJihnPSEwLGg9Zi5mcmFnbWVudHNb
al0saCYmaCE9PTEmJihlPWgpKSxlfHwoZT1pLmNyZWF0ZURvY3VtZW50RnJhZ21l
bnQoKSxmLmNsZWFuKGEsaSxlLGQpKSxnJiYoZi5mcmFnbWVudHNbal09aD9lOjEp
O3JldHVybntmcmFnbWVudDplLGNhY2hlYWJsZTpnfX0sZi5mcmFnbWVudHM9e30s
Zi5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86InByZXBlbmQiLGlu
c2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0ZXIiLHJlcGxhY2VB
bGw6InJlcGxhY2VXaXRoIn0sZnVuY3Rpb24oYSxiKXtmLmZuW2FdPWZ1bmN0aW9u
KGMpe3ZhciBkPVtdLGU9ZihjKSxnPXRoaXMubGVuZ3RoPT09MSYmdGhpc1swXS5w
YXJlbnROb2RlO2lmKGcmJmcubm9kZVR5cGU9PT0xMSYmZy5jaGlsZE5vZGVzLmxl
bmd0aD09PTEmJmUubGVuZ3RoPT09MSl7ZVtiXSh0aGlzWzBdKTtyZXR1cm4gdGhp
c31mb3IodmFyIGg9MCxpPWUubGVuZ3RoO2g8aTtoKyspe3ZhciBqPShoPjA/dGhp
cy5jbG9uZSghMCk6dGhpcykuZ2V0KCk7ZihlW2hdKVtiXShqKSxkPWQuY29uY2F0
KGopfXJldHVybiB0aGlzLnB1c2hTdGFjayhkLGEsZS5zZWxlY3Rvcil9fSksZi5l
eHRlbmQoe2Nsb25lOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGcsaD1mLnN1cHBv
cnQuaHRtbDVDbG9uZXx8Zi5pc1hNTERvYyhhKXx8IWJjLnRlc3QoIjwiK2Eubm9k
ZU5hbWUrIj4iKT9hLmNsb25lTm9kZSghMCk6Ym8oYSk7aWYoKCFmLnN1cHBvcnQu
bm9DbG9uZUV2ZW50fHwhZi5zdXBwb3J0Lm5vQ2xvbmVDaGVja2VkKSYmKGEubm9k
ZVR5cGU9PT0xfHxhLm5vZGVUeXBlPT09MTEpJiYhZi5pc1hNTERvYyhhKSl7Ymso
YSxoKSxkPWJsKGEpLGU9YmwoaCk7Zm9yKGc9MDtkW2ddOysrZyllW2ddJiZiayhk
W2ddLGVbZ10pfWlmKGIpe2JqKGEsaCk7aWYoYyl7ZD1ibChhKSxlPWJsKGgpO2Zv
cihnPTA7ZFtnXTsrK2cpYmooZFtnXSxlW2ddKX19ZD1lPW51bGw7cmV0dXJuIGh9
LGNsZWFuOmZ1bmN0aW9uKGEsYixkLGUpe3ZhciBnLGgsaSxqPVtdO2I9Ynx8Yyx0
eXBlb2YgYi5jcmVhdGVFbGVtZW50PT0idW5kZWZpbmVkIiYmKGI9Yi5vd25lckRv
Y3VtZW50fHxiWzBdJiZiWzBdLm93bmVyRG9jdW1lbnR8fGMpO2Zvcih2YXIgaz0w
LGw7KGw9YVtrXSkhPW51bGw7aysrKXt0eXBlb2YgbD09Im51bWJlciImJihsKz0i
Iik7aWYoIWwpY29udGludWU7aWYodHlwZW9mIGw9PSJzdHJpbmciKWlmKCFfLnRl
c3QobCkpbD1iLmNyZWF0ZVRleHROb2RlKGwpO2Vsc2V7bD1sLnJlcGxhY2UoWSwi
PCQxPjwvJDI+Iik7dmFyIG09KFouZXhlYyhsKXx8WyIiLCIiXSlbMV0udG9Mb3dl
ckNhc2UoKSxuPWJnW21dfHxiZy5fZGVmYXVsdCxvPW5bMF0scD1iLmNyZWF0ZUVs
ZW1lbnQoImRpdiIpLHE9YmguY2hpbGROb2RlcyxyO2I9PT1jP2JoLmFwcGVuZENo
aWxkKHApOlUoYikuYXBwZW5kQ2hpbGQocCkscC5pbm5lckhUTUw9blsxXStsK25b
Ml07d2hpbGUoby0tKXA9cC5sYXN0Q2hpbGQ7aWYoIWYuc3VwcG9ydC50Ym9keSl7
dmFyIHM9JC50ZXN0KGwpLHQ9bT09PSJ0YWJsZSImJiFzP3AuZmlyc3RDaGlsZCYm
cC5maXJzdENoaWxkLmNoaWxkTm9kZXM6blsxXT09PSI8dGFibGU+IiYmIXM/cC5j
aGlsZE5vZGVzOltdO2ZvcihpPXQubGVuZ3RoLTE7aT49MDstLWkpZi5ub2RlTmFt
ZSh0W2ldLCJ0Ym9keSIpJiYhdFtpXS5jaGlsZE5vZGVzLmxlbmd0aCYmdFtpXS5w
YXJlbnROb2RlLnJlbW92ZUNoaWxkKHRbaV0pfSFmLnN1cHBvcnQubGVhZGluZ1do
aXRlc3BhY2UmJlgudGVzdChsKSYmcC5pbnNlcnRCZWZvcmUoYi5jcmVhdGVUZXh0
Tm9kZShYLmV4ZWMobClbMF0pLHAuZmlyc3RDaGlsZCksbD1wLmNoaWxkTm9kZXMs
cCYmKHAucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChwKSxxLmxlbmd0aD4wJiYocj1x
W3EubGVuZ3RoLTFdLHImJnIucGFyZW50Tm9kZSYmci5wYXJlbnROb2RlLnJlbW92
ZUNoaWxkKHIpKSl9dmFyIHU7aWYoIWYuc3VwcG9ydC5hcHBlbmRDaGVja2VkKWlm
KGxbMF0mJnR5cGVvZiAodT1sLmxlbmd0aCk9PSJudW1iZXIiKWZvcihpPTA7aTx1
O2krKylibihsW2ldKTtlbHNlIGJuKGwpO2wubm9kZVR5cGU/ai5wdXNoKGwpOmo9
Zi5tZXJnZShqLGwpfWlmKGQpe2c9ZnVuY3Rpb24oYSl7cmV0dXJuIWEudHlwZXx8
YmUudGVzdChhLnR5cGUpfTtmb3Ioaz0wO2pba107aysrKXtoPWpba107aWYoZSYm
Zi5ub2RlTmFtZShoLCJzY3JpcHQiKSYmKCFoLnR5cGV8fGJlLnRlc3QoaC50eXBl
KSkpZS5wdXNoKGgucGFyZW50Tm9kZT9oLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQo
aCk6aCk7ZWxzZXtpZihoLm5vZGVUeXBlPT09MSl7dmFyIHY9Zi5ncmVwKGguZ2V0
RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpLGcpO2ouc3BsaWNlLmFwcGx5KGos
W2srMSwwXS5jb25jYXQodikpfWQuYXBwZW5kQ2hpbGQoaCl9fX1yZXR1cm4gan0s
Y2xlYW5EYXRhOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZD1mLmNhY2hlLGU9Zi5ldmVu
dC5zcGVjaWFsLGc9Zi5zdXBwb3J0LmRlbGV0ZUV4cGFuZG87Zm9yKHZhciBoPTAs
aTsoaT1hW2hdKSE9bnVsbDtoKyspe2lmKGkubm9kZU5hbWUmJmYubm9EYXRhW2ku
bm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pY29udGludWU7Yz1pW2YuZXhwYW5kb107
aWYoYyl7Yj1kW2NdO2lmKGImJmIuZXZlbnRzKXtmb3IodmFyIGogaW4gYi5ldmVu
dHMpZVtqXT9mLmV2ZW50LnJlbW92ZShpLGopOmYucmVtb3ZlRXZlbnQoaSxqLGIu
aGFuZGxlKTtiLmhhbmRsZSYmKGIuaGFuZGxlLmVsZW09bnVsbCl9Zz9kZWxldGUg
aVtmLmV4cGFuZG9dOmkucmVtb3ZlQXR0cmlidXRlJiZpLnJlbW92ZUF0dHJpYnV0
ZShmLmV4cGFuZG8pLGRlbGV0ZSBkW2NdfX19fSk7dmFyIGJwPS9hbHBoYVwoW14p
XSpcKS9pLGJxPS9vcGFjaXR5PShbXildKikvLGJyPS8oW0EtWl18Xm1zKS9nLGJz
PS9eW1wtK10/KD86XGQqXC4pP1xkKyQvaSxidD0vXi0/KD86XGQqXC4pP1xkKyg/
IXB4KVteXGRcc10rJC9pLGJ1PS9eKFtcLStdKT0oW1wtKy5cZGVdKykvLGJ2PS9e
bWFyZ2luLyxidz17cG9zaXRpb246ImFic29sdXRlIix2aXNpYmlsaXR5OiJoaWRk
ZW4iLGRpc3BsYXk6ImJsb2NrIn0sYng9WyJUb3AiLCJSaWdodCIsIkJvdHRvbSIs
IkxlZnQiXSxieSxieixiQTtmLmZuLmNzcz1mdW5jdGlvbihhLGMpe3JldHVybiBm
LmFjY2Vzcyh0aGlzLGZ1bmN0aW9uKGEsYyxkKXtyZXR1cm4gZCE9PWI/Zi5zdHls
ZShhLGMsZCk6Zi5jc3MoYSxjKX0sYSxjLGFyZ3VtZW50cy5sZW5ndGg+MSl9LGYu
ZXh0ZW5kKHtjc3NIb29rczp7b3BhY2l0eTp7Z2V0OmZ1bmN0aW9uKGEsYil7aWYo
Yil7dmFyIGM9YnkoYSwib3BhY2l0eSIpO3JldHVybiBjPT09IiI/IjEiOmN9cmV0
dXJuIGEuc3R5bGUub3BhY2l0eX19fSxjc3NOdW1iZXI6e2ZpbGxPcGFjaXR5OiEw
LGZvbnRXZWlnaHQ6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9ycGhhbnM6
ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwfSxjc3NQcm9wczp7ImZsb2F0
IjpmLnN1cHBvcnQuY3NzRmxvYXQ/ImNzc0Zsb2F0Ijoic3R5bGVGbG9hdCJ9LHN0
eWxlOmZ1bmN0aW9uKGEsYyxkLGUpe2lmKCEhYSYmYS5ub2RlVHlwZSE9PTMmJmEu
bm9kZVR5cGUhPT04JiYhIWEuc3R5bGUpe3ZhciBnLGgsaT1mLmNhbWVsQ2FzZShj
KSxqPWEuc3R5bGUsaz1mLmNzc0hvb2tzW2ldO2M9Zi5jc3NQcm9wc1tpXXx8aTtp
ZihkPT09Yil7aWYoayYmImdldCJpbiBrJiYoZz1rLmdldChhLCExLGUpKSE9PWIp
cmV0dXJuIGc7cmV0dXJuIGpbY119aD10eXBlb2YgZCxoPT09InN0cmluZyImJihn
PWJ1LmV4ZWMoZCkpJiYoZD0rKGdbMV0rMSkqK2dbMl0rcGFyc2VGbG9hdChmLmNz
cyhhLGMpKSxoPSJudW1iZXIiKTtpZihkPT1udWxsfHxoPT09Im51bWJlciImJmlz
TmFOKGQpKXJldHVybjtoPT09Im51bWJlciImJiFmLmNzc051bWJlcltpXSYmKGQr
PSJweCIpO2lmKCFrfHwhKCJzZXQiaW4gayl8fChkPWsuc2V0KGEsZCkpIT09Yil0
cnl7altjXT1kfWNhdGNoKGwpe319fSxjc3M6ZnVuY3Rpb24oYSxjLGQpe3ZhciBl
LGc7Yz1mLmNhbWVsQ2FzZShjKSxnPWYuY3NzSG9va3NbY10sYz1mLmNzc1Byb3Bz
W2NdfHxjLGM9PT0iY3NzRmxvYXQiJiYoYz0iZmxvYXQiKTtpZihnJiYiZ2V0Imlu
IGcmJihlPWcuZ2V0KGEsITAsZCkpIT09YilyZXR1cm4gZTtpZihieSlyZXR1cm4g
YnkoYSxjKX0sc3dhcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9e30sZSxmO2Zvcihm
IGluIGIpZFtmXT1hLnN0eWxlW2ZdLGEuc3R5bGVbZl09YltmXTtlPWMuY2FsbChh
KTtmb3IoZiBpbiBiKWEuc3R5bGVbZl09ZFtmXTtyZXR1cm4gZX19KSxmLmN1ckNT
Uz1mLmNzcyxjLmRlZmF1bHRWaWV3JiZjLmRlZmF1bHRWaWV3LmdldENvbXB1dGVk
U3R5bGUmJihiej1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxnLGg9YS5zdHlsZTti
PWIucmVwbGFjZShiciwiLSQxIikudG9Mb3dlckNhc2UoKSwoZD1hLm93bmVyRG9j
dW1lbnQuZGVmYXVsdFZpZXcpJiYoZT1kLmdldENvbXB1dGVkU3R5bGUoYSxudWxs
KSkmJihjPWUuZ2V0UHJvcGVydHlWYWx1ZShiKSxjPT09IiImJiFmLmNvbnRhaW5z
KGEub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsYSkmJihjPWYuc3R5bGUo
YSxiKSkpLCFmLnN1cHBvcnQucGl4ZWxNYXJnaW4mJmUmJmJ2LnRlc3QoYikmJmJ0
LnRlc3QoYykmJihnPWgud2lkdGgsaC53aWR0aD1jLGM9ZS53aWR0aCxoLndpZHRo
PWcpO3JldHVybiBjfSksYy5kb2N1bWVudEVsZW1lbnQuY3VycmVudFN0eWxlJiYo
YkE9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj1hLmN1cnJlbnRTdHlsZSYmYS5j
dXJyZW50U3R5bGVbYl0sZz1hLnN0eWxlO2Y9PW51bGwmJmcmJihlPWdbYl0pJiYo
Zj1lKSxidC50ZXN0KGYpJiYoYz1nLmxlZnQsZD1hLnJ1bnRpbWVTdHlsZSYmYS5y
dW50aW1lU3R5bGUubGVmdCxkJiYoYS5ydW50aW1lU3R5bGUubGVmdD1hLmN1cnJl
bnRTdHlsZS5sZWZ0KSxnLmxlZnQ9Yj09PSJmb250U2l6ZSI/IjFlbSI6ZixmPWcu
cGl4ZWxMZWZ0KyJweCIsZy5sZWZ0PWMsZCYmKGEucnVudGltZVN0eWxlLmxlZnQ9
ZCkpO3JldHVybiBmPT09IiI/ImF1dG8iOmZ9KSxieT1ienx8YkEsZi5lYWNoKFsi
aGVpZ2h0Iiwid2lkdGgiXSxmdW5jdGlvbihhLGIpe2YuY3NzSG9va3NbYl09e2dl
dDpmdW5jdGlvbihhLGMsZCl7aWYoYylyZXR1cm4gYS5vZmZzZXRXaWR0aCE9PTA/
YkIoYSxiLGQpOmYuc3dhcChhLGJ3LGZ1bmN0aW9uKCl7cmV0dXJuIGJCKGEsYixk
KX0pfSxzZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYnMudGVzdChiKT9iKyJweCI6
Yn19fSksZi5zdXBwb3J0Lm9wYWNpdHl8fChmLmNzc0hvb2tzLm9wYWNpdHk9e2dl
dDpmdW5jdGlvbihhLGIpe3JldHVybiBicS50ZXN0KChiJiZhLmN1cnJlbnRTdHls
ZT9hLmN1cnJlbnRTdHlsZS5maWx0ZXI6YS5zdHlsZS5maWx0ZXIpfHwiIik/cGFy
c2VGbG9hdChSZWdFeHAuJDEpLzEwMCsiIjpiPyIxIjoiIn0sc2V0OmZ1bmN0aW9u
KGEsYil7dmFyIGM9YS5zdHlsZSxkPWEuY3VycmVudFN0eWxlLGU9Zi5pc051bWVy
aWMoYik/ImFscGhhKG9wYWNpdHk9IitiKjEwMCsiKSI6IiIsZz1kJiZkLmZpbHRl
cnx8Yy5maWx0ZXJ8fCIiO2Muem9vbT0xO2lmKGI+PTEmJmYudHJpbShnLnJlcGxh
Y2UoYnAsIiIpKT09PSIiKXtjLnJlbW92ZUF0dHJpYnV0ZSgiZmlsdGVyIik7aWYo
ZCYmIWQuZmlsdGVyKXJldHVybn1jLmZpbHRlcj1icC50ZXN0KGcpP2cucmVwbGFj
ZShicCxlKTpnKyIgIitlfX0pLGYoZnVuY3Rpb24oKXtmLnN1cHBvcnQucmVsaWFi
bGVNYXJnaW5SaWdodHx8KGYuY3NzSG9va3MubWFyZ2luUmlnaHQ9e2dldDpmdW5j
dGlvbihhLGIpe3JldHVybiBmLnN3YXAoYSx7ZGlzcGxheToiaW5saW5lLWJsb2Nr
In0sZnVuY3Rpb24oKXtyZXR1cm4gYj9ieShhLCJtYXJnaW4tcmlnaHQiKTphLnN0
eWxlLm1hcmdpblJpZ2h0fSl9fSl9KSxmLmV4cHImJmYuZXhwci5maWx0ZXJzJiYo
Zi5leHByLmZpbHRlcnMuaGlkZGVuPWZ1bmN0aW9uKGEpe3ZhciBiPWEub2Zmc2V0
V2lkdGgsYz1hLm9mZnNldEhlaWdodDtyZXR1cm4gYj09PTAmJmM9PT0wfHwhZi5z
dXBwb3J0LnJlbGlhYmxlSGlkZGVuT2Zmc2V0cyYmKGEuc3R5bGUmJmEuc3R5bGUu
ZGlzcGxheXx8Zi5jc3MoYSwiZGlzcGxheSIpKT09PSJub25lIn0sZi5leHByLmZp
bHRlcnMudmlzaWJsZT1mdW5jdGlvbihhKXtyZXR1cm4hZi5leHByLmZpbHRlcnMu
aGlkZGVuKGEpfSksZi5lYWNoKHttYXJnaW46IiIscGFkZGluZzoiIixib3JkZXI6
IldpZHRoIn0sZnVuY3Rpb24oYSxiKXtmLmNzc0hvb2tzW2ErYl09e2V4cGFuZDpm
dW5jdGlvbihjKXt2YXIgZCxlPXR5cGVvZiBjPT0ic3RyaW5nIj9jLnNwbGl0KCIg
Iik6W2NdLGY9e307Zm9yKGQ9MDtkPDQ7ZCsrKWZbYStieFtkXStiXT1lW2RdfHxl
W2QtMl18fGVbMF07cmV0dXJuIGZ9fX0pO3ZhciBiQz0vJTIwL2csYkQ9L1xbXF0k
LyxiRT0vXHI/XG4vZyxiRj0vIy4qJC8sYkc9L14oLio/KTpbIFx0XSooW15cclxu
XSopXHI/JC9tZyxiSD0vXig/OmNvbG9yfGRhdGV8ZGF0ZXRpbWV8ZGF0ZXRpbWUt
bG9jYWx8ZW1haWx8aGlkZGVufG1vbnRofG51bWJlcnxwYXNzd29yZHxyYW5nZXxz
ZWFyY2h8dGVsfHRleHR8dGltZXx1cmx8d2VlaykkL2ksYkk9L14oPzphYm91dHxh
cHB8YXBwXC1zdG9yYWdlfC4rXC1leHRlbnNpb258ZmlsZXxyZXN8d2lkZ2V0KTok
LyxiSj0vXig/OkdFVHxIRUFEKSQvLGJLPS9eXC9cLy8sYkw9L1w/LyxiTT0vPHNj
cmlwdFxiW148XSooPzooPyE8XC9zY3JpcHQ+KTxbXjxdKikqPFwvc2NyaXB0Pi9n
aSxiTj0vXig/OnNlbGVjdHx0ZXh0YXJlYSkvaSxiTz0vXHMrLyxiUD0vKFs/Jl0p
Xz1bXiZdKi8sYlE9L14oW1x3XCtcLlwtXSs6KSg/OlwvXC8oW15cLz8jOl0qKSg/
OjooXGQrKSk/KT8vLGJSPWYuZm4ubG9hZCxiUz17fSxiVD17fSxiVSxiVixiVz1b
IiovIl0rWyIqIl07dHJ5e2JVPWUuaHJlZn1jYXRjaChiWCl7YlU9Yy5jcmVhdGVF
bGVtZW50KCJhIiksYlUuaHJlZj0iIixiVT1iVS5ocmVmfWJWPWJRLmV4ZWMoYlUu
dG9Mb3dlckNhc2UoKSl8fFtdLGYuZm4uZXh0ZW5kKHtsb2FkOmZ1bmN0aW9uKGEs
YyxkKXtpZih0eXBlb2YgYSE9InN0cmluZyImJmJSKXJldHVybiBiUi5hcHBseSh0
aGlzLGFyZ3VtZW50cyk7aWYoIXRoaXMubGVuZ3RoKXJldHVybiB0aGlzO3ZhciBl
PWEuaW5kZXhPZigiICIpO2lmKGU+PTApe3ZhciBnPWEuc2xpY2UoZSxhLmxlbmd0
aCk7YT1hLnNsaWNlKDAsZSl9dmFyIGg9IkdFVCI7YyYmKGYuaXNGdW5jdGlvbihj
KT8oZD1jLGM9Yik6dHlwZW9mIGM9PSJvYmplY3QiJiYoYz1mLnBhcmFtKGMsZi5h
amF4U2V0dGluZ3MudHJhZGl0aW9uYWwpLGg9IlBPU1QiKSk7dmFyIGk9dGhpcztm
LmFqYXgoe3VybDphLHR5cGU6aCxkYXRhVHlwZToiaHRtbCIsZGF0YTpjLGNvbXBs
ZXRlOmZ1bmN0aW9uKGEsYixjKXtjPWEucmVzcG9uc2VUZXh0LGEuaXNSZXNvbHZl
ZCgpJiYoYS5kb25lKGZ1bmN0aW9uKGEpe2M9YX0pLGkuaHRtbChnP2YoIjxkaXY+
IikuYXBwZW5kKGMucmVwbGFjZShiTSwiIikpLmZpbmQoZyk6YykpLGQmJmkuZWFj
aChkLFtjLGIsYV0pfX0pO3JldHVybiB0aGlzfSxzZXJpYWxpemU6ZnVuY3Rpb24o
KXtyZXR1cm4gZi5wYXJhbSh0aGlzLnNlcmlhbGl6ZUFycmF5KCkpfSxzZXJpYWxp
emVBcnJheTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3Jl
dHVybiB0aGlzLmVsZW1lbnRzP2YubWFrZUFycmF5KHRoaXMuZWxlbWVudHMpOnRo
aXN9KS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uYW1lJiYhdGhpcy5k
aXNhYmxlZCYmKHRoaXMuY2hlY2tlZHx8Yk4udGVzdCh0aGlzLm5vZGVOYW1lKXx8
YkgudGVzdCh0aGlzLnR5cGUpKX0pLm1hcChmdW5jdGlvbihhLGIpe3ZhciBjPWYo
dGhpcykudmFsKCk7cmV0dXJuIGM9PW51bGw/bnVsbDpmLmlzQXJyYXkoYyk/Zi5t
YXAoYyxmdW5jdGlvbihhLGMpe3JldHVybntuYW1lOmIubmFtZSx2YWx1ZTphLnJl
cGxhY2UoYkUsIlxyXG4iKX19KTp7bmFtZTpiLm5hbWUsdmFsdWU6Yy5yZXBsYWNl
KGJFLCJcclxuIil9fSkuZ2V0KCl9fSksZi5lYWNoKCJhamF4U3RhcnQgYWpheFN0
b3AgYWpheENvbXBsZXRlIGFqYXhFcnJvciBhamF4U3VjY2VzcyBhamF4U2VuZCIu
c3BsaXQoIiAiKSxmdW5jdGlvbihhLGIpe2YuZm5bYl09ZnVuY3Rpb24oYSl7cmV0
dXJuIHRoaXMub24oYixhKX19KSxmLmVhY2goWyJnZXQiLCJwb3N0Il0sZnVuY3Rp
b24oYSxjKXtmW2NdPWZ1bmN0aW9uKGEsZCxlLGcpe2YuaXNGdW5jdGlvbihkKSYm
KGc9Z3x8ZSxlPWQsZD1iKTtyZXR1cm4gZi5hamF4KHt0eXBlOmMsdXJsOmEsZGF0
YTpkLHN1Y2Nlc3M6ZSxkYXRhVHlwZTpnfSl9fSksZi5leHRlbmQoe2dldFNjcmlw
dDpmdW5jdGlvbihhLGMpe3JldHVybiBmLmdldChhLGIsYywic2NyaXB0Iil9LGdl
dEpTT046ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBmLmdldChhLGIsYywianNvbiIp
fSxhamF4U2V0dXA6ZnVuY3Rpb24oYSxiKXtiP2IkKGEsZi5hamF4U2V0dGluZ3Mp
OihiPWEsYT1mLmFqYXhTZXR0aW5ncyksYiQoYSxiKTtyZXR1cm4gYX0sYWpheFNl
dHRpbmdzOnt1cmw6YlUsaXNMb2NhbDpiSS50ZXN0KGJWWzFdKSxnbG9iYWw6ITAs
dHlwZToiR0VUIixjb250ZW50VHlwZToiYXBwbGljYXRpb24veC13d3ctZm9ybS11
cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04Iixwcm9jZXNzRGF0YTohMCxhc3luYzoh
MCxhY2NlcHRzOnt4bWw6ImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLGh0bWw6
InRleHQvaHRtbCIsdGV4dDoidGV4dC9wbGFpbiIsanNvbjoiYXBwbGljYXRpb24v
anNvbiwgdGV4dC9qYXZhc2NyaXB0IiwiKiI6Yld9LGNvbnRlbnRzOnt4bWw6L3ht
bC8saHRtbDovaHRtbC8sanNvbjovanNvbi99LHJlc3BvbnNlRmllbGRzOnt4bWw6
InJlc3BvbnNlWE1MIix0ZXh0OiJyZXNwb25zZVRleHQifSxjb252ZXJ0ZXJzOnsi
KiB0ZXh0IjphLlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjpmLnBh
cnNlSlNPTiwidGV4dCB4bWwiOmYucGFyc2VYTUx9LGZsYXRPcHRpb25zOntjb250
ZXh0OiEwLHVybDohMH19LGFqYXhQcmVmaWx0ZXI6YlkoYlMpLGFqYXhUcmFuc3Bv
cnQ6YlkoYlQpLGFqYXg6ZnVuY3Rpb24oYSxjKXtmdW5jdGlvbiB3KGEsYyxsLG0p
e2lmKHMhPT0yKXtzPTIscSYmY2xlYXJUaW1lb3V0KHEpLHA9YixuPW18fCIiLHYu
cmVhZHlTdGF0ZT1hPjA/NDowO3ZhciBvLHIsdSx3PWMseD1sP2NhKGQsdixsKTpi
LHksejtpZihhPj0yMDAmJmE8MzAwfHxhPT09MzA0KXtpZihkLmlmTW9kaWZpZWQp
e2lmKHk9di5nZXRSZXNwb25zZUhlYWRlcigiTGFzdC1Nb2RpZmllZCIpKWYubGFz
dE1vZGlmaWVkW2tdPXk7aWYoej12LmdldFJlc3BvbnNlSGVhZGVyKCJFdGFnIikp
Zi5ldGFnW2tdPXp9aWYoYT09PTMwNCl3PSJub3Rtb2RpZmllZCIsbz0hMDtlbHNl
IHRyeXtyPWNiKGQseCksdz0ic3VjY2VzcyIsbz0hMH1jYXRjaChBKXt3PSJwYXJz
ZXJlcnJvciIsdT1BfX1lbHNle3U9dztpZighd3x8YSl3PSJlcnJvciIsYTwwJiYo
YT0wKX12LnN0YXR1cz1hLHYuc3RhdHVzVGV4dD0iIisoY3x8dyksbz9oLnJlc29s
dmVXaXRoKGUsW3Isdyx2XSk6aC5yZWplY3RXaXRoKGUsW3Ysdyx1XSksdi5zdGF0
dXNDb2RlKGopLGo9Yix0JiZnLnRyaWdnZXIoImFqYXgiKyhvPyJTdWNjZXNzIjoi
RXJyb3IiKSxbdixkLG8/cjp1XSksaS5maXJlV2l0aChlLFt2LHddKSx0JiYoZy50
cmlnZ2VyKCJhamF4Q29tcGxldGUiLFt2LGRdKSwtLWYuYWN0aXZlfHxmLmV2ZW50
LnRyaWdnZXIoImFqYXhTdG9wIikpfX10eXBlb2YgYT09Im9iamVjdCImJihjPWEs
YT1iKSxjPWN8fHt9O3ZhciBkPWYuYWpheFNldHVwKHt9LGMpLGU9ZC5jb250ZXh0
fHxkLGc9ZSE9PWQmJihlLm5vZGVUeXBlfHxlIGluc3RhbmNlb2YgZik/ZihlKTpm
LmV2ZW50LGg9Zi5EZWZlcnJlZCgpLGk9Zi5DYWxsYmFja3MoIm9uY2UgbWVtb3J5
Iiksaj1kLnN0YXR1c0NvZGV8fHt9LGssbD17fSxtPXt9LG4sbyxwLHEscixzPTAs
dCx1LHY9e3JlYWR5U3RhdGU6MCxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGEs
Yil7aWYoIXMpe3ZhciBjPWEudG9Mb3dlckNhc2UoKTthPW1bY109bVtjXXx8YSxs
W2FdPWJ9cmV0dXJuIHRoaXN9LGdldEFsbFJlc3BvbnNlSGVhZGVyczpmdW5jdGlv
bigpe3JldHVybiBzPT09Mj9uOm51bGx9LGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0
aW9uKGEpe3ZhciBjO2lmKHM9PT0yKXtpZighbyl7bz17fTt3aGlsZShjPWJHLmV4
ZWMobikpb1tjWzFdLnRvTG93ZXJDYXNlKCldPWNbMl19Yz1vW2EudG9Mb3dlckNh
c2UoKV19cmV0dXJuIGM9PT1iP251bGw6Y30sb3ZlcnJpZGVNaW1lVHlwZTpmdW5j
dGlvbihhKXtzfHwoZC5taW1lVHlwZT1hKTtyZXR1cm4gdGhpc30sYWJvcnQ6ZnVu
Y3Rpb24oYSl7YT1hfHwiYWJvcnQiLHAmJnAuYWJvcnQoYSksdygwLGEpO3JldHVy
biB0aGlzfX07aC5wcm9taXNlKHYpLHYuc3VjY2Vzcz12LmRvbmUsdi5lcnJvcj12
LmZhaWwsdi5jb21wbGV0ZT1pLmFkZCx2LnN0YXR1c0NvZGU9ZnVuY3Rpb24oYSl7
aWYoYSl7dmFyIGI7aWYoczwyKWZvcihiIGluIGEpaltiXT1baltiXSxhW2JdXTtl
bHNlIGI9YVt2LnN0YXR1c10sdi50aGVuKGIsYil9cmV0dXJuIHRoaXN9LGQudXJs
PSgoYXx8ZC51cmwpKyIiKS5yZXBsYWNlKGJGLCIiKS5yZXBsYWNlKGJLLGJWWzFd
KyIvLyIpLGQuZGF0YVR5cGVzPWYudHJpbShkLmRhdGFUeXBlfHwiKiIpLnRvTG93
ZXJDYXNlKCkuc3BsaXQoYk8pLGQuY3Jvc3NEb21haW49PW51bGwmJihyPWJRLmV4
ZWMoZC51cmwudG9Mb3dlckNhc2UoKSksZC5jcm9zc0RvbWFpbj0hKCFyfHxyWzFd
PT1iVlsxXSYmclsyXT09YlZbMl0mJihyWzNdfHwoclsxXT09PSJodHRwOiI/ODA6
NDQzKSk9PShiVlszXXx8KGJWWzFdPT09Imh0dHA6Ij84MDo0NDMpKSkpLGQuZGF0
YSYmZC5wcm9jZXNzRGF0YSYmdHlwZW9mIGQuZGF0YSE9InN0cmluZyImJihkLmRh
dGE9Zi5wYXJhbShkLmRhdGEsZC50cmFkaXRpb25hbCkpLGJaKGJTLGQsYyx2KTtp
ZihzPT09MilyZXR1cm4hMTt0PWQuZ2xvYmFsLGQudHlwZT1kLnR5cGUudG9VcHBl
ckNhc2UoKSxkLmhhc0NvbnRlbnQ9IWJKLnRlc3QoZC50eXBlKSx0JiZmLmFjdGl2
ZSsrPT09MCYmZi5ldmVudC50cmlnZ2VyKCJhamF4U3RhcnQiKTtpZighZC5oYXND
b250ZW50KXtkLmRhdGEmJihkLnVybCs9KGJMLnRlc3QoZC51cmwpPyImIjoiPyIp
K2QuZGF0YSxkZWxldGUgZC5kYXRhKSxrPWQudXJsO2lmKGQuY2FjaGU9PT0hMSl7
dmFyIHg9Zi5ub3coKSx5PWQudXJsLnJlcGxhY2UoYlAsIiQxXz0iK3gpO2QudXJs
PXkrKHk9PT1kLnVybD8oYkwudGVzdChkLnVybCk/IiYiOiI/IikrIl89Iit4OiIi
KX19KGQuZGF0YSYmZC5oYXNDb250ZW50JiZkLmNvbnRlbnRUeXBlIT09ITF8fGMu
Y29udGVudFR5cGUpJiZ2LnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIs
ZC5jb250ZW50VHlwZSksZC5pZk1vZGlmaWVkJiYoaz1rfHxkLnVybCxmLmxhc3RN
b2RpZmllZFtrXSYmdi5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Nb2RpZmllZC1TaW5j
ZSIsZi5sYXN0TW9kaWZpZWRba10pLGYuZXRhZ1trXSYmdi5zZXRSZXF1ZXN0SGVh
ZGVyKCJJZi1Ob25lLU1hdGNoIixmLmV0YWdba10pKSx2LnNldFJlcXVlc3RIZWFk
ZXIoIkFjY2VwdCIsZC5kYXRhVHlwZXNbMF0mJmQuYWNjZXB0c1tkLmRhdGFUeXBl
c1swXV0/ZC5hY2NlcHRzW2QuZGF0YVR5cGVzWzBdXSsoZC5kYXRhVHlwZXNbMF0h
PT0iKiI/IiwgIitiVysiOyBxPTAuMDEiOiIiKTpkLmFjY2VwdHNbIioiXSk7Zm9y
KHUgaW4gZC5oZWFkZXJzKXYuc2V0UmVxdWVzdEhlYWRlcih1LGQuaGVhZGVyc1t1
XSk7aWYoZC5iZWZvcmVTZW5kJiYoZC5iZWZvcmVTZW5kLmNhbGwoZSx2LGQpPT09
ITF8fHM9PT0yKSl7di5hYm9ydCgpO3JldHVybiExfWZvcih1IGlue3N1Y2Nlc3M6
MSxlcnJvcjoxLGNvbXBsZXRlOjF9KXZbdV0oZFt1XSk7cD1iWihiVCxkLGMsdik7
aWYoIXApdygtMSwiTm8gVHJhbnNwb3J0Iik7ZWxzZXt2LnJlYWR5U3RhdGU9MSx0
JiZnLnRyaWdnZXIoImFqYXhTZW5kIixbdixkXSksZC5hc3luYyYmZC50aW1lb3V0
PjAmJihxPXNldFRpbWVvdXQoZnVuY3Rpb24oKXt2LmFib3J0KCJ0aW1lb3V0Iil9
LGQudGltZW91dCkpO3RyeXtzPTEscC5zZW5kKGwsdyl9Y2F0Y2goeil7aWYoczwy
KXcoLTEseik7ZWxzZSB0aHJvdyB6fX1yZXR1cm4gdn0scGFyYW06ZnVuY3Rpb24o
YSxjKXt2YXIgZD1bXSxlPWZ1bmN0aW9uKGEsYil7Yj1mLmlzRnVuY3Rpb24oYik/
YigpOmIsZFtkLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGEpKyI9IitlbmNv
ZGVVUklDb21wb25lbnQoYil9O2M9PT1iJiYoYz1mLmFqYXhTZXR0aW5ncy50cmFk
aXRpb25hbCk7aWYoZi5pc0FycmF5KGEpfHxhLmpxdWVyeSYmIWYuaXNQbGFpbk9i
amVjdChhKSlmLmVhY2goYSxmdW5jdGlvbigpe2UodGhpcy5uYW1lLHRoaXMudmFs
dWUpfSk7ZWxzZSBmb3IodmFyIGcgaW4gYSliXyhnLGFbZ10sYyxlKTtyZXR1cm4g
ZC5qb2luKCImIikucmVwbGFjZShiQywiKyIpfX0pLGYuZXh0ZW5kKHthY3RpdmU6
MCxsYXN0TW9kaWZpZWQ6e30sZXRhZzp7fX0pO3ZhciBjYz1mLm5vdygpLGNkPS8o
XD0pXD8oJnwkKXxcP1w/L2k7Zi5hamF4U2V0dXAoe2pzb25wOiJjYWxsYmFjayIs
anNvbnBDYWxsYmFjazpmdW5jdGlvbigpe3JldHVybiBmLmV4cGFuZG8rIl8iK2Nj
Kyt9fSksZi5hamF4UHJlZmlsdGVyKCJqc29uIGpzb25wIixmdW5jdGlvbihiLGMs
ZCl7dmFyIGU9dHlwZW9mIGIuZGF0YT09InN0cmluZyImJi9eYXBwbGljYXRpb25c
L3hcLXd3d1wtZm9ybVwtdXJsZW5jb2RlZC8udGVzdChiLmNvbnRlbnRUeXBlKTtp
ZihiLmRhdGFUeXBlc1swXT09PSJqc29ucCJ8fGIuanNvbnAhPT0hMSYmKGNkLnRl
c3QoYi51cmwpfHxlJiZjZC50ZXN0KGIuZGF0YSkpKXt2YXIgZyxoPWIuanNvbnBD
YWxsYmFjaz1mLmlzRnVuY3Rpb24oYi5qc29ucENhbGxiYWNrKT9iLmpzb25wQ2Fs
bGJhY2soKTpiLmpzb25wQ2FsbGJhY2ssaT1hW2hdLGo9Yi51cmwsaz1iLmRhdGEs
bD0iJDEiK2grIiQyIjtiLmpzb25wIT09ITEmJihqPWoucmVwbGFjZShjZCxsKSxi
LnVybD09PWomJihlJiYoaz1rLnJlcGxhY2UoY2QsbCkpLGIuZGF0YT09PWsmJihq
Kz0oL1w/Ly50ZXN0KGopPyImIjoiPyIpK2IuanNvbnArIj0iK2gpKSksYi51cmw9
aixiLmRhdGE9ayxhW2hdPWZ1bmN0aW9uKGEpe2c9W2FdfSxkLmFsd2F5cyhmdW5j
dGlvbigpe2FbaF09aSxnJiZmLmlzRnVuY3Rpb24oaSkmJmFbaF0oZ1swXSl9KSxi
LmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl09ZnVuY3Rpb24oKXtnfHxmLmVycm9y
KGgrIiB3YXMgbm90IGNhbGxlZCIpO3JldHVybiBnWzBdfSxiLmRhdGFUeXBlc1sw
XT0ianNvbiI7cmV0dXJuInNjcmlwdCJ9fSksZi5hamF4U2V0dXAoe2FjY2VwdHM6
e3NjcmlwdDoidGV4dC9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0
LCBhcHBsaWNhdGlvbi9lY21hc2NyaXB0LCBhcHBsaWNhdGlvbi94LWVjbWFzY3Jp
cHQifSxjb250ZW50czp7c2NyaXB0Oi9qYXZhc2NyaXB0fGVjbWFzY3JpcHQvfSxj
b252ZXJ0ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKGEpe2YuZ2xvYmFsRXZh
bChhKTtyZXR1cm4gYX19fSksZi5hamF4UHJlZmlsdGVyKCJzY3JpcHQiLGZ1bmN0
aW9uKGEpe2EuY2FjaGU9PT1iJiYoYS5jYWNoZT0hMSksYS5jcm9zc0RvbWFpbiYm
KGEudHlwZT0iR0VUIixhLmdsb2JhbD0hMSl9KSxmLmFqYXhUcmFuc3BvcnQoInNj
cmlwdCIsZnVuY3Rpb24oYSl7aWYoYS5jcm9zc0RvbWFpbil7dmFyIGQsZT1jLmhl
YWR8fGMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8Yy5kb2N1bWVu
dEVsZW1lbnQ7cmV0dXJue3NlbmQ6ZnVuY3Rpb24oZixnKXtkPWMuY3JlYXRlRWxl
bWVudCgic2NyaXB0IiksZC5hc3luYz0iYXN5bmMiLGEuc2NyaXB0Q2hhcnNldCYm
KGQuY2hhcnNldD1hLnNjcmlwdENoYXJzZXQpLGQuc3JjPWEudXJsLGQub25sb2Fk
PWQub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKGEsYyl7aWYoY3x8IWQucmVh
ZHlTdGF0ZXx8L2xvYWRlZHxjb21wbGV0ZS8udGVzdChkLnJlYWR5U3RhdGUpKWQu
b25sb2FkPWQub25yZWFkeXN0YXRlY2hhbmdlPW51bGwsZSYmZC5wYXJlbnROb2Rl
JiZlLnJlbW92ZUNoaWxkKGQpLGQ9YixjfHxnKDIwMCwic3VjY2VzcyIpfSxlLmlu
c2VydEJlZm9yZShkLGUuZmlyc3RDaGlsZCl9LGFib3J0OmZ1bmN0aW9uKCl7ZCYm
ZC5vbmxvYWQoMCwxKX19fX0pO3ZhciBjZT1hLkFjdGl2ZVhPYmplY3Q/ZnVuY3Rp
b24oKXtmb3IodmFyIGEgaW4gY2cpY2dbYV0oMCwxKX06ITEsY2Y9MCxjZztmLmFq
YXhTZXR0aW5ncy54aHI9YS5BY3RpdmVYT2JqZWN0P2Z1bmN0aW9uKCl7cmV0dXJu
IXRoaXMuaXNMb2NhbCYmY2goKXx8Y2koKX06Y2gsZnVuY3Rpb24oYSl7Zi5leHRl
bmQoZi5zdXBwb3J0LHthamF4OiEhYSxjb3JzOiEhYSYmIndpdGhDcmVkZW50aWFs
cyJpbiBhfSl9KGYuYWpheFNldHRpbmdzLnhocigpKSxmLnN1cHBvcnQuYWpheCYm
Zi5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKGMpe2lmKCFjLmNyb3NzRG9tYWlufHxm
LnN1cHBvcnQuY29ycyl7dmFyIGQ7cmV0dXJue3NlbmQ6ZnVuY3Rpb24oZSxnKXt2
YXIgaD1jLnhocigpLGksajtjLnVzZXJuYW1lP2gub3BlbihjLnR5cGUsYy51cmws
Yy5hc3luYyxjLnVzZXJuYW1lLGMucGFzc3dvcmQpOmgub3BlbihjLnR5cGUsYy51
cmwsYy5hc3luYyk7aWYoYy54aHJGaWVsZHMpZm9yKGogaW4gYy54aHJGaWVsZHMp
aFtqXT1jLnhockZpZWxkc1tqXTtjLm1pbWVUeXBlJiZoLm92ZXJyaWRlTWltZVR5
cGUmJmgub3ZlcnJpZGVNaW1lVHlwZShjLm1pbWVUeXBlKSwhYy5jcm9zc0RvbWFp
biYmIWVbIlgtUmVxdWVzdGVkLVdpdGgiXSYmKGVbIlgtUmVxdWVzdGVkLVdpdGgi
XT0iWE1MSHR0cFJlcXVlc3QiKTt0cnl7Zm9yKGogaW4gZSloLnNldFJlcXVlc3RI
ZWFkZXIoaixlW2pdKX1jYXRjaChrKXt9aC5zZW5kKGMuaGFzQ29udGVudCYmYy5k
YXRhfHxudWxsKSxkPWZ1bmN0aW9uKGEsZSl7dmFyIGosayxsLG0sbjt0cnl7aWYo
ZCYmKGV8fGgucmVhZHlTdGF0ZT09PTQpKXtkPWIsaSYmKGgub25yZWFkeXN0YXRl
Y2hhbmdlPWYubm9vcCxjZSYmZGVsZXRlIGNnW2ldKTtpZihlKWgucmVhZHlTdGF0
ZSE9PTQmJmguYWJvcnQoKTtlbHNle2o9aC5zdGF0dXMsbD1oLmdldEFsbFJlc3Bv
bnNlSGVhZGVycygpLG09e30sbj1oLnJlc3BvbnNlWE1MLG4mJm4uZG9jdW1lbnRF
bGVtZW50JiYobS54bWw9bik7dHJ5e20udGV4dD1oLnJlc3BvbnNlVGV4dH1jYXRj
aChhKXt9dHJ5e2s9aC5zdGF0dXNUZXh0fWNhdGNoKG8pe2s9IiJ9IWomJmMuaXNM
b2NhbCYmIWMuY3Jvc3NEb21haW4/aj1tLnRleHQ/MjAwOjQwNDpqPT09MTIyMyYm
KGo9MjA0KX19fWNhdGNoKHApe2V8fGcoLTEscCl9bSYmZyhqLGssbSxsKX0sIWMu
YXN5bmN8fGgucmVhZHlTdGF0ZT09PTQ/ZCgpOihpPSsrY2YsY2UmJihjZ3x8KGNn
PXt9LGYoYSkudW5sb2FkKGNlKSksY2dbaV09ZCksaC5vbnJlYWR5c3RhdGVjaGFu
Z2U9ZCl9LGFib3J0OmZ1bmN0aW9uKCl7ZCYmZCgwLDEpfX19fSk7dmFyIGNqPXt9
LGNrLGNsLGNtPS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxjbj0vXihbK1wtXT0p
PyhbXGQrLlwtXSspKFthLXolXSopJC9pLGNvLGNwPVtbImhlaWdodCIsIm1hcmdp
blRvcCIsIm1hcmdpbkJvdHRvbSIsInBhZGRpbmdUb3AiLCJwYWRkaW5nQm90dG9t
Il0sWyJ3aWR0aCIsIm1hcmdpbkxlZnQiLCJtYXJnaW5SaWdodCIsInBhZGRpbmdM
ZWZ0IiwicGFkZGluZ1JpZ2h0Il0sWyJvcGFjaXR5Il1dLGNxO2YuZm4uZXh0ZW5k
KHtzaG93OmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlO2lmKGF8fGE9PT0wKXJldHVy
biB0aGlzLmFuaW1hdGUoY3QoInNob3ciLDMpLGEsYixjKTtmb3IodmFyIGc9MCxo
PXRoaXMubGVuZ3RoO2c8aDtnKyspZD10aGlzW2ddLGQuc3R5bGUmJihlPWQuc3R5
bGUuZGlzcGxheSwhZi5fZGF0YShkLCJvbGRkaXNwbGF5IikmJmU9PT0ibm9uZSIm
JihlPWQuc3R5bGUuZGlzcGxheT0iIiksKGU9PT0iIiYmZi5jc3MoZCwiZGlzcGxh
eSIpPT09Im5vbmUifHwhZi5jb250YWlucyhkLm93bmVyRG9jdW1lbnQuZG9jdW1l
bnRFbGVtZW50LGQpKSYmZi5fZGF0YShkLCJvbGRkaXNwbGF5IixjdShkLm5vZGVO
YW1lKSkpO2ZvcihnPTA7ZzxoO2crKyl7ZD10aGlzW2ddO2lmKGQuc3R5bGUpe2U9
ZC5zdHlsZS5kaXNwbGF5O2lmKGU9PT0iInx8ZT09PSJub25lIilkLnN0eWxlLmRp
c3BsYXk9Zi5fZGF0YShkLCJvbGRkaXNwbGF5Iil8fCIifX1yZXR1cm4gdGhpc30s
aGlkZTpmdW5jdGlvbihhLGIsYyl7aWYoYXx8YT09PTApcmV0dXJuIHRoaXMuYW5p
bWF0ZShjdCgiaGlkZSIsMyksYSxiLGMpO3ZhciBkLGUsZz0wLGg9dGhpcy5sZW5n
dGg7Zm9yKDtnPGg7ZysrKWQ9dGhpc1tnXSxkLnN0eWxlJiYoZT1mLmNzcyhkLCJk
aXNwbGF5IiksZSE9PSJub25lIiYmIWYuX2RhdGEoZCwib2xkZGlzcGxheSIpJiZm
Ll9kYXRhKGQsIm9sZGRpc3BsYXkiLGUpKTtmb3IoZz0wO2c8aDtnKyspdGhpc1tn
XS5zdHlsZSYmKHRoaXNbZ10uc3R5bGUuZGlzcGxheT0ibm9uZSIpO3JldHVybiB0
aGlzfSxfdG9nZ2xlOmYuZm4udG9nZ2xlLHRvZ2dsZTpmdW5jdGlvbihhLGIsYyl7
dmFyIGQ9dHlwZW9mIGE9PSJib29sZWFuIjtmLmlzRnVuY3Rpb24oYSkmJmYuaXNG
dW5jdGlvbihiKT90aGlzLl90b2dnbGUuYXBwbHkodGhpcyxhcmd1bWVudHMpOmE9
PW51bGx8fGQ/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9ZD9hOmYodGhpcyku
aXMoIjpoaWRkZW4iKTtmKHRoaXMpW2I/InNob3ciOiJoaWRlIl0oKX0pOnRoaXMu
YW5pbWF0ZShjdCgidG9nZ2xlIiwzKSxhLGIsYyk7cmV0dXJuIHRoaXN9LGZhZGVU
bzpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5maWx0ZXIoIjpoaWRkZW4i
KS5jc3MoIm9wYWNpdHkiLDApLnNob3coKS5lbmQoKS5hbmltYXRlKHtvcGFjaXR5
OmJ9LGEsYyxkKX0sYW5pbWF0ZTpmdW5jdGlvbihhLGIsYyxkKXtmdW5jdGlvbiBn
KCl7ZS5xdWV1ZT09PSExJiZmLl9tYXJrKHRoaXMpO3ZhciBiPWYuZXh0ZW5kKHt9
LGUpLGM9dGhpcy5ub2RlVHlwZT09PTEsZD1jJiZmKHRoaXMpLmlzKCI6aGlkZGVu
IiksZyxoLGksaixrLGwsbSxuLG8scCxxO2IuYW5pbWF0ZWRQcm9wZXJ0aWVzPXt9
O2ZvcihpIGluIGEpe2c9Zi5jYW1lbENhc2UoaSksaSE9PWcmJihhW2ddPWFbaV0s
ZGVsZXRlIGFbaV0pO2lmKChrPWYuY3NzSG9va3NbZ10pJiYiZXhwYW5kImluIGsp
e2w9ay5leHBhbmQoYVtnXSksZGVsZXRlIGFbZ107Zm9yKGkgaW4gbClpIGluIGF8
fChhW2ldPWxbaV0pfX1mb3IoZyBpbiBhKXtoPWFbZ10sZi5pc0FycmF5KGgpPyhi
LmFuaW1hdGVkUHJvcGVydGllc1tnXT1oWzFdLGg9YVtnXT1oWzBdKTpiLmFuaW1h
dGVkUHJvcGVydGllc1tnXT1iLnNwZWNpYWxFYXNpbmcmJmIuc3BlY2lhbEVhc2lu
Z1tnXXx8Yi5lYXNpbmd8fCJzd2luZyI7aWYoaD09PSJoaWRlIiYmZHx8aD09PSJz
aG93IiYmIWQpcmV0dXJuIGIuY29tcGxldGUuY2FsbCh0aGlzKTtjJiYoZz09PSJo
ZWlnaHQifHxnPT09IndpZHRoIikmJihiLm92ZXJmbG93PVt0aGlzLnN0eWxlLm92
ZXJmbG93LHRoaXMuc3R5bGUub3ZlcmZsb3dYLHRoaXMuc3R5bGUub3ZlcmZsb3dZ
XSxmLmNzcyh0aGlzLCJkaXNwbGF5Iik9PT0iaW5saW5lIiYmZi5jc3ModGhpcywi
ZmxvYXQiKT09PSJub25lIiYmKCFmLnN1cHBvcnQuaW5saW5lQmxvY2tOZWVkc0xh
eW91dHx8Y3UodGhpcy5ub2RlTmFtZSk9PT0iaW5saW5lIj90aGlzLnN0eWxlLmRp
c3BsYXk9ImlubGluZS1ibG9jayI6dGhpcy5zdHlsZS56b29tPTEpKX1iLm92ZXJm
bG93IT1udWxsJiYodGhpcy5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIik7Zm9yKGkg
aW4gYSlqPW5ldyBmLmZ4KHRoaXMsYixpKSxoPWFbaV0sY20udGVzdChoKT8ocT1m
Ll9kYXRhKHRoaXMsInRvZ2dsZSIraSl8fChoPT09InRvZ2dsZSI/ZD8ic2hvdyI6
ImhpZGUiOjApLHE/KGYuX2RhdGEodGhpcywidG9nZ2xlIitpLHE9PT0ic2hvdyI/
ImhpZGUiOiJzaG93IiksaltxXSgpKTpqW2hdKCkpOihtPWNuLmV4ZWMoaCksbj1q
LmN1cigpLG0/KG89cGFyc2VGbG9hdChtWzJdKSxwPW1bM118fChmLmNzc051bWJl
cltpXT8iIjoicHgiKSxwIT09InB4IiYmKGYuc3R5bGUodGhpcyxpLChvfHwxKStw
KSxuPShvfHwxKS9qLmN1cigpKm4sZi5zdHlsZSh0aGlzLGksbitwKSksbVsxXSYm
KG89KG1bMV09PT0iLT0iPy0xOjEpKm8rbiksai5jdXN0b20obixvLHApKTpqLmN1
c3RvbShuLGgsIiIpKTtyZXR1cm4hMH12YXIgZT1mLnNwZWVkKGIsYyxkKTtpZihm
LmlzRW1wdHlPYmplY3QoYSkpcmV0dXJuIHRoaXMuZWFjaChlLmNvbXBsZXRlLFsh
MV0pO2E9Zi5leHRlbmQoe30sYSk7cmV0dXJuIGUucXVldWU9PT0hMT90aGlzLmVh
Y2goZyk6dGhpcy5xdWV1ZShlLnF1ZXVlLGcpfSxzdG9wOmZ1bmN0aW9uKGEsYyxk
KXt0eXBlb2YgYSE9InN0cmluZyImJihkPWMsYz1hLGE9YiksYyYmYSE9PSExJiZ0
aGlzLnF1ZXVlKGF8fCJmeCIsW10pO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24o
KXtmdW5jdGlvbiBoKGEsYixjKXt2YXIgZT1iW2NdO2YucmVtb3ZlRGF0YShhLGMs
ITApLGUuc3RvcChkKX12YXIgYixjPSExLGU9Zi50aW1lcnMsZz1mLl9kYXRhKHRo
aXMpO2R8fGYuX3VubWFyayghMCx0aGlzKTtpZihhPT1udWxsKWZvcihiIGluIGcp
Z1tiXSYmZ1tiXS5zdG9wJiZiLmluZGV4T2YoIi5ydW4iKT09PWIubGVuZ3RoLTQm
JmgodGhpcyxnLGIpO2Vsc2UgZ1tiPWErIi5ydW4iXSYmZ1tiXS5zdG9wJiZoKHRo
aXMsZyxiKTtmb3IoYj1lLmxlbmd0aDtiLS07KWVbYl0uZWxlbT09PXRoaXMmJihh
PT1udWxsfHxlW2JdLnF1ZXVlPT09YSkmJihkP2VbYl0oITApOmVbYl0uc2F2ZVN0
YXRlKCksYz0hMCxlLnNwbGljZShiLDEpKTsoIWR8fCFjKSYmZi5kZXF1ZXVlKHRo
aXMsYSl9KX19KSxmLmVhY2goe3NsaWRlRG93bjpjdCgic2hvdyIsMSksc2xpZGVV
cDpjdCgiaGlkZSIsMSksc2xpZGVUb2dnbGU6Y3QoInRvZ2dsZSIsMSksZmFkZUlu
OntvcGFjaXR5OiJzaG93In0sZmFkZU91dDp7b3BhY2l0eToiaGlkZSJ9LGZhZGVU
b2dnbGU6e29wYWNpdHk6InRvZ2dsZSJ9fSxmdW5jdGlvbihhLGIpe2YuZm5bYV09
ZnVuY3Rpb24oYSxjLGQpe3JldHVybiB0aGlzLmFuaW1hdGUoYixhLGMsZCl9fSks
Zi5leHRlbmQoe3NwZWVkOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hJiZ0eXBlb2Yg
YT09Im9iamVjdCI/Zi5leHRlbmQoe30sYSk6e2NvbXBsZXRlOmN8fCFjJiZifHxm
LmlzRnVuY3Rpb24oYSkmJmEsZHVyYXRpb246YSxlYXNpbmc6YyYmYnx8YiYmIWYu
aXNGdW5jdGlvbihiKSYmYn07ZC5kdXJhdGlvbj1mLmZ4Lm9mZj8wOnR5cGVvZiBk
LmR1cmF0aW9uPT0ibnVtYmVyIj9kLmR1cmF0aW9uOmQuZHVyYXRpb24gaW4gZi5m
eC5zcGVlZHM/Zi5meC5zcGVlZHNbZC5kdXJhdGlvbl06Zi5meC5zcGVlZHMuX2Rl
ZmF1bHQ7aWYoZC5xdWV1ZT09bnVsbHx8ZC5xdWV1ZT09PSEwKWQucXVldWU9ImZ4
IjtkLm9sZD1kLmNvbXBsZXRlLGQuY29tcGxldGU9ZnVuY3Rpb24oYSl7Zi5pc0Z1
bmN0aW9uKGQub2xkKSYmZC5vbGQuY2FsbCh0aGlzKSxkLnF1ZXVlP2YuZGVxdWV1
ZSh0aGlzLGQucXVldWUpOmEhPT0hMSYmZi5fdW5tYXJrKHRoaXMpfTtyZXR1cm4g
ZH0sZWFzaW5nOntsaW5lYXI6ZnVuY3Rpb24oYSl7cmV0dXJuIGF9LHN3aW5nOmZ1
bmN0aW9uKGEpe3JldHVybi1NYXRoLmNvcyhhKk1hdGguUEkpLzIrLjV9fSx0aW1l
cnM6W10sZng6ZnVuY3Rpb24oYSxiLGMpe3RoaXMub3B0aW9ucz1iLHRoaXMuZWxl
bT1hLHRoaXMucHJvcD1jLGIub3JpZz1iLm9yaWd8fHt9fX0pLGYuZngucHJvdG90
eXBlPXt1cGRhdGU6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuc3RlcCYmdGhpcy5v
cHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sdGhpcy5ub3csdGhpcyksKGYuZngu
c3RlcFt0aGlzLnByb3BdfHxmLmZ4LnN0ZXAuX2RlZmF1bHQpKHRoaXMpfSxjdXI6
ZnVuY3Rpb24oKXtpZih0aGlzLmVsZW1bdGhpcy5wcm9wXSE9bnVsbCYmKCF0aGlz
LmVsZW0uc3R5bGV8fHRoaXMuZWxlbS5zdHlsZVt0aGlzLnByb3BdPT1udWxsKSly
ZXR1cm4gdGhpcy5lbGVtW3RoaXMucHJvcF07dmFyIGEsYj1mLmNzcyh0aGlzLmVs
ZW0sdGhpcy5wcm9wKTtyZXR1cm4gaXNOYU4oYT1wYXJzZUZsb2F0KGIpKT8hYnx8
Yj09PSJhdXRvIj8wOmI6YX0sY3VzdG9tOmZ1bmN0aW9uKGEsYyxkKXtmdW5jdGlv
biBoKGEpe3JldHVybiBlLnN0ZXAoYSl9dmFyIGU9dGhpcyxnPWYuZng7dGhpcy5z
dGFydFRpbWU9Y3F8fGNyKCksdGhpcy5lbmQ9Yyx0aGlzLm5vdz10aGlzLnN0YXJ0
PWEsdGhpcy5wb3M9dGhpcy5zdGF0ZT0wLHRoaXMudW5pdD1kfHx0aGlzLnVuaXR8
fChmLmNzc051bWJlclt0aGlzLnByb3BdPyIiOiJweCIpLGgucXVldWU9dGhpcy5v
cHRpb25zLnF1ZXVlLGguZWxlbT10aGlzLmVsZW0saC5zYXZlU3RhdGU9ZnVuY3Rp
b24oKXtmLl9kYXRhKGUuZWxlbSwiZnhzaG93IitlLnByb3ApPT09YiYmKGUub3B0
aW9ucy5oaWRlP2YuX2RhdGEoZS5lbGVtLCJmeHNob3ciK2UucHJvcCxlLnN0YXJ0
KTplLm9wdGlvbnMuc2hvdyYmZi5fZGF0YShlLmVsZW0sImZ4c2hvdyIrZS5wcm9w
LGUuZW5kKSl9LGgoKSYmZi50aW1lcnMucHVzaChoKSYmIWNvJiYoY289c2V0SW50
ZXJ2YWwoZy50aWNrLGcuaW50ZXJ2YWwpKX0sc2hvdzpmdW5jdGlvbigpe3ZhciBh
PWYuX2RhdGEodGhpcy5lbGVtLCJmeHNob3ciK3RoaXMucHJvcCk7dGhpcy5vcHRp
b25zLm9yaWdbdGhpcy5wcm9wXT1hfHxmLnN0eWxlKHRoaXMuZWxlbSx0aGlzLnBy
b3ApLHRoaXMub3B0aW9ucy5zaG93PSEwLGEhPT1iP3RoaXMuY3VzdG9tKHRoaXMu
Y3VyKCksYSk6dGhpcy5jdXN0b20odGhpcy5wcm9wPT09IndpZHRoInx8dGhpcy5w
cm9wPT09ImhlaWdodCI/MTowLHRoaXMuY3VyKCkpLGYodGhpcy5lbGVtKS5zaG93
KCl9LGhpZGU6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMub3JpZ1t0aGlzLnByb3Bd
PWYuX2RhdGEodGhpcy5lbGVtLCJmeHNob3ciK3RoaXMucHJvcCl8fGYuc3R5bGUo
dGhpcy5lbGVtLHRoaXMucHJvcCksdGhpcy5vcHRpb25zLmhpZGU9ITAsdGhpcy5j
dXN0b20odGhpcy5jdXIoKSwwKX0sc3RlcDpmdW5jdGlvbihhKXt2YXIgYixjLGQs
ZT1jcXx8Y3IoKSxnPSEwLGg9dGhpcy5lbGVtLGk9dGhpcy5vcHRpb25zO2lmKGF8
fGU+PWkuZHVyYXRpb24rdGhpcy5zdGFydFRpbWUpe3RoaXMubm93PXRoaXMuZW5k
LHRoaXMucG9zPXRoaXMuc3RhdGU9MSx0aGlzLnVwZGF0ZSgpLGkuYW5pbWF0ZWRQ
cm9wZXJ0aWVzW3RoaXMucHJvcF09ITA7Zm9yKGIgaW4gaS5hbmltYXRlZFByb3Bl
cnRpZXMpaS5hbmltYXRlZFByb3BlcnRpZXNbYl0hPT0hMCYmKGc9ITEpO2lmKGcp
e2kub3ZlcmZsb3chPW51bGwmJiFmLnN1cHBvcnQuc2hyaW5rV3JhcEJsb2NrcyYm
Zi5lYWNoKFsiIiwiWCIsIlkiXSxmdW5jdGlvbihhLGIpe2guc3R5bGVbIm92ZXJm
bG93IitiXT1pLm92ZXJmbG93W2FdfSksaS5oaWRlJiZmKGgpLmhpZGUoKTtpZihp
LmhpZGV8fGkuc2hvdylmb3IoYiBpbiBpLmFuaW1hdGVkUHJvcGVydGllcylmLnN0
eWxlKGgsYixpLm9yaWdbYl0pLGYucmVtb3ZlRGF0YShoLCJmeHNob3ciK2IsITAp
LGYucmVtb3ZlRGF0YShoLCJ0b2dnbGUiK2IsITApO2Q9aS5jb21wbGV0ZSxkJiYo
aS5jb21wbGV0ZT0hMSxkLmNhbGwoaCkpfXJldHVybiExfWkuZHVyYXRpb249PUlu
ZmluaXR5P3RoaXMubm93PWU6KGM9ZS10aGlzLnN0YXJ0VGltZSx0aGlzLnN0YXRl
PWMvaS5kdXJhdGlvbix0aGlzLnBvcz1mLmVhc2luZ1tpLmFuaW1hdGVkUHJvcGVy
dGllc1t0aGlzLnByb3BdXSh0aGlzLnN0YXRlLGMsMCwxLGkuZHVyYXRpb24pLHRo
aXMubm93PXRoaXMuc3RhcnQrKHRoaXMuZW5kLXRoaXMuc3RhcnQpKnRoaXMucG9z
KSx0aGlzLnVwZGF0ZSgpO3JldHVybiEwfX0sZi5leHRlbmQoZi5meCx7dGljazpm
dW5jdGlvbigpe3ZhciBhLGI9Zi50aW1lcnMsYz0wO2Zvcig7YzxiLmxlbmd0aDtj
KyspYT1iW2NdLCFhKCkmJmJbY109PT1hJiZiLnNwbGljZShjLS0sMSk7Yi5sZW5n
dGh8fGYuZnguc3RvcCgpfSxpbnRlcnZhbDoxMyxzdG9wOmZ1bmN0aW9uKCl7Y2xl
YXJJbnRlcnZhbChjbyksY289bnVsbH0sc3BlZWRzOntzbG93OjYwMCxmYXN0OjIw
MCxfZGVmYXVsdDo0MDB9LHN0ZXA6e29wYWNpdHk6ZnVuY3Rpb24oYSl7Zi5zdHls
ZShhLmVsZW0sIm9wYWNpdHkiLGEubm93KX0sX2RlZmF1bHQ6ZnVuY3Rpb24oYSl7
YS5lbGVtLnN0eWxlJiZhLmVsZW0uc3R5bGVbYS5wcm9wXSE9bnVsbD9hLmVsZW0u
c3R5bGVbYS5wcm9wXT1hLm5vdythLnVuaXQ6YS5lbGVtW2EucHJvcF09YS5ub3d9
fX0pLGYuZWFjaChjcC5jb25jYXQuYXBwbHkoW10sY3ApLGZ1bmN0aW9uKGEsYil7
Yi5pbmRleE9mKCJtYXJnaW4iKSYmKGYuZnguc3RlcFtiXT1mdW5jdGlvbihhKXtm
LnN0eWxlKGEuZWxlbSxiLE1hdGgubWF4KDAsYS5ub3cpK2EudW5pdCl9KX0pLGYu
ZXhwciYmZi5leHByLmZpbHRlcnMmJihmLmV4cHIuZmlsdGVycy5hbmltYXRlZD1m
dW5jdGlvbihhKXtyZXR1cm4gZi5ncmVwKGYudGltZXJzLGZ1bmN0aW9uKGIpe3Jl
dHVybiBhPT09Yi5lbGVtfSkubGVuZ3RofSk7dmFyIGN2LGN3PS9edCg/OmFibGV8
ZHxoKSQvaSxjeD0vXig/OmJvZHl8aHRtbCkkL2k7ImdldEJvdW5kaW5nQ2xpZW50
UmVjdCJpbiBjLmRvY3VtZW50RWxlbWVudD9jdj1mdW5jdGlvbihhLGIsYyxkKXt0
cnl7ZD1hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfWNhdGNoKGUpe31pZighZHx8
IWYuY29udGFpbnMoYyxhKSlyZXR1cm4gZD97dG9wOmQudG9wLGxlZnQ6ZC5sZWZ0
fTp7dG9wOjAsbGVmdDowfTt2YXIgZz1iLmJvZHksaD1jeShiKSxpPWMuY2xpZW50
VG9wfHxnLmNsaWVudFRvcHx8MCxqPWMuY2xpZW50TGVmdHx8Zy5jbGllbnRMZWZ0
fHwwLGs9aC5wYWdlWU9mZnNldHx8Zi5zdXBwb3J0LmJveE1vZGVsJiZjLnNjcm9s
bFRvcHx8Zy5zY3JvbGxUb3AsbD1oLnBhZ2VYT2Zmc2V0fHxmLnN1cHBvcnQuYm94
TW9kZWwmJmMuc2Nyb2xsTGVmdHx8Zy5zY3JvbGxMZWZ0LG09ZC50b3Aray1pLG49
ZC5sZWZ0K2wtajtyZXR1cm57dG9wOm0sbGVmdDpufX06Y3Y9ZnVuY3Rpb24oYSxi
LGMpe3ZhciBkLGU9YS5vZmZzZXRQYXJlbnQsZz1hLGg9Yi5ib2R5LGk9Yi5kZWZh
dWx0VmlldyxqPWk/aS5nZXRDb21wdXRlZFN0eWxlKGEsbnVsbCk6YS5jdXJyZW50
U3R5bGUsaz1hLm9mZnNldFRvcCxsPWEub2Zmc2V0TGVmdDt3aGlsZSgoYT1hLnBh
cmVudE5vZGUpJiZhIT09aCYmYSE9PWMpe2lmKGYuc3VwcG9ydC5maXhlZFBvc2l0
aW9uJiZqLnBvc2l0aW9uPT09ImZpeGVkIilicmVhaztkPWk/aS5nZXRDb21wdXRl
ZFN0eWxlKGEsbnVsbCk6YS5jdXJyZW50U3R5bGUsay09YS5zY3JvbGxUb3AsbC09
YS5zY3JvbGxMZWZ0LGE9PT1lJiYoays9YS5vZmZzZXRUb3AsbCs9YS5vZmZzZXRM
ZWZ0LGYuc3VwcG9ydC5kb2VzTm90QWRkQm9yZGVyJiYoIWYuc3VwcG9ydC5kb2Vz
QWRkQm9yZGVyRm9yVGFibGVBbmRDZWxsc3x8IWN3LnRlc3QoYS5ub2RlTmFtZSkp
JiYoays9cGFyc2VGbG9hdChkLmJvcmRlclRvcFdpZHRoKXx8MCxsKz1wYXJzZUZs
b2F0KGQuYm9yZGVyTGVmdFdpZHRoKXx8MCksZz1lLGU9YS5vZmZzZXRQYXJlbnQp
LGYuc3VwcG9ydC5zdWJ0cmFjdHNCb3JkZXJGb3JPdmVyZmxvd05vdFZpc2libGUm
JmQub3ZlcmZsb3chPT0idmlzaWJsZSImJihrKz1wYXJzZUZsb2F0KGQuYm9yZGVy
VG9wV2lkdGgpfHwwLGwrPXBhcnNlRmxvYXQoZC5ib3JkZXJMZWZ0V2lkdGgpfHww
KSxqPWR9aWYoai5wb3NpdGlvbj09PSJyZWxhdGl2ZSJ8fGoucG9zaXRpb249PT0i
c3RhdGljIilrKz1oLm9mZnNldFRvcCxsKz1oLm9mZnNldExlZnQ7Zi5zdXBwb3J0
LmZpeGVkUG9zaXRpb24mJmoucG9zaXRpb249PT0iZml4ZWQiJiYoays9TWF0aC5t
YXgoYy5zY3JvbGxUb3AsaC5zY3JvbGxUb3ApLGwrPU1hdGgubWF4KGMuc2Nyb2xs
TGVmdCxoLnNjcm9sbExlZnQpKTtyZXR1cm57dG9wOmssbGVmdDpsfX0sZi5mbi5v
ZmZzZXQ9ZnVuY3Rpb24oYSl7aWYoYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gYT09
PWI/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oYil7Zi5vZmZzZXQuc2V0T2Zmc2V0
KHRoaXMsYSxiKX0pO3ZhciBjPXRoaXNbMF0sZD1jJiZjLm93bmVyRG9jdW1lbnQ7
aWYoIWQpcmV0dXJuIG51bGw7aWYoYz09PWQuYm9keSlyZXR1cm4gZi5vZmZzZXQu
Ym9keU9mZnNldChjKTtyZXR1cm4gY3YoYyxkLGQuZG9jdW1lbnRFbGVtZW50KX0s
Zi5vZmZzZXQ9e2JvZHlPZmZzZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9YS5vZmZzZXRU
b3AsYz1hLm9mZnNldExlZnQ7Zi5zdXBwb3J0LmRvZXNOb3RJbmNsdWRlTWFyZ2lu
SW5Cb2R5T2Zmc2V0JiYoYis9cGFyc2VGbG9hdChmLmNzcyhhLCJtYXJnaW5Ub3Ai
KSl8fDAsYys9cGFyc2VGbG9hdChmLmNzcyhhLCJtYXJnaW5MZWZ0IikpfHwwKTty
ZXR1cm57dG9wOmIsbGVmdDpjfX0sc2V0T2Zmc2V0OmZ1bmN0aW9uKGEsYixjKXt2
YXIgZD1mLmNzcyhhLCJwb3NpdGlvbiIpO2Q9PT0ic3RhdGljIiYmKGEuc3R5bGUu
cG9zaXRpb249InJlbGF0aXZlIik7dmFyIGU9ZihhKSxnPWUub2Zmc2V0KCksaD1m
LmNzcyhhLCJ0b3AiKSxpPWYuY3NzKGEsImxlZnQiKSxqPShkPT09ImFic29sdXRl
Inx8ZD09PSJmaXhlZCIpJiZmLmluQXJyYXkoImF1dG8iLFtoLGldKT4tMSxrPXt9
LGw9e30sbSxuO2o/KGw9ZS5wb3NpdGlvbigpLG09bC50b3Asbj1sLmxlZnQpOiht
PXBhcnNlRmxvYXQoaCl8fDAsbj1wYXJzZUZsb2F0KGkpfHwwKSxmLmlzRnVuY3Rp
b24oYikmJihiPWIuY2FsbChhLGMsZykpLGIudG9wIT1udWxsJiYoay50b3A9Yi50
b3AtZy50b3ArbSksYi5sZWZ0IT1udWxsJiYoay5sZWZ0PWIubGVmdC1nLmxlZnQr
biksInVzaW5nImluIGI/Yi51c2luZy5jYWxsKGEsayk6ZS5jc3Moayl9fSxmLmZu
LmV4dGVuZCh7cG9zaXRpb246ZnVuY3Rpb24oKXtpZighdGhpc1swXSlyZXR1cm4g
bnVsbDt2YXIgYT10aGlzWzBdLGI9dGhpcy5vZmZzZXRQYXJlbnQoKSxjPXRoaXMu
b2Zmc2V0KCksZD1jeC50ZXN0KGJbMF0ubm9kZU5hbWUpP3t0b3A6MCxsZWZ0OjB9
OmIub2Zmc2V0KCk7Yy50b3AtPXBhcnNlRmxvYXQoZi5jc3MoYSwibWFyZ2luVG9w
IikpfHwwLGMubGVmdC09cGFyc2VGbG9hdChmLmNzcyhhLCJtYXJnaW5MZWZ0Iikp
fHwwLGQudG9wKz1wYXJzZUZsb2F0KGYuY3NzKGJbMF0sImJvcmRlclRvcFdpZHRo
IikpfHwwLGQubGVmdCs9cGFyc2VGbG9hdChmLmNzcyhiWzBdLCJib3JkZXJMZWZ0
V2lkdGgiKSl8fDA7cmV0dXJue3RvcDpjLnRvcC1kLnRvcCxsZWZ0OmMubGVmdC1k
LmxlZnR9fSxvZmZzZXRQYXJlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAo
ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9mZnNldFBhcmVudHx8Yy5ib2R5O3doaWxl
KGEmJiFjeC50ZXN0KGEubm9kZU5hbWUpJiZmLmNzcyhhLCJwb3NpdGlvbiIpPT09
InN0YXRpYyIpYT1hLm9mZnNldFBhcmVudDtyZXR1cm4gYX0pfX0pLGYuZWFjaCh7
c2Nyb2xsTGVmdDoicGFnZVhPZmZzZXQiLHNjcm9sbFRvcDoicGFnZVlPZmZzZXQi
fSxmdW5jdGlvbihhLGMpe3ZhciBkPS9ZLy50ZXN0KGMpO2YuZm5bYV09ZnVuY3Rp
b24oZSl7cmV0dXJuIGYuYWNjZXNzKHRoaXMsZnVuY3Rpb24oYSxlLGcpe3ZhciBo
PWN5KGEpO2lmKGc9PT1iKXJldHVybiBoP2MgaW4gaD9oW2NdOmYuc3VwcG9ydC5i
b3hNb2RlbCYmaC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbZV18fGguZG9jdW1l
bnQuYm9keVtlXTphW2VdO2g/aC5zY3JvbGxUbyhkP2YoaCkuc2Nyb2xsTGVmdCgp
OmcsZD9nOmYoaCkuc2Nyb2xsVG9wKCkpOmFbZV09Z30sYSxlLGFyZ3VtZW50cy5s
ZW5ndGgsbnVsbCl9fSksZi5lYWNoKHtIZWlnaHQ6ImhlaWdodCIsV2lkdGg6Indp
ZHRoIn0sZnVuY3Rpb24oYSxjKXt2YXIgZD0iY2xpZW50IithLGU9InNjcm9sbCIr
YSxnPSJvZmZzZXQiK2E7Zi5mblsiaW5uZXIiK2FdPWZ1bmN0aW9uKCl7dmFyIGE9
dGhpc1swXTtyZXR1cm4gYT9hLnN0eWxlP3BhcnNlRmxvYXQoZi5jc3MoYSxjLCJw
YWRkaW5nIikpOnRoaXNbY10oKTpudWxsfSxmLmZuWyJvdXRlciIrYV09ZnVuY3Rp
b24oYSl7dmFyIGI9dGhpc1swXTtyZXR1cm4gYj9iLnN0eWxlP3BhcnNlRmxvYXQo
Zi5jc3MoYixjLGE/Im1hcmdpbiI6ImJvcmRlciIpKTp0aGlzW2NdKCk6bnVsbH0s
Zi5mbltjXT1mdW5jdGlvbihhKXtyZXR1cm4gZi5hY2Nlc3ModGhpcyxmdW5jdGlv
bihhLGMsaCl7dmFyIGksaixrLGw7aWYoZi5pc1dpbmRvdyhhKSl7aT1hLmRvY3Vt
ZW50LGo9aS5kb2N1bWVudEVsZW1lbnRbZF07cmV0dXJuIGYuc3VwcG9ydC5ib3hN
b2RlbCYmanx8aS5ib2R5JiZpLmJvZHlbZF18fGp9aWYoYS5ub2RlVHlwZT09PTkp
e2k9YS5kb2N1bWVudEVsZW1lbnQ7aWYoaVtkXT49aVtlXSlyZXR1cm4gaVtkXTty
ZXR1cm4gTWF0aC5tYXgoYS5ib2R5W2VdLGlbZV0sYS5ib2R5W2ddLGlbZ10pfWlm
KGg9PT1iKXtrPWYuY3NzKGEsYyksbD1wYXJzZUZsb2F0KGspO3JldHVybiBmLmlz
TnVtZXJpYyhsKT9sOmt9ZihhKS5jc3MoYyxoKX0sYyxhLGFyZ3VtZW50cy5sZW5n
dGgsbnVsbCl9fSksYS5qUXVlcnk9YS4kPWYsdHlwZW9mIGRlZmluZT09ImZ1bmN0
aW9uIiYmZGVmaW5lLmFtZCYmZGVmaW5lLmFtZC5qUXVlcnkmJmRlZmluZSgianF1
ZXJ5IixbXSxmdW5jdGlvbigpe3JldHVybiBmfSl9KSh3aW5kb3cpOw==

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=default.js
Content-Type: application/x-javascript; name=default.js
Content-Location: http://support.microsoft.com/common/script/gsfx/default.js?80
Content-Transfer-Encoding: Base64

ZnVuY3Rpb24gc3JjRWwobil7cmV0dXJuIG4uc3JjRWxlbWVudD9uLnNyY0VsZW1l
bnQ6bi50YXJnZXQ/bi50YXJnZXQ6bn1mdW5jdGlvbiBwYXJzZUJvb2xlYW4obil7
c3dpdGNoKG4udG9Mb3dlckNhc2UoKSl7Y2FzZSJ0cnVlIjpjYXNlInllcyI6Y2Fz
ZSIxIjpyZXR1cm4hMDtjYXNlImZhbHNlIjpjYXNlIm5vIjpjYXNlIjAiOmNhc2Ug
bnVsbDpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiBCb29sZWFuKG4pfX1mdW5jdGlv
biBPdXRwdXRFbmNvZGVyX0VuY29kZVVybChuKXt2YXIgdCxpLHI7aWYodHlwZW9m
IG49PSJ1bmRlZmluZWQiKXJldHVybiIiO2ZvcihuPW4udG9TdHJpbmcoKSxpPSIi
LHI9MDtyPG4ubGVuZ3RoO3IrKyl0PW4uY2hhckNvZGVBdChyKSxpPXQ+OTYmJnQ8
MTIzfHx0PjY0JiZ0PDkxfHx0PjQ3JiZ0PDU4fHx0PT00Nnx8dD09NDV8fHQ9PTk1
P2krU3RyaW5nLmZyb21DaGFyQ29kZSh0KTp0PjEyNz9pKyIldSIrT3V0cHV0RW5j
b2Rlcl9Ud29CeXRlSGV4KHQpOmkrIiUiK091dHB1dEVuY29kZXJfU2luZ2xlQnl0
ZUhleCh0KTtyZXR1cm4gaX1mdW5jdGlvbiBPdXRwdXRFbmNvZGVyX1NpbmdsZUJ5
dGVIZXgobil7Zm9yKHZhciB0PW4udG9TdHJpbmcoMTYpLGk9dC5sZW5ndGg7aTwy
O2krKyl0PSIwIit0O3JldHVybiB0fWZ1bmN0aW9uIE91dHB1dEVuY29kZXJfVHdv
Qnl0ZUhleChuKXtmb3IodmFyIHQ9bi50b1N0cmluZygxNiksaT10Lmxlbmd0aDtp
PDQ7aSsrKXQ9IjAiK3Q7cmV0dXJuIHR9ZnVuY3Rpb24gTVNfUXVlcnlTdHJpbmco
KXt2YXIgaT1kb2N1bWVudC5sb2NhdGlvbi5zZWFyY2gudG9TdHJpbmcoKSxmLHIs
bix0LHU7Zm9yKGkubGVuZ3RoPjAmJihpPWkuc3Vic3RyaW5nKDEpKSxmPWkuc3Bs
aXQoIiYiKSxyPTA7cjxmLmxlbmd0aDtyKyspe249ZltyXS5zcGxpdCgiPSIpO2lm
KG4ubGVuZ3RoIT0yKWNvbnRpbnVlO2lmKG5bMV09PSIiKWNvbnRpbnVlO3RyeXt0
PWRlY29kZVVSSUNvbXBvbmVudChuWzBdKS50b0xvd2VyQ2FzZSgpLHU9ZGVjb2Rl
VVJJQ29tcG9uZW50KG5bMV0pfWNhdGNoKGUpe3Q9dW5lc2NhcGUoblswXSkudG9M
b3dlckNhc2UoKSx1PXVuZXNjYXBlKG5bMV0pfXRoaXNbdF0/dGhpc1t0XSs9Iiwi
K3U6dGhpc1t0XT11fX1mdW5jdGlvbiBHZXRNb2RpZmllZFF1ZXJ5U3RyaW5nKG4s
dCl7dmFyIHI9e30sdSxpO2ZvcihpIGluIHF1ZXJ5U3RyaW5nKXJbaV09cXVlcnlT
dHJpbmdbaV07cltuXT10LHU9IiI7Zm9yKGkgaW4gcil1Kz1PdXRwdXRFbmNvZGVy
X0VuY29kZVVybChpKSsiPSIrT3V0cHV0RW5jb2Rlcl9FbmNvZGVVcmwocltpXSkr
IiYiO3JldHVybiI/Iit1fWZ1bmN0aW9uIFVuaWNvZGVGaXh1cChuKXtmb3IodmFy
IHI9bmV3IFN0cmluZyxpPSIiLHQ9LTEsdT1uLmxlbmd0aCxyPSIiLHQ9MDt0PHU7
dCsrKWk9bi5zdWJzdHJpbmcodCx0KzEpLGk9PSIlIj8ocis9aSx0KyssaT1uLnN1
YnN0cmluZyh0LHQrMSksaSE9InUiJiZwYXJzZUludCgiMHgiK24uc3Vic3RyaW5n
KHQsdCsyKSk+MTI4JiYocis9InUwMCIpKTppPT0iKyImJihpPSIlMkIiKSxyKz1p
O3JldHVybiByfWZ1bmN0aW9uIEZvcmVpZ25MaW5rX0hvb2t1cChuKXt2YXIgdCxy
LHUsZixpO2Zvcih0eXBlb2Ygbj09InVuZGVmaW5lZCImJihuPSJ0cnVlIiksdD1u
dWxsLGk9MDtpPCQoImEiKS5sZW5ndGg7aSsrKXQ9JCgiYSIpLmdldChpKSwodC5w
cm90b2NvbD09Imh0dHA6Inx8dC5wcm90b2NvbD09Imh0dHBzOiIpJiYoIW4mJih0
LmhyZWYuaW5kZXhPZihkb2N1bWVudC5kb21haW4pPi0xfHx0LmhyZWYuc3Vic3Ry
aW5nKDAsMSk9PSIvIikmJnQuaHJlZi50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImZy
PTEiKTwwJiYocj10LmhyZWYuc3BsaXQoIiMiKSx1PSIiLHIubGVuZ3RoPjEmJih1
PSIjIityWzFdKSx0LmhyZWY9dC5ocmVmLmluZGV4T2YoIj8iKT4tMT9yWzBdKyIm
RlI9MSIrdTpyWzBdKyI/RlI9MSIrdSksZ19yZVN1cHBvcnRlZEhvc3RuYW1lcy5l
eGVjKHQuaG9zdG5hbWUpJiYobnx8dC5ocmVmLmluZGV4T2YoZG9jdW1lbnQuZG9t
YWluKT49MCl8fCh0LnRhcmdldD0iX2JsYW5rIikpO2lmKCFuKWlmKGRvY3VtZW50
LmdldEVsZW1lbnRzQnlOYW1lKWZvcihmPW51bGwsaT0wO2k8JCgiZm9ybSIpLmxl
bmd0aDtpKyspZUN1cnJlbnRGb3JtPSQoImZvcm0iKS5nZXQoaSksKGVDdXJyZW50
Rm9ybS5hY3Rpb24uaW5kZXhPZihkb2N1bWVudC5kb21haW4pPi0xfHxlQ3VycmVu
dEZvcm0uYWN0aW9uLnN1YnN0cmluZygwLDEpPT0iLyIpJiYoZUN1cnJlbnRGb3Jt
LkZSfHwkKGVDdXJyZW50Rm9ybSkuYXBwZW5kKCc8aW5wdXQgaWQ9IkZSIiBuYW1l
PSJGUiIgdmFsdWU9IjEiIHR5cGU9ImhpZGRlbiIgLz4nKSl9ZnVuY3Rpb24gTVNf
UGFnZVRvb2xzRGF0YSgpe2Z1bmN0aW9uIG4oKXtmb3IodmFyIG49MDs7KXtpZigh
ZXZhbCgid2luZG93LlNhdmVUb0Zhdm9yaXRlc0RhdGEiK24pKXJldHVybiJTYXZl
VG9GYXZvcml0ZXNEYXRhIituO24rK319dGhpcy5jbG9zZU1zZz0iQ2xvc2UiLHRo
aXMubm9Db29raWVVcmw9Ii9ncC9ub2Nvb2tpZXMvIix0aGlzLmlkPW4oKSx3aW5k
b3dbdGhpcy5pZF09dGhpcyx0aGlzLlByaW50UGFnZT1mdW5jdGlvbigpe1N0YXRz
RG90TmV0LmV2ZW50Q29sbGVjdGlvbklkPVNldExvZ0NvbGxlY3Rpb25CaXQoU3Rh
dHNEb3ROZXQuZXZlbnRDb2xsZWN0aW9uSWQsMik7dHJ5e3dpbmRvdy5wcmludCgp
fWNhdGNoKG4pe31yZXR1cm4hMX0sdGhpcy5FbWFpbFBhZ2U9ZnVuY3Rpb24oKXty
ZXR1cm4gU3RhdHNEb3ROZXQuZXZlbnRDb2xsZWN0aW9uSWQ9U2V0TG9nQ29sbGVj
dGlvbkJpdChTdGF0c0RvdE5ldC5ldmVudENvbGxlY3Rpb25JZCwzKSwhMH19ZnVu
Y3Rpb24gTVNfU3RhdHNEb3ROZXQoKXt2YXIgdCxuO3RoaXMuc3RhcnREYXRlPW5l
dyBEYXRlLHRoaXMuZGlzYWJsZWQ9ITAsdGhpcy5ob3N0PSIvTFRTLyIsdGhpcy5z
Y3JvbGxVc2VkPSExLHRoaXMucmVDbGVhbklkPS9bXjAtOV0qL2ksdGhpcy5ldmVu
dENvbGxlY3Rpb25JZD0wLHRoaXMuT3B0aW9uQ29sbGVjdGlvbklkPTAsdGhpcy5D
b250ZW50UHJvcGVydGllcz0iIix0aGlzLnJlZlVybD0iIix0aGlzLmNvbnRlbnRU
eXBlPSIiLHRoaXMuY29udGVudExuPSIiLHRoaXMuY29udGVudElkPSIiLHRoaXMu
Q29udGVudEN1bHR1cmU9IiIsdGhpcy5leGl0Q29udGFpbmVySWQ9IiIsdGhpcy5l
eGl0TGlua0lkPSIiLHRoaXMucGxhdGZvcm09IiIsdGhpcy5hY3RpdmVEd2VsbFRp
bWU9MCx0aGlzLmFjdGl2ZVN0YXJ0VGltZT10aGlzLnN0YXJ0RGF0ZSx0aGlzLmxp
Z2h0Ym94Q2xvc2VUaW1lPW51bGwsdGhpcy5zdXBwcmVzc0JsdXI9ITEsdGhpcy5h
Y3RpdmVFbGVtZW50PW51bGwsdGhpcy50aW1lb3V0SUQ9LTEsdGhpcy5pc0lFPSEx
LHRoaXMubG9nRXh0ZXJuYWxVcmxzPSExLHQ9ZmV0Y2hjb29raWV2YWwoImV4aXRp
bmZvIiksdCYmKG49dC5zcGxpdCgifCIpLG4ubGVuZ3RoPT02JiYodGhpcy5yY3R5
cGU9blswXSx0aGlzLnJjbGNpZD1uWzFdLHRoaXMucmNpZD1uWzJdLHRoaXMucmNj
dWx0dXJlPW5bM10sdGhpcy5yZXhjaWQ9bls0XSx0aGlzLnJleGxpZD1uWzVdKSks
ZG9jdW1lbnQucmVmZXJyZXImJmRvY3VtZW50LnJlZmVycmVyIT0iIiYmKHRoaXMu
cmVmVXJsPWRvY3VtZW50LnJlZmVycmVyLnRvU3RyaW5nKCkpLHRoaXMuZXZlbnRT
ZXFObz0wLHRoaXMudGFyZ2V0VXJsPSIiLHRoaXMuc2Vzc2lvbklkPSIiLHRoaXMu
b25VbmxvYWRUaW1lb3V0PW51bGwsdGhpcy5sdHNJZGxlVGltZW91dD1udWxsLHRo
aXMuZXh0ZXJuYWxVcmxzPVtdLHRoaXMuQ2xlYW5JZD1mdW5jdGlvbihuKXt0cnl7
cmV0dXJuIG4ucmVwbGFjZSh0aGlzLnJlQ2xlYW5JZCwiIil9Y2F0Y2godCl7fXJl
dHVybiIifSx0aGlzLkFkZEFjdGl2ZVRpbWU9ZnVuY3Rpb24obil7aWYoU3RhdHNE
b3ROZXQuYWN0aXZlU3RhcnRUaW1lPT1udWxsfHxhcmd1bWVudHMubGVuZ3RoPT0x
JiZTdGF0c0RvdE5ldC5hY3RpdmVFbGVtZW50IT1kb2N1bWVudC5hY3RpdmVFbGVt
ZW50JiZTdGF0c0RvdE5ldC5pc0lFKXtTdGF0c0RvdE5ldC5hY3RpdmVFbGVtZW50
PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7cmV0dXJufWlmKFN0YXRzRG90TmV0LnN1
cHByZXNzQmx1cilyZXR1cm47U3RhdHNEb3ROZXQuYWN0aXZlRHdlbGxUaW1lKz1u
LmdldFRpbWUoKS1TdGF0c0RvdE5ldC5hY3RpdmVTdGFydFRpbWUuZ2V0VGltZSgp
LFN0YXRzRG90TmV0LmxpZ2h0Ym94Q2xvc2VUaW1lIT1udWxsJiYoU3RhdHNEb3RO
ZXQuZmxleFZhbHVlNis9bi5nZXRUaW1lKCktU3RhdHNEb3ROZXQuYWN0aXZlU3Rh
cnRUaW1lLmdldFRpbWUoKSksU3RhdHNEb3ROZXQuYWN0aXZlU3RhcnRUaW1lPW51
bGx9LHRoaXMuQ2hlY2tBY3Rpdml0eT1mdW5jdGlvbigpe1N0YXRzRG90TmV0LmFj
dGl2ZVN0YXJ0VGltZSE9bnVsbCYmU3RhdHNEb3ROZXQuQWRkQWN0aXZlVGltZShu
ZXcgRGF0ZSl9LHRoaXMuUmVzZXREd2VsbFRpbWU9ZnVuY3Rpb24oKXtTdGF0c0Rv
dE5ldC50aW1lb3V0SUQhPS0xJiZjbGVhclRpbWVvdXQoU3RhdHNEb3ROZXQudGlt
ZW91dElEKSxTdGF0c0RvdE5ldC50aW1lb3V0SUQ9c2V0VGltZW91dChTdGF0c0Rv
dE5ldC5DaGVja0FjdGl2aXR5LFN0YXRzRG90TmV0Lmx0c0lkbGVUaW1lb3V0KSxT
dGF0c0RvdE5ldC5hY3RpdmVTdGFydFRpbWU9PW51bGwmJihTdGF0c0RvdE5ldC5h
Y3RpdmVTdGFydFRpbWU9bmV3IERhdGUpfSx0aGlzLkZvY3VzSGFuZGxlcj1mdW5j
dGlvbigpe1N0YXRzRG90TmV0LlJlc2V0RHdlbGxUaW1lKCksU3RhdHNEb3ROZXQu
YWN0aXZlU3RhcnRUaW1lIT1udWxsfHwoZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09
bnVsbHx8U3RhdHNEb3ROZXQuYWN0aXZlRWxlbWVudCE9ZG9jdW1lbnQuYWN0aXZl
RWxlbWVudCkmJlN0YXRzRG90TmV0LmlzSUV8fChTdGF0c0RvdE5ldC5hY3RpdmVT
dGFydFRpbWU9bmV3IERhdGUpfSx0aGlzLkhvb2tMb2FkRXZlbnRzPWZ1bmN0aW9u
KCl7U3RhdHNEb3ROZXQubG9nRXh0ZXJuYWxVcmxzPXRoaXMuc3NJZCYmdGhpcy5z
c0lkPT0iMSIsU3RhdHNEb3ROZXQuaXNJRT1uYXZpZ2F0b3IuYXBwTmFtZT09Ik1p
Y3Jvc29mdCBJbnRlcm5ldCBFeHBsb3JlciIsU3RhdHNEb3ROZXQuYWN0aXZlRWxl
bWVudD1kb2N1bWVudC5hY3RpdmVFbGVtZW50LFN0YXRzRG90TmV0LmlzSUU/KGRv
Y3VtZW50Lm9uZm9jdXNpbj1TdGF0c0RvdE5ldC5Gb2N1c0hhbmRsZXIsZG9jdW1l
bnQub25mb2N1c291dD1mdW5jdGlvbigpe1N0YXRzRG90TmV0LkFkZEFjdGl2ZVRp
bWUobmV3IERhdGUpfSk6KCQod2luZG93KS5mb2N1cyhTdGF0c0RvdE5ldC5Gb2N1
c0hhbmRsZXIpLCQod2luZG93KS5ibHVyKGZ1bmN0aW9uKCl7U3RhdHNEb3ROZXQu
QWRkQWN0aXZlVGltZShuZXcgRGF0ZSl9KSksU3RhdHNEb3ROZXQudGltZW91dElE
PXNldFRpbWVvdXQoU3RhdHNEb3ROZXQuQ2hlY2tBY3Rpdml0eSxTdGF0c0RvdE5l
dC5sdHNJZGxlVGltZW91dCksJChkb2N1bWVudC5ib2R5KS5tb3VzZW1vdmUoU3Rh
dHNEb3ROZXQuUmVzZXREd2VsbFRpbWUpLCQoZG9jdW1lbnQuYm9keSkuY2xpY2so
U3RhdHNEb3ROZXQuUmVzZXREd2VsbFRpbWUpLCQoZG9jdW1lbnQuYm9keSkua2V5
cHJlc3MoU3RhdHNEb3ROZXQuUmVzZXREd2VsbFRpbWUpLCQod2luZG93KS5zY3Jv
bGwoU3RhdHNEb3ROZXQuUmVzZXREd2VsbFRpbWUpfSx0aGlzLkxvZ1BhZ2VPbkxv
YWQ9ZnVuY3Rpb24oKXt0aGlzLmVuYWJsZUNvbGxUaWVyUGFyYW1zJiZ0aGlzLkhv
b2tMb2FkRXZlbnRzKCksJCgiI2Fjd2tibGluayIpLmdldCgwKSYmKFN0YXRzRG90
TmV0Lk9wdGlvbkNvbGxlY3Rpb25JZD1TZXRMb2dDb2xsZWN0aW9uQml0KFN0YXRz
RG90TmV0Lk9wdGlvbkNvbGxlY3Rpb25JZCwzMikpLHRoaXMuZXZlbnRTZXFObz09
PTAmJih0aGlzLmV2ZW50U2VxTm89dGhpcy5HZXRDb29raWVJbmNyZW1lbnQoKSks
dHlwZW9mIHdpbmRvdy5pbm5lcldpZHRoPT0ibnVtYmVyIj8oU3RhdHNEb3ROZXQu
YnJvd3NlcldpZHRoPXdpbmRvdy5pbm5lcldpZHRoLFN0YXRzRG90TmV0LmJyb3dz
ZXJIZWlnaHQ9d2luZG93LmlubmVySGVpZ2h0KTpkb2N1bWVudC5kb2N1bWVudEVs
ZW1lbnQmJihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGh8fGRv
Y3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQpPyhTdGF0c0RvdE5l
dC5icm93c2VyV2lkdGg9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdp
ZHRoLFN0YXRzRG90TmV0LmJyb3dzZXJIZWlnaHQ9ZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LmNsaWVudEhlaWdodCk6ZG9jdW1lbnQuYm9keSYmKGRvY3VtZW50LmJv
ZHkuY2xpZW50V2lkdGh8fGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0KSYmKFN0
YXRzRG90TmV0LmJyb3dzZXJXaWR0aD1kb2N1bWVudC5ib2R5LmNsaWVudFdpZHRo
LFN0YXRzRG90TmV0LmJyb3dzZXJIZWlnaHQ9ZG9jdW1lbnQuYm9keS5jbGllbnRI
ZWlnaHQpO3ZhciBuPXRoaXMuaG9zdCsiPyI7dGhpcy5zZXNzaW9uSWQhPSIiJiYo
bis9IlNlc3Npb25JRD0iK091dHB1dEVuY29kZXJfRW5jb2RlVXJsKHRoaXMuc2Vz
c2lvbklkKSsiJiIpLG4rPSJTU0lEPSIrT3V0cHV0RW5jb2Rlcl9FbmNvZGVVcmwo
dGhpcy5zc0lkKSsiJlNpdGVMQ0lEPSIrT3V0cHV0RW5jb2Rlcl9FbmNvZGVVcmwo
dGhpcy5zaXRlTGNJZCkrIiZFdmVudENvbGxlY3Rpb25JRD0iK091dHB1dEVuY29k
ZXJfRW5jb2RlVXJsKHRoaXMuZXZlbnRDb2xsZWN0aW9uSWQpKyImVVJMPSIrT3V0
cHV0RW5jb2Rlcl9FbmNvZGVVcmwodGhpcy51cmwpKyImQ29udGVudFR5cGU9IitP
dXRwdXRFbmNvZGVyX0VuY29kZVVybCh0aGlzLmNvbnRlbnRUeXBlKSsiJkNvbnRl
bnRMQ0lEPSIrT3V0cHV0RW5jb2Rlcl9FbmNvZGVVcmwodGhpcy5jb250ZW50TG4p
KyImQ29udGVudElEPSIrT3V0cHV0RW5jb2Rlcl9FbmNvZGVVcmwodGhpcy5jb250
ZW50SWQpKyImcmN0eXBlPSIrT3V0cHV0RW5jb2Rlcl9FbmNvZGVVcmwodGhpcy5y
Y3R5cGUpKyImcmNsY2lkPSIrT3V0cHV0RW5jb2Rlcl9FbmNvZGVVcmwodGhpcy5y
Y2xjaWQpKyImcmNpZD0iK091dHB1dEVuY29kZXJfRW5jb2RlVXJsKHRoaXMucmNp
ZCkrIiZyY2N1bHR1cmU9IitPdXRwdXRFbmNvZGVyX0VuY29kZVVybCh0aGlzLnJj
Y3VsdHVyZSkrIiZyZXhjaWQ9IitPdXRwdXRFbmNvZGVyX0VuY29kZVVybCh0aGlz
LnJleGNpZCkrIiZyZXhsaWQ9IitPdXRwdXRFbmNvZGVyX0VuY29kZVVybCh0aGlz
LnJleGxpZCkrIiZCcm93c2VyV2lkdGg9Iit0aGlzLmJyb3dzZXJXaWR0aCsiJkJy
b3dzZXJIZWlnaHQ9Iit0aGlzLmJyb3dzZXJIZWlnaHQrIiZCcmFuZElEPSIrT3V0
cHV0RW5jb2Rlcl9FbmNvZGVVcmwodGhpcy5zaXRlQnJhbmRJZCkrIiZSZWZVUkw9
IitPdXRwdXRFbmNvZGVyX0VuY29kZVVybCh0aGlzLnJlZlVybCkrIiZPcHRpb25D
b2xsZWN0aW9uSWQ9IitPdXRwdXRFbmNvZGVyX0VuY29kZVVybCh0aGlzLk9wdGlv
bkNvbGxlY3Rpb25JZCkrIiZFdmVudFNlcU5vPSIrT3V0cHV0RW5jb2Rlcl9FbmNv
ZGVVcmwodGhpcy5ldmVudFNlcU5vKSsiJlNTdmVyc2lvbj0iK091dHB1dEVuY29k
ZXJfRW5jb2RlVXJsKHRoaXMuU3NWZXJzaW9uKSsiJlNpdGVDdWx0dXJlPSIrT3V0
cHV0RW5jb2Rlcl9FbmNvZGVVcmwodGhpcy5TaXRlQ3VsdHVyZSkrIiZQbGF0Zm9y
bT0iK091dHB1dEVuY29kZXJfRW5jb2RlVXJsKHRoaXMucGxhdGZvcm0pKyImQ29u
dGVudEN1bHR1cmU9IitPdXRwdXRFbmNvZGVyX0VuY29kZVVybCh0aGlzLkNvbnRl
bnRDdWx0dXJlKSsiJlBhc3Nwb3J0U3RhdHVzPSIrT3V0cHV0RW5jb2Rlcl9FbmNv
ZGVVcmwodGhpcy5QYXNzcG9ydFN0YXR1cykrIiZJbjQwNFVybD0iK091dHB1dEVu
Y29kZXJfRW5jb2RlVXJsKHRoaXMuSW40MDRVcmwpKyImQ29udGVudFByb3BlcnRp
ZXM9IitPdXRwdXRFbmNvZGVyX0VuY29kZVVybCh0aGlzLkNvbnRlbnRQcm9wZXJ0
aWVzKSsiJkZsZXhJRD0iK091dHB1dEVuY29kZXJfRW5jb2RlVXJsKHRoaXMuZmxl
eElkKSsiJkZsZXhWYWx1ZTE9IitPdXRwdXRFbmNvZGVyX0VuY29kZVVybCh0aGlz
LmZsZXhWYWx1ZTEpKyImRmxleFZhbHVlMj0iK091dHB1dEVuY29kZXJfRW5jb2Rl
VXJsKHRoaXMuZmxleFZhbHVlMikrIiZGbGV4VmFsdWUzPSIrT3V0cHV0RW5jb2Rl
cl9FbmNvZGVVcmwodGhpcy5mbGV4VmFsdWUzKSsiJkZsZXhWYWx1ZTQ9IitPdXRw
dXRFbmNvZGVyX0VuY29kZVVybCh0aGlzLmZsZXhWYWx1ZTQpKyImRmxleFZhbHVl
NT0iK091dHB1dEVuY29kZXJfRW5jb2RlVXJsKHRoaXMuZmxleFZhbHVlNSksdGhp
cy5lbmFibGVDb2xsVGllclBhcmFtcyYmKG4rPSImRmxleFZhbHVlNj0iK091dHB1
dEVuY29kZXJfRW5jb2RlVXJsKHRoaXMuZmxleFZhbHVlNikrIiZGbGV4VmFsdWU3
PSIrT3V0cHV0RW5jb2Rlcl9FbmNvZGVVcmwodGhpcy5mbGV4VmFsdWU3KSsiJkZs
ZXhWYWx1ZTg9IitPdXRwdXRFbmNvZGVyX0VuY29kZVVybCh0aGlzLmZsZXhWYWx1
ZTgpKyImRmxleFZhbHVlOT0iK091dHB1dEVuY29kZXJfRW5jb2RlVXJsKHRoaXMu
ZmxleFZhbHVlOSkrIiZGbGV4VmFsdWUxMD0iK091dHB1dEVuY29kZXJfRW5jb2Rl
VXJsKHRoaXMuZmxleFZhbHVlMTApKSx0eXBlb2YgdmFyV2VkY3NFbmFibGUhPSJ1
bmRlZmluZWQiJiZ2YXJXZWRjc0VuYWJsZXx8Z2VuZXJhdGVXZWRjc0RhdGEoKSwk
KCIjU3RhdHNEb3ROZXRJbWciKS5nZXQoMCkuc3JjPW59LHRoaXMuTG9nUGFnZU9u
VW5Mb2FkPWZ1bmN0aW9uKCl7dmFyIG4sdCxpLHIsdSxmO2lmKGZldGNoY29va2ll
dmFsKCJHc2Z4U3RhdHNMb2ciKSE9InRydWUiKXJldHVybjt0aGlzLmVuZERhdGU9
bmV3IERhdGUsdGhpcy5kd2VsbFRpbWU9dGhpcy5lbmREYXRlLmdldFRpbWUoKS10
aGlzLnN0YXJ0RGF0ZS5nZXRUaW1lKCksdGhpcy5zY3JvbGxVc2VkJiYoU3RhdHNE
b3ROZXQuZXZlbnRDb2xsZWN0aW9uSWQ9U2V0TG9nQ29sbGVjdGlvbkJpdChTdGF0
c0RvdE5ldC5ldmVudENvbGxlY3Rpb25JZCwyNykpLHRoaXMuZXZlbnRTZXFObz09
PTAmJih0aGlzLmV2ZW50U2VxTm89dGhpcy5HZXRDb29raWVJbmNyZW1lbnQoKSks
c3JjaF9zZXRjb29raWV2YWwoImV4aXRpbmZvIix0aGlzLmNvbnRlbnRUeXBlKyJ8
Iit0aGlzLmNvbnRlbnRMbisifCIrdGhpcy5jb250ZW50SWQrInwiK3RoaXMuQ29u
dGVudEN1bHR1cmUrInwiK3RoaXMuZXhpdENvbnRhaW5lcklkKyJ8Iit0aGlzLmV4
aXRMaW5rSWQpLHRoaXMuZW5hYmxlQ29sbFRpZXJQYXJhbXMmJnRoaXMubG9nRXh0
ZXJuYWxVcmxzJiYoKCF0aGlzLmZsZXhJZHx8dGhpcy5mbGV4SWQubGVuZ3RoPT0w
KSYmdGhpcy5leHRlcm5hbFVybHMubGVuZ3RoPjAmJih0aGlzLmZsZXhJZD0iNCIp
LHRoaXMuZmxleFZhbHVlMTA9dGhpcy5leHRlcm5hbFVybHMuam9pbigifCIpKSxu
PXRoaXMuaG9zdCsiPyIsdGhpcy5zZXNzaW9uSWQhPSIiJiYobis9IlNlc3Npb25J
RD0iK091dHB1dEVuY29kZXJfRW5jb2RlVXJsKHRoaXMuc2Vzc2lvbklkKSsiJiIp
LG4rPSJTU0lEPSIrT3V0cHV0RW5jb2Rlcl9FbmNvZGVVcmwodGhpcy5zc0lkKSsi
JlNpdGVMQ0lEPSIrT3V0cHV0RW5jb2Rlcl9FbmNvZGVVcmwodGhpcy5zaXRlTGNJ
ZCkrIiZFdmVudENvbGxlY3Rpb25JRD0iK091dHB1dEVuY29kZXJfRW5jb2RlVXJs
KHRoaXMuZXZlbnRDb2xsZWN0aW9uSWQpKyImT3B0aW9uQ29sbGVjdGlvbklkPSIr
T3V0cHV0RW5jb2Rlcl9FbmNvZGVVcmwodGhpcy5PcHRpb25Db2xsZWN0aW9uSWQp
KyImU1N2ZXJzaW9uPSIrT3V0cHV0RW5jb2Rlcl9FbmNvZGVVcmwodGhpcy5Tc1Zl
cnNpb24pKyImQ29udGVudFR5cGU9IitPdXRwdXRFbmNvZGVyX0VuY29kZVVybCh0
aGlzLmNvbnRlbnRUeXBlKSsiJkNvbnRlbnRMQ0lEPSIrT3V0cHV0RW5jb2Rlcl9F
bmNvZGVVcmwodGhpcy5jb250ZW50TG4pKyImQ29udGVudElEPSIrT3V0cHV0RW5j
b2Rlcl9FbmNvZGVVcmwodGhpcy5jb250ZW50SWQpKyImRXhpdExpbmtJRD0iK3Ro
aXMuQ2xlYW5JZCh0aGlzLmV4aXRMaW5rSWQpKyImRXhpdENvbnRhaW5lcklEPSIr
dGhpcy5DbGVhbklkKHRoaXMuZXhpdENvbnRhaW5lcklkKSsiJkR3ZWxsVGltZT0i
K091dHB1dEVuY29kZXJfRW5jb2RlVXJsKHRoaXMuZHdlbGxUaW1lKSsiJkJyYW5k
SUQ9IitPdXRwdXRFbmNvZGVyX0VuY29kZVVybCh0aGlzLnNpdGVCcmFuZElkKSsi
JlNlYXJjaENhdGVnb3J5SUQ9Iit0aGlzLkNsZWFuSWQodGhpcy5zZWFyY2hDYXRl
Z29yeUlkKyIiKSsiJlNlYXJjaENhdGVnb3J5TGlua1Bvcz0iK091dHB1dEVuY29k
ZXJfRW5jb2RlVXJsKHRoaXMuc2VhcmNoQ2F0ZWdvcnlMaW5rUG9zKSsiJlNlYXJj
aFBhZ2VMaW5rUG9zPSIrT3V0cHV0RW5jb2Rlcl9FbmNvZGVVcmwodGhpcy5zZWFy
Y2hQYWdlTGlua1BvcykrIiZUYXJnZXRVUkw9IitPdXRwdXRFbmNvZGVyX0VuY29k
ZVVybCh0aGlzLnRhcmdldFVybCkrIiZFdmVudFNlcU5vPSIrT3V0cHV0RW5jb2Rl
cl9FbmNvZGVVcmwodGhpcy5ldmVudFNlcU5vKSsiJlNpdGVDdWx0dXJlPSIrT3V0
cHV0RW5jb2Rlcl9FbmNvZGVVcmwodGhpcy5TaXRlQ3VsdHVyZSkrIiZDb250ZW50
Q3VsdHVyZT0iK091dHB1dEVuY29kZXJfRW5jb2RlVXJsKHRoaXMuQ29udGVudEN1
bHR1cmUpKyImUGxhdGZvcm09IitPdXRwdXRFbmNvZGVyX0VuY29kZVVybCh0aGlz
LnBsYXRmb3JtKSsiJnVubG9hZD10cnVlJkZsZXhJRD0iK091dHB1dEVuY29kZXJf
RW5jb2RlVXJsKHRoaXMuZmxleElkKSsiJkZsZXhWYWx1ZTE9IitPdXRwdXRFbmNv
ZGVyX0VuY29kZVVybCh0aGlzLmZsZXhWYWx1ZTEpKyImRmxleFZhbHVlMj0iK091
dHB1dEVuY29kZXJfRW5jb2RlVXJsKHRoaXMuZmxleFZhbHVlMikrIiZGbGV4VmFs
dWUzPSIrT3V0cHV0RW5jb2Rlcl9FbmNvZGVVcmwodGhpcy5mbGV4VmFsdWUzKSsi
JkZsZXhWYWx1ZTQ9IitPdXRwdXRFbmNvZGVyX0VuY29kZVVybCh0aGlzLmZsZXhW
YWx1ZTQpKyImRmxleFZhbHVlNT0iK091dHB1dEVuY29kZXJfRW5jb2RlVXJsKHRo
aXMuZmxleFZhbHVlNSksdGhpcy5lbmFibGVDb2xsVGllclBhcmFtcyYmKHQ9ZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxiIiksdCE9bnVsbCYmdC5zdHlsZS5kaXNw
bGF5IT0ibm9uZSI/dGhpcy5BZGRBY3RpdmVUaW1lKHRoaXMuZW5kRGF0ZSk6dGhp
cy5BZGRBY3RpdmVUaW1lKHRoaXMuZW5kRGF0ZSwhMCksdGhpcy5zdXBwcmVzc0Js
dXI9ITAsbis9IiZBY3RpdmVEd2VsbFRpbWU9IitPdXRwdXRFbmNvZGVyX0VuY29k
ZVVybCh0aGlzLmFjdGl2ZUR3ZWxsVGltZSkrIiZGbGV4VmFsdWU2PSIrT3V0cHV0
RW5jb2Rlcl9FbmNvZGVVcmwodGhpcy5mbGV4VmFsdWU2KSsiJkZsZXhWYWx1ZTc9
IitPdXRwdXRFbmNvZGVyX0VuY29kZVVybCh0aGlzLmZsZXhWYWx1ZTcpKyImRmxl
eFZhbHVlOD0iK091dHB1dEVuY29kZXJfRW5jb2RlVXJsKHRoaXMuZmxleFZhbHVl
OCkrIiZGbGV4VmFsdWU5PSIrT3V0cHV0RW5jb2Rlcl9FbmNvZGVVcmwodGhpcy5m
bGV4VmFsdWU5KSsiJkZsZXhWYWx1ZTEwPSIrT3V0cHV0RW5jb2Rlcl9FbmNvZGVV
cmwodGhpcy5mbGV4VmFsdWUxMCkpLHdpbmRvdy5leGl0VGFiVmFsdWUmJihuKz0i
JkNvbnRlbnRQcm9wZXJ0aWVzPSIrT3V0cHV0RW5jb2Rlcl9FbmNvZGVVcmwoZXhp
dFRhYklEKyI9IitleGl0VGFiVmFsdWUrInwiKSksJCgiI1N0YXRzRG90TmV0SW1n
IikuZ2V0KDApLnNyYz1uLCQoIm1ldGFbbmFtZT0nbXMuRXZlbnRDb2xsZWN0aW9u
SWQnXSIpLmF0dHIoImNvbnRlbnQiLFN0YXRzRG90TmV0LmV2ZW50Q29sbGVjdGlv
bklkKSx0eXBlb2YgTXNjb21DdXN0b21FdmVudCE9InVuZGVmaW5lZCImJk1zY29t
Q3VzdG9tRXZlbnQoIm1zLkV4aXRMaW5rSUQiLE91dHB1dEVuY29kZXJfRW5jb2Rl
VXJsKFN0YXRzRG90TmV0LmV4aXRMaW5rSWQpLCJtcy5FeGl0Q29udGFpbmVySWQi
LE91dHB1dEVuY29kZXJfRW5jb2RlVXJsKFN0YXRzRG90TmV0LmV4aXRDb250YWlu
ZXJJZCksIm1zLklzVW5Mb2FkIixPdXRwdXRFbmNvZGVyX0VuY29kZVVybCghMCks
Im1zLkR3ZWxsVGltZSIsT3V0cHV0RW5jb2Rlcl9FbmNvZGVVcmwoU3RhdHNEb3RO
ZXQuZHdlbGxUaW1lKSksaT1uZXcgRGF0ZSxyPWkuZ2V0VGltZSgpO2Zvcig7Oyl7
dT1uZXcgRGF0ZSxmPXUuZ2V0VGltZSgpO2lmKGYtcj50aGlzLm9uVW5sb2FkVGlt
ZW91dClyZXR1cm59fSx0aGlzLlNldEV4aXRMaW5rcz1mdW5jdGlvbihuKXt2YXIg
dD1zcmNFbChuKSxyPW51bGwsdT1udWxsLGk7aWYoIXQpcmV0dXJuO2lmKCF0LnRh
Z05hbWUpcmV0dXJuO2lmKHQudGFnTmFtZS50b1VwcGVyQ2FzZSgpIT0iQSIpaWYo
dC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUudGFnTmFtZSYmdC5wYXJlbnROb2Rl
LnRhZ05hbWUudG9VcHBlckNhc2UoKT09IkEiKXQ9dC5wYXJlbnROb2RlO2Vsc2Ug
cmV0dXJuO2lmKCF0LmhyZWYpcmV0dXJuO2lmKHQuaHJlZi5pbmRleE9mKCJqYXZh
c2NyaXB0OiIpPi0xKXJldHVybjtpZih0LmhyZWYuaW5kZXhPZigibWFpbHRvOiIp
Pi0xKXJldHVybjt0LmlkP3RoaXMuZXhpdExpbmtJZD10LmlkOih0aGlzLmV4aXRM
aW5rSWQ9IiIsKHR5cGVvZiBpc1Jlc2V0RXhpdENJRD09InVuZGVmaW5lZCJ8fGlz
UmVzZXRFeGl0Q0lEPT1udWxsKSYmKHRoaXMuZXhpdENvbnRhaW5lcklkPSIiKSks
dGhpcy50YXJnZXRVcmw9dC5ocmVmO2lmKHRoaXMuZW5hYmxlQ29sbFRpZXJQYXJh
bXMmJnRoaXMubG9nRXh0ZXJuYWxVcmxzJiZ0LnRhcmdldCYmdC50YXJnZXQudG9V
cHBlckNhc2UoKT09Il9CTEFOSyIpe2ZvcihpPTA7aTx0aGlzLmV4dGVybmFsVXJs
cy5sZW5ndGg7aSsrKWlmKHRoaXMudGFyZ2V0VXJsLnRvTG93ZXJDYXNlKCk9PXRo
aXMuZXh0ZXJuYWxVcmxzW2ldKWJyZWFrO2k8dGhpcy5leHRlcm5hbFVybHMubGVu
Z3RofHx0aGlzLmV4dGVybmFsVXJscy5wdXNoKHRoaXMudGFyZ2V0VXJsLnRvTG93
ZXJDYXNlKCkpfXQudGFyZ2V0LnRvVXBwZXJDYXNlKCk9PT0iX0JMQU5LIiYmKHRo
aXMudGFyZ2V0VXJsPSIiKX0sdGhpcy5UcmFja1NlYXJjaD1mdW5jdGlvbihuLHQs
aSl7dGhpcy5zZWFyY2hDYXRlZ29yeUlkPW4sdGhpcy5zZWFyY2hDYXRlZ29yeUxp
bmtQb3M9dCx0aGlzLnNlYXJjaFBhZ2VMaW5rUG9zPWl9LHRoaXMuR2V0Q29va2ll
SW5jcmVtZW50PWZ1bmN0aW9uKCl7dmFyIHQ9InNkbmluYyIsbj1mZXRjaGNvb2tp
ZXZhbCh0KTtyZXR1cm4gbnx8KG49IjAiKSxuPXBhcnNlSW50KG4pLG4rPTEsZG9j
dW1lbnQuY29va2llPXQrIj0iK24rIjsgcGF0aD0vOyIsbn0sdGhpcy5TZXRTZWFy
Y2hDYXRlZ29yeUlkPWZ1bmN0aW9uKG4pe1N0YXRzRG90TmV0LmRpc2FibGVkfHwo
dGhpcy5zZWFyY2hDYXRlZ29yeUlkPW4pfSx0aGlzLmV2ZW50U2VxTm89dGhpcy5H
ZXRDb29raWVJbmNyZW1lbnQoKX1mdW5jdGlvbiBNU19IYW5kbGVDbGljayhuLHQs
aSl7dmFyIGUscixmLHUsbztuLmlkfHwobi5pZD0iIiksZT1uLmlkLnJlcGxhY2Uo
Il9pIiwiIiksaSYmIVN0YXRzRG90TmV0LmRpc2FibGVkJiYoU3RhdHNEb3ROZXQu
ZXhpdExpbmtJZD1lLFN0YXRzRG90TmV0LmV4aXRDb250YWluZXJJZD10KTtzd2l0
Y2goZSl7Y2FzZSJQcmludFBhZ2UiOnJldHVybiBTYXZlVG9GYXZvcml0ZXNEYXRh
LlByaW50UGFnZSgpO2Nhc2UiYmlsX1ByaW50UGFnZSI6cmV0dXJuIFNhdmVUb0Zh
dm9yaXRlc0RhdGEuUHJpbnRQYWdlKCk7Y2FzZSJFbWFpbFBhZ2UiOnJldHVybiBT
YXZlVG9GYXZvcml0ZXNEYXRhLkVtYWlsUGFnZShuKX1yZXR1cm4gbi5pZC5pbmRl
eE9mKCJvYXNfIik9PTAmJihuLmhyZWY9TVNfT0FTVVJMK0dldE1vZGlmaWVkUXVl
cnlTdHJpbmcoImdwcmlkIixuLmlkLnJlcGxhY2UoIm9hc18iLCIiKSkscj1uLmhy
ZWYudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ0YXJnZXQ9YXNzaXN0YW5jZSIpLHI+
MCYmKHU9cisxNyxuLmhyZWYuY2hhckF0KHItMSk9PSImIiYmKHI9ci0xKSxuLmhy
ZWY9bi5ocmVmLnN1YnN0cmluZygwLHIpK24uaHJlZi5zdWJzdHJpbmcodSxuLmhy
ZWYubGVuZ3RoKSkpLG4uaHJlZiE9bnVsbCYmKGY9bi5ocmVmLmluZGV4T2YoIkdT
U1Byb2RTZWxNb3JlIiksZj4wJiYodT1uLmhyZWYuaW5kZXhPZigiJiIsZiksdTww
JiYodT1uLmhyZWYubGVuZ3RoKSxvPW4uaHJlZi5zdWJzdHJpbmcoZisxNCx1KSxu
LmhyZWY9Ii9zZWxlY3QvZGVmYXVsdC5hc3B4IitHZXRNb2RpZmllZFF1ZXJ5U3Ry
aW5nKCJjMSIsbykpKSwhMH1mdW5jdGlvbiBnZXRzZWFyY2h1cmwobil7cXVlcnlT
dHJpbmcuYWR2PT0iMSImJihuLmhyZWY9bi5ocmVmKyImYWR2PTEiKX1mdW5jdGlv
biBnZXRyc3N1cmwobil7dmFyIHQ9bi5ocmVmLmluZGV4T2YoIi9jb21tb24vcnNz
LmFzcHgiKTt0Pi0xJiYobi5ocmVmPW4uaHJlZisiJm1zaWQ9IittYzEpfWZ1bmN0
aW9uIE1TX1dlYk1ldHJpeChuKXtpZih0eXBlb2YgbiE9InVuZGVmaW5lZCIpe3Zh
ciB0LGk9Imd1aWQ9IixyPSImZ3VpZD0iLHU9MzI7dD1mZXRjaGNvb2tpZXZhbCgi
TUMxIiksdCYmKHQ9dC50b0xvd2VyQ2FzZSgpKSx0fHwodD1mZXRjaGNvb2tpZXZh
bCgiTUMyIiksdCYmKHQ9dC50b0xvd2VyQ2FzZSgpKSksdCYmKHQuc3Vic3RyKDAs
aS5sZW5ndGgpPT1pP21jMT10LnN1YnN0cihpLmxlbmd0aCx1KTp0LmluZGV4T2Yo
cik+LTEmJihtYzE9dC5zdWJzdHIodC5pbmRleE9mKHIpK3IubGVuZ3RoLHUpKSks
bj1uKyImbXNpZD0iK21jMSwkKCIjd2VibWV0cml4aW1nIikuZ2V0KDApLnNyYz1u
fX1mdW5jdGlvbiBNU19Eb2N1bWVudE9uQ2xpY2sobil7U3RhdHNEb3ROZXQuZGlz
YWJsZWR8fFN0YXRzRG90TmV0LlNldEV4aXRMaW5rcyhuKX1mdW5jdGlvbiBNU19X
aW5kb3dPblVubG9hZCgpe1N0YXRzRG90TmV0LmRpc2FibGVkfHxTdGF0c0RvdE5l
dC5Mb2dQYWdlT25VbkxvYWQoKX1mdW5jdGlvbiBNU19XaW5kb3dPblNjcm9sbCgp
e1N0YXRzRG90TmV0LnNjcm9sbFVzZWQ9ITAsJChkb2N1bWVudCkudW5iaW5kKCJz
Y3JvbGwiLE1TX1dpbmRvd09uU2Nyb2xsKX1mdW5jdGlvbiBPcHRpb25Db29raWUo
KXt2YXIgcj1mZXRjaGNvb2tpZXZhbCgiYWRvcHQiKSx1LHQsbixpLGY7aWYociYm
ci5sZW5ndGg+MClmb3IodT1yLnNwbGl0KCJ8IiksdD0wO3Q8dS5sZW5ndGg7dCsr
KXtuPXVbdF0uc3BsaXQoIj0iKTtpZihuLmxlbmd0aCE9Miljb250aW51ZTtpZihu
WzFdPT0iIiljb250aW51ZTtpPW5bMF0sZj1uWzFdLHRoaXNbaV0/dGhpc1tpXSs9
IiwgIitmOnRoaXNbaV09Zn19ZnVuY3Rpb24gSW5pdFJhZGlvKG4sdCl7dHZhbD1m
ZXRjaGNvb2tpZXZhbCgiYWQiK3QpO2lmKHR2YWwpZm9yKGk9MDtpPG4ubGVuZ3Ro
O2krKylpZihuW2ldLnZhbHVlPT11bmVzY2FwZSh0dmFsKSl7bltpXS5jaGVja2Vk
PSEwLG5baV0uY2xpY2soKTticmVha319ZnVuY3Rpb24gYWRkUG9wdXBIZWxwRXZl
bnRzKCl7dmFyIGk9MCx0PSQoIiNjb250ZW50QXJlYSBhIiksbjtpZih0KWZvcihu
PXQubGVuZ3RoLTE7bj49MDtuLS0pdFtuXS5jbGFzc05hbWU9PSJjdXN0aXAiJiYo
bGlua3MucHVzaCh0W25dKSx0W25dLm9ubW91c2VvdmVyPXNob3dQb3B1cEhlbHAs
dFtuXS5vbm1vdXNlb3V0PWhpZGVQb3B1cEhlbHAsdFtuXS5vbmZvY3VzPXNob3dQ
b3B1cEhlbHAsdFtuXS5vbmJsdXI9aGlkZVBvcHVwSGVscCl9ZnVuY3Rpb24gc2hv
d1BvcHVwSGVscCgpe3ZhciBuPSQodGhpcykuY2hpbGRyZW4oInNwYW4iKVswXTtp
ZihuPT1udWxsKXJldHVybjt2YXIgaT1BYnNQb3ModGhpcykscj1uLm9mZnNldFdp
ZHRoLHU9bi5vZmZzZXRIZWlnaHQrcGFyc2VJbnQoJChuKS5jc3MoInBhZGRpbmdU
b3AiKSwxMCkrcGFyc2VJbnQoJChuKS5jc3MoInBhZGRpbmdCb3R0b20iKSwxMCks
dD0iIixmPSQobikuY3NzKCJkaXJlY3Rpb24iKTtmPT09InJ0bCI/aS5sZWZ0PHI/
KHQrPSIgc2hvd0xlZnQiLG4uc3R5bGUucmlnaHQ9ImF1dG8iKTpuLnN0eWxlLnJp
Z2h0PSIyMHB4IjpyK2kubGVmdD4kKHdpbmRvdykud2lkdGgoKSYmKHQrPSIgc2hv
d1JpZ2h0IiksdStpLnRvcD4kKHdpbmRvdykuaGVpZ2h0KCkmJih0Kz0iIHNob3dC
b3R0b20iKSx0aGlzLmNsYXNzTmFtZT0iY3VzdGlwIHNob3ciK3R9ZnVuY3Rpb24g
aGlkZVBvcHVwSGVscCgpe3ZhciBuPW51bGwsdDt0aGlzLmNsYXNzTmFtZT0iY3Vz
dGlwIjtpZih0aGlzLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzcGFuIikpbj10aGlz
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzcGFuIilbMF07ZWxzZSByZXR1cm47aWYo
bj09bnVsbClyZXR1cm47dD0kKG4pLmNzcygiZGlyZWN0aW9uIiksdD09PSJydGwi
JiYobi5zdHlsZS5yaWdodD0iYXV0byIpfWZ1bmN0aW9uIEFic1BvcyhuKXt2YXIg
dD15PTA7aWYobi5vZmZzZXRQYXJlbnQpe3Q9bi5vZmZzZXRMZWZ0LHk9bi5vZmZz
ZXRUb3A7d2hpbGUobj1uLm9mZnNldFBhcmVudCl0Kz1uLm9mZnNldExlZnQseSs9
bi5vZmZzZXRUb3B9cmV0dXJue2xlZnQ6dCx0b3A6eX19ZnVuY3Rpb24gc2V0S2V5
Qml0KG4pe249c3JjRWwobiksbi5rZXlCaXQ9ITB9ZnVuY3Rpb24gbG9nU2VhcmNo
VUlTd2l0Y2goKXtTdGF0c0RvdE5ldC5ldmVudENvbGxlY3Rpb25JZD1TZXRMb2dD
b2xsZWN0aW9uQml0KFN0YXRzRG90TmV0LmV2ZW50Q29sbGVjdGlvbklkLDI4KX1m
dW5jdGlvbiBsb2dSYW5nZSgpe1N0YXRzRG90TmV0LmV2ZW50Q29sbGVjdGlvbklk
PVNldExvZ0NvbGxlY3Rpb25CaXQoU3RhdHNEb3ROZXQuZXZlbnRDb2xsZWN0aW9u
SWQsOCl9ZnVuY3Rpb24gbG9nT3B0aW9uSWQobil7U3RhdHNEb3ROZXQuT3B0aW9u
Q29sbGVjdGlvbklkPVNldExvZ0NvbGxlY3Rpb25CaXQoU3RhdHNEb3ROZXQuT3B0
aW9uQ29sbGVjdGlvbklkLG4pfWZ1bmN0aW9uIElzTG9nQml0U2V0KG4sdCl7aWYo
bj09MHx8dD09MClyZXR1cm4hMTt2YXIgaT1uLnRvU3RyaW5nKDIpO2lmKGkubGVu
Z3RoPnQpaWYoaS5jaGFyQXQoaS5sZW5ndGgtdC0xKT09IjEiKXJldHVybiEwO3Jl
dHVybiExfWZ1bmN0aW9uIFNldExvZ0NvbGxlY3Rpb25CaXQobix0KXtyZXR1cm4g
SXNMb2dCaXRTZXQobix0KXx8KG4rPU1hdGgucG93KDIsdCkpLG59ZnVuY3Rpb24g
U29sSWRGb3JTdGF0c05ldChuKXtTdGF0c0RvdE5ldC5kaXNhYmxlZHx8KFN0YXRz
RG90TmV0LmZsZXhJZD0iNCIsU3RhdHNEb3ROZXQuZmxleFZhbHVlMT1uLFN0YXRz
RG90TmV0LmV2ZW50Q29sbGVjdGlvbklkPVNldExvZ0NvbGxlY3Rpb25CaXQoU3Rh
dHNEb3ROZXQuZXZlbnRDb2xsZWN0aW9uSWQsMTgpKX1mdW5jdGlvbiBBc3NldElk
Q2xpY2sobil7U3RhdHNEb3ROZXQuZGlzYWJsZWR8fChTdGF0c0RvdE5ldC5TZXRT
ZWFyY2hDYXRlZ29yeUlkKG4pLFN0YXRzRG90TmV0LmZsZXhWYWx1ZTI9bixTdGF0
c0RvdE5ldC5mbGV4SWQ9IjQiKX1mdW5jdGlvbiBSZWdpb25TYXZlKG4pe3ZhciB0
PW4rIkxBTkciLGk9ZmV0Y2hjb29raWV2YWwodCkscj0kKCIjTE4iKS5nZXQoMCku
dmFsdWU7aSYmaSE9ciYmKFN0YXRzRG90TmV0LmV2ZW50Q29sbGVjdGlvbklkPVNl
dExvZ0NvbGxlY3Rpb25CaXQoU3RhdHNEb3ROZXQuZXZlbnRDb2xsZWN0aW9uSWQs
MTcpKSxzZXRjb29raWV2YWwodCxyKSwkKCIjcmVnaW9uZm9ybSIpLmdldCgwKS5z
dWJtaXR9ZnVuY3Rpb24gQ2hlY2tFdWxhQ29va2llKG4pe3ZhciB0PWZldGNoY29v
a2lldmFsKCJhY3dldWxhIik7cmV0dXJuIHQhPSIxIj8hMDooU3RhdHNEb3ROZXQu
ZXZlbnRDb2xsZWN0aW9uSWQ9U2V0TG9nQ29sbGVjdGlvbkJpdChTdGF0c0RvdE5l
dC5ldmVudENvbGxlY3Rpb25JZCwyNiksbG9jYXRpb24uaHJlZj1uLCExKX1mdW5j
dGlvbiBMYXVuY2hBY3cobix0KXtpZihuPT0iYWNjZXB0Iil7U3RhdHNEb3ROZXQu
ZXZlbnRDb2xsZWN0aW9uSWQ9U2V0TG9nQ29sbGVjdGlvbkJpdChTdGF0c0RvdE5l
dC5ldmVudENvbGxlY3Rpb25JZCwyNiksc2V0Y29va2lldmFsKCJhY3dldWxhIiwi
MSIpO3ZhciBpPXdpbmRvdy5vcGVuKHQsbnVsbCwiaGVpZ2h0PTEsd2lkdGg9MSxs
ZWZ0PTAsdG9wPTAsc3RhdHVzPW5vLHRvb2xiYXI9bm8sbWVudWJhcj1ubyxsb2Nh
dGlvbj1ubyIpO3JldHVybiBpPyQoIltuYW1lPWZybWFjd10iKS5zdWJtaXQoKTps
b2NhdGlvbi5ocmVmPXQsITF9JCgiW25hbWU9ZnJtYWN3XSIpLnN1Ym1pdCgpfWZ1
bmN0aW9uIGdldExhdGVzdEVsZW1lbnQoKXt2YXIgbj0kKCJib2R5IikuZ2V0KDAp
O3doaWxlKG4ubGFzdENoaWxkKW49bi5sYXN0Q2hpbGQ7d2hpbGUoIW4udGFnTmFt
ZSluPW4ucGFyZW50Tm9kZTtyZXR1cm4gbi5wcmV2aW91c1NpYmxpbmd9ZnVuY3Rp
b24gZml4QnVsbGV0UG9zaXRpb24oKXtyZXR1cm59ZnVuY3Rpb24gc2V0QUNTdGFy
dENoYXJzKG4pe24mJihhY1N0YXJ0TnVtPW4uc3BsaXQoIjoiKSl9ZnVuY3Rpb24g
Y2hhbmdlTGNpZEZvclNlbGVjdChuLHQsaSxyKXt2YXIgdT1pfHxuLm9wdGlvbnNb
bi5zZWxlY3RlZEluZGV4XS52YWx1ZTt1JiYodT11LnNwbGl0KCI9IiksdS5sZW5n
dGg9PT0yJiZjaGFuZ2VBY0xjaWQodVsxXSx0KSk7aWYoYWNTdGFydE51bSl0cnl7
Y2hhcnM9cj9hY1N0YXJ0TnVtW3BhcnNlSW50KHIsMTApXTphY1N0YXJ0TnVtW24u
c2VsZWN0ZWRJbmRleF0sTVMuU3VwcG9ydC5BQy5BQ0NoYW5nZUNoYXJTdGFydCh0
LGNoYXJzKX1jYXRjaChmKXt9fWZ1bmN0aW9uIEluaXRBQyhuKXt2YXIgdD1mdW5j
dGlvbigpe3ZhciByPSQoIiNkZENhdGFsb2ciKS5nZXQoMCksdCx1LGk7aWYocil7
dD11bmVzY2FwZShmZXRjaGNvb2tpZXZhbCgiYWRjYXRhbG9nIikpO2lmKHQpe2Zv
cih1PSExLGk9MDtpPHIub3B0aW9ucy5sZW5ndGg7aSsrKWlmKHIub3B0aW9uc1tp
XS52YWx1ZT09dCl7dT0hMDticmVha31pZih1KXt0PXQuc3BsaXQoIj0iKTtpZih0
Lmxlbmd0aD09PTIpdHJ5e01TLlN1cHBvcnQuQUMuQUNTZXRMY2lkKG4sdFsxXSl9
Y2F0Y2goZil7fX19fX07JCh3aW5kb3cpLnJlYWR5KHQpfWZ1bmN0aW9uIHNyY2hf
c2V0Y29va2lldmFsKG4sdCl7c2V0Y29va2lldmFsKG4sdCxudWxsLCEwKX1mdW5j
dGlvbiBzZXRjb29raWV2YWwobix0LGkscil7dmFyIHUscyxoLGMsZSxsLGYsbztp
ZighbilyZXR1cm47cz0iIixyfHwoaD1uZXcgRGF0ZSxzKz0iOyBleHBpcmVzPSIr
aC50b0dNVFN0cmluZyhoLnNldEZ1bGxZZWFyKGguZ2V0RnVsbFllYXIoKSsxKSkp
LGM9ZG9jdW1lbnQuZG9tYWluLHR5cGVvZiBnQ29va2llRG9tYWluIT0idW5kZWZp
bmVkIiYmZ0Nvb2tpZURvbWFpbiE9bnVsbCYmZ0Nvb2tpZURvbWFpbiE9IiImJihj
PWdDb29raWVEb21haW4pLGMuaW5kZXhPZigiLmNvbSIpPi0xJiYocys9IjsgRG9t
YWluPSIrYyksdT1mZXRjaGNvb2tpZXZhbChuKTtpZih1JiZpKXtsPSExO2lmKHUu
aW5kZXhPZigiPSIpPi0xKXtmb3IoZj11LnNwbGl0KCImIiksbz0wO288Zi5sZW5n
dGg7bysrKXtlPWZbb10uc3Vic3RyaW5nKDAsZltvXS5pbmRleE9mKCI9IikpLGUu
Y2hhckF0KDApPT0iICImJihlPWUuc3Vic3RyaW5nKDEsZS5sZW5ndGgpKTtpZihp
PT09ZSl7ZltvXT1pKyI9Iit0LHU9Zi5qb2luKCImIiksbD0hMDticmVha319bHx8
KGYubGVuZ3RoPjAmJih1Kz0iJiIpLHUrPWkrIj0iK3QpfWVsc2UgdT1pKyI9Iit0
fWVsc2UgaWYoIXUmJmkpdT1pKyI9Iit0O2Vsc2V7aWYoaSlyZXR1cm47dT10fWRv
Y3VtZW50LmNvb2tpZT1uKyI9Iit1K3MrIjsgcGF0aD0vIn1mdW5jdGlvbiBmZXRj
aGNvb2tpZXZhbChuLHQpe3ZhciB1LGYscixpO2lmKCFuKXJldHVybiIiO2Zvcihy
PWRvY3VtZW50LmNvb2tpZS5zcGxpdCgiOyIpLGk9MDtpPHIubGVuZ3RoO2krKyl7
dT1yW2ldLnN1YnN0cmluZygwLHJbaV0uaW5kZXhPZigiPSIpKSx1LmNoYXJBdCgw
KT09IiAiJiYodT11LnN1YnN0cmluZygxLHUubGVuZ3RoKSk7aWYobj09PXUpe2Y9
cltpXS5zdWJzdHJpbmcocltpXS5pbmRleE9mKCI9IikrMSxyW2ldLmxlbmd0aCk7
YnJlYWt9fWlmKGY9PT11bmRlZmluZWR8fGY9PT1udWxsKXJldHVybiBudWxsO2lm
KCF0KXJldHVybiBmO2ZvcihyPWYuc3BsaXQoIiYiKSxpPTA7aTxyLmxlbmd0aDtp
Kyspe3U9cltpXS5zdWJzdHJpbmcoMCxyW2ldLmluZGV4T2YoIj0iKSksdS5jaGFy
QXQoMCk9PSIgIiYmKHU9dS5zdWJzdHJpbmcoMSx1Lmxlbmd0aCkpO2lmKHQ9PT11
KXJldHVybiByW2ldLnN1YnN0cmluZyhyW2ldLmluZGV4T2YoIj0iKSsxLHJbaV0u
bGVuZ3RoKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBvbkhvdGZpeEV1bGFBY3Rpb24o
bix0KXtzZXRjb29raWV2YWwoImhvdGZpeEV1bGFDb29raWUiLG49PSJhY2NlcHQi
PyIxIjoiMCIsIiIsITEpLG49PSJhY2NlcHQiP2RvY3VtZW50LmZvcm1zLmZybUhv
dGZpeEV1bGEuc3VibWl0KCk6ZG9jdW1lbnQubG9jYXRpb24uaHJlZj10fWZ1bmN0
aW9uIEFkZHRvU29jaWFsTWVkaWEobix0LGkscil7dmFyIHU9d2luZG93LmxvY2F0
aW9uLmhyZWYsZj13aW5kb3cuZG9jdW1lbnQudGl0bGU7TG9nU29jaWFsTWVkaWEo
bix1LHQpLHdpbmRvdy5vcGVuKGkrZW5jb2RlVVJJQ29tcG9uZW50KHUpK3IrKGpR
dWVyeS50cmltKHIpLmxlbmd0aD09MD8iIjplbmNvZGVVUklDb21wb25lbnQoZikp
LCJ3aW4iKX1mdW5jdGlvbiBMb2dTb2NpYWxNZWRpYShuLHQsaSl7dmFyIHU9IiIs
cj1uZXcgRGF0ZSxmPXIuZ2V0SG91cnMoKSxlPXIuZ2V0TWludXRlcygpLG89ci50
b0RhdGVTdHJpbmcoKTt1PSJTU0lEPTI1JlJlcXVlc3REYXRlPSIrbysiJkhvdXJJ
RD0iK2YrIiZNaW51dGVJRD0iK2UrIiZGbGV4VmFsdWUxPSIrbisiJlBhZ2VVcmw9
Iit0KyImRmxleGlkPTEmRmxleHZhbHVlMj0iK2krIiZGbGV4dmFsdWUzPSIrU3Rh
dHNEb3ROZXQuY29udGVudElkKyImU2l0ZUN1bHR1cmU9IitTdGF0c0RvdE5ldC5T
aXRlQ3VsdHVyZSsiJkNvbnRlbnRDdWx0dXJlPSIrU3RhdHNEb3ROZXQuQ29udGVu
dEN1bHR1cmUsJC5hamF4KHt1cmw6Ii9sdHMvZGVmYXVsdC5hc3B4IixkYXRhOnV9
KX1mdW5jdGlvbiBJc0NoaWxkcmVuKG4sdCxpKXt2YXIgdTtpZighbilyZXR1cm4h
MTt1PSExLGl8fChpPTYpO3ZhciByPW4ucGFyZW50Tm9kZSxmPTAsZT0hMTt3aGls
ZShyJiZpPmYpe2lmKHI9PXQpe3U9ITA7YnJlYWt9cj0kKHIpLnBhcmVudCgpLmdl
dCgwKSxmKyt9cmV0dXJuIHV9ZnVuY3Rpb24gRWxlbWVudHNCeU5hbWUobix0KXt2
YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSh0KSx1LHI7aWYoaS5sZW5n
dGg+MClyZXR1cm4gaTtmb3IoaT1bXSx1PWRvY3VtZW50LmdldEVsZW1lbnRzQnlU
YWdOYW1lKG4pLHI9MDtyPHUubGVuZ3RoO3IrKyl1W3JdLmdldEF0dHJpYnV0ZSgi
bmFtZSIpPT10JiYoaVtpLmxlbmd0aF09dVtyXSk7cmV0dXJuIGl9ZnVuY3Rpb24g
RGlzcGxheUFUTGlzdCgpeyQoIiNBVExpc3QiKS5jc3MoImRpc3BsYXkiKS50b0xv
d2VyQ2FzZSgpPT0ibm9uZSI/KCQoIiN0aGluQ29sdW1uIikuZ2V0KDApJiYkKCIj
dGhpbkNvbHVtbiIpLmNzcygib3ZlcmZsb3ciLCJ2aXNpYmxlIiksJCgiI0FUTGlz
dCIpLmNzcygiZGlzcGxheSIsImJsb2NrIiksJChkb2N1bWVudCkuYmluZCgiY2xp
Y2suQXJ0aWNsZVRyYW5zbGF0aW9uIixmdW5jdGlvbihuKXtBcnRpY2xlVHJhbnNs
YXRpb25DbGlja0hhbmRsZShuKX0pKTooJCgiI0FUTGlzdCIpLmNzcygiZGlzcGxh
eSIsIm5vbmUiKSwkKGRvY3VtZW50KS51bmJpbmQoImNsaWNrLkFydGljbGVUcmFu
c2xhdGlvbiIpKX1mdW5jdGlvbiBBcnRpY2xlVHJhbnNsYXRpb25DbGlja0hhbmRs
ZShuKXtpZighbnx8IW4udGFyZ2V0KXJldHVybjt2YXIgdD1uLnRhcmdldCxpPSQo
IiNBcnRpY2xlVHJhbnNsYXRpb25zIikuZ2V0KDApO2lmKGk9PXR8fElzQ2hpbGRy
ZW4odCxpKSlyZXR1cm47JCgiI0FUTGlzdCIpLmNzcygiZGlzcGxheSIsIm5vbmUi
KSwkKGRvY3VtZW50KS51bmJpbmQoImNsaWNrLkFydGljbGVUcmFuc2xhdGlvbiIp
fWZ1bmN0aW9uIEFUQ2xpY2sobix0KXt0LmlkPSJLQkxhbmdMaXN0UmVkaXJlY3Qi
LFN0YXRzRG90TmV0LmRpc2FibGVkfHwoU3RhdHNEb3ROZXQuZXhpdENvbnRhaW5l
cklkPW4pfWZ1bmN0aW9uIGdldFN1Yk1lbnVIYW5kbGVOYW1lKG4pe3JldHVybiBu
LmlkP24uaWQ6ImRyb3Bkb3dubWVudSJ9ZnVuY3Rpb24gYmluZE1lbnVFdmVudChu
KXtuLm1lbnVFdmVudEJvdW5kfHwobi5tZW51RXZlbnRCb3VuZD0hMCwkKG4pLmhv
dmVyKG51bGwsZnVuY3Rpb24oKXtoaWRlU3ViTWVudShuKX0pLCQobikuYmluZCgi
a2V5ZG93biIsZnVuY3Rpb24odCl7dC5rZXlDb2RlPT09MjcmJigkKG4pLmZpbmQo
ImEjbWVudWJvZHkiKS5mb2N1cygpLGhpZGVTdWJNZW51KG4pKX0pKSxuLm1lbnVH
bG9iYWxUcmFja0V2ZW50Qm91bmR8fChuLm1lbnVHbG9iYWxUcmFja0V2ZW50Qm91
bmQ9ITAsJChkb2N1bWVudCkuYmluZCgiY2xpY2suIitnZXRTdWJNZW51SGFuZGxl
TmFtZShuKSxmdW5jdGlvbih0KXtoaWRlU3ViTWVudUhhbmRsZSh0LG4pfSksJChk
b2N1bWVudCkuYmluZCgiZm9jdXNpbi4iK2dldFN1Yk1lbnVIYW5kbGVOYW1lKG4p
LGZ1bmN0aW9uKHQpe2hpZGVTdWJNZW51SGFuZGxlKHQsbil9KSl9ZnVuY3Rpb24g
ZGlzcGxheVN1Yk1lbnUobil7JChuKS5maW5kKCIjZHJvcGRvd25tZW51Iikuc2hv
dygpLGJpbmRNZW51RXZlbnQobil9ZnVuY3Rpb24gaGlkZVN1Yk1lbnUobil7JChu
KS5maW5kKCIjZHJvcGRvd25tZW51IikuaGlkZSgpLCQoZG9jdW1lbnQpLnVuYmlu
ZCgiY2xpY2suIitnZXRTdWJNZW51SGFuZGxlTmFtZShuKSksJChkb2N1bWVudCku
dW5iaW5kKCJmb2N1c2luLiIrZ2V0U3ViTWVudUhhbmRsZU5hbWUobikpLG4ubWVu
dUdsb2JhbFRyYWNrRXZlbnRCb3VuZD0hMX1mdW5jdGlvbiB0b2dnbGVTdWJNZW51
KG4peyQobikuZmluZCgiI2Ryb3Bkb3dubWVudSIpLmlzKCI6dmlzaWJsZSIpP2hp
ZGVTdWJNZW51KG4pOmRpc3BsYXlTdWJNZW51KG4pfWZ1bmN0aW9uIHRyYWNrT3V0
c2lkZUV2ZW50KG4sdCxpKXtpZighbnx8IW4udGFyZ2V0KXJldHVybjt2YXIgcj1u
LnRhcmdldDtqUXVlcnkuY29udGFpbnModCxyKXx8cj09dHx8aSh0KX1mdW5jdGlv
biBoaWRlU3ViTWVudUhhbmRsZShuLHQpe3RyYWNrT3V0c2lkZUV2ZW50KG4sdCxm
dW5jdGlvbihuKXtoaWRlU3ViTWVudShuKX0pfWZ1bmN0aW9uIHJlY29yZExpbmtD
bGljayhuLHQpe3ZhciBpLHI7dCYmKGk9U3RhdHNEb3ROZXRbImZsZXhWYWx1ZSIr
bl0saT0kLnRyaW0oaSksaT8ocj0ifCIraSsifCIsci5pbmRleE9mKCJ8Iit0KyJ8
Iik8MCYmKGk9aSsifCIrdCkpOmk9dCxTdGF0c0RvdE5ldFsiZmxleFZhbHVlIitu
XT1pKX1mdW5jdGlvbiBoYW5kbGVGaXhpdEZvb3RlckNsaWNrKG4sdCl7dmFyIGks
cjtpZighbnx8IW4udGFyZ2V0KXJldHVybjtpPW4udGFyZ2V0LCQoaSkuaXMoImEi
KSYmKHI9JChpKS5hdHRyKCJocmVmIikscmVjb3JkTGlua0NsaWNrKHQscikpfWZ1
bmN0aW9uIGdlbmVyYXRlV2VkY3NEYXRhKCl7dmFyIHQ9IndlZGNzaW5jIix1PSJN
UzAiLG49ZmV0Y2hjb29raWV2YWwodCksZj1mZXRjaGNvb2tpZXZhbCh1KSxpLHI7
ZiE9bnVsbCYmbnx8KG49MCksbj1wYXJzZUludChuKSxuKz0xLHNldGNvb2tpZXZh
bCh0LG4sbnVsbCwhMSksaT1mZXRjaGNvb2tpZXZhbCgiR3NmeFNlc3Npb25Db29r
aWUiKSxyPVtidWlsZE1ldGEoImV2ZW50c2Vxbm8iLG4pLGJ1aWxkTWV0YSgiU3NW
ZXJzaW9uIixTdGF0c0RvdE5ldC5Tc1ZlcnNpb24pLGJ1aWxkTWV0YSgiRXZlbnRD
b2xsZWN0aW9uSWQiLFN0YXRzRG90TmV0LmV2ZW50Q29sbGVjdGlvbklkKSxidWls
ZE1ldGEoIk9wdGlvbkNvbGxlY3Rpb25JZCIsU3RhdHNEb3ROZXQuT3B0aW9uQ29s
bGVjdGlvbklkKSxidWlsZE1ldGEoIkNvbnRlbnRQcm9wZXJ0aWVzIixTdGF0c0Rv
dE5ldC5Db250ZW50UHJvcGVydGllcyksYnVpbGRNZXRhKCJDb250ZW50TGNpZCIs
U3RhdHNEb3ROZXQuY29udGVudExuKSxidWlsZE1ldGEoIkJyYW5kSWQiLFN0YXRz
RG90TmV0LnNpdGVCcmFuZElkKSxidWlsZE1ldGEoIkludGVuZGVkNDA0VXJsIixT
dGF0c0RvdE5ldC5JbjQwNFVybCksYnVpbGRNZXRhKCJSZWZlcnJlckNvbnRlbnRU
eXBlIixTdGF0c0RvdE5ldC5yY3R5cGUpLGJ1aWxkTWV0YSgiUmVmZXJyZXJDb250
ZW50TGNpZCIsU3RhdHNEb3ROZXQucmNsY2lkKSxidWlsZE1ldGEoIlJlZmVycmVy
Q29udGVudEN1bHR1cmUiLFN0YXRzRG90TmV0LnJjY3VsdHVyZSksYnVpbGRNZXRh
KCJSZWZlcnJlckNvbnRlbnRJZCIsU3RhdHNEb3ROZXQucmNpZCksYnVpbGRNZXRh
KCJSZWZlcnJlckV4aXRMaW5rSUQiLFN0YXRzRG90TmV0LnJleGxpZCksYnVpbGRN
ZXRhKCJSZWZlcnJlckV4aXRDb250YWluZXJJRCIsU3RhdHNEb3ROZXQucmV4Y2lk
KSxidWlsZE1ldGEoIlNlc3Npb25JZCIsaSldLmpvaW4oIiIpLCQocikuYXBwZW5k
VG8oJCgiaGVhZCIpKX12YXIgcXVlcnlTdHJpbmc9bmV3IE1TX1F1ZXJ5U3RyaW5n
LGdfcmVTdXBwb3J0ZWRIb3N0bmFtZXMsU3RhdHNEb3ROZXQ9bmV3IE1TX1N0YXRz
RG90TmV0LFNhdmVUb0Zhdm9yaXRlc0RhdGE9bmV3IE1TX1BhZ2VUb29sc0RhdGEs
bWMxLGxpbmtzLGFjU3RhcnROdW0sY2hhbmdlQWNMY2lkLGJ1aWxkTWV0YSxHU1M7
U2F2ZVRvRmF2b3JpdGVzRGF0YS5vYmpTdGF0c0RvdE5ldD1TdGF0c0RvdE5ldCxt
YzE9IiIsJCh3aW5kb3cpLnVubG9hZChNU19XaW5kb3dPblVubG9hZCksJChkb2N1
bWVudCkuY2xpY2soTVNfRG9jdW1lbnRPbkNsaWNrKSwkKGRvY3VtZW50KS5zY3Jv
bGwoTVNfV2luZG93T25TY3JvbGwpLGxpbmtzPVtdLCQoZG9jdW1lbnQpLnJlYWR5
KGFkZFBvcHVwSGVscEV2ZW50cyksY2hhbmdlQWNMY2lkPWZ1bmN0aW9uKG4sdCxp
KXt0cnl7TVMuU3VwcG9ydC5BQy5BQ1NldExjaWQodCxuKTtpZihhY1N0YXJ0TnVt
JiZpKXRyeXtNUy5TdXBwb3J0LkFDLkFDQ2hhbmdlQ2hhclN0YXJ0KHQsYWNTdGFy
dE51bVtpXSl9Y2F0Y2gocil7fX1jYXRjaChyKXt9fSxBamF4R2V0PWZ1bmN0aW9u
KG4sdCl7dmFyIGkscjt0cnl7aT1udWxsLHdpbmRvdy5YTUxIdHRwUmVxdWVzdD9p
PW5ldyBYTUxIdHRwUmVxdWVzdDp3aW5kb3cuQWN0aXZlWE9iamVjdCYmKGk9bmV3
IEFjdGl2ZVhPYmplY3QoIk1zeG1sMi5YTUxIVFRQIikpO2lmKGkmJmkhPW51bGwp
aS5vcGVuKCJHRVQiLG4sITApLGkuc2V0UmVxdWVzdEhlYWRlcigiQ29ubmVjdGlv
biIsImNsb3NlIiksaS5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCJ0
ZXh0L3BsYWluIiksaS5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtpLnJl
YWR5U3RhdGU9PTQmJmkuc3RhdHVzPT0yMDAmJkFqYXhDYWxsYmFja0Z1bmModCxp
LnJlc3BvbnNlVGV4dCl9LGkuc2VuZChudWxsKTtlbHNlIHJldHVybiBudWxsfWNh
dGNoKHUpe3JldHVybiBudWxsfX0sJCh3aW5kb3cpLmxvYWQoZnVuY3Rpb24oKXsk
KCIjQVRMaXN0IikuZ2V0KDApJiYoJCgiI0FUTGlzdCIpLmNzcygiZGlzcGxheSIs
Im5vbmUiKSwkKCIjQVRMaXN0IikuY3NzKCJwb3NpdGlvbiIsImFic29sdXRlIikp
fSksYnVpbGRNZXRhPWZ1bmN0aW9uKG4sdCl7cmV0dXJuIHQ9PT11bmRlZmluZWR8
fHQ9PT1udWxsPyIiOic8bWV0YSBuYW1lPSJtcy4nK24rJyIgY29udGVudD0iJyt0
KyciIC8+J30sJChmdW5jdGlvbigpeyQoIi5TaGFyZUJ1dHRvbiIpLmNzcygiZGlz
cGxheSIsImJsb2NrIik7dmFyIG49ZnVuY3Rpb24oKXskKCIuTWVkaWFDb250ZW50
IHVsIikuc2xpZGVVcCgiZmFzdCIpfTskKCIuU2hhcmVCdXR0b24iKS5jbGljayhm
dW5jdGlvbigpe3JldHVybiAkKCIuTWVkaWFDb250ZW50IHVsIikuc2xpZGVUb2dn
bGUoImZhc3QiKSwhMX0pLCQoZG9jdW1lbnQpLmJpbmQoImNsaWNrIixuKSwkKCIu
TWVkaWFDb250ZW50IikudW5iaW5kKCJjbGljayIsbil9KSxHU1M9R1NTfHx7fSxH
U1MuVXRpbGl0eT1HU1MuVXRpbGl0eXx8e30sZnVuY3Rpb24obil7ZnVuY3Rpb24g
aSh0KXt2YXIgcyxyLG8sZixpLHUsZTt0fHwodD0iIikscz0vXig/OihbXjpcLz9c
I10rKTopPyg/OlwvXC8oW15cLz9cI10qKSk/KFteP1wjXSopKD86XD8oW15cI10q
KSk/KD86XCMoLiopKT8vLHI9dC5tYXRjaChzKSx0aGlzLnNjaGVtZT1yWzFdfHxu
dWxsLHRoaXMuYXV0aG9yaXR5PXJbMl18fG51bGwsdGhpcy5wYXRoPXJbM118fG51
bGwsdGhpcy5xdWVyeT1yWzRdfHxudWxsLHRoaXMuZnJhZ21lbnQ9cls1XXx8bnVs
bCx0aGlzLnVybD10LHRoaXMucXVlcnlTdHJpbmc9e307aWYodGhpcy5xdWVyeSlm
b3Iobz10aGlzLnF1ZXJ5LnNwbGl0KCImIiksZj0wO2Y8by5sZW5ndGg7ZisrKXtp
PW9bZl0uc3BsaXQoIj0iKTtpZihpLmxlbmd0aCE9Miljb250aW51ZTtpZihpWzFd
PT0iIiljb250aW51ZTt0cnl7dT1kZWNvZGVVUklDb21wb25lbnQoaVswXSkudG9M
b3dlckNhc2UoKSxlPWRlY29kZVVSSUNvbXBvbmVudChpWzFdKX1jYXRjaChoKXt1
PXVuZXNjYXBlKGlbMF0pLnRvTG93ZXJDYXNlKCksZT11bmVzY2FwZShpWzFdKX10
aGlzLnF1ZXJ5U3RyaW5nW3VdP3RoaXMucXVlcnlTdHJpbmdbdV0rPSIsIitlOnRo
aXMucXVlcnlTdHJpbmdbdV09ZX10aGlzLm1vZGlmeVF1ZXJ5SXRlbXM9ZnVuY3Rp
b24odCl7bi5leHRlbmQodGhpcy5xdWVyeVN0cmluZyx0KX19dmFyIHIsdCx1O2ku
cHJvdG90eXBlPXtjb25zdHJ1Y3RvcjppLHRvU3RyaW5nOmZ1bmN0aW9uKCl7dmFy
IHQ9IiI7cmV0dXJuIHRoaXMuc2NoZW1lJiYodCs9dGhpcy5zY2hlbWUrIjoiKSx0
aGlzLmF1dGhvcml0eSYmKHQrPSIvLyIrdGhpcy5hdXRob3JpdHkpLHRoaXMucGF0
aCYmKHQrPXRoaXMucGF0aCksdGhpcy5xdWVyeT1uLnBhcmFtKHRoaXMucXVlcnlT
dHJpbmcpLHRoaXMucXVlcnkmJih0Kz0iPyIrbi5wYXJhbSh0aGlzLnF1ZXJ5U3Ry
aW5nKSksdGhpcy5mcmFnbWVudCYmKHQrPSIjIit0aGlzLmZyYWdtZW50KSx0fX0s
R1NTLlV0aWxpdHkuVVJJPWksdD0tMSx1PWZ1bmN0aW9uKGksZil7bi5hamF4KHt1
cmw6Zix0eXBlOiJIRUFEIixwcm9jZXNzRGF0YTohMSxzdWNjZXNzOmZ1bmN0aW9u
KCl7bigiIyIraSkuYXR0cigic3JjIixmKSxuKCIjIitpKS5zaG93KCl9LHN0YXR1
c0NvZGU6ezQwNDpmdW5jdGlvbigpe2lmKHQ9PT1yLmxlbmd0aC0xKXtuKCIjIitp
KS5yZW1vdmUoKTtyZXR1cm59dD10KzEsdShpLHJbdF0pfX19KX0sR1NTLlV0aWxp
dHkuU2V0SW1hZ2VTcmM9ZnVuY3Rpb24obix0LGkpe3I9dC5zcGxpdCgifCIpLHUo
bixpKX0sR1NTLlV0aWxpdHkuRGlzcGxheVNzYkFkPWZ1bmN0aW9uKCl7dmFyIHQ9
ZmV0Y2hjb29raWV2YWwoIk1VSUQiKTtpZighdClyZXR1cm47bihkb2N1bWVudCku
cmVhZHkoZnVuY3Rpb24oKXtmKHQsZnVuY3Rpb24oKXtuKCIjZGl2U3NiQWRDb250
ZW50Iikuc2hvdygpfSl9KX0sR1NTLlV0aWxpdHkuVHJ5UmVkaXJlY3RUb1NzYj1m
dW5jdGlvbihuKXt2YXIgaT1mZXRjaGNvb2tpZXZhbCgic3NidmlzaXRlZCIpLHI9
ZmV0Y2hjb29raWV2YWwoInNzYnJlbWluZGVyIiksdD1mZXRjaGNvb2tpZXZhbCgi
TVVJRCIpO2k9PT1udWxsJiZyPT09bnVsbCYmdCYmZih0LGZ1bmN0aW9uKCl7c2Vs
Zi5sb2NhdGlvbj1ufSl9O3ZhciBmPWZ1bmN0aW9uKHQsaSl7bi5nZXQoIi9jb250
ZW50L09wdFNlcnZpY2UuYXNoeCIsbnVsbCxmdW5jdGlvbihuKXtvKHQsbiksZShu
LCIsIiwiSXNTbWFsbE1lZGl1bUJ1c2luZXNzIikmJmkoKX0pfSxlPWZ1bmN0aW9u
KG4sdCxpKXtmb3IodmFyIHU9bi5zcGxpdCh0KSxmPSExLHI9MDtyPHUubGVuZ3Ro
O3IrPTEpaWYodVtyXT09PWkpe2Y9ITA7YnJlYWt9cmV0dXJuIGZ9LG89ZnVuY3Rp
b24odCxpKXt2YXIgcj1uZXcgRGF0ZSx1PXIudG9EYXRlU3RyaW5nKCksZj0iU1NJ
RD0yNSZSZXF1ZXN0RGF0ZT0iK3UrIiZVcmw9IitlbmNvZGVVUklDb21wb25lbnQo
U3RhdHNEb3ROZXQudXJsKSsiJkZsZXhpZD0xJkZsZXh2YWx1ZTI9U1NCT1BUJkZs
ZXh2YWx1ZTM9Iit0KyImRmxleHZhbHVlND0iK2krIiZTaXRlQ3VsdHVyZT0iK1N0
YXRzRG90TmV0LlNpdGVDdWx0dXJlKyImQ29udGVudEN1bHR1cmU9IitTdGF0c0Rv
dE5ldC5Db250ZW50Q3VsdHVyZSsiJkNvbnRlbnRJRD0iK1N0YXRzRG90TmV0LmNv
bnRlbnRJZCsiJkNvbnRlbnRUeXBlPSIrU3RhdHNEb3ROZXQuY29udGVudFR5cGUr
IiZBY3RpdmVEd2VsbFRpbWU9IitTdGF0c0RvdE5ldC5hY3RpdmVEd2VsbFRpbWUr
IiZFdmVudFNlcU5vPSIrU3RhdHNEb3ROZXQuZXZlbnRTZXFObztuLmFqYXgoe3Vy
bDoiL2x0cy9kZWZhdWx0LmFzcHgiLGRhdGE6Zn0pfX0oalF1ZXJ5KTs=

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=survey.js
Content-Type: application/x-javascript; name=survey.js
Content-Location: http://support.microsoft.com/common/script/fx/survey.js?80
Content-Transfer-Encoding: Base64

aWYgKCF3aW5kb3cuTVMpDQp7DQoJd2luZG93Lk1TID0ge307DQp9DQoNCmlmICgh
TVMuU3VwcG9ydCkNCnsNCglNUy5TdXBwb3J0ID0ge307DQp9DQoNCmlmICghTVMu
U3VwcG9ydC5GbXMpDQp7DQoJTVMuU3VwcG9ydC5GbXMgPSB7fTsNCn0NCg0KaWYg
KCFNUy5TdXBwb3J0LkZtcy5TdXJ2ZXkpDQp7DQoJTVMuU3VwcG9ydC5GbXMuVXRp
bHMgPQ0KCXsNCgkJZmluZENoaWxkTm9kZXM6IGZ1bmN0aW9uIChwYXJlbnQsIGV2
YWx1YXRvcikNCgkJew0KCQkJdmFyIGVsZW1lbnRzID0gW107DQoNCgkJCWlmIChl
dmFsdWF0b3IocGFyZW50KSkNCgkJCXsNCgkJCQllbGVtZW50cy5wdXNoKHBhcmVu
dCk7DQoJCQl9DQoNCgkJCWlmIChwYXJlbnQgIT0gbnVsbCAmJiBwYXJlbnQuY2hp
bGROb2RlcykNCgkJCXsNCgkJCQlmb3IgKHZhciBpID0gMDsgaSA8IHBhcmVudC5j
aGlsZE5vZGVzLmxlbmd0aDsgKytpKQ0KCQkJCXsNCgkJCQkJdmFyIGVzID0gYXJn
dW1lbnRzLmNhbGxlZShwYXJlbnQuY2hpbGROb2Rlc1tpXSwgZXZhbHVhdG9yKTsN
CgkJCQkJZm9yICh2YXIgaiA9IDA7IGogPCBlcy5sZW5ndGg7ICsraikNCgkJCQkJ
ew0KCQkJCQkJZWxlbWVudHMucHVzaChlc1tqXSk7DQoJCQkJCX0NCgkJCQl9DQoJ
CQl9DQoNCgkJCXJldHVybiBlbGVtZW50czsNCgkJfSwNCg0KCQlmaW5kRmlyc3RD
aGlsZDogZnVuY3Rpb24gKHBhcmVudCwgZXZhbHVhdG9yKQ0KCQl7DQoJCQlpZiAo
ZXZhbHVhdG9yKHBhcmVudCkpDQoJCQl7DQoJCQkJcmV0dXJuIHBhcmVudDsNCgkJ
CX0NCgkJCWVsc2UgaWYgKHBhcmVudCAhPSBudWxsICYmIHBhcmVudC5jaGlsZE5v
ZGVzKQ0KCQkJew0KCQkJCWZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBwYXJl
bnQuY2hpbGROb2Rlcy5sZW5ndGg7ICsraW5kZXgpDQoJCQkJew0KCQkJCQl2YXIg
ZSA9IGFyZ3VtZW50cy5jYWxsZWUocGFyZW50LmNoaWxkTm9kZXNbaW5kZXhdLCBl
dmFsdWF0b3IpOw0KDQoJCQkJCWlmIChlICE9IG51bGwpDQoJCQkJCXsNCgkJCQkJ
CXJldHVybiBlOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KDQoJCQlyZXR1cm4gbnVs
bDsNCgkJfSwNCg0KCQlnZXRDaGlsZEJ5SWQ6IGZ1bmN0aW9uIChwYXJlbnQsIGNo
aWxkSWQpDQoJCXsNCgkJCWlmIChwYXJlbnQgPT0gbnVsbCkNCgkJCXsNCgkJCQly
ZXR1cm4gbnVsbDsNCgkJCX0NCgkJCWVsc2UgaWYgKHBhcmVudC5nZXRFbGVtZW50
QnlJZCkNCgkJCXsNCgkJCQlyZXR1cm4gcGFyZW50LmdldEVsZW1lbnRCeUlkKGNo
aWxkSWQpOw0KCQkJfQ0KCQkJZWxzZSBpZiAocGFyZW50LnF1ZXJ5U2VsZWN0b3Ip
DQoJCQl7DQoJCQkJcmV0dXJuIHBhcmVudC5xdWVyeVNlbGVjdG9yKCIjIiArIGNo
aWxkSWQpOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCXJldHVybiBNUy5TdXBw
b3J0LkZtcy5VdGlscy5maW5kRmlyc3RDaGlsZCgNCgkJCQkJcGFyZW50LA0KCQkJ
CQlmdW5jdGlvbiAocGFyZW50KQ0KCQkJCQl7DQoJCQkJCQlyZXR1cm4gKHBhcmVu
dCAhPSBudWxsICYmIHBhcmVudC5pZCA9PSBjaGlsZElkKTsNCgkJCQkJfQ0KCQkJ
CSk7DQoJCQl9DQoNCgkJfSwNCg0KCQlnZXRDaGlsZEJ5QXR0cmlidXRlOiBmdW5j
dGlvbiAocGFyZW50LCBhdHRyaWJ1dGVOYW1lLCBhdHRyaWJ1dGVWYWx1ZSkNCgkJ
ew0KCQkJaWYgKHBhcmVudC5xdWVyeVNlbGVjdG9yKQ0KCQkJew0KCQkJCXJldHVy
biBwYXJlbnQucXVlcnlTZWxlY3RvcigiWyIgKyBhdHRyaWJ1dGVOYW1lICsgIj0i
ICsgYXR0cmlidXRlVmFsdWUgKyAiXSIpOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0K
CQkJCXJldHVybiBNUy5TdXBwb3J0LkZtcy5VdGlscy5maW5kRmlyc3RDaGlsZCgN
CgkJCQkJcGFyZW50LA0KCQkJCQlmdW5jdGlvbiAocGFyZW50KQ0KCQkJCQl7DQoJ
CQkJCQlyZXR1cm4gcGFyZW50ICE9IG51bGwgJiYgcGFyZW50LmdldEF0dHJpYnV0
ZSA/IChwYXJlbnQuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpID09IGF0dHJp
YnV0ZVZhbHVlKSA6IGZhbHNlOw0KCQkJCQl9DQoJCQkJKTsNCgkJCX0NCgkJfSwN
Cg0KCQlnZXRDaGlsZE5vZGVzQnlBdHRyaWJ1dGU6IGZ1bmN0aW9uIChwYXJlbnQs
IGF0dHJpYnV0ZU5hbWUsIGF0dHJpYnV0ZVZhbHVlKQ0KCQl7DQoJCQlpZiAocGFy
ZW50LnF1ZXJ5U2VsZWN0b3JBbGwpDQoJCQl7DQoJCQkJcmV0dXJuIHBhcmVudC5x
dWVyeVNlbGVjdG9yQWxsKCJbIiArIGF0dHJpYnV0ZU5hbWUgKyAiPSIgKyBhdHRy
aWJ1dGVWYWx1ZSArICJdIik7DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJcmV0
dXJuIE1TLlN1cHBvcnQuRm1zLlV0aWxzLmZpbmRDaGlsZE5vZGVzKA0KCQkJCQlw
YXJlbnQsDQoJCQkJCWZ1bmN0aW9uIChwYXJlbnQpDQoJCQkJCXsNCgkJCQkJCXJl
dHVybiBwYXJlbnQgIT0gbnVsbCAmJiBwYXJlbnQuZ2V0QXR0cmlidXRlID8gKHBh
cmVudC5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSkgPT0gYXR0cmlidXRlVmFs
dWUpIDogZmFsc2U7DQoJCQkJCX0NCgkJCQkpOw0KCQkJfQ0KCQl9LA0KDQoJCWdl
dENoaWxkQnlOYW1lOiBmdW5jdGlvbiAocGFyZW50LCBuYW1lKQ0KCQl7DQoJCQly
ZXR1cm4gTVMuU3VwcG9ydC5GbXMuVXRpbHMuZ2V0Q2hpbGRCeUF0dHJpYnV0ZShw
YXJlbnQsICJuYW1lIiwgbmFtZSk7DQoJCX0sDQoNCgkJZ2V0Q2hpbGRCeVRhZ05h
bWU6IGZ1bmN0aW9uIChwYXJlbnQsIHRhZ05hbWUpDQoJCXsNCgkJCWlmIChwYXJl
bnQucXVlcnlTZWxlY3RvcikNCgkJCXsNCgkJCQlyZXR1cm4gcGFyZW50LnF1ZXJ5
U2VsZWN0b3IodGFnTmFtZSk7DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJcmV0
dXJuIE1TLlN1cHBvcnQuRm1zLlV0aWxzLmZpbmRGaXJzdENoaWxkKA0KCQkJCQlw
YXJlbnQsDQoJCQkJCWZ1bmN0aW9uIChlKQ0KCQkJCQl7DQoJCQkJCQlyZXR1cm4g
ZSAmJiBlLnRhZ05hbWUgJiYgZS50YWdOYW1lLnRvVXBwZXJDYXNlKCkgPT0gdGFn
TmFtZS50b1VwcGVyQ2FzZSgpOw0KCQkJCQl9DQoJCQkJKTsNCgkJCX0NCgkJfSwN
Cg0KCQlnZXRDaGlsZE5vZGVzQnlDbGFzczogZnVuY3Rpb24gKHBhcmVudCwgY2xh
c3NOYW1lKQ0KCQl7DQoJCQlpZiAocGFyZW50LnF1ZXJ5U2VsZWN0b3JBbGwpDQoJ
CQl7DQoJCQkJcmV0dXJuIHBhcmVudC5xdWVyeVNlbGVjdG9yQWxsKCIuIiArIGNs
YXNzTmFtZSk7DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJcmV0dXJuIE1TLlN1
cHBvcnQuRm1zLlV0aWxzLmZpbmRDaGlsZE5vZGVzKA0KCQkJCQlwYXJlbnQsDQoJ
CQkJCWZ1bmN0aW9uIChlKQ0KCQkJCQl7DQoJCQkJCQlyZXR1cm4gTVMuU3VwcG9y
dC5GbXMuVXRpbHMuaGFzQ2xhc3MoZSwgY2xhc3NOYW1lKTsNCgkJCQkJfQ0KCQkJ
CSk7DQoJCQl9DQoJCX0sDQoNCgkJaXNBbmNlc3Rvck9mOiBmdW5jdGlvbiAoYW5j
ZXN0b3IsIHBvc3Rlcml0eSkNCgkJew0KCQkJaWYgKGFuY2VzdG9yLmNvbnRhaW5z
KQ0KCQkJew0KCQkJCXJldHVybiBhbmNlc3Rvci5jb250YWlucyhwb3N0ZXJpdHkp
Ow0KCQkJfQ0KDQoJCQl2YXIgcGFyZW50ID0gcG9zdGVyaXR5Ow0KCQkJd2hpbGUg
KHBhcmVudCAhPSBudWxsKQ0KCQkJew0KCQkJCWlmIChhbmNlc3RvciA9PSBwYXJl
bnQpDQoJCQkJew0KCQkJCQlyZXR1cm4gdHJ1ZTsNCgkJCQl9DQoJCQkJcGFyZW50
ID0gcGFyZW50LnBhcmVudE5vZGU7DQoJCQl9DQoNCgkJCXJldHVybiBmYWxzZTsN
CgkJfSwNCg0KCQlyYW5kb21pemU6IGZ1bmN0aW9uIChhcnJheSkNCgkJew0KCQkJ
dmFyIGxlbiA9IGFycmF5Lmxlbmd0aDsNCgkJCWZvciAodmFyIGkgPSAwOyBpIDwg
bGVuOyArK2kpDQoJCQl7DQoJCQkJdmFyIHggPSBNYXRoLmZsb29yKE1hdGgucmFu
ZG9tKCkgKiAobGVuIC0gaSkpICsgaTsNCg0KCQkJCWlmICh4ICE9IGkpDQoJCQkJ
ew0KCQkJCQl2YXIgdCA9IGFycmF5W2ldOw0KCQkJCQlhcnJheVtpXSA9IGFycmF5
W3hdOw0KCQkJCQlhcnJheVt4XSA9IHQ7DQoJCQkJfQ0KCQkJfQ0KCQl9LA0KDQoJ
CXN3YXBOb2RlOiBmdW5jdGlvbiAobm9kZTEsIG5vZGUyKQ0KCQl7DQoJCQlpZiAo
bm9kZTEuc3dhcE5vZGUpDQoJCQl7DQoJCQkJbm9kZTEuc3dhcE5vZGUobm9kZTIp
Ow0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCXZhciBwYXJlbnQxID0gbm9kZTEu
cGFyZW50Tm9kZTsNCgkJCQl2YXIgcGFyZW50MiA9IG5vZGUyLnBhcmVudE5vZGU7
DQoNCgkJCQl2YXIgczIgPSBub2RlMi5uZXh0U2libGluZzsNCg0KCQkJCXBhcmVu
dDEuaW5zZXJ0QmVmb3JlKG5vZGUyLCBub2RlMSk7DQoNCgkJCQlpZiAoczIpDQoJ
CQkJew0KCQkJCQlwYXJlbnQyLmluc2VydEJlZm9yZShub2RlMSwgczIpOw0KCQkJ
CX0NCgkJCQllbHNlDQoJCQkJew0KCQkJCQlwYXJlbnQyLmFwcGVuZENoaWxkKG5v
ZGUxKTsNCgkJCQl9DQoJCQl9DQoJCX0sDQoNCgkJYWRkRXZlbnRIYW5kbGVyOiBm
dW5jdGlvbiAoZSwgZXZlbnROYW1lLCBmcCkNCgkJew0KCQkJaWYgKGUuYWRkRXZl
bnRMaXN0ZW5lcikNCgkJCXsNCgkJCQllLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRO
YW1lLCBmcCwgZmFsc2UpOw0KCQkJfQ0KCQkJZWxzZSBpZiAoZS5hdHRhY2hFdmVu
dCkNCgkJCXsNCgkJCQllLmF0dGFjaEV2ZW50KCJvbiIgKyBldmVudE5hbWUsIGZw
KTsNCgkJCX0NCgkJfSwNCg0KCQlyZW1vdmVFdmVudEhhbmRsZXI6IGZ1bmN0aW9u
IChlLCBldmVudE5hbWUsIGZwKQ0KCQl7DQoJCQlpZiAoZS5yZW1vdmVFdmVudExp
c3RlbmVyKQ0KCQkJew0KCQkJCWUucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5h
bWUsIGZwLCBmYWxzZSk7DQoJCQl9DQoJCQllbHNlIGlmIChlLmRldGFjaEV2ZW50
KQ0KCQkJew0KCQkJCWUuZGV0YWNoRXZlbnQoIm9uIiArIGV2ZW50TmFtZSwgZnAp
Ow0KCQkJfQ0KCQl9LA0KDQoJCWdldENvb2tpZTogZnVuY3Rpb24gKGtleSkNCgkJ
ew0KCQkJdmFyIGVudGl0aWVzID0gZG9jdW1lbnQuY29va2llLnNwbGl0KCI7Iik7
DQoJCQlmb3IgKHZhciBpID0gMDsgaSA8IGVudGl0aWVzLmxlbmd0aDsgKytpKQ0K
CQkJew0KCQkJCXZhciBqID0gZW50aXRpZXNbaV0uaW5kZXhPZigiPSIpOw0KCQkJ
CXZhciBzID0gZW50aXRpZXNbaV0uc3Vic3RyaW5nKDAsIGopOw0KCQkJCWlmIChz
ICE9ICIiICYmIChzID09IGtleSB8fCBzID09ICIgIiArIGtleSkpDQoJCQkJew0K
CQkJCQlyZXR1cm4gZW50aXRpZXNbaV0uc3Vic3RyaW5nKGogKyAxKTsNCgkJCQl9
DQoJCQl9DQoJCQlyZXR1cm4gbnVsbDsNCgkJfSwNCg0KCQlzZXRDb29raWU6IGZ1
bmN0aW9uIChrZXksIHZhbHVlLCBleHBpcmVzLCBkb21haW4sIHBhdGgpDQoJCXsN
CgkJCWRvbWFpbiA9IGRvbWFpbiB8fCAodHlwZW9mIChnQ29va2llRG9tYWluKSAh
PSAidW5kZWZpbmVkIiA/IChnQ29va2llRG9tYWluIHx8IGRvY3VtZW50LmRvbWFp
bikgOiBkb2N1bWVudC5kb21haW4pOw0KCQkJcGF0aCA9IHBhdGggfHwgIi8iOw0K
CQkJZG9jdW1lbnQuY29va2llID0ga2V5ICsgIj0iICsgdmFsdWUgKyAiOyBkb21h
aW49IiArIGRvbWFpbiArICI7IHBhdGg9IiArIHBhdGggKyAiOyAiICsgKGV4cGly
ZXMgPyAoImV4cGlyZXM9IiArIGV4cGlyZXMudG9HTVRTdHJpbmcoKSArICI7Iikg
OiAiIik7DQoJCX0sDQoNCgkJc2V0U2Vzc2lvbkNvb2tpZTogZnVuY3Rpb24gKGtl
eSwgdmFsdWUsIGRvbWFpbiwgcGF0aCkNCgkJew0KCQkJdGhpcy5zZXRDb29raWUo
a2V5LCB2YWx1ZSwgbnVsbCwgZG9tYWluLCBwYXRoKTsNCgkJfSwNCg0KCQlodG1s
RW5jb2RlOiBmdW5jdGlvbiAoc291cmNlU3RyaW5nKQ0KCQl7DQoJCQl2YXIgZW5j
b2RlZFN0cmluZyA9ICIiOw0KCQkJaWYgKHNvdXJjZVN0cmluZy5sZW5ndGggPT0g
MCkNCgkJCXsNCgkJCQlyZXR1cm4gIiI7DQoJCQl9DQoNCgkJCWZvciAodmFyIGkg
PSAwOyBpIDwgc291cmNlU3RyaW5nLmxlbmd0aDsgaSsrKQ0KCQkJew0KCQkJCXN3
aXRjaCAoc291cmNlU3RyaW5nLnN1YnN0cihpLCAxKSkNCgkJCQl7DQoJCQkJCWNh
c2UgIjwiOg0KCQkJCQkJZW5jb2RlZFN0cmluZyArPSAiJmx0OyI7DQoJCQkJCQli
cmVhazsNCgkJCQkJY2FzZSAiPiI6DQoJCQkJCQllbmNvZGVkU3RyaW5nICs9ICIm
Z3Q7IjsNCgkJCQkJCWJyZWFrOw0KCQkJCQljYXNlICImIjoNCgkJCQkJCWVuY29k
ZWRTdHJpbmcgKz0gIiZhbXA7IjsNCgkJCQkJCWJyZWFrOw0KCQkJCQljYXNlICJc
IiI6DQoJCQkJCQllbmNvZGVkU3RyaW5nICs9ICImcXVvdDsiOw0KCQkJCQkJYnJl
YWs7DQoJCQkJCWNhc2UgIiAiOg0KCQkJCQkJZW5jb2RlZFN0cmluZyArPSAiJm5i
c3A7IjsNCgkJCQkJCWJyZWFrOw0KCQkJCQljYXNlICJcbiI6DQoJCQkJCQllbmNv
ZGVkU3RyaW5nICs9ICI8YnIgLz4iOw0KCQkJCQkJYnJlYWs7DQoJCQkJCWRlZmF1
bHQ6DQoJCQkJCQllbmNvZGVkU3RyaW5nICs9IHNvdXJjZVN0cmluZy5zdWJzdHIo
aSwgMSk7DQoJCQkJCQlicmVhazsNCgkJCQl9DQoJCQl9DQoNCgkJCXJldHVybiBl
bmNvZGVkU3RyaW5nOw0KCQl9LA0KDQoJCWNoYXJhY3RlckVuY29kZTogZnVuY3Rp
b24gKHNvdXJjZVN0cmluZykNCgkJew0KCQkJdmFyIGVuY29kZWRTdHJpbmcgPSAi
IjsNCgkJCWlmIChzb3VyY2VTdHJpbmcubGVuZ3RoID09IDApDQoJCQl7DQoJCQkJ
cmV0dXJuICIiOw0KCQkJfQ0KDQoJCQlmb3IgKHZhciBpID0gMDsgaSA8IHNvdXJj
ZVN0cmluZy5sZW5ndGg7IGkrKykNCgkJCXsNCgkJCQlzd2l0Y2ggKHNvdXJjZVN0
cmluZy5zdWJzdHIoaSwgMSkpDQoJCQkJew0KCQkJCQljYXNlICIkIjoNCgkJCQkJ
CWVuY29kZWRTdHJpbmcgKz0gIiQkIjsNCgkJCQkJCWJyZWFrOw0KCQkJCQlkZWZh
dWx0Og0KCQkJCQkJZW5jb2RlZFN0cmluZyArPSBzb3VyY2VTdHJpbmcuc3Vic3Ry
KGksIDEpOw0KCQkJCQkJYnJlYWs7DQoJCQkJfQ0KCQkJfQ0KDQoJCQlyZXR1cm4g
ZW5jb2RlZFN0cmluZzsNCgkJfSwNCg0KCQloaWRlRWxlbWVudDogZnVuY3Rpb24g
KGUpDQoJCXsNCgkJCWUuc3R5bGUuZGlzcGxheSA9ICJub25lIjsNCgkJfSwNCg0K
CQlkaXNwbGF5VGFibGVSb3c6IGZ1bmN0aW9uIChyb3cpDQoJCXsNCgkJCXRyeQ0K
CQkJew0KCQkJCXJvdy5zdHlsZS5kaXNwbGF5ID0gInRhYmxlLXJvdyI7DQoJCQl9
DQoJCQljYXRjaCAoZXgpDQoJCQl7DQoJCQkJcm93LnN0eWxlLmRpc3BsYXkgPSAi
YmxvY2siOw0KCQkJfQ0KCQl9LA0KDQoJCWRpc3BsYXlUYWJsZUNlbGw6IGZ1bmN0
aW9uIChjZWxsKQ0KCQl7DQoJCQl0cnkNCgkJCXsNCgkJCQljZWxsLnN0eWxlLmRp
c3BsYXkgPSAidGFibGUtY2VsbCI7DQoJCQl9DQoJCQljYXRjaCAoZXgpDQoJCQl7
DQoJCQkJY2VsbC5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsNCgkJCX0NCgkJfSwN
Cg0KCQlnZXRVcmxQYXJhbWV0ZXJzOiBmdW5jdGlvbiAoKQ0KCQl7DQoJCQl2YXIg
cGFyYW1ldGVycyA9IHdpbmRvdy5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEp
LnNwbGl0KCcmJyk7DQoJCQl2YXIgcXVlcnlGaWVsZHMgPSB7fTsNCgkJCWZvciAo
dmFyIGkgPSAwOyBpIDwgcGFyYW1ldGVycy5sZW5ndGg7IGkrKykNCgkJCXsNCgkJ
CQl2YXIgcGFyYW0gPSBwYXJhbWV0ZXJzW2ldOw0KCQkJCXZhciBpbmRleCA9IHBh
cmFtLmluZGV4T2YoJz0nKTsNCgkJCQl2YXIga2V5ID0gZGVjb2RlVVJJQ29tcG9u
ZW50KGluZGV4ICE9IC0xID8gcGFyYW0uc3Vic3RyaW5nKDAsIGluZGV4KS50b0xv
d2VyQ2FzZSgpIDogcGFyYW0pOw0KCQkJCXZhciB2YWx1ZSA9IGluZGV4ICE9IC0x
ID8gZGVjb2RlVVJJQ29tcG9uZW50KHBhcmFtLnN1YnN0cmluZyhpbmRleCArIDEs
IHBhcmFtLmxlbmd0aCkpIDogIiI7DQoJCQkJaWYgKHF1ZXJ5RmllbGRzW2tleV0p
DQoJCQkJew0KCQkJCQlxdWVyeUZpZWxkc1trZXldICs9ICIsIiArIHZhbHVlOw0K
CQkJCX0NCgkJCQllbHNlDQoJCQkJew0KCQkJCQlxdWVyeUZpZWxkc1trZXldID0g
dmFsdWU7DQoJCQkJfQ0KCQkJfQ0KDQoJCQlyZXR1cm4gcXVlcnlGaWVsZHM7DQoJ
CX0sDQoNCgkJaGFzQ2xhc3M6IGZ1bmN0aW9uIChlLCBjbGFzc05hbWUpDQoJCXsN
CgkJCWlmICghZSB8fCB0eXBlb2YgKGUuY2xhc3NOYW1lKSAhPSAic3RyaW5nIiB8
fCAhY2xhc3NOYW1lIHx8IHR5cGVvZiAoY2xhc3NOYW1lKSAhPSAic3RyaW5nIikN
CgkJCXsNCgkJCQlyZXR1cm4gZmFsc2U7DQoJCQl9DQoNCgkJCXZhciBjbGFzc2Vz
ID0gIiAiICsgZS5jbGFzc05hbWUudG9VcHBlckNhc2UoKSArICIgIjsNCgkJCXJl
dHVybiBjbGFzc2VzLmluZGV4T2YoIiAiICsgY2xhc3NOYW1lLnRvVXBwZXJDYXNl
KCkgKyAiICIpICE9IC0xOw0KCQl9LA0KDQoJCWFkZENsYXNzOiBmdW5jdGlvbiAo
ZSwgY2xhc3NOYW1lKQ0KCQl7DQoJCQlpZiAoIWUgfHwgdHlwZW9mIChlLmNsYXNz
TmFtZSkgIT0gInN0cmluZyIgfHwgIWNsYXNzTmFtZSB8fCB0eXBlb2YgKGNsYXNz
TmFtZSkgIT0gInN0cmluZyIgfHwgTVMuU3VwcG9ydC5GbXMuVXRpbHMuaGFzQ2xh
c3MoZSwgY2xhc3NOYW1lKSkNCgkJCXsNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJ
CWUuY2xhc3NOYW1lICs9ICIgIiArIGNsYXNzTmFtZTsNCgkJfSwNCg0KCQlyZW1v
dmVDbGFzczogZnVuY3Rpb24gKGUsIGNsYXNzTmFtZXMpDQoJCXsNCgkJCWlmICgh
ZSB8fCB0eXBlb2YgKGUuY2xhc3NOYW1lKSAhPSAic3RyaW5nIiB8fCAhY2xhc3NO
YW1lcyB8fCB0eXBlb2YgKGNsYXNzTmFtZXMpICE9ICJzdHJpbmciKQ0KCQkJew0K
CQkJCXJldHVybjsNCgkJCX0NCg0KCQkJdmFyIHRvQmVSZW1vdmVkID0gY2xhc3NO
YW1lcy5zcGxpdCgvXHMrLyk7DQoJCQl2YXIgY2xhc3NOYW1lID0gKCIgIiArIGUu
Y2xhc3NOYW1lICsgIiAiKS5yZXBsYWNlKC9bXG5cdFxyXS9nLCAiICIpOw0KCQkJ
dmFyIGMsIGNsOw0KCQkJZm9yIChjID0gMCwgY2wgPSB0b0JlUmVtb3ZlZC5sZW5n
dGg7IGMgPCBjbDsgYysrKQ0KCQkJew0KCQkJCWNsYXNzTmFtZSA9IGNsYXNzTmFt
ZS5yZXBsYWNlKCIgIiArIHRvQmVSZW1vdmVkW2NdICsgIiAiLCAiICIpOw0KCQkJ
fQ0KDQoJCQllLmNsYXNzTmFtZSA9IGNsYXNzTmFtZS5yZXBsYWNlKC8oXlxzKil8
KFxzKiQpL2csICIiKTsNCgkJfSwNCg0KCQlnZXRUb2RheTogZnVuY3Rpb24gKCkN
CgkJew0KCQkJdmFyIGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTsNCgkJCXJldHVy
biAoY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKSArICItIiArICgiMCIgKyAoY3Vy
cmVudERhdGUuZ2V0TW9udGgoKSArIDEpKS5zbGljZSgtMikgKyAiLSIgKyAoIjAi
ICsgY3VycmVudERhdGUuZ2V0RGF0ZSgpKS5zbGljZSgtMikpOw0KCQl9DQoNCgl9
Ow0KDQoJTVMuU3VwcG9ydC5GbXMuVmFsaWRhdGVSZXN1bHQgPSBmdW5jdGlvbiAo
aXNWYWxpZCwgZXJyb3JNZXNzYWdlKQ0KCXsNCgkJdGhpcy5pc1ZhbGlkID0gaXNW
YWxpZDsNCgkJdGhpcy5lcnJvck1lc3NhZ2UgPSBlcnJvck1lc3NhZ2U7DQoJfQ0K
DQoJTVMuU3VwcG9ydC5GbXMuU3VydmV5RXZlbnREZWxlZ2F0ZSA9IGZ1bmN0aW9u
IChvYmplY3QsIG1ldGhvZCkNCgl7DQoJCXRoaXMub2JqZWN0ID0gb2JqZWN0Ow0K
CQl0aGlzLm1ldGhvZCA9IG1ldGhvZDsNCg0KCQl0aGlzLmludm9rZSA9IGZ1bmN0
aW9uICgpDQoJCXsNCgkJCWlmIChtZXRob2QgIT0gbnVsbCkNCgkJCXsNCgkJCQly
ZXR1cm4gbWV0aG9kLmFwcGx5KG9iamVjdCwgYXJndW1lbnRzKTsNCgkJCX0NCgkJ
fQ0KDQoJCXRoaXMuZXF1YWwgPSBmdW5jdGlvbiAoYW5vdGhlcikNCgkJew0KCQkJ
cmV0dXJuIHRoaXMub2JqZWN0ID09IGFub3RoZXIub2JqZWN0ICYmIHRoaXMubWV0
aG9kID09IGFub3RoZXIubWV0aG9kOw0KCQl9DQoJfQ0KDQoJTVMuU3VwcG9ydC5G
bXMuU3VydmV5RXZlbnQgPSBmdW5jdGlvbiAoKQ0KCXsNCgkJdmFyIGhhbmRsZXJz
ID0gW107DQoNCgkJdGhpcy5hZGQgPSBmdW5jdGlvbiAoZGVsZWdhdGUpDQoJCXsN
CgkJCWZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBoYW5kbGVycy5sZW5ndGg7
ICsraW5kZXgpDQoJCQl7DQoJCQkJaWYgKGhhbmRsZXJzW2luZGV4XS5lcXVhbChk
ZWxlZ2F0ZSkpDQoJCQkJew0KCQkJCQlyZXR1cm47DQoJCQkJfQ0KCQkJfQ0KDQoJ
CQloYW5kbGVycy5wdXNoKGRlbGVnYXRlKTsNCgkJfQ0KDQoJCXRoaXMucmVtb3Zl
ID0gZnVuY3Rpb24gKGRlbGVnYXRlKQ0KCQl7DQoJCQlmb3IgKHZhciBpbmRleCA9
IDA7IGluZGV4IDwgaGFuZGxlcnMubGVuZ3RoOyArK2luZGV4KQ0KCQkJew0KCQkJ
CWlmIChoYW5kbGVyc1tpbmRleF0uZXF1YWwoZGVsZWdhdGUpKQ0KCQkJCXsNCgkJ
CQkJaGFuZGxlcnMuc3BsaWNlKGluZGV4LCAxKTsNCgkJCQkJcmV0dXJuOw0KCQkJ
CX0NCgkJCX0NCgkJfQ0KDQoJCXRoaXMuZmlyZSA9IGZ1bmN0aW9uICgpDQoJCXsN
CgkJCWZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBoYW5kbGVycy5sZW5ndGg7
ICsraW5kZXgpDQoJCQl7DQoJCQkJaWYgKCFoYW5kbGVyc1tpbmRleF0uaW52b2tl
LmFwcGx5KG51bGwsIGFyZ3VtZW50cykpDQoJCQkJew0KCQkJCQlyZXR1cm4gZmFs
c2U7DQoJCQkJfQ0KCQkJfQ0KDQoJCQlyZXR1cm4gdHJ1ZTsNCgkJfQ0KCX0NCg0K
CU1TLlN1cHBvcnQuRm1zLlN1cnZleVF1ZXN0aW9uT3BlcmF0b3IgPQ0KCXsNCgkJ
Ly8gY3JlYXJlIGEgb3BlcmF0b3IgZm9yIGEgZ2l2ZW4gcXVlc3Rpb24gdHlwZQ0K
CQljcmVhdGU6IGZ1bmN0aW9uIChxdWVzdGlvbikNCgkJew0KCQkJdmFyIG9wZXJh
dG9yUHJvdG90eXBlID0gbnVsbDsNCg0KCQkJc3dpdGNoIChxdWVzdGlvbi5nZXRR
dWVzdGlvblR5cGUoKSkNCgkJCXsNCgkJCQljYXNlICJDSE9JQ0UiOg0KCQkJCWNh
c2UgIkNIRUNLLUxJU1QiOg0KCQkJCQlvcGVyYXRvclByb3RvdHlwZSA9IHRoaXMu
Y2hvaWNlT3BlcmF0b3I7DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2UgIkNIT0lDRS1T
RVEiOg0KCQkJCWNhc2UgIkNIT0lDRS1IT1IiOg0KCQkJCQlvcGVyYXRvclByb3Rv
dHlwZSA9IHRoaXMuZ2hyT3BlcmF0b3I7DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2Ug
IkNIT0lDRS1MSVNUIjoNCgkJCQljYXNlICJNVUxUSS1PUFRJT04iOg0KCQkJCQlv
cGVyYXRvclByb3RvdHlwZSA9IHRoaXMuY2hvaWNlbGlzdE9wZXJhdG9yOw0KCQkJ
CQlicmVhazsNCg0KCQkJCWNhc2UgIlRFWFQtTElORSI6DQoJCQkJY2FzZSAiUEFT
U1dPUkQiOg0KCQkJCWNhc2UgIlRFWFQtQkxPQ0siOg0KCQkJCQlvcGVyYXRvclBy
b3RvdHlwZSA9IHRoaXMudGV4dGJveE9wZXJhdG9yOw0KCQkJCQlicmVhazsNCgkJ
CQljYXNlICJURVhULURBVEUiOg0KCQkJCQlvcGVyYXRvclByb3RvdHlwZSA9IHRo
aXMuZGF0ZU9wZXJhdG9yOw0KCQkJCQlicmVhazsNCgkJCQljYXNlICJURVhULU5V
TUVSSUMiOg0KCQkJCQlvcGVyYXRvclByb3RvdHlwZSA9IHRoaXMubnVtZXJpY09w
ZXJhdG9yOw0KCQkJCQlicmVhazsNCg0KCQkJCWNhc2UgIkxBQkVMIjoNCgkJCQlk
ZWZhdWx0Og0KCQkJCQlvcGVyYXRvclByb3RvdHlwZSA9IHRoaXMuZW1wdHlPcGVy
YXRvcjsNCgkJCQkJYnJlYWs7DQoJCQl9DQoNCgkJCXJldHVybiBuZXcgb3BlcmF0
b3JQcm90b3R5cGUocXVlc3Rpb24pOw0KCQl9LA0KDQoJCWVtcHR5T3BlcmF0b3I6
IGZ1bmN0aW9uIChxdWVzdGlvbikNCgkJew0KCQkJdGhpcy52YWxpZGF0ZVJlcXVp
cmVkID0gZnVuY3Rpb24gKCkNCgkJCXsNCgkJCQlyZXR1cm4gdHJ1ZTsNCgkJCX0N
Cg0KCQkJdGhpcy52YWxpZGF0ZUlucHV0ID0gZnVuY3Rpb24gKCkNCgkJCXsNCgkJ
CQlyZXR1cm4gbmV3IE1TLlN1cHBvcnQuRm1zLlZhbGlkYXRlUmVzdWx0KHRydWUp
Ow0KCQkJfQ0KDQoJCQl0aGlzLnByZXBhcmUgPSBmdW5jdGlvbiAoKQ0KCQkJew0K
CQkJfQ0KDQoJCQl0aGlzLnBvcHVsYXRlVmFyaWFibGVzID0gZnVuY3Rpb24gKCkN
CgkJCXsNCgkJCQlyZXR1cm4gW107DQoJCQl9DQoNCgkJCXRoaXMucmFuZG9taXpl
ID0gZnVuY3Rpb24gKCkNCgkJCXsNCgkJCX0NCg0KCQkJdGhpcy5nZXRBbnN3ZXJz
ID0gZnVuY3Rpb24gKCkNCgkJCXsNCgkJCQlyZXR1cm4gW107DQoJCQl9DQoNCgkJ
CXRoaXMuc2F2ZSA9IGZ1bmN0aW9uICgpDQoJCQl7DQoJCQl9DQoNCgkJCXRoaXMu
cmVzdG9yZSA9IGZ1bmN0aW9uICgpDQoJCQl7DQoJCQl9DQoNCgkJCXRoaXMuZ2V0
T3B0aW9uQnlJZCA9IGZ1bmN0aW9uICgpDQoJCQl7DQoJCQkJcmV0dXJuIG51bGw7
DQoJCQl9DQoJCX0sDQoNCgkJdGV4dGJveE9wZXJhdG9yOiBmdW5jdGlvbiAocXVl
c3Rpb24pDQoJCXsNCgkJCXZhciB0ZXh0Ym94ID0gcXVlc3Rpb24uZWxlbWVudHNb
MF07DQoNCgkJCXRoaXMudmFsaWRhdGVSZXF1aXJlZCA9IGZ1bmN0aW9uICgpDQoJ
CQl7DQoJCQkJcmV0dXJuIHRleHRib3gudmFsdWUgIT0gIiI7DQoJCQl9DQoNCgkJ
CXRoaXMudmFsaWRhdGVJbnB1dCA9IGZ1bmN0aW9uICgpDQoJCQl7DQoJCQkJcmV0
dXJuIG5ldyBNUy5TdXBwb3J0LkZtcy5WYWxpZGF0ZVJlc3VsdCh0cnVlKTsNCgkJ
CX0NCg0KCQkJdGhpcy5wcmVwYXJlID0gZnVuY3Rpb24gKCkNCgkJCXsNCgkJCX0N
Cg0KCQkJdGhpcy5wb3B1bGF0ZVZhcmlhYmxlcyA9IGZ1bmN0aW9uICgpDQoJCQl7
DQoJCQkJdmFyIHZhcmlhYmxlcyA9IFtdOw0KDQoJCQkJdmFyIHZhcmlhYmxlID0g
cXVlc3Rpb24uZG9tT2JqZWN0LmdldEF0dHJpYnV0ZSgidmFyIik7DQoNCgkJCQlp
ZiAodmFyaWFibGUgIT0gbnVsbCAmJiB2YXJpYWJsZSAhPSAiIikNCgkJCQl7DQoJ
CQkJCWlmICh0ZXh0Ym94LnZhbHVlICE9IG51bGwgJiYgdGV4dGJveC52YWx1ZSAh
PSAiIikNCgkJCQkJew0KCQkJCQkJdmFyaWFibGVzW3ZhcmlhYmxlXSA9IHRleHRi
b3gudmFsdWU7DQoJCQkJCX0NCgkJCQkJZWxzZQ0KCQkJCQl7DQoJCQkJCQl2YXJp
YWJsZXNbdmFyaWFibGVdID0gbnVsbDsNCgkJCQkJfQ0KCQkJCX0NCg0KCQkJCXJl
dHVybiB2YXJpYWJsZXM7DQoJCQl9DQoNCgkJCXRoaXMuZ2V0T3B0aW9uQnlJZCA9
IGZ1bmN0aW9uICgpDQoJCQl7DQoJCQkJcmV0dXJuIG51bGw7DQoJCQl9DQoNCgkJ
CXRoaXMucmFuZG9taXplID0gZnVuY3Rpb24gKCkNCgkJCXsNCgkJCX0NCg0KCQkJ
dGhpcy5nZXRBbnN3ZXJzID0gZnVuY3Rpb24gKCkNCgkJCXsNCgkJCQl2YXIgYW5z
d2VycyA9IFtdOw0KCQkJCXZhciB0ZXh0ID0gdGV4dGJveC52YWx1ZTsNCgkJCQlp
ZiAodGV4dCAhPSBudWxsICYmIHRleHQgIT0gIiIpDQoJCQkJew0KCQkJCQlhbnN3
ZXJzLnB1c2goeyBpZDogMCwgdmFsdWU6IDAsIHRleHQ6IHRleHQgfSk7DQoJCQkJ
fQ0KCQkJCXJldHVybiBhbnN3ZXJzOw0KCQkJfQ0KDQoJCQl2YXIgc2F2ZWRUZXh0
Ow0KDQoJCQl0aGlzLnNhdmUgPSBmdW5jdGlvbiAoKQ0KCQkJew0KCQkJCXNhdmVk
VGV4dCA9IHRleHRib3gudmFsdWU7DQoJCQl9DQoNCgkJCXRoaXMucmVzdG9yZSA9
IGZ1bmN0aW9uICgpDQoJCQl7DQoJCQkJdGV4dGJveC52YWx1ZSA9IHNhdmVkVGV4
dDsNCgkJCX0NCgkJfSwNCg0KCQlkYXRlT3BlcmF0b3I6IGZ1bmN0aW9uIChxdWVz
dGlvbikNCgkJew0KCQkJdmFyIEZtcyA9IE1TLlN1cHBvcnQuRm1zOw0KCQkJdmFy
IFV0aWxzID0gRm1zLlV0aWxzOw0KCQkJdmFyIFZhbGlkYXRlUmVzdWx0ID0gRm1z
LlZhbGlkYXRlUmVzdWx0Ow0KDQoJCQl2YXIgYmFzZU9wZXJhdG9yID0gbmV3IEZt
cy5TdXJ2ZXlRdWVzdGlvbk9wZXJhdG9yLnRleHRib3hPcGVyYXRvcihxdWVzdGlv
bik7DQoJCQl2YXIgdGV4dGJveCA9IHF1ZXN0aW9uLmVsZW1lbnRzWzBdOw0KCQkJ
dmFyIGRhdGVFcnJvclRleHQgPSB0ZXh0Ym94LmdldEF0dHJpYnV0ZSgiZGF0YS12
YWwtZGF0ZWVycm9ydGV4dCIpOw0KCQkJdGhpcy52YWxpZGF0ZVJlcXVpcmVkID0g
ZnVuY3Rpb24gKCkNCgkJCXsNCgkJCQlyZXR1cm4gYmFzZU9wZXJhdG9yLnZhbGlk
YXRlUmVxdWlyZWQoKTsNCgkJCX0NCgkJCXRoaXMudmFsaWRhdGVJbnB1dCA9IGZ1
bmN0aW9uICgpDQoJCQl7DQoJCQkJdmFyIHZhbHVlU3RyaW5nID0gdGV4dGJveC52
YWx1ZTsNCgkJCQlpZiAodmFsdWVTdHJpbmcgIT0gIiIpDQoJCQkJew0KCQkJCQl2
YXIgcmUgPSAvXig/Oig/ITAwMDApWzAtOV17NH0oWy1dKSg/Oig/OjA/WzEtOV18
MVswLTJdKVwxKD86MD9bMS05XXwxWzAtOV18MlswLThdKXwoPzowP1sxMy05XXwx
WzAtMl0pXDEoPzoyOXwzMCl8KD86MD9bMTM1NzhdfDFbMDJdKVwxKD86MzEpKXwo
PzpbMC05XXsyfSg/OjBbNDhdfFsyNDY4XVswNDhdfFsxMzU3OV1bMjZdKXwoPzow
WzQ4XXxbMjQ2OF1bMDQ4XXxbMTM1NzldWzI2XSkwMCkoWy1dKTA/MlwyKD86Mjkp
KSQvaTsNCgkJCQkJaWYgKCEocmUudGVzdCh2YWx1ZVN0cmluZykpKQ0KCQkJCQl7
DQoJCQkJCQlyZXR1cm4gbmV3IFZhbGlkYXRlUmVzdWx0KGZhbHNlLCBkYXRlRXJy
b3JUZXh0KTsNCgkJCQkJfQ0KCQkJCX0NCgkJCQlyZXR1cm4gbmV3IFZhbGlkYXRl
UmVzdWx0KHRydWUpOw0KCQkJfQ0KDQoJCQl0aGlzLnByZXBhcmUgPSBmdW5jdGlv
biAoKQ0KCQkJew0KCQkJCXJldHVybiBiYXNlT3BlcmF0b3IucHJlcGFyZSgpOw0K
CQkJfQ0KDQoJCQl0aGlzLnBvcHVsYXRlVmFyaWFibGVzID0gZnVuY3Rpb24gKCkN
CgkJCXsNCgkJCQlyZXR1cm4gYmFzZU9wZXJhdG9yLnBvcHVsYXRlVmFyaWFibGVz
KCk7DQoJCQl9DQoNCgkJCXRoaXMuZ2V0T3B0aW9uQnlJZCA9IGZ1bmN0aW9uICgp
DQoJCQl7DQoJCQkJcmV0dXJuIGJhc2VPcGVyYXRvci5nZXRPcHRpb25CeUlkKCk7
DQoJCQl9DQoNCgkJCXRoaXMucmFuZG9taXplID0gZnVuY3Rpb24gKCkNCgkJCXsN
CgkJCQlyZXR1cm4gYmFzZU9wZXJhdG9yLnJhbmRvbWl6ZSgpOw0KCQkJfQ0KDQoJ
CQl0aGlzLmdldEFuc3dlcnMgPSBmdW5jdGlvbiAoKQ0KCQkJew0KCQkJCXJldHVy
biBiYXNlT3BlcmF0b3IuZ2V0QW5zd2VycygpOw0KCQkJfQ0KDQoJCQl0aGlzLnNh
dmUgPSBmdW5jdGlvbiAoKQ0KCQkJew0KCQkJCXJldHVybiBiYXNlT3BlcmF0b3Iu
c2F2ZSgpOw0KCQkJfQ0KDQoJCQl0aGlzLnJlc3RvcmUgPSBmdW5jdGlvbiAoKQ0K
CQkJew0KCQkJCXJldHVybiBiYXNlT3BlcmF0b3IucmVzdG9yZSgpOw0KCQkJfQ0K
DQoJCX0sDQoNCgkJbnVtZXJpY09wZXJhdG9yOiBmdW5jdGlvbiAocXVlc3Rpb24p
DQoJCXsNCgkJCXZhciBGbXMgPSBNUy5TdXBwb3J0LkZtczsNCgkJCXZhciBVdGls
cyA9IEZtcy5VdGlsczsNCgkJCXZhciBWYWxpZGF0ZVJlc3VsdCA9IEZtcy5WYWxp
ZGF0ZVJlc3VsdDsNCg0KCQkJdmFyIGJhc2VPcGVyYXRvciA9IG5ldyBGbXMuU3Vy
dmV5UXVlc3Rpb25PcGVyYXRvci50ZXh0Ym94T3BlcmF0b3IocXVlc3Rpb24pOw0K
DQoJCQl2YXIgdGV4dGJveCA9IHF1ZXN0aW9uLmVsZW1lbnRzWzBdOw0KCQkJdmFy
IGVuYWJsZUZsb2F0ID0gVXRpbHMuZ2V0Q2hpbGRCeU5hbWUocXVlc3Rpb24uZG9t
T2JqZWN0LCAiZW5hYmxlRmxvYXQiKS52YWx1ZSA9PSAiMSIgPyB0cnVlIDogZmFs
c2U7DQoJCQl2YXIgbWluVmFsdWUgPSB0ZXh0Ym94LmdldEF0dHJpYnV0ZSgibWlu
Iik7DQoJCQl2YXIgbWF4VmFsdWUgPSB0ZXh0Ym94LmdldEF0dHJpYnV0ZSgibWF4
Iik7DQoJCQl2YXIgbnVtZXJpY0Vycm9yVGV4dCA9IFV0aWxzLmdldENoaWxkQnlO
YW1lKHF1ZXN0aW9uLmRvbU9iamVjdCwgIm51bWVyaWNFcnJvclRleHQiKS52YWx1
ZTsNCg0KCQkJdGhpcy52YWxpZGF0ZVJlcXVpcmVkID0gZnVuY3Rpb24gKCkNCgkJ
CXsNCgkJCQlyZXR1cm4gYmFzZU9wZXJhdG9yLnZhbGlkYXRlUmVxdWlyZWQoKTsN
CgkJCX0NCg0KCQkJdGhpcy52YWxpZGF0ZUlucHV0ID0gZnVuY3Rpb24gKCkNCgkJ
CXsNCgkJCQl2YXIgdmFsdWVTdHJpbmcgPSB0ZXh0Ym94LnZhbHVlOw0KCQkJCWlm
ICh2YWx1ZVN0cmluZyAhPSAiIikNCgkJCQl7DQoJCQkJCXZhciBwYXJzZSA9IGVu
YWJsZUZsb2F0ID8gcGFyc2VGbG9hdCA6IHBhcnNlSW50Ow0KDQoJCQkJCXZhciB2
YWx1ZSA9IHBhcnNlKHZhbHVlU3RyaW5nKTsNCg0KCQkJCQl2YXIgcmUgPSBlbmFi
bGVGbG9hdCA/IC9eKFwrfC0pPygoXGQrKFwuXGQqKT8pfChcLlxkKykpKGUoXCt8
LSk/XGQrKT8kL2kgOiAvXihcK3wtKT9cZCskL2k7DQoNCgkJCQkJaWYgKGlzTmFO
KHZhbHVlKQ0KCQkJCQkJfHwgKCFyZS50ZXN0KHZhbHVlU3RyaW5nKSkNCgkJCQkJ
CXx8IChtaW5WYWx1ZSAhPSAiIiAmJiB2YWx1ZSA8IHBhcnNlKG1pblZhbHVlKSkN
CgkJCQkJCXx8IChtYXhWYWx1ZSAhPSAiIiAmJiB2YWx1ZSA+IHBhcnNlKG1heFZh
bHVlKSkNCgkJCQkJKQ0KCQkJCQl7DQoJCQkJCQlyZXR1cm4gbmV3IFZhbGlkYXRl
UmVzdWx0KGZhbHNlLCBudW1lcmljRXJyb3JUZXh0KTsNCgkJCQkJfQ0KCQkJCX0N
Cg0KCQkJCXJldHVybiBuZXcgVmFsaWRhdGVSZXN1bHQodHJ1ZSk7DQoJCQl9DQoN
CgkJCXRoaXMucHJlcGFyZSA9IGZ1bmN0aW9uICgpDQoJCQl7DQoJCQkJcmV0dXJu
IGJhc2VPcGVyYXRvci5wcmVwYXJlKCk7DQoJCQl9DQoNCgkJCXRoaXMucG9wdWxh
dGVWYXJpYWJsZXMgPSBmdW5jdGlvbiAoKQ0KCQkJew0KCQkJCXJldHVybiBiYXNl
T3BlcmF0b3IucG9wdWxhdGVWYXJpYWJsZXMoKTsNCgkJCX0NCg0KCQkJdGhpcy5n
ZXRPcHRpb25CeUlkID0gZnVuY3Rpb24gKCkNCgkJCXsNCgkJCQlyZXR1cm4gYmFz
ZU9wZXJhdG9yLmdldE9wdGlvbkJ5SWQoKTsNCgkJCX0NCg0KCQkJdGhpcy5yYW5k
b21pemUgPSBmdW5jdGlvbiAoKQ0KCQkJew0KCQkJCXJldHVybiBiYXNlT3BlcmF0
b3IucmFuZG9taXplKCk7DQoJCQl9DQoNCgkJCXRoaXMuZ2V0QW5zd2VycyA9IGZ1
bmN0aW9uICgpDQoJCQl7DQoJCQkJcmV0dXJuIGJhc2VPcGVyYXRvci5nZXRBbnN3
ZXJzKCk7DQoJCQl9DQoNCgkJCXRoaXMuc2F2ZSA9IGZ1bmN0aW9uICgpDQoJCQl7
DQoJCQkJcmV0dXJuIGJhc2VPcGVyYXRvci5zYXZlKCk7DQoJCQl9DQoNCgkJCXRo
aXMucmVzdG9yZSA9IGZ1bmN0aW9uICgpDQoJCQl7DQoJCQkJcmV0dXJuIGJhc2VP
cGVyYXRvci5yZXN0b3JlKCk7DQoJCQl9DQoJCX0sDQoNCgkJY2hvaWNlT3BlcmF0
b3I6IGZ1bmN0aW9uIChxdWVzdGlvbikNCgkJew0KCQkJdmFyIFV0aWxzID0gTVMu
U3VwcG9ydC5GbXMuVXRpbHM7DQoNCgkJCXZhciBsYXN0UmFkaW9JbmRleCA9IHF1
ZXN0aW9uLmVsZW1lbnRzLmxlbmd0aCAtIDE7DQoJCQl2YXIgb3B0aW9uYWxUZXh0
Qm94ID0gbnVsbDsNCg0KCQkJdmFyIGhhc09wdGlvbmFsVGV4dEJveCA9IGxhc3RS
YWRpb0luZGV4ID49IDAgPyBxdWVzdGlvbi5lbGVtZW50c1tsYXN0UmFkaW9JbmRl
eF0udHlwZS50b0xvd2VyQ2FzZSgpID09ICJ0ZXh0IiA6IGZhbHNlOw0KDQoJCQlp
ZiAoaGFzT3B0aW9uYWxUZXh0Qm94KQ0KCQkJew0KCQkJCW9wdGlvbmFsVGV4dEJv
eCA9IHF1ZXN0aW9uLmVsZW1lbnRzW2xhc3RSYWRpb0luZGV4XTsNCgkJCQktLWxh
c3RSYWRpb0luZGV4Ow0KCQkJfQ0KDQoJCQl2YXIgcm93cyA9IG51bGw7DQoNCgkJ
CWZ1bmN0aW9uIGZpbmRSb3dzKCkNCgkJCXsNCgkJCQl2YXIgdGFibGUgPSBVdGls
cy5nZXRDaGlsZEJ5VGFnTmFtZShxdWVzdGlvbi5kb21PYmplY3QsICJUQUJMRSIp
Ow0KDQoJCQkJaWYgKHRhYmxlICE9IG51bGwpDQoJCQkJew0KCQkJCQlyb3dzID0g
dGFibGUucm93czsNCgkJCQl9DQoJCQl9DQoNCgkJCWZpbmRSb3dzKCk7DQoNCgkJ
CWZ1bmN0aW9uIGhhbmRsZU9wdGlvbmFsVGV4dEJveChlKQ0KCQkJew0KCQkJCWlm
IChoYXNPcHRpb25hbFRleHRCb3gpDQoJCQkJew0KCQkJCQlvcHRpb25hbFRleHRC
b3guZGlzYWJsZWQgPSAhcXVlc3Rpb24uZWxlbWVudHNbbGFzdFJhZGlvSW5kZXhd
LmNoZWNrZWQ7DQoJCQkJfQ0KCQkJfQ0KDQoJCQlmdW5jdGlvbiBpc0V4Y2x1c2l2
ZU9wdGlvbihlKQ0KCQkJew0KCQkJCXJldHVybiBlICYmIGUudHlwZSA9PSAiY2hl
Y2tib3giICYmIGUuZ2V0QXR0cmlidXRlICYmIGUuZ2V0QXR0cmlidXRlKCJleGNs
dXNpdmUiKSA9PSAiMSI7DQoJCQl9DQoNCgkJCWZ1bmN0aW9uIGdldEVsZW1lbnRD
b250YWluZXIoZSkNCgkJCXsNCgkJCQlyZXR1cm4gZS5wYXJlbnROb2RlLnBhcmVu
dE5vZGUucGFyZW50Tm9kZS5wYXJlbnROb2RlOw0KCQkJfQ0KDQoJCQlmdW5jdGlv
biBoYW5kbGVFeGNsdXNpdmVPcHRpb24oZXZlbnQpDQoJCQl7DQoJCQkJdmFyIGV2
dCA9IGV2ZW50IHx8IHdpbmRvdy5ldmVudDsNCgkJCQl2YXIgZWxlbWVudCA9IGV2
dC5zcmNFbGVtZW50IHx8IGV2dC50YXJnZXQ7DQoNCgkJCQlpZiAoaXNFeGNsdXNp
dmVPcHRpb24oZWxlbWVudCkpDQoJCQkJew0KCQkJCQlpZiAoZWxlbWVudC5jaGVj
a2VkKQ0KCQkJCQl7DQoJCQkJCQlmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDw9
IGxhc3RSYWRpb0luZGV4OyArK2luZGV4KQ0KCQkJCQkJew0KCQkJCQkJCXZhciBl
ID0gcXVlc3Rpb24uZWxlbWVudHNbaW5kZXhdOw0KCQkJCQkJCWlmIChlICE9IGVs
ZW1lbnQpDQoJCQkJCQkJew0KCQkJCQkJCQllLmNoZWNrZWQgPSBmYWxzZTsNCgkJ
CQkJCQkJZS5kaXNhYmxlZCA9IHRydWU7DQoJCQkJCQkJCWdldEVsZW1lbnRDb250
YWluZXIoZSkuZGlzYWJsZWQgPSB0cnVlOw0KCQkJCQkJCX0NCgkJCQkJCX0NCgkJ
CQkJfQ0KCQkJCQllbHNlDQoJCQkJCXsNCgkJCQkJCWZvciAodmFyIGluZGV4ID0g
MDsgaW5kZXggPD0gbGFzdFJhZGlvSW5kZXg7ICsraW5kZXgpDQoJCQkJCQl7DQoJ
CQkJCQkJdmFyIGUgPSBxdWVzdGlvbi5lbGVtZW50c1tpbmRleF07DQoJCQkJCQkJ
aWYgKGUuZGlzYWJsZWQgPT0gdHJ1ZSkNCgkJCQkJCQl7DQoJCQkJCQkJCWUuZGlz
YWJsZWQgPSBmYWxzZTsNCgkJCQkJCQkJZ2V0RWxlbWVudENvbnRhaW5lcihlKS5k
aXNhYmxlZCA9IGZhbHNlOw0KCQkJCQkJCX0NCgkJCQkJCX0NCgkJCQkJfQ0KCQkJ
CX0NCgkJCX0NCg0KCQkJZnVuY3Rpb24gaGFuZGxlT3B0aW9uQ2xpY2soZSkNCgkJ
CXsNCgkJCQloYW5kbGVFeGNsdXNpdmVPcHRpb24oZSk7DQoJCQkJaGFuZGxlT3B0
aW9uYWxUZXh0Qm94KGUpOw0KCQkJfQ0KDQoJCQlmb3IgKHZhciBpbmRleCA9IDA7
IGluZGV4IDw9IGxhc3RSYWRpb0luZGV4OyArK2luZGV4KQ0KCQkJew0KCQkJCXZh
ciBlID0gcXVlc3Rpb24uZWxlbWVudHNbaW5kZXhdOw0KCQkJCVV0aWxzLmFkZEV2
ZW50SGFuZGxlcihlLCAiY2xpY2siLCBoYW5kbGVPcHRpb25DbGljayk7DQoJCQl9
DQoNCgkJCXRoaXMudmFsaWRhdGVSZXF1aXJlZCA9IGZ1bmN0aW9uICgpDQoJCQl7
DQoJCQkJaWYgKGxhc3RSYWRpb0luZGV4ID09IDApDQoJCQkJew0KCQkJCQlyZXR1
cm4gdHJ1ZTsNCgkJCQl9DQoJCQkJZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8
PSBsYXN0UmFkaW9JbmRleDsgKytpbmRleCkNCgkJCQl7DQoJCQkJCXZhciBlID0g
cXVlc3Rpb24uZWxlbWVudHNbaW5kZXhdOw0KCQkJCQlpZiAoZS52aXNpYmxlICYm
IGUuY2hlY2tlZCkNCgkJCQkJew0KCQkJCQkJaWYgKGhhc09wdGlvbmFsVGV4dEJv
eCAmJiBxdWVzdGlvbi5lbGVtZW50c1tsYXN0UmFkaW9JbmRleF0uY2hlY2tlZCkN
CgkJCQkJCXsNCgkJCQkJCQlyZXR1cm4gKG9wdGlvbmFsVGV4dEJveC52YWx1ZSAh
PSAiIik7DQoJCQkJCQl9DQoNCgkJCQkJCXJldHVybiB0cnVlOw0KCQkJCQl9DQoJ
CQkJfQ0KDQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0KDQoJCQl0aGlzLnZhbGlk
YXRlSW5wdXQgPSBmdW5jdGlvbiAoKQ0KCQkJew0KCQkJCXJldHVybiBuZXcgTVMu
U3VwcG9ydC5GbXMuVmFsaWRhdGVSZXN1bHQodHJ1ZSk7DQoJCQl9DQoNCgkJCXRo
aXMucHJlcGFyZSA9IGZ1bmN0aW9uICgpDQoJCQl7DQoJCQkJaWYgKHJvd3MubGVu
Z3RoIDw9IDApDQoJCQkJew0KCQkJCQlyZXR1cm47DQoJCQkJfQ0KDQoJCQkJdmFy
IGNvbHVtbnMgPSByb3dzWzBdLmNlbGxzLmxlbmd0aDsNCg0KCQkJCWlmIChjb2x1
bW5zIDw9IDApDQoJCQkJew0KCQkJCQlyZXR1cm47DQoJCQkJfQ0KDQoJCQkJdmFy
IHJvd0luZGV4ID0gMCwgY2VsbEluZGV4ID0gMDsNCgkJCQlmb3IgKHZhciBpbmRl
eCA9IDA7IGluZGV4IDw9IGxhc3RSYWRpb0luZGV4OyArK2luZGV4KQ0KCQkJCXsN
CgkJCQkJdmFyIGUgPSBxdWVzdGlvbi5lbGVtZW50c1tpbmRleF07DQoJCQkJCXZh
ciBiU2hvdyA9IHRydWUsIGJTZWxlY3QgPSBlLmNoZWNrZWQ7DQoJCQkJCXZhciB2
aXNpYmlsaXR5ID0gZS5nZXRBdHRyaWJ1dGUoInZpc2liaWxpdHkiKTsNCg0KCQkJ
CQl2YXIgcmV0VmFsID0gcXVlc3Rpb24uc3VydmV5LkV2YWx1YXRlQ29udGV4dFZp
c2liaWxpdHkoZSk7DQoNCgkJCQkJc3dpdGNoICh2aXNpYmlsaXR5KQ0KCQkJCQl7
DQoJCQkJCQljYXNlICJTaG93IjoNCgkJCQkJCQliU2hvdyA9IHJldFZhbCA9PSAi
Tm90RXhpc3QiID8gZmFsc2UgOiByZXRWYWwgPT0gIkV2YWxUcnVlIiA/IHRydWUg
OiBmYWxzZTsNCgkJCQkJCQlicmVhazsNCgkJCQkJCWNhc2UgIkhpZGUiOg0KCQkJ
CQkJCWJTaG93ID0gcmV0VmFsID09ICJOb3RFeGlzdCIgPyB0cnVlIDogcmV0VmFs
ID09ICJFdmFsVHJ1ZSIgPyBmYWxzZSA6IHRydWU7DQoJCQkJCQkJYnJlYWs7DQoJ
CQkJCQljYXNlICJTZWxlY3RlZCI6DQoJCQkJCQkJYlNob3cgPSB0cnVlOw0KCQkJ
CQkJCWJTZWxlY3QgPSByZXRWYWwgPT0gIk5vdEV4aXN0IiA/IGZhbHNlIDogcmV0
VmFsID09ICJFdmFsVHJ1ZSIgPyB0cnVlIDogZmFsc2U7DQoJCQkJCQkJYnJlYWs7
DQoJCQkJCQlkZWZhdWx0Og0KCQkJCQkJCWJyZWFrOw0KCQkJCQl9DQoNCgkJCQkJ
aWYgKGJTaG93KQ0KCQkJCQl7DQoJCQkJCQllLnZpc2libGUgPSB0cnVlOw0KCQkJ
CQkJaWYgKGJTZWxlY3QpDQoJCQkJCQl7DQoJCQkJCQkJaWYgKCFlLmNoZWNrZWQp
DQoJCQkJCQkJew0KCQkJCQkJCQllLmNsaWNrKCk7DQoJCQkJCQkJfQ0KCQkJCQkJ
fQ0KCQkJCQkJZWxzZQ0KCQkJCQkJew0KCQkJCQkJCWlmIChlLmNoZWNrZWQpDQoJ
CQkJCQkJew0KCQkJCQkJCQllLmNoZWNrZWQgPSBmYWxzZTsNCgkJCQkJCQl9DQoJ
CQkJCQl9DQoNCgkJCQkJCXZhciByb3cgPSByb3dzW3Jvd0luZGV4XTsNCgkJCQkJ
CXZhciBjZWxsID0gcm93LmNlbGxzW2NlbGxJbmRleF07DQoNCgkJCQkJCVV0aWxz
LmRpc3BsYXlUYWJsZVJvdyhyb3cpOw0KCQkJCQkJVXRpbHMuZGlzcGxheVRhYmxl
Q2VsbChjZWxsKTsNCg0KCQkJCQkJdmFyIGNvbnRhaW5lciA9IGdldEVsZW1lbnRD
b250YWluZXIoZSk7DQoNCgkJCQkJCWlmIChjZWxsLmZpcnN0Q2hpbGQgIT0gbnVs
bCkNCgkJCQkJCXsNCgkJCQkJCQlpZiAoY2VsbC5maXJzdENoaWxkICE9IGNvbnRh
aW5lcikNCgkJCQkJCQl7DQoJCQkJCQkJCVV0aWxzLnN3YXBOb2RlKGNlbGwuZmly
c3RDaGlsZCwgY29udGFpbmVyKTsNCgkJCQkJCQl9DQoJCQkJCQl9DQoJCQkJCQll
bHNlDQoJCQkJCQl7DQoJCQkJCQkJY2VsbC5hcHBlbmRDaGlsZChjb250YWluZXIp
Ow0KCQkJCQkJfQ0KDQoJCQkJCQlpZiAoaW5kZXggPT0gbGFzdFJhZGlvSW5kZXgg
JiYgaGFzT3B0aW9uYWxUZXh0Qm94KQ0KCQkJCQkJew0KCQkJCQkJCWNlbGwuYXBw
ZW5kQ2hpbGQoZ2V0RWxlbWVudENvbnRhaW5lcihvcHRpb25hbFRleHRCb3gpKTsN
CgkJCQkJCX0NCg0KCQkJCQkJKytjZWxsSW5kZXg7DQoJCQkJCQlpZiAoY2VsbElu
ZGV4ID09IGNvbHVtbnMpDQoJCQkJCQl7DQoJCQkJCQkJY2VsbEluZGV4ID0gMDsN
CgkJCQkJCQkrK3Jvd0luZGV4Ow0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJCWVsc2UN
CgkJCQkJew0KCQkJCQkJZS52aXNpYmxlID0gZmFsc2U7DQoJCQkJCQlpZiAoaW5k
ZXggPT0gbGFzdFJhZGlvSW5kZXggJiYgaGFzT3B0aW9uYWxUZXh0Qm94KQ0KCQkJ
CQkJew0KCQkJCQkJCXJvd3Nbcm93cy5sZW5ndGggLSAxXS5jZWxsc1tjb2x1bW5z
IC0gMV0uYXBwZW5kQ2hpbGQoZ2V0RWxlbWVudENvbnRhaW5lcihvcHRpb25hbFRl
eHRCb3gpKTsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCX0NCg0KCQkJCXZhciBpc1F1
ZXN0aW9uTmVlZEhpZGUgPSB0cnVlOw0KCQkJCWZvciAodmFyIGluZGV4ID0gMDsg
aW5kZXggPD0gbGFzdFJhZGlvSW5kZXg7ICsraW5kZXgpDQoJCQkJew0KCQkJCQl2
YXIgZSA9IHF1ZXN0aW9uLmVsZW1lbnRzW2luZGV4XTsNCgkJCQkJaWYgKGUudmlz
aWJsZSkNCgkJCQkJew0KCQkJCQkJaXNRdWVzdGlvbk5lZWRIaWRlID0gZmFsc2U7
DQoJCQkJCX0NCgkJCQl9DQoJCQkJaWYgKGlzUXVlc3Rpb25OZWVkSGlkZSkNCgkJ
CQl7DQoJCQkJCXF1ZXN0aW9uLm5lZWRIaWRlID0gdHJ1ZTsNCgkJCQl9DQoNCgkJ
CQlpZiAoY2VsbEluZGV4ICE9IDAgJiYgcm93SW5kZXggPCByb3dzLmxlbmd0aCkN
CgkJCQl7DQoJCQkJCWZvciAoOyBjZWxsSW5kZXggPCBjb2x1bW5zOyArK2NlbGxJ
bmRleCkNCgkJCQkJew0KCQkJCQkJVXRpbHMuaGlkZUVsZW1lbnQocm93c1tyb3dJ
bmRleF0uY2VsbHNbY2VsbEluZGV4XSk7DQoJCQkJCX0NCgkJCQkJKytyb3dJbmRl
eDsNCgkJCQl9DQoNCgkJCQlmb3IgKDsgcm93SW5kZXggPCByb3dzLmxlbmd0aDsg
Kytyb3dJbmRleCkNCgkJCQl7DQoJCQkJCVV0aWxzLmhpZGVFbGVtZW50KHJvd3Nb
cm93SW5kZXhdKTsNCgkJCQl9DQoJCQl9DQoNCgkJCWZ1bmN0aW9uIGlzRml4ZWQo
ZWxlbWVudCkNCgkJCXsNCgkJCQlyZXR1cm4gKGVsZW1lbnQuZ2V0QXR0cmlidXRl
KCJmaXhlZCIpID09ICIxIik7DQoJCQl9DQoNCgkJCXRoaXMucmFuZG9taXplID0g
ZnVuY3Rpb24gKCkNCgkJCXsNCgkJCQlpZiAocXVlc3Rpb24ubmVlZFJhbmRvbWl6
YXRpb24oKSAmJiBsYXN0UmFkaW9JbmRleCA+IDApDQoJCQkJew0KCQkJCQl2YXIg
cmFuZG9taXplZE9wdGlvbnMgPSBbXTsNCgkJCQkJdmFyIG5vbkZpeGVkT3B0aW9u
cyA9IFtdOw0KDQoJCQkJCWZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBsYXN0
UmFkaW9JbmRleDsgKytpbmRleCkNCgkJCQkJew0KCQkJCQkJaWYgKGlzRml4ZWQo
cXVlc3Rpb24uZWxlbWVudHNbaW5kZXhdKSkNCgkJCQkJCXsNCgkJCQkJCQlyYW5k
b21pemVkT3B0aW9uc1tpbmRleF0gPSBxdWVzdGlvbi5lbGVtZW50c1tpbmRleF07
DQoJCQkJCQl9DQoJCQkJCQllbHNlDQoJCQkJCQl7DQoJCQkJCQkJbm9uRml4ZWRP
cHRpb25zLnB1c2goaW5kZXgpOw0KCQkJCQkJfQ0KCQkJCQl9DQoNCgkJCQkJaWYg
KGhhc09wdGlvbmFsVGV4dEJveCB8fCBpc0ZpeGVkKHF1ZXN0aW9uLmVsZW1lbnRz
W2xhc3RSYWRpb0luZGV4XSkpDQoJCQkJCXsNCgkJCQkJCXJhbmRvbWl6ZWRPcHRp
b25zW2xhc3RSYWRpb0luZGV4XSA9IHF1ZXN0aW9uLmVsZW1lbnRzW2xhc3RSYWRp
b0luZGV4XTsNCgkJCQkJfQ0KCQkJCQllbHNlDQoJCQkJCXsNCgkJCQkJCW5vbkZp
eGVkT3B0aW9ucy5wdXNoKGxhc3RSYWRpb0luZGV4KTsNCgkJCQkJfQ0KDQoJCQkJ
CVV0aWxzLnJhbmRvbWl6ZShub25GaXhlZE9wdGlvbnMpOw0KDQoJCQkJCWZvciAo
dmFyIGluZGV4ID0gMDsgaW5kZXggPD0gbGFzdFJhZGlvSW5kZXg7ICsraW5kZXgp
DQoJCQkJCXsNCgkJCQkJCWlmIChyYW5kb21pemVkT3B0aW9uc1tpbmRleF0gPT0g
bnVsbCkNCgkJCQkJCXsNCgkJCQkJCQlyYW5kb21pemVkT3B0aW9uc1tpbmRleF0g
PSBxdWVzdGlvbi5lbGVtZW50c1tub25GaXhlZE9wdGlvbnMuc2hpZnQoKV07DQoJ
CQkJCQl9DQoJCQkJCX0NCg0KCQkJCQlmb3IgKHZhciBpID0gMDsgaSA8PSBsYXN0
UmFkaW9JbmRleDsgKytpKQ0KCQkJCQl7DQoJCQkJCQlpZiAocmFuZG9taXplZE9w
dGlvbnNbaV0gIT0gcXVlc3Rpb24uZWxlbWVudHNbaV0pDQoJCQkJCQl7DQoJCQkJ
CQkJZm9yICh2YXIgaiA9IDA7IGogPD0gbGFzdFJhZGlvSW5kZXg7ICsraikNCgkJ
CQkJCQl7DQoJCQkJCQkJCWlmIChxdWVzdGlvbi5lbGVtZW50c1tqXSA9PSByYW5k
b21pemVkT3B0aW9uc1tpXSkNCgkJCQkJCQkJew0KCQkJCQkJCQkJcXVlc3Rpb24u
ZWxlbWVudHNbal0gPSBxdWVzdGlvbi5lbGVtZW50c1tpXTsNCgkJCQkJCQkJCXF1
ZXN0aW9uLmVsZW1lbnRzW2ldID0gcmFuZG9taXplZE9wdGlvbnNbaV07DQoNCgkJ
CQkJCQkJCWJyZWFrOw0KCQkJCQkJCQl9DQoJCQkJCQkJfQ0KCQkJCQkJfQ0KCQkJ
CQl9DQoJCQkJfQ0KCQkJfQ0KDQoJCQl0aGlzLmdldEFuc3dlcnMgPSBmdW5jdGlv
biAoKQ0KCQkJew0KCQkJCXZhciBhbnN3ZXJzID0gW107DQoNCgkJCQlmb3IgKHZh
ciBpbmRleCA9IDA7IGluZGV4IDw9IGxhc3RSYWRpb0luZGV4OyArK2luZGV4KQ0K
CQkJCXsNCgkJCQkJdmFyIGUgPSBxdWVzdGlvbi5lbGVtZW50c1tpbmRleF07DQoJ
CQkJCWlmIChlLnZpc2libGUgJiYgZS5jaGVja2VkKQ0KCQkJCQl7DQoJCQkJCQl2
YXIgaWQgPSBlLmlkLCB2YWx1ZSA9IGUudmFsdWUsIHRleHQgPSAiIjsNCg0KCQkJ
CQkJaWYgKGluZGV4ID09IGxhc3RSYWRpb0luZGV4ICYmIGhhc09wdGlvbmFsVGV4
dEJveCkNCgkJCQkJCXsNCgkJCQkJCQl0ZXh0ID0gb3B0aW9uYWxUZXh0Qm94LnZh
bHVlOw0KCQkJCQkJfQ0KDQoJCQkJCQlhbnN3ZXJzLnB1c2goeyBpZDogaWQsIHZh
bHVlOiB2YWx1ZSwgdGV4dDogdGV4dCB9KTsNCgkJCQkJfQ0KCQkJCX0NCg0KCQkJ
CXJldHVybiBhbnN3ZXJzOw0KCQkJfQ0KDQoJCQl2YXIgc3RhdGVzID0gbnVsbDsN
Cg0KCQkJdGhpcy5zYXZlID0gZnVuY3Rpb24gKCkNCgkJCXsNCgkJCQlzdGF0ZXMg
PSBbXTsNCg0KCQkJCWZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPD0gbGFzdFJh
ZGlvSW5kZXg7ICsraW5kZXgpDQoJCQkJew0KCQkJCQlzdGF0ZXMucHVzaChxdWVz
dGlvbi5lbGVtZW50c1tpbmRleF0uY2hlY2tlZCk7DQoJCQkJfQ0KDQoJCQkJaWYg
KGhhc09wdGlvbmFsVGV4dEJveCkNCgkJCQl7DQoJCQkJCXN0YXRlcy5wdXNoKHsg
dmFsdWU6IG9wdGlvbmFsVGV4dEJveC52YWx1ZSwgZGlzYWJsZWQ6IG9wdGlvbmFs
VGV4dEJveC5kaXNhYmxlZCB9KTsNCgkJCQl9DQoJCQl9DQoNCgkJCWZ1bmN0aW9u
IGdldE9wdGlvblRleHQoaW5kZXgpDQoJCQl7DQoJCQkJdmFyIGUgPSBxdWVzdGlv
bi5lbGVtZW50c1tpbmRleF07DQoJCQkJcmV0dXJuIChlLnZpc2libGUgJiYgZS5j
aGVja2VkKSA/ICgoaW5kZXggPT0gbGFzdFJhZGlvSW5kZXggJiYgaGFzT3B0aW9u
YWxUZXh0Qm94KSA/IG9wdGlvbmFsVGV4dEJveC52YWx1ZSA6IGUucGFyZW50Tm9k
ZS5uZXh0U2libGluZy5pbm5lckhUTUwpIDogbnVsbDsNCgkJCX0NCg0KCQkJZnVu
Y3Rpb24gZ2V0T3B0aW9uVmFyaWFibGUoaW5kZXgpDQoJCQl7DQoJCQkJdmFyIGUg
PSBxdWVzdGlvbi5lbGVtZW50c1tpbmRleF07DQoJCQkJdmFyIHZhcmlhYmxlID0g
ZS5nZXRBdHRyaWJ1dGUoInZhciIpOw0KDQoJCQkJaWYgKHZhcmlhYmxlICE9IG51
bGwgJiYgdmFyaWFibGUgIT0gIiIpDQoJCQkJew0KCQkJCQlyZXR1cm4geyBuYW1l
OiB2YXJpYWJsZSwgdmFsdWU6IGdldE9wdGlvblRleHQoaW5kZXgpIH07DQoJCQkJ
fQ0KDQoJCQkJcmV0dXJuIG51bGw7DQoJCQl9DQoNCgkJCWZ1bmN0aW9uIGdldFF1
ZXN0aW9uVmFyaWFibGUoKQ0KCQkJew0KCQkJCXZhciB2YXJpYWJsZSA9IHF1ZXN0
aW9uLmRvbU9iamVjdC5nZXRBdHRyaWJ1dGUoInZhciIpOw0KDQoJCQkJaWYgKHZh
cmlhYmxlICE9IG51bGwgJiYgdmFyaWFibGUgIT0gIiIpDQoJCQkJew0KCQkJCQl2
YXIgdmFsdWUgPSAiIjsNCgkJCQkJZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8
PSBsYXN0UmFkaW9JbmRleDsgKytpbmRleCkNCgkJCQkJew0KCQkJCQkJdmFyIGUg
PSBxdWVzdGlvbi5lbGVtZW50c1tpbmRleF07DQoJCQkJCQlpZiAoZS52aXNpYmxl
ICYmIGUuY2hlY2tlZCkNCgkJCQkJCXsNCgkJCQkJCQl2YWx1ZSArPSAiLCAiICsg
Z2V0T3B0aW9uVGV4dChpbmRleCk7DQoJCQkJCQl9DQoJCQkJCX0NCg0KCQkJCQly
ZXR1cm4geyBuYW1lOiB2YXJpYWJsZSwgdmFsdWU6ICh2YWx1ZS5sZW5ndGggPiAy
ID8gdmFsdWUuc3Vic3RyaW5nKDIpIDogbnVsbCkgfTsNCgkJCQl9DQoNCgkJCQly
ZXR1cm4gbnVsbDsNCgkJCX0NCg0KCQkJdGhpcy5wb3B1bGF0ZVZhcmlhYmxlcyA9
IGZ1bmN0aW9uICgpDQoJCQl7DQoJCQkJdmFyIHZhcmlhYmxlcyA9IFtdOw0KDQoJ
CQkJdmFyIHF1ZXN0aW9uVmFyaWFibGUgPSBnZXRRdWVzdGlvblZhcmlhYmxlKCk7
DQoNCgkJCQlpZiAocXVlc3Rpb25WYXJpYWJsZSAhPSBudWxsKQ0KCQkJCXsNCgkJ
CQkJdmFyaWFibGVzW3F1ZXN0aW9uVmFyaWFibGUubmFtZV0gPSBxdWVzdGlvblZh
cmlhYmxlLnZhbHVlOw0KCQkJCX0NCg0KCQkJCWZvciAodmFyIGluZGV4ID0gMDsg
aW5kZXggPD0gbGFzdFJhZGlvSW5kZXg7ICsraW5kZXgpDQoJCQkJew0KCQkJCQl2
YXIgb3B0aW9uVmFyaWFibGUgPSBnZXRPcHRpb25WYXJpYWJsZShpbmRleCk7DQoN
CgkJCQkJaWYgKG9wdGlvblZhcmlhYmxlICE9IG51bGwpDQoJCQkJCXsNCgkJCQkJ
CXZhcmlhYmxlc1tvcHRpb25WYXJpYWJsZS5uYW1lXSA9IG9wdGlvblZhcmlhYmxl
LnZhbHVlOw0KCQkJCQl9DQoJCQkJfQ0KDQoJCQkJcmV0dXJuIHZhcmlhYmxlczsN
CgkJCX0NCg0KCQkJdGhpcy5nZXRPcHRpb25CeUlkID0gZnVuY3Rpb24gKG9wdGlv
bklkKQ0KCQkJew0KCQkJCWZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPD0gbGFz
dFJhZGlvSW5kZXg7ICsraW5kZXgpDQoJCQkJew0KCQkJCQlpZiAocXVlc3Rpb24u
ZWxlbWVudHNbaW5kZXhdLnZpc2libGUgJiYgcXVlc3Rpb24uZWxlbWVudHNbaW5k
ZXhdLmlkID09IG9wdGlvbklkKQ0KCQkJCQl7DQoJCQkJCQlyZXR1cm4gcXVlc3Rp
b24uZWxlbWVudHNbaW5kZXhdOw0KCQkJCQl9DQoJCQkJfQ0KDQoJCQkJcmV0dXJu
IG51bGw7DQoJCQl9DQoNCgkJCXRoaXMucmVzdG9yZSA9IGZ1bmN0aW9uICgpDQoJ
CQl7DQoJCQkJZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8PSBsYXN0UmFkaW9J
bmRleDsgKytpbmRleCkNCgkJCQl7DQoJCQkJCXF1ZXN0aW9uLmVsZW1lbnRzW2lu
ZGV4XS5jaGVja2VkID0gc3RhdGVzW2luZGV4XTsNCgkJCQl9DQoNCgkJCQlpZiAo
aGFzT3B0aW9uYWxUZXh0Qm94KQ0KCQkJCXsNCgkJCQkJb3B0aW9uYWxUZXh0Qm94
LnZhbHVlID0gc3RhdGVzW3N0YXRlcy5sZW5ndGggLSAxXS52YWx1ZTsNCgkJCQkJ
b3B0aW9uYWxUZXh0Qm94LmRpc2FibGVkID0gc3RhdGVzW3N0YXRlcy5sZW5ndGgg
LSAxXS5kaXNhYmxlZDsNCgkJCQl9DQoJCQl9DQoJCX0sDQoNCgkJZ2hyT3BlcmF0
b3I6IGZ1bmN0aW9uIChxdWVzdGlvbikNCgkJew0KCQkJdmFyIFV0aWxzID0gTVMu
U3VwcG9ydC5GbXMuVXRpbHM7DQoNCgkJCXZhciByYW5raW5nID0gVXRpbHMuZ2V0
Q2hpbGRCeU5hbWUocXVlc3Rpb24uZG9tT2JqZWN0LCAicmFua2luZyIpOw0KCQkJ
dmFyIGlzUmFua2luZyA9IHJhbmtpbmcgJiYgcmFua2luZy52YWx1ZSA9PSAiMSI7
DQoNCgkJCXZhciB0YWJsZSA9IHF1ZXN0aW9uLmRvbU9iamVjdC5nZXRFbGVtZW50
c0J5VGFnTmFtZSgidGFibGUiKVswXTsNCgkJCXZhciBsYWJlbFJvdyA9IHRhYmxl
LnJvd3NbMF07DQoJCQl2YXIgaGVhZGVyUm93ID0gdGFibGUucm93c1sxXTsNCg0K
CQkJdmFyIGdoclJvd3MgPSBVdGlscy5maW5kQ2hpbGROb2RlcyhxdWVzdGlvbi5k
b21PYmplY3QsDQoJCQkJZnVuY3Rpb24gKGUpDQoJCQkJew0KCQkJCQlyZXR1cm4g
VXRpbHMuaGFzQ2xhc3MoZSwgIkdIUl9PRERST1ciKSB8fCBVdGlscy5oYXNDbGFz
cyhlLCAiR0hSX0VWRU5ST1ciKTsNCgkJCQl9DQoJCQkpOw0KDQoJCQl2YXIgY29s
dW1ucyA9IGhlYWRlclJvdy5jZWxscy5sZW5ndGggLSAxOw0KCQkJdmFyIHJvd3Mg
PSBnaHJSb3dzLmxlbmd0aDsNCg0KCQkJdmFyIGhhc0RvbnRLbm93ID0gcXVlc3Rp
b24uZWxlbWVudHNbMF0udmFsdWUgPT0gIjAiIHx8IHF1ZXN0aW9uLmVsZW1lbnRz
W2NvbHVtbnMgLSAxXS52YWx1ZSA9PSAiMCI7DQoNCgkJCWlmIChoYXNEb250S25v
dykNCgkJCXsNCgkJCQl2YXIgZG9udEtub3dDb2x1bW5JbmRleCA9IHF1ZXN0aW9u
LmVsZW1lbnRzWzBdLnZhbHVlID09ICIwIiA/IDAgOiBjb2x1bW5zIC0gMTsNCgkJ
CX0NCg0KCQkJdmFyIGF1dG9IaWRlQ29sdW1ucyA9IGZhbHNlOw0KCQkJLy8gZm9y
IHJhbmtpbmcgcXVlc3Rpb24sIGlmIHJvdyBjb3VudCBlcXVhbHMgdG8gY29sdW1u
IGNvdW50IChleGNsdWRlIGRvbid0IGtub3cpLCB0aGVuIGNvbHVtbnMgc2hhbGwg
YmUgaGlkZSBhdXRvbWF0aWNhbGx5DQoJCQlpZiAoaXNSYW5raW5nICYmICgoaGFz
RG9udEtub3cgJiYgY29sdW1ucyA9PSByb3dzICsgMSkgfHwgKCghaGFzRG9udEtu
b3cpICYmIGNvbHVtbnMgPT0gcm93cykpKQ0KCQkJew0KCQkJCWF1dG9IaWRlQ29s
dW1ucyA9IHRydWU7DQoJCQl9DQoNCgkJCXZhciByYW5raW5nRGlyZWN0aW9uID0g
ImFzYyI7DQoNCgkJCWlmIChpc1JhbmtpbmcpDQoJCQl7DQoJCQkJdmFyIGluZGV4
ID0gKGhhc0RvbnRLbm93ICYmIGRvbnRLbm93Q29sdW1uSW5kZXggPT0gMCkgPyAx
IDogMDsNCg0KCQkJCWlmICgoaW5kZXggKyAxKSA8IGNvbHVtbnMgJiYgKHF1ZXN0
aW9uLmVsZW1lbnRzW2luZGV4XSAmJiBxdWVzdGlvbi5lbGVtZW50c1tpbmRleCAr
IDFdICYmIChxdWVzdGlvbi5lbGVtZW50c1tpbmRleF0udmFsdWUgPiBxdWVzdGlv
bi5lbGVtZW50c1tpbmRleCArIDFdLnZhbHVlKSkpDQoJCQkJew0KCQkJCQlyYW5r
aW5nRGlyZWN0aW9uID0gImRlc2MiOw0KCQkJCX0NCgkJCX0NCg0KCQkJdmFyIHZp
c2libGVSb3dDb3VudCA9IHJvd3M7DQoJCQl2YXIgdmlzaWJsZUNvbHVtbkNvdW50
ID0gY29sdW1uczsNCg0KCQkJdGhpcy52YWxpZGF0ZVJlcXVpcmVkID0gZnVuY3Rp
b24gKCkNCgkJCXsNCgkJCQl2YXIgY291bnQgPSAwOw0KCQkJCWZvciAodmFyIGlu
ZGV4ID0gMDsgaW5kZXggPCBxdWVzdGlvbi5lbGVtZW50cy5sZW5ndGg7ICsraW5k
ZXgpDQoJCQkJew0KCQkJCQl2YXIgZSA9IHF1ZXN0aW9uLmVsZW1lbnRzW2luZGV4
XTsNCgkJCQkJaWYgKGUudmlzaWJsZSAmJiBlLmNoZWNrZWQpDQoJCQkJCXsNCgkJ
CQkJCSsrY291bnQ7DQoJCQkJCX0NCgkJCQl9DQoNCgkJCQlpZiAoaXNSYW5raW5n
ICYmIGNvdW50ID09IE1hdGgubWluKHZpc2libGVSb3dDb3VudCwgdmlzaWJsZUNv
bHVtbkNvdW50KQ0KICAgICAgICAgICAgICAgIHx8ICFpc1JhbmtpbmcgJiYgY291
bnQgPT0gdmlzaWJsZVJvd0NvdW50KQ0KCQkJCXsNCgkJCQkJcmV0dXJuIHRydWU7
DQoJCQkJfQ0KDQoJCQkJaWYgKHF1ZXN0aW9uLmVsZW1lbnRzLmxlbmd0aCA9PSAw
KQ0KCQkJCXsNCgkJCQkJcmV0dXJuIHRydWU7DQoJCQkJfQ0KDQoJCQkJcmV0dXJu
IGZhbHNlOw0KCQkJfQ0KDQoJCQl0aGlzLnZhbGlkYXRlSW5wdXQgPSBmdW5jdGlv
biAoKQ0KCQkJew0KCQkJCXJldHVybiBuZXcgTVMuU3VwcG9ydC5GbXMuVmFsaWRh
dGVSZXN1bHQodHJ1ZSk7DQoJCQl9DQoNCgkJCWZ1bmN0aW9uIGhhbmRsZVJhbmtp
bmdSYWRpb0NsaWNrKHJvd0luZGV4LCBjb2x1bW5JbmRleCkNCgkJCXsNCgkJCQlp
ZiAoaGFzRG9udEtub3cgJiYgY29sdW1uSW5kZXggPT0gZG9udEtub3dDb2x1bW5J
bmRleCkNCgkJCQl7DQoJCQkJCXJldHVybjsgLy8gc2tpcCBkb24ndCBrbm93bg0K
CQkJCX0NCg0KCQkJCXZhciBpbmRleCA9IHJvd0luZGV4ICogY29sdW1ucyArIGNv
bHVtbkluZGV4Ow0KCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgcm93czsgKytpKQ0K
CQkJCXsNCgkJCQkJdmFyIGVsZW1lbnRJbmRleCA9IGkgKiBjb2x1bW5zICsgY29s
dW1uSW5kZXg7DQoNCgkJCQkJaWYgKGVsZW1lbnRJbmRleCAhPSBpbmRleCkNCgkJ
CQkJew0KCQkJCQkJcXVlc3Rpb24uZWxlbWVudHNbZWxlbWVudEluZGV4XS5jaGVj
a2VkID0gZmFsc2U7DQoJCQkJCX0NCg0KCQkJCX0NCgkJCX0NCg0KCQkJdGhpcy5w
cmVwYXJlID0gZnVuY3Rpb24gKCkNCgkJCXsNCgkJCQl2aXNpYmxlUm93Q291bnQg
PSAwOw0KCQkJCXZhciBzdGF0aWNPcHRpb25Db3VudCA9IDA7DQoJCQkJZm9yICh2
YXIgaW5kZXggPSAwOyBpbmRleCA8IGdoclJvd3MubGVuZ3RoOyArK2luZGV4KQ0K
CQkJCXsNCgkJCQkJdmFyIHJvdyA9IGdoclJvd3NbaW5kZXhdOw0KDQoJCQkJCXZh
ciBzaG93SWYgPSB0cnVlLCBTZWxlY3RJZiA9IGZhbHNlOw0KCQkJCQl2YXIgdmlz
aWJpbGl0eSA9IHJvdy5nZXRBdHRyaWJ1dGUoInZpc2liaWxpdHkiKTsNCgkJCQkJ
dmFyIHJldFZhbCA9IHF1ZXN0aW9uLnN1cnZleS5FdmFsdWF0ZUNvbnRleHRWaXNp
YmlsaXR5KHJvdyk7DQoNCgkJCQkJc3dpdGNoICh2aXNpYmlsaXR5KQ0KCQkJCQl7
DQoJCQkJCQljYXNlICJTaG93IjoNCgkJCQkJCQlzaG93SWYgPSByZXRWYWwgPT0g
Ik5vdEV4aXN0IiA/IGZhbHNlIDogcmV0VmFsID09ICJFdmFsVHJ1ZSIgPyB0cnVl
IDogZmFsc2U7DQoJCQkJCQkJYnJlYWs7DQoJCQkJCQljYXNlICJIaWRlIjoNCgkJ
CQkJCQlzaG93SWYgPSByZXRWYWwgPT0gIk5vdEV4aXN0IiA/IHRydWUgOiByZXRW
YWwgPT0gIkV2YWxUcnVlIiA/IGZhbHNlIDogdHJ1ZTsNCgkJCQkJCQlicmVhazsN
CgkJCQkJCWNhc2UgIlNlbGVjdGVkIjoNCgkJCQkJCQlzaG93SWYgPSB0cnVlOw0K
CQkJCQkJCS8vTm90IGltcGxlbWVudCBzZWxlY3RlZCBsb2dpYyBpbiBHSFIvU0hS
IG9wdGlvbiBjdXJyZW50bHkuDQoJCQkJCQkJYnJlYWs7DQoJCQkJCQlkZWZhdWx0
Og0KCQkJCQkJCWJyZWFrOw0KCQkJCQl9DQoNCgkJCQkJaWYgKHNob3dJZikNCgkJ
CQkJew0KCQkJCQkJKyt2aXNpYmxlUm93Q291bnQ7DQoJCQkJCQlpZiAocXVlc3Rp
b24uaXNTdGF0aWNPcHRpb24ocm93KSkNCgkJCQkJCXsNCgkJCQkJCQkrK3N0YXRp
Y09wdGlvbkNvdW50Ow0KCQkJCQkJfQ0KDQoJCQkJCQlVdGlscy5yZW1vdmVDbGFz
cyhyb3csICJHSFJfRVZFTlJPVyBHSFJfT0REUk9XIik7DQoJCQkJCQlVdGlscy5h
ZGRDbGFzcyhyb3csIHZpc2libGVSb3dDb3VudCAlIDIgPT0gMCA/ICJHSFJfRVZF
TlJPVyIgOiAiR0hSX09ERFJPVyIpOw0KCQkJCQkJVXRpbHMuZGlzcGxheVRhYmxl
Um93KHJvdyk7DQoJCQkJCX0NCgkJCQkJZWxzZQ0KCQkJCQl7DQoJCQkJCQlVdGls
cy5oaWRlRWxlbWVudChyb3cpOw0KCQkJCQl9DQoNCgkJCQkJcm93LnZpc2libGUg
PSBzaG93SWY7DQoNCgkJCQkJdmFyIHN0YXJ0SiA9IGluZGV4ICogY29sdW1ucywg
ZW5kSiA9IHN0YXJ0SiArIGNvbHVtbnM7DQoJCQkJCWZvciAodmFyIGogPSBzdGFy
dEo7IGogPCBlbmRKOyArK2opDQoJCQkJCXsNCgkJCQkJCXF1ZXN0aW9uLmVsZW1l
bnRzW2pdLnZpc2libGUgPSBzaG93SWY7DQoJCQkJCX0NCgkJCQl9DQoNCgkJCQlp
ZiAoYXV0b0hpZGVDb2x1bW5zICYmIHZpc2libGVSb3dDb3VudCA+IDApDQoJCQkJ
ew0KCQkJCQl2aXNpYmxlQ29sdW1uQ291bnQgPSBNYXRoLm1pbihjb2x1bW5zLCB2
aXNpYmxlUm93Q291bnQgKyAoaGFzRG9udEtub3cgPyAxIDogMCkpOw0KCQkJCQl2
YXIgY2VsbFdpZHRoID0gKDAuNzUgLyB2aXNpYmxlQ29sdW1uQ291bnQgKiAxMDAp
ICsgIiUiOw0KCQkJCQl2YXIgZmlyc3RSYW5raW5nQ29sdW1uSW5kZXggPSAoaGFz
RG9udEtub3cgJiYgZG9udEtub3dDb2x1bW5JbmRleCA9PSAwKSA/IDEgOiAwOw0K
CQkJCQl2YXIgcmFua2luZ0NvbHVtbkNvdW50ID0gY29sdW1ucyAtIChoYXNEb250
S25vdyA/IDEgOiAwKTsNCgkJCQkJdmFyIHZpc2libGVSYW5raW5nQ29sdW1uQ291
bnQgPSB2aXNpYmxlQ29sdW1uQ291bnQgLSAoaGFzRG9udEtub3cgPyAxIDogMCk7
DQoNCgkJCQkJZm9yIChpbmRleCA9IGZpcnN0UmFua2luZ0NvbHVtbkluZGV4OyBp
bmRleCA8IHJhbmtpbmdDb2x1bW5Db3VudDsgKytpbmRleCkNCgkJCQkJew0KCQkJ
CQkJaWYgKChyYW5raW5nRGlyZWN0aW9uID09ICJhc2MiICYmIGluZGV4IDwgdmlz
aWJsZVJhbmtpbmdDb2x1bW5Db3VudCkgfHwgKHJhbmtpbmdEaXJlY3Rpb24gPT0g
ImRlc2MiICYmIGluZGV4ID49IChyYW5raW5nQ29sdW1uQ291bnQgLSB2aXNpYmxl
UmFua2luZ0NvbHVtbkNvdW50KSkpDQoJCQkJCQl7DQoJCQkJCQkJVXRpbHMuZGlz
cGxheVRhYmxlQ2VsbChsYWJlbFJvdy5jZWxsc1tpbmRleCArIDFdKTsNCgkJCQkJ
CQlVdGlscy5kaXNwbGF5VGFibGVDZWxsKGhlYWRlclJvdy5jZWxsc1tpbmRleCAr
IDFdKTsNCgkJCQkJCQloZWFkZXJSb3cuY2VsbHNbaW5kZXhdLndpZHRoID0gY2Vs
bFdpZHRoOw0KCQkJCQkJfQ0KCQkJCQkJZWxzZQ0KCQkJCQkJew0KCQkJCQkJCVV0
aWxzLmhpZGVFbGVtZW50KGxhYmVsUm93LmNlbGxzW2luZGV4ICsgMV0pOw0KCQkJ
CQkJCVV0aWxzLmhpZGVFbGVtZW50KGhlYWRlclJvdy5jZWxsc1tpbmRleCArIDFd
KTsNCgkJCQkJCX0NCgkJCQkJfQ0KDQoJCQkJCWZvciAodmFyIGluZGV4ID0gMDsg
aW5kZXggPCBnaHJSb3dzLmxlbmd0aDsgKytpbmRleCkNCgkJCQkJew0KCQkJCQkJ
dmFyIHJvdyA9IGdoclJvd3NbaW5kZXhdOw0KCQkJCQkJaWYgKHJvdy52aXNpYmxl
KQ0KCQkJCQkJew0KCQkJCQkJCWZvciAodmFyIGogPSBmaXJzdFJhbmtpbmdDb2x1
bW5JbmRleDsgaiA8IHJhbmtpbmdDb2x1bW5Db3VudDsgKytqKQ0KCQkJCQkJCXsN
CgkJCQkJCQkJaWYgKChyYW5raW5nRGlyZWN0aW9uID09ICJhc2MiICYmIGogPCB2
aXNpYmxlUmFua2luZ0NvbHVtbkNvdW50KSB8fCAocmFua2luZ0RpcmVjdGlvbiA9
PSAiZGVzYyIgJiYgaiA+PSAocmFua2luZ0NvbHVtbkNvdW50IC0gdmlzaWJsZVJh
bmtpbmdDb2x1bW5Db3VudCkpKQ0KCQkJCQkJCQl7DQoJCQkJCQkJCQlVdGlscy5k
aXNwbGF5VGFibGVDZWxsKHJvdy5jZWxsc1tqICsgMV0pOw0KCQkJCQkJCQkJcXVl
c3Rpb24uZWxlbWVudHNbaW5kZXggKiBjb2x1bW5zICsgal0udmlzaWJsZSA9IHRy
dWU7DQoJCQkJCQkJCX0NCgkJCQkJCQkJZWxzZQ0KCQkJCQkJCQl7DQoJCQkJCQkJ
CQlVdGlscy5oaWRlRWxlbWVudChyb3cuY2VsbHNbaiArIDFdKTsNCgkJCQkJCQkJ
CXF1ZXN0aW9uLmVsZW1lbnRzW2luZGV4ICogY29sdW1ucyArIGpdLnZpc2libGUg
PSBmYWxzZTsNCgkJCQkJCQkJfQ0KCQkJCQkJCX0NCgkJCQkJCX0NCgkJCQkJfQ0K
CQkJCX0NCg0KCQkJCWlmIChpc1JhbmtpbmcgJiYgKHZpc2libGVSb3dDb3VudCA8
PSAxICYmIHN0YXRpY09wdGlvbkNvdW50ID09IDApIHx8ICFpc1JhbmtpbmcgJiYg
KHZpc2libGVSb3dDb3VudCArIHN0YXRpY09wdGlvbkNvdW50ID09IDApKQ0KCQkJ
CXsNCgkJCQkJcXVlc3Rpb24ubmVlZEhpZGUgPSB0cnVlOw0KCQkJCX0NCgkJCX0N
Cg0KCQkJdGhpcy5wb3B1bGF0ZVZhcmlhYmxlcyA9IGZ1bmN0aW9uICgpDQoJCQl7
DQoJCQkJdmFyIHZhcmlhYmxlcyA9IFtdOw0KDQoJCQkJdmFyIHF1ZXN0aW9uVmFy
aWFibGUgPSBnZXRRdWVzdGlvblZhcmlhYmxlKCk7DQoJCQkJaWYgKHF1ZXN0aW9u
VmFyaWFibGUgIT0gbnVsbCkNCgkJCQl7DQoJCQkJCXZhcmlhYmxlc1txdWVzdGlv
blZhcmlhYmxlLm5hbWVdID0gcXVlc3Rpb25WYXJpYWJsZS52YWx1ZTsNCgkJCQl9
DQoJCQkJdmFyIG9wdGlvblZhcmlhYmxlID0gZ2V0T3B0aW9uVmFyaWFibGUoKTsN
CgkJCQlpZiAob3B0aW9uVmFyaWFibGUgIT0gbnVsbCkNCgkJCQl7DQoJCQkJCWZv
ciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBvcHRpb25WYXJpYWJsZS5sZW5ndGg7
ICsraW5kZXgpDQoJCQkJCXsNCgkJCQkJCXZhciB2YXJpYWJsZSA9IG9wdGlvblZh
cmlhYmxlW2luZGV4XTsNCgkJCQkJCXZhcmlhYmxlc1t2YXJpYWJsZS5uYW1lXSA9
IHZhcmlhYmxlLnZhbHVlOw0KCQkJCQl9DQoJCQkJfQ0KDQoJCQkJcmV0dXJuIHZh
cmlhYmxlczsNCgkJCX0NCg0KCQkJZnVuY3Rpb24gZ2V0UXVlc3Rpb25WYXJpYWJs
ZSgpDQoJCQl7DQoJCQkJdmFyIHZhcmlhYmxlID0gcXVlc3Rpb24uZG9tT2JqZWN0
LmdldEF0dHJpYnV0ZSgidmFyIik7DQoNCgkJCQlpZiAodmFyaWFibGUgIT0gbnVs
bCAmJiB2YXJpYWJsZSAhPSAiIikNCgkJCQl7DQoJCQkJCXZhciB2YWx1ZSA9ICIi
Ow0KCQkJCQlmb3IgKHZhciByID0gMDsgciA8PSByb3dzOyByKyspDQoJCQkJCXsN
CgkJCQkJCWZvciAodmFyIGMgPSAwOyBjIDwgY29sdW1uczsgYysrKQ0KCQkJCQkJ
ew0KCQkJCQkJCXZhciBlID0gcXVlc3Rpb24uZWxlbWVudHNbciAqIGNvbHVtbnMg
KyBjXTsNCgkJCQkJCQlpZiAoZSAmJiBlLnZpc2libGUgJiYgZS5jaGVja2VkKQ0K
CQkJCQkJCXsNCgkJCQkJCQkJdmFsdWUgKz0gIiwgIiArIGUuaWQudG9TdHJpbmco
KSArICJ8IiArIGUudmFsdWUudG9TdHJpbmcoKTsNCgkJCQkJCQl9DQoJCQkJCQl9
DQoJCQkJCX0NCgkJCQkJcmV0dXJuIHsgbmFtZTogdmFyaWFibGUsIHZhbHVlOiAo
dmFsdWUubGVuZ3RoID4gMiA/IHZhbHVlLnN1YnN0cmluZygyKSA6IG51bGwpIH07
DQoJCQkJfQ0KCQkJCXJldHVybiBudWxsOw0KCQkJfQ0KDQoJCQlmdW5jdGlvbiBn
ZXRPcHRpb25WYXJpYWJsZSgpDQoJCQl7DQoJCQkJdmFyIHZhcmlhYmxlTGlzdCA9
IFtdOw0KDQoJCQkJZm9yICh2YXIgcm93ID0gMDsgcm93IDwgZ2hyUm93cy5sZW5n
dGg7ICsrcm93KQ0KCQkJCXsNCgkJCQkJdmFyIHZhcmlhYmxlTmFtZSA9IGdoclJv
d3Nbcm93XS5nZXRBdHRyaWJ1dGUoInZhciIpOw0KCQkJCQlpZiAoIXZhcmlhYmxl
TmFtZSkNCgkJCQkJew0KCQkJCQkJY29udGludWU7DQoJCQkJCX0NCgkJCQkJZm9y
ICh2YXIgY29sID0gMDsgY29sIDwgY29sdW1uczsgKytjb2wpDQoJCQkJCXsNCgkJ
CQkJCXZhciBlID0gcXVlc3Rpb24uZWxlbWVudHNbcm93ICogY29sdW1ucyArIGNv
bF07DQoJCQkJCQlpZiAoZS52aXNpYmxlICYmIGUuY2hlY2tlZCkNCgkJCQkJCXsN
CgkJCQkJCQl2YXJpYWJsZUxpc3QucHVzaCh7IG5hbWU6IHZhcmlhYmxlTmFtZSwg
dmFsdWU6IGUuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpIH0pOw0KCQkJCQkJfQ0KCQkJ
CQl9DQoJCQkJfQ0KDQoJCQkJcmV0dXJuIHZhcmlhYmxlTGlzdDsNCgkJCX0NCg0K
CQkJdGhpcy5nZXRPcHRpb25CeUlkID0gZnVuY3Rpb24gKG9wdGlvbklkKQ0KCQkJ
ew0KCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgcXVlc3Rpb24uZWxlbWVudHMubGVu
Z3RoOyArK2kpDQoJCQkJew0KCQkJCQl2YXIgZWxlbWVudCA9IHF1ZXN0aW9uLmVs
ZW1lbnRzW2ldOw0KCQkJCQlpZiAoZWxlbWVudC52aXNpYmxlICYmIGVsZW1lbnQu
aWQgPT0gb3B0aW9uSWQgJiYgZWxlbWVudC5jaGVja2VkKQ0KCQkJCQl7DQoJCQkJ
CQlyZXR1cm4gZWxlbWVudDsNCgkJCQkJfQ0KCQkJCX0NCg0KCQkJCXJldHVybiBu
dWxsOw0KCQkJfQ0KDQoJCQlmdW5jdGlvbiBpc0ZpeGVkKGVsZW1lbnQpDQoJCQl7
DQoJCQkJcmV0dXJuIChlbGVtZW50LmdldEF0dHJpYnV0ZSgiZml4ZWQiKSA9PSAi
MSIpOw0KCQkJfQ0KDQoJCQl0aGlzLnJhbmRvbWl6ZSA9IGZ1bmN0aW9uICgpDQoJ
CQl7DQoJCQkJaWYgKHF1ZXN0aW9uLm5lZWRSYW5kb21pemF0aW9uKCkpDQoJCQkJ
ew0KCQkJCQl2YXIgcmFuZG9taXplZE9wdGlvbnMgPSBbXTsNCgkJCQkJdmFyIG5v
bkZpeGVkT3B0aW9ucyA9IFtdOw0KDQoJCQkJCWZvciAodmFyIGluZGV4ID0gMDsg
aW5kZXggPCBnaHJSb3dzLmxlbmd0aDsgKytpbmRleCkNCgkJCQkJew0KCQkJCQkJ
aWYgKGlzRml4ZWQoZ2hyUm93c1tpbmRleF0pKQ0KCQkJCQkJew0KCQkJCQkJCXJh
bmRvbWl6ZWRPcHRpb25zW2luZGV4XSA9IGdoclJvd3NbaW5kZXhdOw0KCQkJCQkJ
fQ0KCQkJCQkJZWxzZQ0KCQkJCQkJew0KCQkJCQkJCW5vbkZpeGVkT3B0aW9ucy5w
dXNoKGluZGV4KTsNCgkJCQkJCX0NCgkJCQkJfQ0KDQoJCQkJCVV0aWxzLnJhbmRv
bWl6ZShub25GaXhlZE9wdGlvbnMpOw0KDQoJCQkJCWZvciAodmFyIGluZGV4ID0g
MDsgaW5kZXggPCBnaHJSb3dzLmxlbmd0aDsgKytpbmRleCkNCgkJCQkJew0KCQkJ
CQkJaWYgKHJhbmRvbWl6ZWRPcHRpb25zW2luZGV4XSA9PSBudWxsKQ0KCQkJCQkJ
ew0KCQkJCQkJCXJhbmRvbWl6ZWRPcHRpb25zW2luZGV4XSA9IGdoclJvd3Nbbm9u
Rml4ZWRPcHRpb25zLnNoaWZ0KCldOw0KCQkJCQkJfQ0KCQkJCQl9DQoNCgkJCQkJ
Zm9yICh2YXIgaSA9IDA7IGkgPCBnaHJSb3dzLmxlbmd0aDsgKytpKQ0KCQkJCQl7
DQoJCQkJCQlpZiAocmFuZG9taXplZE9wdGlvbnNbaV0gIT0gZ2hyUm93c1tpXSkN
CgkJCQkJCXsNCgkJCQkJCQlmb3IgKHZhciBqID0gMDsgaiA8IGdoclJvd3MubGVu
Z3RoOyArK2opDQoJCQkJCQkJew0KCQkJCQkJCQlpZiAoZ2hyUm93c1tqXSA9PSBy
YW5kb21pemVkT3B0aW9uc1tpXSkNCgkJCQkJCQkJew0KCQkJCQkJCQkJVXRpbHMu
c3dhcE5vZGUoZ2hyUm93c1tpXSwgcmFuZG9taXplZE9wdGlvbnNbaV0pOw0KDQoJ
CQkJCQkJCQlnaHJSb3dzW2pdID0gZ2hyUm93c1tpXTsNCgkJCQkJCQkJCWdoclJv
d3NbaV0gPSByYW5kb21pemVkT3B0aW9uc1tpXTsNCg0KCQkJCQkJCQkJZm9yICh2
YXIgayA9IDA7IGsgPCBjb2x1bW5zOyArK2spDQoJCQkJCQkJCQl7DQoJCQkJCQkJ
CQkJdmFyIHQgPSBxdWVzdGlvbi5lbGVtZW50c1tpICogY29sdW1ucyArIGtdOw0K
CQkJCQkJCQkJCXF1ZXN0aW9uLmVsZW1lbnRzW2kgKiBjb2x1bW5zICsga10gPSBx
dWVzdGlvbi5lbGVtZW50c1tqICogY29sdW1ucyArIGtdOw0KCQkJCQkJCQkJCXF1
ZXN0aW9uLmVsZW1lbnRzW2ogKiBjb2x1bW5zICsga10gPSB0Ow0KCQkJCQkJCQkJ
fQ0KDQoJCQkJCQkJCQlicmVhazsNCgkJCQkJCQkJfQ0KCQkJCQkJCX0NCgkJCQkJ
CX0NCgkJCQkJfQ0KCQkJCX0NCg0KCQkJCWlmIChpc1JhbmtpbmcpDQoJCQkJew0K
CQkJCQlmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgcXVlc3Rpb24uZWxlbWVu
dHMubGVuZ3RoOyArK2luZGV4KQ0KCQkJCQl7DQoJCQkJCQkoZnVuY3Rpb24gKCkN
CgkJCQkJCXsNCgkJCQkJCQl2YXIgY29sdW1uSW5kZXggPSBpbmRleCAlIGNvbHVt
bnM7DQoJCQkJCQkJdmFyIHJvd0luZGV4ID0gTWF0aC5mbG9vcihpbmRleCAvIGNv
bHVtbnMpOw0KDQoJCQkJCQkJVXRpbHMuYWRkRXZlbnRIYW5kbGVyKHF1ZXN0aW9u
LmVsZW1lbnRzW2luZGV4XSwgImNsaWNrIiwgZnVuY3Rpb24gKCkgeyBoYW5kbGVS
YW5raW5nUmFkaW9DbGljayhyb3dJbmRleCwgY29sdW1uSW5kZXgpOyByZXR1cm4g
dHJ1ZTsgfSk7DQoJCQkJCQl9KSgpOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KDQoJ
CQl0aGlzLmdldEFuc3dlcnMgPSBmdW5jdGlvbiAoKQ0KCQkJew0KCQkJCXZhciBh
bnN3ZXJzID0gW107DQoNCgkJCQlmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwg
cXVlc3Rpb24uZWxlbWVudHMubGVuZ3RoOyArK2luZGV4KQ0KCQkJCXsNCgkJCQkJ
dmFyIGUgPSBxdWVzdGlvbi5lbGVtZW50c1tpbmRleF07DQoJCQkJCWlmIChlLnZp
c2libGUgJiYgZS5jaGVja2VkKQ0KCQkJCQl7DQoJCQkJCQl2YXIgaWQgPSBlLmlk
LCB2YWx1ZSA9IGUudmFsdWU7DQoJCQkJCQlhbnN3ZXJzLnB1c2goeyBpZDogaWQs
IHZhbHVlOiB2YWx1ZSwgdGV4dDogIiIgfSk7DQoJCQkJCX0NCgkJCQl9DQoNCgkJ
CQlyZXR1cm4gYW5zd2VyczsNCgkJCX0NCg0KCQkJdmFyIHN0YXRlcyA9IG51bGw7
DQoNCgkJCXRoaXMuc2F2ZSA9IGZ1bmN0aW9uICgpDQoJCQl7DQoJCQkJc3RhdGVz
ID0gW107DQoNCgkJCQlmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgcXVlc3Rp
b24uZWxlbWVudHMubGVuZ3RoOyArK2luZGV4KQ0KCQkJCXsNCgkJCQkJc3RhdGVz
LnB1c2gocXVlc3Rpb24uZWxlbWVudHNbaW5kZXhdLmNoZWNrZWQpOw0KCQkJCX0N
CgkJCX0NCg0KCQkJdGhpcy5yZXN0b3JlID0gZnVuY3Rpb24gKCkNCgkJCXsNCgkJ
CQlmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgcXVlc3Rpb24uZWxlbWVudHMu
bGVuZ3RoOyArK2luZGV4KQ0KCQkJCXsNCgkJCQkJcXVlc3Rpb24uZWxlbWVudHNb
aW5kZXhdLmNoZWNrZWQgPSBzdGF0ZXNbaW5kZXhdOw0KCQkJCX0NCgkJCX0NCgkJ
fSwNCg0KCQljaG9pY2VsaXN0T3BlcmF0b3I6IGZ1bmN0aW9uIChxdWVzdGlvbikN
CgkJew0KCQkJdmFyIFV0aWxzID0gTVMuU3VwcG9ydC5GbXMuVXRpbHM7DQoNCgkJ
CXZhciBzZWxlY3RPYmplY3QgPSBxdWVzdGlvbi5lbGVtZW50c1swXTsNCgkJCXNl
bGVjdE9iamVjdC5zZWxlY3RlZEluZGV4ID0gc2VsZWN0T2JqZWN0Lm11bHRpcGxl
ID8gLTEgOiAwOw0KCQkJdmFyIG9wdGlvbnMgPSBzZWxlY3RPYmplY3Qub3B0aW9u
czsNCg0KCQkJdmFyIGFsbE9wdGlvbnMgPSBbXTsNCg0KCQkJZm9yICh2YXIgaW5k
ZXggPSAwOyBpbmRleCA8IG9wdGlvbnMubGVuZ3RoOyArK2luZGV4KQ0KCQkJew0K
CQkJCWFsbE9wdGlvbnMucHVzaCh7IG9wdGlvbjogb3B0aW9uc1tpbmRleF0sIHNl
bGVjdGVkOiBvcHRpb25zW2luZGV4XS5zZWxlY3RlZCB9KTsNCgkJCX0NCg0KCQkJ
dGhpcy52YWxpZGF0ZVJlcXVpcmVkID0gZnVuY3Rpb24gKCkNCgkJCXsNCgkJCQlp
ZiAob3B0aW9ucy5sZW5ndGggPT0gMCB8fCBvcHRpb25zLmxlbmd0aCA9PSAxICYm
IG9wdGlvbnNbMF0udmFsdWUgPT0gLTEpDQoJCQkJew0KCQkJCQkvL2Ryb3AgZG93
biBzaW5nbGUgc2VsZWN0IHdoaWNoIGhhcyBvbmx5IG9uZSBub24tc2VsZWN0IGl0
ZW0uDQoJCQkJCXJldHVybiB0cnVlOw0KCQkJCX0NCgkJCQlmb3IgKHZhciBpbmRl
eCA9IDA7IGluZGV4IDwgb3B0aW9ucy5sZW5ndGg7ICsraW5kZXgpDQoJCQkJew0K
CQkJCQl2YXIgb3B0aW9uID0gb3B0aW9uc1tpbmRleF07DQoJCQkJCWlmIChvcHRp
b24uc2VsZWN0ZWQgJiYgb3B0aW9uLmlkICE9ICIiICYmIG9wdGlvbi52YWx1ZSAh
PSAiIiAmJiBvcHRpb24udmFsdWUgIT0gLTEpDQoJCQkJCXsNCgkJCQkJCXJldHVy
biB0cnVlOw0KCQkJCQl9DQoJCQkJfQ0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0N
Cg0KCQkJdGhpcy52YWxpZGF0ZUlucHV0ID0gZnVuY3Rpb24gKCkNCgkJCXsNCgkJ
CQlyZXR1cm4gbmV3IE1TLlN1cHBvcnQuRm1zLlZhbGlkYXRlUmVzdWx0KHRydWUp
Ow0KCQkJfQ0KDQoJCQl0aGlzLnByZXBhcmUgPSBmdW5jdGlvbiAoKQ0KCQkJew0K
CQkJCWZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBhbGxPcHRpb25zLmxlbmd0
aDsgKytpbmRleCkNCgkJCQl7DQoJCQkJCWFsbE9wdGlvbnNbaW5kZXhdLnNlbGVj
dGVkID0gYWxsT3B0aW9uc1tpbmRleF0ub3B0aW9uLnNlbGVjdGVkOw0KCQkJCX0N
Cg0KCQkJCXNlbGVjdE9iamVjdC5vcHRpb25zLmxlbmd0aCA9IDA7DQoNCgkJCQlm
b3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgYWxsT3B0aW9ucy5sZW5ndGg7ICsr
aW5kZXgpDQoJCQkJew0KCQkJCQl2YXIgYlNob3cgPSB0cnVlLCBiU2VsZWN0ID0g
YWxsT3B0aW9uc1tpbmRleF0ub3B0aW9uLnNlbGVjdGVkOw0KCQkJCQl2YXIgdmlz
aWJpbGl0eSA9IGFsbE9wdGlvbnNbaW5kZXhdLm9wdGlvbi5nZXRBdHRyaWJ1dGUo
InZpc2liaWxpdHkiKTsNCgkJCQkJdmFyIHJldFZhbCA9IHF1ZXN0aW9uLnN1cnZl
eS5FdmFsdWF0ZUNvbnRleHRWaXNpYmlsaXR5KGFsbE9wdGlvbnNbaW5kZXhdLm9w
dGlvbik7DQoNCgkJCQkJc3dpdGNoICh2aXNpYmlsaXR5KQ0KCQkJCQl7DQoJCQkJ
CQljYXNlICJTaG93IjoNCgkJCQkJCQliU2hvdyA9IHJldFZhbCA9PSAiTm90RXhp
c3QiID8gZmFsc2UgOiByZXRWYWwgPT0gIkV2YWxUcnVlIiA/IHRydWUgOiBmYWxz
ZTsNCgkJCQkJCQlicmVhazsNCgkJCQkJCWNhc2UgIkhpZGUiOg0KCQkJCQkJCWJT
aG93ID0gcmV0VmFsID09ICJOb3RFeGlzdCIgPyB0cnVlIDogcmV0VmFsID09ICJF
dmFsVHJ1ZSIgPyBmYWxzZSA6IHRydWU7DQoJCQkJCQkJYnJlYWs7DQoJCQkJCQlj
YXNlICJTZWxlY3RlZCI6DQoJCQkJCQkJYlNob3cgPSB0cnVlOw0KCQkJCQkJCWJT
ZWxlY3QgPSByZXRWYWwgPT0gIk5vdEV4aXN0IiA/IGZhbHNlIDogcmV0VmFsID09
ICJFdmFsVHJ1ZSIgPyB0cnVlIDogZmFsc2U7DQoJCQkJCQkJYnJlYWs7DQoJCQkJ
CQlkZWZhdWx0Og0KCQkJCQkJCWJyZWFrOw0KCQkJCQl9DQoJCQkJCWlmIChiU2hv
dykNCgkJCQkJew0KCQkJCQkJc2VsZWN0T2JqZWN0Lm9wdGlvbnMuYWRkKGFsbE9w
dGlvbnNbaW5kZXhdLm9wdGlvbik7DQoJCQkJCQlpZiAoYlNlbGVjdCkNCgkJCQkJ
CXsNCgkJCQkJCQlhbGxPcHRpb25zW2luZGV4XS5vcHRpb24uc2VsZWN0ZWQgPSB0
cnVlOw0KCQkJCQkJfQ0KCQkJCQkJZWxzZQ0KCQkJCQkJew0KCQkJCQkJCWlmIChx
dWVzdGlvbi5nZXRRdWVzdGlvblR5cGUoKSA9PSAiQ0hPSUNFLUxJU1QiKQ0KCQkJ
CQkJCXsNCgkJCQkJCQkJdmFyIGhhc05vU2VsZWN0ZWRPcHRpb24gPSB0cnVlOw0K
CQkJCQkJCQlmb3IgKHZhciBpID0gMDsgaSA8IGFsbE9wdGlvbnMubGVuZ3RoOyBp
KyspDQoJCQkJCQkJCXsNCgkJCQkJCQkJCWlmIChhbGxPcHRpb25zW2ldLm9wdGlv
bi5zZWxlY3RlZCAmJiBpICE9IGluZGV4KQ0KCQkJCQkJCQkJew0KCQkJCQkJCQkJ
CWhhc05vU2VsZWN0ZWRPcHRpb24gPSBmYWxzZTsNCgkJCQkJCQkJCQlicmVhazsN
CgkJCQkJCQkJCX0NCgkJCQkJCQkJfQ0KCQkJCQkJCQlzZWxlY3RPYmplY3Qub3B0
aW9uc1swXS5zZWxlY3RlZCA9IGhhc05vU2VsZWN0ZWRPcHRpb24gPyB0cnVlIDog
ZmFsc2U7DQoJCQkJCQkJfQ0KCQkJCQkJCWFsbE9wdGlvbnNbaW5kZXhdLm9wdGlv
bi5zZWxlY3RlZCA9IGZhbHNlOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KDQoJ
CQkJaWYgKHNlbGVjdE9iamVjdC5vcHRpb25zLmxlbmd0aCA9PSAwIHx8IG9wdGlv
bnMubGVuZ3RoID09IDEgJiYgb3B0aW9uc1swXS52YWx1ZSA9PSAtMSkNCgkJCQl7
DQoJCQkJCXF1ZXN0aW9uLm5lZWRIaWRlID0gdHJ1ZTsNCgkJCQl9DQoJCQl9DQoN
CgkJCWZ1bmN0aW9uIGdldE9wdGlvblRleHQoZSkNCgkJCXsNCgkJCQlyZXR1cm4g
ZS5zZWxlY3RlZCA/IGUudGV4dCA6IG51bGw7DQoJCQl9DQoNCgkJCWZ1bmN0aW9u
IGdldE9wdGlvblZhcmlhYmxlKGluZGV4KQ0KCQkJew0KCQkJCXZhciBlID0gb3B0
aW9uc1tpbmRleF07DQoNCgkJCQl2YXIgdmFyaWFibGUgPSBlLmdldEF0dHJpYnV0
ZSgidmFyIik7DQoNCgkJCQlpZiAodmFyaWFibGUgIT0gbnVsbCAmJiB2YXJpYWJs
ZSAhPSAiIikNCgkJCQl7DQoJCQkJCXJldHVybiB7IG5hbWU6IHZhcmlhYmxlLCB2
YWx1ZTogZ2V0T3B0aW9uVGV4dChlKSB9Ow0KCQkJCX0NCg0KCQkJCXJldHVybiBu
dWxsOw0KCQkJfQ0KDQoJCQlmdW5jdGlvbiBnZXRRdWVzdGlvblZhcmlhYmxlKCkN
CgkJCXsNCgkJCQl2YXIgdmFyaWFibGUgPSBxdWVzdGlvbi5kb21PYmplY3QuZ2V0
QXR0cmlidXRlKCJ2YXIiKTsNCg0KCQkJCWlmICh2YXJpYWJsZSAhPSBudWxsICYm
IHZhcmlhYmxlICE9ICIiKQ0KCQkJCXsNCgkJCQkJdmFyIHZhbHVlID0gIiI7DQoJ
CQkJCWZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBvcHRpb25zLmxlbmd0aDsg
KytpbmRleCkNCgkJCQkJew0KCQkJCQkJdmFyIGUgPSBvcHRpb25zW2luZGV4XTsN
CgkJCQkJCWlmIChlLnNlbGVjdGVkKQ0KCQkJCQkJew0KCQkJCQkJCXZhbHVlICs9
ICIsIiArIGdldE9wdGlvblRleHQoZSk7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQkJ
cmV0dXJuIHsgbmFtZTogdmFyaWFibGUsIHZhbHVlOiB2YWx1ZS5sZW5ndGggPiAx
ID8gdmFsdWUuc3Vic3RyaW5nKDEpIDogbnVsbCB9Ow0KCQkJCX0NCg0KCQkJCXJl
dHVybiBudWxsOw0KCQkJfQ0KDQoJCQl0aGlzLnBvcHVsYXRlVmFyaWFibGVzID0g
ZnVuY3Rpb24gKCkNCgkJCXsNCgkJCQl2YXIgdmFyaWFibGVzID0gW107DQoNCgkJ
CQl2YXIgcXVlc3Rpb25WYXJpYWJsZSA9IGdldFF1ZXN0aW9uVmFyaWFibGUoKTsN
CgkJCQlpZiAocXVlc3Rpb25WYXJpYWJsZSAhPSBudWxsKQ0KCQkJCXsNCgkJCQkJ
dmFyaWFibGVzW3F1ZXN0aW9uVmFyaWFibGUubmFtZV0gPSBxdWVzdGlvblZhcmlh
YmxlLnZhbHVlOw0KCQkJCX0NCg0KCQkJCWZvciAodmFyIGluZGV4ID0gMDsgaW5k
ZXggPCBvcHRpb25zLmxlbmd0aDsgKytpbmRleCkNCgkJCQl7DQoJCQkJCXZhciBv
cHRpb25WYXJpYWJsZSA9IGdldE9wdGlvblZhcmlhYmxlKGluZGV4KTsNCg0KCQkJ
CQlpZiAob3B0aW9uVmFyaWFibGUgIT0gbnVsbCkNCgkJCQkJew0KCQkJCQkJdmFy
aWFibGVzW29wdGlvblZhcmlhYmxlLm5hbWVdID0gb3B0aW9uVmFyaWFibGUudmFs
dWU7DQoJCQkJCX0NCgkJCQl9DQoNCgkJCQlyZXR1cm4gdmFyaWFibGVzOw0KCQkJ
fQ0KDQoJCQl0aGlzLmdldE9wdGlvbkJ5SWQgPSBmdW5jdGlvbiAob3B0aW9uSWQp
DQoJCQl7DQoJCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBxdWVzdGlvbi5lbGVtZW50
cy5sZW5ndGg7ICsraSkNCgkJCQl7DQoJCQkJCXZhciBlbGVtZW50ID0gcXVlc3Rp
b24uZWxlbWVudHNbaV07DQoJCQkJCWZvciAodmFyIGogPSAwOyBqIDwgZWxlbWVu
dC5vcHRpb25zLmxlbmd0aDsgKytqKQ0KCQkJCQl7DQoJCQkJCQlpZiAoZWxlbWVu
dC5vcHRpb25zW2pdLmlkID09IG9wdGlvbklkKQ0KCQkJCQkJew0KCQkJCQkJCXJl
dHVybiBlbGVtZW50Lm9wdGlvbnNbal07DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9
DQoNCgkJCQlyZXR1cm4gbnVsbDsNCgkJCX0NCg0KCQkJZnVuY3Rpb24gaXNGaXhl
ZChvcHRpb24pDQoJCQl7DQoJCQkJcmV0dXJuIChvcHRpb24udmFsdWUgPT0gIi0x
IiB8fCBvcHRpb24uZ2V0QXR0cmlidXRlKCJmaXhlZCIpID09ICIxIik7DQoJCQl9
DQoNCgkJCXRoaXMucmFuZG9taXplID0gZnVuY3Rpb24gKCkNCgkJCXsNCgkJCQlp
ZiAocXVlc3Rpb24ubmVlZFJhbmRvbWl6YXRpb24oKSkNCgkJCQl7DQoJCQkJCXZh
ciByYW5kb21pemVkT3B0aW9ucyA9IFtdOw0KCQkJCQl2YXIgbm9uRml4ZWRPcHRp
b25zID0gW107DQoNCgkJCQkJZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IGFs
bE9wdGlvbnMubGVuZ3RoOyArK2luZGV4KQ0KCQkJCQl7DQoJCQkJCQlpZiAoaXNG
aXhlZChhbGxPcHRpb25zW2luZGV4XS5vcHRpb24pKQ0KCQkJCQkJew0KCQkJCQkJ
CXJhbmRvbWl6ZWRPcHRpb25zW2luZGV4XSA9IGFsbE9wdGlvbnNbaW5kZXhdOw0K
CQkJCQkJfQ0KCQkJCQkJZWxzZQ0KCQkJCQkJew0KCQkJCQkJCW5vbkZpeGVkT3B0
aW9ucy5wdXNoKGFsbE9wdGlvbnNbaW5kZXhdKTsNCgkJCQkJCX0NCgkJCQkJfQ0K
DQoJCQkJCVV0aWxzLnJhbmRvbWl6ZShub25GaXhlZE9wdGlvbnMpOw0KDQoJCQkJ
CWZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBhbGxPcHRpb25zLmxlbmd0aDsg
KytpbmRleCkNCgkJCQkJew0KCQkJCQkJaWYgKHJhbmRvbWl6ZWRPcHRpb25zW2lu
ZGV4XSA9PSBudWxsKQ0KCQkJCQkJew0KCQkJCQkJCWFsbE9wdGlvbnNbaW5kZXhd
ID0gbm9uRml4ZWRPcHRpb25zLnNoaWZ0KCk7DQoJCQkJCQl9DQoJCQkJCX0NCgkJ
CQl9DQoJCQl9DQoNCgkJCXRoaXMuZ2V0QW5zd2VycyA9IGZ1bmN0aW9uICgpDQoJ
CQl7DQoJCQkJdmFyIGFuc3dlcnMgPSBbXTsNCg0KCQkJCWZvciAodmFyIGluZGV4
ID0gMDsgaW5kZXggPCBvcHRpb25zLmxlbmd0aDsgKytpbmRleCkNCgkJCQl7DQoJ
CQkJCXZhciBvcHRpb24gPSBvcHRpb25zW2luZGV4XTsNCgkJCQkJaWYgKG9wdGlv
bi5zZWxlY3RlZCAmJiBvcHRpb24uaWQgIT0gIiIgJiYgb3B0aW9uLnZhbHVlICE9
ICIiICYmIG9wdGlvbi52YWx1ZSAhPSAtMSkNCgkJCQkJew0KCQkJCQkJYW5zd2Vy
cy5wdXNoKHsgaWQ6IG9wdGlvbi5pZCwgdmFsdWU6IG9wdGlvbi52YWx1ZSwgdGV4
dDogb3B0aW9uLnRleHQgPyBvcHRpb24udGV4dCA6ICIiIH0pOw0KCQkJCQl9DQoJ
CQkJfQ0KDQoJCQkJcmV0dXJuIGFuc3dlcnM7DQoJCQl9DQoNCgkJCXZhciBzdGF0
ZXMgPSBudWxsOw0KDQoJCQl0aGlzLnNhdmUgPSBmdW5jdGlvbiAoKQ0KCQkJew0K
CQkJCXN0YXRlcyA9IFtdOw0KDQoJCQkJc3RhdGVzLnNlbGVjdGVkSW5kZXggPSBz
ZWxlY3RPYmplY3Quc2VsZWN0ZWRJbmRleDsNCg0KCQkJCWZvciAodmFyIGluZGV4
ID0gMDsgaW5kZXggPCBhbGxPcHRpb25zLmxlbmd0aDsgKytpbmRleCkNCgkJCQl7
DQoJCQkJCXN0YXRlcy5wdXNoKGFsbE9wdGlvbnNbaW5kZXhdLm9wdGlvbi5zZWxl
Y3RlZCk7DQoJCQkJfQ0KCQkJfQ0KDQoJCQl0aGlzLnJlc3RvcmUgPSBmdW5jdGlv
biAoKQ0KCQkJew0KCQkJCXNlbGVjdE9iamVjdC5zZWxlY3RlZEluZGV4ID0gc3Rh
dGVzLnNlbGVjdGVkSW5kZXg7DQoNCgkJCQlmb3IgKHZhciBpbmRleCA9IDA7IGlu
ZGV4IDwgYWxsT3B0aW9ucy5sZW5ndGg7ICsraW5kZXgpDQoJCQkJew0KCQkJCQlh
bGxPcHRpb25zW2luZGV4XS5vcHRpb24uc2VsZWN0ZWQgPSBzdGF0ZXNbaW5kZXhd
Ow0KCQkJCX0NCgkJCX0NCgkJfQ0KCX07DQoNCglNUy5TdXBwb3J0LkZtcy5CcmFu
Y2hSdWxlID0gZnVuY3Rpb24gKG9wdGlvbklkLCBvcHRpb25WYWx1ZSwgdGFyZ2V0
KQ0KCXsNCgkJdGhpcy5vcHRpb25JZCA9IG9wdGlvbklkOw0KCQl0aGlzLm9wdGlv
blZhbHVlID0gb3B0aW9uVmFsdWU7DQoJCXRoaXMudGFyZ2V0ID0gdGFyZ2V0Ow0K
DQoJCXRoaXMubWF0Y2ggPSBmdW5jdGlvbiAoZWxlbWVudCkNCgkJew0KCQkJaWYg
KChlbGVtZW50LnZpc2libGUgJiYgZWxlbWVudC5jaGVja2VkKSB8fCBlbGVtZW50
LnNlbGVjdGVkKQ0KCQkJew0KCQkJCWlmICh0eXBlb2YgKG9wdGlvbklkKSAhPSAi
dW5kZWZpbmVkIiAmJiBvcHRpb25JZCAhPSBudWxsKQ0KCQkJCXsNCgkJCQkJaWYg
KGVsZW1lbnQuaWQgPT0gb3B0aW9uSWQpDQoJCQkJCXsNCgkJCQkJCWlmICh0eXBl
b2YgKG9wdGlvblZhbHVlKSAhPSAidW5kZWZpbmVkIiAmJiBvcHRpb25WYWx1ZSAh
PSBudWxsKQ0KCQkJCQkJew0KCQkJCQkJCWlmIChlbGVtZW50LnZhbHVlID09IG9w
dGlvblZhbHVlKQ0KCQkJCQkJCXsNCgkJCQkJCQkJcmV0dXJuIHRhcmdldDsNCgkJ
CQkJCQl9DQoJCQkJCQl9DQoJCQkJCQllbHNlDQoJCQkJCQl7DQoJCQkJCQkJcmV0
dXJuIHRhcmdldDsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCX0NCgkJCQllbHNlDQoJ
CQkJew0KCQkJCQlyZXR1cm4gdGFyZ2V0Ow0KCQkJCX0NCgkJCX0NCgkJCWVsc2Ug
aWYgKGVsZW1lbnQub3B0aW9ucyAhPSBudWxsKQ0KCQkJew0KCQkJCWZvciAodmFy
IGluZGV4ID0gMDsgaW5kZXggPCBlbGVtZW50Lm9wdGlvbnMubGVuZ3RoOyArK2lu
ZGV4KQ0KCQkJCXsNCgkJCQkJaWYgKHRhcmdldCA9PSB0aGlzLm1hdGNoKGVsZW1l
bnQub3B0aW9uc1tpbmRleF0pKQ0KCQkJCQl7DQoJCQkJCQlyZXR1cm4gdGFyZ2V0
Ow0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KDQoJCQlyZXR1cm4gLTE7DQoJCX0NCgl9
DQoNCglNUy5TdXBwb3J0LkZtcy5Db25kaXRpb24gPSBmdW5jdGlvbiAocGFnZUlk
LCBxdWVzdGlvbklkLCBvcHRpb25JZCwgb3B0aW9uVmFsdWUpDQoJew0KCQl0aGlz
LmdldFBhZ2VJZCA9IGZ1bmN0aW9uICgpDQoJCXsNCgkJCXJldHVybiBwYWdlSWQ7
DQoJCX0NCg0KCQl0aGlzLmdldFF1ZXN0aW9uSWQgPSBmdW5jdGlvbiAoKQ0KCQl7
DQoJCQlyZXR1cm4gcXVlc3Rpb25JZDsNCgkJfQ0KDQoJCXRoaXMuZ2V0T3B0aW9u
SWQgPSBmdW5jdGlvbiAoKQ0KCQl7DQoJCQlyZXR1cm4gb3B0aW9uSWQ7DQoJCX0N
Cg0KCQl0aGlzLmdldE9wdGlvblZhbHVlID0gZnVuY3Rpb24gKCkNCgkJew0KCQkJ
cmV0dXJuIG9wdGlvblZhbHVlOw0KCQl9DQoNCgkJdGhpcy5ldmFsdWF0ZSA9IGZ1
bmN0aW9uIChzdXJ2ZXkpDQoJCXsNCgkJCXZhciBwYWdlID0gc3VydmV5LmdldFBh
Z2VCeUlkKHBhZ2VJZCk7DQoJCQlpZiAocGFnZSAmJiBwYWdlLm1vZGlmaWVkKQ0K
CQkJew0KCQkJCXZhciBxdWVzdGlvbiA9IHBhZ2UuZ2V0UXVlc3Rpb25CeUlkKHF1
ZXN0aW9uSWQpOw0KCQkJCWlmIChxdWVzdGlvbikNCgkJCQl7DQoJCQkJCXZhciBv
cHRpb24gPSBxdWVzdGlvbi5nZXRPcHRpb25CeUlkKG9wdGlvbklkKTsNCgkJCQkJ
aWYgKG9wdGlvbikNCgkJCQkJew0KCQkJCQkJaWYgKCgob3B0aW9uLnZpc2libGUg
JiYgb3B0aW9uLmNoZWNrZWQpICYmICgocXVlc3Rpb24uZ2V0UXVlc3Rpb25UeXBl
KCkgIT0gIkNIT0lDRS1TRVEiICYmIHF1ZXN0aW9uLmdldFF1ZXN0aW9uVHlwZSgp
ICE9ICJDSE9JQ0UtSE9SIikgfHwgb3B0aW9uLnZhbHVlID09IG9wdGlvblZhbHVl
KSkgfHwgb3B0aW9uLnNlbGVjdGVkKQ0KCQkJCQkJew0KCQkJCQkJCXJldHVybiB0
cnVlOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KDQoJCQlyZXR1cm4g
ZmFsc2U7DQoJCX0NCgl9DQoNCglNUy5TdXBwb3J0LkZtcy5Db250ZXh0QnJhbmNo
UnVsZUNvbmRpdGlvbiA9IGZ1bmN0aW9uIChjb250ZXh0TmFtZSwgY29tcGFyaXNv
bk9wZXJhdG9yLCBleHBlY3RlZFZhbHVlKQ0KCXsNCgkJdGhpcy5jb250ZXh0TmFt
ZSA9IGNvbnRleHROYW1lOw0KCQl0aGlzLmNvbXBhcmlzb25PcGVyYXRvciA9IGNv
bXBhcmlzb25PcGVyYXRvcjsNCgkJdGhpcy5leHBlY3RlZFZhbHVlID0gZXhwZWN0
ZWRWYWx1ZTsNCg0KCQlpZiAodHlwZW9mIE1TLlN1cHBvcnQuRm1zLkNvbnRleHRC
cmFuY2hSdWxlQ29uZGl0aW9uLmV2YWx1YXRvcnMgPT0gInVuZGVmaW5lZCIpDQoJ
CXsNCgkJCU1TLlN1cHBvcnQuRm1zLkNvbnRleHRCcmFuY2hSdWxlQ29uZGl0aW9u
LmNyZWF0ZVJlZ2V4cCA9IGZ1bmN0aW9uIChzdHIpDQoJCQl7DQoJCQkJdmFyIGkg
PSBzdHIubGFzdEluZGV4T2YoIi8iKTsNCgkJCQl2YXIgcmUgPSBudWxsOw0KCQkJ
CXRyeQ0KCQkJCXsNCgkJCQkJcmUgPSBuZXcgUmVnRXhwKHN0ci5zdWJzdHJpbmco
MSwgaSksIHN0ci5zdWJzdHJpbmcoaSArIDEpKTsNCgkJCQl9DQoJCQkJY2F0Y2gg
KGVycikNCgkJCQl7DQoJCQkJCXJldHVybiBudWxsOw0KCQkJCX0NCg0KCQkJCXJl
dHVybiByZTsNCgkJCX07DQoNCgkJCU1TLlN1cHBvcnQuRm1zLkNvbnRleHRCcmFu
Y2hSdWxlQ29uZGl0aW9uLmV2YWx1YXRvcnMgPSB7DQoJCQkJIj0iOiBmdW5jdGlv
biAodmFsLCBleHBlY3RlZFZhbHVlKQ0KCQkJCXsNCgkJCQkJcmV0dXJuIHZhbC50
b1N0cmluZygpID09PSBleHBlY3RlZFZhbHVlOw0KCQkJCX0sDQoJCQkJIjw+Ijog
ZnVuY3Rpb24gKHZhbCwgZXhwZWN0ZWRWYWx1ZSkNCgkJCQl7DQoJCQkJCXJldHVy
biB2YWwudG9TdHJpbmcoKSAhPT0gZXhwZWN0ZWRWYWx1ZTsNCgkJCQl9LA0KCQkJ
CSI+IjogZnVuY3Rpb24gKHZhbCwgZXhwZWN0ZWRWYWx1ZSkNCgkJCQl7DQoJCQkJ
CXJldHVybiB2YWwudG9TdHJpbmcoKSA+IGV4cGVjdGVkVmFsdWU7DQoJCQkJfSwN
CgkJCQkiPCI6IGZ1bmN0aW9uICh2YWwsIGV4cGVjdGVkVmFsdWUpDQoJCQkJew0K
CQkJCQlyZXR1cm4gdmFsLnRvU3RyaW5nKCkgPCBleHBlY3RlZFZhbHVlOw0KCQkJ
CX0sDQoJCQkJIj49IjogZnVuY3Rpb24gKHZhbCwgZXhwZWN0ZWRWYWx1ZSkNCgkJ
CQl7DQoJCQkJCXJldHVybiB2YWwudG9TdHJpbmcoKSA+PSBleHBlY3RlZFZhbHVl
Ow0KCQkJCX0sDQoJCQkJIjw9IjogZnVuY3Rpb24gKHZhbCwgZXhwZWN0ZWRWYWx1
ZSkNCgkJCQl7DQoJCQkJCXJldHVybiB2YWwudG9TdHJpbmcoKSA8PSBleHBlY3Rl
ZFZhbHVlOw0KCQkJCX0sDQoJCQkJIkNvbnRhaW5zIjogZnVuY3Rpb24gKHZhbCwg
ZXhwZWN0ZWRWYWx1ZSkNCgkJCQl7DQoJCQkJCXJldHVybiB2YWwudG9TdHJpbmco
KS5pbmRleE9mKGV4cGVjdGVkVmFsdWUpICE9PSAtMTsNCgkJCQl9LA0KCQkJCSJO
b3QgQ29udGFpbiI6IGZ1bmN0aW9uICh2YWwsIGV4cGVjdGVkVmFsdWUpDQoJCQkJ
ew0KCQkJCQlyZXR1cm4gdmFsLnRvU3RyaW5nKCkuaW5kZXhPZihleHBlY3RlZFZh
bHVlKSA9PT0gLTE7DQoJCQkJfSwNCgkJCQkiU3RhcnRzIFdpdGgiOiBmdW5jdGlv
biAodmFsLCBleHBlY3RlZFZhbHVlKQ0KCQkJCXsNCgkJCQkJcmV0dXJuIHZhbC50
b1N0cmluZygpLmluZGV4T2YoZXhwZWN0ZWRWYWx1ZSkgPT09IDA7DQoJCQkJfSwN
CgkJCQkiTm90IFN0YXJ0IFdpdGgiOiBmdW5jdGlvbiAodmFsLCBleHBlY3RlZFZh
bHVlKQ0KCQkJCXsNCgkJCQkJcmV0dXJuIHZhbC50b1N0cmluZygpLmluZGV4T2Yo
ZXhwZWN0ZWRWYWx1ZSkgIT09IDA7DQoJCQkJfSwNCgkJCQkiRW5kcyBXaXRoIjog
ZnVuY3Rpb24gKHZhbCwgZXhwZWN0ZWRWYWx1ZSkNCgkJCQl7DQoJCQkJCXZhbCA9
IHZhbC50b1N0cmluZygpOw0KCQkJCQl2YXIgaSA9IHZhbC5sYXN0SW5kZXhPZihl
eHBlY3RlZFZhbHVlKTsNCgkJCQkJcmV0dXJuIGkgIT09IC0xICYmIGkgPT09ICh2
YWwubGVuZ3RoIC0gZXhwZWN0ZWRWYWx1ZS5sZW5ndGgpOw0KCQkJCX0sDQoJCQkJ
Ik5vdCBFbmQgV2l0aCI6IGZ1bmN0aW9uICh2YWwsIGV4cGVjdGVkVmFsdWUpDQoJ
CQkJew0KCQkJCQl2YWwgPSB2YWwudG9TdHJpbmcoKTsNCgkJCQkJdmFyIGkgPSB2
YWwubGFzdEluZGV4T2YoZXhwZWN0ZWRWYWx1ZSk7DQoJCQkJCXJldHVybiBpID09
PSAtMSB8fCB2YWwubGFzdEluZGV4T2YoZXhwZWN0ZWRWYWx1ZSkgIT09ICh2YWwu
bGVuZ3RoIC0gZXhwZWN0ZWRWYWx1ZS5sZW5ndGgpOw0KCQkJCX0sDQoJCQkJIk1h
dGNoZXMiOiBmdW5jdGlvbiAodmFsLCBleHBlY3RlZFZhbHVlKQ0KCQkJCXsNCgkJ
CQkJdmFyIHJlID0gTVMuU3VwcG9ydC5GbXMuQ29udGV4dEJyYW5jaFJ1bGVDb25k
aXRpb24uY3JlYXRlUmVnZXhwKGV4cGVjdGVkVmFsdWUpOw0KCQkJCQlyZXR1cm4g
cmUgPyByZS50ZXN0KHZhbC50b1N0cmluZygpKSA6IGZhbHNlOw0KCQkJCX0sDQoJ
CQkJIk5vdCBNYXRjaCI6IGZ1bmN0aW9uICh2YWwsIGV4cGVjdGVkVmFsdWUpDQoJ
CQkJew0KCQkJCQl2YXIgcmUgPSBNUy5TdXBwb3J0LkZtcy5Db250ZXh0QnJhbmNo
UnVsZUNvbmRpdGlvbi5jcmVhdGVSZWdleHAoZXhwZWN0ZWRWYWx1ZSk7DQoJCQkJ
CXJldHVybiByZSA/ICEocmUudGVzdCh2YWwudG9TdHJpbmcoKSkpIDogZmFsc2U7
DQoJCQkJfSwNCgkJCQkiRXhpc3RzIjogZnVuY3Rpb24gKHZhbCwgZXhwZWN0ZWRW
YWx1ZSkNCgkJCQl7DQoJCQkJCXJldHVybiB0eXBlb2YgdmFsICE9ICd1bmRlZmlu
ZWQnICYmIHZhbCAhPSBudWxsOw0KCQkJCX0sDQoJCQkJIk5vdCBFeGlzdCI6IGZ1
bmN0aW9uICh2YWwsIGV4cGVjdGVkVmFsdWUpDQoJCQkJew0KCQkJCQlyZXR1cm4g
dHlwZW9mIHZhbCA9PSAndW5kZWZpbmVkJyB8fCB2YWwgPT0gbnVsbDsNCgkJCQl9
DQoJCQl9Ow0KCQl9DQoNCgkJdGhpcy5ldmFsdWF0ZSA9IGZ1bmN0aW9uIChjb250
ZXh0KQ0KCQl7DQoJCQlpZiAoY29udGV4dCA9PSBudWxsKQ0KCQkJew0KCQkJCXJl
dHVybiBmYWxzZTsNCgkJCX0NCg0KCQkJdmFyIHZhbCA9IGNvbnRleHRbdGhpcy5j
b250ZXh0TmFtZV07DQoJCQlpZiAoKHR5cGVvZiB2YWwgPT0gInVuZGVmaW5lZCIg
fHwgdmFsID09IG51bGwpICYmIHRoaXMuY29tcGFyaXNvbk9wZXJhdG9yICE9ICJF
eGlzdHMiICYmIHRoaXMuY29tcGFyaXNvbk9wZXJhdG9yICE9ICJOb3QgRXhpc3Qi
KQ0KCQkJew0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0NCg0KCQkJdmFyIGV2YWx1
YXRvciA9IE1TLlN1cHBvcnQuRm1zLkNvbnRleHRCcmFuY2hSdWxlQ29uZGl0aW9u
LmV2YWx1YXRvcnNbdGhpcy5jb21wYXJpc29uT3BlcmF0b3JdOw0KCQkJcmV0dXJu
IGV2YWx1YXRvciA/IGV2YWx1YXRvcih2YWwsIHRoaXMuZXhwZWN0ZWRWYWx1ZSkg
OiBmYWxzZTsNCgkJfQ0KCX0NCg0KCU1TLlN1cHBvcnQuRm1zLkNvbXBvdW5kaW5n
QnJhbmNoUnVsZSA9IGZ1bmN0aW9uIChuZXh0UGFnZUlkLCBwcm9iYWJpbGl0eSkN
Cgl7DQoJCXRoaXMuY29uZGl0aW9ucyA9IFtdOw0KCQl0aGlzLmNvbnRleHRDb25k
aXRpb25zID0gW107DQoJCXRoaXMubmV4dFBhZ2VJZCA9IG5leHRQYWdlSWQ7DQoJ
CXRoaXMucHJvYmFiaWxpdHkgPSBwcm9iYWJpbGl0eTsNCg0KCQl0aGlzLmFkZENv
bmRpdGlvbnMgPSBmdW5jdGlvbiAoY2JycykNCgkJew0KCQkJZm9yICh2YXIgbiA9
IDA7IG4gPCBjYnJzLmxlbmd0aCAtIDE7IG4rKykNCgkJCXsNCgkJCQl2YXIgZGF0
YXMgPSBjYnJzW25dLnNwbGl0KCItIik7DQoJCQkJdmFyIHNvdXJjZVBhZ2VJZCA9
IHBhcnNlSW50KGRhdGFzWzBdKTsNCgkJCQl2YXIgcXVlc3Rpb25JZCA9IHBhcnNl
SW50KGRhdGFzWzFdKTsNCgkJCQl2YXIgb3B0aW9uSWQgPSBwYXJzZUludChkYXRh
c1syXSk7DQoJCQkJdmFyIG9wdGlvblZhbHVlID0gcGFyc2VJbnQoZGF0YXNbM10p
Ow0KCQkJCXRoaXMuY29uZGl0aW9ucy5wdXNoKG5ldyBNUy5TdXBwb3J0LkZtcy5D
b25kaXRpb24oc291cmNlUGFnZUlkLCBxdWVzdGlvbklkLCBvcHRpb25JZCwgb3B0
aW9uVmFsdWUpKTsNCgkJCX0NCg0KCQl9DQoNCgkJdGhpcy5hZGRDb250ZXh0Q29u
ZGl0aW9ucyA9IGZ1bmN0aW9uIChjbmJycykNCgkJew0KCQkJZm9yICh2YXIgbiA9
IDA7IG4gPCBjbmJycy5sZW5ndGg7IG4rKykNCgkJCXsNCgkJCQl2YXIgY25iciA9
IGNuYnJzW25dOw0KCQkJCXZhciBjb250ZXh0TmFtZSA9IGNuYnIuZ2V0QXR0cmli
dXRlKCdkYXRhLWNuYW1lJyk7DQoJCQkJdmFyIGNvbXBhcmlzaW9uT3BlcmF0b3Ig
PSBjbmJyLmdldEF0dHJpYnV0ZSgnZGF0YS1jb3BlcicpOw0KCQkJCXZhciBleHBl
Y3RlZFZhbHVlID0gY25ici5nZXRBdHRyaWJ1dGUoJ2RhdGEtY3ZhbCcpOw0KCQkJ
CXRoaXMuY29udGV4dENvbmRpdGlvbnMucHVzaChuZXcgTVMuU3VwcG9ydC5GbXMu
Q29udGV4dEJyYW5jaFJ1bGVDb25kaXRpb24oY29udGV4dE5hbWUsIGNvbXBhcmlz
aW9uT3BlcmF0b3IsIGV4cGVjdGVkVmFsdWUpKTsNCgkJCX0NCgkJfQ0KDQoJCXRo
aXMuZXZhbHVhdGUgPSBmdW5jdGlvbiAoc3VydmV5LCBjb250ZXh0KQ0KCQl7DQoJ
CQlmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuY29uZGl0aW9ucy5sZW5ndGg7ICsr
aSkNCgkJCXsNCgkJCQlpZiAoIXRoaXMuY29uZGl0aW9uc1tpXS5ldmFsdWF0ZShz
dXJ2ZXkpKQ0KCQkJCXsNCgkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCX0NCgkJCX0N
Cg0KCQkJZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmNvbnRleHRDb25kaXRpb25z
Lmxlbmd0aDsgKytpKQ0KCQkJew0KCQkJCWlmICghdGhpcy5jb250ZXh0Q29uZGl0
aW9uc1tpXS5ldmFsdWF0ZShjb250ZXh0KSkNCgkJCQl7DQoJCQkJCXJldHVybiBm
YWxzZTsNCgkJCQl9DQoJCQl9DQoJCQkvLyBpZiBoaXQgdGhlIHByb2JhYmlsaXR5
LCByZXR1cm4gdHJ1ZQ0KCQkJLy8gZWxzZSByZXR1cm4gZmFsc2UNCgkJCWlmIChp
c05hTih0aGlzLnByb2JhYmlsaXR5KSB8fCB0aGlzLnByb2JhYmlsaXR5IDwgMCkN
CgkJCXsNCgkJCQlyZXR1cm4gdHJ1ZTsNCgkJCX0NCgkJCWVsc2UgaWYgKHRoaXMu
cHJvYmFiaWxpdHkgPiAwICYmIE1hdGgucmFuZG9tKCkgKiAxMDAgPD0gdGhpcy5w
cm9iYWJpbGl0eSkNCgkJCXsNCgkJCQlyZXR1cm4gdHJ1ZTsNCgkJCX0NCgkJCWVs
c2UNCgkJCXsNCgkJCQlyZXR1cm4gZmFsc2U7DQoJCQl9DQoJCQlyZXR1cm4gdHJ1
ZTsNCgkJfQ0KCX0NCg0KCU1TLlN1cHBvcnQuRm1zLkV4cHJlc3Npb25XcmFwcGVy
ID0gZnVuY3Rpb24gKGV4cHJlc3Npb24sIHN1cnZleSkNCgl7DQoJCXZhciB2YXJp
YWJsZXMgPSBzdXJ2ZXkuZ2V0VmFyaWFibGVzKCk7DQoJCXZhciBjb250ZXh0ID0g
c3VydmV5LmdldENvbnRleHQoKTsNCgkJdmFyIHVybFBhcmFtZXRlcnMgPSBzdXJ2
ZXkudXJsUGFyYW1ldGVyczsNCg0KCQl2YXIgcmVGdW5jID0gLygoQU5EfE9SfE5P
VHxNYXRjaHxnZXRWYXJpYWJsZXxnZXRDb250ZXh0fEdyZWF0ZXJUaGFufExlc3NU
aGFufEdyZWF0ZXJUaGFuT3JFcXVhbHxMZXNzVGhhbk9yRXF1YWx8RXF1YWwpXCgp
L2c7DQoJCXZhciByZVZhciA9IC8oe1xAW159XSt9KS9naTsNCgkJdmFyIHJlQ29u
dGV4dCA9IC8oe1wkW159XSt9KS9naTsNCgkJdmFyIHRhZ1N0YXJ0ID0gInsiOw0K
CQl2YXIgdGFnRW5kID0gIn0iOw0KCQl2YXIgdmFyUHJlZml4ID0gIkAiOw0KCQl2
YXIgY29udGV4dFByZWZpeCA9ICIkIjsNCgkJdmFyIHBhcmFtZXRlclByZWZpeCA9
ICIkVXJsOiI7DQoNCgkJdGhpcy5lbmNvZGVWYWx1ZSA9IGZ1bmN0aW9uICh2YWx1
ZSkNCgkJew0KCQkJaWYgKHR5cGVvZiAodmFsdWUpID09ICJ1bmRlZmluZWQiIHx8
IHZhbHVlID09IG51bGwpDQoJCQl7DQoJCQkJcmV0dXJuIHZhbHVlOw0KCQkJfSBl
bHNlDQoJCQl7DQoJCQkJcmV0dXJuIHZhbHVlLnJlcGxhY2UoLyYvZywgIiZhbXA7
IikucmVwbGFjZSgvfS9nLCAiJnJiOyIpLnJlcGxhY2UoL3svZywgIiZsYjsiKTsN
CgkJCX0NCgkJfQ0KDQoJCXRoaXMuZGVjb2RlVmFsdWUgPSBmdW5jdGlvbiAodmFs
dWUpDQoJCXsNCgkJCWlmICh0eXBlb2YgKHZhbHVlKSA9PSAidW5kZWZpbmVkIiB8
fCB2YWx1ZSA9PSBudWxsKQ0KCQkJew0KCQkJCXJldHVybiB2YWx1ZTsNCgkJCX0g
ZWxzZQ0KCQkJew0KCQkJCXJldHVybiB2YWx1ZS5yZXBsYWNlKC8mcmI7L2csICJ9
IikucmVwbGFjZSgvJmxiOy9nLCJ7IikucmVwbGFjZSgvJmFtcDsvZywgIiYiKTsN
CgkJCX0NCgkJfQ0KDQoJCXRoaXMuZ2V0VmFyaWFibGUgPSBmdW5jdGlvbiAodmFy
aWFibGVOYW1lKQ0KCQl7DQoJCQkvL3ZhcmlhYmxlTmFtZSBmb3JtYXQ6IHtAYWJj
fQ0KCQkJdmFyaWFibGVOYW1lID0gdmFyaWFibGVOYW1lLnJlcGxhY2UoL3tcQChb
Xn1dKyl9L2dpLCAiJDEiKTsNCgkJCXJldHVybiB0aGlzLmVuY29kZVZhbHVlKHZh
cmlhYmxlc1t2YXJpYWJsZU5hbWVdKTsNCgkJfQ0KDQoJCXRoaXMuZ2V0Q29udGV4
dCA9IGZ1bmN0aW9uIChjb250ZXh0TmFtZSkNCgkJew0KCQkJLy8gY29udGV4dE5h
bWUgZm9ybWF0OiB7JGFiYyJ9DQoJCQkvLyB1cmxQYXJhbWV0ZXJOYW1lIGZvcm1h
dDogeyRVcmw6YWJjfQ0KCQkJLy9EZWNvZGUgdGhlIGNvbnRleHROYW1lIGlmIHRo
ZXJlIGlzIHNvbWUgZW5jb2RlZCB0YWcgc3ltYm9scyAieyJ8ICJ9Ig0KCQkJaWYg
KGNvbnRleHROYW1lLnN1YnN0cmluZygxLCBwYXJhbWV0ZXJQcmVmaXgubGVuZ3Ro
ICsgMSkgPT0gcGFyYW1ldGVyUHJlZml4KQ0KCQkJew0KCQkJCWNvbnRleHROYW1l
ID0gY29udGV4dE5hbWUucmVwbGFjZSgve1wkVXJsOihbXn1dKyl9L2dpLCAiJDEi
KS5yZXBsYWNlKC9cWzB4N2JcXS9nLCAieyIpLnJlcGxhY2UoL1xbMHg3ZFxdL2cs
ICJ9IikudG9Mb3dlckNhc2UoKTsNCgkJCQlyZXR1cm4gdGhpcy5lbmNvZGVWYWx1
ZSh1cmxQYXJhbWV0ZXJzW2NvbnRleHROYW1lXSk7DQoJCQl9DQoJCQllbHNlDQoJ
CQl7DQoJCQkJY29udGV4dE5hbWUgPSBjb250ZXh0TmFtZS5yZXBsYWNlKC97XCQo
W159XSspfS9naSwgIiQxIikucmVwbGFjZSgvXFsweDdiXF0vZywgInsiKS5yZXBs
YWNlKC9cWzB4N2RcXS9nLCAifSIpOw0KCQkJCXJldHVybiB0aGlzLmVuY29kZVZh
bHVlKGNvbnRleHRbY29udGV4dE5hbWVdKTsNCgkJCX0NCgkJfQ0KDQoJCS8vQ29t
cGF0aWJsZSB3aXRoIG9sZCBzdXJ2ZXkgeG1sIGZvcm1hdC4NCgkJdGhpcy5pc0Rl
ZmluZWQgPSBmdW5jdGlvbiAobmFtZSkNCgkJew0KCQkJcmV0dXJuIHRoaXMuZ2V0
VmFyaWFibGUobmFtZSkgPT0gbnVsbCA/IGZhbHNlIDogdHJ1ZTsNCgkJfQ0KDQoJ
CXRoaXMuTWF0Y2ggPSBmdW5jdGlvbiAobmFtZSwgcGF0dGVybikNCgkJew0KCQkJ
cmV0dXJuIHBhdHRlcm4udGVzdChuYW1lKTsNCgkJfQ0KDQoNCgkJdGhpcy5HcmVh
dGVyVGhhbiA9IGZ1bmN0aW9uIChsZWZ0VmFsdWUsIHJpZ2h0VmFsdWUpDQoJCXsN
CgkJCXJldHVybiBsZWZ0VmFsdWUgPiByaWdodFZhbHVlOw0KCQl9DQoNCgkJdGhp
cy5MZXNzVGhhbiA9IGZ1bmN0aW9uIChsZWZ0VmFsdWUsIHJpZ2h0VmFsdWUpDQoJ
CXsNCgkJCXJldHVybiBsZWZ0VmFsdWUgPCByaWdodFZhbHVlOw0KCQl9DQoNCg0K
CQl0aGlzLkdyZWF0ZXJUaGFuT3JFcXVhbCA9IGZ1bmN0aW9uIChsZWZ0VmFsdWUs
IHJpZ2h0VmFsdWUpDQoJCXsNCgkJCXJldHVybiBsZWZ0VmFsdWUgPj0gcmlnaHRW
YWx1ZTsNCgkJfQ0KDQoNCgkJdGhpcy5MZXNzVGhhbk9yRXF1YWwgPSBmdW5jdGlv
biAobGVmdFZhbHVlLCByaWdodFZhbHVlKQ0KCQl7DQoJCQlyZXR1cm4gbGVmdFZh
bHVlIDw9IHJpZ2h0VmFsdWU7DQoJCX0NCg0KDQoJCXRoaXMuRXF1YWwgPSBmdW5j
dGlvbiAobGVmdFZhbHVlLCByaWdodFZhbHVlKQ0KCQl7DQoJCQlyZXR1cm4gbGVm
dFZhbHVlID09IHJpZ2h0VmFsdWU7DQoJCX0NCg0KCQl0aGlzLkFORCA9IGZ1bmN0
aW9uICgpDQoJCXsNCgkJCWZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBhcmd1
bWVudHMubGVuZ3RoOyArK2luZGV4KQ0KCQkJew0KCQkJCWlmICghYXJndW1lbnRz
W2luZGV4XSkNCgkJCQl7DQoJCQkJCXJldHVybiBmYWxzZTsNCgkJCQl9DQoJCQl9
DQoJCQlyZXR1cm4gdHJ1ZTsNCgkJfQ0KDQoJCXRoaXMuT1IgPSBmdW5jdGlvbiAo
KQ0KCQl7DQoJCQlmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgYXJndW1lbnRz
Lmxlbmd0aDsgKytpbmRleCkNCgkJCXsNCgkJCQlpZiAoYXJndW1lbnRzW2luZGV4
XSkNCgkJCQl7DQoJCQkJCXJldHVybiB0cnVlOw0KCQkJCX0NCgkJCX0NCgkJCXJl
dHVybiBmYWxzZTsNCgkJfQ0KDQoJCXRoaXMuTk9UID0gZnVuY3Rpb24gKHJlc3Vs
dCkNCgkJew0KCQkJcmV0dXJuICFyZXN1bHQ7DQoJCX0NCg0KCQl0aGlzLlRyaW0g
PSBmdW5jdGlvbiAoc3RyKQ0KCQl7DQoJCQlyZXR1cm4gc3RyLnJlcGxhY2UoLyhe
XHMqKXwoXHMqJCkvZywgIiIpLnJlcGxhY2UoL1xyL2csICIiKS5yZXBsYWNlKC9c
bi9nLCAiIikucmVwbGFjZSgvXHQvZywgIiIpOw0KCQl9DQoNCgkJdGhpcy5yZXBs
YWNlU3RhcnRFbmRUYWcgPSBmdW5jdGlvbiAoc3RyKQ0KCQl7DQoJCQl2YXIgZXNj
YXBlU3RhcnRUYWcgPSAiWzB4N2JdIiwgZXNjYXBlRW5kVGFnID0gIlsweDdkXSI7
DQoJCQl2YXIgc3RhcnRJbmRleCA9IHN0ci5pbmRleE9mKCJ7QCIpOw0KCQkJaWYg
KHN0YXJ0SW5kZXggPCAwKQ0KCQkJew0KCQkJCXN0YXJ0SW5kZXggPSBzdHIuaW5k
ZXhPZigieyQiKTsNCgkJCX0NCg0KCQkJdmFyIGVuZEluZGV4ID0gc3RyLmxhc3RJ
bmRleE9mKHRhZ0VuZCk7DQoNCgkJCWlmIChzdGFydEluZGV4IDwgMCB8fCBlbmRJ
bmRleCA8IDApDQoJCQl7DQoJCQkJcmV0dXJuIHN0cjsNCgkJCX0NCgkJCXZhciBz
dGFydCA9IHN0ci5zdWJzdHJpbmcoMCwgc3RhcnRJbmRleCArIDIpOw0KCQkJdmFy
IGVuZCA9IHN0ci5zdWJzdHJpbmcoZW5kSW5kZXgpOw0KDQoJCQl2YXIgdGFnQ29u
dGVudCA9IHN0ci5zdWJzdHJpbmcoc3RhcnRJbmRleCArIDIsIGVuZEluZGV4KTsN
CgkJCXRhZ0NvbnRlbnQgPSB0YWdDb250ZW50LnJlcGxhY2UoL3svZywgZXNjYXBl
U3RhcnRUYWcpLnJlcGxhY2UoL30vZywgZXNjYXBlRW5kVGFnKTsNCgkJCWlmICh0
YWdDb250ZW50ID09IG51bGwgfHwgdGFnQ29udGVudCA9PSAiIikNCgkJCXsNCgkJ
CQlyZXR1cm4gIiI7DQoJCQl9DQoJCQlyZXR1cm4gc3RhcnQgKyB0YWdDb250ZW50
ICsgZW5kOw0KCQl9DQoNCgkJdGhpcy5maWx0ZXJJbnZhbGlkQ2hhcmFjdGVycyA9
IGZ1bmN0aW9uIChleHByZXNzaW9uKQ0KCQl7DQoJCQl2YXIgaW5uZXJTdGFjayA9
IFtdOw0KCQkJdmFyIGluZGV4ID0gMCwgdGVtcCA9IG51bGw7DQoJCQl2YXIgc3Ry
UmV0ID0gIiI7DQoNCgkJCXdoaWxlIChpbmRleCA8IGV4cHJlc3Npb24ubGVuZ3Ro
KQ0KCQkJew0KCQkJCXRlbXAgPSBleHByZXNzaW9uLmNoYXJBdChpbmRleCk7DQoJ
CQkJc3dpdGNoICh0ZW1wKQ0KCQkJCXsNCgkJCQkJY2FzZSB0YWdTdGFydDoNCgkJ
CQkJY2FzZSB0YWdFbmQ6DQoJCQkJCWRlZmF1bHQ6DQoJCQkJCQlpbm5lclN0YWNr
LnB1c2godGVtcCk7DQoJCQkJCQlicmVhazsNCgkJCQkJY2FzZSB2YXJQcmVmaXg6
DQoJCQkJCWNhc2UgY29udGV4dFByZWZpeDoNCgkJCQkJY2FzZSBwYXJhbWV0ZXJQ
cmVmaXg6DQoJCQkJCQlpZiAoaW5uZXJTdGFja1tpbm5lclN0YWNrLmxlbmd0aCAt
IDFdID09IHRhZ1N0YXJ0KQ0KCQkJCQkJew0KCQkJCQkJCWlubmVyU3RhY2tbaW5u
ZXJTdGFjay5sZW5ndGggLSAxXSArPSB0ZW1wOw0KCQkJCQkJCWlmIChpbm5lclN0
YWNrLmxlbmd0aCA+IDEpDQoJCQkJCQkJew0KCQkJCQkJCQlzdHJSZXQgKz0gdGhp
cy5yZXBsYWNlU3RhcnRFbmRUYWcoaW5uZXJTdGFjay5zbGljZSgwLCBpbm5lclN0
YWNrLmxlbmd0aCAtIDEpLmpvaW4oIiIpKTsNCgkJCQkJCQl9DQoJCQkJCQkJaW5u
ZXJTdGFjayA9IGlubmVyU3RhY2suc2xpY2UoaW5uZXJTdGFjay5sZW5ndGggLSAx
KTsNCgkJCQkJCX0NCgkJCQkJCWVsc2UNCgkJCQkJCXsNCgkJCQkJCQlpbm5lclN0
YWNrLnB1c2godGVtcCk7DQoJCQkJCQl9DQoJCQkJCQlicmVhazsNCgkJCQl9DQoJ
CQkJaW5kZXgrKzsNCgkJCX0NCgkJCWlmIChpbm5lclN0YWNrLmxlbmd0aCA+IDAp
DQoJCQl7DQoJCQkJc3RyUmV0ICs9IHRoaXMucmVwbGFjZVN0YXJ0RW5kVGFnKGlu
bmVyU3RhY2suam9pbigiIikpOw0KCQkJfQ0KCQkJcmV0dXJuIHN0clJldDsNCgkJ
fQ0KDQoNCg0KCQlleHByZXNzaW9uID0gdGhpcy5maWx0ZXJJbnZhbGlkQ2hhcmFj
dGVycyh0aGlzLlRyaW0oZXhwcmVzc2lvbikpOw0KCQlleHByZXNzaW9uID0gZXhw
cmVzc2lvbi5yZXBsYWNlKHJlRnVuYywgInRoaXMuJDEiKTsNCgkJZXhwcmVzc2lv
biA9IGV4cHJlc3Npb24ucmVwbGFjZShyZVZhciwgInRoaXMuZ2V0VmFyaWFibGUo
XCIkMVwiKSIpOw0KCQlleHByZXNzaW9uID0gZXhwcmVzc2lvbi5yZXBsYWNlKHJl
Q29udGV4dCwgInRoaXMuZ2V0Q29udGV4dChcIiQxXCIpIik7DQoNCgkJdGhpcy5F
eGVjdXRlID0gbmV3IEZ1bmN0aW9uKCJyZXR1cm4gIiArIGV4cHJlc3Npb24gKyAi
OyIpOw0KCX0NCg0KCU1TLlN1cHBvcnQuRm1zLlJlcGxhY2VhYmxlVGV4dE5vZGUg
PSBmdW5jdGlvbiAocXVlc3Rpb24sIGRvbU9iamVjdCkNCgl7DQoJCXRoaXMucXVl
c3Rpb24gPSBxdWVzdGlvbjsNCgkJdGhpcy5zdXJ2ZXkgPSBxdWVzdGlvbi5zdXJ2
ZXk7DQoJCXRoaXMuZG9tT2JqZWN0ID0gZG9tT2JqZWN0Ow0KDQoJCWZ1bmN0aW9u
IGlzVGV4dEVkaXRvcihlKQ0KCQl7DQoJCQl2YXIgdGFnTmFtZSA9IChlICYmIGUu
dGFnTmFtZSkgPyBlLnRhZ05hbWUudG9Mb3dlckNhc2UoKSA6ICIiOw0KDQoJCQlp
ZiAodGFnTmFtZSA9PSAidGV4dGFyZWEiIHx8ICh0YWdOYW1lID09ICJpbnB1dCIg
JiYgKGUudHlwZS50b0xvd2VyQ2FzZSgpID09ICJ0ZXh0IiB8fCBlLnR5cGUudG9M
b3dlckNhc2UoKSA9PSAibnVtYmVyIiB8fCBlLnR5cGUudG9Mb3dlckNhc2UoKSA9
PSAiZGF0ZSIpKSkNCgkJCXsNCgkJCQlyZXR1cm4gdHJ1ZTsNCgkJCX0NCg0KCQkJ
cmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJZnVuY3Rpb24gaXNUZXh0RWxlbWVudChl
KQ0KCQl7DQoJCQl2YXIgdGFnTmFtZSA9IChlICYmIGUudGFnTmFtZSkgPyBlLnRh
Z05hbWUudG9Mb3dlckNhc2UoKSA6ICIiOw0KDQoJCQlpZiAodGFnTmFtZSA9PSAi
dGV4dGFyZWEiIHx8ICh0YWdOYW1lID09ICJpbnB1dCIgJiYgKGUudHlwZS50b0xv
d2VyQ2FzZSgpID09ICJ0ZXh0IiB8fCBlLnR5cGUudG9Mb3dlckNhc2UoKSA9PSAi
aGlkZGVuIiB8fCBlLnR5cGUudG9Mb3dlckNhc2UoKSA9PSAibnVtYmVyIiB8fCBl
LnR5cGUudG9Mb3dlckNhc2UoKSA9PSAiZGF0ZSIpKSkNCgkJCXsNCgkJCQlyZXR1
cm4gdHJ1ZTsNCgkJCX0NCg0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJZnVu
Y3Rpb24gaXNPcHRpb24oZSkNCgkJew0KCQkJdmFyIHRhZ05hbWUgPSAoZSAmJiBl
LnRhZ05hbWUpID8gZS50YWdOYW1lLnRvTG93ZXJDYXNlKCkgOiAiIjsNCgkJCXJl
dHVybiB0YWdOYW1lID09ICJvcHRpb24iOw0KCQl9DQoNCgkJZnVuY3Rpb24gZ2V0
RG9tVmFsdWUoZSkNCgkJew0KCQkJcmV0dXJuIGlzVGV4dEVsZW1lbnQoZSkgPyBl
LnZhbHVlIDogKGlzT3B0aW9uKGUpID8gZS50ZXh0IDogZS5pbm5lckhUTUwpOw0K
CQl9DQoNCgkJZnVuY3Rpb24gc2V0RG9tVmFsdWUoZSwgdmFsdWUpDQoJCXsNCgkJ
CWlmIChpc1RleHRFbGVtZW50KGUpKQ0KCQkJew0KCQkJCWUudmFsdWUgPSB2YWx1
ZTsNCgkJCX0NCgkJCWVsc2UgaWYgKGlzT3B0aW9uKGUpKQ0KCQkJew0KCQkJCWUu
dGV4dCA9IHZhbHVlOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCWUuaW5uZXJI
VE1MID0gdmFsdWU7DQoJCQl9DQoJCX0NCg0KCQl2YXIgcmVwbGFjZU9uY2UgPSBp
c1RleHRFZGl0b3IoZG9tT2JqZWN0KTsNCgkJdmFyIHJlcGxhY2VDb3VudCA9IDA7
DQoJCXRoaXMub3JpZ2luYWxWYWx1ZSA9IGdldERvbVZhbHVlKGRvbU9iamVjdCk7
DQoJCXRoaXMudmFyaWFibGVzID0gdGhpcy5vcmlnaW5hbFZhbHVlLm1hdGNoKG5l
dyBSZWdFeHAoInsoXFwkKFVybDopP3xAKENvbXBsZXg6XFxzKik/KVtefV0qfSIs
ICJnIikpOw0KDQoJCXRoaXMucmVwbGFjZSA9IGZ1bmN0aW9uICgpDQoJCXsNCgkJ
CWlmIChyZXBsYWNlT25jZSAmJiByZXBsYWNlQ291bnQgPj0gMSkNCgkJCXsNCgkJ
CQlyZXR1cm47DQoJCQl9DQoNCgkJCXZhciB0ZXh0ID0gdGhpcy5vcmlnaW5hbFZh
bHVlOw0KDQoJCQlmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMudmFyaWFibGVzLmxl
bmd0aDsgKytpKQ0KCQkJew0KCQkJCXZhciB2YXJpYWJsZSA9IHRoaXMudmFyaWFi
bGVzW2ldOw0KDQoJCQkJdmFyIHZhcmlhYmxlQ29udGVudCA9IHZhcmlhYmxlLnN1
YnN0cmluZygxLCB2YXJpYWJsZS5sZW5ndGggLSAxKTsNCgkJCQl2YXIgdmFyaWFi
bGVWYWx1ZSA9ICIiOw0KDQoJCQkJdmFyIGNvbnRleHRQcmVmaXggPSAiJCI7DQoJ
CQkJdmFyIHVybFBhcmFtZXRlclByZWZpeCA9ICIkVXJsOiI7DQoJCQkJdmFyIGNv
bXBsZXhFeHBQcmVmaXggPSAiQENvbXBsZXg6IjsNCg0KCQkJCWlmICh2YXJpYWJs
ZUNvbnRlbnQuc3Vic3RyaW5nKDAsIGNvbXBsZXhFeHBQcmVmaXgubGVuZ3RoKSA9
PSBjb21wbGV4RXhwUHJlZml4KQ0KCQkJCXsNCgkJCQkJdmFyIGV4cCA9IHZhcmlh
YmxlQ29udGVudC5yZXBsYWNlKGNvbXBsZXhFeHBQcmVmaXgsICIiKS5yZXBsYWNl
KC9eXHMqLywgIiIpDQoJCQkJCWV4cCA9IGV4cC5yZXBsYWNlKC9cWzB4N2JcXS9n
LCAieyIpLnJlcGxhY2UoL1xbMHg3ZFxdL2csICJ9Iik7DQoJCQkJCXRyeQ0KCQkJ
CQl7DQoJCQkJCQl2YXIgZXhwV3JhcHBlciA9IG5ldyBNUy5TdXBwb3J0LkZtcy5F
eHByZXNzaW9uV3JhcHBlcihleHAsIHRoaXMuc3VydmV5KTsNCgkJCQkJCXZhcmlh
YmxlVmFsdWUgPSBleHBXcmFwcGVyLkV4ZWN1dGUoKTsNCgkJCQkJCWlmICh0eXBl
b2YgKHZhcmlhYmxlVmFsdWUpID09ICJ1bmRlZmluZWQiIHx8IHZhcmlhYmxlVmFs
dWUgPT0gbnVsbCkNCgkJCQkJCXsNCgkJCQkJCQl2YXJpYWJsZVZhbHVlID0gIiI7
DQoJCQkJCQl9DQoNCgkJCQkJCXZhcmlhYmxlVmFsdWUgPSBleHBXcmFwcGVyLmRl
Y29kZVZhbHVlKHZhcmlhYmxlVmFsdWUpOw0KCQkJCQl9DQoJCQkJCWNhdGNoIChl
KQ0KCQkJCQl7DQoJCQkJCQl2YXJpYWJsZVZhbHVlID0gIiI7DQoJCQkJCX0NCgkJ
CQl9DQoJCQkJZWxzZSBpZiAodmFyaWFibGVDb250ZW50LnN1YnN0cmluZygwLCB1
cmxQYXJhbWV0ZXJQcmVmaXgubGVuZ3RoKSA9PSB1cmxQYXJhbWV0ZXJQcmVmaXgp
DQoJCQkJew0KCQkJCQl2YXIgdXJsUGFyYW1ldGVycyA9IHRoaXMuc3VydmV5LnVy
bFBhcmFtZXRlcnM7DQoJCQkJCXZhciBleHAgPSB2YXJpYWJsZUNvbnRlbnQucmVw
bGFjZSh1cmxQYXJhbWV0ZXJQcmVmaXgsICIiKTsNCgkJCQkJZXhwID0gZXhwLnJl
cGxhY2UoL1xbMHg3YlxdL2csICJ7IikucmVwbGFjZSgvXFsweDdkXF0vZywgIn0i
KS50b0xvd2VyQ2FzZSgpOw0KCQkJCQl2YXJpYWJsZVZhbHVlID0gdXJsUGFyYW1l
dGVycyA/IHVybFBhcmFtZXRlcnNbZXhwXSA6ICIiOw0KCQkJCX0NCgkJCQllbHNl
IGlmICh2YXJpYWJsZUNvbnRlbnQuc3Vic3RyaW5nKDAsIGNvbnRleHRQcmVmaXgu
bGVuZ3RoKSA9PSBjb250ZXh0UHJlZml4KQ0KCQkJCXsNCgkJCQkJdmFyIGNvbnRl
eHQgPSB0aGlzLnN1cnZleS5nZXRDb250ZXh0KCk7DQoJCQkJCXZhciBleHAgPSB2
YXJpYWJsZUNvbnRlbnQuc3Vic3RyaW5nKDEpOw0KCQkJCQlleHAgPSBleHAucmVw
bGFjZSgvXFsweDdiXF0vZywgInsiKS5yZXBsYWNlKC9cWzB4N2RcXS9nLCAifSIp
Ow0KCQkJCQl2YXJpYWJsZVZhbHVlID0gY29udGV4dCA/IGNvbnRleHRbZXhwXSA6
ICIiOw0KCQkJCX0NCgkJCQllbHNlDQoJCQkJew0KCQkJCQl2YXJpYWJsZVZhbHVl
ID0gdGhpcy5zdXJ2ZXkuZ2V0VmFyaWFibGUodmFyaWFibGVDb250ZW50LnN1YnN0
cmluZygxKSk7DQoJCQkJfQ0KDQoJCQkJaWYgKCF2YXJpYWJsZVZhbHVlKQ0KCQkJ
CXsNCgkJCQkJdmFyaWFibGVWYWx1ZSA9ICIiOw0KCQkJCX0NCg0KCQkJCWlmIChp
c1RleHRFbGVtZW50KHRoaXMuZG9tT2JqZWN0KSB8fCBpc09wdGlvbih0aGlzLmRv
bU9iamVjdCkpDQoJCQkJew0KCQkJCQl2YXJpYWJsZVZhbHVlID0gTVMuU3VwcG9y
dC5GbXMuVXRpbHMuY2hhcmFjdGVyRW5jb2RlKHZhcmlhYmxlVmFsdWUpOw0KCQkJ
CX0NCgkJCQllbHNlDQoJCQkJew0KCQkJCQl2YXJpYWJsZVZhbHVlID0gTVMuU3Vw
cG9ydC5GbXMuVXRpbHMuY2hhcmFjdGVyRW5jb2RlKE1TLlN1cHBvcnQuRm1zLlV0
aWxzLmh0bWxFbmNvZGUodmFyaWFibGVWYWx1ZSkpOw0KCQkJCX0NCgkJCQl0ZXh0
ID0gdGV4dC5yZXBsYWNlKHZhcmlhYmxlLCB2YXJpYWJsZVZhbHVlKTsNCgkJCX0N
Cg0KCQkJc2V0RG9tVmFsdWUodGhpcy5kb21PYmplY3QsIHRleHQpOw0KCQkJKyty
ZXBsYWNlQ291bnQ7DQoJCX0NCgl9DQoNCglNUy5TdXBwb3J0LkZtcy5TdXJ2ZXlR
dWVzdGlvbiA9IGZ1bmN0aW9uIChkb21PYmplY3QsIHBhZ2UpDQoJew0KCQl2YXIg
Rm1zID0gTVMuU3VwcG9ydC5GbXM7DQoJCXZhciBVdGlscyA9IEZtcy5VdGlsczsN
CgkJdmFyIFZhbGlkYXRlUmVzdWx0ID0gRm1zLlZhbGlkYXRlUmVzdWx0Ow0KDQoJ
CXRoaXMuZG9tT2JqZWN0ID0gZG9tT2JqZWN0Ow0KCQl2YXIgdHlwZSA9IFV0aWxz
LmdldENoaWxkQnlOYW1lKGRvbU9iamVjdCwgInR5cGUiKTsNCgkJdmFyIHJhbmRv
bWl6YXRpb24gPSBVdGlscy5nZXRDaGlsZEJ5TmFtZShkb21PYmplY3QsICJyYW5k
b21pemF0aW9uIik7DQoJCXZhciBvcGVyYXRvciA9IG51bGw7DQoNCgkJdmFyIGJy
YW5jaFJ1bGVzID0gW107DQoJCXRoaXMucGFnZSA9IHBhZ2U7DQoJCXRoaXMuc3Vy
dmV5ID0gcGFnZS5zdXJ2ZXk7DQoJCXRoaXMubmVlZEhpZGUgPSBmYWxzZTsNCg0K
CQl2YXIgdmlzaWJpbGl0eSA9IHRoaXMuZG9tT2JqZWN0LmdldEF0dHJpYnV0ZSgi
dmlzaWJpbGl0eSIpOw0KDQoJCXRoaXMuZ2V0VmlzaWJpbGl0eSA9IGZ1bmN0aW9u
ICgpDQoJCXsNCgkJCXJldHVybiB2aXNpYmlsaXR5Ow0KCQl9DQoNCgkJZnVuY3Rp
b24gaXNCcmFuY2hSdWxlTm9kZShub2RlKQ0KCQl7DQoJCQlyZXR1cm4gbm9kZSAm
JiBub2RlLnR5cGUgJiYgbm9kZS50eXBlLnRvTG93ZXJDYXNlKCkgPT0gImhpZGRl
biIgJiYgbm9kZS5pZC5pbmRleE9mKCJOZXh0UmVmXyIpID09IDA7DQoJCX0NCg0K
CQl0aGlzLmZpbmRCcmFuY2hSdWxlcyA9IGZ1bmN0aW9uICgpDQoJCXsNCgkJCWlm
ICh0aGlzLmRvbU9iamVjdCAhPSBudWxsKQ0KCQkJew0KCQkJCXZhciBlcyA9IFV0
aWxzLmZpbmRDaGlsZE5vZGVzKHRoaXMuZG9tT2JqZWN0LCBpc0JyYW5jaFJ1bGVO
b2RlKTsNCg0KCQkJCWZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBlcy5sZW5n
dGg7ICsraW5kZXgpDQoJCQkJew0KCQkJCQl2YXIgcGFydHMgPSBlc1tpbmRleF0u
aWQuc3BsaXQoIl8iLCAzKTsNCg0KCQkJCQlicmFuY2hSdWxlcy5wdXNoKG5ldyBN
Uy5TdXBwb3J0LkZtcy5CcmFuY2hSdWxlKHBhcnRzWzFdLCBwYXJ0c1syXSwgZXNb
aW5kZXhdLnZhbHVlKSk7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoNCgkJdGhpcy5maW5k
QnJhbmNoUnVsZXMoKTsNCg0KCQl2YXIgcmVxdWlyZWRIaWRkZW4gPSBVdGlscy5n
ZXRDaGlsZEJ5TmFtZShkb21PYmplY3QsICJyZXF1aXJlZCIpOw0KCQl2YXIgcmVx
dWlyZWRFcnJvclRleHQgPSBudWxsOw0KDQoJCXRoaXMuaXNSZXF1aXJlZCA9IGZ1
bmN0aW9uICgpDQoJCXsNCgkJCXJldHVybiByZXF1aXJlZEhpZGRlbiAhPSBudWxs
ICYmIHJlcXVpcmVkSGlkZGVuLnZhbHVlID09ICIxIjsNCgkJfQ0KDQoJCXRoaXMu
c2V0UmVxdWlyZWQgPSBmdW5jdGlvbiAodmFsdWUpDQoJCXsNCgkJCWlmIChyZXF1
aXJlZEhpZGRlbiAhPSBudWxsKQ0KCQkJew0KCQkJCXJlcXVpcmVkSGlkZGVuLnZh
bHVlID0gdmFsdWUgPyAxIDogMDsNCgkJCX0NCgkJfQ0KDQoJCWlmICh0aGlzLmlz
UmVxdWlyZWQoKSkNCgkJew0KCQkJcmVxdWlyZWRFcnJvclRleHQgPSBVdGlscy5n
ZXRDaGlsZEJ5TmFtZShkb21PYmplY3QsICJyZXF1aXJlZEVycm9yVGV4dCIpOw0K
CQl9DQoNCgkJdGhpcy5ldmFsdXRlU2hvd0lmID0gZnVuY3Rpb24gKGVsZW1lbnQp
DQoJCXsNCgkJCXZhciBzaG93SWYgPSBlbGVtZW50LmdldEF0dHJpYnV0ZSgic2hv
d0lmIik7DQoNCgkJCWlmIChzaG93SWYgPT0gbnVsbCB8fCBzaG93SWYgPT0gIiIp
DQoJCQl7DQoJCQkJcmV0dXJuIHRydWU7DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJ
CQkJcmV0dXJuIHRoaXMuc3VydmV5LmV2YWx1dGUoc2hvd0lmKTsNCgkJCX0NCgkJ
fQ0KDQoJCXRoaXMuaXNTdGF0aWNPcHRpb24gPSBmdW5jdGlvbiAoZWxlbWVudCkN
CgkJew0KCQkJdmFyIHNob3dJZiA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCJzaG93
SWYiKTsNCgkJCXJldHVybiAoc2hvd0lmID09IG51bGwgfHwgc2hvd0lmID09ICIi
KSA/IHRydWUgOiBmYWxzZTsNCgkJfQ0KDQoJCXZhciByZXBsYWNlYWJsZUNsYXNz
TmFtZXMgPSBbIlNVUlZFUklOVFJPVEVYVCIsICJRVUVTVElPTlRFWFQiLCAiUVVF
U1RJT05JTlNUUlVDVElPTiIsICJRVUVTVElPTlJFUVVJUkVEIiwgIkFOU1dFUlRF
WFQiLCAiT1BUSU9OQUxURVhUQk9YSU5TVFJVQ1RJT04iLCAiR0hSX1FVRVNUSU9O
VEVYVCIsICJBTlNXRVJCT1giLCAiR0hSX0xFR0VORFRFWFQiXTsNCgkJdmFyIGlu
bmVySFRNTFJlYWRPbmx5VGFncyA9IFsidGFibGUiLCAidGJvZHkiLCAidGZvb3Qi
LCAidGhlYWQiLCAidHIiXTsgLy8gVGhlcmUgYXJlIGFsc28gc29tZSBvdGhlciBI
VE1MIGVsZW1lbnRzIHdob3NlIGlubmVySFRNTCBhdHRyaWJ1dGVzIGFyZSByZWFk
b25seSBvbiBJRSwgYnV0IG5vdCBsaWtlbHkgd2lsbCBhcHBlYXIgaW4gb3VyIHN1
cnZleQ0KDQoJCWZ1bmN0aW9uIGlzVGV4dFJlcGxhY2VhYmxlKGUpDQoJCXsNCgkJ
CWlmIChlICE9IG51bGwgJiYgZS50YWdOYW1lKQ0KCQkJew0KCQkJCXZhciByZXBs
YWNlUGF0dGVybiA9IG5ldyBSZWdFeHAoInsoXFwkKFVybDopP3wjfEAoQ29tcGxl
eDpcXHMqKT8pW159XSp9IiwgImciKTsNCg0KCQkJCXZhciB0YWdOYW1lID0gZS50
YWdOYW1lLnRvTG93ZXJDYXNlKCk7DQoNCgkJCQlmb3IgKHZhciBqID0gMDsgaiA8
IGlubmVySFRNTFJlYWRPbmx5VGFncy5sZW5ndGg7ICsraikNCgkJCQl7DQoJCQkJ
CWlmICh0YWdOYW1lID09IGlubmVySFRNTFJlYWRPbmx5VGFnc1tqXSkNCgkJCQkJ
ew0KCQkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCQl9DQoJCQkJfQ0KDQoJCQkJaWYg
KHRhZ05hbWUgPT0gIm9wdGlvbiIpDQoJCQkJew0KCQkJCQlyZXR1cm4gcmVwbGFj
ZVBhdHRlcm4udGVzdChlLmlubmVySFRNTCk7DQoJCQkJfQ0KCQkJCWVsc2UgaWYg
KHRhZ05hbWUgPT0gInRleHRhcmVhIiB8fCAodGFnTmFtZSA9PSAiaW5wdXQiICYm
IChlLnR5cGUudG9Mb3dlckNhc2UoKSA9PSAidGV4dCIgfHwgZS50eXBlLnRvTG93
ZXJDYXNlKCkgPT0gImhpZGRlbiIgfHwgZS50eXBlLnRvTG93ZXJDYXNlKCkgPT0g
Im51bWJlciIgfHwgZS50eXBlLnRvTG93ZXJDYXNlKCkgPT0gImRhdGUiKSkpDQoJ
CQkJew0KCQkJCQlyZXR1cm4gcmVwbGFjZVBhdHRlcm4udGVzdChlLnZhbHVlKTsN
CgkJCQl9DQoJCQkJZWxzZSBpZiAodGFnTmFtZSA9PSAidGQiICYmIGUucGFyZW50
Tm9kZSAmJiBVdGlscy5oYXNDbGFzcyhlLnBhcmVudE5vZGUsICJHSFJfTEVHRU5E
VEVYVCIpKQ0KCQkJCXsNCgkJCQkJcmV0dXJuIHJlcGxhY2VQYXR0ZXJuLnRlc3Qo
ZS5pbm5lckhUTUwpOw0KCQkJCX0NCgkJCQllbHNlIGlmIChlLmNsYXNzTmFtZSAh
PSBudWxsKQ0KCQkJCXsNCg0KCQkJCQlpZiAoVXRpbHMuaGFzQ2xhc3MoZSwgIlFV
RVNUSU9OSU5TVFJVQ1RJT04iKSAmJiB0YWdOYW1lID09ICJmb250IikNCgkJCQkJ
ew0KCQkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCQl9DQoNCgkJCQkJZm9yICh2YXIg
aW5kZXggPSAwOyBpbmRleCA8IHJlcGxhY2VhYmxlQ2xhc3NOYW1lcy5sZW5ndGg7
ICsraW5kZXgpDQoJCQkJCXsNCgkJCQkJCWlmIChVdGlscy5oYXNDbGFzcyhlLCBy
ZXBsYWNlYWJsZUNsYXNzTmFtZXNbaW5kZXhdKSkNCgkJCQkJCXsNCgkJCQkJCQly
ZXR1cm4gcmVwbGFjZVBhdHRlcm4udGVzdChlLmlubmVySFRNTCk7DQoJCQkJCQl9
DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCg0K
CQl0aGlzLnJlcGxhY2VhYmxlTm9kZXMgPSBbXTsNCg0KCQl0aGlzLmZpbmRSZXBs
YWNlYWJsZU5vZGVzID0gZnVuY3Rpb24gKCkNCgkJew0KCQkJdmFyIG5vZGVzID0g
VXRpbHMuZmluZENoaWxkTm9kZXModGhpcy5kb21PYmplY3QsIGlzVGV4dFJlcGxh
Y2VhYmxlKTsNCg0KCQkJZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IG5vZGVz
Lmxlbmd0aDsgKytpbmRleCkNCgkJCXsNCgkJCQl2YXIgbm9kZSA9IG5vZGVzW2lu
ZGV4XTsNCgkJCQl0aGlzLnJlcGxhY2VhYmxlTm9kZXMucHVzaChuZXcgTVMuU3Vw
cG9ydC5GbXMuUmVwbGFjZWFibGVUZXh0Tm9kZSh0aGlzLCBub2RlKSk7DQoJCQl9
DQoJCX0NCg0KCQl0aGlzLmZpbmRSZXBsYWNlYWJsZU5vZGVzKCk7DQoNCgkJdGhp
cy5yZXBsYWNlVGV4dE5vZGVzID0gZnVuY3Rpb24gKCkNCgkJew0KCQkJZm9yICh2
YXIgaW5kZXggPSAwOyBpbmRleCA8IHRoaXMucmVwbGFjZWFibGVOb2Rlcy5sZW5n
dGg7ICsraW5kZXgpDQoJCQl7DQoJCQkJdGhpcy5yZXBsYWNlYWJsZU5vZGVzW2lu
ZGV4XS5yZXBsYWNlKCk7DQoJCQl9DQoJCX0NCg0KCQl0aGlzLmdldFF1ZXN0aW9u
SWQgPSBmdW5jdGlvbiAoKQ0KCQl7DQoJCQlyZXR1cm4gdGhpcy5kb21PYmplY3Qu
aWQucmVwbGFjZSgiU1VSVkVZUVVFU1RJT05fIiwgIiIpOw0KCQl9DQoNCgkJdGhp
cy5nZXRRdWVzdGlvblR5cGUgPSBmdW5jdGlvbiAoKQ0KCQl7DQoJCQlyZXR1cm4g
dHlwZS52YWx1ZTsNCgkJfQ0KDQoJCXRoaXMubmVlZFJhbmRvbWl6YXRpb24gPSBm
dW5jdGlvbiAoKQ0KCQl7DQoJCQlpZiAocmFuZG9taXphdGlvbiAmJiByYW5kb21p
emF0aW9uLnZhbHVlID09ICIxIikNCgkJCXsNCgkJCQlyZXR1cm4gdHJ1ZTsNCgkJ
CX0NCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KDQoJCXRoaXMudmFsaWRhdGUgPSBm
dW5jdGlvbiAoKQ0KCQl7DQoJCQlpZiAodGhpcy5uZWVkSGlkZSkNCgkJCXsNCgkJ
CQlyZXR1cm4gbmV3IFZhbGlkYXRlUmVzdWx0KHRydWUpOw0KCQkJfQ0KCQkJaWYg
KHRoaXMuaXNSZXF1aXJlZCgpKQ0KCQkJew0KCQkJCXZhciBpc1ZhbGlkID0gb3Bl
cmF0b3IudmFsaWRhdGVSZXF1aXJlZCh0aGlzKTsNCg0KCQkJCWlmICghaXNWYWxp
ZCkNCgkJCQl7DQoJCQkJCXJldHVybiBuZXcgVmFsaWRhdGVSZXN1bHQoZmFsc2Us
IHRoaXMuZ2V0UmVxdWlyZWRFcnJvclRleHQoKSk7DQoJCQkJfQ0KCQkJfQ0KDQoJ
CQlyZXR1cm4gb3BlcmF0b3IudmFsaWRhdGVJbnB1dCgpOw0KCQl9DQoNCgkJdGhp
cy5jb25maWdWaXNpYmlsaXR5ID0gZnVuY3Rpb24gKCkNCgkJew0KCQkJdmFyIHJl
dFZhbCA9IHRoaXMuc3VydmV5LkV2YWx1YXRlQ29udGV4dFZpc2liaWxpdHkodGhp
cy5kb21PYmplY3QpOw0KDQoJCQlzd2l0Y2ggKHZpc2liaWxpdHkpDQoJCQl7DQoJ
CQkJY2FzZSAiU2hvdyI6DQoJCQkJCXRoaXMubmVlZEhpZGUgPSByZXRWYWwgPT0g
Ik5vdEV4aXN0IiA/IHRydWUgOiByZXRWYWwgPT0gIkV2YWxUcnVlIiA/IGZhbHNl
IDogdHJ1ZTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAiSGlkZSI6DQoJCQkJCXRo
aXMubmVlZEhpZGUgPSByZXRWYWwgPT0gIk5vdEV4aXN0IiA/IGZhbHNlIDogcmV0
VmFsID09ICJFdmFsVHJ1ZSIgPyB0cnVlIDogZmFsc2U7DQoJCQkJCWJyZWFrOw0K
CQkJCWRlZmF1bHQ6DQoJCQkJCXRoaXMubmVlZEhpZGUgPSBmYWxzZTsNCgkJCQkJ
YnJlYWs7DQoJCQl9DQoJCX0NCg0KCQl0aGlzLnByZXBhcmUgPSBmdW5jdGlvbiAo
KQ0KCQl7DQoJCQl0aGlzLnJlcGxhY2VUZXh0Tm9kZXMoKTsNCgkJCXRoaXMuY29u
ZmlnVmlzaWJpbGl0eSgpOw0KCQkJb3BlcmF0b3IucHJlcGFyZSgpOw0KCQkJZG9t
T2JqZWN0LnN0eWxlLmRpc3BsYXkgPSB0aGlzLm5lZWRIaWRlID8gIm5vbmUiIDog
ImJsb2NrIjsNCgkJfQ0KDQoJCXRoaXMucG9wdWxhdGVWYXJpYWJsZXMgPSBmdW5j
dGlvbiAoKQ0KCQl7DQoJCQlyZXR1cm4gb3BlcmF0b3IucG9wdWxhdGVWYXJpYWJs
ZXMoKTsNCgkJfQ0KDQoJCXRoaXMuc2F2ZSA9IGZ1bmN0aW9uICgpDQoJCXsNCgkJ
CW9wZXJhdG9yLnNhdmUoKTsNCgkJfQ0KDQoJCXRoaXMucmVzdG9yZSA9IGZ1bmN0
aW9uICgpDQoJCXsNCgkJCW9wZXJhdG9yLnJlc3RvcmUoKTsNCgkJfQ0KDQoJCXRo
aXMuZ2V0QW5zd2VycyA9IGZ1bmN0aW9uICgpDQoJCXsNCgkJCXJldHVybiBvcGVy
YXRvci5nZXRBbnN3ZXJzKCk7DQoJCX0NCg0KCQl0aGlzLmdldFJlcXVpcmVkRXJy
b3JUZXh0ID0gZnVuY3Rpb24gKCkNCgkJew0KCQkJaWYgKCF0aGlzLmlzUmVxdWly
ZWQoKSkNCgkJCXsNCgkJCQl0aHJvdyAiTm90IGEgcmVxdWlyZWQgcXVlc3Rpb24h
IjsNCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQlyZXR1cm4gcmVxdWlyZWRFcnJv
clRleHQudmFsdWU7DQoJCQl9DQoJCX0NCg0KCQl0aGlzLmdldE5leHRQYWdlQnlC
cmFuY2hSdWxlID0gZnVuY3Rpb24gKCkNCgkJew0KCQkJZm9yICh2YXIgaSA9IDA7
IGkgPCB0aGlzLmVsZW1lbnRzLmxlbmd0aDsgKytpKQ0KCQkJew0KCQkJCWZvciAo
dmFyIGogPSAwOyBqIDwgYnJhbmNoUnVsZXMubGVuZ3RoOyArK2opDQoJCQkJew0K
CQkJCQl2YXIgdGFyZ2V0ID0gYnJhbmNoUnVsZXNbal0ubWF0Y2godGhpcy5lbGVt
ZW50c1tpXSk7DQoNCgkJCQkJaWYgKHRhcmdldCAhPSBudWxsICYmIHRhcmdldCAh
PSAtMSkNCgkJCQkJew0KCQkJCQkJcmV0dXJuIHRhcmdldDsNCgkJCQkJfQ0KCQkJ
CX0NCgkJCX0NCgkJCS8vIC0xIG1lYW5zIG5vdCBhcHBjYWJsZQ0KCQkJcmV0dXJu
IC0xOw0KCQl9DQoNCgkJdGhpcy5lbGVtZW50cyA9IFtdOw0KDQoJCWZ1bmN0aW9u
IGlzUXVlc3Rpb25FbGVtZW50KG5vZGUpDQoJCXsNCgkJCWlmIChub2RlLnR5cGUg
IT0gbnVsbCkNCgkJCXsNCgkJCQlzd2l0Y2ggKG5vZGUudHlwZS50b0xvd2VyQ2Fz
ZSgpKQ0KCQkJCXsNCgkJCQkJY2FzZSAidGV4dCI6DQoJCQkJCWNhc2UgImRhdGUi
Og0KCQkJCQljYXNlICJwYXNzd29yZCI6DQoJCQkJCWNhc2UgInRleHRhcmVhIjoN
CgkJCQkJY2FzZSAibnVtYmVyIjoNCgkJCQkJY2FzZSAicmFkaW8iOg0KCQkJCQlj
YXNlICJjaGVja2JveCI6DQoJCQkJCWNhc2UgInNlbGVjdC1vbmUiOg0KCQkJCQlj
YXNlICJzZWxlY3QtbXVsdGlwbGUiOg0KCQkJCQkJcmV0dXJuIHRydWU7DQoJCQkJ
fQ0KCQkJfQ0KDQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCg0KCQl0aGlzLmdldE9w
dGlvbkJ5SWQgPSBmdW5jdGlvbiAob3B0aW9uSWQpDQoJCXsNCgkJCXJldHVybiBv
cGVyYXRvci5nZXRPcHRpb25CeUlkKG9wdGlvbklkKTsNCgkJfQ0KDQoJCXRoaXMu
ZGlzY292ZXJFbGVtZW50cyA9IGZ1bmN0aW9uICgpDQoJCXsNCgkJCWlmICh0aGlz
LmRvbU9iamVjdCAhPSBudWxsKQ0KCQkJew0KCQkJCXZhciBlcyA9IFV0aWxzLmZp
bmRDaGlsZE5vZGVzKHRoaXMuZG9tT2JqZWN0LCBpc1F1ZXN0aW9uRWxlbWVudCk7
DQoNCgkJCQlmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgZXMubGVuZ3RoOyAr
K2luZGV4KQ0KCQkJCXsNCgkJCQkJdGhpcy5lbGVtZW50cy5wdXNoKGVzW2luZGV4
XSk7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoNCgkJdGhpcy5kaXNjb3ZlckVsZW1lbnRz
KCk7DQoNCgkJb3BlcmF0b3IgPSBNUy5TdXBwb3J0LkZtcy5TdXJ2ZXlRdWVzdGlv
bk9wZXJhdG9yLmNyZWF0ZSh0aGlzKTsNCgkJb3BlcmF0b3IucmFuZG9taXplKCk7
DQoNCgkJdGhpcy5kaXNwbGF5QnJhbmNoUnVsZXMgPSBmdW5jdGlvbiAoKQ0KCQl7
DQoJCQlmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuZWxlbWVudHMubGVuZ3RoOyAr
K2kpDQoJCQl7DQoJCQkJdmFyIG9wdGlvbnMgPSB0aGlzLmVsZW1lbnRzW2ldLm9w
dGlvbnM7DQoJCQkJaWYgKG9wdGlvbnMpDQoJCQkJew0KCQkJCQl2YXIgc2VsZWN0
VmlzdWFsID0gIjxvbD4iOw0KDQoJCQkJCWZvciAodmFyIGogPSAwOyBqIDwgb3B0
aW9ucy5sZW5ndGg7ICsraikNCgkJCQkJew0KCQkJCQkJc2VsZWN0VmlzdWFsICs9
ICI8bGk+IiArIG9wdGlvbnNbal0uaW5uZXJIVE1MOw0KCQkJCQkJZm9yICh2YXIg
ayA9IDA7IGsgPCBicmFuY2hSdWxlcy5sZW5ndGg7ICsraykNCgkJCQkJCXsNCgkJ
CQkJCQlpZiAoYnJhbmNoUnVsZXNba10ub3B0aW9uSWQgPT0gb3B0aW9uc1tqXS5p
ZCAmJiAodHlwZW9mIChicmFuY2hSdWxlc1trXS5vcHRpb25WYWx1ZSA9PSAidW5k
ZWZpbmVkIikgfHwgYnJhbmNoUnVsZXNba10ub3B0aW9uVmFsdWUgPT0gb3B0aW9u
c1tqXS52YWx1ZSkpDQoJCQkJCQkJew0KCQkJCQkJCQlzZWxlY3RWaXN1YWwgKz0g
IigtLSZndDsiICsgYnJhbmNoUnVsZXNba10udGFyZ2V0ICsgIikiOw0KCQkJCQkJ
CQlicmVhazsNCgkJCQkJCQl9DQoJCQkJCQl9DQoJCQkJCQlzZWxlY3RWaXN1YWwg
Kz0gIjwvbGk+IjsNCgkJCQkJfQ0KDQoJCQkJCXNlbGVjdFZpc3VhbCArPSAiPC9v
bD4iOw0KDQoJCQkJCXZhciBpbmZvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
c3BhbiIpOw0KCQkJCQlpbmZvLnN0eWxlLmNvbG9yID0gImdyZWVuIjsNCgkJCQkJ
aW5mby5pbm5lckhUTUwgPSBzZWxlY3RWaXN1YWw7DQoNCgkJCQkJdGhpcy5lbGVt
ZW50c1tpXS5wYXJlbnROb2RlLmFwcGVuZENoaWxkKGluZm8pOw0KCQkJCX0NCgkJ
CQllbHNlDQoJCQkJew0KCQkJCQlmb3IgKHZhciBqID0gMDsgaiA8IGJyYW5jaFJ1
bGVzLmxlbmd0aDsgKytqKQ0KCQkJCQl7DQoJCQkJCQlpZiAoYnJhbmNoUnVsZXNb
al0ub3B0aW9uSWQgPT0gdGhpcy5lbGVtZW50c1tpXS5pZCAmJiAodHlwZW9mIChi
cmFuY2hSdWxlc1tqXS5vcHRpb25WYWx1ZSkgPT0gInVuZGVmaW5lZCIgfHwgYnJh
bmNoUnVsZXNbal0ub3B0aW9uVmFsdWUgPT0gdGhpcy5lbGVtZW50c1tpXS52YWx1
ZSkpDQoJCQkJCQl7DQoJCQkJCQkJdmFyIGluZm8gPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJmb250Iik7DQoJCQkJCQkJaW5mby5jb2xvciA9ICJncmVlbiI7DQoJ
CQkJCQkJaW5mby5pbm5lckhUTUwgPSAiKC0tJmd0OyIgKyBicmFuY2hSdWxlc1tq
XS50YXJnZXQgKyAiKSI7DQoNCgkJCQkJCQl0aGlzLmVsZW1lbnRzW2ldLnBhcmVu
dE5vZGUuYXBwZW5kQ2hpbGQoaW5mbyk7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9
DQoJCQl9DQoJCX0NCgl9DQoNCglNUy5TdXBwb3J0LkZtcy5TdXJ2ZXlQYWdlID0g
ZnVuY3Rpb24gKGRvbU9iamVjdCwgc3VydmV5KQ0KCXsNCgkJdmFyIEZtcyA9IE1T
LlN1cHBvcnQuRm1zOw0KCQl2YXIgVXRpbHMgPSBGbXMuVXRpbHM7DQoJCXZhciBW
YWxpZGF0ZVJlc3VsdCA9IEZtcy5WYWxpZGF0ZVJlc3VsdDsNCg0KCQl0aGlzLmRv
bU9iamVjdCA9IGRvbU9iamVjdDsNCg0KCQl0aGlzLm5leHRQYWdlSWQgPSAtMTsN
CgkJdGhpcy5tb2RpZmllZCA9IGZhbHNlOw0KCQl0aGlzLnN1cnZleSA9IHN1cnZl
eTsNCgkJdGhpcy5pZ25vcmVkID0gZmFsc2U7DQoNCgkJdmFyIG5leHRQYWdlQnlU
b3BpY1JlZiA9IFV0aWxzLmdldENoaWxkQnlOYW1lKGRvbU9iamVjdCwgIk5leHRT
ZWN0aW9uQnlUb3BpY1JlZiIpOw0KDQoJCWlmIChuZXh0UGFnZUJ5VG9waWNSZWYg
JiYgbmV4dFBhZ2VCeVRvcGljUmVmLnZhbHVlICE9IG51bGwgJiYgbmV4dFBhZ2VC
eVRvcGljUmVmLnZhbHVlICE9ICIiKQ0KCQl7DQoJCQl0aGlzLm5leHRQYWdlSWQg
PSBwYXJzZUludChuZXh0UGFnZUJ5VG9waWNSZWYudmFsdWUpOw0KCQl9DQoNCgkJ
dGhpcy5jb21wb3VuZGluZ0JyYW5jaFJ1bGVzID0gW107DQoJCXZhciBkYXRhID0g
VXRpbHMuZ2V0Q2hpbGRCeU5hbWUoZG9tT2JqZWN0LCAiQ29tcG91bmRpbmdCcmFu
Y2hSdWxlcyIpOw0KCQlpZiAoZGF0YSkNCgkJew0KCQkJdmFyIGNvbnRhaW5lcnMg
PSBkYXRhLmNoaWxkTm9kZXM7DQoJCQlmb3IgKHZhciBpID0gMDsgaSA8IGNvbnRh
aW5lcnMubGVuZ3RoOyBpKyspDQoJCQl7DQoJCQkJdmFyIGJycyA9IFV0aWxzLmdl
dENoaWxkQnlOYW1lKGNvbnRhaW5lcnNbaV0sICJicnMiKTsNCgkJCQl2YXIgY25i
cnMgPSBVdGlscy5nZXRDaGlsZE5vZGVzQnlBdHRyaWJ1dGUoY29udGFpbmVyc1tp
XSwgIm5hbWUiLCAiY25iciIpOw0KCQkJCXZhciByZWYgPSBjb250YWluZXJzW2ld
LmdldEF0dHJpYnV0ZSgnZGF0YS1yZWYnKTsNCgkJCQl2YXIgcHJvYmFiaWxpdHkg
PSBjb250YWluZXJzW2ldLmdldEF0dHJpYnV0ZSgnZGF0YS1wcm9iYWJpbGl0eScp
Ow0KCQkJCXZhciBydWxlID0gbmV3IE1TLlN1cHBvcnQuRm1zLkNvbXBvdW5kaW5n
QnJhbmNoUnVsZShwYXJzZUludChyZWYpLCBwYXJzZUludChwcm9iYWJpbGl0eSkp
Ow0KDQoJCQkJaWYgKGJycyAmJiBicnMudmFsdWUpDQoJCQkJew0KCQkJCQlydWxl
LmFkZENvbmRpdGlvbnMoYnJzLnZhbHVlLnNwbGl0KCIqIikpOw0KCQkJCX0NCg0K
CQkJCWlmIChjbmJycyAmJiBjbmJycy5sZW5ndGggPiAwKQ0KCQkJCXsNCgkJCQkJ
cnVsZS5hZGRDb250ZXh0Q29uZGl0aW9ucyhjbmJycyk7DQoJCQkJfQ0KDQoJCQkJ
dGhpcy5jb21wb3VuZGluZ0JyYW5jaFJ1bGVzLnB1c2gocnVsZSk7DQoJCQl9DQoJ
CX0NCg0KCQl2YXIgcGFnZUlkOw0KDQoJCWlmICh0aGlzLmRvbU9iamVjdC5pZCA9
PSAiRElWXzAiKQ0KCQl7DQoJCQlwYWdlSWQgPSAiMCI7DQoJCX0NCgkJZWxzZSBp
ZiAodGhpcy5kb21PYmplY3QuaWQgPT0gIkRJVl9DTE9TRSIpDQoJCXsNCgkJCXBh
Z2VJZCA9ICJFbmQiOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJcGFnZUlkID0gVXRp
bHMuZ2V0Q2hpbGRCeU5hbWUoZG9tT2JqZWN0LCAiaWQiKS52YWx1ZTsNCgkJfQ0K
DQoJCXRoaXMuZ2V0UGFnZUlkID0gZnVuY3Rpb24gKCkNCgkJew0KCQkJcmV0dXJu
IHBhZ2VJZDsNCgkJfQ0KDQoJCXRoaXMucXVlc3Rpb25zID0gW107DQoNCgkJdGhp
cy5kaXNjb3ZlclF1ZXN0aW9ucyA9IGZ1bmN0aW9uICgpDQoJCXsNCgkJCWlmICh0
aGlzLmRvbU9iamVjdCAhPSBudWxsKQ0KCQkJew0KCQkJCXZhciBlcyA9IFV0aWxz
LmdldENoaWxkTm9kZXNCeUNsYXNzKHRoaXMuZG9tT2JqZWN0LCAiUVVFU1RJT05D
T05UQUlORVIiKTsNCg0KCQkJCWZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBl
cy5sZW5ndGg7ICsraW5kZXgpDQoJCQkJew0KCQkJCQl0aGlzLnF1ZXN0aW9ucy5w
dXNoKG5ldyBNUy5TdXBwb3J0LkZtcy5TdXJ2ZXlRdWVzdGlvbihlc1tpbmRleF0s
IHRoaXMpKTsNCgkJCQl9DQoJCQl9DQoJCX0NCg0KCQl0aGlzLmRpc2NvdmVyUXVl
c3Rpb25zKCk7DQoNCgkJdGhpcy5pc1JlcXVpcmVkID0gZnVuY3Rpb24gKCkNCgkJ
ew0KCQkJZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IHRoaXMucXVlc3Rpb25z
Lmxlbmd0aDsgKytpbmRleCkNCgkJCXsNCgkJCQlpZiAodGhpcy5xdWVzdGlvbnNb
aW5kZXhdLmlzUmVxdWlyZWQoKSAmJiAhdGhpcy5xdWVzdGlvbnNbaW5kZXhdLm5l
ZWRIaWRlKQ0KCQkJCXsNCgkJCQkJcmV0dXJuIHRydWU7DQoJCQkJfQ0KCQkJfQ0K
DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCg0KCQl0aGlzLnNhdmUgPSBmdW5jdGlv
biAoKQ0KCQl7DQoJCQlmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgdGhpcy5x
dWVzdGlvbnMubGVuZ3RoOyArK2luZGV4KQ0KCQkJew0KCQkJCXRoaXMucXVlc3Rp
b25zW2luZGV4XS5zYXZlKCk7DQoJCQl9DQoJCX0NCg0KCQl2YXIgdmFyaWFibGVz
ID0gW107DQoNCgkJdGhpcy5nZXRWYXJpYWJsZXMgPSBmdW5jdGlvbiAoKQ0KCQl7
DQoJCQlyZXR1cm4gdmFyaWFibGVzOw0KCQl9DQoNCgkJdGhpcy5wb3B1bGF0ZVZh
cmlhYmxlcyA9IGZ1bmN0aW9uICgpDQoJCXsNCgkJCXZhcmlhYmxlcyA9IFtdOw0K
DQoJCQlmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgdGhpcy5xdWVzdGlvbnMu
bGVuZ3RoOyArK2luZGV4KQ0KCQkJew0KCQkJCXZhciBzdWJWYXJpYWJsZXMgPSB0
aGlzLnF1ZXN0aW9uc1tpbmRleF0ucG9wdWxhdGVWYXJpYWJsZXMoKTsNCg0KCQkJ
CWZvciAodmFyIGtleSBpbiBzdWJWYXJpYWJsZXMpDQoJCQkJew0KCQkJCQl2YXJp
YWJsZXNba2V5XSA9IHN1YlZhcmlhYmxlc1trZXldOw0KCQkJCX0NCgkJCX0NCgkJ
fQ0KDQoJCXRoaXMucmVzdG9yZSA9IGZ1bmN0aW9uICgpDQoJCXsNCgkJCWZvciAo
dmFyIGluZGV4ID0gMDsgaW5kZXggPCB0aGlzLnF1ZXN0aW9ucy5sZW5ndGg7ICsr
aW5kZXgpDQoJCQl7DQoJCQkJdGhpcy5xdWVzdGlvbnNbaW5kZXhdLnJlc3RvcmUo
KTsNCgkJCX0NCgkJfQ0KDQoJCXRoaXMudmFsaWRhdGUgPSBmdW5jdGlvbiAoKQ0K
CQl7DQoJCQlmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgdGhpcy5xdWVzdGlv
bnMubGVuZ3RoOyArK2luZGV4KQ0KCQkJew0KCQkJCXZhciByZXN1bHQgPSB0aGlz
LnF1ZXN0aW9uc1tpbmRleF0udmFsaWRhdGUoKTsNCgkJCQlpZiAoIXJlc3VsdC5p
c1ZhbGlkKQ0KCQkJCXsNCgkJCQkJcmV0dXJuIHJlc3VsdDsNCgkJCQl9DQoJCQl9
DQoNCgkJCXJldHVybiBuZXcgVmFsaWRhdGVSZXN1bHQodHJ1ZSk7DQoJCX0NCg0K
CQl0aGlzLmdldE5leHRQYWdlQnlCcmFuY2hSdWxlID0gZnVuY3Rpb24gKCkNCgkJ
ew0KCQkJdmFyIG5leHRQYWdlSWQgPSAtMTsNCg0KCQkJLy8gSWYgY2xpY2sgIlNr
aXAiIGJ1dHRvbiwgZG9uJ3QgY2hlY2sgcXVlc3Rpb24gYnJhbmNoIHJ1bGUgaW4g
dGhpcyBwYWdlLg0KCQkJaWYgKHRoaXMubW9kaWZpZWQpDQoJCQl7DQoJCQkJZm9y
ICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IHRoaXMucXVlc3Rpb25zLmxlbmd0aDsg
KytpbmRleCkNCgkJCQl7DQoJCQkJCWlmICgobmV4dFBhZ2VJZCA9IHRoaXMucXVl
c3Rpb25zW2luZGV4XS5nZXROZXh0UGFnZUJ5QnJhbmNoUnVsZSgpKSAhPSAtMSkN
CgkJCQkJew0KCQkJCQkJcmV0dXJuIG5leHRQYWdlSWQ7DQoJCQkJCX0NCgkJCQl9
DQoJCQl9DQoNCgkJCXZhciBjb250ZXh0ID0gc3VydmV5LmdldENvbnRleHQoKTsN
CgkJCWZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5jb21wb3VuZGluZ0JyYW5jaFJ1
bGVzLmxlbmd0aDsgaSsrKQ0KCQkJew0KCQkJCWlmICh0aGlzLmNvbXBvdW5kaW5n
QnJhbmNoUnVsZXNbaV0uZXZhbHVhdGUodGhpcy5zdXJ2ZXksIGNvbnRleHQpKQ0K
CQkJCXsNCgkJCQkJcmV0dXJuIHRoaXMuY29tcG91bmRpbmdCcmFuY2hSdWxlc1tp
XS5uZXh0UGFnZUlkOw0KCQkJCX0NCgkJCX0NCg0KCQkJcmV0dXJuIHRoaXMubmV4
dFBhZ2VJZDsNCgkJfQ0KDQoJCXRoaXMuZ2V0UXVlc3Rpb25CeUlkID0gZnVuY3Rp
b24gKHF1ZXN0aW9uSWQpDQoJCXsNCgkJCWZvciAodmFyIGluZGV4ID0gMDsgaW5k
ZXggPCB0aGlzLnF1ZXN0aW9ucy5sZW5ndGg7ICsraW5kZXgpDQoJCQl7DQoJCQkJ
aWYgKHRoaXMucXVlc3Rpb25zW2luZGV4XS5nZXRRdWVzdGlvbklkKCkgPT0gcXVl
c3Rpb25JZCkNCgkJCQl7DQoJCQkJCXJldHVybiB0aGlzLnF1ZXN0aW9uc1tpbmRl
eF07DQoJCQkJfQ0KCQkJfQ0KDQoJCQlyZXR1cm4gbnVsbDsNCgkJfQ0KDQoJCXRo
aXMuZ2V0UXVlc3Rpb25CeUVsZW1lbnQgPSBmdW5jdGlvbiAoZWwpDQoJCXsNCgkJ
CWZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5xdWVzdGlvbnMubGVuZ3RoOyArK2kp
DQoJCQl7DQoJCQkJaWYgKFV0aWxzLmlzQW5jZXN0b3JPZih0aGlzLnF1ZXN0aW9u
c1tpXS5kb21PYmplY3QsIGVsKSkNCgkJCQl7DQoJCQkJCXJldHVybiB0aGlzLnF1
ZXN0aW9uc1tpXTsNCgkJCQl9DQoJCQl9DQoNCgkJCXJldHVybiBudWxsOw0KCQl9
DQoNCgkJdGhpcy5zaG93ID0gZnVuY3Rpb24gKCkNCgkJew0KCQkJdmFyIGlzSWdu
b3JlZCA9IHRydWU7DQoJCQl0aGlzLmlnbm9yZWQgPSBmYWxzZTsNCgkJCXZhciBx
dWVzdGlvbkNvdW50ID0gdGhpcy5xdWVzdGlvbnMubGVuZ3RoOw0KCQkJZm9yICh2
YXIgaW5kZXggPSAwOyBpbmRleCA8IHRoaXMucXVlc3Rpb25zLmxlbmd0aDsgKytp
bmRleCkNCgkJCXsNCgkJCQl2YXIgcXVlc3Rpb24gPSB0aGlzLnF1ZXN0aW9uc1tp
bmRleF07DQoJCQkJcXVlc3Rpb24ucHJlcGFyZSgpOw0KCQkJCWlmICghcXVlc3Rp
b24ubmVlZEhpZGUpDQoJCQkJew0KCQkJCQlpc0lnbm9yZWQgPSBmYWxzZTsNCgkJ
CQl9DQoJCQl9DQoNCgkJCWlmIChxdWVzdGlvbkNvdW50ID4gMCAmJiBpc0lnbm9y
ZWQpDQoJCQl7DQoJCQkJdGhpcy5pZ25vcmVkID0gdHJ1ZTsNCgkJCX0NCgkJCWlm
ICh0aGlzLmRvbU9iamVjdCAhPSBudWxsKQ0KCQkJew0KCQkJCXRoaXMuZW5hYmxl
QnV0dG9uKCJidG5Ta2lwIiwgIXRoaXMuaXNSZXF1aXJlZCgpKTsNCgkJCQl0aGlz
LmRvbU9iamVjdC5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsNCgkJCX0NCgkJfQ0K
DQoJCXRoaXMuZW5hYmxlQnV0dG9uID0gZnVuY3Rpb24gKGJ1dHRvbkRhdGFOYW1l
LCBpc0VuYWJsZWQpDQoJCXsNCgkJCXZhciBidXR0b24gPSBVdGlscy5nZXRDaGls
ZEJ5QXR0cmlidXRlKHRoaXMuZG9tT2JqZWN0LCAiZGF0YS1uYW1lIiwgYnV0dG9u
RGF0YU5hbWUpOw0KCQkJaWYgKCFidXR0b24pDQoJCQl7DQoJCQkJcmV0dXJuOw0K
CQkJfQ0KCQkJaWYgKGlzRW5hYmxlZCkNCgkJCXsNCgkJCQlidXR0b24ucmVtb3Zl
QXR0cmlidXRlKCJkaXNhYmxlZCIpOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJ
CWJ1dHRvbi5zZXRBdHRyaWJ1dGUoImRpc2FibGVkIiwgImRpc2FibGVkIik7DQoJ
CQl9DQoJCX0NCg0KCQl0aGlzLmhpZGUgPSBmdW5jdGlvbiAoKQ0KCQl7DQoJCQlp
ZiAodGhpcy5kb21PYmplY3QgIT0gbnVsbCkNCgkJCXsNCgkJCQl0aGlzLmRvbU9i
amVjdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOw0KCQkJfQ0KCQl9DQoNCgkJdGhp
cy5pc1Zpc2libGUgPSBmdW5jdGlvbiAoKQ0KCQl7DQoJCQlpZiAodGhpcy5kb21P
YmplY3QgIT0gbnVsbCkNCgkJCXsNCgkJCQlyZXR1cm4gdGhpcy5kb21PYmplY3Qu
c3R5bGUuZGlzcGxheSA9PSAibm9uZSIgPyBmYWxzZSA6IHRydWU7DQoJCQl9DQoN
CgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KDQoJCXRoaXMuZGlzcGxheUJyYW5jaFJ1
bGVzID0gZnVuY3Rpb24gKG5leHRQYWdlSWRJbk9yZGVyKQ0KCQl7DQoJCQl2YXIg
bmV4dFBhZ2VJZDsNCgkJCWlmICh0aGlzLm5leHRQYWdlSWQgPiAwKQ0KCQkJew0K
CQkJCW5leHRQYWdlSWQgPSB0aGlzLm5leHRQYWdlSWQ7DQoJCQl9DQoJCQllbHNl
DQoJCQl7DQoJCQkJbmV4dFBhZ2VJZCA9IG5leHRQYWdlSWRJbk9yZGVyOw0KCQkJ
fQ0KDQoJCQl2YXIgaW5mbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4i
KTsNCgkJCWluZm8uc3R5bGUuY29sb3IgPSAiZ3JlZW4iOw0KCQkJaW5mby5pbm5l
ckhUTUwgPSAiKCIgKyB0aGlzLmdldFBhZ2VJZCgpICsgIi0tJmd0OyIgKyBuZXh0
UGFnZUlkICsgIikiOw0KDQoJCQlpZiAodGhpcy5kb21PYmplY3QgIT0gbnVsbCkN
CgkJCXsNCgkJCQl0aGlzLmRvbU9iamVjdC5wYXJlbnROb2RlLmluc2VydEJlZm9y
ZShpbmZvLCB0aGlzLmRvbU9iamVjdCk7DQoJCQl9DQoNCgkJCWZvciAodmFyIGlu
ZGV4ID0gMDsgaW5kZXggPCB0aGlzLnF1ZXN0aW9ucy5sZW5ndGg7ICsraW5kZXgp
DQoJCQl7DQoJCQkJdGhpcy5xdWVzdGlvbnNbaW5kZXhdLmRpc3BsYXlCcmFuY2hS
dWxlcygpOw0KCQkJfQ0KCQl9DQoJfQ0KDQoJTVMuU3VwcG9ydC5GbXMuRm9sbG93
VXAgPSBmdW5jdGlvbiAoc3VydmV5SWRzLCBsYW5ndWFnZSwgc3RhcnRPZmZzZXQs
IGVuZE9mZnNldCwgc2VydmVyQ29vcmRpbmF0ZSwgY2xpZW50Q29vcmRpbmF0ZSwg
cXVpdE1vZGUsIHRyaWdnZXIsIGNvbmRpdGlvbnMpDQoJew0KCQl0aGlzLmdldFN1
cnZleUlkcyA9IGZ1bmN0aW9uICgpDQoJCXsNCgkJCXJldHVybiBzdXJ2ZXlJZHM7
DQoJCX0NCg0KCQl0aGlzLmdldExhbmd1YWdlID0gZnVuY3Rpb24gKCkNCgkJew0K
CQkJcmV0dXJuIGxhbmd1YWdlOw0KCQl9DQoNCgkJdGhpcy5nZXRTdGFydE9mZnNl
dCA9IGZ1bmN0aW9uICgpDQoJCXsNCgkJCXJldHVybiBzdGFydE9mZnNldDsNCgkJ
fQ0KDQoJCXRoaXMuZ2V0RW5kT2Zmc2V0ID0gZnVuY3Rpb24gKCkNCgkJew0KCQkJ
cmV0dXJuIGVuZE9mZnNldDsNCgkJfQ0KDQoJCXRoaXMuZ2V0UXVpdE1vZGUgPSBm
dW5jdGlvbiAoKQ0KCQl7DQoJCQlyZXR1cm4gcXVpdE1vZGU7DQoJCX0NCg0KCQl0
aGlzLmdldFRyaWdnZXIgPSBmdW5jdGlvbiAoKQ0KCQl7DQoJCQlyZXR1cm4gdHJp
Z2dlcjsNCgkJfQ0KDQoJCXRoaXMuZ2V0Q29uZGl0aW9ucyA9IGZ1bmN0aW9uICgp
DQoJCXsNCgkJCXJldHVybiBjb25kaXRpb25zOw0KCQl9DQoNCgkJdGhpcy5nZXRT
ZXJ2ZXJDb29yZGluYXRlID0gZnVuY3Rpb24gKCkNCgkJew0KCQkJcmV0dXJuIHNl
cnZlckNvb3JkaW5hdGU7DQoJCX0NCg0KCQl0aGlzLmdldENsaWVudENvb3JkaW5h
dGUgPSBmdW5jdGlvbiAoKQ0KCQl7DQoJCQlyZXR1cm4gY2xpZW50Q29vcmRpbmF0
ZTsNCgkJfQ0KDQoJCXRoaXMuZ2V0U3RhcnRUaW1lID0gZnVuY3Rpb24gKCkNCgkJ
ew0KCQkJcmV0dXJuIHN0YXJ0T2Zmc2V0ICsgY2xpZW50Q29vcmRpbmF0ZTsNCgkJ
fQ0KDQoJCXRoaXMuZ2V0RW5kVGltZSA9IGZ1bmN0aW9uICgpDQoJCXsNCgkJCXJl
dHVybiBlbmRPZmZzZXQgKyBjbGllbnRDb29yZGluYXRlOw0KCQl9DQoNCgkJdGhp
cy5pc0FjdGl2ZSA9IGZ1bmN0aW9uICgpDQoJCXsNCgkJCXZhciB0aW1lID0gTWF0
aC5yb3VuZCgobmV3IERhdGUoKSkuZ2V0VGltZSgpIC8gMTAwMCk7DQoJCQlyZXR1
cm4gKHRpbWUgPj0gdGhpcy5nZXRTdGFydFRpbWUoKSAmJiB0aW1lIDw9IHRoaXMu
Z2V0RW5kVGltZSgpKTsNCgkJfQ0KDQoJCXRoaXMuaXNFeHBpcmVkID0gZnVuY3Rp
b24gKCkNCgkJew0KCQkJcmV0dXJuIE1hdGgucm91bmQoKG5ldyBEYXRlKCkpLmdl
dFRpbWUoKSAvIDEwMDApID4gdGhpcy5nZXRFbmRUaW1lKCk7DQoJCX0NCg0KCQl0
aGlzLmV2YWx1dGUgPSBmdW5jdGlvbiAoc3VydmV5LCBpc1BhcnRpYWwpDQoJCXsN
CgkJCWlmICgocXVpdE1vZGUgIT0gMikgJiYgKHF1aXRNb2RlICE9IChpc1BhcnRp
YWwgPyAxIDogMCkpKQ0KCQkJew0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0NCg0K
CQkJZm9yICh2YXIgaSA9IDA7IGkgPCBjb25kaXRpb25zLmxlbmd0aDsgKytpKQ0K
CQkJew0KCQkJCWlmICghY29uZGl0aW9uc1tpXS5ldmFsdXRlKHN1cnZleSkpDQoJ
CQkJew0KCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJfQ0KCQkJfQ0KDQoJCQlyZXR1
cm4gdHJ1ZTsNCgkJfQ0KCX0NCg0KCU1TLlN1cHBvcnQuRm1zLkZvbGxvd1VwLnBh
cnNlRm9sbG93dXBzRmllbGQgPSBmdW5jdGlvbiAoZmllbGRWYWx1ZSwgbGFuZ3Vh
Z2UsIGxvYWRUaW1lKQ0KCXsNCgkJdmFyIGZvbGxvd1VwcyA9IFtdOw0KCQl2YXIg
cmUgPSAvXihcW1xbKFxkKykoLFxkKykqXF0sXGQrLFxkKyxcZCssXGQsXGQrLFxb
XFtcZCssXGQrLFxkKyxcZCtcXSgsXFtcZCssXGQrLFxkKyxcZCtcXSkqXF1cXSgs
XFtcWyhcZCspKCxcZCspKlxdLFxkKyxcZCssXGQrLFxkLFxkKyxcW1xbXGQrLFxk
KyxcZCssXGQrXF0oLFxbXGQrLFxkKyxcZCssXGQrXF0pKlxdXF0pKik/JC87DQoJ
CWlmIChyZS50ZXN0KGZpZWxkVmFsdWUpKQ0KCQl7DQoJCQl2YXIgZm9sbG93VXBN
ZXRhcyA9IGV2YWwoJ1snICsgZmllbGRWYWx1ZSArICddJyk7IC8vIGFzIHdlIGhh
dmUgdmVyZmllZCB0aGUgZmllbGRWYWx1ZSB3aXRoIGEgc3RyaWN0IHJlZ3VsYXIg
ZXhwcmVzc2lvbiwgdGhpcyAiZXZhbCIgc2hvdWQgYmUgc2FmZQkNCg0KCQkJdmFy
IHRpbWUgPSBNYXRoLnJvdW5kKChuZXcgRGF0ZSgpKS5nZXRUaW1lKCkgLyAxMDAw
KTsNCgkJCXZhciBzZXJ2ZXJUaW1lT2Zmc2V0ID0gdGltZSAtIGxvYWRUaW1lOw0K
DQoJCQlmb3IgKHZhciBpID0gMDsgaSA8IGZvbGxvd1VwTWV0YXMubGVuZ3RoOyAr
K2kpDQoJCQl7DQoJCQkJdmFyIGZvbGxvd1VwTWV0YSA9IGZvbGxvd1VwTWV0YXNb
aV07DQoNCgkJCQl2YXIgY29uZGl0aW9ucyA9IFtdOw0KCQkJCWZvciAodmFyIGog
PSAwOyBqIDwgZm9sbG93VXBNZXRhWzZdLmxlbmd0aDsgKytqKQ0KCQkJCXsNCgkJ
CQkJdmFyIGNvbmRpdGlvbk1ldGEgPSBmb2xsb3dVcE1ldGFbNl1bal07DQoJCQkJ
CWNvbmRpdGlvbnMucHVzaChuZXcgTVMuU3VwcG9ydC5GbXMuQ29uZGl0aW9uKGNv
bmRpdGlvbk1ldGFbMF0sIGNvbmRpdGlvbk1ldGFbMV0sIGNvbmRpdGlvbk1ldGFb
Ml0sIGNvbmRpdGlvbk1ldGFbM10pKTsNCgkJCQl9DQoJCQkJZm9sbG93VXBzLnB1
c2gobmV3IE1TLlN1cHBvcnQuRm1zLkZvbGxvd1VwKGZvbGxvd1VwTWV0YVswXSwg
bGFuZ3VhZ2UsIGZvbGxvd1VwTWV0YVsxXSwgZm9sbG93VXBNZXRhWzJdLCBmb2xs
b3dVcE1ldGFbM10gKyBzZXJ2ZXJUaW1lT2Zmc2V0LCB0aW1lLCBmb2xsb3dVcE1l
dGFbNF0sIGZvbGxvd1VwTWV0YVs1XSwgY29uZGl0aW9ucykpOw0KCQkJfQ0KCQl9
DQoNCgkJcmV0dXJuIGZvbGxvd1VwczsNCgl9DQoNCglNUy5TdXBwb3J0LkZtcy5G
b2xsb3dVcC5wYXJzZUZvbGxvd3Vwc0Nvb2tpZSA9IGZ1bmN0aW9uIChjb29raWVW
YWx1ZSkNCgl7DQoJCXZhciBmb2xsb3dVcHMgPSBbXTsNCg0KCQl2YXIgcmUgPSAv
XihcW1xbKFxkKykoLFxkKykqXF0sXCdbYS16QS1aXSsoLVthLXpBLVpdKyk/XCcs
XGQrLFxkKyxcZCssXGQrLFxkK1xdKCxcW1xbKFxkKykoLFxkKykqXF0sXCdbW2Et
ekEtWl0rKC1bYS16QS1aXSspP1wnLFxkKyxcZCssXGQrLFxkKyxcZCtcXSkqKT8k
LzsNCgkJaWYgKHJlLnRlc3QoY29va2llVmFsdWUpKQ0KCQl7DQoJCQl2YXIgbWV0
YXMgPSBldmFsKCdbJyArIGNvb2tpZVZhbHVlICsgJ10nKTsgLy8gYXMgd2UgaGF2
ZSB2ZXJmaWVkIHRoZSBjb29raWVWYWx1ZSB3aXRoIGEgc3RyaWN0IHJlZ3VsYXIg
ZXhwcmVzc2lvbiwgdGhpcyAiZXZhbCIgc2hvdWQgYmUgc2FmZQ0KDQoJCQlmb3Ig
KHZhciBpID0gMDsgaSA8IG1ldGFzLmxlbmd0aDsgKytpKQ0KCQkJew0KCQkJCXZh
ciBtZXRhID0gbWV0YXNbaV07DQoJCQkJZm9sbG93VXBzLnB1c2gobmV3IE1TLlN1
cHBvcnQuRm1zLkZvbGxvd1VwKG1ldGFbMF0sIG1ldGFbMV0sIG1ldGFbMl0sIG1l
dGFbM10sIG1ldGFbNF0sIG1ldGFbNV0sIDIsIG1ldGFbNl0sIG51bGwpKTsNCgkJ
CX0NCgkJfQ0KDQoJCXJldHVybiBmb2xsb3dVcHM7DQoJfQ0KDQoJTVMuU3VwcG9y
dC5GbXMuRm9sbG93VXAucGFja2FnZUZvbGxvd3Vwc0Nvb2tpZSA9IGZ1bmN0aW9u
IChmb2xsb3dVcHMpDQoJew0KCQl2YXIgdmFsdWVzID0gW107DQoJCWZvciAodmFy
IGkgPSAwOyBpIDwgZm9sbG93VXBzLmxlbmd0aDsgKytpKQ0KCQl7DQoJCQl2YXIg
Zm9sbG93VXAgPSBmb2xsb3dVcHNbaV07DQoJCQl2YWx1ZXMucHVzaCgNCgkJCQki
WyINCgkJCQkJKyAiWyIgKyBmb2xsb3dVcC5nZXRTdXJ2ZXlJZHMoKSArICJdIiAr
ICIsIg0KCQkJCQkrICInIiArIGZvbGxvd1VwLmdldExhbmd1YWdlKCkgKyAiJyIg
KyAiLCINCgkJCQkJKyBmb2xsb3dVcC5nZXRTdGFydE9mZnNldCgpICsgIiwiDQoJ
CQkJCSsgZm9sbG93VXAuZ2V0RW5kT2Zmc2V0KCkgKyAiLCINCgkJCQkJKyBmb2xs
b3dVcC5nZXRTZXJ2ZXJDb29yZGluYXRlKCkgKyAiLCINCgkJCQkJKyBmb2xsb3dV
cC5nZXRDbGllbnRDb29yZGluYXRlKCkgKyAiLCINCgkJCQkJKyBmb2xsb3dVcC5n
ZXRUcmlnZ2VyKCkgKw0KCQkJCSJdIg0KCQkJKTsNCgkJfQ0KDQoJCXJldHVybiB2
YWx1ZXMuam9pbigpOw0KCX0NCg0KCU1TLlN1cHBvcnQuRm1zLkZvbGxvd1VwLmdl
dE1heEZvbGxvd3Vwc0V4cGlyZVRpbWUgPSBmdW5jdGlvbiAoZm9sbG93VXBzKQ0K
CXsNCgkJdmFyIG1heFZhbHVlID0gMDsNCg0KCQlmb3IgKHZhciBpID0gMDsgaSA8
IGZvbGxvd1Vwcy5sZW5ndGg7ICsraSkNCgkJew0KCQkJdmFyIGVuZFRpbWUgPSBm
b2xsb3dVcHNbaV0uZ2V0RW5kVGltZSgpOw0KCQkJaWYgKGVuZFRpbWUgPiBtYXhW
YWx1ZSkNCgkJCXsNCgkJCQltYXhWYWx1ZSA9IGVuZFRpbWU7DQoJCQl9DQoJCX0N
Cg0KCQl2YXIgdGltZSA9IG5ldyBEYXRlKCk7DQoJCXRpbWUuc2V0VGltZShtYXhW
YWx1ZSAqIDEwMDApOw0KDQoJCXJldHVybiB0aW1lOw0KCX0NCg0KCU1TLlN1cHBv
cnQuRm1zLlN1cnZleUV4cHJlc3Npb24gPSBmdW5jdGlvbiAoc3VydmV5LCBsaXRl
cmFsKQ0KCXsNCgkJdGhpcy5ldmFsdXRlID0gZnVuY3Rpb24gKCkNCgkJew0KCQkJ
dmFyIGYgPSBuZXcgRnVuY3Rpb24oInJldHVybiAiICsgbGl0ZXJhbCk7DQoJCQly
ZXR1cm4gZi5hcHBseShzdXJ2ZXkpOw0KCQl9DQoJfQ0KDQoJTVMuU3VwcG9ydC5G
bXMuU3VydmV5ID0gZnVuY3Rpb24gKGlkLCBjb25maWcpDQoJew0KCQkvLyB1c2lu
Zw0KCQl2YXIgRm1zID0gTVMuU3VwcG9ydC5GbXM7DQoJCXZhciBVdGlscyA9IEZt
cy5VdGlsczsNCgkJdmFyIEV2ZW50ID0gRm1zLlN1cnZleUV2ZW50Ow0KCQl2YXIg
UGFnZSA9IEZtcy5TdXJ2ZXlQYWdlOw0KCQl2YXIgRm9sbG93VXAgPSBGbXMuRm9s
bG93VXA7DQoNCgkJdGhpcy5jb29raWVEb21haW4gPSBjb25maWcgPyBjb25maWcu
c2l0ZS5jb29raWVEb21haW4gOiB0eXBlb2YgKGdDb29raWVEb21haW4pICE9ICJ1
bmRlZmluZWQiID8gKGdDb29raWVEb21haW4gfHwgZG9jdW1lbnQuZG9tYWluKSA6
IGRvY3VtZW50LmRvbWFpbjsNCg0KCQl0aGlzLmlkID0gaWQ7DQoNCgkJdGhpcy5z
dXJ2ZXlUcmFja2luZ1RleHQgPSBudWxsOw0KDQoJCXZhciBsb2FkVGltZSA9IE1h
dGgucm91bmQoKG5ldyBEYXRlKCkpLmdldFRpbWUoKSAvIDEwMDApOw0KDQoJCXRo
aXMuZG9tT2JqZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOw0KCQl0
aGlzLm5hbWUgPSBVdGlscy5nZXRDaGlsZEJ5SWQodGhpcy5kb21PYmplY3QsICJz
dXJ2ZXluYW1lIikudmFsdWU7DQoNCgkJdGhpcy5pbnRyb2R1Y3Rpb24gPSBudWxs
Ow0KDQoJCXRoaXMucGFnZXMgPSBbXTsNCgkJdGhpcy50aGFua3lvdSA9IG51bGw7
DQoNCgkJdGhpcy5zdWJtaXRGaWVsZHMgPSBbXTsNCg0KCQl2YXIgaGFzU3VibWl0
dGVkID0gZmFsc2U7DQoJCXRoaXMuc3RhcnRUaW1lID0gbnVsbDsNCg0KCQkvLyBF
dmVudHMNCgkJdGhpcy5vbkJlZm9yZVN0YXJ0ID0gbmV3IEV2ZW50KCk7DQoJCXRo
aXMub25CZWZvcmVBY2NlcHQgPSBuZXcgRXZlbnQoKTsNCgkJdGhpcy5vbkJlZm9y
ZURlY2xpbmUgPSBuZXcgRXZlbnQoKTsNCgkJdGhpcy5vbkJlZm9yZUNhbmNlbCA9
IG5ldyBFdmVudCgpOw0KCQl0aGlzLm9uQmVmb3JlTmV4dCA9IG5ldyBFdmVudCgp
Ow0KCQl0aGlzLm9uQmVmb3JlUHJldmlvdXMgPSBuZXcgRXZlbnQoKTsNCgkJdGhp
cy5vbkJlZm9yZVNraXAgPSBuZXcgRXZlbnQoKTsNCgkJdGhpcy5vbkJlZm9yZUNs
b3NlID0gbmV3IEV2ZW50KCk7DQoJCXRoaXMub25CZWZvcmVTdWJtaXQgPSBuZXcg
RXZlbnQoKTsNCg0KCQl0aGlzLm9uQWZ0ZXJTdGFydCA9IG5ldyBFdmVudCgpOw0K
CQl0aGlzLm9uQWZ0ZXJBY2NlcHQgPSBuZXcgRXZlbnQoKTsNCgkJdGhpcy5vbkFm
dGVyRGVjbGluZSA9IG5ldyBFdmVudCgpOw0KCQl0aGlzLm9uQWZ0ZXJDYW5jZWwg
PSBuZXcgRXZlbnQoKTsNCgkJdGhpcy5vbkFmdGVyTmV4dCA9IG5ldyBFdmVudCgp
Ow0KCQl0aGlzLm9uQWZ0ZXJQcmV2aW91cyA9IG5ldyBFdmVudCgpOw0KCQl0aGlz
Lm9uQWZ0ZXJTa2lwID0gbmV3IEV2ZW50KCk7DQoJCXRoaXMub25BZnRlckNsb3Nl
ID0gbmV3IEV2ZW50KCk7DQoJCXRoaXMub25BZnRlclN1Ym1pdCA9IG5ldyBFdmVu
dCgpOw0KDQoJCXRoaXMub25WYWxpZGF0ZUVycm9yID0gbmV3IEV2ZW50KCk7DQoN
CgkJdGhpcy5nZXRUcmFja2luZ1RleHQgPSBmdW5jdGlvbiAoKQ0KCQl7DQoJCQlp
ZiAoY29uZmlnICYmIGNvbmZpZy50cmlnZ2VyQ29uZmlnICYmIGNvbmZpZy50cmln
Z2VyQ29uZmlnLmVudGl0eSkNCgkJCXsNCgkJCQl0aGlzLnN1cnZleVRyYWNraW5n
VGV4dCA9IGNvbmZpZy50cmlnZ2VyQ29uZmlnLmVudGl0eS5UcmFja2luZ1RleHQ7
DQoJCQl9DQoNCgkJCXZhciB0cmFja2luZ1RleHRFbGVtZW50ID0gVXRpbHMuZ2V0
Q2hpbGRCeU5hbWUodGhpcy5kb21PYmplY3QsICJ0cmFja2luZ1RleHQiKTsNCgkJ
CWlmICh0cmFja2luZ1RleHRFbGVtZW50KQ0KCQkJew0KCQkJCXRoaXMuc3VydmV5
VHJhY2tpbmdUZXh0ID0gdHJhY2tpbmdUZXh0RWxlbWVudC52YWx1ZSB8fCB0aGlz
LnN1cnZleVRyYWNraW5nVGV4dDsNCgkJCX0NCg0KCQkJcmV0dXJuIHRoaXMuc3Vy
dmV5VHJhY2tpbmdUZXh0Ow0KCQl9DQoNCgkJdGhpcy5kaXNjb3ZlckludHJvZHVj
dGlvbiA9IGZ1bmN0aW9uICgpDQoJCXsNCgkJCWlmICh0aGlzLmRvbU9iamVjdCAh
PSBudWxsKQ0KCQkJew0KCQkJCXZhciBkb21PYmplY3QgPSBVdGlscy5nZXRDaGls
ZEJ5SWQodGhpcy5kb21PYmplY3QsICJESVZfMCIpOw0KDQoJCQkJaWYgKGRvbU9i
amVjdCAhPSBudWxsKQ0KCQkJCXsNCgkJCQkJdGhpcy5pbnRyb2R1Y3Rpb24gPSBu
ZXcgUGFnZShkb21PYmplY3QsIHRoaXMpOw0KCQkJCQl0aGlzLnBhZ2VzLnB1c2go
dGhpcy5pbnRyb2R1Y3Rpb24pOw0KCQkJCX0NCgkJCX0NCgkJfQ0KDQoJCXRoaXMu
ZGlzY292ZXJQYWdlcyA9IGZ1bmN0aW9uICgpDQoJCXsNCgkJCXZhciBzZWN0aW9u
cyA9IFV0aWxzLmdldENoaWxkTm9kZXNCeUNsYXNzKHRoaXMuZG9tT2JqZWN0LCAi
U1VSVkVZU0VDVElPTiIpOw0KDQoJCQlmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4
IDwgc2VjdGlvbnMubGVuZ3RoOyArK2luZGV4KQ0KCQkJew0KCQkJCXRoaXMucGFn
ZXMucHVzaChuZXcgUGFnZShzZWN0aW9uc1tpbmRleF0sIHRoaXMpKTsNCgkJCX0N
CgkJfQ0KDQoJCXRoaXMuZGlzY292ZXJUaGFua3lvdSA9IGZ1bmN0aW9uICgpDQoJ
CXsNCgkJCWlmICh0aGlzLmRvbU9iamVjdCAhPSBudWxsKQ0KCQkJew0KCQkJCXZh
ciBkb21PYmplY3QgPSBVdGlscy5nZXRDaGlsZEJ5SWQodGhpcy5kb21PYmplY3Qs
ICJESVZfQ0xPU0UiKTsNCg0KCQkJCWlmIChkb21PYmplY3QgIT0gbnVsbCkNCgkJ
CQl7DQoJCQkJCXRoaXMudGhhbmt5b3UgPSBuZXcgUGFnZShkb21PYmplY3QsIHRo
aXMpOw0KCQkJCQl0aGlzLnBhZ2VzLnB1c2godGhpcy50aGFua3lvdSk7DQoJCQkJ
fQ0KCQkJfQ0KCQl9DQoNCgkJdGhpcy5kaXNjb3ZlckludHJvZHVjdGlvbigpOw0K
CQl0aGlzLmRpc2NvdmVyUGFnZXMoKTsNCgkJdGhpcy5kaXNjb3ZlclRoYW5reW91
KCk7DQoNCgkJdGhpcy51cmxQYXJhbWV0ZXJzID0gVXRpbHMuZ2V0VXJsUGFyYW1l
dGVycygpOw0KDQoJCXRoaXMuYWRkU3VibWl0RmllbGQgPSBmdW5jdGlvbiAoa2V5
LCB2YWx1ZSkNCgkJew0KCQkJdGhpcy5zdWJtaXRGaWVsZHNba2V5XSA9IHZhbHVl
Ow0KCQl9DQoNCgkJdmFyIGN1cnJlbnRQYWdlSW5kZXggPSAtMTsNCg0KCQl2YXIg
aGlzdG9yeSA9IFtdOw0KCQl2YXIgdmFyaWFibGVzID0gW107DQoNCgkJdGhpcy5w
b3B1bGF0ZVZhcmlhYmxlcyA9IGZ1bmN0aW9uICgpDQoJCXsNCgkJCXZhcmlhYmxl
cyA9IFtdOw0KCQkJZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IGhpc3Rvcnku
bGVuZ3RoOyArK2luZGV4KQ0KCQkJew0KCQkJCXZhciBwYWdlID0gdGhpcy5wYWdl
c1toaXN0b3J5W2luZGV4XV07DQoJCQkJaWYgKHBhZ2UubW9kaWZpZWQpDQoJCQkJ
ew0KCQkJCQl2YXIgc3ViVmFyaWFibGVzID0gcGFnZS5nZXRWYXJpYWJsZXMoKTsN
CgkJCQkJZm9yICh2YXIga2V5IGluIHN1YlZhcmlhYmxlcykNCgkJCQkJew0KCQkJ
CQkJdmFyaWFibGVzW2tleV0gPSBzdWJWYXJpYWJsZXNba2V5XTsNCgkJCQkJfQ0K
CQkJCX0NCgkJCX0NCgkJfQ0KDQoJCXRoaXMuZ2V0VmFyaWFibGVzID0gZnVuY3Rp
b24gKCkNCgkJew0KCQkJcmV0dXJuIHZhcmlhYmxlczsNCgkJfQ0KDQoJCXRoaXMu
Z2V0VmFyaWFibGUgPSBmdW5jdGlvbiAobmFtZSkNCgkJew0KCQkJcmV0dXJuIHZh
cmlhYmxlc1tuYW1lXTsNCgkJfQ0KDQoJCXRoaXMuaXNEZWZpbmVkID0gZnVuY3Rp
b24gKG5hbWUpDQoJCXsNCgkJCWlmICh0aGlzLmdldFZhcmlhYmxlKG5hbWUpICE9
IG51bGwpDQoJCQl7DQoJCQkJcmV0dXJuIHRydWU7DQoJCQl9DQoJCQllbHNlDQoJ
CQl7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0KCQl9DQoNCgkJdGhpcy5ldmFs
dXRlID0gZnVuY3Rpb24gKGV4cHJlc3Npb24pDQoJCXsNCgkJCXZhciBleHAgPSBu
ZXcgTVMuU3VwcG9ydC5GbXMuU3VydmV5RXhwcmVzc2lvbih0aGlzLCBleHByZXNz
aW9uKTsNCgkJCXJldHVybiBleHAuZXZhbHV0ZSgpOw0KCQl9DQoNCgkJdGhpcy5F
dmFsdWF0ZUNvbnRleHRWaXNpYmlsaXR5ID0gZnVuY3Rpb24gKGVsZW1lbnQpDQoJ
CXsNCgkJCXZhciBjb250ZXh0Q29uZGl0aW9uID0gZWxlbWVudC5nZXRBdHRyaWJ1
dGUoInNob3dJZiIpOw0KCQkJaWYgKGNvbnRleHRDb25kaXRpb24gPT0gbnVsbCB8
fCBjb250ZXh0Q29uZGl0aW9uID09ICIiKQ0KCQkJew0KCQkJCXJldHVybiAiTm90
RXhpc3QiOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCXZhciByZXRWYWwgPSAi
RXZhbEZhbHNlIjsNCgkJCQl0cnkNCgkJCQl7DQoJCQkJCXZhciBleHBXcmFwcGVy
ID0gbmV3IE1TLlN1cHBvcnQuRm1zLkV4cHJlc3Npb25XcmFwcGVyKGNvbnRleHRD
b25kaXRpb24sIHRoaXMpOw0KCQkJCQlyZXRWYWwgPSBleHBXcmFwcGVyLkV4ZWN1
dGUoKTsNCgkJCQkJaWYgKHR5cGVvZiAocmV0VmFsKSA9PSAidW5kZWZpbmVkIiB8
fCByZXRWYWwgPT0gbnVsbCkNCgkJCQkJew0KCQkJCQkJcmV0VmFsID0gIk5vdEV4
aXN0IjsNCgkJCQkJfQ0KCQkJCQllbHNlIGlmIChyZXRWYWwudG9TdHJpbmcoKSA9
PSAidHJ1ZSIpDQoJCQkJCXsNCgkJCQkJCXJldFZhbCA9ICJFdmFsVHJ1ZSI7DQoJ
CQkJCX0NCgkJCQkJZWxzZSBpZiAocmV0VmFsLnRvU3RyaW5nKCkgPT0gImZhbHNl
IiB8fCAhL14oTm90RXhpc3R8RXZhbFRydWV8RXZhbEZhbHNlKSQvZy50ZXN0KHJl
dFZhbCkpDQoJCQkJCXsNCgkJCQkJCXJldFZhbCA9ICJFdmFsRmFsc2UiOw0KCQkJ
CQl9DQoJCQkJfQ0KCQkJCWNhdGNoIChlKQ0KCQkJCXsNCgkJCQkJcmV0VmFsID0g
Ik5vdEV4aXN0IjsNCgkJCQl9DQoJCQkJcmV0dXJuIHJldFZhbDsNCgkJCX0NCgkJ
fQ0KDQoJCXRoaXMuc3RhcnQgPSBmdW5jdGlvbiAoKQ0KCQl7DQoJCQlpZiAodGhp
cy5vbkJlZm9yZVN0YXJ0LmZpcmUodGhpcywgbnVsbCkpDQoJCQl7DQoJCQkJdGhp
cy5zaG93KCk7DQoJCQkJaWYgKHRoaXMucGFnZXMubGVuZ3RoID4gMCkNCgkJCQl7
DQoJCQkJCWN1cnJlbnRQYWdlSW5kZXggPSAtMTsNCg0KCQkJCQl0aGlzLm5leHQo
KTsNCgkJCQl9DQoNCgkJCQlpZiAodHlwZW9mICh0aGlzLnN0YXJ0VGltZSkgPT0g
InVuZGVmaW5lZCIgfHwgdGhpcy5zdGFydFRpbWUgPT0gbnVsbCkNCgkJCQl7DQoJ
CQkJCXRoaXMuc3RhcnRUaW1lID0gbmV3IERhdGUoKTsNCgkJCQl9DQoNCgkJCQl0
aGlzLm9uQWZ0ZXJTdGFydC5maXJlKHRoaXMsIG51bGwpOw0KCQkJfQ0KCQl9DQoN
CgkJdGhpcy5maW5kUGFnZUluZGV4QnlQYWdlSWQgPSBmdW5jdGlvbiAocGFnZUlk
KQ0KCQl7DQoJCQlmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgdGhpcy5wYWdl
cy5sZW5ndGg7ICsraW5kZXgpDQoJCQl7DQoJCQkJaWYgKHRoaXMucGFnZXNbaW5k
ZXhdLmdldFBhZ2VJZCgpID09IHBhZ2VJZCkNCgkJCQl7DQoJCQkJCXJldHVybiBp
bmRleDsNCgkJCQl9DQoJCQl9DQoNCgkJCXJldHVybiAtMTsNCgkJfQ0KDQoJCXRo
aXMuZ2V0UGFnZUJ5SWQgPSBmdW5jdGlvbiAocGFnZUlkKQ0KCQl7DQoJCQl2YXIg
aW5kZXggPSB0aGlzLmZpbmRQYWdlSW5kZXhCeVBhZ2VJZChwYWdlSWQpOw0KCQkJ
aWYgKGluZGV4ICE9IC0xKQ0KCQkJew0KCQkJCXJldHVybiB0aGlzLnBhZ2VzW2lu
ZGV4XTsNCgkJCX0NCg0KCQkJcmV0dXJuIG51bGw7DQoJCX0NCg0KCQl0aGlzLmdl
dFBhZ2VCeUVsZW1lbnQgPSBmdW5jdGlvbiAoZWxlbWVudCkNCgkJew0KCQkJZm9y
ICh2YXIgaSA9IDA7IGkgPCB0aGlzLnBhZ2VzLmxlbmd0aDsgKytpKQ0KCQkJew0K
CQkJCWlmIChVdGlscy5pc0FuY2VzdG9yT2YodGhpcy5wYWdlc1tpXS5kb21PYmpl
Y3QsIGVsZW1lbnQpKQ0KCQkJCXsNCgkJCQkJcmV0dXJuIHRoaXMucGFnZXNbaV07
DQoJCQkJfQ0KCQkJfQ0KDQoJCQlyZXR1cm4gbnVsbDsNCgkJfQ0KDQoJCXRoaXMu
Z2V0Q3VycmVudFBhZ2UgPSBmdW5jdGlvbiAoKQ0KCQl7DQoJCQlyZXR1cm4gdGhp
cy5wYWdlc1tjdXJyZW50UGFnZUluZGV4XTsNCgkJfQ0KDQoJCXRoaXMubmV4dCA9
IGZ1bmN0aW9uICgpDQoJCXsNCgkJCWlmIChjdXJyZW50UGFnZUluZGV4ID49IHRo
aXMucGFnZXMubGVuZ3RoIHx8ICh0aGlzLnRoYW5reW91ICE9IG51bGwgJiYgdGhp
cy5wYWdlc1tjdXJyZW50UGFnZUluZGV4XSA9PSB0aGlzLnRoYW5reW91KSkNCgkJ
CXsNCgkJCQlyZXR1cm4gZmFsc2U7DQoJCQl9DQoNCgkJCWlmICh0aGlzLm9uQmVm
b3JlTmV4dC5maXJlKHRoaXMsIG51bGwpKQ0KCQkJew0KCQkJCWlmIChjdXJyZW50
UGFnZUluZGV4ID09IC0xKQ0KCQkJCXsNCgkJCQkJY3VycmVudFBhZ2VJbmRleCA9
IDA7DQoNCgkJCQkJaWYgKGN1cnJlbnRQYWdlSW5kZXggPj0gdGhpcy5wYWdlcy5s
ZW5ndGgpDQoJCQkJCXsNCgkJCQkJCXRoaXMuc3VibWl0KCk7DQoJCQkJCX0NCgkJ
CQkJZWxzZQ0KCQkJCQl7DQoJCQkJCQl2YXIgc2hvd3BhZ2UgPSBwYXJzZUludChV
dGlscy5nZXRDaGlsZEJ5SWQodGhpcy5kb21PYmplY3QsICJzaG93cGFnZSIpLnZh
bHVlKTsNCgkJCQkJCS8vIGRpc3BsYXkgdGhlIHBhZ2Ugc3BlY2lmaWVkIGJ5IHNo
b3dwYWdlDQoJCQkJCQlpZiAoc2hvd3BhZ2UgPiAxICYmIHNob3dwYWdlIDw9IHRo
aXMucGFnZXMubGVuZ3RoKQ0KCQkJCQkJew0KCQkJCQkJCWZvciAodmFyIGkgPSAw
OyBpIDwgc2hvd3BhZ2UgLSAxOyBpKyspDQoJCQkJCQkJew0KCQkJCQkJCQloaXN0
b3J5LnB1c2goaSk7DQoJCQkJCQkJfQ0KDQoJCQkJCQkJY3VycmVudFBhZ2VJbmRl
eCA9IHNob3dwYWdlIC0gMTsNCgkJCQkJCX0NCgkJCQkJCS8vIGlmIHRoZSB2YWx1
ZSBvZiBzaG93cGFnZSBpcyBvdXQgb2YgdGhlIHBhZ2VzIGFycmF5LCB0aGVuIGRp
c3BsYXkgdGhlIHRoYW5reW91IHBhZ2UNCgkJCQkJCWVsc2UgaWYgKHNob3dwYWdl
ID4gdGhpcy5wYWdlcy5sZW5ndGgpDQoJCQkJCQl7DQoJCQkJCQkJY3VycmVudFBh
Z2VJbmRleCA9IHRoaXMucGFnZXMubGVuZ3RoIC0gMTsNCgkJCQkJCX0NCg0KCQkJ
CQkJdGhpcy5wYWdlc1tjdXJyZW50UGFnZUluZGV4XS5zaG93KCk7DQoJCQkJCQl0
aGlzLnBhZ2VzW2N1cnJlbnRQYWdlSW5kZXhdLnNhdmUoKTsNCgkJCQkJfQ0KCQkJ
CX0NCgkJCQllbHNlDQoJCQkJew0KCQkJCQl2YXIgdmFsaWRhdGVSZXN1bHQgPSB0
aGlzLnBhZ2VzW2N1cnJlbnRQYWdlSW5kZXhdLnZhbGlkYXRlKCk7DQoJCQkJCWlm
ICh2YWxpZGF0ZVJlc3VsdC5pc1ZhbGlkKQ0KCQkJCQl7DQoJCQkJCQloaXN0b3J5
LnB1c2goY3VycmVudFBhZ2VJbmRleCk7DQoJCQkJCQl0aGlzLnBhZ2VzW2N1cnJl
bnRQYWdlSW5kZXhdLmhpZGUoKTsNCgkJCQkJCXRoaXMucGFnZXNbY3VycmVudFBh
Z2VJbmRleF0ubW9kaWZpZWQgPSB0cnVlOw0KCQkJCQkJdGhpcy5wYWdlc1tjdXJy
ZW50UGFnZUluZGV4XS5wb3B1bGF0ZVZhcmlhYmxlcygpOw0KCQkJCQkJdGhpcy5w
b3B1bGF0ZVZhcmlhYmxlcygpOw0KDQoJCQkJCQl2YXIgbmV4dFBhZ2VJbmRleCA9
IC0xOw0KDQoJCQkJCQl2YXIgbmV4dFBhZ2VJZCA9IHRoaXMucGFnZXNbY3VycmVu
dFBhZ2VJbmRleF0uZ2V0TmV4dFBhZ2VCeUJyYW5jaFJ1bGUoKTsNCg0KCQkJCQkJ
aWYgKG5leHRQYWdlSWQgPiAwKQ0KCQkJCQkJew0KCQkJCQkJCW5leHRQYWdlSW5k
ZXggPSB0aGlzLmZpbmRQYWdlSW5kZXhCeVBhZ2VJZChuZXh0UGFnZUlkKTsNCgkJ
CQkJCX0NCg0KCQkJCQkJaWYgKG5leHRQYWdlSW5kZXggIT0gLTEgJiYgbmV4dFBh
Z2VJbmRleCAhPSBjdXJyZW50UGFnZUluZGV4KQ0KCQkJCQkJew0KCQkJCQkJCWN1
cnJlbnRQYWdlSW5kZXggPSBuZXh0UGFnZUluZGV4Ow0KCQkJCQkJfQ0KCQkJCQkJ
ZWxzZQ0KCQkJCQkJew0KCQkJCQkJCSsrY3VycmVudFBhZ2VJbmRleDsNCgkJCQkJ
CX0NCg0KCQkJCQkJaWYgKGN1cnJlbnRQYWdlSW5kZXggPj0gdGhpcy5wYWdlcy5s
ZW5ndGggfHwgdGhpcy50aGFua3lvdSAhPSBudWxsICYmICh0aGlzLnBhZ2VzW2N1
cnJlbnRQYWdlSW5kZXhdID09IHRoaXMudGhhbmt5b3UpKQ0KCQkJCQkJew0KCQkJ
CQkJCXRoaXMuc3VibWl0KCk7DQoJCQkJCQl9DQoJCQkJCQllbHNlDQoJCQkJCQl7
DQoJCQkJCQkJdmFyIHBhZ2UgPSB0aGlzLnBhZ2VzW2N1cnJlbnRQYWdlSW5kZXhd
Ow0KCQkJCQkJCXBhZ2Uuc2hvdygpOw0KCQkJCQkJCXBhZ2Uuc2F2ZSgpOw0KCQkJ
CQkJCWlmIChwYWdlLmlnbm9yZWQpDQoJCQkJCQkJew0KCQkJCQkJCQl0aGlzLnNr
aXAoKTsNCgkJCQkJCQl9DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQkJZWxzZQ0KCQkJ
CQl7DQoJCQkJCQl0aGlzLm9uVmFsaWRhdGVFcnJvci5maXJlKHRoaXMsIHZhbGlk
YXRlUmVzdWx0KTsNCgkJCQkJCXJldHVybiBmYWxzZTsNCgkJCQkJfQ0KCQkJCX0N
Cg0KCQkJCXRoaXMub25BZnRlck5leHQuZmlyZSh0aGlzLCBudWxsKTsNCgkJCQly
ZXR1cm4gdHJ1ZTsNCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQlyZXR1cm4gZmFs
c2U7DQoJCQl9DQoJCX0NCg0KCQl0aGlzLnNraXAgPSBmdW5jdGlvbiAoKQ0KCQl7
DQoJCQlpZiAodGhpcy5vbkJlZm9yZVNraXAuZmlyZSh0aGlzLCBudWxsKSkNCgkJ
CXsNCgkJCQlpZiAoY3VycmVudFBhZ2VJbmRleCA8IDApDQoJCQkJew0KCQkJCQl0
aHJvdyAiY3VycmVudFBhZ2VJbmRleCA8IDAiOw0KCQkJCX0NCgkJCQllbHNlIGlm
ICh0aGlzLnBhZ2VzW2N1cnJlbnRQYWdlSW5kZXhdLmlzUmVxdWlyZWQoKSAmJiAh
dGhpcy5wYWdlc1tjdXJyZW50UGFnZUluZGV4XS5pZ25vcmVkKQ0KCQkJCXsNCgkJ
CQkJdGhyb3cgIkNhbm5vdCBza2lwIGEgcmVxdWlyZWQgcXVlc3Rpb24uIjsNCgkJ
CQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJaGlzdG9yeS5wdXNoKGN1cnJlbnRQ
YWdlSW5kZXgpOw0KCQkJCQl0aGlzLnBhZ2VzW2N1cnJlbnRQYWdlSW5kZXhdLnJl
c3RvcmUoKTsNCgkJCQkJdGhpcy5wYWdlc1tjdXJyZW50UGFnZUluZGV4XS5oaWRl
KCk7DQoJCQkJCXRoaXMucGFnZXNbY3VycmVudFBhZ2VJbmRleF0ubW9kaWZpZWQg
PSBmYWxzZTsNCgkJCQkJdGhpcy5wb3B1bGF0ZVZhcmlhYmxlcygpOw0KDQoJCQkJ
CXZhciBuZXh0UGFnZUluZGV4ID0gLTE7DQoNCgkJCQkJdmFyIG5leHRQYWdlSWQg
PSB0aGlzLnBhZ2VzW2N1cnJlbnRQYWdlSW5kZXhdLmdldE5leHRQYWdlQnlCcmFu
Y2hSdWxlKCk7DQoNCgkJCQkJaWYgKG5leHRQYWdlSWQgPiAwKQ0KCQkJCQl7DQoJ
CQkJCQluZXh0UGFnZUluZGV4ID0gdGhpcy5maW5kUGFnZUluZGV4QnlQYWdlSWQo
bmV4dFBhZ2VJZCk7DQoJCQkJCX0NCg0KCQkJCQlpZiAobmV4dFBhZ2VJbmRleCAh
PSAtMSAmJiBuZXh0UGFnZUluZGV4ICE9IGN1cnJlbnRQYWdlSW5kZXgpDQoJCQkJ
CXsNCgkJCQkJCWN1cnJlbnRQYWdlSW5kZXggPSBuZXh0UGFnZUluZGV4Ow0KCQkJ
CQl9DQoJCQkJCWVsc2UNCgkJCQkJew0KCQkJCQkJKytjdXJyZW50UGFnZUluZGV4
Ow0KCQkJCQl9DQoNCgkJCQkJaWYgKGN1cnJlbnRQYWdlSW5kZXggPj0gdGhpcy5w
YWdlcy5sZW5ndGggfHwgdGhpcy50aGFua3lvdSAhPSBudWxsICYmICh0aGlzLnBh
Z2VzW2N1cnJlbnRQYWdlSW5kZXhdID09IHRoaXMudGhhbmt5b3UpKQ0KCQkJCQl7
DQoJCQkJCQl0aGlzLnN1Ym1pdCgpOw0KCQkJCQl9DQoJCQkJCWVsc2UNCgkJCQkJ
ew0KCQkJCQkJdmFyIHBhZ2UgPSB0aGlzLnBhZ2VzW2N1cnJlbnRQYWdlSW5kZXhd
Ow0KCQkJCQkJcGFnZS5zaG93KCk7DQoJCQkJCQlwYWdlLnNhdmUoKTsNCgkJCQkJ
CWlmIChwYWdlLmlnbm9yZWQpDQoJCQkJCQl7DQoJCQkJCQkJdGhpcy5za2lwKCk7
DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9DQoNCgkJCQl0aGlzLm9uQWZ0ZXJTa2lw
LmZpcmUodGhpcywgbnVsbCk7DQoJCQl9DQoJCX0NCg0KCQl0aGlzLnByZXZpb3Vz
ID0gZnVuY3Rpb24gKCkNCgkJew0KCQkJaWYgKHRoaXMub25CZWZvcmVQcmV2aW91
cy5maXJlKHRoaXMsIG51bGwpKQ0KCQkJew0KCQkJCWlmIChjdXJyZW50UGFnZUlu
ZGV4IDw9IDApDQoJCQkJew0KCQkJCQl0aHJvdyAiY3VycmVudFBhZ2VJbmRleCA8
PSAwIjsNCgkJCQl9DQoNCgkJCQlpZiAoaGlzdG9yeS5sZW5ndGggPT0gMCkNCgkJ
CQl7DQoJCQkJCXRocm93ICJoaXN0b3J5Lmxlbmd0aCA9PSAwIjsNCgkJCQl9DQoN
CgkJCQl2YXIgbGFzdFBhZ2VJbmRleCA9IGhpc3RvcnkucG9wKCk7DQoJCQkJdGhp
cy5wYWdlc1tjdXJyZW50UGFnZUluZGV4XS5oaWRlKCk7DQoJCQkJdGhpcy5wYWdl
c1tjdXJyZW50UGFnZUluZGV4XS5tb2RpZmllZCA9IGZhbHNlOw0KCQkJCWN1cnJl
bnRQYWdlSW5kZXggPSBsYXN0UGFnZUluZGV4Ow0KCQkJCXRoaXMucG9wdWxhdGVW
YXJpYWJsZXMoKTsNCgkJCQl2YXIgcGFnZSA9IHRoaXMucGFnZXNbY3VycmVudFBh
Z2VJbmRleF07DQoJCQkJcGFnZS5zaG93KCk7DQoJCQkJcGFnZS5zYXZlKCk7DQoJ
CQkJaWYgKHBhZ2UuaWdub3JlZCkNCgkJCQl7DQoJCQkJCXRoaXMucHJldmlvdXMo
KTsNCgkJCQl9DQoJCQl9DQoNCgkJCXRoaXMub25BZnRlclByZXZpb3VzLmZpcmUo
dGhpcywgbnVsbCk7DQoJCX0NCg0KCQl0aGlzLmFjY2VwdCA9IGZ1bmN0aW9uICgp
DQoJCXsNCgkJCWlmICh0aGlzLm9uQmVmb3JlQWNjZXB0LmZpcmUodGhpcywgbnVs
bCkpDQoJCQl7DQoJCQkJaWYgKHRoaXMubmV4dCgpKQ0KCQkJCXsNCgkJCQkJdGhp
cy5vbkFmdGVyQWNjZXB0LmZpcmUoKTsNCgkJCQl9DQoJCQl9DQoJCX0NCg0KCQl0
aGlzLmRlY2xpbmUgPSBmdW5jdGlvbiAoKQ0KCQl7DQoJCQlpZiAodGhpcy5vbkJl
Zm9yZURlY2xpbmUuZmlyZSh0aGlzLCBudWxsKSkNCgkJCXsNCgkJCQlpZiAodGhp
cy5jYW5jZWwoKSkNCgkJCQl7DQoJCQkJCXRoaXMuaW50cm9kdWN0aW9uLmhpZGUo
KTsNCgkJCQkJdGhpcy5vbkFmdGVyRGVjbGluZS5maXJlKHRoaXMsIG51bGwpOw0K
CQkJCX0NCgkJCX0NCgkJfQ0KDQoJCXRoaXMuY2xvc2UgPSBmdW5jdGlvbiAoKQ0K
CQl7DQoJCQlpZiAodGhpcy5vbkJlZm9yZUNsb3NlLmZpcmUodGhpcywgbnVsbCkp
DQoJCQl7DQoJCQkJd2luZG93LmNsb3NlKCk7DQoJCQkJdGhpcy5vbkFmdGVyQ2xv
c2UuZmlyZSh0aGlzLCBudWxsKTsNCgkJCX0NCgkJfQ0KDQoJCXRoaXMuY2FuY2Vs
ID0gZnVuY3Rpb24gKCkNCgkJew0KCQkJaWYgKHRoaXMub25CZWZvcmVDYW5jZWwu
ZmlyZSh0aGlzLCBudWxsKSkNCgkJCXsNCgkJCQl0aGlzLnN1Ym1pdCgiY2FuY2Vs
Iik7DQoJCQkJdGhpcy5vbkFmdGVyQ2FuY2VsLmZpcmUodGhpcywgbnVsbCk7DQoJ
CQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0KDQoJ
CQlyZXR1cm4gdHJ1ZTsNCgkJfQ0KDQoJCXRoaXMuZ2l2ZXVwID0gZnVuY3Rpb24g
KCkNCgkJew0KCQkJaWYgKHRoaXMucGFnZXNbY3VycmVudFBhZ2VJbmRleF0gIT0g
bnVsbCkNCgkJCXsNCgkJCQl0aGlzLnBhZ2VzW2N1cnJlbnRQYWdlSW5kZXhdLnJl
c3RvcmUoKTsNCgkJCX0NCgkJCXRoaXMuc3VibWl0KCJnaXZldXAiKTsNCgkJfQ0K
DQoJCXRoaXMuc3RvcCA9IGZ1bmN0aW9uICgpDQoJCXsNCgkJCXZhciBwYXJhbWV0
ZXJzID0gd2luZG93LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSkuc3BsaXQo
IiYiKTsNCgkJCXZhciBxdWVyeXN0cmluZyA9ICIiOw0KCQkJZm9yICh2YXIgaSA9
IDA7IHBhcmFtZXRlcnMubGVuZ3RoID4gaTsgaSsrKQ0KCQkJew0KCQkJCWlmICgw
ID4gcGFyYW1ldGVyc1tpXS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoInNob3d0eXBl
PSIpKQ0KCQkJCXsNCgkJCQkJcXVlcnlzdHJpbmcgKz0gIiYiICsgcGFyYW1ldGVy
c1tpXTsNCgkJCQl9DQoJCQl9DQoJCQlxdWVyeXN0cmluZyArPSAiJnNob3d0eXBl
PTUiOw0KCQkJd2luZG93LmxvY2F0aW9uLnNlYXJjaCA9ICI/IiArIHF1ZXJ5c3Ry
aW5nLnN1YnN0cmluZygxKTsNCgkJfQ0KDQoJCXRoaXMuZ2V0U3VydmV5SWQgPSBm
dW5jdGlvbiAoKQ0KCQl7DQoJCQlyZXR1cm4gdGhpcy5zdWJtaXRGaWVsZHNbIlNV
UlZFWUlEIl0gfHwgMDsNCgkJfQ0KDQoJCXRoaXMuZ2V0U2l0ZSA9IGZ1bmN0aW9u
ICgpDQoJCXsNCgkJCXJldHVybiB0aGlzLnN1Ym1pdEZpZWxkc1siU0lURSJdIHx8
IChjb25maWcgPyBjb25maWcuc2l0ZS5uYW1lLnRvVXBwZXJDYXNlKCkgOiAiR04i
KTsNCgkJfQ0KDQoJCXRoaXMuZ2V0Q29udGV4dCA9IGZ1bmN0aW9uICgpDQoJCXsN
CgkJCXJldHVybiBjb25maWcgPyBjb25maWcuY29udGV4dCA6IHRoaXMuY29udGV4
dDsNCgkJfQ0KDQoJCXRoaXMuZ2V0UmVnaW9uID0gZnVuY3Rpb24gKCkNCgkJew0K
CQkJcmV0dXJuIHRoaXMuc3VibWl0RmllbGRzWyJSRUdJT05JRCJdIHx8ICJFTi1V
UyI7DQoJCX0NCg0KCQl0aGlzLmdldFN1cnZleUxhbmd1YWdlQ29kZSA9IGZ1bmN0
aW9uICgpDQoJCXsNCgkJCXJldHVybiB0aGlzLnN1Ym1pdEZpZWxkc1siU1VSVkVZ
TEFOR0NPREUiXSB8fCAiRU4iOw0KCQl9DQoNCgkJdGhpcy5nZXRRdWFsaWZpZWRG
b2xsb3dVcHMgPSBmdW5jdGlvbiAoYWN0aW9uKQ0KCQl7DQoJCQl2YXIgZm9sbG93
VXBzRmllbGQgPSBVdGlscy5nZXRDaGlsZEJ5SWQodGhpcy5kb21PYmplY3QsICJm
b2xsb3d1cHMiKTsNCg0KCQkJdmFyIGZvbGxvd1VwcyA9IEZvbGxvd1VwLnBhcnNl
Rm9sbG93dXBzRmllbGQoZm9sbG93VXBzRmllbGQgPyBmb2xsb3dVcHNGaWVsZC52
YWx1ZSA6ICIiLCB0aGlzLmdldFN1cnZleUxhbmd1YWdlQ29kZSgpLCBsb2FkVGlt
ZSk7DQoJCQl2YXIgcXVhbGlmaWVkRm9sbG93VXBzID0gW107DQoNCgkJCWZvciAo
dmFyIGkgPSAwOyBpIDwgZm9sbG93VXBzLmxlbmd0aDsgKytpKQ0KCQkJew0KCQkJ
CXZhciBmb2xsb3dVcCA9IGZvbGxvd1Vwc1tpXTsNCgkJCQlpZiAoZm9sbG93VXAu
ZXZhbHV0ZSh0aGlzLCAhKGFjdGlvbiA9PSAicGVyc2lzdCIpKSkNCgkJCQl7DQoJ
CQkJCXF1YWxpZmllZEZvbGxvd1Vwcy5wdXNoKGZvbGxvd1VwKTsNCgkJCQl9DQoJ
CQl9DQoNCgkJCXJldHVybiBxdWFsaWZpZWRGb2xsb3dVcHM7DQoJCX0NCg0KCQl0
aGlzLmF0dGFjaEZvbGxvd1VwU3VydmV5cyA9IGZ1bmN0aW9uIChhY3Rpb24pDQoJ
CXsNCgkJCWlmICh0aGlzLmlzSW52aXRhdGlvbiB8fCB0aGlzLmlzUHJldmlldyB8
fCB0aGlzLnN1cHByZXNzU3VibWlzc2lvbiB8fCB0aGlzLmlzU2hvd0FsbCkNCgkJ
CXsNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCXZhciBmb2xsb3d1cHMgPSB0aGlz
LmdldFF1YWxpZmllZEZvbGxvd1VwcyhhY3Rpb24pOyAvL2dldCBxdWFsaWZpZWQg
Zm9sbG93LXVwcyBvZiBjdXJyZW50IHN1cnZleQ0KDQoJCQlpZiAoZm9sbG93dXBz
Lmxlbmd0aCA+IDApDQoJCQl7DQoJCQkJdmFyIGZvbGxvd3VwQ29va2llS2V5ID0g
ImZtc2ZvbGxvd3VwcyIgKyAoIlNUXyIgKyB0aGlzLmdldFNpdGUoKSArICJfIiAr
IHRoaXMuZ2V0UmVnaW9uKCkpLnRvVXBwZXJDYXNlKCk7DQoNCgkJCQkvLyBtZXJn
ZSB1bmV4cGlyZWQgZXhpc3RpbmcgZm9sbG93LXVwcyB3aXRoIG5ldyBxdWFsaWZp
ZWQgZm9sbG93LXVwcw0KCQkJCXZhciBleGlzdGluZ0ZvbGxvd3VwcyA9IEZvbGxv
d1VwLnBhcnNlRm9sbG93dXBzQ29va2llKFV0aWxzLmdldENvb2tpZShmb2xsb3d1
cENvb2tpZUtleSkpOw0KDQoJCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBleGlzdGlu
Z0ZvbGxvd3Vwcy5sZW5ndGg7ICsraSkNCgkJCQl7DQoJCQkJCXZhciBmb2xsb3d1
cCA9IGV4aXN0aW5nRm9sbG93dXBzW2ldOw0KCQkJCQlpZiAoIWZvbGxvd3VwLmlz
RXhwaXJlZCgpKQ0KCQkJCQl7DQoJCQkJCQlmb2xsb3d1cHMucHVzaChmb2xsb3d1
cCk7DQoJCQkJCX0NCgkJCQl9DQoNCgkJCQlVdGlscy5zZXRDb29raWUoDQoJCQkJ
CWZvbGxvd3VwQ29va2llS2V5LA0KCQkJCS8vIHBhY2thZ2Ugc3VydmV5IGxhbmd1
YWdlLCBmb2xsb3d1cHMod2l0aG91dCBjb25kaXRpb25zKSBhbmQgY3VycmVudCB0
aW1lIHRpY2tldCBpbnRvIGEgc3RyaW5nDQoJCQkJLy8gZS5nLiwgW2VuLFsxNDg4
LDE0ODldLDg2NDAwLDE3MjgwMCw2MzM1NzA5MDY3OCwxMjIxNDY1MDk3XSxbZW4s
WzE0ODldLCA4NjQwMCwxNzI4MDAsNjMzNTcwOTA2NzgsMTIyMTQ2NTA5N11dDQoJ
CQkJLy8gZW4gaXMgdGhlIHN1cnZleSBsYW5ndWFnZQ0KCQkJCS8vIDYzMzU3MDkw
Njc4IGlzIHRoZSBzZXJ2ZXItc2lkZSB0aW1lIHRpY2tldCAoaW4gc2Vjb25kcywg
cGx1cyB0aGUgb2Zmc2V0IGZyb20gbG9hZGluZyB0byBzdWJtaXR0aW5nKQ0KCQkJ
CS8vIDEyMjExMzA3NjE3NSBpcyB0aGUgY2xpZW50LXNpZGUgdGltZSB0aWNrZXQg
KGluIHNlY29uZHMpLg0KCQkJCQlGb2xsb3dVcC5wYWNrYWdlRm9sbG93dXBzQ29v
a2llKGZvbGxvd3VwcyksDQoJCQkJLy8gY29va2llIGV4cGlyZSB0aW1lLCBlc3Rp
bWF0ZSBlbmQgdGltZSBvZiBlYWNoIGZvbGxvd3VwLCBhbmQgcmV0dXJuIHRoZSBt
YXggdmFsdWUgb2YgdGhlbQ0KCQkJCQlGb2xsb3dVcC5nZXRNYXhGb2xsb3d1cHNF
eHBpcmVUaW1lKGZvbGxvd3VwcyksDQoJCQkJCXRoaXMuY29va2llRG9tYWluDQoJ
CQkJKTsNCgkJCX0NCgkJfQ0KDQoJCXRoaXMuZ2V0UHJldmVudE11bHRpcGxlUmVz
cG9uc2VzQ29va2llS2V5ID0gZnVuY3Rpb24gKCkNCgkJew0KCQkJcmV0dXJuICgi
Zm1zcG1yXyIgKyB0aGlzLmdldFN1cnZleUlkKCkgKyAiXyIgKyB0aGlzLmdldFN1
cnZleUxhbmd1YWdlQ29kZSgpKS50b1VwcGVyQ2FzZSgpOw0KCQl9DQoNCgkJdGhp
cy5hdHRhY2hQcmV2ZW50TXVsdGlwbGVSZXNwb25zZXNEdXJhdGlvbiA9IGZ1bmN0
aW9uIChhY3Rpb24pDQoJCXsNCgkJCWlmICh0aGlzLmlzSW52aXRhdGlvbiB8fCB0
aGlzLmlzUHJldmlldyB8fCB0aGlzLnN1cHByZXNzU3VibWlzc2lvbiB8fCB0aGlz
LmlzU2hvd0FsbCB8fCBhY3Rpb24gIT0gInBlcnNpc3QiKQ0KCQkJew0KCQkJCXJl
dHVybjsNCgkJCX0NCg0KCQkJaWYgKHRoaXMuZ2V0U3VydmV5SWQoKSA9PSAwKQ0K
CQkJew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJdmFyIGR1cmF0aW9uID0gbnVs
bDsNCg0KCQkJdmFyIGR1cmF0aW9uRmllbGQgPSBVdGlscy5nZXRDaGlsZEJ5SWQo
dGhpcy5kb21PYmplY3QsICJub011bHRpcGxlUmVzcG9uc2VzRHVyYXRpb24iKTsN
CgkJCWlmIChkdXJhdGlvbkZpZWxkKQ0KCQkJew0KCQkJCWR1cmF0aW9uID0gZHVy
YXRpb25GaWVsZC52YWx1ZTsNCg0KCQkJCXZhciBleHBpcmVzID0gbnVsbDsNCg0K
CQkJCWlmIChkdXJhdGlvbiA9PSAic2Vzc2lvbiIpDQoJCQkJew0KCQkJCQlleHBp
cmVzID0gbnVsbDsNCgkJCQl9DQoJCQkJZWxzZSBpZiAoZHVyYXRpb24gPT0gInBl
cm1hbmVudGx5IikNCgkJCQl7DQoJCQkJCWV4cGlyZXMgPSBuZXcgRGF0ZSgpOw0K
CQkJCQlleHBpcmVzLnNldEZ1bGxZZWFyKGV4cGlyZXMuZ2V0RnVsbFllYXIoKSAr
IDEwKTsNCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJdmFyIHZhbHVlID0g
cGFyc2VJbnQoZHVyYXRpb24pOw0KCQkJCQlpZiAoaXNOYU4odmFsdWUpKQ0KCQkJ
CQl7DQoJCQkJCQlyZXR1cm47DQoJCQkJCX0NCgkJCQkJZWxzZQ0KCQkJCQl7DQoJ
CQkJCQlleHBpcmVzID0gbmV3IERhdGUoKTsNCgkJCQkJCWV4cGlyZXMuc2V0U2Vj
b25kcyhleHBpcmVzLmdldFNlY29uZHMoKSArIHZhbHVlKTsNCgkJCQkJfQ0KCQkJ
CX0NCg0KCQkJCVV0aWxzLnNldENvb2tpZSh0aGlzLmdldFByZXZlbnRNdWx0aXBs
ZVJlc3BvbnNlc0Nvb2tpZUtleSgpLCAiMSIsIGV4cGlyZXMsIHRoaXMuY29va2ll
RG9tYWluKTsNCgkJCX0NCgkJfQ0KDQoJCXRoaXMuc3VibWl0ID0gZnVuY3Rpb24g
KGFjdGlvbikNCgkJew0KCQkJaWYgKHR5cGVvZiAodGhpcy5zdGFydFRpbWUpICE9
ICJ1bmRlZmluZWQiICYmIHRoaXMuc3RhcnRUaW1lICE9IG51bGwgJiYgIXRoaXMu
aXNLQkVtYmVkZGVkICYmICF0aGlzLmlzSW52aXRhdGlvbikNCgkJCXsNCgkJCQl2
YXIgZCA9IG5ldyBEYXRlKCk7DQoJCQkJdGhpcy5hZGRTdWJtaXRGaWVsZCgiU1VS
VkVZRFdFTExUSU1FIiwgZC5nZXRUaW1lKCkgLSB0aGlzLnN0YXJ0VGltZS5nZXRU
aW1lKCkpOw0KCQkJfQ0KDQoJCQlpZiAoaGFzU3VibWl0dGVkKQ0KCQkJew0KCQkJ
CXJldHVybjsNCgkJCX0NCg0KCQkJaWYgKGFjdGlvbiA9PSBudWxsKQ0KCQkJew0K
CQkJCWFjdGlvbiA9ICJwZXJzaXN0IjsNCgkJCX0NCg0KCQkJaWYgKHRoaXMub25C
ZWZvcmVTdWJtaXQuZmlyZSh0aGlzLCBhY3Rpb24pKQ0KCQkJew0KCQkJCXRoaXMu
YXR0YWNoRm9sbG93VXBTdXJ2ZXlzKGFjdGlvbik7DQoJCQkJdGhpcy5hdHRhY2hQ
cmV2ZW50TXVsdGlwbGVSZXNwb25zZXNEdXJhdGlvbihhY3Rpb24pOw0KCQkJCWlm
ICh0aGlzLnN1Ym1pdEhhbmRsZXIpDQoJCQkJew0KCQkJCQl0aGlzLnN1Ym1pdEhh
bmRsZXIodGhpcywgYWN0aW9uKTsNCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJ
CQkJdGhpcy5kZWZhdWx0U3VibWl0SGFuZGxlcigpOw0KCQkJCX0NCgkJCQloYXNT
dWJtaXR0ZWQgPSB0cnVlOw0KCQkJCXRoaXMub25BZnRlclN1Ym1pdC5maXJlKHRo
aXMsIGFjdGlvbik7DQoJCQl9DQoJCX0NCg0KCQl0aGlzLmRlZmF1bHRTdWJtaXRI
YW5kbGVyID0gZnVuY3Rpb24gKCkNCgkJew0KCQkJLy8gc2hvdyB0aGFua3lvdSBw
YWdlIGFmdGVyIHN1Ym1pdGVkDQoJCQlpZiAodGhpcy50aGFua3lvdSAhPSBudWxs
KQ0KCQkJew0KCQkJCXRoaXMudGhhbmt5b3Uuc2hvdygpOw0KCQkJfQ0KCQl9DQoN
CgkJdGhpcy5lbmNvZGVBbnN3ZXJzID0gZnVuY3Rpb24gKHRleHRFbmNvZGVyKQ0K
CQl7DQoJCQlpZiAoIXRleHRFbmNvZGVyKQ0KCQkJew0KCQkJCXRleHRFbmNvZGVy
ID0gZnVuY3Rpb24gKGlucHV0KSB7IHJldHVybiBpbnB1dDsgfTsNCgkJCX0NCg0K
CQkJdmFyIGFuc3dlcnMgPSBbXTsNCg0KCQkJZm9yICh2YXIgcGFnZUluZGV4ID0g
MDsgcGFnZUluZGV4IDwgdGhpcy5wYWdlcy5sZW5ndGg7ICsrcGFnZUluZGV4KQ0K
CQkJew0KCQkJCXZhciBwYWdlID0gdGhpcy5wYWdlc1twYWdlSW5kZXhdOw0KCQkJ
CXZhciBwYWdlSWQgPSBwYWdlLmdldFBhZ2VJZCgpOw0KDQoJCQkJaWYgKHBhZ2VJ
ZCAhPSAwICYmIHBhZ2UubW9kaWZpZWQgPT0gdHJ1ZSkNCgkJCQl7DQoJCQkJCWZv
ciAodmFyIHF1ZXN0aW9uSW5kZXggPSAwOyBxdWVzdGlvbkluZGV4IDwgcGFnZS5x
dWVzdGlvbnMubGVuZ3RoOyArK3F1ZXN0aW9uSW5kZXgpDQoJCQkJCXsNCgkJCQkJ
CXZhciBxdWVzdGlvbiA9IHBhZ2UucXVlc3Rpb25zW3F1ZXN0aW9uSW5kZXhdOw0K
CQkJCQkJdmFyIHF1ZXN0aW9uSWQgPSBxdWVzdGlvbi5nZXRRdWVzdGlvbklkKCk7
DQoNCgkJCQkJCXZhciBhbnN3ZXIgPSBxdWVzdGlvbi5nZXRBbnN3ZXJzKCk7DQoN
CgkJCQkJCWZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBhbnN3ZXIubGVuZ3Ro
OyArK2luZGV4KQ0KCQkJCQkJew0KCQkJCQkJCWFuc3dlcnMucHVzaChwYWdlSWQg
KyAiLCIgKyBxdWVzdGlvbklkICsgIiwiICsgYW5zd2VyW2luZGV4XS5pZCArICIs
IiArIGFuc3dlcltpbmRleF0udmFsdWUgKyAiLCIgKyB0ZXh0RW5jb2RlcihhbnN3
ZXJbaW5kZXhdLnRleHQpKTsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCX0NCgkJCX0N
Cg0KCQkJcmV0dXJuIGFuc3dlcnMuam9pbigifCIpOw0KCQl9DQoNCgkJdGhpcy5o
aWRlID0gZnVuY3Rpb24gKCkNCgkJew0KCQkJaWYgKHRoaXMuZG9tT2JqZWN0ICE9
IG51bGwpDQoJCQl7DQoJCQkJdGhpcy5kb21PYmplY3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsNCgkJCX0NCgkJfQ0KDQoJCXRoaXMuc2hvdyA9IGZ1bmN0aW9uICgp
DQoJCXsNCgkJCWlmICh0aGlzLmRvbU9iamVjdCAhPSBudWxsKQ0KCQkJew0KCQkJ
CXRoaXMuZG9tT2JqZWN0LnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siOw0KCQkJfQ0K
CQl9DQoNCgkJdGhpcy5kaXNwbGF5QnJhbmNoUnVsZXMgPSBmdW5jdGlvbiAoKQ0K
CQl7DQoJCQl2YXIgaW5kZXggPSAwOw0KCQkJZm9yICg7IGluZGV4IDwgdGhpcy5w
YWdlcy5sZW5ndGggLSAxOyArK2luZGV4KQ0KCQkJew0KCQkJCXRoaXMucGFnZXNb
aW5kZXhdLmRpc3BsYXlCcmFuY2hSdWxlcyh0aGlzLnBhZ2VzW2luZGV4ICsgMV0u
Z2V0UGFnZUlkKCkpOw0KCQkJfQ0KDQoJCQlpZiAodGhpcy50aGFua3lvdSA9PSBu
dWxsKQ0KCQkJew0KCQkJCXRoaXMucGFnZXNbaW5kZXhdLmRpc3BsYXlCcmFuY2hS
dWxlcygiRW5kIik7DQoJCQl9DQoJCX0NCg0KCQlGbXMuU3VydmV5LlJlZ2lzdGVy
U3VydmV5SW5zdGFuY2UodGhpcyk7DQoJfQ0KDQoJTVMuU3VwcG9ydC5GbXMuU3Vy
dmV5LlN1cnZleUluc3RhbmNlcyA9IFtdOw0KDQoJTVMuU3VwcG9ydC5GbXMuU3Vy
dmV5LlJlZ2lzdGVyU3VydmV5SW5zdGFuY2UgPSBmdW5jdGlvbiAoc3VydmV5KQ0K
CXsNCgkJTVMuU3VwcG9ydC5GbXMuU3VydmV5LlN1cnZleUluc3RhbmNlc1tzdXJ2
ZXkuaWRdID0gc3VydmV5Ow0KCX0NCg0KCU1TLlN1cHBvcnQuRm1zLlN1cnZleS5H
ZXRTdXJ2ZXlJbnN0YW5jZUJ5SWQgPSBmdW5jdGlvbiAoaWQpDQoJew0KCQlyZXR1
cm4gTVMuU3VwcG9ydC5GbXMuU3VydmV5LlN1cnZleUluc3RhbmNlc1tpZF07DQoJ
fQ0KDQoJTVMuU3VwcG9ydC5GbXMuU3VydmV5LkdldFN1cnZleUluc3RhbmNlQnlF
bGVtZW50ID0gZnVuY3Rpb24gKGVsZW1lbnQpDQoJew0KCQl2YXIgRm1zID0gTVMu
U3VwcG9ydC5GbXM7DQoJCXZhciBVdGlscyA9IEZtcy5VdGlsczsNCgkJdmFyIFN1
cnZleSA9IEZtcy5TdXJ2ZXk7DQoNCgkJZm9yICh2YXIgc3VydmV5aWQgaW4gU3Vy
dmV5LlN1cnZleUluc3RhbmNlcykNCgkJew0KCQkJdmFyIHN1cnZleSA9IFN1cnZl
eS5TdXJ2ZXlJbnN0YW5jZXNbc3VydmV5aWRdOw0KCQkJaWYgKFV0aWxzLmlzQW5j
ZXN0b3JPZihzdXJ2ZXkuZG9tT2JqZWN0LCBlbGVtZW50KSkNCgkJCXsNCgkJCQly
ZXR1cm4gc3VydmV5Ow0KCQkJfQ0KCQl9DQoJCXJldHVybiBudWxsOw0KCX0NCn0N
Cg0KZnVuY3Rpb24gZW5mb3JjZU1heExlbmd0aChvRWxlbWVudCwgaU1heExlbmd0
aCwgZSkNCnsNCglpZiAob0VsZW1lbnQudmFsdWUubGVuZ3RoID4gaU1heExlbmd0
aCkNCgl7DQoJCW9FbGVtZW50LnZhbHVlID0gKG9FbGVtZW50LnZhbHVlKS5zdWJz
dHJpbmcoMCwgaU1heExlbmd0aCk7DQoNCgkJaWYgKHdpbmRvdy5ldmVudCkgLypD
b250YWN0IFVzIDIuMSB3aWxsIGludm9rZSB0aGlzIGZ1bmN0aW9uLCBidXQgb25s
eSBwYXNzIHRoZSBmaXJzdCB0d28gcGFyYW1ldGVycyx0aHVzIGUgd2lsbCBiZSB1
bmRlZmluZWQuIHVzZSB3aW5kb3cuZXZlbnQgZmlyc3QqLw0KCQl7DQoJCQl3aW5k
b3cuZXZlbnQucmV0dXJuVmFsdWUgPSBmYWxzZTsNCgkJfQ0KCQllbHNlIGlmIChl
ICYmIGUucHJldmVudERlZmF1bHQpDQoJCXsNCgkJCWUucHJldmVudERlZmF1bHQo
KTsNCgkJfQ0KCX0NCn0NCg0KLypiYWNrd2FyZCBjb21wYXRpYmxlIHdpdGggS0JG
ZWVkQmFjayovDQpmdW5jdGlvbiBLQkZlZWRCYWNrU2hvd1N1cnZleSgpDQp7DQoJ
dmFyIGdzZnhTdXJ2ZXlTY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJz
Y3JpcHQiKTsNCglnc2Z4U3VydmV5U2NyaXB0LnR5cGUgPSAidGV4dC9qYXZhc2Ny
aXB0IjsNCglnc2Z4U3VydmV5U2NyaXB0Lmxhbmd1YWdlID0gImphdmFzY3JpcHQi
Ow0KCWdzZnhTdXJ2ZXlTY3JpcHQuc3JjID0gIi9jb21tb24vc2NyaXB0L2Z4L2dz
ZnhzdXJ2ZXkuanM/NC4zLjMiOw0KCWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
Z3NmeFN1cnZleVNjcmlwdCk7DQp9DQo=

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=default.css
Content-Type: text/css; name=default.css
Content-Location: http://support.microsoft.com/common/css/default/default.css?80
Content-Transfer-Encoding: 8bit

/* Following are set back to default style for elements which are resetted by oneMscomMaster.css */
/* Reset Start */
.gsfx_brnd_PageContainer ol, .gsfx_brnd_PageContainer ul
{
    margin: 16px 0 16px 40px;
    padding: 0;
}

.gsfx_brnd_PageContainer h1
{
    margin: 21px 0;
}

.gsfx_brnd_PageContainer h2
{
    margin: 20px 0;
}

.gsfx_brnd_PageContainer h3
{
    margin: 19px 0;
}

.gsfx_brnd_PageContainer h4
{
    margin: 21px 0;
}

.gsfx_brnd_PageContainer h5
{
    margin: 22px 0;
}

.gsfx_brnd_PageContainer h6
{
    margin: 25px 0;
}

.gsfx_brnd_PageContainer p
{
    margin: 16px 0;
}
/* Reset End */

/* [BUG 327477][IE7 CSS Hack]
    Increase layer index of main-content div defined in ms template, make it higher than ms footer. 
    Otherwise the dropdown menu in main-content will be coverred by ms footer in IE7 */
.stage-content > .main-content
{
    *position: relative;
    *z-index: 2;
}

body, select, input, form
{
    font-size: 100%;
    margin: 0;
}

body
{
    color: #000;
    background-color: #fff;
    height: auto;
}

html
{
    overflow-y: scroll;
    height: auto;
}


input[type|="radio"], input[type|="checkbox"]
{
    margin-right: 3px;
    padding: 4px;
}

.checkbox td.text
{
    line-height: 17px;
}

img
{
    font-size: 65%;
    border: none;
}

a
{
    color: #0072c6;
    text-decoration: none;
}

    a:hover
    {
        color: #07679A;
        text-decoration: underline;
    }

/* added for disabled Personalized webpart link */
span.imageBullet
{
    padding: 2px 5px 2px 0 !important;
    vertical-align: top;
    margin-left: -20px;
}

span.disablelink
{
    vertical-align: top !important;
    text-decoration: none !important;
    color: Gray !important;
}

span.enablelink
{
    text-decoration: underline;
}
/* end disable personalize link*/

span.hl
{
    font-weight: bold;
}

.resultsFooterLink
{
    font-weight: normal;
}

    .resultsFooterLink a, .resultsFooterLink span
    {
        display: block;
        float: left;
        margin-right: 10px;
    }

        .resultsFooterLink span.selected
        {
            width: 20px;
            height: 20px;
            background-color: #0072c6;
            color: #ffffff;
            text-align: center;
        }

div.text, div.select, div.text input.text, div.select select
{
    width: 100%;
}


/*Added the class to Searchui for bug 41425 */
div.rightNavSearch
{
    width: 155px;
}

    div.rightNavSearch div.text input.text
    {
        width: 125px;
    }

button span.buttonText
{
    font-size: 85%;
    margin: 5px 10px;
    vertical-align: bottom;
}

.breadcrumbs
{
    font-size: 13px;
    color: #666;
    padding: 10px 10px 20px 0px;
}

    .breadcrumbs a
    {
        color: #0072C6;
    }

    .breadcrumbs img
    {
        margin-right: 3px;
    }

a.cc, a.mt
{
    padding: 0 2px;
}

a.custip
{
    position: relative;
    color: black;
    z-index: 10;
}

    a.custip span
    {
        text-align: left;
        width: 180px;
        font-size: 65%;
        color: Black;
        position: absolute;
        padding: 10px;
        left: -9999px;
        display: none;
    }

    a.custip:active span
    {
        left: -9999px;
        display: none;
    }

    a.custip:hover, a.custip:active
    {
        font-size: 100%;
        text-decoration: none;
    }

        a.custip:hover span, a.custip.show span
        {
            border: 1px solid #c93;
            background-color: #fcfbde;
            display: block;
            padding: 10px;
            top: 20px;
            top: 5px\9;
            *top: 20px;
            left: 20px;
        }

a.showRight:hover span, a.showRight span
{
    left: -174px;
}

a.showBottom:hover span, a.showBottom span
{
    top: auto;
    bottom: 18px;
}

a.showLeft:hover span, a.showLeft span
{
    left: 20px;
}


a.custip2
{
    position: relative;
    text-decoration: none;
    color: black;
    z-index: 10;
}

    a.custip2 ul
    {
        padding: 0px 0px 0px 20px;
        _padding: 0px 0px 0px 0px;
        margin: 0px 0px 0px 0px;
        _margin: 0px 0px 0px 18px;
    }

    a.custip2 span
    {
        display: none;
    }

    a.custip2:hover
    {
        font-size: 100%;
    }

        a.custip2:hover span, a.custip2.show span
        {
            font-size: 65%;
            color: Black;
            display: block;
            position: absolute;
            width: 180px;
            top: 0px;
            left: 17px;
            padding: 2px 5px 5px 2px;
            border: 1px solid #000;
            background-color: #fcfbde;
        }

.rssImage
{
    border: none;
    float: right;
}

#contentArea
{
    width: 100%;
}
/* SimpleLayout Table options */
#primaryContentTable
{
    border-collapse: collapse;
}

table.primaryTable, table#primaryContentTable
{
    width: 100%;
    table-layout: fixed;
}

.primaryLeftColumn, .primaryMainColumn, .primaryThinColumn
{
    vertical-align: top;
    margin: 0px;
    padding: 0px;
}

table.primaryTable td.primaryMainColumn
{
    width: 100%;
}

table.primaryTable td.primaryThinColumn
{
    width: 180px; /* this must match #thinColumn */
}

table.sLayout
{
    width: 100%;
}

    table.sLayout td
    {
        padding: 0;
        margin: 0;
        vertical-align: top;
    }

/* WebParts */
.wp h3
{
    font-size: 70%;
    font-weight: bold;
    margin: 0;
    padding: 0;
}

.wp .list caption
{
    font-size: 70%;
}

.wp .list .image, .sr .list .image
{
    vertical-align: top;
    width: 16px;
}

.wp .list .image
{
    padding: 0 5px 0 0;
}

.sr .list .text, #mainColumn .wp td td td td
{
    vertical-align: top;
}

.sr .list .text
{
    *padding-left: 1px;
}

.sr .list .linkText /* This style was overwriting the above style and lifecycle products page was rendered with a large font. Fixed for Bug: 40582*/ /*#mainColumn .wp td td td td*/
{
    font-size: 13px;
    vertical-align: top;
}

.sr .list .text img
{
    margin: 0 5px;
    vertical-align: middle;
}

.sr .list .linkText img
{
    margin: 0px 4px 0px 0px;
    vertical-align: middle;
}

    .sr .list .linkText img.leftimg
    {
        margin: 0px 5px 0px 0px;
        vertical-align: middle;
    }

.wp .list .spacer
{
    padding: 0;
    width: 8px;
}
/* Rss feed help */
div.wp.rss h2
{
    font-size: 120%;
    font-weight: bold;
    margin: 5px 10px;
}
/* Simple Link Container */
#mainColumn .wp.slc
{
    padding: 5px 10px !important;
}

#mainColumn .psTable
{
    width: 100%;
}

.wp.slc.alphaSubList img
{
    margin-right: 3px;
}

.wp.slc.alphaSubList h1
{
    font-size: 120%;
    border-bottom: 2px solid #ccc;
}

.wp.slc ul
{
    margin: 0;
    padding: 0;
}

    .wp.slc ul li
    {
        color: #999;
        font-size: 70%;
        margin: 2px 18px;
        padding: 0;
    }

        .wp.slc ul li.i
        {
            padding: 0;
            margin: 2px 4px;
            list-style-type: none;
        }

.bkt
{
    font-size: 70%;
    margin: 2px 18px;
    padding: 0;
}

/* Thin Column generics */
#thinColumn
{
    width: 180px;
    overflow: hidden;
    font-size: 13px;
}

#thinColumn
{
    font-weight: 400;
}

    #thinColumn a
    {
        color: #0072c6;
        font-size: 13px;
    }

    #thinColumn div, #thinColumn ul
    {
        text-overflow: ellipsis;
        white-space: normal;
    }

    #thinColumn .wp, #thinColumn .wp .wp, #thinColumn .wp div, #thinColumn .wp div .wp div, #thinColumn .lct, #thinColumn .wp table, #thinColumn .textColumn
    {
        border: 0px;
        margin: 0px;
        padding: 0px;
        width: auto;
    }

        #thinColumn .wp .LCT .textColumn
        {
            width: 179px;
        }

        #thinColumn .wp H3
        {
            z-index: 0;
            width: 100%;
        }

        #thinColumn H3, #thinColumn .wp H3
        {
            font-size: 16px;
            font-weight: normal;
            margin: 0px;
        }

            #thinColumn .wp H3 .linkConTop
            {
                display: block;
                height: 7px;
                width: 100%;
                margin-top: -10px;
                z-index: 1;
            }

            #thinColumn .wp H3 .linkCon
            {
                display: block;
                z-index: 2;
                position: relative;
                background: none;
                margin-top: 20px;
                padding: 0px 0px 3px 0px;
            }

        #thinColumn .textColumn .columns2 ul
        {
            width: auto;
        }

        #thinColumn .textColumn table p
        {
            margin-top: 5px;
            margin-bottom: 0px;
        }


        #thinColumn .textColumn .columns2 ul li
        {
            vertical-align: top;
        }

    #thinColumn ul
    {
        padding-left: 24px;
        padding-right: 10px;
        margin: 0px;
        font-size: 13px;
    }

    #thinColumn li
    {
        overflow: visible;
    }

li.noBullet
{
    list-style-type: none;
    margin: 0px;
    margin-left: -20px;
}

#thinColumn span.noBullet
{
    margin-left: -17px;
    display: list-item;
    list-style: none;
}

#thinColumn span.hasBullet
{
    margin-left: 3px;
    display: list-item;
    list-style: none;
}

#thinColumn .more, #thinColumn .back
{
    font-size: 80%;
    padding: 5px 0px;
}

.blankBullet
{
    list-style-type: none;
}

    .blankBullet span a img
    {
        margin-left: -20px;
    }


a.imageBullet
{
    padding: 2px 5px 2px 0 !important;
    vertical-align: top;
    margin-left: -20px;
}

#thinColumn div.center, #thinColumn div a img
{
    text-align: center;
    margin: 0px auto;
}

#thinColumn .wp .list caption, #thinColumn .wp .list .more, #thinColumn .wp .list .text, #thinColumn .wp .textColumn p
{
    font-size: 60%;
}

#thinColumn span
{
    text-decoration: none;
}

#thinColumn .getHelp .text h3
{
    margin-top: 3px;
    color: Black;
    font-size: 16px;
}
/* LinkContainer Long Word Truncate*/
#thinColumn .wp .LCT
{
    table-layout: fixed;
    width: 100%;
}

    #thinColumn .wp .LCT table
    {
        table-layout: fixed;
        width: 100%;
    }

#mainColumn .wp .LCT .textColumn table
{
    table-layout: fixed;
    width: 100%;
}

    #mainColumn .wp .LCT .textColumn table span
    {
        display: block;
    }

    #thinColumn .wp .LCT .textColumn ul,
    #thinColumn .wp .LCT .textColumn h3 span,
    #thinColumn .wp .LCT .textColumn p,
    #mainColumn .wp .LCT .textColumn table h3 span,
    #mainColumn .wp .LCT .textColumn table p,
    #mainColumn .wp .LCT .textColumn table ul
    {
        word-wrap: break-word;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    #mainColumn .wp .LCT .textColumn table ul
    {
        margin-left: 0px;
        padding-left: 10px;
    }

        #mainColumn .wp .LCT .textColumn table ul span
        {
            padding-left: 30px;
        }

        #mainColumn .wp .LCT .textColumn table ul li
        {
            margin-left: 30px;
            padding-left: 0px;
        }

        #mainColumn .wp .LCT .textColumn table ul span.noBullet
        {
            padding-left: 5px;
        }

        #mainColumn .wp .LCT .textColumn table ul li.noBullet
        {
            margin-left: 5px;
            padding-left: 0px;
        }

        #mainColumn .wp .LCT .textColumn table ul li span
        {
            padding-left: 0px;
        }

#thinColumn .wp .LCT .textColumn div, #mainColumn .wp .LCT .textColumn div
{
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
/* Thin Column Search */

.wp.searchThin
{
    background: url('/library/images/support/cn/Searchbar.gif') repeat-x;
    height: 52px;
}

    .wp.searchThin h3
    {
        font-size: 75%;
        font-weight: bold;
    }

    .wp.searchThin b
    {
        font-size: 65%;
        font-weight: bold;
    }

    .wp.searchThin div.text
    {
        width: 100%;
    }

    .wp.searchThin input.text
    {
        font-size: 65%;
        width: 100%;
    }

    .wp.searchThin div.select
    {
        margin-top: 5px;
        width: 100%;
    }

    .wp.searchThin select
    {
        font-size: 65%;
        width: 100%;
    }

    .wp.searchThin a
    {
        font-size: 65%;
    }

    .wp.searchThin div.cb
    {
        font-size: 75%;
    }

/* Get Help */
#thinColumn div.wp.getHelp
{
    padding: 5px 0px;
}

.wp.getHelp td.image
{
    padding: 0px 5px 0px 0px;
    vertical-align: top;
}

.wp.getHelp td.text
{
    text-align: left;
}

div.wp.getHelp h3
{
    font-size: 20px;
    color: #333333;
    font-weight: normal;
}

.wp.getHelp .text a
{
    font-size: 13px;
    color: #0072c6;
}

.wp.cw td
{
    font-size: 70%;
}

/* SubTitle WebPart */
div.wp.subTitle h1
{
    font-size: 30px;
    font-weight: lighter;
    margin: 30px 0px 30px 0px;
    color: #333333;
}

.matsTitle h1
{
    font-size: 120%;
    font-weight: bold;
    margin: 5px 10px;
}

#topRow ~ #mainRow div.wp.subTitle h1
{
    margin: 0px 0px 30px 0px;
}

div.wp.subTitle
{
    margin: 0px!important;
    padding: 0px!important;
}
/* Article translation */
.wp.articleTrans table td
{
    padding: 5px 0px;
}

.wp.articleTrans select
{
    font-size: 65%;
    width: 100%;
}

.wp.articleTrans .spacer
{
    width: 0.5em;
}

.wp.articleTrans div, .wp.articleTrans div table, .wp.articleTrans div table td
{
    width: 100%;
}

/* Main Column for Webparts */
#mainColumn .wp div, #mainColumn .wp div .wp div
{
    border: none;
    margin: 0;
    padding: 0;
}

#mainColumn .wp, #mainColumn .wp .wp
{
    border: none;
    margin: 5px 0;
    padding: 5px 0;
}

    #mainColumn .wp .textColumn h3, #mainColumn div.wp.tcon .textColumn h3, #mainColumn div.wp.hcon .textColumn h3
    {
        font-size: 80%;
        font-weight: bold;
        margin: 0;
        padding: 1px 10px;
    }

    #mainColumn .wp .textColumn p
    {
        margin: 0;
        padding: 2px 10px;
    }

    #mainColumn .wp .textColumn .list
    {
        padding: 0px 5px;
    }

    #mainColumn .wp .list .text p
    {
        font-size: 100%;
    }

    #mainColumn .wp .imageColumn
    {
        padding: 0 2px 0 12px;
        vertical-align: top;
    }

.leftNav #mainColumn .wp .imageColumn
{
    padding: 0;
}

#mainColumn .wp .textColumn
{
    padding: 0;
    width: 100%;
}
/* Product Selection */
.psContainers
{
    vertical-align: top;
}

.subTitle ~ .psTable
{
    margin-top: -40px;
}

#mainColumn .psContainers .LCT h3 span
{
    font-size: 16px;
    color: #333333;
    font-weight: normal;
}

#mainColumn .psContainers .LCT .imageColumn
{
    padding: 0px 10px 0px 0px;
}

#mainColumn .psContainers .LCT h3
{
    padding-left: 0px;
    padding-top: 2px;
}

#mainColumn .psContainers .LCT ul, #mainColumn .psContainers .LCT .more
{
    padding-left: 0px!important;
    font-size: 13px;
}

#mainColumn .psContainers .LCT ul
{
    margin-top: 0px;
}

#mainColumn .psContainers .LCT a
{
    color: #0072c6;
}

#mainColumn .psContainers .LCT .more
{
    padding-bottom: 0px!important;
}

#mainColumn .psContainers .wp
{
    margin: 30px 0px 0px 0px;
    padding: 0px;
}

#mainColumn .psContainers .LCT ul li
{
    margin-left: 0px!important;
}

.psContainers div, .psContainers div div
{
    vertical-align: top;
}
/* Specific Parts */
#mainColumn div.wp.HCon.heroGraphic
{
    background-color: #FFFFFF;
    margin: 0;
    padding: 0;
}

#mainColumn .wp.heroGraphic .graphic
{
    width: 100%;
}

#mainColumn div.wp.heroGraphic td
{
    color: #64A2CB;
    font-size: 100%;
    font-weight: bold;
    width: 100%;
}

#mainColumn .wp.m1 .textColumn h1
{
    margin: 0;
    font-size: 130%;
}

#mainColumn .wp.m3 .textColumn h1
{
    font-size: 105%;
}

#mainColumn .wp.m2 .list caption
{
    background-color: #369;
    color: #fff;
    font-weight: bold;
}

#mainColumn .wp.m2 .list .headerRow
{
    background-color: #369;
}

    #mainColumn .wp.m2 .list .headerRow td
    {
        color: #fff;
        font-weight: bold;
        text-align: center;
    }

        #mainColumn .wp.m2 .list .headerRow td a
        {
            color: #fff;
        }

            #mainColumn .wp.m2 .list .headerRow td a:hover
            {
                color: #f00;
            }

#mainColumn .wp.m2 .list .evenRow
{
    background-color: #ededed;
}

#mainColumn .wp.region
{
    padding: 0 10px;
}

    #mainColumn .wp.region h1
    {
        font-size: 110%;
    }

#mainColumn .wp.regionSwitcher select
{
    font-size: 75%;
}

#mainColumn .wp.regionSwitcher table.outer
{
    background-color: #D7E9FC;
    border: 1px solid #0064a8;
    margin-left: 15px;
}

#mainColumn .wp.alphaSubList table
{
    width: 100%;
}

#mainColumn .wp.alphaSubList .textColumn h1
{
    font-size: 120%;
    border-bottom: 2px solid #ccc;
}

#mainColumn .wp.alphaSubList img.top
{
    margin: 10px 5px 0 0;
}

/* HTML Text Container generics */
.leftNav #mainRow #mainColumn .wp.HCon, .leftNav #mainRow #mainColumn .wp.TCon, #mainRow #mainColumn .wp.HCon.hc1
{
    margin: 0;
}

#mainColumn .wp.HCon
{
    margin-left: 10px;
    margin-right: 10px;
}

.wp.HCon li
{
    font-size: 100%;
}

.wp.TCon li
{
    font-size: 70%;
}

    .wp.TCon li li
    {
        font-size: 100%;
    }

#mainColumn .wp.HCon, #mainColumn .wp.TCon
{
    font-size: 70%;
}

#thinColumn .wp.HCon, #thinColumn .wp.TCon
{
    font-size: 65%;
}

#mainColumn div.wp.HCon h3, #mainColumn div.wp.TCon h3, #thinColumn div.wp.HCon h3, #thinColumn div.wp.TCon h3
{
    font-size: 120%;
}

#mainColumn .tabDiv div.wp.HCon h3, #mainColumn .wp .textColumn h3
{
    font-size: 20px;
    font-weight: lighter;
}

#thinColumn div.wp.TCon td.textColumn h3
{
    font-size: 90%;
}

/* Web Content */
.webContentContainer
{
    margin: 10px;
}

    .webContentContainer font
    {
        font-size: 70%;
    }

.webExceptionBlock .webContentContainer
{
    margin: 0;
    padding: 0;
    position: relative;
}

    .webExceptionBlock .webContentContainer .faqHeaderIcon
    {
        margin: 0;
        padding: 0;
        position: relative;
        top: -17px;
    }

.webContentContainer .GenericError
{
    margin-left: 1em;
    position: relative;
    top: 48px;
}

.webContentContainer h1
{
    font-size: 200%;
}

.webContentContainer h2
{
    font-size: 170%;
}

.webContentContainer h4
{
    font-size: 130%;
}

.webContentContainer .wp .fms
{
    display: none; /*Hide survey because this is webcontent, not easy to support survey here*/
}

/* Tree Webpart */
#mainColumn .wp.mainTree
{
    margin: 0;
    padding: 0;
}

    #mainColumn .wp.mainTree #treeHeader
    {
        background-color: #69c;
        color: #fff;
        font-size: 75%;
        font-weight: bold;
        padding: 3px 3px 5px;
        width: 100%;
    }

    #mainColumn .wp.mainTree #fullTree
    {
        background-color: #f1f1f1;
        font-size: 70%;
        height: 500px;
        width: 215px;
        overflow: auto;
    }

        #mainColumn .wp.mainTree #fullTree div.treeLevel
        {
            display: none;
            padding: 0 10px;
        }

        #mainColumn .wp.mainTree #fullTree div
        {
            border: 1px solid #f1f1f1;
            padding: 1px 3px;
            white-space: nowrap;
        }

        #mainColumn .wp.mainTree #fullTree img
        {
            cursor: hand;
        }

        #mainColumn .wp.mainTree #fullTree a
        {
            color: #000;
            text-decoration: none;
        }

        #mainColumn .wp.mainTree #fullTree a
        {
            padding: 0 3px;
        }

        #mainColumn .wp.mainTree #fullTree div a.nodeFocused, #mainColumn .wp.mainTree #fullTree div a.node:hover, #mainColumn .wp.mainTree #fullTree div a.nodeSelected:hover, #mainColumn .wp.mainTree #fullTree div a.node:active
        {
            background-color: #ccc;
            border: 1px solid #999;
            padding: 0 2px;
        }

        #mainColumn .wp.mainTree #fullTree div a.nodeSelected
        {
            background-color: #fff;
            border: 1px solid #999;
            padding: 0 2px;
        }


/* Last Reviewed Webpart */
.wp.lastReview, .webContentLastReviewed
{
    font-size: 65%;
    white-space: nowrap;
    text-align: right;
    white-space: nowrap;
}

/* Search 4.1 / LifeCycle / DllHelp */

#mainColumn .wp div.search
{
    padding: 0px 20px;
}

* html #frmaSrch .mainTable
{
    width: auto;
}

.wp
{
    padding: 10px;
}

    .wp .search h1, .lc h1
    {
        color: #0071bc;
        font-size: 130%;
        font-weight: normal;
        margin: 0 5px 8px;
        padding: 0;
    }

    .wp .search .mainTable
    {
        border: 1px solid #0064A8;
    }

    .wp .search .wideColumn
    {
        background-color: #F1F6FF;
        filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr='#E4F1FA', endColorStr='#B2CFFF', gradientType='1');
    }

    .wp .dllHelpSearch .mainTable
    {
        border: 1px solid #69c;
        width: 100%;
    }

.lc .mainTable
{
    border: 1px solid #0064A8;
    width: 100%;
    table-layout: fixed;
}

.wp .search .submitsearch .lc .submitsearch
{
    font-size: 80%;
}

.wp .dllHelpSearch .wideColumn
{
    background-color: #e5eaed;
}

.lc .wideColumn
{
    background-color: #F1F6FF;
    filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr='#E4F1FA', endColorStr='#B2CFFF', gradientType='1');
    padding-right: 20px;
}

    .lc .wideColumn #advancedOptions
    {
        margin: 5px 0px 5px 10px;
    }

    .lc .wideColumn #basicOptions
    {
        margin: 5px 0px 5px 10px;
    }

    .lc .wideColumn .basicOptions .innerTable td.boldColumn
    {
        width: 30%;
        white-space: normal;
    }

    .wp .search .wideColumn .innerTable, .wp .dllHelpSearch .wideColumn .innerTable, .lc .wideColumn .innerTable
    {
        margin: 8px 15px;
        width: 100%;
        _width: auto;
    }

        .wp .search .wideColumn .innerTable td.text, .wp .search .wideColumn .innerTable td.boldColumn, .wp .dllHelpSearch .wideColumn .innerTable td.boldColumn, .lc .wideColumn .innerTable td.text, .lc .wideColumn .innerTable td.boldColumn, .lc .wideColumn .innerTable td.textSpecial
        {
            font-size: 70%;
            white-space: nowrap;
        }

        .wp .search .wideColumn .innerTable td.textSpecial, .wp .search .wideColumn .innerTable td.textProduct, .wp .search .wideColumn .innerTable td.textProductSpecial
        {
            font-size: 70%;
        }

        .wp .search .wideColumn .innerTable td.textProduct
        {
            background-color: #f0f8fb;
            font-style: italic;
            font-weight: bold;
            white-space: nowrap;
        }

        .wp .search .wideColumn .innerTable td.textProductSpecial
        {
            white-space: nowrap;
            background-color: #f0f8fb;
        }

        .wp .search .wideColumn .innerTable td.textSpecial, .wp .search .wideColumn .innerTable td.textProduct, .wp .search .wideColumn .innerTable td.textProductSpecial, .lc .wideColumn .innerTable td.textSpecial
        {
            padding: 5px 4px 7px;
        }

        .wp .search .wideColumn .innerTable td.text, .wp .dllHelpSearch .wideColumn .innerTable td.text, .lc .wideColumn .innerTable td.text
        {
            padding: 5px 10px;
            width: 100%;
        }

        .wp .search .wideColumn .innerTable td.boldColumn, .wp .dllHelpSearch .wideColumn .innerTable td.boldColumn, .lc .wideColumn .innerTable td.boldColumn
        {
            font-weight: bold;
        }

        .lc .wideColumn .innerTable td.boldColumn
        {
            vertical-align: top;
            padding: 5px 0 5px 5px;
        }

    .lc .wideColumn .advancedOptions .innerTable td.boldColumn
    {
        width: 30%;
        white-space: normal;
    }

    .lc .wideColumn #ToggleButton
    {
        font-size: 80%;
        vertical-align: middle;
    }

        .lc .wideColumn #ToggleButton img
        {
            margin: 0 3px 1px 0;
            vertical-align: bottom;
        }

.wp .search .wideColumn .innerTable td.boldSpecialColumn, .wp .search .wideColumn .innerTable td.boldColumnTip
{
    font-size: 70%;
    font-weight: bold;
    padding: 5px 0;
    vertical-align: top;
    white-space: nowrap;
}

.wp .search .wideColumn .innerTable td.inputs
{
    margin: 0;
}

.wp .search .wideColumn .innerTable .inputs td.text
{
    padding: 1px 5px;
    vertical-align: middle;
}

.wp .search .wideColumn .innerTable h1, .wp .search .wideColumn .innerTable .text h1, .wp .dllHelpSearch .wideColumn .innerTable h1
{
    color: #000;
    font-size: 85%;
    font-weight: bold;
    margin: 0px 0px 7px;
}

.wp .search .thinerColumn, .wp .dllHelpSearch .thinerColumn
{
    background-color: #ced8de;
    height: 100%;
    padding: 35px 4px 15px;
    vertical-align: top;
    width: 9em;
}

.wp .search .queryTable
{
    table-layout: fixed;
    width: 100%;
}

.wp .searchBasic .thinerColumn
{
    padding: 15px 4px;
}

.wp .search .thinerColumn .mainDiv, .wp .search .thinerColumn .mainDiv .innerTable, .wp .dllHelpSearch .thinerColumn .mainDiv, .wp .dllHelpSearch .thinerColumn .mainDiv .innerTable
{
    height: 100%;
    text-align: center;
}

.wp .search .thinerColumn .innerTable td.goButton, .wp .dllHelpSearch .thinerColumn .innerTable td.goButton
{
    text-align: center;
    vertical-align: bottom;
}

.wp .dllHelpSearch .select select, .wp .dllHelpSearch .text input.text
{
    font-size: 65%;
    width: 75%;
}

.lc .select select
{
    width: 100%;
}

.lc .boldColumn input
{
    display: none;
}

.wp .search .wideColumn .innerTable #noschead
{
    width: auto;
}

.wp .search .wideColumn .innerTable #searchHelpLink
{
    text-align: right;
    padding-right: 0px;
    font-size: 70%;
}


/* LifeCycle results */
.lcr
{
    width: 100%;
}

    .lcr div.p2resultsdiv
    {
        padding: 10px;
    }

    .lcr div.tableContainer
    {
        width: 100%;
        margin-bottom: 10px;
    }

    .lcr table.results
    {
        width: 100%;
        empty-cells: show;
        border-collapse: collapse;
    }

    .lcr table th a
    {
        overflow: hidden;
    }

    .lcr table th, .lcr table td
    {
        font-size: 65%;
        padding: 3px 3px;
    }

    .lcr table.results thead th
    {
        background-color: #ecf0ff;
        font-weight: bold;
        color: blue;
    }

    .lcr table.results td:last-child
    {
        padding-right: 20px;
    }

    .lcr table th a:hover
    {
        color: #f93;
    }

    .lcr table thead td
    {
        text-decoration: none;
    }

    .lcr table td.bolded
    {
        font-weight: bold;
        padding: 3px 8px;
    }

    .lcr table tbody td div
    {
        display: none;
    }

    .lcr .pnColumn
    {
        width: 20%;
    }

    .lcr .gaColumn, .lcr .msColumn, .lcr .esColumn, .lcr .spColumn
    {
        width: 10%;
    }

    .lcr #ExportToCSV
    {
        text-align: right;
        font-size: 70%;
        margin: 0 10px 15px 10px;
    }

    .lcr table.p2results
    {
        border: 2px solid #999999;
        border-left: none;
        border-right: none;
        border-collapse: collapse;
    }

        .lcr table.p2results tr.dark
        {
            background-color: #ededed;
        }

        .lcr table.p2results tr td
        {
            border: 1px solid #ededed;
        }

        .lcr table.p2results th, .lcr table.p2results thead td
        {
            color: #ededed;
            background-color: #69c;
            border: 1px solid #69c;
            border-bottom: 1px solid #ededed;
        }

            .lcr table.p2results th, .lcr table.p2results th a, .lcr table.p2results thead tr td
            {
                color: #ededed;
                font-weight: bold;
            }


/* lifecycle no results */
#lifecyclenoresults
{
    font-size: 70%;
    padding: 5px 10px;
    font-weight: bold;
}

/* Search Results */
.sr
{
    margin: 0px 0px 0px 15px;
}

    .sr font.intro
    {
        font-size: 75%;
    }

    .sr p
    {
        font-size: 75%;
    }

    .sr h1
    {
        font-size: 100%;
        margin: 10px 0px;
    }

    .sr div.mainDiv, .sr table.headerTable
    {
        width: 100%;
    }

    .sr table.main
    {
        vertical-align: top;
        margin: 0px;
        padding: 0px;
    }

        .sr table.main td.leftNav
        {
            vertical-align: top;
            margin: 0px;
            padding: 0px;
        }

        .sr table.main td.results
        {
            vertical-align: top;
            padding: 58px 6px 0px 6px;
        }

    .sr table.resultsMain
    {
        width: 100%;
    }

.listContainer .text
{
    padding-bottom: 24px;
}

.sr table.bestBetsMain
{
    width: 100%;
}

.sr table.productFilter
{
    width: 180px;
    border-bottom: 1px solid #69c;
    border-top: 1px solid #69c;
    border-left: 1px solid #69c;
    vertical-align: top;
    margin: 0px;
    padding: 0px;
}

.sr img.prevSrch
{
    margin-right: 3px;
}

.sr img.nextSrch
{
    margin-left: 3px;
}

.sr .headerImg
{
    background-color: #e5eaed;
    border-bottom: 1px solid #69c;
    width: 16px;
    vertical-align: middle;
}

.sr .headerText
{
    background-color: #e5eaed;
    border-bottom: 1px solid #69c;
    font-size: 70%;
    font-weight: bold;
    white-space: nowrap;
    vertical-align: middle;
}

.sr .resultsHeaderText
{
    font-size: 70%;
    font-weight: bold;
    color: #000000;
    white-space: nowrap;
    vertical-align: middle;
    padding-left: 1px;
    height: 20px;
}

.sr .resultsFooterText
{
    font-size: 13px;
    color: #000000;
    vertical-align: middle;
}

.sr .list .text
{
    font-size: 13px;
    color: #333333;
}

#gsfx_brnd_copyright
{
    font-size: 80% !important;
}

.sr .showmeHeaderText
{
    background-color: #99CCFF;
    border-bottom: 1px solid #9b0;
    font-size: 70%;
    font-weight: bold;
    white-space: nowrap;
    vertical-align: top;
    padding-left: 10px;
}

.sr .bestBetHeaderText
{
    background-color: #FFD995;
    filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr='#FFD995', endColorStr='#F1F6FF', gradientType='1');
    border-bottom: 1px solid #FDEBA2;
    font-size: 70%;
    font-weight: bold;
    color: #330000;
    white-space: nowrap;
    vertical-align: middle;
    padding-left: 10px;
    height: 20px;
}

.headerContainer
{
    font-size: 11px;
    color: #333333;
    padding-bottom: 20px;
}

.sr .headerImg img
{
    margin: 0 5px;
}

.sr .headerLine
{
    border-bottom: 1px solid #69c;
}

.sr .resultsText, .sr .bbText, .sr .spellText
{
    font-size: 13px;
    padding: 58px 8px 10px 8px;
}

    .sr .resultsText div, .sr .spellText div
    {
        padding: 0 0 10px;
        font-style: italic;
        font-weight: bold;
    }

.advsearch .resultsHead
{
    color: #333333;
    font-size: 20px;
    font-family: Segoe UI;
    font-weight: lighter;
}

.sr .dummyLink
{
    color: #007233;
    font-size: 11px;
    line-height: 20px;
}

.sr a.nw
{
    white-space: nowrap;
}

/* Solution Center */
.sc
{
    margin: 2px 20px 0 10px;
}

    .sc .header
    {
        color: #666;
        font-size: 105%;
        font-weight: bold;
        padding: 0px 10px;
    }

    .sc .columns
    {
        border-top: 1px solid #999;
        width: 100%;
    }

    .sc .gradient
    {
        height: 100%;
        width: 11px; /* leave as px */
    }

    .sc .columns td.SCThinColumn, .sc .columns td.SCMainColumn
    {
        vertical-align: top;
    }

    .sc .columns td.SCThinColumn
    {
        width: 25%;
    }

        .sc .columns td.SCThinColumn #SolutionCenter
        {
            width: 271px;
        }

            .sc .columns td.SCThinColumn #SolutionCenter .LCT .textColumn h3
            {
                font-size: 30px;
                color: #464646;
                font-weight: normal;
            }

    .sc .columns td.SCMainColumn
    {
        width: 75%;
        padding-left: 30px;
    }

        .sc .columns td.SCMainColumn #AssetContainer
        {
            margin-top: 0px;
            padding-top: 0px;
            margin-bottom: 30px;
            padding-bottom: 0px;
        }

    .sc h1
    {
        margin-bottom: 3px;
        margin-top: 0;
        font-size: 80%;
        font-weight: bold;
    }

    .sc .list td
    {
        padding: 3px 0;
    }

    .sc .list .image
    {
        vertical-align: top;
        width: 20px; /* leave as px may remove later */
    }

    .sc .list .bullet
    {
        vertical-align: top;
        font-size: 75%;
        width: 1em;
    }

    .sc .list .text
    {
        font-size: 70%;
    }

#tabPHDMenu
{
    font-weight: normal;
}

.SCThinColumn #tabPHDMenu #tabPHDList
{
    vertical-align: middle;
    height: 50px;
    width: 271px;
    background-color: #f8f8f8;
    margin-bottom: 5px;
}

.SCThinColumn #tabPHDMenu #tabPHDLast
{
    vertical-align: middle;
    height: 50px;
    width: 271px;
    background-color: #858585;
    margin-bottom: 5px;
    color: #ffffff;
    font-size: 16px;
}

.SCThinColumn #tabPHDMenu a
{
    cursor: pointer;
    color: #000000;
    font-size: 16px;
    margin-left: 0px;
}
/* DLL Help Info and Results */
.dllHelpResults, .dllHelpInfo
{
    padding: 10px;
    width: 100%;
}

    .dllHelpResults img.prevSrch
    {
        margin-right: 3px;
    }

    .dllHelpResults img.nextSrch
    {
        margin-left: 3px;
    }

    .dllHelpInfo img.prevSrch
    {
        margin-right: 3px;
    }

    .dllHelpInfo img.nextSrch
    {
        margin-left: 3px;
    }

    .dllHelpInfo p
    {
        font-size: 70%;
        font-weight: bold;
        margin: 15px 0 5px;
    }

    .dllHelpResults .tableContainer, .dllHelpResults table.mainTable, .dllHelpInfo .tableContainer, .dllHelpInfo table.mainTable
    {
        width: 100%;
    }

    .dllHelpResults table.mainTable, .dllHelpInfo table.mainTable, .dllHelpInfo table.fntable, .dllHelpInfo table.fileTable
    {
        background: #ededed;
        border: 2px solid #999;
        border-left: none;
        border-right: none;
        border-collapse: collapse;
    }

    .dllHelpResults table.mainTable, .dllHelpInfo table.mainTable
    {
        width: 100%;
    }

    .dllHelpResults table th, .dllHelpResults table td, .dllHelpInfo table th, .dllHelpInfo table td
    {
        font-size: 65%;
        padding: 3px 6px;
        vertical-align: top;
    }

    .dllHelpResults table th, .dllHelpResults table thead td, .dllHelpResults table tfoot td, .dllHelpResults table tfoot td a, .dllHelpInfo table th, .dllHelpInfo table thead td, .dllHelpInfo table tfoot td, .dllHelpInfo table tfoot td a, .dllHelpInfo table.fileTable td.heading
    {
        color: #fff;
        font-weight: bold;
        vertical-align: middle;
        white-space: nowrap;
    }

        .dllHelpResults table tfoot td a:hover, .dllHelpInfo table tfoot td a:hover
        {
            color: #f93;
        }

    .dllHelpResults table tr.light, .dllHelpInfo table tr.light
    {
        background-color: #fff;
    }

    .dllHelpResults table thead tr, .dllHelpResults table tfoot tr, .dllHelpInfo table thead tr, .dllHelpInfo table tfoot tr, .dllHelpInfo table.fileTable td.heading
    {
        background-color: #69c;
    }

    .dllHelpResults table tr.light td, .dllHelpInfo table tr.light td
    {
        border: 1px solid #ededed;
    }

/* Personalization */
.pz table.mainTable
{
    margin: 10px;
    width: 70%;
}

    .pz table.mainTable tr td.textColumn
    {
        padding: 0 10px;
    }

    .pz table.mainTable tr td.imageColumn
    {
        vertical-align: top;
        padding: 0 2px;
    }

.pz table tr td input.text
{
    font-size: 70%;
    width: 100%;
}

.pz table.mainTable tr td.textColumn p
{
    font-size: 70%;
    margin: 5px 0;
}

.pz table.mainTable tr td.textColumn a.spam
{
    font-size: 70%;
    margin: 10px 0;
}

.pz table.mainTable tr td.textColumn span.alias
{
    font-size: 70%;
}

.pz table.mainTable tr td.textColumn b
{
    font-size: 70%;
    margin: 10px 0;
}

.pz table.mainTable tr td.textColumn h1
{
    font-size: 100%;
    font-weight: bold;
    margin: 0;
}

.pz table.mainTable tr td.textColumn h2
{
    font-size: 85%;
    font-weight: bold;
    margin: 0;
}

.pz div table.radios tr td, .pz .wp .savedNewsgroup table tr td a
{
    font-size: 65%;
}

.pz .wp .savedNewsgroup table.mainTable
{
    border: none;
}

.pz .wp .savedNewsgroup h1
{
    font-size: 100%;
    padding: 0 0 10px;
}

.pz .wp .savedNewsgroup table
{
    border: solid 1px #808080;
    width: 70%;
}

    .pz .wp .savedNewsgroup table tr .check
    {
        width: 10px;
    }

    .pz .wp .savedNewsgroup table tr th
    {
        color: #fff;
        font-size: 65%;
        background-color: #369;
        padding: 3px 6px;
    }

    .pz .wp .savedNewsgroup table tr td
    {
        padding: 3px 6px;
    }

    .pz .wp .savedNewsgroup table tr.light
    {
        background-color: #ededed;
    }

/* Newsgroup */
.pz .news .search, .pz .news .content
{
    border: solid 1px #ededed;
    background-color: #99f;
}

    .pz .news .search td.text
    {
        font-size: 65%;
        font-weight: bold;
        padding: 3px;
    }

        .pz .news .search td.text input.text
        {
            font-weight: normal;
            width: 20em;
        }

    .pz .news .search .text button
    {
        width: 50px;
    }

    .pz .news .content table.topNavigation, .pz .news .content table.mainContainer, .pz .news .content td.textAlign
    {
        width: 100%;
    }

    .pz .news .content td.text, .pz .news .content .navigation td
    {
        font-size: 65%;
        padding: 1px 3px;
    }

    .pz .news .content table.topNavigation td.text a
    {
        color: #000;
    }

    .pz .news .content tr.test
    {
        background-color: #fff;
    }

    .pz .news .content .mainContainer .text
    {
        background-color: #fff;
        white-space: nowrap;
    }

    .pz .news .content .bottomNavigation td, .pz .news .content .topNavigation td
    {
        white-space: nowrap;
    }

input.page
{
    width: 35px; /* change to em */
}

/* Page Tools */
.floatWindow
{
    filter: progid:DXImageTransform.Microsoft.Fade(Overlap=1.00);
    text-align: center;
    visibility: hidden;
    position: absolute;
}

    .floatWindow .message
    {
        font-size: 70%;
        padding: 0px 20px;
        color: #111;
        text-align: center;
        white-space: nowrap;
    }

    .floatWindow .status
    {
        border: 1px solid #dedede;
        background: #fff;
        margin: 0;
        text-align: center;
        width: 105px;
    }

    .floatWindow .error
    {
        color: #f00;
        font-weight: bold;
    }

    .floatWindow .status td
    {
        font-size: 25%;
        background: #fff;
    }

/* Survey */
/* Document-level selectors */
.wp div.fms
{
    background: #ededed;
    border: 2px solid #999;
    border-left: none;
    border-right: none;
    margin: 0 0 5px;
    padding: 5px 10px;
}

/* Selector for rightmost image in the graphical survey header */
.wp .fms .SURVEYHEADERIMAGE
{
    margin-right: 0px;
}

.wp .fms .SURVEYTITLETEXT
{
    font-size: 85%;
    font-weight: bold;
    padding: 10px;
}

.wp .fms .SURVEYINTROTEXT
{
    font-size: 70%;
    font-weight: bold;
    color: #a52a2a;
    padding: 10px;
}

.wp .fms .SURVEYTHANKYOUTEXT
{
    font-size: 65%;
    font-weight: bold;
    color: #a52a2a;
    padding: 10px;
}

/* General question text for all question types */
.wp .fms .ANSWERTEXT
{
    font-size: 65%;
    line-height: 2em;
}

/* Selectors specific to GROUPED_HORIZONTAL_RADIO questions */

/* Question text for GROUPED_HORIZONTAL_RADIO questions */
.wp .fms .GHR_QUESTIONTEXT
{
    font-size: 65%;
    margin-left: 5px;
}

/* Numeric header and legend text for GROUPED_HORIZONTAL_RADIO questions */
.wp .fms tr.GHR_LEGENDTEXT td
{
    font-size: 65%;
    font-weight: bold;
    text-align: center;
}

.wp .fms tr td.GHR_LEGENDTEXT
{
    font-size: 65%;
    line-height: 1.2em;
    font-weight: bold;
    text-align: center;
}

.wp .fms .RATINGNUMBER
{
    font-size: 65%;
}

/* TR-specific selector for even rows in the GROUPED_HORIZONTAL_RADIO complex */
.wp .fms .GHR_EVENROW
{
    background-color: #f9f9f9;
}

/* TR-specific selector for odd rows in the GROUPED_HORIZONTAL_RADIO complex */
.wp .fms .GHR_ODDROW
{
}

    .wp .fms .GHR_ODDROW input[type|="radio"]
    {
        margin-right: 0px;
    }


/* Navigation: contains progress bar and navigational buttons */
/* Selector for the navigational complex */
.wp .fms .NAVIGATION
{
}

/*it and fr button is longest*/
.wp .fms .NAVBUTTON
{
    font-size: 65%;
}

/* Progress bar complex */
.wp .fms .PROGRESSBAR
{
    border-right: 1px solid #cde;
    border-bottom: 1px solid #cde;
    border-left: 1px solid #89a;
    border-top: 1px solid #89a;
    width: 120px;
    height: 20px;
}

.wp .fms .PROGRESSBLOCK
{
    background-color: #f00;
    height: 20px;
}

.wp .fms .PROGRESSTEXT
{
    font-size: 65%;
    font-weight: bold;
}

/* Question-level selectors */
/* Selector for the question-level container element. */
.wp .fms .QUESTIONCONTAINER
{
    margin-bottom: 5px;
    margin-left: 1px;
    margin-right: 3px;
    line-height: 1.5em;
    width: auto;
    padding: 3px 0px 0px 10px !important;
}

/* Selector for question text. */
.wp .fms .QUESTIONTEXT
{
    font-size: 65%;
    font-weight: bold;
    padding-bottom: 5px;
}

    .wp .fms .QUESTIONTEXT h5
    {
        font-size: 125%;
        margin: 0 0 16px;
    }

/* Selector for question instructions. */
.wp .fms .QUESTIONINSTRUCTION
{
    font-size: 65%;
    padding-bottom: 2px;
}

/* Selector for messages indicating that the question is required. */
.wp .fms .QUESTIONREQUIRED
{
    font-size: 75%;
    color: red;
    font-weight: bold;
}

/* Optional text box selectors */
.wp .fms .OPTIONALTEXTBOX
{
    font-size: 65%;
}

.wp .fms .OPTIONALTEXTBOXINSTRUCTION
{
    font-size: 65%;
    color: #666;
}

/* Stuff ? */
.wp .fms .ANSWERCONTROL
{
    font-size: 65%;
    font-weight: bold;
    text-align: center;
}

.wp .fms .ANSWERBOX
{
    font-size: 70%;
    margin: 0;
    width: 90%;
}

/* Right-to-Left, Left-to-Right */
#contentArea
{
    direction: ltr;
    text-align: left;
}

bdo
{
    direction: rtl;
}

.wp.lastReview td.label, .pz .news .content td.textAlign, .wp .searchRefine .wideColumn .innerTable .boldColumn, .wp .searchRefine .wideColumn .innerTable .boldSpecialColumn, .wp .searchRefine .wideColumn .innerTable .boldColumnTip
{
    text-align: right;
}

.pz .wp .savedNewsgroup table tr th, .pz .alignColumn, .lcr table th, .dllHelpSearch table caption, .dllHelpResults table th, .dllHelpInfo table th, .wp .fms .SURVEYINTROTEXT, .wp .fms .SURVEYTHANKYOUTEXT, .wp .fms .ANSWERTEXT, .wp .fms .GHR_QUESTIONTEXT, .wp .fms .QUESTIONREQUIRED, .wp .fms .NAVIGATION td, .wp.m2 .list caption
{
    text-align: left;
}

#thinColumn
{
    float: right;
}

.wp div.mainTree .tree div.treeLevel
{
    margin: 0 0 0 1.25em;
}

.surveyDiv
{
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    margin: 3px;
    background-color: Transparent;
    width: 600px;
    border: 0;
    font: 11px Verdana;
    color: #000;
    z-index: 200;
}

.eulaContainer
{
    font-size: 75%;
    margin: 32px 50px 0 50px;
}

    .eulaContainer h1
    {
        font-size: 100%;
        font-weight: bold;
    }

    .eulaContainer .frame
    {
        border: solid 1px #7F9DB9;
        padding: 10px;
        overflow: auto;
        height: 350px;
    }

    .eulaContainer span
    {
        text-align: center;
        display: block;
        margin-left: auto;
        margin-right: auto;
        margin-top: 10px;
    }

    .eulaContainer input
    {
        padding: 4px;
        margin: 10px;
    }

    .eulaContainer a
    {
        margin: 5px;
    }

.wp .LCT
{
    margin-right: 8px;
}

#CUForm input
{
    font-size: 80%;
    margin-left: 8px;
}

.srchOppose
{
    text-align: right;
    font-size: 80%;
    padding-top: 6px;
}

.livesrchOppose
{
    text-align: right;
    font-size: 80%;
    padding-top: 1px;
    padding-bottom: 1px;
    padding-left: 1px;
    padding-right: 1px;
}

.liveSearchGo
{
    font-size: .9em;
}

.lc .searchButton
{
    text-align: right;
    font-size: 80%;
}

.lc .submitsearch
{
    margin: 8px 15px 15px;
}


a#anchor_others
{
    white-space: nowrap;
}

#topRow .wp, #topRow td
{
    padding: 0;
}

/* start new LinkContainer css */

.LCT .list
{
    margin-top: 10px !important;
    width: 100%;
}

    .LCT .list table
    {
        width: auto;
    }

#thinColumn .LCT .list
{
    width: auto;
}

#thinColumn .LCT .textColumn .list
{
    width: 100%;
    table-layout: fixed;
}


.LCT .list td
{
    vertical-align: top;
    text-align: left;
    border-right: 0;
}

.LCT td
{
    vertical-align: top;
}

.LCT .list td.last
{
    border-right: 0;
}

.columns2 td
{
    width: 49%;
}

.columns3 td
{
    width: 32%;
}

.columns4 td
{
    width: 24%;
}

.columns5 td
{
    width: 19%;
}

.columns6 td
{
    width: 15%;
}

.LCT .more, .LCT .back
{
    font-size: 70%;
    padding: 7px !important;
    vertical-align: baseline;
}

.LCT li
{
    padding: 3px;
    color: #aaa;
}

    .LCT li .message
    {
        font-size: 100%;
    }

    .LCT li span
    {
        color: Black;
        vertical-align: baseline;
    }

#mainColumn .wp .LCT .textColumn ul li p
{
    font-size: 100%;
}

#mainColumn .wp .LCT .textColumn p
{
    font-size: 70%;
}

.LCT ul
{
    padding: 0;
    font-size: 70%;
    margin-top: 10px;
    margin-left: 30px;
    margin-bottom: 0;
}

    .LCT ul td
    {
        font-size: 70%;
    }

.LCT .list ul
{
    margin-left: 25px;
}

.LCT .list ul
{
    margin-top: 0 !important;
}

.LCT ul ul
{
    font-size: 100% !important;
}

.LCT li li
{
    list-style-type: disc;
    color: black;
}

.wp.alphaList .LCT td
{
    border: 0 !important;
}

    .wp.alphaList .LCT td span
    {
        width: 100%;
    }

    .wp.alphaList .LCT td a
    {
        font-size: 110%;
    }

    .wp.alphaList .LCT td span
    {
        font-size: 110%;
        font-weight: bold;
        color: #ccc;
    }

#alphaList a
{
    vertical-align: bottom;
}

.mainTable thead th
{
    font-weight: bold;
}

.mainTable tbody th
{
    font-weight: normal;
    color: Black;
    width: auto;
}

.pageTitle ~ .wp
{
    margin: 0px!important;
    padding: 0px!important;
}

    .pageTitle ~ .wp .LCT, .SCMainColumn, .breadcrumbs
    {
        font-weight: normal;
    }

#mainColumn .pageTitle ~ .wp .LCT .textColumn h3, #AssetContainer .LCT .textColumn h3
{
    font-weight: lighter;
}

.pageTitle ~ .wp .LCT .textColumn h3, #AssetContainer .LCT .textColumn h3
{
    font-size: 20px!important;
    color: #464646;
    padding: 0px 0px 0px 10px!important;
    vertical-align: top;
}

.pageTitle ~ .wp .LCT .textColumn ul span, #AssetContainer .LCT .textColumn ul li
{
    color: #464646;
    font-size: 13px;
}

    .pageTitle ~ .wp .LCT .textColumn ul span a,
    #AssetContainer .LCT .more a,
    #AssetContainer .LCT .textColumn ul li span a,
    .pageTitle ~ .wp .LCT .textColumn .more a
    {
        font-size: 13px;
        color: #0072C6;
    }

.pageTitle ~ .wp .LCT .textColumn ul li
{
    padding: 0px;
    margin-bottom: 20px;
    margin-left: 13px!important;
}

.pageTitle ~ .wp .LCT .textColumn ul
{
    margin-top: 8px;
}

    .pageTitle ~ .wp .LCT .textColumn ul li.noBullet
    {
        margin-left: 0px!important;
    }

.pageTitle ~ .wp .LCT .textColumn .more
{
    padding: 0px 0px 20px 10px!important;
}

#AssetContainer .LCT .imageColumn
{
    padding: 0px!important;
}

#AssetContainer .LCT .textColumn ul li
{
    margin-left: 2px!important;
    padding-top: 0px;
    padding-bottom: 0px;
    margin-bottom: 20px;
}

#AssetContainer .LCT .more
{
    padding-left: 10px!important;
    text-align: right;
    padding-top: 0px!important;
    padding-bottom: 0px!important;
}

#AssetContainer .LCT .back
{
    padding-left: 10px!important;
    padding-top: 0px!important;
    padding-bottom: 0px!important;
}

    #AssetContainer .LCT .back a
    {
        font-size: 13px;
        color: #0072C6;
    }
/* end new LinkContainer css */
.prodSelectionIndex table td a, .prodSelectionIndex table td span
{
    margin-left: 8px;
    margin-right: 8px;
    font-weight: bold;
    font-size: 80%;
}

.prodSelectionIndex table td span
{
    color: #aaa;
}

.prodSelectionIndex table
{
    padding-top: 5px;
    margin-top: 5px;
}
/* start tabbed homepage css */
.tabContainer
{
    font-weight: normal;
}

.tabStyle div.scroller .tabDiv .wp h3
{
    font-weight: lighter;
    font-size: 20px;
    color: #464646;
    margin-bottom: 10px;
}

.tabStyle div.scroller div.tabDiv h2
{
    display: none;
}

.clearBoth
{
    clear: both;
}

.tabMenu
{
    z-index: 2;
    float: left;
    width: 271px;
    border: none;
    border-right-width: 0px;
}

    .tabMenu a
    {
        padding: 0px;
        text-decoration: none;
        display: block;
        font-size: 16px;
    }

        .tabMenu a.off table
        {
            color: #000000;
            background-color: #f8f8f8;
        }

            .tabMenu a.off table img
            {
                visibility: hidden;
            }

        .tabMenu a.on table
        {
            color: #ffffff;
            background-color: #858585;
        }

.tabBanner
{
    margin: 0px;
    padding: 0px;
}

.tabImage
{
    vertical-align: middle;
    width: 10px;
    height: 15px;
}

.tabMenu a table p
{
    word-wrap: break-word;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
    margin: 0px;
    padding: 0px;
}

.tabMenu a table
{
    height: 50px;
    width: 271px;
}

    .tabMenu a table td
    {
        padding: 0px;
        margin: 0px;
        vertical-align: middle;
    }

.tabStyle div.scroller
{
    margin-left: 291px;
    border-left-width: 0px;
    border-top-width: 0px;
}

    .tabStyle div.scroller .tabDiv .wp
    {
        padding-top: 0px;
        font-size: 13px;
    }

        .tabStyle div.scroller .tabDiv .wp h3, .tabStyle div.scroller .textColumn h3
        {
            color: #000000;
            line-height: normal!important;
        }

            .tabStyle div.scroller .tabDiv .wp h3 a
            {
                font-size: 20px!important;
            }

        .tabStyle div.scroller .tabDiv .wp p, .tabStyle div.scroller .tabDiv .wp a
        {
            font-size: 13px;
        }

.tabStyle a
{
    color: #0072C6;
}

.tabStyle div.scroller .tabDiv .wp p
{
    color: #464646;
    margin-bottom: 20px;
    margin-top: 0px;
}

.tabStyle div.scroller .tabDiv .wp * + h3
{
    margin-top: 30px;
}

.tabStyle div.scroller .tabDiv .wp
{
    margin: 0px;
    padding: 0px;
}

    .tabStyle div.scroller .tabDiv .wp + .wp
    {
        margin-top: 30px;
    }

.tabStyle div.scroller .LCT .textColumn h3
{
    font-size: 20px;
    color: #464646;
    padding: 0px;
    margin: 0px;
}

.tabStyle div.scroller .LCT .textColumn table:first-child
{
    margin-bottom: 10px;
}

    .tabStyle div.scroller .LCT .textColumn table:first-child p
    {
        padding-left: 0px;
    }

.tabStyle div.scroller .LCT li
{
    margin-bottom: 0px;
    padding: 0px;
}

    .tabStyle div.scroller .LCT li + li
    {
        margin-top: 20px;
    }

.tabStyle div.scroller .LCT ul > span
{
    margin-top: 0px;
    margin-bottom: 20px;
}

.tabStyle div.scroller .LCT .list
{
    margin-top: 0px!important;
    padding-left: 0px;
}

.tabStyle div.scroller .LCT .textColumn ul
{
    padding-left: 13px;
}

.tabStyle div.scroller .LCT li span,
.tabStyle div.scroller .LCT ul > span,
.tabStyle div.scroller .LCT .textColumn p
{
    font-size: 13px;
    color: #464646;
}

.tabStyle div.scroller .LCT .textColumn .more
{
    padding: 10px 7px 0px 7px!important;
}

    .tabStyle div.scroller .LCT .textColumn .more a
    {
        font-size: 13px;
    }

.tabStyle div.scroller .LCT .textColumn p, .tabStyle div.scroller .LCT .textColumn ul
{
    margin-top: 0px;
    margin-bottom: 0px;
}

    .tabStyle div.scroller .LCT .textColumn ul li, .tabStyle div.scroller .LCT .textColumn ul > span
    {
        padding-left: 0px;
        margin-left: 0px;
    }

        .tabStyle div.scroller .LCT .textColumn ul > span.noBullet, .tabStyle div.scroller .LCT .textColumn ul li.noBullet
        {
            padding-left: 0px;
            margin-left: -12px;
        }

.tabStyle div.scroller .LCT .textColumn h3 .linkConTop
{
    display: none;
}

.tabStyle div.scroller .LCT .textColumn .more a
{
    margin-left: 5px;
}

.tabStyle div.scroller .tabDiv .wp
{
    height: 100%;
}

.tabBorder
{
    *margin-top: 24px;
}
/* end tabbed homepage css */
/*Start PH title*/
.pageTitle
{
    display:table;
    margin-bottom: 15px;
    margin-top: 15px;
}

    .pageTitle div
    {
        vertical-align: top;
        display:table-cell;
    }
    
    .pageTitle div
    {
        *float:left; 
    }

    .pageTitle img
    {
        margin-right: 10px;
        display: none;
    }

    .pageTitle p
    {
        font-size: 20px;
        font-weight: lighter;
        color: #464646;
        margin: 0px;
    }

    .pageTitle h1
    {
        color: #464646;
        margin: 0px;
        font-size: 30px;
        line-height: 100%;
        padding-top: 0px;
        padding-bottom: 15px;
        font-weight: lighter;
    }

    .pageTitle a
    {
        color: #0072c6;
    }
/*End PH title*/
/*.trscopeoptions {padding-bottom:10px; padding-left:12px; }*/
/*.trscopeoptions td table {margin-right:10px; padding-left:6px;}*/

.gssSearchDetails
{
    display: none;
    width: 100%;
}

.textCell
{
    padding-right: 0px;
    padding-left: 0px;
    padding-bottom: 5px;
    white-space: nowrap;
    font-size: 70%;
}

.helpImageCell
{
    text-align: right;
    width: 40px;
}

.whatscopelist
{
    width: 100%;
}

#showorhide table td
{
    text-align: left;
}

.mainTable .innerTable th
{
    text-align: left;
    font-size: 70%;
    font-weight: bold;
    padding-top: 25px;
    padding-bottom: 5px;
}

.separator
{
    width: 12px;
    padding-left: 0px;
    padding-right: 0px;
    margin-left: 0px;
    margin-right: 0px;
}

.searchAdvanced #query
{
    font-size: 0.7em;
}

.queryTableTd
{
    width: 100%;
}

#tblCatalog td
{
    padding: 2px 0px 2px 0px;
    _padding: 0px 0px 0px 0px;
}

#tblCatalog .text
{
    _padding: 3px;
}

/************************/
/* start error tool css */
/************************/
#errorDialog
{
    position: relative;
    margin: 5px 20px;
    padding: 6px 5px 3px 5px;
    background: url('/library/images/support/en-us/consumer_Error_bar.gif') repeat-x;
    border-left: 1px solid #36638B;
    border-right: 1px solid #36638B;
    height: 25px;
    width: 688px;
    z-index: 1;
    *display: inline;
    *zoom: 1;
}

#errorInput
{
    font-size: 80%;
    width: 678px;
}

#exactHits
{
    font-size: 75%;
    margin-left: 0px;
    margin-right: 20px;
}

    #exactHits li
    {
        margin: 2px 0 2px 0;
    }

        #exactHits li a span
        {
            font-size: 80%;
        }

#additionalLang
{
    font-size: 75%;
    margin: 20px 20px 0px 20px;
}

    #additionalLang select
    {
        width: 16em;
        vertical-align: middle;
        font-size: 100%;
        margin-top: 3px;
    }

#noResultsDiv
{
    font-size: 75%;
    margin-left: 20px;
    margin-top: 10px;
}

#pidContainer
{
    position: relative;
}

    #pidContainer:hover
    {
        background-color: transparent;
    }

    #pidContainer span
    {
        position: absolute;
        background-color: #fcfbde;
        padding: 5px;
        border: 1px solid black;
        visibility: hidden;
        text-decoration: none;
        color: Black;
        min-width: 200px;
        _width: auto;
    }

    #pidContainer:hover span
    {
        margin-bottom: -20px;
        top: 0px;
        visibility: visible;
    }

        #pidContainer:hover span li
        {
            margin-left: 20px;
            _margin-left: 0px;
        }

/**********************/
/* end error tool css */
/**********************/

/************************/
/* start easy assist css */
/************************/
.gss_easy_maindiv
{
    font-size: 70%;
    width: 100%;
}

    .gss_easy_maindiv .gss_easy_para
    {
        margin: 10px 20px;
    }

    .gss_easy_maindiv #gss_easy_eulaframediv
    {
        text-align: center;
        width: 100%;
    }

    .gss_easy_maindiv #gss_easy_eulaframediv2
    {
        margin: 0px auto;
        text-align: center;
        width: 80%;
    }

    .gss_easy_maindiv #gss_easy_eulaaccept
    {
        margin: 8px;
    }

    .gss_easy_maindiv .gss_easy_eulabutton
    {
        padding: 2px 20px;
        margin: 0px 20px;
    }

    .gss_easy_maindiv #gss_easy_eulaboth
    {
        margin: 0px 0px 10px 0px;
        font-weight: bold;
    }

    .gss_easy_maindiv .gss_easy_divscroll
    {
        width: 100%;
        margin: 0px auto;
        border-width: 1px;
        border-style: solid;
        overflow: auto;
        margin-top: 10px;
        margin-bottom: 5px;
        height: 140px;
        text-align: left;
    }

#gss_easy_sessiondiv
{
    display: none;
}

.gss_easy_maindiv #gss_easy_sessionformdiv
{
    width: 600px;
    margin-left: 50px;
}

.gss_easy_maindiv #gss_easy_sessiontable
{
    font-size: 100%;
}

    .gss_easy_maindiv #gss_easy_sessiontable td
    {
        padding: 10px 10px 0px 10px;
    }

        .gss_easy_maindiv #gss_easy_sessiontable td.gss_easy_paddednone
        {
            padding: 0px 10px 0px 10px;
        }

.gss_easy_maindiv .gss_easy_sessiontableeg
{
    padding-top: 0px;
}

.gss_easy_maindiv #gss_easy_sessionnext
{
    text-align: right;
}

.gss_easy_maindiv #gss_easy_sessionnextbtn
{
    padding: 2px 20px;
}

#gss_easy_warning table
{
    background-color: #FFFEEB;
    border: 1px solid #999999;
    font-family: verdana, arial, sans-serif;
    width: 95% !important;
    text-align: center;
    display: block;
}

    #gss_easy_warning table TD
    {
        padding: 10px 5px;
        font-size: 70%;
        line-height: 1.5em;
        text-align: left;
        vertical-align: top;
    }

.wrnMessage
{
    width: 100%;
    font-size: 100% !important;
}

    .wrnMessage span
    {
        font-size: 105%;
        font-weight: bold;
        display: block;
        margin-bottom: 5px;
        line-height: 100%;
    }
/************************/
/* end easy assist css */
/************************/

.hotfixwebpart
{
    margin-top: 14px;
    margin-bottom: 10px;
    margin-left: 20px;
    margin-right: 20px;
}

    .hotfixwebpart table
    {
        font-size: 0.8em;
    }


.hotfix
{
    font-size: 70%;
    padding: 23px 0px 30px 0px;
    width: auto;
}

    .hotfix a
    {
        color: #07679a;
        text-decoration: none;
    }

    .hotfix h1
    {
        color: #000000;
        font-size: 1.65em;
        margin-top: 0px;
        margin-bottom: 10px;
        font-weight: normal;
    }

    .hotfix ul
    {
        margin-top: 8px;
    }

    .hotfix .infoBox
    {
        padding: 10px;
        margin-left: 47px;
    }

    .hotfix .hotfixlist
    {
        background-color: #ffffff;
        border: solid 1px #F9F9F9;
    }

    .hotfix .normalTable
    {
        width: 100%;
        height: auto;
    }

    .hotfix .expandedTable
    {
        width: 1300px;
    }

    .hotfix .hotfixlist th, .hotfix .hotfixlist td
    {
        padding-left: 10px;
    }

    .hotfix .hotfixlist td
    {
        border-top: solid 1px #F9F9F9;
    }

    .hotfix .hotfixlist th
    {
        color: #000000;
        font-weight: bold;
        height: 28px;
        background-color: #ECF5FB;
        text-align: left;
        border-top: solid 1px #C5DAE8;
        border-bottom: solid 1px #C5DAE8;
    }

    .hotfix .hotfixlist .trborderleft
    {
        border-left: 1px solid #C5DAE8;
    }

    .hotfix .hotfixlist .trborderright
    {
        border-right: 1px solid #C5DAE8;
    }

    .hotfix .hotfixlist tr
    {
        color: #000000;
        height: 28px;
    }

    .hotfix table
    {
        font-size: 100%;
    }

    .hotfix .infoBox .key
    {
        font-weight: bold;
    }

    .hotfix .divForm
    {
        width: 712px;
        margin-top: 16px;
        margin-bottom: 0px;
        padding-top: 0px;
        padding-bottom: 0px;
        border: none;
    }

    .hotfix #tblForm
    {
        width: 100%;
    }

        .hotfix #tblForm input
        {
            margin-bottom: 2px;
        }

    .hotfix #divYourSys
    {
        border: none;
        margin-top: 2px;
        margin-bottom: 10px;
    }

        .hotfix #divYourSys #divDesText
        {
            margin-left: 47px;
        }

    .hotfix #divSysDown
    {
        color: Red;
    }

    .hotfix #divErrMsg
    {
        color: Red;
        margin-top: 10px;
        margin-bottom: 10px;
    }

    .hotfix #divYourRequest
    {
        margin-bottom: 20px;
    }

    .hotfix #divHotfixes
    {
        margin-bottom: 33px;
        margin-left: 40px;
    }

        .hotfix #divHotfixes ul
        {
            margin-left: 16px;
        }

    .hotfix #divEmailPrompt
    {
        margin-bottom: 20px;
    }

    .hotfix #divEmail
    {
        margin-bottom: 40px;
        margin-left: 40px;
    }

    .hotfix #divSummary
    {
        margin-bottom: 35px;
    }

    .hotfix #divShowAll
    {
        margin-bottom: 10px;
        margin-left: 47px;
    }

    .hotfix #divWarning
    {
        margin-bottom: 13px;
        margin-left: 15px;
    }

    .hotfix #divGoToTop
    {
        margin-top: 20px;
    }

    .hotfix .tdSpace
    {
        width: 5px;
    }

    .hotfix .tdLabel
    {
        width: 180px;
        text-align: right;
        padding-right: 7px;
    }

    .hotfix .textInput
    {
        width: 245px;
    }

    .hotfix #tdHSeparator1
    {
        height: 35px;
    }

    .hotfix #tdHSeparator2
    {
        height: 38px;
    }

    .hotfix .tdCheckbox
    {
        padding: 0px;
    }

    .hotfix #spanShowAll .aShowAll
    {
        text-decoration: underline;
    }

    .hotfix #spanShowAll
    {
        float: left;
    }

        .hotfix #spanShowAll img
        {
            margin-right: 4px;
        }

    .hotfix #spanShowMore
    {
        float: right;
    }

    .hotfix .inlineImage
    {
        vertical-align: middle;
    }

    .hotfix #divSteps
    {
        margin-bottom: 5px;
    }

    .hotfix .divStep
    {
        font-size: 120%;
        vertical-align: middle;
    }

        .hotfix .divStep img
        {
            margin-right: 12px;
        }

    .hotfix #divStep1
    {
        width: 100%;
        margin-bottom: 6px;
        margin-top: -10px;
        display: table;
    }

    .hotfix #divNoscript
    {
        height: 500px;
    }

    .hotfix #divWarning ul
    {
        margin-left: 33px;
        margin-bottom: 18px;
    }

    .hotfix #hflWrapper
    {
        margin-left: 47px;
    }

    .hotfix .divReqDescription
    {
        padding-left: 47px;
        margin-top: 2px;
    }

    .hotfix #tdSubmit
    {
        padding-top: 10px;
    }

    .hotfix #divTodo
    {
        margin-top: 23px;
    }

    .hotfix hr
    {
        color: LightGrey;
        height: 1px;
    }

    .hotfix .tdHip
    {
        padding-top: 11px;
        vertical-align: top;
        padding-bottom: 1px;
    }

    .hotfix .tdHipHelp
    {
        padding-top: 30px;
        vertical-align: top;
    }

    .hotfix #divTextHelp
    {
        padding-top: 2px;
    }

    .hotfix #tdHipContainer
    {
        width: 255px;
    }

    .hotfix #hipaudio
    {
        margin: 8px 96px 9px 97px;
    }

    .hotfix #hipimage
    {
        margin: auto;
    }

    .hotfix #divHipImage
    {
        text-align: center;
        width: 220px;
        height: 50px;
        border: solid #9096a1 1px;
        margin-right: 3px;
    }

    .hotfix #divHipType
    {
        cursor: pointer;
    }

    .hotfix #divReloadHip
    {
        cursor: pointer;
    }

    .hotfix .tdCheckbox input
    {
        padding: 0px;
        margin: 0px;
    }

/*/////////////////////////////////////////////////////////////////*/
/*/////////////////////////////////////////////////////////////////*/
/*/////////////////////////////////////////////////////////////////*/

.advsearch
{
    position: relative;
    width: 240px;
    margin-top: 20px;
    z-index: 3;
}

    .advsearch .relative
    {
        position: relative;
    }


    .advsearch h1
    {
        font-weight: normal;
        font-size: 1.65em;
        margin-bottom: 6px;
        margin-left: 5px;
    }

    .advsearch #divquery
    {
        height: 1.8em;
        margin-top: 4px;
        position: relative;
        z-index: 2;
    }

        .advsearch #divquery #query
        {
            width: 660px;
        }

    .advsearch #content
    {
        font-size: 13px;
        color: #333333;
    }

    .advsearch #divshowhide
    {
        margin-top: 2px;
        display: none;
    }

        .advsearch #divshowhide #showhide
        {
            vertical-align: top;
            z-index: 1;
            zoom: 1;
            font-size: 13px;
        }

    .advsearch #showhide img
    {
        margin: auto 6px;
        line-height: 13px;
    }

    .advsearch #tblLive
    {
        width: 695px;
        font-size: 100%;
    }

        .advsearch #tblLive td
        {
            padding: 1px;
        }

        .advsearch #tblLive #tdQuery
        {
            width: 612px;
        }

        .advsearch #tblLive #tdSubmit
        {
            white-space: nowrap;
        }

        .advsearch #tblLive .relative
        {
            _width: 100%;
        }

    .advsearch #tdQuery #query
    {
        width: 100%;
        _float: left;
    }

    .advsearch #tdHelpLink
    {
        text-align: right;
        font-size: 100%;
        padding-bottom: 4px;
        width: 100%;
    }

    .advsearch #tblLive #ddCatalog
    {
        width: 80px;
    }

    .advsearch #tblLive select
    {
        font-size: 100%;
    }

    .advsearch span#poweredbycell
    {
        margin-right: 37px;
    }

    .advsearch #poweredbycell
    {
        margin-top: 1px;
        padding: 2px 0px;
    }

        .advsearch #poweredbycell span
        {
            font-size: 7pt;
            text-align: right;
        }

        .advsearch #poweredbycell img, .advsearch #poweredbycell div
        {
            vertical-align: middle;
            margin: 0px 2px;
        }

    .advsearch #divSubmitLive
    {
        _padding-right: 1px;
    }

    .advsearch #livecatalogs table
    {
        margin-top: 6px;
    }

    .advsearch .livecatalogtext
    {
        font-size: 70%;
    }

    .advsearch #divcataloglabel
    {
        font-family: Segoe UI;
        font-weight: 600;
        font-size: 13px;
        color: #333333;
        margin-bottom: 15px;
    }

    .advsearch #divresources
    {
        height: 1.8em;
        margin-top: 38px;
    }

    .advsearch .divcatalogitem
    {
        color: #333333;
        font-size: 13px;
        margin-bottom: 12px;
    }

    .advsearch #SearchDetails
    {
        margin-top: 15px;
        margin-bottom: 2px;
        display: none;
    }

    .advsearch .searchBoxWrapper
    {
        position: absolute;
        left: 263px;
        margin-top: 6px;
    }

    .advsearch #divSubmit
    {
        position: relative;
        width: 383px;
        border: solid 1px #cccccc;
        height: 24px;
    }

        .advsearch #divSubmit #query
        {
            width: 343px;
            border: none 0px;
            height: 21px;
            padding-left: 5px;
            padding-right: 5px;
            margin-left: 2px;
            margin-right: 2px;
        }

    .advsearch #spanSubmit input
    {
        position: absolute;
        left: 364px;
        top: 5px;
    }

    .advsearch #btnSubmit
    {
        border: 0px;
    }


    .advsearch a.custip span
    {
        font-size: 80%;
    }

    .advsearch input[type|="checkbox"]
    {
        width: 20px;
        height: 20px;
        margin-right: 3px;
    }

.divcatalogoption
{
    padding-bottom: 3px;
    font-size: 13px;
    color: #333333;
}

    .divcatalogoption label
    {
        line-height: 20px;
        position: relative;
        top: -6px;
    }

.catalogRadioList
{
    display: none;
    margin-top: 10px;
}

.getSupportSection
{
    font-size: 13px;
}

.showMore
{
    margin-bottom: 25px;
}

.hideMore
{
    margin-bottom: 0px;
}

.advsearch #acListWrapperquery
{
    margin-left: -1px;
    margin-top: 3px;
}

.getSupportHead
{
    font-family: Segoe UI;
    font-weight: 600;
    color: #333333;
    font-size: 13px;
    margin-bottom: 13px;
}

.getSupportSection ul
{
    margin: 0px;
}

.getSupportSection li
{
    list-style-type: none;
    margin-bottom: 15px;
}

    .getSupportSection li a
    {
        font-size: 13px;
    }

#productInput
{
    font-size: 16px;
    border: 1px solid gray;
    width: 340px;
    height: 30px;
    font-style: italic;
}

#qpfProductList
{
    font-size: 75%;
    margin-left: 20px;
}

    #qpfProductList li
    {
        margin: 2px 0 2px 0;
    }

        #qpfProductList li a span
        {
            font-size: 80%;
        }

#qpfInner1
{
    z-index: 2;
    display: table-cell;
    *position: relative;
    *float: left;
}

    #qpfInner1 #productDialog
    {
        margin-right: 20px;
    }

        #qpfInner1 #productDialog > span
        {
            font-size: 16px;
        }

#qpfInner2
{
    display: table-cell;
    *position: relative;
    *float: left;
}

#qpfInner1 #productDialog > span, #qpfInner2
{
    font-size: 13px;
    color: #333333;
}

#qpfInner1 #productDialog > span
{
    font-weight: bold;
}

#acListDivproductInput div span
{
    font-size: 16px!important;
    line-height: 25px!important;
}

.imagesdiv
{
    display: inline;
    float: left;
}


#selprod
{
    width: 65%;
    margin: 40px;
    font-size: 8pt;
}

    #selprod h1
    {
        font-weight: bold;
        font-size: 12pt;
    }

    #selprod #content
    {
        margin-top: 6px;
        padding: 12px;
        background-color: #eef3ff;
    }

        #selprod #content img
        {
            float: left;
        }

        #selprod #content #products
        {
            margin-left: 50px;
            width: auto;
        }

        #selprod #content #asst
        {
            text-align: right;
        }

#mainColumn
{
    direction: ltr;
    text-align: left;
}

td.primaryThinColumn
{
    padding-left: 20px;
}

/*begin social media*/
.SocialMedia
{
    height: 37px;
}

#thinColumn .SocialMedia
{
    margin-bottom: 20px;
}

.ShareButton
{
    display: none;
    border-style: none;
    right: 0px;
    float: right;
    color: #1977b0;
    z-index: 10;
    padding: 0px 10px 3px 10px;
    margin-top: 17px;
    font-size: 80%;
}

a.ShareButton
{
    text-decoration: none;
}

.MediaContent
{
    width: 200px;
    right: 0px;
    position: absolute;
    z-index: 20000;
    top: 35px;
}

    .MediaContent ul, #thinColumn .MediaContent ul
    {
        font-size: 70%;
        padding: 5px;
        border: 1px solid #1977B0;
        background: #FFF;
        list-style: none;
        margin-top: 0px;
        display: none;
        margin-left: 40px;
    }

    .MediaContent li a, #thinColumn .MediaContent li a
    {
        padding-right: 10px;
        padding-left: 10px;
        line-height: 22px;
        display: block;
        text-decoration: none;
        font-size: 11px;
    }

.MediaLinks li a img, #thinColumn .MediaLinks li a img
{
    margin-right: 5px;
    vertical-align: text-bottom;
}

.MediaLinks li a:hover, #thinColumn .MediaLinks li a:hover
{
    background: #D2E4EF;
}

.stackLayoutContentTable .SocialMedia .MediaContent
{
    right: 3px;
}
/*end social media*/

/***begin article translation***/
#thinColumn #ATList
{
    background-color: white;
    width: 173px;
    border: 1px solid #C6D0DA;
    display: block;
    padding-left: 3px;
    z-index: 100;
}

#ATList ul
{
    list-style: none;
    padding: 0px;
    width: auto;
}

#thinColumn #ArticleTranslations
{
    overflow: visible;
    margin-bottom: 15px;
    z-index: 4;
}

#ArticleTranslations .ATtext
{
    width: 173px;
    height: 18px;
    background-color: white;
    clear: both;
    font-size: 13px;
    border: 1px solid #C6D0DA;
    padding-left: 3px;
}

    #ArticleTranslations .ATtext span a
    {
        float: left;
        width: 156px;
        height: 18px;
        line-height: 16px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    #ArticleTranslations .ATtext a
    {
        float: right;
        cursor: pointer;
        width: 17px;
        height: 18px;
    }

/***end article translation ***/

/**begin contextualad**/
#thinColumn .adWrapper
{
    margin-bottom: 30px;
}

#mainColumn .adWrapper
{
    margin-top: 30px;
}
/**end contextualad**/

/**begin OptWebpart**/
#divSsbAdContent
{
    display: none;
    margin-top: 30px;
    margin-bottom: 30px;
}
/**end OptWebpart**/

/* Media Print */
@media print
{
    .stage
    {
        display: inline;
        font-size: 14pt !important;
    }

    .utility-bar, .stage-bg-top, .stage-bg-mid, .stage-bg-bot, .search-navigation, .main-brand, .footer, .getHelp, .primaryThinColumn, .primaryLeftColumn, #leftColumn, #thinColumn, .wp .fms, .wp.search, .wp.lc, .SimpleSearch, .SimpleSearchWithPH, .PilotSimpleSearch, .SocialMedia, .SocialMedia_out
    {
        display: none !important;
    }

    pre
    {
        overflow: visible !important;
        word-wrap: break-word;
        white-space: normal;
    }

    table
    {
        width: auto !important;
        overflow: visible !important;
    }

    .psContainers
    {
        float: none !important;
    }
}

/*http error 404 begin*/

#Http404ErrorDiv
{
    margin-top:25px;
}

    #Http404ErrorDiv > h2
    {
        font-weight: 500;
    }
    
    #Http404ErrorDiv > p
    {
        margin-top:10px;
    }
    
/*http error 404 end*/

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://support.microsoft.com/library/images/support/en-us/20x20_grey_plus.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+VpVFh0WE1MOmNvbS5hZG9iZS54bXAA
AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U
Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6
eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8w
Mi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE
ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRv
YmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2Vs
ZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hh
cC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAv
MS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQ
aG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcDpDcmVhdGVEYXRlPSIyMDEyLTAxLTMx
VDA5OjQzOjAxLTA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxMi0wMS0zMVQxNDo0
MTo1NC0wODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxMi0wMS0zMVQxNDo0MTo1
NC0wODowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHhtcE1NOkluc3RhbmNlSUQ9
InhtcC5paWQ6QzY3MTdCNUY0QzVDMTFFMTgwNDg5Q0Y3RUQ5RUY4RTciIHhtcE1N
OkRvY3VtZW50SUQ9InhtcC5kaWQ6QzY3MTdCNjA0QzVDMTFFMTgwNDg5Q0Y3RUQ5
RUY4RTciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1w
LmlpZDpDNjcxN0I1RDRDNUMxMUUxODA0ODlDRjdFRDlFRjhFNyIgc3RSZWY6ZG9j
dW1lbnRJRD0ieG1wLmRpZDpDNjcxN0I1RTRDNUMxMUUxODA0ODlDRjdFRDlFRjhF
NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4g
PD94cGFja2V0IGVuZD0iciI/Pn2syBUAAAIESURBVHjarNVfKN1hHMfx3zmOMqLl
YhYXyp0/JTUZd1ycG5Ko1cqNWBEXLuxiKRdSq3HhbxRys7ZayKzdzp0UJYXJxWol
SZFZq4nj7P2tz69OT7/fZuWpV/E7z/f7/J7nfJ/vicTjcS9glKEezShFUs8j2MMy
PmPXDYw5/2ejFy9xhU28wbk+z8VT9KEfwxjFz6CEjzGJFnzQ5C0veDzRooMoRw9O
UhM+xBQa0IV5XHvhwxZqxRrGdBTtuPAT9ui8XmDOu9uwBWdwg1lsYyiqQ3+F91gI
CMxBLWqQEfD5gmItR6klbNRqI0gEBBRjSYGPAj5PKNZyNFrCJqzrlcO2lqbz/h0y
Z1s5mixhCTZSas1GFoqQh3wdus0tRIGkp8xPKkdJTBPPnBXr9OVcIlMLPNDWLfgI
bThMibFajUY1IeHd04gpYZ7z/Auq8QuVeKddPMOx5pw6MXaLbi3hPqp0Tv45WqJv
+vtYz2/xPSCRf8ftSu7blldUYxUhu0jXkdyE1KGnWMuxYglXFdSn8nDHV93vtpC3
S1Os5ViNqh29xnMFueNSd3Y9pA47FGs59vy7PKnXntIX9a/m4B9Fp5qDldOEpxq0
cYFufMI03qpFeX9pXzZnHItqLj/cfniiLe+o19WpwW6oaBO6y1UqJTu7AbfBRv7j
JyCpHfk/AR9x4Ab+EWAAH759xEmQbsUAAAAASUVORK5CYII=

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://support.microsoft.com/library/images/support/en-us/20x20_grey_minus.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+VpVFh0WE1MOmNvbS5hZG9iZS54bXAA
AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U
Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6
eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8w
Mi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE
ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRv
YmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2Vs
ZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hh
cC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAv
MS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQ
aG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcDpDcmVhdGVEYXRlPSIyMDEyLTAxLTMx
VDA5OjQzOjAxLTA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxMi0wMS0zMVQxMDo1
MDoyNi0wODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxMi0wMS0zMVQxMDo1MDoy
Ni0wODowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHhtcE1NOkluc3RhbmNlSUQ9
InhtcC5paWQ6NzA4RTQ4MzU0QzNDMTFFMUJEOTJERjAzMDJDQzg2NzciIHhtcE1N
OkRvY3VtZW50SUQ9InhtcC5kaWQ6NzA4RTQ4MzY0QzNDMTFFMUJEOTJERjAzMDJD
Qzg2NzciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1w
LmlpZDo3MDhFNDgzMzRDM0MxMUUxQkQ5MkRGMDMwMkNDODY3NyIgc3RSZWY6ZG9j
dW1lbnRJRD0ieG1wLmRpZDo3MDhFNDgzNDRDM0MxMUUxQkQ5MkRGMDMwMkNDODY3
NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4g
PD94cGFja2V0IGVuZD0iciI/Pt433kMAAAHASURBVHjarNXdK0NxGAfw37YzpRT/
w/JyoSRJuVrkNGVRLlxpuVjJlVIyEzVvUfgD3BAXJJG58FpLkijXtMSfMCKyefk+
9T3163Ta5vDUp7ad3/P83s88pmkqh6iBLuiAJjDgG3JwBfuwC7f2RF8gENC/l8Aw
rEM7vMMGv5/AI9RCD/SxE+ng0ypgaMUqYI2jOoV5OFLOYbLjGWiGXsjIAy8b+GGV
xcYhlKeY4rMQ23Yw169PeQQGYAIm4UsVDmlzxmn3wxuce7Aplfhww7WQXrPqdyEj
O4AGqJcpd0MZTLsoppgjueWyWVIwDGlIKfeRYo2w7HIjLNvWTXor5fo4hQzkGV61
9TyGqME1SNsSpqAzz+b4YAkWtd+kht86Njn1T2GwWJXt9zEudKEp6yGnJWtox8Wr
TfGJig3JbYNr+ZBk9eAfZhpkjaQU3IYXiFvXx8XBjnNGm17uziy0QMxFwRhz5+DB
usuXUMc7Ket4UcR9NjiyBOzBoOR4tesT4Yszwbtp5ilmsk2CORHr2urvwwzv9RB7
PoQ7vhvT2tFohWoem1FYgA+nF6ziA1nPHe0vIKq1s/4CVmAL7u1D/xFgAMMCcA9j
IRESAAAAAElFTkSuQmCC

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=XmlContent.css
Content-Type: text/css; charset=utf-8; name=XmlContent.css
Content-Location: http://support.microsoft.com/common/css/default/XmlContent.css?80
Content-Transfer-Encoding: 8bit

﻿/* general kb */
.kb
{
    font-size: 13px;
    margin: 0px 0px 5px 0px;
    width:auto;
    color: #333333;
}
.kb a 
{
    color: #0072c6;
}
.kb td
{
    padding: 0;
    vertical-align: top;
}

.kb ol, .kb ul, .kb li
{
    position:inherit;
}
.table ol,.table.ul,.table li
{
    position:static;
}

.kb div.sbody .list td
{
    background: transparent!important;
    border-top: none!important;
}

.kb div.pLink
{
    display: none;
    font-size: 11px;
    font-weight: normal;
}

.kb .toc img,
.kbSurvey .topOfPage img,
.kb .topOfPage img
{
    vertical-align: baseline;
    margin:0px 3px;
}
.clear {
    clear: both;
}

.kb #kb_hotfix_link
{
    text-decoration: none;
    margin-bottom: 20px;
    float: left;
    position: relative;
    font-size: 18px;
    line-height: 40px;
    display: block;
    color: #FFFFFF;
    min-width: 160px;
    height: 40px;
    background-color: #00a600;
    padding: 0px 5px;
}
.kb #kb_hotfix_link img 
{
    position: relative;
    top: 6px;
    margin: 0px 10px;
    line-height: 40px;
    *left: 10px;
    *right: 10px;
    *top: 5px;
}
.kb #kb_hotfix_link span
{
    line-height: 38px;
    *line-height: 34px;
}
.kb h1.title
{
    font-size: 30px;
    margin: 20px 0px 10px 0px;
    font-weight: lighter;
    word-wrap: break-word;
}

.kb h2
{
    font-size: 20px;
}

.kb h3
{
    font-size: 20px;
    font-weight:lighter;
}

.kb h4
{
    font-size: 16px;
}

.kb h5
{
    font-size: 13px;
    font-weight:600;
}

.kb h6
{
    font-size: 11px;
}

.kb .graphic
{
    margin:0px 10px;	
    padding:1px;
}

.kb .message
{
    padding: 10px 30px;
}

.kb div.author
{
    margin: 0px 0px 6px 0px;
}

.kb div.author .label
{
    font-weight: bold;
}

.kb div.expandcollapseall
{
    display:none;	
} 

.kb div.expandcollapseall_open
{
    margin: 15px 0px;
    color:#115F87;	
} 

.kb div.expandcollapseall_open a:hover
{
    text-decoration:underline;	
} 

.kb div.csDisclaimerLink,
.kb div.mtDisclaimerLink,
.kb div.rtDisclaimerLink,
.kb div.mtSBSLink
{
    padding: 3px 0px 3px 0px;
}

.kb div.csDisclaimerLink img,
.kb div.mtDisclaimerLink img,
.kb div.rtDisclaimerLink img,
.kb div.mtSBSLink img
{
    margin: 0px 4px;
    vertical-align:middle;
}

.kb div.disclaimer.mt .text,
.kb div.disclaimer.cc .text,
.kb div.disclaimer.retiredkb .text,
.kb div.disclaimer.text
{
    font-size: 11px;
}

.kb div.disclaimer .label
{
    font-size: 13px;
    color: #333333;
    font-weight: bold;
}

.kb div.securedisclaimer,
.kb div.securesection
{
    margin: 1px 0;
}

.kb div.securedisclaimer hr,
.kb div.securesection hr
{
    border: 1px solid #e92;
    background-color: #efba43;
    margin: 5px auto;
}

.kbhf
{
    border-bottom: 2px solid #e92;
    border-top: 2px solid #e92;
    padding: 0 15px;
}

.kb div.securedisclaimer .seclabel,
.kb div.securedisclaimer .label,
.kb div.securesection .seclabel,
.kb div.securesection .label,
.kbhf .label
{
    text-transform: uppercase;
    text-align:center;
    font-weight: bold;
    color: #c60;
    margin-bottom: 5px;
}

.kbhf .label
{
    margin-top: 15px;
}

.kb div.securesection .secdisclaimer
{
    text-align: center;
}

.kb div.securedisclaimer .text,
.kb div.securesection .text
{
    margin: 0 10px;
}

.kb div.securesection .secdisclaimer.text
{
    margin: 0 0 10px;
}

.kb div.notice
{
    margin: 20px 0px 0px 0px;
    background-color: #F5F5F5;
    padding: 5px 10px 10px 10px;
    font-size: 13px;
}
.kb div.notice a 
{
    font-size: 13px;
}

.kb .notice h5
{
    margin: 0px 0px 5px 0px;
}
.kb .notice div.indent 
{
    padding-bottom: 0px;
    padding-top: 5px;
}
.kb div.notice div.notice
{
    font-size:13px;
    margin-top: 0px;
    padding-bottom: 0px;
}
.kb .notShow,.kbSurvey .notShow 
{
    display: none;
}
.kb .subSection 
{
    margin-bottom: 5px;
}
.kb .subSectionHead 
{
    cursor: pointer;
    padding: 0px 25px;
    display: block;
    min-height: 20px;
    line-height: 20px;
}

.kb .subSectionHead.headCollapse {
    background: url("/library/images/support/en-us/20x20_grey_plus.png") no-repeat 0px center;
    
}

.kb .subSectionHead.headExpand {
    background: url("/library/images/support/en-us/20x20_grey_minus.png") no-repeat 0px center;
}

/* Atricle Properties */
.kb div.articleProperty
{
    color:#999999;
    padding:2px;
    font-size: 11px;
    margin-bottom: 17px;
}

/* Table of Content */
.kb .toc h5
{
    font-size: 120%;
    margin: 0;
    margin-bottom:3px;
}

.kb .toc .tallTable
{
    border-collapse: collapse;
}

.kb .toc .hfdl
{
    display: none;
}

.kb .toc .tallTable td
{
    font-size: 10%;
    padding: 4px 0 0;
    width: 10px;
}

.kb .toc .tallTable td.text
{    
    padding: 1px 3px;
    width: 100%;
}

.kb .toc .tallTable span
{
    width: 10px;
}

.kb .section .table 
{
    border-bottom: solid 1px #000000;
    border-collapse: collapse;
}

.kb .section .table th
{
    padding: 5px 10px 5px 0px;
    border-bottom: solid 1px #000000;
    font-weight: normal;
    text-align: left;
}

.kb .section .table td
{
    padding: 5px 10px 5px 0px;
    border-top: solid 1px #c9c9c9;
    border-bottom: solid 1px #c9c9c9;
    border-left: 0px;
    border-right: 0px;
    empty-cells: show;
    text-align: left;
}
.kb .section .kb_tablewrapper .table td,.kb .section .kb_tablewrapper .table th
{
    padding: 5px 10px 5px 10px;
}

.kb .section .kb_tablewrapper .table th
{
    border-top: solid 1px #000000;
}

.kb .section .table tr:last-child td
{
    border-bottom: solid 1px #000000;
}
.kb .list
{
    margin: 0;
}

.kb .list .list
{
    margin: 0;
}

.kb .list .bullet
{
    padding:0;
}

.kb .list .text
{
    padding-left: 2px;
    padding-right: 2px;
}
.kb .kb_subList
{
    list-style-type:none;
    Margin-left:2px;
}

.kb .section h2.subTitle.tocTitle, .kb .section h2.subTitle.tocTitle span
{
    background-color: #f5f5f5;
}
.kb .section h2.subTitle.tocTitle img.kb_tabs_toggle
{
    padding-left: 12px;
    padding-top: 12px;
}
.kb .rtl .section h2.subTitle.tocTitle img.kb_tabs_toggle
{
    padding-left: 0px;
    padding-right: 12px;
}
.kb .section h2.subTitle.tocTitle span 
{
    padding-bottom: 12px;
    padding-top: 12px;
}
.kb h2
{
    margin: 0px 0px 5px 0px;
}

.kb .section h2.subTitle,.kbSurvey h2.subTitle
{
    width:100%;
    cursor:pointer;
    background-color: #d1d3d4;
    position: relative;
    overflow: hidden;
}

.kbSurvey 
{
    margin: 0px 0px 0px 0px;
}

.kbSurvey.noShow,.kb .noShow
{
    display: none;
}
.kbSurvey .topOfPage 
{
    margin: 0px 52px;
}
.kbSurvey .topOfPage a {
    color: #0072c6;
    font-size: 13px;
}
.kbSurvey .bookmark a 
{
    display: block;
    height: 0px;
}
.kb .section h2.subTitle span,.kbSurvey h2.subTitle span
{
    background-color: #d1d3d4;
    float:left;
    font-size: 16px;
    font-weight: lighter;
    padding: 10px 0px 10px 10px;
    width: 732px;
}
.kb .section h2.subTitle span a, .kbSurvey h2.subTitle span a
{
    color:#333333;
}

* html .kb .section h2.subTitle span
{    
    background-image:none;
    filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/library/images/support/cn/gsfx_kb_tab.png', sizingMethod='crop');    
}

.kb .rtl .section h2.subTitle span
{
    float:right;
    padding-left: 0px;
    padding-right: 10px;
}

.kb div.kb_graphictop,
.kb div.kb_tabletop,
.kb div.kb_graphictop_open,
.kb div.kb_tabletop_open
{
    height:60px;
    margin:0px;  
}

.kb div.kb_graphictop_open,
.kb div.kb_tabletop_open
{
    height:60px;
    display:table;
}

.kb span.kb_collapsetext_close,
.kb span.kb_expandtext_close,
.kb span.kb_expandtext
{
    display:none;
}

.kb span.kb_collapsetext_open,
.kb span.kb_expandtext_open
{
    color:#0072C6;
    vertical-align:top;
    cursor:pointer;	
    margin:4px 0px;
    font-size: 16px;
    line-height: 49px;
    display: inline-block;
} 

.kb span.kb_expandtext_background,
.kb span.kb_collapsetext_background
{
    width:49px;
    height:49px;
    margin: 0px 10px 0px 0px;
    display:block;
    float:left;
    font-weight: normal;
}

.kb .rtl span.kb_expandtext_background,
.kb .rtl span.kb_collapsetext_background
{
    float:right;
}

.kb span.kb_collapsetext_background
{
    background-image: url('/library/images/support/cn/48x48_collapse-image.png');
}

.kb span.kb_expandtext_background
{
    background-image: url('/library/images/support/cn/48x48_expand-image.png');
}

* html .kb span.kb_collapsetext_open,
* html .kb span.kb_expandtext_open
{
    position:fixed;
}

.kb  span.kb_collapsetext_open img,
.kb  span.kb_expandtext_open img
{
    vertical-align:middle;
}
.kb div.kb_errormsgbody,
.kb div.kb_codebody,
.kb div.kb_intextwrapper
{
    background-color: #F5F5F5;
}

.kb div.kb_errormsgbody,
.kb div.kb_codebody,
.kb div.kb_intextwrapper
{
    position:relative;
    overflow-x:auto;
    margin-bottom:10px;
}
.kb div.kb_outertablewrapper,.kb div.kb_outergraphicwrapper
{
    margin-bottom: 10px;
}
.kb div.kb_outergraphicwrapper,
.kb div.kb_outertablewrapper,
.kb table.table
{
    border-width:3px;
    border-top-width:0px;
    border-bottom-width:2px;
}

.kb div.kb_outergraphicwrapper_closed,
.kb div.kb_outertablewrapper_closed  
{
    margin:10px 0px;
}
.kb div.kb_outertablewrapper_closed  
{
    width:430px;
}
.kb div.kb_outertablewrapper .kb_tablewrapper 
{
    border-bottom: solid 1px #C9C9C9;
    border-left: solid 1px #C9C9C9;
    border-right: solid 1px #C9C9C9;
}
.kb .section div.kb_outertablewrapper .table,.kb .section div.kb_outertablewrapper .table tr:last-child td 
{
    border-bottom: 0px;
}
.kb div.kb_outergraphicwrapper_closed
{
    overflow-y:hidden;
}

.kb div.kb_nowrapper  
{
    display:inline;
    vertical-align:middle;
}

.kb div.kb_graphicwrapper .graphic,
.kb div.kb_nowrapper .graphic,
.kb div.kb_nowrapper table,
.kb div.kb_tablewrapper table
{
    position: relative;
    z-index: 1000;
}

.kb div.kb_graphicwrapper,
.kb div.kb_tablewrapper,
.kb div.kb_codecontent,
.kb div.kb_errorcontent,
.kb div.kb_intextbody
{
    width:100%;
    margin:0px;
    padding:0px;
}

* html .kb div.kb_graphicwrapper,
* html .kb div.kb_tablewrapper,
* html .kb div.kb_codecontent,
* html .kb div.kb_errorcontent,
* html .kb div.kb_intextbody
{
    overflow-x:auto;
}

.kb div.kb_codecontent,
.kb div.kb_errorcontent,
.kb div.kb_intextbody
{
    background-color: #f5f5f5;
}

.kb div.kb_graphicwrapper,
.kb div.kb_tablewrapper
{
    border-bottom-width:2px;
    background-color: white;
    overflow-x: auto;
    position: relative;
    *overflow-y: hidden;
}

* html .kb div.kb_graphicwrapper,
* html .kb div.kb_tablewrapper
{
    float:left;
}

.kb .kb_whitebox
{
    width:100%;
    height:100em;    
    background-color:#fff;
    opacity:.8;
    filter:alpha(opacity=80);
    position:absolute;
    top: 0px;
    left:0px;
    display:none;
    cursor:pointer;
    text-align:center;
}

.kb .kb_whitebox_img
{
    background:url('/library/images/support/cn/gsfx_kb_cluster.png') no-repeat -157px -16px;
    height:50px;
    width:50px;
    position:relative;
    top:20px;
    margin:0px auto;
    display:block;
}

.kb .kb_whitebox_text
{
    position:relative;
    top:30px;
    font-size:2em;
    text-decoration:underline;
    color:#115F87;
}

.kb div.kb_graphicwrapper .graphic
{
    padding:1px;
    margin:0px;
}

.kb div.errormsg
{
    min-height:20px;	
}

.kb div.kb_outergraphicwrapper_open,
.kb div.kb_outertablewrapper_open
{
    position:relative;
    width:100%;
    z-index:100;
}
 
.kb .section h2.subTitle img.kb_tabs_toggle, .kbSurvey h2.subTitle img.kb_tabs_toggle
{
    float:left;
    padding-top: 10px;
    padding-left: 10px;
}

.kb .rtl .section h2.subTitle img.kb_tabs_toggle
{
    float:right;
    left:auto;
    padding-left: 0px;
    padding-right: 10px;
}

.kb .section h3
{
    margin: 15px 0px
}

.kb .section h4
{
    margin: 15px 0px;
}

.kb .section h5
{
    margin: 8px 0 5px;
}

.kb .section h6
{
    margin: 8px 0 5px;
}

.kb hr.divider,
.kb hr
{
    border-bottom: none;
    height:2px;
    color: #ddd;
    margin-top: 10px;
    margin-bottom: 10px;
}

.kb div.indent
{
    padding:0px 20px 10px 20px;
}

.kb div.indent div.indent
{
    margin: 10px;
}

/* SBODY styles */
.kb div.sbody
{
    margin: 12px 0px 30px 40px;
}

.kb div.sbody,
.kb .appliesTo,
.kb .keywords,
.kb .disclaimer
{
    margin-bottom: 12px;
}
.kb .appliesTo ul,
.kb .appliesTo li
{
    position:static !important;
    font-size: 11px;
}
.kb .appliesTo ul 
{
    margin-top: 0px;
}

.kb .rtl div.sbody
{
    margin-left: 0px;
    margin-right: 40px;
}

.kb .disclaimer div.text
{
    width:auto;
}

.kb div.sbody div.sbody,
.kb .rtl div.sbody div.sbody
{
    margin:0px;
}

.kb .section div.sbody.kb_tabs_toggle_open,.kbSurvey div.sbody.kb_tabs_toggle_open
{
    display:auto;
}

.kb .section div.sbody.kb_tabs_toggle_closed,.kbSurvey div.sbody.kb_tabs_toggle_closed
{
    display:none;
}

.kb .topOfPage
{
    margin:15px 0px 30px 0px;
}

.kb div.sbody span.abbr,
.kb div.sbody acronym
{
    border-bottom: 1px dotted #000;
    cursor: help;
}

.kb div.sbody .code,
.kb div.sbody .errormsg,
.kb div.sbody .in_text
{
    position:relative;
    padding:10px 10px 10px 10px;    
    color:#333;
    margin:0px;
} 

* html .kb div.sbody .code,
* html .kb div.sbody .errormsg,
* html .kb div.sbody .in_text
{
    float:left;
}

.kb div.sbody .code,
.kb div.sbody .in_text
{
    width:auto;
    /*width:1px; FIX for firefox pre tag issue*/
    font-family:Consolas, "Courier New", Courier, Monospace;
}

.kb div.sbody div.center
{
    text-align: center;
}

.kb div.sbody fieldset
{
    padding: 10px;
}

/* List styles */
.kb .list
{
    border-collapse: collapse;
    border-spacing: 0;
    margin: 10px 5px;
}

.kb .appliesTo .list
{
    margin: 0 10px;
}

.kb div.sbody .list td
{
    background: #f7f7ff;
    border-top: 1px solid #fff
}

.kb div.sbody .list .image
{ 
    vertical-align: top;
    width: 16px;
}

.kb .bullet
{
    font-size: 80%;
    text-align: center;
    vertical-align: top;
    width: 1em;
}

.kb div.sbody .list .number
{ 
    padding: 3px;
    vertical-align: top;
    white-space: nowrap;
}

.kb div.sbody .list .text
{
    padding: 3px 8px;
}

.kb div.sbody .sTable td
{
    padding: 2px 3px;
}

.kb .appliesTo .list td
{
    font-size: 65%;
    padding: 4px 0 0;
}

.kb .appliesTo .list td.bullet
{
    font-size: 70%;
}

.kb .appliesTo .list td.textSub
{
    padding: 0;
}

.kb pre.in_text
{
    color: black;
}

.kb .appliesTo h5
{
    font-size: 13px;
    margin: 5px 0;
}

.kb .appliesTo .kb_appliesTo_toggle
{
    display:inline-block;
    height:11px;
    width:11px;
    margin-right:5px;
}
.kb .appliesTo .kb_appliesTo_toggle_opened
{
    background:url('/library/images/support/cn/gsfx_kb_cluster.png') 0px -16px no-repeat;
}

.kb .appliesTo .kb_appliesTo_toggle_closed
{
    background:url('/library/images/support/cn/gsfx_kb_cluster.png') -12px -16px no-repeat;
}

.kb .userInput
{
    font-weight: bold;    
}

.kb .keywords td
{
    vertical-align: bottom;
}

.kb .keywords td.header
{
    vertical-align: top;
}

.kb .keywords td.header h5
{
    font-size: 13px;
    margin: 0;
    padding: 0;
    white-space: nowrap;
}

.kb .weboutput table
{
    border-color: #000;
    border-collapse: collapse;
    width: auto;
}

.kb .weboutput table th
{
    background: #dedede;
}

.kb .weboutput table th,
.kb .weboutput table td
{
    border-color: #000;    
    padding: 3px 5px;
}

.kb .weboutput table th font,
.kb .weboutput table td font
{
    font-size: 95%;
}

/* qa */
.kb .qa .qa_section
{
    margin-top:10px;
    table-layout: fixed;
    width: 100%;
}

.kb .qa .qa_section td > div
{
    padding:0px 5px;
}

.kb .qa .qa_section .label
{
    color: #fff;
    font-size:32pt;
    font-weight:bold;
    background: url('/library/images/support/cn/gsfx_kb_cluster.png') no-repeat -74px -16px;
    width:48px;
    height:58px;    
    padding:20px 0px 0px 30px;
}

.kb .rtl .qa .qa_section .label
{
    padding:20px 30px 0px 0px;
}

.kb .qa .bigspace
{
    height: 50px;
}

.kb .qa .smallspace
{
    height: 20px;
}

/* tt */
.kb .tt .section h2.subTitle
{
    color: #000;
}

/* sc */
.kb .sc .section hr.hidden
{
    border: 1px solid #fff;
    background-color: #fff;
}

.kb .sc .section div.blurb
{
    margin-bottom: 20px;
}

.kb .sc .section .more
{
    margin-top: 20px;
}

.kb .sc .section .textQuestion,
.kb .sc .section .textAnswer
{
    padding: 5px;
    vertical-align: top;
}

.kb .sc .section .textQuestion
{
    background-color: #fffff3;
}

.kb .sc .section .textAnswer
{
    background-color: #f6f6ff;
}

.kb .sc .section .imgQuestionColumn
{
    vertical-align: top;
}

.kb .sc .section .imgAnswerColumn
{
    vertical-align: bottom;
}

.kb .sc .section .qImg,
.kb .sc .section .aImg
{
    margin: 2px;
}

.kb .sc .section .qImg
{
    border-right: 3px solid #999;
}

.kb .sc .section .aImg
{
    border-left: 3px solid #999;
}

.kb .sc 
{
    margin: 0px;
}

/* si */
.kb .si .section .graphic
{
    margin: 5px;
    float: left;	
}

.kb .kb_acwtable
{
    margin-bottom :20px;
}

*html .kb .kb_acwtable td
{
    padding: 10px;
}

.kb .awbkg .desc,
.kb .awbkg .title
{
    padding:5px 5px 10px 5px;	
}

.AWlink
{
    margin-top: 20px;
    margin-bottom: 20px;
}

.AWlink a
{
    background-color:#339900;
    color: #FFFFFF;
    padding:4px 20px 4px 20px;
}

.kb #tocDiv ul
{
    list-style: none;
    margin:5px 0px;
    padding:0px;
    position:static !important;
}
.kb #tocDiv ul li
{
    position:static !important;
    list-style: none;
}

.kb #tocDiv ul ul
{
    padding:0px 15px;
    position:static !important;
}
.kb #tocDiv ul ul li
{
    position:static !important;
}

#kb_warning_divider
{
    background-color:#F5F5F5;
    padding: 5px 10px 10px 10px;
}
#kb_warning_divider span
{
    color: #333333;
    font-size: 13px;
    display:block;
    margin-bottom:5px;
}
#kb_warning_divider #mt_kb_warning_head
{
    font-size: 16px;
}
.kb .reg_path
{
    word-break: break-all;
}
/* FMS Survey */
#contentArea #mainColumn #fmsSurvey
{
    padding-left: 32px;
    padding-right: 0px;
    color: #333333;
    margin-left: 10px;
    margin-right: 0px;
}
.wp div.fms 
{
    background-color: transparent;
}
#mainColumn .wp div.fms .QUESTIONTEXT
{
    font-size: 16px;
    font-weight: normal;
    margin-bottom: 5px;
    margin-top: 20px;
}

.wp .fms .ANSWERTEXT 
{
    font-size: 13px;
    line-height: 23px;    
}
.wp .fms .CHOICEROW 
{
    padding: 5px 5px 3px 10px;
    *padding-top: 2px;/*ie7*/
}
.wp .fms .CHOICEROW input[type|="radio"] 
{
    padding: 0px 4px;
}
.wp div.fms .NAVBUTTON 
{
    margin-top: 5px;
    background-color: transparent;
    border: solid 1px #999999;
    font-size: 13px;
    line-height: 13px;
    padding: 3px 5px;
    margin: 0px 3px;
}
.wp .fms .QUESTIONCONTAINER {
    line-height: 13px;
}
#mainColumn .wp .fms .NAVIGATION
{
    margin-top: 6px;
}
.wp .fms .ANSWERBOX
{
    margin-top: 8px;
    width: 728px;
}
/* Mini-Router WebPart*/
.MRlinkCon
{
    display: block;
    z-index:2;
    background:none;
    padding:3px 6px;
    margin-top:7px;
}

#MiniRouter h3 span 
{
    padding: 3px 0px;
}
#MiniRouter ul
{
    background-color:#ffffff;
    padding: 0px 0px 0px 25px;
    margin-bottom: 20px;
}
#MiniRouter .gethelp .imglink
{
    display:block;
    float:left; 
    margin-right:5px;
    width:48px;
    height:48px;
}
#MiniRouter .gethelp .txtlink
{
    display:block;
    float:left;
    width:106px;
}
#MiniRouter .gethelp
{
    padding-right:10px;
    background-color:#ffffff;
    padding-top:10px;
    padding-bottom:10px;
}

#MiniRouter li
{
    color:#AAAAAA;
    padding:3px;
}
#MiniRouter div,#thinColumn #MiniRouter
{
    width:auto;
}

/*   Light Box    */
#lb
{
    position:absolute;   
    margin:0px;
    padding:0px;
    background:#ffffff;  
    border:1px;     
    z-index:2000;
    display:none;   
    width:472px;
    font-family: Segoe UI,Tahoma,Arial,Sans-Serif;
    border:solid 5px white;
}

.lbbrand,
.lbcontent
{   
    border: none;
    margin:0px;
    padding:0px;
}

.lbcontent a:link,
.lbcontent a:visited
{
    color: #0066cc;
    text-decoration: underline;
    white-space:nowrap;
}

.lbcontent hr
{
    margin-top:0px;
    margin-bottom:0px;
    margin-left: 10px; 
    margin-right: 10px;
}

.lbcontent table
{
    margin-top:15px;
    margin-bottom:5px;
    margin-left: 10px; 
    margin-right: 10px; 
    font-size: 11px;
    width: 452px;
}

.lbcontent tr,
.lbcontent td
{
    margin:0px;
    padding:0px;
}
#lbClose
{
    cursor: hand; 
    top: 10px; 
    right: 15px; 
    position: absolute;
}
#lbHead1
{
    text-align: left; 
    margin-top:10px;
    margin-bottom:10px;
    margin-left: 10px; 
    margin-right: 10px; 
    font-size: 14px;
}
#lbHead2
{
    text-align: left; 
    margin-left: 10px; 
    margin-right: 10px; 
    margin-top:10px;
    margin-bottom: 15px;
    font-size: 12px;
}

.lbBtn
{
    text-align: center; 
    min-width: 80px;
}

.lbBtn a,
.lbBtn a:link,
.lbBtn a:hover
{
    float:right;
    margin:0px;
    cursor: hand; 
    text-decoration: none;
    text-align: center;
}
.lbBtn div
{
    margin:0px;
    padding-left:10px;
    padding-right:10px;
    padding-top:5px;
    padding-bottom:5px;
}

.lbRowNowBtn div
{
    border:solid 1px #6e9200;
}

.lbLearnMoreBtn div
{
    border:solid 1px #0fa1b8;
}

.lbBtnText
{
    color: White; 
    font-weight: bold; 
    font-size: 14px;
}

#lbCloseTd
{
    text-align: right
}

.MaskDiv
{
    position:absolute;
    top: 0px;
    left: 0px;
    margin: 0px;
    padding: 0px;
    width: 100%;
    height: 100%;
    background:#777;
    filter:Alpha(opacity=40);
    opacity: 0.3;
    z-index: 1900;
}
#thinColumn #RelatedSupportCenters 
{
    margin-bottom: 20px;
}
.kb .notice h3
{
    font-size: 16px;
}
#bottomRow .wp.getHelp 
{
    margin: 0px 10px;
}
.kbSurvey h2
{
    margin: 0px;
}

/* Media Print */
@media print
{
    .kb *
    {
        position:static;
        float:none;
    }
    
    /* override the contentArea */
    #contentArea
    {
        margin: 0!important;
        padding: 0!important;
    }

    .kb .topOfPage,
    .kb .toc,
    .kb .csDisclaimerLink,
    .kb .securedisclaimer.kbdllink,
    .kb div.kb_graphictop,
    .kb div.kb_tabletop,
    .kb div.kb_graphictop_open,
    .kb div.kb_tabletop_open,
    .kb div.kb_graphictop_closed,
    .kb div.kb_tabletop_closed,
    #contentArea #mainColumn #fmsSurvey,
    .kb .tocTitle,
    .kb #tocDiv,
    .kb #kb_expandcollapseall,
    .kb .kb_whitebox
    {
        display: none!important;
    }

    .kb div.pLink
    {
        display: inline;
    }

    #kb,
    .kb
    {
        margin: 5px 0 0!important;
        width: auto!important;
    }

    .kb div.sbody .code,
    .kb div.sbody .errormsg,
    .kb div.sbody .in_text
    {
        float:none;
        width:auto;
    }

    .kb div.kb_graphictop,
    .kb div.kb_tabletop,
    .kb div.kb_graphictop_open,
    .kb div.kb_tabletop_open,
    .kb div.kb_errormsgbody,
    .kb div.kb_codebody,
    .kb div.kb_intextwrapper,
    .kb div.kb_outergraphicwrapper,
    .kb div.kb_outertablewrapper,
    .kb div.kb_graphicwrapper,
    .kb div.kb_tablewrapper,
    .kb div.kb_codecontent,
    .kb div.kb_errorcontent,
    .kb div.kb_intextbody,
    .kb div.kb_graphicwrapper .graphic
    {
        border:0px;
    }    

    .kb div.disclaimer.cc,
    .kb div.disclaimer.mt,
    .kb div.disclaimer.retiredkb
    {
        background:none;
        border:0px;
        padding:0px;
    }
    #kb_warning_divider
    {
        background-color: #F5F5F5;
        padding: 10px;
    }
    #kb_warning_divider span
    {
        color: #333333;
        font-size: 16px;
        display:block;
        margin-bottom:5px;
    }
}
------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=kb.js
Content-Type: application/x-javascript; name=kb.js
Content-Location: http://support.microsoft.com/common/script/gsfx/kb.js?80
Content-Transfer-Encoding: Base64

ZnVuY3Rpb24ga2JTcmNFbChuKXtyZXR1cm4gbi5zcmNFbGVtZW50P24uc3JjRWxl
bWVudDpuLnRhcmdldD9uLnRhcmdldDpufWZ1bmN0aW9uIHBhc3Nlc1R5cGVGaWx0
ZXIobil7cmV0dXJuIG49bi50b0xvd2VyQ2FzZSgpLG4hPSJub3RpY2UiJiZuIT0i
c2VjdXJlZGF0YSImJm4hPSJxdWVyeXdvcmRzIn1mdW5jdGlvbiBnZXRJbm5lclRl
eHQobil7dmFyIGksdDtpZihuLm5vZGVUeXBlPT0zKXJldHVybiBuLm5vZGVWYWx1
ZTtmb3IoaT0iIix0PTA7dDxuLmNoaWxkTm9kZXMubGVuZ3RoO3QrKylpKz1nZXRJ
bm5lclRleHQobi5jaGlsZE5vZGVzW3RdKTtyZXR1cm4gaX1mdW5jdGlvbiB0b2NT
Y3JvbGxUbyhuKXtyZXR1cm4gRXhwYW5kU2VjdGlvbihuLnNjcm9sbE5vZGUpLG4u
c2Nyb2xsTm9kZS5zY3JvbGxJbnRvVmlldyghMCksITF9ZnVuY3Rpb24gbWFrZVRP
Q05vZGUobix0KXt2YXIgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaSIpLHI9
Z2V0SW5uZXJUZXh0KG4pO3JldHVybiBpLmlubmVySFRNTD0nPGEgaHJlZj0iIyIg
b25jbGljaz0icmV0dXJuIHRvY1Njcm9sbFRvKHRoaXMpOyI+PGltZyBzcmM9Iicr
dG9jQXJyb3crJyIgYWx0PSIiIC8+PHNwYW4gY2xhc3M9InRvY1R4dCI+JytyKyc8
L3NwYW4+PC9hPjx1bCBjbGFzcz0idG9jTGluZSI+PC91bD4nLGkuY2hpbGROb2Rl
c1swXS5zY3JvbGxOb2RlPW4saS5kZXB0aD10LG4udG9jRWxlbWVudD1pLGl9ZnVu
Y3Rpb24gZmluZFBhcmVudFRPQ05vZGUoKXtmb3IodmFyIG49a2JIZWFkaW5ncyxy
PW5bbi5sZW5ndGgtMV0udG9jRWxlbWVudC5kZXB0aCxpLHQ9bi5sZW5ndGgtMjt0
Pi0xO3QtLSl7aT1uW3RdLnRvY0VsZW1lbnQuZGVwdGg7aWYoaTxyKXJldHVybiBu
W3RdfX1mdW5jdGlvbiBlbmZvcmNlSGVhZGluZ01heGltdW1zKG4pe2lmKG4udG9j
RWxlbWVudC5kZXB0aCsxPjIpe2V2YWwoInZhciBtYXggPSBkZXB0aCIrKG4udG9j
RWxlbWVudC5kZXB0aCsxKSsiTGltaXQiKTt2YXIgdD1uLnRvY0VsZW1lbnQuY2hp
bGROb2Rlc1sxXS5jaGlsZE5vZGVzLmxlbmd0aDt0Pm1heCYmKG4udG9jRWxlbWVu
dC5jaGlsZE5vZGVzWzFdLnN0eWxlLmRpc3BsYXk9Im5vbmUiLHRvY0xpbmtDb3Vu
dC09dCl9fWZ1bmN0aW9uIGdldExhdGVzdEVsZW1lbnQoKXt2YXIgbj1kb2N1bWVu
dC5ib2R5O3doaWxlKG4ubGFzdENoaWxkKW49bi5sYXN0Q2hpbGQ7d2hpbGUoIW4u
dGFnTmFtZSluPW4ucGFyZW50Tm9kZTtyZXR1cm4gbi5wcmV2aW91c1NpYmxpbmd9
ZnVuY3Rpb24ga2JfbGlnaHRCb3hMb2FkKCl7dmFyIG49ZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImxiIikscix1LGYsZSx0LGk7aWYoIW4pcmV0dXJuO3I9bG9jYXRp
b24uc2VhcmNoLm1hdGNoKG5ldyBSZWdFeHAoIls/Jl1mcj0xKCY/KSIsImkiKSk7
aWYociE9bnVsbClyZXR1cm47d2luZG93LnNjcm9sbFRvKDAsMCksZG9jdW1lbnQu
Ym9keS5zZXRBdHRyaWJ1dGUoInNjcm9sbCIsIm5vIiksJCgiaHRtbCIpLmNzcygi
b3ZlcmZsb3ciLCJoaWRkZW4iKSx1PWRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGgs
Zj1kb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodC0xLCQuYnJvd3Nlci5tc2llJiYo
ZT0kLmJyb3dzZXIubXNpZSYmL01TSUUgNi4wLy50ZXN0KG5hdmlnYXRvci51c2Vy
QWdlbnQpLGUmJihpZnJhbWVTcmM9L15odHRwcy9pLnRlc3Qod2luZG93LmxvY2F0
aW9uLmhyZWZ8fCIiKT8iamF2YXNjcmlwdDpmYWxzZSI6ImFib3V0OmJsYW5rIix0
PSQoJzxpZnJhbWUgaWQ9Ik1hc2tGcmFtZSIgc3R5bGU9InotaW5kZXg6MTg5OTtk
aXNwbGF5OmJsb2NrO2JvcmRlcjpub25lO21hcmdpbjowO3BhZGRpbmc6MDtwb3Np
dGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjAiIHNyYz0iJytpZnJhbWVTcmMrJyI+
PC9pZnJhbWU+JyksdC5jc3MoIm9wYWNpdHkiLDApLHQuY3NzKCJ3aWR0aCIsdSks
dC5jc3MoImhlaWdodCIsZiksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0WzBd
KSkpLGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksaS5zZXRBdHRyaWJ1
dGUoImlkIiwiQmlnRGl2IiksaS5jbGFzc05hbWU9Ik1hc2tEaXYiLGRvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQoaSksU2V0TGlnaHRCb3hQb3NpdGlvbigpLG4uc3R5
bGUuZGlzcGxheT0iYmxvY2siLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobiks
cGFnZUJsb2NrRWxzPSQoIjppbnB1dDplbmFibGVkOnZpc2libGUiLG4pLmFkZCgi
I2xiIGE6ZW5hYmxlZDp2aXNpYmxlIiksQmluZExCRXZlbnQoITApLHNldFRpbWVv
dXQoZnVuY3Rpb24oKXt0cnl7JCgiI2xiQnRuIikuZm9jdXMoKX1jYXRjaChuKXt9
fSw1MCksd2luZG93Lm9uc2Nyb2xsPWZ1bmN0aW9uKCl7bi5zdHlsZS5kaXNwbGF5
PT0iYmxvY2siJiZ3aW5kb3cuc2Nyb2xsVG8oMCwwKX19ZnVuY3Rpb24gQmluZExC
RXZlbnQobil7dmFyIHQ9ImtleWRvd24ga2V5cHJlc3MiO24/KCQod2luZG93KS5i
aW5kKCJyZXNpemUuTEIiLFJlc2l6ZUxCTWFza0xheWVyKSwkKHdpbmRvdykuYmlu
ZCgicmVzaXplLkxCIixTZXRMaWdodEJveFBvc2l0aW9uKSwkKGRvY3VtZW50KS5i
aW5kKHQsTEJLZXlIYW5kbGVyKSk6KCQod2luZG93KS51bmJpbmQoInJlc2l6ZS5M
QiIpLCQoZG9jdW1lbnQpLnVuYmluZCh0LExCS2V5SGFuZGxlcikpfWZ1bmN0aW9u
IExCS2V5SGFuZGxlcihuKXtpZihuLmtleUNvZGUmJm4ua2V5Q29kZT09OSl7aWYo
JChuLnRhcmdldCkucGFyZW50cygiI2xiIikubGVuZ3RoPT0wKXJldHVybiBmb2N1
cygpLCExO3ZhciB0PXBhZ2VCbG9ja0VscyxyPSFuLnNoaWZ0S2V5JiZuLnRhcmdl
dD09dFt0Lmxlbmd0aC0xXSxpPW4uc2hpZnRLZXkmJm4udGFyZ2V0PT10WzBdO2lm
KHJ8fGkpcmV0dXJuIHNldFRpbWVvdXQoZnVuY3Rpb24oKXtmb2N1cyhpKX0sMTAp
LCExfXJldHVybiEwfWZ1bmN0aW9uIGZvY3VzKG4pe2lmKCFwYWdlQmxvY2tFbHMp
cmV0dXJuO3ZhciB0PXBhZ2VCbG9ja0Vsc1tuPT09ITA/cGFnZUJsb2NrRWxzLmxl
bmd0aC0xOjBdO2lmKHQpdHJ5e3QuZm9jdXMoKX1jYXRjaCh0KXt9fWZ1bmN0aW9u
IFNldExpZ2h0Qm94UG9zaXRpb24oKXt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgibGIiKSx0LGkscix1LGYsZTtpZighbilyZXR1cm47dD0kKG4pLndpZHRo
KCksaT0kKG4pLmhlaWdodCgpLHQ9cGFyc2VJbnQodCksaT1wYXJzZUludChpKSxy
PXBhZ2VXaWR0aCgpLHU9cGFnZUhlaWdodCgpLGY9dS8yLWkvMixlPXIvMi10LzIs
bi5zdHlsZS5sZWZ0PWUrInB4IixuLnN0eWxlLnRvcD1mKyJweCJ9ZnVuY3Rpb24g
UmVzaXplTEJNYXNrTGF5ZXIoKXt2YXIgaT1kb2N1bWVudC5ib2R5LmNsaWVudFdp
ZHRoLHQ9ZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQtMSxuPWRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJNYXNrRnJhbWUiKTtuIT1udWxsJiYobi5zdHlsZS53aWR0
aD1pLG4uc3R5bGUuaGVpZ2h0PXQpfWZ1bmN0aW9uIHBhZ2VXaWR0aCgpe3JldHVy
biB3aW5kb3cuaW5uZXJXaWR0aCE9bnVsbD93aW5kb3cuaW5uZXJXaWR0aDpkb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5j
bGllbnRXaWR0aD9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg6
ZG9jdW1lbnQuYm9keSE9bnVsbD9kb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoOm51
bGx9ZnVuY3Rpb24gcGFnZUhlaWdodCgpe3JldHVybiB3aW5kb3cuaW5uZXJIZWln
aHQhPW51bGw/d2luZG93LmlubmVySGVpZ2h0OmRvY3VtZW50LmRvY3VtZW50RWxl
bWVudCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodD9kb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0OmRvY3VtZW50LmJvZHkh
PW51bGw/ZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQ6bnVsbH1mdW5jdGlvbiBD
bG9zZUxpZ2h0Qm94KG4pe3ZhciBpLHIsdDtuJiYoU3RhdHNEb3ROZXQuZmxleFZh
bHVlOT1uLmlkKSxTdGF0c0RvdE5ldC5BZGRBY3RpdmVUaW1lKG5ldyBEYXRlKSxT
dGF0c0RvdE5ldC5Gb2N1c0hhbmRsZXIoKSxTdGF0c0RvdE5ldC5mbGV4VmFsdWU2
PTAsU3RhdHNEb3ROZXQubGlnaHRib3hDbG9zZVRpbWU9bmV3IERhdGUsaT1kb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgibGIiKSxpLnN0eWxlLmRpc3BsYXk9Im5vbmUi
LHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkJpZ0RpdiIpLHIuc3R5bGUuZGlz
cGxheT0ibm9uZSIsdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTWFza0ZyYW1l
IiksdCE9bnVsbCYmKHQuc3R5bGUuZGlzcGxheT0ibm9uZSIpLGRvY3VtZW50LmJv
ZHkucmVtb3ZlQXR0cmlidXRlKCJzY3JvbGwiKSwkKCJodG1sIikuY3NzKCJvdmVy
ZmxvdyIsIiIpLEJpbmRMQkV2ZW50KCExKX1mdW5jdGlvbiBzYXZlU2Vzc2lvbjJD
b29raWUoKXt2YXIgbj1mZXRjaGNvb2tpZXZhbCgiR3NmeFNlc3Npb25Db29raWUi
KSx0PW4rIl8iK1N0YXRzRG90TmV0LmV2ZW50U2VxTm8rIl9MQl8xIjtzZXRjb29r
aWV2YWwoIm1hdHNydW5fc2Vzc2lvbmlkIix0LG51bGwsITEpfWZ1bmN0aW9uIG1v
ZGlmeVJ1bk5vd0xpbmtIcmVmKG4pe3ZhciBpPXtlbnRyeXBvaW50aWQ6IkxCIn0s
cj1mZXRjaGNvb2tpZXZhbCgiR3NmeFNlc3Npb25Db29raWUiKSx0O3IhPT1udWxs
JiYkLmV4dGVuZChpLHtsb2dzZXNzaW9uaWQ6cixldmVudHNlcW5vOlN0YXRzRG90
TmV0LmV2ZW50U2VxTm8sYnV0dG9uY2xpY2tubzoxfSksdD1uZXcgR1NTLlV0aWxp
dHkuVVJJKCQobikuYXR0cigiaHJlZiIpKSx0Lm1vZGlmeVF1ZXJ5SXRlbXMoaSks
JChuKS5hdHRyKCJocmVmIix0LnRvU3RyaW5nKCkpfWZ1bmN0aW9uIExvZ1BvcHVw
TGluayhuKXtTdGF0c0RvdE5ldC5mbGV4VmFsdWU3fD1ufWZ1bmN0aW9uIEhpZGVT
eXNUaXAoKXt2YXIgbj0kKCIja2Jfd2FybmluZ19kaXZpZGVyIikuZ2V0KDApO2lm
KCFuKXJldHVybjtuLnN0eWxlLmRpc3BsYXk9Im5vbmUifWZ1bmN0aW9uIGtiX3Rv
Z2dsZWNsYXNzKG4pe24uY2xhc3NOYW1lLm1hdGNoKC8oID98XilrYl90YWJzX3Rv
Z2dsZV9vcGVuXGIvZ2kpP24uY2xhc3NOYW1lPWpRdWVyeS50cmltKG4uY2xhc3NO
YW1lLnJlcGxhY2UoLyggP3xeKWtiX3RhYnNfdG9nZ2xlX29wZW5cYi9naSwiIGti
X3RhYnNfdG9nZ2xlX2Nsb3NlZCIpKTpuLmNsYXNzTmFtZS5tYXRjaCgvKCA/fF4p
a2JfdGFic190b2dnbGVfY2xvc2VkXGIvZ2kpP24uY2xhc3NOYW1lPWpRdWVyeS50
cmltKG4uY2xhc3NOYW1lLnJlcGxhY2UoLyggP3xeKWtiX3RhYnNfdG9nZ2xlX2Ns
b3NlZFxiL2dpLCIga2JfdGFic190b2dnbGVfb3BlbiIpKTpuLmNsYXNzTmFtZSs9
IiBrYl90YWJzX3RvZ2dsZV9jbG9zZWQiLCQoJChuKS5jaGlsZHJlbigiLmtiX3Rh
YnNfdG9nZ2xlIikpLmF0dHIoInNyYyIsJChuKS5oYXNDbGFzcygia2JfdGFic190
b2dnbGVfY2xvc2VkIik/a2JfdGFic19wbHVzaW1nc3JjOmtiX3RhYnNfbWludXNp
bWdzcmMpLGtiX1ByZXZlbnRCbGFua0FyZWFJbkJ1dHRvbSgpfWZ1bmN0aW9uIGti
X1ByZXZlbnRCbGFua0FyZWFJbkJ1dHRvbSgpeyQoImJvZHkiKS5jc3MoIm92ZXJm
bG93IiwiIil9ZnVuY3Rpb24gRXhwYW5kU2VjdGlvbihuKXtpZihuLmNsYXNzTmFt
ZS5tYXRjaCgvKCA/fF4pc3ViVGl0bGVcYi9naSkmJm4uY2xhc3NOYW1lLm1hdGNo
KC8oID98XilrYl90YWJzX3RvZ2dsZV9jbG9zZWRcYi9naSkpe2tiX3RvZ2dsZWNs
YXNzKG4pLGtiX3RvZ2dsZWNsYXNzKG4ubmV4dFNpYmxpbmcubmV4dFNpYmxpbmcp
O3JldHVybn1pZihuLmlkPT0idG9jSGVhZFJlZiIpe3ZhciB0PSEwO3doaWxlKHQp
e249bi5wYXJlbnROb2RlO2lmKG4uY2xhc3NOYW1lJiZuLmNsYXNzTmFtZS5tYXRj
aCgvc2JvZHlcYi9naSkpYnJlYWs7JChuKS5zaG93KCk7aWYoIW4ucGFyZW50Tm9k
ZSlyZXR1cm59fW4uY2xhc3NOYW1lLm1hdGNoKC8oID98XilrYl90YWJzX3RvZ2ds
ZV9jbG9zZWRcYi9naSkmJihrYl90b2dnbGVjbGFzcyhuKSxrYl90b2dnbGVjbGFz
cyhuLnByZXZpb3VzU2libGluZy5wcmV2aW91c1NpYmxpbmcpKX1mdW5jdGlvbiBr
Yl9nZXRTZWN0aW9uUHJldmlld1RleHQobil7Zm9yKHZhciBpPSIiLHQsdT1uLnBh
cmVudE5vZGUucGFyZW50Tm9kZSxmPSExLGU9IWRvY3VtZW50LmJvZHkudGV4dENv
bnRlbnQsbz0vKDxzY3JpcHR8PGRpdiBjbGFzcz0oJ3wiKT8odG9wb2ZwYWdlfGti
X2dyYXBoaWN0b3B8a2JfdGFibGV0b3ApKS4qPyhcL2Rpdj58XC9zY3JpcHQ+KS9p
Z20scj0wO3I8dS5jaGlsZE5vZGVzLmxlbmd0aDtyKyspe3UuY2hpbGROb2Rlc1ty
XT09bi5wYXJlbnROb2RlJiYoZj0hMCk7aWYoZilpZih1LmNoaWxkTm9kZXNbcl0u
Y2xhc3NOYW1lLm1hdGNoKC8oID98XilzYm9keVxiL2dpKSl7aWYodS5jaGlsZE5v
ZGVzW3JdLmlkPT0idG9jRGl2IilyZXR1cm47dD11LmNoaWxkTm9kZXNbcl0uY2xv
bmVOb2RlKCEwKSx0LmlubmVySFRNTD10LmlubmVySFRNTC5yZXBsYWNlKC9ccysv
ZywiICIpLHQuaW5uZXJIVE1MPXQuaW5uZXJIVE1MLnJlcGxhY2UobywiICIpLHQu
aW5uZXJIVE1MPXQuaW5uZXJIVE1MLnJlcGxhY2UoLzxbXj5dKj4vZywiIiksaT10
LmlubmVyVGV4dD9qUXVlcnkudHJpbSh0LmlubmVyVGV4dC5zdWJzdHJpbmcoMCw4
MCkpOnQudGV4dENvbnRlbnQ/alF1ZXJ5LnRyaW0odC50ZXh0Q29udGVudC5zdWJz
dHJpbmcoMCw4MCkpOmpRdWVyeS50cmltKHQuaW5uZXJIVE1MLnN1YnN0cmluZygw
LDgwKSksaSE9IiImJmkubGVuZ3RoPjYwJiYoaT1pKyIuLi4iKTticmVha319ZT9u
LmlubmVyVGV4dD1pOm4udGV4dENvbnRlbnQ9aX1mdW5jdGlvbiBrYnNlY3Rpb25f
Q29sbGFwc2VFeHBhbmQobix0KXtmb3IodmFyIHIsdSxmLGk9MDtpPHQuY2hpbGRO
b2Rlcy5sZW5ndGg7aSsrKXI9dC5jaGlsZE5vZGVzW2ldLmNsYXNzTmFtZS5tYXRj
aCgvKCA/fF4pc3ViVGl0bGVcYi9naSksdT10LmNoaWxkTm9kZXNbaV0uY2xhc3NO
YW1lLm1hdGNoKC8oID98XilzYm9keVxiL2dpKSxmPXQuY2hpbGROb2Rlc1tpXS5j
bGFzc05hbWUubWF0Y2goLyggP3xeKW5vcm9sbHVwXGIvZ2kpLChyfHx1KSYmIWYm
JihuLmNsYXNzTmFtZS5tYXRjaCgvKCA/fF4pZXhwYW5kYWxsdGV4dFxiL2dpKT9r
Yl9FeHBhbmRhbGwodC5jaGlsZE5vZGVzW2ldKTpuLmNsYXNzTmFtZS5tYXRjaCgv
KCA/fF4pY29sbGFwc2VhbGx0ZXh0XGIvZ2kpJiZrYl9Db2xsYXBzZWFsbCh0LmNo
aWxkTm9kZXNbaV0pKX1mdW5jdGlvbiBrYl9Db2xsYXBzZWFsbChuKXtuLmNsYXNz
TmFtZS5tYXRjaCgvKCA/fF4pa2JfdGFic190b2dnbGVfb3BlblxiL2dpKT9uLmNs
YXNzTmFtZT1qUXVlcnkudHJpbShuLmNsYXNzTmFtZS5yZXBsYWNlKC8oID98Xilr
Yl90YWJzX3RvZ2dsZV9vcGVuXGIvZ2ksIiBrYl90YWJzX3RvZ2dsZV9jbG9zZWQi
KSk6bi5jbGFzc05hbWUrPSIga2JfdGFic190b2dnbGVfY2xvc2VkIiwkKCQobiku
Y2hpbGRyZW4oIi5rYl90YWJzX3RvZ2dsZSIpKS5hdHRyKCJzcmMiLGtiX3RhYnNf
cGx1c2ltZ3NyYyl9ZnVuY3Rpb24ga2JfRXhwYW5kYWxsKG4pe24uY2xhc3NOYW1l
Lm1hdGNoKC8oID98XilrYl90YWJzX3RvZ2dsZV9jbG9zZWRcYi9naSk/bi5jbGFz
c05hbWU9alF1ZXJ5LnRyaW0obi5jbGFzc05hbWUucmVwbGFjZSgvKCA/fF4pa2Jf
dGFic190b2dnbGVfY2xvc2VkXGIvZ2ksIiBrYl90YWJzX3RvZ2dsZV9vcGVuIikp
Om4uY2xhc3NOYW1lKz0iIGtiX3RhYnNfdG9nZ2xlX29wZW4iLCQoJChuKS5jaGls
ZHJlbigiLmtiX3RhYnNfdG9nZ2xlIikpLmF0dHIoInNyYyIsa2JfdGFic19taW51
c2ltZ3NyYyl9ZnVuY3Rpb24gVG9nZ2xlQXBwbGllc1RvKCl7dmFyIG49JCgiZGl2
LmFwcGxpZXNUbyA+IGg1ID4gYSIpO24uYXR0cigiY2xhc3MiKT09ImtiX2FwcGxp
ZXNUb190b2dnbGUga2JfYXBwbGllc1RvX3RvZ2dsZV9vcGVuZWQiPyhDb2xsYXBz
ZUFwcGxpZXNUb0xpc3QoKSxuLmF0dHIoImNsYXNzIiwia2JfYXBwbGllc1RvX3Rv
Z2dsZSBrYl9hcHBsaWVzVG9fdG9nZ2xlX2Nsb3NlZCIpKTooRXhwYW5kQXBwbGll
c1RvTGlzdCgpLG4uYXR0cigiY2xhc3MiLCJrYl9hcHBsaWVzVG9fdG9nZ2xlIGti
X2FwcGxpZXNUb190b2dnbGVfb3BlbmVkIikpLE1TX0hhbmRsZUNsaWNrKG4uZ2V0
KDApLCIyMDEwMTAxNSIsITApfWZ1bmN0aW9uIEV4cGFuZEFwcGxpZXNUb0xpc3Qo
KXskKCJkaXYuYXBwbGllc1RvID4gdWwiKS5jc3MoImRpc3BsYXkiLCJibG9jayIp
fWZ1bmN0aW9uIENvbGxhcHNlQXBwbGllc1RvTGlzdCgpeyQoImRpdi5hcHBsaWVz
VG8gPiB1bCIpLmNzcygiZGlzcGxheSIsIm5vbmUiKX1mdW5jdGlvbiBLQkZlZWRC
YWNrRGlzcGxheSgpe3JldHVybiBLQkZlZWRCYWNrU2hvd1N1cnZleSgpLHR5cGVv
ZiBrYlN1cnZleSE9InVuZGVmaW5lZCI/KCQoIi5ub1Nob3ciKS5yZW1vdmVDbGFz
cygibm9TaG93IiksITApOnZvaWQgMH1mdW5jdGlvbiBTY3JvbGxUb1NlY3Rpb24o
bil7cmV0dXJuICQobikubGVuZ3RoJiZFeHBhbmRTZWN0aW9uKCQobilbMF0pLCEw
fWZ1bmN0aW9uIGtiX29iamVjdCgpe3RoaXMua2JpdGVtcz1bXSx0aGlzLnRhYmxl
c2FuZGltZ3M9W10sdGhpcy5rYmhvbGRlcj1udWxsLHRoaXMud2hpdGVzcGFjZXNp
emU9NDAsdGhpcy5taW5jb250ZW50c2l6ZT00MzEsdGhpcy5sYXN0d3NzaXplPXRo
aXMud2hpdGVzcGFjZXNpemUsdGhpcy5sbmRpcj1udWxsLHRoaXMubWFyZ2luPW51
bGwsdGhpcy53aGl0ZWJveD1udWxsLHRoaXMuc2hvd2V4cGFuZGNvbGxhcHNlYWxs
PSExLHRoaXMua2JfaW1hZ2VFeHBhbmRIb3ZlclRleHQ9bnVsbCx0aGlzLmtiX3Vz
ZV93aGl0ZXNwYWNlX2NoYW5uZWw9ITA7dmFyIG49dGhpczt0aGlzLm5vZGVjbGlj
az1mdW5jdGlvbih0KXtuLkdyYXBoaWNUYWJsZXRvZ2dsZSh0KX0sdGhpcy5tb3Zl
cj1mdW5jdGlvbih0KXtuLndoaXRlYm94b3Zlcih0KX0sdGhpcy5tb3V0PWZ1bmN0
aW9uKHQpe24ud2hpdGVib3hvdXQodCl9LHRoaXMubWFrZXdoaXRlYm94PWZ1bmN0
aW9uKCl7dmFyIHQsbjt0aGlzLmtiX2ltYWdlRXhwYW5kSG92ZXJUZXh0fHwodGhp
cy5rYl9pbWFnZUV4cGFuZEhvdmVyVGV4dD0iQ2xpY2sgdG8gZXhwYW5kIHRoaXMg
aW1hZ2UuIiksdGhpcy53aGl0ZWJveD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJk
aXYiKSx0aGlzLndoaXRlYm94LmNsYXNzTmFtZT0ia2Jfd2hpdGVib3giLHQ9ZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLHQuY2xhc3NOYW1lPSJrYl93aGl0
ZWJveF9pbWciLG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLG4uY2xh
c3NOYW1lPSJrYl93aGl0ZWJveF90ZXh0IixuLmlubmVySFRNTD10aGlzLmtiX2lt
YWdlRXhwYW5kSG92ZXJUZXh0LHRoaXMud2hpdGVib3guYXBwZW5kQ2hpbGQodCks
dGhpcy53aGl0ZWJveC5hcHBlbmRDaGlsZChuKX0sdGhpcy53aGl0ZWJveG92ZXI9
ZnVuY3Rpb24obil7dmFyIHQ9a2JTcmNFbChuKTtpZighdClyZXR1cm4hMTt3aGls
ZSghdC5jbGFzc05hbWUubWF0Y2goL2tiX291dGVyZ3JhcGhpY3dyYXBwZXJcYi9n
aSkpdD10LnBhcmVudE5vZGU7aWYoIXQpcmV0dXJuITE7dC5jaGlsZE5vZGVzWzJd
JiYodC5jaGlsZE5vZGVzWzJdLnN0eWxlLmRpc3BsYXk9ImJsb2NrIil9LHRoaXMu
d2hpdGVib3hvdXQ9ZnVuY3Rpb24obil7dmFyIHQ9a2JTcmNFbChuKTtpZighdCly
ZXR1cm4hMTt3aGlsZSghdC5jbGFzc05hbWUubWF0Y2goL2tiX291dGVyZ3JhcGhp
Y3dyYXBwZXJcYi9naSkpdD10LnBhcmVudE5vZGU7aWYoIXQpcmV0dXJuITE7dC5j
aGlsZE5vZGVzWzJdJiYodC5jaGlsZE5vZGVzWzJdLnN0eWxlLmRpc3BsYXk9Im5v
bmUiKX0sdGhpcy5hZGR3aGl0ZWJveD1mdW5jdGlvbihuKXtuLnN0eWxlLnBvc2l0
aW9ufHwobi5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKTt2YXIgdD10aGlzLndo
aXRlYm94LmNsb25lTm9kZSghMCk7dC5zdHlsZS50b3A9bi5jaGlsZE5vZGVzWzBd
Lm9mZnNldEhlaWdodCxuLmFwcGVuZENoaWxkKHQpLGtiX0FkZEV2ZW50KG4uY2hp
bGROb2Rlc1syXSwiY2xpY2siLHRoaXMubm9kZWNsaWNrKX0sdGhpcy5yZW1vdmV3
aGl0ZWJveD1mdW5jdGlvbihuKXtuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobil9
LHRoaXMucmVzaXplPWZ1bmN0aW9uKCl7dmFyIHUsZSxvLHMscixoLGMsbixmLGks
bCxhLHQ7aWYoIXRoaXMua2JpdGVtc3x8dGhpcy5rYml0ZW1zLmxlbmd0aDwxKXJl
dHVybiExO3U9dGhpcy5rYmhvbGRlci5vZmZzZXRXaWR0aDtpZih0aGlzLnRhYmxl
c2FuZGltZ3MmJnRoaXMudGFibGVzYW5kaW1ncy5sZW5ndGg+MCl7Zm9yKGU9bnVs
bCxvPTA7bzx0aGlzLnRhYmxlc2FuZGltZ3MubGVuZ3RoO28rKyl7ZT10aGlzLnRh
Ymxlc2FuZGltZ3Nbb10uZ2V0QXR0cmlidXRlKCJhbGxvd1Jlc2l6ZSIpO2lmKGU9
PSExfHxlPT0iZmFsc2UiKXJldHVybiExfXM9cGFyc2VJbnQodGhpcy50YWJsZXNh
bmRpbWdzWzBdLm9mZnNldFdpZHRoKTtpZihzPnUtdGhpcy5sYXN0d3NzaXplLTV8
fHM8dS10aGlzLmxhc3R3c3NpemUtMTUpZm9yKHI9bnVsbCx0PTA7dDx0aGlzLnRh
Ymxlc2FuZGltZ3MubGVuZ3RoO3QrKyl7Zj11LXRoaXMubGFzdHdzc2l6ZSxyPXRo
aXMudGFibGVzYW5kaW1nc1t0XS5wYXJlbnROb2RlO3doaWxlKCFyLmNsYXNzTmFt
ZS5tYXRjaCgvc2JvZHlcYi9naSkpbj1wYXJzZUludCgkKHIpLmNzcygicGFkZGlu
Z0xlZnQiKSksaD1pc05hTihuKT8wOm4sbj1wYXJzZUludCgkKHIpLmNzcygicGFk
ZGluZ1JpZ2h0IikpLGgrPWlzTmFOKG4pPzA6bixuPXBhcnNlSW50KCQocikuY3Nz
KCJtYXJnaW5MZWZ0IikpLGM9aXNOYU4obik/MDpuLG49cGFyc2VJbnQoJChyKS5j
c3MoIm1hcmdpblJpZ2h0IikpLGMrPWlzTmFOKG4pPzA6bixmLT1oK2Mscj1yLnBh
cmVudE5vZGU7ZjwwfHwodGhpcy50YWJsZXNhbmRpbWdzW3RdLnN0eWxlLndpZHRo
PWYrInB4Iix0aGlzLnRhYmxlc2FuZGltZ3NbdF0uc2V0QXR0cmlidXRlKCJuV2lk
dGgiLGYpLHRoaXMudGFibGVzYW5kaW1nc1t0XS5jbGFzc05hbWUubWF0Y2goL2ti
X291dGVyZ3JhcGhpY3dyYXBwZXJcYi9naSkmJih0aGlzLnRhYmxlc2FuZGltZ3Nb
dF0uY2hpbGROb2Rlc1sxXS5jaGlsZE5vZGVzWzBdLndpZHRoPWYtOCkpfX1pPXRo
aXMud2hpdGVzcGFjZXNpemUsdS10aGlzLm1pbmNvbnRlbnRzaXplPHRoaXMud2hp
dGVzcGFjZXNpemUmJihpPXUtdGhpcy5taW5jb250ZW50c2l6ZSxpPWk8MD8wOmkp
LGw9cGFyc2VJbnQodGhpcy5rYml0ZW1zWzBdLnN0eWxlLm1hcmdpbkxlZnQpO2lm
KChpPHRoaXMud2hpdGVzcGFjZXNpemV8fGw8dGhpcy53aGl0ZXNwYWNlc2l6ZSYm
aT09dGhpcy53aGl0ZXNwYWNlc2l6ZSkmJnRoaXMubGFzdHdzc2l6ZSE9aSlmb3Io
dGhpcy5sYXN0d3NzaXplPWksYT1pPjE1P2ktMTU6MCx0PTA7dDx0aGlzLmtiaXRl
bXMubGVuZ3RoO3QrKyl0aGlzLmtiaXRlbXNbdF0uc3R5bGVbdGhpcy5tYXJnaW5d
PWErInB4In0sdGhpcy5ncmFwaGljdGFibGV0b2dnbGVjbGFzcz1mdW5jdGlvbihu
LHQsaSxyKXt2YXIgdj0kKGRvY3VtZW50LmJvZHkpLmNzcygiZGlyZWN0aW9uIiks
Yz12PT0ibHRyIj8ibWFyZ2luTGVmdCI6Im1hcmdpblJpZ2h0IixzLGgsZSxvLGY7
aWYobi5jbGFzc05hbWUubWF0Y2gobmV3IFJlZ0V4cChpLCJnaSIpKSluLmNsYXNz
TmFtZT1qUXVlcnkudHJpbShuLmNsYXNzTmFtZS5yZXBsYWNlKGkscikpLG4uc2V0
QXR0cmlidXRlKCJhbGxvd1Jlc2l6ZSIsITApLG4uY2hpbGROb2Rlc1sxXS5jaGls
ZE5vZGVzWzBdLndpZHRoPXBhcnNlSW50KG4uZ2V0QXR0cmlidXRlKCJuV2lkdGgi
KS04KSxuLmNoaWxkTm9kZXNbMF0uc3R5bGUud2lkdGg9bi5jaGlsZE5vZGVzWzFd
LnN0eWxlLndpZHRoPXBhcnNlSW50KG4uZ2V0QXR0cmlidXRlKCJuV2lkdGgiKSkt
NisicHgiLG4uY2hpbGROb2Rlc1swXS5zdHlsZS5wb3NpdGlvbj1uLmNoaWxkTm9k
ZXNbMV0uc3R5bGUucG9zaXRpb249InJlbGF0aXZlIixuLnN0eWxlLmhlaWdodD1u
LmNoaWxkTm9kZXNbMV0uc3R5bGUudG9wPSJhdXRvIixuLnN0eWxlLmJvcmRlcldp
ZHRoPSIwcHggM3B4IDNweCIsbi5jaGlsZE5vZGVzWzBdLnN0eWxlLm1hcmdpbj1u
LmNoaWxkTm9kZXNbMV0uc3R5bGUubWFyZ2luPSIwcHgiLG4uY2hpbGROb2Rlc1sx
XS5zdHlsZS5vdmVyZmxvd1g9ImF1dG8iLG4uc3R5bGVbY109IjBweCIsdC5jaGls
ZE5vZGVzWzBdLmNsYXNzTmFtZT1qUXVlcnkudHJpbSh0LmNoaWxkTm9kZXNbMF0u
Y2xhc3NOYW1lLnJlcGxhY2UoLyggP3xeKWtiX2NvbGxhcHNldGV4dF9vcGVuXGIv
Z2ksImtiX2NvbGxhcHNldGV4dF9jbG9zZSIpKSx0LmNoaWxkTm9kZXNbMV0uY2xh
c3NOYW1lPWpRdWVyeS50cmltKHQuY2hpbGROb2Rlc1sxXS5jbGFzc05hbWUucmVw
bGFjZSgvKCA/fF4pa2JfZXhwYW5kdGV4dF9jbG9zZVxiL2dpLCJrYl9leHBhbmR0
ZXh0X29wZW4iKSk7ZWxzZXtuLmNsYXNzTmFtZT1qUXVlcnkudHJpbShuLmNsYXNz
TmFtZS5yZXBsYWNlKHIsaSkpLG4uc2V0QXR0cmlidXRlKCJhbGxvd1Jlc2l6ZSIs
ITEpLHM9cGFyc2VJbnQoJChuLmNoaWxkTm9kZXNbMV0uY2hpbGROb2Rlc1swXSku
Y3NzKCJtYXJnaW5MZWZ0IiksMTApLGg9cGFyc2VJbnQoJChuLmNoaWxkTm9kZXNb
MV0uY2hpbGROb2Rlc1swXSkuY3NzKCJtYXJnaW5SaWdodCIpLDEwKSxzPXM/czow
LGg9aD9oOjAsbi5jaGlsZE5vZGVzWzFdLmNoaWxkTm9kZXNbMF0ud2lkdGg9bi5n
ZXRBdHRyaWJ1dGUoIm9XaWR0aCIpLG4uY2hpbGROb2Rlc1swXS5zdHlsZS53aWR0
aD1uLmNoaWxkTm9kZXNbMV0uc3R5bGUud2lkdGg9cytoK3BhcnNlSW50KG4uZ2V0
QXR0cmlidXRlKCJvV2lkdGgiKSkrInB4IixuLmNoaWxkTm9kZXNbMF0uc3R5bGUu
cG9zaXRpb249bi5jaGlsZE5vZGVzWzFdLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0
ZSIsbi5jaGlsZE5vZGVzWzFdLnN0eWxlLm92ZXJmbG93WD0idmlzaWJsZSIsbi5z
dHlsZS5ib3JkZXJXaWR0aD0iMHB4IixuLmNoaWxkTm9kZXNbMF0uc3R5bGUubWFy
Z2luPSIwcHggM3B4IixuLmNoaWxkTm9kZXNbMV0uc3R5bGUubWFyZ2luPSIwcHgg
M3B4IixuLmNoaWxkTm9kZXNbMV0uc3R5bGUudG9wPW4uY2hpbGROb2Rlc1swXS5v
ZmZzZXRIZWlnaHQrInB4IixuLnN0eWxlLmhlaWdodD0kKG4uY2hpbGROb2Rlc1sw
XSkuaGVpZ2h0KCkrJChuLmNoaWxkTm9kZXNbMV0pLmhlaWdodCgpKzIwKyJweCIs
ZT1uLG89MDt3aGlsZSghZS5jbGFzc05hbWUubWF0Y2goL3Nib2R5L2lnKSl7Zj1w
YXJzZUludCgkKGUpLmNzcygibWFyZ2luTGVmdCIpLDEwKSxvKz1pc05hTihmKT8w
OmYsZj1wYXJzZUludCgkKGUpLmNzcygibWFyZ2luUmlnaHQiKSwxMCksbys9aXNO
YU4oZik/MDpmLGY9cGFyc2VJbnQoJChlKS5jc3MoInBhZGRpbmdMZWZ0IiksMTAp
LG8rPWlzTmFOKGYpPzA6ZixmPXBhcnNlSW50KCQoZSkuY3NzKCJwYWRkaW5nUmln
aHQiKSwxMCksbys9aXNOYU4oZik/MDpmLG8+MCYmKG8rPTEwKTtpZighZS5wYXJl
bnROb2RlKXJldHVybiExO2U9ZS5wYXJlbnROb2RlfXZhciBsPXBhcnNlSW50KCQo
ZSkuY3NzKGMpKSx5PSQoIiNrYiIpLmdldCgwKS5vZmZzZXRXaWR0aC1sLW8sYT15
LXBhcnNlSW50KG4uZ2V0QXR0cmlidXRlKCJvV2lkdGgiKSk7TWF0aC5hYnMoYSk+
bCYmKGE9MC1sKSxuLnN0eWxlW2NdPWErInB4Iix0LmNoaWxkTm9kZXNbMF0uY2xh
c3NOYW1lPWpRdWVyeS50cmltKHQuY2hpbGROb2Rlc1swXS5jbGFzc05hbWUucmVw
bGFjZSgvKCA/fF4pa2JfY29sbGFwc2V0ZXh0X2Nsb3NlXGIvZ2ksImtiX2NvbGxh
cHNldGV4dF9vcGVuIikpLHQuY2hpbGROb2Rlc1sxXS5jbGFzc05hbWU9alF1ZXJ5
LnRyaW0odC5jaGlsZE5vZGVzWzFdLmNsYXNzTmFtZS5yZXBsYWNlKC8oID98Xilr
Yl9leHBhbmR0ZXh0X29wZW5cYi9naSwia2JfZXhwYW5kdGV4dF9jbG9zZSIpKX19
LHRoaXMuR3JhcGhpY1RhYmxldG9nZ2xlPWZ1bmN0aW9uKG4pe3ZhciB0PWtiU3Jj
RWwobikscix1LGk7aWYoIXQpcmV0dXJuITE7dC5jbGFzc05hbWUubWF0Y2goL2ti
X3doaXRlYm94XGIvZ2kpP3Q9dC5wYXJlbnROb2RlLmNoaWxkTm9kZXNbMF06dC5j
bGFzc05hbWUubWF0Y2goLyhrYl93aGl0ZWJveF90ZXh0fGtiX3doaXRlYm94X2lt
ZylcYi9naSk/dD10LnBhcmVudE5vZGUucGFyZW50Tm9kZS5jaGlsZE5vZGVzWzBd
OnQubm9kZU5hbWU9PT0iU1BBTiJ8fHQubm9kZU5hbWU9PT0iRElWIj8odC5jbGFz
c05hbWUubWF0Y2goLyhrYl9jb2xsYXBzZXRleHRfYmFja2dyb3VuZHxrYl9leHBh
bmR0ZXh0X2JhY2tncm91bmQpXGIvZ2kpJiYodD10LnBhcmVudE5vZGUpLHQ9dC5w
YXJlbnROb2RlKTp0Lm5vZGVOYW1lPT09IklNRyImJih0PXQucGFyZW50Tm9kZS5w
YXJlbnROb2RlKSxyPXQucGFyZW50Tm9kZS5vZmZzZXRXaWR0aCx1PXQucGFyZW50
Tm9kZS5nZXRBdHRyaWJ1dGUoIm9XaWR0aCIpO2lmKHU8cilyZXR1cm47aWYodC5j
bGFzc05hbWUubWF0Y2goLyhrYl9ncmFwaGljdG9wX29wZW58a2JfZ3JhcGhpY3dy
YXBwZXIpXGIvZ2kpKXt0aGlzLmdyYXBoaWN0YWJsZXRvZ2dsZWNsYXNzKHQucGFy
ZW50Tm9kZSx0LCJrYl9vdXRlcmdyYXBoaWN3cmFwcGVyX29wZW4iLCJrYl9vdXRl
cmdyYXBoaWN3cmFwcGVyX2Nsb3NlZCIsImtiX2dyYXBoaWN3cmFwcGVyIiksaT10
LnBhcmVudE5vZGU7aWYoaS5jaGlsZE5vZGVzWzJdJiZpLmNoaWxkTm9kZXNbMl0u
Y2xhc3NOYW1lLm1hdGNoKC9rYl93aGl0ZWJveFxiL2dpKSlyZXR1cm4gdGhpcy5y
ZW1vdmV3aGl0ZWJveChpLmNoaWxkTm9kZXNbMl0pLCEwO3RoaXMuYWRkd2hpdGVi
b3goaSl9ZWxzZSB0LmNsYXNzTmFtZS5tYXRjaCgva2JfdGFibGV0b3Bfb3Blblxi
L2dpKSYmdGhpcy5ncmFwaGljdGFibGV0b2dnbGVjbGFzcyh0LnBhcmVudE5vZGUs
dCwia2Jfb3V0ZXJ0YWJsZXdyYXBwZXJfb3BlbiIsImtiX291dGVydGFibGV3cmFw
cGVyX2Nsb3NlZCIsImtiX3RhYmxld3JhcHBlciIpfSx0aGlzLnRvZ2dsZUdyYXBo
aWNUYWJsZT1mdW5jdGlvbigpe2Zvcih2YXIgdD0kKCIja2IgZGl2Iikscix1LGU9
dGhpcyxvPXRoaXMua2Job2xkZXIub2Zmc2V0V2lkdGgsZixpLG49MDtuPHQubGVu
Z3RoO24rKyl7cj10W25dLmNsYXNzTmFtZS5tYXRjaCgvKCA/fF4pKGtiX2dyYXBo
aWN3cmFwcGVyfGtiX3RhYmxld3JhcHBlcilcYi9naSksdT10W25dLmNsYXNzTmFt
ZS5tYXRjaCgvKCA/fF4pc2VjdGlvbnByZXZpZXdfY2xvc2VkXGIvZ2kpO2lmKHIp
e2Y9cj09ImtiX3RhYmxld3JhcHBlciI/dFtuXS5jaGlsZE5vZGVzWzBdLm9mZnNl
dFdpZHRoOnRbbl0uY2hpbGROb2Rlc1swXS53aWR0aDtpZihmK3RoaXMud2hpdGVz
cGFjZXNpemU8byl0W25dLmNsYXNzTmFtZT10W24tMV0uY2xhc3NOYW1lPXRbbl0u
cGFyZW50Tm9kZS5jbGFzc05hbWU9ImtiX25vd3JhcHBlciIsdFtuXS5wYXJlbnRO
b2RlLmFwcGVuZENoaWxkKHRbbl0uY2hpbGROb2Rlc1swXSk7ZWxzZSBpZih0W25d
LmNsaWVudEhlaWdodDx0W25dLnNjcm9sbEhlaWdodHx8dFtuXS5jbGllbnRXaWR0
aDx0W25dLnNjcm9sbFdpZHRoKWZvcih0W24tMV0uY2xhc3NOYW1lKz0iX29wZW4i
LGk9MDtpPHRbbi0xXS5jaGlsZE5vZGVzLmxlbmd0aDtpKyspdFtuLTFdLmNoaWxk
Tm9kZXNbaV0uY2xhc3NOYW1lLm1hdGNoKC8oID98XilrYl9leHBhbmR0ZXh0XGIv
Z2kpJiYodFtuLTFdLmNoaWxkTm9kZXNbaV0uY2xhc3NOYW1lPWpRdWVyeS50cmlt
KHRbbi0xXS5jaGlsZE5vZGVzW2ldLmNsYXNzTmFtZS5yZXBsYWNlKC8oID98Xilr
Yl9leHBhbmR0ZXh0XGIvZ2ksImtiX2V4cGFuZHRleHRfb3BlbiIpKSksa2JfQWRk
RXZlbnQodFtuLTFdLmNoaWxkTm9kZXNbaV0sImNsaWNrIixmdW5jdGlvbihuKXtl
LkdyYXBoaWNUYWJsZXRvZ2dsZShuKX0pO2Vsc2UgdFtuXS5jbGFzc05hbWU9dFtu
LTFdLmNsYXNzTmFtZT10W25dLnBhcmVudE5vZGUuY2xhc3NOYW1lPSJrYl9ub3dy
YXBwZXIifXUmJmtiX2dldFNlY3Rpb25QcmV2aWV3VGV4dCh0W25dKX19LHRoaXMu
bWFrZXdoaXRlc3BhY2U9ZnVuY3Rpb24oKXt2YXIgbz0kKCIja2IiKS5nZXQoMCks
Zix0LGksZSx1LHIsbjtpZighbylyZXR1cm47dGhpcy5sbmRpcj0kKG8pLmNzcygi
ZGlyZWN0aW9uIiksdGhpcy5sbmRpcnx8KHRoaXMubG5kaXI9Imx0ciIpLGY9JCgi
I2tiX3NlY3Rpb24iKS5nZXQoMCk7aWYoIXRoaXMua2Job2xkZXJ8fCF0aGlzLmti
X3VzZV93aGl0ZXNwYWNlX2NoYW5uZWx8fCF0aGlzLmxuZGlyfHwhZilyZXR1cm4h
MTtmb3IodGhpcy5tYXJnaW49dGhpcy5sbmRpcj09Imx0ciI/Im1hcmdpbkxlZnQi
OiJtYXJnaW5SaWdodCIsdGhpcy5tYWtld2hpdGVib3goKSx0PXRoaXMua2Job2xk
ZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImRpdiIpLGk9bnVsbCxuPTA7bjx0Lmxl
bmd0aDtuKyspdFtuXS5jbGFzc05hbWUubWF0Y2goLyhzYm9keXxhcHBsaWVzdG98
a2V5d29yZHN8ZGlzY2xhaW1lcnx0b3BvZnBhZ2UpXGIvZ2kpJiYodFtuXS5wYXJl
bnROb2RlPT10aGlzLmtiaG9sZGVyLmNoaWxkTm9kZXNbMF18fHRbbl0ucGFyZW50
Tm9kZT09ZikmJih0aGlzLmtiaXRlbXMucHVzaCh0W25dKSx0W25dLnN0eWxlW3Ro
aXMubWFyZ2luXT10aGlzLndoaXRlc3BhY2VzaXplKyJweCIpLGk9dFtuXS5jbGFz
c05hbWUubWF0Y2goLyhrYl9vdXRlcnRhYmxld3JhcHBlcnxrYl9vdXRlcmdyYXBo
aWN3cmFwcGVyKVxiL2dpKSxpJiYodGhpcy50YWJsZXNhbmRpbWdzLnB1c2godFtu
XSksaVswXT09ImtiX291dGVyZ3JhcGhpY3dyYXBwZXIiP3Rbbl0uc2V0QXR0cmli
dXRlKCJvV2lkdGgiLHRbbl0uY2hpbGROb2Rlc1sxXS5jaGlsZE5vZGVzWzBdLndp
ZHRoKTp0W25dLnNldEF0dHJpYnV0ZSgib1dpZHRoIix0W25dLmNoaWxkTm9kZXNb
MV0uY2hpbGROb2Rlc1swXS5vZmZzZXRXaWR0aCkpO2ZvcihlPXRoaXMsbmF2aWdh
dG9yLnVzZXJBZ2VudC5tYXRjaCgvZmlyZWZveC9pKT9zZXRJbnRlcnZhbChmdW5j
dGlvbigpe2UucmVzaXplKCl9LDUwKToodGhpcy5yZXNpemUoKSxrYl9BZGRFdmVu
dCh3aW5kb3csInJlc2l6ZSIsZnVuY3Rpb24oKXtlLnJlc2l6ZSgpfSkpLHU9MCxy
PTAsbj0wO248dC5sZW5ndGg7bisrKXI9cGFyc2VJbnQodFtuXS5nZXRBdHRyaWJ1
dGUoIm5XaWR0aCIpKSx1PXBhcnNlSW50KHRbbl0uZ2V0QXR0cmlidXRlKCJvV2lk
dGgiKSksaT10W25dLmNsYXNzTmFtZS5tYXRjaCgva2Jfb3V0ZXJncmFwaGljd3Jh
cHBlcnxrYl9vdXRlcnRhYmxld3JhcHBlclxiL2dpKSxpJiYocnx8KHI9MSksciYm
dSYmKHI+dT8odFtuXS5yZW1vdmVDaGlsZCh0W25dLmNoaWxkTm9kZXNbMF0pLHRb
bl0uY2xhc3NOYW1lPXRbbl0uY2hpbGROb2Rlc1swXS5jbGFzc05hbWU9ImtiX25v
d3JhcHBlciIpOmlbMF09PSJrYl9vdXRlcmdyYXBoaWN3cmFwcGVyIiYmKHRoaXMu
YWRkd2hpdGVib3godFtuXSksa2JfQWRkRXZlbnQodFtuXSwibW91c2VvdmVyIix0
aGlzLm1vdmVyKSxrYl9BZGRFdmVudCh0W25dLCJtb3VzZW91dCIsdGhpcy5tb3V0
KSkpKTtyZXR1cm4gdGhpc30sdGhpcy5zdGFydD1mdW5jdGlvbihuKXtpZighbily
ZXR1cm4gbnVsbDt0aGlzLmtiaG9sZGVyPW4sdGhpcy50b2dnbGVHcmFwaGljVGFi
bGUoKSx0aGlzLmtiX3VzZV93aGl0ZXNwYWNlX2NoYW5uZWwmJnRoaXMubWFrZXdo
aXRlc3BhY2UoKTt2YXIgdD0kKCIudG9jVGl0bGUiKS5nZXQoMCk7dCYma2JfdGFi
dG9nZ2xlKHQpfX12YXIga2JfQWRkRXZlbnQscGFnZUJsb2NrRWxzLGtiX3RhYnRv
Z2dsZSxrYl9FeHBhbmRDb2xsYXBzZWFsbCxrYl9wYWdlX29iamVjdCxrYl9vbmxv
YWQ7d2luZG93LmFkZEV2ZW50TGlzdGVuZXI/a2JfQWRkRXZlbnQ9ZnVuY3Rpb24o
bix0LGkpe24uYWRkRXZlbnRMaXN0ZW5lcih0LGksITEpfTp3aW5kb3cuYXR0YWNo
RXZlbnQmJihrYl9BZGRFdmVudD1mdW5jdGlvbihuLHQsaSl7bi5hdHRhY2hFdmVu
dCgib24iK3QsaSl9KTt2YXIgYWRkTXRTcGFuPWZ1bmN0aW9uKCl7Zm9yKHZhciB0
PSQoIltpZD0nbXQnXSIpLG49MDtuPHQuc2l6ZSgpO24rKykkKHQuZ2V0KG4pKS5h
dHRyKCJpZCIsIk1UIituKX0scmVuZGVyTXRXaWRnZXQ9ZnVuY3Rpb24obix0LGks
cil7dCE9PSIiJiZyPT09InRydWUiJiYoJCgiLnNlYXJjaC1uYXZpZ2F0aW9uIiku
YXR0cigidHJhbnNsYXRlIiwiZmFsc2UiKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7
dmFyIHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7ci50eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiLHIuY2hhcnNldD0iVVRGLTgiLHIuc3JjPShsb2NhdGlv
biYmbG9jYXRpb24uaHJlZiYmbG9jYXRpb24uaHJlZi5pbmRleE9mKCJodHRwcyIp
PT0wPyJodHRwczovL3NzbC5taWNyb3NvZnR0cmFuc2xhdG9yLmNvbS9hamF4L3Yy
L3dpZGdldC5hc3B4IjoiaHR0cDovL3d3dy5taWNyb3NvZnR0cmFuc2xhdG9yLmNv
bS9hamF4L3YyL3dpZGdldC5hc3B4IikrIj9zaXRlRGF0YT0iK2VuY29kZVVSSUNv
bXBvbmVudChpKSsiJm1vZGU9bWFudWFsJmZyb209ZW4mbGF5b3V0PXRzJnRvPSIr
dCsiJm9yaWdpbmFsRG9jdW1lbnQ9L3ZpZXdrYi92aWV3a2IuYXNweD9jb250ZW50
aWQ9IituKyImY2F0ZWdvcnk9VGVjaCIsZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZv
cmUocixkb2N1bWVudC5ib2R5Lmxhc3RDaGlsZCl9LDApKX0sdG9jTGlua0NvdW50
PTAsa2JIZWFkaW5ncz1bXSxrYl90YWJzX21pbnVzaW1nc3JjPSIvbGlicmFyeS9p
bWFnZXMvc3VwcG9ydC9lbi11cy8yMHgyMF9ncmV5X21pbnVzLnBuZyIsa2JfdGFi
c19wbHVzaW1nc3JjPSIvbGlicmFyeS9pbWFnZXMvc3VwcG9ydC9lbi11cy8yMHgy
MF9ncmV5X3BsdXMucG5nIjt2YXIga2JpdGVtYXJyPVtdLGxvYWRUT0NOb2RlPWZ1
bmN0aW9uKG4sdCl7dmFyIHIsdSxpO3RyeXtpZighdG9jT2JqZWN0KXJldHVybiEx
fWNhdGNoKGYpe3JldHVybiExfXI9Z2V0TGF0ZXN0RWxlbWVudCgpLHBhc3Nlc1R5
cGVGaWx0ZXIodCkmJm48PWRlcHRoTGltaXQmJihrYkhlYWRpbmdzLnB1c2gociks
dT1tYWtlVE9DTm9kZShyLG4pLGk9ZmluZFBhcmVudFRPQ05vZGUoKSxpP2kudG9j
RWxlbWVudC5jaGlsZE5vZGVzWzFdLnN0eWxlLmRpc3BsYXkhPSJub25lIiYmKGku
dG9jRWxlbWVudC5jaGlsZE5vZGVzWzFdLmFwcGVuZENoaWxkKHUpLGVuZm9yY2VI
ZWFkaW5nTWF4aW11bXMoaSksdG9jTGlua0NvdW50KyspOihrYml0ZW1hcnIucHVz
aCh1KSx0b2NMaW5rQ291bnQrKykpfSxzdWJTZWN0aW9uTG9hZD1mdW5jdGlvbigp
e3ZhciBpPSQoIi5zdWJTZWN0aW9uJi5oZWFkRXhwYW5kIiksdD0kKCIuc3ViU2Vj
dGlvbiYuaGVhZENvbGxhcHNlIiksbjt0LmFkZENsYXNzKCJub3RTaG93IiksaS5l
YWNoKGZ1bmN0aW9uKCl7bj0kKHRoaXMpLnByZXZBbGwoImgzLGg0LGg1LGIiKS5m
aXJzdCgpLG4ubGVuZ3RoJiYoJChuKS5hZGRDbGFzcygic3ViU2VjdGlvbkhlYWQi
KSwkKG4pLmFkZENsYXNzKCJoZWFkRXhwYW5kIiksJChuKS50b2dnbGUoZnVuY3Rp
b24oKXskKHRoaXMpLnJlbW92ZUNsYXNzKCJoZWFkRXhwYW5kIiksJCh0aGlzKS5h
ZGRDbGFzcygiaGVhZENvbGxhcHNlIiksJCh0aGlzKS5uZXh0QWxsKCIuc3ViU2Vj
dGlvbjpmaXJzdCIpLmNzcygiZGlzcGxheSIsIm5vbmUiKX0sZnVuY3Rpb24oKXsk
KHRoaXMpLnJlbW92ZUNsYXNzKCJoZWFkQ29sbGFwc2UiKSwkKHRoaXMpLmFkZENs
YXNzKCJoZWFkRXhwYW5kIiksJCh0aGlzKS5uZXh0QWxsKCIuc3ViU2VjdGlvbjpm
aXJzdCIpLmNzcygiZGlzcGxheSIsImJsb2NrIil9KSl9KSx0LmVhY2goZnVuY3Rp
b24oKXtuPSQodGhpcykucHJldkFsbCgiaDMsaDQsaDUsYiIpLmZpcnN0KCksbi5s
ZW5ndGgmJigkKG4pLmFkZENsYXNzKCJzdWJTZWN0aW9uSGVhZCIpLCQobikuYWRk
Q2xhc3MoImhlYWRDb2xsYXBzZSIpLCQobikudG9nZ2xlKGZ1bmN0aW9uKCl7JCh0
aGlzKS5yZW1vdmVDbGFzcygiaGVhZENvbGxhcHNlIiksJCh0aGlzKS5hZGRDbGFz
cygiaGVhZEV4cGFuZCIpLCQodGhpcykubmV4dEFsbCgiLnN1YlNlY3Rpb246Zmly
c3QiKS5jc3MoImRpc3BsYXkiLCJibG9jayIpfSxmdW5jdGlvbigpeyQodGhpcyku
cmVtb3ZlQ2xhc3MoImhlYWRFeHBhbmQiKSwkKHRoaXMpLmFkZENsYXNzKCJoZWFk
Q29sbGFwc2UiKSwkKHRoaXMpLm5leHRBbGwoIi5zdWJTZWN0aW9uOmZpcnN0Iiku
Y3NzKCJkaXNwbGF5Iiwibm9uZSIpfSkpfSl9LGtiX3RvY0xvYWQ9ZnVuY3Rpb24o
KXt2YXIgaT0kKCIjdG9jRGl2IikuZ2V0KDApLG4sdDtpZighaSlyZXR1cm4hMTtm
b3Iobj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ1bCIpLGkuYXBwZW5kQ2hpbGQo
biksdD0wO3Q8a2JpdGVtYXJyLmxlbmd0aDt0Kyspbi5hcHBlbmRDaGlsZChrYml0
ZW1hcnJbdF0pO3RvY0xpbmtDb3VudD50b2NFbnRyeU1pbmltdW18fCQobikuYWRk
Q2xhc3MoImtiX3RhYnNfdG9nZ2xlX2Nsb3NlZCIpfTtrYl9BZGRFdmVudCh3aW5k
b3csImxvYWQiLGtiX3RvY0xvYWQpLGtiX0FkZEV2ZW50KHdpbmRvdywibG9hZCIs
a2JfbGlnaHRCb3hMb2FkKSxrYl90YWJ0b2dnbGU9ZnVuY3Rpb24obil7dmFyIHQ9
a2JTcmNFbChuKSxyLHUsaTt3aGlsZSh0JiZ0Lm5vZGVOYW1lIT09IkgyIil0PXQu
cGFyZW50Tm9kZTtpZighdClyZXR1cm4hMTtmb3Ioa2JfdG9nZ2xlY2xhc3ModCks
cj10LnBhcmVudE5vZGUsdT0hMSxpPTA7aTxyLmNoaWxkTm9kZXMubGVuZ3RoO2kr
Kyl7ci5jaGlsZE5vZGVzW2ldPT10JiYodT0hMCk7aWYodSlpZihyLmNoaWxkTm9k
ZXNbaV0uY2xhc3NOYW1lLm1hdGNoKC8oID98XilzYm9keVxiL2dpKSl7a2JfdG9n
Z2xlY2xhc3Moci5jaGlsZE5vZGVzW2ldKTticmVha319fSxrYl9FeHBhbmRDb2xs
YXBzZWFsbD1mdW5jdGlvbihuKXt2YXIgdD1rYlNyY0VsKG4pLGk7aWYoIXQpcmV0
dXJuITE7aT0kKCIja2Jfc2VjdGlvbiIpLmdldCgwKTtpZighaSlyZXR1cm4hMTtr
YnNlY3Rpb25fQ29sbGFwc2VFeHBhbmQodCxpKSwkKCIua2JTdXJ2ZXkiKS5sZW5n
dGgmJmtic2VjdGlvbl9Db2xsYXBzZUV4cGFuZCh0LCQoIi5rYlN1cnZleSIpLmdl
dCgwKSksa2JfUHJldmVudEJsYW5rQXJlYUluQnV0dG9tKCl9LGtiX3BhZ2Vfb2Jq
ZWN0PW5ldyBrYl9vYmplY3Qsa2Jfb25sb2FkPWZ1bmN0aW9uKCl7dmFyIGY9JCgi
I2tiIikuZ2V0KDApLG4scix1LGUsdCxpO2lmKCFmKXJldHVybiExO2ZvcihuPSQo
IiNrYiBoMiIpLCQubWVyZ2UobiwkKCIua2JTdXJ2ZXkgaDIuc3ViVGl0bGUiKSks
cj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSxyLnNyYz1rYl90YWJzX21p
bnVzaW1nc3JjLHIuY2xhc3NOYW1lPSJrYl90YWJzX3RvZ2dsZSBrYl90YWJzX3Rv
Z2dsZV9vcGVuIix1PSExLHQ9MDt0PG4ubGVuZ3RoO3QrKyluW3RdLmNsYXNzTmFt
ZS5tYXRjaCgvKCA/fF4pc3ViVGl0bGVcYi9naSkmJihlPW5bdF0uZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoImEiKSxrYl9BZGRFdmVudChuW3RdLCJjbGljayIsa2JfdGFi
dG9nZ2xlKSxuW3RdLmluc2VydEJlZm9yZShyLmNsb25lTm9kZSghMCksblt0XS5j
aGlsZE5vZGVzWzBdKSx1PSEwKTtpPSQoIiNrYl9leHBhbmRjb2xsYXBzZWFsbCIp
LmdldCgwKSxpJiZ1JiYoaS5jbGFzc05hbWU9alF1ZXJ5LnRyaW0oaS5jbGFzc05h
bWUucmVwbGFjZSgvKCA/fF4pZXhwYW5kY29sbGFwc2VhbGxcYi9naSwiZXhwYW5k
Y29sbGFwc2VhbGxfb3BlbiIpKSxrYl9BZGRFdmVudChpLmNoaWxkTm9kZXNbMF0s
ImNsaWNrIixrYl9FeHBhbmRDb2xsYXBzZWFsbCksa2JfQWRkRXZlbnQoaS5jaGls
ZE5vZGVzWzJdLCJjbGljayIsa2JfRXhwYW5kQ29sbGFwc2VhbGwpKSxrYl9wYWdl
X29iamVjdC5zdGFydChmKSxzdWJTZWN0aW9uTG9hZCgpfSxrYl9BZGRFdmVudCh3
aW5kb3csImxvYWQiLGtiX29ubG9hZCk7

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=stickypanel.js
Content-Type: application/x-javascript; name=stickypanel.js
Content-Location: http://support.microsoft.com/common/script/gsfx/stickypanel.js?80
Content-Transfer-Encoding: Base64

ZnVuY3Rpb24gbW9kaWZ5V2VicGFydChuLHQpe3ZhciByLHUsaSxmLGU7aWYoIXR8
fHQ9PW51bGwpcmV0dXJuO2lmKCFuKXJldHVybjthZGRDb21tb25Db250YWluZXIo
KSxyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImgzIiksdT1kb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJzcGFuIiksbi5zdHlsZS5kaXNwbGF5PSJibG9jayIsbi5pbm5l
ckhUTUw9dCxpPW4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoImgzIilbMF0sZj0iIixp
JiYoZj1pLmNoaWxkTm9kZXNbMF0uaW5uZXJIVE1MLGU9aS5wYXJlbnROb2RlLGUu
cmVtb3ZlQ2hpbGQoaSkpLHUuaW5uZXJIVE1MPWYsci5hcHBlbmRDaGlsZCh1KSxu
Lmluc2VydEJlZm9yZShyLG4uY2hpbGROb2Rlc1swXSl9ZnVuY3Rpb24gYWRkQ29t
bW9uQ29udGFpbmVyKCl7dmFyIG4sdCxyLHUsZixlLG8saTtpZihudWxsPT1kb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZ3NzX3N0aWNreV9jb250YWluZXJfZGl2Iikp
e249ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdlJlbFRhZ3MiKSx0PWRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJkaXZSZWxDb250ZW50Iik7aWYobj09bnVsbCYm
dD09bnVsbClyZXR1cm47biYmKG4uY2xhc3NOYW1lPSJnc3Nfc3RpY2t5d2VicGFy
dF9kaXYiKSx0JiYodC5jbGFzc05hbWU9Imdzc19zdGlja3l3ZWJwYXJ0X2RpdiIp
LHI9bnVsbCx1PW51bGwsbiE9bnVsbCYmdD09bnVsbCYmKHI9dT1uKSx0IT1udWxs
JiZuPT1udWxsJiYocj11PXQpO2lmKHI9PW51bGwpe2Y9ITAsaT1uLnByZXZpb3Vz
U2libGluZzt3aGlsZShpIT1udWxsKXtpZihpLmlkPT10LmlkKXtmPSExO2JyZWFr
fWk9aS5wcmV2aW91c1NpYmxpbmd9dT1mP246dCxyPWY/dDpufWU9ZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiZGl2IiksZS5pZD0iZ3NzX3N0aWNreV9jb250YWluZXJf
ZGl2IixvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0aGluQ29sdW1uIiksby5p
bnNlcnRCZWZvcmUoZSxyLm5leHRTaWJsaW5nKSxyLmNsYXNzTmFtZSs9IiBnc3Nf
c3RpY2t5d2VicGFydF9ib3R0b21fZGl2IixpPWRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImRpdiIpLGkuaWQ9Imdzc19zdGlja3lpbm5lcl9kaXYiLGUuYXBwZW5kQ2hp
bGQoaSksdSYmaS5hcHBlbmRDaGlsZCh1KSxyJiZpLmFwcGVuZENoaWxkKHIpfX1D
YWxsYmFja19SZWxhdGVkVGFncz1mdW5jdGlvbihuKXttb2RpZnlXZWJwYXJ0KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXZSZWxUYWdzIiksbil9LENhbGxiYWNr
X1JlbGF0ZWRDb250ZW50PWZ1bmN0aW9uKG4pe21vZGlmeVdlYnBhcnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImRpdlJlbENvbnRlbnQiKSxuKX07

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=override.css
Content-Type: text/css; name=override.css
Content-Location: http://support.microsoft.com/common/css/default/ie/override.css?80
Content-Transfer-Encoding: 8bit

/* xml content */
/*
This is used for wrapping very long href and text strings
however IE does not handle the inheritance correctly all
of the time and might cause a bug wrapping other strings
*/
.kb span.ll, 
.kb .indent b, 
.kb .indent strong, 
.kb .indent .userInput
{
    word-break: break-all;
    word-wrap: break-word;
    display: block;
}

.kb .toc a
{
    word-break: normal;
    word-wrap: normal;
}

.kb .toc .tallTable .text
{
    width: 100%;
}

#RelatedContent a, #RelatedTags a
{
    display:inline-block;
}
/* Media Print */
@media print
{
    pre
    {
        word-wrap: break-word !important;
        white-space: normal !important;
    }
    .kb span.pLink
    {
        word-break: break-all;
        word-wrap: break-word;
    }
}

a.cuImageBullet
{
    padding: 2px 5px 2px 0;
    vertical-align: top;
    cursor: hand;
}
.cuConfirmAnswer
{
    word-wrap: break-word;
    word-break: break-all;
}

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=branding.css
Content-Type: text/css; name=branding.css
Content-Location: http://support.microsoft.com/common/css/default/branding.css?80
Content-Transfer-Encoding: 8bit

body 
{
    margin: 0px; /*eliminates the interior margin of the page, allowing the elements to bump up flush with the sides*/
}

/*START Content Area Styling*/
#gsfx_brnd_CenterContent
{
    text-align: center; /*center content for IE quirksmode ***MUST reset in next element*** */
    position: relative; /*need to pass positioning down*/
    z-index: 1; /*ensure proper layering*/
    width: 100%; /*fill the screen*/
}

#gsfx_brnd_PageWrapper 
{
    width: 984px; /*CHANGE HERE: Change the width of the frame here.*/
    text-align: left; /*properly realign text*/
    margin: 0px auto 30px auto; /*also centers content for mozilla, opera and webkit*/
    position: relative; /*need to pass positioning down*/
}

#gsfx_brnd_PageContainer 
{
    min-height: 430px; /*CHANGE HERE: set minimum height of content*/
    padding: 0px; /*not neccessary, but good to have*/

    /* Commented, because IE8 doesn't support this feature well.*/
    /* display: inline-block; allows content for mozilla, opera and webkit to push this container wider and recenter*/

    position: relative; /*need to pass positioning down*/
    width: inherit; /*must be set for both IE and Non IE to strecth the frame properly*/
}

#gsfx_brnd_PageHeaderImage
{
    position: absolute; /*remove from the flow of content and not affect anything around*/
    width: 100%; /*fill the screen*/
    height: 90%; /*fill minimum screen height*/
}

* html #gsfx_brnd_PageHeaderImage
{
    height: 90%; /*fixes a bug in IE where the background would go to far down*/
    width: 100%;
}

/*dont remove this element unless you also reset the margin of the content container to 0px*/
#gsfx_brnd_ToolbarShadow
{
    display: none;
}

#gsfx_brnd_shadow
{
    background: url('/library/images/support/cn/gsfx_brnd_toolbar_shadow.png') repeat-x; /*use pngfilter on this for IE6 and below*/
    height: 14px; /*matches the height of the image*/
    line-height: 1px; /*hack for IE to make the height smaller that normal line height*/
    font-size: 1px; /*hack for IE to make the height smaller that normal line height*/
    width: 100%;
    z-index: 3;
}

* html #gsfx_brnd_shadow
{
    position: absolute;
}

#gsfx_brnd_ContentContainer 
{
    background-color: #ffffff;
    width: 100%; /*fill the container width*/
    padding: 0px; /*CHANGE HERE: This should match the desired width of the border minus the width of the css border*/
    position: inherit; /*This needs to be set to inherit or items are not clickable in IE for some reason*/
    z-index: 2; /*ensure proper layering*/
}

#contentArea 
{
    /*TODO: This may need to be configurable*/  
    background: #FFFFFF;
    border-bottom: 1px solid #000000;
    display: table; /*needed by mozilla and webkit to properly stretch the framework*/
    width: 100%; /*fill the container*/
    position: relative; /*need to pass positioning down*/
    z-index: 2; /*ensure proper layering*/
}

#gsfx_brnd_WidthFix 
{
    width: 612px; /*CHANGE HERE: Change this value to change the minimum width*/
    height: 0px; /*make 0px high*/
    line-height: 0px; /*make 0px high*/
    font-size: 0px; /*make 0px high*/
}

.gsfx_brnd_SideBorder 
{
    border-left: 1px solid #000000; /*CHANGE HERE: If you want different color borders for the frame*/
    border-right: 1px solid #000000; /*CHANGE HERE: If you want different color borders for the frame*/
}
.gsfx_brnd_TransBG 
{
    margin: 0px;
}
/*END Content Area Styling*/

/*START Corner And Border Styling*/
.gsfx_brnd_CornerContainer 
{	
    line-height: 1px; /*this is for IE to reduce hieght to less than the standard line-height (usually 1em)*/
    font-size: 0px; /*this is for IE to reduce hieght to less than the standard line-height (usually 1em)*/
    height: 0px; /*CHANGE HERE: this should match the hieght of the the top and bottom borders*/
    width: 100%;
    position: relative; /*not neccessary, but good to have*/
    z-index: 1;
}
#gsfx_brnd_TopCorners 
{
    display: none;
}
#gsfx_brnd_BottomCorners 
{
    display: none;
}

.gsfx_brnd_TBBorders 
{
    width: 100%;
}
#gsfx_brnd_TopBorder 
{
    border-top: 1px solid #85A1B9; /*CHANGE HERE: If you want different color borders for the frame*/
}
#gsfx_brnd_BottomBorder 
{
    border-bottom: 1px solid #000000; /*CHANGE HERE: If you want different color borders for the frame*/
}

.gsfx_brnd_Corner 
{
    /*CHANGE HERE: Change the width, hight, left and margin-top value if you wish to have*/ /*a different size corner on your frame, will affect all four corners*/
    float: right;
    height: 6px;
    width: 6px;
    position: relative; /*this is necessary to allow the element to move*/
    left: 6px; /*this needs to match this elements width*/
    margin-top: -6px; /*this needs to match this elements height*/
}
#gsfx_brnd_LUpperCorner 
{
    /*CHANGE HERE: If you want different corners for the frame. Dont forget to change it in the brandingPngFilter.css as well*/
    background: url('/library/images/support/cn/gsfx_brnd_trcorner.png') no-repeat;
}
#gsfx_brnd_LLowerCorner 
{
    /*CHANGE HERE: If you want different corners for the frame. Dont forget to change it in the brandingPngFilter.css as well*/
    background: url('/library/images/support/cn/gsfx_brnd_brcorner.png') no-repeat;
}
/*END Corner And Border Styling*/

/*START Header, Footer and Local Tool Bar*/
#gsfx_brnd_HeaderContainer, #gsfx_brnd_FooterContainer 
{
    width: 100%;
    position: relative;
}

#gsfx_brnd_HeaderContainer
{
    z-index: 4;
}

#gsfx_brnd_FooterContainer 
{
    z-index: 1;
}

.gsfx_brnd_NetworkLinkContainer 
{
    padding: 0px 5px;
    white-space: nowrap;
}

a.gsfx_brnd_NetworkLink, a.gsfx_brnd_NetworkLink:visited, .gsfx_brnd_NetworkLink a, .gsfx_brnd_NetworkLink a:visited
{    
    padding-bottom: 1px;
    height: 100%;
    color: #cdcbce;
    text-decoration: none;
}

a.gsfx_brnd_NetworkLink:hover, a.gsfx_brnd_NetworkLink:active, a.gsfx_brnd_NetworkLink:focus, .gsfx_brnd_NetworkLink a:hover, .gsfx_brnd_NetworkLink a:active, .gsfx_brnd_NetworkLink a:focus
{
    color: #f9d060;
    text-decoration: none;
    padding-bottom: 0px;
    border-bottom: 1px dotted #f9d060;
}

#gsfx_brnd_NetworkHeaderLinks td
{
    height: .9em;
}

#gsfx_brnd_NetworkFooter td 
{
    height: .9em;
    font-size: 80%;
}

#gsfx_brnd_NetworkHeaderLinks td span
{
    height: 100%;
}

.gsfx_brnd_HeaderSeperator, .gsfx_brnd_FooterSeperator 
{
    color: #68686a;
    font-weight: bold;
}

/*reverse these for RTL content*/
.gsfx_brnd_NetworkLeft 
{
    float: left;
    left: 0px;
    right: auto;
}

.gsfx_brnd_NetworkRight 
{
    float: right;
    left: auto;
    right: 0px;
}

.gsfx_brnd_FooterLinks .gsfx_brnd_NetworkRight, #gsfx_brnd_FooterContainer .gsfx_brnd_NetworkLeft
{
    clear: both;
}

.gsfx_brnd_NetworkTextRight
{
    text-align: right;
}

/*The following lines are used to remove the book icon at the side of Passport signin/signout button */
#idSI
{
    display: none;
}
#idSO
{
    display: none;
}

/*START Header*/
#gsfx_brnd_NetworkHeader 
{
    color: #fff;
    font-size: 70%;
    width: 100%;
    position: relative;
    z-index: 2;
    padding: 0px 2px;
    height: 25px;
}

#gsfx_brnd_NetworkHeader span 
{
    font-weight: bold;
}

#gsfx_brnd_NetworkHeader a span 
{
    font-weight: normal;
}

#gsfx_brnd_CorpMarketingContainer 
{
    position: absolute;
    width: 400px;
    height: 25px;
}

#gsfx_brnd_CorpMarketingSpace
{
    margin: 0px 8px;
    position: absolute;
    height: 41px;
    padding: 0px 25px;
}

#gsfx_brnd_corpflyoutad, #gsfx_brnd_corpflyoutad_inner
{
    position: absolute;
    overflow: hidden;
    height: 0px;
    width: 0px;
    top: 0px;
    left: 0px;
}

#gsfx_brnd_corpflyoutad
{
    margin-top: -1px;
    opacity: 0;
    filter: alpha(opacity=0);
}

#gsfx_brnd_corpflyoutad_close
{
    position: absolute;
    right: 4px;
    top: 4px;
}

#gsfx_brnd_corpflyoutad_dontshow
{
    position: absolute;
    bottom: 8px;
    left: 20px;
}

#gsfx_brnd_CorpMarketingSpace div.gsfx_brnd_NetworkLink img
{
    display: inline;
    vertical-align: middle;
}

#gsfx_brnd_CorpMarketingSpace div.gsfx_brnd_NetworkLink span
{    
    vertical-align: middle;
    font-weight: normal;
    padding: 6px 4px 0px 4px;
}

#gsfx_brnd_NetworkHeaderLinks 
{
    border-collapse: collapse;
    margin: 8px 4px 0;
}

#gsfx_brnd_SiteHeader 
{
    width: 100%;
    min-height: 61px;
    position: relative;
    z-index: 1;
    padding-top: 10px;
    border-bottom: 1px solid #000000;
}

#gsfx_brnd_SiteHeaderImageContainer
{
    line-height: 0px; /*this is for IE to reduce hieght to less than the standard line-height (usually 1em)*/
    font-size: 0px; /*this is for IE to reduce hieght to less than the standard line-height (usually 1em)*/
    height: 72px; /*CHANGE HERE: this should match the hieght of the siteheader*/
    width: 100%;
    position: absolute;
    left: 0px;
    margin-top: -10px;
    padding: 0px;
    z-index: 1;
}

#gsfx_brnd_SiteHeaderImage
{
    width: 100%;
    position: absolute;
}

#gsfx_brnd_SiteImageWedgeWrap
{
    position: absolute;
    left: 0px;
    width: 100%;
    padding: 0;
    z-index: 1;
}

.gsfx_brnd_siteheaderimage
{
    position: relative;
    float: left;
    z-index: 2;
    margin: 0px 0px 1px 0px; /*hack for IE and is floating bugs, if this isnt there, ie puts a space between the floated images*/
}

#gsfx_brnd_SiteImgRight
{
    float: right;
    margin-right: 1px;
}

* html #gsfx_brnd_SiteImgLeft, * html #gsfx_brnd_SiteImgMain
{
    margin-left: -4px;
}

#gsfx_brnd_PageLogoWrapper 
{
    padding: 0px 12px;
    white-space: nowrap;
    position: relative;
    z-index: 2;
}

#gsfx_brnd_legacy_PageLogo 
{
    height: 100%;
    width: 100%;
    position: absolute;
    margin: 0px 12px;
}

#gsfx_brnd_PageLogoLink
{
    vertical-align: middle;
    text-decoration: none;
}

#gsfx_brnd_PageLogo 
{
    vertical-align: middle;
}

#gsfx_brnd_PageTitle
{
    vertical-align: middle;
    color: #fff;
    font-size: 22pt;
}

#gsfx_brnd_SearchWrapper
{
    position: relative;
    margin: 0px 10px;
    margin-top: -9px;
    z-index: 2;
}

#frmsrch
{
    display: inline;
}

#gsfx_bsrch_divQuery
{
    height: 24px; /*border:solid 1px #336b95;*/
    margin: 5px 0px 5px 5px;
    background-color: #ffffff;
    display: inline;
    position: relative;
}
#gsfx_bsrch_options_subcntr
{
    background: #ffffff;
    border: solid 1px #999999;
    margin-top: 1px;
    font-size: 0.7em; /*height:65px;*/
    line-height: 18px;
    padding: 4px 0px 6px 0px;
    position: absolute;
    width: 100%;
}
#gsfx_bsrch_options
{
    background-color: #ffffff;
    float: left;
    position: absolute;
    display: none;
    color: Black;
    height: 1px;
    z-index: 10;
}
.gsfx_bsrch_chkimg
{
	/*visibility:hidden;*/
    display: none;
    margin: 4px;
}
.gsfx_bsrch_container
{
    width: 375px;
    height: 32px;
    background: url('/library/images/support/cn/ss_live_glass_border.png') right no-repeat;
    float: right;
    margin: 15px 2px;
    position: relative;
}
.gsfx_catoptimg_cotnr
{
    display: block;
    margin: 2px 2px 2px 1px;
    float: left;
    width: 15px;
}
#gsfx_cat_sel_cntnr
{
    background-color: #ffffff;
    border: solid 1px #336b95;
    color: black;
    display: none;
    font-size: 0.7em;
    line-height: 18px;
    padding: 4px 1px;
    position: absolute;
    right: -1px;
}
#gsfx_bsrch_options_subcntr .TopSearchOptionsSelected,#gsfx_bsrch_options_subcntr .TopSearchOptionsDefault
{
    cursor: pointer;
    width: 100%;
    padding-top: 5px;
    padding-bottom: 5px;
}
#gsfx_bsrch_options_subcntr .TopSearchOptionsDefault
{
    background-color: transparent
}
#gsfx_cat_sel_cntnr a
{
    color: black;
}
#gsfx_bsrch_options_subcntr .gsfx_srchsitename_cotnr
{
	display: inline;
    font-size: 11px;
    white-space: pre-wrap;
    margin: auto 5px;
}
.gsfx_catopttxt_cotnr
{
	display: block;
    float: left;
    font-size: 11px;
    overflow: hidden;
    width: 150px;
}
.TopSearchOptionsSelected 
{
    cursor: default;
    background-color: #0072C6;
    color: #ffffff;
    font-weight: bolder;
}
.TopSearchOptionsDefault
{
    cursor: pointer;
    background-color: #ffffff;
    color: #000000;
}

#gsfx_bsrch_logo_div
{
    display: inline;
    float: right;
    margin-right: 6px;
    margin-top: 9px;
    position: relative;
}
#gsfx_bsrch_logo
{
    vertical-align: middle;
    cursor: pointer;
}

#gsfx_bsrch_btnimg
{
    height: 20px;
    width: 20px;
    vertical-align: middle;
	margin: 0px;
    cursor: pointer;
}
#gsfx_cat_sel
{
    height: 24px;
    width: 13px;
    margin-top: 5px;
    margin-right: 5px;
    float: left;
    position: relative;
    cursor: pointer;
}
* html #gsfx_bsrch_query
{
    vertical-align: bottom;
    height: 1.7em;
}

#gsfx_bsrch_divQuery #gsfx_bsrch_query
{
    display: inline;
    font-size: 11px;
    height: 18px;
    margin: 1px 0px 1px 2px;
    border: 0px;
    vertical-align: middle;
    padding: 1px;
}

.gsfx_bsrch_buttonwrap
{
    border: 1px solid #000000;
    background-color: #fff;
    font-size: .7em;
}

.gsfx_bsrch_buttonwrap input
{
    background: none;
    border: 0px;
}    

* html .gsfx_bsrch_buttonwrap
{
    padding: 0px;
    height: 1.7em;
    margin-top: 1px;
    padding-top: 1px;
}

#gsfx_bsrch_srch
{
    border-left: 0px;
}

#gsfx_bsrch_poweredbycell
{
    margin-top: 1px;
    padding: 2px 0px;
}

#gsfx_bsrch_poweredbycell span 
{
    font-size: 7pt;
    text-align: right;
}

#gsfx_bsrch_poweredbycell img, #gsfx_bsrch_poweredbycell div
{
    vertical-align: middle;
    margin: 0px 2px;
}
/*END Header*/

/*START Footer*/
#gsfx_brnd_FooterContainer 
{
    height: 50px;
}

#gsfx_brnd_SiteFooter 
{
    color: #ffffff;
    font-size: 14pt;
    height: 40px;
    width: 230px;
    line-height: 40px;
    margin-left: 10px;
    margin-right: 20px;
    padding-top: 5px;
    text-align: left;
    white-space: nowrap;
}

#gsfx_brnd_SiteFooter .gsfx_div_png
{
    line-height: normal;
}

#gsfx_brnd_NetworkFooter span
{
    color: #fff;
}

#gsfx_brnd_copyright_container 
{
    padding-top: 6px;
    margin-left: 11px;
    width: 100px;
    height: 100%;
    position: relative;
}

#gsfx_brnd_MSLogo, #gsfx_brnd_MSLogoPrint
{
    position: relative;
}

#gsfx_brnd_legacy_MSLogo 
{
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    float: left;
}

#gsfx_brnd_NetworkFooter td
{
    white-space: nowrap;
}

/*END Footer*/

/*START LocalToolBar*/
#gsfx_brnd_LocalToolBar 
{
    width: 100%;
    padding: 0px;
    z-index: 3;
}

#gsfx_brnd_LocalLinks 
{
    margin: 0px;
    position: relative;
    height: 37px;
	background-color: #000;
	background-image: url(/library/images/support/cn/topnav_bkgnd.png);
	background-repeat: repeat-x;
	background-position: left center;
	padding-top: 0px;
	padding-right: 5px;
	padding-bottom: 0px;
	padding-left: 5px;
}

#gsfx_brnd_LocalLinks li
{
    position: relative; /*IE6 Unclickable Link Hack*/
    line-height: 37px;
    display: inline;
    float: left;
    color: #fff;
    font-size: 70%;
}

#gsfx_brnd_LocalLinks .gsfx_brnd_LocalSeperator
{
	background-image: url(/library/images/support/cn/topnav_section.png);
	background-repeat: no-repeat;
	background-position: center center;
	width: 5px;
	padding: 0px;
}

#gsfx_brnd_LocalLinks a 
{
    float: left;
    display: block;
    color: #fff;
    text-decoration: none;
    text-align: center;
	padding-left: 10px;
}

#gsfx_brnd_LocalLinks a span
{
    height: 100%;
    float: left;
    padding: 0 20px 0 10px;
}

#gsfx_brnd_LocalLinks .gsfx_brnd_LocalLinkSelected a
{
	background-image: url(/library/images/support/cn/topnav.png);
	background-repeat: no-repeat;
	background-position: left bottom;
}

#gsfx_brnd_LocalLinks .gsfx_brnd_LocalLinkSelected a span
{
    cursor: hand;
	background-image: url(/library/images/support/cn/topnav.png);
	background-repeat: no-repeat;
	background-position: right bottom;
}

#gsfx_brnd_LocalLinks a:hover
{
	background-image: url(/library/images/support/cn/topnav.png);
	background-repeat: no-repeat;
	background-position: left top;
}

#gsfx_brnd_LocalLinks a:hover span
{
    cursor: hand;
	background-image: url(/library/images/support/cn/topnav.png);
	background-repeat: no-repeat;
	background-position: right top;
}
/*END LocalToolBar*/
/*END Header, Footer and Local Tool Bar*/

/*START Left Nav*/
#leftColumn 
{
    width: 182px;
}

#gsfx_lnav_LeftNav
{
    padding-top: 5px;
    font-size: 70%;
    background: url('/library/images/support/cn/gsfx_lnav_bgrd.gif') repeat-y;
}

#gsfx_lnav_LeftNav ul
{
    margin: 0px;
    padding: 0px 2px;
}

#gsfx_lnav_LeftNav li 
{
    position: relative;
    display: inherit;
    list-style-type: none;
    margin: 0px 0px;
    padding: 1px 0px;
    height: 100%;
    width: 100%;
}

#gsfx_lnav_LeftNav li ul 
{
    position: absolute;
    visibility: hidden;
    left: 100%;
    margin: -4px -6px;
    padding: 3px 0px;
    display: inherit;
    border: 1px solid #C5DAE8;
    background: #EBF4FA;
    white-space: nowrap;
}

#gsfx_lnav_LeftNav li ul li ul
{
    margin-left: 0px;
    margin-right: 0px;
}

#gsfx_lnav_LeftNav li ul li a
{
    padding-right: 25px;
}

#gsfx_lnav_LeftNavBottom 
{
    background: url('/library/images/support/cn/gsfx_lnav_bgrd_end.png') no-repeat top right;
    width: 182px;
    height: 70px;
}

#gsfx_lnav_LeftNav .gsfx_lnav_title
{
    font-weight: bold;
    color: #000000;
    padding: 0px 4px;
}

#gsfx_lnav_LeftNav a 
{
    color: #07679A;
    text-decoration: none;
    padding: 2px 4px;
    margin: 0px 4px;
    display: inherit;
    display: block;
    background: url('/library/images/support/cn/gsfx_lnav_highlight.gif') no-repeat -25px 0px;
}

.gsfx_lnav_menulink
{
    height: 100%;
    width: 10px;
    right: 5px;
    position: absolute;
    margin: 0px 0px;
    background: url('/library/images/support/cn/gsfx_lnav_flyout_arrow_left.gif') no-repeat 0px 3px;
}

#gsfx_lnav_LeftNav li ul li a .gsfx_lnav_menulink
{
    right: 1px;
}

#gsfx_lnav_LeftNav a:hover, #gsfx_lnav_LeftNav li.gsfx_lnav_submenu li.gsfx_lnav_nomenu a:hover
{
    background: url('/library/images/support/cn/gsfx_lnav_highlight.gif') repeat-x bottom;
    padding: 1px 3px;
    border: 1px solid #ACE0F8;
}

#gsfx_lnav_LeftNav li.gsfx_lnav_submenu ul li.gsfx_lnav_nomenu a:hover, #gsfx_lnav_LeftNav li.gsfx_lnav_submenu ul li.gsfx_lnav_submenu a:hover
{
    padding-right: 24px;
}

#gsfx_lnav_LeftNav .gsfx_lnav_lncenter 
{
    text-align: center;
}

#gsfx_lnav_LeftNav .gsfx_lnav_upmenu ul, #gsfx_lnav_LeftNav .gsfx_lnav_dropmenu .gsfx_lnav_upmenu ul
{
    visibility: hidden;
    display: none;
}

#gsfx_lnav_LeftNav .gsfx_lnav_dropmenu ul
{    
    visibility: visible;
    display: block;
}

#gsfx_lnav_LeftNav .gsfx_lnav_iframeMatte
{
    position: absolute;
    top: -1px;
    left: -1px;
    filter: progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0);
}    
/*END Left Nav*/

/*MEDIA PRINT*/
#gsfx_brnd_MSLogoPrint
{
    display: none;
    margin-bottom: 10px;
}
@media print
{   
    .gsfx_brnd_CornerContainer, #gsfx_brnd_LocalToolBar, #gsfx_brnd_ToolbarShadow, #gsfx_brnd_FooterLinkContainer, #gsfx_brnd_HeaderContainer, #gsfx_brnd_PageHeaderImage, #gsfx_brnd_SiteHeaderImageContainer, #gsfx_brnd_MSLogo, #gsfx_brnd_legacy_MSLogo, #gsfx_brnd_SiteHeader
    {
        display: none !important;
    }

    #tocDiv *, #gsfx_brnd_MSLogoPrint
    {
        display: block !important;
    }

    #gsfx_brnd_PageWrapper
    {
        width: auto;
    }
    
    #gsfx_brnd_ContentContainer
    {
        padding: 0px;
    }
    
    .gsfx_brnd_SideBorder
    {
        border: 0px;
    }
}
/*End Media Print*/

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=surveytrigger.css
Content-Type: text/css; name=surveytrigger.css
Content-Location: http://support.microsoft.com/common/css/fx/surveytrigger.css?80
Content-Transfer-Encoding: 8bit

.surveyInvitationDiv
{
	visibility: hidden;
	position: absolute;
	top: 0;
	left: 0;
	background-color: white;
	margin: 0px;
	width: 819px;
	z-index: 200;
}

.surveyInvitationDiv iframe
{
	width: 819px;
	border: solid 1px #10598a;
	filter: progid:DXImageTransform.Microsoft.BasicImage(enabled=false); /*a dummy filter to avoid flicking while moving an element with png images, no actual effect*/
}

@media print
{
	.surveyInvitationDiv
	{
		display: none!important;
	}
}

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=surveycookieutil.js
Content-Type: application/x-javascript; name=surveycookieutil.js
Content-Location: http://support.microsoft.com/common/script/fx/surveycookieutil.js?80
Content-Transfer-Encoding: Base64

aWYgKCF3aW5kb3cuTVMpDQp7DQoJTVMgPSB7fTsNCn0NCg0KaWYgKCFNUy5TdXBw
b3J0KQ0Kew0KCU1TLlN1cHBvcnQgPSB7fTsNCn0NCg0KaWYgKCFNUy5TdXBwb3J0
LkZtcykNCnsNCglNUy5TdXBwb3J0LkZtcyA9IHt9Ow0KfQ0KDQppZiAoIU1TLlN1
cHBvcnQuRm1zLkNvb2tpZVV0aWwpDQp7DQoJTVMuU3VwcG9ydC5GbXMuQ29va2ll
VXRpbCA9IHsNCg0KCQlnZXRDb29raWU6IGZ1bmN0aW9uKGtleSkNCgkJew0KCQkJ
dmFyIGVudGl0aWVzID0gZG9jdW1lbnQuY29va2llLnNwbGl0KCI7Iik7DQoJCQlm
b3IgKHZhciBpID0gMDsgaSA8IGVudGl0aWVzLmxlbmd0aDsgKytpKQ0KCQkJew0K
CQkJCXZhciBqID0gZW50aXRpZXNbaV0uaW5kZXhPZigiPSIpOw0KCQkJCXZhciBz
ID0gZW50aXRpZXNbaV0uc3Vic3RyaW5nKDAsIGopOw0KCQkJCWlmIChzICE9ICIi
ICYmIChzID09IGtleSB8fCBzID09ICIgIiArIGtleSkpDQoJCQkJew0KCQkJCQly
ZXR1cm4gZW50aXRpZXNbaV0uc3Vic3RyaW5nKGogKyAxKTsNCgkJCQl9DQoJCQl9
DQoJCQlyZXR1cm4gbnVsbDsNCgkJfSwNCg0KCQlzZXRDb29raWU6IGZ1bmN0aW9u
KGtleSwgdmFsdWUsIGV4cGlyZXMsIGRvbWFpbiwgcGF0aCkNCgkJew0KCQkJZG9t
YWluID0gZG9tYWluIHx8ICh0eXBlb2YoZ0Nvb2tpZURvbWFpbikgIT0gInVuZGVm
aW5lZCIgPyAoZ0Nvb2tpZURvbWFpbiB8fCBkb2N1bWVudC5kb21haW4pIDogZG9j
dW1lbnQuZG9tYWluKTsNCgkJCXBhdGggPSBwYXRoIHx8ICIvIjsNCgkJCWRvY3Vt
ZW50LmNvb2tpZSA9IGtleSArICI9IiArIHZhbHVlICsgIjsgZG9tYWluPSIgKyBk
b21haW4gKyAiOyBwYXRoPSIgKyBwYXRoICsgIjsgIiArIChleHBpcmVzID8gKCJl
eHBpcmVzPSIgKyBleHBpcmVzLnRvR01UU3RyaW5nKCkgKyAiOyIpIDogIiIpOw0K
CQl9LA0KDQoJCXNldFNlc3Npb25Db29raWU6IGZ1bmN0aW9uKGtleSwgdmFsdWUs
IGRvbWFpbiwgcGF0aCkNCgkJew0KCQkJdGhpcy5zZXRDb29raWUoa2V5LCB2YWx1
ZSwgbnVsbCwgZG9tYWluLCBwYXRoKTsNCgkJfSwNCg0KCQlyZW1vdmVDb29raWU6
IGZ1bmN0aW9uKGtleSwgZG9tYWluLCBwYXRoKQ0KCQl7DQoJCQl0aGlzLnNldENv
b2tpZShrZXksICIiLCAobmV3IERhdGUoMCwgMCwgMCkpLCBkb21haW4sIHBhdGgp
Ow0KCQl9LA0KDQoJCS8va2V5PXN1YmtleTE9dmFsdWUxJnN1YmtleTI9dmFsdWUy
DQoJCWdldFN1YkNvb2tpZTogZnVuY3Rpb24oa2V5LCBzdWJrZXkpDQoJCXsNCgkJ
CXZhciB2YWx1ZSA9IHRoaXMuZ2V0Q29va2llKGtleSk7DQoJCQlpZiAodmFsdWUp
DQoJCQl7DQoJCQkJdmFyIGVudGl0aWVzID0gdmFsdWUuc3BsaXQoIiYiKTsNCgkJ
CQlmb3IgKHZhciBpID0gMDsgaSA8IGVudGl0aWVzLmxlbmd0aDsgKytpKQ0KCQkJ
CXsNCgkJCQkJdmFyIGogPSBlbnRpdGllc1tpXS5pbmRleE9mKCI9Iik7DQoJCQkJ
CXZhciBzID0gZW50aXRpZXNbaV0uc3Vic3RyaW5nKDAsIGopOw0KCQkJCQlpZiAo
cyAhPSAiIiAmJiAocyA9PSBzdWJrZXkpKQ0KCQkJCQl7DQoJCQkJCQlyZXR1cm4g
ZW50aXRpZXNbaV0uc3Vic3RyaW5nKGogKyAxKTsNCgkJCQkJfQ0KCQkJCX0NCgkJ
CX0NCgkJCXJldHVybiBudWxsOw0KCQl9LA0KDQoJCXNldFN1YkNvb2tpZTogZnVu
Y3Rpb24oa2V5LCBzdWJrZXksIHN1YnZhbHVlLCBleHBpcmVzLCBkb21haW4sIHBh
dGgpDQoJCXsNCgkJCXZhciB2YWx1ZSA9IHRoaXMuZ2V0Q29va2llKGtleSk7DQoJ
CQlpZiAoIXZhbHVlKQ0KCQkJew0KCQkJCXZhbHVlID0gc3Via2V5ICsgJz0nICsg
c3VidmFsdWU7DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJdmFyIGNvb2tpZWFy
cmF5ID0gdmFsdWUuc3BsaXQoJyYnKTsNCgkJCQl2YXIgaSA9IDA7DQoJCQkJZm9y
ICg7IGkgPCBjb29raWVhcnJheS5sZW5ndGg7IGkrKykNCgkJCQl7DQoJCQkJCXZh
bHVlID0gY29va2llYXJyYXlbaV07DQoJCQkJCXZhciBjb29raWVuYW1lID0gdmFs
dWUuc3Vic3RyaW5nKDAsIHZhbHVlLmluZGV4T2YoJz0nKSk7DQoJCQkJCWlmIChz
dWJrZXkgPT0gY29va2llbmFtZSkNCgkJCQkJew0KCQkJCQkJY29va2llYXJyYXlb
aV0gPSBjb29raWVuYW1lICsgJz0nICsgc3VidmFsdWU7DQoJCQkJCQlicmVhazsN
CgkJCQkJfQ0KCQkJCX0NCgkJCQlpZiAoaSA+PSBjb29raWVhcnJheS5sZW5ndGgp
DQoJCQkJew0KCQkJCQljb29raWVhcnJheVtpXSA9IHN1YmtleSArICc9JyArIHN1
YnZhbHVlOw0KCQkJCX0NCgkJCQl2YWx1ZSA9IGNvb2tpZWFycmF5LmpvaW4oJyYn
KTsNCgkJCX0NCgkJCXRoaXMuc2V0Q29va2llKGtleSwgdmFsdWUsIGV4cGlyZXMs
IGRvbWFpbiwgcGF0aCk7DQoJCX0NCgl9DQp9

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=surveytrigger.js
Content-Type: application/x-javascript; name=surveytrigger.js
Content-Location: http://support.microsoft.com/common/script/fx/surveytrigger.js?80
Content-Transfer-Encoding: Base64

aWYgKCF3aW5kb3cuTVMpDQp7DQoJTVMgPSB7fTsNCn0NCg0KaWYgKCFNUy5TdXBw
b3J0KQ0Kew0KCU1TLlN1cHBvcnQgPSB7fTsNCn0NCg0KaWYgKCFNUy5TdXBwb3J0
LkZtcykNCnsNCglNUy5TdXBwb3J0LkZtcyA9IHt9Ow0KfQ0KDQppZiAoIU1TLlN1
cHBvcnQuRm1zKQ0Kew0KCU1TLlN1cHBvcnQuRm1zID0ge307DQp9DQoNCmlmICgh
TVMuU3VwcG9ydC5GbXMuU3VydmV5VHJpZ2dlcikNCnsNCglNUy5TdXBwb3J0LkZt
cy5TdXJ2ZXlUcmlnZ2VyID0gZnVuY3Rpb24oZW50aXR5LCBjb25maWcpDQoJew0K
CQl2YXIgY29va2llRG9tYWluID0gY29uZmlnID8gY29uZmlnLnNpdGUuY29va2ll
RG9tYWluIDogdHlwZW9mIChnQ29va2llRG9tYWluKSAhPSAidW5kZWZpbmVkIiA/
IGdDb29raWVEb21haW4gOiBkb2N1bWVudC5kb21haW47DQoNCgkJdmFyIGFuaW1h
dGlvbkZQUyA9IDI0Ow0KCQl2YXIgc3RkdXJhdGlvbiA9IE1hdGgucm91bmQoMTAw
MCAqICgxIC8gYW5pbWF0aW9uRlBTKSk7DQoNCgkJdmFyIGZyYW1lQ291bnQgPSBl
bnRpdHkuQW5pbWF0aW9uRHVyYXRpb24gKiBhbmltYXRpb25GUFM7DQoNCgkJdmFy
IG1vdmVtZW50UFggPSBmYWxzZTsNCgkJdmFyIHN1cnZleUhlaWdodDsNCgkJdmFy
IHN1cnZleVdpZHRoOw0KCQl2YXIgc3VydmV5T2JqOw0KCQl2YXIgZml4ZWRQb3Np
dGlvbiA9IGZhbHNlOw0KCQl2YXIgZG9jdW1lbnRFbGVtZW50ID0gbnVsbDsNCg0K
CQlmdW5jdGlvbiBJc0JhY2tDb21wYXQoKQ0KCQl7DQoJCQlpZiAoZG9jdW1lbnQu
Y29tcGF0TW9kZSA9PSAiQmFja0NvbXBhdCIpDQoJCQl7DQoJCQkJcmV0dXJuIHRy
dWU7DQoJCQl9DQoNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KDQoJCWZ1bmN0aW9u
IGNoZWNrRnJlcXVlbmN5KCkNCgkJew0KCQkJcmV0dXJuICghaXNOYU4oZW50aXR5
LkZyZXF1ZW5jeSkpICYmIChlbnRpdHkuRnJlcXVlbmN5ID4gMCkgJiYgKE1hdGgu
Zmxvb3IoTWF0aC5yYW5kb20oKSAqIGVudGl0eS5GcmVxdWVuY3kpID09IDApOw0K
CQl9DQoNCgkJZnVuY3Rpb24gaXNUcmlnZ2VyU3VwcHJlc3NlZChpZCkNCgkJew0K
CQkJdmFyIHRyaWdnZXJzID0gTVMuU3VwcG9ydC5GbXMuQ29va2llVXRpbC5nZXRT
dWJDb29raWUoJ2Ztc21lbW8nLCAnc3QnKSB8fCAiIjsNCgkJCWlmICgodHJpZ2dl
cnMgKyAnfCcpLmluZGV4T2YoJ3wnICsgaWQgKyAnfCcpID4gLTEpIHJldHVybiB0
cnVlOw0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJZnVuY3Rpb24gc3VwcHJl
c3NUcmlnZ2dlcihpZCkNCgkJew0KCQkJdmFyIHRyaWdnZXJzID0gTVMuU3VwcG9y
dC5GbXMuQ29va2llVXRpbC5nZXRTdWJDb29raWUoJ2Ztc21lbW8nLCAnc3QnKSB8
fCAiIjsNCgkJCXRyaWdnZXJzICs9ICd8JyArIGlkOw0KCQkJTVMuU3VwcG9ydC5G
bXMuQ29va2llVXRpbC5zZXRTdWJDb29raWUoJ2Ztc21lbW8nLCAnc3QnLCB0cmln
Z2VycywgbnVsbCwgY29va2llRG9tYWluKTsNCgkJfQ0KDQoJCXRoaXMuZ2V0U3Vy
dmV5SWQgPSBmdW5jdGlvbigpDQoJCXsNCgkJCXJldHVybiBwYXJzZUludChlbnRp
dHkuU2NpZC5zcGxpdCgiOyIsIDMpWzJdKSB8fCAwOw0KCQl9DQoNCgkJdGhpcy5n
ZXRTdXJ2ZXlMYW5ndWFnZUNvZGUgPSBmdW5jdGlvbigpDQoJCXsNCgkJCXJldHVy
biBlbnRpdHkuU2NpZC5zcGxpdCgiOyIsIDMpWzFdIHx8ICJFTiI7DQoJCX0NCg0K
CQlmdW5jdGlvbiBnZXRQcmV2ZW50TXVsdGlwbGVSZXNwb25zZXNDb29raWVLZXko
c3VydmV5SWQsIGxhbmd1YWdlKQ0KCQl7DQoJCQlyZXR1cm4gKCJmbXNwbXJfIiAr
IHN1cnZleUlkICsgIl8iICsgbGFuZ3VhZ2UpLnRvVXBwZXJDYXNlKCk7DQoJCX0N
Cg0KCQkvLyB0cnVlIGluZGljYXRlIHRvIGJlIGV4ZWN1dGVkLg0KCQkvLyBmYWxz
ZSBpbmRpY2F0ZSBldmFsdWF0aW9uIG9ubHkuDQoNCgkJdGhpcy50cmlnZ2VySW5p
dCA9IGZ1bmN0aW9uKGV4ZWN1dGluZykNCgkJew0KCQkJLy8gU2luY2UgdGhlIHBh
Z2Ugd2lsbCBiZSBjYWNoZWQgYnkgd2ViIHNlcnZlciwgc28gZXZlbiB3ZSBoYXZl
IHN1cHByZXNzZWQgYSBzcGVjaWZpYyB0cmlnZ2VyLA0KCQkJLy8gaXQgd2lsbCBz
dGlsbCBiZSBjb250YWluZWQgaW4gdGhlIHBhZ2Ugd2hlbiB3ZSBicm93c2UgdGhp
cyBwYWdlIGZvciB0aGUgc2Vjb25kIHRpbWUuDQoJCQkvLyBUaHVzIHdlIGhhdmUg
dG8gY2hlY2sgaWYgaXQgaGFzIGJlZW4gc3VwcHJlc3NlZCBhdCBjbGllbnQgc2lk
ZS4NCgkJCWlmIChpc0RvbWFpblRyYWNraW5nKCkgfHwgKGVudGl0eS5JbnRlcnZh
bFR5cGUgPT0gJ3Nlc3Npb24nICYmIGlzVHJpZ2dlclN1cHByZXNzZWQoZW50aXR5
LlRyaWdnZXJJZCkpKQ0KCQkJew0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0NCg0K
CQkJdmFyIG9wdE91dCA9IE1TLlN1cHBvcnQuRm1zLkNvb2tpZVV0aWwuZ2V0Q29v
a2llKCJmbXNPcHRPdXQiICsgZW50aXR5LlNpdGUudG9VcHBlckNhc2UoKSk7DQoJ
CQlpZiAob3B0T3V0ICYmIG9wdE91dCA9PSAiMSIpDQoJCQl7DQoJCQkJcmV0dXJu
IGZhbHNlOw0KCQkJfQ0KDQoJCQl2YXIgc3VydmV5SWQgPSB0aGlzLmdldFN1cnZl
eUlkKCk7DQoNCgkJCWlmIChzdXJ2ZXlJZCAhPSAwKQ0KCQkJew0KCQkJCXZhciBr
ZXkgPSBnZXRQcmV2ZW50TXVsdGlwbGVSZXNwb25zZXNDb29raWVLZXkodGhpcy5n
ZXRTdXJ2ZXlJZCgpLCB0aGlzLmdldFN1cnZleUxhbmd1YWdlQ29kZSgpKTsNCg0K
CQkJCWlmIChNUy5TdXBwb3J0LkZtcy5Db29raWVVdGlsLmdldENvb2tpZShrZXkp
ID09ICIxIikNCgkJCQl7DQoJCQkJCXJldHVybiBmYWxzZTsNCgkJCQl9DQoJCQl9
DQoNCgkJCXZhciBpc0ZvbGxvd1VwID0gZW50aXR5LkludGVydmFsVHlwZSA9PSAn
Zm9sbG93dXAnID8gdHJ1ZSA6IGZhbHNlOw0KDQoJCQlpZiAoaXNGb2xsb3dVcCkN
CgkJCXsNCgkJCQl2YXIgZm9sbG93dXBDb29raWVLZXkgPSAiZm1zZm9sbG93dXBz
IiArIGVudGl0eS5Db29raWVEZWY7DQoJCQkJaWYgKCFNUy5TdXBwb3J0LkZtcy5D
b29raWVVdGlsLmdldENvb2tpZShmb2xsb3d1cENvb2tpZUtleSkpDQoJCQkJew0K
CQkJCQkvLyBwYWdlIGlzIGxvYWRlZCBmcm9tIGNhY2hlDQoJCQkJCXJldHVybiBm
YWxzZTsNCgkJCQl9DQoJCQkJZWxzZSBpZiAoZXhlY3V0aW5nKQ0KCQkJCXsNCgkJ
CQkJLy8gcmVtb3ZlIGZvbGxvdy11cCBjb29raWUNCgkJCQkJTVMuU3VwcG9ydC5G
bXMuQ29va2llVXRpbC5yZW1vdmVDb29raWUoZm9sbG93dXBDb29raWVLZXksIGNv
b2tpZURvbWFpbik7DQoJCQkJfQ0KCQkJfQ0KDQoJCQl2YXIgTWlsaURheSA9IDg2
NDAwMDAwOw0KCQkJdmFyIG1hdHVyaXR5ID0gMDsNCgkJCXZhciBjdXJEYXRlID0g
bmV3IERhdGUoKTsNCgkJCXZhciB2aXNpdHMgPSBNUy5TdXBwb3J0LkZtcy5Db29r
aWVVdGlsLmdldENvb2tpZShlbnRpdHkuQ29va2llRGVmKTsNCg0KCQkJdmFyIHBh
cnRzID0gbnVsbDsNCg0KCQkJaWYgKHZpc2l0cykNCgkJCXsNCgkJCQlwYXJ0cyA9
IHZpc2l0cy5zcGxpdCgnXycpOw0KCQkJfQ0KDQoJCQl2YXIgZXhwaXJlcyA9IG5l
dyBEYXRlKCk7DQoJCQlleHBpcmVzLnNldEZ1bGxZZWFyKGV4cGlyZXMuZ2V0RnVs
bFllYXIoKSArIDEwKTsNCg0KCQkJdmFyIHJldDsNCgkJCWlmICgoIXZpc2l0cykg
fHwgcGFydHMubGVuZ3RoICE9IDMgfHwgaXNOYU4ocGFydHNbMF0pKQ0KCQkJew0K
CQkJCU1TLlN1cHBvcnQuRm1zLkNvb2tpZVV0aWwuc2V0Q29va2llKGVudGl0eS5D
b29raWVEZWYsICcxXzBfMCcsIGV4cGlyZXMsIGNvb2tpZURvbWFpbik7DQoJCQkJ
cGFydHMgPSBbIjAiLCAiMCIsICIwIl07DQoJCQl9DQoNCgkJCXZhciBvcmlnRGF0
ZSA9IHBhcnNlSW50KHBhcnRzWzFdKTsNCgkJCXZpc2l0cyA9IHBhcnNlSW50KHBh
cnRzWzBdKTsNCgkJCWlmDQoJCQkoDQoJCQkJKGV4ZWN1dGluZyB8fCBjaGVja0Zy
ZXF1ZW5jeSgpKSAmJg0KCQkJCSh2aXNpdHMgPj0gbWF0dXJpdHkpICYmIChpc0Zv
bGxvd1VwIHx8IGZtc1N1cnZleUV4cGlyZWQoZW50aXR5LkV4cGlyYXRpb24pKQ0K
CQkJKQ0KCQkJew0KCQkJCWlmIChleGVjdXRpbmcpDQoJCQkJCU1TLlN1cHBvcnQu
Rm1zLkNvb2tpZVV0aWwuc2V0Q29va2llKGVudGl0eS5Db29raWVEZWYsIHZpc2l0
cyArIDEgKyAnXycgKyBjdXJEYXRlLmdldFRpbWUoKSAvIE1pbGlEYXkgKyAnXycg
KyBlbnRpdHkuRXhwaXJhdGlvbiwgZXhwaXJlcywgY29va2llRG9tYWluKTsNCgkJ
CQlyZXQgPSB0cnVlOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCWlmIChleGVj
dXRpbmcpDQoJCQkJCU1TLlN1cHBvcnQuRm1zLkNvb2tpZVV0aWwuc2V0Q29va2ll
KGVudGl0eS5Db29raWVEZWYsIHZpc2l0cyArIDEgKyAnXycgKyBwYXJ0c1sxXSAr
ICdfJyArIHBhcnRzWzJdLCBleHBpcmVzLCBjb29raWVEb21haW4pOw0KCQkJCXJl
dCA9IGZhbHNlOw0KCQkJfQ0KDQoJCQlpZiAoIXJldCAmJiBlbnRpdHkuSW50ZXJ2
YWxUeXBlID09ICdzZXNzaW9uJykNCgkJCQlzdXBwcmVzc1RyaWdnZ2VyKGVudGl0
eS5UcmlnZ2VySWQpOw0KCQkJcmV0dXJuIHJldDsNCgkJfQ0KDQoJCXRoaXMuZmly
ZVRyaWdnZXIgPSBmdW5jdGlvbigpDQoJCXsNCgkJCXZhciBxdWVyeXMgPSB7DQoJ
CQkJIlNjaWQiOiBlbnRpdHkuU2NpZCwNCgkJCQkiWHNsIjogZW50aXR5LlhzbCwN
CgkJCQkiU2l0ZSI6IGVudGl0eS5TaXRlLA0KCQkJCSJUb29sIjogZW50aXR5LlRv
b2xiYXIsDQoJCQkJIlRoZW1lIjogZW50aXR5LlRoZW1lLA0KCQkJCSJTRCI6IGVu
dGl0eS5TaXRlLA0KCQkJCSJTdXJ2ZXlTdHlsZSI6IGVudGl0eS5TdXJ2ZXlTdHls
ZSwNCgkJCQkiU2l0ZVJlZ2lvbiI6IGVudGl0eS5SZWdpb24sDQoJCQkJIlBhZ2VX
aWR0aCI6IGVudGl0eS5QYWdlV2lkdGgsDQoJCQkJIlBhZ2VIZWlnaHQiOiBlbnRp
dHkuUGFnZUhlaWdodCwNCgkJCQkiVXJsIjogZW50aXR5LlJlZmVycmluZ1VSTCwN
CgkJCQkiUDAiOiBlbnRpdHkuUGFyYW1ldGVyc1swXSwNCgkJCQkiUDEiOiBlbnRp
dHkuUGFyYW1ldGVyc1sxXSwNCgkJCQkiUDIiOiBlbnRpdHkuUGFyYW1ldGVyc1sy
XSwNCgkJCQkiUDMiOiBlbnRpdHkuUGFyYW1ldGVyc1szXSwNCgkJCQkiUDQiOiBl
bnRpdHkuUGFyYW1ldGVyc1s0XSwNCgkJCQkiUDUiOiBlbnRpdHkuUGFyYW1ldGVy
c1s1XSwNCgkJCQkiUDYiOiBlbnRpdHkuUGFyYW1ldGVyc1s2XSwNCgkJCQkiUDci
OiBlbnRpdHkuUGFyYW1ldGVyc1s3XSwNCgkJCQkiUDgiOiBlbnRpdHkuUGFyYW1l
dGVyc1s4XSwNCgkJCQkiUDkiOiBlbnRpdHkuUGFyYW1ldGVyc1s5XQ0KCQkJfTsN
Cg0KCQkJaWYgKCF3aW5kb3cuX21zX3N1cHBvcnRfZm1zX3V0aWxpdHlfcGFja2Fn
ZVF1ZXJ5U3RyaW5nKQ0KCQkJew0KCQkJCXdpbmRvdy5fbXNfc3VwcG9ydF9mbXNf
dXRpbGl0eV9wYWNrYWdlUXVlcnlTdHJpbmcgPSBmdW5jdGlvbihvYmopDQoJCQkJ
ew0KCQkJCQl2YXIgcXVlcnlTdHJpbmcgPSAiIjsNCgkJCQkJZm9yICh2YXIga2V5
IGluIG9iaikNCgkJCQkJew0KCQkJCQkJaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShr
ZXkpKQ0KCQkJCQkJew0KCQkJCQkJCXF1ZXJ5U3RyaW5nICs9ICImIiArIGtleSAr
ICI9IiArIGVuY29kZVVSSUNvbXBvbmVudChvYmpba2V5XSk7DQoJCQkJCQl9DQoJ
CQkJCX0NCgkJCQkJcmV0dXJuIHF1ZXJ5U3RyaW5nOw0KCQkJCX0NCgkJCX0NCg0K
CQkJdmFyIFN1cnZleVVSTCA9IGVudGl0eS5QYXRoOw0KDQoJCQlpZiAoY29uZmln
KQ0KCQkJew0KCQkJCVN1cnZleVVSTCA9IGNvbmZpZy5wcm90b2NvbCArICIvLyIg
KyBjb25maWcuaG9zdCArIFN1cnZleVVSTDsNCgkJCX0NCg0KCQkJdmFyIGZ1bGxV
UkwgPSBTdXJ2ZXlVUkwgKyAiPyIgKyBfbXNfc3VwcG9ydF9mbXNfdXRpbGl0eV9w
YWNrYWdlUXVlcnlTdHJpbmcocXVlcnlzKTsNCg0KCQkJLy8gcGFyYW1ldGVycyBh
ZGRlZCBpbiBGTVMgNC4wDQoJCQlpZiAodHlwZW9mIFN0YXRzRG90TmV0ICE9ICJ1
bmRlZmluZWQiICYmIFN0YXRzRG90TmV0KQ0KCQkJew0KCQkJCS8vIFRPRE86IHdl
IG5lZWQgYWRkIHRoZXNlIGFkZHRpb25hbCBwYXJhbWV0ZXJzIHBsdWdpbiB0cmln
Z2VyIGNvbmZpZ3VyYXRpb24gc25pcHBldA0KCQkJCWZ1bGxVUkwgKz0gJyZjdD0n
ICsgKFN0YXRzRG90TmV0LmNvbnRlbnRUeXBlIHx8ICIiKTsNCgkJCQlmdWxsVVJM
ICs9ICcmY2M9JyArIChTdGF0c0RvdE5ldC5Db250ZW50Q3VsdHVyZSB8fCAiIik7
DQoJCQkJZnVsbFVSTCArPSAnJmNpZD0nICsgKFN0YXRzRG90TmV0LmNvbnRlbnRJ
ZCB8fCAiIik7DQoJCQkJZnVsbFVSTCArPSAnJmNsY2lkPScgKyAoU3RhdHNEb3RO
ZXQuY29udGVudExuIHx8ICIiKTsNCgkJCQlmdWxsVVJMICs9ICcmc2M9JyArIChT
dGF0c0RvdE5ldC5TaXRlQ3VsdHVyZSB8fCAiIik7DQoJCQkJZnVsbFVSTCArPSAn
JnNiaWQ9JyArIChTdGF0c0RvdE5ldC5zaXRlQnJhbmRJZCB8fCAiIik7DQoJCQkJ
ZnVsbFVSTCArPSAnJnNzaWQ9JyArIChTdGF0c0RvdE5ldC5zc0lkIHx8ICIiKTsN
CgkJCQlmdWxsVVJMICs9ICcmc3N2ZXI9JyArIChTdGF0c0RvdE5ldC5Tc1ZlcnNp
b24gfHwgIiIpOw0KCQkJCWZ1bGxVUkwgKz0gJyZjcD0nICsgT3V0cHV0RW5jb2Rl
cl9FbmNvZGVVcmwoU3RhdHNEb3ROZXQuQ29udGVudFByb3BlcnRpZXMgfHwgIiIp
Ow0KCQkJfQ0KDQoJCQlpZiAoY29uZmlnKQ0KCQkJew0KCQkJCXF1ZXJ5cyA9IHsN
CgkJCQkJJ2N0JzogY29uZmlnLmNvbnRlbnQudHlwZSwNCgkJCQkJJ2NjJzogY29u
ZmlnLmNvbnRlbnQuY3VsdHVyZSwNCgkJCQkJJ2NpZCc6IGNvbmZpZy5jb250ZW50
LmlkLA0KCQkJCQknY2xjaWQnOiBjb25maWcuY29udGVudC5sY2lkLA0KCQkJCQkn
c2MnOiBjb25maWcuc2l0ZS5jdWx0dXJlLA0KCQkJCQknc2JpZCc6IGNvbmZpZy5z
aXRlLmJyYW5kLA0KCQkJCQknc3NpZCc6IGNvbmZpZy5zaXRlLmlkLA0KCQkJCQkn
c3N2ZXInOiBjb25maWcuc2l0ZS52ZXJzaW9uLA0KCQkJCQknY3AnOiBjb25maWcu
Y29udGVudC5wcm9wZXJ0aWVzDQoJCQkJfTsNCg0KCQkJCWZ1bGxVUkwgKz0gX21z
X3N1cHBvcnRfZm1zX3V0aWxpdHlfcGFja2FnZVF1ZXJ5U3RyaW5nKHF1ZXJ5cyk7
DQoJCQl9DQoNCgkJCWZ1bGxVUkwgKz0gJyZ0cmlnZ2VyPScgKyBlbnRpdHkuVHJp
Z2dlcklkOw0KDQoJCQlpZiAoZW50aXR5LkFsdFN0eWxlKQ0KCQkJew0KCQkJCWZ1
bGxVUkwgKz0gIiZhbHRTdHlsZT0iICsgZW50aXR5LkFsdFN0eWxlICsgIiZyZW5k
ZXJPcHRpb249IiArIGVudGl0eS5SZW5kZXJPcHRpb247DQoJCQl9DQoNCgkJCWlm
IChlbnRpdHkuRW1haWxTdHlsZSA9PSAxKQ0KCQkJCWZ1bGxVUkwgPSBmdWxsVVJM
ICsgJyZlbWFpbHN1cnZleWlkPScgKyBlbnRpdHkuRW1haWxTdXJ2ZXlJRCArICcm
c2Vzc2lvbmlkPS0xJzsNCg0KCQkJaWYgKGVudGl0eS5EaXNwbGF5SW50cm9QYWdl
ICE9ICcxJykNCgkJCQlmdWxsVVJMID0gZnVsbFVSTCArICcmc2hvd3BhZ2U9MSc7
DQoJCQlpZiAoZW50aXR5LlN1cnZleVN0eWxlID09IG51bGwpDQoJCQkJZW50aXR5
LlN1cnZleVN0eWxlID0gInBvcHVwIjsNCgkJCWVudGl0eS5TdXJ2ZXlTdHlsZSA9
IGVudGl0eS5TdXJ2ZXlTdHlsZS50b0xvd2VyQ2FzZSgpOw0KCQkJaWYgKGVudGl0
eS5TdXJ2ZXlTdHlsZSA9PSAiZW1iZWRkZWQiKQ0KCQkJew0KCQkJCWlmIChlbnRp
dHkuRW1iZWRTdXJ2ZXlQcm9tcHQgPT0gJ25vdGhpbmcnKQ0KCQkJCQl3aW5kb3cu
bG9jYXRpb24uaHJlZiA9IGZ1bGxVUkw7DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJ
aWYgKGVudGl0eS5FbWJlZFN1cnZleVByb21wdCAhPSAiIiAmJiB3aW5kb3cuc2Ny
ZWVuVG9wIDwgMTAwMDAgJiYgd2luZG93LmNvbmZpcm0oZW1iZWRTdXJ2ZXlQcm9t
cHQpID09IHRydWUpIC8vdW5sb2FkIGV2ZW50DQoJCQkJCXsNCgkJCQkJCS8vIHdl
IGNhbiBub3QgZG8gYSB3aW5kb3cubG9jYXRpb24uaHJlZiBmb3IgdGhlIHJlZGly
ZWN0aW9uIGJlY2F1c2Ugd2hlbiByZWZyZXNoaW5nIHRoZSB3aW5kb3cgdGhhdCBy
ZWRpcmVjdGlvbiB3b24ndCB3b3JrDQoJCQkJCQkvLyBPcHRpbWFsbHkgaWYgaXQg
aXMgcmVmcmVzaGluZywgd2Ugc2hvdWxkIG5vdCBkbyBzdXJ2ZXkuIEJ1dCB3ZSBo
YXZlIG5vIHdheSB0byBrbm93IGl0IGlzIHJlZnJlc2hpbmcgd2luZG93LCBzbyB3
ZSBrZWVwIHRoZSBiZWhhdmlvciBzYW1lDQoJCQkJCQlkb2N1bWVudC53cml0ZWxu
KCc8aHRtbD48Ym9keT4nKTsNCgkJCQkJCWRvY3VtZW50LndyaXRlbG4oJzxmb3Jt
IG5hbWU9InRoZV9mb3JtIiBhY3Rpb249IicgKyBmdWxsVVJMICsgJyIgbWV0aG9k
PSJwb3N0Ij48XC9mb3JtPicpOw0KCQkJCQkJZG9jdW1lbnQud3JpdGVsbigiPFwv
Ym9keT48XC9odG1sPiIpOw0KCQkJCQkJZG9jdW1lbnQudGhlX2Zvcm0uc3VibWl0
KCk7DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJZnVs
bFVSTCA9IGZ1bGxVUkwudG9Mb3dlckNhc2UoKS5yZXBsYWNlKCJzdXJ2ZXkuYXNw
eCIsICJzdXJ2ZXlpbnZpdGUuYXNweCIpOw0KCQkJCWlmIChlbnRpdHkuRGlzcGxh
eUludHJvUGFnZSA9PSAnMScpDQoJCQkJCWZ1bGxVUkwgPSBmdWxsVVJMICsgJyZz
aG93cGFnZT0xJzsgLy9hbHdheXMgYWRkICZzaG93cGFnZT0xDQoJCQkJaWYgKGRv
Y3VtZW50LmxvY2F0aW9uLmhyZWYudG9Mb3dlckNhc2UoKS5pbmRleE9mKCdmcj0x
JykgPiAwKQ0KCQkJCQlmdWxsVVJMID0gZnVsbFVSTCArICcmZnI9MSc7DQoJCQkJ
aWYgKGVudGl0eS5FdmVudCA9PSAnb251bmxvYWQnKQ0KCQkJCQlmdWxsVVJMID0g
ZnVsbFVSTCArICcmb251bmxvYWQ9MSc7DQoJCQkJaWYgKGVudGl0eS5PcHRPdXQg
PT0gMSkNCgkJCQl7DQoJCQkJCWZ1bGxVUkwgPSBmdWxsVVJMICsgIiZvcHRvdXQ9
MSI7DQoJCQkJfQ0KCQkJCWZpcmVTdXJ2ZXkoZnVsbFVSTCk7DQoJCQl9DQoJCX0N
Cg0KCQlmdW5jdGlvbiBmaXJlU3VydmV5KGZ1bGxVUkwpDQoJCXsNCgkJCXByZXNl
bnRTdXJ2ZXkoZnVsbFVSTCk7DQoJCX0NCg0KCQlmdW5jdGlvbiBzdXJ2ZXlEaXYo
ZnVsbFVSTCkNCgkJew0KCQkJdmFyIHNkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiZGl2Iik7DQoJCQlzZC5pZCA9ICJzdXJ2ZXlEaXZCbG9jayI7DQoJCQlzZC5j
bGFzc05hbWUgPSAic3VydmV5SW52aXRhdGlvbkRpdiI7DQoJCQl2YXIgc2kgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsNCgkJCXNpLnNjcm9sbGlu
ZyA9ICdubyc7DQoJCQlzaS5mcmFtZUJvcmRlciA9IDA7DQoJCQlzaS5uYW1lID0g
ImZtc0ludml0YXRpb24iOw0KCQkJc2kuaWQgPSAiZm1zSW52aXRhdGlvbiI7DQoN
CgkJCWlmICghY29uZmlnKQ0KCQkJew0KCQkJCWlmIChlbnRpdHkuSW52aXRhdGlv
bldpZHRoKQ0KCQkJCXsNCgkJCQkJdmFyIHdpZHRoID0gZW50aXR5Lkludml0YXRp
b25XaWR0aCArICJweCI7DQoJCQkJCXNpLnN0eWxlLndpZHRoID0gd2lkdGg7DQoJ
CQkJCXNkLnN0eWxlLndpZHRoID0gd2lkdGg7DQoJCQkJfQ0KCQkJCXNpLnNyYyA9
IGZ1bGxVUkw7DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJdmFyIHdpZHRoID0g
Y29uZmlnLmludml0YXRpb24ud2lkdGggfHwgKChlbnRpdHkuSW52aXRhdGlvbldp
ZHRoIHx8IDYwMCkgKyAicHgiKTsNCgkJCQlzaS5zdHlsZS53aWR0aCA9IHdpZHRo
Ow0KCQkJCXNkLnN0eWxlLndpZHRoID0gd2lkdGg7DQoNCgkJCQlmdW5jdGlvbiBi
dWlsZFBsdWdpblRyaWdnZXJJbnZpdGF0aW9uKCkNCgkJCQl7DQoJCQkJCS8vIHZl
cmlmeSBleHBsaWNpdCBkb21haW4gYWdhaW4sIGJlY2F1c2UgZG9jdW1lbnQuZG9t
YWluIG1heSBoYXMgYmVlbiBjaGFuZ2VkIGFmdGVyIHRoZSB0cmlnZ2VyIHNuaXBw
ZXQNCgkJCQkJdmFyIGV4cGxpY2l0RG9tYWluID0gKHdpbmRvdy5sb2NhdGlvbi5o
b3N0bmFtZSAhPSBkb2N1bWVudC5kb21haW4pID8gdHJ1ZSA6IGNvbmZpZy5zaXRl
LmV4cGxpY2l0RG9tYWluOw0KDQoJCQkJCXZhciBwYXJ0cyA9IGVudGl0eS5TY2lk
LnNwbGl0KCI7Iik7DQoNCgkJCQkJY29uZmlnLmVudGl0eSA9IGVudGl0eTsNCg0K
CQkJCQl2YXIgc3VydmV5Q29uZmlnID0gew0KCQkJCQkJInRhcmdldCI6ICJTdXJ2
ZXlJbnZpdGF0aW9uQ29udGVudCIsDQoJCQkJCQkidGVtcGxhdGUiOiAiZGVmYXVs
dCIsDQoJCQkJCQkiZW5hYmxlTFRTIjogZmFsc2UsDQoJCQkJCQkic3VydmV5Ijog
ew0KCQkJCQkJCSJob3N0IjogY29uZmlnLmhvc3QsDQoJCQkJCQkJImxhbmd1YWdl
IjogcGFydHNbMV0sDQoJCQkJCQkJImlkIjogcGFydHNbMl0sDQoJCQkJCQkJImlz
UlRMIjogZW50aXR5LklzUlRMLA0KCQkJCQkJCSJmZWF0dXJlcyI6IFsiVGl0bGUs
SW50cm9kdWN0aW9uLCIgKyAoZW50aXR5Lk9wdE91dCA/ICJPcHRPdXQsIiA6ICIi
KSArICJBY2NlcHRCdXR0b24sRGVjbGluZUJ1dHRvbiIsICIiXSwNCgkJCQkJCQki
aXNJbnZpdGF0aW9uIjogMQ0KCQkJCQkJfSwNCgkJCQkJCSJwYXJhbWV0ZXJzIjog
Y29uZmlnLnBhcmFtZXRlcnMsDQoJCQkJCQkic2l0ZSI6IHsNCgkJCQkJCQkibmFt
ZSI6IGNvbmZpZy5zaXRlLm5hbWUsDQoJCQkJCQkJImN1bHR1cmUiOiBjb25maWcu
c2l0ZS5jdWx0dXJlLA0KCQkJCQkJCSJsY2lkIjogY29uZmlnLnNpdGUubGNpZCwN
CgkJCQkJCQkiaWQiOiBwYXJzZUludChjb25maWcuc2l0ZS5pZCkgfHwgMCwNCgkJ
CQkJCQkiYnJhbmQiOiBwYXJzZUludChjb25maWcuc2l0ZS5icmFuZCkgfHwgMCwN
CgkJCQkJCQkidmVyc2lvbiI6IGNvbmZpZy5zaXRlLnZlcnNpb24gfHwgIiIsDQoJ
CQkJCQkJImV4cGxpY2l0RG9tYWluIjogZXhwbGljaXREb21haW4sDQoJCQkJCQkJ
ImNvb2tpZURvbWFpbiI6IGNvbmZpZy5zaXRlLmNvb2tpZURvbWFpbg0KCQkJCQkJ
fSwNCgkJCQkJCSJjb250ZW50Ijogew0KCQkJCQkJCSJ0eXBlIjogY29uZmlnLmNv
bnRlbnQudHlwZSwNCgkJCQkJCQkiaWQiOiBjb25maWcuY29udGVudC5pZCwNCgkJ
CQkJCQkiY3VsdHVyZSI6IGNvbmZpZy5jb250ZW50LmN1bHR1cmUsDQoJCQkJCQkJ
ImxjaWQiOiBjb25maWcuY29udGVudC5sY2lkLA0KCQkJCQkJCSJwcm9wZXJ0aWVz
IjogY29uZmlnLmNvbnRlbnQucHJvcGVydGllcywNCgkJCQkJCQkiYWdncmVnYXRl
SWQiOiBjb25maWcuY29udGVudC5hZ2dyZWdhdGVJZA0KCQkJCQkJfSwNCgkJCQkJ
CSJ0cmlnZ2VyQ29uZmlnIjogY29uZmlnDQoJCQkJCX07DQoNCgkJCQkJdmFyIHN0
eWxlID0gIjxzdHlsZSB0eXBlPVwidGV4dC9jc3NcIj5ib2R5e2RpcmVjdGlvbjoi
ICsgKGVudGl0eS5Jc1JUTCA/ICJydGwiIDogImx0ciIpICsgIn08L3N0eWxlPiI7
DQoJCQkJCXZhciBoZWFkZXIgPSAiPGRpdiBpZD1cImhlYWRlclwiPiIgKyBjb25m
aWcuaW52aXRhdGlvbi5oZWFkZXIgKyAiPC9kaXY+IjsNCgkJCQkJdmFyIGZvb3Rl
ciA9ICI8ZGl2IGlkPVwiZm9vdGVyXCI+IiArIGNvbmZpZy5pbnZpdGF0aW9uLmZv
b3RlciArICI8L2Rpdj4iOw0KCQkJCQl2YXIgc2NyaXB0ID0gZXhwbGljaXREb21h
aW4gPyAoIjxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiPmRvY3VtZW50
LmRvbWFpbj1cIiIgKyBkb2N1bWVudC5kb21haW4gKyAiXCI7PC9zY3JpIiArICJw
dD4iKSA6ICIiOw0KDQoJCQkJCXZhciBpZnJhbWVIdG1sID0gIjwhRE9DVFlQRSBo
dG1sIFBVQkxJQyBcIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwv
L0VOXCIgXCJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10
cmFuc2l0aW9uYWwuZHRkXCI+IiArDQoJCQkJCQkJCQkJCSI8aHRtbD4iICsNCgkJ
CQkJCQkJCQkJCSI8aGVhZD4iICsNCgkJCQkJCQkJCQkJCQlzdHlsZSArDQoJCQkJ
CQkJCQkJCQkJc2NyaXB0ICsNCgkJCQkJCQkJCQkJCSI8L2hlYWQ+IiArDQoJCQkJ
CQkJCQkJCQkiPGJvZHkgc3R5bGU9XCJtYXJnaW46MFwiPiIgKw0KCQkJCQkJCQkJ
CQkJCSI8ZGl2IGlkPVwid3JhcHBlclwiPiIgKw0KCQkJCQkJCQkJCQkJCQloZWFk
ZXIgKw0KCQkJCQkJCQkJCQkJCQkiPGRpdiBpZD1cImNvbnRlbnRcIj4iICsNCgkJ
CQkJCQkJCQkJCQkJCSI8ZGl2IGlkPVwiU3VydmV5SW52aXRhdGlvbkNvbnRlbnRc
Ij48L2Rpdj4iICsNCgkJCQkJCQkJCQkJCQkJIjwvZGl2PiIgKw0KCQkJCQkJCQkJ
CQkJCQlmb290ZXIgKw0KCQkJCQkJCQkJCQkJCSI8L2Rpdj4iICsNCgkJCQkJCQkJ
CQkJCSI8L2JvZHk+IiArDQoJCQkJCQkJCQkJCQkiPHNjcmlwdCB0eXBlPVwidGV4
dC9qYXZhc2NyaXB0XCIgc3JjID0iICsgY29uZmlnLnByb3RvY29sICsgIi8vIiAr
IGNvbmZpZy5ob3N0ICsgIi9jb21tb24vc2NyaXB0L2Z4L3N1cnZleXN0cmFwcGVy
LmpzPjwvc2NyIiArICJpcHQ+IiArDQoJCQkJCQkJCQkJCSI8L2h0bWw+IjsNCg0K
CQkJCQl2YXIgc3JjID0gImFib3V0OmJsYW5rIjsNCg0KCQkJCQlpZiAoZXhwbGlj
aXREb21haW4pDQoJCQkJCXsNCgkJCQkJCWlmICh3aW5kb3cubmF2aWdhdG9yLnVz
ZXJBZ2VudC5pbmRleE9mKCJNU0lFIikgPiAtMSB8fCAod2luZG93Lm9wZXJhICYm
IHBhcnNlRmxvYXQob3BlcmEudmVyc2lvbigpKSA+PSA5LjUpKQ0KCQkJCQkJew0K
CQkJCQkJCU1TLlN1cHBvcnQuRm1zLlN1cnZleVRyaWdnZXIuc3VydmV5Q29uZmln
ID0gc3VydmV5Q29uZmlnOw0KCQkJCQkJCU1TLlN1cHBvcnQuRm1zLlN1cnZleVRy
aWdnZXIuaWZyYW1lSHRtbCA9IGlmcmFtZUh0bWw7DQoJCQkJCQkJc3JjID0gImph
dmFzY3JpcHQ6KGZ1bmN0aW9uKCl7ZG9jdW1lbnQub3BlbigpO2RvY3VtZW50LmRv
bWFpbj1cIiIgKyBkb2N1bWVudC5kb21haW4gKyAiXCI7d2luZG93W1wiX21zX3N1
cHBvcnRfZm1zX3N1cnZleUNvbmZpZ1wiXT13aW5kb3cucGFyZW50Lk1TLlN1cHBv
cnQuRm1zLlN1cnZleVRyaWdnZXIuc3VydmV5Q29uZmlnO2RvY3VtZW50LndyaXRl
KHdpbmRvdy5wYXJlbnQuTVMuU3VwcG9ydC5GbXMuU3VydmV5VHJpZ2dlci5pZnJh
bWVIdG1sKTtkb2N1bWVudC5jbG9zZSgpO30pKCk7IjsNCgkJCQkJCX0NCgkJCQkJ
CWVsc2UgaWYgKHdpbmRvdy5vcGVyYSkNCgkJCQkJCXsNCgkJCQkJCQlzcmMgPSAi
amF2YXNjcmlwdDooZnVuY3Rpb24oKXtkb2N1bWVudC5vcGVuKCk7ZG9jdW1lbnQu
ZG9tYWluPVwiIiArIGRvY3VtZW50LmRvbWFpbiArICJcIjtkb2N1bWVudC5jbG9z
ZSgpO30pKCkiOw0KCQkJCQkJfQ0KCQkJCQl9DQoNCgkJCQkJc2kuc3JjID0gc3Jj
Ow0KCQkJCQljb25maWcuZnVsbFN1cnZleVVybCA9IGZ1bGxVUkw7DQoNCgkJCQkJ
ZnVuY3Rpb24gc2V0dXBJbnZpdGF0aW9uRnJhbWUoKQ0KCQkJCQl7DQoJCQkJCQl0
cnkNCgkJCQkJCXsNCgkJCQkJCQl2YXIgZnJhbWVXaW5kb3cgPSB3aW5kb3dbImZt
c0ludml0YXRpb24iXTsNCgkJCQkJCQl2YXIgZnJhbWVEb2N1bWVudCA9IGZyYW1l
V2luZG93LmRvY3VtZW50Ow0KCQkJCQkJCWZyYW1lRG9jdW1lbnQub3BlbigpOw0K
CQkJCQkJCWZyYW1lV2luZG93WyJfbXNfc3VwcG9ydF9mbXNfc3VydmV5Q29uZmln
Il0gPSBzdXJ2ZXlDb25maWc7DQoJCQkJCQkJZnJhbWVEb2N1bWVudC53cml0ZShp
ZnJhbWVIdG1sKTsNCgkJCQkJCQlmcmFtZURvY3VtZW50LmNsb3NlKCk7DQoJCQkJ
CQl9DQoJCQkJCQljYXRjaCAoZXgpDQoJCQkJCQl7DQoJCQkJCQkJLy8gaWYgZG9j
dW1lbnQuZG9tYWluIHdhcyBjaGFuZ2VkIGFmdGVyIHRyaWdnZXIgc25pcHBldCwg
YWNjZXNzIHRoZSBkb2N1bWVudCBtYXkgY2F1c2UgYW4gZXhjZXB0aW9uDQoJCQkJ
CQl9DQoJCQkJCX0NCg0KCQkJCQlpZiAoKCFleHBsaWNpdERvbWFpbikgfHwgKHdp
bmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIk1TSUUiKSA9PSAtMSkp
DQoJCQkJCXsNCgkJCQkJCXNldHVwSW52aXRhdGlvbkZyYW1lKCk7DQoJCQkJCX0N
CgkJCQl9DQoNCgkJCQkvLyBzZXRUaW1lb3V0IGlzIHJlcXVpcmVkIGhlcmUgdG8g
YWRkcmVzcyBhIGJ1ZyAoNzU4NTUpIG9uIEZpcmVmb3ggMy4wIChub3QgcmVwcm8g
b24gRmlyZWZveCAzLjUpDQoJCQkJd2luZG93LnNldFRpbWVvdXQoYnVpbGRQbHVn
aW5UcmlnZ2VySW52aXRhdGlvbiwgMCk7DQoJCQl9DQoNCgkJCXNkLmFwcGVuZENo
aWxkKHNpKTsNCgkJCWRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChzZCk7DQoN
CgkJCXJldHVybiBzZDsNCgkJfQ0KDQoJCWZ1bmN0aW9uIGhJKG5hbWUsIHZhbHVl
KQ0KCQl7DQoJCQl2YXIgaW5wID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5w
dXQiKTsNCgkJCWlucC50eXBlID0gImhpZGRlbiI7DQoJCQlpbnAubmFtZSA9IG5h
bWU7DQoJCQlpbnAudmFsdWUgPSB2YWx1ZTsNCgkJCXJldHVybiBpbnA7DQoJCX0N
Cg0KCQlmdW5jdGlvbiBkZWNsaW5lU3VydmV5KGVsKQ0KCQl7DQoJCQl3aGlsZSAo
ZWwuY2xhc3NOYW1lICE9ICJzdXJ2ZXlJbnZpdGF0aW9uRGl2IikgZWwgPSBlbC5w
YXJlbnROb2RlOw0KCQkJZWwucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbCk7DQoJ
CX0NCg0KCQlmdW5jdGlvbiBjbG9zZUVub3VnaChpbnQxLCBpbnQyKQ0KCQl7DQoJ
CQlpZiAoTWF0aC5hYnMoaW50MSAtIGludDIpIDw9IG1vdmVtZW50UFgpIHJldHVy
biB0cnVlOw0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJZnVuY3Rpb24gY2Fs
Y1hZKGN1cnJlbnQsIHRhcmdldCkNCgkJew0KCQkJaWYgKCFjbG9zZUVub3VnaChj
dXJyZW50LCB0YXJnZXQpKQ0KCQkJew0KCQkJCXZhciBkZWx0YSA9IGN1cnJlbnQg
LSB0YXJnZXQ7DQoJCQkJdmFyIGRpciA9IGRlbHRhIC8gTWF0aC5hYnMoZGVsdGEp
Ow0KCQkJCXJldHVybiBjdXJyZW50IC0gbW92ZW1lbnRQWCAqIGRpcjsNCgkJCX0N
Cg0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJZnVuY3Rpb24gaXNSVEwoKQ0K
CQl7DQoJCQlpZiAoKCFmaXhlZFBvc2l0aW9uKSAmJiBkb2N1bWVudEVsZW1lbnQu
Y3VycmVudFN0eWxlICYmIGRvY3VtZW50RWxlbWVudC5jdXJyZW50U3R5bGUuYmxv
Y2tEaXJlY3Rpb24gPT0gInJ0bCIpDQoJCQl7DQoJCQkJcmV0dXJuIHRydWU7DQoJ
CQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0KCQl9
DQoNCgkJZnVuY3Rpb24gZ2V0RnJhbWVYKCkNCgkJew0KCQkJdmFyIHggPSBwYXJz
ZUludChpc1JUTCgpID8gc3VydmV5T2JqLnN0eWxlLnJpZ2h0IDogc3VydmV5T2Jq
LnN0eWxlLmxlZnQpOw0KCQkJcmV0dXJuIGlzTmFOKHgpID8gMCA6IHg7DQoJCX0N
Cg0KCQlmdW5jdGlvbiBnZXRGcmFtZVkoKQ0KCQl7DQoJCQl2YXIgeSA9IHBhcnNl
SW50KHN1cnZleU9iai5zdHlsZS50b3ApOw0KCQkJcmV0dXJuIGlzTmFOKHkpID8g
MCA6IHk7DQoJCX0NCg0KCQlmdW5jdGlvbiBnZXRUYXJnZXRGcmFtZVgoKQ0KCQl7
DQoJCQlyZXR1cm4gZ2V0V2luZG93Q2VudGVyWCgpIC0gc3VydmV5V2lkdGggLyAy
Ow0KCQl9DQoNCgkJZnVuY3Rpb24gZ2V0VGFyZ2V0RnJhbWVZKCkNCgkJew0KCQkJ
cmV0dXJuIGdldFdpbmRvd0NlbnRlclkoKSAtIHN1cnZleUhlaWdodCAvIDI7DQoJ
CX0NCg0KCQlmdW5jdGlvbiBzZXRGcmFtZVgoeCkNCgkJew0KCQkJaWYgKGlzUlRM
KCkpDQoJCQl7DQoJCQkJc3VydmV5T2JqLnN0eWxlLnJpZ2h0ID0geCArICJweCI7
DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJc3VydmV5T2JqLnN0eWxlLmxlZnQg
PSB4ICsgInB4IjsNCgkJCX0NCgkJfQ0KDQoJCWZ1bmN0aW9uIHNldEZyYW1lWSh5
KQ0KCQl7DQoJCQlzdXJ2ZXlPYmouc3R5bGUudG9wID0geSArICJweCI7DQoJCX0N
Cg0KCQlmdW5jdGlvbiBtb3ZlRnJhbWVUbyh4LCB5KQ0KCQl7DQoJCQlzZXRGcmFt
ZVgoeCk7DQoJCQlzZXRGcmFtZVkoeSk7DQoJCX0NCg0KCQlmdW5jdGlvbiBnZXRT
Y3JvbGxYKCkNCgkJew0KCQkJaWYgKCFmaXhlZFBvc2l0aW9uKQ0KCQkJew0KCQkJ
CWlmIChpc1JUTCgpKQ0KCQkJCXsNCgkJCQkJcmV0dXJuIChzdGFuZGFyZERvY3Vt
ZW50LnNjcm9sbFdpZHRoIC0gc3RhbmRhcmREb2N1bWVudC5jbGllbnRXaWR0aCAt
IHN0YW5kYXJkRG9jdW1lbnQuc2Nyb2xsTGVmdCk7DQoJCQkJfQ0KCQkJCWVsc2UN
CgkJCQl7DQoJCQkJCXJldHVybiBzdGFuZGFyZERvY3VtZW50LnNjcm9sbExlZnQ7
DQoJCQkJfQ0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCXJldHVybiAwOw0KCQkJ
fQ0KCQl9DQoNCgkJZnVuY3Rpb24gZ2V0U2Nyb2xsWSgpDQoJCXsNCgkJCXJldHVy
biAoIWZpeGVkUG9zaXRpb24pID8gc3RhbmRhcmREb2N1bWVudC5zY3JvbGxUb3Ag
OiAwOw0KCQl9DQoNCgkJZnVuY3Rpb24gZ2V0V2luZG93Q2VudGVyWCgpDQoJCXsN
CgkJCXJldHVybiBNYXRoLnJvdW5kKHN0YW5kYXJkRG9jdW1lbnQuY2xpZW50V2lk
dGggLyAyICsgZ2V0U2Nyb2xsWCgpKTsNCgkJfQ0KDQoJCWZ1bmN0aW9uIGdldFdp
bmRvd0NlbnRlclkoKQ0KCQl7DQoJCQlyZXR1cm4gTWF0aC5yb3VuZChzdGFuZGFy
ZERvY3VtZW50LmNsaWVudEhlaWdodCAvIDIgKyBnZXRTY3JvbGxZKCkpOw0KCQl9
DQoNCgkJZnVuY3Rpb24gYW5pbWF0ZVN1cnZleSgpDQoJCXsNCgkJCWNhbGNGUFMo
KTsNCgkJCXZhciB4ID0gY2FsY1hZKGdldEZyYW1lWCgpLCBnZXRUYXJnZXRGcmFt
ZVgoKSk7DQoJCQl2YXIgeSA9IGNhbGNYWShnZXRGcmFtZVkoKSwgZ2V0VGFyZ2V0
RnJhbWVZKCkpOw0KCQkJaWYgKHggIT0gZmFsc2UgfHwgeSAhPSBmYWxzZSkNCgkJ
CXsNCgkJCQlpZiAoeCAhPSBmYWxzZSkNCgkJCQl7DQoJCQkJCXNldEZyYW1lWCh4
KTsNCgkJCQl9DQoNCgkJCQlpZiAoeSAhPSBmYWxzZSkNCgkJCQl7DQoJCQkJCXNl
dEZyYW1lWSh5KTsNCgkJCQl9DQoNCgkJCQlzZXRUaW1lb3V0KGFuaW1hdGVTdXJ2
ZXksIHN0ZHVyYXRpb24pOw0KCQkJfQ0KCQl9DQoNCgkJZnVuY3Rpb24gZ2V0UG9z
aXRpb25EZWx0YVgoKQ0KCQl7DQoJCQlyZXR1cm4gTWF0aC5hYnMoZ2V0VGFyZ2V0
RnJhbWVYKCkgLSBnZXRGcmFtZVgoKSk7DQoJCX0NCg0KCQlmdW5jdGlvbiBnZXRQ
b3NpdGlvbkRlbHRhWSgpDQoJCXsNCgkJCXJldHVybiBNYXRoLmFicyhnZXRUYXJn
ZXRGcmFtZVkoKSAtIGdldEZyYW1lWSgpKTsNCgkJfQ0KDQoJCWZ1bmN0aW9uIGZi
cChwMSwgcDIpDQoJCXsNCgkJCWlmICghcDEgfHwgcDEgPCAxKQ0KCQkJew0KCQkJ
CXJldHVybiBwMjsNCgkJCX0NCgkJCXJldHVybiBwMTsNCgkJfQ0KDQoJCWZ1bmN0
aW9uIGNhbGNGUFMoKQ0KCQl7DQoJCQl2YXIgeCA9IGdldFBvc2l0aW9uRGVsdGFY
KCk7DQoJCQl2YXIgeSA9IGdldFBvc2l0aW9uRGVsdGFZKCk7DQoNCgkJCWlmICh5
ID4geCkgeCA9IHk7DQoNCgkJCW1vdmVtZW50UFggPSBNYXRoLmNlaWwoeCAvIGZy
YW1lQ291bnQpOw0KCQl9DQoNCgkJd2luZG93LnBsYWNlU3VydmV5ID0gZnVuY3Rp
b24oKQ0KCQl7DQoJCQlzdXJ2ZXlXaWR0aCA9IGZicChzdXJ2ZXlPYmouY2xpZW50
V2lkdGgsIHN1cnZleU9iai5vZmZzZXRXaWR0aCk7DQoJCQlzdXJ2ZXlIZWlnaHQg
PSBmYnAoc3VydmV5T2JqLmNsaWVudEhlaWdodCwgc3VydmV5T2JqLm9mZnNldEhl
aWdodCk7DQoJCQlzZXRGcmFtZVgoZ2V0VGFyZ2V0RnJhbWVYKCkpOw0KCQkJc3Vy
dmV5T2JqLnN0eWxlLnRvcCA9IDA7DQoJCQlzdXJ2ZXlPYmouc3R5bGUudmlzaWJp
bGl0eSA9ICJ2aXNpYmxlIjsNCg0KCQkJaWYgKHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKQ0KCQkJew0KCQkJCXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUi
LCBhbmltYXRlU3VydmV5LCBmYWxzZSk7DQoJCQkJc3VydmV5T2JqLnN0eWxlLnBv
c2l0aW9uID0gImZpeGVkIjsNCgkJCQlmaXhlZFBvc2l0aW9uID0gdHJ1ZTsNCgkJ
CX0NCgkJCWVsc2UgaWYgKHdpbmRvdy5hdHRhY2hFdmVudCkNCgkJCXsNCgkJCQl3
aW5kb3cuYXR0YWNoRXZlbnQoIm9ucmVzaXplIiwgYW5pbWF0ZVN1cnZleSk7DQoJ
CQkJd2luZG93LmF0dGFjaEV2ZW50KCJvbnNjcm9sbCIsIGFuaW1hdGVTdXJ2ZXkp
Ow0KCQkJfQ0KDQoJCQlhbmltYXRlU3VydmV5KCk7DQoJCX0NCg0KCQlmdW5jdGlv
biBwcmVzZW50U3VydmV5KGZ1bGxVUkwpDQoJCXsNCgkJCWRvY3VtZW50RWxlbWVu
dCA9IGRvY3VtZW50LmJvZHkgPyBkb2N1bWVudC5ib2R5IDogZG9jdW1lbnQuZG9j
dW1lbnRFbGVtZW50Ow0KCQkJLy8gdGhpcyBvYmplY3QgaXMgZm9yIGdldHRpbmcg
Y2xpZW50V2lkdGgsIGNsaWVudEhlaWdodCBldGMgaW4gZGlmZmVyZW50IERPQ1RZ
UEVzLg0KCQkJc3RhbmRhcmREb2N1bWVudCA9IElzQmFja0NvbXBhdCgpID8gZG9j
dW1lbnRFbGVtZW50IDogZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Ow0KCQkJaWYg
KGRvY3VtZW50RWxlbWVudCkNCgkJCXsNCgkJCQlzdXJ2ZXlPYmogPSBzdXJ2ZXlE
aXYoZnVsbFVSTCk7DQoJCQl9DQoJCX0NCg0KDQoJCWlmICh0aGlzLnRyaWdnZXJJ
bml0KGZhbHNlKSkNCgkJew0KCQkJdmFyIHRyaWdnZXIgPSB0aGlzOw0KCQkJc2V0
VGltZW91dCgNCgkJCQkJZnVuY3Rpb24gKCkNCgkJCQkJew0KCQkJCQkJaWYgKHRy
aWdnZXIudHJpZ2dlckluaXQodHJ1ZSkpDQoJCQkJCQl7DQoJCQkJCQkJdHJpZ2dl
ci5maXJlVHJpZ2dlcigpOw0KCQkJCQkJfQ0KCQkJCQl9LA0KCQkJCQllbnRpdHku
RGVsYXkNCgkJCQkpOw0KCQl9DQoJCWVsc2UgaWYgKHR5cGVvZiAoYWN0aXZhdGVT
aXRlU3VydmV5KSAhPSAidW5kZWZpbmVkIikNCgkJew0KCQkJYWN0aXZhdGVTaXRl
U3VydmV5KCk7DQoJCX0NCg0KCX0NCn0NCg==

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=search.js
Content-Type: application/x-javascript; name=search.js
Content-Location: http://support.microsoft.com/common/script/gsfx/search.js?80
Content-Transfer-Encoding: Base64

ZnVuY3Rpb24gc3VibWl0U2ltcGxlU2VhcmNoKG4sdCl7dmFyIHU9ZnVuY3Rpb24o
KXtpZihzdXBwb3J0ZWRTaXRlcyYmc3VwcG9ydGVkU2l0ZXMubGVuZ3RoPjApcmV0
dXJuIHN1cHBvcnRlZFNpdGVzW2N1cnJlbnRTaXRlSW5kZXhdfSxpPXUoKSxyO2lm
KGk9PW51bGwpcmV0dXJuO24mJm4ubGVuZ3RoIT0wfHwobj1pLlVybCkscj1pLkNs
aWNrQWN0aW9uO3N3aXRjaChyKXtjYXNlIENsaWNrQWN0aW9uLkZvcm1TdWJtaXQ6
c3JjaF9zZXRjb29raWV2YWwoImxxdWVyeSIsVW5pY29kZUZpeHVwKGVzY2FwZShq
UXVlcnkudHJpbSh0KSkpKSxTdGF0c0RvdE5ldC5ldmVudENvbGxlY3Rpb25JZD1T
ZXRMb2dDb2xsZWN0aW9uQml0KFN0YXRzRG90TmV0LmV2ZW50Q29sbGVjdGlvbklk
LDYpLHNlYXJjaFN1Ym1pdD0xLCQoIiNmcm1zcmNoIikuZ2V0KDApLnN1Ym1pdCgp
O2JyZWFrO2Nhc2UgQ2xpY2tBY3Rpb24uQWpheENhbGw6cmV0dXJuIHNyY2hfc2V0
Y29va2lldmFsKCJscXVlcnkiLFVuaWNvZGVGaXh1cChlc2NhcGUoalF1ZXJ5LnRy
aW0odCkpKSksd2luZG93Ll9ncHMuY2hhbmdlUXVlcnkoe3F1ZXJ5OnR9KSwhMTtj
YXNlIENsaWNrQWN0aW9uLlJlZGlyZWN0OmRlZmF1bHQ6U3RhdHNEb3ROZXQuT3B0
aW9uQ29sbGVjdGlvbklkPVNldExvZ0NvbGxlY3Rpb25CaXQoU3RhdHNEb3ROZXQu
T3B0aW9uQ29sbGVjdGlvbklkLDMzKSxTdGF0c0RvdE5ldC50YXJnZXRVcmw9bit0
LHQ9d2luZG93LmVuY29kZVVSSUNvbXBvbmVudD9lbmNvZGVVUklDb21wb25lbnQo
dCk6T3V0cHV0RW5jb2Rlcl9FbmNvZGVVcmwodCksZG9jdW1lbnQubG9jYXRpb24u
aHJlZj1uK3R9cmV0dXJufWZ1bmN0aW9uIFN1Ym1pdFNlYXJjaChuKXt2YXIgdSxp
LHQscjtlbGVtPSQoIiNmcm1hU3JjaCIpLmdldCgwKS5xdWVyeSxzcmNoX3NldGNv
b2tpZXZhbCgibHF1ZXJ5IixVbmljb2RlRml4dXAoZXNjYXBlKGpRdWVyeS50cmlt
KGVsZW0udmFsdWUpKSkpO2lmKCQoIltuYW1lPWNhdGFsb2ddIikuZ2V0KDApIT1u
dWxsKWZvcihzPTA7czwkKCJbbmFtZT1jYXRhbG9nXSIpLmxlbmd0aDtzKyspaWYo
JCgiW25hbWU9Y2F0YWxvZ10iKS5nZXQocykudHlwZSE9InNlbGVjdC1vbmUiKXtp
ZigkKCJbbmFtZT1jYXRhbG9nXSIpLmdldChzKS5jaGVja2VkKXtpPW4ucXVlcnku
dmFsdWUsaT1qUXVlcnkudHJpbShpKSxpPXdpbmRvdy5lbmNvZGVVUklDb21wb25l
bnQ/ZW5jb2RlVVJJQ29tcG9uZW50KGkpOk91dHB1dEVuY29kZXJfRW5jb2RlVXJs
KGkpO2lmKCQoIltuYW1lPWNhdGFsb2ddIikuZ2V0KHMpLnZhbHVlPT0ibXNjIily
ZXR1cm4gU3RhdHNEb3ROZXQuT3B0aW9uQ29sbGVjdGlvbklkPVNldExvZ0NvbGxl
Y3Rpb25CaXQoU3RhdHNEb3ROZXQuT3B0aW9uQ29sbGVjdGlvbklkLDMzKSx1PW1z
Y29tdXJsK2ksZG9jdW1lbnQubG9jYXRpb24uaHJlZj11LCExO2lmKCQoIltuYW1l
PWNhdGFsb2ddIikuZ2V0KHMpLnZhbHVlPT0ibXNuIilyZXR1cm4gU3RhdHNEb3RO
ZXQuT3B0aW9uQ29sbGVjdGlvbklkPVNldExvZ0NvbGxlY3Rpb25CaXQoU3RhdHNE
b3ROZXQuT3B0aW9uQ29sbGVjdGlvbklkLDMzKSx1PW1zbnVybCtpLFN0YXRzRG90
TmV0LnRhcmdldFVybD11LGRvY3VtZW50LmxvY2F0aW9uLmhyZWY9dSwhMTtzcmNo
X3NldGNvb2tpZXZhbCgiYWRjYXRhbG9nIixlc2NhcGUoJCgiW25hbWU9Y2F0YWxv
Z10iKS5nZXQocykudmFsdWUpKX19ZWxzZSB0PSQoIltuYW1lPWNhdGFsb2ddIiks
dCYmdC5vcHRpb25zJiYocj10Lm9wdGlvbnNbdC5zZWxlY3RlZEluZGV4XS52YWx1
ZSxyIT0iIiYmc3JjaF9zZXRjb29raWV2YWwoImFkY2F0YWxvZyIscikpO2Vsc2Ug
dD0kKCIjY2F0YWxvZyIpLmdldCgwKSx0JiZ0Lm9wdGlvbnMmJihyPXQub3B0aW9u
c1t0LnNlbGVjdGVkSW5kZXhdLnZhbHVlLHIhPSIiJiZzcmNoX3NldGNvb2tpZXZh
bCgiYWRjYXRhbG9nIixyKSk7U2F2ZVNyY2hTdGF0ZSghMCksU3RhdHNEb3ROZXQu
ZXZlbnRDb2xsZWN0aW9uSWQ9U2V0TG9nQ29sbGVjdGlvbkJpdChTdGF0c0RvdE5l
dC5ldmVudENvbGxlY3Rpb25JZCw3KSxQYWdlU3VibWl0PTF9ZnVuY3Rpb24gU2F2
ZVNyY2hTdGF0ZShuKXt2YXIgdCxyLHUsZixlO2lmKFBhZ2VTdWJtaXQ9PT0xKXJl
dHVybjtuPT09ITAmJih0PSQoIiNmcm1hU3JjaCIpLmdldCgwKS5xdWVyeSxzcmNo
X3NldGNvb2tpZXZhbCgibHF1ZXJ5IixVbmljb2RlRml4dXAoZXNjYXBlKGpRdWVy
eS50cmltKHQudmFsdWUpKSkpKSx0PSQoIltuYW1lPWNhdGFsb2ddIiksdCYmdC5s
ZW5ndGgmJnQudHlwZSE9InNlbGVjdC1vbmUiJiZTYXZlUmFkaW9TdGF0ZSh0LCJj
YXRhbG9nIikscj0iIix1PSIiO2lmKGRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1l
KWZvcih0PWRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKCJhc3QiKSxpPTA7aTx0
Lmxlbmd0aDtpKyspe2lmKHRbaV0uZGlzYWJsZWQpY29udGludWU7Zj0kKCIjIit0
W2ldLnZhbHVlKyJyb3ciKS5nZXQoMCksZiYmKGYuc3R5bGUuZGlzcGxheT09ImJs
b2NrInx8Zi5zdHlsZS5kaXNwbGF5PT0iIik/dFtpXS5jaGVja2VkPyhyKz0iYWQi
K3RbaV0udmFsdWUrIj0xfCIsdSs9dFtpXS52YWx1ZSsiLCIpOnIrPSJhZCIrdFtp
XS52YWx1ZSsiPTB8Ijp0W2ldLnZhbHVlPSIifWlmKG9wdEVsZW1zKXtvcHRpb25z
PW9wdEVsZW1zLnNwbGl0KCJ8Iik7aWYob3B0aW9ucyE9bnVsbClmb3IoaT0wO2k8
b3B0aW9ucy5sZW5ndGg7aSsrKXQ9JCgiIyIrb3B0aW9uc1tpXS50b1N0cmluZygp
KS5nZXQoMCksdCYmKGU9JCgiIyIrdC5hdHRyaWJ1dGVzLl9wYXJlbnRpZC52YWx1
ZSkuZ2V0KDApLGUuY2hlY2tlZCYmKHQuY2hlY2tlZD8ocis9ImFkIitvcHRpb25z
W2ldKyI9MXwiLHUrPW9wdGlvbnNbaV0rIiwiKTpyKz0iYWQiK29wdGlvbnNbaV0r
Ij0wfCIpKX1zcmNoX3NldGNvb2tpZXZhbCgiYWRyZXNvdXJjZSIsdSksc3JjaF9z
ZXRjb29raWV2YWwoImFkb3B0IixyKX1mdW5jdGlvbiBJbml0U3JjaCgpe3ZhciBp
LG4scix0O251bGw9PSQoIiNjYXRhbG9nIikuZ2V0KDApJiYobj1kb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJzcGFuIiksbi5pbm5lckhUTUw9IjxpbnB1dCB0eXBlPSdo
aWRkZW4nIGlkPSdjYXRhbG9nJyBuYW1lPSdjYXRhbG9nJyAvPiIsaT0kKCIjZnJt
c3JjaCIpLmdldCgwKSxpLmFwcGVuZENoaWxkKG4pKSxuPSQoIiNnc2Z4X2JzcmNo
X3F1ZXJ5IikuZ2V0KDApLHR2YWw9JC50cmltKCQobikudmFsKCkpIT09IiI/JC50
cmltKCQobikudmFsKCkpOmZldGNoY29va2lldmFsKCJscXVlcnkiKSx0dmFsJiZ0
dmFsIT09IiImJnR2YWwhPT0iYmxhbmsiPyhuLnZhbHVlPXVuZXNjYXBlKFVuaWNv
ZGVGaXh1cChqUXVlcnkudHJpbSh0dmFsKSkpLHNldEtleUJpdChuKSk6JChuKS5i
aW5kKCJrZXlwcmVzcyBwYXN0ZSIsc2V0S2V5Qml0KTtpZihhdmxDYXRhbG9ncy5s
ZW5ndGg9PTApcmV0dXJuO3I9JCgiI2dzZnhfYnNyY2hfY2F0c2VsIGEiKSx0dmFs
PWZldGNoY29va2lldmFsKCJhZGNhdGFsb2ciKTtpZih0dmFsKXtmb3IodHZhbD11
bmVzY2FwZSh0dmFsKSx0PTA7dDxhdmxDYXRhbG9ncy5sZW5ndGg7dCsrKWlmKGF2
bENhdGFsb2dzW3RdLlZhbHVlPT10dmFsKXskKCIjZ3NmeF9jYXRfc2VsX2RpdiIr
dCkuY2xpY2soKTticmVha310PT1hdmxDYXRhbG9ncy5sZW5ndGgmJkNoYW5nZUNh
dFNlbCgwKX1lbHNlIENoYW5nZUNhdFNlbCgwKX1mdW5jdGlvbiBTYXZlU2ltcGxl
U2VhcmNoKG4pe2lmKHNlYXJjaFN1Ym1pdD09MSlyZXR1cm4hMTt2YXIgdD0kKCIj
Z3NmeF9ic3JjaF9xdWVyeSIpO3JldHVybiBzdWJtaXRTaW1wbGVTZWFyY2gobix0
LnZhbCgpKSwhMX1mdW5jdGlvbiBJbml0QVNyY2goKXt2YXIgdCxyLHUsbzskKCIj
U2VhcmNoRGV0YWlscyIpLmNzcygiZGlzcGxheSIsImJsb2NrIiksJCgiI2RpdnNo
b3doaWRlIikuY3NzKCJkaXNwbGF5IiwiYmxvY2siKSwkKCIjc2hvd2hpZGUiKS50
b2dnbGUoZnVuY3Rpb24oKXtyZXR1cm4gJCgiI2RpdnNob3doaWRlIikuYXR0cigi
Y2xhc3MiLCJoaWRlTW9yZSIpLCQoIiNzaG93aGlkZSA+IHNwYW4iKS5odG1sKGhp
ZGVvcHRpb25zKSwkKCIjYXJyb3dpbWciKS5hdHRyKCJzcmMiLGFycm93SW1hZ2Uu
dXApLCQoIi5jYXRhbG9nUmFkaW9MaXN0IikuY3NzKCJtYXJnaW4tYm90dG9tIiwi
MzVweCIpLCQoIi5jYXRhbG9nUmFkaW9MaXN0Iikuc2hvdygpLCExfSxmdW5jdGlv
bigpe3JldHVybiAkKCIjZGl2c2hvd2hpZGUiKS5hdHRyKCJjbGFzcyIsInNob3dN
b3JlIiksJCgiI3Nob3doaWRlICA+IHNwYW4iKS5odG1sKHNob3dvcHRpb25zKSwk
KCIjYXJyb3dpbWciKS5hdHRyKCJzcmMiLGFycm93SW1hZ2UuZG93biksJCgiLmNh
dGFsb2dSYWRpb0xpc3QiKS5jc3MoIm1hcmdpbi1ib3R0b20iLCIwcHgiKSwkKCIu
Y2F0YWxvZ1JhZGlvTGlzdCIpLmhpZGUoKSwhMX0pO3ZhciBuLGY9JCgiI2ZybWFT
cmNoIikuZ2V0KDApLHM9cXVlcnlTdHJpbmcucXVlcnk/cXVlcnlTdHJpbmcucXVl
cnk6IiIsZT1xdWVyeVN0cmluZy5hc3QhPT11bmRlZmluZWQ/cXVlcnlTdHJpbmcu
YXN0OiIiO249Zi5xdWVyeSwkKG4pLmJpbmQoImtleWRvd24iLGZ1bmN0aW9uKG4p
e24ud2hpY2g9PT0xMyYmJCgiI2J0blN1Ym1pdCIpLnRyaWdnZXIoImNsaWNrIil9
KSxzPT0iIiYmKHQ9ZmV0Y2hjb29raWV2YWwoImxxdWVyeSIpLHQ/KG4udmFsdWU9
dW5lc2NhcGUoVW5pY29kZUZpeHVwKGpRdWVyeS50cmltKHQpKSksc2V0S2V5Qml0
KG4pKTokKG4pLmJpbmQoImtleXByZXNzIHBhc3RlIixzZXRLZXlCaXQpKSxtdWx0
aWNhdGFsb2c9ITEsbj1mLmNhdGFsb2c7aWYobiE9bnVsbCl7Zm9yKG4ubGVuZ3Ro
JiZuLnR5cGUhPSJzZWxlY3Qtb25lIj8oSW5pdFJhZGlvKG4sImNhdGFsb2ciKSxt
dWx0aWNhdGFsb2c9ITApOkluaXRTZWxlY3QobiwiY2F0YWxvZyIsImFkIikscj0h
MSxpPTA7aTxuLmxlbmd0aDtpKyspbltpXS5jaGVja2VkJiYocj0hMCk7cnx8KG5b
MF0uY2hlY2tlZD0hMCl9dT1uZXcgT3B0aW9uQ29va2llO2lmKGU9PSIiKWZvcihu
PWRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKCJhc3QiKSxqPTA7ajxuLmxlbmd0
aDtqKyspe2lmKG5bal0uZGlzYWJsZWQpY29udGludWU7dD11WyJhZCIrbltqXS52
YWx1ZV0sdCYmKG5bal0uY2hlY2tlZD10PT09IjAiPyExOiEwKX1lbHNlIG89ZS5z
cGxpdCgiLCIpLCQoIltuYW1lPWFzdF0iKS5lYWNoKGZ1bmN0aW9uKCl7dGhpcy5k
aXNhYmxlZD09PSExJiYkKHRoaXMpLmF0dHIoImNoZWNrZWQiLCQuaW5BcnJheSh0
aGlzLnZhbHVlLG8pPi0xPyEwOiExKX0pO2lmKG9wdEVsZW1zKWZvcihvcHQ9b3B0
RWxlbXMuc3BsaXQoInwiKSxqPTA7ajxvcHQubGVuZ3RoO2orKyluPSQoIiMiK29w
dFtqXS50b1N0cmluZygpKS5nZXQoMCksbiYmKHQ9dVsiYWQiK29wdFtqXV0sdCYm
KG4uY2hlY2tlZD10PT0iMCI/ITE6ITApKX1mdW5jdGlvbiBJbml0U2VsZWN0KG4s
dCxyKXtpZihuIT1udWxsKXt0dmFsPWZldGNoY29va2lldmFsKHIrdCksdD09IlNQ
SUQiJiYodHZhbHx8KHR2YWw9Imdsb2JhbCIpKTtpZih0dmFsKWZvcihpPTA7aTxu
Lm9wdGlvbnMubGVuZ3RoO2krKylpZihuLm9wdGlvbnNbaV0udmFsdWU9PXVuZXNj
YXBlKHR2YWwpKXtuLnNlbGVjdGVkSW5kZXg9aTticmVha319fWZ1bmN0aW9uIFNl
bGVjdFJhZGlvKG4sdCl7aWYodClmb3IoaT0wO2k8bi5sZW5ndGg7aSsrKWlmKG5b
aV0udmFsdWU9PXVuZXNjYXBlKHQpKXtuW2ldLmNoZWNrZWQ9ITAsbltpXS5jbGlj
aygpO2JyZWFrfX1mdW5jdGlvbiBJbml0UmFkaW9FeChuLHQpe3R2YWw9ZmV0Y2hj
b29raWV2YWwoImFkIit0KTtpZih0dmFsKWZvcihpPTA7aTxuLmxlbmd0aDtpKysp
aWYobltpXS52YWx1ZT09dW5lc2NhcGUodHZhbCkpaWYoIW5baV0uZGlzYWJsZWQp
e25baV0uY2hlY2tlZD0hMCxuW2ldLmNsaWNrKCk7YnJlYWt9fWZ1bmN0aW9uIGRp
c2FibGVBbGwobil7aWYobj09bnVsbHx8bj09InVuZGVmaW5lZCJ8fG4udGFnTmFt
ZT09bnVsbHx8bi50YWdOYW1lPT0idW5kZWZpbmVkIilyZXR1cm47bi5kaXNhYmxl
ZD0hMDtmb3IodmFyIHQ9MDt0PG4uY2hpbGROb2Rlcy5sZW5ndGg7dCsrKWRpc2Fi
bGVBbGwobi5jaGlsZE5vZGVzW3RdKX1mdW5jdGlvbiBlbmFibGVBbGwobil7aWYo
bj09bnVsbHx8bj09InVuZGVmaW5lZCJ8fG4udGFnTmFtZT09bnVsbHx8bi50YWdO
YW1lPT0idW5kZWZpbmVkIilyZXR1cm47bi5kaXNhYmxlZD0hMTtmb3IodmFyIHQ9
MDt0PG4uY2hpbGROb2Rlcy5sZW5ndGg7dCsrKWVuYWJsZUFsbChuLmNoaWxkTm9k
ZXNbdF0pfWZ1bmN0aW9uIFNlYXJjaExpdmVDYXRhbG9nKG4sdCl7dmFyIHIsdSxm
LGksZTt0PT0xJiYoU3RhdHNEb3ROZXQuT3B0aW9uQ29sbGVjdGlvbklkPVNldExv
Z0NvbGxlY3Rpb25CaXQoU3RhdHNEb3ROZXQuT3B0aW9uQ29sbGVjdGlvbklkLDUz
KSksdD09MiYmKFN0YXRzRG90TmV0Lk9wdGlvbkNvbGxlY3Rpb25JZD1TZXRMb2dD
b2xsZWN0aW9uQml0KFN0YXRzRG90TmV0Lk9wdGlvbkNvbGxlY3Rpb25JZCw1NCkp
LCQoIiNsc2MiKS5nZXQoMCkudmFsdWU9dDtpZih0PT0yKXJldHVybiByPSQoIiNj
YXRhbG9nIikuZ2V0KDApLHImJnIub3B0aW9ucyYmKHU9ci5vcHRpb25zW3Iuc2Vs
ZWN0ZWRJbmRleF0udmFsdWUsdSE9IiImJnNyY2hfc2V0Y29va2lldmFsKCJhZGNh
dGFsb2ciLHUpKSxlPSQoIiNmcm1hU3JjaCIpLmdldCgwKS5xdWVyeSxpPSQoIiNm
cm1hU3JjaCIpLmdldCgwKS5xdWVyeS52YWx1ZSxpPWpRdWVyeS50cmltKGkpLGk9
d2luZG93LmVuY29kZVVSSUNvbXBvbmVudD9lbmNvZGVVUklDb21wb25lbnQoaSk6
T3V0cHV0RW5jb2Rlcl9FbmNvZGVVcmwoaSksZj1tc251cmwraSxkb2N1bWVudC5s
b2NhdGlvbi5ocmVmPWYsITE7U3VibWl0U2VhcmNoKG4pLCQoIiNmcm1hU3JjaCIp
LmdldCgwKS5zdWJtaXQoKX1mdW5jdGlvbiBnc2Z4X2JzcmNoX2NoYW5nZUNhdFNl
bGVjdGlvbihuKXtDaGFuZ2VDYXRTZWwobiksc3JjaF9zZXRjb29raWV2YWwoImFk
Y2F0YWxvZyIsZXNjYXBlKGF2bENhdGFsb2dzW25dLlZhbHVlKSl9ZnVuY3Rpb24g
Q2hhbmdlQ2F0U2VsKG4peyQoIiNjYXRhbG9nIikuZ2V0KDApLnZhbHVlPWF2bENh
dGFsb2dzW25dLlZhbHVlO2lmKG49PWN1cnJlbnRDYXRTZWxJbmR4KXJldHVybjsk
KCIjZ3NmeF9jYXRfc2VsX2RpdiIrbikuY3NzKHsiZm9udC13ZWlnaHQiOiJib2xk
IixjdXJzb3I6ImRlZmF1bHQifSksJCgiI2dzZnhfY2F0X3NlbF9pbWciK24pLmNz
cyh7ZGlzcGxheToiYmxvY2sifSksJCgiI2dzZnhfY2F0X3NlbF9kaXYiK2N1cnJl
bnRDYXRTZWxJbmR4KS5jc3MoeyJmb250LXdlaWdodCI6Im5vcm1hbCIsY3Vyc29y
OiJwb2ludGVyIn0pLCQoIiNnc2Z4X2NhdF9zZWxfaW1nIitjdXJyZW50Q2F0U2Vs
SW5keCkuY3NzKHtkaXNwbGF5OiJub25lIn0pLGN1cnJlbnRDYXRTZWxJbmR4PW59
ZnVuY3Rpb24gc2VsZWN0RHJvcERvd25JdGVtKG4sdCxpKXtmb3IodmFyIHI9MDty
PG4ubGVuZ3RoO3IrKylpZihuW3JdLnZhbHVlPT10KXJldHVybiBuW3JdLnNlbGVj
dGVkPSEwLGkhPW51bGwmJmkobikscjtyZXR1cm4tMX1mdW5jdGlvbiBDYXRhbG9n
T3B0aW9uX2NsaWNrKG4pe3ZhciByLGksZSxmLHU7dHJ5e2ZvcihyPSQoImlucHV0
IiksaT0wO2k8ci5sZW5ndGg7aSsrKXtlPXJbaV0uYXR0cmlidXRlcy5fcGFyZW50
aWQ7aWYoZSE9bnVsbCYmZSE9InVuZGVmaW5lZCImJmUhPSIiKWlmKGUudmFsdWU9
PW4uaWQpZm9yKHJbaV0uZGlzYWJsZWQ9bi5jaGVja2VkPyExOiEwLGY9cltpXS5w
YXJlbnROb2RlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJhIiksdT0wO3U8Zi5sZW5n
dGg7dSsrKWVuYWJsZV9saW5rKGZbdV0pO2Vsc2UgZm9yKHJbaV0uZGlzYWJsZWQ9
ITAsZj1yW2ldLnBhcmVudE5vZGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKSx1
PTA7dTxmLmxlbmd0aDt1KyspZGlzYWJsZV9saW5rKGZbdV0pfX1jYXRjaChvKXt9
fWZ1bmN0aW9uIGRpc2FibGVfbGluayhuKXtpZigkKG4pLmlzKCI6dmlzaWJsZSIp
KXt2YXIgdD0kKG4pLm5leHQoInNwYW5bbmFtZT1zcGFuX3BsYWNlaG9sZGVyXSIp
O3QubGVuZ3RoP3Quc2hvdygpOiQobikuYWZ0ZXIoJzxzcGFuIG5hbWU9InNwYW5f
cGxhY2Vob2xkZXIiIHN0eWxlPSJjb2xvcjpncmF5Ij4nKyQudHJpbSgkKG4pLmh0
bWwoKSkrIjwvc3Bhbj4iKSwkKG4pLmhpZGUoKX19ZnVuY3Rpb24gZW5hYmxlX2xp
bmsobil7JChuKS5pcygiOmhpZGRlbiIpJiYoJChuKS5uZXh0KCJzcGFuW25hbWU9
c3Bhbl9wbGFjZWhvbGRlcl0iKS5oaWRlKCksJChuKS5zaG93KCkpfWZ1bmN0aW9u
IFNhdmVSYWRpb1N0YXRlKG4sdCl7Zm9yKGk9MDtpPG4ubGVuZ3RoO2krKyluW2ld
LmNoZWNrZWQmJnNyY2hfc2V0Y29va2lldmFsKCJhZCIrdCxlc2NhcGUobltpXS52
YWx1ZSkpfWZ1bmN0aW9uIFNpdGUobix0LGkscil7cmV0dXJue05hbWU6bixVcmw6
dCxTZWxlY3RlZDppLENsaWNrQWN0aW9uOnJ9fWZ1bmN0aW9uIENhdGFsb2cobix0
LGkpe3JldHVybntOYW1lOm4sVmFsdWU6dCxTZWxlY3RlZDppfX1mdW5jdGlvbiBB
ZGRHcHNTZWFyY2hUb1NlYXJjaE9wdGlvbnMobix0KXt2YXIgaT0hMSxyOyQoc3Vw
cG9ydGVkU2l0ZXMpLmVhY2goZnVuY3Rpb24oKXt0aGlzLlVybD09PXQmJihpPSEw
LHRoaXMuTmFtZT1uKX0pLGl8fCgkKHN1cHBvcnRlZFNpdGVzKS5lYWNoKGZ1bmN0
aW9uKCl7dGhpcy5TZWxlY3RlZD0hMX0pLHN1cHBvcnRlZFNpdGVzPSQubWVyZ2Uo
W25ldyBTaXRlKG4sdCwhMCxDbGlja0FjdGlvbi5BamF4Q2FsbCldLHN1cHBvcnRl
ZFNpdGVzKSxjdXJyZW50U2l0ZUluZGV4PTApLHI9SW5pdGlhbFNlYWNoT3B0aW9u
cygpLCQoIiNnc2Z4X2JzcmNoX29wdGlvbnNfc3ViY250ciIpLnJlcGxhY2VXaXRo
KHIpfWZ1bmN0aW9uIHJlbW92ZUdwc1NlYXJjaEZyb21TZWFyY2hPcHRpb25zKG4p
e3ZhciB0PSExLGk9ITEscjtzdXBwb3J0ZWRTaXRlcz0kLm1hcChzdXBwb3J0ZWRT
aXRlcyxmdW5jdGlvbihyKXtpZihyLlVybD09PW4pe3Q9ITA7cmV0dXJufXJldHVy
biByLlNlbGVjdGVkJiYoaT0hMCkscn0pLHQmJihpfHwoc3VwcG9ydGVkU2l0ZXNb
MF0uU2VsZWN0ZWQ9ITApLHI9SW5pdGlhbFNlYWNoT3B0aW9ucygpLCQoIiNnc2Z4
X2JzcmNoX29wdGlvbnNfc3ViY250ciIpLnJlcGxhY2VXaXRoKHIpKX1mdW5jdGlv
biBJbml0aWFsU2VhY2hPcHRpb25zKCl7dmFyIGk9ZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiRElWIiksZixyLG4sdSx0LGU7Zm9yKGkuaWQ9ImdzZnhfYnNyY2hfb3B0
aW9uc19zdWJjbnRyIixmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIkRJViIpLHI9
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiRElWIiksci5pZD0iZ3NmeF9zcmNoc2l0
ZW5hbWVfZGl2IixyLmNsYXNzTmFtZT0iZ3NmeF9zcmNoc2l0ZW5hbWVfY290bnIi
LG49MDtuPHN1cHBvcnRlZFNpdGVzLmxlbmd0aDtuKyspdT1yLmNsb25lTm9kZSgh
MCksdS5pZCs9bix1LmlubmVySFRNTD1zdXBwb3J0ZWRTaXRlc1tuXS5OYW1lLHQ9
Zi5jbG9uZU5vZGUoITApLGU9biwkKHQpLmJpbmQoImNsaWNrIix7aW5kZXg6ZX0s
Q2hhbmdlU2l0ZVNlbGVjdGlvbiksc3VwcG9ydGVkU2l0ZXNbbl0uU2VsZWN0ZWQ/
KCQodCkuYXR0cigiY2xhc3MiLCJUb3BTZWFyY2hPcHRpb25zU2VsZWN0ZWQiKSxD
aGFuZ2VGb3JtQWN0aW9uKG4pKTokKHQpLmF0dHIoImNsYXNzIiwiVG9wU2VhcmNo
T3B0aW9uc0RlZmF1bHQiKSx0LmFwcGVuZENoaWxkKHUpLGkuYXBwZW5kQ2hpbGQo
dCk7cmV0dXJuICQoaSkud2lkdGgoJCgiI2dzZnhfYnNyY2hfZGl2UXVlcnkiKS53
aWR0aCgpKSxpfWZ1bmN0aW9uIENyZWF0ZVNlYXJjaE9wdGlvbnMobix0KXt2YXIg
ZSxpLHIsZix1O29wdENvbnRhaW5lcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJE
SVYiKSxvcHRDb250YWluZXIuaWQ9ImdzZnhfYnNyY2hfb3B0aW9ucyIsZT1Jbml0
aWFsU2VhY2hPcHRpb25zKCksb3B0Q29udGFpbmVyLmFwcGVuZENoaWxkKGUpLGk9
JCgiaHRtbCIpLmNzcygiZGlyZWN0aW9uIik9PSJydGwiLHI9JCgiI2dzZnhfYnNy
Y2hfYmdfaWU2IikuZ2V0KDApLGlzSUU2PSQoIiNnc2Z4X2JzcmNoX2JnX2llNiIp
Lmxlbmd0aD4wLGlzSUU2JiYoci5zdHlsZS5sZWZ0PWk/JCgiI2dzZnhfYnNyY2hf
YmciKS5nZXQoMCkub2Zmc2V0TGVmdCs0OiQoIiNnc2Z4X2JzcmNoX2JnIikuZ2V0
KDApLm9mZnNldExlZnQtMixyLnN0eWxlLmRpc3BsYXk9ImJsb2NrIiksZj0kKCIj
IituKS5nZXQoMCksZj8oZi5hcHBlbmRDaGlsZChvcHRDb250YWluZXIpLCQoIiMi
K24rIiA+IDpmaXJzdC1jaGlsZCIpLmNzcyh7ImJvcmRlci1ib3R0b20iOiIwcHgi
LCJib3JkZXItY29sb3IiOiIjOTk5OTk5IiwibWFyZ2luLXRvcCI6IjBweCJ9KSxp
JiYkKCIjIituKyIgPiA6Zmlyc3QtY2hpbGQiKS5jc3MoeyJtYXJnaW4tcmlnaHQi
OiItMXB4In0pLCQoIiMiK24rIiA+IDpmaXJzdC1jaGlsZCIpLmNzcyh7ImJhY2tn
cm91bmQtY29sb3IiOiIjZmZmZmZmIn0pLCQoIiMiK24pLmNzcyh7Im1hcmdpbi1s
ZWZ0IjoiLTFweCIsaGVpZ2h0OiIwcHgifSksdT1NUy5TdXBwb3J0LkFDP01TLlN1
cHBvcnQuQUMuQUNBcnJheUVsKCJnc2Z4X2JzcmNoX3F1ZXJ5Iik6bnVsbCx1JiYo
dS5vcHRpb25zLmhhbmRsZVJlc2l6ZT1SZXNpemVTaXRlT3B0cyx1Lm9wdGlvbnMu
YWNNaW5XaWR0aD10KSk6KCQob3B0Q29udGFpbmVyKS5pbnNlcnRCZWZvcmUoIiNn
c2Z4X2JzcmNoX3F1ZXJ5IiksaT8kKG9wdENvbnRhaW5lcikuY3NzKHtwb3NpdGlv
bjoicmVsYXRpdmUiLHRvcDokKCIjZ3NmeF9ic3JjaF9kaXZRdWVyeSIpLmdldCgw
KS5vZmZzZXRIZWlnaHQrInB4IixmbG9hdDoicmlnaHQifSk6JChvcHRDb250YWlu
ZXIpLmNzcyh7dG9wOiQoIiNnc2Z4X2JzcmNoX2RpdlF1ZXJ5IikuZ2V0KDApLm9m
ZnNldEhlaWdodCsicHgiLGxlZnQ6Ii0xcHgifSkpLCQoIiNnc2Z4X2JzcmNoX3F1
ZXJ5IikuYmluZCgiZm9jdXMiLGZ1bmN0aW9uKG4pe0hhbmRsZVF1ZXJ5Rm9jdXMo
biksJCgiI2FjTGlzdFdyYXBwZXJnc2Z4X2JzcmNoX3F1ZXJ5Iikuc2hvdygpfSks
JCgiI2dzZnhfYnNyY2hfYnRuaW1nIikubGl2ZSgiZm9jdXMiLGZ1bmN0aW9uKCl7
JCgiI2FjTGlzdFdyYXBwZXJnc2Z4X2JzcmNoX3F1ZXJ5Iikuc2hvdygpLCQoIiNn
c2Z4X2JzcmNoX29wdGlvbnMiKS5zaG93KCksJCgiI2dzZnhfYnNyY2hfb3B0aW9u
c19zdWJjbnRyIDplcShjdXJyZW50U2l0ZUluZGV4KSIpLnNob3coKX0pLCQoIiNn
c2Z4X2JzcmNoX2J0bmltZyIpLmxpdmUoImJsdXIiLGZ1bmN0aW9uKCl7JCgiI2Fj
TGlzdFdyYXBwZXJnc2Z4X2JzcmNoX3F1ZXJ5IikuaGlkZSgpfSksJCgiI2dzZnhf
YnNyY2hfcXVlcnkiKS5iaW5kKCJjbGljay5zcmNoc2l0ZW9wdHMiLGZ1bmN0aW9u
KG4pe0hhbmRsZVF1ZXJ5Rm9jdXMobiksJCgiI2dzZnhfYnNyY2hfcXVlcnkiKS51
bmJpbmQoImNsaWNrLnNyY2hzaXRlb3B0cyIpfSksJCgiI2dzZnhfYnNyY2hfcXVl
cnkiKS5iaW5kKCJrZXlkb3duLnNyY2hzaXRlb3B0cyIsZnVuY3Rpb24obil7SGFu
ZGxlS2V5ZG93bihuKTtpZigkKCIjYWNMaXN0V3JhcHBlcmdzZnhfYnNyY2hfcXVl
cnkgOmZpcnN0LWNoaWxkIikuY3NzKCJ2aXNpYmlsaXR5Iik9PT0iaGlkZGVuIil7
dmFyIHQ9LTE7aWYobi53aGljaD09NDApe3Q9Y3VycmVudFNpdGVJbmRleCsxO2lm
KHQ+PXN1cHBvcnRlZFNpdGVzLmxlbmd0aClyZXR1cm59ZWxzZSBpZihuLndoaWNo
PT0zOCl7dD1jdXJyZW50U2l0ZUluZGV4LTE7aWYodDwwKXJldHVybn10IT0tMSYm
KCQoIiNnc2Z4X3NyY2hzaXRlbmFtZV9kaXYiK3QpLnBhcmVudCgpLmF0dHIoImNs
YXNzIiwiVG9wU2VhcmNoT3B0aW9uc1NlbGVjdGVkIiksJCgiI2dzZnhfc3JjaHNp
dGVuYW1lX2RpdiIrY3VycmVudFNpdGVJbmRleCkucGFyZW50KCkuYXR0cigiY2xh
c3MiLCJUb3BTZWFyY2hPcHRpb25zRGVmYXVsdCIpLHN1cHBvcnRlZFNpdGVzW2N1
cnJlbnRTaXRlSW5kZXhdLlNlbGVjdGVkPSExLHN1cHBvcnRlZFNpdGVzW3RdLlNl
bGVjdGVkPSEwLGN1cnJlbnRTaXRlSW5kZXg9dCl9aWYobi53aGljaD09PTEzKXJl
dHVybiBTYXZlU2ltcGxlU2VhcmNoKCl9KSwkKGRvY3VtZW50KS5iaW5kKCJjbGlj
ay5zcmNoc2l0ZW9wdHMiLGZ1bmN0aW9uKG4pe1NpbXBsZVNlYXJjaENsaWNrSGFu
ZGxlcihuKX0pfWZ1bmN0aW9uIFNpbXBsZVNlYXJjaENsaWNrSGFuZGxlcihuKXt2
YXIgdCxyLGksdTtpZighbnx8IW4udGFyZ2V0KXJldHVybjt0PW4udGFyZ2V0O2lm
KCQodCkuaGFzQ2xhc3MoImdzZnhfaW1nX3BuZyIpKXJldHVybjtyPSQoIiNnc2Z4
X2JzcmNoX2RpdlF1ZXJ5IikuZ2V0KDApLGk9dD09cixpfHwoaT1Jc0NoaWxkKHQs
cikpLGk/KEhpZGVMYW5nU2VsKCksJChvcHRDb250YWluZXIpLmNzcyh7ZGlzcGxh
eToiYmxvY2sifSkpOiQob3B0Q29udGFpbmVyKS5jc3Moe2Rpc3BsYXk6Im5vbmUi
fSk7aWYoYXZsQ2F0YWxvZ3MubGVuZ3RoPT0wKXJldHVybjtpZih0PT0kKCIjZ3Nm
eF9jYXRfc2VsIikuZ2V0KDApKXJldHVybjt1PUlzQ2hpbGQodCwkKCIjZ3NmeF9j
YXRfc2VsIikuZ2V0KDApLDMpLHV8fEhpZGVMYW5nU2VsKCl9ZnVuY3Rpb24gSXND
aGlsZChuLHQsaSl7dmFyIHU7aWYoIW4pcmV0dXJuITE7dT0hMSxpfHwoaT02KTt2
YXIgcj1uLnBhcmVudE5vZGUsZj0wLGU9ITE7d2hpbGUociYmaT5mKXtpZihyPT10
KXt1PSEwO2JyZWFrfXI9JChyKS5wYXJlbnQoKS5nZXQoMCksZisrfXJldHVybiB1
fWZ1bmN0aW9uIFJlc2l6ZVNpdGVPcHRzKG4pe29wdENvbnRhaW5lci5zdHlsZS50
b3A9bi5zdHlsZS52aXNpYmlsaXR5IT0iaGlkZGVuIiYmbi5jaGlsZE5vZGVzLmxl
bmd0aD4wPyQobikuZ2V0KDApLmNsaWVudEhlaWdodCsicHgiOjAsbi5zdHlsZS52
aXNpYmlsaXR5IT0iaGlkZGVuIj8kKG9wdENvbnRhaW5lcikuY3NzKHtkaXNwbGF5
OiJibG9jayJ9KTokKGRvY3VtZW50KS5nZXQoMCkuYWN0aXZlRWxlbWVudCE9JCgi
I2dzZnhfYnNyY2hfcXVlcnkiKS5nZXQoMCkmJiQob3B0Q29udGFpbmVyKS5jc3Mo
e2Rpc3BsYXk6Im5vbmUifSl9ZnVuY3Rpb24gSGFuZGxlS2V5ZG93bihuKXtpZihu
LmtleUNvZGU9PTkpaWYoJChvcHRDb250YWluZXIpLnByZXYoKS5nZXQoMCk9PW51
bGx8fCQob3B0Q29udGFpbmVyKS5wcmV2KCkuY3NzKCJ2aXNpYmlsaXR5Iik9PSJo
aWRkZW4iKXskKG9wdENvbnRhaW5lcikuY3NzKHtkaXNwbGF5OiJub25lIn0pO3Jl
dHVybn1pZihuLmtleUNvZGU9PTEzKXJldHVybjtIYW5kbGVRdWVyeUZvY3VzKG4p
fWZ1bmN0aW9uIEhhbmRsZVF1ZXJ5Rm9jdXMobil7aWYobi50eXBlPT0iZm9jdXMi
JiZwcmV2RWxlbWVudD09bi50YXJnZXQpcmV0dXJuO0hpZGVMYW5nU2VsKCksJChv
cHRDb250YWluZXIpLmNzcyh7ZGlzcGxheToiYmxvY2sifSl9ZnVuY3Rpb24gQ2hh
bmdlU2l0ZVNlbGVjdGlvbihuKXt2YXIgdD1uLmRhdGEuaW5kZXg7Q2hhbmdlRm9y
bUFjdGlvbih0KTtpZihzdXBwb3J0ZWRTaXRlc1t0XS5TZWxlY3RlZClyZXR1cm47
JCgiI2dzZnhfc3JjaHNpdGVuYW1lX2RpdiIrdCkucGFyZW50KCkuYXR0cigiY2xh
c3MiLCJUb3BTZWFyY2hPcHRpb25zU2VsZWN0ZWQiKSwkKCIjZ3NmeF9zcmNoc2l0
ZW5hbWVfZGl2IitjdXJyZW50U2l0ZUluZGV4KS5wYXJlbnQoKS5hdHRyKCJjbGFz
cyIsIlRvcFNlYXJjaE9wdGlvbnNEZWZhdWx0Iiksc3VwcG9ydGVkU2l0ZXNbY3Vy
cmVudFNpdGVJbmRleF0uU2VsZWN0ZWQ9ITEsc3VwcG9ydGVkU2l0ZXNbdF0uU2Vs
ZWN0ZWQ9ITAsY3VycmVudFNpdGVJbmRleD10fWZ1bmN0aW9uIEluaXRDYXRMYW5n
U2VsKCl7dmFyIGk9JCgiI2dzZnhfY2F0X3NlbCIpLHQ9JCgiI2dzZnhfY2F0X3Nl
bF9idG4iKSxuPSQoIiNnc2Z4X2NhdF9zZWxfYnRuIGltZyIpOyRwYW5lbD0kKCIj
Z3NmeF9jYXRfc2VsX2NudG5yIik7aWYodC5sZW5ndGg9PT0wfHwkcGFuZWwubGVu
Z3RoPT09MClyZXR1cm47aWYoYXZsQ2F0YWxvZ3MmJmF2bENhdGFsb2dzLmxlbmd0
aDw9MSl7JGNvbnRhaW5lci5oaWRlKCk7cmV0dXJufXQuY2xpY2soZnVuY3Rpb24o
dCl7JHBhbmVsLmNzcygidG9wIixuWzBdLmhlaWdodCsicHgiKSwkKG9wdENvbnRh
aW5lcikuaGlkZSgpLCRwYW5lbC50b2dnbGUoKSxTaW1wbGVTZWFyY2hDbGlja0hh
bmRsZXIodCl9KSxuLmF0dHIoImhvdmVyLXNyYyIpJiYobi5hdHRyKCJub3JtYWwt
c3JjIixuLmF0dHIoInNyYyIpKSx0LmhvdmVyKGZ1bmN0aW9uKCl7bi5hdHRyKCJz
cmMiLG4uYXR0cigiaG92ZXItc3JjIikpfSxmdW5jdGlvbigpe24uYXR0cigic3Jj
IixuLmF0dHIoIm5vcm1hbC1zcmMiKSl9KSksJHBhbmVsLndpZHRoKCQoIiNnc2Z4
X2JzcmNoX3F1ZXJ5IikucGFyZW50KCkud2lkdGgoKS8yK3Qud2lkdGgoKSszNSks
aS5zaG93KCl9ZnVuY3Rpb24gSGlkZUxhbmdTZWwoKXskcGFuZWw9JCgiI2dzZnhf
Y2F0X3NlbF9jbnRuciIpLmhpZGUoKX1mdW5jdGlvbiBDYWxsV2ViU2VhcmNoKG4s
dCl7dmFyIGk9JCgiI2ZybWFTcmNoIikuZ2V0KDApLHI9aS5xdWVyeTtpZigkLnRy
aW0oJChyKS52YWwoKSkubGVuZ3RoPT0wKXtTdGF0c0RvdE5ldC5PcHRpb25Db2xs
ZWN0aW9uSWQ9U2V0TG9nQ29sbGVjdGlvbkJpdChTdGF0c0RvdE5ldC5PcHRpb25D
b2xsZWN0aW9uSWQsMzMpLFN0YXRzRG90TmV0LnRhcmdldFVybD1uLGRvY3VtZW50
LmxvY2F0aW9uLmhyZWY9bjtyZXR1cm59U2F2ZVNpbXBsZVNlYXJjaCh0KX12YXIg
Y2xpY2tlZD0hMSxleHRyYU9wPSIiLHN1cHBvcnRlZFNpdGVzPVtdLGN1cnJlbnRT
aXRlSW5kZXg9MCxhdmxDYXRhbG9ncz1bXSxjdXJyZW50Q2F0U2VsSW5keD0tMSxv
cHRDb250YWluZXI9bnVsbCxpc0lFNj0hMSxwcmV2RWxlbWVudD1udWxsLHNlYXJj
aFN1Ym1pdD0wLE1pY3Jvc29mdD13aW5kb3cuTWljcm9zb2Z0fHx7fSxDbGlja0Fj
dGlvbixnc2Z4X2JzcmNoX0luaXRDYXRTZWxlY3Rpb24sQ2hhbmdlRm9ybUFjdGlv
bjtNaWNyb3NvZnQuU3VwcG9ydD1NaWNyb3NvZnQuU3VwcG9ydHx8e30sTWljcm9z
b2Z0LlN1cHBvcnQuR1NTPU1pY3Jvc29mdC5TdXBwb3J0LkdTU3x8e30sTWljcm9z
b2Z0LlN1cHBvcnQuR1NTLkdwc1NlYXJjaD1mdW5jdGlvbihuLHQpe3ZhciByPXtn
cHNTZWFyY2hDb3VudFBlclBhZ2U6NSxsYW5ndWFnZToiZW4tdXMifSxpPSQuZXh0
ZW5kKCEwLHt9LHIsdCk7dGhpcy5jYWxsU2VydmljZT1mdW5jdGlvbih0KXt2YXIg
Zj0iMS0iK2kuZ3BzU2VhcmNoQ291bnRQZXJQYWdlLHI9cGFyc2VJbnQodCksZSxv
LHU7cj4wJiYoZT0oci0xKSo1KzEsbz1yKmkuZ3BzU2VhcmNoQ291bnRQZXJQYWdl
LGY9ZSsiLSIrbyksJCgiLmxvYWRpbmctcGFuZWwiLG4pLmNzcygiZGlzcGxheSIs
ImJsb2NrIiksJCgiLnVwZGF0ZS1wYW5lbCIsbikuY3NzKCJkaXNwbGF5Iiwibm9u
ZSIpLCQoIi5lcnJvci1wYW5lbCIsbikuY3NzKCJkaXNwbGF5Iiwibm9uZSIpLHU9
d2luZG93Ll93YXlmaW5kZXIuZ2V0Q3VycmVudFByb2R1Y3QoKSwkLmFqYXgoe3Vy
bDoiL0d1aWRlZFByb2JsZW1Tb2x2aW5nL0d1aWRlZFByb2JsZW1Tb2x2aW5nU2Vy
dmljZS5zdmMvR2V0R1BTUGFnZUNvbnRlbnQiLGNhY2hlOiExLHR5cGU6ImdldCIs
ZGF0YVR5cGU6Impzb24iLGRhdGE6e3F1ZXJ5OiQucGFyYW0oe3F1ZXJ5OiQoIiNn
c2Z4X2JzcmNoX3F1ZXJ5IikudmFsKCl9KSxsYW5nOmkubGFuZ3VhZ2UsbW9kYWxp
dHlUeXBlOndpbmRvdy5fd2F5ZmluZGVyLmdldEN1cnJlbnRNb2RhbGl0eSgpLnR5
cGUscmFuZ2U6ZixwYXRoOnU/dS5nZXRQYXRoKCk6IiJ9LHN1Y2Nlc3M6ZnVuY3Rp
b24odCl7aWYodHlwZW9mIHQ9PSJ1bmRlZmluZWQifHx0PT09bnVsbCl7JCgiLmVy
cm9yLXBhbmVsIixuKS5jc3MoImRpc3BsYXkiLCJibG9jayIpLCQoIi5sb2FkaW5n
LXBhbmVsIixuKS5jc3MoImRpc3BsYXkiLCJub25lIik7cmV0dXJufSQobikucGFy
ZW50KCkuaHRtbCh0LmQpfSxlcnJvcjpmdW5jdGlvbigpeyQoIi5lcnJvci1wYW5l
bCIsbikuY3NzKCJkaXNwbGF5IiwiYmxvY2siKSwkKCIubG9hZGluZy1wYW5lbCIs
bikuY3NzKCJkaXNwbGF5Iiwibm9uZSIpO3JldHVybn19KX19LENsaWNrQWN0aW9u
PXtSZWRpcmVjdDowLEFqYXhDYWxsOjEsRm9ybVN1Ym1pdDoyfSxnc2Z4X2JzcmNo
X0luaXRDYXRTZWxlY3Rpb249ZnVuY3Rpb24obix0KXt2YXIgZj11bmVzY2FwZShm
ZXRjaGNvb2tpZXZhbCgiYWRjYXRhbG9nIikpLGU9MCxvPSExLHUscixpO2lmKGYp
e3U9JCgiI2dzZnhfYnNyY2hfY2F0c2VsIikuZ2V0KDApO2lmKHUpe2ZvcihyPTA7
cjx1LmNoaWxkTm9kZXMubGVuZ3RoO3IrKyl7aT11LmNoaWxkTm9kZXNbcl07aWYo
aSYmaS50YWdOYW1lJiZpLmdldEF0dHJpYnV0ZSgiY2F0YWxvZyIpKXtpZihpLmdl
dEF0dHJpYnV0ZSgiY2F0YWxvZyIpPT1mKXtpLmNsYXNzTmFtZSs9IiBnc2Z4X2Jz
cmNoX2hpZ2hsaWdodCI7dHJ5e01TLlN1cHBvcnQuQUMuQUNDaGFuZ2VDaGFyU3Rh
cnQobix0LnNwbGl0KCI6IilbZV0pLE1TLlN1cHBvcnQuQUMuQUNTZXRMY2lkKG4s
Zi5zcGxpdCgiPSIpWzFdKX1jYXRjaChzKXt9bz0hMH1lbHNlIGkuY2xhc3NOYW1l
PWkuY2xhc3NOYW1lLnJlcGxhY2UoLyggP3xeKWdzZnhfYnNyY2hfaGlnaGxpZ2h0
XGIvZ2ksIiIpO2UrK319aWYoIW8pZm9yKHI9MDtyPHUuY2hpbGROb2Rlcy5sZW5n
dGg7cisrKXtpPXUuY2hpbGROb2Rlc1tyXTtpZihpJiZpLnRhZ05hbWUmJmkuZ2V0
QXR0cmlidXRlKCJjYXRhbG9nIikpe2kuY2xhc3NOYW1lKz0iIGdzZnhfYnNyY2hf
aGlnaGxpZ2h0IjtyZXR1cm59fX19fSxDaGFuZ2VGb3JtQWN0aW9uPWZ1bmN0aW9u
KG4peyQoIiNmcm1zcmNoIikuYXR0cigiYWN0aW9uIixzdXBwb3J0ZWRTaXRlc1tu
XS5VcmwpfTs=

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=ac.js
Content-Type: application/x-javascript; name=ac.js
Content-Location: http://support.microsoft.com/common/script/gsfx/ac.js?80
Content-Transfer-Encoding: Base64

d2luZG93Lk1TfHwod2luZG93Lk1TPXt9KSxNUy5TdXBwb3J0PU1TLlN1cHBvcnR8
fHt9LE1TLlN1cHBvcnQuQUM9ZnVuY3Rpb24obil7cmV0dXJuIHR5cGVvZiBuPT0i
dW5kZWZpbmVkIj9udWxsOnRoaXMuQ3JlYXRlQUMobil9LE1TLlN1cHBvcnQuQUMu
YWNhcnJheXx8KE1TLlN1cHBvcnQuQUMuYWNhcnJheT1bXSksTVMuU3VwcG9ydC5B
Qy5BQ0FycmF5RWw9ZnVuY3Rpb24obil7Zm9yKHZhciB0PTA7dDxNUy5TdXBwb3J0
LkFDLmFjYXJyYXkubGVuZ3RoO3QrKylpZihNUy5TdXBwb3J0LkFDLmFjYXJyYXlb
dF0ua2V5PT09bilyZXR1cm4gTVMuU3VwcG9ydC5BQy5hY2FycmF5W3RdLnZhbDty
ZXR1cm4gbnVsbH0sTVMuU3VwcG9ydC5BQy5NYWtlQXV0b0NvbXBsZXRlPWZ1bmN0
aW9uKG4pe2lmKG4uaWQpe3ZhciB0PW5ldyBNUy5TdXBwb3J0LkFDKG4pO01TLlN1
cHBvcnQuQUMuYWNhcnJheS5wdXNoKHtrZXk6bi5pZCx2YWw6dH0pfX0sTVMuU3Vw
cG9ydC5BQy5TZXRDb29raWU9ZnVuY3Rpb24obix0KXt2YXIgaT1uZXcgRGF0ZSxy
O2kuc2V0RnVsbFllYXIoaS5nZXRGdWxsWWVhcigpKzEpLHI9ZG9jdW1lbnQuZG9t
YWluLGRvY3VtZW50LmNvb2tpZT1yLmluZGV4T2YoIi5jb20iKT4tMT9uKyI9Iit0
KyI7IGV4cGlyZXM9IitpLnRvR01UU3RyaW5nKCkrIjsgRG9tYWluPSIrcisiOyBw
YXRoPS8iOm4rIj0iK3QrIjsgZXhwaXJlcz0iK2kudG9HTVRTdHJpbmcoKSsiOyBw
YXRoPS8ifSxNUy5TdXBwb3J0LkFDLkZldGNoQ29va2llPWZ1bmN0aW9uKG4pe2Zv
cih2YXIgaSx1LGY9ITEscj1kb2N1bWVudC5jb29raWUuc3BsaXQoIjsiKSx0PTA7
dDxyLmxlbmd0aDt0Kyspe2k9clt0XS5zdWJzdHJpbmcoMCxyW3RdLmluZGV4T2Yo
Ij0iKSksaS5jaGFyQXQoMCk9PSIgIiYmKGk9aS5zdWJzdHJpbmcoMSxpLmxlbmd0
aCkpLHU9clt0XS5zdWJzdHJpbmcoclt0XS5pbmRleE9mKCI9IikrMSxyW3RdLmxl
bmd0aCk7aWYobj09aSl7Zj0hMDticmVha319cmV0dXJuIGY/dToiYmxhbmsifSxN
Uy5TdXBwb3J0LkFDLkFkZEV2ZW50PWZ1bmN0aW9uKG4sdCxpKXtuLmF0dGFjaEV2
ZW50P24uYXR0YWNoRXZlbnQoIm9uIit0LGkpOm4uYWRkRXZlbnRMaXN0ZW5lcih0
LGksITApfSxNUy5TdXBwb3J0LkFDLktpbGxFdmVudD1mdW5jdGlvbihuLHQsaSl7
bi5kZXRhY2hFdmVudD9uLmRldGFjaEV2ZW50KCJvbiIrdCxpKTpuLnJlbW92ZUV2
ZW50TGlzdGVuZXIodCxpLCEwKX0sTVMuU3VwcG9ydC5BQy5BQ091dHB1dFN1Z2dl
c3Rpb25zPWZ1bmN0aW9uKG4sdCxpKXtNUy5TdXBwb3J0LkFDLkFDQXJyYXlFbChp
KS5PdXRwdXRTdWdnZXN0aW9ucyhuLHQpfSxNUy5TdXBwb3J0LkFDLkFDRXJyb3JT
dWdnZXN0aW9ucz1mdW5jdGlvbihuLHQsaSl7TVMuU3VwcG9ydC5BQy5BQ0FycmF5
RWwoaSkuRXJyb3JTdWdnZXN0aW9ucyhuLHQpfSxNUy5TdXBwb3J0LkFDLkFDU2V0
TGNpZD1mdW5jdGlvbihuLHQpe01TLlN1cHBvcnQuQUMuQUNBcnJheUVsKG4pLm9w
dGlvbnMubGNpZD10fSxNUy5TdXBwb3J0LkFDLkFDQ2hhbmdlQ2hhclN0YXJ0PWZ1
bmN0aW9uKG4sdCl7TVMuU3VwcG9ydC5BQy5BQ0FycmF5RWwobikub3B0aW9ucy5z
dGFydENoYXI9dH0sTVMuU3VwcG9ydC5BQy5wcm90b3R5cGU9e0NyZWF0ZUFDOmZ1
bmN0aW9uKG4pe3ZhciByLHQsYSxjLGksdixoLGwseTt0aGlzLm9wdGlvbnM9e2lk
OiIiLGxjaWQ6IiIsYWNVUkw6IiIsc3RhdHNPYmo6IiIsc3RhcnRDaGFyOjQsYnVi
Ymxlc2lkZToibGVmdCIsZHJvcGRpcmVjdGlvbjoiZG93biIsZHJvcHVwZ2FwOjAs
YXV0b0ZvY3VzOiExLGxuZGlyOiJsdHIiLGFjT2xkVmFsdWU6IiIsYWNOZXdWYWx1
ZToiIixkb05leHRDYWxsOiEwLGFjTm9WYWw6IiIsYWN0aW1lcjpudWxsLGFjZ3Jv
d3RpbWVyOm51bGwsZG9idWJibGU6ITAsYWNidWJibGVpbnRpbWVyOm51bGwsYWNi
dWJibGVvdXR0aW1lcjpudWxsLGJ1YmJsZWNoYXJsaW1pdDoyNTUsYnRvcGFjOjAs
YWNRdWVyeUJveDpudWxsLGFjTGlzdERpdjpudWxsLGFjTGlzdFdyYXA6bnVsbCxh
Y05vZGU6bnVsbCxhY0lmcmFtZUhhY2s6bnVsbCxBQ0VsbGlwc2lzOm51bGwsQnVi
YmxlSW1nUGF0aDpudWxsLEFDQnViYmxlVGV4dE5vZGU6bnVsbCxBQ0J1YmJsZUlm
cmFtZUhhY2s6bnVsbCxhY01pbldpZHRoOjE1MCxhY1dpZHRoOiJwYXJlbnQiLEFD
R3Jvd0Ftb3VudDoxOCxhY1Jlc2VydmVkS2V5czpbMTMsMzgsNDBdLG5vbkNoYXJL
ZXlzOls5LDE2LDE3LDE4LDE5LDIwLDI3LDMzLDM0LDM1LDM2LDM3LDM5LDQ2LDEx
MiwxMTMsMTE0LDExNSwxMTYsMTE3LDExOCwxMTksMTIwLDEyMSwxMjIsMTIzXSxh
Y2hlYWQ6ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKS5pdGVt
KDApLGltZ3BhdGg6Ii9saWJyYXJ5L2ltYWdlcy9zdXBwb3J0L2VuLXVzLyIsb2Zm
c2hpZnRMaXN0OjAsYm9yZGVyQ29sb3I6IiM2NjY2NjYiLGNoYXJib2xkaW5nOjIs
Y2xyd2luOm5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiQXBwbGVXZWJLaXQi
KT09LTE/IldpbmRvdyI6IiNGRkYiLGNscndpbnR4dDpuYXZpZ2F0b3IudXNlckFn
ZW50LmluZGV4T2YoIkFwcGxlV2ViS2l0Iik9PS0xPyIjMzMzMzMzIjoiIzAwMCIs
Y2xyaGlnaDpuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIkFwcGxlV2ViS2l0
Iik9PS0xPyJIaWdobGlnaHQiOiIjQ0NDIixjbHJoaWdodHh0Om5hdmlnYXRvci51
c2VyQWdlbnQuaW5kZXhPZigiQXBwbGVXZWJLaXQiKT09LTE/IkhpZ2hsaWdodFRl
eHQiOiIjMDAwIixoYW5kbGVSZXNpemU6bnVsbH0sdGhpcy5BQ09wdGlvbnNGaWxs
KHRoaXMub3B0aW9ucyxufHx7fSksdD10aGlzLm9wdGlvbnM7aWYoIXQpcmV0dXJu
ITE7aWYodHlwZW9mIHQuaWQ9PSJzdHJpbmciKXI9ZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQodC5pZCk7ZWxzZSBpZih0eXBlb2YgdC5pZD09Im9iamVjdCImJnQuaWQu
bm9kZU5hbWU9PSJJTlBVVCIpcj10LmlkO2Vsc2UgcmV0dXJuITE7dGhpcy5vcHRp
b25zLmxuZGlyPXRoaXMuQUNDb21wdXRlZFN0eWxlKHIsImRpcmVjdGlvbiIpLHQu
YnViYmxlc2lkZT10LmJ1YmJsZXNpZGUmJnR5cGVvZiB0LmJ1YmJsZXNpZGU9PSJz
dHJpbmciJiZ0LmJ1YmJsZXNpZGU9PSJsZWZ0Ij90LmxuZGlyPT0icnRsIj8icmln
aHQiOiJsZWZ0Ijp0LmJ1YmJsZXNpZGUmJnR5cGVvZiB0LmJ1YmJsZXNpZGU9PSJz
dHJpbmciJiZ0LmJ1YmJsZXNpZGU9PSJyaWdodCI/dC5sbmRpcj09InJ0bCI/Imxl
ZnQiOiJyaWdodCI6InJpZ2h0IiwodC5sY2lkPT09IiJ8fHR5cGVvZiB0LmxjaWQ9
PSJ1bmRlZmluZWQiKSYmKHQubGNpZCYmdHlwZW9mIHQubGNpZD09InN0cmluZyJ8
fCh0LmxjaWQ9IjEwMzMiKSksdC5hY1VSTD10LmFjVVJMPT09IiJ8fHR5cGVvZiB0
LmFjVVJMPT0idW5kZWZpbmVkIj8iaHR0cDovL2F1dG9jb21wbGV0ZS5zdXBwb3J0
Lm1pY3Jvc29mdC5jb20iOnVuZXNjYXBlKHQuYWNVUkwpO2lmKHQuc3RhcnRDaGFy
JiYodHlwZW9mIHQuc3RhcnRDaGFyPT0ic3RyaW5nInx8dHlwZW9mIHQuc3RhcnRD
aGFyPT0ibnVtYmVyIikpdHJ5e3Quc3RhcnRDaGFyPXBhcnNlSW50KHQuc3RhcnRD
aGFyLDEwKSx0LnN0YXJ0Q2hhcjwyJiYodC5zdGFydENoYXI9MiksdC5zdGFydENo
YXI+OCYmKHQuc3RhcnRDaGFyPTgpfWNhdGNoKHApe3Quc3RhcnRDaGFyPTR9aWYo
cil7YT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLGEuc2V0QXR0cmli
dXRlKCJ0eXBlIiwiaGlkZGVuIiksYS5zZXRBdHRyaWJ1dGUoImlkIiwiaWRUeHRG
bGQiKSxyLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsciksci5vZmZzZXRXaWR0
aDx0LmFjTWluV2lkdGgmJih0LmFjTWluV2lkdGg9ci5vZmZzZXRXaWR0aCksci5z
ZXRBdHRyaWJ1dGUoImF1dG9jb21wbGV0ZSIsIm9mZiIpLGM9ZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiRElWIiksaT1jLnN0eWxlLGMuaWQ9ImFjTGlzdERpdiIrci5p
ZCxpLm1hcmdpbj1pLnBhZGRpbmc9IjBweCIsaS5tYXJnaW5Ub3A9Ii0ycHgiLGku
dmlzaWJpbGl0eT0iaGlkZGVuIixpLnpJbmRleD0iOTkiLGkucG9zaXRpb249ImFi
c29sdXRlIixpLmxpbmVIZWlnaHQ9IjE4cHgiLHRoaXMub3B0aW9ucy5kcm9wZGly
ZWN0aW9uPT09InVwIiYmKGkuYm90dG9tPXIub2Zmc2V0SGVpZ2h0K3BhcnNlSW50
KHIuc3R5bGUuYm9yZGVyV2lkdGgqMiwxMCkrcGFyc2VJbnQoci5zdHlsZS5wYWRk
aW5nVG9wKjIsMTApK3RoaXMub3B0aW9ucy5kcm9wdXBnYXArInB4Iiksdj1wYXJz
ZUludCh0LmFjTWluV2lkdGgsMTApLGkud2lkdGg9KHY+MTI/di0xMzowKSsicHgi
LGkuYm9yZGVyPSIxcHggc29saWQgIit0LmJvcmRlckNvbG9yLGkub3ZlcmZsb3c9
ImhpZGRlbiIsaS5wYWRkaW5nPSIxMHB4IDFweCAxMHB4IDEwcHgiLGkuYmFja2dy
b3VuZD0iI2ZmZiIsaS5mb250U2l6ZT0iMC43ZW0iLGkuZm9udEZhbWlseT10aGlz
LkFDQ29tcHV0ZWRTdHlsZShyLCJmb250RmFtaWx5IiksdGhpcy5vcHRpb25zLmxu
ZGlyPT0icnRsIiYmKGkucGFkZGluZ1JpZ2h0PSIxMHB4IixpLnBhZGRpbmdMZWZ0
PSIxcHgiKSxoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGguaWQ9ImFj
TGlzdFdyYXBwZXIiK3IuaWQsaC5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiLGgu
c3R5bGUud2lkdGg9cGFyc2VJbnQodiwxMCkrInB4IixoLnN0eWxlLmhlaWdodD0i
MXB4IixoLmFwcGVuZENoaWxkKGMpLHIucGFyZW50Tm9kZS5hcHBlbmRDaGlsZCho
KSx0LmFjTm9kZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxpPXQuYWNO
b2RlLnN0eWxlLHQuYWNOb2RlLmNsYXNzTmFtZT0iYWNTdWdEaXYiLGkud2hpdGVT
cGFjZT0ibm93cmFwIixpLndpZHRoPSIxMDAlIixpLm92ZXJmbG93PSJoaWRkZW4i
LGkuYmFja2dyb3VuZENvbG9yPXQuY2xyd2luLGkuY29sb3I9dC5jbHJ3aW50eHQs
aS5jdXJzb3I9InBvaW50ZXIiLHQuQUNFbGxpcHNpcz1kb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJzcGFuIiksdC5BQ0VsbGlwc2lzLnN0eWxlLmJhY2tncm91bmQ9dC5j
bHJ3aW4sdC5BQ0VsbGlwc2lzLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsdC5B
Q0VsbGlwc2lzLmlubmVySFRNTD0iLi4uIix0LkFDRWxsaXBzaXMuY2xhc3NOYW1l
PSJlbGxpcHNpcyIsdC5BQ0VsbGlwc2lzLnN0eWxlLmxpbmVIZWlnaHQ9IjE2cHgi
LHQuQUNFbGxpcHNpcy5zdHlsZS5oZWlnaHQ9IjE4cHgiLHQubG5kaXI9PSJsdHIi
P3QuQUNFbGxpcHNpcy5zdHlsZS5yaWdodD0iLTFweCI6dC5BQ0VsbGlwc2lzLnN0
eWxlLmxlZnQ9Ii0xcHgiO3ZhciBmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpLGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdT1kb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJkaXYiKSxzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpLG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Zi5pZD0iZ3NzX2Fj
X2J0dG9wIixlLmlkPSJnc3NfYWNfYnRib3R0b20iLHUuaWQ9Imdzc19hY19idHR4
dCIscy5pZD0iZ3NzX2FjX2J0YXJyb3ciLG8uaWQ9Imdzc19hY19idGRpdiIsdC5C
dWJibGVJbWdQYXRofHwodC5CdWJibGVJbWdQYXRoPXQuYWNVUkwpLGYuc3R5bGUu
YmFja2dyb3VuZD0idXJsKCIrdC5CdWJibGVJbWdQYXRoKyIvaW1hZ2VzL2J1YmJs
ZS5wbmcpIG5vLXJlcGVhdCIsZS5zdHlsZS5iYWNrZ3JvdW5kPSJ1cmwoIit0LkJ1
YmJsZUltZ1BhdGgrIi9pbWFnZXMvYnViYmxlLnBuZykgMHB4IC0xMXB4IG5vLXJl
cGVhdCIsdS5zdHlsZS5iYWNrZ3JvdW5kPSIjRkNGQ0REIix1LnN0eWxlLmJvcmRl
cj0iMXB4IHNvbGlkICNERUJCNEYiLHUuc3R5bGUuYm9yZGVyV2lkdGg9IjBweCAx
cHgiLGUuc3R5bGUubGluZUhlaWdodD1mLnN0eWxlLmxpbmVIZWlnaHQ9Zi5zdHls
ZS5oZWlnaHQ9ZS5zdHlsZS5oZWlnaHQ9IjEwcHgiLGYuc3R5bGUuZm9udFNpemU9
ZS5zdHlsZS5mb250U2l6ZT0iMHB4IixmLnN0eWxlLndpZHRoPWUuc3R5bGUud2lk
dGg9IjIwMHB4Iix1LnN0eWxlLndpZHRoPSIxNzhweCIsdS5zdHlsZS5wb3NpdGlv
bj1mLnN0eWxlLnBvc2l0aW9uPWUuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIix1
LnN0eWxlLmNvbG9yPSJibGFjayIsdS5zdHlsZS5mb250U2l6ZT0iLjdlbSIsdS5z
dHlsZS5mb250RmFtaWx5PWMuc3R5bGUuZm9udEZhbWlseSx1LnN0eWxlLm92ZXJm
bG93WD0iaGlkZGVuIix1LnN0eWxlLndoaXRlU3BhY2U9Im5vcm1hbCIsdS5zdHls
ZS5wYWRkaW5nPSIwcHggMTBweCIsby5zdHlsZS5wb3NpdGlvbj1zLnN0eWxlLnBv
c2l0aW9uPSJhYnNvbHV0ZSIscy5zdHlsZS50b3A9IjBweCIscy5zdHlsZS5oZWln
aHQ9IjIzcHgiLHMuc3R5bGUud2lkdGg9IjM0cHgiLG8uc3R5bGUud2lkdGg9IjIy
NnB4IixvLnN0eWxlLnRvcD0iOTBweCIsby5zdHlsZS56SW5kZXg9OTk5LHQuYnVi
Ymxlc2lkZT09ImxlZnQiPyhmLnN0eWxlLmNzc0Zsb2F0PWUuc3R5bGUuY3NzRmxv
YXQ9dS5zdHlsZS5jc3NGbG9hdD1mLnN0eWxlLnN0eWxlRmxvYXQ9ZS5zdHlsZS5z
dHlsZUZsb2F0PXUuc3R5bGUuc3R5bGVGbG9hdD0ibGVmdCIsby5zdHlsZS5sZWZ0
PSItMjIwcHgiLHMuc3R5bGUucmlnaHQ9IjBweCIscy5zdHlsZS5iYWNrZ3JvdW5k
PSJ1cmwoIit0LkJ1YmJsZUltZ1BhdGgrIi9pbWFnZXMvYnViYmxlLnBuZykgMHB4
IC0yMnB4IG5vLXJlcGVhdCIpOihvLnN0eWxlLmxlZnQ9Yy5vZmZzZXRXaWR0aCsi
cHgiLHMuc3R5bGUubGVmdD0iMXB4IixzLnN0eWxlLmJhY2tncm91bmQ9InVybCgi
K3QuQnViYmxlSW1nUGF0aCsiL2ltYWdlcy9idWJibGUucG5nKSAtMzVweCAtMjJw
eCBuby1yZXBlYXQiLGYuc3R5bGUuY3NzRmxvYXQ9ZS5zdHlsZS5jc3NGbG9hdD11
LnN0eWxlLmNzc0Zsb2F0PWYuc3R5bGUuc3R5bGVGbG9hdD1lLnN0eWxlLnN0eWxl
RmxvYXQ9dS5zdHlsZS5zdHlsZUZsb2F0PSJyaWdodCIpLG8uYXBwZW5kQ2hpbGQo
Ziksby5hcHBlbmRDaGlsZCh1KSxvLmFwcGVuZENoaWxkKGUpLG8uYXBwZW5kQ2hp
bGQocyksdC5BQ0J1YmJsZVRleHROb2RlPW8sbmF2aWdhdG9yLnVzZXJBZ2VudC5p
bmRleE9mKCJNU0lFIik+MCYmcGFyc2VJbnQobmF2aWdhdG9yLnVzZXJBZ2VudC5j
aGFyQXQobmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJNU0lFIikrNSksMTAp
PDcmJih0aGlzLkFDTWFrZUlmcmFtZUhhY2soaCxjKSxsPWRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImlmcmFtZSIpLGwuaWQ9Imdzc19hY19idGlmcmFtZSIsbC5zdHls
ZS53aWR0aD0iMjI2cHgiLGwuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixsLnN0
eWxlLmZpbHRlcj0iYWxwaGEob3BhY2l0eT0wKSIsdC5idWJibGVzaWRlPT0ibGVm
dCI/bC5zdHlsZS5sZWZ0PSItMjIwcHgiOmwuc3R5bGUucmlnaHQ9Ii0yMjBweCIs
dC5BQ0J1YmJsZUlmcmFtZUhhY2s9bCkseT10aGlzLHRoaXMuQUNBZGRFdnQociwi
a2V5dXAiLGZ1bmN0aW9uKG4pe3kuQUNJbml0U3VnZ2VzdGlvbnMobil9KSx0aGlz
LkFDQWRkRXZ0KHIsImtleWRvd24iLGZ1bmN0aW9uKG4pe3kuQUNIYW5kbGVLZXlz
RG93bihuKX0pLHRoaXMuQUNBZGRFdnQoZG9jdW1lbnQsIm1vdXNldXAiLGZ1bmN0
aW9uKG4pe3kuQUNDbGlja0hhbmRsZXIobil9KSx0LmFjTGlzdERpdj1jLHQuYWNR
dWVyeUJveD1yLHQuYWNMaXN0V3JhcD1oLHQuYXV0b0ZvY3VzJiZyLmNyZWF0ZVRl
eHRSYW5nZSYmIWRvY3VtZW50LmxvY2F0aW9uLmhhc2gmJnRoaXMuQUNGb2N1cygp
fXJldHVybiB0aGlzfSxBQ0ZvY3VzOmZ1bmN0aW9uKCl7dmFyIHI9dGhpcy5vcHRp
b25zLG49ci5hY1F1ZXJ5Qm94LHQ9bi52YWx1ZS5sZW5ndGgsaTtpZihuLmNyZWF0
ZVRleHRSYW5nZSl7aT1uLmNyZWF0ZVRleHRSYW5nZSgpO3RyeXtyLmxuZGlyPT09
InJ0bCI/aS5tb3ZlKCJjaGFyYWN0ZXIiLC10KTppLm1vdmUoImNoYXJhY3RlciIs
dCksaS5zZWxlY3QoKX1jYXRjaCh1KXt9fWVsc2Ugbi5mb2N1cygpLG4uc2V0U2Vs
ZWN0aW9uUmFuZ2UmJihyLmxuZGlyPT09InJ0bCI/bi5zZXRTZWxlY3Rpb25SYW5n
ZSgwLDApOm4uc2V0U2VsZWN0aW9uUmFuZ2UodCx0KSl9LEFDT3B0aW9uc0ZpbGw6
ZnVuY3Rpb24obix0KXtmb3Iob3B0aW9uIGluIHQpbltvcHRpb25dPXRbb3B0aW9u
XTtyZXR1cm4gbn0sQUNEb1Nob3dUYXJnZXQ6ZnVuY3Rpb24oKXtjbGVhclRpbWVv
dXQodGhpcy5vcHRpb25zLmFjZ3Jvd3RpbWVyKSx0aGlzLm9wdGlvbnMuYWNMaXN0
RGl2LnN0eWxlLnZpc2liaWxpdHkhPSJ2aXNpYmxlIiYmKHRoaXMub3B0aW9ucy5h
Y0xpc3REaXYuc3R5bGUuaGVpZ2h0PSIxOHB4Iix0aGlzLm9wdGlvbnMuYWNMaXN0
RGl2LnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUiLHRoaXMuQUNJZnJhbWVWaXNp
YmxlKHRoaXMub3B0aW9ucy5hY0xpc3REaXYuc3R5bGUudmlzaWJpbGl0eSkpO3Zh
ciBuPXRoaXM7dGhpcy5vcHRpb25zLmFjZ3Jvd3RpbWVyPXNldEludGVydmFsKGZ1
bmN0aW9uKHQpe24uQUNHcm93V2luZG93KHQpfSwxMCl9LEFDRG9IaWRlVGFyZ2V0
OmZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KHRoaXMub3B0aW9ucy5hY2dyb3d0aW1l
cik7aWYodGhpcy5vcHRpb25zLmFjTGlzdERpdi5zdHlsZS52aXNpYmlsaXR5IT0i
aGlkZGVuIil7dmFyIG49dGhpczt0aGlzLlBvcEJ1YmJsZSgpLHRoaXMub3B0aW9u
cy5hY2dyb3d0aW1lcj1zZXRJbnRlcnZhbChmdW5jdGlvbih0KXtuLkFDU2hyaW5r
V2luZG93KHQpfSwxMCl9fSxBQ0Ryb3BXaWR0aDpmdW5jdGlvbigpe3ZhciBuO3Jl
dHVybiBuPXR5cGVvZiB0aGlzLm9wdGlvbnMuYWNXaWR0aD09Im51bWJlciI/dGhp
cy5vcHRpb25zLmFjV2lkdGg6dHlwZW9mIHRoaXMub3B0aW9ucy5hY1dpZHRoPT0i
c3RyaW5nIiYmdGhpcy5vcHRpb25zLmFjV2lkdGg9PSJzZWxmIj90aGlzLm9wdGlv
bnMuYWNRdWVyeUJveC5vZmZzZXRXaWR0aCYmdGhpcy5vcHRpb25zLmFjUXVlcnlC
b3gub2Zmc2V0V2lkdGg+dGhpcy5vcHRpb25zLmFjTWluV2lkdGg/dGhpcy5vcHRp
b25zLmFjUXVlcnlCb3gub2Zmc2V0V2lkdGg6dGhpcy5vcHRpb25zLmFjTWluV2lk
dGg6dGhpcy5vcHRpb25zLmFjUXVlcnlCb3gucGFyZW50Tm9kZS5vZmZzZXRXaWR0
aCYmdGhpcy5vcHRpb25zLmFjUXVlcnlCb3gucGFyZW50Tm9kZS5vZmZzZXRXaWR0
aD50aGlzLm9wdGlvbnMuYWNNaW5XaWR0aD90aGlzLm9wdGlvbnMuYWNRdWVyeUJv
eC5wYXJlbnROb2RlLm9mZnNldFdpZHRoOnRoaXMub3B0aW9ucy5hY01pbldpZHRo
LG49cGFyc2VJbnQobiwxMCktMTMsKG4+PTA/bjowKSsicHgifSxBQ0dyb3dXaW5k
b3c6ZnVuY3Rpb24oKXtmb3IodmFyIG49MCxyLGksdD0wO3Q8cGFyc2VJbnQodGhp
cy5vcHRpb25zLmFjTGlzdERpdi5jaGlsZE5vZGVzLmxlbmd0aCwxMCk7dCsrKW4r
PXBhcnNlSW50KHRoaXMub3B0aW9ucy5hY0xpc3REaXYuY2hpbGROb2Rlc1t0XS5v
ZmZzZXRIZWlnaHQsMTApO24/KHI9bjx0aGlzLm9wdGlvbnMuYWNMaXN0RGl2Lm9m
ZnNldEhlaWdodD8tMToxLGk9cGFyc2VJbnQodGhpcy5vcHRpb25zLmFjTGlzdERp
di5zdHlsZS5oZWlnaHQsMTApK3RoaXMub3B0aW9ucy5BQ0dyb3dBbW91bnQqcix0
aGlzLm9wdGlvbnMuYWNMaXN0RGl2LnN0eWxlLmhlaWdodD1pKyJweCIsdGhpcy5B
Q0lmcmFtZVNpemUoaSksaTxuLXRoaXMub3B0aW9ucy5BQ0dyb3dBbW91bnR8fCh0
aGlzLm9wdGlvbnMuYWNMaXN0RGl2LnN0eWxlLmhlaWdodD1uKyJweCIsdGhpcy5B
Q0lmcmFtZVNpemUobiksY2xlYXJUaW1lb3V0KHRoaXMub3B0aW9ucy5hY2dyb3d0
aW1lcikpKToodGhpcy5vcHRpb25zLmFjTGlzdERpdi5zdHlsZS5oZWlnaHQ9ImF1
dG8iLHRoaXMuQUNJZnJhbWVTaXplKHRoaXMub3B0aW9ucy5hY0xpc3REaXYuc3R5
bGUuaGVpZ2h0KSxjbGVhclRpbWVvdXQodGhpcy5vcHRpb25zLmFjZ3Jvd3RpbWVy
KSksdGhpcy5vcHRpb25zLmhhbmRsZVJlc2l6ZSYmdGhpcy5vcHRpb25zLmhhbmRs
ZVJlc2l6ZSh0aGlzLm9wdGlvbnMuYWNMaXN0RGl2KX0sQUNTaHJpbmtXaW5kb3c6
ZnVuY3Rpb24oKXtpZih0aGlzLm9wdGlvbnMuYWNMaXN0RGl2LnN0eWxlLmhlaWdo
dCE9ImF1dG8iJiZ0aGlzLm9wdGlvbnMuYWNMaXN0RGl2KXt2YXIgdD1wYXJzZUlu
dCh0aGlzLm9wdGlvbnMuYWNMaXN0RGl2LnN0eWxlLmhlaWdodCwxMCktMTI7dD10
PjA/dDowLHRoaXMub3B0aW9ucy5hY0xpc3REaXYuc3R5bGUuaGVpZ2h0PXQrInB4
Iix0aGlzLkFDSWZyYW1lU2l6ZSh0aGlzLm9wdGlvbnMuYWNMaXN0RGl2LnN0eWxl
LmhlaWdodCkscGFyc2VJbnQodGhpcy5vcHRpb25zLmFjTGlzdERpdi5zdHlsZS5o
ZWlnaHQsMTApPDEzJiYodGhpcy5vcHRpb25zLmFjTGlzdERpdi5zdHlsZS52aXNp
YmlsaXR5PSJoaWRkZW4iLHRoaXMuQUNJZnJhbWVWaXNpYmxlKHRoaXMub3B0aW9u
cy5hY0xpc3REaXYuc3R5bGUudmlzaWJpbGl0eSksY2xlYXJUaW1lb3V0KHRoaXMu
b3B0aW9ucy5hY2dyb3d0aW1lcikpfWVsc2UgdGhpcy5vcHRpb25zLmFjTGlzdERp
di5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLHRoaXMub3B0aW9ucy5hY0xpc3RE
aXYuc3R5bGUuaGVpZ2h0PSIxcHgiLHRoaXMuQUNJZnJhbWVWaXNpYmxlKHRoaXMu
b3B0aW9ucy5hY0xpc3REaXYuc3R5bGUudmlzaWJpbGl0eSksdGhpcy5BQ0lmcmFt
ZVNpemUodGhpcy5vcHRpb25zLmFjTGlzdERpdi5zdHlsZS5oZWlnaHQpLGNsZWFy
VGltZW91dCh0aGlzLm9wdGlvbnMuYWNncm93dGltZXIpO3RoaXMub3B0aW9ucy5o
YW5kbGVSZXNpemUmJnRoaXMub3B0aW9ucy5oYW5kbGVSZXNpemUodGhpcy5vcHRp
b25zLmFjTGlzdERpdil9LEFDR2V0U3VnZ2VzdGlvbnM6ZnVuY3Rpb24oKXt2YXIg
dD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWNTY3JpcHQiKSxuO3QmJnRoaXMu
b3B0aW9ucy5hY2hlYWQucmVtb3ZlQ2hpbGQodCksbj1kb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJTQ1JJUFQiKSxuLmlkPSJhY1NjcmlwdCIsbi5zZXRBdHRyaWJ1dGUo
InR5cGUiLCJ0ZXh0L2phdmFzY3JpcHQiKSxuLnNyYz10aGlzLm9wdGlvbnMuYWNV
UkwrIi9BQ1NlYXJjaFN1Z2dlc3QuYXNweD9lbGVpZD0iK3RoaXMub3B0aW9ucy5h
Y1F1ZXJ5Qm94LmlkKyImbGNpZD0iK3RoaXMub3B0aW9ucy5sY2lkKyImcXVlcnk9
IitlbmNvZGVVUklDb21wb25lbnQodGhpcy5vcHRpb25zLmFjT2xkVmFsdWUpLHRo
aXMub3B0aW9ucy5hY2hlYWQuYXBwZW5kQ2hpbGQobil9LEFDQ2xpY2tIYW5kbGVy
OmZ1bmN0aW9uKG4sdCl7dmFyIHU9dGhpcy5BQ1NyY0VsKG4pLGY9dGhpcy5BQ0lz
Q2hpbGQodSx0aGlzLm9wdGlvbnMuYWNMaXN0RGl2KSxlLGkscjtyZXR1cm4gdT09
PXRoaXMub3B0aW9ucy5hY1F1ZXJ5Qm94JiYhdD8hMTohZiYmKCF0aGlzLm9wdGlv
bnMuaGFuZGxlUmVzaXplfHwhdGhpcy5BQ0lzQ2hpbGQodSx0aGlzLm9wdGlvbnMu
YWNMaXN0RGl2LnBhcmVudE5vZGUpKT8odGhpcy5BQ0hpZGVUYXJnZXQoKSwhMSk6
KGU9ITAsdGhpcy5vcHRpb25zLmFjTGlzdERpdiYmKGk9dGhpcy5vcHRpb25zLmFj
UXVlcnlCb3gscj10aGlzLm9wdGlvbnMuYWNMaXN0RGl2LmNoaWxkTm9kZXNbaS5z
ZWxlY3RlZEluZGV4XSxmJiZyJiYoaS5wcmV2aW91c1NpYmxpbmcuZGlzYWJsZWQ9
ITEsaS5wcmV2aW91c1NpYmxpbmcuc2V0QXR0cmlidXRlKCJuYW1lIiwicWlkIiks
aS5wcmV2aW91c1NpYmxpbmcudmFsdWU9ci5nZXRBdHRyaWJ1dGUoInN1Z2dlc3Rp
b25JZCIpLGkudmFsdWU9ci5nZXRBdHRyaWJ1dGUoInRleHRWYWwiKSxpLmZvY3Vz
KCksdGhpcy5BQ1NlbGVjdFRleHQobiksdGhpcy5vcHRpb25zLmFjT2xkVmFsdWU9
aS52YWx1ZSx0aGlzLm9wdGlvbnMuc3RhdHNPYmomJih0aGlzLm9wdGlvbnMuc3Rh
dHNPYmouZXZlbnRDb2xsZWN0aW9uSWQ9U2V0TG9nQ29sbGVjdGlvbkJpdCh0aGlz
Lm9wdGlvbnMuc3RhdHNPYmouZXZlbnRDb2xsZWN0aW9uSWQsNDEpKSxlPSExKSx0
aGlzLm9wdGlvbnMuYWNMaXN0RGl2JiZmJiZ0aGlzLkFDSGlkZVRhcmdldCgpKSxl
KX0sQUNJbml0U3VnZ2VzdGlvbnM6ZnVuY3Rpb24obil7Zm9yKHZhciBpLHIsdSx0
PTA7dDx0aGlzLm9wdGlvbnMuYWNSZXNlcnZlZEtleXMubGVuZ3RoO3QrKylpZih0
aGlzLkFDR2V0S2V5Q29kZShuKT09dGhpcy5vcHRpb25zLmFjUmVzZXJ2ZWRLZXlz
W3RdKXJldHVybjtpPXRoaXMub3B0aW9ucy5hY1F1ZXJ5Qm94LHRoaXMuQUNHZXRL
ZXlDb2RlKGkpPT05JiZ0aGlzLkFDQ2xpY2tIYW5kbGVyKGkpLGkuc2VsZWN0ZWRJ
bmRleD0tMSx0aGlzLkFDSGlnaGxpZ2h0KCksdGhpcy5vcHRpb25zLmFjTmV3VmFs
dWU9aS52YWx1ZT9pLnZhbHVlLkFDUmVtb3ZlU3BhY2VzKCk6IiI7aWYodGhpcy5v
cHRpb25zLmFjTm9WYWwhPT0iIil7aWYodGhpcy5vcHRpb25zLmFjTm9WYWwudG9M
b3dlckNhc2UoKT09dGhpcy5vcHRpb25zLmFjTmV3VmFsdWUuc3Vic3RyaW5nKDAs
dGhpcy5vcHRpb25zLmFjTm9WYWwubGVuZ3RoKS50b0xvd2VyQ2FzZSgpKXJldHVy
bjt0aGlzLm9wdGlvbnMuYWNOb1ZhbD0iIn1mb3IodD0wO3Q8dGhpcy5vcHRpb25z
Lm5vbkNoYXJLZXlzLmxlbmd0aDt0KyspaWYodGhpcy5BQ0dldEtleUNvZGUobik9
PXRoaXMub3B0aW9ucy5ub25DaGFyS2V5c1t0XSl7aS5wcmV2aW91c1NpYmxpbmcu
ZGlzYWJsZWQ9ITE7cmV0dXJufWkucHJldmlvdXNTaWJsaW5nLmRpc2FibGVkPSEw
LHRoaXMub3B0aW9ucy5hY09sZFZhbHVlLnRvTG93ZXJDYXNlKCk9PXRoaXMub3B0
aW9ucy5hY05ld1ZhbHVlLnRvTG93ZXJDYXNlKCl8fHRoaXMub3B0aW9ucy5hY05l
d1ZhbHVlLmxlbmd0aDx0aGlzLm9wdGlvbnMuc3RhcnRDaGFyP3RoaXMub3B0aW9u
cy5hY05ld1ZhbHVlLmxlbmd0aDx0aGlzLm9wdGlvbnMuc3RhcnRDaGFyJiYodGhp
cy5vcHRpb25zLmRvTmV4dENhbGw9ITAsdGhpcy5BQ0hpZGVUYXJnZXQoKSx0aGlz
Lm9wdGlvbnMuYWNPbGRWYWx1ZT10aGlzLm9wdGlvbnMuYWNOZXdWYWx1ZSk6KHRo
aXMub3B0aW9ucy5hY3RpbWVyJiZjbGVhclRpbWVvdXQodGhpcy5vcHRpb25zLmFj
dGltZXIpLHI9dGhpcyx0aGlzLm9wdGlvbnMuZG9OZXh0Q2FsbHx8KHU9bmV3IFJl
Z0V4cCgiXiIrdGhpcy5vcHRpb25zLmFjT2xkVmFsdWUuUmVtb3ZlUmVnZXhDaHJz
KCksImkiKSx0aGlzLm9wdGlvbnMuYWNOZXdWYWx1ZS5tYXRjaCh1KT90aGlzLkFD
SGlkZVRhcmdldCgpOnRoaXMub3B0aW9ucy5kb05leHRDYWxsPSEwKSx0aGlzLm9w
dGlvbnMuZG9OZXh0Q2FsbCYmKHRoaXMub3B0aW9ucy5hY09sZFZhbHVlPXRoaXMu
b3B0aW9ucy5hY05ld1ZhbHVlLHRoaXMub3B0aW9ucy5hY3RpbWVyPXNldFRpbWVv
dXQoZnVuY3Rpb24obil7ci5BQ0dldFN1Z2dlc3Rpb25zKG4pfSwxMDApKSl9LEVy
cm9yU3VnZ2VzdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm59LE91dHB1dFN1Z2dlc3Rp
b25zOmZ1bmN0aW9uKG4sdCl7dmFyIHUsZSxpLHIsZixvO3RyeXt0aGlzLlBvcEJ1
YmJsZSgpO2lmKHQ9PT0iIil7dGhpcy5vcHRpb25zLmFjTm9WYWw9bix0aGlzLkFD
SGlkZVRhcmdldCgpO3JldHVybn1mb3IodGhpcy5vcHRpb25zLmFjTm9WYWw9IiIs
dGhpcy5vcHRpb25zLnN0YXRzT2JqJiYodGhpcy5vcHRpb25zLnN0YXRzT2JqLmV2
ZW50Q29sbGVjdGlvbklkPVNldExvZ0NvbGxlY3Rpb25CaXQodGhpcy5vcHRpb25z
LnN0YXRzT2JqLmV2ZW50Q29sbGVjdGlvbklkLDQwKSx0aGlzLm9wdGlvbnMuc3Rh
dHNPYmouZmxleElkPTExLHRoaXMub3B0aW9ucy5zdGF0c09iai5mbGV4VmFsdWUx
PW4uc3Vic3RyKDAsMjU2KSksdT1bXSxpPTA7aTx0Lmxlbmd0aDtpKz0yKXUucHVz
aCh0aGlzLkFDU3VnZ2VzdGlvbih0W2ldLHRbaSsxXSkpO3U9dGhpcy5BQ1NvcnQo
dSk7aWYodS5sZW5ndGg9PT0wKXt0aGlzLm9wdGlvbnMuZG9OZXh0Q2FsbD0hMSx0
aGlzLkFDSGlkZVRhcmdldCgpO3JldHVybn1mb3IoZT10aGlzLHRoaXMub3B0aW9u
cy5hY0xpc3REaXYuaW5uZXJIVE1MPSIiLG49bi5SZW1vdmVSZWdleENocnMoKSxp
PTA7aTx1Lmxlbmd0aDtpKyspcj10aGlzLm9wdGlvbnMuYWNOb2RlLmNsb25lTm9k
ZSghMCksZj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksci5zZXRBdHRy
aWJ1dGUoInN1Z2dlc3Rpb25JZCIsdVtpXS5JRCksci5zZXRBdHRyaWJ1dGUoInRl
eHRWYWwiLHVbaV0uU3VnZ2VzdGlvbiksci5zZXRBdHRyaWJ1dGUoInF1ZXJ5VmFs
IixuKSxmLmNsYXNzTmFtZT0iZ3NzX2FjX2R0eHQiLGYuaWQ9Zi5jbGFzc05hbWUr
aSxmLmlubmVySFRNTD10aGlzLkJvbGRDaGFycyh1W2ldLlN1Z2dlc3Rpb24sbiks
ci5hcHBlbmRDaGlsZChmKSx0aGlzLkFDQWRkRXZ0KHIsIm1vdXNlb3ZlciIsZnVu
Y3Rpb24obil7ZS5hY01vdXNlSGlnaGxpZ2h0KG4pfSksdGhpcy5BQ0FkZEV2dChm
LCJtb3VzZW92ZXIiLGZ1bmN0aW9uKG4pe2UuYWNNb3VzZUhpZ2hsaWdodChuKX0p
LHRoaXMuQUNBZGRFdnQociwia2V5dXAiLGZ1bmN0aW9uKG4pe2UuQmxvd0J1YmJs
ZShuKX0pLHRoaXMuQUNBZGRFdnQociwibW91c2VvdmVyIixmdW5jdGlvbihuKXtl
LkJsb3dCdWJibGUobil9KSx0aGlzLm9wdGlvbnMuYWNMaXN0RGl2LmFwcGVuZENo
aWxkKHIpLGYub2Zmc2V0V2lkdGg+ci5vZmZzZXRXaWR0aCYmKHIuc2V0QXR0cmli
dXRlKCJiYWxsb29uIiwhMCksci5hcHBlbmRDaGlsZCh0aGlzLm9wdGlvbnMuQUNF
bGxpcHNpcy5jbG9uZU5vZGUoITApKSk7dGhpcy5BQ0RvU2hvd1RhcmdldCgpLG89
dGhpcy5BQ0Ryb3BXaWR0aCgpLHRoaXMub3B0aW9ucy5hY0xpc3REaXYucGFyZW50
Tm9kZS5zdHlsZS53aWR0aD1wYXJzZUludChvKS0xKyJweCIsdGhpcy5vcHRpb25z
LmFjTGlzdERpdi5zdHlsZS53aWR0aD1vfWNhdGNoKHMpe3RoaXMuQUNIaWRlVGFy
Z2V0KCl9fSxCb2xkQ2hhcnM6ZnVuY3Rpb24obix0KXt2YXIgaT1uLGYsdSxyO3Ry
eXtpPWkucmVwbGFjZSgvPC9naSwiJmx0OyIpLnJlcGxhY2UoLz4vZ2ksIiZndDsi
KSx0PXQucmVwbGFjZSgvPC9naSwiJmx0OyIpLnJlcGxhY2UoLz4vZ2ksIiZndDsi
KTtzd2l0Y2godGhpcy5vcHRpb25zLmNoYXJib2xkaW5nKXtjYXNlIDE6cj1uZXcg
UmVnRXhwKHQsImkiKSxpPWkucmVwbGFjZShyLCI8Yj4kJjwvYj4iKTticmVhaztj
YXNlIDI6cj1uZXcgUmVnRXhwKHQsImdpIiksaT1pLnJlcGxhY2UociwiPGI+JCY8
L2I+Iik7YnJlYWs7Y2FzZSAzOmZvcihmPXQuc3BsaXQoL1xzKy9nKSx1PTA7dTxm
Lmxlbmd0aC0xO3UrKylyPW5ldyBSZWdFeHAoIihefFxccykoPyE8fDwvfDxiPiko
IitmW3VdKyIpKD8hPnw8L2I+KShcXGJ8XFxzKSIsImdpIiksaT1pLnJlcGxhY2Uo
ciwiJDE8Yj4kMjwvYj4kMyIpO3I9bmV3IFJlZ0V4cCgiKF58XFxzKSg/ITx8PC98
PGI+KSgiK2ZbdV0rIikoPyE+fDwvYj4pIiwiZ2kiKSxpPWkucmVwbGFjZShyLCIk
MTxiPiQyPC9iPiIpO2JyZWFrO2Nhc2UgNDpmb3IoZj10LnNwbGl0KC9ccysvZyks
dT0wO3U8Zi5sZW5ndGg7dSsrKXI9bmV3IFJlZ0V4cCgiKD8hPHw8L3w8Yj4pKCIr
Zlt1XSsiKSg/IT58PC9iPikiLCJnaSIpLGk9aS5yZXBsYWNlKHIsIjxiPiQmPC9i
PiIpfX1jYXRjaChlKXtyZXR1cm4gbn1yZXR1cm4gaX0sQmxvd0J1YmJsZTpmdW5j
dGlvbihuKXt2YXIgdCxpLHIsdTtpZighdGhpcy5vcHRpb25zLmRvYnViYmxlKXJl
dHVybjt0PXRoaXMuQUNTcmNFbChuKTt3aGlsZSh0LnRhZ05hbWU9PSJTUEFOInx8
dC50YWdOYW1lPT0iQiIpdD10LnBhcmVudE5vZGU7aWYoIXQuZ2V0QXR0cmlidXRl
KCJiYWxsb29uIikpe3RoaXMuUG9wQnViYmxlKCk7cmV0dXJufWk9ZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImdzc19hY19idGRpdiIpLHI9ZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImdzc19hY19idGlmcmFtZSIpLGl8fCh0aGlzLm9wdGlvbnMuYWNM
aXN0RGl2LnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQodGhpcy5vcHRpb25zLkFDQnVi
YmxlVGV4dE5vZGUpLGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdzc19hY19i
dGRpdiIpLHRoaXMub3B0aW9ucy5BQ0J1YmJsZUlmcmFtZUhhY2smJih0aGlzLm9w
dGlvbnMuYWNMaXN0RGl2LnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQodGhpcy5vcHRp
b25zLkFDQnViYmxlSWZyYW1lSGFjaykscj1kb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZ3NzX2FjX2J0aWZyYW1lIikpLHU9dGhpcyxpLnN0eWxlLm9wYWNpdHk9dGhp
cy5vcHRpb25zLmJ0b3BhYyxpLnN0eWxlLmZpbHRlcj0icHJvZ2lkOkRYSW1hZ2VU
cmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKHN0eWxlPTAsIG9wYWNpdHk9Iit0aGlz
Lm9wdGlvbnMuYnRvcGFjKyIpIixjbGVhckludGVydmFsKHRoaXMuYWNidWJibGVp
bnRpbWVyKSx0aGlzLm9wdGlvbnMuYWNidWJibGVpbnRpbWVyPXNldEludGVydmFs
KGZ1bmN0aW9uKCl7dS5GYWRlSW5CdWJibGUoKX0sNSkpLGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJnc3NfYWNfYnR0eHQiKS5pbm5lckhUTUw9dGhpcy5DaGFyU3Vi
c2V0KHQuZ2V0QXR0cmlidXRlKCJ0ZXh0VmFsIiksdC5nZXRBdHRyaWJ1dGUoInF1
ZXJ5VmFsIikpLGkuc3R5bGUudG9wPXQub2Zmc2V0VG9wK3Qub2Zmc2V0SGVpZ2h0
LzIrInB4Iix0aGlzLm9wdGlvbnMuYnViYmxlc2lkZT09InJpZ2h0IiYmKGkuc3R5
bGUubGVmdD10aGlzLm9wdGlvbnMuYWNMaXN0RGl2LnN0eWxlLndpZHRoKSxyJiYo
ci5zdHlsZS50b3A9aS5zdHlsZS50b3Asci5zdHlsZS5oZWlnaHQ9aS5vZmZzZXRI
ZWlnaHQrInB4Iil9LFBvcEJ1YmJsZTpmdW5jdGlvbigpe3ZhciBuPWRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJnc3NfYWNfYnRkaXYiKSx0O24mJnRoaXMub3B0aW9u
cy5hY2J1YmJsZW91dHRpbWVyPT1udWxsJiYoY2xlYXJJbnRlcnZhbCh0aGlzLm9w
dGlvbnMuYWNidWJibGVvdXR0aW1lciksdD10aGlzLHRoaXMub3B0aW9ucy5idG9w
YWM9MTAwLG4uc3R5bGUub3BhY2l0eT10aGlzLm9wdGlvbnMuYnRvcGFjLzEwMCxu
LnN0eWxlLmZpbHRlcj0icHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0
LkFscGhhKHN0eWxlPTAsIG9wYWNpdHk9Iit0aGlzLm9wdGlvbnMuYnRvcGFjKyIp
Iix0aGlzLm9wdGlvbnMuYWNidWJibGVvdXR0aW1lcj1zZXRJbnRlcnZhbChmdW5j
dGlvbigpe3QuRmFkZU91dEJ1YmJsZSgpfSw1KSl9LEZhZGVJbkJ1YmJsZTpmdW5j
dGlvbigpe3ZhciBuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJnc3NfYWNfYnRk
aXYiKTtuJiYodGhpcy5vcHRpb25zLmJ0b3BhYz10aGlzLm9wdGlvbnMuYnRvcGFj
KzEwLG4uc3R5bGUub3BhY2l0eT10aGlzLm9wdGlvbnMuYnRvcGFjLzEwMCxuLnN0
eWxlLmZpbHRlcj0icHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFs
cGhhKHN0eWxlPTAsIG9wYWNpdHk9Iit0aGlzLm9wdGlvbnMuYnRvcGFjKyIpIix0
aGlzLm9wdGlvbnMuYnRvcGFjPDEwMHx8KGNsZWFySW50ZXJ2YWwodGhpcy5vcHRp
b25zLmFjYnViYmxlaW50aW1lciksdGhpcy5vcHRpb25zLmJ0b3BhYz0wKSl9LEZh
ZGVPdXRCdWJibGU6ZnVuY3Rpb24oKXt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZ3NzX2FjX2J0ZGl2IiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Z3NzX2FjX2J0aWZyYW1lIik7biYmKHRoaXMub3B0aW9ucy5idG9wYWM9dGhpcy5v
cHRpb25zLmJ0b3BhYy0xMCxuLnN0eWxlLm9wYWNpdHk9dGhpcy5vcHRpb25zLmJ0
b3BhYy8xMDAsbi5zdHlsZS5maWx0ZXI9InByb2dpZDpEWEltYWdlVHJhbnNmb3Jt
Lk1pY3Jvc29mdC5BbHBoYShvcGFjaXR5PSIrdGhpcy5vcHRpb25zLmJ0b3BhYysi
KSIsdGhpcy5vcHRpb25zLmJ0b3BhYz4wfHwoY2xlYXJJbnRlcnZhbCh0aGlzLm9w
dGlvbnMuYWNidWJibGVvdXR0aW1lciksdGhpcy5vcHRpb25zLmFjYnViYmxlb3V0
dGltZXI9bnVsbCx0aGlzLm9wdGlvbnMuYnRvcGFjPTAsdCYmdC5wYXJlbnROb2Rl
LnJlbW92ZUNoaWxkKHQpLG4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKSkpfSxD
aGFyU3Vic2V0OmZ1bmN0aW9uKG4pe3ZhciBpPW4uc3Vic3RyaW5nKDAsdGhpcy5v
cHRpb25zLmJ1YmJsZWNoYXJsaW1pdCk7cmV0dXJuIG4ubGVuZ3RoPnRoaXMub3B0
aW9ucy5idWJibGVjaGFybGltaXQmJihpKz0iLi4uIiksaX0sQUNTb3J0OmZ1bmN0
aW9uKG4pe3ZhciB0PWZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4uU3VnZ2VzdGlvbi5s
ZW5ndGgtdC5TdWdnZXN0aW9uLmxlbmd0aH07cmV0dXJuIG4uc29ydCh0KX0sQUNB
ZGRFdnQ6ZnVuY3Rpb24obix0LGkpe01TLlN1cHBvcnQuQUMuQWRkRXZlbnQobix0
LGkpfSxBQ0tpbGxFdnQ6ZnVuY3Rpb24obix0LGkpe01TLlN1cHBvcnQuQUMuS2ls
bEV2ZW50KG4sdCxpKX0sQUNIYW5kbGVLZXlzRG93bjpmdW5jdGlvbihuKXt2YXIg
cj10aGlzLkFDR2V0S2V5Q29kZShuKSx0PXRoaXMuQUNTcmNFbChuKSxvPXRoaXMu
QUNEcm9wV2lkdGgoKSxmO3RoaXMub3B0aW9ucy5hY0xpc3REaXYucGFyZW50Tm9k
ZS5zdHlsZS53aWR0aD1wYXJzZUludChvKS0xKyJweCIsdGhpcy5vcHRpb25zLmFj
TGlzdERpdi5zdHlsZS53aWR0aD1vO2lmKHRoaXMub3B0aW9ucy5hY0xpc3REaXYm
JnRoaXMub3B0aW9ucy5hY0xpc3REaXYuc3R5bGUmJnRoaXMub3B0aW9ucy5hY0xp
c3REaXYuc3R5bGUudmlzaWJpbGl0eSE9ImhpZGRlbiIpe3ZhciBlPXRoaXMub3B0
aW9ucy5hY0xpc3REaXYuY2hpbGROb2Rlcy5sZW5ndGgsaT10LnNlbGVjdGVkSW5k
ZXgsdT10aGlzLm9wdGlvbnMuYWNMaXN0RGl2LmNoaWxkTm9kZXM7aWYocj09NDAp
cmV0dXJuIGk8ZS0xP3Quc2VsZWN0ZWRJbmRleCsrOmk8ZS0xfHwodC5zZWxlY3Rl
ZEluZGV4PS0xKSxpPXQuc2VsZWN0ZWRJbmRleCx0aGlzLkFDSGlnaGxpZ2h0KCks
aTwwPyh0LnZhbHVlPXRoaXMub3B0aW9ucy5hY09sZFZhbHVlLHRoaXMuUG9wQnVi
YmxlKCkpOihmPXVbaV0uZ2V0QXR0cmlidXRlKCJ0ZXh0VmFsIiksZiE9bnVsbCYm
KHQucHJldmlvdXNTaWJsaW5nLmRpc2FibGVkPSExLHQucHJldmlvdXNTaWJsaW5n
LnNldEF0dHJpYnV0ZSgibmFtZSIsInFpZCIpLHQucHJldmlvdXNTaWJsaW5nLnZh
bHVlPXVbaV0uZ2V0QXR0cmlidXRlKCJzdWdnZXN0aW9uSWQiKSx0LnZhbHVlPWYp
LHRoaXMuQmxvd0J1YmJsZSh1W2ldKSksdGhpcy5BQ1NlbGVjdFRleHQobiksbi5y
ZXR1cm5WYWx1ZT0hMSwhMTtpZihyPT0zOClyZXR1cm4gaTwwP2k9PS0xJiYodC5z
ZWxlY3RlZEluZGV4PWUtMSk6dC5zZWxlY3RlZEluZGV4LS0saT10LnNlbGVjdGVk
SW5kZXgsdGhpcy5BQ0hpZ2hsaWdodCgpLGk8MD8odC52YWx1ZT10aGlzLm9wdGlv
bnMuYWNPbGRWYWx1ZSx0aGlzLlBvcEJ1YmJsZSgpKTooZj11W2ldLmdldEF0dHJp
YnV0ZSgidGV4dFZhbCIpLGYhPW51bGwmJih0LnZhbHVlPWYpLHRoaXMuQmxvd0J1
YmJsZSh1W2ldKSksdGhpcy5BQ1NlbGVjdFRleHQobiksbi5yZXR1cm5WYWx1ZT0h
MSwhMTtpZihyPT0xMyYmaT4tMSlyZXR1cm4gbi5yZXR1cm5WYWx1ZT10aGlzLkFD
Q2xpY2tIYW5kbGVyKHVbaV0pLHRoaXMuQUNTdG9wRGVmYXVsdChuKSxuLnJldHVy
blZhbHVlO2lmKHI9PTI3KXJldHVybiB0aGlzLkFDSGlkZVRhcmdldCgpLHQudmFs
dWU9dGhpcy5vcHRpb25zLmFjT2xkVmFsdWUsdC5mb2N1cygpLHRoaXMuQUNTZWxl
Y3RUZXh0KG4pLG4ucmV0dXJuVmFsdWU9ITEsITE7cj09OSYmdGhpcy5BQ0NsaWNr
SGFuZGxlcihuLCEwKX1lbHNlIGlmKHI9PTI3KXJldHVybiB0LnZhbHVlPSIiLHQu
Zm9jdXMoKSx0aGlzLkFDU2VsZWN0VGV4dChuKSxuLnJldHVyblZhbHVlPSExLCEx
fSxBQ1NlbGVjdFRleHQ6ZnVuY3Rpb24obil7aWYoIXRoaXMub3B0aW9ucy5hY09s
ZFZhbHVlKXJldHVybjtpZih0aGlzLm9wdGlvbnMuYWNRdWVyeUJveC5jcmVhdGVU
ZXh0UmFuZ2Upe3ZhciB0PXRoaXMub3B0aW9ucy5hY1F1ZXJ5Qm94LmNyZWF0ZVRl
eHRSYW5nZSgpO3QubW92ZVN0YXJ0KCJjaGFyYWN0ZXIiLHRoaXMub3B0aW9ucy5h
Y09sZFZhbHVlLmxlbmd0aCksdC5zZWxlY3QoKX1lbHNlIHRoaXMub3B0aW9ucy5h
Y1F1ZXJ5Qm94LnNldFNlbGVjdGlvblJhbmdlJiYodGhpcy5vcHRpb25zLmFjUXVl
cnlCb3guZm9jdXMoKSx0aGlzLm9wdGlvbnMuYWNRdWVyeUJveC5zZXRTZWxlY3Rp
b25SYW5nZSh0aGlzLm9wdGlvbnMuYWNPbGRWYWx1ZS5sZW5ndGgsdGhpcy5vcHRp
b25zLmFjUXVlcnlCb3gudmFsdWUubGVuZ3RoKSk7dGhpcy5BQ1N0b3BEZWZhdWx0
KG4pfSxhY01vdXNlSGlnaGxpZ2h0OmZ1bmN0aW9uKG4pe3ZhciB0PXRoaXMuQUNT
cmNFbChuKSxyLGk7d2hpbGUodC50YWdOYW1lPT0iU1BBTiJ8fHQudGFnTmFtZT09
IkIiKXQ9dC5wYXJlbnROb2RlO2ZvcihyPXRoaXMub3B0aW9ucy5hY0xpc3REaXYu
Y2hpbGROb2RlcyxpPTA7aTxyLmxlbmd0aDtpKyspcltpXT09dCYmKHRoaXMub3B0
aW9ucy5hY1F1ZXJ5Qm94LnNlbGVjdGVkSW5kZXg9aSk7dGhpcy5BQ0hpZ2hsaWdo
dCgpfSxBQ0hpZ2hsaWdodDpmdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLm9wdGlv
bnMuYWNMaXN0RGl2LmNoaWxkTm9kZXMsbj0wO248dC5sZW5ndGg7bisrKXRbbl0u
Y2xhc3NOYW1lPT0iYWNTdWdEaXYiJiYobiE9dGhpcy5vcHRpb25zLmFjUXVlcnlC
b3guc2VsZWN0ZWRJbmRleD8odGhpcy5IaWdobGlnaHRFbHModFtuXSwiYmFja2dy
b3VuZCIsdGhpcy5vcHRpb25zLmNscndpbiksdGhpcy5IaWdobGlnaHRFbHModFtu
XSwiY29sb3IiLHRoaXMub3B0aW9ucy5jbHJ3aW50eHQpKToodGhpcy5IaWdobGln
aHRFbHModFtuXSwiYmFja2dyb3VuZCIsdGhpcy5vcHRpb25zLmNscmhpZ2gpLHRo
aXMuSGlnaGxpZ2h0RWxzKHRbbl0sImNvbG9yIix0aGlzLm9wdGlvbnMuY2xyaGln
aHR4dCkpKX0sSGlnaGxpZ2h0RWxzOmZ1bmN0aW9uKG4sdCxpKXtpZihuJiZuLnRh
Z05hbWUpe24uc3R5bGVbdF09aTtpZihuLmNoaWxkTm9kZXMpZm9yKHZhciByPTA7
cjxuLmNoaWxkTm9kZXMubGVuZ3RoO3IrKyl0aGlzLkhpZ2hsaWdodEVscyhuLmNo
aWxkTm9kZXNbcl0sdCxpKX19LEFDU3RvcERlZmF1bHQ6ZnVuY3Rpb24obil7d2lu
ZG93LmV2ZW50Pyh3aW5kb3cuZXZlbnQuY2FuY2VsQnViYmxlPSEwLHdpbmRvdy5l
dmVudC5yZXR1cm5WYWx1ZT0hMSk6bi5wcmV2ZW50RGVmYXVsdCYmbi5wcmV2ZW50
RGVmYXVsdCgpfSxBQ0hpZGVUYXJnZXQ6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMu
YWNMaXN0RGl2JiYodGhpcy5BQ0RvSGlkZVRhcmdldCgpLHRoaXMub3B0aW9ucy5h
Y1F1ZXJ5Qm94LnNlbGVjdGVkSW5kZXg9LTEpfSxBQ0dldEtleUNvZGU6ZnVuY3Rp
b24obil7cmV0dXJuIG4/bi5rZXlDb2RlP24ua2V5Q29kZTpuLmNoYXJDb2RlP24u
Y2hhckNvZGU6bnVsbDpudWxsfSxBQ0NvbXB1dGVkU3R5bGU6ZnVuY3Rpb24obix0
KXt2YXIgaT0iIjtyZXR1cm4gZG9jdW1lbnQuZGVmYXVsdFZpZXcmJmRvY3VtZW50
LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGU/aT1kb2N1bWVudC5kZWZhdWx0
Vmlldy5nZXRDb21wdXRlZFN0eWxlKG4sbnVsbClbdF06bi5jdXJyZW50U3R5bGUm
Jih0PXQucmVwbGFjZSgvLSh3KS9nLGZ1bmN0aW9uKG4sdCl7cmV0dXJuIHQudG9V
cHBlckNhc2UoKX0pLGk9bi5jdXJyZW50U3R5bGVbdF0pLGl9LEFDSXNDaGlsZDpm
dW5jdGlvbihuLHQpe2lmKCFufHwhdClyZXR1cm4hMTt2YXIgaT1uLnBhcmVudE5v
ZGU7cmV0dXJuIHQ9PWk/ITA6aT90aGlzLkFDSXNDaGlsZChpLHQpOiExfSxBQ1Ny
Y0VsOmZ1bmN0aW9uKG4pe2lmKG4pe2lmKG4uc3JjRWxlbWVudClyZXR1cm4gbi5z
cmNFbGVtZW50O2lmKG4udGFyZ2V0KXJldHVybiBuLnRhcmdldH1yZXR1cm4gbn0s
QUNNYWtlSWZyYW1lSGFjazpmdW5jdGlvbihuLHQpe2lmKCF0aGlzLm9wdGlvbnMu
YWNJZnJhbWVIYWNrKXt0aGlzLm9wdGlvbnMuYWNJZnJhbWVIYWNrPWRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoIklGUkFNRSIpO3ZhciBpPXRoaXMub3B0aW9ucy5hY0lm
cmFtZUhhY2suc3R5bGUscj10LnN0eWxlO2kubWFyZ2luVG9wPXIubWFyZ2luVG9w
LGkubGVmdD1yLmxlZnQsaS50b3A9ci50b3AsaS52aXNpYmlsaXR5PXIudmlzaWJp
bGl0eSxpLndpZHRoPSIxMDAlIixpLmhlaWdodD0iMHB4IixpLnBvc2l0aW9uPXIu
cG9zaXRpb24sdGhpcy5vcHRpb25zLmFjSWZyYW1lSGFjay5zdHlsZS5maWx0ZXI9
InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShzdHlsZT0w
LG9wYWNpdHk9MCkiLHRoaXMub3B0aW9ucy5hY0lmcmFtZUhhY2suc3JjPSIiLG4u
YXBwZW5kQ2hpbGQodGhpcy5vcHRpb25zLmFjSWZyYW1lSGFjayksdGhpcy5BQ0lm
cmFtZVNpemU9ZnVuY3Rpb24obil7aS5oZWlnaHQ9bn0sdGhpcy5BQ0lmcmFtZVZp
c2libGU9ZnVuY3Rpb24obil7aS52aXNpYmlsaXR5PW59fX0sQUNTdWdnZXN0aW9u
OmZ1bmN0aW9uKG4sdCl7cmV0dXJue0lEOm4sU3VnZ2VzdGlvbjp0fX0sQUNJZnJh
bWVTaXplOmZ1bmN0aW9uKCl7fSxBQ0lmcmFtZVZpc2libGU6ZnVuY3Rpb24oKXt9
fSxTdHJpbmcucHJvdG90eXBlLlJlbW92ZVJlZ2V4Q2hycz1mdW5jdGlvbigpe3Zh
ciBuPW5ldyBSZWdFeHAoIihcXFxcfFxcLnxcXCt8XFwkfFxcP3xcXCp8XFwofFxc
KXxcXFt8XFxdfFxcXnxcXCEpIiwiZyIpO3JldHVybiB0aGlzLnJlcGxhY2Uobiwi
XFwkMSIpfTt2YXIgZGJjc1NwYWNlUkU9bmV3IFJlZ0V4cChTdHJpbmcuZnJvbUNo
YXJDb2RlKDEyMjg4KSwiZyIpO1N0cmluZy5wcm90b3R5cGUuQUNSZW1vdmVTcGFj
ZXM9ZnVuY3Rpb24oKXt2YXIgbj10aGlzLnJlcGxhY2UoZGJjc1NwYWNlUkUsIiAi
KTtyZXR1cm4gbj1uLnJlcGxhY2UoL15ccyt8XHMrJC9nLCIiKSxuLnJlcGxhY2Uo
L1xzXHMrL2csIiAiKX07

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=onemscomcomponents.css
Content-Type: text/css; name=onemscomcomponents.css
Content-Location: http://support.microsoft.com/Styles/onemscomcomponents.css
Content-Transfer-Encoding: 8bit

.oneMscomComp,.oneMscomComp div,.oneMscomComp h1,.oneMscomComp h2,.oneMscomComp h3,.oneMscomComp h4,.oneMscomComp h5,.oneMscomComp h6,.oneMscomComp li,.oneMscomComp ol,.oneMscomComp p,.oneMscomComp ul{margin:0;padding:0}.oneMscomComp a{cursor:pointer}.oneMscomComp a:link,.oneMscomComp a:visited{text-decoration:none}.oneMscomComp a:hover,.oneMscomComp a:active{text-decoration:underline}.oneMscomComp h1,.oneMscomComp h2,.oneMscomComp h3,.oneMscomComp h4,.oneMscomComp h5,.oneMscomComp h6{font-weight:normal;font-size:100%}.oneMscomComp img{border:none}.oneMscomComp ol,.oneMscomComp ul{list-style-type:none}.oneMscomComp .cssClear{clear:both;height:0;margin:0;padding:0;_line-height:0}.oneMscomComp .png-img{position:relative;overflow:hidden}.oneMscomComp .png-img span{position:absolute;top:-9999px}.oneMscomComp .png-img div{background-position:0 center;background-repeat:no-repeat}.oneMscomComp .png-img .bg-img{display:block;_display:none}.oneMscomComp .png-img .filter-img{display:none;_display:block}
------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=oneMscomListLayout.css
Content-Type: text/css; name=oneMscomListLayout.css
Content-Location: http://support.microsoft.com/Styles/oneMscomListLayout.css
Content-Transfer-Encoding: 8bit

.oneMscomList{overflow:hidden;*display:inline-block}.oneMscomListFeatureLayout .mstListFeatureLayoutImgContainer{position:relative;overflow:hidden}.oneMscomListFeatureLayout .mstListFeatureLayoutTitle{padding-bottom:5px;font-size:80%}.oneMscomListFeatureLayout .mstListFeatureLayoutTitle a{text-decoration:none}.oneMscomListFeatureLayout .mstListFeatureLayoutTitleLink{font-weight:bold}.oneMscomListFeatureLayout .mstListFeatureLayoutDesc{font-size:75%}.oneMscomListFeatureLayout .mstListFeatureLayoutButton{padding-top:10px;padding-bottom:10px}.oneMscomListFeatureLayout .mstListFeatureLayoutButton a{border:1px solid navy;text-decoration:none}.oneMscomListFeatureLayout .mstListFeatureLayoutButtonText{padding-left:10px;padding-right:10px}div.oneMscomListTileIconLayout{position:relative;background-repeat:no-repeat;background-position:center}div.oneMscomListTileIconLayoutSmall,div.oneMscomListTileIconLayoutSmall .mstListTileIconLayoutImage{height:145px;width:145px}div.oneMscomListTileIconLayoutSmall .mstListTileIconLayoutImage{*height:auto;*width:auto}div.oneMscomListTileIconLayoutLarge,div.oneMscomListTileIconLayoutLarge .mstListTileIconLayoutImage{height:145px;width:300px}.oneMscomListTileIconLayout a:active,.oneMscomListTileIconLayout a:hover{text-decoration:none}.oneMscomListTileIconLayout .mstListTileIconLayoutLink{height:100%;width:100%;display:block}.oneMscomListTileIconLayout .mstListTileIconLayoutImage{text-align:center;vertical-align:middle;display:table-cell}.oneMscomListTileIconLayout .mstListTileIconLayoutTitle{position:absolute;bottom:0;padding:5px 10px 5px 10px;color:#fff}.oneMscomListTileIconLayout .mstListTileIconLayoutTitle_right{*right:0}.oneMscomListTileIconLayout .mstListTileIconLayoutImage span{*display:inline-block;*height:100%;*width:1px}.oneMscomListTileIconLayout .mstListTileIconLayoutImage *{*vertical-align:middle}div.oneMscomListTileTextLayout{position:relative;background-repeat:no-repeat;background-position:center}div.oneMscomListTileTextLayoutSmall{height:145px;width:145px}div.oneMscomListTileTextLayoutLarge{height:145px;width:300px}div.oneMscomListTileTextLayoutSmall .mstListTileTextLayoutText{height:135px;width:135px}div.oneMscomListTileTextLayoutLarge .mstListTileTextLayoutText{height:135px;width:290px}.oneMscomListTileTextLayout a:active,.oneMscomListTileTextLayout a:hover{text-decoration:none}.oneMscomListTileTextLayout .mstListTileTextLayoutLink{height:100%;width:100%;display:block}.oneMscomListTileTextLayout .mstListTileTextLayoutText{vertical-align:middle;display:table-cell;color:#fff;padding:5px 10px 5px 10px;font-size:85%}.oneMscomListTileTextLayout .mstListTileTextLayoutTitle_right{*right:0}.oneMscomListTileTextLayout .mstListTileTextLayoutText *{*vertical-align:middle}.oneMscomListTileTextLayout .mstListTileTextLayoutText .mstListTileTextLayoutSpan{*display:inline-block;*height:100%;*width:1px}.oneMscomListTileTextLayout .mstListTileTextLayoutText .mstListTileTextLayoutTextSpan{*display:inline-block}.oneMscomListTileTextLayout .mstListTileTextLayoutTitle{position:absolute;bottom:0;padding:5px 10px 5px 10px;color:#fff}.oneMscomListPrimaryTitleLayout{font-size:200%}.oneMscomListSecondaryTitleLayout{font-size:150%}.oneMscomListTextLayout{font-size:75%}.oneMscomListLinkLayout .mstListLinkLayoutLink{font-size:80%}.oneMscomListSpacerLayout{background-repeat:no-repeat;background-position:center}.oneMscomCarouselLayout .mstCarouselLayoutDesc a:hover{text-decoration:none}.oneMscomRatingLayout .mstRatingLayoutStar{background-repeat:no-repeat;background-color:transparent}.oneMscomRatingLayout .mstRatingLayoutStarBig a{height:17px;width:17px}.oneMscomRatingLayout .mstRatingLayoutStarSmall a{height:13px;width:13px;overflow:hidden}.oneMscomRatingLayout .mstRatingTotalStar{background-color:#e1f2fb;text-align:center;height:19px;color:#4f4f4f;font-size:11px}.oneMscomRatingLayout .mstRatingTotalStarSpan{display:inline-block;margin-left:2px;margin-right:2px;margin-top:3px}.oneMscomRatingLayout .mstRatingBinaryNav{background-repeat:no-repeat;background-color:transparent}.oneMscomRatingLayout .mstRatingBinaryNav a{height:18px;width:18px}.oneMscomRatingLayout .mstRatingBinaryMinusOn{background-position:0 0;cursor:pointer}.oneMscomRatingLayout .mstRatingBinaryMinusOff{background-position:0 -36px}.oneMscomRatingLayout .mstRatingBinaryPlusOn{background-position:0 -72px;cursor:pointer}.oneMscomRatingLayout .mstRatingBinaryPlusOff{background-position:0 -108px}.oneMscomRatingLayout .mstRatingBinaryContainer{width:300px}.oneMscomRatingLayout .mstRatingBinaryBarContainer{height:2px;padding-top:8px;padding-left:4px;padding-right:4px}.oneMscomRatingLayout .mstRatingBinaryBarNotLike{width:100%;height:2px}.oneMscomRatingLayout .mstRatingBinaryBarLike{height:100%}.oneMscomRatingLayout .mstRatingTotalBinary{color:#4f4f4f;font-size:11px}.oneMscomListHeroLayout a:hover{text-decoration:none}.oneMscomListHeroLayout .mstHeroCategoryLink{margin-bottom:5px}.oneMscomListHeroLayout .mstHeroTitleLink{font-weight:bold}.oneMscomListHeroLayout .mstHeroTitleContainer .mstHeroDesc{padding:11px 0 13px 0}.oneMscomListHeroLayout .mstHeroTitleContainerRight{padding:0 20px 0 10px}.oneMscomListHeroLayout .mstHeroTitleContainerLeft{padding:0 20px 0 20px}.oneMscomListHeroLayout .mstHeroPlaceholder{margin:0;padding:0}.oneMscomListHeroLayout .mstHeroTitleContainerRight .mstHeroPlaceholder{height:12px}.oneMscomListHeroLayout .mstHeroTitleContainerLeft .mstHeroPlaceholder{height:37px}
------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=oneMscomBlade.css
Content-Type: text/css; name=oneMscomBlade.css
Content-Location: http://support.microsoft.com/Styles/oneMscomBlade.css
Content-Transfer-Encoding: 8bit

.mstHdr{width:960px}.mstHdr .mstHdr_PriRow{position:relative;min-height:26px;_height:26px;padding-left:10px;padding-right:10px}.mstHdr .mstHdr_SecRow{position:relative;min-height:26px;_height:26px;padding-right:0}.mstHdr .mstHdr_PriRowBg,.mstHdr .mstHdr_SecRowBg{position:absolute;top:0;bottom:0;left:0;right:0;z-index:-1}.mstHdr .mstHdr_PriRow{z-index:998}.mstHdr .mstHdr_PriRow a{text-decoration:none}.mstHdr .mstHdr_SecRow{z-index:995}.mstHdr .mstHdr_SecRow,.mstHdr .mstHdr_SecRow a:link,.mstHdr .mstHdr_SecRow a:visited,.mstHdr .mstHdr_SecRow a:active,.mstHdr .mstHdr_SecRow a:hover{color:#6a6a6a}.mstHdr .mstHdr_StaticSec11,.mstHdr .mstHdr_StaticSec12,.mstHdr .mstHdr_StaticSec13,.mstHdr .mstHdr_StaticSec14{min-height:1px;_height:1px}.mstHdr .mstHdr_StaticSec11{width:89px}.mstHdr .mstHdr_StaticSec12{width:330px}.mstHdr .mstHdr_StaticSec13{width:340px}.mstHdr .mstHdr_StaticSec14{width:171px}.mstHdr .mstHdr_StaticSec21{width:20%}.mstHdr .mstHdr_StaticSec22{width:80%}.mstHdr .mstHdr_MenuItem,.mstHdr .mstHdr_MenuItemSignIn{float:left;_width:0}.mstHdr .mstHdr_MenuLink a{display:block;padding:0 7px}.mstHdr .mstHdr_MenuLinkTxt,.mstHdr .mstHdr_MenuLinkImg,.mstHdr .mstHdr_MenuLinkDesc{float:left}.mstHdr .mstLcp_DualLangSpan .mstHdr_MenuLinkTxt{float:none}.mstHdr .mstHdr_MenuLinkTxt,.mstHdr .mstHdr_MenuLinkDesc{padding-top:6px;padding-bottom:6px;white-space:nowrap}.mstHdr a:hover .mstHdr_MenuLinkTxt,.mstHdr .selected .mstHdr_MenuLinkTxt,.mstHdr a:hover .mstHdr_MenuLinkDesc,.mstHdr .selected .mstHdr_MenuLinkDesc,.mstHdr span.mstLcp_DualLangSpan a.mstLcp_DualLangLink:hover{color:#ffea41}.mstHdr .mstHdr_StaticSec11 .mstHdr_MenuLinkTxt,.mstHdr .mstHdr_StaticSec13 .mstHdr_MenuLinkImg,.mstHdr .mstHdr_StaticSec14 .mstHdr_MenuLinkImg,.mstHdr .mstHdr_MenuLinkDesc{display:none}.mstHdr .mstHdr_HideMenuLink,.mstHdr .mstHdr_HideMenuLinkImage div.mstHdr_MenuLinkImg,.mstHdr .mstHdr_HideMenuLinkText div.mstHdr_MenuLinkTxt{display:none}.mstHdr .mstHdr_FlyoutPos{position:absolute;top:26px;width:100%;_width:960px}.mstHdr .mstHdr_Flyout{display:none}.mstHdr .mstHdr_mstHdr_FlyoutPosShown .mstHdr_Flyout{display:block}.mstHdr .mstHdr_SecRow .mstHdr_Flyout{background-color:#fff}.mstHdr .mstHdr_SecRow .mstHdr_Flyout,.mstHdr .mstHdr_SecRow .mstHdr_Flyout a:link,.mstHdr .mstHdr_SecRow .mstHdr_Flyout a:visited,.mstHdr .mstHdr_SecRow .mstHdr_Flyout a:active,.mstHdr .mstHdr_SecRow .mstHdr_Flyout a:hover{color:#6a6a6a}.mstHdr .mstHdr_FlyoutBotStrip{width:100%;height:5px;background-color:#ccc}div.mstHdr div.mstHdr_MenuItemLcp{_width:100%;*width:auto;_white-space:nowrap;_float:none}.mstHdr .mstHdr_MenuLinkAnchor{_width:50px}.mstHdr span.mstLcp_DualLangSpan{display:block;padding:6px 0;position:relative}.mstHdr span.mstLcp_DualLangSpan .mstHdr_MenuLinkTxt{padding:0}.mstHdr span.mstLcp_DualLangSpan a,.mstHdr span.mstLcp_DualLangSpan .mstLcp_DualLangSep{float:left}.mstHdr span.mstLcp_DualLangSpan .mstLcp_DualLangLink{display:block;padding:0 7px}.mstHdr .mstLcp{font-size:75%;padding:15px 20px 10px 20px}.mstHdr .mstLcp .mstLcp_Head{margin-bottom:5px}.mstHdr .mstLcp_Heading h3{font-size:228.57%;font-weight:normal;white-space:nowrap;padding-top:.4em;padding-bottom:3px}.mstLcp .mstLcp_LangLinks{position:relative;width:159px;margin-top:15px;margin-bottom:10px}.mstLcp div.mstLcp_LangLinksEmpty{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0}.mstHdr div.mstLcp div.mstLcp_Cols5{width:100%}.mstHdr .mstLcp_LangLinks ul.mstLcp_Col{width:179px;min-height:100%;_height:100%;_white-space:normal}.mstLcp .mstLcp_LangLinks a,.mstLcp .mstLcp_WorldwideLink a{display:block;padding:5px}.mstHdr .mstLcp_LangLinks a:hover,.mstHdr .mstLcp_LangLinks a:active,.mstHdr .mstLcp_WorldwideLink a:hover,.mstHdr .mstLcp_WorldwideLink a:active,.mstHdr .mstLcp_LangLinks a:hover span,.mstHdr .mstLcp_LangLinks a:active span,.mstHdr .mstLcp_WorldwideLink a:hover span,.mstHdr .mstLcp_WorldwideLink a:active span{color:#ffea41;text-decoration:none}.mstLcp .mstLcp_LangLinks li.mstLcp_Hide a:hover,.mstLcp .mstLcp_LangLinks li.mstLcp_Hide a:active{background-color:#fff!important}.mstHdr .mstLcp_WorldwideLink{margin-top:5px;padding-top:5px;width:159px}.mstLcp div.mstLcp_WorldwideLinkEmpty{border-top:solid 0;margin-top:0;padding-top:0}.mstHdr .mstLcp_WorldwideLink a{clear:both;white-space:nowrap}.mstHdr .mstHdr_SignInOut a#idPPScarab{display:block;white-space:nowrap}.mstHdr .mstHdr_SignInOut span#idSIT,.mstHdr .mstHdr_SignInOut span#idSOT{display:block;padding:6px 7px}.mstHdr .mstHdr_Flyout .mstHdr_PrdLayoutA .mstHdr_PrdSection31{width:440px}.mstHdr .mstHdr_Flyout .mstHdr_PrdLayoutA .mstHdr_PrdSection31 li{padding-bottom:7px}.mstHdr .mstHdr_Flyout .mstHdr_PrdLayoutA .mstHdr_PrdSection31 .mstHdr_PrdSection31_Image{height:50px;width:50px;vertical-align:middle}.mstHdr .mstHdr_Flyout .mstHdr_PrdLayoutA .mstHdr_PrdSection31 .mstHdr_PrdSection31_Image .mstHdr_PrdSection31_Image_Inner{height:50px;width:50px;display:table-cell;vertical-align:middle}.mstHdr .mstHdr_Flyout .mstHdr_PrdLayoutA .mstHdr_PrdSection31 .mstHdr_PrdSection31_ImageSize{height:45px;width:45px}.mstHdr .mstHdr_Flyout .mstHdr_PrdLayoutA .mstHdr_PrdSection31 .mstHdr_PrdSection31_Item .mstHdr_PrdSection31_Text a:link,.mstHdr .mstHdr_Flyout .mstHdr_PrdLayoutA .mstHdr_PrdSection31 .mstHdr_PrdSection31_Item .mstHdr_PrdSection31_Text a:visited,.mstHdr .mstHdr_Flyout .mstHdr_PrdLayoutA .mstHdr_PrdSection31 .mstHdr_PrdSection31_Item .mstHdr_PrdSection31_Text a:active{font-family:Segoe UI Light,Tahoma,Arial,Verdana,sans-serif;font-size:32px;text-decoration:none;color:#ddd}.mstHdr .mstHdr_Flyout .mstHdr_PrdLayoutA .mstHdr_PrdSection31 .mstHdr_PrdSection31_Item .mstHdr_PrdSection31_Text a:hover{color:#ffea41}.mstHdr .mstHdr_Flyout .mstHdr_PrdSection32{width:230px;padding-top:0}.mstHdr .mstHdr_Flyout .mstHdr_PrdSection32 li{padding-bottom:5px}.mstHdr .mstHdr_Flyout .mstHdr_PrdSection32 ul{padding-bottom:10px}.mstHdr .mstHdr_Flyout .mstHdr_PrdSection32 ul.first{padding-bottom:0}.mstHdr .mstHdr_Flyout .mstHdr_PrdSection32 .mstHdr_PrdSection32_GroupHeader a:link,.mstHdr .mstHdr_Flyout .mstHdr_PrdSection32 .mstHdr_PrdSection32_GroupHeader a:visited,.mstHdr .mstHdr_Flyout .mstHdr_PrdSection32 .mstHdr_PrdSection32_GroupHeader a:active,.mstHdr .mstHdr_Flyout .mstHdr_PrdSection32 .mstHdr_PrdSection32_GroupHeader a:hover{font-family:Segoe UI Light,Tahoma,Arial,Verdana,sans-serif;font-size:26px;padding-bottom:0;text-decoration:none;cursor:default;color:#ddd;margin-top:10px}.mstHdr .mstHdr_Flyout .mstHdr_PrdSection32 .mstHdr_PrdSection32_GroupItem a:link,.mstHdr .mstHdr_Flyout .mstHdr_PrdSection32 .mstHdr_PrdSection32_GroupItem a:visited,.mstHdr .mstHdr_Flyout .mstHdr_PrdSection32 .mstHdr_PrdSection32_GroupItem a:active{font-family:Segoe UI,Tahoma,Arial,Verdana,sans-serif;font-size:13px;padding-bottom:0;text-decoration:none;color:#bbb}.mstHdr .mstHdr_Flyout .mstHdr_PrdSection32 .mstHdr_PrdSection32_GroupItem a:hover{color:#ffea41}.mstHdr .mstHdr_Flyout .mstHdr_PrdSection33{width:230px}.mstHdr .mstHdr_Flyout .mstHdr_PrdSection33 li{padding-bottom:4px}.mstHdr .mstHdr_Flyout .mstHdr_PrdSection33 .mstHdr_PrdSectio33_Item{padding-top:45px}.mstHdr .mstHdr_Flyout .mstHdr_PrdSection33 .mstHdr_PrdSection33_GroupHeader a:link,.mstHdr .mstHdr_Flyout .mstHdr_PrdSection33 .mstHdr_PrdSection33_GroupHeader a:visited,.mstHdr .mstHdr_Flyout .mstHdr_PrdSection33 .mstHdr_PrdSection33_GroupHeader a:active,.mstHdr .mstHdr_Flyout .mstHdr_PrdSection33 .mstHdr_PrdSection33_GroupHeader a:hover{font-family:Segoe UI Light,Tahoma,Arial,Verdana,sans-serif;font-size:26px;padding-bottom:0;text-decoration:none;cursor:default;color:#ddd}.mstHdr .mstHdr_Flyout .mstHdr_PrdSection33 .mstHdr_PrdSection33_GroupItem a:link,.mstHdr .mstHdr_Flyout .mstHdr_PrdSection33 .mstHdr_PrdSection33_GroupItem a:visited,.mstHdr .mstHdr_Flyout .mstHdr_PrdSection33 .mstHdr_PrdSection33_GroupItem a:active{font-family:Segoe UI,Tahoma,Arial,Verdana,sans-serif;font-size:18px;padding-bottom:0;text-decoration:none;color:#bbb}.mstHdr .mstHdr_Flyout .mstHdr_PrdSection33 .mstHdr_PrdSection33_GroupItem a:hover{color:#ffea41}.mstHdr .mstHdr_Flyout .mstHdr_PrdBottomStrip{width:100%;height:5px;display:inline-block;background-color:#ccc;margin-top:10px}.mstHdr .mstHdr_Flyout .mstHdr_PrdLayoutA .mstHdr_PrdSection31 .mstHdr_PrdSection31_ImageSize{*padding-top:2px}.mstHdr .mstHdr_divA{width:100%;min-height:26px;overflow:hidden}.mstHdr .mstHdr_divContainer{position:absolute;top:0;left:-2px;background-color:transparent;left:0;border:0 none transparent;display:block;width:100%;_width:960px}.mstHdr .mstHdr_divContainer .mstHdr_Image{width:18px;height:18px;cursor:hand;background-repeat:no-repeat;position:absolute;z-index:996px;margin-top:2px}.mstHdr .mstHdr_divContainer .mstHdr_divBContent{width:100%;z-index:990px}.mstHdrV3{margin-bottom:20px}.mstHdrV3 .mstHdr_PriRow{position:relative;min-height:26px;_height:26px;*z-index:1002}.mstHdrV3 .mstHdr_SecRow{position:relative;*z-index:994}.mstHdrV3 .mstHdr_StaticSec11{display:inline-block;margin-top:20px}.mstHdrV3 .mstHdr_StaticSec12{display:inline-block;margin-top:18px}.mstHdrV3 .mstHdr_StaticSec121{margin-bottom:27px;*z-index:1001;*position:relative}.mstHdrV3-rtl .mstHdr_StaticSec121{*width:160px}.mstHdrV3 .mstHdr_StaticSec121{_width:170px}.mstHdrV3 .mstHdr_StaticSec21{margin-top:25px}.mstHdrV3 .mstHdr_MenuLinkMsLogo{min-height:25px}.mstHdrV3 .mstHdr_MenuLinkMsLogo a{display:inline-block}.mstHdrV3 .mstHdr_MsLogoImageLarge{margin-top:35px;height:35px}.mstHdrV3 .mstHdr_MsLogoImageSmall{height:20px}.mstHdrV3 .mstHdr_MenuItemSiteIdentity{min-height:45px}.mstHdrV3 .mstHdr_MenuItemSiteIdentity a{text-decoration:none}.mstHdrV3 .mstHdr_HideSiteIdentity{display:none;min-height:0}.mstHdrV3-rtl .mstHdr_MenuItemsAccount{*width:70px}.mstHdrV3 .mstHdr_MenuItemsAccount{_width:70px}.mstHdrV3 .mstHdr_MenuItemAccount{position:relative}.mstHdrV3 a.mstHdr_MenuItemAccountFlyoutLink{display:block;padding-left:5px;padding-right:5px}.mstHdrV3 .mstHdr_MenuItemAccountFlyoutLinkArrow{margin-top:8px;*margin-top:0}.mstHdrV3 .mstHdr_MenuItemAccountFlyoutLinkArrow img{height:5px;width:7px}.mstHdrV3 .mstHdr_FlyoutPos{position:relative;z-index:999}.mstHdrV3 .mstHdr_Flyout{position:absolute;z-index:998;background-color:#fff;width:150px;top:-1px}.mstHdrV3 .mstHdr_Flyout{display:none}.mstHdrV3 .mstHdr_AccountItems{padding:10px}.mstHdrV3 .mstHdr_MenuItemsAccount .mstHdr_MenuItemAccountText{position:relative;z-index:1000;background-color:#fff}.mstHdrV3 .mstHdr_MenuItemsAccount .mstHdr_MenuItemAccountText{border:1px solid #fff;border-bottom-style:none}.mstHdrV3 .mstHdr_MenuItemsAccount .mstHdr_MenuItemAccountText{_width:75px}.mstHdrV3 .mstHdr_AccountItem a{padding-top:5px;color:#000;font-size:100%}.mstHdrV3 .mstHdr_AccountItem a.first{padding-top:0}.mstHdrV3-rtl .mstHdr_SignInOut{*width:80px}.mstHdrV3 .mstHdr_SignInOut{_width:80px}.mstHdrV3 .mstHdr_SignInOut a.mstHdr_UserProfileTileLink{display:block;display:none}.mstHdrV3 .mstHdr_SignInOut .mstHdr_UserProfileTileImage{height:22px;width:22px}.mstHdrV3 .mstHdr_BrandLine{height:5px;position:absolute;width:100%;left:0;right:0;overflow:hidden}
------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=oneMscomBlade.js
Content-Type: application/x-javascript; name=oneMscomBlade.js
Content-Location: http://support.microsoft.com/scripts/oneMscomBlade.js
Content-Transfer-Encoding: Base64

d2luZG93Lk1zdD09PXVuZGVmaW5lZCYmKHdpbmRvdy5Nc3Q9e30pLE1zdC5GbHlv
dXRNZW51PWZ1bmN0aW9uKG4sdCxpLHIsdSxmLGUsbyxzKXt2YXIgYz0iLiIsaD10
aGlzLGwsYTtoLkNvbnRyb2w9JCgiIyIrbiksaC5fbWVudUNsYXNzPWMrdCxoLl9p
dGVtQ2xhc3M9YytpLGguX2ZseW91dExpbmtDbGFzcz1jK3IsaC5fc3RhdGljTGlu
a0NsYXNzPWMrdSxoLl9mbHlvdXRDbGFzcz1jK2YsaC5fZmx5b3V0UmVnaW9uQ2xh
c3M9YytlLGguU2V0UHJpUm93V2lkdGgoaC5Db250cm9sKSxoLl9vbk9wZW5DbGlj
az1vLGguX29uQ2xvc2VFdmVudD1zLGguQ29udHJvbC5maW5kKGguX2ZseW91dExp
bmtDbGFzcykuY2xpY2soJC5wcm94eShoLkl0ZW1DbGljayxoKSkua2V5ZG93bigk
LnByb3h5KGguSXRlbUtleURvd24saCkpLGw9aC5Db250cm9sLmZpbmQoaC5fZmx5
b3V0Q2xhc3MpLnRvQXJyYXkoKTtmb3IoYSBpbiBsKSQobFthXSkuZmluZCgiYTps
YXN0Iikua2V5ZG93bigkLnByb3h5KGguTGFzdExpbmtLZXlEb3duLGgpKTskKGRv
Y3VtZW50KS5jbGljaygkLnByb3h5KGguRG9jQ2xpY2ssaCkpfSxNc3QuRmx5b3V0
TWVudS5wcm90b3R5cGU9e1NldFByaVJvd1dpZHRoOmZ1bmN0aW9uKG4pe3ZhciB0
PSQoIi5tc3RIZHJfUHJpUm93IixuKSx1PSQoIi5tc3RIZHJfU3RhdGljU2VjMTEi
LHQpLmZpcnN0KCksZj0kKCIubXN0SGRyX1N0YXRpY1NlYzEyIix0KS5maXJzdCgp
LGU9JCgiLm1zdEhkcl9TdGF0aWNTZWMxMyIsdCkuZmlyc3QoKSxpPSQoIi5tc3RI
ZHJfU3RhdGljU2VjMTQiLHQpLmZpcnN0KCkscjskLmJyb3dzZXIubXNpZT8kLmJy
b3dzZXIudmVyc2lvbi5zdWJzdHIoMCwxKT43JiZpLndpZHRoKCJhdXRvIik6aS53
aWR0aCgiYXV0byIpLHI9dC53aWR0aCgpLXUud2lkdGgoKS1mLndpZHRoKCktaS53
aWR0aCgpLTEsZS53aWR0aChyPjA/cjoiMTAwJSIpfSxEb2NDbGljazpmdW5jdGlv
bihuKXt2YXIgdD10aGlzLkNvbnRyb2wuZmluZCgiLnNlbGVjdGVkIiksaTt0LnNp
emUoKT4wJiYoaT0kLmNvbnRhaW5zKHQuZ2V0KDApLG4udGFyZ2V0KSxpfHx0aGlz
LkhpZGVGbHlvdXRzKG4pKX0sSXRlbUNsaWNrOmZ1bmN0aW9uKG4pe3ZhciB0PXRo
aXM7JChuLnRhcmdldCkuaGFzQ2xhc3MoIm1zdExjcF9EdWFsTGFuZ0xpbmsiKXx8
KG4ucHJldmVudERlZmF1bHQoKSx0LklzRmx5b3V0VmlzaWJsZShuKT90LkhpZGVG
bHlvdXRzKG4pOih0LkhpZGVGbHlvdXRzKG4pLHQuU2hvd0ZseW91dChuKSx0Ll9v
bk9wZW5DbGljayE9bnVsbCYmdC5fb25PcGVuQ2xpY2sobikpKX0sSXRlbUtleURv
d246ZnVuY3Rpb24obil7bi53aGljaD09OSYmbi5zaGlmdEtleSYmdGhpcy5IaWRl
Rmx5b3V0cygpfSxMYXN0TGlua0tleURvd246ZnVuY3Rpb24obil7bi53aGljaD09
OSYmKG4uc2hpZnRLZXl8fHRoaXMuSGlkZUZseW91dHMoKSl9LElzRmx5b3V0Vmlz
aWJsZTpmdW5jdGlvbihuKXtyZXR1cm4gJChuLnRhcmdldCkucGFyZW50cyh0aGlz
Ll9pdGVtQ2xhc3MpLmZpbmQodGhpcy5fZmx5b3V0Q2xhc3MpLmNzcygiZGlzcGxh
eSIpIT0ibm9uZSJ9LFNob3dGbHlvdXQ6ZnVuY3Rpb24obil7dmFyIHQ9JChuLnRh
cmdldCkucGFyZW50cyh0aGlzLl9pdGVtQ2xhc3MpLmFkZENsYXNzKCJzZWxlY3Rl
ZCIpLmZpbmQodGhpcy5fZmx5b3V0Q2xhc3MpO3RoaXMuUG9zaXRpb25GbHlvdXQo
dCksalF1ZXJ5LmJyb3dzZXIub3BlcmF8fGpRdWVyeS5icm93c2VyLm1zaWUmJmRv
Y3VtZW50LmRvY3VtZW50TW9kZTw9Nz90LnNob3coKTp0LnNsaWRlRG93bigyMDAp
fSxIaWRlRmx5b3V0czpmdW5jdGlvbigpe3ZhciBuPXRoaXMsdDtqUXVlcnkuYnJv
d3Nlci5vcGVyYXx8alF1ZXJ5LmJyb3dzZXIubXNpZSYmZG9jdW1lbnQuZG9jdW1l
bnRNb2RlPD03PyQobi5fZmx5b3V0Q2xhc3Msbi5Db250cm9sKS5oaWRlKCk6JChu
Ll9mbHlvdXRDbGFzcyxuLkNvbnRyb2wpLnNsaWRlVXAoMjAwKSx0PW4sbi5fb25D
bG9zZUV2ZW50IT1udWxsJiYkKG4uX2l0ZW1DbGFzcykuZmlsdGVyKCIuc2VsZWN0
ZWQiKS5lYWNoKGZ1bmN0aW9uKCl7dC5fb25DbG9zZUV2ZW50KCQodGhpcykuZmlu
ZCh0Ll9mbHlvdXRMaW5rQ2xhc3MpKX0pLCQobi5faXRlbUNsYXNzKS5yZW1vdmVD
bGFzcygic2VsZWN0ZWQiKX0sUG9zaXRpb25GbHlvdXQ6ZnVuY3Rpb24obil7dmFy
IGY9dGhpcyxvPSJsZWZ0Iix0PW4ucGFyZW50cyhmLl9pdGVtQ2xhc3MpLndpZHRo
KCkscz1uLnBhcmVudHMoZi5faXRlbUNsYXNzKS5wb3NpdGlvbigpLmxlZnQsZT1u
Lm91dGVyV2lkdGgoKSxoPW4ucGFyZW50cyhmLl9tZW51Q2xhc3MpLndpZHRoKCks
YT1uLnBhcmVudHMoZi5fbWVudUNsYXNzKS5wb3NpdGlvbigpLmxlZnQsYz1oLHIs
aSxsLHU7bi5wYXJlbnRzKGYuX2ZseW91dFJlZ2lvbkNsYXNzKS5zaXplKCk+MCYm
KGM9bi5wYXJlbnRzKGYuX2ZseW91dFJlZ2lvbkNsYXNzKS5pbm5lcldpZHRoKCkp
LHI9cythLGk9aC1zLXQsZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRpcj09InJ0
bCImJihvPSJyaWdodCIsdC09MixpPWMtcy10LGw9cixyPWksaT1sKSxpPDAmJihp
PTApLHI8MCYmKHI9MCksdT0wLGU+dCtpP2U8dCtyPyh1PWRvY3VtZW50LmRvY3Vt
ZW50RWxlbWVudC5kaXI9PSJydGwiPy1lK3QrMjotZSt0LG4uY3NzKG8sdSksbi5h
ZGRDbGFzcygiZG9jay1yaWdodCIpKTplPHIraSt0Pyh1PS1lKyhpK3QpLG4uY3Nz
KG8sdSkpOih1PS1yLTEsbi5jc3Mobyx1KSk6KG4uY3NzKG8sdSksbi5hZGRDbGFz
cygiZG9jay1sZWZ0IikpfX0sTXN0LkFuaW1IZWFkZXJJdGVtcz1mdW5jdGlvbihu
LHQpeyQoIiMiK24rIiAuIit0KS5lYWNoKGZ1bmN0aW9uKCl7bmV3IE1zdC5Bbmlt
SGVhZGVySXRlbSgkKHRoaXMpLCJtc3RIZHJfTWVudUxpbmtUeHQiLCJtc3RIZHJf
TWVudUxpbmtJbWciLCJtc3RIZHJfTWVudUxpbmtEZXNjIil9KX0sTXN0LkNQU0Fu
aW1hdGlvbj1mdW5jdGlvbihuLHQsaSxyKXt2YXIgdT10aGlzO3UuX2lzQ2xvc2Vk
PW4sdS5fdGltZU91dElkVmFsPXQsdS5fZGlzcGxheT1pLHUuX2Rpc3BsYXlUaW1l
PXIsdS5PcGVuQigpfSxNc3QuQ1BTQW5pbWF0aW9uLnByb3RvdHlwZT17T3BlbkI6
ZnVuY3Rpb24oKXt2YXIgbj10aGlzO24uX2Rpc3BsYXkmJigkKCIubXN0SGRyX2Rp
dkEiKS5jc3MoInZpc2liaWxpdHkiLCJoaWRkZW4iKSwkKCIjZGl2Q29udGFpbmVy
Iikuc2hvdygwLG4uc2V0U2l6ZSgpKSx0aW1lT3V0SWRWYWw9d2luZG93LnNldFRp
bWVvdXQobi5DbG9zZUIsbi5fZGlzcGxheVRpbWUpLCQoIi5tc3RIZHJfSW1hZ2Ui
KS5jbGljaygkLnByb3h5KG4uSXRlbUNsaWNrQ2xvc2VCLG4pKSl9LEl0ZW1DbGlj
a0Nsb3NlQjpmdW5jdGlvbihuKXtuLnByZXZlbnREZWZhdWx0KCksdGhpcy5DbG9z
ZUIoKX0sQ2xvc2VCOmZ1bmN0aW9uKCl7dGhpcy5faXNDbG9zZWR8fCgkKCIubXN0
SGRyX2RpdkNvbnRhaW5lciIpLnNsaWRlVXAoNjAwKSx0aGlzLl9pc0Nsb3NlZD0h
MCx3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVPdXRJZFZhbCksJCgiLm1z
dEhkcl9kaXZBIikuY3NzKCJ2aXNpYmlsaXR5IiwidmlzaWJsZSIpKX0sc2V0U2l6
ZTpmdW5jdGlvbigpe3ZhciBuPSQoIiNpbWFnZUNQU0IiKS53aWR0aCgpOyQoIi5t
c3RIZHJfSW1hZ2UiKS53aWR0aChuLTIpfX0sTXN0LkFjY291bnRGbHlvdXQ9ZnVu
Y3Rpb24obil7dmFyIHQ9dGhpczt0LkNvbnRyb2w9JCgiIyIrbiksdC5faWQ9bix0
Ll9pdGVtQ2xhc3M9Ii5tc3RIZHJfTWVudUl0ZW1BY2NvdW50Iix0Ll9mbHlvdXRD
bGFzcz0iLm1zdEhkcl9GbHlvdXQiLHQuX2ZseW91dExpbmtDbGFzcz0iLm1zdEhk
cl9NZW51SXRlbUFjY291bnRGbHlvdXRMaW5rIix0Ll9BY2NvdW50Rmx5b3V0TGlu
a1RleHQ9Ii5tc3RIZHJfTWVudUl0ZW1BY2NvdW50Rmx5b3V0TGlua1RleHQiLHQu
Q29udHJvbC5maW5kKHQuX2ZseW91dExpbmtDbGFzcykuY2xpY2soJC5wcm94eSh0
Lkl0ZW1DbGljayx0KSkua2V5ZG93bigkLnByb3h5KHQuSXRlbUtleURvd24sdCkp
LCQoZG9jdW1lbnQpLmNsaWNrKCQucHJveHkodC5Eb2NDbGljayx0KSksdC5Db250
cm9sLmZpbmQodC5fZmx5b3V0TGlua0NsYXNzKS5tb3VzZWVudGVyKCQucHJveHko
dC5Pbk1vdXNlRW50ZXJBY2NvdW50TGluayx0KSksdC5Db250cm9sLmZpbmQodC5f
Zmx5b3V0TGlua0NsYXNzKS5tb3VzZWxlYXZlKCQucHJveHkodC5Pbk1vdXNlTGVh
dmVBY2NvdW50TGluayx0KSl9LE1zdC5BY2NvdW50Rmx5b3V0LnByb3RvdHlwZT17
RG9jQ2xpY2s6ZnVuY3Rpb24obil7dmFyIHQ9dGhpcy5Db250cm9sLmZpbmQoIi5z
ZWxlY3RlZCIpLGk7dC5zaXplKCk+MCYmKGk9JC5jb250YWlucyh0LmdldCgwKSxu
LnRhcmdldCksaXx8dGhpcy5IaWRlRmx5b3V0cyhuKSl9LEl0ZW1DbGljazpmdW5j
dGlvbihuKXtuLnByZXZlbnREZWZhdWx0KCksdGhpcy5Jc0ZseW91dFZpc2libGUo
bik/dGhpcy5IaWRlRmx5b3V0cyhuKTp0aGlzLlNob3dGbHlvdXQobil9LEl0ZW1L
ZXlEb3duOmZ1bmN0aW9uKG4pe24ud2hpY2g9PTkmJm4uc2hpZnRLZXkmJnRoaXMu
SGlkZUZseW91dHMobil9LElzRmx5b3V0VmlzaWJsZTpmdW5jdGlvbihuKXtyZXR1
cm4gJChuLnRhcmdldCkucGFyZW50cyh0aGlzLl9pdGVtQ2xhc3MpLmZpbmQodGhp
cy5fZmx5b3V0Q2xhc3MpLmNzcygiZGlzcGxheSIpIT0ibm9uZSJ9LFNob3dGbHlv
dXQ6ZnVuY3Rpb24obil7dmFyIHQ9dGhpcyxpPSQobi50YXJnZXQpLnBhcmVudHMo
dC5faXRlbUNsYXNzKS5hZGRDbGFzcygic2VsZWN0ZWQiKS5maW5kKHQuX2ZseW91
dENsYXNzKTt0LlBvc2l0aW9uRmx5b3V0KGkpLGpRdWVyeS5icm93c2VyLm9wZXJh
fHxqUXVlcnkuYnJvd3Nlci5tc2llJiZkb2N1bWVudC5kb2N1bWVudE1vZGU8PTc/
aS5zaG93KCk6aS5zbGlkZURvd24oMjAwKSx0LkJpVHJhY2soMiw5LCIuIiskKG4u
dGFyZ2V0KS5hdHRyKCJjbGFzcyIpKX0sSGlkZUZseW91dHM6ZnVuY3Rpb24obil7
dmFyIHQ9dGhpcztqUXVlcnkuYnJvd3Nlci5vcGVyYXx8alF1ZXJ5LmJyb3dzZXIu
bXNpZSYmZG9jdW1lbnQuZG9jdW1lbnRNb2RlPD03PyQodC5fZmx5b3V0Q2xhc3Ms
dC5Db250cm9sKS5oaWRlKCk6JCh0Ll9mbHlvdXRDbGFzcyx0LkNvbnRyb2wpLnNs
aWRlVXAoMjAwKSwkKHQuX2l0ZW1DbGFzcykucmVtb3ZlQ2xhc3MoInNlbGVjdGVk
IiksdC5CaVRyYWNrKDIsMTAsIi4iKyQobi50YXJnZXQpLmF0dHIoImNsYXNzIikp
fSxPbk1vdXNlRW50ZXJBY2NvdW50TGluazpmdW5jdGlvbigpe3RoaXMuQ29udHJv
bC5maW5kKHRoaXMuX0FjY291bnRGbHlvdXRMaW5rVGV4dCkuY3NzKCJ0ZXh0LWRl
Y29yYXRpb24iLCJ1bmRlcmxpbmUiKX0sT25Nb3VzZUxlYXZlQWNjb3VudExpbms6
ZnVuY3Rpb24oKXt0aGlzLkNvbnRyb2wuZmluZCh0aGlzLl9BY2NvdW50Rmx5b3V0
TGlua1RleHQpLmNzcygidGV4dC1kZWNvcmF0aW9uIiwibm9uZSIpfSxCaVRyYWNr
OmZ1bmN0aW9uKG4sdCxpKXt2YXIgdSxyLGY7aWYoJC5iaSYmJC5iaS5kYXRhUmV0
cmlldmVycy5zdHJ1Y3R1cmUpdHJ5e2k9dGhpcy5fZmx5b3V0TGlua0NsYXNzLHU9
dGhpcy5Db250cm9sLmZpbmQoaSkscj17dGl0bGU6JC50cmltKCQodSkudGV4dCgp
KX07dHJ5eyQuZXh0ZW5kKHIsJC5iaS5iYXNlRGF0YSgpLCQuYmkuZGF0YVJldHJp
ZXZlcnMuc3RydWN0dXJlLmdldERhdGEodSkpfWNhdGNoKG4pe31mPSQuZXh0ZW5k
KHt9LHIse2ludGVyYWN0aW9udHlwZTp0LGNvdDo1LHBhcmVudHR5cGVzdHJ1Y3R1
cmU6ci5wYXJlbnR0eXBlc3RydWN0dXJlfSksJC5iaS5yZWNvcmQoZil9Y2F0Y2go
bil7YWxlcnQoIkVycm9yOiIrbil9cmV0dXJuITB9LFBvc2l0aW9uRmx5b3V0OmZ1
bmN0aW9uKG4pe3ZhciB0PXRoaXMsYz0ibGVmdCIsdT1uLnBhcmVudHModC5faXRl
bUNsYXNzKS53aWR0aCgpLGY9bi5wYXJlbnRzKHQuX2l0ZW1DbGFzcykucG9zaXRp
b24oKS5sZWZ0LGE9bi5vdXRlcldpZHRoKCksbz1uLnBhcmVudHModC5fbWVudUNs
YXNzKS53aWR0aCgpLGw9bi5wYXJlbnRzKHQuX21lbnVDbGFzcykucG9zaXRpb24o
KS5sZWZ0LHM9byxyLGksaCxlO24ucGFyZW50cyh0Ll9mbHlvdXRSZWdpb25DbGFz
cykuc2l6ZSgpPjAmJihzPW4ucGFyZW50cyh0Ll9mbHlvdXRSZWdpb25DbGFzcyku
aW5uZXJXaWR0aCgpKSxyPWYrbCxpPW8tZi11LGRvY3VtZW50LmRvY3VtZW50RWxl
bWVudC5kaXI9PSJydGwiJiYoYz0icmlnaHQiLHUtPTIsaT1zLWYtdSxoPXIscj1p
LGk9aCksaTwwJiYoaT0wKSxyPDAmJihyPTApLGU9MCxkb2N1bWVudC5kb2N1bWVu
dEVsZW1lbnQuZGlyPT0icnRsIj8obi5jc3MoImxlZnQiLGUpLG4uYWRkQ2xhc3Mo
ImRvY2stbGVmdCIpKToobi5jc3MoInJpZ2h0IixlKSxuLmFkZENsYXNzKCJkb2Nr
LXJpZ2h0IikpfX0sTXN0LkhlYWRlclYzPT09dW5kZWZpbmVkJiYoTXN0LkhlYWRl
clYzPXt9KSxNc3QuSGVhZGVyVjM9ZnVuY3Rpb24obix0LGkpe3ZhciByPXRoaXM7
ci5TdGFnZVdpZHRoPXQsci5TdGFnZVBhZGRpbmc9aSxyLkNvbnRyb2w9JCgiIyIr
biksJCgkLnByb3h5KHIuUmVhZHkscikpfSxNc3QuSGVhZGVyVjMucHJvdG90eXBl
PXtSZWFkeTpmdW5jdGlvbigpe3RoaXMuU2V0QnJhbmRMaW5lKCksJCh3aW5kb3cp
LnJlc2l6ZSgkLnByb3h5KHRoaXMuU2V0QnJhbmRMaW5lLHRoaXMpKX0sU2V0QnJh
bmRMaW5lOmZ1bmN0aW9uKCl7dmFyIGU9InBhZGRpbmctcmlnaHQiLHU9InBhZGRp
bmctbGVmdCIsdD10aGlzLG49JCh0LkNvbnRyb2wuZmluZCgiLm1zdEhkcl9CcmFu
ZExpbmUiKSkscjtuLmNzcyh7bGVmdDoiMHB4IixyaWdodDoiMHB4Iix3aWR0aDoi
MHB4In0pO3ZhciBpPXQuQ29udHJvbC5vZmZzZXQoKS5sZWZ0LGY9MCxoPXQuQ29u
dHJvbC5oZWlnaHQoKSs2KyJweCIsbz1wYXJzZUludCh0LlN0YWdlV2lkdGg9PSIi
PyQoIi5zdGFnZSIpLndpZHRoKCk6dC5TdGFnZVdpZHRoKSxzPXBhcnNlSW50KHQu
U3RhZ2VQYWRkaW5nPT0iIj8kKCIuc3RhZ2UiKS5jc3ModSk6dC5TdGFnZVBhZGRp
bmcpO2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kaXI9PSJsdHIiPyhuLmNzcygi
bGVmdCIsaSotMSksbi5jc3ModSxpKSxuLmNzcyhlLGkpLGY9byk6KHI9aTxzP3M6
aSxuLmNzcygicmlnaHQiLHIqLTEpLG4uY3NzKHUsciksbi5jc3MoZSxyKSxmPW8p
LG4uY3NzKCJ3aWR0aCIsZil9fTs=

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=oneMscomFooter.css
Content-Type: text/css; name=oneMscomFooter.css
Content-Location: http://support.microsoft.com/Styles/oneMscomFooter.css
Content-Transfer-Encoding: 8bit

.oneMscomFooter{_width:100%}.oneMscomFooter .subBrandLogo{overflow:visible}.oneMscomFooter .msLogo{position:relative;padding-bottom:7px;padding-top:11px}.oneMscomFooter .msLogo a{display:block}.oneMscomFooter .msLogo a:hover{text-decoration:none}.oneMscomFooter .copyright{margin-top:4px;font-size:55%}.oneMscomFooter .links{padding-top:10px}.oneMscomFooter .links-inner{padding-top:3px;clear:both}.oneMscomFooter ul.customLinks li,.oneMscomFooter ul.defaultLinks li{float:left;font-size:70%}.oneMscomFooter ul li a{padding:0 8px;border-width:1px;border-style:solid;border-color:transparent;_border-color:#ffc0cb;_filter:chroma(color=pink);display:inline-block}.oneMscomFooter .altText{width:133px;padding-top:6px;padding-bottom:3px}.oneMscomFooter .seo-item .png-img{padding-top:2px}.oneMscomFooter .seo-item .png-img .filter-img,.oneMscomFooter .seo-item .png-img .bg-img{width:13px;height:13px}.oneMscomFooter .seo-item .seo-item-tab{position:relative;z-index:5}.oneMscomFooter .seo-item-tab a{display:inline-block}.oneMscomFooter .seo-item-tab a:hover{text-decoration:none}.oneMscomFooter .selected .seo-item-tab a{padding-bottom:4px;border-bottom:none;_border:none}.oneMscomFooter li.selected{_border-width:1px;_border-style:solid;_border-bottom:none}.oneMscomFooter .seoCatergory{float:none;padding-top:10px}.oneMscomFooter .firstCategory{padding-top:0}.oneMscomFooter .seo-item .seo-link{float:left}.oneMscomFooter ul.seoCatergory li{display:block;float:none;font-size:100%;font-weight:bold}.oneMscomFooter ul.seoCatergory li a{padding:0 8px;border-width:1px;border-style:solid;border-color:transparent;_border-color:#ffc0cb;_filter:chroma(color=pink)}.oneMscomFooter ul.seoLinks{*float:left;_float:left;width:100%}.oneMscomFooter ul.seoLinks li{display:block;font-size:100%;font-weight:normal}.oneMscomFooter ul.seoLinks li a{padding:0 8px;border:1px soid transparent}.oneMscomFooter .seo-item-flyout{position:relative;z-index:4}.oneMscomFooter .seo-item-flyout-content{position:absolute;width:905px;display:none;border:1px solid transparent;top:-1px;z-index:3;padding:5px}.oneMscomFeedBack{display:inline-block;*display:inline-block;position:relative;*z-index:999;display:none}.oneMscomFeedBack .feedBack-flyout{display:none}.oneMscomFeedBack .feedBack-successmessage-flyout-body,.oneMscomFeedBack .feedBack-flyout-body{position:fixed;z-index:1001;left:0;right:0;top:10px;border:medium none;margin:0 auto;width:667px;_position:absolute;_left:-340px;_width:680px}.oneMscomFeedBack .feedBack-high-link{position:fixed;bottom:10px;_position:absolute;_width:150px}.oneMscomFeedBack .feedBack-high-link .feedBack-button-link a{display:inline-block;padding:0;border:none}.oneMscomFeedBack .feedBack-high-link .feedBack-button-link a.feedback-button-link-close-image{vertical-align:top}.oneMscomFeedBack .feedBack-high-link .feedBack-button-link{padding:10px;*zoom:1}.oneMscomFeedBack .feedBack-high-link .feedBack-button-link a:hover{text-decoration:none}.oneMscomFeedBack .feedBack-background{height:100%;left:0;position:fixed;top:0;width:100%;z-index:1000;_display:none}.oneMscomFeedBack .feedBack-successmessage-container,.oneMscomFeedBack .feedBack-container{padding:30px;border-width:1px;border-style:solid;width:580px}.feedback-element-text textarea{width:565px}.oneMscomFeedBack .feedback-item{margin-top:10px}.oneMscomFeedBack ul.feedback-item li{float:none}.oneMscomFeedBack ul.feedback-item li.feedback-element-container{margin:2.5px 5px;position:relative}.oneMscomFeedBack .feedBack-button{font-size:bold;margin-top:5px;display:block}.oneMscomFeedBack .feedBack-button a{display:block;width:90px;margin-left:10px;text-align:center;text-decoration:none;font-weight:bold;font-size:130%}.oneMscomFeedBack .feedBack-button a:hover{text-decoration:none}.oneMscomFeedBack .feedback-close{display:inline-block}.oneMscomFeedBack .feedback-successmessage-button-close,.oneMscomFeedBack .feedback-button-close{padding:0;border:none}.oneMscomFeedBack .feedBack-successmessage-container .feeback-heading{margin:105px 0}.oneMscomFeedBack .feedBack-successmessage-container{height:300px}.oneMscomFeedBack .feedBack-successmessage-flyout-body{display:none}.oneMscomFeedBack .feedBack-low-link-disabled{opacity:.6;filter:alpha(opacity="60.0")}.oneMscomFeedBack a.feedBack-low-link-disabled:hover{text-decoration:none}.oneMscomFooterV3{position:relative}.oneMscomFooterV3 ul{list-style-type:none}.mstFooterV3Backround{position:absolute;left:0;right:0}.mstFooterTop{position:relative;display:inline-block;margin-top:40px;_padding-top:40px;*padding-top:40px}.mstFooterMsLink{width:214px;padding-bottom:10px}.mstFooterMsLinkListTitle{padding-bottom:10px}.mstFooterMsLinkItem{position:relative}.mstFooterMsLinkItemText{margin-top:4px}.mstFooterMsLinkItemText a:hover{text-decoration:underline}.mstFooterMsLinkItemLink{width:26px;height:26px}.mstFooterMsLinkItemLi{display:inline-block;width:100%;padding-bottom:10px}.mstFooterDestLink{width:468px}.mstFooterDestLinkListOdd{list-style-type:none;width:214px}.mstFooterDestLinkListEven{width:214px}.mstFooterDestLinkListTitle{padding-bottom:10px}.mstFooterDestLinkListItem{padding-bottom:9px}.mstFooterDestLinkListItem a:hover{text-decoration:underline}.mstFooterDestLinkCatList{padding-bottom:11px}.mstFooterPopRes{width:214px}.mstFooterPopResList{padding-bottom:11px}.mstFooterPopResList li a:hover{text-decoration:underline}.mstFooterPopResListTitle{padding-bottom:10px}.mstFooterPopResListItem{padding-bottom:9px}.mstFooterBottom{margin-top:28px}.mstFooterLocale{_width:400px;*width:400px}.mstFooterLocaleLogo{position:relative;width:100%;display:inline-block;margin-bottom:8px}.mstFooterCorpLinkCopyright{position:relative;margin-bottom:10px;width:100%;display:inline-block}.msFooterCorpLinkLi{float:left}.msFooterCorpLinkLi a:hover{text-decoration:underline}#mstLocPickerCtl{font-weight:600}.mstLocPickerMenuText{padding-top:3px}.mstLcpBackground{position:absolute;left:0;right:0}.mstLcpFlyout{position:absolute;bottom:26px;z-index:1010;display:none}.mstLcpFlyout ul{list-style-type:none;width:214px}.mstLcpFlyout li{padding-bottom:4px;padding-top:3px}.mstLcpFlyout li a{text-decoration:none}.mstLcpFlyout li a:hover{text-decoration:underline}.mstLcpMenu a:hover span{text-decoration:underline}.mstLcpLangSites{width:916px;margin-bottom:20px;margin-top:40px}.mstLcpLangSiteText{position:relative;margin-bottom:17px;*width:100%;_width:100%}.mstLcpClose1{position:absolute;bottom:2px}.mstLcpSiteSites{display:inline-block;margin-bottom:16px}.mstLcpAllSites{position:relative;width:916px}.mstLcpSearch{position:absolute;top:0}.mstLcpAllSitesLinks{margin-bottom:36px;margin-top:27px}.mstLcpSearchContainter{display:inline-block;background-color:#fff}.mstLcpSearchBorder{display:inline-block;overflow:hidden;position:relative;min-height:20px}.mstLcpSearchText{width:350px;background-color:transparent;border:0 none;vertical-align:top;padding-top:3px}.mstLcpSearchImg{height:20px;width:20px;display:inline-block;vertical-align:top;background-position:-2px -2px}
------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=oneMscomFooter.js
Content-Type: application/x-javascript; name=oneMscomFooter.js
Content-Location: http://support.microsoft.com/scripts/oneMscomFooter.js
Content-Transfer-Encoding: Base64

ZnVuY3Rpb24gUmVjZWl2ZVNlcnZlckRhdGFGb3JGZWVkQmFjayhuKXt2YXIgaT0k
KG4pLmZpbmQoIi5mZWVkQmFjay1mbHlvdXQtYm9keSIpLHQ7aS5oaWRlKCksdD0k
KG4pLmZpbmQoIi5mZWVkQmFjay1zdWNjZXNzbWVzc2FnZS1mbHlvdXQtYm9keSIp
LHQuc2hvdygpfXdpbmRvdy5Nc3Q9PT11bmRlZmluZWQmJih3aW5kb3cuTXN0PXt9
KSxNc3QuRmVlZEJhY2tGbHlvdXQ9PT11bmRlZmluZWQmJihNc3QuRmVlZEJhY2tG
bHlvdXQ9e30pLE1zdC5TZW9NZW51PWZ1bmN0aW9uKG4sdCxpLHIsdSxmLGUsbyl7
dmFyIHM9dGhpcyxoLGM7cy5Db250cm9sPSQoIiMiK24pLHMuX21lbnVDbGFzcz0i
LiIrdCxzLl9pdGVtQ2xhc3M9Ii4iK2kscy5fZmx5b3V0TGlua0NsYXNzPSIuIity
LHMuX2ZseW91dENsYXNzPSIuIit1LHMuX2ZseW91dFJlZ2lvbkNsYXNzPSIuIitm
LHMuX3N0YWdlRXhwYW5kPSExLHMuX29uT3BlbkNsaWNrPWUscy5fb25DbG9zZUV2
ZW50PW8scy5Db250cm9sLmZpbmQocy5fZmx5b3V0TGlua0NsYXNzKS5jbGljaygk
LnByb3h5KHMuSXRlbUNsaWNrLHMpKS5rZXlkb3duKCQucHJveHkocy5JdGVtS2V5
RG93bixzKSksaD1zLkNvbnRyb2wuZmluZChzLl9mbHlvdXRDbGFzcykudG9BcnJh
eSgpO2ZvcihjIGluIGgpJChoW2NdKS5maW5kKCJhOmxhc3QiKS5rZXlkb3duKCQu
cHJveHkocy5MYXN0TGlua0tleURvd24scykpOyQoZG9jdW1lbnQpLmNsaWNrKCQu
cHJveHkocy5Eb2NDbGljayxzKSl9LE1zdC5TZW9NZW51LnByb3RvdHlwZT17RG9j
Q2xpY2s6ZnVuY3Rpb24obil7dmFyIHQ9dGhpcy5Db250cm9sLmZpbmQoIi5zZWxl
Y3RlZCIpLGk7dC5zaXplKCk+MCYmKGk9JC5jb250YWlucyh0LmdldCgwKSxuLnRh
cmdldCksaXx8dGhpcy5IaWRlRmx5b3V0cygpKX0sSXRlbUNsaWNrOmZ1bmN0aW9u
KG4pe3ZhciB0PXRoaXM7JChuLnRhcmdldCkuaGFzQ2xhc3MoIm1zdExjcF9EdWFs
TGFuZ0xpbmsiKXx8KG4ucHJldmVudERlZmF1bHQoKSx0LklzRmx5b3V0VmlzaWJs
ZShuKT90LkhpZGVGbHlvdXRzKCk6KHQuSGlkZUZseW91dHMoKSx0LlNob3dGbHlv
dXQobiksdC5fb25PcGVuQ2xpY2shPW51bGwmJnQuX29uT3BlbkNsaWNrKG4pKSl9
LEl0ZW1LZXlEb3duOmZ1bmN0aW9uKG4pe24ud2hpY2g9PTkmJm4uc2hpZnRLZXkm
JnRoaXMuSGlkZUZseW91dHMoKX0sTGFzdExpbmtLZXlEb3duOmZ1bmN0aW9uKG4p
e24ud2hpY2g9PTkmJihuLnNoaWZ0S2V5fHx0aGlzLkhpZGVGbHlvdXRzKCkpfSxJ
c0ZseW91dFZpc2libGU6ZnVuY3Rpb24obil7cmV0dXJuICQobi50YXJnZXQpLnBh
cmVudHModGhpcy5faXRlbUNsYXNzKS5maW5kKHRoaXMuX2ZseW91dENsYXNzKS5j
c3MoImRpc3BsYXkiKSE9Im5vbmUifSxTaG93Rmx5b3V0OmZ1bmN0aW9uKG4pe3Zh
ciByPSIuc3RhZ2UtY29udGVudCIsdD10aGlzLGk9JChuLnRhcmdldCkucGFyZW50
cyh0Ll9pdGVtQ2xhc3MpLmFkZENsYXNzKCJzZWxlY3RlZCIpLmZpbmQodC5fZmx5
b3V0Q2xhc3MpO3QuUG9zaXRpb25GbHlvdXQoaSksdC5fc3RhZ2VFeHBhbmR8fCgk
KHIpLmFuaW1hdGUoe2hlaWdodDokKHIpLm91dGVySGVpZ2h0KCkrJCh0Ll9mbHlv
dXRDbGFzcykub3V0ZXJIZWlnaHQoKX0sMjAwKSwkKCJodG1sIikuYW5pbWF0ZSh7
c2Nyb2xsVG9wOiQoZG9jdW1lbnQpLmhlaWdodCgpfSwyMDApLHQuX3N0YWdlRXhw
YW5kPSEwKSxqUXVlcnkuYnJvd3Nlci5vcGVyYXx8alF1ZXJ5LmJyb3dzZXIubXNp
ZSYmZG9jdW1lbnQuZG9jdW1lbnRNb2RlPD03P2kuc2hvdygpOmkuc2xpZGVEb3du
KDIwMCl9LEhpZGVGbHlvdXRzOmZ1bmN0aW9uKCl7dmFyIGk9Ii5zdGFnZS1jb250
ZW50IixuPXRoaXMsdD1uO24uX3N0YWdlRXhwYW5kJiYoJChpKS5hbmltYXRlKHto
ZWlnaHQ6JChpKS5vdXRlckhlaWdodCgpLSQobi5fZmx5b3V0Q2xhc3MpLm91dGVy
SGVpZ2h0KCl9LDIwMCksbi5fc3RhZ2VFeHBhbmQ9ITEpLGpRdWVyeS5icm93c2Vy
Lm9wZXJhfHxqUXVlcnkuYnJvd3Nlci5tc2llJiZkb2N1bWVudC5kb2N1bWVudE1v
ZGU8PTc/JChuLl9mbHlvdXRDbGFzcyxuLkNvbnRyb2wpLmhpZGUoKTokKG4uX2Zs
eW91dENsYXNzLG4uQ29udHJvbCkuc2xpZGVVcCgyMDAsZnVuY3Rpb24oKXt0LmZp
eEZseW91dENvbnRlbnRPbGRJRSgpfSksbi5fb25DbG9zZUV2ZW50IT1udWxsJiYk
KG4uX2l0ZW1DbGFzcykuZmlsdGVyKCIuc2VsZWN0ZWQiKS5lYWNoKGZ1bmN0aW9u
KCl7dC5fb25DbG9zZUV2ZW50KCQodGhpcykuZmluZCh0Ll9mbHlvdXRMaW5rQ2xh
c3MpKX0pLCQobi5faXRlbUNsYXNzKS5yZW1vdmVDbGFzcygic2VsZWN0ZWQiKX0s
Zml4Rmx5b3V0Q29udGVudE9sZElFOmZ1bmN0aW9uKCl7dmFyIG4saSxyLHQ7JC5i
cm93c2VyLm1zaWUmJnBhcnNlSW50KCQuYnJvd3Nlci52ZXJzaW9uKTw9NyYmKG49
dGhpcyxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIGk9ImRpc3BsYXkiO2ltZz1u
LkNvbnRyb2wuZmluZCgiLmJnLWltZyIpLHQ9aW1nLmNzcyhpKSxpbWcuY3NzKGks
IiIpLGltZy5jc3MoaSx0KX0sMSkpfSxpc0lFNjpmdW5jdGlvbigpe3JldHVybiBu
YXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCJNU0lFIDYuIikhPS0xfSxQb3Np
dGlvbkZseW91dDpmdW5jdGlvbihuKXt2YXIgcz0icnRsIixmPXRoaXMsbz0ibGVm
dCIsdD1uLnBhcmVudHMoZi5faXRlbUNsYXNzKS53aWR0aCgpLGg9bi5wYXJlbnRz
KGYuX2l0ZW1DbGFzcykucG9zaXRpb24oKS5sZWZ0LGU9bi5vdXRlcldpZHRoKCks
Yz1uLnBhcmVudHMoZi5fbWVudUNsYXNzKS53aWR0aCgpLGE9bi5wYXJlbnRzKGYu
X21lbnVDbGFzcykucG9zaXRpb24oKS5sZWZ0LGwsdSxpLHYscjtjPTkyMCxhPTAs
bD1jLG4ucGFyZW50cyhmLl9mbHlvdXRSZWdpb25DbGFzcykuc2l6ZSgpPjAmJihs
PW4ucGFyZW50cyhmLl9mbHlvdXRSZWdpb25DbGFzcykuaW5uZXJXaWR0aCgpKSx1
PWgrYSxpPWMtaC10LGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kaXI9PSJsdHIi
JiYoaSs9MTgpLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kaXI9PXMmJihvPSJy
aWdodCIsdC09MixpPWwtaC10LHY9dSx1PWksaT12KSxpPDAmJihpPTApLHU8MCYm
KHU9MCkscj0wLGU+dCtpP2U8dCt1PyhyPWRvY3VtZW50LmRvY3VtZW50RWxlbWVu
dC5kaXI9PXM/LWUrdCsyOi1lK3Qsbi5jc3MobyxyKSxuLmFkZENsYXNzKCJkb2Nr
LXJpZ2h0IikpOmU8dStpK3Q/KHI9LWUrKGkrdCksZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LmRpcj09cyYmKHItPTIzLGYuaXNJRTYoKSYmKHIrPXQpKSxuLmNzcyhv
LHIpKToocj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGlyPT1zPy11LTE6LXUt
NixuLmNzcyhvLHIpKToobi5jc3MobyxyKSxuLmFkZENsYXNzKCJkb2NrLWxlZnQi
KSl9fSxNc3QuRmVlZEJhY2tGbHlvdXQ9ZnVuY3Rpb24obix0LGkscix1LGYsZSxv
LHMsaCxjLGwsYSx2LHkpe3ZhciB3PSIuIixwPXRoaXM7cC5JZD0iIyIrbixwLkZl
ZWRCYWNrPSQocC5JZCkscC5EaXJlY3Rpb249YyxwLkZlZWRCYWNrRmx5b3V0Q2xh
c3M9dyt0LHAuRmVlZEJhY2tGbHlvdXRCb2R5Q2xhc3M9dytpLHAuRmVlYmFja0hp
Z2hCdXR0b25DbGFzcz13K2YscC5GZWViYWNrTG93QnV0dG9uPSIjIityLHAuRmVl
YmFja0hpZ2hCdXR0b249IiMiK3UscC5GZWViYWNrSGlnaEJ1dHRvbkNsb3NlPSIj
IitlLHAuRmVlZEJhY2tDbG9zZUJ1dHRvbkNsYXNzPXcrbyxwLkZlZWRCYWNrQ2Fu
Y2VsQnV0dG9uQ2xhc3M9dytzLHAuRmVlZEJhY2tTdWJtaXRCdXR0b25DbGFzcz13
K2gscC5GZWVkYmFja0JhY2tncm91bmRDbGFzcz13K3kscC5Jc0Zvcm1TdWJtaXR0
ZWQ9ITEscC5GZWVkQmFja1N1Y2Nlc3NNZXNzYWdlRmx5b3V0Q2xhc3M9dytsLHAu
RmVlZEJhY2tTdWNjZXNzTWVzc2FnZUZvcm1DbG9zZUNsYXNzPXcrYSxwLkZlZWRC
YWNrU3VjY2Vzc01lc3NhZ2VDbG9zZUNsYXNzPXcrdixwLkZlZWRCYWNrLmZpbmQo
cC5GZWViYWNrSGlnaEJ1dHRvbikuY2xpY2soJC5wcm94eShwLlNob3dGZWVkQmFj
a0ZseW91dCxwKSkscC5GZWVkQmFjay5maW5kKHAuRmVlYmFja0xvd0J1dHRvbiku
Y2xpY2soJC5wcm94eShwLlNob3dGZWVkQmFja0ZseW91dCxwKSkscC5GZWVkQmFj
ay5maW5kKHAuRmVlYmFja0hpZ2hCdXR0b25DbG9zZSkuY2xpY2soJC5wcm94eShw
LkhpZGVGZWVkQmFja0hpZ2hCdXR0b24scCkpLHAuRmVlZEJhY2suZmluZChwLkZl
ZWRCYWNrQ2xvc2VCdXR0b25DbGFzcykuY2xpY2soJC5wcm94eShwLkhpZGVGZWVk
QmFja0ZseW91dCxwKSkscC5GZWVkQmFjay5maW5kKHAuRmVlZEJhY2tDYW5jZWxC
dXR0b25DbGFzcykuY2xpY2soJC5wcm94eShwLkhpZGVGZWVkQmFja0ZseW91dCxw
KSkscC5GZWVkQmFjay5maW5kKHAuRmVlZGJhY2tCYWNrZ3JvdW5kQ2xhc3MpLmNs
aWNrKCQucHJveHkocC5IaWRlRmVlZEJhY2tGbHlvdXQscCkpLHAuRmVlZEJhY2su
ZmluZChwLkZlZWRCYWNrU3VjY2Vzc01lc3NhZ2VGb3JtQ2xvc2VDbGFzcykuY2xp
Y2soJC5wcm94eShwLkhpZGVGZWVkQmFja0ZseW91dE9uU3VjZXNzLHApKSxwLkZl
ZWRCYWNrLmZpbmQocC5GZWVkQmFja1N1Y2Nlc3NNZXNzYWdlQ2xvc2VDbGFzcyku
Y2xpY2soJC5wcm94eShwLkhpZGVGZWVkQmFja0ZseW91dE9uU3VjZXNzLHApKSwk
KGRvY3VtZW50KS5rZXlwcmVzcygkLnByb3h5KHAuRmVlZEJhY2tGbHlvdXRLZXlQ
cmVzcyxwKSkscC5GZWVkQmFjay5maW5kKHAuRmVlZEJhY2tTdWJtaXRCdXR0b25D
bGFzcykuY2xpY2soJC5wcm94eShwLlN1bWl0Rm9ybSxwKSkscC5GZWVkQmFjay5j
c3MoImRpc3BsYXkiLCJpbmxpbmUtYmxvY2siKX0sTXN0LkZlZWRCYWNrRmx5b3V0
LnByb3RvdHlwZT17Q2VudGVyQWxpZ25Qb3B1cDpmdW5jdGlvbigpe3ZhciBpPSJw
eCIsbj10aGlzLGU9JChuLkZlZWRCYWNrLmZpbmQobi5GZWVkQmFja0ZseW91dEJv
ZHlDbGFzcykpLmhlaWdodCgpLG89JChuLkZlZWRCYWNrLmZpbmQobi5GZWVkQmFj
a1N1Y2Nlc3NNZXNzYWdlRmx5b3V0Q2xhc3MpKS5oZWlnaHQoKSxzLGgscix0LGYs
dSxjOyQuYnJvd3Nlci5tc2llJiZwYXJzZUludCgkLmJyb3dzZXIudmVyc2lvbik9
PTYmJihlPXBhcnNlSW50KCQod2luZG93KS5oZWlnaHQoKSkqNCxvPXBhcnNlSW50
KCQod2luZG93KS5oZWlnaHQoKSkqNCkscz1wYXJzZUludCgkKHdpbmRvdykuaGVp
Z2h0KCkpLzItcGFyc2VJbnQoZSkvMiwkKG4uRmVlZEJhY2suZmluZChuLkZlZWRC
YWNrRmx5b3V0Qm9keUNsYXNzKSkuY3NzKCJ0b3AiLHMpLGg9cGFyc2VJbnQoJCh3
aW5kb3cpLmhlaWdodCgpKS8yLXBhcnNlSW50KG8pLzIsJChuLkZlZWRCYWNrLmZp
bmQobi5GZWVkQmFja1N1Y2Nlc3NNZXNzYWdlRmx5b3V0Q2xhc3MpKS5jc3MoInRv
cCIsaCksJC5icm93c2VyLm1zaWUmJnBhcnNlSW50KCQuYnJvd3Nlci52ZXJzaW9u
KTw9NyYmKHI9JChuLkZlZWRCYWNrLmZpbmQobi5GZWVkQmFja0ZseW91dEJvZHlD
bGFzcykpLndpZHRoKCksJC5icm93c2VyLm1zaWUmJnBhcnNlSW50KCQuYnJvd3Nl
ci52ZXJzaW9uKT09NiYmKHI9cGFyc2VJbnQoJCh3aW5kb3cpLndpZHRoKCkpK3Ip
LHQ9cGFyc2VJbnQoJCh3aW5kb3cpLndpZHRoKCkpLzItcGFyc2VJbnQocikvMiwk
LnRyaW0obi5EaXJlY3Rpb24udG9Mb3dlckNhc2UoKSk9PSJsdHIiPygkKG4uRmVl
ZEJhY2suZmluZChuLkZlZWRCYWNrRmx5b3V0Qm9keUNsYXNzKSkuY3NzKCJsZWZ0
Iix0K2kpLCQobi5GZWVkQmFjay5maW5kKG4uRmVlZEJhY2tTdWNjZXNzTWVzc2Fn
ZUZseW91dENsYXNzKSkuY3NzKCJsZWZ0Iix0K2kpKTooJChuLkZlZWRCYWNrLmZp
bmQobi5GZWVkQmFja0ZseW91dEJvZHlDbGFzcykpLmNzcygicmlnaHQiLHQraSks
JChuLkZlZWRCYWNrLmZpbmQobi5GZWVkQmFja1N1Y2Nlc3NNZXNzYWdlRmx5b3V0
Q2xhc3MpKS5jc3MoInJpZ2h0Iix0K2kpKSwkLmJyb3dzZXIubXNpZSYmcGFyc2VJ
bnQoJC5icm93c2VyLnZlcnNpb24pPD03JiYoZj1uLHNldFRpbWVvdXQoZnVuY3Rp
b24oKXt2YXIgbj0iZGlzcGxheSI7dT1mLkZlZWRCYWNrLmZpbmQoZi5GZWVkQmFj
a0ZseW91dEJvZHlDbGFzcyksYz11LmNzcyhuKSx1LmNzcyhuLCIiKSx1LmNzcyhu
LGMpfSwxKSkpfSxTaG93RmVlZEJhY2tGbHlvdXQ6ZnVuY3Rpb24obil7biYmbi5w
cmV2ZW50RGVmYXVsdCgpO3ZhciB0PSQodGhpcy5GZWVkQmFjay5maW5kKHRoaXMu
RmVlZEJhY2tGbHlvdXRDbGFzcykpO3Quc2xpZGVEb3duKDIwMCksdGhpcy5DZW50
ZXJBbGlnblBvcHVwKCl9LEhpZGVGZWVkQmFja0ZseW91dDpmdW5jdGlvbihuKXt2
YXIgdD10aGlzLGk7biYmbi5wcmV2ZW50RGVmYXVsdCgpLGk9JCh0LkZlZWRCYWNr
LmZpbmQodC5GZWVkQmFja0ZseW91dENsYXNzKSksaS5oaWRlKCksdC5CaVRyYWNr
KDIsMTAsIi4iKyQobi5jdXJyZW50VGFyZ2V0KS5hdHRyKCJjbGFzcyIpKSx0Lklz
Rm9ybVN1Ym1pdHRlZD09ITAmJnQuRGlzYWJsZUZlZWJhY2sobil9LEhpZGVGZWVk
QmFja0ZseW91dE9uU3VjZXNzOmZ1bmN0aW9uKG4pe3RoaXMuSGlkZUZlZWRCYWNr
Rmx5b3V0KG4pLHRoaXMuRGlzYWJsZUZlZWJhY2sobil9LERpc2FibGVGZWViYWNr
OmZ1bmN0aW9uKCl7dmFyIG49dGhpcyx0O24uRmVlZEJhY2suZmluZChuLkZlZWJh
Y2tMb3dCdXR0b24pLmFkZENsYXNzKCJmZWVkQmFjay1sb3ctbGluay1kaXNhYmxl
ZCIpLG4uRmVlZEJhY2suZmluZChuLkZlZWJhY2tMb3dCdXR0b24pLnVuYmluZCgi
Y2xpY2siKSx0PSQobi5GZWVkQmFjay5maW5kKG4uRmVlYmFja0hpZ2hCdXR0b25D
bGFzcykpLHQuaGlkZSgpfSxTaG93RmVlZEJhY2tGbHlvdXRPblN1Y2VzczpmdW5j
dGlvbigpe3ZhciBuPXRoaXM7bi5GZWVkQmFjay5maW5kKG4uRmVlZEJhY2tGbHlv
dXRCb2R5Q2xhc3MpLmhpZGUoKSxuLkZlZWRCYWNrLmZpbmQobi5GZWVkQmFja1N1
Y2Nlc3NNZXNzYWdlRmx5b3V0Q2xhc3MpLnNob3coKX0sRmVlZEJhY2tGbHlvdXRL
ZXlQcmVzczpmdW5jdGlvbihuKXt2YXIgdD10aGlzO24ua2V5Q29kZT09MjcmJih0
LklzRm9ybVN1Ym1pdHRlZD09ITE/dC5IaWRlRmVlZEJhY2tGbHlvdXQobik6dC5I
aWRlRmVlZEJhY2tGbHlvdXRPblN1Y2VzcyhuKSksdC5IYW5kbGVLZXlQcmVzcyhu
KX0sSGFuZGxlS2V5UHJlc3M6ZnVuY3Rpb24obil7dGhpcy5GZWVkQmFjay5maW5k
KCIuZmVlZGJhY2staXRlbSIpLmVhY2goZnVuY3Rpb24oKXskKHRoaXMpLmZpbmQo
Ii5mZWVkYmFjay1lbGVtZW50LWNvbnRyb2wiKS5lYWNoKGZ1bmN0aW9uKCl7dmFy
IGk9JCh0aGlzKS5hdHRyKCJ0eXBlIiksdDtpPT0idGV4dGFyZWEiJiYodD0kKHRo
aXMpLmF0dHIoIm1heGxlbmd0aCIpLCQodGhpcykudmFsKCkubGVuZ3RoKzE+dCYm
bi5wcmV2ZW50RGVmYXVsdCgpKX0pfSl9LEhpZGVGZWVkQmFja0hpZ2hCdXR0b246
ZnVuY3Rpb24obil7dmFyIHQ9dGhpcyxpO24mJm4ucHJldmVudERlZmF1bHQoKSxp
PSQodC5GZWVkQmFjay5maW5kKHQuRmVlYmFja0hpZ2hCdXR0b25DbGFzcykpLGku
aGlkZSgpLHQuQmlUcmFjaygyLDEwLHQuRmVlYmFja0hpZ2hCdXR0b25DbG9zZSl9
LFN1bWl0Rm9ybTpmdW5jdGlvbihuKXt2YXIgdD10aGlzLGk7biYmbi5wcmV2ZW50
RGVmYXVsdCgpLHQuRmVlZEJhY2suZmluZCh0LkZlZWRCYWNrU3VibWl0QnV0dG9u
Q2xhc3MpLnVuYmluZCgiY2xpY2siKSxpPSIiLHQuRmVlZEJhY2suZmluZCgiLmZl
ZWRiYWNrLWl0ZW0iKS5lYWNoKGZ1bmN0aW9uKCl7JCh0aGlzKS5maW5kKCIuZmVl
ZGJhY2stZWxlbWVudC1jb250cm9sIikuZWFjaChmdW5jdGlvbigpe3ZhciB0PSIg
wrEgIixyPSJuYW1lIixuPXRoaXMsZT0kKG4pLmF0dHIoInR5cGUiKSx1LGY7c3dp
dGNoKGUpe2Nhc2UicmFkaW8iOm4uY2hlY2tlZCYmKGkrPSLiiaQiKyQobikuYXR0
cihyKSt0KyQobikuYXR0cigiaWQiKSsi4omlIik7YnJlYWs7Y2FzZSJjaGVja2Jv
eCI6bi5jaGVja2VkJiYoaSs9IuKJpCIrJChuKS5hdHRyKHIpK3QrJChuKS5hdHRy
KCJpZCIpKyLiiaUiKTticmVhaztjYXNlInRleHRhcmVhIjp1PSQudHJpbSgkKG4p
LnZhbCgpKSxmPSQobikuYXR0cigibWF4bGVuZ3RoIiksdS5sZW5ndGg+MCYmKGkr
PSQobikudmFsKCkubGVuZ3RoPmY/IuKJpCIrJChuKS5hdHRyKHIpK3QrdS5zdWJz
dHIoMCxmKSsi4omlIjoi4omkIiskKG4pLmF0dHIocikrdCt1KyLiiaUiKX19KX0p
LHQuSXNGb3JtU3VibWl0dGVkPSEwLGkubGVuZ3RoPjA/KGkrPSLiiaAiK3QuSWQu
dG9TdHJpbmcoKSxTZW5kRmVlZGJhY2tEYXRhVG9TZXJ2ZXIoaSwiIikpOnQuU2hv
d0ZlZWRCYWNrRmx5b3V0T25TdWNlc3MobiksdC5CaVRyYWNrKDIsMTAsdC5GZWVk
QmFja1N1Ym1pdEJ1dHRvbkNsYXNzKX0sQmlUcmFjazpmdW5jdGlvbihuLHQsaSl7
dmFyIHUscixmO2lmKCQuYmkmJiQuYmkuZGF0YVJldHJpZXZlcnMuc3RydWN0dXJl
KXt1PXRoaXMuRmVlZEJhY2suZmluZChpKSxyPXt0aXRsZTokLnRyaW0oJCh1KS50
ZXh0KCkpfTt0cnl7JC5leHRlbmQociwkLmJpLmJhc2VEYXRhKCksJC5iaS5kYXRh
UmV0cmlldmVycy5zdHJ1Y3R1cmUuZ2V0RGF0YSh1KSl9Y2F0Y2gobil7fWY9JC5l
eHRlbmQoe30scix7aW50ZXJhY3Rpb250eXBlOnQsY290OjUscGFyZW50dHlwZXN0
cnVjdHVyZTpyLnBhcmVudHR5cGVzdHJ1Y3R1cmV9KSwkLmJpLnJlY29yZChmKX1y
ZXR1cm4hMH19LE1zdC5Gb290ZXJWMz09PXVuZGVmaW5lZCYmKE1zdC5Gb290ZXJW
Mz17fSksTXN0LkZvb3RlclYzPWZ1bmN0aW9uKG4sdCxpKXt2YXIgcj10aGlzO3Iu
Q29udHJvbD0kKCIjIituKyJfbXN0Rm9vdGVyVjNDdGwiKSxyLklkPW4sci5TdGFn
ZVdpZHRoPXQsci5TdGFnZVBhZGRpbmc9aSwkKCQucHJveHkoci5SZWFkeSxyKSks
ci5GbHlvdXRIZWlnaHQ9MH0sTXN0LkZvb3RlclYzLnByb3RvdHlwZT17UmVhZHk6
ZnVuY3Rpb24oKXt2YXIgaT0iLm1zdEZvb3Rlck1zTGlua0l0ZW1MaW5rIix0PSIu
bXN0TGNwU2VhcmNoVGV4dCIsbj10aGlzO24uU2V0QmFja2dyb3VuZCgpLCQod2lu
ZG93KS5yZXNpemUoJC5wcm94eShuLlNldEJhY2tncm91bmQsbikpLG4uQ29udHJv
bC5maW5kKCIubXN0TGNwTWVudSIpLmNsaWNrKCQucHJveHkobi5PcGVuTG9jYWxl
UGlja2VyLG4pKSxuLkNvbnRyb2wuZmluZCgiLm1zdExjcENsb3NlMSIpLmNsaWNr
KCQucHJveHkobi5DbG9zZUxvY2FsZVBpY2tlcixuKSksbi5Db250cm9sLmZpbmQo
Ii5tc3RMY3BDbG9zZTIiKS5jbGljaygkLnByb3h5KG4uQ2xvc2VMb2NhbGVQaWNr
ZXIsbikpLCQodCkuYmluZCgia2V5dXAiLCQucHJveHkobi5GaWx0ZXJMaXN0LG4p
KSwkKGRvY3VtZW50KS5jbGljaygkLnByb3h5KG4uRG9DbGljayxuKSksbi5Db250
cm9sLmZpbmQodCkua2V5cHJlc3MoJC5wcm94eShuLkRvTm90aGluZyxuKSksbi5D
b250cm9sLmZpbmQoaSkubW91c2VlbnRlcigkLnByb3h5KG4uT25Nb3VzZUVudGVy
TXNMaW5rSW1hZ2UsbikpLG4uQ29udHJvbC5maW5kKGkpLm1vdXNlbGVhdmUoJC5w
cm94eShuLk9uTW91c2VMZWF2ZU1zTGlua0ltYWdlLG4pKX0sRG9DbGljazpmdW5j
dGlvbihuKXt2YXIgdD10aGlzLkNvbnRyb2wuZmluZCgiLnNlbGVjdGVkIiksaTt0
LnNpemUoKT4wJiYoaT0kLmNvbnRhaW5zKHQuZ2V0KDApLG4udGFyZ2V0KSxpfHx0
aGlzLkNsb3NlTG9jYWxlUGlja2VyKCkpfSxEb05vdGhpbmc6ZnVuY3Rpb24obil7
aWYobi5rZXlDb2RlPT0xMylyZXR1cm4hMX0sU2V0QmFja2dyb3VuZDpmdW5jdGlv
bigpe3RoaXMuU2V0Rm9vdGVyQmFja2dyb3VuZCgpLHRoaXMuU2V0TG9jYWxlUGlj
a2VyQmFja2dyb3VuZCgpfSxTZXRGb290ZXJCYWNrZ3JvdW5kOmZ1bmN0aW9uKCl7
dmFyIG89InBhZGRpbmctcmlnaHQiLGY9InBhZGRpbmctbGVmdCIscj0iMHB4Iix0
PXRoaXMsbj10LkNvbnRyb2wuZmluZCgiI21zdEZvb3RlclYzQmFja3JvdW5kIiks
dTtuLmNzcyh7bGVmdDpyLHJpZ2h0OnIsd2lkdGg6cixoZWlnaHQ6cn0pO3ZhciBp
PXQuQ29udHJvbC5vZmZzZXQoKS5sZWZ0LGU9MCxzPTY7JC5icm93c2VyLm1zaWUm
JnBhcnNlRmxvYXQoJC5icm93c2VyLnZlcnNpb24pPDgmJihzPTMwKTt2YXIgbD10
LkNvbnRyb2wuaGVpZ2h0KCkrcysicHgiLGg9cGFyc2VJbnQodC5TdGFnZVdpZHRo
PT0iIj8kKCIuc3RhZ2UiKS53aWR0aCgpOnQuU3RhZ2VXaWR0aCksYz1wYXJzZUlu
dCh0LlN0YWdlUGFkZGluZz09IiI/JCgiLnN0YWdlIikuY3NzKGYpOnQuU3RhZ2VQ
YWRkaW5nKTtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGlyPT0ibHRyIj8obi5j
c3MoImxlZnQiLGkqLTEpLG4uY3NzKGYsaSksbi5jc3MobyxpKSxlPWgpOih1PWk8
Yz9jOmksbi5jc3MoInJpZ2h0Iix1Ki0xKSxuLmNzcyhmLHUpLG4uY3NzKG8sdSks
ZT1oKSxuLmNzcygid2lkdGgiLGUpLG4uY3NzKCJoZWlnaHQiLGwpfSxTZXRMb2Nh
bGVQaWNrZXJCYWNrZ3JvdW5kOmZ1bmN0aW9uKCl7dmFyIGU9InBhZGRpbmctcmln
aHQiLHU9InBhZGRpbmctbGVmdCIsdD10aGlzLGk9dC5Db250cm9sLm9mZnNldCgp
LmxlZnQsZj0wLG89cGFyc2VJbnQodC5TdGFnZVdpZHRoPT0iIj8kKCIuc3RhZ2Ui
KS53aWR0aCgpOnQuU3RhZ2VXaWR0aCkscz1wYXJzZUludCh0LlN0YWdlUGFkZGlu
Zz09IiI/JCgiLnN0YWdlIikuY3NzKHUpOnQuU3RhZ2VQYWRkaW5nKSxuPSQoIi5t
c3RMY3BGbHlvdXQiKSxyO24uY3NzKHtsZWZ0OiIwcHgiLHJpZ2h0OiIwcHgiLHdp
ZHRoOiIwcHgifSksZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRpcj09Imx0ciI/
KG4uY3NzKCJsZWZ0IixpKi0xKSxuLmNzcyh1LGkpLG4uY3NzKGUsaSksZj1vKToo
cj1pPHM/czppLG4uY3NzKCJyaWdodCIsciotMSksbi5jc3ModSxyKSxuLmNzcyhl
LHIpLGY9byksbi5jc3MoIndpZHRoIixmKSx0LkZseW91dEhlaWdodD1uLmhlaWdo
dCgpfSxPcGVuTG9jYWxlUGlja2VyOmZ1bmN0aW9uKG4pe3ZhciB0PXRoaXMsaTtu
JiZuLnByZXZlbnREZWZhdWx0KCk7aWYodC5Db250cm9sLmZpbmQoIi5zZWxlY3Rl
ZCIpLnNpemUoKT4wKXt0LkNsb3NlTG9jYWxlUGlja2VyKCk7cmV0dXJufWk9dC5D
b250cm9sLmZpbmQoIi5tc3RMY3BGbHlvdXQiKSx0LkNvbnRyb2wuZmluZCgiLm1z
dEZvb3RlckxvY2FsZSIpLmFkZENsYXNzKCJzZWxlY3RlZCIpLGkuaGVpZ2h0KHQu
Rmx5b3V0SGVpZ2h0KSx0LlNldE1pbkZseW91dEhlaWdodCgpLGkuc2xpZGVEb3du
KDIwMCksd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXskKCJodG1sIikuYW5p
bWF0ZSh7c2Nyb2xsVG9wOmkub2Zmc2V0KCkudG9wLTIwfSwiMjAwIil9LDUwMCks
JCgiLm1zdExjcFNlYXJjaFRleHQiKS5mb2N1cygpLHQuQmlUcmFjayhuLDkpfSxD
bG9zZUxvY2FsZVBpY2tlcjpmdW5jdGlvbihuKXtuJiZuLnByZXZlbnREZWZhdWx0
KCk7dmFyIHQ9dGhpcy5Db250cm9sLmZpbmQoIi5tc3RMY3BGbHlvdXQiKTt0aGlz
LkNvbnRyb2wuZmluZCgiLm1zdEZvb3RlckxvY2FsZSIpLnJlbW92ZUNsYXNzKCJz
ZWxlY3RlZCIpLHQuc2xpZGVVcCgyMDApLHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0
aW9uKCl7JCgiLm1zdExjcFNlYXJjaFRleHQiKS52YWwoIiIpLCQoIi5tc3RMY3BB
bGxTaXRlc0xpbmtzIHVsIGxpIikuZWFjaChmdW5jdGlvbigpeyQodGhpcykuY3Nz
KCJkaXNwbGF5IiwiYmxvY2siKX0pfSw1MDApLCQuYnJvd3Nlci53ZWJraXQmJndp
bmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dC5jc3MoImRpc3BsYXkiLCJub25l
Iil9LDEwMCksdGhpcy5CaVRyYWNrKG4sMTApfSxTZXRNaW5GbHlvdXRIZWlnaHQ6
ZnVuY3Rpb24oKXt2YXIgdD0iLm1zdEZvb3RlckJvdHRvbSIsbj10aGlzLGk9bi5D
b250cm9sLmZpbmQoIi5tc3RMY3BGbHlvdXQiKSxyPW4uQ29udHJvbC5oZWlnaHQo
KTtpLmhlaWdodCgpPHItbi5Db250cm9sLmZpbmQodCkuaGVpZ2h0KCkmJmkuaGVp
Z2h0KHItbi5Db250cm9sLmZpbmQodCkuaGVpZ2h0KCkpfSxGaWx0ZXJMaXN0OmZ1
bmN0aW9uKCl7dmFyIHQ9Ii5tc3RMY3BGbHlvdXQiLG47JCh0KS5jc3MoImhlaWdo
dCIsIiIpLG49JCgiLm1zdExjcFNlYXJjaFRleHQiKS52YWwoKS50b0xvd2VyQ2Fz
ZSgpLCQoIi5tc3RMY3BBbGxTaXRlc0xpbmtzIHVsIGxpIikuZWFjaChmdW5jdGlv
bigpe3ZhciBpPSQodGhpcykuZmluZCgic3BhbiIpLnRleHQoKSx0PWkuc3BsaXQo
Ii0iKSxyPSQudHJpbSh0WzBdKS50b0xvd2VyQ2FzZSgpLHU9JC50cmltKHRbMV0p
LnRvTG93ZXJDYXNlKCk7ci5zdWJzdHIoMCxuLmxlbmd0aCk9PW58fHUuc3Vic3Ry
KDAsbi5sZW5ndGgpPT1uPyQodGhpcykuY3NzKCJkaXNwbGF5IiwiYmxvY2siKTok
KHRoaXMpLmNzcygiZGlzcGxheSIsIm5vbmUiKX0pLHRoaXMuU2V0TWluRmx5b3V0
SGVpZ2h0KCksJChkb2N1bWVudCkuc2Nyb2xsVG9wKCQodCkub2Zmc2V0KCkudG9w
LTIwKX0sT25Nb3VzZUVudGVyTXNMaW5rSW1hZ2U6ZnVuY3Rpb24obil7dmFyIHQ9
JChuLmN1cnJlbnRUYXJnZXQpLnBhcmVudHMoIi5tc3RGb290ZXJNc0xpbmtJdGVt
TGkiKS5maW5kKCIubXN0Rm9vdGVyTXNMaW5rSXRlbVRleHQiKS5jc3MoInRleHQt
ZGVjb3JhdGlvbiIsInVuZGVybGluZSIpfSxPbk1vdXNlTGVhdmVNc0xpbmtJbWFn
ZTpmdW5jdGlvbihuKXt2YXIgdD0kKG4uY3VycmVudFRhcmdldCkucGFyZW50cygi
Lm1zdEZvb3Rlck1zTGlua0l0ZW1MaSIpLmZpbmQoIi5tc3RGb290ZXJNc0xpbmtJ
dGVtVGV4dCIpLmNzcygidGV4dC1kZWNvcmF0aW9uIiwibm9uZSIpfSxCaVRyYWNr
OmZ1bmN0aW9uKG4sdCl7cmV0dXJuICQuYmkmJiQuYmkuZGF0YVJldHJpZXZlcnMu
c3RydWN0dXJlJiYocGFyYW1zPXt9LHBhcmFtcy5pbnRlcmFjdGlvbnR5cGU9dCxw
YXJhbXMuY290PTUscGFyYW1zLnBhcmVudHR5cGVzdHJ1Y3R1cmU9JC5iaS5kYXRh
UmV0cmlldmVycy5zdHJ1Y3R1cmUuZ2V0VHlwZVN0cnVjdHVyZSh0aGlzLkNvbnRy
b2wuZmluZCgiLm1zdExjcE1lbnUiKSksJC5iaS5yZWNvcmQocGFyYW1zKSksITB9
fTs=

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=oneMscomNav.css
Content-Type: text/css; name=oneMscomNav.css
Content-Location: http://support.microsoft.com/Styles/oneMscomNav.css
Content-Transfer-Encoding: 8bit

.oneMscomNav div.navMenu{position:relative;width:100%;z-index:994;font-size:100%}.oneMscomNav div.navigation-4level-strip{width:100%;background-color:#fff;height:30px;display:none}div.oneMscomNav .navigation-section{display:inline-block}div.oneMscomNav .navigation-item{padding:0 6px 0 6px;position:relative}div.oneMscomNav .navigation-item-tab a{display:inline-block}div.oneMscomNav a:hover span{text-decoration:underline}div.oneMscomNav .Menu-label a:hover span{text-decoration:none}div.oneMscomNav a:hover{text-decoration:underline}div.oneMscomNav .Menu-label a:hover{text-decoration:none}div.oneMscomNav .Group-label a:link,div.oneMscomNav .Group-label a:visited,div.oneMscomNav .Group-label a:active,div.oneMscomNav .Group-label a:hover{text-decoration:none;cursor:text}div.oneMscomNav .navigation-item-tab .navigation-item-tab-text,div.oneMscomNav .navigation-item-tab a#idPPScarab{padding:3px 15px 3px 15px}div.oneMscomNav .navigation-item-tab .navigation-item-text{display:block;float:Left}div.oneMscomNav .navigation-item-tab .navigation-item-img{float:Left;height:25px}div.oneMscomNav .navigation-item-flyout{position:relative;z-index:995}div.oneMscomNav .navigation-item-flyout-content{position:absolute;top:-1px;border:#a3a3a3 0 solid;display:none;z-index:99}div.oneMscomNav div.navigation-item-flyout-content-shown{display:block}div.oneMscomNav h3{font-size:120%;border-bottom:solid 1px #e1e1e1;padding-bottom:3px;margin-bottom:8px}.oneMscomNav div.navigation-sub{font-size:90%;display:block;width:100%}div.navigation-sub .navigation-sub-item{padding:0 5px 0 5px}div.navigation-sub .navigation-sub-item-tab a{display:block}div.navigation-sub .navigation-sub-item-tab .navigation-sub-item-tab-text,div.navigation-sub .navigation-sub-item-tab a#idPPScarab{padding:3px 10px 3px 10px}div.navigation-sub .navigation-sub-item-tab .navigation-sub-item-text{display:block;float:Left}div.navigation-sub .navigation-sub-item-tab .navigation-sub-item-img{float:Left;height:25px}div.navigation-sub .navigation-sub-item-tab .navigation-sub-flyout-arrow{display:block;float:Left;margin-top:9px;width:9px;height:5px;overflow:hidden}div.navigation-sub .navigation-sub-item-tab .navigation-sub-item-tab-text .navigation-sub-flyout-arrow{margin-top:4px}div.navigation-sub .selected a .navigation-sub-flyout-arrow{background-position:0 -6px}div.navigation-sub .navigation-sub-item-flyout{position:relative}div.navigation-sub .navigation-sub-item-flyout-content{position:absolute;top:-1px;border:#a3a3a3 1px solid;display:none}div.navigation-sub div.navigation-sub-item-flyout-content-shown{display:block}div.navigation-sub h3{font-size:120%;border-bottom:solid 1px #e1e1e1}div.oneMscomNav .navigation-bg{position:absolute;top:0;right:0;bottom:0;left:0}div.oneMscomNav .selected .navigation-item-tab{z-index:100;border-width:0 0 3px 0;border-style:solid}div.oneMscomNav .navigation-item-tab a{border-width:0 0 3px 0;border-style:solid}div.oneMscomNav .selected .navigation-item-tab a{border-width:0}div.oneMscomNav .navigation-item-tab a:hover{cursor:pointer}div.oneMscomNav .navigation-item-flyout .navigation-level2{padding:12px 10px 12px 10px}div.oneMscomNav .navigation-item-flyout .vertical_split{position:absolute;top:0;bottom:0;height:auto;margin-top:15px;margin-bottom:15px}div.oneMscomNav .navigation-item-flyout .links{overflow:hidden}div.oneMscomNav .navigation-item-flyout .navigation-level2 .links a,div.oneMscomNav .navigation-item-flyout .navigation-level2 .links a:link,div.oneMscomNav .navigation-item-flyout .navigation-level2 .links a:visited,div.oneMscomNav .navigation-item-flyout .navigation-level2 .links a:active,div.oneMscomNav .navigation-item-flyout .navigation-level2 .links a:hover{padding-top:3px;padding-bottom:3px;padding-left:5px;padding-right:5px;text-decoration:none;display:block;line-height:1.3}div.oneMscomNav .navigation-item-flyout .navigation-level3{padding:8px 10px 8px 10px}div.oneMscomNav .navigation-item-flyout .navigation-level3 .links .first{margin-top:4px}div.oneMscomNav .navigation-item-flyout .navigation-level3 .links .last{margin-bottom:4px}div.oneMscomNav .navigation-item-flyout .navigation-level3 .links .link-group a,div.oneMscomNav .navigation-item-flyout .navigation-level3 .links .link-group a:link,div.oneMscomNav .navigation-item-flyout .navigation-level3 .links .link-group a:visited,div.oneMscomNav .navigation-item-flyout .navigation-level3 .links .link-group a:hover,div.oneMscomNav .navigation-item-flyout .navigation-level3 .links .link-group a:active{font-weight:bold;padding-top:0;padding-bottom:0;padding-left:0;padding-right:0}div.oneMscomNav .navigation-item-flyout .navigation-level3 .links .link-group a:hover{text-decoration:underline}div.oneMscomNav .navigation-item-flyout .navigation-level3 .links .link-group a.link-label:hover{text-decoration:none}div.oneMscomNav .navigation-item-flyout .navigation-level3 .link-group{padding-top:7px;padding-left:5px;padding-right:5px;font-weight:bold}div.oneMscomNav .link-group-bottom-border{padding-bottom:3px}div.oneMscomNav .navigation-item-flyout .navigation-level3 .links a,div.oneMscomNav .navigation-item-flyout .navigation-level3 .links a:link,div.oneMscomNav .navigation-item-flyout .navigation-level3 .links a:visited,div.oneMscomNav .navigation-item-flyout .navigation-level3 .links a:active,div.oneMscomNav .navigation-item-flyout .navigation-level3 .links a:hover{padding-top:3px;padding-bottom:3px;padding-left:5px;padding-right:5px;text-decoration:none;display:block;line-height:1.3}div.oneMscomNav .navigation-item-flyout .navigation-level3 .links a{line-height:1.3}div.oneMscomNav .navigation-item-flyout .navigation-level3 .links .first{}div.oneMscomNav .navigation-item-flyout .navigation-level3 .links .last{}div.oneMscomNav .navigation-item-flyout .navigation-level4{width:960px}div.navigation-sub .navigation-sub-bg{position:absolute;top:0;right:0;bottom:0;left:0}div.navigation-sub .selected .navigation-sub-item-tab{z-index:100;border-width:0 1px 0 1px;border-style:solid}div.navigation-sub .navigation-sub-item-tab a:hover{cursor:pointer;text-decoration:none}div.oneMscomNav .navigation-sub-item-flyout .navigation-sub-level3{padding:14px 10px 10px 10px}div.navigation-sub .navigation-sub-item-flyout .navigation-sub-level3{white-space:nowrap}div.navigation-sub .navigation-sub-item-flyout .navigation-sub-level3 .link-group a,div.navigation-sub .navigation-sub-item-flyout .navigation-sub-level3 .link-group a:link,div.navigation-sub .navigation-sub-item-flyout .navigation-sub-level3 .link-group a:visited,div.navigation-sub .navigation-sub-item-flyout .navigation-sub-level3 .link-group a:hover,div.navigation-sub .navigation-sub-item-flyout .navigation-sub-level3 .link-group a:active{font-weight:bold}div.navigation-sub .navigation-sub-item-flyout .navigation-sub-level3 .links a,div.navigation-sub .navigation-sub-item-flyout .navigation-sub-level3 .links a:link,div.navigation-sub .navigation-sub-item-flyout .navigation-sub-level3 .links a:visited,div.navigation-sub .navigation-sub-item-flyout .navigation-sub-level3 .links a:hover,div.navigation-sub .navigation-sub-item-flyout .navigation-sub-level3 .links a:active{padding-bottom:10px}div.navigation-sub .navigation-sub-item-flyout .navigation-sub-level3 .links{padding-top:10px}div.oneMscomNav div.navigation-flyout-region,div.oneMscomNav .navigation-section{direction:ltr}div.oneMscomNav .navMenu{border-style:solid;border-width:0 0 1px 0}.oneMscomNavV3 a,.oneMscomNavV3 a:visited,.oneMscomNavV3 a:active{text-decoration:none;outline:none}.oneMscomNavV3 .mstNavMenuBkg{position:absolute;left:0;right:0;top:0;bottom:0}.oneMscomNavV3 .mstNavNavItem .mstNavNavItemTab a:hover{text-decoration:none}.oneMscomNavV3 .mstNavNavItem .mstNavNavItemTabText{padding-top:10px;padding-bottom:10px}.oneMscomNavV3 .mstNavNavItem .mstNavNavItemTabTextLink{padding-top:10px;padding-bottom:10px}.oneMscomNavV3 .mstNavNavItemTabText{display:inline-block}.oneMscomNavV3 .mstNavNavItemTabTextLink{display:inline-block}.oneMscomNavV3 .mstNav1stLvl{display:inline-block}.oneMscomNavV3 .mstNavNavItemFlyout{position:absolute;padding-top:30px;padding-bottom:10px;display:none;z-index:994;width:100%}.oneMscomNavV3 .mstNav4ColFlyoutList{width:214px}.oneMscomNavV3 .mstNavMenuListTitle{padding-bottom:10px}.oneMscomNavV3 .mstNavMenuList{padding-bottom:27px}.oneMscomNavV3 .mstNavMenuListItem{padding-bottom:3px}.oneMscomNavV3 .mstNavMenuLinks{width:136px}.oneMscomNavV3 .mstNavMenuImgs{width:780px;padding-bottom:10px}.oneMscomNavV3 .mstNavMenuImgsOnly{padding-bottom:10px}.oneMscomNavV3 .mstNavMenuListItem2{font-size:16.25px;padding-bottom:3px}.oneMscomNavV3 .mstNavListImg{overflow:hidden;padding-bottom:20px}.oneMscomNavV3 .mstNavListImgSmall{width:136px}.oneMscomNavV3 .mstNavListImgBig{width:370px}.oneMscomNavV3 .mstNavNavFirstItem{position:absolute;top:0;width:20px;display:none}.oneMscomNavV3 .mstNav4ColNotFirstRow{padding-top:27px}
------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=oneMscomNav.js
Content-Type: application/x-javascript; name=oneMscomNav.js
Content-Location: http://support.microsoft.com/scripts/oneMscomNav.js
Content-Transfer-Encoding: Base64

d2luZG93Lk1zdD09PXVuZGVmaW5lZCYmKHdpbmRvdy5Nc3Q9e30pLE1zdC5GbHlv
dXROYXZpZ2F0aW9uTWVudT1mdW5jdGlvbihuLHQsaSxyLHUsZixlLG8scyxoLGMs
bCxhKXt2YXIgcD1udWxsLHk9Ii4iLHY9dGhpczt2Ll9tZW51PSQoIiMiK24pLHYu
X21lbnVDbGFzcz15K3Qsdi5faXRlbUNsYXNzPXkraSx2Ll9mbHlvdXRMaW5rQ2xh
c3M9eStyLHYuX3N0YXRpY0xpbmtDbGFzcz15K3Usdi5fZmx5b3V0Q2xhc3M9eStm
LHYuX2ZseW91dFJlZ2lvbkNsYXNzPXkrZSx2Ll9tZW51U2VjdGlvbkNsYXNzPXkr
byx2Ll9oaWRlVGltZXJJZD1wLHYuX3Nob3dUaW1lcklkPXAsdi5fcHJldmVudENs
aWNrVGltZXJJZD1wLHYuX3ByZXZlbnREd2VsbFRpbWVySWQ9cCx2Ll9wcmV2ZW50
Q2xpY2s9ITEsdi5fcHJldmVudER3ZWxsPSExLHYuX0lzc3VibWVudT1jLHYuX3N1
YmZseW91dENsYXNzPXkrbCx2Ll9zdWJpdGVtQ2xhc3M9eSthLHYuX29uT3BlbkNs
aWNrPXMsdi5fb25DbG9zZUV2ZW50PWgsJChkb2N1bWVudCkuY2xpY2soJC5wcm94
eSh2LkRvY0NsaWNrLHYpKSwkKHYuX2l0ZW1DbGFzcysiICIrdi5fZmx5b3V0TGlu
a0NsYXNzLHYuX21lbnUpLmNsaWNrKCQucHJveHkodi5JdGVtQ2xpY2ssdikpLm1v
dXNlb3ZlcigkLnByb3h5KHYuSXRlbU1vdXNlb3Zlcix2KSksJCh2Ll9pdGVtQ2xh
c3MrIiAiK3YuX3N0YXRpY0xpbmtDbGFzcyx2Ll9tZW51KS5tb3VzZW92ZXIoJC5w
cm94eSh2LkhpZGVGbHlvdXRzLHYpKSwkKHYuX2ZseW91dENsYXNzLHYuX21lbnUp
Lm1vdXNlb3ZlcigkLnByb3h5KHYuS2VlcEZseW91dFZpc2libGUsdikpfSxNc3Qu
Rmx5b3V0TmF2aWdhdGlvbk1lbnUucHJvdG90eXBlPXtEb2NDbGljazpmdW5jdGlv
bihuKXt2YXIgdD10aGlzLl9tZW51LmZpbmQoIi5zZWxlY3RlZCIpLGk7dC5zaXpl
KCk+MCYmKGk9JC5jb250YWlucyh0LmdldCgwKSxuLnRhcmdldCksaXx8dGhpcy5I
aWRlRmx5b3V0cygpKX0sSXRlbUNsaWNrOmZ1bmN0aW9uKG4pe3ZhciB0PXRoaXM7
bi5wcmV2ZW50RGVmYXVsdCgpLHQuQ2xlYXJIaWRlVGltZXIoKSx0LkNsZWFyU2hv
d1RpbWVyKCksdC5DbGVhclByZXZlbnREd2VsbFRpbWVyKCksdC5fcHJldmVudER3
ZWxsPSEwLHQuX3ByZXZlbnRDbGljaz09ITEmJih0LlN0YXJ0UHJldmVudER3ZWxs
VGltZXIoKSx0LklzRmx5b3V0VmlzaWJsZShuKT8odC5IaWRlRmx5b3V0cygpLHQu
SGlkZVN1Yk1lbnVGbHlvdXRzKG4pKToodC5IaWRlRmx5b3V0cygpLHQuU2hvd0Zs
eW91dChuKSx0Ll9vbk9wZW5DbGljayE9bnVsbCYmdC5fb25PcGVuQ2xpY2sobikp
KX0sSXRlbUR3ZWxsOmZ1bmN0aW9uKG4pe3ZhciB0PXRoaXM7dC5DbGVhclByZXZl
bnRDbGlja1RpbWVyKCksdC5fcHJldmVudENsaWNrPSEwLHQuX3ByZXZlbnREd2Vs
bD09ITEmJih0LlN0YXJ0UHJldmVudENsaWNrVGltZXIoKSx0LklzRmx5b3V0Vmlz
aWJsZShuKT90LkhpZGVGbHlvdXRzKCk6KHQuSGlkZUZseW91dHMoKSx0LlNob3dG
bHlvdXQobiksdC5fb25PcGVuRHdlbGwhPW51bGwmJnQuX29uT3BlbkR3ZWxsKG4p
KSl9LElzRmx5b3V0VmlzaWJsZTpmdW5jdGlvbihuKXtyZXR1cm4gJChuLnRhcmdl
dCkucGFyZW50cyh0aGlzLl9pdGVtQ2xhc3MpLmZpbmQodGhpcy5fZmx5b3V0Q2xh
c3MpLmNzcygiZGlzcGxheSIpIT0ibm9uZSJ9LFNob3dGbHlvdXQ6ZnVuY3Rpb24o
bil7dmFyIHQ9JChuLnRhcmdldCkucGFyZW50cyh0aGlzLl9pdGVtQ2xhc3MpLmFk
ZENsYXNzKCJzZWxlY3RlZCIpLmZpbmQodGhpcy5fZmx5b3V0Q2xhc3MpO3RoaXMu
UG9zaXRpb25GbHlvdXQodCksalF1ZXJ5LmJyb3dzZXIub3BlcmF8fGpRdWVyeS5i
cm93c2VyLm1zaWUmJmRvY3VtZW50LmRvY3VtZW50TW9kZTw9Nz90LnNob3coKTp0
LnNsaWRlRG93bigyMDApfSxIaWRlRmx5b3V0czpmdW5jdGlvbihuKXt2YXIgdD10
aGlzLGk7dC5IaWRlU3ViTWVudUZseW91dHMobiksalF1ZXJ5LmJyb3dzZXIub3Bl
cmF8fGpRdWVyeS5icm93c2VyLm1zaWUmJmRvY3VtZW50LmRvY3VtZW50TW9kZTw9
Nz8kKHQuX2ZseW91dENsYXNzLHQuX21lbnUpLmhpZGUoKTokKHQuX2ZseW91dENs
YXNzLHQuX21lbnUpLnNsaWRlVXAoMjAwKSxpPXQsdC5fb25DbG9zZUV2ZW50IT1u
dWxsJiYkKHQuX2l0ZW1DbGFzcykuZmlsdGVyKCIuc2VsZWN0ZWQiKS5lYWNoKGZ1
bmN0aW9uKCl7aS5fb25DbG9zZUV2ZW50KCQodGhpcykuZmluZChpLl9mbHlvdXRM
aW5rQ2xhc3MpKX0pLCQodC5faXRlbUNsYXNzKS5yZW1vdmVDbGFzcygic2VsZWN0
ZWQiKX0sSGlkZVN1Yk1lbnVGbHlvdXRzOmZ1bmN0aW9uKCl7dmFyIG49dGhpcztu
Ll9Jc3N1Ym1lbnU9PSExJiYoalF1ZXJ5LmJyb3dzZXIub3BlcmF8fGpRdWVyeS5i
cm93c2VyLm1zaWUmJmRvY3VtZW50LmRvY3VtZW50TW9kZTw9Nz8kKG4uX3N1YmZs
eW91dENsYXNzKS5oaWRlKCk6JChuLl9zdWJmbHlvdXRDbGFzcykuc2xpZGVVcCgy
MDApLCQobi5fc3ViaXRlbUNsYXNzKS5yZW1vdmVDbGFzcygic2VsZWN0ZWQiKSl9
LEtlZXBGbHlvdXRWaXNpYmxlOmZ1bmN0aW9uKG4pe24uc3RvcFByb3BhZ2F0aW9u
KCksdGhpcy5DbGVhckhpZGVUaW1lcigpLHRoaXMuQ2xlYXJTaG93VGltZXIoKX0s
UG9zaXRpb25GbHlvdXQ6ZnVuY3Rpb24obil7dmFyIGY9dGhpcyxvPSJsZWZ0Iix0
PW4ucGFyZW50cyhmLl9pdGVtQ2xhc3MpLndpZHRoKCkscz1uLnBhcmVudHMoZi5f
aXRlbUNsYXNzKS5wb3NpdGlvbigpLmxlZnQsZT1uLm91dGVyV2lkdGgoKSxoPW4u
cGFyZW50cyhmLl9tZW51Q2xhc3MpLndpZHRoKCksYT1uLnBhcmVudHMoZi5fbWVu
dUNsYXNzKS5wb3NpdGlvbigpLmxlZnQsYz1oLGkscixsLHU7bi5wYXJlbnRzKGYu
X2ZseW91dFJlZ2lvbkNsYXNzKS5zaXplKCk+MCYmKGM9bi5wYXJlbnRzKGYuX2Zs
eW91dFJlZ2lvbkNsYXNzKS5pbm5lcldpZHRoKCkpLGk9cythLHI9aC1zLXQtNSxk
b2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGlyPT0icnRsIiYmKG89InJpZ2h0Iix0
Kz03LHI9Yy1zLXQsbD1pLGk9cixyPWwpLHI8MCYmKHI9MCksaTwwJiYoaT0wKSx1
PTAsZT50K3I/ZTx0K2k/KHU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRpcj09
InJ0bCI/LWUrdCsyOi1lK3Qsbi5jc3Mobyx1KSxuLmFkZENsYXNzKCJkb2NrLXJp
Z2h0IikpOmU8aStyK3Q/KHU9LWUrKHIrdCksbi5jc3Mobyx1KSk6KHU9ZG9jdW1l
bnQuZG9jdW1lbnRFbGVtZW50LmRpcj09InJ0bCI/LWktMTotaS02LG4uY3NzKG8s
dSkpOihuLmNzcyhvLHUpLG4uYWRkQ2xhc3MoImRvY2stbGVmdCIpKX0sU3RhcnRT
aG93VGltZXI6ZnVuY3Rpb24obil7dGhpcy5fc2hvd1RpbWVySWQ9d2luZG93LnNl
dFRpbWVvdXQoJC5wcm94eShmdW5jdGlvbigpe3RoaXMuSXRlbUR3ZWxsKG4pfSx0
aGlzKSwxMDApfSxTdGFydEhpZGVUaW1lcjpmdW5jdGlvbigpe3RoaXMuX2hpZGVU
aW1lcklkPXdpbmRvdy5zZXRUaW1lb3V0KCQucHJveHkodGhpcy5IaWRlRmx5b3V0
cyx0aGlzKSwxZTMpfSxTdGFydFByZXZlbnRDbGlja1RpbWVyOmZ1bmN0aW9uKCl7
dGhpcy5fcHJldmVudENsaWNrVGltZXJJZD13aW5kb3cuc2V0VGltZW91dCgkLnBy
b3h5KGZ1bmN0aW9uKCl7dGhpcy5fcHJldmVudENsaWNrPSExfSx0aGlzKSwzNTAp
fSxTdGFydFByZXZlbnREd2VsbFRpbWVyOmZ1bmN0aW9uKCl7dGhpcy5fcHJldmVu
dER3ZWxsVGltZXJJZD13aW5kb3cuc2V0VGltZW91dCgkLnByb3h5KGZ1bmN0aW9u
KCl7dGhpcy5fcHJldmVudER3ZWxsPSExfSx0aGlzKSwzNTApfSxDbGVhclNob3dU
aW1lcjpmdW5jdGlvbigpe3dpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5fc2hvd1Rp
bWVySWQpLHRoaXMuX3Nob3dUaW1lcklkPW51bGx9LENsZWFySGlkZVRpbWVyOmZ1
bmN0aW9uKCl7d2luZG93LmNsZWFyVGltZW91dCh0aGlzLl9oaWRlVGltZXJJZCks
dGhpcy5faGlkZVRpbWVySWQ9bnVsbH0sQ2xlYXJQcmV2ZW50Q2xpY2tUaW1lcjpm
dW5jdGlvbigpe3dpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5fcHJldmVudENsaWNr
VGltZXJJZCksdGhpcy5fcHJldmVudENsaWNrVGltZXJJZD1udWxsfSxDbGVhclBy
ZXZlbnREd2VsbFRpbWVyOmZ1bmN0aW9uKCl7d2luZG93LmNsZWFyVGltZW91dCh0
aGlzLl9wcmV2ZW50RHdlbGxUaW1lcklkKSx0aGlzLl9wcmV2ZW50RHdlbGxUaW1l
cklkPW51bGx9fSxNc3QuRmx5b3V0TmF2aWdhdGlvbk1lbnVWMz1mdW5jdGlvbihu
LHQsaSl7dmFyIHU9bnVsbCxyPXRoaXM7ci5Db250cm9sPSQoIiMiK24rIl9tc3RO
YXZNZW51Iiksci5TdGFnZVdpZHRoPXQsci5TdGFnZVBhZGRpbmc9aSxyLl9oaWRl
VGltZXJJZD11LHIuX3Nob3dUaW1lcklkPXUsci5fcHJldmVudENsaWNrVGltZXJJ
ZD11LHIuX3ByZXZlbnREd2VsbFRpbWVySWQ9dSxyLl9wcmV2ZW50Q2xpY2s9ITEs
ci5fcHJldmVudER3ZWxsPSExLCQoJC5wcm94eShyLlJlYWR5LHIpKX0sTXN0LkZs
eW91dE5hdmlnYXRpb25NZW51VjMucHJvdG90eXBlPXtSZWFkeTpmdW5jdGlvbigp
e3ZhciBuPXRoaXM7JChkb2N1bWVudCkuY2xpY2soJC5wcm94eShuLkRvQ2xpY2ss
bikpLG4uU2V0Rmx5b3V0QmFja2dyb3VuZCgpLCQod2luZG93KS5yZXNpemUoJC5w
cm94eShuLlNldEZseW91dEJhY2tncm91bmQsbikpLCQoIi5tc3ROYXZOYXZJdGVt
IC5tc3ROYXZOYXZJdGVtVGFiVGV4dCIpLmNsaWNrKCQucHJveHkobi5JdGVtQ2xp
Y2ssbikpfSxEb0NsaWNrOmZ1bmN0aW9uKG4pe3ZhciB0PXRoaXMuQ29udHJvbC5m
aW5kKCIuc2VsZWN0ZWQiKSxpO3Quc2l6ZSgpPjAmJihpPSQuY29udGFpbnModC5n
ZXQoMCksbi50YXJnZXQpLGl8fCh0aGlzLkhpZGVGbHlvdXRzKCksdGhpcy5CaVRy
YWNrKG4sMTApKSl9LFNldEZseW91dEJhY2tncm91bmQ6ZnVuY3Rpb24oKXt2YXIg
ZT0icGFkZGluZy1yaWdodCIsdT0icGFkZGluZy1sZWZ0Iix0PXRoaXMsaT10LkNv
bnRyb2wub2Zmc2V0KCkubGVmdCxmPTAsbz1wYXJzZUludCh0LlN0YWdlV2lkdGg9
PSIiPyQoIi5zdGFnZSIpLndpZHRoKCk6dC5TdGFnZVdpZHRoKSxzPXBhcnNlSW50
KHQuU3RhZ2VQYWRkaW5nPT0iIj8kKCIuc3RhZ2UiKS5jc3ModSk6dC5TdGFnZVBh
ZGRpbmcpLG49JCgiLm1zdE5hdk5hdkl0ZW1GbHlvdXQiKSxyO24uY3NzKHtsZWZ0
OiIwcHgiLHJpZ2h0OiIwcHgiLHdpZHRoOiIwcHgifSksZG9jdW1lbnQuZG9jdW1l
bnRFbGVtZW50LmRpcj09Imx0ciI/KG4uY3NzKCJsZWZ0IixpKi0xKSxuLmNzcyh1
LGkpLG4uY3NzKGUsaSksZj1vKToocj1pPHM/czppLG4uY3NzKCJyaWdodCIsciot
MSksbi5jc3ModSxyKSxuLmNzcyhlLHIpLGY9byksbi5jc3MoIndpZHRoIixmKX0s
SXRlbUNsaWNrOmZ1bmN0aW9uKG4pe3ZhciB0PXRoaXM7bi5wcmV2ZW50RGVmYXVs
dCgpLHQuQ2xlYXJIaWRlVGltZXIoKSx0LkNsZWFyU2hvd1RpbWVyKCksdC5DbGVh
clByZXZlbnREd2VsbFRpbWVyKCksdC5fcHJldmVudER3ZWxsPSEwLHQuX3ByZXZl
bnRDbGljaz09ITEmJih0LlN0YXJ0UHJldmVudER3ZWxsVGltZXIoKSx0LklzRmx5
b3V0VmlzaWJsZShuKT90LkhpZGVGbHlvdXRzKCk6KHQuSGlkZUZseW91dHMoKSx0
LlNob3dGbHlvdXQobiksdC5CaVRyYWNrKG4sOSkpKX0sSXNGbHlvdXRWaXNpYmxl
OmZ1bmN0aW9uKG4pe3JldHVybiAkKG4udGFyZ2V0KS5wYXJlbnRzKCIubXN0TmF2
TmF2SXRlbSIpLmZpbmQoIi5tc3ROYXZOYXZJdGVtRmx5b3V0IikuY3NzKCJkaXNw
bGF5IikhPSJub25lIn0sU2hvd0ZseW91dDpmdW5jdGlvbihuKXt2YXIgdT0ic2Vs
ZWN0ZWQiLGk9Ii5tc3ROYXZOYXZJdGVtIixyPSQobi50YXJnZXQpLnBhcmVudHMo
aSkuYWRkQ2xhc3ModSkuZmluZCgiLm1zdE5hdk5hdkl0ZW1GbHlvdXQiKSxlPSQo
bi50YXJnZXQpLnBhcmVudHMoaSkucG9zaXRpb24oKS50b3Asbz0kKGkpLm91dGVy
SGVpZ2h0KCksdCxmO3IuY3NzKCJ0b3AiLG8rZS0xKSwkKG4uY3VycmVudFRhcmdl
dCkuZmluZCgiLm1zdE5hdk5hdkl0ZW1UZXh0IikuYWRkQ2xhc3ModSksdD0kKG4u
dGFyZ2V0KS5wYXJlbnRzKGkpLmZpbmQoIi5tc3ROYXZOYXZGaXJzdEl0ZW0iKSx0
LnNpemUoKT4wJiYoZj0kKG4udGFyZ2V0KS5wYXJlbnRzKGkpLm91dGVySGVpZ2h0
KCEwKSxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGlyPT0ibHRyIj90LmNzcygi
bGVmdCIsIi0yMHB4Iik6dC5jc3MoInJpZ2h0IiwiLTIwcHgiKSx0LmNzcygiaGVp
Z2h0IixmKSx0LmNzcygiZGlzcGxheSIsImJsb2NrIikpLGpRdWVyeS5icm93c2Vy
Lm9wZXJhfHxqUXVlcnkuYnJvd3Nlci5tc2llJiZkb2N1bWVudC5kb2N1bWVudE1v
ZGU8PTc/ci5zaG93KCk6ci5zbGlkZURvd24oMjAwKX0sSGlkZUZseW91dHM6ZnVu
Y3Rpb24oKXt2YXIgbj0ic2VsZWN0ZWQiLHQ9Ii5tc3ROYXZOYXZJdGVtRmx5b3V0
IjtqUXVlcnkuYnJvd3Nlci5vcGVyYXx8alF1ZXJ5LmJyb3dzZXIubXNpZSYmZG9j
dW1lbnQuZG9jdW1lbnRNb2RlPD03PyQodCkuaGlkZSgpOiQodCkuc2xpZGVVcCgy
MDApLCQoIi5tc3ROYXZOYXZJdGVtIikucmVtb3ZlQ2xhc3MobiksJCgiLm1zdE5h
dk5hdkl0ZW1UZXh0IikucmVtb3ZlQ2xhc3MobiksJCgiLm1zdE5hdk5hdkZpcnN0
SXRlbSIpLmNzcygiZGlzcGxheSIsIm5vbmUiKX0sSXRlbUR3ZWxsOmZ1bmN0aW9u
KG4pe3ZhciB0PXRoaXM7dC5DbGVhclByZXZlbnRDbGlja1RpbWVyKCksdC5fcHJl
dmVudENsaWNrPSEwLHQuX3ByZXZlbnREd2VsbD09ITEmJih0LlN0YXJ0UHJldmVu
dENsaWNrVGltZXIoKSx0LklzRmx5b3V0VmlzaWJsZShuKT90LkhpZGVGbHlvdXRz
KCk6KHQuSGlkZUZseW91dHMoKSx0LlNob3dGbHlvdXQobikpKX0sU3RhcnRTaG93
VGltZXI6ZnVuY3Rpb24obil7dGhpcy5fc2hvd1RpbWVySWQ9d2luZG93LnNldFRp
bWVvdXQoJC5wcm94eShmdW5jdGlvbigpe3RoaXMuSXRlbUR3ZWxsKG4pfSx0aGlz
KSwxMDApfSxTdGFydEhpZGVUaW1lcjpmdW5jdGlvbigpe3RoaXMuX2hpZGVUaW1l
cklkPXdpbmRvdy5zZXRUaW1lb3V0KCQucHJveHkodGhpcy5IaWRlRmx5b3V0cyx0
aGlzKSwxZTMpfSxTdGFydFByZXZlbnRDbGlja1RpbWVyOmZ1bmN0aW9uKCl7dGhp
cy5fcHJldmVudENsaWNrVGltZXJJZD13aW5kb3cuc2V0VGltZW91dCgkLnByb3h5
KGZ1bmN0aW9uKCl7dGhpcy5fcHJldmVudENsaWNrPSExfSx0aGlzKSwzNTApfSxT
dGFydFByZXZlbnREd2VsbFRpbWVyOmZ1bmN0aW9uKCl7dGhpcy5fcHJldmVudER3
ZWxsVGltZXJJZD13aW5kb3cuc2V0VGltZW91dCgkLnByb3h5KGZ1bmN0aW9uKCl7
dGhpcy5fcHJldmVudER3ZWxsPSExfSx0aGlzKSwzNTApfSxDbGVhclNob3dUaW1l
cjpmdW5jdGlvbigpe3dpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5fc2hvd1RpbWVy
SWQpLHRoaXMuX3Nob3dUaW1lcklkPW51bGx9LENsZWFySGlkZVRpbWVyOmZ1bmN0
aW9uKCl7d2luZG93LmNsZWFyVGltZW91dCh0aGlzLl9oaWRlVGltZXJJZCksdGhp
cy5faGlkZVRpbWVySWQ9bnVsbH0sQ2xlYXJQcmV2ZW50Q2xpY2tUaW1lcjpmdW5j
dGlvbigpe3dpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5fcHJldmVudENsaWNrVGlt
ZXJJZCksdGhpcy5fcHJldmVudENsaWNrVGltZXJJZD1udWxsfSxDbGVhclByZXZl
bnREd2VsbFRpbWVyOmZ1bmN0aW9uKCl7d2luZG93LmNsZWFyVGltZW91dCh0aGlz
Ll9wcmV2ZW50RHdlbGxUaW1lcklkKSx0aGlzLl9wcmV2ZW50RHdlbGxUaW1lcklk
PW51bGx9LEJpVHJhY2s6ZnVuY3Rpb24obix0KXtyZXR1cm4gJC5iaSYmJC5iaS5k
YXRhUmV0cmlldmVycy5zdHJ1Y3R1cmUmJihwYXJhbXM9e30scGFyYW1zLmludGVy
YWN0aW9udHlwZT10LHBhcmFtcy5jb3Q9NSxwYXJhbXMucGFyZW50dHlwZXN0cnVj
dHVyZT0kLmJpLmRhdGFSZXRyaWV2ZXJzLnN0cnVjdHVyZS5nZXRUeXBlU3RydWN0
dXJlKCQobi50YXJnZXQpLnBhcmVudHMoIi5tc3ROYXZOYXZJdGVtVGFiVGV4dCIp
KSx0PT05JiYocGFyYW1zLnRpdGxlPSQobi50YXJnZXQpLnRleHQoKSksJC5iaS5y
ZWNvcmQocGFyYW1zKSksITB9fTs=

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=oneMscomJsCssLoader.js
Content-Type: application/x-javascript; name=oneMscomJsCssLoader.js
Content-Location: http://support.microsoft.com/scripts/oneMscomJsCssLoader.js
Content-Transfer-Encoding: Base64

d2luZG93Lk1zdD09PXVuZGVmaW5lZCYmKHdpbmRvdy5Nc3Q9e30pLE1zdC5Kc0Nz
c0xvYWRlcj1mdW5jdGlvbihuKXt0aGlzLk9wZW5HcmFwTWV0YVRhZ3M9biwkKCQu
cHJveHkodGhpcy5SZWFkeSx0aGlzKSl9LE1zdC5Kc0Nzc0xvYWRlci5wcm90b3R5
cGU9e1JlYWR5OmZ1bmN0aW9uKCl7dmFyIG49dGhpcztuLkFkZE9wZW5HcmFwaE1l
dGFUYWdzKCksbi5BZGRPcGVuR3JhcGhVcmwoKSxuLkFkZE9wZW5HcmFwaE5hbWVz
cGFjZSgpLG4uQWRkRmFjZWJvb2tOYW1lc3BhY2UoKX0sQWRkT3BlbkdyYXBoTWV0
YVRhZ3M6ZnVuY3Rpb24oKXt2YXIgbj0iIix0LGk7Zm9yKHQgaW4gdGhpcy5PcGVu
R3JhcE1ldGFUYWdzKXtmb3IoaSBpbiB0aGlzLk9wZW5HcmFwTWV0YVRhZ3NbdF0p
bj1uKyIgIitkZWNvZGVVUklDb21wb25lbnQoaSkrJz0iJytkZWNvZGVVUklDb21w
b25lbnQodGhpcy5PcGVuR3JhcE1ldGFUYWdzW3RdW2ldKSsnIic7JCgiPG1ldGEg
IituKyIgLz4iKS5hcHBlbmRUbygiaGVhZCIpLG49IiJ9fSxBZGRPcGVuR3JhcGhV
cmw6ZnVuY3Rpb24oKXt2YXIgaT0kKCJtZXRhW3Byb3BlcnR5PSdvZzp1cmwnXSIp
LHQsbjtpLmxlbmd0aHx8JCgnPG1ldGEgcHJvcGVydHk9Im9nOnVybCIgY29udGVu
dD0iJytlbmNvZGVVUkkod2luZG93LmxvY2F0aW9uKSsnIi8+JykuYXBwZW5kVG8o
ImhlYWQiKSx0PSQoIm1ldGFbcHJvcGVydHk9J29nOmRlc2NyaXB0aW9uJ10iKSx0
Lmxlbmd0aHx8KG49JCgibWV0YVtuYW1lPSdkZXNjcmlwdGlvbiddIiksbi5sZW5n
dGgmJiQoJzxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0i
JytuLmF0dHIoImNvbnRlbnQiKSsnIi8+JykuYXBwZW5kVG8oImhlYWQiKSl9LEFk
ZE9wZW5HcmFwaE5hbWVzcGFjZTpmdW5jdGlvbigpe3ZhciBuPSJ4bWxuczpvZyI7
JCgiaHRtbCIpLmF0dHIobik9PXVuZGVmaW5lZCYmJCgiaHRtbCIpLmF0dHIobiwi
aHR0cDovL29ncC5tZS9ucyMiKX0sQWRkRmFjZWJvb2tOYW1lc3BhY2U6ZnVuY3Rp
b24oKXt2YXIgbj0ieG1sbnM6ZmIiOyQoImh0bWwiKS5hdHRyKG4pPT11bmRlZmlu
ZWQmJiQoImh0bWwiKS5hdHRyKG4sImh0dHA6Ly9vZ3AubWUvbnMvZmIjIil9fTs=

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://www.microsoft.com/global/onemscomsettings/publishingimages/searchimages/searchv3.ltr.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAADQAAAAoCAYAAACxbNkLAAAACXBIWXMAAAsTAAAL
EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33
3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs
DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe
EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH
/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn
f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ
V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4
mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg
g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl
7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A
V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5
WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ
WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA
RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv
1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4
IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy
UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE
bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM
WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE
NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD
5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h
tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0
dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK
CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep
O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN
2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp
G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n
U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36
p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP
jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn
m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR
p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H
DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn
F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc
n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh
7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ
gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p
DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85
ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7
F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R
NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9
MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo
1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5
sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF
fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP
ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ
zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ
+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v
dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb
Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7
52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7
nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9
zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D
BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy
l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT
0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq
YAAAOpgAABdvkl/FRgAAApNJREFUeNrsmMFx2lAQhn95UoBOuXo1zj1KBYEO5GNO
Rh2YCoIrAFcgcsoxdBB1gAoIk+Wak1IBOXifZxGrFyFkLHnYGQaQxQ+fd/d/+16w
2+3wluIKbywuQBegM8c76+L76XffZ0IACQBS15YA2L35M//SLyBPJAAygdLxFcAC
wLSXGaqJEYAf8joH8A1ACeAzgHt5hADSofRQpsprLM8rycongZsIeO+BRtIzXJOB
AsCjvL4bAlAszyvPPe5vNASgUjmcz/0Gsw4VyuVCT1lC23ffgVhg5gbURKwb4n69
t+1M9YZzshWAvwA+SuYga1Hed6BMIHQ/kaw7+tojgFnfF9YqzFJsO1ZZYclW2dtZ
7j8wrqeKIU3bIw/MILcPhSqhwcD4Sq4EEEnzFxhQBJdDkgvQBeisW/DqZL23mAZB
cJQIEYUAwMwlAHTRz20zNAfwU+2TcIoOEcWvWXITecQClbT5YiLa0yGi5DWAYvmv
6tK7awHTic6pQCGeTn3CykSRtuibk3WaAk0a7omcIaTWlC3ldJSOM4YugTJjwnZx
b/TK1BqLiCgDkFlQRGTqMHNn45UbfaogqQylrm/Wlc8tYJySRlF0oMPMS9U3BzrM
/Kxj2fYHilyJVuPhF//O64DWhgWnsnFbV0okx9NBIwygo3SYeU/HAgqCADfXNFNn
FgCQb7Y8tu53JTc2yicTW9Y/ggHcejLelc5ebLY8U7qlz0Cu1E3Wj4krzXvr22pL
YzfSaWECDuJhs2Vuun0IPROA7itbTEYfseZaHddX1agrORc31zTabDn33m9cDI16
N03A9+UCdaCjTaAJUFcbPDfWhD4T8AEpZ3vWqZrAOYGgjqoWTY+orGlboBLJTvnS
QP8GAKci9E2HWBgLAAAAAElFTkSuQmCC

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=microsoftlogov3.png
Content-Type: image/png; name=microsoftlogov3.png
Content-Location: http://www.microsoft.com/global/onemscomsettings/publishingimages/headerimages/microsoftlogov3.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAAF4AAAAUCAYAAAAEEYpkAAAACXBIWXMAAAsTAAAL
EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33
3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs
DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe
EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH
/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn
f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ
V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4
mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg
g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl
7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A
V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5
WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ
WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA
RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv
1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4
IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy
UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE
bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM
WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE
NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD
5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h
tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0
dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK
CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep
O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN
2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp
G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n
U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36
p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP
jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn
m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR
p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H
DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn
F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc
n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh
7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ
gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p
DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85
ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7
F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R
NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9
MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo
1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5
sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF
fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP
ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ
zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ
+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v
dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb
Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7
52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7
nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9
zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D
BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy
l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT
0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq
YAAAOpgAABdvkl/FRgAABE9JREFUeNrs2HmIllUUBvDfp1a2WJNRVrZaQZZR2YLt
KGbRIpZRZBSk9VcblOEfLRgEUdhGREiLKUbaZmVJNC1kktFGe2aaZZbRoo7RWFP0
9UfPC5ePGceIPpPmwHDfec/d3uee85znfrW1YwbVdWP95iytTW6tddtv8on1mh7b
IOvVA0EP8P8r6/NvLzBx4sSBWaeOlfiti647oF/6fY927I2D8EL+3xRsEG7CyViF
o/Bt2WHKlClNifiXsQTLcHoXfXpjLpam34i8n42ncPUmAnpfPIaz8SNW5NskiDZr
JtVslYjvhQu76DMykdELtSITP8DPWLyJAH8MDg3gh+O4AP9WAnDLZgLfK/SyBqdm
Y402Ie2atJU6ugjb4eEusqRvN9/QmW8LbL6eMbXM27sbf2c0vW3aFaEZ6I/Dsma9
2cCvwbxselyDf3+MxRudRPYNWJDIUaTsXfgYy/Epzo/vbryE4zEjtHVEfOfjlbxb
htZOqO8cLMRX+BKTCt/22c978S3GdAyO/1ZMyfMBifAXcV9Rw54PdTZN1WyWqP0t
wPcvfOdmH1M7KaBDMQw75/+D8RouTSYsie+E+IdhOO7NvLthG9yYgxiWAt8Wensa
l2TsmZiFIXgXHTgyvpYEzvUYmFq0OS7A/IA/EHsW9DokwmCfQsgMrg6qT785Szfo
0vMPL0d98Xo+dCxOCxAtoZPvEwkXdzH+j7S3BehZGI91OYCB8Vep/Av2TYEbhWtS
K04JUHAF7sB1eCD9JGonh2p2yrtJObQ3M8cPAX4WzsDNGJ2MmYV3kqUdGbcQ3+GQ
ioL61B5a0+2NtH5eS83z3d9cjerycGqJ9mkBfkKAH41d87E/llW/wTqwR9TOr4m8
dfG15a+sDbeEDqRow5MF6JIVl0f+DQ39iABYHnWysij+FZ38UOzp9gB/RLK2vQiU
jiIIqqBor+R0My9QW+JZvB8OPrTg+4e6Gft7EdUrwsHrs2XF84C0nzf0ac9hy9x3
hpP3wP34ECcl8qs5vmyY45vsrV++r/53Cl+zrFIJ04uoHI7nwqm6URrtRZHqv55+
GgD4qQC3Ud205Hl1InNUsqoVu4eCBhQHNKBhjh3D3W2hstp/EfjKHg6njwxPTtuA
MVtETSwJWFcWvm2wXyeAlxc4GJPiXNlZGfdVFNW+qUUvRwG1hQb7FhR1eQpnZVVN
erUhuBqztZKaLRsT+JV4Is8fVfJqA3/auDbtVViEZzqRfY32ePi9f6Rpa9rpxZxt
kYrLMBOPpmi/HYq6NeuMyLpzI2fH53uub8i40pbjC2wdOTmvWcC/nYjqKN5Nzcbv
SbFU3FQXFZePT/FZkeqzQwcvRnEMD020FuM/KOilyoJxAfhrHB2pNz8cPiP9FqTw
jcWBeCRX/wq84XgwUT0yun46ji3uH6uy5w+L9dfiMnyCvbDLXyc0c3UzVE2P9fws
3AP8/9pq9Xq9B4WNYH8OAFfwGRuUZDyaAAAAAElFTkSuQmCC

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=downarrow.png
Content-Type: image/png; name=downarrow.png
Content-Location: http://www.microsoft.com/global/onemscomsettings/publishingimages/headerimages/downarrow.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAAAcAAAAFCAYAAACJmvbYAAAACXBIWXMAAAsTAAAL
EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33
3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs
DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe
EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH
/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn
f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ
V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4
mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg
g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl
7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A
V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5
WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ
WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA
RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv
1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4
IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy
UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE
bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM
WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE
NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD
5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h
tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0
dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK
CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep
O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN
2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp
G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n
U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36
p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP
jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn
m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR
p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H
DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn
F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc
n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh
7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ
gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p
DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85
ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7
F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R
NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9
MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo
1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5
sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF
fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP
ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ
zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ
+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v
dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb
Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7
52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7
nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9
zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D
BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy
l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT
0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq
YAAAOpgAABdvkl/FRgAAAFBJREFUeNpiVJZXEGBgYFjPgAkame4+fPCBgYHhIAMD
gwMSZrj78MEBJiijgYGB4QJUxwcGBoZEBgYGBiYkYxJhxt19+OABhiXK8goOyHzA
AHGlFFhlmBuXAAAAAElFTkSuQmCC

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=search_mag_glass.png
Content-Type: image/png; name=search_mag_glass.png
Content-Location: http://support.microsoft.com/library/images/support/CN/search_mag_glass.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAIAAABGNLJTAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAA
AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U
Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6
eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8x
Mi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE
ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRv
YmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv
bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20v
eGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRv
YmUgUGhvdG9zaG9wIENTNS4xIFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9Inht
cC5paWQ6RTlGMzBDNjVEQzA3MTFFMUE1RkJGQUJBRDVFMjMyNjUiIHhtcE1NOkRv
Y3VtZW50SUQ9InhtcC5kaWQ6RTlGMzBDNjZEQzA3MTFFMUE1RkJGQUJBRDVFMjMy
NjUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlp
ZDpFOUYzMEM2M0RDMDcxMUUxQTVGQkZBQkFENUUyMzI2NSIgc3RSZWY6ZG9jdW1l
bnRJRD0ieG1wLmRpZDpFOUYzMEM2NERDMDcxMUUxQTVGQkZBQkFENUUyMzI2NSIv
PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94
cGFja2V0IGVuZD0iciI/PjY2SEQAAAEgSURBVHjaYvz//z8DKlhw+vXEw88vPP0K
4Too89W7ywJJIJsRTXXiijtA1RC2gTQ3XM/8CJUEU1GG/0ig/+AzhqJjQARkQETe
f/tdv+MRRHD/nY8oqhVaziIrhQOIBoepV5jgbgBa+uDdTwUh9gI7STSfQEQO3P2E
UP3hx18gqSDIzoABBDhZgH4AMpjQJB68/8mADUC8i1ANDCOgGUDHAG1EUzrh0HNI
ECG55PsfAU5mICNw/k1kDcAALdz4AMjIt5WEhjdQqeP0a/DQhZgkwMEMdBjQNiAX
GNjAIAepRlMKdNKFZ9+AgnAv5ttKNLjLAtksaEohZkDCC64ZbiEjMMzhEnCluAAT
8UpBqiHBDrSu31+BgRBgxEyxeABAgAEAIJbGTZsQIGgAAAAASUVORK5CYII=

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=ss_dd_select1.png
Content-Type: image/png; name=ss_dd_select1.png
Content-Location: http://support.microsoft.com/library/images/support/cn/ss_dd_select1.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAAA0AAAAYCAYAAAAh8HdUAAAAAXNSR0IArs4c6QAA
AARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAA
OpgAABdwnLpRPAAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwA
AAC6SURBVDhPpdAxCoMwGMXxFkFwc/MIIXMXN1eXB1065AjSG3gF505eIUfIFTyC
V/AIWiL0EcThSQO/EBL+fJD74/3ZbldXjNZ1hWofErdlWaBiNM8zVIymaYKKUQgB
Kkbee6gYjeMIFaNhGKBi1Pc9VIy6roOKkXMOP9vJSt8ZtW2LVNod3xjVdY2jGJ7d
MzLGQMWoqiqoGOV5DhWjLMugYlQUBVSMyrKE6r+PsNY+VZzUNM1LxSgervgCpo4C
FhApZbcAAAAASUVORK5CYII=

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=wayfinder.css
Content-Type: text/css; charset=utf-8; name=wayfinder.css
Content-Location: http://support.microsoft.com/common/css/gps/wayfinder.css?80
Content-Transfer-Encoding: 8bit

﻿.wayfinder
{
    height: 143px;
    background: #0072c6;
    color: #333;
    position: relative;
    z-index: 10;
}

    .wayfinder a, .wayfinder a:hover
    {
        color: #fff;
        text-decoration: none;
    }

    .wayfinder .products
    {
        margin-left: 220px;
    }

    .wayfinder .modalities
    {
        width: 220px;
        float: left;
    }

        .wayfinder .modalities a, .wayfinder .modalities a:hover
        {
            color: White;
            height: 100%;
            width: 100%;
            display: table;
            *display: block;
            *line-height: 47px;
            vertical-align: middle;
            font-size: 16px;
        }

            .wayfinder .modalities a span
            {
                display: table-cell;
                vertical-align: middle;
                height: 100%;
                overflow: hidden;
                padding-left: 15px;
            }

                .wayfinder .modalities a span > span
                {
                    display: inline-block;
                    max-width: 170px;
                    padding-left: 3px;
                    height: auto;
                    *line-height: 20px;
                }

                .wayfinder .modalities a span > img
                {
                    display: inline-block;
                }

        .wayfinder .modalities ul
        {
            background: #002050;
            height: 100%;
        }

        .wayfinder .modalities li
        {
            border-bottom: 1px solid #fff;
            border-right: 1px solid #fff;
            overflow: hidden;
        }

            .wayfinder .modalities li.selected
            {
                background: #0072c6;
                border-right-color: #0072c6;
            }

                .wayfinder .modalities li.selected a
                {
                    font-weight: bold;
                }

            .wayfinder .modalities li .arrow
            {
                margin-left: 10px;
                display: none;
            }

            .wayfinder .modalities li.selected .arrow
            {
                display: inline;
            }

        .wayfinder .modalities li
        {
            height: 47px;
        }

    .wayfinder .products h3
    {
        padding: 0;
        margin: 0;
        font-size: 16px;
        font-weight: normal;
        color: #fff;
        height: 48px;
        line-height: 45px;
        margin-left: 20px;
    }

    .wayfinder .products > ul
    {
        margin-left: 10px;
    }


        .wayfinder .products > ul > li
        {
            float: left;
            width: 80px;
            height: 95px;
            position: relative;
        }

            .wayfinder .products > ul > li.last
            {
                margin-left: 10px;
                width: 120px;
            }

                .wayfinder .products > ul > li.last span.icon img
                {
                    position: absolute;
                    top: 50px;
                    right: 1px;
                }

                .wayfinder .products > ul > li.last span.title
                {
                    text-align: center;
                    width: 100px;
                }

            .wayfinder .products > ul > li a
            {
                display: block;
                height: 100%;
                text-align: left;
                font-size: 12px;
                overflow: hidden;
                line-height: 15px;
                cursor: pointer;
            }

            .wayfinder .products > ul > li span
            {
                display: block;
            }

                .wayfinder .products > ul > li span.icon
                {
                    position: inherit;
                    left: 0;
                    top: 0;
                    overflow: hidden;
                    width: 100%;
                    height: 100%;
                }

                .wayfinder .products > ul > li span.title
                {
                    position: absolute;
                    left: 0;
                    top: 50px;
                    text-align: center;
                    width: 100%;
                }

                .wayfinder .products > ul > li span.selected-indicator
                {
                    position: absolute;
                    left: 0;
                    bottom: 0;
                    display: block;
                    width: 100%;
                    text-align: center;
                }

                    .wayfinder .products > ul > li span.selected-indicator img
                    {
                        width: 15px;
                        height: 7px;
                    }

            .wayfinder .products > ul > li .show-when-selected
            {
                display: none !important;
            }

            .wayfinder .products > ul > li.selected .show-when-selected
            {
                display: block !important;
            }

        .wayfinder .products > ul ul
        {
            left: 0;
            top: 100%;
            position: absolute;
            background: #fff;
            border: 2px solid #d1d3d4;
            display: none;
            min-width: 200px;
        }
        
        .wayfinder .products > ul ul li:hover
        {
            background: #0072c6;
        }

            .wayfinder .products > ul ul li:hover a
            {
                color: #fff;
            }

        .wayfinder .products > ul ul li a
        {
            padding: 10px;
            padding-right: 30px;
            color: #333;
            text-align: left;
            white-space: nowrap;
            overflow: visible;
        }

    .wayfinder ul
    {
        list-style: none;
        padding: 0;
        margin: 0;
    }

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=wayfinder.js
Content-Type: application/x-javascript; name=wayfinder.js
Content-Location: http://support.microsoft.com/common/script/gps/wayfinder.js?80
Content-Transfer-Encoding: Base64

dmFyIE1pY3Jvc29mdD13aW5kb3cuTWljcm9zb2Z0fHx7fTtNaWNyb3NvZnQuU3Vw
cG9ydD1NaWNyb3NvZnQuU3VwcG9ydHx8e30sTWljcm9zb2Z0LlN1cHBvcnQuR1NT
PU1pY3Jvc29mdC5TdXBwb3J0LkdTU3x8e30sTWljcm9zb2Z0LlN1cHBvcnQuR1NT
LldheUZpbmRlcj1mdW5jdGlvbihuLHQpe3ZhciBzPU1pY3Jvc29mdC5TdXBwb3J0
LkdTUy5TY29wZU5vZGVUeXBlLG89TWljcm9zb2Z0LlN1cHBvcnQuR1NTLlNjb3Bl
Tm9kZSx1PXRoaXMsbD0kKHRoaXMpLGM9JChuKSx1dD17ZW5hYmxlOiEwLGxhbmd1
YWdlOiJlbi11cyIsaXNSVEw6ITEscGF0aDoiIixpc0Z1bGxUb3BpY1BhdGg6ITEs
dG9waWNLZXlzOltdfSxmPSQuZXh0ZW5kKCEwLHt9LHV0LHQpLGE9JCgiLm1vZGFs
aXRpZXMgbGkiLGMpLGU9JCgiLnByb2R1Y3RzIHVsOmZpcnN0ID4gbGkucHJvZHVj
dC10aWxlIixjKSxydD0kKCIucHJvZHVjdHMgbGkucHJvZHVjdC1pdGVtIixjKSx2
PSQoInVsIixlKSx5PWEuZmlsdGVyKCIuc2VsZWN0ZWQiKSxudD1lLmZpbHRlcigi
LnNlbGVjdGVkIiksZXQ9bnQsaD1udWxsLGQ9bmV3IG8ocy5Sb290KSxpPW51bGws
cj1udWxsLHR0PW8ucHJvdG90eXBlLnBhcnNlUGF0aCxvdD1mdW5jdGlvbihuKXty
ZXR1cm4gdHQobikuam9pbigiLyIpfSxnPWZ1bmN0aW9uKG4sdCl7dmFyIGY9aSx1
O2k9cj10LmRhdGEoIm5vZGUiKSx3KCksdT1sLnRyaWdnZXJIYW5kbGVyKCJwcm9k
dWN0c2VsZWN0IixbcixuXSk9PT0hMSxmIT09aSYmbC50cmlnZ2VySGFuZGxlcigi
c2NvcGVjaGFuZ2UiLFtpLGZdKT09PSExJiYodT0hMCksdSYmbi5wcmV2ZW50RGVm
YXVsdCgpfSxwPWZ1bmN0aW9uKG4pe3JldHVybnt0eXBlOm4uZGF0YSgidHlwZSIp
LHJvb3RQYXRoOm4uZGF0YSgicm9vdC1wYXRoIil9fSxrPWZ1bmN0aW9uKG4pe3Zh
ciB0PW4uZGF0YSgibm9kZSIpO3JldHVybiB0IGluc3RhbmNlb2Ygb3x8KHQ9bmV3
IG8ocy5Qcm9kdWN0LG4uZGF0YSgia2V5IiksJC50cmltKG4uZmluZCgiPiBhIiku
dGV4dCgpKSx7c2VhbUlkOm4uZGF0YSgic2VhbS1pZCIpLHByb2R1Y3RJZDpuLmRh
dGEoInByb2R1Y3QtaWQiKX0pLG4uZGF0YSgibm9kZSIsdCkpLHR9LGI9ZnVuY3Rp
b24oKXt2YXIgdD1bXSxuPVtdO3JldHVybiAkLmVhY2goYXJndW1lbnRzLGZ1bmN0
aW9uKHQsaSl7aSYmKCQuaXNBcnJheShpKT9uPW4uY29uY2F0KGkpOm4ucHVzaChp
KSl9KSwkLmVhY2gobixmdW5jdGlvbihuLGkpe2k9JC50cmltKGkpLGkmJiQuZWFj
aChpLnNwbGl0KC9bXFxcL10vKSxmdW5jdGlvbihuLGkpe2k9JC50cmltKGkpLGkm
JnQucHVzaChpKX0pfSksIi8iKyh0Lmxlbmd0aD4wP3Quam9pbigiLyIpKyIvIjoi
Iil9LHc9ZnVuY3Rpb24oKXskLmVhY2goYSxmdW5jdGlvbigpe3ZhciBuPSQodGhp
cyksdD1wKG4pO24uZmluZCgiYSIpLmF0dHIoImhyZWYiLGIodC5yb290UGF0aCxp
P2kuZ2V0UGF0aCgpOiIiKSl9KX0saXQ9ZnVuY3Rpb24oKXskLmVhY2gocnQsZnVu
Y3Rpb24oKXt2YXIgbj0kKHRoaXMpO24uZmluZCgiYSIpLmF0dHIoImhyZWYiLGIo
aC5yb290UGF0aCxuLmRhdGEoIm5vZGUiKS5nZXRQYXRoKCkpKX0pfSxmdD1mdW5j
dGlvbigpe2g9cCh5KSxkPW5ldyBvKHMuUm9vdCkscj1udWxsLGUuZWFjaChmdW5j
dGlvbigpe3ZhciBuPSQodGhpcyksdD1rKG4pO2QuYWRkQ2hpbGRyZW4odCksbi5m
aW5kKCJsaS5wcm9kdWN0LWl0ZW0iKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIG49JCh0
aGlzKSxpPWsobik7dC5hZGRDaGlsZHJlbihpKX0pLHI9PT1udWxsJiZuLmlzKCIu
c2VsZWN0ZWQiKSYmKHI9bi5maW5kKCJsaS5wcm9kdWN0LWl0ZW0uc2VsZWN0ZWQi
KS5kYXRhKCJub2RlIil8fHQpfSksaT1yLGkmJiQuaXNBcnJheShmLnRvcGljS2V5
cykmJigkLmVhY2goZi50b3BpY0tleXMsZnVuY3Rpb24obix0KXtpZih0KXt2YXIg
cj1uZXcgbyhzLlRvcGljLHQpO3Iuc2V0UGFyZW50KGksITApLGk9cn1lbHNlIHJl
dHVybiExfSksaS5nZXQoInR5cGUiKT09PXMuVG9waWMmJihpLl9wcm9wcz17bGVh
ZjpmLmlzRnVsbFRvcGljUGF0aH0pKSwkKCJhIixhKS5jbGljayhmdW5jdGlvbihu
KXt2YXIgdCxpO2lmKCFmLmVuYWJsZSlyZXR1cm4hMTtuLnByZXZlbnREZWZhdWx0
KCksdD0kKHRoaXMpLnBhcmVudCgibGkiKSx5WzBdIT09dFswXSYmKGEubm90KHQp
LnJlbW92ZUNsYXNzKCJzZWxlY3RlZCIpLHQuYWRkQ2xhc3MoInNlbGVjdGVkIiks
aD1wKHQpLGwudHJpZ2dlcigibW9kYWxpdHlzZWxlY3QiLFtoLG5dKSx5PXQsaXQo
KSxpPXQuZGF0YSgicHJvZHVjdHMtaGVhZC10aXRsZSIpLGkmJiQoIi5wcm9kdWN0
cyAuaGVhZC10aXRsZSIsYykuaHRtbChpKSl9KSwkKCI+IGEiLGUpLmNsaWNrKGZ1
bmN0aW9uKG4pe2lmKCFmLmVuYWJsZSlyZXR1cm4hMTt2YXIgaT0kKHRoaXMpLnBh
cmVudCgibGkiKSx0PWkuZmluZCgiPiB1bCIpO3QubGVuZ3RoPjA/KHQuaXMoIjp2
aXNpYmxlIik/dC5oaWRlKCk6KHYubm90KHQpLmhpZGUoKSx0LnNob3coKSx3aW5k
b3cuc2V0VGltZW91dChmdW5jdGlvbigpeyQoZG9jdW1lbnQpLm9uZSgiY2xpY2si
LGZ1bmN0aW9uKCl7dC5oaWRlKCl9KX0sMTAwKSksbi5wcmV2ZW50RGVmYXVsdCgp
KTooZS5ub3QoaSkucmVtb3ZlQ2xhc3MoInNlbGVjdGVkIiksdi5ub3QodCkuaGlk
ZSgpLGkuYWRkQ2xhc3MoInNlbGVjdGVkIiksZyhuLGkpKX0pLHYuZWFjaChmdW5j
dGlvbigpe3ZhciBuPSQodGhpcyk7aWYobi5pcygiOnZpc2libGUiKSkkKGRvY3Vt
ZW50KS5vbmUoImNsaWNrIixmdW5jdGlvbigpe24uaGlkZSgpfSl9KSwkKCJsaSA+
IGEiLGUpLmNsaWNrKGZ1bmN0aW9uKG4pe2lmKCFmLmVuYWJsZSlyZXR1cm4hMTt2
YXIgaT0kKHRoaXMpLnBhcmVudCgibGkiKSx0PWkucGFyZW50KCJ1bCIpLHI9dC5w
YXJlbnQoImxpIik7dC5oaWRlKCksZS5ub3QocikucmVtb3ZlQ2xhc3MoInNlbGVj
dGVkIiksdi5ub3QodCkuaGlkZSgpLHIuYWRkQ2xhc3MoInNlbGVjdGVkIiksZyhu
LGkpfSk7Yy5vbigia2V5cHJlc3MiLCJhIixmdW5jdGlvbihuKXtuLndoaWNoPT09
MTMmJiQodGhpcykuY2xpY2soKX0pOyQoZG9jdW1lbnQpLm9uKCJnZXQtaW5zdGFu
Y2VzIixmdW5jdGlvbihuLHQsaSl7aT0kLmlzRnVuY3Rpb24oaSk/aTokLmlzRnVu
Y3Rpb24odCk/dDpudWxsLHQ9JC5pc0FycmF5KHQpP3Q6W10sKGk9PT1udWxsfHxp
KHUpPT09ITApJiZ0LnB1c2godSl9KX07ZnQoKSx1LmVuYWJsZT1mdW5jdGlvbihu
KXtmLmVuYWJsZT1uIT09ITF9LHUuZ2V0Q3Q9ZnVuY3Rpb24oKXtyZXR1cm4gY30s
dS5nZXRDdXJyZW50TW9kYWxpdHk9ZnVuY3Rpb24oKXtyZXR1cm4gaD8kLmV4dGVu
ZCh7fSxoKTpudWxsfSx1LmdldEN1cnJlbnRTY29wZT1mdW5jdGlvbigpe3JldHVy
biBpfSx1LmdldEN1cnJlbnRQcm9kdWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHJ9LHUu
Y2hhbmdlU2NvcGU9ZnVuY3Rpb24obil7dmFyIHQsdSxmO2lmKHImJm4gaW5zdGFu
Y2VvZiBvKXt0PW4uZmluZFBhcmVudEJ5VHlwZShzLlByb2R1Y3QsITApLHU9bnVs
bDtpZih0PT09biYmdC5nZXRQYXRoKCk9PT1yLmdldFBhdGgoKSl1PXI7ZWxzZXtp
Zih0IT09cilpZih0LmdldFBhdGgoKT09PXIuZ2V0UGF0aCgpKXIucmVtb3ZlQ2hp
bGRyZW4oci5maW5kQ2hpbGRyZW5CeVR5cGUocy5Ub3BpYykpLHIuYWRkQ2hpbGRy
ZW4odC5nZXQoImNoaWxkcmVuIikpO2Vsc2UgcmV0dXJuITE7dT1ufXJldHVybiBp
IT09dSYmKGY9aSxpPXUsdygpLGwudHJpZ2dlcigic2NvcGVjaGFuZ2UiLFtpLGZd
KSksITB9cmV0dXJuITF9fSxNaWNyb3NvZnQuU3VwcG9ydC5HU1MuU2NvcGVOb2Rl
PWZ1bmN0aW9uKG4sdCxpLHIsdSl7dmFyIGY9dGhpczskLmV4dGVuZChmLHtfdHlw
ZTpwYXJzZUludChuLDEwKSxfa2V5OnQ/JC50cmltKHQpLnRvTG93ZXJDYXNlKCk6
IiIsX25hbWU6JC50cmltKGkpLF9wcm9wczokLmlzUGxhaW5PYmplY3Qocik/cjp7
fX0pLGYuYWRkQ2hpbGRyZW4odSl9LCQuZXh0ZW5kKE1pY3Jvc29mdC5TdXBwb3J0
LkdTUy5TY29wZU5vZGUucHJvdG90eXBlLHtfdHlwZTpudWxsLF9rZXk6bnVsbCxf
bmFtZToiIixfcHJvcHM6e30sX3BhcmVudDpudWxsLF9jaGlsZHJlbjpudWxsLF9m
aWx0ZXJTY29wZU5vZGVzOmZ1bmN0aW9uKG4pe3ZhciBpPXRoaXMuY29uc3RydWN0
b3IsdDtpZihuKXtpZihuIGluc3RhbmNlb2YgaSlyZXR1cm4gbjtpZigkLmlzQXJy
YXkobikpcmV0dXJuIHQ9W10sJC5lYWNoKG4sZnVuY3Rpb24obixyKXtyIGluc3Rh
bmNlb2YgaSYmdC5wdXNoKHIpfSksdH1yZXR1cm4gbnVsbH0scGFyc2VQYXRoOmZ1
bmN0aW9uKG4pe3ZhciB0PVtdO3JldHVybiB0eXBlb2Ygbj09InN0cmluZyImJm4m
JiQuZWFjaChuLnNwbGl0KC9bXFxcL10vKSxmdW5jdGlvbihuLGkpe2k9JC50cmlt
KGkpLGkmJnQucHVzaChpLnRvTG93ZXJDYXNlKCkpfSksdH0sYWRkQ2hpbGRyZW46
ZnVuY3Rpb24obil7dmFyIHQ9dGhpcztuPXQuX2ZpbHRlclNjb3BlTm9kZXMobiks
biYmKCQuaXNBcnJheSh0Ll9jaGlsZHJlbil8fCh0Ll9jaGlsZHJlbj1bXSksJC5l
YWNoKCQuaXNBcnJheShuKT9uOltuXSxmdW5jdGlvbihuLGkpe2lmKCQuaW5BcnJh
eShpLHQuX2NoaWxkcmVuKT09PS0xKXt2YXIgcj1pLmdldCgicGFyZW50Iik7ciYm
ciE9PXQmJnIucmVtb3ZlQ2hpbGRyZW4oaSksdC5fY2hpbGRyZW4ucHVzaChpKSxp
LnNldFBhcmVudCh0LCEwKX19KSl9LHJlbW92ZUNoaWxkcmVuOmZ1bmN0aW9uKG4p
e3ZhciB0PXRoaXM7JC5lYWNoKCQuaXNBcnJheShuKT9uOltuXSxmdW5jdGlvbihu
LGkpe3ZhciByPSQuaW5BcnJheShpLHQuX2NoaWxkcmVuKTtyPi0xJiYodC5fY2hp
bGRyZW4uc3BsaWNlKHIsMSksaS5zZXRQYXJlbnQobnVsbCkpfSl9LGNsZWFyQ2hp
bGRyZW46ZnVuY3Rpb24oKXt0aGlzLl9jaGlsZHJlbj1bXX0sZmluZENoaWxkcmVu
OmZ1bmN0aW9uKG4sdCl7dmFyIHI9dGhpcyxpO3JldHVybiB0PXQ9PT0hMCxpPVtd
LCQuaXNGdW5jdGlvbihuKSYmci5fY2hpbGRyZW4mJiQuZWFjaChyLl9jaGlsZHJl
bixmdW5jdGlvbihyLHUpe2lmKG4odSkpe2kucHVzaCh1KTtpZih0KXJldHVybiEx
fX0pLGl9LGZpbmRDaGlsZHJlbkJ5VHlwZTpmdW5jdGlvbihuLHQpe3JldHVybiB0
aGlzLmZpbmRDaGlsZHJlbihmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXQoInR5cGUi
KT09PW59LHQpfSxmaW5kQ2hpbGRCeUtleTpmdW5jdGlvbihuKXt2YXIgdD10aGlz
LmZpbmRDaGlsZHJlbihmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXQoImtleSIpPT09
bn0sITApO3JldHVybiB0Lmxlbmd0aD4wP3RbMF06bnVsbH0sZmluZENoaWxkQnlQ
YXRoOmZ1bmN0aW9uKG4sdCxpKXt2YXIgZj10aGlzLHU9JC5pc0FycmF5KG4pP246
Zi5wYXJzZVBhdGgobikscixlO2lmKGk9PT0hMCl7aWYodVswXSE9PWYua2V5KXJl
dHVybiBudWxsO3U9dS5zbGljZSgxKX1yZXR1cm4gcj1mLGU9MCwkLmVhY2godSxm
dW5jdGlvbihuLGkpe3ZhciB1PXIuZmluZENoaWxkQnlLZXkoaSk7aWYodSlyPXU7
ZWxzZSByZXR1cm4gdD09PSEwJiYocj1udWxsKSwhMX0pLHJ9LGZpbmRQYXJlbnRz
OmZ1bmN0aW9uKG4sdCxpKXt2YXIgZj10aGlzLHUscjtpPWk9PT0hMCx1PVtdO2lm
KCQuaXNGdW5jdGlvbihuKSl7cj10PT09ITA/ZjpmLl9wYXJlbnQ7d2hpbGUocil7
aWYobihyKSl7dS5wdXNoKHIpO2lmKGkpYnJlYWt9cj1yLl9wYXJlbnR9fXJldHVy
biB1fSxmaW5kUGFyZW50QnlUeXBlOmZ1bmN0aW9uKG4sdCl7dmFyIGk9dGhpcy5m
aW5kUGFyZW50cyhmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXQoInR5cGUiKT09PW59
LHQsITApO3JldHVybiBpLmxlbmd0aD4wP2lbMF06MH0sZ2V0OmZ1bmN0aW9uKG4p
e3ZhciBpPXRoaXMsdD1pWyJfIituXTtpZih0PT09dW5kZWZpbmVkKXt0PWlbIl8i
KyQudHJpbShuKS50b0xvd2VyQ2FzZSgpXTtpZih0PT09dW5kZWZpbmVkKXJldHVy
biBudWxsfXJldHVybiAkLmlzUGxhaW5PYmplY3QodCk/JC5leHRlbmQoe30sdCk6
JC5pc0FycmF5KHQpP3QuY29uY2F0KCk6dH0sc2V0UGFyZW50OmZ1bmN0aW9uKG4s
dCl7dmFyIGk9dGhpcztuPWkuX2ZpbHRlclNjb3BlTm9kZXMobik7aWYoaS5fcGFy
ZW50PT09bilyZXR1cm47aS5fcGFyZW50JiYoaS5fcGFyZW50LnJlbW92ZUNoaWxk
cmVuKGkpLGkuX3BhcmVudD1udWxsKSxuJiYoaS5fcGFyZW50PW4sdCE9PSEwJiZu
LmFkZENoaWxkcmVuKGkpKX0sZ2V0UGF0aE5vZGVzOmZ1bmN0aW9uKG4pe3ZhciB0
PXRoaXMsaTtyZXR1cm4gbj09PSEwJiZ0Ll90eXBlPT09TWljcm9zb2Z0LlN1cHBv
cnQuR1NTLlNjb3BlTm9kZVR5cGUuUm9vdD9bXTooaT10Ll9wYXJlbnQ/dC5fcGFy
ZW50LmdldFBhdGhOb2RlcyhuKTpbXSxpLnB1c2godCksaSl9LGdldFBhdGg6ZnVu
Y3Rpb24oKXt2YXIgbj10aGlzLHQ9bi5fcGFyZW50P24uX3BhcmVudC5nZXRQYXRo
KCk6IiI7cmV0dXJuKHQ/dCsiLyI6IiIpK24uX2tleX19KSxNaWNyb3NvZnQuU3Vw
cG9ydC5HU1MuU2NvcGVOb2RlVHlwZT17Um9vdDowLFByb2R1Y3Q6MSxUb3BpYzoy
fTs=

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=way-modality-carrot.png
Content-Type: image/png; name=way-modality-carrot.png
Content-Location: http://support.microsoft.com/library/images/support/cn/way-modality-carrot.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAA
AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U
Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6
eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8x
Mi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE
ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRv
YmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv
bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20v
eGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRv
YmUgUGhvdG9zaG9wIENTNS4xIFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9Inht
cC5paWQ6NDE4QzlEQ0REMDZBMTFFMTkyMDI5NkNCRjBGMjcyQzIiIHhtcE1NOkRv
Y3VtZW50SUQ9InhtcC5kaWQ6NDE4QzlEQ0VEMDZBMTFFMTkyMDI5NkNCRjBGMjcy
QzIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlp
ZDo0MThDOURDQkQwNkExMUUxOTIwMjk2Q0JGMEYyNzJDMiIgc3RSZWY6ZG9jdW1l
bnRJRD0ieG1wLmRpZDo0MThDOURDQ0QwNkExMUUxOTIwMjk2Q0JGMEYyNzJDMiIv
PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94
cGFja2V0IGVuZD0iciI/PtxxxWAAAABJSURBVHjaYvj//38DECcAMQM2zMQAAfOB
OIEBC2BCYmNVxITGBykqwKcABPKBWAGXggtAbAjED7ApAEk6AvEHbFZglQQBgAAD
AKR9IlYlnpcDAAAAAElFTkSuQmCC

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=way-windows-selected.png
Content-Type: image/png; name=way-windows-selected.png
Content-Location: http://support.microsoft.com/library/images/support/cn/way-windows-selected.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAAFAAAABfCAYAAAB/R0B4AAAACXBIWXMAAAsTAAAL
EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33
3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs
DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe
EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH
/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn
f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ
V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4
mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg
g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl
7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A
V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5
WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ
WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA
RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv
1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4
IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy
UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE
bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM
WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE
NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD
5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h
tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0
dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK
CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep
O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN
2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp
G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n
U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36
p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP
jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn
m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR
p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H
DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn
F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc
n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh
7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ
gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p
DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85
ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7
F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R
NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9
MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo
1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5
sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF
fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP
ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ
zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ
+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v
dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb
Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7
52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7
nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9
zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D
BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy
l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT
0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq
YAAAOpgAABdvkl/FRgAAA1FJREFUeNrs3E9r02AcB/BvniTPkzZtl7Td1v3rtu4P
OCYMX8DAo29AD4IHD8LOHgTFmwcPXt1RQfSgr0A8uNsERZkgCIqIzIk6JtN1deua
1kNbdVSdW1NN2u/3VAhP+vRDnj7Jk1+i4exiBW0UJ2KgL2EiE5fIJRUmui2MuBay
rkRc6Th85amv32eEDUgXGpJRA2nbwIirMJq0MOwqjKUUcikL3TETaduAZYiGtpvF
su/9CSxgKmog6yoMdkkMuwqT3RHkUgp9CYmBhETaNqALbV/7LHptBCh1DT0xEz0x
E8NudaiNpy0srRQwv/ged05NYjaXgLFPpH+dlgLaUsCJGBhyFEaTqjbULIzVjqSe
mIlkdHcXbj5exfwikIwagcdrCeC5owOYzkQw6CgMORKZuIQtxV+33ypV57SSF465
zXfAS8eGQnHk+BXh9w43tj10UgQYAhKQgARkCEhAAhKQ+f+AQmvuMq7eXLTgcrDZ
voXqCKyEZJ3c98WE2avPDryYoGnAar4EADh56yViSvgKWSpXgg9oSx2mrh3oh+sC
+LJVXYyISoGY0lH2aRFZ04AdLwSA984cQkzpB25//dFHnL79CtdOjGGm3/a1b/lt
D/ELD4P9H9jsMKk3b8Hti5YMYd8Bm+1ifehXWjCLtGJe4nkgAQlIQAIyBCQgAQnI
BAEw3sR1cBjj+2LCxbvLmM5EMdAlkXUkevdZXNTxgJfvr3z/HFM6HEv/Xt6WrZW3
jactZOImeuMm3MjuLlhGdS3R0LXOBPw5+W0P+W0Pbz8X8eDNxq5tUtfQGzfRbf8o
sJxIR7D0bhMA8KlQQqlc6ewCyz+l6FWwvF7E8noRT1Y2G7Yfv/ECw67CwC9KfAe7
JFLR/Zf4thXgXlkrlLBWKDXgNlNkLnXROYC/i1euYDW/g9X8Dp5/+Nqwfa/HHPyO
1m7PifBEmoAEZAhIQAISkCEgAQlIQIaABCQgARkCEpCABGQISEACEpAhIAEJSECG
gAQkIAEZAhKQgAQkIENAAhKQgAwBCUhAAjIEJCABCRiMzPTbeH3+iO+vAu0IwJl+
GwtzUxhJKizMTQUWUQQZz6m9EsWJGIFFFEHHqyeoiCIMeEFGFGHBCyqiCBNeEBG/
DQA8BLdt2OgdpQAAAABJRU5ErkJggg==

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=way-windows.png
Content-Type: image/png; name=way-windows.png
Content-Location: http://support.microsoft.com/library/images/support/cn/way-windows.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAAFAAAABfCAYAAAB/R0B4AAAACXBIWXMAAAsTAAAL
EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33
3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs
DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe
EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH
/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn
f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ
V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4
mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg
g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl
7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A
V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5
WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ
WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA
RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv
1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4
IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy
UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE
bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM
WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE
NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD
5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h
tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0
dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK
CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep
O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN
2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp
G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n
U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36
p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP
jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn
m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR
p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H
DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn
F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc
n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh
7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ
gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p
DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85
ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7
F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R
NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9
MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo
1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5
sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF
fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP
ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ
zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ
+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v
dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb
Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7
52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7
nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9
zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D
BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy
l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT
0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq
YAAAOpgAABdvkl/FRgAAAxZJREFUeNrs28tqE1EcBvBvbudM5pJmcmlT0yZtegGh
gk9QcOkL6EJw4cIXcOFC3Llw4dYuFUQX+gTiwmUERakgCIoLqRU1VKpNY5POJC7S
VkvUmmaimeT7VoHhTE5+zMnJ/PMfBRdKTQxQEjEd43EDWVegmJSYy5iY8kzkPQFX
ajh27Xmo76dHDUhTFSQtHWlbx5QnMZ00UfAkZlISxZSJjGMgbeswdbVt7Ga9Efp8
+hYwZenIexITIwIFT2I+E0MxJTEeF8jFBdK2Dk1VOjpnPRggQKEpGHUMjDoGCl5r
qc2mTSyvVrFU+oB7Z+exWIxD7xDpX6engLZQkYjpmExITCflzlIzMbNzJY06BpLW
/incflrGUglIWnrf4/UE8OKJHBayMUwkJCYTAllXwBbqX4/f8lt7mh9EY28LHfDK
yclIXDlhRQ37hBu1AMMUFQwBCUhAAjIEJCABCcj8f0BV6e42bne42oPbwW7nFqkr
sBmROnnoxYTF6y8OXUxQFKBc8QEAZ+68hiPVUCH9RrP/AW2hwdCUQ31wTQW+brWK
EZZQ4UgNjZCKyIoCbAcRAHxw/igcqR16/M0nn3Du7hvcOD2D40fsUOdWqQVwLz3u
7+/AbpfJ7vAe/H3RkyUcOmC3U9xd+s0e7CK92Jf4O5CABCQgARkCEpCABGT6AdDt
4j44igm9mHD5/goWshZyIwL5hMBYh81FQw949eHq3mtHakiY2l57W36nvW02bSLr
GhhzDXix/VMw9VYtUdeU4QT8OZVagEotwLsvdTx6u7HvmNAUjLkGMvaPBsu5dAzL
7zcBAJ+rPvxGc7gbLP+UetDEynodK+t1PFvdbDt+6tYrFDyJ3C9afCdGBFJW5y2+
AwV4UNaqPtaqfhtuN03mQlOHB/B3CRpNlCvbKFe28fLjt7bjBz3mEHaUQXtOhD+k
CUhAhoAEJCABGQISkIAEZAhIQAISkCEgAQlIQIaABCQgARkCEpCABGQISEACEpAh
IAEJSEACMgQkIAEJyBCQgAQkIENAAhKQgAwBCUhAAjIEJGC/5/sApXmgCYjFLOQA
AAAASUVORK5CYII=

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=way-ie-selected.png
Content-Type: image/png; name=way-ie-selected.png
Content-Location: http://support.microsoft.com/library/images/support/cn/way-ie-selected.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAAFAAAABfCAIAAADwJdcvAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAA
AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U
Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6
eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8w
Mi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE
ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5h
ZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRv
YmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0
dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9Inht
cC5kaWQ6M0U5RDlFQjZGNzdBMTFFMUI1MzlEQ0JENDUyOTFCMzIiIHhtcE1NOklu
c3RhbmNlSUQ9InhtcC5paWQ6M0U5RDlFQjVGNzdBMTFFMUI1MzlEQ0JENDUyOTFC
MzIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93
cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmRp
ZDo3QUExQjY5N0NFRjZFMTExODY0NEJDQ0NBNDhBMkRFMiIgc3RSZWY6ZG9jdW1l
bnRJRD0ieG1wLmRpZDo3QUExQjY5N0NFRjZFMTExODY0NEJDQ0NBNDhBMkRFMiIv
PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94
cGFja2V0IGVuZD0iciI/PiLyYDIAAAZ8SURBVHja7Jt7TFNXHMfb2zdtoS0taHkW
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
rwADAOQNS50oTAdyAAAAAElFTkSuQmCC

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=way-ie.png
Content-Type: image/png; name=way-ie.png
Content-Location: http://support.microsoft.com/library/images/support/cn/way-ie.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAAFAAAABfCAIAAADwJdcvAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAA
AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U
Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6
eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8w
Mi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE
ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5h
ZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRv
YmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0
dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9Inht
cC5kaWQ6M0RFOTY1NDlGNzdBMTFFMUFBODQ5QzUwN0RFQzA0NzciIHhtcE1NOklu
c3RhbmNlSUQ9InhtcC5paWQ6M0RFOTY1NDhGNzdBMTFFMUFBODQ5QzUwN0RFQzA0
NzciIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93
cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmRp
ZDo3QUExQjY5N0NFRjZFMTExODY0NEJDQ0NBNDhBMkRFMiIgc3RSZWY6ZG9jdW1l
bnRJRD0ieG1wLmRpZDo3QUExQjY5N0NFRjZFMTExODY0NEJDQ0NBNDhBMkRFMiIv
PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94
cGFja2V0IGVuZD0iciI/Pnhzx1QAAAZKSURBVHja7Jp7TNNXFMfbX9+0BVpaUN4F
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
YACl6TQ5JKn2/QAAAABJRU5ErkJggg==

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=way-office-selected.png
Content-Type: image/png; name=way-office-selected.png
Content-Location: http://support.microsoft.com/library/images/support/cn/way-office-selected.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAAFAAAABfCAIAAADwJdcvAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAA
AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U
Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6
eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8w
Mi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE
ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5h
ZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRv
YmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0
dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1l
bnRJRD0ieG1wLmRpZDo3QUExQjY5N0NFRjZFMTExODY0NEJDQ0NBNDhBMkRFMiIg
eG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDQUVFQkFFMDU5REUxMUUyOUYwQTg5
N0Y4NEIwRUEzQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDQUVFQkFERjU5
REUxMUUyOUYwQTg5N0Y4NEIwRUEzQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQ
aG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJl
ZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkY2MDc3RUFCQUMwOUUyMTFBNjkwRUNBQzcy
QjU1MjMyIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjdBQTFCNjk3Q0VGNkUx
MTE4NjQ0QkNDQ0E0OEEyREUyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpS
REY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+WWT/UwAAA+FJREFU
eNrs29tP01AYAPCuu5Qx13XDCxKicpmMiWh8MEbREMQ7Gi/xyRcTffHB+OCbLyYm
/gf+A/pgjDH65oMaNQoYhSAqGlFwk40x3YVt7bqu7Vo/JPGCEaJ2bcHvZDnJmrOu
v37nfD3t2SzE2V7CoGK3Wqrd9n3N3iOtVVJJvfc+0xvm3iUKkwVZVcv1pTZDqODc
tNK9Y7WnK+hdwVDTG/cEmJKi9n5kn4S5ZxFuaIIfTQmyojHdonOEOxo9W+vdnX6m
rc49e8t3CaEvwg2Mcy9i/NMxjiuW5hO4cXFFV7N3ZxOzccWiqso/61YpXn77uXBn
OHPhbtTsYMpGbvd7jrZWdfjpWg9FWv5+V8m8vOR8n0nHsNNO1vmogy2+Qy2+dTUu
SE7/vk9eKpkxaUHX3bLKvTvA7A146QrrnO0/sRJ0V0hNbXW0y0HO0lJRzJSlGaet
vYHeVk9Dpg0sdc7eeDwrvprgR1LCUJwHbXeIbV1eeftk8+xgc12Wrh7zdzTSMGJ/
12AsUxyI5l/HC28+TSFBmxO+d9FKO0laCH2KNmAI76/aNC/3hNn+CPd8PA/BhGT7
I/KnzKmXVjMwSCBRzdh4qSd+8V5ULKmEmUoZh40gKWbTlhdMkoQJiykPCsEIRjCC
EYxgBCMYwQhGMIIRvJDuh/V8cmMGsKKqJgRr/yBekJWeEHvjZerWUHrBghdR1oKk
jKaEh6O564Opx6GcacewNuDuUO7lBH+5P/E6zps8aWkDPn5tZLHLvq3efWZrtVRS
Q+nix8liJCOOJAvJvLwAwXFWSvFyUVaA1+n3nG6rrvVQybwE26frWFaM5cQo1Fkx
PFkcz4o/flxWCN0SnGZJCwL7PinA6+ardLUbok0fXus7sMbnsFZONwBSQVbgpPCi
AvEHP3SBSKY4nBBqPQ6bVadrWBnXh+Ey3FBVcajF1xX0rq9x/W4xUVHhXKjWuRaX
tFofthKbT5TvdKZ5uTfMXulPPI/l4YgpG7nM7ZgxH4G3c05RYAjcH8lC3zF1hH8t
NbSjvYFub6Q7/Uydj5pr3kI8G2NfxPjBWH4wxg9EOU0WbiyG/GwpuMwJg3xXE7M7
wFT8vOw4kRMffWD7vq45DicKM9LbfAV/m64Eljr3B737mr0wD+0Js90hFpzxnMhL
yvxLWnh7iGAEIxjBCEYwghGMYAQjGMEIRjCCEYxgBCMYwQhGMIIRjGAEIxjBCEYw
ghGMYAQjGMEIRjCCEYxgBCOYINbXuELnNkD9X4DB+eBUcJWPglp/M2mIlnFO/X0I
av3NpFHa6aK/mTRQa4iZNFarv5k0XKuz+YsAAwCodLDOpqgoawAAAABJRU5ErkJg
gg==

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=way-office.png
Content-Type: image/png; name=way-office.png
Content-Location: http://support.microsoft.com/library/images/support/cn/way-office.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAAFAAAABfCAIAAADwJdcvAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAA
AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U
Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6
eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8w
Mi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE
ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5h
ZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRv
YmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0
dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1l
bnRJRD0ieG1wLmRpZDo3QUExQjY5N0NFRjZFMTExODY0NEJDQ0NBNDhBMkRFMiIg
eG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpERTYyQUExODU5REUxMUUyOUMxQkFG
Qjg4RjM1M0E0MSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpERTYyQUExNzU5
REUxMUUyOUMxQkFGQjg4RjM1M0E0MSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQ
aG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJl
ZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkY2MDc3RUFCQUMwOUUyMTFBNjkwRUNBQzcy
QjU1MjMyIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjdBQTFCNjk3Q0VGNkUx
MTE4NjQ0QkNDQ0E0OEEyREUyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpS
REY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+1drCdAAAA65JREFU
eNrs2ttP01AYAPCtuzFgXbchICEol8mGiD4Zo0AIoqKgEY1Pvpjoq/HBP8DExP/A
f0AfjDFG33xQYowCRiDcMXJzk40x3IVt7bqu7Vo/JVEuAaJ2o5DvZFmy5qzrr985
X0/7Tau526fZoWbQaUsthg637WqDQ8jI3TOxPi8zHUotp0RZztaP6neECs4TByxn
Dlk762wVlGll43kXlZHkvm/0Ry/T72MmFtm5CCdKCtO1OY5wa421qcrS5qQaKy1b
95wOcQM+ZmiBGQ2wn+YZJp3ZTeCaorxOt+1sLXW8otCR/3fDKsKKX76nXk/F7r/x
qx1s0hOnndZrDY5WJ1luNRHaf99VOCnuuzeg0jlsNhCVdtPlentXvf1oWQEkp//f
Jytk1Ji0YOieOmhpd1EXXDYyT7dt/yVagOEKqamxkiwwElv0lCQ1ZWnKrG+pJpur
SMi0rmLz1p0X4vz4Ijsb4SaCLGh7PHTD/vxXt9xbg9V1WXpy3dlaQ8KM3azDfCw9
5E9OBlOfl34iQZvg/gzRfANBaDW5acqAIbwbtVFW7PXSgz5meCEJwYRkuxq5JnPm
SqsYGCSQqNZtfNgbfNDt5zOyRk0ti9OGEyS1abMLJgiNCpsqDwrBCEYwghGMYAQj
GMEIRjCCEbyX7odz+eRGDWBJllUIVv5BPCdKvR76+Vjk5UR0z4ILTbqUIM1FuHdz
iWcjkQ+ehGrnsDLgHk9ibJF9NBiaDLIqT1rKgG88nS0qMDRXWe40lQoZ2RNNf1tO
+2L8bDgVTop7EBykhQgrpkUJeG1O6+3G0nKrKZwUYPvKeyDOBxK8H97jvHc5vRDn
V39dlDQ5S3CKJS0I7EyYg9eL8WipBaJNXjliv3TYbtTlr3QAUkqU4KSwvATxBz8M
AV8sPRXiyq1GvS5H17As1ofhMlztyOuqt3fW2Y6VFWxWTJRkOBeybrviklL1YZ3m
5M3snc4oK/Z56ceDoeFAEo7YpCdKLMZ16xH4uO0SBabA29k4jB1VR3hjKyONLdVk
Sw3Z5qQq7abt1i2a/nl6NMCOBJIjAXbIzyhSuNHuyN+W6krMMMnP1VLtLipvbdlx
McG//0oP/Ko5ToVS69LbbgX/Xq64is0X62wdbhusQ3u9dI+HBmcwwbOCtPuSFt4e
IhjBCEYwghGMYAQjGMEIRjCCEYxgBCMYwQhGMIIRjGAEIxjBCEYwghGMYAQjGMEI
RjCCEYxgBCMYwQhGMIIRjGAEI3iT9kOAAQBqUJlqM/VndgAAAABJRU5ErkJggg==

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=Way-Surface-selected.png
Content-Type: image/png; name=Way-Surface-selected.png
Content-Location: http://support.microsoft.com/library/images/support/CN/Way-Surface-selected.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAAFAAAABfCAIAAADwJdcvAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAA
AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U
Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6
eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8w
Mi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE
ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5h
ZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRv
YmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0
dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1l
bnRJRD0ieG1wLmRpZDo3QUExQjY5N0NFRjZFMTExODY0NEJDQ0NBNDhBMkRFMiIg
eG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4QjNCNzMwREZFOUIxMUUxQTRENDg2
REQxREIzMzg2QSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4QjNCNzMwQ0ZF
OUIxMUUxQTRENDg2REQxREIzMzg2QSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQ
aG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJl
ZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjlDQUFEREQ1OEJGQkUxMTE4NjQ0QkNDQ0E0
OEEyREUyIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjdBQTFCNjk3Q0VGNkUx
MTE4NjQ0QkNDQ0E0OEEyREUyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpS
REY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+rquyHAAAAk1JREFU
eNrs279LG2EYB/C8713uvFzEI8ak+OOiQx0iolhr8R8IIlLRQRBEpQqlHevm0KGI
Qotu/gMubRcHt07i4lKH4FDIZKmkQWzB35poLn1Dpowlz917bb7P8I5P7pP3ued9
3kBYYGk/UE/BA3UWAAMM8L8dKmGuJ+3m1vTjqKkqnJVKtWZjLOA4pct88fX20ZfM
mR/BYV1Jxo3P6d+Z01tNYTVmuy+W2pq0F0Mxy1B8usOOU17X935+Pb4iSWhbugDX
XizuvsOmRpazsUEhfzx6MGOMLBW6NMAAAwwwwAADDHDVRE03+xZpx2jyy0MlxD0p
FOREqbivwZXH+zjTfXFXrH0MFptb+eLE7dqn4B9nhY29XFAhuz6IihZV/e3klvJu
g9+l//OgLOnxnsjL4Xj+wSHMqav8U/rX1sGp78CdEX1zsqutSSPfk+FEOJ29Pszd
+KikRR9dG7Xd0IqwDPX9WILqqKPJMtHbPNUXde/FS3Vb809jfgHblv5hLMGZi51G
nHPvRjqSccMX4Lep9q6I7nZ3bQ6pq6O2fLDozHODLd6cKOKzFp/FZII7LG3jeUJ1
tZqrY2XE7nkUknYszQ62RM1g9rzgGTisKwtDsTc73zFaYrQEGGCAAQYYYIABBhhg
gAEGGGCAAQYYYIABBhhggAEGGGCAAQYYYIABBhhggAEGGGCAAQYYYIABBhhggAH+
2+hvNY+WB8RaF2Dh3H2V7IzoYvXezKVoLaP8fymxem/msrSV8N7MJWqlmLlcrfdm
Ll3rsfmPAAMAq4F5zyMn3tkAAAAASUVORK5CYII=

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=Way-Surface.png
Content-Type: image/png; name=Way-Surface.png
Content-Location: http://support.microsoft.com/library/images/support/CN/Way-Surface.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAAFAAAABfCAIAAADwJdcvAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAA
AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U
Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6
eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8w
Mi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE
ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5h
ZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRv
YmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0
dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1l
bnRJRD0ieG1wLmRpZDo3QUExQjY5N0NFRjZFMTExODY0NEJDQ0NBNDhBMkRFMiIg
eG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpBNkI0MDM1MUZFOUIxMUUxQTg1QUFE
QkYwRTcxNEJDNSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpBNkI0MDM1MEZF
OUIxMUUxQTg1QUFEQkYwRTcxNEJDNSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQ
aG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJl
ZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjlDQUFEREQ1OEJGQkUxMTE4NjQ0QkNDQ0E0
OEEyREUyIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjdBQTFCNjk3Q0VGNkUx
MTE4NjQ0QkNDQ0E0OEEyREUyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpS
REY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+A4fVWQAAAhhJREFU
eNrs2L9LG2EYwPG8d5c780M8kpgI6qUOZlDEoanFf0BEpGIHQSit2ILgqLuDiIKi
m/+Ai+3SoZujS5d2CB0KTi0tVkQF22qt1lx8SybnPGdO/T5Dxif3yfvc8z5PVGT2
feQ+hRG5ZwEYMODbHZZgrodtiY3xzkzCMg1VqdSaTamI71d+n5en337Z2jkOIzjp
mF252JvS0c7BmW2qGrP9K1dam+zJvqwbM0N6wr7//3N1+8eH7yciCT3X0eDaiyXY
dzhhi+VsbDDFH08erJQSS0WXBgwYMGDAgAEDvjZRy82+ZdkxWnx5qIbek+JRQyiV
EWpw9fE2nxV+/S3XPgbrw63+cHq7Din42/HF2vZe1BRbH3RF66r+vH8mudvwv/Qd
D8mSHulOTfXnzi99wZyOZbwuHW58PAgd+EHKWX/a0dpki59Jfz5Z2j39tPcnRCWt
++jSkBeEVocbs5aH81JXnUyW0Z70WG8muBdvoOBOPMqGBey5zspw3lABdhp9z80P
tnflYqEAzw20daScoLtrOm4tDnn1B+vO/KLYfDM3iv6uV4+z9QS3u/bak7wVaDVf
j4VBr7slXrdr6XmxOZOI7v68uDFw0jFf9mVn3n1ltGS0BAwYMGDAgAEDBgwYMGDA
gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgEXi
SoABAG1dYmvxfmGBAAAAAElFTkSuQmCC

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=way-media-selected.png
Content-Type: image/png; name=way-media-selected.png
Content-Location: http://support.microsoft.com/library/images/support/cn/way-media-selected.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAAFAAAABfCAIAAADwJdcvAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAA
AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U
Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6
eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8w
Mi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE
ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5h
ZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRv
YmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0
dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9Inht
cC5kaWQ6NDAxQTM2NTRGNzdBMTFFMTg1NkE4OUJBQTYwNDQ0N0QiIHhtcE1NOklu
c3RhbmNlSUQ9InhtcC5paWQ6NDAxQTM2NTNGNzdBMTFFMTg1NkE4OUJBQTYwNDQ0
N0QiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93
cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmRp
ZDo3QUExQjY5N0NFRjZFMTExODY0NEJDQ0NBNDhBMkRFMiIgc3RSZWY6ZG9jdW1l
bnRJRD0ieG1wLmRpZDo3QUExQjY5N0NFRjZFMTExODY0NEJDQ0NBNDhBMkRFMiIv
PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94
cGFja2V0IGVuZD0iciI/PvisZtkAAAVhSURBVHja7Jp7TFNXHMd7b2/fLaUtSFuB
FijKa2AYcxMnxkUjs5NJNha3bMtEs2hmNpG4zG2SRfaAZOof+s9C5pz7Y8MQNxR8
RDPMZthEnMocYMajlAKD8qhtKS197YcXCtmy/bHcPga/E3Jyen4nvedz7jm/3/d3
KMUqb2YtpUJGyDxyl4sadqaNfJC3QSdd5MBcNlGt19wqy9any2LFnMrChKA+jgov
bXGW/IvtOimfHehZq5WkxvB/H3UG6YlsVv7OsKAmK/hfvaQ7tCl+xO5+42xvs8Eu
FVBAzqNIkiAudFqC9Fwi9E6LTRL7C1QVm+LFPPZ7F42ffD/g98+/3ut7s8YdHkXF
zUWypddoJEeLNE9oJG1DjtxjbV6fP2B6IUdxpEg75vCU1RsWwxmW8Ngfb0ncu1ZJ
f1QIqW9eTv3FNPn1ndFoPnVqe0qOWnSx01Ja2/WHzR28aYRoS+/Jjzu+LQk28z8N
MNvdr9f1fHdvPNgzCfobXp0orilJyVYJa24MP5jybsuS62L4fxlz7IehgxeMLo8v
BEsfRGARl6wsTCwrULUY7XBcbw9MQueBhj7wz9++thKWAD7+1GfbV2+AASE7WcEC
Bg9UpddoZLz84/eAKtAvE1BvPqkE2slpX+UVU3XTQIi9JvPAj6iEhzcnwNaF9qB1
+pkMWaZSUHtnbNrrf3uDGkzQX9c29k6jsXvMyQp5YdJpcdgQYNVV+sS/m4Ac5IRS
wjGMu8rPG87+Os4KU2HsDYPorylJTlHw+y3T17of5Gsl0A5Y1VFcqGEPf3jVBK86
jGKWAeAoPvvIVu2ux5dB+9NrgxWX+6fcPghAK2IFb61T7V4TB/2X71v2nzO0D0+F
PVdhALj9wKrlUu6XrebddT3OudACCgqUY0FylNHiOnSp/3SrOULyUAaAgRZqp9u3
cYW02WADJZypFH72fDIIY1gFiDqWKU/kXAAw4LS2ZsjOlabRbVCFJosrL0HcNerc
Udt1vde2CG88zrdP7DrTTacB4IfjJNyik52pVbcjkJYxL/15ywgEXgi50Ha4vfp0
Ge2rhmxuz0OfLOCQcRIOQbAgE4T4NO31DVndgVSJJFkqCRcyYZ/fT48ZtrnB80Eb
hjR2TDS0T0RcWIL5weROtozES7mPJYrhSCtE1JZ0WWDApU4LyCzIH0AzJ0t4+gUm
KD/2WoFTxKU8Pj9FEptXRgdMr+bFig7eiDhgUB3Ew3kvdMggpI8Waelk6PAV00KN
WVmY8P7GeLrt9vohbn10dV5mFmXK6nfM+gU2EZFXPM9mykFUFmfJzXbPzf7ZZODn
PjtkSIVp0SIuu3T1so6Rqd/mQnFTlxWWaH1KFH0H8pROKuVTgE1b75udELRLchTQ
trm81U2DEQdckhOTpZxJgGCvjk4uYDba7w46nk6T8TkkAPSMudqGHLPM3VZQmoAK
p5e+DIkWzDMDcGOH5blsBcRz0GcRnS2dKE5KkvNAY/IpEo42RGbY0vTV5OkXdTlq
IW0C12V3+cYcnqi5W8t961QKIXXLNAlWP8s/aJ0Jchlxwv9Beli+Xv0fTFBeeTQW
/hb2TDCqWyLlPw//NkWCWFrAEae0EBiBERiBERiBERiBQwzMDtrSMZsPMzZNISdY
xJAeRmK2dKrVnJcgpjNbZsuZu6MMfhuBP0xDYARGYARGYARGYARGYARGYARGYARG
YARGYARGYARGYARGYARGYARGYARGYARGYARGYARGYARGYARGYARGYARG4GCWVWpR
77u5UC8JYOBs2pOhlfOgDj0zGRbaaMHML/GhDj0zGS5auoSemQwjbViYyfDShp6Z
DDttiJn/FGAAX+f9lGvWVvIAAAAASUVORK5CYII=

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=way-media.png
Content-Type: image/png; name=way-media.png
Content-Location: http://support.microsoft.com/library/images/support/cn/way-media.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAAFAAAABfCAIAAADwJdcvAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAA
AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U
Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6
eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8w
Mi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE
ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5h
ZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRv
YmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0
dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9Inht
cC5kaWQ6M0Y2Njk5MkJGNzdBMTFFMTkwNDJFRTI3RjAyOEY5QjciIHhtcE1NOklu
c3RhbmNlSUQ9InhtcC5paWQ6M0Y2Njk5MkFGNzdBMTFFMTkwNDJFRTI3RjAyOEY5
QjciIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93
cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmRp
ZDo3QUExQjY5N0NFRjZFMTExODY0NEJDQ0NBNDhBMkRFMiIgc3RSZWY6ZG9jdW1l
bnRJRD0ieG1wLmRpZDo3QUExQjY5N0NFRjZFMTExODY0NEJDQ0NBNDhBMkRFMiIv
PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94
cGFja2V0IGVuZD0iciI/PkUK+7IAAAUxSURBVHja7Jp7TFNXHMd7H323lFKQtgLl
UZTXYHHMTZwYF43MTibZWNyyLRPN4jKzicRlZpMssgckU/9w/yxkzrk/FEPcUPAR
zTCbYRNxKnOAGY9SCgxKobaltPS1n14oZMv2x3Jb7vB30tyce34nvedz7jm/3/d3
WppX0cJ7mArJkXGsWCpt3J4x+mH+Or1ikQMLKKLGoLtRnmvIVMbJ+FVFiWF9HL2w
tCU5MV9t1StEVKhldbI8PVb0+5g7TE+keAXbFwQ1VSX65mX9/g0Jo07vW6f7WoxO
hZgGciFNkgRxrssWpucSkXdaFEnsKdRUbkiQCan3z5s+/X4wGJx7vVd35Yy7fKrK
64tkSa/SyQ8V657UyduHXSsOt/sDwZDpxTzVweJkq8tX3mBcDHtYLqQ+2ZS0a7Wa
uVVJ6JOvpP9injxxayxaRB/bmpanlZ7vspXVdf/h8IZvGBFa0m8WxB/ZkgKL+Z86
WJzeN+p7v7szHu6RhP0Nr0yS1Zam5WoktddG7k35t+TE6GNFf+lz+IfhfedMHl8g
AlMfRmCpgKwqSiov1LSanLBdbw5OQuPexn7wz9++vhymAG5/6nfsbjBCh4jtrHAB
gweqNuh0SmHBkTtAFWpXium3n1ID7eR0oOqSuaZ5MMJek33gRzSSAxsTYelCfcg+
/WyWMlstrrtlnfYH312nBRO017db32sy9VjdvIgXNp0Wn4IAq602JP3dBOQgJ9Ry
vnHcU3HWePrXcd4CFdbeMIj+2tLUNJVowDZ9pedeQbIc6iGrNkoAV1jDH102w6te
QDHLAnCUiDq4OXnHE0ug/tmVocqLA1PeAASgZXHid9Zodq6Kh/aLd217zhg7RqYW
PFdhAbhj76NLFYKv2yw763vds6EFFBQox8LUKJPNs//CwPE2C0fyUBaAgRaubm9g
/TJFi9EBSjhbLfnihVQQxjALEHVsUz7uHACw4LQ2ZynPlGUwdVCFZpsnP1HWPebe
Vtd9tc+xCE88znZM7DjVw6QB4Ifj5YLio13p1Tc5SMual/6ydRQCL4RcqLu8fkOm
kvFVww6v74FPFvPJeDmfIHiQCUJ8mvYHhu3eUKpEkjyNXACZcCAYZPqMOLzg+aAO
XZo6Jxo7JjgXlmB8MLijraMJCsHjSTLY0iopvSlTGepwocsGMgvyB9DMqXKhYZ4J
yo99duCUCmhfIEiTxMbl0SHTa/lx0n3XOAcMqoN4MO75DhmE9KHiZCYZOnDJPF9j
VhUlfrA+gal7/UGIWx9fnpOZxdnKhm0zfoEiOHnE81x2DIjKkpwYi9N3fWAmGfi5
3wkZUlFGtFRAla1c0jk69dtsKG7utsMUrU2LYs5AntYrFCIasBnrXYsbgnZpngrq
Do+/pnmIc8ClebE56vsJEKzVscl5zCbn7SHXMxlKEZ8EgF6rp33YNcPcYwelCaiw
e5nDkGjxHDMAN3Xans9VQTwHfcbpbOnzkpSUGCFoTBFNwtaGyAxLmjmaPP6SPk8r
YUzgupyegNXli5o9tdy9RqOS0DfMk2AN8oJD9vtBLite8j9IDyvWav+DCcqrj8XB
Z37LBKu6hSu/PPzbEAni4QLmnNJCYARGYARGYARGYASOMDAVtqljNx9mbZgSfriI
IT3kYrZ0rM2SnyhjMlt2y6nbYyx+G4F/TENgBEZgBEZgBEZgBEZgBEZgBEZgBEZg
BEZgBEZgBEZgBEZgBEZgBEZgBEZgBEZgBEZgBEZgBEZgBEZgBEZgBEZgBEZgBEZg
BEbgiJc/BRgAIcPmMFikzroAAAAASUVORK5CYII=

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=way-skype-selected.png
Content-Type: image/png; name=way-skype-selected.png
Content-Location: http://support.microsoft.com/library/images/support/cn/way-skype-selected.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAAFAAAABfCAIAAADwJdcvAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAA
AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U
Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6
eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8w
Mi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE
ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5h
ZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRv
YmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0
dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9Inht
cC5kaWQ6NDZBNjQwQUJGNzdBMTFFMTg4N0JEQ0JDMTZEN0VDQzIiIHhtcE1NOklu
c3RhbmNlSUQ9InhtcC5paWQ6NDZBNjQwQUFGNzdBMTFFMTg4N0JEQ0JDMTZEN0VD
QzIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93
cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmRp
ZDo3QUExQjY5N0NFRjZFMTExODY0NEJDQ0NBNDhBMkRFMiIgc3RSZWY6ZG9jdW1l
bnRJRD0ieG1wLmRpZDo3QUExQjY5N0NFRjZFMTExODY0NEJDQ0NBNDhBMkRFMiIv
PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94
cGFja2V0IGVuZD0iciI/Pkcy1akAAAdWSURBVHja7JwJTFN3HMfpQVsKpRcF5Go5
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
YII=

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=way-skype.png
Content-Type: image/png; name=way-skype.png
Content-Location: http://support.microsoft.com/library/images/support/cn/way-skype.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAAFAAAABfCAIAAADwJdcvAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAA
AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U
Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6
eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8w
Mi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE
ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5h
ZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRv
YmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0
dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9Inht
cC5kaWQ6NDVFRkU0NTBGNzdBMTFFMUFGNjlFNkM5NDdFQUM2NUUiIHhtcE1NOklu
c3RhbmNlSUQ9InhtcC5paWQ6NDVFRkU0NEZGNzdBMTFFMUFGNjlFNkM5NDdFQUM2
NUUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93
cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmRp
ZDo3QUExQjY5N0NFRjZFMTExODY0NEJDQ0NBNDhBMkRFMiIgc3RSZWY6ZG9jdW1l
bnRJRD0ieG1wLmRpZDo3QUExQjY5N0NFRjZFMTExODY0NEJDQ0NBNDhBMkRFMiIv
PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94
cGFja2V0IGVuZD0iciI/PuJxYZwAAAclSURBVHja7Jp7UFRVHMfZB7vLwrJvQF7L
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
gg==

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=way-phone-selected.png
Content-Type: image/png; name=way-phone-selected.png
Content-Location: http://support.microsoft.com/library/images/support/cn/way-phone-selected.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAAFAAAABfCAYAAAB/R0B4AAAACXBIWXMAAAsTAAAL
EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33
3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs
DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe
EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH
/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn
f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ
V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4
mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg
g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl
7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A
V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5
WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ
WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA
RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv
1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4
IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy
UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE
bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM
WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE
NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD
5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h
tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0
dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK
CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep
O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN
2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp
G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n
U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36
p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP
jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn
m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR
p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H
DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn
F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc
n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh
7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ
gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p
DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85
ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7
F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R
NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9
MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo
1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5
sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF
fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP
ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ
zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ
+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v
dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb
Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7
52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7
nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9
zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D
BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy
l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT
0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq
YAAAOpgAABdvkl/FRgAAA1FJREFUeNrs3E9r02AcB/BvniTPkzZtl7Td1v3rtu4P
OCYMX8DAo29AD4IHD8LOHgTFmwcPXt1RQfSgr0A8uNsERZkgCIqIzIk6JtN1deua
1kNbdVSdW1NN2u/3VAhP+vRDnj7Jk1+i4exiBW0UJ2KgL2EiE5fIJRUmui2MuBay
rkRc6Th85amv32eEDUgXGpJRA2nbwIirMJq0MOwqjKUUcikL3TETaduAZYiGtpvF
su/9CSxgKmog6yoMdkkMuwqT3RHkUgp9CYmBhETaNqALbV/7LHptBCh1DT0xEz0x
E8NudaiNpy0srRQwv/ged05NYjaXgLFPpH+dlgLaUsCJGBhyFEaTqjbULIzVjqSe
mIlkdHcXbj5exfwikIwagcdrCeC5owOYzkQw6CgMORKZuIQtxV+33ypV57SSF465
zXfAS8eGQnHk+BXh9w43tj10UgQYAhKQgARkCEhAAhKQ+f+AQmvuMq7eXLTgcrDZ
voXqCKyEZJ3c98WE2avPDryYoGnAar4EADh56yViSvgKWSpXgg9oSx2mrh3oh+sC
+LJVXYyISoGY0lH2aRFZ04AdLwSA984cQkzpB25//dFHnL79CtdOjGGm3/a1b/lt
D/ELD4P9H9jsMKk3b8Hti5YMYd8Bm+1ifehXWjCLtGJe4nkgAQlIQAIyBCQgAQnI
BAEw3sR1cBjj+2LCxbvLmM5EMdAlkXUkevdZXNTxgJfvr3z/HFM6HEv/Xt6WrZW3
jactZOImeuMm3MjuLlhGdS3R0LXOBPw5+W0P+W0Pbz8X8eDNxq5tUtfQGzfRbf8o
sJxIR7D0bhMA8KlQQqlc6ewCyz+l6FWwvF7E8noRT1Y2G7Yfv/ECw67CwC9KfAe7
JFLR/Zf4thXgXlkrlLBWKDXgNlNkLnXROYC/i1euYDW/g9X8Dp5/+Nqwfa/HHPyO
1m7PifBEmoAEZAhIQAISkCEgAQlIQIaABCQgARkCEpCABGQISEACEpAhIAEJSECG
gAQkIAEZAhKQgAQkIENAAhKQgAwBCUhAAjIEJCABCRiMzPTbeH3+iO+vAu0IwJl+
GwtzUxhJKizMTQUWUQQZz6m9EsWJGIFFFEHHqyeoiCIMeEFGFGHBCyqiCBNeEBG/
DQA8BLdt2OgdpQAAAABJRU5ErkJggg==

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=way-phone.png
Content-Type: image/png; name=way-phone.png
Content-Location: http://support.microsoft.com/library/images/support/cn/way-phone.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAAFAAAABfCAYAAAB/R0B4AAAACXBIWXMAAAsTAAAL
EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33
3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs
DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe
EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH
/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn
f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ
V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4
mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg
g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl
7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A
V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5
WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ
WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA
RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv
1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4
IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy
UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE
bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM
WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE
NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD
5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h
tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0
dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK
CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep
O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN
2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp
G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n
U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36
p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP
jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn
m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR
p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H
DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn
F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc
n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh
7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ
gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p
DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85
ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7
F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R
NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9
MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo
1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5
sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF
fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP
ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ
zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ
+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v
dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb
Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7
52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7
nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9
zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D
BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy
l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT
0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq
YAAAOpgAABdvkl/FRgAAAxZJREFUeNrs28tqE1EcBvBvbudM5pJmcmlT0yZtegGh
gk9QcOkL6EJw4cIXcOFC3Llw4dYuFUQX+gTiwmUERakgCIoLqRU1VKpNY5POJC7S
VkvUmmaimeT7VoHhTE5+zMnJ/PMfBRdKTQxQEjEd43EDWVegmJSYy5iY8kzkPQFX
ajh27Xmo76dHDUhTFSQtHWlbx5QnMZ00UfAkZlISxZSJjGMgbeswdbVt7Ga9Efp8
+hYwZenIexITIwIFT2I+E0MxJTEeF8jFBdK2Dk1VOjpnPRggQKEpGHUMjDoGCl5r
qc2mTSyvVrFU+oB7Z+exWIxD7xDpX6engLZQkYjpmExITCflzlIzMbNzJY06BpLW
/incflrGUglIWnrf4/UE8OKJHBayMUwkJCYTAllXwBbqX4/f8lt7mh9EY28LHfDK
yclIXDlhRQ37hBu1AMMUFQwBCUhAAjIEJCABCcj8f0BV6e42bne42oPbwW7nFqkr
sBmROnnoxYTF6y8OXUxQFKBc8QEAZ+68hiPVUCH9RrP/AW2hwdCUQ31wTQW+brWK
EZZQ4UgNjZCKyIoCbAcRAHxw/igcqR16/M0nn3Du7hvcOD2D40fsUOdWqQVwLz3u
7+/AbpfJ7vAe/H3RkyUcOmC3U9xd+s0e7CK92Jf4O5CABCQgARkCEpCABGT6AdDt
4j44igm9mHD5/goWshZyIwL5hMBYh81FQw949eHq3mtHakiY2l57W36nvW02bSLr
GhhzDXix/VMw9VYtUdeU4QT8OZVagEotwLsvdTx6u7HvmNAUjLkGMvaPBsu5dAzL
7zcBAJ+rPvxGc7gbLP+UetDEynodK+t1PFvdbDt+6tYrFDyJ3C9afCdGBFJW5y2+
AwV4UNaqPtaqfhtuN03mQlOHB/B3CRpNlCvbKFe28fLjt7bjBz3mEHaUQXtOhD+k
CUhAhoAEJCABGQISkIAEZAhIQAISkCEgAQlIQIaABCQgARkCEpCABGQISEACEpAh
IAEJSEACMgQkIAEJyBCQgAQkIENAAhKQgAwBCUhAAjIEJGC/5/sApXmgCYjFLOQA
AAAASUVORK5CYII=

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=way-more.png
Content-Type: image/png; name=way-more.png
Content-Location: http://support.microsoft.com/library/images/support/cn/way-more.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAAG4AAAAsCAIAAAALqRrLAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAA
AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U
Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6
eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8w
Mi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE
ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRv
YmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv
bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20v
eGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRv
YmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9Inht
cC5paWQ6RjkzNTNGRDU0QUVEMTFFMjk4MjM5Q0UyRkQ0NEI3ODkiIHhtcE1NOkRv
Y3VtZW50SUQ9InhtcC5kaWQ6RjkzNTNGRDY0QUVEMTFFMjk4MjM5Q0UyRkQ0NEI3
ODkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlp
ZDpGOTM1M0ZEMzRBRUQxMUUyOTgyMzlDRTJGRDQ0Qjc4OSIgc3RSZWY6ZG9jdW1l
bnRJRD0ieG1wLmRpZDpGOTM1M0ZENDRBRUQxMUUyOTgyMzlDRTJGRDQ0Qjc4OSIv
PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94
cGFja2V0IGVuZD0iciI/PkbzjWcAAAHESURBVHja7Ni9SwJhAMdxPU/Tziy9IDOM
JHqjyAgiMKqtgiKQqAanaIhqq38goqW1hqZoiVqk2oIKbMlFGooGybQhSxJKNC3z
7XrKITr0tKOt35cbnuOe6cPdc88dLVl0SlCeKKkkwxU7mYaXQB0GZs1qSqQyZHxw
FVo/C3D5ZWUSyzTI8hV4SSppar5Hb9IpBxrLZZT01BsBpchcd9GLh9eRFq1STvXX
a1Ry6sQTBqXI3MG3Y094wswSTUudRl+mOHSHOKyVApkNzGir9v1rZeQViacd3oi1
TUdeRLOWqkqGnty+5q2boPyuu1a9PGgsZua4mWUUzcOb7h+vewiKq0JF4wHP27k/
uuq4jydz7HeiiXSXUU2Wy+yp4ybMuyVByaOMkSPnJZOuZKGvmgzI+mi/fLLteJJp
DpS/rtek2Z9qYks/rbZcwRm7L5XrGwiUBRprZ3dtDXKZlIw3nI9zez58OIqps4ZZ
GTLePr9nOI4810tHfoHJUvzOEIhRUIk0l90/pgr92MBdKVQskSl+MvaVfxYoQQlK
UCJQghKUoESgBCUoEShBCUpQIlCCEpQIlKAEJSgRKEEJSgRKUILyf/UhwACuzYL3
LaDMPgAAAABJRU5ErkJggg==

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=way-product-carrot.png
Content-Type: image/png; name=way-product-carrot.png
Content-Location: http://support.microsoft.com/library/images/support/cn/way-product-carrot.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAAA8AAAAHCAYAAADXhRcnAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAA
AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5U
Y3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6
eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8w
Mi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpE
ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRv
YmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv
bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20v
eGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRv
YmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAu
aWlkOkM1RUNCMUY2RDBBOTExRTFBQ0JFRUJFMkFBQkJBM0FGIiB4bXBNTTpEb2N1
bWVudElEPSJ4bXAuZGlkOkM1RUNCMUY3RDBBOTExRTFBQ0JFRUJFMkFBQkJBM0FG
Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6
QzVFQ0IxRjREMEE5MTFFMUFDQkVFQkUyQUFCQkEzQUYiIHN0UmVmOmRvY3VtZW50
SUQ9InhtcC5kaWQ6QzVFQ0IxRjVEMEE5MTFFMUFDQkVFQkUyQUFCQkEzQUYiLz4g
PC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBh
Y2tldCBlbmQ9InIiPz5qZM8RAAAAO0lEQVR42mL4//8/Aw5sAMT3oTRWNfg0vv8P
Ae9xGUBI4398BhCjEacBxGrEagApGjEMIFUjigEAAQYA8RtsZI+7qAwAAAAASUVO
RK5CYII=

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=uparrow.gif
Content-Type: image/gif; name=uparrow.gif
Content-Location: http://support.microsoft.com/library/images/support/en-us/uparrow.gif
Content-Transfer-Encoding: Base64

R0lGODlhCgAKAJECAAByxszj9P///wAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0
IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6
eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUg
WE1QIENvcmUgNS4wLWMwNjEgNjQuMTQwOTQ5LCAyMDEwLzEyLzA3LTEwOjU3OjAx
ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3Jn
LzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJk
ZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAv
MS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu
MC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2Jl
LmNvbS94YXAvMS4wLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlk
OkJEMEJDMkRBRTA1Q0UxMTE4M0NCOTU3Qjg1NTNEQUQ5IiB4bXBNTTpEb2N1bWVu
dElEPSJ4bXAuZGlkOkZFRDc1MzU1OTU1NTExRTFBNzgxOUQ4N0YyRUI0MDVFIiB4
bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkZFRDc1MzU0OTU1NTExRTFBNzgxOUQ4
N0YyRUI0MDVFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzUu
MSBXaW5kb3dzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9
InhtcC5paWQ6OTk2QzFBRTlFMjZFRTExMThDOTJBMTQ3MEQ5RDRBMEIiIHN0UmVm
OmRvY3VtZW50SUQ9InhtcC5kaWQ6QkQwQkMyREFFMDVDRTExMTgzQ0I5NTdCODU1
M0RBRDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1l
dGE+IDw/eHBhY2tldCBlbmQ9InIiPz4B//79/Pv6+fj39vX08/Lx8O/u7ezr6uno
5+bl5OPi4eDf3t3c29rZ2NfW1dTT0tHQz87NzMvKycjHxsXEw8LBwL++vby7urm4
t7a1tLOysbCvrq2sq6qpqKempaSjoqGgn56dnJuamZiXlpWUk5KRkI+OjYyLiomI
h4aFhIOCgYB/fn18e3p5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2JhYF9eXVxbWllY
V1ZVVFNSUVBPTk1MS0pJSEdGRURDQkFAPz49PDs6OTg3NjU0MzIxMC8uLSwrKiko
JyYlJCMiISAfHh0cGxoZGBcWFRQTEhEQDw4NDAsKCQgHBgUEAwIBAAAh+QQBAAAC
ACwAAAAACgAKAAACE5SPCHngDEJcLYglIWvb0P1pSAEAOw==

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=2525681.png
Content-Type: image/png; name=2525681.png
Content-Location: http://support.microsoft.com/Library/Images/2525681.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAAm0AAADkCAYAAADKKxOHAAAACXBIWXMAAA7EAAAO
xAGVKw4bAAAAB3RJTUUH2wMVAwYpguQaggAAAAd0RVh0QXV0aG9yAKmuzEgAAAAM
dEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRF
WHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVY
dERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3Vy
Y2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAg
AElEQVR4nOx9e5wVxZX/t3ouM4OuMQbdzS+bjQIzKopZTVaDmIgvlOERJRpi3E0w
YGCzGnkYoonIQ4kajHEQkg0oKnmpJCoqMCJqJIlgfGV/EVFhUMwaf9n1AYo8ZuZ2
1e+PqlN1qrr73jvDhQHTh89luutx6tSpqlPfPlVdLb7z098rpQABQAH2fyjvDsL8
IAABAQUBIUycEDpeuDAIgYjidSYIYkYMy5CihMqFqNR0ydBESBgQlp/GmKJU6WS8
fBUkUIqLr+y9VApQClIBEgpKKUipeSmp0yilIKEASWkMj4Cvojh2re+Vn46V7/gw
fuYaivPxy9M8FLtn5fB8CGVVhi+gpO5wiXSGPwksmTJJL/bO5nV1C9tAsXCrA+m0
xtsubDdNblToO8H6v8lk+r4Swo4DyioUbHoAUDwSpYeAHUdQXASPVBYngbTQDCYq
K3vGVSajREhqHpHBKXP8dcZoKJdKJII7zc2lL2EcykaHBqGCQtOSqaQsaX2Wjx/O
SfF+pFy/93h7Y0WlpHW2CcHYdHm1vfLj0niG5bkILqtNl2hDzpeVFdTTxUnvnsYy
zDymx64Zw0JARELPYRAQUYRIuDjYeU5A0CAvSaEOkrLT3JAS4bVpqEeXhgeQTIHN
NH8FL0LoPiMoDqZZhPDamIatMXnWpvE/Dg9QmNZxBKPfKIIQApEQiKIIUUR/ASGc
jrmuo8i0S+TzgwAiobGBMAVGwthni0ecPJRGUHsbmcCu/TwOv1BteZzNZ/sR42n0
CI+nwEXDP4XRXxuLxb+8A6//77upvYbSemFBUMHa0AxjEoI1kjYKgBopzCncpUGg
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
W8qaePFnRXyJFp5/u47v/AyECLCoRbII4P9WMHFME78+0C3IkrmofBm3/HMNe0Nw
9aXdNmeC5LijdqD45Nhxdt5UzY69ec5SCbfk+p1EYoKpq6srwR4bW4hFo9Eeac7f
Usoekzs681kjYemRxx1bAOTo0Rz9xjf49O/+jnA4jNvRz805TYrX642LM7sJoKCg
gOnTp8f7t9nNoqppVKFQnMlkXbQpT1t2cAq2dA/CJUuWcO6cKv71n5fwTz9cFRts
EBNseheG3oUwDaTtadM7kKY1ehQsQdF7M2UR366p4furQ1xMDe987QnGy6Rm0C/P
5+vUsPdd+IdeuqcJuj2CYDXnDjbOuKO218nui5AcKL4vsdXfPKlI8IilWOeM2mBP
T+IMn5XcT8y5TfJ0Jfa2w4YNw+PpDi9lr/cJgUdKjrjdHO7sRP+3fyP6m9/QpWl0
uVxENA1D05BYk0TmSEmOlORKSa4Q+ByfXiHwxtZ7rB2S/YklFQqFIotkXbQpT1vm
6Y9gA8vuf/2Pvdz30Co6ImCaRoJgMyJdlvfN7tOmS6SwRpMCSCl697QB468tg/+5
gjVM5a5NgZ5i68UmfvvFMn4/AUzRwo/OrWHSq9u4zdF/bev3ivntF+tieYjVPeDd
ctzY3jAhRELgeKdos0nl1XJ+7219qvzO7TRNwxurz/ZO2YumaXi9Xnw+X1yoeb1e
vF5vDy9Wqk+naNN1nbPOOovcXB8jRoxIyDcsdsCjmoY/JrYiQiBcLkxpNR3Ynji3
lHiljAs056ct5txSWvmlRPnYFArF6UyqrjXJZF20KU9b5nn99deJRqMJTaKLFy9O
m9+ep00YRoJgM/Qu6+Qyo0jhiYW2sgRb9Z+O8IPcfkz7MaGE66jiJwXN/EiCIMS6
0iA/iU/AVs7qv1YyPjadhzXzSIgnShx5vlhHy8buPLbNmSLZC2V7sexmxmTx09v3
dOt6y+tMt0XTiBEj4qMxvV6vNZWHzxcXbXYAe6/Xi9vt7lFXcvOo/f9cLheRSISR
I0fi9eYycuTIBDv+37Ia7vmn7xAOh+no6KC9vZ2DBw+ye/du0HU8pok3FvLLbhK1
F9ser9dLa2srd955Z4LoVCgUitMVZxcbu6XG7m/sfPnPumhTnrbMc99996UddJAK
Ia0+baYZRXMINjMattSRtMSaM+LQgQPHkBfIPj1tEGDhs5KFEMvb/bvbAFuMFfHD
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
+f+YVQMVBCj7WAAAAABJRU5ErkJggg==

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=upArrow.gif
Content-Type: image/gif; name=upArrow.gif
Content-Location: http://support.microsoft.com/library/images/support/en-us/upArrow.gif
Content-Transfer-Encoding: Base64

R0lGODlhCgAKAJECAAByxszj9P///wAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0
IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6
eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUg
WE1QIENvcmUgNS4wLWMwNjEgNjQuMTQwOTQ5LCAyMDEwLzEyLzA3LTEwOjU3OjAx
ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3Jn
LzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJk
ZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAv
MS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu
MC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2Jl
LmNvbS94YXAvMS4wLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlk
OkJEMEJDMkRBRTA1Q0UxMTE4M0NCOTU3Qjg1NTNEQUQ5IiB4bXBNTTpEb2N1bWVu
dElEPSJ4bXAuZGlkOkZFRDc1MzU1OTU1NTExRTFBNzgxOUQ4N0YyRUI0MDVFIiB4
bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkZFRDc1MzU0OTU1NTExRTFBNzgxOUQ4
N0YyRUI0MDVFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzUu
MSBXaW5kb3dzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9
InhtcC5paWQ6OTk2QzFBRTlFMjZFRTExMThDOTJBMTQ3MEQ5RDRBMEIiIHN0UmVm
OmRvY3VtZW50SUQ9InhtcC5kaWQ6QkQwQkMyREFFMDVDRTExMTgzQ0I5NTdCODU1
M0RBRDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1l
dGE+IDw/eHBhY2tldCBlbmQ9InIiPz4B//79/Pv6+fj39vX08/Lx8O/u7ezr6uno
5+bl5OPi4eDf3t3c29rZ2NfW1dTT0tHQz87NzMvKycjHxsXEw8LBwL++vby7urm4
t7a1tLOysbCvrq2sq6qpqKempaSjoqGgn56dnJuamZiXlpWUk5KRkI+OjYyLiomI
h4aFhIOCgYB/fn18e3p5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2JhYF9eXVxbWllY
V1ZVVFNSUVBPTk1MS0pJSEdGRURDQkFAPz49PDs6OTg3NjU0MzIxMC8uLSwrKiko
JyYlJCMiISAfHh0cGxoZGBcWFRQTEhEQDw4NDAsKCQgHBgUEAwIBAAAh+QQBAAAC
ACwAAAAACgAKAAACE5SPCHngDEJcLYglIWvb0P1pSAEAOw==

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://support.microsoft.com/library/images/support/CN/kb_dropdown_icon.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAABEAAAASCAIAAAAym6IDAAAACXBIWXMAAA7DAAAO
wwHHb6hkAAAAV0lEQVR4nGP5//8/AyngzoPnLCRpgIBRPZh6GBkZMRWhxQe6nv//
/6Npw4xALG5D1oY1xrH7B6INVxLBGQZ40tRQih/q63n19iMDAwPLk1cfSNLGw8MD
APoSI4dRumI0AAAAGnRFWHRBdXRob3IAVWxlYWQgU3lzdGVtcywgSW5jLskdPnYA
AAAASUVORK5CYII=

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=180x150-SMB-ENUS1-Alicia.jpg
Content-Type: image/jpeg; name=180x150-SMB-ENUS1-Alicia.jpg
Content-Location: http://support.microsoft.com/library/images/support/en-US/180x150-SMB-ENUS1-Alicia.jpg
Content-Transfer-Encoding: Base64

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAPAAA/+4ADkFkb2Jl
AGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQ
DA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AA
EQgAlgC0AwERAAIRAQMRAf/EALUAAAICAwEBAAAAAAAAAAAAAAUGAwQBAgcACAEA
AgMBAQEBAAAAAAAAAAAAAgMAAQQFBwYIEAABAwMCBAMEBQYMBQUAAAABAgMEABEF
IRIxQRMGUSIHYXEyFIGRoVIjscHRQhUW8OHxYnKCkqKywtIk4jODowhDU8M0FxEA
AgECAwQGBwYGAwAAAAAAAAECEQMhMRJRouIEQXETYwUGYYEiMkMUFpGxwdGyJPDh
QmKCNPFyFf/aAAwDAQACEQMRAD8A4KuKm4bA0VY+8BOn56y6ja4mBjvM4SPhB/NU
1k7M82wn5Yptru0qN4kSwNvlAQBb31WoLQWmoiUoSOfGglIZGB52MNt7UKkFKIMl
NJBrRFmWaKTrQ40aYto8EDQ+OhqNkSNCkVCGridKpMpmiONWyEltKEs14GoQ3FCW
eIqEMVCjNqhKHrVCUMEVZDXSoQ9aoWYtUINiQgSBY36en1/xUroNNcSN59IU6U8D
x9xIqKJTkUoz4sq/6pJo5ICEi+jyo3Hl+ildI+mBtHc3ovxtVSLtvAkUQUkc6BDG
BcgSlR8K0wMdwHKduPdTaCamEu3FShSZopevvqUJU3BumqLIhoasEnSLihLMKRrU
LPAVRY7ei2AbzvqfgYTyA5Hbf+afSoXSUxUl6ygeIUpATb21cViVJ4H1iz2f2auZ
lMlGjRnJGYjxAgBlspZYWlTbK0JKSBuWpaiedvZTaCqnPe7vR3tbLZxb/wAhksqv
KJXfMwnYMaNDW2tEZlvpK+Wac8wJXtuo8gb6C4hKRCfRT0rdkBOJxeQyoTlThpyU
yylEUoRvfkuKSlRAaCbAKtuUQOYqaUTUzDf/AI8enS8O6wDNakk/h5aW4WQA8+W2
FNkJMZwKTrs3bz5fh3VNCJrZb7f9GfTbH5dqbKwsqMMXMlMtN5GQHEzI8NoLOQWw
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

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://support.microsoft.com/library/images/support/cs/left_button_RN.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAABMAAAAPCAYAAAAGRPQsAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAZhJREFUeNqM00soRFEYwPE715C3FBbK
wsajPMJCWZCiZDN5FElSlJJCUSzIQlkoTVlQ8iosRFgp7Iiy8SwSSWJKKM8FJv6n
vtFpujdO/abmnO9+53znftfhcrkMRjkWUYZl4/9jDsVIxqPJTxAGMW2TKBN5iLNY
a4IDHeqPSpaPRPRbBA9hHwMItFh/gRv1CFbJSnCEcy0oAGNoxzwKcGNT6gpikOKU
eg+1RbUwigp8yemn4NRiPOiW9Uu8IkkFhOBaC8yWRIYkqLQ4zT16JNkHvIhQwQ+I
1wLX0IgRKbcXWwjVYt4kiRrh8hI9KtkemuVBrwSM4wkzaMUmVm3uLANhODXlAhNQ
5Be0IH13JSUl2iRrkDu/VCc7kV1Vr21opzNkflXawmGRKAu1qMK3KZNt8lbdNrt/
anfkG7FYwrq0j+FLdoZqtGASUX98RjnYlpao8U2aWoDapVQcowtp0jqqzGhp3gns
4gKF0ia/fWT43VE6OuUt9uFZiw2Tr6UOs/7HdVqUcCfJhpGLVETiFgfYwbtV7T8C
DABehVdpkhJ0NwAAAABJRU5ErkJggg==

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://support.microsoft.com/library/images/support/cs/right_button_RN.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAABMAAAAPCAYAAAAGRPQsAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAZ1JREFUeNqM00soRGEUwPExM155zBQR
a5HksaKwkAx2U4pSSCysFKWUpiRLoVh5LiyIkJIkRdnYWEh5lZLHWCiP5NUw+J86
U7fbncmp30x3vvnOd8+550Z5vV4bkY5zLKLD9v9oxDxqsWXXH3vxji6LDZkoRb7F
2gJWMQyHJEtEK4bwYbEhFmM4wqDF+gDyUCLJCpGA9TClXKIMG/Bh1LQuh1zA4+Qj
Cw+40cUY9CEZP/rbF/z6La1woxvPun6MXEnmwicChmRyB44IjZe2zGFXr6XfLkl2
pycl4UX7Vq29CsUbavSOv9FsSCSRhitJdqolZeMAQeyY7qRCR+ZVE60Z1uJQIE/V
rsmkge1hSspBvz6IelMim95xKjad2mSZk0mM48TiaXq0PHNE60gty/9CQzuLfawg
xbQhECaRxBQy0CMXoWTSpwatf0+HMFLIgUtoQh2ujckkbnU473GICZTr6Eg58dpo
n86VvGJV2A4lcJpOlDGpRBs60aIzFNR1tx42jRE8Gjc7LUr4xYyWUYwifdmfcKa9
9VvV/ifAALfHXOAgShVQAAAAAElFTkSuQmCC

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=Dynamic_banner_RN_css_style.css
Content-Type: text/css; charset=utf-8; name=Dynamic_banner_RN_css_style.css
Content-Location: http://support.microsoft.com/library/StyleSheet/support/en-GB/Dynamic_banner_RN_css_style.css
Content-Transfer-Encoding: 8bit

﻿    #BrowserInfoBanner
    {
        position: relative;
    }
    #BrowserInfoBanner img
    {
        border: none;
    }
    .graphic, #slider0prev, #slider0next
    {
        display: block;
        margin: 0;
        padding: 0;
    }
    #slider ul, #slider li,#slider1 ul, #slider1 li
    {
        list-style: none;
        margin: 0;
        padding: 0;
    }
    #slider, #slider1
    {
        margin-top: 10px;
    }
    #slider li, #slider1 li
    {
        width: 165px;
        height: 240px;
        overflow: hidden;
    }
    #sliderprev, #slidernext, #slider1prev, #slider1next
    {
        display: inline;
        width: 19px;
        height: 19px; 
        /*position:absolute;*/
       /* left: 90px;*/
       /* top: 271px;*/
       /*buttons moved up*/
       margin-top: -240px;
       text-indent:-8000px;
       overflow: hidden;
    }
    #sliderprev, #slider1prev {
       position: absolute;
       left: 123px;
    }

    #slidernext, #slider1next {
       position: absolute;
       left: 143px;
    }
    
    
    #sliderprev a, #slider1prev a
    {
        display:block;position:relative;width:19px;height:19px;background:url(http://support.microsoft.com/library/images/support/cs/left_button_RN.png) no-repeat 0 0;
    }
    #slidernext a, #slider1next a
    {
        display:block;position:relative;width:19px;height:19px;background:url(http://support.microsoft.com/library/images/support/cs/right_button_RN.png) no-repeat 0 0;
    }
    #sliderprev a:hover, #slider1prev a:hover
    {
        display:block;position:relative;width:19px;height:19px;background:url(http://support.microsoft.com/library/images/support/cs/left_button_hover_RN.png) no-repeat 0 0;
    }
    #slidernext a:hover, #slider1next a:hover
    {
        display:block;position:relative;width:19px;height:19px;background:url(http://support.microsoft.com/library/images/support/cs/right_button_hover_RN.png) no-repeat 0 0;
    }
    #BrowserInfoBanner ul
    {
        padding-left:0px;
    }
    .display_block
    {
      margin-left:7px!important;
      margin-bottom:10px !important;
      display:block!important;
    }
------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=BrowserInfoBanner_Slider_Script.js
Content-Type: application/x-javascript; charset=utf-8; name=BrowserInfoBanner_Slider_Script.js
Content-Location: http://support.microsoft.com/library/JavaScript/support/en-GB/BrowserInfoBanner_Slider_Script.js
Content-Transfer-Encoding: Base64

77u/LyoNCiogICAgICAgICAgICBFYXN5IFNsaWRlciAxLjcgLSBqUXVlcnkgcGx1
Z2luDQoqICAgICAgICAgICAgd3JpdHRlbiBieSBBbGVuIEdyYWthbGljICAgICAg
ICAgICAgICANCiogICAgICAgICAgICBodHRwOi8vY3NzZ2xvYmUuY29tL3Bvc3Qv
NDAwNC9lYXN5LXNsaWRlci0xNS10aGUtZWFzaWVzdC1qcXVlcnktcGx1Z2luLWZv
ci1zbGlkaW5nDQoqDQoqICAgICAgICAgICAgQ29weXJpZ2h0IChjKSAyMDA5IEFs
ZW4gR3Jha2FsaWMgKGh0dHA6Ly9jc3NnbG9iZS5jb20pDQoqICAgICAgICAgICAg
RHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIChNSVQtTElDRU5TRS50eHQpDQoq
ICAgICAgICAgICAgYW5kIEdQTCAoR1BMLUxJQ0VOU0UudHh0KSBsaWNlbnNlcy4N
CioNCiogICAgICAgICAgICBCdWlsdCBmb3IgalF1ZXJ5IGxpYnJhcnkNCiogICAg
ICAgICAgICBodHRwOi8vanF1ZXJ5LmNvbQ0KKg0KKi8NCg0KDQogIChmdW5jdGlv
biAoJCkgew0KICAgICAgICAkLmZuLlNsaWRlciA9IGZ1bmN0aW9uIChvcHRpb25z
KSB7DQoNCiAgICAgICAgICAgIHZhciBkZWZhdWx0cyA9IHsNCiAgICAgICAgICAg
ICAgICBwcmV2SWQ6ICdwcmV2QnRuJywNCiAgICAgICAgICAgICAgICBwcmV2VGV4
dDogJ1ByZXZpb3VzJywNCiAgICAgICAgICAgICAgICBuZXh0SWQ6ICduZXh0QnRu
JywNCiAgICAgICAgICAgICAgICBuZXh0VGV4dDogJ05leHQnLA0KICAgICAgICAg
ICAgICAgIGNvbnRyb2xzU2hvdzogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb250
cm9sc0JlZm9yZTogJycsDQogICAgICAgICAgICAgICAgY29udHJvbHNBZnRlcjog
JycsDQogICAgICAgICAgICAgICAgY29udHJvbHNGYWRlOiB0cnVlLA0KICAgICAg
ICAgICAgICAgIGZpcnN0SWQ6ICdmaXJzdEJ0bicsDQogICAgICAgICAgICAgICAg
Zmlyc3RUZXh0OiAnRmlyc3QnLA0KICAgICAgICAgICAgICAgIGZpcnN0U2hvdzog
ZmFsc2UsDQogICAgICAgICAgICAgICAgbGFzdElkOiAnbGFzdEJ0bicsDQogICAg
ICAgICAgICAgICAgbGFzdFRleHQ6ICdMYXN0JywNCiAgICAgICAgICAgICAgICBs
YXN0U2hvdzogZmFsc2UsDQogICAgICAgICAgICAgICAgdmVydGljYWw6IGZhbHNl
LA0KICAgICAgICAgICAgICAgIHNwZWVkOiA4MDAsDQogICAgICAgICAgICAgICAg
YXV0bzogZmFsc2UsDQogICAgICAgICAgICAgICAgcGF1c2U6IDUwMDAsDQogICAg
ICAgICAgICAgICAgY29udGludW91czogZmFsc2UsDQogICAgICAgICAgICAgICAg
bnVtZXJpYzogZmFsc2UsDQogICAgICAgICAgICAgICAgbnVtZXJpY0lkOiAnY29u
dHJvbHMnDQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICB2YXIgb3B0aW9u
cyA9ICQuZXh0ZW5kKGRlZmF1bHRzLCBvcHRpb25zKTsNCg0KICAgICAgICAgICAg
dGhpcy5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YXIgb2Jq
ID0gJCh0aGlzKTsNCiAgICAgICAgICAgICAgICB2YXIgcyA9ICQoImxpIiwgb2Jq
KS5sZW5ndGg7DQogICAgICAgICAgICAgICAgdmFyIHcgPSAkKCJsaSIsIG9iaiku
d2lkdGgoKTsNCiAgICAgICAgICAgICAgICB2YXIgaCA9ICQoImxpIiwgb2JqKS5o
ZWlnaHQoKTsNCiAgICAgICAgICAgICAgICB2YXIgY2xpY2thYmxlID0gdHJ1ZTsN
CiAgICAgICAgICAgICAgICBvYmoud2lkdGgodyk7DQogICAgICAgICAgICAgICAg
b2JqLmhlaWdodChoKTsNCiAgICAgICAgICAgICAgICBvYmouY3NzKCJvdmVyZmxv
dyIsICJoaWRkZW4iKTsNCiAgICAgICAgICAgICAgICB2YXIgdHMgPSBzIC0gMTsN
CiAgICAgICAgICAgICAgICB2YXIgdCA9IDA7DQogICAgICAgICAgICAgICAgJCgi
dWwiLCBvYmopLmNzcygnd2lkdGgnLCBzICogdyk7DQoNCiAgICAgICAgICAgICAg
ICBpZiAob3B0aW9ucy5jb250aW51b3VzKSB7DQogICAgICAgICAgICAgICAgICAg
ICQoInVsIiwgb2JqKS5wcmVwZW5kKCQoInVsIGxpOmxhc3QtY2hpbGQiLCBvYmop
LmNsb25lKCkuY3NzKCJtYXJnaW4tbGVmdCIsICItIiArIHcgKyAicHgiKSk7DQog
ICAgICAgICAgICAgICAgICAgICQoInVsIiwgb2JqKS5hcHBlbmQoJCgidWwgbGk6
bnRoLWNoaWxkKDIpIiwgb2JqKS5jbG9uZSgpKTsNCiAgICAgICAgICAgICAgICAg
ICAgJCgidWwiLCBvYmopLmNzcygnd2lkdGgnLCAocyArIDEpICogdyk7DQogICAg
ICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgICAgIGlmICghb3B0aW9ucy52
ZXJ0aWNhbCkgJCgibGkiLCBvYmopLmNzcygnZmxvYXQnLCAnbGVmdCcpOw0KDQog
ICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuY29udHJvbHNTaG93KSB7DQogICAg
ICAgICAgICAgICAgICAgIHZhciBodG1sID0gb3B0aW9ucy5jb250cm9sc0JlZm9y
ZTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMubnVtZXJpYykgew0K
ICAgICAgICAgICAgICAgICAgICAgICAgaHRtbCArPSAnPG9sIGlkPSInICsgb3B0
aW9ucy5udW1lcmljSWQgKyAnIj48L29sPic7DQogICAgICAgICAgICAgICAgICAg
IH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5m
aXJzdFNob3cpIGh0bWwgKz0gJzxzcGFuIGlkPSInICsgb3B0aW9ucy5maXJzdElk
ICsgJyI+PGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIj4nICsgb3B0aW9u
cy5maXJzdFRleHQgKyAnPC9hPjwvc3Bhbj4nOw0KICAgICAgICAgICAgICAgICAg
ICAgICAgaHRtbCArPSAnIDxzcGFuIGlkPSInICsgb3B0aW9ucy5wcmV2SWQgKyAn
Ij48YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wiPicgKyBvcHRpb25zLnBy
ZXZUZXh0ICsgJzwvYT48L3NwYW4+JzsNCiAgICAgICAgICAgICAgICAgICAgICAg
IGh0bWwgKz0gJyA8c3BhbiBpZD0iJyArIG9wdGlvbnMubmV4dElkICsgJyI+PGEg
aHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIj4nICsgb3B0aW9ucy5uZXh0VGV4
dCArICc8L2E+PC9zcGFuPic7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAo
b3B0aW9ucy5sYXN0U2hvdykgaHRtbCArPSAnIDxzcGFuIGlkPSInICsgb3B0aW9u
cy5sYXN0SWQgKyAnIj48YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wiPicg
KyBvcHRpb25zLmxhc3RUZXh0ICsgJzwvYT48L3NwYW4+JzsNCiAgICAgICAgICAg
ICAgICAgICAgfTsNCg0KICAgICAgICAgICAgICAgICAgICBodG1sICs9IG9wdGlv
bnMuY29udHJvbHNBZnRlcjsNCiAgICAgICAgICAgICAgICAgICAgJChvYmopLmFm
dGVyKGh0bWwpOw0KICAgICAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgICAg
ICBpZiAob3B0aW9ucy5udW1lcmljKSB7DQogICAgICAgICAgICAgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgczsgaSsrKSB7DQogICAgICAgICAgICAgICAgICAg
ICAgICAkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIikpDQoJCQkJCQkuYXR0
cignaWQnLCBvcHRpb25zLm51bWVyaWNJZCArIChpICsgMSkpDQoJCQkJCQkuaHRt
bCgnPGEgcmVsPScgKyBpICsgJyBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wi
PicgKyAoaSArIDEpICsgJzwvYT4nKQ0KCQkJCQkJLmFwcGVuZFRvKCQoIiMiICsg
b3B0aW9ucy5udW1lcmljSWQpKQ0KCQkJCQkJLmNsaWNrKGZ1bmN0aW9uICgpIHsN
CgkJCQkJCSAgICBhbmltYXRlKCQoImEiLCAkKHRoaXMpKS5hdHRyKCdyZWwnKSwg
dHJ1ZSk7DQoJCQkJCQl9KTsNCiAgICAgICAgICAgICAgICAgICAgfTsNCiAgICAg
ICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAkKCJhIiwg
IiMiICsgb3B0aW9ucy5uZXh0SWQpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCiAgICAg
ICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoIm5leHQiLCB0cnVlKTsNCiAgICAg
ICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgICQoImEiLCAi
IyIgKyBvcHRpb25zLnByZXZJZCkuY2xpY2soZnVuY3Rpb24gKCkgew0KICAgICAg
ICAgICAgICAgICAgICAgICAgYW5pbWF0ZSgicHJldiIsIHRydWUpOw0KICAgICAg
ICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAgJCgiYSIsICIj
IiArIG9wdGlvbnMuZmlyc3RJZCkuY2xpY2soZnVuY3Rpb24gKCkgew0KICAgICAg
ICAgICAgICAgICAgICAgICAgYW5pbWF0ZSgiZmlyc3QiLCB0cnVlKTsNCiAgICAg
ICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgICQoImEiLCAi
IyIgKyBvcHRpb25zLmxhc3RJZCkuY2xpY2soZnVuY3Rpb24gKCkgew0KICAgICAg
ICAgICAgICAgICAgICAgICAgYW5pbWF0ZSgibGFzdCIsIHRydWUpOw0KICAgICAg
ICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICB9Ow0KDQogICAgICAg
ICAgICAgICAgZnVuY3Rpb24gc2V0Q3VycmVudChpKSB7DQogICAgICAgICAgICAg
ICAgICAgIGkgPSBwYXJzZUludChpKSArIDE7DQogICAgICAgICAgICAgICAgICAg
ICQoImxpIiwgIiMiICsgb3B0aW9ucy5udW1lcmljSWQpLnJlbW92ZUNsYXNzKCJj
dXJyZW50Iik7DQogICAgICAgICAgICAgICAgICAgICQoImxpIyIgKyBvcHRpb25z
Lm51bWVyaWNJZCArIGkpLmFkZENsYXNzKCJjdXJyZW50Iik7DQogICAgICAgICAg
ICAgICAgfTsNCg0KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGFkanVzdCgpIHsN
CiAgICAgICAgICAgICAgICAgICAgaWYgKHQgPiB0cykgdCA9IDA7DQogICAgICAg
ICAgICAgICAgICAgIGlmICh0IDwgMCkgdCA9IHRzOw0KICAgICAgICAgICAgICAg
ICAgICBpZiAoIW9wdGlvbnMudmVydGljYWwpIHsNCiAgICAgICAgICAgICAgICAg
ICAgICAgICQoInVsIiwgb2JqKS5jc3MoIm1hcmdpbi1sZWZ0IiwgKHQgKiB3ICog
LTEpKTsNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAg
ICAgICAgICAgICAgICQoInVsIiwgb2JqKS5jc3MoIm1hcmdpbi1sZWZ0IiwgKHQg
KiBoICogLTEpKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
ICAgICAgICBjbGlja2FibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICBp
ZiAob3B0aW9ucy5udW1lcmljKSBzZXRDdXJyZW50KHQpOw0KICAgICAgICAgICAg
ICAgIH07DQoNCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBhbmltYXRlKGRpciwg
Y2xpY2tlZCkgew0KICAgICAgICAgICAgICAgICAgICBpZiAoY2xpY2thYmxlKSB7
DQogICAgICAgICAgICAgICAgICAgICAgICBjbGlja2FibGUgPSBmYWxzZTsNCiAg
ICAgICAgICAgICAgICAgICAgICAgIHZhciBvdCA9IHQ7DQogICAgICAgICAgICAg
ICAgICAgICAgICBzd2l0Y2ggKGRpcikgew0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNhc2UgIm5leHQiOg0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0ID0gKG90ID49IHRzKSA/IChvcHRpb25zLmNvbnRpbnVvdXMgPyB0ICsg
MSA6IHRzKSA6IHQgKyAxOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICJwcmV2
IjoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdCA9ICh0IDw9IDAp
ID8gKG9wdGlvbnMuY29udGludW91cyA/IHQgLSAxIDogMCkgOiB0IC0gMTsNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2FzZSAiZmlyc3QiOg0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0ID0gMDsNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2Fz
ZSAibGFzdCI6DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQgPSB0
czsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoNCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdCA9IGRpcjsNCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgICAgICB9Ow0K
ICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRpZmYgPSBNYXRoLmFicyhvdCAt
IHQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNwZWVkID0gZGlmZiAq
IG9wdGlvbnMuc3BlZWQ7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9w
dGlvbnMudmVydGljYWwpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
ID0gKHQgKiB3ICogLTEpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICQo
InVsIiwgb2JqKS5hbmltYXRlKA0KCQkJCQkJCXsgbWFyZ2luTGVmdDogcCB9LA0K
CQkJCQkJCXsgcXVldWU6IGZhbHNlLCBkdXJhdGlvbjogc3BlZWQsIGNvbXBsZXRl
OiBhZGp1c3QgfQ0KCQkJCQkJKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0g
ZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcCA9ICh0ICogaCAq
IC0xKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCJ1bCIsIG9iaiku
YW5pbWF0ZSgNCgkJCQkJCQl7IG1hcmdpblRvcDogcCB9LA0KCQkJCQkJCXsgcXVl
dWU6IGZhbHNlLCBkdXJhdGlvbjogc3BlZWQsIGNvbXBsZXRlOiBhZGp1c3QgfQ0K
CQkJCQkJKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH07DQoNCiAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICghb3B0aW9ucy5jb250aW51b3VzICYmIG9wdGlv
bnMuY29udHJvbHNGYWRlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHQgPT0gdHMpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JCgiYSIsICIjIiArIG9wdGlvbnMubmV4dElkKS5oaWRlKCk7DQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICQoImEiLCAiIyIgKyBvcHRpb25zLmxhc3RJ
ZCkuaGlkZSgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoImEiLCAiIyIgKyBv
cHRpb25zLm5leHRJZCkuc2hvdygpOw0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAkKCJhIiwgIiMiICsgb3B0aW9ucy5sYXN0SWQpLnNob3coKTsNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh0ID09IDApIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJCgiYSIsICIjIiArIG9wdGlvbnMucHJldklkKS5oaWRlKCk7DQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoImEiLCAiIyIgKyBvcHRp
b25zLmZpcnN0SWQpLmhpZGUoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCJh
IiwgIiMiICsgb3B0aW9ucy5wcmV2SWQpLnNob3coKTsNCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJCgiYSIsICIjIiArIG9wdGlvbnMuZmlyc3RJZCku
c2hvdygpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07DQogICAgICAg
ICAgICAgICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoY2xpY2tlZCkgY2xlYXJUaW1lb3V0KHRpbWVvdXQpOw0KICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKG9wdGlvbnMuYXV0byAmJiBkaXIgPT0gIm5leHQiICYm
ICFjbGlja2VkKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgOw0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1
bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5p
bWF0ZSgibmV4dCIsIGZhbHNlKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB9LCBkaWZmICogb3B0aW9ucy5zcGVlZCArIG9wdGlvbnMucGF1c2UpOw0KICAg
ICAgICAgICAgICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgICAgICAgICB9
Ow0KDQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgICAgICAvLyBpbml0
DQogICAgICAgICAgICAgICAgdmFyIHRpbWVvdXQ7DQogICAgICAgICAgICAgICAg
aWYgKG9wdGlvbnMuYXV0bykgew0KICAgICAgICAgICAgICAgICAgICA7DQogICAg
ICAgICAgICAgICAgICAgIHRpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgp
IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoIm5leHQiLCBmYWxz
ZSk7DQogICAgICAgICAgICAgICAgICAgIH0sIG9wdGlvbnMucGF1c2UpOw0KICAg
ICAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5u
dW1lcmljKSBzZXRDdXJyZW50KDApOw0KDQogICAgICAgICAgICAgICAgaWYgKCFv
cHRpb25zLmNvbnRpbnVvdXMgJiYgb3B0aW9ucy5jb250cm9sc0ZhZGUpIHsNCiAg
ICAgICAgICAgICAgICAgICAgJCgiYSIsICIjIiArIG9wdGlvbnMucHJldklkKS5o
aWRlKCk7DQogICAgICAgICAgICAgICAgICAgICQoImEiLCAiIyIgKyBvcHRpb25z
LmZpcnN0SWQpLmhpZGUoKTsNCiAgICAgICAgICAgICAgICB9Ow0KDQogICAgICAg
ICAgICB9KTsNCg0KICAgICAgICB9Ow0KDQogICAgfSkoalF1ZXJ5KTs=

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=BrowserInfoBanner_Detect_Script.js
Content-Type: application/x-javascript; name=BrowserInfoBanner_Detect_Script.js
Content-Location: http://support.microsoft.com/library/JavaScript/support/en-GB/BrowserInfoBanner_Detect_Script.js
Content-Transfer-Encoding: Base64

dmFyIEJyb3dzZXJEZXRlY3QgPSB7DQoNCglpbml0OiBmdW5jdGlvbiAoKSANCgl7
DQoJCXRoaXMuYnJvd3NlciA9IHRoaXMuc2VhcmNoU3RyaW5nKHRoaXMuZGF0YUJy
b3dzZXIpIHx8ICJBbiB1bmtub3duIGJyb3dzZXIiOw0KCQl0aGlzLnZlcnNpb24g
PSB0aGlzLnNlYXJjaFZlcnNpb24obmF2aWdhdG9yLnVzZXJBZ2VudCkNCgkJCXx8
IHRoaXMuc2VhcmNoVmVyc2lvbihuYXZpZ2F0b3IuYXBwVmVyc2lvbikNCgkJCXx8
ICJhbiB1bmtub3duIHZlcnNpb24iOw0KDQoNCgkJLyogQ29tcGF0aWJpbGl0eSBN
b2RlcyAqLw0KDQogICAgICAgIGlmICggdGhpcy5icm93c2VyID09ICJJbnRlcm5l
dCBFeHBsb3JlciIgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCdUcmlk
ZW50LzYuMCcpICE9IC0xKQ0KCQkJCXRoaXMudmVyc2lvbiA9IDEwOyAgIC8qIENv
bXBhdGliaWxpdHkgTW9kZSAqLw0KCQkJCQ0KICAgICAgICBpZiAoIHRoaXMuYnJv
d3NlciA9PSAiSW50ZXJuZXQgRXhwbG9yZXIiICYmIG5hdmlnYXRvci51c2VyQWdl
bnQuaW5kZXhPZignVHJpZGVudC81LjAnKSAhPSAtMSkNCgkJCQl0aGlzLnZlcnNp
b24gPSA5OyAgIC8qIENvbXBhdGliaWxpdHkgTW9kZSAqLw0KCQkJCQ0KICAgICAg
ICBpZiAoIHRoaXMuYnJvd3NlciA9PSAiSW50ZXJuZXQgRXhwbG9yZXIiICYmIG5h
dmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignVHJpZGVudC80LjAnKSAhPSAtMSkN
CgkJCQl0aGlzLnZlcnNpb24gPSA4OyAgIC8qIENvbXBhdGliaWxpdHkgTW9kZSAq
Lw0KDQoNCiAgICAgICAgdGhpcy5PUyA9IHRoaXMuc2VhcmNoU3RyaW5nKHRoaXMu
ZGF0YU9TKSB8fCAiYW4gdW5rbm93biBPUyI7DQogICAgICAgIHRoaXMuT1NWZXJz
aW9uICAgICAgICAgID0gdGhpcy5zZWFyY2hTdHJpbmcodGhpcy5kYXRhT1NWZXJz
aW9uKSB8fCAiYW4gdW5rbm93biBPU1ZlcnNpb24iOyAgLyogV2Ugc2hvdWxkIHVz
ZSBPU1ZlcnNpb25OYW1lICovDQoJCXRoaXMuT1NWZXJzaW9uTmFtZQkJPSB0aGlz
LnNlYXJjaFN0cmluZyh0aGlzLmRhdGFPU1ZlcnNpb24pIHx8ICJhbiB1bmtub3du
IE9TVmVyc2lvbiI7IA0KCQl0aGlzLk9TVmVyc2lvbk51bWJlcgk9IHRoaXMuc2Vh
cmNoU3RyaW5nMih0aGlzLmRhdGFPU1ZlcnNpb24pOwkNCgkJDQoJCQ0KCQl0aGlz
Lk5hbWUgPSB0aGlzLmJyb3dzZXIgKyAiICIgKyB0aGlzLnZlcnNpb247DQoJfSwN
Cg0KCXNlYXJjaFN0cmluZzogZnVuY3Rpb24gKGRhdGEpIHsNCgkJZm9yICh2YXIg
aT0wO2k8ZGF0YS5sZW5ndGg7aSsrKQl7DQoJCQl2YXIgZGF0YVN0cmluZyA9IGRh
dGFbaV0uc3RyaW5nOw0KCQkJdmFyIGRhdGFQcm9wID0gZGF0YVtpXS5wcm9wOw0K
CQkJdGhpcy52ZXJzaW9uU2VhcmNoU3RyaW5nID0gZGF0YVtpXS52ZXJzaW9uU2Vh
cmNoIHx8IGRhdGFbaV0uaWRlbnRpdHk7DQoJCQlpZiAoZGF0YVN0cmluZykgew0K
CQkJCWlmIChkYXRhU3RyaW5nLmluZGV4T2YoZGF0YVtpXS5zdWJTdHJpbmcpICE9
IC0xKQ0KCQkJCQlyZXR1cm4gZGF0YVtpXS5pZGVudGl0eTsNCgkJCX0NCgkJCWVs
c2UgaWYgKGRhdGFQcm9wKQ0KCQkJCXJldHVybiBkYXRhW2ldLmlkZW50aXR5Ow0K
CQl9DQoJfSwNCgkNCg0KCXNlYXJjaFN0cmluZzI6IGZ1bmN0aW9uIChkYXRhKSB7
DQoJCWZvciAodmFyIGk9MDtpPGRhdGEubGVuZ3RoO2krKykJew0KCQkJdmFyIGRh
dGFTdHJpbmcgPSBkYXRhW2ldLnN0cmluZzsNCgkJCXZhciBkYXRhUHJvcCA9IGRh
dGFbaV0ucHJvcDsNCgkJCXRoaXMudmVyc2lvblNlYXJjaFN0cmluZyA9IGRhdGFb
aV0udmVyc2lvblNlYXJjaCB8fCBkYXRhW2ldLmlkZW50aXR5Ow0KCQkJaWYgKGRh
dGFTdHJpbmcpIHsNCgkJCQlpZiAoZGF0YVN0cmluZy5pbmRleE9mKGRhdGFbaV0u
c3ViU3RyaW5nKSAhPSAtMSkNCgkJCQkJcmV0dXJuIGRhdGFbaV0uT1NWZXJzaW9u
TnVtYmVyOw0KCQkJfQ0KCQkJZWxzZSBpZiAoZGF0YVByb3ApDQoJCQkJcmV0dXJu
IGRhdGFbaV0uT1NWZXJzaW9uTnVtYmVyOw0KCQl9DQoJfSwNCg0KCQ0KCXNlYXJj
aFZlcnNpb246IGZ1bmN0aW9uIChkYXRhU3RyaW5nKSB7DQoJCXZhciBpbmRleCA9
IGRhdGFTdHJpbmcuaW5kZXhPZih0aGlzLnZlcnNpb25TZWFyY2hTdHJpbmcpOw0K
CQlpZiAoaW5kZXggPT0gLTEpIHJldHVybjsNCgkJcmV0dXJuIHBhcnNlRmxvYXQo
ZGF0YVN0cmluZy5zdWJzdHJpbmcoaW5kZXgrdGhpcy52ZXJzaW9uU2VhcmNoU3Ry
aW5nLmxlbmd0aCsxKSk7DQoJfSwNCgkNCglkYXRhQnJvd3NlcjogWw0KCQl7DQoJ
CQlzdHJpbmc6IG5hdmlnYXRvci51c2VyQWdlbnQsDQoJCQlzdWJTdHJpbmc6ICJD
aHJvbWUiLA0KCQkJaWRlbnRpdHk6ICJDaHJvbWUiDQoJCX0sDQoJCXsgCXN0cmlu
ZzogbmF2aWdhdG9yLnVzZXJBZ2VudCwNCgkJCXN1YlN0cmluZzogIk9tbmlXZWIi
LA0KCQkJdmVyc2lvblNlYXJjaDogIk9tbmlXZWIvIiwNCgkJCWlkZW50aXR5OiAi
T21uaVdlYiINCgkJfSwNCgkJew0KCQkJc3RyaW5nOiBuYXZpZ2F0b3IudmVuZG9y
LA0KCQkJc3ViU3RyaW5nOiAiQXBwbGUiLA0KCQkJaWRlbnRpdHk6ICJTYWZhcmki
LA0KCQkJdmVyc2lvblNlYXJjaDogIlZlcnNpb24iDQoJCX0sDQoJCXsNCgkJCXBy
b3A6IHdpbmRvdy5vcGVyYSwNCgkJCWlkZW50aXR5OiAiT3BlcmEiDQoJCX0sDQoJ
CXsNCgkJCXN0cmluZzogbmF2aWdhdG9yLnZlbmRvciwNCgkJCXN1YlN0cmluZzog
ImlDYWIiLA0KCQkJaWRlbnRpdHk6ICJpQ2FiIg0KCQl9LA0KCQl7DQoJCQlzdHJp
bmc6IG5hdmlnYXRvci52ZW5kb3IsDQoJCQlzdWJTdHJpbmc6ICJLREUiLA0KCQkJ
aWRlbnRpdHk6ICJLb25xdWVyb3IiDQoJCX0sDQoJCXsNCgkJCXN0cmluZzogbmF2
aWdhdG9yLnVzZXJBZ2VudCwNCgkJCXN1YlN0cmluZzogIkZpcmVmb3giLA0KCQkJ
aWRlbnRpdHk6ICJGaXJlZm94Ig0KCQl9LA0KCQl7DQoJCQlzdHJpbmc6IG5hdmln
YXRvci52ZW5kb3IsDQoJCQlzdWJTdHJpbmc6ICJDYW1pbm8iLA0KCQkJaWRlbnRp
dHk6ICJDYW1pbm8iDQoJCX0sDQoJCXsJCS8vIGZvciBuZXdlciBOZXRzY2FwZXMg
KDYrKQ0KCQkJc3RyaW5nOiBuYXZpZ2F0b3IudXNlckFnZW50LA0KCQkJc3ViU3Ry
aW5nOiAiTmV0c2NhcGUiLA0KCQkJaWRlbnRpdHk6ICJOZXRzY2FwZSINCgkJfSwN
CgkJew0KCQkJc3RyaW5nOiBuYXZpZ2F0b3IudXNlckFnZW50LA0KCQkJc3ViU3Ry
aW5nOiAiTVNJRSIsDQoJCQlpZGVudGl0eTogIkludGVybmV0IEV4cGxvcmVyIiwN
CgkJCXZlcnNpb25TZWFyY2g6ICJNU0lFIg0KCQl9LA0KCQl7DQoJCQlzdHJpbmc6
IG5hdmlnYXRvci51c2VyQWdlbnQsDQoJCQlzdWJTdHJpbmc6ICJHZWNrbyIsDQoJ
CQlpZGVudGl0eTogIk1vemlsbGEiLA0KCQkJdmVyc2lvblNlYXJjaDogInJ2Ig0K
CQl9LA0KCQl7IAkJLy8gZm9yIG9sZGVyIE5ldHNjYXBlcyAoNC0pDQoJCQlzdHJp
bmc6IG5hdmlnYXRvci51c2VyQWdlbnQsDQoJCQlzdWJTdHJpbmc6ICJNb3ppbGxh
IiwNCgkJCWlkZW50aXR5OiAiTmV0c2NhcGUiLA0KCQkJdmVyc2lvblNlYXJjaDog
Ik1vemlsbGEiDQoJCX0NCgldLA0KCWRhdGFPUyA6IFsNCgkJew0KCQkJc3RyaW5n
OiBuYXZpZ2F0b3IucGxhdGZvcm0sDQoJCQlzdWJTdHJpbmc6ICJXaW4iLA0KCQkJ
aWRlbnRpdHk6ICJXaW5kb3dzIg0KCQl9LA0KCQl7DQoJCQlzdHJpbmc6IG5hdmln
YXRvci5wbGF0Zm9ybSwNCgkJCXN1YlN0cmluZzogIk1hYyIsDQoJCQlpZGVudGl0
eTogIk1hYyINCgkJfSwNCgkJew0KCQkJc3RyaW5nOiBuYXZpZ2F0b3IudXNlckFn
ZW50LA0KCQkJc3ViU3RyaW5nOiAiaVBob25lIiwNCgkJCWlkZW50aXR5OiAiaVBo
b25lL2lQb2QiDQoJICAgIH0sDQoJCXsNCgkJCXN0cmluZzogbmF2aWdhdG9yLnBs
YXRmb3JtLA0KCQkJc3ViU3RyaW5nOiAiTGludXgiLA0KCQkJaWRlbnRpdHk6ICJM
aW51eCINCgkJfQ0KCV0sDQoJZGF0YU9TVmVyc2lvbiA6IFsNCgkJew0KCQkJc3Ry
aW5nOiBuYXZpZ2F0b3IudXNlckFnZW50LA0KCQkJc3ViU3RyaW5nOiAiV2luZG93
cyA5NSIsDQoJCQlpZGVudGl0eTogIldpbmRvd3MgOTUiLA0KCQkJT1NWZXJzaW9u
TnVtYmVyOjQuMA0KCQl9LA0KCQl7DQoJCQlzdHJpbmc6IG5hdmlnYXRvci51c2Vy
QWdlbnQsDQoJCQlzdWJTdHJpbmc6ICJXaW5kb3dzIDk4OyBXaW4gOXggNC45MCIs
DQoJCQlpZGVudGl0eTogIldpbmRvd3MgTWlsbGVubml1bSBFZGl0aW9uIiwNCgkJ
CU9TVmVyc2lvbk51bWJlcjo0LjkNCgkJfSwJCQ0KCQl7DQoJCQlzdHJpbmc6IG5h
dmlnYXRvci51c2VyQWdlbnQsDQoJCQlzdWJTdHJpbmc6ICJXaW5kb3dzIDk4IiwN
CgkJCWlkZW50aXR5OiAiV2luZG93cyA5OCIsDQoJCQlPU1ZlcnNpb25OdW1iZXI6
NC4xMA0KCQl9LA0KCQl7DQoJCQlzdHJpbmc6IG5hdmlnYXRvci51c2VyQWdlbnQs
DQoJCQlzdWJTdHJpbmc6ICJXaW5kb3dzIE5UIDQuMCIsDQoJCQlpZGVudGl0eTog
IldpbmRvd3MgTlQgNC4wIiwNCgkJCU9TVmVyc2lvbk51bWJlcjo0LjANCgkJfSwJ
CQ0KCQkNCgkJew0KCQkJc3RyaW5nOiBuYXZpZ2F0b3IudXNlckFnZW50LA0KCQkJ
c3ViU3RyaW5nOiAiV2luZG93cyBOVCA1LjAiLA0KCQkJaWRlbnRpdHk6ICJXaW5k
b3dzIDIwMDAiLA0KCQkJT1NWZXJzaW9uTnVtYmVyOjUuMA0KCQl9LAkJDQoJCXsN
CgkJCXN0cmluZzogbmF2aWdhdG9yLnVzZXJBZ2VudCwNCgkJCXN1YlN0cmluZzog
IldpbmRvd3MgTlQgNS4wMSIsDQoJCQlpZGVudGl0eTogIldpbmRvd3MgMjAwMCBT
ZXJ2aWNlIFBhY2sgMSIsDQoJCQlPU1ZlcnNpb25OdW1iZXI6NS4wMQ0KCQl9LAkN
CgkJCQkNCgkJew0KCQkJc3RyaW5nOiBuYXZpZ2F0b3IudXNlckFnZW50LA0KCQkJ
c3ViU3RyaW5nOiAiV2luZG93cyBOVCA1LjEiLA0KCQkJaWRlbnRpdHk6ICJXaW5k
b3dzIFhQIiwNCgkJCU9TVmVyc2lvbk51bWJlcjo1LjENCgkJfSwNCgkJew0KCQkJ
c3RyaW5nOiBuYXZpZ2F0b3IudXNlckFnZW50LA0KCQkJc3ViU3RyaW5nOiAiV2lu
ZG93cyBOVCA1LjIiLA0KCQkJaWRlbnRpdHk6ICJXaW5kb3dzIFhQIDY0LUJpdCBF
ZGl0aW9uIiwNCgkJCU9TVmVyc2lvbk51bWJlcjo1LjINCgkJfSwJCQ0KCQl7DQoJ
CQlzdHJpbmc6IG5hdmlnYXRvci51c2VyQWdlbnQsDQoJCQlzdWJTdHJpbmc6ICJX
aW5kb3dzIE5UIDYuMCIsDQoJCQlpZGVudGl0eTogIldpbmRvd3MgVmlzdGEiLA0K
CQkJT1NWZXJzaW9uTnVtYmVyOjYuMA0KCQl9LAkJDQoJCXsNCgkJCXN0cmluZzog
bmF2aWdhdG9yLnVzZXJBZ2VudCwNCgkJCXN1YlN0cmluZzogIldpbmRvd3MgTlQg
Ni4xIiwNCgkJCWlkZW50aXR5OiAiV2luZG93cyA3IiwNCgkJCU9TVmVyc2lvbk51
bWJlcjo2LjENCgkJfSwNCgkJew0KCQkJc3RyaW5nOiBuYXZpZ2F0b3IudXNlckFn
ZW50LA0KCQkJc3ViU3RyaW5nOiAiV2luZG93cyBOVCA2LjIiLA0KCQkJaWRlbnRp
dHk6ICJXaW5kb3dzIDgiLA0KCQkJT1NWZXJzaW9uTnVtYmVyOjYuMg0KCQl9LA0K
CQl7DQoJCQlzdHJpbmc6IG5hdmlnYXRvci51c2VyQWdlbnQsDQoJCQlzdWJTdHJp
bmc6ICJNYWNfUG93ZXJQQyIsDQoJCQlpZGVudGl0eTogIk1hYyBPUyA5LjIiLA0K
CQkJT1NWZXJzaW9uTnVtYmVyOjkuMg0KCQl9DQoJXQ0KDQp9Ow==

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=dynamic_banner_rn_init_script_v3.js
Content-Type: application/x-javascript; name=dynamic_banner_rn_init_script_v3.js
Content-Location: http://support.microsoft.com/library/JavaScript/Support/CN/dynamic_banner_rn_init_script_v3.js
Content-Transfer-Encoding: Base64

ZnVuY3Rpb24gQnJvd3NlaW5mb2Jhbm5lcigpIHsNCg0KICAgIEJyb3dzZXJEZXRl
Y3QuaW5pdCgpOw0KICAgIA0KICAgIC8qIHdpbjggLSBpZTEwLGllOSBhbmQgbG93
ZXIsIG90aGVyIGJyb3dzZXJzICovDQogICAgDQogICAgaWYgKEJyb3dzZXJEZXRl
Y3QuT1MgPT0gIldpbmRvd3MiICYmIChCcm93c2VyRGV0ZWN0Lk9TVmVyc2lvbiA9
PSAiV2luZG93cyA4IikpIHsNCiAgICAgICAgaWYgKEJyb3dzZXJEZXRlY3QuYnJv
d3NlciA9PSAiSW50ZXJuZXQgRXhwbG9yZXIiICYmIEJyb3dzZXJEZXRlY3QudmVy
c2lvbiA9PSAxMCkgew0KICAgICAgICAgICAgcmV0dXJuICdpZTEwX3dpbjgnOw0K
ICAgICAgICB9IGVsc2UgaWYgKEJyb3dzZXJEZXRlY3QuYnJvd3NlciA9PSAiSW50
ZXJuZXQgRXhwbG9yZXIiICYmIEJyb3dzZXJEZXRlY3QudmVyc2lvbiA8PSA5KSB7
DQogICAgICAgICAgICByZXR1cm4gJ2llOV9sb3dlcl93aW44JzsNCiAgICAgICAg
fSBlbHNlIGlmIChCcm93c2VyRGV0ZWN0LmJyb3dzZXIgIT0gIkludGVybmV0IEV4
cGxvcmVyIikgew0KICAgICAgICAgICAgcmV0dXJuICczcmRfd2luOCc7DQogICAg
ICAgIH07DQogICAgfTsNCg0KICAgIC8qIHdpbjcgLSBpZTEwLCBpZTksIGllOCwg
aWU3IGFuZCBvdGhlciBicm93c2VycyAqLw0KDQogICAgaWYgKEJyb3dzZXJEZXRl
Y3QuT1MgPT0gIldpbmRvd3MiICYmIChCcm93c2VyRGV0ZWN0Lk9TVmVyc2lvbiA9
PSAiV2luZG93cyA3IiB8fCBCcm93c2VyRGV0ZWN0Lk9TVmVyc2lvbiA9PSAiV2lu
ZG93cyBWaXN0YSIpKSB7DQogICAgICAgIGlmIChCcm93c2VyRGV0ZWN0LmJyb3dz
ZXIgPT0gIkludGVybmV0IEV4cGxvcmVyIiAmJiBCcm93c2VyRGV0ZWN0LnZlcnNp
b24gPT0gMTApIHsNCiAgICAgICAgICAgIHJldHVybiAnaWUxMF93aW43JzsNCiAg
ICAgICAgfSBlbHNlIGlmIChCcm93c2VyRGV0ZWN0LmJyb3dzZXIgPT0gIkludGVy
bmV0IEV4cGxvcmVyIiAmJiBCcm93c2VyRGV0ZWN0LnZlcnNpb24gPD0gOSkgew0K
ICAgICAgICAgICAgcmV0dXJuICdpZTlfbG93ZXJfd2luNyc7DQogICAgICAgIH0g
ZWxzZSBpZiAoQnJvd3NlckRldGVjdC5icm93c2VyICE9ICJJbnRlcm5ldCBFeHBs
b3JlciIpIHsNCiAgICAgICAgICAgIHJldHVybiAnM3JkX3dpbjcnOw0KICAgICAg
ICB9Ow0KICAgIH07DQogICAgDQogICAgLyogdmlzdGEgLSBpZTksIGllOCwgaWU3
IGFuZCBvdGhlciBicm93c2VycyAqLw0KDQogICAgaWYgKEJyb3dzZXJEZXRlY3Qu
T1MgPT0gIldpbmRvd3MiICYmIChCcm93c2VyRGV0ZWN0Lk9TVmVyc2lvbiA9PSAi
V2luZG93cyA3IiB8fCBCcm93c2VyRGV0ZWN0Lk9TVmVyc2lvbiA9PSAiV2luZG93
cyBWaXN0YSIpKSB7DQogICAgICAgIGlmIChCcm93c2VyRGV0ZWN0LmJyb3dzZXIg
PT0gIkludGVybmV0IEV4cGxvcmVyIiAmJiBCcm93c2VyRGV0ZWN0LnZlcnNpb24g
PT0gOSkgew0KICAgICAgICAgICAgcmV0dXJuICdpZTlfdmlzdGEnOw0KICAgICAg
ICB9IGVsc2UgaWYgKChCcm93c2VyRGV0ZWN0LmJyb3dzZXIgPT0gIkludGVybmV0
IEV4cGxvcmVyIiAmJiBCcm93c2VyRGV0ZWN0LnZlcnNpb24gPD0gOCkgfHwgKEJy
b3dzZXJEZXRlY3QuYnJvd3NlciAhPSAiSW50ZXJuZXQgRXhwbG9yZXIiKSkgew0K
ICAgICAgICAgICAgcmV0dXJuICdpZThfbG93ZXJfM3JkX3Zpc3RhJzsNCiAgICAg
ICAgfTsNCiAgICB9Ow0KICAgIA0KICAgIC8qIHdpbmRvd3NYUCAtIGllOCwgaWU3
IGFuZCBsb3dlciAqLw0KDQogICAgaWYgKEJyb3dzZXJEZXRlY3QuT1MgPT0gIldp
bmRvd3MiICYmIChCcm93c2VyRGV0ZWN0Lk9TVmVyc2lvbiA9PSAiV2luZG93cyBY
UCBQcm9mZXNzaW9uYWwiKSkgew0KICAgICAgICBpZiAoQnJvd3NlckRldGVjdC5i
cm93c2VyID09ICJJbnRlcm5ldCBFeHBsb3JlciIgJiYgQnJvd3NlckRldGVjdC52
ZXJzaW9uID09IDgpIHsNCiAgICAgICAgICAgIHJldHVybiAnaWU4X3dpbnhwJzsN
CiAgICAgICAgfSBlbHNlIGlmICgoQnJvd3NlckRldGVjdC5icm93c2VyID09ICJJ
bnRlcm5ldCBFeHBsb3JlciIgJiYgQnJvd3NlckRldGVjdC52ZXJzaW9uIDw9IDcp
IHx8IChCcm93c2VyRGV0ZWN0LmJyb3dzZXIgIT0gIkludGVybmV0IEV4cGxvcmVy
IikpIHsNCiAgICAgICAgICAgIHJldHVybiAnaWU3X2xvd2VyXzNyZF93aW54cCc7
DQogICAgICAgIH07DQogICAgfTsNCg0KICAgIC8qIG90aGVyIHdpbmRvd3MgLSBp
ZTgsIGllNyBhbmQgbG93ZXIsIG90aGVyIGJyb3dzZXJzICovDQoNCiAgICBpZiAo
QnJvd3NlckRldGVjdC5PUyA9PSAiV2luZG93cyIgJiYgKEJyb3dzZXJEZXRlY3Qu
T1NWZXJzaW9uICE9ICJXaW5kb3dzIFhQIFByb2Zlc3Npb25hbCIgJiYgQnJvd3Nl
ckRldGVjdC5PU1ZlcnNpb24gIT0gIldpbmRvd3MgVmlzdGEiICYmIEJyb3dzZXJE
ZXRlY3QuT1NWZXJzaW9uICE9ICJXaW5kb3dzIDciICYmIEJyb3dzZXJEZXRlY3Qu
T1NWZXJzaW9uICE9ICJXaW5kb3dzIDgiKSkgew0KICAgICAgICBpZiAoQnJvd3Nl
ckRldGVjdC5icm93c2VyID09ICJJbnRlcm5ldCBFeHBsb3JlciIgJiYgQnJvd3Nl
ckRldGVjdC52ZXJzaW9uID09IDgpIHsNCiAgICAgICAgICAgIHJldHVybiAnaWU4
X290aGVyX3dpbic7DQogICAgICAgIH0gZWxzZSBpZiAoKEJyb3dzZXJEZXRlY3Qu
YnJvd3NlciA9PSAiSW50ZXJuZXQgRXhwbG9yZXIiICYmIEJyb3dzZXJEZXRlY3Qu
dmVyc2lvbiA8PSA3KSB8fCAoQnJvd3NlckRldGVjdC5icm93c2VyICE9ICJJbnRl
cm5ldCBFeHBsb3JlciIpKSB7DQogICAgICAgICAgICByZXR1cm4gJ2llN19sb3dl
cl8zcmRfb3RoZXJfd2luJzsNCiAgICAgICAgfTsNCiAgICB9Ow0KDQogICAgLyog
bm9uIHdpbmRvd3MgLSBsaW51eCwgZXRjLiovDQoNCiAgICBpZiAoKEJyb3dzZXJE
ZXRlY3QuT1MgIT0gIldpbmRvd3MiKSAmJiAoQnJvd3NlckRldGVjdC5PUyAhPSAi
TWFjIikpIHsNCiAgICAgICAgcmV0dXJuICdub25fd2luJzsNCiAgICB9Ow0KICAg
IA0KICAgIC8qIG1hYyAqLw0KICAgIA0KICAgIGlmIChCcm93c2VyRGV0ZWN0Lk9T
ID09ICJNYWMiKSB7DQogICAgICAgIHJldHVybiAnbWFjX29zJzsNCiAgICB9Ow0K
fQ0KDQoNCg0KZnVuY3Rpb24gYmFubmVyX2luaXQoIFNsaWRlcklkICwgQ29uZmln
dXJhdGlvbikgew0KICAgIA0KICAgIHZhciBpbmZvYmFubmVyID0gQnJvd3NlaW5m
b2Jhbm5lcigpOw0KICAgIHZhciBTbGlkZXJDb250ZW50ID0gbnVsbDsNCiAgICAN
CiAgICBzd2l0Y2ggKGluZm9iYW5uZXIpIHsNCgljYXNlICdpZTEwX3dpbjgnOg0K
CSAgICBTbGlkZXJDb250ZW50ID0gQ29uZmlndXJhdGlvbi5yaWdodG5hdl9pZTEw
X3dpbjg7IA0KICAgICAgICBicmVhazsNCiAgICAgICAgCQkNCiAgICAgICAgY2Fz
ZSAnaWU5X2xvd2VyX3dpbjgnOg0KICAgICAgICAgICAgU2xpZGVyQ29udGVudCA9
IENvbmZpZ3VyYXRpb24ucmlnaHRuYXZfaWU5X2xvd2VyX3dpbjg7DQogICAgICAg
IGJyZWFrOw0KICAgIA0KCWNhc2UgJzNyZF93aW44JzoNCiAgICAgICAgICAgIFNs
aWRlckNvbnRlbnQgPSBDb25maWd1cmF0aW9uLnJpZ2h0bmF2XzNyZF93aW44Ow0K
ICAgICAgICBicmVhazsNCiAgICAgICAgICAgIA0KICAgICAgICBjYXNlICdpZTEw
X3dpbjcnOg0KICAgICAgICAgICAgU2xpZGVyQ29udGVudCA9IENvbmZpZ3VyYXRp
b24ucmlnaHRuYXZfaWUxMF93aW43OyAgICAgICAgICAgICAgICAgDQogICAgICAg
IGJyZWFrOw0KICAgICAgICAgICAgICAgIA0KICAgICAgICBjYXNlICdpZTlfbG93
ZXJfd2luNyc6DQogICAgICAgICAgICBTbGlkZXJDb250ZW50ID0gQ29uZmlndXJh
dGlvbi5yaWdodG5hdl9pZTlfbG93ZXJfd2luNzsgICAgICAgICAgICAgICAgIA0K
ICAgICAgICBicmVhazsNCiAgICANCgljYXNlICczcmRfd2luNyc6DQogICAgICAg
ICAgICBTbGlkZXJDb250ZW50ID0gQ29uZmlndXJhdGlvbi5yaWdodG5hdl8zcmRf
d2luNzsgICAgICAgICAgICAgICAgIA0KICAgICAgICBicmVhazsNCiAgICANCglj
YXNlICdpZTlfdmlzdGEnOg0KICAgICAgICAgICAgU2xpZGVyQ29udGVudCA9IENv
bmZpZ3VyYXRpb24ucmlnaHRuYXZfaWU5X3Zpc3RhOyAgICAgICAgICAgICAgICAg
DQogICAgICAgIGJyZWFrOw0KICAgIA0KCWNhc2UgJ2llOF9sb3dlcl8zcmRfdmlz
dGEnOg0KICAgICAgICAgICAgU2xpZGVyQ29udGVudCA9IENvbmZpZ3VyYXRpb24u
cmlnaHRuYXZfaWU4X2xvd2VyXzNyZF92aXN0YTsgICAgICAgICAgICAgICAgIA0K
ICAgICAgICBicmVhazsNCiAgICAgICAgDQoJY2FzZSAnaWU4X3dpbnhwJzoNCiAg
ICAgICAgICAgU2xpZGVyQ29udGVudCA9IENvbmZpZ3VyYXRpb24ucmlnaHRuYXZf
aWU4X3dpbnhwOw0KICAgICAgIAlicmVhazsNCiAgICAgICAJCQ0KCWNhc2UgJ2ll
N19sb3dlcl8zcmRfd2lueHAnOg0KICAgICAgICAgICBTbGlkZXJDb250ZW50ID0g
Q29uZmlndXJhdGlvbi5yaWdodG5hdl9pZTdfbG93ZXJfM3JkX3dpbnhwOyAgICAg
ICAJCSANCiAgICAgICAJYnJlYWs7DQogICAgICAgCQkNCiAgICAgICAJY2FzZSAn
aWU4X290aGVyX3dpbic6DQogICAgICAgCSAgICBTbGlkZXJDb250ZW50ID0gQ29u
ZmlndXJhdGlvbi5yaWdodG5hdl9pZThfb3RoZXJfd2luOw0KCWJyZWFrOw0KCQkJ
DQogICAgICAgIGNhc2UgJ2llN19sb3dlcl8zcmRfb3RoZXJfd2luJzoNCiAgICAg
ICAgICAgIFNsaWRlckNvbnRlbnQgPSBDb25maWd1cmF0aW9uLnJpZ2h0bmF2X2ll
N19sb3dlcl8zcmRfb3RoZXJfd2luOw0KICAgICAgICBicmVhazsNCiAgICAgICAg
CQ0KICAgICAgICBjYXNlICdub25fd2luJzoNCiAgICAgICAgICAgIFNsaWRlckNv
bnRlbnQgPSBDb25maWd1cmF0aW9uLnJpZ2h0bmF2X25vbl93aW47DQogICAgICAg
IGJyZWFrOw0KICAgICAgICAJDQogICAgICAgIGNhc2UgJ21hY19vcyc6DQogICAg
ICAgICAgICBTbGlkZXJDb250ZW50ID0gQ29uZmlndXJhdGlvbi5yaWdodG5hdl9t
YWM7DQogICAgICAgIGJyZWFrOw0KICAgICAgICB9DQogICAgICAgIA0KDQogICAg
ICAgIGlmICggU2xpZGVyQ29udGVudCAhPSBudWxsICl7DQogICAgICAgICAgICAN
CiAgICAgICAgJCgnIycrU2xpZGVySWQpLmFwcGVuZCgnPHVsPicgKyBTbGlkZXJD
b250ZW50ICsgJzwvdWw+Jyk7DQoNCiAgICAgICAgLyogaWYgb25seSBvbmUgc2xp
ZGUsIG1ha2UgdGhlIGltYWdlIHN0YXRpYyAqLyAgICAgICAgDQoNCiAgICAgICAg
aWYgKCQoJyMnICsgU2xpZGVySWQgKyAnIHVsIGxpJykubGVuZ3RoIDwgMikgeyAg
DQogICAgICAgICQoJyMnICsgU2xpZGVySWQpLlNsaWRlcih7IGF1dG86IGZhbHNl
LCBjb250aW51b3VzOiB0cnVlLCBuZXh0VGV4dDogIiIsIHByZXZUZXh0OiAiIiB9
KTsgICAgICAgIAkgICAgDQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICQoJyMn
ICsgU2xpZGVySWQpLlNsaWRlcih7IGF1dG86IHRydWUsIGNvbnRpbnVvdXM6IHRy
dWUsIG5leHRUZXh0OiAiIiwgbmV4dElkOiBTbGlkZXJJZCArICJuZXh0IiwgcHJl
dlRleHQ6ICIiLCBwcmV2SWQ6IFNsaWRlcklkICsgInByZXYiLCBwYXVzZTogNTAw
MCB9KTsNCiAgICAgICAgfQ0KICAgIH0gICAgICANCiAgICAgICAgDQp9DQoNCg0K

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=onepix.gif
Content-Type: image/gif; name=onepix.gif
Content-Location: http://support.microsoft.com/library/images/support/cn/onepix.gif
Content-Transfer-Encoding: Base64

R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=store_link_modifier.js
Content-Type: application/x-javascript; name=store_link_modifier.js
Content-Location: http://support.microsoft.com/library/javascript/support/en-gb/store_link_modifier.js?1
Content-Transfer-Encoding: Base64

KGZ1bmN0aW9uICgpIHsNCiAgICAkKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgJCgi
Lm9uZU1zY29tRm9vdGVyVjMgYVtocmVmPSdodHRwOi8vZW1lYS5taWNyb3NvZnRz
dG9yZS5jb20vVUsvZW4tR0I/V1QubWNfaWQ9TVNDT01fSFBfR0JfTmF2X0J1eVNo
b3BOb3cnXSIpLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdmFyIGhy
ZWYgPSAkKHRoaXMpLmF0dHIoImhyZWYiKTsNCiAgICAgICAgICAgIGhyZWYgPSBo
cmVmLnN1YnN0cigwLCBocmVmLmluZGV4T2YoJz8nKSk7DQogICAgICAgICAgICAk
KHRoaXMpLmF0dHIoImhyZWYiLCBocmVmICsgIj9XVC5tY19pZD1TTUNNU0NPTV9F
TkdCX05BVl9CVVlBTEwiKTsNCiAgICAgICAgfSk7DQogICAgIA0KICAgIH0pOw0K
fSkoKTsNCg==

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=pinpoint_link_modifier.js
Content-Type: application/x-javascript; name=pinpoint_link_modifier.js
Content-Location: http://support.microsoft.com/library/javascript/support/en-gb/pinpoint_link_modifier.js?2
Content-Transfer-Encoding: Base64

KGZ1bmN0aW9uKCkgew0KICB2YXIgJHN0b3JlTGluayA9ICQoIiNtdGhkcjIyIGEi
KSwNCiAgICAgIGxpbmtIcmVmID0gJHN0b3JlTGluay5hdHRyKCJocmVmIiksDQog
ICAgICBuZXdMaW5rSHJlZiA9ICJodHRwOi8vcGlucG9pbnQubWljcm9zb2Z0LmNv
bS9lbi1HQi9ob21lP1dULm1jX2lkPWVuLUdCX1Blcm1fTGlua19TdXBwb3J0TWVu
dV8ySFAiOw0KICAgICAgDQogIGlmICh0eXBlb2YgbGlua0hyZWYgPT09ICdzdHJp
bmcnICYmIGxpbmtIcmVmLmxlbmd0aCA+IDApIHsNCiAgICAkKCIubXN0SGRyIGFb
aHJlZj0nIiArIGxpbmtIcmVmICsgIiddIikuYXR0cigiaHJlZiIsIG5ld0xpbmtI
cmVmKTsNCiAgfQ0KfSkoKTsNCg==

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=windowslogo.png
Content-Type: image/png; name=windowslogo.png
Content-Location: http://www.microsoft.com/global/onemscomsettings/publishingimages/footerimages/windowslogo.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAABHNCSVQICAgIfAhk
iAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmly
ZXdvcmtzIENTNXG14zYAAAFWSURBVGiB7ZrdbYMwEIA/V31FzQbNBmGDIrFQN0gy
QVfpApbaEbpBRqjkAdyH8uOglAB24iu6T/KTBb4PH0Lc2XjvWRMPuQNIzWPuAOZg
rKuADVAC22aUwJOvCwMChcaCnnJ9FiFjXclv0BXnwT/H3vvmQsa6A4mDHiNKqEkP
OH/SG2DX5jSwj1ljLqNCxrphLrdjck7fm07IWPdKn9cALzkCiiXcobdsUSRkdR9W
FZKOCklHhaSjQtJRIemokHRUSDpGC43CCX/Bk25VWyRJfd9r661uh1RIOiokHRWS
jgpJR4Wko0LSUSHphEJH4BP4yhRLErofPF8Xh3DCWLelbxCHHW7Rvdc/u+C+Lk7A
CfgYzgXd8cUnPm7FonMKvi6+6UXfh/PN7rYc6c8x7JasN4e7V30upHLVTEWlclfD
kFTGunDQY/J7K1JojGuy/05oKqv7sP4Aw4lQePs1ml4AAAAASUVORK5CYII=

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=officelogo.png
Content-Type: image/png; name=officelogo.png
Content-Location: http://www.microsoft.com/global/onemscomsettings/publishingimages/footerimages/officelogo.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAADQAAAA0BAMAAAA3VgbYAAAAA3NCSVQICAjb4U/g
AAAAMFBMVEX////qPiPqPiPqPiPqPiPqPiPqPiPqPiPqPiPqPiPqPiPqPiPqPiPq
PiPqPiPqPiPBf6lAAAAAEHRSTlMAESIzRFVmd4iZqrvM3e7/dpUBFQAAAAlwSFlz
AAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENT
Nui8sowAAAAWdEVYdENyZWF0aW9uIFRpbWUAMDEvMTQvMTOKujLIAAAA20lEQVQ4
jWNgIBYwZt8MwC7DOu///39TBbDIWNz/DwK/EtElmGr+w8B2BRQZsfX/EeBPAZJM
5Pv/yOADwrDe//+xS4mf/49DKgthR9t5ZCmWeTCJ1yUCDPuRpfihEjeLQTwsUieC
IIZjSk2AuQhTqmFUalSKTlI/DXBJPVdgwCF1jIEBh9QSBlxSjGlOuKQYmPv+7Wp3
wSoFzeO7O0IEMKXgJcPtGffRpRgYc/6jACQpBgb1+8hSG5ClGJgRZcdLjFIKWuL8
aUaXAAJWkGuWK2CRARWVLwOxSqACAGS3S/36yYkcAAAAAElFTkSuQmCC

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=phonelogo.png
Content-Type: image/png; name=phonelogo.png
Content-Location: http://www.microsoft.com/global/onemscomsettings/publishingimages/footerimages/phonelogo.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAo5JREFUeNrsmrlOw0AQhjc2AZFwh3Af
IQGRhqNCAkrgGSh4Ap6BggqJmoYW0dPRgYREAyUSHUJIHAUFEuIKhCSYGeU3WowJ
lnAcx9qRfvlYZ3e+9a7jGW/IMAwRJKsxd5aTK9Xmd5zUTRogpTcv1ta/AfnU6XZS
F6mflIRSOO5CuUbKk3wD1AjH2MkEnB4jjZM6SE0O6nj8MeTKbHVwdAhOp3Dcj2HD
QLWuziEXe7oXw+AQIFukKYBonj0UHFoUk5F7eBK9zJOyj9RJagPEEWmGFCbNA9Tb
pxysHo13wtEBOD0Ip3kituK6UvaKLf8nZCry2CbbI42il6NV/z9ENuug531vms0w
CQyQUEAKSAEpIAWkgBSQAlJAVQvkZsjQgG3IYU7gvxa1Cx920LghBWdPpA84Zhpn
WJ4tFXL5G8R2gW2WtIrwPCvVY+BYtne0ZVqOVJDqz6Ft8ziPcyH89gfQUhl6jhvc
qFSAt0jS4YSw6Qn5XMFyTqB38yi/I51iSCfRjjVFm7fckf8Y13NpBdoWLqWSyPZJ
C5hLB8hF2DnhVh76XhTTYd+AnpFPcMPepf1aUf78X72Xj+0PD9ooeAnk6ecNzYOe
y6k3BQWkgBRQ4IDCQQPS1ZBTQH8D6UEDegkCkPxaP03qEcXvqglR/ATP+/zpvQOh
RbiagK6gY5vrmgCVFsVFEeYaA1YcsPovCRe9UkCl7BE6J+1awvEWQPVBI6QHKRbK
+BGoVKxzD53ZlPN32znSMO5myjKUY6RmPwE5sWvI7m0ihnxDL0B5KE/gLnNZxI9A
vxkHfrfQiaUsgnlpDmNzFZa5GCQOYE2a4xUHKmUZ6MamrE66swzHq1y6vyZ10FY0
Bu7V51OAAQBJCGsRy20deAAAAABJRU5ErkJggg==

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=xboxlogo.png
Content-Type: image/png; name=xboxlogo.png
Content-Location: http://www.microsoft.com/global/onemscomsettings/publishingimages/footerimages/xboxlogo.png
Content-Transfer-Encoding: Base64

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

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=skypelogo.png
Content-Type: image/png; name=skypelogo.png
Content-Location: http://www.microsoft.com/global/onemscomsettings/publishingimages/footerimages/skypelogo.png
Content-Transfer-Encoding: Base64

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
AABJRU5ErkJggg==

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=binglogo.png
Content-Type: image/png; name=binglogo.png
Content-Location: http://www.microsoft.com/global/onemscomsettings/publishingimages/footerimages/binglogo.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAABHNCSVQICAgIfAhk
iAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmly
ZXdvcmtzIENTNXG14zYAAAaUSURBVGiB7ZpbbBxXGcd/55yZ8Xp9T9zEsZy4kVtH
Sc2lTlEfSBGkDxUI0fQBqQ9IVaFPeWsRjxQpD1QQXhAKCPEAaqkqgVSMuIg+9IFb
eg11GuwqjtPETtKmm43vdnZ3Zs7h4czGXu/s2nuLg9W/NNrRfGdmvv+c813PCmMM
2wlyqxWoN5z8SWbk8GWgY+tUqQnziWNn7oU1hICdQOuWqFM7bvNYu+SCLVCkXrit
+7azoU8J3e1wNh6yPk6JhihSL5QhZCDMxPCRoJoaqlQtiCdkQoTXifOZ74JqXiMQ
mMUPCS7+FjtTd99slSCkwU2i9j8JUhWI9M33YfIlQNyNfMo4BWMgWC6+Ht5qoDq1
Y9t5uW1HaBNuuwqYMDq0XbrkD7C2JwBpPaZQ9rdOqA8ho0HnLAmhwOtENHUhmnZA
4h6E0wLSAzSEGUxuHpNJQ3YWk52BYAkQIF17bBkh7YPOgtOG3DmM7D6M7H4I0boX
kdwTkSgNk5vDLH+EWZhAp99Fp89glq7YD6MSVc1cdYS0D9pHtA+g+r6K7HsM2TFI
pX5ceJ0IrxO6DqH6j2H8BcyNdwmm/4S+/i8IFsFJVvTcygnpHCJxD+r+p1D3PmEV
KoUwi8nNQrACYW41y3Db7HJcT9BtR/Qexes9ip4dI5x8kfDq30CHm85OKiYkOgbx
jr6CaN4TKzfLV9CpN9Cpt9CLlzDZNOQWrZ0BKM/OTHMPousgcvcjqO6HwGkueI7s
egD5hR+h9n4d/9xJzNwEuC0NINS8O/a6nhsnnHwJ/fE/LAkkSGfVi4ko49AB5lYK
s/IRpN8hnHyZoH0A1f8Ezv5vgltYNMueR/C6DuH/5wT66msbkqrdy2mfYPwUwcWX
wV+wuZ9TppIXIjL2/KsNZvESwdkXCKdGcD77PdTuI4W3NO3Ee/gn+G4L4eVXwSlN
qqYAYLKz5E4fJxg/ZR2F07o6E5uGsN7QbcMsTOL/+zjhhRdjNHVxh08ge74cn5Ll
h1X49lUEy/hvPYf++O/gtVdBJAaRq/bPvkB48ZViuXRwh5+3IUH7sY+ompA/9jPr
Wt22ah8RD6FAevjnTqJn3i8WJ3tRg0/bQB6DqgiZuQ8IP/zdprxOVZAOBCsEH5xa
9Y5roPY9jmjpA1PcqKqKUDD9Z5uu1GOZlYKTRKfexsyfLxIJrwPZfdjGtnWonJDR
mJnRmnOujSEguEU4Mxov7XzApkjrUDkh7dvEspGzk4cAVq7Hi5q6Yq/HExICQh9D
8fpFRAHzTqFUgqvjG70lZkhi/DnIzsWIXERLf0m3WV8IRPtArMSsXIvqqkKUniF/
BV1i/cqeI7Hrt64wATTvQnYPx4r1zfdAFNtxiRkSgCG8+lqs1Nn7NUTbflsLNQrB
CmrfNxCJXUUiMz+BnjkLatOEANWMTp1Gp94slnmdOEPP2fK6ETMVLCM6h3AOPBMv
vvBr8JeIU780ISFAh/jnTkY3F0L1PYYz9CyE2ZIGWhWCZURLH97DP0Z4xftv4bXX
Caf/AioZe3t5t62aMLNj+O+diJodhXAOPIP74A9AebaIK+obVwATgr+I3PE5vC/+
EtF+f9EQPX+eYPSEfU+MQ4DNlA9OknD6jyA93OHni9yoGngSsWOIYOyn6E/esMas
mqI4tUHpbLQdH2YRTd2owW/jHPhObHmgZ8fw33zWxkCVKK3uhoQQ4LQQXvo9JpPC
/fz3Ea17C0bIriG8I79CX/8n4dQIYfoMZG7YpSjkumaHiWxPg5NEtA2geh9F9T+O
aN0Xq0F45a8Eoz+05XwZMgAiv62fGTk8C5RpEGDXd7IX5+BxVP+xkgHWZG6gZ/+L
mTuPXpqCbBqCjCXmtiKSe5DtA4iOg8iuQyWDp1m5RjD+C8LpEWwFXDLdmkscO9NV
OSG43fGR3Q+iBr6F2vOVon5ArTBLU4SX/0B4+VVM5pNoCZZdvrcJVZ7DRM1AffMs
Oj1K0HEfqvdRZM+XEB0HEE6899mQRCaNTr+DvvY6Yeo0ZGesLZYr52NQfVKmEuT7
Af74zxETv0G09CE6DyI7BpHt90HzLoTTahWTjrUd7UN4C5NbwCxfsUFy/jxmfgKT
SVnbUomyfYPGEALy/QAhPTAGszSFWbiAzvevpQtOG0J5IBz7ASJC+MtR8aajhNeL
PlJtm071S5uFsLlVgeEaCJYwgVnTq492/hq0rdngOkCs1k13aLdv2+0PbWtCd7AM
rTucohPgJv+/f2Caz5+IT//ReJfjf8oHZzyQ4LOZAAAAAElFTkSuQmCC

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=storelogo.png
Content-Type: image/png; name=storelogo.png
Content-Location: http://www.microsoft.com/global/onemscomsettings/publishingimages/footerimages/storelogo.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAABHNCSVQICAgIfAhk
iAAAAAlwSFlzAAAt+wAALfsB/IdK5wAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmly
ZXdvcmtzIENTNXG14zYAAACbSURBVGiB7dixDQJBEATBWYSLRA7EAj42yXwy2PgQ
CzkgEcBiQQScaE5d1nt/rfWmujszWf36Ad+2fn88j7thp9pc7pUky62G/WPZdyUT
XsggOoPoDKIziM4gOoPoDKIziM4gOoPopgsqh0a4z9BY58ewU/VpW0mS67ihMQeH
xv9gEJ1BdAbRGURnEJ1BdAbRGURnEJ1BdA6NdC/E/hhhFHHsDQAAAABJRU5ErkJg
gg==

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=footer_globe.png
Content-Type: image/png; name=footer_globe.png
Content-Location: http://www.microsoft.com/global/onemscomsettings/publishingimages/footerimages/footer_globe.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAACXBIWXMAAAsTAAAL
EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33
3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs
DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe
EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH
/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn
f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ
V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4
mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg
g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl
7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A
V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5
WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ
WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA
RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv
1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4
IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy
UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE
bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM
WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE
NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD
5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h
tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0
dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK
CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep
O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN
2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp
G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n
U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36
p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP
jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn
m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR
p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H
DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn
F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc
n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh
7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ
gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p
DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85
ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7
F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R
NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9
MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo
1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5
sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF
fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP
ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ
zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ
+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v
dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb
Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7
52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7
nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9
zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D
BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy
l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT
0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq
YAAAOpgAABdvkl/FRgAAAXpJREFUeNqsVMFtwzAMvGYCj6ARPIJGcDfQCOkG2sAj
eASP4HYCZQNnA2cD93MKrgRVx0UJEAHi0+lIHfmG4+iZQf77BHAD8MAf4wpgBbDz
d5HcmTOAeIa0J9kGIAMYSDAwawxy0QigOyJOokiVa1qlkULKbxdEHt6ovkYxrelF
SG1TxRSPuDMqNx5KLD8TF6RVK6uzlWVLnh1Qzd5gRyrcRIg9o85yARMVah8DiRe+
S61wa6mPDeJW+4oonom154u2pKpZD9w0NVpX30vnABceegD44OSVVzzrVHQnx7vM
CzLL0yFaRFE032amVT8K7jkPmWQaiyn56lRjMfroO4BwYTnBHPwy4NGxpGJushoq
7q432cOlocybjSwOm0ybURz7LY11YC1cpMKO+ASz4XZnpxSnZXaDaswtO9cPnT7K
CTumxtb8MX1F7JhOEuejYahLaXXKHlhhlvkorxDrBVlcMhnneKMfT070c3d7xHVp
JfxTBCp8ee98DwAkgMVUfLRljQAAAABJRU5ErkJggg==

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=flyoutclosebtnround.png
Content-Type: image/png; name=flyoutclosebtnround.png
Content-Location: http://www.microsoft.com/global/onemscomsettings/publishingimages/commonimages/flyoutclosebtnround.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAAL
EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33
3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs
DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe
EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH
/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn
f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ
V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4
mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg
g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl
7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A
V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5
WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ
WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA
RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv
1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4
IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy
UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE
bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM
WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE
NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD
5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h
tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0
dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK
CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep
O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN
2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp
G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n
U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36
p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP
jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn
m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR
p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H
DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn
F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc
n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh
7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ
gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p
DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85
ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7
F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R
NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9
MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo
1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5
sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF
fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP
ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ
zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ
+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v
dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb
Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7
52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7
nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9
zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D
BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy
l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT
0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq
YAAAOpgAABdvkl/FRgAAAUJJREFUeNq0lb1xg0AQhT+wcxETyR3guQagAtkdqANZ
FTh0CJSj6AiV3XVgSoAOnOzN7OwcHksjvwi4t7u3b38onHNksAdOQAs05iwCEzAC
szUsMg574MMYr/K+M0EG4KyNn9VzBXghT0KM5NGowC3QAQtAmXF2FsKWs3TzTriN
2ALwVNc1wBfwJoSBv+MqchzlUpfCObcHviXNjvvgJfWXUqqJFVeiBomsdQ5yppFs
T4VzLsjLqyEF0Seqm3v1LcenVFW1SIVJovtMAI0JaFLbrBnCIoZe9V3ULWKw6rZ5
GH5zWJk0dfpVhr9LDiNw2GgFrZnV1KIFYpnEzCyB0Wi2KKdjZhQbYPqXxp5l3Fq1
ZW5BWhADMKdZvsgsH6X81xuc9SLDu61y0qc3vbe1vrxy1uX2YRL9UyKHexZs8ehf
wM8A8zxjqfrRN44AAAAASUVORK5CYII=

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=jquery.bi.js
Content-Type: application/x-javascript; name=jquery.bi.js
Content-Location: http://support.microsoft.com/Scripts/jquery.bi.js
Content-Transfer-Encoding: Base64

KGZ1bmN0aW9uKG4pe24uYmk9e2RhdGFDb25zdW1lcnM6W10sZGF0YVJldHJpZXZl
cnM6W10sZGF0YU1hbmlwdWxhdG9yczpbXSxpc0luaXRpYWxpemVkOmZ1bmN0aW9u
KCl7cmV0dXJuIHRoaXMuX2lzSW5pdGlhbGl6ZWR9LGxvYWRFbmFibGVkOmZ1bmN0
aW9uKCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8MXx8dHlwZW9mIGFyZ3VtZW50
c1swXSE9ImJvb2xlYW4ifHwodGhpcy5fbG9hZEVuYWJsZWQ9YXJndW1lbnRzWzBd
KSx0aGlzLl9sb2FkRW5hYmxlZH0saWdub3JlQXR0cjpmdW5jdGlvbih0KXtpZih0
eXBlb2YgdD09InN0cmluZyImJm4udHJpbSh0KSE9IiIpbi5pbkFycmF5KHQsdGhp
cy5faWdub3JlQXR0cik9PS0xJiZ0aGlzLl9pZ25vcmVBdHRyLnB1c2godCk7ZWxz
ZSBpZih0eXBlb2YgdD09Im9iamVjdCIpZm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtp
KyspdFtpXT1uLnRyaW0odFtpXSksbi5pbkFycmF5KHRbaV0sdGhpcy5faWdub3Jl
QXR0cik9PS0xJiZ0aGlzLl9pZ25vcmVBdHRyLnB1c2godFtpXSl9LGlnbm9yZVRl
eHRDbGFzczpmdW5jdGlvbih0KXt2YXIgcixpO2lmKHR5cGVvZiB0PT0ic3RyaW5n
IiYmbi50cmltKHQpIT0iIilmb3Iocj10LnNwbGl0KC9ccysvKSxpPTA7aTxyLmxl
bmd0aDtpKyspbi5pbkFycmF5KHJbaV0sdGhpcy5faWdub3JlVGV4dENsYXNzKT09
LTEmJnRoaXMuX2lnbm9yZVRleHRDbGFzcy5wdXNoKHJbaV0pfSxiYXNlRGF0YTpm
dW5jdGlvbigpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPDF8fHR5cGVvZiBhcmd1
bWVudHNbMF0hPSJvYmplY3QifHxuLmV4dGVuZCh0aGlzLl9iYXNlRGF0YSx0aGlz
Ll9vYmplY3ROYW1ldG9Mb3dlcihhcmd1bWVudHNbMF0pKSx0aGlzLl9iYXNlRGF0
YX0sYmFzZUxvYWREYXRhOmZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGg8MXx8dHlwZW9mIGFyZ3VtZW50c1swXSE9Im9iamVjdCJ8fG4uZXh0ZW5kKHRo
aXMuX2Jhc2VMb2FkRGF0YSx0aGlzLl9vYmplY3ROYW1ldG9Mb3dlcihhcmd1bWVu
dHNbMF0pKSx0aGlzLl9iYXNlTG9hZERhdGF9LGJhc2VMaW5rRGF0YTpmdW5jdGlv
bigpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPDF8fHR5cGVvZiBhcmd1bWVudHNb
MF0hPSJvYmplY3QifHxuLmV4dGVuZCh0aGlzLl9iYXNlTGlua0RhdGEsdGhpcy5f
b2JqZWN0TmFtZXRvTG93ZXIoYXJndW1lbnRzWzBdKSksdGhpcy5fYmFzZUxpbmtE
YXRhfSxfb2JqZWN0TmFtZXRvTG93ZXI6ZnVuY3Rpb24obil7dmFyIGk9e30sdDtm
b3IodCBpbiBuKWlbdC50b0xvd2VyQ2FzZSgpXT1uW3RdO3JldHVybiBpfSxpbml0
OmZ1bmN0aW9uKHQpe3ZhciByLGk7aWYodGhpcy5pc0luaXRpYWxpemVkKCkpcmV0
dXJuO3RoaXMuX2lzSW5pdGlhbGl6ZWQ9ITAsdGhpcy5fbnM9dGhpcy5nZXROYW1l
c3BhY2VQcmVmaXgoInVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206bXNjb206Ymki
KSx0aGlzLmlnbm9yZUF0dHIodGhpcy5fbnMrIjp0cmFjayIpLHI9d2luZG93LmF0
dGFjaEV2ZW50PyJjbGljayI6Im1vdXNlZG93biIsbigiYSwgYXJlYSIpLmxpdmUo
cixuLnByb3h5KGZ1bmN0aW9uKHQpe3ZhciB1PSEwLGU9bih0LmN1cnJlbnRUYXJn
ZXQpLGk9ZS5hdHRyKG4uYmkuX25zKyI6dHJhY2siKSxmLHI7aT1pP2kudG9Mb3dl
ckNhc2UoKTppLGkmJihpPT09InRydWUifHxpPT09ImZhbHNlIik/dT1pPT0idHJ1
ZSI6KGY9ZS5wYXJlbnRzKCI6bm90KHRhYmxlKSIpLmZpbHRlcihmdW5jdGlvbigp
e3ZhciB0PW4odGhpcykuYXR0cihuLmJpLl9ucysiOnRyYWNrIik7cmV0dXJuIHQ9
dD90LnRvTG93ZXJDYXNlKCk6dCx0JiYodD09PSJ0cnVlInx8dD09PSJmYWxzZSIp
PyEwOiExfSksZi5sZW5ndGgmJih1PW4oZlswXSkuYXR0cihuLmJpLl9ucysiOnRy
YWNrIikudG9Mb3dlckNhc2UoKT09InRydWUiKSksdSYmKHI9dC50YXJnZXQsci50
YWdOYW1lLnRvTG93ZXJDYXNlKCk9PSJhcmVhIiYmKHI9bigiaW1nW3VzZW1hcD0n
IyIrbihyKS5wYXJlbnQoIm1hcCIpLmF0dHIoIm5hbWUiKSsiJ10iKS5nZXQoMCkp
LHRoaXMubGlua0NsaWNrKHQuY3VycmVudFRhcmdldCxyKSl9LHRoaXMpKTtmb3Io
aSBpbiB0aGlzLmRhdGFSZXRyaWV2ZXJzKXRyeXt0aGlzLmRhdGFSZXRyaWV2ZXJz
W2ldLmluaXQoKX1jYXRjaCh1KXt9Zm9yKGkgaW4gdGhpcy5kYXRhQ29uc3VtZXJz
KXRyeXt0aGlzLmRhdGFDb25zdW1lcnNbaV0uaW5pdCh0W2ldKX1jYXRjaCh1KXt9
dGhpcy5sb2FkRW5hYmxlZCgpJiZuKG4ucHJveHkodGhpcy5yZWNvcmRMb2FkLHRo
aXMpKX0scmVjb3JkOmZ1bmN0aW9uKHQpe3ZhciBpO3Q9bi5leHRlbmQoe30sdGhp
cy5fYmFzZURhdGEsdCk7Zm9yKGkgaW4gdGhpcy5kYXRhTWFuaXB1bGF0b3JzKXRy
eXt0aGlzLmRhdGFNYW5pcHVsYXRvcnNbaV0ucHJlUmVjb3JkKHQpfWNhdGNoKHIp
e31mb3IoaSBpbiB0aGlzLmRhdGFDb25zdW1lcnMpdHJ5e3RoaXMuZGF0YUNvbnN1
bWVyc1tpXS5yZWNvcmQodCl9Y2F0Y2gocil7fX0scmVjb3JkTG9hZDpmdW5jdGlv
bih0KXt2YXIgaTt0PT1uJiYodD17fSksdD1uLmV4dGVuZCh7fSx0aGlzLl9iYXNl
RGF0YSx0aGlzLl9iYXNlTG9hZERhdGEsdCk7Zm9yKGkgaW4gdGhpcy5kYXRhUmV0
cmlldmVycyl0cnl7bi5leHRlbmQodCx0aGlzLmRhdGFSZXRyaWV2ZXJzW2ldLmdl
dExvYWREYXRhKCkpfWNhdGNoKHIpe31mb3IoaSBpbiB0aGlzLmRhdGFNYW5pcHVs
YXRvcnMpdHJ5e3RoaXMuZGF0YU1hbmlwdWxhdG9yc1tpXS5wcmVSZWNvcmRMb2Fk
KHQpfWNhdGNoKHIpe31mb3IoaSBpbiB0aGlzLmRhdGFDb25zdW1lcnMpdHJ5e3Ro
aXMuZGF0YUNvbnN1bWVyc1tpXS5yZWNvcmRMb2FkKHQpfWNhdGNoKHIpe319LGxp
bmtDbGljazpmdW5jdGlvbihuLHQpe3RoaXMucmVjb3JkKHRoaXMuZ2V0TGlua0Rh
dGEobix0KSl9LGdldExpbmtEYXRhOmZ1bmN0aW9uKHQsaSl7dmFyIHI9bi5leHRl
bmQoe30sdGhpcy5fYmFzZURhdGEsdGhpcy5fYmFzZUxpbmtEYXRhKSx1O2Zvcih1
IGluIHRoaXMuZGF0YVJldHJpZXZlcnMpdHJ5e24uZXh0ZW5kKHIsdGhpcy5kYXRh
UmV0cmlldmVyc1t1XS5nZXRMaW5rRGF0YSh0LGkpKX1jYXRjaChmKXt9cmV0dXJu
IHJ9LGdldEF0dHJEYXRhOmZ1bmN0aW9uKHQsaSl7dmFyIGY9e30scixvLGgscyxj
LGwsZSx1LGE7aWYoalF1ZXJ5JiZ0IGluc3RhbmNlb2YgalF1ZXJ5KXtmb3IoaD10
LHM9MCxjPWgubGVuZ3RoO3M8YztzKyspZm9yKGU9aC5nZXQocykuYXR0cmlidXRl
cyx1PTAsbD1lLmxlbmd0aDt1PGw7dSsrKXI9ZS5pdGVtKHUpLG89ci5uYW1lLnRv
TG93ZXJDYXNlKCksby5pbmRleE9mKG4uYmkuX25zKyI6Iik9PT0wJiYoaXx8bi5p
bkFycmF5KG8sdGhpcy5faWdub3JlQXR0cik8MCkmJihpbmRleD1vLnN1YnN0cmlu
ZygzLHIubmFtZS5sZW5ndGgpLGZbaW5kZXhdPT11bmRlZmluZWQmJihmW2luZGV4
XT1bXSksbi5pbkFycmF5KHIudmFsdWUsZltpbmRleF0pPDAmJmZbaW5kZXhdLnB1
c2goci52YWx1ZSkpO2Zvcih1IGluIGYpZlt1XT1mW3VdLmpvaW4oIjsiKX1lbHNl
IGZvcihlPXQuYXR0cmlidXRlcyx1PTAsYT1lLmxlbmd0aDt1PGE7dSsrKXI9ZS5p
dGVtKHUpLHIubmFtZS5pbmRleE9mKG4uYmkuX25zKyI6Iik9PT0wJiYoaXx8bi5p
bkFycmF5KHIubmFtZSx0aGlzLl9pZ25vcmVBdHRyKTwwKSYmKGZbci5uYW1lLnRv
TG93ZXJDYXNlKCkuc3Vic3RyaW5nKDMsci5uYW1lLmxlbmd0aCldPXIudmFsdWUp
O3JldHVybiBmfSxnZXRUZXh0OmZ1bmN0aW9uKHQpe3ZhciB1PW4odCkuaHRtbCgp
LGk9bigiPGRpdj4iK3UrIjwvZGl2PiIpLHI7cmV0dXJuIHRoaXMuX2lnbm9yZVRl
eHRDbGFzcy5sZW5ndGg+MCYmKHI9Ii4iK3RoaXMuX2lnbm9yZVRleHRDbGFzcy5q
b2luKCIsLiIpLGkuZmluZChyKS5yZW1vdmUoKSksbi50cmltKGkudGV4dCgpKX0s
bWFwRGF0YTpmdW5jdGlvbihuLHQpe3ZhciB1LGkscixmO2lmKCF0KXJldHVybiEx
O3U9e307Zm9yKGkgaW4gdCl7Zm9yKHVbaV09IiIscj0wLGY9dFtpXS5sZW5ndGg7
cjxmO3IrKylpZih0W2ldW3JdLnN0ciE9PXVuZGVmaW5lZCl1W2ldKz10W2ldW3Jd
LnN0cjtlbHNlIGlmKHRbaV1bcl0uYmkmJm4mJm5bdFtpXVtyXS5iaV0hPT11bmRl
ZmluZWQpe3N3aXRjaCh0W2ldW3JdLmJpKXtjYXNlInVyaXBhdGgiOm5bdFtpXVty
XS5iaV09PSIifHxuW3RbaV1bcl0uYmldPT1udWxsfHxuW3RbaV1bcl0uYmldPT11
bmRlZmluZWQ/blt0W2ldW3JdLmJpXT0iLyI6blt0W2ldW3JdLmJpXS5zdWJzdHJp
bmcoMCwxKSE9Ii8iJiYoblt0W2ldW3JdLmJpXT0iLyIrblt0W2ldW3JdLmJpXSk7
YnJlYWs7Y2FzZSJ1cmlxdWVyeSI6KG5bdFtpXVtyXS5iaV09PSIifHxuW3RbaV1b
cl0uYmldPT1udWxsfHxuW3RbaV1bcl0uYmldPT11bmRlZmluZWQpJiYoblt0W2ld
W3JdLmJpXT0iPyIpfXVbaV0rPW5bdFtpXVtyXS5iaV19dVtpXT09IiImJmRlbGV0
ZSB1W2ldfXJldHVybiB1fSxpc0ludGVyYWN0aW9uVHlwZVZhbGlkOmZ1bmN0aW9u
KG4sdCl7cmV0dXJuIG4mJnQ/dC5pbnRlcmFjdGlvblR5cGVNYXA/IW4uaW50ZXJh
Y3Rpb250eXBlfHx0LmludGVyYWN0aW9uVHlwZU1hcFtuLmludGVyYWN0aW9udHlw
ZV0hPXVuZGVmaW5lZDohMTohMX0sZ2V0TmFtZXNwYWNlUHJlZml4OmZ1bmN0aW9u
KHQpe3ZhciB1LHIsaTtpZihkb2N1bWVudC5uYW1lc3BhY2VzKWZvcih1PWRvY3Vt
ZW50Lm5hbWVzcGFjZXMsaT0wO2k8dS5sZW5ndGg7aSsrKWlmKHVbaV0udXJuPT10
KXJldHVybiB1W2ldLm5hbWU7Zm9yKHI9bigiaHRtbCIpLmdldCgwKS5hdHRyaWJ1
dGVzLGk9MDtpPHIubGVuZ3RoO2krKylpZihyW2ldLnZhbHVlPT10KWlmKHJbaV0u
bmFtZS5pbmRleE9mKCJ4bWxuczoiKT09MClyZXR1cm4gcltpXS5uYW1lLnN1YnN0
cmluZyhyW2ldLm5hbWUuaW5kZXhPZigiOiIpKzEpfSxfaXNJbml0aWFsaXplZDoh
MSxfbnM6ImJpIixfbG9hZEVuYWJsZWQ6ITAsX2lnbm9yZUF0dHI6W10sX2lnbm9y
ZVRleHRDbGFzczpbXSxfYmFzZURhdGE6e30sX2Jhc2VMb2FkRGF0YTp7aW50ZXJh
Y3Rpb250eXBlOjB9LF9iYXNlTGlua0RhdGE6e2ludGVyYWN0aW9udHlwZToyfX19
KShqUXVlcnkpOw==

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=jquery.bi.dataretrievers.attr.js
Content-Type: application/x-javascript; name=jquery.bi.dataretrievers.attr.js
Content-Location: http://support.microsoft.com/Scripts/jquery.bi.dataretrievers.attr.js
Content-Transfer-Encoding: Base64

KGZ1bmN0aW9uKG4pe24uYmkuZGF0YVJldHJpZXZlcnMuYXR0cj17Z2V0TG9hZERh
dGE6ZnVuY3Rpb24oKXt2YXIgdDtyZXR1cm4gdD1uKCJhcmVhIikuZmlsdGVyKGZ1
bmN0aW9uKCl7cmV0dXJuIG4odGhpcykucGFyZW50KCJtYXAiKS5zaWJsaW5ncygi
aW1nIikuaXMoIjp2aXNpYmxlIil9KSx0PXQuYWRkKG4oImE6dmlzaWJsZSIpKSxu
LmJpLmdldEF0dHJEYXRhKHQpfSxnZXRMaW5rRGF0YTpmdW5jdGlvbih0KXtyZXR1
cm4gbi5iaS5nZXRBdHRyRGF0YSh0KX19fSkoalF1ZXJ5KTs=

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=jquery.bi.dataretrievers.exp.js
Content-Type: application/x-javascript; name=jquery.bi.dataretrievers.exp.js
Content-Location: http://support.microsoft.com/Scripts/jquery.bi.dataretrievers.exp.js
Content-Transfer-Encoding: Base64

KGZ1bmN0aW9uKG4pe24uYmkhPT11bmRlZmluZWQmJihuLmJpLmRhdGFSZXRyaWV2
ZXJzLmV4cD17Z2xvYmFsVmFyTmFtZToiY3NwX2V4cERhdGEiLGluaXQ6ZnVuY3Rp
b24oKXt2YXIgdSxzLGwsZSxhLGYsYyx5LG8sdCxoO2lmKHdpbmRvd1t0aGlzLmds
b2JhbFZhck5hbWVdIT11bmRlZmluZWQmJndpbmRvd1t0aGlzLmdsb2JhbFZhck5h
bWVdWzBdIT11bmRlZmluZWQmJnR5cGVvZiB3aW5kb3dbdGhpcy5nbG9iYWxWYXJO
YW1lXT09Im9iamVjdCIpe3ZhciBpPXt9LGQ9ZnVuY3Rpb24obix0KXt0eXBlb2Yg
dD09InN0cmluZyJ8fHR5cGVvZiB0PT0ibnVtYmVyInx8dHlwZW9mIHQ9PSJib29s
ZWFuIj9pW25dPXQ6dHlwZW9mIHQ9PSJvYmplY3QiJiZrKG4sdCl9LGs9ZnVuY3Rp
b24obix0KXtmb3IodmFyIGkgaW4gdCluYW1lPW4rIl8iK2ksZChuYW1lLHRbaV0p
fTtrKCJleHAiLHdpbmRvd1t0aGlzLmdsb2JhbFZhck5hbWVdWzBdKSx1PWRvY3Vt
ZW50LmNvb2tpZS5zcGxpdCgiOyIpO2ZvcihlIGluIHUpe3M9dVtlXS5pbmRleE9m
KCI9IiksbD11W2VdLnN1YnN0cigwLHMpO2lmKG4udHJpbShsKT09Ik1TX1dUIil7
YT11W2VdLnN1YnN0cihzKzEpLGY9YS5zcGxpdCgiJiIpO2ZvcihvIGluIGYpe2M9
ZltvXS5pbmRleE9mKCI9IikseT1mW29dLnN1YnN0cigwLGMpO2lmKGkuZXhwX2V4
cGVyaW1lbnRJRCE9dW5kZWZpbmVkJiZuLnRyaW0oeSk9PWkuZXhwX2V4cGVyaW1l
bnRJRCl7dD1mW29dLnN1YnN0cihjKzEpLGg9dGhpcy5fZ2V0Q29va2llVmFsdWUo
InVpZCIsdCksaCYmKGkuZXhwX3VpZD1oKTt2YXIgcD10aGlzLl9nZXRDb29raWVW
YWx1ZSgidHlwZWlkIix0KSx3PXRoaXMuX2dldENvb2tpZVZhbHVlKCJ0ZXN0aWQi
LHQpLGI9dGhpcy5fZ2V0Q29va2llVmFsdWUoInJ1bmlkIix0KSx2PXRoaXMuX2dl
dENvb2tpZVZhbHVlKCJ0cmFja2lkIix0KSxyPXRoaXMuX2dldENvb2tpZVZhbHVl
KCJjdXJyZW50UGF0aCIsdCk7cj1yP3Iuc3BsaXQoIi0iKVswXTpyLHAmJnImJncm
JmImJnYmJihpLmV4cF90cmFja2luZ2d1aWQ9W3Ascix3LGIsdl0uam9pbigiLSIp
KTticmVha319YnJlYWt9fW4uYmkuYmFzZURhdGEoaSl9fSxfZ2V0Q29va2llVmFs
dWU6ZnVuY3Rpb24obix0KXt2YXIgaT1uZXcgUmVnRXhwKCcoXFxcXFxcXFxcXFxc
IicrbisnXFxcXFxcXFxcXFxcIjpcXFxcXFxcXFxcXFwiKShbXiJcXFxcXSopKFxc
XFxcXFxcXFxcXCIpJywiaSIpLmV4ZWModCk7cmV0dXJuIGk/aVsyXTohMX19LG4u
YmkuZGF0YU1hbmlwdWxhdG9ycy5leHA9e2NvbnZlcnNpb25Qb2ludE5hbWU6ImNw
aWQiLHByZVJlY29yZDpmdW5jdGlvbihuKXtuJiYobi5pbnRlcmFjdGlvbnR5cGU9
PTB8fG4uaW50ZXJhY3Rpb250eXBlPT0xKSYmdGhpcy5fY2xlYXJDb252ZXJzaW9u
UG9pbnQobil9LHByZVJlY29yZExvYWQ6ZnVuY3Rpb24obil7dGhpcy5fY2xlYXJD
b252ZXJzaW9uUG9pbnQobil9LF9jbGVhckNvbnZlcnNpb25Qb2ludDpmdW5jdGlv
bihuKXtuJiZuW3RoaXMuY29udmVyc2lvblBvaW50TmFtZV0hPXVuZGVmaW5lZCYm
ZGVsZXRlIG5bdGhpcy5jb252ZXJzaW9uUG9pbnROYW1lXX19KX0pKGpRdWVyeSk7

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=jquery.bi.dataretrievers.structure.js
Content-Type: application/x-javascript; name=jquery.bi.dataretrievers.structure.js
Content-Location: http://support.microsoft.com/Scripts/jquery.bi.dataretrievers.structure.js
Content-Transfer-Encoding: Base64

KGZ1bmN0aW9uKG4pe24uYmkuZGF0YVJldHJpZXZlcnMuc3RydWN0dXJlPXtpbml0
OmZ1bmN0aW9uKCl7bi5iaS5pZ25vcmVBdHRyKG4uYmkuX25zKyI6dGl0bGVmbGFn
Iiksbi5iaS5pZ25vcmVBdHRyKG4uYmkuX25zKyI6cGFyZW50dGl0bGUiKSxuLmJp
Lmlnbm9yZUF0dHIobi5iaS5fbnMrIjp0aXRsZSIpLG4uYmkuaWdub3JlQXR0cihu
LmJpLl9ucysiOmluZGV4Iiksbi5iaS5pZ25vcmVBdHRyKG4uYmkuX25zKyI6Z3Jp
ZGluZGV4Iiksbi5iaS5pZ25vcmVBdHRyKG4uYmkuX25zKyI6Z3JpZHR5cGUiKSxu
LmJpLmlnbm9yZUF0dHIobi5iaS5fbnMrIjp0eXBlIiksbi5iaS5iYXNlTG9hZERh
dGEoe3RpdGxlOmRvY3VtZW50LnRpdGxlLGluaXRpYWw6MH0pfSxnZXRMaW5rRGF0
YTpmdW5jdGlvbih0LGkpe3ZhciByPXt9LGY9dCYmbih0KS5sZW5ndGgmJm4odCku
Z2V0KDApLnRhZ05hbWUsdT1mP24odCkuYXR0cigiaHJlZiIpOiIiLGU7cmV0dXJu
IHIudXJpZnVsbD11LHIudXJpZG9tYWluPWYmJm4odClbMF0uaG9zdG5hbWU/bih0
KVswXS5ob3N0bmFtZToiIixyLnVyaXBhdGg9ZiYmbih0KVswXS5wYXRobmFtZT9u
KHQpWzBdLnBhdGhuYW1lOiIiLHIudXJpcGF0aD1yLnVyaXBhdGgubGVuZ3RoJiZy
LnVyaXBhdGguaW5kZXhPZigiLyIpIT0wPyIvIityLnVyaXBhdGg6ci51cmlwYXRo
LHIudXJpaGFzaD11JiZ1LmluZGV4T2YoIiMiKT49MD91LnN1YnN0cmluZyh1Lmlu
ZGV4T2YoIiMiKSk6IiIsdS5pbmRleE9mKCIjIik9PTA/ci51cmlxdWVyeT13aW5k
b3cubG9jYXRpb24uc2VhcmNoOih1PXIudXJpaGFzaD91LnN1YnN0cmluZygwLHUu
aW5kZXhPZigiIyIpKTp1LHIudXJpcXVlcnk9dSYmdS5pbmRleE9mKCI/Iik+PTA/
dS5zdWJzdHJpbmcodS5pbmRleE9mKCI/IikpOiIiKSxyLnR5cGU9ZiYmbih0KS5h
dHRyKG4uYmkuX25zKyI6dHlwZSIpP24udHJpbShuKHQpLmF0dHIobi5iaS5fbnMr
Ijp0eXBlIikpOiIiLHIuaW5kZXg9ZiYmbih0KS5hdHRyKG4uYmkuX25zKyI6aW5k
ZXgiKT9uLnRyaW0obih0KS5hdHRyKG4uYmkuX25zKyI6aW5kZXgiKSk6IiIsci5s
aW5rdGl0bGU9bi5iaS5nZXRUZXh0KHQpLHIudGl0bGU9ci5saW5rdGl0bGUsZT10
JiZuKHQpLmxlbmd0aCYmbih0KVswXS5ub2RlTmFtZT9uKHQpLmdldCgwKS5ub2Rl
TmFtZS50b0xvd2VyQ2FzZSgpOiIiLGU9PSJhcmVhIj9yLmxpbmt0aXRsZT1yLnRp
dGxlPW4odCkuYXR0cigiYWx0Iik6ci50aXRsZT09IiImJmkmJm4oaSkuZ2V0KDAp
Lm5vZGVOYW1lPT0iSU1HIiYmKHIudGl0bGU9bihpKS5hdHRyKCJhbHQiKSksbi5l
eHRlbmQocix0aGlzLmdldERhdGEodCkpLHJ9LGdldERhdGE6ZnVuY3Rpb24odCl7
dmFyIGk9e307cmV0dXJuIGkucGFyZW50dGl0bGVzdHJ1Y3R1cmU9dGhpcy5nZXRU
aXRsZVN0cnVjdHVyZSh0LG51bGwsITApLG4uZXh0ZW5kKGksdGhpcy5nZXRJbmRl
eEdyaWRUeXBlU3RydWN0dXJlKHQpKSxpfSxnZXRJbmRleEdyaWRUeXBlU3RydWN0
dXJlOmZ1bmN0aW9uKHQpe3ZhciBpPXt9LHI9W10sdT1bXSxmPVtdO3JldHVybiBu
KHQpLnBhcmVudHMoIjpub3QodGFibGUpIikuZWFjaChmdW5jdGlvbigpe2lmKG4o
dGhpcykuYXR0cihuLmJpLl9ucysiOmdyaWRpbmRleCIpKXt2YXIgdD1uKHRoaXMp
LmF0dHIobi5iaS5fbnMrIjpncmlkdHlwZSIpP24odGhpcykuYXR0cihuLmJpLl9u
cysiOmdyaWR0eXBlIik6IiI7ci5wdXNoKHQrIiAiK24odGhpcykuYXR0cihuLmJp
Ll9ucysiOmdyaWRpbmRleCIpKX1uKHRoaXMpLmF0dHIobi5iaS5fbnMrIjppbmRl
eCIpJiZ1LnB1c2gobih0aGlzKS5hdHRyKG4uYmkuX25zKyI6aW5kZXgiKSksbih0
aGlzKS5hdHRyKG4uYmkuX25zKyI6dHlwZSIpJiZmLnB1c2gobi50cmltKG4odGhp
cykuYXR0cihuLmJpLl9ucysiOnR5cGUiKSkpfSksaS5wYXJlbnR0eXBlc3RydWN0
dXJlPWYucmV2ZXJzZSgpLmpvaW4oIjsiKSxpLmdyaWRzdHJ1Y3R1cmU9ci5yZXZl
cnNlKCkuam9pbigiOyIpLGkucGFyZW50aW5kZXhzdHJ1Y3R1cmU9dS5yZXZlcnNl
KCkuam9pbigiOyIpLGl9LGdldEluZGV4U3RydWN0dXJlOmZ1bmN0aW9uKHQpe3Zh
ciBpPVtdLHI9ITE7cmV0dXJuIG4odCkucGFyZW50cygiOm5vdCh0YWJsZSkiKS5m
aWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzKS5hdHRyKG4uYmkuX25zKyI6
aW5kZXgiKT8oaS5wdXNoKG4odGhpcykuYXR0cihuLmJpLl9ucysiOmluZGV4Iikp
LCEwKTohMX0pLGkucmV2ZXJzZSgpLmpvaW4oIjsiKX0sZ2V0R3JpZFN0cnVjdHVy
ZTpmdW5jdGlvbih0KXt2YXIgaT1bXTtyZXR1cm4gbih0KS5wYXJlbnRzKCI6bm90
KHRhYmxlKSIpLmZpbHRlcihmdW5jdGlvbigpe2lmKG4odGhpcykuYXR0cihuLmJp
Ll9ucysiOmdyaWRpbmRleCIpKXt2YXIgdD1uKHRoaXMpLmF0dHIobi5iaS5fbnMr
IjpncmlkdHlwZSIpP24odGhpcykuYXR0cihuLmJpLl9ucysiOmdyaWR0eXBlIik6
IiI7cmV0dXJuIGkucHVzaCh0KyIgIituKHRoaXMpLmF0dHIobi5iaS5fbnMrIjpn
cmlkaW5kZXgiKSksITB9cmV0dXJuITF9KSxpLnJldmVyc2UoKS5qb2luKCI7Iil9
LGdldFR5cGVTdHJ1Y3R1cmU6ZnVuY3Rpb24odCl7dmFyIGk9W107cmV0dXJuIG4o
dCkucGFyZW50cygiOm5vdCh0YWJsZSkiKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1
cm4gbih0aGlzKS5hdHRyKG4uYmkuX25zKyI6dHlwZSIpPyhpLnB1c2gobi50cmlt
KG4odGhpcykuYXR0cihuLmJpLl9ucysiOnR5cGUiKSkpLCEwKTohMX0pLGkucmV2
ZXJzZSgpLmpvaW4oIjsiKX0sZ2V0VGl0bGVTdHJ1Y3R1cmU6ZnVuY3Rpb24odCxp
LHIpe3ZhciBvPVtdLHM9W10sdSxmLGU9IiIsaCxjLGw7aWYoIXR8fCFuKHQpLmxl
bmd0aHx8IW4odCkuZ2V0KDApLnRhZ05hbWUpcmV0dXJuIiI7Zm9yKHJ8fG8ucHVz
aChuLnRyaW0obih0KS50ZXh0KCkpfHxuLnRyaW0obih0KS5hdHRyKCJhbHQiKSkp
LG4odCkuYXR0cihuLmJpLl9ucysiOnBhcmVudHRpdGxlIikmJnMucHVzaChuKHQp
KSxuKHQpLnBhcmVudHMoIjpub3QodGFibGUpIikuZWFjaChmdW5jdGlvbigpe24o
dGhpcykuYXR0cihuLmJpLl9ucysiOnBhcmVudHRpdGxlIikmJnMucHVzaChuKHRo
aXMpKX0pLGg9MDtoPHMubGVuZ3RoO2grKyl7Yz1zW2hdLGU9Yy5hdHRyKG4uYmku
X25zKyI6cGFyZW50dGl0bGUiKSx1PWMuc2libGluZ3MoIjpub3QodGFibGUpIiku
ZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcykuYXR0cihuLmJpLl9ucysi
OnRpdGxlZmxhZyIpPT1lfSkuZmlyc3QoKSx1Lmxlbmd0aD09MCYmKHU9Yy5wYXJl
bnRzKCI6bm90KHRhYmxlKSIpLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiBuKHRo
aXMpLmF0dHIobi5iaS5fbnMrIjp0aXRsZWZsYWciKT09ZX0pLmZpcnN0KCkpO2lm
KHUubGVuZ3RoIT0wKXt1LmF0dHIobi5iaS5fbnMrIjp0aXRsZSIpPT1lP2Y9dToo
Zj11LmZpbmQoIlsiK24uYmkuX25zKydcXDp0aXRsZT0iJytlKyciXScpLmZpcnN0
KCksZi5sZW5ndGg9PTAmJihmPXUuZmluZCgiKiIpLmZpbHRlcihmdW5jdGlvbigp
e3JldHVybiBuKHRoaXMpLmF0dHIobi5iaS5fbnMrIjp0aXRsZSIpPT1lfSkuZmly
c3QoKSkpO2lmKGYpe2w9dGhpcy5nZXRUaXRsZVN0cnVjdHVyZShmLCEwKSxvPW8u
Y29uY2F0KGwpO2JyZWFrfX19cmV0dXJuIGk/bzpvLnJldmVyc2UoKS5qb2luKCI7
Iil9fX0pKGpRdWVyeSk7

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=jquery.bi.queue.js
Content-Type: application/x-javascript; name=jquery.bi.queue.js
Content-Location: http://support.microsoft.com/Scripts/jquery.bi.queue.js
Content-Transfer-Encoding: Base64

KGZ1bmN0aW9uKG4pe24uYmkucXVldWU9e19kZWxheTozNTAsX3RpbWVySWQ6bnVs
bCxfcXVldWU6W10scHVzaDpmdW5jdGlvbihuKXt0aGlzLl9xdWV1ZS5wdXNoKG4p
LHRoaXMuX3RpbWVySWQ9PW51bGwmJnRoaXMuX3N0YXJ0VGltZXIoKX0sX3RyeVBy
b2Nlc3M6ZnVuY3Rpb24oKXt0aGlzLl9jbGVhclRpbWVyKCksbigiOmFuaW1hdGVk
IikubGVuZ3RoPT0wJiZ0aGlzLl9xdWV1ZS5sZW5ndGg+MCYmbi5iaS5yZWNvcmQo
dGhpcy5fcXVldWUuc2hpZnQoKSksdGhpcy5fcXVldWUubGVuZ3RoPjAmJnRoaXMu
X3N0YXJ0VGltZXIoKX0sX3N0YXJ0VGltZXI6ZnVuY3Rpb24oKXt0aGlzLl9jbGVh
clRpbWVyKCksdGhpcy5fdGltZXJJZD13aW5kb3cuc2V0VGltZW91dChuLnByb3h5
KHRoaXMuX3RyeVByb2Nlc3MsdGhpcyksdGhpcy5fZGVsYXkpfSxfY2xlYXJUaW1l
cjpmdW5jdGlvbigpe3RoaXMuX3RpbWVySWQhPW51bGwmJih3aW5kb3cuY2xlYXJU
aW1lb3V0KHRoaXMuX3RpbWVySWQpLHRoaXMuX3RpbWVySWQ9bnVsbCl9fX0pKGpR
dWVyeSk7

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=jquery.bi.dataconsumers.webtrends.js
Content-Type: application/x-javascript; name=jquery.bi.dataconsumers.webtrends.js
Content-Location: http://support.microsoft.com/Scripts/jquery.bi.dataconsumers.webtrends.js
Content-Transfer-Encoding: Base64

KGZ1bmN0aW9uKG4pe24uYmkuZGF0YUNvbnN1bWVycy53ZWJ0cmVuZHM9e19zZXR0
aW5nczpudWxsLGluaXQ6ZnVuY3Rpb24obil7dGhpcy5fc2V0dGluZ3M9bix0eXBl
b2Ygd2luZG93LldlYlRyZW5kcyE9InVuZGVmaW5lZCImJih0aGlzLldlYlRyZW5k
cz1uZXcgV2ViVHJlbmRzKX0scmVjb3JkOmZ1bmN0aW9uKHQpe3RoaXMuV2ViVHJl
bmRzJiZuLmJpLmlzSW50ZXJhY3Rpb25UeXBlVmFsaWQodCx0aGlzLl9zZXR0aW5n
cykmJih0PXRoaXMuX21hcEludGVyYWN0aW9uVHlwZSh0KSx0aGlzLldlYlRyZW5k
cy5kY3NKU09OVHJhY2soe30sdGhpcy5fbWFwKHQpKSl9LHJlY29yZExvYWQ6ZnVu
Y3Rpb24odCl7aWYodGhpcy5XZWJUcmVuZHMmJm4uYmkuaXNJbnRlcmFjdGlvblR5
cGVWYWxpZCh0LHRoaXMuX3NldHRpbmdzKSl7dHJ5e3RoaXMuV2ViVHJlbmRzLmRj
c0NvbGxlY3QoKX1jYXRjaChpKXt9dD10aGlzLl9tYXBJbnRlcmFjdGlvblR5cGUo
dCksdGhpcy5XZWJUcmVuZHMuZGNzSlNPTlRyYWNrKHsiRENTLmRjc3NpcCI6d2lu
ZG93LmxvY2F0aW9uLmhvc3RuYW1lLCJEQ1MuZGNzdXJpIjp3aW5kb3cubG9jYXRp
b24ucGF0aG5hbWUsIkRDUy5kY3NxcnkiOndpbmRvdy5sb2NhdGlvbi5zZWFyY2h9
LHRoaXMuX21hcCh0KSl9fSxfbWFwSW50ZXJhY3Rpb25UeXBlOmZ1bmN0aW9uKHQp
e3ZhciBpPW4uZXh0ZW5kKHt9LHQpO3JldHVybiBpLmludGVyYWN0aW9udHlwZSE9
dW5kZWZpbmVkJiZ0aGlzLl9zZXR0aW5ncy5pbnRlcmFjdGlvblR5cGVNYXBbaS5p
bnRlcmFjdGlvbnR5cGVdIT11bmRlZmluZWQmJihpLmludGVyYWN0aW9udHlwZT10
aGlzLl9zZXR0aW5ncy5pbnRlcmFjdGlvblR5cGVNYXBbaS5pbnRlcmFjdGlvbnR5
cGVdKSxpLnRyaWdnZXJ0eXBlIT11bmRlZmluZWQmJnRoaXMuX3NldHRpbmdzLmlu
dGVyYWN0aW9uVHlwZU1hcFtpLnRyaWdnZXJ0eXBlXSE9dW5kZWZpbmVkJiYoaS50
cmlnZ2VydHlwZT10aGlzLl9zZXR0aW5ncy5pbnRlcmFjdGlvblR5cGVNYXBbaS50
cmlnZ2VydHlwZV0pLGl9LF9tYXA6ZnVuY3Rpb24odCl7cmV0dXJuIG4uYmkubWFw
RGF0YSh0LHRoaXMuX3NldHRpbmdzLnBhcmFtZXRlck1hcCl9fX0pKGpRdWVyeSk7

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=webtrends.js
Content-Type: application/x-javascript; name=webtrends.js
Content-Location: http://support.microsoft.com/Scripts/webtrends.js
Content-Transfer-Encoding: Base64

ZnVuY3Rpb24gV2ViVHJlbmRzKCl7dmFyIG49dGhpczt0aGlzLmRjc2lkPXR5cGVv
ZiBnRGNzSWQhPSJ1bmRlZmluZWQiJiZnRGNzSWQ/Z0Rjc0lkOiJkY3NvNnA3ejcx
MDAwMDRqMTUxYW13eHBvXzVxMmoiLHRoaXMuZG9tYWluPXR5cGVvZiBnRG9tYWlu
IT0idW5kZWZpbmVkIiYmZ0RvbWFpbj9nRG9tYWluOiJtLndlYnRyZW5kcy5jb20i
LHRoaXMudGltZXpvbmU9dHlwZW9mIGdUaW1lWm9uZSE9InVuZGVmaW5lZCImJmdU
aW1lWm9uZT9nVGltZVpvbmU6LTgsdGhpcy5mcGNkb209dHlwZW9mIGdGcGNEb20h
PSJ1bmRlZmluZWQiJiZnRnBjRG9tP2dGcGNEb206L21pY3Jvc29mdC5jb20kLy50
ZXN0KHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSk/Ii5taWNyb3NvZnQuY29tIjp3
aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsdHlwZW9mIGdPZmZzaXRlIT0idW5kZWZp
bmVkIiYmZ09mZnNpdGUmJihnT2Zmc2l0ZT09ITB8fGdPZmZzaXRlPT0idHJ1ZSIp
JiYodGhpcy5mcGNkb209IiIpLHRoaXMubmF2aWdhdGlvbnRhZz0iZGl2LHRhYmxl
Iix0aGlzLnRyYWNrZXZlbnRzPXR5cGVvZiBnVHJhY2tFdmVudHMhPSJ1bmRlZmlu
ZWQiJiZnVHJhY2tFdmVudHMmJihnVHJhY2tFdmVudHM9PTF8fGdUcmFja0V2ZW50
cz09IjEiKT8hMDohMSx0aGlzLmV2aT17Y29va2llOiJNQzEsIEEiLHFwOiJXVC5k
Y3N2aWQsIFdULnpfQWNvb2tpZSIsY3J1bWI6IiIsc2VwOiIifSx0aGlzLmVuYWJs
ZWQ9ITAsdGhpcy5pMThuPSEwLHRoaXMuZnBjPSJXVF9GUEMiLHRoaXMucGFpZHNl
YXJjaHBhcmFtcz0iZ2NsaWQiLHRoaXMuRENTPXt9LHRoaXMuV1Q9e30sdGhpcy5E
Q1NleHQ9e30sdGhpcy5EQ1NkaXI9e30sdGhpcy5pbWFnZXM9W10sdGhpcy5pbmRl
eD0wLHRoaXMucXA9W10sdGhpcy5leHJlPWZ1bmN0aW9uKCl7cmV0dXJuIHdpbmRv
dy5SZWdFeHA/bmV3IFJlZ0V4cCgiZGNzKHVyaSl8KHJlZil8KGF1dCl8KG1ldCl8
KHN0YSl8KHNpcCl8KHBybyl8KGJ5dCl8KGRhdCl8KHAzcCl8KGNmZyl8KHJlZGly
ZWN0KXwoY2lwKSIsImkiKToiIn0oKSx0aGlzLnJlPWZ1bmN0aW9uKCl7cmV0dXJu
IHdpbmRvdy5SZWdFeHA/bi5pMThuP3siJTI1IjovXCUvZywiJTIzIjovXCMvZywi
JTI2IjovXCYvZ306eyIlMDkiOi9cdC9nLCIlMjAiOi8gL2csIiUyMyI6L1wjL2cs
IiUyNiI6L1wmL2csIiUyQiI6L1wrL2csIiUzRiI6L1w/L2csIiU1QyI6L1xcL2cs
IiUyMiI6L1wiL2csIiU3RiI6L1x4N0YvZywiJUEwIjovXHhBMC9nfToiIn0oKX1m
dW5jdGlvbiBkY3NNdWx0aVRyYWNrKCl7aWYodHlwZW9mIF90YWchPSJ1bmRlZmlu
ZWQiKXJldHVybiBfdGFnLmRjc011bHRpVHJhY2soKX1mdW5jdGlvbiBkY3NEZWJ1
Zygpe2lmKHR5cGVvZiBfdGFnIT0idW5kZWZpbmVkIilyZXR1cm4gX3RhZy5kY3NE
ZWJ1ZygpfWZ1bmN0aW9uIGRjc0VzY2FwZShuKXtpZih0eXBlb2YgX3RhZyE9InVu
ZGVmaW5lZCIpcmV0dXJuIF90YWcuZGNzRXNjYXBlKG4pfWZ1bmN0aW9uIGRjc0Vu
Y29kZShuKXtpZih0eXBlb2YgX3RhZyE9InVuZGVmaW5lZCIpcmV0dXJuIF90YWcu
ZGNzRW5jb2RlKG4pfWZ1bmN0aW9uIGRjc1NldFZhcigpe2lmKHR5cGVvZiBfdGFn
IT0idW5kZWZpbmVkIilyZXR1cm4gX3RhZy5kY3NNU1NldFZhcigpfVdlYlRyZW5k
cy5wcm90b3R5cGUuZGNzR2V0SWQ9ZnVuY3Rpb24oKXt0aGlzLmVuYWJsZWQmJmRv
Y3VtZW50LmNvb2tpZS5pbmRleE9mKHRoaXMuZnBjKyI9Iik9PS0xJiZkb2N1bWVu
dC5jb29raWUuaW5kZXhPZigiV1RMT1BUT1VUPSIpPT0tMSYmZG9jdW1lbnQud3Jp
dGUoIjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHAiKyh3
aW5kb3cubG9jYXRpb24ucHJvdG9jb2wuaW5kZXhPZigiaHR0cHM6Iik9PTA/InMi
OiIiKSsiOi8vIit0aGlzLmRvbWFpbisiLyIrdGhpcy5kY3NpZCsiL3d0aWQuanMn
PjxcL3NjcmlwdD4iKX0sV2ViVHJlbmRzLnByb3RvdHlwZS5kY3NHZXRDb29raWU9
ZnVuY3Rpb24obil7Zm9yKHZhciBzPWRvY3VtZW50LmNvb2tpZS5zcGxpdCgiOyAi
KSxpPVtdLHI9MCx0PTAsaD1uLmxlbmd0aCxsPXMubGVuZ3RoLGYsdSxlLGMsbyx0
PTA7dDxsO3QrKylmPXNbdF0sZi5zdWJzdHJpbmcoMCxoKzEpPT1uKyI9IiYmKGlb
cisrXT1mKTt1PWkubGVuZ3RoO2lmKHU+MCl7cj0wO2lmKHU+MSYmbj09dGhpcy5m
cGMpZm9yKGU9bmV3IERhdGUoMCksdD0wO3Q8dTt0KyspYz1wYXJzZUludCh0aGlz
LmRjc0dldENydW1iKGlbdF0sImx2IikpLG89bmV3IERhdGUoYyksbz5lJiYoZS5z
ZXRUaW1lKG8uZ2V0VGltZSgpKSxyPXQpO3JldHVybiB1bmVzY2FwZShpW3JdLnN1
YnN0cmluZyhoKzEpKX1yZXR1cm4gbnVsbH0sV2ViVHJlbmRzLnByb3RvdHlwZS5k
Y3NHZXRDcnVtYj1mdW5jdGlvbihuLHQsaSl7Zm9yKHZhciBmPW4uc3BsaXQoaXx8
IjoiKSx1LHI9MDtyPGYubGVuZ3RoO3IrKyl7dT1mW3JdLnNwbGl0KCI9Iik7aWYo
dD09dVswXSlyZXR1cm4gdVsxXX1yZXR1cm4gbnVsbH0sV2ViVHJlbmRzLnByb3Rv
dHlwZS5kY3NHZXRJZENydW1iPWZ1bmN0aW9uKG4sdCl7Zm9yKHZhciB1PW4uc3Vi
c3RyaW5nKDAsbi5pbmRleE9mKCI6bHY9IikpLGk9dS5zcGxpdCgiPSIpLHI9MDty
PGkubGVuZ3RoO3IrKylpZih0PT1pWzBdKXJldHVybiBpWzFdO3JldHVybiBudWxs
fSxXZWJUcmVuZHMucHJvdG90eXBlLmRjc0lzRnBjU2V0PWZ1bmN0aW9uKG4sdCxp
LHIpe3ZhciB1PXRoaXMuZGNzR2V0Q29va2llKG4pO3JldHVybiB1P3Q9PXRoaXMu
ZGNzR2V0SWRDcnVtYih1LCJpZCIpJiZpPT10aGlzLmRjc0dldENydW1iKHUsImx2
IikmJnI9PXRoaXMuZGNzR2V0Q3J1bWIodSwic3MiKT8wOjM6Mn0sV2ViVHJlbmRz
LnByb3RvdHlwZS5kY3NGUEM9ZnVuY3Rpb24oKXt2YXIgeSxpLHMsaCxyLGM7aWYo
ZG9jdW1lbnQuY29va2llLmluZGV4T2YoIldUTE9QVE9VVD0iKSE9LTEpcmV0dXJu
O3ZhciBuPXRoaXMuV1QsdT10aGlzLmZwYyx0PW5ldyBEYXRlLGY9dC5nZXRUaW1l
em9uZU9mZnNldCgpKjZlNCt0aGlzLnRpbWV6b25lKjM2ZTU7dC5zZXRUaW1lKHQu
Z2V0VGltZSgpK2YpLHk9bmV3IERhdGUodC5nZXRUaW1lKCkrMzE1MzZlNyksaT1u
ZXcgRGF0ZSh0LmdldFRpbWUoKSksbi5jb19mPW4udnRpZD1uLnZ0dnM9bi52dF9m
PW4udnRfZl9hPW4udnRfZl9zPW4udnRfZl9kPW4udnRfZl90bGg9bi52dF9mX3Rs
dj0iIjtpZihkb2N1bWVudC5jb29raWUuaW5kZXhPZih1KyI9Iik9PS0xKXtpZih0
eXBlb2YgZ1d0SWQhPSJ1bmRlZmluZWQiJiZnV3RJZCE9IiIpbi5jb19mPWdXdElk
O2Vsc2UgaWYodHlwZW9mIGdUZW1wV3RJZCE9InVuZGVmaW5lZCImJmdUZW1wV3RJ
ZCE9IiIpbi5jb19mPWdUZW1wV3RJZCxuLnZ0X2Y9IjEiO2Vsc2V7Zm9yKG4uY29f
Zj0iMiIscz10LmdldFRpbWUoKS50b1N0cmluZygpLGg9MjtoPD0zMi1zLmxlbmd0
aDtoKyspbi5jb19mKz1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMTYpLnRvU3Ry
aW5nKDE2KTtuLmNvX2YrPXMsbi52dF9mPSIxIn10eXBlb2YgZ1d0QWNjb3VudFJv
bGx1cD09InVuZGVmaW5lZCImJihuLnZ0X2ZfYT0iMSIpLG4udnRfZl9zPW4udnRf
Zl9kPSIxIixuLnZ0X2ZfdGxoPW4udnRfZl90bHY9IjAifWVsc2V7dmFyIG89dGhp
cy5kY3NHZXRDb29raWUodSksZT10aGlzLmRjc0dldElkQ3J1bWIobywiaWQiKSxh
PXBhcnNlSW50KHRoaXMuZGNzR2V0Q3J1bWIobywibHYiKSksdj1wYXJzZUludCh0
aGlzLmRjc0dldENydW1iKG8sInNzIikpO2lmKGU9PW51bGx8fGU9PSJudWxsInx8
aXNOYU4oYSl8fGlzTmFOKHYpKXJldHVybjtuLmNvX2Y9ZSxyPW5ldyBEYXRlKGEp
LG4udnRfZl90bGg9TWF0aC5mbG9vcigoci5nZXRUaW1lKCktZikvMWUzKSxpLnNl
dFRpbWUodiksKHQuZ2V0VGltZSgpPnIuZ2V0VGltZSgpKzE4ZTV8fHQuZ2V0VGlt
ZSgpPmkuZ2V0VGltZSgpKzI4OGU1KSYmKG4udnRfZl90bHY9TWF0aC5mbG9vcigo
aS5nZXRUaW1lKCktZikvMWUzKSxpLnNldFRpbWUodC5nZXRUaW1lKCkpLG4udnRf
Zl9zPSIxIiksKHQuZ2V0RGF5KCkhPXIuZ2V0RGF5KCl8fHQuZ2V0TW9udGgoKSE9
ci5nZXRNb250aCgpfHx0LmdldFllYXIoKSE9ci5nZXRZZWFyKCkpJiYobi52dF9m
X2Q9IjEiKX1uLmNvX2Y9ZXNjYXBlKG4uY29fZiksbi52dGlkPXR5cGVvZiB0aGlz
LnZ0aWQ9PSJ1bmRlZmluZWQiP24uY29fZjp0aGlzLnZ0aWR8fCIiLG4udnR2cz0o
aS5nZXRUaW1lKCktZikudG9TdHJpbmcoKTt2YXIgdz0iOyBleHBpcmVzPSIreS50
b0dNVFN0cmluZygpLHA9dC5nZXRUaW1lKCkudG9TdHJpbmcoKSxsPWkuZ2V0VGlt
ZSgpLnRvU3RyaW5nKCk7ZG9jdW1lbnQuY29va2llPXUrIj1pZD0iK24uY29fZisi
Omx2PSIrcCsiOnNzPSIrbCt3KyI7IHBhdGg9LyIrKHRoaXMuZnBjZG9tIT0iIj8i
OyBkb21haW49Iit0aGlzLmZwY2RvbToiIiksYz10aGlzLmRjc0lzRnBjU2V0KHUs
bi5jb19mLHAsbCksYyE9MCYmKG4uY29fZj1uLnZ0dnM9bi52dF9mX3M9bi52dF9m
X2Q9bi52dF9mX3RsaD1uLnZ0X2ZfdGx2PSIiLHR5cGVvZiB0aGlzLnZ0aWQ9PSJ1
bmRlZmluZWQiJiYobi52dGlkPSIiKSxuLnZ0X2Y9bi52dF9mX2E9Yyl9LFdlYlRy
ZW5kcy5wcm90b3R5cGUuZGNzUVA9ZnVuY3Rpb24obil7dmFyIHUsaSx0LHI7aWYo
dHlwZW9mIG49PSJ1bmRlZmluZWQiKXJldHVybiIiO3U9bG9jYXRpb24uc2VhcmNo
LnN1YnN0cmluZygxKTtpZih1IT0iIilmb3IoaT11LnNwbGl0KCImIiksdD0wO3Q8
aS5sZW5ndGg7dCsrKXtyPWlbdF0uaW5kZXhPZigiPSIpO2lmKHIhPS0xKWlmKGlb
dF0uc3Vic3RyaW5nKDAscik9PW4pcmV0dXJuIHRoaXMucXBbdGhpcy5xcC5sZW5n
dGhdPSh0PT0wPyIiOiImIikraVt0XSxpW3RdLnN1YnN0cmluZyhyKzEpfXJldHVy
biIifSxXZWJUcmVuZHMucHJvdG90eXBlLmRjc0V2dD1mdW5jdGlvbihuLHQpe3Zh
ciBpPW4udGFyZ2V0fHxuLnNyY0VsZW1lbnQ7d2hpbGUoaS50YWdOYW1lJiZpLnRh
Z05hbWUudG9Mb3dlckNhc2UoKSE9dC50b0xvd2VyQ2FzZSgpKWk9aS5wYXJlbnRF
bGVtZW50fHxpLnBhcmVudE5vZGU7cmV0dXJuIGl9LFdlYlRyZW5kcy5wcm90b3R5
cGUuZGNzTmF2aWdhdGlvbj1mdW5jdGlvbihuKXtmb3IodmFyIGk9IiIsdT0iIixl
PXRoaXMuZGNzU3BsaXQodGhpcy5uYXZpZ2F0aW9udGFnKSxvPWUubGVuZ3RoLHQs
ZixyPTA7cjxvO3IrKyl7Zj1lW3JdO2lmKGYubGVuZ3RoKXt0PXRoaXMuZGNzRXZ0
KG4sZiksaT10LmdldEF0dHJpYnV0ZSYmdC5nZXRBdHRyaWJ1dGUoImlkIik/dC5n
ZXRBdHRyaWJ1dGUoImlkIik6IiIsdT10LmNsYXNzTmFtZXx8IiI7aWYoaS5sZW5n
dGh8fHUubGVuZ3RoKWJyZWFrfX1yZXR1cm4gaS5sZW5ndGg/aTp1fSxXZWJUcmVu
ZHMucHJvdG90eXBlLmRjc0JpbmQ9ZnVuY3Rpb24obix0KXt0eXBlb2YgdD09ImZ1
bmN0aW9uIiYmZG9jdW1lbnQuYm9keSYmKGRvY3VtZW50LmJvZHkuYWRkRXZlbnRM
aXN0ZW5lcj9kb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIobix0Lnd0Ymlu
ZCh0aGlzKSwhMCk6ZG9jdW1lbnQuYm9keS5hdHRhY2hFdmVudCYmZG9jdW1lbnQu
Ym9keS5hdHRhY2hFdmVudCgib24iK24sdC53dGJpbmQodGhpcykpKX0sV2ViVHJl
bmRzLnByb3RvdHlwZS5kY3NFVD1mdW5jdGlvbigpe30sV2ViVHJlbmRzLnByb3Rv
dHlwZS5kY3NNdWx0aVRyYWNrPWZ1bmN0aW9uKCl7dmFyIG49ZGNzTXVsdGlUcmFj
ay5hcmd1bWVudHM/ZGNzTXVsdGlUcmFjay5hcmd1bWVudHM6YXJndW1lbnRzLHQ7
bi5sZW5ndGglMj09MCYmKHRoaXMuZGNzU2V0UHJvcHMobiksdD1uZXcgRGF0ZSx0
aGlzLkRDUy5kY3NkYXQ9dC5nZXRUaW1lKCksdGhpcy5kY3NGUEMoKSx0aGlzLmRj
c1RhZygpLHRoaXMuRENTLmRjc3NpcD13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUs
dGhpcy5EQ1MuZGNzdXJpPXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSl9LFdlYlRy
ZW5kcy5wcm90b3R5cGUuZGNzSlNPTlRyYWNrPWZ1bmN0aW9uKG4sdCl7dmFyIGks
cix1O2ZvcihpIGluIG4pdHlwZW9mIGkhPSJ1bmRlZmluZWQiJiZ0eXBlb2Ygbltp
XSE9InVuZGVmaW5lZCImJihyPVtdLHJbMF09aS50b1N0cmluZygpLHJbMV09bltp
XS50b1N0cmluZygpLHRoaXMuZGNzU2V0UHJvcHMocikpO2ZvcihpIGluIHQpdHlw
ZW9mIGkhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgdFtpXSE9InVuZGVmaW5lZCImJihy
PVtdLHJbMF09aS50b1N0cmluZygpLHJbMV09dFtpXS50b1N0cmluZygpLHRoaXMu
ZGNzU2V0UHJvcHMociksdGhpcy5EQ1NkaXIuQ2xlYXJWYXJzPXRoaXMuRENTZGly
LkNsZWFyVmFycysiLCIraSk7dT1uZXcgRGF0ZSx0aGlzLkRDUy5kY3NkYXQ9dS5n
ZXRUaW1lKCksdGhpcy5kY3NGUEMoKSx0aGlzLmRjc1RhZygpLHRoaXMuRENTLmRj
c3NpcD13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsdGhpcy5EQ1MuZGNzdXJpPXdp
bmRvdy5sb2NhdGlvbi5wYXRobmFtZX0sV2ViVHJlbmRzLnByb3RvdHlwZS5kY3ND
bGVhblVwPWZ1bmN0aW9uKCl7dGhpcy5EQ1M9e30sdGhpcy5XVD17fSx0aGlzLkRD
U2V4dD17fSxhcmd1bWVudHMubGVuZ3RoJTI9PTAmJnRoaXMuZGNzU2V0UHJvcHMo
YXJndW1lbnRzKX0sV2ViVHJlbmRzLnByb3RvdHlwZS5kY3NTZXRQcm9wcz1mdW5j
dGlvbihuKXtmb3IodmFyIHQ9MDt0PG4ubGVuZ3RoO3QrPTIpblt0XS5pbmRleE9m
KCJXVC4iKT09MD90aGlzLldUW25bdF0uc3Vic3RyaW5nKDMpXT1uW3QrMV06blt0
XS5pbmRleE9mKCJEQ1MuIik9PTA/dGhpcy5EQ1Nbblt0XS5zdWJzdHJpbmcoNCld
PW5bdCsxXTpuW3RdLmluZGV4T2YoIkRDU2V4dC4iKT09MD90aGlzLkRDU2V4dFtu
W3RdLnN1YnN0cmluZyg3KV09blt0KzFdOm5bdF0uaW5kZXhPZigiRENTZGlyLiIp
PT0wJiYodGhpcy5EQ1NkaXJbblt0XS5zdWJzdHJpbmcoNyldPW5bdCsxXSl9LFdl
YlRyZW5kcy5wcm90b3R5cGUuZGNzU3BsaXQ9ZnVuY3Rpb24obil7Zm9yKHZhciBp
PW4udG9Mb3dlckNhc2UoKS5zcGxpdCgiLCIpLHI9aS5sZW5ndGgsdD0wO3Q8cjt0
KyspaVt0XT1pW3RdLnJlcGxhY2UoL15ccyovLCIiKS5yZXBsYWNlKC9ccyokLywi
Iik7cmV0dXJuIGl9LFdlYlRyZW5kcy5wcm90b3R5cGUuZGNzRm9ybUJ1dHRvbj1m
dW5jdGlvbihuKXt2YXIgdSxyLHQsaTtuPW58fHdpbmRvdy5ldmVudHx8IiI7aWYo
biYmKHR5cGVvZiBuLndoaWNoIT0ibnVtYmVyInx8bi53aGljaD09MSkpZm9yKHU9
WyJJTlBVVCIsIkJVVFRPTiJdLHI9MDtyPHUubGVuZ3RoO3IrKyl7dD10aGlzLmRj
c0V2dChuLHVbcl0pLGk9dC50eXBlfHwiIjtpZihpJiYoaT09InN1Ym1pdCJ8fGk9
PSJpbWFnZSJ8fGk9PSJidXR0b24ifHxpPT0icmVzZXQiKXx8aT09InRleHQiJiYo
bi53aGljaHx8bi5rZXlDb2RlKT09MTMpaWYoIXRoaXMuZGNzTVNMaW5rVHJhY2tF
eGNlcHRpb24odCkpe3ZhciBmPSIiLGU9IiIsbz0wO3QuZm9ybT8oZj10LmZvcm0u
YWN0aW9ufHx3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsZT10LmZvcm0uaWR8fHQu
Zm9ybS5uYW1lfHx0LmZvcm0uY2xhc3NOYW1lfHwiVW5rbm93biIsbz10LmZvcm0u
bWV0aG9kJiZ0LmZvcm0ubWV0aG9kLnRvTG93ZXJDYXNlKCk9PSJwb3N0Ij8iMjci
OiIyNiIpOihmPXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSxlPXQubmFtZXx8dC5p
ZHx8IlVua25vd24iLG89dVtyXS50b0xvd2VyQ2FzZSgpPT0iaW5wdXQiPyIyOCI6
IjI5IiksZiYmZSYmbi5rZXlDb2RlIT05JiZ0aGlzLmRjc011bHRpVHJhY2soIkRD
Uy5kY3N1cmkiLGYsIldULnRpIiwiRm9ybUJ1dHRvbjoiK2UsIldULmRsIiwxLCJX
VC5udiIsdGhpcy5kY3NOYXZpZ2F0aW9uKG4pLCJEQ1NleHQud3ROYXZpZ2F0aW9u
Iix0aGlzLmRjc05hdmlnYXRpb24obikpLHRoaXMuV1QudGk9dGhpcy5XVC5kbD10
aGlzLldULm52PSIiO2JyZWFrfX19LFdlYlRyZW5kcy5wcm90b3R5cGUuZGNzRXZp
PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxyPXQuZXZpLGk9ci5xcCxuPXQuZGNzR2V0
Q29va2llKHIuY29va2llKTtuJiYoci5jcnVtYi5sZW5ndGg+MCYmci5zZXAubGVu
Z3RoPjAmJihuPXQuZGNzR2V0Q3J1bWIobixyLmNydW1iLHIuc2VwKSksbiYmKGku
aW5kZXhPZigiV1QuIik9PTA/dC5XVFtpLnN1YnN0cmluZygzKV09bjppLmluZGV4
T2YoIkRDUy4iKT09MD90LkRDU1tpLnN1YnN0cmluZyg0KV09bjppLmluZGV4T2Yo
IkRDU2V4dC4iKT09MD90LkRDU2V4dFtpLnN1YnN0cmluZyg3KV09bjp0LkRDU2V4
dFtpXT1uKSl9LFdlYlRyZW5kcy5wcm90b3R5cGUuZGNzQWR2PWZ1bmN0aW9uKCl7
dGhpcy50cmFja2V2ZW50cyYmdHlwZW9mIHRoaXMuZGNzRVQ9PSJmdW5jdGlvbiIm
Jih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcj93aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsdGhpcy5kY3NFVC53dGJpbmQodGhpcyksITEpOndpbmRvdy5hdHRh
Y2hFdmVudCYmd2luZG93LmF0dGFjaEV2ZW50KCJvbmxvYWQiLHRoaXMuZGNzRVQu
d3RiaW5kKHRoaXMpKSksdGhpcy5kY3NGUEMoKSx0aGlzLmRjc0V2aSgpLHRoaXMu
ZGNzTVNOdnIoKX0sV2ViVHJlbmRzLnByb3RvdHlwZS5kY3NWYXI9ZnVuY3Rpb24o
KXt2YXIgdT1uZXcgRGF0ZSxuPXRoaXMuV1QsdD10aGlzLkRDUyxlLHIsbyxzLGgs
ZixpO24udHo9cGFyc2VJbnQodS5nZXRUaW1lem9uZU9mZnNldCgpLy02MCl8fCIw
IixuLmJoPXUuZ2V0SG91cnMoKXx8IjAiLG4udWw9bmF2aWdhdG9yLmFwcE5hbWU9
PSJOZXRzY2FwZSI/bmF2aWdhdG9yLmxhbmd1YWdlOm5hdmlnYXRvci51c2VyTGFu
Z3VhZ2UsdHlwZW9mIHNjcmVlbj09Im9iamVjdCImJihuLmNkPW5hdmlnYXRvci5h
cHBOYW1lPT0iTmV0c2NhcGUiP3NjcmVlbi5waXhlbERlcHRoOnNjcmVlbi5jb2xv
ckRlcHRoLG4uc3I9c2NyZWVuLndpZHRoKyJ4IitzY3JlZW4uaGVpZ2h0KSx0eXBl
b2YgbmF2aWdhdG9yLmphdmFFbmFibGVkKCk9PSJib29sZWFuIiYmKG4uam89bmF2
aWdhdG9yLmphdmFFbmFibGVkKCk/IlllcyI6Ik5vIiksZG9jdW1lbnQudGl0bGUm
Jih3aW5kb3cuUmVnRXhwPyhlPW5ldyBSZWdFeHAoIl4iK3dpbmRvdy5sb2NhdGlv
bi5wcm90b2NvbCsiLy8iK3dpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSsiXFxzLVxc
cyIpLG4udGk9ZG9jdW1lbnQudGl0bGUucmVwbGFjZShlLCIiKSk6bi50aT1kb2N1
bWVudC50aXRsZSksbi5qcz0iWWVzIixuLmp2PWZ1bmN0aW9uKCl7dmFyIG49bmF2
aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLGk9cGFyc2VJbnQobmF2aWdh
dG9yLmFwcFZlcnNpb24pLGQ9bi5pbmRleE9mKCJtYWMiKSE9LTEsdT1uLmluZGV4
T2YoImZpcmVmb3giKSE9LTEsZj1uLmluZGV4T2YoImZpcmVmb3gvMC4iKSE9LTEs
ZT1uLmluZGV4T2YoImZpcmVmb3gvMS4wIikhPS0xLG89bi5pbmRleE9mKCJmaXJl
Zm94LzEuNSIpIT0tMSxzPW4uaW5kZXhPZigiZmlyZWZveC8yLjAiKSE9LTEsYj11
JiYhZiYmIWUmIW8mIXMscj0hdSYmbi5pbmRleE9mKCJtb3ppbGxhIikhPS0xJiZu
LmluZGV4T2YoImNvbXBhdGlibGUiKT09LTEscD1yJiZpPT00LGs9ciYmaT49NSxs
PW4uaW5kZXhPZigibXNpZSIpIT0tMSYmbi5pbmRleE9mKCJvcGVyYSIpPT0tMSxh
PWwmJmk9PTQmJm4uaW5kZXhPZigibXNpZSA0IikhPS0xLHY9bCYmIWEseT1uLmlu
ZGV4T2YoIm9wZXJhIikhPS0xLGM9bi5pbmRleE9mKCJvcGVyYSA1IikhPS0xfHxu
LmluZGV4T2YoIm9wZXJhLzUiKSE9LTEsaD1uLmluZGV4T2YoIm9wZXJhIDYiKSE9
LTF8fG4uaW5kZXhPZigib3BlcmEvNiIpIT0tMSx3PXkmJiFjJiYhaCx0PSIxLjEi
O3JldHVybiBiP3Q9IjEuOCI6cz90PSIxLjciOm8/dD0iMS42IjpmfHxlfHxrfHx3
P3Q9IjEuNSI6ZCYmdnx8aD90PSIxLjQiOnZ8fHB8fGM/dD0iMS4zIjphJiYodD0i
MS4yIiksdH0oKSxuLmN0PSJ1bmtub3duIjtpZihkb2N1bWVudC5ib2R5JiZkb2N1
bWVudC5ib2R5LmFkZEJlaGF2aW9yKXRyeXtkb2N1bWVudC5ib2R5LmFkZEJlaGF2
aW9yKCIjZGVmYXVsdCNjbGllbnRDYXBzIiksbi5jdD1kb2N1bWVudC5ib2R5LmNv
bm5lY3Rpb25UeXBlfHwidW5rbm93biIsZG9jdW1lbnQuYm9keS5hZGRCZWhhdmlv
cigiI2RlZmF1bHQjaG9tZVBhZ2UiKSxuLmhwPWRvY3VtZW50LmJvZHkuaXNIb21l
UGFnZShsb2NhdGlvbi5ocmVmKT8iMSI6IjAifWNhdGNoKGMpe31uLmJzPWRvY3Vt
ZW50LmFsbD9kb2N1bWVudC5ib2R5P2RvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGgr
IngiK2RvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0OiJ1bmtub3duIjp3aW5kb3cu
aW5uZXJXaWR0aCsieCIrd2luZG93LmlubmVySGVpZ2h0LG4uZnY9ZnVuY3Rpb24o
KXt2YXIgbix0O2lmKHdpbmRvdy5BY3RpdmVYT2JqZWN0KWZvcihuPTEwO24+MDtu
LS0pdHJ5e3JldHVybiB0PW5ldyBBY3RpdmVYT2JqZWN0KCJTaG9ja3dhdmVGbGFz
aC5TaG9ja3dhdmVGbGFzaC4iK24pLG4rIi4wIn1jYXRjaChpKXt9ZWxzZSBpZihu
YXZpZ2F0b3IucGx1Z2lucyYmbmF2aWdhdG9yLnBsdWdpbnMubGVuZ3RoKWZvcihu
PTA7bjxuYXZpZ2F0b3IucGx1Z2lucy5sZW5ndGg7bisrKWlmKG5hdmlnYXRvci5w
bHVnaW5zW25dLm5hbWUuaW5kZXhPZigiU2hvY2t3YXZlIEZsYXNoIikhPS0xKXJl
dHVybiBuYXZpZ2F0b3IucGx1Z2luc1tuXS5kZXNjcmlwdGlvbi5zcGxpdCgiICIp
WzJdO3JldHVybiJOb3QgZW5hYmxlZCJ9KCksbi5zbHY9ZnVuY3Rpb24oKXt2YXIg
bj0iTm90IGVuYWJsZWQiLHUsdCxpLHI7dHJ5e25hdmlnYXRvci51c2VyQWdlbnQu
aW5kZXhPZigiTVNJRSIpIT0tMT8odT1uZXcgQWN0aXZlWE9iamVjdCgiQWdDb250
cm9sLkFnQ29udHJvbCIpLHUmJihuPSJVbmtub3duIikpOm5hdmlnYXRvci5wbHVn
aW5zWyJTaWx2ZXJsaWdodCBQbHVnLUluIl0mJihuPSJVbmtub3duIil9Y2F0Y2go
Zil7fWlmKG4hPSJOb3QgZW5hYmxlZCIpaWYodHlwZW9mIFNpbHZlcmxpZ2h0PT0i
b2JqZWN0IiYmdHlwZW9mIFNpbHZlcmxpZ2h0LmlzSW5zdGFsbGVkPT0iZnVuY3Rp
b24iKWZvcih0PTU7dD4wO3QtLSl7Zm9yKGk9OTtpPj0wO2ktLSl7cj10KyIuIitp
O2lmKFNpbHZlcmxpZ2h0LmlzSW5zdGFsbGVkKHIpKXtuPXI7YnJlYWt9fWlmKG49
PXIpYnJlYWt9cmV0dXJuIG59KCksdGhpcy5pMThuJiYobi5sZT10eXBlb2YgZG9j
dW1lbnQuZGVmYXVsdENoYXJzZXQ9PSJzdHJpbmciP2RvY3VtZW50LmRlZmF1bHRD
aGFyc2V0OnR5cGVvZiBkb2N1bWVudC5jaGFyYWN0ZXJTZXQ9PSJzdHJpbmciP2Rv
Y3VtZW50LmNoYXJhY3RlclNldDoidW5rbm93biIpLG4udHY9IjguNi4yIixuLmRs
PSIwIixuLnNzbD13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wuaW5kZXhPZigiaHR0
cHM6Iik9PTA/IjEiOiIwIix0LmRjc2RhdD11LmdldFRpbWUoKSx0LmRjc3NpcD13
aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsdC5kY3N1cmk9d2luZG93LmxvY2F0aW9u
LnBhdGhuYW1lLG4uZXM9dC5kY3NzaXArdC5kY3N1cmk7aWYod2luZG93LmxvY2F0
aW9uLnNlYXJjaCl7dC5kY3Nxcnk9d2luZG93LmxvY2F0aW9uLnNlYXJjaDtpZih0
aGlzLnFwLmxlbmd0aD4wKWZvcihpPTA7aTx0aGlzLnFwLmxlbmd0aDtpKyspcj10
LmRjc3FyeS5pbmRleE9mKHRoaXMucXBbaV0pLHIhPS0xJiYobz10LmRjc3FyeS5z
dWJzdHJpbmcoMCxyKSxzPXQuZGNzcXJ5LnN1YnN0cmluZyhyK3RoaXMucXBbaV0u
bGVuZ3RoLHQuZGNzcXJ5Lmxlbmd0aCksdC5kY3Nxcnk9bytzKX1pZih0LmRjc3Fy
eSlmb3IoaD10LmRjc3FyeS50b0xvd2VyQ2FzZSgpLGY9dGhpcy5wYWlkc2VhcmNo
cGFyYW1zLmxlbmd0aD90aGlzLnBhaWRzZWFyY2hwYXJhbXMudG9Mb3dlckNhc2Uo
KS5zcGxpdCgiLCIpOltdLGk9MDtpPGYubGVuZ3RoO2krKylpZihoLmluZGV4T2Yo
ZltpXSsiPSIpIT0tMSl7bi5zcmNoPSIxIjticmVha313aW5kb3cuZG9jdW1lbnQu
cmVmZXJyZXIhPSIiJiZ3aW5kb3cuZG9jdW1lbnQucmVmZXJyZXIhPSItIiYmKG5h
dmlnYXRvci5hcHBOYW1lPT0iTWljcm9zb2Z0IEludGVybmV0IEV4cGxvcmVyIiYm
cGFyc2VJbnQobmF2aWdhdG9yLmFwcFZlcnNpb24pPDR8fCh0LmRjc3JlZj13aW5k
b3cuZG9jdW1lbnQucmVmZXJyZXIpKX0sV2ViVHJlbmRzLnByb3RvdHlwZS5kY3NF
c2NhcGU9ZnVuY3Rpb24obix0KXtpZih0eXBlb2YgbiE9InVuZGVmaW5lZCIpe2lm
KHQhPSIiKXtuPW4udG9TdHJpbmcoKTtmb3IodmFyIGkgaW4gdCl0W2ldaW5zdGFu
Y2VvZiBSZWdFeHAmJihuPW4ucmVwbGFjZSh0W2ldLGkpKTtyZXR1cm4gbn1yZXR1
cm4gZXNjYXBlKG4pfX0sV2ViVHJlbmRzLnByb3RvdHlwZS5kY3NBPWZ1bmN0aW9u
KG4sdCl7dmFyIHIsZSxpLHUsZixvLHM7aWYodGhpcy5pMThuJiZ0aGlzLmV4cmUh
PSIiJiYhdGhpcy5leHJlLnRlc3Qobikpe2lmKG49PSJkY3NxcnkiKXtmb3Iocj0i
IixlPXQuc3Vic3RyaW5nKDEpLnNwbGl0KCImIiksaT0wO2k8ZS5sZW5ndGg7aSsr
KXU9ZVtpXSxmPXUuaW5kZXhPZigiPSIpLGYhPS0xJiYobz11LnN1YnN0cmluZygw
LGYpLHM9dS5zdWJzdHJpbmcoZisxKSxpIT0wJiYocis9IiUyNiIpLHIrPW8rIj0i
K3RoaXMuZGNzRW5jb2RlKHMpKTt0PXQuc3Vic3RyaW5nKDAsMSkrcn1lbHNlIHQ9
dGhpcy5kY3NFbmNvZGUodCk7cmV0dXJuIiYiK24rIj0iK3R9cmV0dXJuIiYiK24r
Ij0iK3RoaXMuZGNzRXNjYXBlKHQsdGhpcy5yZSl9LFdlYlRyZW5kcy5wcm90b3R5
cGUuZGNzRW5jb2RlPWZ1bmN0aW9uKG4pe2lmKHR5cGVvZiBuIT0idW5kZWZpbmVk
IilyZXR1cm4gdHlwZW9mIGVuY29kZVVSSUNvbXBvbmVudD09ImZ1bmN0aW9uIj9l
bmNvZGVVUklDb21wb25lbnQobik6ZXNjYXBlKG4pfSxXZWJUcmVuZHMucHJvdG90
eXBlLmRjc0NyZWF0ZUltYWdlPWZ1bmN0aW9uKG4pe2RvY3VtZW50LmltYWdlcz8o
dGhpcy5pbWFnZXNbdGhpcy5pbmRleF09bmV3IEltYWdlLHRoaXMuaW1hZ2VzW3Ro
aXMuaW5kZXhdLnNyYz1uLHRoaXMuaW5kZXgrKyk6ZG9jdW1lbnQud3JpdGUoJzxJ
TUcgQUxUPSIiIEJPUkRFUj0iMCIgTkFNRT0iRENTSU1HIiBXSURUSD0iMSIgSEVJ
R0hUPSIxIiBTUkM9IicrbisnIj4nKX0sV2ViVHJlbmRzLnByb3RvdHlwZS5kY3NN
ZXRhPWZ1bmN0aW9uKCl7dmFyIHQsdSxpO2RvY3VtZW50LmFsbD90PWRvY3VtZW50
LmFsbC50YWdzKCJtZXRhIik6ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiYodD1k
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgibWV0YSIpKTtpZih0eXBlb2Yg
dCE9InVuZGVmaW5lZCIpZm9yKHU9dC5sZW5ndGgsaT0wO2k8dTtpKyspe3ZhciBu
PXQuaXRlbShpKS5uYW1lLHI9dC5pdGVtKGkpLmNvbnRlbnQsZj10Lml0ZW0oaSku
aHR0cEVxdWl2O24ubGVuZ3RoPjAmJihuLnRvVXBwZXJDYXNlKCkuaW5kZXhPZigi
V1QuIik9PTA/dGhpcy5XVFtuLnN1YnN0cmluZygzKV09cjpuLnRvVXBwZXJDYXNl
KCkuaW5kZXhPZigiRENTRVhULiIpPT0wP3RoaXMuRENTZXh0W24uc3Vic3RyaW5n
KDcpXT1yOm4udG9VcHBlckNhc2UoKS5pbmRleE9mKCJEQ1NESVIuIik9PTA/dGhp
cy5EQ1NkaXJbbi5zdWJzdHJpbmcoNyldPXI6bi50b1VwcGVyQ2FzZSgpLmluZGV4
T2YoIkRDUy4iKT09MCYmKHRoaXMuRENTW24uc3Vic3RyaW5nKDQpXT1yKSl9dGhp
cy5kY3NNU1ZhcigpfSxXZWJUcmVuZHMucHJvdG90eXBlLmRjc1RhZz1mdW5jdGlv
bigpe3ZhciBuLHMsZSxyO2lmKGRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJXVExP
UFRPVVQ9IikhPS0xKXJldHVybjt2YXIgdD10aGlzLldULHU9dGhpcy5EQ1MsZj10
aGlzLkRDU2V4dCxvPXRoaXMuaTE4bixpPSJodHRwIisod2luZG93LmxvY2F0aW9u
LnByb3RvY29sLmluZGV4T2YoImh0dHBzOiIpPT0wPyJzIjoiIikrIjovLyIrdGhp
cy5kb21haW4rKHRoaXMuZGNzaWQ9PSIiPyIiOiIvIit0aGlzLmRjc2lkKSsiL2Rj
cy5naWY/IjtvJiYodC5kZXA9IiIpO2ZvcihuIGluIHUpdVtuXSYmdHlwZW9mIHVb
bl0hPSJmdW5jdGlvbiImJihpKz10aGlzLmRjc0Eobix1W25dKSk7Zm9yKHM9WyJj
b19mIiwidnRpZCIsInZ0dnMiLCJ2dF9mX3RsdiJdLGU9MDtlPHMubGVuZ3RoO2Ur
KylyPXNbZV0sdFtyXSYmKGkrPXRoaXMuZGNzQSgiV1QuIityLHRbcl0pLGRlbGV0
ZSB0W3JdKTtmb3IobiBpbiB0KXRbbl0mJnR5cGVvZiB0W25dIT0iZnVuY3Rpb24i
JiYoaSs9dGhpcy5kY3NBKCJXVC4iK24sdFtuXSkpO2ZvcihuIGluIGYpZltuXSYm
dHlwZW9mIGZbbl0hPSJmdW5jdGlvbiImJihvJiYodC5kZXA9dC5kZXAubGVuZ3Ro
PT0wP246dC5kZXArIjsiK24pLGkrPXRoaXMuZGNzQShuLGZbbl0pKTtvJiZ0LmRl
cC5sZW5ndGg+MCYmKGkrPXRoaXMuZGNzQSgiV1QuZGVwIix0LmRlcCkpLGkubGVu
Z3RoPjIwNDgmJm5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiTVNJRSIpPj0w
JiYoaT1pLnN1YnN0cmluZygwLDIwNDApKyImV1QudHU9MSIpLHRoaXMuZGNzQ3Jl
YXRlSW1hZ2UoaSksdGhpcy5XVC5hZD0iIix0aGlzLmRjc01TU3BsaXRUYWcoaSks
dGhpcy5kY3NNU0NsZWFyVmFycygpfSxXZWJUcmVuZHMucHJvdG90eXBlLmRjc0Rl
YnVnPWZ1bmN0aW9uKCl7dmFyIG49dGhpcyxyPW4uaW1hZ2VzWzBdLnNyYyx1PXIu
aW5kZXhPZigiPyIpLGk9ci5zdWJzdHJpbmcoMCx1KS5zcGxpdCgiLyIpLHQ9Ijxi
PlByb3RvY29sPC9iPjxicj48Y29kZT4iK2lbMF0rIjxicj48L2NvZGU+Ijt0Kz0i
PGI+RG9tYWluPC9iPjxicj48Y29kZT4iK2lbMl0rIjxicj48L2NvZGU+Iix0Kz0i
PGI+UGF0aDwvYj48YnI+PGNvZGU+LyIraVszXSsiLyIraVs0XSsiPGJyPjwvY29k
ZT4iLHQrPSI8Yj5RdWVyeSBQYXJhbXM8L2I+PGNvZGU+IityLnN1YnN0cmluZyh1
KzEpLnJlcGxhY2UoL1wmL2csIjxicj4iKSsiPC9jb2RlPiIsdCs9Ijxicj48Yj5D
b29raWVzPC9iPjxicj48Y29kZT4iK2RvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC9c
Oy9nLCI8YnI+IikrIjwvY29kZT4iLG4udyYmIW4udy5jbG9zZWQmJm4udy5jbG9z
ZSgpLG4udz13aW5kb3cub3BlbigiIiwiZGNzRGVidWciLCJ3aWR0aD01MDAsaGVp
Z2h0PTY1MCxzY3JvbGxiYXJzPXllcyxyZXNpemFibGU9eWVzIiksbi53LmRvY3Vt
ZW50LndyaXRlKHQpLG4udy5mb2N1cygpfSxXZWJUcmVuZHMucHJvdG90eXBlLmRj
c0NvbGxlY3Q9ZnVuY3Rpb24oKXt0aGlzLmVuYWJsZWQmJih0aGlzLmRjc1Zhcigp
LHRoaXMuZGNzTWV0YSgpLHRoaXMuZGNzQWR2KCkpfSxGdW5jdGlvbi5wcm90b3R5
cGUud3RiaW5kPWZ1bmN0aW9uKG4pe3ZhciB0PXRoaXM7cmV0dXJuIGZ1bmN0aW9u
KCl7cmV0dXJuIHQuYXBwbHkobixhcmd1bWVudHMpfX0sV2ViVHJlbmRzLnByb3Rv
dHlwZS5kY3NNU1Zhcj1mdW5jdGlvbigpe3RoaXMuRENTZXh0Lnd0RXZ0U3JjPXR5
cGVvZiB0aGlzLkRDU2Rpci5SZWZlcnJlckFzVVJJIT0idW5kZWZpbmVkIiYmdGhp
cy5EQ1NkaXIuUmVmZXJyZXJBc1VSSSYmdHlwZW9mIHRoaXMuRENTLmRjc3JlZiE9
InVuZGVmaW5lZCImJnRoaXMuRENTLmRjc3JlZj90aGlzLkRDUy5kY3NyZWYubWF0
Y2goLyg/Olx3KzpcL1wvKT8oW14/XHNdKylcPz8vKVsxXTp0aGlzLkRDUy5kY3Nz
aXArdGhpcy5EQ1MuZGNzdXJpLHR5cGVvZiB0aGlzLldULnNwIT0idW5kZWZpbmVk
IiYmKHRoaXMuV1Quc3Zfc3A9dGhpcy5XVC5zcCksdHlwZW9mIHRoaXMuV1Quel9n
VHJhY2tFeGNlcHRpb25zIT0idW5kZWZpbmVkIiYmKHRoaXMuRENTZGlyLmdUcmFj
a0V4Y2VwdGlvbnM9dGhpcy5XVC56X2dUcmFja0V4Y2VwdGlvbnMpLHRoaXMuRENT
ZXh0Lnd0RHJpbGxEaXI9dGhpcy5kY3NNU0RyaWxsRGlyKCk7dHJ5e2lmKG5hdmln
YXRvci51c2VyQWdlbnQuaW5kZXhPZigiTVNJRSIpIT0tMSl7dmFyIG49bmV3IEFj
dGl2ZVhPYmplY3QoIkFnQ29udHJvbC5BZ0NvbnRyb2wiKTtuJiYodGhpcy5XVC5z
bGk9Ikluc3RhbGxlZCIpfWVsc2UgbmF2aWdhdG9yLnBsdWdpbnNbIlNpbHZlcmxp
Z2h0IFBsdWctSW4iXSYmKHRoaXMuV1Quc2xpPSJJbnN0YWxsZWQiKX1jYXRjaCh0
KXt9dGhpcy5XVC5zbGk9dGhpcy5XVC5zbGl8fCJOb3QgSW5zdGFsbGVkIix0aGlz
LldULnpfbG9jYWxlPXRoaXMuZGNzTVNMb2NhbGVTY3JhcGUoKSx0aGlzLmRjc0dl
dENvb2tpZSgiTUMxIikhPW51bGwmJih0aGlzLldULmRjc3ZpZD10aGlzLmRjc0dl
dENydW1iKHRoaXMuZGNzR2V0Q29va2llKCJNQzEiKSwiR1VJRCIsIiYiKSksdGhp
cy5XVC56X2Fub25pZD10aGlzLmRjc01TR2V0Q3J1bWIoIkEiLCJJIiwiJiIpLHRo
aXMuV1Quel9yaW9pZD10eXBlb2Ygd3RfR2V0Q3VycmVudENlbGxDb2RlIT0idW5k
ZWZpbmVkIj93dF9HZXRDdXJyZW50Q2VsbENvZGUoKTp0aGlzLmRjc0dldENvb2tp
ZSgiUiIpLHRoaXMuV1Quel9tc3Jlc2VhcmNoX3U9dGhpcy5kY3NNU21zcmVzZWFy
Y2hSZWFkKCJ1c2VyaWQiKSx0aGlzLldULnpfbXNyZXNlYXJjaF9zPXRoaXMuZGNz
TVNtc3Jlc2VhcmNoUmVhZCgic3VydmV5cyIpLHRoaXMuV1Quel9NVUlEPXRoaXMu
ZGNzR2V0Q29va2llKCJNVUlEIiksdGhpcy5kb21haW4yPXR5cGVvZiB0aGlzLkRD
U2Rpci5PblByZW1pc2VTREMhPSJ1bmRlZmluZWQiP3RoaXMuRENTZGlyLk9uUHJl
bWlzZVNEQzoiIix0aGlzLmRjc2lkMj10eXBlb2YgdGhpcy5EQ1NkaXIuT25QcmVt
aXNlRENTSUQhPSJ1bmRlZmluZWQiP3RoaXMuRENTZGlyLk9uUHJlbWlzZVNEQzp0
aGlzLmRjc2lkLHR5cGVvZiB0aGlzLldULnNwIT0idW5kZWZpbmVkIiYmKHRoaXMu
V1Quc3Zfc3A9dGhpcy5XVC5zcCx0eXBlb2YgdGhpcy5EQ1NleHQud3RfcHQhPSJ1
bmRlZmluZWQiJiYodGhpcy5EQ1NleHQud3Rfc3BwdD10aGlzLldULnNwK3RoaXMu
RENTZXh0Lnd0X3B0LHRoaXMuRENTZXh0Lnd0X3NwcHQ9dGhpcy5EQ1NleHQud3Rf
c3BwdC50b0xvd2VyQ2FzZSgpKSl9LFdlYlRyZW5kcy5wcm90b3R5cGUuZGNzTVNM
b2NhbGVTY3JhcGU9ZnVuY3Rpb24oKXt0aGlzLldULnpfbG9jYWxlPXRoaXMuZGNz
TVNMb2NhbGVGcm9tU3RyaW5nKHRoaXMuV1Quel9sb2NhbGUpO3ZhciBuPXRoaXMu
ZGNzTVNMb2NhbGVGcm9tU3RyaW5nKHRoaXMuRENTLmRjc3VyaSksdD10aGlzLmRj
c01TTG9jYWxlRnJvbVN0cmluZyh0aGlzLkRDUy5kY3NxcnkpLGk9dGhpcy5kY3NN
U0xvY2FsZUZyb21TdHJpbmcodGhpcy5EQ1NleHQud3RfbWFnbG9jYWxlKSxyPXRo
aXMuZGNzTVNMb2NhbGVGcm9tU3RyaW5nKHRoaXMuRENTZXh0Lm9vX3VsKSx1PXRo
aXMuZGNzTVNMb2NhbGVGcm9tU3RyaW5nKHRoaXMuRENTZXh0LmRzcGxjKSxmPXRo
aXMuZGNzTVNMb2NhbGVGcm9tU3RyaW5nKHRoaXMuRENTZXh0Lm1zaW50bF9sb2Nh
bGUpO3JldHVybiB0aGlzLldULnpfbG9jYWxlfHxufHx0fHxpfHxyfHx1fHxmfSxX
ZWJUcmVuZHMucHJvdG90eXBlLmRjc01TTG9jYWxlRnJvbVN0cmluZz1mdW5jdGlv
bihuKXt2YXIgaT0vXGJcd1x3Wy1cLlwvIF9dXHdcd1xiLyxyPS9bLVwuXC8gX10v
LHQ9IiI7cmV0dXJuIGkudGVzdChuKSYmKHQ9bi5tYXRjaChpKSsiIix0PXQucmVw
bGFjZShyLCItIiksdD10LnRvTG93ZXJDYXNlKCkpLHR9LFdlYlRyZW5kcy5wcm90
b3R5cGUuZGNzTVNTcGxpdFRhZz1mdW5jdGlvbihuKXt0eXBlb2YgdGhpcy5kb21h
aW4yIT0idW5kZWZpbmVkIiYmdGhpcy5kb21haW4yIT0iIiYmKG49bi5yZXBsYWNl
KHRoaXMuZG9tYWluLHRoaXMuZG9tYWluMiksbj1uLnJlcGxhY2UodGhpcy5kY3Np
ZCx0aGlzLmRjc2lkMiksdGhpcy5kY3NDcmVhdGVJbWFnZShuKSl9LFdlYlRyZW5k
cy5wcm90b3R5cGUuZGNzTVNDbGVhclZhcnM9ZnVuY3Rpb24oKXt2YXIgbix0O2lm
KHRoaXMuRENTZGlyLkNsZWFyVmFycylmb3Iobj10aGlzLkRDU2Rpci5DbGVhclZh
cnMuc3BsaXQoIiwiKSxuPW4uY29uY2F0KCJXVC56X2VhX25hbWUiLCJXVC56X2Vh
X2FjdGlvbm9mZmVyIiwiV1Quel9lYV90YXJnZXRjYW1wYWlnbiIsIldULm1jX2lk
IiksdD0wO3Q8bi5sZW5ndGg7dCsrKW5bdF0uaW5kZXhPZigiV1QuIik9PTA/dGhp
cy5XVFtuW3RdLnN1YnN0cmluZygzKV09IiI6blt0XS5pbmRleE9mKCJEQ1MuIik9
PTA/dGhpcy5EQ1Nbblt0XS5zdWJzdHJpbmcoNCldPSIiOm5bdF0uaW5kZXhPZigi
RENTZXh0LiIpPT0wJiYodGhpcy5EQ1NleHRbblt0XS5zdWJzdHJpbmcoNyldPSIi
KX0sV2ViVHJlbmRzLnByb3RvdHlwZS5kY3NNU0RyaWxsRGlyPWZ1bmN0aW9uKCl7
dmFyIHU9NSxuPXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zdWJzdHJpbmcod2lu
ZG93LmxvY2F0aW9uLnBhdGhuYW1lLmluZGV4T2YoIi8iKSsxLHdpbmRvdy5sb2Nh
dGlvbi5wYXRobmFtZS5sYXN0SW5kZXhPZigiLyIpKzEpLnRvTG93ZXJDYXNlKCks
aSx0LHI7aWYobj09IiIpbj0iLyI7ZWxzZSBmb3IoaT1uLnNwbGl0KCIvIiksbj0i
Iix0PTE7dDxpLmxlbmd0aCYmdDw9dTt0Kyspe2ZvcihuKz0iLyIscj0wO3I8dDty
Kyspbis9aVtyXSsiLyI7dCE9dSYmdCE9aS5sZW5ndGgtMSYmKG4rPSI7Iil9cmV0
dXJuIG59LFdlYlRyZW5kcy5wcm90b3R5cGUuZGNzTVNMaW5rVHJhY2s9ZnVuY3Rp
b24obil7dmFyIHQscjtuPW58fHdpbmRvdy5ldmVudHx8IiI7aWYobiYmKHR5cGVv
ZiBuLndoaWNoIT0ibnVtYmVyInx8bi53aGljaD09MSkpe3Q9dGhpcy5kY3NFdnQo
biwiQSIpLHI9dGhpcy5kY3NFdnQobiwiSU1HIik7aWYodC5ocmVmJiZ0LnByb3Rv
Y29sJiZ0LnByb3RvY29sLmluZGV4T2YoImh0dHAiKSE9LTEmJiF0aGlzLmRjc01T
TGlua1RyYWNrRXhjZXB0aW9uKHQpKXtuYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRl
eE9mKCJNU0lFIik9PS0xJiYodC5vbmNsaWNrfHx0Lm9ubW91c2Vkb3duKSYmdGhp
cy5kY3NNU1NldFZhckNhcCh0KTt2YXIgdT10Lmhvc3RuYW1lP3QuaG9zdG5hbWUu
c3BsaXQoIjoiKVswXToiIixmPXQuc2VhcmNoP3Quc2VhcmNoLnN1YnN0cmluZyh0
LnNlYXJjaC5pbmRleE9mKCI/IikrMSx0LnNlYXJjaC5sZW5ndGgpOiIiLGU9dC5w
YXRobmFtZT90LnBhdGhuYW1lLmluZGV4T2YoIi8iKSE9MD8iLyIrdC5wYXRobmFt
ZTp0LnBhdGhuYW1lOiIvIixpPSIiO2k9ci5hbHQ/ci5hbHQ6ZG9jdW1lbnQuYWxs
P3QudGl0bGV8fHQuaW5uZXJUZXh0fHx0LmlubmVySFRNTHx8IiI6dC50aXRsZXx8
dC50ZXh0fHx0LmlubmVySFRNTHx8IiIsdT10aGlzLkRDUy5zZXR2YXJfZGNzc2lw
fHx1LGU9dGhpcy5EQ1Muc2V0dmFyX2Rjc3VyaXx8ZSxmPXRoaXMuRENTLnNldHZh
cl9kY3Nxcnl8fGYsaT10aGlzLldULnNldHZhcl90aXx8aSxpPXRoaXMuZGNzVHJp
bShpKSx0aGlzLldULm1jX2lkPXRoaXMuV1Quc2V0dmFyX21jX2lkfHwiIix0aGlz
LldULnNwPXRoaXMuV1QuYWQ9dGhpcy5EQ1Muc2V0dmFyX2Rjc3VyaT10aGlzLkRD
Uy5zZXR2YXJfZGNzc2lwPXRoaXMuRENTLnNldHZhcl9kY3Nxcnk9dGhpcy5XVC5z
ZXR2YXJfdGk9dGhpcy5XVC5zZXR2YXJfbWNfaWQ9IiIsdC5hdHRyaWJ1dGVzLmdl
dE5hbWVkSXRlbSgiY2lkIikmJih0aGlzLkRDU2V4dC53dF9saW5raWQ9dC5hdHRy
aWJ1dGVzLmdldE5hbWVkSXRlbSgiY2lkIikudmFsdWUpLHRoaXMuZGNzTXVsdGlU
cmFjaygiRENTLmRjc3NpcCIsdSwiRENTLmRjc3VyaSIsZSwiRENTLmRjc3FyeSIs
dGhpcy50cmltb2Zmc2l0ZXBhcmFtcz8iIjpmLCJEQ1MuZGNzcmVmIix3aW5kb3cu
bG9jYXRpb24sIldULnRpIiwiTGluazoiK2ksIldULmRsIiwiMSIsIldULm52Iix0
aGlzLmRjc05hdmlnYXRpb24obiksIkRDU2V4dC53dE5hdmlnYXRpb24iLHRoaXMu
ZGNzTmF2aWdhdGlvbihuKSwiV1Quc3AiLCIiLCJXVC5hZCIsIiIpLHRoaXMuRENT
LmRjc3JlZj10aGlzLldULnRpPXRoaXMuV1QuZGw9dGhpcy5XVC5udj0iIn19fSxX
ZWJUcmVuZHMucHJvdG90eXBlLmRjc01TSW1hZ2VNYXA9ZnVuY3Rpb24obil7dmFy
IHQscjtuPW58fHdpbmRvdy5ldmVudHx8IiI7aWYobiYmKHR5cGVvZiBuLndoaWNo
IT0ibnVtYmVyInx8bi53aGljaD09MSkpe3Q9dGhpcy5kY3NFdnQobiwiQVJFQSIp
LHI9dGhpcy5kY3NFdnQobiwiSU1HIik7aWYodC5ocmVmJiZ0LnByb3RvY29sJiZ0
LnByb3RvY29sLmluZGV4T2YoImh0dHAiKSE9LTEmJiF0aGlzLmRjc01TTGlua1Ry
YWNrRXhjZXB0aW9uKHQpKXtuYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCJN
U0lFIik9PS0xJiYodC5vbmNsaWNrfHx0Lm9ubW91c2Vkb3duKSYmdGhpcy5kY3NN
U1NldFZhckNhcCh0KTt2YXIgdT10Lmhvc3RuYW1lP3QuaG9zdG5hbWUuc3BsaXQo
IjoiKVswXToiIixmPXQuc2VhcmNoP3Quc2VhcmNoLnN1YnN0cmluZyh0LnNlYXJj
aC5pbmRleE9mKCI/IikrMSx0LnNlYXJjaC5sZW5ndGgpOiIiLGU9dC5wYXRobmFt
ZT90LnBhdGhuYW1lLmluZGV4T2YoIi8iKSE9MD8iLyIrdC5wYXRobmFtZTp0LnBh
dGhuYW1lOiIvIixpPSIiO2k9ci5hbHQ/ci5hbHQ6ZG9jdW1lbnQuYWxsP3QudGl0
bGV8fHQuaW5uZXJUZXh0fHx0LmlubmVySFRNTHx8IiI6dC50aXRsZXx8dC50ZXh0
fHx0LmlubmVySFRNTHx8IiIsdT10aGlzLkRDUy5zZXR2YXJfZGNzc2lwfHx1LGU9
dGhpcy5EQ1Muc2V0dmFyX2Rjc3VyaXx8ZSxmPXRoaXMuRENTLnNldHZhcl9kY3Nx
cnl8fGYsaT10aGlzLldULnNldHZhcl90aXx8aSxpPXRoaXMuZGNzVHJpbShpKSx0
aGlzLldULm1jX2lkPXRoaXMuV1Quc2V0dmFyX21jX2lkfHwiIix0aGlzLldULnNw
PXRoaXMuV1QuYWQ9dGhpcy5EQ1Muc2V0dmFyX2Rjc3VyaT10aGlzLkRDUy5zZXR2
YXJfZGNzc2lwPXRoaXMuRENTLnNldHZhcl9kY3Nxcnk9dGhpcy5XVC5zZXR2YXJf
dGk9dGhpcy5XVC5zZXR2YXJfbWNfaWQ9IiIsdC5hdHRyaWJ1dGVzLmdldE5hbWVk
SXRlbSgiY2lkIikmJih0aGlzLkRDU2V4dC53dF9saW5raWQ9dC5hdHRyaWJ1dGVz
LmdldE5hbWVkSXRlbSgiY2lkIikudmFsdWUpLHRoaXMuZGNzTXVsdGlUcmFjaygi
RENTLmRjc3NpcCIsdSwiRENTLmRjc3VyaSIsZSwiRENTLmRjc3FyeSIsdGhpcy50
cmltb2Zmc2l0ZXBhcmFtcz8iIjpmLCJEQ1MuZGNzcmVmIix3aW5kb3cubG9jYXRp
b24sIldULnRpIiwiSW1nIE1hcDoiK2ksIldULmRsIiwiMSIsIldULm52Iix0aGlz
LmRjc05hdmlnYXRpb24obiksIkRDU2V4dC53dE5hdmlnYXRpb24iLHRoaXMuZGNz
TmF2aWdhdGlvbihuKSwiV1Quc3AiLCIiLCJXVC5hZCIsIiIpLHRoaXMuRENTLmRj
c3JlZj10aGlzLldULnRpPXRoaXMuV1QuZGw9dGhpcy5XVC5udj0iIn19fSxXZWJU
cmVuZHMucHJvdG90eXBlLmRjc01TTGlua1RyYWNrRXhjZXB0aW9uPWZ1bmN0aW9u
KG4pe3ZhciB0LHUsZixpLHI7dHJ5e3Q9MDtpZih0aGlzLkRDU2Rpci5nVHJhY2tF
eGNlcHRpb25zKXt1PXRoaXMuRENTZGlyLmdUcmFja0V4Y2VwdGlvbnMuc3BsaXQo
IiwiKTt3aGlsZSh0IT0xKXtpZihuLnRhZ05hbWUmJm4udGFnTmFtZT09ImJvZHki
KXJldHVybiB0PTEsITE7aWYobi5jbGFzc05hbWUpZm9yKGY9U3RyaW5nKG4uY2xh
c3NOYW1lKS5zcGxpdCgiICIpLGk9MDtpPHUubGVuZ3RoO2krKylmb3Iocj0wO3I8
Zi5sZW5ndGg7cisrKWlmKGZbcl09PXVbaV0pcmV0dXJuIHQ9MSwhMDtuPW4ucGFy
ZW50Tm9kZX19ZWxzZSByZXR1cm4hMX1jYXRjaChlKXt9fSxXZWJUcmVuZHMucHJv
dG90eXBlLmRjc01TU2V0VmFyPWZ1bmN0aW9uKCl7dmFyIHQ9ZGNzU2V0VmFyLmFy
Z3VtZW50cz9kY3NTZXRWYXIuYXJndW1lbnRzOmFyZ3VtZW50cyxuO2lmKHQubGVu
Z3RoJTI9PTApZm9yKG49MDtuPHQubGVuZ3RoO24rPTIpdFtuXS5pbmRleE9mKCJX
VC4iKT09MD90aGlzLmRjc01TU2V0VmFyVmFsaWRhdGUodFtuXSk/dGhpcy5XVFsi
c2V0dmFyXyIrdFtuXS5zdWJzdHJpbmcoMyldPXRbbisxXTp0aGlzLldUW3Rbbl0u
c3Vic3RyaW5nKDMpXT10W24rMV06dFtuXS5pbmRleE9mKCJEQ1MuIik9PTA/dGhp
cy5kY3NNU1NldFZhclZhbGlkYXRlKHRbbl0pP3RoaXMuRENTWyJzZXR2YXJfIit0
W25dLnN1YnN0cmluZyg0KV09dFtuKzFdOnRoaXMuRENTW3Rbbl0uc3Vic3RyaW5n
KDQpXT10W24rMV06dFtuXS5pbmRleE9mKCJEQ1NleHQuIik9PTA/dGhpcy5kY3NN
U1NldFZhclZhbGlkYXRlKHRbbl0pP3RoaXMuRENTZXh0WyJzZXR2YXJfIit0W25d
LnN1YnN0cmluZyg3KV09dFtuKzFdOnRoaXMuRENTZXh0W3Rbbl0uc3Vic3RyaW5n
KDcpXT10W24rMV06dFtuXS5pbmRleE9mKCJEQ1NkaXIuIik9PTAmJih0aGlzLmRj
c01TU2V0VmFyVmFsaWRhdGUodFtuXSk/dGhpcy5EQ1NkaXJbInNldHZhcl8iK3Rb
bl0uc3Vic3RyaW5nKDcpXT10W24rMV06dGhpcy5EQ1NkaXJbdFtuXS5zdWJzdHJp
bmcoNyldPXRbbisxXSl9LFdlYlRyZW5kcy5wcm90b3R5cGUuZGNzTVNTZXRWYXJD
YXA9ZnVuY3Rpb24obil7dmFyIHIsdDtuLm9uY2xpY2s/cj1uLm9uY2xpY2sudG9T
dHJpbmcoKTpuLm9ubW91c2Vkb3duJiYocj1uLm9ubW91c2Vkb3duLnRvU3RyaW5n
KCkpO3ZhciB1PXIuc3Vic3RyaW5nKHIuaW5kZXhPZigiZGNzU2V0VmFyKCIpKzEw
LHIubGVuZ3RoKXx8ci5zdWJzdHJpbmcoci5pbmRleE9mKCJfdGFnLmRjc01TU2V0
VmFyKCIpKzE2LHIubGVuZ3RoKSxmPXUuc3Vic3RyaW5nKDAsdS5pbmRleE9mKCIp
OyIpKS5yZXBsYWNlKC9ccyIvZ2ksIiIpLnJlcGxhY2UoLyIvZ2ksIiIpLGk9Zi5z
cGxpdCgiLCIpO2lmKGkubGVuZ3RoIT0tMSlmb3IodD0wO3Q8aS5sZW5ndGg7dCs9
MilpW3RdLmluZGV4T2YoIldULiIpPT0wP3RoaXMuZGNzTVNTZXRWYXJWYWxpZGF0
ZShpW3RdKT90aGlzLldUWyJzZXR2YXJfIitpW3RdLnN1YnN0cmluZygzKV09aVt0
KzFdOnRoaXMuV1RbaVt0XS5zdWJzdHJpbmcoMyldPWlbdCsxXTppW3RdLmluZGV4
T2YoIkRDUy4iKT09MD90aGlzLmRjc01TU2V0VmFyVmFsaWRhdGUoaVt0XSk/dGhp
cy5EQ1NbInNldHZhcl8iK2lbdF0uc3Vic3RyaW5nKDQpXT1pW3QrMV06dGhpcy5E
Q1NbaVt0XS5zdWJzdHJpbmcoNCldPWlbdCsxXTppW3RdLmluZGV4T2YoIkRDU2V4
dC4iKT09MD90aGlzLmRjc01TU2V0VmFyVmFsaWRhdGUoaVt0XSk/dGhpcy5EQ1Nl
eHRbInNldHZhcl8iK2lbdF0uc3Vic3RyaW5nKDcpXT1pW3QrMV06dGhpcy5EQ1Nl
eHRbaVt0XS5zdWJzdHJpbmcoNyldPWlbdCsxXTppW3RdLmluZGV4T2YoIkRDU2Rp
ci4iKT09MCYmKHRoaXMuZGNzTVNTZXRWYXJWYWxpZGF0ZShpW3RdKT90aGlzLkRD
U2Rpclsic2V0dmFyXyIraVt0XS5zdWJzdHJpbmcoNyldPWlbdCsxXTp0aGlzLkRD
U2RpcltpW3RdLnN1YnN0cmluZyg3KV09aVt0KzFdKX0sV2ViVHJlbmRzLnByb3Rv
dHlwZS5kY3NNU1NldFZhclZhbGlkYXRlPWZ1bmN0aW9uKG4pe2Zvcih2YXIgdD0i
RENTLmRjc3NpcCxEQ1MuZGNzdXJpLERDUy5kY3NxcnksV1QudGksV1QubWNfaWQi
LHQ9dC5zcGxpdCgiLCIpLGk9MDtpPHQubGVuZ3RoO2krKylpZih0W2ldPT1uKXJl
dHVybiAxO3JldHVybiAwfSxXZWJUcmVuZHMucHJvdG90eXBlLmRjc01TTnZyPWZ1
bmN0aW9uKCl7dmFyIHIsZixuO2lmKGRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJX
VExPUFRPVVQ9IikhPS0xKXJldHVybjt2YXIgZT1uZXcgRGF0ZSxvPW5ldyBEYXRl
KGUuZ2V0VGltZSgpKzMxNTM2ZTcpLHQ9e25hbWU6IldUX05WUiIsdmFsdWU6IiIs
ZXhwaXJ5OiI7IGV4cGlyZXM9IitvLnRvR01UU3RyaW5nKCkscGF0aDoiOyBwYXRo
PS8iLGRvbWFpbjoiOyBkb21haW49Iit3aW5kb3cubG9jYXRpb24uaG9zdG5hbWV9
LGk9dGhpcy5kY3NNU052clJlYWQodC5uYW1lKSx1PXRoaXMuZGNzTVNOdnJQcm9j
ZXNzKGkpO2lmKHV8fHRoaXMuZGNzTVNOdnJGaW5kKHQubmFtZSwiLCIpKWZvcihy
PXRoaXMuZGNzTVNOdnJDb21wb3NlKGksdCksbj0wO248ci5sZW5ndGg7bisrKWRv
Y3VtZW50LmNvb2tpZT1yW25dO2lmKHUpZm9yKGY9ZG9jdW1lbnQuY29va2llLmlu
ZGV4T2YodC5uYW1lKyI9IikhPS0xPyIxIjoiMiIsbj0wO248aS5sZW5ndGg7bisr
KWlbbl1bMV0mJih0aGlzLldUWyJ2dF9udnIiKyhuKzEpXT1mKX0sV2ViVHJlbmRz
LnByb3RvdHlwZS5kY3NNU052clJlYWQ9ZnVuY3Rpb24obil7dmFyIHQ9W10sZT0w
LGg9LywvZyx1PXRoaXMuZGNzTVNOdnJHZXRDb29raWUobiksZixpO3doaWxlKHUp
e2ZvcihmPXUuc3BsaXQoIjoiKSxpPTA7aTxmLmxlbmd0aDtpKyspe3ZhciBvPWZb
aV0uc3BsaXQoIj0iKSxyPXBhcnNlSW50KG9bMF0pLHM9b1sxXS5yZXBsYWNlKGgs
InwiKS5zcGxpdCgifCIpO3R5cGVvZiB0W3JdIT0ib2JqZWN0Ij90W3JdPVtzLCEx
XTp0W3JdWzBdPXRbcl1bMF0uY29uY2F0KHMpfWUrKyx1PXRoaXMuZGNzTVNOdnJH
ZXRDb29raWUobitlKX1yZXR1cm4gdH0sV2ViVHJlbmRzLnByb3RvdHlwZS5kY3NN
U052ckZpbmQ9ZnVuY3Rpb24obix0KXt2YXIgcj0hMSx1PTAsaT10aGlzLmRjc01T
TnZyR2V0Q29va2llKG4pO3doaWxlKGkpe2lmKGkuaW5kZXhPZih0KSE9LTEpe3I9
ITA7YnJlYWt9dSsrLGk9dGhpcy5kY3NNU052ckdldENvb2tpZShuK3UpfXJldHVy
biByfSxXZWJUcmVuZHMucHJvdG90eXBlLmRjc01TTnZyR2V0Q29va2llPWZ1bmN0
aW9uKG4pe3ZhciByPWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKG4rIj0iKSxpLHQ7
cmV0dXJuIHIhPS0xPyhpPXIrbi5sZW5ndGgrMSx0PWRvY3VtZW50LmNvb2tpZS5p
bmRleE9mKCI7IixpKSx0PT0tMSYmKHQ9ZG9jdW1lbnQuY29va2llLmxlbmd0aCks
ZG9jdW1lbnQuY29va2llLnN1YnN0cmluZyhpLHQpKTpudWxsfSxXZWJUcmVuZHMu
cHJvdG90eXBlLmRjc01TTnZyUHJvY2Vzcz1mdW5jdGlvbihuKXt2YXIgZj0hMSxs
PTMsaT0wLHU9W10sZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUscj1lLnN1YnN0
cmluZyhlLmluZGV4T2YoIi8iKSsxLGUubGFzdEluZGV4T2YoIi8iKSkudG9Mb3dl
ckNhc2UoKSxjPXsiJTA5IjovXHQvZywiJTIwIjovIC9nLCIlMkMiOi8sL2csIiUz
QiI6LzsvZ30sbz1uZXcgU3RyaW5nKHIpLHMsaCx0O2ZvcihzIGluIGMpbz1vLnJl
cGxhY2UoY1tzXSxzKTtyPW8sci5sZW5ndGg+MSYmKHU9ci5zcGxpdCgiLyIsbCks
aT11Lmxlbmd0aCxyPXUuam9pbigiLyIpKTtpZihuLmxlbmd0aD4wKXtoPSExO2lm
KG4ubGVuZ3RoPmkpe2Zvcih0PTA7dDxuW2ldWzBdLmxlbmd0aDt0KyspaWYobltp
XVswXVt0XT09cil7aD0hMDticmVha31ofHwobltpXVswXVtuW2ldWzBdLmxlbmd0
aF09cixuW2ldWzFdPSEwLGY9ITApfWVsc2V7Zm9yKHQ9MDt0PGkrMTt0KyspdHlw
ZW9mIG5bdF0hPSJvYmplY3QiJiYoblt0XT1bW3Q9PTA/Ii8iOnUuc2xpY2UoMCx0
KS5qb2luKCIvIildLCEwXSk7Zj0hMH19ZWxzZXtmb3IodD0wO3Q8aSsxO3QrKylu
W3RdPVtbdD09MD8iLyI6dS5zbGljZSgwLHQpLmpvaW4oIi8iKV0sITBdO2Y9ITB9
cmV0dXJuIGZ9LFdlYlRyZW5kcy5wcm90b3R5cGUuZGNzTVNOdnJDb21wb3NlPWZ1
bmN0aW9uKG4sdCl7Zm9yKHZhciBzPVtdLGU9W10scj0wLGg9MTAsYz00ZTMsbz0h
MSxmLGksdT0wO3U8bi5sZW5ndGgmJiFvO3UrKylmb3IoZT1uW3VdWzBdLGY9dSsi
PSIsaT0wO2k8ZS5sZW5ndGgmJiFvO2krKylmKz0oaT09MD8iIjoifCIpK2VbaV0s
KHQubmFtZStyKS5sZW5ndGgrdC52YWx1ZS5sZW5ndGgrZi5sZW5ndGgrMT5jP3Qu
dmFsdWUubGVuZ3RoPjAmJihzW3JdPXQubmFtZSsocnx8IiIpKyI9Iit0LnZhbHVl
K3QuZXhwaXJ5K3QucGF0aCt0LmRvbWFpbix0LnZhbHVlPXUrIj0iK2VbaV0sKyty
PmgtMSYmKG89ITApKToodC52YWx1ZS5sZW5ndGg+MCYmaT09MCYmKHQudmFsdWUr
PSI6IiksdC52YWx1ZSs9ZiksZj0iIjtyZXR1cm4gb3x8KHNbcl09dC5uYW1lKyhy
fHwiIikrIj0iK3QudmFsdWUrdC5leHBpcnkrdC5wYXRoK3QuZG9tYWluKSxzfSxX
ZWJUcmVuZHMucHJvdG90eXBlLmRjc01TbXNyZXNlYXJjaFJlYWQ9ZnVuY3Rpb24o
bil7dmFyIHQsaSxyLHU7cmV0dXJuIHQ9dGhpcy5kY3NHZXRDb29raWUoIm1zcmVz
ZWFyY2giKSx0PyhpPWV2YWwoIigiK3QrIikiKSxpW25dKTp2b2lkIDB9LFdlYlRy
ZW5kcy5wcm90b3R5cGUuZGNzTVNHZXRDcnVtYj1mdW5jdGlvbihuLHQsaSl7dmFy
IHI9dGhpcy5kY3NHZXRDb29raWUobiksdSxmO2lmKHIhPW51bGwpe3U9ci5pbmRl
eE9mKHQrIj0iKTtpZih1IT0tMSlyZXR1cm4gZj1yLmluZGV4T2YoaSx1KSxmIT0t
MT9yLnN1YnN0cmluZyh1K3QubGVuZ3RoK2kubGVuZ3RoLGYpOnIuc3Vic3RyaW5n
KHUrdC5sZW5ndGgraS5sZW5ndGgsci5sZW5ndGgpfXJldHVybiBudWxsfSxXZWJU
cmVuZHMucHJvdG90eXBlLmRjc1RyaW09ZnVuY3Rpb24obil7d2hpbGUobi5zdWJz
dHJpbmcoMCwxKT09IiAiKW49bi5zdWJzdHJpbmcoMSxuLmxlbmd0aCk7d2hpbGUo
bi5zdWJzdHJpbmcobi5sZW5ndGgtMSxuLmxlbmd0aCk9PSIgIiluPW4uc3Vic3Ry
aW5nKDAsbi5sZW5ndGgtMSk7cmV0dXJuIG59Ow==

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=ms.js
Content-Type: application/x-javascript; name=ms.js
Content-Location: http://c.microsoft.com/ms.js
Content-Transfer-Encoding: Base64

dmFyIGZsID0gMCwgc2Vzc2lvbklkID0gIiIsIHNlc3Npb25EdXJhdGlvbiA9IDE4
MDAwMDAsIHNlc3Npb25Db29raWVOYW1lID0gIk1DMCIsIHFzID0gIiIsIGltZ0Fy
cmF5ID0gW10sIGltZ0FycmF5SW5kZXggPSAwLCB0eiA9IDQyMCwgY2xpY2tlZEVs
ZW1lbnRzID0gbmV3IEFycmF5KCJBIiwgIklNRyIsICJBUkVBIiwgIklOUFVUIiks
IHNldENvdCA9IDAsIHRyYW5zX3BpeGVsX3VybCA9ICcvL2MubWljcm9zb2Z0LmNv
bS90cmFuc19waXhlbC5hc3B4PycsIGF1dG9GaXJlUFYgPSAwLCBtdWlkQ3JlYXRl
ZCA9IDAsIGNvcmVBdHRyaWJ1dGVzID0gIixzcixicyx0cyx0eixjdHJsLHJvdXRl
LHRpLHNpLHNlLHN2LGZpLGZ2LGNpZCx0cixjbixjdCxjb3QsY3MsY250LGhwLGNk
LHJzZCxyc3VzLHJzcXMscmlocyxyLHBrZXksIiwgY3VzdG9tVGFncyA9ICIiLCBj
bGlja0luZm8gPSAiIiwgY3VzdG9tSW5mbyA9ICcnLCB3Y3MgPSBbXSwgbmEgPSBb
XSwgbXMgPSBbXSwgdnMgPSAzLjU7IGZ1bmN0aW9uIE1zY29tSW5pdCgpIHsgTXNj
b21zZXRFdmVudHMoKTsgd2luZG93LnZhckF1dG9GaXJlUFYgIT0gdW5kZWZpbmVk
ID8gYXV0b0ZpcmVQViA9IHdpbmRvdy52YXJBdXRvRmlyZVBWIDogYXV0b0ZpcmVQ
ViA9IDE7IGlmIChhdXRvRmlyZVBWID09IDEpIHsgTXNjb21TZW5kUGFnZVZpZXco
KHdpbmRvdy52YXJDdXN0b21lclRyYWNraW5nICE9IHVuZGVmaW5lZCAmJiB3aW5k
b3cudmFyQ3VzdG9tZXJUcmFja2luZyA9PSAxID8gMSA6IDApKSB9IGVsc2UgeyBN
c2NvbVNldFNoYXJlZERhdGEoKTsgaWYgKG11aWRDcmVhdGVkICE9IDEpIHsgTXNj
b21HZXRNVUlEKDApIH0gfSB9IGZ1bmN0aW9uIE1zY29tU2VuZFBhZ2VWaWV3KGNy
ZWF0ZU11aWQpIHsgTXNjb21SZXNldEFycmF5cygpOyBNc2NvbVNldFNoYXJlZERh
dGEoMCk7IHdjc1sid2NzLmV0Il0gPSAwOyBpZiAoY3JlYXRlTXVpZCAhPSB1bmRl
ZmluZWQgJiYgY3JlYXRlTXVpZCAhPSAwICYmIG11aWRDcmVhdGVkICE9IDEpIHsg
TXNjb21HZXRNVUlEKDEpIH0gZWxzZSB7IE1zY29tQmVhY29uKCkgfSB9IGZ1bmN0
aW9uIE1zY29tQ3VzdG9tRXZlbnQoKSB7IHRyeSB7IE1zY29tUmVzZXRBcnJheXMo
KTsgTXNjb21TZXRTaGFyZWREYXRhKDUpOyB3Y3NbIndjcy5ldCJdID0gMTsgdmFy
IGxlbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGZvciAodmFyIGkgPSAwOyBpIDwgbGVu
OykgeyB2YXIgYXJndW1lbnRuYW1lID0gYXJndW1lbnRzW2ldLnRvU3RyaW5nKCku
dG9Mb3dlckNhc2UoKTsgdmFyIGFyZ3ZhbHVlOyB2YXIgYXJnbmFtZTsgdmFyIGlu
ZGV4ID0gYXJndW1lbnRuYW1lLmluZGV4T2YoIj0iKTsgaWYgKGluZGV4ID49IDAp
IHsgYXJnbmFtZSA9ICh1bmVzY2FwZShhcmd1bWVudG5hbWUuc3Vic3RyaW5nKDAs
IGluZGV4KSkpOyBhcmd2YWx1ZSA9IHVuZXNjYXBlKGFyZ3VtZW50bmFtZS5zdWJz
dHJpbmcoaW5kZXggKyAxLCBhcmd1bWVudG5hbWUubGVuZ3RoKSk7IGFyZ3ZhbHVl
ID0gKGFyZ3ZhbHVlID09IHVuZGVmaW5lZCA/ICcnIDogYXJndmFsdWUpOyBpZiAo
Y29yZUF0dHJpYnV0ZXMuaW5kZXhPZigiLCIgKyBhcmduYW1lLnRvTG93ZXJDYXNl
KCkgKyAiLCIpID49IDApIHsgd2NzWyJ3Y3MuIiArIGFyZ25hbWUudG9Mb3dlckNh
c2UoKV0gPSAoYXJndmFsdWUgPT0gdW5kZWZpbmVkID8gJycgOiBhcmd2YWx1ZSk7
IGkgPSBpICsgMSB9IGVsc2UgeyBhcmduYW1lLmluZGV4T2YoIm1zLiIpID09IDAg
PyBtc1thcmduYW1lXSA9IGFyZ3ZhbHVlIDogbmFbYXJnbmFtZV0gPSBhcmd2YWx1
ZTsgaSA9IGkgKyAxIH0gfSBlbHNlIHsgYXJnbmFtZSA9IGFyZ3VtZW50c1tpXS50
b1N0cmluZygpOyBhcmd2YWx1ZSA9ICgoYXJndW1lbnRzW2kgKyAxXSA9PSB1bmRl
ZmluZWQpID8gJycgOiBhcmd1bWVudHNbaSArIDFdLnRvU3RyaW5nKCkpOyBhcmdu
YW1lLmluZGV4T2YoIndjcy4iKSA9PSAwID8gd2NzW2FyZ25hbWUudG9Mb3dlckNh
c2UoKV0gPSBhcmd2YWx1ZSA6IChhcmduYW1lLmluZGV4T2YoIm1zLiIpID09IDAg
PyBtc1thcmduYW1lXSA9IGFyZ3ZhbHVlIDogKChjb3JlQXR0cmlidXRlcy5pbmRl
eE9mKCIsIiArIGFyZ25hbWUudG9Mb3dlckNhc2UoKSArICIsIikgPj0gMCkgPyB3
Y3NbIndjcy4iICsgYXJnbmFtZS50b0xvd2VyQ2FzZSgpXSA9IGFyZ3ZhbHVlIDog
bmFbYXJnbmFtZV0gPSBhcmd2YWx1ZSkpOyBpID0gaSArIDIgfSB9IE1zY29tQmVh
Y29uKCkgfSBjYXRjaCAoZSkgeyB9IH0gZnVuY3Rpb24gTXNjb21Qcm9jZXNzQ2xp
Y2soZXZlbnQpIHsgTXNjb21SZXNldEFycmF5cygpOyB3Y3NbIndjcy5ldCJdID0g
MjsgdHJ5IHsgdmFyIGV2dCA9IGV2ZW50IHx8IHdpbmRvdy5ldmVudDsgdmFyIGU7
IGlmIChldnQpIHsgZSA9IGV2dC5zcmNFbGVtZW50IHx8IGV2dC50YXJnZXQ7IHdo
aWxlIChlLnRhZ05hbWUgJiYgKE1zY29tSXNJbkxpc3QoZS50YWdOYW1lKSA9PSAw
KSkgeyBlID0gZS5wYXJlbnRFbGVtZW50IHx8IGUucGFyZW50Tm9kZSB9IH0gdmFy
IHBpaSA9IDA7IGlmIChlICYmIGUudGFnTmFtZSkgeyBzd2l0Y2ggKGUudGFnTmFt
ZSkgeyBjYXNlICJBIjogTXNjb21TZXRTaGFyZWREYXRhKDEpOyBNc2NvbVJlYWRB
bGxUYWdzKGUpOyBwaWkgPSBNc2NvbUlzUElJKGUpOyBpZiAocGlpID09IDApIHsg
dmFyIHRpdGxlOyBpZiAoZG9jdW1lbnQuYWxsKSB7IHRpdGxlID0gZS5pbm5lclRl
eHQgfHwgZS5pbm5lckhUTUwgfSBlbHNlIHsgdGl0bGUgPSBlLnRleHQgfHwgZS5p
bm5lckhUTUwgfTsgd2NzWyJ3Y3MuY24iXSA9IHRpdGxlOyB3Y3NbIndjcy5jaWQi
XSA9IE1zY29tR2V0SWQoZSk7IHdjc1sid2NzLmN0Il0gPSAoKGUuaHJlZikgPyAo
ZS5ocmVmKSA6ICcnKSB9IE1zY29tQmVhY29uKCk7IGJyZWFrOyBjYXNlICJJTUci
OiBNc2NvbVNldFNoYXJlZERhdGEoMik7IE1zY29tUmVhZEFsbFRhZ3MoZSk7IHBp
aSA9IE1zY29tSXNQSUkoZSk7IGlmIChwaWkgPT0gMCkgeyB3Y3NbIndjcy5jbiJd
ID0gKChlLmFsdCkgPyAoZS5hbHQpIDogJycpOyB3Y3NbIndjcy5jaWQiXSA9IE1z
Y29tR2V0SWQoZSk7IHdjc1sid2NzLmN0Il0gPSBNc2NvbUdldEltYWdlSFJFRihl
KSB9IE1zY29tQmVhY29uKCk7IGJyZWFrOyBjYXNlICJBUkVBIjogTXNjb21TZXRT
aGFyZWREYXRhKDMpOyBNc2NvbVJlYWRBbGxUYWdzKGUpOyBwaWkgPSBNc2NvbUlz
UElJKGUpOyBpZiAocGlpID09IDApIHsgd2NzWyJ3Y3MuY24iXSA9ICgoZS5hbHQp
ID8gKGUuYWx0KSA6ICcnKTsgd2NzWyJ3Y3MuY2lkIl0gPSBNc2NvbUdldElkKGUp
OyB3Y3NbIndjcy5jdCJdID0gKChlLmhyZWYpID8gKGUuaHJlZikgOiAnJykgfSBN
c2NvbUJlYWNvbigpOyBicmVhazsgY2FzZSAiSU5QVVQiOiBNc2NvbVNldFNoYXJl
ZERhdGEoNCk7IE1zY29tUmVhZEFsbFRhZ3MoZSk7IHZhciB0eXBlID0gZS50eXBl
IHx8ICIiOyB2YXIgY3R4ID0gIiI7IGlmICh0eXBlICYmICgodHlwZSA9PSAiYnV0
dG9uIiB8fCB0eXBlID09ICJyZXNldCIgfHwgdHlwZSA9PSAic3VibWl0IiB8fCB0
eXBlID09ICJpbWFnZSIpKSB8fCAoKHR5cGUgPT0gInRleHQiKSAmJiAoKGV2dC53
aGljaCB8fCBldnQua2V5Q29kZSkgPT0gMTMpKSkgeyB2YXIgdCA9IGUudmFsdWUg
fHwgZS5uYW1lIHx8IGUuYWx0IHx8IGUuaWQ7IHBpaSA9IE1zY29tSXNQSUkoZSk7
IGlmIChwaWkgPT0gMCkgeyB3Y3NbIndjcy5jbiJdID0gKCh0KSA/ICh0KSA6ICIi
KTsgd2NzWyJ3Y3MuY2lkIl0gPSBNc2NvbUdldElkKGUpIH0gaWYgKGUuZm9ybSkg
eyB3Y3NbIndjcy5jdCJdID0gKGUuZm9ybS5hY3Rpb24pIHx8ICh3aW5kb3cubG9j
YXRpb24ucGF0aG5hbWUpOyB2YXIgZWxlbXMgPSBlLmZvcm0uZWxlbWVudHM7IHZh
ciBuID0gMTsgZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVtcy5sZW5ndGg7IGkrKykg
eyB2YXIgZXR5cGUgPSBlbGVtc1tpXS50eXBlOyBpZiAoZXR5cGUgPT0gInRleHQi
KSB7IHBpaSA9IE1zY29tSXNQSUkoZWxlbXNbaV0pOyBpZiAocGlpID09IDApIHsg
Y3R4ICs9ICImd2NzLnQiICsgbiArICI9IiArIE1zY29tRW5jb2RlKGVsZW1zW2ld
Lm5hbWUgfHwgZWxlbXNbaV0uaWQpICsgIiZ3Y3MudiIgKyBuICsgIj0iICsgTXNj
b21FbmNvZGUoZWxlbXNbaV0udmFsdWUpOyBuKysgfSB9IH0gfSBlbHNlIHsgd2Nz
WyJ3Y3MuY3QiXSA9ICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpIH0gaWYgKGN0
eCAhPSAiIikgeyB3Y3NbIndjcy5jdHgiXSA9IGN0eCB9IGVsc2UgeyB3Y3NbIndj
cy5jdHgiXSA9ICIiIH0gfSBNc2NvbUJlYWNvbigpOyBicmVhazsgZGVmYXVsdDog
YnJlYWsgfSB9IH0gY2F0Y2ggKGUpIHsgfSB9IGZ1bmN0aW9uIE1zY29tQmVhY29u
KCkgeyB0cnkgeyB2YXIgc3JjID0gW107IHNyYy5wdXNoKHdpbmRvdy5sb2NhdGlv
bi5wcm90b2NvbCArIHRyYW5zX3BpeGVsX3VybCk7IE1zY29tSW5pdE1ldGEoKTsg
dmFyIHdjc3ZhbHVlcyA9IE1zY29tR2V0U3RyRnJvbUFycmF5KHdjcyk7IGlmICh3
Y3N2YWx1ZXMuY2hhckF0KDApID09ICImIikgeyB3Y3N2YWx1ZXMgPSB3Y3N2YWx1
ZXMuc3Vic3RyaW5nKDEpIH0gc3JjLnB1c2god2NzdmFsdWVzKTsgc3JjLnB1c2go
TXNjb21HZXRTdHJGcm9tQXJyYXkobXMpKTsgc3JjLnB1c2goTXNjb21HZXRTdHJG
cm9tQXJyYXkobmEpKTsgdmFyIHNyY1N0cmluZyA9IHNyYy5qb2luKCIiKTsgaWYg
KHNyY1N0cmluZy5sZW5ndGggPiAyMDQ4KSB7IHNyY1N0cmluZyA9IHNyY1N0cmlu
Zy5zdWJzdHJpbmcoMCwgMjAzOCkgKyAiJndjcy50cj0xIjsgfSBlbHNlIHsgc3Jj
U3RyaW5nICs9ICImd2NzLnRyPTAiIH0gaWYgKGRvY3VtZW50LmltYWdlcykgeyBp
bWdBcnJheVtpbWdBcnJheUluZGV4XSA9IG5ldyBJbWFnZTsgaW1nQXJyYXlbaW1n
QXJyYXlJbmRleF0uc3JjID0gc3JjU3RyaW5nOyBpbWdBcnJheUluZGV4KysgfSBl
bHNlIHsgZG9jdW1lbnQud3JpdGUoJzxJTUcgQUxUPSIiIEJPUkRFUj0iMCIgTkFN
RT0iYkltZyIgV0lEVEg9IjEiIEhFSUdIVD0iMSIgU1JDPSInICsgc3JjU3RyaW5n
ICsgJyIvPicpIH0gfSBjYXRjaCAoZSkgeyB9IH0gZnVuY3Rpb24gTXNjb21HZXRE
ZWJ1Z1ZhbHVlcygpIHsgd2NzWyJ3Y3MudiJdID0gdnM7IHdpbmRvdy52YXJDdXN0
b21lclRyYWNraW5nICE9IHVuZGVmaW5lZCA/IHdjc1sid2NzLnZjdCJdID0gd2lu
ZG93LnZhckN1c3RvbWVyVHJhY2tpbmcgOiB3Y3NbIndjcy52Y3QiXSA9ICIiOyB3
aW5kb3cudmFyU2VnbWVudGF0aW9uICE9IHVuZGVmaW5lZCA/IHdjc1sid2NzLnZz
Il0gPSB3aW5kb3cudmFyU2VnbWVudGF0aW9uIDogd2NzWyJ3Y3MudnMiXSA9ICIi
OyB3aW5kb3cudmFyQ2xpY2tUcmFja2luZyAhPSB1bmRlZmluZWQgPyB3Y3NbIndj
cy52Y2x0Il0gPSB3aW5kb3cudmFyQ2xpY2tUcmFja2luZyA6IHdjc1sid2NzLnZj
bHQiXSA9ICIiOyB3aW5kb3cudmFyQXV0b0ZpcmVQViAhPSB1bmRlZmluZWQgPyB3
Y3NbIndjcy52ZnB2Il0gPSB3aW5kb3cudmFyQXV0b0ZpcmVQViA6IHdjc1sid2Nz
LnZmcHYiXSA9ICIiIH0gZnVuY3Rpb24gTXNjb21TZXRUaXRsZSgpIHsgd2NzWyJ3
Y3MudGkiXSA9IChkb2N1bWVudC50aXRsZSkgfSBmdW5jdGlvbiBNc2NvbVNldFRp
bWVab25lT2ZmU2V0KCkgeyB2YXIgY3VyckRhdGUgPSBuZXcgRGF0ZSgpOyB0eiA9
IGN1cnJEYXRlLmdldFRpbWV6b25lT2Zmc2V0KCk7IHdjc1sid2NzLnR6Il0gPSAo
dHogLyAoLTYwKSkgfSBmdW5jdGlvbiBNc2NvbVNldFJlZmVycmVyKCkgeyB2YXIg
cmVmID0gKGRvY3VtZW50LnJlZmVycmVyKTsgaWYgKHJlZiAhPSBudWxsICYmIHJl
ZiAhPSAiIikgeyB3Y3NbIndjcy5yIl0gPSByZWY7IH0gfSBmdW5jdGlvbiBNc2Nv
bVNldFRpbWVTdGFtcCgpIHsgdmFyIGN1cnJEYXRlID0gbmV3IERhdGUoKTsgdmFy
IGN1cnJUaW1lID0gY3VyckRhdGUuZ2V0VGltZSgpOyB3Y3NbIndjcy50cyJdID0g
Y3VyclRpbWUudG9TdHJpbmcoKSB9IGZ1bmN0aW9uIE1zY29tU2V0U2NyZWVuUmVz
b2x1dGlvbigpIHsgaWYgKHR5cGVvZiAoc2NyZWVuKSA9PSAib2JqZWN0IikgeyB3
Y3NbIndjcy5zciJdID0gc2NyZWVuLndpZHRoICsgIngiICsgc2NyZWVuLmhlaWdo
dCB9IH0gZnVuY3Rpb24gTXNjb21TZXRDbGlja1N0cmVhbUZsYWcoKSB7IGlmICh3
aW5kb3cudmFyU2VnbWVudGF0aW9uICE9IHVuZGVmaW5lZCAmJiB2YXJTZWdtZW50
YXRpb24gPT0gMSkgeyB3Y3NbIndjcy5jcyJdID0gIjEiOyB9IH0gZnVuY3Rpb24g
TXNjb21SZWFkQWxsVGFncyhvYmopIHsgd2hpbGUgKG9iaiAmJiBvYmogIT0gInVu
ZGVmaW5lZCIpIHsgTXNjb21SZWFkRWxlbWVudFRhZ3Mob2JqKTsgb2JqID0gKG9i
ai5wYXJlbnRFbGVtZW50IHx8IG9iai5wYXJlbnROb2RlKSB9IH0gZnVuY3Rpb24g
TXNjb21TZXRDb3QoY290VmFsdWUpIHsgKGNvdFZhbHVlICE9IHVuZGVmaW5lZCkg
PyAod2NzWyJ3Y3MuY290Il0gPSBjb3RWYWx1ZSkgOiB3Y3NbIndjcy5jb3QiXSA9
ICIiIH0gZnVuY3Rpb24gTXNjb21TZXRTaGFyZWREYXRhKGNvdFZhbHVlKSB7IE1z
Y29tU2V0VGltZVpvbmVPZmZTZXQoKTsgTXNjb21TZXRDb3QoY290VmFsdWUpOyBN
c2NvbVNldFJvdXRlQ3RybCgpOyBNc2NvbVNldFRpbWVTdGFtcCgpOyBNc2NvbVNl
dENvb2tpZURpc2FibGVkRmxhZygpOyBNc2NvbVNldEV2ZW50SWQoKTsgTXNjb21T
ZXRTY3JlZW5SZXNvbHV0aW9uKCk7IE1zY29tR2V0QnJvd3NlclNpemUoKTsgTXNj
b21HZXRTaWx2ZXJMaWdodEluZm8oKTsgTXNjb21HZXRGbGFzaEluZm8oKTsgTXNj
b21HZXRDVHlwZUhwSW5mbygpOyBNc2NvbVNldENsaWNrU3RyZWFtRmxhZygpOyBN
c2NvbUlzSFAoKTsgTXNjb21TZXRSZWZlcnJlcigpOyBNc2NvbVNldFRpdGxlKCk7
IE1zY29tR2V0Q3VycmVudFNEKCk7IE1zY29tR2V0RGVidWdWYWx1ZXMoKSB9IGZ1
bmN0aW9uIE1zY29tR2V0Q3VycmVudFNEKCkgeyB3Y3NbIndjcy5yc2QiXSA9ICh3
aW5kb3cubG9jYXRpb24uaG9zdCk7IGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5h
bWUgIT0gIiIpIHsgd2NzWyJ3Y3MucnN1cyJdID0gKHdpbmRvdy5sb2NhdGlvbi5w
YXRobmFtZSkgfSBlbHNlIHsgd2NzWyJ3Y3MucnN1cyJdID0gIiIgfSBpZiAod2lu
ZG93LmxvY2F0aW9uLnNlYXJjaCAhPSAiIikgeyB3Y3NbIndjcy5yc3FzIl0gPSAo
d2luZG93LmxvY2F0aW9uLnNlYXJjaCkgfSBlbHNlIHsgd2NzWyJ3Y3MucnNxcyJd
ID0gIiIgfSBpZiAod2luZG93LmxvY2F0aW9uLnByb3RvY29sID09ICJodHRwcyIg
fHwgd2luZG93LmxvY2F0aW9uLnByb3RvY29sID09ICJodHRwczoiKSB7IHdjc1si
d2NzLnJpaHMiXSA9ICIxIiB9IGVsc2UgeyB3Y3NbIndjcy5yaWhzIl0gPSAiMCIg
fSB9IGZ1bmN0aW9uIE1zY29tR2V0Rmxhc2hJbmZvKCkgeyB2YXIgZmxhc2hNYXgg
PSBuZXcgRGF0ZSgpLmdldFllYXIoKSAtIDE5OTI7IGlmIChuYXZpZ2F0b3IudXNl
ckFnZW50LmluZGV4T2YoJ01TSUUnKSAhPSAtMSkgeyBmb3IgKHZhciBpID0gZmxh
c2hNYXg7IGkgPiAwOyBpLS0pIHsgdHJ5IHsgdmFyIGZsYXNoID0gbmV3IEFjdGl2
ZVhPYmplY3QoIlNob2Nrd2F2ZUZsYXNoLlNob2Nrd2F2ZUZsYXNoLiIgKyBpKTsg
d2NzWyJ3Y3MuZmkiXSA9ICIxIjsgd2NzWyJ3Y3MuZnYiXSA9IGkgKyAiLjAiOyBi
cmVhayB9IGNhdGNoIChlKSB7IH0gfSB9IGVsc2UgeyBpZiAobmF2aWdhdG9yLnBs
dWdpbnNbIlNob2Nrd2F2ZSBGbGFzaCJdKSB7IHdjc1sid2NzLmZpIl0gPSAiMSI7
IHZhciBwbHVnaW4gPSBuYXZpZ2F0b3IucGx1Z2luc1siU2hvY2t3YXZlIEZsYXNo
Il07IHdjc1sid2NzLmZ2Il0gPSBwbHVnaW4uZGVzY3JpcHRpb24uc3BsaXQoIiAi
KVsyXSB9IH0gfSBmdW5jdGlvbiBNc2NvbUdldFNpbHZlckxpZ2h0SW5mbygpIHsg
aWYgKHdpbmRvdy5TaWx2ZXJsaWdodCAhPSB1bmRlZmluZWQpIHsgd2NzWyJ3Y3Mu
c2UiXSA9ICIxIiB9IHRyeSB7IGlmIChuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4
T2YoJ01TSUUnKSAhPSAtMSkgeyB2YXIgc2xpID0gbmV3IEFjdGl2ZVhPYmplY3Qo
J0FnQ29udHJvbC5BZ0NvbnRyb2wnKTsgaWYgKHNsaSkgeyB3Y3NbIndjcy5zaSJd
ID0gIjEiOyB3Y3NbIndjcy5zdiJdID0gTXNjb21HZXRTbHZWZXJzaW9uKHNsaSkg
fSB9IGVsc2UgeyBpZiAobmF2aWdhdG9yLnBsdWdpbnNbIlNpbHZlcmxpZ2h0IFBs
dWctSW4iXSkgeyB2YXIgcGx1Z2luID0gbmF2aWdhdG9yLnBsdWdpbnNbIlNpbHZl
cmxpZ2h0IFBsdWctSW4iXTsgd2NzWyJ3Y3Muc2kiXSA9ICIxIjsgdmFyIGFjdHVh
bFZlciA9IHBsdWdpbi5kZXNjcmlwdGlvbjsgaWYgKGFjdHVhbFZlciAmJiBhY3R1
YWxWZXIgIT0gdW5kZWZpbmVkKSB7IHZhciB0ZW1wID0gYWN0dWFsVmVyLnNwbGl0
KCIuIik7IGFjdHVhbFZlciA9IHRlbXBbMF0gKyAiLiIgKyB0ZW1wWzFdOyB3Y3Nb
Indjcy5zdiJdID0gYWN0dWFsVmVyIH0gfSB9IH0gY2F0Y2ggKGUpIHsgfSB9IGZ1
bmN0aW9uIE1zY29tSW5pdE1ldGEoKSB7IHZhciBtZXRhZWxlbXM7IGlmIChkb2N1
bWVudC5hbGwpIHsgbWV0YWVsZW1zID0gZG9jdW1lbnQuYWxsLnRhZ3MoIm1ldGEi
KSB9IGVsc2UgaWYgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkgeyBtZXRhZWxl
bXMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgibWV0YSIpIH0gbWV0
YVRhZ3MgPSAnJzsgaWYgKHR5cGVvZiAobWV0YWVsZW1zKSAhPSAidW5kZWZpbmVk
IikgeyBmb3IgKHZhciBpID0gMDsgaSA8IG1ldGFlbGVtcy5sZW5ndGg7IGkrKykg
eyB2YXIgbWV0YSA9IG1ldGFlbGVtcy5pdGVtKGkpOyBpZiAobWV0YS5uYW1lKSB7
IHZhciBtdCA9IG1ldGEubmFtZS50b0xvd2VyQ2FzZSgpOyBpZiAobXQuaW5kZXhP
ZignbXMuJykgPT0gMCkgeyBtc1sobWV0YS5uYW1lKV0gPSAobWV0YS5jb250ZW50
KSB9IH0gfSB9IH0gZnVuY3Rpb24gTXNjb21SZWFkRWxlbWVudFRhZ3Mob2JqKSB7
IHZhciByZXN1bHQgPSAnJzsgaWYgKG9iaikgeyB2YXIgcGlpID0gTXNjb21Jc1BJ
SShvYmopOyBpZiAocGlpID09IDApIHsgZm9yICh2YXIgYXR0ciBpbiBvYmouYXR0
cmlidXRlcykgeyBpZiAoYXR0ciAhPSB1bmRlZmluZWQpIHsgaWYgKG9iai5hdHRy
aWJ1dGVzW2F0dHJdICE9IG51bGwgJiYgb2JqLmF0dHJpYnV0ZXNbYXR0cl0gIT0g
dW5kZWZpbmVkKSB7IHZhciBubiA9IG9iai5hdHRyaWJ1dGVzW2F0dHJdLm5hbWU7
IGlmIChubiAhPSBudWxsICYmIG5uICE9IHVuZGVmaW5lZCkgeyB2YXIgbm5sID0g
bm4udG9Mb3dlckNhc2UoKTsgaWYgKG5ubC5pbmRleE9mKCdtcy4nKSA9PSAwKSB7
IG1zWyhubildID0gKG9iai5hdHRyaWJ1dGVzW2F0dHJdLnZhbHVlKSB9IH0gfSB9
IH0gfSB9IHJldHVybiByZXN1bHQgfSBmdW5jdGlvbiBNc2NvbVNldEV2ZW50SWQo
KSB7IHdjc1sid2NzLmVpZCJdID0gR2VuZXJhdGVHdWlkKCkgfSBmdW5jdGlvbiBN
c2NvbUdldEJyb3dzZXJTaXplKCkgeyBpZiAoZG9jdW1lbnQuYm9keS5jbGllbnRX
aWR0aCAhPSB1bmRlZmluZWQpIHsgd2NzWyJ3Y3MuYnMiXSA9IGRvY3VtZW50LmJv
ZHkuY2xpZW50V2lkdGggKyAieCIgKyBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdo
dCB9IGVsc2UgaWYgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCAmJiBkb2N1bWVu
dC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggIT0gdW5kZWZpbmVkKSB7IHdj
c1sid2NzLmJzIl0gPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lk
dGggKyAieCIgKyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0
IH0gZWxzZSBpZiAod2luZG93LmlubmVyV2lkdGggIT0gdW5kZWZpbmVkKSB7IHdj
c1sid2NzLmJzIl0gPSB3aW5kb3cuaW5uZXJXaWR0aCArICJ4IiArIHdpbmRvdy5p
bm5lckhlaWdodCB9IH0gZnVuY3Rpb24gTXNjb21TZXRSb3V0ZUN0cmwoKSB7IHdp
bmRvdy5Sb3V0ZSAhPSB1bmRlZmluZWQgPyB3Y3NbIndjcy5yb3V0ZSJdID0gd2lu
ZG93LlJvdXRlIDogd2NzWyJ3Y3Mucm91dGUiXSA9ICIiOyB3aW5kb3cuQ3RybCAh
PSB1bmRlZmluZWQgPyB3Y3NbIndjcy5jdHJsIl0gPSB3aW5kb3cuQ3RybCA6IHdj
c1sid2NzLmN0cmwiXSA9ICIiIH0gZnVuY3Rpb24gTXNjb21HZXRDVHlwZUhwSW5m
bygpIHsgaWYgKGRvY3VtZW50LmJvZHkgJiYgZG9jdW1lbnQuYm9keS5hZGRCZWhh
dmlvcikgeyBkb2N1bWVudC5ib2R5LmFkZEJlaGF2aW9yKCIjZGVmYXVsdCNjbGll
bnRDYXBzIik7IGlmIChkb2N1bWVudC5ib2R5LmNvbm5lY3Rpb25UeXBlKSB7IHdj
c1sid2NzLmNudCJdID0gZG9jdW1lbnQuYm9keS5jb25uZWN0aW9uVHlwZSB9IH0g
fSBmdW5jdGlvbiBNc2NvbUlzSFAoKSB7IGlmIChkb2N1bWVudC5ib2R5ICYmIGRv
Y3VtZW50LmJvZHkuYWRkQmVoYXZpb3IpIHsgZG9jdW1lbnQuYm9keS5hZGRCZWhh
dmlvcigiI2RlZmF1bHQjaG9tZVBhZ2UiKTsgd2NzWyJ3Y3MuaHAiXSA9IGRvY3Vt
ZW50LmJvZHkuaXNIb21lUGFnZShsb2NhdGlvbi5ocmVmKSA/ICIxIiA6ICIwIiB9
IH0gZnVuY3Rpb24gTXNjb21TZXRDb29raWVEaXNhYmxlZEZsYWcoKSB7IHZhciBj
b29raWVQcmUgPSAiIjsgdmFyIGluZGV4ID0gZG9jdW1lbnQuY29va2llLmluZGV4
T2Yoc2Vzc2lvbkNvb2tpZU5hbWUgKyAiPSIpOyBpZiAoaW5kZXggPT0gLTEpIHsg
TXNjb21TZXRUaW1lU3RhbXAoKTsgc2Vzc2lvbklkID0gd2NzWyJ3Y3MudHMiXTsg
aWYgKHdjc1sid2NzLmNkIl0gPT0gMSkgeyByZXR1cm4gfSBjb29raWVQcmUgPSBz
ZXNzaW9uQ29va2llTmFtZSArICI9IiArIHNlc3Npb25JZCB9IGVsc2UgeyB2YXIg
c3RhcnQgPSBpbmRleCArIHNlc3Npb25Db29raWVOYW1lLmxlbmd0aCArIDE7IHZh
ciBlbmQgPSBkb2N1bWVudC5jb29raWUubGVuZ3RoOyBjb29raWVQcmUgPSBzZXNz
aW9uQ29va2llTmFtZSArICI9IiArIGRvY3VtZW50LmNvb2tpZS5zdWJzdHJpbmco
c3RhcnQsIGVuZCkgfSBkb2N1bWVudC5jb29raWUgPSBjb29raWVQcmU7IGluZGV4
ID0gZG9jdW1lbnQuY29va2llLmluZGV4T2Yoc2Vzc2lvbkNvb2tpZU5hbWUgKyAi
PSIpOyAoaW5kZXggPT0gLTEpID8gd2NzWyJ3Y3MuY2QiXSA9IDEgOiB3Y3NbIndj
cy5jZCJdID0gMCB9IGZ1bmN0aW9uIEd1aWRQYXJ0KCkgeyByZXR1cm4gKCgoMSAr
IE1hdGgucmFuZG9tKCkpICogMHgxMDAwMCkgfCAwKS50b1N0cmluZygxNikuc3Vi
c3RyaW5nKDEpIH0gZnVuY3Rpb24gR2VuZXJhdGVHdWlkKCkgeyByZXR1cm4gKEd1
aWRQYXJ0KCkgKyBHdWlkUGFydCgpICsgIi0iICsgR3VpZFBhcnQoKSArICItIiAr
IEd1aWRQYXJ0KCkgKyAiLSIgKyBHdWlkUGFydCgpICsgIi0iICsgR3VpZFBhcnQo
KSArIEd1aWRQYXJ0KCkgKyBHdWlkUGFydCgpKSB9IGZ1bmN0aW9uIE1zY29tR2V0
U2x2VmVyc2lvbihjb250cm9sKSB7IHZhciBzbHYgPSAnJzsgdmFyIHNsVk1heCA9
IG5ldyBEYXRlKCkuZ2V0WWVhcigpIC0gMjAwNDsgZm9yICh2YXIgaSA9IHNsVk1h
eDsgaSA+IDA7IGktLSkgeyBmb3IgKHZhciBqID0gOTsgaiA+PSAwOyBqLS0pIHsg
c2x2ID0gaSArICIuIiArIGo7IGlmIChjb250cm9sLklzVmVyc2lvblN1cHBvcnRl
ZChzbHYpKSByZXR1cm4gc2x2OyB9IH0gcmV0dXJuIHNsdjsgfSBmdW5jdGlvbiBN
c2NvbWRlYnVnKCkgeyB3aW5kb3cuYWxlcnQoYXJndW1lbnRzWzBdKSB9IGZ1bmN0
aW9uIE1zY29tR2V0SWQob2JqKSB7IGlmIChvYmopIHsgaWYgKG9iai5pZCA9PSB1
bmRlZmluZWQpIHsgcmV0dXJuICcnOyB9IHJldHVybiAob2JqLmlkKTsgfSByZXR1
cm4gJyc7IH0gZnVuY3Rpb24gTXNjb21HZXRJbWFnZUhSRUYob2JqKSB7IHZhciB0
ZW1wID0gb2JqOyBpZiAob2JqKSB7IG9iaiA9IG9iai5wYXJlbnRFbGVtZW50IHx8
IG9iai5wYXJlbnROb2RlOyBpZiAob2JqICYmIG9iai50YWdOYW1lID09ICJBIikg
eyByZXR1cm4gb2JqLmhyZWYgPyAob2JqLmhyZWYpIDogJycgfSBpZiAodGVtcCAm
JiB0ZW1wLnNyYykgeyByZXR1cm4gKHRlbXAuc3JjKSB9IH0gcmV0dXJuICcnIH0g
ZnVuY3Rpb24gTXNjb21Jc0luTGlzdCh0YWcpIHsgZm9yICh2YXIgdCBpbiBjbGlj
a2VkRWxlbWVudHMpIHsgaWYgKGNsaWNrZWRFbGVtZW50c1t0XSA9PSB0YWcudG9V
cHBlckNhc2UoKSkgeyByZXR1cm4gMSB9IH0gcmV0dXJuIDAgfSBmdW5jdGlvbiBN
c2NvbXNldEV2ZW50cygpIHsgaWYgKHdpbmRvdy52YXJDbGlja1RyYWNraW5nICE9
IHVuZGVmaW5lZCAmJiB2YXJDbGlja1RyYWNraW5nID09IDEpIHsgaWYgKGRvY3Vt
ZW50LmJvZHkpIHsgaWYgKGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcikg
eyB2YXIgZXZlbnQgPSAobmF2aWdhdG9yLmFwcFZlcnNpb24uaW5kZXhPZigiTVNJ
RSIpICE9IC0xKSA/ICJjbGljayIgOiAibW91c2Vkb3duIjsgZG9jdW1lbnQuYm9k
eS5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCB3aW5kb3dbIk1zY29tUHJvY2Vzc0Ns
aWNrIl0sIDApIH0gZWxzZSBpZiAoZG9jdW1lbnQuYm9keS5hdHRhY2hFdmVudCkg
eyBkb2N1bWVudC5ib2R5LmF0dGFjaEV2ZW50KCJvbmNsaWNrIiwgd2luZG93WyJN
c2NvbVByb2Nlc3NDbGljayJdKSB9IH0gfSB9IGZ1bmN0aW9uIE1zY29tR2V0TVVJ
RChmaXJlYmVhY29uKSB7IGlmIChtdWlkQ3JlYXRlZCA9PSAxKSB7IGlmIChmaXJl
YmVhY29uID09IDEpIHsgTXNjb21CZWFjb24oKTsgcmV0dXJuIH0gfSBpZiAod2lu
ZG93LnZhckN1c3RvbWVyVHJhY2tpbmcgIT0gdW5kZWZpbmVkICYmIHZhckN1c3Rv
bWVyVHJhY2tpbmcgPT0gMSkgeyB0cnkgeyB2YXIgbXVpZHNyYyA9IHdpbmRvdy5s
b2NhdGlvbi5wcm90b2NvbCArICIvL2MxLm1pY3Jvc29mdC5jb20vYy5naWY/REk9
NDA1MCZkaWQ9MSZ0PSI7IGlmIChmaXJlYmVhY29uID09IDEpIHsgZG9jdW1lbnQu
d3JpdGUoJzxpZnJhbWUgaWQ9Il9tc25GcmFtZSIgc3JjPSInICsgbXVpZHNyYyAr
ICciIHN0eWxlPSJ6LWluZGV4Oi0xO2hlaWdodDoxcHg7d2lkdGg6MXB4O2Rpc3Bs
YXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbjsiIG9ubG9hZD0iamF2YXNjcmlwdDpN
c2NvbUJlYWNvbigpOyI+PC9pZnJhbWU+JykgfSBlbHNlIHsgZG9jdW1lbnQud3Jp
dGUoJzxpZnJhbWUgaWQ9Il9tc25GcmFtZSIgc3JjPSInICsgbXVpZHNyYyArICci
IHN0eWxlPSJ6LWluZGV4Oi0xO2hlaWdodDoxcHg7d2lkdGg6MXB4O2Rpc3BsYXk6
bm9uZTt2aXNpYmlsaXR5OmhpZGRlbjsiPjwvaWZyYW1lPicpIH0gbXVpZENyZWF0
ZWQgPSAxIH0gY2F0Y2ggKGUpIHsgbXVpZENyZWF0ZWQgPSAwIH0gfSBlbHNlIHsg
aWYgKGZpcmViZWFjb24gPT0gMSkgeyBNc2NvbUJlYWNvbigpIH0gfSB9IGZ1bmN0
aW9uIE1zY29tRW5jb2RlKFMpIHsgcmV0dXJuICh0eXBlb2YgKGVuY29kZVVSSUNv
bXBvbmVudCkgPT0gImZ1bmN0aW9uIikgPyBlbmNvZGVVUklDb21wb25lbnQoUykg
OiBlc2NhcGUoUykgfSBmdW5jdGlvbiBNc2NvbUdldFN0ckZyb21BcnJheShzdHJh
cnJheSkgeyB2YXIgcmV0VmFsdWUgPSAiIjsgZm9yICh2YXIga2V5IGluIHN0cmFy
cmF5KSB7IGlmIChzdHJhcnJheS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7IGlmIChz
dHJhcnJheVtrZXldICE9IHVuZGVmaW5lZCkgeyByZXRWYWx1ZSArPSAiJiIgKyBN
c2NvbUVuY29kZShrZXkpICsgIj0iICsgTXNjb21FbmNvZGUoc3RyYXJyYXlba2V5
XSkgfSBlbHNlIHsgcmV0VmFsdWUgKz0gIiYiICsgTXNjb21FbmNvZGUoa2V5KSAr
ICI9IiB9IH0gfSByZXR1cm4gcmV0VmFsdWUgfSBmdW5jdGlvbiBNc2NvbVJlc2V0
QXJyYXlzKCkgeyB3Y3MgPSBbXTsgbmEgPSBbXTsgbXMgPSBbXSB9IGZ1bmN0aW9u
IE1zY29tSXNQSUkob2JqKSB7IHRyeSB7IHZhciBwaWkgPSBvYmouZ2V0QXR0cmli
dXRlKCJkYXRhLWRjIik7IGlmIChwaWkgIT0gbnVsbCAmJiBwaWkgIT0gdW5kZWZp
bmVkKSB7IGlmIChwaWkudG9Mb3dlckNhc2UoKSA9PSAicGlpIikgeyByZXR1cm4g
MSB9IGVsc2UgeyByZXR1cm4gMCB9IH0gZWxzZSB7IHJldHVybiAwIH0gfSBjYXRj
aCAoZSkgeyByZXR1cm4gMCB9IH0gTXNjb21Jbml0KCk7

------------qHryB7dFAJpRddSST4zzSx
Content-Disposition: inline; filename=jquery.bi.dataconsumers.wedcs.js
Content-Type: application/x-javascript; name=jquery.bi.dataconsumers.wedcs.js
Content-Location: http://support.microsoft.com/Scripts/jquery.bi.dataconsumers.wedcs.js
Content-Transfer-Encoding: Base64

KGZ1bmN0aW9uKG4pe24uYmkuZGF0YUNvbnN1bWVycy53ZWRjcz17X3NldHRpbmdz
Om51bGwsaW5pdDpmdW5jdGlvbih0KXt0aGlzLl9zZXR0aW5ncz10LG4uYmkuYmFz
ZUxpbmtEYXRhKHtjb3Q6MX0pfSxyZWNvcmQ6ZnVuY3Rpb24odCl7d2luZG93Lk1z
Y29tQ3VzdG9tRXZlbnQmJm4uYmkuaXNJbnRlcmFjdGlvblR5cGVWYWxpZCh0LHRo
aXMuX3NldHRpbmdzKSYmKHQ9dGhpcy5fbWFwSW50ZXJhY3Rpb25UeXBlKHQpLE1z
Y29tQ3VzdG9tRXZlbnQuYXBwbHkodGhpcyx0aGlzLl9tYXAodCkpKX0scmVjb3Jk
TG9hZDpmdW5jdGlvbih0KXt3aW5kb3cuTXNjb21DdXN0b21FdmVudCYmbi5iaS5p
c0ludGVyYWN0aW9uVHlwZVZhbGlkKHQsdGhpcy5fc2V0dGluZ3MpJiYodD1uLmV4
dGVuZCh0LHtjb3Q6MH0pLHQ9dGhpcy5fbWFwSW50ZXJhY3Rpb25UeXBlKHQpLE1z
Y29tQ3VzdG9tRXZlbnQuYXBwbHkodGhpcyx0aGlzLl9tYXAodCkpKX0sX21hcElu
dGVyYWN0aW9uVHlwZTpmdW5jdGlvbih0KXt2YXIgaT1uLmV4dGVuZCh7fSx0KTty
ZXR1cm4gdGhpcy5fc2V0dGluZ3MuaW50ZXJhY3Rpb25UeXBlTWFwJiZpLmludGVy
YWN0aW9udHlwZSYmdGhpcy5fc2V0dGluZ3MuaW50ZXJhY3Rpb25UeXBlTWFwW2ku
aW50ZXJhY3Rpb250eXBlXSE9dW5kZWZpbmVkJiYoaS5pbnRlcmFjdGlvbnR5cGU9
dGhpcy5fc2V0dGluZ3MuaW50ZXJhY3Rpb25UeXBlTWFwW2kuaW50ZXJhY3Rpb250
eXBlXSksdGhpcy5fc2V0dGluZ3MuaW50ZXJhY3Rpb25UeXBlTWFwJiZpLnRyaWdn
ZXJ0eXBlJiZ0aGlzLl9zZXR0aW5ncy5pbnRlcmFjdGlvblR5cGVNYXBbaS50cmln
Z2VydHlwZV0hPXVuZGVmaW5lZCYmKGkudHJpZ2dlcnR5cGU9dGhpcy5fc2V0dGlu
Z3MuaW50ZXJhY3Rpb25UeXBlTWFwW2kudHJpZ2dlcnR5cGVdKSxpfSxfbWFwOmZ1
bmN0aW9uKHQpe3ZhciBpPW4uZXh0ZW5kKHt9LHQpO3JldHVybiBpLnVyaWRvbWFp
bj09dW5kZWZpbmVkJiYoaS51cmlkb21haW49d2luZG93LmxvY2F0aW9uLmhvc3Ru
YW1lLGkudXJpcGF0aD13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsaS51cmlxdWVy
eT13aW5kb3cubG9jYXRpb24uc2VhcmNoKSx0aGlzLl90b0FycmF5KG4uYmkubWFw
RGF0YShpLHRoaXMuX3NldHRpbmdzLnBhcmFtZXRlck1hcCkpfSxfdG9BcnJheTpm
dW5jdGlvbihuKXt2YXIgdCxpO249IW58fHR5cGVvZiBuIT0ib2JqZWN0Inx8bi5z
b3J0P3t9Om4sdD1bXTtmb3IoaSBpbiBuKW4uaGFzT3duUHJvcGVydHkoaSkmJih0
LnB1c2goaSksdC5wdXNoKG5baV0pKTtyZXR1cm4gdH19fSkoalF1ZXJ5KTs=

------------qHryB7dFAJpRddSST4zzSx--
