<?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>59929</bug_id>
          
          <creation_ts>2011-05-02 05:33:24 -0700</creation_ts>
          <short_desc>[Chromium] Make accelerated 2d canvas enabled by default with skia</short_desc>
          <delta_ts>2011-12-22 11:53:42 -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>Canvas</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>0</everconfirmed>
          <reporter name="Justin Novosad">junov</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>kbr</cc>
    
    <cc>mdelaney7</cc>
    
    <cc>reed</cc>
    
    <cc>scroggo</cc>
    
    <cc>senorblanco</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>vangelis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>396341</commentid>
    <comment_count>0</comment_count>
    <who name="Justin Novosad">junov</who>
    <bug_when>2011-05-02 05:33:24 -0700</bug_when>
    <thetext>The setting acceleratedCanvas2DEnabled will soon be turned on by default in Chromium.  The effect of this run-time flag must be changed so that it enables the Skia-based GPU acceleration of the 2D canvas.
Furthermore, a new runtime flag must be added in order to enable the legacy accelerated 2D canvas.  The legacy flag will have priority when both flags are enabled simultaneously.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396390</commentid>
    <comment_count>1</comment_count>
      <attachid>91924</attachid>
    <who name="Justin Novosad">junov</who>
    <bug_when>2011-05-02 08:32:45 -0700</bug_when>
    <thetext>Created attachment 91924
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396392</commentid>
    <comment_count>2</comment_count>
      <attachid>91924</attachid>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2011-05-02 08:36:36 -0700</bug_when>
    <thetext>Comment on attachment 91924
Patch

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

&gt; Source/WebCore/page/Page.cpp:752
&gt; +      m_sharedGraphicsContext3D = SharedGraphicsContext3D::create(chrome(), settings()-&gt;legacyAccelerated2dCanvasEnabled() ? 0 : SharedGraphicsContext3D::UseSkiaGPU);

Since this now makes skia-gpu the default path for accelerated canvas, won&apos;t we also need to add all failing tests to test_expectations along with this change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396430</commentid>
    <comment_count>3</comment_count>
      <attachid>91924</attachid>
    <who name="Vangelis Kokkevis">vangelis</who>
    <bug_when>2011-05-02 10:08:22 -0700</bug_when>
    <thetext>Comment on attachment 91924
Patch

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

&gt; Source/WebCore/page/Settings.cpp:722
&gt; +void Settings::setLegacyAccelerated2dCanvasEnabled(bool enabled)

This is a chromium-only flag so I think it should only exist in the chromium websettings files much like it was done with the compositeToTexture flag in :

https://bugs.webkit.org/show_bug.cgi?id=52311

It will actually simplify things and you won&apos;t have to touch quite that many files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396581</commentid>
    <comment_count>4</comment_count>
    <who name="Justin Novosad">junov</who>
    <bug_when>2011-05-02 13:17:25 -0700</bug_when>
    <thetext>Delivery plan proposed by Stephen White:

1:  Add --enable-legacy-accelerated-2d-canvas flag to both Chrome and DRT (won&apos;t do anything yet, since old path is still the default)
2:  Change the --accelerated-2d-canvas flag to mean Ganesh, not the old path, and remove the double-meaning of --enable-accelerated-drawing (have it mean only Alok&apos;s compositor -&gt; skia stuff, not canvas2D).  This should be a 1-liner in the code.  Along with this change, submit suppressions to test_expectations for the new failures.
3:  Make canvas2D GPU (skia path) on by default in Chrome.  Replace the --enable-accelerated-2d-canvas flag with --disable-accelerated-2d-canvas.  Pass --disable-accelerated-2d-canvas to the CPU step on the canary and trybots, and remove --enable-accelerated-2d-canvas from the GPU step.
4.  Rebaseline the fast/canvas tests that need new pixel results, and remove the suppressions from test_expectations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>397150</commentid>
    <comment_count>5</comment_count>
    <who name="Vangelis Kokkevis">vangelis</who>
    <bug_when>2011-05-03 10:12:51 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Delivery plan proposed by Stephen White:
&gt; 
&gt; 1:  Add --enable-legacy-accelerated-2d-canvas flag to both Chrome and DRT (won&apos;t do anything yet, since old path is still the default)
&gt; 2:  Change the --accelerated-2d-canvas flag to mean Ganesh, not the old path, and remove the double-meaning of --enable-accelerated-drawing (have it mean only Alok&apos;s compositor -&gt; skia stuff, not canvas2D).  This should be a 1-liner in the code.  Along with this change, submit suppressions to test_expectations for the new failures.
&gt; 3:  Make canvas2D GPU (skia path) on by default in Chrome.  Replace the --enable-accelerated-2d-canvas flag with --disable-accelerated-2d-canvas.  Pass --disable-accelerated-2d-canvas to the CPU step on the canary and trybots, and remove --enable-accelerated-2d-canvas from the GPU step.
&gt; 4.  Rebaseline the fast/canvas tests that need new pixel results, and remove the suppressions from test_expectations.

Sounds good.  We should probably flip #3 and #4 so that we have the tests producing the correct results before we turn this on by default.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>397179</commentid>
    <comment_count>6</comment_count>
    <who name="Justin Novosad">junov</who>
    <bug_when>2011-05-03 10:46:55 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 91924 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=91924&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/Settings.cpp:722
&gt; &gt; +void Settings::setLegacyAccelerated2dCanvasEnabled(bool enabled)
&gt; 
&gt; This is a chromium-only flag so I think it should only exist in the chromium websettings files much like it was done with the compositeToTexture flag in :
&gt; 
&gt; https://bugs.webkit.org/show_bug.cgi?id=52311
&gt; 
&gt; It will actually simplify things and you won&apos;t have to touch quite that many files.

I tried to do what you suggest, but the problem is that I can&apos;t figure out a clean way to access WebSettings from outside of WebKit/chromium/src.  I think your suggestion might not work for what we are trying to do here, unless I am missing something?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>397202</commentid>
    <comment_count>7</comment_count>
      <attachid>91924</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-05-03 11:12:50 -0700</bug_when>
    <thetext>Comment on attachment 91924
Patch

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

&gt;&gt;&gt; Source/WebCore/page/Settings.cpp:722
&gt;&gt;&gt; +void Settings::setLegacyAccelerated2dCanvasEnabled(bool enabled)
&gt;&gt; 
&gt;&gt; This is a chromium-only flag so I think it should only exist in the chromium websettings files much like it was done with the compositeToTexture flag in :
&gt;&gt; 
&gt;&gt; https://bugs.webkit.org/show_bug.cgi?id=52311
&gt;&gt; 
&gt;&gt; It will actually simplify things and you won&apos;t have to touch quite that many files.
&gt; 
&gt; I tried to do what you suggest, but the problem is that I can&apos;t figure out a clean way to access WebSettings from outside of WebKit/chromium/src.  I think your suggestion might not work for what we are trying to do here, unless I am missing something?

No, you are correct. You can&apos;t access the Chromium WebKit API from WebCore. You can access it from Chrome sources and from within WebKit/chromium/src. The way you&apos;ve done things looks fine.

&gt; Source/WebCore/page/Settings.h:492
&gt; +        bool m_legacyAcceleratedCanvas2dEnabled : 1;

You need to initialize this new bit to false in the Settings constructor.

&gt; Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h:100
&gt; +#define WebKitLegacyAccelerated2dCanvasEnabledPreferenceKey @&quot;WebKitLegacyAccelerated2dCanvasEnabled&quot;

You don&apos;t need to touch any of these Mac-specific files. The Chromium port is the only one using this legacy accelerated canvas 2D code at this point, so it&apos;s better not to add the new flag to any of the other ports&apos; WebPreferences-like classes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>397237</commentid>
    <comment_count>8</comment_count>
      <attachid>92099</attachid>
    <who name="Justin Novosad">junov</who>
    <bug_when>2011-05-03 11:54:24 -0700</bug_when>
    <thetext>Created attachment 92099
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>397241</commentid>
    <comment_count>9</comment_count>
      <attachid>92099</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-05-03 11:58:36 -0700</bug_when>
    <thetext>Comment on attachment 92099
Patch

Looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>397711</commentid>
    <comment_count>10</comment_count>
      <attachid>92099</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-03 23:25:37 -0700</bug_when>
    <thetext>Comment on attachment 92099
Patch

Clearing flags on attachment: 92099

Committed r85720: &lt;http://trac.webkit.org/changeset/85720&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>397712</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-03 23:25:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>397949</commentid>
    <comment_count>12</comment_count>
    <who name="Justin Novosad">junov</who>
    <bug_when>2011-05-04 08:58:45 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; All reviewed patches have been landed.  Closing bug.
The patch that was landed is only phase 1.
Further work on this issue continues here:
https://bugs.webkit.org/show_bug.cgi?id=60173</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526364</commentid>
    <comment_count>13</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-12-22 10:55:27 -0800</bug_when>
    <thetext>Add legacyAccelerated2dCanvasEnabled to Settings with no explanatory comment is a bad thing to do. I have no idea what the difference is between these two prefs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526414</commentid>
    <comment_count>14</comment_count>
    <who name="Justin Novosad">junov</who>
    <bug_when>2011-12-22 11:53:42 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; Add legacyAccelerated2dCanvasEnabled to Settings with no explanatory comment is a bad thing to do. I have no idea what the difference is between these two prefs.

Thanks for spotting this. This code is now vestigial, and should be cleaned out.  Just created: https://bugs.webkit.org/show_bug.cgi?id=75108</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91924</attachid>
            <date>2011-05-02 08:32:45 -0700</date>
            <delta_ts>2011-05-03 11:54:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59929-20110502113243.patch</filename>
            <type>text/plain</type>
            <size>12916</size>
            <attacher name="Justin Novosad">junov</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg1MzU4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTEtMDQtMjkgIEp1c3RpbiBO
b3Zvc2FkICA8anVub3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtDaHJvbWl1bV0gTWFrZSBhY2NlbGVyYXRlZCAyZCBjYW52
YXMgZW5hYmxlZCBieSBkZWZhdWx0IHdpdGggc2tpYQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk5MjkKKyAgICAgICAgQ2hhbmdpbmcgdGhlIGJlaGF2
aW9yIG9mIHRoZSBBY2NlbGVyYXRlZDJkQ2FudmFzIGZsYWcgc28gdGhhdCBpdAorICAgICAgICB3
aWxsIGVuYWJsZSB0aGUgbmV3IHNraWEtYmFzZSBhY2NlbGVyYXRlZCByZW5kZXJpbmcgcGF0aC4g
IFRoZSBvbGQKKyAgICAgICAgR1BVLWFjY2VsZXJhdGVkIHJlbmRlcmluZyBwYXRoIGlzIGF2YWls
YWJsZSB0aHJvdWdoIHRoZSBuZXcKKyAgICAgICAgbGVnYWN5QWNjZWxlcmF0ZWQyZENhbnZhcyBm
bGFnLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gRXhpc3RpbmcgTGF5b3V0IHRlc3RzIHdpbGwg
Y292ZXIgdGhpcyBjaGFuZ2UgYXMgc29vbgorICAgICAgICBBY2NlbGVyYXRlZDJkQ2FudmFzIGdl
dHMgZmxpcHBlZCBvbiBieSBkZWZhdWx0IGluIENocm9taXVtLgorCisgICAgICAgICogaHRtbC9j
YW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKToKKyAgICAg
ICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2hhcmVkR3JhcGhp
Y3NDb250ZXh0M0QpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2V0dGluZ3M6OnNldExlZ2FjeUFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkKToKKyAg
ICAgICAgKiBwYWdlL1NldHRpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6bGVn
YWN5QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQpOgorCiAyMDExLTA0LTI5ICBDc2FiYSBPc3p0
cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBVbnJldmlld2VkIGJ1
aWxkZml4IGFmdGVyIHI4NTM0My4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAkocmV2aXNpb24gODUzNTcp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjcsNyArMTI3LDcgQEAgQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEOjpDYW52YXNSZW5kZXJpbgogICAgIFBhZ2UqIHAgPSBjYW52YXMtPmRvY3VtZW50KCkt
PnBhZ2UoKTsKICAgICBpZiAoIXApCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAoIXAtPnNldHRp
bmdzKCktPmFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkKCkpCisgICAgaWYgKCEocC0+c2V0dGlu
Z3MoKS0+YWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQoKSB8fCBwLT5zZXR0aW5ncygpLT5sZWdh
Y3lBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZCgpKSkKICAgICAgICAgcmV0dXJuOwogICAgIGlm
IChHcmFwaGljc0NvbnRleHQqIGMgPSBkcmF3aW5nQ29udGV4dCgpKSB7CiAgICAgICAgIG1fY29u
dGV4dDNEID0gcC0+c2hhcmVkR3JhcGhpY3NDb250ZXh0M0QoKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmNwcAkocmV2aXNpb24gODUzNTcpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03NDksNyArNzQ5LDcgQEAgU2hhcmVkR3JhcGhpY3NDb250ZXh0M0Qq
IFBhZ2U6OnNoYXJlZEdyYQogI2lmIEVOQUJMRShBQ0NFTEVSQVRFRF8yRF9DQU5WQVMpCiAgICAg
aWYgKCFtX3NoYXJlZEdyYXBoaWNzQ29udGV4dDNEKQogI2lmIFVTRShTS0lBKQotICAgICAgICBt
X3NoYXJlZEdyYXBoaWNzQ29udGV4dDNEID0gU2hhcmVkR3JhcGhpY3NDb250ZXh0M0Q6OmNyZWF0
ZShjaHJvbWUoKSwgc2V0dGluZ3MoKS0+YWNjZWxlcmF0ZWREcmF3aW5nRW5hYmxlZCgpID8gU2hh
cmVkR3JhcGhpY3NDb250ZXh0M0Q6OlVzZVNraWFHUFUgOiAwKTsKKyAgICAgIG1fc2hhcmVkR3Jh
cGhpY3NDb250ZXh0M0QgPSBTaGFyZWRHcmFwaGljc0NvbnRleHQzRDo6Y3JlYXRlKGNocm9tZSgp
LCBzZXR0aW5ncygpLT5sZWdhY3lBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZCgpID8gMCA6IFNo
YXJlZEdyYXBoaWNzQ29udGV4dDNEOjpVc2VTa2lhR1BVKTsKICNlbHNlCiAgICAgICAgIG1fc2hh
cmVkR3JhcGhpY3NDb250ZXh0M0QgPSBTaGFyZWRHcmFwaGljc0NvbnRleHQzRDo6Y3JlYXRlKGNo
cm9tZSgpLCAwKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAJKHJldmlz
aW9uIDg1MzU3KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTcxOSw2ICs3MTksMTEgQEAgdm9pZCBTZXR0aW5nczo6c2V0QWNjZWxlcmF0ZWQy
ZENhbnZhc0VuYQogICAgIG1fYWNjZWxlcmF0ZWRDYW52YXMyZEVuYWJsZWQgPSBlbmFibGVkOwog
fQogCit2b2lkIFNldHRpbmdzOjpzZXRMZWdhY3lBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZChi
b29sIGVuYWJsZWQpCit7CisgICAgbV9sZWdhY3lBY2NlbGVyYXRlZENhbnZhczJkRW5hYmxlZCA9
IGVuYWJsZWQ7Cit9CisKIHZvaWQgU2V0dGluZ3M6OnNldExvYWREZWZlcnJpbmdFbmFibGVkKGJv
b2wgZW5hYmxlZCkKIHsKICAgICBtX2xvYWREZWZlcnJpbmdFbmFibGVkID0gZW5hYmxlZDsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmgJKHJldmlzaW9uIDg1MzU3KQorKysgU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNDEsNiArMzQxLDkgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldEFjY2VsZXJhdGVkMmRDYW52YXNFbmFi
bGVkKGJvb2wpOwogICAgICAgICBib29sIGFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkKCkgY29u
c3QgeyByZXR1cm4gbV9hY2NlbGVyYXRlZENhbnZhczJkRW5hYmxlZDsgfQogCisgICAgICAgIHZv
aWQgc2V0TGVnYWN5QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQoYm9vbCk7CisgICAgICAgIGJv
b2wgbGVnYWN5QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2xl
Z2FjeUFjY2VsZXJhdGVkQ2FudmFzMmRFbmFibGVkOyB9CisKICAgICAgICAgdm9pZCBzZXRMb2Fk
RGVmZXJyaW5nRW5hYmxlZChib29sKTsKICAgICAgICAgYm9vbCBsb2FkRGVmZXJyaW5nRW5hYmxl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9hZERlZmVycmluZ0VuYWJsZWQ7IH0KICAgICAgICAgCkBA
IC00ODYsNiArNDg5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIG1fb3Bl
bkdMTXVsdGlzYW1wbGluZ0VuYWJsZWQgOiAxOwogICAgICAgICBib29sIG1fd2ViQXVkaW9FbmFi
bGVkIDogMTsKICAgICAgICAgYm9vbCBtX2FjY2VsZXJhdGVkQ2FudmFzMmRFbmFibGVkIDogMTsK
KyAgICAgICAgYm9vbCBtX2xlZ2FjeUFjY2VsZXJhdGVkQ2FudmFzMmRFbmFibGVkIDogMTsKICAg
ICAgICAgYm9vbCBtX2xvYWREZWZlcnJpbmdFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBtX3Rp
bGVkQmFja2luZ1N0b3JlRW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV9wYWdpbmF0ZUR1cmlu
Z0xheW91dEVuYWJsZWQgOiAxOwpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlz
aW9uIDg1MzU4KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMS0wNC0yOSAgSnVzdGluIE5vdm9zYWQgIDxqdW5v
dkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgW0Nocm9taXVtXSBNYWtlIGFjY2VsZXJhdGVkIDJkIGNhbnZhcyBlbmFibGVkIGJ5
IGRlZmF1bHQgd2l0aCBza2lhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD01OTkyOQorICAgICAgICBUaGlzIGNoYW5nZSBhZGRzIGEgbmV3IGZsYWcgdG8g
V2ViU2V0dGluZ3MgZm9yIGVuYWJsaW5nIHRoZSBsZWdhY3kKKyAgICAgICAgYWNjZWxlcmF0ZWQg
MkQgY2FudmFzCisKKyAgICAgICAgKiBwdWJsaWMvV2ViU2V0dGluZ3MuaDoKKyAgICAgICAgKiBz
cmMvV2ViU2V0dGluZ3NJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU2V0dGluZ3NJbXBs
OjpzZXRMZWdhY3lBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZCk6CisgICAgICAgICogc3JjL1dl
YlNldHRpbmdzSW1wbC5oOgorCiAyMDExLTA0LTI5ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCkluZGV4
OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNldHRpbmdzLmgJKHJldmlzaW9u
IDg1MzU3KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaAko
d29ya2luZyBjb3B5KQpAQCAtMTEwLDYgKzExMCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvclBsdWdpbnNFbmFibGVkKGJvb2wpID0gMDsK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckFuaW1hdGlvbkVu
YWJsZWQoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRBY2NlbGVyYXRlZDJkQ2FudmFz
RW5hYmxlZChib29sKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNldExlZ2FjeUFjY2VsZXJhdGVk
MmRDYW52YXNFbmFibGVkKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0QWNjZWxlcmF0
ZWREcmF3aW5nRW5hYmxlZChib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldE1lbW9yeUlu
Zm9FbmFibGVkKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0SHlwZXJsaW5rQXVkaXRp
bmdFbmFibGVkKGJvb2wpID0gMDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlNldHRpbmdzSW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViU2V0dGluZ3NJbXBsLmNwcAkocmV2aXNpb24gODUzNTcpCisrKyBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNTMs
NiArMzUzLDExIEBAIHZvaWQgV2ViU2V0dGluZ3NJbXBsOjpzZXRBY2NlbGVyYXRlZDJkQ2EKICAg
ICBtX3NldHRpbmdzLT5zZXRBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZChlbmFibGVkKTsKIH0K
IAordm9pZCBXZWJTZXR0aW5nc0ltcGw6OnNldExlZ2FjeUFjY2VsZXJhdGVkMmRDYW52YXNFbmFi
bGVkKGJvb2wgZW5hYmxlZCkKK3sKKyAgICBtX3NldHRpbmdzLT5zZXRMZWdhY3lBY2NlbGVyYXRl
ZDJkQ2FudmFzRW5hYmxlZChlbmFibGVkKTsKK30KKwogdm9pZCBXZWJTZXR0aW5nc0ltcGw6OnNl
dE1lbW9yeUluZm9FbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKICAgICBtX3NldHRpbmdzLT5zZXRN
ZW1vcnlJbmZvRW5hYmxlZChlbmFibGVkKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlNldHRpbmdzSW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlNldHRpbmdzSW1wbC5oCShyZXZpc2lvbiA4NTM1NykKKysrIFNvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDMs
NiArMTAzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRBY2NlbGVyYXRlZENvbXBv
c2l0aW5nRm9yQ2FudmFzRW5hYmxlZChib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0QWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0ZvckFuaW1hdGlvbkVuYWJsZWQoYm9vbCk7CiAgICAgdmlydHVhbCB2
b2lkIHNldEFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkKGJvb2wpOworICAgIHZpcnR1YWwgdm9p
ZCBzZXRMZWdhY3lBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZChib29sKTsKICAgICB2aXJ0dWFs
IHZvaWQgc2V0QWNjZWxlcmF0ZWREcmF3aW5nRW5hYmxlZChib29sKTsKICAgICB2aXJ0dWFsIHZv
aWQgc2V0TWVtb3J5SW5mb0VuYWJsZWQoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldEh5cGVy
bGlua0F1ZGl0aW5nRW5hYmxlZChib29sKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDg1MzU4KQorKysgU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTEtMDQtMjkgIEp1c3RpbiBOb3Zvc2FkICA8anVub3ZAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtDaHJvbWl1bV0gTWFrZSBhY2NlbGVyYXRlZCAyZCBjYW52YXMgZW5hYmxlZCBieSBkZWZhdWx0
IHdpdGggc2tpYQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTk5MjkKKyAgICAgICAgQWRkaW5nIGEgbmV3IGZsYWcgdG8gV2ViUHJlZmVyZW5jZXMgZm9y
IGVuYWJsaW5nIHRoZSBsZWdhY3kKKyAgICAgICAgYWNjZWxlcmF0ZWQgMkQgY2FudmFzLgorCisg
ICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0
aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIGxlZ2FjeUFjY2VsZXJhdGVkMmRD
YW52YXNFbmFibGVkXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNldExlZ2FjeUFjY2Vs
ZXJhdGVkMmRDYW52YXNFbmFibGVkOl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5j
ZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtX
ZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWQ6XSk6CisKIDIwMTEtMDQtMjkgIERlYW4gSmFja3Nv
biAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4K
SW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
S2V5c1ByaXZhdGUuaAkocmV2aXNpb24gODUzNTcpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC05Nyw2ICs5
Nyw3IEBACiAjZGVmaW5lIFdlYktpdFdlYkF1ZGlvRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJL
aXRXZWJBdWRpb0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFdlYkdMRW5hYmxlZFByZWZlcmVuY2VL
ZXkgQCJXZWJLaXRXZWJHTEVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdEFjY2VsZXJhdGVkMmRDYW52
YXNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVk
IgorI2RlZmluZSBXZWJLaXRMZWdhY3lBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZFByZWZlcmVu
Y2VLZXkgQCJXZWJLaXRMZWdhY3lBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZCIKICNkZWZpbmUg
V2ViS2l0UGx1Z2luQWxsb3dlZFJ1blRpbWVQcmVmZXJlbmNlS2V5IEAiV2ViS2l0UGx1Z2luQWxs
b3dlZFJ1blRpbWUiCiAjZGVmaW5lIFdlYktpdEZyYW1lRmxhdHRlbmluZ0VuYWJsZWRQcmVmZXJl
bmNlS2V5IEAiV2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0U3Bh
dGlhbE5hdmlnYXRpb25FbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFNwYXRpYWxOYXZpZ2F0
aW9uRW5hYmxlZCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlcy5tbQkocmV2aXNpb24gODUzNTcpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zODIsNiArMzgyLDcgQEAgKyAodm9p
ZClpbml0aWFsaXplCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2Vi
S2l0U2hvd1JlcGFpbnRDb3VudGVyUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51
bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRXZWJHTEVuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAg
ICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdEFjY2VsZXJhdGVkMmRD
YW52YXNFbmFibGVkUHJlZmVyZW5jZUtleSwKKyAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhC
b29sOk5PXSwgICBXZWJLaXRMZWdhY3lBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZFByZWZlcmVu
Y2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoVW5zaWduZWRJbnQ6NF0sIFdlYktp
dFBsdWdpbkFsbG93ZWRSdW5UaW1lUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51
bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkUHJlZmVyZW5j
ZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRTcGF0
aWFsTmF2aWdhdGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5LApAQCAtMTM0NSw2ICsxMzQ2LDE2IEBA
IC0gKHZvaWQpc2V0QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQ6KEIKICAgICBbc2VsZiBfc2V0
Qm9vbFZhbHVlOmVuYWJsZWQgZm9yS2V5OldlYktpdEFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVk
UHJlZmVyZW5jZUtleV07CiB9CiAKKy0gKEJPT0wpbGVnYWN5QWNjZWxlcmF0ZWQyZENhbnZhc0Vu
YWJsZWQKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRMZWdhY3lB
Y2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCistICh2b2lkKXNl
dExlZ2FjeUFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkOihCT09MKWVuYWJsZWQKK3sKKyAgICBb
c2VsZiBfc2V0Qm9vbFZhbHVlOmVuYWJsZWQgZm9yS2V5OldlYktpdExlZ2FjeUFjY2VsZXJhdGVk
MmRDYW52YXNFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisKIC0gKHVuc2lnbmVkKXBsdWdpbkFs
bG93ZWRSdW5UaW1lCiB7CiAgICAgcmV0dXJuIFtzZWxmIF9pbnRlZ2VyVmFsdWVGb3JLZXk6V2Vi
S2l0UGx1Z2luQWxsb3dlZFJ1blRpbWVQcmVmZXJlbmNlS2V5XTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAkocmV2aXNpb24g
ODUzNTcpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDEsNiArMjAxLDkgQEAgQGludGVyZmFjZSBXZWJQcmVm
ZXJlbmNlcyAoV2ViUHJpdmF0ZSkKIC0gKEJPT0wpYWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQ7
CiAtICh2b2lkKXNldEFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkOihCT09MKWVuYWJsZWQ7CiAK
Ky0gKEJPT0wpbGVnYWN5QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQ7CistICh2b2lkKXNldExl
Z2FjeUFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkOihCT09MKWVuYWJsZWQ7CisKIC0gKEJPT0wp
cGFnaW5hdGVEdXJpbmdMYXlvdXRFbmFibGVkOwogLSAodm9pZClzZXRQYWdpbmF0ZUR1cmluZ0xh
eW91dEVuYWJsZWQ6KEJPT0wpZmxhZzsKIApJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbQkocmV2aXNpb24gODUzNTcpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTE1MTQsNyArMTUxNCw3IEBAIC0gKHZvaWQpX3By
ZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW4KICAgICAvLyBGSVhNRTogRW5hYmxpbmcgYWNj
ZWxlcmF0ZWQgY29tcG9zaXRpbmcgd2hlbiBXZWJHTCBpcyBlbmFibGVkIGNhdXNlcyB0ZXN0cyB0
byBmYWlsIG9uIExlb3BhcmQgd2hpY2ggZXhwZWN0IEhXIGNvbXBvc2l0aW5nIHRvIGJlIGRpc2Fi
bGVkLgogICAgIC8vIFVudGlsIHdlIGZpeCB0aGF0LCBJIHdpbGwgY29tbWVudCBvdXQgdGhlIHRl
c3QgKENGTSkKICAgICBzZXR0aW5ncy0+c2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQo
KGNvcmVWaWRlb0hhczcyMjg4MzZGaXgoKSB8fCBbcHJlZmVyZW5jZXMgd2ViR0xFbmFibGVkXSB8
fCAKLSAgICAgICAgW3ByZWZlcmVuY2VzIGFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkXSkgJiYg
W3ByZWZlcmVuY2VzIGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkXSk7CisgICAgICAgIFtw
cmVmZXJlbmNlcyBhY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZF0gfHwgW3ByZWZlcmVuY2VzIGxl
Z2FjeUFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkXSkgJiYgW3ByZWZlcmVuY2VzIGFjY2VsZXJh
dGVkQ29tcG9zaXRpbmdFbmFibGVkXSk7CiAgICAgc2V0dGluZ3MtPnNldEFjY2VsZXJhdGVkRHJh
d2luZ0VuYWJsZWQoW3ByZWZlcmVuY2VzIGFjY2VsZXJhdGVkRHJhd2luZ0VuYWJsZWRdKTsKICAg
ICBzZXR0aW5ncy0+c2V0Q2FudmFzVXNlc0FjY2VsZXJhdGVkRHJhd2luZyhbcHJlZmVyZW5jZXMg
Y2FudmFzVXNlc0FjY2VsZXJhdGVkRHJhd2luZ10pOyAgICAKICAgICBzZXR0aW5ncy0+c2V0U2hv
d0RlYnVnQm9yZGVycyhbcHJlZmVyZW5jZXMgc2hvd0RlYnVnQm9yZGVyc10pOwpAQCAtMTUyMyw2
ICsxNTIzLDcgQEAgLSAodm9pZClfcHJlZmVyZW5jZXNDaGFuZ2VkOihXZWJQcmVmZXJlbgogICAg
IHNldHRpbmdzLT5zZXRXZWJBdWRpb0VuYWJsZWQoW3ByZWZlcmVuY2VzIHdlYkF1ZGlvRW5hYmxl
ZF0pOwogICAgIHNldHRpbmdzLT5zZXRXZWJHTEVuYWJsZWQoW3ByZWZlcmVuY2VzIHdlYkdMRW5h
YmxlZF0pOwogICAgIHNldHRpbmdzLT5zZXRBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZChbcHJl
ZmVyZW5jZXMgYWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWRdKTsKKyAgICBzZXR0aW5ncy0+c2V0
TGVnYWN5QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQoW3ByZWZlcmVuY2VzIGxlZ2FjeUFjY2Vs
ZXJhdGVkMmRDYW52YXNFbmFibGVkXSk7CiAgICAgc2V0dGluZ3MtPnNldExvYWREZWZlcnJpbmdF
bmFibGVkKHNob3VsZEVuYWJsZUxvYWREZWZlcnJpbmcoKSk7CiAgICAgc2V0dGluZ3MtPnNldEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWQoW3ByZWZlcmVuY2VzIGlzRnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZF0pOwogICAgIHNldHRpbmdzLT5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoW3ByZWZlcmVu
Y2VzIGlzU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkXSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92099</attachid>
            <date>2011-05-03 11:54:24 -0700</date>
            <delta_ts>2011-05-03 23:25:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59929-20110503145423.patch</filename>
            <type>text/plain</type>
            <size>7855</size>
            <attacher name="Justin Novosad">junov</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg1NjI4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDUtMDMgIEp1c3RpbiBO
b3Zvc2FkICA8anVub3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtDaHJvbWl1bV0gTWFrZSBhY2NlbGVyYXRlZCAyZCBjYW52
YXMgZW5hYmxlZCBieSBkZWZhdWx0IHdpdGggc2tpYQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk5MjkKKworICAgICAgICBObyBuZXcgdGVzdHMuIENv
dmVyZWQgYnkgZXhpc3RpbmcgbGF5b3V0IHRlc3RzCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9D
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQpOgorICAgICAgICBJbml0
aWFsaXplZCBmb3IgYWNjZWxlcmF0ZWQgY2FudmFzIGlmIGVpdGhlciB0aGUgYWNjZWxlcmF0ZWQy
ZENhbnZhcworICAgICAgICBvciB0aGUgbGVnYWN5QWNjZWxlcmF0ZWQyZENhbnZhcyBmbGFncyBh
cmUgZW5hYmxlZAorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQ
YWdlOjpzaGFyZWRHcmFwaGljc0NvbnRleHQzRCk6CisgICAgICAgIFRoaXMgaXMgd2hlcmUgdGhl
IGNvZGUgZ29lcyB0byBpbXBsZW1lbnQgdGhlIGZ1bmN0aW9uYWxpdHkgZm9yIHRoZQorICAgICAg
ICBsZWdhY3kgdnMgY3VycmVudCBhY2NlbGVyYXRpb24gcGF0aHMgZm9yIHRoZSAyRCBjYW52YXMu
IEN1cnJlbnRseSwKKyAgICAgICAgdGhpcyBpcyBhIG5vLW9wLCBhbmQgYWx3YXlzIHNlbGVjdCB0
aGUgbGVnYWN5IHBhdGguICBUaGlzIGlzIHRlbXBvcmFyeQorICAgICAgICB1bnRpbCB3ZSBhcmUg
cmVhZHkgdG8gc29ydCB0aGUgR1BVIGxheW91dCB0ZXN0cyAocmViYXNsaW5lIHZzLiBidWcpCisg
ICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6ICBBZGRlZCBuZXcgZmxhZ2UgZm9yIGxlZ2FjeUFj
Y2VsZXJhdGVkMmRDYW52YXMKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6
CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0TGVnYWN5QWNjZWxlcmF0ZWQyZENhbnZh
c0VuYWJsZWQpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlNldHRpbmdzOjpsZWdhY3lBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZCk6CisKIDIwMTEtMDUt
MDMgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IERhbiBCZXJuc3RlaW4uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHJldmlzaW9uIDg1NjI2KQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTMxLDcgKzEzMSw3IEBAIENhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RDo6Q2FudmFzUmVuZGVyaW4KICAgICBQYWdlKiBwID0gY2FudmFzLT5kb2N1bWVudCgpLT5wYWdl
KCk7CiAgICAgaWYgKCFwKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFwLT5zZXR0aW5ncygp
LT5hY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZCgpKQorICAgIGlmICghKHAtPnNldHRpbmdzKCkt
PmFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkKCkgfHwgcC0+c2V0dGluZ3MoKS0+bGVnYWN5QWNj
ZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQoKSkpCiAgICAgICAgIHJldHVybjsKICAgICBpZiAoR3Jh
cGhpY3NDb250ZXh0KiBjID0gZHJhd2luZ0NvbnRleHQoKSkgewogICAgICAgICBtX2NvbnRleHQz
RCA9IHAtPnNoYXJlZEdyYXBoaWNzQ29udGV4dDNEKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAJ
KHJldmlzaW9uIDg1NjI2KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNzQ5LDcgKzc0OSw4IEBAIFNoYXJlZEdyYXBoaWNzQ29udGV4dDNEKiBQYWdl
OjpzaGFyZWRHcmEKICNpZiBFTkFCTEUoQUNDRUxFUkFURURfMkRfQ0FOVkFTKQogICAgIGlmICgh
bV9zaGFyZWRHcmFwaGljc0NvbnRleHQzRCkKICNpZiBVU0UoU0tJQSkKLSAgICAgICAgbV9zaGFy
ZWRHcmFwaGljc0NvbnRleHQzRCA9IFNoYXJlZEdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGUoY2hy
b21lKCksIHNldHRpbmdzKCktPmFjY2VsZXJhdGVkRHJhd2luZ0VuYWJsZWQoKSA/IFNoYXJlZEdy
YXBoaWNzQ29udGV4dDNEOjpVc2VTa2lhR1BVIDogMCk7CisgICAgICAgIC8vIFRlbXBvcmFyeSBj
b2RlIHRvIHBvc3Rwb25lIG1hc3NpdmUgdGVzdCByZWJhc2VsaW5pbmcKKyAgICAgICAgbV9zaGFy
ZWRHcmFwaGljc0NvbnRleHQzRCA9IFNoYXJlZEdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGUoY2hy
b21lKCksIDAgLypzZXR0aW5ncygpLT5sZWdhY3lBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZCgp
ID8gMCA6IFNoYXJlZEdyYXBoaWNzQ29udGV4dDNEOjpVc2VTa2lhR1BVKi8pOwogI2Vsc2UKICAg
ICAgICAgbV9zaGFyZWRHcmFwaGljc0NvbnRleHQzRCA9IFNoYXJlZEdyYXBoaWNzQ29udGV4dDNE
OjpjcmVhdGUoY2hyb21lKCksIDApOwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmNwcAkocmV2aXNpb24gODU2MjYpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTYzLDYgKzE2Myw3IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQ
YWdlKiBwYWdlKQogICAgICwgbV9vcGVuR0xNdWx0aXNhbXBsaW5nRW5hYmxlZCh0cnVlKQogICAg
ICwgbV93ZWJBdWRpb0VuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2FjY2VsZXJhdGVkQ2FudmFzMmRF
bmFibGVkKGZhbHNlKQorICAgICwgbV9sZWdhY3lBY2NlbGVyYXRlZENhbnZhczJkRW5hYmxlZChm
YWxzZSkKICAgICAsIG1fbG9hZERlZmVycmluZ0VuYWJsZWQodHJ1ZSkKICAgICAsIG1fdGlsZWRC
YWNraW5nU3RvcmVFbmFibGVkKGZhbHNlKQogICAgICwgbV9wYWdpbmF0ZUR1cmluZ0xheW91dEVu
YWJsZWQoZmFsc2UpCkBAIC03MjIsNiArNzIzLDExIEBAIHZvaWQgU2V0dGluZ3M6OnNldEFjY2Vs
ZXJhdGVkMmRDYW52YXNFbmEKICAgICBtX2FjY2VsZXJhdGVkQ2FudmFzMmRFbmFibGVkID0gZW5h
YmxlZDsKIH0KIAordm9pZCBTZXR0aW5nczo6c2V0TGVnYWN5QWNjZWxlcmF0ZWQyZENhbnZhc0Vu
YWJsZWQoYm9vbCBlbmFibGVkKQoreworICAgIG1fbGVnYWN5QWNjZWxlcmF0ZWRDYW52YXMyZEVu
YWJsZWQgPSBlbmFibGVkOworfQorCiB2b2lkIFNldHRpbmdzOjpzZXRMb2FkRGVmZXJyaW5nRW5h
YmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgbV9sb2FkRGVmZXJyaW5nRW5hYmxlZCA9IGVuYWJs
ZWQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCShyZXZpc2lvbiA4NTYyNikKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtMzQxLDYgKzM0MSw5
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBzZXRBY2NlbGVyYXRlZDJkQ2Fu
dmFzRW5hYmxlZChib29sKTsKICAgICAgICAgYm9vbCBhY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fYWNjZWxlcmF0ZWRDYW52YXMyZEVuYWJsZWQ7IH0KIAorICAg
ICAgICB2b2lkIHNldExlZ2FjeUFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkKGJvb2wpOworICAg
ICAgICBib29sIGxlZ2FjeUFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9sZWdhY3lBY2NlbGVyYXRlZENhbnZhczJkRW5hYmxlZDsgfQorCiAgICAgICAgIHZvaWQg
c2V0TG9hZERlZmVycmluZ0VuYWJsZWQoYm9vbCk7CiAgICAgICAgIGJvb2wgbG9hZERlZmVycmlu
Z0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2xvYWREZWZlcnJpbmdFbmFibGVkOyB9CiAgICAg
ICAgIApAQCAtNDkxLDYgKzQ5NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9v
bCBtX29wZW5HTE11bHRpc2FtcGxpbmdFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBtX3dlYkF1
ZGlvRW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV9hY2NlbGVyYXRlZENhbnZhczJkRW5hYmxl
ZCA6IDE7CisgICAgICAgIGJvb2wgbV9sZWdhY3lBY2NlbGVyYXRlZENhbnZhczJkRW5hYmxlZCA6
IDE7CiAgICAgICAgIGJvb2wgbV9sb2FkRGVmZXJyaW5nRW5hYmxlZCA6IDE7CiAgICAgICAgIGJv
b2wgbV90aWxlZEJhY2tpbmdTdG9yZUVuYWJsZWQgOiAxOwogICAgICAgICBib29sIG1fcGFnaW5h
dGVEdXJpbmdMYXlvdXRFbmFibGVkIDogMTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CShyZXZpc2lvbiA4NTYyOCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDUtMDMgIEp1c3RpbiBOb3Zvc2Fk
ICA8anVub3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFtDaHJvbWl1bV0gTWFrZSBhY2NlbGVyYXRlZCAyZCBjYW52YXMgZW5h
YmxlZCBieSBkZWZhdWx0IHdpdGggc2tpYQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTk5MjkKKyAgICAgICAgQWRkZWQgbmV3IGZsYWcgZm9yIGVuYWJs
aW5nIHRoZSBsZWdhY3kgYWNjZWxlcmF0ZWQgMmQgY2FudmFzCisgICAgICAgIFRoZSBmbGFnIGlz
IG5vdCB5ZXQgZnVuY3Rpb25hbCB3aXRoIHRoaXMgY2hhbmdlLgorCisgICAgICAgICogcHVibGlj
L1dlYlNldHRpbmdzLmg6CisgICAgICAgICogc3JjL1dlYlNldHRpbmdzSW1wbC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlNldHRpbmdzSW1wbDo6c2V0TGVnYWN5QWNjZWxlcmF0ZWQyZENhbnZh
c0VuYWJsZWQpOgorICAgICAgICAqIHNyYy9XZWJTZXR0aW5nc0ltcGwuaDoKKwogMjAxMS0wNS0w
MiAgQWRhbSBLbGVpbiAgPGFkYW1rQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBUb255IENoYW5nLgpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0
dGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJT
ZXR0aW5ncy5oCShyZXZpc2lvbiA4NTYyNikKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYlNldHRpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAgLTExMCw2ICsxMTAsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIHNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JQbHVnaW5z
RW5hYmxlZChib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdGb3JBbmltYXRpb25FbmFibGVkKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQoYm9vbCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBz
ZXRMZWdhY3lBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZChib29sKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIHNldEFjY2VsZXJhdGVkRHJhd2luZ0VuYWJsZWQoYm9vbCkgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBzZXRNZW1vcnlJbmZvRW5hYmxlZChib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IHNldEh5cGVybGlua0F1ZGl0aW5nRW5hYmxlZChib29sKSA9IDA7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5jcHAJKHJldmlzaW9uIDg1NjI2
KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzUzLDYgKzM1MywxMSBAQCB2b2lkIFdlYlNldHRpbmdzSW1wbDo6c2V0
QWNjZWxlcmF0ZWQyZENhCiAgICAgbV9zZXR0aW5ncy0+c2V0QWNjZWxlcmF0ZWQyZENhbnZhc0Vu
YWJsZWQoZW5hYmxlZCk7CiB9CiAKK3ZvaWQgV2ViU2V0dGluZ3NJbXBsOjpzZXRMZWdhY3lBY2Nl
bGVyYXRlZDJkQ2FudmFzRW5hYmxlZChib29sIGVuYWJsZWQpCit7CisgICAgbV9zZXR0aW5ncy0+
c2V0TGVnYWN5QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQoZW5hYmxlZCk7Cit9CisKIHZvaWQg
V2ViU2V0dGluZ3NJbXBsOjpzZXRNZW1vcnlJbmZvRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAg
ICAgbV9zZXR0aW5ncy0+c2V0TWVtb3J5SW5mb0VuYWJsZWQoZW5hYmxlZCk7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaAkocmV2aXNpb24gODU2
MjYpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaAkod29y
a2luZyBjb3B5KQpAQCAtMTAzLDYgKzEwMyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
c2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckNhbnZhc0VuYWJsZWQoYm9vbCk7CiAgICAgdmly
dHVhbCB2b2lkIHNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JBbmltYXRpb25FbmFibGVkKGJv
b2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZChib29s
KTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0TGVnYWN5QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQo
Ym9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldEFjY2VsZXJhdGVkRHJhd2luZ0VuYWJsZWQoYm9v
bCk7CiAgICAgdmlydHVhbCB2b2lkIHNldE1lbW9yeUluZm9FbmFibGVkKGJvb2wpOwogICAgIHZp
cnR1YWwgdm9pZCBzZXRIeXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQoYm9vbCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>