<?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>9035</bug_id>
          
          <creation_ts>2006-05-22 02:23:28 -0700</creation_ts>
          <short_desc>document.evaluate and createNSResolver miss on namespaced elements</short_desc>
          <delta_ts>2019-02-06 09:02:33 -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 (PowerPC)</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>HasReduction</keywords>
          <priority>P2</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>10489</blocked>
    
    <blocked>7788</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Paul Everitt">paul</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>cdumez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>43120</commentid>
    <comment_count>0</comment_count>
    <who name="Paul Everitt">paul</who>
    <bug_when>2006-05-22 02:23:28 -0700</bug_when>
    <thetext>I am using the nightly builds to gain JS access to XPath selection of nodes.  In the test case I create an XHTML2 using a string in JS and calling the DOMParser.  To match on namespaced elements, I create a resolver with xmldoc.createNSResolver and pass it into the xmldoc.evaluate call.

Unfortunately the XPath selection matches nothing in WebKit.  It works in Firefox.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43121</commentid>
    <comment_count>1</comment_count>
      <attachid>8457</attachid>
    <who name="Paul Everitt">paul</who>
    <bug_when>2006-05-22 02:25:13 -0700</bug_when>
    <thetext>Created attachment 8457
createNSResolver test case

A test case with HTML and JS that works in Firefox but fails in the WebKit nightly from May 20 2006.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44540</commentid>
    <comment_count>2</comment_count>
      <attachid>8680</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2006-06-03 10:08:05 -0700</bug_when>
    <thetext>Created attachment 8680
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44561</commentid>
    <comment_count>3</comment_count>
      <attachid>8680</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-06-03 12:47:54 -0700</bug_when>
    <thetext>Comment on attachment 8680
Patch

-Step::Step(AxisType axis, const String&amp; nodeTest, const Vector&lt;Predicate*&gt;&amp; predicates)
+Step::Step(AxisType axis, const String&amp; nodeTest, const Vector&lt;Predicate*&gt; &amp;predicates)

The above is not a good change.

+    Parser *parser = Parser::current();

We put the * next to the type.

+    if (!parser-&gt;m_currentNamespaceURI.isNull()) {
+        m_namespaceURI = parser-&gt;m_currentNamespaceURI;
+        parser-&gt;m_currentNamespaceURI = String();
+    }

Why the if here? Seems that check should be omitted.

+            $$ = new String($1-&gt;deprecatedString().mid(colon + 1));

This could use String::substring and then you would not need to bother with the conversion to/from DeprecatedString.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44576</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-06-03 18:58:43 -0700</bug_when>
    <thetext>I got an idea:

-    if (m_nodeSetPosition + 1 &gt;= m_nodeSet.size())
+    if (m_nodeSetPosition + 1 &gt; m_nodeSet.size())

This could also be fixed by removing the +1 and keeping the =.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44644</commentid>
    <comment_count>5</comment_count>
    <who name="Paul Everitt">paul</who>
    <bug_when>2006-06-04 11:19:16 -0700</bug_when>
    <thetext>I just tried the test case in the most recent nightly and it now passes.  Thanks Anders!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1502794</commentid>
    <comment_count>6</comment_count>
    <who name="Lucas Forschler">lforschler</who>
    <bug_when>2019-02-06 09:02:33 -0800</bug_when>
    <thetext>Mass moving XML DOM bugs to the &quot;DOM&quot; Component.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>8457</attachid>
            <date>2006-05-22 02:25:13 -0700</date>
            <delta_ts>2006-05-22 02:25:13 -0700</delta_ts>
            <desc>createNSResolver test case</desc>
            <filename>xpathresolver.html</filename>
            <type>text/html</type>
            <size>852</size>
            <attacher name="Paul Everitt">paul</attacher>
            
              <data encoding="base64">PGh0bWw+CiAgPGhlYWQ+CiAgICA8dGl0bGU+WFBhdGggUmVzb2x2ZXIgaW4gV2ViS2l0PC90aXRs
ZT4KICAgIDxzY3JpcHQ+CmZ1bmN0aW9uIHNlYXJjaCAoeHBhdGgpIHsKCiAgdmFyIHhtbFN0cmlu
ZyA9ICc8eGY6bW9kZWwgeG1sbnM6eGY9Imh0dHA6Ly9mb28ub3JnLyIvPic7CgogIC8vIE1ha2Ug
YSBkb2MgYW5kIGEgcmVzb2x2ZXIKICB2YXIgZG9jID0gKG5ldyBET01QYXJzZXIoKSkucGFyc2VG
cm9tU3RyaW5nKHhtbFN0cmluZywgInRleHQveG1sIik7CiAgdmFyIGNvbnRleHROb2RlID0gZG9j
LmRvY3VtZW50RWxlbWVudDsKICB2YXIgbnNSZXNvbHZlciA9IGRvY3VtZW50LmNyZWF0ZU5TUmVz
b2x2ZXIoY29udGV4dE5vZGUpOwoKICAvLyBFdmFsdWF0ZSBhIG5hbWVzcGFjZWQgeHBhdGgKICB2
YXIgcmVzdWx0ID0gZG9jLmV2YWx1YXRlKCcvL3hmOm1vZGVsJywgZG9jLCBuc1Jlc29sdmVyLCAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwsIG51bGwpOyAgCiAgYWxlcnQocmVzdWx0
Lml0ZXJhdGVOZXh0KCkudGFnTmFtZSk7Cn0KICAgIDwvc2NyaXB0PgogIDwvaGVhZD4KPGJvZHk+
CiAgPGgxPlhQYXRoIHJlc29sdmVyIGluIFdlYktpdDwvaDE+CgogIDxwPlRoaXMgcGFnZSB0ZXN0
IHRoZSBYUGF0aCAuZXZhbHVhdGUgZnVuY3Rpb24gaW4gV2ViS2l0LCBpbgogIHBhcnRpY3VsYXIs
IGxvb2tpbmcgdXAgWFBhdGggZXhwcmVzc2lvbnMgaW4gZm9yZWlnbiBuYW1lc3BhY2VzCiAgd2l0
aCA8Y29kZT5jcmVhdGVOU1Jlc29sdmVyPC9jb2RlPi48L3A+CgogIDxwPjxidXR0b24gb25jbGlj
az0ic2VhcmNoKCcvLyonKTsiPlRlc3Q8L2J1dHRvbj48L3A+Cgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8680</attachid>
            <date>2006-06-03 10:08:05 -0700</date>
            <delta_ts>2006-06-03 12:47:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>xpath-namespaces.txt</filename>
            <type>text/plain</type>
            <size>13982</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE0NzA5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDYtMDYtMDMgIEFuZGVycyBDYXJsc3NvbiAg
PGFjYXJsc3NvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNn
aT9pZD05MDM1CisgICAgICAgIGRvY3VtZW50LmV2YWx1YXRlIGFuZCBjcmVhdGVOU1Jlc29sdmVy
IG1pc3Mgb24gbmFtZXNwYWNlZCBlbGVtZW50cworCisgICAgICAgICogZmFzdC94cGF0aDogQWRk
ZWQuCisgICAgICAgICogZmFzdC94cGF0aC94cGF0aC1uYW1lc3BhY2VzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC94cGF0aC94cGF0aC1uYW1lc3BhY2VzLmh0bWw6IEFkZGVk
LgorCiAyMDA2LTA2LTAyICBNaXR6IFBldHRlbCAgPG9wZW5kYXJ3aW4ub3JnQG1pdHpwZXR0ZWwu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IGdnYXJlbi4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QveHBhdGgveHBhdGgtbmFtZXNwYWNlcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QveHBhdGgveHBhdGgtbmFtZXNwYWNlcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC94cGF0aC94cGF0aC1uYW1lc3BhY2VzLmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsNDMgQEAKKzxodG1sPgorICA8aGVhZD4KKyAgICA8c2NyaXB0PgorZnVuY3Rpb24gZGVi
dWcoc3RyKSB7CisgICAgdmFyIGQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScp
OworCWQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoc3RyICsgIlxuIikpOwor
fQorICAgIAorZnVuY3Rpb24gcnVuVGVzdHMgKCkgeworICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsK
KyAgICAgICAgCisgICAgdmFyIHhtbFN0cmluZyA9ICc8bnM6Zm9vIHhtbG5zOm5zPSJodHRwOi8v
d3d3LmV4YW1wbGUub3JnIj4nOworCisgICAgdmFyIGRvYyA9IChuZXcgRE9NUGFyc2VyKCkpLnBh
cnNlRnJvbVN0cmluZyh4bWxTdHJpbmcsICJ0ZXh0L3htbCIpOworICAgIHZhciBjb250ZXh0Tm9k
ZSA9IGRvYy5kb2N1bWVudEVsZW1lbnQ7CisgICAgdmFyIG5zUmVzb2x2ZXIgPSBkb2N1bWVudC5j
cmVhdGVOU1Jlc29sdmVyKGNvbnRleHROb2RlKTsKKworICAgIHZhciBleHByID0gZG9jLmNyZWF0
ZUV4cHJlc3Npb24oIi9uczpmb28iLCBuc1Jlc29sdmVyKTsKKyAgICB2YXIgcmVzdWx0ID0gZXhw
ci5ldmFsdWF0ZShjb250ZXh0Tm9kZSwgWFBhdGhSZXN1bHQuQU5ZX1RZUEUsIG51bGwpCisKKyAg
ICB2YXIgZWxlbWVudCA9IHJlc3VsdC5pdGVyYXRlTmV4dCgpOworCisgICAgaWYgKGVsZW1lbnQg
PT0gMCkgeworICAgICAgICBkZWJ1ZygnRkFJTFVSRTogbm8gcmVzdWx0IG5vZGUgd2FzIGZvdW5k
Jyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgIAorICAgIGlmIChlbGVtZW50Lm5vZGVOYW1l
ICE9ICduczpmb28nKSB7CisgICAgICAgIGRlYnVnKCdGQUlMVVJFOiBkaWQgbm90IGZpbmQgdGhl
IGNvcnJlY3Qgbm9kZScpOworICAgICAgICByZXR1cm47CisgICAgfQorICAKKyAgICBkZWJ1Zygn
U1VDQ0VTUzogdGVzdCBjb21wbGV0ZWQnKQorfQorICAgIDwvc2NyaXB0PgorICA8L2hlYWQ+Cis8
Ym9keSBvbmxvYWQ9InJ1blRlc3RzKCkiPgorVGhpcyB0ZXN0cyB0aGF0IFhQYXRoIGV4cHJlc3Np
b25zIHdpdGggcHJlZml4ZXMgd29yayBjb3JyZWN0bHkuCis8cHJlIGlkPSJjb25zb2xlIj4KKzwv
cHJlPgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC94cGF0aC94cGF0
aC1uYW1lc3BhY2VzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L3hwYXRoL3hwYXRoLW5hbWVzcGFjZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC94cGF0aC94cGF0aC1uYW1lc3BhY2VzLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwzIEBACitUaGlzIHRlc3RzIHRoYXQgWFBhdGggZXhwcmVzc2lvbnMg
d2l0aCBwcmVmaXhlcyB3b3JrIGNvcnJlY3RseS4KK1NVQ0NFU1M6IHRlc3QgY29tcGxldGVkCisK
SW5kZXg6IFdlYkNvcmUveHBhdGgvWFBhdGhFeHByZXNzaW9uLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3hwYXRoL1hQYXRoRXhwcmVzc2lvbi5jcHAJKHJldmlzaW9uIDE0NzA5KQorKysgV2Vi
Q29yZS94cGF0aC9YUGF0aEV4cHJlc3Npb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw4ICs0
Nyw3IEBAIFBhc3NSZWZQdHI8WFBhdGhFeHByZXNzaW9uPiBYUGF0aEV4cHJlc3MKICAgICBSZWZQ
dHI8WFBhdGhFeHByZXNzaW9uPiBleHByID0gbmV3IFhQYXRoRXhwcmVzc2lvbjsKICAgICBQYXJz
ZXIgcGFyc2VyOwogICAgIAotICAgIEV4cHJlc3Npb246OmV2YWx1YXRpb25Db250ZXh0KCkucmVz
b2x2ZXIgPSByZXNvbHZlcjsKLSAgICBleHByLT5tX3RvcEV4cHJlc3Npb24gPSBwYXJzZXIucGFy
c2VTdGF0ZW1lbnQoZXhwcmVzc2lvbiwgZWMpOworICAgIGV4cHItPm1fdG9wRXhwcmVzc2lvbiA9
IHBhcnNlci5wYXJzZVN0YXRlbWVudChleHByZXNzaW9uLCByZXNvbHZlciwgZWMpOwogICAgIGlm
ICghZXhwci0+bV90b3BFeHByZXNzaW9uKQogICAgICAgICByZXR1cm4gMDsKIApJbmRleDogV2Vi
Q29yZS94cGF0aC9pbXBsL1hQYXRoUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3hw
YXRoL2ltcGwvWFBhdGhQYXJzZXIuY3BwCShyZXZpc2lvbiAxNDcwOSkKKysrIFdlYkNvcmUveHBh
dGgvaW1wbC9YUGF0aFBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzMCwxMCArNDMwLDEy
IEBAIGludCBQYXJzZXI6OmxleCh2b2lkKiBkYXRhKQogICAgIHJldHVybiB0b2sudHlwZTsKIH0K
IAotRXhwcmVzc2lvbiogUGFyc2VyOjpwYXJzZVN0YXRlbWVudChjb25zdCBTdHJpbmcmIHN0YXRl
bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCitFeHByZXNzaW9uKiBQYXJzZXI6OnBhcnNlU3RhdGVt
ZW50KGNvbnN0IFN0cmluZyYgc3RhdGVtZW50LCBQYXNzUmVmUHRyPFhQYXRoTlNSZXNvbHZlcj4g
cmVzb2x2ZXIsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIHJlc2V0KHN0YXRlbWVudCk7CiAg
ICAgCisgICAgbV9yZXNvbHZlciA9IHJlc29sdmVyOworICAgIAogICAgIFBhcnNlciogb2xkUGFy
c2VyID0gY3VycmVudFBhcnNlcjsKICAgICBjdXJyZW50UGFyc2VyID0gdGhpczsKICAgICBpbnQg
cGFyc2VFcnJvciA9IHhwYXRoeXlwYXJzZSh0aGlzKTsKSW5kZXg6IFdlYkNvcmUveHBhdGgvaW1w
bC9YUGF0aFBhcnNlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUveHBhdGgvaW1wbC9YUGF0aFBh
cnNlci5oCShyZXZpc2lvbiAxNDcwOSkKKysrIFdlYkNvcmUveHBhdGgvaW1wbC9YUGF0aFBhcnNl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC00MSw2ICs0MSw5IEBACiAjaW5jbHVkZSAiWFBhdGhVdGls
LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICAKK2NsYXNzIFhQYXRoUmVzb2x2ZXI7Cisg
ICAgCiBuYW1lc3BhY2UgWFBhdGggewogCiBzdHJ1Y3QgVG9rZW4gewpAQCAtNjEsNiArNjQsNyBA
QCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fbmV4dFBvczsKICAgICBTdHJpbmcgbV9kYXRhOwog
ICAgIGludCBtX2xhc3RUb2tlblR5cGU7CisgICAgUmVmUHRyPFhQYXRoTlNSZXNvbHZlcj4gbV9y
ZXNvbHZlcjsKICAgICAKICAgICBzdGF0aWMgSGFzaE1hcDxTdHJpbmcsIFN0ZXA6OkF4aXNUeXBl
Piogc19heGlzTmFtZXNEaWN0OwogICAgIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4qIHNfbm9kZVR5
cGVOYW1lc0RpY3Q7CkBAIC0xMDEsNyArMTA1LDggQEAgcHJpdmF0ZToKIHB1YmxpYzoKICAgICBQ
YXJzZXIoKTsKICAgICAKLSAgICBFeHByZXNzaW9uKiBwYXJzZVN0YXRlbWVudChjb25zdCBTdHJp
bmcmIHN0YXRlbWVudCwgRXhjZXB0aW9uQ29kZSYpOworICAgIFhQYXRoTlNSZXNvbHZlciogcmVz
b2x2ZXIoKSBjb25zdCB7IHJldHVybiBtX3Jlc29sdmVyLmdldCgpOyB9CisgICAgRXhwcmVzc2lv
biogcGFyc2VTdGF0ZW1lbnQoY29uc3QgU3RyaW5nJiBzdGF0ZW1lbnQsIFBhc3NSZWZQdHI8WFBh
dGhOU1Jlc29sdmVyPiwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgc3RhdGljIFBhcnNlciogY3Vy
cmVudCgpIHsgcmV0dXJuIGN1cnJlbnRQYXJzZXI7IH0KICAgICAgICAgICAKQEAgLTEwOSw2ICsx
MTQsNyBAQCBwdWJsaWM6CiAKICAgICBFeHByZXNzaW9uKiBtX3RvcEV4cHI7CiAgICAgYm9vbCBt
X2dvdE5hbWVzcGFjZUVycm9yOworICAgIFN0cmluZyBtX2N1cnJlbnROYW1lc3BhY2VVUkk7CiAg
ICAgCiAgICAgdm9pZCByZWdpc3RlclBhcnNlTm9kZShQYXJzZU5vZGUqKTsKICAgICB2b2lkIHVu
cmVnaXN0ZXJQYXJzZU5vZGUoUGFyc2VOb2RlKik7CkluZGV4OiBXZWJDb3JlL3hwYXRoL2ltcGwv
WFBhdGhFeHByZXNzaW9uTm9kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUveHBhdGgvaW1wbC9Y
UGF0aEV4cHJlc3Npb25Ob2RlLmgJKHJldmlzaW9uIDE0NzA5KQorKysgV2ViQ29yZS94cGF0aC9p
bXBsL1hQYXRoRXhwcmVzc2lvbk5vZGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksOCBA
QAogCiAjaWYgWFBBVEhfU1VQUE9SVAogCisjaW5jbHVkZSAiWFBhdGhOU1Jlc29sdmVyLmgiCisK
ICNpbmNsdWRlICJTdHJpbmdIYXNoLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CkBAIC0zNiwxNCArMzgsMTMgQEAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgTm9kZTsKLWNsYXNzIFhQYXRoTlNSZXNvbHZlcjsKIAogbmFtZXNwYWNlIFhQ
YXRoIHsKIAogY2xhc3MgVmFsdWU7CiAgICAgICAgIAogc3RydWN0IEV2YWx1YXRpb25Db250ZXh0
IHsKLSAgICBFdmFsdWF0aW9uQ29udGV4dCgpIDogbm9kZSgwKSwgc2l6ZSgwKSwgcG9zaXRpb24o
MCksIHJlc29sdmVyKDApIHsgfQorICAgIEV2YWx1YXRpb25Db250ZXh0KCkgOiBub2RlKDApLCBz
aXplKDApLCBwb3NpdGlvbigwKSB7IH0KIAogICAgIFJlZlB0cjxOb2RlPiBub2RlOwogICAgIHVu
c2lnbmVkIGxvbmcgc2l6ZTsKQEAgLTUzLDcgKzU0LDYgQEAgc3RydWN0IEV2YWx1YXRpb25Db250
ZXh0IHsKICAgICAvKiBUaGUgZnVuY3Rpb24gbGlicmFyeSBpcyBnbG9iYWxseSBhY2Nlc3NpYmxl
IHRocm91Z2gKICAgICAgKiBGdW5jdGlvbkxpYnJhcnk6OnNlbGYoKQogICAgICAqLwotICAgIFhQ
YXRoTlNSZXNvbHZlciogcmVzb2x2ZXI7CiB9OwogCiBjbGFzcyBQYXJzZU5vZGUgewpJbmRleDog
V2ViQ29yZS94cGF0aC9pbXBsL1hQYXRoU3RlcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS94
cGF0aC9pbXBsL1hQYXRoU3RlcC5jcHAJKHJldmlzaW9uIDE0NzA5KQorKysgV2ViQ29yZS94cGF0
aC9pbXBsL1hQYXRoU3RlcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAKICNp
bmNsdWRlICJOb2RlLmgiCiAjaW5jbHVkZSAiVGV4dC5oIgogI2luY2x1ZGUgIlhQYXRoTlNSZXNv
bHZlci5oIgorI2luY2x1ZGUgIlhQYXRoUGFyc2VyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IG5hbWVzcGFjZSBYUGF0aCB7CkBAIC02MiwxMSArNjMsMTggQEAgU3RlcDo6U3RlcCgpCiB7CiB9
CiAKLVN0ZXA6OlN0ZXAoQXhpc1R5cGUgYXhpcywgY29uc3QgU3RyaW5nJiBub2RlVGVzdCwgY29u
c3QgVmVjdG9yPFByZWRpY2F0ZSo+JiBwcmVkaWNhdGVzKQotICAgIDogbV9heGlzKGF4aXMpLAot
ICAgIG1fbm9kZVRlc3Qobm9kZVRlc3QpLAotICAgIG1fcHJlZGljYXRlcyhwcmVkaWNhdGVzKQor
U3RlcDo6U3RlcChBeGlzVHlwZSBheGlzLCBjb25zdCBTdHJpbmcmIG5vZGVUZXN0LCBjb25zdCBW
ZWN0b3I8UHJlZGljYXRlKj4gJnByZWRpY2F0ZXMpCisgICAgOiBtX2F4aXMoYXhpcykKKyAgICAs
IG1fbm9kZVRlc3Qobm9kZVRlc3QpCisgICAgLCBtX3ByZWRpY2F0ZXMocHJlZGljYXRlcykKIHsK
KyAgICBQYXJzZXIgKnBhcnNlciA9IFBhcnNlcjo6Y3VycmVudCgpOworICAgIEFTU0VSVChwYXJz
ZXIpOworICAgIAorICAgIGlmICghcGFyc2VyLT5tX2N1cnJlbnROYW1lc3BhY2VVUkkuaXNOdWxs
KCkpIHsKKyAgICAgICAgbV9uYW1lc3BhY2VVUkkgPSBwYXJzZXItPm1fY3VycmVudE5hbWVzcGFj
ZVVSSTsKKyAgICAgICAgcGFyc2VyLT5tX2N1cnJlbnROYW1lc3BhY2VVUkkgPSBTdHJpbmcoKTsK
KyAgICB9CiB9CiAKIFN0ZXA6On5TdGVwKCkKQEAgLTIxMywxNyArMjIxLDE0IEBAIE5vZGVWZWN0
b3IgU3RlcDo6bm9kZXNJbkF4aXMoTm9kZSogY29udGUKIAogTm9kZVZlY3RvciBTdGVwOjpub2Rl
VGVzdE1hdGNoZXMoY29uc3QgTm9kZVZlY3RvciYgbm9kZXMpIGNvbnN0CiB7Ci0gICAgU3RyaW5n
IG5zID0gbmFtZXNwYWNlRnJvbU5vZGV0ZXN0KG1fbm9kZVRlc3QpOwogICAgIE5vZGVWZWN0b3Ig
bWF0Y2hlczsKKwogICAgIGlmIChtX25vZGVUZXN0ID09ICIqIikgewogICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgbm9kZXMuc2l6ZSgpOyBpKyspIHsKICAgICAgICAgICAgIE5vZGUq
IG5vZGUgPSBub2Rlc1tpXS5nZXQoKTsKLSAgICAgICAgICAgIGlmIChub2RlLT5ub2RlVHlwZSgp
ID09IHByaW1hcnlOb2RlVHlwZShtX2F4aXMpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKG5zLmlz
RW1wdHkoKSB8fAotICAgICAgICAgICAgICAgICAgICAgbm9kZS0+bmFtZXNwYWNlVVJJKCkgPT0g
bnMpIHsKLSAgICAgICAgICAgICAgICAgICAgbWF0Y2hlcy5hcHBlbmQobm9kZSk7Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKG5vZGUtPm5vZGVUeXBl
KCkgPT0gcHJpbWFyeU5vZGVUeXBlKG1fYXhpcykgJiYKKyAgICAgICAgICAgICAgICAobV9uYW1l
c3BhY2VVUkkuaXNFbXB0eSgpIHx8IG1fbmFtZXNwYWNlVVJJID09IG5vZGUtPm5hbWVzcGFjZVVS
SSgpKSkKKyAgICAgICAgICAgICAgICBtYXRjaGVzLmFwcGVuZChub2RlKTsKICAgICAgICAgfQog
ICAgICAgICByZXR1cm4gbm9kZXM7CiAgICAgfSBlbHNlIGlmIChtX25vZGVUZXN0ID09ICJ0ZXh0
KCkiKSB7CkBAIC0yNTksMzEgKzI2NCwxNiBAQCBOb2RlVmVjdG9yIFN0ZXA6Om5vZGVUZXN0TWF0
Y2hlcyhjb25zdCBOCiAgICAgfSBlbHNlIGlmIChtX25vZGVUZXN0ID09ICJub2RlKCkiKQogICAg
ICAgICByZXR1cm4gbm9kZXM7CiAgICAgZWxzZSB7Ci0gICAgICAgIFN0cmluZyBwcmVmaXgsIGxv
Y2FsTmFtZTsKLQotICAgICAgICBjb25zdCBpbnQgY29sb24gPSBtX25vZGVUZXN0LmZpbmQoJzon
KTsKLSAgICAgICAgaWYgKGNvbG9uID4gLTEpIHsKLSAgICAgICAgICAgIHByZWZpeCA9IG1fbm9k
ZVRlc3QubGVmdChjb2xvbik7Ci0gICAgICAgICAgICBsb2NhbE5hbWUgPSBtX25vZGVUZXN0LmRl
cHJlY2F0ZWRTdHJpbmcoKS5taWQoY29sb24gKyAxKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgIGxvY2FsTmFtZSA9IG1fbm9kZVRlc3Q7Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAo
IXByZWZpeC5pc0VtcHR5KCkgJiYKLSAgICAgICAgICAgIEV4cHJlc3Npb246OmV2YWx1YXRpb25D
b250ZXh0KCkucmVzb2x2ZXItPmxvb2t1cE5hbWVzcGFjZVVSSShwcmVmaXgpLmlzRW1wdHkoKSkg
ewotICAgICAgICAgICAgICAgIC8qIEZJWE1FOiBUaHJvdyBOQU1FU1BBQ0VfRVJSIGV4Y2VwdGlv
biAqLwotICAgICAgICB9Ci0KICAgICAgICAgaWYgKG1fYXhpcyA9PSBBdHRyaWJ1dGVBeGlzKSB7
CiAgICAgICAgICAgICAvLyBJbiBYUGF0aCBsYW5kLCBuYW1lc3BhY2Ugbm9kZXMgYXJlIG5vdCBh
Y2Nlc3NpYmxlCiAgICAgICAgICAgICAvLyBvbiB0aGUgYXR0cmlidXRlIGF4aXMuCi0gICAgICAg
ICAgICBpZiAobG9jYWxOYW1lID09ICJ4bWxucyIpCisgICAgICAgICAgICBpZiAobV9ub2RlVGVz
dCA9PSAieG1sbnMiKQogICAgICAgICAgICAgICAgIHJldHVybiBtYXRjaGVzOwogCiAgICAgICAg
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbm9kZXMuc2l6ZSgpOyBpKyspIHsKICAgICAg
ICAgICAgICAgICBOb2RlKiBub2RlID0gbm9kZXNbaV0uZ2V0KCk7CiAgICAgICAgICAgICAgICAg
Ci0gICAgICAgICAgICAgICAgaWYgKG5vZGUtPm5vZGVOYW1lKCkgPT0gbG9jYWxOYW1lKSB7Cisg
ICAgICAgICAgICAgICAgaWYgKG5vZGUtPm5vZGVOYW1lKCkgPT0gbV9ub2RlVGVzdCkgewogICAg
ICAgICAgICAgICAgICAgICBtYXRjaGVzLmFwcGVuZChub2RlKTsKICAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7IC8vIFRoZXJlIGNhbiBvbmx5IGJlIG9uZS4KICAgICAgICAgICAgICAgICB9CkBA
IC0yOTUsMTMgKzI4NSwxMyBAQCBOb2RlVmVjdG9yIFN0ZXA6Om5vZGVUZXN0TWF0Y2hlcyhjb25z
dCBOCiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgbm9kZXMuc2l6ZSgpOyBpKyspIHsKICAgICAgICAgICAgICAgICBOb2RlKiBub2RlID0gbm9k
ZXNbaV0uZ2V0KCk7Ci0gCisKICAgICAgICAgICAgICAgICAvLyBXZSB1c2UgdGFnUU5hbWUgaGVy
ZSBiZWNhdXNlIHdlIGRvbid0IHdhbnQgdGhlIGVsZW1lbnQgbmFtZSBpbiB1cHBlcmNhc2UgCiAg
ICAgICAgICAgICAgICAgLy8gbGlrZSB3ZSBnZXQgd2l0aCBIVE1MIGVsZW1lbnRzLgogICAgICAg
ICAgICAgICAgIGlmIChub2RlLT5ub2RlVHlwZSgpID09IE5vZGU6OkVMRU1FTlRfTk9ERSAmJgot
ICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxFbGVtZW50Kj4obm9kZSktPnRhZ1FOYW1l
KCkudG9TdHJpbmcoKSA9PSBsb2NhbE5hbWUpIHsKKyAgICAgICAgICAgICAgICAgICAgc3RhdGlj
X2Nhc3Q8RWxlbWVudCo+KG5vZGUpLT50YWdRTmFtZSgpLmxvY2FsTmFtZSgpID09IG1fbm9kZVRl
c3QgJiYKKyAgICAgICAgICAgICAgICAgICAgKG1fbmFtZXNwYWNlVVJJLmlzTnVsbCgpIHx8IG1f
bmFtZXNwYWNlVVJJID09IG5vZGUtPm5hbWVzcGFjZVVSSSgpKSkKICAgICAgICAgICAgICAgICAg
ICAgbWF0Y2hlcy5hcHBlbmQobm9kZSk7Ci0gICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
fQogCiAgICAgICAgICAgICByZXR1cm4gbWF0Y2hlczsKQEAgLTMxNywxOCArMzA3LDYgQEAgdm9p
ZCBTdGVwOjpvcHRpbWl6ZSgpCiAgICAgICAgIG1fcHJlZGljYXRlc1tpXS0+b3B0aW1pemUoKTsK
IH0KIAotU3RyaW5nIFN0ZXA6Om5hbWVzcGFjZUZyb21Ob2RldGVzdChjb25zdCBTdHJpbmcmIG5v
ZGVUZXN0KSBjb25zdAotewotICAgIGludCBpID0gbm9kZVRlc3QuZmluZCgnOicpOwotICAgIGlm
IChpID09IC0xKQotICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0KLSAgICBTdHJpbmcgcHJlZml4
KG5vZGVUZXN0LmxlZnQoaSkpOwotICAgIAotICAgIE5vZGUqIGN0eE5vZGUgPSBFeHByZXNzaW9u
OjpldmFsdWF0aW9uQ29udGV4dCgpLm5vZGUuZ2V0KCk7Ci0gICAgcmV0dXJuIGN0eE5vZGUtPmxv
b2t1cE5hbWVzcGFjZVVSSShwcmVmaXgpOwotfQotCiBOb2RlOjpOb2RlVHlwZSBTdGVwOjpwcmlt
YXJ5Tm9kZVR5cGUoQXhpc1R5cGUgYXhpcykgY29uc3QKIHsKICAgICBzd2l0Y2ggKGF4aXMpIHsK
SW5kZXg6IFdlYkNvcmUveHBhdGgvaW1wbC9YUGF0aEdyYW1tYXIueQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3hwYXRoL2ltcGwvWFBhdGhHcmFtbWFyLnkJKHJldmlzaW9uIDE0NzA5KQorKysgV2Vi
Q29yZS94cGF0aC9pbXBsL1hQYXRoR3JhbW1hci55CSh3b3JraW5nIGNvcHkpCkBAIC0yMjMsMTEg
KzIyMywyMyBAQCBOb2RlVGVzdDoKICAgICAgICAgY29uc3QgaW50IGNvbG9uID0gJDEtPmZpbmQo
JzonKTsKICAgICAgICAgaWYgKGNvbG9uID4gLTEpIHsKICAgICAgICAgICAgIFN0cmluZyBwcmVm
aXgoJDEtPmxlZnQoY29sb24pKTsKLSAgICAgICAgICAgIFhQYXRoTlNSZXNvbHZlciAqcmVzb2x2
ZXIgPSBFeHByZXNzaW9uOjpldmFsdWF0aW9uQ29udGV4dCgpLnJlc29sdmVyOwotICAgICAgICAg
ICAgaWYgKCFyZXNvbHZlciB8fCByZXNvbHZlci0+bG9va3VwTmFtZXNwYWNlVVJJKHByZWZpeCku
aXNOdWxsKCkpIHsKKyAgICAgICAgICAgIFhQYXRoTlNSZXNvbHZlciAqcmVzb2x2ZXIgPSBzdGF0
aWNfY2FzdDxQYXJzZXIqPihwYXJzZXIpLT5yZXNvbHZlcigpOworICAgICAgICAgICAgaWYgKCFy
ZXNvbHZlcikgewogICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PFBhcnNlcio+KHBhcnNlcikt
Pm1fZ290TmFtZXNwYWNlRXJyb3IgPSB0cnVlOwogICAgICAgICAgICAgICAgIFlZQUJPUlQ7CiAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHN0YXRpY19jYXN0PFBhcnNl
cio+KHBhcnNlciktPm1fY3VycmVudE5hbWVzcGFjZVVSSSA9IHJlc29sdmVyLT5sb29rdXBOYW1l
c3BhY2VVUkkocHJlZml4KTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKHN0YXRpY19j
YXN0PFBhcnNlcio+KHBhcnNlciktPm1fY3VycmVudE5hbWVzcGFjZVVSSS5pc051bGwoKSkgewor
ICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PFBhcnNlcio+KHBhcnNlciktPm1fZ290TmFtZXNw
YWNlRXJyb3IgPSB0cnVlOworICAgICAgICAgICAgICAgIFlZQUJPUlQ7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICAKKyAgICAgICAgICAgICQkID0gbmV3IFN0cmluZygkMS0+ZGVwcmVjYXRl
ZFN0cmluZygpLm1pZChjb2xvbiArIDEpKTsKKyAgICAgICAgICAgIGRlbGV0ZSAkMTsKKyAgICAg
ICAgICAgIHN0YXRpY19jYXN0PFBhcnNlcio+KHBhcnNlciktPnJlZ2lzdGVyU3RyaW5nKCQkKTsK
KyAgICAgICAgICAgIHN0YXRpY19jYXN0PFBhcnNlcio+KHBhcnNlciktPnVucmVnaXN0ZXJTdHJp
bmcoJDEpOwogICAgICAgICB9CiAgICAgfQogICAgIHwKSW5kZXg6IFdlYkNvcmUveHBhdGgvaW1w
bC9YUGF0aFN0ZXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3hwYXRoL2ltcGwvWFBhdGhTdGVw
LmgJKHJldmlzaW9uIDE0NzA5KQorKysgV2ViQ29yZS94cGF0aC9pbXBsL1hQYXRoU3RlcC5oCSh3
b3JraW5nIGNvcHkpCkBAIC02NSw2ICs2NSw3IEBAIHByaXZhdGU6CiAKICAgICBBeGlzVHlwZSBt
X2F4aXM7CiAgICAgU3RyaW5nIG1fbm9kZVRlc3Q7CisgICAgU3RyaW5nIG1fbmFtZXNwYWNlVVJJ
OwogICAgIFZlY3RvcjxQcmVkaWNhdGUqPiBtX3ByZWRpY2F0ZXM7CiB9OwogCkluZGV4OiBXZWJD
b3JlL3hwYXRoL1hQYXRoUmVzdWx0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3hwYXRoL1hQ
YXRoUmVzdWx0LmNwcAkocmV2aXNpb24gMTQ3MDkpCisrKyBXZWJDb3JlL3hwYXRoL1hQYXRoUmVz
dWx0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA2LDcgKzIwNiw3IEBAIE5vZGUqIFhQYXRoUmVz
dWx0OjppdGVyYXRlTmV4dChFeGNlcHRpb24KICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogICAg
IAotICAgIGlmIChtX25vZGVTZXRQb3NpdGlvbiArIDEgPj0gbV9ub2RlU2V0LnNpemUoKSkKKyAg
ICBpZiAobV9ub2RlU2V0UG9zaXRpb24gKyAxID4gbV9ub2RlU2V0LnNpemUoKSkKICAgICAgICAg
cmV0dXJuIDA7CiAKICAgICBOb2RlKiBub2RlID0gbV9ub2RlU2V0W21fbm9kZVNldFBvc2l0aW9u
XS5nZXQoKTsKSW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
Q2hhbmdlTG9nCShyZXZpc2lvbiAxNDcwOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsNDEgQEAKKzIwMDYtMDYtMDMgIEFuZGVycyBDYXJsc3NvbiAgPGFj
YXJsc3NvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9p
ZD05MDM1CisgICAgICAgIGRvY3VtZW50LmV2YWx1YXRlIGFuZCBjcmVhdGVOU1Jlc29sdmVyIG1p
c3Mgb24gbmFtZXNwYWNlZCBlbGVtZW50cworICAgICAgICAKKyAgICAgICAgKiB4cGF0aC9YUGF0
aEV4cHJlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFBhdGhFeHByZXNzaW9uOjpjcmVh
dGVFeHByZXNzaW9uKToKKyAgICAgICAgUGFzcyB0aGUgcmVzb2x2ZXIgdG8gdGhlIHBhcnNlci4K
KyAgICAgICAgCisgICAgICAgICogeHBhdGgvWFBhdGhSZXN1bHQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6WFBhdGhSZXN1bHQ6Oml0ZXJhdGVOZXh0KToKKyAgICAgICAgRml4IG9mZi1ieS1vbmUg
ZXJyb3IuCisgICAgICAgIAorICAgICAgICAqIHhwYXRoL2ltcGwvWFBhdGhFeHByZXNzaW9uTm9k
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OkV2YWx1YXRpb25Db250ZXh0OjpFdmFsdWF0
aW9uQ29udGV4dCk6CisgICAgICAgIEdldCByaWQgb2YgdGhlIHJlc29sdmVyIGluIHRoZSBldmFs
dWF0aW9uIGNvbnRleHQuCisgICAgICAgIAorICAgICAgICAqIHhwYXRoL2ltcGwvWFBhdGhHcmFt
bWFyLnk6CisgICAgICAgIEZldGNoIHRoZSByZXNvbHZlciBmcm9tIHRoZSBwYXJzZXIuIE9ubHkg
cmV0dXJuIHRoZSBsb2NhbCBuYW1lLgorICAgICAgICAKKyAgICAgICAgKiB4cGF0aC9pbXBsL1hQ
YXRoUGFyc2VyLmNwcDogICAgICAgIAorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlBhcnNlcjo6
cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAqIHhwYXRoL2ltcGwvWFBhdGhQYXJzZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlhQYXRoOjpQYXJzZXI6OnJlc29sdmVyKToKKyAgICAgICAgVXBkYXRl
IHRvIGhvbGQgdGhlIHJlc29sdmVyLgorICAgICAgICAKKyAgICAgICAgKiB4cGF0aC9pbXBsL1hQ
YXRoU3RlcC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6U3RlcDo6U3RlcCk6CisgICAg
ICAgIElmIHRoZSBwYXJzZXIgaGFzIHN0b3JlZCBhIG5hbWVzcGFjZSBVUkksIHNldCBpdC4KKyAg
ICAgICAgCisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6U3RlcDo6bm9kZVRlc3RNYXRjaGVzKToK
KyAgICAgICAgQ2hlY2sgbmFtZXNwYWNlIFVSSXMuCisgICAgICAgIAorICAgICAgICAqIHhwYXRo
L2ltcGwvWFBhdGhTdGVwLmg6CisgICAgICAgIEFkZCBtX25hbWVzcGFjZVVSSS4KKwogMjAwNi0w
Ni0wMyAgU3RldmUgRmFsa2VuYnVyZyAgPHNmYWxrZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IGh5YXR0Lgo=
</data>
<flag name="review"
          id="2505"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>