<?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>59377</bug_id>
          
          <creation_ts>2011-04-25 16:09:32 -0700</creation_ts>
          <short_desc>Fix OwnPtr strict errors in RenderStyle and make StyleRareInheritedData::textShadow an OwnPtr</short_desc>
          <delta_ts>2011-04-27 00:04:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Robinson">jamesr</reporter>
          <assigned_to name="James Robinson">jamesr</assigned_to>
          <cc>abarth</cc>
    
    <cc>buildbot</cc>
    
    <cc>cmarrin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>ossy</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>392004</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-04-25 16:09:32 -0700</bug_when>
    <thetext>Fix OwnPtr strict errors in RenderStyle and make StyleRareInheritedData::textShadow an OwnPtr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392010</commentid>
    <comment_count>1</comment_count>
      <attachid>90983</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-04-25 16:10:40 -0700</bug_when>
    <thetext>Created attachment 90983
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392014</commentid>
    <comment_count>2</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-04-25 16:12:17 -0700</bug_when>
    <thetext>Gonna let this one run through the EWS before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392151</commentid>
    <comment_count>3</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-04-25 17:22:02 -0700</bug_when>
    <thetext>Attachment 90983 did not build on qt:
Build output: http://queues.webkit.org/results/8508392</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392163</commentid>
    <comment_count>4</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-04-25 17:36:50 -0700</bug_when>
    <thetext>Attachment 90983 did not build on win:
Build output: http://queues.webkit.org/results/8506515</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392179</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-25 18:52:47 -0700</bug_when>
    <thetext>Attachment 90983 did not build on chromium:
Build output: http://queues.webkit.org/results/8504862</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392184</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-25 19:00:07 -0700</bug_when>
    <thetext>Attachment 90983 did not build on mac:
Build output: http://queues.webkit.org/results/8506538</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392197</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-25 19:58:25 -0700</bug_when>
    <thetext>Attachment 90983 did not build on chromium:
Build output: http://queues.webkit.org/results/8505698</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392218</commentid>
    <comment_count>8</comment_count>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-04-25 20:46:14 -0700</bug_when>
    <thetext>Attachment 90983 did not build on gtk:
Build output: http://queues.webkit.org/results/8503868</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392220</commentid>
    <comment_count>9</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-04-25 21:01:34 -0700</bug_when>
    <thetext>AnimationBase has a function ptr to the setter which now takes a PassOwnPtr&lt;&gt;.  I&apos;ve fixed it locally, will check if it compiles now and upload a new patch.

Thanks, EWS!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392233</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-25 21:23:00 -0700</bug_when>
    <thetext>&gt; Thanks, EWS!

You&apos;re welcome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392248</commentid>
    <comment_count>11</comment_count>
      <attachid>91054</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-04-25 21:58:01 -0700</bug_when>
    <thetext>Created attachment 91054
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392249</commentid>
    <comment_count>12</comment_count>
      <attachid>91054</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-25 22:01:34 -0700</bug_when>
    <thetext>Comment on attachment 91054
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392251</commentid>
    <comment_count>13</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-04-25 22:05:22 -0700</bug_when>
    <thetext>Committed r84877: &lt;http://trac.webkit.org/changeset/84877&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392252</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-25 22:11:09 -0700</bug_when>
    <thetext>Attachment 90983 did not build on chromium:
Build output: http://queues.webkit.org/results/8505740</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392265</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-25 22:44:57 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/84877 might have broken SnowLeopard Intel Release (Tests)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392329</commentid>
    <comment_count>16</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-04-26 00:27:03 -0700</bug_when>
    <thetext>It make a test fail at least of on SL, GTK, Qt bots:

--- /Volumes/Data/WebKit-BuildSlave/snowleopard-intel-release-tests/build/layout-test-results/transitions/multiple-text-shadow-transition-expected.txt	2011-04-25 23:44:44.000000000 -0700
+++ /Volumes/Data/WebKit-BuildSlave/snowleopard-intel-release-tests/build/layout-test-results/transitions/multiple-text-shadow-transition-actual.txt	2011-04-25 23:44:44.000000000 -0700
@@ -1,2 +1,2 @@
 Shadowed text
-PASS: saw 5 shadows during the transition
+FAIL: saw 1 shadows during the transition</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392376</commentid>
    <comment_count>17</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-04-26 03:38:22 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; http://trac.webkit.org/changeset/84877 might have broken SnowLeopard Intel Release (Tests)

Rolled out by http://trac.webkit.org/changeset/84901</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393041</commentid>
    <comment_count>18</comment_count>
      <attachid>91178</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-04-26 16:43:13 -0700</bug_when>
    <thetext>Created attachment 91178
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393045</commentid>
    <comment_count>19</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-04-26 16:44:27 -0700</bug_when>
    <thetext>The test failed because I had mishandled ShadowData&apos;s linked list implementation.  This patch handles the linked list correctly (using smart pointers instead of raw ptrs + delete calls) and I&apos;ve actually compiled+ran the tests with it (how novel!).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393210</commentid>
    <comment_count>20</comment_count>
      <attachid>91178</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-26 18:12:43 -0700</bug_when>
    <thetext>Comment on attachment 91178
Patch

OK!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393397</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-27 00:01:43 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 91178:

http/tests/xmlhttprequest/basic-auth.html bug 51613 (author: ap@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393398</commentid>
    <comment_count>22</comment_count>
      <attachid>91178</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-27 00:04:43 -0700</bug_when>
    <thetext>Comment on attachment 91178
Patch

Clearing flags on attachment: 91178

Committed r85027: &lt;http://trac.webkit.org/changeset/85027&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393399</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-27 00:04:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90983</attachid>
            <date>2011-04-25 16:10:40 -0700</date>
            <delta_ts>2011-04-25 21:57:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59377-20110425161036.patch</filename>
            <type>text/plain</type>
            <size>8335</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQ4MjEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmOGU1YzQ2ZjgyN2RiZGQ0
ZDdiNjFhNTFkMjk3MGM5YTc3ZWI3NDk1Li5iMjQ4NjcxZTA1MTcyYzNkNzFiMTY0ZGRmNTJmZDUz
MDgzMzFlNjNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDQtMjUgIEphbWVz
IFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggT3duUHRyIHN0cmljdCBlcnJvcnMgaW4gUmVu
ZGVyU3R5bGUgYW5kIG1ha2UgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6dGV4dFNoYWRvdyBhbiBP
d25QdHIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5
Mzc3CisKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KToKKyAgICAgICAgKiByZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6
OnNldFRleHRTaGFkb3cpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNldEJveFNo
YWRvdyk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAg
IChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6dGV4dFNoYWRvdyk6CisgICAgICAgICogcmVuZGVy
aW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YSk6CisgICAgICAg
IChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjp+U3R5bGVSYXJlSW5oZXJpdGVkRGF0
YSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaDoK
KwogMjAxMS0wNC0yNSAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIEJ1aWxkIGZpeDogVGhpcyB0aW1lIGZvciBzdXJlIQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0
eWxlU2VsZWN0b3IuY3BwCmluZGV4IGZmMzlhYjIxY2Q2MTEwZThjZmE2YmRhZTFlYzkwZjkxNDk5
ODZhYTYuLmU0ODZlNTM5MWYyZDQ0MTg2YWU3NWFhOTk2Y2YyNmMxNTNjYWY4YzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTUxNDUsNyArNTE0NSw3IEBAIHZv
aWQgQ1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eShpbnQgaWQsIENTU1ZhbHVlICp2YWx1
ZSkKICAgICAgICAgaWYgKGlzSW5oZXJpdCkgewogICAgICAgICAgICAgaWYgKGlkID09IENTU1By
b3BlcnR5VGV4dFNoYWRvdykKICAgICAgICAgICAgICAgICByZXR1cm4gbV9zdHlsZS0+c2V0VGV4
dFNoYWRvdyhtX3BhcmVudFN0eWxlLT50ZXh0U2hhZG93KCkgPyBuZXcgU2hhZG93RGF0YSgqbV9w
YXJlbnRTdHlsZS0+dGV4dFNoYWRvdygpKSA6IDApOwotICAgICAgICAgICAgcmV0dXJuIG1fc3R5
bGUtPnNldEJveFNoYWRvdyhtX3BhcmVudFN0eWxlLT5ib3hTaGFkb3coKSA/IG5ldyBTaGFkb3dE
YXRhKCptX3BhcmVudFN0eWxlLT5ib3hTaGFkb3coKSkgOiAwKTsKKyAgICAgICAgICAgIHJldHVy
biBtX3N0eWxlLT5zZXRCb3hTaGFkb3cobV9wYXJlbnRTdHlsZS0+Ym94U2hhZG93KCkgPyBhZG9w
dFB0cihuZXcgU2hhZG93RGF0YSgqbV9wYXJlbnRTdHlsZS0+Ym94U2hhZG93KCkpKSA6IFBhc3NP
d25QdHI8U2hhZG93RGF0YT4oKSk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGlzSW5pdGlhbCB8
fCBwcmltaXRpdmVWYWx1ZSkgLy8gaW5pdGlhbCB8IG5vbmUKICAgICAgICAgICAgIHJldHVybiBp
ZCA9PSBDU1NQcm9wZXJ0eVRleHRTaGFkb3cgPyBtX3N0eWxlLT5zZXRUZXh0U2hhZG93KDApIDog
bV9zdHlsZS0+c2V0Qm94U2hhZG93KDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5jcHAKaW5kZXggNmU0Yzc4OGYwZWUyZGMzYzVkMDUxMzQyOTc1NzA2
MDgxYzcwNGI0OC4uNWFkZDVjYWIyYWE3Mjk3Y2MxNTY0NGEyZDU4Nzc4OWU0YzQwZGVkOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCkBAIC03
MjgsMzEgKzcyOCwyOSBAQCB2b2lkIFJlbmRlclN0eWxlOjpzZXRQYWdlU2NhbGVUcmFuc2Zvcm0o
ZmxvYXQgc2NhbGUpCiAgICAgc2V0VHJhbnNmb3JtT3JpZ2luWShMZW5ndGgoMCwgRml4ZWQpKTsK
IH0KIAotdm9pZCBSZW5kZXJTdHlsZTo6c2V0VGV4dFNoYWRvdyhTaGFkb3dEYXRhKiB2YWwsIGJv
b2wgYWRkKQordm9pZCBSZW5kZXJTdHlsZTo6c2V0VGV4dFNoYWRvdyhQYXNzT3duUHRyPFNoYWRv
d0RhdGE+IHNoYWRvd0RhdGEsIGJvb2wgYWRkKQogewotICAgIEFTU0VSVCghdmFsIHx8ICghdmFs
LT5zcHJlYWQoKSAmJiB2YWwtPnN0eWxlKCkgPT0gTm9ybWFsKSk7CisgICAgQVNTRVJUKCFzaGFk
b3dEYXRhIHx8ICghc2hhZG93RGF0YS0+c3ByZWFkKCkgJiYgc2hhZG93RGF0YS0+c3R5bGUoKSA9
PSBOb3JtYWwpKTsKIAogICAgIFN0eWxlUmFyZUluaGVyaXRlZERhdGEqIHJhcmVEYXRhID0gcmFy
ZUluaGVyaXRlZERhdGEuYWNjZXNzKCk7CiAgICAgaWYgKCFhZGQpIHsKLSAgICAgICAgZGVsZXRl
IHJhcmVEYXRhLT50ZXh0U2hhZG93OwotICAgICAgICByYXJlRGF0YS0+dGV4dFNoYWRvdyA9IHZh
bDsKKyAgICAgICAgcmFyZURhdGEtPnRleHRTaGFkb3cgPSBzaGFkb3dEYXRhOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCi0gICAgdmFsLT5zZXROZXh0KHJhcmVEYXRhLT50ZXh0U2hhZG93KTsK
LSAgICByYXJlRGF0YS0+dGV4dFNoYWRvdyA9IHZhbDsKKyAgICByYXJlRGF0YS0+dGV4dFNoYWRv
dyA9IHNoYWRvd0RhdGE7CiB9CiAKLXZvaWQgUmVuZGVyU3R5bGU6OnNldEJveFNoYWRvdyhTaGFk
b3dEYXRhKiBzaGFkb3dEYXRhLCBib29sIGFkZCkKK3ZvaWQgUmVuZGVyU3R5bGU6OnNldEJveFNo
YWRvdyhQYXNzT3duUHRyPFNoYWRvd0RhdGE+IHNoYWRvd0RhdGEsIGJvb2wgYWRkKQogewogICAg
IFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEqIHJhcmVEYXRhID0gcmFyZU5vbkluaGVyaXRlZERh
dGEuYWNjZXNzKCk7CiAgICAgaWYgKCFhZGQpIHsKLSAgICAgICAgcmFyZURhdGEtPm1fYm94U2hh
ZG93LnNldChzaGFkb3dEYXRhKTsKKyAgICAgICAgcmFyZURhdGEtPm1fYm94U2hhZG93ID0gc2hh
ZG93RGF0YTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIHNoYWRvd0RhdGEtPnNldE5l
eHQocmFyZURhdGEtPm1fYm94U2hhZG93LmxlYWtQdHIoKSk7Ci0gICAgcmFyZURhdGEtPm1fYm94
U2hhZG93LnNldChzaGFkb3dEYXRhKTsKKyAgICByYXJlRGF0YS0+bV9ib3hTaGFkb3cgPSBzaGFk
b3dEYXRhOwogfQogCiBzdGF0aWMgUm91bmRlZEludFJlY3Q6OlJhZGlpIGNhbGNSYWRpaUZvcihj
b25zdCBCb3JkZXJEYXRhJiBib3JkZXIsIGludCB3aWR0aCwgaW50IGhlaWdodCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggMzJlNDFiY2Y5NTkx
ZWQwMTFjZjQ4ZDUzNzM2OTdhOWFjMDcyNTJlYS4uZjZjYzA3Y2JlZmRjMGI5ZWMwYjQ3YTdiNDM3
MTE3YWVlOGVhYTk2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmgKQEAgLTY1MCw3ICs2NTAsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX2Jh
Y2tncm91bmQtPm91dGxpbmUoKS5vZmZzZXQoKTsKICAgICB9CiAKLSAgICBjb25zdCBTaGFkb3dE
YXRhKiB0ZXh0U2hhZG93KCkgY29uc3QgeyByZXR1cm4gcmFyZUluaGVyaXRlZERhdGEtPnRleHRT
aGFkb3c7IH0KKyAgICBjb25zdCBTaGFkb3dEYXRhKiB0ZXh0U2hhZG93KCkgY29uc3QgeyByZXR1
cm4gcmFyZUluaGVyaXRlZERhdGEtPnRleHRTaGFkb3cuZ2V0KCk7IH0KICAgICB2b2lkIGdldFRl
eHRTaGFkb3dFeHRlbnQoaW50JiB0b3AsIGludCYgcmlnaHQsIGludCYgYm90dG9tLCBpbnQmIGxl
ZnQpIGNvbnN0IHsgZ2V0U2hhZG93RXh0ZW50KHRleHRTaGFkb3coKSwgdG9wLCByaWdodCwgYm90
dG9tLCBsZWZ0KTsgfQogICAgIHZvaWQgZ2V0VGV4dFNoYWRvd0hvcml6b250YWxFeHRlbnQoaW50
JiBsZWZ0LCBpbnQmIHJpZ2h0KSBjb25zdCB7IGdldFNoYWRvd0hvcml6b250YWxFeHRlbnQodGV4
dFNoYWRvdygpLCBsZWZ0LCByaWdodCk7IH0KICAgICB2b2lkIGdldFRleHRTaGFkb3dWZXJ0aWNh
bEV4dGVudChpbnQmIHRvcCwgaW50JiBib3R0b20pIGNvbnN0IHsgZ2V0U2hhZG93VmVydGljYWxF
eHRlbnQodGV4dFNoYWRvdygpLCB0b3AsIGJvdHRvbSk7IH0KQEAgLTEwMTksNyArMTAxOSw3IEBA
IHB1YmxpYzoKIAogICAgIC8vIENTUzMgU2V0dGVycwogICAgIHZvaWQgc2V0T3V0bGluZU9mZnNl
dChpbnQgdikgeyBTRVRfVkFSKG1fYmFja2dyb3VuZCwgbV9vdXRsaW5lLm1fb2Zmc2V0LCB2KSB9
Ci0gICAgdm9pZCBzZXRUZXh0U2hhZG93KFNoYWRvd0RhdGEqIHZhbCwgYm9vbCBhZGQ9ZmFsc2Up
OworICAgIHZvaWQgc2V0VGV4dFNoYWRvdyhQYXNzT3duUHRyPFNoYWRvd0RhdGE+LCBib29sIGFk
ZCA9IGZhbHNlKTsKICAgICB2b2lkIHNldFRleHRTdHJva2VDb2xvcihjb25zdCBDb2xvciYgYykg
eyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCB0ZXh0U3Ryb2tlQ29sb3IsIGMpIH0KICAgICB2
b2lkIHNldFRleHRTdHJva2VXaWR0aChmbG9hdCB3KSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERh
dGEsIHRleHRTdHJva2VXaWR0aCwgdykgfQogICAgIHZvaWQgc2V0VGV4dEZpbGxDb2xvcihjb25z
dCBDb2xvciYgYykgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCB0ZXh0RmlsbENvbG9yLCBj
KSB9CkBAIC0xMDM0LDcgKzEwMzQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRCb3hPcmRpbmFs
R3JvdXAodW5zaWduZWQgaW50IG9nKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEuYWNj
ZXNzKCktPmZsZXhpYmxlQm94LCBvcmRpbmFsX2dyb3VwLCBvZyk7IH0KICAgICB2b2lkIHNldEJv
eE9yaWVudChFQm94T3JpZW50IG8pIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nl
c3MoKS0+ZmxleGlibGVCb3gsIG9yaWVudCwgbyk7IH0KICAgICB2b2lkIHNldEJveFBhY2soRUJv
eEFsaWdubWVudCBwKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEuYWNjZXNzKCktPmZs
ZXhpYmxlQm94LCBwYWNrLCBwKTsgfQotICAgIHZvaWQgc2V0Qm94U2hhZG93KFNoYWRvd0RhdGEq
IHZhbCwgYm9vbCBhZGQ9ZmFsc2UpOworICAgIHZvaWQgc2V0Qm94U2hhZG93KFBhc3NPd25QdHI8
U2hhZG93RGF0YT4sIGJvb2wgYWRkID0gZmFsc2UpOwogICAgIHZvaWQgc2V0Qm94UmVmbGVjdChQ
YXNzUmVmUHRyPFN0eWxlUmVmbGVjdGlvbj4gcmVmbGVjdCkgeyBpZiAocmFyZU5vbkluaGVyaXRl
ZERhdGEtPm1fYm94UmVmbGVjdCAhPSByZWZsZWN0KSByYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nl
c3MoKS0+bV9ib3hSZWZsZWN0ID0gcmVmbGVjdDsgfQogICAgIHZvaWQgc2V0Qm94U2l6aW5nKEVC
b3hTaXppbmcgcykgeyBTRVRfVkFSKG1fYm94LCBtX2JveFNpemluZywgcyk7IH0KICAgICB2b2lk
IHNldE1hcnF1ZWVJbmNyZW1lbnQoY29uc3QgTGVuZ3RoJiBmKSB7IFNFVF9WQVIocmFyZU5vbklu
aGVyaXRlZERhdGEuYWNjZXNzKCktPm1hcnF1ZWUsIGluY3JlbWVudCwgZik7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRh
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWRE
YXRhLmNwcAppbmRleCBhNmExOWVhNWMwNmJlMDY1MjU5YjU5MWViMTYxMmI0MWJlZjVlMGEzLi45
NDBhMGQ5OTc2YmEwN2I4NmJhM2M2ZTY4OTNlMmMyOTI1ZmZjZTM2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEu
Y3BwCkBAIC0zMiw3ICszMiw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogU3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YSgpCiAgICAgOiB0ZXh0U3Ryb2tlV2lk
dGgoUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0U3Ryb2tlV2lkdGgoKSkKLSAgICAsIHRleHRTaGFk
b3coMCkKICAgICAsIGluZGVudChSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRJbmRlbnQoKSkKICAg
ICAsIG1fZWZmZWN0aXZlWm9vbShSZW5kZXJTdHlsZTo6aW5pdGlhbFpvb20oKSkKICAgICAsIHdp
ZG93cyhSZW5kZXJTdHlsZTo6aW5pdGlhbFdpZG93cygpKQpAQCAtNjQsNyArNjMsNyBAQCBTdHls
ZVJhcmVJbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhKGNvbnN0IFN0eWxlUmFy
ZUluaGVyaXRlZERhdGEmIG8pCiAgICAgLCB0ZXh0U3Ryb2tlV2lkdGgoby50ZXh0U3Ryb2tlV2lk
dGgpCiAgICAgLCB0ZXh0RmlsbENvbG9yKG8udGV4dEZpbGxDb2xvcikKICAgICAsIHRleHRFbXBo
YXNpc0NvbG9yKG8udGV4dEVtcGhhc2lzQ29sb3IpCi0gICAgLCB0ZXh0U2hhZG93KG8udGV4dFNo
YWRvdyA/IG5ldyBTaGFkb3dEYXRhKCpvLnRleHRTaGFkb3cpIDogMCkKKyAgICAsIHRleHRTaGFk
b3coby50ZXh0U2hhZG93ID8gYWRvcHRQdHIobmV3IFNoYWRvd0RhdGEoKm8udGV4dFNoYWRvdykp
IDogMCkKICAgICAsIGhpZ2hsaWdodChvLmhpZ2hsaWdodCkKICAgICAsIGN1cnNvckRhdGEoby5j
dXJzb3JEYXRhKQogICAgICwgaW5kZW50KG8uaW5kZW50KQpAQCAtOTcsNyArOTYsNiBAQCBTdHls
ZVJhcmVJbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhKGNvbnN0IFN0eWxlUmFy
ZUluaGVyaXRlZERhdGEmIG8pCiAKIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6On5TdHlsZVJhcmVJ
bmhlcml0ZWREYXRhKCkKIHsKLSAgICBkZWxldGUgdGV4dFNoYWRvdzsKIH0KIAogc3RhdGljIGJv
b2wgY3Vyc29yRGF0YUVxdWl2YWxlbnQoY29uc3QgQ3Vyc29yTGlzdCogYzEsIGNvbnN0IEN1cnNv
ckxpc3QqIGMyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlUmFyZUluaGVyaXRlZERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKaW5kZXggYmYyOGYyOTQyMTM4MTQzYWJiZjMxNzc5MWMz
ODM0ZDA1MWEzMDdlNy4uZGE0MTBmMWFjNjgyNzM0MWZkMzg3OGVmMmJiZjk1Zjg5YmZkMDIyNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVy
aXRlZERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJl
SW5oZXJpdGVkRGF0YS5oCkBAIC01OCw3ICs1OCw3IEBAIHB1YmxpYzoKICAgICBDb2xvciB0ZXh0
RmlsbENvbG9yOwogICAgIENvbG9yIHRleHRFbXBoYXNpc0NvbG9yOwogCi0gICAgU2hhZG93RGF0
YSogdGV4dFNoYWRvdzsgLy8gT3VyIHRleHQgc2hhZG93IGluZm9ybWF0aW9uIGZvciBzaGFkb3dl
ZCB0ZXh0IGRyYXdpbmcuCisgICAgT3duUHRyPFNoYWRvd0RhdGE+IHRleHRTaGFkb3c7IC8vIE91
ciB0ZXh0IHNoYWRvdyBpbmZvcm1hdGlvbiBmb3Igc2hhZG93ZWQgdGV4dCBkcmF3aW5nLgogICAg
IEF0b21pY1N0cmluZyBoaWdobGlnaHQ7IC8vIEFwcGxlLXNwZWNpZmljIGV4dGVuc2lvbiBmb3Ig
Y3VzdG9tIGhpZ2hsaWdodCByZW5kZXJpbmcuCiAgICAgCiAgICAgUmVmUHRyPEN1cnNvckxpc3Q+
IGN1cnNvckRhdGE7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91054</attachid>
            <date>2011-04-25 21:58:01 -0700</date>
            <delta_ts>2011-04-26 03:38:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59377-20110425215800.patch</filename>
            <type>text/plain</type>
            <size>13118</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQ4NzUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwNzA3NTVlNWUyMDBjZTY3
M2ZjM2E1ZGEwMWM4MDg2ZTdhOWM2YzJhLi44MmE3NzM0M2IzN2NhODI0MmU0ZDRjNGM3YmQyMmU0
MjUxYWFlMGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMDQtMjUgIEphbWVz
IFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggT3duUHRyIHN0cmljdCBlcnJvcnMgaW4gUmVu
ZGVyU3R5bGUgYW5kIG1ha2UgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6dGV4dFNoYWRvdyBhbiBP
d25QdHIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5
Mzc3CisKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KToKKyAgICAgICAgKiBwYWdlL2Fu
aW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByb3BlcnR5V3Jh
cHBlclNoYWRvdzo6UHJvcGVydHlXcmFwcGVyU2hhZG93KToKKyAgICAgICAgKFdlYkNvcmU6OlBy
b3BlcnR5V3JhcHBlclNoYWRvdzo6YmxlbmQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0VGV4dFNo
YWRvdyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0Qm94U2hhZG93KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkluaGVyaXRlZEZsYWdzOjp0ZXh0U2hhZG93KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUv
U3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJ
bmhlcml0ZWREYXRhOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlUmFyZUluaGVyaXRlZERhdGE6On5TdHlsZVJhcmVJbmhlcml0ZWREYXRhKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oOgorICAgICAgICAq
IHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OlN0eWxlUmFyZU5vbkluaGVyaXRl
ZERhdGEpOgorCiAyMDExLTA0LTI1ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdt
YWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByODQ4NjQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggZmYzOWFiMjFjZDYxMTBlOGNm
YTZiZGFlMWVjOTBmOTE0OTk4NmFhNi4uZTQ4NmU1MzkxZjJkNDQxODZhZTc1YWE5OTZjZjI2YzE1
M2NhZjhjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtNTE0
NSw3ICs1MTQ1LDcgQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KGludCBp
ZCwgQ1NTVmFsdWUgKnZhbHVlKQogICAgICAgICBpZiAoaXNJbmhlcml0KSB7CiAgICAgICAgICAg
ICBpZiAoaWQgPT0gQ1NTUHJvcGVydHlUZXh0U2hhZG93KQogICAgICAgICAgICAgICAgIHJldHVy
biBtX3N0eWxlLT5zZXRUZXh0U2hhZG93KG1fcGFyZW50U3R5bGUtPnRleHRTaGFkb3coKSA/IG5l
dyBTaGFkb3dEYXRhKCptX3BhcmVudFN0eWxlLT50ZXh0U2hhZG93KCkpIDogMCk7Ci0gICAgICAg
ICAgICByZXR1cm4gbV9zdHlsZS0+c2V0Qm94U2hhZG93KG1fcGFyZW50U3R5bGUtPmJveFNoYWRv
dygpID8gbmV3IFNoYWRvd0RhdGEoKm1fcGFyZW50U3R5bGUtPmJveFNoYWRvdygpKSA6IDApOwor
ICAgICAgICAgICAgcmV0dXJuIG1fc3R5bGUtPnNldEJveFNoYWRvdyhtX3BhcmVudFN0eWxlLT5i
b3hTaGFkb3coKSA/IGFkb3B0UHRyKG5ldyBTaGFkb3dEYXRhKCptX3BhcmVudFN0eWxlLT5ib3hT
aGFkb3coKSkpIDogUGFzc093blB0cjxTaGFkb3dEYXRhPigpKTsKICAgICAgICAgfQogICAgICAg
ICBpZiAoaXNJbml0aWFsIHx8IHByaW1pdGl2ZVZhbHVlKSAvLyBpbml0aWFsIHwgbm9uZQogICAg
ICAgICAgICAgcmV0dXJuIGlkID09IENTU1Byb3BlcnR5VGV4dFNoYWRvdyA/IG1fc3R5bGUtPnNl
dFRleHRTaGFkb3coMCkgOiBtX3N0eWxlLT5zZXRCb3hTaGFkb3coMCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCmluZGV4IDdkOGYyMThiYTEy
Zjc1ZDhkZjk1MzhmNGUzYzU2YTk4YjE3ZjQyZWEuLjk0YzZiZmE0Mjc1OWVlNjc3MDRiMjM1ZjU2
MDAzNzc5NThjNTNkYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9u
L0FuaW1hdGlvbkJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0Fu
aW1hdGlvbkJhc2UuY3BwCkBAIC0zMjksNyArMzI5LDcgQEAgcHVibGljOgogCiBjbGFzcyBQcm9w
ZXJ0eVdyYXBwZXJTaGFkb3cgOiBwdWJsaWMgUHJvcGVydHlXcmFwcGVyQmFzZSB7CiBwdWJsaWM6
Ci0gICAgUHJvcGVydHlXcmFwcGVyU2hhZG93KGludCBwcm9wLCBjb25zdCBTaGFkb3dEYXRhKiAo
UmVuZGVyU3R5bGU6OipnZXR0ZXIpKCkgY29uc3QsIHZvaWQgKFJlbmRlclN0eWxlOjoqc2V0dGVy
KShTaGFkb3dEYXRhKiwgYm9vbCkpCisgICAgUHJvcGVydHlXcmFwcGVyU2hhZG93KGludCBwcm9w
LCBjb25zdCBTaGFkb3dEYXRhKiAoUmVuZGVyU3R5bGU6OipnZXR0ZXIpKCkgY29uc3QsIHZvaWQg
KFJlbmRlclN0eWxlOjoqc2V0dGVyKShQYXNzT3duUHRyPFNoYWRvd0RhdGE+LCBib29sKSkKICAg
ICAgICAgOiBQcm9wZXJ0eVdyYXBwZXJCYXNlKHByb3ApCiAgICAgICAgICwgbV9nZXR0ZXIoZ2V0
dGVyKQogICAgICAgICAsIG1fc2V0dGVyKHNldHRlcikKQEAgLTM2NSw3ICszNjUsNyBAQCBwdWJs
aWM6CiAgICAgICAgIFNoYWRvd0RhdGEgZGVmYXVsdFNoYWRvd0RhdGEoMCwgMCwgMCwgMCwgTm9y
bWFsLCBwcm9wZXJ0eSgpID09IENTU1Byb3BlcnR5V2Via2l0Qm94U2hhZG93LCBDb2xvcjo6dHJh
bnNwYXJlbnQpOwogICAgICAgICBTaGFkb3dEYXRhIGRlZmF1bHRJbnNldFNoYWRvd0RhdGEoMCwg
MCwgMCwgMCwgSW5zZXQsIHByb3BlcnR5KCkgPT0gQ1NTUHJvcGVydHlXZWJraXRCb3hTaGFkb3cs
IENvbG9yOjp0cmFuc3BhcmVudCk7CiAKLSAgICAgICAgU2hhZG93RGF0YSogbmV3U2hhZG93RGF0
YSA9IDA7CisgICAgICAgIE93blB0cjxTaGFkb3dEYXRhPiBuZXdTaGFkb3dEYXRhOwogICAgICAg
ICBTaGFkb3dEYXRhKiBsYXN0U2hhZG93ID0gMDsKICAgICAgICAgCiAgICAgICAgIHdoaWxlIChz
aGFkb3dBIHx8IHNoYWRvd0IpIHsKQEAgLTM3NCw3ICszNzQsNyBAQCBwdWJsaWM6CiAKICAgICAg
ICAgICAgIFNoYWRvd0RhdGEqIGJsZW5kZWRTaGFkb3cgPSBibGVuZEZ1bmMoYW5pbSwgc3JjU2hh
ZG93LCBkc3RTaGFkb3csIHByb2dyZXNzKTsKICAgICAgICAgICAgIGlmICghbGFzdFNoYWRvdykK
LSAgICAgICAgICAgICAgICBuZXdTaGFkb3dEYXRhID0gYmxlbmRlZFNoYWRvdzsKKyAgICAgICAg
ICAgICAgICBuZXdTaGFkb3dEYXRhID0gYWRvcHRQdHIoYmxlbmRlZFNoYWRvdyk7CiAgICAgICAg
ICAgICBlbHNlCiAgICAgICAgICAgICAgICAgbGFzdFNoYWRvdy0+c2V0TmV4dChibGVuZGVkU2hh
ZG93KTsKIApAQCAtMzg0LDEyICszODQsMTIgQEAgcHVibGljOgogICAgICAgICAgICAgc2hhZG93
QiA9IHNoYWRvd0IgPyBzaGFkb3dCLT5uZXh0KCkgOiAwOwogICAgICAgICB9CiAgICAgICAgIAot
ICAgICAgICAoZHN0LT4qbV9zZXR0ZXIpKG5ld1NoYWRvd0RhdGEsIGZhbHNlKTsKKyAgICAgICAg
KGRzdC0+Km1fc2V0dGVyKShuZXdTaGFkb3dEYXRhLnJlbGVhc2UoKSwgZmFsc2UpOwogICAgIH0K
IAogcHJpdmF0ZToKICAgICBjb25zdCBTaGFkb3dEYXRhKiAoUmVuZGVyU3R5bGU6OiptX2dldHRl
cikoKSBjb25zdDsKLSAgICB2b2lkIChSZW5kZXJTdHlsZTo6Km1fc2V0dGVyKShTaGFkb3dEYXRh
KiwgYm9vbCk7CisgICAgdm9pZCAoUmVuZGVyU3R5bGU6OiptX3NldHRlcikoUGFzc093blB0cjxT
aGFkb3dEYXRhPiwgYm9vbCk7CiB9OwogCiBjbGFzcyBQcm9wZXJ0eVdyYXBwZXJNYXliZUludmFs
aWRDb2xvciA6IHB1YmxpYyBQcm9wZXJ0eVdyYXBwZXJCYXNlIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCmluZGV4IDZlNGM3ODhmMGVlMmRjM2M1
ZDA1MTM0Mjk3NTcwNjA4MWM3MDRiNDguLjVhZGQ1Y2FiMmFhNzI5N2NjMTU2NDRhMmQ1ODc3ODll
NGM0MGRlZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlLmNwcApAQCAtNzI4LDMxICs3MjgsMjkgQEAgdm9pZCBSZW5kZXJTdHlsZTo6c2V0UGFnZVNj
YWxlVHJhbnNmb3JtKGZsb2F0IHNjYWxlKQogICAgIHNldFRyYW5zZm9ybU9yaWdpblkoTGVuZ3Ro
KDAsIEZpeGVkKSk7CiB9CiAKLXZvaWQgUmVuZGVyU3R5bGU6OnNldFRleHRTaGFkb3coU2hhZG93
RGF0YSogdmFsLCBib29sIGFkZCkKK3ZvaWQgUmVuZGVyU3R5bGU6OnNldFRleHRTaGFkb3coUGFz
c093blB0cjxTaGFkb3dEYXRhPiBzaGFkb3dEYXRhLCBib29sIGFkZCkKIHsKLSAgICBBU1NFUlQo
IXZhbCB8fCAoIXZhbC0+c3ByZWFkKCkgJiYgdmFsLT5zdHlsZSgpID09IE5vcm1hbCkpOworICAg
IEFTU0VSVCghc2hhZG93RGF0YSB8fCAoIXNoYWRvd0RhdGEtPnNwcmVhZCgpICYmIHNoYWRvd0Rh
dGEtPnN0eWxlKCkgPT0gTm9ybWFsKSk7CiAKICAgICBTdHlsZVJhcmVJbmhlcml0ZWREYXRhKiBy
YXJlRGF0YSA9IHJhcmVJbmhlcml0ZWREYXRhLmFjY2VzcygpOwogICAgIGlmICghYWRkKSB7Ci0g
ICAgICAgIGRlbGV0ZSByYXJlRGF0YS0+dGV4dFNoYWRvdzsKLSAgICAgICAgcmFyZURhdGEtPnRl
eHRTaGFkb3cgPSB2YWw7CisgICAgICAgIHJhcmVEYXRhLT50ZXh0U2hhZG93ID0gc2hhZG93RGF0
YTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIHZhbC0+c2V0TmV4dChyYXJlRGF0YS0+
dGV4dFNoYWRvdyk7Ci0gICAgcmFyZURhdGEtPnRleHRTaGFkb3cgPSB2YWw7CisgICAgcmFyZURh
dGEtPnRleHRTaGFkb3cgPSBzaGFkb3dEYXRhOwogfQogCi12b2lkIFJlbmRlclN0eWxlOjpzZXRC
b3hTaGFkb3coU2hhZG93RGF0YSogc2hhZG93RGF0YSwgYm9vbCBhZGQpCit2b2lkIFJlbmRlclN0
eWxlOjpzZXRCb3hTaGFkb3coUGFzc093blB0cjxTaGFkb3dEYXRhPiBzaGFkb3dEYXRhLCBib29s
IGFkZCkKIHsKICAgICBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKiByYXJlRGF0YSA9IHJhcmVO
b25Jbmhlcml0ZWREYXRhLmFjY2VzcygpOwogICAgIGlmICghYWRkKSB7Ci0gICAgICAgIHJhcmVE
YXRhLT5tX2JveFNoYWRvdy5zZXQoc2hhZG93RGF0YSk7CisgICAgICAgIHJhcmVEYXRhLT5tX2Jv
eFNoYWRvdyA9IHNoYWRvd0RhdGE7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBzaGFk
b3dEYXRhLT5zZXROZXh0KHJhcmVEYXRhLT5tX2JveFNoYWRvdy5sZWFrUHRyKCkpOwotICAgIHJh
cmVEYXRhLT5tX2JveFNoYWRvdy5zZXQoc2hhZG93RGF0YSk7CisgICAgcmFyZURhdGEtPm1fYm94
U2hhZG93ID0gc2hhZG93RGF0YTsKIH0KIAogc3RhdGljIFJvdW5kZWRJbnRSZWN0OjpSYWRpaSBj
YWxjUmFkaWlGb3IoY29uc3QgQm9yZGVyRGF0YSYgYm9yZGVyLCBpbnQgd2lkdGgsIGludCBoZWln
aHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4
IDMyZTQxYmNmOTU5MWVkMDExY2Y0OGQ1MzczNjk3YTlhYzA3MjUyZWEuLmY2Y2MwN2NiZWZkYzBi
OWVjMGI0N2E3YjQzNzExN2FlZThlYWE5NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC02NTAsNyArNjUwLDcgQEAgcHVibGljOgogICAgICAg
ICByZXR1cm4gbV9iYWNrZ3JvdW5kLT5vdXRsaW5lKCkub2Zmc2V0KCk7CiAgICAgfQogCi0gICAg
Y29uc3QgU2hhZG93RGF0YSogdGV4dFNoYWRvdygpIGNvbnN0IHsgcmV0dXJuIHJhcmVJbmhlcml0
ZWREYXRhLT50ZXh0U2hhZG93OyB9CisgICAgY29uc3QgU2hhZG93RGF0YSogdGV4dFNoYWRvdygp
IGNvbnN0IHsgcmV0dXJuIHJhcmVJbmhlcml0ZWREYXRhLT50ZXh0U2hhZG93LmdldCgpOyB9CiAg
ICAgdm9pZCBnZXRUZXh0U2hhZG93RXh0ZW50KGludCYgdG9wLCBpbnQmIHJpZ2h0LCBpbnQmIGJv
dHRvbSwgaW50JiBsZWZ0KSBjb25zdCB7IGdldFNoYWRvd0V4dGVudCh0ZXh0U2hhZG93KCksIHRv
cCwgcmlnaHQsIGJvdHRvbSwgbGVmdCk7IH0KICAgICB2b2lkIGdldFRleHRTaGFkb3dIb3Jpem9u
dGFsRXh0ZW50KGludCYgbGVmdCwgaW50JiByaWdodCkgY29uc3QgeyBnZXRTaGFkb3dIb3Jpem9u
dGFsRXh0ZW50KHRleHRTaGFkb3coKSwgbGVmdCwgcmlnaHQpOyB9CiAgICAgdm9pZCBnZXRUZXh0
U2hhZG93VmVydGljYWxFeHRlbnQoaW50JiB0b3AsIGludCYgYm90dG9tKSBjb25zdCB7IGdldFNo
YWRvd1ZlcnRpY2FsRXh0ZW50KHRleHRTaGFkb3coKSwgdG9wLCBib3R0b20pOyB9CkBAIC0xMDE5
LDcgKzEwMTksNyBAQCBwdWJsaWM6CiAKICAgICAvLyBDU1MzIFNldHRlcnMKICAgICB2b2lkIHNl
dE91dGxpbmVPZmZzZXQoaW50IHYpIHsgU0VUX1ZBUihtX2JhY2tncm91bmQsIG1fb3V0bGluZS5t
X29mZnNldCwgdikgfQotICAgIHZvaWQgc2V0VGV4dFNoYWRvdyhTaGFkb3dEYXRhKiB2YWwsIGJv
b2wgYWRkPWZhbHNlKTsKKyAgICB2b2lkIHNldFRleHRTaGFkb3coUGFzc093blB0cjxTaGFkb3dE
YXRhPiwgYm9vbCBhZGQgPSBmYWxzZSk7CiAgICAgdm9pZCBzZXRUZXh0U3Ryb2tlQ29sb3IoY29u
c3QgQ29sb3ImIGMpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgdGV4dFN0cm9rZUNvbG9y
LCBjKSB9CiAgICAgdm9pZCBzZXRUZXh0U3Ryb2tlV2lkdGgoZmxvYXQgdykgeyBTRVRfVkFSKHJh
cmVJbmhlcml0ZWREYXRhLCB0ZXh0U3Ryb2tlV2lkdGgsIHcpIH0KICAgICB2b2lkIHNldFRleHRG
aWxsQ29sb3IoY29uc3QgQ29sb3ImIGMpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgdGV4
dEZpbGxDb2xvciwgYykgfQpAQCAtMTAzNCw3ICsxMDM0LDcgQEAgcHVibGljOgogICAgIHZvaWQg
c2V0Qm94T3JkaW5hbEdyb3VwKHVuc2lnbmVkIGludCBvZykgeyBTRVRfVkFSKHJhcmVOb25Jbmhl
cml0ZWREYXRhLmFjY2VzcygpLT5mbGV4aWJsZUJveCwgb3JkaW5hbF9ncm91cCwgb2cpOyB9CiAg
ICAgdm9pZCBzZXRCb3hPcmllbnQoRUJveE9yaWVudCBvKSB7IFNFVF9WQVIocmFyZU5vbkluaGVy
aXRlZERhdGEuYWNjZXNzKCktPmZsZXhpYmxlQm94LCBvcmllbnQsIG8pOyB9CiAgICAgdm9pZCBz
ZXRCb3hQYWNrKEVCb3hBbGlnbm1lbnQgcCkgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRh
LmFjY2VzcygpLT5mbGV4aWJsZUJveCwgcGFjaywgcCk7IH0KLSAgICB2b2lkIHNldEJveFNoYWRv
dyhTaGFkb3dEYXRhKiB2YWwsIGJvb2wgYWRkPWZhbHNlKTsKKyAgICB2b2lkIHNldEJveFNoYWRv
dyhQYXNzT3duUHRyPFNoYWRvd0RhdGE+LCBib29sIGFkZCA9IGZhbHNlKTsKICAgICB2b2lkIHNl
dEJveFJlZmxlY3QoUGFzc1JlZlB0cjxTdHlsZVJlZmxlY3Rpb24+IHJlZmxlY3QpIHsgaWYgKHJh
cmVOb25Jbmhlcml0ZWREYXRhLT5tX2JveFJlZmxlY3QgIT0gcmVmbGVjdCkgcmFyZU5vbkluaGVy
aXRlZERhdGEuYWNjZXNzKCktPm1fYm94UmVmbGVjdCA9IHJlZmxlY3Q7IH0KICAgICB2b2lkIHNl
dEJveFNpemluZyhFQm94U2l6aW5nIHMpIHsgU0VUX1ZBUihtX2JveCwgbV9ib3hTaXppbmcsIHMp
OyB9CiAgICAgdm9pZCBzZXRNYXJxdWVlSW5jcmVtZW50KGNvbnN0IExlbmd0aCYgZikgeyBTRVRf
VkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLmFjY2VzcygpLT5tYXJxdWVlLCBpbmNyZW1lbnQsIGYp
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJl
SW5oZXJpdGVkRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVS
YXJlSW5oZXJpdGVkRGF0YS5jcHAKaW5kZXggYTZhMTllYTVjMDZiZTA2NTI1OWI1OTFlYjE2MTJi
NDFiZWY1ZTBhMy4uOTQwYTBkOTk3NmJhMDdiODZiYTNjNmU2ODkzZTJjMjkyNWZmY2UzNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRl
ZERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJ
bmhlcml0ZWREYXRhLmNwcApAQCAtMzIsNyArMzIsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0eWxlUmFyZUluaGVyaXRlZERhdGEoKQogICAgIDog
dGV4dFN0cm9rZVdpZHRoKFJlbmRlclN0eWxlOjppbml0aWFsVGV4dFN0cm9rZVdpZHRoKCkpCi0g
ICAgLCB0ZXh0U2hhZG93KDApCiAgICAgLCBpbmRlbnQoUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0
SW5kZW50KCkpCiAgICAgLCBtX2VmZmVjdGl2ZVpvb20oUmVuZGVyU3R5bGU6OmluaXRpYWxab29t
KCkpCiAgICAgLCB3aWRvd3MoUmVuZGVyU3R5bGU6OmluaXRpYWxXaWRvd3MoKSkKQEAgLTY0LDcg
KzYzLDcgQEAgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YShj
b25zdCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhJiBvKQogICAgICwgdGV4dFN0cm9rZVdpZHRoKG8u
dGV4dFN0cm9rZVdpZHRoKQogICAgICwgdGV4dEZpbGxDb2xvcihvLnRleHRGaWxsQ29sb3IpCiAg
ICAgLCB0ZXh0RW1waGFzaXNDb2xvcihvLnRleHRFbXBoYXNpc0NvbG9yKQotICAgICwgdGV4dFNo
YWRvdyhvLnRleHRTaGFkb3cgPyBuZXcgU2hhZG93RGF0YSgqby50ZXh0U2hhZG93KSA6IDApCisg
ICAgLCB0ZXh0U2hhZG93KG8udGV4dFNoYWRvdyA/IGFkb3B0UHRyKG5ldyBTaGFkb3dEYXRhKCpv
LnRleHRTaGFkb3cpKSA6IDApCiAgICAgLCBoaWdobGlnaHQoby5oaWdobGlnaHQpCiAgICAgLCBj
dXJzb3JEYXRhKG8uY3Vyc29yRGF0YSkKICAgICAsIGluZGVudChvLmluZGVudCkKQEAgLTk3LDcg
Kzk2LDYgQEAgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YShj
b25zdCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhJiBvKQogCiBTdHlsZVJhcmVJbmhlcml0ZWREYXRh
Ojp+U3R5bGVSYXJlSW5oZXJpdGVkRGF0YSgpCiB7Ci0gICAgZGVsZXRlIHRleHRTaGFkb3c7CiB9
CiAKIHN0YXRpYyBib29sIGN1cnNvckRhdGFFcXVpdmFsZW50KGNvbnN0IEN1cnNvckxpc3QqIGMx
LCBjb25zdCBDdXJzb3JMaXN0KiBjMikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCmluZGV4IGJmMjhmMjk0MjEzODE0
M2FiYmYzMTc3OTFjMzgzNGQwNTFhMzA3ZTcuLmRhNDEwZjFhYzY4MjczNDFmZDM4NzhlZjJiYmY5
NWY4OWJmZDAyMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaApAQCAtNTgsNyArNTgsNyBAQCBwdWJsaWM6CiAg
ICAgQ29sb3IgdGV4dEZpbGxDb2xvcjsKICAgICBDb2xvciB0ZXh0RW1waGFzaXNDb2xvcjsKIAot
ICAgIFNoYWRvd0RhdGEqIHRleHRTaGFkb3c7IC8vIE91ciB0ZXh0IHNoYWRvdyBpbmZvcm1hdGlv
biBmb3Igc2hhZG93ZWQgdGV4dCBkcmF3aW5nLgorICAgIE93blB0cjxTaGFkb3dEYXRhPiB0ZXh0
U2hhZG93OyAvLyBPdXIgdGV4dCBzaGFkb3cgaW5mb3JtYXRpb24gZm9yIHNoYWRvd2VkIHRleHQg
ZHJhd2luZy4KICAgICBBdG9taWNTdHJpbmcgaGlnaGxpZ2h0OyAvLyBBcHBsZS1zcGVjaWZpYyBl
eHRlbnNpb24gZm9yIGN1c3RvbSBoaWdobGlnaHQgcmVuZGVyaW5nLgogICAgIAogICAgIFJlZlB0
cjxDdXJzb3JMaXN0PiBjdXJzb3JEYXRhOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCmluZGV4IDM3
NzFmMTM4OTliMGIyMmE4MTcwNTExNDU5ZDkwNDc2Y2NkYWZjZmUuLmQ4NTIzNWMzM2JjOTc4NzY1
ZDExNzZkMjEyODYzOWYyMjkxMGI5ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKQEAgLTM0
LDggKzM0LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0
YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSgpCiAgICAgOiBsaW5lQ2xhbXAoUmVuZGVyU3R5
bGU6OmluaXRpYWxMaW5lQ2xhbXAoKSkKICAgICAsIG9wYWNpdHkoUmVuZGVyU3R5bGU6OmluaXRp
YWxPcGFjaXR5KCkpCi0gICAgLCBtX2NvbnRlbnQoMCkKLSAgICAsIG1fY291bnRlckRpcmVjdGl2
ZXMoMCkKICAgICAsIHVzZXJEcmFnKFJlbmRlclN0eWxlOjppbml0aWFsVXNlckRyYWcoKSkKICAg
ICAsIHRleHRPdmVyZmxvdyhSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRPdmVyZmxvdygpKQogICAg
ICwgbWFyZ2luQmVmb3JlQ29sbGFwc2UoTUNPTExBUFNFKQpAQCAtNDksOSArNDcsNiBAQCBTdHls
ZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKCkKICNpZiBV
U0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgLCBtX3J1bm5pbmdBY2NlbGVyYXRlZEFu
aW1hdGlvbihmYWxzZSkKICNlbmRpZgotICAgICwgbV9ib3hTaGFkb3coMCkKLSAgICAsIG1fYW5p
bWF0aW9ucygwKQotICAgICwgbV90cmFuc2l0aW9ucygwKQogICAgICwgbV9tYXNrKEZpbGxMYXll
cihNYXNrRmlsbExheWVyKSkKICAgICAsIG1fdHJhbnNmb3JtU3R5bGUzRChSZW5kZXJTdHlsZTo6
aW5pdGlhbFRyYW5zZm9ybVN0eWxlM0QoKSkKICAgICAsIG1fYmFja2ZhY2VWaXNpYmlsaXR5KFJl
bmRlclN0eWxlOjppbml0aWFsQmFja2ZhY2VWaXNpYmlsaXR5KCkpCkBAIC03MSw4ICs2Niw2IEBA
IFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEoY29u
c3QgU3R5bGVSYXJlTm9uSW5oZXJpdGVkCiAgICAgLCBtYXJxdWVlKG8ubWFycXVlZSkKICAgICAs
IG1fbXVsdGlDb2woby5tX211bHRpQ29sKQogICAgICwgbV90cmFuc2Zvcm0oby5tX3RyYW5zZm9y
bSkKLSAgICAsIG1fY29udGVudCgwKQotICAgICwgbV9jb3VudGVyRGlyZWN0aXZlcygwKQogICAg
ICwgdXNlckRyYWcoby51c2VyRHJhZykKICAgICAsIHRleHRPdmVyZmxvdyhvLnRleHRPdmVyZmxv
dykKICAgICAsIG1hcmdpbkJlZm9yZUNvbGxhcHNlKG8ubWFyZ2luQmVmb3JlQ29sbGFwc2UpCkBA
IC04NiwxMCArNzksMTAgQEAgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9u
SW5oZXJpdGVkRGF0YShjb25zdCBTdHlsZVJhcmVOb25Jbmhlcml0ZWQKICNpZiBVU0UoQUNDRUxF
UkFURURfQ09NUE9TSVRJTkcpCiAgICAgLCBtX3J1bm5pbmdBY2NlbGVyYXRlZEFuaW1hdGlvbihv
Lm1fcnVubmluZ0FjY2VsZXJhdGVkQW5pbWF0aW9uKQogI2VuZGlmCi0gICAgLCBtX2JveFNoYWRv
dyhvLm1fYm94U2hhZG93ID8gbmV3IFNoYWRvd0RhdGEoKm8ubV9ib3hTaGFkb3cpIDogMCkKKyAg
ICAsIG1fYm94U2hhZG93KG8ubV9ib3hTaGFkb3cgPyBhZG9wdFB0cihuZXcgU2hhZG93RGF0YSgq
by5tX2JveFNoYWRvdykpIDogUGFzc093blB0cjxTaGFkb3dEYXRhPigpKQogICAgICwgbV9ib3hS
ZWZsZWN0KG8ubV9ib3hSZWZsZWN0KQotICAgICwgbV9hbmltYXRpb25zKG8ubV9hbmltYXRpb25z
ID8gbmV3IEFuaW1hdGlvbkxpc3QoKm8ubV9hbmltYXRpb25zKSA6IDApCi0gICAgLCBtX3RyYW5z
aXRpb25zKG8ubV90cmFuc2l0aW9ucyA/IG5ldyBBbmltYXRpb25MaXN0KCpvLm1fdHJhbnNpdGlv
bnMpIDogMCkKKyAgICAsIG1fYW5pbWF0aW9ucyhvLm1fYW5pbWF0aW9ucyA/IGFkb3B0UHRyKG5l
dyBBbmltYXRpb25MaXN0KCpvLm1fYW5pbWF0aW9ucykpIDogUGFzc093blB0cjxBbmltYXRpb25M
aXN0PigpKQorICAgICwgbV90cmFuc2l0aW9ucyhvLm1fdHJhbnNpdGlvbnMgPyBhZG9wdFB0cihu
ZXcgQW5pbWF0aW9uTGlzdCgqby5tX3RyYW5zaXRpb25zKSkgOiBQYXNzT3duUHRyPEFuaW1hdGlv
bkxpc3Q+KCkpCiAgICAgLCBtX21hc2soby5tX21hc2spCiAgICAgLCBtX21hc2tCb3hJbWFnZShv
Lm1fbWFza0JveEltYWdlKQogICAgICwgbV90cmFuc2Zvcm1TdHlsZTNEKG8ubV90cmFuc2Zvcm1T
dHlsZTNEKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91178</attachid>
            <date>2011-04-26 16:43:13 -0700</date>
            <delta_ts>2011-04-27 00:04:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59377-20110426164311.patch</filename>
            <type>text/plain</type>
            <size>20334</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQ5MzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzYzgzZmFhYjE1M2ZiODg3
ODlmNWM0NzhmNDFjNjE3ZDJjMTNkZmZjLi5mMmI5NWFmNDU5MTBmYmMzYTZmNjFhYWFkZDUxNmE1
MDEwYTM0MGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTEtMDQtMjYgIEphbWVz
IFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggT3duUHRyIHN0cmljdCBlcnJvcnMgaW4gUmVu
ZGVyU3R5bGUgYW5kIG1ha2UgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6dGV4dFNoYWRvdyBhbiBP
d25QdHIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5
Mzc3CisKKyAgICAgICAgVGhpcyBjbGVhbnMgdXAgc29tZSBzdHJpY3QgT3duUHRyPD4gdmlvbGF0
aW9ucyBhcm91bmQgdGV4dCBhbmQgYm94IHNoYWRvdyBkYXRhLiAgU2hhZG93RGF0YSdzIGxpbmtl
ZCBsaXN0IGRhdGEKKyAgICAgICAgc3RydWN0dXJlIG5vdyB1c2VzIE93blB0cjw+cyB0byBtYW5h
Z2UgbWVtb3J5IC0gZWFjaCBlbnRyeSBpbiB0aGUgbGlzdCBoYXMgb3duZXJzaGlwIG9mIHRoZSBu
ZXh0IFNoYWRvd0RhdGEuCisKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KToKKyAgICAg
ICAgKiBwYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmJsZW5kRnVuYyk6CisgICAgICAgIChXZWJDb3JlOjpQcm9wZXJ0eVdyYXBwZXJTaGFkb3c6OlBy
b3BlcnR5V3JhcHBlclNoYWRvdyk6CisgICAgICAgIChXZWJDb3JlOjpQcm9wZXJ0eVdyYXBwZXJT
aGFkb3c6OmJsZW5kKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNldFRleHRTaGFkb3cpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNldEJveFNoYWRvdyk6CisgICAgICAgICogcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFn
czo6dGV4dFNoYWRvdyk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93RGF0YTo6U2hhZG93RGF0YSk6CisgICAgICAgICog
cmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd0Rh
dGE6OlNoYWRvd0RhdGEpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93RGF0YTo6bmV4dCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTaGFkb3dEYXRhOjpzZXROZXh0KToKKyAgICAgICAgKiByZW5kZXJp
bmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZVJhcmVJbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhKToKKyAgICAgICAg
KFdlYkNvcmU6OlN0eWxlUmFyZUluaGVyaXRlZERhdGE6On5TdHlsZVJhcmVJbmhlcml0ZWREYXRh
KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OlN0eWxlUmFyZU5v
bkluaGVyaXRlZERhdGEpOgorCiAyMDExLTA0LTI1ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggZmYzOWFiMjFjZDYxMTBlOGNmYTZiZGFl
MWVjOTBmOTE0OTk4NmFhNi4uMTBkYTE5NDQ2MDU3MDFmMGMyNjBkYjkwZGE0MTNlNTAyZDk1MWY3
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtNTE0NCwxMSAr
NTE0NCwxMSBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkoaW50IGlkLCBD
U1NWYWx1ZSAqdmFsdWUpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJveFNoYWRvdzogewog
ICAgICAgICBpZiAoaXNJbmhlcml0KSB7CiAgICAgICAgICAgICBpZiAoaWQgPT0gQ1NTUHJvcGVy
dHlUZXh0U2hhZG93KQotICAgICAgICAgICAgICAgIHJldHVybiBtX3N0eWxlLT5zZXRUZXh0U2hh
ZG93KG1fcGFyZW50U3R5bGUtPnRleHRTaGFkb3coKSA/IG5ldyBTaGFkb3dEYXRhKCptX3BhcmVu
dFN0eWxlLT50ZXh0U2hhZG93KCkpIDogMCk7Ci0gICAgICAgICAgICByZXR1cm4gbV9zdHlsZS0+
c2V0Qm94U2hhZG93KG1fcGFyZW50U3R5bGUtPmJveFNoYWRvdygpID8gbmV3IFNoYWRvd0RhdGEo
Km1fcGFyZW50U3R5bGUtPmJveFNoYWRvdygpKSA6IDApOworICAgICAgICAgICAgICAgIHJldHVy
biBtX3N0eWxlLT5zZXRUZXh0U2hhZG93KG1fcGFyZW50U3R5bGUtPnRleHRTaGFkb3coKSA/IGFk
b3B0UHRyKG5ldyBTaGFkb3dEYXRhKCptX3BhcmVudFN0eWxlLT50ZXh0U2hhZG93KCkpKSA6IFBh
c3NPd25QdHI8U2hhZG93RGF0YT4oKSk7CisgICAgICAgICAgICByZXR1cm4gbV9zdHlsZS0+c2V0
Qm94U2hhZG93KG1fcGFyZW50U3R5bGUtPmJveFNoYWRvdygpID8gYWRvcHRQdHIobmV3IFNoYWRv
d0RhdGEoKm1fcGFyZW50U3R5bGUtPmJveFNoYWRvdygpKSkgOiBQYXNzT3duUHRyPFNoYWRvd0Rh
dGE+KCkpOwogICAgICAgICB9CiAgICAgICAgIGlmIChpc0luaXRpYWwgfHwgcHJpbWl0aXZlVmFs
dWUpIC8vIGluaXRpYWwgfCBub25lCi0gICAgICAgICAgICByZXR1cm4gaWQgPT0gQ1NTUHJvcGVy
dHlUZXh0U2hhZG93ID8gbV9zdHlsZS0+c2V0VGV4dFNoYWRvdygwKSA6IG1fc3R5bGUtPnNldEJv
eFNoYWRvdygwKTsKKyAgICAgICAgICAgIHJldHVybiBpZCA9PSBDU1NQcm9wZXJ0eVRleHRTaGFk
b3cgPyBtX3N0eWxlLT5zZXRUZXh0U2hhZG93KFBhc3NPd25QdHI8U2hhZG93RGF0YT4oKSkgOiBt
X3N0eWxlLT5zZXRCb3hTaGFkb3coUGFzc093blB0cjxTaGFkb3dEYXRhPigpKTsKIAogICAgICAg
ICBpZiAoIXZhbHVlLT5pc1ZhbHVlTGlzdCgpKQogICAgICAgICAgICAgcmV0dXJuOwpAQCAtNTE2
OCwxMSArNTE2OCwxMSBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkoaW50
IGlkLCBDU1NWYWx1ZSAqdmFsdWUpCiAgICAgICAgICAgICBDb2xvciBjb2xvcjsKICAgICAgICAg
ICAgIGlmIChpdGVtLT5jb2xvcikKICAgICAgICAgICAgICAgICBjb2xvciA9IGdldENvbG9yRnJv
bVByaW1pdGl2ZVZhbHVlKGl0ZW0tPmNvbG9yLmdldCgpKTsKLSAgICAgICAgICAgIFNoYWRvd0Rh
dGEqIHNoYWRvd0RhdGEgPSBuZXcgU2hhZG93RGF0YSh4LCB5LCBibHVyLCBzcHJlYWQsIHNoYWRv
d1N0eWxlLCBpZCA9PSBDU1NQcm9wZXJ0eVdlYmtpdEJveFNoYWRvdywgY29sb3IuaXNWYWxpZCgp
ID8gY29sb3IgOiBDb2xvcjo6dHJhbnNwYXJlbnQpOworICAgICAgICAgICAgT3duUHRyPFNoYWRv
d0RhdGE+IHNoYWRvd0RhdGEgPSBhZG9wdFB0cihuZXcgU2hhZG93RGF0YSh4LCB5LCBibHVyLCBz
cHJlYWQsIHNoYWRvd1N0eWxlLCBpZCA9PSBDU1NQcm9wZXJ0eVdlYmtpdEJveFNoYWRvdywgY29s
b3IuaXNWYWxpZCgpID8gY29sb3IgOiBDb2xvcjo6dHJhbnNwYXJlbnQpKTsKICAgICAgICAgICAg
IGlmIChpZCA9PSBDU1NQcm9wZXJ0eVRleHRTaGFkb3cpCi0gICAgICAgICAgICAgICAgbV9zdHls
ZS0+c2V0VGV4dFNoYWRvdyhzaGFkb3dEYXRhLCBpICE9IDApOworICAgICAgICAgICAgICAgIG1f
c3R5bGUtPnNldFRleHRTaGFkb3coc2hhZG93RGF0YS5yZWxlYXNlKCksIGkgLyogYWRkIHRvIHRo
ZSBsaXN0IGlmIHRoaXMgaXMgbm90IHRoZSBmaXJzdHkgZW50cnkgKi8pOwogICAgICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgICAgIG1fc3R5bGUtPnNldEJveFNoYWRvdyhzaGFkb3dEYXRhLCBp
ICE9IDApOworICAgICAgICAgICAgICAgIG1fc3R5bGUtPnNldEJveFNoYWRvdyhzaGFkb3dEYXRh
LnJlbGVhc2UoKSwgaSAvKiBhZGQgdG8gdGhlIGxpc3QgaWYgdGhpcyBpcyBub3QgdGhlIGZpcnN0
eSBlbnRyeSAqLyk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKaW5kZXggN2Q4ZjIx
OGJhMTJmNzVkOGRmOTUzOGY0ZTNjNTZhOThiMTdmNDJlYS4uMDBhMTVlODJmODNjMmVkNTg4NTll
ODQyMGNlMjJhNzc5NmQxODVhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRp
b24vQW5pbWF0aW9uQmFzZS5jcHAKQEAgLTEzOSwxOSArMTM5LDE5IEBAIHN0YXRpYyBpbmxpbmUg
U2hhZG93U3R5bGUgYmxlbmRGdW5jKGNvbnN0IEFuaW1hdGlvbkJhc2UqIGFuaW0sIFNoYWRvd1N0
eWxlIGZyb20sCiAgICAgcmV0dXJuIHJlc3VsdCA+IDAgPyBOb3JtYWwgOiBJbnNldDsKIH0KIAot
c3RhdGljIGlubGluZSBTaGFkb3dEYXRhKiBibGVuZEZ1bmMoY29uc3QgQW5pbWF0aW9uQmFzZSog
YW5pbSwgY29uc3QgU2hhZG93RGF0YSogZnJvbSwgY29uc3QgU2hhZG93RGF0YSogdG8sIGRvdWJs
ZSBwcm9ncmVzcykKK3N0YXRpYyBpbmxpbmUgUGFzc093blB0cjxTaGFkb3dEYXRhPiBibGVuZEZ1
bmMoY29uc3QgQW5pbWF0aW9uQmFzZSogYW5pbSwgY29uc3QgU2hhZG93RGF0YSogZnJvbSwgY29u
c3QgU2hhZG93RGF0YSogdG8sIGRvdWJsZSBwcm9ncmVzcykKIHsgIAogICAgIEFTU0VSVChmcm9t
ICYmIHRvKTsKICAgICBpZiAoZnJvbS0+c3R5bGUoKSAhPSB0by0+c3R5bGUoKSkKLSAgICAgICAg
cmV0dXJuIG5ldyBTaGFkb3dEYXRhKCp0byk7Ci0KLSAgICByZXR1cm4gbmV3IFNoYWRvd0RhdGEo
YmxlbmRGdW5jKGFuaW0sIGZyb20tPngoKSwgdG8tPngoKSwgcHJvZ3Jlc3MpLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICBibGVuZEZ1bmMoYW5pbSwgZnJvbS0+eSgpLCB0by0+eSgpLCBwcm9n
cmVzcyksIAotICAgICAgICAgICAgICAgICAgICAgICAgICBibGVuZEZ1bmMoYW5pbSwgZnJvbS0+
Ymx1cigpLCB0by0+Ymx1cigpLCBwcm9ncmVzcyksCi0gICAgICAgICAgICAgICAgICAgICAgICAg
IGJsZW5kRnVuYyhhbmltLCBmcm9tLT5zcHJlYWQoKSwgdG8tPnNwcmVhZCgpLCBwcm9ncmVzcyks
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIGJsZW5kRnVuYyhhbmltLCBmcm9tLT5zdHlsZSgp
LCB0by0+c3R5bGUoKSwgcHJvZ3Jlc3MpLAotICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9t
LT5pc1dlYmtpdEJveFNoYWRvdygpLAotICAgICAgICAgICAgICAgICAgICAgICAgICBibGVuZEZ1
bmMoYW5pbSwgZnJvbS0+Y29sb3IoKSwgdG8tPmNvbG9yKCksIHByb2dyZXNzKSk7CisgICAgICAg
IHJldHVybiBhZG9wdFB0cihuZXcgU2hhZG93RGF0YSgqdG8pKTsKKworICAgIHJldHVybiBhZG9w
dFB0cihuZXcgU2hhZG93RGF0YShibGVuZEZ1bmMoYW5pbSwgZnJvbS0+eCgpLCB0by0+eCgpLCBw
cm9ncmVzcyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsZW5kRnVuYyhh
bmltLCBmcm9tLT55KCksIHRvLT55KCksIHByb2dyZXNzKSwgCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJsZW5kRnVuYyhhbmltLCBmcm9tLT5ibHVyKCksIHRvLT5ibHVyKCks
IHByb2dyZXNzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxlbmRGdW5j
KGFuaW0sIGZyb20tPnNwcmVhZCgpLCB0by0+c3ByZWFkKCksIHByb2dyZXNzKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxlbmRGdW5jKGFuaW0sIGZyb20tPnN0eWxlKCks
IHRvLT5zdHlsZSgpLCBwcm9ncmVzcyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZyb20tPmlzV2Via2l0Qm94U2hhZG93KCksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGJsZW5kRnVuYyhhbmltLCBmcm9tLT5jb2xvcigpLCB0by0+Y29sb3IoKSwgcHJv
Z3Jlc3MpKSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgVHJhbnNmb3JtT3BlcmF0aW9ucyBibGVuZEZ1
bmMoY29uc3QgQW5pbWF0aW9uQmFzZSogYW5pbSwgY29uc3QgVHJhbnNmb3JtT3BlcmF0aW9ucyYg
ZnJvbSwgY29uc3QgVHJhbnNmb3JtT3BlcmF0aW9ucyYgdG8sIGRvdWJsZSBwcm9ncmVzcykKQEAg
LTMyOSw3ICszMjksNyBAQCBwdWJsaWM6CiAKIGNsYXNzIFByb3BlcnR5V3JhcHBlclNoYWRvdyA6
IHB1YmxpYyBQcm9wZXJ0eVdyYXBwZXJCYXNlIHsKIHB1YmxpYzoKLSAgICBQcm9wZXJ0eVdyYXBw
ZXJTaGFkb3coaW50IHByb3AsIGNvbnN0IFNoYWRvd0RhdGEqIChSZW5kZXJTdHlsZTo6KmdldHRl
cikoKSBjb25zdCwgdm9pZCAoUmVuZGVyU3R5bGU6OipzZXR0ZXIpKFNoYWRvd0RhdGEqLCBib29s
KSkKKyAgICBQcm9wZXJ0eVdyYXBwZXJTaGFkb3coaW50IHByb3AsIGNvbnN0IFNoYWRvd0RhdGEq
IChSZW5kZXJTdHlsZTo6KmdldHRlcikoKSBjb25zdCwgdm9pZCAoUmVuZGVyU3R5bGU6OipzZXR0
ZXIpKFBhc3NPd25QdHI8U2hhZG93RGF0YT4sIGJvb2wpKQogICAgICAgICA6IFByb3BlcnR5V3Jh
cHBlckJhc2UocHJvcCkKICAgICAgICAgLCBtX2dldHRlcihnZXR0ZXIpCiAgICAgICAgICwgbV9z
ZXR0ZXIoc2V0dGVyKQpAQCAtMzY1LDMxICszNjUsMzMgQEAgcHVibGljOgogICAgICAgICBTaGFk
b3dEYXRhIGRlZmF1bHRTaGFkb3dEYXRhKDAsIDAsIDAsIDAsIE5vcm1hbCwgcHJvcGVydHkoKSA9
PSBDU1NQcm9wZXJ0eVdlYmtpdEJveFNoYWRvdywgQ29sb3I6OnRyYW5zcGFyZW50KTsKICAgICAg
ICAgU2hhZG93RGF0YSBkZWZhdWx0SW5zZXRTaGFkb3dEYXRhKDAsIDAsIDAsIDAsIEluc2V0LCBw
cm9wZXJ0eSgpID09IENTU1Byb3BlcnR5V2Via2l0Qm94U2hhZG93LCBDb2xvcjo6dHJhbnNwYXJl
bnQpOwogCi0gICAgICAgIFNoYWRvd0RhdGEqIG5ld1NoYWRvd0RhdGEgPSAwOworICAgICAgICBP
d25QdHI8U2hhZG93RGF0YT4gbmV3U2hhZG93RGF0YTsKICAgICAgICAgU2hhZG93RGF0YSogbGFz
dFNoYWRvdyA9IDA7CiAgICAgICAgIAogICAgICAgICB3aGlsZSAoc2hhZG93QSB8fCBzaGFkb3dC
KSB7CiAgICAgICAgICAgICBjb25zdCBTaGFkb3dEYXRhKiBzcmNTaGFkb3cgPSBzaGFkb3dBID8g
c2hhZG93QSA6IChzaGFkb3dCLT5zdHlsZSgpID09IEluc2V0ID8gJmRlZmF1bHRJbnNldFNoYWRv
d0RhdGEgOiAmZGVmYXVsdFNoYWRvd0RhdGEpOwogICAgICAgICAgICAgY29uc3QgU2hhZG93RGF0
YSogZHN0U2hhZG93ID0gc2hhZG93QiA/IHNoYWRvd0IgOiAoc2hhZG93QS0+c3R5bGUoKSA9PSBJ
bnNldCA/ICZkZWZhdWx0SW5zZXRTaGFkb3dEYXRhIDogJmRlZmF1bHRTaGFkb3dEYXRhKTsKIAot
ICAgICAgICAgICAgU2hhZG93RGF0YSogYmxlbmRlZFNoYWRvdyA9IGJsZW5kRnVuYyhhbmltLCBz
cmNTaGFkb3csIGRzdFNoYWRvdywgcHJvZ3Jlc3MpOworICAgICAgICAgICAgT3duUHRyPFNoYWRv
d0RhdGE+IGJsZW5kZWRTaGFkb3cgPSBibGVuZEZ1bmMoYW5pbSwgc3JjU2hhZG93LCBkc3RTaGFk
b3csIHByb2dyZXNzKTsKKyAgICAgICAgICAgIFNoYWRvd0RhdGEqIGJsZW5kZWRTaGFkb3dQdHIg
PSBibGVuZGVkU2hhZG93LmdldCgpOworCiAgICAgICAgICAgICBpZiAoIWxhc3RTaGFkb3cpCi0g
ICAgICAgICAgICAgICAgbmV3U2hhZG93RGF0YSA9IGJsZW5kZWRTaGFkb3c7CisgICAgICAgICAg
ICAgICAgbmV3U2hhZG93RGF0YSA9IGJsZW5kZWRTaGFkb3cucmVsZWFzZSgpOwogICAgICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgICAgIGxhc3RTaGFkb3ctPnNldE5leHQoYmxlbmRlZFNoYWRv
dyk7Ci0KLSAgICAgICAgICAgIGxhc3RTaGFkb3cgPSBibGVuZGVkU2hhZG93OworICAgICAgICAg
ICAgICAgIGxhc3RTaGFkb3ctPnNldE5leHQoYmxlbmRlZFNoYWRvdy5yZWxlYXNlKCkpOworICAg
ICAgICAgICAgCisgICAgICAgICAgICBsYXN0U2hhZG93ID0gYmxlbmRlZFNoYWRvd1B0cjsKIAog
ICAgICAgICAgICAgc2hhZG93QSA9IHNoYWRvd0EgPyBzaGFkb3dBLT5uZXh0KCkgOiAwOwogICAg
ICAgICAgICAgc2hhZG93QiA9IHNoYWRvd0IgPyBzaGFkb3dCLT5uZXh0KCkgOiAwOwogICAgICAg
ICB9CiAgICAgICAgIAotICAgICAgICAoZHN0LT4qbV9zZXR0ZXIpKG5ld1NoYWRvd0RhdGEsIGZh
bHNlKTsKKyAgICAgICAgKGRzdC0+Km1fc2V0dGVyKShuZXdTaGFkb3dEYXRhLnJlbGVhc2UoKSwg
ZmFsc2UpOwogICAgIH0KIAogcHJpdmF0ZToKICAgICBjb25zdCBTaGFkb3dEYXRhKiAoUmVuZGVy
U3R5bGU6OiptX2dldHRlcikoKSBjb25zdDsKLSAgICB2b2lkIChSZW5kZXJTdHlsZTo6Km1fc2V0
dGVyKShTaGFkb3dEYXRhKiwgYm9vbCk7CisgICAgdm9pZCAoUmVuZGVyU3R5bGU6OiptX3NldHRl
cikoUGFzc093blB0cjxTaGFkb3dEYXRhPiwgYm9vbCk7CiB9OwogCiBjbGFzcyBQcm9wZXJ0eVdy
YXBwZXJNYXliZUludmFsaWRDb2xvciA6IHB1YmxpYyBQcm9wZXJ0eVdyYXBwZXJCYXNlIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCmluZGV4IDZl
NGM3ODhmMGVlMmRjM2M1ZDA1MTM0Mjk3NTcwNjA4MWM3MDRiNDguLjdkODY2M2E5ODc4ZWM1NzI2
Yzc2NjU5NmQ4OWU3YWQ3MThiNmMzOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmNwcApAQCAtNzI4LDMxICs3MjgsMzAgQEAgdm9pZCBSZW5kZXJT
dHlsZTo6c2V0UGFnZVNjYWxlVHJhbnNmb3JtKGZsb2F0IHNjYWxlKQogICAgIHNldFRyYW5zZm9y
bU9yaWdpblkoTGVuZ3RoKDAsIEZpeGVkKSk7CiB9CiAKLXZvaWQgUmVuZGVyU3R5bGU6OnNldFRl
eHRTaGFkb3coU2hhZG93RGF0YSogdmFsLCBib29sIGFkZCkKK3ZvaWQgUmVuZGVyU3R5bGU6OnNl
dFRleHRTaGFkb3coUGFzc093blB0cjxTaGFkb3dEYXRhPiBzaGFkb3dEYXRhLCBib29sIGFkZCkK
IHsKLSAgICBBU1NFUlQoIXZhbCB8fCAoIXZhbC0+c3ByZWFkKCkgJiYgdmFsLT5zdHlsZSgpID09
IE5vcm1hbCkpOworICAgIEFTU0VSVCghc2hhZG93RGF0YSB8fCAoIXNoYWRvd0RhdGEtPnNwcmVh
ZCgpICYmIHNoYWRvd0RhdGEtPnN0eWxlKCkgPT0gTm9ybWFsKSk7CiAKICAgICBTdHlsZVJhcmVJ
bmhlcml0ZWREYXRhKiByYXJlRGF0YSA9IHJhcmVJbmhlcml0ZWREYXRhLmFjY2VzcygpOwogICAg
IGlmICghYWRkKSB7Ci0gICAgICAgIGRlbGV0ZSByYXJlRGF0YS0+dGV4dFNoYWRvdzsKLSAgICAg
ICAgcmFyZURhdGEtPnRleHRTaGFkb3cgPSB2YWw7CisgICAgICAgIHJhcmVEYXRhLT50ZXh0U2hh
ZG93ID0gc2hhZG93RGF0YTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIHZhbC0+c2V0
TmV4dChyYXJlRGF0YS0+dGV4dFNoYWRvdyk7Ci0gICAgcmFyZURhdGEtPnRleHRTaGFkb3cgPSB2
YWw7CisgICAgc2hhZG93RGF0YS0+c2V0TmV4dChyYXJlRGF0YS0+dGV4dFNoYWRvdy5yZWxlYXNl
KCkpOworICAgIHJhcmVEYXRhLT50ZXh0U2hhZG93ID0gc2hhZG93RGF0YTsKIH0KIAotdm9pZCBS
ZW5kZXJTdHlsZTo6c2V0Qm94U2hhZG93KFNoYWRvd0RhdGEqIHNoYWRvd0RhdGEsIGJvb2wgYWRk
KQordm9pZCBSZW5kZXJTdHlsZTo6c2V0Qm94U2hhZG93KFBhc3NPd25QdHI8U2hhZG93RGF0YT4g
c2hhZG93RGF0YSwgYm9vbCBhZGQpCiB7CiAgICAgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSog
cmFyZURhdGEgPSByYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKTsKICAgICBpZiAoIWFkZCkg
ewotICAgICAgICByYXJlRGF0YS0+bV9ib3hTaGFkb3cuc2V0KHNoYWRvd0RhdGEpOworICAgICAg
ICByYXJlRGF0YS0+bV9ib3hTaGFkb3cgPSBzaGFkb3dEYXRhOwogICAgICAgICByZXR1cm47CiAg
ICAgfQogCi0gICAgc2hhZG93RGF0YS0+c2V0TmV4dChyYXJlRGF0YS0+bV9ib3hTaGFkb3cubGVh
a1B0cigpKTsKLSAgICByYXJlRGF0YS0+bV9ib3hTaGFkb3cuc2V0KHNoYWRvd0RhdGEpOworICAg
IHNoYWRvd0RhdGEtPnNldE5leHQocmFyZURhdGEtPm1fYm94U2hhZG93LnJlbGVhc2UoKSk7Cisg
ICAgcmFyZURhdGEtPm1fYm94U2hhZG93ID0gc2hhZG93RGF0YTsKIH0KIAogc3RhdGljIFJvdW5k
ZWRJbnRSZWN0OjpSYWRpaSBjYWxjUmFkaWlGb3IoY29uc3QgQm9yZGVyRGF0YSYgYm9yZGVyLCBp
bnQgd2lkdGgsIGludCBoZWlnaHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5oCmluZGV4IDMyZTQxYmNmOTU5MWVkMDExY2Y0OGQ1MzczNjk3YTlhYzA3MjUy
ZWEuLmY2Y2MwN2NiZWZkYzBiOWVjMGI0N2E3YjQzNzExN2FlZThlYWE5NmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC02NTAsNyArNjUwLDcg
QEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV9iYWNrZ3JvdW5kLT5vdXRsaW5lKCkub2Zmc2V0
KCk7CiAgICAgfQogCi0gICAgY29uc3QgU2hhZG93RGF0YSogdGV4dFNoYWRvdygpIGNvbnN0IHsg
cmV0dXJuIHJhcmVJbmhlcml0ZWREYXRhLT50ZXh0U2hhZG93OyB9CisgICAgY29uc3QgU2hhZG93
RGF0YSogdGV4dFNoYWRvdygpIGNvbnN0IHsgcmV0dXJuIHJhcmVJbmhlcml0ZWREYXRhLT50ZXh0
U2hhZG93LmdldCgpOyB9CiAgICAgdm9pZCBnZXRUZXh0U2hhZG93RXh0ZW50KGludCYgdG9wLCBp
bnQmIHJpZ2h0LCBpbnQmIGJvdHRvbSwgaW50JiBsZWZ0KSBjb25zdCB7IGdldFNoYWRvd0V4dGVu
dCh0ZXh0U2hhZG93KCksIHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCk7IH0KICAgICB2b2lkIGdl
dFRleHRTaGFkb3dIb3Jpem9udGFsRXh0ZW50KGludCYgbGVmdCwgaW50JiByaWdodCkgY29uc3Qg
eyBnZXRTaGFkb3dIb3Jpem9udGFsRXh0ZW50KHRleHRTaGFkb3coKSwgbGVmdCwgcmlnaHQpOyB9
CiAgICAgdm9pZCBnZXRUZXh0U2hhZG93VmVydGljYWxFeHRlbnQoaW50JiB0b3AsIGludCYgYm90
dG9tKSBjb25zdCB7IGdldFNoYWRvd1ZlcnRpY2FsRXh0ZW50KHRleHRTaGFkb3coKSwgdG9wLCBi
b3R0b20pOyB9CkBAIC0xMDE5LDcgKzEwMTksNyBAQCBwdWJsaWM6CiAKICAgICAvLyBDU1MzIFNl
dHRlcnMKICAgICB2b2lkIHNldE91dGxpbmVPZmZzZXQoaW50IHYpIHsgU0VUX1ZBUihtX2JhY2tn
cm91bmQsIG1fb3V0bGluZS5tX29mZnNldCwgdikgfQotICAgIHZvaWQgc2V0VGV4dFNoYWRvdyhT
aGFkb3dEYXRhKiB2YWwsIGJvb2wgYWRkPWZhbHNlKTsKKyAgICB2b2lkIHNldFRleHRTaGFkb3co
UGFzc093blB0cjxTaGFkb3dEYXRhPiwgYm9vbCBhZGQgPSBmYWxzZSk7CiAgICAgdm9pZCBzZXRU
ZXh0U3Ryb2tlQ29sb3IoY29uc3QgQ29sb3ImIGMpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0
YSwgdGV4dFN0cm9rZUNvbG9yLCBjKSB9CiAgICAgdm9pZCBzZXRUZXh0U3Ryb2tlV2lkdGgoZmxv
YXQgdykgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCB0ZXh0U3Ryb2tlV2lkdGgsIHcpIH0K
ICAgICB2b2lkIHNldFRleHRGaWxsQ29sb3IoY29uc3QgQ29sb3ImIGMpIHsgU0VUX1ZBUihyYXJl
SW5oZXJpdGVkRGF0YSwgdGV4dEZpbGxDb2xvciwgYykgfQpAQCAtMTAzNCw3ICsxMDM0LDcgQEAg
cHVibGljOgogICAgIHZvaWQgc2V0Qm94T3JkaW5hbEdyb3VwKHVuc2lnbmVkIGludCBvZykgeyBT
RVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLmFjY2VzcygpLT5mbGV4aWJsZUJveCwgb3JkaW5h
bF9ncm91cCwgb2cpOyB9CiAgICAgdm9pZCBzZXRCb3hPcmllbnQoRUJveE9yaWVudCBvKSB7IFNF
VF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEuYWNjZXNzKCktPmZsZXhpYmxlQm94LCBvcmllbnQs
IG8pOyB9CiAgICAgdm9pZCBzZXRCb3hQYWNrKEVCb3hBbGlnbm1lbnQgcCkgeyBTRVRfVkFSKHJh
cmVOb25Jbmhlcml0ZWREYXRhLmFjY2VzcygpLT5mbGV4aWJsZUJveCwgcGFjaywgcCk7IH0KLSAg
ICB2b2lkIHNldEJveFNoYWRvdyhTaGFkb3dEYXRhKiB2YWwsIGJvb2wgYWRkPWZhbHNlKTsKKyAg
ICB2b2lkIHNldEJveFNoYWRvdyhQYXNzT3duUHRyPFNoYWRvd0RhdGE+LCBib29sIGFkZCA9IGZh
bHNlKTsKICAgICB2b2lkIHNldEJveFJlZmxlY3QoUGFzc1JlZlB0cjxTdHlsZVJlZmxlY3Rpb24+
IHJlZmxlY3QpIHsgaWYgKHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2JveFJlZmxlY3QgIT0gcmVm
bGVjdCkgcmFyZU5vbkluaGVyaXRlZERhdGEuYWNjZXNzKCktPm1fYm94UmVmbGVjdCA9IHJlZmxl
Y3Q7IH0KICAgICB2b2lkIHNldEJveFNpemluZyhFQm94U2l6aW5nIHMpIHsgU0VUX1ZBUihtX2Jv
eCwgbV9ib3hTaXppbmcsIHMpOyB9CiAgICAgdm9pZCBzZXRNYXJxdWVlSW5jcmVtZW50KGNvbnN0
IExlbmd0aCYgZikgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLmFjY2VzcygpLT5tYXJx
dWVlLCBpbmNyZW1lbnQsIGYpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU2hhZG93RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U2hhZG93RGF0YS5jcHAKaW5kZXggZThkMzgxY2MxMzM3N2NiZDI1ZGQ3ZmM1MDA2OTZhOTA0MjRl
YmFiNy4uOWVmYTg0MjI5YmQ2NDA4YzJkZGZjOWRjMGZmYzRkMmM4YmMwZjhiMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmNwcApAQCAtMzcsOCArMzcs
OCBAQCBTaGFkb3dEYXRhOjpTaGFkb3dEYXRhKGNvbnN0IFNoYWRvd0RhdGEmIG8pCiAgICAgLCBt
X2NvbG9yKG8ubV9jb2xvcikKICAgICAsIG1fc3R5bGUoby5tX3N0eWxlKQogICAgICwgbV9pc1dl
YmtpdEJveFNoYWRvdyhvLm1faXNXZWJraXRCb3hTaGFkb3cpCisgICAgLCBtX25leHQoby5tX25l
eHQgPyBhZG9wdFB0cihuZXcgU2hhZG93RGF0YSgqby5tX25leHQpKSA6IFBhc3NPd25QdHI8U2hh
ZG93RGF0YT4oKSkKIHsKLSAgICBtX25leHQgPSBvLm1fbmV4dCA/IG5ldyBTaGFkb3dEYXRhKCpv
Lm1fbmV4dCkgOiAwOwogfQogCiBib29sIFNoYWRvd0RhdGE6Om9wZXJhdG9yPT0oY29uc3QgU2hh
ZG93RGF0YSYgbykgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TaGFkb3dEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93
RGF0YS5oCmluZGV4IDBiZTNmYzFkZjhlYzYyNGU2ODFhZWE5M2UyMmM2N2RiNTA2NjJjZDguLjZk
NjI5ZmEyOTY1NjNmOWRlZTJlNTRlZjUwMzBlNTAwMjU4YTE2NzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaApAQCAtMjYsNiArMjYsOCBAQAogI2RlZmlu
ZSBTaGFkb3dEYXRhX2gKIAogI2luY2x1ZGUgIkNvbG9yLmgiCisjaW5jbHVkZSA8d3RmL093blB0
ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtMzQsNyArMzYsNyBAQCBjbGFzcyBJbnRSZWN0OwogCiBlbnVtIFNoYWRvd1N0eWxlIHsg
Tm9ybWFsLCBJbnNldCB9OwogCi0vLyBUaGlzIHN0cnVjdCBob2xkcyBpbmZvcm1hdGlvbiBhYm91
dCBzaGFkb3dzIGZvciB0aGUgdGV4dC1zaGFkb3cgYW5kIGJveC1zaGFkb3cgcHJvcGVydGllcy4K
Ky8vIFRoaXMgY2xhc3MgaG9sZHMgaW5mb3JtYXRpb24gYWJvdXQgc2hhZG93cyBmb3IgdGhlIHRl
eHQtc2hhZG93IGFuZCBib3gtc2hhZG93IHByb3BlcnRpZXMuCiAKIGNsYXNzIFNoYWRvd0RhdGEg
ewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwpAQCAtNDYsNyArNDgsNiBAQCBwdWJsaWM6
CiAgICAgICAgICwgbV9zcHJlYWQoMCkKICAgICAgICAgLCBtX3N0eWxlKE5vcm1hbCkKICAgICAg
ICAgLCBtX2lzV2Via2l0Qm94U2hhZG93KGZhbHNlKQotICAgICAgICAsIG1fbmV4dCgwKQogICAg
IHsKICAgICB9CiAKQEAgLTU4LDEyICs1OSwxMCBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9jb2xv
cihjb2xvcikKICAgICAgICAgLCBtX3N0eWxlKHN0eWxlKQogICAgICAgICAsIG1faXNXZWJraXRC
b3hTaGFkb3coaXNXZWJraXRCb3hTaGFkb3cpCi0gICAgICAgICwgbV9uZXh0KDApCiAgICAgewog
ICAgIH0KIAogICAgIFNoYWRvd0RhdGEoY29uc3QgU2hhZG93RGF0YSYgbyk7Ci0gICAgflNoYWRv
d0RhdGEoKSB7IGRlbGV0ZSBtX25leHQ7IH0KIAogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBT
aGFkb3dEYXRhJiBvKSBjb25zdDsKICAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgU2hhZG93RGF0
YSYgbykgY29uc3QKQEAgLTc5LDggKzc4LDggQEAgcHVibGljOgogICAgIGNvbnN0IENvbG9yJiBj
b2xvcigpIGNvbnN0IHsgcmV0dXJuIG1fY29sb3I7IH0KICAgICBib29sIGlzV2Via2l0Qm94U2hh
ZG93KCkgY29uc3QgeyByZXR1cm4gbV9pc1dlYmtpdEJveFNoYWRvdzsgfQogCi0gICAgY29uc3Qg
U2hhZG93RGF0YSogbmV4dCgpIGNvbnN0IHsgcmV0dXJuIG1fbmV4dDsgfQotICAgIHZvaWQgc2V0
TmV4dChTaGFkb3dEYXRhKiBzaGFkb3cpIHsgbV9uZXh0ID0gc2hhZG93OyB9CisgICAgY29uc3Qg
U2hhZG93RGF0YSogbmV4dCgpIGNvbnN0IHsgcmV0dXJuIG1fbmV4dC5nZXQoKTsgfQorICAgIHZv
aWQgc2V0TmV4dChQYXNzT3duUHRyPFNoYWRvd0RhdGE+IHNoYWRvdykgeyBtX25leHQgPSBzaGFk
b3c7IH0KIAogICAgIHZvaWQgYWRqdXN0UmVjdEZvclNoYWRvdyhJbnRSZWN0JiwgaW50IGFkZGl0
aW9uYWxPdXRsaW5lU2l6ZSA9IDApIGNvbnN0OwogICAgIHZvaWQgYWRqdXN0UmVjdEZvclNoYWRv
dyhGbG9hdFJlY3QmLCBpbnQgYWRkaXRpb25hbE91dGxpbmVTaXplID0gMCkgY29uc3Q7CkBAIC05
Myw3ICs5Miw3IEBAIHByaXZhdGU6CiAgICAgQ29sb3IgbV9jb2xvcjsKICAgICBTaGFkb3dTdHls
ZSBtX3N0eWxlOwogICAgIGJvb2wgbV9pc1dlYmtpdEJveFNoYWRvdzsKLSAgICBTaGFkb3dEYXRh
KiBtX25leHQ7CisgICAgT3duUHRyPFNoYWRvd0RhdGE+IG1fbmV4dDsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcAppbmRleCBhNmExOWVhNWMwNmJlMDY1MjU5
YjU5MWViMTYxMmI0MWJlZjVlMGEzLi4yYThjNTAyYzJlODhmOWI1MDE4ZjkzZmNhNGMwZGMyMDQ3
MTk4ZGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVS
YXJlSW5oZXJpdGVkRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCkBAIC0zMiw3ICszMiw2IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0
YSgpCiAgICAgOiB0ZXh0U3Ryb2tlV2lkdGgoUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0U3Ryb2tl
V2lkdGgoKSkKLSAgICAsIHRleHRTaGFkb3coMCkKICAgICAsIGluZGVudChSZW5kZXJTdHlsZTo6
aW5pdGlhbFRleHRJbmRlbnQoKSkKICAgICAsIG1fZWZmZWN0aXZlWm9vbShSZW5kZXJTdHlsZTo6
aW5pdGlhbFpvb20oKSkKICAgICAsIHdpZG93cyhSZW5kZXJTdHlsZTo6aW5pdGlhbFdpZG93cygp
KQpAQCAtNjQsNyArNjMsNyBAQCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVJbmhl
cml0ZWREYXRhKGNvbnN0IFN0eWxlUmFyZUluaGVyaXRlZERhdGEmIG8pCiAgICAgLCB0ZXh0U3Ry
b2tlV2lkdGgoby50ZXh0U3Ryb2tlV2lkdGgpCiAgICAgLCB0ZXh0RmlsbENvbG9yKG8udGV4dEZp
bGxDb2xvcikKICAgICAsIHRleHRFbXBoYXNpc0NvbG9yKG8udGV4dEVtcGhhc2lzQ29sb3IpCi0g
ICAgLCB0ZXh0U2hhZG93KG8udGV4dFNoYWRvdyA/IG5ldyBTaGFkb3dEYXRhKCpvLnRleHRTaGFk
b3cpIDogMCkKKyAgICAsIHRleHRTaGFkb3coby50ZXh0U2hhZG93ID8gYWRvcHRQdHIobmV3IFNo
YWRvd0RhdGEoKm8udGV4dFNoYWRvdykpIDogUGFzc093blB0cjxTaGFkb3dEYXRhPigpKQogICAg
ICwgaGlnaGxpZ2h0KG8uaGlnaGxpZ2h0KQogICAgICwgY3Vyc29yRGF0YShvLmN1cnNvckRhdGEp
CiAgICAgLCBpbmRlbnQoby5pbmRlbnQpCkBAIC05Nyw3ICs5Niw2IEBAIFN0eWxlUmFyZUluaGVy
aXRlZERhdGE6OlN0eWxlUmFyZUluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJlSW5oZXJpdGVk
RGF0YSYgbykKIAogU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6flN0eWxlUmFyZUluaGVyaXRlZERh
dGEoKQogewotICAgIGRlbGV0ZSB0ZXh0U2hhZG93OwogfQogCiBzdGF0aWMgYm9vbCBjdXJzb3JE
YXRhRXF1aXZhbGVudChjb25zdCBDdXJzb3JMaXN0KiBjMSwgY29uc3QgQ3Vyc29yTGlzdCogYzIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUlu
aGVyaXRlZERhdGEuaAppbmRleCBiZjI4ZjI5NDIxMzgxNDNhYmJmMzE3NzkxYzM4MzRkMDUxYTMw
N2U3Li5kYTQxMGYxYWM2ODI3MzQxZmQzODc4ZWYyYmJmOTVmODliZmQwMjI2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWRE
YXRhLmgKQEAgLTU4LDcgKzU4LDcgQEAgcHVibGljOgogICAgIENvbG9yIHRleHRGaWxsQ29sb3I7
CiAgICAgQ29sb3IgdGV4dEVtcGhhc2lzQ29sb3I7CiAKLSAgICBTaGFkb3dEYXRhKiB0ZXh0U2hh
ZG93OyAvLyBPdXIgdGV4dCBzaGFkb3cgaW5mb3JtYXRpb24gZm9yIHNoYWRvd2VkIHRleHQgZHJh
d2luZy4KKyAgICBPd25QdHI8U2hhZG93RGF0YT4gdGV4dFNoYWRvdzsgLy8gT3VyIHRleHQgc2hh
ZG93IGluZm9ybWF0aW9uIGZvciBzaGFkb3dlZCB0ZXh0IGRyYXdpbmcuCiAgICAgQXRvbWljU3Ry
aW5nIGhpZ2hsaWdodDsgLy8gQXBwbGUtc3BlY2lmaWMgZXh0ZW5zaW9uIGZvciBjdXN0b20gaGln
aGxpZ2h0IHJlbmRlcmluZy4KICAgICAKICAgICBSZWZQdHI8Q3Vyc29yTGlzdD4gY3Vyc29yRGF0
YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVO
b25Jbmhlcml0ZWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcAppbmRleCAzNzcxZjEzODk5YjBiMjJhODE3MDUxMTQ1
OWQ5MDQ3NmNjZGFmY2ZlLi5kODUyMzVjMzNiYzk3ODc2NWQxMTc2ZDIxMjg2MzlmMjI5MTBiOWYx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9u
SW5oZXJpdGVkRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCkBAIC0zNCw4ICszNCw2IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OlN0eWxlUmFyZU5vbkluaGVyaXRl
ZERhdGEoKQogICAgIDogbGluZUNsYW1wKFJlbmRlclN0eWxlOjppbml0aWFsTGluZUNsYW1wKCkp
CiAgICAgLCBvcGFjaXR5KFJlbmRlclN0eWxlOjppbml0aWFsT3BhY2l0eSgpKQotICAgICwgbV9j
b250ZW50KDApCi0gICAgLCBtX2NvdW50ZXJEaXJlY3RpdmVzKDApCiAgICAgLCB1c2VyRHJhZyhS
ZW5kZXJTdHlsZTo6aW5pdGlhbFVzZXJEcmFnKCkpCiAgICAgLCB0ZXh0T3ZlcmZsb3coUmVuZGVy
U3R5bGU6OmluaXRpYWxUZXh0T3ZlcmZsb3coKSkKICAgICAsIG1hcmdpbkJlZm9yZUNvbGxhcHNl
KE1DT0xMQVBTRSkKQEAgLTQ5LDkgKzQ3LDYgQEAgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6
U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSgpCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKQogICAgICwgbV9ydW5uaW5nQWNjZWxlcmF0ZWRBbmltYXRpb24oZmFsc2UpCiAjZW5kaWYK
LSAgICAsIG1fYm94U2hhZG93KDApCi0gICAgLCBtX2FuaW1hdGlvbnMoMCkKLSAgICAsIG1fdHJh
bnNpdGlvbnMoMCkKICAgICAsIG1fbWFzayhGaWxsTGF5ZXIoTWFza0ZpbGxMYXllcikpCiAgICAg
LCBtX3RyYW5zZm9ybVN0eWxlM0QoUmVuZGVyU3R5bGU6OmluaXRpYWxUcmFuc2Zvcm1TdHlsZTNE
KCkpCiAgICAgLCBtX2JhY2tmYWNlVmlzaWJpbGl0eShSZW5kZXJTdHlsZTo6aW5pdGlhbEJhY2tm
YWNlVmlzaWJpbGl0eSgpKQpAQCAtNzEsOCArNjYsNiBAQCBTdHlsZVJhcmVOb25Jbmhlcml0ZWRE
YXRhOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKGNvbnN0IFN0eWxlUmFyZU5vbkluaGVyaXRl
ZAogICAgICwgbWFycXVlZShvLm1hcnF1ZWUpCiAgICAgLCBtX211bHRpQ29sKG8ubV9tdWx0aUNv
bCkKICAgICAsIG1fdHJhbnNmb3JtKG8ubV90cmFuc2Zvcm0pCi0gICAgLCBtX2NvbnRlbnQoMCkK
LSAgICAsIG1fY291bnRlckRpcmVjdGl2ZXMoMCkKICAgICAsIHVzZXJEcmFnKG8udXNlckRyYWcp
CiAgICAgLCB0ZXh0T3ZlcmZsb3coby50ZXh0T3ZlcmZsb3cpCiAgICAgLCBtYXJnaW5CZWZvcmVD
b2xsYXBzZShvLm1hcmdpbkJlZm9yZUNvbGxhcHNlKQpAQCAtODYsMTAgKzc5LDEwIEBAIFN0eWxl
UmFyZU5vbkluaGVyaXRlZERhdGE6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEoY29uc3QgU3R5
bGVSYXJlTm9uSW5oZXJpdGVkCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAg
ICwgbV9ydW5uaW5nQWNjZWxlcmF0ZWRBbmltYXRpb24oby5tX3J1bm5pbmdBY2NlbGVyYXRlZEFu
aW1hdGlvbikKICNlbmRpZgotICAgICwgbV9ib3hTaGFkb3coby5tX2JveFNoYWRvdyA/IG5ldyBT
aGFkb3dEYXRhKCpvLm1fYm94U2hhZG93KSA6IDApCisgICAgLCBtX2JveFNoYWRvdyhvLm1fYm94
U2hhZG93ID8gYWRvcHRQdHIobmV3IFNoYWRvd0RhdGEoKm8ubV9ib3hTaGFkb3cpKSA6IFBhc3NP
d25QdHI8U2hhZG93RGF0YT4oKSkKICAgICAsIG1fYm94UmVmbGVjdChvLm1fYm94UmVmbGVjdCkK
LSAgICAsIG1fYW5pbWF0aW9ucyhvLm1fYW5pbWF0aW9ucyA/IG5ldyBBbmltYXRpb25MaXN0KCpv
Lm1fYW5pbWF0aW9ucykgOiAwKQotICAgICwgbV90cmFuc2l0aW9ucyhvLm1fdHJhbnNpdGlvbnMg
PyBuZXcgQW5pbWF0aW9uTGlzdCgqby5tX3RyYW5zaXRpb25zKSA6IDApCisgICAgLCBtX2FuaW1h
dGlvbnMoby5tX2FuaW1hdGlvbnMgPyBhZG9wdFB0cihuZXcgQW5pbWF0aW9uTGlzdCgqby5tX2Fu
aW1hdGlvbnMpKSA6IFBhc3NPd25QdHI8QW5pbWF0aW9uTGlzdD4oKSkKKyAgICAsIG1fdHJhbnNp
dGlvbnMoby5tX3RyYW5zaXRpb25zID8gYWRvcHRQdHIobmV3IEFuaW1hdGlvbkxpc3QoKm8ubV90
cmFuc2l0aW9ucykpIDogUGFzc093blB0cjxBbmltYXRpb25MaXN0PigpKQogICAgICwgbV9tYXNr
KG8ubV9tYXNrKQogICAgICwgbV9tYXNrQm94SW1hZ2Uoby5tX21hc2tCb3hJbWFnZSkKICAgICAs
IG1fdHJhbnNmb3JtU3R5bGUzRChvLm1fdHJhbnNmb3JtU3R5bGUzRCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>