<?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>7765</bug_id>
          
          <creation_ts>2006-03-14 09:14:41 -0800</creation_ts>
          <short_desc>hasAttribute always returns false for uppercase attribute names like &quot;STYLE&quot;</short_desc>
          <delta_ts>2019-02-06 09:02:31 -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>DOM</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>cdumez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>36296</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-03-14 09:14:41 -0800</bug_when>
    <thetext>This is especially important because of a major problem it causes in the Mail application.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>36297</commentid>
    <comment_count>1</comment_count>
      <attachid>7061</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-03-14 09:28:59 -0800</bug_when>
    <thetext>Created attachment 7061
patch with detailed change log and a layout test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>36298</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-03-14 09:29:33 -0800</bug_when>
    <thetext>&lt;rdar://problem/4474884&gt; hasAttribute always returns false for uppercase attribute names like &quot;STYLE&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>36300</commentid>
    <comment_count>3</comment_count>
      <attachid>7061</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-03-14 09:58:27 -0800</bug_when>
    <thetext>Comment on attachment 7061
patch with detailed change log and a layout test

The new layout test &quot;console&quot; is neat.

&quot;Did not raise an exception as expected&quot; sounds ambiguous to me. I would say, &quot;was expected to raise an exception but didn&apos;t&quot; instead.

Am I right that lowercasedName is only actually lower case in the HTML case? Maybe we should just call it something like nameCopy instead.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>36310</commentid>
    <comment_count>4</comment_count>
      <attachid>7061</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-03-14 11:38:03 -0800</bug_when>
    <thetext>Comment on attachment 7061
patch with detailed change log and a layout test

I find calling your local variable &quot;lowercasedNamed&quot; sorta odd, when half the time it&apos;s actually not lowercased.

You might consider calling it localName or name depending on which of those is already taken.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>36311</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-03-14 11:38:52 -0800</bug_when>
    <thetext>Oops, just call me &quot;ggaren2&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1502788</commentid>
    <comment_count>6</comment_count>
    <who name="Lucas Forschler">lforschler</who>
    <bug_when>2019-02-06 09:02:31 -0800</bug_when>
    <thetext>Mass moving XML DOM bugs to the &quot;DOM&quot; Component.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>7061</attachid>
            <date>2006-03-14 09:28:59 -0800</date>
            <delta_ts>2006-03-14 09:58:27 -0800</delta_ts>
            <desc>patch with detailed change log and a layout test</desc>
            <filename>UppercaseAttributePatch.txt</filename>
            <type>text/plain</type>
            <size>30796</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDEzMjc3KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDYtMDMtMTQgIERhcmluIEFkbGVyICA8ZGFy
aW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIC0gdGVzdCBmb3IgaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVn
LmNnaT9pZD03NzY1CisgICAgICAgICAgaGFzQXR0cmlidXRlIGFsd2F5cyByZXR1cm5zIGZhbHNl
IGZvciB1cHBlcmNhc2UgYXR0cmlidXRlIG5hbWVzIGxpa2UgIlNUWUxFIgorICAgICAgICAtIGFs
c28gaW5jaWRlbnRhbGx5IHRlc3RzIGdldEF0dHJpYnV0ZU5TIGFuZCBoYW5kbGluZyBvZiBudWxs
IG5hbWVzcGFjZSBwYXJhbWV0ZXJzCisKKyAgICAgICAgKiBmYXN0L2RvbS9FbGVtZW50L2F0dHJp
YnV0ZS11cHBlcmNhc2UuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRWxlbWVudC9h
dHRyaWJ1dGUtdXBwZXJjYXNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMDYtMDMtMTMgIEVy
aWMgU2VpZGVsICA8ZXNlaWRlbEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgZ2dh
cmVuICYgVGltSC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvYXR0cmlidXRl
LXVwcGVyY2FzZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9k
b20vRWxlbWVudC9hdHRyaWJ1dGUtdXBwZXJjYXNlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvYXR0cmlidXRlLXVwcGVyY2FzZS1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjYgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
d2hldGhlciBhdHRyaWJ1dGUgbmFtZXMgd2l0aCB1cHBlcmNhc2Ugd29yayBwcm9wZXJseSBpbiBI
VE1MIGRvY3VtZW50cy4KKworQWRkIGFuIGF0dHJpYnV0ZToKKworICAgIHNldEF0dHJpYnV0ZShh
dHRyX25hbWUpCisKK1RoZSBmb2xsb3dpbmcgc2hvdWxkIGJlIG5vbi1lbXB0eSwgdHJ1ZSwgb3Ig
bm9uLW51bGwuCisKKyAgICBnZXRBdHRyaWJ1dGUoYXR0cl9uYW1lKSA9IGF0dHJfdmFsdWUKKyAg
ICBoYXNBdHRyaWJ1dGUoYXR0cl9uYW1lKSA9IHRydWUKKyAgICBnZXRBdHRyaWJ1dGVOb2RlKGF0
dHJfbmFtZSkgPSBbb2JqZWN0IEF0dHJdCisgICAgYXR0cmlidXRlcy5nZXROYW1lZEl0ZW0oYXR0
cl9uYW1lKSA9IFtvYmplY3QgQXR0cl0KKworICAgIGdldEF0dHJpYnV0ZU5TKGF0dHJfbmFtZSkg
PSBhdHRyX3ZhbHVlCisgICAgaGFzQXR0cmlidXRlTlMoYXR0cl9uYW1lKSA9IHRydWUKKyAgICBn
ZXRBdHRyaWJ1dGVOb2RlTlMoYXR0cl9uYW1lKSA9IFtvYmplY3QgQXR0cl0KKyAgICBhdHRyaWJ1
dGVzLmdldE5hbWVkSXRlbU5TKGF0dHJfbmFtZSkgPSBbb2JqZWN0IEF0dHJdCisKKyAgICBnZXRB
dHRyaWJ1dGUoQVRUUl9OQU1FKSA9IGF0dHJfdmFsdWUKKyAgICBoYXNBdHRyaWJ1dGUoQVRUUl9O
QU1FKSA9IHRydWUKKyAgICBnZXRBdHRyaWJ1dGVOb2RlKEFUVFJfTkFNRSkgPSBbb2JqZWN0IEF0
dHJdCisgICAgYXR0cmlidXRlcy5nZXROYW1lZEl0ZW0oQVRUUl9OQU1FKSA9IFtvYmplY3QgQXR0
cl0KKworVGhlIGZvbGxvd2luZyBzaG91bGQgYmUgZW1wdHksIGZhbHNlLCBvciBudWxsLgorCisg
ICAgZ2V0QXR0cmlidXRlTlMoQVRUUl9OQU1FKSA9IAorICAgIGhhc0F0dHJpYnV0ZU5TKEFUVFJf
TkFNRSkgPSBmYWxzZQorICAgIGdldEF0dHJpYnV0ZU5vZGVOUyhBVFRSX05BTUUpID0gbnVsbAor
ICAgIGF0dHJpYnV0ZXMuZ2V0TmFtZWRJdGVtTlMoQVRUUl9OQU1FKSA9IG51bGwKKworVGhlIGZv
bGxvd2luZyBzaG91bGQgc3VjY2Vzc2Z1bGx5IHJlbW92ZSB0aGUgYXR0cmlidXRlLgorCisgICAg
c2V0QXR0cmlidXRlKGF0dHJfbmFtZSk7IHJlbW92ZUF0dHJpYnV0ZShhdHRyX25hbWUpCisgICAg
ICAgIGhhc0F0dHJpYnV0ZShhdHRyX25hbWUpID0gZmFsc2UKKyAgICBzZXRBdHRyaWJ1dGUoYXR0
cl9uYW1lKTsgcmVtb3ZlQXR0cmlidXRlTlMoYXR0cl9uYW1lKQorICAgICAgICBoYXNBdHRyaWJ1
dGUoYXR0cl9uYW1lKSA9IGZhbHNlCisgICAgc2V0QXR0cmlidXRlKGF0dHJfbmFtZSk7IGF0dHJp
YnV0ZXMucmVtb3ZlTmFtZWRJdGVtKGF0dHJfbmFtZSkKKyAgICAgICAgaGFzQXR0cmlidXRlKGF0
dHJfbmFtZSkgPSBmYWxzZQorICAgIHNldEF0dHJpYnV0ZShhdHRyX25hbWUpOyBhdHRyaWJ1dGVz
LnJlbW92ZU5hbWVkSXRlbU5TKG51bGwsIGF0dHJfbmFtZSkKKyAgICAgICAgaGFzQXR0cmlidXRl
KGF0dHJfbmFtZSkgPSBmYWxzZQorCisgICAgc2V0QXR0cmlidXRlKGF0dHJfbmFtZSk7IHJlbW92
ZUF0dHJpYnV0ZShBVFRSX05BTUUpCisgICAgICAgIGhhc0F0dHJpYnV0ZShhdHRyX25hbWUpID0g
ZmFsc2UKKyAgICBzZXRBdHRyaWJ1dGUoYXR0cl9uYW1lKTsgYXR0cmlidXRlcy5yZW1vdmVOYW1l
ZEl0ZW0oQVRUUl9OQU1FKQorICAgICAgICBoYXNBdHRyaWJ1dGUoYXR0cl9uYW1lKSA9IGZhbHNl
CisKK1RoZSBmb2xsb3dpbmcgc2hvdWxkIGZhaWwgdG8gcmVtb3ZlIHRoZSBhdHRyaWJ1dGUuCisK
KyAgICBzZXRBdHRyaWJ1dGUoYXR0cl9uYW1lKTsgcmVtb3ZlQXR0cmlidXRlTlMoQVRUUl9OQU1F
KQorICAgICAgICBoYXNBdHRyaWJ1dGUoYXR0cl9uYW1lKSA9IHRydWUKKworVGhlIGZvbGxvd2lu
ZyBzaG91bGQgZmFpbCB0byByZW1vdmUgdGhlIGF0dHJpYnV0ZSB3aXRoIGFuIGV4Y2VwdGlvbi4K
KworICAgIGF0dHJpYnV0ZXMucmVtb3ZlTmFtZWRJdGVtTlMoQVRUUl9OQU1FKSByYWlzZWQgYW4g
ZXhjZXB0aW9uIGFzIGV4cGVjdGVkCisgICAgICAgIGhhc0F0dHJpYnV0ZShhdHRyX25hbWUpID0g
dHJ1ZQorCitUaGUgZm9sbG93aW5nIHNob3VsZCBzZXQgYSBsb3dlcmNhc2UgYXR0cmlidXRlLCBz
byB0aGUgcmVzdWx0IHNob3VsZCBiZSB0cnVlLgorCisgICAgc2V0QXR0cmlidXRlTlMoYXR0cl9u
YW1lKQorICAgICAgICBoYXNBdHRyaWJ1dGUoYXR0cl9uYW1lKSA9IHRydWUKKworVGhlIGZvbGxv
d2luZyBzaG91bGQgc2V0IGFuIHVwcGVyY2FzZSBhdHRyaWJ1dGUsIHNvIHRoZSByZXN1bHQgc2hv
dWxkIGJlIGZhbHNlLgorCisgICAgc2V0QXR0cmlidXRlTlMoQVRUUl9OQU1FKQorICAgICAgICBo
YXNBdHRyaWJ1dGUoYXR0cl9uYW1lKSA9IGZhbHNlCisKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvYXR0cmlidXRlLXVwcGVyY2FzZS1leHBlY3RlZC50
eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpOYW1lOiBzdm46ZW9sLXN0eWxlCiAgICsgbmF0aXZlCgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9hdHRyaWJ1dGUtdXBwZXJjYXNlLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9hdHRyaWJ1dGUtdXBwZXJjYXNl
Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L2F0dHJp
YnV0ZS11cHBlcmNhc2UuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMTUgQEAKKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB3cml0ZShzdHIpIHsKKyAgICBwcmUgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpOworICAgIHRleHQgPSBkb2N1bWVudC5j
cmVhdGVUZXh0Tm9kZShzdHIgKyAnXG4nKTsKKyAgICBwcmUuYXBwZW5kQ2hpbGQodGV4dCk7Cit9
CisKK2Z1bmN0aW9uIHJ1blRlc3RzKCkgeworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAg
IGVsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXN0Jyk7CisgICAgZWxlbS5zZXRBdHRy
aWJ1dGUoJ2F0dHJfbmFtZScsICdhdHRyX3ZhbHVlJyk7CisgICAgd3JpdGUoIkFkZCBhbiBhdHRy
aWJ1dGU6Iik7CisgICAgd3JpdGUoIiIpOworICAgIHdyaXRlKCIgICAgc2V0QXR0cmlidXRlKGF0
dHJfbmFtZSkiKTsKKyAgICB3cml0ZSgiIik7CisgICAgd3JpdGUoIlRoZSBmb2xsb3dpbmcgc2hv
dWxkIGJlIG5vbi1lbXB0eSwgdHJ1ZSwgb3Igbm9uLW51bGwuIik7CisgICAgd3JpdGUoIiIpOwor
ICAgIHdyaXRlKCIgICAgZ2V0QXR0cmlidXRlKGF0dHJfbmFtZSkgPSAiICsgZWxlbS5nZXRBdHRy
aWJ1dGUoJ2F0dHJfbmFtZScpKTsKKyAgICB3cml0ZSgiICAgIGhhc0F0dHJpYnV0ZShhdHRyX25h
bWUpID0gIiArIGVsZW0uaGFzQXR0cmlidXRlKCdhdHRyX25hbWUnKSk7CisgICAgd3JpdGUoIiAg
ICBnZXRBdHRyaWJ1dGVOb2RlKGF0dHJfbmFtZSkgPSAiICsgZWxlbS5nZXRBdHRyaWJ1dGVOb2Rl
KCdhdHRyX25hbWUnKSk7CisgICAgd3JpdGUoIiAgICBhdHRyaWJ1dGVzLmdldE5hbWVkSXRlbShh
dHRyX25hbWUpID0gIiArIGVsZW0uYXR0cmlidXRlcy5nZXROYW1lZEl0ZW0oJ2F0dHJfbmFtZScp
KTsKKyAgICB3cml0ZSgiIik7CisgICAgd3JpdGUoIiAgICBnZXRBdHRyaWJ1dGVOUyhhdHRyX25h
bWUpID0gIiArIGVsZW0uZ2V0QXR0cmlidXRlTlMobnVsbCwgJ2F0dHJfbmFtZScpKTsKKyAgICB3
cml0ZSgiICAgIGhhc0F0dHJpYnV0ZU5TKGF0dHJfbmFtZSkgPSAiICsgZWxlbS5oYXNBdHRyaWJ1
dGVOUyhudWxsLCAnYXR0cl9uYW1lJykpOworICAgIHdyaXRlKCIgICAgZ2V0QXR0cmlidXRlTm9k
ZU5TKGF0dHJfbmFtZSkgPSAiICsgZWxlbS5nZXRBdHRyaWJ1dGVOb2RlTlMobnVsbCwgJ2F0dHJf
bmFtZScpKTsKKyAgICB3cml0ZSgiICAgIGF0dHJpYnV0ZXMuZ2V0TmFtZWRJdGVtTlMoYXR0cl9u
YW1lKSA9ICIgKyBlbGVtLmF0dHJpYnV0ZXMuZ2V0TmFtZWRJdGVtTlMobnVsbCwgJ2F0dHJfbmFt
ZScpKTsKKyAgICB3cml0ZSgiIik7CisgICAgd3JpdGUoIiAgICBnZXRBdHRyaWJ1dGUoQVRUUl9O
QU1FKSA9ICIgKyBlbGVtLmdldEF0dHJpYnV0ZSgnQVRUUl9OQU1FJykpOworICAgIHdyaXRlKCIg
ICAgaGFzQXR0cmlidXRlKEFUVFJfTkFNRSkgPSAiICsgZWxlbS5oYXNBdHRyaWJ1dGUoJ0FUVFJf
TkFNRScpKTsKKyAgICB3cml0ZSgiICAgIGdldEF0dHJpYnV0ZU5vZGUoQVRUUl9OQU1FKSA9ICIg
KyBlbGVtLmdldEF0dHJpYnV0ZU5vZGUoJ0FUVFJfTkFNRScpKTsKKyAgICB3cml0ZSgiICAgIGF0
dHJpYnV0ZXMuZ2V0TmFtZWRJdGVtKEFUVFJfTkFNRSkgPSAiICsgZWxlbS5hdHRyaWJ1dGVzLmdl
dE5hbWVkSXRlbSgnQVRUUl9OQU1FJykpOworICAgIHdyaXRlKCIiKTsKKyAgICB3cml0ZSgiVGhl
IGZvbGxvd2luZyBzaG91bGQgYmUgZW1wdHksIGZhbHNlLCBvciBudWxsLiIpOworICAgIHdyaXRl
KCIiKTsKKyAgICB3cml0ZSgiICAgIGdldEF0dHJpYnV0ZU5TKEFUVFJfTkFNRSkgPSAiICsgZWxl
bS5nZXRBdHRyaWJ1dGVOUyhudWxsLCAnQVRUUl9OQU1FJykpOworICAgIHdyaXRlKCIgICAgaGFz
QXR0cmlidXRlTlMoQVRUUl9OQU1FKSA9ICIgKyBlbGVtLmhhc0F0dHJpYnV0ZU5TKG51bGwsICdB
VFRSX05BTUUnKSk7CisgICAgd3JpdGUoIiAgICBnZXRBdHRyaWJ1dGVOb2RlTlMoQVRUUl9OQU1F
KSA9ICIgKyBlbGVtLmdldEF0dHJpYnV0ZU5vZGVOUyhudWxsLCAnQVRUUl9OQU1FJykpOworICAg
IHdyaXRlKCIgICAgYXR0cmlidXRlcy5nZXROYW1lZEl0ZW1OUyhBVFRSX05BTUUpID0gIiArIGVs
ZW0uYXR0cmlidXRlcy5nZXROYW1lZEl0ZW1OUyhudWxsLCAnQVRUUl9OQU1FJykpOworICAgIHdy
aXRlKCIiKTsKKyAgICB3cml0ZSgiVGhlIGZvbGxvd2luZyBzaG91bGQgc3VjY2Vzc2Z1bGx5IHJl
bW92ZSB0aGUgYXR0cmlidXRlLiIpOworICAgIHdyaXRlKCIiKTsKKyAgICBlbGVtLnNldEF0dHJp
YnV0ZSgnYXR0cl9uYW1lJywgJ2F0dHJfdmFsdWUnKTsKKyAgICBlbGVtLnJlbW92ZUF0dHJpYnV0
ZSgnYXR0cl9uYW1lJyk7CisgICAgd3JpdGUoIiAgICBzZXRBdHRyaWJ1dGUoYXR0cl9uYW1lKTsg
cmVtb3ZlQXR0cmlidXRlKGF0dHJfbmFtZSkiKQorICAgIHdyaXRlKCIgICAgICAgIGhhc0F0dHJp
YnV0ZShhdHRyX25hbWUpID0gIiArIGVsZW0uaGFzQXR0cmlidXRlKCdhdHRyX25hbWUnKSk7Cisg
ICAgZWxlbS5zZXRBdHRyaWJ1dGUoJ2F0dHJfbmFtZScsICdhdHRyX3ZhbHVlJyk7CisgICAgZWxl
bS5yZW1vdmVBdHRyaWJ1dGVOUyhudWxsLCAnYXR0cl9uYW1lJyk7CisgICAgd3JpdGUoIiAgICBz
ZXRBdHRyaWJ1dGUoYXR0cl9uYW1lKTsgcmVtb3ZlQXR0cmlidXRlTlMoYXR0cl9uYW1lKSIpCisg
ICAgd3JpdGUoIiAgICAgICAgaGFzQXR0cmlidXRlKGF0dHJfbmFtZSkgPSAiICsgZWxlbS5oYXNB
dHRyaWJ1dGUoJ2F0dHJfbmFtZScpKTsKKyAgICBlbGVtLnNldEF0dHJpYnV0ZSgnYXR0cl9uYW1l
JywgJ2F0dHJfdmFsdWUnKTsKKyAgICBlbGVtLmF0dHJpYnV0ZXMucmVtb3ZlTmFtZWRJdGVtKCdh
dHRyX25hbWUnKTsKKyAgICB3cml0ZSgiICAgIHNldEF0dHJpYnV0ZShhdHRyX25hbWUpOyBhdHRy
aWJ1dGVzLnJlbW92ZU5hbWVkSXRlbShhdHRyX25hbWUpIikKKyAgICB3cml0ZSgiICAgICAgICBo
YXNBdHRyaWJ1dGUoYXR0cl9uYW1lKSA9ICIgKyBlbGVtLmhhc0F0dHJpYnV0ZSgnYXR0cl9uYW1l
JykpOworICAgIGVsZW0uc2V0QXR0cmlidXRlKCdhdHRyX25hbWUnLCAnYXR0cl92YWx1ZScpOwor
ICAgIGVsZW0uYXR0cmlidXRlcy5yZW1vdmVOYW1lZEl0ZW1OUyhudWxsLCAnYXR0cl9uYW1lJyk7
CisgICAgd3JpdGUoIiAgICBzZXRBdHRyaWJ1dGUoYXR0cl9uYW1lKTsgYXR0cmlidXRlcy5yZW1v
dmVOYW1lZEl0ZW1OUyhudWxsLCBhdHRyX25hbWUpIikKKyAgICB3cml0ZSgiICAgICAgICBoYXNB
dHRyaWJ1dGUoYXR0cl9uYW1lKSA9ICIgKyBlbGVtLmhhc0F0dHJpYnV0ZSgnYXR0cl9uYW1lJykp
OworICAgIHdyaXRlKCIiKTsKKyAgICBlbGVtLnNldEF0dHJpYnV0ZSgnYXR0cl9uYW1lJywgJ2F0
dHJfdmFsdWUnKTsKKyAgICBlbGVtLnJlbW92ZUF0dHJpYnV0ZSgnQVRUUl9OQU1FJyk7CisgICAg
d3JpdGUoIiAgICBzZXRBdHRyaWJ1dGUoYXR0cl9uYW1lKTsgcmVtb3ZlQXR0cmlidXRlKEFUVFJf
TkFNRSkiKQorICAgIHdyaXRlKCIgICAgICAgIGhhc0F0dHJpYnV0ZShhdHRyX25hbWUpID0gIiAr
IGVsZW0uaGFzQXR0cmlidXRlKCdhdHRyX25hbWUnKSk7CisgICAgZWxlbS5zZXRBdHRyaWJ1dGUo
J2F0dHJfbmFtZScsICdhdHRyX3ZhbHVlJyk7CisgICAgZWxlbS5hdHRyaWJ1dGVzLnJlbW92ZU5h
bWVkSXRlbSgnQVRUUl9OQU1FJyk7CisgICAgd3JpdGUoIiAgICBzZXRBdHRyaWJ1dGUoYXR0cl9u
YW1lKTsgYXR0cmlidXRlcy5yZW1vdmVOYW1lZEl0ZW0oQVRUUl9OQU1FKSIpCisgICAgd3JpdGUo
IiAgICAgICAgaGFzQXR0cmlidXRlKGF0dHJfbmFtZSkgPSAiICsgZWxlbS5oYXNBdHRyaWJ1dGUo
J2F0dHJfbmFtZScpKTsKKyAgICB3cml0ZSgiIik7CisgICAgd3JpdGUoIlRoZSBmb2xsb3dpbmcg
c2hvdWxkIGZhaWwgdG8gcmVtb3ZlIHRoZSBhdHRyaWJ1dGUuIik7CisgICAgd3JpdGUoIiIpOwor
ICAgIGVsZW0uc2V0QXR0cmlidXRlKCdhdHRyX25hbWUnLCAnYXR0cl92YWx1ZScpOworICAgIGVs
ZW0ucmVtb3ZlQXR0cmlidXRlTlMobnVsbCwgJ0FUVFJfTkFNRScpOworICAgIHdyaXRlKCIgICAg
c2V0QXR0cmlidXRlKGF0dHJfbmFtZSk7IHJlbW92ZUF0dHJpYnV0ZU5TKEFUVFJfTkFNRSkiKQor
ICAgIHdyaXRlKCIgICAgICAgIGhhc0F0dHJpYnV0ZShhdHRyX25hbWUpID0gIiArIGVsZW0uaGFz
QXR0cmlidXRlKCdhdHRyX25hbWUnKSk7CisgICAgd3JpdGUoIiIpOworICAgIHdyaXRlKCJUaGUg
Zm9sbG93aW5nIHNob3VsZCBmYWlsIHRvIHJlbW92ZSB0aGUgYXR0cmlidXRlIHdpdGggYW4gZXhj
ZXB0aW9uLiIpOworICAgIHdyaXRlKCIiKTsKKyAgICBlbGVtLnNldEF0dHJpYnV0ZSgnYXR0cl9u
YW1lJywgJ2F0dHJfdmFsdWUnKTsKKyAgICB0cnkgeworICAgICAgICBlbGVtLmF0dHJpYnV0ZXMu
cmVtb3ZlTmFtZWRJdGVtTlMobnVsbCwgJ0FUVFJfTkFNRScpOworICAgICAgICB3cml0ZSgiICAg
IGF0dHJpYnV0ZXMucmVtb3ZlTmFtZWRJdGVtTlMoQVRUUl9OQU1FKSBkaWQgbm90IHJhaXNlIGFu
IGV4Y2VwdGlvbiBhcyBleHBlY3RlZCIpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgd3Jp
dGUoIiAgICBhdHRyaWJ1dGVzLnJlbW92ZU5hbWVkSXRlbU5TKEFUVFJfTkFNRSkgcmFpc2VkIGFu
IGV4Y2VwdGlvbiBhcyBleHBlY3RlZCIpOworICAgIH0KKyAgICB3cml0ZSgiICAgICAgICBoYXNB
dHRyaWJ1dGUoYXR0cl9uYW1lKSA9ICIgKyBlbGVtLmhhc0F0dHJpYnV0ZSgnYXR0cl9uYW1lJykp
OworICAgIHdyaXRlKCIiKTsKKyAgICB3cml0ZSgiVGhlIGZvbGxvd2luZyBzaG91bGQgc2V0IGEg
bG93ZXJjYXNlIGF0dHJpYnV0ZSwgc28gdGhlIHJlc3VsdCBzaG91bGQgYmUgdHJ1ZS4iKTsKKyAg
ICB3cml0ZSgiIik7CisgICAgZWxlbS5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnYXR0cl9uYW1lJywg
J2F0dHJfdmFsdWUnKTsKKyAgICB3cml0ZSgiICAgIHNldEF0dHJpYnV0ZU5TKGF0dHJfbmFtZSki
KTsKKyAgICB3cml0ZSgiICAgICAgICBoYXNBdHRyaWJ1dGUoYXR0cl9uYW1lKSA9ICIgKyBlbGVt
Lmhhc0F0dHJpYnV0ZSgnYXR0cl9uYW1lJykpOworICAgIGVsZW0ucmVtb3ZlQXR0cmlidXRlTlMo
bnVsbCwgJ2F0dHJfbmFtZScpOworICAgIHdyaXRlKCIiKTsKKyAgICB3cml0ZSgiVGhlIGZvbGxv
d2luZyBzaG91bGQgc2V0IGFuIHVwcGVyY2FzZSBhdHRyaWJ1dGUsIHNvIHRoZSByZXN1bHQgc2hv
dWxkIGJlIGZhbHNlLiIpOworICAgIHdyaXRlKCIiKTsKKyAgICBlbGVtLnNldEF0dHJpYnV0ZU5T
KG51bGwsICdBVFRSX05BTUUnLCAnYXR0cl92YWx1ZScpOworICAgIHdyaXRlKCIgICAgc2V0QXR0
cmlidXRlTlMoQVRUUl9OQU1FKSIpOworICAgIHdyaXRlKCIgICAgICAgIGhhc0F0dHJpYnV0ZShh
dHRyX25hbWUpID0gIiArIGVsZW0uaGFzQXR0cmlidXRlKCdhdHRyX25hbWUnKSk7CisgICAgZWxl
bS5yZW1vdmVBdHRyaWJ1dGVOUyhudWxsLCAnQVRUUl9OQU1FJyk7Cit9CisKKzwvc2NyaXB0Pgor
PC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3RzKCk7Ij4KKzxwcmUgaWQ9ImNvbnNvbGUi
PlRoaXMgdGVzdCBjaGVja3Mgd2hldGhlciBhdHRyaWJ1dGUgbmFtZXMgd2l0aCB1cHBlcmNhc2Ug
d29yayBwcm9wZXJseSBpbiBIVE1MIGRvY3VtZW50cy4KKworPC9wcmU+Cis8L2JvZHk+CisKKzwv
aHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQv
YXR0cmlidXRlLXVwcGVyY2FzZS5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQog
ICArIHRleHQvaHRtbApOYW1lOiBzdm46ZW9sLXN0eWxlCiAgICsgbmF0aXZlCgpJbmRleDogV2Vi
Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9u
IDEzMjg3KQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw1
MiBAQAorMjAwNi0wMy0xNCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBmaXggaHR0cDovL2J1
Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD03NzY1CisgICAgICAgICAgaGFz
QXR0cmlidXRlIGFsd2F5cyByZXR1cm5zIGZhbHNlIGZvciB1cHBlcmNhc2UgYXR0cmlidXRlIG5h
bWVzIGxpa2UgIlNUWUxFIgorICAgICAgICAtIHJlLWFkZCBtaXNzaW5nIEphdmFTY3JpcHQgYmlu
ZGluZyBmb3IgZ2V0QXR0cmlidXRlTlMKKyAgICAgICAgLSBmaXhlZCBoYW5kbGluZyBvZiBudWxs
IG5hbWVzcGFjZSBwYXJhbWV0ZXJzIGluIGdldEF0dHJpYnV0ZU5TIGFuZCBmcmllbmRzCisKKyAg
ICAgICAgVGVzdDogZmFzdC9kb20vRWxlbWVudC9hdHRyaWJ1dGUtdXBwZXJjYXNlLmh0bWwKKwor
ICAgICAgICBUbyBtYXRjaCBHZWNrbydzIGJlaGF2aW9yLCB0aGUgbWFnaWMgImxvd2VyY2FzaW5n
IiBvZiBhbGwgYXR0cmlidXRlIG5hbWVzCisgICAgICAgIGlzIG9ubHkgZG9uZSB3aGVuIGNhbGxp
bmcgRE9NIExldmVsIDEgZnVuY3Rpb25zIHRoYXQgbGFjayBhbiBOUyBzdWZmaXguCisgICAgICAg
IFRoZSBmdW5jdGlvbnMgd2l0aCBhbiBOUyBzdWZmaXggYXJlIGNhc2Ugc2Vuc2l0aXZlLCBldmVu
IGluIEhUTUwgZG9jdW1lbnRzLgorCisgICAgICAgICogZG9tL05hbWVkTm9kZU1hcEltcGwuaDog
Q2hhbmdlZCBnZXROYW1lZEl0ZW0gYW5kIHJlbW92ZU5hbWVkSXRlbSB0byBiZSBwdXJlIHZpcnR1
YWwKKyAgICAgICAgZnVuY3Rpb25zIGluc3RlYWQgb2YgY2FsbGluZyB0aHJvdWdoIHRvIGdldE5h
bWVkSXRlbU5TIGFuZCByZW1vdmVOYW1lZEl0ZW1OUy4KKworICAgICAgICAqIGRvbS9kb21fZWxl
bWVudGltcGwuaDogRWxpbWluYXRlZCBpbmxpbmUgdmVyc2lvbnMgb2Ygbm9uLU5TIGZ1bmN0aW9u
cyB0aGF0IGNhbGxlZAorICAgICAgICB0aGUgTlMgZnVuY3Rpb25zLiBUaGV5IGNhbid0IHdvcmsg
dGhhdCB3YXkgYW55IG1vcmUgc2luY2UgdGhlIGxvd2VyY2FzaW5nIGJlaGF2aW9yCisgICAgICAg
IGlzIGRpZmZlcmVudC4KKyAgICAgICAgKiBkb20vZG9tX2VsZW1lbnRpbXBsLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkVsZW1lbnRJbXBsOjpnZXRBdHRyaWJ1dGUpOiBBZGRlZC4gTG93ZXJjYXNl
cyB0aGUgbmFtZSBpZiB0aGUgZG9jdW1lbnQKKyAgICAgICAgaXMgYW4gSFRNTCBkb2N1bWVudCwg
YW5kIHRoZW4gY2FsbHMgdGhyb3VnaCB0byB0aGUgcXVhbGlmaWVkIG5hbWUgdmVyc2lvbi4gUmVt
b3ZlZAorICAgICAgICB0aGUgbnVsbCBjaGVjayBzaW5jZSBnZXREb2N1bWVudCBpcyBndWFyYW50
ZWVkIHRvIG5ldmVyIHJldHVybiAwIG5vdyB0aGF0IG5vZGVzCisgICAgICAgIGhvbGQgYSByZWZl
cmVuY2UgdG8gdGhlaXIgZG9jdW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50SW1wbDo6
Z2V0QXR0cmlidXRlTlMpOiBSZW1vdmVkIHRoZSBsb3dlcmNhc2luZyBjb2RlLgorICAgICAgICAo
V2ViQ29yZTo6RWxlbWVudEltcGw6OnNldEF0dHJpYnV0ZSk6IE1vcmUgb2YgdGhlIHNhbWUuCisg
ICAgICAgIChXZWJDb3JlOjpFbGVtZW50SW1wbDo6c2V0QXR0cmlidXRlTlMpOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnRJbXBsOjpyZW1vdmVBdHRyaWJ1dGUpOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnRJbXBsOjpyZW1vdmVBdHRyaWJ1dGVOUyk6IERpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6RWxlbWVudEltcGw6OmdldEF0dHJpYnV0ZU5vZGUpOiBEaXR0by4K
KyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRJbXBsOjpnZXRBdHRyaWJ1dGVOb2RlTlMpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRJbXBsOjpoYXNBdHRyaWJ1dGUpOiBEaXR0by4K
KyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRJbXBsOjpoYXNBdHRyaWJ1dGVOUyk6IERpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6TmFtZWRBdHRyTWFwSW1wbDo6Z2V0TmFtZWRJdGVtKTogRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjpOYW1lZEF0dHJNYXBJbXBsOjpnZXROYW1lZEl0ZW1OUyk6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6TmFtZWRBdHRyTWFwSW1wbDo6cmVtb3ZlTmFtZWRJdGVt
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpOYW1lZEF0dHJNYXBJbXBsOjpyZW1vdmVOYW1l
ZEl0ZW1OUyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVkRWxlbWVudEltcGw6OnBh
cnNlTWFwcGVkQXR0cmlidXRlKTogUmVtb3ZlZCBhbm90aGVyIHVubmVlZGVkIG51bGwKKyAgICAg
ICAgY2hlY2sgbGlrZSB0aGUgb25lIG1lbnRpb25lZCBhYm92ZS4KKworICAgICAgICAqIGRvbS9F
bGVtZW50LmlkbDogU2V0IENvbnZlcnROdWxsVG9OdWxsU3RyaW5nIGZvciBhbGwgdGhlIG5hbWVz
cGFjZVVSSQorICAgICAgICBwYXJhbWV0ZXJzLCBzaW5jZSB3ZSBkb24ndCB3YW50IG51bGwgdG8g
dHVybiBpbnRvICJudWxsIi4gQWRkZWQgYSBzZW1pY29sb24KKyAgICAgICAgdG8gdGhlIGVuZCBv
ZiB0aGUgaGFzQXR0cmlidXRlTlMgbGluZSAtLSB3YXMgY2F1c2luZyB0aGUgbmV4dCBkZWNsYXJh
dGlvbiB0bworICAgICAgICBiZSBlYXRlbiB1cCAoc28gZ2V0QXR0cmlidXRlTlMgd2FzIGNvbXBs
ZXRlbHkgYnJva2VuKS4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQ29yZS5jcHA6IFRv
dWNoZWQgc28gdGhhdCB0aGUgY2hhbmdlcyBhYm92ZSB3aWxsIHRha2UgZWZmZWN0LgorCiAyMDA2
LTAzLTE0ICBEYXZpZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggZm9y
IGJ1ZyA3MjU5LCBvcGFjaXR5IHBlcmZvcm1zIGJhZGx5LgpJbmRleDogV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTUNvcmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01Db3JlLmNwcAkocmV2aXNpb24gMTMyNzcpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
Q29yZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAKLS8vIFRoZSBmaWxlcyBuYW1lZCBiZWxvdyBhcmUgZ2VuZXJhdGVkIGJ5IGEgc2NyaXB0
LgorLy8gVGhlIGZpbGVzIGJlbG93IGFyZSBnZW5lcmF0ZWQgYnkgYSBzY3JpcHQuCiAKICNpbmNs
dWRlICJKU0F0dHIuY3BwIgogI2luY2x1ZGUgIkpTQ2hhcmFjdGVyRGF0YS5jcHAiCkluZGV4OiBX
ZWJDb3JlL2RvbS9FbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9FbGVtZW50
LmlkbAkocmV2aXNpb24gMTMyNzcpCisrKyBXZWJDb3JlL2RvbS9FbGVtZW50LmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjEsNiArMjEsOCBAQAogCiAgICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9
S0pTOjpET01FbGVtZW50XSBFbGVtZW50IDogTm9kZSB7CiAKKyAgICAgICAgLy8gRE9NIExldmVs
IDEKKwogICAgICAgICBOb2RlTGlzdCBnZXRFbGVtZW50c0J5VGFnTmFtZShpbiBET01TdHJpbmcg
bmFtZSk7CiAKICAgICAgICAgLy8gQ29udmVydE51bGxTdHJpbmdUbz1OdWxsIHNob3VsZCBiZSB1
c2VkIGhlcmUsIHNpbmNlIGlmIHRoZSBhdHRyaWJ1dGUgaXNuJ3QgcHJlc2VudCBhdCBhbGwsIHlv
dSBzaG91bGQKQEAgLTQyLDE2ICs0NCwxNyBAQAogICAgICAgICBBdHRyIHJlbW92ZUF0dHJpYnV0
ZU5vZGUoaW4gQXR0ciBvbGRBdHRyKQogICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7
ICAgICAgICAgICAgICAgICAgICAKIAotICAgICAgICAvLyBET00yCi0gICAgICAgIE5vZGVMaXN0
IGdldEVsZW1lbnRzQnlUYWdOYW1lTlMoaW4gRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwgCisgICAg
ICAgIC8vIERPTSBMZXZlbCAyCisKKyAgICAgICAgTm9kZUxpc3QgZ2V0RWxlbWVudHNCeVRhZ05h
bWVOUyhpbiBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBuYW1lc3BhY2VVUkks
IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIERPTVN0cmluZyBs
b2NhbE5hbWUpOwogCiAgICAgICAgIGJvb2xlYW4gaGFzQXR0cmlidXRlKGluIERPTVN0cmluZyBu
YW1lKTsKIAotICAgICAgICBib29sZWFuIGhhc0F0dHJpYnV0ZU5TKGluIERPTVN0cmluZyBuYW1l
c3BhY2VVUkksIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIERPTVN0cmluZyBs
b2NhbE5hbWUpCisgICAgICAgIGJvb2xlYW4gaGFzQXR0cmlidXRlTlMoaW4gW0NvbnZlcnROdWxs
VG9OdWxsU3RyaW5nXSBET01TdHJpbmcgbmFtZXNwYWNlVVJJLCAKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbiBET01TdHJpbmcgbG9jYWxOYW1lKTsKIAotICAgICAgICBET01TdHJp
bmcgZ2V0QXR0cmlidXRlTlMoaW4gRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwgCisgICAgICAgIERP
TVN0cmluZyBnZXRBdHRyaWJ1dGVOUyhpbiBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0
cmluZyBuYW1lc3BhY2VVUkksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
RE9NU3RyaW5nIGxvY2FsTmFtZSk7CiAKICAgICAgICAgdm9pZCBzZXRBdHRyaWJ1dGVOUyhpbiBb
Q29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBuYW1lc3BhY2VVUkksIApAQCAtNTks
MTcgKzYyLDE4IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRE9NU3RyaW5nIHZh
bHVlKQogICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKLSAgICAgICAgdm9pZCBy
ZW1vdmVBdHRyaWJ1dGVOUyhpbiBET01TdHJpbmcgbmFtZXNwYWNlVVJJLCAKKyAgICAgICAgdm9p
ZCByZW1vdmVBdHRyaWJ1dGVOUyhpbiBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmlu
ZyBuYW1lc3BhY2VVUkksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIERPTVN0
cmluZyBsb2NhbE5hbWUpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAotICAg
ICAgICBBdHRyIGdldEF0dHJpYnV0ZU5vZGVOUyhpbiBET01TdHJpbmcgbmFtZXNwYWNlVVJJLCAK
KyAgICAgICAgQXR0ciBnZXRBdHRyaWJ1dGVOb2RlTlMoaW4gW0NvbnZlcnROdWxsVG9OdWxsU3Ry
aW5nXSBET01TdHJpbmcgbmFtZXNwYWNlVVJJLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW4gRE9NU3RyaW5nIGxvY2FsTmFtZSk7CiAKICAgICAgICAgQXR0ciBzZXRBdHRyaWJ1
dGVOb2RlTlMoaW4gQXR0ciBuZXdBdHRyKQogICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlv
bik7CiAKLSAgICAgICAgLy8gRXh0ZW5zaW9ucworICAgICAgICAvLyBleHRlbnNpb25zCisKICAg
ICAgICAgdm9pZCBmb2N1cygpOwogICAgICAgICB2b2lkIGJsdXIoKTsKIApJbmRleDogV2ViQ29y
ZS9kb20vTmFtZWROb2RlTWFwSW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL05hbWVk
Tm9kZU1hcEltcGwuaAkocmV2aXNpb24gMTMyNzcpCisrKyBXZWJDb3JlL2RvbS9OYW1lZE5vZGVN
YXBJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTQsNyArNCw3IEBACiAgKiBDb3B5cmlnaHQgKEMp
IDE5OTkgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKICAqICAgICAgICAgICAoQykgMTk5OSBB
bnR0aSBLb2l2aXN0byAoa29pdmlzdG9Aa2RlLm9yZykKICAqICAgICAgICAgICAoQykgMjAwMSBE
aXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwNCBBcHBs
ZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA2IEFwcGxlIENvbXB1
dGVyLCBJbmMuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI3LDM1ICsyNywzNCBAQAogI2RlZmlu
ZSBET01fTmFtZWROb2RlTWFwSW1wbF9oCiAKICNpbmNsdWRlICJTaGFyZWQuaCIKLSNpbmNsdWRl
ICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPGt4bWxjb3JlL1Bhc3NSZWZQdHIuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBOb2RlSW1wbDsKIGNsYXNzIFF1YWxpZmllZE5h
bWU7CitjbGFzcyBTdHJpbmc7CiAKIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKIC8vIEdl
bmVyaWMgTmFtZWROb2RlTWFwIGludGVyZmFjZQogLy8gT3RoZXIgY2xhc3NlcyBpbXBsZW1lbnQg
dGhpcyBmb3IgbW9yZSBzcGVjaWZpYyBzaXR1YXRpb25zIGUuZy4gYXR0cmlidXRlcyBvZiBhbiBl
bGVtZW50LgotY2xhc3MgTmFtZWROb2RlTWFwSW1wbCA6IHB1YmxpYyBTaGFyZWQ8TmFtZWROb2Rl
TWFwSW1wbD4KLXsKK2NsYXNzIE5hbWVkTm9kZU1hcEltcGwgOiBwdWJsaWMgU2hhcmVkPE5hbWVk
Tm9kZU1hcEltcGw+IHsKIHB1YmxpYzoKICAgICBOYW1lZE5vZGVNYXBJbXBsKCkgeyB9CiAgICAg
dmlydHVhbCB+TmFtZWROb2RlTWFwSW1wbCgpIHsgfQogCi0gICAgUGFzc1JlZlB0cjxOb2RlSW1w
bD4gZ2V0TmFtZWRJdGVtKGNvbnN0IERPTVN0cmluZyYgbmFtZSkgY29uc3QgeyByZXR1cm4gZ2V0
TmFtZWRJdGVtTlMoRE9NU3RyaW5nKCksIG5hbWUpOyB9Ci0gICAgUGFzc1JlZlB0cjxOb2RlSW1w
bD4gcmVtb3ZlTmFtZWRJdGVtKGNvbnN0IERPTVN0cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYg
ZWMpIHsgcmV0dXJuIHJlbW92ZU5hbWVkSXRlbU5TKERPTVN0cmluZygpLCBuYW1lLCBlYyk7IH0K
KyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Tm9kZUltcGw+IGdldE5hbWVkSXRlbShjb25zdCBTdHJp
bmcmIG5hbWUpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Tm9kZUltcGw+IHJl
bW92ZU5hbWVkSXRlbShjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlvbkNvZGUmKSA9IDA7CiAK
LSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Tm9kZUltcGw+IGdldE5hbWVkSXRlbU5TKGNvbnN0IERP
TVN0cmluZyAmbmFtZXNwYWNlVVJJLCBjb25zdCBET01TdHJpbmcgJmxvY2FsTmFtZSkgY29uc3Qg
PSAwOworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxOb2RlSW1wbD4gZ2V0TmFtZWRJdGVtTlMoY29u
c3QgU3RyaW5nJiBuYW1lc3BhY2VVUkksIGNvbnN0IFN0cmluZyYgbG9jYWxOYW1lKSBjb25zdCA9
IDA7CiAgICAgUGFzc1JlZlB0cjxOb2RlSW1wbD4gc2V0TmFtZWRJdGVtTlMoTm9kZUltcGwqIGFy
ZywgRXhjZXB0aW9uQ29kZSYgZWMpIHsgcmV0dXJuIHNldE5hbWVkSXRlbShhcmcsIGVjKTsgfQog
ICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxOb2RlSW1wbD4gcmVtb3ZlTmFtZWRJdGVtTlMoY29uc3Qg
U3RyaW5nJiBuYW1lc3BhY2VVUkksIGNvbnN0IFN0cmluZyYgbG9jYWxOYW1lLCBFeGNlcHRpb25D
b2RlJikgPSAwOwogCiAgICAgLy8gRE9NIG1ldGhvZHMgJiBhdHRyaWJ1dGVzIGZvciBOYW1lZE5v
ZGVNYXAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Tm9kZUltcGw+IGdldE5hbWVkSXRlbShjb25z
dCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgUGFzc1Jl
ZlB0cjxOb2RlSW1wbD4gcmVtb3ZlTmFtZWRJdGVtIChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRy
TmFtZSwgRXhjZXB0aW9uQ29kZSYpID0gMDsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Tm9kZUlt
cGw+IHNldE5hbWVkSXRlbSAoTm9kZUltcGwqIGFyZywgRXhjZXB0aW9uQ29kZSYpID0gMDsKKyAg
ICB2aXJ0dWFsIFBhc3NSZWZQdHI8Tm9kZUltcGw+IHJlbW92ZU5hbWVkSXRlbShjb25zdCBRdWFs
aWZpZWROYW1lJiBhdHRyTmFtZSwgRXhjZXB0aW9uQ29kZSYpID0gMDsKKyAgICB2aXJ0dWFsIFBh
c3NSZWZQdHI8Tm9kZUltcGw+IHNldE5hbWVkSXRlbShOb2RlSW1wbCosIEV4Y2VwdGlvbkNvZGUm
KSA9IDA7CiAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Tm9kZUltcGw+IGl0ZW0odW5zaWduZWQg
aW5kZXgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0ID0g
MDsKSW5kZXg6IFdlYkNvcmUvZG9tL2RvbV9lbGVtZW50aW1wbC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9kb20vZG9tX2VsZW1lbnRpbXBsLmNwcAkocmV2aXNpb24gMTMyNzcpCisrKyBXZWJD
b3JlL2RvbS9kb21fZWxlbWVudGltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zODIsMjggKzM4
MiwyOSBAQAogICAgIH0KIH0KIAotY29uc3QgQXRvbWljU3RyaW5nJiBFbGVtZW50SW1wbDo6Z2V0
QXR0cmlidXRlTlMoY29uc3QgRE9NU3RyaW5nICZuYW1lc3BhY2VVUkksCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBET01TdHJpbmcgJmxvY2Fs
TmFtZSkgY29uc3QKK2NvbnN0IEF0b21pY1N0cmluZyYgRWxlbWVudEltcGw6OmdldEF0dHJpYnV0
ZShjb25zdCBTdHJpbmcmIG5hbWUpIGNvbnN0CiB7Ci0gICAgRE9NU3RyaW5nIGxuKGxvY2FsTmFt
ZSk7Ci0gICAgaWYgKGdldERvY3VtZW50KCkgJiYgZ2V0RG9jdW1lbnQoKS0+aXNIVE1MRG9jdW1l
bnQoKSkKLSAgICAgICAgbG4gPSBsb2NhbE5hbWUubG93ZXIoKTsKLSAgICBRdWFsaWZpZWROYW1l
IG5hbWUobnVsbEF0b20sIGxuLmltcGwoKSwgbmFtZXNwYWNlVVJJLmltcGwoKSk7Ci0gICAgcmV0
dXJuIGdldEF0dHJpYnV0ZShuYW1lKTsKKyAgICBTdHJpbmcgbG93ZXJjYXNlZE5hbWUobmFtZSk7
CisgICAgaWYgKGdldERvY3VtZW50KCktPmlzSFRNTERvY3VtZW50KCkpCisgICAgICAgIGxvd2Vy
Y2FzZWROYW1lID0gbmFtZS5sb3dlcigpOworICAgIHJldHVybiBnZXRBdHRyaWJ1dGUoUXVhbGlm
aWVkTmFtZShudWxsQXRvbSwgbG93ZXJjYXNlZE5hbWUuaW1wbCgpLCBudWxsQXRvbSkpOwogfQog
Citjb25zdCBBdG9taWNTdHJpbmcmIEVsZW1lbnRJbXBsOjpnZXRBdHRyaWJ1dGVOUyhjb25zdCBT
dHJpbmcmIG5hbWVzcGFjZVVSSSwgY29uc3QgU3RyaW5nJiBsb2NhbE5hbWUpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIGdldEF0dHJpYnV0ZShRdWFsaWZpZWROYW1lKG51bGxBdG9tLCBsb2NhbE5hbWUu
aW1wbCgpLCBuYW1lc3BhY2VVUkkuaW1wbCgpKSk7Cit9CisKIHZvaWQgRWxlbWVudEltcGw6OnNl
dEF0dHJpYnV0ZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQogewotICAgIERPTVN0cmluZyBsbihuYW1lKTsKLSAgICBpZiAoZ2V0RG9j
dW1lbnQoKSAmJiBnZXREb2N1bWVudCgpLT5pc0hUTUxEb2N1bWVudCgpKQotICAgICAgICBsbiA9
IG5hbWUubG93ZXIoKTsKLQotICAgIGlmICghRG9jdW1lbnRJbXBsOjppc1ZhbGlkTmFtZShsbikp
IHsKKyAgICBpZiAoIURvY3VtZW50SW1wbDo6aXNWYWxpZE5hbWUobmFtZSkpIHsKICAgICAgICAg
ZWMgPSBJTlZBTElEX0NIQVJBQ1RFUl9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0KLSAg
ICBzZXRBdHRyaWJ1dGUoUXVhbGlmaWVkTmFtZShudWxsQXRvbSwgbG4uaW1wbCgpLCBudWxsQXRv
bSksIHZhbHVlLmltcGwoKSwgZWMpOworICAgIFN0cmluZyBsb3dlcmNhc2VkTmFtZShuYW1lKTsK
KyAgICBpZiAoZ2V0RG9jdW1lbnQoKS0+aXNIVE1MRG9jdW1lbnQoKSkKKyAgICAgICAgbG93ZXJj
YXNlZE5hbWUgPSBuYW1lLmxvd2VyKCk7CisgICAgc2V0QXR0cmlidXRlKFF1YWxpZmllZE5hbWUo
bnVsbEF0b20sIGxvd2VyY2FzZWROYW1lLmltcGwoKSwgbnVsbEF0b20pLCB2YWx1ZS5pbXBsKCks
IGVjKTsKIH0KIAogdm9pZCBFbGVtZW50SW1wbDo6c2V0QXR0cmlidXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIG5hbWUsIERPTVN0cmluZ0ltcGwqIHZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYykKQEAg
LTc3MCw1MSArNzcxLDY3IEBACiAgICAgcmV0dXJuIHN0YXRpY19wb2ludGVyX2Nhc3Q8QXR0cklt
cGw+KGF0dHJzLT5yZW1vdmVOYW1lZEl0ZW0oYXR0ci0+cXVhbGlmaWVkTmFtZSgpLCBlYykpOwog
fQogCi12b2lkIEVsZW1lbnRJbXBsOjpzZXRBdHRyaWJ1dGVOUyhjb25zdCBET01TdHJpbmcgJm5h
bWVzcGFjZVVSSSwgY29uc3QgRE9NU3RyaW5nICZxdWFsaWZpZWROYW1lLCBjb25zdCBET01TdHJp
bmcgJnZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYykKK3ZvaWQgRWxlbWVudEltcGw6OnNldEF0dHJp
YnV0ZU5TKGNvbnN0IFN0cmluZyYgbmFtZXNwYWNlVVJJLCBjb25zdCBTdHJpbmcmIHF1YWxpZmll
ZE5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIERP
TVN0cmluZyBwcmVmaXgsIGxvY2FsTmFtZTsKICAgICBpZiAoIURvY3VtZW50SW1wbDo6cGFyc2VR
dWFsaWZpZWROYW1lKHF1YWxpZmllZE5hbWUsIHByZWZpeCwgbG9jYWxOYW1lKSkgewogICAgICAg
ICBlYyA9IElOVkFMSURfQ0hBUkFDVEVSX0VSUjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKyAg
ICBzZXRBdHRyaWJ1dGUoUXVhbGlmaWVkTmFtZShwcmVmaXguaW1wbCgpLCBsb2NhbE5hbWUuaW1w
bCgpLCBuYW1lc3BhY2VVUkkuaW1wbCgpKSwgdmFsdWUuaW1wbCgpLCBlYyk7Cit9CiAKK3ZvaWQg
RWxlbWVudEltcGw6OnJlbW92ZUF0dHJpYnV0ZShjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlv
bkNvZGUmIGVjKQoreworICAgIFN0cmluZyBsb3dlcmNhc2VkTmFtZShuYW1lKTsKICAgICBpZiAo
Z2V0RG9jdW1lbnQoKS0+aXNIVE1MRG9jdW1lbnQoKSkKLSAgICAgICAgbG9jYWxOYW1lID0gbG9j
YWxOYW1lLmxvd2VyKCk7CisgICAgICAgIGxvd2VyY2FzZWROYW1lID0gbmFtZS5sb3dlcigpOwor
ICAgIHJlbW92ZUF0dHJpYnV0ZShRdWFsaWZpZWROYW1lKG51bGxBdG9tLCBsb3dlcmNhc2VkTmFt
ZS5pbXBsKCksIG51bGxBdG9tKSwgZWMpOworfQogCi0gICAgc2V0QXR0cmlidXRlKFF1YWxpZmll
ZE5hbWUocHJlZml4LmltcGwoKSwgbG9jYWxOYW1lLmltcGwoKSwgbmFtZXNwYWNlVVJJLmltcGwo
KSksIHZhbHVlLmltcGwoKSwgZWMpOwordm9pZCBFbGVtZW50SW1wbDo6cmVtb3ZlQXR0cmlidXRl
TlMoY29uc3QgU3RyaW5nJiBuYW1lc3BhY2VVUkksIGNvbnN0IFN0cmluZyYgbG9jYWxOYW1lLCBF
eGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICByZW1vdmVBdHRyaWJ1dGUoUXVhbGlmaWVkTmFtZShu
dWxsQXRvbSwgbG9jYWxOYW1lLmltcGwoKSwgbmFtZXNwYWNlVVJJLmltcGwoKSksIGVjKTsKIH0K
IAotdm9pZCBFbGVtZW50SW1wbDo6cmVtb3ZlQXR0cmlidXRlTlMoY29uc3QgRE9NU3RyaW5nICZu
YW1lc3BhY2VVUkksIGNvbnN0IERPTVN0cmluZyAmbG9jYWxOYW1lLCBFeGNlcHRpb25Db2RlJiBl
YykKK1Bhc3NSZWZQdHI8QXR0ckltcGw+IEVsZW1lbnRJbXBsOjpnZXRBdHRyaWJ1dGVOb2RlKGNv
bnN0IFN0cmluZyYgbmFtZSkKIHsKLSAgICBET01TdHJpbmcgbG4obG9jYWxOYW1lKTsKLSAgICBp
ZiAoZ2V0RG9jdW1lbnQoKSAmJiBnZXREb2N1bWVudCgpLT5pc0hUTUxEb2N1bWVudCgpKQotICAg
ICAgICBsbiA9IGxvY2FsTmFtZS5sb3dlcigpOwotICAgIHJlbW92ZUF0dHJpYnV0ZShRdWFsaWZp
ZWROYW1lKG51bGxBdG9tLCBsbi5pbXBsKCksIG5hbWVzcGFjZVVSSS5pbXBsKCkpLCBlYyk7Cisg
ICAgTmFtZWRBdHRyTWFwSW1wbCAqYXR0cnMgPSBhdHRyaWJ1dGVzKHRydWUpOworICAgIGlmICgh
YXR0cnMpCisgICAgICAgIHJldHVybiAwOworICAgIFN0cmluZyBsb3dlcmNhc2VkTmFtZShuYW1l
KTsKKyAgICBpZiAoZ2V0RG9jdW1lbnQoKS0+aXNIVE1MRG9jdW1lbnQoKSkKKyAgICAgICAgbG93
ZXJjYXNlZE5hbWUgPSBuYW1lLmxvd2VyKCk7CisgICAgcmV0dXJuIHN0YXRpY19wb2ludGVyX2Nh
c3Q8QXR0ckltcGw+KGF0dHJzLT5nZXROYW1lZEl0ZW0oUXVhbGlmaWVkTmFtZShudWxsQXRvbSwg
bG93ZXJjYXNlZE5hbWUuaW1wbCgpLCBudWxsQXRvbSkpKTsKIH0KIAotUGFzc1JlZlB0cjxBdHRy
SW1wbD4gRWxlbWVudEltcGw6OmdldEF0dHJpYnV0ZU5vZGVOUyhjb25zdCBET01TdHJpbmcgJm5h
bWVzcGFjZVVSSSwgY29uc3QgRE9NU3RyaW5nICZsb2NhbE5hbWUpCitQYXNzUmVmUHRyPEF0dHJJ
bXBsPiBFbGVtZW50SW1wbDo6Z2V0QXR0cmlidXRlTm9kZU5TKGNvbnN0IFN0cmluZyYgbmFtZXNw
YWNlVVJJLCBjb25zdCBTdHJpbmcmIGxvY2FsTmFtZSkKIHsKICAgICBOYW1lZEF0dHJNYXBJbXBs
ICphdHRycyA9IGF0dHJpYnV0ZXModHJ1ZSk7CiAgICAgaWYgKCFhdHRycykKICAgICAgICAgcmV0
dXJuIDA7Ci0gICAgRE9NU3RyaW5nIGxuKGxvY2FsTmFtZSk7Ci0gICAgaWYgKGdldERvY3VtZW50
KCkgJiYgZ2V0RG9jdW1lbnQoKS0+aXNIVE1MRG9jdW1lbnQoKSkKLSAgICAgICAgbG4gPSBsb2Nh
bE5hbWUubG93ZXIoKTsKLSAgICByZXR1cm4gc3RhdGljX3BvaW50ZXJfY2FzdDxBdHRySW1wbD4g
KGF0dHJzLT5nZXROYW1lZEl0ZW0oUXVhbGlmaWVkTmFtZShudWxsQXRvbSwgbG9jYWxOYW1lLmlt
cGwoKSwgbmFtZXNwYWNlVVJJLmltcGwoKSkpKTsKKyAgICByZXR1cm4gc3RhdGljX3BvaW50ZXJf
Y2FzdDxBdHRySW1wbD4oYXR0cnMtPmdldE5hbWVkSXRlbShRdWFsaWZpZWROYW1lKG51bGxBdG9t
LCBsb2NhbE5hbWUuaW1wbCgpLCBuYW1lc3BhY2VVUkkuaW1wbCgpKSkpOwogfQogCi1ib29sIEVs
ZW1lbnRJbXBsOjpoYXNBdHRyaWJ1dGVOUyhjb25zdCBET01TdHJpbmcgJm5hbWVzcGFjZVVSSSwg
Y29uc3QgRE9NU3RyaW5nICZsb2NhbE5hbWUpIGNvbnN0Citib29sIEVsZW1lbnRJbXBsOjpoYXNB
dHRyaWJ1dGUoY29uc3QgU3RyaW5nJiBuYW1lKSBjb25zdAogewogICAgIE5hbWVkQXR0ck1hcElt
cGwgKmF0dHJzID0gYXR0cmlidXRlcyh0cnVlKTsKICAgICBpZiAoIWF0dHJzKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgRE9NU3RyaW5nIGxuKGxvY2FsTmFtZSk7Ci0gICAgaWYgKGdldERv
Y3VtZW50KCkgJiYgZ2V0RG9jdW1lbnQoKS0+aXNIVE1MRG9jdW1lbnQoKSkKLSAgICAgICAgbG4g
PSBsb2NhbE5hbWUubG93ZXIoKTsKLSAgICByZXR1cm4gYXR0cnMtPmdldEF0dHJpYnV0ZUl0ZW0o
UXVhbGlmaWVkTmFtZShudWxsQXRvbSwgbG9jYWxOYW1lLmltcGwoKSwgCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlVVJJLmltcGwoKSkp
OworICAgIFN0cmluZyBsb3dlcmNhc2VkTmFtZShuYW1lKTsKKyAgICBpZiAoZ2V0RG9jdW1lbnQo
KS0+aXNIVE1MRG9jdW1lbnQoKSkKKyAgICAgICAgbG93ZXJjYXNlZE5hbWUgPSBuYW1lLmxvd2Vy
KCk7CisgICAgcmV0dXJuIGF0dHJzLT5nZXRBdHRyaWJ1dGVJdGVtKFF1YWxpZmllZE5hbWUobnVs
bEF0b20sIGxvd2VyY2FzZWROYW1lLmltcGwoKSwgbnVsbEF0b20pKTsKIH0KIAorYm9vbCBFbGVt
ZW50SW1wbDo6aGFzQXR0cmlidXRlTlMoY29uc3QgU3RyaW5nJiBuYW1lc3BhY2VVUkksIGNvbnN0
IFN0cmluZyYgbG9jYWxOYW1lKSBjb25zdAoreworICAgIE5hbWVkQXR0ck1hcEltcGwgKmF0dHJz
ID0gYXR0cmlidXRlcyh0cnVlKTsKKyAgICBpZiAoIWF0dHJzKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgcmV0dXJuIGF0dHJzLT5nZXRBdHRyaWJ1dGVJdGVtKFF1YWxpZmllZE5hbWUobnVs
bEF0b20sIGxvY2FsTmFtZS5pbXBsKCksIG5hbWVzcGFjZVVSSS5pbXBsKCkpKTsKK30KKwogQ1NT
U3R5bGVEZWNsYXJhdGlvbkltcGwgKkVsZW1lbnRJbXBsOjpzdHlsZSgpCiB7CiAgICAgcmV0dXJu
IDA7CkBAIC04NjMsMjIgKzg4MCwzMiBAQAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotUGFzc1Jl
ZlB0cjxOb2RlSW1wbD4gTmFtZWRBdHRyTWFwSW1wbDo6Z2V0TmFtZWRJdGVtTlMoY29uc3QgRE9N
U3RyaW5nICZuYW1lc3BhY2VVUkksIGNvbnN0IERPTVN0cmluZyAmbG9jYWxOYW1lKSBjb25zdAor
UGFzc1JlZlB0cjxOb2RlSW1wbD4gTmFtZWRBdHRyTWFwSW1wbDo6Z2V0TmFtZWRJdGVtKGNvbnN0
IFN0cmluZyYgbmFtZSkgY29uc3QKIHsKLSAgICBET01TdHJpbmcgbG4obG9jYWxOYW1lKTsKKyAg
ICBET01TdHJpbmcgbG93ZXJjYXNlZE5hbWUobmFtZSk7CiAgICAgaWYgKGVsZW1lbnQtPmdldERv
Y3VtZW50KCktPmlzSFRNTERvY3VtZW50KCkpCi0gICAgICAgIGxuID0gbG9jYWxOYW1lLmxvd2Vy
KCk7Ci0gICAgcmV0dXJuIGdldE5hbWVkSXRlbShRdWFsaWZpZWROYW1lKG51bGxBdG9tLCBsbi5p
bXBsKCksIG5hbWVzcGFjZVVSSS5pbXBsKCkpKTsKKyAgICAgICAgbG93ZXJjYXNlZE5hbWUgPSBu
YW1lLmxvd2VyKCk7CisgICAgcmV0dXJuIGdldE5hbWVkSXRlbShRdWFsaWZpZWROYW1lKG51bGxB
dG9tLCBsb3dlcmNhc2VkTmFtZS5pbXBsKCksIG51bGxBdG9tKSk7CiB9CiAKLVBhc3NSZWZQdHI8
Tm9kZUltcGw+IE5hbWVkQXR0ck1hcEltcGw6OnJlbW92ZU5hbWVkSXRlbU5TKGNvbnN0IERPTVN0
cmluZyAmbmFtZXNwYWNlVVJJLCBjb25zdCBET01TdHJpbmcgJmxvY2FsTmFtZSwgRXhjZXB0aW9u
Q29kZSYgZWMpCitQYXNzUmVmUHRyPE5vZGVJbXBsPiBOYW1lZEF0dHJNYXBJbXBsOjpnZXROYW1l
ZEl0ZW1OUyhjb25zdCBTdHJpbmcmIG5hbWVzcGFjZVVSSSwgY29uc3QgU3RyaW5nJiBsb2NhbE5h
bWUpIGNvbnN0CiB7Ci0gICAgRE9NU3RyaW5nIGxuKGxvY2FsTmFtZSk7CisgICAgcmV0dXJuIGdl
dE5hbWVkSXRlbShRdWFsaWZpZWROYW1lKG51bGxBdG9tLCBsb2NhbE5hbWUuaW1wbCgpLCBuYW1l
c3BhY2VVUkkuaW1wbCgpKSk7Cit9CisKK1Bhc3NSZWZQdHI8Tm9kZUltcGw+IE5hbWVkQXR0ck1h
cEltcGw6OnJlbW92ZU5hbWVkSXRlbShjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlvbkNvZGUm
IGVjKQoreworICAgIERPTVN0cmluZyBsb3dlcmNhc2VkTmFtZShuYW1lKTsKICAgICBpZiAoZWxl
bWVudC0+Z2V0RG9jdW1lbnQoKS0+aXNIVE1MRG9jdW1lbnQoKSkKLSAgICAgICAgbG4gPSBsb2Nh
bE5hbWUubG93ZXIoKTsKLSAgICByZXR1cm4gcmVtb3ZlTmFtZWRJdGVtKFF1YWxpZmllZE5hbWUo
bnVsbEF0b20sIGxuLmltcGwoKSwgbmFtZXNwYWNlVVJJLmltcGwoKSksIGVjKTsKKyAgICAgICAg
bG93ZXJjYXNlZE5hbWUgPSBuYW1lLmxvd2VyKCk7CisgICAgcmV0dXJuIHJlbW92ZU5hbWVkSXRl
bShRdWFsaWZpZWROYW1lKG51bGxBdG9tLCBsb3dlcmNhc2VkTmFtZS5pbXBsKCksIG51bGxBdG9t
KSwgZWMpOwogfQogCitQYXNzUmVmUHRyPE5vZGVJbXBsPiBOYW1lZEF0dHJNYXBJbXBsOjpyZW1v
dmVOYW1lZEl0ZW1OUyhjb25zdCBTdHJpbmcmIG5hbWVzcGFjZVVSSSwgY29uc3QgU3RyaW5nJiBs
b2NhbE5hbWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIHJldHVybiByZW1vdmVOYW1lZEl0
ZW0oUXVhbGlmaWVkTmFtZShudWxsQXRvbSwgbG9jYWxOYW1lLmltcGwoKSwgbmFtZXNwYWNlVVJJ
LmltcGwoKSksIGVjKTsKK30KKwogUGFzc1JlZlB0cjxOb2RlSW1wbD4gTmFtZWRBdHRyTWFwSW1w
bDo6Z2V0TmFtZWRJdGVtKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUpIGNvbnN0CiB7CiAgICAg
QXR0cmlidXRlSW1wbCogYSA9IGdldEF0dHJpYnV0ZUl0ZW0obmFtZSk7CkBAIC0xMzYxLDcgKzEz
ODgsNyBAQAogICAgICAgICBpZiAobmFtZWRBdHRyTWFwKSB7CiAgICAgICAgICAgICBpZiAoYXR0
ci0+aXNOdWxsKCkpCiAgICAgICAgICAgICAgICAgbmFtZWRBdHRyTWFwLT5zZXRJRChudWxsQXRv
bSk7Ci0gICAgICAgICAgICBlbHNlIGlmIChnZXREb2N1bWVudCgpICYmIGdldERvY3VtZW50KCkt
PmluQ29tcGF0TW9kZSgpICYmICFhdHRyLT52YWx1ZSgpLmltcGwoKS0+aXNMb3dlcigpKQorICAg
ICAgICAgICAgZWxzZSBpZiAoZ2V0RG9jdW1lbnQoKS0+aW5Db21wYXRNb2RlKCkgJiYgIWF0dHIt
PnZhbHVlKCkuaW1wbCgpLT5pc0xvd2VyKCkpCiAgICAgICAgICAgICAgICAgbmFtZWRBdHRyTWFw
LT5zZXRJRChBdG9taWNTdHJpbmcoYXR0ci0+dmFsdWUoKS5kb21TdHJpbmcoKS5sb3dlcigpKSk7
CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgbmFtZWRBdHRyTWFwLT5zZXRJRChh
dHRyLT52YWx1ZSgpKTsKSW5kZXg6IFdlYkNvcmUvZG9tL2RvbV9lbGVtZW50aW1wbC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvZG9tL2RvbV9lbGVtZW50aW1wbC5oCShyZXZpc2lvbiAxMzI3NykK
KysrIFdlYkNvcmUvZG9tL2RvbV9lbGVtZW50aW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNywy
NyArMjcsMjQgQEAKICNpZm5kZWYgRE9NX0VMRU1FTlRJTVBMX0gKICNkZWZpbmUgRE9NX0VMRU1F
TlRJTVBMX0gKIAorI2luY2x1ZGUgIkF0b21pY1N0cmluZ0xpc3QuaCIKKyNpbmNsdWRlICJDb250
YWluZXJOb2RlSW1wbC5oIgogI2luY2x1ZGUgIk5hbWVkTm9kZU1hcEltcGwuaCIKLSNpbmNsdWRl
ICJDb250YWluZXJOb2RlSW1wbC5oIgorI2luY2x1ZGUgIlF1YWxpZmllZE5hbWUuaCIKICNpbmNs
dWRlICJTdHJpbmdJbXBsLmgiCiAjaW5jbHVkZSAiY3NzX3ZhbHVlaW1wbC5oIgotI2luY2x1ZGUg
IlF1YWxpZmllZE5hbWUuaCIKLSNpbmNsdWRlICJBdG9taWNTdHJpbmdMaXN0LmgiCiAKICNpZiBf
X09CSkNfXwogI2RlZmluZSBpZCBpZF9BVk9JRF9LRVlXT1JECiAjZW5kaWYKIAotbmFtZXNwYWNl
IGtodG1sIHsKLSAgICBjbGFzcyBDU1NTdHlsZVNlbGVjdG9yOwotfQorbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1uYW1lc3BhY2UgRE9NIHsKLQorY2xhc3MgQXR0ckltcGw7CiBjbGFzcyBDU1NTdHls
ZURlY2xhcmF0aW9uSW1wbDsKK2NsYXNzIENTU1N0eWxlU2VsZWN0b3I7CiBjbGFzcyBFbGVtZW50
SW1wbDsKIGNsYXNzIE5hbWVkQXR0ck1hcEltcGw7Ci1jbGFzcyBBdHRySW1wbDsKIAogLy8gdGhp
cyBoYXMgbm8gY291bnRlcnBhcnQgaW4gRE9NLCBwdXJlbHkgaW50ZXJuYWwKIC8vIHJlcHJlc2Vu
dGF0aW9uIG9mIHRoZSBub2RldmFsdWUgb2YgYW4gQXR0ci4KQEAgLTE3MywyMyArMTcwLDIzIEBA
CiAKICAgICBib29sIGhhc0F0dHJpYnV0ZXMoKSBjb25zdDsKIAotICAgIGJvb2wgaGFzQXR0cmli
dXRlKGNvbnN0IERPTVN0cmluZyAmbmFtZSkgY29uc3QgeyByZXR1cm4gaGFzQXR0cmlidXRlTlMo
RE9NU3RyaW5nKCksIG5hbWUpOyB9Ci0gICAgYm9vbCBoYXNBdHRyaWJ1dGVOUyhjb25zdCBET01T
dHJpbmcgJm5hbWVzcGFjZVVSSSwgY29uc3QgRE9NU3RyaW5nICZsb2NhbE5hbWUpIGNvbnN0Owor
ICAgIGJvb2wgaGFzQXR0cmlidXRlKGNvbnN0IFN0cmluZyYgbmFtZSkgY29uc3Q7CisgICAgYm9v
bCBoYXNBdHRyaWJ1dGVOUyhjb25zdCBTdHJpbmcmIG5hbWVzcGFjZVVSSSwgY29uc3QgU3RyaW5n
JiBsb2NhbE5hbWUpIGNvbnN0OwogCi0gICAgY29uc3QgQXRvbWljU3RyaW5nJiBnZXRBdHRyaWJ1
dGUoY29uc3QgRE9NU3RyaW5nJiBuYW1lKSBjb25zdCB7IHJldHVybiBnZXRBdHRyaWJ1dGVOUyhE
T01TdHJpbmcoKSwgbmFtZSk7IH0KLSAgICBjb25zdCBBdG9taWNTdHJpbmcmIGdldEF0dHJpYnV0
ZU5TKGNvbnN0IERPTVN0cmluZyAmbmFtZXNwYWNlVVJJLCBjb25zdCBET01TdHJpbmcgJmxvY2Fs
TmFtZSkgY29uc3Q7CisgICAgY29uc3QgQXRvbWljU3RyaW5nJiBnZXRBdHRyaWJ1dGUoY29uc3Qg
U3RyaW5nJiBuYW1lKSBjb25zdDsKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIGdldEF0dHJpYnV0
ZU5TKGNvbnN0IFN0cmluZyYgbmFtZXNwYWNlVVJJLCBjb25zdCBTdHJpbmcmIGxvY2FsTmFtZSkg
Y29uc3Q7CiAKLSAgICB2b2lkIHNldEF0dHJpYnV0ZShjb25zdCBET01TdHJpbmcgJm5hbWUsIGNv
bnN0IERPTVN0cmluZyAmdmFsdWUsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lkIHNldEF0dHJp
YnV0ZU5TKGNvbnN0IERPTVN0cmluZyAmbmFtZXNwYWNlVVJJLCBjb25zdCBET01TdHJpbmcgJnF1
YWxpZmllZE5hbWUsIGNvbnN0IERPTVN0cmluZyAmdmFsdWUsIEV4Y2VwdGlvbkNvZGUmKTsKKyAg
ICB2b2lkIHNldEF0dHJpYnV0ZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmFs
dWUsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHNldEF0dHJpYnV0ZU5TKGNvbnN0IFN0cmlu
ZyYgbmFtZXNwYWNlVVJJLCBjb25zdCBTdHJpbmcmIHF1YWxpZmllZE5hbWUsIGNvbnN0IFN0cmlu
ZyYgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgIHZvaWQgc2Nyb2xsSW50b1ZpZXcgKGJv
b2wgYWxpZ25Ub1RvcCk7CiAgICAgdm9pZCBzY3JvbGxJbnRvVmlld0lmTmVlZGVkKGJvb2wgY2Vu
dGVySWZOZWVkZWQpOwogCi0gICAgdm9pZCByZW1vdmVBdHRyaWJ1dGUoY29uc3QgRE9NU3RyaW5n
ICZuYW1lLCBFeGNlcHRpb25Db2RlJiBlYykgeyByZW1vdmVBdHRyaWJ1dGVOUyhET01TdHJpbmco
KSwgbmFtZSwgZWMpOyB9Ci0gICAgdm9pZCByZW1vdmVBdHRyaWJ1dGVOUyhjb25zdCBET01TdHJp
bmcgJm5hbWVzcGFjZVVSSSwgY29uc3QgRE9NU3RyaW5nICZsb2NhbE5hbWUsIEV4Y2VwdGlvbkNv
ZGUmKTsKKyAgICB2b2lkIHJlbW92ZUF0dHJpYnV0ZShjb25zdCBTdHJpbmcgJm5hbWUsIEV4Y2Vw
dGlvbkNvZGUmIGVjKTsKKyAgICB2b2lkIHJlbW92ZUF0dHJpYnV0ZU5TKGNvbnN0IFN0cmluZyAm
bmFtZXNwYWNlVVJJLCBjb25zdCBTdHJpbmcmIGxvY2FsTmFtZSwgRXhjZXB0aW9uQ29kZSYpOwog
Ci0gICAgUGFzc1JlZlB0cjxBdHRySW1wbD4gZ2V0QXR0cmlidXRlTm9kZShjb25zdCBET01TdHJp
bmcgJm5hbWUpIHsgcmV0dXJuIGdldEF0dHJpYnV0ZU5vZGVOUyhET01TdHJpbmcoKSwgbmFtZSk7
IH0KLSAgICBQYXNzUmVmUHRyPEF0dHJJbXBsPiBnZXRBdHRyaWJ1dGVOb2RlTlMoY29uc3QgRE9N
U3RyaW5nICZuYW1lc3BhY2VVUkksIGNvbnN0IERPTVN0cmluZyAmbG9jYWxOYW1lKTsKKyAgICBQ
YXNzUmVmUHRyPEF0dHJJbXBsPiBnZXRBdHRyaWJ1dGVOb2RlKGNvbnN0IFN0cmluZyYgbmFtZSk7
CisgICAgUGFzc1JlZlB0cjxBdHRySW1wbD4gZ2V0QXR0cmlidXRlTm9kZU5TKGNvbnN0IFN0cmlu
ZyYgbmFtZXNwYWNlVVJJLCBjb25zdCBTdHJpbmcmIGxvY2FsTmFtZSk7CiAgICAgUGFzc1JlZlB0
cjxBdHRySW1wbD4gc2V0QXR0cmlidXRlTm9kZShBdHRySW1wbCosIEV4Y2VwdGlvbkNvZGUmKTsK
ICAgICBQYXNzUmVmUHRyPEF0dHJJbXBsPiBzZXRBdHRyaWJ1dGVOb2RlTlMoQXR0ckltcGwqIG5l
d0F0dHIsIEV4Y2VwdGlvbkNvZGUmIGVjKSB7IHJldHVybiBzZXRBdHRyaWJ1dGVOb2RlKG5ld0F0
dHIsIGVjKTsgfQogICAgIFBhc3NSZWZQdHI8QXR0ckltcGw+IHJlbW92ZUF0dHJpYnV0ZU5vZGUo
QXR0ckltcGwqLCBFeGNlcHRpb25Db2RlJik7CkBAIC0yMTcsNyArMjE0LDcgQEAKICAgICB2aXJ0
dWFsIHZvaWQgcmVtb3ZlZEZyb21Eb2N1bWVudCgpOwogCiAgICAgLy8gY29udmVuaWVuY2UgbWV0
aG9kcyB3aGljaCBpZ25vcmUgZXhjZXB0aW9ucwotICAgIHZvaWQgc2V0QXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IERPTVN0cmluZyAmdmFsdWUpOworICAgIHZvaWQg
c2V0QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmFs
dWUpOwogCiAgICAgdmlydHVhbCBOYW1lZEF0dHJNYXBJbXBsICphdHRyaWJ1dGVzKCkgY29uc3Q7
CiAgICAgTmFtZWRBdHRyTWFwSW1wbCogYXR0cmlidXRlcyhib29sIHJlYWRvbmx5KSBjb25zdDsK
QEAgLTI4MywxMSArMjgwLDE0IEBACiAgICAgTmFtZWRBdHRyTWFwSW1wbCAmb3BlcmF0b3IgPShj
b25zdCBOYW1lZEF0dHJNYXBJbXBsICZvdGhlcik7CiAKICAgICAvLyBET00gbWV0aG9kcyAmIGF0
dHJpYnV0ZXMgZm9yIE5hbWVkTm9kZU1hcAotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxOb2RlSW1w
bD4gZ2V0TmFtZWRJdGVtTlMoY29uc3QgRE9NU3RyaW5nICZuYW1lc3BhY2VVUkksIGNvbnN0IERP
TVN0cmluZyAmbG9jYWxOYW1lKSBjb25zdDsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Tm9kZUlt
cGw+IHJlbW92ZU5hbWVkSXRlbU5TKGNvbnN0IERPTVN0cmluZyAmbmFtZXNwYWNlVVJJLCBjb25z
dCBET01TdHJpbmcgJmxvY2FsTmFtZSwgRXhjZXB0aW9uQ29kZSYgZWMpOwogCisgICAgdmlydHVh
bCBQYXNzUmVmUHRyPE5vZGVJbXBsPiBnZXROYW1lZEl0ZW0oY29uc3QgU3RyaW5nJiBuYW1lKSBj
b25zdDsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Tm9kZUltcGw+IHJlbW92ZU5hbWVkSXRlbShj
b25zdCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIHZpcnR1YWwgUGFzc1Jl
ZlB0cjxOb2RlSW1wbD4gZ2V0TmFtZWRJdGVtTlMoY29uc3QgU3RyaW5nJiBuYW1lc3BhY2VVUkks
IGNvbnN0IFN0cmluZyYgbG9jYWxOYW1lKSBjb25zdDsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8
Tm9kZUltcGw+IHJlbW92ZU5hbWVkSXRlbU5TKGNvbnN0IFN0cmluZyYgbmFtZXNwYWNlVVJJLCBj
b25zdCBTdHJpbmcmIGxvY2FsTmFtZSwgRXhjZXB0aW9uQ29kZSYpOworCiAgICAgdmlydHVhbCBQ
YXNzUmVmUHRyPE5vZGVJbXBsPiBnZXROYW1lZEl0ZW0oY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFt
ZSkgY29uc3Q7Ci0KICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Tm9kZUltcGw+IHJlbW92ZU5hbWVk
SXRlbShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdmly
dHVhbCBQYXNzUmVmUHRyPE5vZGVJbXBsPiBzZXROYW1lZEl0ZW0oTm9kZUltcGwqIGFyZywgRXhj
ZXB0aW9uQ29kZSYpOwogCg==
</data>
<flag name="review"
          id="1836"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>