<?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>38779</bug_id>
          
          <creation_ts>2010-05-07 15:55:37 -0700</creation_ts>
          <short_desc>[Qt] QWebPage::inputMethodQuery() returns wrong values for Qt::ImCursorPosition, Qt::ImAnchorPosition</short_desc>
          <delta_ts>2010-05-20 07:59:48 -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>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>35784</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter>rajiv.ramanasankaran</reporter>
          <assigned_to>rajiv.ramanasankaran</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>hausmann</cc>
    
    <cc>jesus</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>rajiv.ramanasankaran</cc>
    
    <cc>robert</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>222672</commentid>
    <comment_count>0</comment_count>
    <who name="">rajiv.ramanasankaran</who>
    <bug_when>2010-05-07 15:55:37 -0700</bug_when>
    <thetext>QWebPage::inputMethodQuery(Qt::ImCursorPosition) returns the end index (renderTextControl-&gt;selectionEnd()) of a selection inside an input field instead of the current cursor position. 

QWebPage::inputMethodQuery(Qt::ImAnchorPosition) returns the start index (renderTextControl-&gt;selectionStart()) of a selection inside an input field instead of the anchor position.

To be specific: In Webkit, the START and END indices always correspond to the left and right edges of a selection irrespective of the current cursor direction. The bug is that the current implementation of QWebPage::inputMethodQuery() assumes incorrectly that the anchor position is the START index and that the current cursor position always corresponds to the END index.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>222675</commentid>
    <comment_count>1</comment_count>
    <who name="">rajiv.ramanasankaran</who>
    <bug_when>2010-05-07 15:58:19 -0700</bug_when>
    <thetext>I am working on a patch for submission.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224596</commentid>
    <comment_count>2</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2010-05-12 07:28:06 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; I am working on a patch for submission.

Please consider adding an auto-test to it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224678</commentid>
    <comment_count>3</comment_count>
    <who name="">rajiv.ramanasankaran</who>
    <bug_when>2010-05-12 09:30:54 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (In reply to comment #1)
&gt; &gt; I am working on a patch for submission.
&gt; Please consider adding an auto-test to it.

Thanks! Just to clarify:
I am working on a patch (including the fix and auto-tests) for submission.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226592</commentid>
    <comment_count>4</comment_count>
      <attachid>56206</attachid>
    <who name="">rajiv.ramanasankaran</who>
    <bug_when>2010-05-16 19:47:14 -0700</bug_when>
    <thetext>Created attachment 56206
Prosposed patch to fix the return values for Qt::ImCursorPosition and Qt::ImAnchorPosition in QWebPage::inputMethodQuery() when the Editor doesn&apos;t have a composition.

The patch fixes the issue of incorrect values been returned for Qt::ImCursorPosition and Qt::ImAnchorPosition in QWebPage::inputMethodQuery() when the Editor doesn&apos;t have a composition.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226849</commentid>
    <comment_count>5</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-05-17 12:13:56 -0700</bug_when>
    <thetext>So is it not solvable when in Composition mode? Or not relevant? (Not a loaded question, genuinely don&apos;t know.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226862</commentid>
    <comment_count>6</comment_count>
    <who name="">rajiv.ramanasankaran</who>
    <bug_when>2010-05-17 12:49:35 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; So is it not solvable when in Composition mode? Or not relevant? (Not a loaded question, genuinely don&apos;t know.)

Sorry I wasn&apos;t specific. The values seem to be correct in Composition mode. I don&apos;t think there is a bug in that case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226887</commentid>
    <comment_count>7</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-05-17 13:50:03 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; So is it not solvable when in Composition mode? Or not relevant? (Not a loaded question, genuinely don&apos;t know.)
&gt; 
&gt; Sorry I wasn&apos;t specific. The values seem to be correct in Composition mode. I don&apos;t think there is a bug in that case.

Funny, tst_qwebpage has:

    //Set selection with negative length
    inputAttributes &lt;&lt; QInputMethodEvent::Attribute(QInputMethodEvent::Selection, 6, -5, QVariant());
    QInputMethodEvent eventSelection3(&quot;&quot;,inputAttributes);
    page-&gt;event(&amp;eventSelection3);

    //ImAnchorPosition
    variant = page-&gt;inputMethodQuery(Qt::ImAnchorPosition);
    anchorPosition =  variant.toInt();
    QCOMPARE(anchorPosition, 1);

    //ImCursorPosition
    variant = page-&gt;inputMethodQuery(Qt::ImCursorPosition);
    cursorPosition =  variant.toInt();
    QCOMPARE(cursorPosition, 6);

which would suggest the opposite to me, but I don&apos;t know too much about input methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226894</commentid>
    <comment_count>8</comment_count>
    <who name="">rajiv.ramanasankaran</who>
    <bug_when>2010-05-17 14:17:23 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (In reply to comment #5)
&gt; &gt; &gt; So is it not solvable when in Composition mode? Or not relevant? (Not a loaded question, genuinely don&apos;t know.)
&gt; &gt; 
&gt; &gt; Sorry I wasn&apos;t specific. The values seem to be correct in Composition mode. I don&apos;t think there is a bug in that case.
&gt; Funny, tst_qwebpage has:
&gt;     //Set selection with negative length
&gt;     inputAttributes &lt;&lt; QInputMethodEvent::Attribute(QInputMethodEvent::Selection, 6, -5, QVariant());
&gt;     QInputMethodEvent eventSelection3(&quot;&quot;,inputAttributes);
&gt;     page-&gt;event(&amp;eventSelection3);
&gt;     //ImAnchorPosition
&gt;     variant = page-&gt;inputMethodQuery(Qt::ImAnchorPosition);
&gt;     anchorPosition =  variant.toInt();
&gt;     QCOMPARE(anchorPosition, 1);
&gt;     //ImCursorPosition
&gt;     variant = page-&gt;inputMethodQuery(Qt::ImCursorPosition);
&gt;     cursorPosition =  variant.toInt();
&gt;     QCOMPARE(cursorPosition, 6);
&gt; which would suggest the opposite to me, but I don&apos;t know too much about input methods.

This test case causes the Editor to go into composistion mode and therefore QWebPage::inputMethodQuery() returns the correct values. I don&apos;t know whether it is supposed to go into composition mode in this case or not (And that is the concern I raised in an email to you last week since this test case was part of your commit #58218). The test case I am fixing is when the editor is not in composition mode and is different than this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227487</commentid>
    <comment_count>9</comment_count>
      <attachid>56206</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-05-18 13:58:17 -0700</bug_when>
    <thetext>Comment on attachment 56206
Prosposed patch to fix the return values for Qt::ImCursorPosition and Qt::ImAnchorPosition in QWebPage::inputMethodQuery() when the Editor doesn&apos;t have a composition.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228358</commentid>
    <comment_count>10</comment_count>
      <attachid>56206</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-05-20 06:57:12 -0700</bug_when>
    <thetext>Comment on attachment 56206
Prosposed patch to fix the return values for Qt::ImCursorPosition and Qt::ImAnchorPosition in QWebPage::inputMethodQuery() when the Editor doesn&apos;t have a composition.

Clearing flags on attachment: 56206

Committed r59833: &lt;http://trac.webkit.org/changeset/59833&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228359</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-05-20 06:57:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228376</commentid>
    <comment_count>12</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-05-20 07:59:28 -0700</bug_when>
    <thetext>Revision r59833 cherry-picked into qtwebkit-2.0 with commit cf6ec10122bf813a16705f55b29f522a78ce83de</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56206</attachid>
            <date>2010-05-16 19:47:14 -0700</date>
            <delta_ts>2010-05-20 06:57:12 -0700</delta_ts>
            <desc>Prosposed patch to fix the return values for Qt::ImCursorPosition and Qt::ImAnchorPosition in QWebPage::inputMethodQuery() when the Editor doesn&apos;t have a composition.</desc>
            <filename>bug-38779.patch</filename>
            <type>text/plain</type>
            <size>6610</size>
            <attacher>rajiv.ramanasankaran</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNTk1ODgpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTAtMDUtMTYgIFJhaml2IFJhbWFuYXNhbmthcmFuICA8
cmFqaXYucmFtYW5hc2Fua2FyYW5Abm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgW1F0XSBRV2ViUGFnZTo6aW5wdXRNZXRo
b2RRdWVyeSgpIHJldHVybnMgd3JvbmcgdmFsdWVzIGZvciBRdDo6SW1DdXJzb3JQb3NpdGlvbiwg
UXQ6OkltQW5jaG9yUG9zaXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM4Nzc5CisKKyAgICAgICAgVGhlIGVhcmxpZXIgaW1wbGVtZW50YXRpb24g
d2FzIHdyaXR0ZW4gd2l0aCB0aGUgYXNzdW1wdGlvbiB0aGF0IGluIHRoaXMgc2NlbmFyaW8gdGhl
IAorICAgICAgICBhbmNob3IgcG9zaXRpb24gYWx3YXlzIGNvcnJlc3BvbmRzIHRvIHRoZSBTVEFS
VCBpbmRleCBhbmQgdGhhdCB0aGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24KKyAgICAgICAgYWx3
YXlzIGNvcnJlc3BvbmRzIHRvIHRoZSBFTkQgaW5kZXggaW4gV2ViS2l0LgorCisgICAgICAgIFVw
ZGF0ZWQgdGhlIGltcGxlbWVudGF0aW9uIG9mIFFXZWJQYWdlOjppbnB1dE1ldGhvZFF1ZXJ5KFF0
OjpJbUN1cnNvclBvc2l0aW9uKSBhbmQgCisgICAgICAgIFFXZWJQYWdlOjppbnB1dE1ldGhvZFF1
ZXJ5KFF0OjpJbUFuY2hvclBvc2l0aW9uKSBmb3IgdGhlIGNhc2Ugd2hlcmUgdGhlIEVkaXRvciBp
cyBub3QgaW4KKyAgICAgICAgY29tcG9zaXRpb24gbW9kZS4gSW4gdGhlIG5vbi1jb21wb3NpdGlv
biBtb2RlLCB0aGUgQW5jaG9yIGFuZCB0aGUgQ3VycmVudCBjdXJzb3IgcG9zaXRpb25zCisgICAg
ICAgIGNvcnJlc3BvbmQgdG8gdGhlIEJhc2UgYW5kIEV4dGVudCBwb3NpdGlvbiBvZmZzZXRzIGlu
IFdlYktpdC4KKworICAgICAgICBBbHNvIGFkZGVkIHRoZSBhdXRvLXRlc3RzIGZvciB0aGUgUklH
SFQgdG8gTEVGVCBhbmQgTEVGVCB0byBSSUdIVCBzZWxlY3Rpb25zLgorCisgICAgICAgICogQXBp
L3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKFFXZWJQYWdlOjppbnB1dE1ldGhvZFF1ZXJ5KTogTm93
IHJldHVybmluZyBjb3JyZWN0IHZhbHVlcyBmb3IgUXQ6OkltQ3Vyc29yUG9zaXRpb24gYW5kCisg
ICAgICAgIFF0OjpJbUFuY2hvclBvc2l0aW9uIHdoZW4gdGhlIEVkaXRvciBpcyBub3QgaW4gY29t
cG9zaXRpb24gbW9kZS4gCisgICAgICAgICogdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNw
cDoKKyAgICAgICAgKHRzdF9RV2ViUGFnZTo6aW5wdXRNZXRob2RzKTogQWRkZWQgYXV0by10ZXN0
cyBmb3IgUklHSFQgdG8gTEVGVCBhbmQgTEVGVCB0byBSSUdIVCBzZWxlY3Rpb25zCisKIDIwMTAt
MDUtMTYgIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpJbmRleDogV2ViS2l0L3F0L0FwaS9x
d2VicGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAJKHJl
dmlzaW9uIDU5NTQzKQorKysgV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEzNjksNyArMTM2OSw3IEBAIFFWYXJpYW50IFFXZWJQYWdlOjppbnB1dE1ldGhvZFF1
ZXJ5KFF0OjoKICAgICAgICAgICAgICAgICAgICAgUmVmUHRyPFJhbmdlPiByYW5nZSA9IGVkaXRv
ci0+Y29tcG9zaXRpb25SYW5nZSgpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gUVZhcmlh
bnQocmVuZGVyVGV4dENvbnRyb2wtPnNlbGVjdGlvbkVuZCgpIC0gVGV4dEl0ZXJhdG9yOjpyYW5n
ZUxlbmd0aChyYW5nZS5nZXQoKSkpOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICByZXR1cm4gUVZhcmlhbnQocmVuZGVyVGV4dENvbnRyb2wtPnNlbGVjdGlvbkVuZCgpKTsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gUVZhcmlhbnQoZnJhbWUtPnNlbGVjdGlvbigpLT5leHRlbnQo
KS5vZmZzZXRJbkNvbnRhaW5lck5vZGUoKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBy
ZXR1cm4gUVZhcmlhbnQoKTsKICAgICAgICAgfQpAQCAtMTQwMSw3ICsxNDAxLDcgQEAgUVZhcmlh
bnQgUVdlYlBhZ2U6OmlucHV0TWV0aG9kUXVlcnkoUXQ6OgogICAgICAgICAgICAgICAgICAgICBS
ZWZQdHI8UmFuZ2U+IHJhbmdlID0gZWRpdG9yLT5jb21wb3NpdGlvblJhbmdlKCk7CiAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBRVmFyaWFudChyZW5kZXJUZXh0Q29udHJvbC0+c2VsZWN0aW9u
U3RhcnQoKSAtIFRleHRJdGVyYXRvcjo6cmFuZ2VMZW5ndGgocmFuZ2UuZ2V0KCkpKTsKICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFFWYXJpYW50KHJlbmRlclRleHRD
b250cm9sLT5zZWxlY3Rpb25TdGFydCgpKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gUVZhcmlh
bnQoZnJhbWUtPnNlbGVjdGlvbigpLT5iYXNlKCkub2Zmc2V0SW5Db250YWluZXJOb2RlKCkpOwog
ICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0dXJuIFFWYXJpYW50KCk7CiAgICAgICAgIH0K
SW5kZXg6IFdlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwCShyZXZpc2lv
biA1OTU0MykKKysrIFdlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xNDk0LDYgKzE0OTQsOTggQEAgdm9pZCB0c3RfUVdlYlBhZ2U6Omlu
cHV0TWV0aG9kcygpCiAgICAgUUNPTVBBUkUodmFsdWUsIFFTdHJpbmcoIlF0V2ViS2l0IikpOwog
I2VuZGlmCiAKKyAgICAvLyBDYW5jZWwgY3VycmVudCBjb21wb3NpdGlvbiBmaXJzdAorICAgIGlu
cHV0QXR0cmlidXRlcyA8PCBRSW5wdXRNZXRob2RFdmVudDo6QXR0cmlidXRlKFFJbnB1dE1ldGhv
ZEV2ZW50OjpTZWxlY3Rpb24sIDAsIDAsIFFWYXJpYW50KCkpOworICAgIFFJbnB1dE1ldGhvZEV2
ZW50IGV2ZW50U2VsZWN0aW9uNCgiIiwgaW5wdXRBdHRyaWJ1dGVzKTsKKyAgICBwYWdlLT5ldmVu
dCgmZXZlbnRTZWxlY3Rpb240KTsKKworICAgIC8vIFNUQVJUIC0gVGVzdHMgZm9yIFNlbGVjdGlv
biB3aGVuIHRoZSBFZGl0b3IgaXMgTk9UIGluIENvbXBvc2l0aW9uIG1vZGUKKworICAgIC8vIExF
RlQgdG8gUklHSFQgc2VsZWN0aW9uCisgICAgLy8gRGVzZWxlY3QgdGhlIHNlbGVjdGlvbiBieSBz
ZW5kaW5nIE1vdXNlQnV0dG9uUHJlc3MgZXZlbnRzCisgICAgLy8gVGhpcyBtb3ZlcyB0aGUgY3Vy
cmVudCBjdXJzb3IgdG8gdGhlIGVuZCBvZiB0aGUgdGV4dAorICAgIHBhZ2UtPmV2ZW50KCZldnBy
ZXMpOworICAgIHBhZ2UtPmV2ZW50KCZldnJlbCk7CisKKyAgICAvL01vdmUgdG8gdGhlIHN0YXJ0
IG9mIHRoZSBsaW5lCisgICAgcGFnZS0+dHJpZ2dlckFjdGlvbihRV2ViUGFnZTo6TW92ZVRvU3Rh
cnRPZkxpbmUpOworCisgICAgUUtleUV2ZW50IGtleVJpZ2h0RXZlbnRQcmVzcyhRRXZlbnQ6Oktl
eVByZXNzLCBRdDo6S2V5X1JpZ2h0LCBRdDo6Tm9Nb2RpZmllcik7CisgICAgUUtleUV2ZW50IGtl
eVJpZ2h0RXZlbnRSZWxlYXNlKFFFdmVudDo6S2V5UmVsZWFzZSwgUXQ6OktleV9SaWdodCwgUXQ6
Ok5vTW9kaWZpZXIpOworCisgICAgLy9Nb3ZlIDIgY2hhcmFjdGVycyBSSUdIVAorICAgIGZvciAo
aW50IGogPSAwOyBqIDwgMjsgKytqKSB7CisgICAgICAgIHBhZ2UtPmV2ZW50KCZrZXlSaWdodEV2
ZW50UHJlc3MpOworICAgICAgICBwYWdlLT5ldmVudCgma2V5UmlnaHRFdmVudFJlbGVhc2UpOwor
ICAgIH0KKworICAgIC8vU2VsZWN0IHRvIHRoZSBlbmQgb2YgdGhlIGxpbmUKKyAgICBwYWdlLT50
cmlnZ2VyQWN0aW9uKFFXZWJQYWdlOjpTZWxlY3RFbmRPZkxpbmUpOworCisgICAgLy9JbUFuY2hv
clBvc2l0aW9uIFF0V2ViS2l0CisgICAgdmFyaWFudCA9IHBhZ2UtPmlucHV0TWV0aG9kUXVlcnko
UXQ6OkltQW5jaG9yUG9zaXRpb24pOworICAgIGFuY2hvclBvc2l0aW9uID0gIHZhcmlhbnQudG9J
bnQoKTsKKyAgICBRQ09NUEFSRShhbmNob3JQb3NpdGlvbiwgMik7CisKKyAgICAvL0ltQ3Vyc29y
UG9zaXRpb24KKyAgICB2YXJpYW50ID0gcGFnZS0+aW5wdXRNZXRob2RRdWVyeShRdDo6SW1DdXJz
b3JQb3NpdGlvbik7CisgICAgY3Vyc29yUG9zaXRpb24gPSAgdmFyaWFudC50b0ludCgpOworICAg
IFFDT01QQVJFKGN1cnNvclBvc2l0aW9uLCA4KTsKKworICAgIC8vSW1DdXJyZW50U2VsZWN0aW9u
CisgICAgdmFyaWFudCA9IHBhZ2UtPmlucHV0TWV0aG9kUXVlcnkoUXQ6OkltQ3VycmVudFNlbGVj
dGlvbik7CisgICAgc2VsZWN0aW9uVmFsdWUgPSB2YXJpYW50LnZhbHVlPFFTdHJpbmc+KCk7Cisg
ICAgUUNPTVBBUkUoc2VsZWN0aW9uVmFsdWUsIFFTdHJpbmcoIldlYktpdCIpKTsKKworICAgIC8v
UklHSFQgdG8gTEVGVCBzZWxlY3Rpb24KKyAgICAvL0Rlc2VsZWN0IHRoZSBzZWxlY3Rpb24gKHRo
aXMgbW92ZXMgdGhlIGN1cnJlbnQgY3Vyc29yIHRvIHRoZSBlbmQgb2YgdGhlIHRleHQpCisgICAg
cGFnZS0+ZXZlbnQoJmV2cHJlcyk7CisgICAgcGFnZS0+ZXZlbnQoJmV2cmVsKTsKKworICAgIC8v
SW1BbmNob3JQb3NpdGlvbgorICAgIHZhcmlhbnQgPSBwYWdlLT5pbnB1dE1ldGhvZFF1ZXJ5KFF0
OjpJbUFuY2hvclBvc2l0aW9uKTsKKyAgICBhbmNob3JQb3NpdGlvbiA9ICB2YXJpYW50LnRvSW50
KCk7CisgICAgUUNPTVBBUkUoYW5jaG9yUG9zaXRpb24sIDgpOworCisgICAgLy9JbUN1cnNvclBv
c2l0aW9uCisgICAgdmFyaWFudCA9IHBhZ2UtPmlucHV0TWV0aG9kUXVlcnkoUXQ6OkltQ3Vyc29y
UG9zaXRpb24pOworICAgIGN1cnNvclBvc2l0aW9uID0gIHZhcmlhbnQudG9JbnQoKTsKKyAgICBR
Q09NUEFSRShjdXJzb3JQb3NpdGlvbiwgOCk7CisKKyAgICAvL0ltQ3VycmVudFNlbGVjdGlvbgor
ICAgIHZhcmlhbnQgPSBwYWdlLT5pbnB1dE1ldGhvZFF1ZXJ5KFF0OjpJbUN1cnJlbnRTZWxlY3Rp
b24pOworICAgIHNlbGVjdGlvblZhbHVlID0gdmFyaWFudC52YWx1ZTxRU3RyaW5nPigpOworICAg
IFFDT01QQVJFKHNlbGVjdGlvblZhbHVlLCBRU3RyaW5nKCIiKSk7CisKKyAgICBRS2V5RXZlbnQg
a2V5TGVmdEV2ZW50UHJlc3MoUUV2ZW50OjpLZXlQcmVzcywgUXQ6OktleV9MZWZ0LCBRdDo6Tm9N
b2RpZmllcik7CisgICAgUUtleUV2ZW50IGtleUxlZnRFdmVudFJlbGVhc2UoUUV2ZW50OjpLZXlS
ZWxlYXNlLCBRdDo6S2V5X0xlZnQsIFF0OjpOb01vZGlmaWVyKTsKKworICAgIC8vTW92ZSAyIGNo
YXJhY3RlcnMgTEVGVAorICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMjsgKytpKSB7CisgICAgICAg
IHBhZ2UtPmV2ZW50KCZrZXlMZWZ0RXZlbnRQcmVzcyk7CisgICAgICAgIHBhZ2UtPmV2ZW50KCZr
ZXlMZWZ0RXZlbnRSZWxlYXNlKTsKKyAgICB9CisKKyAgICAvL1NlbGVjdCB0byB0aGUgc3RhcnQg
b2YgdGhlIGxpbmUKKyAgICBwYWdlLT50cmlnZ2VyQWN0aW9uKFFXZWJQYWdlOjpTZWxlY3RTdGFy
dE9mTGluZSk7CisKKyAgICAvL0ltQW5jaG9yUG9zaXRpb24KKyAgICB2YXJpYW50ID0gcGFnZS0+
aW5wdXRNZXRob2RRdWVyeShRdDo6SW1BbmNob3JQb3NpdGlvbik7CisgICAgYW5jaG9yUG9zaXRp
b24gPSAgdmFyaWFudC50b0ludCgpOworICAgIFFDT01QQVJFKGFuY2hvclBvc2l0aW9uLCA2KTsK
KworICAgIC8vSW1DdXJzb3JQb3NpdGlvbgorICAgIHZhcmlhbnQgPSBwYWdlLT5pbnB1dE1ldGhv
ZFF1ZXJ5KFF0OjpJbUN1cnNvclBvc2l0aW9uKTsKKyAgICBjdXJzb3JQb3NpdGlvbiA9ICB2YXJp
YW50LnRvSW50KCk7CisgICAgUUNPTVBBUkUoY3Vyc29yUG9zaXRpb24sIDApOworCisgICAgLy9J
bUN1cnJlbnRTZWxlY3Rpb24KKyAgICB2YXJpYW50ID0gcGFnZS0+aW5wdXRNZXRob2RRdWVyeShR
dDo6SW1DdXJyZW50U2VsZWN0aW9uKTsKKyAgICBzZWxlY3Rpb25WYWx1ZSA9IHZhcmlhbnQudmFs
dWU8UVN0cmluZz4oKTsKKyAgICBRQ09NUEFSRShzZWxlY3Rpb25WYWx1ZSwgUVN0cmluZygiUXRX
ZWJLIikpOworCisgICAgLy9FTkQgLSBUZXN0cyBmb3IgU2VsZWN0aW9uIHdoZW4gdGhlIEVkaXRv
ciBpcyBub3QgaW4gQ29tcG9zaXRpb24gbW9kZQorCiAgICAgLy9JbWhIaWRkZW5UZXh0CiAgICAg
UU1vdXNlRXZlbnQgZXZwcmVzUGFzc3dvcmQoUUV2ZW50OjpNb3VzZUJ1dHRvblByZXNzLCBpbnB1
dHMuYXQoMSkuZ2VvbWV0cnkoKS5jZW50ZXIoKSwgUXQ6OkxlZnRCdXR0b24sIFF0OjpOb0J1dHRv
biwgUXQ6Ok5vTW9kaWZpZXIpOwogICAgIHBhZ2UtPmV2ZW50KCZldnByZXNQYXNzd29yZCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>