<?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>127915</bug_id>
          
          <creation_ts>2014-01-30 09:56:04 -0800</creation_ts>
          <short_desc>Modernize HTTPHeaderMap iteration</short_desc>
          <delta_ts>2014-01-30 10:14:20 -0800</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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>japhet</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>973776</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-30 09:56:04 -0800</bug_when>
    <thetext>Modernize HTTPHeaderMap iteration</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973778</commentid>
    <comment_count>1</comment_count>
      <attachid>222680</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-30 09:57:47 -0800</bug_when>
    <thetext>Created attachment 222680
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973790</commentid>
    <comment_count>2</comment_count>
      <attachid>222680</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-01-30 10:08:18 -0800</bug_when>
    <thetext>Comment on attachment 222680
Patch

igp; r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973794</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-30 10:14:20 -0800</bug_when>
    <thetext>Committed r163089: &lt;http://trac.webkit.org/changeset/163089&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222680</attachid>
            <date>2014-01-30 09:57:47 -0800</date>
            <delta_ts>2014-01-30 10:08:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127915-20140130095748.patch</filename>
            <type>text/plain</type>
            <size>18754</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzMDgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTEzZjE4OGFlNjUyYjk1
ZjNiNTcyYWMxNzcwZWExMjViYmFlNzVkMi4uNjY1YTk3ZDQyYjFlNmY0MmRhOTBjYzJhYWQ2NmFh
ZTFjM2Y3MTg1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE0LTAxLTMwICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgTW9kZXJuaXplIEhU
VFBIZWFkZXJNYXAgaXRlcmF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMjc5MTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmJ1aWxkT2JqZWN0Rm9ySGVhZGVycyk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojp3aWxsTG9hZFhIUik6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpyZXBsYXlYSFIpOgorICAgICAgICAqIGxvYWRlci9D
cm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNTaW1wbGVD
cm9zc09yaWdpbkFjY2Vzc1JlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlQWNjZXNz
Q29udHJvbFByZWZsaWdodFJlcXVlc3QpOgorICAgICAgICAqIGxvYWRlci9Dcm9zc09yaWdpblBy
ZWZsaWdodFJlc3VsdENhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyb3NzT3JpZ2luUHJl
ZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtOjphbGxvd3NDcm9zc09yaWdpbkhlYWRlcnMpOgorICAgICAg
ICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dExvYWRlcjo6cmVzcG9uc2VSZWNlaXZlZCk6CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0Fw
cGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9u
Q2FjaGVTdG9yYWdlOjpzdG9yZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jl
c291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJhd1Jlc291cmNlOjpjYW5SZXVz
ZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjp1cGRhdGVSZXNwb25zZUFmdGVyUmV2YWxpZGF0aW9u
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0hUVFBIZWFkZXJNYXAuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRUUEhlYWRlck1hcDo6Y29weURhdGEpOgorICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3RCYXNlOjphZGRIVFRQSGVhZGVyRmllbGRzKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdENGTmV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnNldEhlYWRlckZpZWxkcyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3Vy
Y2VSZXF1ZXN0TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojpkb1Vw
ZGF0ZVBsYXRmb3JtUmVxdWVzdCk6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpnZXRBbGxSZXNwb25zZUhlYWRlcnMp
OgorCiAyMDE0LTAxLTMwICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAg
ICAgICBXZWJQYWdlOjpkZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW4gaXMgc2xvdwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdl
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQu
Y3BwCmluZGV4IDc4M2QwMTc2ZDc0NWE0YjUyMzZmMTBlM2EyOWRjMDhiM2NkZGQxZjguLjA1MTlm
MWE1NmFkZDk2YzYyYjU1ZTY5NDE3ZmIyZGQxMzQ5ZTU0YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKQEAgLTk1LDkgKzk1
LDkgQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojp3aWxsRGVzdHJveUZyb250ZW5kQW5k
QmFja2VuZChJbnNwZWN0b3JEaXNjb25uZWN0UmUKIHN0YXRpYyBQYXNzUmVmUHRyPEluc3BlY3Rv
ck9iamVjdD4gYnVpbGRPYmplY3RGb3JIZWFkZXJzKGNvbnN0IEhUVFBIZWFkZXJNYXAmIGhlYWRl
cnMpCiB7CiAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gaGVhZGVyc09iamVjdCA9IEluc3Bl
Y3Rvck9iamVjdDo6Y3JlYXRlKCk7Ci0gICAgSFRUUEhlYWRlck1hcDo6Y29uc3RfaXRlcmF0b3Ig
ZW5kID0gaGVhZGVycy5lbmQoKTsKLSAgICBmb3IgKEhUVFBIZWFkZXJNYXA6OmNvbnN0X2l0ZXJh
dG9yIGl0ID0gaGVhZGVycy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCi0gICAgICAgIGhlYWRl
cnNPYmplY3QtPnNldFN0cmluZyhpdC0+a2V5LnN0cmluZygpLCBpdC0+dmFsdWUpOworICAgIAor
ICAgIGZvciAoY29uc3QgYXV0byYgaGVhZGVyIDogaGVhZGVycykKKyAgICAgICAgaGVhZGVyc09i
amVjdC0+c2V0U3RyaW5nKGhlYWRlci5rZXkuc3RyaW5nKCksIGhlYWRlci52YWx1ZSk7CiAgICAg
cmV0dXJuIGhlYWRlcnNPYmplY3Q7CiB9CiAKQEAgLTM3MSw5ICszNzEsOCBAQCB2b2lkIEluc3Bl
Y3RvclJlc291cmNlQWdlbnQ6OmRvY3VtZW50VGhyZWFkYWJsZUxvYWRlclN0YXJ0ZWRMb2FkaW5n
Rm9yQ2xpZW50KHVucwogdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojp3aWxsTG9hZFhIUihU
aHJlYWRhYmxlTG9hZGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgbWV0aG9kLCBjb25z
dCBVUkwmIHVybCwgYm9vbCBhc3luYywgUGFzc1JlZlB0cjxGb3JtRGF0YT4gZm9ybURhdGEsIGNv
bnN0IEhUVFBIZWFkZXJNYXAmIGhlYWRlcnMsIGJvb2wgaW5jbHVkZUNyZWRlbnRpYWxzKQogewog
ICAgIFJlZlB0cjxYSFJSZXBsYXlEYXRhPiB4aHJSZXBsYXlEYXRhID0gWEhSUmVwbGF5RGF0YTo6
Y3JlYXRlKG1ldGhvZCwgdXJsLCBhc3luYywgZm9ybURhdGEsIGluY2x1ZGVDcmVkZW50aWFscyk7
Ci0gICAgSFRUUEhlYWRlck1hcDo6Y29uc3RfaXRlcmF0b3IgZW5kID0gaGVhZGVycy5lbmQoKTsK
LSAgICBmb3IgKEhUVFBIZWFkZXJNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gaGVhZGVycy5iZWdp
bigpOyBpdCE9IGVuZDsgKytpdCkKLSAgICAgICAgeGhyUmVwbGF5RGF0YS0+YWRkSGVhZGVyKGl0
LT5rZXksIGl0LT52YWx1ZSk7CisgICAgZm9yIChjb25zdCBhdXRvJiBoZWFkZXIgOiBoZWFkZXJz
KQorICAgICAgICB4aHJSZXBsYXlEYXRhLT5hZGRIZWFkZXIoaGVhZGVyLmtleSwgaGVhZGVyLnZh
bHVlKTsKICAgICBtX3BlbmRpbmdYSFJSZXBsYXlEYXRhLnNldChjbGllbnQsIHhoclJlcGxheURh
dGEpOwogfQogCkBAIC02MDAsOSArNTk5LDggQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50
OjpyZXBsYXlYSFIoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCkKICAgICAg
ICAgbWVtb3J5Q2FjaGUoKS0+cmVtb3ZlKGNhY2hlZFJlc291cmNlKTsKIAogICAgIHhoci0+b3Bl
bih4aHJSZXBsYXlEYXRhLT5tZXRob2QoKSwgeGhyUmVwbGF5RGF0YS0+dXJsKCksIHhoclJlcGxh
eURhdGEtPmFzeW5jKCksIElHTk9SRV9FWENFUFRJT04pOwotICAgIEhUVFBIZWFkZXJNYXA6OmNv
bnN0X2l0ZXJhdG9yIGVuZCA9IHhoclJlcGxheURhdGEtPmhlYWRlcnMoKS5lbmQoKTsKLSAgICBm
b3IgKEhUVFBIZWFkZXJNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0geGhyUmVwbGF5RGF0YS0+aGVh
ZGVycygpLmJlZ2luKCk7IGl0IT0gZW5kOyArK2l0KQotICAgICAgICB4aHItPnNldFJlcXVlc3RI
ZWFkZXIoaXQtPmtleSwgaXQtPnZhbHVlLCBJR05PUkVfRVhDRVBUSU9OKTsKKyAgICBmb3IgKGNv
bnN0IGF1dG8mIGhlYWRlciA6IHhoclJlcGxheURhdGEtPmhlYWRlcnMoKSkKKyAgICAgICAgeGhy
LT5zZXRSZXF1ZXN0SGVhZGVyKGhlYWRlci5rZXksIGhlYWRlci52YWx1ZSwgSUdOT1JFX0VYQ0VQ
VElPTik7CiAgICAgeGhyLT5zZW5kRnJvbUluc3BlY3Rvcih4aHJSZXBsYXlEYXRhLT5mb3JtRGF0
YSgpLCBJR05PUkVfRVhDRVBUSU9OKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0Nyb3NzT3JpZ2luQWNjZXNzQ29udHJvbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvQ3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9sLmNwcAppbmRleCAyNTdiNDNlZDgzMTM3ODQxYTQw
MTI0MTE4OGMxODA0MDQ1ZDFhN2Q4Li41YzcwNjI1ZTU0ZTU2YTRmMjAxMWQxZjJkNjI3MDE2ZWI4
YzQxYmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5BY2Nl
c3NDb250cm9sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5BY2Nl
c3NDb250cm9sLmNwcApAQCAtNjcsOSArNjcsOCBAQCBib29sIGlzU2ltcGxlQ3Jvc3NPcmlnaW5B
Y2Nlc3NSZXF1ZXN0KGNvbnN0IFN0cmluZyYgbWV0aG9kLCBjb25zdCBIVFRQSGVhZGVyTWFwJgog
ICAgIGlmICghaXNPbkFjY2Vzc0NvbnRyb2xTaW1wbGVSZXF1ZXN0TWV0aG9kV2hpdGVsaXN0KG1l
dGhvZCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIEhUVFBIZWFkZXJNYXA6OmNvbnN0
X2l0ZXJhdG9yIGVuZCA9IGhlYWRlck1hcC5lbmQoKTsKLSAgICBmb3IgKEhUVFBIZWFkZXJNYXA6
OmNvbnN0X2l0ZXJhdG9yIGl0ID0gaGVhZGVyTWFwLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkg
ewotICAgICAgICBpZiAoIWlzT25BY2Nlc3NDb250cm9sU2ltcGxlUmVxdWVzdEhlYWRlcldoaXRl
bGlzdChpdC0+a2V5LCBpdC0+dmFsdWUpKQorICAgIGZvciAoY29uc3QgYXV0byYgaGVhZGVyIDog
aGVhZGVyTWFwKSB7CisgICAgICAgIGlmICghaXNPbkFjY2Vzc0NvbnRyb2xTaW1wbGVSZXF1ZXN0
SGVhZGVyV2hpdGVsaXN0KGhlYWRlci5rZXksIGhlYWRlci52YWx1ZSkpCiAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgfQogCkBAIC0xMTIsMTcgKzExMSwxNyBAQCBSZXNvdXJjZVJlcXVl
c3QgY3JlYXRlQWNjZXNzQ29udHJvbFByZWZsaWdodFJlcXVlc3QoY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiByZXF1ZQogCiAgICAgY29uc3QgSFRUUEhlYWRlck1hcCYgcmVxdWVzdEhlYWRlckZpZWxk
cyA9IHJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpOwogCi0gICAgaWYgKHJlcXVlc3RIZWFkZXJG
aWVsZHMuc2l6ZSgpID4gMCkgeworICAgIGlmICghcmVxdWVzdEhlYWRlckZpZWxkcy5pc0VtcHR5
KCkpIHsKICAgICAgICAgU3RyaW5nQnVpbGRlciBoZWFkZXJCdWZmZXI7Ci0gICAgICAgIEhUVFBI
ZWFkZXJNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gcmVxdWVzdEhlYWRlckZpZWxkcy5iZWdpbigp
OwotICAgICAgICBoZWFkZXJCdWZmZXIuYXBwZW5kKGl0LT5rZXkpOwotICAgICAgICArK2l0Owot
Ci0gICAgICAgIEhUVFBIZWFkZXJNYXA6OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IHJlcXVlc3RIZWFk
ZXJGaWVsZHMuZW5kKCk7Ci0gICAgICAgIGZvciAoOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAg
ICAgICAgIGhlYWRlckJ1ZmZlci5hcHBlbmQoJywnKTsKLSAgICAgICAgICAgIGhlYWRlckJ1ZmZl
ci5hcHBlbmQoJyAnKTsKLSAgICAgICAgICAgIGhlYWRlckJ1ZmZlci5hcHBlbmQoaXQtPmtleSk7
CisgICAgICAgIAorICAgICAgICBib29sIGFwcGVuZENvbW1hID0gZmFsc2U7CisgICAgICAgIGZv
ciAoY29uc3QgYXV0byYgaGVhZGVyTmFtZSA6IHJlcXVlc3RIZWFkZXJGaWVsZHMua2V5cygpKSB7
CisgICAgICAgICAgICBpZiAoYXBwZW5kQ29tbWEpCisgICAgICAgICAgICAgICAgaGVhZGVyQnVm
ZmVyLmFwcGVuZExpdGVyYWwoIiwgIik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAg
ICAgYXBwZW5kQ29tbWEgPSB0cnVlOworICAgICAgICAgICAgCisgICAgICAgICAgICBoZWFkZXJC
dWZmZXIuYXBwZW5kKGhlYWRlck5hbWUpOwogICAgICAgICB9CiAKICAgICAgICAgcHJlZmxpZ2h0
UmVxdWVzdC5zZXRIVFRQSGVhZGVyRmllbGQoIkFjY2Vzcy1Db250cm9sLVJlcXVlc3QtSGVhZGVy
cyIsIGhlYWRlckJ1ZmZlci50b1N0cmluZygpLmxvd2VyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuY3BwCmlu
ZGV4IDczOThkMGY5NWEyMGIxYWQyZDdmNTQwYTZjMTRlM2E0NGQyNmQ2MWUuLmFmZjVkMGYyMWY2
ZjI5NGJjYmJjZWQwMzEwNjJjNmEwMGFiOWFlZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5jcHAKQEAgLTEy
MSwxMCArMTIxLDkgQEAgYm9vbCBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbTo6
YWxsb3dzQ3Jvc3NPcmlnaW5NZXRob2QoY29uc3QgU3RyaW5nJgogCiBib29sIENyb3NzT3JpZ2lu
UHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtOjphbGxvd3NDcm9zc09yaWdpbkhlYWRlcnMoY29uc3Qg
SFRUUEhlYWRlck1hcCYgcmVxdWVzdEhlYWRlcnMsIFN0cmluZyYgZXJyb3JEZXNjcmlwdGlvbikg
Y29uc3QKIHsKLSAgICBIVFRQSGVhZGVyTWFwOjpjb25zdF9pdGVyYXRvciBlbmQgPSByZXF1ZXN0
SGVhZGVycy5lbmQoKTsKLSAgICBmb3IgKEhUVFBIZWFkZXJNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0
ID0gcmVxdWVzdEhlYWRlcnMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIGlm
ICghbV9oZWFkZXJzLmNvbnRhaW5zKGl0LT5rZXkpICYmICFpc09uQWNjZXNzQ29udHJvbFNpbXBs
ZVJlcXVlc3RIZWFkZXJXaGl0ZWxpc3QoaXQtPmtleSwgaXQtPnZhbHVlKSkgewotICAgICAgICAg
ICAgZXJyb3JEZXNjcmlwdGlvbiA9ICJSZXF1ZXN0IGhlYWRlciBmaWVsZCAiICsgaXQtPmtleS5z
dHJpbmcoKSArICIgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVy
cy4iOworICAgIGZvciAoY29uc3QgYXV0byYgaGVhZGVyIDogcmVxdWVzdEhlYWRlcnMpIHsKKyAg
ICAgICAgaWYgKCFtX2hlYWRlcnMuY29udGFpbnMoaGVhZGVyLmtleSkgJiYgIWlzT25BY2Nlc3ND
b250cm9sU2ltcGxlUmVxdWVzdEhlYWRlcldoaXRlbGlzdChoZWFkZXIua2V5LCBoZWFkZXIudmFs
dWUpKSB7CisgICAgICAgICAgICBlcnJvckRlc2NyaXB0aW9uID0gIlJlcXVlc3QgaGVhZGVyIGZp
ZWxkICIgKyBoZWFkZXIua2V5LnN0cmluZygpICsgIiBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3Mt
Q29udHJvbC1BbGxvdy1IZWFkZXJzLiI7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRM
b2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRl
eCA4YWNlZTBhMmE1YmIxZjBhNDdjZDdmMmIzYjU2MGRlOTE5MDYzM2I0Li44OWUwODYyNjA5NmVi
OGM4MTFjNjNkODE0NGQxODM4ZGNiOWQzMmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1
bWVudExvYWRlci5jcHAKQEAgLTYwNSw3ICs2MDUsOCBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpy
ZXNwb25zZVJlY2VpdmVkKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgY29uc3QgUmVzb3VyY2VS
ZQogICAgICAgICByZXR1cm47CiAKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmlu
ZywgeEZyYW1lT3B0aW9uSGVhZGVyLCAoIngtZnJhbWUtb3B0aW9ucyIsIEF0b21pY1N0cmluZzo6
Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBIVFRQSGVhZGVyTWFwOjpjb25zdF9pdGVyYXRv
ciBpdCA9IHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZHMoKS5maW5kKHhGcmFtZU9wdGlvbkhlYWRl
cik7CisKKyAgICBhdXRvIGl0ID0gcmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkcygpLmZpbmQoeEZy
YW1lT3B0aW9uSGVhZGVyKTsKICAgICBpZiAoaXQgIT0gcmVzcG9uc2UuaHR0cEhlYWRlckZpZWxk
cygpLmVuZCgpKSB7CiAgICAgICAgIFN0cmluZyBjb250ZW50ID0gaXQtPnZhbHVlOwogICAgICAg
ICBBU1NFUlQobV9tYWluUmVzb3VyY2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5jcHAKaW5kZXggYjgyODUz
YTk2Njc0OWEwZmY1MTRhYjA3MTk3NmQxOGI5Yzk3YjA2MC4uMjk1NjNmNzc3NjdjODczOGFlZDc3
MmI2ZmY5NmZkMDhlODA0MDU3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuY3BwCkBAIC04NjMsMTEgKzg2
MywxMCBAQCBib29sIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOjpzdG9yZShBcHBsaWNhdGlvbkNh
Y2hlUmVzb3VyY2UqIHJlc291cmNlLCB1bnNpZ25lZAogICAgIC8vIFNlcmlhbGl6ZSB0aGUgaGVh
ZGVycwogICAgIFN0cmluZ0J1aWxkZXIgc3RyaW5nQnVpbGRlcjsKICAgICAKLSAgICBIVFRQSGVh
ZGVyTWFwOjpjb25zdF9pdGVyYXRvciBlbmQgPSByZXNvdXJjZS0+cmVzcG9uc2UoKS5odHRwSGVh
ZGVyRmllbGRzKCkuZW5kKCk7Ci0gICAgZm9yIChIVFRQSGVhZGVyTWFwOjpjb25zdF9pdGVyYXRv
ciBpdCA9IHJlc291cmNlLT5yZXNwb25zZSgpLmh0dHBIZWFkZXJGaWVsZHMoKS5iZWdpbigpOyBp
dCE9IGVuZDsgKytpdCkgewotICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpdC0+a2V5KTsK
KyAgICBmb3IgKGNvbnN0IGF1dG8mIGhlYWRlciA6IHJlc291cmNlLT5yZXNwb25zZSgpLmh0dHBI
ZWFkZXJGaWVsZHMoKSkgeworICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChoZWFkZXIua2V5
KTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJzonKTsKLSAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoaXQtPnZhbHVlKTsKKyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaGVh
ZGVyLnZhbHVlKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJ1xuJyk7CiAgICAgfQog
ICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jl
c291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJj
ZS5jcHAKaW5kZXggYTZlZmY1ZWZiODM3NTQxNTRmMWJhZmI4YjhkMjZhYTljNGI3Y2YyNS4uNGRj
ZGQxZWE2MmQ4MDZhOWZmZmZlY2UxZmM1NjU0YjkzYTZiY2NkYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3VyY2UuY3BwCkBAIC0yMzMsMTcgKzIz
MywxMyBAQCBib29sIENhY2hlZFJhd1Jlc291cmNlOjpjYW5SZXVzZShjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIG5ld1JlcXVlc3QpIGNvbnN0CiAgICAgY29uc3QgSFRUUEhlYWRlck1hcCYgbmV3SGVh
ZGVycyA9IG5ld1JlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpOwogICAgIGNvbnN0IEhUVFBIZWFk
ZXJNYXAmIG9sZEhlYWRlcnMgPSBtX3Jlc291cmNlUmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCk7
CiAKLSAgICBIVFRQSGVhZGVyTWFwOjpjb25zdF9pdGVyYXRvciBlbmQgPSBuZXdIZWFkZXJzLmVu
ZCgpOwotICAgIGZvciAoSFRUUEhlYWRlck1hcDo6Y29uc3RfaXRlcmF0b3IgaSA9IG5ld0hlYWRl
cnMuYmVnaW4oKTsgaSAhPSBlbmQ7ICsraSkgewotICAgICAgICBBdG9taWNTdHJpbmcgaGVhZGVy
TmFtZSA9IGktPmtleTsKLSAgICAgICAgaWYgKCFzaG91bGRJZ25vcmVIZWFkZXJGb3JDYWNoZVJl
dXNlKGhlYWRlck5hbWUpICYmIGktPnZhbHVlICE9IG9sZEhlYWRlcnMuZ2V0KGhlYWRlck5hbWUp
KQorICAgIGZvciAoY29uc3QgYXV0byYgaGVhZGVyIDogbmV3SGVhZGVycykgeworICAgICAgICBp
ZiAoIXNob3VsZElnbm9yZUhlYWRlckZvckNhY2hlUmV1c2UoaGVhZGVyLmtleSkgJiYgaGVhZGVy
LnZhbHVlICE9IG9sZEhlYWRlcnMuZ2V0KGhlYWRlci5rZXkpKQogICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIH0KIAotICAgIGVuZCA9IG9sZEhlYWRlcnMuZW5kKCk7Ci0gICAgZm9yIChI
VFRQSGVhZGVyTWFwOjpjb25zdF9pdGVyYXRvciBpID0gb2xkSGVhZGVycy5iZWdpbigpOyBpICE9
IGVuZDsgKytpKSB7Ci0gICAgICAgIEF0b21pY1N0cmluZyBoZWFkZXJOYW1lID0gaS0+a2V5Owot
ICAgICAgICBpZiAoIXNob3VsZElnbm9yZUhlYWRlckZvckNhY2hlUmV1c2UoaGVhZGVyTmFtZSkg
JiYgaS0+dmFsdWUgIT0gbmV3SGVhZGVycy5nZXQoaGVhZGVyTmFtZSkpCisgICAgZm9yIChjb25z
dCBhdXRvJiBoZWFkZXIgOiBvbGRIZWFkZXJzKSB7CisgICAgICAgIGlmICghc2hvdWxkSWdub3Jl
SGVhZGVyRm9yQ2FjaGVSZXVzZShoZWFkZXIua2V5KSAmJiBoZWFkZXIudmFsdWUgIT0gbmV3SGVh
ZGVycy5nZXQoaGVhZGVyLmtleSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAppbmRl
eCA1ZjBiYzc2ZmFkN2FhMWY0OTM2OTVkYzcxOGI2NDdiNDhjYzU3MTU3Li5hNzE3M2NhYjM3NTRh
OGJlOGM4NGE1MDgxMDg0YjE3NDU3MDFkZWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAgLTcxNSwxNyArNzE1LDE1IEBAIHZvaWQgQ2Fj
aGVkUmVzb3VyY2U6OnVwZGF0ZVJlc3BvbnNlQWZ0ZXJSZXZhbGlkYXRpb24oY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYgdmFsCiAKICAgICAvLyBSRkMyNjE2IDEwLjMuNQogICAgIC8vIFVwZGF0ZSBj
YWNoZWQgaGVhZGVycyBmcm9tIHRoZSAzMDQgcmVzcG9uc2UKLSAgICBjb25zdCBIVFRQSGVhZGVy
TWFwJiBuZXdIZWFkZXJzID0gdmFsaWRhdGluZ1Jlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZHMoKTsK
LSAgICBIVFRQSGVhZGVyTWFwOjpjb25zdF9pdGVyYXRvciBlbmQgPSBuZXdIZWFkZXJzLmVuZCgp
OwotICAgIGZvciAoSFRUUEhlYWRlck1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBuZXdIZWFkZXJz
LmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgeworICAgIGZvciAoY29uc3QgYXV0byYgaGVhZGVy
IDogdmFsaWRhdGluZ1Jlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZHMoKSkgewogICAgICAgICAvLyBF
bnRpdHkgaGVhZGVycyBzaG91bGQgbm90IGJlIHNlbnQgYnkgc2VydmVycyB3aGVuIGdlbmVyYXRp
bmcgYSAzMDQKICAgICAgICAgLy8gcmVzcG9uc2U7IG1pc2NvbmZpZ3VyZWQgc2VydmVycyBzZW5k
IHRoZW0gYW55d2F5LiBXZSBzaG91bGRuJ3QgYWxsb3cKICAgICAgICAgLy8gc3VjaCBoZWFkZXJz
IHRvIHVwZGF0ZSB0aGUgb3JpZ2luYWwgcmVxdWVzdC4gV2UnbGwgYmFzZSB0aGlzIG9uIHRoZQog
ICAgICAgICAvLyBsaXN0IGRlZmluZWQgYnkgUkZDMjYxNiA3LjEsIHdpdGggYSBmZXcgYWRkaXRp
b25zIGZvciBleHRlbnNpb24gaGVhZGVycwogICAgICAgICAvLyB3ZSBjYXJlIGFib3V0LgotICAg
ICAgICBpZiAoIXNob3VsZFVwZGF0ZUhlYWRlckFmdGVyUmV2YWxpZGF0aW9uKGl0LT5rZXkpKQor
ICAgICAgICBpZiAoIXNob3VsZFVwZGF0ZUhlYWRlckFmdGVyUmV2YWxpZGF0aW9uKGhlYWRlci5r
ZXkpKQogICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIG1fcmVzcG9uc2Uuc2V0SFRUUEhl
YWRlckZpZWxkKGl0LT5rZXksIGl0LT52YWx1ZSk7CisgICAgICAgIG1fcmVzcG9uc2Uuc2V0SFRU
UEhlYWRlckZpZWxkKGhlYWRlci5rZXksIGhlYWRlci52YWx1ZSk7CiAgICAgfQogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBIZWFkZXJNYXAuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQSGVhZGVyTWFwLmNwcAppbmRl
eCBhNDU5M2I1ZTJlYzQzNjYwYzhiZTYxZGM4YWY4ZDRkM2YwZTI0M2QwLi5jNmQ1YzdkYjEzODJi
ZGZkM2I4NWEwZGZmNzY5MDkwMjQ3ZGRlZmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL0hUVFBIZWFkZXJNYXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvSFRUUEhlYWRlck1hcC5jcHAKQEAgLTQ4LDkgKzQ4LDggQEAgUGFzc093
blB0cjxDcm9zc1RocmVhZEhUVFBIZWFkZXJNYXBEYXRhPiBIVFRQSGVhZGVyTWFwOjpjb3B5RGF0
YSgpIGNvbnN0CiAgICAgT3duUHRyPENyb3NzVGhyZWFkSFRUUEhlYWRlck1hcERhdGE+IGRhdGEg
PSBhZG9wdFB0cihuZXcgQ3Jvc3NUaHJlYWRIVFRQSGVhZGVyTWFwRGF0YSgpKTsKICAgICBkYXRh
LT5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHNpemUoKSk7CiAKLSAgICBIVFRQSGVhZGVyTWFwOjpj
b25zdF9pdGVyYXRvciBlbmRfaXQgPSBlbmQoKTsKLSAgICBmb3IgKEhUVFBIZWFkZXJNYXA6OmNv
bnN0X2l0ZXJhdG9yIGl0ID0gYmVnaW4oKTsgaXQgIT0gZW5kX2l0OyArK2l0KQotICAgICAgICBk
YXRhLT51bmNoZWNrZWRBcHBlbmQoc3RkOjptYWtlX3BhaXIoaXQtPmtleS5zdHJpbmcoKS5pc29s
YXRlZENvcHkoKSwgaXQtPnZhbHVlLmlzb2xhdGVkQ29weSgpKSk7CisgICAgZm9yIChjb25zdCBh
dXRvJiBoZWFkZXIgOiAqdGhpcykKKyAgICAgICAgZGF0YS0+dW5jaGVja2VkQXBwZW5kKHN0ZDo6
bWFrZV9wYWlyKGhlYWRlci5rZXkuc3RyaW5nKCkuaXNvbGF0ZWRDb3B5KCksIGhlYWRlci52YWx1
ZS5pc29sYXRlZENvcHkoKSkpOwogCiAgICAgcmV0dXJuIGRhdGEucmVsZWFzZSgpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RC
YXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0
QmFzZS5jcHAKaW5kZXggYTk1NmJiOGMwMTVmNTEwN2RhMGIwZWFmZDNhM2YyYTZjNjM3MGIyOS4u
MzY5NjRlOGM0OTlhNmQ0MWU5MGJjODM2ZDUzMjY3Yjk0YjZkNGU4NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3Bw
CkBAIC00MTIsOSArNDEyLDggQEAgdm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjphZGRIVFRQSGVh
ZGVyRmllbGQoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBjb25zdCBTdHIKIAogdm9pZCBSZXNv
dXJjZVJlcXVlc3RCYXNlOjphZGRIVFRQSGVhZGVyRmllbGRzKGNvbnN0IEhUVFBIZWFkZXJNYXAm
IGhlYWRlckZpZWxkcykKIHsKLSAgICBIVFRQSGVhZGVyTWFwOjpjb25zdF9pdGVyYXRvciBlbmQg
PSBoZWFkZXJGaWVsZHMuZW5kKCk7Ci0gICAgZm9yIChIVFRQSGVhZGVyTWFwOjpjb25zdF9pdGVy
YXRvciBpdCA9IGhlYWRlckZpZWxkcy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCi0gICAgICAg
IGFkZEhUVFBIZWFkZXJGaWVsZChpdC0+a2V5LCBpdC0+dmFsdWUpOworICAgIGZvciAoY29uc3Qg
YXV0byYgaGVhZGVyIDogaGVhZGVyRmllbGRzKQorICAgICAgICBhZGRIVFRQSGVhZGVyRmllbGQo
aGVhZGVyLmtleSwgaGVhZGVyLnZhbHVlKTsKIH0KIAogYm9vbCBlcXVhbElnbm9yaW5nSGVhZGVy
RmllbGRzKGNvbnN0IFJlc291cmNlUmVxdWVzdEJhc2UmIGEsIGNvbnN0IFJlc291cmNlUmVxdWVz
dEJhc2UmIGIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nm
L1Jlc291cmNlUmVxdWVzdENGTmV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwCmluZGV4IGE4MWE5NWY0NzI4MzA2M2JkNDNl
YmRhYmM2NmI2MGU5ZDY2MjgxZmEuLjgxZDIwZTdlMWQ5ZGE5YzI2OThkYjlhYWJmNjgzNTZkNTli
NWNkZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVz
b3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwCkBAIC0xMzAsOCArMTMwLDggQEAgc3RhdGlj
IGlubGluZSB2b2lkIHNldEhlYWRlckZpZWxkcyhDRk11dGFibGVVUkxSZXF1ZXN0UmVmIHJlcXVl
c3QsIGNvbnN0IEhUVFBIZWEKICAgICAgICAgICAgIENGVVJMUmVxdWVzdFNldEhUVFBIZWFkZXJG
aWVsZFZhbHVlKHJlcXVlc3QsIG9sZEhlYWRlckZpZWxkTmFtZXNbaV0sIDApOwogICAgIH0KIAot
ICAgIGZvciAoSFRUUEhlYWRlck1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSByZXF1ZXN0SGVhZGVy
cy5iZWdpbigpLCBlbmQgPSByZXF1ZXN0SGVhZGVycy5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KQot
ICAgICAgICBDRlVSTFJlcXVlc3RTZXRIVFRQSGVhZGVyRmllbGRWYWx1ZShyZXF1ZXN0LCBpdC0+
a2V5LnN0cmluZygpLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIGl0LT52YWx1ZS5jcmVhdGVDRlN0
cmluZygpLmdldCgpKTsKKyAgICBmb3IgKGNvbnN0IGF1dG8mIGhlYWRlciA6IHJlcXVlc3RIZWFk
ZXJzKQorICAgICAgICBDRlVSTFJlcXVlc3RTZXRIVFRQSGVhZGVyRmllbGRWYWx1ZShyZXF1ZXN0
LCBoZWFkZXIua2V5LnN0cmluZygpLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIGhlYWRlci52YWx1
ZS5jcmVhdGVDRlN0cmluZygpLmdldCgpKTsKIH0KIAogdm9pZCBSZXNvdXJjZVJlcXVlc3Q6OmRv
VXBkYXRlUGxhdGZvcm1SZXF1ZXN0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVxdWVzdE1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVxdWVzdE1hYy5tbQppbmRleCA3NWQ4OTRmODk3
NzFlZjdhMzM5ZWE4MDg4OTYyNzBmYzBhN2EzODIxLi45MDFmYzIyMDMyMWRjMGZkMmZmNGYyODJj
YjEwNjU4MGQyMWQ2OWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL21hYy9SZXNvdXJjZVJlcXVlc3RNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXF1ZXN0TWFjLm1tCkBAIC0xODUsOSArMTg1LDggQEAg
dm9pZCBSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUGxhdGZvcm1SZXF1ZXN0KCkKICAgICBOU0Fy
cmF5ICpvbGRIZWFkZXJGaWVsZE5hbWVzID0gW1tuc1JlcXVlc3QgYWxsSFRUUEhlYWRlckZpZWxk
c10gYWxsS2V5c107CiAgICAgZm9yICh1bnNpZ25lZCBpID0gW29sZEhlYWRlckZpZWxkTmFtZXMg
Y291bnRdOyBpICE9IDA7IC0taSkKICAgICAgICAgW25zUmVxdWVzdCBzZXRWYWx1ZTpuaWwgZm9y
SFRUUEhlYWRlckZpZWxkOltvbGRIZWFkZXJGaWVsZE5hbWVzIG9iamVjdEF0SW5kZXg6aSAtIDFd
XTsKLSAgICBIVFRQSGVhZGVyTWFwOjpjb25zdF9pdGVyYXRvciBlbmQgPSBodHRwSGVhZGVyRmll
bGRzKCkuZW5kKCk7Ci0gICAgZm9yIChIVFRQSGVhZGVyTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9
IGh0dHBIZWFkZXJGaWVsZHMoKS5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCi0gICAgICAgIFtu
c1JlcXVlc3Qgc2V0VmFsdWU6aXQtPnZhbHVlIGZvckhUVFBIZWFkZXJGaWVsZDppdC0+a2V5XTsK
KyAgICBmb3IgKGNvbnN0IGF1dG8mIGhlYWRlciA6IGh0dHBIZWFkZXJGaWVsZHMoKSkKKyAgICAg
ICAgW25zUmVxdWVzdCBzZXRWYWx1ZTpoZWFkZXIudmFsdWUgZm9ySFRUUEhlYWRlckZpZWxkOmhl
YWRlci5rZXldOwogCiAgICAgTlNNdXRhYmxlQXJyYXkgKmVuY29kaW5nRmFsbGJhY2tzID0gW05T
TXV0YWJsZUFycmF5IGFycmF5XTsKICAgICB1bnNpZ25lZCBjb3VudCA9IG1fcmVzcG9uc2VDb250
ZW50RGlzcG9zaXRpb25FbmNvZGluZ0ZhbGxiYWNrQXJyYXkuc2l6ZSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9YTUxIdHRwUmVxdWVzdC5jcHAKaW5kZXggNmNhZDEwZTM4YWI1NmYyMDUwZjE1NGU2ZThjMDkz
Nzg4MTE1NGI2Yy4uNjJhMjczZTFiMmRlNzIzZGE5NmY2MjA5MzVlMzY2YWMwOWQ5OGI3YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC05OTUsMjQgKzk5NSwyNCBAQCBT
dHJpbmcgWE1MSHR0cFJlcXVlc3Q6OmdldEFsbFJlc3BvbnNlSGVhZGVycygpIGNvbnN0CiAKICAg
ICBIVFRQSGVhZGVyU2V0IGFjY2Vzc0NvbnRyb2xFeHBvc2VIZWFkZXJTZXQ7CiAgICAgcGFyc2VB
Y2Nlc3NDb250cm9sRXhwb3NlSGVhZGVyc0FsbG93TGlzdChtX3Jlc3BvbnNlLmh0dHBIZWFkZXJG
aWVsZCgiQWNjZXNzLUNvbnRyb2wtRXhwb3NlLUhlYWRlcnMiKSwgYWNjZXNzQ29udHJvbEV4cG9z
ZUhlYWRlclNldCk7Ci0gICAgSFRUUEhlYWRlck1hcDo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbV9y
ZXNwb25zZS5odHRwSGVhZGVyRmllbGRzKCkuZW5kKCk7Ci0gICAgZm9yIChIVFRQSGVhZGVyTWFw
Ojpjb25zdF9pdGVyYXRvciBpdCA9IG1fcmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkcygpLmJlZ2lu
KCk7IGl0IT0gZW5kOyArK2l0KSB7CisgICAgCisgICAgZm9yIChjb25zdCBhdXRvJiBoZWFkZXIg
OiBtX3Jlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZHMoKSkgewogICAgICAgICAvLyBIaWRlIFNldC1D
b29raWUgaGVhZGVyIGZpZWxkcyBmcm9tIHRoZSBYTUxIdHRwUmVxdWVzdCBjbGllbnQgZm9yIHRo
ZXNlIHJlYXNvbnM6CiAgICAgICAgIC8vICAgICAxKSBJZiB0aGUgY2xpZW50IGRpZCBoYXZlIGFj
Y2VzcyB0byB0aGUgZmllbGRzLCB0aGVuIGl0IGNvdWxkIHJlYWQgSFRUUC1vbmx5CiAgICAgICAg
IC8vICAgICAgICBjb29raWVzOyB0aG9zZSBjb29raWVzIGFyZSBzdXBwb3NlZCB0byBiZSBoaWRk
ZW4gZnJvbSBzY3JpcHRzLgogICAgICAgICAvLyAgICAgMikgVGhlcmUncyBubyBrbm93biBoYXJt
IGluIGhpZGluZyBTZXQtQ29va2llIGhlYWRlciBmaWVsZHMgZW50aXJlbHk7IHdlIGRvbid0CiAg
ICAgICAgIC8vICAgICAgICBrbm93IGFueSB3aWRlbHkgdXNlZCB0ZWNobmlxdWUgdGhhdCByZXF1
aXJlcyBhY2Nlc3MgdG8gdGhlbS4KICAgICAgICAgLy8gICAgIDMpIEZpcmVmb3ggaGFzIGltcGxl
bWVudGVkIHRoaXMgcG9saWN5LgotICAgICAgICBpZiAoaXNTZXRDb29raWVIZWFkZXIoaXQtPmtl
eSkgJiYgIXNlY3VyaXR5T3JpZ2luKCktPmNhbkxvYWRMb2NhbFJlc291cmNlcygpKQorICAgICAg
ICBpZiAoaXNTZXRDb29raWVIZWFkZXIoaGVhZGVyLmtleSkgJiYgIXNlY3VyaXR5T3JpZ2luKCkt
PmNhbkxvYWRMb2NhbFJlc291cmNlcygpKQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAg
ICAgaWYgKCFtX3NhbWVPcmlnaW5SZXF1ZXN0ICYmICFpc09uQWNjZXNzQ29udHJvbFJlc3BvbnNl
SGVhZGVyV2hpdGVsaXN0KGl0LT5rZXkpICYmICFhY2Nlc3NDb250cm9sRXhwb3NlSGVhZGVyU2V0
LmNvbnRhaW5zKGl0LT5rZXkpKQorICAgICAgICBpZiAoIW1fc2FtZU9yaWdpblJlcXVlc3QgJiYg
IWlzT25BY2Nlc3NDb250cm9sUmVzcG9uc2VIZWFkZXJXaGl0ZWxpc3QoaGVhZGVyLmtleSkgJiYg
IWFjY2Vzc0NvbnRyb2xFeHBvc2VIZWFkZXJTZXQuY29udGFpbnMoaGVhZGVyLmtleSkpCiAgICAg
ICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpdC0+a2V5
KTsKKyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaGVhZGVyLmtleSk7CiAgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKCc6Jyk7CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcg
Jyk7Ci0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGl0LT52YWx1ZSk7CisgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKGhlYWRlci52YWx1ZSk7CiAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKCdccicpOwogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnXG4nKTsKICAgICB9
Cg==
</data>
<flag name="review"
          id="246689"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>