<?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>23109</bug_id>
          
          <creation_ts>2009-01-04 14:51:33 -0800</creation_ts>
          <short_desc>REGRESSION: Backwards search in a long document matches incorrectly</short_desc>
          <delta_ts>2009-01-21 14:43:19 -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>Text</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://build.webkit.org/builders/trunk-mac-ppc-pixel/builds/765/steps/compile-release/logs/stdio</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>darin</cc>
    
    <cc>hausmann</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>104378</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2009-01-04 14:51:33 -0800</bug_when>
    <thetext>To reproduce:
1) Go to the URL
2) Choose Edit &gt; Find &gt; Find
3) In the search field, type &quot;display&quot;
4) Click the previous match button near the search field

Note that the highlighted text is not the word &quot;display&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>104393</commentid>
    <comment_count>1</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-01-04 20:54:43 -0800</bug_when>
    <thetext>Should be simple to fix. I&apos;ll look at it tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>104398</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-01-04 21:44:31 -0800</bug_when>
    <thetext>Given the structure of the code, it&apos;s quite surprising that searching forward works properly and searching backward fails.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>104400</commentid>
    <comment_count>3</comment_count>
      <attachid>26425</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-01-04 23:09:01 -0800</bug_when>
    <thetext>Created attachment 26425
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>104461</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-01-05 11:50:54 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/39609</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106505</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-01-21 14:39:21 -0800</bug_when>
    <thetext>I&apos;d like to note that on a build _without_ the ICU based SearchBuffer the backwards search results in an endless loop, including in the changeset&apos;s testcase fast/text/find-backwards.html. It looks like the goto inserted in the last hunk triggers this, but I don&apos;t know the code well enough to be sure it&apos;s really the goto&apos;s fault or just a symptom.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106506</commentid>
    <comment_count>6</comment_count>
    <who name="">mitz</who>
    <bug_when>2009-01-21 14:40:35 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; I&apos;d like to note that on a build _without_ the ICU based SearchBuffer the
&gt; backwards search results in an endless loop, including in the changeset&apos;s
&gt; testcase fast/text/find-backwards.html. It looks like the goto inserted in the
&gt; last hunk triggers this, but I don&apos;t know the code well enough to be sure it&apos;s
&gt; really the goto&apos;s fault or just a symptom.

Please file a new bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106509</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-01-21 14:43:19 -0800</bug_when>
    <thetext>And please cc me. I&apos;ll be happy to take a crack at fixing it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>26425</attachid>
            <date>2009-01-04 23:09:01 -0800</date>
            <delta_ts>2009-01-05 11:11:17 -0800</delta_ts>
            <desc>patch</desc>
            <filename>FindBackwardsPatch.txt</filename>
            <type>text/plain</type>
            <size>12807</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzOTU5NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMDktMDEtMDQgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyAy
MzEwOTogUkVHUkVTU0lPTjogQmFja3dhcmRzIHNlYXJjaCBpbiBhIGxvbmcgZG9jdW1lbnQgbWF0
Y2hlcyBpbmNvcnJlY3RseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjMxMDkKKworICAgICAgICBUZXN0OiBmYXN0L3RleHQvZmluZC1iYWNrd2FyZHMu
aHRtbAorCisgICAgICAgICogZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2VhcmNoQnVmZmVyOjphcHBlbmQpOiBGaXggaW5jb3JyZWN0IHNpemUgcGFzc2VkIHRv
IG1lbWNweS4KKyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaEJ1ZmZlcjo6c2VhcmNoKTogSGFuZGxl
IGNhc2Ugd2hlcmUgd2UgaGF2ZSBhbiBlbXB0eSBidWZmZXIgYnV0CisgICAgICAgIHdlJ3JlIGF0
IGEgYnJlYWs7IG11c3Qgbm90IHRyeSB0byBzZWFyY2ggYmVjYXVzZSBJQ1Ugd2lsbCBnaXZlIHVz
IGFuIGVycm9yLgorICAgICAgICBGaXggaW5jb3JyZWN0IHNpemUgcGFzc2VkIHRvIG1lbWNweSBh
bmQgbWVtbW92ZS4KKyAgICAgICAgKFdlYkNvcmU6OmZpbmRQbGFpblRleHQpOiBGaXggY2FzZSB3
aGVyZSB3ZSBmb3VuZCBhIG1hdGNoIGFuZCBuZWVkIHRvIHNlYXJjaAorICAgICAgICBhZ2FpbiBi
ZWNhdXNlIHdlIHdhbnQgdG8gZmluZCB0aGUgbGFzdCBtYXRjaC4gV2UgbmVlZCB0byB0cnkgYWdh
aW4gd2l0aG91dAorICAgICAgICBhZGRpbmcgYW55IG1vcmUgdGV4dCBvciBoYW5kbGluZyB0aGUg
YnJlYWsgYmVmb3JlIG1vdmluZyBvbi4KKwogMjAwOS0wMS0wNCAgRGFyaW4gQWRsZXIgIDxkYXJp
bkBhcHBsZS5jb20+CiAKICAgICAgICAgQnVnIDIzMDg2OiBSRUdSRVNTSU9OKHIzOTU0MC9yMzk1
NDEpOiBXaW5kb3dzIGJ1aWxkIGZhaWxzIGR1ZSB0byBJQ1UgZXJyb3JzCkluZGV4OiBXZWJDb3Jl
L2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2VkaXRpbmcv
VGV4dEl0ZXJhdG9yLmNwcAkocmV2aXNpb24gMzk1OTQpCisrKyBXZWJDb3JlL2VkaXRpbmcvVGV4
dEl0ZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI1OSw3ICsxMjU5LDcgQEAgaW5saW5l
IHNpemVfdCBTZWFyY2hCdWZmZXI6OmFwcGVuZChjb25zdAogICAgICAgICBtX2J1ZmZlci5zaHJp
bmsoMCk7CiAgICAgICAgIG1fYXRCcmVhayA9IGZhbHNlOwogICAgIH0gZWxzZSBpZiAobV9idWZm
ZXIuc2l6ZSgpID09IG1fYnVmZmVyLmNhcGFjaXR5KCkpIHsKLSAgICAgICAgbWVtY3B5KG1fYnVm
ZmVyLmRhdGEoKSwgbV9idWZmZXIuZGF0YSgpICsgbV9idWZmZXIuc2l6ZSgpIC0gbV9vdmVybGFw
LCBtX292ZXJsYXApOworICAgICAgICBtZW1jcHkobV9idWZmZXIuZGF0YSgpLCBtX2J1ZmZlci5k
YXRhKCkgKyBtX2J1ZmZlci5zaXplKCkgLSBtX292ZXJsYXAsIG1fb3ZlcmxhcCAqIHNpemVvZihV
Q2hhcikpOwogICAgICAgICBtX2J1ZmZlci5zaHJpbmsobV9vdmVybGFwKTsKICAgICB9CiAKQEAg
LTEyODIsOCArMTI4MiwxMyBAQCBpbmxpbmUgdm9pZCBTZWFyY2hCdWZmZXI6OnJlYWNoZWRCcmVh
aygpCiBpbmxpbmUgc2l6ZV90IFNlYXJjaEJ1ZmZlcjo6c2VhcmNoKHNpemVfdCYgc3RhcnQpCiB7
CiAgICAgc2l6ZV90IHNpemUgPSBtX2J1ZmZlci5zaXplKCk7Ci0gICAgaWYgKCFtX2F0QnJlYWsg
JiYgc2l6ZSA8IG1fYnVmZmVyLmNhcGFjaXR5KCkpCi0gICAgICAgIHJldHVybiAwOworICAgIGlm
IChtX2F0QnJlYWspIHsKKyAgICAgICAgaWYgKCFzaXplKQorICAgICAgICAgICAgcmV0dXJuIDA7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKHNpemUgIT0gbV9idWZmZXIuY2FwYWNpdHkoKSkK
KyAgICAgICAgICAgIHJldHVybiAwOworICAgIH0KIAogICAgIFVTdHJpbmdTZWFyY2gqIHNlYXJj
aGVyID0gV2ViQ29yZTo6c2VhcmNoZXIoKTsKIApAQCAtMTMwMiwxMyArMTMwNywxMyBAQCBpbmxp
bmUgc2l6ZV90IFNlYXJjaEJ1ZmZlcjo6c2VhcmNoKHNpemVfCiAgICAgLy8gVGhlIHNhbWUgbWF0
Y2ggbWF5IGFwcGVhciBsYXRlciwgbWF0Y2hpbmcgbW9yZSBjaGFyYWN0ZXJzLAogICAgIC8vIHBv
c3NpYmx5IGluY2x1ZGluZyBhIGNvbWJpbmluZyBjaGFyYWN0ZXIgdGhhdCdzIG5vdCB5ZXQgaW4g
dGhlIGJ1ZmZlci4KICAgICBpZiAoIW1fYXRCcmVhayAmJiBzdGF0aWNfY2FzdDxzaXplX3Q+KG1h
dGNoU3RhcnQpID49IHNpemUgLSBtX292ZXJsYXApIHsKLSAgICAgICAgbWVtY3B5KG1fYnVmZmVy
LmRhdGEoKSwgbV9idWZmZXIuZGF0YSgpICsgc2l6ZSAtIG1fb3ZlcmxhcCwgbV9vdmVybGFwKTsK
KyAgICAgICAgbWVtY3B5KG1fYnVmZmVyLmRhdGEoKSwgbV9idWZmZXIuZGF0YSgpICsgc2l6ZSAt
IG1fb3ZlcmxhcCwgbV9vdmVybGFwICogc2l6ZW9mKFVDaGFyKSk7CiAgICAgICAgIG1fYnVmZmVy
LnNocmluayhtX292ZXJsYXApOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKICAgICBzaXpl
X3QgbmV3U2l6ZSA9IHNpemUgLSAobWF0Y2hTdGFydCArIDEpOwotICAgIG1lbW1vdmUobV9idWZm
ZXIuZGF0YSgpLCBtX2J1ZmZlci5kYXRhKCkgKyBtYXRjaFN0YXJ0ICsgMSwgbmV3U2l6ZSk7Cisg
ICAgbWVtbW92ZShtX2J1ZmZlci5kYXRhKCksIG1fYnVmZmVyLmRhdGEoKSArIG1hdGNoU3RhcnQg
KyAxLCBuZXdTaXplICogc2l6ZW9mKFVDaGFyKSk7CiAgICAgbV9idWZmZXIuc2hyaW5rKG5ld1Np
emUpOwogCiAgICAgc3RhcnQgPSBzaXplIC0gbWF0Y2hTdGFydDsKQEAgLTE2MjgsNiArMTYzMyw3
IEBAIHRyeUFnYWluOgogICAgICAgICAgICAgLy8gSWYgc2VhcmNoaW5nIGJhY2t3YXJkLCBkb24n
dCBzdG9wLCBzbyB3ZSBlbmQgdXAgd2l0aCB0aGUgbGFzdCBtYXRjaC4KICAgICAgICAgICAgIGlm
IChmb3J3YXJkKQogICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZ290byB0cnlB
Z2FpbjsKICAgICAgICAgfQogICAgICAgICBpZiAoaXQuYXRCcmVhaygpICYmICFidWZmZXIuYXRC
cmVhaygpKSB7CiAgICAgICAgICAgICBidWZmZXIucmVhY2hlZEJyZWFrKCk7CkluZGV4OiBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAzOTU5NCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDA5LTAxLTA0ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNv
bT4KKworICAgICAgICBCdWcgMjMxMDk6IFJFR1JFU1NJT046IEJhY2t3YXJkcyBzZWFyY2ggaW4g
YSBsb25nIGRvY3VtZW50IG1hdGNoZXMgaW5jb3JyZWN0bHkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTA5CisKKyAgICAgICAgKiBmYXN0L3RleHQv
ZmluZC1iYWNrd2FyZHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQv
ZmluZC1iYWNrd2FyZHMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L3Jlc291cmNl
cy9URU1QTEFURS5odG1sOiBDb3BpZWQgZnJvbSBmYXN0L2pzL3Jlc291cmNlcy9URU1QTEFURS5o
dG1sLgorICAgICAgICAqIGZhc3QvdGV4dC9yZXNvdXJjZXMvZmluZC1iYWNrd2FyZHMuanM6IEFk
ZGVkLgorCiAyMDA5LTAxLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIEZpeCB0aGUgZXhwZWN0ZWQgaW1hZ2UgdG8gYWNjb3VudCBmb3IgYSB0eXBv
IGZpeCBkb25lIG9uIDIwMDgtMTItMjMuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3RleHQvZmlu
ZC1iYWNrd2FyZHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
dGV4dC9maW5kLWJhY2t3YXJkcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L3RleHQvZmluZC1iYWNrd2FyZHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDMzIEBACitUZXN0cyBmaW5kIGdvaW5nIGJvdGggZm9yd2FyZCBhbmQgYmFja3dh
cmRzIGluIHNtYWxsIGFuZCBsYXJnZSBkb2N1bWVudHMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitQQVNTIHRlc3RGaW5kKCdhYmMnLCAnYScsIGZvcndhcmQpIGlzICcwLCAxJwor
UEFTUyB0ZXN0RmluZCgnYWJjJywgJ2InLCBmb3J3YXJkKSBpcyAnMSwgMicKK1BBU1MgdGVzdEZp
bmQoJ2FiYycsICdjJywgZm9yd2FyZCkgaXMgJzIsIDMnCitQQVNTIHRlc3RGaW5kKCdhYmMnLCAn
YScsIGJhY2t3YXJkKSBpcyAnMCwgMScKK1BBU1MgdGVzdEZpbmQoJ2FiYycsICdiJywgYmFja3dh
cmQpIGlzICcxLCAyJworUEFTUyB0ZXN0RmluZCgnYWJjJywgJ2MnLCBiYWNrd2FyZCkgaXMgJzIs
IDMnCitQQVNTIHRlc3RGaW5kKHRlblRob3VzYW5kQ2hhcmFjdGVycyArICdhYmMnICsgdGVuVGhv
dXNhbmRDaGFyYWN0ZXJzLCAnYScsIGZvcndhcmQpIGlzICcxMDAwMCwgMTAwMDEnCitQQVNTIHRl
c3RGaW5kKHRlblRob3VzYW5kQ2hhcmFjdGVycyArICdhYmMnICsgdGVuVGhvdXNhbmRDaGFyYWN0
ZXJzLCAnYicsIGZvcndhcmQpIGlzICcxMDAwMSwgMTAwMDInCitQQVNTIHRlc3RGaW5kKHRlblRo
b3VzYW5kQ2hhcmFjdGVycyArICdhYmMnICsgdGVuVGhvdXNhbmRDaGFyYWN0ZXJzLCAnYycsIGZv
cndhcmQpIGlzICcxMDAwMiwgMTAwMDMnCitQQVNTIHRlc3RGaW5kKHRlblRob3VzYW5kQ2hhcmFj
dGVycyArICdhYmMnICsgdGVuVGhvdXNhbmRDaGFyYWN0ZXJzLCAnYScsIGJhY2t3YXJkKSBpcyAn
MTAwMDAsIDEwMDAxJworUEFTUyB0ZXN0RmluZCh0ZW5UaG91c2FuZENoYXJhY3RlcnMgKyAnYWJj
JyArIHRlblRob3VzYW5kQ2hhcmFjdGVycywgJ2InLCBiYWNrd2FyZCkgaXMgJzEwMDAxLCAxMDAw
MicKK1BBU1MgdGVzdEZpbmQodGVuVGhvdXNhbmRDaGFyYWN0ZXJzICsgJ2FiYycgKyB0ZW5UaG91
c2FuZENoYXJhY3RlcnMsICdjJywgYmFja3dhcmQpIGlzICcxMDAwMiwgMTAwMDMnCitQQVNTIHRl
c3RGaW5kKCdhYmNhYmMnLCAnYScsIGZvcndhcmQpIGlzICcwLCAxJworUEFTUyB0ZXN0RmluZCgn
YWJjYWJjJywgJ2InLCBmb3J3YXJkKSBpcyAnMSwgMicKK1BBU1MgdGVzdEZpbmQoJ2FiY2FiYycs
ICdjJywgZm9yd2FyZCkgaXMgJzIsIDMnCitQQVNTIHRlc3RGaW5kKCdhYmNhYmMnLCAnYScsIGJh
Y2t3YXJkKSBpcyAnMywgNCcKK1BBU1MgdGVzdEZpbmQoJ2FiY2FiYycsICdiJywgYmFja3dhcmQp
IGlzICc0LCA1JworUEFTUyB0ZXN0RmluZCgnYWJjYWJjJywgJ2MnLCBiYWNrd2FyZCkgaXMgJzUs
IDYnCitQQVNTIHRlc3RGaW5kKHRlblRob3VzYW5kQ2hhcmFjdGVycyArICdhYmNhYmMnICsgdGVu
VGhvdXNhbmRDaGFyYWN0ZXJzLCAnYScsIGZvcndhcmQpIGlzICcxMDAwMCwgMTAwMDEnCitQQVNT
IHRlc3RGaW5kKHRlblRob3VzYW5kQ2hhcmFjdGVycyArICdhYmNhYmMnICsgdGVuVGhvdXNhbmRD
aGFyYWN0ZXJzLCAnYicsIGZvcndhcmQpIGlzICcxMDAwMSwgMTAwMDInCitQQVNTIHRlc3RGaW5k
KHRlblRob3VzYW5kQ2hhcmFjdGVycyArICdhYmNhYmMnICsgdGVuVGhvdXNhbmRDaGFyYWN0ZXJz
LCAnYycsIGZvcndhcmQpIGlzICcxMDAwMiwgMTAwMDMnCitQQVNTIHRlc3RGaW5kKHRlblRob3Vz
YW5kQ2hhcmFjdGVycyArICdhYmNhYmMnICsgdGVuVGhvdXNhbmRDaGFyYWN0ZXJzLCAnYScsIGJh
Y2t3YXJkKSBpcyAnMTAwMDMsIDEwMDA0JworUEFTUyB0ZXN0RmluZCh0ZW5UaG91c2FuZENoYXJh
Y3RlcnMgKyAnYWJjYWJjJyArIHRlblRob3VzYW5kQ2hhcmFjdGVycywgJ2InLCBiYWNrd2FyZCkg
aXMgJzEwMDA0LCAxMDAwNScKK1BBU1MgdGVzdEZpbmQodGVuVGhvdXNhbmRDaGFyYWN0ZXJzICsg
J2FiY2FiYycgKyB0ZW5UaG91c2FuZENoYXJhY3RlcnMsICdjJywgYmFja3dhcmQpIGlzICcxMDAw
NSwgMTAwMDYnCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZpbmQtYmFj
a3dhcmRzLWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjplb2wtc3R5bGUKICAgKyBu
YXRpdmUKCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3RleHQvZmluZC1iYWNrd2FyZHMuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3RleHQvZmluZC1iYWNrd2FyZHMuaHRtbAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvdGV4dC9maW5kLWJhY2t3YXJkcy5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBz
cmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2ZpbmQtYmFja3dhcmRzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3QvdGV4
dC9maW5kLWJhY2t3YXJkcy5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICAr
IHRleHQvaHRtbApOYW1lOiBzdm46ZW9sLXN0eWxlCiAgICsgbmF0aXZlCgpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L3Jlc291cmNlcy9URU1QTEFURS5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvdGV4dC9yZXNvdXJjZXMvVEVNUExBVEUuaHRtbAkocmV2aXNpb24gMzk1
OTMpCShmcm9tIExheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL1RFTVBMQVRFLmh0bWw6Mzk1
OTMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3RleHQvcmVzb3VyY2VzL1RFTVBMQVRFLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0icmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9
IllPVVJfSlNfRklMRV9IRVJFIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvdGV4dC9yZXNvdXJjZXMvVEVNUExBVEUuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L3RleHQvcmVzb3VyY2VzL1RFTVBMQVRFLmh0bWwJKHJldmlzaW9uIDM5NTkz
KQorKysgTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3Jlc291cmNlcy9URU1QTEFURS5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDEzICsxLDEzIEBACiA8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+CiA8aHRtbD4KIDxoZWFkPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSJyZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgotPHNjcmlwdCBzcmM9InJlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5Pgog
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIDxzY3Jp
cHQgc3JjPSJZT1VSX0pTX0ZJTEVfSEVSRSI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L3RleHQvcmVzb3VyY2VzL2ZpbmQtYmFja3dhcmRzLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvdGV4dC9yZXNvdXJjZXMvZmluZC1iYWNrd2FyZHMuanMJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3RleHQvcmVzb3VyY2VzL2ZpbmQtYmFj
a3dhcmRzLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDcwIEBACitkZXNjcmlwdGlvbigiVGVz
dHMgZmluZCBnb2luZyBib3RoIGZvcndhcmQgYW5kIGJhY2t3YXJkcyBpbiBzbWFsbCBhbmQgbGFy
Z2UgZG9jdW1lbnRzLiIpOworCit2YXIgc2VsZWN0aW9uID0gZ2V0U2VsZWN0aW9uKCk7CisKK2Z1
bmN0aW9uIHRlc3RGaW5kKHN1YmplY3RTdHJpbmcsIHBhdHRlcm4sIGJhY2t3YXJkcykKK3sKKyAg
ICB2YXIgdGV4dE5vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShzdWJqZWN0U3RyaW5nKTsK
KyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHROb2RlKTsKKyAgICBzZWxlY3Rpb24u
cmVtb3ZlQWxsUmFuZ2VzKCk7CisgICAgaWYgKGJhY2t3YXJkcykgeworICAgICAgICB2YXIgYWZ0
ZXJUZXh0Tm9kZVJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKKyAgICAgICAgYWZ0ZXJU
ZXh0Tm9kZVJhbmdlLnNldFN0YXJ0QWZ0ZXIodGV4dE5vZGUpOworICAgICAgICBhZnRlclRleHRO
b2RlUmFuZ2Uuc2V0RW5kQWZ0ZXIodGV4dE5vZGUpOworICAgICAgICBzZWxlY3Rpb24uYWRkUmFu
Z2UoYWZ0ZXJUZXh0Tm9kZVJhbmdlKTsKKyAgICB9IGVsc2UgeworICAgICAgICB2YXIgYmVmb3Jl
VGV4dE5vZGVSYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7CisgICAgICAgIGJlZm9yZVRl
eHROb2RlUmFuZ2Uuc2V0U3RhcnRCZWZvcmUodGV4dE5vZGUpOworICAgICAgICBiZWZvcmVUZXh0
Tm9kZVJhbmdlLnNldEVuZEJlZm9yZSh0ZXh0Tm9kZSk7CisgICAgICAgIHNlbGVjdGlvbi5hZGRS
YW5nZShiZWZvcmVUZXh0Tm9kZVJhbmdlKTsKKyAgICB9CisgICAgdmFyIHJlc3VsdDsKKyAgICBp
ZiAoIWZpbmQocGF0dGVybiwgZmFsc2UsIGJhY2t3YXJkcykpCisgICAgICAgIHJlc3VsdCA9ICJu
b3QgZm91bmQiCisgICAgZWxzZSBpZiAoc2VsZWN0aW9uLnJhbmdlQ291bnQgIT0gMSkKKyAgICAg
ICAgcmVzdWx0ID0gImludGVybmFsIGluY29uc2lzdGVuY3kiOworICAgIGVsc2UgeworICAgICAg
ICB2YXIgcmVzdWx0UmFuZ2UgPSBzZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKTsKKyAgICAgICAgaWYg
KHJlc3VsdFJhbmdlLnN0YXJ0Q29udGFpbmVyICE9PSB0ZXh0Tm9kZSB8fCByZXN1bHRSYW5nZS5l
bmRDb250YWluZXIgIT09IHRleHROb2RlKQorICAgICAgICAgICAgcmVzdWx0ID0gIm5vdCBmb3Vu
ZCI7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdFJhbmdlLnN0YXJ0
T2Zmc2V0ICsgIiwgIiArIHJlc3VsdFJhbmdlLmVuZE9mZnNldDsKKyAgICB9CisgICAgZG9jdW1l
bnQuYm9keS5yZW1vdmVDaGlsZCh0ZXh0Tm9kZSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwor
dmFyIGZvcndhcmQgPSBmYWxzZTsKK3ZhciBiYWNrd2FyZCA9IHRydWU7CisKK3ZhciBtYW55Q2hh
cmFjdGVycyA9ICIxMjM0NTY3ODkwIgorZm9yIChpID0gMDsgaSA8IDEwOyArK2kpCisgICAgbWFu
eUNoYXJhY3RlcnMgKz0gbWFueUNoYXJhY3RlcnM7Cit2YXIgdGVuVGhvdXNhbmRDaGFyYWN0ZXJz
ID0gbWFueUNoYXJhY3RlcnMuc3Vic3RyaW5nKDAsIDEwMDAwKTsKKworc2hvdWxkQmUoInRlc3RG
aW5kKCdhYmMnLCAnYScsIGZvcndhcmQpIiwgIicwLCAxJyIpOworc2hvdWxkQmUoInRlc3RGaW5k
KCdhYmMnLCAnYicsIGZvcndhcmQpIiwgIicxLCAyJyIpOworc2hvdWxkQmUoInRlc3RGaW5kKCdh
YmMnLCAnYycsIGZvcndhcmQpIiwgIicyLCAzJyIpOworc2hvdWxkQmUoInRlc3RGaW5kKCdhYmMn
LCAnYScsIGJhY2t3YXJkKSIsICInMCwgMSciKTsKK3Nob3VsZEJlKCJ0ZXN0RmluZCgnYWJjJywg
J2InLCBiYWNrd2FyZCkiLCAiJzEsIDInIik7CitzaG91bGRCZSgidGVzdEZpbmQoJ2FiYycsICdj
JywgYmFja3dhcmQpIiwgIicyLCAzJyIpOworc2hvdWxkQmUoInRlc3RGaW5kKHRlblRob3VzYW5k
Q2hhcmFjdGVycyArICdhYmMnICsgdGVuVGhvdXNhbmRDaGFyYWN0ZXJzLCAnYScsIGZvcndhcmQp
IiwgIicxMDAwMCwgMTAwMDEnIik7CitzaG91bGRCZSgidGVzdEZpbmQodGVuVGhvdXNhbmRDaGFy
YWN0ZXJzICsgJ2FiYycgKyB0ZW5UaG91c2FuZENoYXJhY3RlcnMsICdiJywgZm9yd2FyZCkiLCAi
JzEwMDAxLCAxMDAwMiciKTsKK3Nob3VsZEJlKCJ0ZXN0RmluZCh0ZW5UaG91c2FuZENoYXJhY3Rl
cnMgKyAnYWJjJyArIHRlblRob3VzYW5kQ2hhcmFjdGVycywgJ2MnLCBmb3J3YXJkKSIsICInMTAw
MDIsIDEwMDAzJyIpOworc2hvdWxkQmUoInRlc3RGaW5kKHRlblRob3VzYW5kQ2hhcmFjdGVycyAr
ICdhYmMnICsgdGVuVGhvdXNhbmRDaGFyYWN0ZXJzLCAnYScsIGJhY2t3YXJkKSIsICInMTAwMDAs
IDEwMDAxJyIpOworc2hvdWxkQmUoInRlc3RGaW5kKHRlblRob3VzYW5kQ2hhcmFjdGVycyArICdh
YmMnICsgdGVuVGhvdXNhbmRDaGFyYWN0ZXJzLCAnYicsIGJhY2t3YXJkKSIsICInMTAwMDEsIDEw
MDAyJyIpOworc2hvdWxkQmUoInRlc3RGaW5kKHRlblRob3VzYW5kQ2hhcmFjdGVycyArICdhYmMn
ICsgdGVuVGhvdXNhbmRDaGFyYWN0ZXJzLCAnYycsIGJhY2t3YXJkKSIsICInMTAwMDIsIDEwMDAz
JyIpOworc2hvdWxkQmUoInRlc3RGaW5kKCdhYmNhYmMnLCAnYScsIGZvcndhcmQpIiwgIicwLCAx
JyIpOworc2hvdWxkQmUoInRlc3RGaW5kKCdhYmNhYmMnLCAnYicsIGZvcndhcmQpIiwgIicxLCAy
JyIpOworc2hvdWxkQmUoInRlc3RGaW5kKCdhYmNhYmMnLCAnYycsIGZvcndhcmQpIiwgIicyLCAz
JyIpOworc2hvdWxkQmUoInRlc3RGaW5kKCdhYmNhYmMnLCAnYScsIGJhY2t3YXJkKSIsICInMywg
NCciKTsKK3Nob3VsZEJlKCJ0ZXN0RmluZCgnYWJjYWJjJywgJ2InLCBiYWNrd2FyZCkiLCAiJzQs
IDUnIik7CitzaG91bGRCZSgidGVzdEZpbmQoJ2FiY2FiYycsICdjJywgYmFja3dhcmQpIiwgIic1
LCA2JyIpOworc2hvdWxkQmUoInRlc3RGaW5kKHRlblRob3VzYW5kQ2hhcmFjdGVycyArICdhYmNh
YmMnICsgdGVuVGhvdXNhbmRDaGFyYWN0ZXJzLCAnYScsIGZvcndhcmQpIiwgIicxMDAwMCwgMTAw
MDEnIik7CitzaG91bGRCZSgidGVzdEZpbmQodGVuVGhvdXNhbmRDaGFyYWN0ZXJzICsgJ2FiY2Fi
YycgKyB0ZW5UaG91c2FuZENoYXJhY3RlcnMsICdiJywgZm9yd2FyZCkiLCAiJzEwMDAxLCAxMDAw
MiciKTsKK3Nob3VsZEJlKCJ0ZXN0RmluZCh0ZW5UaG91c2FuZENoYXJhY3RlcnMgKyAnYWJjYWJj
JyArIHRlblRob3VzYW5kQ2hhcmFjdGVycywgJ2MnLCBmb3J3YXJkKSIsICInMTAwMDIsIDEwMDAz
JyIpOworc2hvdWxkQmUoInRlc3RGaW5kKHRlblRob3VzYW5kQ2hhcmFjdGVycyArICdhYmNhYmMn
ICsgdGVuVGhvdXNhbmRDaGFyYWN0ZXJzLCAnYScsIGJhY2t3YXJkKSIsICInMTAwMDMsIDEwMDA0
JyIpOworc2hvdWxkQmUoInRlc3RGaW5kKHRlblRob3VzYW5kQ2hhcmFjdGVycyArICdhYmNhYmMn
ICsgdGVuVGhvdXNhbmRDaGFyYWN0ZXJzLCAnYicsIGJhY2t3YXJkKSIsICInMTAwMDQsIDEwMDA1
JyIpOworc2hvdWxkQmUoInRlc3RGaW5kKHRlblRob3VzYW5kQ2hhcmFjdGVycyArICdhYmNhYmMn
ICsgdGVuVGhvdXNhbmRDaGFyYWN0ZXJzLCAnYycsIGJhY2t3YXJkKSIsICInMTAwMDUsIDEwMDA2
JyIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
</data>
<flag name="review"
          id="12529"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>