<?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>82641</bug_id>
          
          <creation_ts>2012-03-29 12:28:13 -0700</creation_ts>
          <short_desc>remove unneeded copies of SkPaths, remove unneeded save/restore</short_desc>
          <delta_ts>2012-03-30 09:33:32 -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="Mike Reed">reed</reporter>
          <assigned_to name="Mike Reed">reed</assigned_to>
          <cc>eric</cc>
    
    <cc>pdr</cc>
    
    <cc>senorblanco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>591444</commentid>
    <comment_count>0</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2012-03-29 12:28:13 -0700</bug_when>
    <thetext>avoid unneeded copies of SkPaths, avoid unneeded save/restore</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591445</commentid>
    <comment_count>1</comment_count>
      <attachid>134645</attachid>
    <who name="Mike Reed">reed</who>
    <bug_when>2012-03-29 12:29:55 -0700</bug_when>
    <thetext>Created attachment 134645
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591447</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-29 12:34:05 -0700</bug_when>
    <thetext>Attachment 134645 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591460</commentid>
    <comment_count>3</comment_count>
      <attachid>134648</attachid>
    <who name="Mike Reed">reed</who>
    <bug_when>2012-03-29 12:49:41 -0700</bug_when>
    <thetext>Created attachment 134648
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591476</commentid>
    <comment_count>4</comment_count>
      <attachid>134648</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-29 13:12:02 -0700</bug_when>
    <thetext>Comment on attachment 134648
Patch

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

&gt; Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp:398
&gt; +    // we must make a copy of the path, to mark it as inverse-filled

I believe comments are supposed to be sentences in WebKit with capitals and periods.

&gt; Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp:422
&gt; +    if (path-&gt;getFillType() != ftype) {
&gt; +        storage = *path;
&gt; +        storage.setFillType(ftype);
&gt; +        path = &amp;storage;
&gt; +    }

I&apos;m confused by this idium.  You&apos;re copying the path to change its fill type?

&gt; Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp:-831
&gt; -    platformContext()-&gt;save();

setupPaintForFilling does not affect the context I take it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591491</commentid>
    <comment_count>5</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2012-03-29 13:22:16 -0700</bug_when>
    <thetext>I have to copy the path, which is a pointer to a const path, if I want to change anything. The point of this CL is to perform those expensive copies only if they are actually needed. The previous version always did an implicit copy, since the data-type was SkPath, and not SkPath*.

All of the setupPaint[forFilling,ForStroking] methods are const, and do not affect the context.

I will fix the comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591496</commentid>
    <comment_count>6</comment_count>
      <attachid>134655</attachid>
    <who name="Mike Reed">reed</who>
    <bug_when>2012-03-29 13:30:32 -0700</bug_when>
    <thetext>Created attachment 134655
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591497</commentid>
    <comment_count>7</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2012-03-29 13:31:23 -0700</bug_when>
    <thetext>patch #3 updated the comment. PTAL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591508</commentid>
    <comment_count>8</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2012-03-29 13:37:32 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; I have to copy the path, which is a pointer to a const path, if I want to change anything. The point of this CL is to perform those expensive copies only if they are actually needed. The previous version always did an implicit copy, since the data-type was SkPath, and not SkPath*.

Actually (not Mike&apos;s fault), it looks like Path::platformPath() is const, but returns a non-const PlatformPath* (in this case, an SkPath*).  That&apos;s pretty bad.  IMHO, we should have two accessors:  a const one that returns a const PlatformPath*, and a non-const one that returns a non-const PlatformPath* (if absolutely necessary).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591532</commentid>
    <comment_count>9</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2012-03-29 14:00:21 -0700</bug_when>
    <thetext>In these cases (I think), the Path object is always const, so I really can&apos;t mutate the underlying impl. I think my (deferred) copies are still needed...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591545</commentid>
    <comment_count>10</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2012-03-29 14:16:22 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; In these cases (I think), the Path object is always const, so I really can&apos;t mutate the underlying impl. I think my (deferred) copies are still needed...

Your code is correct.  What I meant was that Path::platformPath() is const, but returns a non-const SkPath* (I think?).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591567</commentid>
    <comment_count>11</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2012-03-29 14:28:55 -0700</bug_when>
    <thetext>Gotcha.

Agreed. Certain &apos;platformPath() const&apos; should return a const native*.

If the EWS goes green, can the CL get a + ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592172</commentid>
    <comment_count>12</comment_count>
      <attachid>134655</attachid>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2012-03-30 08:10:16 -0700</bug_when>
    <thetext>Comment on attachment 134655
Patch

OK.  r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592227</commentid>
    <comment_count>13</comment_count>
      <attachid>134655</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-30 09:33:27 -0700</bug_when>
    <thetext>Comment on attachment 134655
Patch

Clearing flags on attachment: 134655

Committed r112676: &lt;http://trac.webkit.org/changeset/112676&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592228</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-30 09:33:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134645</attachid>
            <date>2012-03-29 12:29:55 -0700</date>
            <delta_ts>2012-03-29 12:49:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82641-20120329152954.patch</filename>
            <type>text/plain</type>
            <size>4275</size>
            <attacher name="Mike Reed">reed</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMjU2MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAzLTI5ICBNaWtlIFJl
ZWQgIDxyZWVkQGdvb2dsZS5jb20+CisKKyAgICAgICAgYXZvaWQgdW5uZWVkZWQgY29waWVzIG9m
IFNrUGF0aHMsIGF2b2lkIHVubmVlZGVkIHNhdmUvcmVzdG9yZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI2NDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAg
ICAgICBQZXJmb3JtYW5jZSBjaGFuZ2UsIGV4aXN0aW5nIHdlYmtpdCB0ZXN0cyBhcHBseQorCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRTa2lhLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6Y2xpcE91dCk6CisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmNsaXBQYXRoKToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDo6ZmlsbFBhdGgpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0OjpmaWxsUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OnN0cm9r
ZVBhdGgpOgorCiAyMDEyLTAzLTI5ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdt
YWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTEyNTUzLgpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRT
a2lhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9z
a2lhL0dyYXBoaWNzQ29udGV4dFNraWEuY3BwCShyZXZpc2lvbiAxMTI1NDcpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFNraWEuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zOTUsNyArMzk1LDggQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmNs
aXBPdXQoY29uc3QgUGF0aAogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIFNrUGF0aCBwYXRoID0gKnAucGxhdGZvcm1QYXRoKCk7CisgICAgLy8gd2Ug
bXVzdCBtYWtlIGEgY29weSBvZiB0aGUgcGF0aCwgdG8gbWFyayBpdCBhcyBpbnZlcnNlLWZpbGxl
ZAorICAgIFNrUGF0aCBwYXRoKCpwLnBsYXRmb3JtUGF0aCgpKTsKICAgICBpZiAoIWlzUGF0aFNr
aWFTYWZlKGdldENUTSgpLCBwYXRoKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC00MDgsMTIgKzQw
OSwxOCBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6Y2xpcFBhdGgoY29uc3QgUGF0CiAgICAgaWYg
KHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgU2tQYXRoIHBhdGgg
PSAqcGF0aFRvQ2xpcC5wbGF0Zm9ybVBhdGgoKTsKLSAgICBpZiAoIWlzUGF0aFNraWFTYWZlKGdl
dENUTSgpLCBwYXRoKSkKKyAgICBjb25zdCBTa1BhdGgqIHBhdGggPSBwYXRoVG9DbGlwLnBsYXRm
b3JtUGF0aCgpOworICAgIGlmICghaXNQYXRoU2tpYVNhZmUoZ2V0Q1RNKCksICpwYXRoKSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgcGF0aC5zZXRGaWxsVHlwZShjbGlwUnVsZSA9PSBSVUxFX0VW
RU5PREQgPyBTa1BhdGg6OmtFdmVuT2RkX0ZpbGxUeXBlIDogU2tQYXRoOjprV2luZGluZ19GaWxs
VHlwZSk7Ci0gICAgcGxhdGZvcm1Db250ZXh0KCktPmNsaXBQYXRoQW50aUFsaWFzZWQocGF0aCk7
CisgICAgU2tQYXRoOjpGaWxsVHlwZSBmdHlwZSA9IChjbGlwUnVsZSA9PSBSVUxFX0VWRU5PREQp
ID8gU2tQYXRoOjprRXZlbk9kZF9GaWxsVHlwZSA6IFNrUGF0aDo6a1dpbmRpbmdfRmlsbFR5cGU7
CisgICAgU2tQYXRoIHN0b3JhZ2U7CisgICAgaWYgKHBhdGgtPmdldEZpbGxUeXBlKCkgIT0gZnR5
cGUpIHsKKyAgICAgICAgc3RvcmFnZSA9ICpwYXRoOworICAgICAgICBzdG9yYWdlLnNldEZpbGxU
eXBlKGZ0eXBlKTsKKyAgICAgICAgcGF0aCA9ICZzdG9yYWdlOworICAgIH0KKyAgICBwbGF0Zm9y
bUNvbnRleHQoKS0+Y2xpcFBhdGhBbnRpQWxpYXNlZCgqcGF0aCk7CiB9CiAKIHZvaWQgR3JhcGhp
Y3NDb250ZXh0Ojpjb25jYXRDVE0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBhZmZpbmUpCkBAIC04
MDIsMTkgKzgwOSwyNiBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZmlsbFBhdGgoY29uc3QgUGF0
CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgU2tQ
YXRoIHBhdGggPSAqcGF0aFRvRmlsbC5wbGF0Zm9ybVBhdGgoKTsKLSAgICBpZiAoIWlzUGF0aFNr
aWFTYWZlKGdldENUTSgpLCBwYXRoKSkKKyAgICBjb25zdCBTa1BhdGgqIHBhdGggPSBwYXRoVG9G
aWxsLnBsYXRmb3JtUGF0aCgpOworICAgIGlmICghaXNQYXRoU2tpYVNhZmUoZ2V0Q1RNKCksICpw
YXRoKSkKICAgICAgIHJldHVybjsKIAogICAgIGNvbnN0IEdyYXBoaWNzQ29udGV4dFN0YXRlJiBz
dGF0ZSA9IG1fc3RhdGU7Ci0gICAgcGF0aC5zZXRGaWxsVHlwZShzdGF0ZS5maWxsUnVsZSA9PSBS
VUxFX0VWRU5PREQgPwotICAgICAgICBTa1BhdGg6OmtFdmVuT2RkX0ZpbGxUeXBlIDogU2tQYXRo
OjprV2luZGluZ19GaWxsVHlwZSk7CisgICAgU2tQYXRoOjpGaWxsVHlwZSBmdHlwZSA9IHN0YXRl
LmZpbGxSdWxlID09IFJVTEVfRVZFTk9ERCA/CisgICAgICAgIFNrUGF0aDo6a0V2ZW5PZGRfRmls
bFR5cGUgOiBTa1BhdGg6OmtXaW5kaW5nX0ZpbGxUeXBlOworCisgICAgU2tQYXRoIHN0b3JhZ2U7
CisgICAgaWYgKHBhdGgtPmdldEZpbGxUeXBlKCkgIT0gZnR5cGUpIHsKKyAgICAgICAgc3RvcmFn
ZSA9ICpwYXRoOworICAgICAgICBzdG9yYWdlLnNldEZpbGxUeXBlKGZ0eXBlKTsKKyAgICAgICAg
cGF0aCA9ICZzdG9yYWdlOworICAgIH0KIAogICAgIFNrUGFpbnQgcGFpbnQ7CiAgICAgcGxhdGZv
cm1Db250ZXh0KCktPnNldHVwUGFpbnRGb3JGaWxsaW5nKCZwYWludCk7CiAKLSAgICBwbGF0Zm9y
bUNvbnRleHQoKS0+Y2FudmFzKCktPmRyYXdQYXRoKHBhdGgsIHBhaW50KTsKLSAgICBwbGF0Zm9y
bUNvbnRleHQoKS0+ZGlkRHJhd1BhdGgocGF0aCwgcGFpbnQpOworICAgIHBsYXRmb3JtQ29udGV4
dCgpLT5jYW52YXMoKS0+ZHJhd1BhdGgoKnBhdGgsIHBhaW50KTsKKyAgICBwbGF0Zm9ybUNvbnRl
eHQoKS0+ZGlkRHJhd1BhdGgoKnBhdGgsIHBhaW50KTsKIH0KIAogdm9pZCBHcmFwaGljc0NvbnRl
eHQ6OmZpbGxSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKQEAgLTgyOCwxNCArODQyLDEwIEBA
IHZvaWQgR3JhcGhpY3NDb250ZXh0OjpmaWxsUmVjdChjb25zdCBGbG8KICAgICAgICAgQ2xpcFJl
Y3RUb0NhbnZhcygqcGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpLCByLCAmcik7CiAgICAgfQog
Ci0gICAgcGxhdGZvcm1Db250ZXh0KCktPnNhdmUoKTsKLQogICAgIFNrUGFpbnQgcGFpbnQ7CiAg
ICAgcGxhdGZvcm1Db250ZXh0KCktPnNldHVwUGFpbnRGb3JGaWxsaW5nKCZwYWludCk7CiAgICAg
cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpLT5kcmF3UmVjdChyLCBwYWludCk7CiAgICAgcGxh
dGZvcm1Db250ZXh0KCktPmRpZERyYXdSZWN0KHIsIHBhaW50KTsKLQotICAgIHBsYXRmb3JtQ29u
dGV4dCgpLT5yZXN0b3JlKCk7CiB9CiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpmaWxsUmVjdChj
b25zdCBGbG9hdFJlY3QmIHJlY3QsIGNvbnN0IENvbG9yJiBjb2xvciwgQ29sb3JTcGFjZSBjb2xv
clNwYWNlKQpAQCAtMTE5NSw3ICsxMjA1LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OnN0cm9r
ZVBhdGgoY29uc3QgUAogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIFNrUGF0aCBwYXRoID0gKnBhdGhUb1N0cm9rZS5wbGF0Zm9ybVBhdGgoKTsKKyAg
ICBjb25zdCBTa1BhdGgmIHBhdGggPSAqcGF0aFRvU3Ryb2tlLnBsYXRmb3JtUGF0aCgpOwogICAg
IGlmICghaXNQYXRoU2tpYVNhZmUoZ2V0Q1RNKCksIHBhdGgpKQogICAgICAgICByZXR1cm47CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134648</attachid>
            <date>2012-03-29 12:49:41 -0700</date>
            <delta_ts>2012-03-29 13:30:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82641-20120329154938.patch</filename>
            <type>text/plain</type>
            <size>4245</size>
            <attacher name="Mike Reed">reed</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMjU2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAzLTI5ICBNaWtlIFJl
ZWQgIDxyZWVkQGdvb2dsZS5jb20+CisKKyAgICAgICAgcmVtb3ZlIHVubmVlZGVkIGNvcGllcyBv
ZiBTa1BhdGhzLCByZW1vdmUgdW5uZWVkZWQgc2F2ZS9yZXN0b3JlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjY0MQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBlcmZvcm1hbmNlIGNoYW5nZSwgZXhpc3Rp
bmcgd2Via2l0IHRlc3RzIGFwcGx5LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc2tp
YS9HcmFwaGljc0NvbnRleHRTa2lhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dDo6Y2xpcE91dCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmNsaXBQ
YXRoKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6ZmlsbFBhdGgpOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpmaWxsUmVjdCk6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQ6OnN0cm9rZVBhdGgpOgorCiAyMDEyLTAzLTI5ICBTaGVyaWZm
IEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTEyNTUzLgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRTa2lhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFNraWEuY3BwCShy
ZXZpc2lvbiAxMTI1NDcpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lh
L0dyYXBoaWNzQ29udGV4dFNraWEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOTUsNyArMzk1LDgg
QEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmNsaXBPdXQoY29uc3QgUGF0aAogICAgIGlmIChwYWlu
dGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIFNrUGF0aCBwYXRoID0gKnAu
cGxhdGZvcm1QYXRoKCk7CisgICAgLy8gd2UgbXVzdCBtYWtlIGEgY29weSBvZiB0aGUgcGF0aCwg
dG8gbWFyayBpdCBhcyBpbnZlcnNlLWZpbGxlZAorICAgIFNrUGF0aCBwYXRoKCpwLnBsYXRmb3Jt
UGF0aCgpKTsKICAgICBpZiAoIWlzUGF0aFNraWFTYWZlKGdldENUTSgpLCBwYXRoKSkKICAgICAg
ICAgcmV0dXJuOwogCkBAIC00MDgsMTIgKzQwOSwxOCBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6
Y2xpcFBhdGgoY29uc3QgUGF0CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgU2tQYXRoIHBhdGggPSAqcGF0aFRvQ2xpcC5wbGF0Zm9ybVBhdGgoKTsK
LSAgICBpZiAoIWlzUGF0aFNraWFTYWZlKGdldENUTSgpLCBwYXRoKSkKKyAgICBjb25zdCBTa1Bh
dGgqIHBhdGggPSBwYXRoVG9DbGlwLnBsYXRmb3JtUGF0aCgpOworICAgIGlmICghaXNQYXRoU2tp
YVNhZmUoZ2V0Q1RNKCksICpwYXRoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgcGF0aC5zZXRG
aWxsVHlwZShjbGlwUnVsZSA9PSBSVUxFX0VWRU5PREQgPyBTa1BhdGg6OmtFdmVuT2RkX0ZpbGxU
eXBlIDogU2tQYXRoOjprV2luZGluZ19GaWxsVHlwZSk7Ci0gICAgcGxhdGZvcm1Db250ZXh0KCkt
PmNsaXBQYXRoQW50aUFsaWFzZWQocGF0aCk7CisgICAgU2tQYXRoOjpGaWxsVHlwZSBmdHlwZSA9
IChjbGlwUnVsZSA9PSBSVUxFX0VWRU5PREQpID8gU2tQYXRoOjprRXZlbk9kZF9GaWxsVHlwZSA6
IFNrUGF0aDo6a1dpbmRpbmdfRmlsbFR5cGU7CisgICAgU2tQYXRoIHN0b3JhZ2U7CisgICAgaWYg
KHBhdGgtPmdldEZpbGxUeXBlKCkgIT0gZnR5cGUpIHsKKyAgICAgICAgc3RvcmFnZSA9ICpwYXRo
OworICAgICAgICBzdG9yYWdlLnNldEZpbGxUeXBlKGZ0eXBlKTsKKyAgICAgICAgcGF0aCA9ICZz
dG9yYWdlOworICAgIH0KKyAgICBwbGF0Zm9ybUNvbnRleHQoKS0+Y2xpcFBhdGhBbnRpQWxpYXNl
ZCgqcGF0aCk7CiB9CiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0Ojpjb25jYXRDVE0oY29uc3QgQWZm
aW5lVHJhbnNmb3JtJiBhZmZpbmUpCkBAIC04MDIsMTkgKzgwOSwyNiBAQCB2b2lkIEdyYXBoaWNz
Q29udGV4dDo6ZmlsbFBhdGgoY29uc3QgUGF0CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgU2tQYXRoIHBhdGggPSAqcGF0aFRvRmlsbC5wbGF0Zm9y
bVBhdGgoKTsKLSAgICBpZiAoIWlzUGF0aFNraWFTYWZlKGdldENUTSgpLCBwYXRoKSkKKyAgICBj
b25zdCBTa1BhdGgqIHBhdGggPSBwYXRoVG9GaWxsLnBsYXRmb3JtUGF0aCgpOworICAgIGlmICgh
aXNQYXRoU2tpYVNhZmUoZ2V0Q1RNKCksICpwYXRoKSkKICAgICAgIHJldHVybjsKIAogICAgIGNv
bnN0IEdyYXBoaWNzQ29udGV4dFN0YXRlJiBzdGF0ZSA9IG1fc3RhdGU7Ci0gICAgcGF0aC5zZXRG
aWxsVHlwZShzdGF0ZS5maWxsUnVsZSA9PSBSVUxFX0VWRU5PREQgPwotICAgICAgICBTa1BhdGg6
OmtFdmVuT2RkX0ZpbGxUeXBlIDogU2tQYXRoOjprV2luZGluZ19GaWxsVHlwZSk7CisgICAgU2tQ
YXRoOjpGaWxsVHlwZSBmdHlwZSA9IHN0YXRlLmZpbGxSdWxlID09IFJVTEVfRVZFTk9ERCA/Cisg
ICAgICAgIFNrUGF0aDo6a0V2ZW5PZGRfRmlsbFR5cGUgOiBTa1BhdGg6OmtXaW5kaW5nX0ZpbGxU
eXBlOworCisgICAgU2tQYXRoIHN0b3JhZ2U7CisgICAgaWYgKHBhdGgtPmdldEZpbGxUeXBlKCkg
IT0gZnR5cGUpIHsKKyAgICAgICAgc3RvcmFnZSA9ICpwYXRoOworICAgICAgICBzdG9yYWdlLnNl
dEZpbGxUeXBlKGZ0eXBlKTsKKyAgICAgICAgcGF0aCA9ICZzdG9yYWdlOworICAgIH0KIAogICAg
IFNrUGFpbnQgcGFpbnQ7CiAgICAgcGxhdGZvcm1Db250ZXh0KCktPnNldHVwUGFpbnRGb3JGaWxs
aW5nKCZwYWludCk7CiAKLSAgICBwbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCktPmRyYXdQYXRo
KHBhdGgsIHBhaW50KTsKLSAgICBwbGF0Zm9ybUNvbnRleHQoKS0+ZGlkRHJhd1BhdGgocGF0aCwg
cGFpbnQpOworICAgIHBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKS0+ZHJhd1BhdGgoKnBhdGgs
IHBhaW50KTsKKyAgICBwbGF0Zm9ybUNvbnRleHQoKS0+ZGlkRHJhd1BhdGgoKnBhdGgsIHBhaW50
KTsKIH0KIAogdm9pZCBHcmFwaGljc0NvbnRleHQ6OmZpbGxSZWN0KGNvbnN0IEZsb2F0UmVjdCYg
cmVjdCkKQEAgLTgyOCwxNCArODQyLDEwIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpmaWxsUmVj
dChjb25zdCBGbG8KICAgICAgICAgQ2xpcFJlY3RUb0NhbnZhcygqcGxhdGZvcm1Db250ZXh0KCkt
PmNhbnZhcygpLCByLCAmcik7CiAgICAgfQogCi0gICAgcGxhdGZvcm1Db250ZXh0KCktPnNhdmUo
KTsKLQogICAgIFNrUGFpbnQgcGFpbnQ7CiAgICAgcGxhdGZvcm1Db250ZXh0KCktPnNldHVwUGFp
bnRGb3JGaWxsaW5nKCZwYWludCk7CiAgICAgcGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpLT5k
cmF3UmVjdChyLCBwYWludCk7CiAgICAgcGxhdGZvcm1Db250ZXh0KCktPmRpZERyYXdSZWN0KHIs
IHBhaW50KTsKLQotICAgIHBsYXRmb3JtQ29udGV4dCgpLT5yZXN0b3JlKCk7CiB9CiAKIHZvaWQg
R3JhcGhpY3NDb250ZXh0OjpmaWxsUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QsIGNvbnN0IENv
bG9yJiBjb2xvciwgQ29sb3JTcGFjZSBjb2xvclNwYWNlKQpAQCAtMTE5NSw3ICsxMjA1LDcgQEAg
dm9pZCBHcmFwaGljc0NvbnRleHQ6OnN0cm9rZVBhdGgoY29uc3QgUAogICAgIGlmIChwYWludGlu
Z0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIFNrUGF0aCBwYXRoID0gKnBhdGhU
b1N0cm9rZS5wbGF0Zm9ybVBhdGgoKTsKKyAgICBjb25zdCBTa1BhdGgmIHBhdGggPSAqcGF0aFRv
U3Ryb2tlLnBsYXRmb3JtUGF0aCgpOwogICAgIGlmICghaXNQYXRoU2tpYVNhZmUoZ2V0Q1RNKCks
IHBhdGgpKQogICAgICAgICByZXR1cm47CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134655</attachid>
            <date>2012-03-29 13:30:32 -0700</date>
            <delta_ts>2012-03-30 09:33:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82641-20120329163030.patch</filename>
            <type>text/plain</type>
            <size>4246</size>
            <attacher name="Mike Reed">reed</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMjU2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAzLTI5ICBNaWtlIFJl
ZWQgIDxyZWVkQGdvb2dsZS5jb20+CisKKyAgICAgICAgcmVtb3ZlIHVubmVlZGVkIGNvcGllcyBv
ZiBTa1BhdGhzLCByZW1vdmUgdW5uZWVkZWQgc2F2ZS9yZXN0b3JlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjY0MQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBlcmZvcm1hbmNlIGNoYW5nZSwgZXhpc3Rp
bmcgd2Via2l0IHRlc3RzIGFwcGx5LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc2tp
YS9HcmFwaGljc0NvbnRleHRTa2lhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dDo6Y2xpcE91dCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmNsaXBQ
YXRoKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6ZmlsbFBhdGgpOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpmaWxsUmVjdCk6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQ6OnN0cm9rZVBhdGgpOgorCiAyMDEyLTAzLTI5ICBTaGVyaWZm
IEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTEyNTUzLgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRTa2lhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFNraWEuY3BwCShy
ZXZpc2lvbiAxMTI1NDcpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lh
L0dyYXBoaWNzQ29udGV4dFNraWEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOTUsNyArMzk1LDgg
QEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmNsaXBPdXQoY29uc3QgUGF0aAogICAgIGlmIChwYWlu
dGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIFNrUGF0aCBwYXRoID0gKnAu
cGxhdGZvcm1QYXRoKCk7CisgICAgLy8gV2UgbXVzdCBtYWtlIGEgY29weSBvZiB0aGUgcGF0aCwg
dG8gbWFyayBpdCBhcyBpbnZlcnNlLWZpbGxlZC4KKyAgICBTa1BhdGggcGF0aCgqcC5wbGF0Zm9y
bVBhdGgoKSk7CiAgICAgaWYgKCFpc1BhdGhTa2lhU2FmZShnZXRDVE0oKSwgcGF0aCkpCiAgICAg
ICAgIHJldHVybjsKIApAQCAtNDA4LDEyICs0MDksMTggQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6
OmNsaXBQYXRoKGNvbnN0IFBhdAogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAg
IHJldHVybjsKIAotICAgIFNrUGF0aCBwYXRoID0gKnBhdGhUb0NsaXAucGxhdGZvcm1QYXRoKCk7
Ci0gICAgaWYgKCFpc1BhdGhTa2lhU2FmZShnZXRDVE0oKSwgcGF0aCkpCisgICAgY29uc3QgU2tQ
YXRoKiBwYXRoID0gcGF0aFRvQ2xpcC5wbGF0Zm9ybVBhdGgoKTsKKyAgICBpZiAoIWlzUGF0aFNr
aWFTYWZlKGdldENUTSgpLCAqcGF0aCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIHBhdGguc2V0
RmlsbFR5cGUoY2xpcFJ1bGUgPT0gUlVMRV9FVkVOT0REID8gU2tQYXRoOjprRXZlbk9kZF9GaWxs
VHlwZSA6IFNrUGF0aDo6a1dpbmRpbmdfRmlsbFR5cGUpOwotICAgIHBsYXRmb3JtQ29udGV4dCgp
LT5jbGlwUGF0aEFudGlBbGlhc2VkKHBhdGgpOworICAgIFNrUGF0aDo6RmlsbFR5cGUgZnR5cGUg
PSAoY2xpcFJ1bGUgPT0gUlVMRV9FVkVOT0REKSA/IFNrUGF0aDo6a0V2ZW5PZGRfRmlsbFR5cGUg
OiBTa1BhdGg6OmtXaW5kaW5nX0ZpbGxUeXBlOworICAgIFNrUGF0aCBzdG9yYWdlOworICAgIGlm
IChwYXRoLT5nZXRGaWxsVHlwZSgpICE9IGZ0eXBlKSB7CisgICAgICAgIHN0b3JhZ2UgPSAqcGF0
aDsKKyAgICAgICAgc3RvcmFnZS5zZXRGaWxsVHlwZShmdHlwZSk7CisgICAgICAgIHBhdGggPSAm
c3RvcmFnZTsKKyAgICB9CisgICAgcGxhdGZvcm1Db250ZXh0KCktPmNsaXBQYXRoQW50aUFsaWFz
ZWQoKnBhdGgpOwogfQogCiB2b2lkIEdyYXBoaWNzQ29udGV4dDo6Y29uY2F0Q1RNKGNvbnN0IEFm
ZmluZVRyYW5zZm9ybSYgYWZmaW5lKQpAQCAtODAyLDE5ICs4MDksMjYgQEAgdm9pZCBHcmFwaGlj
c0NvbnRleHQ6OmZpbGxQYXRoKGNvbnN0IFBhdAogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkp
CiAgICAgICAgIHJldHVybjsKIAotICAgIFNrUGF0aCBwYXRoID0gKnBhdGhUb0ZpbGwucGxhdGZv
cm1QYXRoKCk7Ci0gICAgaWYgKCFpc1BhdGhTa2lhU2FmZShnZXRDVE0oKSwgcGF0aCkpCisgICAg
Y29uc3QgU2tQYXRoKiBwYXRoID0gcGF0aFRvRmlsbC5wbGF0Zm9ybVBhdGgoKTsKKyAgICBpZiAo
IWlzUGF0aFNraWFTYWZlKGdldENUTSgpLCAqcGF0aCkpCiAgICAgICByZXR1cm47CiAKICAgICBj
b25zdCBHcmFwaGljc0NvbnRleHRTdGF0ZSYgc3RhdGUgPSBtX3N0YXRlOwotICAgIHBhdGguc2V0
RmlsbFR5cGUoc3RhdGUuZmlsbFJ1bGUgPT0gUlVMRV9FVkVOT0REID8KLSAgICAgICAgU2tQYXRo
OjprRXZlbk9kZF9GaWxsVHlwZSA6IFNrUGF0aDo6a1dpbmRpbmdfRmlsbFR5cGUpOworICAgIFNr
UGF0aDo6RmlsbFR5cGUgZnR5cGUgPSBzdGF0ZS5maWxsUnVsZSA9PSBSVUxFX0VWRU5PREQgPwor
ICAgICAgICBTa1BhdGg6OmtFdmVuT2RkX0ZpbGxUeXBlIDogU2tQYXRoOjprV2luZGluZ19GaWxs
VHlwZTsKKworICAgIFNrUGF0aCBzdG9yYWdlOworICAgIGlmIChwYXRoLT5nZXRGaWxsVHlwZSgp
ICE9IGZ0eXBlKSB7CisgICAgICAgIHN0b3JhZ2UgPSAqcGF0aDsKKyAgICAgICAgc3RvcmFnZS5z
ZXRGaWxsVHlwZShmdHlwZSk7CisgICAgICAgIHBhdGggPSAmc3RvcmFnZTsKKyAgICB9CiAKICAg
ICBTa1BhaW50IHBhaW50OwogICAgIHBsYXRmb3JtQ29udGV4dCgpLT5zZXR1cFBhaW50Rm9yRmls
bGluZygmcGFpbnQpOwogCi0gICAgcGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpLT5kcmF3UGF0
aChwYXRoLCBwYWludCk7Ci0gICAgcGxhdGZvcm1Db250ZXh0KCktPmRpZERyYXdQYXRoKHBhdGgs
IHBhaW50KTsKKyAgICBwbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCktPmRyYXdQYXRoKCpwYXRo
LCBwYWludCk7CisgICAgcGxhdGZvcm1Db250ZXh0KCktPmRpZERyYXdQYXRoKCpwYXRoLCBwYWlu
dCk7CiB9CiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpmaWxsUmVjdChjb25zdCBGbG9hdFJlY3Qm
IHJlY3QpCkBAIC04MjgsMTQgKzg0MiwxMCBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZmlsbFJl
Y3QoY29uc3QgRmxvCiAgICAgICAgIENsaXBSZWN0VG9DYW52YXMoKnBsYXRmb3JtQ29udGV4dCgp
LT5jYW52YXMoKSwgciwgJnIpOwogICAgIH0KIAotICAgIHBsYXRmb3JtQ29udGV4dCgpLT5zYXZl
KCk7Ci0KICAgICBTa1BhaW50IHBhaW50OwogICAgIHBsYXRmb3JtQ29udGV4dCgpLT5zZXR1cFBh
aW50Rm9yRmlsbGluZygmcGFpbnQpOwogICAgIHBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKS0+
ZHJhd1JlY3QociwgcGFpbnQpOwogICAgIHBsYXRmb3JtQ29udGV4dCgpLT5kaWREcmF3UmVjdChy
LCBwYWludCk7Ci0KLSAgICBwbGF0Zm9ybUNvbnRleHQoKS0+cmVzdG9yZSgpOwogfQogCiB2b2lk
IEdyYXBoaWNzQ29udGV4dDo6ZmlsbFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0LCBjb25zdCBD
b2xvciYgY29sb3IsIENvbG9yU3BhY2UgY29sb3JTcGFjZSkKQEAgLTExOTUsNyArMTIwNSw3IEBA
IHZvaWQgR3JhcGhpY3NDb250ZXh0OjpzdHJva2VQYXRoKGNvbnN0IFAKICAgICBpZiAocGFpbnRp
bmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBTa1BhdGggcGF0aCA9ICpwYXRo
VG9TdHJva2UucGxhdGZvcm1QYXRoKCk7CisgICAgY29uc3QgU2tQYXRoJiBwYXRoID0gKnBhdGhU
b1N0cm9rZS5wbGF0Zm9ybVBhdGgoKTsKICAgICBpZiAoIWlzUGF0aFNraWFTYWZlKGdldENUTSgp
LCBwYXRoKSkKICAgICAgICAgcmV0dXJuOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>