<?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>104643</bug_id>
          
          <creation_ts>2012-12-11 00:34:49 -0800</creation_ts>
          <short_desc>Mail hangs when resizing the font size of a large RTL text</short_desc>
          <delta_ts>2012-12-11 15:34: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>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>adele</cc>
    
    <cc>barraclough</cc>
    
    <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>eric</cc>
    
    <cc>mifenton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>788126</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-12-11 00:34:49 -0800</bug_when>
    <thetext>Mail hangs when resizing the font size of a large RTL text</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788143</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-12-11 01:02:49 -0800</bug_when>
    <thetext>&lt;rdar://problem/11824641&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788144</commentid>
    <comment_count>2</comment_count>
      <attachid>178742</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-12-11 01:04:07 -0800</bug_when>
    <thetext>Created attachment 178742
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788166</commentid>
    <comment_count>3</comment_count>
      <attachid>178746</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-12-11 01:26:33 -0800</bug_when>
    <thetext>Created attachment 178746
Resolved conflicts</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788202</commentid>
    <comment_count>4</comment_count>
      <attachid>178746</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-11 01:56:44 -0800</bug_when>
    <thetext>Comment on attachment 178746
Resolved conflicts

Attachment 178746 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15231924</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788226</commentid>
    <comment_count>5</comment_count>
      <attachid>178746</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-12-11 02:25:49 -0800</bug_when>
    <thetext>Comment on attachment 178746
Resolved conflicts

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

&gt; Source/WebCore/editing/ApplyStyleCommand.cpp:826
&gt;      ASSERT(runStart &amp;&amp; runEnd &amp;&amp; runStart-&gt;parentNode() == runEnd-&gt;parentNode());

Oh oops, I need to modify this assertion and add a similar one on L841. I&apos;ll do that once it&apos;s been reviewed.

10&gt;c:\cygwin\home\buildbot\WebKit\Source\WebCore\editing\ApplyStyleCommand.cpp(826) : error C2065: &apos;runEnd&apos; : undeclared identifier
10&gt;c:\cygwin\home\buildbot\WebKit\Source\WebCore\editing\ApplyStyleCommand.cpp(826) : error C2227: left of &apos;-&gt;parentNode&apos; must point to class/struct/union/generic type
10&gt;        type is &apos;&apos;unknown-type&apos;&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788229</commentid>
    <comment_count>6</comment_count>
      <attachid>178746</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-12-11 02:28:04 -0800</bug_when>
    <thetext>Comment on attachment 178746
Resolved conflicts

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

&gt; Source/WebCore/editing/ApplyStyleCommand.cpp:782
&gt; -        RefPtr&lt;Node&gt; runStart = node;
&gt; -        RefPtr&lt;Node&gt; runEnd = node;
&gt; +        Node* runStart = node.get();
&gt; +        Node* runEnd = node.get();

Note that the code below no longer modifies DOM so we don&apos;t need a RefPtr anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788780</commentid>
    <comment_count>7</comment_count>
      <attachid>178746</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2012-12-11 14:12:10 -0800</bug_when>
    <thetext>Comment on attachment 178746
Resolved conflicts

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

Looks good to me. Only few nit picks. Please fix the ASSERT problem before landing

&gt; Source/WebCore/ChangeLog:19
&gt; +        (InlineRunToApplyStyle):

Please remove

&gt; Source/WebCore/ChangeLog:21
&gt; +        (WebCore):

Please remove

&gt; Source/WebCore/ChangeLog:29
&gt; +        (ApplyStyleCommand):

Ditto

&gt; Source/WebCore/ChangeLog:32
&gt; +        (StyleChange):

Ditto

&gt; Source/WebCore/editing/ApplyStyleCommand.cpp:719
&gt; +struct InlineRunToApplyStyle {

Why did you choose a struct instead of a class?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788839</commentid>
    <comment_count>8</comment_count>
      <attachid>178746</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-12-11 15:06:41 -0800</bug_when>
    <thetext>Comment on attachment 178746
Resolved conflicts

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

&gt;&gt; Source/WebCore/editing/ApplyStyleCommand.cpp:719
&gt;&gt; +struct InlineRunToApplyStyle {
&gt; 
&gt; Why did you choose a struct instead of a class?

Because all members of this class is public and it doesn&apos;t have any getters or setters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788868</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-12-11 15:34:39 -0800</bug_when>
    <thetext>Committed r137370: &lt;http://trac.webkit.org/changeset/137370&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178742</attachid>
            <date>2012-12-11 01:04:07 -0800</date>
            <delta_ts>2012-12-11 01:26:31 -0800</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-104643-20121211010128.patch</filename>
            <type>text/plain</type>
            <size>11752</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNzI2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDEyLTEyLTExICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIE1haWwgaGFuZ3Mgd2hlbiByZXNp
emluZyB0aGUgZm9udCBzaXplIG9mIGEgbGFyZ2UgUlRMIHRleHQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDY0MworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBidWcgd2FzIGNhdXNlZCBieSBBcHBs
eVN0eWxlQ29tbWFuZDo6YXBwbHlJbmxpbmVTdHlsZVRvTm9kZVJhbmdlIG9idGFpbmluZyBjb21w
dXRlZCBzdHlsZXMgd2hpbGUKKyAgICAgICAgcmVtb3ZpbmcgYW5kIGFkZGluZyBub2Rlcy4gRml4
ZWQgdGhlIHNsb3duZXNzIGJ5IGJyZWFraW5nIGl0IGludG8gdGhyZWUgcGhhc2VzOgorICAgICAg
ICAxLiBTcGxpdCB0aGUgcmFuZ2UgaW50byBjb250aWd1b3VzIGlubGluZSBydW5zLCBhbmQgZGV0
ZXJtaW5lIHdoZXRoZXIgc3R5bGVzIG5lZWQgdG8gYmUgcmVtb3ZlZCBvciBhcHBsaWVkLgorICAg
ICAgICAyLiBSZW1vdmUgYW55IGNvbmZsaWN0aW5nIHN0eWxlcywgYW5kIGluc2VydCBkdW1teSBl
bGVtZW50cyBhdCBwb3NpdGlvbnMgd2hlcmUgaW5saW5lIHN0eWxlcyBvdWdodCB0byBiZQorICAg
ICAgICBjb21wdXRlZCBhcyBuZWVkZWQuCisgICAgICAgIDMuIFJlbW92ZSB0aGUgZHVtbXkgZWxl
bWVudHMgYW5kIGFwcGx5IGlsbmluZSBzdHlsZXMgYXMgbmVlZGVkLgorCisgICAgICAgIE5vIG5l
dyB0ZXN0cyBhcmUgYWRkZWQgc2luY2UgdGhlcmUgaXMgbm8gYmVoYXZpb3IgY2hhbmdlLiBUaGlz
IGlzIGp1c3QgYSBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudC4gCisKKyAgICAgICAgKiBlZGl0aW5n
L0FwcGx5U3R5bGVDb21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZVJ1blRvQXBw
bHlTdHlsZTo6SW5saW5lUnVuVG9BcHBseVN0eWxlKToKKyAgICAgICAgKElubGluZVJ1blRvQXBw
bHlTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVSdW5Ub0FwcGx5U3R5bGU6OnN0YXJ0
QW5kRW5kQXJlU3RpbGxJbkRvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6QXBwbHlTdHlsZUNvbW1hbmQ6OmFwcGx5SW5saW5lU3R5bGVUb05vZGVSYW5nZSk6
CisgICAgICAgIChXZWJDb3JlOjpBcHBseVN0eWxlQ29tbWFuZDo6c2hvdWxkQXBwbHlJbmxpbmVT
dHlsZVRvUnVuKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5U3R5bGVDb21tYW5kOjpyZW1vdmVD
b25mbGljdGluZ0lubGluZVN0eWxlRnJvbVJ1bik6CisgICAgICAgIChXZWJDb3JlOjpBcHBseVN0
eWxlQ29tbWFuZDo6YWRkSW5saW5lU3R5bGVJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpB
cHBseVN0eWxlQ29tbWFuZDo6cG9zaXRpb25Ub0NvbXB1dGVJbmxpbmVTdHlsZUNoYW5nZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpBcHBseVN0eWxlQ29tbWFuZDo6YXBwbHlJbmxpbmVTdHlsZUNoYW5n
ZSk6CisgICAgICAgICogZWRpdGluZy9BcHBseVN0eWxlQ29tbWFuZC5oOgorICAgICAgICAoQXBw
bHlTdHlsZUNvbW1hbmQpOgorICAgICAgICAqIGVkaXRpbmcvRWRpdGluZ1N0eWxlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZUNoYW5nZTo6U3R5bGVDaGFuZ2UpOgorICAgICAgICAoU3R5bGVD
aGFuZ2UpOgorCiAyMDEyLTEyLTExICBaYW4gRG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5j
b20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXggYWZ0ZXIgcjEzNzI0My4KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwCShyZXZpc2lv
biAxMzcxOTYpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FwcGx5U3R5bGVDb21tYW5kLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNzE1LDExICs3MTUsMzQgQEAgc3RhdGljIGJvb2wgY29udGFp
bnNOb25FZGl0YWJsZVJlZ2lvbihObwogICAgIHJldHVybiBmYWxzZTsKIH0KIAorc3RydWN0IElu
bGluZVJ1blRvQXBwbHlTdHlsZSB7CisgICAgSW5saW5lUnVuVG9BcHBseVN0eWxlKE5vZGUqIHN0
YXJ0LCBOb2RlKiBlbmQsIE5vZGUqIHBhc3RFbmROb2RlKQorICAgICAgICA6IHN0YXJ0KHN0YXJ0
KQorICAgICAgICAsIGVuZChlbmQpCisgICAgICAgICwgcGFzdEVuZE5vZGUocGFzdEVuZE5vZGUp
CisgICAgeyB9CisKKyAgICBib29sIHN0YXJ0QW5kRW5kQXJlU3RpbGxJbkRvY3VtZW50KCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBzdGFydCAmJiBlbmQgJiYgc3RhcnQtPmluRG9jdW1lbnQoKSAm
JiBlbmQtPmluRG9jdW1lbnQoKTsKKyAgICB9CisKKyAgICBSZWZQdHI8Tm9kZT4gc3RhcnQ7Cisg
ICAgUmVmUHRyPE5vZGU+IGVuZDsKKyAgICBSZWZQdHI8Tm9kZT4gcGFzdEVuZE5vZGU7CisgICAg
UG9zaXRpb24gcG9zaXRpb25Gb3JTdHlsZUNvbXB1dGF0aW9uOworICAgIFJlZlB0cjxOb2RlPiBk
dW1teUVsZW1lbnQ7CisgICAgU3R5bGVDaGFuZ2UgY2hhbmdlOworfTsKKwogdm9pZCBBcHBseVN0
eWxlQ29tbWFuZDo6YXBwbHlJbmxpbmVTdHlsZVRvTm9kZVJhbmdlKEVkaXRpbmdTdHlsZSogc3R5
bGUsIFBhc3NSZWZQdHI8Tm9kZT4gc3RhcnROb2RlLCBQYXNzUmVmUHRyPE5vZGU+IHBhc3RFbmRO
b2RlKQogewogICAgIGlmIChtX3JlbW92ZU9ubHkpCiAgICAgICAgIHJldHVybjsKIAorICAgIGRv
Y3VtZW50KCktPnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworCisgICAg
VmVjdG9yPElubGluZVJ1blRvQXBwbHlTdHlsZT4gcnVuczsKICAgICBSZWZQdHI8Tm9kZT4gbm9k
ZSA9IHN0YXJ0Tm9kZTsKICAgICBmb3IgKFJlZlB0cjxOb2RlPiBuZXh0OyBub2RlICYmIG5vZGUg
IT0gcGFzdEVuZE5vZGU7IG5vZGUgPSBuZXh0KSB7CiAgICAgICAgIG5leHQgPSBub2RlLT50cmF2
ZXJzZU5leHROb2RlKCk7CkBAIC03NTQsOCArNzc3LDggQEAgdm9pZCBBcHBseVN0eWxlQ29tbWFu
ZDo6YXBwbHlJbmxpbmVTdHlsZQogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAg
UmVmUHRyPE5vZGU+IHJ1blN0YXJ0ID0gbm9kZTsKLSAgICAgICAgUmVmUHRyPE5vZGU+IHJ1bkVu
ZCA9IG5vZGU7CisgICAgICAgIE5vZGUqIHJ1blN0YXJ0ID0gbm9kZS5nZXQoKTsKKyAgICAgICAg
Tm9kZSogcnVuRW5kID0gbm9kZS5nZXQoKTsKICAgICAgICAgTm9kZSogc2libGluZyA9IG5vZGUt
Pm5leHRTaWJsaW5nKCk7CiAgICAgICAgIHdoaWxlIChzaWJsaW5nICYmIHNpYmxpbmcgIT0gcGFz
dEVuZE5vZGUgJiYgIXNpYmxpbmctPmNvbnRhaW5zKHBhc3RFbmROb2RlLmdldCgpKQogICAgICAg
ICAgICAgICAgJiYgKCFpc0Jsb2NrKHNpYmxpbmcpIHx8IHNpYmxpbmctPmhhc1RhZ05hbWUoYnJU
YWcpKQpAQCAtNzY1LDkgKzc4OCwyOSBAQCB2b2lkIEFwcGx5U3R5bGVDb21tYW5kOjphcHBseUlu
bGluZVN0eWxlCiAgICAgICAgIH0KICAgICAgICAgbmV4dCA9IHJ1bkVuZC0+dHJhdmVyc2VOZXh0
U2libGluZygpOwogCi0gICAgICAgIGlmICghcmVtb3ZlU3R5bGVGcm9tUnVuQmVmb3JlQXBwbHlp
bmdTdHlsZShzdHlsZSwgcnVuU3RhcnQsIHJ1bkVuZCkpCisgICAgICAgIE5vZGUqIHBhc3RFbmRO
b2RlID0gcnVuRW5kLT50cmF2ZXJzZU5leHRTaWJsaW5nKCk7CisgICAgICAgIGlmICghc2hvdWxk
QXBwbHlJbmxpbmVTdHlsZVRvUnVuKHN0eWxlLCBydW5TdGFydCwgcGFzdEVuZE5vZGUpKQogICAg
ICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGFkZElubGluZVN0eWxlSWZOZWVkZWQoc3R5bGUs
IHJ1blN0YXJ0LmdldCgpLCBydW5FbmQuZ2V0KCksIEFkZFN0eWxlZEVsZW1lbnQpOworCisgICAg
ICAgIHJ1bnMuYXBwZW5kKElubGluZVJ1blRvQXBwbHlTdHlsZShydW5TdGFydCwgcnVuRW5kLCBw
YXN0RW5kTm9kZSkpOworICAgIH0KKworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcnVucy5z
aXplKCk7IGkrKykgeworICAgICAgICByZW1vdmVDb25mbGljdGluZ0lubGluZVN0eWxlRnJvbVJ1
bihzdHlsZSwgcnVuc1tpXS5zdGFydCwgcnVuc1tpXS5lbmQsIHJ1bnNbaV0ucGFzdEVuZE5vZGUp
OworICAgICAgICBydW5zW2ldLnBvc2l0aW9uRm9yU3R5bGVDb21wdXRhdGlvbiA9IHBvc2l0aW9u
VG9Db21wdXRlSW5saW5lU3R5bGVDaGFuZ2UocnVuc1tpXS5zdGFydCwgcnVuc1tpXS5kdW1teUVs
ZW1lbnQpOworICAgIH0KKworICAgIGRvY3VtZW50KCktPnVwZGF0ZUxheW91dElnbm9yZVBlbmRp
bmdTdHlsZXNoZWV0cygpOworCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBydW5zLnNpemUo
KTsgaSsrKQorICAgICAgICBydW5zW2ldLmNoYW5nZSA9IFN0eWxlQ2hhbmdlKHN0eWxlLCBydW5z
W2ldLnBvc2l0aW9uRm9yU3R5bGVDb21wdXRhdGlvbik7CisKKyAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IHJ1bnMuc2l6ZSgpOyBpKyspIHsKKyAgICAgICAgSW5saW5lUnVuVG9BcHBseVN0eWxl
JiBydW4gPSBydW5zW2ldOworICAgICAgICBpZiAocnVuLmR1bW15RWxlbWVudCkKKyAgICAgICAg
ICAgIHJlbW92ZU5vZGUocnVuLmR1bW15RWxlbWVudCk7CisgICAgICAgIGlmIChydW4uc3RhcnRB
bmRFbmRBcmVTdGlsbEluRG9jdW1lbnQoKSkKKyAgICAgICAgICAgIGFwcGx5SW5saW5lU3R5bGVD
aGFuZ2UocnVuLnN0YXJ0LnJlbGVhc2UoKSwgcnVuLmVuZC5yZWxlYXNlKCksIHJ1bi5jaGFuZ2Us
IEFkZFN0eWxlZEVsZW1lbnQpOwogICAgIH0KIH0KIApAQCAtNzc3LDI0ICs4MjAsMjQgQEAgYm9v
bCBBcHBseVN0eWxlQ29tbWFuZDo6aXNTdHlsZWRJbmxpbmVFbAogICAgICAgICB8fCAobV9pc0lu
bGluZUVsZW1lbnRUb1JlbW92ZUZ1bmN0aW9uICYmIG1faXNJbmxpbmVFbGVtZW50VG9SZW1vdmVG
dW5jdGlvbihlbGVtZW50KSk7CiB9CiAKLWJvb2wgQXBwbHlTdHlsZUNvbW1hbmQ6OnJlbW92ZVN0
eWxlRnJvbVJ1bkJlZm9yZUFwcGx5aW5nU3R5bGUoRWRpdGluZ1N0eWxlKiBzdHlsZSwgUmVmUHRy
PE5vZGU+JiBydW5TdGFydCwgUmVmUHRyPE5vZGU+JiBydW5FbmQpCitib29sIEFwcGx5U3R5bGVD
b21tYW5kOjpzaG91bGRBcHBseUlubGluZVN0eWxlVG9SdW4oRWRpdGluZ1N0eWxlKiBzdHlsZSwg
Tm9kZSogcnVuU3RhcnQsIE5vZGUqIHBhc3RFbmROb2RlKQogewogICAgIEFTU0VSVChydW5TdGFy
dCAmJiBydW5FbmQgJiYgcnVuU3RhcnQtPnBhcmVudE5vZGUoKSA9PSBydW5FbmQtPnBhcmVudE5v
ZGUoKSk7Ci0gICAgUmVmUHRyPE5vZGU+IHBhc3RFbmROb2RlID0gcnVuRW5kLT50cmF2ZXJzZU5l
eHRTaWJsaW5nKCk7Ci0gICAgYm9vbCBuZWVkVG9BcHBseVN0eWxlID0gZmFsc2U7Ci0gICAgZm9y
IChOb2RlKiBub2RlID0gcnVuU3RhcnQuZ2V0KCk7IG5vZGUgJiYgbm9kZSAhPSBwYXN0RW5kTm9k
ZS5nZXQoKTsgbm9kZSA9IG5vZGUtPnRyYXZlcnNlTmV4dE5vZGUoKSkgeworCisgICAgZm9yIChO
b2RlKiBub2RlID0gcnVuU3RhcnQ7IG5vZGUgJiYgbm9kZSAhPSBwYXN0RW5kTm9kZTsgbm9kZSA9
IG5vZGUtPnRyYXZlcnNlTmV4dE5vZGUoKSkgewogICAgICAgICBpZiAobm9kZS0+Y2hpbGROb2Rl
Q291bnQoKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAvLyBXZSBkb24ndCBjb25z
aWRlciBtX2lzSW5saW5lRWxlbWVudFRvUmVtb3ZlRnVuY3Rpb24gaGVyZSBiZWNhdXNlIHdlIG5l
dmVyIGFwcGx5IHN0eWxlIHdoZW4gbV9pc0lubGluZUVsZW1lbnRUb1JlbW92ZUZ1bmN0aW9uIGlz
IHNwZWNpZmllZAotICAgICAgICBpZiAoIXN0eWxlLT5zdHlsZUlzUHJlc2VudEluQ29tcHV0ZWRT
dHlsZU9mTm9kZShub2RlKQotICAgICAgICAgICAgfHwgKG1fc3R5bGVkSW5saW5lRWxlbWVudCAm
JiAhZW5jbG9zaW5nTm9kZVdpdGhUYWcocG9zaXRpb25CZWZvcmVOb2RlKG5vZGUpLCBtX3N0eWxl
ZElubGluZUVsZW1lbnQtPnRhZ1FOYW1lKCkpKSkgewotICAgICAgICAgICAgbmVlZFRvQXBwbHlT
dHlsZSA9IHRydWU7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQorICAgICAgICBpZiAo
IXN0eWxlLT5zdHlsZUlzUHJlc2VudEluQ29tcHV0ZWRTdHlsZU9mTm9kZShub2RlKSkKKyAgICAg
ICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBpZiAobV9zdHlsZWRJbmxpbmVFbGVtZW50ICYm
ICFlbmNsb3NpbmdOb2RlV2l0aFRhZyhwb3NpdGlvbkJlZm9yZU5vZGUobm9kZSksIG1fc3R5bGVk
SW5saW5lRWxlbWVudC0+dGFnUU5hbWUoKSkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICB9Ci0gICAgaWYgKCFuZWVkVG9BcHBseVN0eWxlKQotICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgcmV0dXJuIGZhbHNlOworfQogCit2b2lkIEFwcGx5U3R5bGVDb21tYW5kOjpyZW1vdmVDb25m
bGljdGluZ0lubGluZVN0eWxlRnJvbVJ1bihFZGl0aW5nU3R5bGUqIHN0eWxlLCBSZWZQdHI8Tm9k
ZT4mIHJ1blN0YXJ0LCBSZWZQdHI8Tm9kZT4mIHJ1bkVuZCwgUGFzc1JlZlB0cjxOb2RlPiBwYXN0
RW5kTm9kZSkKK3sKICAgICBSZWZQdHI8Tm9kZT4gbmV4dCA9IHJ1blN0YXJ0OwogICAgIGZvciAo
UmVmUHRyPE5vZGU+IG5vZGUgPSBuZXh0OyBub2RlICYmIG5vZGUtPmluRG9jdW1lbnQoKSAmJiBu
b2RlICE9IHBhc3RFbmROb2RlOyBub2RlID0gbmV4dCkgewogICAgICAgICBpZiAoZWRpdGluZ0ln
bm9yZXNDb250ZW50KG5vZGUuZ2V0KCkpKSB7CkBAIC04MTcsOCArODYwLDYgQEAgYm9vbCBBcHBs
eVN0eWxlQ29tbWFuZDo6cmVtb3ZlU3R5bGVGcm9tUgogICAgICAgICAgICAgICAgIHJ1bkVuZCA9
IG5leHRTaWJsaW5nID8gbmV4dFNpYmxpbmctPnByZXZpb3VzU2libGluZygpIDogcGFyZW50LT5s
YXN0Q2hpbGQoKTsKICAgICAgICAgfQogICAgIH0KLQotICAgIHJldHVybiB0cnVlOwogfQogCiBi
b29sIEFwcGx5U3R5bGVDb21tYW5kOjpyZW1vdmVJbmxpbmVTdHlsZUZyb21FbGVtZW50KEVkaXRp
bmdTdHlsZSogc3R5bGUsIFBhc3NSZWZQdHI8SFRNTEVsZW1lbnQ+IGVsZW1lbnQsIElubGluZVN0
eWxlUmVtb3ZhbE1vZGUgbW9kZSwgRWRpdGluZ1N0eWxlKiBleHRyYWN0ZWRTdHlsZSkKQEAgLTEz
MzcsMjMgKzEzNzgsMzYgQEAgdm9pZCBBcHBseVN0eWxlQ29tbWFuZDo6YWRkSW5saW5lU3R5bGVJ
ZgogewogICAgIGlmICghcGFzc2VkU3RhcnQgfHwgIXBhc3NlZEVuZCB8fCAhcGFzc2VkU3RhcnQt
PmluRG9jdW1lbnQoKSB8fCAhcGFzc2VkRW5kLT5pbkRvY3VtZW50KCkpCiAgICAgICAgIHJldHVy
bjsKLSAgICBSZWZQdHI8Tm9kZT4gc3RhcnROb2RlID0gcGFzc2VkU3RhcnQ7Ci0gICAgUmVmUHRy
PE5vZGU+IGVuZE5vZGUgPSBwYXNzZWRFbmQ7CiAKKyAgICBSZWZQdHI8Tm9kZT4gc3RhcnQgPSBw
YXNzZWRTdGFydDsKKyAgICBSZWZQdHI8Tm9kZT4gZHVtbXlFbGVtZW50OworICAgIFN0eWxlQ2hh
bmdlIHN0eWxlQ2hhbmdlKHN0eWxlLCBwb3NpdGlvblRvQ29tcHV0ZUlubGluZVN0eWxlQ2hhbmdl
KHN0YXJ0LCBkdW1teUVsZW1lbnQpKTsKKworICAgIGlmIChkdW1teUVsZW1lbnQpCisgICAgICAg
IHJlbW92ZU5vZGUoZHVtbXlFbGVtZW50KTsKKworICAgIGFwcGx5SW5saW5lU3R5bGVDaGFuZ2Uo
c3RhcnQsIHBhc3NlZEVuZCwgc3R5bGVDaGFuZ2UsIGFkZFN0eWxlZEVsZW1lbnQpOworfQorCitQ
b3NpdGlvbiBBcHBseVN0eWxlQ29tbWFuZDo6cG9zaXRpb25Ub0NvbXB1dGVJbmxpbmVTdHlsZUNo
YW5nZShQYXNzUmVmUHRyPE5vZGU+IHN0YXJ0Tm9kZSwgUmVmUHRyPE5vZGU+JiBkdW1teUVsZW1l
bnQpCit7CiAgICAgLy8gSXQncyBva2F5IHRvIG9idGFpbiB0aGUgc3R5bGUgYXQgdGhlIHN0YXJ0
Tm9kZSBiZWNhdXNlIHdlJ3ZlIHJlbW92ZWQgYWxsIHJlbGV2YW50IHN0eWxlcyBmcm9tIHRoZSBj
dXJyZW50IHJ1bi4KLSAgICBSZWZQdHI8SFRNTEVsZW1lbnQ+IGR1bW15RWxlbWVudDsKICAgICBQ
b3NpdGlvbiBwb3NpdGlvbkZvclN0eWxlQ29tcGFyaXNvbjsKICAgICBpZiAoIXN0YXJ0Tm9kZS0+
aXNFbGVtZW50Tm9kZSgpKSB7CiAgICAgICAgIGR1bW15RWxlbWVudCA9IGNyZWF0ZVN0eWxlU3Bh
bkVsZW1lbnQoZG9jdW1lbnQoKSk7CiAgICAgICAgIGluc2VydE5vZGVBdChkdW1teUVsZW1lbnQs
IHBvc2l0aW9uQmVmb3JlTm9kZShzdGFydE5vZGUuZ2V0KCkpKTsKLSAgICAgICAgcG9zaXRpb25G
b3JTdHlsZUNvbXBhcmlzb24gPSBwb3NpdGlvbkJlZm9yZU5vZGUoZHVtbXlFbGVtZW50LmdldCgp
KTsKLSAgICB9IGVsc2UKLSAgICAgICAgcG9zaXRpb25Gb3JTdHlsZUNvbXBhcmlzb24gPSBmaXJz
dFBvc2l0aW9uSW5PckJlZm9yZU5vZGUoc3RhcnROb2RlLmdldCgpKTsKKyAgICAgICAgcmV0dXJu
IHBvc2l0aW9uQmVmb3JlTm9kZShkdW1teUVsZW1lbnQuZ2V0KCkpOworICAgIH0KIAotICAgIFN0
eWxlQ2hhbmdlIHN0eWxlQ2hhbmdlKHN0eWxlLCBwb3NpdGlvbkZvclN0eWxlQ29tcGFyaXNvbik7
CisgICAgcmV0dXJuIGZpcnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShzdGFydE5vZGUuZ2V0KCkp
OworfQogCi0gICAgaWYgKGR1bW15RWxlbWVudCkKLSAgICAgICAgcmVtb3ZlTm9kZShkdW1teUVs
ZW1lbnQpOwordm9pZCBBcHBseVN0eWxlQ29tbWFuZDo6YXBwbHlJbmxpbmVTdHlsZUNoYW5nZShQ
YXNzUmVmUHRyPE5vZGU+IHBhc3NlZFN0YXJ0LCBQYXNzUmVmUHRyPE5vZGU+IHBhc3NlZEVuZCwg
U3R5bGVDaGFuZ2UmIHN0eWxlQ2hhbmdlLCBFQWRkU3R5bGVkRWxlbWVudCBhZGRTdHlsZWRFbGVt
ZW50KQoreworICAgIFJlZlB0cjxOb2RlPiBzdGFydE5vZGUgPSBwYXNzZWRTdGFydDsKKyAgICBS
ZWZQdHI8Tm9kZT4gZW5kTm9kZSA9IHBhc3NlZEVuZDsKKyAgICBBU1NFUlQoc3RhcnROb2RlLT5p
bkRvY3VtZW50KCkpOworICAgIEFTU0VSVChlbmROb2RlLT5pbkRvY3VtZW50KCkpOwogCiAgICAg
Ly8gRmluZCBhcHByb3ByaWF0ZSBmb250IGFuZCBzcGFuIGVsZW1lbnRzIHRvcC1kb3duLgogICAg
IEhUTUxFbGVtZW50KiBmb250Q29udGFpbmVyID0gMDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0FwcGx5U3R5bGVDb21tYW5kLmgJKHJldmlzaW9uIDEzNzE5NikKKysrIFNvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuaAkod29ya2luZyBjb3B5KQpAQCAtNzYs
NyArNzYsOCBAQCBwcml2YXRlOgogCiAgICAgLy8gc3R5bGUtcmVtb3ZhbCBoZWxwZXJzCiAgICAg
Ym9vbCBpc1N0eWxlZElubGluZUVsZW1lbnRUb1JlbW92ZShFbGVtZW50KikgY29uc3Q7Ci0gICAg
Ym9vbCByZW1vdmVTdHlsZUZyb21SdW5CZWZvcmVBcHBseWluZ1N0eWxlKEVkaXRpbmdTdHlsZSos
IFJlZlB0cjxOb2RlPiYgcnVuU3RhcnQsIFJlZlB0cjxOb2RlPiYgcnVuRW5kKTsKKyAgICBib29s
IHNob3VsZEFwcGx5SW5saW5lU3R5bGVUb1J1bihFZGl0aW5nU3R5bGUqLCBOb2RlKiBydW5TdGFy
dCwgTm9kZSogcGFzdEVuZE5vZGUpOworICAgIHZvaWQgcmVtb3ZlQ29uZmxpY3RpbmdJbmxpbmVT
dHlsZUZyb21SdW4oRWRpdGluZ1N0eWxlKiwgUmVmUHRyPE5vZGU+JiBydW5TdGFydCwgUmVmUHRy
PE5vZGU+JiBydW5FbmQsIFBhc3NSZWZQdHI8Tm9kZT4gcGFzdEVuZE5vZGUpOwogICAgIGJvb2wg
cmVtb3ZlSW5saW5lU3R5bGVGcm9tRWxlbWVudChFZGl0aW5nU3R5bGUqLCBQYXNzUmVmUHRyPEhU
TUxFbGVtZW50PiwgSW5saW5lU3R5bGVSZW1vdmFsTW9kZSA9IFJlbW92ZUlmTmVlZGVkLCBFZGl0
aW5nU3R5bGUqIGV4dHJhY3RlZFN0eWxlID0gMCk7CiAgICAgaW5saW5lIGJvb2wgc2hvdWxkUmVt
b3ZlSW5saW5lU3R5bGVGcm9tRWxlbWVudChFZGl0aW5nU3R5bGUqIHN0eWxlLCBIVE1MRWxlbWVu
dCogZWxlbWVudCkge3JldHVybiByZW1vdmVJbmxpbmVTdHlsZUZyb21FbGVtZW50KHN0eWxlLCBl
bGVtZW50LCBSZW1vdmVOb25lKTt9CiAgICAgdm9pZCByZXBsYWNlV2l0aFNwYW5PclJlbW92ZUlm
V2l0aG91dEF0dHJpYnV0ZXMoSFRNTEVsZW1lbnQqJik7CkBAIC05Nyw2ICs5OCw4IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBhcHBseUlubGluZVN0eWxlVG9Ob2RlUmFuZ2UoRWRpdGluZ1N0eWxlKiwg
UGFzc1JlZlB0cjxOb2RlPiBzdGFydE5vZGUsIFBhc3NSZWZQdHI8Tm9kZT4gcGFzdEVuZE5vZGUp
OwogICAgIHZvaWQgYWRkQmxvY2tTdHlsZShjb25zdCBTdHlsZUNoYW5nZSYsIEhUTUxFbGVtZW50
Kik7CiAgICAgdm9pZCBhZGRJbmxpbmVTdHlsZUlmTmVlZGVkKEVkaXRpbmdTdHlsZSosIFBhc3NS
ZWZQdHI8Tm9kZT4gc3RhcnQsIFBhc3NSZWZQdHI8Tm9kZT4gZW5kLCBFQWRkU3R5bGVkRWxlbWVu
dCA9IEFkZFN0eWxlZEVsZW1lbnQpOworICAgIFBvc2l0aW9uIHBvc2l0aW9uVG9Db21wdXRlSW5s
aW5lU3R5bGVDaGFuZ2UoUGFzc1JlZlB0cjxOb2RlPiwgUmVmUHRyPE5vZGU+JiBkdW1teUVsZW1l
bnQpOworICAgIHZvaWQgYXBwbHlJbmxpbmVTdHlsZUNoYW5nZShQYXNzUmVmUHRyPE5vZGU+IHN0
YXJ0Tm9kZSwgUGFzc1JlZlB0cjxOb2RlPiBlbmROb2RlLCBTdHlsZUNoYW5nZSYsIEVBZGRTdHls
ZWRFbGVtZW50KTsKICAgICB2b2lkIHNwbGl0VGV4dEF0U3RhcnQoY29uc3QgUG9zaXRpb24mIHN0
YXJ0LCBjb25zdCBQb3NpdGlvbiYgZW5kKTsKICAgICB2b2lkIHNwbGl0VGV4dEF0RW5kKGNvbnN0
IFBvc2l0aW9uJiBzdGFydCwgY29uc3QgUG9zaXRpb24mIGVuZCk7CiAgICAgdm9pZCBzcGxpdFRl
eHRFbGVtZW50QXRTdGFydChjb25zdCBQb3NpdGlvbiYgc3RhcnQsIGNvbnN0IFBvc2l0aW9uJiBl
bmQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nU3R5bGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdTdHlsZS5oCShyZXZpc2lvbiAx
MzcxOTYpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdTdHlsZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xNzMsNiArMTczLDE1IEBAIHByaXZhdGU6CiAKIGNsYXNzIFN0eWxlQ2hhbmdl
IHsKIHB1YmxpYzoKKyAgICBTdHlsZUNoYW5nZSgpCisgICAgICAgIDogbV9hcHBseUJvbGQoZmFs
c2UpCisgICAgICAgICwgbV9hcHBseUl0YWxpYyhmYWxzZSkKKyAgICAgICAgLCBtX2FwcGx5VW5k
ZXJsaW5lKGZhbHNlKQorICAgICAgICAsIG1fYXBwbHlMaW5lVGhyb3VnaChmYWxzZSkKKyAgICAg
ICAgLCBtX2FwcGx5U3Vic2NyaXB0KGZhbHNlKQorICAgICAgICAsIG1fYXBwbHlTdXBlcnNjcmlw
dChmYWxzZSkKKyAgICB7IH0KKwogICAgIFN0eWxlQ2hhbmdlKEVkaXRpbmdTdHlsZSosIGNvbnN0
IFBvc2l0aW9uJik7CiAKICAgICBTdHJpbmcgY3NzU3R5bGUoKSBjb25zdCB7IHJldHVybiBtX2Nz
c1N0eWxlOyB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178746</attachid>
            <date>2012-12-11 01:26:33 -0800</date>
            <delta_ts>2012-12-11 15:06:41 -0800</delta_ts>
            <desc>Resolved conflicts</desc>
            <filename>bug-104643-20121211012355.patch</filename>
            <type>text/plain</type>
            <size>11951</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNzI2MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDEyLTEyLTExICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIE1haWwgaGFuZ3Mgd2hlbiByZXNp
emluZyB0aGUgZm9udCBzaXplIG9mIGEgbGFyZ2UgUlRMIHRleHQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDY0MworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBidWcgd2FzIGNhdXNlZCBieSBBcHBs
eVN0eWxlQ29tbWFuZDo6YXBwbHlJbmxpbmVTdHlsZVRvTm9kZVJhbmdlIG9idGFpbmluZyBjb21w
dXRlZCBzdHlsZXMgd2hpbGUKKyAgICAgICAgcmVtb3ZpbmcgYW5kIGFkZGluZyBub2Rlcy4gRml4
ZWQgdGhlIHNsb3duZXNzIGJ5IGJyZWFraW5nIGl0IGludG8gdGhyZWUgcGhhc2VzOgorICAgICAg
ICAxLiBTcGxpdCB0aGUgcmFuZ2UgaW50byBjb250aWd1b3VzIGlubGluZSBydW5zLCBhbmQgZGV0
ZXJtaW5lIHdoZXRoZXIgc3R5bGVzIG5lZWQgdG8gYmUgcmVtb3ZlZCBvciBhcHBsaWVkLgorICAg
ICAgICAyLiBSZW1vdmUgYW55IGNvbmZsaWN0aW5nIHN0eWxlcywgYW5kIGluc2VydCBkdW1teSBl
bGVtZW50cyBhdCBwb3NpdGlvbnMgd2hlcmUgaW5saW5lIHN0eWxlcyBvdWdodCB0byBiZQorICAg
ICAgICBjb21wdXRlZCBhcyBuZWVkZWQuCisgICAgICAgIDMuIFJlbW92ZSB0aGUgZHVtbXkgZWxl
bWVudHMgYW5kIGFwcGx5IGlsbmluZSBzdHlsZXMgYXMgbmVlZGVkLgorCisgICAgICAgIE5vIG5l
dyB0ZXN0cyBhcmUgYWRkZWQgc2luY2UgdGhlcmUgaXMgbm8gYmVoYXZpb3IgY2hhbmdlLiBUaGlz
IGlzIGp1c3QgYSBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudC4gCisKKyAgICAgICAgKiBlZGl0aW5n
L0FwcGx5U3R5bGVDb21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZVJ1blRvQXBw
bHlTdHlsZTo6SW5saW5lUnVuVG9BcHBseVN0eWxlKToKKyAgICAgICAgKElubGluZVJ1blRvQXBw
bHlTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVSdW5Ub0FwcGx5U3R5bGU6OnN0YXJ0
QW5kRW5kQXJlU3RpbGxJbkRvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6QXBwbHlTdHlsZUNvbW1hbmQ6OmFwcGx5SW5saW5lU3R5bGVUb05vZGVSYW5nZSk6
CisgICAgICAgIChXZWJDb3JlOjpBcHBseVN0eWxlQ29tbWFuZDo6c2hvdWxkQXBwbHlJbmxpbmVT
dHlsZVRvUnVuKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5U3R5bGVDb21tYW5kOjpyZW1vdmVD
b25mbGljdGluZ0lubGluZVN0eWxlRnJvbVJ1bik6CisgICAgICAgIChXZWJDb3JlOjpBcHBseVN0
eWxlQ29tbWFuZDo6YWRkSW5saW5lU3R5bGVJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpB
cHBseVN0eWxlQ29tbWFuZDo6cG9zaXRpb25Ub0NvbXB1dGVJbmxpbmVTdHlsZUNoYW5nZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpBcHBseVN0eWxlQ29tbWFuZDo6YXBwbHlJbmxpbmVTdHlsZUNoYW5n
ZSk6CisgICAgICAgICogZWRpdGluZy9BcHBseVN0eWxlQ29tbWFuZC5oOgorICAgICAgICAoQXBw
bHlTdHlsZUNvbW1hbmQpOgorICAgICAgICAqIGVkaXRpbmcvRWRpdGluZ1N0eWxlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZUNoYW5nZTo6U3R5bGVDaGFuZ2UpOgorICAgICAgICAoU3R5bGVD
aGFuZ2UpOgorCiAyMDEyLTEyLTEwICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlh
LmNvbT4KIAogICAgICAgICBbR1RLXSBSZW1vdmUgdGhlIFBhbmdvIGJhY2tlbmQKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwCShyZXZpc2lvbiAx
MzcyNjMpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FwcGx5U3R5bGVDb21tYW5kLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNzE2LDExICs3MTYsMzQgQEAgc3RhdGljIGJvb2wgY29udGFpbnNO
b25FZGl0YWJsZVJlZ2lvbihObwogICAgIHJldHVybiBmYWxzZTsKIH0KIAorc3RydWN0IElubGlu
ZVJ1blRvQXBwbHlTdHlsZSB7CisgICAgSW5saW5lUnVuVG9BcHBseVN0eWxlKE5vZGUqIHN0YXJ0
LCBOb2RlKiBlbmQsIE5vZGUqIHBhc3RFbmROb2RlKQorICAgICAgICA6IHN0YXJ0KHN0YXJ0KQor
ICAgICAgICAsIGVuZChlbmQpCisgICAgICAgICwgcGFzdEVuZE5vZGUocGFzdEVuZE5vZGUpCisg
ICAgeyB9CisKKyAgICBib29sIHN0YXJ0QW5kRW5kQXJlU3RpbGxJbkRvY3VtZW50KCkKKyAgICB7
CisgICAgICAgIHJldHVybiBzdGFydCAmJiBlbmQgJiYgc3RhcnQtPmluRG9jdW1lbnQoKSAmJiBl
bmQtPmluRG9jdW1lbnQoKTsKKyAgICB9CisKKyAgICBSZWZQdHI8Tm9kZT4gc3RhcnQ7CisgICAg
UmVmUHRyPE5vZGU+IGVuZDsKKyAgICBSZWZQdHI8Tm9kZT4gcGFzdEVuZE5vZGU7CisgICAgUG9z
aXRpb24gcG9zaXRpb25Gb3JTdHlsZUNvbXB1dGF0aW9uOworICAgIFJlZlB0cjxOb2RlPiBkdW1t
eUVsZW1lbnQ7CisgICAgU3R5bGVDaGFuZ2UgY2hhbmdlOworfTsKKwogdm9pZCBBcHBseVN0eWxl
Q29tbWFuZDo6YXBwbHlJbmxpbmVTdHlsZVRvTm9kZVJhbmdlKEVkaXRpbmdTdHlsZSogc3R5bGUs
IFBhc3NSZWZQdHI8Tm9kZT4gc3RhcnROb2RlLCBQYXNzUmVmUHRyPE5vZGU+IHBhc3RFbmROb2Rl
KQogewogICAgIGlmIChtX3JlbW92ZU9ubHkpCiAgICAgICAgIHJldHVybjsKIAorICAgIGRvY3Vt
ZW50KCktPnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworCisgICAgVmVj
dG9yPElubGluZVJ1blRvQXBwbHlTdHlsZT4gcnVuczsKICAgICBSZWZQdHI8Tm9kZT4gbm9kZSA9
IHN0YXJ0Tm9kZTsKICAgICBmb3IgKFJlZlB0cjxOb2RlPiBuZXh0OyBub2RlICYmIG5vZGUgIT0g
cGFzdEVuZE5vZGU7IG5vZGUgPSBuZXh0KSB7CiAgICAgICAgIG5leHQgPSBOb2RlVHJhdmVyc2Fs
OjpuZXh0KG5vZGUuZ2V0KCkpOwpAQCAtNzU1LDggKzc3OCw4IEBAIHZvaWQgQXBwbHlTdHlsZUNv
bW1hbmQ6OmFwcGx5SW5saW5lU3R5bGUKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAg
ICAgIFJlZlB0cjxOb2RlPiBydW5TdGFydCA9IG5vZGU7Ci0gICAgICAgIFJlZlB0cjxOb2RlPiBy
dW5FbmQgPSBub2RlOworICAgICAgICBOb2RlKiBydW5TdGFydCA9IG5vZGUuZ2V0KCk7CisgICAg
ICAgIE5vZGUqIHJ1bkVuZCA9IG5vZGUuZ2V0KCk7CiAgICAgICAgIE5vZGUqIHNpYmxpbmcgPSBu
b2RlLT5uZXh0U2libGluZygpOwogICAgICAgICB3aGlsZSAoc2libGluZyAmJiBzaWJsaW5nICE9
IHBhc3RFbmROb2RlICYmICFzaWJsaW5nLT5jb250YWlucyhwYXN0RW5kTm9kZS5nZXQoKSkKICAg
ICAgICAgICAgICAgICYmICghaXNCbG9jayhzaWJsaW5nKSB8fCBzaWJsaW5nLT5oYXNUYWdOYW1l
KGJyVGFnKSkKQEAgLTc2NCwxMSArNzg3LDMxIEBAIHZvaWQgQXBwbHlTdHlsZUNvbW1hbmQ6OmFw
cGx5SW5saW5lU3R5bGUKICAgICAgICAgICAgIHJ1bkVuZCA9IHNpYmxpbmc7CiAgICAgICAgICAg
ICBzaWJsaW5nID0gcnVuRW5kLT5uZXh0U2libGluZygpOwogICAgICAgICB9Ci0gICAgICAgIG5l
eHQgPSBOb2RlVHJhdmVyc2FsOjpuZXh0U2tpcHBpbmdDaGlsZHJlbihydW5FbmQuZ2V0KCkpOwor
ICAgICAgICBuZXh0ID0gTm9kZVRyYXZlcnNhbDo6bmV4dFNraXBwaW5nQ2hpbGRyZW4ocnVuRW5k
KTsKIAotICAgICAgICBpZiAoIXJlbW92ZVN0eWxlRnJvbVJ1bkJlZm9yZUFwcGx5aW5nU3R5bGUo
c3R5bGUsIHJ1blN0YXJ0LCBydW5FbmQpKQorICAgICAgICBOb2RlKiBwYXN0RW5kTm9kZSA9IE5v
ZGVUcmF2ZXJzYWw6Om5leHRTa2lwcGluZ0NoaWxkcmVuKHJ1bkVuZCk7CisgICAgICAgIGlmICgh
c2hvdWxkQXBwbHlJbmxpbmVTdHlsZVRvUnVuKHN0eWxlLCBydW5TdGFydCwgcGFzdEVuZE5vZGUp
KQogICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGFkZElubGluZVN0eWxlSWZOZWVkZWQo
c3R5bGUsIHJ1blN0YXJ0LmdldCgpLCBydW5FbmQuZ2V0KCksIEFkZFN0eWxlZEVsZW1lbnQpOwor
CisgICAgICAgIHJ1bnMuYXBwZW5kKElubGluZVJ1blRvQXBwbHlTdHlsZShydW5TdGFydCwgcnVu
RW5kLCBwYXN0RW5kTm9kZSkpOworICAgIH0KKworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
cnVucy5zaXplKCk7IGkrKykgeworICAgICAgICByZW1vdmVDb25mbGljdGluZ0lubGluZVN0eWxl
RnJvbVJ1bihzdHlsZSwgcnVuc1tpXS5zdGFydCwgcnVuc1tpXS5lbmQsIHJ1bnNbaV0ucGFzdEVu
ZE5vZGUpOworICAgICAgICBydW5zW2ldLnBvc2l0aW9uRm9yU3R5bGVDb21wdXRhdGlvbiA9IHBv
c2l0aW9uVG9Db21wdXRlSW5saW5lU3R5bGVDaGFuZ2UocnVuc1tpXS5zdGFydCwgcnVuc1tpXS5k
dW1teUVsZW1lbnQpOworICAgIH0KKworICAgIGRvY3VtZW50KCktPnVwZGF0ZUxheW91dElnbm9y
ZVBlbmRpbmdTdHlsZXNoZWV0cygpOworCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBydW5z
LnNpemUoKTsgaSsrKQorICAgICAgICBydW5zW2ldLmNoYW5nZSA9IFN0eWxlQ2hhbmdlKHN0eWxl
LCBydW5zW2ldLnBvc2l0aW9uRm9yU3R5bGVDb21wdXRhdGlvbik7CisKKyAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IHJ1bnMuc2l6ZSgpOyBpKyspIHsKKyAgICAgICAgSW5saW5lUnVuVG9BcHBs
eVN0eWxlJiBydW4gPSBydW5zW2ldOworICAgICAgICBpZiAocnVuLmR1bW15RWxlbWVudCkKKyAg
ICAgICAgICAgIHJlbW92ZU5vZGUocnVuLmR1bW15RWxlbWVudCk7CisgICAgICAgIGlmIChydW4u
c3RhcnRBbmRFbmRBcmVTdGlsbEluRG9jdW1lbnQoKSkKKyAgICAgICAgICAgIGFwcGx5SW5saW5l
U3R5bGVDaGFuZ2UocnVuLnN0YXJ0LnJlbGVhc2UoKSwgcnVuLmVuZC5yZWxlYXNlKCksIHJ1bi5j
aGFuZ2UsIEFkZFN0eWxlZEVsZW1lbnQpOwogICAgIH0KIH0KIApAQCAtNzc4LDI0ICs4MjEsMjQg
QEAgYm9vbCBBcHBseVN0eWxlQ29tbWFuZDo6aXNTdHlsZWRJbmxpbmVFbAogICAgICAgICB8fCAo
bV9pc0lubGluZUVsZW1lbnRUb1JlbW92ZUZ1bmN0aW9uICYmIG1faXNJbmxpbmVFbGVtZW50VG9S
ZW1vdmVGdW5jdGlvbihlbGVtZW50KSk7CiB9CiAKLWJvb2wgQXBwbHlTdHlsZUNvbW1hbmQ6OnJl
bW92ZVN0eWxlRnJvbVJ1bkJlZm9yZUFwcGx5aW5nU3R5bGUoRWRpdGluZ1N0eWxlKiBzdHlsZSwg
UmVmUHRyPE5vZGU+JiBydW5TdGFydCwgUmVmUHRyPE5vZGU+JiBydW5FbmQpCitib29sIEFwcGx5
U3R5bGVDb21tYW5kOjpzaG91bGRBcHBseUlubGluZVN0eWxlVG9SdW4oRWRpdGluZ1N0eWxlKiBz
dHlsZSwgTm9kZSogcnVuU3RhcnQsIE5vZGUqIHBhc3RFbmROb2RlKQogewogICAgIEFTU0VSVChy
dW5TdGFydCAmJiBydW5FbmQgJiYgcnVuU3RhcnQtPnBhcmVudE5vZGUoKSA9PSBydW5FbmQtPnBh
cmVudE5vZGUoKSk7Ci0gICAgUmVmUHRyPE5vZGU+IHBhc3RFbmROb2RlID0gTm9kZVRyYXZlcnNh
bDo6bmV4dFNraXBwaW5nQ2hpbGRyZW4ocnVuRW5kLmdldCgpKTsKLSAgICBib29sIG5lZWRUb0Fw
cGx5U3R5bGUgPSBmYWxzZTsKLSAgICBmb3IgKE5vZGUqIG5vZGUgPSBydW5TdGFydC5nZXQoKTsg
bm9kZSAmJiBub2RlICE9IHBhc3RFbmROb2RlLmdldCgpOyBub2RlID0gTm9kZVRyYXZlcnNhbDo6
bmV4dChub2RlKSkgeworCisgICAgZm9yIChOb2RlKiBub2RlID0gcnVuU3RhcnQ7IG5vZGUgJiYg
bm9kZSAhPSBwYXN0RW5kTm9kZTsgbm9kZSA9IE5vZGVUcmF2ZXJzYWw6Om5leHQobm9kZSkpIHsK
ICAgICAgICAgaWYgKG5vZGUtPmNoaWxkTm9kZUNvdW50KCkpCiAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgLy8gV2UgZG9uJ3QgY29uc2lkZXIgbV9pc0lubGluZUVsZW1lbnRUb1JlbW92
ZUZ1bmN0aW9uIGhlcmUgYmVjYXVzZSB3ZSBuZXZlciBhcHBseSBzdHlsZSB3aGVuIG1faXNJbmxp
bmVFbGVtZW50VG9SZW1vdmVGdW5jdGlvbiBpcyBzcGVjaWZpZWQKLSAgICAgICAgaWYgKCFzdHls
ZS0+c3R5bGVJc1ByZXNlbnRJbkNvbXB1dGVkU3R5bGVPZk5vZGUobm9kZSkKLSAgICAgICAgICAg
IHx8IChtX3N0eWxlZElubGluZUVsZW1lbnQgJiYgIWVuY2xvc2luZ05vZGVXaXRoVGFnKHBvc2l0
aW9uQmVmb3JlTm9kZShub2RlKSwgbV9zdHlsZWRJbmxpbmVFbGVtZW50LT50YWdRTmFtZSgpKSkp
IHsKLSAgICAgICAgICAgIG5lZWRUb0FwcGx5U3R5bGUgPSB0cnVlOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKCFzdHlsZS0+c3R5bGVJc1ByZXNlbnRJbkNvbXB1
dGVkU3R5bGVPZk5vZGUobm9kZSkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAg
aWYgKG1fc3R5bGVkSW5saW5lRWxlbWVudCAmJiAhZW5jbG9zaW5nTm9kZVdpdGhUYWcocG9zaXRp
b25CZWZvcmVOb2RlKG5vZGUpLCBtX3N0eWxlZElubGluZUVsZW1lbnQtPnRhZ1FOYW1lKCkpKQor
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQotICAgIGlmICghbmVlZFRvQXBwbHlTdHls
ZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBmYWxzZTsKK30KIAordm9pZCBB
cHBseVN0eWxlQ29tbWFuZDo6cmVtb3ZlQ29uZmxpY3RpbmdJbmxpbmVTdHlsZUZyb21SdW4oRWRp
dGluZ1N0eWxlKiBzdHlsZSwgUmVmUHRyPE5vZGU+JiBydW5TdGFydCwgUmVmUHRyPE5vZGU+JiBy
dW5FbmQsIFBhc3NSZWZQdHI8Tm9kZT4gcGFzdEVuZE5vZGUpCit7CiAgICAgUmVmUHRyPE5vZGU+
IG5leHQgPSBydW5TdGFydDsKICAgICBmb3IgKFJlZlB0cjxOb2RlPiBub2RlID0gbmV4dDsgbm9k
ZSAmJiBub2RlLT5pbkRvY3VtZW50KCkgJiYgbm9kZSAhPSBwYXN0RW5kTm9kZTsgbm9kZSA9IG5l
eHQpIHsKICAgICAgICAgaWYgKGVkaXRpbmdJZ25vcmVzQ29udGVudChub2RlLmdldCgpKSkgewpA
QCAtODE4LDggKzg2MSw2IEBAIGJvb2wgQXBwbHlTdHlsZUNvbW1hbmQ6OnJlbW92ZVN0eWxlRnJv
bVIKICAgICAgICAgICAgICAgICBydW5FbmQgPSBuZXh0U2libGluZyA/IG5leHRTaWJsaW5nLT5w
cmV2aW91c1NpYmxpbmcoKSA6IHBhcmVudC0+bGFzdENoaWxkKCk7CiAgICAgICAgIH0KICAgICB9
Ci0KLSAgICByZXR1cm4gdHJ1ZTsKIH0KIAogYm9vbCBBcHBseVN0eWxlQ29tbWFuZDo6cmVtb3Zl
SW5saW5lU3R5bGVGcm9tRWxlbWVudChFZGl0aW5nU3R5bGUqIHN0eWxlLCBQYXNzUmVmUHRyPEhU
TUxFbGVtZW50PiBlbGVtZW50LCBJbmxpbmVTdHlsZVJlbW92YWxNb2RlIG1vZGUsIEVkaXRpbmdT
dHlsZSogZXh0cmFjdGVkU3R5bGUpCkBAIC0xMzM4LDIzICsxMzc5LDM2IEBAIHZvaWQgQXBwbHlT
dHlsZUNvbW1hbmQ6OmFkZElubGluZVN0eWxlSWYKIHsKICAgICBpZiAoIXBhc3NlZFN0YXJ0IHx8
ICFwYXNzZWRFbmQgfHwgIXBhc3NlZFN0YXJ0LT5pbkRvY3VtZW50KCkgfHwgIXBhc3NlZEVuZC0+
aW5Eb2N1bWVudCgpKQogICAgICAgICByZXR1cm47Ci0gICAgUmVmUHRyPE5vZGU+IHN0YXJ0Tm9k
ZSA9IHBhc3NlZFN0YXJ0OwotICAgIFJlZlB0cjxOb2RlPiBlbmROb2RlID0gcGFzc2VkRW5kOwog
CisgICAgUmVmUHRyPE5vZGU+IHN0YXJ0ID0gcGFzc2VkU3RhcnQ7CisgICAgUmVmUHRyPE5vZGU+
IGR1bW15RWxlbWVudDsKKyAgICBTdHlsZUNoYW5nZSBzdHlsZUNoYW5nZShzdHlsZSwgcG9zaXRp
b25Ub0NvbXB1dGVJbmxpbmVTdHlsZUNoYW5nZShzdGFydCwgZHVtbXlFbGVtZW50KSk7CisKKyAg
ICBpZiAoZHVtbXlFbGVtZW50KQorICAgICAgICByZW1vdmVOb2RlKGR1bW15RWxlbWVudCk7CisK
KyAgICBhcHBseUlubGluZVN0eWxlQ2hhbmdlKHN0YXJ0LCBwYXNzZWRFbmQsIHN0eWxlQ2hhbmdl
LCBhZGRTdHlsZWRFbGVtZW50KTsKK30KKworUG9zaXRpb24gQXBwbHlTdHlsZUNvbW1hbmQ6OnBv
c2l0aW9uVG9Db21wdXRlSW5saW5lU3R5bGVDaGFuZ2UoUGFzc1JlZlB0cjxOb2RlPiBzdGFydE5v
ZGUsIFJlZlB0cjxOb2RlPiYgZHVtbXlFbGVtZW50KQorewogICAgIC8vIEl0J3Mgb2theSB0byBv
YnRhaW4gdGhlIHN0eWxlIGF0IHRoZSBzdGFydE5vZGUgYmVjYXVzZSB3ZSd2ZSByZW1vdmVkIGFs
bCByZWxldmFudCBzdHlsZXMgZnJvbSB0aGUgY3VycmVudCBydW4uCi0gICAgUmVmUHRyPEhUTUxF
bGVtZW50PiBkdW1teUVsZW1lbnQ7CiAgICAgUG9zaXRpb24gcG9zaXRpb25Gb3JTdHlsZUNvbXBh
cmlzb247CiAgICAgaWYgKCFzdGFydE5vZGUtPmlzRWxlbWVudE5vZGUoKSkgewogICAgICAgICBk
dW1teUVsZW1lbnQgPSBjcmVhdGVTdHlsZVNwYW5FbGVtZW50KGRvY3VtZW50KCkpOwogICAgICAg
ICBpbnNlcnROb2RlQXQoZHVtbXlFbGVtZW50LCBwb3NpdGlvbkJlZm9yZU5vZGUoc3RhcnROb2Rl
LmdldCgpKSk7Ci0gICAgICAgIHBvc2l0aW9uRm9yU3R5bGVDb21wYXJpc29uID0gcG9zaXRpb25C
ZWZvcmVOb2RlKGR1bW15RWxlbWVudC5nZXQoKSk7Ci0gICAgfSBlbHNlCi0gICAgICAgIHBvc2l0
aW9uRm9yU3R5bGVDb21wYXJpc29uID0gZmlyc3RQb3NpdGlvbkluT3JCZWZvcmVOb2RlKHN0YXJ0
Tm9kZS5nZXQoKSk7CisgICAgICAgIHJldHVybiBwb3NpdGlvbkJlZm9yZU5vZGUoZHVtbXlFbGVt
ZW50LmdldCgpKTsKKyAgICB9CiAKLSAgICBTdHlsZUNoYW5nZSBzdHlsZUNoYW5nZShzdHlsZSwg
cG9zaXRpb25Gb3JTdHlsZUNvbXBhcmlzb24pOworICAgIHJldHVybiBmaXJzdFBvc2l0aW9uSW5P
ckJlZm9yZU5vZGUoc3RhcnROb2RlLmdldCgpKTsKK30KIAotICAgIGlmIChkdW1teUVsZW1lbnQp
Ci0gICAgICAgIHJlbW92ZU5vZGUoZHVtbXlFbGVtZW50KTsKK3ZvaWQgQXBwbHlTdHlsZUNvbW1h
bmQ6OmFwcGx5SW5saW5lU3R5bGVDaGFuZ2UoUGFzc1JlZlB0cjxOb2RlPiBwYXNzZWRTdGFydCwg
UGFzc1JlZlB0cjxOb2RlPiBwYXNzZWRFbmQsIFN0eWxlQ2hhbmdlJiBzdHlsZUNoYW5nZSwgRUFk
ZFN0eWxlZEVsZW1lbnQgYWRkU3R5bGVkRWxlbWVudCkKK3sKKyAgICBSZWZQdHI8Tm9kZT4gc3Rh
cnROb2RlID0gcGFzc2VkU3RhcnQ7CisgICAgUmVmUHRyPE5vZGU+IGVuZE5vZGUgPSBwYXNzZWRF
bmQ7CisgICAgQVNTRVJUKHN0YXJ0Tm9kZS0+aW5Eb2N1bWVudCgpKTsKKyAgICBBU1NFUlQoZW5k
Tm9kZS0+aW5Eb2N1bWVudCgpKTsKIAogICAgIC8vIEZpbmQgYXBwcm9wcmlhdGUgZm9udCBhbmQg
c3BhbiBlbGVtZW50cyB0b3AtZG93bi4KICAgICBIVE1MRWxlbWVudCogZm9udENvbnRhaW5lciA9
IDA7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FwcGx5U3R5bGVDb21tYW5kLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9BcHBseVN0eWxlQ29tbWFuZC5oCShy
ZXZpc2lvbiAxMzcyNjMpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FwcGx5U3R5bGVDb21t
YW5kLmgJKHdvcmtpbmcgY29weSkKQEAgLTc2LDcgKzc2LDggQEAgcHJpdmF0ZToKIAogICAgIC8v
IHN0eWxlLXJlbW92YWwgaGVscGVycwogICAgIGJvb2wgaXNTdHlsZWRJbmxpbmVFbGVtZW50VG9S
ZW1vdmUoRWxlbWVudCopIGNvbnN0OwotICAgIGJvb2wgcmVtb3ZlU3R5bGVGcm9tUnVuQmVmb3Jl
QXBwbHlpbmdTdHlsZShFZGl0aW5nU3R5bGUqLCBSZWZQdHI8Tm9kZT4mIHJ1blN0YXJ0LCBSZWZQ
dHI8Tm9kZT4mIHJ1bkVuZCk7CisgICAgYm9vbCBzaG91bGRBcHBseUlubGluZVN0eWxlVG9SdW4o
RWRpdGluZ1N0eWxlKiwgTm9kZSogcnVuU3RhcnQsIE5vZGUqIHBhc3RFbmROb2RlKTsKKyAgICB2
b2lkIHJlbW92ZUNvbmZsaWN0aW5nSW5saW5lU3R5bGVGcm9tUnVuKEVkaXRpbmdTdHlsZSosIFJl
ZlB0cjxOb2RlPiYgcnVuU3RhcnQsIFJlZlB0cjxOb2RlPiYgcnVuRW5kLCBQYXNzUmVmUHRyPE5v
ZGU+IHBhc3RFbmROb2RlKTsKICAgICBib29sIHJlbW92ZUlubGluZVN0eWxlRnJvbUVsZW1lbnQo
RWRpdGluZ1N0eWxlKiwgUGFzc1JlZlB0cjxIVE1MRWxlbWVudD4sIElubGluZVN0eWxlUmVtb3Zh
bE1vZGUgPSBSZW1vdmVJZk5lZWRlZCwgRWRpdGluZ1N0eWxlKiBleHRyYWN0ZWRTdHlsZSA9IDAp
OwogICAgIGlubGluZSBib29sIHNob3VsZFJlbW92ZUlubGluZVN0eWxlRnJvbUVsZW1lbnQoRWRp
dGluZ1N0eWxlKiBzdHlsZSwgSFRNTEVsZW1lbnQqIGVsZW1lbnQpIHtyZXR1cm4gcmVtb3ZlSW5s
aW5lU3R5bGVGcm9tRWxlbWVudChzdHlsZSwgZWxlbWVudCwgUmVtb3ZlTm9uZSk7fQogICAgIHZv
aWQgcmVwbGFjZVdpdGhTcGFuT3JSZW1vdmVJZldpdGhvdXRBdHRyaWJ1dGVzKEhUTUxFbGVtZW50
KiYpOwpAQCAtOTcsNiArOTgsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgYXBwbHlJbmxpbmVTdHls
ZVRvTm9kZVJhbmdlKEVkaXRpbmdTdHlsZSosIFBhc3NSZWZQdHI8Tm9kZT4gc3RhcnROb2RlLCBQ
YXNzUmVmUHRyPE5vZGU+IHBhc3RFbmROb2RlKTsKICAgICB2b2lkIGFkZEJsb2NrU3R5bGUoY29u
c3QgU3R5bGVDaGFuZ2UmLCBIVE1MRWxlbWVudCopOwogICAgIHZvaWQgYWRkSW5saW5lU3R5bGVJ
Zk5lZWRlZChFZGl0aW5nU3R5bGUqLCBQYXNzUmVmUHRyPE5vZGU+IHN0YXJ0LCBQYXNzUmVmUHRy
PE5vZGU+IGVuZCwgRUFkZFN0eWxlZEVsZW1lbnQgPSBBZGRTdHlsZWRFbGVtZW50KTsKKyAgICBQ
b3NpdGlvbiBwb3NpdGlvblRvQ29tcHV0ZUlubGluZVN0eWxlQ2hhbmdlKFBhc3NSZWZQdHI8Tm9k
ZT4sIFJlZlB0cjxOb2RlPiYgZHVtbXlFbGVtZW50KTsKKyAgICB2b2lkIGFwcGx5SW5saW5lU3R5
bGVDaGFuZ2UoUGFzc1JlZlB0cjxOb2RlPiBzdGFydE5vZGUsIFBhc3NSZWZQdHI8Tm9kZT4gZW5k
Tm9kZSwgU3R5bGVDaGFuZ2UmLCBFQWRkU3R5bGVkRWxlbWVudCk7CiAgICAgdm9pZCBzcGxpdFRl
eHRBdFN0YXJ0KGNvbnN0IFBvc2l0aW9uJiBzdGFydCwgY29uc3QgUG9zaXRpb24mIGVuZCk7CiAg
ICAgdm9pZCBzcGxpdFRleHRBdEVuZChjb25zdCBQb3NpdGlvbiYgc3RhcnQsIGNvbnN0IFBvc2l0
aW9uJiBlbmQpOwogICAgIHZvaWQgc3BsaXRUZXh0RWxlbWVudEF0U3RhcnQoY29uc3QgUG9zaXRp
b24mIHN0YXJ0LCBjb25zdCBQb3NpdGlvbiYgZW5kKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRWRpdGluZ1N0eWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9FZGl0aW5nU3R5bGUuaAkocmV2aXNpb24gMTM3MjYzKQorKysgU291cmNlL1dlYkNvcmUvZWRp
dGluZy9FZGl0aW5nU3R5bGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTczLDYgKzE3MywxNSBAQCBw
cml2YXRlOgogCiBjbGFzcyBTdHlsZUNoYW5nZSB7CiBwdWJsaWM6CisgICAgU3R5bGVDaGFuZ2Uo
KQorICAgICAgICA6IG1fYXBwbHlCb2xkKGZhbHNlKQorICAgICAgICAsIG1fYXBwbHlJdGFsaWMo
ZmFsc2UpCisgICAgICAgICwgbV9hcHBseVVuZGVybGluZShmYWxzZSkKKyAgICAgICAgLCBtX2Fw
cGx5TGluZVRocm91Z2goZmFsc2UpCisgICAgICAgICwgbV9hcHBseVN1YnNjcmlwdChmYWxzZSkK
KyAgICAgICAgLCBtX2FwcGx5U3VwZXJzY3JpcHQoZmFsc2UpCisgICAgeyB9CisKICAgICBTdHls
ZUNoYW5nZShFZGl0aW5nU3R5bGUqLCBjb25zdCBQb3NpdGlvbiYpOwogCiAgICAgU3RyaW5nIGNz
c1N0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9jc3NTdHlsZTsgfQo=
</data>
<flag name="review"
          id="195358"
          type_id="1"
          status="+"
          setter="enrica"
    />
    <flag name="commit-queue"
          id="195368"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
      

    </bug>

</bugzilla>