<?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>107640</bug_id>
          
          <creation_ts>2013-01-23 00:15:55 -0800</creation_ts>
          <short_desc>Refactoring: The name ContainerNode::removeChildren and ContainerNde::removeAllChilren() is confusing</short_desc>
          <delta_ts>2013-01-29 12:25:39 -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>DOM</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>107634</dependson>
    
    <dependson>107790</dependson>
          <blocked>107801</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hajime Morrita">morrita</reporter>
          <assigned_to name="Hajime Morrita">morrita</assigned_to>
          <cc>adamk</cc>
    
    <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>d-r</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn</cc>
    
    <cc>fmalita</cc>
    
    <cc>inferno</cc>
    
    <cc>mifenton</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>pdr</cc>
    
    <cc>peter+ews</cc>
    
    <cc>philn</cc>
    
    <cc>rniwa</cc>
    
    <cc>schenney</cc>
    
    <cc>tkent</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>813927</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-23 00:15:55 -0800</bug_when>
    <thetext>These names are confusing. removeAllChilren() is unsafe operation and should be named like that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815010</commentid>
    <comment_count>1</comment_count>
      <attachid>184392</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-23 20:40:38 -0800</bug_when>
    <thetext>Created attachment 184392
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815029</commentid>
    <comment_count>2</comment_count>
      <attachid>184392</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-23 20:59:19 -0800</bug_when>
    <thetext>Comment on attachment 184392
Patch

Attachment 184392 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/16079523</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815076</commentid>
    <comment_count>3</comment_count>
      <attachid>184392</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-23 22:20:28 -0800</bug_when>
    <thetext>Comment on attachment 184392
Patch

Is this behavior change observable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815079</commentid>
    <comment_count>4</comment_count>
      <attachid>184392</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-23 22:25:32 -0800</bug_when>
    <thetext>Comment on attachment 184392
Patch

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

&gt; Source/WebCore/dom/ContainerNode.cpp:105
&gt; -    oldParent-&gt;removeAllChildren();
&gt; +    // removeDetachedChildren() cannot be used here sicne takeAllChildrenFrom() violates its precondition
&gt; +    // and does detach() its children after the removal.
&gt; +    removeAllChildrenInContainer&lt;Node, ContainerNode&gt;(this);

Should we isolate put this in a separate patch so that we can merge it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815082</commentid>
    <comment_count>5</comment_count>
      <attachid>184392</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-23 22:27:37 -0800</bug_when>
    <thetext>Comment on attachment 184392
Patch

Attachment 184392 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/16073621</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815103</commentid>
    <comment_count>6</comment_count>
      <attachid>184409</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-23 22:56:04 -0800</bug_when>
    <thetext>Created attachment 184409
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815105</commentid>
    <comment_count>7</comment_count>
      <attachid>184410</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-23 22:58:33 -0800</bug_when>
    <thetext>Created attachment 184410
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815107</commentid>
    <comment_count>8</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-23 23:00:47 -0800</bug_when>
    <thetext>
&gt; Should we isolate put this in a separate patch so that we can merge it?
No longer necessary. I gave up to add an assert() since some tets hit it.
I hope I could understand why it can happen. But it looks far from trivial.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815108</commentid>
    <comment_count>9</comment_count>
      <attachid>184410</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-23 23:01:12 -0800</bug_when>
    <thetext>Comment on attachment 184410
Patch

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

&gt; Source/WebCore/ChangeLog:33
&gt; +        (WebCore::InputType::destroyShadowSubtree): Replaced a wrong call site.
&gt; +        * html/ValidationMessage.cpp:
&gt; +        (WebCore::ValidationMessage::setMessageDOMAndStartTimer): Replaced a wrong call site.
&gt; +        * html/parser/HTMLTreeBuilder.cpp:
&gt; +        (WebCore::HTMLTreeBuilder::processEndTag): Replaced a wrong call site.

Why don&apos;t we fix these calls in a separate patch first?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815109</commentid>
    <comment_count>10</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-23 23:01:45 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; &gt; Should we isolate put this in a separate patch so that we can merge it?
&gt; No longer necessary. I gave up to add an assert() since some tets hit it.
&gt; I hope I could understand why it can happen. But it looks far from trivial.
Note that these failure isn&apos;t new to this change.
The new assert just unveiled it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815110</commentid>
    <comment_count>11</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-23 23:02:20 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; &gt; +        (WebCore::InputType::destroyShadowSubtree): Replaced a wrong call site.
&gt; &gt; +        * html/ValidationMessage.cpp:
&gt; &gt; +        (WebCore::ValidationMessage::setMessageDOMAndStartTimer): Replaced a wrong call site.
&gt; &gt; +        * html/parser/HTMLTreeBuilder.cpp:
&gt; &gt; +        (WebCore::HTMLTreeBuilder::processEndTag): Replaced a wrong call site.
&gt; 
&gt; Why don&apos;t we fix these calls in a separate patch first?
Right, will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815113</commentid>
    <comment_count>12</comment_count>
      <attachid>184410</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-23 23:06:21 -0800</bug_when>
    <thetext>Comment on attachment 184410
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        The name ContainerNode::removeChildren and ContainerNde::removeAllChildren() is confusing

Typo: Nde.

&gt; Source/WebCore/ChangeLog:8
&gt; +        This change renames removeAllChildren() to removeDeletingChildren(), and hide as a protected method

I don&apos;t think the difference between removeChildren and removeDeletingChildren is clear. Maybe removeChildrenWithoutNotifications? Or maybe removeChildrenAfterDeletionHasBegun? Or maybe even removeChildrenInDestructor?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815114</commentid>
    <comment_count>13</comment_count>
      <attachid>184410</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-23 23:07:06 -0800</bug_when>
    <thetext>Comment on attachment 184410
Patch

Attachment 184410 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/16084510</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815118</commentid>
    <comment_count>14</comment_count>
      <attachid>184410</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-01-23 23:12:12 -0800</bug_when>
    <thetext>Comment on attachment 184410
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        This change renames removeAllChildren() to removeDeletingChildren(), and hide as a protected method
&gt; +        for preventing future misuse.

Suggestion for the name: removeAndDelegeChildren().

&gt; Source/WebCore/dom/ContainerNode.cpp:95
&gt;      removeAllChildrenInContainer&lt;Node, ContainerNode&gt;(this);

Why not rename this accordingly?
This does not seem to be less confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815121</commentid>
    <comment_count>15</comment_count>
      <attachid>184410</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-23 23:14:04 -0800</bug_when>
    <thetext>Comment on attachment 184410
Patch

Attachment 184410 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/16097033</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815140</commentid>
    <comment_count>16</comment_count>
      <attachid>184410</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-23 23:34:59 -0800</bug_when>
    <thetext>Comment on attachment 184410
Patch

Attachment 184410 did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/16074601</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815141</commentid>
    <comment_count>17</comment_count>
      <attachid>184410</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-23 23:36:20 -0800</bug_when>
    <thetext>Comment on attachment 184410
Patch

Attachment 184410 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16065920</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815151</commentid>
    <comment_count>18</comment_count>
      <attachid>184410</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-23 23:49:46 -0800</bug_when>
    <thetext>Comment on attachment 184410
Patch

Attachment 184410 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/16082528</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815157</commentid>
    <comment_count>19</comment_count>
      <attachid>184410</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2013-01-23 23:56:19 -0800</bug_when>
    <thetext>Comment on attachment 184410
Patch

Attachment 184410 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/16083536</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815166</commentid>
    <comment_count>20</comment_count>
      <attachid>184410</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-24 00:15:21 -0800</bug_when>
    <thetext>Comment on attachment 184410
Patch

Attachment 184410 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/16082548</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815224</commentid>
    <comment_count>21</comment_count>
      <attachid>184435</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-24 01:11:49 -0800</bug_when>
    <thetext>Created attachment 184435
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815225</commentid>
    <comment_count>22</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-24 01:13:07 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 184410 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=184410&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        This change renames removeAllChildren() to removeDeletingChildren(), and hide as a protected method
&gt; &gt; +        for preventing future misuse.
&gt; 
&gt; Suggestion for the name: removeAndDelegeChildren().

Well, a node isn&apos;t deleted when it is referred from somewhere else, like JS.
That means the term &quot;deleting&quot; is also wrong. I&apos;d choose my first choice &quot;detached&quot;.

&gt; 
&gt; &gt; Source/WebCore/dom/ContainerNode.cpp:95
&gt; &gt;      removeAllChildrenInContainer&lt;Node, ContainerNode&gt;(this);
&gt; 
&gt; Why not rename this accordingly?
&gt; This does not seem to be less confusing.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815226</commentid>
    <comment_count>23</comment_count>
      <attachid>184435</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-24 01:13:52 -0800</bug_when>
    <thetext>Comment on attachment 184435
Patch

OK, so this is just a renaming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815228</commentid>
    <comment_count>24</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-24 01:14:55 -0800</bug_when>
    <thetext>Yay!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815229</commentid>
    <comment_count>25</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-01-24 01:15:24 -0800</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=184435&amp;action=review

Nits :)

&gt; Source/WebCore/ChangeLog:8
&gt; +        This chagne renames unsafe removeAllChilren() function to

Typo: chagne

&gt; Source/WebCore/dom/ContainerNode.cpp:95
&gt; +    // FIXME: We should be able to ASSERT(!attached() here: https://bugs.webkit.org/show_bug.cgi?id=107801

Unbalanced parenthesis.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816255</commentid>
    <comment_count>26</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-24 22:42:27 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=184435&amp;action=review
&gt; 
&gt; Nits :)
Good catch :) will fix then land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816258</commentid>
    <comment_count>27</comment_count>
      <attachid>184672</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-24 22:44:09 -0800</bug_when>
    <thetext>Created attachment 184672
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816260</commentid>
    <comment_count>28</comment_count>
      <attachid>184672</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-24 22:45:34 -0800</bug_when>
    <thetext>Comment on attachment 184672
Patch for landing

Rejecting attachment 184672 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=gce-cq-02&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 184672, &apos;--port=chromium-xvfb&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
e left on device
patch: **** Can&apos;t create file /tmp/ppfHpsGX : No space left on device
patch: **** Can&apos;t create file /tmp/ppS210tY : No space left on device
patch: **** Can&apos;t create file /tmp/ppMPPp8X : No space left on device
patch: **** Can&apos;t create file /tmp/ppRkXRhY : No space left on device
patch: **** Can&apos;t create file /tmp/pp7inRr1 : No space left on device

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Full output: http://queues.webkit.org/results/16122135</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816261</commentid>
    <comment_count>29</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-24 22:47:28 -0800</bug_when>
    <thetext>Committed r140784: &lt;http://trac.webkit.org/changeset/140784&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819013</commentid>
    <comment_count>30</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-01-29 09:26:08 -0800</bug_when>
    <thetext>This is a fantastic step forward. Thank you so much. When I wrote that FIXME two years ago I never thought it would be this long before we worked out what the problem was!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184392</attachid>
            <date>2013-01-23 20:40:38 -0800</date>
            <delta_ts>2013-01-23 22:56:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107640-20130124133730.patch</filename>
            <type>text/plain</type>
            <size>8676</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdmMzlmMzNjZTcxOTI4
OTkzZTdmODQ4YzAyOWQ1MjQ1YThiYWRlZC4uNmQ1YjliZTYyYzI4OTgwNTFlYzk1OGMyNGNlMWI5
YWJlMjYxMzQ4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEzLTAxLTIzICBIYWpp
bWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBUaGUgbmFtZSBDb250
YWluZXJOb2RlOjpyZW1vdmVDaGlsZHJlbiBhbmQgQ29udGFpbmVyTmRlOjpyZW1vdmVBbGxDaGls
ZHJlbigpIGlzIGNvbmZ1c2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTA3NjQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhpcyBjaGFuZ2UgcmVuYW1lcyByZW1vdmVBbGxDaGlsZHJlbigpIHRvIHJl
bW92ZURldGFjaGVkQ2hpbGRyZW4oKSwgYW5kIGhpZGUgYXMgYSBwcm90ZWN0ZWQgbWV0aG9kCisg
ICAgICAgIGZvciBwcmV2ZW50aW5nIGZ1dHVyZSBtaXN1c2UuCisKKyAgICAgICAgVGhpcyBjaGFu
Z2UgYWxzbyBhZGRzIGFuIGFzc2VydGlvbiBpbiByZW1vdmVEZXRhY2hlZENoaWxkcmVuKCkKKyAg
ICAgICAgd2hpY2ggZW5zdXJlcyB0aGF0IHRoZSBzdWJ0cmVlIGlzIHJlYWR5IHRvIHF1aWNrIGRl
bGV0aW9uLgorCisgICAgICAgIFRoZSBhc3NlcnRpb24gYWN0dWFsbHkgcmV2ZWFsZWQgc29tZSBl
eGlzdGluZyAoc3BlY3VsYXRpdmUpCisgICAgICAgIG1pc3VzZS4gVGhlc2UgY2FsbHNpdGVzIGFy
ZSByZXBsYWNlZCBieSByZW1vdmVDaGlsZHJlbigpLCB3aGljaCBpcworICAgICAgICBzYWZlciBh
bmQgaW50ZW5kZWQgcHVibGljIHVzZS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGNvdmVyZWQg
YnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBkb20vQ29udGFpbmVyTm9kZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDb250YWluZXJOb2RlOjpyZW1vdmVEZXRhY2hlZENoaWxkcmVuKTog
UmVuYW1lZCBmcm9tIHJlbW92ZUFsbENoaWxkcmVuKCkKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRh
aW5lck5vZGU6OnRha2VBbGxDaGlsZHJlbkZyb20pOgorICAgICAgICAoV2ViQ29yZTo6Q29udGFp
bmVyTm9kZTo6fkNvbnRhaW5lck5vZGUpOgorICAgICAgICAqIGRvbS9Db250YWluZXJOb2RlLmg6
CisgICAgICAgIChDb250YWluZXJOb2RlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlbW92ZWRMYXN0UmVmKToKKyAgICAgICAgKiBk
b20vU2hhZG93Um9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290Ojp+U2hhZG93
Um9vdCk6CisgICAgICAgICogaHRtbC9JbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5wdXRUeXBlOjpkZXN0cm95U2hhZG93U3VidHJlZSk6CisgICAgICAgICogaHRtbC9WYWxpZGF0
aW9uTWVzc2FnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0
TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUcmVl
QnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NF
bmRUYWcpOgorCiAyMDEzLTAxLTIzICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBbVjhdIE1vdmUgVjhET01XcmFwcGVyOjpnZXRFdmVudExpc3RlbmVyKCkg
dG8gVjhFdmVudExpc3Rlckxpc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250
YWluZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAppbmRl
eCBlZjkyMWViZjZiNDNkNTRiYmQ2OGVhOWQxMjE2YjRkNGM0Mjk5ZGE0Li4wZDIwOTJlYmQ5ZmRk
ZjdjZjBmYzdlMWEyZDA0ZmU3OTM1ZTU3MDAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vQ29udGFpbmVyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5v
ZGUuY3BwCkBAIC05MCw4ICs5MCw5IEBAIHN0YXRpYyB2b2lkIGNvbGxlY3RDaGlsZHJlbkFuZFJl
bW92ZUZyb21PbGRQYXJlbnQoTm9kZSogbm9kZSwgTm9kZVZlY3RvciYgbm9kZXMsCiAgICAgdG9D
b250YWluZXJOb2RlKG5vZGUpLT5yZW1vdmVDaGlsZHJlbigpOwogfQogCi12b2lkIENvbnRhaW5l
ck5vZGU6OnJlbW92ZUFsbENoaWxkcmVuKCkKK3ZvaWQgQ29udGFpbmVyTm9kZTo6cmVtb3ZlRGV0
YWNoZWRDaGlsZHJlbigpCiB7CisgICAgQVNTRVJUKCFhdHRhY2hlZCgpKTsKICAgICByZW1vdmVB
bGxDaGlsZHJlbkluQ29udGFpbmVyPE5vZGUsIENvbnRhaW5lck5vZGU+KHRoaXMpOwogfQogCkBA
IC05OSw3ICsxMDAsOSBAQCB2b2lkIENvbnRhaW5lck5vZGU6OnRha2VBbGxDaGlsZHJlbkZyb20o
Q29udGFpbmVyTm9kZSogb2xkUGFyZW50KQogewogICAgIE5vZGVWZWN0b3IgY2hpbGRyZW47CiAg
ICAgZ2V0Q2hpbGROb2RlcyhvbGRQYXJlbnQsIGNoaWxkcmVuKTsKLSAgICBvbGRQYXJlbnQtPnJl
bW92ZUFsbENoaWxkcmVuKCk7CisgICAgLy8gcmVtb3ZlRGV0YWNoZWRDaGlsZHJlbigpIGNhbm5v
dCBiZSB1c2VkIGhlcmUgc2ljbmUgdGFrZUFsbENoaWxkcmVuRnJvbSgpIHZpb2xhdGVzIGl0cyBw
cmVjb25kaXRpb24KKyAgICAvLyBhbmQgZG9lcyBkZXRhY2goKSBpdHMgY2hpbGRyZW4gYWZ0ZXIg
dGhlIHJlbW92YWwuCisgICAgcmVtb3ZlQWxsQ2hpbGRyZW5JbkNvbnRhaW5lcjxOb2RlLCBDb250
YWluZXJOb2RlPih0aGlzKTsKIAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBjaGlsZHJl
bi5zaXplKCk7ICsraSkgewogICAgICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKQEAgLTEyMyw3
ICsxMjYsNyBAQCBDb250YWluZXJOb2RlOjp+Q29udGFpbmVyTm9kZSgpCiAgICAgaWYgKEFYT2Jq
ZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkgJiYgZG9jdW1lbnRJbnRlcm5hbCgpICYm
IGRvY3VtZW50SW50ZXJuYWwoKS0+YXhPYmplY3RDYWNoZUV4aXN0cygpKQogICAgICAgICBkb2N1
bWVudEludGVybmFsKCktPmF4T2JqZWN0Q2FjaGUoKS0+cmVtb3ZlKHRoaXMpOwogCi0gICAgcmVt
b3ZlQWxsQ2hpbGRyZW4oKTsKKyAgICByZW1vdmVEZXRhY2hlZENoaWxkcmVuKCk7CiB9CiAKIHN0
YXRpYyBpbmxpbmUgYm9vbCBpc0NoaWxkVHlwZUFsbG93ZWQoQ29udGFpbmVyTm9kZSogbmV3UGFy
ZW50LCBOb2RlKiBjaGlsZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWlu
ZXJOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oCmluZGV4IGRhZjhi
NDMyNjhhODM5OTBhZDhmNTRkN2Q4ZDExYzNkNzUxMGJmNWQuLmFkY2MxZTYyYmZmNWNiNzgwNWZj
MWQwNTc0MGI3YTFmYzg0MGQ2YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250
YWluZXJOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaApAQCAt
MTAxLDEwICsxMDEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBwYXJzZXJSZW1vdmVDaGlsZChOb2Rl
Kik7CiAgICAgdm9pZCBwYXJzZXJJbnNlcnRCZWZvcmUoUGFzc1JlZlB0cjxOb2RlPiBuZXdDaGls
ZCwgTm9kZSogcmVmQ2hpbGQpOwogCi0gICAgLy8gRklYTUU6IEl0J3Mgbm90IGdvb2QgdG8gaGF2
ZSB0d28gZnVuY3Rpb25zIHdpdGggc3VjaCBzaW1pbGFyIG5hbWVzLCBlc3BlY2lhbGx5IHB1Ymxp
YyBmdW5jdGlvbnMuCi0gICAgLy8gSG93IGRvIHJlbW92ZUNoaWxkcmVuIGFuZCByZW1vdmVBbGxD
aGlsZHJlbiBkaWZmZXI/CiAgICAgdm9pZCByZW1vdmVDaGlsZHJlbigpOwotICAgIHZvaWQgcmVt
b3ZlQWxsQ2hpbGRyZW4oKTsKIAogICAgIHZvaWQgdGFrZUFsbENoaWxkcmVuRnJvbShDb250YWlu
ZXJOb2RlKik7CiAKQEAgLTE1Niw2ICsxNTMsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2b2lkIHNl
dEZpcnN0Q2hpbGQoTm9kZSogY2hpbGQpIHsgbV9maXJzdENoaWxkID0gY2hpbGQ7IH0KICAgICB2
b2lkIHNldExhc3RDaGlsZChOb2RlKiBjaGlsZCkgeyBtX2xhc3RDaGlsZCA9IGNoaWxkOyB9Cisg
ICAgdm9pZCByZW1vdmVEZXRhY2hlZENoaWxkcmVuKCk7CiAKIHByaXZhdGU6CiAgICAgdm9pZCBy
ZW1vdmVCZXR3ZWVuKE5vZGUqIHByZXZpb3VzQ2hpbGQsIE5vZGUqIG5leHRDaGlsZCwgTm9kZSog
b2xkQ2hpbGQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggYWFmMTFhMzI1NWQ1NzQ4MTNk
YWVlZmYzMDU1NzRiZDZiNDg1OWM2Zi4uNmNiYTI5ZWQ2OTgyYjA3Y2U5MTc2YjU3MTI2MzkyNGQ1
ZDk1MThlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC02NTYsNyArNjU2LDcgQEAgdm9p
ZCBEb2N1bWVudDo6cmVtb3ZlZExhc3RSZWYoKQogICAgIGlmIChtX2d1YXJkUmVmQ291bnQpIHsK
ICAgICAgICAgLy8gSWYgcmVtb3ZpbmcgYSBjaGlsZCByZW1vdmVzIHRoZSBsYXN0IHNlbGYtb25s
eSByZWYsIHdlIGRvbid0CiAgICAgICAgIC8vIHdhbnQgdGhlIHNjb3BlIHRvIGJlIGRlc3RydWN0
ZWQgdW50aWwgYWZ0ZXIKLSAgICAgICAgLy8gcmVtb3ZlQWxsQ2hpbGRyZW4gcmV0dXJucywgc28g
d2UgZ3VhcmQgb3Vyc2VsdmVzIHdpdGggYW4KKyAgICAgICAgLy8gcmVtb3ZlRGV0YWNoZWRDaGls
ZHJlbiByZXR1cm5zLCBzbyB3ZSBndWFyZCBvdXJzZWx2ZXMgd2l0aCBhbgogICAgICAgICAvLyBl
eHRyYSBzZWxmLW9ubHkgcmVmLgogICAgICAgICBndWFyZFJlZigpOwogCkBAIC02NzcsMTAgKzY3
NywxMCBAQCB2b2lkIERvY3VtZW50OjpyZW1vdmVkTGFzdFJlZigpCiAKICAgICAgICAgZGV0YWNo
UGFyc2VyKCk7CiAKLSAgICAgICAgLy8gcmVtb3ZlQWxsQ2hpbGRyZW4oKSBkb2Vzbid0IGFsd2F5
cyB1bnJlZ2lzdGVyIElEcywKKyAgICAgICAgLy8gcmVtb3ZlRGV0YWNoZWRDaGlsZHJlbigpIGRv
ZXNuJ3QgYWx3YXlzIHVucmVnaXN0ZXIgSURzLAogICAgICAgICAvLyBzbyB0ZWFyIGRvd24gc2Nv
cGUgaW5mb3JtYXRpb24gdXBmcm9udCB0byBhdm9pZCBoYXZpbmcgc3RhbGUgcmVmZXJlbmNlcyBp
biB0aGUgbWFwLgogICAgICAgICBkZXN0cm95VHJlZVNjb3BlRGF0YSgpOwotICAgICAgICByZW1v
dmVBbGxDaGlsZHJlbigpOworICAgICAgICByZW1vdmVEZXRhY2hlZENoaWxkcmVuKCk7CiAKICAg
ICAgICAgbV9tYXJrZXJzLT5kZXRhY2goKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NoYWRvd1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCmlu
ZGV4IGUzYTQ4MjIyYjkzZDM4ZDY3MGVjMmEyMzgxZjBiZjZkYTE1MTc0MmQuLjgxYmM5MTVhYjI3
YjZkNDJlYmM5YTVjNTViMjM5ZTYxZWQzYTkxYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TaGFkb3dSb290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5j
cHAKQEAgLTg2LDcgKzg2LDcgQEAgU2hhZG93Um9vdDo6flNoYWRvd1Jvb3QoKQogICAgIC8vIFdl
IG11c3QgcmVtb3ZlIGFsbCBvZiBvdXIgY2hpbGRyZW4gZmlyc3QgYmVmb3JlIHRoZSBUcmVlU2Nv
cGUgZGVzdHJ1Y3RvcgogICAgIC8vIHJ1bnMgc28gd2UgZG9uJ3QgZ28gdGhyb3VnaCBUcmVlU2Nv
cGVBZG9wdGVyIGZvciBlYWNoIGNoaWxkIHdpdGggYQogICAgIC8vIGRlc3RydWN0ZWQgdHJlZSBz
Y29wZSBpbiBlYWNoIGRlc2NlbmRhbnQuCi0gICAgcmVtb3ZlQWxsQ2hpbGRyZW4oKTsKKyAgICBy
ZW1vdmVEZXRhY2hlZENoaWxkcmVuKCk7CiAKICAgICAvLyBXZSBtdXN0IGNhbGwgY2xlYXJSYXJl
RGF0YSgpIGhlcmUgc2luY2UgYSBTaGFkb3dSb290IGNsYXNzIGluaGVyaXRzIFRyZWVTY29wZQog
ICAgIC8vIGFzIHdlbGwgYXMgTm9kZS4gU2VlIGEgY29tbWVudCBvbiBUcmVlU2NvcGUuaCBmb3Ig
dGhlIHJlYXNvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAppbmRleCAyZDk1ZjMyOWU5NDMz
YjFhYmE5NDQ0OTc3ZmI3NGQyNWUzYmQ5OGRjLi5hYjMwMTE1ZWEyMWJjNThhYTcyNDg4ZTA2M2I3
YmM2ZjU3OTIwMGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCkBAIC00ODQsMTQgKzQ4
NCwxNCBAQCB2b2lkIElucHV0VHlwZTo6ZGVzdHJveVNoYWRvd1N1YnRyZWUoKQogICAgIGlmICgh
cm9vdCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgcm9vdC0+cmVtb3ZlQWxsQ2hpbGRyZW4oKTsK
KyAgICByb290LT5yZW1vdmVDaGlsZHJlbigpOwogCiAgICAgLy8gSXQncyBvayB0byBjbGVhciBj
b250ZW50cyBvZiBhbGwgb3RoZXIgU2hhZG93Um9vdHMgYmVjYXVzZSB0aGV5IG11c3QgaGF2ZQog
ICAgIC8vIGJlZW4gY3JlYXRlZCBieSBUZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudCwgYW5kIHdl
IGRvbid0IGFsbG93IGFkZGluZwogICAgIC8vIEF1dGhvclNoYWRvd1Jvb3QgdG8gSFRNTElucHV0
RWxlbWVudC4KICAgICB3aGlsZSAoKHJvb3QgPSByb290LT55b3VuZ2VyU2hhZG93Um9vdCgpKSkg
ewogI2lmIEVOQUJMRShTSEFET1dfRE9NKQotICAgICAgICByb290LT5yZW1vdmVBbGxDaGlsZHJl
bigpOworICAgICAgICByb290LT5yZW1vdmVDaGlsZHJlbigpOwogICAgICAgICByb290LT5hcHBl
bmRDaGlsZChIVE1MU2hhZG93RWxlbWVudDo6Y3JlYXRlKHNoYWRvd1RhZywgZWxlbWVudCgpLT5k
b2N1bWVudCgpKSk7CiAjZWxzZQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAKaW5kZXggNTNlYzdlNDM4MzU4MGQ4
YWJkMGJkOGJkZWM5OGUxMmQ1Y2E4MmYyYy4uYTYzNDNmOTIxMzRhMGM3OTRmNDFhYmUzNTMxOTJk
NWFkM2FiYmY0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVz
c2FnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAK
QEAgLTEyNSw4ICsxMjUsOCBAQCB2b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlRE9N
QW5kU3RhcnRUaW1lcihUaW1lcjxWYWxpZGF0aW9uTWVzc2FnZT4qKQogICAgIEFTU0VSVCghdmFs
aWRhdGlvbk1lc3NhZ2VDbGllbnQoKSk7CiAgICAgQVNTRVJUKG1fbWVzc2FnZUhlYWRpbmcpOwog
ICAgIEFTU0VSVChtX21lc3NhZ2VCb2R5KTsKLSAgICBtX21lc3NhZ2VIZWFkaW5nLT5yZW1vdmVB
bGxDaGlsZHJlbigpOwotICAgIG1fbWVzc2FnZUJvZHktPnJlbW92ZUFsbENoaWxkcmVuKCk7Cisg
ICAgbV9tZXNzYWdlSGVhZGluZy0+cmVtb3ZlQ2hpbGRyZW4oKTsKKyAgICBtX21lc3NhZ2VCb2R5
LT5yZW1vdmVDaGlsZHJlbigpOwogICAgIFZlY3RvcjxTdHJpbmc+IGxpbmVzOwogICAgIG1fbWVz
c2FnZS5zcGxpdCgnXG4nLCBsaW5lcyk7CiAgICAgRG9jdW1lbnQqIGRvYyA9IG1fbWVzc2FnZUhl
YWRpbmctPmRvY3VtZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MVHJlZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRy
ZWVCdWlsZGVyLmNwcAppbmRleCA1ZTIwNjJmYTVmNzZlYWY2YzEyYjBiZjBkOGYyNjYyZDMzZTkw
NzQyLi5jNzAxMTlkNzI0ZTNjZThiMGZhMDEzMjdhMTI1ODEwYzA3NzBlN2M3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKQEAgLTIxNTIsNyAr
MjE1Miw3IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzRW5kVGFnKEF0b21pY0hUTUxU
b2tlbiogdG9rZW4pCiAgICAgICAgICAgICBtX3NjcmlwdFRvUHJvY2VzcyA9IG1fdHJlZS5jdXJy
ZW50RWxlbWVudCgpOwogICAgICAgICAgICAgbV90cmVlLm9wZW5FbGVtZW50cygpLT5wb3AoKTsK
ICAgICAgICAgICAgIGlmIChpc1BhcnNpbmdGcmFnbWVudCgpICYmICFzY3JpcHRpbmdDb250ZW50
SXNBbGxvd2VkKG1fZnJhZ21lbnRDb250ZXh0LnNjcmlwdGluZ1Blcm1pc3Npb24oKSkpCi0gICAg
ICAgICAgICAgICAgbV9zY3JpcHRUb1Byb2Nlc3MtPnJlbW92ZUFsbENoaWxkcmVuKCk7CisgICAg
ICAgICAgICAgICAgbV9zY3JpcHRUb1Byb2Nlc3MtPnJlbW92ZUNoaWxkcmVuKCk7CiAgICAgICAg
ICAgICBzZXRJbnNlcnRpb25Nb2RlKG1fb3JpZ2luYWxJbnNlcnRpb25Nb2RlKTsKIAogICAgICAg
ICAgICAgLy8gVGhpcyB0b2tlbiB3aWxsIG5vdCBoYXZlIGJlZW4gY3JlYXRlZCBieSB0aGUgdG9r
ZW5pemVyIGlmIGEK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184409</attachid>
            <date>2013-01-23 22:56:04 -0800</date>
            <delta_ts>2013-01-23 22:58:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107640-20130124155256.patch</filename>
            <type>text/plain</type>
            <size>10768</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdmMzlmMzNjZTcxOTI4
OTkzZTdmODQ4YzAyOWQ1MjQ1YThiYWRlZC4uODI2ZTAxMTZmODBjNTAxOTM3OTMyMjk4Mzc0OGVl
ZmQ5YmFmOWE4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTAxLTIzICBIYWpp
bWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBUaGUgbmFtZSBDb250
YWluZXJOb2RlOjpyZW1vdmVDaGlsZHJlbiBhbmQgQ29udGFpbmVyTmRlOjpyZW1vdmVBbGxDaGls
ZHJlbigpIGlzIGNvbmZ1c2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTA3NjQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhpcyBjaGFuZ2UgcmVuYW1lcyByZW1vdmVBbGxDaGlsZHJlbigpIHRvIHJl
bW92ZURlbGV0aW5nQ2hpbGRyZW4oKSwgYW5kIGhpZGUgYXMgYSBwcm90ZWN0ZWQgbWV0aG9kCisg
ICAgICAgIGZvciBwcmV2ZW50aW5nIGZ1dHVyZSBtaXN1c2UuCisKKyAgICAgICAgVGhlcmUgYXJl
IHNvbWUgY2FsbHNpdGVzIHdoaWNoIHVzZWQgcmVtb3ZlQWxsQ2hpbGRyZW4oKSBpbiB3b3JuZyB3
YXkuCisgICAgICAgIFRoZXNlIGNhbGxzaXRlcyBhcmUgcmVwbGFjZWQgYnkgcmVtb3ZlQ2hpbGRy
ZW4oKSwgd2hpY2ggaXMgc2FmZXIuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBjb3ZlcmVkIGJ5
IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogZG9tL0NvbnRhaW5lck5vZGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6cmVtb3ZlRGVsZXRpbmdDaGlsZHJlbik6Cisg
ICAgICAgIChXZWJDb3JlOjpDb250YWluZXJOb2RlOjp0YWtlQWxsQ2hpbGRyZW5Gcm9tKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6On5Db250YWluZXJOb2RlKToKKyAgICAgICAg
KiBkb20vQ29udGFpbmVyTm9kZS5oOgorICAgICAgICAoQ29udGFpbmVyTm9kZSk6CisgICAgICAg
ICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZW1vdmVk
TGFzdFJlZik6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2hhZG93Um9vdDo6flNoYWRvd1Jvb3QpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpwYXJzZUF0dHJp
YnV0ZSk6IEhhbmRsZWQgYSBzaWRlZmZlY3Qgb2YgcmVtb3ZlQ2hpbGRyZW4oKS4KKyAgICAgICAg
KiBodG1sL0lucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6OmRlc3Ry
b3lTaGFkb3dTdWJ0cmVlKTogUmVwbGFjZWQgYSB3cm9uZyBjYWxsIHNpdGUuCisgICAgICAgICog
aHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9u
TWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIpOiBSZXBsYWNlZCBhIHdyb25nIGNh
bGwgc2l0ZS4KKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzRW5kVGFnKTogUmVwbGFjZWQg
YSB3cm9uZyBjYWxsIHNpdGUuCisKIDIwMTMtMDEtMjMgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtWOF0gTW92ZSBWOERPTVdyYXBwZXI6OmdldEV2ZW50
TGlzdGVuZXIoKSB0byBWOEV2ZW50TGlzdGVyTGlzdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCA5NzNlYjgw
Nzk5NjljMTExYWFmYzRiYmEyMmMzZjBmOTQ0ZGI1ZTg2Li4zY2NmNzNhMTM1OWU5NTE4NWQ0OTFl
NzQzODY0MGFjOGU0MzZmZmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEz
LTAxLTIzICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBU
aGUgbmFtZSBDb250YWluZXJOb2RlOjpyZW1vdmVDaGlsZHJlbiBhbmQgQ29udGFpbmVyTmRlOjpy
ZW1vdmVBbGxDaGlsZHJlbigpIGlzIGNvbmZ1c2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3NjQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBBcGkvcXdlYmVsZW1lbnQuY3BwOgorICAgICAgICAo
UVdlYkVsZW1lbnQ6OnJlbW92ZUFsbENoaWxkcmVuKTogUmVwYWxjZWQgcmVtb3ZlQWxsQ2hpbGRy
ZW4oKSB3aXRoIHJlbW92ZUNoaWxkcmVuKCkuCisKIDIwMTMtMDEtMjMgIFNoaW55YSBLYXdhbmFr
YSAgPHNoaW55YWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIHNoYWRvd0FuY2VzdG9yTm9kZSgp
IHNob3VsZCBiZSByZW5hbWVkIHRvIGRlcHJlY2F0ZWRTaGFkb3dBbmNlc3Rvck5vZGUoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCmluZGV4IGVmOTIxZWJmNmI0M2Q1NGJiZDY4ZWE5
ZDEyMTZiNGQ0YzQyOTlkYTQuLjgxOWQ3NjU0OGQ0MTBiNGVjYTdhZTU4NTc0ZmM5MDA1ZTFkZDBj
NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAKQEAgLTkwLDcgKzkwLDcgQEAg
c3RhdGljIHZvaWQgY29sbGVjdENoaWxkcmVuQW5kUmVtb3ZlRnJvbU9sZFBhcmVudChOb2RlKiBu
b2RlLCBOb2RlVmVjdG9yJiBub2RlcywKICAgICB0b0NvbnRhaW5lck5vZGUobm9kZSktPnJlbW92
ZUNoaWxkcmVuKCk7CiB9CiAKLXZvaWQgQ29udGFpbmVyTm9kZTo6cmVtb3ZlQWxsQ2hpbGRyZW4o
KQordm9pZCBDb250YWluZXJOb2RlOjpyZW1vdmVEZWxldGluZ0NoaWxkcmVuKCkKIHsKICAgICBy
ZW1vdmVBbGxDaGlsZHJlbkluQ29udGFpbmVyPE5vZGUsIENvbnRhaW5lck5vZGU+KHRoaXMpOwog
fQpAQCAtOTksNyArOTksOSBAQCB2b2lkIENvbnRhaW5lck5vZGU6OnRha2VBbGxDaGlsZHJlbkZy
b20oQ29udGFpbmVyTm9kZSogb2xkUGFyZW50KQogewogICAgIE5vZGVWZWN0b3IgY2hpbGRyZW47
CiAgICAgZ2V0Q2hpbGROb2RlcyhvbGRQYXJlbnQsIGNoaWxkcmVuKTsKLSAgICBvbGRQYXJlbnQt
PnJlbW92ZUFsbENoaWxkcmVuKCk7CisgICAgLy8gcmVtb3ZlRGVsZXRpbmdDaGlsZHJlbigpIGNh
bm5vdCBiZSB1c2VkIGhlcmUgc2ljbmUgdGFrZUFsbENoaWxkcmVuRnJvbSgpIHZpb2xhdGVzIGl0
cyBwcmVjb25kaXRpb24KKyAgICAvLyBhbmQgZG9lcyBkZXRhY2goKSBpdHMgY2hpbGRyZW4gYWZ0
ZXIgdGhlIHJlbW92YWwuCisgICAgcmVtb3ZlQWxsQ2hpbGRyZW5JbkNvbnRhaW5lcjxOb2RlLCBD
b250YWluZXJOb2RlPih0aGlzKTsKIAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBjaGls
ZHJlbi5zaXplKCk7ICsraSkgewogICAgICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKQEAgLTEy
Myw3ICsxMjUsNyBAQCBDb250YWluZXJOb2RlOjp+Q29udGFpbmVyTm9kZSgpCiAgICAgaWYgKEFY
T2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkgJiYgZG9jdW1lbnRJbnRlcm5hbCgp
ICYmIGRvY3VtZW50SW50ZXJuYWwoKS0+YXhPYmplY3RDYWNoZUV4aXN0cygpKQogICAgICAgICBk
b2N1bWVudEludGVybmFsKCktPmF4T2JqZWN0Q2FjaGUoKS0+cmVtb3ZlKHRoaXMpOwogCi0gICAg
cmVtb3ZlQWxsQ2hpbGRyZW4oKTsKKyAgICByZW1vdmVEZWxldGluZ0NoaWxkcmVuKCk7CiB9CiAK
IHN0YXRpYyBpbmxpbmUgYm9vbCBpc0NoaWxkVHlwZUFsbG93ZWQoQ29udGFpbmVyTm9kZSogbmV3
UGFyZW50LCBOb2RlKiBjaGlsZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250
YWluZXJOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oCmluZGV4IGRh
ZjhiNDMyNjhhODM5OTBhZDhmNTRkN2Q4ZDExYzNkNzUxMGJmNWQuLmViMjA1NDhlNTBjNTZkZWI2
MWE3YTc0OWZhMmFlY2I4NzUwOTlmM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9D
b250YWluZXJOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaApA
QCAtMTAxLDEwICsxMDEsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBwYXJzZXJSZW1vdmVDaGlsZChO
b2RlKik7CiAgICAgdm9pZCBwYXJzZXJJbnNlcnRCZWZvcmUoUGFzc1JlZlB0cjxOb2RlPiBuZXdD
aGlsZCwgTm9kZSogcmVmQ2hpbGQpOwogCi0gICAgLy8gRklYTUU6IEl0J3Mgbm90IGdvb2QgdG8g
aGF2ZSB0d28gZnVuY3Rpb25zIHdpdGggc3VjaCBzaW1pbGFyIG5hbWVzLCBlc3BlY2lhbGx5IHB1
YmxpYyBmdW5jdGlvbnMuCi0gICAgLy8gSG93IGRvIHJlbW92ZUNoaWxkcmVuIGFuZCByZW1vdmVB
bGxDaGlsZHJlbiBkaWZmZXI/CiAgICAgdm9pZCByZW1vdmVDaGlsZHJlbigpOwotICAgIHZvaWQg
cmVtb3ZlQWxsQ2hpbGRyZW4oKTsKKyAgICB2b2lkIHJlbW92ZURlbGV0aW5nQ2hpbGRyZW4oKTsK
IAogICAgIHZvaWQgdGFrZUFsbENoaWxkcmVuRnJvbShDb250YWluZXJOb2RlKik7CiAKQEAgLTE1
Nyw2ICsxNTUsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBzZXRGaXJzdENoaWxkKE5vZGUqIGNo
aWxkKSB7IG1fZmlyc3RDaGlsZCA9IGNoaWxkOyB9CiAgICAgdm9pZCBzZXRMYXN0Q2hpbGQoTm9k
ZSogY2hpbGQpIHsgbV9sYXN0Q2hpbGQgPSBjaGlsZDsgfQogCisKIHByaXZhdGU6CiAgICAgdm9p
ZCByZW1vdmVCZXR3ZWVuKE5vZGUqIHByZXZpb3VzQ2hpbGQsIE5vZGUqIG5leHRDaGlsZCwgTm9k
ZSogb2xkQ2hpbGQpOwogICAgIHZvaWQgaW5zZXJ0QmVmb3JlQ29tbW9uKE5vZGUqIG5leHRDaGls
ZCwgTm9kZSogb2xkQ2hpbGQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggYWFmMTFhMzI1
NWQ1NzQ4MTNkYWVlZmYzMDU1NzRiZDZiNDg1OWM2Zi4uYzQ5NGMyZjMwYmM1MjU5OTZmMzc0ZmU0
MmJjZGUyZjU4NWRmOWZiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC02NTYsNyArNjU2
LDcgQEAgdm9pZCBEb2N1bWVudDo6cmVtb3ZlZExhc3RSZWYoKQogICAgIGlmIChtX2d1YXJkUmVm
Q291bnQpIHsKICAgICAgICAgLy8gSWYgcmVtb3ZpbmcgYSBjaGlsZCByZW1vdmVzIHRoZSBsYXN0
IHNlbGYtb25seSByZWYsIHdlIGRvbid0CiAgICAgICAgIC8vIHdhbnQgdGhlIHNjb3BlIHRvIGJl
IGRlc3RydWN0ZWQgdW50aWwgYWZ0ZXIKLSAgICAgICAgLy8gcmVtb3ZlQWxsQ2hpbGRyZW4gcmV0
dXJucywgc28gd2UgZ3VhcmQgb3Vyc2VsdmVzIHdpdGggYW4KKyAgICAgICAgLy8gcmVtb3ZlRGVs
ZXRpbmdDaGlsZHJlbiByZXR1cm5zLCBzbyB3ZSBndWFyZCBvdXJzZWx2ZXMgd2l0aCBhbgogICAg
ICAgICAvLyBleHRyYSBzZWxmLW9ubHkgcmVmLgogICAgICAgICBndWFyZFJlZigpOwogCkBAIC02
NzcsMTAgKzY3NywxMCBAQCB2b2lkIERvY3VtZW50OjpyZW1vdmVkTGFzdFJlZigpCiAKICAgICAg
ICAgZGV0YWNoUGFyc2VyKCk7CiAKLSAgICAgICAgLy8gcmVtb3ZlQWxsQ2hpbGRyZW4oKSBkb2Vz
bid0IGFsd2F5cyB1bnJlZ2lzdGVyIElEcywKKyAgICAgICAgLy8gcmVtb3ZlRGVsZXRpbmdDaGls
ZHJlbigpIGRvZXNuJ3QgYWx3YXlzIHVucmVnaXN0ZXIgSURzLAogICAgICAgICAvLyBzbyB0ZWFy
IGRvd24gc2NvcGUgaW5mb3JtYXRpb24gdXBmcm9udCB0byBhdm9pZCBoYXZpbmcgc3RhbGUgcmVm
ZXJlbmNlcyBpbiB0aGUgbWFwLgogICAgICAgICBkZXN0cm95VHJlZVNjb3BlRGF0YSgpOwotICAg
ICAgICByZW1vdmVBbGxDaGlsZHJlbigpOworICAgICAgICByZW1vdmVEZWxldGluZ0NoaWxkcmVu
KCk7CiAKICAgICAgICAgbV9tYXJrZXJzLT5kZXRhY2goKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jv
b3QuY3BwCmluZGV4IGUzYTQ4MjIyYjkzZDM4ZDY3MGVjMmEyMzgxZjBiZjZkYTE1MTc0MmQuLmY3
YTlhZTE0ODNkNzFiMDM5NTUxOThmNjUyNjQ2MzNlYWE0NGMxMGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hh
ZG93Um9vdC5jcHAKQEAgLTg2LDcgKzg2LDcgQEAgU2hhZG93Um9vdDo6flNoYWRvd1Jvb3QoKQog
ICAgIC8vIFdlIG11c3QgcmVtb3ZlIGFsbCBvZiBvdXIgY2hpbGRyZW4gZmlyc3QgYmVmb3JlIHRo
ZSBUcmVlU2NvcGUgZGVzdHJ1Y3RvcgogICAgIC8vIHJ1bnMgc28gd2UgZG9uJ3QgZ28gdGhyb3Vn
aCBUcmVlU2NvcGVBZG9wdGVyIGZvciBlYWNoIGNoaWxkIHdpdGggYQogICAgIC8vIGRlc3RydWN0
ZWQgdHJlZSBzY29wZSBpbiBlYWNoIGRlc2NlbmRhbnQuCi0gICAgcmVtb3ZlQWxsQ2hpbGRyZW4o
KTsKKyAgICByZW1vdmVEZWxldGluZ0NoaWxkcmVuKCk7CiAKICAgICAvLyBXZSBtdXN0IGNhbGwg
Y2xlYXJSYXJlRGF0YSgpIGhlcmUgc2luY2UgYSBTaGFkb3dSb290IGNsYXNzIGluaGVyaXRzIFRy
ZWVTY29wZQogICAgIC8vIGFzIHdlbGwgYXMgTm9kZS4gU2VlIGEgY29tbWVudCBvbiBUcmVlU2Nv
cGUuaCBmb3IgdGhlIHJlYXNvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TElucHV0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQu
Y3BwCmluZGV4IDFkN2ZlYmY1YzliODdjOWE1OWRlYTVmNGQ1MzU0NDAwZDY2NTE2M2MuLjA1NWJm
MDdkMjlhMGQ2NjY4ZTE4OGJlYWVlYTliNDdmNTI5NmE2YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmNwcApAQCAtNzM1LDcgKzczNSw4IEBAIHZvaWQgSFRNTElucHV0
RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3Qg
QXRvbWljU3RyCiAgICAgICAgICAgICBkZXRhY2goKTsKICAgICAgICAgICAgIG1faW5wdXRUeXBl
LT5kZXN0cm95U2hhZG93U3VidHJlZSgpOwogICAgICAgICAgICAgbV9pbnB1dFR5cGUtPmNyZWF0
ZVNoYWRvd1N1YnRyZWUoKTsKLSAgICAgICAgICAgIGF0dGFjaCgpOworICAgICAgICAgICAgaWYg
KCFhdHRhY2hlZCgpKSAvLyBjcmVhdGVTaGFkb3dTdWJ0cmVlKCkgY2FuIGxldCB0aGlzIGVsZW1l
bnQgYmUgYXR0YWNoZWQuCisgICAgICAgICAgICAgICAgYXR0YWNoKCk7CiAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICBtX2lucHV0VHlwZS0+ZGVzdHJveVNoYWRvd1N1YnRyZWUoKTsKICAg
ICAgICAgICAgIG1faW5wdXRUeXBlLT5jcmVhdGVTaGFkb3dTdWJ0cmVlKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0lucHV0VHlwZS5jcHAKaW5kZXggMmQ5NWYzMjllOTQzM2IxYWJhOTQ0NDk3N2ZiNzRkMjVlM2Jk
OThkYy4uYWIzMDExNWVhMjFiYzU4YWE3MjQ4OGUwNjNiN2JjNmY1NzkyMDBjMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSW5wdXRUeXBlLmNwcApAQCAtNDg0LDE0ICs0ODQsMTQgQEAgdm9pZCBJbnB1dFR5cGU6
OmRlc3Ryb3lTaGFkb3dTdWJ0cmVlKCkKICAgICBpZiAoIXJvb3QpCiAgICAgICAgIHJldHVybjsK
IAotICAgIHJvb3QtPnJlbW92ZUFsbENoaWxkcmVuKCk7CisgICAgcm9vdC0+cmVtb3ZlQ2hpbGRy
ZW4oKTsKIAogICAgIC8vIEl0J3Mgb2sgdG8gY2xlYXIgY29udGVudHMgb2YgYWxsIG90aGVyIFNo
YWRvd1Jvb3RzIGJlY2F1c2UgdGhleSBtdXN0IGhhdmUKICAgICAvLyBiZWVuIGNyZWF0ZWQgYnkg
VGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQsIGFuZCB3ZSBkb24ndCBhbGxvdyBhZGRpbmcKICAg
ICAvLyBBdXRob3JTaGFkb3dSb290IHRvIEhUTUxJbnB1dEVsZW1lbnQuCiAgICAgd2hpbGUgKChy
b290ID0gcm9vdC0+eW91bmdlclNoYWRvd1Jvb3QoKSkpIHsKICNpZiBFTkFCTEUoU0hBRE9XX0RP
TSkKLSAgICAgICAgcm9vdC0+cmVtb3ZlQWxsQ2hpbGRyZW4oKTsKKyAgICAgICAgcm9vdC0+cmVt
b3ZlQ2hpbGRyZW4oKTsKICAgICAgICAgcm9vdC0+YXBwZW5kQ2hpbGQoSFRNTFNoYWRvd0VsZW1l
bnQ6OmNyZWF0ZShzaGFkb3dUYWcsIGVsZW1lbnQoKS0+ZG9jdW1lbnQoKSkpOwogI2Vsc2UKICAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlv
bk1lc3NhZ2UuY3BwCmluZGV4IDUzZWM3ZTQzODM1ODBkOGFiZDBiZDhiZGVjOThlMTJkNWNhODJm
MmMuLmE2MzQzZjkyMTM0YTBjNzk0ZjQxYWJlMzUzMTkyZDVhZDNhYmJmNGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCkBAIC0xMjUsOCArMTI1LDggQEAgdm9p
ZCBWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIoVGltZXI8VmFs
aWRhdGlvbk1lc3NhZ2U+KikKICAgICBBU1NFUlQoIXZhbGlkYXRpb25NZXNzYWdlQ2xpZW50KCkp
OwogICAgIEFTU0VSVChtX21lc3NhZ2VIZWFkaW5nKTsKICAgICBBU1NFUlQobV9tZXNzYWdlQm9k
eSk7Ci0gICAgbV9tZXNzYWdlSGVhZGluZy0+cmVtb3ZlQWxsQ2hpbGRyZW4oKTsKLSAgICBtX21l
c3NhZ2VCb2R5LT5yZW1vdmVBbGxDaGlsZHJlbigpOworICAgIG1fbWVzc2FnZUhlYWRpbmctPnJl
bW92ZUNoaWxkcmVuKCk7CisgICAgbV9tZXNzYWdlQm9keS0+cmVtb3ZlQ2hpbGRyZW4oKTsKICAg
ICBWZWN0b3I8U3RyaW5nPiBsaW5lczsKICAgICBtX21lc3NhZ2Uuc3BsaXQoJ1xuJywgbGluZXMp
OwogICAgIERvY3VtZW50KiBkb2MgPSBtX21lc3NhZ2VIZWFkaW5nLT5kb2N1bWVudCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKaW5kZXggNWUy
MDYyZmE1Zjc2ZWFmNmMxMmIwYmYwZDhmMjY2MmQzM2U5MDc0Mi4uYzcwMTE5ZDcyNGUzY2U4YjBm
YTAxMzI3YTEyNTgxMGMwNzcwZTdjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC0yMTUyLDcgKzIxNTIsNyBAQCB2b2lkIEhUTUxUcmVl
QnVpbGRlcjo6cHJvY2Vzc0VuZFRhZyhBdG9taWNIVE1MVG9rZW4qIHRva2VuKQogICAgICAgICAg
ICAgbV9zY3JpcHRUb1Byb2Nlc3MgPSBtX3RyZWUuY3VycmVudEVsZW1lbnQoKTsKICAgICAgICAg
ICAgIG1fdHJlZS5vcGVuRWxlbWVudHMoKS0+cG9wKCk7CiAgICAgICAgICAgICBpZiAoaXNQYXJz
aW5nRnJhZ21lbnQoKSAmJiAhc2NyaXB0aW5nQ29udGVudElzQWxsb3dlZChtX2ZyYWdtZW50Q29u
dGV4dC5zY3JpcHRpbmdQZXJtaXNzaW9uKCkpKQotICAgICAgICAgICAgICAgIG1fc2NyaXB0VG9Q
cm9jZXNzLT5yZW1vdmVBbGxDaGlsZHJlbigpOworICAgICAgICAgICAgICAgIG1fc2NyaXB0VG9Q
cm9jZXNzLT5yZW1vdmVDaGlsZHJlbigpOwogICAgICAgICAgICAgc2V0SW5zZXJ0aW9uTW9kZSht
X29yaWdpbmFsSW5zZXJ0aW9uTW9kZSk7CiAKICAgICAgICAgICAgIC8vIFRoaXMgdG9rZW4gd2ls
bCBub3QgaGF2ZSBiZWVuIGNyZWF0ZWQgYnkgdGhlIHRva2VuaXplciBpZiBhCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0
L0FwaS9xd2ViZWxlbWVudC5jcHAKaW5kZXggODJmNTc5ZDk1NTBhM2FjZmQ5OWQ0MzBkMWQ1Y2Zh
MDc4ZmVlODM4ZS4uM2IwOWViYjc4MzcwNGRkOWM1ZGE1MDA5NzI0MWIyODE5NDIzN2U2MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcApAQCAtMTE5OCw3ICsxMTk4LDcgQEAgdm9p
ZCBRV2ViRWxlbWVudDo6cmVtb3ZlQWxsQ2hpbGRyZW4oKQogICAgIGlmICghbV9lbGVtZW50KQog
ICAgICAgICByZXR1cm47CiAKLSAgICBtX2VsZW1lbnQtPnJlbW92ZUFsbENoaWxkcmVuKCk7Cisg
ICAgbV9lbGVtZW50LT5yZW1vdmVDaGlsZHJlbigpOwogfQogCiAvLyBGSVhNRTogVGhpcyBjb2Rl
LCBhbmQgYWxsIGNhbGxlcnMgYXJlIHdyb25nLCBhbmQgaGF2ZSBubyBwbGFjZSBpbiBhCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184410</attachid>
            <date>2013-01-23 22:58:33 -0800</date>
            <delta_ts>2013-01-24 01:11:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107640-20130124155525.patch</filename>
            <type>text/plain</type>
            <size>10581</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdmMzlmMzNjZTcxOTI4
OTkzZTdmODQ4YzAyOWQ1MjQ1YThiYWRlZC4uODI2ZTAxMTZmODBjNTAxOTM3OTMyMjk4Mzc0OGVl
ZmQ5YmFmOWE4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTAxLTIzICBIYWpp
bWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBUaGUgbmFtZSBDb250
YWluZXJOb2RlOjpyZW1vdmVDaGlsZHJlbiBhbmQgQ29udGFpbmVyTmRlOjpyZW1vdmVBbGxDaGls
ZHJlbigpIGlzIGNvbmZ1c2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTA3NjQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhpcyBjaGFuZ2UgcmVuYW1lcyByZW1vdmVBbGxDaGlsZHJlbigpIHRvIHJl
bW92ZURlbGV0aW5nQ2hpbGRyZW4oKSwgYW5kIGhpZGUgYXMgYSBwcm90ZWN0ZWQgbWV0aG9kCisg
ICAgICAgIGZvciBwcmV2ZW50aW5nIGZ1dHVyZSBtaXN1c2UuCisKKyAgICAgICAgVGhlcmUgYXJl
IHNvbWUgY2FsbHNpdGVzIHdoaWNoIHVzZWQgcmVtb3ZlQWxsQ2hpbGRyZW4oKSBpbiB3b3JuZyB3
YXkuCisgICAgICAgIFRoZXNlIGNhbGxzaXRlcyBhcmUgcmVwbGFjZWQgYnkgcmVtb3ZlQ2hpbGRy
ZW4oKSwgd2hpY2ggaXMgc2FmZXIuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBjb3ZlcmVkIGJ5
IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogZG9tL0NvbnRhaW5lck5vZGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6cmVtb3ZlRGVsZXRpbmdDaGlsZHJlbik6Cisg
ICAgICAgIChXZWJDb3JlOjpDb250YWluZXJOb2RlOjp0YWtlQWxsQ2hpbGRyZW5Gcm9tKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6On5Db250YWluZXJOb2RlKToKKyAgICAgICAg
KiBkb20vQ29udGFpbmVyTm9kZS5oOgorICAgICAgICAoQ29udGFpbmVyTm9kZSk6CisgICAgICAg
ICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZW1vdmVk
TGFzdFJlZik6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2hhZG93Um9vdDo6flNoYWRvd1Jvb3QpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpwYXJzZUF0dHJp
YnV0ZSk6IEhhbmRsZWQgYSBzaWRlZmZlY3Qgb2YgcmVtb3ZlQ2hpbGRyZW4oKS4KKyAgICAgICAg
KiBodG1sL0lucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6OmRlc3Ry
b3lTaGFkb3dTdWJ0cmVlKTogUmVwbGFjZWQgYSB3cm9uZyBjYWxsIHNpdGUuCisgICAgICAgICog
aHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9u
TWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIpOiBSZXBsYWNlZCBhIHdyb25nIGNh
bGwgc2l0ZS4KKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzRW5kVGFnKTogUmVwbGFjZWQg
YSB3cm9uZyBjYWxsIHNpdGUuCisKIDIwMTMtMDEtMjMgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtWOF0gTW92ZSBWOERPTVdyYXBwZXI6OmdldEV2ZW50
TGlzdGVuZXIoKSB0byBWOEV2ZW50TGlzdGVyTGlzdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCA5NzNlYjgw
Nzk5NjljMTExYWFmYzRiYmEyMmMzZjBmOTQ0ZGI1ZTg2Li4zY2NmNzNhMTM1OWU5NTE4NWQ0OTFl
NzQzODY0MGFjOGU0MzZmZmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEz
LTAxLTIzICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBU
aGUgbmFtZSBDb250YWluZXJOb2RlOjpyZW1vdmVDaGlsZHJlbiBhbmQgQ29udGFpbmVyTmRlOjpy
ZW1vdmVBbGxDaGlsZHJlbigpIGlzIGNvbmZ1c2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3NjQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBBcGkvcXdlYmVsZW1lbnQuY3BwOgorICAgICAgICAo
UVdlYkVsZW1lbnQ6OnJlbW92ZUFsbENoaWxkcmVuKTogUmVwYWxjZWQgcmVtb3ZlQWxsQ2hpbGRy
ZW4oKSB3aXRoIHJlbW92ZUNoaWxkcmVuKCkuCisKIDIwMTMtMDEtMjMgIFNoaW55YSBLYXdhbmFr
YSAgPHNoaW55YWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIHNoYWRvd0FuY2VzdG9yTm9kZSgp
IHNob3VsZCBiZSByZW5hbWVkIHRvIGRlcHJlY2F0ZWRTaGFkb3dBbmNlc3Rvck5vZGUoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCmluZGV4IGVmOTIxZWJmNmI0M2Q1NGJiZDY4ZWE5
ZDEyMTZiNGQ0YzQyOTlkYTQuLjIyNzg3YjZkYThhYWQ1MjFlOTc2ZDM2NmYyYzEyYmRlZmFhOGVm
OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAKQEAgLTkwLDcgKzkwLDcgQEAg
c3RhdGljIHZvaWQgY29sbGVjdENoaWxkcmVuQW5kUmVtb3ZlRnJvbU9sZFBhcmVudChOb2RlKiBu
b2RlLCBOb2RlVmVjdG9yJiBub2RlcywKICAgICB0b0NvbnRhaW5lck5vZGUobm9kZSktPnJlbW92
ZUNoaWxkcmVuKCk7CiB9CiAKLXZvaWQgQ29udGFpbmVyTm9kZTo6cmVtb3ZlQWxsQ2hpbGRyZW4o
KQordm9pZCBDb250YWluZXJOb2RlOjpyZW1vdmVEZWxldGluZ0NoaWxkcmVuKCkKIHsKICAgICBy
ZW1vdmVBbGxDaGlsZHJlbkluQ29udGFpbmVyPE5vZGUsIENvbnRhaW5lck5vZGU+KHRoaXMpOwog
fQpAQCAtOTksNyArOTksNyBAQCB2b2lkIENvbnRhaW5lck5vZGU6OnRha2VBbGxDaGlsZHJlbkZy
b20oQ29udGFpbmVyTm9kZSogb2xkUGFyZW50KQogewogICAgIE5vZGVWZWN0b3IgY2hpbGRyZW47
CiAgICAgZ2V0Q2hpbGROb2RlcyhvbGRQYXJlbnQsIGNoaWxkcmVuKTsKLSAgICBvbGRQYXJlbnQt
PnJlbW92ZUFsbENoaWxkcmVuKCk7CisgICAgcmVtb3ZlRGVsZXRpbmdDaGlsZHJlbihvbGRQYXJl
bnQpOwogCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGNoaWxkcmVuLnNpemUoKTsgKytp
KSB7CiAgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwpAQCAtMTIzLDcgKzEyMyw3IEBAIENv
bnRhaW5lck5vZGU6On5Db250YWluZXJOb2RlKCkKICAgICBpZiAoQVhPYmplY3RDYWNoZTo6YWNj
ZXNzaWJpbGl0eUVuYWJsZWQoKSAmJiBkb2N1bWVudEludGVybmFsKCkgJiYgZG9jdW1lbnRJbnRl
cm5hbCgpLT5heE9iamVjdENhY2hlRXhpc3RzKCkpCiAgICAgICAgIGRvY3VtZW50SW50ZXJuYWwo
KS0+YXhPYmplY3RDYWNoZSgpLT5yZW1vdmUodGhpcyk7CiAKLSAgICByZW1vdmVBbGxDaGlsZHJl
bigpOworICAgIHJlbW92ZURlbGV0aW5nQ2hpbGRyZW4oKTsKIH0KIAogc3RhdGljIGlubGluZSBi
b29sIGlzQ2hpbGRUeXBlQWxsb3dlZChDb250YWluZXJOb2RlKiBuZXdQYXJlbnQsIE5vZGUqIGNo
aWxkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmgKaW5kZXggZGFmOGI0MzI2OGE4Mzk5MGFk
OGY1NGQ3ZDhkMTFjM2Q3NTEwYmY1ZC4uZWIyMDU0OGU1MGM1NmRlYjYxYTdhNzQ5ZmEyYWVjYjg3
NTA5OWYzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oCkBAIC0xMDEsMTAgKzEwMSw4
IEBAIHB1YmxpYzoKICAgICB2b2lkIHBhcnNlclJlbW92ZUNoaWxkKE5vZGUqKTsKICAgICB2b2lk
IHBhcnNlckluc2VydEJlZm9yZShQYXNzUmVmUHRyPE5vZGU+IG5ld0NoaWxkLCBOb2RlKiByZWZD
aGlsZCk7CiAKLSAgICAvLyBGSVhNRTogSXQncyBub3QgZ29vZCB0byBoYXZlIHR3byBmdW5jdGlv
bnMgd2l0aCBzdWNoIHNpbWlsYXIgbmFtZXMsIGVzcGVjaWFsbHkgcHVibGljIGZ1bmN0aW9ucy4K
LSAgICAvLyBIb3cgZG8gcmVtb3ZlQ2hpbGRyZW4gYW5kIHJlbW92ZUFsbENoaWxkcmVuIGRpZmZl
cj8KICAgICB2b2lkIHJlbW92ZUNoaWxkcmVuKCk7Ci0gICAgdm9pZCByZW1vdmVBbGxDaGlsZHJl
bigpOworICAgIHZvaWQgcmVtb3ZlRGVsZXRpbmdDaGlsZHJlbigpOwogCiAgICAgdm9pZCB0YWtl
QWxsQ2hpbGRyZW5Gcm9tKENvbnRhaW5lck5vZGUqKTsKIApAQCAtMTU3LDYgKzE1NSw3IEBAIHBy
b3RlY3RlZDoKICAgICB2b2lkIHNldEZpcnN0Q2hpbGQoTm9kZSogY2hpbGQpIHsgbV9maXJzdENo
aWxkID0gY2hpbGQ7IH0KICAgICB2b2lkIHNldExhc3RDaGlsZChOb2RlKiBjaGlsZCkgeyBtX2xh
c3RDaGlsZCA9IGNoaWxkOyB9CiAKKwogcHJpdmF0ZToKICAgICB2b2lkIHJlbW92ZUJldHdlZW4o
Tm9kZSogcHJldmlvdXNDaGlsZCwgTm9kZSogbmV4dENoaWxkLCBOb2RlKiBvbGRDaGlsZCk7CiAg
ICAgdm9pZCBpbnNlcnRCZWZvcmVDb21tb24oTm9kZSogbmV4dENoaWxkLCBOb2RlKiBvbGRDaGls
ZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBhYWYxMWEzMjU1ZDU3NDgxM2RhZWVmZjMw
NTU3NGJkNmI0ODU5YzZmLi5jNDk0YzJmMzBiYzUyNTk5NmYzNzRmZTQyYmNkZTJmNTg1ZGY5ZmI2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTY1Niw3ICs2NTYsNyBAQCB2b2lkIERvY3Vt
ZW50OjpyZW1vdmVkTGFzdFJlZigpCiAgICAgaWYgKG1fZ3VhcmRSZWZDb3VudCkgewogICAgICAg
ICAvLyBJZiByZW1vdmluZyBhIGNoaWxkIHJlbW92ZXMgdGhlIGxhc3Qgc2VsZi1vbmx5IHJlZiwg
d2UgZG9uJ3QKICAgICAgICAgLy8gd2FudCB0aGUgc2NvcGUgdG8gYmUgZGVzdHJ1Y3RlZCB1bnRp
bCBhZnRlcgotICAgICAgICAvLyByZW1vdmVBbGxDaGlsZHJlbiByZXR1cm5zLCBzbyB3ZSBndWFy
ZCBvdXJzZWx2ZXMgd2l0aCBhbgorICAgICAgICAvLyByZW1vdmVEZWxldGluZ0NoaWxkcmVuIHJl
dHVybnMsIHNvIHdlIGd1YXJkIG91cnNlbHZlcyB3aXRoIGFuCiAgICAgICAgIC8vIGV4dHJhIHNl
bGYtb25seSByZWYuCiAgICAgICAgIGd1YXJkUmVmKCk7CiAKQEAgLTY3NywxMCArNjc3LDEwIEBA
IHZvaWQgRG9jdW1lbnQ6OnJlbW92ZWRMYXN0UmVmKCkKIAogICAgICAgICBkZXRhY2hQYXJzZXIo
KTsKIAotICAgICAgICAvLyByZW1vdmVBbGxDaGlsZHJlbigpIGRvZXNuJ3QgYWx3YXlzIHVucmVn
aXN0ZXIgSURzLAorICAgICAgICAvLyByZW1vdmVEZWxldGluZ0NoaWxkcmVuKCkgZG9lc24ndCBh
bHdheXMgdW5yZWdpc3RlciBJRHMsCiAgICAgICAgIC8vIHNvIHRlYXIgZG93biBzY29wZSBpbmZv
cm1hdGlvbiB1cGZyb250IHRvIGF2b2lkIGhhdmluZyBzdGFsZSByZWZlcmVuY2VzIGluIHRoZSBt
YXAuCiAgICAgICAgIGRlc3Ryb3lUcmVlU2NvcGVEYXRhKCk7Ci0gICAgICAgIHJlbW92ZUFsbENo
aWxkcmVuKCk7CisgICAgICAgIHJlbW92ZURlbGV0aW5nQ2hpbGRyZW4oKTsKIAogICAgICAgICBt
X21hcmtlcnMtPmRldGFjaCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hh
ZG93Um9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAKaW5kZXggZTNh
NDgyMjJiOTNkMzhkNjcwZWMyYTIzODFmMGJmNmRhMTUxNzQyZC4uZjdhOWFlMTQ4M2Q3MWIwMzk1
NTE5OGY2NTI2NDYzM2VhYTQ0YzEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1No
YWRvd1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcApAQCAt
ODYsNyArODYsNyBAQCBTaGFkb3dSb290Ojp+U2hhZG93Um9vdCgpCiAgICAgLy8gV2UgbXVzdCBy
ZW1vdmUgYWxsIG9mIG91ciBjaGlsZHJlbiBmaXJzdCBiZWZvcmUgdGhlIFRyZWVTY29wZSBkZXN0
cnVjdG9yCiAgICAgLy8gcnVucyBzbyB3ZSBkb24ndCBnbyB0aHJvdWdoIFRyZWVTY29wZUFkb3B0
ZXIgZm9yIGVhY2ggY2hpbGQgd2l0aCBhCiAgICAgLy8gZGVzdHJ1Y3RlZCB0cmVlIHNjb3BlIGlu
IGVhY2ggZGVzY2VuZGFudC4KLSAgICByZW1vdmVBbGxDaGlsZHJlbigpOworICAgIHJlbW92ZURl
bGV0aW5nQ2hpbGRyZW4oKTsKIAogICAgIC8vIFdlIG11c3QgY2FsbCBjbGVhclJhcmVEYXRhKCkg
aGVyZSBzaW5jZSBhIFNoYWRvd1Jvb3QgY2xhc3MgaW5oZXJpdHMgVHJlZVNjb3BlCiAgICAgLy8g
YXMgd2VsbCBhcyBOb2RlLiBTZWUgYSBjb21tZW50IG9uIFRyZWVTY29wZS5oIGZvciB0aGUgcmVh
c29uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXggMWQ3ZmVi
ZjVjOWI4N2M5YTU5ZGVhNWY0ZDUzNTQ0MDBkNjY1MTYzYy4uMDU1YmYwN2QyOWEwZDY2NjhlMTg4
YmVhZWVhOWI0N2Y1Mjk2YTZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1l
bnQuY3BwCkBAIC03MzUsNyArNzM1LDggQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpwYXJzZUF0
dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHIKICAgICAg
ICAgICAgIGRldGFjaCgpOwogICAgICAgICAgICAgbV9pbnB1dFR5cGUtPmRlc3Ryb3lTaGFkb3dT
dWJ0cmVlKCk7CiAgICAgICAgICAgICBtX2lucHV0VHlwZS0+Y3JlYXRlU2hhZG93U3VidHJlZSgp
OwotICAgICAgICAgICAgYXR0YWNoKCk7CisgICAgICAgICAgICBpZiAoIWF0dGFjaGVkKCkpIC8v
IGNyZWF0ZVNoYWRvd1N1YnRyZWUoKSBjYW4gbGV0IHRoaXMgZWxlbWVudCBiZSBhdHRhY2hlZC4K
KyAgICAgICAgICAgICAgICBhdHRhY2goKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAg
IG1faW5wdXRUeXBlLT5kZXN0cm95U2hhZG93U3VidHJlZSgpOwogICAgICAgICAgICAgbV9pbnB1
dFR5cGUtPmNyZWF0ZVNoYWRvd1N1YnRyZWUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcApp
bmRleCAyZDk1ZjMyOWU5NDMzYjFhYmE5NDQ0OTc3ZmI3NGQyNWUzYmQ5OGRjLi5hYjMwMTE1ZWEy
MWJjNThhYTcyNDg4ZTA2M2I3YmM2ZjU3OTIwMGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0lucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUu
Y3BwCkBAIC00ODQsMTQgKzQ4NCwxNCBAQCB2b2lkIElucHV0VHlwZTo6ZGVzdHJveVNoYWRvd1N1
YnRyZWUoKQogICAgIGlmICghcm9vdCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgcm9vdC0+cmVt
b3ZlQWxsQ2hpbGRyZW4oKTsKKyAgICByb290LT5yZW1vdmVDaGlsZHJlbigpOwogCiAgICAgLy8g
SXQncyBvayB0byBjbGVhciBjb250ZW50cyBvZiBhbGwgb3RoZXIgU2hhZG93Um9vdHMgYmVjYXVz
ZSB0aGV5IG11c3QgaGF2ZQogICAgIC8vIGJlZW4gY3JlYXRlZCBieSBUZXh0RmllbGREZWNvcmF0
aW9uRWxlbWVudCwgYW5kIHdlIGRvbid0IGFsbG93IGFkZGluZwogICAgIC8vIEF1dGhvclNoYWRv
d1Jvb3QgdG8gSFRNTElucHV0RWxlbWVudC4KICAgICB3aGlsZSAoKHJvb3QgPSByb290LT55b3Vu
Z2VyU2hhZG93Um9vdCgpKSkgewogI2lmIEVOQUJMRShTSEFET1dfRE9NKQotICAgICAgICByb290
LT5yZW1vdmVBbGxDaGlsZHJlbigpOworICAgICAgICByb290LT5yZW1vdmVDaGlsZHJlbigpOwog
ICAgICAgICByb290LT5hcHBlbmRDaGlsZChIVE1MU2hhZG93RWxlbWVudDo6Y3JlYXRlKHNoYWRv
d1RhZywgZWxlbWVudCgpLT5kb2N1bWVudCgpKSk7CiAjZWxzZQogICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1l
c3NhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAKaW5k
ZXggNTNlYzdlNDM4MzU4MGQ4YWJkMGJkOGJkZWM5OGUxMmQ1Y2E4MmYyYy4uYTYzNDNmOTIxMzRh
MGM3OTRmNDFhYmUzNTMxOTJkNWFkM2FiYmY0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxp
ZGF0aW9uTWVzc2FnZS5jcHAKQEAgLTEyNSw4ICsxMjUsOCBAQCB2b2lkIFZhbGlkYXRpb25NZXNz
YWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcihUaW1lcjxWYWxpZGF0aW9uTWVzc2FnZT4q
KQogICAgIEFTU0VSVCghdmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQoKSk7CiAgICAgQVNTRVJUKG1f
bWVzc2FnZUhlYWRpbmcpOwogICAgIEFTU0VSVChtX21lc3NhZ2VCb2R5KTsKLSAgICBtX21lc3Nh
Z2VIZWFkaW5nLT5yZW1vdmVBbGxDaGlsZHJlbigpOwotICAgIG1fbWVzc2FnZUJvZHktPnJlbW92
ZUFsbENoaWxkcmVuKCk7CisgICAgbV9tZXNzYWdlSGVhZGluZy0+cmVtb3ZlQ2hpbGRyZW4oKTsK
KyAgICBtX21lc3NhZ2VCb2R5LT5yZW1vdmVDaGlsZHJlbigpOwogICAgIFZlY3RvcjxTdHJpbmc+
IGxpbmVzOwogICAgIG1fbWVzc2FnZS5zcGxpdCgnXG4nLCBsaW5lcyk7CiAgICAgRG9jdW1lbnQq
IGRvYyA9IG1fbWVzc2FnZUhlYWRpbmctPmRvY3VtZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAppbmRleCA1ZTIwNjJmYTVmNzZlYWY2YzEy
YjBiZjBkOGYyNjYyZDMzZTkwNzQyLi5jNzAxMTlkNzI0ZTNjZThiMGZhMDEzMjdhMTI1ODEwYzA3
NzBlN2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1
aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRl
ci5jcHAKQEAgLTIxNTIsNyArMjE1Miw3IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNz
RW5kVGFnKEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCiAgICAgICAgICAgICBtX3NjcmlwdFRvUHJv
Y2VzcyA9IG1fdHJlZS5jdXJyZW50RWxlbWVudCgpOwogICAgICAgICAgICAgbV90cmVlLm9wZW5F
bGVtZW50cygpLT5wb3AoKTsKICAgICAgICAgICAgIGlmIChpc1BhcnNpbmdGcmFnbWVudCgpICYm
ICFzY3JpcHRpbmdDb250ZW50SXNBbGxvd2VkKG1fZnJhZ21lbnRDb250ZXh0LnNjcmlwdGluZ1Bl
cm1pc3Npb24oKSkpCi0gICAgICAgICAgICAgICAgbV9zY3JpcHRUb1Byb2Nlc3MtPnJlbW92ZUFs
bENoaWxkcmVuKCk7CisgICAgICAgICAgICAgICAgbV9zY3JpcHRUb1Byb2Nlc3MtPnJlbW92ZUNo
aWxkcmVuKCk7CiAgICAgICAgICAgICBzZXRJbnNlcnRpb25Nb2RlKG1fb3JpZ2luYWxJbnNlcnRp
b25Nb2RlKTsKIAogICAgICAgICAgICAgLy8gVGhpcyB0b2tlbiB3aWxsIG5vdCBoYXZlIGJlZW4g
Y3JlYXRlZCBieSB0aGUgdG9rZW5pemVyIGlmIGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
cXQvQXBpL3F3ZWJlbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50
LmNwcAppbmRleCA4MmY1NzlkOTU1MGEzYWNmZDk5ZDQzMGQxZDVjZmEwNzhmZWU4MzhlLi4zYjA5
ZWJiNzgzNzA0ZGQ5YzVkYTUwMDk3MjQxYjI4MTk0MjM3ZTYwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3F0L0FwaS9xd2ViZWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkv
cXdlYmVsZW1lbnQuY3BwCkBAIC0xMTk4LDcgKzExOTgsNyBAQCB2b2lkIFFXZWJFbGVtZW50Ojpy
ZW1vdmVBbGxDaGlsZHJlbigpCiAgICAgaWYgKCFtX2VsZW1lbnQpCiAgICAgICAgIHJldHVybjsK
IAotICAgIG1fZWxlbWVudC0+cmVtb3ZlQWxsQ2hpbGRyZW4oKTsKKyAgICBtX2VsZW1lbnQtPnJl
bW92ZUNoaWxkcmVuKCk7CiB9CiAKIC8vIEZJWE1FOiBUaGlzIGNvZGUsIGFuZCBhbGwgY2FsbGVy
cyBhcmUgd3JvbmcsIGFuZCBoYXZlIG5vIHBsYWNlIGluIGEK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184435</attachid>
            <date>2013-01-24 01:11:49 -0800</date>
            <delta_ts>2013-01-24 22:44:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107640-20130124180841.patch</filename>
            <type>text/plain</type>
            <size>8645</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmI0MGI4MWQ1NDE4MmE5
YTI3NWM0ZWVhOWUyNjczZWM2OGVjYjYyZC4uNWU5NTgyOTY1NjNlMmNkYzQzOGZiNjViZmVjZjZh
ZWM4NDA5ZTQ3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEzLTAxLTI0ICBIYWpp
bWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZWZhY3RvcmluZzog
VGhlIG5hbWUgQ29udGFpbmVyTm9kZTo6cmVtb3ZlQ2hpbGRyZW4gYW5kIENvbnRhaW5lck5kZTo6
cmVtb3ZlQWxsQ2hpbHJlbigpIGlzIGNvbmZ1c2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3NjQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBjaGFnbmUgcmVuYW1lcyB1bnNhZmUgcmVtb3Zl
QWxsQ2hpbHJlbigpIGZ1bmN0aW9uIHRvCisgICAgICAgIHJlbW92ZURldGFjaGVkQ2hpbGRyZW4o
KSBhbmQgbW92ZSBpdCB0byBwcm90ZWN0ZWQgdmlzaWJpbGl0eS4KKworICAgICAgICBJbiB0aGVv
cnksIHRoZSByZW1vdmVkIG5vZGVzIHNob3VsZCBiZSBkZXRhY2hlZCgpIGJlZm9yZS4gQnV0IHNv
bWUKKyAgICAgICAgdGVzdHMgdmlvbGF0ZXMgdGhhdCBhc3N1bXB0aW9uLiBJdCBzaG91bGQgYmUg
Zml4ZWQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBObyBiZWhhdmlvciBjaGFuZ2UuCisKKyAg
ICAgICAgKiBkb20vQ29udGFpbmVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250YWlu
ZXJOb2RlOjpyZW1vdmVEZXRhY2hlZENoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRh
aW5lck5vZGU6OnRha2VBbGxDaGlsZHJlbkZyb20pOgorICAgICAgICAoV2ViQ29yZTo6Q29udGFp
bmVyTm9kZTo6fkNvbnRhaW5lck5vZGUpOgorICAgICAgICAqIGRvbS9Db250YWluZXJOb2RlLmg6
CisgICAgICAgIChDb250YWluZXJOb2RlKToKKyAgICAgICAgKiBkb20vQ29udGFpbmVyTm9kZUFs
Z29yaXRobXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OnJlbW92ZURldGFjaGVkQ2hpbGRyZW5JbkNv
bnRhaW5lcik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlbW92ZWRMYXN0UmVmKToKKyAgICAgICAg
KiBkb20vU2hhZG93Um9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290Ojp+U2hh
ZG93Um9vdCk6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdFbGVtZW50SW5zdGFuY2U6OmRldGFjaCk6CisgICAgICAgICogc3ZnL1NW
R0VsZW1lbnRJbnN0YW5jZS5oOgorICAgICAgICAoU1ZHRWxlbWVudEluc3RhbmNlKToKKwogMjAx
My0wMS0yNCAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
VW5yZXZpZXdlZC4gQnVpbGQgZml4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Nv
bnRhaW5lck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCmlu
ZGV4IGE3OTI5NjI1YjIzNTVhNDgzZTJmODUwZWIwMjc5MTc0MjYyZjViNjQuLmY4NmNiNDU2ZTgy
ZjM1N2UzYTNlM2FiODBjZDBkY2I3NTJiNTcwN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Db250YWluZXJOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVy
Tm9kZS5jcHAKQEAgLTkwLDE2ICs5MCwxNyBAQCBzdGF0aWMgdm9pZCBjb2xsZWN0Q2hpbGRyZW5B
bmRSZW1vdmVGcm9tT2xkUGFyZW50KE5vZGUqIG5vZGUsIE5vZGVWZWN0b3ImIG5vZGVzLAogICAg
IHRvQ29udGFpbmVyTm9kZShub2RlKS0+cmVtb3ZlQ2hpbGRyZW4oKTsKIH0KIAotdm9pZCBDb250
YWluZXJOb2RlOjpyZW1vdmVBbGxDaGlsZHJlbigpCit2b2lkIENvbnRhaW5lck5vZGU6OnJlbW92
ZURldGFjaGVkQ2hpbGRyZW4oKQogewotICAgIHJlbW92ZUFsbENoaWxkcmVuSW5Db250YWluZXI8
Tm9kZSwgQ29udGFpbmVyTm9kZT4odGhpcyk7CisgICAgLy8gRklYTUU6IFdlIHNob3VsZCBiZSBh
YmxlIHRvIEFTU0VSVCghYXR0YWNoZWQoKSBoZXJlOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTA3ODAxCisgICAgcmVtb3ZlRGV0YWNoZWRDaGlsZHJlbkluQ29udGFp
bmVyPE5vZGUsIENvbnRhaW5lck5vZGU+KHRoaXMpOwogfQogCiB2b2lkIENvbnRhaW5lck5vZGU6
OnRha2VBbGxDaGlsZHJlbkZyb20oQ29udGFpbmVyTm9kZSogb2xkUGFyZW50KQogewogICAgIE5v
ZGVWZWN0b3IgY2hpbGRyZW47CiAgICAgZ2V0Q2hpbGROb2RlcyhvbGRQYXJlbnQsIGNoaWxkcmVu
KTsKLSAgICBvbGRQYXJlbnQtPnJlbW92ZUFsbENoaWxkcmVuKCk7CisgICAgb2xkUGFyZW50LT5y
ZW1vdmVEZXRhY2hlZENoaWxkcmVuKCk7CiAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
Y2hpbGRyZW4uc2l6ZSgpOyArK2kpIHsKICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CkBA
IC0xMjMsNyArMTI0LDcgQEAgQ29udGFpbmVyTm9kZTo6fkNvbnRhaW5lck5vZGUoKQogICAgIGlm
IChBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpICYmIGRvY3VtZW50SW50ZXJu
YWwoKSAmJiBkb2N1bWVudEludGVybmFsKCktPmF4T2JqZWN0Q2FjaGVFeGlzdHMoKSkKICAgICAg
ICAgZG9jdW1lbnRJbnRlcm5hbCgpLT5heE9iamVjdENhY2hlKCktPnJlbW92ZSh0aGlzKTsKIAot
ICAgIHJlbW92ZUFsbENoaWxkcmVuKCk7CisgICAgcmVtb3ZlRGV0YWNoZWRDaGlsZHJlbigpOwog
fQogCiBzdGF0aWMgaW5saW5lIGJvb2wgaXNDaGlsZFR5cGVBbGxvd2VkKENvbnRhaW5lck5vZGUq
IG5ld1BhcmVudCwgTm9kZSogY2hpbGQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
Q29udGFpbmVyTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaAppbmRl
eCBkYWY4YjQzMjY4YTgzOTkwYWQ4ZjU0ZDdkOGQxMWMzZDc1MTBiZjVkLi4xMzIxZGZkNGJhOTU4
YzFhN2IxM2IzZDVkYTVlNGJkYTY3NGYwOWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vQ29udGFpbmVyTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2Rl
LmgKQEAgLTEwMSwxMSArMTAxLDcgQEAgcHVibGljOgogICAgIHZvaWQgcGFyc2VyUmVtb3ZlQ2hp
bGQoTm9kZSopOwogICAgIHZvaWQgcGFyc2VySW5zZXJ0QmVmb3JlKFBhc3NSZWZQdHI8Tm9kZT4g
bmV3Q2hpbGQsIE5vZGUqIHJlZkNoaWxkKTsKIAotICAgIC8vIEZJWE1FOiBJdCdzIG5vdCBnb29k
IHRvIGhhdmUgdHdvIGZ1bmN0aW9ucyB3aXRoIHN1Y2ggc2ltaWxhciBuYW1lcywgZXNwZWNpYWxs
eSBwdWJsaWMgZnVuY3Rpb25zLgotICAgIC8vIEhvdyBkbyByZW1vdmVDaGlsZHJlbiBhbmQgcmVt
b3ZlQWxsQ2hpbGRyZW4gZGlmZmVyPwogICAgIHZvaWQgcmVtb3ZlQ2hpbGRyZW4oKTsKLSAgICB2
b2lkIHJlbW92ZUFsbENoaWxkcmVuKCk7Ci0KICAgICB2b2lkIHRha2VBbGxDaGlsZHJlbkZyb20o
Q29udGFpbmVyTm9kZSopOwogCiAgICAgdm9pZCBjbG9uZUNoaWxkTm9kZXMoQ29udGFpbmVyTm9k
ZSogY2xvbmUpOwpAQCAtMTU0LDYgKzE1MCw3IEBAIHByb3RlY3RlZDoKICAgICB0ZW1wbGF0ZTxj
bGFzcyBHZW5lcmljTm9kZSwgY2xhc3MgR2VuZXJpY05vZGVDb250YWluZXI+CiAgICAgZnJpZW5k
IHZvaWQgUHJpdmF0ZTo6YWRkQ2hpbGROb2Rlc1RvRGVsZXRpb25RdWV1ZShHZW5lcmljTm9kZSom
IGhlYWQsIEdlbmVyaWNOb2RlKiYgdGFpbCwgR2VuZXJpY05vZGVDb250YWluZXIqKTsKIAorICAg
IHZvaWQgcmVtb3ZlRGV0YWNoZWRDaGlsZHJlbigpOwogICAgIHZvaWQgc2V0Rmlyc3RDaGlsZChO
b2RlKiBjaGlsZCkgeyBtX2ZpcnN0Q2hpbGQgPSBjaGlsZDsgfQogICAgIHZvaWQgc2V0TGFzdENo
aWxkKE5vZGUqIGNoaWxkKSB7IG1fbGFzdENoaWxkID0gY2hpbGQ7IH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGVBbGdvcml0aG1zLmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vQ29udGFpbmVyTm9kZUFsZ29yaXRobXMuaAppbmRleCBhZWNmMTMwMzQwNmQ1NTdj
NmQxMjY2NGMwYmNlMzNmNTVkZDQyNTc2Li45ZWYxMDU2MTkxMWEwYTBmYTQxMmNkNGQyNjUxZGEw
ODQwMTkzZGE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZUFs
Z29yaXRobXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZUFsZ29yaXRo
bXMuaApAQCAtNzgsNyArNzgsNyBAQCBuYW1lc3BhY2UgUHJpdmF0ZSB7CiAvLyBIZWxwZXIgZnVu
Y3Rpb25zIGZvciBUcmVlU2hhcmVkLWRlcml2ZWQgY2xhc3Nlcywgd2hpY2ggaGF2ZSBhICdOb2Rl
JyBzdHlsZSBpbnRlcmZhY2UKIC8vIFRoaXMgYXBwbGllcyB0byAnQ29udGFpbmVyTm9kZScgYW5k
ICdTVkdFbGVtZW50SW5zdGFuY2UnCiB0ZW1wbGF0ZTxjbGFzcyBHZW5lcmljTm9kZSwgY2xhc3Mg
R2VuZXJpY05vZGVDb250YWluZXI+Ci1pbmxpbmUgdm9pZCByZW1vdmVBbGxDaGlsZHJlbkluQ29u
dGFpbmVyKEdlbmVyaWNOb2RlQ29udGFpbmVyKiBjb250YWluZXIpCitpbmxpbmUgdm9pZCByZW1v
dmVEZXRhY2hlZENoaWxkcmVuSW5Db250YWluZXIoR2VuZXJpY05vZGVDb250YWluZXIqIGNvbnRh
aW5lcikKIHsKICAgICAvLyBMaXN0IG9mIG5vZGVzIHRvIGJlIGRlbGV0ZWQuCiAgICAgR2VuZXJp
Y05vZGUqIGhlYWQgPSAwOwpAQCAtMTIwLDcgKzEyMCw3IEBAIGlubGluZSB2b2lkIGFwcGVuZENo
aWxkVG9Db250YWluZXIoR2VuZXJpY05vZGUqIGNoaWxkLCBHZW5lcmljTm9kZUNvbnRhaW5lciog
Y29uCiAgICAgY29udGFpbmVyLT5zZXRMYXN0Q2hpbGQoY2hpbGQpOwogfQogCi0vLyBIZWxwZXIg
bWV0aG9kcyBmb3IgcmVtb3ZlQWxsQ2hpbGRyZW5JbkNvbnRhaW5lciwgaGlkZGVuIGZyb20gV2Vi
Q29yZSBuYW1lc3BhY2UKKy8vIEhlbHBlciBtZXRob2RzIGZvciByZW1vdmVEZXRhY2hlZENoaWxk
cmVuSW5Db250YWluZXIsIGhpZGRlbiBmcm9tIFdlYkNvcmUgbmFtZXNwYWNlCiBuYW1lc3BhY2Ug
UHJpdmF0ZSB7CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBHZW5lcmljTm9kZSwgY2xhc3MgR2VuZXJp
Y05vZGVDb250YWluZXIsIGJvb2wgZGlzcGF0Y2hSZW1vdmFsTm90aWZpY2F0aW9uPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKaW5kZXggYWFmMTFhMzI1NWQ1NzQ4MTNkYWVlZmYzMDU1NzRiZDZiNDg1
OWM2Zi4uNmNiYTI5ZWQ2OTgyYjA3Y2U5MTc2YjU3MTI2MzkyNGQ1ZDk1MThlYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCkBAIC02NTYsNyArNjU2LDcgQEAgdm9pZCBEb2N1bWVudDo6cmVtb3Zl
ZExhc3RSZWYoKQogICAgIGlmIChtX2d1YXJkUmVmQ291bnQpIHsKICAgICAgICAgLy8gSWYgcmVt
b3ZpbmcgYSBjaGlsZCByZW1vdmVzIHRoZSBsYXN0IHNlbGYtb25seSByZWYsIHdlIGRvbid0CiAg
ICAgICAgIC8vIHdhbnQgdGhlIHNjb3BlIHRvIGJlIGRlc3RydWN0ZWQgdW50aWwgYWZ0ZXIKLSAg
ICAgICAgLy8gcmVtb3ZlQWxsQ2hpbGRyZW4gcmV0dXJucywgc28gd2UgZ3VhcmQgb3Vyc2VsdmVz
IHdpdGggYW4KKyAgICAgICAgLy8gcmVtb3ZlRGV0YWNoZWRDaGlsZHJlbiByZXR1cm5zLCBzbyB3
ZSBndWFyZCBvdXJzZWx2ZXMgd2l0aCBhbgogICAgICAgICAvLyBleHRyYSBzZWxmLW9ubHkgcmVm
LgogICAgICAgICBndWFyZFJlZigpOwogCkBAIC02NzcsMTAgKzY3NywxMCBAQCB2b2lkIERvY3Vt
ZW50OjpyZW1vdmVkTGFzdFJlZigpCiAKICAgICAgICAgZGV0YWNoUGFyc2VyKCk7CiAKLSAgICAg
ICAgLy8gcmVtb3ZlQWxsQ2hpbGRyZW4oKSBkb2Vzbid0IGFsd2F5cyB1bnJlZ2lzdGVyIElEcywK
KyAgICAgICAgLy8gcmVtb3ZlRGV0YWNoZWRDaGlsZHJlbigpIGRvZXNuJ3QgYWx3YXlzIHVucmVn
aXN0ZXIgSURzLAogICAgICAgICAvLyBzbyB0ZWFyIGRvd24gc2NvcGUgaW5mb3JtYXRpb24gdXBm
cm9udCB0byBhdm9pZCBoYXZpbmcgc3RhbGUgcmVmZXJlbmNlcyBpbiB0aGUgbWFwLgogICAgICAg
ICBkZXN0cm95VHJlZVNjb3BlRGF0YSgpOwotICAgICAgICByZW1vdmVBbGxDaGlsZHJlbigpOwor
ICAgICAgICByZW1vdmVEZXRhY2hlZENoaWxkcmVuKCk7CiAKICAgICAgICAgbV9tYXJrZXJzLT5k
ZXRhY2goKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCmluZGV4IGUzYTQ4MjIyYjkzZDM4
ZDY3MGVjMmEyMzgxZjBiZjZkYTE1MTc0MmQuLjgxYmM5MTVhYjI3YjZkNDJlYmM5YTVjNTViMjM5
ZTYxZWQzYTkxYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAKQEAgLTg2LDcgKzg2LDcg
QEAgU2hhZG93Um9vdDo6flNoYWRvd1Jvb3QoKQogICAgIC8vIFdlIG11c3QgcmVtb3ZlIGFsbCBv
ZiBvdXIgY2hpbGRyZW4gZmlyc3QgYmVmb3JlIHRoZSBUcmVlU2NvcGUgZGVzdHJ1Y3RvcgogICAg
IC8vIHJ1bnMgc28gd2UgZG9uJ3QgZ28gdGhyb3VnaCBUcmVlU2NvcGVBZG9wdGVyIGZvciBlYWNo
IGNoaWxkIHdpdGggYQogICAgIC8vIGRlc3RydWN0ZWQgdHJlZSBzY29wZSBpbiBlYWNoIGRlc2Nl
bmRhbnQuCi0gICAgcmVtb3ZlQWxsQ2hpbGRyZW4oKTsKKyAgICByZW1vdmVEZXRhY2hlZENoaWxk
cmVuKCk7CiAKICAgICAvLyBXZSBtdXN0IGNhbGwgY2xlYXJSYXJlRGF0YSgpIGhlcmUgc2luY2Ug
YSBTaGFkb3dSb290IGNsYXNzIGluaGVyaXRzIFRyZWVTY29wZQogICAgIC8vIGFzIHdlbGwgYXMg
Tm9kZS4gU2VlIGEgY29tbWVudCBvbiBUcmVlU2NvcGUuaCBmb3IgdGhlIHJlYXNvbi4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5jcHAKaW5kZXggMjIyMzI3MThjOTMwYjIw
ZjY0MjNlOTZmY2NjNDY4MDg0NDIzZjA0OC4uN2JkZGZlNWI3Yjc3MzQ2OTk5MjZmMTVmYWRmY2Ex
Y2U2NWM3NWU4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0
YW5jZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5jcHAK
QEAgLTEwMSw3ICsxMDEsNyBAQCB2b2lkIFNWR0VsZW1lbnRJbnN0YW5jZTo6ZGV0YWNoKCkKICAg
ICBtX2RpcmVjdFVzZUVsZW1lbnQgPSAwOwogICAgIG1fY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQg
PSAwOwogCi0gICAgcmVtb3ZlQWxsQ2hpbGRyZW5JbkNvbnRhaW5lcjxTVkdFbGVtZW50SW5zdGFu
Y2UsIFNWR0VsZW1lbnRJbnN0YW5jZT4odGhpcyk7CisgICAgcmVtb3ZlRGV0YWNoZWRDaGlsZHJl
bkluQ29udGFpbmVyPFNWR0VsZW1lbnRJbnN0YW5jZSwgU1ZHRWxlbWVudEluc3RhbmNlPih0aGlz
KTsKIH0KIAogUGFzc1JlZlB0cjxTVkdFbGVtZW50SW5zdGFuY2VMaXN0PiBTVkdFbGVtZW50SW5z
dGFuY2U6OmNoaWxkTm9kZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Vs
ZW1lbnRJbnN0YW5jZS5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5o
CmluZGV4IDRjZWEzNjRjYzQ3NDY1Nzc5MjA5NDJhY2VjNWNjMmU0OGY2Mzc4ZTMuLmNlMTYyNWFl
N2U0ZWJjYmRlZDcwMmQ2ZDBkOTE3YWVjOWVjMzE0NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RWxlbWVudEluc3RhbmNlLmgKQEAgLTE2MSw3ICsxNjEsNyBAQCBwcml2YXRlOgogICAgIGZyaWVu
ZCB2b2lkIGFwcGVuZENoaWxkVG9Db250YWluZXIoR2VuZXJpY05vZGUqIGNoaWxkLCBHZW5lcmlj
Tm9kZUNvbnRhaW5lciogY29udGFpbmVyKTsKIAogICAgIHRlbXBsYXRlPGNsYXNzIEdlbmVyaWNO
b2RlLCBjbGFzcyBHZW5lcmljTm9kZUNvbnRhaW5lcj4KLSAgICBmcmllbmQgdm9pZCByZW1vdmVB
bGxDaGlsZHJlbkluQ29udGFpbmVyKEdlbmVyaWNOb2RlQ29udGFpbmVyKiBjb250YWluZXIpOwor
ICAgIGZyaWVuZCB2b2lkIHJlbW92ZURldGFjaGVkQ2hpbGRyZW5JbkNvbnRhaW5lcihHZW5lcmlj
Tm9kZUNvbnRhaW5lciopOwogCiAgICAgdGVtcGxhdGU8Y2xhc3MgR2VuZXJpY05vZGUsIGNsYXNz
IEdlbmVyaWNOb2RlQ29udGFpbmVyPgogICAgIGZyaWVuZCB2b2lkIFByaXZhdGU6OmFkZENoaWxk
Tm9kZXNUb0RlbGV0aW9uUXVldWUoR2VuZXJpY05vZGUqJiBoZWFkLCBHZW5lcmljTm9kZSomIHRh
aWwsIEdlbmVyaWNOb2RlQ29udGFpbmVyKiBjb250YWluZXIpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184672</attachid>
            <date>2013-01-24 22:44:09 -0800</date>
            <delta_ts>2013-01-24 22:45:34 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-107640-20130125154100.patch</filename>
            <type>text/plain</type>
            <size>8656</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNzgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZThhNTExNTMxOWFjYjM3
NDU4YmQwZmZmYTg4OWIyYjhkMTBiZmVjYi4uNGFmNGFlNTU4YmNmOWI1YWEwYmE1NmFmODNjZDBl
ODdmMDIyMDNjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEzLTAxLTI0ICBIYWpp
bWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZWZhY3RvcmluZzog
VGhlIG5hbWUgQ29udGFpbmVyTm9kZTo6cmVtb3ZlQ2hpbGRyZW4gYW5kIENvbnRhaW5lck5kZTo6
cmVtb3ZlQWxsQ2hpbHJlbigpIGlzIGNvbmZ1c2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3NjQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJp
YyBTZWlkZWwuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgcmVuYW1lcyB1bnNhZmUgcmVtb3ZlQWxs
Q2hpbHJlbigpIGZ1bmN0aW9uIHRvCisgICAgICAgIHJlbW92ZURldGFjaGVkQ2hpbGRyZW4oKSBh
bmQgbW92ZSBpdCB0byBwcm90ZWN0ZWQgdmlzaWJpbGl0eS4KKworICAgICAgICBJbiB0aGVvcnks
IHRoZSByZW1vdmVkIG5vZGVzIHNob3VsZCBiZSBkZXRhY2hlZCgpIGJlZm9yZS4gQnV0IHNvbWUK
KyAgICAgICAgdGVzdHMgdmlvbGF0ZXMgdGhhdCBhc3N1bXB0aW9uLiBJdCBzaG91bGQgYmUgZml4
ZWQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBObyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAg
ICAgKiBkb20vQ29udGFpbmVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJO
b2RlOjpyZW1vdmVEZXRhY2hlZENoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRhaW5l
ck5vZGU6OnRha2VBbGxDaGlsZHJlbkZyb20pOgorICAgICAgICAoV2ViQ29yZTo6Q29udGFpbmVy
Tm9kZTo6fkNvbnRhaW5lck5vZGUpOgorICAgICAgICAqIGRvbS9Db250YWluZXJOb2RlLmg6Cisg
ICAgICAgIChDb250YWluZXJOb2RlKToKKyAgICAgICAgKiBkb20vQ29udGFpbmVyTm9kZUFsZ29y
aXRobXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OnJlbW92ZURldGFjaGVkQ2hpbGRyZW5JbkNvbnRh
aW5lcik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlbW92ZWRMYXN0UmVmKToKKyAgICAgICAgKiBk
b20vU2hhZG93Um9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290Ojp+U2hhZG93
Um9vdCk6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdFbGVtZW50SW5zdGFuY2U6OmRldGFjaCk6CisgICAgICAgICogc3ZnL1NWR0Vs
ZW1lbnRJbnN0YW5jZS5oOgorICAgICAgICAoU1ZHRWxlbWVudEluc3RhbmNlKToKKwogMjAxMy0w
MS0yNCAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4KIAogICAgICAgICBBZGp1
c3QgZGVzaWduIG9mIHRoZSBDYWxlbmRhciBQaWNrZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Db250YWluZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJO
b2RlLmNwcAppbmRleCBhNzkyOTYyNWIyMzU1YTQ4M2UyZjg1MGViMDI3OTE3NDI2MmY1YjY0Li5j
MTIzZjQ5YmRlZjE4ZjlhYjgwZmM1NDk0NDcxMTBlODY2NmZmOWIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0NvbnRhaW5lck5vZGUuY3BwCkBAIC05MCwxNiArOTAsMTcgQEAgc3RhdGljIHZvaWQgY29sbGVj
dENoaWxkcmVuQW5kUmVtb3ZlRnJvbU9sZFBhcmVudChOb2RlKiBub2RlLCBOb2RlVmVjdG9yJiBu
b2RlcywKICAgICB0b0NvbnRhaW5lck5vZGUobm9kZSktPnJlbW92ZUNoaWxkcmVuKCk7CiB9CiAK
LXZvaWQgQ29udGFpbmVyTm9kZTo6cmVtb3ZlQWxsQ2hpbGRyZW4oKQordm9pZCBDb250YWluZXJO
b2RlOjpyZW1vdmVEZXRhY2hlZENoaWxkcmVuKCkKIHsKLSAgICByZW1vdmVBbGxDaGlsZHJlbklu
Q29udGFpbmVyPE5vZGUsIENvbnRhaW5lck5vZGU+KHRoaXMpOworICAgIC8vIEZJWE1FOiBXZSBz
aG91bGQgYmUgYWJsZSB0byBBU1NFUlQoIWF0dGFjaGVkKCkpIGhlcmU6IGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc4MDEKKyAgICByZW1vdmVEZXRhY2hlZENoaWxk
cmVuSW5Db250YWluZXI8Tm9kZSwgQ29udGFpbmVyTm9kZT4odGhpcyk7CiB9CiAKIHZvaWQgQ29u
dGFpbmVyTm9kZTo6dGFrZUFsbENoaWxkcmVuRnJvbShDb250YWluZXJOb2RlKiBvbGRQYXJlbnQp
CiB7CiAgICAgTm9kZVZlY3RvciBjaGlsZHJlbjsKICAgICBnZXRDaGlsZE5vZGVzKG9sZFBhcmVu
dCwgY2hpbGRyZW4pOwotICAgIG9sZFBhcmVudC0+cmVtb3ZlQWxsQ2hpbGRyZW4oKTsKKyAgICBv
bGRQYXJlbnQtPnJlbW92ZURldGFjaGVkQ2hpbGRyZW4oKTsKIAogICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBjaGlsZHJlbi5zaXplKCk7ICsraSkgewogICAgICAgICBFeGNlcHRpb25Db2Rl
IGVjID0gMDsKQEAgLTEyMyw3ICsxMjQsNyBAQCBDb250YWluZXJOb2RlOjp+Q29udGFpbmVyTm9k
ZSgpCiAgICAgaWYgKEFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkgJiYgZG9j
dW1lbnRJbnRlcm5hbCgpICYmIGRvY3VtZW50SW50ZXJuYWwoKS0+YXhPYmplY3RDYWNoZUV4aXN0
cygpKQogICAgICAgICBkb2N1bWVudEludGVybmFsKCktPmF4T2JqZWN0Q2FjaGUoKS0+cmVtb3Zl
KHRoaXMpOwogCi0gICAgcmVtb3ZlQWxsQ2hpbGRyZW4oKTsKKyAgICByZW1vdmVEZXRhY2hlZENo
aWxkcmVuKCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBpc0NoaWxkVHlwZUFsbG93ZWQoQ29u
dGFpbmVyTm9kZSogbmV3UGFyZW50LCBOb2RlKiBjaGlsZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVy
Tm9kZS5oCmluZGV4IGRhZjhiNDMyNjhhODM5OTBhZDhmNTRkN2Q4ZDExYzNkNzUxMGJmNWQuLjEz
MjFkZmQ0YmE5NThjMWE3YjEzYjNkNWRhNWU0YmRhNjc0ZjA5YTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Nv
bnRhaW5lck5vZGUuaApAQCAtMTAxLDExICsxMDEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBwYXJz
ZXJSZW1vdmVDaGlsZChOb2RlKik7CiAgICAgdm9pZCBwYXJzZXJJbnNlcnRCZWZvcmUoUGFzc1Jl
ZlB0cjxOb2RlPiBuZXdDaGlsZCwgTm9kZSogcmVmQ2hpbGQpOwogCi0gICAgLy8gRklYTUU6IEl0
J3Mgbm90IGdvb2QgdG8gaGF2ZSB0d28gZnVuY3Rpb25zIHdpdGggc3VjaCBzaW1pbGFyIG5hbWVz
LCBlc3BlY2lhbGx5IHB1YmxpYyBmdW5jdGlvbnMuCi0gICAgLy8gSG93IGRvIHJlbW92ZUNoaWxk
cmVuIGFuZCByZW1vdmVBbGxDaGlsZHJlbiBkaWZmZXI/CiAgICAgdm9pZCByZW1vdmVDaGlsZHJl
bigpOwotICAgIHZvaWQgcmVtb3ZlQWxsQ2hpbGRyZW4oKTsKLQogICAgIHZvaWQgdGFrZUFsbENo
aWxkcmVuRnJvbShDb250YWluZXJOb2RlKik7CiAKICAgICB2b2lkIGNsb25lQ2hpbGROb2RlcyhD
b250YWluZXJOb2RlKiBjbG9uZSk7CkBAIC0xNTQsNiArMTUwLDcgQEAgcHJvdGVjdGVkOgogICAg
IHRlbXBsYXRlPGNsYXNzIEdlbmVyaWNOb2RlLCBjbGFzcyBHZW5lcmljTm9kZUNvbnRhaW5lcj4K
ICAgICBmcmllbmQgdm9pZCBQcml2YXRlOjphZGRDaGlsZE5vZGVzVG9EZWxldGlvblF1ZXVlKEdl
bmVyaWNOb2RlKiYgaGVhZCwgR2VuZXJpY05vZGUqJiB0YWlsLCBHZW5lcmljTm9kZUNvbnRhaW5l
ciopOwogCisgICAgdm9pZCByZW1vdmVEZXRhY2hlZENoaWxkcmVuKCk7CiAgICAgdm9pZCBzZXRG
aXJzdENoaWxkKE5vZGUqIGNoaWxkKSB7IG1fZmlyc3RDaGlsZCA9IGNoaWxkOyB9CiAgICAgdm9p
ZCBzZXRMYXN0Q2hpbGQoTm9kZSogY2hpbGQpIHsgbV9sYXN0Q2hpbGQgPSBjaGlsZDsgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZUFsZ29yaXRobXMuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlQWxnb3JpdGhtcy5oCmluZGV4IGFlY2Yx
MzAzNDA2ZDU1N2M2ZDEyNjY0YzBiY2UzM2Y1NWRkNDI1NzYuLjllZjEwNTYxOTExYTBhMGZhNDEy
Y2Q0ZDI2NTFkYTA4NDAxOTNkYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250
YWluZXJOb2RlQWxnb3JpdGhtcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJO
b2RlQWxnb3JpdGhtcy5oCkBAIC03OCw3ICs3OCw3IEBAIG5hbWVzcGFjZSBQcml2YXRlIHsKIC8v
IEhlbHBlciBmdW5jdGlvbnMgZm9yIFRyZWVTaGFyZWQtZGVyaXZlZCBjbGFzc2VzLCB3aGljaCBo
YXZlIGEgJ05vZGUnIHN0eWxlIGludGVyZmFjZQogLy8gVGhpcyBhcHBsaWVzIHRvICdDb250YWlu
ZXJOb2RlJyBhbmQgJ1NWR0VsZW1lbnRJbnN0YW5jZScKIHRlbXBsYXRlPGNsYXNzIEdlbmVyaWNO
b2RlLCBjbGFzcyBHZW5lcmljTm9kZUNvbnRhaW5lcj4KLWlubGluZSB2b2lkIHJlbW92ZUFsbENo
aWxkcmVuSW5Db250YWluZXIoR2VuZXJpY05vZGVDb250YWluZXIqIGNvbnRhaW5lcikKK2lubGlu
ZSB2b2lkIHJlbW92ZURldGFjaGVkQ2hpbGRyZW5JbkNvbnRhaW5lcihHZW5lcmljTm9kZUNvbnRh
aW5lciogY29udGFpbmVyKQogewogICAgIC8vIExpc3Qgb2Ygbm9kZXMgdG8gYmUgZGVsZXRlZC4K
ICAgICBHZW5lcmljTm9kZSogaGVhZCA9IDA7CkBAIC0xMjAsNyArMTIwLDcgQEAgaW5saW5lIHZv
aWQgYXBwZW5kQ2hpbGRUb0NvbnRhaW5lcihHZW5lcmljTm9kZSogY2hpbGQsIEdlbmVyaWNOb2Rl
Q29udGFpbmVyKiBjb24KICAgICBjb250YWluZXItPnNldExhc3RDaGlsZChjaGlsZCk7CiB9CiAK
LS8vIEhlbHBlciBtZXRob2RzIGZvciByZW1vdmVBbGxDaGlsZHJlbkluQ29udGFpbmVyLCBoaWRk
ZW4gZnJvbSBXZWJDb3JlIG5hbWVzcGFjZQorLy8gSGVscGVyIG1ldGhvZHMgZm9yIHJlbW92ZURl
dGFjaGVkQ2hpbGRyZW5JbkNvbnRhaW5lciwgaGlkZGVuIGZyb20gV2ViQ29yZSBuYW1lc3BhY2UK
IG5hbWVzcGFjZSBQcml2YXRlIHsKIAogICAgIHRlbXBsYXRlPGNsYXNzIEdlbmVyaWNOb2RlLCBj
bGFzcyBHZW5lcmljTm9kZUNvbnRhaW5lciwgYm9vbCBkaXNwYXRjaFJlbW92YWxOb3RpZmljYXRp
b24+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBhYWYxMWEzMjU1ZDU3NDgxM2RhZWVmZjMw
NTU3NGJkNmI0ODU5YzZmLi42Y2JhMjllZDY5ODJiMDdjZTkxNzZiNTcxMjYzOTI0ZDVkOTUxOGVi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTY1Niw3ICs2NTYsNyBAQCB2b2lkIERvY3Vt
ZW50OjpyZW1vdmVkTGFzdFJlZigpCiAgICAgaWYgKG1fZ3VhcmRSZWZDb3VudCkgewogICAgICAg
ICAvLyBJZiByZW1vdmluZyBhIGNoaWxkIHJlbW92ZXMgdGhlIGxhc3Qgc2VsZi1vbmx5IHJlZiwg
d2UgZG9uJ3QKICAgICAgICAgLy8gd2FudCB0aGUgc2NvcGUgdG8gYmUgZGVzdHJ1Y3RlZCB1bnRp
bCBhZnRlcgotICAgICAgICAvLyByZW1vdmVBbGxDaGlsZHJlbiByZXR1cm5zLCBzbyB3ZSBndWFy
ZCBvdXJzZWx2ZXMgd2l0aCBhbgorICAgICAgICAvLyByZW1vdmVEZXRhY2hlZENoaWxkcmVuIHJl
dHVybnMsIHNvIHdlIGd1YXJkIG91cnNlbHZlcyB3aXRoIGFuCiAgICAgICAgIC8vIGV4dHJhIHNl
bGYtb25seSByZWYuCiAgICAgICAgIGd1YXJkUmVmKCk7CiAKQEAgLTY3NywxMCArNjc3LDEwIEBA
IHZvaWQgRG9jdW1lbnQ6OnJlbW92ZWRMYXN0UmVmKCkKIAogICAgICAgICBkZXRhY2hQYXJzZXIo
KTsKIAotICAgICAgICAvLyByZW1vdmVBbGxDaGlsZHJlbigpIGRvZXNuJ3QgYWx3YXlzIHVucmVn
aXN0ZXIgSURzLAorICAgICAgICAvLyByZW1vdmVEZXRhY2hlZENoaWxkcmVuKCkgZG9lc24ndCBh
bHdheXMgdW5yZWdpc3RlciBJRHMsCiAgICAgICAgIC8vIHNvIHRlYXIgZG93biBzY29wZSBpbmZv
cm1hdGlvbiB1cGZyb250IHRvIGF2b2lkIGhhdmluZyBzdGFsZSByZWZlcmVuY2VzIGluIHRoZSBt
YXAuCiAgICAgICAgIGRlc3Ryb3lUcmVlU2NvcGVEYXRhKCk7Ci0gICAgICAgIHJlbW92ZUFsbENo
aWxkcmVuKCk7CisgICAgICAgIHJlbW92ZURldGFjaGVkQ2hpbGRyZW4oKTsKIAogICAgICAgICBt
X21hcmtlcnMtPmRldGFjaCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hh
ZG93Um9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAKaW5kZXggZTNh
NDgyMjJiOTNkMzhkNjcwZWMyYTIzODFmMGJmNmRhMTUxNzQyZC4uODFiYzkxNWFiMjdiNmQ0MmVi
YzlhNWM1NWIyMzllNjFlZDNhOTFhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1No
YWRvd1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcApAQCAt
ODYsNyArODYsNyBAQCBTaGFkb3dSb290Ojp+U2hhZG93Um9vdCgpCiAgICAgLy8gV2UgbXVzdCBy
ZW1vdmUgYWxsIG9mIG91ciBjaGlsZHJlbiBmaXJzdCBiZWZvcmUgdGhlIFRyZWVTY29wZSBkZXN0
cnVjdG9yCiAgICAgLy8gcnVucyBzbyB3ZSBkb24ndCBnbyB0aHJvdWdoIFRyZWVTY29wZUFkb3B0
ZXIgZm9yIGVhY2ggY2hpbGQgd2l0aCBhCiAgICAgLy8gZGVzdHJ1Y3RlZCB0cmVlIHNjb3BlIGlu
IGVhY2ggZGVzY2VuZGFudC4KLSAgICByZW1vdmVBbGxDaGlsZHJlbigpOworICAgIHJlbW92ZURl
dGFjaGVkQ2hpbGRyZW4oKTsKIAogICAgIC8vIFdlIG11c3QgY2FsbCBjbGVhclJhcmVEYXRhKCkg
aGVyZSBzaW5jZSBhIFNoYWRvd1Jvb3QgY2xhc3MgaW5oZXJpdHMgVHJlZVNjb3BlCiAgICAgLy8g
YXMgd2VsbCBhcyBOb2RlLiBTZWUgYSBjb21tZW50IG9uIFRyZWVTY29wZS5oIGZvciB0aGUgcmVh
c29uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmNwcAppbmRleCAyMjIz
MjcxOGM5MzBiMjBmNjQyM2U5NmZjY2M0NjgwODQ0MjNmMDQ4Li43YmRkZmU1YjdiNzczNDY5OTky
NmYxNWZhZGZjYTFjZTY1Yzc1ZTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RWxlbWVudEluc3RhbmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudElu
c3RhbmNlLmNwcApAQCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgU1ZHRWxlbWVudEluc3RhbmNlOjpk
ZXRhY2goKQogICAgIG1fZGlyZWN0VXNlRWxlbWVudCA9IDA7CiAgICAgbV9jb3JyZXNwb25kaW5n
VXNlRWxlbWVudCA9IDA7CiAKLSAgICByZW1vdmVBbGxDaGlsZHJlbkluQ29udGFpbmVyPFNWR0Vs
ZW1lbnRJbnN0YW5jZSwgU1ZHRWxlbWVudEluc3RhbmNlPih0aGlzKTsKKyAgICByZW1vdmVEZXRh
Y2hlZENoaWxkcmVuSW5Db250YWluZXI8U1ZHRWxlbWVudEluc3RhbmNlLCBTVkdFbGVtZW50SW5z
dGFuY2U+KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPFNWR0VsZW1lbnRJbnN0YW5jZUxpc3Q+IFNW
R0VsZW1lbnRJbnN0YW5jZTo6Y2hpbGROb2RlcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVu
dEluc3RhbmNlLmgKaW5kZXggNGNlYTM2NGNjNDc0NjU3NzkyMDk0MmFjZWM1Y2MyZTQ4ZjYzNzhl
My4uY2UxNjI1YWU3ZTRlYmNiZGVkNzAyZDZkMGQ5MTdhZWM5ZWMzMTQ3MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaApAQCAtMTYxLDcgKzE2MSw3IEBAIHByaXZhdGU6
CiAgICAgZnJpZW5kIHZvaWQgYXBwZW5kQ2hpbGRUb0NvbnRhaW5lcihHZW5lcmljTm9kZSogY2hp
bGQsIEdlbmVyaWNOb2RlQ29udGFpbmVyKiBjb250YWluZXIpOwogCiAgICAgdGVtcGxhdGU8Y2xh
c3MgR2VuZXJpY05vZGUsIGNsYXNzIEdlbmVyaWNOb2RlQ29udGFpbmVyPgotICAgIGZyaWVuZCB2
b2lkIHJlbW92ZUFsbENoaWxkcmVuSW5Db250YWluZXIoR2VuZXJpY05vZGVDb250YWluZXIqIGNv
bnRhaW5lcik7CisgICAgZnJpZW5kIHZvaWQgcmVtb3ZlRGV0YWNoZWRDaGlsZHJlbkluQ29udGFp
bmVyKEdlbmVyaWNOb2RlQ29udGFpbmVyKik7CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBHZW5lcmlj
Tm9kZSwgY2xhc3MgR2VuZXJpY05vZGVDb250YWluZXI+CiAgICAgZnJpZW5kIHZvaWQgUHJpdmF0
ZTo6YWRkQ2hpbGROb2Rlc1RvRGVsZXRpb25RdWV1ZShHZW5lcmljTm9kZSomIGhlYWQsIEdlbmVy
aWNOb2RlKiYgdGFpbCwgR2VuZXJpY05vZGVDb250YWluZXIqIGNvbnRhaW5lcik7Cg==
</data>
<flag name="commit-queue"
          id="203470"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>