<?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>81712</bug_id>
          
          <creation_ts>2012-03-20 16:08:05 -0700</creation_ts>
          <short_desc>&quot;this&quot; argument for MutationCallbacks should be the MutationObserver</short_desc>
          <delta_ts>2012-03-21 15:34:51 -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>DOM</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>
          
          <blocked>68729</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Klein">adamk</reporter>
          <assigned_to name="Adam Klein">adamk</assigned_to>
          <cc>abarth</cc>
    
    <cc>adamk</cc>
    
    <cc>arv</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>oliver</cc>
    
    <cc>rafaelw</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>583560</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-03-20 16:08:05 -0700</bug_when>
    <thetext>&quot;this&quot; argument for MutationCallbacks should be the MutationObserver</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584509</commentid>
    <comment_count>1</comment_count>
      <attachid>133097</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-03-21 12:40:09 -0700</bug_when>
    <thetext>Created attachment 133097
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584512</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-03-21 12:41:04 -0700</bug_when>
    <thetext>Add some bindings experts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584588</commentid>
    <comment_count>3</comment_count>
      <attachid>133097</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-21 13:45:37 -0700</bug_when>
    <thetext>Comment on attachment 133097
Patch

Do other callbacks have this problem?  Why is this code custom and not autogenerated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584602</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-03-21 13:54:26 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 133097 [details])
&gt; Do other callbacks have this problem?  Why is this code custom and not autogenerated.

It&apos;s specified to be the observer by DOM4 (see step 4):

http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-mo-invoke

Note that WebIDL lets specifications define this on a per-callback basis:

http://dev.w3.org/2006/webapi/WebIDL/#dfn-callback-this-value

I think there probably should be some codegen perl here, but I&apos;m not sure exactly what it should look like, so I&apos;d like to land this for now and wait to see if we have other users of this WebIDL feature.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584629</commentid>
    <comment_count>5</comment_count>
      <attachid>133097</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-03-21 14:22:50 -0700</bug_when>
    <thetext>Comment on attachment 133097
Patch

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

LGTM

It is really silly to pass the mutation observer as the second argument to the callback but that is a topic for the spec and not for this patch.

&gt; LayoutTests/fast/mutation/callback-this-argument.html:4
&gt; +if (window.layoutTestController) {

Can you use js-test-pre?

&gt; LayoutTests/fast/mutation/callback-this-argument.html:9
&gt; +function mutationCallback(mutations) {

Should we also test arguments[1]?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584638</commentid>
    <comment_count>6</comment_count>
      <attachid>133097</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-03-21 14:35:21 -0700</bug_when>
    <thetext>Comment on attachment 133097
Patch

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

&gt;&gt; LayoutTests/fast/mutation/callback-this-argument.html:9
&gt;&gt; +function mutationCallback(mutations) {
&gt; 
&gt; Should we also test arguments[1]?

Will combine with callback-second-argument.html and use js-test-pre.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584648</commentid>
    <comment_count>7</comment_count>
      <attachid>133115</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-03-21 14:48:25 -0700</bug_when>
    <thetext>Created attachment 133115
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584703</commentid>
    <comment_count>8</comment_count>
      <attachid>133115</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-21 15:34:46 -0700</bug_when>
    <thetext>Comment on attachment 133115
Patch for landing

Clearing flags on attachment: 133115

Committed r111611: &lt;http://trac.webkit.org/changeset/111611&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584704</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-21 15:34:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133097</attachid>
            <date>2012-03-21 12:40:09 -0700</date>
            <delta_ts>2012-03-21 14:48:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81712-20120321124008.patch</filename>
            <type>text/plain</type>
            <size>10863</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNTkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2Q2ZjZlZDQ5MDE5OTIw
MWMwNjFiMzBhMzZmYmQ1MWJiZGNlZjYyOC4uMDgyMGYyM2VmZTcwMWNjZTI4ODkzMzljZDkzOTMy
MTIyOTkyNWE4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTAzLTIxICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgICJ0aGlzIiBhcmd1bWVudCBm
b3IgTXV0YXRpb25DYWxsYmFja3Mgc2hvdWxkIGJlIHRoZSBNdXRhdGlvbk9ic2VydmVyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTcxMgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvbXV0
YXRpb24vY2FsbGJhY2stdGhpcy1hcmd1bWVudC5odG1sCisKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU0NhbGxiYWNrRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0NhbGxiYWNrRGF0YTo6
aW52b2tlQ2FsbGJhY2spOiBBZGQgYW4gb3ZlcmxvYWQgdGhhdCB0YWtlcworICAgICAgICBhbiBl
eHBsaWNpdCB0aGlzIGFyZ3VtZW50IGFuZCBoYXZlIHRoZSBvbGQgbWV0aG9kIGNhbGwgdGhlIG5l
dyBvbmUuCisgICAgICAgICogYmluZGluZ3MvanMvSlNDYWxsYmFja0RhdGEuaDoKKyAgICAgICAg
KEpTQ2FsbGJhY2tEYXRhKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU011dGF0aW9uQ2FsbGJh
Y2tDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNNdXRhdGlvbkNhbGxiYWNrOjpoYW5k
bGVFdmVudCk6IENhbGwgdGhlIG5ldyBvdmVybG9hZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9j
dXN0b20vVjhDdXN0b21Wb2lkQ2FsbGJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6aW52b2tl
Q2FsbGJhY2spOiBBZGQgYW4gb3ZlcmxvYWQgdGhhdCB0YWtlcyBhbiBleHBsaWNpdCB0aGlzCisg
ICAgICAgIGFyZ3VtZW50IGFuZCBoYXZlIHRoZSBvbGQgbWV0aG9kIGNhbGwgdGhlIG5ldyBvbmUu
CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tVm9pZENhbGxiYWNrLmg6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhNdXRhdGlv
bkNhbGxiYWNrQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4TXV0YXRpb25DYWxsYmFj
azo6aGFuZGxlRXZlbnQpOiBDYWxsIHRoZSBuZXcgb3ZlcmxvYWQuCisKIDIwMTItMDMtMjEgIEFu
ZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBUaWxlQ2FjaGUg
bmVlZHMgdG8ga25vdyBpZiBpdHMgY29udGFpbmluZyBwYWdlIGlzIGluIGEgd2luZG93CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5jcHAKaW5kZXggMWMwYzQ1
MmQ5ZDAxMTMzMmYxZmQxNTZhNjIzOTZkMTA3OTFmNmNlYy4uYWEzMGRlNzMwMTIwYzU5MmI1NmFi
ZTQ0NDdhYzQ4NDNlZmY3MWFjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNDYWxsYmFja0RhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
Q2FsbGJhY2tEYXRhLmNwcApAQCAtNDUsNiArNDUsMTIgQEAgdm9pZCBKU0NhbGxiYWNrRGF0YTo6
ZGVsZXRlRGF0YSh2b2lkKiBjb250ZXh0KQogSlNWYWx1ZSBKU0NhbGxiYWNrRGF0YTo6aW52b2tl
Q2FsbGJhY2soTWFya2VkQXJndW1lbnRCdWZmZXImIGFyZ3MsIGJvb2wqIHJhaXNlZEV4Y2VwdGlv
bikKIHsKICAgICBBU1NFUlQoY2FsbGJhY2soKSk7CisgICAgcmV0dXJuIGludm9rZUNhbGxiYWNr
KGNhbGxiYWNrKCksIGFyZ3MsIHJhaXNlZEV4Y2VwdGlvbik7Cit9CisKK0pTVmFsdWUgSlNDYWxs
YmFja0RhdGE6Omludm9rZUNhbGxiYWNrKEpTVmFsdWUgdGhpc1ZhbHVlLCBNYXJrZWRBcmd1bWVu
dEJ1ZmZlciYgYXJncywgYm9vbCogcmFpc2VkRXhjZXB0aW9uKQoreworICAgIEFTU0VSVChjYWxs
YmFjaygpKTsKICAgICBBU1NFUlQoZ2xvYmFsT2JqZWN0KCkpOwogCiAgICAgRXhlY1N0YXRlKiBl
eGVjID0gZ2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKTsKQEAgLTU4LDcgKzY0LDcgQEAgSlNW
YWx1ZSBKU0NhbGxiYWNrRGF0YTo6aW52b2tlQ2FsbGJhY2soTWFya2VkQXJndW1lbnRCdWZmZXIm
IGFyZ3MsIGJvb2wqIHJhaXNlZEUKICAgICAgICAgaWYgKGNhbGxUeXBlID09IENhbGxUeXBlTm9u
ZSkKICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlKCk7CiAgICAgfQotICAgIAorCiAgICAgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCA9IGdsb2JhbE9iamVjdCgpLT5zY3JpcHRFeGVj
dXRpb25Db250ZXh0KCk7CiAgICAgLy8gV2Ugd2lsbCBmYWlsIHRvIGdldCB0aGUgY29udGV4dCBp
ZiB0aGUgZnJhbWUgaGFzIGJlZW4gZGV0YWNoZWQuCiAgICAgaWYgKCFjb250ZXh0KQpAQCAtNjks
OCArNzUsOCBAQCBKU1ZhbHVlIEpTQ2FsbGJhY2tEYXRhOjppbnZva2VDYWxsYmFjayhNYXJrZWRB
cmd1bWVudEJ1ZmZlciYgYXJncywgYm9vbCogcmFpc2VkRQogCiAgICAgYm9vbCBjb250ZXh0SXNE
b2N1bWVudCA9IGNvbnRleHQtPmlzRG9jdW1lbnQoKTsKICAgICBKU1ZhbHVlIHJlc3VsdCA9IGNv
bnRleHRJc0RvY3VtZW50Ci0gICAgICAgID8gSlNNYWluVGhyZWFkRXhlY1N0YXRlOjpjYWxsKGV4
ZWMsIGZ1bmN0aW9uLCBjYWxsVHlwZSwgY2FsbERhdGEsIGNhbGxiYWNrKCksIGFyZ3MpCi0gICAg
ICAgIDogSlNDOjpjYWxsKGV4ZWMsIGZ1bmN0aW9uLCBjYWxsVHlwZSwgY2FsbERhdGEsIGNhbGxi
YWNrKCksIGFyZ3MpOworICAgICAgICA/IEpTTWFpblRocmVhZEV4ZWNTdGF0ZTo6Y2FsbChleGVj
LCBmdW5jdGlvbiwgY2FsbFR5cGUsIGNhbGxEYXRhLCB0aGlzVmFsdWUsIGFyZ3MpCisgICAgICAg
IDogSlNDOjpjYWxsKGV4ZWMsIGZ1bmN0aW9uLCBjYWxsVHlwZSwgY2FsbERhdGEsIHRoaXNWYWx1
ZSwgYXJncyk7CiAKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENhbGxGdW5jdGlv
bihjb29raWUpOwogICAgIGdsb2JhbE9iamVjdCgpLT5nbG9iYWxEYXRhKCkudGltZW91dENoZWNr
ZXIuc3RvcCgpOwpAQCAtODQsOCArOTAsOCBAQCBKU1ZhbHVlIEpTQ2FsbGJhY2tEYXRhOjppbnZv
a2VDYWxsYmFjayhNYXJrZWRBcmd1bWVudEJ1ZmZlciYgYXJncywgYm9vbCogcmFpc2VkRQogICAg
ICAgICAgICAgKnJhaXNlZEV4Y2VwdGlvbiA9IHRydWU7CiAgICAgICAgIHJldHVybiByZXN1bHQ7
CiAgICAgfQotICAgIAorCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLSAgICAKKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlND
YWxsYmFja0RhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ2FsbGJhY2tEYXRh
LmgKaW5kZXggNzdhMjZiNTRiYTFjMWJlZGNiMzZmMTFjMjhjOThiMzM4NjlmMDcwNy4uNzM4ZDBl
YWIzZmFhNDA2Nzk3NGRkZmQyOWIzOGE1NjBkYWY4YTIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNDYWxsYmFja0RhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5oCkBAIC02NSw2ICs2NSw3IEBAIHB1YmxpYzoKICAg
ICBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KCkgeyByZXR1cm4gbV9nbG9iYWxPYmpl
Y3QuZ2V0KCk7IH0KICAgICAKICAgICBKU0M6OkpTVmFsdWUgaW52b2tlQ2FsbGJhY2soSlNDOjpN
YXJrZWRBcmd1bWVudEJ1ZmZlciYsIGJvb2wqIHJhaXNlZEV4Y2VwdGlvbiA9IDApOworICAgIEpT
Qzo6SlNWYWx1ZSBpbnZva2VDYWxsYmFjayhKU0M6OkpTVmFsdWUgdGhpc1ZhbHVlLCBKU0M6Ok1h
cmtlZEFyZ3VtZW50QnVmZmVyJiwgYm9vbCogcmFpc2VkRXhjZXB0aW9uID0gMCk7CiAKIHByaXZh
dGU6CiAgICAgSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4gbV9jYWxsYmFjazsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTXV0YXRpb25DYWxsYmFja0N1c3RvbS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU011dGF0aW9uQ2FsbGJhY2tDdXN0b20u
Y3BwCmluZGV4IDQ2NDc1NmMxYjg2MDBmMTMxM2M0YTAwYWQ0ZjIwY2NiODUyZDUzMjYuLjQzNzVj
ZTQxNzQ3MGQ1ZTg1N2FhNDUwZDczYzVjMDE0MzAyMDc5MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTTXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcApAQCAt
NTgsMTIgKzU4LDE0IEBAIGJvb2wgSlNNdXRhdGlvbkNhbGxiYWNrOjpoYW5kbGVFdmVudChNdXRh
dGlvblJlY29yZEFycmF5KiBtdXRhdGlvbnMsIFdlYktpdE11dGF0CiAgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBtdXRhdGlvbnMtPnNpemUoKTsgKytpKQogICAgICAgICBtdXRhdGlvbkxpc3Qu
YXBwZW5kKHRvSlMoZXhlYywgbV9kYXRhLT5nbG9iYWxPYmplY3QoKSwgbXV0YXRpb25zLT5hdChp
KS5nZXQoKSkpOwogCisgICAgSlNWYWx1ZSBqc09ic2VydmVyID0gdG9KUyhleGVjLCBtX2RhdGEt
Pmdsb2JhbE9iamVjdCgpLCBvYnNlcnZlcik7CisKICAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBh
cmdzOwogICAgIGFyZ3MuYXBwZW5kKGNvbnN0cnVjdEFycmF5KGV4ZWMsIG1fZGF0YS0+Z2xvYmFs
T2JqZWN0KCksIG11dGF0aW9uTGlzdCkpOwotICAgIGFyZ3MuYXBwZW5kKHRvSlMoZXhlYywgbV9k
YXRhLT5nbG9iYWxPYmplY3QoKSwgb2JzZXJ2ZXIpKTsKKyAgICBhcmdzLmFwcGVuZChqc09ic2Vy
dmVyKTsKIAogICAgIGJvb2wgcmFpc2VkRXhjZXB0aW9uID0gZmFsc2U7Ci0gICAgbV9kYXRhLT5p
bnZva2VDYWxsYmFjayhhcmdzLCAmcmFpc2VkRXhjZXB0aW9uKTsKKyAgICBtX2RhdGEtPmludm9r
ZUNhbGxiYWNrKGpzT2JzZXJ2ZXIsIGFyZ3MsICZyYWlzZWRFeGNlcHRpb24pOwogICAgIHJldHVy
biAhcmFpc2VkRXhjZXB0aW9uOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhDdXN0b21Wb2lkQ2FsbGJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tVm9pZENhbGxiYWNrLmNwcAppbmRleCBkYTQyNzUw
MTVkYTBmNGE2YTg5MjZmNTJhNTQ4NTg5YzllYzg1Zjk1Li44OTZkMTAwMGMwYjY0ZDhkYzFmNzg0
NWM4YjIxMmJjYmExYzVhY2JlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhDdXN0b21Wb2lkQ2FsbGJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVZvaWRDYWxsYmFjay5jcHAKQEAgLTY1LDYgKzY1LDEx
IEBAIHZvaWQgVjhDdXN0b21Wb2lkQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KCkKIAogYm9vbCBpbnZv
a2VDYWxsYmFjayh2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiBjYWxsYmFjaywgaW50IGFyZ2Ms
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBhcmd2W10sIGJvb2wmIGNhbGxiYWNrUmV0dXJuVmFsdWUs
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCiB7CisgICAg
cmV0dXJuIGludm9rZUNhbGxiYWNrKGNhbGxiYWNrLCB2ODo6Q29udGV4dDo6R2V0Q3VycmVudCgp
LT5HbG9iYWwoKSwgYXJnYywgYXJndiwgY2FsbGJhY2tSZXR1cm5WYWx1ZSwgc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCk7Cit9CisKK2Jvb2wgaW52b2tlQ2FsbGJhY2sodjg6OlBlcnNpc3RlbnQ8djg6
Ok9iamVjdD4gY2FsbGJhY2ssIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gdGhpc09iamVjdCwgaW50
IGFyZ2MsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBhcmd2W10sIGJvb2wmIGNhbGxiYWNrUmV0dXJu
VmFsdWUsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCit7
CiAgICAgdjg6OlRyeUNhdGNoIGV4Y2VwdGlvbkNhdGNoZXI7CiAgICAgZXhjZXB0aW9uQ2F0Y2hl
ci5TZXRWZXJib3NlKHRydWUpOwogCkBAIC04MSw4ICs4Niw2IEBAIGJvb2wgaW52b2tlQ2FsbGJh
Y2sodjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4gY2FsbGJhY2ssIGludCBhcmdjLCB2ODo6SGFu
ZGxlPHY4CiAgICAgaWYgKGNhbGxiYWNrRnVuY3Rpb24uSXNFbXB0eSgpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKLSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHRoaXNPYmplY3QgPSB2ODo6
Q29udGV4dDo6R2V0Q3VycmVudCgpLT5HbG9iYWwoKTsKLQogICAgIEZyYW1lKiBmcmFtZSA9IHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQgJiYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+aXNEb2N1bWVu
dCgpID8gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihzY3JpcHRFeGVjdXRpb25Db250ZXh0KS0+ZnJh
bWUoKSA6IDA7CiAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHJlc3VsdCA9IFY4UHJveHk6Omlu
c3RydW1lbnRlZENhbGxGdW5jdGlvbihmcmFtZSwgY2FsbGJhY2tGdW5jdGlvbiwgdGhpc09iamVj
dCwgYXJnYywgYXJndik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOEN1c3RvbVZvaWRDYWxsYmFjay5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4Q3VzdG9tVm9pZENhbGxiYWNrLmgKaW5kZXggOTRiYjc4MjFjNjUzNTc1N2Mz
NGQ1YTJjYzNjMTAxNTVjODU5NTc4Yy4uYzdkZmJlMjVlMTdlNzY0NTllZmQwZjE2N2Y4NTg0MzVi
M2RjZWUxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q3VzdG9tVm9pZENhbGxiYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4Q3VzdG9tVm9pZENhbGxiYWNrLmgKQEAgLTYxLDcgKzYxLDggQEAgcHJpdmF0ZToKIH07
CiAKIC8vIFJldHVybnMgZmFsc2UgaWYgY2FsbGJhY2sgZmFpbGVkIChudWxsLCB3cm9uZyB0eXBl
LCBvciB0aHJldyBleGNlcHRpb24pLgotYm9vbCBpbnZva2VDYWxsYmFjayh2ODo6UGVyc2lzdGVu
dDx2ODo6T2JqZWN0PiBjYWxsYmFjaywgaW50IGFyZ2MsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBh
cmd2W10sIGJvb2wmIGNhbGxiYWNrUmV0dXJuVmFsdWUsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOworYm9vbCBpbnZva2VDYWxsYmFjayh2ODo6UGVyc2lz
dGVudDx2ODo6T2JqZWN0PiBjYWxsYmFjaywgaW50IGFyZ2MsIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBhcmd2W10sIGJvb2wmIGNhbGxiYWNrUmV0dXJuVmFsdWUsIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqKTsKK2Jvb2wgaW52b2tlQ2FsbGJhY2sodjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4gY2Fs
bGJhY2ssIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gdGhpc09iamVjdCwgaW50IGFyZ2MsIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBhcmd2W10sIGJvb2wmIGNhbGxiYWNrUmV0dXJuVmFsdWUsIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNdXRhdGlvbkNhbGxiYWNr
Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE11dGF0aW9u
Q2FsbGJhY2tDdXN0b20uY3BwCmluZGV4IDU4NTU5MzA4OWE2MGRmODc4YzdlOGFhNmYxM2EwYTZi
Njc3ZTA2MTMuLmJmZmJlNzQwMGZkYTJjYTU4ZDJmOWI3NzA4NmY2YzZiYmZhMDUyN2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE11dGF0aW9uQ2FsbGJh
Y2tDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE11
dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwCkBAIC03NSwxMyArNzUsMTYgQEAgYm9vbCBWOE11dGF0
aW9uQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KE11dGF0aW9uUmVjb3JkQXJyYXkqIG11dGF0aW9ucywg
V2ViS2l0TXV0YXQKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCisgICAgaWYgKCFvYnNl
cnZlckhhbmRsZS0+SXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKICAgICB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gYXJndltdID0gewogICAgICAgICBtdXRhdGlvbnNBcnJheSwKICAg
ICAgICAgb2JzZXJ2ZXJIYW5kbGUKICAgICB9OwogCiAgICAgYm9vbCBjYWxsYmFja1JldHVyblZh
bHVlID0gZmFsc2U7Ci0gICAgcmV0dXJuICFpbnZva2VDYWxsYmFjayhtX2NhbGxiYWNrLCAyLCBh
cmd2LCBjYWxsYmFja1JldHVyblZhbHVlLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworICAg
IHJldHVybiAhaW52b2tlQ2FsbGJhY2sobV9jYWxsYmFjaywgdjg6OkhhbmRsZTx2ODo6T2JqZWN0
Pjo6Q2FzdChvYnNlcnZlckhhbmRsZSksIDIsIGFyZ3YsIGNhbGxiYWNrUmV0dXJuVmFsdWUsIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCAyYjdhYmI4NzQ0NGIzZTQwODlmZDM4NThhNmJjYTBiZTI5NTM1ZWVhLi41ZTc5NDhmYjUy
MTE0OWYzYjA2NjczODA1NWRiYzgxYzJlN2RmMjIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTItMDMtMjEgIEFkYW0gS2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgInRo
aXMiIGFyZ3VtZW50IGZvciBNdXRhdGlvbkNhbGxiYWNrcyBzaG91bGQgYmUgdGhlIE11dGF0aW9u
T2JzZXJ2ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgxNzEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBmYXN0L211dGF0aW9uL2NhbGxiYWNrLXRoaXMtYXJndW1lbnQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L211dGF0aW9uL2NhbGxiYWNrLXRoaXMtYXJndW1lbnQuaHRtbDog
QWRkZWQuCisKIDIwMTItMDMtMjEgIE9qYW4gVmFmYWkgIDxvamFuQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBTb21lIGNocm9taXVtIHJlYmFzZWxpbmVzIHRoYXQgZGlmZmVyZWQgZHVlIHRvIHBs
YXRmb3JtLXNwZWNpZmljIHRleHQgcmVuZGVyaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9tdXRhdGlvbi9jYWxsYmFjay10aGlzLWFyZ3VtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvbXV0YXRpb24vY2FsbGJhY2stdGhpcy1hcmd1bWVudC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMGQ5MjUxODhlZWIyYjM4MDQyODkyZDM2NjdkY2EwYzc0YzhjNjRhNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vY2FsbGJhY2stdGhpcy1h
cmd1bWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorUEFTU0VEOiAidGhpcyIgYXJndW1l
bnQgaXMgbXV0YXRpb25PYnNlcnZlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tdXRh
dGlvbi9jYWxsYmFjay10aGlzLWFyZ3VtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0
aW9uL2NhbGxiYWNrLXRoaXMtYXJndW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NGE3ZjFiZDdhYzBk
OGQ2OTI4ZTIxZDY3Y2IzNTYxMjgxYWIyOTc0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9tdXRhdGlvbi9jYWxsYmFjay10aGlzLWFyZ3VtZW50Lmh0bWwKQEAgLTAsMCArMSwy
MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK30KKworZnVuY3Rp
b24gbXV0YXRpb25DYWxsYmFjayhtdXRhdGlvbnMpIHsKKyAgICBtdXRhdGlvbnNbMF0uYWRkZWRO
b2Rlc1swXS50ZXh0Q29udGVudCA9ICh0aGlzID09PSBtdXRhdGlvbk9ic2VydmVyKQorICAgICAg
ICA/ICdQQVNTRUQ6ICJ0aGlzIiBhcmd1bWVudCBpcyBtdXRhdGlvbk9ic2VydmVyJworICAgICAg
ICA6ICdGQUlMRUQ6IFNlY29uZCBhcmd1bWVudCBpcyBub3QgbXV0YXRpb25PYnNlcnZlciwgaW5z
dGVhZCBnb3QgJyArIHRoaXM7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQordmFyIG11dGF0
aW9uT2JzZXJ2ZXIgPSBuZXcgV2ViS2l0TXV0YXRpb25PYnNlcnZlcihtdXRhdGlvbkNhbGxiYWNr
KTsKK211dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5LCB7Y2hpbGRMaXN0OiB0
cnVlfSk7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2Rl
KCdGQUlMRUQnKSk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133115</attachid>
            <date>2012-03-21 14:48:25 -0700</date>
            <delta_ts>2012-03-21 15:34:46 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-81712-20120321144824.patch</filename>
            <type>text/plain</type>
            <size>12663</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNjA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzY2YTU4Y2MzOGVjOWQ2
ODBjNDlhN2JmY2Y1Y2Y0ZDZiNmNiMzI3OS4uODYzODgxZTFmNmIxZTRjOGJjZGViODI1ZDBiYTM1
ZWQ3ZTY4NTU4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTAzLTIxICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgICJ0aGlzIiBhcmd1bWVudCBm
b3IgTXV0YXRpb25DYWxsYmFja3Mgc2hvdWxkIGJlIHRoZSBNdXRhdGlvbk9ic2VydmVyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTcxMgorCisgICAg
ICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgVGVzdDogZmFzdC9tdXRhdGlv
bi9jYWxsYmFjay1hcmd1bWVudHMuaHRtbAorCisgICAgICAgICogYmluZGluZ3MvanMvSlNDYWxs
YmFja0RhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNDYWxsYmFja0RhdGE6Omludm9rZUNh
bGxiYWNrKTogQWRkIGFuIG92ZXJsb2FkIHRoYXQgdGFrZXMKKyAgICAgICAgYW4gZXhwbGljaXQg
dGhpcyBhcmd1bWVudCBhbmQgaGF2ZSB0aGUgb2xkIG1ldGhvZCBjYWxsIHRoZSBuZXcgb25lLgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ2FsbGJhY2tEYXRhLmg6CisgICAgICAgIChKU0NhbGxi
YWNrRGF0YSk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNNdXRhdGlvbkNhbGxiYWNrQ3VzdG9t
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTTXV0YXRpb25DYWxsYmFjazo6aGFuZGxlRXZlbnQp
OiBDYWxsIHRoZSBuZXcgb3ZlcmxvYWQuCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q3VzdG9tVm9pZENhbGxiYWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omludm9rZUNhbGxiYWNr
KTogQWRkIGFuIG92ZXJsb2FkIHRoYXQgdGFrZXMgYW4gZXhwbGljaXQgdGhpcworICAgICAgICBh
cmd1bWVudCBhbmQgaGF2ZSB0aGUgb2xkIG1ldGhvZCBjYWxsIHRoZSBuZXcgb25lLgorICAgICAg
ICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVZvaWRDYWxsYmFjay5oOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4TXV0YXRpb25DYWxsYmFj
a0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOE11dGF0aW9uQ2FsbGJhY2s6OmhhbmRs
ZUV2ZW50KTogQ2FsbCB0aGUgbmV3IG92ZXJsb2FkLgorCiAyMDEyLTAzLTIxICBNYXJrIFBpbGdy
aW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZWFscGhhYmV0aXplIGFib3V0
IHdlYmF1ZGlvIG1vdmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
Q2FsbGJhY2tEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ2FsbGJhY2tE
YXRhLmNwcAppbmRleCAxYzBjNDUyZDlkMDExMzMyZjFmZDE1NmE2MjM5NmQxMDc5MWY2Y2VjLi5h
YTMwZGU3MzAxMjBjNTkyYjU2YWJlNDQ0N2FjNDg0M2VmZjcxYWMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNDYWxsYmFja0RhdGEuY3BwCkBAIC00NSw2ICs0NSwxMiBAQCB2
b2lkIEpTQ2FsbGJhY2tEYXRhOjpkZWxldGVEYXRhKHZvaWQqIGNvbnRleHQpCiBKU1ZhbHVlIEpT
Q2FsbGJhY2tEYXRhOjppbnZva2VDYWxsYmFjayhNYXJrZWRBcmd1bWVudEJ1ZmZlciYgYXJncywg
Ym9vbCogcmFpc2VkRXhjZXB0aW9uKQogewogICAgIEFTU0VSVChjYWxsYmFjaygpKTsKKyAgICBy
ZXR1cm4gaW52b2tlQ2FsbGJhY2soY2FsbGJhY2soKSwgYXJncywgcmFpc2VkRXhjZXB0aW9uKTsK
K30KKworSlNWYWx1ZSBKU0NhbGxiYWNrRGF0YTo6aW52b2tlQ2FsbGJhY2soSlNWYWx1ZSB0aGlz
VmFsdWUsIE1hcmtlZEFyZ3VtZW50QnVmZmVyJiBhcmdzLCBib29sKiByYWlzZWRFeGNlcHRpb24p
Cit7CisgICAgQVNTRVJUKGNhbGxiYWNrKCkpOwogICAgIEFTU0VSVChnbG9iYWxPYmplY3QoKSk7
CiAKICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBnbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhlYygpOwpA
QCAtNTgsNyArNjQsNyBAQCBKU1ZhbHVlIEpTQ2FsbGJhY2tEYXRhOjppbnZva2VDYWxsYmFjayhN
YXJrZWRBcmd1bWVudEJ1ZmZlciYgYXJncywgYm9vbCogcmFpc2VkRQogICAgICAgICBpZiAoY2Fs
bFR5cGUgPT0gQ2FsbFR5cGVOb25lKQogICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKICAg
ICB9Ci0gICAgCisKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0ID0gZ2xvYmFs
T2JqZWN0KCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKICAgICAvLyBXZSB3aWxsIGZhaWwg
dG8gZ2V0IHRoZSBjb250ZXh0IGlmIHRoZSBmcmFtZSBoYXMgYmVlbiBkZXRhY2hlZC4KICAgICBp
ZiAoIWNvbnRleHQpCkBAIC02OSw4ICs3NSw4IEBAIEpTVmFsdWUgSlNDYWxsYmFja0RhdGE6Omlu
dm9rZUNhbGxiYWNrKE1hcmtlZEFyZ3VtZW50QnVmZmVyJiBhcmdzLCBib29sKiByYWlzZWRFCiAK
ICAgICBib29sIGNvbnRleHRJc0RvY3VtZW50ID0gY29udGV4dC0+aXNEb2N1bWVudCgpOwogICAg
IEpTVmFsdWUgcmVzdWx0ID0gY29udGV4dElzRG9jdW1lbnQKLSAgICAgICAgPyBKU01haW5UaHJl
YWRFeGVjU3RhdGU6OmNhbGwoZXhlYywgZnVuY3Rpb24sIGNhbGxUeXBlLCBjYWxsRGF0YSwgY2Fs
bGJhY2soKSwgYXJncykKLSAgICAgICAgOiBKU0M6OmNhbGwoZXhlYywgZnVuY3Rpb24sIGNhbGxU
eXBlLCBjYWxsRGF0YSwgY2FsbGJhY2soKSwgYXJncyk7CisgICAgICAgID8gSlNNYWluVGhyZWFk
RXhlY1N0YXRlOjpjYWxsKGV4ZWMsIGZ1bmN0aW9uLCBjYWxsVHlwZSwgY2FsbERhdGEsIHRoaXNW
YWx1ZSwgYXJncykKKyAgICAgICAgOiBKU0M6OmNhbGwoZXhlYywgZnVuY3Rpb24sIGNhbGxUeXBl
LCBjYWxsRGF0YSwgdGhpc1ZhbHVlLCBhcmdzKTsKIAogICAgIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkQ2FsbEZ1bmN0aW9uKGNvb2tpZSk7CiAgICAgZ2xvYmFsT2JqZWN0KCktPmdsb2Jh
bERhdGEoKS50aW1lb3V0Q2hlY2tlci5zdG9wKCk7CkBAIC04NCw4ICs5MCw4IEBAIEpTVmFsdWUg
SlNDYWxsYmFja0RhdGE6Omludm9rZUNhbGxiYWNrKE1hcmtlZEFyZ3VtZW50QnVmZmVyJiBhcmdz
LCBib29sKiByYWlzZWRFCiAgICAgICAgICAgICAqcmFpc2VkRXhjZXB0aW9uID0gdHJ1ZTsKICAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgCisKICAgICByZXR1cm4gcmVzdWx0Owog
fQotICAgIAorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNDYWxsYmFja0RhdGEuaAppbmRleCA3N2EyNmI1NGJhMWMxYmVkY2IzNmYxMWMyOGM5
OGIzMzg2OWYwNzA3Li43MzhkMGVhYjNmYWE0MDY3OTc0ZGRmZDI5YjM4YTU2MGRhZjhhMjFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ2FsbGJhY2tEYXRhLmgKQEAgLTY1LDYg
KzY1LDcgQEAgcHVibGljOgogICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QoKSB7
IHJldHVybiBtX2dsb2JhbE9iamVjdC5nZXQoKTsgfQogICAgIAogICAgIEpTQzo6SlNWYWx1ZSBp
bnZva2VDYWxsYmFjayhKU0M6Ok1hcmtlZEFyZ3VtZW50QnVmZmVyJiwgYm9vbCogcmFpc2VkRXhj
ZXB0aW9uID0gMCk7CisgICAgSlNDOjpKU1ZhbHVlIGludm9rZUNhbGxiYWNrKEpTQzo6SlNWYWx1
ZSB0aGlzVmFsdWUsIEpTQzo6TWFya2VkQXJndW1lbnRCdWZmZXImLCBib29sKiByYWlzZWRFeGNl
cHRpb24gPSAwKTsKIAogcHJpdmF0ZToKICAgICBKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiBt
X2NhbGxiYWNrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNdXRh
dGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTXV0
YXRpb25DYWxsYmFja0N1c3RvbS5jcHAKaW5kZXggNDY0NzU2YzFiODYwMGYxMzEzYzRhMDBhZDRm
MjBjY2I4NTJkNTMyNi4uNDM3NWNlNDE3NDcwZDVlODU3YWE0NTBkNzNjNWMwMTQzMDIwNzkxNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNdXRhdGlvbkNhbGxiYWNr
Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU011dGF0aW9uQ2Fs
bGJhY2tDdXN0b20uY3BwCkBAIC01OCwxMiArNTgsMTQgQEAgYm9vbCBKU011dGF0aW9uQ2FsbGJh
Y2s6OmhhbmRsZUV2ZW50KE11dGF0aW9uUmVjb3JkQXJyYXkqIG11dGF0aW9ucywgV2ViS2l0TXV0
YXQKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG11dGF0aW9ucy0+c2l6ZSgpOyArK2kpCiAg
ICAgICAgIG11dGF0aW9uTGlzdC5hcHBlbmQodG9KUyhleGVjLCBtX2RhdGEtPmdsb2JhbE9iamVj
dCgpLCBtdXRhdGlvbnMtPmF0KGkpLmdldCgpKSk7CiAKKyAgICBKU1ZhbHVlIGpzT2JzZXJ2ZXIg
PSB0b0pTKGV4ZWMsIG1fZGF0YS0+Z2xvYmFsT2JqZWN0KCksIG9ic2VydmVyKTsKKwogICAgIE1h
cmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7CiAgICAgYXJncy5hcHBlbmQoY29uc3RydWN0QXJyYXko
ZXhlYywgbV9kYXRhLT5nbG9iYWxPYmplY3QoKSwgbXV0YXRpb25MaXN0KSk7Ci0gICAgYXJncy5h
cHBlbmQodG9KUyhleGVjLCBtX2RhdGEtPmdsb2JhbE9iamVjdCgpLCBvYnNlcnZlcikpOworICAg
IGFyZ3MuYXBwZW5kKGpzT2JzZXJ2ZXIpOwogCiAgICAgYm9vbCByYWlzZWRFeGNlcHRpb24gPSBm
YWxzZTsKLSAgICBtX2RhdGEtPmludm9rZUNhbGxiYWNrKGFyZ3MsICZyYWlzZWRFeGNlcHRpb24p
OworICAgIG1fZGF0YS0+aW52b2tlQ2FsbGJhY2soanNPYnNlcnZlciwgYXJncywgJnJhaXNlZEV4
Y2VwdGlvbik7CiAgICAgcmV0dXJuICFyYWlzZWRFeGNlcHRpb247CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVZvaWRDYWxsYmFjay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Wb2lkQ2FsbGJh
Y2suY3BwCmluZGV4IGRhNDI3NTAxNWRhMGY0YTZhODkyNmY1MmE1NDg1ODljOWVjODVmOTUuLjg5
NmQxMDAwYzBiNjRkOGRjMWY3ODQ1YzhiMjEyYmNiYTFjNWFjYmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVZvaWRDYWxsYmFjay5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tVm9pZENhbGxiYWNr
LmNwcApAQCAtNjUsNiArNjUsMTEgQEAgdm9pZCBWOEN1c3RvbVZvaWRDYWxsYmFjazo6aGFuZGxl
RXZlbnQoKQogCiBib29sIGludm9rZUNhbGxiYWNrKHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+
IGNhbGxiYWNrLCBpbnQgYXJnYywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3ZbXSwgYm9vbCYg
Y2FsbGJhY2tSZXR1cm5WYWx1ZSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCkKIHsKKyAgICByZXR1cm4gaW52b2tlQ2FsbGJhY2soY2FsbGJhY2ssIHY4OjpD
b250ZXh0OjpHZXRDdXJyZW50KCktPkdsb2JhbCgpLCBhcmdjLCBhcmd2LCBjYWxsYmFja1JldHVy
blZhbHVlLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKK30KKworYm9vbCBpbnZva2VDYWxsYmFj
ayh2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiBjYWxsYmFjaywgdjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0PiB0aGlzT2JqZWN0LCBpbnQgYXJnYywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3ZbXSwg
Ym9vbCYgY2FsbGJhY2tSZXR1cm5WYWx1ZSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCkKK3sKICAgICB2ODo6VHJ5Q2F0Y2ggZXhjZXB0aW9uQ2F0Y2hlcjsK
ICAgICBleGNlcHRpb25DYXRjaGVyLlNldFZlcmJvc2UodHJ1ZSk7CiAKQEAgLTgxLDggKzg2LDYg
QEAgYm9vbCBpbnZva2VDYWxsYmFjayh2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiBjYWxsYmFj
aywgaW50IGFyZ2MsIHY4OjpIYW5kbGU8djgKICAgICBpZiAoY2FsbGJhY2tGdW5jdGlvbi5Jc0Vt
cHR5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4gdGhpc09iamVjdCA9IHY4OjpDb250ZXh0OjpHZXRDdXJyZW50KCktPkdsb2JhbCgpOwotCiAg
ICAgRnJhbWUqIGZyYW1lID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCAmJiBzY3JpcHRFeGVjdXRp
b25Db250ZXh0LT5pc0RvY3VtZW50KCkgPyBzdGF0aWNfY2FzdDxEb2N1bWVudCo+KHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQpLT5mcmFtZSgpIDogMDsKICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
cmVzdWx0ID0gVjhQcm94eTo6aW5zdHJ1bWVudGVkQ2FsbEZ1bmN0aW9uKGZyYW1lLCBjYWxsYmFj
a0Z1bmN0aW9uLCB0aGlzT2JqZWN0LCBhcmdjLCBhcmd2KTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tVm9pZENhbGxiYWNrLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Wb2lkQ2FsbGJhY2suaAppbmRl
eCA5NGJiNzgyMWM2NTM1NzU3YzM0ZDVhMmNjM2MxMDE1NWM4NTk1NzhjLi5jN2RmYmUyNWUxN2U3
NjQ1OWVmZDBmMTY3Zjg1ODQzNWIzZGNlZTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Wb2lkQ2FsbGJhY2suaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Wb2lkQ2FsbGJhY2suaApAQCAtNjEsNyAr
NjEsOCBAQCBwcml2YXRlOgogfTsKIAogLy8gUmV0dXJucyBmYWxzZSBpZiBjYWxsYmFjayBmYWls
ZWQgKG51bGwsIHdyb25nIHR5cGUsIG9yIHRocmV3IGV4Y2VwdGlvbikuCi1ib29sIGludm9rZUNh
bGxiYWNrKHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+IGNhbGxiYWNrLCBpbnQgYXJnYywgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3ZbXSwgYm9vbCYgY2FsbGJhY2tSZXR1cm5WYWx1ZSwgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7Citib29sIGludm9r
ZUNhbGxiYWNrKHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+IGNhbGxiYWNrLCBpbnQgYXJnYywg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3ZbXSwgYm9vbCYgY2FsbGJhY2tSZXR1cm5WYWx1ZSwg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOworYm9vbCBpbnZva2VDYWxsYmFjayh2ODo6UGVyc2lz
dGVudDx2ODo6T2JqZWN0PiBjYWxsYmFjaywgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB0aGlzT2Jq
ZWN0LCBpbnQgYXJnYywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3ZbXSwgYm9vbCYgY2FsbGJh
Y2tSZXR1cm5WYWx1ZSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOE11dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4TXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAKaW5kZXggNTg1NTkzMDg5YTYw
ZGY4NzhjN2U4YWE2ZjEzYTBhNmI2NzdlMDYxMy4uYmZmYmU3NDAwZmRhMmNhNThkMmY5Yjc3MDg2
ZjZjNmJiZmEwNTI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4TXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4TXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAKQEAgLTc1LDEzICs3
NSwxNiBAQCBib29sIFY4TXV0YXRpb25DYWxsYmFjazo6aGFuZGxlRXZlbnQoTXV0YXRpb25SZWNv
cmRBcnJheSogbXV0YXRpb25zLCBXZWJLaXRNdXRhdAogICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICB9CiAKKyAgICBpZiAoIW9ic2VydmVySGFuZGxlLT5Jc09iamVjdCgpKQorICAgICAgICByZXR1
cm4gdHJ1ZTsKKwogICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBhcmd2W10gPSB7CiAgICAgICAg
IG11dGF0aW9uc0FycmF5LAogICAgICAgICBvYnNlcnZlckhhbmRsZQogICAgIH07CiAKICAgICBi
b29sIGNhbGxiYWNrUmV0dXJuVmFsdWUgPSBmYWxzZTsKLSAgICByZXR1cm4gIWludm9rZUNhbGxi
YWNrKG1fY2FsbGJhY2ssIDIsIGFyZ3YsIGNhbGxiYWNrUmV0dXJuVmFsdWUsIHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSk7CisgICAgcmV0dXJuICFpbnZva2VDYWxsYmFjayhtX2NhbGxiYWNrLCB2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KG9ic2VydmVySGFuZGxlKSwgMiwgYXJndiwgY2Fs
bGJhY2tSZXR1cm5WYWx1ZSwgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDZhMzhiZjZlYTlkNDg0YWEwOWYwYzZlOGU1N2EyNmI2
MTE2ZTc5MjkuLjJmNDYyYmYyMGJjNjIwNzc4ZWU0YTgzNWYwNjI1ZjE0ZmNkODgzOWYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNyBAQAorMjAxMi0wMy0yMSAgQWRhbSBLbGVpbiAgPGFkYW1rQGNocm9taXVt
Lm9yZz4KKworICAgICAgICAidGhpcyIgYXJndW1lbnQgZm9yIE11dGF0aW9uQ2FsbGJhY2tzIHNo
b3VsZCBiZSB0aGUgTXV0YXRpb25PYnNlcnZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE3MTIKKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJh
cnRoLgorCisgICAgICAgIE1lcmdlZCBuZXcgdGVzdCB3aXRoIGV4aXN0aW5nIHNlY29uZC1hcmd1
bWVudCB0ZXN0LgorCisgICAgICAgICogZmFzdC9tdXRhdGlvbi9jYWxsYmFjay1hcmd1bWVudHMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L211dGF0aW9uL2NhbGxiYWNrLWFy
Z3VtZW50cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L211dGF0aW9uL2NhbGxiYWNrLXNl
Y29uZC1hcmd1bWVudC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9tdXRh
dGlvbi9jYWxsYmFjay1zZWNvbmQtYXJndW1lbnQuaHRtbDogUmVtb3ZlZC4KKwogMjAxMi0wMy0y
MSAgU3RlcGhlbiBDaGVubmV5ICA8c2NoZW5uZXlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFNW
RyBsYXlvdXQgbGVhdmVzIG9iamVjdHMgc3RpbGwgbmVlZGluZyBsYXlvdXQKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vY2FsbGJhY2stYXJndW1lbnRzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vY2FsbGJhY2stYXJndW1lbnRzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44OWUzMmM5Mjg0OTY1NzY2MWFiMGU5YWU1OTM1NGE2NTg3YWRlZWMx
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9jYWxsYmFjay1h
cmd1bWVudHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1ZlcmlmaWVzIHRoYXQgTXV0
YXRpb25PYnNlcnZlciBpcyBwYXNzZWQgdG8gdGhlIGNhbGxiYWNrIGFzIGV4cGVjdGVkLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB0aGlzQXJndW1lbnQgaXMgbXV0YXRp
b25PYnNlcnZlcgorUEFTUyBhcmd1bWVudDIgaXMgbXV0YXRpb25PYnNlcnZlcgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vY2FsbGJhY2stYXJndW1lbnRzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L211dGF0aW9uL2NhbGxiYWNrLWFyZ3VtZW50cy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY3
OGRkZDkyZDM1YTQ5ODQ4MjYwZDY3YzZlMjFlZWRhZDA3MWRkNjMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL2NhbGxiYWNrLWFyZ3VtZW50cy5odG1sCkBAIC0w
LDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit3aW5kb3cuanNU
ZXN0SXNBc3luYyA9IHRydWU7CitkZXNjcmlwdGlvbignVmVyaWZpZXMgdGhhdCBNdXRhdGlvbk9i
c2VydmVyIGlzIHBhc3NlZCB0byB0aGUgY2FsbGJhY2sgYXMgZXhwZWN0ZWQuJyk7CisKK2Z1bmN0
aW9uIG11dGF0aW9uQ2FsbGJhY2sobXV0YXRpb25zLCBvYnNlcnZlcikgeworICAgIHdpbmRvdy50
aGlzQXJndW1lbnQgPSB0aGlzOworICAgIHdpbmRvdy5hcmd1bWVudDIgPSBvYnNlcnZlcjsKKyAg
ICBzaG91bGRCZSgndGhpc0FyZ3VtZW50JywgJ211dGF0aW9uT2JzZXJ2ZXInKTsKKyAgICBzaG91
bGRCZSgnYXJndW1lbnQyJywgJ211dGF0aW9uT2JzZXJ2ZXInKTsKKyAgICBmaW5pc2hKU1Rlc3Qo
KTsKK30KK3ZhciBtdXRhdGlvbk9ic2VydmVyID0gbmV3IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIo
bXV0YXRpb25DYWxsYmFjayk7Cit2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2
Jyk7CittdXRhdGlvbk9ic2VydmVyLm9ic2VydmUoZGl2LCB7YXR0cmlidXRlczogdHJ1ZX0pOwor
ZGl2LnNldEF0dHJpYnV0ZSgnZm9vJywgJ2JhcicpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL2NhbGxiYWNrLXNlY29uZC1hcmd1bWVu
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL2NhbGxiYWNrLXNlY29u
ZC1hcmd1bWVudC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYy
ODFhYjQ3NTA2NmQwZTdjZmMwMzllZjUzNWM2NzQ2NGE5NDExZDUuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9j
YWxsYmFjay1zZWNvbmQtYXJndW1lbnQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEg
KzAsMCBAQAotUEFTU0VEOiBTZWNvbmQgYXJndW1lbnQgaXMgbXV0YXRpb25PYnNlcnZlcgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9jYWxsYmFjay1zZWNvbmQtYXJndW1l
bnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vY2FsbGJhY2stc2Vjb25kLWFyZ3Vt
ZW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ3Zjk0NDdjZmQ3NzhlMzM3
M2E5YmRhYmFhZGUxOWJmOTEzNGFmZjUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9jYWxsYmFjay1zZWNvbmQt
YXJndW1lbnQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGJvZHk+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikg
ewotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIG11dGF0aW9uQ2FsbGJh
Y2sobXV0YXRpb25zLCBvYnNlcnZlcikgewotICAgIG11dGF0aW9uc1swXS5hZGRlZE5vZGVzWzBd
LnRleHRDb250ZW50ID0gKG9ic2VydmVyID09PSBtdXRhdGlvbk9ic2VydmVyKQotICAgICAgICA/
ICdQQVNTRUQ6IFNlY29uZCBhcmd1bWVudCBpcyBtdXRhdGlvbk9ic2VydmVyJwotICAgICAgICA6
ICdGQUlMRUQ6IFNlY29uZCBhcmd1bWVudCBpcyBub3QgbXV0YXRpb25PYnNlcnZlcic7Ci0gICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIubm90aWZ5RG9uZSgpOwotfQotdmFyIG11dGF0aW9uT2JzZXJ2ZXIgPSBuZXcgV2ViS2l0
TXV0YXRpb25PYnNlcnZlcihtdXRhdGlvbkNhbGxiYWNrKTsKLW11dGF0aW9uT2JzZXJ2ZXIub2Jz
ZXJ2ZShkb2N1bWVudC5ib2R5LCB7Y2hpbGRMaXN0OiB0cnVlfSk7Ci1kb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCdGQUlMRUQnKSk7Ci08L3NjcmlwdD4K
LTwvYm9keT4K
</data>

          </attachment>
      

    </bug>

</bugzilla>