<?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>61143</bug_id>
          
          <creation_ts>2011-05-19 14:09:04 -0700</creation_ts>
          <short_desc>[chromium] Remove LayerRendererChromium::useShader</short_desc>
          <delta_ts>2011-05-20 13:30:58 -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>Layout and Rendering</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>
          
          <blocked>56749</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alok Priyadarshi">alokp</reporter>
          <assigned_to name="Alok Priyadarshi">alokp</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>jamesr</cc>
    
    <cc>vangelis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>406635</commentid>
    <comment_count>0</comment_count>
    <who name="Alok Priyadarshi">alokp</who>
    <bug_when>2011-05-19 14:09:04 -0700</bug_when>
    <thetext>LayerRendererChromium::useShader() caches shader id. To enable accelerated drawing, we need to let SKIA use the underlying graphics context without going via LayerRendererChromium. SKIA would be setting a different shader without LayerRendererChromium knowing about it.

There are two ways to fix it:
1. Do the caching at a common lower level - may be command buffer.
2. Get rid of caching altogether if it does not affect compositor performance adversely.

From my initial tests on a variety of composited pages, caching does not affect FPS on both desktop and ANGLE. I would expect all drivers to do this optimization.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406643</commentid>
    <comment_count>1</comment_count>
      <attachid>94114</attachid>
    <who name="Alok Priyadarshi">alokp</who>
    <bug_when>2011-05-19 14:16:33 -0700</bug_when>
    <thetext>Created attachment 94114
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406648</commentid>
    <comment_count>2</comment_count>
      <attachid>94116</attachid>
    <who name="Alok Priyadarshi">alokp</who>
    <bug_when>2011-05-19 14:22:41 -0700</bug_when>
    <thetext>Created attachment 94116
proposed patch

fixed changelog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406750</commentid>
    <comment_count>3</comment_count>
      <attachid>94116</attachid>
    <who name="Vangelis Kokkevis">vangelis</who>
    <bug_when>2011-05-19 16:58:29 -0700</bug_when>
    <thetext>Comment on attachment 94116
proposed patch

This looks good and it cleans up the API.  I would seriously doubt it would make any difference in performance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406755</commentid>
    <comment_count>4</comment_count>
      <attachid>94116</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-05-19 17:04:26 -0700</bug_when>
    <thetext>Comment on attachment 94116
proposed patch

R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406764</commentid>
    <comment_count>5</comment_count>
      <attachid>94116</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-19 17:13:43 -0700</bug_when>
    <thetext>Comment on attachment 94116
proposed patch

Rejecting attachment 94116 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-7&apos;, &apos;apply-...&quot; exit_code: 2

Last 500 characters of output:
tform/graphics/chromium/cc/CCCanvasLayerImpl.cpp.rej
patching file Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp
patching file Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp
patching file Source/WebCore/platform/graphics/chromium/cc/CCPluginLayerImpl.cpp
patching file Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;James Robinson&apos;, u&apos;--f...&quot; exit_code: 1

Full output: http://queues.webkit.org/results/8722024</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407167</commentid>
    <comment_count>6</comment_count>
      <attachid>94236</attachid>
    <who name="Alok Priyadarshi">alokp</who>
    <bug_when>2011-05-20 10:07:13 -0700</bug_when>
    <thetext>Created attachment 94236
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407168</commentid>
    <comment_count>7</comment_count>
      <attachid>94236</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-20 10:07:55 -0700</bug_when>
    <thetext>Comment on attachment 94236
Patch for landing

Rejecting attachment 94236 from commit-queue.

alokp@chromium.org does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407225</commentid>
    <comment_count>8</comment_count>
      <attachid>94236</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-20 11:29:10 -0700</bug_when>
    <thetext>Comment on attachment 94236
Patch for landing

Rejecting attachment 94236 from commit-queue.

alokp@chromium.org does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407244</commentid>
    <comment_count>9</comment_count>
      <attachid>94236</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-20 11:48:05 -0700</bug_when>
    <thetext>Comment on attachment 94236
Patch for landing

Rejecting attachment 94236 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-7&apos;, &apos;apply-...&quot; exit_code: 1

Last 500 characters of output:
autoinstalled/mechanize/_urllib2_fork.py&quot;, line 332, in _call_chain
    result = func(*args)
  File &quot;/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_urllib2_fork.py&quot;, line 1170, in https_open
    return self.do_open(conn_factory, req)
  File &quot;/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_urllib2_fork.py&quot;, line 1118, in do_open
    raise URLError(err)
urllib2.URLError: &lt;urlopen error [Errno 60] Operation timed out&gt;

Full output: http://queues.webkit.org/results/8719446</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407275</commentid>
    <comment_count>10</comment_count>
    <who name="Alok Priyadarshi">alokp</who>
    <bug_when>2011-05-20 12:36:52 -0700</bug_when>
    <thetext>Manually committed r86975: http://trac.webkit.org/changeset/86975</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407290</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-20 13:25:08 -0700</bug_when>
    <thetext>Have you added yourself to committees.py?  Adam: do we believe the feeder queue is still restarting properly?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407292</commentid>
    <comment_count>12</comment_count>
    <who name="Alok Priyadarshi">alokp</who>
    <bug_when>2011-05-20 13:30:58 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Have you added yourself to committees.py?  Adam: do we believe the feeder queue is still restarting properly?

Yes I have added myself to committers.py.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94114</attachid>
            <date>2011-05-19 14:16:33 -0700</date>
            <delta_ts>2011-05-19 14:22:41 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>cache.txt</filename>
            <type>text/plain</type>
            <size>11265</size>
            <attacher name="Alok Priyadarshi">alokp</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2ODg3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTEtMDUtMTkgIEFsb2sgUHJp
eWFkYXJzaGkgIDxhbG9rcEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW2Nocm9taXVtXSBSZW1vdmUgTGF5ZXJSZW5kZXJlckNo
cm9taXVtOjp1c2VTaGFkZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTYxMTQzCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09QUyEpCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpMYXllclJlbmRlcmVy
Q2hyb21pdW0pOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpkZWJ1
Z0dMQ2FsbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5k
ZXJlckNocm9taXVtLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5
ZXJUaWxlckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyVGlsZXJDaHJvbWl1
bTo6ZHJhdyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUmVuZGVyU3Vy
ZmFjZUNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN1cmZhY2VDaHJvbWl1
bTo6ZHJhd1N1cmZhY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDQ2FudmFzTGF5ZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDQ2FudmFzTGF5ZXJJ
bXBsOjpkcmF3KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0hl
YWRzVXBEaXNwbGF5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDSGVhZHNVcERpc3BsYXk6OmRy
YXcpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBs
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpkcmF3RGVidWdCb3JkZXIpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUGx1Z2luTGF5ZXJJbXBs
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDUGx1Z2luTGF5ZXJJbXBsOjpkcmF3KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1ZpZGVvTGF5ZXJJbXBsLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNDVmlkZW9MYXllckltcGw6OmRyYXdZVVYpOgorICAgICAgICAo
V2ViQ29yZTo6Q0NWaWRlb0xheWVySW1wbDo6ZHJhd1JHQkEpOgorCiAyMDExLTA1LTE5ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByODY4NjksIHI4Njg3Mywgcjg2ODc1LCBhbmQgcjg2ODc3LgpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJl
ckNocm9taXVtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCShyZXZpc2lvbiA4Njg2MSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVy
ZXJDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMiw3ICsxMTIsNiBAQCBMYXllclJl
bmRlcmVyQ2hyb21pdW06OkxheWVyUmVuZGVyZXJDaHJvCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBQYXNzT3duUHRyPExheWVyUGFpbnRlckNocm9taXVtPiBj
b250ZW50UGFpbnQpCiAgICAgOiBtX3ZpZXdwb3J0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoLTEs
IC0xKSkKICAgICAsIG1fcm9vdExheWVyKDApCi0gICAgLCBtX2N1cnJlbnRTaGFkZXIoMCkKICAg
ICAsIG1fY3VycmVudFJlbmRlclN1cmZhY2UoMCkKICAgICAsIG1fb2Zmc2NyZWVuRnJhbWVidWZm
ZXJJZCgwKQogICAgICwgbV9jb21wb3NpdGVPZmZzY3JlZW4oZmFsc2UpCkBAIC0xNTMsMTQgKzE1
Miw2IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkZWJ1Z0dMQ2FsbCgKICAgICAgICAg
TE9HX0VSUk9SKCJHTCBjb21tYW5kIGZhaWxlZDogRmlsZTogJXNcblx0TGluZSAlZFxuXHRjb21t
YW5kOiAlcywgZXJyb3IgJXhcbiIsIGZpbGUsIGxpbmUsIGNvbW1hbmQsIHN0YXRpY19jYXN0PGlu
dD4oZXJyb3IpKTsKIH0KIAotdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OnVzZVNoYWRlcih1
bnNpZ25lZCBwcm9ncmFtSWQpCi17Ci0gICAgaWYgKHByb2dyYW1JZCAhPSBtX2N1cnJlbnRTaGFk
ZXIpIHsKLSAgICAgICAgR0xDKG1fY29udGV4dC5nZXQoKSwgbV9jb250ZXh0LT51c2VQcm9ncmFt
KHByb2dyYW1JZCkpOwotICAgICAgICBtX2N1cnJlbnRTaGFkZXIgPSBwcm9ncmFtSWQ7Ci0gICAg
fQotfQotCiB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6aW52YWxpZGF0ZVJvb3RMYXllclJl
Y3QoY29uc3QgSW50UmVjdCYgZGlydHlSZWN0KQogewogICAgIG1fcm9vdExheWVyQ29udGVudFRp
bGVyLT5pbnZhbGlkYXRlUmVjdChkaXJ0eVJlY3QpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5k
ZXJlckNocm9taXVtLmgJKHJldmlzaW9uIDg2ODYxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTExMiw4ICsxMTIsNiBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBUcmFuc2Zvcm1hdGlv
bk1hdHJpeCYgcHJvamVjdGlvbk1hdHJpeCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvamVjdGlvbk1h
dHJpeDsgfQogCi0gICAgdm9pZCB1c2VTaGFkZXIodW5zaWduZWQpOwotCiAgICAgYm9vbCBjaGVj
a1RleHR1cmVTaXplKGNvbnN0IEludFNpemUmKTsKIAogICAgIGNvbnN0IEdlb21ldHJ5QmluZGlu
Zyogc2hhcmVkR2VvbWV0cnkoKSBjb25zdCB7IHJldHVybiBtX3NoYXJlZEdlb21ldHJ5LmdldCgp
OyB9CkBAIC0xOTYsNyArMTk0LDYgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9oYXJkd2FyZUNv
bXBvc2l0aW5nOwogCi0gICAgdW5zaWduZWQgbV9jdXJyZW50U2hhZGVyOwogICAgIFJlbmRlclN1
cmZhY2VDaHJvbWl1bSogbV9jdXJyZW50UmVuZGVyU3VyZmFjZTsKIAogICAgIHVuc2lnbmVkIG1f
b2Zmc2NyZWVuRnJhbWVidWZmZXJJZDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0xheWVyVGlsZXJDaHJvbWl1bS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJUaWxlckNocm9taXVt
LmNwcAkocmV2aXNpb24gODY4NjEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9MYXllclRpbGVyQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMzcs
NyArMzM3LDcgQEAgdm9pZCBMYXllclRpbGVyQ2hyb21pdW06OmRyYXcoY29uc3QgSW50UgogCiAg
ICAgR3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQgPSBsYXllclJlbmRlcmVyQ29udGV4dCgpOwog
ICAgIGNvbnN0IExheWVyVGlsZXJDaHJvbWl1bTo6UHJvZ3JhbSogcHJvZ3JhbSA9IGxheWVyUmVu
ZGVyZXIoKS0+dGlsZXJQcm9ncmFtKCk7Ci0gICAgbGF5ZXJSZW5kZXJlcigpLT51c2VTaGFkZXIo
cHJvZ3JhbS0+cHJvZ3JhbSgpKTsKKyAgICBHTEMoY29udGV4dCwgY29udGV4dC0+dXNlUHJvZ3Jh
bShwcm9ncmFtLT5wcm9ncmFtKCkpKTsKICAgICBHTEMoY29udGV4dCwgY29udGV4dC0+dW5pZm9y
bTFpKHByb2dyYW0tPmZyYWdtZW50U2hhZGVyKCkuc2FtcGxlckxvY2F0aW9uKCksIDApKTsKIAog
ICAgIGludCBsZWZ0LCB0b3AsIHJpZ2h0LCBib3R0b207CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1JlbmRl
clN1cmZhY2VDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDg2ODYxKQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTExLDcgKzExMSw3IEBAIHZvaWQgUmVuZGVyU3VyZmFjZUNocm9taXVt
OjpkcmF3U3VyZmFjZSgKICAgICBpZiAobWFza0xheWVyICYmIG1hc2tMYXllci0+ZHJhd3NDb250
ZW50KCkpIHsKICAgICAgICAgaWYgKCFtYXNrTGF5ZXItPmJvdW5kcygpLmlzRW1wdHkoKSkgewog
ICAgICAgICAgICAgY29udGV4dDNELT5tYWtlQ29udGV4dEN1cnJlbnQoKTsKLSAgICAgICAgICAg
IGxheWVyUmVuZGVyZXIoKS0+dXNlU2hhZGVyKG1hc2tQcm9ncmFtLT5wcm9ncmFtKCkpOworICAg
ICAgICAgICAgR0xDKGNvbnRleHQzRCwgY29udGV4dDNELT51c2VQcm9ncmFtKG1hc2tQcm9ncmFt
LT5wcm9ncmFtKCkpKTsKICAgICAgICAgICAgIEdMQyhjb250ZXh0M0QsIGNvbnRleHQzRC0+YWN0
aXZlVGV4dHVyZShHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRTApKTsKICAgICAgICAgICAgIEdM
Qyhjb250ZXh0M0QsIGNvbnRleHQzRC0+dW5pZm9ybTFpKG1hc2tQcm9ncmFtLT5mcmFnbWVudFNo
YWRlcigpLnNhbXBsZXJMb2NhdGlvbigpLCAwKSk7CiAgICAgICAgICAgICBtX2NvbnRlbnRzVGV4
dHVyZS0+YmluZFRleHR1cmUoKTsKQEAgLTEyNiw3ICsxMjYsNyBAQCB2b2lkIFJlbmRlclN1cmZh
Y2VDaHJvbWl1bTo6ZHJhd1N1cmZhY2UoCiAgICAgfQogCiAgICAgaWYgKCF1c2VNYXNrKSB7Ci0g
ICAgICAgIGxheWVyUmVuZGVyZXIoKS0+dXNlU2hhZGVyKHByb2dyYW0tPnByb2dyYW0oKSk7Cisg
ICAgICAgIEdMQyhjb250ZXh0M0QsIGNvbnRleHQzRC0+dXNlUHJvZ3JhbShwcm9ncmFtLT5wcm9n
cmFtKCkpKTsKICAgICAgICAgbV9jb250ZW50c1RleHR1cmUtPmJpbmRUZXh0dXJlKCk7CiAgICAg
ICAgIEdMQyhjb250ZXh0M0QsIGNvbnRleHQzRC0+dW5pZm9ybTFpKHByb2dyYW0tPmZyYWdtZW50
U2hhZGVyKCkuc2FtcGxlckxvY2F0aW9uKCksIDApKTsKICAgICAgICAgc2hhZGVyTWF0cml4TG9j
YXRpb24gPSBwcm9ncmFtLT52ZXJ0ZXhTaGFkZXIoKS5tYXRyaXhMb2NhdGlvbigpOwpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NDYW52YXNMYXll
ckltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDQ2FudmFzTGF5ZXJJbXBsLmNwcAkocmV2aXNpb24gODY4NjEpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0NhbnZhc0xheWVy
SW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3LDcgKzU3LDcgQEAgdm9pZCBDQ0NhbnZhc0xh
eWVySW1wbDo6ZHJhdyhjb25zdCBJbnRSZQogICAgIEdMQyhjb250ZXh0LCBjb250ZXh0LT5iaW5k
VGV4dHVyZShHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV8yRCwgbV90ZXh0dXJlSWQpKTsKICAg
ICBHQzNEZW51bSBzZmFjdG9yID0gbV9wcmVtdWx0aXBsaWVkQWxwaGEgPyBHcmFwaGljc0NvbnRl
eHQzRDo6T05FIDogR3JhcGhpY3NDb250ZXh0M0Q6OlNSQ19BTFBIQTsKICAgICBHTEMoY29udGV4
dCwgY29udGV4dC0+YmxlbmRGdW5jKHNmYWN0b3IsIEdyYXBoaWNzQ29udGV4dDNEOjpPTkVfTUlO
VVNfU1JDX0FMUEhBKSk7Ci0gICAgbGF5ZXJSZW5kZXJlcigpLT51c2VTaGFkZXIocHJvZ3JhbS0+
cHJvZ3JhbSgpKTsKKyAgICBHTEMoY29udGV4dCwgY29udGV4dC0+dXNlUHJvZ3JhbShwcm9ncmFt
LT5wcm9ncmFtKCkpKTsKICAgICBHTEMoY29udGV4dCwgY29udGV4dC0+dW5pZm9ybTFpKHByb2dy
YW0tPmZyYWdtZW50U2hhZGVyKCkuc2FtcGxlckxvY2F0aW9uKCksIDApKTsKICAgICBMYXllckNo
cm9taXVtOjpkcmF3VGV4dHVyZWRRdWFkKGNvbnRleHQsIGxheWVyUmVuZGVyZXIoKS0+cHJvamVj
dGlvbk1hdHJpeCgpLCBkcmF3VHJhbnNmb3JtKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBib3VuZHMoKS53aWR0aCgpLCBib3VuZHMoKS5oZWlnaHQoKSwgZHJhd09wYWNp
dHkoKSwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDSGVhZHNVcERpc3BsYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDSGVhZHNVcERpc3BsYXkuY3BwCShyZXZpc2lvbiA4
Njg2MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
SGVhZHNVcERpc3BsYXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjQsNyArMTI0LDcgQEAgdm9p
ZCBDQ0hlYWRzVXBEaXNwbGF5OjpkcmF3KCkKICAgICBBU1NFUlQocHJvZ3JhbSAmJiBwcm9ncmFt
LT5pbml0aWFsaXplZCgpKTsKICAgICBHTEMoY29udGV4dCwgY29udGV4dC0+YWN0aXZlVGV4dHVy
ZShHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRTApKTsKICAgICBtX2h1ZFRleHR1cmUtPmJpbmRU
ZXh0dXJlKCk7Ci0gICAgbV9sYXllclJlbmRlcmVyLT51c2VTaGFkZXIocHJvZ3JhbS0+cHJvZ3Jh
bSgpKTsKKyAgICBHTEMoY29udGV4dCwgY29udGV4dC0+dXNlUHJvZ3JhbShwcm9ncmFtLT5wcm9n
cmFtKCkpKTsKICAgICBHTEMoY29udGV4dCwgY29udGV4dC0+dW5pZm9ybTFpKHByb2dyYW0tPmZy
YWdtZW50U2hhZGVyKCkuc2FtcGxlckxvY2F0aW9uKCksIDApKTsKIAogICAgIFRyYW5zZm9ybWF0
aW9uTWF0cml4IG1hdHJpeDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHAJKHJldmlzaW9u
IDg2ODYxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NMYXllckltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODEsMTMgKzE4MSwxNCBAQCB2b2lk
IENDTGF5ZXJJbXBsOjpkcmF3RGVidWdCb3JkZXIoKQogICAgICAgICByZXR1cm47CiAKICAgICBB
U1NFUlQobGF5ZXJSZW5kZXJlcigpKTsKKyAgICBHcmFwaGljc0NvbnRleHQzRCogY29udGV4dCA9
IGxheWVyUmVuZGVyZXIoKS0+Y29udGV4dCgpOwogICAgIGNvbnN0IExheWVyQ2hyb21pdW06OkJv
cmRlclByb2dyYW0qIHByb2dyYW0gPSBsYXllclJlbmRlcmVyKCktPmJvcmRlclByb2dyYW0oKTsK
ICAgICBBU1NFUlQocHJvZ3JhbSAmJiBwcm9ncmFtLT5pbml0aWFsaXplZCgpKTsKLSAgICBsYXll
clJlbmRlcmVyKCktPnVzZVNoYWRlcihwcm9ncmFtLT5wcm9ncmFtKCkpOworICAgIEdMQyhjb250
ZXh0LCBjb250ZXh0LT51c2VQcm9ncmFtKHByb2dyYW0tPnByb2dyYW0oKSkpOworCiAgICAgVHJh
bnNmb3JtYXRpb25NYXRyaXggcmVuZGVyTWF0cml4ID0gZHJhd1RyYW5zZm9ybSgpOwogICAgIHJl
bmRlck1hdHJpeC5zY2FsZTNkKGJvdW5kcygpLndpZHRoKCksIGJvdW5kcygpLmhlaWdodCgpLCAx
KTsKICAgICB0b0dMTWF0cml4KCZnbE1hdHJpeFswXSwgbGF5ZXJSZW5kZXJlcigpLT5wcm9qZWN0
aW9uTWF0cml4KCkgKiByZW5kZXJNYXRyaXgpOwotICAgIEdyYXBoaWNzQ29udGV4dDNEKiBjb250
ZXh0ID0gbGF5ZXJSZW5kZXJlcigpLT5jb250ZXh0KCk7CiAgICAgR0xDKGNvbnRleHQsIGNvbnRl
eHQtPnVuaWZvcm1NYXRyaXg0ZnYocHJvZ3JhbS0+dmVydGV4U2hhZGVyKCkubWF0cml4TG9jYXRp
b24oKSwgZmFsc2UsICZnbE1hdHJpeFswXSwgMSkpOwogCiAgICAgR0xDKGNvbnRleHQsIGNvbnRl
eHQtPnVuaWZvcm00Zihwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLmNvbG9yTG9jYXRpb24oKSwg
ZGVidWdCb3JkZXJDb2xvcigpLnJlZCgpIC8gMjU1LjAsIGRlYnVnQm9yZGVyQ29sb3IoKS5ncmVl
bigpIC8gMjU1LjAsIGRlYnVnQm9yZGVyQ29sb3IoKS5ibHVlKCkgLyAyNTUuMCwgMSkpOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQbHVnaW5M
YXllckltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDUGx1Z2luTGF5ZXJJbXBsLmNwcAkocmV2aXNpb24gODY4NjEpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1BsdWdpbkxh
eWVySW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYyLDcgKzYyLDcgQEAgdm9pZCBDQ1BsdWdp
bkxheWVySW1wbDo6ZHJhdyhjb25zdCBJbnRSZQogICAgIEdMQyhjb250ZXh0LCBjb250ZXh0LT50
ZXhQYXJhbWV0ZXJpKEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFXzJELCBHcmFwaGljc0NvbnRl
eHQzRDo6VEVYVFVSRV9XUkFQX1MsIEdyYXBoaWNzQ29udGV4dDNEOjpDTEFNUF9UT19FREdFKSk7
CiAgICAgR0xDKGNvbnRleHQsIGNvbnRleHQtPnRleFBhcmFtZXRlcmkoR3JhcGhpY3NDb250ZXh0
M0Q6OlRFWFRVUkVfMkQsIEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFX1dSQVBfVCwgR3JhcGhp
Y3NDb250ZXh0M0Q6OkNMQU1QX1RPX0VER0UpKTsKIAotICAgIGxheWVyUmVuZGVyZXIoKS0+dXNl
U2hhZGVyKHByb2dyYW0tPnByb2dyYW0oKSk7CisgICAgR0xDKGNvbnRleHQsIGNvbnRleHQtPnVz
ZVByb2dyYW0ocHJvZ3JhbS0+cHJvZ3JhbSgpKSk7CiAgICAgR0xDKGNvbnRleHQsIGNvbnRleHQt
PnVuaWZvcm0xaShwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLnNhbXBsZXJMb2NhdGlvbigpLCAw
KSk7CiAgICAgTGF5ZXJDaHJvbWl1bTo6ZHJhd1RleHR1cmVkUXVhZChjb250ZXh0LCBsYXllclJl
bmRlcmVyKCktPnByb2plY3Rpb25NYXRyaXgoKSwgZHJhd1RyYW5zZm9ybSgpLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYm91bmRzKCkud2lkdGgoKSwgYm91bmRzKCkuaGVp
Z2h0KCksIGRyYXdPcGFjaXR5KCksCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1ZpZGVvTGF5ZXJJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1ZpZGVvTGF5ZXJJbXBs
LmNwcAkocmV2aXNpb24gODY4NjEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ1ZpZGVvTGF5ZXJJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE1
LDcgKzExNSw3IEBAIHZvaWQgQ0NWaWRlb0xheWVySW1wbDo6ZHJhd1lVVihjb25zdCBDQ1YKICAg
ICBHTEMoY29udGV4dCwgY29udGV4dC0+YWN0aXZlVGV4dHVyZShHcmFwaGljc0NvbnRleHQzRDo6
VEVYVFVSRTMpKTsKICAgICBHTEMoY29udGV4dCwgY29udGV4dC0+YmluZFRleHR1cmUoR3JhcGhp
Y3NDb250ZXh0M0Q6OlRFWFRVUkVfMkQsIHZUZXh0dXJlLmlkKSk7CiAKLSAgICBsYXllclJlbmRl
cmVyKCktPnVzZVNoYWRlcihwcm9ncmFtLT5wcm9ncmFtKCkpOworICAgIEdMQyhjb250ZXh0LCBj
b250ZXh0LT51c2VQcm9ncmFtKHByb2dyYW0tPnByb2dyYW0oKSkpOwogCiAgICAgZmxvYXQgeVdp
ZHRoU2NhbGVGYWN0b3IgPSBzdGF0aWNfY2FzdDxmbG9hdD4oeVRleHR1cmUudmlzaWJsZVNpemUu
d2lkdGgoKSkgLyB5VGV4dHVyZS5zaXplLndpZHRoKCk7CiAgICAgLy8gQXJiaXRyYXJpbHkgdGFr
ZSB0aGUgdSBzaXplcyBiZWNhdXNlIHUgYW5kIHYgZGltZW5zaW9ucyBhcmUgaWRlbnRpY2FsLgpA
QCAtMTQ3LDcgKzE0Nyw3IEBAIHZvaWQgQ0NWaWRlb0xheWVySW1wbDo6ZHJhd1JHQkEoY29uc3Qg
Q0MKICAgICBHTEMoY29udGV4dCwgY29udGV4dC0+YWN0aXZlVGV4dHVyZShHcmFwaGljc0NvbnRl
eHQzRDo6VEVYVFVSRTApKTsKICAgICBHTEMoY29udGV4dCwgY29udGV4dC0+YmluZFRleHR1cmUo
R3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfMkQsIHRleHR1cmUuaWQpKTsKIAotICAgIGxheWVy
UmVuZGVyZXIoKS0+dXNlU2hhZGVyKHByb2dyYW0tPnByb2dyYW0oKSk7CisgICAgR0xDKGNvbnRl
eHQsIGNvbnRleHQtPnVzZVByb2dyYW0ocHJvZ3JhbS0+cHJvZ3JhbSgpKSk7CiAgICAgZmxvYXQg
d2lkdGhTY2FsZUZhY3RvciA9IHN0YXRpY19jYXN0PGZsb2F0Pih0ZXh0dXJlLnZpc2libGVTaXpl
LndpZHRoKCkpIC8gdGV4dHVyZS5zaXplLndpZHRoKCk7CiAgICAgR0xDKGNvbnRleHQsIGNvbnRl
eHQtPnVuaWZvcm00Zihwcm9ncmFtLT52ZXJ0ZXhTaGFkZXIoKS50ZXhUcmFuc2Zvcm1Mb2NhdGlv
bigpLCAwLCAwLCB3aWR0aFNjYWxlRmFjdG9yLCAxKSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94116</attachid>
            <date>2011-05-19 14:22:41 -0700</date>
            <delta_ts>2011-05-20 10:07:00 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>cache.txt</filename>
            <type>text/plain</type>
            <size>11300</size>
            <attacher name="Alok Priyadarshi">alokp</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2ODg3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTEtMDUtMTkgIEFsb2sgUHJp
eWFkYXJzaGkgIDxhbG9rcEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW2Nocm9taXVtXSBSZW1vdmUgTGF5ZXJSZW5kZXJlckNo
cm9taXVtOjp1c2VTaGFkZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTYxMTQzCisKKyAgICAgICAgTm8gbmV3IHRlc3RzOiBHUFUgY29tcG9zaXRvciB0
ZXN0cyBzaG91bGQgYmUgc3VmZmljaWVudC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpM
YXllclJlbmRlcmVyQ2hyb21pdW06OkxheWVyUmVuZGVyZXJDaHJvbWl1bSk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OmRlYnVnR0xDYWxsKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclRpbGVyQ2hyb21pdW0uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5ZXJUaWxlckNocm9taXVtOjpkcmF3KToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3VyZmFjZUNocm9taXVtOjpkcmF3U3VyZmFjZSk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NDYW52YXNMYXllckltcGwuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q0NDYW52YXNMYXllckltcGw6OmRyYXcpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDSGVhZHNVcERpc3BsYXkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q0NIZWFkc1VwRGlzcGxheTo6ZHJhdyk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q0NMYXllckltcGw6OmRyYXdEZWJ1Z0JvcmRlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NQbHVnaW5MYXllckltcGwuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q0NQbHVnaW5MYXllckltcGw6OmRyYXcpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDVmlkZW9MYXllckltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NW
aWRlb0xheWVySW1wbDo6ZHJhd1lVVik6CisgICAgICAgIChXZWJDb3JlOjpDQ1ZpZGVvTGF5ZXJJ
bXBsOjpkcmF3UkdCQSk6CisKIDIwMTEtMDUtMTkgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmll
dy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI4Njg2
OSwgcjg2ODczLCByODY4NzUsIGFuZCByODY4NzcuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVu
ZGVyZXJDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDg2ODYxKQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTEyLDcgKzExMiw2IEBAIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6TGF5ZXJS
ZW5kZXJlckNocm8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFBhc3NPd25QdHI8TGF5ZXJQYWludGVyQ2hyb21pdW0+IGNvbnRlbnRQYWludCkKICAgICA6IG1f
dmlld3BvcnRTY3JvbGxQb3NpdGlvbihJbnRQb2ludCgtMSwgLTEpKQogICAgICwgbV9yb290TGF5
ZXIoMCkKLSAgICAsIG1fY3VycmVudFNoYWRlcigwKQogICAgICwgbV9jdXJyZW50UmVuZGVyU3Vy
ZmFjZSgwKQogICAgICwgbV9vZmZzY3JlZW5GcmFtZWJ1ZmZlcklkKDApCiAgICAgLCBtX2NvbXBv
c2l0ZU9mZnNjcmVlbihmYWxzZSkKQEAgLTE1MywxNCArMTUyLDYgQEAgdm9pZCBMYXllclJlbmRl
cmVyQ2hyb21pdW06OmRlYnVnR0xDYWxsKAogICAgICAgICBMT0dfRVJST1IoIkdMIGNvbW1hbmQg
ZmFpbGVkOiBGaWxlOiAlc1xuXHRMaW5lICVkXG5cdGNvbW1hbmQ6ICVzLCBlcnJvciAleFxuIiwg
ZmlsZSwgbGluZSwgY29tbWFuZCwgc3RhdGljX2Nhc3Q8aW50PihlcnJvcikpOwogfQogCi12b2lk
IExheWVyUmVuZGVyZXJDaHJvbWl1bTo6dXNlU2hhZGVyKHVuc2lnbmVkIHByb2dyYW1JZCkKLXsK
LSAgICBpZiAocHJvZ3JhbUlkICE9IG1fY3VycmVudFNoYWRlcikgewotICAgICAgICBHTEMobV9j
b250ZXh0LmdldCgpLCBtX2NvbnRleHQtPnVzZVByb2dyYW0ocHJvZ3JhbUlkKSk7Ci0gICAgICAg
IG1fY3VycmVudFNoYWRlciA9IHByb2dyYW1JZDsKLSAgICB9Ci19Ci0KIHZvaWQgTGF5ZXJSZW5k
ZXJlckNocm9taXVtOjppbnZhbGlkYXRlUm9vdExheWVyUmVjdChjb25zdCBJbnRSZWN0JiBkaXJ0
eVJlY3QpCiB7CiAgICAgbV9yb290TGF5ZXJDb250ZW50VGlsZXItPmludmFsaWRhdGVSZWN0KGRp
cnR5UmVjdCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAkocmV2aXNp
b24gODY4NjEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllclJlbmRlcmVyQ2hyb21pdW0uaAkod29ya2luZyBjb3B5KQpAQCAtMTEyLDggKzExMiw2IEBA
IHB1YmxpYzoKIAogICAgIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBwcm9qZWN0aW9uTWF0
cml4KCkgY29uc3QgeyByZXR1cm4gbV9wcm9qZWN0aW9uTWF0cml4OyB9CiAKLSAgICB2b2lkIHVz
ZVNoYWRlcih1bnNpZ25lZCk7Ci0KICAgICBib29sIGNoZWNrVGV4dHVyZVNpemUoY29uc3QgSW50
U2l6ZSYpOwogCiAgICAgY29uc3QgR2VvbWV0cnlCaW5kaW5nKiBzaGFyZWRHZW9tZXRyeSgpIGNv
bnN0IHsgcmV0dXJuIG1fc2hhcmVkR2VvbWV0cnkuZ2V0KCk7IH0KQEAgLTE5Niw3ICsxOTQsNiBA
QCBwcml2YXRlOgogCiAgICAgYm9vbCBtX2hhcmR3YXJlQ29tcG9zaXRpbmc7CiAKLSAgICB1bnNp
Z25lZCBtX2N1cnJlbnRTaGFkZXI7CiAgICAgUmVuZGVyU3VyZmFjZUNocm9taXVtKiBtX2N1cnJl
bnRSZW5kZXJTdXJmYWNlOwogCiAgICAgdW5zaWduZWQgbV9vZmZzY3JlZW5GcmFtZWJ1ZmZlcklk
OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJU
aWxlckNocm9taXVtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9MYXllclRpbGVyQ2hyb21pdW0uY3BwCShyZXZpc2lvbiA4Njg2MSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyVGlsZXJD
aHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzNyw3ICszMzcsNyBAQCB2b2lkIExheWVy
VGlsZXJDaHJvbWl1bTo6ZHJhdyhjb25zdCBJbnRSCiAKICAgICBHcmFwaGljc0NvbnRleHQzRCog
Y29udGV4dCA9IGxheWVyUmVuZGVyZXJDb250ZXh0KCk7CiAgICAgY29uc3QgTGF5ZXJUaWxlckNo
cm9taXVtOjpQcm9ncmFtKiBwcm9ncmFtID0gbGF5ZXJSZW5kZXJlcigpLT50aWxlclByb2dyYW0o
KTsKLSAgICBsYXllclJlbmRlcmVyKCktPnVzZVNoYWRlcihwcm9ncmFtLT5wcm9ncmFtKCkpOwor
ICAgIEdMQyhjb250ZXh0LCBjb250ZXh0LT51c2VQcm9ncmFtKHByb2dyYW0tPnByb2dyYW0oKSkp
OwogICAgIEdMQyhjb250ZXh0LCBjb250ZXh0LT51bmlmb3JtMWkocHJvZ3JhbS0+ZnJhZ21lbnRT
aGFkZXIoKS5zYW1wbGVyTG9jYXRpb24oKSwgMCkpOwogCiAgICAgaW50IGxlZnQsIHRvcCwgcmln
aHQsIGJvdHRvbTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmNwcAko
cmV2aXNpb24gODY4NjEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsNyAr
MTExLDcgQEAgdm9pZCBSZW5kZXJTdXJmYWNlQ2hyb21pdW06OmRyYXdTdXJmYWNlKAogICAgIGlm
IChtYXNrTGF5ZXIgJiYgbWFza0xheWVyLT5kcmF3c0NvbnRlbnQoKSkgewogICAgICAgICBpZiAo
IW1hc2tMYXllci0+Ym91bmRzKCkuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBjb250ZXh0M0Qt
Pm1ha2VDb250ZXh0Q3VycmVudCgpOwotICAgICAgICAgICAgbGF5ZXJSZW5kZXJlcigpLT51c2VT
aGFkZXIobWFza1Byb2dyYW0tPnByb2dyYW0oKSk7CisgICAgICAgICAgICBHTEMoY29udGV4dDNE
LCBjb250ZXh0M0QtPnVzZVByb2dyYW0obWFza1Byb2dyYW0tPnByb2dyYW0oKSkpOwogICAgICAg
ICAgICAgR0xDKGNvbnRleHQzRCwgY29udGV4dDNELT5hY3RpdmVUZXh0dXJlKEdyYXBoaWNzQ29u
dGV4dDNEOjpURVhUVVJFMCkpOwogICAgICAgICAgICAgR0xDKGNvbnRleHQzRCwgY29udGV4dDNE
LT51bmlmb3JtMWkobWFza1Byb2dyYW0tPmZyYWdtZW50U2hhZGVyKCkuc2FtcGxlckxvY2F0aW9u
KCksIDApKTsKICAgICAgICAgICAgIG1fY29udGVudHNUZXh0dXJlLT5iaW5kVGV4dHVyZSgpOwpA
QCAtMTI2LDcgKzEyNiw3IEBAIHZvaWQgUmVuZGVyU3VyZmFjZUNocm9taXVtOjpkcmF3U3VyZmFj
ZSgKICAgICB9CiAKICAgICBpZiAoIXVzZU1hc2spIHsKLSAgICAgICAgbGF5ZXJSZW5kZXJlcigp
LT51c2VTaGFkZXIocHJvZ3JhbS0+cHJvZ3JhbSgpKTsKKyAgICAgICAgR0xDKGNvbnRleHQzRCwg
Y29udGV4dDNELT51c2VQcm9ncmFtKHByb2dyYW0tPnByb2dyYW0oKSkpOwogICAgICAgICBtX2Nv
bnRlbnRzVGV4dHVyZS0+YmluZFRleHR1cmUoKTsKICAgICAgICAgR0xDKGNvbnRleHQzRCwgY29u
dGV4dDNELT51bmlmb3JtMWkocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS5zYW1wbGVyTG9jYXRp
b24oKSwgMCkpOwogICAgICAgICBzaGFkZXJNYXRyaXhMb2NhdGlvbiA9IHByb2dyYW0tPnZlcnRl
eFNoYWRlcigpLm1hdHJpeExvY2F0aW9uKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0NhbnZhc0xheWVySW1wbC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NDYW52YXNM
YXllckltcGwuY3BwCShyZXZpc2lvbiA4Njg2MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDQ2FudmFzTGF5ZXJJbXBsLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNTcsNyArNTcsNyBAQCB2b2lkIENDQ2FudmFzTGF5ZXJJbXBsOjpkcmF3KGNvbnN0IElu
dFJlCiAgICAgR0xDKGNvbnRleHQsIGNvbnRleHQtPmJpbmRUZXh0dXJlKEdyYXBoaWNzQ29udGV4
dDNEOjpURVhUVVJFXzJELCBtX3RleHR1cmVJZCkpOwogICAgIEdDM0RlbnVtIHNmYWN0b3IgPSBt
X3ByZW11bHRpcGxpZWRBbHBoYSA/IEdyYXBoaWNzQ29udGV4dDNEOjpPTkUgOiBHcmFwaGljc0Nv
bnRleHQzRDo6U1JDX0FMUEhBOwogICAgIEdMQyhjb250ZXh0LCBjb250ZXh0LT5ibGVuZEZ1bmMo
c2ZhY3RvciwgR3JhcGhpY3NDb250ZXh0M0Q6Ok9ORV9NSU5VU19TUkNfQUxQSEEpKTsKLSAgICBs
YXllclJlbmRlcmVyKCktPnVzZVNoYWRlcihwcm9ncmFtLT5wcm9ncmFtKCkpOworICAgIEdMQyhj
b250ZXh0LCBjb250ZXh0LT51c2VQcm9ncmFtKHByb2dyYW0tPnByb2dyYW0oKSkpOwogICAgIEdM
Qyhjb250ZXh0LCBjb250ZXh0LT51bmlmb3JtMWkocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS5z
YW1wbGVyTG9jYXRpb24oKSwgMCkpOwogICAgIExheWVyQ2hyb21pdW06OmRyYXdUZXh0dXJlZFF1
YWQoY29udGV4dCwgbGF5ZXJSZW5kZXJlcigpLT5wcm9qZWN0aW9uTWF0cml4KCksIGRyYXdUcmFu
c2Zvcm0oKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdW5kcygpLndp
ZHRoKCksIGJvdW5kcygpLmhlaWdodCgpLCBkcmF3T3BhY2l0eSgpLApJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NIZWFkc1VwRGlzcGxheS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NIZWFkc1VwRGlzcGxheS5jcHAJKHJldmlzaW9uIDg2ODYxKQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NIZWFkc1VwRGlzcGxheS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTEyNCw3ICsxMjQsNyBAQCB2b2lkIENDSGVhZHNVcERpc3BsYXk6OmRy
YXcoKQogICAgIEFTU0VSVChwcm9ncmFtICYmIHByb2dyYW0tPmluaXRpYWxpemVkKCkpOwogICAg
IEdMQyhjb250ZXh0LCBjb250ZXh0LT5hY3RpdmVUZXh0dXJlKEdyYXBoaWNzQ29udGV4dDNEOjpU
RVhUVVJFMCkpOwogICAgIG1faHVkVGV4dHVyZS0+YmluZFRleHR1cmUoKTsKLSAgICBtX2xheWVy
UmVuZGVyZXItPnVzZVNoYWRlcihwcm9ncmFtLT5wcm9ncmFtKCkpOworICAgIEdMQyhjb250ZXh0
LCBjb250ZXh0LT51c2VQcm9ncmFtKHByb2dyYW0tPnByb2dyYW0oKSkpOwogICAgIEdMQyhjb250
ZXh0LCBjb250ZXh0LT51bmlmb3JtMWkocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS5zYW1wbGVy
TG9jYXRpb24oKSwgMCkpOwogCiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbWF0cml4OwpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllcklt
cGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDTGF5ZXJJbXBsLmNwcAkocmV2aXNpb24gODY4NjEpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE4MSwxMyArMTgxLDE0IEBAIHZvaWQgQ0NMYXllckltcGw6OmRyYXdEZWJ1
Z0JvcmRlcigpCiAgICAgICAgIHJldHVybjsKIAogICAgIEFTU0VSVChsYXllclJlbmRlcmVyKCkp
OworICAgIEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0ID0gbGF5ZXJSZW5kZXJlcigpLT5jb250
ZXh0KCk7CiAgICAgY29uc3QgTGF5ZXJDaHJvbWl1bTo6Qm9yZGVyUHJvZ3JhbSogcHJvZ3JhbSA9
IGxheWVyUmVuZGVyZXIoKS0+Ym9yZGVyUHJvZ3JhbSgpOwogICAgIEFTU0VSVChwcm9ncmFtICYm
IHByb2dyYW0tPmluaXRpYWxpemVkKCkpOwotICAgIGxheWVyUmVuZGVyZXIoKS0+dXNlU2hhZGVy
KHByb2dyYW0tPnByb2dyYW0oKSk7CisgICAgR0xDKGNvbnRleHQsIGNvbnRleHQtPnVzZVByb2dy
YW0ocHJvZ3JhbS0+cHJvZ3JhbSgpKSk7CisKICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCByZW5k
ZXJNYXRyaXggPSBkcmF3VHJhbnNmb3JtKCk7CiAgICAgcmVuZGVyTWF0cml4LnNjYWxlM2QoYm91
bmRzKCkud2lkdGgoKSwgYm91bmRzKCkuaGVpZ2h0KCksIDEpOwogICAgIHRvR0xNYXRyaXgoJmds
TWF0cml4WzBdLCBsYXllclJlbmRlcmVyKCktPnByb2plY3Rpb25NYXRyaXgoKSAqIHJlbmRlck1h
dHJpeCk7Ci0gICAgR3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQgPSBsYXllclJlbmRlcmVyKCkt
PmNvbnRleHQoKTsKICAgICBHTEMoY29udGV4dCwgY29udGV4dC0+dW5pZm9ybU1hdHJpeDRmdihw
cm9ncmFtLT52ZXJ0ZXhTaGFkZXIoKS5tYXRyaXhMb2NhdGlvbigpLCBmYWxzZSwgJmdsTWF0cml4
WzBdLCAxKSk7CiAKICAgICBHTEMoY29udGV4dCwgY29udGV4dC0+dW5pZm9ybTRmKHByb2dyYW0t
PmZyYWdtZW50U2hhZGVyKCkuY29sb3JMb2NhdGlvbigpLCBkZWJ1Z0JvcmRlckNvbG9yKCkucmVk
KCkgLyAyNTUuMCwgZGVidWdCb3JkZXJDb2xvcigpLmdyZWVuKCkgLyAyNTUuMCwgZGVidWdCb3Jk
ZXJDb2xvcigpLmJsdWUoKSAvIDI1NS4wLCAxKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1BsdWdpbkxheWVySW1wbC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQbHVn
aW5MYXllckltcGwuY3BwCShyZXZpc2lvbiA4Njg2MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUGx1Z2luTGF5ZXJJbXBsLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNjIsNyArNjIsNyBAQCB2b2lkIENDUGx1Z2luTGF5ZXJJbXBsOjpkcmF3KGNvbnN0
IEludFJlCiAgICAgR0xDKGNvbnRleHQsIGNvbnRleHQtPnRleFBhcmFtZXRlcmkoR3JhcGhpY3ND
b250ZXh0M0Q6OlRFWFRVUkVfMkQsIEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFX1dSQVBfUywg
R3JhcGhpY3NDb250ZXh0M0Q6OkNMQU1QX1RPX0VER0UpKTsKICAgICBHTEMoY29udGV4dCwgY29u
dGV4dC0+dGV4UGFyYW1ldGVyaShHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV8yRCwgR3JhcGhp
Y3NDb250ZXh0M0Q6OlRFWFRVUkVfV1JBUF9ULCBHcmFwaGljc0NvbnRleHQzRDo6Q0xBTVBfVE9f
RURHRSkpOwogCi0gICAgbGF5ZXJSZW5kZXJlcigpLT51c2VTaGFkZXIocHJvZ3JhbS0+cHJvZ3Jh
bSgpKTsKKyAgICBHTEMoY29udGV4dCwgY29udGV4dC0+dXNlUHJvZ3JhbShwcm9ncmFtLT5wcm9n
cmFtKCkpKTsKICAgICBHTEMoY29udGV4dCwgY29udGV4dC0+dW5pZm9ybTFpKHByb2dyYW0tPmZy
YWdtZW50U2hhZGVyKCkuc2FtcGxlckxvY2F0aW9uKCksIDApKTsKICAgICBMYXllckNocm9taXVt
OjpkcmF3VGV4dHVyZWRRdWFkKGNvbnRleHQsIGxheWVyUmVuZGVyZXIoKS0+cHJvamVjdGlvbk1h
dHJpeCgpLCBkcmF3VHJhbnNmb3JtKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBib3VuZHMoKS53aWR0aCgpLCBib3VuZHMoKS5oZWlnaHQoKSwgZHJhd09wYWNpdHkoKSwK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVmlk
ZW9MYXllckltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDVmlkZW9MYXllckltcGwuY3BwCShyZXZpc2lvbiA4Njg2MSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVmlkZW9M
YXllckltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTUsNyArMTE1LDcgQEAgdm9pZCBDQ1Zp
ZGVvTGF5ZXJJbXBsOjpkcmF3WVVWKGNvbnN0IENDVgogICAgIEdMQyhjb250ZXh0LCBjb250ZXh0
LT5hY3RpdmVUZXh0dXJlKEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFMykpOwogICAgIEdMQyhj
b250ZXh0LCBjb250ZXh0LT5iaW5kVGV4dHVyZShHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV8y
RCwgdlRleHR1cmUuaWQpKTsKIAotICAgIGxheWVyUmVuZGVyZXIoKS0+dXNlU2hhZGVyKHByb2dy
YW0tPnByb2dyYW0oKSk7CisgICAgR0xDKGNvbnRleHQsIGNvbnRleHQtPnVzZVByb2dyYW0ocHJv
Z3JhbS0+cHJvZ3JhbSgpKSk7CiAKICAgICBmbG9hdCB5V2lkdGhTY2FsZUZhY3RvciA9IHN0YXRp
Y19jYXN0PGZsb2F0Pih5VGV4dHVyZS52aXNpYmxlU2l6ZS53aWR0aCgpKSAvIHlUZXh0dXJlLnNp
emUud2lkdGgoKTsKICAgICAvLyBBcmJpdHJhcmlseSB0YWtlIHRoZSB1IHNpemVzIGJlY2F1c2Ug
dSBhbmQgdiBkaW1lbnNpb25zIGFyZSBpZGVudGljYWwuCkBAIC0xNDcsNyArMTQ3LDcgQEAgdm9p
ZCBDQ1ZpZGVvTGF5ZXJJbXBsOjpkcmF3UkdCQShjb25zdCBDQwogICAgIEdMQyhjb250ZXh0LCBj
b250ZXh0LT5hY3RpdmVUZXh0dXJlKEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFMCkpOwogICAg
IEdMQyhjb250ZXh0LCBjb250ZXh0LT5iaW5kVGV4dHVyZShHcmFwaGljc0NvbnRleHQzRDo6VEVY
VFVSRV8yRCwgdGV4dHVyZS5pZCkpOwogCi0gICAgbGF5ZXJSZW5kZXJlcigpLT51c2VTaGFkZXIo
cHJvZ3JhbS0+cHJvZ3JhbSgpKTsKKyAgICBHTEMoY29udGV4dCwgY29udGV4dC0+dXNlUHJvZ3Jh
bShwcm9ncmFtLT5wcm9ncmFtKCkpKTsKICAgICBmbG9hdCB3aWR0aFNjYWxlRmFjdG9yID0gc3Rh
dGljX2Nhc3Q8ZmxvYXQ+KHRleHR1cmUudmlzaWJsZVNpemUud2lkdGgoKSkgLyB0ZXh0dXJlLnNp
emUud2lkdGgoKTsKICAgICBHTEMoY29udGV4dCwgY29udGV4dC0+dW5pZm9ybTRmKHByb2dyYW0t
PnZlcnRleFNoYWRlcigpLnRleFRyYW5zZm9ybUxvY2F0aW9uKCksIDAsIDAsIHdpZHRoU2NhbGVG
YWN0b3IsIDEpKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94236</attachid>
            <date>2011-05-20 10:07:13 -0700</date>
            <delta_ts>2011-05-20 11:48:05 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-61143-20110520110548.patch</filename>
            <type>text/plain</type>
            <size>11182</size>
            <attacher name="Alok Priyadarshi">alokp</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2OTY0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTEtMDUtMjAgIEFsb2sgUHJp
eWFkYXJzaGkgIDxhbG9rcEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmFt
ZXMgUm9iaW5zb24uCisKKyAgICAgICAgW2Nocm9taXVtXSBSZW1vdmUgTGF5ZXJSZW5kZXJlckNo
cm9taXVtOjp1c2VTaGFkZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTYxMTQzCisKKyAgICAgICAgR1BVIGNvbXBvc2l0b3IgdGVzdHMgc2hvdWxkIGJl
IHN1ZmZpY2llbnQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXll
clJlbmRlcmVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNo
cm9taXVtOjpMYXllclJlbmRlcmVyQ2hyb21pdW0pOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJS
ZW5kZXJlckNocm9taXVtOjpkZWJ1Z0dMQ2FsbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJUaWxlckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheWVyVGlsZXJDaHJvbWl1bTo6ZHJhdyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclN1cmZhY2VDaHJvbWl1bTo6ZHJhd1N1cmZhY2UpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDQ2FudmFzTGF5ZXJJbXBsLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNDQ2FudmFzTGF5ZXJJbXBsOjpkcmF3KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ0hlYWRzVXBEaXNwbGF5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNDSGVhZHNVcERpc3BsYXk6OmRyYXcpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDTGF5ZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBs
OjpkcmF3RGVidWdCb3JkZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDUGx1Z2luTGF5ZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDUGx1Z2luTGF5
ZXJJbXBsOjpkcmF3KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1ZpZGVvTGF5ZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDVmlkZW9MYXllckltcGw6
OmRyYXdZVVYpOgorICAgICAgICAoV2ViQ29yZTo6Q0NWaWRlb0xheWVySW1wbDo6ZHJhd1JHQkEp
OgorCiAyMDExLTA1LTIwICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDg2OTY0KQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTEyLDcgKzExMiw2IEBAIExheWVyUmVuZGVyZXJDaHJvbWl1
bTo6TGF5ZXJSZW5kZXJlckNocm8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFBhc3NPd25QdHI8TGF5ZXJQYWludGVyQ2hyb21pdW0+IGNvbnRlbnRQYWludCkK
ICAgICA6IG1fdmlld3BvcnRTY3JvbGxQb3NpdGlvbihJbnRQb2ludCgtMSwgLTEpKQogICAgICwg
bV9yb290TGF5ZXIoMCkKLSAgICAsIG1fY3VycmVudFNoYWRlcigwKQogICAgICwgbV9jdXJyZW50
UmVuZGVyU3VyZmFjZSgwKQogICAgICwgbV9vZmZzY3JlZW5GcmFtZWJ1ZmZlcklkKDApCiAgICAg
LCBtX2NvbXBvc2l0ZU9mZnNjcmVlbihmYWxzZSkKQEAgLTE1MywxNCArMTUyLDYgQEAgdm9pZCBM
YXllclJlbmRlcmVyQ2hyb21pdW06OmRlYnVnR0xDYWxsKAogICAgICAgICBMT0dfRVJST1IoIkdM
IGNvbW1hbmQgZmFpbGVkOiBGaWxlOiAlc1xuXHRMaW5lICVkXG5cdGNvbW1hbmQ6ICVzLCBlcnJv
ciAleFxuIiwgZmlsZSwgbGluZSwgY29tbWFuZCwgc3RhdGljX2Nhc3Q8aW50PihlcnJvcikpOwog
fQogCi12b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6dXNlU2hhZGVyKHVuc2lnbmVkIHByb2dy
YW1JZCkKLXsKLSAgICBpZiAocHJvZ3JhbUlkICE9IG1fY3VycmVudFNoYWRlcikgewotICAgICAg
ICBHTEMobV9jb250ZXh0LmdldCgpLCBtX2NvbnRleHQtPnVzZVByb2dyYW0ocHJvZ3JhbUlkKSk7
Ci0gICAgICAgIG1fY3VycmVudFNoYWRlciA9IHByb2dyYW1JZDsKLSAgICB9Ci19Ci0KIHZvaWQg
TGF5ZXJSZW5kZXJlckNocm9taXVtOjppbnZhbGlkYXRlUm9vdExheWVyUmVjdChjb25zdCBJbnRS
ZWN0JiBkaXJ0eVJlY3QpCiB7CiAgICAgbV9yb290TGF5ZXJDb250ZW50VGlsZXItPmludmFsaWRh
dGVSZWN0KGRpcnR5UmVjdCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0u
aAkocmV2aXNpb24gODY5NjQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAkod29ya2luZyBjb3B5KQpAQCAtMTEyLDgg
KzExMiw2IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBwcm9q
ZWN0aW9uTWF0cml4KCkgY29uc3QgeyByZXR1cm4gbV9wcm9qZWN0aW9uTWF0cml4OyB9CiAKLSAg
ICB2b2lkIHVzZVNoYWRlcih1bnNpZ25lZCk7Ci0KICAgICBib29sIGNoZWNrVGV4dHVyZVNpemUo
Y29uc3QgSW50U2l6ZSYpOwogCiAgICAgY29uc3QgR2VvbWV0cnlCaW5kaW5nKiBzaGFyZWRHZW9t
ZXRyeSgpIGNvbnN0IHsgcmV0dXJuIG1fc2hhcmVkR2VvbWV0cnkuZ2V0KCk7IH0KQEAgLTE5Niw3
ICsxOTQsNiBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBtX2hhcmR3YXJlQ29tcG9zaXRpbmc7CiAK
LSAgICB1bnNpZ25lZCBtX2N1cnJlbnRTaGFkZXI7CiAgICAgUmVuZGVyU3VyZmFjZUNocm9taXVt
KiBtX2N1cnJlbnRSZW5kZXJTdXJmYWNlOwogCiAgICAgdW5zaWduZWQgbV9vZmZzY3JlZW5GcmFt
ZWJ1ZmZlcklkOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vTGF5ZXJUaWxlckNocm9taXVtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclRpbGVyQ2hyb21pdW0uY3BwCShyZXZpc2lv
biA4Njk2NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyVGlsZXJDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzNyw3ICszMzcsNyBAQCB2
b2lkIExheWVyVGlsZXJDaHJvbWl1bTo6ZHJhdyhjb25zdCBJbnRSCiAKICAgICBHcmFwaGljc0Nv
bnRleHQzRCogY29udGV4dCA9IGxheWVyUmVuZGVyZXJDb250ZXh0KCk7CiAgICAgY29uc3QgTGF5
ZXJUaWxlckNocm9taXVtOjpQcm9ncmFtKiBwcm9ncmFtID0gbGF5ZXJSZW5kZXJlcigpLT50aWxl
clByb2dyYW0oKTsKLSAgICBsYXllclJlbmRlcmVyKCktPnVzZVNoYWRlcihwcm9ncmFtLT5wcm9n
cmFtKCkpOworICAgIEdMQyhjb250ZXh0LCBjb250ZXh0LT51c2VQcm9ncmFtKHByb2dyYW0tPnBy
b2dyYW0oKSkpOwogICAgIEdMQyhjb250ZXh0LCBjb250ZXh0LT51bmlmb3JtMWkocHJvZ3JhbS0+
ZnJhZ21lbnRTaGFkZXIoKS5zYW1wbGVyTG9jYXRpb24oKSwgMCkpOwogCiAgICAgaW50IGxlZnQs
IHRvcCwgcmlnaHQsIGJvdHRvbTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9t
aXVtLmNwcAkocmV2aXNpb24gODY5NjQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMTEsNyArMTExLDcgQEAgdm9pZCBSZW5kZXJTdXJmYWNlQ2hyb21pdW06OmRyYXdTdXJmYWNl
KAogICAgIGlmIChtYXNrTGF5ZXIgJiYgbWFza0xheWVyLT5kcmF3c0NvbnRlbnQoKSkgewogICAg
ICAgICBpZiAoIW1hc2tMYXllci0+Ym91bmRzKCkuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBj
b250ZXh0M0QtPm1ha2VDb250ZXh0Q3VycmVudCgpOwotICAgICAgICAgICAgbGF5ZXJSZW5kZXJl
cigpLT51c2VTaGFkZXIobWFza1Byb2dyYW0tPnByb2dyYW0oKSk7CisgICAgICAgICAgICBHTEMo
Y29udGV4dDNELCBjb250ZXh0M0QtPnVzZVByb2dyYW0obWFza1Byb2dyYW0tPnByb2dyYW0oKSkp
OwogICAgICAgICAgICAgR0xDKGNvbnRleHQzRCwgY29udGV4dDNELT5hY3RpdmVUZXh0dXJlKEdy
YXBoaWNzQ29udGV4dDNEOjpURVhUVVJFMCkpOwogICAgICAgICAgICAgR0xDKGNvbnRleHQzRCwg
Y29udGV4dDNELT51bmlmb3JtMWkobWFza1Byb2dyYW0tPmZyYWdtZW50U2hhZGVyKCkuc2FtcGxl
ckxvY2F0aW9uKCksIDApKTsKICAgICAgICAgICAgIG1fY29udGVudHNUZXh0dXJlLT5iaW5kVGV4
dHVyZSgpOwpAQCAtMTI2LDcgKzEyNiw3IEBAIHZvaWQgUmVuZGVyU3VyZmFjZUNocm9taXVtOjpk
cmF3U3VyZmFjZSgKICAgICB9CiAKICAgICBpZiAoIXVzZU1hc2spIHsKLSAgICAgICAgbGF5ZXJS
ZW5kZXJlcigpLT51c2VTaGFkZXIocHJvZ3JhbS0+cHJvZ3JhbSgpKTsKKyAgICAgICAgR0xDKGNv
bnRleHQzRCwgY29udGV4dDNELT51c2VQcm9ncmFtKHByb2dyYW0tPnByb2dyYW0oKSkpOwogICAg
ICAgICBtX2NvbnRlbnRzVGV4dHVyZS0+YmluZFRleHR1cmUoKTsKICAgICAgICAgR0xDKGNvbnRl
eHQzRCwgY29udGV4dDNELT51bmlmb3JtMWkocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS5zYW1w
bGVyTG9jYXRpb24oKSwgMCkpOwogICAgICAgICBzaGFkZXJNYXRyaXhMb2NhdGlvbiA9IHByb2dy
YW0tPnZlcnRleFNoYWRlcigpLm1hdHJpeExvY2F0aW9uKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0NhbnZhc0xheWVySW1wbC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NDYW52YXNMYXllckltcGwuY3BwCShyZXZpc2lvbiA4Njk2NCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDQ2FudmFzTGF5ZXJJbXBsLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNjQsNyArNjQsNyBAQCB2b2lkIENDQ2FudmFzTGF5ZXJJbXBsOjpkcmF3
KGNvbnN0IEludFJlCiAgICAgICAgIEdDM0RlbnVtIHNmYWN0b3IgPSBtX3ByZW11bHRpcGxpZWRB
bHBoYSA/IEdyYXBoaWNzQ29udGV4dDNEOjpPTkUgOiBHcmFwaGljc0NvbnRleHQzRDo6U1JDX0FM
UEhBOwogICAgICAgICBHTEMoY29udGV4dCwgY29udGV4dC0+YmxlbmRGdW5jKHNmYWN0b3IsIEdy
YXBoaWNzQ29udGV4dDNEOjpPTkVfTUlOVVNfU1JDX0FMUEhBKSk7CiAgICAgfQotICAgIGxheWVy
UmVuZGVyZXIoKS0+dXNlU2hhZGVyKHByb2dyYW0tPnByb2dyYW0oKSk7CisgICAgR0xDKGNvbnRl
eHQsIGNvbnRleHQtPnVzZVByb2dyYW0ocHJvZ3JhbS0+cHJvZ3JhbSgpKSk7CiAgICAgR0xDKGNv
bnRleHQsIGNvbnRleHQtPnVuaWZvcm0xaShwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLnNhbXBs
ZXJMb2NhdGlvbigpLCAwKSk7CiAgICAgTGF5ZXJDaHJvbWl1bTo6ZHJhd1RleHR1cmVkUXVhZChj
b250ZXh0LCBsYXllclJlbmRlcmVyKCktPnByb2plY3Rpb25NYXRyaXgoKSwgZHJhd1RyYW5zZm9y
bSgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm91bmRzKCkud2lkdGgo
KSwgYm91bmRzKCkuaGVpZ2h0KCksIGRyYXdPcGFjaXR5KCksCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0hlYWRzVXBEaXNwbGF5LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q0hlYWRzVXBEaXNwbGF5LmNwcAkocmV2aXNpb24gODY5NjQpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0hlYWRzVXBEaXNwbGF5LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTI0LDcgKzEyNCw3IEBAIHZvaWQgQ0NIZWFkc1VwRGlzcGxheTo6ZHJhdygp
CiAgICAgQVNTRVJUKHByb2dyYW0gJiYgcHJvZ3JhbS0+aW5pdGlhbGl6ZWQoKSk7CiAgICAgR0xD
KGNvbnRleHQsIGNvbnRleHQtPmFjdGl2ZVRleHR1cmUoR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRV
UkUwKSk7CiAgICAgbV9odWRUZXh0dXJlLT5iaW5kVGV4dHVyZSgpOwotICAgIG1fbGF5ZXJSZW5k
ZXJlci0+dXNlU2hhZGVyKHByb2dyYW0tPnByb2dyYW0oKSk7CisgICAgR0xDKGNvbnRleHQsIGNv
bnRleHQtPnVzZVByb2dyYW0ocHJvZ3JhbS0+cHJvZ3JhbSgpKSk7CiAgICAgR0xDKGNvbnRleHQs
IGNvbnRleHQtPnVuaWZvcm0xaShwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLnNhbXBsZXJMb2Nh
dGlvbigpLCAwKSk7CiAKICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBtYXRyaXg7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NMYXllckltcGwuY3BwCShyZXZpc2lvbiA4Njk2NCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTgxLDEzICsxODEsMTQgQEAgdm9pZCBDQ0xheWVySW1wbDo6ZHJhd0RlYnVnQm9y
ZGVyKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgQVNTRVJUKGxheWVyUmVuZGVyZXIoKSk7Cisg
ICAgR3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQgPSBsYXllclJlbmRlcmVyKCktPmNvbnRleHQo
KTsKICAgICBjb25zdCBMYXllckNocm9taXVtOjpCb3JkZXJQcm9ncmFtKiBwcm9ncmFtID0gbGF5
ZXJSZW5kZXJlcigpLT5ib3JkZXJQcm9ncmFtKCk7CiAgICAgQVNTRVJUKHByb2dyYW0gJiYgcHJv
Z3JhbS0+aW5pdGlhbGl6ZWQoKSk7Ci0gICAgbGF5ZXJSZW5kZXJlcigpLT51c2VTaGFkZXIocHJv
Z3JhbS0+cHJvZ3JhbSgpKTsKKyAgICBHTEMoY29udGV4dCwgY29udGV4dC0+dXNlUHJvZ3JhbShw
cm9ncmFtLT5wcm9ncmFtKCkpKTsKKwogICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IHJlbmRlck1h
dHJpeCA9IGRyYXdUcmFuc2Zvcm0oKTsKICAgICByZW5kZXJNYXRyaXguc2NhbGUzZChib3VuZHMo
KS53aWR0aCgpLCBib3VuZHMoKS5oZWlnaHQoKSwgMSk7CiAgICAgdG9HTE1hdHJpeCgmZ2xNYXRy
aXhbMF0sIGxheWVyUmVuZGVyZXIoKS0+cHJvamVjdGlvbk1hdHJpeCgpICogcmVuZGVyTWF0cml4
KTsKLSAgICBHcmFwaGljc0NvbnRleHQzRCogY29udGV4dCA9IGxheWVyUmVuZGVyZXIoKS0+Y29u
dGV4dCgpOwogICAgIEdMQyhjb250ZXh0LCBjb250ZXh0LT51bmlmb3JtTWF0cml4NGZ2KHByb2dy
YW0tPnZlcnRleFNoYWRlcigpLm1hdHJpeExvY2F0aW9uKCksIGZhbHNlLCAmZ2xNYXRyaXhbMF0s
IDEpKTsKIAogICAgIEdMQyhjb250ZXh0LCBjb250ZXh0LT51bmlmb3JtNGYocHJvZ3JhbS0+ZnJh
Z21lbnRTaGFkZXIoKS5jb2xvckxvY2F0aW9uKCksIGRlYnVnQm9yZGVyQ29sb3IoKS5yZWQoKSAv
IDI1NS4wLCBkZWJ1Z0JvcmRlckNvbG9yKCkuZ3JlZW4oKSAvIDI1NS4wLCBkZWJ1Z0JvcmRlckNv
bG9yKCkuYmx1ZSgpIC8gMjU1LjAsIDEpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUGx1Z2luTGF5ZXJJbXBsLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1BsdWdpbkxh
eWVySW1wbC5jcHAJKHJldmlzaW9uIDg2OTY0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQbHVnaW5MYXllckltcGwuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC02Miw3ICs2Miw3IEBAIHZvaWQgQ0NQbHVnaW5MYXllckltcGw6OmRyYXcoY29uc3QgSW50
UmUKICAgICBHTEMoY29udGV4dCwgY29udGV4dC0+dGV4UGFyYW1ldGVyaShHcmFwaGljc0NvbnRl
eHQzRDo6VEVYVFVSRV8yRCwgR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfV1JBUF9TLCBHcmFw
aGljc0NvbnRleHQzRDo6Q0xBTVBfVE9fRURHRSkpOwogICAgIEdMQyhjb250ZXh0LCBjb250ZXh0
LT50ZXhQYXJhbWV0ZXJpKEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFXzJELCBHcmFwaGljc0Nv
bnRleHQzRDo6VEVYVFVSRV9XUkFQX1QsIEdyYXBoaWNzQ29udGV4dDNEOjpDTEFNUF9UT19FREdF
KSk7CiAKLSAgICBsYXllclJlbmRlcmVyKCktPnVzZVNoYWRlcihwcm9ncmFtLT5wcm9ncmFtKCkp
OworICAgIEdMQyhjb250ZXh0LCBjb250ZXh0LT51c2VQcm9ncmFtKHByb2dyYW0tPnByb2dyYW0o
KSkpOwogICAgIEdMQyhjb250ZXh0LCBjb250ZXh0LT51bmlmb3JtMWkocHJvZ3JhbS0+ZnJhZ21l
bnRTaGFkZXIoKS5zYW1wbGVyTG9jYXRpb24oKSwgMCkpOwogICAgIExheWVyQ2hyb21pdW06OmRy
YXdUZXh0dXJlZFF1YWQoY29udGV4dCwgbGF5ZXJSZW5kZXJlcigpLT5wcm9qZWN0aW9uTWF0cml4
KCksIGRyYXdUcmFuc2Zvcm0oKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJvdW5kcygpLndpZHRoKCksIGJvdW5kcygpLmhlaWdodCgpLCBkcmF3T3BhY2l0eSgpLApJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NWaWRlb0xh
eWVySW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NWaWRlb0xheWVySW1wbC5jcHAJKHJldmlzaW9uIDg2OTY0KQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NWaWRlb0xheWVy
SW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNSw3ICsxMTUsNyBAQCB2b2lkIENDVmlkZW9M
YXllckltcGw6OmRyYXdZVVYoY29uc3QgQ0NWCiAgICAgR0xDKGNvbnRleHQsIGNvbnRleHQtPmFj
dGl2ZVRleHR1cmUoR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkUzKSk7CiAgICAgR0xDKGNvbnRl
eHQsIGNvbnRleHQtPmJpbmRUZXh0dXJlKEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFXzJELCB2
VGV4dHVyZS5pZCkpOwogCi0gICAgbGF5ZXJSZW5kZXJlcigpLT51c2VTaGFkZXIocHJvZ3JhbS0+
cHJvZ3JhbSgpKTsKKyAgICBHTEMoY29udGV4dCwgY29udGV4dC0+dXNlUHJvZ3JhbShwcm9ncmFt
LT5wcm9ncmFtKCkpKTsKIAogICAgIGZsb2F0IHlXaWR0aFNjYWxlRmFjdG9yID0gc3RhdGljX2Nh
c3Q8ZmxvYXQ+KHlUZXh0dXJlLnZpc2libGVTaXplLndpZHRoKCkpIC8geVRleHR1cmUuc2l6ZS53
aWR0aCgpOwogICAgIC8vIEFyYml0cmFyaWx5IHRha2UgdGhlIHUgc2l6ZXMgYmVjYXVzZSB1IGFu
ZCB2IGRpbWVuc2lvbnMgYXJlIGlkZW50aWNhbC4KQEAgLTE0Nyw3ICsxNDcsNyBAQCB2b2lkIEND
VmlkZW9MYXllckltcGw6OmRyYXdSR0JBKGNvbnN0IENDCiAgICAgR0xDKGNvbnRleHQsIGNvbnRl
eHQtPmFjdGl2ZVRleHR1cmUoR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkUwKSk7CiAgICAgR0xD
KGNvbnRleHQsIGNvbnRleHQtPmJpbmRUZXh0dXJlKEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJF
XzJELCB0ZXh0dXJlLmlkKSk7CiAKLSAgICBsYXllclJlbmRlcmVyKCktPnVzZVNoYWRlcihwcm9n
cmFtLT5wcm9ncmFtKCkpOworICAgIEdMQyhjb250ZXh0LCBjb250ZXh0LT51c2VQcm9ncmFtKHBy
b2dyYW0tPnByb2dyYW0oKSkpOwogICAgIGZsb2F0IHdpZHRoU2NhbGVGYWN0b3IgPSBzdGF0aWNf
Y2FzdDxmbG9hdD4odGV4dHVyZS52aXNpYmxlU2l6ZS53aWR0aCgpKSAvIHRleHR1cmUuc2l6ZS53
aWR0aCgpOwogICAgIEdMQyhjb250ZXh0LCBjb250ZXh0LT51bmlmb3JtNGYocHJvZ3JhbS0+dmVy
dGV4U2hhZGVyKCkudGV4VHJhbnNmb3JtTG9jYXRpb24oKSwgMCwgMCwgd2lkdGhTY2FsZUZhY3Rv
ciwgMSkpOwogCg==
</data>
<flag name="commit-queue"
          id="87518"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>