<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>98683</bug_id>
          
          <creation_ts>2012-10-08 13:37:36 -0700</creation_ts>
          <short_desc>SVGResources should use HashSet&lt;AtomicString&gt; instead of HashSet&lt;AtomicStringImpl*&gt;</short_desc>
          <delta_ts>2012-10-09 11:36:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Florin Malita">fmalita</assigned_to>
          <cc>fmalita</cc>
    
    <cc>krit</cc>
    
    <cc>pdr</cc>
    
    <cc>schenney</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>736983</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-10-08 13:37:36 -0700</bug_when>
    <thetext>SVGResources should use HashSet&lt;AtomicString&gt; instead of HashSet&lt;AtomicStringImpl*&gt;

They do basically the same thing, and the former is much more common (and less code).  It&apos;s also safe, on the off-chance that we&apos;re using AtomicStrings which might otherwise go away.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737794</commentid>
    <comment_count>1</comment_count>
      <attachid>167759</attachid>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2012-10-09 08:19:33 -0700</bug_when>
    <thetext>Created attachment 167759
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737896</commentid>
    <comment_count>2</comment_count>
      <attachid>167759</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-10-09 10:05:20 -0700</bug_when>
    <thetext>Comment on attachment 167759
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=167759&amp;action=review

&gt; Source/WebCore/rendering/svg/SVGResources.cpp:205
&gt; +    AtomicString tagName = element-&gt;tagQName().localName();

This adds a bit of reference count churn. If we know that the element won’t be deleted while we’re working on it, we could use const AtomicString&amp; as the type instead.

&gt; Source/WebCore/rendering/svg/SVGResources.cpp:206
&gt; +    if (tagName.isEmpty())

I think we only need an isNull check here. An isEmpty check is both more expensive than a null check, and also may not be correct since the old code did a null check. I wonder if we have test coverage for the empty string case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737915</commentid>
    <comment_count>3</comment_count>
      <attachid>167759</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-10-09 10:25:46 -0700</bug_when>
    <thetext>Comment on attachment 167759
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=167759&amp;action=review

&gt;&gt; Source/WebCore/rendering/svg/SVGResources.cpp:205
&gt;&gt; +    AtomicString tagName = element-&gt;tagQName().localName();
&gt; 
&gt; This adds a bit of reference count churn. If we know that the element won’t be deleted while we’re working on it, we could use const AtomicString&amp; as the type instead.

Also, I think you can just call element-&gt;localName() directly and don&apos;t have to go through the qname?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737944</commentid>
    <comment_count>4</comment_count>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2012-10-09 10:58:25 -0700</bug_when>
    <thetext>Thanks for reviewing, updated.

(In reply to comment #2)
&gt; &gt; Source/WebCore/rendering/svg/SVGResources.cpp:205
&gt; &gt; +    AtomicString tagName = element-&gt;tagQName().localName();
&gt; 
&gt; This adds a bit of reference count churn. If we know that the element won’t be deleted while we’re working on it, we could use const AtomicString&amp; as the type instead.

Done.


&gt; &gt; Source/WebCore/rendering/svg/SVGResources.cpp:206
&gt; &gt; +    if (tagName.isEmpty())
&gt; 
&gt; I think we only need an isNull check here. An isEmpty check is both more expensive than a null check, and also may not be correct since the old code did a null check. I wonder if we have test coverage for the empty string case?

Good point, should avoid changing behavior here. Even if it&apos;s possible to get an empty tag name here, it shouldn&apos;t have any impact as it will just skip through the remaining conditionals and return false. Updated.

(In reply to comment #3)
&gt; Also, I think you can just call element-&gt;localName() directly and don&apos;t have to go through the qname?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737946</commentid>
    <comment_count>5</comment_count>
      <attachid>167786</attachid>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2012-10-09 10:58:48 -0700</bug_when>
    <thetext>Created attachment 167786
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737991</commentid>
    <comment_count>6</comment_count>
      <attachid>167786</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-09 11:36:13 -0700</bug_when>
    <thetext>Comment on attachment 167786
Patch for landing

Clearing flags on attachment: 167786

Committed r130780: &lt;http://trac.webkit.org/changeset/130780&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737992</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-09 11:36:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167759</attachid>
            <date>2012-10-09 08:19:33 -0700</date>
            <delta_ts>2012-10-09 10:58:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98683-20121009111834.patch</filename>
            <type>text/plain</type>
            <size>11211</size>
            <attacher name="Florin Malita">fmalita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwNzUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDc2OWExZGI3OTNhODNi
ZGQ5ZjRlYTg5Yjg3YmI5OTVlYzI4YzA0Mi4uZWNhZGU2YzI4NWQyYzM2ZDRmNTQ5MjgzN2ZmZTFh
ZjBlY2Y2YzQwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTEwLTA5ICBGbG9y
aW4gTWFsaXRhICA8Zm1hbGl0YUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU1ZHUmVzb3VyY2Vz
IHNob3VsZCB1c2UgSGFzaFNldDxBdG9taWNTdHJpbmc+IGluc3RlYWQgb2YgSGFzaFNldDxBdG9t
aWNTdHJpbmdJbXBsKj4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTk4NjgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRXJpYydzIG5vdGVzOgorCisgICAgICAgIFNWR1Jlc291cmNlcyBzaG91bGQgdXNlIEhh
c2hTZXQ8QXRvbWljU3RyaW5nPiBpbnN0ZWFkIG9mIEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+
CisgICAgICAgIFRoZXkgZG8gYmFzaWNhbGx5IHRoZSBzYW1lIHRoaW5nLCBhbmQgdGhlIGZvcm1l
ciBpcyBtdWNoIG1vcmUgY29tbW9uIChhbmQgbGVzcyBjb2RlKS4gSXQncworICAgICAgICBhbHNv
IHNhZmUsIG9uIHRoZSBvZmYtY2hhbmNlIHRoYXQgd2UncmUgdXNpbmcgQXRvbWljU3RyaW5ncyB3
aGljaCBtaWdodCBvdGhlcndpc2UgZ28gYXdheS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHJl
ZmFjdG9yaW5nLiAKKworICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmNsaXBwZXJGaWx0ZXJNYXNrZXJUYWdzKToKKyAgICAgICAgKFdl
YkNvcmU6Om1hcmtlclRhZ3MpOgorICAgICAgICAoV2ViQ29yZTo6ZmlsbEFuZFN0cm9rZVRhZ3Mp
OgorICAgICAgICAoV2ViQ29yZTo6Y2hhaW5hYmxlUmVzb3VyY2VUYWdzKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1Jlc291cmNlczo6YnVpbGRDYWNoZWRSZXNvdXJjZXMpOgorCiAyMDEyLTEwLTA5
ICBBcnBpdGEgQmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CiAKICAgICAgICAg
VGV4dCBkZWNvcmF0aW9ucyBzcGVjaWZpZWQgb24gdGhlIGNvbnRhaW5pbmcgYmxvY2sgYXJlIG5v
dCBwcm9wZXJseSBhcHBsaWVkIHdoZW4gOjpmaXJzdC1saW5lIGlzIHByZXNlbnQuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlcy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlcy5jcHAKaW5kZXggMjcxMjBkYzg4
MDkyMmYzMzQzMDAwYzhkZmE2MWYxMGY1YTllOTQ2Mi4uZjlhY2Q3MjhjMDJlZmJjMjdkOGExN2Nj
NmM2NmMyYzA0MWYxNGZlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9TVkdSZXNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZH
UmVzb3VyY2VzLmNwcApAQCAtNDQsNDYgKzQ0LDQ2IEBAIFNWR1Jlc291cmNlczo6U1ZHUmVzb3Vy
Y2VzKCkKIHsKIH0KIAotc3RhdGljIEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+JiBjbGlwcGVy
RmlsdGVyTWFza2VyVGFncygpCitzdGF0aWMgSGFzaFNldDxBdG9taWNTdHJpbmc+JiBjbGlwcGVy
RmlsdGVyTWFza2VyVGFncygpCiB7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChIYXNoU2V0PEF0
b21pY1N0cmluZ0ltcGwqPiwgc190YWdMaXN0LCAoKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NB
TChIYXNoU2V0PEF0b21pY1N0cmluZz4sIHNfdGFnTGlzdCwgKCkpOwogICAgIGlmIChzX3RhZ0xp
c3QuaXNFbXB0eSgpKSB7CiAgICAgICAgIC8vICJjb250YWluZXIgZWxlbWVudHMiOiBodHRwOi8v
d3d3LnczLm9yZy9UUi9TVkcxMS9pbnRyby5odG1sI1Rlcm1Db250YWluZXJFbGVtZW50CiAgICAg
ICAgIC8vICJncmFwaGljcyBlbGVtZW50cyIgOiBodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9p
bnRyby5odG1sI1Rlcm1HcmFwaGljc0VsZW1lbnQKLSAgICAgICAgc190YWdMaXN0LmFkZChTVkdO
YW1lczo6YVRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOwotICAgICAgICBzX3RhZ0xpc3QuYWRkKFNW
R05hbWVzOjpjaXJjbGVUYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKLSAgICAgICAgc190YWdMaXN0
LmFkZChTVkdOYW1lczo6ZWxsaXBzZVRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOwotICAgICAgICBz
X3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpnbHlwaFRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOwotICAg
ICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpnVGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7Ci0g
ICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OmltYWdlVGFnLmxvY2FsTmFtZSgpLmltcGwo
KSk7Ci0gICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OmxpbmVUYWcubG9jYWxOYW1lKCku
aW1wbCgpKTsKLSAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6bWFya2VyVGFnLmxvY2Fs
TmFtZSgpLmltcGwoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6Om1hc2tUYWcu
bG9jYWxOYW1lKCkuaW1wbCgpKTsKLSAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6bWlz
c2luZ19nbHlwaFRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOwotICAgICAgICBzX3RhZ0xpc3QuYWRk
KFNWR05hbWVzOjpwYXRoVGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7Ci0gICAgICAgIHNfdGFnTGlz
dC5hZGQoU1ZHTmFtZXM6OnBvbHlnb25UYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKLSAgICAgICAg
c190YWdMaXN0LmFkZChTVkdOYW1lczo6cG9seWxpbmVUYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsK
LSAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6cmVjdFRhZy5sb2NhbE5hbWUoKS5pbXBs
KCkpOwotICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpzdmdUYWcubG9jYWxOYW1lKCku
aW1wbCgpKTsKLSAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6dGV4dFRhZy5sb2NhbE5h
bWUoKS5pbXBsKCkpOwotICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjp1c2VUYWcubG9j
YWxOYW1lKCkuaW1wbCgpKTsKKyAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6YVRhZy5s
b2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OmNpcmNsZVRhZy5s
b2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OmVsbGlwc2VUYWcu
bG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpnbHlwaFRhZy5s
b2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OmdUYWcubG9jYWxO
YW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjppbWFnZVRhZy5sb2NhbE5h
bWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OmxpbmVUYWcubG9jYWxOYW1l
KCkpOworICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjptYXJrZXJUYWcubG9jYWxOYW1l
KCkpOworICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjptYXNrVGFnLmxvY2FsTmFtZSgp
KTsKKyAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6bWlzc2luZ19nbHlwaFRhZy5sb2Nh
bE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OnBhdGhUYWcubG9jYWxO
YW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpwb2x5Z29uVGFnLmxvY2Fs
TmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6cG9seWxpbmVUYWcubG9j
YWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpyZWN0VGFnLmxvY2Fs
TmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6c3ZnVGFnLmxvY2FsTmFt
ZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6dGV4dFRhZy5sb2NhbE5hbWUo
KSk7CisgICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OnVzZVRhZy5sb2NhbE5hbWUoKSk7
CiAKICAgICAgICAgLy8gTm90IGxpc3RlZCBpbiB0aGUgZGVmaW5pdGlvbnMgaXMgdGhlIGNsaXBQ
YXRoIGVsZW1lbnQsIHRoZSBTVkcgc3BlYyBzYXlzIHRob3VnaDoKICAgICAgICAgLy8gVGhlICJj
bGlwUGF0aCIgZWxlbWVudCBvciBhbnkgb2YgaXRzIGNoaWxkcmVuIGNhbiBzcGVjaWZ5IHByb3Bl
cnR5ICJjbGlwLXBhdGgiLgogICAgICAgICAvLyBTbyB3ZSBoYXZlIHRvIGFkZCBjbGlwUGF0aFRh
ZyBoZXJlLCBvdGhlcndoaXNlIGNsaXAtcGF0aCBvbiBjbGlwUGF0aCB3aWxsIGZhaWwuCiAgICAg
ICAgIC8vIChBbHJlYWR5IG1haWxlZCBTVkcgV0csIHdhaXRpbmcgZm9yIGEgc29sdXRpb24pCi0g
ICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OmNsaXBQYXRoVGFnLmxvY2FsTmFtZSgpLmlt
cGwoKSk7CisgICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OmNsaXBQYXRoVGFnLmxvY2Fs
TmFtZSgpKTsKIAogICAgICAgICAvLyBOb3QgbGlzdGVkIGluIHRoZSBkZWZpbml0aW9ucyBhcmUg
dGhlIHRleHQgY29udGVudCBlbGVtZW50cywgdGhvdWdoIGZpbHRlci9jbGlwcGVyL21hc2tlciBv
biB0c3Bhbi90ZXh0Ly4uIGlzIGFsbG93ZWQuCiAgICAgICAgIC8vIChBbHJlYWR5IG1haWxlZCBT
VkcgV0csIHdhaXRpbmcgZm9yIGEgc29sdXRpb24pCi0gICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZH
TmFtZXM6OmFsdEdseXBoVGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7Ci0gICAgICAgIHNfdGFnTGlz
dC5hZGQoU1ZHTmFtZXM6OnRleHRQYXRoVGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7Ci0gICAgICAg
IHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OnRyZWZUYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKLSAg
ICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6dHNwYW5UYWcubG9jYWxOYW1lKCkuaW1wbCgp
KTsKKyAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6YWx0R2x5cGhUYWcubG9jYWxOYW1l
KCkpOworICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjp0ZXh0UGF0aFRhZy5sb2NhbE5h
bWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OnRyZWZUYWcubG9jYWxOYW1l
KCkpOworICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjp0c3BhblRhZy5sb2NhbE5hbWUo
KSk7CiAKICAgICAgICAgLy8gTm90IGxpc3RlZCBpbiB0aGUgZGVmaW5pdGlvbnMgaXMgdGhlIGZv
cmVpZ25PYmplY3QgZWxlbWVudCwgYnV0IGNsaXAtcGF0aAogICAgICAgICAvLyBpcyBhIHN1cHBv
cnRlZCBhdHRyaWJ1dGUuCi0gICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OmZvcmVpZ25P
YmplY3RUYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKKyAgICAgICAgc190YWdMaXN0LmFkZChTVkdO
YW1lczo6Zm9yZWlnbk9iamVjdFRhZy5sb2NhbE5hbWUoKSk7CiAKICAgICAgICAgLy8gRWxlbWVu
dHMgdGhhdCB3ZSBpZ25vcmUsIGFzIGl0IGRvZXNuJ3QgbWFrZSBhbnkgc2Vuc2UuCiAgICAgICAg
IC8vIGRlZnMsIHBhdHRlcm4sIHN3aXRjaCAoRklYTUU6IE1haWwgU1ZHIFdHIGFib3V0IHRoZXNl
KQpAQCAtOTMsNDggKzkzLDQ4IEBAIHN0YXRpYyBIYXNoU2V0PEF0b21pY1N0cmluZ0ltcGwqPiYg
Y2xpcHBlckZpbHRlck1hc2tlclRhZ3MoKQogICAgIHJldHVybiBzX3RhZ0xpc3Q7CiB9CiAKLXN0
YXRpYyBIYXNoU2V0PEF0b21pY1N0cmluZ0ltcGwqPiYgbWFya2VyVGFncygpCitzdGF0aWMgSGFz
aFNldDxBdG9taWNTdHJpbmc+JiBtYXJrZXJUYWdzKCkKIHsKLSAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+LCBzX3RhZ0xpc3QsICgpKTsKKyAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKEhhc2hTZXQ8QXRvbWljU3RyaW5nPiwgc190YWdMaXN0LCAoKSk7CiAg
ICAgaWYgKHNfdGFnTGlzdC5pc0VtcHR5KCkpIHsKLSAgICAgICAgc190YWdMaXN0LmFkZChTVkdO
YW1lczo6bGluZVRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOwotICAgICAgICBzX3RhZ0xpc3QuYWRk
KFNWR05hbWVzOjpwYXRoVGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7Ci0gICAgICAgIHNfdGFnTGlz
dC5hZGQoU1ZHTmFtZXM6OnBvbHlnb25UYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKLSAgICAgICAg
c190YWdMaXN0LmFkZChTVkdOYW1lczo6cG9seWxpbmVUYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsK
KyAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6bGluZVRhZy5sb2NhbE5hbWUoKSk7Cisg
ICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OnBhdGhUYWcubG9jYWxOYW1lKCkpOworICAg
ICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpwb2x5Z29uVGFnLmxvY2FsTmFtZSgpKTsKKyAg
ICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6cG9seWxpbmVUYWcubG9jYWxOYW1lKCkpOwog
ICAgIH0KIAogICAgIHJldHVybiBzX3RhZ0xpc3Q7CiB9CiAKLXN0YXRpYyBIYXNoU2V0PEF0b21p
Y1N0cmluZ0ltcGwqPiYgZmlsbEFuZFN0cm9rZVRhZ3MoKQorc3RhdGljIEhhc2hTZXQ8QXRvbWlj
U3RyaW5nPiYgZmlsbEFuZFN0cm9rZVRhZ3MoKQogewotICAgIERFRklORV9TVEFUSUNfTE9DQUwo
SGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4sIHNfdGFnTGlzdCwgKCkpOworICAgIERFRklORV9T
VEFUSUNfTE9DQUwoSGFzaFNldDxBdG9taWNTdHJpbmc+LCBzX3RhZ0xpc3QsICgpKTsKICAgICBp
ZiAoc190YWdMaXN0LmlzRW1wdHkoKSkgewotICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVz
OjphbHRHbHlwaFRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOwotICAgICAgICBzX3RhZ0xpc3QuYWRk
KFNWR05hbWVzOjpjaXJjbGVUYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKLSAgICAgICAgc190YWdM
aXN0LmFkZChTVkdOYW1lczo6ZWxsaXBzZVRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOwotICAgICAg
ICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpsaW5lVGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7Ci0g
ICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OnBhdGhUYWcubG9jYWxOYW1lKCkuaW1wbCgp
KTsKLSAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6cG9seWdvblRhZy5sb2NhbE5hbWUo
KS5pbXBsKCkpOwotICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpwb2x5bGluZVRhZy5s
b2NhbE5hbWUoKS5pbXBsKCkpOwotICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpyZWN0
VGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6
OnRleHRUYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKLSAgICAgICAgc190YWdMaXN0LmFkZChTVkdO
YW1lczo6dGV4dFBhdGhUYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKLSAgICAgICAgc190YWdMaXN0
LmFkZChTVkdOYW1lczo6dHJlZlRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOwotICAgICAgICBzX3Rh
Z0xpc3QuYWRkKFNWR05hbWVzOjp0c3BhblRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOworICAgICAg
ICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjphbHRHbHlwaFRhZy5sb2NhbE5hbWUoKSk7CisgICAg
ICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OmNpcmNsZVRhZy5sb2NhbE5hbWUoKSk7CisgICAg
ICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OmVsbGlwc2VUYWcubG9jYWxOYW1lKCkpOworICAg
ICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpsaW5lVGFnLmxvY2FsTmFtZSgpKTsKKyAgICAg
ICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6cGF0aFRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAg
IHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OnBvbHlnb25UYWcubG9jYWxOYW1lKCkpOworICAgICAg
ICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpwb2x5bGluZVRhZy5sb2NhbE5hbWUoKSk7CisgICAg
ICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OnJlY3RUYWcubG9jYWxOYW1lKCkpOworICAgICAg
ICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjp0ZXh0VGFnLmxvY2FsTmFtZSgpKTsKKyAgICAgICAg
c190YWdMaXN0LmFkZChTVkdOYW1lczo6dGV4dFBhdGhUYWcubG9jYWxOYW1lKCkpOworICAgICAg
ICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjp0cmVmVGFnLmxvY2FsTmFtZSgpKTsKKyAgICAgICAg
c190YWdMaXN0LmFkZChTVkdOYW1lczo6dHNwYW5UYWcubG9jYWxOYW1lKCkpOwogICAgIH0KIAog
ICAgIHJldHVybiBzX3RhZ0xpc3Q7CiB9CiAKLXN0YXRpYyBIYXNoU2V0PEF0b21pY1N0cmluZ0lt
cGwqPiYgY2hhaW5hYmxlUmVzb3VyY2VUYWdzKCkKK3N0YXRpYyBIYXNoU2V0PEF0b21pY1N0cmlu
Zz4mIGNoYWluYWJsZVJlc291cmNlVGFncygpCiB7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChI
YXNoU2V0PEF0b21pY1N0cmluZ0ltcGwqPiwgc190YWdMaXN0LCAoKSk7CisgICAgREVGSU5FX1NU
QVRJQ19MT0NBTChIYXNoU2V0PEF0b21pY1N0cmluZz4sIHNfdGFnTGlzdCwgKCkpOwogICAgIGlm
IChzX3RhZ0xpc3QuaXNFbXB0eSgpKSB7Ci0gICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6
OmxpbmVhckdyYWRpZW50VGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7Ci0gICAgICAgIHNfdGFnTGlz
dC5hZGQoU1ZHTmFtZXM6OmZpbHRlclRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOwotICAgICAgICBz
X3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpwYXR0ZXJuVGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7Ci0g
ICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OnJhZGlhbEdyYWRpZW50VGFnLmxvY2FsTmFt
ZSgpLmltcGwoKSk7CisgICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OmxpbmVhckdyYWRp
ZW50VGFnLmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6Zmls
dGVyVGFnLmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6cGF0
dGVyblRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OnJh
ZGlhbEdyYWRpZW50VGFnLmxvY2FsTmFtZSgpKTsKICAgICB9CiAKICAgICByZXR1cm4gc190YWdM
aXN0OwpAQCAtMjAyLDEyICsyMDIsMTIgQEAgYm9vbCBTVkdSZXNvdXJjZXM6OmJ1aWxkQ2FjaGVk
UmVzb3VyY2VzKGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBTVkdSZW4KICAgICBT
VkdEb2N1bWVudEV4dGVuc2lvbnMqIGV4dGVuc2lvbnMgPSBkb2N1bWVudC0+YWNjZXNzU1ZHRXh0
ZW5zaW9ucygpOwogICAgIEFTU0VSVChleHRlbnNpb25zKTsKIAotICAgIEF0b21pY1N0cmluZ0lt
cGwqIHRhZ05hbWVJbXBsID0gZWxlbWVudC0+dGFnUU5hbWUoKS5sb2NhbE5hbWUoKS5pbXBsKCk7
Ci0gICAgaWYgKCF0YWdOYW1lSW1wbCkKKyAgICBBdG9taWNTdHJpbmcgdGFnTmFtZSA9IGVsZW1l
bnQtPnRhZ1FOYW1lKCkubG9jYWxOYW1lKCk7CisgICAgaWYgKHRhZ05hbWUuaXNFbXB0eSgpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBib29sIGZvdW5kUmVzb3VyY2VzID0gZmFsc2U7
Ci0gICAgaWYgKGNsaXBwZXJGaWx0ZXJNYXNrZXJUYWdzKCkuY29udGFpbnModGFnTmFtZUltcGwp
KSB7CisgICAgaWYgKGNsaXBwZXJGaWx0ZXJNYXNrZXJUYWdzKCkuY29udGFpbnModGFnTmFtZSkp
IHsKICAgICAgICAgaWYgKHN0eWxlLT5oYXNDbGlwcGVyKCkpIHsKICAgICAgICAgICAgIEF0b21p
Y1N0cmluZyBpZChzdHlsZS0+Y2xpcHBlclJlc291cmNlKCkpOwogICAgICAgICAgICAgaWYgKHNl
dENsaXBwZXIoZ2V0UmVuZGVyU1ZHUmVzb3VyY2VCeUlkPFJlbmRlclNWR1Jlc291cmNlQ2xpcHBl
cj4oZG9jdW1lbnQsIGlkKSkpCkBAIC0yMzUsNyArMjM1LDcgQEAgYm9vbCBTVkdSZXNvdXJjZXM6
OmJ1aWxkQ2FjaGVkUmVzb3VyY2VzKGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBT
VkdSZW4KICAgICAgICAgfQogICAgIH0KIAotICAgIGlmIChtYXJrZXJUYWdzKCkuY29udGFpbnMo
dGFnTmFtZUltcGwpICYmIHN0eWxlLT5oYXNNYXJrZXJzKCkpIHsKKyAgICBpZiAobWFya2VyVGFn
cygpLmNvbnRhaW5zKHRhZ05hbWUpICYmIHN0eWxlLT5oYXNNYXJrZXJzKCkpIHsKICAgICAgICAg
QXRvbWljU3RyaW5nIG1hcmtlclN0YXJ0SWQoc3R5bGUtPm1hcmtlclN0YXJ0UmVzb3VyY2UoKSk7
CiAgICAgICAgIGlmIChzZXRNYXJrZXJTdGFydChnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQ8UmVu
ZGVyU1ZHUmVzb3VyY2VNYXJrZXI+KGRvY3VtZW50LCBtYXJrZXJTdGFydElkKSkpCiAgICAgICAg
ICAgICBmb3VuZFJlc291cmNlcyA9IHRydWU7CkBAIC0yNTUsNyArMjU1LDcgQEAgYm9vbCBTVkdS
ZXNvdXJjZXM6OmJ1aWxkQ2FjaGVkUmVzb3VyY2VzKGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0
LCBjb25zdCBTVkdSZW4KICAgICAgICAgICAgIHJlZ2lzdGVyUGVuZGluZ1Jlc291cmNlKGV4dGVu
c2lvbnMsIG1hcmtlckVuZElkLCBlbGVtZW50KTsKICAgICB9CiAKLSAgICBpZiAoZmlsbEFuZFN0
cm9rZVRhZ3MoKS5jb250YWlucyh0YWdOYW1lSW1wbCkpIHsKKyAgICBpZiAoZmlsbEFuZFN0cm9r
ZVRhZ3MoKS5jb250YWlucyh0YWdOYW1lKSkgewogICAgICAgICBpZiAoc3R5bGUtPmhhc0ZpbGwo
KSkgewogICAgICAgICAgICAgYm9vbCBoYXNQZW5kaW5nUmVzb3VyY2UgPSBmYWxzZTsKICAgICAg
ICAgICAgIEF0b21pY1N0cmluZyBpZDsKQEAgLTI3NSw3ICsyNzUsNyBAQCBib29sIFNWR1Jlc291
cmNlczo6YnVpbGRDYWNoZWRSZXNvdXJjZXMoY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNv
bnN0IFNWR1JlbgogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKGNoYWluYWJsZVJlc291cmNl
VGFncygpLmNvbnRhaW5zKHRhZ05hbWVJbXBsKSkgeworICAgIGlmIChjaGFpbmFibGVSZXNvdXJj
ZVRhZ3MoKS5jb250YWlucyh0YWdOYW1lKSkgewogICAgICAgICBBdG9taWNTdHJpbmcgaWQodGFy
Z2V0UmVmZXJlbmNlRnJvbVJlc291cmNlKGVsZW1lbnQpKTsKICAgICAgICAgaWYgKHNldExpbmtl
ZFJlc291cmNlKGdldFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyQnlJZChkb2N1bWVudCwgaWQp
KSkKICAgICAgICAgICAgIGZvdW5kUmVzb3VyY2VzID0gdHJ1ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167786</attachid>
            <date>2012-10-09 10:58:48 -0700</date>
            <delta_ts>2012-10-09 11:36:13 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-98683-20121009135749.patch</filename>
            <type>text/plain</type>
            <size>11203</size>
            <attacher name="Florin Malita">fmalita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwNzUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDc2OWExZGI3OTNhODNi
ZGQ5ZjRlYTg5Yjg3YmI5OTVlYzI4YzA0Mi4uNjY2MzE4YjM1ZTQ5ZGE3NmI0OTI0ZGU4NGQxOGYw
NGI4YmMwOTcyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTEwLTA5ICBGbG9y
aW4gTWFsaXRhICA8Zm1hbGl0YUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU1ZHUmVzb3VyY2Vz
IHNob3VsZCB1c2UgSGFzaFNldDxBdG9taWNTdHJpbmc+IGluc3RlYWQgb2YgSGFzaFNldDxBdG9t
aWNTdHJpbmdJbXBsKj4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTk4NjgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAg
ICAgRXJpYydzIG5vdGVzOgorCisgICAgICAgIFNWR1Jlc291cmNlcyBzaG91bGQgdXNlIEhhc2hT
ZXQ8QXRvbWljU3RyaW5nPiBpbnN0ZWFkIG9mIEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+Cisg
ICAgICAgIFRoZXkgZG8gYmFzaWNhbGx5IHRoZSBzYW1lIHRoaW5nLCBhbmQgdGhlIGZvcm1lciBp
cyBtdWNoIG1vcmUgY29tbW9uIChhbmQgbGVzcyBjb2RlKS4gSXQncworICAgICAgICBhbHNvIHNh
ZmUsIG9uIHRoZSBvZmYtY2hhbmNlIHRoYXQgd2UncmUgdXNpbmcgQXRvbWljU3RyaW5ncyB3aGlj
aCBtaWdodCBvdGhlcndpc2UgZ28gYXdheS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHJlZmFj
dG9yaW5nLiAKKworICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmNsaXBwZXJGaWx0ZXJNYXNrZXJUYWdzKToKKyAgICAgICAgKFdlYkNv
cmU6Om1hcmtlclRhZ3MpOgorICAgICAgICAoV2ViQ29yZTo6ZmlsbEFuZFN0cm9rZVRhZ3MpOgor
ICAgICAgICAoV2ViQ29yZTo6Y2hhaW5hYmxlUmVzb3VyY2VUYWdzKToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1Jlc291cmNlczo6YnVpbGRDYWNoZWRSZXNvdXJjZXMpOgorCiAyMDEyLTEwLTA5ICBB
cnBpdGEgQmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CiAKICAgICAgICAgVGV4
dCBkZWNvcmF0aW9ucyBzcGVjaWZpZWQgb24gdGhlIGNvbnRhaW5pbmcgYmxvY2sgYXJlIG5vdCBw
cm9wZXJseSBhcHBsaWVkIHdoZW4gOjpmaXJzdC1saW5lIGlzIHByZXNlbnQuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlcy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlcy5jcHAKaW5kZXggMjcxMjBkYzg4MDky
MmYzMzQzMDAwYzhkZmE2MWYxMGY1YTllOTQ2Mi4uZDkwOTc0MDlkNGVkY2QwYzI4NjY0YWQzNjA0
ODI2MzQ5MDI1ZGQ0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdSZXNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVz
b3VyY2VzLmNwcApAQCAtNDQsNDYgKzQ0LDQ2IEBAIFNWR1Jlc291cmNlczo6U1ZHUmVzb3VyY2Vz
KCkKIHsKIH0KIAotc3RhdGljIEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+JiBjbGlwcGVyRmls
dGVyTWFza2VyVGFncygpCitzdGF0aWMgSGFzaFNldDxBdG9taWNTdHJpbmc+JiBjbGlwcGVyRmls
dGVyTWFza2VyVGFncygpCiB7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChIYXNoU2V0PEF0b21p
Y1N0cmluZ0ltcGwqPiwgc190YWdMaXN0LCAoKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChI
YXNoU2V0PEF0b21pY1N0cmluZz4sIHNfdGFnTGlzdCwgKCkpOwogICAgIGlmIChzX3RhZ0xpc3Qu
aXNFbXB0eSgpKSB7CiAgICAgICAgIC8vICJjb250YWluZXIgZWxlbWVudHMiOiBodHRwOi8vd3d3
LnczLm9yZy9UUi9TVkcxMS9pbnRyby5odG1sI1Rlcm1Db250YWluZXJFbGVtZW50CiAgICAgICAg
IC8vICJncmFwaGljcyBlbGVtZW50cyIgOiBodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9pbnRy
by5odG1sI1Rlcm1HcmFwaGljc0VsZW1lbnQKLSAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1l
czo6YVRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOwotICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05h
bWVzOjpjaXJjbGVUYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKLSAgICAgICAgc190YWdMaXN0LmFk
ZChTVkdOYW1lczo6ZWxsaXBzZVRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOwotICAgICAgICBzX3Rh
Z0xpc3QuYWRkKFNWR05hbWVzOjpnbHlwaFRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOwotICAgICAg
ICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpnVGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7Ci0gICAg
ICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OmltYWdlVGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7
Ci0gICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OmxpbmVUYWcubG9jYWxOYW1lKCkuaW1w
bCgpKTsKLSAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6bWFya2VyVGFnLmxvY2FsTmFt
ZSgpLmltcGwoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6Om1hc2tUYWcubG9j
YWxOYW1lKCkuaW1wbCgpKTsKLSAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6bWlzc2lu
Z19nbHlwaFRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOwotICAgICAgICBzX3RhZ0xpc3QuYWRkKFNW
R05hbWVzOjpwYXRoVGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5h
ZGQoU1ZHTmFtZXM6OnBvbHlnb25UYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKLSAgICAgICAgc190
YWdMaXN0LmFkZChTVkdOYW1lczo6cG9seWxpbmVUYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKLSAg
ICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6cmVjdFRhZy5sb2NhbE5hbWUoKS5pbXBsKCkp
OwotICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpzdmdUYWcubG9jYWxOYW1lKCkuaW1w
bCgpKTsKLSAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6dGV4dFRhZy5sb2NhbE5hbWUo
KS5pbXBsKCkpOwotICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjp1c2VUYWcubG9jYWxO
YW1lKCkuaW1wbCgpKTsKKyAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6YVRhZy5sb2Nh
bE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OmNpcmNsZVRhZy5sb2Nh
bE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OmVsbGlwc2VUYWcubG9j
YWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpnbHlwaFRhZy5sb2Nh
bE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OmdUYWcubG9jYWxOYW1l
KCkpOworICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjppbWFnZVRhZy5sb2NhbE5hbWUo
KSk7CisgICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OmxpbmVUYWcubG9jYWxOYW1lKCkp
OworICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjptYXJrZXJUYWcubG9jYWxOYW1lKCkp
OworICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjptYXNrVGFnLmxvY2FsTmFtZSgpKTsK
KyAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6bWlzc2luZ19nbHlwaFRhZy5sb2NhbE5h
bWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OnBhdGhUYWcubG9jYWxOYW1l
KCkpOworICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpwb2x5Z29uVGFnLmxvY2FsTmFt
ZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6cG9seWxpbmVUYWcubG9jYWxO
YW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpyZWN0VGFnLmxvY2FsTmFt
ZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6c3ZnVGFnLmxvY2FsTmFtZSgp
KTsKKyAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6dGV4dFRhZy5sb2NhbE5hbWUoKSk7
CisgICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OnVzZVRhZy5sb2NhbE5hbWUoKSk7CiAK
ICAgICAgICAgLy8gTm90IGxpc3RlZCBpbiB0aGUgZGVmaW5pdGlvbnMgaXMgdGhlIGNsaXBQYXRo
IGVsZW1lbnQsIHRoZSBTVkcgc3BlYyBzYXlzIHRob3VnaDoKICAgICAgICAgLy8gVGhlICJjbGlw
UGF0aCIgZWxlbWVudCBvciBhbnkgb2YgaXRzIGNoaWxkcmVuIGNhbiBzcGVjaWZ5IHByb3BlcnR5
ICJjbGlwLXBhdGgiLgogICAgICAgICAvLyBTbyB3ZSBoYXZlIHRvIGFkZCBjbGlwUGF0aFRhZyBo
ZXJlLCBvdGhlcndoaXNlIGNsaXAtcGF0aCBvbiBjbGlwUGF0aCB3aWxsIGZhaWwuCiAgICAgICAg
IC8vIChBbHJlYWR5IG1haWxlZCBTVkcgV0csIHdhaXRpbmcgZm9yIGEgc29sdXRpb24pCi0gICAg
ICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OmNsaXBQYXRoVGFnLmxvY2FsTmFtZSgpLmltcGwo
KSk7CisgICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OmNsaXBQYXRoVGFnLmxvY2FsTmFt
ZSgpKTsKIAogICAgICAgICAvLyBOb3QgbGlzdGVkIGluIHRoZSBkZWZpbml0aW9ucyBhcmUgdGhl
IHRleHQgY29udGVudCBlbGVtZW50cywgdGhvdWdoIGZpbHRlci9jbGlwcGVyL21hc2tlciBvbiB0
c3Bhbi90ZXh0Ly4uIGlzIGFsbG93ZWQuCiAgICAgICAgIC8vIChBbHJlYWR5IG1haWxlZCBTVkcg
V0csIHdhaXRpbmcgZm9yIGEgc29sdXRpb24pCi0gICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFt
ZXM6OmFsdEdseXBoVGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5h
ZGQoU1ZHTmFtZXM6OnRleHRQYXRoVGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7Ci0gICAgICAgIHNf
dGFnTGlzdC5hZGQoU1ZHTmFtZXM6OnRyZWZUYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKLSAgICAg
ICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6dHNwYW5UYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsK
KyAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6YWx0R2x5cGhUYWcubG9jYWxOYW1lKCkp
OworICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjp0ZXh0UGF0aFRhZy5sb2NhbE5hbWUo
KSk7CisgICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OnRyZWZUYWcubG9jYWxOYW1lKCkp
OworICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjp0c3BhblRhZy5sb2NhbE5hbWUoKSk7
CiAKICAgICAgICAgLy8gTm90IGxpc3RlZCBpbiB0aGUgZGVmaW5pdGlvbnMgaXMgdGhlIGZvcmVp
Z25PYmplY3QgZWxlbWVudCwgYnV0IGNsaXAtcGF0aAogICAgICAgICAvLyBpcyBhIHN1cHBvcnRl
ZCBhdHRyaWJ1dGUuCi0gICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OmZvcmVpZ25PYmpl
Y3RUYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKKyAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1l
czo6Zm9yZWlnbk9iamVjdFRhZy5sb2NhbE5hbWUoKSk7CiAKICAgICAgICAgLy8gRWxlbWVudHMg
dGhhdCB3ZSBpZ25vcmUsIGFzIGl0IGRvZXNuJ3QgbWFrZSBhbnkgc2Vuc2UuCiAgICAgICAgIC8v
IGRlZnMsIHBhdHRlcm4sIHN3aXRjaCAoRklYTUU6IE1haWwgU1ZHIFdHIGFib3V0IHRoZXNlKQpA
QCAtOTMsNDggKzkzLDQ4IEBAIHN0YXRpYyBIYXNoU2V0PEF0b21pY1N0cmluZ0ltcGwqPiYgY2xp
cHBlckZpbHRlck1hc2tlclRhZ3MoKQogICAgIHJldHVybiBzX3RhZ0xpc3Q7CiB9CiAKLXN0YXRp
YyBIYXNoU2V0PEF0b21pY1N0cmluZ0ltcGwqPiYgbWFya2VyVGFncygpCitzdGF0aWMgSGFzaFNl
dDxBdG9taWNTdHJpbmc+JiBtYXJrZXJUYWdzKCkKIHsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+LCBzX3RhZ0xpc3QsICgpKTsKKyAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKEhhc2hTZXQ8QXRvbWljU3RyaW5nPiwgc190YWdMaXN0LCAoKSk7CiAgICAg
aWYgKHNfdGFnTGlzdC5pc0VtcHR5KCkpIHsKLSAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1l
czo6bGluZVRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOwotICAgICAgICBzX3RhZ0xpc3QuYWRkKFNW
R05hbWVzOjpwYXRoVGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5h
ZGQoU1ZHTmFtZXM6OnBvbHlnb25UYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKLSAgICAgICAgc190
YWdMaXN0LmFkZChTVkdOYW1lczo6cG9seWxpbmVUYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKKyAg
ICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6bGluZVRhZy5sb2NhbE5hbWUoKSk7CisgICAg
ICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OnBhdGhUYWcubG9jYWxOYW1lKCkpOworICAgICAg
ICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpwb2x5Z29uVGFnLmxvY2FsTmFtZSgpKTsKKyAgICAg
ICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6cG9seWxpbmVUYWcubG9jYWxOYW1lKCkpOwogICAg
IH0KIAogICAgIHJldHVybiBzX3RhZ0xpc3Q7CiB9CiAKLXN0YXRpYyBIYXNoU2V0PEF0b21pY1N0
cmluZ0ltcGwqPiYgZmlsbEFuZFN0cm9rZVRhZ3MoKQorc3RhdGljIEhhc2hTZXQ8QXRvbWljU3Ry
aW5nPiYgZmlsbEFuZFN0cm9rZVRhZ3MoKQogewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoSGFz
aFNldDxBdG9taWNTdHJpbmdJbXBsKj4sIHNfdGFnTGlzdCwgKCkpOworICAgIERFRklORV9TVEFU
SUNfTE9DQUwoSGFzaFNldDxBdG9taWNTdHJpbmc+LCBzX3RhZ0xpc3QsICgpKTsKICAgICBpZiAo
c190YWdMaXN0LmlzRW1wdHkoKSkgewotICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjph
bHRHbHlwaFRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOwotICAgICAgICBzX3RhZ0xpc3QuYWRkKFNW
R05hbWVzOjpjaXJjbGVUYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKLSAgICAgICAgc190YWdMaXN0
LmFkZChTVkdOYW1lczo6ZWxsaXBzZVRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOwotICAgICAgICBz
X3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpsaW5lVGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7Ci0gICAg
ICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OnBhdGhUYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsK
LSAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6cG9seWdvblRhZy5sb2NhbE5hbWUoKS5p
bXBsKCkpOwotICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpwb2x5bGluZVRhZy5sb2Nh
bE5hbWUoKS5pbXBsKCkpOwotICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpyZWN0VGFn
LmxvY2FsTmFtZSgpLmltcGwoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OnRl
eHRUYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKLSAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1l
czo6dGV4dFBhdGhUYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKLSAgICAgICAgc190YWdMaXN0LmFk
ZChTVkdOYW1lczo6dHJlZlRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOwotICAgICAgICBzX3RhZ0xp
c3QuYWRkKFNWR05hbWVzOjp0c3BhblRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOworICAgICAgICBz
X3RhZ0xpc3QuYWRkKFNWR05hbWVzOjphbHRHbHlwaFRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAg
IHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OmNpcmNsZVRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAg
IHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OmVsbGlwc2VUYWcubG9jYWxOYW1lKCkpOworICAgICAg
ICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpsaW5lVGFnLmxvY2FsTmFtZSgpKTsKKyAgICAgICAg
c190YWdMaXN0LmFkZChTVkdOYW1lczo6cGF0aFRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNf
dGFnTGlzdC5hZGQoU1ZHTmFtZXM6OnBvbHlnb25UYWcubG9jYWxOYW1lKCkpOworICAgICAgICBz
X3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpwb2x5bGluZVRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAg
IHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OnJlY3RUYWcubG9jYWxOYW1lKCkpOworICAgICAgICBz
X3RhZ0xpc3QuYWRkKFNWR05hbWVzOjp0ZXh0VGFnLmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190
YWdMaXN0LmFkZChTVkdOYW1lczo6dGV4dFBhdGhUYWcubG9jYWxOYW1lKCkpOworICAgICAgICBz
X3RhZ0xpc3QuYWRkKFNWR05hbWVzOjp0cmVmVGFnLmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190
YWdMaXN0LmFkZChTVkdOYW1lczo6dHNwYW5UYWcubG9jYWxOYW1lKCkpOwogICAgIH0KIAogICAg
IHJldHVybiBzX3RhZ0xpc3Q7CiB9CiAKLXN0YXRpYyBIYXNoU2V0PEF0b21pY1N0cmluZ0ltcGwq
PiYgY2hhaW5hYmxlUmVzb3VyY2VUYWdzKCkKK3N0YXRpYyBIYXNoU2V0PEF0b21pY1N0cmluZz4m
IGNoYWluYWJsZVJlc291cmNlVGFncygpCiB7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChIYXNo
U2V0PEF0b21pY1N0cmluZ0ltcGwqPiwgc190YWdMaXN0LCAoKSk7CisgICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChIYXNoU2V0PEF0b21pY1N0cmluZz4sIHNfdGFnTGlzdCwgKCkpOwogICAgIGlmIChz
X3RhZ0xpc3QuaXNFbXB0eSgpKSB7Ci0gICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6Omxp
bmVhckdyYWRpZW50VGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5h
ZGQoU1ZHTmFtZXM6OmZpbHRlclRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOwotICAgICAgICBzX3Rh
Z0xpc3QuYWRkKFNWR05hbWVzOjpwYXR0ZXJuVGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7Ci0gICAg
ICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OnJhZGlhbEdyYWRpZW50VGFnLmxvY2FsTmFtZSgp
LmltcGwoKSk7CisgICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OmxpbmVhckdyYWRpZW50
VGFnLmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6ZmlsdGVy
VGFnLmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6cGF0dGVy
blRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OnJhZGlh
bEdyYWRpZW50VGFnLmxvY2FsTmFtZSgpKTsKICAgICB9CiAKICAgICByZXR1cm4gc190YWdMaXN0
OwpAQCAtMjAyLDEyICsyMDIsMTIgQEAgYm9vbCBTVkdSZXNvdXJjZXM6OmJ1aWxkQ2FjaGVkUmVz
b3VyY2VzKGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBTVkdSZW4KICAgICBTVkdE
b2N1bWVudEV4dGVuc2lvbnMqIGV4dGVuc2lvbnMgPSBkb2N1bWVudC0+YWNjZXNzU1ZHRXh0ZW5z
aW9ucygpOwogICAgIEFTU0VSVChleHRlbnNpb25zKTsKIAotICAgIEF0b21pY1N0cmluZ0ltcGwq
IHRhZ05hbWVJbXBsID0gZWxlbWVudC0+dGFnUU5hbWUoKS5sb2NhbE5hbWUoKS5pbXBsKCk7Ci0g
ICAgaWYgKCF0YWdOYW1lSW1wbCkKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIHRhZ05hbWUgPSBl
bGVtZW50LT5sb2NhbE5hbWUoKTsKKyAgICBpZiAodGFnTmFtZS5pc051bGwoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgYm9vbCBmb3VuZFJlc291cmNlcyA9IGZhbHNlOwotICAgIGlm
IChjbGlwcGVyRmlsdGVyTWFza2VyVGFncygpLmNvbnRhaW5zKHRhZ05hbWVJbXBsKSkgeworICAg
IGlmIChjbGlwcGVyRmlsdGVyTWFza2VyVGFncygpLmNvbnRhaW5zKHRhZ05hbWUpKSB7CiAgICAg
ICAgIGlmIChzdHlsZS0+aGFzQ2xpcHBlcigpKSB7CiAgICAgICAgICAgICBBdG9taWNTdHJpbmcg
aWQoc3R5bGUtPmNsaXBwZXJSZXNvdXJjZSgpKTsKICAgICAgICAgICAgIGlmIChzZXRDbGlwcGVy
KGdldFJlbmRlclNWR1Jlc291cmNlQnlJZDxSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXI+KGRvY3Vt
ZW50LCBpZCkpKQpAQCAtMjM1LDcgKzIzNSw3IEBAIGJvb2wgU1ZHUmVzb3VyY2VzOjpidWlsZENh
Y2hlZFJlc291cmNlcyhjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgU1ZHUmVuCiAg
ICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAobWFya2VyVGFncygpLmNvbnRhaW5zKHRhZ05hbWVJ
bXBsKSAmJiBzdHlsZS0+aGFzTWFya2VycygpKSB7CisgICAgaWYgKG1hcmtlclRhZ3MoKS5jb250
YWlucyh0YWdOYW1lKSAmJiBzdHlsZS0+aGFzTWFya2VycygpKSB7CiAgICAgICAgIEF0b21pY1N0
cmluZyBtYXJrZXJTdGFydElkKHN0eWxlLT5tYXJrZXJTdGFydFJlc291cmNlKCkpOwogICAgICAg
ICBpZiAoc2V0TWFya2VyU3RhcnQoZ2V0UmVuZGVyU1ZHUmVzb3VyY2VCeUlkPFJlbmRlclNWR1Jl
c291cmNlTWFya2VyPihkb2N1bWVudCwgbWFya2VyU3RhcnRJZCkpKQogICAgICAgICAgICAgZm91
bmRSZXNvdXJjZXMgPSB0cnVlOwpAQCAtMjU1LDcgKzI1NSw3IEBAIGJvb2wgU1ZHUmVzb3VyY2Vz
OjpidWlsZENhY2hlZFJlc291cmNlcyhjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3Qg
U1ZHUmVuCiAgICAgICAgICAgICByZWdpc3RlclBlbmRpbmdSZXNvdXJjZShleHRlbnNpb25zLCBt
YXJrZXJFbmRJZCwgZWxlbWVudCk7CiAgICAgfQogCi0gICAgaWYgKGZpbGxBbmRTdHJva2VUYWdz
KCkuY29udGFpbnModGFnTmFtZUltcGwpKSB7CisgICAgaWYgKGZpbGxBbmRTdHJva2VUYWdzKCku
Y29udGFpbnModGFnTmFtZSkpIHsKICAgICAgICAgaWYgKHN0eWxlLT5oYXNGaWxsKCkpIHsKICAg
ICAgICAgICAgIGJvb2wgaGFzUGVuZGluZ1Jlc291cmNlID0gZmFsc2U7CiAgICAgICAgICAgICBB
dG9taWNTdHJpbmcgaWQ7CkBAIC0yNzUsNyArMjc1LDcgQEAgYm9vbCBTVkdSZXNvdXJjZXM6OmJ1
aWxkQ2FjaGVkUmVzb3VyY2VzKGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBTVkdS
ZW4KICAgICAgICAgfQogICAgIH0KIAotICAgIGlmIChjaGFpbmFibGVSZXNvdXJjZVRhZ3MoKS5j
b250YWlucyh0YWdOYW1lSW1wbCkpIHsKKyAgICBpZiAoY2hhaW5hYmxlUmVzb3VyY2VUYWdzKCku
Y29udGFpbnModGFnTmFtZSkpIHsKICAgICAgICAgQXRvbWljU3RyaW5nIGlkKHRhcmdldFJlZmVy
ZW5jZUZyb21SZXNvdXJjZShlbGVtZW50KSk7CiAgICAgICAgIGlmIChzZXRMaW5rZWRSZXNvdXJj
ZShnZXRSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lckJ5SWQoZG9jdW1lbnQsIGlkKSkpCiAgICAg
ICAgICAgICBmb3VuZFJlc291cmNlcyA9IHRydWU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>