<?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>111089</bug_id>
          
          <creation_ts>2013-02-28 10:31:17 -0800</creation_ts>
          <short_desc>Remove the quirk margin bits from RenderObject and put them back in RenderBlock</short_desc>
          <delta_ts>2022-09-20 06:29:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</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>
          <dependson>111105</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>ahmad.saleem792</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ojan.autocc</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>844201</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-02-28 10:31:17 -0800</bug_when>
    <thetext>I need to free up some bits in RenderObject, and these bits really only applied to RenderBlocks, so I&apos;m moving them back down.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844204</commentid>
    <comment_count>1</comment_count>
      <attachid>190752</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-02-28 10:33:26 -0800</bug_when>
    <thetext>Created attachment 190752
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844206</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-28 10:34:40 -0800</bug_when>
    <thetext>Attachment 190752 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/rendering/RenderBlock.cpp&apos;, u&apos;Source/WebCore/rendering/RenderBlock.h&apos;, u&apos;Source/WebCore/rendering/RenderObject.h&apos;, u&apos;Source/WebCore/rendering/style/RenderStyle.h&apos;]&quot; exit_code: 1
Source/WebCore/rendering/RenderBlock.cpp:2349:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Source/WebCore/rendering/RenderBlock.cpp:7654:  Should have only a single space after a punctuation in a comment.  [whitespace/comments] [5]
Source/WebCore/rendering/RenderBlock.cpp:7655:  Should have only a single space after a punctuation in a comment.  [whitespace/comments] [5]
Source/WebCore/rendering/RenderBlock.cpp:7671:  Should have only a single space after a punctuation in a comment.  [whitespace/comments] [5]
Source/WebCore/rendering/RenderBlock.cpp:7672:  Should have only a single space after a punctuation in a comment.  [whitespace/comments] [5]
Total errors found: 5 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844208</commentid>
    <comment_count>3</comment_count>
      <attachid>190752</attachid>
    <who name="">mitz</who>
    <bug_when>2013-02-28 10:36:39 -0800</bug_when>
    <thetext>Comment on attachment 190752
Patch

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

&gt; Source/WebCore/rendering/RenderBlock.h:152
&gt; +    bool childHasMarginBeforeQuirk(const RenderBox* child) const;
&gt; +    bool childHasMarginAfterQuirk(const RenderBox* child) const;

Probably don’t need the name “child” here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844209</commentid>
    <comment_count>4</comment_count>
      <attachid>190752</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-02-28 10:37:34 -0800</bug_when>
    <thetext>Comment on attachment 190752
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844325</commentid>
    <comment_count>5</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-02-28 12:01:22 -0800</bug_when>
    <thetext>Landed in r144344.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844403</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-28 13:15:44 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 111105</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1899797</commentid>
    <comment_count>7</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-09-20 06:28:38 -0700</bug_when>
    <thetext>This landed but didn&apos;t rolled out but fixed in this:

https://trac.webkit.org/changeset/144364/webkit

Marking this as &quot;RESOLVED FIXED&quot;. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1899799</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-09-20 06:29:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/100169946&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190752</attachid>
            <date>2013-02-28 10:33:26 -0800</date>
            <delta_ts>2013-02-28 10:37:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>18626</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NDMyNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBACisyMDEzLTAyLTI4ICBEYXZpZCBI
eWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgdGhlIHF1aXJrIG1hcmdp
biBiaXRzIGZyb20gUmVuZGVyT2JqZWN0IGFuZCBwdXQgdGhlbSBiYWNrIGluIFJlbmRlckJsb2Nr
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExMDg5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBw
YXRjaCByZW1vdmVzIHRoZSBtYXJnaW5CZWZvcmVRdWlyayBhbmQgbWFyZ2luQWZ0ZXJRdWlyayBi
aXRzIGZyb20gUmVuZGVyT2JqZWN0CisgICAgICAgIGFuZCBwdXRzIHRoZW0gaW50byBSZW5kZXJC
bG9jayBpbnN0ZWFkLiBJIGFsc28gZGlkIHNvbWUgcmVuYW1pbmcgYW5kIGNsZWFuLXVwIGFmdGVy
CisgICAgICAgIG1vdmluZyB0aGVtLCBlLmcuLCB0byBoYXNNYXJnaW5CZWZvcmVRdWlyayBhbmQg
aGFzTWFyZ2luQWZ0ZXJRdWlyay4KKyAgICAgICAgCisgICAgICAgIEV2ZW4gdGhvdWdoIGl0J3Mg
cHJldHR5IGlycmVsZXZhbnQsIEkgYWxzbyBtYWRlIHRoZSBjb2RlIHdyaXRpbmctbW9kZS1jb3Jy
ZWN0IHNvIHRoYXQKKyAgICAgICAgdGhlIGNvcnJlY3QgY2hpbGQgbWFyZ2luIHF1aXJrIGlzIHBy
b3BhZ2F0ZWQgYWNyb3NzIGRpZmZlcmluZyB3cml0aW5nIG1vZGUKKyAgICAgICAgYm91bmRhcmll
cy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9jazo6TWFyZ2luSW5mbzo6TWFyZ2luSW5mbyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9jazo6UmVuZGVyQmxvY2spOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
QmxvY2s6OmxheW91dEJsb2NrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpjb2xs
YXBzZU1hcmdpbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6Om1hcmdpbkJlZm9y
ZUVzdGltYXRlRm9yQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnNldENv
bGxhcHNlZEJvdHRvbU1hcmdpbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6aGFu
ZGxlQWZ0ZXJTaWRlT2ZCbG9jayk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6Y2hp
bGRIYXNNYXJnaW5CZWZvcmVRdWlyayk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckJsb2NrOjpjaGlsZEhhc01hcmdpbkFmdGVyUXVpcmspOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6
OnNldEhhc01hcmdpbkJlZm9yZVF1aXJrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
OjpzZXRIYXNNYXJnaW5BZnRlclF1aXJrKToKKyAgICAgICAgKFJlbmRlckJsb2NrKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpoYXNNYXJnaW5CZWZvcmVRdWlyayk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCbG9jazo6aGFzTWFyZ2luQWZ0ZXJRdWlyayk6CisgICAgICAgIChN
YXJnaW5JbmZvKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpNYXJnaW5JbmZvOjpz
ZXRIYXNNYXJnaW5CZWZvcmVRdWlyayk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6
TWFyZ2luSW5mbzo6c2V0SGFzTWFyZ2luQWZ0ZXJRdWlyayk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJCbG9jazo6TWFyZ2luSW5mbzo6aGFzTWFyZ2luQmVmb3JlUXVpcmspOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQmxvY2s6Ok1hcmdpbkluZm86Omhhc01hcmdpbkFmdGVyUXVpcmspOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFJlbmRlck9iamVj
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OlJlbmRlck9iamVjdEJpdGZpZWxk
czo6UmVuZGVyT2JqZWN0Qml0ZmllbGRzKToKKyAgICAgICAgKFJlbmRlck9iamVjdEJpdGZpZWxk
cyk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisKIDIwMTMtMDIt
MjggIERhdmlkIEdyb2dhbiAgPGRncm9nYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEluZGV4
ZWREQjogSU8gZXJyb3Igd2hlbiBjaGVja2luZyBzY2hlbWEgc2hvdWxkIGRlc3Ryb3kgTGV2ZWxE
QiBkaXJlY3RvcnkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNw
cAkocmV2aXNpb24gMTQ0MjI3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY3LDggKzE2Nyw4IEBAIHByaXZhdGU6CiBSZW5k
ZXJCbG9jazo6TWFyZ2luSW5mbzo6TWFyZ2luSW5mbyhSZW5kZXJCbG9jayogYmxvY2ssIExheW91
dFVuaXQgYmVmb3JlQm9yZGVyUGFkZGluZywgTGF5b3V0VW5pdCBhZnRlckJvcmRlclBhZGRpbmcp
CiAgICAgOiBtX2F0QmVmb3JlU2lkZU9mQmxvY2sodHJ1ZSkKICAgICAsIG1fYXRBZnRlclNpZGVP
ZkJsb2NrKGZhbHNlKQotICAgICwgbV9tYXJnaW5CZWZvcmVRdWlyayhmYWxzZSkKLSAgICAsIG1f
bWFyZ2luQWZ0ZXJRdWlyayhmYWxzZSkKKyAgICAsIG1faGFzTWFyZ2luQmVmb3JlUXVpcmsoZmFs
c2UpCisgICAgLCBtX2hhc01hcmdpbkFmdGVyUXVpcmsoZmFsc2UpCiAgICAgLCBtX2RldGVybWlu
ZWRNYXJnaW5CZWZvcmVRdWlyayhmYWxzZSkKICAgICAsIG1fZGlzY2FyZE1hcmdpbihmYWxzZSkK
IHsKQEAgLTIwMSw2ICsyMDEsOCBAQCBSZW5kZXJCbG9jazo6TWFyZ2luSW5mbzo6TWFyZ2luSW5m
byhSZW5kCiBSZW5kZXJCbG9jazo6UmVuZGVyQmxvY2soQ29udGFpbmVyTm9kZSogbm9kZSkKICAg
ICA6IFJlbmRlckJveChub2RlKQogICAgICwgbV9saW5lSGVpZ2h0KC0xKQorICAgICwgbV9oYXNN
YXJnaW5CZWZvcmVRdWlyayhmYWxzZSkKKyAgICAsIG1faGFzTWFyZ2luQWZ0ZXJRdWlyayhmYWxz
ZSkKICAgICAsIG1fYmVpbmdEZXN0cm95ZWQoZmFsc2UpCiAgICAgLCBtX2hhc01hcmt1cFRydW5j
YXRpb24oZmFsc2UpCiAgICAgLCBtX2hhc0JvcmRlck9yUGFkZGluZ0xvZ2ljYWxXaWR0aENoYW5n
ZWQoZmFsc2UpCkBAIC0xNTUzLDggKzE1NTUsOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRC
bG9jayhib29sIHJlbGF5CiAgICAgaWYgKCFpc0NlbGwpIHsKICAgICAgICAgaW5pdE1heE1hcmdp
blZhbHVlcygpOwogICAgICAgICAKLSAgICAgICAgc2V0TWFyZ2luQmVmb3JlUXVpcmsoc3R5bGVU
b1VzZS0+aXNNYXJnaW5CZWZvcmVRdWlyaygpKTsKLSAgICAgICAgc2V0TWFyZ2luQWZ0ZXJRdWly
ayhzdHlsZVRvVXNlLT5pc01hcmdpbkFmdGVyUXVpcmsoKSk7CisgICAgICAgIHNldEhhc01hcmdp
bkJlZm9yZVF1aXJrKHN0eWxlVG9Vc2UtPmhhc01hcmdpbkJlZm9yZVF1aXJrKCkpOworICAgICAg
ICBzZXRIYXNNYXJnaW5BZnRlclF1aXJrKHN0eWxlVG9Vc2UtPmhhc01hcmdpbkFmdGVyUXVpcmso
KSk7CiAgICAgICAgIHNldFBhZ2luYXRpb25TdHJ1dCgwKTsKICAgICB9CiAKQEAgLTE5ODksNyAr
MTk5MSw3IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2s6OmNvbGxhcHNlTWFyZ2lucygKICAgICAK
ICAgICAvLyBTZWUgaWYgdGhlIHRvcCBtYXJnaW4gaXMgcXVpcmt5LiBXZSBvbmx5IGNhcmUgaWYg
dGhpcyBjaGlsZCBoYXMKICAgICAvLyBtYXJnaW5zIHRoYXQgd2lsbCBjb2xsYXBzZSB3aXRoIHVz
LgotICAgIGJvb2wgdG9wUXVpcmsgPSBjaGlsZC0+aXNNYXJnaW5CZWZvcmVRdWlyaygpOworICAg
IGJvb2wgdG9wUXVpcmsgPSBjaGlsZEhhc01hcmdpbkJlZm9yZVF1aXJrKGNoaWxkKTsKIAogICAg
IGlmIChtYXJnaW5JbmZvLmNhbkNvbGxhcHNlV2l0aE1hcmdpbkJlZm9yZSgpKSB7CiAgICAgICAg
IGlmICghY2hpbGREaXNjYXJkTWFyZ2luQmVmb3JlICYmICFtYXJnaW5JbmZvLmRpc2NhcmRNYXJn
aW4oKSkgewpAQCAtMjAwNCw3ICsyMDA2LDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6Y29s
bGFwc2VNYXJnaW5zKAogICAgICAgICAgICAgLy8gaGFzIGFuIGV4YW1wbGUgb2YgdGhpcywgYSA8
ZHQ+IHdpdGggMC44ZW0gYXV0aG9yLXNwZWNpZmllZCBpbnNpZGUKICAgICAgICAgICAgIC8vIGEg
PGRsPiBpbnNpZGUgYSA8dGQ+LgogICAgICAgICAgICAgaWYgKCFtYXJnaW5JbmZvLmRldGVybWlu
ZWRNYXJnaW5CZWZvcmVRdWlyaygpICYmICF0b3BRdWlyayAmJiAocG9zVG9wIC0gbmVnVG9wKSkg
ewotICAgICAgICAgICAgICAgIHNldE1hcmdpbkJlZm9yZVF1aXJrKGZhbHNlKTsKKyAgICAgICAg
ICAgICAgICBzZXRIYXNNYXJnaW5CZWZvcmVRdWlyayhmYWxzZSk7CiAgICAgICAgICAgICAgICAg
bWFyZ2luSW5mby5zZXREZXRlcm1pbmVkTWFyZ2luQmVmb3JlUXVpcmsodHJ1ZSk7CiAgICAgICAg
ICAgICB9CiAKQEAgLTIwMTQsNyArMjAxNiw3IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2s6OmNv
bGxhcHNlTWFyZ2lucygKICAgICAgICAgICAgICAgICAvLyBUaGlzIGRlYWxzIHdpdGggdGhlIDx0
ZD48ZGl2PjxwPiBjYXNlLgogICAgICAgICAgICAgICAgIC8vIERvbid0IGRvIHRoaXMgZm9yIGEg
YmxvY2sgdGhhdCBzcGxpdCB0d28gaW5saW5lcyB0aG91Z2guIFlvdSBkbwogICAgICAgICAgICAg
ICAgIC8vIHN0aWxsIGFwcGx5IG1hcmdpbnMgaW4gdGhpcyBjYXNlLgotICAgICAgICAgICAgICAg
IHNldE1hcmdpbkJlZm9yZVF1aXJrKHRydWUpOworICAgICAgICAgICAgICAgIHNldEhhc01hcmdp
bkJlZm9yZVF1aXJrKHRydWUpOwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIC8vIFRoZSBi
ZWZvcmUgbWFyZ2luIG9mIHRoZSBjb250YWluZXIgd2lsbCBhbHNvIGRpc2NhcmQgYWxsIHRoZSBt
YXJnaW5zIGl0IGlzIGNvbGxhcHNpbmcgd2l0aC4KICAgICAgICAgICAgIHNldE11c3REaXNjYXJk
TWFyZ2luQmVmb3JlKCk7CkBAIC0yMDI3LDcgKzIwMjksNyBAQCBMYXlvdXRVbml0IFJlbmRlckJs
b2NrOjpjb2xsYXBzZU1hcmdpbnMoCiAgICAgfQogCiAgICAgaWYgKG1hcmdpbkluZm8ucXVpcmtD
b250YWluZXIoKSAmJiBtYXJnaW5JbmZvLmF0QmVmb3JlU2lkZU9mQmxvY2soKSAmJiAocG9zVG9w
IC0gbmVnVG9wKSkKLSAgICAgICAgbWFyZ2luSW5mby5zZXRNYXJnaW5CZWZvcmVRdWlyayh0b3BR
dWlyayk7CisgICAgICAgIG1hcmdpbkluZm8uc2V0SGFzTWFyZ2luQmVmb3JlUXVpcmsodG9wUXVp
cmspOwogCiAgICAgTGF5b3V0VW5pdCBiZWZvcmVDb2xsYXBzZUxvZ2ljYWxUb3AgPSBsb2dpY2Fs
SGVpZ2h0KCk7CiAgICAgTGF5b3V0VW5pdCBsb2dpY2FsVG9wID0gYmVmb3JlQ29sbGFwc2VMb2dp
Y2FsVG9wOwpAQCAtMjA2NSw3ICsyMDY3LDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6Y29s
bGFwc2VNYXJnaW5zKAogICAgICAgICAgICAgbG9naWNhbFRvcCA9IGxvZ2ljYWxIZWlnaHQoKTsK
ICAgICAgICAgfSBlbHNlIGlmICghbWFyZ2luSW5mby5kaXNjYXJkTWFyZ2luKCkgJiYgKCFtYXJn
aW5JbmZvLmF0QmVmb3JlU2lkZU9mQmxvY2soKQogICAgICAgICAgICAgfHwgKCFtYXJnaW5JbmZv
LmNhbkNvbGxhcHNlTWFyZ2luQmVmb3JlV2l0aENoaWxkcmVuKCkKLSAgICAgICAgICAgICYmICgh
ZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCkgfHwgIW1hcmdpbkluZm8ucXVpcmtDb250YWluZXIo
KSB8fCAhbWFyZ2luSW5mby5tYXJnaW5CZWZvcmVRdWlyaygpKSkpKSB7CisgICAgICAgICAgICAm
JiAoIWRvY3VtZW50KCktPmluUXVpcmtzTW9kZSgpIHx8ICFtYXJnaW5JbmZvLnF1aXJrQ29udGFp
bmVyKCkgfHwgIW1hcmdpbkluZm8uaGFzTWFyZ2luQmVmb3JlUXVpcmsoKSkpKSkgewogICAgICAg
ICAgICAgLy8gV2UncmUgY29sbGFwc2luZyB3aXRoIGEgcHJldmlvdXMgc2libGluZydzIG1hcmdp
bnMgYW5kIG5vdAogICAgICAgICAgICAgLy8gd2l0aCB0aGUgdG9wIG9mIHRoZSBibG9jay4KICAg
ICAgICAgICAgIHNldExvZ2ljYWxIZWlnaHQobG9naWNhbEhlaWdodCgpICsgbWF4KG1hcmdpbklu
Zm8ucG9zaXRpdmVNYXJnaW4oKSwgcG9zVG9wKSAtIG1heChtYXJnaW5JbmZvLm5lZ2F0aXZlTWFy
Z2luKCksIG5lZ1RvcCkpOwpAQCAtMjA4MSw3ICsyMDgzLDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJC
bG9jazo6Y29sbGFwc2VNYXJnaW5zKAogICAgICAgICAgICAgbWFyZ2luSW5mby5jbGVhck1hcmdp
bigpOwogCiAgICAgICAgIGlmIChtYXJnaW5JbmZvLm1hcmdpbigpKQotICAgICAgICAgICAgbWFy
Z2luSW5mby5zZXRNYXJnaW5BZnRlclF1aXJrKGNoaWxkLT5pc01hcmdpbkFmdGVyUXVpcmsoKSk7
CisgICAgICAgICAgICBtYXJnaW5JbmZvLnNldEhhc01hcmdpbkFmdGVyUXVpcmsoY2hpbGRIYXNN
YXJnaW5BZnRlclF1aXJrKGNoaWxkKSk7CiAgICAgfQogICAgIAogICAgIC8vIElmIG1hcmdpbnMg
d291bGQgcHVsbCB1cyBwYXN0IHRoZSB0b3Agb2YgdGhlIG5leHQgcGFnZSwgdGhlbiB3ZSBuZWVk
IHRvIHB1bGwgYmFjayBhbmQgcHJldGVuZCBsaWtlIHRoZSBtYXJnaW5zCkBAIC0yMTgxLDcgKzIx
ODMsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjptYXJnaW5CZWZvcmVFc3RpbWF0ZUZvCiAgICAgLy8g
R2l2ZSB1cCBpZiBpbiBxdWlya3MgbW9kZSBhbmQgd2UncmUgYSBib2R5L3RhYmxlIGNlbGwgYW5k
IHRoZSB0b3AgbWFyZ2luIG9mIHRoZSBjaGlsZCBib3ggaXMgcXVpcmt5LgogICAgIC8vIEdpdmUg
dXAgaWYgdGhlIGNoaWxkIHNwZWNpZmllZCAtd2Via2l0LW1hcmdpbi1jb2xsYXBzZTogc2VwYXJh
dGUgdGhhdCBwcmV2ZW50cyBjb2xsYXBzaW5nLgogICAgIC8vIEZJWE1FOiBVc2Ugd3JpdGluZyBt
b2RlIGluZGVwZW5kZW50IGFjY2Vzc29yIGZvciBtYXJnaW5CZWZvcmVDb2xsYXBzZS4KLSAgICBp
ZiAoKGRvY3VtZW50KCktPmluUXVpcmtzTW9kZSgpICYmIGNoaWxkLT5pc01hcmdpbkJlZm9yZVF1
aXJrKCkgJiYgKGlzVGFibGVDZWxsKCkgfHwgaXNCb2R5KCkpKSB8fCBjaGlsZC0+c3R5bGUoKS0+
bWFyZ2luQmVmb3JlQ29sbGFwc2UoKSA9PSBNU0VQQVJBVEUpCisgICAgaWYgKChkb2N1bWVudCgp
LT5pblF1aXJrc01vZGUoKSAmJiBjaGlsZEhhc01hcmdpbkFmdGVyUXVpcmsoY2hpbGQpICYmIChp
c1RhYmxlQ2VsbCgpIHx8IGlzQm9keSgpKSkgfHwgY2hpbGQtPnN0eWxlKCktPm1hcmdpbkJlZm9y
ZUNvbGxhcHNlKCkgPT0gTVNFUEFSQVRFKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBUaGUg
bWFyZ2lucyBhcmUgZGlzY2FyZGVkIGJ5IGEgY2hpbGQgdGhhdCBzcGVjaWZpZWQgLXdlYmtpdC1t
YXJnaW4tY29sbGFwc2U6IGRpc2NhcmQuCkBAIC0yMjIxLDggKzIyMjMsMTEgQEAgdm9pZCBSZW5k
ZXJCbG9jazo6bWFyZ2luQmVmb3JlRXN0aW1hdGVGbwogICAgIC8vIE1ha2Ugc3VyZSB0byB1cGRh
dGUgdGhlIGJsb2NrIG1hcmdpbnMgbm93IGZvciB0aGUgZ3JhbmRjaGlsZCBib3ggc28gdGhhdCB3
ZSdyZSBsb29raW5nIGF0IGN1cnJlbnQgdmFsdWVzLgogICAgIGlmIChncmFuZGNoaWxkQm94LT5u
ZWVkc0xheW91dCgpKSB7CiAgICAgICAgIGdyYW5kY2hpbGRCb3gtPmNvbXB1dGVBbmRTZXRCbG9j
a0RpcmVjdGlvbk1hcmdpbnModGhpcyk7Ci0gICAgICAgIGdyYW5kY2hpbGRCb3gtPnNldE1hcmdp
bkJlZm9yZVF1aXJrKGdyYW5kY2hpbGRCb3gtPnN0eWxlKCktPmlzTWFyZ2luQmVmb3JlUXVpcmso
KSk7Ci0gICAgICAgIGdyYW5kY2hpbGRCb3gtPnNldE1hcmdpbkFmdGVyUXVpcmsoZ3JhbmRjaGls
ZEJveC0+c3R5bGUoKS0+aXNNYXJnaW5BZnRlclF1aXJrKCkpOworICAgICAgICBpZiAoZ3JhbmRj
aGlsZEJveC0+aXNSZW5kZXJCbG9jaygpKSB7CisgICAgICAgICAgICBSZW5kZXJCbG9jayogZ3Jh
bmRjaGlsZEJsb2NrID0gdG9SZW5kZXJCbG9jayhncmFuZGNoaWxkQm94KTsKKyAgICAgICAgICAg
IGdyYW5kY2hpbGRCbG9jay0+c2V0SGFzTWFyZ2luQmVmb3JlUXVpcmsoZ3JhbmRjaGlsZEJveC0+
c3R5bGUoKS0+aGFzTWFyZ2luQmVmb3JlUXVpcmsoKSk7CisgICAgICAgICAgICBncmFuZGNoaWxk
QmxvY2stPnNldEhhc01hcmdpbkFmdGVyUXVpcmsoZ3JhbmRjaGlsZEJveC0+c3R5bGUoKS0+aGFz
TWFyZ2luQWZ0ZXJRdWlyaygpKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIC8vIENvbGxhcHNl
IHRoZSBtYXJnaW4gb2YgdGhlIGdyYW5kY2hpbGQgYm94IHdpdGggb3VyIG93biB0byBwcm9kdWNl
IGFuIGVzdGltYXRlLgpAQCAtMjMzOCwxNCArMjM0MywxNCBAQCB2b2lkIFJlbmRlckJsb2NrOjpz
ZXRDb2xsYXBzZWRCb3R0b21NYXJnCiAgICAgICAgIC8vIHdpdGggb3VyIGNoaWxkcmVuLgogICAg
ICAgICBzZXRNYXhNYXJnaW5BZnRlclZhbHVlcyhtYXgobWF4UG9zaXRpdmVNYXJnaW5BZnRlcigp
LCBtYXJnaW5JbmZvLnBvc2l0aXZlTWFyZ2luKCkpLCBtYXgobWF4TmVnYXRpdmVNYXJnaW5BZnRl
cigpLCBtYXJnaW5JbmZvLm5lZ2F0aXZlTWFyZ2luKCkpKTsKIAotICAgICAgICBpZiAoIW1hcmdp
bkluZm8ubWFyZ2luQWZ0ZXJRdWlyaygpKQotICAgICAgICAgICAgc2V0TWFyZ2luQWZ0ZXJRdWly
ayhmYWxzZSk7CisgICAgICAgIGlmICghbWFyZ2luSW5mby5oYXNNYXJnaW5BZnRlclF1aXJrKCkp
CisgICAgICAgICAgICBzZXRIYXNNYXJnaW5BZnRlclF1aXJrKGZhbHNlKTsKIAotICAgICAgICBp
ZiAobWFyZ2luSW5mby5tYXJnaW5BZnRlclF1aXJrKCkgJiYgbWFyZ2luQWZ0ZXIoKSA9PSAwKQor
ICAgICAgICBpZiAobWFyZ2luSW5mby5oYXNNYXJnaW5BZnRlclF1aXJrKCkgJiYgbWFyZ2luQWZ0
ZXIoKSA9PSAwKQogICAgICAgICAgICAgLy8gV2UgaGF2ZSBubyBib3R0b20gbWFyZ2luIGFuZCBv
dXIgbGFzdCBjaGlsZCBoYXMgYSBxdWlya3kgbWFyZ2luLgogICAgICAgICAgICAgLy8gV2Ugd2ls
bCBwaWNrIHVwIHRoaXMgcXVpcmt5IG1hcmdpbiBhbmQgcGFzcyBpdCB0aHJvdWdoLgogICAgICAg
ICAgICAgLy8gVGhpcyBkZWFscyB3aXRoIHRoZSA8dGQ+PGRpdj48cD4gY2FzZS4KLSAgICAgICAg
ICAgIHNldE1hcmdpbkFmdGVyUXVpcmsodHJ1ZSk7CisgICAgICAgICAgICBzZXRIYXNNYXJnaW5B
ZnRlclF1aXJrKHRydWUpOwogICAgIH0KIH0KIApAQCAtMjM1OCw3ICsyMzYzLDcgQEAgdm9pZCBS
ZW5kZXJCbG9jazo6aGFuZGxlQWZ0ZXJTaWRlT2ZCbG9jawogICAgIC8vIGl0cyBtYXJnaW4uCiAg
ICAgaWYgKCFtYXJnaW5JbmZvLmRpc2NhcmRNYXJnaW4oKSAmJiAoIW1hcmdpbkluZm8uY2FuQ29s
bGFwc2VXaXRoTWFyZ2luQWZ0ZXIoKSAmJiAhbWFyZ2luSW5mby5jYW5Db2xsYXBzZVdpdGhNYXJn
aW5CZWZvcmUoKQogICAgICAgICAmJiAoIWlzQW5vbnltb3VzQmxvY2soKSB8fCBpc0Fub255bW91
c0NvbHVtbnNCbG9jaygpIHx8IGlzQW5vbnltb3VzQ29sdW1uU3BhbkJsb2NrKCkpCi0gICAgICAg
ICYmICghZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCkgfHwgIW1hcmdpbkluZm8ucXVpcmtDb250
YWluZXIoKSB8fCAhbWFyZ2luSW5mby5tYXJnaW5BZnRlclF1aXJrKCkpKSkKKyAgICAgICAgJiYg
KCFkb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSB8fCAhbWFyZ2luSW5mby5xdWlya0NvbnRhaW5l
cigpIHx8ICFtYXJnaW5JbmZvLmhhc01hcmdpbkFmdGVyUXVpcmsoKSkpKQogICAgICAgICBzZXRM
b2dpY2FsSGVpZ2h0KGxvZ2ljYWxIZWlnaHQoKSArIG1hcmdpbkluZm8ubWFyZ2luKCkpOwogICAg
ICAgICAKICAgICAvLyBOb3cgYWRkIGluIG91ciBib3R0b20gYm9yZGVyL3BhZGRpbmcuCkBAIC03
NjM5LDYgKzc2NDQsNDAgQEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6Y29sbGFwc2VkTWFyZ2lu
QQogICAgIHJldHVybiBtYXJnaW5BZnRlckZvckNoaWxkKGNoaWxkKTsKIH0KIAorYm9vbCBSZW5k
ZXJCbG9jazo6Y2hpbGRIYXNNYXJnaW5CZWZvcmVRdWlyayhjb25zdCBSZW5kZXJCb3gqIGNoaWxk
KSBjb25zdAoreworICAgIC8vIElmIHRoZSBjaGlsZCBoYXMgdGhlIHNhbWUgZGlyZWN0aW9uYWxp
dHkgYXMgd2UgZG8sIHRoZW4gd2UgY2FuIGp1c3QgcmV0dXJuIGl0cworICAgIC8vIG1hcmdpbiBx
dWlyay4KKyAgICBpZiAoIWNoaWxkLT5pc1dyaXRpbmdNb2RlUm9vdCgpKQorICAgICAgICByZXR1
cm4gY2hpbGQtPmlzUmVuZGVyQmxvY2soKSA/IHRvUmVuZGVyQmxvY2soY2hpbGQpLT5oYXNNYXJn
aW5CZWZvcmVRdWlyaygpIDogY2hpbGQtPnN0eWxlKCktPmhhc01hcmdpbkJlZm9yZVF1aXJrKCk7
CisgICAgCisgICAgLy8gVGhlIGNoaWxkIGhhcyBhIGRpZmZlcmVudCBkaXJlY3Rpb25hbGl0eS4g
IElmIHRoZSBjaGlsZCBpcyBwYXJhbGxlbCwgdGhlbiBpdCdzIGp1c3QKKyAgICAvLyBmbGlwcGVk
IHJlbGF0aXZlIHRvIHVzLiAgV2UgY2FuIHVzZSB0aGUgb3Bwb3NpdGUgZWRnZS4KKyAgICBpZiAo
Y2hpbGQtPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPT0gaXNIb3Jpem9udGFsV3JpdGluZ01v
ZGUoKSkKKyAgICAgICAgcmV0dXJuIGNoaWxkLT5pc1JlbmRlckJsb2NrKCkgPyB0b1JlbmRlckJs
b2NrKGNoaWxkKS0+aGFzTWFyZ2luQWZ0ZXJRdWlyaygpIDogY2hpbGQtPnN0eWxlKCktPmhhc01h
cmdpbkFmdGVyUXVpcmsoKTsKKyAgICAKKyAgICAvLyBUaGUgY2hpbGQgaXMgcGVycGVuZGljdWxh
ciB0byB1cyBhbmQgYm94IHNpZGVzIGFyZSBuZXZlciBxdWlya3kgaW4gaHRtbC5jc3MsIGFuZCB3
ZSBkb24ndCByZWFsbHkgY2FyZSBhYm91dAorICAgIC8vIHdoZXRoZXIgb3Igbm90IGF1dGhvcnMg
c3BlY2lmaWVkIHF1aXJreSBlbXMsIHNpbmNlIHRoZXkncmUgYW4gaW1wbGVtZW50YXRpb24gZGV0
YWlsLgorICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBSZW5kZXJCbG9jazo6Y2hpbGRIYXNN
YXJnaW5BZnRlclF1aXJrKGNvbnN0IFJlbmRlckJveCogY2hpbGQpIGNvbnN0Cit7CisgICAgLy8g
SWYgdGhlIGNoaWxkIGhhcyB0aGUgc2FtZSBkaXJlY3Rpb25hbGl0eSBhcyB3ZSBkbywgdGhlbiB3
ZSBjYW4ganVzdCByZXR1cm4gaXRzCisgICAgLy8gbWFyZ2luIHF1aXJrLgorICAgIGlmICghY2hp
bGQtPmlzV3JpdGluZ01vZGVSb290KCkpCisgICAgICAgIHJldHVybiBjaGlsZC0+aXNSZW5kZXJC
bG9jaygpID8gdG9SZW5kZXJCbG9jayhjaGlsZCktPmhhc01hcmdpbkFmdGVyUXVpcmsoKSA6IGNo
aWxkLT5zdHlsZSgpLT5oYXNNYXJnaW5BZnRlclF1aXJrKCk7CisgICAgCisgICAgLy8gVGhlIGNo
aWxkIGhhcyBhIGRpZmZlcmVudCBkaXJlY3Rpb25hbGl0eS4gIElmIHRoZSBjaGlsZCBpcyBwYXJh
bGxlbCwgdGhlbiBpdCdzIGp1c3QKKyAgICAvLyBmbGlwcGVkIHJlbGF0aXZlIHRvIHVzLiAgV2Ug
Y2FuIHVzZSB0aGUgb3Bwb3NpdGUgZWRnZS4KKyAgICBpZiAoY2hpbGQtPmlzSG9yaXpvbnRhbFdy
aXRpbmdNb2RlKCkgPT0gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJu
IGNoaWxkLT5pc1JlbmRlckJsb2NrKCkgPyB0b1JlbmRlckJsb2NrKGNoaWxkKS0+aGFzTWFyZ2lu
QmVmb3JlUXVpcmsoKSA6IGNoaWxkLT5zdHlsZSgpLT5oYXNNYXJnaW5CZWZvcmVRdWlyaygpOwor
ICAgIAorICAgIC8vIFRoZSBjaGlsZCBpcyBwZXJwZW5kaWN1bGFyIHRvIHVzIGFuZCBib3ggc2lk
ZXMgYXJlIG5ldmVyIHF1aXJreSBpbiBodG1sLmNzcywgYW5kIHdlIGRvbid0IHJlYWxseSBjYXJl
IGFib3V0CisgICAgLy8gd2hldGhlciBvciBub3QgYXV0aG9ycyBzcGVjaWZpZWQgcXVpcmt5IGVt
cywgc2luY2UgdGhleSdyZSBhbiBpbXBsZW1lbnRhdGlvbiBkZXRhaWwuCisgICAgcmV0dXJuIGZh
bHNlOworfQorCiBSZW5kZXJCbG9jazo6TWFyZ2luVmFsdWVzIFJlbmRlckJsb2NrOjptYXJnaW5W
YWx1ZXNGb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkKSBjb25zdAogewogICAgIExheW91dFVuaXQg
Y2hpbGRCZWZvcmVQb3NpdGl2ZSA9IDA7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2suaAkocmV2aXNpb24gMTQ0MjI3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0Miw2ICsxNDIsMTUgQEAgcHVibGlj
OgogICAgIHZvaWQgc2V0SGFzTWFya3VwVHJ1bmNhdGlvbihib29sIGIpIHsgbV9oYXNNYXJrdXBU
cnVuY2F0aW9uID0gYjsgfQogICAgIGJvb2wgaGFzTWFya3VwVHJ1bmNhdGlvbigpIGNvbnN0IHsg
cmV0dXJuIG1faGFzTWFya3VwVHJ1bmNhdGlvbjsgfQogCisgICAgdm9pZCBzZXRIYXNNYXJnaW5C
ZWZvcmVRdWlyayhib29sIGIpIHsgbV9oYXNNYXJnaW5CZWZvcmVRdWlyayA9IGI7IH0KKyAgICB2
b2lkIHNldEhhc01hcmdpbkFmdGVyUXVpcmsoYm9vbCBiKSB7IG1faGFzTWFyZ2luQWZ0ZXJRdWly
ayA9IGI7IH0KKworICAgIGJvb2wgaGFzTWFyZ2luQmVmb3JlUXVpcmsoKSBjb25zdCB7IHJldHVy
biBtX2hhc01hcmdpbkJlZm9yZVF1aXJrOyB9CisgICAgYm9vbCBoYXNNYXJnaW5BZnRlclF1aXJr
KCkgY29uc3QgeyByZXR1cm4gbV9oYXNNYXJnaW5BZnRlclF1aXJrOyB9CisKKyAgICBib29sIGNo
aWxkSGFzTWFyZ2luQmVmb3JlUXVpcmsoY29uc3QgUmVuZGVyQm94KiBjaGlsZCkgY29uc3Q7Cisg
ICAgYm9vbCBjaGlsZEhhc01hcmdpbkFmdGVyUXVpcmsoY29uc3QgUmVuZGVyQm94KiBjaGlsZCkg
Y29uc3Q7CisKICAgICBSb290SW5saW5lQm94KiBjcmVhdGVBbmRBcHBlbmRSb290SW5saW5lQm94
KCk7CiAKICAgICBib29sIGdlbmVyYXRlc0xpbmVCb3hlc0ZvcklubGluZUNoaWxkKFJlbmRlck9i
amVjdCopOwpAQCAtOTYyLDggKzk3MSw4IEBAIHByaXZhdGU6CiAKICAgICAgICAgLy8gVGhlc2Ug
dmFyaWFibGVzIGFyZSB1c2VkIHRvIGRldGVjdCBxdWlya3kgbWFyZ2lucyB0aGF0IHdlIG5lZWQg
dG8gY29sbGFwc2UgYXdheSAoaW4gdGFibGUgY2VsbHMKICAgICAgICAgLy8gYW5kIGluIHRoZSBi
b2R5IGVsZW1lbnQpLgotICAgICAgICBib29sIG1fbWFyZ2luQmVmb3JlUXVpcmsgOiAxOwotICAg
ICAgICBib29sIG1fbWFyZ2luQWZ0ZXJRdWlyayA6IDE7CisgICAgICAgIGJvb2wgbV9oYXNNYXJn
aW5CZWZvcmVRdWlyayA6IDE7CisgICAgICAgIGJvb2wgbV9oYXNNYXJnaW5BZnRlclF1aXJrIDog
MTsKICAgICAgICAgYm9vbCBtX2RldGVybWluZWRNYXJnaW5CZWZvcmVRdWlyayA6IDE7CiAKICAg
ICAgICAgYm9vbCBtX2Rpc2NhcmRNYXJnaW4gOiAxOwpAQCAtOTgyLDggKzk5MSw4IEBAIHByaXZh
dGU6CiAgICAgICAgICAgICBtX3Bvc2l0aXZlTWFyZ2luID0gMDsKICAgICAgICAgICAgIG1fbmVn
YXRpdmVNYXJnaW4gPSAwOwogICAgICAgICB9Ci0gICAgICAgIHZvaWQgc2V0TWFyZ2luQmVmb3Jl
UXVpcmsoYm9vbCBiKSB7IG1fbWFyZ2luQmVmb3JlUXVpcmsgPSBiOyB9Ci0gICAgICAgIHZvaWQg
c2V0TWFyZ2luQWZ0ZXJRdWlyayhib29sIGIpIHsgbV9tYXJnaW5BZnRlclF1aXJrID0gYjsgfQor
ICAgICAgICB2b2lkIHNldEhhc01hcmdpbkJlZm9yZVF1aXJrKGJvb2wgYikgeyBtX2hhc01hcmdp
bkJlZm9yZVF1aXJrID0gYjsgfQorICAgICAgICB2b2lkIHNldEhhc01hcmdpbkFmdGVyUXVpcmso
Ym9vbCBiKSB7IG1faGFzTWFyZ2luQWZ0ZXJRdWlyayA9IGI7IH0KICAgICAgICAgdm9pZCBzZXRE
ZXRlcm1pbmVkTWFyZ2luQmVmb3JlUXVpcmsoYm9vbCBiKSB7IG1fZGV0ZXJtaW5lZE1hcmdpbkJl
Zm9yZVF1aXJrID0gYjsgfQogICAgICAgICB2b2lkIHNldFBvc2l0aXZlTWFyZ2luKExheW91dFVu
aXQgcCkgeyBBU1NFUlQoIW1fZGlzY2FyZE1hcmdpbik7IG1fcG9zaXRpdmVNYXJnaW4gPSBwOyB9
CiAgICAgICAgIHZvaWQgc2V0TmVnYXRpdmVNYXJnaW4oTGF5b3V0VW5pdCBuKSB7IEFTU0VSVCgh
bV9kaXNjYXJkTWFyZ2luKTsgbV9uZWdhdGl2ZU1hcmdpbiA9IG47IH0KQEAgLTEwMTEsOCArMTAy
MCw4IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgY2FuQ29sbGFwc2VNYXJnaW5BZnRlcldpdGhD
aGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIG1fY2FuQ29sbGFwc2VNYXJnaW5BZnRlcldpdGhDaGls
ZHJlbjsgfQogICAgICAgICBib29sIHF1aXJrQ29udGFpbmVyKCkgY29uc3QgeyByZXR1cm4gbV9x
dWlya0NvbnRhaW5lcjsgfQogICAgICAgICBib29sIGRldGVybWluZWRNYXJnaW5CZWZvcmVRdWly
aygpIGNvbnN0IHsgcmV0dXJuIG1fZGV0ZXJtaW5lZE1hcmdpbkJlZm9yZVF1aXJrOyB9Ci0gICAg
ICAgIGJvb2wgbWFyZ2luQmVmb3JlUXVpcmsoKSBjb25zdCB7IHJldHVybiBtX21hcmdpbkJlZm9y
ZVF1aXJrOyB9Ci0gICAgICAgIGJvb2wgbWFyZ2luQWZ0ZXJRdWlyaygpIGNvbnN0IHsgcmV0dXJu
IG1fbWFyZ2luQWZ0ZXJRdWlyazsgfQorICAgICAgICBib29sIGhhc01hcmdpbkJlZm9yZVF1aXJr
KCkgY29uc3QgeyByZXR1cm4gbV9oYXNNYXJnaW5CZWZvcmVRdWlyazsgfQorICAgICAgICBib29s
IGhhc01hcmdpbkFmdGVyUXVpcmsoKSBjb25zdCB7IHJldHVybiBtX2hhc01hcmdpbkFmdGVyUXVp
cms7IH0KICAgICAgICAgTGF5b3V0VW5pdCBwb3NpdGl2ZU1hcmdpbigpIGNvbnN0IHsgcmV0dXJu
IG1fcG9zaXRpdmVNYXJnaW47IH0KICAgICAgICAgTGF5b3V0VW5pdCBuZWdhdGl2ZU1hcmdpbigp
IGNvbnN0IHsgcmV0dXJuIG1fbmVnYXRpdmVNYXJnaW47IH0KICAgICAgICAgYm9vbCBkaXNjYXJk
TWFyZ2luKCkgY29uc3QgeyByZXR1cm4gbV9kaXNjYXJkTWFyZ2luOyB9CkBAIC0xMjM1LDcgKzEy
NDQsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0IG1fY2hpbGRyZW47
CiAgICAgUmVuZGVyTGluZUJveExpc3QgbV9saW5lQm94ZXM7ICAgLy8gQWxsIG9mIHRoZSByb290
IGxpbmUgYm94ZXMgY3JlYXRlZCBmb3IgdGhpcyBibG9jayBmbG93LiAgRm9yIGV4YW1wbGUsIDxk
aXY+SGVsbG88YnI+d29ybGQuPC9kaXY+IHdpbGwgaGF2ZSB0d28gdG90YWwgbGluZXMgZm9yIHRo
ZSA8ZGl2Pi4KIAotICAgIG11dGFibGUgc2lnbmVkIG1fbGluZUhlaWdodCA6IDI5OworICAgIG11
dGFibGUgc2lnbmVkIG1fbGluZUhlaWdodCA6IDI3OworICAgIGJvb2wgbV9oYXNNYXJnaW5CZWZv
cmVRdWlyayA6IDE7CisgICAgYm9vbCBtX2hhc01hcmdpbkFmdGVyUXVpcmsgOiAxOwogICAgIHVu
c2lnbmVkIG1fYmVpbmdEZXN0cm95ZWQgOiAxOwogICAgIHVuc2lnbmVkIG1faGFzTWFya3VwVHJ1
bmNhdGlvbiA6IDE7CiAgICAgdW5zaWduZWQgbV9oYXNCb3JkZXJPclBhZGRpbmdMb2dpY2FsV2lk
dGhDaGFuZ2VkIDogMTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmgJKHJldmlzaW9uIDE0NDMxOCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtOTAzLDExICs5MDMsNiBAQCBwdWJsaWM6CiAgICAg
ICovCiAgICAgdmlydHVhbCBMYXlvdXRSZWN0IGxvY2FsQ2FyZXRSZWN0KElubGluZUJveCosIGlu
dCBjYXJldE9mZnNldCwgTGF5b3V0VW5pdCogZXh0cmFXaWR0aFRvRW5kT2ZMaW5lID0gMCk7CiAK
LSAgICBib29sIGlzTWFyZ2luQmVmb3JlUXVpcmsoKSBjb25zdCB7IHJldHVybiBtX2JpdGZpZWxk
cy5tYXJnaW5CZWZvcmVRdWlyaygpOyB9Ci0gICAgYm9vbCBpc01hcmdpbkFmdGVyUXVpcmsoKSBj
b25zdCB7IHJldHVybiBtX2JpdGZpZWxkcy5tYXJnaW5BZnRlclF1aXJrKCk7IH0KLSAgICB2b2lk
IHNldE1hcmdpbkJlZm9yZVF1aXJrKGJvb2wgYiA9IHRydWUpIHsgbV9iaXRmaWVsZHMuc2V0TWFy
Z2luQmVmb3JlUXVpcmsoYik7IH0KLSAgICB2b2lkIHNldE1hcmdpbkFmdGVyUXVpcmsoYm9vbCBi
ID0gdHJ1ZSkgeyBtX2JpdGZpZWxkcy5zZXRNYXJnaW5BZnRlclF1aXJrKGIpOyB9Ci0KICAgICAv
LyBXaGVuIHBlcmZvcm1pbmcgYSBnbG9iYWwgZG9jdW1lbnQgdGVhci1kb3duLCB0aGUgcmVuZGVy
ZXIgb2YgdGhlIGRvY3VtZW50IGlzIGNsZWFyZWQuICBXZSB1c2UgdGhpcwogICAgIC8vIGFzIGEg
aG9vayB0byBkZXRlY3QgdGhlIGNhc2Ugb2YgZG9jdW1lbnQgZGVzdHJ1Y3Rpb24gYW5kIGRvbid0
IHdhc3RlIHRpbWUgZG9pbmcgdW5uZWNlc3Nhcnkgd29yay4KICAgICBib29sIGRvY3VtZW50QmVp
bmdEZXN0cm95ZWQoKSBjb25zdDsKQEAgLTEwNzMsMTUgKzEwNjgsMTMgQEAgcHJpdmF0ZToKICAg
ICAgICAgICAgICwgbV9ldmVySGFkTGF5b3V0KGZhbHNlKQogICAgICAgICAgICAgLCBtX2luUmVu
ZGVyRmxvd1RocmVhZChmYWxzZSkKICAgICAgICAgICAgICwgbV9jaGlsZHJlbklubGluZShmYWxz
ZSkKLSAgICAgICAgICAgICwgbV9tYXJnaW5CZWZvcmVRdWlyayhmYWxzZSkgCi0gICAgICAgICAg
ICAsIG1fbWFyZ2luQWZ0ZXJRdWlyayhmYWxzZSkKICAgICAgICAgICAgICwgbV9oYXNDb2x1bW5z
KGZhbHNlKQogICAgICAgICAgICAgLCBtX3Bvc2l0aW9uZWRTdGF0ZShJc1N0YXRpY2x5UG9zaXRp
b25lZCkKICAgICAgICAgICAgICwgbV9zZWxlY3Rpb25TdGF0ZShTZWxlY3Rpb25Ob25lKQogICAg
ICAgICB7CiAgICAgICAgIH0KICAgICAgICAgCi0gICAgICAgIC8vIDMyIGJpdHMgaGF2ZSBiZWVu
IHVzZWQgaGVyZS4gVEhFUkUgQVJFIE5PIEZSRUUgQklUUyBBVkFJTEFCTEUuCisgICAgICAgIC8v
IDI5IGJpdHMgaGF2ZSBiZWVuIHVzZWQgaGVyZS4gVGhlcmUgYXJlIHRocmVlIGJpdHMgYXZhaWxh
YmxlLgogICAgICAgICBBRERfQk9PTEVBTl9CSVRGSUVMRChuZWVkc0xheW91dCwgTmVlZHNMYXlv
dXQpOwogICAgICAgICBBRERfQk9PTEVBTl9CSVRGSUVMRChuZWVkc1Bvc2l0aW9uZWRNb3ZlbWVu
dExheW91dCwgTmVlZHNQb3NpdGlvbmVkTW92ZW1lbnRMYXlvdXQpOwogICAgICAgICBBRERfQk9P
TEVBTl9CSVRGSUVMRChub3JtYWxDaGlsZE5lZWRzTGF5b3V0LCBOb3JtYWxDaGlsZE5lZWRzTGF5
b3V0KTsKQEAgLTExMTUsOCArMTEwOCw2IEBAIHByaXZhdGU6CiAKICAgICAgICAgLy8gZnJvbSBS
ZW5kZXJCbG9jawogICAgICAgICBBRERfQk9PTEVBTl9CSVRGSUVMRChjaGlsZHJlbklubGluZSwg
Q2hpbGRyZW5JbmxpbmUpOwotICAgICAgICBBRERfQk9PTEVBTl9CSVRGSUVMRChtYXJnaW5CZWZv
cmVRdWlyaywgTWFyZ2luQmVmb3JlUXVpcmspOwotICAgICAgICBBRERfQk9PTEVBTl9CSVRGSUVM
RChtYXJnaW5BZnRlclF1aXJrLCBNYXJnaW5BZnRlclF1aXJrKTsKICAgICAgICAgQUREX0JPT0xF
QU5fQklURklFTEQoaGFzQ29sdW1ucywgSGFzQ29sdW1ucyk7CiAKICAgICBwcml2YXRlOgpJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHJldmlz
aW9uIDE0NDIyNykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNzcsOCArMzc3LDggQEAgcHVibGljOgogICAgIGJvb2wg
aGFzQm9yZGVyKCkgY29uc3QgeyByZXR1cm4gc3Vycm91bmQtPmJvcmRlci5oYXNCb3JkZXIoKTsg
fQogICAgIGJvb2wgaGFzUGFkZGluZygpIGNvbnN0IHsgcmV0dXJuIHN1cnJvdW5kLT5wYWRkaW5n
Lm5vblplcm8oKTsgfQogICAgIGJvb2wgaGFzT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gc3Vycm91
bmQtPm9mZnNldC5ub25aZXJvKCk7IH0KLSAgICBib29sIGlzTWFyZ2luQmVmb3JlUXVpcmsoKSBj
b25zdCB7IHJldHVybiBtYXJnaW5CZWZvcmUoKS5xdWlyaygpOyB9Ci0gICAgYm9vbCBpc01hcmdp
bkFmdGVyUXVpcmsoKSBjb25zdCB7IHJldHVybiBtYXJnaW5BZnRlcigpLnF1aXJrKCk7IH0KKyAg
ICBib29sIGhhc01hcmdpbkJlZm9yZVF1aXJrKCkgY29uc3QgeyByZXR1cm4gbWFyZ2luQmVmb3Jl
KCkucXVpcmsoKTsgfQorICAgIGJvb2wgaGFzTWFyZ2luQWZ0ZXJRdWlyaygpIGNvbnN0IHsgcmV0
dXJuIG1hcmdpbkFmdGVyKCkucXVpcmsoKTsgfQogCiAgICAgYm9vbCBoYXNCYWNrZ3JvdW5kSW1h
Z2UoKSBjb25zdCB7IHJldHVybiBtX2JhY2tncm91bmQtPmJhY2tncm91bmQoKS5oYXNJbWFnZSgp
OyB9CiAgICAgYm9vbCBoYXNGaXhlZEJhY2tncm91bmRJbWFnZSgpIGNvbnN0IHsgcmV0dXJuIG1f
YmFja2dyb3VuZC0+YmFja2dyb3VuZCgpLmhhc0ZpeGVkSW1hZ2UoKTsgfQo=
</data>
<flag name="review"
          id="211518"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>