<?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>73628</bug_id>
          
          <creation_ts>2011-12-01 23:04:09 -0800</creation_ts>
          <short_desc>Refactoring: Editor::markAllMisspellingsAndBadGrammarInRanges should be refactored.</short_desc>
          <delta_ts>2011-12-06 21:01:19 -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>HTML Editing</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>73902</dependson>
          <blocked>73616</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Shinya Kawanaka">shinyak</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>morrita</cc>
    
    <cc>shinyak</cc>
    
    <cc>vsevik</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>513534</commentid>
    <comment_count>0</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-12-01 23:04:09 -0800</bug_when>
    <thetext>Editor::markAllMisspellingsAndBadGrammarInRanges() should be refactored
 to unify the paths of Unified SpellChecker and Un-unified SpellChecker for adding markers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513551</commentid>
    <comment_count>1</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-12-01 23:27:00 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; Editor::markAllMisspellingsAndBadGrammarInRanges() should be refactored
&gt;  to unify the paths of Unified SpellChecker and Un-unified SpellChecker for adding markers.

Also, SpellChecker::requestCheckingFor should be refactored.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514972</commentid>
    <comment_count>2</comment_count>
      <attachid>117855</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-12-05 01:32:04 -0800</bug_when>
    <thetext>Created attachment 117855
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514984</commentid>
    <comment_count>3</comment_count>
      <attachid>117855</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-05 02:19:47 -0800</bug_when>
    <thetext>Comment on attachment 117855
Patch

Attachment 117855 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10734618

New failing tests:
svg/custom/linking-uri-01-b.svg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515008</commentid>
    <comment_count>4</comment_count>
      <attachid>117855</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-12-05 03:24:15 -0800</bug_when>
    <thetext>Comment on attachment 117855
Patch

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

Basically looks nice. There are only a few nits.

&gt; Source/WebCore/editing/Editor.cpp:2045
&gt; +    ExceptionCode ec = 0;

It&apos;s good opportunity to eliminate this. You can use ASSERT_NO_EXCEPTION.

&gt; Source/WebCore/editing/Editor.h:39
&gt; +#include &quot;TextCheckingHelper.h&quot;

I really want hide this in .cpp file.

&gt; Source/WebCore/editing/Editor.h:408
&gt; +    void markAndReplaceFor(TextCheckingTypeMask, const Vector&lt;TextCheckingResult&gt;&amp;, TextCheckingParagraph spellingParagraph, TextCheckingParagraph grammarParagraph);

Is it possible to pass TextCheckingParagraph as a reference or a pointer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515463</commentid>
    <comment_count>5</comment_count>
      <attachid>117950</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-12-05 15:47:39 -0800</bug_when>
    <thetext>Created attachment 117950
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515754</commentid>
    <comment_count>6</comment_count>
      <attachid>117950</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-06 02:32:13 -0800</bug_when>
    <thetext>Comment on attachment 117950
Patch

Clearing flags on attachment: 117950

Committed r102111: &lt;http://trac.webkit.org/changeset/102111&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515755</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-06 02:32:18 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515786</commentid>
    <comment_count>8</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-12-06 03:39:28 -0800</bug_when>
    <thetext>This patch broke compilation on several platforms.

http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Mac%20Builder%20%28CG%29/builds/3684

../editing/SpellingCorrectionController.h:58:1: error: struct &apos;TextCheckingResult&apos; was previously declared as a class [-Werror,-Wmismatched-tags]
struct TextCheckingResult;
^
../editing/Editor.h:66:7: note: previous use is here
class TextCheckingResult;
      ^
1 error generated.

Rolled out: &lt;http://trac.webkit.org/changeset/102120&gt;

Reopening.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516418</commentid>
    <comment_count>9</comment_count>
      <attachid>118153</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-12-06 18:02:22 -0800</bug_when>
    <thetext>Created attachment 118153
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516480</commentid>
    <comment_count>10</comment_count>
      <attachid>118153</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-06 21:01:14 -0800</bug_when>
    <thetext>Comment on attachment 118153
Patch

Clearing flags on attachment: 118153

Committed r102218: &lt;http://trac.webkit.org/changeset/102218&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516481</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-06 21:01:19 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117855</attachid>
            <date>2011-12-05 01:32:04 -0800</date>
            <delta_ts>2011-12-05 15:47:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73628-20111205183203.patch</filename>
            <type>text/plain</type>
            <size>9064</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxOTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2EwNWMyYWU3ODM0ZGVk
OTk4Y2JiNzIwMTFjMGRjNGY3OGYzZTQ3Ny4uMzA0OTMxYWNhYjZkODEwNzQ0ZTA5NTg3YWY4M2I0
Mjc4MmYyNTM0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDExLTEyLTA1ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGdvb2dsZS5jb20+CiAKKyAgICAgICAgUmVmYWN0b3Jpbmc6
IEVkaXRvcjo6bWFya0FsbE1pc3NwZWxsaW5nc0FuZEJhZEdyYW1tYXJJblJhbmdlcyBzaG91bGQg
YmUgcmVmYWN0b3JlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTczNjI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRXh0cmFjdGVkIGEgY29kZSBmb3IgYWRkaW5nIG1hcmtlcnMgYW5kIHJlcGxhY2luZyBt
aXNzcGVsbGVkIHdvcmRzIGZyb20gV2ViQ29yZTo6RWRpdG9yOjptYXJrQWxsTWlzc3BlbGxpbmdz
QW5kQmFkR3JhbW1hckluUmFuZ2VzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gY292ZXJlZCBi
eSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkVkaXRvcjo6bWFya0FsbE1pc3NwZWxsaW5nc0FuZEJhZEdyYW1tYXJJblJh
bmdlcyk6CisgICAgICAgICAgRXh0cmFjdGVkIGEgY29kZSBmb3IgYWRkaW5nIG1hcmtlcnMgYW5k
IHJlcGxhY2luZyBtaXNzcGxsZWQgd29yZHMsIGFuZCBtb3ZlZCB0byBtYXJrQW5kUmVwbGFjZUZv
ci4KKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6bWFya0FuZFJlcGxhY2VGb3IpOgorICAgICAg
ICAqIGVkaXRpbmcvRWRpdG9yLmg6CisKKzIwMTEtMTItMDUgIFNoaW55YSBLYXdhbmFrYSAgPHNo
aW55YWtAZ29vZ2xlLmNvbT4KKwogICAgICAgICBBc3luY2hyb25vdXMgU3BlbGxDaGVja2VyIHNo
b3VsZCBjb25zaWRlciBtdWx0aXBsZSByZXF1ZXN0cy4KICAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTM5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNw
cAppbmRleCBkMDBjZTEyN2E3ODc3NzhjNmEwZGRjNDkyZGQ2NWRiMWZkNjdkMmU0Li4wN2ViZGQz
NzI3NjA3YzFiOGQ5ZDI2MjZkMjQzOTBiNDkwY2E5MjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0
b3IuY3BwCkBAIC0xOTk0LDE0ICsxOTk0LDEwIEBAIHZvaWQgRWRpdG9yOjptYXJrQWxsTWlzc3Bl
bGxpbmdzQW5kQmFkR3JhbW1hckluUmFuZ2VzKFRleHRDaGVja2luZ1R5cGVNYXNrIHRleHRDCiAg
ICAgLy8gVGhlcmUgc2hvdWxkbid0IGJlIHBlbmRpbmcgYXV0b2NvcnJlY3Rpb24gYXQgdGhpcyBt
b21lbnQuCiAgICAgQVNTRVJUKCFtX3NwZWxsaW5nQ29ycmVjdG9yLT5oYXNQZW5kaW5nQ29ycmVj
dGlvbigpKTsKIAotICAgIGJvb2wgc2hvdWxkTWFya1NwZWxsaW5nID0gdGV4dENoZWNraW5nT3B0
aW9ucyAmIFRleHRDaGVja2luZ1R5cGVTcGVsbGluZzsKICAgICBib29sIHNob3VsZE1hcmtHcmFt
bWFyID0gdGV4dENoZWNraW5nT3B0aW9ucyAmIFRleHRDaGVja2luZ1R5cGVHcmFtbWFyOwotICAg
IGJvb2wgc2hvdWxkUGVyZm9ybVJlcGxhY2VtZW50ID0gdGV4dENoZWNraW5nT3B0aW9ucyAmIFRl
eHRDaGVja2luZ1R5cGVSZXBsYWNlbWVudDsKICAgICBib29sIHNob3VsZFNob3dDb3JyZWN0aW9u
UGFuZWwgPSB0ZXh0Q2hlY2tpbmdPcHRpb25zICYgVGV4dENoZWNraW5nVHlwZVNob3dDb3JyZWN0
aW9uUGFuZWw7Ci0gICAgYm9vbCBzaG91bGRDaGVja0ZvckNvcnJlY3Rpb24gPSBzaG91bGRTaG93
Q29ycmVjdGlvblBhbmVsIHx8ICh0ZXh0Q2hlY2tpbmdPcHRpb25zICYgVGV4dENoZWNraW5nVHlw
ZUNvcnJlY3Rpb24pOwogCiAgICAgLy8gVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aCBzZWxl
Y3Rpb25zIGFscmVhZHkgZXhwYW5kZWQgdG8gd29yZCBib3VuZGFyaWVzLgotICAgIEV4Y2VwdGlv
bkNvZGUgZWMgPSAwOwogICAgIGlmICghY2xpZW50KCkgfHwgIXNwZWxsaW5nUmFuZ2UgfHwgKHNo
b3VsZE1hcmtHcmFtbWFyICYmICFncmFtbWFyUmFuZ2UpKQogICAgICAgICByZXR1cm47CiAKQEAg
LTIwMTMsMzYgKzIwMDksMTIgQEAgdm9pZCBFZGl0b3I6Om1hcmtBbGxNaXNzcGVsbGluZ3NBbmRC
YWRHcmFtbWFySW5SYW5nZXMoVGV4dENoZWNraW5nVHlwZU1hc2sgdGV4dEMKICAgICBpZiAoIWlz
U3BlbGxDaGVja2luZ0VuYWJsZWRGb3IoZWRpdGFibGVOb2RlKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgLy8gRXhwYW5kIHRoZSByYW5nZSB0byBlbmNvbXBhc3MgZW50aXJlIHBhcmFncmFwaHMs
IHNpbmNlIHRleHQgY2hlY2tpbmcgbmVlZHMgdGhhdCBtdWNoIGNvbnRleHQuCi0gICAgaW50IHNl
bGVjdGlvbk9mZnNldCA9IDA7Ci0gICAgaW50IGFtYmlndW91c0JvdW5kYXJ5T2Zmc2V0ID0gLTE7
Ci0gICAgYm9vbCBzZWxlY3Rpb25DaGFuZ2VkID0gZmFsc2U7Ci0gICAgYm9vbCByZXN0b3JlU2Vs
ZWN0aW9uQWZ0ZXJDaGFuZ2UgPSBmYWxzZTsKLSAgICBib29sIGFkanVzdFNlbGVjdGlvbkZvclBh
cmFncmFwaEJvdW5kYXJpZXMgPSBmYWxzZTsKLQogICAgIFRleHRDaGVja2luZ1BhcmFncmFwaCBz
cGVsbGluZ1BhcmFncmFwaChzcGVsbGluZ1JhbmdlKTsKICAgICBUZXh0Q2hlY2tpbmdQYXJhZ3Jh
cGggZ3JhbW1hclBhcmFncmFwaChzaG91bGRNYXJrR3JhbW1hciA/IGdyYW1tYXJSYW5nZSA6IDAp
OwogCiAgICAgaWYgKHNob3VsZE1hcmtHcmFtbWFyID8gKHNwZWxsaW5nUGFyYWdyYXBoLmlzUmFu
Z2VFbXB0eSgpICYmIGdyYW1tYXJQYXJhZ3JhcGguaXNFbXB0eSgpKSA6IHNwZWxsaW5nUGFyYWdy
YXBoLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKHNob3VsZFBlcmZvcm1S
ZXBsYWNlbWVudCB8fCBzaG91bGRNYXJrU3BlbGxpbmcgfHwgc2hvdWxkQ2hlY2tGb3JDb3JyZWN0
aW9uKSB7Ci0gICAgICAgIGlmIChtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+c2VsZWN0aW9uVHlwZSgp
ID09IFZpc2libGVTZWxlY3Rpb246OkNhcmV0U2VsZWN0aW9uKSB7Ci0gICAgICAgICAgICAvLyBB
dHRlbXB0IHRvIHNhdmUgdGhlIGNhcmV0IHBvc2l0aW9uIHNvIHdlIGNhbiByZXN0b3JlIGl0IGxh
dGVyIGlmIG5lZWRlZAotICAgICAgICAgICAgUG9zaXRpb24gY2FyZXRQb3NpdGlvbiA9IG1fZnJh
bWUtPnNlbGVjdGlvbigpLT5lbmQoKTsKLSAgICAgICAgICAgIGludCBvZmZzZXQgPSBzcGVsbGlu
Z1BhcmFncmFwaC5vZmZzZXRUbyhjYXJldFBvc2l0aW9uLCBlYyk7Ci0gICAgICAgICAgICBpZiAo
IWVjKSB7Ci0gICAgICAgICAgICAgICAgc2VsZWN0aW9uT2Zmc2V0ID0gb2Zmc2V0OwotICAgICAg
ICAgICAgICAgIHJlc3RvcmVTZWxlY3Rpb25BZnRlckNoYW5nZSA9IHRydWU7Ci0gICAgICAgICAg
ICAgICAgaWYgKHNlbGVjdGlvbk9mZnNldCA+IDAgJiYgKHNlbGVjdGlvbk9mZnNldCA+IHNwZWxs
aW5nUGFyYWdyYXBoLnRleHRMZW5ndGgoKSB8fCBzcGVsbGluZ1BhcmFncmFwaC50ZXh0Q2hhckF0
KHNlbGVjdGlvbk9mZnNldCAtIDEpID09IG5ld2xpbmVDaGFyYWN0ZXIpKQotICAgICAgICAgICAg
ICAgICAgICBhZGp1c3RTZWxlY3Rpb25Gb3JQYXJhZ3JhcGhCb3VuZGFyaWVzID0gdHJ1ZTsKLSAg
ICAgICAgICAgICAgICBpZiAoc2VsZWN0aW9uT2Zmc2V0ID4gMCAmJiBzZWxlY3Rpb25PZmZzZXQg
PD0gc3BlbGxpbmdQYXJhZ3JhcGgudGV4dExlbmd0aCgpICYmIGlzQW1iaWd1b3VzQm91bmRhcnlD
aGFyYWN0ZXIoc3BlbGxpbmdQYXJhZ3JhcGgudGV4dENoYXJBdChzZWxlY3Rpb25PZmZzZXQgLSAx
KSkpCi0gICAgICAgICAgICAgICAgICAgIGFtYmlndW91c0JvdW5kYXJ5T2Zmc2V0ID0gc2VsZWN0
aW9uT2Zmc2V0IC0gMTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotCiAgICAg
Ym9vbCBhc3luY2hyb25vdXMgPSBtX2ZyYW1lICYmIG1fZnJhbWUtPnNldHRpbmdzKCkgJiYgbV9m
cmFtZS0+c2V0dGluZ3MoKS0+YXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoKSAmJiAh
c2hvdWxkU2hvd0NvcnJlY3Rpb25QYW5lbDsKICAgICBpZiAoYXN5bmNocm9ub3VzKSB7CiAgICAg
ICAgIGlmIChzaG91bGRNYXJrR3JhbW1hcikKQEAgLTIwNTksNyArMjAzMSw0MSBAQCB2b2lkIEVk
aXRvcjo6bWFya0FsbE1pc3NwZWxsaW5nc0FuZEJhZEdyYW1tYXJJblJhbmdlcyhUZXh0Q2hlY2tp
bmdUeXBlTWFzayB0ZXh0QwogICAgIGVsc2UKICAgICAgICAgY2hlY2tUZXh0T2ZQYXJhZ3JhcGgo
dGV4dENoZWNrZXIoKSwgc3BlbGxpbmdQYXJhZ3JhcGgudGV4dENoYXJhY3RlcnMoKSwgc3BlbGxp
bmdQYXJhZ3JhcGgudGV4dExlbmd0aCgpLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmVzb2x2ZVRleHRDaGVja2luZ1R5cGVNYXNrKHRleHRDaGVja2luZ09w
dGlvbnMpLCByZXN1bHRzKTsKLSAgICAgICAgCisKKyAgICBtYXJrQW5kUmVwbGFjZUZvcih0ZXh0
Q2hlY2tpbmdPcHRpb25zLCByZXN1bHRzLCBzcGVsbGluZ1BhcmFncmFwaCwgZ3JhbW1hclBhcmFn
cmFwaCk7Cit9CisKK3ZvaWQgRWRpdG9yOjptYXJrQW5kUmVwbGFjZUZvcihUZXh0Q2hlY2tpbmdU
eXBlTWFzayB0ZXh0Q2hlY2tpbmdPcHRpb25zLCBjb25zdCBWZWN0b3I8VGV4dENoZWNraW5nUmVz
dWx0PiYgcmVzdWx0cywgVGV4dENoZWNraW5nUGFyYWdyYXBoIHNwZWxsaW5nUGFyYWdyYXBoLCBU
ZXh0Q2hlY2tpbmdQYXJhZ3JhcGggZ3JhbW1hclBhcmFncmFwaCkKK3sKKyAgICBib29sIHNob3Vs
ZE1hcmtTcGVsbGluZyA9IHRleHRDaGVja2luZ09wdGlvbnMgJiBUZXh0Q2hlY2tpbmdUeXBlU3Bl
bGxpbmc7CisgICAgYm9vbCBzaG91bGRNYXJrR3JhbW1hciA9IHRleHRDaGVja2luZ09wdGlvbnMg
JiBUZXh0Q2hlY2tpbmdUeXBlR3JhbW1hcjsKKyAgICBib29sIHNob3VsZFBlcmZvcm1SZXBsYWNl
bWVudCA9IHRleHRDaGVja2luZ09wdGlvbnMgJiBUZXh0Q2hlY2tpbmdUeXBlUmVwbGFjZW1lbnQ7
CisgICAgYm9vbCBzaG91bGRTaG93Q29ycmVjdGlvblBhbmVsID0gdGV4dENoZWNraW5nT3B0aW9u
cyAmIFRleHRDaGVja2luZ1R5cGVTaG93Q29ycmVjdGlvblBhbmVsOworICAgIGJvb2wgc2hvdWxk
Q2hlY2tGb3JDb3JyZWN0aW9uID0gc2hvdWxkU2hvd0NvcnJlY3Rpb25QYW5lbCB8fCAodGV4dENo
ZWNraW5nT3B0aW9ucyAmIFRleHRDaGVja2luZ1R5cGVDb3JyZWN0aW9uKTsKKyAgICBFeGNlcHRp
b25Db2RlIGVjID0gMDsKKworICAgIC8vIEV4cGFuZCB0aGUgcmFuZ2UgdG8gZW5jb21wYXNzIGVu
dGlyZSBwYXJhZ3JhcGhzLCBzaW5jZSB0ZXh0IGNoZWNraW5nIG5lZWRzIHRoYXQgbXVjaCBjb250
ZXh0LgorICAgIGludCBzZWxlY3Rpb25PZmZzZXQgPSAwOworICAgIGludCBhbWJpZ3VvdXNCb3Vu
ZGFyeU9mZnNldCA9IC0xOworICAgIGJvb2wgc2VsZWN0aW9uQ2hhbmdlZCA9IGZhbHNlOworICAg
IGJvb2wgcmVzdG9yZVNlbGVjdGlvbkFmdGVyQ2hhbmdlID0gZmFsc2U7CisgICAgYm9vbCBhZGp1
c3RTZWxlY3Rpb25Gb3JQYXJhZ3JhcGhCb3VuZGFyaWVzID0gZmFsc2U7CisKKyAgICBpZiAoc2hv
dWxkUGVyZm9ybVJlcGxhY2VtZW50IHx8IHNob3VsZE1hcmtTcGVsbGluZyB8fCBzaG91bGRDaGVj
a0ZvckNvcnJlY3Rpb24pIHsKKyAgICAgICAgaWYgKG1fZnJhbWUtPnNlbGVjdGlvbigpLT5zZWxl
Y3Rpb25UeXBlKCkgPT0gVmlzaWJsZVNlbGVjdGlvbjo6Q2FyZXRTZWxlY3Rpb24pIHsKKyAgICAg
ICAgICAgIC8vIEF0dGVtcHQgdG8gc2F2ZSB0aGUgY2FyZXQgcG9zaXRpb24gc28gd2UgY2FuIHJl
c3RvcmUgaXQgbGF0ZXIgaWYgbmVlZGVkCisgICAgICAgICAgICBQb3NpdGlvbiBjYXJldFBvc2l0
aW9uID0gbV9mcmFtZS0+c2VsZWN0aW9uKCktPmVuZCgpOworICAgICAgICAgICAgaW50IG9mZnNl
dCA9IHNwZWxsaW5nUGFyYWdyYXBoLm9mZnNldFRvKGNhcmV0UG9zaXRpb24sIGVjKTsKKyAgICAg
ICAgICAgIGlmICghZWMpIHsKKyAgICAgICAgICAgICAgICBzZWxlY3Rpb25PZmZzZXQgPSBvZmZz
ZXQ7CisgICAgICAgICAgICAgICAgcmVzdG9yZVNlbGVjdGlvbkFmdGVyQ2hhbmdlID0gdHJ1ZTsK
KyAgICAgICAgICAgICAgICBpZiAoc2VsZWN0aW9uT2Zmc2V0ID4gMCAmJiAoc2VsZWN0aW9uT2Zm
c2V0ID4gc3BlbGxpbmdQYXJhZ3JhcGgudGV4dExlbmd0aCgpIHx8IHNwZWxsaW5nUGFyYWdyYXBo
LnRleHRDaGFyQXQoc2VsZWN0aW9uT2Zmc2V0IC0gMSkgPT0gbmV3bGluZUNoYXJhY3RlcikpCisg
ICAgICAgICAgICAgICAgICAgIGFkanVzdFNlbGVjdGlvbkZvclBhcmFncmFwaEJvdW5kYXJpZXMg
PSB0cnVlOworICAgICAgICAgICAgICAgIGlmIChzZWxlY3Rpb25PZmZzZXQgPiAwICYmIHNlbGVj
dGlvbk9mZnNldCA8PSBzcGVsbGluZ1BhcmFncmFwaC50ZXh0TGVuZ3RoKCkgJiYgaXNBbWJpZ3Vv
dXNCb3VuZGFyeUNoYXJhY3RlcihzcGVsbGluZ1BhcmFncmFwaC50ZXh0Q2hhckF0KHNlbGVjdGlv
bk9mZnNldCAtIDEpKSkKKyAgICAgICAgICAgICAgICAgICAgYW1iaWd1b3VzQm91bmRhcnlPZmZz
ZXQgPSBzZWxlY3Rpb25PZmZzZXQgLSAxOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAg
fQogCiAgICAgLy8gSWYgdGhpcyBjaGVja2luZyBpcyBvbmx5IGZvciBzaG93aW5nIGNvcnJlY3Rp
b24gcGFuZWwsIHdlIHNob3VsZG4ndCBib3RoZXIgdG8gbWFyayBtaXNzcGVsbGluZ3MuCiAgICAg
aWYgKHNob3VsZFNob3dDb3JyZWN0aW9uUGFuZWwpCkBAIC0yMDkyLDcgKzIwOTgsNyBAQCB2b2lk
IEVkaXRvcjo6bWFya0FsbE1pc3NwZWxsaW5nc0FuZEJhZEdyYW1tYXJJblJhbmdlcyhUZXh0Q2hl
Y2tpbmdUeXBlTWFzayB0ZXh0QwogICAgICAgICAgICAgICAgIEFTU0VSVChkZXRhaWwtPmxlbmd0
aCA+IDAgJiYgZGV0YWlsLT5sb2NhdGlvbiA+PSAwKTsKICAgICAgICAgICAgICAgICBpZiAoZ3Jh
bW1hclBhcmFncmFwaC5jaGVja2luZ1JhbmdlQ292ZXJzKHJlc3VsdExvY2F0aW9uICsgZGV0YWls
LT5sb2NhdGlvbiwgZGV0YWlsLT5sZW5ndGgpKSB7CiAgICAgICAgICAgICAgICAgICAgIFJlZlB0
cjxSYW5nZT4gYmFkR3JhbW1hclJhbmdlID0gZ3JhbW1hclBhcmFncmFwaC5zdWJyYW5nZShyZXN1
bHRMb2NhdGlvbiArIGRldGFpbC0+bG9jYXRpb24sIGRldGFpbC0+bGVuZ3RoKTsKLSAgICAgICAg
ICAgICAgICAgICAgZ3JhbW1hclJhbmdlLT5zdGFydENvbnRhaW5lcihlYyktPmRvY3VtZW50KCkt
Pm1hcmtlcnMoKS0+YWRkTWFya2VyKGJhZEdyYW1tYXJSYW5nZS5nZXQoKSwgRG9jdW1lbnRNYXJr
ZXI6OkdyYW1tYXIsIGRldGFpbC0+dXNlckRlc2NyaXB0aW9uKTsKKyAgICAgICAgICAgICAgICAg
ICAgYmFkR3JhbW1hclJhbmdlLT5zdGFydENvbnRhaW5lcihlYyktPmRvY3VtZW50KCktPm1hcmtl
cnMoKS0+YWRkTWFya2VyKGJhZEdyYW1tYXJSYW5nZS5nZXQoKSwgRG9jdW1lbnRNYXJrZXI6Okdy
YW1tYXIsIGRldGFpbC0+dXNlckRlc2NyaXB0aW9uKTsKICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0gZWxzZSBpZiAocmVzdWx0TG9jYXRpb24gKyByZXN1bHRMZW5n
dGggPD0gc3BlbGxpbmdSYW5nZUVuZE9mZnNldCAmJiByZXN1bHRMb2NhdGlvbiArIHJlc3VsdExl
bmd0aCA+PSBzcGVsbGluZ1BhcmFncmFwaC5jaGVja2luZ1N0YXJ0KCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Vk
aXRvci5oCmluZGV4IDEwZDcwOTg2ZGM1MmQ1ZjhjZDM5NmU4MjYzNGQwOWE0NGM3NjVmN2MuLjFl
ZWRiNzhkMzNjMTc3N2NiNmVmYWY3MjYxY2E2ZDVlMWUwNmJhNDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9F
ZGl0b3IuaApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIkZpbmRPcHRpb25zLmgiCiAjaW5j
bHVkZSAiRnJhbWVTZWxlY3Rpb24uaCIKICNpbmNsdWRlICJUZXh0Q2hlY2tpbmcuaCIKKyNpbmNs
dWRlICJUZXh0Q2hlY2tpbmdIZWxwZXIuaCIKICNpbmNsdWRlICJWaXNpYmxlU2VsZWN0aW9uLmgi
CiAjaW5jbHVkZSAiV3JpdGluZ0RpcmVjdGlvbi5oIgogCkBAIC02Miw2ICs2Myw3IEBAIGNsYXNz
IFNpbXBsZUZvbnREYXRhOwogY2xhc3MgU3BlbGxDaGVja2VyOwogY2xhc3MgVGV4dDsKIGNsYXNz
IFRleHRDaGVja2VyQ2xpZW50OworY2xhc3MgVGV4dENoZWNraW5nUmVzdWx0OwogY2xhc3MgVGV4
dEV2ZW50OwogCiBzdHJ1Y3QgQ29tcG9zaXRpb25VbmRlcmxpbmUgewpAQCAtNDAzLDYgKzQwNSw3
IEBAIHByaXZhdGU6CiAgICAgdm9pZCB3cml0ZVNlbGVjdGlvblRvUGFzdGVib2FyZChQYXN0ZWJv
YXJkKik7CiAgICAgdm9pZCByZXZlYWxTZWxlY3Rpb25BZnRlckVkaXRpbmdPcGVyYXRpb24oKTsK
ICAgICB2b2lkIG1hcmtNaXNzcGVsbGluZ3NPckJhZEdyYW1tYXIoY29uc3QgVmlzaWJsZVNlbGVj
dGlvbiYsIGJvb2wgY2hlY2tTcGVsbGluZywgUmVmUHRyPFJhbmdlPiYgZmlyc3RNaXNzcGVsbGlu
Z1JhbmdlKTsKKyAgICB2b2lkIG1hcmtBbmRSZXBsYWNlRm9yKFRleHRDaGVja2luZ1R5cGVNYXNr
LCBjb25zdCBWZWN0b3I8VGV4dENoZWNraW5nUmVzdWx0PiYsIFRleHRDaGVja2luZ1BhcmFncmFw
aCBzcGVsbGluZ1BhcmFncmFwaCwgVGV4dENoZWNraW5nUGFyYWdyYXBoIGdyYW1tYXJQYXJhZ3Jh
cGgpOwogICAgIFRleHRDaGVja2luZ1R5cGVNYXNrIHJlc29sdmVUZXh0Q2hlY2tpbmdUeXBlTWFz
ayhUZXh0Q2hlY2tpbmdUeXBlTWFzayk7CiAKICAgICB2b2lkIHNlbGVjdENvbXBvc2l0aW9uKCk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117950</attachid>
            <date>2011-12-05 15:47:39 -0800</date>
            <delta_ts>2011-12-06 18:02:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73628-20111206084737.patch</filename>
            <type>text/plain</type>
            <size>10760</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxOTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2EwNWMyYWU3ODM0ZGVk
OTk4Y2JiNzIwMTFjMGRjNGY3OGYzZTQ3Ny4uMzA0OTMxYWNhYjZkODEwNzQ0ZTA5NTg3YWY4M2I0
Mjc4MmYyNTM0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDExLTEyLTA1ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGdvb2dsZS5jb20+CiAKKyAgICAgICAgUmVmYWN0b3Jpbmc6
IEVkaXRvcjo6bWFya0FsbE1pc3NwZWxsaW5nc0FuZEJhZEdyYW1tYXJJblJhbmdlcyBzaG91bGQg
YmUgcmVmYWN0b3JlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTczNjI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRXh0cmFjdGVkIGEgY29kZSBmb3IgYWRkaW5nIG1hcmtlcnMgYW5kIHJlcGxhY2luZyBt
aXNzcGVsbGVkIHdvcmRzIGZyb20gV2ViQ29yZTo6RWRpdG9yOjptYXJrQWxsTWlzc3BlbGxpbmdz
QW5kQmFkR3JhbW1hckluUmFuZ2VzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gY292ZXJlZCBi
eSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkVkaXRvcjo6bWFya0FsbE1pc3NwZWxsaW5nc0FuZEJhZEdyYW1tYXJJblJh
bmdlcyk6CisgICAgICAgICAgRXh0cmFjdGVkIGEgY29kZSBmb3IgYWRkaW5nIG1hcmtlcnMgYW5k
IHJlcGxhY2luZyBtaXNzcGxsZWQgd29yZHMsIGFuZCBtb3ZlZCB0byBtYXJrQW5kUmVwbGFjZUZv
ci4KKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6bWFya0FuZFJlcGxhY2VGb3IpOgorICAgICAg
ICAqIGVkaXRpbmcvRWRpdG9yLmg6CisKKzIwMTEtMTItMDUgIFNoaW55YSBLYXdhbmFrYSAgPHNo
aW55YWtAZ29vZ2xlLmNvbT4KKwogICAgICAgICBBc3luY2hyb25vdXMgU3BlbGxDaGVja2VyIHNo
b3VsZCBjb25zaWRlciBtdWx0aXBsZSByZXF1ZXN0cy4KICAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTM5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNw
cAppbmRleCBkMDBjZTEyN2E3ODc3NzhjNmEwZGRjNDkyZGQ2NWRiMWZkNjdkMmU0Li5mZDc4MjZh
NmYxZDYxZmE4NGU4NDExMWEwY2I0OWM3NmQ5MTVjMDc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0
b3IuY3BwCkBAIC0xOTk0LDE0ICsxOTk0LDEwIEBAIHZvaWQgRWRpdG9yOjptYXJrQWxsTWlzc3Bl
bGxpbmdzQW5kQmFkR3JhbW1hckluUmFuZ2VzKFRleHRDaGVja2luZ1R5cGVNYXNrIHRleHRDCiAg
ICAgLy8gVGhlcmUgc2hvdWxkbid0IGJlIHBlbmRpbmcgYXV0b2NvcnJlY3Rpb24gYXQgdGhpcyBt
b21lbnQuCiAgICAgQVNTRVJUKCFtX3NwZWxsaW5nQ29ycmVjdG9yLT5oYXNQZW5kaW5nQ29ycmVj
dGlvbigpKTsKIAotICAgIGJvb2wgc2hvdWxkTWFya1NwZWxsaW5nID0gdGV4dENoZWNraW5nT3B0
aW9ucyAmIFRleHRDaGVja2luZ1R5cGVTcGVsbGluZzsKICAgICBib29sIHNob3VsZE1hcmtHcmFt
bWFyID0gdGV4dENoZWNraW5nT3B0aW9ucyAmIFRleHRDaGVja2luZ1R5cGVHcmFtbWFyOwotICAg
IGJvb2wgc2hvdWxkUGVyZm9ybVJlcGxhY2VtZW50ID0gdGV4dENoZWNraW5nT3B0aW9ucyAmIFRl
eHRDaGVja2luZ1R5cGVSZXBsYWNlbWVudDsKICAgICBib29sIHNob3VsZFNob3dDb3JyZWN0aW9u
UGFuZWwgPSB0ZXh0Q2hlY2tpbmdPcHRpb25zICYgVGV4dENoZWNraW5nVHlwZVNob3dDb3JyZWN0
aW9uUGFuZWw7Ci0gICAgYm9vbCBzaG91bGRDaGVja0ZvckNvcnJlY3Rpb24gPSBzaG91bGRTaG93
Q29ycmVjdGlvblBhbmVsIHx8ICh0ZXh0Q2hlY2tpbmdPcHRpb25zICYgVGV4dENoZWNraW5nVHlw
ZUNvcnJlY3Rpb24pOwogCiAgICAgLy8gVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aCBzZWxl
Y3Rpb25zIGFscmVhZHkgZXhwYW5kZWQgdG8gd29yZCBib3VuZGFyaWVzLgotICAgIEV4Y2VwdGlv
bkNvZGUgZWMgPSAwOwogICAgIGlmICghY2xpZW50KCkgfHwgIXNwZWxsaW5nUmFuZ2UgfHwgKHNo
b3VsZE1hcmtHcmFtbWFyICYmICFncmFtbWFyUmFuZ2UpKQogICAgICAgICByZXR1cm47CiAKQEAg
LTIwMTMsMzYgKzIwMDksMTIgQEAgdm9pZCBFZGl0b3I6Om1hcmtBbGxNaXNzcGVsbGluZ3NBbmRC
YWRHcmFtbWFySW5SYW5nZXMoVGV4dENoZWNraW5nVHlwZU1hc2sgdGV4dEMKICAgICBpZiAoIWlz
U3BlbGxDaGVja2luZ0VuYWJsZWRGb3IoZWRpdGFibGVOb2RlKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgLy8gRXhwYW5kIHRoZSByYW5nZSB0byBlbmNvbXBhc3MgZW50aXJlIHBhcmFncmFwaHMs
IHNpbmNlIHRleHQgY2hlY2tpbmcgbmVlZHMgdGhhdCBtdWNoIGNvbnRleHQuCi0gICAgaW50IHNl
bGVjdGlvbk9mZnNldCA9IDA7Ci0gICAgaW50IGFtYmlndW91c0JvdW5kYXJ5T2Zmc2V0ID0gLTE7
Ci0gICAgYm9vbCBzZWxlY3Rpb25DaGFuZ2VkID0gZmFsc2U7Ci0gICAgYm9vbCByZXN0b3JlU2Vs
ZWN0aW9uQWZ0ZXJDaGFuZ2UgPSBmYWxzZTsKLSAgICBib29sIGFkanVzdFNlbGVjdGlvbkZvclBh
cmFncmFwaEJvdW5kYXJpZXMgPSBmYWxzZTsKLQogICAgIFRleHRDaGVja2luZ1BhcmFncmFwaCBz
cGVsbGluZ1BhcmFncmFwaChzcGVsbGluZ1JhbmdlKTsKICAgICBUZXh0Q2hlY2tpbmdQYXJhZ3Jh
cGggZ3JhbW1hclBhcmFncmFwaChzaG91bGRNYXJrR3JhbW1hciA/IGdyYW1tYXJSYW5nZSA6IDAp
OwogCiAgICAgaWYgKHNob3VsZE1hcmtHcmFtbWFyID8gKHNwZWxsaW5nUGFyYWdyYXBoLmlzUmFu
Z2VFbXB0eSgpICYmIGdyYW1tYXJQYXJhZ3JhcGguaXNFbXB0eSgpKSA6IHNwZWxsaW5nUGFyYWdy
YXBoLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKHNob3VsZFBlcmZvcm1S
ZXBsYWNlbWVudCB8fCBzaG91bGRNYXJrU3BlbGxpbmcgfHwgc2hvdWxkQ2hlY2tGb3JDb3JyZWN0
aW9uKSB7Ci0gICAgICAgIGlmIChtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+c2VsZWN0aW9uVHlwZSgp
ID09IFZpc2libGVTZWxlY3Rpb246OkNhcmV0U2VsZWN0aW9uKSB7Ci0gICAgICAgICAgICAvLyBB
dHRlbXB0IHRvIHNhdmUgdGhlIGNhcmV0IHBvc2l0aW9uIHNvIHdlIGNhbiByZXN0b3JlIGl0IGxh
dGVyIGlmIG5lZWRlZAotICAgICAgICAgICAgUG9zaXRpb24gY2FyZXRQb3NpdGlvbiA9IG1fZnJh
bWUtPnNlbGVjdGlvbigpLT5lbmQoKTsKLSAgICAgICAgICAgIGludCBvZmZzZXQgPSBzcGVsbGlu
Z1BhcmFncmFwaC5vZmZzZXRUbyhjYXJldFBvc2l0aW9uLCBlYyk7Ci0gICAgICAgICAgICBpZiAo
IWVjKSB7Ci0gICAgICAgICAgICAgICAgc2VsZWN0aW9uT2Zmc2V0ID0gb2Zmc2V0OwotICAgICAg
ICAgICAgICAgIHJlc3RvcmVTZWxlY3Rpb25BZnRlckNoYW5nZSA9IHRydWU7Ci0gICAgICAgICAg
ICAgICAgaWYgKHNlbGVjdGlvbk9mZnNldCA+IDAgJiYgKHNlbGVjdGlvbk9mZnNldCA+IHNwZWxs
aW5nUGFyYWdyYXBoLnRleHRMZW5ndGgoKSB8fCBzcGVsbGluZ1BhcmFncmFwaC50ZXh0Q2hhckF0
KHNlbGVjdGlvbk9mZnNldCAtIDEpID09IG5ld2xpbmVDaGFyYWN0ZXIpKQotICAgICAgICAgICAg
ICAgICAgICBhZGp1c3RTZWxlY3Rpb25Gb3JQYXJhZ3JhcGhCb3VuZGFyaWVzID0gdHJ1ZTsKLSAg
ICAgICAgICAgICAgICBpZiAoc2VsZWN0aW9uT2Zmc2V0ID4gMCAmJiBzZWxlY3Rpb25PZmZzZXQg
PD0gc3BlbGxpbmdQYXJhZ3JhcGgudGV4dExlbmd0aCgpICYmIGlzQW1iaWd1b3VzQm91bmRhcnlD
aGFyYWN0ZXIoc3BlbGxpbmdQYXJhZ3JhcGgudGV4dENoYXJBdChzZWxlY3Rpb25PZmZzZXQgLSAx
KSkpCi0gICAgICAgICAgICAgICAgICAgIGFtYmlndW91c0JvdW5kYXJ5T2Zmc2V0ID0gc2VsZWN0
aW9uT2Zmc2V0IC0gMTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotCiAgICAg
Ym9vbCBhc3luY2hyb25vdXMgPSBtX2ZyYW1lICYmIG1fZnJhbWUtPnNldHRpbmdzKCkgJiYgbV9m
cmFtZS0+c2V0dGluZ3MoKS0+YXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoKSAmJiAh
c2hvdWxkU2hvd0NvcnJlY3Rpb25QYW5lbDsKICAgICBpZiAoYXN5bmNocm9ub3VzKSB7CiAgICAg
ICAgIGlmIChzaG91bGRNYXJrR3JhbW1hcikKQEAgLTIwNTksNyArMjAzMSwzNyBAQCB2b2lkIEVk
aXRvcjo6bWFya0FsbE1pc3NwZWxsaW5nc0FuZEJhZEdyYW1tYXJJblJhbmdlcyhUZXh0Q2hlY2tp
bmdUeXBlTWFzayB0ZXh0QwogICAgIGVsc2UKICAgICAgICAgY2hlY2tUZXh0T2ZQYXJhZ3JhcGgo
dGV4dENoZWNrZXIoKSwgc3BlbGxpbmdQYXJhZ3JhcGgudGV4dENoYXJhY3RlcnMoKSwgc3BlbGxp
bmdQYXJhZ3JhcGgudGV4dExlbmd0aCgpLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmVzb2x2ZVRleHRDaGVja2luZ1R5cGVNYXNrKHRleHRDaGVja2luZ09w
dGlvbnMpLCByZXN1bHRzKTsKLSAgICAgICAgCisKKyAgICBtYXJrQW5kUmVwbGFjZUZvcih0ZXh0
Q2hlY2tpbmdPcHRpb25zLCByZXN1bHRzLCBzcGVsbGluZ1BhcmFncmFwaCwgZ3JhbW1hclBhcmFn
cmFwaCk7Cit9CisKK3ZvaWQgRWRpdG9yOjptYXJrQW5kUmVwbGFjZUZvcihUZXh0Q2hlY2tpbmdU
eXBlTWFzayB0ZXh0Q2hlY2tpbmdPcHRpb25zLCBjb25zdCBWZWN0b3I8VGV4dENoZWNraW5nUmVz
dWx0PiYgcmVzdWx0cywgY29uc3QgVGV4dENoZWNraW5nUGFyYWdyYXBoJiBzcGVsbGluZ1BhcmFn
cmFwaCwgY29uc3QgVGV4dENoZWNraW5nUGFyYWdyYXBoJiBncmFtbWFyUGFyYWdyYXBoKQorewor
ICAgIGJvb2wgc2hvdWxkTWFya1NwZWxsaW5nID0gdGV4dENoZWNraW5nT3B0aW9ucyAmIFRleHRD
aGVja2luZ1R5cGVTcGVsbGluZzsKKyAgICBib29sIHNob3VsZE1hcmtHcmFtbWFyID0gdGV4dENo
ZWNraW5nT3B0aW9ucyAmIFRleHRDaGVja2luZ1R5cGVHcmFtbWFyOworICAgIGJvb2wgc2hvdWxk
UGVyZm9ybVJlcGxhY2VtZW50ID0gdGV4dENoZWNraW5nT3B0aW9ucyAmIFRleHRDaGVja2luZ1R5
cGVSZXBsYWNlbWVudDsKKyAgICBib29sIHNob3VsZFNob3dDb3JyZWN0aW9uUGFuZWwgPSB0ZXh0
Q2hlY2tpbmdPcHRpb25zICYgVGV4dENoZWNraW5nVHlwZVNob3dDb3JyZWN0aW9uUGFuZWw7Cisg
ICAgYm9vbCBzaG91bGRDaGVja0ZvckNvcnJlY3Rpb24gPSBzaG91bGRTaG93Q29ycmVjdGlvblBh
bmVsIHx8ICh0ZXh0Q2hlY2tpbmdPcHRpb25zICYgVGV4dENoZWNraW5nVHlwZUNvcnJlY3Rpb24p
OworCisgICAgLy8gRXhwYW5kIHRoZSByYW5nZSB0byBlbmNvbXBhc3MgZW50aXJlIHBhcmFncmFw
aHMsIHNpbmNlIHRleHQgY2hlY2tpbmcgbmVlZHMgdGhhdCBtdWNoIGNvbnRleHQuCisgICAgaW50
IHNlbGVjdGlvbk9mZnNldCA9IDA7CisgICAgaW50IGFtYmlndW91c0JvdW5kYXJ5T2Zmc2V0ID0g
LTE7CisgICAgYm9vbCBzZWxlY3Rpb25DaGFuZ2VkID0gZmFsc2U7CisgICAgYm9vbCByZXN0b3Jl
U2VsZWN0aW9uQWZ0ZXJDaGFuZ2UgPSBmYWxzZTsKKyAgICBib29sIGFkanVzdFNlbGVjdGlvbkZv
clBhcmFncmFwaEJvdW5kYXJpZXMgPSBmYWxzZTsKKworICAgIGlmIChzaG91bGRQZXJmb3JtUmVw
bGFjZW1lbnQgfHwgc2hvdWxkTWFya1NwZWxsaW5nIHx8IHNob3VsZENoZWNrRm9yQ29ycmVjdGlv
bikgeworICAgICAgICBpZiAobV9mcmFtZS0+c2VsZWN0aW9uKCktPnNlbGVjdGlvblR5cGUoKSA9
PSBWaXNpYmxlU2VsZWN0aW9uOjpDYXJldFNlbGVjdGlvbikgeworICAgICAgICAgICAgLy8gQXR0
ZW1wdCB0byBzYXZlIHRoZSBjYXJldCBwb3NpdGlvbiBzbyB3ZSBjYW4gcmVzdG9yZSBpdCBsYXRl
ciBpZiBuZWVkZWQKKyAgICAgICAgICAgIFBvc2l0aW9uIGNhcmV0UG9zaXRpb24gPSBtX2ZyYW1l
LT5zZWxlY3Rpb24oKS0+ZW5kKCk7CisgICAgICAgICAgICBzZWxlY3Rpb25PZmZzZXQgPSBzcGVs
bGluZ1BhcmFncmFwaC5vZmZzZXRUbyhjYXJldFBvc2l0aW9uLCBBU1NFUlRfTk9fRVhDRVBUSU9O
KTsKKyAgICAgICAgICAgIHJlc3RvcmVTZWxlY3Rpb25BZnRlckNoYW5nZSA9IHRydWU7CisgICAg
ICAgICAgICBpZiAoc2VsZWN0aW9uT2Zmc2V0ID4gMCAmJiAoc2VsZWN0aW9uT2Zmc2V0ID4gc3Bl
bGxpbmdQYXJhZ3JhcGgudGV4dExlbmd0aCgpIHx8IHNwZWxsaW5nUGFyYWdyYXBoLnRleHRDaGFy
QXQoc2VsZWN0aW9uT2Zmc2V0IC0gMSkgPT0gbmV3bGluZUNoYXJhY3RlcikpCisgICAgICAgICAg
ICAgICAgYWRqdXN0U2VsZWN0aW9uRm9yUGFyYWdyYXBoQm91bmRhcmllcyA9IHRydWU7CisgICAg
ICAgICAgICBpZiAoc2VsZWN0aW9uT2Zmc2V0ID4gMCAmJiBzZWxlY3Rpb25PZmZzZXQgPD0gc3Bl
bGxpbmdQYXJhZ3JhcGgudGV4dExlbmd0aCgpICYmIGlzQW1iaWd1b3VzQm91bmRhcnlDaGFyYWN0
ZXIoc3BlbGxpbmdQYXJhZ3JhcGgudGV4dENoYXJBdChzZWxlY3Rpb25PZmZzZXQgLSAxKSkpCisg
ICAgICAgICAgICAgICAgYW1iaWd1b3VzQm91bmRhcnlPZmZzZXQgPSBzZWxlY3Rpb25PZmZzZXQg
LSAxOworICAgICAgICB9CisgICAgfQogCiAgICAgLy8gSWYgdGhpcyBjaGVja2luZyBpcyBvbmx5
IGZvciBzaG93aW5nIGNvcnJlY3Rpb24gcGFuZWwsIHdlIHNob3VsZG4ndCBib3RoZXIgdG8gbWFy
ayBtaXNzcGVsbGluZ3MuCiAgICAgaWYgKHNob3VsZFNob3dDb3JyZWN0aW9uUGFuZWwpCkBAIC0y
MDg0LDcgKzIwODYsNyBAQCB2b2lkIEVkaXRvcjo6bWFya0FsbE1pc3NwZWxsaW5nc0FuZEJhZEdy
YW1tYXJJblJhbmdlcyhUZXh0Q2hlY2tpbmdUeXBlTWFzayB0ZXh0QwogICAgICAgICAgICAgUmVm
UHRyPFJhbmdlPiBtaXNzcGVsbGluZ1JhbmdlID0gc3BlbGxpbmdQYXJhZ3JhcGguc3VicmFuZ2Uo
cmVzdWx0TG9jYXRpb24sIHJlc3VsdExlbmd0aCk7CiAgICAgICAgICAgICBpZiAoIW1fc3BlbGxp
bmdDb3JyZWN0b3ItPmlzU3BlbGxpbmdNYXJrZXJBbGxvd2VkKG1pc3NwZWxsaW5nUmFuZ2UpKQog
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgbWlzc3BlbGxpbmdSYW5nZS0+
c3RhcnRDb250YWluZXIoZWMpLT5kb2N1bWVudCgpLT5tYXJrZXJzKCktPmFkZE1hcmtlcihtaXNz
cGVsbGluZ1JhbmdlLmdldCgpLCBEb2N1bWVudE1hcmtlcjo6U3BlbGxpbmcpOworICAgICAgICAg
ICAgbWlzc3BlbGxpbmdSYW5nZS0+c3RhcnRDb250YWluZXIoKS0+ZG9jdW1lbnQoKS0+bWFya2Vy
cygpLT5hZGRNYXJrZXIobWlzc3BlbGxpbmdSYW5nZS5nZXQoKSwgRG9jdW1lbnRNYXJrZXI6OlNw
ZWxsaW5nKTsKICAgICAgICAgfSBlbHNlIGlmIChzaG91bGRNYXJrR3JhbW1hciAmJiByZXN1bHQt
PnR5cGUgPT0gVGV4dENoZWNraW5nVHlwZUdyYW1tYXIgJiYgZ3JhbW1hclBhcmFncmFwaC5jaGVj
a2luZ1JhbmdlQ292ZXJzKHJlc3VsdExvY2F0aW9uLCByZXN1bHRMZW5ndGgpKSB7CiAgICAgICAg
ICAgICBBU1NFUlQocmVzdWx0TGVuZ3RoID4gMCAmJiByZXN1bHRMb2NhdGlvbiA+PSAwKTsKICAg
ICAgICAgICAgIGZvciAodW5zaWduZWQgaiA9IDA7IGogPCByZXN1bHQtPmRldGFpbHMuc2l6ZSgp
OyBqKyspIHsKQEAgLTIwOTIsNyArMjA5NCw3IEBAIHZvaWQgRWRpdG9yOjptYXJrQWxsTWlzc3Bl
bGxpbmdzQW5kQmFkR3JhbW1hckluUmFuZ2VzKFRleHRDaGVja2luZ1R5cGVNYXNrIHRleHRDCiAg
ICAgICAgICAgICAgICAgQVNTRVJUKGRldGFpbC0+bGVuZ3RoID4gMCAmJiBkZXRhaWwtPmxvY2F0
aW9uID49IDApOwogICAgICAgICAgICAgICAgIGlmIChncmFtbWFyUGFyYWdyYXBoLmNoZWNraW5n
UmFuZ2VDb3ZlcnMocmVzdWx0TG9jYXRpb24gKyBkZXRhaWwtPmxvY2F0aW9uLCBkZXRhaWwtPmxl
bmd0aCkpIHsKICAgICAgICAgICAgICAgICAgICAgUmVmUHRyPFJhbmdlPiBiYWRHcmFtbWFyUmFu
Z2UgPSBncmFtbWFyUGFyYWdyYXBoLnN1YnJhbmdlKHJlc3VsdExvY2F0aW9uICsgZGV0YWlsLT5s
b2NhdGlvbiwgZGV0YWlsLT5sZW5ndGgpOwotICAgICAgICAgICAgICAgICAgICBncmFtbWFyUmFu
Z2UtPnN0YXJ0Q29udGFpbmVyKGVjKS0+ZG9jdW1lbnQoKS0+bWFya2VycygpLT5hZGRNYXJrZXIo
YmFkR3JhbW1hclJhbmdlLmdldCgpLCBEb2N1bWVudE1hcmtlcjo6R3JhbW1hciwgZGV0YWlsLT51
c2VyRGVzY3JpcHRpb24pOworICAgICAgICAgICAgICAgICAgICBiYWRHcmFtbWFyUmFuZ2UtPnN0
YXJ0Q29udGFpbmVyKCktPmRvY3VtZW50KCktPm1hcmtlcnMoKS0+YWRkTWFya2VyKGJhZEdyYW1t
YXJSYW5nZS5nZXQoKSwgRG9jdW1lbnRNYXJrZXI6OkdyYW1tYXIsIGRldGFpbC0+dXNlckRlc2Ny
aXB0aW9uKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxz
ZSBpZiAocmVzdWx0TG9jYXRpb24gKyByZXN1bHRMZW5ndGggPD0gc3BlbGxpbmdSYW5nZUVuZE9m
ZnNldCAmJiByZXN1bHRMb2NhdGlvbiArIHJlc3VsdExlbmd0aCA+PSBzcGVsbGluZ1BhcmFncmFw
aC5jaGVja2luZ1N0YXJ0KCkKQEAgLTIxNzgsMTAgKzIxODAsMTEgQEAgdm9pZCBFZGl0b3I6Om1h
cmtBbGxNaXNzcGVsbGluZ3NBbmRCYWRHcmFtbWFySW5SYW5nZXMoVGV4dENoZWNraW5nVHlwZU1h
c2sgdGV4dEMKICAgICB9CiAKICAgICBpZiAoc2VsZWN0aW9uQ2hhbmdlZCkgeworICAgICAgICBU
ZXh0Q2hlY2tpbmdQYXJhZ3JhcGggZXh0ZW5kZWRQYXJhZ3JhcGgoc3BlbGxpbmdQYXJhZ3JhcGgp
OwogICAgICAgICAvLyBSZXN0b3JlIHRoZSBjYXJldCBwb3NpdGlvbiBpZiB3ZSBoYXZlIG1hZGUg
YW55IHJlcGxhY2VtZW50cwotICAgICAgICBzcGVsbGluZ1BhcmFncmFwaC5leHBhbmRSYW5nZVRv
TmV4dEVuZCgpOwotICAgICAgICBpZiAocmVzdG9yZVNlbGVjdGlvbkFmdGVyQ2hhbmdlICYmIHNl
bGVjdGlvbk9mZnNldCA+PSAwICYmIHNlbGVjdGlvbk9mZnNldCA8PSBzcGVsbGluZ1BhcmFncmFw
aC5yYW5nZUxlbmd0aCgpKSB7Ci0gICAgICAgICAgICBSZWZQdHI8UmFuZ2U+IHNlbGVjdGlvblJh
bmdlID0gc3BlbGxpbmdQYXJhZ3JhcGguc3VicmFuZ2UoMCwgc2VsZWN0aW9uT2Zmc2V0KTsKKyAg
ICAgICAgZXh0ZW5kZWRQYXJhZ3JhcGguZXhwYW5kUmFuZ2VUb05leHRFbmQoKTsKKyAgICAgICAg
aWYgKHJlc3RvcmVTZWxlY3Rpb25BZnRlckNoYW5nZSAmJiBzZWxlY3Rpb25PZmZzZXQgPj0gMCAm
JiBzZWxlY3Rpb25PZmZzZXQgPD0gZXh0ZW5kZWRQYXJhZ3JhcGgucmFuZ2VMZW5ndGgoKSkgewor
ICAgICAgICAgICAgUmVmUHRyPFJhbmdlPiBzZWxlY3Rpb25SYW5nZSA9IGV4dGVuZGVkUGFyYWdy
YXBoLnN1YnJhbmdlKDAsIHNlbGVjdGlvbk9mZnNldCk7CiAgICAgICAgICAgICBtX2ZyYW1lLT5z
ZWxlY3Rpb24oKS0+bW92ZVRvKHNlbGVjdGlvblJhbmdlLT5lbmRQb3NpdGlvbigpLCBET1dOU1RS
RUFNKTsKICAgICAgICAgICAgIGlmIChhZGp1c3RTZWxlY3Rpb25Gb3JQYXJhZ3JhcGhCb3VuZGFy
aWVzKQogICAgICAgICAgICAgICAgIG1fZnJhbWUtPnNlbGVjdGlvbigpLT5tb2RpZnkoRnJhbWVT
ZWxlY3Rpb246OkFsdGVyYXRpb25Nb3ZlLCBEaXJlY3Rpb25Gb3J3YXJkLCBDaGFyYWN0ZXJHcmFu
dWxhcml0eSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAppbmRleCAxMGQ3MDk4NmRjNTJkNWY4Y2Qz
OTZlODI2MzRkMDlhNDRjNzY1ZjdjLi5kYzUzOWRkZDQxODcwYjg4NzlkZGU0YWFmNjNmMmExMWFl
Y2Q2YTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKQEAgLTYyLDYgKzYyLDggQEAgY2xhc3Mg
U2ltcGxlRm9udERhdGE7CiBjbGFzcyBTcGVsbENoZWNrZXI7CiBjbGFzcyBUZXh0OwogY2xhc3Mg
VGV4dENoZWNrZXJDbGllbnQ7CitjbGFzcyBUZXh0Q2hlY2tpbmdQYXJhZ3JhcGg7CitjbGFzcyBU
ZXh0Q2hlY2tpbmdSZXN1bHQ7CiBjbGFzcyBUZXh0RXZlbnQ7CiAKIHN0cnVjdCBDb21wb3NpdGlv
blVuZGVybGluZSB7CkBAIC00MDMsNiArNDA1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHdyaXRl
U2VsZWN0aW9uVG9QYXN0ZWJvYXJkKFBhc3RlYm9hcmQqKTsKICAgICB2b2lkIHJldmVhbFNlbGVj
dGlvbkFmdGVyRWRpdGluZ09wZXJhdGlvbigpOwogICAgIHZvaWQgbWFya01pc3NwZWxsaW5nc09y
QmFkR3JhbW1hcihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgYm9vbCBjaGVja1NwZWxsaW5nLCBS
ZWZQdHI8UmFuZ2U+JiBmaXJzdE1pc3NwZWxsaW5nUmFuZ2UpOworICAgIHZvaWQgbWFya0FuZFJl
cGxhY2VGb3IoVGV4dENoZWNraW5nVHlwZU1hc2ssIGNvbnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdS
ZXN1bHQ+JiwgY29uc3QgVGV4dENoZWNraW5nUGFyYWdyYXBoJiBzcGVsbGluZ1BhcmFncmFwaCwg
Y29uc3QgVGV4dENoZWNraW5nUGFyYWdyYXBoJiBncmFtbWFyUGFyYWdyYXBoKTsKICAgICBUZXh0
Q2hlY2tpbmdUeXBlTWFzayByZXNvbHZlVGV4dENoZWNraW5nVHlwZU1hc2soVGV4dENoZWNraW5n
VHlwZU1hc2spOwogCiAgICAgdm9pZCBzZWxlY3RDb21wb3NpdGlvbigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118153</attachid>
            <date>2011-12-06 18:02:22 -0800</date>
            <delta_ts>2011-12-06 21:01:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73628-20111207110221.patch</filename>
            <type>text/plain</type>
            <size>10718</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjQxODg3YTM0MDEwNWE1
N2JjM2Y3OTcwNmRhMzMzNzFkMjM3MGI3OS4uNWUxYjcyZGQwYzhmMzEwOGM2OWQ1ZGVlNjdmMDQ0
NzUyNDhjODEyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDExLTEyLTA2ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmVmYWN0b3Jpbmc6
IEVkaXRvcjo6bWFya0FsbE1pc3NwZWxsaW5nc0FuZEJhZEdyYW1tYXJJblJhbmdlcyBzaG91bGQg
YmUgcmVmYWN0b3JlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTczNjI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRXh0cmFjdGVkIGEgY29kZSBmb3IgYWRkaW5nIG1hcmtlcnMgYW5kIHJlcGxhY2luZyBt
aXNzcGVsbGVkIHdvcmRzIGZyb20gV2ViQ29yZTo6RWRpdG9yOjptYXJrQWxsTWlzc3BlbGxpbmdz
QW5kQmFkR3JhbW1hckluUmFuZ2VzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gY292ZXJlZCBi
eSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkVkaXRvcjo6bWFya0FsbE1pc3NwZWxsaW5nc0FuZEJhZEdyYW1tYXJJblJh
bmdlcyk6CisgICAgICAgICAgRXh0cmFjdGVkIGEgY29kZSBmb3IgYWRkaW5nIG1hcmtlcnMgYW5k
IHJlcGxhY2luZyBtaXNzcGxsZWQgd29yZHMsIGFuZCBtb3ZlZCB0byBtYXJrQW5kUmVwbGFjZUZv
ci4KKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6bWFya0FuZFJlcGxhY2VGb3IpOgorICAgICAg
ICAqIGVkaXRpbmcvRWRpdG9yLmg6CisKIDIwMTEtMTItMDYgIEFkcmllbm5lIFdhbGtlciAgPGVu
bmVAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1dIHNldE5lZWRzQ29tbWl0IG9uIG5v
bi1jb21wb3NpdGVkIGhvc3QgbGF5ZXJzIHNob3VsZCB0cmlnZ2VyIGNvbW1pdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9FZGl0b3IuY3BwCmluZGV4IGVmZjkwMDJkN2Q1OWU5NTJmNzFkNmNkMzI2YmQ4ZDgxNzg4
MmY5YWIuLjFiM2JkYWIwMTIxOWY3OTRkMmNjNzIwOWE0ZWZhODlkYzE0Y2FjNWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAKQEAgLTE5OTUsMTQgKzE5OTUsMTAgQEAgdm9pZCBFZGl0b3I6
Om1hcmtBbGxNaXNzcGVsbGluZ3NBbmRCYWRHcmFtbWFySW5SYW5nZXMoVGV4dENoZWNraW5nVHlw
ZU1hc2sgdGV4dEMKICAgICAvLyBUaGVyZSBzaG91bGRuJ3QgYmUgcGVuZGluZyBhdXRvY29ycmVj
dGlvbiBhdCB0aGlzIG1vbWVudC4KICAgICBBU1NFUlQoIW1fc3BlbGxpbmdDb3JyZWN0b3ItPmhh
c1BlbmRpbmdDb3JyZWN0aW9uKCkpOwogCi0gICAgYm9vbCBzaG91bGRNYXJrU3BlbGxpbmcgPSB0
ZXh0Q2hlY2tpbmdPcHRpb25zICYgVGV4dENoZWNraW5nVHlwZVNwZWxsaW5nOwogICAgIGJvb2wg
c2hvdWxkTWFya0dyYW1tYXIgPSB0ZXh0Q2hlY2tpbmdPcHRpb25zICYgVGV4dENoZWNraW5nVHlw
ZUdyYW1tYXI7Ci0gICAgYm9vbCBzaG91bGRQZXJmb3JtUmVwbGFjZW1lbnQgPSB0ZXh0Q2hlY2tp
bmdPcHRpb25zICYgVGV4dENoZWNraW5nVHlwZVJlcGxhY2VtZW50OwogICAgIGJvb2wgc2hvdWxk
U2hvd0NvcnJlY3Rpb25QYW5lbCA9IHRleHRDaGVja2luZ09wdGlvbnMgJiBUZXh0Q2hlY2tpbmdU
eXBlU2hvd0NvcnJlY3Rpb25QYW5lbDsKLSAgICBib29sIHNob3VsZENoZWNrRm9yQ29ycmVjdGlv
biA9IHNob3VsZFNob3dDb3JyZWN0aW9uUGFuZWwgfHwgKHRleHRDaGVja2luZ09wdGlvbnMgJiBU
ZXh0Q2hlY2tpbmdUeXBlQ29ycmVjdGlvbik7CiAKICAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIGNh
bGxlZCB3aXRoIHNlbGVjdGlvbnMgYWxyZWFkeSBleHBhbmRlZCB0byB3b3JkIGJvdW5kYXJpZXMu
Ci0gICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgaWYgKCFjbGllbnQoKSB8fCAhc3BlbGxp
bmdSYW5nZSB8fCAoc2hvdWxkTWFya0dyYW1tYXIgJiYgIWdyYW1tYXJSYW5nZSkpCiAgICAgICAg
IHJldHVybjsKIApAQCAtMjAxNCwzNiArMjAxMCwxMiBAQCB2b2lkIEVkaXRvcjo6bWFya0FsbE1p
c3NwZWxsaW5nc0FuZEJhZEdyYW1tYXJJblJhbmdlcyhUZXh0Q2hlY2tpbmdUeXBlTWFzayB0ZXh0
QwogICAgIGlmICghaXNTcGVsbENoZWNraW5nRW5hYmxlZEZvcihlZGl0YWJsZU5vZGUpKQogICAg
ICAgICByZXR1cm47CiAKLSAgICAvLyBFeHBhbmQgdGhlIHJhbmdlIHRvIGVuY29tcGFzcyBlbnRp
cmUgcGFyYWdyYXBocywgc2luY2UgdGV4dCBjaGVja2luZyBuZWVkcyB0aGF0IG11Y2ggY29udGV4
dC4KLSAgICBpbnQgc2VsZWN0aW9uT2Zmc2V0ID0gMDsKLSAgICBpbnQgYW1iaWd1b3VzQm91bmRh
cnlPZmZzZXQgPSAtMTsKLSAgICBib29sIHNlbGVjdGlvbkNoYW5nZWQgPSBmYWxzZTsKLSAgICBi
b29sIHJlc3RvcmVTZWxlY3Rpb25BZnRlckNoYW5nZSA9IGZhbHNlOwotICAgIGJvb2wgYWRqdXN0
U2VsZWN0aW9uRm9yUGFyYWdyYXBoQm91bmRhcmllcyA9IGZhbHNlOwotCiAgICAgVGV4dENoZWNr
aW5nUGFyYWdyYXBoIHNwZWxsaW5nUGFyYWdyYXBoKHNwZWxsaW5nUmFuZ2UpOwogICAgIFRleHRD
aGVja2luZ1BhcmFncmFwaCBncmFtbWFyUGFyYWdyYXBoKHNob3VsZE1hcmtHcmFtbWFyID8gZ3Jh
bW1hclJhbmdlIDogMCk7CiAKICAgICBpZiAoc2hvdWxkTWFya0dyYW1tYXIgPyAoc3BlbGxpbmdQ
YXJhZ3JhcGguaXNSYW5nZUVtcHR5KCkgJiYgZ3JhbW1hclBhcmFncmFwaC5pc0VtcHR5KCkpIDog
c3BlbGxpbmdQYXJhZ3JhcGguaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAo
c2hvdWxkUGVyZm9ybVJlcGxhY2VtZW50IHx8IHNob3VsZE1hcmtTcGVsbGluZyB8fCBzaG91bGRD
aGVja0ZvckNvcnJlY3Rpb24pIHsKLSAgICAgICAgaWYgKG1fZnJhbWUtPnNlbGVjdGlvbigpLT5z
ZWxlY3Rpb25UeXBlKCkgPT0gVmlzaWJsZVNlbGVjdGlvbjo6Q2FyZXRTZWxlY3Rpb24pIHsKLSAg
ICAgICAgICAgIC8vIEF0dGVtcHQgdG8gc2F2ZSB0aGUgY2FyZXQgcG9zaXRpb24gc28gd2UgY2Fu
IHJlc3RvcmUgaXQgbGF0ZXIgaWYgbmVlZGVkCi0gICAgICAgICAgICBQb3NpdGlvbiBjYXJldFBv
c2l0aW9uID0gbV9mcmFtZS0+c2VsZWN0aW9uKCktPmVuZCgpOwotICAgICAgICAgICAgaW50IG9m
ZnNldCA9IHNwZWxsaW5nUGFyYWdyYXBoLm9mZnNldFRvKGNhcmV0UG9zaXRpb24sIGVjKTsKLSAg
ICAgICAgICAgIGlmICghZWMpIHsKLSAgICAgICAgICAgICAgICBzZWxlY3Rpb25PZmZzZXQgPSBv
ZmZzZXQ7Ci0gICAgICAgICAgICAgICAgcmVzdG9yZVNlbGVjdGlvbkFmdGVyQ2hhbmdlID0gdHJ1
ZTsKLSAgICAgICAgICAgICAgICBpZiAoc2VsZWN0aW9uT2Zmc2V0ID4gMCAmJiAoc2VsZWN0aW9u
T2Zmc2V0ID4gc3BlbGxpbmdQYXJhZ3JhcGgudGV4dExlbmd0aCgpIHx8IHNwZWxsaW5nUGFyYWdy
YXBoLnRleHRDaGFyQXQoc2VsZWN0aW9uT2Zmc2V0IC0gMSkgPT0gbmV3bGluZUNoYXJhY3Rlcikp
Ci0gICAgICAgICAgICAgICAgICAgIGFkanVzdFNlbGVjdGlvbkZvclBhcmFncmFwaEJvdW5kYXJp
ZXMgPSB0cnVlOwotICAgICAgICAgICAgICAgIGlmIChzZWxlY3Rpb25PZmZzZXQgPiAwICYmIHNl
bGVjdGlvbk9mZnNldCA8PSBzcGVsbGluZ1BhcmFncmFwaC50ZXh0TGVuZ3RoKCkgJiYgaXNBbWJp
Z3VvdXNCb3VuZGFyeUNoYXJhY3RlcihzcGVsbGluZ1BhcmFncmFwaC50ZXh0Q2hhckF0KHNlbGVj
dGlvbk9mZnNldCAtIDEpKSkKLSAgICAgICAgICAgICAgICAgICAgYW1iaWd1b3VzQm91bmRhcnlP
ZmZzZXQgPSBzZWxlY3Rpb25PZmZzZXQgLSAxOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0g
ICAgfQotCi0KICAgICBib29sIGFzeW5jaHJvbm91cyA9IG1fZnJhbWUgJiYgbV9mcmFtZS0+c2V0
dGluZ3MoKSAmJiBtX2ZyYW1lLT5zZXR0aW5ncygpLT5hc3luY2hyb25vdXNTcGVsbENoZWNraW5n
RW5hYmxlZCgpICYmICFzaG91bGRTaG93Q29ycmVjdGlvblBhbmVsOwogICAgIGlmIChhc3luY2hy
b25vdXMpIHsKICAgICAgICAgaWYgKHNob3VsZE1hcmtHcmFtbWFyKQpAQCAtMjA2MCw3ICsyMDMy
LDM3IEBAIHZvaWQgRWRpdG9yOjptYXJrQWxsTWlzc3BlbGxpbmdzQW5kQmFkR3JhbW1hckluUmFu
Z2VzKFRleHRDaGVja2luZ1R5cGVNYXNrIHRleHRDCiAgICAgZWxzZQogICAgICAgICBjaGVja1Rl
eHRPZlBhcmFncmFwaCh0ZXh0Q2hlY2tlcigpLCBzcGVsbGluZ1BhcmFncmFwaC50ZXh0Q2hhcmFj
dGVycygpLCBzcGVsbGluZ1BhcmFncmFwaC50ZXh0TGVuZ3RoKCksIAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlVGV4dENoZWNraW5nVHlwZU1hc2so
dGV4dENoZWNraW5nT3B0aW9ucyksIHJlc3VsdHMpOwotICAgICAgICAKKworICAgIG1hcmtBbmRS
ZXBsYWNlRm9yKHRleHRDaGVja2luZ09wdGlvbnMsIHJlc3VsdHMsIHNwZWxsaW5nUGFyYWdyYXBo
LCBncmFtbWFyUGFyYWdyYXBoKTsKK30KKwordm9pZCBFZGl0b3I6Om1hcmtBbmRSZXBsYWNlRm9y
KFRleHRDaGVja2luZ1R5cGVNYXNrIHRleHRDaGVja2luZ09wdGlvbnMsIGNvbnN0IFZlY3RvcjxU
ZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1bHRzLCBjb25zdCBUZXh0Q2hlY2tpbmdQYXJhZ3JhcGgm
IHNwZWxsaW5nUGFyYWdyYXBoLCBjb25zdCBUZXh0Q2hlY2tpbmdQYXJhZ3JhcGgmIGdyYW1tYXJQ
YXJhZ3JhcGgpCit7CisgICAgYm9vbCBzaG91bGRNYXJrU3BlbGxpbmcgPSB0ZXh0Q2hlY2tpbmdP
cHRpb25zICYgVGV4dENoZWNraW5nVHlwZVNwZWxsaW5nOworICAgIGJvb2wgc2hvdWxkTWFya0dy
YW1tYXIgPSB0ZXh0Q2hlY2tpbmdPcHRpb25zICYgVGV4dENoZWNraW5nVHlwZUdyYW1tYXI7Cisg
ICAgYm9vbCBzaG91bGRQZXJmb3JtUmVwbGFjZW1lbnQgPSB0ZXh0Q2hlY2tpbmdPcHRpb25zICYg
VGV4dENoZWNraW5nVHlwZVJlcGxhY2VtZW50OworICAgIGJvb2wgc2hvdWxkU2hvd0NvcnJlY3Rp
b25QYW5lbCA9IHRleHRDaGVja2luZ09wdGlvbnMgJiBUZXh0Q2hlY2tpbmdUeXBlU2hvd0NvcnJl
Y3Rpb25QYW5lbDsKKyAgICBib29sIHNob3VsZENoZWNrRm9yQ29ycmVjdGlvbiA9IHNob3VsZFNo
b3dDb3JyZWN0aW9uUGFuZWwgfHwgKHRleHRDaGVja2luZ09wdGlvbnMgJiBUZXh0Q2hlY2tpbmdU
eXBlQ29ycmVjdGlvbik7CisKKyAgICAvLyBFeHBhbmQgdGhlIHJhbmdlIHRvIGVuY29tcGFzcyBl
bnRpcmUgcGFyYWdyYXBocywgc2luY2UgdGV4dCBjaGVja2luZyBuZWVkcyB0aGF0IG11Y2ggY29u
dGV4dC4KKyAgICBpbnQgc2VsZWN0aW9uT2Zmc2V0ID0gMDsKKyAgICBpbnQgYW1iaWd1b3VzQm91
bmRhcnlPZmZzZXQgPSAtMTsKKyAgICBib29sIHNlbGVjdGlvbkNoYW5nZWQgPSBmYWxzZTsKKyAg
ICBib29sIHJlc3RvcmVTZWxlY3Rpb25BZnRlckNoYW5nZSA9IGZhbHNlOworICAgIGJvb2wgYWRq
dXN0U2VsZWN0aW9uRm9yUGFyYWdyYXBoQm91bmRhcmllcyA9IGZhbHNlOworCisgICAgaWYgKHNo
b3VsZFBlcmZvcm1SZXBsYWNlbWVudCB8fCBzaG91bGRNYXJrU3BlbGxpbmcgfHwgc2hvdWxkQ2hl
Y2tGb3JDb3JyZWN0aW9uKSB7CisgICAgICAgIGlmIChtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+c2Vs
ZWN0aW9uVHlwZSgpID09IFZpc2libGVTZWxlY3Rpb246OkNhcmV0U2VsZWN0aW9uKSB7CisgICAg
ICAgICAgICAvLyBBdHRlbXB0IHRvIHNhdmUgdGhlIGNhcmV0IHBvc2l0aW9uIHNvIHdlIGNhbiBy
ZXN0b3JlIGl0IGxhdGVyIGlmIG5lZWRlZAorICAgICAgICAgICAgUG9zaXRpb24gY2FyZXRQb3Np
dGlvbiA9IG1fZnJhbWUtPnNlbGVjdGlvbigpLT5lbmQoKTsKKyAgICAgICAgICAgIHNlbGVjdGlv
bk9mZnNldCA9IHNwZWxsaW5nUGFyYWdyYXBoLm9mZnNldFRvKGNhcmV0UG9zaXRpb24sIEFTU0VS
VF9OT19FWENFUFRJT04pOworICAgICAgICAgICAgcmVzdG9yZVNlbGVjdGlvbkFmdGVyQ2hhbmdl
ID0gdHJ1ZTsKKyAgICAgICAgICAgIGlmIChzZWxlY3Rpb25PZmZzZXQgPiAwICYmIChzZWxlY3Rp
b25PZmZzZXQgPiBzcGVsbGluZ1BhcmFncmFwaC50ZXh0TGVuZ3RoKCkgfHwgc3BlbGxpbmdQYXJh
Z3JhcGgudGV4dENoYXJBdChzZWxlY3Rpb25PZmZzZXQgLSAxKSA9PSBuZXdsaW5lQ2hhcmFjdGVy
KSkKKyAgICAgICAgICAgICAgICBhZGp1c3RTZWxlY3Rpb25Gb3JQYXJhZ3JhcGhCb3VuZGFyaWVz
ID0gdHJ1ZTsKKyAgICAgICAgICAgIGlmIChzZWxlY3Rpb25PZmZzZXQgPiAwICYmIHNlbGVjdGlv
bk9mZnNldCA8PSBzcGVsbGluZ1BhcmFncmFwaC50ZXh0TGVuZ3RoKCkgJiYgaXNBbWJpZ3VvdXNC
b3VuZGFyeUNoYXJhY3RlcihzcGVsbGluZ1BhcmFncmFwaC50ZXh0Q2hhckF0KHNlbGVjdGlvbk9m
ZnNldCAtIDEpKSkKKyAgICAgICAgICAgICAgICBhbWJpZ3VvdXNCb3VuZGFyeU9mZnNldCA9IHNl
bGVjdGlvbk9mZnNldCAtIDE7CisgICAgICAgIH0KKyAgICB9CiAKICAgICAvLyBJZiB0aGlzIGNo
ZWNraW5nIGlzIG9ubHkgZm9yIHNob3dpbmcgY29ycmVjdGlvbiBwYW5lbCwgd2Ugc2hvdWxkbid0
IGJvdGhlciB0byBtYXJrIG1pc3NwZWxsaW5ncy4KICAgICBpZiAoc2hvdWxkU2hvd0NvcnJlY3Rp
b25QYW5lbCkKQEAgLTIwODUsNyArMjA4Nyw3IEBAIHZvaWQgRWRpdG9yOjptYXJrQWxsTWlzc3Bl
bGxpbmdzQW5kQmFkR3JhbW1hckluUmFuZ2VzKFRleHRDaGVja2luZ1R5cGVNYXNrIHRleHRDCiAg
ICAgICAgICAgICBSZWZQdHI8UmFuZ2U+IG1pc3NwZWxsaW5nUmFuZ2UgPSBzcGVsbGluZ1BhcmFn
cmFwaC5zdWJyYW5nZShyZXN1bHRMb2NhdGlvbiwgcmVzdWx0TGVuZ3RoKTsKICAgICAgICAgICAg
IGlmICghbV9zcGVsbGluZ0NvcnJlY3Rvci0+aXNTcGVsbGluZ01hcmtlckFsbG93ZWQobWlzc3Bl
bGxpbmdSYW5nZSkpCiAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICBtaXNz
cGVsbGluZ1JhbmdlLT5zdGFydENvbnRhaW5lcihlYyktPmRvY3VtZW50KCktPm1hcmtlcnMoKS0+
YWRkTWFya2VyKG1pc3NwZWxsaW5nUmFuZ2UuZ2V0KCksIERvY3VtZW50TWFya2VyOjpTcGVsbGlu
Zyk7CisgICAgICAgICAgICBtaXNzcGVsbGluZ1JhbmdlLT5zdGFydENvbnRhaW5lcigpLT5kb2N1
bWVudCgpLT5tYXJrZXJzKCktPmFkZE1hcmtlcihtaXNzcGVsbGluZ1JhbmdlLmdldCgpLCBEb2N1
bWVudE1hcmtlcjo6U3BlbGxpbmcpOwogICAgICAgICB9IGVsc2UgaWYgKHNob3VsZE1hcmtHcmFt
bWFyICYmIHJlc3VsdC0+dHlwZSA9PSBUZXh0Q2hlY2tpbmdUeXBlR3JhbW1hciAmJiBncmFtbWFy
UGFyYWdyYXBoLmNoZWNraW5nUmFuZ2VDb3ZlcnMocmVzdWx0TG9jYXRpb24sIHJlc3VsdExlbmd0
aCkpIHsKICAgICAgICAgICAgIEFTU0VSVChyZXN1bHRMZW5ndGggPiAwICYmIHJlc3VsdExvY2F0
aW9uID49IDApOwogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBqID0gMDsgaiA8IHJlc3VsdC0+
ZGV0YWlscy5zaXplKCk7IGorKykgewpAQCAtMjA5Myw3ICsyMDk1LDcgQEAgdm9pZCBFZGl0b3I6
Om1hcmtBbGxNaXNzcGVsbGluZ3NBbmRCYWRHcmFtbWFySW5SYW5nZXMoVGV4dENoZWNraW5nVHlw
ZU1hc2sgdGV4dEMKICAgICAgICAgICAgICAgICBBU1NFUlQoZGV0YWlsLT5sZW5ndGggPiAwICYm
IGRldGFpbC0+bG9jYXRpb24gPj0gMCk7CiAgICAgICAgICAgICAgICAgaWYgKGdyYW1tYXJQYXJh
Z3JhcGguY2hlY2tpbmdSYW5nZUNvdmVycyhyZXN1bHRMb2NhdGlvbiArIGRldGFpbC0+bG9jYXRp
b24sIGRldGFpbC0+bGVuZ3RoKSkgewogICAgICAgICAgICAgICAgICAgICBSZWZQdHI8UmFuZ2U+
IGJhZEdyYW1tYXJSYW5nZSA9IGdyYW1tYXJQYXJhZ3JhcGguc3VicmFuZ2UocmVzdWx0TG9jYXRp
b24gKyBkZXRhaWwtPmxvY2F0aW9uLCBkZXRhaWwtPmxlbmd0aCk7Ci0gICAgICAgICAgICAgICAg
ICAgIGdyYW1tYXJSYW5nZS0+c3RhcnRDb250YWluZXIoZWMpLT5kb2N1bWVudCgpLT5tYXJrZXJz
KCktPmFkZE1hcmtlcihiYWRHcmFtbWFyUmFuZ2UuZ2V0KCksIERvY3VtZW50TWFya2VyOjpHcmFt
bWFyLCBkZXRhaWwtPnVzZXJEZXNjcmlwdGlvbik7CisgICAgICAgICAgICAgICAgICAgIGJhZEdy
YW1tYXJSYW5nZS0+c3RhcnRDb250YWluZXIoKS0+ZG9jdW1lbnQoKS0+bWFya2VycygpLT5hZGRN
YXJrZXIoYmFkR3JhbW1hclJhbmdlLmdldCgpLCBEb2N1bWVudE1hcmtlcjo6R3JhbW1hciwgZGV0
YWlsLT51c2VyRGVzY3JpcHRpb24pOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0K
ICAgICAgICAgfSBlbHNlIGlmIChyZXN1bHRMb2NhdGlvbiArIHJlc3VsdExlbmd0aCA8PSBzcGVs
bGluZ1JhbmdlRW5kT2Zmc2V0ICYmIHJlc3VsdExvY2F0aW9uICsgcmVzdWx0TGVuZ3RoID49IHNw
ZWxsaW5nUGFyYWdyYXBoLmNoZWNraW5nU3RhcnQoKQpAQCAtMjE3OSwxMCArMjE4MSwxMSBAQCB2
b2lkIEVkaXRvcjo6bWFya0FsbE1pc3NwZWxsaW5nc0FuZEJhZEdyYW1tYXJJblJhbmdlcyhUZXh0
Q2hlY2tpbmdUeXBlTWFzayB0ZXh0QwogICAgIH0KIAogICAgIGlmIChzZWxlY3Rpb25DaGFuZ2Vk
KSB7CisgICAgICAgIFRleHRDaGVja2luZ1BhcmFncmFwaCBleHRlbmRlZFBhcmFncmFwaChzcGVs
bGluZ1BhcmFncmFwaCk7CiAgICAgICAgIC8vIFJlc3RvcmUgdGhlIGNhcmV0IHBvc2l0aW9uIGlm
IHdlIGhhdmUgbWFkZSBhbnkgcmVwbGFjZW1lbnRzCi0gICAgICAgIHNwZWxsaW5nUGFyYWdyYXBo
LmV4cGFuZFJhbmdlVG9OZXh0RW5kKCk7Ci0gICAgICAgIGlmIChyZXN0b3JlU2VsZWN0aW9uQWZ0
ZXJDaGFuZ2UgJiYgc2VsZWN0aW9uT2Zmc2V0ID49IDAgJiYgc2VsZWN0aW9uT2Zmc2V0IDw9IHNw
ZWxsaW5nUGFyYWdyYXBoLnJhbmdlTGVuZ3RoKCkpIHsKLSAgICAgICAgICAgIFJlZlB0cjxSYW5n
ZT4gc2VsZWN0aW9uUmFuZ2UgPSBzcGVsbGluZ1BhcmFncmFwaC5zdWJyYW5nZSgwLCBzZWxlY3Rp
b25PZmZzZXQpOworICAgICAgICBleHRlbmRlZFBhcmFncmFwaC5leHBhbmRSYW5nZVRvTmV4dEVu
ZCgpOworICAgICAgICBpZiAocmVzdG9yZVNlbGVjdGlvbkFmdGVyQ2hhbmdlICYmIHNlbGVjdGlv
bk9mZnNldCA+PSAwICYmIHNlbGVjdGlvbk9mZnNldCA8PSBleHRlbmRlZFBhcmFncmFwaC5yYW5n
ZUxlbmd0aCgpKSB7CisgICAgICAgICAgICBSZWZQdHI8UmFuZ2U+IHNlbGVjdGlvblJhbmdlID0g
ZXh0ZW5kZWRQYXJhZ3JhcGguc3VicmFuZ2UoMCwgc2VsZWN0aW9uT2Zmc2V0KTsKICAgICAgICAg
ICAgIG1fZnJhbWUtPnNlbGVjdGlvbigpLT5tb3ZlVG8oc2VsZWN0aW9uUmFuZ2UtPmVuZFBvc2l0
aW9uKCksIERPV05TVFJFQU0pOwogICAgICAgICAgICAgaWYgKGFkanVzdFNlbGVjdGlvbkZvclBh
cmFncmFwaEJvdW5kYXJpZXMpCiAgICAgICAgICAgICAgICAgbV9mcmFtZS0+c2VsZWN0aW9uKCkt
Pm1vZGlmeShGcmFtZVNlbGVjdGlvbjo6QWx0ZXJhdGlvbk1vdmUsIERpcmVjdGlvbkZvcndhcmQs
IENoYXJhY3RlckdyYW51bGFyaXR5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRWRpdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCmluZGV4IDEwZDcw
OTg2ZGM1MmQ1ZjhjZDM5NmU4MjYzNGQwOWE0NGM3NjVmN2MuLjg2Y2FlNGQ5OWZlZDZkODE2MTIz
NmMzMGJiMWJhNTFlNGM0N2Y4YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RWRpdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaApAQCAtNjIsNiAr
NjIsOCBAQCBjbGFzcyBTaW1wbGVGb250RGF0YTsKIGNsYXNzIFNwZWxsQ2hlY2tlcjsKIGNsYXNz
IFRleHQ7CiBjbGFzcyBUZXh0Q2hlY2tlckNsaWVudDsKK2NsYXNzIFRleHRDaGVja2luZ1BhcmFn
cmFwaDsKK3N0cnVjdCBUZXh0Q2hlY2tpbmdSZXN1bHQ7CiBjbGFzcyBUZXh0RXZlbnQ7CiAKIHN0
cnVjdCBDb21wb3NpdGlvblVuZGVybGluZSB7CkBAIC00MDMsNiArNDA1LDcgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIHdyaXRlU2VsZWN0aW9uVG9QYXN0ZWJvYXJkKFBhc3RlYm9hcmQqKTsKICAgICB2
b2lkIHJldmVhbFNlbGVjdGlvbkFmdGVyRWRpdGluZ09wZXJhdGlvbigpOwogICAgIHZvaWQgbWFy
a01pc3NwZWxsaW5nc09yQmFkR3JhbW1hcihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgYm9vbCBj
aGVja1NwZWxsaW5nLCBSZWZQdHI8UmFuZ2U+JiBmaXJzdE1pc3NwZWxsaW5nUmFuZ2UpOworICAg
IHZvaWQgbWFya0FuZFJlcGxhY2VGb3IoVGV4dENoZWNraW5nVHlwZU1hc2ssIGNvbnN0IFZlY3Rv
cjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiwgY29uc3QgVGV4dENoZWNraW5nUGFyYWdyYXBoJiBzcGVs
bGluZ1BhcmFncmFwaCwgY29uc3QgVGV4dENoZWNraW5nUGFyYWdyYXBoJiBncmFtbWFyUGFyYWdy
YXBoKTsKICAgICBUZXh0Q2hlY2tpbmdUeXBlTWFzayByZXNvbHZlVGV4dENoZWNraW5nVHlwZU1h
c2soVGV4dENoZWNraW5nVHlwZU1hc2spOwogCiAgICAgdm9pZCBzZWxlY3RDb21wb3NpdGlvbigp
Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>