<?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>181704</bug_id>
          
          <creation_ts>2018-01-16 14:04:03 -0800</creation_ts>
          <short_desc>[Curl] Reuse same CurlRequest among authentication process.</short_desc>
          <delta_ts>2018-07-12 16:26:34 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Basuke Suzuki">basuke</reporter>
          <assigned_to name="Basuke Suzuki">basuke</assigned_to>
          <cc>achristensen</cc>
    
    <cc>basuke</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>galpeter</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1389739</commentid>
    <comment_count>0</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-01-16 14:04:03 -0800</bug_when>
    <thetext>When authentication is requested, currently a new CurlRequest is generated. For a sake of CPU and memory cost, it&apos;s better to reuse the same instance by implementing reset method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389775</commentid>
    <comment_count>1</comment_count>
      <attachid>331437</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-01-16 15:37:43 -0800</bug_when>
    <thetext>Created attachment 331437
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1390304</commentid>
    <comment_count>2</comment_count>
      <attachid>331437</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-01-17 17:11:32 -0800</bug_when>
    <thetext>Comment on attachment 331437
Patch

This kind of pattern adds a lot of places where if we add something new we will forget to update all the different ways of resetting it.  Can you measure a significant performance improvement?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1390721</commentid>
    <comment_count>3</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-01-18 16:59:35 -0800</bug_when>
    <thetext>&gt; This kind of pattern adds a lot of places where if we add something new we will forget to update all the different ways of resetting it.  Can you measure a significant performance improvement?

I agree with that concern, but beside those costs, we have an intention to reuse the request object for redirecting with following patch because some information are need to pass to the next communication. Without reset, we need to create a new instance and set those information. So that means we also have a risk if we forget to set those mandatery info . 

Thinking about the future safety, how about this:
- we initialize values just before start communication even for the first communication. All initialization goes there.
- those info we need to maintain among series of request are safe to be there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1390741</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-01-18 17:38:10 -0800</bug_when>
    <thetext>What does this improve?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1391075</commentid>
    <comment_count>5</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-01-19 11:47:42 -0800</bug_when>
    <thetext>We are discussing about the cost we can save with this patch. As you suggested if the cost gain is small, we will close this bug. The result will be in next week.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1401217</commentid>
    <comment_count>6</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-02-21 12:20:21 -0800</bug_when>
    <thetext>This bug was obsoleted with a new plan. https://bugs.webkit.org/show_bug.cgi?id=183010</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>331437</attachid>
            <date>2018-01-16 15:37:43 -0800</date>
            <delta_ts>2018-07-12 16:26:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>181704.diff</filename>
            <type>text/plain</type>
            <size>12011</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkNmI3YzYwN2MxMi4uYTMyM2JmYjc3YWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNyBAQAorMjAxOC0wMS0xNiAgQmFzdWtlIFN1enVraSAgPEJhc3VrZS5TdXp1a2lAc29u
eS5jb20+CisKKyAgICAgICAgW0N1cmxdIFJldXNlIHNhbWUgQ3VybFJlcXVlc3QgYW1vbmcgYXV0
aGVudGljYXRpb24gcHJvY2Vzcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE4MTcwNAorCisgICAgICAgIFdoZW4gYXV0aGVudGljYXRpb24gaXMgcmVx
dWVzdGVkLCBjdXJyZW50bHkgYSBuZXcgQ3VybFJlcXVlc3QgaXMgZ2VuZXJhdGVkLgorICAgICAg
ICBGb3IgYSBzYWtlIG9mIENQVSBhbmQgbWVtb3J5IGNvc3QsIGl0J3MgYmV0dGVyIHRvIHJldXNl
IHRoZSBzYW1lIGluc3RhbmNlCisgICAgICAgIGJ5IGltcGxlbWVudGluZyByZXNldCBtZXRob2Qu
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzIGJlY2F1c2UgdGhlcmUncyBubyBuZXcgYmVoYXZpb3IuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybEZvcm1EYXRhU3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkN1cmxGb3JtRGF0YVN0cmVhbTo6cmVzZXQpOgorICAgICAgICAoV2ViQ29yZTo6Q3VybEZv
cm1EYXRhU3RyZWFtOjpjbGVhbik6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9jdXJsL0N1cmxGb3JtRGF0YVN0cmVhbS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
Y3VybC9DdXJsUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDdXJsUmVxdWVzdDo6cmVz
dGFydCk6CisgICAgICAgIChXZWJDb3JlOjpDdXJsUmVxdWVzdDo6aW5pdGlhbGl6ZUlmUmVzdGFy
dGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkN1cmxSZXF1ZXN0OjpzZXR1cFRyYW5zZmVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkN1cmxSZXF1ZXN0Ojp3aWxsU2V0dXBTc2xDdHgpOgorICAgICAgICAo
V2ViQ29yZTo6Q3VybFJlcXVlc3Q6OmRpZENvbXBsZXRlVHJhbnNmZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6Q3VybFJlcXVlc3Q6OmZpbmFsaXplVHJhbnNmZXIpOgorICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdC5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
Y3VybC9SZXNvdXJjZUhhbmRsZUN1cmxEZWxlZ2F0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZXNvdXJjZUhhbmRsZUN1cmxEZWxlZ2F0ZTo6UmVzb3VyY2VIYW5kbGVDdXJsRGVsZWdhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVDdXJsRGVsZWdhdGU6OnN0YXJ0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlQ3VybERlbGVnYXRlOjpzZXRBdXRoZW50aWNh
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZUN1cmxEZWxlZ2F0ZTo6ZGlz
cGF0Y2hTeW5jaHJvbm91c0pvYik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZUN1
cmxEZWxlZ2F0ZTo6Y3VybERpZFJlY2VpdmVSZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjpS
ZXNvdXJjZUhhbmRsZUN1cmxEZWxlZ2F0ZTo6Y29udGludWVBZnRlcldpbGxTZW5kUmVxdWVzdCk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3VybERlbGVn
YXRlLmg6CisKIDIwMTgtMDEtMTEgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZW5hbWUgTWFya2VkQWxsb2NhdG9yIHRvIEJsb2NrRGlyZWN0b3J5IGFuZCBBbGxv
Y2F0b3JBdHRyaWJ1dGVzIHRvIENlbGxBdHRyaWJ1dGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybEZvcm1EYXRhU3RyZWFtLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsRm9ybURhdGFTdHJlYW0uY3BwCmlu
ZGV4IDg0ZjVlMmI5NDJiLi4yNDM0NGNkNjAxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxGb3JtRGF0YVN0cmVhbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxGb3JtRGF0YVN0cmVhbS5jcHAKQEAg
LTU4LDE1ICs1OCwyMyBAQCBDdXJsRm9ybURhdGFTdHJlYW06On5DdXJsRm9ybURhdGFTdHJlYW0o
KQogCiB9CiAKLXZvaWQgQ3VybEZvcm1EYXRhU3RyZWFtOjpjbGVhbigpCit2b2lkIEN1cmxGb3Jt
RGF0YVN0cmVhbTo6cmVzZXQoKQogewotICAgIGlmIChtX3Bvc3REYXRhKQotICAgICAgICBtX3Bv
c3REYXRhID0gbnVsbHB0cjsKKyAgICAvLyBSZXVzZXMgbV9mb3JtRGF0YSBhZnRlciByZXN0YXJp
bmcgb2YgQ3VybFJlcXVlc3QuCisKKyAgICBtX3Bvc3REYXRhID0gbnVsbHB0cjsKKyAgICBtX2lz
Q29udGVudExlbmd0aFVwZGF0ZWQgPSBmYWxzZTsKKyAgICBtX3Nob3VsZFVzZUNodW5rVHJhbnNm
ZXIgPSBmYWxzZTsKKyAgICBtX3RvdGFsU2l6ZSA9IDA7CisgICAgbV90b3RhbFJlYWRTaXplID0g
MDsKKyAgICBtX2VsZW1lbnRQb3NpdGlvbiA9IDA7CiAKICAgICBpZiAobV9maWxlSGFuZGxlICE9
IEZpbGVTeXN0ZW06OmludmFsaWRQbGF0Zm9ybUZpbGVIYW5kbGUpIHsKICAgICAgICAgRmlsZVN5
c3RlbTo6Y2xvc2VGaWxlKG1fZmlsZUhhbmRsZSk7CiAgICAgICAgIG1fZmlsZUhhbmRsZSA9IEZp
bGVTeXN0ZW06OmludmFsaWRQbGF0Zm9ybUZpbGVIYW5kbGU7CiAgICAgfQorCisgICAgbV9kYXRh
T2Zmc2V0ID0gMDsKIH0KIAogc3RkOjpvcHRpb25hbDxjb25zdCBWZWN0b3I8Y2hhcj4mPiBDdXJs
Rm9ybURhdGFTdHJlYW06OmdldFBvc3REYXRhKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsRm9ybURhdGFTdHJlYW0uaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsRm9ybURhdGFTdHJlYW0uaAppbmRleCA2NjUz
M2JjYjRjZi4uMDUzZWIxNDhlNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY3VybC9DdXJsRm9ybURhdGFTdHJlYW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybEZvcm1EYXRhU3RyZWFtLmgKQEAgLTM3LDcgKzM3LDcg
QEAgcHVibGljOgogICAgIEN1cmxGb3JtRGF0YVN0cmVhbShjb25zdCBGb3JtRGF0YSopOwogICAg
IH5DdXJsRm9ybURhdGFTdHJlYW0oKTsKIAotICAgIHZvaWQgY2xlYW4oKTsKKyAgICB2b2lkIHJl
c2V0KCk7CiAKICAgICBzaXplX3QgZWxlbWVudFNpemUoKSB7IHJldHVybiBtX2Zvcm1EYXRhID8g
bV9mb3JtRGF0YS0+ZWxlbWVudHMoKS5zaXplKCkgOiAwOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3QuY3BwCmluZGV4IDc4NmM2
YTM5NGJiLi4yZjQxMmQ3ZDdjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jdXJsL0N1cmxSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3QuY3BwCkBAIC0xMDAsNiArMTAwLDE2IEBAIHZvaWQg
Q3VybFJlcXVlc3Q6OnN0YXJ0V2l0aEpvYk1hbmFnZXIoKQogICAgIEN1cmxSZXF1ZXN0U2NoZWR1
bGVyOjpzaW5nbGV0b24oKS5hZGQodGhpcyk7CiB9CiAKK3ZvaWQgQ3VybFJlcXVlc3Q6OnJlc3Rh
cnQoKQoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisKKyAgICBjYW5jZWwoKTsKKwor
ICAgIG1fcmVzdGFydGVkID0gdHJ1ZTsKKyAgICBzdGFydChtX2lzU3luY1JlcXVlc3QpOworfQor
CiB2b2lkIEN1cmxSZXF1ZXN0OjpjYW5jZWwoKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQo
KSk7CkBAIC0xNTUsOCArMTY1LDQzIEBAIHZvaWQgQ3VybFJlcXVlc3Q6OmNhbGxDbGllbnQoV1RG
OjpGdW5jdGlvbjx2b2lkKEN1cmxSZXF1ZXN0Q2xpZW50Kik+IHRhc2spCiAgICAgfQogfQogCit2
b2lkIEN1cmxSZXF1ZXN0Ojppbml0aWFsaXplSWZSZXN0YXJ0ZWQoKQoreworICAgIGlmICghbV9y
ZXN0YXJ0ZWQpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIFJldXNlcyBtX2NsaWVudCwgbV9p
c1N5bmNSZXF1ZXN0LCBtX3JlcXVlc3QsIG1fdXNlciwgbV9wYXNzd29yZCwgYW5kIG1faXNFbmFi
bGVkRG93bmxvYWRUb0ZpbGUgYWZ0ZXIgcmVzdGFydCBvZiBDdXJsUmVxdWVzdC4KKworICAgIG1f
Y2FuY2VsbGVkID0gZmFsc2U7CisgICAgbV9yZXN0YXJ0ZWQgPSBmYWxzZTsKKworICAgIG1fc2hv
dWxkU3VzcGVuZCA9IG1faXNQYXVzZWRPZlJlcXVlc3Q7CisKKyAgICBtX2N1cmxIYW5kbGUgPSBu
dWxscHRyOworICAgIG1fZm9ybURhdGFTdHJlYW0ucmVzZXQoKTsKKyAgICBtX3NzbFZlcmlmaWVy
ID0gbnVsbHB0cjsKKyAgICBtX211bHRpcGFydEhhbmRsZSA9IG51bGxwdHI7CisgICAgbV9yZXNw
b25zZSA9IEN1cmxSZXNwb25zZSB7IH07CisKKyAgICBtX2RpZE5vdGlmeVJlc3BvbnNlID0gZmFs
c2U7CisgICAgbV9kaWRSZXR1cm5Gcm9tTm90aWZ5ID0gZmFsc2U7CisgICAgbV9hY3Rpb25BZnRl
ckludm9rZSA9IEFjdGlvbjo6Tm9uZTsKKyAgICBtX2ZpbmlzaGVkUmVzdWx0Q29kZSA9IENVUkxF
X09LOworCisgICAgbV9pc1BhdXNlZE9mUmVxdWVzdCA9IGZhbHNlOworICAgIG1faXNQYXVzZWRP
ZkNhbGxiYWNrID0gZmFsc2U7CisKKyAgICBjbG9zZURvd25sb2FkRmlsZSgpOworICAgIGNsZWFu
dXBEb3dubG9hZEZpbGUoKTsKKyAgICBtX2Rvd25sb2FkRmlsZVBhdGggPSBTdHJpbmcoKTsKKwor
ICAgIG1fbmV0d29ya0xvYWRNZXRyaWNzID0gTmV0d29ya0xvYWRNZXRyaWNzIHsgfTsKK30KKwog
Q1VSTCogQ3VybFJlcXVlc3Q6OnNldHVwVHJhbnNmZXIoKQogeworICAgIGluaXRpYWxpemVJZlJl
c3RhcnRlZCgpOworCiAgICAgYXV0byYgc3NsSGFuZGxlID0gQ3VybENvbnRleHQ6OnNpbmdsZXRv
bigpLnNzbEhhbmRsZSgpOwogCiAgICAgbV9jdXJsSGFuZGxlID0gc3RkOjptYWtlX3VuaXF1ZTxD
dXJsSGFuZGxlPigpOwpAQCAtMjI1LDkgKzI3MCwxMCBAQCBDVVJMKiBDdXJsUmVxdWVzdDo6c2V0
dXBUcmFuc2ZlcigpCiAKIENVUkxjb2RlIEN1cmxSZXF1ZXN0Ojp3aWxsU2V0dXBTc2xDdHgodm9p
ZCogc3NsQ3R4KQogewotICAgIG1fc3NsVmVyaWZpZXIuc2V0Q3VybEhhbmRsZShtX2N1cmxIYW5k
bGUuZ2V0KCkpOwotICAgIG1fc3NsVmVyaWZpZXIuc2V0SG9zdE5hbWUobV9yZXF1ZXN0LnVybCgp
Lmhvc3QoKSk7Ci0gICAgbV9zc2xWZXJpZmllci5zZXRTc2xDdHgoc3NsQ3R4KTsKKyAgICBtX3Nz
bFZlcmlmaWVyID0gc3RkOjptYWtlX3VuaXF1ZTxDdXJsU1NMVmVyaWZpZXI+KCk7CisgICAgbV9z
c2xWZXJpZmllci0+c2V0Q3VybEhhbmRsZShtX2N1cmxIYW5kbGUuZ2V0KCkpOworICAgIG1fc3Ns
VmVyaWZpZXItPnNldEhvc3ROYW1lKG1fcmVxdWVzdC51cmwoKS5ob3N0KCkpOworICAgIG1fc3Ns
VmVyaWZpZXItPnNldFNzbEN0eChzc2xDdHgpOwogCiAgICAgcmV0dXJuIENVUkxFX09LOwogfQpA
QCAtNDIyLDggKzQ2OCw4IEBAIHZvaWQgQ3VybFJlcXVlc3Q6OmRpZENvbXBsZXRlVHJhbnNmZXIo
Q1VSTGNvZGUgcmVzdWx0KQogICAgICAgICB9CiAgICAgfSBlbHNlIHsKICAgICAgICAgYXV0byBy
ZXNvdXJjZUVycm9yID0gUmVzb3VyY2VFcnJvcjo6aHR0cEVycm9yKHJlc3VsdCwgbV9yZXF1ZXN0
LnVybCgpKTsKLSAgICAgICAgaWYgKG1fc3NsVmVyaWZpZXIuc3NsRXJyb3JzKCkpCi0gICAgICAg
ICAgICByZXNvdXJjZUVycm9yLnNldFNzbEVycm9ycyhtX3NzbFZlcmlmaWVyLnNzbEVycm9ycygp
KTsKKyAgICAgICAgaWYgKG1fc3NsVmVyaWZpZXIgJiYgbV9zc2xWZXJpZmllci0+c3NsRXJyb3Jz
KCkpCisgICAgICAgICAgICByZXNvdXJjZUVycm9yLnNldFNzbEVycm9ycyhtX3NzbFZlcmlmaWVy
LT5zc2xFcnJvcnMoKSk7CiAKICAgICAgICAgZmluYWxpemVUcmFuc2ZlcigpOwogICAgICAgICBj
YWxsQ2xpZW50KFt0aGlzLCBlcnJvciA9IHJlc291cmNlRXJyb3IuaXNvbGF0ZWRDb3B5KCldKEN1
cmxSZXF1ZXN0Q2xpZW50KiBjbGllbnQpIHsKQEAgLTQ0Miw3ICs0ODgsOCBAQCB2b2lkIEN1cmxS
ZXF1ZXN0OjpkaWRDYW5jZWxUcmFuc2ZlcigpCiB2b2lkIEN1cmxSZXF1ZXN0OjpmaW5hbGl6ZVRy
YW5zZmVyKCkKIHsKICAgICBjbG9zZURvd25sb2FkRmlsZSgpOwotICAgIG1fZm9ybURhdGFTdHJl
YW0uY2xlYW4oKTsKKyAgICBtX2Zvcm1EYXRhU3RyZWFtLnJlc2V0KCk7CisgICAgbV9zc2xWZXJp
ZmllciA9IG51bGxwdHI7CiAgICAgbV9tdWx0aXBhcnRIYW5kbGUgPSBudWxscHRyOwogICAgIG1f
Y3VybEhhbmRsZSA9IG51bGxwdHI7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdC5oCmluZGV4IGIwMTE4ZWMzNTc5Li44OGU5ZGZlOWZj
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxS
ZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxS
ZXF1ZXN0LmgKQEAgLTY3LDYgKzY3LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VXNlclBhc3Mo
Y29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJik7CiAKICAgICB2b2lkIHN0YXJ0KGJvb2wgaXNT
eW5jUmVxdWVzdCA9IGZhbHNlKTsKKyAgICB2b2lkIHJlc3RhcnQoKTsKICAgICB2b2lkIGNhbmNl
bCgpOwogICAgIHZvaWQgc3VzcGVuZCgpOwogICAgIHZvaWQgcmVzdW1lKCk7CkBAIC0xMDYsNiAr
MTA3LDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIFRyYW5zZmVyIHByb2Nlc3Npbmcgb2YgUmVxdWVz
dCBib2R5LCBSZXNwb25zZSBoZWFkZXIvYm9keQogICAgIC8vIENhbGxlZCBieSB3b3JrZXIgdGhy
ZWFkIGluIGNhc2Ugb2YgYXN5bmMsIG1haW4gdGhyZWFkIGluIGNhc2Ugb2Ygc3luYy4KKyAgICB2
b2lkIGluaXRpYWxpemVJZlJlc3RhcnRlZCgpOwogICAgIENVUkwqIHNldHVwVHJhbnNmZXIoKSBv
dmVycmlkZTsKICAgICBDVVJMY29kZSB3aWxsU2V0dXBTc2xDdHgodm9pZCopOwogICAgIHNpemVf
dCB3aWxsU2VuZERhdGEoY2hhciosIHNpemVfdCwgc2l6ZV90KTsKQEAgLTE0Nyw2ICsxNDksNyBA
QCBwcml2YXRlOgogICAgIHN0ZDo6YXRvbWljPEN1cmxSZXF1ZXN0Q2xpZW50Kj4gbV9jbGllbnQg
eyB9OwogICAgIGJvb2wgbV9pc1N5bmNSZXF1ZXN0IHsgZmFsc2UgfTsKICAgICBib29sIG1fY2Fu
Y2VsbGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1fcmVzdGFydGVkIHsgZmFsc2UgfTsKIAogICAg
IC8vIFVzZWQgYnkgd29ya2VyIHRocmVhZCBpbiBjYXNlIG9mIGFzeW5jLCBhbmQgbWFpbiB0aHJl
YWQgaW4gY2FzZSBvZiBzeW5jLgogICAgIFJlc291cmNlUmVxdWVzdCBtX3JlcXVlc3Q7CkBAIC0x
NTcsNyArMTYwLDcgQEAgcHJpdmF0ZToKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxDdXJsSGFuZGxl
PiBtX2N1cmxIYW5kbGU7CiAgICAgQ3VybEZvcm1EYXRhU3RyZWFtIG1fZm9ybURhdGFTdHJlYW07
Ci0gICAgQ3VybFNTTFZlcmlmaWVyIG1fc3NsVmVyaWZpZXI7CisgICAgc3RkOjp1bmlxdWVfcHRy
PEN1cmxTU0xWZXJpZmllcj4gbV9zc2xWZXJpZmllcjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q3Vy
bE11bHRpcGFydEhhbmRsZT4gbV9tdWx0aXBhcnRIYW5kbGU7CiAKICAgICBDdXJsUmVzcG9uc2Ug
bV9yZXNwb25zZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y3VybC9SZXNvdXJjZUhhbmRsZUN1cmxEZWxlZ2F0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVDdXJsRGVsZWdhdGUuY3BwCmluZGV4IDg0
ZTFmZGEyOGQ5Li42NTZkYzYwZWQ5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3VybERlbGVnYXRlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVDdXJsRGVsZWdh
dGUuY3BwCkBAIC00OCw3ICs0OCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIFJlc291cmNlSGFu
ZGxlQ3VybERlbGVnYXRlOjpSZXNvdXJjZUhhbmRsZUN1cmxEZWxlZ2F0ZShSZXNvdXJjZUhhbmRs
ZSogaGFuZGxlKQogICAgIDogbV9oYW5kbGUoaGFuZGxlKQogICAgICwgbV9maXJzdFJlcXVlc3Qo
aGFuZGxlLT5maXJzdFJlcXVlc3QoKS5pc29sYXRlZENvcHkoKSkKLSAgICAsIG1fY3VycmVudFJl
cXVlc3QoaGFuZGxlLT5maXJzdFJlcXVlc3QoKS5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fc2hv
dWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UoaGFuZGxlLT5zaG91bGRVc2VDcmVkZW50aWFsU3RvcmFn
ZSgpKQogICAgICwgbV91c2VyKGhhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV91c2VyLmlzb2xhdGVk
Q29weSgpKQogICAgICwgbV9wYXNzKGhhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9wYXNzLmlzb2xh
dGVkQ29weSgpKQpAQCAtNzgsOSArNzcsOSBAQCB2b2lkIFJlc291cmNlSGFuZGxlQ3VybERlbGVn
YXRlOjpzdGFydCgpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAotICAgIGF1dG8g
Y3JlZGVudGlhbCA9IGdldENyZWRlbnRpYWwobV9jdXJyZW50UmVxdWVzdCwgZmFsc2UpOworICAg
IGF1dG8gY3JlZGVudGlhbCA9IGdldENyZWRlbnRpYWwobV9maXJzdFJlcXVlc3QsIGZhbHNlKTsK
IAotICAgIG1fY3VybFJlcXVlc3QgPSBjcmVhdGVDdXJsUmVxdWVzdChtX2N1cnJlbnRSZXF1ZXN0
KTsKKyAgICBtX2N1cmxSZXF1ZXN0ID0gY3JlYXRlQ3VybFJlcXVlc3QobV9maXJzdFJlcXVlc3Qp
OwogICAgIG1fY3VybFJlcXVlc3QtPnNldFVzZXJQYXNzKGNyZWRlbnRpYWwuZmlyc3QsIGNyZWRl
bnRpYWwuc2Vjb25kKTsKICAgICBtX2N1cmxSZXF1ZXN0LT5zdGFydCgpOwogfQpAQCAtMTIwLDE4
ICsxMTksMTQgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZUN1cmxEZWxlZ2F0ZTo6c2V0QXV0aGVudGlj
YXRpb24oY29uc3QgU3RyaW5nJiB1c2VyLCBjb25zdCBTdHIKICAgICBpZiAoIW1fY3VybFJlcXVl
c3QpCiAgICAgICAgIHJldHVybjsKIAotICAgIGJvb2wgaXNTeW5jUmVxdWVzdCA9IG1fY3VybFJl
cXVlc3QtPmlzU3luY1JlcXVlc3QoKTsKLSAgICBtX2N1cmxSZXF1ZXN0LT5jYW5jZWwoKTsKLSAg
ICBtX2N1cmxSZXF1ZXN0LT5zZXRDbGllbnQobnVsbHB0cik7CiAKLSAgICBtX2N1cmxSZXF1ZXN0
ID0gY3JlYXRlQ3VybFJlcXVlc3QobV9jdXJyZW50UmVxdWVzdCk7CiAgICAgbV9jdXJsUmVxdWVz
dC0+c2V0VXNlclBhc3ModXNlciwgcGFzc3dvcmQpOwotICAgIG1fY3VybFJlcXVlc3QtPnN0YXJ0
KGlzU3luY1JlcXVlc3QpOworICAgIG1fY3VybFJlcXVlc3QtPnJlc3RhcnQoKTsKIH0KIAogdm9p
ZCBSZXNvdXJjZUhhbmRsZUN1cmxEZWxlZ2F0ZTo6ZGlzcGF0Y2hTeW5jaHJvbm91c0pvYigpCiB7
Ci0gICAgaWYgKG1fY3VycmVudFJlcXVlc3QudXJsKCkucHJvdG9jb2xJc0RhdGEoKSkgeworICAg
IGlmIChtX2ZpcnN0UmVxdWVzdC51cmwoKS5wcm90b2NvbElzRGF0YSgpKSB7CiAgICAgICAgIGhh
bmRsZURhdGFVUkwoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTE0MSw3ICsxMzYsNyBA
QCB2b2lkIFJlc291cmNlSGFuZGxlQ3VybERlbGVnYXRlOjpkaXNwYXRjaFN5bmNocm9ub3VzSm9i
KCkKICAgICAvLyBhbmQgd2Ugd291bGQgYXNzZXJ0IHNvIGZvcmNlIGRlZmVyc0xvYWRpbmcgdG8g
YmUgZmFsc2UuCiAgICAgbV9kZWZlcnNMb2FkaW5nID0gZmFsc2U7CiAKLSAgICBtX2N1cmxSZXF1
ZXN0ID0gY3JlYXRlQ3VybFJlcXVlc3QobV9jdXJyZW50UmVxdWVzdCk7CisgICAgbV9jdXJsUmVx
dWVzdCA9IGNyZWF0ZUN1cmxSZXF1ZXN0KG1fZmlyc3RSZXF1ZXN0KTsKICAgICBtX2N1cmxSZXF1
ZXN0LT5zdGFydCh0cnVlKTsKIH0KIApAQCAtMjA3LDcgKzIwMiw3IEBAIHZvaWQgUmVzb3VyY2VI
YW5kbGVDdXJsRGVsZWdhdGU6OmN1cmxEaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgQ3VybFJlc3Bv
bnNlJiByZWNlCiAKICAgICBpZiAobV9oYW5kbGUtPmNsaWVudCgpKSB7CiAgICAgICAgIGlmIChy
ZXNwb25zZSgpLmlzTm90TW9kaWZpZWQoKSkgewotICAgICAgICAgICAgVVJMIGNhY2hlVXJsID0g
bV9jdXJyZW50UmVxdWVzdC51cmwoKTsKKyAgICAgICAgICAgIFVSTCBjYWNoZVVybCA9IHJlc3Bv
bnNlKCkudXJsKCk7CiAgICAgICAgICAgICBjYWNoZVVybC5yZW1vdmVGcmFnbWVudElkZW50aWZp
ZXIoKTsKIAogICAgICAgICAgICAgaWYgKEN1cmxDYWNoZU1hbmFnZXI6OnNpbmdsZXRvbigpLmdl
dENhY2hlZFJlc3BvbnNlKGNhY2hlVXJsLCByZXNwb25zZSgpKSkgewpAQCAtMzY4LDE2ICszNjMs
MTQgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZUN1cmxEZWxlZ2F0ZTo6Y29udGludWVBZnRlcldpbGxT
ZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmJgogICAgIGlmIChjYW5jZWxsZWRPckNsaWVudGxl
c3MoKSB8fCAhbV9jdXJsUmVxdWVzdCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jdXJyZW50
UmVxdWVzdCA9IFdURk1vdmUocmVxdWVzdCk7Ci0KICAgICBib29sIGlzU3luY1JlcXVlc3QgPSBt
X2N1cmxSZXF1ZXN0LT5pc1N5bmNSZXF1ZXN0KCk7CiAgICAgbV9jdXJsUmVxdWVzdC0+Y2FuY2Vs
KCk7CiAgICAgbV9jdXJsUmVxdWVzdC0+c2V0Q2xpZW50KG51bGxwdHIpOwogCi0gICAgbV9jdXJs
UmVxdWVzdCA9IGNyZWF0ZUN1cmxSZXF1ZXN0KG1fY3VycmVudFJlcXVlc3QpOworICAgIG1fY3Vy
bFJlcXVlc3QgPSBjcmVhdGVDdXJsUmVxdWVzdChyZXF1ZXN0KTsKIAotICAgIGlmIChwcm90b2Nv
bEhvc3RBbmRQb3J0QXJlRXF1YWwobV9jdXJyZW50UmVxdWVzdC51cmwoKSwgcmVzcG9uc2UoKS51
cmwoKSkpIHsKLSAgICAgICAgYXV0byBjcmVkZW50aWFsID0gZ2V0Q3JlZGVudGlhbChtX2N1cnJl
bnRSZXF1ZXN0LCB0cnVlKTsKKyAgICBpZiAocHJvdG9jb2xIb3N0QW5kUG9ydEFyZUVxdWFsKHJl
cXVlc3QudXJsKCksIHJlc3BvbnNlKCkudXJsKCkpKSB7CisgICAgICAgIGF1dG8gY3JlZGVudGlh
bCA9IGdldENyZWRlbnRpYWwocmVxdWVzdCwgdHJ1ZSk7CiAgICAgICAgIG1fY3VybFJlcXVlc3Qt
PnNldFVzZXJQYXNzKGNyZWRlbnRpYWwuZmlyc3QsIGNyZWRlbnRpYWwuc2Vjb25kKTsKICAgICB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNv
dXJjZUhhbmRsZUN1cmxEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jdXJsL1Jlc291cmNlSGFuZGxlQ3VybERlbGVnYXRlLmgKaW5kZXggNWFkOGFmZTZjMjIuLjgz
NzI3YWQ3ZDg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1
cmwvUmVzb3VyY2VIYW5kbGVDdXJsRGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVDdXJsRGVsZWdhdGUuaApAQCAtODcsNyAr
ODcsNiBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fcmVkaXJlY3RDb3VudCB7IDAgfTsKIAog
ICAgIFJlc291cmNlUmVxdWVzdCBtX2ZpcnN0UmVxdWVzdDsKLSAgICBSZXNvdXJjZVJlcXVlc3Qg
bV9jdXJyZW50UmVxdWVzdDsKICAgICBib29sIG1fc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2U7
CiAgICAgU3RyaW5nIG1fdXNlcjsKICAgICBTdHJpbmcgbV9wYXNzOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>