<?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>6058</bug_id>
          
          <creation_ts>2005-12-12 23:25:12 -0800</creation_ts>
          <short_desc>XMLTokenizer runs all &lt;script&gt; tags at once instead of as they&apos;re encountered</short_desc>
          <delta_ts>2006-06-21 13:30:21 -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>XML</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></keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>6057</dependson>
    
    <dependson>9509</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>25884</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-12-12 23:25:12 -0800</bug_when>
    <thetext>XMLTokenizer runs all &lt;script&gt; tags at once instead of as they&apos;re encountered

This will require fixing 6057 (parse incrementally) first.  This is very important for xhtml compatibility.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46543</commentid>
    <comment_count>1</comment_count>
      <attachid>8942</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2006-06-21 06:14:14 -0700</bug_when>
    <thetext>Created attachment 8942
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46569</commentid>
    <comment_count>2</comment_count>
      <attachid>8942</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-06-21 12:32:07 -0700</bug_when>
    <thetext>Comment on attachment 8942
Patch

r=me with a few comments on irc</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8942</attachid>
            <date>2006-06-21 06:14:14 -0700</date>
            <delta_ts>2006-06-21 12:32:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>xhtml-script-improvements.txt</filename>
            <type>text/plain</type>
            <size>23884</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE0OTQxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMzIgQEAKKzIwMDYtMDYtMjEgIEFuZGVycyBDYXJsc3NvbiAg
PGFjYXJsc3NvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNn
aT9pZD02MDU4CisgICAgICAgIFhNTFRva2VuaXplciBydW5zIGFsbCA8c2NyaXB0PiB0YWdzIGF0
IG9uY2UgaW5zdGVhZCBvZiBhcyB0aGV5J3JlIGVuY291bnRlcmVkCisKKyAgICAgICAgKiBkb20v
c3ZnL2xldmVsMy94cGF0aC9zdmd1bml0LmpzOgorICAgICAgICBUaGUgWFBhdGggdGVzdHMgZGVw
ZW5kIG9uIHRoZSBkb2N1bWVudCBiZWluZyBsb2FkZWQgYmVmb3JlIHJ1bm5pbmcgdGhlIHRlc3Rz
LgorICAgICAgICBBZGQgYSAibG9hZCIgZXZlbnQgbGlzdGVuZXIgYW5kIHJ1biB0aGUgdGVzdCBp
biB0aGUgaGFuZGxlci4KKyAgICAgICAgCisgICAgICAgICogZmFzdC9jYW52YXMvcXVhZHJhdGlj
Q3VydmVUby54bWw6CisgICAgICAgIEFkZCBvbmxvYWQgaGFuZGxlciBhbmQgcnVuIHRlc3RzIHRo
ZXJlLgorICAgICAgICAKKyAgICAgICAgKiBmYXN0L2lubmVySFRNTC8wMDQtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGZhc3QvaW5uZXJIVE1MLzAwNC54aHRtbDoKKyAgICAgICAgQWRkIGxvYWQg
ZXZlbnQgbGlzdGVuZXIgYW5kIHJ1biB0ZXN0IHRoZXJlLgorICAgICAgICAKKyAgICAgICAgKiBm
YXN0L3BhcnNlci9leHRlcm5hbC1lbnRpdGllcy1leHBlY3RlZC50eHQ6CisgICAgICAgIFRoaXMg
bm93IGR1bXBzIGFzIHRleHQgYmVjYXVzZSB0aGUgc2NyaXB0IGlzIHJhbiBiZWZvcmUgdGhlIHBh
cnNlIGVycm9yIGlzIGVuY291bnRlcmVkLgorICAgICAgICAKKyAgICAgICAgKiBmYXN0L3BhcnNl
ci9yZXNvdXJjZXMveGh0bWwtc2NyaXB0cy5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9wYXJz
ZXIveGh0bWwtc2NyaXB0cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcGFy
c2VyL3hodG1sLXNjcmlwdHMueGh0bWw6IEFkZGVkLgorICAgICAgICBBZGQgbmV3IHRlc3RzLgor
ICAgICAgICAKKyAgICAgICAgKiBzdmcvY3VzdG9tL3RleHQtaGl0LXRlc3Quc3ZnOgorICAgICAg
ICBSdW4gdGVzdCBpbiBvbmxvYWQgaGFuZGxlci4KKyAgICAgICAgCiAyMDA2LTA2LTIwICBNYWNp
ZWogU3RhY2hvd2lhayAgPG1qc0BhcHBsZS5jb20+CiAKICAgICAgICAgTm8gcmV2aWV3IC0gdXBk
YXRlZCByZXN1bHRzIGZvciBlYXJsaWVyIHBhdGNoLgpJbmRleDogTGF5b3V0VGVzdHMvZG9tL3N2
Zy9sZXZlbDMveHBhdGgvc3ZndW5pdC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9kb20v
c3ZnL2xldmVsMy94cGF0aC9zdmd1bml0LmpzCShyZXZpc2lvbiAxNDk0MSkKKysrIExheW91dFRl
c3RzL2RvbS9zdmcvbGV2ZWwzL3hwYXRoL3N2Z3VuaXQuanMJKHdvcmtpbmcgY29weSkKQEAgLTY3
NCwyMiArNjc0LDI2IEBAIGZ1bmN0aW9uIGdldFJlc291cmNlVVJJKG5hbWUsIHNjaGVtZSwgY28K
ICAgICByZXR1cm4gYmFzZSArIG5hbWUgKyBnZXRTdWZmaXgoY29udGVudFR5cGUpOwogfQogCitm
dW5jdGlvbiBvbmxvYWRIYW5kbGVyKCkgeworCS8vCisJLy8gICBpbnZva2UgdGVzdCBzZXR1cAor
CS8vCisJc2V0VXBQYWdlKCk7CiAKLS8vCi0vLyAgIGludm9rZSB0ZXN0IHNldHVwCi0vLwotc2V0
VXBQYWdlKCk7Ci0KLXRyeSB7Ci0JcnVuVGVzdCgpOwotCWlmIChidWlsZGVyLmluaXRpYWxpemF0
aW9uRXJyb3IgPT0gbnVsbCkgewotCSAgIGNoYW5nZUNvbG9yKCJncmVlbiIpOwotCSAgIGFkZE1l
c3NhZ2UoIjAiLCAiMTIwIiwgZXhwb3NlVGVzdEZ1bmN0aW9uTmFtZXMoKVswXSArICI6IFN1Y2Nl
c3MiKTsKLQl9IGVsc2UgeworCXRyeSB7CisJCXJ1blRlc3QoKTsKKwkJaWYgKGJ1aWxkZXIuaW5p
dGlhbGl6YXRpb25FcnJvciA9PSBudWxsKSB7CisJICAgCQljaGFuZ2VDb2xvcigiZ3JlZW4iKTsK
KwkgICAJCWFkZE1lc3NhZ2UoIjAiLCAiMTIwIiwgZXhwb3NlVGVzdEZ1bmN0aW9uTmFtZXMoKVsw
XSArICI6IFN1Y2Nlc3MiKTsKKwkJfSBlbHNlIHsKKwkJCWFkZE1lc3NhZ2UoIjAiLCAiMTIwIiwg
ZXhwb3NlVGVzdEZ1bmN0aW9uTmFtZXMoKVswXSk7CisJCX0KKwl9IGNhdGNoKGV4KSB7CiAJCWFk
ZE1lc3NhZ2UoIjAiLCAiMTIwIiwgZXhwb3NlVGVzdEZ1bmN0aW9uTmFtZXMoKVswXSk7Ci0JfQot
fSBjYXRjaChleCkgewotCWFkZE1lc3NhZ2UoIjAiLCAiMTIwIiwgZXhwb3NlVGVzdEZ1bmN0aW9u
TmFtZXMoKVswXSk7Ci0gICAgY2hhbmdlQ29sb3IoInJlZCIpOwotICAgIGFkZE1lc3NhZ2UoIjAi
LCAiMTQwIiwgZXgpOyAgICAKLX0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCisgICAgCWNo
YW5nZUNvbG9yKCJyZWQiKTsKKyAgICAJYWRkTWVzc2FnZSgiMCIsICIxNDAiLCBleCk7ICAgIAor
CX0JCit9CisvLyBBZGQgbG9hZGVyCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIG9u
bG9hZEhhbmRsZXIsIGZhbHNlKQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9xdWFk
cmF0aWNDdXJ2ZVRvLnhtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9x
dWFkcmF0aWNDdXJ2ZVRvLnhtbAkocmV2aXNpb24gMTQ5NDEpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy9xdWFkcmF0aWNDdXJ2ZVRvLnhtbAkod29ya2luZyBjb3B5KQpAQCAtNDQsMzAgKzQ0
LDMxIEBACiAJCQl9CiAKIAkJCS8vLy8vLy8vLy8vLy8vLy8vLy8vCi0KLQkJCS8vIHNldHVwIGNh
bnZhcyBhbmQgY29udGV4dAotCQkJdmFyIGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnRO
UygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdjYW52YXMnKTsKLQkJCWNhbnZhcy5z
ZXRBdHRyaWJ1dGUoJ3dpZHRoJywgNDgwKTsKLQkJCWNhbnZhcy5zZXRBdHRyaWJ1dGUoJ2hlaWdo
dCcsIDM2MCk7Ci0JCQlkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoY2FudmFz
KTsKLQkJCWN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwotCi0JCQkvLyBkcmF3IHNoYXBl
cyBlcXVpdmFsZW50IHRvIFNWRyBwYXRoIGRhdGEgIk0gMjQwIDI5NiBxIDI1IC0xMDAgNDcgMCB0
IDQ3IDAgdCA0NyAwIHQgNDcgMCB0IDQ3IDAgeiIKLQkJCU0oMTAsNjApOwotCQkJcSgyNSwtMTAw
LDQ3LDApOwotCQkJdCg0NywwKTsKLQkJCXQoNDcsMCk7Ci0JCQl0KDQ3LDApOwotCQkJdCg0Nyww
KTsKLQkJCXooKTsKLQotCQkJLy8gc3Ryb2tlIGl0Ci0JCQljdHguc3Ryb2tlKCk7Ci0KKyAgICAg
ICAgICAgIAorICAgICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKwkJCSAgICAvLyBzZXR1
cCBjYW52YXMgYW5kIGNvbnRleHQKKwkJCSAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudE5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ2NhbnZhcycpOworCQkJ
ICAgIGNhbnZhcy5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgNDgwKTsKKwkJCSAgICBjYW52YXMuc2V0
QXR0cmlidXRlKCdoZWlnaHQnLCAzNjApOworCQkJICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVu
dC5hcHBlbmRDaGlsZChjYW52YXMpOworCQkJICAgIGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcy
ZCcpOworCisJCQkgICAgLy8gZHJhdyBzaGFwZXMgZXF1aXZhbGVudCB0byBTVkcgcGF0aCBkYXRh
ICJNIDI0MCAyOTYgcSAyNSAtMTAwIDQ3IDAgdCA0NyAwIHQgNDcgMCB0IDQ3IDAgdCA0NyAwIHoi
CisJCQkgICAgTSgxMCw2MCk7CisJCQkgICAgcSgyNSwtMTAwLDQ3LDApOworCQkJICAgIHQoNDcs
MCk7CisJCQkgICAgdCg0NywwKTsKKwkJCSAgICB0KDQ3LDApOworCQkJICAgIHQoNDcsMCk7CisJ
CQkgICAgeigpOworCisJCQkgICAgLy8gc3Ryb2tlIGl0CisJCQkgICAgY3R4LnN0cm9rZSgpOwor
ICAgICAgICAgICAgfQogCQk8L3NjcmlwdD4KIAk8L2hlYWQ+CiAKLQk8Ym9keT4KKwk8Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+CiAKIAkJPHA+CiAJCQlUaGlzIHRlc3QgY2FzZSBzaG91bGQgcHJv
ZHVjZSBhIHNpbmUtd2F2ZSBzdHJva2VkIHdpdGggMXB4IGJsYWNrLiAgIApJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9pbm5lckhUTUwvMDA0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2lubmVySFRNTC8wMDQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNDk0MSkK
KysrIExheW91dFRlc3RzL2Zhc3QvaW5uZXJIVE1MLzAwNC1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTE3LDkgKzE3LDEyIEBAIENvbnRlbnQ6CiAgIDxjaXJjbGUgY3g9IjE1MCIgY3k9
IjEwMCIgcj0iNTAiIHhsaW5rOnRpdGxlPSJ0ZXN0Ii8+CiA8L3N2Zz4KIDxzY3JpcHQ+Ci1pZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotCWxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKLWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250ZW50IikuZmlyc3RDaGlsZC5u
b2RlVmFsdWUgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaW5uZXJIVE1MOword2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIgKCJsb2FkIiwgZnVuY3Rpb24oKSB7CisgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKKwkgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250ZW50IikuZmlyc3RDaGlsZC5ub2Rl
VmFsdWUgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaW5uZXJIVE1MOworfSwgZmFsc2UpOwor
CiA8L3NjcmlwdD4KIDwvYm9keT4KIHRlc3QgCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2lubmVy
SFRNTC8wMDQueGh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9pbm5lckhUTUwv
MDA0LnhodG1sCShyZXZpc2lvbiAxNDk0MSkKKysrIExheW91dFRlc3RzL2Zhc3QvaW5uZXJIVE1M
LzAwNC54aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjAsOSArMjAsMTIgQEAKICAgPGNpcmNsZSBj
eD0iMTUwIiBjeT0iMTAwIiByPSI1MCIgeGxpbms6dGl0bGU9InRlc3QiLz4KIDwvc3ZnPgogPHNj
cmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0JbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOwotZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRlbnQiKS5m
aXJzdENoaWxkLm5vZGVWYWx1ZSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5pbm5lckhUTUw7
Cit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciAoImxvYWQiLCBmdW5jdGlvbigpIHsKKyAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorCSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRlbnQiKS5maXJz
dENoaWxkLm5vZGVWYWx1ZSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5pbm5lckhUTUw7Cit9
LCBmYWxzZSk7CisKIDwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9wYXJzZXIvZXh0ZXJuYWwtZW50aXRpZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL2V4dGVybmFsLWVudGl0aWVzLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMTQ5NDEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9leHRlcm5hbC1l
bnRpdGllcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMjYgKzEsOCBAQAotbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgxNjQKLSAgUmVuZGVyQmxvY2sge2h0bWx9IGF0
ICgwLDApIHNpemUgODAweDE2NAotICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDAp
IHNpemUgODAweDAKLSAgICAgIFJlbmRlcklubGluZSB7cGFyc2VyZXJyb3J9IGF0ICgwLDApIHNp
emUgMHgwIFtiZ2NvbG9yPSNGRkRERERdIFtib3JkZXI6ICgycHggc29saWQgI0NDNzc3NyldCi0g
ICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTgpIHNpemUgODAweDk0Ci0gICAgICBS
ZW5kZXJCbG9jayB7aDN9IGF0ICgwLDApIHNpemUgODAweDIyCi0gICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMyNHgyMgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDMyNDogIlRoaXMgcGFnZSBjb250YWlucyB0aGUgZm9sbG93aW5nIGVycm9yczoiCi0g
ICAgICBSZW5kZXJCbG9jayB7ZGl2fSBhdCAoMCw0MCkgc2l6ZSA4MDB4MTQKLSAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDA2eDE0Ci0gICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggNDA2OiAiZXJyb3Igb24gbGluZSA5IGF0IGNvbHVtbiA0NzogRW50aXR5
ICdtZXNzYWdlJyBub3QgZGVmaW5lZCIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDA2LDApIHdp
ZHRoIDA6ICIgIgotICAgICAgUmVuZGVyQmxvY2sge2gzfSBhdCAoMCw3Mikgc2l6ZSA4MDB4MjIK
LSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDI5eDIyCi0gICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNDI5OiAiQmVsb3cgaXMgYSByZW5kZXJpbmcgb2Yg
dGhlIHBhZ2UgdXAgdG8gdGhlIGZpcnN0IGVycm9yLiIKLSAgICBSZW5kZXJCbG9jayAoYW5vbnlt
b3VzKSBhdCAoMCwxMzApIHNpemUgODAweDAKLSAgICAgIFJlbmRlcklubGluZSB7cGFyc2VyZXJy
b3J9IGF0ICgwLDApIHNpemUgMHgwIFtiZ2NvbG9yPSNGRkRERERdIFtib3JkZXI6ICgycHggc29s
aWQgI0NDNzc3NyldCi0gICAgUmVuZGVyQm9keSB7Ym9keX0gYXQgKDgsMTMwKSBzaXplIDc4NHgx
OAotICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDApIHNpemUgNzg0eDAKLSAgICAgIFJlbmRl
ckJsb2NrIHtwfSBhdCAoMCwwKSBzaXplIDc4NHgxOAotICAgICAgICBSZW5kZXJJbmxpbmUge2Zv
bnR9IGF0ICgwLDApIHNpemUgNDg5eDE4IFtjb2xvcj0jRkYwMDAwXQotICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ4OXgxOAotICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggMjYzOiAiVGhpcyBzaG91bGQgYmUgdGhlIG9ubHkgbGluZSBvbiB0aGlz
IHBhZ2UuICIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNjMsMCkgd2lkdGggMjI2OiAiWW91
IHNob3VsZCBzZWUgYSBwYXJzZSBlcnJvciBhYm92ZS4iCitUaGlzIHBhZ2UgY29udGFpbnMgdGhl
IGZvbGxvd2luZyBlcnJvcnM6CisKK2Vycm9yIG9uIGxpbmUgOSBhdCBjb2x1bW4gNDc6IEVudGl0
eSAnbWVzc2FnZScgbm90IGRlZmluZWQKK0JlbG93IGlzIGEgcmVuZGVyaW5nIG9mIHRoZSBwYWdl
IHVwIHRvIHRoZSBmaXJzdCBlcnJvci4KKworVGhpcyBzaG91bGQgYmUgdGhlIG9ubHkgbGluZSBv
biB0aGlzIHBhZ2UuIFlvdSBzaG91bGQgc2VlIGEgcGFyc2UgZXJyb3IgYWJvdmUuCisKKwpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIveGh0bWwtc2NyaXB0cy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIveGh0bWwtc2NyaXB0cy1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci94aHRtbC1zY3Jp
cHRzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACitUaGlzIHRlc3Rz
IHRoYXQgcGFyc2luZyBzdG9wcyB3aGVuIGEgc2NyaXB0IGlzIGVuY291bnRlcmVkIGluIGFuIFhN
TCBkb2N1bWVudC4gUGFyc2luZyByZXN1bWVzIHdoZW4gdGhlIHNjcmlwdCBoYXMgZmluaXNoZWQg
ZXhlY3V0aW5nLgorU1VDQ0VTUworCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci94aHRt
bC1zY3JpcHRzLnhodG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3ho
dG1sLXNjcmlwdHMueGh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3BhcnNl
ci94aHRtbC1zY3JpcHRzLnhodG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI5IEBACis8aHRt
bCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Cis8Ym9keT4KKyAgICA8c2Ny
aXB0PgorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgCisgICAgdmFyIGZhaWx1cmUg
PSBmYWxzZTsKKworICAgIC8vIFRoaXMgc2hvdWxkbid0IGJlIGtub3duIHNpbmNlIHdlIGhhdmVu
J3QgcGFyc2VkIHRoYXQgZmFyIHlldC4KKyAgICB2YXIgZCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdkaXYxJyk7CisKKyAgICBpZiAoZCkKKyAgICAgICAgZmFpbHVyZSA9IHRydWU7CisgICAg
PC9zY3JpcHQ+CisgICAgCisgICAgPGRpdiBpZD0iZGl2MSIvPgorICAgIAorICAgIDxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMveGh0bWwtc2NyaXB0cy5qcyIvPgorICAgIDxkaXYgaWQ9ImRpdjIiLz4K
KyAgICAKKyAgICBUaGlzIHRlc3RzIHRoYXQgcGFyc2luZyBzdG9wcyB3aGVuIGEgc2NyaXB0IGlz
IGVuY291bnRlcmVkIGluIGFuIFhNTCBkb2N1bWVudC4gUGFyc2luZyByZXN1bWVzIHdoZW4gdGhl
IHNjcmlwdCBoYXMgZmluaXNoZWQgZXhlY3V0aW5nLgorICAgIDxkaXYgaWQ9InJlc3VsdCI+RkFJ
TFVSRTwvZGl2PgorICAgIAorICAgIDxzY3JpcHQ+CisgICAgICAgIGlmICghZmFpbHVyZSkKKyAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5maXJzdENoaWxkLm5v
ZGVWYWx1ZSA9ICdTVUNDRVNTJzsKKyAgICA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3Jlc291cmNlcy94aHRtbC1zY3JpcHRzLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3Jlc291cmNlcy94aHRtbC1zY3Jp
cHRzLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcmVzb3VyY2Vz
L3hodG1sLXNjcmlwdHMuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNSBAQAorLy8gVGhpcyBz
aG91bGRuJ3QgYmUga25vd24gc2luY2Ugd2UgaGF2ZW4ndCBwYXJzZWQgdGhhdCBmYXIgeWV0Lgor
dmFyIGQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGl2MicpOworCitpZiAoZCkKKyAgICBm
YWlsdXJlID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vdGV4dC1oaXQtdGVz
dC5zdmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS90ZXh0LWhpdC10ZXN0
LnN2ZwkocmV2aXNpb24gMTQ5NDEpCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RleHQtaGl0
LXRlc3Quc3ZnCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogPD94bWwgdmVyc2lvbj0i
MS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KIDwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RU
RCBTVkcgMS4xIEJhc2ljLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEv
RFREL3N2ZzExLWJhc2ljLmR0ZCI+Ci08c3ZnIHZlcnNpb249IjEuMSIgYmFzZVByb2ZpbGU9ImJh
c2ljIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0ic3ZnLXJvb3QiIHdpZHRoPSIxMDAlIiBoZWln
aHQ9IjEwMCUiPgorPHN2ZyB2ZXJzaW9uPSIxLjEiIGJhc2VQcm9maWxlPSJiYXNpYyIgeG1sbnM9
Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5v
cmcvMTk5OS94bGluayIgaWQ9InN2Zy1yb290IiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBv
bmxvYWQ9InJ1blRlc3QoKSI+CiAgICA8c2NyaXB0IHR5cGU9InRleHQvZWNtYXNjcmlwdCI+PCFb
Q0RBVEFbCiAgICAgICB2YXIgc3RhdGVzID0gW107CiAgICAgICB2YXIgY2xpY2tlZDsKQEAgLTIy
LDE2ICsyMiwxOSBAQAogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICB9
Ci0gICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7Ci0gICAgICAgICB0ZXN0Q2xpY2tBdCg5
MSoyLCA3MSoyKTsgCi0gICAgICAgICB0ZXN0Q2xpY2tBdCg5MSoyLCAyMSoyKTsgCi0gICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhdHVzIikudGV4dENvbnRlbnQgPSAiRmFpbGVk
IjsKLSAgICAgICAgIGlmIChjaGVja1Jlc3VsdHMoKSkKLSAgICAgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGF0dXMiKS50ZXh0Q29udGVudCA9ICJQYXNzZWQiOwotICAgICAgfSBl
bHNlIHsKLSAgICAgICAgIC8vIGluIG1hbnVhbCBtb2RlCi0gICAgICAgICBhbGVydCgiUGxlYXNl
IHVzZSBydW4td2Via2l0LXRlc3RzLiIpOwotICAgICAgfQorICAgICAgCisgICAgICBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAg
ICAgICAgdGVzdENsaWNrQXQoOTEqMiwgNzEqMik7IAorICAgICAgICAgICAgdGVzdENsaWNrQXQo
OTEqMiwgMjEqMik7IAorICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXR1
cyIpLnRleHRDb250ZW50ID0gIkZhaWxlZCI7CisgICAgICAgICAgICBpZiAoY2hlY2tSZXN1bHRz
KCkpCisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXR1cyIpLnRl
eHRDb250ZW50ID0gIlBhc3NlZCI7CisgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLy8g
aW4gbWFudWFsIG1vZGUKKyAgICAgICAgICAgIGFsZXJ0KCJQbGVhc2UgdXNlIHJ1bi13ZWJraXQt
dGVzdHMuIik7CisgICAgICAgIH0KKyAgICAgfQogICAgXV0+PC9zY3JpcHQ+CiAgICA8ZyB0cmFu
c2Zvcm09InNjYWxlKDIpIj4KICAgIDx0ZXh0IHg9IjcwIiB5PSI3MCIgb25tb3VzZWRvd249ImNs
aWNrZWQ9dHJ1ZTsiPkNsaWNrIG1lPC90ZXh0PgpJbmRleDogV2ViQ29yZS9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0OTQxKQorKysgV2ViQ29y
ZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMCBAQAorMjAwNi0wNi0yMSAg
QW5kZXJzIENhcmxzc29uICA8YWNhcmxzc29uQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwOi8vYnVnemlsbGEub3BlbmRhcndp
bi5vcmcvc2hvd19idWcuY2dpP2lkPTYwNTgKKyAgICAgICAgWE1MVG9rZW5pemVyIHJ1bnMgYWxs
IDxzY3JpcHQ+IHRhZ3MgYXQgb25jZSBpbnN0ZWFkIG9mIGFzIHRoZXkncmUgZW5jb3VudGVyZWQK
KyAgICAgICAgCisgICAgICAgICogZG9tL3htbF90b2tlbml6ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6WE1MVG9rZW5pemVyOjpYTUxUb2tlbml6ZXIpOgorICAgICAgICBJbml0aWFsaXplIG5l
dyBtZW1iZXJzLgorICAgICAgICAKKyAgICAgICAgKFdlYkNvcmU6OlhNTFRva2VuaXplcjo6ZW5k
RWxlbWVudE5zKToKKyAgICAgICAgSWYgd2UndmUgZW5jb3VudGVyZWQgYSBzY3JpcHQgdGFnLCBl
eGVjdXRlIHRoZSBzY3JpcHQgaGVyZS4gSWYgdGhlIHNjcmlwdAorICAgICAgICB0YWcgcmVmZXJz
IHRvIGFuIGV4dGVybmFsIHJlc291cmNlLCBwYXVzZSB0aGUgcGFyc2VyIHdoaWxlIGxvYWRpbmcg
aXQuCisgICAgICAgIAorICAgICAgICAoV2ViQ29yZTo6WE1MVG9rZW5pemVyOjplbmQpOgorICAg
ICAgICBNb3ZlIGNvZGUgZnJvbSBmaW5pc2goKSB0byBoZXJlCisgICAgICAgIAorICAgICAgICAo
V2ViQ29yZTo6WE1MVG9rZW5pemVyOjpmaW5pc2gpOgorICAgICAgICBPbmx5IGNhbGwgZW5kKCkg
aWYgdGhlIHBhcnNlciBpc24ndCBwYXVzZWQuCisgICAgICAgIAorICAgICAgICAoV2ViQ29yZTo6
WE1MVG9rZW5pemVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgIEV2YWx1YXRlIHRoZSBzY3Jp
cHQgaGVyZSBhbmQgcmVzdW1lIHRoZSBwYXJzZXIuCisgICAgICAgIAorICAgICAgICAoV2ViQ29y
ZTo6WE1MVG9rZW5pemVyOjpyZXN1bWVQYXJzaW5nKToKKyAgICAgICAgSWYgZmluaXNoKCkgd2Fz
IGNhbGxlZCwgY2FsbCBlbmQoKSBhZnRlciB3cml0aW5nIGFsbCBkYXRhLgorCiAyMDA2LTA2LTIx
ICBCZW4gR29vZGdlciA8YmVuZ29vZGdlckBnbWFpbC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgTWFjaWVqLiAKSW5kZXg6IFdlYkNvcmUvZG9tL3htbF90b2tlbml6ZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvZG9tL3htbF90b2tlbml6ZXIuY3BwCShyZXZpc2lvbiAxNDk0MSkKKysr
IFdlYkNvcmUvZG9tL3htbF90b2tlbml6ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICsz
Miw3IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVudEZyYWdtZW50
LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRUeXBlLmgiCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgog
I2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRN
TFNjcmlwdEVsZW1lbnQuaCIKQEAgLTUyLDcgKzUzLDggQEAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICAKKwordXNpbmcgbmFtZXNwYWNlIEV2ZW50TmFt
ZXM7CiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCiBjb25zdCBpbnQgbWF4RXJyb3JzID0g
MjU7CkBAIC03Niw2ICs3OCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNXYWl0aW5n
Rm9yU2NyaXB0cygpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBzdG9wUGFyc2luZygpOwogCisg
ICAgdm9pZCBlbmQoKTsKKwogICAgIHZvaWQgcGF1c2VQYXJzaW5nKCk7CiAgICAgdm9pZCByZXN1
bWVQYXJzaW5nKCk7CiAgICAgCkBAIC0xMDYsOSArMTEwLDYgQEAgcHJpdmF0ZToKIAogICAgIHZv
aWQgaW5zZXJ0RXJyb3JNZXNzYWdlQmxvY2soKTsKIAotICAgIHZvaWQgZXhlY3V0ZVNjcmlwdHMo
KTsKLSAgICB2b2lkIGFkZFNjcmlwdHMoTm9kZSAqbik7Ci0KICAgICBib29sIGVudGVyVGV4dCgp
OwogICAgIHZvaWQgZXhpdFRleHQoKTsKIApAQCAtMTI3LDE1ICsxMjgsMTYgQEAgcHJpdmF0ZToK
ICAgICBib29sIG1faXNYSFRNTERvY3VtZW50OwogICAgIAogICAgIGJvb2wgbV9wYXJzZXJQYXVz
ZWQ7CisgICAgYm9vbCBtX2luU2NyaXB0OworICAgIGJvb2wgbV9maW5pc2hDYWxsZWQ7CiAgICAg
CiAgICAgaW50IG1fZXJyb3JDb3VudDsKICAgICBpbnQgbV9sYXN0RXJyb3JMaW5lOwogICAgIGlu
dCBtX2xhc3RFcnJvckNvbHVtbjsKICAgICBTdHJpbmcgbV9lcnJvck1lc3NhZ2VzOwogCi0gICAg
RGVwcmVjYXRlZFB0ckxpc3Q8RWxlbWVudD4gbV9zY3JpcHRzOwotICAgIERlcHJlY2F0ZWRQdHJM
aXN0SXRlcmF0b3I8RWxlbWVudD4gKm1fc2NyaXB0c0l0OwogICAgIENhY2hlZFNjcmlwdCAqbV9j
YWNoZWRTY3JpcHQ7CisgICAgUmVmUHRyPEVsZW1lbnQ+IG1fc2NyaXB0RWxlbWVudDsKICAgICAK
ICAgICBib29sIG1fcGFyc2luZ0ZyYWdtZW50OwogICAgIFN0cmluZyBtX2RlZmF1bHROYW1lc3Bh
Y2VVUkk7CkBAIC01MjAsMTAgKzUyMiwxMSBAQCBYTUxUb2tlbml6ZXI6OlhNTFRva2VuaXplcihE
b2N1bWVudCAqX2RvCiAgICAgLCBtX3Nhd0ZpcnN0RWxlbWVudChmYWxzZSkKICAgICAsIG1faXNY
SFRNTERvY3VtZW50KGZhbHNlKQogICAgICwgbV9wYXJzZXJQYXVzZWQoZmFsc2UpCisgICAgLCBt
X2luU2NyaXB0KGZhbHNlKQorICAgICwgbV9maW5pc2hDYWxsZWQoZmFsc2UpCiAgICAgLCBtX2Vy
cm9yQ291bnQoMCkKICAgICAsIG1fbGFzdEVycm9yTGluZSgwKQogICAgICwgbV9sYXN0RXJyb3JD
b2x1bW4oMCkKLSAgICAsIG1fc2NyaXB0c0l0KDApCiAgICAgLCBtX2NhY2hlZFNjcmlwdCgwKQog
ICAgICwgbV9wYXJzaW5nRnJhZ21lbnQoZmFsc2UpCiAgICAgLCBtX3BlbmRpbmdDYWxsYmFja3Mo
bmV3IFBlbmRpbmdDYWxsYmFja3MpCkBAIC01NDEsMTAgKzU0NCwxMSBAQCBYTUxUb2tlbml6ZXI6
OlhNTFRva2VuaXplcihEb2N1bWVudEZyYWdtCiAgICAgLCBtX3Nhd0ZpcnN0RWxlbWVudChmYWxz
ZSkKICAgICAsIG1faXNYSFRNTERvY3VtZW50KGZhbHNlKQogICAgICwgbV9wYXJzZXJQYXVzZWQo
ZmFsc2UpCisgICAgLCBtX2luU2NyaXB0KGZhbHNlKQorICAgICwgbV9maW5pc2hDYWxsZWQoZmFs
c2UpCiAgICAgLCBtX2Vycm9yQ291bnQoMCkKICAgICAsIG1fbGFzdEVycm9yTGluZSgwKQogICAg
ICwgbV9sYXN0RXJyb3JDb2x1bW4oMCkKLSAgICAsIG1fc2NyaXB0c0l0KDApCiAgICAgLCBtX2Nh
Y2hlZFNjcmlwdCgwKQogICAgICwgbV9wYXJzaW5nRnJhZ21lbnQodHJ1ZSkKICAgICAsIG1fcGVu
ZGluZ0NhbGxiYWNrcyhuZXcgUGVuZGluZ0NhbGxiYWNrcykKQEAgLTU4Myw3ICs1ODcsNiBAQCBY
TUxUb2tlbml6ZXI6On5YTUxUb2tlbml6ZXIoKQogICAgIGlmIChtX3BhcnNpbmdGcmFnbWVudCAm
JiBtX2RvYykKICAgICAgICAgbV9kb2MtPmRlcmVmKCk7CiAgICAgZGVsZXRlIG1fcGVuZGluZ0Nh
bGxiYWNrczsKLSAgICBkZWxldGUgbV9zY3JpcHRzSXQ7CiAgICAgaWYgKG1fY2FjaGVkU2NyaXB0
KQogICAgICAgICBtX2NhY2hlZFNjcmlwdC0+ZGVyZWYodGhpcyk7CiB9CkBAIC03ODIsNiArNzg1
LDU3IEBAIHZvaWQgWE1MVG9rZW5pemVyOjplbmRFbGVtZW50TnMoKQogICAgICAgICBuID0gbi0+
cGFyZW50Tm9kZSgpOwogICAgIFJlZlB0cjxOb2RlPiBwYXJlbnQgPSBuLT5wYXJlbnROb2RlKCk7
CiAgICAgbi0+Y2xvc2VSZW5kZXJlcigpOworICAgIAorICAgIC8vIGRvbid0IGxvYWQgZXh0ZXJu
YWwgc2NyaXB0cyBmb3Igc3RhbmRhbG9uZSBkb2N1bWVudHMgKGZvciBub3cpCisgICAgaWYgKG4t
PmlzRWxlbWVudE5vZGUoKSAmJiBtX3ZpZXcgJiYgKHN0YXRpY19jYXN0PEVsZW1lbnQqPihuKS0+
aGFzVGFnTmFtZShzY3JpcHRUYWcpIAorI2lmIFNWR19TVVBQT1JUCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHx8IHN0YXRpY19jYXN0PEVsZW1lbnQqPihuKS0+aGFz
VGFnTmFtZShTVkdOYW1lczo6c2NyaXB0VGFnKQorI2VuZGlmCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICkpIHsKKworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAKKyAgICAgICAgQVNTRVJUKCFtX2NhY2hlZFNjcmlwdCk7CisgICAgICAg
IAorICAgICAgICBtX2luU2NyaXB0ID0gdHJ1ZTsKKyAgICAgICAgCisgICAgICAgIEVsZW1lbnQq
IHNjcmlwdEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4obik7ICAgICAgICAKKyAgICAg
ICAgU3RyaW5nIHNjcmlwdEhyZWY7CisgICAgICAgIAorICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8
RWxlbWVudCo+KG4pLT5oYXNUYWdOYW1lKHNjcmlwdFRhZykpCisgICAgICAgICAgICBzY3JpcHRI
cmVmID0gc2NyaXB0RWxlbWVudC0+Z2V0QXR0cmlidXRlKHNyY0F0dHIpOworI2lmIFNWR19TVVBQ
T1JUCisgICAgICAgIGVsc2UgaWYgKHN0YXRpY19jYXN0PEVsZW1lbnQqPihuKS0+aGFzVGFnTmFt
ZShTVkdOYW1lczo6c2NyaXB0VGFnKSkKKyAgICAgICAgICAgIHNjcmlwdEhyZWYgPSBzY3JpcHRF
bGVtZW50LT5nZXRBdHRyaWJ1dGUoWExpbmtOYW1lczo6aHJlZkF0dHIpOworI2VuZGlmCisgICAg
ICAgIAorICAgICAgICBpZiAoIXNjcmlwdEhyZWYuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAv
LyB3ZSBoYXZlIGEgc3JjIGF0dHJpYnV0ZSAKKyAgICAgICAgICAgIERlcHJlY2F0ZWRTdHJpbmcg
Y2hhcnNldCA9IHNjcmlwdEVsZW1lbnQtPmdldEF0dHJpYnV0ZShjaGFyc2V0QXR0cikuZGVwcmVj
YXRlZFN0cmluZygpOworICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAoKG1fY2FjaGVkU2Ny
aXB0ID0gbV9kb2MtPmRvY0xvYWRlcigpLT5yZXF1ZXN0U2NyaXB0KHNjcmlwdEhyZWYsIGNoYXJz
ZXQpKSkgeworICAgICAgICAgICAgICAgIG1fY2FjaGVkU2NyaXB0LT5yZWYodGhpcyk7CisgICAg
ICAgICAgICAgICAgbV9zY3JpcHRFbGVtZW50ID0gc2NyaXB0RWxlbWVudDsKKyAgICAgICAgICAg
ICAgICAgICAgCisgICAgICAgICAgICAgICAgLy8gbV9jYWNoZWRTY3JpcHQgd2lsbCBiZSAwIGlm
IHNjcmlwdCB3YXMgYWxyZWFkeSBsb2FkZWQgYW5kIHJlZigpIGV4ZWN1dGVkIGl0CisgICAgICAg
ICAgICAgICAgaWYgKG1fY2FjaGVkU2NyaXB0KSB7CisgICAgICAgICAgICAgICAgICAgIHBhdXNl
UGFyc2luZygpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgLy8gRklYTUU6IGRvIGFueXRoaW5nIGhlcmU/CisgICAgICAgICAgICB9ICAg
ICAgICAgICAgCisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBEZXByZWNhdGVkU3RyaW5n
IHNjcmlwdENvZGUgPSAiIjsKKyAgICAgICAgICAgIGZvciAoTm9kZSAqY2hpbGQgPSBzY3JpcHRF
bGVtZW50LT5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZygp
KSB7CisgICAgICAgICAgICAgICAgaWYgKGNoaWxkLT5pc1RleHROb2RlKCkgfHwgY2hpbGQtPm5v
ZGVUeXBlKCkgPT0gTm9kZTo6Q0RBVEFfU0VDVElPTl9OT0RFKQorICAgICAgICAgICAgICAgICAg
ICBzY3JpcHRDb2RlICs9IHN0YXRpY19jYXN0PENoYXJhY3RlckRhdGEqPihjaGlsZCktPmRhdGEo
KS5kZXByZWNhdGVkU3RyaW5nKCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgCisg
ICAgICAgICAgICBtX3ZpZXctPmZyYW1lKCktPmV4ZWN1dGVTY3JpcHQoMCwgc2NyaXB0Q29kZSk7
CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIG1faW5TY3JpcHQgPSBmYWxzZTsKKyAgICB9
CisKICAgICBzZXRDdXJyZW50Tm9kZShwYXJlbnQuZ2V0KCkpOwogfQogCkBAIC0xMTI0LDcgKzEx
NzgsNyBAQCB2b2lkIFhNTFRva2VuaXplcjo6aW5pdGlhbGl6ZVBhcnNlckNvbnRlCiAgICAgbV9j
b250ZXh0ID0gY3JlYXRlUVN0cmluZ1BhcnNlcigmc2F4LCB0aGlzKTsKIH0KIAotdm9pZCBYTUxU
b2tlbml6ZXI6OmZpbmlzaCgpCit2b2lkIFhNTFRva2VuaXplcjo6ZW5kKCkKIHsKICAgICBpZiAo
bV9zYXdYU0xUcmFuc2Zvcm0pIHsKICAgICAgICAgbV9kb2MtPnNldFRyYW5zZm9ybVNvdXJjZSh4
bWxEb2NQdHJGb3JTdHJpbmcobV9vcmlnaW5hbFNvdXJjZUZvclRyYW5zZm9ybSwgbV9kb2MtPlVS
TCgpKSk7CkBAIC0xMTM0LDcgKzExODgsNyBAQCB2b2lkIFhNTFRva2VuaXplcjo6ZmluaXNoKCkK
ICAgICAgICAgbV9kb2MtPnNldFBhcnNpbmcodHJ1ZSk7CiAgICAgICAgIG1fcGFyc2VyU3RvcHBl
ZCA9IHRydWU7CiAgICAgfQotICAgICAgICAKKyAgICAKICAgICBpZiAobV9jb250ZXh0KSB7CiAg
ICAgICAgIC8vIFRlbGwgbGlieG1sIHdlJ3JlIGRvbmUuCiAgICAgICAgIHhtbFBhcnNlQ2h1bmso
bV9jb250ZXh0LCAwLCAwLCAxKTsKQEAgLTExNDgsMTYgKzEyMDIsMjAgQEAgdm9pZCBYTUxUb2tl
bml6ZXI6OmZpbmlzaCgpCiAgICAgaWYgKG1fc2F3RXJyb3IpCiAgICAgICAgIGluc2VydEVycm9y
TWVzc2FnZUJsb2NrKCk7CiAgICAgZWxzZSB7Ci0gICAgICAgIC8vIFBhcnNpbmcgd2FzIHN1Y2Nl
c3NmdWwuIE5vdyBsb2NhdGUgYWxsIGh0bWwgPHNjcmlwdD4gdGFncyBpbiB0aGUgZG9jdW1lbnQg
YW5kIGV4ZWN1dGUgdGhlbQotICAgICAgICAvLyBvbmUgYnkgb25lLgogICAgICAgICBleGl0VGV4
dCgpOwotICAgICAgICBhZGRTY3JpcHRzKG1fZG9jKTsKLSAgICAgICAgbV9zY3JpcHRzSXQgPSBu
ZXcgRGVwcmVjYXRlZFB0ckxpc3RJdGVyYXRvcjxFbGVtZW50PihtX3NjcmlwdHMpOwotICAgICAg
ICBleGVjdXRlU2NyaXB0cygpOworICAgICAgICBtX2RvYy0+dXBkYXRlU3R5bGVTZWxlY3Rvcigp
OwogICAgIH0KICAgICAKICAgICBzZXRDdXJyZW50Tm9kZSgwKTsKLSAgICBtX2RvYy0+ZmluaXNo
ZWRQYXJzaW5nKCk7CisgICAgbV9kb2MtPmZpbmlzaGVkUGFyc2luZygpOyAgICAKK30KKwordm9p
ZCBYTUxUb2tlbml6ZXI6OmZpbmlzaCgpCit7CisgICAgaWYgKG1fcGFyc2VyUGF1c2VkKQorICAg
ICAgICBtX2ZpbmlzaENhbGxlZCA9IHRydWU7CisgICAgZWxzZQorICAgICAgICBlbmQoKTsKIH0K
IAogc3RhdGljIGlubGluZSBSZWZQdHI8RWxlbWVudD4gY3JlYXRlWEhUTUxQYXJzZXJFcnJvckhl
YWRlcihEb2N1bWVudCogZG9jLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZXMpIApAQCAtMTIy
Niw3NSArMTI4NCwzMSBAQCB2b2lkIFhNTFRva2VuaXplcjo6aW5zZXJ0RXJyb3JNZXNzYWdlQmxv
CiAgICAgZG9jLT51cGRhdGVSZW5kZXJpbmcoKTsKIH0KIAotdm9pZCBYTUxUb2tlbml6ZXI6OmFk
ZFNjcmlwdHMoTm9kZSAqbikKLXsKLSAgICAvLyBSZWN1cnNpdmVseSBnbyB0aHJvdWdoIHRoZSBl
bnRpcmUgZG9jdW1lbnQgdHJlZSwgbG9va2luZyBmb3IgaHRtbCA8c2NyaXB0PiB0YWdzLiBGb3Ig
ZWFjaCBvZiB0aGVzZQotICAgIC8vIHRoYXQgaXMgZm91bmQsIGFkZCBpdCB0byB0aGUgbV9zY3Jp
cHRzIGxpc3QgZnJvbSB3aGljaCB0aGV5IHdpbGwgYmUgZXhlY3V0ZWQKLSAgICBpZiAobi0+aGFz
VGFnTmFtZShzY3JpcHRUYWcpCi0jaWYgU1ZHX1NVUFBPUlQKLSAgICAgICAgfHwgbi0+aGFzVGFn
TmFtZShXZWJDb3JlOjpTVkdOYW1lczo6c2NyaXB0VGFnKQotI2VuZGlmCi0gICAgICAgICkKLSAg
ICAgICAgbV9zY3JpcHRzLmFwcGVuZChzdGF0aWNfY2FzdDxFbGVtZW50Kj4obikpOwotCi0gICAg
Tm9kZSAqY2hpbGQ7Ci0gICAgZm9yIChjaGlsZCA9IG4tPmZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNo
aWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpCi0gICAgICAgIGFkZFNjcmlwdHMoY2hpbGQpOwot
fQotCi12b2lkIFhNTFRva2VuaXplcjo6ZXhlY3V0ZVNjcmlwdHMoKQotewotICAgIC8vIEl0ZXJh
dGUgdGhyb3VnaCBhbGwgb2YgdGhlIGh0bWwgPHNjcmlwdD4gdGFncyBpbiB0aGUgZG9jdW1lbnQu
IEZvciB0aG9zZSB0aGF0IGhhdmUgYSBzcmMgYXR0cmlidXRlLAotICAgIC8vIHN0YXJ0IGxvYWRp
bmcgdGhlIHNjcmlwdCBhbmQgcmV0dXJuIChleGVjdXRlU2NyaXB0cygpIHdpbGwgYmUgY2FsbGVk
IGFnYWluIG9uY2UgdGhlIHNjcmlwdCBpcyBsb2FkZWQKLSAgICAvLyBhbmQgY29udGludWUgd2hl
cmUgaXQgbGVmdCBvZmYpLiBGb3Igc2NyaXB0cyB0aGF0IGRvbid0IGhhdmUgYSBzcmMgYXR0cmli
dXRlLCBleGVjdXRlIHRoZSBjb2RlCi0gICAgLy8gaW5zaWRlIHRoZSB0YWcKLSAgICB3aGlsZSAo
RWxlbWVudCAqc2NyaXB0RWxlbWVudCA9IG1fc2NyaXB0c0l0LT5jdXJyZW50KCkpIHsKLSAgICAg
ICAgKysoKm1fc2NyaXB0c0l0KTsKLSAgICAgICAgU3RyaW5nIHNjcmlwdEhyZWYgPSBzY3JpcHRF
bGVtZW50LT5nZXRBdHRyaWJ1dGUoc3JjQXR0cik7Ci0jaWYgU1ZHX1NVUFBPUlQKLSAgICAgICAg
aWYgKHNjcmlwdEVsZW1lbnQtPmhhc1RhZ05hbWUoV2ViQ29yZTo6U1ZHTmFtZXM6OnNjcmlwdFRh
ZykpCi0gICAgICAgICAgICBzY3JpcHRIcmVmID0gc2NyaXB0RWxlbWVudC0+Z2V0QXR0cmlidXRl
KFhMaW5rTmFtZXM6OmhyZWZBdHRyKTsKLSNlbmRpZgotICAgICAgICAvLyBkb24ndCBsb2FkIGV4
dGVybmFsIHNjcmlwdHMgZm9yIHN0YW5kYWxvbmUgZG9jdW1lbnRzIChmb3Igbm93KQotICAgICAg
ICBpZiAoIXNjcmlwdEhyZWYuaXNFbXB0eSgpICYmIG1fZG9jLT5mcmFtZSgpKSB7Ci0gICAgICAg
ICAgICAvLyB3ZSBoYXZlIGEgc3JjIGF0dHJpYnV0ZQotICAgICAgICAgICAgRGVwcmVjYXRlZFN0
cmluZyBjaGFyc2V0ID0gc2NyaXB0RWxlbWVudC0+Z2V0QXR0cmlidXRlKGNoYXJzZXRBdHRyKS5k
ZXByZWNhdGVkU3RyaW5nKCk7Ci0gICAgICAgICAgICBtX2NhY2hlZFNjcmlwdCA9IG1fZG9jLT5k
b2NMb2FkZXIoKS0+cmVxdWVzdFNjcmlwdChzY3JpcHRIcmVmLCBjaGFyc2V0KTsKLSAgICAgICAg
ICAgIG1fY2FjaGVkU2NyaXB0LT5yZWYodGhpcyk7IC8vIHdpbGwgY2FsbCBleGVjdXRlU2NyaXB0
cygpIGFnYWluIGlmIGFscmVhZHkgY2FjaGVkCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBubyBzcmMgYXR0cmlidXRlIC0gZXhlY3V0ZSBmcm9t
IGNvbnRlbnRzIG9mIHRhZwotICAgICAgICAgICAgRGVwcmVjYXRlZFN0cmluZyBzY3JpcHRDb2Rl
ID0gIiI7Ci0gICAgICAgICAgICBmb3IgKE5vZGUgKmNoaWxkID0gc2NyaXB0RWxlbWVudC0+Zmly
c3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkgewotICAgICAg
ICAgICAgICAgIGlmIChjaGlsZC0+aXNUZXh0Tm9kZSgpIHx8IGNoaWxkLT5ub2RlVHlwZSgpID09
IE5vZGU6OkNEQVRBX1NFQ1RJT05fTk9ERSkKLSAgICAgICAgICAgICAgICAgICAgc2NyaXB0Q29k
ZSArPSBzdGF0aWNfY2FzdDxDaGFyYWN0ZXJEYXRhKj4oY2hpbGQpLT5kYXRhKCkuZGVwcmVjYXRl
ZFN0cmluZygpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgLy8gdGhlIHNjcmlwdCBjYW5u
b3QgZG8gZG9jdW1lbnQud3JpdGUgdW50aWwgd2Ugc3VwcG9ydCBpbmNyZW1lbnRhbCBwYXJzaW5n
Ci0gICAgICAgICAgICAvLyAjIyMgaGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZSBzY3JpcHQgZGVs
ZXRlcyB0aGUgbm9kZSBvciByZWRpcmVjdHMgdG8KLSAgICAgICAgICAgIC8vIGFub3RoZXIgcGFn
ZSwgZXRjLiAoYWxzbyBpbiBub3RpZnlGaW5pc2hlZCgpKQotICAgICAgICAgICAgLy8gIyMjIHRo
ZSBzY3JpcHQgbWF5IGFkZCBhbm90aGVyIHNjcmlwdCBub2RlIGFmdGVyIHRoaXMgb25lIHdoaWNo
IHNob3VsZCBiZSBleGVjdXRlZAotICAgICAgICAgICAgaWYgKG1fdmlldykKLSAgICAgICAgICAg
ICAgICBtX3ZpZXctPmZyYW1lKCktPmV4ZWN1dGVTY3JpcHQoMCwgc2NyaXB0Q29kZSk7Ci0gICAg
ICAgIH0KLSAgICB9Ci0KLSAgICAvLyBBbGwgc2NyaXB0cyBoYXZlIGZpbmlzaGVkIGV4ZWN1dGlu
Zywgc28gY2FsY3VsYXRlIHRoZSBzdHlsZSBmb3IgdGhlIGRvY3VtZW50IGFuZCBjbG9zZQotICAg
IC8vIHRoZSBsYXN0IGVsZW1lbnQKLSAgICBtX2RvYy0+dXBkYXRlU3R5bGVTZWxlY3RvcigpOwot
fQotCiB2b2lkIFhNTFRva2VuaXplcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkT2JqZWN0ICpmaW5p
c2hlZE9iaikKIHsKLSAgICAvLyBUaGlzIGlzIGNhbGxlZCB3aGVuIGEgc2NyaXB0IGhhcyBmaW5p
c2hlZCBsb2FkaW5nIHRoYXQgd2FzIHJlcXVlc3RlZCBmcm9tIGV4ZWN1dGVTY3JpcHRzKCkuIFdl
IGV4ZWN1dGUKLSAgICAvLyB0aGUgc2NyaXB0LCBhbmQgdGhlbiBjYWxsIGV4ZWN1dGVTY3JpcHRz
KCkgYWdhaW4gdG8gY29udGludWUgaXRlcmF0aW5nIHRocm91Z2ggdGhlIGxpc3Qgb2Ygc2NyaXB0
cyBpbgotICAgIC8vIHRoZSBkb2N1bWVudAotICAgIGlmIChmaW5pc2hlZE9iaiA9PSBtX2NhY2hl
ZFNjcmlwdCkgewotICAgICAgICBTdHJpbmcgc2NyaXB0U291cmNlID0gbV9jYWNoZWRTY3JpcHQt
PnNjcmlwdCgpOwotICAgICAgICBtX2NhY2hlZFNjcmlwdC0+ZGVyZWYodGhpcyk7Ci0gICAgICAg
IG1fY2FjaGVkU2NyaXB0ID0gMDsKLSAgICAgICAgbV92aWV3LT5mcmFtZSgpLT5leGVjdXRlU2Ny
aXB0KDAsIHNjcmlwdFNvdXJjZS5kZXByZWNhdGVkU3RyaW5nKCkpOwotICAgICAgICBleGVjdXRl
U2NyaXB0cygpOworICAgIEFTU0VSVChtX2NhY2hlZFNjcmlwdCA9PSBmaW5pc2hlZE9iaik7Cisg
ICAgQVNTRVJUKG1fY2FjaGVkU2NyaXB0LT5hY2Nlc3NDb3VudCgpID4gMCk7CisgICAgICAgIAor
ICAgIFN0cmluZyBjYWNoZWRTY3JpcHRVcmwgPSBtX2NhY2hlZFNjcmlwdC0+dXJsKCk7CisgICAg
U3RyaW5nIHNjcmlwdFNvdXJjZSA9IG1fY2FjaGVkU2NyaXB0LT5zY3JpcHQoKTsKKyAgICBib29s
IGVycm9yT2NjdXJyZWQgPSBtX2NhY2hlZFNjcmlwdC0+ZXJyb3JPY2N1cnJlZCgpOworICAgIG1f
Y2FjaGVkU2NyaXB0LT5kZXJlZih0aGlzKTsKKyAgICBtX2NhY2hlZFNjcmlwdCA9IDA7CisgICAg
CisgICAgUmVmUHRyPEVsZW1lbnQ+IGUgPSBtX3NjcmlwdEVsZW1lbnQ7CisgICAgbV9zY3JpcHRF
bGVtZW50ID0gMDsKKyAgICAKKyAgICBpZiAoZXJyb3JPY2N1cnJlZCkgCisgICAgICAgIEV2ZW50
VGFyZ2V0Tm9kZUNhc3QoZS5nZXQoKSktPmRpc3BhdGNoSFRNTEV2ZW50KGVycm9yRXZlbnQsIHRy
dWUsIGZhbHNlKTsKKyAgICBlbHNlIHsKKyAgICAgICAgbV92aWV3LT5mcmFtZSgpLT5leGVjdXRl
U2NyaXB0KGNhY2hlZFNjcmlwdFVybCwgMCwgMCwgc2NyaXB0U291cmNlLmRlcHJlY2F0ZWRTdHJp
bmcoKSk7CisgICAgICAgIEV2ZW50VGFyZ2V0Tm9kZUNhc3QoZS5nZXQoKSktPmRpc3BhdGNoSFRN
TEV2ZW50KGxvYWRFdmVudCwgZmFsc2UsIGZhbHNlKTsKICAgICB9CisgICAgCisgICAgbV9zY3Jp
cHRFbGVtZW50ID0gMDsKKyAgICAKKyAgICBpZiAoIW1faW5TY3JpcHQpCisgICAgICAgIHJlc3Vt
ZVBhcnNpbmcoKTsKIH0KIAogYm9vbCBYTUxUb2tlbml6ZXI6OmlzV2FpdGluZ0ZvclNjcmlwdHMo
KSBjb25zdApAQCAtMTM2OSw2ICsxMzgzLDEwIEBAIHZvaWQgWE1MVG9rZW5pemVyOjpyZXN1bWVQ
YXJzaW5nKCkKICAgICBTZWdtZW50ZWRTdHJpbmcgcmVzdCA9IG1fcGVuZGluZ1NyYzsKICAgICBt
X3BlbmRpbmdTcmMuY2xlYXIoKTsKICAgICB3cml0ZShyZXN0LCBmYWxzZSk7CisgICAgCisgICAg
Ly8gRmluYWxseSwgaWYgZmluaXNoKCkgaGFzIGJlZW4gY2FsbGVkLCBjYWxsIGVuZCgpCisgICAg
aWYgKG1fZmluaXNoQ2FsbGVkKQorICAgICAgICBlbmQoKTsKIH0KIAogc3RhdGljIHZvaWQgYmFs
YW5jZWRTdGFydEVsZW1lbnROc0hhbmRsZXIodm9pZCAqY2xvc3VyZSwgY29uc3QgeG1sQ2hhciAq
bG9jYWxuYW1lLCBjb25zdCB4bWxDaGFyICpwcmVmaXgsIGNvbnN0IHhtbENoYXIgKnVyaSwgaW50
IG5iX25hbWVzcGFjZXMsIGNvbnN0IHhtbENoYXIgKipuYW1lc3BhY2VzLCBpbnQgbmJfYXR0cmli
dXRlcywgaW50IG5iX2RlZmF1bHRlZCwgY29uc3QgeG1sQ2hhciAqKmxpYnhtbEF0dHJpYnV0ZXMp
Cg==
</data>
<flag name="review"
          id="2631"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>