<?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>90806</bug_id>
          
          <creation_ts>2012-07-09 11:10:40 -0700</creation_ts>
          <short_desc>[Qt] Improve the mobile theme slightly</short_desc>
          <delta_ts>2012-07-13 17:16:01 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Pierre Rossi">pierre.rossi</reporter>
          <assigned_to name="Pierre Rossi">pierre.rossi</assigned_to>
          <cc>kenneth</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>665010</commentid>
    <comment_count>0</comment_count>
    <who name="Pierre Rossi">pierre.rossi</who>
    <bug_when>2012-07-09 11:10:40 -0700</bug_when>
    <thetext>[Qt] Improve the mobile theme slightly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>665071</commentid>
    <comment_count>1</comment_count>
      <attachid>151296</attachid>
    <who name="Pierre Rossi">pierre.rossi</who>
    <bug_when>2012-07-09 12:29:04 -0700</bug_when>
    <thetext>Created attachment 151296
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666346</commentid>
    <comment_count>2</comment_count>
      <attachid>151296</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-07-10 22:19:57 -0700</bug_when>
    <thetext>Comment on attachment 151296
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=151296&amp;action=review

&gt; Source/WebCore/ChangeLog:10
&gt; +        Reviewed by NOBODY (OOPS!).

weird placement

&gt; Source/WebCore/platform/qt/RenderThemeQtMobile.cpp:118
&gt; + *      4      |&lt;---&gt;| 3                    0  |  xÎ + x  |    y

unicode problem?

&gt; Source/WebCore/platform/qt/RenderThemeQtMobile.cpp:129
&gt; +static void addPointToOctants(QVector&lt;QPainterPath&gt; &amp;octants, const QPointF &amp;center, qreal x, qreal y , int xDelta = 0)

no space before , pls

&gt; Source/WebCore/platform/qt/RenderThemeQtMobile.cpp:131
&gt; +    ASSERT(octants.count() == 8);

newline after assert

&gt; Source/WebCore/platform/qt/RenderThemeQtMobile.cpp:135
&gt; +        // The Gray code corresponding to the octant&apos;s index helps doing the math in a more generic way

why Gray with uppercase? why no punctuation mark at end?

&gt; Source/WebCore/platform/qt/RenderThemeQtMobile.cpp:165
&gt; +    qreal x = 0, y;

not webkit style

&gt; Source/WebCore/platform/qt/RenderThemeQtMobile.cpp:167
&gt; +    // stay within reasonable distance from edge values, which can cause artifacts at certain zoom levels

missing dot, start with capital

&gt; Source/WebCore/platform/qt/RenderThemeQtMobile.cpp:169
&gt; +    for (y = radius - epsilon ; y - epsilon &gt; x; y -= 0.5) {

no space before ;

&gt; Source/WebCore/platform/qt/RenderThemeQtMobile.h:59
&gt; +    // We don&apos;t want the focus ring to be drawn by the graphics context so we
&gt; +    // always claim to support it in the theme.
&gt; +    // FIXME: This could be a usability problem in the case of contenteditable divs.
&gt; +    virtual bool supportsFocusRing(const RenderStyle*) const { return true; }

what does other ports do? mobile ports</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666688</commentid>
    <comment_count>3</comment_count>
      <attachid>151690</attachid>
    <who name="Pierre Rossi">pierre.rossi</who>
    <bug_when>2012-07-11 05:26:28 -0700</bug_when>
    <thetext>Created attachment 151690
Patch

Fixed style issues pointed out by Kenneth ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666690</commentid>
    <comment_count>4</comment_count>
    <who name="Pierre Rossi">pierre.rossi</who>
    <bug_when>2012-07-11 05:32:15 -0700</bug_when>
    <thetext>(In reply to comment #2)

&gt; &gt; Source/WebCore/platform/qt/RenderThemeQtMobile.h:59
&gt; &gt; +    // We don&apos;t want the focus ring to be drawn by the graphics context so we
&gt; &gt; +    // always claim to support it in the theme.
&gt; &gt; +    // FIXME: This could be a usability problem in the case of contenteditable divs.
&gt; &gt; +    virtual bool supportsFocusRing(const RenderStyle*) const { return true; }
&gt; 
&gt; what does other ports do? mobile ports

Now on that one it&apos;s particularly tricky for us because we have this whole WK1 vs. WK2, QStyle vs. hardcoded mobile theme dilemma. When the focus ring for contentEditable divs is drawn by the graphics context, this whole logic fails.
I think the best way to solve this in a clean fashion would be to adopt&apos;s chromium approach with PlatformSupport, even for styling, but it&apos;s a bit bigger than the scope of this current patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669609</commentid>
    <comment_count>5</comment_count>
      <attachid>151690</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-13 17:15:57 -0700</bug_when>
    <thetext>Comment on attachment 151690
Patch

Clearing flags on attachment: 151690

Committed r122647: &lt;http://trac.webkit.org/changeset/122647&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669610</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-13 17:16:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151296</attachid>
            <date>2012-07-09 12:29:04 -0700</date>
            <delta_ts>2012-07-11 05:26:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90806-20120709213032.patch</filename>
            <type>text/plain</type>
            <size>8844</size>
            <attacher name="Pierre Rossi">pierre.rossi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjUyNzdiMTBiYWFhZjkz
ZDM2YmI4ODcxZTk0Y2ZlYjk4MmZhNzRhMS4uNGJmZmVkMTk0ZmUzZjlhYTFlMmE5NmU0ODAyOTE5
ZTI2YmE5MGU1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA3LTA5ICBQaWVy
cmUgUm9zc2kgIDxwaWVycmUucm9zc2lAZ21haWwuY29tPgorCisgICAgICAgIFtRdF0gSW1wcm92
ZSB0aGUgbW9iaWxlIHRoZW1lIHNsaWdodGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05MDgwNgorCisgICAgICAgIEltcHJvdmUgZHJhd2luZyBvZiB0
aGUgbW9iaWxlIHRoZW1lJ3MgY29udHJvbHMnIGJhY2tncm91bmQuCisKKyAgICAgICAgRW5zdXJl
IHRoZSBmb2N1cyByaW5nIG5ldmVyIGFwcGVhcnMgd2l0aCB0aGUgbW9iaWxlIHRoZW1lLCBzaW5j
ZSBpdAorICAgICAgICBsb29rcyBiYWQgaW4gY29tYmluYXRpb24gd2l0aCB0aGUgaGlnaGxpZ2h0
cy4KKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLiBUaGUgcGFpbnRpbmcgY29kZSBmcm9tIHRoZSBtb2JpbGUgdGhlbWUgaXMgc3RpbGwK
KyAgICAgICAgbm90IGNvdmVyZWQgc3BlY2lmaWNhbGx5IChpdCB3aWxsIHdoZW4gd2UgcmV2aXZl
IHBpeGVsIHRlc3RzKS4KKworICAgICAgICAqIHBsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXRNb2Jp
bGUuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjphZGRQb2ludFRv
T2N0YW50cyk6IEFkZGVkLiBUaGlzIGlzIHNpbXBseSBhIGhlbHBlciB0byBhdm9pZAorICAgICAg
ICAgICAgZG9pbmcgdG9vIG11Y2ggZHVwbGljYXRlIHdvcmsgaW4gZHJhd0NvbnRyb2xCYWNrZ3Jv
dW5kLgorICAgICAgICAoV2ViQ29yZTo6ZHJhd0NvbnRyb2xCYWNrZ3JvdW5kKTogUmVseSBvbiB0
aGUgb2N0YW50IGxvZ2ljIGFkZGVkIGFib3ZlCisgICAgICAgICAgICBhbmQgdGFrZSB0aGUgb3Bw
b3J0dW5pdHkgdG8gaW5jcmVhc2UgdGhlIGdyYW51bGFyaXR5LgorICAgICAgICAoV2ViQ29yZTo6
Ym9yZGVyUGVuKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUGFpbnRlck1vYmlsZTo6ZmluZExp
bmVFZGl0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXRNb2JpbGU6OmFkanVzdFRl
eHRGaWVsZFN0eWxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0TW9iaWxl
Lmg6CisgICAgICAgIChSZW5kZXJUaGVtZVF0TW9iaWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lUXRNb2JpbGU6OnN1cHBvcnRzRm9jdXNSaW5nKToKKwogMjAxMi0wNy0wOSAgVGFp
anUgVHN1aWtpICA8dHppa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
QWRkIHRleHQgZmlsZSBzdXBwb3J0IGZvciBGaWxlU3lzdGVtQWdlbnQ6OnJlcXVlc3RGaWxlQ29u
dGVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVR
dE1vYmlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0TW9i
aWxlLmNwcAppbmRleCAxNzBkMzliNTk3OWFhNTczMmNkNWEwOGJiZWIxNjQ0ZTExZTc2NzdmLi45
MmE4MGRmN2NiN2NhZDdlNTliYWM5YTQ0YjNmMDAwZTNlZWViYWE4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0TW9iaWxlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0TW9iaWxlLmNwcApAQCAtNjYsNyAr
NjYsNyBAQCBzdGF0aWMgY29uc3QgZmxvYXQgYnV0dG9uUGFkZGluZ1JpZ2h0ID0gMTg7CiBzdGF0
aWMgY29uc3QgZmxvYXQgYnV0dG9uUGFkZGluZ1RvcCA9IDI7CiBzdGF0aWMgY29uc3QgZmxvYXQg
YnV0dG9uUGFkZGluZ0JvdHRvbSA9IDM7CiBzdGF0aWMgY29uc3QgZmxvYXQgbWVudUxpc3RQYWRk
aW5nID0gOTsKLXN0YXRpYyBjb25zdCBmbG9hdCB0ZXh0RmllbGRQYWRkaW5nID0gNTsKK3N0YXRp
YyBjb25zdCBmbG9hdCB0ZXh0RmllbGRQYWRkaW5nID0gMTA7CiBzdGF0aWMgY29uc3QgZmxvYXQg
cmFkaXVzRmFjdG9yID0gMC4zNjsKIHN0YXRpYyBjb25zdCBmbG9hdCBwcm9ncmVzc0JhckNodW5r
UGVyY2VudGFnZSA9IDAuMjsKICNpZiBFTkFCTEUoUFJPR1JFU1NfVEFHKQpAQCAtMTA4LDYgKzEw
OCw0MyBAQCB1aW50IHFIYXNoKGNvbnN0IEtleUlkZW50aWZpZXImIGlkKQogICAgIHJldHVybiBo
YXNoOwogfQogCisvKgorICogVGhlIG9jdGFudHMnIGluZGljZXMgYXJlIGlkZW50aWZpZWQgYmVs
b3csIGZvciBlYWNoIHBvaW50ICh4LHkpCisgKiBpbiB0aGUgZmlyc3Qgb2N0YW50LCB3ZSBjYW4g
cG9wdWxhdGUgdGhlIDcgb3RoZXJzIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcKKyAqIHBvaW50Lgor
ICoKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXggfCAgIHhw
b3MgICB8ICAgeXBvcworICogICAgICAgICAgICAgICAgeM6UICAgICAgICAgICAgICAgICAgICAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqICAgICAgNCAgICAgIHw8LS0tPnwgMyAgICAg
ICAgICAgICAgICAgICAgMCAgfCAgeM6UICsgeCAgfCAgICB5CisgKiAgICAgX19fX19fX19fX19f
X19fX19fICAgICAgICAgICAgICAgICAgIDEgIHwgIHjOlCArIHkgIHwgICAgeAorICogICAgLyAg
ICAgICAgICAgICAgICAgIFwgICAgICAgICAgICAgICAgICAyICB8ICB4zpQgKyB5ICB8ICAgLXgK
KyAqIDUgfCAgICAgICAgIC4oYykgICAgICAgfCAgMiAgICAgICAgICAgICAgMyAgfCAgeM6UICsg
eCAgfCAgIC15CisgKiA2IHwgICAgICAgICAgICAgICAgICAgIHwgIDEgICAgICAgICAgICAgIDQg
IHwgLXjOlCAtIHggIHwgICAteQorICogICAgXF9fX19fX19fX19fX19fX19fXy8gICAgICAgICAg
ICAgICAgICA1ICB8IC14zpQgLSB5ICB8ICAgLXgKKyAqICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgNiAgfCAteM6UIC0geSAgfCAgICB4CisgKiAgICAgIDcgICAgICAg
ICAgICAgIDAgICAgICAgICAgICAgICAgICAgIDcgIHwgLXjOlCAtIHggIHwgICAgeQorICoKKyAq
Ki8KKworc3RhdGljIHZvaWQgYWRkUG9pbnRUb09jdGFudHMoUVZlY3RvcjxRUGFpbnRlclBhdGg+
ICZvY3RhbnRzLCBjb25zdCBRUG9pbnRGICZjZW50ZXIsIHFyZWFsIHgsIHFyZWFsIHkgLCBpbnQg
eERlbHRhID0gMCkKK3sKKyAgICBBU1NFUlQob2N0YW50cy5jb3VudCgpID09IDgpOworICAgIGZv
ciAoc2hvcnQgaSA9IDA7IGkgPCA4OyArK2kpIHsKKyAgICAgICAgUVBhaW50ZXJQYXRoJiBvY3Rh
bnQgPSBvY3RhbnRzW2ldOworICAgICAgICBRUG9pbnRGIHBvcyhjZW50ZXIpOworICAgICAgICAv
LyBUaGUgR3JheSBjb2RlIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG9jdGFudCdzIGluZGV4IGhlbHBz
IGRvaW5nIHRoZSBtYXRoIGluIGEgbW9yZSBnZW5lcmljIHdheQorICAgICAgICBjb25zdCBzaG9y
dCBncmF5ID0gKGkgPj4gMSkgXiBpOworICAgICAgICBjb25zdCBxcmVhbCB4T2Zmc2V0ID0geERl
bHRhICsgKChncmF5ICYgMSkgPyB5IDogeCk7CisgICAgICAgIHBvcy5yeSgpICs9ICgoZ3JheSAm
IDIpPyAtMSA6IDEpICogKChncmF5ICYgMSkgPyB4IDogeSk7CisgICAgICAgIHBvcy5yeCgpICs9
IChpIDwgNCkgPyB4T2Zmc2V0IDogLXhPZmZzZXQ7CisKKyAgICAgICAgaWYgKG9jdGFudC5lbGVt
ZW50Q291bnQoKSkKKyAgICAgICAgICAgIG9jdGFudC5saW5lVG8ocG9zKTsKKyAgICAgICAgZWxz
ZSAvLyBUaGUgcGF0aCBpcyBlbXB0eS4gSW5pdGlhbGl6ZSB0aGUgc3RhcnQgcG9pbnQuCisgICAg
ICAgICAgICBvY3RhbnQubW92ZVRvKHBvcyk7CisgICAgfQorfQorCiBzdGF0aWMgdm9pZCBkcmF3
Q29udHJvbEJhY2tncm91bmQoUVBhaW50ZXIqIHBhaW50ZXIsIGNvbnN0IFFQZW4mIHBlbiwgY29u
c3QgUVJlY3QmIHJlY3QsIGNvbnN0IFFCcnVzaCYgYnJ1c2gpCiB7CiAgICAgUVBlbiBvbGRQZW4g
PSBwYWludGVyLT5wZW4oKTsKQEAgLTExNiwyOCArMTUzLDMxIEBAIHN0YXRpYyB2b2lkIGRyYXdD
b250cm9sQmFja2dyb3VuZChRUGFpbnRlciogcGFpbnRlciwgY29uc3QgUVBlbiYgcGVuLCBjb25z
dCBRUmVjCiAgICAgcGFpbnRlci0+c2V0UGVuKHBlbik7CiAgICAgcGFpbnRlci0+c2V0QnJ1c2go
YnJ1c2gpOwogCi0gICAgY29uc3QgaW50IGxpbmUgPSAxOwotICAgIGNvbnN0IFFSZWN0IHBhZGRl
ZFJlY3QgPSByZWN0LmFkanVzdGVkKGxpbmUsIGxpbmUsIC1saW5lLCAtbGluZSk7CisgICAgc3Rh
dGljIGNvbnN0IHFyZWFsIGxpbmUgPSAxLjU7CisgICAgY29uc3QgUVJlY3RGIHBhZGRlZFJlY3Qg
PSByZWN0LmFkanVzdGVkKGxpbmUsIGxpbmUsIC1saW5lLCAtbGluZSk7CiAKLSAgICBjb25zdCBp
bnQgbiA9IDM7CisgICAgc3RhdGljIGNvbnN0IGludCBuID0gMzsKICAgICBjb25zdCBxcmVhbCBp
bnZQb3cgPSAxIC8gZG91YmxlKG4pOwogICAgIEFTU0VSVChwYWRkZWRSZWN0LndpZHRoKCkgPj0g
cGFkZGVkUmVjdC5oZWlnaHQoKSk7CiAgICAgY29uc3QgaW50IHJhZGl1cyA9IHBhZGRlZFJlY3Qu
aGVpZ2h0KCkgLyAyOwogICAgIGNvbnN0IGludCB4RGVsdGEgPSBwYWRkZWRSZWN0LndpZHRoKCkg
LyAyIC0gcmFkaXVzOwotICAgIGNvbnN0IFFQb2ludCBjZW50ZXIgPSBwYWRkZWRSZWN0LnRvcExl
ZnQoKSArIFFQb2ludCh4RGVsdGEgKyByYWRpdXMsIHJhZGl1cyk7Ci0gICAgcXJlYWwgeCwgeTsK
LSAgICBRUGFpbnRlclBhdGggcGF0aDsKLSAgICBwYXRoLm1vdmVUbygteERlbHRhLCAtcmFkaXVz
KTsKLSAgICBmb3IgKHkgPSAtcmFkaXVzIDsgeSA8PSByYWRpdXM7ICsreSkgewotICAgICAgICB4
ID0gLXhEZWx0YSAtIHJhZGl1cyAqIHBvdygxIC0gcG93KHFBYnMoeSkgLyByYWRpdXMgLCBuKSwg
aW52UG93KTsKLSAgICAgICAgcGF0aC5saW5lVG8oeCwgeSk7CisgICAgY29uc3QgUVBvaW50RiBj
ZW50ZXIgPSBwYWRkZWRSZWN0LmNlbnRlcigpOworICAgIHFyZWFsIHggPSAwLCB5OworICAgIFFW
ZWN0b3I8UVBhaW50ZXJQYXRoPiBvY3RhbnRzKDgpOworICAgIC8vIHN0YXkgd2l0aGluIHJlYXNv
bmFibGUgZGlzdGFuY2UgZnJvbSBlZGdlIHZhbHVlcywgd2hpY2ggY2FuIGNhdXNlIGFydGlmYWN0
cyBhdCBjZXJ0YWluIHpvb20gbGV2ZWxzCisgICAgc3RhdGljIGNvbnN0IGZsb2F0IGVwc2lsb24g
PSAwLjAyOworICAgIGZvciAoeSA9IHJhZGl1cyAtIGVwc2lsb24gOyB5IC0gZXBzaWxvbiA+IHg7
IHkgLT0gMC41KSB7CisgICAgICAgIHggPSByYWRpdXMgKiBwb3coMSAtIHBvdyhxQWJzKHkpIC8g
cmFkaXVzICwgbiksIGludlBvdyk7CisgICAgICAgIGFkZFBvaW50VG9PY3RhbnRzKG9jdGFudHMs
IGNlbnRlciwgeCwgeSwgeERlbHRhKTsKICAgICB9Ci0gICAgZm9yICh5ID0gcmFkaXVzIDsgeSA+
PSAtcmFkaXVzOyAtLXkpIHsKLSAgICAgICAgeCA9ICB4RGVsdGEgKyByYWRpdXMgKiBwb3coMSAt
IHBvdyhxQWJzKHkpIC8gcmFkaXVzICwgbiksIGludlBvdyk7Ci0gICAgICAgIHBhdGgubGluZVRv
KHgsIHkpOworCisgICAgUVBhaW50ZXJQYXRoIHBhdGggPSBvY3RhbnRzLmZpcnN0KCk7CisgICAg
Zm9yIChpbnQgaSA9IDE7IGkgPCA4OyArK2kpIHsKKyAgICAgICAgLy8gRHVlIHRvIHRoZSBvcmll
bnRhdGlvbiBvZiB0aGUgYXJjcywgd2UgbmVlZCB0byByZXZlcnNlIHRoZSBwYXRocyB3aXRoIG9k
ZCBpbmRpY2VzLgorICAgICAgICBRUGFpbnRlclBhdGggc3ViUGF0aCA9IChpICUgMikgPyAgb2N0
YW50cy5hdChpKS50b1JldmVyc2VkKCkgOiBvY3RhbnRzLmF0KGkpOworICAgICAgICBwYXRoLmNv
bm5lY3RQYXRoKHN1YlBhdGgpOwogICAgIH0KICAgICBwYXRoLmNsb3NlU3VicGF0aCgpOwotICAg
IHBhdGgudHJhbnNsYXRlKGNlbnRlcik7CiAKICAgICBwYWludGVyLT5kcmF3UGF0aChwYXRoKTsK
ICAgICBwYWludGVyLT5zZXRQZW4ob2xkUGVuKTsKQEAgLTE1Miw3ICsxOTIsNyBAQCBzdGF0aWMg
aW5saW5lIFFSZWN0IHNocmlua1JlY3RUb1NxdWFyZShjb25zdCBRUmVjdCYgcmVjdCkKIAogc3Rh
dGljIGlubGluZSBRUGVuIGJvcmRlclBlbihRUGFpbnRlciogcGFpbnRlciA9IDApCiB7Ci0gICAg
cmV0dXJuIFFQZW4oZGFya0NvbG9yLCAwLjQgKiBwYWludGVyU2NhbGUocGFpbnRlciksIFF0OjpT
b2xpZExpbmUsIFF0OjpSb3VuZENhcCwgUXQ6OlJvdW5kSm9pbik7CisgICAgcmV0dXJuIFFQZW4o
ZGFya0NvbG9yLCBxTWluKDEuMCwgMC40ICogcGFpbnRlclNjYWxlKHBhaW50ZXIpKSk7CiB9CiAK
IFFTaGFyZWRQb2ludGVyPFN0eWxlUGFpbnRlcj4gUmVuZGVyVGhlbWVRdE1vYmlsZTo6Z2V0U3R5
bGVQYWludGVyKGNvbnN0IFBhaW50SW5mbyYgcGkpCkBAIC0zODMsMTQgKzQyMywxNCBAQCBRUGl4
bWFwIFN0eWxlUGFpbnRlck1vYmlsZTo6ZmluZExpbmVFZGl0KGNvbnN0IFFTaXplICYgc2l6ZSwg
Ym9vbCBmb2N1c2VkKSBjb25zdAogCiAgICAgaWYgKCFmaW5kQ2FjaGVkQ29udHJvbChpZCwgJnJl
c3VsdCkpIHsKICAgICAgICAgY29uc3QgaW50IGZvY3VzRnJhbWUgPSBwYWludGVyU2NhbGUocGFp
bnRlcik7Ci0gICAgICAgIHJlc3VsdCA9IFFQaXhtYXAoc2l6ZSArIFFTaXplKDIgKiBmb2N1c0Zy
YW1lLCAyICogZm9jdXNGcmFtZSkpOworICAgICAgICByZXN1bHQgPSBRUGl4bWFwKHNpemUpOwog
ICAgICAgICByZXN1bHQuZmlsbChRdDo6dHJhbnNwYXJlbnQpOwogICAgICAgICBjb25zdCBRUmVj
dCByZWN0ID0gcmVzdWx0LnJlY3QoKS5hZGp1c3RlZChmb2N1c0ZyYW1lLCBmb2N1c0ZyYW1lLCAt
Zm9jdXNGcmFtZSwgLWZvY3VzRnJhbWUpOwogICAgICAgICBRUGFpbnRlciBjYWNoZVBhaW50ZXIo
JnJlc3VsdCk7CiAgICAgICAgIGRyYXdDb250cm9sQmFja2dyb3VuZCgmY2FjaGVQYWludGVyLCBi
b3JkZXJQZW4ocGFpbnRlciksIHJlY3QsIFF0Ojp3aGl0ZSk7CiAKICAgICAgICAgaWYgKGZvY3Vz
ZWQpIHsKLSAgICAgICAgICAgIFFQZW4gZm9jdXNQZW4oaGlnaGxpZ2h0Q29sb3IsIGZvY3VzRnJh
bWUsIFF0OjpTb2xpZExpbmUsIFF0OjpSb3VuZENhcCwgUXQ6OlJvdW5kSm9pbik7CisgICAgICAg
ICAgICBRUGVuIGZvY3VzUGVuKGhpZ2hsaWdodENvbG9yLCAxLjIgKiBwYWludGVyU2NhbGUocGFp
bnRlciksIFF0OjpTb2xpZExpbmUpOwogICAgICAgICAgICAgZHJhd0NvbnRyb2xCYWNrZ3JvdW5k
KCZjYWNoZVBhaW50ZXIsIGZvY3VzUGVuLCByZWN0LCBRdDo6Tm9CcnVzaCk7CiAgICAgICAgIH0K
ICAgICAgICAgaW5zZXJ0SW50b0NhY2hlKGlkLCByZXN1bHQpOwpAQCAtNjk3LDYgKzczNywxMCBA
QCB2b2lkIFJlbmRlclRoZW1lUXRNb2JpbGU6OmFkanVzdFRleHRGaWVsZFN0eWxlKFN0eWxlUmVz
b2x2ZXIqLCBSZW5kZXJTdHlsZSogc3R5bAogICAgIC8vIHBhZGRpbmcuIEp1c3Qgd29ydGgga2Vl
cGluZyBpbiBtaW5kIQogICAgIHN0eWxlLT5zZXRCYWNrZ3JvdW5kQ29sb3IoQ29sb3I6OnRyYW5z
cGFyZW50KTsKICAgICBzdHlsZS0+cmVzZXRCb3JkZXIoKTsKKyAgICBzdHlsZS0+c2V0Qm9yZGVy
VG9wV2lkdGgoZnJhbWVXaWR0aCk7CisgICAgc3R5bGUtPnNldEJvcmRlclJpZ2h0V2lkdGgoZnJh
bWVXaWR0aCk7CisgICAgc3R5bGUtPnNldEJvcmRlckJvdHRvbVdpZHRoKGZyYW1lV2lkdGgpOwor
ICAgIHN0eWxlLT5zZXRCb3JkZXJMZWZ0V2lkdGgoZnJhbWVXaWR0aCk7CiAgICAgc3R5bGUtPnJl
c2V0UGFkZGluZygpOwogICAgIGNvbXB1dGVTaXplQmFzZWRPblN0eWxlKHN0eWxlKTsKICAgICBz
dHlsZS0+c2V0UGFkZGluZ0xlZnQoTGVuZ3RoKHRleHRGaWVsZFBhZGRpbmcsIEZpeGVkKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0TW9iaWxl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0TW9iaWxlLmgKaW5k
ZXggYmMyMDM2Yzc5MjM3YWE4ZjhhYjFmNmUzZDMzNmFjNjljNDY4YjcyZC4uMmQxZTUzZGFkOWVk
NWNjZWQ4ODg0Njk2NmJhOWJhYjY0YjQxOGEzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdE1vYmlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3F0L1JlbmRlclRoZW1lUXRNb2JpbGUuaApAQCAtNTMsOCArNTMsMTAgQEAgcHVibGlj
OgogCiAgICAgdmlydHVhbCBib29sIGRlbGVnYXRlc01lbnVMaXN0UmVuZGVyaW5nKCkgY29uc3Qg
eyByZXR1cm4gdHJ1ZTsgfQogCi0gICAgLy8gZHJhd0ZvY3VzUmluZygpIHdpbGwgcmV0dXJuIGVh
cmx5IGlmIHRoZSBjb2xvciBpcyBpbnZhbGlkLgotICAgIHZpcnR1YWwgQ29sb3IgcGxhdGZvcm1G
b2N1c1JpbmdDb2xvcigpIGNvbnN0IHsgcmV0dXJuIENvbG9yKCk7IH0KKyAgICAvLyBXZSBkb24n
dCB3YW50IHRoZSBmb2N1cyByaW5nIHRvIGJlIGRyYXduIGJ5IHRoZSBncmFwaGljcyBjb250ZXh0
IHNvIHdlCisgICAgLy8gYWx3YXlzIGNsYWltIHRvIHN1cHBvcnQgaXQgaW4gdGhlIHRoZW1lLgor
ICAgIC8vIEZJWE1FOiBUaGlzIGNvdWxkIGJlIGEgdXNhYmlsaXR5IHByb2JsZW0gaW4gdGhlIGNh
c2Ugb2YgY29udGVudGVkaXRhYmxlIGRpdnMuCisgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRm9j
dXNSaW5nKGNvbnN0IFJlbmRlclN0eWxlKikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCiBwcm90
ZWN0ZWQ6CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151690</attachid>
            <date>2012-07-11 05:26:28 -0700</date>
            <delta_ts>2012-07-13 17:15:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90806-20120711142749.patch</filename>
            <type>text/plain</type>
            <size>8849</size>
            <attacher name="Pierre Rossi">pierre.rossi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMzI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2JiNjRlM2U0ODRmMDcy
MzQzMjIzMjJjNzJkYTFjNGQ5MmQ1ZTlhZS4uYzliZTRjN2ZmMDI0ODVlYzQzY2RmMDg1NDYyZTE4
YzY2YTI5YWYzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA3LTA5ICBQaWVy
cmUgUm9zc2kgIDxwaWVycmUucm9zc2lAZ21haWwuY29tPgorCisgICAgICAgIFtRdF0gSW1wcm92
ZSB0aGUgbW9iaWxlIHRoZW1lIHNsaWdodGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05MDgwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEltcHJvdmUgZHJhd2luZyBvZiB0aGUgbW9iaWxlIHRoZW1lJ3Mg
Y29udHJvbHMnIGJhY2tncm91bmQuCisKKyAgICAgICAgRW5zdXJlIHRoZSBmb2N1cyByaW5nIG5l
dmVyIGFwcGVhcnMgd2l0aCB0aGUgbW9iaWxlIHRoZW1lLCBzaW5jZSBpdAorICAgICAgICBsb29r
cyBiYWQgaW4gY29tYmluYXRpb24gd2l0aCB0aGUgaGlnaGxpZ2h0cy4KKworICAgICAgICBObyBu
ZXcgdGVzdHMuIFRoZSBwYWludGluZyBjb2RlIGZyb20gdGhlIG1vYmlsZSB0aGVtZSBpcyBzdGls
bAorICAgICAgICBub3QgY292ZXJlZCBzcGVjaWZpY2FsbHkgKGl0IHdpbGwgd2hlbiB3ZSByZXZp
dmUgcGl4ZWwgdGVzdHMpLgorCisgICAgICAgICogcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdE1v
YmlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OmFkZFBvaW50
VG9PY3RhbnRzKTogQWRkZWQuIFRoaXMgaXMgc2ltcGx5IGEgaGVscGVyIHRvIGF2b2lkCisgICAg
ICAgICAgICBkb2luZyB0b28gbXVjaCBkdXBsaWNhdGUgd29yayBpbiBkcmF3Q29udHJvbEJhY2tn
cm91bmQuCisgICAgICAgIChXZWJDb3JlOjpkcmF3Q29udHJvbEJhY2tncm91bmQpOiBSZWx5IG9u
IHRoZSBvY3RhbnQgbG9naWMgYWRkZWQgYWJvdmUKKyAgICAgICAgICAgIGFuZCB0YWtlIHRoZSBv
cHBvcnR1bml0eSB0byBpbmNyZWFzZSB0aGUgZ3JhbnVsYXJpdHkuCisgICAgICAgIChXZWJDb3Jl
Ojpib3JkZXJQZW4pOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVQYWludGVyTW9iaWxlOjpmaW5k
TGluZUVkaXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdE1vYmlsZTo6YWRqdXN0
VGV4dEZpZWxkU3R5bGUpOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXRNb2Jp
bGUuaDoKKyAgICAgICAgKFJlbmRlclRoZW1lUXRNb2JpbGUpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGhlbWVRdE1vYmlsZTo6c3VwcG9ydHNGb2N1c1JpbmcpOgorCiAyMDEyLTA3LTExICBN
T1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgogCiAgICAgICAgIFdlYkNvcmVTdXBw
b3J0IG5lZWRzIG9iamVjdHMgZWFjaCBvZiB3aGljaCBmb2xsb3dzIG1ham9yIFdlYkNvcmUgb2Jq
ZWN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVR
dE1vYmlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0TW9i
aWxlLmNwcAppbmRleCAxNzBkMzliNTk3OWFhNTczMmNkNWEwOGJiZWIxNjQ0ZTExZTc2NzdmLi4z
ZDFmOTQyNDUwZWY5MTQxZWYwZGIwYmNjNjMxOTkwMzQyMTczMzkwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0TW9iaWxlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0TW9iaWxlLmNwcApAQCAtNjYsNyAr
NjYsNyBAQCBzdGF0aWMgY29uc3QgZmxvYXQgYnV0dG9uUGFkZGluZ1JpZ2h0ID0gMTg7CiBzdGF0
aWMgY29uc3QgZmxvYXQgYnV0dG9uUGFkZGluZ1RvcCA9IDI7CiBzdGF0aWMgY29uc3QgZmxvYXQg
YnV0dG9uUGFkZGluZ0JvdHRvbSA9IDM7CiBzdGF0aWMgY29uc3QgZmxvYXQgbWVudUxpc3RQYWRk
aW5nID0gOTsKLXN0YXRpYyBjb25zdCBmbG9hdCB0ZXh0RmllbGRQYWRkaW5nID0gNTsKK3N0YXRp
YyBjb25zdCBmbG9hdCB0ZXh0RmllbGRQYWRkaW5nID0gMTA7CiBzdGF0aWMgY29uc3QgZmxvYXQg
cmFkaXVzRmFjdG9yID0gMC4zNjsKIHN0YXRpYyBjb25zdCBmbG9hdCBwcm9ncmVzc0JhckNodW5r
UGVyY2VudGFnZSA9IDAuMjsKICNpZiBFTkFCTEUoUFJPR1JFU1NfVEFHKQpAQCAtMTA4LDYgKzEw
OCw0NCBAQCB1aW50IHFIYXNoKGNvbnN0IEtleUlkZW50aWZpZXImIGlkKQogICAgIHJldHVybiBo
YXNoOwogfQogCisvKgorICogVGhlIG9jdGFudHMnIGluZGljZXMgYXJlIGlkZW50aWZpZWQgYmVs
b3csIGZvciBlYWNoIHBvaW50ICh4LHkpCisgKiBpbiB0aGUgZmlyc3Qgb2N0YW50LCB3ZSBjYW4g
cG9wdWxhdGUgdGhlIDcgb3RoZXJzIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcKKyAqIHBvaW50Lgor
ICoKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXggfCAgIHhw
b3MgICB8ICAgeXBvcworICogICAgICAgICAgICAgICAgeGQgICAgICAgICAgICAgICAgICAgIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogICAgICA0ICAgICAgfDwtLS0+fCAzICAgICAg
ICAgICAgICAgICAgICAwICB8ICB4ZCArIHggIHwgICAgeQorICogICAgIF9fX19fX19fX19fX19f
X19fXyAgICAgICAgICAgICAgICAgICAxICB8ICB4ZCArIHkgIHwgICAgeAorICogICAgLyAgICAg
ICAgICAgICAgICAgIFwgICAgICAgICAgICAgICAgICAyICB8ICB4ZCArIHkgIHwgICAteAorICog
NSB8ICAgICAgICAgLihjKSAgICAgICB8ICAyICAgICAgICAgICAgICAzICB8ICB4ZCArIHggIHwg
ICAteQorICogNiB8ICAgICAgICAgICAgICAgICAgICB8ICAxICAgICAgICAgICAgICA0ICB8IC14
ZCAtIHggIHwgICAteQorICogICAgXF9fX19fX19fX19fX19fX19fXy8gICAgICAgICAgICAgICAg
ICA1ICB8IC14ZCAtIHkgIHwgICAteAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA2ICB8IC14ZCAtIHkgIHwgICAgeAorICogICAgICA3ICAgICAgICAgICAgICAw
ICAgICAgICAgICAgICAgICAgICA3ICB8IC14ZCAtIHggIHwgICAgeQorICoKKyAqKi8KKworc3Rh
dGljIHZvaWQgYWRkUG9pbnRUb09jdGFudHMoUVZlY3RvcjxRUGFpbnRlclBhdGg+JiBvY3RhbnRz
LCBjb25zdCBRUG9pbnRGJiBjZW50ZXIsIHFyZWFsIHgsIHFyZWFsIHkgLCBpbnQgeERlbHRhID0g
MCkKK3sKKyAgICBBU1NFUlQob2N0YW50cy5jb3VudCgpID09IDgpOworCisgICAgZm9yIChzaG9y
dCBpID0gMDsgaSA8IDg7ICsraSkgeworICAgICAgICBRUGFpbnRlclBhdGgmIG9jdGFudCA9IG9j
dGFudHNbaV07CisgICAgICAgIFFQb2ludEYgcG9zKGNlbnRlcik7CisgICAgICAgIC8vIFRoZSBH
cmF5IGNvZGUgY29ycmVzcG9uZGluZyB0byB0aGUgb2N0YW50J3MgaW5kZXggaGVscHMgZG9pbmcg
dGhlIG1hdGggaW4gYSBtb3JlIGdlbmVyaWMgd2F5LgorICAgICAgICBjb25zdCBzaG9ydCBncmF5
ID0gKGkgPj4gMSkgXiBpOworICAgICAgICBjb25zdCBxcmVhbCB4T2Zmc2V0ID0geERlbHRhICsg
KChncmF5ICYgMSkgPyB5IDogeCk7CisgICAgICAgIHBvcy5yeSgpICs9ICgoZ3JheSAmIDIpPyAt
MSA6IDEpICogKChncmF5ICYgMSkgPyB4IDogeSk7CisgICAgICAgIHBvcy5yeCgpICs9IChpIDwg
NCkgPyB4T2Zmc2V0IDogLXhPZmZzZXQ7CisKKyAgICAgICAgaWYgKG9jdGFudC5lbGVtZW50Q291
bnQoKSkKKyAgICAgICAgICAgIG9jdGFudC5saW5lVG8ocG9zKTsKKyAgICAgICAgZWxzZSAvLyBU
aGUgcGF0aCBpcyBlbXB0eS4gSW5pdGlhbGl6ZSB0aGUgc3RhcnQgcG9pbnQuCisgICAgICAgICAg
ICBvY3RhbnQubW92ZVRvKHBvcyk7CisgICAgfQorfQorCiBzdGF0aWMgdm9pZCBkcmF3Q29udHJv
bEJhY2tncm91bmQoUVBhaW50ZXIqIHBhaW50ZXIsIGNvbnN0IFFQZW4mIHBlbiwgY29uc3QgUVJl
Y3QmIHJlY3QsIGNvbnN0IFFCcnVzaCYgYnJ1c2gpCiB7CiAgICAgUVBlbiBvbGRQZW4gPSBwYWlu
dGVyLT5wZW4oKTsKQEAgLTExNiwyOCArMTU0LDMyIEBAIHN0YXRpYyB2b2lkIGRyYXdDb250cm9s
QmFja2dyb3VuZChRUGFpbnRlciogcGFpbnRlciwgY29uc3QgUVBlbiYgcGVuLCBjb25zdCBRUmVj
CiAgICAgcGFpbnRlci0+c2V0UGVuKHBlbik7CiAgICAgcGFpbnRlci0+c2V0QnJ1c2goYnJ1c2gp
OwogCi0gICAgY29uc3QgaW50IGxpbmUgPSAxOwotICAgIGNvbnN0IFFSZWN0IHBhZGRlZFJlY3Qg
PSByZWN0LmFkanVzdGVkKGxpbmUsIGxpbmUsIC1saW5lLCAtbGluZSk7CisgICAgc3RhdGljIGNv
bnN0IHFyZWFsIGxpbmUgPSAxLjU7CisgICAgY29uc3QgUVJlY3RGIHBhZGRlZFJlY3QgPSByZWN0
LmFkanVzdGVkKGxpbmUsIGxpbmUsIC1saW5lLCAtbGluZSk7CiAKLSAgICBjb25zdCBpbnQgbiA9
IDM7CisgICAgc3RhdGljIGNvbnN0IGludCBuID0gMzsKICAgICBjb25zdCBxcmVhbCBpbnZQb3cg
PSAxIC8gZG91YmxlKG4pOwogICAgIEFTU0VSVChwYWRkZWRSZWN0LndpZHRoKCkgPj0gcGFkZGVk
UmVjdC5oZWlnaHQoKSk7CiAgICAgY29uc3QgaW50IHJhZGl1cyA9IHBhZGRlZFJlY3QuaGVpZ2h0
KCkgLyAyOwogICAgIGNvbnN0IGludCB4RGVsdGEgPSBwYWRkZWRSZWN0LndpZHRoKCkgLyAyIC0g
cmFkaXVzOwotICAgIGNvbnN0IFFQb2ludCBjZW50ZXIgPSBwYWRkZWRSZWN0LnRvcExlZnQoKSAr
IFFQb2ludCh4RGVsdGEgKyByYWRpdXMsIHJhZGl1cyk7Ci0gICAgcXJlYWwgeCwgeTsKLSAgICBR
UGFpbnRlclBhdGggcGF0aDsKLSAgICBwYXRoLm1vdmVUbygteERlbHRhLCAtcmFkaXVzKTsKLSAg
ICBmb3IgKHkgPSAtcmFkaXVzIDsgeSA8PSByYWRpdXM7ICsreSkgewotICAgICAgICB4ID0gLXhE
ZWx0YSAtIHJhZGl1cyAqIHBvdygxIC0gcG93KHFBYnMoeSkgLyByYWRpdXMgLCBuKSwgaW52UG93
KTsKLSAgICAgICAgcGF0aC5saW5lVG8oeCwgeSk7CisgICAgY29uc3QgUVBvaW50RiBjZW50ZXIg
PSBwYWRkZWRSZWN0LmNlbnRlcigpOworICAgIHFyZWFsIHggPSAwOworICAgIHFyZWFsIHk7Cisg
ICAgUVZlY3RvcjxRUGFpbnRlclBhdGg+IG9jdGFudHMoOCk7CisgICAgLy8gU3RheSB3aXRoaW4g
cmVhc29uYWJsZSBkaXN0YW5jZSBmcm9tIGVkZ2UgdmFsdWVzLCB3aGljaCBjYW4gY2F1c2UgYXJ0
aWZhY3RzIGF0IGNlcnRhaW4gem9vbSBsZXZlbHMuCisgICAgc3RhdGljIGNvbnN0IGZsb2F0IGVw
c2lsb24gPSAwLjAyOworICAgIGZvciAoeSA9IHJhZGl1cyAtIGVwc2lsb247IHkgLSBlcHNpbG9u
ID4geDsgeSAtPSAwLjUpIHsKKyAgICAgICAgeCA9IHJhZGl1cyAqIHBvdygxIC0gcG93KHFBYnMo
eSkgLyByYWRpdXMgLCBuKSwgaW52UG93KTsKKyAgICAgICAgYWRkUG9pbnRUb09jdGFudHMob2N0
YW50cywgY2VudGVyLCB4LCB5LCB4RGVsdGEpOwogICAgIH0KLSAgICBmb3IgKHkgPSByYWRpdXMg
OyB5ID49IC1yYWRpdXM7IC0teSkgewotICAgICAgICB4ID0gIHhEZWx0YSArIHJhZGl1cyAqIHBv
dygxIC0gcG93KHFBYnMoeSkgLyByYWRpdXMgLCBuKSwgaW52UG93KTsKLSAgICAgICAgcGF0aC5s
aW5lVG8oeCwgeSk7CisKKyAgICBRUGFpbnRlclBhdGggcGF0aCA9IG9jdGFudHMuZmlyc3QoKTsK
KyAgICBmb3IgKGludCBpID0gMTsgaSA8IDg7ICsraSkgeworICAgICAgICAvLyBEdWUgdG8gdGhl
IG9yaWVudGF0aW9uIG9mIHRoZSBhcmNzLCB3ZSBuZWVkIHRvIHJldmVyc2UgdGhlIHBhdGhzIHdp
dGggb2RkIGluZGljZXMuCisgICAgICAgIFFQYWludGVyUGF0aCBzdWJQYXRoID0gKGkgJSAyKSA/
ICBvY3RhbnRzLmF0KGkpLnRvUmV2ZXJzZWQoKSA6IG9jdGFudHMuYXQoaSk7CisgICAgICAgIHBh
dGguY29ubmVjdFBhdGgoc3ViUGF0aCk7CiAgICAgfQogICAgIHBhdGguY2xvc2VTdWJwYXRoKCk7
Ci0gICAgcGF0aC50cmFuc2xhdGUoY2VudGVyKTsKIAogICAgIHBhaW50ZXItPmRyYXdQYXRoKHBh
dGgpOwogICAgIHBhaW50ZXItPnNldFBlbihvbGRQZW4pOwpAQCAtMTUyLDcgKzE5NCw3IEBAIHN0
YXRpYyBpbmxpbmUgUVJlY3Qgc2hyaW5rUmVjdFRvU3F1YXJlKGNvbnN0IFFSZWN0JiByZWN0KQog
CiBzdGF0aWMgaW5saW5lIFFQZW4gYm9yZGVyUGVuKFFQYWludGVyKiBwYWludGVyID0gMCkKIHsK
LSAgICByZXR1cm4gUVBlbihkYXJrQ29sb3IsIDAuNCAqIHBhaW50ZXJTY2FsZShwYWludGVyKSwg
UXQ6OlNvbGlkTGluZSwgUXQ6OlJvdW5kQ2FwLCBRdDo6Um91bmRKb2luKTsKKyAgICByZXR1cm4g
UVBlbihkYXJrQ29sb3IsIHFNaW4oMS4wLCAwLjQgKiBwYWludGVyU2NhbGUocGFpbnRlcikpKTsK
IH0KIAogUVNoYXJlZFBvaW50ZXI8U3R5bGVQYWludGVyPiBSZW5kZXJUaGVtZVF0TW9iaWxlOjpn
ZXRTdHlsZVBhaW50ZXIoY29uc3QgUGFpbnRJbmZvJiBwaSkKQEAgLTM4MywxNCArNDI1LDE0IEBA
IFFQaXhtYXAgU3R5bGVQYWludGVyTW9iaWxlOjpmaW5kTGluZUVkaXQoY29uc3QgUVNpemUgJiBz
aXplLCBib29sIGZvY3VzZWQpIGNvbnN0CiAKICAgICBpZiAoIWZpbmRDYWNoZWRDb250cm9sKGlk
LCAmcmVzdWx0KSkgewogICAgICAgICBjb25zdCBpbnQgZm9jdXNGcmFtZSA9IHBhaW50ZXJTY2Fs
ZShwYWludGVyKTsKLSAgICAgICAgcmVzdWx0ID0gUVBpeG1hcChzaXplICsgUVNpemUoMiAqIGZv
Y3VzRnJhbWUsIDIgKiBmb2N1c0ZyYW1lKSk7CisgICAgICAgIHJlc3VsdCA9IFFQaXhtYXAoc2l6
ZSk7CiAgICAgICAgIHJlc3VsdC5maWxsKFF0Ojp0cmFuc3BhcmVudCk7CiAgICAgICAgIGNvbnN0
IFFSZWN0IHJlY3QgPSByZXN1bHQucmVjdCgpLmFkanVzdGVkKGZvY3VzRnJhbWUsIGZvY3VzRnJh
bWUsIC1mb2N1c0ZyYW1lLCAtZm9jdXNGcmFtZSk7CiAgICAgICAgIFFQYWludGVyIGNhY2hlUGFp
bnRlcigmcmVzdWx0KTsKICAgICAgICAgZHJhd0NvbnRyb2xCYWNrZ3JvdW5kKCZjYWNoZVBhaW50
ZXIsIGJvcmRlclBlbihwYWludGVyKSwgcmVjdCwgUXQ6OndoaXRlKTsKIAogICAgICAgICBpZiAo
Zm9jdXNlZCkgewotICAgICAgICAgICAgUVBlbiBmb2N1c1BlbihoaWdobGlnaHRDb2xvciwgZm9j
dXNGcmFtZSwgUXQ6OlNvbGlkTGluZSwgUXQ6OlJvdW5kQ2FwLCBRdDo6Um91bmRKb2luKTsKKyAg
ICAgICAgICAgIFFQZW4gZm9jdXNQZW4oaGlnaGxpZ2h0Q29sb3IsIDEuMiAqIHBhaW50ZXJTY2Fs
ZShwYWludGVyKSwgUXQ6OlNvbGlkTGluZSk7CiAgICAgICAgICAgICBkcmF3Q29udHJvbEJhY2tn
cm91bmQoJmNhY2hlUGFpbnRlciwgZm9jdXNQZW4sIHJlY3QsIFF0OjpOb0JydXNoKTsKICAgICAg
ICAgfQogICAgICAgICBpbnNlcnRJbnRvQ2FjaGUoaWQsIHJlc3VsdCk7CkBAIC02OTcsNiArNzM5
LDEwIEBAIHZvaWQgUmVuZGVyVGhlbWVRdE1vYmlsZTo6YWRqdXN0VGV4dEZpZWxkU3R5bGUoU3R5
bGVSZXNvbHZlciosIFJlbmRlclN0eWxlKiBzdHlsCiAgICAgLy8gcGFkZGluZy4gSnVzdCB3b3J0
aCBrZWVwaW5nIGluIG1pbmQhCiAgICAgc3R5bGUtPnNldEJhY2tncm91bmRDb2xvcihDb2xvcjo6
dHJhbnNwYXJlbnQpOwogICAgIHN0eWxlLT5yZXNldEJvcmRlcigpOworICAgIHN0eWxlLT5zZXRC
b3JkZXJUb3BXaWR0aChmcmFtZVdpZHRoKTsKKyAgICBzdHlsZS0+c2V0Qm9yZGVyUmlnaHRXaWR0
aChmcmFtZVdpZHRoKTsKKyAgICBzdHlsZS0+c2V0Qm9yZGVyQm90dG9tV2lkdGgoZnJhbWVXaWR0
aCk7CisgICAgc3R5bGUtPnNldEJvcmRlckxlZnRXaWR0aChmcmFtZVdpZHRoKTsKICAgICBzdHls
ZS0+cmVzZXRQYWRkaW5nKCk7CiAgICAgY29tcHV0ZVNpemVCYXNlZE9uU3R5bGUoc3R5bGUpOwog
ICAgIHN0eWxlLT5zZXRQYWRkaW5nTGVmdChMZW5ndGgodGV4dEZpZWxkUGFkZGluZywgRml4ZWQp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXRN
b2JpbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXRNb2JpbGUu
aAppbmRleCBiYzIwMzZjNzkyMzdhYThmOGFiMWY2ZTNkMzM2YWM2OWM0NjhiNzJkLi4yZDFlNTNk
YWQ5ZWQ1Y2NlZDg4ODQ2OTY2YmE5YmFiNjRiNDE4YTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0TW9iaWxlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdE1vYmlsZS5oCkBAIC01Myw4ICs1MywxMCBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgZGVsZWdhdGVzTWVudUxpc3RSZW5kZXJpbmcoKSBj
b25zdCB7IHJldHVybiB0cnVlOyB9CiAKLSAgICAvLyBkcmF3Rm9jdXNSaW5nKCkgd2lsbCByZXR1
cm4gZWFybHkgaWYgdGhlIGNvbG9yIGlzIGludmFsaWQuCi0gICAgdmlydHVhbCBDb2xvciBwbGF0
Zm9ybUZvY3VzUmluZ0NvbG9yKCkgY29uc3QgeyByZXR1cm4gQ29sb3IoKTsgfQorICAgIC8vIFdl
IGRvbid0IHdhbnQgdGhlIGZvY3VzIHJpbmcgdG8gYmUgZHJhd24gYnkgdGhlIGdyYXBoaWNzIGNv
bnRleHQgc28gd2UKKyAgICAvLyBhbHdheXMgY2xhaW0gdG8gc3VwcG9ydCBpdCBpbiB0aGUgdGhl
bWUuCisgICAgLy8gRklYTUU6IFRoaXMgY291bGQgYmUgYSB1c2FiaWxpdHkgcHJvYmxlbSBpbiB0
aGUgY2FzZSBvZiBjb250ZW50ZWRpdGFibGUgZGl2cy4KKyAgICB2aXJ0dWFsIGJvb2wgc3VwcG9y
dHNGb2N1c1JpbmcoY29uc3QgUmVuZGVyU3R5bGUqKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAK
IHByb3RlY3RlZDoKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>