<?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>185344</bug_id>
          
          <creation_ts>2018-05-04 22:45:27 -0700</creation_ts>
          <short_desc>Cleanup XMLHttpRequestUpload a little</short_desc>
          <delta_ts>2018-05-06 17:02:26 -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>New Bugs</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1421022</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2018-05-04 22:45:27 -0700</bug_when>
    <thetext>Cleanup XMLHttpRequestUpload a little</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421023</commentid>
    <comment_count>1</comment_count>
      <attachid>339636</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2018-05-04 22:48:18 -0700</bug_when>
    <thetext>Created attachment 339636
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421027</commentid>
    <comment_count>2</comment_count>
      <attachid>339636</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-05-04 23:53:00 -0700</bug_when>
    <thetext>Comment on attachment 339636
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421083</commentid>
    <comment_count>3</comment_count>
      <attachid>339636</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-05 16:45:20 -0700</bug_when>
    <thetext>Comment on attachment 339636
Patch

Clearing flags on attachment: 339636

Committed r231398: &lt;https://trac.webkit.org/changeset/231398&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421084</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-05 16:45:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421175</commentid>
    <comment_count>5</comment_count>
      <attachid>339636</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-05-06 17:01:29 -0700</bug_when>
    <thetext>Comment on attachment 339636
Patch

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

&gt; Source/WebCore/xml/XMLHttpRequestUpload.h:45
&gt; +    EventTargetInterface eventTargetInterface() const override { return XMLHttpRequestUploadEventTargetInterfaceType; }
&gt; +    ScriptExecutionContext* scriptExecutionContext() const override { return m_xmlHttpRequest.scriptExecutionContext(); }

I’d have made these private, and used final instead of override.

&gt; Source/WebCore/xml/XMLHttpRequestUpload.h:54
&gt; +    XMLHttpRequest&amp; m_xmlHttpRequest;

We should rename this to m_request or m_underlyingRequest. I think maybe the member function too.

&gt; Source/WebCore/xml/XMLHttpRequestUpload.h:57
&gt; +    bool m_lengthComputable { false };
&gt; +    unsigned long long m_loaded { 0 };
&gt; +    unsigned long long m_total { 0 };

I really don’t like these names, but they are straight out of the progress event specification. I kind of wish this was a ProgressEvent::Init structure. But that also has Event::Init as its base class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421176</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-05-06 17:02:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/40011842&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339636</attachid>
            <date>2018-05-04 22:48:18 -0700</date>
            <delta_ts>2018-05-05 16:45:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185344-20180504224817.patch</filename>
            <type>text/plain</type>
            <size>7067</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzMTM5NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE4LTA1LTA0ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ2xlYW51cCBYTUxIdHRwUmVxdWVzdFVw
bG9hZCBhIGxpdHRsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTg1MzQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkpTWE1MSHR0cFJlcXVlc3Q6OnZpc2l0QWRkaXRpb25hbENoaWxkcmVuKToKKyAg
ICAgICAgVXNlIGF1dG8gdG8gcmVkdWNlIHJlZHVuZGFuY3kuCisKKyAgICAgICAgKiB4bWwvWE1M
SHR0cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnVwbG9h
ZCk6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0Lmg6CisgICAgICAgIFN3aXRjaCB1cGxv
YWQoKSB0byByZXR1cm4gYSByZWZlcmVuY2UuCisgICAgICAgIAorICAgICAgICAqIHhtbC9YTUxI
dHRwUmVxdWVzdFVwbG9hZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFVw
bG9hZDo6WE1MSHR0cFJlcXVlc3RVcGxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJl
cXVlc3RVcGxvYWQ6OmRpc3BhdGNoUHJvZ3Jlc3NFdmVudCk6CisgICAgICAgICogeG1sL1hNTEh0
dHBSZXF1ZXN0VXBsb2FkLmg6CisgICAgICAgIENsZWFudXAgZm9ybWF0dGluZywgbW9kZXJuaXpl
IGFuZCBzd2l0Y2ggWE1MSHR0cFJlcXVlc3QgbWVtYmVyIGZyb20gYSBwb2ludGVyCisgICAgICAg
IHRvIGEgcmVmZXJlbmNlLgorCiAyMDE4LTA1LTA0ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIE11bHRpcGxlIGxpbmtzIGluIE1haWwgYXJl
IGRyb3BwZWQgaW4gYSBzaW5nbGUgbGluZSwgYW5kIGFyZSBkaWZmaWN1bHQgdG8gdGVsbCBhcGFy
dApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3Rv
bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNYTUxIdHRw
UmVxdWVzdEN1c3RvbS5jcHAJKHJldmlzaW9uIDIzMTM1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
MywxMCArNDMsMTAgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogdm9pZCBKU1hNTEh0dHBSZXF1
ZXN0Ojp2aXNpdEFkZGl0aW9uYWxDaGlsZHJlbihTbG90VmlzaXRvciYgdmlzaXRvcikKIHsKLSAg
ICBpZiAoWE1MSHR0cFJlcXVlc3RVcGxvYWQqIHVwbG9hZCA9IHdyYXBwZWQoKS5vcHRpb25hbFVw
bG9hZCgpKQorICAgIGlmIChhdXRvKiB1cGxvYWQgPSB3cmFwcGVkKCkub3B0aW9uYWxVcGxvYWQo
KSkKICAgICAgICAgdmlzaXRvci5hZGRPcGFxdWVSb290KHVwbG9hZCk7CiAKLSAgICBpZiAoRG9j
dW1lbnQqIHJlc3BvbnNlRG9jdW1lbnQgPSB3cmFwcGVkKCkub3B0aW9uYWxSZXNwb25zZVhNTCgp
KQorICAgIGlmIChhdXRvKiByZXNwb25zZURvY3VtZW50ID0gd3JhcHBlZCgpLm9wdGlvbmFsUmVz
cG9uc2VYTUwoKSkKICAgICAgICAgdmlzaXRvci5hZGRPcGFxdWVSb290KHJlc3BvbnNlRG9jdW1l
bnQpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAJKHJldmlz
aW9uIDIzMTM1MSkKKysrIFNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTU5LDcgKzU5LDYgQEAKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9B
cnJheUJ1ZmZlclZpZXcuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0NJbmxpbmVzLmg+
CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNMb2NrLmg+Ci0jaW5jbHVkZSA8bXV0ZXg+CiAj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWRMZWFrQ291bnRlci5oPgogI2luY2x1ZGUgPHd0Zi9TdGRM
aWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC0yODAsMTEgKzI3
OSwxMSBAQCBTdHJpbmcgWE1MSHR0cFJlcXVlc3Q6OnJlc3BvbnNlVVJMKCkgY29uCiAgICAgcmV0
dXJuIHJlc3BvbnNlVVJMLnN0cmluZygpOwogfQogCi1YTUxIdHRwUmVxdWVzdFVwbG9hZCogWE1M
SHR0cFJlcXVlc3Q6OnVwbG9hZCgpCitYTUxIdHRwUmVxdWVzdFVwbG9hZCYgWE1MSHR0cFJlcXVl
c3Q6OnVwbG9hZCgpCiB7CiAgICAgaWYgKCFtX3VwbG9hZCkKLSAgICAgICAgbV91cGxvYWQgPSBz
dGQ6Om1ha2VfdW5pcXVlPFhNTEh0dHBSZXF1ZXN0VXBsb2FkPih0aGlzKTsKLSAgICByZXR1cm4g
bV91cGxvYWQuZ2V0KCk7CisgICAgICAgIG1fdXBsb2FkID0gc3RkOjptYWtlX3VuaXF1ZTxYTUxI
dHRwUmVxdWVzdFVwbG9hZD4oKnRoaXMpOworICAgIHJldHVybiAqbV91cGxvYWQ7CiB9CiAKIHZv
aWQgWE1MSHR0cFJlcXVlc3Q6OmNoYW5nZVN0YXRlKFN0YXRlIG5ld1N0YXRlKQpJbmRleDogU291
cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgJKHJldmlzaW9uIDIzMTM1MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgsNyArMTA4
LDcgQEAgcHVibGljOgogCiAgICAgU3RyaW5nIHJlc3BvbnNlVVJMKCkgY29uc3Q7CiAKLSAgICBY
TUxIdHRwUmVxdWVzdFVwbG9hZCogdXBsb2FkKCk7CisgICAgWE1MSHR0cFJlcXVlc3RVcGxvYWQm
IHVwbG9hZCgpOwogICAgIFhNTEh0dHBSZXF1ZXN0VXBsb2FkKiBvcHRpb25hbFVwbG9hZCgpIGNv
bnN0IHsgcmV0dXJuIG1fdXBsb2FkLmdldCgpOyB9CiAKICAgICBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByZXNvdXJjZVJlc3BvbnNlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNwb25zZTsgfQpJbmRl
eDogU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0VXBsb2FkLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RVcGxvYWQuY3BwCShyZXZpc2lv
biAyMzEzNTEpCisrKyBTb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RVcGxvYWQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zNCwxMSArMzQsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLVhNTEh0dHBSZXF1ZXN0VXBsb2FkOjpYTUxIdHRwUmVxdWVzdFVwbG9hZChYTUxIdHRwUmVx
dWVzdCogeG1sSHR0cFJlcXVlc3QpCitYTUxIdHRwUmVxdWVzdFVwbG9hZDo6WE1MSHR0cFJlcXVl
c3RVcGxvYWQoWE1MSHR0cFJlcXVlc3QmIHhtbEh0dHBSZXF1ZXN0KQogICAgIDogbV94bWxIdHRw
UmVxdWVzdCh4bWxIdHRwUmVxdWVzdCkKLSAgICAsIG1fbGVuZ3RoQ29tcHV0YWJsZShmYWxzZSkK
LSAgICAsIG1fbG9hZGVkKDApCi0gICAgLCBtX3RvdGFsKDApCiB7CiB9CiAKQEAgLTUxLDcgKzQ4
LDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdFVwbG9hZDo6ZGlzcGF0Y2hUaHJvdAogICAgIGRpc3Bh
dGNoRXZlbnQoWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygp
LnByb2dyZXNzRXZlbnQsIGxlbmd0aENvbXB1dGFibGUsIGxvYWRlZCwgdG90YWwpKTsKIH0KIAot
dm9pZCBYTUxIdHRwUmVxdWVzdFVwbG9hZDo6ZGlzcGF0Y2hQcm9ncmVzc0V2ZW50KGNvbnN0IEF0
b21pY1N0cmluZyAmdHlwZSkKK3ZvaWQgWE1MSHR0cFJlcXVlc3RVcGxvYWQ6OmRpc3BhdGNoUHJv
Z3Jlc3NFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUpCiB7CiAgICAgQVNTRVJUKHR5cGUg
PT0gZXZlbnROYW1lcygpLmxvYWRzdGFydEV2ZW50IHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLnBy
b2dyZXNzRXZlbnQgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkubG9hZEV2ZW50IHx8IHR5cGUgPT0g
ZXZlbnROYW1lcygpLmxvYWRlbmRFdmVudCB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS5hYm9ydEV2
ZW50IHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLmVycm9yRXZlbnQgfHwgdHlwZSA9PSBldmVudE5h
bWVzKCkudGltZW91dEV2ZW50KTsKIApJbmRleDogU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0VXBsb2FkLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0VXBsb2FkLmgJKHJldmlzaW9uIDIzMTM1MSkKKysrIFNvdXJjZS9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdFVwbG9hZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiwzMiArMzIsMjkgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDsKLSAgICBjbGFzcyBYTUxIdHRwUmVxdWVzdDsKLQotICAgIGNsYXNzIFhNTEh0dHBSZXF1ZXN0
VXBsb2FkIGZpbmFsIDogcHVibGljIFhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQgewotICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKLSAgICBwdWJsaWM6Ci0gICAgICAgIGV4cGxpY2l0
IFhNTEh0dHBSZXF1ZXN0VXBsb2FkKFhNTEh0dHBSZXF1ZXN0Kik7Ci0KLSAgICAgICAgdm9pZCBy
ZWYoKSB7IG1feG1sSHR0cFJlcXVlc3QtPnJlZigpOyB9Ci0gICAgICAgIHZvaWQgZGVyZWYoKSB7
IG1feG1sSHR0cFJlcXVlc3QtPmRlcmVmKCk7IH0KLSAgICAgICAgWE1MSHR0cFJlcXVlc3QqIHht
bEh0dHBSZXF1ZXN0KCkgY29uc3QgeyByZXR1cm4gbV94bWxIdHRwUmVxdWVzdDsgfQotCi0gICAg
ICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gWE1MSHR0cFJlcXVlc3RVcGxvYWRFdmVudFRhcmdldEludGVyZmFjZVR5
cGU7IH0KLSAgICAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1feG1sSHR0cFJlcXVlc3QtPnNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKTsgfQotCi0gICAgICAgIHZvaWQgZGlzcGF0Y2hUaHJvdHRsZWRQcm9n
cmVzc0V2ZW50KGJvb2wgbGVuZ3RoQ29tcHV0YWJsZSwgdW5zaWduZWQgbG9uZyBsb25nIGxvYWRl
ZCwgdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsKTsKLSAgICAgICAgdm9pZCBkaXNwYXRjaFByb2dy
ZXNzRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nICZ0eXBlKTsKLQotICAgIHByaXZhdGU6Ci0gICAg
ICAgIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IHJlZigpOyB9Ci0gICAgICAgIHZvaWQg
ZGVyZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgZGVyZWYoKTsgfQotCi0gICAgICAgIFhNTEh0dHBS
ZXF1ZXN0KiBtX3htbEh0dHBSZXF1ZXN0OwotICAgICAgICBib29sIG1fbGVuZ3RoQ29tcHV0YWJs
ZTsKLSAgICAgICAgdW5zaWduZWQgbG9uZyBsb25nIG1fbG9hZGVkOwotICAgICAgICB1bnNpZ25l
ZCBsb25nIGxvbmcgbV90b3RhbDsKLSAgICB9OworY2xhc3MgWE1MSHR0cFJlcXVlc3RVcGxvYWQg
ZmluYWwgOiBwdWJsaWMgWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldCB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgZXhwbGljaXQgWE1MSHR0cFJlcXVlc3RVcGxv
YWQoWE1MSHR0cFJlcXVlc3QmKTsKKworICAgIHZvaWQgcmVmKCkgeyBtX3htbEh0dHBSZXF1ZXN0
LnJlZigpOyB9CisgICAgdm9pZCBkZXJlZigpIHsgbV94bWxIdHRwUmVxdWVzdC5kZXJlZigpOyB9
CisgICAgWE1MSHR0cFJlcXVlc3QmIHhtbEh0dHBSZXF1ZXN0KCkgY29uc3QgeyByZXR1cm4gbV94
bWxIdHRwUmVxdWVzdDsgfQorCisgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJ
bnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBYTUxIdHRwUmVxdWVzdFVwbG9hZEV2
ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsgfQorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3htbEh0dHBS
ZXF1ZXN0LnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQorCisgICAgdm9pZCBkaXNwYXRjaFRo
cm90dGxlZFByb2dyZXNzRXZlbnQoYm9vbCBsZW5ndGhDb21wdXRhYmxlLCB1bnNpZ25lZCBsb25n
IGxvbmcgbG9hZGVkLCB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWwpOworICAgIHZvaWQgZGlzcGF0
Y2hQcm9ncmVzc0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSk7CisKK3ByaXZhdGU6Cisg
ICAgdm9pZCByZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgcmVmKCk7IH0KKyAgICB2b2lkIGRlcmVm
RXZlbnRUYXJnZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KKworICAgIFhNTEh0dHBSZXF1ZXN0JiBt
X3htbEh0dHBSZXF1ZXN0OworICAgIGJvb2wgbV9sZW5ndGhDb21wdXRhYmxlIHsgZmFsc2UgfTsK
KyAgICB1bnNpZ25lZCBsb25nIGxvbmcgbV9sb2FkZWQgeyAwIH07CisgICAgdW5zaWduZWQgbG9u
ZyBsb25nIG1fdG90YWwgeyAwIH07Cit9OwogICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>