<?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>88285</bug_id>
          
          <creation_ts>2012-06-04 20:42:46 -0700</creation_ts>
          <short_desc>Move some function definitions in EmptyClients.h to EmptyClients.cpp</short_desc>
          <delta_ts>2012-06-05 02:08:28 -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>WebCore Misc.</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>japhet</cc>
    
    <cc>jochen</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>641149</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-06-04 20:42:46 -0700</bug_when>
    <thetext>Move some function definitions in EmptyClients.h to EmptyClients.cpp to avoid to include unnecessary header files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641153</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-06-04 20:46:20 -0700</bug_when>
    <thetext>That sounds like a really good idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641159</commentid>
    <comment_count>2</comment_count>
      <attachid>145687</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-06-04 20:58:46 -0700</bug_when>
    <thetext>Created attachment 145687
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641161</commentid>
    <comment_count>3</comment_count>
      <attachid>145687</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-06-04 21:06:25 -0700</bug_when>
    <thetext>Comment on attachment 145687
Patch

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

&gt; Source/WebCore/loader/EmptyClients.cpp:65
&gt; +// ----------------------------------------------------------------

I don&apos;t think we need these separators.

&gt; Source/WebKit/chromium/src/WebHelperPluginImpl.cpp:38
&gt;  #include &quot;FocusController.h&quot;

Can we also remove this?

&gt; Source/WebKit/chromium/src/WebHelperPluginImpl.cpp:45
&gt;  #include &quot;WebInputEvent.h&quot;
&gt;  #include &quot;WebInputEventConversion.h&quot;

And these?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641167</commentid>
    <comment_count>4</comment_count>
      <attachid>145690</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-06-04 21:18:03 -0700</bug_when>
    <thetext>Created attachment 145690
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641169</commentid>
    <comment_count>5</comment_count>
      <attachid>145691</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-06-04 21:20:04 -0700</bug_when>
    <thetext>Created attachment 145691
Patch for landing 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641170</commentid>
    <comment_count>6</comment_count>
      <attachid>145687</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-06-04 21:20:43 -0700</bug_when>
    <thetext>Comment on attachment 145687
Patch

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

&gt;&gt; Source/WebCore/loader/EmptyClients.cpp:65
&gt;&gt; +// ----------------------------------------------------------------
&gt; 
&gt; I don&apos;t think we need these separators.

Removed

&gt;&gt; Source/WebKit/chromium/src/WebHelperPluginImpl.cpp:38
&gt;&gt;  #include &quot;FocusController.h&quot;
&gt; 
&gt; Can we also remove this?

Removed

&gt;&gt; Source/WebKit/chromium/src/WebHelperPluginImpl.cpp:45
&gt;&gt;  #include &quot;WebInputEventConversion.h&quot;
&gt; 
&gt; And these?

Removed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641337</commentid>
    <comment_count>7</comment_count>
      <attachid>145691</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-05 02:08:23 -0700</bug_when>
    <thetext>Comment on attachment 145691
Patch for landing 2

Clearing flags on attachment: 145691

Committed r119470: &lt;http://trac.webkit.org/changeset/119470&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641338</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-05 02:08:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145687</attachid>
            <date>2012-06-04 20:58:46 -0700</date>
            <delta_ts>2012-06-04 21:20:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88285-20120605125845.patch</filename>
            <type>text/plain</type>
            <size>20726</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjgyZWY0MzE4MDMwYTM4
ZWFmYWQ0NmViMDUyMWY4MjRmMDkzOTQzNi4uOWYyOGRjODMzYWM0ODAwN2RlMGM0N2QwNGQ0NjRl
MzA4MGE1NWVhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDEyLTA2LTA0ICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBNb3ZlIHNvbWUgZnVuY3Rp
b24gZGVmaW5pdGlvbnMgaW4gRW1wdHlDbGllbnRzLmggdG8gRW1wdHlDbGllbnRzLmNwcAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODgyODUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiB3ZSBoYXZlIGRl
ZmluaXRpb25zIG9mIGZ1bmN0aW9ucyB3aXRoIFJlZlB0cjw+IGluIEVtcHR5Q2xpZW50cy5oIGxp
a2UKKworICAgICAgICAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NS
ZWZQdHI8RmlsZUNob29zZXI+KSB7IH0KKworICAgICAgICBhbmQgYSBzb3VyY2UgZmlsZSBpbmNs
dWRlcyBFbXB0eUNsaWVudC5oLCB0aGUgc291cmNlIGZpbGUgbmVlZHMgdG8KKyAgICAgICAgaW5j
bHVkZSBGaWxlQ2hvb3Nlci5oIHRob3VnaCB0aGUgc291cmNlIGZpbGUgZG9lc24ndCB1c2UgRmls
ZUNob29zZXIKKyAgICAgICAgY2xhc3MgZXhwbGljaXRseSBiZWNhdXNlIHRoZSBkZWZpbml0aW9u
IG9mIHJ1bk9wZW5QYW5lbCgpIG5lZWRzIHRvIGNhbGwKKyAgICAgICAgRmlsZUNob29zZXI6OmRl
cmVmKCkuCisgICAgICAgIFRvIGF2b2lkIHRoaXMsIHdlIGhhZCBiZXR0ZXIgbW92ZSBzdWNoIGZ1
bmN0aW9ucyB0byBFbXB0eUNsaWVudHMuY3BwLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gTm8g
YmVoYXZpb3IgY2hhbmdlcy4KKworICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuY3BwOiBN
b3ZlIHN1Y2ggZnVuY3Rpb25zIGZyb20gRW1wdHlDbGllbnRzLmggdG8KKyAgICAgICAgaGVyZSwg
YW5kIG1vdmUgRW1wdHlQb3B1cE1lbnUgYW5kIEVtcHR5U2VhcmNoUG9wdXBNZW51IHRvbyBiZWNh
dXNlCisgICAgICAgIHRoZXkncmUgdXNlZCBvbmx5IGJ5IEVtcHR5Q2hyb21lQ2xpZW50LgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChFbXB0eVBvcHVwTWVudSk6CisgICAgICAgIChXZWJD
b3JlOjpFbXB0eVBvcHVwTWVudTo6c2hvdyk6CisgICAgICAgIChXZWJDb3JlOjpFbXB0eVBvcHVw
TWVudTo6aGlkZSk6CisgICAgICAgIChXZWJDb3JlOjpFbXB0eVBvcHVwTWVudTo6dXBkYXRlRnJv
bUVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlQb3B1cE1lbnU6OmRpc2Nvbm5lY3RD
bGllbnQpOgorICAgICAgICAoRW1wdHlTZWFyY2hQb3B1cE1lbnUpOgorICAgICAgICAoV2ViQ29y
ZTo6RW1wdHlTZWFyY2hQb3B1cE1lbnU6OnBvcHVwTWVudSk6CisgICAgICAgIChXZWJDb3JlOjpF
bXB0eVNlYXJjaFBvcHVwTWVudTo6c2F2ZVJlY2VudFNlYXJjaGVzKToKKyAgICAgICAgKFdlYkNv
cmU6OkVtcHR5U2VhcmNoUG9wdXBNZW51Ojpsb2FkUmVjZW50U2VhcmNoZXMpOgorICAgICAgICAo
V2ViQ29yZTo6RW1wdHlTZWFyY2hQb3B1cE1lbnU6OmVuYWJsZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6RW1wdHlDaHJvbWVDbGllbnQ6OmNyZWF0ZVBvcHVwTWVudSk6CisgICAgICAgIChXZWJDb3Jl
OjpFbXB0eUNocm9tZUNsaWVudDo6Y3JlYXRlU2VhcmNoUG9wdXBNZW51KToKKyAgICAgICAgKFdl
YkNvcmU6OkVtcHR5Q2hyb21lQ2xpZW50OjpjcmVhdGVDb2xvckNob29zZXIpOgorICAgICAgICAo
V2ViQ29yZTo6RW1wdHlDaHJvbWVDbGllbnQ6OnJ1bk9wZW5QYW5lbCk6CisgICAgICAgIChXZWJD
b3JlOjpFbXB0eUZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck5ld1dp
bmRvd0FjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpFbXB0eUZyYW1lTG9hZGVyQ2xpZW50Ojpk
aXNwYXRjaERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6RW1wdHlGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hXaWxsU2VuZFN1Ym1pdEV2ZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OkVtcHR5RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoV2lsbFN1
Ym1pdEZvcm0pOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlGcmFtZUxvYWRlckNsaWVudDo6Y3Jl
YXRlRG9jdW1lbnRMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlGcmFtZUxvYWRlckNs
aWVudDo6Y3JlYXRlRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlGcmFtZUxvYWRlckNs
aWVudDo6Y3JlYXRlUGx1Z2luKToKKyAgICAgICAgKFdlYkNvcmU6OkVtcHR5RnJhbWVMb2FkZXJD
bGllbnQ6OmNyZWF0ZUphdmFBcHBsZXRXaWRnZXQpOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlG
cmFtZUxvYWRlckNsaWVudDo6Y3JlYXRlTWVkaWFQbGF5ZXJQcm94eVBsdWdpbik6CisgICAgICAg
IChXZWJDb3JlOjpFbXB0eUZyYW1lTG9hZGVyQ2xpZW50OjpjcmVhdGVOZXR3b3JraW5nQ29udGV4
dCk6CisgICAgICAgIChXZWJDb3JlOjpFbXB0eUZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaElu
dGVudCk6CisgICAgICAgIChXZWJDb3JlOjpFbXB0eVRleHRDaGVja2VyQ2xpZW50OjpyZXF1ZXN0
Q2hlY2tpbmdPZlN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpFbXB0eUVkaXRvckNsaWVudDo6
cmVnaXN0ZXJVbmRvU3RlcCk6CisgICAgICAgIChXZWJDb3JlOjpFbXB0eUVkaXRvckNsaWVudDo6
cmVnaXN0ZXJSZWRvU3RlcCk6CisgICAgICAgIChXZWJDb3JlOjpFbXB0eUNvbnRleHRNZW51Q2xp
ZW50OjpjdXN0b21pemVNZW51KToKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6IE1v
dmUgc3VjaCBmdW5jdGlvbiBkZWZpbml0aW9ucyB0bworICAgICAgICBFbXB0eUNsaWVudC5jcHAs
IGFuZCBhcHBlbmQgT1ZFUlJJREUuCisgICAgICAgIChFbXB0eUNocm9tZUNsaWVudCk6CisgICAg
ICAgIChFbXB0eUZyYW1lTG9hZGVyQ2xpZW50KToKKyAgICAgICAgKEVtcHR5VGV4dENoZWNrZXJD
bGllbnQpOgorICAgICAgICAoRW1wdHlFZGl0b3JDbGllbnQpOgorICAgICAgICAoRW1wdHlDb250
ZXh0TWVudUNsaWVudCk6CisgICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDogUmVt
b3ZlIHVubmVjZXNzYXJ5ICNpbmNsdWRlcy4KKwogMjAxMi0wNi0wNCAgVGltIEhvcnRvbiAgPHRp
bW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBNb2NrIHNjcm9sbGJhcnMgZGlmZmVy
IGJ5IDFweCBpbiBEUlQgdnMuIFdLVFIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggYmZl
OGE0Yjk4ZTE3MGQwYWI0MzE0ODg5MGVlYzU1ODYxNGE3OTYwMC4uMzg3YmQ4OGEzZGY0ODY1OTEy
MTIzOGY5NjliOTAwZDZlODE0ZTI2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxMi0wNi0wNCAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgTW92ZSBzb21lIGZ1bmN0aW9uIGRlZmluaXRpb25zIGluIEVtcHR5Q2xpZW50
cy5oIHRvIEVtcHR5Q2xpZW50cy5jcHAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTg4Mjg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBzcmMvV2ViSGVscGVyUGx1Z2luSW1wbC5jcHA6IFJlbW92ZSB1bm5l
Y2Vzc2FyeSAjaW5jbHVkZXMsIGFuZCBhZGQgbmVjZXNzYXJ5ICNpbmNsdWRlcy4KKyAgICAgICAg
KiBzcmMvV2ViUGFnZVBvcHVwSW1wbC5jcHA6IGRpdHRvLgorCiAyMDEyLTA2LTA0ICBEYW5hIEph
bnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gQWxsb3cg
Q0NMYXllckltcGwgdG8gZmluZCBpdHMgbGF5ZXIgdHJlZSBob3N0LCBhbmQgdXNlIHRoaXMgZm9y
IENDVmlkZW9MYXllckltcGwgaW5zdGVhZCBvZiBhbHdheXMtbnVsbCBwb2ludGVyLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAppbmRleCA0ODA4ODJlMWYxNjRjOWIwNjI5ZjVj
NGIwNzNiMDg0Yzg1ZjNlNWRjLi4xNGZjM2RmZTkyOWNlMzI1NWNlMGMwNzBmNjBlMWRiZTc5MDMz
OTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcApAQCAtMjgsMTMgKzI4
LDIwIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRW1wdHlDbGllbnRzLmgiCiAK
LSNpZiBFTkFCTEUoU1ZHKSB8fCBFTkFCTEUoUEFHRV9QT1BVUCkKKyNpbmNsdWRlICJEb2N1bWVu
dExvYWRlci5oIgogI2luY2x1ZGUgIkZpbGVDaG9vc2VyLmgiCiAjaW5jbHVkZSAiRm9ybVN0YXRl
LmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJGcmFtZU5ldHdvcmtpbmdDb250ZXh0
LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCiAKKyNpZiBFTkFCTEUoSU5QVVRfVFlQ
RV9DT0xPUikKKyNpbmNsdWRlICJDb2xvckNob29zZXIuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKKyNpZiBFTkFCTEUoU1ZHKSB8fCBFTkFCTEUoUEFHRV9QT1BVUCkKIHZvaWQg
ZmlsbFdpdGhFbXB0eUNsaWVudHMoUGFnZTo6UGFnZUNsaWVudHMmIHBhZ2VDbGllbnRzKQogewog
I2lmIEVOQUJMRShDT05URVhUX01FTlVTKQpAQCAtNTMsNiArNjAsMTM1IEBAIHZvaWQgZmlsbFdp
dGhFbXB0eUNsaWVudHMoUGFnZTo6UGFnZUNsaWVudHMmIHBhZ2VDbGllbnRzKQogICAgIHN0YXRp
YyBJbnNwZWN0b3JDbGllbnQqIGR1bW15SW5zcGVjdG9yQ2xpZW50ID0gYWRvcHRQdHIobmV3IEVt
cHR5SW5zcGVjdG9yQ2xpZW50KS5sZWFrUHRyKCk7CiAgICAgcGFnZUNsaWVudHMuaW5zcGVjdG9y
Q2xpZW50ID0gZHVtbXlJbnNwZWN0b3JDbGllbnQ7CiB9CisjZW5kaWYKKworLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
CitjbGFzcyBFbXB0eVBvcHVwTWVudSA6IHB1YmxpYyBQb3B1cE1lbnUgeworcHVibGljOgorICAg
IHZpcnR1YWwgdm9pZCBzaG93KGNvbnN0IEludFJlY3QmLCBGcmFtZVZpZXcqLCBpbnQpIHsgfQor
ICAgIHZpcnR1YWwgdm9pZCBoaWRlKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUZyb21F
bGVtZW50KCkgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpc2Nvbm5lY3RDbGllbnQoKSB7IH0KK307
CisKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKworY2xhc3MgRW1wdHlTZWFyY2hQb3B1cE1lbnUgOiBwdWJsaWMgU2Vh
cmNoUG9wdXBNZW51IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIFBvcHVwTWVudSogcG9wdXBNZW51
KCkgeyByZXR1cm4gbV9wb3B1cC5nZXQoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBzYXZlUmVjZW50
U2VhcmNoZXMoY29uc3QgQXRvbWljU3RyaW5nJiwgY29uc3QgVmVjdG9yPFN0cmluZz4mKSB7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgbG9hZFJlY2VudFNlYXJjaGVzKGNvbnN0IEF0b21pY1N0cmluZyYs
IFZlY3RvcjxTdHJpbmc+JikgeyB9CisgICAgdmlydHVhbCBib29sIGVuYWJsZWQoKSB7IHJldHVy
biBmYWxzZTsgfQorCitwcml2YXRlOgorICAgIFJlZlB0cjxFbXB0eVBvcHVwTWVudT4gbV9wb3B1
cDsKK307CisKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KKworUGFzc1JlZlB0cjxQb3B1cE1lbnU+IEVtcHR5Q2hyb21l
Q2xpZW50OjpjcmVhdGVQb3B1cE1lbnUoUG9wdXBNZW51Q2xpZW50KikgY29uc3QKK3sKKyAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IEVtcHR5UG9wdXBNZW51KCkpOworfQorCitQYXNzUmVmUHRyPFNl
YXJjaFBvcHVwTWVudT4gRW1wdHlDaHJvbWVDbGllbnQ6OmNyZWF0ZVNlYXJjaFBvcHVwTWVudShQ
b3B1cE1lbnVDbGllbnQqKSBjb25zdAoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgRW1wdHlT
ZWFyY2hQb3B1cE1lbnUoKSk7Cit9CiAKKyNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKK1Bh
c3NPd25QdHI8Q29sb3JDaG9vc2VyPiBFbXB0eUNocm9tZUNsaWVudDo6Y3JlYXRlQ29sb3JDaG9v
c2VyKENvbG9yQ2hvb3NlckNsaWVudCosIGNvbnN0IENvbG9yJikKK3sKKyAgICByZXR1cm4gbnVs
bHB0cjsKIH0KICNlbmRpZgorCit2b2lkIEVtcHR5Q2hyb21lQ2xpZW50OjpydW5PcGVuUGFuZWwo
RnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPikKK3sKK30KKworLy8gLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCit2
b2lkIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yTmV3V2lu
ZG93QWN0aW9uKEZyYW1lUG9saWN5RnVuY3Rpb24sIGNvbnN0IE5hdmlnYXRpb25BY3Rpb24mLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmLCBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4sIGNvbnN0IFN0cmlu
ZyYpCit7Cit9CisKK3ZvaWQgRW1wdHlGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQ
b2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKEZyYW1lUG9saWN5RnVuY3Rpb24sIGNvbnN0IE5hdmln
YXRpb25BY3Rpb24mLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBQYXNzUmVmUHRyPEZvcm1TdGF0
ZT4pCit7Cit9CisKK3ZvaWQgRW1wdHlGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hXaWxsU2Vu
ZFN1Ym1pdEV2ZW50KFBhc3NSZWZQdHI8Rm9ybVN0YXRlPikKK3sKK30KKwordm9pZCBFbXB0eUZy
YW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaFdpbGxTdWJtaXRGb3JtKEZyYW1lUG9saWN5RnVuY3Rp
b24sIFBhc3NSZWZQdHI8Rm9ybVN0YXRlPikKK3sKK30KKworUGFzc1JlZlB0cjxEb2N1bWVudExv
YWRlcj4gRW1wdHlGcmFtZUxvYWRlckNsaWVudDo6Y3JlYXRlRG9jdW1lbnRMb2FkZXIoY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdWJzdGl0dXRlRGF0YSYgc3Vic3RpdHV0
ZURhdGEpCit7CisgICAgcmV0dXJuIERvY3VtZW50TG9hZGVyOjpjcmVhdGUocmVxdWVzdCwgc3Vi
c3RpdHV0ZURhdGEpOworfQorCitQYXNzUmVmUHRyPEZyYW1lPiBFbXB0eUZyYW1lTG9hZGVyQ2xp
ZW50OjpjcmVhdGVGcmFtZShjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiwgSFRNTEZyYW1lT3du
ZXJFbGVtZW50KiwgY29uc3QgU3RyaW5nJiwgYm9vbCwgaW50LCBpbnQpCit7CisgICAgcmV0dXJu
IDA7Cit9CisKK1Bhc3NSZWZQdHI8V2lkZ2V0PiBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50OjpjcmVh
dGVQbHVnaW4oY29uc3QgSW50U2l6ZSYsIEhUTUxQbHVnSW5FbGVtZW50KiwgY29uc3QgS1VSTCYs
IGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25zdCBTdHJp
bmcmLCBib29sKQoreworICAgIHJldHVybiAwOworfQorCitQYXNzUmVmUHRyPFdpZGdldD4gRW1w
dHlGcmFtZUxvYWRlckNsaWVudDo6Y3JlYXRlSmF2YUFwcGxldFdpZGdldChjb25zdCBJbnRTaXpl
JiwgSFRNTEFwcGxldEVsZW1lbnQqLCBjb25zdCBLVVJMJiwgY29uc3QgVmVjdG9yPFN0cmluZz4m
LCBjb25zdCBWZWN0b3I8U3RyaW5nPiYpCit7CisgICAgcmV0dXJuIDA7Cit9CisKKyNpZiBFTkFC
TEUoUExVR0lOX1BST1hZX0ZPUl9WSURFTykKK1Bhc3NSZWZQdHI8V2lkZ2V0PiBFbXB0eUZyYW1l
TG9hZGVyQ2xpZW50OjpjcmVhdGVNZWRpYVBsYXllclByb3h5UGx1Z2luKGNvbnN0IEludFNpemUm
LCBIVE1MTWVkaWFFbGVtZW50KiwgY29uc3QgS1VSTCYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+Jiwg
Y29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25zdCBTdHJpbmcmKQoreworICAgIHJldHVybiAwOwor
fQorI2VuZGlmCisKK1Bhc3NSZWZQdHI8RnJhbWVOZXR3b3JraW5nQ29udGV4dD4gRW1wdHlGcmFt
ZUxvYWRlckNsaWVudDo6Y3JlYXRlTmV0d29ya2luZ0NvbnRleHQoKQoreworICAgIHJldHVybiBQ
YXNzUmVmUHRyPEZyYW1lTmV0d29ya2luZ0NvbnRleHQ+KCk7Cit9CisKKyNpZiBFTkFCTEUoV0VC
X0lOVEVOVFMpCit2b2lkIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoSW50ZW50KFBh
c3NSZWZQdHI8SW50ZW50UmVxdWVzdD4pCit7Cit9CisjZW5kaWYKKworLy8gLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCit2
b2lkIEVtcHR5VGV4dENoZWNrZXJDbGllbnQ6OnJlcXVlc3RDaGVja2luZ09mU3RyaW5nKFBhc3NS
ZWZQdHI8VGV4dENoZWNraW5nUmVxdWVzdD4pCit7Cit9CisKKy8vIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwordm9pZCBF
bXB0eUVkaXRvckNsaWVudDo6cmVnaXN0ZXJVbmRvU3RlcChQYXNzUmVmUHRyPFVuZG9TdGVwPikK
K3sKK30KKwordm9pZCBFbXB0eUVkaXRvckNsaWVudDo6cmVnaXN0ZXJSZWRvU3RlcChQYXNzUmVm
UHRyPFVuZG9TdGVwPikKK3sKK30KKworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisjaWYgRU5BQkxFKENPTlRFWFRf
TUVOVVMpCisjaWYgVVNFKENST1NTX1BMQVRGT1JNX0NPTlRFWFRfTUVOVVMpCitQYXNzT3duUHRy
PENvbnRleHRNZW51PiBFbXB0eUNvbnRleHRNZW51Q2xpZW50OjpjdXN0b21pemVNZW51KFBhc3NP
d25QdHI8Q29udGV4dE1lbnU+KQoreworICAgIHJldHVybiBudWxscHRyOworfQorI2VuZGlmCisj
ZW5kaWYKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmluZGV4IGI3NzU5Mzk2
ZTk3ZTcyMWIyYmY3YWViYzg1MjBiMGY4NzgyZmE4ZGUuLmY3NDg0ZTc4ZTcxOWZmYTE5MjhmMDRh
MzkzMTZkODJjMjQyNGJhZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKQEAg
LTMyLDMzICszMiwyMCBAQAogI2luY2x1ZGUgIkNvbnRleHRNZW51Q2xpZW50LmgiCiAjaW5jbHVk
ZSAiRGV2aWNlTW90aW9uQ2xpZW50LmgiCiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25DbGll
bnQuaCIKLSNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUgIkRyYWdDbGllbnQu
aCIKLSNpbmNsdWRlICJFZGl0Q29tbWFuZC5oIgogI2luY2x1ZGUgIkVkaXRvckNsaWVudC5oIgog
I2luY2x1ZGUgIlRleHRDaGVja2VyQ2xpZW50LmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAj
aW5jbHVkZSAiRm9jdXNEaXJlY3Rpb24uaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5o
IgotI2luY2x1ZGUgIkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JDbGllbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCi0jaW5jbHVkZSAiUG9wdXBNZW51LmgiCiAj
aW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgotI2luY2x1ZGUgIlNlYXJjaFBvcHVwTWVudS5oIgog
CiAjaWYgVVNFKFY4KQogI2luY2x1ZGUgPHY4Lmg+CiAjZW5kaWYKIAotI2lmIEVOQUJMRShJTlBV
VF9UWVBFX0NPTE9SKQotI2luY2x1ZGUgIkNvbG9yQ2hvb3Nlci5oIgotI2VuZGlmCi0KLSNpZiBF
TkFCTEUoV0VCX0lOVEVOVFMpCi0jaW5jbHVkZSAiSW50ZW50UmVxdWVzdC5oIgotI2VuZGlmCi0K
IC8qCiAgVGhpcyBmaWxlIGhvbGRzIGVtcHR5IENsaWVudCBzdHVicyBmb3IgdXNlIGJ5IFdlYkNv
cmUuCiAgVmlld2xlc3MgZWxlbWVudCBuZWVkcyB0byBjcmVhdGUgYSBkdW1teSBQYWdlLT5GcmFt
ZS0+RnJhbWVWaWV3IHRyZWUgZm9yIHVzZSBpbiBwYXJzaW5nIG9yIGV4ZWN1dGluZyBKYXZhU2Ny
aXB0LgpAQCAtNzYsMjUgKzYzLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBHcmFw
aGljc0NvbnRleHQzRDsKIAotY2xhc3MgRW1wdHlQb3B1cE1lbnUgOiBwdWJsaWMgUG9wdXBNZW51
IHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIHZvaWQgc2hvdyhjb25zdCBJbnRSZWN0JiwgRnJhbWVW
aWV3KiwgaW50KSB7fQotICAgIHZpcnR1YWwgdm9pZCBoaWRlKCkge30KLSAgICB2aXJ0dWFsIHZv
aWQgdXBkYXRlRnJvbUVsZW1lbnQoKSB7fQotICAgIHZpcnR1YWwgdm9pZCBkaXNjb25uZWN0Q2xp
ZW50KCkge30KLX07Ci0KLWNsYXNzIEVtcHR5U2VhcmNoUG9wdXBNZW51IDogcHVibGljIFNlYXJj
aFBvcHVwTWVudSB7Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCBQb3B1cE1lbnUqIHBvcHVwTWVudSgp
IHsgcmV0dXJuIG1fcG9wdXAuZ2V0KCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQgc2F2ZVJlY2VudFNl
YXJjaGVzKGNvbnN0IEF0b21pY1N0cmluZyYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+Jikge30KLSAg
ICB2aXJ0dWFsIHZvaWQgbG9hZFJlY2VudFNlYXJjaGVzKGNvbnN0IEF0b21pY1N0cmluZyYsIFZl
Y3RvcjxTdHJpbmc+Jikge30KLSAgICB2aXJ0dWFsIGJvb2wgZW5hYmxlZCgpIHsgcmV0dXJuIGZh
bHNlOyB9Ci0KLXByaXZhdGU6Ci0gICAgUmVmUHRyPEVtcHR5UG9wdXBNZW51PiBtX3BvcHVwOwot
fTsKLQogY2xhc3MgRW1wdHlDaHJvbWVDbGllbnQgOiBwdWJsaWMgQ2hyb21lQ2xpZW50IHsKIHB1
YmxpYzoKICAgICB2aXJ0dWFsIH5FbXB0eUNocm9tZUNsaWVudCgpIHsgfQpAQCAtMTUwLDggKzEx
OCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgc2VsZWN0SXRlbVdyaXRpbmdEaXJlY3Rp
b25Jc05hdHVyYWwoKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBzZWxlY3RJ
dGVtQWxpZ25tZW50Rm9sbG93c01lbnVXcml0aW5nRGlyZWN0aW9uKCkgeyByZXR1cm4gZmFsc2U7
IH0KICAgICB2aXJ0dWFsIGJvb2wgaGFzT3BlbmVkUG9wdXAoKSBjb25zdCBPVkVSUklERSB7IHJl
dHVybiBmYWxzZTsgfQotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxQb3B1cE1lbnU+IGNyZWF0ZVBv
cHVwTWVudShQb3B1cE1lbnVDbGllbnQqKSBjb25zdCB7IHJldHVybiBhZG9wdFJlZihuZXcgRW1w
dHlQb3B1cE1lbnUoKSk7IH0KLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2VhcmNoUG9wdXBNZW51
PiBjcmVhdGVTZWFyY2hQb3B1cE1lbnUoUG9wdXBNZW51Q2xpZW50KikgY29uc3QgeyByZXR1cm4g
YWRvcHRSZWYobmV3IEVtcHR5U2VhcmNoUG9wdXBNZW51KCkpOyB9CisgICAgdmlydHVhbCBQYXNz
UmVmUHRyPFBvcHVwTWVudT4gY3JlYXRlUG9wdXBNZW51KFBvcHVwTWVudUNsaWVudCopIGNvbnN0
IE9WRVJSSURFOworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTZWFyY2hQb3B1cE1lbnU+IGNyZWF0
ZVNlYXJjaFBvcHVwTWVudShQb3B1cE1lbnVDbGllbnQqKSBjb25zdCBPVkVSUklERTsKICNpZiBF
TkFCTEUoUEFHRV9QT1BVUCkKICAgICB2aXJ0dWFsIFBhZ2VQb3B1cCogb3BlblBhZ2VQb3B1cChQ
YWdlUG9wdXBDbGllbnQqLCBjb25zdCBJbnRSZWN0JikgT1ZFUlJJREUgeyByZXR1cm4gMDsgfQog
ICAgIHZpcnR1YWwgdm9pZCBjbG9zZVBhZ2VQb3B1cChQYWdlUG9wdXAqKSBPVkVSUklERSB7IH0K
QEAgLTIwMiwxMCArMTcwLDEwIEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgRU5BQkxFKElOUFVU
X1RZUEVfQ09MT1IpCi0gICAgdmlydHVhbCBQYXNzT3duUHRyPENvbG9yQ2hvb3Nlcj4gY3JlYXRl
Q29sb3JDaG9vc2VyKENvbG9yQ2hvb3NlckNsaWVudCosIGNvbnN0IENvbG9yJikgeyByZXR1cm4g
bnVsbHB0cjsgfQorICAgIHZpcnR1YWwgUGFzc093blB0cjxDb2xvckNob29zZXI+IGNyZWF0ZUNv
bG9yQ2hvb3NlcihDb2xvckNob29zZXJDbGllbnQqLCBjb25zdCBDb2xvciYpIE9WRVJSSURFOwog
I2VuZGlmCiAKLSAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0
cjxGaWxlQ2hvb3Nlcj4pIHsgfQorICAgIHZpcnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoRnJhbWUq
LCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGxv
YWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBGaWxlSWNvbkxvYWRlciopIHsg
fQogCiAgICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0ZURpZENoYW5nZShjb25zdCBOb2RlKikgeyB9
CkBAIC0yOTcsMTQgKzI2NSwxNCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNo
U2hvdygpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yUmVz
cG9uc2UoRnJhbWVQb2xpY3lGdW5jdGlvbiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0
IFJlc291cmNlUmVxdWVzdCYpIHsgfQotICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERlY2lkZVBv
bGljeUZvck5ld1dpbmRvd0FjdGlvbihGcmFtZVBvbGljeUZ1bmN0aW9uLCBjb25zdCBOYXZpZ2F0
aW9uQWN0aW9uJiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFzc1JlZlB0cjxGb3JtU3RhdGU+
LCBjb25zdCBTdHJpbmcmKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEZWNpZGVQb2xp
Y3lGb3JOYXZpZ2F0aW9uQWN0aW9uKEZyYW1lUG9saWN5RnVuY3Rpb24sIGNvbnN0IE5hdmlnYXRp
b25BY3Rpb24mLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4p
IHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERlY2lkZVBvbGljeUZvck5ld1dpbmRvd0Fj
dGlvbihGcmFtZVBvbGljeUZ1bmN0aW9uLCBjb25zdCBOYXZpZ2F0aW9uQWN0aW9uJiwgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiwgUGFzc1JlZlB0cjxGb3JtU3RhdGU+LCBjb25zdCBTdHJpbmcmKSBP
VkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0
aW9uQWN0aW9uKEZyYW1lUG9saWN5RnVuY3Rpb24sIGNvbnN0IE5hdmlnYXRpb25BY3Rpb24mLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmLCBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4pIE9WRVJSSURFOwog
ICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxQb2xpY3lDaGVjaygpIHsgfQogCiAgICAgdmlydHVhbCB2
b2lkIGRpc3BhdGNoVW5hYmxlVG9JbXBsZW1lbnRQb2xpY3koY29uc3QgUmVzb3VyY2VFcnJvciYp
IHsgfQogCi0gICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudChQYXNz
UmVmUHRyPEZvcm1TdGF0ZT4pIHsgfQotICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxTdWJt
aXRGb3JtKEZyYW1lUG9saWN5RnVuY3Rpb24sIFBhc3NSZWZQdHI8Rm9ybVN0YXRlPikgeyB9Cisg
ICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudChQYXNzUmVmUHRyPEZv
cm1TdGF0ZT4pIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxTdWJtaXRG
b3JtKEZyYW1lUG9saWN5RnVuY3Rpb24sIFBhc3NSZWZQdHI8Rm9ybVN0YXRlPikgT1ZFUlJJREU7
CiAKICAgICB2aXJ0dWFsIHZvaWQgcmV2ZXJ0VG9Qcm92aXNpb25hbFN0YXRlKERvY3VtZW50TG9h
ZGVyKikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHNldE1haW5Eb2N1bWVudEVycm9yKERvY3VtZW50
TG9hZGVyKiwgY29uc3QgUmVzb3VyY2VFcnJvciYpIHsgfQpAQCAtMzQ5LDcgKzMxNyw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZCgpIHsgfQogICAgIHZpcnR1YWwg
dm9pZCBwcmVwYXJlRm9yRGF0YVNvdXJjZVJlcGxhY2VtZW50KCkgeyB9CiAKLSAgICB2aXJ0dWFs
IFBhc3NSZWZQdHI8RG9jdW1lbnRMb2FkZXI+IGNyZWF0ZURvY3VtZW50TG9hZGVyKGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgU3Vic3RpdHV0ZURhdGEmIHN1YnN0aXR1dGVE
YXRhKSB7IHJldHVybiBEb2N1bWVudExvYWRlcjo6Y3JlYXRlKHJlcXVlc3QsIHN1YnN0aXR1dGVE
YXRhKTsgfQorICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxEb2N1bWVudExvYWRlcj4gY3JlYXRlRG9j
dW1lbnRMb2FkZXIoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3Vic3RpdHV0ZURhdGEm
KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VGl0bGUoY29uc3QgU3RyaW5nV2l0aERp
cmVjdGlvbiYsIGNvbnN0IEtVUkwmKSB7IH0KIAogICAgIHZpcnR1YWwgU3RyaW5nIHVzZXJBZ2Vu
dChjb25zdCBLVVJMJikgeyByZXR1cm4gIiI7IH0KQEAgLTM3MywxMSArMzQxLDExIEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgZGlkRGlzcGxheUluc2VjdXJlQ29udGVudCgpIHsgfQogICAg
IHZpcnR1YWwgdm9pZCBkaWRSdW5JbnNlY3VyZUNvbnRlbnQoU2VjdXJpdHlPcmlnaW4qLCBjb25z
dCBLVVJMJikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZERldGVjdFhTUyhjb25zdCBLVVJMJiwg
Ym9vbCkgeyB9Ci0gICAgdmlydHVhbCBQYXNzUmVmUHRyPEZyYW1lPiBjcmVhdGVGcmFtZShjb25z
dCBLVVJMJiwgY29uc3QgU3RyaW5nJiwgSFRNTEZyYW1lT3duZXJFbGVtZW50KiwgY29uc3QgU3Ry
aW5nJiwgYm9vbCwgaW50LCBpbnQpIHsgcmV0dXJuIDA7IH0KLSAgICB2aXJ0dWFsIFBhc3NSZWZQ
dHI8V2lkZ2V0PiBjcmVhdGVQbHVnaW4oY29uc3QgSW50U2l6ZSYsIEhUTUxQbHVnSW5FbGVtZW50
KiwgY29uc3QgS1VSTCYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgVmVjdG9yPFN0cmlu
Zz4mLCBjb25zdCBTdHJpbmcmLCBib29sKSB7IHJldHVybiAwOyB9Ci0gICAgdmlydHVhbCBQYXNz
UmVmUHRyPFdpZGdldD4gY3JlYXRlSmF2YUFwcGxldFdpZGdldChjb25zdCBJbnRTaXplJiwgSFRN
TEFwcGxldEVsZW1lbnQqLCBjb25zdCBLVVJMJiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25z
dCBWZWN0b3I8U3RyaW5nPiYpIHsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8
RnJhbWU+IGNyZWF0ZUZyYW1lKGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmLCBIVE1MRnJhbWVP
d25lckVsZW1lbnQqLCBjb25zdCBTdHJpbmcmLCBib29sLCBpbnQsIGludCkgT1ZFUlJJREU7Cisg
ICAgdmlydHVhbCBQYXNzUmVmUHRyPFdpZGdldD4gY3JlYXRlUGx1Z2luKGNvbnN0IEludFNpemUm
LCBIVE1MUGx1Z0luRWxlbWVudCosIGNvbnN0IEtVUkwmLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYs
IGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgU3RyaW5nJiwgYm9vbCkgT1ZFUlJJREU7Cisg
ICAgdmlydHVhbCBQYXNzUmVmUHRyPFdpZGdldD4gY3JlYXRlSmF2YUFwcGxldFdpZGdldChjb25z
dCBJbnRTaXplJiwgSFRNTEFwcGxldEVsZW1lbnQqLCBjb25zdCBLVVJMJiwgY29uc3QgVmVjdG9y
PFN0cmluZz4mLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYpIE9WRVJSSURFOwogI2lmIEVOQUJMRShQ
TFVHSU5fUFJPWFlfRk9SX1ZJREVPKQotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXaWRnZXQ+IGNy
ZWF0ZU1lZGlhUGxheWVyUHJveHlQbHVnaW4oY29uc3QgSW50U2l6ZSYsIEhUTUxNZWRpYUVsZW1l
bnQqLCBjb25zdCBLVVJMJiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25zdCBWZWN0b3I8U3Ry
aW5nPiYsIGNvbnN0IFN0cmluZyYpIHsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0dWFsIFBhc3NSZWZQ
dHI8V2lkZ2V0PiBjcmVhdGVNZWRpYVBsYXllclByb3h5UGx1Z2luKGNvbnN0IEludFNpemUmLCBI
VE1MTWVkaWFFbGVtZW50KiwgY29uc3QgS1VSTCYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgY29u
c3QgVmVjdG9yPFN0cmluZz4mLCBjb25zdCBTdHJpbmcmKSBPVkVSUklERTsKICAgICB2aXJ0dWFs
IHZvaWQgaGlkZU1lZGlhUGxheWVyUHJveHlQbHVnaW4oV2lkZ2V0KikgeyB9CiAgICAgdmlydHVh
bCB2b2lkIHNob3dNZWRpYVBsYXllclByb3h5UGx1Z2luKFdpZGdldCopIHsgfQogI2VuZGlmCkBA
IC00MDcsMTAgKzM3NSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHNob3VsZENhY2hl
UmVzcG9uc2UoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiwgY29uc3QgdW5zaWduZWQgY2hhciosIHVuc2lnbmVkIGxvbmcgbG9uZykgeyByZXR1
cm4gdHJ1ZTsgfQogI2VuZGlmCiAKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RnJhbWVOZXR3b3Jr
aW5nQ29udGV4dD4gY3JlYXRlTmV0d29ya2luZ0NvbnRleHQoKSB7IHJldHVybiBQYXNzUmVmUHRy
PEZyYW1lTmV0d29ya2luZ0NvbnRleHQ+KCk7IH0KKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RnJh
bWVOZXR3b3JraW5nQ29udGV4dD4gY3JlYXRlTmV0d29ya2luZ0NvbnRleHQoKSBPVkVSUklERTsK
IAogI2lmIEVOQUJMRShXRUJfSU5URU5UUykKLSAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hJbnRl
bnQoUGFzc1JlZlB0cjxJbnRlbnRSZXF1ZXN0PikgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpc3Bh
dGNoSW50ZW50KFBhc3NSZWZQdHI8SW50ZW50UmVxdWVzdD4pIE9WRVJSSURFOwogI2VuZGlmCiB9
OwogCkBAIC00MjgsNyArMzk2LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZv
aWQgZ2V0R3Vlc3Nlc0ZvcldvcmQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgVmVjdG9y
PFN0cmluZz4mKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdENoZWNraW5nT2ZTdHJpbmco
UGFzc1JlZlB0cjxUZXh0Q2hlY2tpbmdSZXF1ZXN0PikgeyB9CisgICAgdmlydHVhbCB2b2lkIHJl
cXVlc3RDaGVja2luZ09mU3RyaW5nKFBhc3NSZWZQdHI8VGV4dENoZWNraW5nUmVxdWVzdD4pIE9W
RVJSSURFOwogfTsKIAogY2xhc3MgRW1wdHlFZGl0b3JDbGllbnQgOiBwdWJsaWMgRWRpdG9yQ2xp
ZW50IHsKQEAgLTQ2OCw4ICs0MzYsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZFdy
aXRlU2VsZWN0aW9uVG9QYXN0ZWJvYXJkKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFNldFNl
bGVjdGlvblR5cGVzRm9yUGFzdGVib2FyZCgpIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIHJlZ2lz
dGVyVW5kb1N0ZXAoUGFzc1JlZlB0cjxVbmRvU3RlcD4pIHsgfQotICAgIHZpcnR1YWwgdm9pZCBy
ZWdpc3RlclJlZG9TdGVwKFBhc3NSZWZQdHI8VW5kb1N0ZXA+KSB7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgcmVnaXN0ZXJVbmRvU3RlcChQYXNzUmVmUHRyPFVuZG9TdGVwPikgT1ZFUlJJREU7CisgICAg
dmlydHVhbCB2b2lkIHJlZ2lzdGVyUmVkb1N0ZXAoUGFzc1JlZlB0cjxVbmRvU3RlcD4pIE9WRVJS
SURFOwogICAgIHZpcnR1YWwgdm9pZCBjbGVhclVuZG9SZWRvT3BlcmF0aW9ucygpIHsgfQogCiAg
ICAgdmlydHVhbCBib29sIGNhbkNvcHlDdXQoRnJhbWUqLCBib29sIGRlZmF1bHRWYWx1ZSkgY29u
c3QgeyByZXR1cm4gZGVmYXVsdFZhbHVlOyB9CkBAIC01NDYsNyArNTE0LDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCBjb250ZXh0TWVudURlc3Ryb3llZCgpIHsgfQogCiAjaWYgVVNFKENS
T1NTX1BMQVRGT1JNX0NPTlRFWFRfTUVOVVMpCi0gICAgdmlydHVhbCBQYXNzT3duUHRyPENvbnRl
eHRNZW51PiBjdXN0b21pemVNZW51KFBhc3NPd25QdHI8Q29udGV4dE1lbnU+KSB7IHJldHVybiBu
dWxscHRyOyB9CisgICAgdmlydHVhbCBQYXNzT3duUHRyPENvbnRleHRNZW51PiBjdXN0b21pemVN
ZW51KFBhc3NPd25QdHI8Q29udGV4dE1lbnU+KSBPVkVSUklERTsKICNlbHNlCiAgICAgdmlydHVh
bCBQbGF0Zm9ybU1lbnVEZXNjcmlwdGlvbiBnZXRDdXN0b21NZW51RnJvbURlZmF1bHRJdGVtcyhD
b250ZXh0TWVudSopIHsgcmV0dXJuIDA7IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFw
aGljcy9TVkdJbWFnZS5jcHAKaW5kZXggYjU5YWY0YmRkMjM3NWY3ZTEyZDM1MWM3MDhlNDRkM2Q1
OGRkMThhMC4uYzkxOGMwZTcwNzlmMmQxNjBmNGFhMTgzNzRjOWRiYzk5NzIxYmQ0NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCkBAIC0zMCwyNyArMzAsMTIgQEAK
ICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlNWR0ltYWdlLmgiCiAKLSNpbmNsdWRlICJDYWNo
ZWRQYWdlLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJFbXB0eUNs
aWVudHMuaCIKLSNpbmNsdWRlICJGaWxlQ2hvb3Nlci5oIgotI2luY2x1ZGUgIkZpbGVJY29uTG9h
ZGVyLmgiCi0jaW5jbHVkZSAiRmxvYXRSZWN0LmgiCi0jaW5jbHVkZSAiRnJhbWUuaCIKLSNpbmNs
dWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgotI2luY2x1ZGUgIkdy
YXBoaWNzQ29udGV4dC5oIgotI2luY2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgogI2luY2x1ZGUg
IkltYWdlQnVmZmVyLmgiCi0jaW5jbHVkZSAiSW1hZ2VPYnNlcnZlci5oIgotI2luY2x1ZGUgIkxl
bmd0aC5oIgotI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSb290LmgiCi0j
aW5jbHVkZSAiUmVuZGVyVmlldy5oIgotI2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKICNpbmNs
dWRlICJTVkdEb2N1bWVudC5oIgotI2luY2x1ZGUgIlNWR0xlbmd0aC5oIgotI2luY2x1ZGUgIlNW
R1JlbmRlclN1cHBvcnQuaCIKICNpbmNsdWRlICJTVkdTVkdFbGVtZW50LmgiCiAjaW5jbHVkZSAi
U2V0dGluZ3MuaCIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
SGVscGVyUGx1Z2luSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJIZWxw
ZXJQbHVnaW5JbXBsLmNwcAppbmRleCA5YThjN2FkNjQ5ZTc1ZWZlM2RlZWYwMGUwZjliOGI2ZDU3
NzI5Mzc5Li44MTM3ZWI2NzY1YzExZGNmNDgzMGEyZGE1ZGZhMDY5MDVkYmFiOGY3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJIZWxwZXJQbHVnaW5JbXBsLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJIZWxwZXJQbHVnaW5JbXBsLmNwcApA
QCAtMzIsMjEgKzMyLDE4IEBACiAjaW5jbHVkZSAiV2ViSGVscGVyUGx1Z2luSW1wbC5oIgogCiAj
aW5jbHVkZSAiQ2hyb21lLmgiCisjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKKyNpbmNsdWRl
ICJEb2N1bWVudFdyaXRlci5oIgogI2luY2x1ZGUgIkVtcHR5Q2xpZW50cy5oIgogI2luY2x1ZGUg
IkZvY3VzQ29udHJvbGxlci5oIgotI2luY2x1ZGUgIkZpbGVDaG9vc2VyLmgiCiAjaW5jbHVkZSAi
Rm9jdXNDb250cm9sbGVyLmgiCi0jaW5jbHVkZSAiRm9ybVN0YXRlLmgiCiAjaW5jbHVkZSAiRnJh
bWVWaWV3LmgiCi0jaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCiAjaW5jbHVkZSAiUGFnZS5o
IgotI2luY2x1ZGUgIlBhZ2VQb3B1cENsaWVudC5oIgogI2luY2x1ZGUgIlBhZ2VXaWRnZXREZWxl
Z2F0ZS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiV2ViSW5wdXRFdmVudC5o
IgogI2luY2x1ZGUgIldlYklucHV0RXZlbnRDb252ZXJzaW9uLmgiCiAjaW5jbHVkZSAiV2ViRnJh
bWVJbXBsLmgiCi0jaW5jbHVkZSAiV2ViUGFnZVBvcHVwLmgiCiAjaW5jbHVkZSAiV2ViVmlld0Ns
aWVudC5oIgogI2luY2x1ZGUgIldlYlZpZXdJbXBsLmgiCiAjaW5jbHVkZSAiV2ViV2lkZ2V0Q2xp
ZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQYWdlUG9w
dXBJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBhZ2VQb3B1cEltcGwu
Y3BwCmluZGV4IDYxN2I3MjVjZWUyYjVmOWYyY2YyOGUzY2EyODZjZjUwYTc0ZmNjOGIuLjdlNjFk
NTkyMDUyZDQzYmYwM2M3ZDc0M2NmZGUxMWY0MDY4YTYyZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBhZ2VQb3B1cEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlBhZ2VQb3B1cEltcGwuY3BwCkBAIC0zMywxMiArMzMsMTIgQEAK
IAogI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkRPTVdpbmRvd1BhZ2VQb3B1cC5oIgor
I2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCisjaW5jbHVkZSAiRG9jdW1lbnRXcml0ZXIuaCIK
ICNpbmNsdWRlICJFbXB0eUNsaWVudHMuaCIKLSNpbmNsdWRlICJGaWxlQ2hvb3Nlci5oIgogI2lu
Y2x1ZGUgIkZvY3VzQ29udHJvbGxlci5oIgotI2luY2x1ZGUgIkZvcm1TdGF0ZS5oIgorI2luY2x1
ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCi0jaW5jbHVkZSAiSFRNTEZvcm1F
bGVtZW50LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBhZ2VQb3B1cENsaWVudC5o
IgogI2luY2x1ZGUgIlBhZ2VXaWRnZXREZWxlZ2F0ZS5oIgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145690</attachid>
            <date>2012-06-04 21:18:03 -0700</date>
            <delta_ts>2012-06-04 21:19:59 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-88285-20120605131802.patch</filename>
            <type>text/plain</type>
            <size>20167</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjgyZWY0MzE4MDMwYTM4
ZWFmYWQ0NmViMDUyMWY4MjRmMDkzOTQzNi4uZTY2MzJhYWE2MDk0MzI2ZWIyYjdjMmRmNTUwNWEw
NGJhMTlhYzU3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDEyLTA2LTA0ICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBNb3ZlIHNvbWUgZnVuY3Rp
b24gZGVmaW5pdGlvbnMgaW4gRW1wdHlDbGllbnRzLmggdG8gRW1wdHlDbGllbnRzLmNwcAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODgyODUKKworICAg
ICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgSWYgd2UgaGF2ZSBkZWZp
bml0aW9ucyBvZiBmdW5jdGlvbnMgd2l0aCBSZWZQdHI8PiBpbiBFbXB0eUNsaWVudHMuaCBsaWtl
CisKKyAgICAgICAgICAgIHZpcnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVm
UHRyPEZpbGVDaG9vc2VyPikgeyB9CisKKyAgICAgICAgYW5kIGEgc291cmNlIGZpbGUgaW5jbHVk
ZXMgRW1wdHlDbGllbnQuaCwgdGhlIHNvdXJjZSBmaWxlIG5lZWRzIHRvCisgICAgICAgIGluY2x1
ZGUgRmlsZUNob29zZXIuaCB0aG91Z2ggdGhlIHNvdXJjZSBmaWxlIGRvZXNuJ3QgdXNlIEZpbGVD
aG9vc2VyCisgICAgICAgIGNsYXNzIGV4cGxpY2l0bHkgYmVjYXVzZSB0aGUgZGVmaW5pdGlvbiBv
ZiBydW5PcGVuUGFuZWwoKSBuZWVkcyB0byBjYWxsCisgICAgICAgIEZpbGVDaG9vc2VyOjpkZXJl
ZigpLgorICAgICAgICBUbyBhdm9pZCB0aGlzLCB3ZSBoYWQgYmV0dGVyIG1vdmUgc3VjaCBmdW5j
dGlvbnMgdG8gRW1wdHlDbGllbnRzLmNwcC4KKworICAgICAgICBObyBuZXcgdGVzdHMuIE5vIGJl
aGF2aW9yIGNoYW5nZXMuCisKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmNwcDogTW92
ZSBzdWNoIGZ1bmN0aW9ucyBmcm9tIEVtcHR5Q2xpZW50cy5oIHRvCisgICAgICAgIGhlcmUsIGFu
ZCBtb3ZlIEVtcHR5UG9wdXBNZW51IGFuZCBFbXB0eVNlYXJjaFBvcHVwTWVudSB0b28gYmVjYXVz
ZQorICAgICAgICB0aGV5J3JlIHVzZWQgb25seSBieSBFbXB0eUNocm9tZUNsaWVudC4KKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoRW1wdHlQb3B1cE1lbnUpOgorICAgICAgICAoV2ViQ29y
ZTo6RW1wdHlQb3B1cE1lbnU6OnNob3cpOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlQb3B1cE1l
bnU6OmhpZGUpOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlQb3B1cE1lbnU6OnVwZGF0ZUZyb21F
bGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkVtcHR5UG9wdXBNZW51OjpkaXNjb25uZWN0Q2xp
ZW50KToKKyAgICAgICAgKEVtcHR5U2VhcmNoUG9wdXBNZW51KToKKyAgICAgICAgKFdlYkNvcmU6
OkVtcHR5U2VhcmNoUG9wdXBNZW51Ojpwb3B1cE1lbnUpOgorICAgICAgICAoV2ViQ29yZTo6RW1w
dHlTZWFyY2hQb3B1cE1lbnU6OnNhdmVSZWNlbnRTZWFyY2hlcyk6CisgICAgICAgIChXZWJDb3Jl
OjpFbXB0eVNlYXJjaFBvcHVwTWVudTo6bG9hZFJlY2VudFNlYXJjaGVzKToKKyAgICAgICAgKFdl
YkNvcmU6OkVtcHR5U2VhcmNoUG9wdXBNZW51OjplbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OkVtcHR5Q2hyb21lQ2xpZW50OjpjcmVhdGVQb3B1cE1lbnUpOgorICAgICAgICAoV2ViQ29yZTo6
RW1wdHlDaHJvbWVDbGllbnQ6OmNyZWF0ZVNlYXJjaFBvcHVwTWVudSk6CisgICAgICAgIChXZWJD
b3JlOjpFbXB0eUNocm9tZUNsaWVudDo6Y3JlYXRlQ29sb3JDaG9vc2VyKToKKyAgICAgICAgKFdl
YkNvcmU6OkVtcHR5Q2hyb21lQ2xpZW50OjpydW5PcGVuUGFuZWwpOgorICAgICAgICAoV2ViQ29y
ZTo6RW1wdHlGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOZXdXaW5k
b3dBY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlGcmFtZUxvYWRlckNsaWVudDo6ZGlz
cGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkVtcHR5RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpFbXB0eUZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaFdpbGxTdWJt
aXRGb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OkVtcHR5RnJhbWVMb2FkZXJDbGllbnQ6OmNyZWF0
ZURvY3VtZW50TG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkVtcHR5RnJhbWVMb2FkZXJDbGll
bnQ6OmNyZWF0ZUZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkVtcHR5RnJhbWVMb2FkZXJDbGll
bnQ6OmNyZWF0ZVBsdWdpbik6CisgICAgICAgIChXZWJDb3JlOjpFbXB0eUZyYW1lTG9hZGVyQ2xp
ZW50OjpjcmVhdGVKYXZhQXBwbGV0V2lkZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkVtcHR5RnJh
bWVMb2FkZXJDbGllbnQ6OmNyZWF0ZU1lZGlhUGxheWVyUHJveHlQbHVnaW4pOgorICAgICAgICAo
V2ViQ29yZTo6RW1wdHlGcmFtZUxvYWRlckNsaWVudDo6Y3JlYXRlTmV0d29ya2luZ0NvbnRleHQp
OgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hJbnRl
bnQpOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlUZXh0Q2hlY2tlckNsaWVudDo6cmVxdWVzdENo
ZWNraW5nT2ZTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlFZGl0b3JDbGllbnQ6OnJl
Z2lzdGVyVW5kb1N0ZXApOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlFZGl0b3JDbGllbnQ6OnJl
Z2lzdGVyUmVkb1N0ZXApOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlDb250ZXh0TWVudUNsaWVu
dDo6Y3VzdG9taXplTWVudSk6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOiBNb3Zl
IHN1Y2ggZnVuY3Rpb24gZGVmaW5pdGlvbnMgdG8KKyAgICAgICAgRW1wdHlDbGllbnQuY3BwLCBh
bmQgYXBwZW5kIE9WRVJSSURFLgorICAgICAgICAoRW1wdHlDaHJvbWVDbGllbnQpOgorICAgICAg
ICAoRW1wdHlGcmFtZUxvYWRlckNsaWVudCk6CisgICAgICAgIChFbXB0eVRleHRDaGVja2VyQ2xp
ZW50KToKKyAgICAgICAgKEVtcHR5RWRpdG9yQ2xpZW50KToKKyAgICAgICAgKEVtcHR5Q29udGV4
dE1lbnVDbGllbnQpOgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHA6IFJlbW92
ZSB1bm5lY2Vzc2FyeSAjaW5jbHVkZXMuCisKIDIwMTItMDYtMDQgIFRpbSBIb3J0b24gIDx0aW1v
dGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgTW9jayBzY3JvbGxiYXJzIGRpZmZlciBi
eSAxcHggaW4gRFJUIHZzLiBXS1RSCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGJmZThh
NGI5OGUxNzBkMGFiNDMxNDg4OTBlZWM1NTg2MTRhNzk2MDAuLmVhYTZiNzJhZjcxNjJiZjY3YjVm
ZDQ2YjI2MGRiYzIyNTZmNzc4OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTItMDYtMDQgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIE1vdmUgc29tZSBmdW5jdGlvbiBkZWZpbml0aW9ucyBpbiBFbXB0eUNsaWVudHMu
aCB0byBFbXB0eUNsaWVudHMuY3BwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04ODI4NQorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4K
KworICAgICAgICAqIHNyYy9XZWJIZWxwZXJQbHVnaW5JbXBsLmNwcDogUmVtb3ZlIHVubmVjZXNz
YXJ5ICNpbmNsdWRlcywgYW5kIGFkZCBuZWNlc3NhcnkgI2luY2x1ZGVzLgorICAgICAgICAqIHNy
Yy9XZWJQYWdlUG9wdXBJbXBsLmNwcDogZGl0dG8uCisKIDIwMTItMDYtMDQgIERhbmEgSmFuc2Vu
cyAgPGRhbmFrakBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBBbGxvdyBDQ0xh
eWVySW1wbCB0byBmaW5kIGl0cyBsYXllciB0cmVlIGhvc3QsIGFuZCB1c2UgdGhpcyBmb3IgQ0NW
aWRlb0xheWVySW1wbCBpbnN0ZWFkIG9mIGFsd2F5cy1udWxsIHBvaW50ZXIuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCmluZGV4IDQ4MDg4MmUxZjE2NGM5YjA2MjlmNWM0YjA3
M2IwODRjODVmM2U1ZGMuLjFhMDEzNzhmOGM3YTAwNjBhN2FiMGM4NmM0YTE5ODkxZmY2M2M5NzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCkBAIC0yOCwxMyArMjgsMjAg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJFbXB0eUNsaWVudHMuaCIKIAotI2lm
IEVOQUJMRShTVkcpIHx8IEVOQUJMRShQQUdFX1BPUFVQKQorI2luY2x1ZGUgIkRvY3VtZW50TG9h
ZGVyLmgiCiAjaW5jbHVkZSAiRmlsZUNob29zZXIuaCIKICNpbmNsdWRlICJGb3JtU3RhdGUuaCIK
KyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaCIK
ICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKIAorI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NP
TE9SKQorI2luY2x1ZGUgIkNvbG9yQ2hvb3Nlci5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAorI2lmIEVOQUJMRShTVkcpIHx8IEVOQUJMRShQQUdFX1BPUFVQKQogdm9pZCBmaWxs
V2l0aEVtcHR5Q2xpZW50cyhQYWdlOjpQYWdlQ2xpZW50cyYgcGFnZUNsaWVudHMpCiB7CiAjaWYg
RU5BQkxFKENPTlRFWFRfTUVOVVMpCkBAIC01Myw2ICs2MCwxMjEgQEAgdm9pZCBmaWxsV2l0aEVt
cHR5Q2xpZW50cyhQYWdlOjpQYWdlQ2xpZW50cyYgcGFnZUNsaWVudHMpCiAgICAgc3RhdGljIElu
c3BlY3RvckNsaWVudCogZHVtbXlJbnNwZWN0b3JDbGllbnQgPSBhZG9wdFB0cihuZXcgRW1wdHlJ
bnNwZWN0b3JDbGllbnQpLmxlYWtQdHIoKTsKICAgICBwYWdlQ2xpZW50cy5pbnNwZWN0b3JDbGll
bnQgPSBkdW1teUluc3BlY3RvckNsaWVudDsKIH0KKyNlbmRpZgorCitjbGFzcyBFbXB0eVBvcHVw
TWVudSA6IHB1YmxpYyBQb3B1cE1lbnUgeworcHVibGljOgorICAgIHZpcnR1YWwgdm9pZCBzaG93
KGNvbnN0IEludFJlY3QmLCBGcmFtZVZpZXcqLCBpbnQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBo
aWRlKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUZyb21FbGVtZW50KCkgeyB9CisgICAg
dmlydHVhbCB2b2lkIGRpc2Nvbm5lY3RDbGllbnQoKSB7IH0KK307CisKK2NsYXNzIEVtcHR5U2Vh
cmNoUG9wdXBNZW51IDogcHVibGljIFNlYXJjaFBvcHVwTWVudSB7CitwdWJsaWM6CisgICAgdmly
dHVhbCBQb3B1cE1lbnUqIHBvcHVwTWVudSgpIHsgcmV0dXJuIG1fcG9wdXAuZ2V0KCk7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgc2F2ZVJlY2VudFNlYXJjaGVzKGNvbnN0IEF0b21pY1N0cmluZyYsIGNv
bnN0IFZlY3RvcjxTdHJpbmc+JikgeyB9CisgICAgdmlydHVhbCB2b2lkIGxvYWRSZWNlbnRTZWFy
Y2hlcyhjb25zdCBBdG9taWNTdHJpbmcmLCBWZWN0b3I8U3RyaW5nPiYpIHsgfQorICAgIHZpcnR1
YWwgYm9vbCBlbmFibGVkKCkgeyByZXR1cm4gZmFsc2U7IH0KKworcHJpdmF0ZToKKyAgICBSZWZQ
dHI8RW1wdHlQb3B1cE1lbnU+IG1fcG9wdXA7Cit9OworCitQYXNzUmVmUHRyPFBvcHVwTWVudT4g
RW1wdHlDaHJvbWVDbGllbnQ6OmNyZWF0ZVBvcHVwTWVudShQb3B1cE1lbnVDbGllbnQqKSBjb25z
dAoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgRW1wdHlQb3B1cE1lbnUoKSk7Cit9CisKK1Bh
c3NSZWZQdHI8U2VhcmNoUG9wdXBNZW51PiBFbXB0eUNocm9tZUNsaWVudDo6Y3JlYXRlU2VhcmNo
UG9wdXBNZW51KFBvcHVwTWVudUNsaWVudCopIGNvbnN0Cit7CisgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBFbXB0eVNlYXJjaFBvcHVwTWVudSgpKTsKK30KKworI2lmIEVOQUJMRShJTlBVVF9UWVBF
X0NPTE9SKQorUGFzc093blB0cjxDb2xvckNob29zZXI+IEVtcHR5Q2hyb21lQ2xpZW50OjpjcmVh
dGVDb2xvckNob29zZXIoQ29sb3JDaG9vc2VyQ2xpZW50KiwgY29uc3QgQ29sb3ImKQoreworICAg
IHJldHVybiBudWxscHRyOworfQorI2VuZGlmCisKK3ZvaWQgRW1wdHlDaHJvbWVDbGllbnQ6OnJ1
bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KQoreworfQorCit2b2lk
IEVtcHR5RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yTmV3V2luZG93
QWN0aW9uKEZyYW1lUG9saWN5RnVuY3Rpb24sIGNvbnN0IE5hdmlnYXRpb25BY3Rpb24mLCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmLCBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4sIGNvbnN0IFN0cmluZyYp
Cit7Cit9CisKK3ZvaWQgRW1wdHlGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQb2xp
Y3lGb3JOYXZpZ2F0aW9uQWN0aW9uKEZyYW1lUG9saWN5RnVuY3Rpb24sIGNvbnN0IE5hdmlnYXRp
b25BY3Rpb24mLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4p
Cit7Cit9CisKK3ZvaWQgRW1wdHlGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hXaWxsU2VuZFN1
Ym1pdEV2ZW50KFBhc3NSZWZQdHI8Rm9ybVN0YXRlPikKK3sKK30KKwordm9pZCBFbXB0eUZyYW1l
TG9hZGVyQ2xpZW50OjpkaXNwYXRjaFdpbGxTdWJtaXRGb3JtKEZyYW1lUG9saWN5RnVuY3Rpb24s
IFBhc3NSZWZQdHI8Rm9ybVN0YXRlPikKK3sKK30KKworUGFzc1JlZlB0cjxEb2N1bWVudExvYWRl
cj4gRW1wdHlGcmFtZUxvYWRlckNsaWVudDo6Y3JlYXRlRG9jdW1lbnRMb2FkZXIoY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdWJzdGl0dXRlRGF0YSYgc3Vic3RpdHV0ZURh
dGEpCit7CisgICAgcmV0dXJuIERvY3VtZW50TG9hZGVyOjpjcmVhdGUocmVxdWVzdCwgc3Vic3Rp
dHV0ZURhdGEpOworfQorCitQYXNzUmVmUHRyPEZyYW1lPiBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50
OjpjcmVhdGVGcmFtZShjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiwgSFRNTEZyYW1lT3duZXJF
bGVtZW50KiwgY29uc3QgU3RyaW5nJiwgYm9vbCwgaW50LCBpbnQpCit7CisgICAgcmV0dXJuIDA7
Cit9CisKK1Bhc3NSZWZQdHI8V2lkZ2V0PiBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50OjpjcmVhdGVQ
bHVnaW4oY29uc3QgSW50U2l6ZSYsIEhUTUxQbHVnSW5FbGVtZW50KiwgY29uc3QgS1VSTCYsIGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25zdCBTdHJpbmcm
LCBib29sKQoreworICAgIHJldHVybiAwOworfQorCitQYXNzUmVmUHRyPFdpZGdldD4gRW1wdHlG
cmFtZUxvYWRlckNsaWVudDo6Y3JlYXRlSmF2YUFwcGxldFdpZGdldChjb25zdCBJbnRTaXplJiwg
SFRNTEFwcGxldEVsZW1lbnQqLCBjb25zdCBLVVJMJiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBj
b25zdCBWZWN0b3I8U3RyaW5nPiYpCit7CisgICAgcmV0dXJuIDA7Cit9CisKKyNpZiBFTkFCTEUo
UExVR0lOX1BST1hZX0ZPUl9WSURFTykKK1Bhc3NSZWZQdHI8V2lkZ2V0PiBFbXB0eUZyYW1lTG9h
ZGVyQ2xpZW50OjpjcmVhdGVNZWRpYVBsYXllclByb3h5UGx1Z2luKGNvbnN0IEludFNpemUmLCBI
VE1MTWVkaWFFbGVtZW50KiwgY29uc3QgS1VSTCYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgY29u
c3QgVmVjdG9yPFN0cmluZz4mLCBjb25zdCBTdHJpbmcmKQoreworICAgIHJldHVybiAwOworfQor
I2VuZGlmCiAKK1Bhc3NSZWZQdHI8RnJhbWVOZXR3b3JraW5nQ29udGV4dD4gRW1wdHlGcmFtZUxv
YWRlckNsaWVudDo6Y3JlYXRlTmV0d29ya2luZ0NvbnRleHQoKQoreworICAgIHJldHVybiBQYXNz
UmVmUHRyPEZyYW1lTmV0d29ya2luZ0NvbnRleHQ+KCk7Cit9CisKKyNpZiBFTkFCTEUoV0VCX0lO
VEVOVFMpCit2b2lkIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoSW50ZW50KFBhc3NS
ZWZQdHI8SW50ZW50UmVxdWVzdD4pCit7CiB9CiAjZW5kaWYKKwordm9pZCBFbXB0eVRleHRDaGVj
a2VyQ2xpZW50OjpyZXF1ZXN0Q2hlY2tpbmdPZlN0cmluZyhQYXNzUmVmUHRyPFRleHRDaGVja2lu
Z1JlcXVlc3Q+KQoreworfQorCit2b2lkIEVtcHR5RWRpdG9yQ2xpZW50OjpyZWdpc3RlclVuZG9T
dGVwKFBhc3NSZWZQdHI8VW5kb1N0ZXA+KQoreworfQorCit2b2lkIEVtcHR5RWRpdG9yQ2xpZW50
OjpyZWdpc3RlclJlZG9TdGVwKFBhc3NSZWZQdHI8VW5kb1N0ZXA+KQoreworfQorCisjaWYgRU5B
QkxFKENPTlRFWFRfTUVOVVMpCisjaWYgVVNFKENST1NTX1BMQVRGT1JNX0NPTlRFWFRfTUVOVVMp
CitQYXNzT3duUHRyPENvbnRleHRNZW51PiBFbXB0eUNvbnRleHRNZW51Q2xpZW50OjpjdXN0b21p
emVNZW51KFBhc3NPd25QdHI8Q29udGV4dE1lbnU+KQoreworICAgIHJldHVybiBudWxscHRyOwor
fQorI2VuZGlmCisjZW5kaWYKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmlu
ZGV4IGI3NzU5Mzk2ZTk3ZTcyMWIyYmY3YWViYzg1MjBiMGY4NzgyZmE4ZGUuLmY3NDg0ZTc4ZTcx
OWZmYTE5MjhmMDRhMzkzMTZkODJjMjQyNGJhZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmgKQEAgLTMyLDMzICszMiwyMCBAQAogI2luY2x1ZGUgIkNvbnRleHRNZW51Q2xpZW50
LmgiCiAjaW5jbHVkZSAiRGV2aWNlTW90aW9uQ2xpZW50LmgiCiAjaW5jbHVkZSAiRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnQuaCIKLSNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUg
IkRyYWdDbGllbnQuaCIKLSNpbmNsdWRlICJFZGl0Q29tbWFuZC5oIgogI2luY2x1ZGUgIkVkaXRv
ckNsaWVudC5oIgogI2luY2x1ZGUgIlRleHRDaGVja2VyQ2xpZW50LmgiCiAjaW5jbHVkZSAiRmxv
YXRSZWN0LmgiCiAjaW5jbHVkZSAiRm9jdXNEaXJlY3Rpb24uaCIKICNpbmNsdWRlICJGcmFtZUxv
YWRlckNsaWVudC5oIgotI2luY2x1ZGUgIkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaCIKICNpbmNs
dWRlICJJbnNwZWN0b3JDbGllbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCi0jaW5jbHVkZSAiUG9w
dXBNZW51LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgotI2luY2x1ZGUgIlNlYXJjaFBv
cHVwTWVudS5oIgogCiAjaWYgVVNFKFY4KQogI2luY2x1ZGUgPHY4Lmg+CiAjZW5kaWYKIAotI2lm
IEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQotI2luY2x1ZGUgIkNvbG9yQ2hvb3Nlci5oIgotI2Vu
ZGlmCi0KLSNpZiBFTkFCTEUoV0VCX0lOVEVOVFMpCi0jaW5jbHVkZSAiSW50ZW50UmVxdWVzdC5o
IgotI2VuZGlmCi0KIC8qCiAgVGhpcyBmaWxlIGhvbGRzIGVtcHR5IENsaWVudCBzdHVicyBmb3Ig
dXNlIGJ5IFdlYkNvcmUuCiAgVmlld2xlc3MgZWxlbWVudCBuZWVkcyB0byBjcmVhdGUgYSBkdW1t
eSBQYWdlLT5GcmFtZS0+RnJhbWVWaWV3IHRyZWUgZm9yIHVzZSBpbiBwYXJzaW5nIG9yIGV4ZWN1
dGluZyBKYXZhU2NyaXB0LgpAQCAtNzYsMjUgKzYzLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBHcmFwaGljc0NvbnRleHQzRDsKIAotY2xhc3MgRW1wdHlQb3B1cE1lbnUgOiBwdWJs
aWMgUG9wdXBNZW51IHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIHZvaWQgc2hvdyhjb25zdCBJbnRS
ZWN0JiwgRnJhbWVWaWV3KiwgaW50KSB7fQotICAgIHZpcnR1YWwgdm9pZCBoaWRlKCkge30KLSAg
ICB2aXJ0dWFsIHZvaWQgdXBkYXRlRnJvbUVsZW1lbnQoKSB7fQotICAgIHZpcnR1YWwgdm9pZCBk
aXNjb25uZWN0Q2xpZW50KCkge30KLX07Ci0KLWNsYXNzIEVtcHR5U2VhcmNoUG9wdXBNZW51IDog
cHVibGljIFNlYXJjaFBvcHVwTWVudSB7Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCBQb3B1cE1lbnUq
IHBvcHVwTWVudSgpIHsgcmV0dXJuIG1fcG9wdXAuZ2V0KCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQg
c2F2ZVJlY2VudFNlYXJjaGVzKGNvbnN0IEF0b21pY1N0cmluZyYsIGNvbnN0IFZlY3RvcjxTdHJp
bmc+Jikge30KLSAgICB2aXJ0dWFsIHZvaWQgbG9hZFJlY2VudFNlYXJjaGVzKGNvbnN0IEF0b21p
Y1N0cmluZyYsIFZlY3RvcjxTdHJpbmc+Jikge30KLSAgICB2aXJ0dWFsIGJvb2wgZW5hYmxlZCgp
IHsgcmV0dXJuIGZhbHNlOyB9Ci0KLXByaXZhdGU6Ci0gICAgUmVmUHRyPEVtcHR5UG9wdXBNZW51
PiBtX3BvcHVwOwotfTsKLQogY2xhc3MgRW1wdHlDaHJvbWVDbGllbnQgOiBwdWJsaWMgQ2hyb21l
Q2xpZW50IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5FbXB0eUNocm9tZUNsaWVudCgpIHsgfQpA
QCAtMTUwLDggKzExOCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgc2VsZWN0SXRlbVdy
aXRpbmdEaXJlY3Rpb25Jc05hdHVyYWwoKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBzZWxlY3RJdGVtQWxpZ25tZW50Rm9sbG93c01lbnVXcml0aW5nRGlyZWN0aW9uKCkgeyBy
ZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaGFzT3BlbmVkUG9wdXAoKSBjb25zdCBP
VkVSUklERSB7IHJldHVybiBmYWxzZTsgfQotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxQb3B1cE1l
bnU+IGNyZWF0ZVBvcHVwTWVudShQb3B1cE1lbnVDbGllbnQqKSBjb25zdCB7IHJldHVybiBhZG9w
dFJlZihuZXcgRW1wdHlQb3B1cE1lbnUoKSk7IH0KLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2Vh
cmNoUG9wdXBNZW51PiBjcmVhdGVTZWFyY2hQb3B1cE1lbnUoUG9wdXBNZW51Q2xpZW50KikgY29u
c3QgeyByZXR1cm4gYWRvcHRSZWYobmV3IEVtcHR5U2VhcmNoUG9wdXBNZW51KCkpOyB9CisgICAg
dmlydHVhbCBQYXNzUmVmUHRyPFBvcHVwTWVudT4gY3JlYXRlUG9wdXBNZW51KFBvcHVwTWVudUNs
aWVudCopIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTZWFyY2hQb3B1
cE1lbnU+IGNyZWF0ZVNlYXJjaFBvcHVwTWVudShQb3B1cE1lbnVDbGllbnQqKSBjb25zdCBPVkVS
UklERTsKICNpZiBFTkFCTEUoUEFHRV9QT1BVUCkKICAgICB2aXJ0dWFsIFBhZ2VQb3B1cCogb3Bl
blBhZ2VQb3B1cChQYWdlUG9wdXBDbGllbnQqLCBjb25zdCBJbnRSZWN0JikgT1ZFUlJJREUgeyBy
ZXR1cm4gMDsgfQogICAgIHZpcnR1YWwgdm9pZCBjbG9zZVBhZ2VQb3B1cChQYWdlUG9wdXAqKSBP
VkVSUklERSB7IH0KQEAgLTIwMiwxMCArMTcwLDEwIEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYg
RU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCi0gICAgdmlydHVhbCBQYXNzT3duUHRyPENvbG9yQ2hv
b3Nlcj4gY3JlYXRlQ29sb3JDaG9vc2VyKENvbG9yQ2hvb3NlckNsaWVudCosIGNvbnN0IENvbG9y
JikgeyByZXR1cm4gbnVsbHB0cjsgfQorICAgIHZpcnR1YWwgUGFzc093blB0cjxDb2xvckNob29z
ZXI+IGNyZWF0ZUNvbG9yQ2hvb3NlcihDb2xvckNob29zZXJDbGllbnQqLCBjb25zdCBDb2xvciYp
IE9WRVJSSURFOwogI2VuZGlmCiAKLSAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1l
KiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pIHsgfQorICAgIHZpcnR1YWwgdm9pZCBydW5PcGVu
UGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPikgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCB2b2lkIGxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBGaWxlSWNv
bkxvYWRlciopIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0ZURpZENoYW5nZShjb25z
dCBOb2RlKikgeyB9CkBAIC0yOTcsMTQgKzI2NSwxNCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIGRpc3BhdGNoU2hvdygpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGVjaWRl
UG9saWN5Rm9yUmVzcG9uc2UoRnJhbWVQb2xpY3lGdW5jdGlvbiwgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYpIHsgfQotICAgIHZpcnR1YWwgdm9pZCBkaXNw
YXRjaERlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbihGcmFtZVBvbGljeUZ1bmN0aW9uLCBj
b25zdCBOYXZpZ2F0aW9uQWN0aW9uJiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFzc1JlZlB0
cjxGb3JtU3RhdGU+LCBjb25zdCBTdHJpbmcmKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0
Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKEZyYW1lUG9saWN5RnVuY3Rpb24sIGNv
bnN0IE5hdmlnYXRpb25BY3Rpb24mLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBQYXNzUmVmUHRy
PEZvcm1TdGF0ZT4pIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERlY2lkZVBvbGljeUZv
ck5ld1dpbmRvd0FjdGlvbihGcmFtZVBvbGljeUZ1bmN0aW9uLCBjb25zdCBOYXZpZ2F0aW9uQWN0
aW9uJiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFzc1JlZlB0cjxGb3JtU3RhdGU+LCBjb25z
dCBTdHJpbmcmKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEZWNpZGVQb2xp
Y3lGb3JOYXZpZ2F0aW9uQWN0aW9uKEZyYW1lUG9saWN5RnVuY3Rpb24sIGNvbnN0IE5hdmlnYXRp
b25BY3Rpb24mLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4p
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxQb2xpY3lDaGVjaygpIHsgfQogCiAg
ICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoVW5hYmxlVG9JbXBsZW1lbnRQb2xpY3koY29uc3QgUmVz
b3VyY2VFcnJvciYpIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoV2lsbFNlbmRTdWJt
aXRFdmVudChQYXNzUmVmUHRyPEZvcm1TdGF0ZT4pIHsgfQotICAgIHZpcnR1YWwgdm9pZCBkaXNw
YXRjaFdpbGxTdWJtaXRGb3JtKEZyYW1lUG9saWN5RnVuY3Rpb24sIFBhc3NSZWZQdHI8Rm9ybVN0
YXRlPikgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudChQ
YXNzUmVmUHRyPEZvcm1TdGF0ZT4pIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRj
aFdpbGxTdWJtaXRGb3JtKEZyYW1lUG9saWN5RnVuY3Rpb24sIFBhc3NSZWZQdHI8Rm9ybVN0YXRl
PikgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIHZvaWQgcmV2ZXJ0VG9Qcm92aXNpb25hbFN0YXRl
KERvY3VtZW50TG9hZGVyKikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHNldE1haW5Eb2N1bWVudEVy
cm9yKERvY3VtZW50TG9hZGVyKiwgY29uc3QgUmVzb3VyY2VFcnJvciYpIHsgfQpAQCAtMzQ5LDcg
KzMxNyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZCgpIHsgfQog
ICAgIHZpcnR1YWwgdm9pZCBwcmVwYXJlRm9yRGF0YVNvdXJjZVJlcGxhY2VtZW50KCkgeyB9CiAK
LSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RG9jdW1lbnRMb2FkZXI+IGNyZWF0ZURvY3VtZW50TG9h
ZGVyKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgU3Vic3RpdHV0ZURhdGEm
IHN1YnN0aXR1dGVEYXRhKSB7IHJldHVybiBEb2N1bWVudExvYWRlcjo6Y3JlYXRlKHJlcXVlc3Qs
IHN1YnN0aXR1dGVEYXRhKTsgfQorICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxEb2N1bWVudExvYWRl
cj4gY3JlYXRlRG9jdW1lbnRMb2FkZXIoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3Vi
c3RpdHV0ZURhdGEmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VGl0bGUoY29uc3Qg
U3RyaW5nV2l0aERpcmVjdGlvbiYsIGNvbnN0IEtVUkwmKSB7IH0KIAogICAgIHZpcnR1YWwgU3Ry
aW5nIHVzZXJBZ2VudChjb25zdCBLVVJMJikgeyByZXR1cm4gIiI7IH0KQEAgLTM3MywxMSArMzQx
LDExIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlkRGlzcGxheUluc2VjdXJlQ29udGVu
dCgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRSdW5JbnNlY3VyZUNvbnRlbnQoU2VjdXJpdHlP
cmlnaW4qLCBjb25zdCBLVVJMJikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZERldGVjdFhTUyhj
b25zdCBLVVJMJiwgYm9vbCkgeyB9Ci0gICAgdmlydHVhbCBQYXNzUmVmUHRyPEZyYW1lPiBjcmVh
dGVGcmFtZShjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiwgSFRNTEZyYW1lT3duZXJFbGVtZW50
KiwgY29uc3QgU3RyaW5nJiwgYm9vbCwgaW50LCBpbnQpIHsgcmV0dXJuIDA7IH0KLSAgICB2aXJ0
dWFsIFBhc3NSZWZQdHI8V2lkZ2V0PiBjcmVhdGVQbHVnaW4oY29uc3QgSW50U2l6ZSYsIEhUTUxQ
bHVnSW5FbGVtZW50KiwgY29uc3QgS1VSTCYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3Qg
VmVjdG9yPFN0cmluZz4mLCBjb25zdCBTdHJpbmcmLCBib29sKSB7IHJldHVybiAwOyB9Ci0gICAg
dmlydHVhbCBQYXNzUmVmUHRyPFdpZGdldD4gY3JlYXRlSmF2YUFwcGxldFdpZGdldChjb25zdCBJ
bnRTaXplJiwgSFRNTEFwcGxldEVsZW1lbnQqLCBjb25zdCBLVVJMJiwgY29uc3QgVmVjdG9yPFN0
cmluZz4mLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYpIHsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0dWFs
IFBhc3NSZWZQdHI8RnJhbWU+IGNyZWF0ZUZyYW1lKGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcm
LCBIVE1MRnJhbWVPd25lckVsZW1lbnQqLCBjb25zdCBTdHJpbmcmLCBib29sLCBpbnQsIGludCkg
T1ZFUlJJREU7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdpZGdldD4gY3JlYXRlUGx1Z2luKGNv
bnN0IEludFNpemUmLCBIVE1MUGx1Z0luRWxlbWVudCosIGNvbnN0IEtVUkwmLCBjb25zdCBWZWN0
b3I8U3RyaW5nPiYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgU3RyaW5nJiwgYm9vbCkg
T1ZFUlJJREU7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdpZGdldD4gY3JlYXRlSmF2YUFwcGxl
dFdpZGdldChjb25zdCBJbnRTaXplJiwgSFRNTEFwcGxldEVsZW1lbnQqLCBjb25zdCBLVVJMJiwg
Y29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYpIE9WRVJSSURFOwog
I2lmIEVOQUJMRShQTFVHSU5fUFJPWFlfRk9SX1ZJREVPKQotICAgIHZpcnR1YWwgUGFzc1JlZlB0
cjxXaWRnZXQ+IGNyZWF0ZU1lZGlhUGxheWVyUHJveHlQbHVnaW4oY29uc3QgSW50U2l6ZSYsIEhU
TUxNZWRpYUVsZW1lbnQqLCBjb25zdCBLVVJMJiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25z
dCBWZWN0b3I8U3RyaW5nPiYsIGNvbnN0IFN0cmluZyYpIHsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0
dWFsIFBhc3NSZWZQdHI8V2lkZ2V0PiBjcmVhdGVNZWRpYVBsYXllclByb3h5UGx1Z2luKGNvbnN0
IEludFNpemUmLCBIVE1MTWVkaWFFbGVtZW50KiwgY29uc3QgS1VSTCYsIGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25zdCBTdHJpbmcmKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIHZvaWQgaGlkZU1lZGlhUGxheWVyUHJveHlQbHVnaW4oV2lkZ2V0KikgeyB9
CiAgICAgdmlydHVhbCB2b2lkIHNob3dNZWRpYVBsYXllclByb3h5UGx1Z2luKFdpZGdldCopIHsg
fQogI2VuZGlmCkBAIC00MDcsMTAgKzM3NSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29s
IHNob3VsZENhY2hlUmVzcG9uc2UoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgdW5zaWduZWQgY2hhciosIHVuc2lnbmVkIGxvbmcg
bG9uZykgeyByZXR1cm4gdHJ1ZTsgfQogI2VuZGlmCiAKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8
RnJhbWVOZXR3b3JraW5nQ29udGV4dD4gY3JlYXRlTmV0d29ya2luZ0NvbnRleHQoKSB7IHJldHVy
biBQYXNzUmVmUHRyPEZyYW1lTmV0d29ya2luZ0NvbnRleHQ+KCk7IH0KKyAgICB2aXJ0dWFsIFBh
c3NSZWZQdHI8RnJhbWVOZXR3b3JraW5nQ29udGV4dD4gY3JlYXRlTmV0d29ya2luZ0NvbnRleHQo
KSBPVkVSUklERTsKIAogI2lmIEVOQUJMRShXRUJfSU5URU5UUykKLSAgICB2aXJ0dWFsIHZvaWQg
ZGlzcGF0Y2hJbnRlbnQoUGFzc1JlZlB0cjxJbnRlbnRSZXF1ZXN0PikgeyB9CisgICAgdmlydHVh
bCB2b2lkIGRpc3BhdGNoSW50ZW50KFBhc3NSZWZQdHI8SW50ZW50UmVxdWVzdD4pIE9WRVJSSURF
OwogI2VuZGlmCiB9OwogCkBAIC00MjgsNyArMzk2LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAg
ICB2aXJ0dWFsIHZvaWQgZ2V0R3Vlc3Nlc0ZvcldvcmQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3Ry
aW5nJiwgVmVjdG9yPFN0cmluZz4mKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdENoZWNr
aW5nT2ZTdHJpbmcoUGFzc1JlZlB0cjxUZXh0Q2hlY2tpbmdSZXF1ZXN0PikgeyB9CisgICAgdmly
dHVhbCB2b2lkIHJlcXVlc3RDaGVja2luZ09mU3RyaW5nKFBhc3NSZWZQdHI8VGV4dENoZWNraW5n
UmVxdWVzdD4pIE9WRVJSSURFOwogfTsKIAogY2xhc3MgRW1wdHlFZGl0b3JDbGllbnQgOiBwdWJs
aWMgRWRpdG9yQ2xpZW50IHsKQEAgLTQ2OCw4ICs0MzYsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIGRpZFdyaXRlU2VsZWN0aW9uVG9QYXN0ZWJvYXJkKCkgeyB9CiAgICAgdmlydHVhbCB2
b2lkIGRpZFNldFNlbGVjdGlvblR5cGVzRm9yUGFzdGVib2FyZCgpIHsgfQogCi0gICAgdmlydHVh
bCB2b2lkIHJlZ2lzdGVyVW5kb1N0ZXAoUGFzc1JlZlB0cjxVbmRvU3RlcD4pIHsgfQotICAgIHZp
cnR1YWwgdm9pZCByZWdpc3RlclJlZG9TdGVwKFBhc3NSZWZQdHI8VW5kb1N0ZXA+KSB7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJVbmRvU3RlcChQYXNzUmVmUHRyPFVuZG9TdGVwPikgT1ZF
UlJJREU7CisgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyUmVkb1N0ZXAoUGFzc1JlZlB0cjxVbmRv
U3RlcD4pIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBjbGVhclVuZG9SZWRvT3BlcmF0aW9u
cygpIHsgfQogCiAgICAgdmlydHVhbCBib29sIGNhbkNvcHlDdXQoRnJhbWUqLCBib29sIGRlZmF1
bHRWYWx1ZSkgY29uc3QgeyByZXR1cm4gZGVmYXVsdFZhbHVlOyB9CkBAIC01NDYsNyArNTE0LDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBjb250ZXh0TWVudURlc3Ryb3llZCgpIHsgfQog
CiAjaWYgVVNFKENST1NTX1BMQVRGT1JNX0NPTlRFWFRfTUVOVVMpCi0gICAgdmlydHVhbCBQYXNz
T3duUHRyPENvbnRleHRNZW51PiBjdXN0b21pemVNZW51KFBhc3NPd25QdHI8Q29udGV4dE1lbnU+
KSB7IHJldHVybiBudWxscHRyOyB9CisgICAgdmlydHVhbCBQYXNzT3duUHRyPENvbnRleHRNZW51
PiBjdXN0b21pemVNZW51KFBhc3NPd25QdHI8Q29udGV4dE1lbnU+KSBPVkVSUklERTsKICNlbHNl
CiAgICAgdmlydHVhbCBQbGF0Zm9ybU1lbnVEZXNjcmlwdGlvbiBnZXRDdXN0b21NZW51RnJvbURl
ZmF1bHRJdGVtcyhDb250ZXh0TWVudSopIHsgcmV0dXJuIDA7IH0KICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKaW5kZXggYjU5YWY0YmRkMjM3NWY3ZTEyZDM1
MWM3MDhlNDRkM2Q1OGRkMThhMC4uYzkxOGMwZTcwNzlmMmQxNjBmNGFhMTgzNzRjOWRiYzk5NzIx
YmQ0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCkBAIC0zMCwy
NyArMzAsMTIgQEAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlNWR0ltYWdlLmgiCiAKLSNp
bmNsdWRlICJDYWNoZWRQYWdlLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNs
dWRlICJFbXB0eUNsaWVudHMuaCIKLSNpbmNsdWRlICJGaWxlQ2hvb3Nlci5oIgotI2luY2x1ZGUg
IkZpbGVJY29uTG9hZGVyLmgiCi0jaW5jbHVkZSAiRmxvYXRSZWN0LmgiCi0jaW5jbHVkZSAiRnJh
bWUuaCIKLSNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgot
I2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgotI2luY2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5o
IgogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCi0jaW5jbHVkZSAiSW1hZ2VPYnNlcnZlci5oIgot
I2luY2x1ZGUgIkxlbmd0aC5oIgotI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJT
VkdSb290LmgiCi0jaW5jbHVkZSAiUmVuZGVyVmlldy5oIgotI2luY2x1ZGUgIlJlc291cmNlRXJy
b3IuaCIKICNpbmNsdWRlICJTVkdEb2N1bWVudC5oIgotI2luY2x1ZGUgIlNWR0xlbmd0aC5oIgot
I2luY2x1ZGUgIlNWR1JlbmRlclN1cHBvcnQuaCIKICNpbmNsdWRlICJTVkdTVkdFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViSGVscGVyUGx1Z2luSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJIZWxwZXJQbHVnaW5JbXBsLmNwcAppbmRleCA5YThjN2FkNjQ5ZTc1ZWZlM2RlZWYw
MGUwZjliOGI2ZDU3NzI5Mzc5Li5jNGQ2Y2NiOGQ5YWYxODkxNjM4NjRmYmFlZGQ2ZjFlNTM0ZGU1
NTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJIZWxwZXJQbHVn
aW5JbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJIZWxwZXJQbHVn
aW5JbXBsLmNwcApAQCAtMzIsMjEgKzMyLDE1IEBACiAjaW5jbHVkZSAiV2ViSGVscGVyUGx1Z2lu
SW1wbC5oIgogCiAjaW5jbHVkZSAiQ2hyb21lLmgiCisjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIu
aCIKICNpbmNsdWRlICJFbXB0eUNsaWVudHMuaCIKICNpbmNsdWRlICJGb2N1c0NvbnRyb2xsZXIu
aCIKLSNpbmNsdWRlICJGaWxlQ2hvb3Nlci5oIgogI2luY2x1ZGUgIkZvY3VzQ29udHJvbGxlci5o
IgotI2luY2x1ZGUgIkZvcm1TdGF0ZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgotI2luY2x1
ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKLSNpbmNsdWRlICJQYWdl
UG9wdXBDbGllbnQuaCIKICNpbmNsdWRlICJQYWdlV2lkZ2V0RGVsZWdhdGUuaCIKICNpbmNsdWRl
ICJTZXR0aW5ncy5oIgotI2luY2x1ZGUgIldlYklucHV0RXZlbnQuaCIKLSNpbmNsdWRlICJXZWJJ
bnB1dEV2ZW50Q29udmVyc2lvbi5oIgogI2luY2x1ZGUgIldlYkZyYW1lSW1wbC5oIgotI2luY2x1
ZGUgIldlYlBhZ2VQb3B1cC5oIgogI2luY2x1ZGUgIldlYlZpZXdDbGllbnQuaCIKICNpbmNsdWRl
ICJXZWJWaWV3SW1wbC5oIgogI2luY2x1ZGUgIldlYldpZGdldENsaWVudC5oIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGFnZVBvcHVwSW1wbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQYWdlUG9wdXBJbXBsLmNwcAppbmRleCA2MTdiNzI1
Y2VlMmI1ZjlmMmNmMjhlM2NhMjg2Y2Y1MGE3NGZjYzhiLi5hZTVhYWM4YTQwNzNmYjU4NzFkOTcz
NGQ3ZjQ0NzdjYWJmY2VjMzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJQYWdlUG9wdXBJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJQYWdlUG9wdXBJbXBsLmNwcApAQCAtMzMsMTIgKzMzLDExIEBACiAKICNpbmNsdWRlICJDaHJv
bWUuaCIKICNpbmNsdWRlICJET01XaW5kb3dQYWdlUG9wdXAuaCIKKyNpbmNsdWRlICJEb2N1bWVu
dExvYWRlci5oIgogI2luY2x1ZGUgIkVtcHR5Q2xpZW50cy5oIgotI2luY2x1ZGUgIkZpbGVDaG9v
c2VyLmgiCiAjaW5jbHVkZSAiRm9jdXNDb250cm9sbGVyLmgiCi0jaW5jbHVkZSAiRm9ybVN0YXRl
LmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKLSNpbmNsdWRl
ICJIVE1MRm9ybUVsZW1lbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZVBv
cHVwQ2xpZW50LmgiCiAjaW5jbHVkZSAiUGFnZVdpZGdldERlbGVnYXRlLmgiCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145691</attachid>
            <date>2012-06-04 21:20:04 -0700</date>
            <delta_ts>2012-06-05 02:08:23 -0700</delta_ts>
            <desc>Patch for landing 2</desc>
            <filename>bug-88285-20120605132003.patch</filename>
            <type>text/plain</type>
            <size>20167</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjgyZWY0MzE4MDMwYTM4
ZWFmYWQ0NmViMDUyMWY4MjRmMDkzOTQzNi4uZTY2MzJhYWE2MDk0MzI2ZWIyYjdjMmRmNTUwNWEw
NGJhMTlhYzU3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDEyLTA2LTA0ICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBNb3ZlIHNvbWUgZnVuY3Rp
b24gZGVmaW5pdGlvbnMgaW4gRW1wdHlDbGllbnRzLmggdG8gRW1wdHlDbGllbnRzLmNwcAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODgyODUKKworICAg
ICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgSWYgd2UgaGF2ZSBkZWZp
bml0aW9ucyBvZiBmdW5jdGlvbnMgd2l0aCBSZWZQdHI8PiBpbiBFbXB0eUNsaWVudHMuaCBsaWtl
CisKKyAgICAgICAgICAgIHZpcnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVm
UHRyPEZpbGVDaG9vc2VyPikgeyB9CisKKyAgICAgICAgYW5kIGEgc291cmNlIGZpbGUgaW5jbHVk
ZXMgRW1wdHlDbGllbnQuaCwgdGhlIHNvdXJjZSBmaWxlIG5lZWRzIHRvCisgICAgICAgIGluY2x1
ZGUgRmlsZUNob29zZXIuaCB0aG91Z2ggdGhlIHNvdXJjZSBmaWxlIGRvZXNuJ3QgdXNlIEZpbGVD
aG9vc2VyCisgICAgICAgIGNsYXNzIGV4cGxpY2l0bHkgYmVjYXVzZSB0aGUgZGVmaW5pdGlvbiBv
ZiBydW5PcGVuUGFuZWwoKSBuZWVkcyB0byBjYWxsCisgICAgICAgIEZpbGVDaG9vc2VyOjpkZXJl
ZigpLgorICAgICAgICBUbyBhdm9pZCB0aGlzLCB3ZSBoYWQgYmV0dGVyIG1vdmUgc3VjaCBmdW5j
dGlvbnMgdG8gRW1wdHlDbGllbnRzLmNwcC4KKworICAgICAgICBObyBuZXcgdGVzdHMuIE5vIGJl
aGF2aW9yIGNoYW5nZXMuCisKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmNwcDogTW92
ZSBzdWNoIGZ1bmN0aW9ucyBmcm9tIEVtcHR5Q2xpZW50cy5oIHRvCisgICAgICAgIGhlcmUsIGFu
ZCBtb3ZlIEVtcHR5UG9wdXBNZW51IGFuZCBFbXB0eVNlYXJjaFBvcHVwTWVudSB0b28gYmVjYXVz
ZQorICAgICAgICB0aGV5J3JlIHVzZWQgb25seSBieSBFbXB0eUNocm9tZUNsaWVudC4KKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoRW1wdHlQb3B1cE1lbnUpOgorICAgICAgICAoV2ViQ29y
ZTo6RW1wdHlQb3B1cE1lbnU6OnNob3cpOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlQb3B1cE1l
bnU6OmhpZGUpOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlQb3B1cE1lbnU6OnVwZGF0ZUZyb21F
bGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkVtcHR5UG9wdXBNZW51OjpkaXNjb25uZWN0Q2xp
ZW50KToKKyAgICAgICAgKEVtcHR5U2VhcmNoUG9wdXBNZW51KToKKyAgICAgICAgKFdlYkNvcmU6
OkVtcHR5U2VhcmNoUG9wdXBNZW51Ojpwb3B1cE1lbnUpOgorICAgICAgICAoV2ViQ29yZTo6RW1w
dHlTZWFyY2hQb3B1cE1lbnU6OnNhdmVSZWNlbnRTZWFyY2hlcyk6CisgICAgICAgIChXZWJDb3Jl
OjpFbXB0eVNlYXJjaFBvcHVwTWVudTo6bG9hZFJlY2VudFNlYXJjaGVzKToKKyAgICAgICAgKFdl
YkNvcmU6OkVtcHR5U2VhcmNoUG9wdXBNZW51OjplbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OkVtcHR5Q2hyb21lQ2xpZW50OjpjcmVhdGVQb3B1cE1lbnUpOgorICAgICAgICAoV2ViQ29yZTo6
RW1wdHlDaHJvbWVDbGllbnQ6OmNyZWF0ZVNlYXJjaFBvcHVwTWVudSk6CisgICAgICAgIChXZWJD
b3JlOjpFbXB0eUNocm9tZUNsaWVudDo6Y3JlYXRlQ29sb3JDaG9vc2VyKToKKyAgICAgICAgKFdl
YkNvcmU6OkVtcHR5Q2hyb21lQ2xpZW50OjpydW5PcGVuUGFuZWwpOgorICAgICAgICAoV2ViQ29y
ZTo6RW1wdHlGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOZXdXaW5k
b3dBY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlGcmFtZUxvYWRlckNsaWVudDo6ZGlz
cGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkVtcHR5RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpFbXB0eUZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaFdpbGxTdWJt
aXRGb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OkVtcHR5RnJhbWVMb2FkZXJDbGllbnQ6OmNyZWF0
ZURvY3VtZW50TG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkVtcHR5RnJhbWVMb2FkZXJDbGll
bnQ6OmNyZWF0ZUZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkVtcHR5RnJhbWVMb2FkZXJDbGll
bnQ6OmNyZWF0ZVBsdWdpbik6CisgICAgICAgIChXZWJDb3JlOjpFbXB0eUZyYW1lTG9hZGVyQ2xp
ZW50OjpjcmVhdGVKYXZhQXBwbGV0V2lkZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkVtcHR5RnJh
bWVMb2FkZXJDbGllbnQ6OmNyZWF0ZU1lZGlhUGxheWVyUHJveHlQbHVnaW4pOgorICAgICAgICAo
V2ViQ29yZTo6RW1wdHlGcmFtZUxvYWRlckNsaWVudDo6Y3JlYXRlTmV0d29ya2luZ0NvbnRleHQp
OgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hJbnRl
bnQpOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlUZXh0Q2hlY2tlckNsaWVudDo6cmVxdWVzdENo
ZWNraW5nT2ZTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlFZGl0b3JDbGllbnQ6OnJl
Z2lzdGVyVW5kb1N0ZXApOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlFZGl0b3JDbGllbnQ6OnJl
Z2lzdGVyUmVkb1N0ZXApOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlDb250ZXh0TWVudUNsaWVu
dDo6Y3VzdG9taXplTWVudSk6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOiBNb3Zl
IHN1Y2ggZnVuY3Rpb24gZGVmaW5pdGlvbnMgdG8KKyAgICAgICAgRW1wdHlDbGllbnQuY3BwLCBh
bmQgYXBwZW5kIE9WRVJSSURFLgorICAgICAgICAoRW1wdHlDaHJvbWVDbGllbnQpOgorICAgICAg
ICAoRW1wdHlGcmFtZUxvYWRlckNsaWVudCk6CisgICAgICAgIChFbXB0eVRleHRDaGVja2VyQ2xp
ZW50KToKKyAgICAgICAgKEVtcHR5RWRpdG9yQ2xpZW50KToKKyAgICAgICAgKEVtcHR5Q29udGV4
dE1lbnVDbGllbnQpOgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHA6IFJlbW92
ZSB1bm5lY2Vzc2FyeSAjaW5jbHVkZXMuCisKIDIwMTItMDYtMDQgIFRpbSBIb3J0b24gIDx0aW1v
dGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgTW9jayBzY3JvbGxiYXJzIGRpZmZlciBi
eSAxcHggaW4gRFJUIHZzLiBXS1RSCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGJmZThh
NGI5OGUxNzBkMGFiNDMxNDg4OTBlZWM1NTg2MTRhNzk2MDAuLmVhYTZiNzJhZjcxNjJiZjY3YjVm
ZDQ2YjI2MGRiYzIyNTZmNzc4OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTItMDYtMDQgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIE1vdmUgc29tZSBmdW5jdGlvbiBkZWZpbml0aW9ucyBpbiBFbXB0eUNsaWVudHMu
aCB0byBFbXB0eUNsaWVudHMuY3BwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04ODI4NQorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4K
KworICAgICAgICAqIHNyYy9XZWJIZWxwZXJQbHVnaW5JbXBsLmNwcDogUmVtb3ZlIHVubmVjZXNz
YXJ5ICNpbmNsdWRlcywgYW5kIGFkZCBuZWNlc3NhcnkgI2luY2x1ZGVzLgorICAgICAgICAqIHNy
Yy9XZWJQYWdlUG9wdXBJbXBsLmNwcDogZGl0dG8uCisKIDIwMTItMDYtMDQgIERhbmEgSmFuc2Vu
cyAgPGRhbmFrakBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBBbGxvdyBDQ0xh
eWVySW1wbCB0byBmaW5kIGl0cyBsYXllciB0cmVlIGhvc3QsIGFuZCB1c2UgdGhpcyBmb3IgQ0NW
aWRlb0xheWVySW1wbCBpbnN0ZWFkIG9mIGFsd2F5cy1udWxsIHBvaW50ZXIuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCmluZGV4IDQ4MDg4MmUxZjE2NGM5YjA2MjlmNWM0YjA3
M2IwODRjODVmM2U1ZGMuLjFhMDEzNzhmOGM3YTAwNjBhN2FiMGM4NmM0YTE5ODkxZmY2M2M5NzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCkBAIC0yOCwxMyArMjgsMjAg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJFbXB0eUNsaWVudHMuaCIKIAotI2lm
IEVOQUJMRShTVkcpIHx8IEVOQUJMRShQQUdFX1BPUFVQKQorI2luY2x1ZGUgIkRvY3VtZW50TG9h
ZGVyLmgiCiAjaW5jbHVkZSAiRmlsZUNob29zZXIuaCIKICNpbmNsdWRlICJGb3JtU3RhdGUuaCIK
KyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaCIK
ICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKIAorI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NP
TE9SKQorI2luY2x1ZGUgIkNvbG9yQ2hvb3Nlci5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAorI2lmIEVOQUJMRShTVkcpIHx8IEVOQUJMRShQQUdFX1BPUFVQKQogdm9pZCBmaWxs
V2l0aEVtcHR5Q2xpZW50cyhQYWdlOjpQYWdlQ2xpZW50cyYgcGFnZUNsaWVudHMpCiB7CiAjaWYg
RU5BQkxFKENPTlRFWFRfTUVOVVMpCkBAIC01Myw2ICs2MCwxMjEgQEAgdm9pZCBmaWxsV2l0aEVt
cHR5Q2xpZW50cyhQYWdlOjpQYWdlQ2xpZW50cyYgcGFnZUNsaWVudHMpCiAgICAgc3RhdGljIElu
c3BlY3RvckNsaWVudCogZHVtbXlJbnNwZWN0b3JDbGllbnQgPSBhZG9wdFB0cihuZXcgRW1wdHlJ
bnNwZWN0b3JDbGllbnQpLmxlYWtQdHIoKTsKICAgICBwYWdlQ2xpZW50cy5pbnNwZWN0b3JDbGll
bnQgPSBkdW1teUluc3BlY3RvckNsaWVudDsKIH0KKyNlbmRpZgorCitjbGFzcyBFbXB0eVBvcHVw
TWVudSA6IHB1YmxpYyBQb3B1cE1lbnUgeworcHVibGljOgorICAgIHZpcnR1YWwgdm9pZCBzaG93
KGNvbnN0IEludFJlY3QmLCBGcmFtZVZpZXcqLCBpbnQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBo
aWRlKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUZyb21FbGVtZW50KCkgeyB9CisgICAg
dmlydHVhbCB2b2lkIGRpc2Nvbm5lY3RDbGllbnQoKSB7IH0KK307CisKK2NsYXNzIEVtcHR5U2Vh
cmNoUG9wdXBNZW51IDogcHVibGljIFNlYXJjaFBvcHVwTWVudSB7CitwdWJsaWM6CisgICAgdmly
dHVhbCBQb3B1cE1lbnUqIHBvcHVwTWVudSgpIHsgcmV0dXJuIG1fcG9wdXAuZ2V0KCk7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgc2F2ZVJlY2VudFNlYXJjaGVzKGNvbnN0IEF0b21pY1N0cmluZyYsIGNv
bnN0IFZlY3RvcjxTdHJpbmc+JikgeyB9CisgICAgdmlydHVhbCB2b2lkIGxvYWRSZWNlbnRTZWFy
Y2hlcyhjb25zdCBBdG9taWNTdHJpbmcmLCBWZWN0b3I8U3RyaW5nPiYpIHsgfQorICAgIHZpcnR1
YWwgYm9vbCBlbmFibGVkKCkgeyByZXR1cm4gZmFsc2U7IH0KKworcHJpdmF0ZToKKyAgICBSZWZQ
dHI8RW1wdHlQb3B1cE1lbnU+IG1fcG9wdXA7Cit9OworCitQYXNzUmVmUHRyPFBvcHVwTWVudT4g
RW1wdHlDaHJvbWVDbGllbnQ6OmNyZWF0ZVBvcHVwTWVudShQb3B1cE1lbnVDbGllbnQqKSBjb25z
dAoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgRW1wdHlQb3B1cE1lbnUoKSk7Cit9CisKK1Bh
c3NSZWZQdHI8U2VhcmNoUG9wdXBNZW51PiBFbXB0eUNocm9tZUNsaWVudDo6Y3JlYXRlU2VhcmNo
UG9wdXBNZW51KFBvcHVwTWVudUNsaWVudCopIGNvbnN0Cit7CisgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBFbXB0eVNlYXJjaFBvcHVwTWVudSgpKTsKK30KKworI2lmIEVOQUJMRShJTlBVVF9UWVBF
X0NPTE9SKQorUGFzc093blB0cjxDb2xvckNob29zZXI+IEVtcHR5Q2hyb21lQ2xpZW50OjpjcmVh
dGVDb2xvckNob29zZXIoQ29sb3JDaG9vc2VyQ2xpZW50KiwgY29uc3QgQ29sb3ImKQoreworICAg
IHJldHVybiBudWxscHRyOworfQorI2VuZGlmCisKK3ZvaWQgRW1wdHlDaHJvbWVDbGllbnQ6OnJ1
bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KQoreworfQorCit2b2lk
IEVtcHR5RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yTmV3V2luZG93
QWN0aW9uKEZyYW1lUG9saWN5RnVuY3Rpb24sIGNvbnN0IE5hdmlnYXRpb25BY3Rpb24mLCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmLCBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4sIGNvbnN0IFN0cmluZyYp
Cit7Cit9CisKK3ZvaWQgRW1wdHlGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQb2xp
Y3lGb3JOYXZpZ2F0aW9uQWN0aW9uKEZyYW1lUG9saWN5RnVuY3Rpb24sIGNvbnN0IE5hdmlnYXRp
b25BY3Rpb24mLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4p
Cit7Cit9CisKK3ZvaWQgRW1wdHlGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hXaWxsU2VuZFN1
Ym1pdEV2ZW50KFBhc3NSZWZQdHI8Rm9ybVN0YXRlPikKK3sKK30KKwordm9pZCBFbXB0eUZyYW1l
TG9hZGVyQ2xpZW50OjpkaXNwYXRjaFdpbGxTdWJtaXRGb3JtKEZyYW1lUG9saWN5RnVuY3Rpb24s
IFBhc3NSZWZQdHI8Rm9ybVN0YXRlPikKK3sKK30KKworUGFzc1JlZlB0cjxEb2N1bWVudExvYWRl
cj4gRW1wdHlGcmFtZUxvYWRlckNsaWVudDo6Y3JlYXRlRG9jdW1lbnRMb2FkZXIoY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdWJzdGl0dXRlRGF0YSYgc3Vic3RpdHV0ZURh
dGEpCit7CisgICAgcmV0dXJuIERvY3VtZW50TG9hZGVyOjpjcmVhdGUocmVxdWVzdCwgc3Vic3Rp
dHV0ZURhdGEpOworfQorCitQYXNzUmVmUHRyPEZyYW1lPiBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50
OjpjcmVhdGVGcmFtZShjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiwgSFRNTEZyYW1lT3duZXJF
bGVtZW50KiwgY29uc3QgU3RyaW5nJiwgYm9vbCwgaW50LCBpbnQpCit7CisgICAgcmV0dXJuIDA7
Cit9CisKK1Bhc3NSZWZQdHI8V2lkZ2V0PiBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50OjpjcmVhdGVQ
bHVnaW4oY29uc3QgSW50U2l6ZSYsIEhUTUxQbHVnSW5FbGVtZW50KiwgY29uc3QgS1VSTCYsIGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25zdCBTdHJpbmcm
LCBib29sKQoreworICAgIHJldHVybiAwOworfQorCitQYXNzUmVmUHRyPFdpZGdldD4gRW1wdHlG
cmFtZUxvYWRlckNsaWVudDo6Y3JlYXRlSmF2YUFwcGxldFdpZGdldChjb25zdCBJbnRTaXplJiwg
SFRNTEFwcGxldEVsZW1lbnQqLCBjb25zdCBLVVJMJiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBj
b25zdCBWZWN0b3I8U3RyaW5nPiYpCit7CisgICAgcmV0dXJuIDA7Cit9CisKKyNpZiBFTkFCTEUo
UExVR0lOX1BST1hZX0ZPUl9WSURFTykKK1Bhc3NSZWZQdHI8V2lkZ2V0PiBFbXB0eUZyYW1lTG9h
ZGVyQ2xpZW50OjpjcmVhdGVNZWRpYVBsYXllclByb3h5UGx1Z2luKGNvbnN0IEludFNpemUmLCBI
VE1MTWVkaWFFbGVtZW50KiwgY29uc3QgS1VSTCYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgY29u
c3QgVmVjdG9yPFN0cmluZz4mLCBjb25zdCBTdHJpbmcmKQoreworICAgIHJldHVybiAwOworfQor
I2VuZGlmCiAKK1Bhc3NSZWZQdHI8RnJhbWVOZXR3b3JraW5nQ29udGV4dD4gRW1wdHlGcmFtZUxv
YWRlckNsaWVudDo6Y3JlYXRlTmV0d29ya2luZ0NvbnRleHQoKQoreworICAgIHJldHVybiBQYXNz
UmVmUHRyPEZyYW1lTmV0d29ya2luZ0NvbnRleHQ+KCk7Cit9CisKKyNpZiBFTkFCTEUoV0VCX0lO
VEVOVFMpCit2b2lkIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoSW50ZW50KFBhc3NS
ZWZQdHI8SW50ZW50UmVxdWVzdD4pCit7CiB9CiAjZW5kaWYKKwordm9pZCBFbXB0eVRleHRDaGVj
a2VyQ2xpZW50OjpyZXF1ZXN0Q2hlY2tpbmdPZlN0cmluZyhQYXNzUmVmUHRyPFRleHRDaGVja2lu
Z1JlcXVlc3Q+KQoreworfQorCit2b2lkIEVtcHR5RWRpdG9yQ2xpZW50OjpyZWdpc3RlclVuZG9T
dGVwKFBhc3NSZWZQdHI8VW5kb1N0ZXA+KQoreworfQorCit2b2lkIEVtcHR5RWRpdG9yQ2xpZW50
OjpyZWdpc3RlclJlZG9TdGVwKFBhc3NSZWZQdHI8VW5kb1N0ZXA+KQoreworfQorCisjaWYgRU5B
QkxFKENPTlRFWFRfTUVOVVMpCisjaWYgVVNFKENST1NTX1BMQVRGT1JNX0NPTlRFWFRfTUVOVVMp
CitQYXNzT3duUHRyPENvbnRleHRNZW51PiBFbXB0eUNvbnRleHRNZW51Q2xpZW50OjpjdXN0b21p
emVNZW51KFBhc3NPd25QdHI8Q29udGV4dE1lbnU+KQoreworICAgIHJldHVybiBudWxscHRyOwor
fQorI2VuZGlmCisjZW5kaWYKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmlu
ZGV4IGI3NzU5Mzk2ZTk3ZTcyMWIyYmY3YWViYzg1MjBiMGY4NzgyZmE4ZGUuLmY3NDg0ZTc4ZTcx
OWZmYTE5MjhmMDRhMzkzMTZkODJjMjQyNGJhZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmgKQEAgLTMyLDMzICszMiwyMCBAQAogI2luY2x1ZGUgIkNvbnRleHRNZW51Q2xpZW50
LmgiCiAjaW5jbHVkZSAiRGV2aWNlTW90aW9uQ2xpZW50LmgiCiAjaW5jbHVkZSAiRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnQuaCIKLSNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUg
IkRyYWdDbGllbnQuaCIKLSNpbmNsdWRlICJFZGl0Q29tbWFuZC5oIgogI2luY2x1ZGUgIkVkaXRv
ckNsaWVudC5oIgogI2luY2x1ZGUgIlRleHRDaGVja2VyQ2xpZW50LmgiCiAjaW5jbHVkZSAiRmxv
YXRSZWN0LmgiCiAjaW5jbHVkZSAiRm9jdXNEaXJlY3Rpb24uaCIKICNpbmNsdWRlICJGcmFtZUxv
YWRlckNsaWVudC5oIgotI2luY2x1ZGUgIkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaCIKICNpbmNs
dWRlICJJbnNwZWN0b3JDbGllbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCi0jaW5jbHVkZSAiUG9w
dXBNZW51LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgotI2luY2x1ZGUgIlNlYXJjaFBv
cHVwTWVudS5oIgogCiAjaWYgVVNFKFY4KQogI2luY2x1ZGUgPHY4Lmg+CiAjZW5kaWYKIAotI2lm
IEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQotI2luY2x1ZGUgIkNvbG9yQ2hvb3Nlci5oIgotI2Vu
ZGlmCi0KLSNpZiBFTkFCTEUoV0VCX0lOVEVOVFMpCi0jaW5jbHVkZSAiSW50ZW50UmVxdWVzdC5o
IgotI2VuZGlmCi0KIC8qCiAgVGhpcyBmaWxlIGhvbGRzIGVtcHR5IENsaWVudCBzdHVicyBmb3Ig
dXNlIGJ5IFdlYkNvcmUuCiAgVmlld2xlc3MgZWxlbWVudCBuZWVkcyB0byBjcmVhdGUgYSBkdW1t
eSBQYWdlLT5GcmFtZS0+RnJhbWVWaWV3IHRyZWUgZm9yIHVzZSBpbiBwYXJzaW5nIG9yIGV4ZWN1
dGluZyBKYXZhU2NyaXB0LgpAQCAtNzYsMjUgKzYzLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBHcmFwaGljc0NvbnRleHQzRDsKIAotY2xhc3MgRW1wdHlQb3B1cE1lbnUgOiBwdWJs
aWMgUG9wdXBNZW51IHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIHZvaWQgc2hvdyhjb25zdCBJbnRS
ZWN0JiwgRnJhbWVWaWV3KiwgaW50KSB7fQotICAgIHZpcnR1YWwgdm9pZCBoaWRlKCkge30KLSAg
ICB2aXJ0dWFsIHZvaWQgdXBkYXRlRnJvbUVsZW1lbnQoKSB7fQotICAgIHZpcnR1YWwgdm9pZCBk
aXNjb25uZWN0Q2xpZW50KCkge30KLX07Ci0KLWNsYXNzIEVtcHR5U2VhcmNoUG9wdXBNZW51IDog
cHVibGljIFNlYXJjaFBvcHVwTWVudSB7Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCBQb3B1cE1lbnUq
IHBvcHVwTWVudSgpIHsgcmV0dXJuIG1fcG9wdXAuZ2V0KCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQg
c2F2ZVJlY2VudFNlYXJjaGVzKGNvbnN0IEF0b21pY1N0cmluZyYsIGNvbnN0IFZlY3RvcjxTdHJp
bmc+Jikge30KLSAgICB2aXJ0dWFsIHZvaWQgbG9hZFJlY2VudFNlYXJjaGVzKGNvbnN0IEF0b21p
Y1N0cmluZyYsIFZlY3RvcjxTdHJpbmc+Jikge30KLSAgICB2aXJ0dWFsIGJvb2wgZW5hYmxlZCgp
IHsgcmV0dXJuIGZhbHNlOyB9Ci0KLXByaXZhdGU6Ci0gICAgUmVmUHRyPEVtcHR5UG9wdXBNZW51
PiBtX3BvcHVwOwotfTsKLQogY2xhc3MgRW1wdHlDaHJvbWVDbGllbnQgOiBwdWJsaWMgQ2hyb21l
Q2xpZW50IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5FbXB0eUNocm9tZUNsaWVudCgpIHsgfQpA
QCAtMTUwLDggKzExOCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgc2VsZWN0SXRlbVdy
aXRpbmdEaXJlY3Rpb25Jc05hdHVyYWwoKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBzZWxlY3RJdGVtQWxpZ25tZW50Rm9sbG93c01lbnVXcml0aW5nRGlyZWN0aW9uKCkgeyBy
ZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaGFzT3BlbmVkUG9wdXAoKSBjb25zdCBP
VkVSUklERSB7IHJldHVybiBmYWxzZTsgfQotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxQb3B1cE1l
bnU+IGNyZWF0ZVBvcHVwTWVudShQb3B1cE1lbnVDbGllbnQqKSBjb25zdCB7IHJldHVybiBhZG9w
dFJlZihuZXcgRW1wdHlQb3B1cE1lbnUoKSk7IH0KLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2Vh
cmNoUG9wdXBNZW51PiBjcmVhdGVTZWFyY2hQb3B1cE1lbnUoUG9wdXBNZW51Q2xpZW50KikgY29u
c3QgeyByZXR1cm4gYWRvcHRSZWYobmV3IEVtcHR5U2VhcmNoUG9wdXBNZW51KCkpOyB9CisgICAg
dmlydHVhbCBQYXNzUmVmUHRyPFBvcHVwTWVudT4gY3JlYXRlUG9wdXBNZW51KFBvcHVwTWVudUNs
aWVudCopIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTZWFyY2hQb3B1
cE1lbnU+IGNyZWF0ZVNlYXJjaFBvcHVwTWVudShQb3B1cE1lbnVDbGllbnQqKSBjb25zdCBPVkVS
UklERTsKICNpZiBFTkFCTEUoUEFHRV9QT1BVUCkKICAgICB2aXJ0dWFsIFBhZ2VQb3B1cCogb3Bl
blBhZ2VQb3B1cChQYWdlUG9wdXBDbGllbnQqLCBjb25zdCBJbnRSZWN0JikgT1ZFUlJJREUgeyBy
ZXR1cm4gMDsgfQogICAgIHZpcnR1YWwgdm9pZCBjbG9zZVBhZ2VQb3B1cChQYWdlUG9wdXAqKSBP
VkVSUklERSB7IH0KQEAgLTIwMiwxMCArMTcwLDEwIEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYg
RU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCi0gICAgdmlydHVhbCBQYXNzT3duUHRyPENvbG9yQ2hv
b3Nlcj4gY3JlYXRlQ29sb3JDaG9vc2VyKENvbG9yQ2hvb3NlckNsaWVudCosIGNvbnN0IENvbG9y
JikgeyByZXR1cm4gbnVsbHB0cjsgfQorICAgIHZpcnR1YWwgUGFzc093blB0cjxDb2xvckNob29z
ZXI+IGNyZWF0ZUNvbG9yQ2hvb3NlcihDb2xvckNob29zZXJDbGllbnQqLCBjb25zdCBDb2xvciYp
IE9WRVJSSURFOwogI2VuZGlmCiAKLSAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1l
KiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pIHsgfQorICAgIHZpcnR1YWwgdm9pZCBydW5PcGVu
UGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPikgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCB2b2lkIGxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBGaWxlSWNv
bkxvYWRlciopIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0ZURpZENoYW5nZShjb25z
dCBOb2RlKikgeyB9CkBAIC0yOTcsMTQgKzI2NSwxNCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIGRpc3BhdGNoU2hvdygpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGVjaWRl
UG9saWN5Rm9yUmVzcG9uc2UoRnJhbWVQb2xpY3lGdW5jdGlvbiwgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYpIHsgfQotICAgIHZpcnR1YWwgdm9pZCBkaXNw
YXRjaERlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbihGcmFtZVBvbGljeUZ1bmN0aW9uLCBj
b25zdCBOYXZpZ2F0aW9uQWN0aW9uJiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFzc1JlZlB0
cjxGb3JtU3RhdGU+LCBjb25zdCBTdHJpbmcmKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0
Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKEZyYW1lUG9saWN5RnVuY3Rpb24sIGNv
bnN0IE5hdmlnYXRpb25BY3Rpb24mLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBQYXNzUmVmUHRy
PEZvcm1TdGF0ZT4pIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERlY2lkZVBvbGljeUZv
ck5ld1dpbmRvd0FjdGlvbihGcmFtZVBvbGljeUZ1bmN0aW9uLCBjb25zdCBOYXZpZ2F0aW9uQWN0
aW9uJiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFzc1JlZlB0cjxGb3JtU3RhdGU+LCBjb25z
dCBTdHJpbmcmKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEZWNpZGVQb2xp
Y3lGb3JOYXZpZ2F0aW9uQWN0aW9uKEZyYW1lUG9saWN5RnVuY3Rpb24sIGNvbnN0IE5hdmlnYXRp
b25BY3Rpb24mLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4p
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxQb2xpY3lDaGVjaygpIHsgfQogCiAg
ICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoVW5hYmxlVG9JbXBsZW1lbnRQb2xpY3koY29uc3QgUmVz
b3VyY2VFcnJvciYpIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoV2lsbFNlbmRTdWJt
aXRFdmVudChQYXNzUmVmUHRyPEZvcm1TdGF0ZT4pIHsgfQotICAgIHZpcnR1YWwgdm9pZCBkaXNw
YXRjaFdpbGxTdWJtaXRGb3JtKEZyYW1lUG9saWN5RnVuY3Rpb24sIFBhc3NSZWZQdHI8Rm9ybVN0
YXRlPikgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudChQ
YXNzUmVmUHRyPEZvcm1TdGF0ZT4pIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRj
aFdpbGxTdWJtaXRGb3JtKEZyYW1lUG9saWN5RnVuY3Rpb24sIFBhc3NSZWZQdHI8Rm9ybVN0YXRl
PikgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIHZvaWQgcmV2ZXJ0VG9Qcm92aXNpb25hbFN0YXRl
KERvY3VtZW50TG9hZGVyKikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHNldE1haW5Eb2N1bWVudEVy
cm9yKERvY3VtZW50TG9hZGVyKiwgY29uc3QgUmVzb3VyY2VFcnJvciYpIHsgfQpAQCAtMzQ5LDcg
KzMxNyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZCgpIHsgfQog
ICAgIHZpcnR1YWwgdm9pZCBwcmVwYXJlRm9yRGF0YVNvdXJjZVJlcGxhY2VtZW50KCkgeyB9CiAK
LSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RG9jdW1lbnRMb2FkZXI+IGNyZWF0ZURvY3VtZW50TG9h
ZGVyKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgU3Vic3RpdHV0ZURhdGEm
IHN1YnN0aXR1dGVEYXRhKSB7IHJldHVybiBEb2N1bWVudExvYWRlcjo6Y3JlYXRlKHJlcXVlc3Qs
IHN1YnN0aXR1dGVEYXRhKTsgfQorICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxEb2N1bWVudExvYWRl
cj4gY3JlYXRlRG9jdW1lbnRMb2FkZXIoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3Vi
c3RpdHV0ZURhdGEmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VGl0bGUoY29uc3Qg
U3RyaW5nV2l0aERpcmVjdGlvbiYsIGNvbnN0IEtVUkwmKSB7IH0KIAogICAgIHZpcnR1YWwgU3Ry
aW5nIHVzZXJBZ2VudChjb25zdCBLVVJMJikgeyByZXR1cm4gIiI7IH0KQEAgLTM3MywxMSArMzQx
LDExIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlkRGlzcGxheUluc2VjdXJlQ29udGVu
dCgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRSdW5JbnNlY3VyZUNvbnRlbnQoU2VjdXJpdHlP
cmlnaW4qLCBjb25zdCBLVVJMJikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZERldGVjdFhTUyhj
b25zdCBLVVJMJiwgYm9vbCkgeyB9Ci0gICAgdmlydHVhbCBQYXNzUmVmUHRyPEZyYW1lPiBjcmVh
dGVGcmFtZShjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiwgSFRNTEZyYW1lT3duZXJFbGVtZW50
KiwgY29uc3QgU3RyaW5nJiwgYm9vbCwgaW50LCBpbnQpIHsgcmV0dXJuIDA7IH0KLSAgICB2aXJ0
dWFsIFBhc3NSZWZQdHI8V2lkZ2V0PiBjcmVhdGVQbHVnaW4oY29uc3QgSW50U2l6ZSYsIEhUTUxQ
bHVnSW5FbGVtZW50KiwgY29uc3QgS1VSTCYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3Qg
VmVjdG9yPFN0cmluZz4mLCBjb25zdCBTdHJpbmcmLCBib29sKSB7IHJldHVybiAwOyB9Ci0gICAg
dmlydHVhbCBQYXNzUmVmUHRyPFdpZGdldD4gY3JlYXRlSmF2YUFwcGxldFdpZGdldChjb25zdCBJ
bnRTaXplJiwgSFRNTEFwcGxldEVsZW1lbnQqLCBjb25zdCBLVVJMJiwgY29uc3QgVmVjdG9yPFN0
cmluZz4mLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYpIHsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0dWFs
IFBhc3NSZWZQdHI8RnJhbWU+IGNyZWF0ZUZyYW1lKGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcm
LCBIVE1MRnJhbWVPd25lckVsZW1lbnQqLCBjb25zdCBTdHJpbmcmLCBib29sLCBpbnQsIGludCkg
T1ZFUlJJREU7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdpZGdldD4gY3JlYXRlUGx1Z2luKGNv
bnN0IEludFNpemUmLCBIVE1MUGx1Z0luRWxlbWVudCosIGNvbnN0IEtVUkwmLCBjb25zdCBWZWN0
b3I8U3RyaW5nPiYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgU3RyaW5nJiwgYm9vbCkg
T1ZFUlJJREU7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdpZGdldD4gY3JlYXRlSmF2YUFwcGxl
dFdpZGdldChjb25zdCBJbnRTaXplJiwgSFRNTEFwcGxldEVsZW1lbnQqLCBjb25zdCBLVVJMJiwg
Y29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYpIE9WRVJSSURFOwog
I2lmIEVOQUJMRShQTFVHSU5fUFJPWFlfRk9SX1ZJREVPKQotICAgIHZpcnR1YWwgUGFzc1JlZlB0
cjxXaWRnZXQ+IGNyZWF0ZU1lZGlhUGxheWVyUHJveHlQbHVnaW4oY29uc3QgSW50U2l6ZSYsIEhU
TUxNZWRpYUVsZW1lbnQqLCBjb25zdCBLVVJMJiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25z
dCBWZWN0b3I8U3RyaW5nPiYsIGNvbnN0IFN0cmluZyYpIHsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0
dWFsIFBhc3NSZWZQdHI8V2lkZ2V0PiBjcmVhdGVNZWRpYVBsYXllclByb3h5UGx1Z2luKGNvbnN0
IEludFNpemUmLCBIVE1MTWVkaWFFbGVtZW50KiwgY29uc3QgS1VSTCYsIGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25zdCBTdHJpbmcmKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIHZvaWQgaGlkZU1lZGlhUGxheWVyUHJveHlQbHVnaW4oV2lkZ2V0KikgeyB9
CiAgICAgdmlydHVhbCB2b2lkIHNob3dNZWRpYVBsYXllclByb3h5UGx1Z2luKFdpZGdldCopIHsg
fQogI2VuZGlmCkBAIC00MDcsMTAgKzM3NSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29s
IHNob3VsZENhY2hlUmVzcG9uc2UoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgdW5zaWduZWQgY2hhciosIHVuc2lnbmVkIGxvbmcg
bG9uZykgeyByZXR1cm4gdHJ1ZTsgfQogI2VuZGlmCiAKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8
RnJhbWVOZXR3b3JraW5nQ29udGV4dD4gY3JlYXRlTmV0d29ya2luZ0NvbnRleHQoKSB7IHJldHVy
biBQYXNzUmVmUHRyPEZyYW1lTmV0d29ya2luZ0NvbnRleHQ+KCk7IH0KKyAgICB2aXJ0dWFsIFBh
c3NSZWZQdHI8RnJhbWVOZXR3b3JraW5nQ29udGV4dD4gY3JlYXRlTmV0d29ya2luZ0NvbnRleHQo
KSBPVkVSUklERTsKIAogI2lmIEVOQUJMRShXRUJfSU5URU5UUykKLSAgICB2aXJ0dWFsIHZvaWQg
ZGlzcGF0Y2hJbnRlbnQoUGFzc1JlZlB0cjxJbnRlbnRSZXF1ZXN0PikgeyB9CisgICAgdmlydHVh
bCB2b2lkIGRpc3BhdGNoSW50ZW50KFBhc3NSZWZQdHI8SW50ZW50UmVxdWVzdD4pIE9WRVJSSURF
OwogI2VuZGlmCiB9OwogCkBAIC00MjgsNyArMzk2LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAg
ICB2aXJ0dWFsIHZvaWQgZ2V0R3Vlc3Nlc0ZvcldvcmQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3Ry
aW5nJiwgVmVjdG9yPFN0cmluZz4mKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdENoZWNr
aW5nT2ZTdHJpbmcoUGFzc1JlZlB0cjxUZXh0Q2hlY2tpbmdSZXF1ZXN0PikgeyB9CisgICAgdmly
dHVhbCB2b2lkIHJlcXVlc3RDaGVja2luZ09mU3RyaW5nKFBhc3NSZWZQdHI8VGV4dENoZWNraW5n
UmVxdWVzdD4pIE9WRVJSSURFOwogfTsKIAogY2xhc3MgRW1wdHlFZGl0b3JDbGllbnQgOiBwdWJs
aWMgRWRpdG9yQ2xpZW50IHsKQEAgLTQ2OCw4ICs0MzYsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIGRpZFdyaXRlU2VsZWN0aW9uVG9QYXN0ZWJvYXJkKCkgeyB9CiAgICAgdmlydHVhbCB2
b2lkIGRpZFNldFNlbGVjdGlvblR5cGVzRm9yUGFzdGVib2FyZCgpIHsgfQogCi0gICAgdmlydHVh
bCB2b2lkIHJlZ2lzdGVyVW5kb1N0ZXAoUGFzc1JlZlB0cjxVbmRvU3RlcD4pIHsgfQotICAgIHZp
cnR1YWwgdm9pZCByZWdpc3RlclJlZG9TdGVwKFBhc3NSZWZQdHI8VW5kb1N0ZXA+KSB7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJVbmRvU3RlcChQYXNzUmVmUHRyPFVuZG9TdGVwPikgT1ZF
UlJJREU7CisgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyUmVkb1N0ZXAoUGFzc1JlZlB0cjxVbmRv
U3RlcD4pIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBjbGVhclVuZG9SZWRvT3BlcmF0aW9u
cygpIHsgfQogCiAgICAgdmlydHVhbCBib29sIGNhbkNvcHlDdXQoRnJhbWUqLCBib29sIGRlZmF1
bHRWYWx1ZSkgY29uc3QgeyByZXR1cm4gZGVmYXVsdFZhbHVlOyB9CkBAIC01NDYsNyArNTE0LDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBjb250ZXh0TWVudURlc3Ryb3llZCgpIHsgfQog
CiAjaWYgVVNFKENST1NTX1BMQVRGT1JNX0NPTlRFWFRfTUVOVVMpCi0gICAgdmlydHVhbCBQYXNz
T3duUHRyPENvbnRleHRNZW51PiBjdXN0b21pemVNZW51KFBhc3NPd25QdHI8Q29udGV4dE1lbnU+
KSB7IHJldHVybiBudWxscHRyOyB9CisgICAgdmlydHVhbCBQYXNzT3duUHRyPENvbnRleHRNZW51
PiBjdXN0b21pemVNZW51KFBhc3NPd25QdHI8Q29udGV4dE1lbnU+KSBPVkVSUklERTsKICNlbHNl
CiAgICAgdmlydHVhbCBQbGF0Zm9ybU1lbnVEZXNjcmlwdGlvbiBnZXRDdXN0b21NZW51RnJvbURl
ZmF1bHRJdGVtcyhDb250ZXh0TWVudSopIHsgcmV0dXJuIDA7IH0KICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKaW5kZXggYjU5YWY0YmRkMjM3NWY3ZTEyZDM1
MWM3MDhlNDRkM2Q1OGRkMThhMC4uYzkxOGMwZTcwNzlmMmQxNjBmNGFhMTgzNzRjOWRiYzk5NzIx
YmQ0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCkBAIC0zMCwy
NyArMzAsMTIgQEAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlNWR0ltYWdlLmgiCiAKLSNp
bmNsdWRlICJDYWNoZWRQYWdlLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNs
dWRlICJFbXB0eUNsaWVudHMuaCIKLSNpbmNsdWRlICJGaWxlQ2hvb3Nlci5oIgotI2luY2x1ZGUg
IkZpbGVJY29uTG9hZGVyLmgiCi0jaW5jbHVkZSAiRmxvYXRSZWN0LmgiCi0jaW5jbHVkZSAiRnJh
bWUuaCIKLSNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgot
I2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgotI2luY2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5o
IgogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCi0jaW5jbHVkZSAiSW1hZ2VPYnNlcnZlci5oIgot
I2luY2x1ZGUgIkxlbmd0aC5oIgotI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJT
VkdSb290LmgiCi0jaW5jbHVkZSAiUmVuZGVyVmlldy5oIgotI2luY2x1ZGUgIlJlc291cmNlRXJy
b3IuaCIKICNpbmNsdWRlICJTVkdEb2N1bWVudC5oIgotI2luY2x1ZGUgIlNWR0xlbmd0aC5oIgot
I2luY2x1ZGUgIlNWR1JlbmRlclN1cHBvcnQuaCIKICNpbmNsdWRlICJTVkdTVkdFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViSGVscGVyUGx1Z2luSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJIZWxwZXJQbHVnaW5JbXBsLmNwcAppbmRleCA5YThjN2FkNjQ5ZTc1ZWZlM2RlZWYw
MGUwZjliOGI2ZDU3NzI5Mzc5Li4xNTgxZGVhMjg4Yzc5NDk2ZTJkNzE3N2YyYmE4NTZmMmM2YjYz
NzE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJIZWxwZXJQbHVn
aW5JbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJIZWxwZXJQbHVn
aW5JbXBsLmNwcApAQCAtMzIsMjEgKzMyLDE0IEBACiAjaW5jbHVkZSAiV2ViSGVscGVyUGx1Z2lu
SW1wbC5oIgogCiAjaW5jbHVkZSAiQ2hyb21lLmgiCisjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIu
aCIKICNpbmNsdWRlICJFbXB0eUNsaWVudHMuaCIKICNpbmNsdWRlICJGb2N1c0NvbnRyb2xsZXIu
aCIKLSNpbmNsdWRlICJGaWxlQ2hvb3Nlci5oIgotI2luY2x1ZGUgIkZvY3VzQ29udHJvbGxlci5o
IgotI2luY2x1ZGUgIkZvcm1TdGF0ZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgotI2luY2x1
ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKLSNpbmNsdWRlICJQYWdl
UG9wdXBDbGllbnQuaCIKICNpbmNsdWRlICJQYWdlV2lkZ2V0RGVsZWdhdGUuaCIKICNpbmNsdWRl
ICJTZXR0aW5ncy5oIgotI2luY2x1ZGUgIldlYklucHV0RXZlbnQuaCIKLSNpbmNsdWRlICJXZWJJ
bnB1dEV2ZW50Q29udmVyc2lvbi5oIgogI2luY2x1ZGUgIldlYkZyYW1lSW1wbC5oIgotI2luY2x1
ZGUgIldlYlBhZ2VQb3B1cC5oIgogI2luY2x1ZGUgIldlYlZpZXdDbGllbnQuaCIKICNpbmNsdWRl
ICJXZWJWaWV3SW1wbC5oIgogI2luY2x1ZGUgIldlYldpZGdldENsaWVudC5oIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGFnZVBvcHVwSW1wbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQYWdlUG9wdXBJbXBsLmNwcAppbmRleCA2MTdiNzI1
Y2VlMmI1ZjlmMmNmMjhlM2NhMjg2Y2Y1MGE3NGZjYzhiLi5hZTVhYWM4YTQwNzNmYjU4NzFkOTcz
NGQ3ZjQ0NzdjYWJmY2VjMzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJQYWdlUG9wdXBJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJQYWdlUG9wdXBJbXBsLmNwcApAQCAtMzMsMTIgKzMzLDExIEBACiAKICNpbmNsdWRlICJDaHJv
bWUuaCIKICNpbmNsdWRlICJET01XaW5kb3dQYWdlUG9wdXAuaCIKKyNpbmNsdWRlICJEb2N1bWVu
dExvYWRlci5oIgogI2luY2x1ZGUgIkVtcHR5Q2xpZW50cy5oIgotI2luY2x1ZGUgIkZpbGVDaG9v
c2VyLmgiCiAjaW5jbHVkZSAiRm9jdXNDb250cm9sbGVyLmgiCi0jaW5jbHVkZSAiRm9ybVN0YXRl
LmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKLSNpbmNsdWRl
ICJIVE1MRm9ybUVsZW1lbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZVBv
cHVwQ2xpZW50LmgiCiAjaW5jbHVkZSAiUGFnZVdpZGdldERlbGVnYXRlLmgiCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>