<?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>100812</bug_id>
          
          <creation_ts>2012-10-30 21:56:51 -0700</creation_ts>
          <short_desc>[Shadow] Implement custom pseudo elements styling</short_desc>
          <delta_ts>2012-11-07 22:10:48 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>100831</dependson>
          <blocked>101170</blocked>
    
    <blocked>101533</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Shinya Kawanaka">shinyak</reporter>
          <assigned_to name="Shinya Kawanaka">shinyak</assigned_to>
          <cc>abarth</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>gustavo</cc>
    
    <cc>ojan</cc>
    
    <cc>peter+ews</cc>
    
    <cc>philn</cc>
    
    <cc>webcomponents-bugzilla</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>754954</commentid>
    <comment_count>0</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-10-30 21:56:51 -0700</bug_when>
    <thetext>Let&apos;s consider the following tree.

div#host -- SR
             |-span (pseudo=&apos;x-foo&apos;)

When we have a CSS selector #host:x-foo, it should match the span.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755009</commentid>
    <comment_count>1</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-10-30 23:51:25 -0700</bug_when>
    <thetext>I would like to implement this like shadowPseudoId, since this also breaks shadow boundary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755063</commentid>
    <comment_count>2</comment_count>
      <attachid>171601</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-10-31 02:06:33 -0700</bug_when>
    <thetext>Created attachment 171601
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755064</commentid>
    <comment_count>3</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-10-31 02:08:02 -0700</bug_when>
    <thetext>This contains a lot of debug-printf... But it succeeds in styling custom pseudo elements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755432</commentid>
    <comment_count>4</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-10-31 10:22:04 -0700</bug_when>
    <thetext>I don&apos;t understand why you&apos;re implementing this again? UnknownPseudoElements and shadowPseudoIds are exactly what you need already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755437</commentid>
    <comment_count>5</comment_count>
      <attachid>171601</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-10-31 10:28:16 -0700</bug_when>
    <thetext>Comment on attachment 171601
WIP

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

&gt; Source/WebCore/css/CSSSelector.cpp:395
&gt; +    if (name.startsWith(&quot;x-&quot;))

I could be wrong, but it should be easier to make this work at the attribute-setting time, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755783</commentid>
    <comment_count>6</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-10-31 18:33:25 -0700</bug_when>
    <thetext>First I thought I would like to use the shadowPseudoId, but I was afraid that it causes some confusion.
But maybe it&apos;s OK to use it anyway...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755881</commentid>
    <comment_count>7</comment_count>
      <attachid>171769</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-10-31 22:36:51 -0700</bug_when>
    <thetext>Created attachment 171769
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755882</commentid>
    <comment_count>8</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-10-31 22:37:32 -0700</bug_when>
    <thetext>This patch depends on https://bugs.webkit.org/show_bug.cgi?id=100831, so it won&apos;t run until it&apos;s landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755886</commentid>
    <comment_count>9</comment_count>
      <attachid>171769</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-31 22:42:21 -0700</bug_when>
    <thetext>Comment on attachment 171769
Patch

Attachment 171769 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14692355</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755888</commentid>
    <comment_count>10</comment_count>
      <attachid>171769</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-31 22:43:24 -0700</bug_when>
    <thetext>Comment on attachment 171769
Patch

Attachment 171769 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14677391</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755890</commentid>
    <comment_count>11</comment_count>
      <attachid>171769</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-10-31 22:45:27 -0700</bug_when>
    <thetext>Comment on attachment 171769
Patch

Attachment 171769 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/14697180</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755891</commentid>
    <comment_count>12</comment_count>
      <attachid>171769</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2012-10-31 22:47:10 -0700</bug_when>
    <thetext>Comment on attachment 171769
Patch

Attachment 171769 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/14678390</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755893</commentid>
    <comment_count>13</comment_count>
      <attachid>171769</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-10-31 22:47:34 -0700</bug_when>
    <thetext>Comment on attachment 171769
Patch

Attachment 171769 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/14684376</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755899</commentid>
    <comment_count>14</comment_count>
      <attachid>171769</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-10-31 22:51:52 -0700</bug_when>
    <thetext>Comment on attachment 171769
Patch

Attachment 171769 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/14687379</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755911</commentid>
    <comment_count>15</comment_count>
      <attachid>171769</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-31 23:05:08 -0700</bug_when>
    <thetext>Comment on attachment 171769
Patch

Attachment 171769 did not pass win-ews (win):
Output: http://queues.webkit.org/results/14561501</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756993</commentid>
    <comment_count>16</comment_count>
      <attachid>172009</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-02 02:10:52 -0700</bug_when>
    <thetext>Created attachment 172009
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757007</commentid>
    <comment_count>17</comment_count>
      <attachid>172009</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-11-02 02:25:12 -0700</bug_when>
    <thetext>Comment on attachment 172009
Patch

The change looks good.
In my understanding, we currently allows arbitrary name for pseudos. What is our plan to reject invalid ones?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757008</commentid>
    <comment_count>18</comment_count>
      <attachid>172009</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-02 02:26:07 -0700</bug_when>
    <thetext>Comment on attachment 172009
Patch

Attachment 172009 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/14686775</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757009</commentid>
    <comment_count>19</comment_count>
      <attachid>172009</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-11-02 02:26:51 -0700</bug_when>
    <thetext>Comment on attachment 172009
Patch

(cq- for now just in case.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757011</commentid>
    <comment_count>20</comment_count>
      <attachid>172009</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-11-02 02:27:27 -0700</bug_when>
    <thetext>Comment on attachment 172009
Patch

hmm. let&apos;s fix build breakage...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757899</commentid>
    <comment_count>21</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-02 22:42:40 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 172009 [details])
&gt; The change looks good.
&gt; In my understanding, we currently allows arbitrary name for pseudos. What is our plan to reject invalid ones?

Yes.

I would like to do some refactoring (https://bugs.webkit.org/show_bug.cgi?id=100826) first.
Then it should become easy to reject invalid ones. I&apos;ll work it in https://bugs.webkit.org/show_bug.cgi?id=100919</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757903</commentid>
    <comment_count>22</comment_count>
      <attachid>172210</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-02 23:13:06 -0700</bug_when>
    <thetext>Created attachment 172210
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758171</commentid>
    <comment_count>23</comment_count>
      <attachid>172251</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-04 17:54:45 -0800</bug_when>
    <thetext>Created attachment 172251
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758184</commentid>
    <comment_count>24</comment_count>
      <attachid>172251</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-04 19:05:22 -0800</bug_when>
    <thetext>Comment on attachment 172251
Patch

Clearing flags on attachment: 172251

Committed r133428: &lt;http://trac.webkit.org/changeset/133428&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758185</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-04 19:05:28 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759821</commentid>
    <comment_count>26</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-11-06 10:19:09 -0800</bug_when>
    <thetext>I&apos;m not sure how, but I think this patch may have caused a 2% increase in memory usage on the Chromium page cyclers.

http://build.chromium.org/f/chromium/perf/chromium-rel-win7-webkit/intl2/report.html?rev=165925&amp;graph=ws_single_peak_r&amp;history=100

Regression range: http://trac.webkit.org/log/?verbose=on&amp;rev=133430&amp;stop_rev=133428</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759868</commentid>
    <comment_count>27</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-11-06 10:56:22 -0800</bug_when>
    <thetext>Another graph that shows the regression: http://build.chromium.org/f/chromium/perf/mac-release-10.6-webkit-latest/intl1/report.html?rev=166182&amp;graph=V8.MemoryHeapSampleTotalUsed_0.75&amp;trace=V8.MemoryHeapSampleTotalUsed_0.75&amp;history=150

In theory, the regression could also be from http://trac.webkit.org/changeset/133429/, but I don&apos;t see how.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760795</commentid>
    <comment_count>28</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-11-07 09:50:28 -0800</bug_when>
    <thetext>Another regressions that are either from this patch or http://trac.webkit.org/changeset/133429/:

http://build.chromium.org/f/chromium/perf/mac-release-10.6-webkit-latest/dom_perf/report.html?rev=166198&amp;graph=CreateNodes&amp;history=100</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760800</commentid>
    <comment_count>29</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-11-07 09:55:04 -0800</bug_when>
    <thetext>(In reply to comment #28)
&gt; Another regressions that are either from this patch or http://trac.webkit.org/changeset/133429/:
&gt; 
&gt; http://build.chromium.org/f/chromium/perf/mac-release-10.6-webkit-latest/dom_perf/report.html?rev=166198&amp;graph=CreateNodes&amp;history=100

Time for some speculative rollouts? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760838</commentid>
    <comment_count>30</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-11-07 10:28:42 -0800</bug_when>
    <thetext>I tried to roll this out, but couldn&apos;t due to conflicts with http://trac.webkit.org/changeset/133749. Could someone more familiar with these patches give it a shot?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>761238</commentid>
    <comment_count>31</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-07 17:55:17 -0800</bug_when>
    <thetext>Hmm...
It&apos;s hard for me to imagine this causes such memory regression...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>761242</commentid>
    <comment_count>32</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-07 18:00:42 -0800</bug_when>
    <thetext>(In reply to comment #31)
&gt; Hmm...
&gt; It&apos;s hard for me to imagine this causes such memory regression...

Let me try to roll this out anyway.
I hope this is innocent, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>761257</commentid>
    <comment_count>33</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-11-07 18:27:46 -0800</bug_when>
    <thetext>Thanks! If it turns out to be Dimitri&apos;s patch, r=me on relanding this. We&apos;ll know once the rollout goes in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>761303</commentid>
    <comment_count>34</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-07 20:05:49 -0800</bug_when>
    <thetext>Reverted.
https://bugs.webkit.org/show_bug.cgi?id=101533

Let&apos;s see the page cycler for a while.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>761311</commentid>
    <comment_count>35</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-07 20:53:48 -0800</bug_when>
    <thetext>This patch seems innocent?
http://build.chromium.org/f/chromium/perf/chromium-rel-win7-webkit/intl2/report.html?graph=ws_single_peak_r&amp;history=100&amp;rev=-1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>761340</commentid>
    <comment_count>36</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-11-07 22:10:48 -0800</bug_when>
    <thetext>(In reply to comment #35)
&gt; This patch seems innocent?

Yes. Sorry for the misplaced blame. Thanks for trying the rollout. It must be http://trac.webkit.org/changeset/133429/.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171601</attachid>
            <date>2012-10-31 02:06:33 -0700</date>
            <delta_ts>2012-10-31 22:36:48 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-100812-20121031180456.patch</filename>
            <type>text/plain</type>
            <size>12639</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyOTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY4MDMxOGVmZGUxOTJl
ZjI5ODM4MWQ3NjJiNTNlOGRkODA5ZTNmMC4uMGQwY2FjM2YzNTIzZjgzNzE0MTY3Mzg1NGYzNmQ4
MDVmNzdjMjk0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTEwLTMxICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbU2hhZG93XSBJ
bXBsZW1lbnQgcHNldWRvIGN1c3RvbSBlbGVtZW50cyBzdHlsaW5nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA4MTIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9m
IHRoZSBjaGFuZ2Ugc3VjaCBhcyBhcHByb2FjaCwgcmF0aW9uYWxlLiBQbGVhc2UgYWRkIHBlci1m
dW5jdGlvbiBkZXNjcmlwdGlvbnMgYmVsb3cgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVz
dHMgKE9PUFMhKS4KKworICAgICAgICAqIGNzcy9DU1NHcmFtbWFyLnkuaW46CisgICAgICAgICog
Y3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnVwZGF0ZVNw
ZWNpZmllcnNXaXRoRWxlbWVudE5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjp1
cGRhdGVTcGVjaWZpZXJzKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyVmFsdWVzLmg6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQYXJzZXJTZWxlY3Rvcjo6aXNDdXN0b21Qc2V1ZG9FbGVtZW50KToK
KyAgICAgICAgKiBjc3MvQ1NTU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2Vs
ZWN0b3I6OnBzZXVkb0lkKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1NlbGVjdG9yOjpwYXJzZVBz
ZXVkb1R5cGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3I6OmV4dHJhY3RQc2V1ZG9U
eXBlKToKKyAgICAgICAgKiBjc3MvQ1NTU2VsZWN0b3IuaDoKKyAgICAgICAgKENTU1NlbGVjdG9y
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1NlbGVjdG9yOjppc0N1c3RvbVBzZXVkb0VsZW1lbnQp
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogY3NzL1J1bGVTZXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UnVsZVNldDo6YWRkUnVsZSk6CisgICAgICAgICogY3NzL1NlbGVjdG9yQ2hl
Y2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNoZWNrZXI6OmNoZWNrU2VsZWN0
b3IpOgorICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlUmVzb2x2ZXI6OmNvbGxlY3RNYXRjaGluZ1J1bGVzKToKKyAgICAgICAgKiBodG1sL0hU
TUxBdHRyaWJ1dGVOYW1lcy5pbjoKKwogMjAxMi0xMC0zMCAgQ2hyaXMgRXZhbnMgIDxjZXZhbnNA
Z29vZ2xlLmNvbT4KIAogICAgICAgICBJbXByb3ZlIHBlcmZvcm1hbmNlIG9mIE1hc2tQdHIuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0dyYW1tYXIueS5pbgppbmRleCA0MDQ1MTEzNWNjYzA4NTJhZmE0ZTM5OWIx
NTExNTMwZmQ0NmUxZGJjLi40ZDg5ZmE1YjE0MWUyODQ1YmQzZjk3OThkMTA4YTMzZjBmMDFiOTFh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4KQEAgLTEyNjAsOCArMTI2MCwxMCBAQCBw
c2V1ZG86CiAgICAgICAgICQyLmxvd2VyKCk7CiAgICAgICAgICQkLT5zZXRWYWx1ZSgkMik7CiAg
ICAgICAgIENTU1NlbGVjdG9yOjpQc2V1ZG9UeXBlIHR5cGUgPSAkJC0+cHNldWRvVHlwZSgpOwot
ICAgICAgICBpZiAodHlwZSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvVW5rbm93bikKKyAgICAgICAg
aWYgKHR5cGUgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb1Vua25vd24pIHsKKyAgICAgICAgICAgIGZw
cmludGYoc3RkZXJyLCAiZm9vIGJhciBwaXlvXG4iKTsKICAgICAgICAgICAgICQkID0gMDsKKyAg
ICAgICAgfQogICAgIH0KICAgICB8ICc6JyAnOicgSURFTlQgewogICAgICAgICAkJCA9IHBhcnNl
ci0+Y3JlYXRlRmxvYXRpbmdTZWxlY3RvcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRl
eCAzZjUwOTdkNWFkZWViMzRlN2E4MDY5ODA0MDc4NjE5YWRlOWEyMGIwLi42Y2IyZmZhNDk3YTEy
MjFlM2IxYTJlMTk5OTQ2ZmI3ZDBhYWZjY2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApA
QCAtMTAwNjQsMTYgKzEwMDY0LDE4IEBAIHZvaWQgQ1NTUGFyc2VyOjp1cGRhdGVTcGVjaWZpZXJz
V2l0aEVsZW1lbnROYW1lKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZXNwYWNlUHJlCiB7CiAgICAg
QXRvbWljU3RyaW5nIGRldGVybWluZWROYW1lc3BhY2UgPSBuYW1lc3BhY2VQcmVmaXggIT0gbnVs
bEF0b20gJiYgbV9zdHlsZVNoZWV0ID8gbV9zdHlsZVNoZWV0LT5kZXRlcm1pbmVOYW1lc3BhY2Uo
bmFtZXNwYWNlUHJlZml4KSA6IG1fZGVmYXVsdE5hbWVzcGFjZTsKICAgICBRdWFsaWZpZWROYW1l
IHRhZyA9IFF1YWxpZmllZE5hbWUobmFtZXNwYWNlUHJlZml4LCBlbGVtZW50TmFtZSwgZGV0ZXJt
aW5lZE5hbWVzcGFjZSk7Ci0gICAgaWYgKCFzcGVjaWZpZXJzLT5pc1Vua25vd25Qc2V1ZG9FbGVt
ZW50KCkpIHsKKyAgICBpZiAoIXNwZWNpZmllcnMtPmlzVW5rbm93blBzZXVkb0VsZW1lbnQoKSAm
JiAhc3BlY2lmaWVycy0+aXNDdXN0b21Qc2V1ZG9FbGVtZW50KCkpIHsKICAgICAgICAgc3BlY2lm
aWVycy0+c2V0VGFnKHRhZyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBmcHJpbnRm
KHN0ZGVyciwgInVwZGF0ZVNwZWNpZmllcldpdGhFbGVtZW50TmFtZVxuIik7CisKICAgICBDU1NQ
YXJzZXJTZWxlY3RvciogbGFzdFNoYWRvd0Rlc2NlbmRhbnQgPSBzcGVjaWZpZXJzOwogICAgIENT
U1BhcnNlclNlbGVjdG9yKiBoaXN0b3J5ID0gc3BlY2lmaWVyczsKICAgICB3aGlsZSAoaGlzdG9y
eS0+dGFnSGlzdG9yeSgpKSB7CiAgICAgICAgIGhpc3RvcnkgPSBoaXN0b3J5LT50YWdIaXN0b3J5
KCk7Ci0gICAgICAgIGlmIChoaXN0b3J5LT5pc1Vua25vd25Qc2V1ZG9FbGVtZW50KCkgfHwgaGlz
dG9yeS0+aGFzU2hhZG93RGVzY2VuZGFudCgpKQorICAgICAgICBpZiAoaGlzdG9yeS0+aXNVbmtu
b3duUHNldWRvRWxlbWVudCgpIHx8IGhpc3RvcnktPmlzQ3VzdG9tUHNldWRvRWxlbWVudCgpIHx8
IGhpc3RvcnktPmhhc1NoYWRvd0Rlc2NlbmRhbnQoKSkKICAgICAgICAgICAgIGxhc3RTaGFkb3dE
ZXNjZW5kYW50ID0gaGlzdG9yeTsKICAgICB9CiAKQEAgLTEwMDg0LDYgKzEwMDg2LDcgQEAgdm9p
ZCBDU1NQYXJzZXI6OnVwZGF0ZVNwZWNpZmllcnNXaXRoRWxlbWVudE5hbWUoY29uc3QgQXRvbWlj
U3RyaW5nJiBuYW1lc3BhY2VQcmUKIAogICAgIC8vIEZvciBzaGFkb3ctSUQgcHNldWRvLWVsZW1l
bnRzIHRvIGJlIGNvcnJlY3RseSBtYXRjaGVkLCB0aGUgU2hhZG93RGVzY2VuZGFudCBjb21iaW5h
dG9yIGhhcyB0byBiZSB1c2VkLgogICAgIC8vIFdlIHRoZXJlZm9yZSBjcmVhdGUgYSBuZXcgU2Vs
ZWN0b3Igd2l0aCB0aGF0IGNvbWJpbmF0b3IgaGVyZSBpbiBhbnkgY2FzZSwgZXZlbiBpZiBtYXRj
aGluZyBhbnkgKGhvc3QpIGVsZW1lbnQgaW4gYW55IG5hbWVzcGFjZSAoaS5lLiAnKicpLgorICAg
IGZwcmludGYoc3RkZXJyLCAiU2hhZG93IERlc2NlbmRhbnQhXG4iKTsKICAgICBPd25QdHI8Q1NT
UGFyc2VyU2VsZWN0b3I+IGVsZW1lbnROYW1lU2VsZWN0b3IgPSBhZG9wdFB0cihuZXcgQ1NTUGFy
c2VyU2VsZWN0b3IpOwogICAgIGVsZW1lbnROYW1lU2VsZWN0b3ItPnNldFRhZyh0YWcpOwogICAg
IGxhc3RTaGFkb3dEZXNjZW5kYW50LT5zZXRUYWdIaXN0b3J5KGVsZW1lbnROYW1lU2VsZWN0b3Iu
cmVsZWFzZSgpKTsKQEAgLTEwMDkyLDEyICsxMDA5NSwxMiBAQCB2b2lkIENTU1BhcnNlcjo6dXBk
YXRlU3BlY2lmaWVyc1dpdGhFbGVtZW50TmFtZShjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVzcGFj
ZVByZQogCiBDU1NQYXJzZXJTZWxlY3RvciogQ1NTUGFyc2VyOjp1cGRhdGVTcGVjaWZpZXJzKENT
U1BhcnNlclNlbGVjdG9yKiBzcGVjaWZpZXJzLCBDU1NQYXJzZXJTZWxlY3RvciogbmV3U3BlY2lm
aWVyKQogewotICAgIGlmIChuZXdTcGVjaWZpZXItPmlzVW5rbm93blBzZXVkb0VsZW1lbnQoKSkg
eworICAgIGlmIChuZXdTcGVjaWZpZXItPmlzVW5rbm93blBzZXVkb0VsZW1lbnQoKSB8fCBuZXdT
cGVjaWZpZXItPmlzQ3VzdG9tUHNldWRvRWxlbWVudCgpKSB7CiAgICAgICAgIC8vIFVua25vd24g
cHNldWRvIGVsZW1lbnQgYWx3YXlzIGdvZXMgYXQgdGhlIHRvcCBvZiBzZWxlY3RvciBjaGFpbi4K
ICAgICAgICAgbmV3U3BlY2lmaWVyLT5hcHBlbmRUYWdIaXN0b3J5KENTU1NlbGVjdG9yOjpTaGFk
b3dEZXNjZW5kYW50LCBzaW5rRmxvYXRpbmdTZWxlY3RvcihzcGVjaWZpZXJzKSk7CiAgICAgICAg
IHJldHVybiBuZXdTcGVjaWZpZXI7CiAgICAgfQotICAgIGlmIChzcGVjaWZpZXJzLT5pc1Vua25v
d25Qc2V1ZG9FbGVtZW50KCkpIHsKKyAgICBpZiAoc3BlY2lmaWVycy0+aXNVbmtub3duUHNldWRv
RWxlbWVudCgpIHx8IHNwZWNpZmllcnMtPmlzQ3VzdG9tUHNldWRvRWxlbWVudCgpKSB7CiAgICAg
ICAgIC8vIFNwZWNpZmllcnMgZm9yIHVua25vd24gcHNldWRvIGVsZW1lbnQgZ28gcmlnaHQgYmVo
aW5kIGl0IGluIHRoZSBjaGFpbi4KICAgICAgICAgc3BlY2lmaWVycy0+aW5zZXJ0VGFnSGlzdG9y
eShDU1NTZWxlY3Rvcjo6U3ViU2VsZWN0b3IsIHNpbmtGbG9hdGluZ1NlbGVjdG9yKG5ld1NwZWNp
ZmllciksIENTU1NlbGVjdG9yOjpTaGFkb3dEZXNjZW5kYW50KTsKICAgICAgICAgcmV0dXJuIHNw
ZWNpZmllcnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVz
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKaW5kZXggZDNmYzQwMzUz
MDI5ZmYwYTI3ZDlhZTViOWQ0YzA2YTljN2U5MjI4Mi4uZWFkZjhiM2U4NmQ2OTI1OGUxOTE2NGZm
M2EyYTM5MTNkMDg3ODUzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNl
clZhbHVlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaApAQCAt
MTkyLDYgKzE5Miw3IEBAIHB1YmxpYzoKIAogICAgIENTU1NlbGVjdG9yOjpQc2V1ZG9UeXBlIHBz
ZXVkb1R5cGUoKSBjb25zdCB7IHJldHVybiBtX3NlbGVjdG9yLT5wc2V1ZG9UeXBlKCk7IH0KICAg
ICBib29sIGlzVW5rbm93blBzZXVkb0VsZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX3NlbGVjdG9y
LT5pc1Vua25vd25Qc2V1ZG9FbGVtZW50KCk7IH0KKyAgICBib29sIGlzQ3VzdG9tUHNldWRvRWxl
bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fc2VsZWN0b3ItPmlzQ3VzdG9tUHNldWRvRWxlbWVudCgp
OyB9CiAgICAgYm9vbCBpc1NpbXBsZSgpIGNvbnN0IHsgcmV0dXJuICFtX3RhZ0hpc3RvcnkgJiYg
bV9zZWxlY3Rvci0+aXNTaW1wbGUoKTsgfQogICAgIGJvb2wgaGFzU2hhZG93RGVzY2VuZGFudCgp
IGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAppbmRleCBkMmJhNzU2Nzc3MjIz
ZWNiNWZmY2VlYjFmNjhhNTQxYzMyN2UyZjFmLi44ODFlNjI0NzFjMjMyZGQ2MzJlMWY4OGI4YzJm
YmIwNmEwOTNlMzMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKQEAgLTIxOCw2ICsy
MTgsNyBAQCBQc2V1ZG9JZCBDU1NTZWxlY3Rvcjo6cHNldWRvSWQoUHNldWRvVHlwZSB0eXBlKQog
ICAgIGNhc2UgUHNldWRvUmlnaHRQYWdlOgogICAgIGNhc2UgUHNldWRvSW5SYW5nZToKICAgICBj
YXNlIFBzZXVkb091dE9mUmFuZ2U6CisgICAgY2FzZSBQc2V1ZG9DdXN0b21FbGVtZW50OgogICAg
ICAgICByZXR1cm4gTk9QU0VVRE87CiAgICAgY2FzZSBQc2V1ZG9Ob3RQYXJzZWQ6CiAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMzg3LDcgKzM4OCwxNCBAQCBDU1NTZWxlY3Rvcjo6
UHNldWRvVHlwZSBDU1NTZWxlY3Rvcjo6cGFyc2VQc2V1ZG9UeXBlKGNvbnN0IEF0b21pY1N0cmlu
ZyYgbmFtZSkKICAgICAgICAgcmV0dXJuIFBzZXVkb1Vua25vd247CiAgICAgSGFzaE1hcDxBdG9t
aWNTdHJpbmdJbXBsKiwgQ1NTU2VsZWN0b3I6OlBzZXVkb1R5cGU+KiBuYW1lVG9Qc2V1ZG9UeXBl
ID0gbmFtZVRvUHNldWRvVHlwZU1hcCgpOwogICAgIEhhc2hNYXA8QXRvbWljU3RyaW5nSW1wbCos
IENTU1NlbGVjdG9yOjpQc2V1ZG9UeXBlPjo6aXRlcmF0b3Igc2xvdCA9IG5hbWVUb1BzZXVkb1R5
cGUtPmZpbmQobmFtZS5pbXBsKCkpOwotICAgIHJldHVybiBzbG90ID09IG5hbWVUb1BzZXVkb1R5
cGUtPmVuZCgpID8gUHNldWRvVW5rbm93biA6IHNsb3QtPnZhbHVlOworCisgICAgaWYgKHNsb3Qg
IT0gbmFtZVRvUHNldWRvVHlwZS0+ZW5kKCkpCisgICAgICAgIHJldHVybiBzbG90LT52YWx1ZTsK
KworICAgIGlmIChuYW1lLnN0YXJ0c1dpdGgoIngtIikpCisgICAgICAgIHJldHVybiBQc2V1ZG9D
dXN0b21FbGVtZW50OworCisgICAgcmV0dXJuIFBzZXVkb1Vua25vd247CiB9CiAKIGJvb2wgQ1NT
U2VsZWN0b3I6OmlzVW5rbm93blBzZXVkb1R5cGUoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lKQpA
QCAtNDA2LDExICs0MTQsMTYgQEAgdm9pZCBDU1NTZWxlY3Rvcjo6ZXh0cmFjdFBzZXVkb1R5cGUo
KSBjb25zdAogICAgIGJvb2wgY29tcGF0ID0gZmFsc2U7IC8vIHNpbmdsZSBjb2xvbiBjb21wYXRi
aWxpdHkgbW9kZQogICAgIGJvb2wgaXNQYWdlUHNldWRvQ2xhc3MgPSBmYWxzZTsgLy8gUGFnZSBw
c2V1ZG8tY2xhc3MKIAorICAgIGlmIChtX3BzZXVkb1R5cGUgPT0gUHNldWRvQ3VzdG9tRWxlbWVu
dCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlBTRVVETyBDVVNUT00gRUxFTUVOVCFcbiIp
OworICAgIH0KKwogICAgIHN3aXRjaCAobV9wc2V1ZG9UeXBlKSB7CiAgICAgY2FzZSBQc2V1ZG9B
ZnRlcjoKICAgICBjYXNlIFBzZXVkb0JlZm9yZToKICAgICBjYXNlIFBzZXVkb0ZpcnN0TGV0dGVy
OgogICAgIGNhc2UgUHNldWRvRmlyc3RMaW5lOgorICAgIGNhc2UgUHNldWRvQ3VzdG9tRWxlbWVu
dDoKICAgICAgICAgY29tcGF0ID0gdHJ1ZTsKICAgICBjYXNlIFBzZXVkb1Jlc2l6ZXI6CiAgICAg
Y2FzZSBQc2V1ZG9TY3JvbGxiYXI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
U2VsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCmluZGV4IDVjYTI0
ZjRlMDMxZGY1M2IxMmUxMmNjMjUxYmQzOTQzOTRjODgyZGQuLjIxZjk3MTI1MmE5ZTg0OWM5NWQ5
ZmE2Y2QzNTkzZDRmNDI2NDdhYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NT
ZWxlY3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCkBAIC0xNTQs
NiArMTU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAgICAgICAgICAgICBQc2V1
ZG9JblJhbmdlLAogICAgICAgICAgICAgUHNldWRvT3V0T2ZSYW5nZSwKKyAgICAgICAgICAgIFBz
ZXVkb0N1c3RvbUVsZW1lbnQsCiAgICAgICAgIH07CiAKICAgICAgICAgZW51bSBNYXJnaW5Cb3hU
eXBlIHsKQEAgLTIxMSw2ICsyMTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAg
Ym9vbCBtYXRjaGVzUHNldWRvRWxlbWVudCgpIGNvbnN0OwogICAgICAgICBib29sIGlzVW5rbm93
blBzZXVkb0VsZW1lbnQoKSBjb25zdDsKKyAgICAgICAgYm9vbCBpc0N1c3RvbVBzZXVkb0VsZW1l
bnQoKSBjb25zdDsKKwogICAgICAgICBib29sIGlzU2libGluZ1NlbGVjdG9yKCkgY29uc3Q7CiAg
ICAgICAgIGJvb2wgaXNBdHRyaWJ1dGVTZWxlY3RvcigpIGNvbnN0OwogCkBAIC0yOTEsNiArMjk0
LDExIEBAIGlubGluZSBib29sIENTU1NlbGVjdG9yOjppc1Vua25vd25Qc2V1ZG9FbGVtZW50KCkg
Y29uc3QKICAgICByZXR1cm4gbV9tYXRjaCA9PSBQc2V1ZG9FbGVtZW50ICYmIG1fcHNldWRvVHlw
ZSA9PSBQc2V1ZG9Vbmtub3duOwogfQogCitpbmxpbmUgYm9vbCBDU1NTZWxlY3Rvcjo6aXNDdXN0
b21Qc2V1ZG9FbGVtZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9tYXRjaCA9PSBQc2V1ZG9F
bGVtZW50ICYmIG1fcHNldWRvVHlwZSA9PSBQc2V1ZG9DdXN0b21FbGVtZW50OworfQorCiBpbmxp
bmUgYm9vbCBDU1NTZWxlY3Rvcjo6aXNTaWJsaW5nU2VsZWN0b3IoKSBjb25zdAogewogICAgIFBz
ZXVkb1R5cGUgdHlwZSA9IHBzZXVkb1R5cGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9SdWxlU2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9SdWxlU2V0LmNwcAppbmRleCBm
NzVmNGY0MjViZGZmMTAxY2Y3Njk0MWQ2YTJjYzU5ZWUxMjFmMmMxLi4wZjkwNTc5OWI1ZDBhM2Y4
MzllOTE3NmRlMTJiNTcyY2I1MjgxNTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
UnVsZVNldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1J1bGVTZXQuY3BwCkBAIC0yMjks
NyArMjI5LDcgQEAgdm9pZCBSdWxlU2V0OjphZGRSdWxlKFN0eWxlUnVsZSogcnVsZSwgdW5zaWdu
ZWQgc2VsZWN0b3JJbmRleCwgQWRkUnVsZUZsYWdzIGFkZFIKICAgICAgICAgYWRkVG9SdWxlU2V0
KHNlbGVjdG9yLT52YWx1ZSgpLmltcGwoKSwgbV9jbGFzc1J1bGVzLCBydWxlRGF0YSk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9Ci0gICAgaWYgKHNlbGVjdG9yLT5pc1Vua25vd25Qc2V1ZG9FbGVt
ZW50KCkpIHsKKyAgICBpZiAoc2VsZWN0b3ItPmlzVW5rbm93blBzZXVkb0VsZW1lbnQoKSB8fCBz
ZWxlY3Rvci0+aXNDdXN0b21Qc2V1ZG9FbGVtZW50KCkpIHsKICAgICAgICAgYWRkVG9SdWxlU2V0
KHNlbGVjdG9yLT52YWx1ZSgpLmltcGwoKSwgbV9zaGFkb3dQc2V1ZG9FbGVtZW50UnVsZXMsIHJ1
bGVEYXRhKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9y
Q2hlY2tlci5jcHAKaW5kZXggYjY2MDUwZmU0NzUwNzIzZDcxNGFjNTk2MGQ4ODMyZmRkOGI1MzA2
ZC4uODg3ODE4Yzk3NmE4ZDY3NDJjMzUxZjc1YTIzMTEzMzNlOWIwMzBmYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKQEAgLTQ0MSwxMiArNDQxLDIyIEBAIGJvb2wgU2Vs
ZWN0b3JDaGVja2VyOjppc0Zhc3RDaGVja2FibGVTZWxlY3Rvcihjb25zdCBDU1NTZWxlY3Rvciog
c2VsZWN0b3IpCiAvLyAqIFNlbGVjdG9yRmFpbHNDb21wbGV0ZWx5ICAtIHRoZSBzZWxlY3RvciBm
YWlscyBmb3IgZSBhbmQgYW55IHNpYmxpbmcgb3IgYW5jZXN0b3Igb2YgZQogU2VsZWN0b3JDaGVj
a2VyOjpTZWxlY3Rvck1hdGNoIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tTZWxlY3Rvcihjb25zdCBT
ZWxlY3RvckNoZWNraW5nQ29udGV4dCYgY29udGV4dCwgUHNldWRvSWQmIGR5bmFtaWNQc2V1ZG8p
IGNvbnN0CiB7CisgICAgaWYgKGNvbnRleHQuZWxlbWVudC0+dGl0bGUoKSA9PSAiZGVidWdzdG9w
IikgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImRlYnVnc3RvcCFcbiIpOworICAgIH0KKwog
ICAgIC8vIGZpcnN0IHNlbGVjdG9yIGhhcyB0byBtYXRjaAogICAgIGlmICghY2hlY2tPbmVTZWxl
Y3Rvcihjb250ZXh0LCBET01TaWJsaW5nVHJhdmVyc2FsU3RyYXRlZ3koKSkpCiAgICAgICAgIHJl
dHVybiBTZWxlY3RvckZhaWxzTG9jYWxseTsKIAogICAgIGlmIChjb250ZXh0LnNlbGVjdG9yLT5t
X21hdGNoID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50KSB7Ci0gICAgICAgIGlmIChjb250
ZXh0LnNlbGVjdG9yLT5pc1Vua25vd25Qc2V1ZG9FbGVtZW50KCkpIHsKKyAgICAgICAgZnByaW50
ZihzdGRlcnIsICJIT0dFSE9HRUhPR0UhIDFcbiIpOworICAgICAgICBpZiAoY29udGV4dC5zZWxl
Y3Rvci0+aXNDdXN0b21Qc2V1ZG9FbGVtZW50KCkpIHsKKyAgICAgICAgICAgIGZwcmludGYoc3Rk
ZXJyLCAiSE9HRUhPR0VIT0dFISAyXG4iKTsKKyAgICAgICAgICAgIGlmIChjb250ZXh0LmVsZW1l
bnQtPmdldEF0dHJpYnV0ZShwc2V1ZG9BdHRyKSAhPSBjb250ZXh0LnNlbGVjdG9yLT52YWx1ZSgp
KQorICAgICAgICAgICAgICAgIHJldHVybiBTZWxlY3RvckZhaWxzTG9jYWxseTsKKyAgICAgICAg
ICAgIGZwcmludGYoc3RkZXJyLCAiSE9HRUhPR0VIT0dFISAzXG4iKTsKKyAgICAgICAgfSBlbHNl
IGlmIChjb250ZXh0LnNlbGVjdG9yLT5pc1Vua25vd25Qc2V1ZG9FbGVtZW50KCkpIHsKICAgICAg
ICAgICAgIGlmIChjb250ZXh0LmVsZW1lbnQtPnNoYWRvd1BzZXVkb0lkKCkgIT0gY29udGV4dC5z
ZWxlY3Rvci0+dmFsdWUoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gU2VsZWN0b3JGYWlsc0xv
Y2FsbHk7CiAgICAgICAgIH0gZWxzZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAK
aW5kZXggYjQ4NGUxNjllMTI5YjQyNTllZWNiZTYwY2M2YjRjN2UwYWI4YzA0OS4uMjE2MzEzN2Q1
M2NlOGUwYTBlY2UwNmUxOTVkZDc4NThmMTJmYTlmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJl
c29sdmVyLmNwcApAQCAtNjYzLDEyICs2NjMsMjQgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjpjb2xs
ZWN0TWF0Y2hpbmdSdWxlcyhSdWxlU2V0KiBydWxlcywgaW50JiBmaXJzdFJ1bGVJbmRleCwgaW4K
ICAgICBBU1NFUlQocnVsZXMpOwogICAgIEFTU0VSVChtX2VsZW1lbnQpOwogCi0gICAgY29uc3Qg
QXRvbWljU3RyaW5nJiBwc2V1ZG9JZCA9IG1fZWxlbWVudC0+c2hhZG93UHNldWRvSWQoKTsKKyAg
ICBpZiAobV9lbGVtZW50LT50aXRsZSgpID09ICJkZWJ1Z3N0b3AiKSB7CisgICAgICAgIGZwcmlu
dGYoc3RkZXJyLCAiZGVidWdzdG9wIDJcbiIpOworICAgICAgICBtX2VsZW1lbnQtPmdldEF0dHJp
YnV0ZShwc2V1ZG9BdHRyKS5zaG93KCk7CisgICAgfQorCisgICAgY29uc3QgQXRvbWljU3RyaW5n
JiBwc2V1ZG9JZCA9IG1fZWxlbWVudC0+c2hhZG93UHNldWRvSWQoKTsgICAgCiAgICAgaWYgKCFw
c2V1ZG9JZC5pc0VtcHR5KCkpIHsKICAgICAgICAgQVNTRVJUKG1fc3R5bGVkRWxlbWVudCk7CiAg
ICAgICAgIGNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlzdChydWxlcy0+c2hhZG93UHNldWRvRWxl
bWVudFJ1bGVzKHBzZXVkb0lkLmltcGwoKSksIGZpcnN0UnVsZUluZGV4LCBsYXN0UnVsZUluZGV4
LCBvcHRpb25zKTsKICAgICB9CiAKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIHBzZXVkbyA9IG1f
ZWxlbWVudC0+Z2V0QXR0cmlidXRlKHBzZXVkb0F0dHIpOworICAgIGlmICghcHNldWRvLmlzRW1w
dHkoKSkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInBzZXVkbyBpcyBub3QgZW1wdHlcbiIp
OworICAgICAgICBBU1NFUlQobV9zdHlsZWRFbGVtZW50KTsKKyAgICAgICAgY29sbGVjdE1hdGNo
aW5nUnVsZXNGb3JMaXN0KHJ1bGVzLT5zaGFkb3dQc2V1ZG9FbGVtZW50UnVsZXMocHNldWRvLmlt
cGwoKSksIGZpcnN0UnVsZUluZGV4LCBsYXN0UnVsZUluZGV4LCBvcHRpb25zKTsKKyAgICB9CisK
ICAgICAvLyBDaGVjayB3aGV0aGVyIG90aGVyIHR5cGVzIG9mIHJ1bGVzIGFyZSBhcHBsaWNhYmxl
IGluIHRoZSBjdXJyZW50IHRyZWUgc2NvcGUuIENyaXRlcmlhIGZvciB0aGlzOgogICAgIC8vIGEp
IGl0J3MgYSBVQSBydWxlCiAgICAgLy8gYikgdGhlIHRyZWUgc2NvcGUgYWxsb3dzIGF1dGhvciBy
dWxlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMu
aW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgppbmRleCA0NTkw
NzhmNjRjMDhiZTJiZTQzMWIwMDg4OGRjZjM5YmRiMzBiODY5Li5mMWI5YzU5ZWQwMDIwMjhiNThl
MTRhNjY5YWFlNmJmZTBjYTZjMTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1
dGVOYW1lcy5pbgpAQCAtMjcyLDYgKzI3Miw3IEBAIHByaW1hcnkKIHByb2ZpbGUKIHByb2dyZXNz
CiBwcm9tcHQKK3BzZXVkbwogcmVhZG9ubHkKIHJlbAogcmVxdWlyZWQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171769</attachid>
            <date>2012-10-31 22:36:51 -0700</date>
            <delta_ts>2012-11-02 02:10:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100812-20121101143513.patch</filename>
            <type>text/plain</type>
            <size>4370</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTIxOTY4OGU3NmIyZGQx
ZDU2NDNhYmU5N2RmNWU5ZWNkMTExZWUyOC4uNzE1OGIxNDVlZmZlN2RmM2RmNDgzYTc4NmIyMzAy
NTI0YzM3NWRjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTEwLTMxICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4gCisKKyAgICAgICAgW1NoYWRvd10g
SW1wbGVtZW50IGN1c3RvbSBwc2V1ZG8tZWxlbWVudHMgc3R5bGluZworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwODEyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5zdGVhZCBvZiB1c2luZyBFbGVtZW50
UmFyZURhdGE6Om1fc2hhZG93UHNldWRvSWQsIHdlIHVzZSAncHNldWRvJyBhdHRyaWJ1dGUgaW5z
dGVhZC4KKworICAgICAgICBMYXRlciB3ZSB3b3VsZCBsaWtlIHRvIHJlbW92ZSBFbGVtZW50Ojpz
aGFkb3dQc2V1ZG9JZCBhbmQgRWxlbWVudDo6c2V0U2hhZG93UHNldWRvSWQKKyAgICAgICAgYW5k
IHVzZSBwc2V1ZG8oKS9zZXRQc2V1ZG8oKSBpbnN0ZWFkLgorCisgICAgICAgIFRlc3Q6IGZhc3Qv
ZG9tL3NoYWRvdy9zdHlsaW5nLXBzZXVkby1hdHRyaWJ1dGUuaHRtbAorCisgICAgICAgICogZG9t
L0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2hhZG93UHNldWRvSWQp
OgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2V0U2hhZG93UHNldWRvSWQpOgorICAgICAg
ICAqIGRvbS9FbGVtZW50UmFyZURhdGEuaDoKKyAgICAgICAgKEVsZW1lbnRSYXJlRGF0YSk6CisK
IDIwMTItMTAtMzEgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFtTaGFkb3ddIEVsZW1lbnQgc2hvdWxkIGhhdmUgZ2V0dGVyIGFuZCBzZXR0ZXIgb2Yg
YXR0cmlidXRlICdwc2V1ZG8nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggOWI2YzUxZmRhZTdj
MGQyZjg5MmVmNzc0MmJiNjhlYjUyZmZkOWM0MS4uMWU1MjkxNmRkZjI0OTg4Y2I3NWMxMzFiMzA5
Zjk3MTkzZGRlZjRlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMTI3NSwyMCArMTI3NSwx
NyBAQCBTaGFkb3dSb290KiBFbGVtZW50Ojp1c2VyQWdlbnRTaGFkb3dSb290KCkgY29uc3QKIAog
Y29uc3QgQXRvbWljU3RyaW5nJiBFbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0CiB7Ci0g
ICAgcmV0dXJuIGhhc1JhcmVEYXRhKCkgPyBlbGVtZW50UmFyZURhdGEoKS0+bV9zaGFkb3dQc2V1
ZG9JZCA6IG51bGxBdG9tOworICAgIHJldHVybiBwc2V1ZG8oKTsKIH0KIAogdm9pZCBFbGVtZW50
OjpzZXRTaGFkb3dQc2V1ZG9JZChjb25zdCBBdG9taWNTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2Rl
JiBlYykKIHsKLSAgICBpZiAoIWhhc1JhcmVEYXRhKCkgJiYgaWQgPT0gbnVsbEF0b20pCi0gICAg
ICAgIHJldHVybjsKLQogICAgIGlmICghQ1NTU2VsZWN0b3I6OmlzVW5rbm93blBzZXVkb1R5cGUo
aWQpKSB7CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IAotICAgIGVuc3VyZUVsZW1lbnRSYXJlRGF0YSgpLT5tX3NoYWRvd1BzZXVkb0lkID0gaWQ7Cisg
ICAgc2V0UHNldWRvKGlkKTsKIH0KIAogYm9vbCBFbGVtZW50OjpjaGlsZFR5cGVBbGxvd2VkKE5v
ZGVUeXBlIHR5cGUpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dFJhcmVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKaW5kZXgg
YjRiYzhlMmU5OWIzYWY0YmMwZDEzMTljMmQ1ZjAzMmU0M2JiNWZmZi4uMzdkY2E1MTFmZTM4N2Qy
OTMxYjkzMmE4NWRlYmMwZDg5NzE0YWIzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnRSYXJlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURh
dGEuaApAQCAtMTEyLDcgKzExMiw2IEBAIHB1YmxpYzoKIAogICAgIExheW91dFNpemUgbV9taW5p
bXVtU2l6ZUZvclJlc2l6aW5nOwogICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gbV9jb21wdXRlZFN0
eWxlOwotICAgIEF0b21pY1N0cmluZyBtX3NoYWRvd1BzZXVkb0lkOwogCiAgICAgT3duUHRyPERh
dGFzZXRET01TdHJpbmdNYXA+IG1fZGF0YXNldERPTVN0cmluZ01hcDsKICAgICBPd25QdHI8Q2xh
c3NMaXN0PiBtX2NsYXNzTGlzdDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhZGMwOTUxZDRiNDA3ZjgwYzljYWNmZjg5Y2Nk
ZjE5ZjE4ZDM0YzVhLi44NTcyZGNhYTAyYWFmMThjZDRkYTc0NWY3NWU5YWZkZTA4ZGFhNzNmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMTAtMzEgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55
YWtAY2hyb21pdW0ub3JnPiAKKworICAgICAgICBbU2hhZG93XSBJbXBsZW1lbnQgY3VzdG9tIHBz
ZXVkby1lbGVtZW50cyBzdHlsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDA4MTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zdHlsaW5nLXBzZXVkby1hdHRyaWJ1dGUt
ZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3N0eWxpbmct
cHNldWRvLWF0dHJpYnV0ZS5odG1sOiBBZGRlZC4KKwogMjAxMi0xMC0zMSAgU2hpbnlhIEthd2Fu
YWthICA8c2hpbnlha0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW1NoYWRvd10gRWxlbWVudCBz
aG91bGQgaGF2ZSBnZXR0ZXIgYW5kIHNldHRlciBvZiBhdHRyaWJ1dGUgJ3BzZXVkbycKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zdHlsaW5nLXBzZXVkby1hdHRyaWJ1
dGUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zdHlsaW5nLXBz
ZXVkby1hdHRyaWJ1dGUtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NzQ2ZDk1NDQwMDc1NWQx
ZGIyZGU2MGUyNTYzYTM4ZGFmOTUwOWU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3N0eWxpbmctcHNldWRvLWF0dHJpYnV0ZS1leHBlY3RlZC5odG1sCkBA
IC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8c3R5bGU+CisjdGFyZ2V0
IHsKKyAgICBjb2xvcjogcmVkOworfQorPC9zdHlsZT4KKzxkaXY+PGRpdiBpZD0idGFyZ2V0Ij5m
b28gYmFyPC9kaXY+PC9kaXY+CisKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zdHlsaW5nLXBzZXVkby1hdHRyaWJ1dGUuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zdHlsaW5nLXBzZXVkby1hdHRyaWJ1dGUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yY2NkOGRjOWY4ZWRlN2NkYjY0NzI5OGYwYjQ3MzhmMjc0Mjg3OTQyCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxpbmctcHNldWRvLWF0dHJpYnV0
ZS5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8c3R5bGU+
CisjaG9zdDE6OngtZm9vIHsKKyAgICBjb2xvcjogcmVkOworfQorPC9zdHlsZT4KKzxkaXYgaWQ9
Imhvc3QxIj48L2Rpdj4KKworPHNjcmlwdD4KK3ZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGhvc3QxKTsKK3ZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KTsKK2Rpdi5zZXRBdHRyaWJ1dGUoJ3BzZXVkbycsICd4LWZvbycpOworZGl2LmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCdmb28gYmFyJykpOworCitzaGFkb3dSb290MS5hcHBl
bmRDaGlsZChkaXYpOworPC9zY3JpcHQ+CisKKworPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172009</attachid>
            <date>2012-11-02 02:10:52 -0700</date>
            <delta_ts>2012-11-02 23:13:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100812-20121102180912.patch</filename>
            <type>text/plain</type>
            <size>4375</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMjcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZThhM2ExMWRiYmVhZjY3
OGU3MTQxODdmYmQzNzVhYmRkNzVhMDRlZC4uNTQ2Y2ZkMjQyMWFlMzlmY2Q1Y2MwMzQyNDEzMDQ0
Yjk1ZDUzZWRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTEwLTMxICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4gCisKKyAgICAgICAgW1NoYWRvd10g
SW1wbGVtZW50IGN1c3RvbSBwc2V1ZG8tZWxlbWVudHMgc3R5bGluZworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwODEyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5zdGVhZCBvZiB1c2luZyBFbGVtZW50
UmFyZURhdGE6Om1fc2hhZG93UHNldWRvSWQsIHdlIHVzZSAncHNldWRvJyBhdHRyaWJ1dGUgaW5z
dGVhZC4KKworICAgICAgICBMYXRlciB3ZSB3b3VsZCBsaWtlIHRvIHJlbW92ZSBFbGVtZW50Ojpz
aGFkb3dQc2V1ZG9JZCBhbmQgRWxlbWVudDo6c2V0U2hhZG93UHNldWRvSWQKKyAgICAgICAgYW5k
IHVzZSBwc2V1ZG8oKS9zZXRQc2V1ZG8oKSBpbnN0ZWFkLgorCisgICAgICAgIFRlc3Q6IGZhc3Qv
ZG9tL3NoYWRvdy9zdHlsaW5nLXBzZXVkby1hdHRyaWJ1dGUuaHRtbAorCisgICAgICAgICogZG9t
L0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2hhZG93UHNldWRvSWQp
OgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2V0U2hhZG93UHNldWRvSWQpOgorICAgICAg
ICAqIGRvbS9FbGVtZW50UmFyZURhdGEuaDoKKyAgICAgICAgKEVsZW1lbnRSYXJlRGF0YSk6CisK
IDIwMTItMTEtMDEgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgTWVtb3J5IGluc3RydW1lbnRhdGlvbjogZG8gbm90IGNhbGwgY2hlY2tDb3VudGVkT2Jq
ZWN0IHdpdGggd3JvbmcgcG9pbnRlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCA4NmIzMWYx
YzVhYjM0MWQwNTMzOTA1YzM5NjBhMWEzZDFiOTMzMGU1Li4xZTdhOGM4N2VlYWQ4OTQyOTM0NTM3
YmY1MzBmZGM3ZjZlMjA5ZmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0xMzEwLDIwICsx
MzEwLDE3IEBAIFNoYWRvd1Jvb3QqIEVsZW1lbnQ6OnVzZXJBZ2VudFNoYWRvd1Jvb3QoKSBjb25z
dAogCiBjb25zdCBBdG9taWNTdHJpbmcmIEVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKCkgY29uc3QK
IHsKLSAgICByZXR1cm4gaGFzUmFyZURhdGEoKSA/IGVsZW1lbnRSYXJlRGF0YSgpLT5tX3NoYWRv
d1BzZXVkb0lkIDogbnVsbEF0b207CisgICAgcmV0dXJuIHBzZXVkbygpOwogfQogCiB2b2lkIEVs
ZW1lbnQ6OnNldFNoYWRvd1BzZXVkb0lkKGNvbnN0IEF0b21pY1N0cmluZyYgaWQsIEV4Y2VwdGlv
bkNvZGUmIGVjKQogewotICAgIGlmICghaGFzUmFyZURhdGEoKSAmJiBpZCA9PSBudWxsQXRvbSkK
LSAgICAgICAgcmV0dXJuOwotCiAgICAgaWYgKCFDU1NTZWxlY3Rvcjo6aXNVbmtub3duUHNldWRv
VHlwZShpZCkpIHsKICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwogICAgICAgICByZXR1cm47CiAg
ICAgfQogCi0gICAgZW5zdXJlRWxlbWVudFJhcmVEYXRhKCktPm1fc2hhZG93UHNldWRvSWQgPSBp
ZDsKKyAgICBzZXRQc2V1ZG8oaWQpOwogfQogCiBib29sIEVsZW1lbnQ6OmNoaWxkVHlwZUFsbG93
ZWQoTm9kZVR5cGUgdHlwZSkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50UmFyZURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaApp
bmRleCBiNGJjOGUyZTk5YjNhZjRiYzBkMTMxOWMyZDVmMDMyZTQzYmI1ZmZmLi4zN2RjYTUxMWZl
Mzg3ZDI5MzFiOTMyYTg1ZGViYzBkODk3MTRhYjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRS
YXJlRGF0YS5oCkBAIC0xMTIsNyArMTEyLDYgQEAgcHVibGljOgogCiAgICAgTGF5b3V0U2l6ZSBt
X21pbmltdW1TaXplRm9yUmVzaXppbmc7CiAgICAgUmVmUHRyPFJlbmRlclN0eWxlPiBtX2NvbXB1
dGVkU3R5bGU7Ci0gICAgQXRvbWljU3RyaW5nIG1fc2hhZG93UHNldWRvSWQ7CiAKICAgICBPd25Q
dHI8RGF0YXNldERPTVN0cmluZ01hcD4gbV9kYXRhc2V0RE9NU3RyaW5nTWFwOwogICAgIE93blB0
cjxDbGFzc0xpc3Q+IG1fY2xhc3NMaXN0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGRmZjA4YjhjMzhmY2RmYTA1ZDg5ZWI4
YjNjMWJmMWUwMjZjZDg4N2IuLjRjNDU3ODlkNmZkMjg0NjYzNGY5NGZmNzk1NzU3NDU2ODJkNWQx
MDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0xMC0zMSAgU2hpbnlhIEthd2FuYWthICA8
c2hpbnlha0BjaHJvbWl1bS5vcmc+IAorCisgICAgICAgIFtTaGFkb3ddIEltcGxlbWVudCBjdXN0
b20gcHNldWRvLWVsZW1lbnRzIHN0eWxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwMDgxMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3N0eWxpbmctcHNldWRvLWF0dHJp
YnV0ZS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc3R5
bGluZy1wc2V1ZG8tYXR0cmlidXRlLmh0bWw6IEFkZGVkLgorCiAyMDEyLTExLTAxICBTaGlueWEg
S2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbU2hhZG93XSBFbGVt
ZW50IHNob3VsZCBoYXZlIGdldHRlciBhbmQgc2V0dGVyIG9mIGF0dHJpYnV0ZSAncHNldWRvJwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxpbmctcHNldWRvLWF0
dHJpYnV0ZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxp
bmctcHNldWRvLWF0dHJpYnV0ZS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3NDZkOTU0NDAw
NzU1ZDFkYjJkZTYwZTI1NjNhMzhkYWY5NTA5ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGluZy1wc2V1ZG8tYXR0cmlidXRlLWV4cGVjdGVkLmh0
bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxzdHlsZT4KKyN0
YXJnZXQgeworICAgIGNvbG9yOiByZWQ7Cit9Cis8L3N0eWxlPgorPGRpdj48ZGl2IGlkPSJ0YXJn
ZXQiPmZvbyBiYXI8L2Rpdj48L2Rpdj4KKworPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3N0eWxpbmctcHNldWRvLWF0dHJpYnV0ZS5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxpbmctcHNldWRvLWF0dHJpYnV0ZS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjJjY2Q4ZGM5ZjhlZGU3Y2RiNjQ3Mjk4ZjBiNDczOGYyNzQyODc5NDIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGluZy1wc2V1ZG8tYXR0
cmlidXRlLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxz
dHlsZT4KKyNob3N0MTo6eC1mb28geworICAgIGNvbG9yOiByZWQ7Cit9Cis8L3N0eWxlPgorPGRp
diBpZD0iaG9zdDEiPjwvZGl2PgorCis8c2NyaXB0PgordmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoaG9zdDEpOwordmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2RpdicpOworZGl2LnNldEF0dHJpYnV0ZSgncHNldWRvJywgJ3gtZm9vJyk7CitkaXYuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJ2ZvbyBiYXInKSk7CisKK3NoYWRvd1Jvb3Qx
LmFwcGVuZENoaWxkKGRpdik7Cis8L3NjcmlwdD4KKworCis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172210</attachid>
            <date>2012-11-02 23:13:06 -0700</date>
            <delta_ts>2012-11-04 17:54:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100812-20121103151124.patch</filename>
            <type>text/plain</type>
            <size>5062</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMzg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmE3ZjYwNjRkZWRkYzcw
N2NjNWZjNTcyYmExMjExMGJmMjMzY2U3NS4uNTE0NTQwYzJiNGYwZTNjOTkyZjExMTA3NjJiNDJl
NmVmODM5OGIzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTExLTAyICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbU2hhZG93XSBJ
bXBsZW1lbnQgY3VzdG9tIHBzZXVkby1lbGVtZW50cyBzdHlsaW5nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA4MTIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnN0ZWFkIG9mIHVzaW5nIEVsZW1lbnRS
YXJlRGF0YTo6bV9zaGFkb3dQc2V1ZG9JZCwgd2UgdXNlICdwc2V1ZG8nIGF0dHJpYnV0ZSBpbnN0
ZWFkLgorCisgICAgICAgIExhdGVyIHdlIHdvdWxkIGxpa2UgdG8gcmVtb3ZlIEVsZW1lbnQ6OnNo
YWRvd1BzZXVkb0lkIGFuZCBFbGVtZW50OjpzZXRTaGFkb3dQc2V1ZG9JZAorICAgICAgICBhbmQg
dXNlIHBzZXVkbygpL3NldFBzZXVkbygpIGluc3RlYWQuCisKKyAgICAgICAgVGVzdDogZmFzdC9k
b20vc2hhZG93L3N0eWxpbmctcHNldWRvLWF0dHJpYnV0ZS5odG1sCisKKyAgICAgICAgKiBkb20v
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCk6
CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzZXRTaGFkb3dQc2V1ZG9JZCk6CisgICAgICAg
ICogZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFy
ZURhdGE6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vRWxlbWVudFJhcmVEYXRh
Lmg6CisgICAgICAgIChFbGVtZW50UmFyZURhdGEpOgorCiAyMDEyLTEwLTI1ICBNYXJ0aW4gUm9i
aW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBNb3ZlIHNvdXAg
YXV0aGVudGljYXRpb24gZnJvbSBHdGtBdXRoZW50aWNhdGlvbkRpYWxvZyB0byBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAKaW5kZXggMDJlNjBkYTdhYWYwNzUwMjM3ZDdjODc3NDBiODM3MGEw
MThlMWJkYy4uZDE4ZjAyMjc4MGJmNTY5OTQ4NjZmNTNiYzVkMmY5NzVlNTI1YjM3NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcApAQCAtMTMxMCwyMCArMTMxMCwxNyBAQCBTaGFkb3dSb290KiBFbGVt
ZW50Ojp1c2VyQWdlbnRTaGFkb3dSb290KCkgY29uc3QKIAogY29uc3QgQXRvbWljU3RyaW5nJiBF
bGVtZW50OjpzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGhhc1JhcmVEYXRh
KCkgPyBlbGVtZW50UmFyZURhdGEoKS0+bV9zaGFkb3dQc2V1ZG9JZCA6IG51bGxBdG9tOworICAg
IHJldHVybiBwc2V1ZG8oKTsKIH0KIAogdm9pZCBFbGVtZW50OjpzZXRTaGFkb3dQc2V1ZG9JZChj
b25zdCBBdG9taWNTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICBpZiAoIWhh
c1JhcmVEYXRhKCkgJiYgaWQgPT0gbnVsbEF0b20pCi0gICAgICAgIHJldHVybjsKLQogICAgIGlm
ICghQ1NTU2VsZWN0b3I6OmlzVW5rbm93blBzZXVkb1R5cGUoaWQpKSB7CiAgICAgICAgIGVjID0g
U1lOVEFYX0VSUjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGVuc3VyZUVsZW1lbnRS
YXJlRGF0YSgpLT5tX3NoYWRvd1BzZXVkb0lkID0gaWQ7CisgICAgc2V0UHNldWRvKGlkKTsKIH0K
IAogYm9vbCBFbGVtZW50OjpjaGlsZFR5cGVBbGxvd2VkKE5vZGVUeXBlIHR5cGUpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3BwCmluZGV4IGUwODNjZTc4MzEyNDVlMjVl
ZDUyZmU1NmQ5OTNjYjMzMzk4NjdmZjcuLjkzODJmNTA0OTJhOWIwZWZkYzQ1YzA3NGY1ZjA2Yjc0
MzFmMmFiN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3BwCkBAIC00Miw3
ICs0Miw2IEBAIHZvaWQgRWxlbWVudFJhcmVEYXRhOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zCiAgICAgTm9kZVJhcmVEYXRhOjpyZXBv
cnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2Nh
Y2hlZENvbGxlY3Rpb25zKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2NvbXB1dGVkU3R5bGUpOwot
ICAgIGluZm8uYWRkTWVtYmVyKG1fc2hhZG93UHNldWRvSWQpOwogCiAgICAgaW5mby5hZGRNZW1i
ZXIobV9kYXRhc2V0RE9NU3RyaW5nTWFwKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2NsYXNzTGlz
dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKaW5kZXggMWJlYWNiZmUxZDE4YTQ5
MWU1MWRlN2FkOTk3YTk4NDIwYzllZDM3Zi4uNGIxOWNkNDJiMzQ5ZDIxYmIwNTA5NGM2OTNlZDU3
YWNkYjM0ZmU2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0
YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaApAQCAtMTE0LDcg
KzExNCw2IEBAIHB1YmxpYzoKIAogICAgIExheW91dFNpemUgbV9taW5pbXVtU2l6ZUZvclJlc2l6
aW5nOwogICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gbV9jb21wdXRlZFN0eWxlOwotICAgIEF0b21p
Y1N0cmluZyBtX3NoYWRvd1BzZXVkb0lkOwogCiAgICAgT3duUHRyPERhdGFzZXRET01TdHJpbmdN
YXA+IG1fZGF0YXNldERPTVN0cmluZ01hcDsKICAgICBPd25QdHI8Q2xhc3NMaXN0PiBtX2NsYXNz
TGlzdDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCA0ODMyOWFhODI0ZDgxNmFmNzFhMjZkNDhjNDNjYTA0ZGRjZmM1MzhkLi5j
NWJiZTQ2Y2Q4ZjVhODkwODdkOTk5NGMwMzUxODc0YTdjYTBmN2U1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMTItMTEtMDIgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFtTaGFkb3ddIEltcGxlbWVudCBjdXN0b20gcHNldWRvLWVsZW1lbnRzIHN0
eWxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
MDgxMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
ZmFzdC9kb20vc2hhZG93L3N0eWxpbmctcHNldWRvLWF0dHJpYnV0ZS1leHBlY3RlZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc3R5bGluZy1wc2V1ZG8tYXR0cmlidXRl
Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTExLTAyICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcu
Ym90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTMzMzc1
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxpbmctcHNldWRv
LWF0dHJpYnV0ZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0
eWxpbmctcHNldWRvLWF0dHJpYnV0ZS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3NDZkOTU0
NDAwNzU1ZDFkYjJkZTYwZTI1NjNhMzhkYWY5NTA5ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGluZy1wc2V1ZG8tYXR0cmlidXRlLWV4cGVjdGVk
Lmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxzdHlsZT4K
KyN0YXJnZXQgeworICAgIGNvbG9yOiByZWQ7Cit9Cis8L3N0eWxlPgorPGRpdj48ZGl2IGlkPSJ0
YXJnZXQiPmZvbyBiYXI8L2Rpdj48L2Rpdj4KKworPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxpbmctcHNldWRvLWF0dHJpYnV0ZS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxpbmctcHNldWRvLWF0dHJpYnV0ZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjJjY2Q4ZGM5ZjhlZGU3Y2RiNjQ3Mjk4ZjBiNDczOGYyNzQyODc5NDIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGluZy1wc2V1ZG8t
YXR0cmlidXRlLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxzdHlsZT4KKyNob3N0MTo6eC1mb28geworICAgIGNvbG9yOiByZWQ7Cit9Cis8L3N0eWxlPgor
PGRpdiBpZD0iaG9zdDEiPjwvZGl2PgorCis8c2NyaXB0PgordmFyIHNoYWRvd1Jvb3QxID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwordmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOworZGl2LnNldEF0dHJpYnV0ZSgncHNldWRvJywgJ3gtZm9vJyk7CitkaXYuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJ2ZvbyBiYXInKSk7CisKK3NoYWRvd1Jv
b3QxLmFwcGVuZENoaWxkKGRpdik7Cis8L3NjcmlwdD4KKworCis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172251</attachid>
            <date>2012-11-04 17:54:45 -0800</date>
            <delta_ts>2012-11-04 19:05:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100812-20121105105301.patch</filename>
            <type>text/plain</type>
            <size>5077</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNDI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjE0YTliNzE2N2ViMmFj
NWM0MDU4NTc4NTAxYWM5MmViZTcyYmU1MC4uZjg0NTMwYzc1NDA0Y2QyM2FiZWFkZGUzZTJjNWQ1
MWI5ZDQxNzVhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTExLTAyICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbU2hhZG93XSBJ
bXBsZW1lbnQgY3VzdG9tIHBzZXVkby1lbGVtZW50cyBzdHlsaW5nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA4MTIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnN0ZWFkIG9mIHVzaW5nIEVsZW1lbnRS
YXJlRGF0YTo6bV9zaGFkb3dQc2V1ZG9JZCwgd2UgdXNlICdwc2V1ZG8nIGF0dHJpYnV0ZS4KKwor
ICAgICAgICBMYXRlciB3ZSB3b3VsZCBsaWtlIHRvIHJlbW92ZSBFbGVtZW50OjpzaGFkb3dQc2V1
ZG9JZCBhbmQgRWxlbWVudDo6c2V0U2hhZG93UHNldWRvSWQKKyAgICAgICAgYW5kIHVzZSBwc2V1
ZG8oKS9zZXRQc2V1ZG8oKSBpbnN0ZWFkIChCdWcgMTAxMTcxKS4KKworICAgICAgICBUZXN0OiBm
YXN0L2RvbS9zaGFkb3cvc3R5bGluZy1wc2V1ZG8tYXR0cmlidXRlLmh0bWwKKworICAgICAgICAq
IGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNoYWRvd1BzZXVk
b0lkKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldFNoYWRvd1BzZXVkb0lkKToKKyAg
ICAgICAgKiBkb20vRWxlbWVudFJhcmVEYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1l
bnRSYXJlRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGRvbS9FbGVtZW50UmFy
ZURhdGEuaDoKKyAgICAgICAgKEVsZW1lbnRSYXJlRGF0YSk6CisKIDIwMTItMTEtMDQgIEtlbnQg
VGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEJhc2VDaG9vc2VyT25seURh
dGVBbmRUaW1lSW5wdXRUeXBlIHNob3VsZCBoYXZlIEJhc2VDbGlja2FibGVXaXRoS2V5SW5wdXRU
eXBlIGJlaGF2aW9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggZTFhZTQ2MzQwNTZhM2ViZTU1
N2IxZmVkNzc2M2ViMWQxMTU3NWI1Ny4uOGE2NzJlYTY4ZGQyNjk0NjIyMzNiNGQyZmQ1MDc2Yzk2
ZmM3NjY0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMTM1NCwyMCArMTM1NCwxNyBAQCBT
aGFkb3dSb290KiBFbGVtZW50Ojp1c2VyQWdlbnRTaGFkb3dSb290KCkgY29uc3QKIAogY29uc3Qg
QXRvbWljU3RyaW5nJiBFbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIGhhc1JhcmVEYXRhKCkgPyBlbGVtZW50UmFyZURhdGEoKS0+bV9zaGFkb3dQc2V1ZG9JZCA6
IG51bGxBdG9tOworICAgIHJldHVybiBwc2V1ZG8oKTsKIH0KIAogdm9pZCBFbGVtZW50OjpzZXRT
aGFkb3dQc2V1ZG9JZChjb25zdCBBdG9taWNTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2RlJiBlYykK
IHsKLSAgICBpZiAoIWhhc1JhcmVEYXRhKCkgJiYgaWQgPT0gbnVsbEF0b20pCi0gICAgICAgIHJl
dHVybjsKLQogICAgIGlmICghQ1NTU2VsZWN0b3I6OmlzVW5rbm93blBzZXVkb1R5cGUoaWQpKSB7
CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAg
IGVuc3VyZUVsZW1lbnRSYXJlRGF0YSgpLT5tX3NoYWRvd1BzZXVkb0lkID0gaWQ7CisgICAgc2V0
UHNldWRvKGlkKTsKIH0KIAogYm9vbCBFbGVtZW50OjpjaGlsZFR5cGVBbGxvd2VkKE5vZGVUeXBl
IHR5cGUpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVE
YXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3BwCmluZGV4IGUw
ODNjZTc4MzEyNDVlMjVlZDUyZmU1NmQ5OTNjYjMzMzk4NjdmZjcuLjkzODJmNTA0OTJhOWIwZWZk
YzQ1YzA3NGY1ZjA2Yjc0MzFmMmFiN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50UmFyZURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURh
dGEuY3BwCkBAIC00Miw3ICs0Miw2IEBAIHZvaWQgRWxlbWVudFJhcmVEYXRhOjpyZXBvcnRNZW1v
cnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zCiAgICAgTm9k
ZVJhcmVEYXRhOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICBpbmZv
LmFkZE1lbWJlcihtX2NhY2hlZENvbGxlY3Rpb25zKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2Nv
bXB1dGVkU3R5bGUpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fc2hhZG93UHNldWRvSWQpOwogCiAg
ICAgaW5mby5hZGRNZW1iZXIobV9kYXRhc2V0RE9NU3RyaW5nTWFwKTsKICAgICBpbmZvLmFkZE1l
bWJlcihtX2NsYXNzTGlzdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dFJhcmVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKaW5kZXgg
MWJlYWNiZmUxZDE4YTQ5MWU1MWRlN2FkOTk3YTk4NDIwYzllZDM3Zi4uNGIxOWNkNDJiMzQ5ZDIx
YmIwNTA5NGM2OTNlZDU3YWNkYjM0ZmU2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnRSYXJlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURh
dGEuaApAQCAtMTE0LDcgKzExNCw2IEBAIHB1YmxpYzoKIAogICAgIExheW91dFNpemUgbV9taW5p
bXVtU2l6ZUZvclJlc2l6aW5nOwogICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gbV9jb21wdXRlZFN0
eWxlOwotICAgIEF0b21pY1N0cmluZyBtX3NoYWRvd1BzZXVkb0lkOwogCiAgICAgT3duUHRyPERh
dGFzZXRET01TdHJpbmdNYXA+IG1fZGF0YXNldERPTVN0cmluZ01hcDsKICAgICBPd25QdHI8Q2xh
c3NMaXN0PiBtX2NsYXNzTGlzdDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmNjJmNzAyMTM1ZGUyNzNhOWE4ZDZhMThjM2Q5
NTdhMmRhMjYzMWIxLi5iNDc0N2NjNDFiODliYjg0MDRkMGRlMDY5YWVhNThkOTcwNGE3ZDkyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMTEtMDIgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55
YWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtTaGFkb3ddIEltcGxlbWVudCBjdXN0b20gcHNl
dWRvLWVsZW1lbnRzIHN0eWxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwMDgxMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3N0eWxpbmctcHNldWRvLWF0dHJpYnV0ZS1l
eHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc3R5bGluZy1w
c2V1ZG8tYXR0cmlidXRlLmh0bWw6IEFkZGVkLgorCiAyMDEyLTExLTA0ICBTaGVyaWZmIEJvdCAg
PHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByMTMzNDE2LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3N0eWxpbmctcHNldWRvLWF0dHJpYnV0ZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3N0eWxpbmctcHNldWRvLWF0dHJpYnV0ZS1leHBlY3RlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY3NDZkOTU0NDAwNzU1ZDFkYjJkZTYwZTI1NjNhMzhkYWY5NTA5ZTkKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGluZy1wc2V1ZG8tYXR0
cmlidXRlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxzdHlsZT4KKyN0YXJnZXQgeworICAgIGNvbG9yOiByZWQ7Cit9Cis8L3N0eWxlPgor
PGRpdj48ZGl2IGlkPSJ0YXJnZXQiPmZvbyBiYXI8L2Rpdj48L2Rpdj4KKworPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxpbmctcHNldWRvLWF0dHJp
YnV0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxpbmctcHNldWRvLWF0
dHJpYnV0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJjY2Q4ZGM5ZjhlZGU3Y2RiNjQ3Mjk4ZjBiNDczOGYy
NzQyODc5NDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c3R5bGluZy1wc2V1ZG8tYXR0cmlidXRlLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxzdHlsZT4KKyNob3N0MTo6eC1mb28geworICAgIGNvbG9yOiByZWQ7
Cit9Cis8L3N0eWxlPgorPGRpdiBpZD0iaG9zdDEiPjwvZGl2PgorCis8c2NyaXB0PgordmFyIHNo
YWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwordmFyIGRpdiA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworZGl2LnNldEF0dHJpYnV0ZSgncHNldWRvJywgJ3gt
Zm9vJyk7CitkaXYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJ2ZvbyBiYXIn
KSk7CisKK3NoYWRvd1Jvb3QxLmFwcGVuZENoaWxkKGRpdik7Cis8L3NjcmlwdD4KKworCis8L2h0
bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>