<?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>71054</bug_id>
          
          <creation_ts>2011-10-27 12:46:07 -0700</creation_ts>
          <short_desc>Loading track files and firing onload and onerror events on HTMLTrackElement</short_desc>
          <delta_ts>2011-10-31 09:36:19 -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>Media</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>
          <dependson>71125</dependson>
          <blocked>63042</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Anna Cavender">annacc</reporter>
          <assigned_to name="Anna Cavender">annacc</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>491835</commentid>
    <comment_count>0</comment_count>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2011-10-27 12:46:07 -0700</bug_when>
    <thetext>Implement load notifications.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>491853</commentid>
    <comment_count>1</comment_count>
      <attachid>112736</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2011-10-27 13:06:29 -0700</bug_when>
    <thetext>Created attachment 112736
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>491855</commentid>
    <comment_count>2</comment_count>
      <attachid>112736</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2011-10-27 13:08:23 -0700</bug_when>
    <thetext>Comment on attachment 112736
Patch

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

&gt; LayoutTests/media/track/track-load-error-readyState.html:10
&gt; +        endTest();

These constant will change to CAPS (e.g. TextTrack.ERROR) after this patch lands: https://bugs.webkit.org/show_bug.cgi?id=70951</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492424</commentid>
    <comment_count>3</comment_count>
      <attachid>112736</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-10-28 06:45:43 -0700</bug_when>
    <thetext>Comment on attachment 112736
Patch

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

&gt; Source/WebCore/html/HTMLMediaElement.cpp:850
&gt; +void HTMLMediaElement::loadNextTextTrack(HTMLTrackElement* track)
&gt; +{
&gt; +    track-&gt;load(ActiveDOMObject::scriptExecutionContext(), this);
&gt; +}

Nit: It is probably worth including a FIXME here noting the further setup that will be required to make this work correctly.


&gt; Source/WebCore/html/HTMLTrackElement.cpp:64
&gt; +    if (parent &amp;&amp; parent-&gt;isMediaElement())
&gt; +        static_cast&lt;HTMLMediaElement*&gt;(parentNode())-&gt;trackWasAdded(this);

This callback will result in an immediate call to HTMLTrackElement::load. We probably shouldn&apos;t trigger loading synchronously from here, but a FIXME to investigate is probably fine for now.


&gt; LayoutTests/media/track/track-load-error-readyState.html:6
&gt; +&lt;script src=../media-file.js&gt;&lt;/script&gt;
&gt; +&lt;script src=../video-test.js&gt;&lt;/script&gt;
&gt; +&lt;script&gt;
&gt; +
&gt; +    function trackError()
&gt; +    {

Nit: would rather that we use fully formed HTML files for media tests, eg. include an HTML5 DOCTYPE, &lt;html&gt;, &lt;head&gt;, &lt;body&gt;, etc.  Obviously fragments work just fine and there isn&apos;t an official WebKit convention, but I think the structure makes files easier to understand.


&gt; LayoutTests/media/track/track-load-from-element-readyState-expected.txt:1
&gt; +Tests the load event on HTMLTrackElement for src=&quot;...&quot; and LOADED readyState on TextTrack.

Nit: this comment is confusing, I expected to it was literally &quot;&lt;track src=&apos;...&apos;&gt;&quot;.


&gt; LayoutTests/media/track/track-load-from-src-readyState-expected.txt:1
&gt; +Tests the load event on HTMLTrackElement for src defined in JavaScript and LOADED readyState on TextTrack.

Nit: the src attribute is *set* from JavaScript, not defined.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492522</commentid>
    <comment_count>4</comment_count>
      <attachid>112736</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2011-10-28 10:42:31 -0700</bug_when>
    <thetext>Comment on attachment 112736
Patch

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

Thanks Eric!

&gt;&gt; Source/WebCore/html/HTMLMediaElement.cpp:850
&gt;&gt; +}
&gt; 
&gt; Nit: It is probably worth including a FIXME here noting the further setup that will be required to make this work correctly.

Done.

&gt;&gt; Source/WebCore/html/HTMLTrackElement.cpp:64
&gt;&gt; +        static_cast&lt;HTMLMediaElement*&gt;(parentNode())-&gt;trackWasAdded(this);
&gt; 
&gt; This callback will result in an immediate call to HTMLTrackElement::load. We probably shouldn&apos;t trigger loading synchronously from here, but a FIXME to investigate is probably fine for now.

Done.  I added a FIXME in HTMLMediaElement::loadNextTextTrack() because text tracks should always be loaded asynchronously.

&gt;&gt; LayoutTests/media/track/track-load-error-readyState.html:6
&gt;&gt; +    {
&gt; 
&gt; Nit: would rather that we use fully formed HTML files for media tests, eg. include an HTML5 DOCTYPE, &lt;html&gt;, &lt;head&gt;, &lt;body&gt;, etc.  Obviously fragments work just fine and there isn&apos;t an official WebKit convention, but I think the structure makes files easier to understand.

Done.

&gt;&gt; LayoutTests/media/track/track-load-from-element-readyState-expected.txt:1
&gt;&gt; +Tests the load event on HTMLTrackElement for src=&quot;...&quot; and LOADED readyState on TextTrack.
&gt; 
&gt; Nit: this comment is confusing, I expected to it was literally &quot;&lt;track src=&apos;...&apos;&gt;&quot;.

Done.

&gt;&gt; LayoutTests/media/track/track-load-from-src-readyState-expected.txt:1
&gt;&gt; +Tests the load event on HTMLTrackElement for src defined in JavaScript and LOADED readyState on TextTrack.
&gt; 
&gt; Nit: the src attribute is *set* from JavaScript, not defined.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492531</commentid>
    <comment_count>5</comment_count>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2011-10-28 10:58:19 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/98736</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492999</commentid>
    <comment_count>6</comment_count>
      <attachid>112979</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2011-10-29 17:51:07 -0700</bug_when>
    <thetext>Created attachment 112979
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493001</commentid>
    <comment_count>7</comment_count>
      <attachid>112981</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2011-10-29 19:39:27 -0700</bug_when>
    <thetext>Created attachment 112981
updating to ToT

Looks like this patch just needed an update to apply, but I&apos;ll need another r+.  Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493003</commentid>
    <comment_count>8</comment_count>
      <attachid>112982</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2011-10-29 19:45:58 -0700</bug_when>
    <thetext>Created attachment 112982
updating to ToT

One more try, let&apos;s see if this will apply.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493305</commentid>
    <comment_count>9</comment_count>
      <attachid>113047</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2011-10-31 07:21:52 -0700</bug_when>
    <thetext>Created attachment 113047
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493358</commentid>
    <comment_count>10</comment_count>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2011-10-31 09:36:19 -0700</bug_when>
    <thetext>Committed r98860: &lt;http://trac.webkit.org/changeset/98860&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112736</attachid>
            <date>2011-10-27 13:06:29 -0700</date>
            <delta_ts>2011-10-29 17:51:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71054-20111027130628.patch</filename>
            <type>text/plain</type>
            <size>14017</size>
            <attacher name="Anna Cavender">annacc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg2MTMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4ZTBhNDRmODBiYWIwOTA4
ZDJjZjgyMmRjYTI5MzRiMDY3NDJjMzgzLi4zM2ViODYzYzE0MjQ2MjM4MjBmYzBlOGI0MzIzMjI4
MjMwYWIyNjdiIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTEtMTAtMjcgIEFubmEg
Q2F2ZW5kZXIgIDxhbm5hY2NAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEltcGxlbWVudCBsb2Fk
IG5vdGlmaWNhdGlvbiBhbmQgZXZlbnRzIGZvciA8dHJhY2s+LgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNTQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czogbWVkaWEvdHJhY2svdHJhY2stbG9h
ZC1lcnJvci1yZWFkeVN0YXRlLmh0bWwKKyAgICAgICAgICAgICAgIG1lZGlhL3RyYWNrL3RyYWNr
LWxvYWQtZnJvbS1lbGVtZW50LXJlYWR5U3RhdGUuaHRtbAorICAgICAgICAgICAgICAgbWVkaWEv
dHJhY2svdHJhY2stbG9hZC1mcm9tLXNyYy1yZWFkeVN0YXRlLmh0bWwKKworICAgICAgICAqIGh0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50Ojpsb2FkVGV4dFRyYWNrcyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
Ojpsb2FkTmV4dFRleHRUcmFjayk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
Ojp0cmFja1dhc0FkZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnRy
YWNrV2lsbEJlUmVtb3ZlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp0
cmFja1NvdXJjZUNoYW5nZWQpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgor
ICAgICAgICAqIGh0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MVHJhY2tFbGVtZW50OjppbnNlcnRlZEludG9UcmVlKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxUcmFja0VsZW1lbnQ6OndpbGxSZW1vdmUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyYWNr
RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRy
YWNrRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgICogaHRtbC9IVE1MVHJhY2tF
bGVtZW50Lmg6CisgICAgICAgICogaHRtbC9Mb2FkYWJsZVRleHRUcmFjay5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpMb2FkYWJsZVRleHRUcmFjazo6Y3VlTG9hZGluZ0NvbXBsZXRlZCk6CisKIDIw
MTEtMTAtMjcgIE5hdCBEdWNhICA8bmR1Y2FAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHI5ODYxMi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuY3BwCmluZGV4IGRiNTM0ZWU1MDNhODVjMWJmMmExNmUzNzljMzAwYTdhNGU3ZWQwZDku
LmUwZjE2OGZkMzhlMThmZGM1OWEwYzE3YTQzYzEyZjZjN2VkZjFhZWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtODM5LDEzICs4MzksMTYgQEAgdm9pZCBI
VE1MTWVkaWFFbGVtZW50Ojpsb2FkVGV4dFRyYWNrcygpCiAgICAgICAgIHJldHVybjsKIAogICAg
IGZvciAoTm9kZSogbm9kZSA9IGZpcnN0Q2hpbGQoKTsgbm9kZTsgbm9kZSA9IG5vZGUtPm5leHRT
aWJsaW5nKCkpIHsKLSAgICAgICAgaWYgKG5vZGUtPmhhc1RhZ05hbWUodHJhY2tUYWcpKSB7Ci0g
ICAgICAgICAgICBIVE1MVHJhY2tFbGVtZW50KiB0cmFjayA9IHN0YXRpY19jYXN0PEhUTUxUcmFj
a0VsZW1lbnQqPihub2RlKTsKLSAgICAgICAgICAgIHRyYWNrLT5sb2FkKEFjdGl2ZURPTU9iamVj
dDo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB0aGlzKTsKLSAgICAgICAgfQorICAgICAgICBp
ZiAobm9kZS0+aGFzVGFnTmFtZSh0cmFja1RhZykpCisgICAgICAgICAgICBsb2FkTmV4dFRleHRU
cmFjayhzdGF0aWNfY2FzdDxIVE1MVHJhY2tFbGVtZW50Kj4obm9kZSkpOwogICAgIH0KIH0KIAor
dm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpsb2FkTmV4dFRleHRUcmFjayhIVE1MVHJhY2tFbGVtZW50
KiB0cmFjaykKK3sKKyAgICB0cmFjay0+bG9hZChBY3RpdmVET01PYmplY3Q6OnNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSwgdGhpcyk7Cit9CisKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dGV4dFRy
YWNrUmVhZHlTdGF0ZUNoYW5nZWQoVGV4dFRyYWNrKikKIHsKICAgICAvLyBGSVhNRSg2Mjg4NSk6
IEltcGxlbWVudC4KQEAgLTE5NzgsNiArMTk4MSwzOCBAQCBQYXNzUmVmUHRyPFRleHRUcmFjaz4g
SFRNTE1lZGlhRWxlbWVudDo6YWRkVHJhY2soY29uc3QgU3RyaW5nJiBraW5kLCBjb25zdCBTdHJp
bgogewogICAgIHJldHVybiBUZXh0VHJhY2s6OmNyZWF0ZSh0aGlzLCBraW5kLCBsYWJlbCwgbGFu
Z3VhZ2UpOwogfQorCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnRyYWNrV2FzQWRkZWQoSFRNTFRy
YWNrRWxlbWVudCogdHJhY2spCit7CisjaWYgIUxPR19ESVNBQkxFRAorICAgIGlmICh0cmFjay0+
aGFzVGFnTmFtZSh0cmFja1RhZykpIHsKKyAgICAgICAgS1VSTCB1cmwgPSB0cmFjay0+Z2V0Tm9u
RW1wdHlVUkxBdHRyaWJ1dGUoc3JjQXR0cik7CisgICAgICAgIExPRyhNZWRpYSwgIkhUTUxNZWRp
YUVsZW1lbnQ6OnRyYWNrV2FzQWRkZWQgLSAnc3JjJyBpcyAlcyIsIHVybEZvckxvZ2dpbmcodXJs
KS51dGY4KCkuZGF0YSgpKTsKKyAgICB9CisjZW5kaWYKKyAgICBsb2FkTmV4dFRleHRUcmFjayh0
cmFjayk7Cit9CisgCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnRyYWNrV2lsbEJlUmVtb3ZlZChI
VE1MVHJhY2tFbGVtZW50KiB0cmFjaykKK3sKKyNpZiAhTE9HX0RJU0FCTEVECisgICAgaWYgKHRy
YWNrLT5oYXNUYWdOYW1lKHRyYWNrVGFnKSkgeworICAgICAgICBLVVJMIHVybCA9IHRyYWNrLT5n
ZXROb25FbXB0eVVSTEF0dHJpYnV0ZShzcmNBdHRyKTsKKyAgICAgICAgTE9HKE1lZGlhLCAiSFRN
TE1lZGlhRWxlbWVudDo6dHJhY2tXaWxsQmVSZW1vdmVkIC0gJ3NyYycgaXMgJXMiLCB1cmxGb3JM
b2dnaW5nKHVybCkudXRmOCgpLmRhdGEoKSk7CisgICAgfQorI2VuZGlmCit9CisKK3ZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6dHJhY2tTb3VyY2VDaGFuZ2VkKEhUTUxUcmFja0VsZW1lbnQqIHRyYWNr
KQoreworI2lmICFMT0dfRElTQUJMRUQKKyAgICBpZiAodHJhY2stPmhhc1RhZ05hbWUodHJhY2tU
YWcpKSB7CisgICAgICAgIEtVUkwgdXJsID0gdHJhY2stPmdldE5vbkVtcHR5VVJMQXR0cmlidXRl
KHNyY0F0dHIpOworICAgICAgICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50Ojp0cmFja1Nv
dXJjZUNoYW5nZWQgLSAnc3JjJyBpcyAlcyIsIHVybEZvckxvZ2dpbmcodXJsKS51dGY4KCkuZGF0
YSgpKTsKKyAgICB9CisjZW5kaWYKKyAgICBsb2FkTmV4dFRleHRUcmFjayh0cmFjayk7Cit9CiAj
ZW5kaWYKIAogYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpoYXZlUG90ZW50aWFsU291cmNlQ2hpbGQo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCBmY2UzMmZhZjQ3ZGI5
MmYzNDNlN2M0MWFlYzQ3ZjlkYTg0MjRjODgwLi44MjBlOGFhNjU5NDRlYWQ5ZWVhNGIyN2ZjZjQ4
YmYyNjc3MWM3NTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAt
NTcsNiArNTcsOSBAQCBjbGFzcyBVaW50OEFycmF5OwogI2lmIEVOQUJMRShQTFVHSU5fUFJPWFlf
Rk9SX1ZJREVPKQogY2xhc3MgV2lkZ2V0OwogI2VuZGlmCisjaWYgRU5BQkxFKFZJREVPX1RSQUNL
KQorY2xhc3MgSFRNTFRyYWNrRWxlbWVudDsKKyNlbmRpZgogCiAvLyBGSVhNRTogVGhlIGluaGVy
aXRhbmNlIGZyb20gTWVkaWFQbGF5ZXJDbGllbnQgaGVyZSBzaG91bGQgYmUgcHJpdmF0ZSBpbmhl
cml0YW5jZS4KIC8vIEJ1dCBpdCBjYW4ndCBiZSB1bnRpbCB0aGUgQ2hyb21pdW0gV2ViTWVkaWFQ
bGF5ZXJDbGllbnRJbXBsIGNsYXNzIGlzIGZpeGVkIHNvIGl0CkBAIC0xODAsNiArMTgzLDkgQEAg
cHVibGljOgogCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgIFBhc3NSZWZQdHI8VGV4dFRy
YWNrPiBhZGRUcmFjayhjb25zdCBTdHJpbmcmIGtpbmQsIGNvbnN0IFN0cmluZyYgbGFiZWwgPSAi
IiwgY29uc3QgU3RyaW5nJiBsYW5ndWFnZSA9ICIiKTsKKyAgICB2aXJ0dWFsIHZvaWQgdHJhY2tX
YXNBZGRlZChIVE1MVHJhY2tFbGVtZW50Kik7CisgICAgdmlydHVhbCB2b2lkIHRyYWNrV2lsbEJl
UmVtb3ZlZChIVE1MVHJhY2tFbGVtZW50Kik7CisgICAgdmlydHVhbCB2b2lkIHRyYWNrU291cmNl
Q2hhbmdlZChIVE1MVHJhY2tFbGVtZW50Kik7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShQTFVHSU5f
UFJPWFlfRk9SX1ZJREVPKQpAQCAtMzUyLDYgKzM1OCw3IEBAIHByaXZhdGU6CiAKICNpZiBFTkFC
TEUoVklERU9fVFJBQ0spCiAgICAgdm9pZCBsb2FkVGV4dFRyYWNrcygpOworICAgIHZvaWQgbG9h
ZE5leHRUZXh0VHJhY2soSFRNTFRyYWNrRWxlbWVudCopOwogCiAgICAgLy8gVGV4dFRyYWNrQ2xp
ZW50CiAgICAgdmlydHVhbCB2b2lkIHRleHRUcmFja1JlYWR5U3RhdGVDaGFuZ2VkKFRleHRUcmFj
ayopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKaW5kZXggOTIwN2Q3
YTFhNDZkMzcxYzJiNGFlYzk1ZTMxZjY2ODhhZTUzYjhlNS4uMzVhZGU1Zjc4M2MwOWU5ZjA4MmI1
ZmUxZWNiODliMzAyNDBhMTBiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VHJhY2tFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1l
bnQuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgog
I2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJT
Y3JpcHRFdmVudExpc3RlbmVyLmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKQEAgLTU5LDIy
ICs2MCw0MSBAQCB2b2lkIEhUTUxUcmFja0VsZW1lbnQ6Omluc2VydGVkSW50b1RyZWUoYm9vbCBk
ZWVwKQogewogICAgIEhUTUxFbGVtZW50OjppbnNlcnRlZEludG9UcmVlKGRlZXApOwogICAgIEVs
ZW1lbnQqIHBhcmVudCA9IHBhcmVudEVsZW1lbnQoKTsKLSAgICBpZiAocGFyZW50ICYmIHBhcmVu
dC0+aXNNZWRpYUVsZW1lbnQoKSkgewotICAgICAgICAvLyBUT0RPKGFubmFjYyk6Ci0gICAgICAg
IC8vIHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1lbnQqPihwYXJlbnROb2RlKCkpLT50cmFja1dh
c0FkZGVkKHRoaXMpOwotICAgIH0KKyAgICBpZiAocGFyZW50ICYmIHBhcmVudC0+aXNNZWRpYUVs
ZW1lbnQoKSkKKyAgICAgICAgc3RhdGljX2Nhc3Q8SFRNTE1lZGlhRWxlbWVudCo+KHBhcmVudE5v
ZGUoKSktPnRyYWNrV2FzQWRkZWQodGhpcyk7CiB9CiAKIHZvaWQgSFRNTFRyYWNrRWxlbWVudDo6
d2lsbFJlbW92ZSgpCiB7CiAgICAgRWxlbWVudCogcGFyZW50ID0gcGFyZW50RWxlbWVudCgpOwot
ICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LT5pc01lZGlhRWxlbWVudCgpKSB7Ci0gICAgICAgIC8v
IFRPRE8oYW5uYWNjKToKLSAgICAgICAgLy8gc3RhdGljX2Nhc3Q8SFRNTE1lZGlhRWxlbWVudCo+
KHBhcmVudE5vZGUoKSktPnRyYWNrV2lsbEJlUmVtb3ZlZCh0aGlzKTsKLSAgICB9CisgICAgaWYg
KHBhcmVudCAmJiBwYXJlbnQtPmlzTWVkaWFFbGVtZW50KCkpCisgICAgICAgIHN0YXRpY19jYXN0
PEhUTUxNZWRpYUVsZW1lbnQqPihwYXJlbnROb2RlKCkpLT50cmFja1dpbGxCZVJlbW92ZWQodGhp
cyk7CiAgICAgSFRNTEVsZW1lbnQ6OndpbGxSZW1vdmUoKTsKIH0KIAordm9pZCBIVE1MVHJhY2tF
bGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqIGF0dHJpYnV0ZSkKK3sKKyAg
ICBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSA9IGF0dHJpYnV0ZS0+bmFtZSgpOworICAg
IAorICAgIGlmIChhdHRyTmFtZSA9PSBvbmxvYWRBdHRyKQorICAgICAgICBzZXRBdHRyaWJ1dGVF
dmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5sb2FkRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50
TGlzdGVuZXIodGhpcywgYXR0cmlidXRlKSk7CisgICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gb25l
cnJvckF0dHIpCisgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygp
LmVycm9yRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cmlidXRl
KSk7CisgICAgZWxzZQorICAgICAgICBIVE1MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUo
YXR0cmlidXRlKTsKK30KKwordm9pZCBIVE1MVHJhY2tFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2Vk
KEF0dHJpYnV0ZSogYXR0ciwgYm9vbCBwcmVzZXJ2ZURlY2xzKQoreworICAgIEhUTUxFbGVtZW50
OjphdHRyaWJ1dGVDaGFuZ2VkKGF0dHIsIHByZXNlcnZlRGVjbHMpOworCisgICAgY29uc3QgUXVh
bGlmaWVkTmFtZSYgYXR0ck5hbWUgPSBhdHRyLT5uYW1lKCk7CisgICAgaWYgKGF0dHJOYW1lID09
IHNyY0F0dHIpIHsKKyAgICAgICAgaWYgKCFnZXRBdHRyaWJ1dGUoc3JjQXR0cikuaXNFbXB0eSgp
ICYmIHBhcmVudE5vZGUoKSkKKyAgICAgICAgICAgIHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1l
bnQqPihwYXJlbnROb2RlKCkpLT50cmFja1NvdXJjZUNoYW5nZWQodGhpcyk7CisgICAgfQorfQor
CiBLVVJMIEhUTUxUcmFja0VsZW1lbnQ6OnNyYygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGRvY3Vt
ZW50KCktPmNvbXBsZXRlVVJMKGdldEF0dHJpYnV0ZShzcmNBdHRyKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFRyYWNrRWxlbWVudC5oCmluZGV4IDViMzAwMmNlOTMwMTNkMWM1M2UyOTFmZjVjMzY5
MzRmNzM5MmI3MzYuLmRkNDExODBmZTljMDVjOTIzZGNiOTcyYjg0ODcwNjQxMmI2YmU0ODEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5oCkBAIC02MCw2ICs2MCw5IEBAIHBy
aXZhdGU6CiAgICAgSFRNTFRyYWNrRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1l
bnQqKTsKICAgICB2aXJ0dWFsIH5IVE1MVHJhY2tFbGVtZW50KCk7CiAKKyAgICB2aXJ0dWFsIHZv
aWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7CisgICAgdmlydHVhbCB2b2lkIGF0
dHJpYnV0ZUNoYW5nZWQoQXR0cmlidXRlKiwgYm9vbCBwcmVzZXJ2ZURlY2xzKTsKKwogICAgIHZp
cnR1YWwgdm9pZCBpbnNlcnRlZEludG9UcmVlKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCB3aWxs
UmVtb3ZlKCk7CiAgICAgdmlydHVhbCBib29sIGlzVVJMQXR0cmlidXRlKEF0dHJpYnV0ZSopIGNv
bnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9Mb2FkYWJsZVRleHRUcmFjay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0xvYWRhYmxlVGV4dFRyYWNrLmNwcAppbmRleCAxNTRl
NGUwOTU3OTUxMjg4NTJiMmM1YWQ3MjAxMzMzMWViMzFhNjYxLi4zZDZmOGMzN2UxOWY3MTAzMzIy
ODBmNjU4NDI3MjY3NTRiYjdiZTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0xv
YWRhYmxlVGV4dFRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0xvYWRhYmxlVGV4
dFRyYWNrLmNwcApAQCAtNjMsMTEgKzYzLDE0IEBAIHZvaWQgTG9hZGFibGVUZXh0VHJhY2s6OmN1
ZUxvYWRpbmdTdGFydGVkKFRleHRUcmFja0xvYWRlciogbG9hZGVyKQogICAgIHNldFJlYWR5U3Rh
dGUoVGV4dFRyYWNrOjpMb2FkaW5nKTsKIH0KIAotdm9pZCBMb2FkYWJsZVRleHRUcmFjazo6Y3Vl
TG9hZGluZ0NvbXBsZXRlZChUZXh0VHJhY2tMb2FkZXIqIGxvYWRlciwgYm9vbCkKK3ZvaWQgTG9h
ZGFibGVUZXh0VHJhY2s6OmN1ZUxvYWRpbmdDb21wbGV0ZWQoVGV4dFRyYWNrTG9hZGVyKiBsb2Fk
ZXIsIGJvb2wgbG9hZGluZ0ZhaWxlZCkKIHsKICAgICBBU1NFUlRfVU5VU0VEKGxvYWRlciwgbV9s
b2FkZXIgPT0gbG9hZGVyKTsKIAotICAgIC8vIEZJWE1FKDYyODg1KTogSW1wbGVtZW50LgorICAg
IGxvYWRpbmdGYWlsZWQgPyBzZXRSZWFkeVN0YXRlKFRleHRUcmFjazo6RXJyb3IpIDogc2V0UmVh
ZHlTdGF0ZShUZXh0VHJhY2s6OkxvYWRlZCk7CisKKyAgICBpZiAobV9sb2FkaW5nQ2xpZW50KQor
ICAgICAgICBtX2xvYWRpbmdDbGllbnQtPnRleHRUcmFja0xvYWRpbmdDb21wbGV0ZWQodGhpcywg
bG9hZGluZ0ZhaWxlZCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjMDVm
NjQwNzBjYWIwMDVkNTQyZjE4NjJiY2MwNjU1ZmMwYzEyMmRkLi5mZGFlNTAwNGI5YzFiYTljYjlm
ODVjNmZiYzBhMWM3ZmRjM2ZmMzIwIDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMTAtMjcg
IEFubmEgQ2F2ZW5kZXIgIDxhbm5hY2NAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEltcGxlbWVu
dCBsb2FkIG5vdGlmaWNhdGlvbiBhbmQgZXZlbnRzIGZvciA8dHJhY2s+LgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNTQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLWxv
YWQtZXJyb3ItcmVhZHlTdGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS90cmFjay90
cmFjay1sb2FkLWZyb20tZWxlbWVudC1yZWFkeVN0YXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IG1lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZnJvbS1zcmMtcmVhZHlTdGF0ZS5odG1sOiBBZGRlZC4K
KwogMjAxMS0xMC0yNyAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8xMDI2MjIwNT4gQWxsb3cgY29sdW1uIHByb2dyZXNzaW9uIHRvIGJl
IGluZGVwZW5kZW50IG9mIHdyaXRpbmcgbW9kZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVk
aWEvdHJhY2svdHJhY2stbG9hZC1lcnJvci1yZWFkeVN0YXRlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZXJyb3ItcmVhZHlTdGF0ZS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOWUyZDAwZWYwZGFjODhiOTFiYTZmYWY4YWJjYjJjZDdiZjFlZDZiYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZXJy
b3ItcmVhZHlTdGF0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitUZXN0cyB0aGUgZXJy
b3IgZXZlbnQgb24gSFRNTFRyYWNrRWxlbWVudCBhbmQgRVJST1IgcmVhZHlTdGF0ZSBvbiBUZXh0
VHJhY2suCisKK0VWRU5UKGVycm9yKQorRVhQRUNURUQgKHRyYWNrLnRyYWNrLnJlYWR5U3RhdGUg
PT0gJzMnKSBPSworRU5EIE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEv
dHJhY2svdHJhY2stbG9hZC1lcnJvci1yZWFkeVN0YXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRp
YS90cmFjay90cmFjay1sb2FkLWVycm9yLXJlYWR5U3RhdGUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTQ3
MzMxZWZmNWE3NDYzNmIyNjM2MzI3ZWNmYTNlYjNkZmViMmE5Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbG9hZC1lcnJvci1yZWFkeVN0YXRlLmh0bWwK
QEAgLTAsMCArMSwxNyBAQAorPHNjcmlwdCBzcmM9Li4vbWVkaWEtZmlsZS5qcz48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPS4uL3ZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCisgICAg
ZnVuY3Rpb24gdHJhY2tFcnJvcigpCisgICAgeworICAgICAgICBjb25zb2xlV3JpdGUoIkVWRU5U
KGVycm9yKSIpOworICAgICAgICB0cmFjayA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0
VHJhY2tFcnJvcicpOyAKKyAgICAgICAgdGVzdEV4cGVjdGVkKCJ0cmFjay50cmFjay5yZWFkeVN0
YXRlIiwgVGV4dFRyYWNrLkVycm9yKTsKKyAgICAgICAgZW5kVGVzdCgpOworICAgIH0KKworPC9z
Y3JpcHQ+Cis8cD5UZXN0cyB0aGUgZXJyb3IgZXZlbnQgb24gSFRNTFRyYWNrRWxlbWVudCBhbmQg
RVJST1IgcmVhZHlTdGF0ZSBvbiBUZXh0VHJhY2suPC9wPgorPHZpZGVvIGlkPSJ2aWRlb3Rlc3Rz
Ij4KKyAgICA8dHJhY2sgaWQ9InRlc3RUcmFja0Vycm9yIiBzcmM9Imp1bmsiIG9uZXJyb3I9InRy
YWNrRXJyb3IoKSI+Cis8L3ZpZGVvPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJh
Y2svdHJhY2stbG9hZC1mcm9tLWVsZW1lbnQtcmVhZHlTdGF0ZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tZWxlbWVudC1yZWFkeVN0YXRlLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYzEwNTQ2YzQ4NGJhN2M0YzQ4YzU3YzllYWMxZDNiZmIw
OWZiY2RjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2st
bG9hZC1mcm9tLWVsZW1lbnQtcmVhZHlTdGF0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBA
CitUZXN0cyB0aGUgbG9hZCBldmVudCBvbiBIVE1MVHJhY2tFbGVtZW50IGZvciBzcmM9Ii4uLiIg
YW5kIExPQURFRCByZWFkeVN0YXRlIG9uIFRleHRUcmFjay4KKworRVZFTlQobG9hZCkKK0VYUEVD
VEVEICh0cmFjay50cmFjay5yZWFkeVN0YXRlID09ICcyJykgT0sKK0VORCBPRiBURVNUCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZnJvbS1lbGVtZW50
LXJlYWR5U3RhdGUuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZnJv
bS1lbGVtZW50LXJlYWR5U3RhdGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YjM1Mjk4ZmQ2MGQ3NzA2MDJj
OTYwNDJhZDE5ZTVjZmU5YjFhMThhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVk
aWEvdHJhY2svdHJhY2stbG9hZC1mcm9tLWVsZW1lbnQtcmVhZHlTdGF0ZS5odG1sCkBAIC0wLDAg
KzEsMTcgQEAKKzxzY3JpcHQgc3JjPS4uL21lZGlhLWZpbGUuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0uLi92aWRlby10ZXN0LmpzPjwvc2NyaXB0PgorPHNjcmlwdD4KKworICAgIGZ1bmN0aW9u
IHRyYWNrTG9hZGVkKCkKKyAgICB7CisgICAgICAgIGNvbnNvbGVXcml0ZSgiRVZFTlQobG9hZCki
KTsKKyAgICAgICAgdHJhY2sgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdFRyYWNrU3Jj
Jyk7IAorICAgICAgICB0ZXN0RXhwZWN0ZWQoInRyYWNrLnRyYWNrLnJlYWR5U3RhdGUiLCBUZXh0
VHJhY2suTG9hZGVkKTsKKyAgICAgICAgZW5kVGVzdCgpOworICAgIH0KKyAgICAKKzwvc2NyaXB0
PgorPHA+VGVzdHMgdGhlIGxvYWQgZXZlbnQgb24gSFRNTFRyYWNrRWxlbWVudCBmb3Igc3JjPSIu
Li4iIGFuZCBMT0FERUQgcmVhZHlTdGF0ZSBvbiBUZXh0VHJhY2suPC9wPgorPHZpZGVvPgorICAg
IDx0cmFjayBpZD0idGVzdFRyYWNrU3JjIiBzcmM9ImNhcHRpb25zLXdlYnZ0dC90YzAwNC13ZWJ2
dHQtZmlsZS52dHQiIG9ubG9hZD0idHJhY2tMb2FkZWQoKSI+Cis8L3ZpZGVvPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3Ry
YWNrLWxvYWQtZnJvbS1zcmMtcmVhZHlTdGF0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9t
ZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tc3JjLXJlYWR5U3RhdGUtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjBlNjZhZmZhZjRiZDNiYjQ1NThlMTc3ODRhMGNiYjZjYzM1M2RkODAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tc3Jj
LXJlYWR5U3RhdGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorVGVzdHMgdGhlIGxvYWQg
ZXZlbnQgb24gSFRNTFRyYWNrRWxlbWVudCBmb3Igc3JjIGRlZmluZWQgaW4gSmF2YVNjcmlwdCBh
bmQgTE9BREVEIHJlYWR5U3RhdGUgb24gVGV4dFRyYWNrLgorCitFWFBFQ1RFRCAodHJhY2sudHJh
Y2sucmVhZHlTdGF0ZSA9PSAnMCcpIE9LCitFVkVOVChsb2FkKQorRVhQRUNURUQgKHRyYWNrLnRy
YWNrLnJlYWR5U3RhdGUgPT0gJzInKSBPSworRU5EIE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbG9hZC1mcm9tLXNyYy1yZWFkeVN0YXRlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tc3JjLXJlYWR5U3RhdGUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MGMyOTQxODQwNjJkYjI2YjlkNzY0NGU4ZDhkYzQ4MjFhMzk0NzIz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbG9hZC1m
cm9tLXNyYy1yZWFkeVN0YXRlLmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPHNjcmlwdCBzcmM9Li4v
bWVkaWEtZmlsZS5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS4uL3ZpZGVvLXRlc3QuanM+PC9z
Y3JpcHQ+Cis8cD5UZXN0cyB0aGUgbG9hZCBldmVudCBvbiBIVE1MVHJhY2tFbGVtZW50IGZvciBz
cmMgZGVmaW5lZCBpbiBKYXZhU2NyaXB0IGFuZCBMT0FERUQgcmVhZHlTdGF0ZSBvbiBUZXh0VHJh
Y2suPC9wPgorPHZpZGVvPgorICAgIDx0cmFjayBpZD0idGVzdFRyYWNrRW1wdHkiPgorPC92aWRl
bz4KKzxzY3JpcHQ+CisKKyAgICBmdW5jdGlvbiB0cmFja0xvYWRlZCgpCisgICAgeworICAgICAg
ICBjb25zb2xlV3JpdGUoIkVWRU5UKGxvYWQpIik7CisgICAgICAgIHRlc3RFeHBlY3RlZCgidHJh
Y2sudHJhY2sucmVhZHlTdGF0ZSIsIFRleHRUcmFjay5Mb2FkZWQpOworICAgICAgICBlbmRUZXN0
KCk7CisgICAgfQorCisgICAgdHJhY2sgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdFRy
YWNrRW1wdHknKTsKKyAgICB0ZXN0RXhwZWN0ZWQoInRyYWNrLnRyYWNrLnJlYWR5U3RhdGUiLCBU
ZXh0VHJhY2suTm9uZSk7CisgICAgdHJhY2suYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0
aW9uICgpIHsgdHJhY2tMb2FkZWQoKTsgfSwgdHJ1ZSk7CisgICAgdHJhY2suc3JjID0gImNhcHRp
b25zLXdlYnZ0dC90YzAwNC13ZWJ2dHQtZmlsZS52dHQiOyAgICAKKworPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112979</attachid>
            <date>2011-10-29 17:51:07 -0700</date>
            <delta_ts>2011-10-29 19:39:23 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-71054-20111029175106.patch</filename>
            <type>text/plain</type>
            <size>15208</size>
            <attacher name="Anna Cavender">annacc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg4MjEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzNGRkOTE4MjYzNmUzZmE5
MTQyNTFlMzcwMWM5MjYwZTFjOTA1ODlmLi5kMjBlNmUwODc1ZDdlODI2NDIxZDEyY2NlZGNhMTk4
MTlhYTljZWU2IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMTAtMjkgIEFubmEg
Q2F2ZW5kZXIgIDxhbm5hY2NAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEltcGxlbWVudCBsb2Fk
IG5vdGlmaWNhdGlvbiBhbmQgZXZlbnRzIGZvciA8dHJhY2s+LgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNTQKKworICAgICAgICBSZXZpZXdlZCBi
eSBFcmljIENhcmxzb24uCisKKyAgICAgICAgVGVzdHM6IG1lZGlhL3RyYWNrL3RyYWNrLWxvYWQt
ZXJyb3ItcmVhZHlTdGF0ZS5odG1sCisgICAgICAgICAgICAgICBtZWRpYS90cmFjay90cmFjay1s
b2FkLWZyb20tZWxlbWVudC1yZWFkeVN0YXRlLmh0bWwKKyAgICAgICAgICAgICAgIG1lZGlhL3Ry
YWNrL3RyYWNrLWxvYWQtZnJvbS1zcmMtcmVhZHlTdGF0ZS5odG1sCisKKyAgICAgICAgKiBodG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6dHJhY2tXYXNBZGRlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp0
cmFja1dpbGxCZVJlbW92ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
dHJhY2tTb3VyY2VDaGFuZ2VkKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoK
KyAgICAgICAgKiBodG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTFRyYWNrRWxlbWVudDo6aW5zZXJ0ZWRJbnRvVHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MVHJhY2tFbGVtZW50Ojp3aWxsUmVtb3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmFj
a0VsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxU
cmFja0VsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQpOgorICAgICAgICAqIGh0bWwvSFRNTFRyYWNr
RWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvTG9hZGFibGVUZXh0VHJhY2suY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TG9hZGFibGVUZXh0VHJhY2s6OmN1ZUxvYWRpbmdDb21wbGV0ZWQpOgorCiAy
MDExLTEwLTI5ICBEYW5pZWwgQ2hlbmcgIDxkY2hlbmdAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJlbmFtZSBEYXRhVHJhbnNmZXJJdGVtcyB0byBEYXRhVHJhbnNmZXJJdGVtTGlzdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggZjVlM2ZkZjE4MjA0Y2ZkZTg5
MTFlMTNiYzA3Y2NlZWJjMDA1ZDI3Yi4uM2QxYzRmYTlkYTIxNjIzZTM0ZmEyNzE4ZTUzNmJhNjA4
YjMyYmQxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0x
OTkzLDYgKzE5OTMsMzggQEAgUGFzc1JlZlB0cjxUZXh0VHJhY2s+IEhUTUxNZWRpYUVsZW1lbnQ6
OmFkZFRyYWNrKGNvbnN0IFN0cmluZyYga2luZCwgY29uc3QgU3RyaW4KICAgICBtX3RleHRUcmFj
a3MuYXBwZW5kKHRleHRUcmFjayk7CiAgICAgcmV0dXJuIHRleHRUcmFjay5yZWxlYXNlKCk7CiB9
CisKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dHJhY2tXYXNBZGRlZChIVE1MVHJhY2tFbGVtZW50
KiB0cmFjaykKK3sKKyNpZiAhTE9HX0RJU0FCTEVECisgICAgaWYgKHRyYWNrLT5oYXNUYWdOYW1l
KHRyYWNrVGFnKSkgeworICAgICAgICBLVVJMIHVybCA9IHRyYWNrLT5nZXROb25FbXB0eVVSTEF0
dHJpYnV0ZShzcmNBdHRyKTsKKyAgICAgICAgTE9HKE1lZGlhLCAiSFRNTE1lZGlhRWxlbWVudDo6
dHJhY2tXYXNBZGRlZCAtICdzcmMnIGlzICVzIiwgdXJsRm9yTG9nZ2luZyh1cmwpLnV0ZjgoKS5k
YXRhKCkpOworICAgIH0KKyNlbmRpZgorICAgIGxvYWROZXh0VGV4dFRyYWNrKHRyYWNrKTsKK30K
KyAKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dHJhY2tXaWxsQmVSZW1vdmVkKEhUTUxUcmFja0Vs
ZW1lbnQqIHRyYWNrKQoreworI2lmICFMT0dfRElTQUJMRUQKKyAgICBpZiAodHJhY2stPmhhc1Rh
Z05hbWUodHJhY2tUYWcpKSB7CisgICAgICAgIEtVUkwgdXJsID0gdHJhY2stPmdldE5vbkVtcHR5
VVJMQXR0cmlidXRlKHNyY0F0dHIpOworICAgICAgICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVt
ZW50Ojp0cmFja1dpbGxCZVJlbW92ZWQgLSAnc3JjJyBpcyAlcyIsIHVybEZvckxvZ2dpbmcodXJs
KS51dGY4KCkuZGF0YSgpKTsKKyAgICB9CisjZW5kaWYKK30KKwordm9pZCBIVE1MTWVkaWFFbGVt
ZW50Ojp0cmFja1NvdXJjZUNoYW5nZWQoSFRNTFRyYWNrRWxlbWVudCogdHJhY2spCit7CisjaWYg
IUxPR19ESVNBQkxFRAorICAgIGlmICh0cmFjay0+aGFzVGFnTmFtZSh0cmFja1RhZykpIHsKKyAg
ICAgICAgS1VSTCB1cmwgPSB0cmFjay0+Z2V0Tm9uRW1wdHlVUkxBdHRyaWJ1dGUoc3JjQXR0cik7
CisgICAgICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1lbnQ6OnRyYWNrU291cmNlQ2hhbmdl
ZCAtICdzcmMnIGlzICVzIiwgdXJsRm9yTG9nZ2luZyh1cmwpLnV0ZjgoKS5kYXRhKCkpOworICAg
IH0KKyNlbmRpZgorICAgIGxvYWROZXh0VGV4dFRyYWNrKHRyYWNrKTsKK30KICNlbmRpZgogCiBi
b29sIEhUTUxNZWRpYUVsZW1lbnQ6OmhhdmVQb3RlbnRpYWxTb3VyY2VDaGlsZCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IDJiZDAzMzM0ZTY2MTM4ZGUxNmNkZjM5
M2QwMTliNjU0NTgxNjA5ZmQuLjBkMmY5ZmM0OWUxMDBjYjUxN2JlZjBkMTUwYWM0Zjc3YTU3NWU5
ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC0xODEsNiArMTgx
LDkgQEAgcHVibGljOgogCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgIFBhc3NSZWZQdHI8
VGV4dFRyYWNrPiBhZGRUcmFjayhjb25zdCBTdHJpbmcmIGtpbmQsIGNvbnN0IFN0cmluZyYgbGFi
ZWwgPSAiIiwgY29uc3QgU3RyaW5nJiBsYW5ndWFnZSA9ICIiKTsKKyAgICB2aXJ0dWFsIHZvaWQg
dHJhY2tXYXNBZGRlZChIVE1MVHJhY2tFbGVtZW50Kik7CisgICAgdmlydHVhbCB2b2lkIHRyYWNr
V2lsbEJlUmVtb3ZlZChIVE1MVHJhY2tFbGVtZW50Kik7CisgICAgdmlydHVhbCB2b2lkIHRyYWNr
U291cmNlQ2hhbmdlZChIVE1MVHJhY2tFbGVtZW50Kik7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShQ
TFVHSU5fUFJPWFlfRk9SX1ZJREVPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MVHJhY2tFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVu
dC5jcHAKaW5kZXggOTIwN2Q3YTFhNDZkMzcxYzJiNGFlYzk1ZTMxZjY2ODhhZTUzYjhlNS4uMDUx
ZTk4MGQ0MTllMTNhZGEzYWIzNmJiOWQwMTM0ZGVlYjA1MThhNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiSFRN
TE1lZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkxvZ2dp
bmcuaCIKKyNpbmNsdWRlICJTY3JpcHRFdmVudExpc3RlbmVyLmgiCiAKIHVzaW5nIG5hbWVzcGFj
ZSBzdGQ7CiAKQEAgLTU5LDIyICs2MCw0MSBAQCB2b2lkIEhUTUxUcmFja0VsZW1lbnQ6Omluc2Vy
dGVkSW50b1RyZWUoYm9vbCBkZWVwKQogewogICAgIEhUTUxFbGVtZW50OjppbnNlcnRlZEludG9U
cmVlKGRlZXApOwogICAgIEVsZW1lbnQqIHBhcmVudCA9IHBhcmVudEVsZW1lbnQoKTsKLSAgICBp
ZiAocGFyZW50ICYmIHBhcmVudC0+aXNNZWRpYUVsZW1lbnQoKSkgewotICAgICAgICAvLyBUT0RP
KGFubmFjYyk6Ci0gICAgICAgIC8vIHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1lbnQqPihwYXJl
bnROb2RlKCkpLT50cmFja1dhc0FkZGVkKHRoaXMpOwotICAgIH0KKyAgICBpZiAocGFyZW50ICYm
IHBhcmVudC0+aXNNZWRpYUVsZW1lbnQoKSkKKyAgICAgICAgc3RhdGljX2Nhc3Q8SFRNTE1lZGlh
RWxlbWVudCo+KHBhcmVudE5vZGUoKSktPnRyYWNrV2FzQWRkZWQodGhpcyk7CiB9CiAKIHZvaWQg
SFRNTFRyYWNrRWxlbWVudDo6d2lsbFJlbW92ZSgpCiB7CiAgICAgRWxlbWVudCogcGFyZW50ID0g
cGFyZW50RWxlbWVudCgpOwotICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LT5pc01lZGlhRWxlbWVu
dCgpKSB7Ci0gICAgICAgIC8vIFRPRE8oYW5uYWNjKToKLSAgICAgICAgLy8gc3RhdGljX2Nhc3Q8
SFRNTE1lZGlhRWxlbWVudCo+KHBhcmVudE5vZGUoKSktPnRyYWNrV2lsbEJlUmVtb3ZlZCh0aGlz
KTsKLSAgICB9CisgICAgaWYgKHBhcmVudCAmJiBwYXJlbnQtPmlzTWVkaWFFbGVtZW50KCkpCisg
ICAgICAgIHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1lbnQqPihwYXJlbnROb2RlKCkpLT50cmFj
a1dpbGxCZVJlbW92ZWQodGhpcyk7CiAgICAgSFRNTEVsZW1lbnQ6OndpbGxSZW1vdmUoKTsKIH0K
IAordm9pZCBIVE1MVHJhY2tFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUq
IGF0dHJpYnV0ZSkKK3sKKyAgICBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSA9IGF0dHJp
YnV0ZS0+bmFtZSgpOworCisgICAgaWYgKGF0dHJOYW1lID09IG9ubG9hZEF0dHIpCisgICAgICAg
IHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmxvYWRFdmVudCwgY3JlYXRl
QXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyaWJ1dGUpKTsKKyAgICBlbHNlIGlmIChh
dHRyTmFtZSA9PSBvbmVycm9yQXR0cikKKyAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5l
cihldmVudE5hbWVzKCkuZXJyb3JFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0
aGlzLCBhdHRyaWJ1dGUpKTsKKyAgICBlbHNlCisgICAgICAgIEhUTUxFbGVtZW50OjpwYXJzZU1h
cHBlZEF0dHJpYnV0ZShhdHRyaWJ1dGUpOworfQorCit2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OmF0
dHJpYnV0ZUNoYW5nZWQoQXR0cmlidXRlKiBhdHRyLCBib29sIHByZXNlcnZlRGVjbHMpCit7Cisg
ICAgSFRNTEVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQoYXR0ciwgcHJlc2VydmVEZWNscyk7CisK
KyAgICBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSA9IGF0dHItPm5hbWUoKTsKKyAgICBp
ZiAoYXR0ck5hbWUgPT0gc3JjQXR0cikgeworICAgICAgICBpZiAoIWdldEF0dHJpYnV0ZShzcmNB
dHRyKS5pc0VtcHR5KCkgJiYgcGFyZW50Tm9kZSgpKQorICAgICAgICAgICAgc3RhdGljX2Nhc3Q8
SFRNTE1lZGlhRWxlbWVudCo+KHBhcmVudE5vZGUoKSktPnRyYWNrU291cmNlQ2hhbmdlZCh0aGlz
KTsKKyAgICB9Cit9CisKIEtVUkwgSFRNTFRyYWNrRWxlbWVudDo6c3JjKCkgY29uc3QKIHsKICAg
ICByZXR1cm4gZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwoZ2V0QXR0cmlidXRlKHNyY0F0dHIpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmgKaW5kZXggNWIzMDAyY2U5MzAxM2Qx
YzUzZTI5MWZmNWMzNjkzNGY3MzkyYjczNi4uYjEwYjRjYmM2NDIxY2EzYTFiNGIwMzM2NWE5YTY0
MzQzNmNlZWM3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmgKQEAgLTU5
LDYgKzU5LDkgQEAgcHJpdmF0ZToKIAogICAgIEhUTUxUcmFja0VsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50Kik7CiAgICAgdmlydHVhbCB+SFRNTFRyYWNrRWxlbWVudCgpOwor
ICAgIAorICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsK
KyAgICB2aXJ0dWFsIHZvaWQgYXR0cmlidXRlQ2hhbmdlZChBdHRyaWJ1dGUqLCBib29sIHByZXNl
cnZlRGVjbHMpOwogCiAgICAgdmlydHVhbCB2b2lkIGluc2VydGVkSW50b1RyZWUoYm9vbCk7CiAg
ICAgdmlydHVhbCB2b2lkIHdpbGxSZW1vdmUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTG9hZGFibGVUZXh0VHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Mb2FkYWJs
ZVRleHRUcmFjay5jcHAKaW5kZXggMTU0ZTRlMDk1Nzk1MTI4ODUyYjJjNWFkNzIwMTMzMzFlYjMx
YTY2MS4uM2Q2ZjhjMzdlMTlmNzEwMzMyMjgwZjY1ODQyNzI2NzU0YmI3YmUwNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9Mb2FkYWJsZVRleHRUcmFjay5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9Mb2FkYWJsZVRleHRUcmFjay5jcHAKQEAgLTYzLDExICs2MywxNCBAQCB2
b2lkIExvYWRhYmxlVGV4dFRyYWNrOjpjdWVMb2FkaW5nU3RhcnRlZChUZXh0VHJhY2tMb2FkZXIq
IGxvYWRlcikKICAgICBzZXRSZWFkeVN0YXRlKFRleHRUcmFjazo6TG9hZGluZyk7CiB9CiAKLXZv
aWQgTG9hZGFibGVUZXh0VHJhY2s6OmN1ZUxvYWRpbmdDb21wbGV0ZWQoVGV4dFRyYWNrTG9hZGVy
KiBsb2FkZXIsIGJvb2wpCit2b2lkIExvYWRhYmxlVGV4dFRyYWNrOjpjdWVMb2FkaW5nQ29tcGxl
dGVkKFRleHRUcmFja0xvYWRlciogbG9hZGVyLCBib29sIGxvYWRpbmdGYWlsZWQpCiB7CiAgICAg
QVNTRVJUX1VOVVNFRChsb2FkZXIsIG1fbG9hZGVyID09IGxvYWRlcik7CiAKLSAgICAvLyBGSVhN
RSg2Mjg4NSk6IEltcGxlbWVudC4KKyAgICBsb2FkaW5nRmFpbGVkID8gc2V0UmVhZHlTdGF0ZShU
ZXh0VHJhY2s6OkVycm9yKSA6IHNldFJlYWR5U3RhdGUoVGV4dFRyYWNrOjpMb2FkZWQpOworCisg
ICAgaWYgKG1fbG9hZGluZ0NsaWVudCkKKyAgICAgICAgbV9sb2FkaW5nQ2xpZW50LT50ZXh0VHJh
Y2tMb2FkaW5nQ29tcGxldGVkKHRoaXMsIGxvYWRpbmdGYWlsZWQpOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjk5NmQ2ZTAzNzUyNmNlYjM5YTdlZjFlYmQ1ZjFiY2QwOTA4
NzY3Ny4uYjUxNWFiZGM2MjVlNDBmZGRkNWM1MjlhMTVkNmI5ODkzMGY5MDk0YiAxMDA3NTUKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSw1ICsxLDE5IEBACiAyMDExLTEwLTI5ICBBbm5hIENhdmVuZGVyICA8YW5uYWNjQGNocm9taXVt
Lm9yZz4KIAorICAgICAgICBJbXBsZW1lbnQgbG9hZCBub3RpZmljYXRpb24gYW5kIGV2ZW50cyBm
b3IgPHRyYWNrPi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcxMDU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAg
ICogbWVkaWEvdHJhY2svdHJhY2stbG9hZC1lcnJvci1yZWFkeVN0YXRlLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogbWVkaWEvdHJhY2svdHJhY2stbG9hZC1lcnJvci1yZWFkeVN0YXRl
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZnJvbS1lbGVt
ZW50LXJlYWR5U3RhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS90cmFj
ay90cmFjay1sb2FkLWZyb20tZWxlbWVudC1yZWFkeVN0YXRlLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIG1lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZnJvbS1zcmMtcmVhZHlTdGF0ZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZnJvbS1zcmMtcmVh
ZHlTdGF0ZS5odG1sOiBBZGRlZC4KKworMjAxMS0xMC0yOSAgQW5uYSBDYXZlbmRlciAgPGFubmFj
Y0BjaHJvbWl1bS5vcmc+CisKICAgICAgICAgQWRkIHRyYWNrLXRleHQtdHJhY2stZGVzdHJ1Y3Rv
ci1jcmFzaC5odG1sIHRvIFNraXBwZWQgZmlsZXMgZm9yIG1hYyBhbmQgd2luCiAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE4MgogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1sb2FkLWVycm9yLXJlYWR5U3RhdGUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbG9hZC1lcnJvci1yZWFk
eVN0YXRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZTJkMDBlZjBkYWM4OGI5MWJhNmZhZjhh
YmNiMmNkN2JmMWVkNmJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJh
Y2svdHJhY2stbG9hZC1lcnJvci1yZWFkeVN0YXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYg
QEAKK1Rlc3RzIHRoZSBlcnJvciBldmVudCBvbiBIVE1MVHJhY2tFbGVtZW50IGFuZCBFUlJPUiBy
ZWFkeVN0YXRlIG9uIFRleHRUcmFjay4KKworRVZFTlQoZXJyb3IpCitFWFBFQ1RFRCAodHJhY2su
dHJhY2sucmVhZHlTdGF0ZSA9PSAnMycpIE9LCitFTkQgT0YgVEVTVAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1sb2FkLWVycm9yLXJlYWR5U3RhdGUuaHRtbCBi
L0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZXJyb3ItcmVhZHlTdGF0ZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgwZTQ3MTk3OGFiMjhhYWQ5NmIzOGUzOTFhYTcyMWNkODAyMmI0NTQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1sb2FkLWVycm9y
LXJlYWR5U3RhdGUuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNv
bnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KKworICAgICAgICA8c2NyaXB0IHNy
Yz0uLi9tZWRpYS1maWxlLmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0uLi92aWRl
by10ZXN0LmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorCisgICAgICAgICAgICBmdW5j
dGlvbiB0cmFja0Vycm9yKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb25zb2xl
V3JpdGUoIkVWRU5UKGVycm9yKSIpOworICAgICAgICAgICAgICAgIHRyYWNrID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3Rlc3RUcmFja0Vycm9yJyk7IAorICAgICAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgidHJhY2sudHJhY2sucmVhZHlTdGF0ZSIsIFRleHRUcmFjay5FcnJvcik7CisgICAg
ICAgICAgICAgICAgZW5kVGVzdCgpOworICAgICAgICAgICAgfQorCisgICAgICAgIDwvc2NyaXB0
PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGVzdHMgdGhlIGVycm9yIGV2
ZW50IG9uIEhUTUxUcmFja0VsZW1lbnQgYW5kIEVSUk9SIHJlYWR5U3RhdGUgb24gVGV4dFRyYWNr
LjwvcD4KKyAgICAgICAgPHZpZGVvIGlkPSJ2aWRlb3Rlc3RzIj4KKyAgICAgICAgICAgIDx0cmFj
ayBpZD0idGVzdFRyYWNrRXJyb3IiIHNyYz0ianVuayIgb25lcnJvcj0idHJhY2tFcnJvcigpIj4K
KyAgICAgICAgPC92aWRlbz4KKyAgICA8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbG9h
ZC1mcm9tLWVsZW1lbnQtcmVhZHlTdGF0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRp
YS90cmFjay90cmFjay1sb2FkLWZyb20tZWxlbWVudC1yZWFkeVN0YXRlLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zYTZlNzFjYzYxMDhmNjgzMTZmNWRmZDUxMmVlZDU0ZmQ0NjJjMGZhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbG9hZC1mcm9tLWVs
ZW1lbnQtcmVhZHlTdGF0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitUZXN0cyB0aGUg
bG9hZCBldmVudCBvbiBIVE1MVHJhY2tFbGVtZW50IGFuZCBMT0FERUQgcmVhZHlTdGF0ZSBvbiBU
ZXh0VHJhY2sgd2hlbiBzcmMgaXMgc2V0IG9uIHRoZSBlbGVtZW50LgorCitFVkVOVChsb2FkKQor
RVhQRUNURUQgKHRyYWNrLnRyYWNrLnJlYWR5U3RhdGUgPT0gJzInKSBPSworRU5EIE9GIFRFU1QK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbG9hZC1mcm9tLWVs
ZW1lbnQtcmVhZHlTdGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbG9h
ZC1mcm9tLWVsZW1lbnQtcmVhZHlTdGF0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjN2M3Njk3ZTI0NWM0
OTUxMDgwNTg4YjRiNGJlZTIwNjIxNGFiOTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9tZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tZWxlbWVudC1yZWFkeVN0YXRlLmh0bWwKQEAg
LTAsMCArMSwyNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNo
YXJzZXQ9dXRmLTgiIC8+CisKKyAgICAgICAgPHNjcmlwdCBzcmM9Li4vbWVkaWEtZmlsZS5qcz48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Li4vdmlkZW8tdGVzdC5qcz48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdD4KKworICAgICAgICAgICAgZnVuY3Rpb24gdHJhY2tMb2FkZWQoKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiRVZFTlQobG9hZCki
KTsKKyAgICAgICAgICAgICAgICB0cmFjayA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0
VHJhY2tTcmMnKTsgCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0cmFjay50cmFjay5y
ZWFkeVN0YXRlIiwgVGV4dFRyYWNrLkxvYWRlZCk7CisgICAgICAgICAgICAgICAgZW5kVGVzdCgp
OworICAgICAgICAgICAgfQorCisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPHA+VGVzdHMgdGhlIGxvYWQgZXZlbnQgb24gSFRNTFRyYWNrRWxlbWVu
dCBhbmQgTE9BREVEIHJlYWR5U3RhdGUgb24gVGV4dFRyYWNrIHdoZW4gc3JjIGlzIHNldCBvbiB0
aGUgZWxlbWVudC48L3A+CisgICAgICAgIDx2aWRlbz4KKyAgICAgICAgICAgIDx0cmFjayBpZD0i
dGVzdFRyYWNrU3JjIiBzcmM9ImNhcHRpb25zLXdlYnZ0dC90YzAwNC13ZWJ2dHQtZmlsZS52dHQi
IG9ubG9hZD0idHJhY2tMb2FkZWQoKSI+CisJICAgICAgPC92aWRlbz4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvbWVkaWEvdHJhY2svdHJhY2stbG9hZC1mcm9tLXNyYy1yZWFkeVN0YXRlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZnJvbS1zcmMtcmVhZHlTdGF0
ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGM0MDVhZjcyMTNhYmZmNzY1MmUwYWNhZDY5MDk1
NzY0NGU2NGM5OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3Ry
YWNrLWxvYWQtZnJvbS1zcmMtcmVhZHlTdGF0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBA
CitUZXN0cyB0aGUgbG9hZCBldmVudCBvbiBIVE1MVHJhY2tFbGVtZW50IGFuZCBMT0FERUQgcmVh
ZHlTdGF0ZSBvbiBUZXh0VHJhY2sgd2hlbiBzcmMgaXMgc2V0IGZyb20gSmF2YVNjcmlwdC4KKwor
RVhQRUNURUQgKHRyYWNrLnRyYWNrLnJlYWR5U3RhdGUgPT0gJzAnKSBPSworRVZFTlQobG9hZCkK
K0VYUEVDVEVEICh0cmFjay50cmFjay5yZWFkeVN0YXRlID09ICcyJykgT0sKK0VORCBPRiBURVNU
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZnJvbS1z
cmMtcmVhZHlTdGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbG9hZC1m
cm9tLXNyYy1yZWFkeVN0YXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzcxYzk5ZWU2YzQzOTZjNGY4Yzkz
Yjk5OThmOGM1YmNiZmU2NWFmMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlh
L3RyYWNrL3RyYWNrLWxvYWQtZnJvbS1zcmMtcmVhZHlTdGF0ZS5odG1sCkBAIC0wLDAgKzEsMzAg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGh0
dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04
IiAvPgorCisgICAgICAgIDxzY3JpcHQgc3JjPS4uL21lZGlhLWZpbGUuanM+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPS4uL3ZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CisgICAgPC9oZWFk
PgorICAgIDxib2R5PgorICAgICAgICA8cD5UZXN0cyB0aGUgbG9hZCBldmVudCBvbiBIVE1MVHJh
Y2tFbGVtZW50IGFuZCBMT0FERUQgcmVhZHlTdGF0ZSBvbiBUZXh0VHJhY2sgd2hlbiBzcmMgaXMg
c2V0IGZyb20gSmF2YVNjcmlwdC48L3A+CisgICAgICAgIDx2aWRlbz4KKyAgICAgICAgICAgIDx0
cmFjayBpZD0idGVzdFRyYWNrRW1wdHkiPgorICAgICAgICA8L3ZpZGVvPgorICAgICAgICA8c2Ny
aXB0PgorCisgICAgICAgICAgICBmdW5jdGlvbiB0cmFja0xvYWRlZCgpCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJFVkVOVChsb2FkKSIpOworICAgICAgICAg
ICAgICAgIHRlc3RFeHBlY3RlZCgidHJhY2sudHJhY2sucmVhZHlTdGF0ZSIsIFRleHRUcmFjay5M
b2FkZWQpOworICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgdHJhY2sgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdFRyYWNrRW1wdHkn
KTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidHJhY2sudHJhY2sucmVhZHlTdGF0ZSIsIFRl
eHRUcmFjay5Ob25lKTsKKyAgICAgICAgICAgIHRyYWNrLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBmdW5jdGlvbiAoKSB7IHRyYWNrTG9hZGVkKCk7IH0sIHRydWUpOworICAgICAgICAgICAgdHJh
Y2suc3JjID0gImNhcHRpb25zLXdlYnZ0dC90YzAwNC13ZWJ2dHQtZmlsZS52dHQiOyAgIAorCisg
ICAgICAgIDwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCmluZGV4IGNiY2NhODg2ZDFjMGYyZmEw
MjFkZjVlYmI3MWRlMzAwNjQyZDlmNzUuLmRiZDllYWFkMGJiM2FhZmJlYjY2ZjBmOGYxYjA0ZGM2
NjM4ZDFkZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCkBAIC00MjEsNiArNDIxLDkgQEAg
ZmFzdC9kb20vTWljcm9EYXRhCiAKICMgVGVzdHMgZm9yIDx0cmFjaz4uICBGZWF0dXJlIGlzIG5v
dCB5ZXQgZnVuY3Rpb25hbC4KICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQzNjY4CittZWRpYS90cmFjay90cmFjay1sb2FkLWVycm9yLXJlYWR5U3RhdGUuaHRtbAor
bWVkaWEvdHJhY2svdHJhY2stbG9hZC1mcm9tLWVsZW1lbnQtcmVhZHlTdGF0ZS5odG1sCittZWRp
YS90cmFjay90cmFjay1sb2FkLWZyb20tc3JjLXJlYWR5U3RhdGUuaHRtbAogbWVkaWEvdHJhY2sv
dHJhY2stbXV0YWJsZS5odG1sCiBtZWRpYS90cmFjay90cmFjay10ZXh0LXRyYWNrLWN1ZS1saXN0
Lmh0bWwKIG1lZGlhL3RyYWNrL3RyYWNrLXRleHQtdHJhY2stZGVzdHJ1Y3Rvci1jcmFzaC5odG1s
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IGJkODk5YjBhZjVmOWQyYmMzMTAzYTM1MzQ3
YTRiNjlhODRlMjY1NWQuLjZlNmJkZjBkMDA1NTM5OTg4Yzk2NDY5Nzg2Y2ZkODFiOTliZjgxYWMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC0xNDA1LDYgKzE0MDUsOSBAQCBmYXN0L211
dGF0aW9uCiAKICMgVGVzdHMgZm9yIDx0cmFjaz4uICBGZWF0dXJlIGlzIG5vdCB5ZXQgZnVuY3Rp
b25hbC4KICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNjY4Citt
ZWRpYS90cmFjay90cmFjay1sb2FkLWVycm9yLXJlYWR5U3RhdGUuaHRtbAorbWVkaWEvdHJhY2sv
dHJhY2stbG9hZC1mcm9tLWVsZW1lbnQtcmVhZHlTdGF0ZS5odG1sCittZWRpYS90cmFjay90cmFj
ay1sb2FkLWZyb20tc3JjLXJlYWR5U3RhdGUuaHRtbAogbWVkaWEvdHJhY2svdHJhY2stbXV0YWJs
ZS5odG1sCiBtZWRpYS90cmFjay90cmFjay10ZXh0LXRyYWNrLWN1ZS1saXN0Lmh0bWwKIG1lZGlh
L3RyYWNrL3RyYWNrLXRleHQtdHJhY2stZGVzdHJ1Y3Rvci1jcmFzaC5odG1sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112981</attachid>
            <date>2011-10-29 19:39:27 -0700</date>
            <delta_ts>2011-10-29 19:45:54 -0700</delta_ts>
            <desc>updating to ToT</desc>
            <filename>bug-71054-20111029193926.patch</filename>
            <type>text/plain</type>
            <size>15233</size>
            <attacher name="Anna Cavender">annacc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg4MjIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1ZmE0NzZmZGU4YThjNTJj
Yjk3YzU5NGNmYmU1MjkwZDJlMzgzNDE1Li5kYzZiYzk0NjBlYjdlOWM3MmRmMWEwM2E4NzE1YjVj
ZGQ5N2U3ZmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMTAtMjkgIEFubmEg
Q2F2ZW5kZXIgIDxhbm5hY2NAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEltcGxlbWVudCBsb2Fk
IG5vdGlmaWNhdGlvbiBhbmQgZXZlbnRzIGZvciA8dHJhY2s+LgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNTQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czogbWVkaWEvdHJhY2svdHJhY2stbG9h
ZC1lcnJvci1yZWFkeVN0YXRlLmh0bWwKKyAgICAgICAgICAgICAgIG1lZGlhL3RyYWNrL3RyYWNr
LWxvYWQtZnJvbS1lbGVtZW50LXJlYWR5U3RhdGUuaHRtbAorICAgICAgICAgICAgICAgbWVkaWEv
dHJhY2svdHJhY2stbG9hZC1mcm9tLXNyYy1yZWFkeVN0YXRlLmh0bWwKKworICAgICAgICAqIGh0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50Ojp0cmFja1dhc0FkZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
OnRyYWNrV2lsbEJlUmVtb3ZlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
Ojp0cmFja1NvdXJjZUNoYW5nZWQpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5o
OgorICAgICAgICAqIGh0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MVHJhY2tFbGVtZW50OjppbnNlcnRlZEludG9UcmVlKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxUcmFja0VsZW1lbnQ6OndpbGxSZW1vdmUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRy
YWNrRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TFRyYWNrRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgICogaHRtbC9IVE1MVHJh
Y2tFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9Mb2FkYWJsZVRleHRUcmFjay5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMb2FkYWJsZVRleHRUcmFjazo6Y3VlTG9hZGluZ0NvbXBsZXRlZCk6CisK
IDIwMTEtMTAtMjkgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWls
ZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBmNWUz
ZmRmMTgyMDRjZmRlODkxMWUxM2JjMDdjY2VlYmMwMDVkMjdiLi4zZDFjNGZhOWRhMjE2MjNlMzRm
YTI3MThlNTM2YmE2MDhiMzJiZDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKQEAgLTE5OTMsNiArMTk5MywzOCBAQCBQYXNzUmVmUHRyPFRleHRUcmFjaz4gSFRN
TE1lZGlhRWxlbWVudDo6YWRkVHJhY2soY29uc3QgU3RyaW5nJiBraW5kLCBjb25zdCBTdHJpbgog
ICAgIG1fdGV4dFRyYWNrcy5hcHBlbmQodGV4dFRyYWNrKTsKICAgICByZXR1cm4gdGV4dFRyYWNr
LnJlbGVhc2UoKTsKIH0KKwordm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp0cmFja1dhc0FkZGVkKEhU
TUxUcmFja0VsZW1lbnQqIHRyYWNrKQoreworI2lmICFMT0dfRElTQUJMRUQKKyAgICBpZiAodHJh
Y2stPmhhc1RhZ05hbWUodHJhY2tUYWcpKSB7CisgICAgICAgIEtVUkwgdXJsID0gdHJhY2stPmdl
dE5vbkVtcHR5VVJMQXR0cmlidXRlKHNyY0F0dHIpOworICAgICAgICBMT0coTWVkaWEsICJIVE1M
TWVkaWFFbGVtZW50Ojp0cmFja1dhc0FkZGVkIC0gJ3NyYycgaXMgJXMiLCB1cmxGb3JMb2dnaW5n
KHVybCkudXRmOCgpLmRhdGEoKSk7CisgICAgfQorI2VuZGlmCisgICAgbG9hZE5leHRUZXh0VHJh
Y2sodHJhY2spOworfQorIAordm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp0cmFja1dpbGxCZVJlbW92
ZWQoSFRNTFRyYWNrRWxlbWVudCogdHJhY2spCit7CisjaWYgIUxPR19ESVNBQkxFRAorICAgIGlm
ICh0cmFjay0+aGFzVGFnTmFtZSh0cmFja1RhZykpIHsKKyAgICAgICAgS1VSTCB1cmwgPSB0cmFj
ay0+Z2V0Tm9uRW1wdHlVUkxBdHRyaWJ1dGUoc3JjQXR0cik7CisgICAgICAgIExPRyhNZWRpYSwg
IkhUTUxNZWRpYUVsZW1lbnQ6OnRyYWNrV2lsbEJlUmVtb3ZlZCAtICdzcmMnIGlzICVzIiwgdXJs
Rm9yTG9nZ2luZyh1cmwpLnV0ZjgoKS5kYXRhKCkpOworICAgIH0KKyNlbmRpZgorfQorCit2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OnRyYWNrU291cmNlQ2hhbmdlZChIVE1MVHJhY2tFbGVtZW50KiB0
cmFjaykKK3sKKyNpZiAhTE9HX0RJU0FCTEVECisgICAgaWYgKHRyYWNrLT5oYXNUYWdOYW1lKHRy
YWNrVGFnKSkgeworICAgICAgICBLVVJMIHVybCA9IHRyYWNrLT5nZXROb25FbXB0eVVSTEF0dHJp
YnV0ZShzcmNBdHRyKTsKKyAgICAgICAgTE9HKE1lZGlhLCAiSFRNTE1lZGlhRWxlbWVudDo6dHJh
Y2tTb3VyY2VDaGFuZ2VkIC0gJ3NyYycgaXMgJXMiLCB1cmxGb3JMb2dnaW5nKHVybCkudXRmOCgp
LmRhdGEoKSk7CisgICAgfQorI2VuZGlmCisgICAgbG9hZE5leHRUZXh0VHJhY2sodHJhY2spOwor
fQogI2VuZGlmCiAKIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6aGF2ZVBvdGVudGlhbFNvdXJjZUNo
aWxkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMmJkMDMzMzRl
NjYxMzhkZTE2Y2RmMzkzZDAxOWI2NTQ1ODE2MDlmZC4uMGQyZjlmYzQ5ZTEwMGNiNTE3YmVmMGQx
NTBhYzRmNzdhNTc1ZTllYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgK
QEAgLTE4MSw2ICsxODEsOSBAQCBwdWJsaWM6CiAKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiAg
ICAgUGFzc1JlZlB0cjxUZXh0VHJhY2s+IGFkZFRyYWNrKGNvbnN0IFN0cmluZyYga2luZCwgY29u
c3QgU3RyaW5nJiBsYWJlbCA9ICIiLCBjb25zdCBTdHJpbmcmIGxhbmd1YWdlID0gIiIpOworICAg
IHZpcnR1YWwgdm9pZCB0cmFja1dhc0FkZGVkKEhUTUxUcmFja0VsZW1lbnQqKTsKKyAgICB2aXJ0
dWFsIHZvaWQgdHJhY2tXaWxsQmVSZW1vdmVkKEhUTUxUcmFja0VsZW1lbnQqKTsKKyAgICB2aXJ0
dWFsIHZvaWQgdHJhY2tTb3VyY2VDaGFuZ2VkKEhUTUxUcmFja0VsZW1lbnQqKTsKICNlbmRpZgog
CiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9YWV9GT1JfVklERU8pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MVHJhY2tFbGVtZW50LmNwcAppbmRleCA5MjA3ZDdhMWE0NmQzNzFjMmI0YWVjOTVlMzFmNjY4
OGFlNTNiOGU1Li4wNTFlOTgwZDQxOWUxM2FkYTNhYjM2YmI5ZDAxMzRkZWViMDUxOGE3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKQEAgLTMyLDYgKzMyLDcgQEAK
ICNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAj
aW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgIlNjcmlwdEV2ZW50TGlzdGVuZXIuaCIKIAog
dXNpbmcgbmFtZXNwYWNlIHN0ZDsKIApAQCAtNTksMjIgKzYwLDQxIEBAIHZvaWQgSFRNTFRyYWNr
RWxlbWVudDo6aW5zZXJ0ZWRJbnRvVHJlZShib29sIGRlZXApCiB7CiAgICAgSFRNTEVsZW1lbnQ6
Omluc2VydGVkSW50b1RyZWUoZGVlcCk7CiAgICAgRWxlbWVudCogcGFyZW50ID0gcGFyZW50RWxl
bWVudCgpOwotICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LT5pc01lZGlhRWxlbWVudCgpKSB7Ci0g
ICAgICAgIC8vIFRPRE8oYW5uYWNjKToKLSAgICAgICAgLy8gc3RhdGljX2Nhc3Q8SFRNTE1lZGlh
RWxlbWVudCo+KHBhcmVudE5vZGUoKSktPnRyYWNrV2FzQWRkZWQodGhpcyk7Ci0gICAgfQorICAg
IGlmIChwYXJlbnQgJiYgcGFyZW50LT5pc01lZGlhRWxlbWVudCgpKQorICAgICAgICBzdGF0aWNf
Y2FzdDxIVE1MTWVkaWFFbGVtZW50Kj4ocGFyZW50Tm9kZSgpKS0+dHJhY2tXYXNBZGRlZCh0aGlz
KTsKIH0KIAogdm9pZCBIVE1MVHJhY2tFbGVtZW50Ojp3aWxsUmVtb3ZlKCkKIHsKICAgICBFbGVt
ZW50KiBwYXJlbnQgPSBwYXJlbnRFbGVtZW50KCk7Ci0gICAgaWYgKHBhcmVudCAmJiBwYXJlbnQt
PmlzTWVkaWFFbGVtZW50KCkpIHsKLSAgICAgICAgLy8gVE9ETyhhbm5hY2MpOgotICAgICAgICAv
LyBzdGF0aWNfY2FzdDxIVE1MTWVkaWFFbGVtZW50Kj4ocGFyZW50Tm9kZSgpKS0+dHJhY2tXaWxs
QmVSZW1vdmVkKHRoaXMpOwotICAgIH0KKyAgICBpZiAocGFyZW50ICYmIHBhcmVudC0+aXNNZWRp
YUVsZW1lbnQoKSkKKyAgICAgICAgc3RhdGljX2Nhc3Q8SFRNTE1lZGlhRWxlbWVudCo+KHBhcmVu
dE5vZGUoKSktPnRyYWNrV2lsbEJlUmVtb3ZlZCh0aGlzKTsKICAgICBIVE1MRWxlbWVudDo6d2ls
bFJlbW92ZSgpOwogfQogCit2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmli
dXRlKEF0dHJpYnV0ZSogYXR0cmlidXRlKQoreworICAgIGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0
dHJOYW1lID0gYXR0cmlidXRlLT5uYW1lKCk7CisKKyAgICBpZiAoYXR0ck5hbWUgPT0gb25sb2Fk
QXR0cikKKyAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkubG9h
ZEV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHJpYnV0ZSkpOwor
ICAgIGVsc2UgaWYgKGF0dHJOYW1lID09IG9uZXJyb3JBdHRyKQorICAgICAgICBzZXRBdHRyaWJ1
dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVF
dmVudExpc3RlbmVyKHRoaXMsIGF0dHJpYnV0ZSkpOworICAgIGVsc2UKKyAgICAgICAgSFRNTEVs
ZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHJpYnV0ZSk7Cit9CisKK3ZvaWQgSFRNTFRy
YWNrRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChBdHRyaWJ1dGUqIGF0dHIsIGJvb2wgcHJlc2Vy
dmVEZWNscykKK3sKKyAgICBIVE1MRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChhdHRyLCBwcmVz
ZXJ2ZURlY2xzKTsKKworICAgIGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lID0gYXR0ci0+
bmFtZSgpOworICAgIGlmIChhdHRyTmFtZSA9PSBzcmNBdHRyKSB7CisgICAgICAgIGlmICghZ2V0
QXR0cmlidXRlKHNyY0F0dHIpLmlzRW1wdHkoKSAmJiBwYXJlbnROb2RlKCkpCisgICAgICAgICAg
ICBzdGF0aWNfY2FzdDxIVE1MTWVkaWFFbGVtZW50Kj4ocGFyZW50Tm9kZSgpKS0+dHJhY2tTb3Vy
Y2VDaGFuZ2VkKHRoaXMpOworICAgIH0KK30KKwogS1VSTCBIVE1MVHJhY2tFbGVtZW50OjpzcmMo
KSBjb25zdAogewogICAgIHJldHVybiBkb2N1bWVudCgpLT5jb21wbGV0ZVVSTChnZXRBdHRyaWJ1
dGUoc3JjQXR0cikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tF
bGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuaAppbmRleCA1
YjMwMDJjZTkzMDEzZDFjNTNlMjkxZmY1YzM2OTM0ZjczOTJiNzM2Li5iMTBiNGNiYzY0MjFjYTNh
MWI0YjAzMzY1YTlhNjQzNDM2Y2VlYzdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxUcmFja0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0Vs
ZW1lbnQuaApAQCAtNTksNiArNTksOSBAQCBwcml2YXRlOgogCiAgICAgSFRNTFRyYWNrRWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKICAgICB2aXJ0dWFsIH5IVE1MVHJh
Y2tFbGVtZW50KCk7CisgICAgCisgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRl
KEF0dHJpYnV0ZSopOworICAgIHZpcnR1YWwgdm9pZCBhdHRyaWJ1dGVDaGFuZ2VkKEF0dHJpYnV0
ZSosIGJvb2wgcHJlc2VydmVEZWNscyk7CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRv
VHJlZShib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbFJlbW92ZSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9Mb2FkYWJsZVRleHRUcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0xvYWRhYmxlVGV4dFRyYWNrLmNwcAppbmRleCAxNTRlNGUwOTU3OTUxMjg4NTJiMmM1
YWQ3MjAxMzMzMWViMzFhNjYxLi4zZDZmOGMzN2UxOWY3MTAzMzIyODBmNjU4NDI3MjY3NTRiYjdi
ZTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0xvYWRhYmxlVGV4dFRyYWNrLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0xvYWRhYmxlVGV4dFRyYWNrLmNwcApAQCAtNjMs
MTEgKzYzLDE0IEBAIHZvaWQgTG9hZGFibGVUZXh0VHJhY2s6OmN1ZUxvYWRpbmdTdGFydGVkKFRl
eHRUcmFja0xvYWRlciogbG9hZGVyKQogICAgIHNldFJlYWR5U3RhdGUoVGV4dFRyYWNrOjpMb2Fk
aW5nKTsKIH0KIAotdm9pZCBMb2FkYWJsZVRleHRUcmFjazo6Y3VlTG9hZGluZ0NvbXBsZXRlZChU
ZXh0VHJhY2tMb2FkZXIqIGxvYWRlciwgYm9vbCkKK3ZvaWQgTG9hZGFibGVUZXh0VHJhY2s6OmN1
ZUxvYWRpbmdDb21wbGV0ZWQoVGV4dFRyYWNrTG9hZGVyKiBsb2FkZXIsIGJvb2wgbG9hZGluZ0Zh
aWxlZCkKIHsKICAgICBBU1NFUlRfVU5VU0VEKGxvYWRlciwgbV9sb2FkZXIgPT0gbG9hZGVyKTsK
IAotICAgIC8vIEZJWE1FKDYyODg1KTogSW1wbGVtZW50LgorICAgIGxvYWRpbmdGYWlsZWQgPyBz
ZXRSZWFkeVN0YXRlKFRleHRUcmFjazo6RXJyb3IpIDogc2V0UmVhZHlTdGF0ZShUZXh0VHJhY2s6
OkxvYWRlZCk7CisKKyAgICBpZiAobV9sb2FkaW5nQ2xpZW50KQorICAgICAgICBtX2xvYWRpbmdD
bGllbnQtPnRleHRUcmFja0xvYWRpbmdDb21wbGV0ZWQodGhpcywgbG9hZGluZ0ZhaWxlZCk7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiOTk2ZDZlMDM3NTI2Y2ViMzlhN2Vm
MWViZDVmMWJjZDA5MDg3Njc3Li4yMzE0NTkxYWJkYWU1M2JkMTE5NGYxNzg3ZjI3YWRkYmVhNDM1
MzVlIDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsMjEgQEAKIDIwMTEtMTAtMjkgIEFubmEgQ2F2ZW5kZXIgIDxh
bm5hY2NAY2hyb21pdW0ub3JnPgogCisgICAgICAgIEltcGxlbWVudCBsb2FkIG5vdGlmaWNhdGlv
biBhbmQgZXZlbnRzIGZvciA8dHJhY2s+LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZXJyb3ItcmVhZHlTdGF0
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLWxvYWQt
ZXJyb3ItcmVhZHlTdGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS90cmFjay90cmFj
ay1sb2FkLWZyb20tZWxlbWVudC1yZWFkeVN0YXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogbWVkaWEvdHJhY2svdHJhY2stbG9hZC1mcm9tLWVsZW1lbnQtcmVhZHlTdGF0ZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tc3JjLXJlYWR5
U3RhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS90cmFjay90cmFjay1s
b2FkLWZyb20tc3JjLXJlYWR5U3RhdGUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
bWFjL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisKKzIwMTEtMTAt
MjkgIEFubmEgQ2F2ZW5kZXIgIDxhbm5hY2NAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIEFkZCB0
cmFjay10ZXh0LXRyYWNrLWRlc3RydWN0b3ItY3Jhc2guaHRtbCB0byBTa2lwcGVkIGZpbGVzIGZv
ciBtYWMgYW5kIHdpbgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzExODIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2st
bG9hZC1lcnJvci1yZWFkeVN0YXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL3Ry
YWNrL3RyYWNrLWxvYWQtZXJyb3ItcmVhZHlTdGF0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OWUyZDAwZWYwZGFjODhiOTFiYTZmYWY4YWJjYjJjZDdiZjFlZDZiYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZXJyb3ItcmVhZHlTdGF0ZS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitUZXN0cyB0aGUgZXJyb3IgZXZlbnQgb24gSFRN
TFRyYWNrRWxlbWVudCBhbmQgRVJST1IgcmVhZHlTdGF0ZSBvbiBUZXh0VHJhY2suCisKK0VWRU5U
KGVycm9yKQorRVhQRUNURUQgKHRyYWNrLnRyYWNrLnJlYWR5U3RhdGUgPT0gJzMnKSBPSworRU5E
IE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbG9h
ZC1lcnJvci1yZWFkeVN0YXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1s
b2FkLWVycm9yLXJlYWR5U3RhdGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MGU0NzE5NzhhYjI4YWFkOTZi
MzhlMzkxYWE3MjFjZDgwMjJiNDU0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVk
aWEvdHJhY2svdHJhY2stbG9hZC1lcnJvci1yZWFkeVN0YXRlLmh0bWwKQEAgLTAsMCArMSwyNiBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgaHR0
cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgi
IC8+CisKKyAgICAgICAgPHNjcmlwdCBzcmM9Li4vbWVkaWEtZmlsZS5qcz48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Li4vdmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdD4KKworICAgICAgICAgICAgZnVuY3Rpb24gdHJhY2tFcnJvcigpCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJFVkVOVChlcnJvcikiKTsKKyAgICAgICAg
ICAgICAgICB0cmFjayA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0VHJhY2tFcnJvcicp
OyAKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInRyYWNrLnRyYWNrLnJlYWR5U3RhdGUi
LCBUZXh0VHJhY2suRXJyb3IpOworICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxwPlRlc3RzIHRoZSBlcnJvciBldmVudCBvbiBIVE1MVHJhY2tFbGVtZW50IGFuZCBFUlJP
UiByZWFkeVN0YXRlIG9uIFRleHRUcmFjay48L3A+CisgICAgICAgIDx2aWRlbyBpZD0idmlkZW90
ZXN0cyI+CisgICAgICAgICAgICA8dHJhY2sgaWQ9InRlc3RUcmFja0Vycm9yIiBzcmM9Imp1bmsi
IG9uZXJyb3I9InRyYWNrRXJyb3IoKSI+CisgICAgICAgIDwvdmlkZW8+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL21lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZnJvbS1lbGVtZW50LXJlYWR5U3RhdGUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbG9hZC1mcm9tLWVsZW1lbnQt
cmVhZHlTdGF0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2E2ZTcxY2M2MTA4ZjY4MzE2ZjVk
ZmQ1MTJlZWQ1NGZkNDYyYzBmYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlh
L3RyYWNrL3RyYWNrLWxvYWQtZnJvbS1lbGVtZW50LXJlYWR5U3RhdGUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNiBAQAorVGVzdHMgdGhlIGxvYWQgZXZlbnQgb24gSFRNTFRyYWNrRWxlbWVudCBh
bmQgTE9BREVEIHJlYWR5U3RhdGUgb24gVGV4dFRyYWNrIHdoZW4gc3JjIGlzIHNldCBvbiB0aGUg
ZWxlbWVudC4KKworRVZFTlQobG9hZCkKK0VYUEVDVEVEICh0cmFjay50cmFjay5yZWFkeVN0YXRl
ID09ICcyJykgT0sKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlh
L3RyYWNrL3RyYWNrLWxvYWQtZnJvbS1lbGVtZW50LXJlYWR5U3RhdGUuaHRtbCBiL0xheW91dFRl
c3RzL21lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZnJvbS1lbGVtZW50LXJlYWR5U3RhdGUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wYzdjNzY5N2UyNDVjNDk1MTA4MDU4OGI0YjRiZWUyMDYyMTRhYjkyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbG9hZC1mcm9tLWVs
ZW1lbnQtcmVhZHlTdGF0ZS5odG1sCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlw
ZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiAvPgorCisgICAgICAgIDxzY3Jp
cHQgc3JjPS4uL21lZGlhLWZpbGUuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPS4u
L3ZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisKKyAgICAgICAgICAg
IGZ1bmN0aW9uIHRyYWNrTG9hZGVkKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoIkVWRU5UKGxvYWQpIik7CisgICAgICAgICAgICAgICAgdHJhY2sgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdFRyYWNrU3JjJyk7IAorICAgICAgICAgICAgICAgIHRl
c3RFeHBlY3RlZCgidHJhY2sudHJhY2sucmVhZHlTdGF0ZSIsIFRleHRUcmFjay5Mb2FkZWQpOwor
ICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICA8L3Nj
cmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3RzIHRoZSBsb2Fk
IGV2ZW50IG9uIEhUTUxUcmFja0VsZW1lbnQgYW5kIExPQURFRCByZWFkeVN0YXRlIG9uIFRleHRU
cmFjayB3aGVuIHNyYyBpcyBzZXQgb24gdGhlIGVsZW1lbnQuPC9wPgorICAgICAgICA8dmlkZW8+
CisgICAgICAgICAgICA8dHJhY2sgaWQ9InRlc3RUcmFja1NyYyIgc3JjPSJjYXB0aW9ucy13ZWJ2
dHQvdGMwMDQtd2VidnR0LWZpbGUudnR0IiBvbmxvYWQ9InRyYWNrTG9hZGVkKCkiPgorCSAgICAg
IDwvdmlkZW8+CisgICAgPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZnJvbS1z
cmMtcmVhZHlTdGF0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFj
ay1sb2FkLWZyb20tc3JjLXJlYWR5U3RhdGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjNDA1
YWY3MjEzYWJmZjc2NTJlMGFjYWQ2OTA5NTc2NDRlNjRjOTgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tc3JjLXJlYWR5U3RhdGUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorVGVzdHMgdGhlIGxvYWQgZXZlbnQgb24gSFRNTFRy
YWNrRWxlbWVudCBhbmQgTE9BREVEIHJlYWR5U3RhdGUgb24gVGV4dFRyYWNrIHdoZW4gc3JjIGlz
IHNldCBmcm9tIEphdmFTY3JpcHQuCisKK0VYUEVDVEVEICh0cmFjay50cmFjay5yZWFkeVN0YXRl
ID09ICcwJykgT0sKK0VWRU5UKGxvYWQpCitFWFBFQ1RFRCAodHJhY2sudHJhY2sucmVhZHlTdGF0
ZSA9PSAnMicpIE9LCitFTkQgT0YgVEVTVAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRp
YS90cmFjay90cmFjay1sb2FkLWZyb20tc3JjLXJlYWR5U3RhdGUuaHRtbCBiL0xheW91dFRlc3Rz
L21lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZnJvbS1zcmMtcmVhZHlTdGF0ZS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmM3MWM5OWVlNmM0Mzk2YzRmOGM5M2I5OTk4ZjhjNWJjYmZlNjVhZjMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tc3JjLXJlYWR5
U3RhdGUuaHRtbApAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9
InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KKworICAgICAgICA8c2NyaXB0IHNyYz0uLi9t
ZWRpYS1maWxlLmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0uLi92aWRlby10ZXN0
LmpzPjwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGVzdHMg
dGhlIGxvYWQgZXZlbnQgb24gSFRNTFRyYWNrRWxlbWVudCBhbmQgTE9BREVEIHJlYWR5U3RhdGUg
b24gVGV4dFRyYWNrIHdoZW4gc3JjIGlzIHNldCBmcm9tIEphdmFTY3JpcHQuPC9wPgorICAgICAg
ICA8dmlkZW8+CisgICAgICAgICAgICA8dHJhY2sgaWQ9InRlc3RUcmFja0VtcHR5Ij4KKyAgICAg
ICAgPC92aWRlbz4KKyAgICAgICAgPHNjcmlwdD4KKworICAgICAgICAgICAgZnVuY3Rpb24gdHJh
Y2tMb2FkZWQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgi
RVZFTlQobG9hZCkiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInRyYWNrLnRyYWNr
LnJlYWR5U3RhdGUiLCBUZXh0VHJhY2suTG9hZGVkKTsKKyAgICAgICAgICAgICAgICBlbmRUZXN0
KCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHRyYWNrID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3Rlc3RUcmFja0VtcHR5Jyk7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInRy
YWNrLnRyYWNrLnJlYWR5U3RhdGUiLCBUZXh0VHJhY2suTm9uZSk7CisgICAgICAgICAgICB0cmFj
ay5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24gKCkgeyB0cmFja0xvYWRlZCgpOyB9
LCB0cnVlKTsKKyAgICAgICAgICAgIHRyYWNrLnNyYyA9ICJjYXB0aW9ucy13ZWJ2dHQvdGMwMDQt
d2VidnR0LWZpbGUudnR0IjsgICAKKworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBl
ZAppbmRleCBjYmNjYTg4NmQxYzBmMmZhMDIxZGY1ZWJiNzFkZTMwMDY0MmQ5Zjc1Li5kYmQ5ZWFh
ZDBiYjNhYWZiZWI2NmYwZjhmMWIwNGRjNjYzOGQxZGUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tp
cHBlZApAQCAtNDIxLDYgKzQyMSw5IEBAIGZhc3QvZG9tL01pY3JvRGF0YQogCiAjIFRlc3RzIGZv
ciA8dHJhY2s+LiAgRmVhdHVyZSBpcyBub3QgeWV0IGZ1bmN0aW9uYWwuCiAjIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzY2OAorbWVkaWEvdHJhY2svdHJhY2stbG9h
ZC1lcnJvci1yZWFkeVN0YXRlLmh0bWwKK21lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZnJvbS1lbGVt
ZW50LXJlYWR5U3RhdGUuaHRtbAorbWVkaWEvdHJhY2svdHJhY2stbG9hZC1mcm9tLXNyYy1yZWFk
eVN0YXRlLmh0bWwKIG1lZGlhL3RyYWNrL3RyYWNrLW11dGFibGUuaHRtbAogbWVkaWEvdHJhY2sv
dHJhY2stdGV4dC10cmFjay1jdWUtbGlzdC5odG1sCiBtZWRpYS90cmFjay90cmFjay10ZXh0LXRy
YWNrLWRlc3RydWN0b3ItY3Jhc2guaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCBi
ZDg5OWIwYWY1ZjlkMmJjMzEwM2EzNTM0N2E0YjY5YTg0ZTI2NTVkLi42ZTZiZGYwZDAwNTUzOTk4
OGM5NjQ2OTc4NmNmZDgxYjk5YmY4MWFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAt
MTQwNSw2ICsxNDA1LDkgQEAgZmFzdC9tdXRhdGlvbgogCiAjIFRlc3RzIGZvciA8dHJhY2s+LiAg
RmVhdHVyZSBpcyBub3QgeWV0IGZ1bmN0aW9uYWwuCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00MzY2OAorbWVkaWEvdHJhY2svdHJhY2stbG9hZC1lcnJvci1yZWFk
eVN0YXRlLmh0bWwKK21lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZnJvbS1lbGVtZW50LXJlYWR5U3Rh
dGUuaHRtbAorbWVkaWEvdHJhY2svdHJhY2stbG9hZC1mcm9tLXNyYy1yZWFkeVN0YXRlLmh0bWwK
IG1lZGlhL3RyYWNrL3RyYWNrLW11dGFibGUuaHRtbAogbWVkaWEvdHJhY2svdHJhY2stdGV4dC10
cmFjay1jdWUtbGlzdC5odG1sCiBtZWRpYS90cmFjay90cmFjay10ZXh0LXRyYWNrLWRlc3RydWN0
b3ItY3Jhc2guaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112982</attachid>
            <date>2011-10-29 19:45:58 -0700</date>
            <delta_ts>2011-10-31 07:21:49 -0700</delta_ts>
            <desc>updating to ToT</desc>
            <filename>bug-71054-20111029194557.patch</filename>
            <type>text/plain</type>
            <size>15149</size>
            <attacher name="Anna Cavender">annacc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg4MjIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1ZmE0NzZmZGU4YThjNTJj
Yjk3YzU5NGNmYmU1MjkwZDJlMzgzNDE1Li5kYzZiYzk0NjBlYjdlOWM3MmRmMWEwM2E4NzE1YjVj
ZGQ5N2U3ZmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMTAtMjkgIEFubmEg
Q2F2ZW5kZXIgIDxhbm5hY2NAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEltcGxlbWVudCBsb2Fk
IG5vdGlmaWNhdGlvbiBhbmQgZXZlbnRzIGZvciA8dHJhY2s+LgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNTQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czogbWVkaWEvdHJhY2svdHJhY2stbG9h
ZC1lcnJvci1yZWFkeVN0YXRlLmh0bWwKKyAgICAgICAgICAgICAgIG1lZGlhL3RyYWNrL3RyYWNr
LWxvYWQtZnJvbS1lbGVtZW50LXJlYWR5U3RhdGUuaHRtbAorICAgICAgICAgICAgICAgbWVkaWEv
dHJhY2svdHJhY2stbG9hZC1mcm9tLXNyYy1yZWFkeVN0YXRlLmh0bWwKKworICAgICAgICAqIGh0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50Ojp0cmFja1dhc0FkZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
OnRyYWNrV2lsbEJlUmVtb3ZlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
Ojp0cmFja1NvdXJjZUNoYW5nZWQpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5o
OgorICAgICAgICAqIGh0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MVHJhY2tFbGVtZW50OjppbnNlcnRlZEludG9UcmVlKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxUcmFja0VsZW1lbnQ6OndpbGxSZW1vdmUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRy
YWNrRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TFRyYWNrRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgICogaHRtbC9IVE1MVHJh
Y2tFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9Mb2FkYWJsZVRleHRUcmFjay5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMb2FkYWJsZVRleHRUcmFjazo6Y3VlTG9hZGluZ0NvbXBsZXRlZCk6CisK
IDIwMTEtMTAtMjkgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWls
ZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBmNWUz
ZmRmMTgyMDRjZmRlODkxMWUxM2JjMDdjY2VlYmMwMDVkMjdiLi4zZDFjNGZhOWRhMjE2MjNlMzRm
YTI3MThlNTM2YmE2MDhiMzJiZDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKQEAgLTE5OTMsNiArMTk5MywzOCBAQCBQYXNzUmVmUHRyPFRleHRUcmFjaz4gSFRN
TE1lZGlhRWxlbWVudDo6YWRkVHJhY2soY29uc3QgU3RyaW5nJiBraW5kLCBjb25zdCBTdHJpbgog
ICAgIG1fdGV4dFRyYWNrcy5hcHBlbmQodGV4dFRyYWNrKTsKICAgICByZXR1cm4gdGV4dFRyYWNr
LnJlbGVhc2UoKTsKIH0KKwordm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp0cmFja1dhc0FkZGVkKEhU
TUxUcmFja0VsZW1lbnQqIHRyYWNrKQoreworI2lmICFMT0dfRElTQUJMRUQKKyAgICBpZiAodHJh
Y2stPmhhc1RhZ05hbWUodHJhY2tUYWcpKSB7CisgICAgICAgIEtVUkwgdXJsID0gdHJhY2stPmdl
dE5vbkVtcHR5VVJMQXR0cmlidXRlKHNyY0F0dHIpOworICAgICAgICBMT0coTWVkaWEsICJIVE1M
TWVkaWFFbGVtZW50Ojp0cmFja1dhc0FkZGVkIC0gJ3NyYycgaXMgJXMiLCB1cmxGb3JMb2dnaW5n
KHVybCkudXRmOCgpLmRhdGEoKSk7CisgICAgfQorI2VuZGlmCisgICAgbG9hZE5leHRUZXh0VHJh
Y2sodHJhY2spOworfQorIAordm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp0cmFja1dpbGxCZVJlbW92
ZWQoSFRNTFRyYWNrRWxlbWVudCogdHJhY2spCit7CisjaWYgIUxPR19ESVNBQkxFRAorICAgIGlm
ICh0cmFjay0+aGFzVGFnTmFtZSh0cmFja1RhZykpIHsKKyAgICAgICAgS1VSTCB1cmwgPSB0cmFj
ay0+Z2V0Tm9uRW1wdHlVUkxBdHRyaWJ1dGUoc3JjQXR0cik7CisgICAgICAgIExPRyhNZWRpYSwg
IkhUTUxNZWRpYUVsZW1lbnQ6OnRyYWNrV2lsbEJlUmVtb3ZlZCAtICdzcmMnIGlzICVzIiwgdXJs
Rm9yTG9nZ2luZyh1cmwpLnV0ZjgoKS5kYXRhKCkpOworICAgIH0KKyNlbmRpZgorfQorCit2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OnRyYWNrU291cmNlQ2hhbmdlZChIVE1MVHJhY2tFbGVtZW50KiB0
cmFjaykKK3sKKyNpZiAhTE9HX0RJU0FCTEVECisgICAgaWYgKHRyYWNrLT5oYXNUYWdOYW1lKHRy
YWNrVGFnKSkgeworICAgICAgICBLVVJMIHVybCA9IHRyYWNrLT5nZXROb25FbXB0eVVSTEF0dHJp
YnV0ZShzcmNBdHRyKTsKKyAgICAgICAgTE9HKE1lZGlhLCAiSFRNTE1lZGlhRWxlbWVudDo6dHJh
Y2tTb3VyY2VDaGFuZ2VkIC0gJ3NyYycgaXMgJXMiLCB1cmxGb3JMb2dnaW5nKHVybCkudXRmOCgp
LmRhdGEoKSk7CisgICAgfQorI2VuZGlmCisgICAgbG9hZE5leHRUZXh0VHJhY2sodHJhY2spOwor
fQogI2VuZGlmCiAKIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6aGF2ZVBvdGVudGlhbFNvdXJjZUNo
aWxkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMmJkMDMzMzRl
NjYxMzhkZTE2Y2RmMzkzZDAxOWI2NTQ1ODE2MDlmZC4uMGQyZjlmYzQ5ZTEwMGNiNTE3YmVmMGQx
NTBhYzRmNzdhNTc1ZTllYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgK
QEAgLTE4MSw2ICsxODEsOSBAQCBwdWJsaWM6CiAKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiAg
ICAgUGFzc1JlZlB0cjxUZXh0VHJhY2s+IGFkZFRyYWNrKGNvbnN0IFN0cmluZyYga2luZCwgY29u
c3QgU3RyaW5nJiBsYWJlbCA9ICIiLCBjb25zdCBTdHJpbmcmIGxhbmd1YWdlID0gIiIpOworICAg
IHZpcnR1YWwgdm9pZCB0cmFja1dhc0FkZGVkKEhUTUxUcmFja0VsZW1lbnQqKTsKKyAgICB2aXJ0
dWFsIHZvaWQgdHJhY2tXaWxsQmVSZW1vdmVkKEhUTUxUcmFja0VsZW1lbnQqKTsKKyAgICB2aXJ0
dWFsIHZvaWQgdHJhY2tTb3VyY2VDaGFuZ2VkKEhUTUxUcmFja0VsZW1lbnQqKTsKICNlbmRpZgog
CiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9YWV9GT1JfVklERU8pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MVHJhY2tFbGVtZW50LmNwcAppbmRleCA5MjA3ZDdhMWE0NmQzNzFjMmI0YWVjOTVlMzFmNjY4
OGFlNTNiOGU1Li4wNTFlOTgwZDQxOWUxM2FkYTNhYjM2YmI5ZDAxMzRkZWViMDUxOGE3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKQEAgLTMyLDYgKzMyLDcgQEAK
ICNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAj
aW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgIlNjcmlwdEV2ZW50TGlzdGVuZXIuaCIKIAog
dXNpbmcgbmFtZXNwYWNlIHN0ZDsKIApAQCAtNTksMjIgKzYwLDQxIEBAIHZvaWQgSFRNTFRyYWNr
RWxlbWVudDo6aW5zZXJ0ZWRJbnRvVHJlZShib29sIGRlZXApCiB7CiAgICAgSFRNTEVsZW1lbnQ6
Omluc2VydGVkSW50b1RyZWUoZGVlcCk7CiAgICAgRWxlbWVudCogcGFyZW50ID0gcGFyZW50RWxl
bWVudCgpOwotICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LT5pc01lZGlhRWxlbWVudCgpKSB7Ci0g
ICAgICAgIC8vIFRPRE8oYW5uYWNjKToKLSAgICAgICAgLy8gc3RhdGljX2Nhc3Q8SFRNTE1lZGlh
RWxlbWVudCo+KHBhcmVudE5vZGUoKSktPnRyYWNrV2FzQWRkZWQodGhpcyk7Ci0gICAgfQorICAg
IGlmIChwYXJlbnQgJiYgcGFyZW50LT5pc01lZGlhRWxlbWVudCgpKQorICAgICAgICBzdGF0aWNf
Y2FzdDxIVE1MTWVkaWFFbGVtZW50Kj4ocGFyZW50Tm9kZSgpKS0+dHJhY2tXYXNBZGRlZCh0aGlz
KTsKIH0KIAogdm9pZCBIVE1MVHJhY2tFbGVtZW50Ojp3aWxsUmVtb3ZlKCkKIHsKICAgICBFbGVt
ZW50KiBwYXJlbnQgPSBwYXJlbnRFbGVtZW50KCk7Ci0gICAgaWYgKHBhcmVudCAmJiBwYXJlbnQt
PmlzTWVkaWFFbGVtZW50KCkpIHsKLSAgICAgICAgLy8gVE9ETyhhbm5hY2MpOgotICAgICAgICAv
LyBzdGF0aWNfY2FzdDxIVE1MTWVkaWFFbGVtZW50Kj4ocGFyZW50Tm9kZSgpKS0+dHJhY2tXaWxs
QmVSZW1vdmVkKHRoaXMpOwotICAgIH0KKyAgICBpZiAocGFyZW50ICYmIHBhcmVudC0+aXNNZWRp
YUVsZW1lbnQoKSkKKyAgICAgICAgc3RhdGljX2Nhc3Q8SFRNTE1lZGlhRWxlbWVudCo+KHBhcmVu
dE5vZGUoKSktPnRyYWNrV2lsbEJlUmVtb3ZlZCh0aGlzKTsKICAgICBIVE1MRWxlbWVudDo6d2ls
bFJlbW92ZSgpOwogfQogCit2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmli
dXRlKEF0dHJpYnV0ZSogYXR0cmlidXRlKQoreworICAgIGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0
dHJOYW1lID0gYXR0cmlidXRlLT5uYW1lKCk7CisKKyAgICBpZiAoYXR0ck5hbWUgPT0gb25sb2Fk
QXR0cikKKyAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkubG9h
ZEV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHJpYnV0ZSkpOwor
ICAgIGVsc2UgaWYgKGF0dHJOYW1lID09IG9uZXJyb3JBdHRyKQorICAgICAgICBzZXRBdHRyaWJ1
dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVF
dmVudExpc3RlbmVyKHRoaXMsIGF0dHJpYnV0ZSkpOworICAgIGVsc2UKKyAgICAgICAgSFRNTEVs
ZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHJpYnV0ZSk7Cit9CisKK3ZvaWQgSFRNTFRy
YWNrRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChBdHRyaWJ1dGUqIGF0dHIsIGJvb2wgcHJlc2Vy
dmVEZWNscykKK3sKKyAgICBIVE1MRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChhdHRyLCBwcmVz
ZXJ2ZURlY2xzKTsKKworICAgIGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lID0gYXR0ci0+
bmFtZSgpOworICAgIGlmIChhdHRyTmFtZSA9PSBzcmNBdHRyKSB7CisgICAgICAgIGlmICghZ2V0
QXR0cmlidXRlKHNyY0F0dHIpLmlzRW1wdHkoKSAmJiBwYXJlbnROb2RlKCkpCisgICAgICAgICAg
ICBzdGF0aWNfY2FzdDxIVE1MTWVkaWFFbGVtZW50Kj4ocGFyZW50Tm9kZSgpKS0+dHJhY2tTb3Vy
Y2VDaGFuZ2VkKHRoaXMpOworICAgIH0KK30KKwogS1VSTCBIVE1MVHJhY2tFbGVtZW50OjpzcmMo
KSBjb25zdAogewogICAgIHJldHVybiBkb2N1bWVudCgpLT5jb21wbGV0ZVVSTChnZXRBdHRyaWJ1
dGUoc3JjQXR0cikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tF
bGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuaAppbmRleCA1
YjMwMDJjZTkzMDEzZDFjNTNlMjkxZmY1YzM2OTM0ZjczOTJiNzM2Li5iMTBiNGNiYzY0MjFjYTNh
MWI0YjAzMzY1YTlhNjQzNDM2Y2VlYzdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxUcmFja0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0Vs
ZW1lbnQuaApAQCAtNTksNiArNTksOSBAQCBwcml2YXRlOgogCiAgICAgSFRNTFRyYWNrRWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKICAgICB2aXJ0dWFsIH5IVE1MVHJh
Y2tFbGVtZW50KCk7CisgICAgCisgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRl
KEF0dHJpYnV0ZSopOworICAgIHZpcnR1YWwgdm9pZCBhdHRyaWJ1dGVDaGFuZ2VkKEF0dHJpYnV0
ZSosIGJvb2wgcHJlc2VydmVEZWNscyk7CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRv
VHJlZShib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbFJlbW92ZSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9Mb2FkYWJsZVRleHRUcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0xvYWRhYmxlVGV4dFRyYWNrLmNwcAppbmRleCAxNTRlNGUwOTU3OTUxMjg4NTJiMmM1
YWQ3MjAxMzMzMWViMzFhNjYxLi4zZDZmOGMzN2UxOWY3MTAzMzIyODBmNjU4NDI3MjY3NTRiYjdi
ZTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0xvYWRhYmxlVGV4dFRyYWNrLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0xvYWRhYmxlVGV4dFRyYWNrLmNwcApAQCAtNjMs
MTEgKzYzLDE0IEBAIHZvaWQgTG9hZGFibGVUZXh0VHJhY2s6OmN1ZUxvYWRpbmdTdGFydGVkKFRl
eHRUcmFja0xvYWRlciogbG9hZGVyKQogICAgIHNldFJlYWR5U3RhdGUoVGV4dFRyYWNrOjpMb2Fk
aW5nKTsKIH0KIAotdm9pZCBMb2FkYWJsZVRleHRUcmFjazo6Y3VlTG9hZGluZ0NvbXBsZXRlZChU
ZXh0VHJhY2tMb2FkZXIqIGxvYWRlciwgYm9vbCkKK3ZvaWQgTG9hZGFibGVUZXh0VHJhY2s6OmN1
ZUxvYWRpbmdDb21wbGV0ZWQoVGV4dFRyYWNrTG9hZGVyKiBsb2FkZXIsIGJvb2wgbG9hZGluZ0Zh
aWxlZCkKIHsKICAgICBBU1NFUlRfVU5VU0VEKGxvYWRlciwgbV9sb2FkZXIgPT0gbG9hZGVyKTsK
IAotICAgIC8vIEZJWE1FKDYyODg1KTogSW1wbGVtZW50LgorICAgIGxvYWRpbmdGYWlsZWQgPyBz
ZXRSZWFkeVN0YXRlKFRleHRUcmFjazo6RXJyb3IpIDogc2V0UmVhZHlTdGF0ZShUZXh0VHJhY2s6
OkxvYWRlZCk7CisKKyAgICBpZiAobV9sb2FkaW5nQ2xpZW50KQorICAgICAgICBtX2xvYWRpbmdD
bGllbnQtPnRleHRUcmFja0xvYWRpbmdDb21wbGV0ZWQodGhpcywgbG9hZGluZ0ZhaWxlZCk7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiOTk2ZDZlMDM3NTI2Y2ViMzlhN2Vm
MWViZDVmMWJjZDA5MDg3Njc3Li4yMzE0NTkxYWJkYWU1M2JkMTE5NGYxNzg3ZjI3YWRkYmVhNDM1
MzVlIDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsMjEgQEAKIDIwMTEtMTAtMjkgIEFubmEgQ2F2ZW5kZXIgIDxh
bm5hY2NAY2hyb21pdW0ub3JnPgogCisgICAgICAgIEltcGxlbWVudCBsb2FkIG5vdGlmaWNhdGlv
biBhbmQgZXZlbnRzIGZvciA8dHJhY2s+LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZXJyb3ItcmVhZHlTdGF0
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLWxvYWQt
ZXJyb3ItcmVhZHlTdGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS90cmFjay90cmFj
ay1sb2FkLWZyb20tZWxlbWVudC1yZWFkeVN0YXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogbWVkaWEvdHJhY2svdHJhY2stbG9hZC1mcm9tLWVsZW1lbnQtcmVhZHlTdGF0ZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tc3JjLXJlYWR5
U3RhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS90cmFjay90cmFjay1s
b2FkLWZyb20tc3JjLXJlYWR5U3RhdGUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
bWFjL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisKKzIwMTEtMTAt
MjkgIEFubmEgQ2F2ZW5kZXIgIDxhbm5hY2NAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIEFkZCB0
cmFjay10ZXh0LXRyYWNrLWRlc3RydWN0b3ItY3Jhc2guaHRtbCB0byBTa2lwcGVkIGZpbGVzIGZv
ciBtYWMgYW5kIHdpbgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzExODIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2st
bG9hZC1lcnJvci1yZWFkeVN0YXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL3Ry
YWNrL3RyYWNrLWxvYWQtZXJyb3ItcmVhZHlTdGF0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OWUyZDAwZWYwZGFjODhiOTFiYTZmYWY4YWJjYjJjZDdiZjFlZDZiYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZXJyb3ItcmVhZHlTdGF0ZS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitUZXN0cyB0aGUgZXJyb3IgZXZlbnQgb24gSFRN
TFRyYWNrRWxlbWVudCBhbmQgRVJST1IgcmVhZHlTdGF0ZSBvbiBUZXh0VHJhY2suCisKK0VWRU5U
KGVycm9yKQorRVhQRUNURUQgKHRyYWNrLnRyYWNrLnJlYWR5U3RhdGUgPT0gJzMnKSBPSworRU5E
IE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbG9h
ZC1lcnJvci1yZWFkeVN0YXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1s
b2FkLWVycm9yLXJlYWR5U3RhdGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41M2YzOThhMzhjOTcxNjFiMjZk
YmVkODdiMTAwN2NlZjk3N2Y4MzhjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVk
aWEvdHJhY2svdHJhY2stbG9hZC1lcnJvci1yZWFkeVN0YXRlLmh0bWwKQEAgLTAsMCArMSwyNiBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgaHR0
cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgi
IC8+CisKKyAgICAgICAgPHNjcmlwdCBzcmM9Li4vbWVkaWEtZmlsZS5qcz48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Li4vdmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdD4KKworICAgICAgICAgICAgZnVuY3Rpb24gdHJhY2tFcnJvcigpCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJFVkVOVChlcnJvcikiKTsKKyAgICAgICAg
ICAgICAgICB0cmFjayA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0VHJhY2tFcnJvcicp
OyAKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInRyYWNrLnRyYWNrLnJlYWR5U3RhdGUi
LCBUZXh0VHJhY2suRXJyb3IpOworICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxwPlRlc3RzIHRoZSBlcnJvciBldmVudCBvbiBIVE1MVHJhY2tFbGVtZW50IGFuZCBFUlJP
UiByZWFkeVN0YXRlIG9uIFRleHRUcmFjay48L3A+CisgICAgICAgIDx2aWRlbyBpZD0idmlkZW90
ZXN0cyI+CisgICAgICAgICAgICA8dHJhY2sgaWQ9InRlc3RUcmFja0Vycm9yIiBzcmM9Imp1bmsi
IG9uZXJyb3I9InRyYWNrRXJyb3IoKSI+CisgICAgICAgIDwvdmlkZW8+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbG9hZC1m
cm9tLWVsZW1lbnQtcmVhZHlTdGF0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS90
cmFjay90cmFjay1sb2FkLWZyb20tZWxlbWVudC1yZWFkeVN0YXRlLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zYTZlNzFjYzYxMDhmNjgzMTZmNWRmZDUxMmVlZDU0ZmQ0NjJjMGZhCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbG9hZC1mcm9tLWVsZW1l
bnQtcmVhZHlTdGF0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitUZXN0cyB0aGUgbG9h
ZCBldmVudCBvbiBIVE1MVHJhY2tFbGVtZW50IGFuZCBMT0FERUQgcmVhZHlTdGF0ZSBvbiBUZXh0
VHJhY2sgd2hlbiBzcmMgaXMgc2V0IG9uIHRoZSBlbGVtZW50LgorCitFVkVOVChsb2FkKQorRVhQ
RUNURUQgKHRyYWNrLnRyYWNrLnJlYWR5U3RhdGUgPT0gJzInKSBPSworRU5EIE9GIFRFU1QKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbG9hZC1mcm9tLWVsZW1l
bnQtcmVhZHlTdGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbG9hZC1m
cm9tLWVsZW1lbnQtcmVhZHlTdGF0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmMDQ2NDhiMGVkMDYxYzBm
MDM1OTE3YTRjNDRjMTE4YjEwY2E4MWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9t
ZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tZWxlbWVudC1yZWFkeVN0YXRlLmh0bWwKQEAgLTAs
MCArMSwyNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJz
ZXQ9dXRmLTgiIC8+CisKKyAgICAgICAgPHNjcmlwdCBzcmM9Li4vbWVkaWEtZmlsZS5qcz48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Li4vdmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdD4KKworICAgICAgICAgICAgZnVuY3Rpb24gdHJhY2tMb2FkZWQoKQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiRVZFTlQobG9hZCkiKTsK
KyAgICAgICAgICAgICAgICB0cmFjayA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0VHJh
Y2tTcmMnKTsgCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0cmFjay50cmFjay5yZWFk
eVN0YXRlIiwgVGV4dFRyYWNrLkxvYWRlZCk7CisgICAgICAgICAgICAgICAgZW5kVGVzdCgpOwor
ICAgICAgICAgICAgfQorCisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPHA+VGVzdHMgdGhlIGxvYWQgZXZlbnQgb24gSFRNTFRyYWNrRWxlbWVudCBh
bmQgTE9BREVEIHJlYWR5U3RhdGUgb24gVGV4dFRyYWNrIHdoZW4gc3JjIGlzIHNldCBvbiB0aGUg
ZWxlbWVudC48L3A+CisgICAgICAgIDx2aWRlbz4KKyAgICAgICAgICAgIDx0cmFjayBpZD0idGVz
dFRyYWNrU3JjIiBzcmM9ImNhcHRpb25zLXdlYnZ0dC90YzAwNC13ZWJ2dHQtZmlsZS52dHQiIG9u
bG9hZD0idHJhY2tMb2FkZWQoKSI+CisJICAgICAgPC92aWRlbz4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20t
c3JjLXJlYWR5U3RhdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJh
Y2stbG9hZC1mcm9tLXNyYy1yZWFkeVN0YXRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YzQw
NWFmNzIxM2FiZmY3NjUyZTBhY2FkNjkwOTU3NjQ0ZTY0Yzk4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbG9hZC1mcm9tLXNyYy1yZWFkeVN0YXRlLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK1Rlc3RzIHRoZSBsb2FkIGV2ZW50IG9uIEhUTUxU
cmFja0VsZW1lbnQgYW5kIExPQURFRCByZWFkeVN0YXRlIG9uIFRleHRUcmFjayB3aGVuIHNyYyBp
cyBzZXQgZnJvbSBKYXZhU2NyaXB0LgorCitFWFBFQ1RFRCAodHJhY2sudHJhY2sucmVhZHlTdGF0
ZSA9PSAnMCcpIE9LCitFVkVOVChsb2FkKQorRVhQRUNURUQgKHRyYWNrLnRyYWNrLnJlYWR5U3Rh
dGUgPT0gJzInKSBPSworRU5EIE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVk
aWEvdHJhY2svdHJhY2stbG9hZC1mcm9tLXNyYy1yZWFkeVN0YXRlLmh0bWwgYi9MYXlvdXRUZXN0
cy9tZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tc3JjLXJlYWR5U3RhdGUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42MWViYjJkMGRjMzA4OGY1Njc2YTMxNjliYzA0NWQxZGVmNDk3NzY2Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbG9hZC1mcm9tLXNyYy1yZWFk
eVN0YXRlLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50
PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+CisKKyAgICAgICAgPHNjcmlwdCBzcmM9Li4v
bWVkaWEtZmlsZS5qcz48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Li4vdmlkZW8tdGVz
dC5qcz48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3Rz
IHRoZSBsb2FkIGV2ZW50IG9uIEhUTUxUcmFja0VsZW1lbnQgYW5kIExPQURFRCByZWFkeVN0YXRl
IG9uIFRleHRUcmFjayB3aGVuIHNyYyBpcyBzZXQgZnJvbSBKYXZhU2NyaXB0LjwvcD4KKyAgICAg
ICAgPHZpZGVvPgorICAgICAgICAgICAgPHRyYWNrIGlkPSJ0ZXN0VHJhY2tFbXB0eSI+CisgICAg
ICAgIDwvdmlkZW8+CisgICAgICAgIDxzY3JpcHQ+CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRy
YWNrTG9hZGVkKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUo
IkVWRU5UKGxvYWQpIik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0cmFjay50cmFj
ay5yZWFkeVN0YXRlIiwgVGV4dFRyYWNrLkxvYWRlZCk7CisgICAgICAgICAgICAgICAgZW5kVGVz
dCgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB0cmFjayA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCd0ZXN0VHJhY2tFbXB0eScpOworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0
cmFjay50cmFjay5yZWFkeVN0YXRlIiwgVGV4dFRyYWNrLk5vbmUpOworICAgICAgICAgICAgdHJh
Y2suYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uICgpIHsgdHJhY2tMb2FkZWQoKTsg
fSwgdHJ1ZSk7CisgICAgICAgICAgICB0cmFjay5zcmMgPSAiY2FwdGlvbnMtd2VidnR0L3RjMDA0
LXdlYnZ0dC1maWxlLnZ0dCI7ICAgCisKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAppbmRleCBjYmNjYTg4NmQxYzBmMmZhMDIx
ZGY1ZWJiNzFkZTMwMDY0MmQ5Zjc1Li5kYmQ5ZWFhZDBiYjNhYWZiZWI2NmYwZjhmMWIwNGRjNjYz
OGQxZGUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZApAQCAtNDIxLDYgKzQyMSw5IEBAIGZh
c3QvZG9tL01pY3JvRGF0YQogCiAjIFRlc3RzIGZvciA8dHJhY2s+LiAgRmVhdHVyZSBpcyBub3Qg
eWV0IGZ1bmN0aW9uYWwuCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00MzY2OAorbWVkaWEvdHJhY2svdHJhY2stbG9hZC1lcnJvci1yZWFkeVN0YXRlLmh0bWwKK21l
ZGlhL3RyYWNrL3RyYWNrLWxvYWQtZnJvbS1lbGVtZW50LXJlYWR5U3RhdGUuaHRtbAorbWVkaWEv
dHJhY2svdHJhY2stbG9hZC1mcm9tLXNyYy1yZWFkeVN0YXRlLmh0bWwKIG1lZGlhL3RyYWNrL3Ry
YWNrLW11dGFibGUuaHRtbAogbWVkaWEvdHJhY2svdHJhY2stdGV4dC10cmFjay1jdWUtbGlzdC5o
dG1sCiBtZWRpYS90cmFjay90cmFjay10ZXh0LXRyYWNrLWRlc3RydWN0b3ItY3Jhc2guaHRtbApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCBiZDg5OWIwYWY1ZjlkMmJjMzEwM2EzNTM0N2E0
YjY5YTg0ZTI2NTVkLi42ZTZiZGYwZDAwNTUzOTk4OGM5NjQ2OTc4NmNmZDgxYjk5YmY4MWFjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtMTQwNSw2ICsxNDA1LDkgQEAgZmFzdC9tdXRh
dGlvbgogCiAjIFRlc3RzIGZvciA8dHJhY2s+LiAgRmVhdHVyZSBpcyBub3QgeWV0IGZ1bmN0aW9u
YWwuCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzY2OAorbWVk
aWEvdHJhY2svdHJhY2stbG9hZC1lcnJvci1yZWFkeVN0YXRlLmh0bWwKK21lZGlhL3RyYWNrL3Ry
YWNrLWxvYWQtZnJvbS1lbGVtZW50LXJlYWR5U3RhdGUuaHRtbAorbWVkaWEvdHJhY2svdHJhY2st
bG9hZC1mcm9tLXNyYy1yZWFkeVN0YXRlLmh0bWwKIG1lZGlhL3RyYWNrL3RyYWNrLW11dGFibGUu
aHRtbAogbWVkaWEvdHJhY2svdHJhY2stdGV4dC10cmFjay1jdWUtbGlzdC5odG1sCiBtZWRpYS90
cmFjay90cmFjay10ZXh0LXRyYWNrLWRlc3RydWN0b3ItY3Jhc2guaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113047</attachid>
            <date>2011-10-31 07:21:52 -0700</date>
            <delta_ts>2011-10-31 07:26:11 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-71054-20111031072151.patch</filename>
            <type>text/plain</type>
            <size>15067</size>
            <attacher name="Anna Cavender">annacc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg4NTMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzOWY1M2Q1MzJkYTFmMzdl
M2I2ZTNmMTQ4Y2M1ZWE3ZDFiYWQ4ZGIwLi44MWYzZmM3MWRjZmQ2NDdlMTA2ZjYxMjdjZGVlZGEx
OTRlOWM0MGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMTAtMzEgIEFubmEg
Q2F2ZW5kZXIgIDxhbm5hY2NAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEltcGxlbWVudCBsb2Fk
IG5vdGlmaWNhdGlvbiBhbmQgZXZlbnRzIGZvciA8dHJhY2s+LgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNTQKKworICAgICAgICBSZXZpZXdlZCBi
eSBFcmljIENhcmxzb24uCisKKyAgICAgICAgVGVzdHM6IG1lZGlhL3RyYWNrL3RyYWNrLWxvYWQt
ZXJyb3ItcmVhZHlTdGF0ZS5odG1sCisgICAgICAgICAgICAgICBtZWRpYS90cmFjay90cmFjay1s
b2FkLWZyb20tZWxlbWVudC1yZWFkeVN0YXRlLmh0bWwKKyAgICAgICAgICAgICAgIG1lZGlhL3Ry
YWNrL3RyYWNrLWxvYWQtZnJvbS1zcmMtcmVhZHlTdGF0ZS5odG1sCisKKyAgICAgICAgKiBodG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6dHJhY2tXYXNBZGRlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp0
cmFja1dpbGxCZVJlbW92ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
dHJhY2tTb3VyY2VDaGFuZ2VkKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoK
KyAgICAgICAgKiBodG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTFRyYWNrRWxlbWVudDo6aW5zZXJ0ZWRJbnRvVHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MVHJhY2tFbGVtZW50Ojp3aWxsUmVtb3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmFj
a0VsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxU
cmFja0VsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQpOgorICAgICAgICAqIGh0bWwvSFRNTFRyYWNr
RWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvTG9hZGFibGVUZXh0VHJhY2suY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TG9hZGFibGVUZXh0VHJhY2s6OmN1ZUxvYWRpbmdDb21wbGV0ZWQpOgorCiAy
MDExLTEwLTMxICBBbmRyZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9yZz4KIAogICAgICAgICBL
aWxsIFN0eWxlQmFzZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmlu
ZGV4IGY1ZTNmZGYxODIwNGNmZGU4OTExZTEzYmMwN2NjZWViYzAwNWQyN2IuLjNkMWM0ZmE5ZGEy
MTYyM2UzNGZhMjcxOGU1MzZiYTYwOGIzMmJkMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmNwcApAQCAtMTk5Myw2ICsxOTkzLDM4IEBAIFBhc3NSZWZQdHI8VGV4dFRy
YWNrPiBIVE1MTWVkaWFFbGVtZW50OjphZGRUcmFjayhjb25zdCBTdHJpbmcmIGtpbmQsIGNvbnN0
IFN0cmluCiAgICAgbV90ZXh0VHJhY2tzLmFwcGVuZCh0ZXh0VHJhY2spOwogICAgIHJldHVybiB0
ZXh0VHJhY2sucmVsZWFzZSgpOwogfQorCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnRyYWNrV2Fz
QWRkZWQoSFRNTFRyYWNrRWxlbWVudCogdHJhY2spCit7CisjaWYgIUxPR19ESVNBQkxFRAorICAg
IGlmICh0cmFjay0+aGFzVGFnTmFtZSh0cmFja1RhZykpIHsKKyAgICAgICAgS1VSTCB1cmwgPSB0
cmFjay0+Z2V0Tm9uRW1wdHlVUkxBdHRyaWJ1dGUoc3JjQXR0cik7CisgICAgICAgIExPRyhNZWRp
YSwgIkhUTUxNZWRpYUVsZW1lbnQ6OnRyYWNrV2FzQWRkZWQgLSAnc3JjJyBpcyAlcyIsIHVybEZv
ckxvZ2dpbmcodXJsKS51dGY4KCkuZGF0YSgpKTsKKyAgICB9CisjZW5kaWYKKyAgICBsb2FkTmV4
dFRleHRUcmFjayh0cmFjayk7Cit9CisgCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnRyYWNrV2ls
bEJlUmVtb3ZlZChIVE1MVHJhY2tFbGVtZW50KiB0cmFjaykKK3sKKyNpZiAhTE9HX0RJU0FCTEVE
CisgICAgaWYgKHRyYWNrLT5oYXNUYWdOYW1lKHRyYWNrVGFnKSkgeworICAgICAgICBLVVJMIHVy
bCA9IHRyYWNrLT5nZXROb25FbXB0eVVSTEF0dHJpYnV0ZShzcmNBdHRyKTsKKyAgICAgICAgTE9H
KE1lZGlhLCAiSFRNTE1lZGlhRWxlbWVudDo6dHJhY2tXaWxsQmVSZW1vdmVkIC0gJ3NyYycgaXMg
JXMiLCB1cmxGb3JMb2dnaW5nKHVybCkudXRmOCgpLmRhdGEoKSk7CisgICAgfQorI2VuZGlmCit9
CisKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dHJhY2tTb3VyY2VDaGFuZ2VkKEhUTUxUcmFja0Vs
ZW1lbnQqIHRyYWNrKQoreworI2lmICFMT0dfRElTQUJMRUQKKyAgICBpZiAodHJhY2stPmhhc1Rh
Z05hbWUodHJhY2tUYWcpKSB7CisgICAgICAgIEtVUkwgdXJsID0gdHJhY2stPmdldE5vbkVtcHR5
VVJMQXR0cmlidXRlKHNyY0F0dHIpOworICAgICAgICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVt
ZW50Ojp0cmFja1NvdXJjZUNoYW5nZWQgLSAnc3JjJyBpcyAlcyIsIHVybEZvckxvZ2dpbmcodXJs
KS51dGY4KCkuZGF0YSgpKTsKKyAgICB9CisjZW5kaWYKKyAgICBsb2FkTmV4dFRleHRUcmFjayh0
cmFjayk7Cit9CiAjZW5kaWYKIAogYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpoYXZlUG90ZW50aWFs
U291cmNlQ2hpbGQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCAy
YmQwMzMzNGU2NjEzOGRlMTZjZGYzOTNkMDE5YjY1NDU4MTYwOWZkLi4wZDJmOWZjNDllMTAwY2I1
MTdiZWYwZDE1MGFjNGY3N2E1NzVlOWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaApAQCAtMTgxLDYgKzE4MSw5IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShWSURFT19U
UkFDSykKICAgICBQYXNzUmVmUHRyPFRleHRUcmFjaz4gYWRkVHJhY2soY29uc3QgU3RyaW5nJiBr
aW5kLCBjb25zdCBTdHJpbmcmIGxhYmVsID0gIiIsIGNvbnN0IFN0cmluZyYgbGFuZ3VhZ2UgPSAi
Iik7CisgICAgdmlydHVhbCB2b2lkIHRyYWNrV2FzQWRkZWQoSFRNTFRyYWNrRWxlbWVudCopOwor
ICAgIHZpcnR1YWwgdm9pZCB0cmFja1dpbGxCZVJlbW92ZWQoSFRNTFRyYWNrRWxlbWVudCopOwor
ICAgIHZpcnR1YWwgdm9pZCB0cmFja1NvdXJjZUNoYW5nZWQoSFRNTFRyYWNrRWxlbWVudCopOwog
I2VuZGlmCiAKICNpZiBFTkFCTEUoUExVR0lOX1BST1hZX0ZPUl9WSURFTykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCmluZGV4IDkyMDdkN2ExYTQ2ZDM3MWMyYjRhZWM5
NWUzMWY2Njg4YWU1M2I4ZTUuLjA1MWU5ODBkNDE5ZTEzYWRhM2FiMzZiYjlkMDEzNGRlZWIwNTE4
YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcApAQCAtMzIsNiAr
MzIsNyBAQAogI2luY2x1ZGUgIkhUTUxNZWRpYUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFt
ZXMuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiU2NyaXB0RXZlbnRMaXN0ZW5l
ci5oIgogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCkBAIC01OSwyMiArNjAsNDEgQEAgdm9pZCBI
VE1MVHJhY2tFbGVtZW50OjppbnNlcnRlZEludG9UcmVlKGJvb2wgZGVlcCkKIHsKICAgICBIVE1M
RWxlbWVudDo6aW5zZXJ0ZWRJbnRvVHJlZShkZWVwKTsKICAgICBFbGVtZW50KiBwYXJlbnQgPSBw
YXJlbnRFbGVtZW50KCk7Ci0gICAgaWYgKHBhcmVudCAmJiBwYXJlbnQtPmlzTWVkaWFFbGVtZW50
KCkpIHsKLSAgICAgICAgLy8gVE9ETyhhbm5hY2MpOgotICAgICAgICAvLyBzdGF0aWNfY2FzdDxI
VE1MTWVkaWFFbGVtZW50Kj4ocGFyZW50Tm9kZSgpKS0+dHJhY2tXYXNBZGRlZCh0aGlzKTsKLSAg
ICB9CisgICAgaWYgKHBhcmVudCAmJiBwYXJlbnQtPmlzTWVkaWFFbGVtZW50KCkpCisgICAgICAg
IHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1lbnQqPihwYXJlbnROb2RlKCkpLT50cmFja1dhc0Fk
ZGVkKHRoaXMpOwogfQogCiB2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OndpbGxSZW1vdmUoKQogewog
ICAgIEVsZW1lbnQqIHBhcmVudCA9IHBhcmVudEVsZW1lbnQoKTsKLSAgICBpZiAocGFyZW50ICYm
IHBhcmVudC0+aXNNZWRpYUVsZW1lbnQoKSkgewotICAgICAgICAvLyBUT0RPKGFubmFjYyk6Ci0g
ICAgICAgIC8vIHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1lbnQqPihwYXJlbnROb2RlKCkpLT50
cmFja1dpbGxCZVJlbW92ZWQodGhpcyk7Ci0gICAgfQorICAgIGlmIChwYXJlbnQgJiYgcGFyZW50
LT5pc01lZGlhRWxlbWVudCgpKQorICAgICAgICBzdGF0aWNfY2FzdDxIVE1MTWVkaWFFbGVtZW50
Kj4ocGFyZW50Tm9kZSgpKS0+dHJhY2tXaWxsQmVSZW1vdmVkKHRoaXMpOwogICAgIEhUTUxFbGVt
ZW50Ojp3aWxsUmVtb3ZlKCk7CiB9CiAKK3ZvaWQgSFRNTFRyYWNrRWxlbWVudDo6cGFyc2VNYXBw
ZWRBdHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyaWJ1dGUpCit7CisgICAgY29uc3QgUXVhbGlmaWVk
TmFtZSYgYXR0ck5hbWUgPSBhdHRyaWJ1dGUtPm5hbWUoKTsKKworICAgIGlmIChhdHRyTmFtZSA9
PSBvbmxvYWRBdHRyKQorICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFt
ZXMoKS5sb2FkRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cmli
dXRlKSk7CisgICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gb25lcnJvckF0dHIpCisgICAgICAgIHNl
dEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmVycm9yRXZlbnQsIGNyZWF0ZUF0
dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cmlidXRlKSk7CisgICAgZWxzZQorICAgICAg
ICBIVE1MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cmlidXRlKTsKK30KKwordm9p
ZCBIVE1MVHJhY2tFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKEF0dHJpYnV0ZSogYXR0ciwgYm9v
bCBwcmVzZXJ2ZURlY2xzKQoreworICAgIEhUTUxFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKGF0
dHIsIHByZXNlcnZlRGVjbHMpOworCisgICAgY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUg
PSBhdHRyLT5uYW1lKCk7CisgICAgaWYgKGF0dHJOYW1lID09IHNyY0F0dHIpIHsKKyAgICAgICAg
aWYgKCFnZXRBdHRyaWJ1dGUoc3JjQXR0cikuaXNFbXB0eSgpICYmIHBhcmVudE5vZGUoKSkKKyAg
ICAgICAgICAgIHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1lbnQqPihwYXJlbnROb2RlKCkpLT50
cmFja1NvdXJjZUNoYW5nZWQodGhpcyk7CisgICAgfQorfQorCiBLVVJMIEhUTUxUcmFja0VsZW1l
bnQ6OnNyYygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGRvY3VtZW50KCktPmNvbXBsZXRlVVJMKGdl
dEF0dHJpYnV0ZShzcmNBdHRyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxUcmFja0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5o
CmluZGV4IDViMzAwMmNlOTMwMTNkMWM1M2UyOTFmZjVjMzY5MzRmNzM5MmI3MzYuLmIxMGI0Y2Jj
NjQyMWNhM2ExYjRiMDMzNjVhOWE2NDM0MzZjZWVjN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRyYWNrRWxlbWVudC5oCkBAIC01OSw2ICs1OSw5IEBAIHByaXZhdGU6CiAKICAgICBIVE1MVHJh
Y2tFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwogICAgIHZpcnR1YWwg
fkhUTUxUcmFja0VsZW1lbnQoKTsKKyAgICAKKyAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRB
dHRyaWJ1dGUoQXR0cmlidXRlKik7CisgICAgdmlydHVhbCB2b2lkIGF0dHJpYnV0ZUNoYW5nZWQo
QXR0cmlidXRlKiwgYm9vbCBwcmVzZXJ2ZURlY2xzKTsKIAogICAgIHZpcnR1YWwgdm9pZCBpbnNl
cnRlZEludG9UcmVlKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsUmVtb3ZlKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0xvYWRhYmxlVGV4dFRyYWNrLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTG9hZGFibGVUZXh0VHJhY2suY3BwCmluZGV4IDE1NGU0ZTA5NTc5NTEy
ODg1MmIyYzVhZDcyMDEzMzMxZWIzMWE2NjEuLjNkNmY4YzM3ZTE5ZjcxMDMzMjI4MGY2NTg0Mjcy
Njc1NGJiN2JlMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTG9hZGFibGVUZXh0
VHJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTG9hZGFibGVUZXh0VHJhY2suY3Bw
CkBAIC02MywxMSArNjMsMTQgQEAgdm9pZCBMb2FkYWJsZVRleHRUcmFjazo6Y3VlTG9hZGluZ1N0
YXJ0ZWQoVGV4dFRyYWNrTG9hZGVyKiBsb2FkZXIpCiAgICAgc2V0UmVhZHlTdGF0ZShUZXh0VHJh
Y2s6OkxvYWRpbmcpOwogfQogCi12b2lkIExvYWRhYmxlVGV4dFRyYWNrOjpjdWVMb2FkaW5nQ29t
cGxldGVkKFRleHRUcmFja0xvYWRlciogbG9hZGVyLCBib29sKQordm9pZCBMb2FkYWJsZVRleHRU
cmFjazo6Y3VlTG9hZGluZ0NvbXBsZXRlZChUZXh0VHJhY2tMb2FkZXIqIGxvYWRlciwgYm9vbCBs
b2FkaW5nRmFpbGVkKQogewogICAgIEFTU0VSVF9VTlVTRUQobG9hZGVyLCBtX2xvYWRlciA9PSBs
b2FkZXIpOwogCi0gICAgLy8gRklYTUUoNjI4ODUpOiBJbXBsZW1lbnQuCisgICAgbG9hZGluZ0Zh
aWxlZCA/IHNldFJlYWR5U3RhdGUoVGV4dFRyYWNrOjpFcnJvcikgOiBzZXRSZWFkeVN0YXRlKFRl
eHRUcmFjazo6TG9hZGVkKTsKKworICAgIGlmIChtX2xvYWRpbmdDbGllbnQpCisgICAgICAgIG1f
bG9hZGluZ0NsaWVudC0+dGV4dFRyYWNrTG9hZGluZ0NvbXBsZXRlZCh0aGlzLCBsb2FkaW5nRmFp
bGVkKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDdmYWJmZjM3MzNhODg4
NWQzMWMyYmY2ZDYxNzc1ZjZmMWYyNjNjMDAuLjVkOGM1ODdmNTg3NTYzNzJmNGNjNjgwYmFjYTRi
MTNjYjI0NWRmNTggMTAwNzU1Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMS0xMC0zMSAgQW5uYSBDYXZl
bmRlciAgPGFubmFjY0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IGxvYWQgbm90
aWZpY2F0aW9uIGFuZCBldmVudHMgZm9yIDx0cmFjaz4uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA1NAorCisgICAgICAgIFJldmlld2VkIGJ5IEVy
aWMgQ2FybHNvbi4KKworICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZXJyb3ItcmVh
ZHlTdGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNr
LWxvYWQtZXJyb3ItcmVhZHlTdGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS90cmFj
ay90cmFjay1sb2FkLWZyb20tZWxlbWVudC1yZWFkeVN0YXRlLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogbWVkaWEvdHJhY2svdHJhY2stbG9hZC1mcm9tLWVsZW1lbnQtcmVhZHlTdGF0
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tc3Jj
LXJlYWR5U3RhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS90cmFjay90
cmFjay1sb2FkLWZyb20tc3JjLXJlYWR5U3RhdGUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vbWFjL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisKIDIw
MTEtMTAtMzEgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CiAKICAg
ICAgICAgQ1NTIDIuMSBmYWlsdXJlOiBiYWNrZ3JvdW5kLWludHJpbnNpYy0qCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1sb2FkLWVycm9yLXJlYWR5U3RhdGUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbG9hZC1lcnJvci1yZWFk
eVN0YXRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZTJkMDBlZjBkYWM4OGI5MWJhNmZhZjhh
YmNiMmNkN2JmMWVkNmJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJh
Y2svdHJhY2stbG9hZC1lcnJvci1yZWFkeVN0YXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYg
QEAKK1Rlc3RzIHRoZSBlcnJvciBldmVudCBvbiBIVE1MVHJhY2tFbGVtZW50IGFuZCBFUlJPUiBy
ZWFkeVN0YXRlIG9uIFRleHRUcmFjay4KKworRVZFTlQoZXJyb3IpCitFWFBFQ1RFRCAodHJhY2su
dHJhY2sucmVhZHlTdGF0ZSA9PSAnMycpIE9LCitFTkQgT0YgVEVTVAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1sb2FkLWVycm9yLXJlYWR5U3RhdGUuaHRtbCBi
L0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZXJyb3ItcmVhZHlTdGF0ZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjUzZjM5OGEzOGM5NzE2MWIyNmRiZWQ4N2IxMDA3Y2VmOTc3ZjgzOGMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1sb2FkLWVycm9y
LXJlYWR5U3RhdGUuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNv
bnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KKworICAgICAgICA8c2NyaXB0IHNy
Yz0uLi9tZWRpYS1maWxlLmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0uLi92aWRl
by10ZXN0LmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorCisgICAgICAgICAgICBmdW5j
dGlvbiB0cmFja0Vycm9yKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb25zb2xl
V3JpdGUoIkVWRU5UKGVycm9yKSIpOworICAgICAgICAgICAgICAgIHRyYWNrID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3Rlc3RUcmFja0Vycm9yJyk7IAorICAgICAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgidHJhY2sudHJhY2sucmVhZHlTdGF0ZSIsIFRleHRUcmFjay5FcnJvcik7CisgICAg
ICAgICAgICAgICAgZW5kVGVzdCgpOworICAgICAgICAgICAgfQorCisgICAgICAgIDwvc2NyaXB0
PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGVzdHMgdGhlIGVycm9yIGV2
ZW50IG9uIEhUTUxUcmFja0VsZW1lbnQgYW5kIEVSUk9SIHJlYWR5U3RhdGUgb24gVGV4dFRyYWNr
LjwvcD4KKyAgICAgICAgPHZpZGVvIGlkPSJ2aWRlb3Rlc3RzIj4KKyAgICAgICAgICAgIDx0cmFj
ayBpZD0idGVzdFRyYWNrRXJyb3IiIHNyYz0ianVuayIgb25lcnJvcj0idHJhY2tFcnJvcigpIj4K
KyAgICAgICAgPC92aWRlbz4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tZWxlbWVudC1yZWFkeVN0YXRlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZnJvbS1lbGVt
ZW50LXJlYWR5U3RhdGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNhNmU3MWNjNjEwOGY2ODMx
NmY1ZGZkNTEyZWVkNTRmZDQ2MmMwZmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9t
ZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tZWxlbWVudC1yZWFkeVN0YXRlLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDYgQEAKK1Rlc3RzIHRoZSBsb2FkIGV2ZW50IG9uIEhUTUxUcmFja0VsZW1l
bnQgYW5kIExPQURFRCByZWFkeVN0YXRlIG9uIFRleHRUcmFjayB3aGVuIHNyYyBpcyBzZXQgb24g
dGhlIGVsZW1lbnQuCisKK0VWRU5UKGxvYWQpCitFWFBFQ1RFRCAodHJhY2sudHJhY2sucmVhZHlT
dGF0ZSA9PSAnMicpIE9LCitFTkQgT0YgVEVTVAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9t
ZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tZWxlbWVudC1yZWFkeVN0YXRlLmh0bWwgYi9MYXlv
dXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tZWxlbWVudC1yZWFkeVN0YXRlLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uY2YwNDY0OGIwZWQwNjFjMGYwMzU5MTdhNGM0NGMxMThiMTBjYTgxYwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZnJv
bS1lbGVtZW50LXJlYWR5U3RhdGUuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50
LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KKworICAgICAgICA8
c2NyaXB0IHNyYz0uLi9tZWRpYS1maWxlLmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0uLi92aWRlby10ZXN0LmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorCisgICAgICAg
ICAgICBmdW5jdGlvbiB0cmFja0xvYWRlZCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCJFVkVOVChsb2FkKSIpOworICAgICAgICAgICAgICAgIHRyYWNrID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3RUcmFja1NyYycpOyAKKyAgICAgICAgICAgICAg
ICB0ZXN0RXhwZWN0ZWQoInRyYWNrLnRyYWNrLnJlYWR5U3RhdGUiLCBUZXh0VHJhY2suTG9hZGVk
KTsKKyAgICAgICAgICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAg
PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD5UZXN0cyB0aGUg
bG9hZCBldmVudCBvbiBIVE1MVHJhY2tFbGVtZW50IGFuZCBMT0FERUQgcmVhZHlTdGF0ZSBvbiBU
ZXh0VHJhY2sgd2hlbiBzcmMgaXMgc2V0IG9uIHRoZSBlbGVtZW50LjwvcD4KKyAgICAgICAgPHZp
ZGVvPgorICAgICAgICAgICAgPHRyYWNrIGlkPSJ0ZXN0VHJhY2tTcmMiIHNyYz0iY2FwdGlvbnMt
d2VidnR0L3RjMDA0LXdlYnZ0dC1maWxlLnZ0dCIgb25sb2FkPSJ0cmFja0xvYWRlZCgpIj4KKwkg
ICAgICA8L3ZpZGVvPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL21lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZnJvbS1zcmMtcmVhZHlTdGF0ZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tc3JjLXJlYWR5U3Rh
dGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjNDA1YWY3MjEzYWJmZjc2NTJlMGFjYWQ2OTA5
NTc2NDRlNjRjOTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90
cmFjay1sb2FkLWZyb20tc3JjLXJlYWR5U3RhdGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBA
QAorVGVzdHMgdGhlIGxvYWQgZXZlbnQgb24gSFRNTFRyYWNrRWxlbWVudCBhbmQgTE9BREVEIHJl
YWR5U3RhdGUgb24gVGV4dFRyYWNrIHdoZW4gc3JjIGlzIHNldCBmcm9tIEphdmFTY3JpcHQuCisK
K0VYUEVDVEVEICh0cmFjay50cmFjay5yZWFkeVN0YXRlID09ICcwJykgT0sKK0VWRU5UKGxvYWQp
CitFWFBFQ1RFRCAodHJhY2sudHJhY2sucmVhZHlTdGF0ZSA9PSAnMicpIE9LCitFTkQgT0YgVEVT
VAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20t
c3JjLXJlYWR5U3RhdGUuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWxvYWQt
ZnJvbS1zcmMtcmVhZHlTdGF0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxZWJiMmQwZGMzMDg4ZjU2NzZh
MzE2OWJjMDQ1ZDFkZWY0OTc3NjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRp
YS90cmFjay90cmFjay1sb2FkLWZyb20tc3JjLXJlYWR5U3RhdGUuaHRtbApAQCAtMCwwICsxLDMw
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBo
dHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYt
OCIgLz4KKworICAgICAgICA8c2NyaXB0IHNyYz0uLi9tZWRpYS1maWxlLmpzPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0uLi92aWRlby10ZXN0LmpzPjwvc2NyaXB0PgorICAgIDwvaGVh
ZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGVzdHMgdGhlIGxvYWQgZXZlbnQgb24gSFRNTFRy
YWNrRWxlbWVudCBhbmQgTE9BREVEIHJlYWR5U3RhdGUgb24gVGV4dFRyYWNrIHdoZW4gc3JjIGlz
IHNldCBmcm9tIEphdmFTY3JpcHQuPC9wPgorICAgICAgICA8dmlkZW8+CisgICAgICAgICAgICA8
dHJhY2sgaWQ9InRlc3RUcmFja0VtcHR5Ij4KKyAgICAgICAgPC92aWRlbz4KKyAgICAgICAgPHNj
cmlwdD4KKworICAgICAgICAgICAgZnVuY3Rpb24gdHJhY2tMb2FkZWQoKQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiRVZFTlQobG9hZCkiKTsKKyAgICAgICAg
ICAgICAgICB0ZXN0RXhwZWN0ZWQoInRyYWNrLnRyYWNrLnJlYWR5U3RhdGUiLCBUZXh0VHJhY2su
TG9hZGVkKTsKKyAgICAgICAgICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIHRyYWNrID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3RUcmFja0VtcHR5
Jyk7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInRyYWNrLnRyYWNrLnJlYWR5U3RhdGUiLCBU
ZXh0VHJhY2suTm9uZSk7CisgICAgICAgICAgICB0cmFjay5hZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgZnVuY3Rpb24gKCkgeyB0cmFja0xvYWRlZCgpOyB9LCB0cnVlKTsKKyAgICAgICAgICAgIHRy
YWNrLnNyYyA9ICJjYXB0aW9ucy13ZWJ2dHQvdGMwMDQtd2VidnR0LWZpbGUudnR0IjsgICAKKwor
ICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9T
a2lwcGVkCmluZGV4IGNiY2NhODg2ZDFjMGYyZmEwMjFkZjVlYmI3MWRlMzAwNjQyZDlmNzUuLmRi
ZDllYWFkMGJiM2FhZmJlYjY2ZjBmOGYxYjA0ZGM2NjM4ZDFkZTEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9Ta2lwcGVkCkBAIC00MjEsNiArNDIxLDkgQEAgZmFzdC9kb20vTWljcm9EYXRhCiAKICMgVGVz
dHMgZm9yIDx0cmFjaz4uICBGZWF0dXJlIGlzIG5vdCB5ZXQgZnVuY3Rpb25hbC4KICMgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNjY4CittZWRpYS90cmFjay90cmFj
ay1sb2FkLWVycm9yLXJlYWR5U3RhdGUuaHRtbAorbWVkaWEvdHJhY2svdHJhY2stbG9hZC1mcm9t
LWVsZW1lbnQtcmVhZHlTdGF0ZS5odG1sCittZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tc3Jj
LXJlYWR5U3RhdGUuaHRtbAogbWVkaWEvdHJhY2svdHJhY2stbXV0YWJsZS5odG1sCiBtZWRpYS90
cmFjay90cmFjay10ZXh0LXRyYWNrLWN1ZS1saXN0Lmh0bWwKIG1lZGlhL3RyYWNrL3RyYWNrLXRl
eHQtdHJhY2stZGVzdHJ1Y3Rvci1jcmFzaC5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmlu
ZGV4IGJkODk5YjBhZjVmOWQyYmMzMTAzYTM1MzQ3YTRiNjlhODRlMjY1NWQuLjZlNmJkZjBkMDA1
NTM5OTg4Yzk2NDY5Nzg2Y2ZkODFiOTliZjgxYWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVk
CkBAIC0xNDA1LDYgKzE0MDUsOSBAQCBmYXN0L211dGF0aW9uCiAKICMgVGVzdHMgZm9yIDx0cmFj
az4uICBGZWF0dXJlIGlzIG5vdCB5ZXQgZnVuY3Rpb25hbC4KICMgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNjY4CittZWRpYS90cmFjay90cmFjay1sb2FkLWVycm9y
LXJlYWR5U3RhdGUuaHRtbAorbWVkaWEvdHJhY2svdHJhY2stbG9hZC1mcm9tLWVsZW1lbnQtcmVh
ZHlTdGF0ZS5odG1sCittZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tc3JjLXJlYWR5U3RhdGUu
aHRtbAogbWVkaWEvdHJhY2svdHJhY2stbXV0YWJsZS5odG1sCiBtZWRpYS90cmFjay90cmFjay10
ZXh0LXRyYWNrLWN1ZS1saXN0Lmh0bWwKIG1lZGlhL3RyYWNrL3RyYWNrLXRleHQtdHJhY2stZGVz
dHJ1Y3Rvci1jcmFzaC5odG1sCg==
</data>
<flag name="commit-queue"
          id="111278"
          type_id="3"
          status="+"
          setter="annacc"
    />
          </attachment>
      

    </bug>

</bugzilla>