<?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>142540</bug_id>
          
          <creation_ts>2015-03-10 12:33:38 -0700</creation_ts>
          <short_desc>Stop using USE(CFNETWORK) path on iOS</short_desc>
          <delta_ts>2016-01-14 15:15:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></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>
          
          <blocked>137936</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>achristensen</cc>
    
    <cc>aestes</cc>
    
    <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>japhet</cc>
    
    <cc>koivisto</cc>
    
    <cc>mitz</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1076034</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-03-10 12:33:38 -0700</bug_when>
    <thetext>Use the same networking APIs as OS X.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1076036</commentid>
    <comment_count>1</comment_count>
      <attachid>248347</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-03-10 12:37:31 -0700</bug_when>
    <thetext>Created attachment 248347
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1076042</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-03-10 13:00:07 -0700</bug_when>
    <thetext>My previous comments still apply, I object to doing this now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1076064</commentid>
    <comment_count>3</comment_count>
      <attachid>248352</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-03-10 13:45:24 -0700</bug_when>
    <thetext>Created attachment 248352
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151617</commentid>
    <comment_count>4</comment_count>
      <attachid>268009</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-12-30 11:15:23 -0800</bug_when>
    <thetext>Created attachment 268009
Rebaseline Antti&apos;s 2015-03-10 patch and merge various fixes from Bug 137936</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151632</commentid>
    <comment_count>5</comment_count>
      <attachid>268013</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-12-30 15:00:10 -0800</bug_when>
    <thetext>Created attachment 268013
Fix all the build failures v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151640</commentid>
    <comment_count>6</comment_count>
      <attachid>268015</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-12-30 15:29:40 -0800</bug_when>
    <thetext>Created attachment 268015
Fix all the build failures v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151649</commentid>
    <comment_count>7</comment_count>
      <attachid>268020</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-12-30 15:52:44 -0800</bug_when>
    <thetext>Created attachment 268020
Fix all the build failures v3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151652</commentid>
    <comment_count>8</comment_count>
      <attachid>268021</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-12-30 17:47:51 -0800</bug_when>
    <thetext>Created attachment 268021
Patch v4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151655</commentid>
    <comment_count>9</comment_count>
      <attachid>268021</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-12-30 19:14:57 -0800</bug_when>
    <thetext>Comment on attachment 268021
Patch v4

Need to run layout tests locally with iOS Simulator build before landing to make sure nothing is broken, but please review for any issues in the meantime.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151658</commentid>
    <comment_count>10</comment_count>
      <attachid>268024</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-12-30 20:36:42 -0800</bug_when>
    <thetext>Created attachment 268024
Patch v5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151713</commentid>
    <comment_count>11</comment_count>
      <attachid>268024</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-12-31 08:57:42 -0800</bug_when>
    <thetext>Comment on attachment 268024
Patch v5

Looks sane to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151797</commentid>
    <comment_count>12</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-12-31 15:50:46 -0800</bug_when>
    <thetext>Committed r194472: &lt;http://trac.webkit.org/changeset/194472&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151799</commentid>
    <comment_count>13</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-12-31 15:54:18 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; Committed r194472: &lt;http://trac.webkit.org/changeset/194472&gt;

I landed Step 1/2 as all changes for the reviewed patch except actually turning off USE(CFNETWORK) for internal builds.

This should reduce the iOS Simulator WK1 Tests down to less than 10 crashes per run on build.webkit.org.

I will land the Platform.h change after discussing with folks working on WebKit performance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1155301</commentid>
    <comment_count>14</comment_count>
      <attachid>268918</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-01-13 16:54:16 -0800</bug_when>
    <thetext>Created attachment 268918
Part 2/2: Stop using USE(CFNETWORK) on iOS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1155303</commentid>
    <comment_count>15</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-01-13 16:55:00 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; I will land the Platform.h change after discussing with folks working on
&gt; WebKit performance.

I checked with the performance team.  We&apos;ll just land this separately, then watch the bots for any regressions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1155304</commentid>
    <comment_count>16</comment_count>
      <attachid>268918</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-01-13 16:56:13 -0800</bug_when>
    <thetext>Comment on attachment 268918
Part 2/2: Stop using USE(CFNETWORK) on iOS

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1155414</commentid>
    <comment_count>17</comment_count>
      <attachid>268918</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-14 04:05:12 -0800</bug_when>
    <thetext>Comment on attachment 268918
Part 2/2: Stop using USE(CFNETWORK) on iOS

Clearing flags on attachment: 268918

Committed r195035: &lt;http://trac.webkit.org/changeset/195035&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1155415</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-14 04:05:17 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1155600</commentid>
    <comment_count>19</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-01-14 15:00:38 -0800</bug_when>
    <thetext>Reverted r195035 for reason:

Caused 1-3% PLT regression on iOS

Committed r195079: &lt;http://trac.webkit.org/changeset/195079&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248347</attachid>
            <date>2015-03-10 12:37:31 -0700</date>
            <delta_ts>2015-03-10 13:45:24 -0700</delta_ts>
            <desc>patch</desc>
            <filename>ios-nsloader.patch</filename>
            <type>text/plain</type>
            <size>13127</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxODEzMzQpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE1LTAzLTEwICBBbnR0aSBLb2l2aXN0byAgPGFu
dHRpQGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIHVzaW5nIFVTRShDRk5FVFdPUkspIHBhdGgg
b24gaU9TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDI1NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHd0Zi9QbGF0Zm9ybS5oOgorCiAyMDE1LTAzLTEwICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxl
LmNvbT4KIAogICAgICAgICBbV2luXSBKU0MgQnVpbGQgV2FybmluZ3MgTmVlZCB0byBiZSBSZXNv
bHZlZC4KSW5kZXg6IFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dURi93dGYvUGxhdGZvcm0uaAkocmV2aXNpb24gMTgxMjY3KQorKysgU291cmNlL1dURi93
dGYvUGxhdGZvcm0uaAkod29ya2luZyBjb3B5KQpAQCAtNTE3LDkgKzUxNyw2IEBACiAjaWYgUExB
VEZPUk0oSU9TKQogCiAjZGVmaW5lIEhBVkVfUkVBRExJTkUgMQotI2lmIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCi0jZGVmaW5lIFdURl9VU0VfQ0ZORVRXT1JLIDEKLSNlbmRpZgogI2RlZmluZSBX
VEZfVVNFX1VJS0lUX0VESVRJTkcgMQogI2RlZmluZSBXVEZfVVNFX1dFQl9USFJFQUQgMQogI2Rl
ZmluZSBXVEZfVVNFX1FVSUNLX0xPT0sgMQpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTgxMzM0
KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MjEgQEAKKzIwMTUtMDMtMTAgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisg
ICAgICAgIFN0b3AgdXNpbmcgVVNFKENGTkVUV09SSykgcGF0aCBvbiBpT1MKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MjU0MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuaWZ5IE9TIFggYW5kIGlPUyBj
b2RlIHBhdGhzLgorCisgICAgICAgIFRoaXMgcGF0Y2gganVzdCBzd2l0Y2hlcyB0aGUgcGF0aHMu
IEl0IGRvZXNuJ3QgeWV0IGRlbGV0ZSBhbnkgdW5uZWNlc3NhcnkgY29kZS4KKworICAgICAgICAq
IGxvYWRlci9Eb2N1bWVudExvYWRlci5oOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRl
ci5jcHA6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogbG9h
ZGVyL21hYy9Eb2N1bWVudExvYWRlck1hYy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vaW9zL3dh
ay9XZWJDb3JlVGhyZWFkLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3Vy
Y2VIYW5kbGVNYWMubW06CisKIDIwMTUtMDMtMTAgIFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25nQGFw
cGxlLmNvbT4KIAogICAgICAgICBBZGp1c3RtZW50cyB0byBtZWRpYSBjb250cm9sIGZvbnRzLgpJ
bmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgJKHJldmlzaW9uIDE4MTI2
NykKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCSh3b3JraW5nIGNv
cHkpCkBAIC01NSw2ICs1NSwxMCBAQAogI2luY2x1ZGUgIlF1aWNrTG9vay5oIgogI2VuZGlmCiAK
KyNpZiBQTEFURk9STShDT0NPQSkKKyNpbmNsdWRlIDx3dGYvU2NoZWR1bGVQYWlyLmg+CisjZW5k
aWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgQXBwbGljYXRpb25DYWNoZUhv
c3Q7CkBAIC0xNDIsNyArMTQ2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHNldFRpdGxlKGNvbnN0IFN0cmluZ1dpdGhEaXJlY3Rpb24mKTsKICAg
ICAgICAgY29uc3QgU3RyaW5nJiBvdmVycmlkZUVuY29kaW5nKCkgY29uc3QgeyByZXR1cm4gbV9v
dmVycmlkZUVuY29kaW5nOyB9CiAKLSNpZiBQTEFURk9STShNQUMpCisjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgICAgIHZvaWQgc2NoZWR1bGUoU2NoZWR1bGVQYWlyJik7CiAgICAgICAgIHZvaWQg
dW5zY2hlZHVsZShTY2hlZHVsZVBhaXImKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUv
bG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCShyZXZpc2lvbiAxODEyNjcpCisrKyBTb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MjksNyAr
NjI5LDcgQEAgdm9pZCBSZXNvdXJjZUxvYWRlcjo6cmVjZWl2ZWRDYW5jZWxsYXRpbwogICAgIGNh
bmNlbCgpOwogfQogCi0jaWYgUExBVEZPUk0oTUFDKQorI2lmIFBMQVRGT1JNKENPQ09BKQogCiB2
b2lkIFJlc291cmNlTG9hZGVyOjpzY2hlZHVsZShTY2hlZHVsZVBhaXImIHBhaXIpCiB7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaAkocmV2aXNpb24gMTgxMjY3KQor
KysgU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTEzNSw3ICsxMzUsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHdpbGxTd2l0Y2hUb1N1YnN0
aXR1dGVSZXNvdXJjZSgpOwogCi0jaWYgUExBVEZPUk0oTUFDKQorI2lmIFBMQVRGT1JNKENPQ09B
KQogICAgIHZvaWQgc2NoZWR1bGUoV1RGOjpTY2hlZHVsZVBhaXImKTsKICAgICB2b2lkIHVuc2No
ZWR1bGUoV1RGOjpTY2hlZHVsZVBhaXImKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUv
bG9hZGVyL21hYy9Eb2N1bWVudExvYWRlck1hYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvbG9hZGVyL21hYy9Eb2N1bWVudExvYWRlck1hYy5jcHAJKHJldmlzaW9uIDE4MTI2NykK
KysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9tYWMvRG9jdW1lbnRMb2FkZXJNYWMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMyw4ICszMyw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotI2lm
IFBMQVRGT1JNKE1BQykKLQogc3RhdGljIHZvaWQgc2NoZWR1bGVBbGwoY29uc3QgUmVzb3VyY2VM
b2FkZXJNYXAmIGxvYWRlcnMsIFNjaGVkdWxlUGFpciYgcGFpcikKIHsKICAgICBWZWN0b3I8UmVm
UHRyPFJlc291cmNlTG9hZGVyPj4gbG9hZGVyc0NvcHk7CkBAIC02OSw2ICs2Nyw0IEBAIHZvaWQg
RG9jdW1lbnRMb2FkZXI6OnVuc2NoZWR1bGUoU2NoZWR1bGUKICAgICB1bnNjaGVkdWxlQWxsKG1f
bXVsdGlwYXJ0U3VicmVzb3VyY2VMb2FkZXJzLCBwYWlyKTsKIH0KIAotI2VuZGlmCi0KIH0gLy8g
bmFtZXNwYWNlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVU
aHJlYWQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dl
YkNvcmVUaHJlYWQuaAkocmV2aXNpb24gMTgxMjY3KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkLmgJKHdvcmtpbmcgY29weSkKQEAgLTgxLDcgKzgxLDcg
QEAgc3RhdGljIGlubGluZSBib29sIFdlYlRocmVhZFNob3VsZFlpZWxkKAogc3RhdGljIGlubGlu
ZSB2b2lkIFdlYlRocmVhZFNldFNob3VsZFlpZWxkKCkgeyB3ZWJUaHJlYWRTaG91bGRZaWVsZCA9
IHRydWU7IH0KIAogV0VCQ09SRV9FWFBPUlQgQ0ZSdW5Mb29wUmVmIFdlYlRocmVhZFJ1bkxvb3Ao
dm9pZCk7Ci1OU1J1bkxvb3AqIFdlYlRocmVhZE5TUnVuTG9vcCh2b2lkKTsKK1dFQkNPUkVfRVhQ
T1JUIE5TUnVuTG9vcCogV2ViVGhyZWFkTlNSdW5Mb29wKHZvaWQpOwogV2ViVGhyZWFkQ29udGV4
dCAqV2ViVGhyZWFkQ3VycmVudENvbnRleHQodm9pZCk7CiBib29sIFdlYlRocmVhZENvbnRleHRJ
c0N1cnJlbnQodm9pZCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
bWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCShyZXZpc2lvbiAxODEyNjcp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1h
Yy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzE2LDggKzMxNiw2IEBAIHZvaWQgUmVzb3VyY2VIYW5k
bGU6OnBsYXRmb3JtU2V0RGVmZXJzTG8KICAgICAgICAgd2tTZXROU1VSTENvbm5lY3Rpb25EZWZl
cnNDYWxsYmFja3MoZC0+bV9jb25uZWN0aW9uLmdldCgpLCBkZWZlcnMpOwogfQogCi0jaWYgUExB
VEZPUk0oTUFDKQotCiB2b2lkIFJlc291cmNlSGFuZGxlOjpzY2hlZHVsZShTY2hlZHVsZVBhaXIm
IHBhaXIpCiB7CiAgICAgTlNSdW5Mb29wICpydW5Mb29wID0gcGFpci5uc1J1bkxvb3AoKTsKQEAg
LTMzNiw4ICszMzQsNiBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjp1bnNjaGVkdWxlKFNjaGVkdWxl
CiAgICAgICAgIFtkLT5tX2Nvbm5lY3Rpb24uZ2V0KCkgdW5zY2hlZHVsZUZyb21SdW5Mb29wOnJ1
bkxvb3AgZm9yTW9kZTooTlNTdHJpbmcgKilwYWlyLm1vZGUoKV07CiB9CiAKLSNlbmRpZgotCiBp
ZCBSZXNvdXJjZUhhbmRsZTo6bWFrZURlbGVnYXRlKGJvb2wgc2hvdWxkVXNlQ3JlZGVudGlhbFN0
b3JhZ2UpCiB7CiAgICAgQVNTRVJUKCFkLT5tX2RlbGVnYXRlKTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE4MTMzNCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE2IEBACisyMDE1LTAzLTEwICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFw
cGxlLmNvbT4KKworICAgICAgICBTdG9wIHVzaW5nIFVTRShDRk5FVFdPUkspIHBhdGggb24gaU9T
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI1NDAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNoYXJl
ZC9Eb3dubG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpzZXRVcERv
d25sb2FkQ2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6RG93bmxvYWQ6OnN0YXJ0V2l0aEhhbmRs
ZSk6CisgICAgICAgICogU2hhcmVkL0Rvd25sb2Fkcy9tYWMvRG93bmxvYWRNYWMubW06CisgICAg
ICAgICgtW1dLRG93bmxvYWRBc0RlbGVnYXRlIGRvd25sb2FkOnNob3VsZERlY29kZVNvdXJjZURh
dGFPZk1JTUVUeXBlOl0pOgorCiAyMDE1LTAzLTEwICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNn
YXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBDb250ZW50cyBub3Qgc2hvd24gd2hl
biBlbnRlcmluZyBBQyBtb2RlIHVubGVzcyB0aGUgd2luZG93IGlzIHJlc2l6ZWQKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1NoYXJlZC9Eb3dubG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9Eb3dubG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1t
CShyZXZpc2lvbiAxODEyNjcpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRG93bmxvYWRzL2lv
cy9Eb3dubG9hZElPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9y
dCAiY29uZmlnLmgiCiAjaW1wb3J0ICJEb3dubG9hZC5oIgogCi0jaWYgUExBVEZPUk0oSU9TKQor
I2lmIFVTRShDRk5FVFdPUkspCiAKICNpbXBvcnQgIkRhdGFSZWZlcmVuY2UuaCIKICNpbXBvcnQg
PFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KQEAgLTM2LDE1ICszNiwxMiBAQAogI2ltcG9ydCA8
d3RmL1JldGFpblB0ci5oPgogI2ltcG9ydCA8d3RmL1J1bkxvb3AuaD4KIAotI2lmIFVTRShDRk5F
VFdPUkspCiAjaW1wb3J0IDxDRk5ldHdvcmsvQ0ZVUkxEb3dubG9hZC5oPgotI2VuZGlmCiAKIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotI2lmIFVTRShD
Rk5FVFdPUkspCiAvLyBGSVhNRTogSWYgcG9zc2libGUsIHdlIHNob3VsZCBjb25zaWRlciBtb3Zp
bmcgc29tZSBjYWxsYmFja3Mgb2ZmIHRoZSBtYWluIHRocmVhZCBvciBhdCBsZWFzdAogLy8gbWFr
aW5nIHRoZW0gYXN5bmNob25vdXMgY2FsbHMuCiBzdGF0aWMgdm9pZCBkaXNwYXRjaE9uTWFpblRo
cmVhZCh2b2lkKF5ibG9jaykoKSkKQEAgLTEyNSw3ICsxMjIsNiBAQCBzdGF0aWMgdm9pZCBzZXRV
cERvd25sb2FkQ2xpZW50KENGVVJMRG93CiAgICAgICAgIH0pOwogICAgIH07CiB9Ci0jZW5kaWYg
Ly8gVVNFKENGTkVUV09SSykKIAogdm9pZCBEb3dubG9hZDo6c3RhcnQoKQogewpAQCAtMTM5LDEz
ICsxMzUsOSBAQCB2b2lkIERvd25sb2FkOjpyZXN1bWUoY29uc3QgSVBDOjpEYXRhUmVmCiAKIHZv
aWQgRG93bmxvYWQ6OnN0YXJ0V2l0aEhhbmRsZShSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKIHsKLSNpZiBVU0UoQ0ZORVRXT1JLKQogICAg
IENGVVJMRG93bmxvYWRDbGllbnQgY2xpZW50OwogICAgIHNldFVwRG93bmxvYWRDbGllbnQoY2xp
ZW50LCAqdGhpcyk7CiAgICAgbV9kb3dubG9hZCA9IGFkb3B0Q0YoQ0ZVUkxEb3dubG9hZENyZWF0
ZUFuZFN0YXJ0V2l0aExvYWRpbmdDb25uZWN0aW9uKE5VTEwsIGhhbmRsZS0+cmVsZWFzZUNvbm5l
Y3Rpb25Gb3JEb3dubG9hZCgpLmdldCgpLCBtX3JlcXVlc3QuY2ZVUkxSZXF1ZXN0KFVwZGF0ZUhU
VFBCb2R5KSwgcmVzcG9uc2UuY2ZVUkxSZXNwb25zZSgpLCAmY2xpZW50KSk7Ci0jZWxzZQotICAg
IG5vdEltcGxlbWVudGVkKCk7Ci0jZW5kaWYKIH0KIAogdm9pZCBEb3dubG9hZDo6Y2FuY2VsKCkK
QEAgLTE5NSw0ICsxODcsNCBAQCB2b2lkIERvd25sb2FkOjpyZWNlaXZlZENoYWxsZW5nZVJlamVj
dGlvCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5kaWYgLy8gUExBVEZPUk0oSU9TKQor
I2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRG93bmxvYWRzL21hYy9Eb3dubG9h
ZE1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRG93bmxvYWRzL21h
Yy9Eb3dubG9hZE1hYy5tbQkocmV2aXNpb24gMTgxMjY3KQorKysgU291cmNlL1dlYktpdDIvU2hh
cmVkL0Rvd25sb2Fkcy9tYWMvRG93bmxvYWRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTI2LDgg
KzI2LDYgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiRG93bmxvYWQuaCIKIAotI2lm
IFBMQVRGT1JNKE1BQykKLQogI2ltcG9ydCA8V2ViQ29yZS9BdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9BdXRoZW50aWNhdGlvbk1hYy5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9Ob3RJbXBsZW1lbnRlZC5oPgpAQCAtMzcsNiArMzUsMjQgQEAKICNpbXBvcnQgIkRhdGFS
ZWZlcmVuY2UuaCIKICNpbXBvcnQgIldlYlBhZ2UuaCIKIAorI2lmIFBMQVRGT1JNKElPUykKKwor
QHByb3RvY29sIE5TVVJMRG93bmxvYWREZWxlZ2F0ZSA8TlNPYmplY3Q+CitAb3B0aW9uYWwKK0Bl
bmQKKworQGludGVyZmFjZSBOU1VSTERvd25sb2FkIDogTlNPYmplY3QKKy0gKGluc3RhbmNldHlw
ZSlpbml0V2l0aFJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgZGVsZWdhdGU6KGlkIDxO
U1VSTERvd25sb2FkRGVsZWdhdGU+KWRlbGVnYXRlOworLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRo
UmVzdW1lRGF0YTooTlNEYXRhICopcmVzdW1lRGF0IGRlbGVnYXRlOihpZDxOU1VSTERvd25sb2Fk
RGVsZWdhdGU+KWRlbGVnYXRlIHBhdGg6KE5TU3RyaW5nICopcGF0aDsKKy0gKHZvaWQpc2V0RGVz
dGluYXRpb246KE5TU3RyaW5nICopcGF0aCBhbGxvd092ZXJ3cml0ZTooQk9PTClhbGxvd092ZXJ3
cml0ZTsKKy0gKHZvaWQpY2FuY2VsOworQHByb3BlcnR5IChyZWFkb25seSwgY29weSkgTlNVUkxS
ZXF1ZXN0ICpyZXF1ZXN0OworQHByb3BlcnR5IEJPT0wgZGVsZXRlc0ZpbGVVcG9uRmFpbHVyZTsK
K0Bwcm9wZXJ0eSAocmVhZG9ubHksIGNvcHkpIE5TRGF0YSAqcmVzdW1lRGF0YTsKK0BlbmQKKwor
I2VuZGlmCisKIEBpbnRlcmZhY2UgTlNVUkxEb3dubG9hZCAoV2ViTlNVUkxEb3dubG9hZERldGFp
bHMpCiArKGlkKV9kb3dubG9hZFdpdGhMb2FkaW5nQ29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9u
ICopY29ubmVjdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3Q6KE5TVVJM
UmVxdWVzdCAqKXJlcXVlc3QKQEAgLTI1Niw3ICsyNzIsNyBAQCAtIChCT09MKWRvd25sb2FkOihO
U1VSTERvd25sb2FkICopZG93bmxvCiAgICAgICAgICAgICByZXR1cm5WYWx1ZSA9IFlFUzsKICAg
ICB9KTsKIAotICAgIHJldHVybiByZXR1cm5WYWx1ZTs7CisgICAgcmV0dXJuIHJldHVyblZhbHVl
OwogfQogCiAtICh2b2lkKWRvd25sb2FkOihOU1VSTERvd25sb2FkICopZG93bmxvYWQgZGVjaWRl
RGVzdGluYXRpb25XaXRoU3VnZ2VzdGVkRmlsZW5hbWU6KE5TU3RyaW5nICopZmlsZW5hbWUKQEAg
LTMwMiw1ICszMTgsMyBAQCAtICh2b2lkKWRvd25sb2FkOihOU1VSTERvd25sb2FkICopZG93bmxv
CiB9CiAKIEBlbmQKLQotI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDE4MTMzNCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE1LTAzLTEwICBBbnR0aSBLb2l2aXN0byAg
PGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIHVzaW5nIFVTRShDRk5FVFdPUkspIHBh
dGggb24gaU9TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDI1NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIE1pc2MvV2ViS2l0VmVyc2lvbkNoZWNrcy5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmll
dy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVO
YW1lOmdyb3VwTmFtZTpdKToKKyAgICAgICAgKC1bV2ViVmlldyB1bnNjaGVkdWxlRnJvbVJ1bkxv
b3A6Zm9yTW9kZTpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXdQcml2YXRlLmg6CisKIDIw
MTUtMDMtMDkgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBb
aU9TXSBGaXggYnVpbGQgd2hlbiBjb21waWxpbmcgd2l0aCBkZWFkIGNvZGUgc3RyaXBwaW5nIGRp
c2FibGVkCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdFZlcnNpb25DaGVja3Mu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdFZlcnNpb25DaGVj
a3MuaAkocmV2aXNpb24gMTgxMjY3KQorKysgU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXRW
ZXJzaW9uQ2hlY2tzLmgJKHdvcmtpbmcgY29weSkKQEAgLTcxLDYgKzcxLDcgQEAKICNkZWZpbmUg
V0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9DU1NfQVRUUklCVVRFX1NFVFRFUlNfSUdOT1JJTkdf
UFJJT1JJVFkgMjIzOSAvLyBpT1MgNi4wCiAjZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJ
VEhfWU9VVFVCRV9FTUJFRF9JRlJBTUVfVFJBTlNGT1JNIDIyMzkgLy8gaU9TIDYuMAogI2RlZmlu
ZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIT1VUX0xFR0FDWV9CQUNLR1JPVU5EU0laRV9TSE9S
VEhBTkRfQkVIQVZJT1IgMjY2NSAvLyBpT1MgNy4wCisjZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJT
SU9OX1dJVEhfTE9BRElOR19EVVJJTkdfQ09NTU9OX1JVTkxPT1BfTU9ERVMgMjY2NSAvLyBpT1Mg
Ny4wCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQogCiAjaWZkZWYgX19jcGx1c3BsdXMKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHJldmlzaW9uIDE4MTI2NykKKysrIFNv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTAx
MSwxNCArMTAxMSwxNiBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5h
CiAKICAgICBbV2ViRnJhbWUgX2NyZWF0ZU1haW5GcmFtZVdpdGhQYWdlOl9wcml2YXRlLT5wYWdl
IGZyYW1lTmFtZTpmcmFtZU5hbWUgZnJhbWVWaWV3OmZyYW1lVmlld107CiAKLSNpZiAhUExBVEZP
Uk0oSU9TKQorI2lmIFBMQVRGT1JNKElPUykKKyAgICBOU1J1bkxvb3AgKnJ1bkxvb3AgPSBXZWJU
aHJlYWROU1J1bkxvb3AoKTsKKyNlbHNlCiAgICAgTlNSdW5Mb29wICpydW5Mb29wID0gW05TUnVu
TG9vcCBtYWluUnVuTG9vcF07CisjZW5kaWYKIAogICAgIGlmIChXZWJLaXRMaW5rZWRPbk9yQWZ0
ZXIoV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9MT0FESU5HX0RVUklOR19DT01NT05fUlVOTE9P
UF9NT0RFUykpCiAgICAgICAgIFtzZWxmIHNjaGVkdWxlSW5SdW5Mb29wOnJ1bkxvb3AgZm9yTW9k
ZTooTlNTdHJpbmcgKilrQ0ZSdW5Mb29wQ29tbW9uTW9kZXNdOwogICAgIGVsc2UKICAgICAgICAg
W3NlbGYgc2NoZWR1bGVJblJ1bkxvb3A6cnVuTG9vcCBmb3JNb2RlOk5TRGVmYXVsdFJ1bkxvb3BN
b2RlXTsKLSNlbmRpZgogCiAgICAgW3NlbGYgX2FkZFRvQWxsV2ViVmlld3NTZXRdOwogICAgIApA
QCAtNjU4NSw3ICs2NTg3LDYgQEAgLSAoQk9PTCl2YWxpZGF0ZVVzZXJJbnRlcmZhY2VJdGVtOihp
ZCA8TgogCiBAaW1wbGVtZW50YXRpb24gV2ViVmlldyAoV2ViUGVuZGluZ1B1YmxpYykKIAotI2lm
ICFQTEFURk9STShJT1MpCiAtICh2b2lkKXNjaGVkdWxlSW5SdW5Mb29wOihOU1J1bkxvb3AgKily
dW5Mb29wIGZvck1vZGU6KE5TU3RyaW5nICopbW9kZQogewogI2lmIFVTRShDRk5FVFdPUkspCkBA
IC02NjA3LDcgKzY2MDgsNiBAQCAtICh2b2lkKXVuc2NoZWR1bGVGcm9tUnVuTG9vcDooTlNSdW5M
b29wCiAgICAgaWYgKHJ1bkxvb3AgJiYgbW9kZSkKICAgICAgICAgY29yZShzZWxmKS0+cmVtb3Zl
U2NoZWR1bGVQYWlyKFNjaGVkdWxlUGFpcjo6Y3JlYXRlKHNjaGVkdWxlUGFpclJ1bkxvb3AsIChD
RlN0cmluZ1JlZiltb2RlKSk7CiB9Ci0jZW5kaWYKIAogc3RhdGljIEJPT0wgZmluZFN0cmluZyhO
U1ZpZXcgPFdlYkRvY3VtZW50U2VhcmNoaW5nPiAqc2VhcmNoVmlldywgTlNTdHJpbmcgKnN0cmlu
ZywgV2ViRmluZE9wdGlvbnMgb3B0aW9ucykKIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlld1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgJKHJldmlzaW9uIDE4MTI2NykKKysrIFNvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViVmlld1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTk4LDEw
ICsxOTgsOCBAQCBAaW50ZXJmYWNlIFdlYlZpZXcgKFdlYlZpZXdFZGl0aW5nQWN0aW9uCiAKIEBp
bnRlcmZhY2UgV2ViVmlldyAoV2ViUGVuZGluZ1B1YmxpYykKIAotI2lmICFUQVJHRVRfT1NfSVBI
T05FCiAtICh2b2lkKXNjaGVkdWxlSW5SdW5Mb29wOihOU1J1bkxvb3AgKilydW5Mb29wIGZvck1v
ZGU6KE5TU3RyaW5nICopbW9kZTsKIC0gKHZvaWQpdW5zY2hlZHVsZUZyb21SdW5Mb29wOihOU1J1
bkxvb3AgKilydW5Mb29wIGZvck1vZGU6KE5TU3RyaW5nICopbW9kZTsKLSNlbmRpZgogCiAtIChC
T09MKWZpbmRTdHJpbmc6KE5TU3RyaW5nICopc3RyaW5nIG9wdGlvbnM6KFdlYkZpbmRPcHRpb25z
KW9wdGlvbnM7CiAtIChET01SYW5nZSAqKURPTVJhbmdlT2ZTdHJpbmc6KE5TU3RyaW5nICopc3Ry
aW5nIHJlbGF0aXZlVG86KERPTVJhbmdlICopcHJldmlvdXNSYW5nZSBvcHRpb25zOihXZWJGaW5k
T3B0aW9ucylvcHRpb25zOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248352</attachid>
            <date>2015-03-10 13:45:24 -0700</date>
            <delta_ts>2015-12-30 11:13:31 -0800</delta_ts>
            <desc>patch</desc>
            <filename>ios-nsloader-2.patch</filename>
            <type>text/plain</type>
            <size>13180</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxODEzNDUpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE1LTAzLTEwICBBbnR0aSBLb2l2aXN0byAgPGFu
dHRpQGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIHVzaW5nIFVTRShDRk5FVFdPUkspIHBhdGgg
b24gaU9TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDI1NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHd0Zi9QbGF0Zm9ybS5oOgorCiAyMDE1LTAzLTEwICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91
aGFsbGF3YUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIFBhc3NSZWZQdHIgZnJvbSBzdmcv
cHJvcGVydGllcyBjbGFzc2VzLgpJbmRleDogU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCShyZXZpc2lvbiAxODEzNDUpCisr
KyBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCSh3b3JraW5nIGNvcHkpCkBAIC01MTcsOSArNTE3
LDYgQEAKICNpZiBQTEFURk9STShJT1MpCiAKICNkZWZpbmUgSEFWRV9SRUFETElORSAxCi0jaWYg
VVNFKEFQUExFX0lOVEVSTkFMX1NESykKLSNkZWZpbmUgV1RGX1VTRV9DRk5FVFdPUksgMQotI2Vu
ZGlmCiAjZGVmaW5lIFdURl9VU0VfVUlLSVRfRURJVElORyAxCiAjZGVmaW5lIFdURl9VU0VfV0VC
X1RIUkVBRCAxCiAjZGVmaW5lIFdURl9VU0VfUVVJQ0tfTE9PSyAxCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAxODEzNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwyMSBAQAorMjAxNS0wMy0xMCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBh
cHBsZS5jb20+CisKKyAgICAgICAgU3RvcCB1c2luZyBVU0UoQ0ZORVRXT1JLKSBwYXRoIG9uIGlP
UworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyNTQw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVW5pZnkg
T1MgWCBhbmQgaU9TIGNvZGUgcGF0aHMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBqdXN0IHN3aXRj
aGVzIHRoZSBwYXRocy4gSXQgZG9lc24ndCB5ZXQgZGVsZXRlIGFueSB1bm5lY2Vzc2FyeSBjb2Rl
LgorCisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmg6CisgICAgICAgICogbG9hZGVy
L1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkZXIuaDoK
KyAgICAgICAgKiBsb2FkZXIvbWFjL0RvY3VtZW50TG9hZGVyTWFjLmNwcDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbToKKwogMjAxNS0wMy0xMCAgU2FpZCBBYm91LUhh
bGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBQYXNzUmVm
UHRyIGZyb20gc3ZnL3Byb3BlcnRpZXMgY2xhc3Nlcy4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xv
YWRlci9Eb2N1bWVudExvYWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudExvYWRlci5oCShyZXZpc2lvbiAxODEzNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRG9jdW1lbnRMb2FkZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTUsNiArNTUsMTAgQEAK
ICNpbmNsdWRlICJRdWlja0xvb2suaCIKICNlbmRpZgogCisjaWYgUExBVEZPUk0oQ09DT0EpCisj
aW5jbHVkZSA8d3RmL1NjaGVkdWxlUGFpci5oPgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVIb3N0OwpAQCAtMTQyLDcgKzE0Niw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRUaXRs
ZShjb25zdCBTdHJpbmdXaXRoRGlyZWN0aW9uJik7CiAgICAgICAgIGNvbnN0IFN0cmluZyYgb3Zl
cnJpZGVFbmNvZGluZygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcnJpZGVFbmNvZGluZzsgfQogCi0j
aWYgUExBVEZPUk0oTUFDKQorI2lmIFBMQVRGT1JNKENPQ09BKQogICAgICAgICB2b2lkIHNjaGVk
dWxlKFNjaGVkdWxlUGFpciYpOwogICAgICAgICB2b2lkIHVuc2NoZWR1bGUoU2NoZWR1bGVQYWly
Jik7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNw
cAkocmV2aXNpb24gMTgxMzQ1KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9h
ZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjI5LDcgKzYyOSw3IEBAIHZvaWQgUmVzb3VyY2VM
b2FkZXI6OnJlY2VpdmVkQ2FuY2VsbGF0aW8KICAgICBjYW5jZWwoKTsKIH0KIAotI2lmIFBMQVRG
T1JNKE1BQykKKyNpZiBQTEFURk9STShDT0NPQSkKIAogdm9pZCBSZXNvdXJjZUxvYWRlcjo6c2No
ZWR1bGUoU2NoZWR1bGVQYWlyJiBwYWlyKQogewpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlTG9hZGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jl
c291cmNlTG9hZGVyLmgJKHJldmlzaW9uIDE4MTM0NSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzUsNyArMTM1LDcgQEAgcHVi
bGljOgogCiAgICAgdm9pZCB3aWxsU3dpdGNoVG9TdWJzdGl0dXRlUmVzb3VyY2UoKTsKIAotI2lm
IFBMQVRGT1JNKE1BQykKKyNpZiBQTEFURk9STShDT0NPQSkKICAgICB2b2lkIHNjaGVkdWxlKFdU
Rjo6U2NoZWR1bGVQYWlyJik7CiAgICAgdm9pZCB1bnNjaGVkdWxlKFdURjo6U2NoZWR1bGVQYWly
Jik7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9tYWMvRG9jdW1lbnRMb2Fk
ZXJNYWMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9tYWMvRG9jdW1l
bnRMb2FkZXJNYWMuY3BwCShyZXZpc2lvbiAxODEzNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvbWFjL0RvY3VtZW50TG9hZGVyTWFjLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsOCArMzMs
NiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiBQTEFURk9STShNQUMpCi0KIHN0YXRp
YyB2b2lkIHNjaGVkdWxlQWxsKGNvbnN0IFJlc291cmNlTG9hZGVyTWFwJiBsb2FkZXJzLCBTY2hl
ZHVsZVBhaXImIHBhaXIpCiB7CiAgICAgVmVjdG9yPFJlZlB0cjxSZXNvdXJjZUxvYWRlcj4+IGxv
YWRlcnNDb3B5OwpAQCAtNjksNiArNjcsNCBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjp1bnNjaGVk
dWxlKFNjaGVkdWxlCiAgICAgdW5zY2hlZHVsZUFsbChtX211bHRpcGFydFN1YnJlc291cmNlTG9h
ZGVycywgcGFpcik7CiB9CiAKLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFjZQpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkLmgJKHJldmlzaW9u
IDE4MTM0NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2ViQ29yZVRocmVh
ZC5oCSh3b3JraW5nIGNvcHkpCkBAIC04MSw3ICs4MSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBX
ZWJUaHJlYWRTaG91bGRZaWVsZCgKIHN0YXRpYyBpbmxpbmUgdm9pZCBXZWJUaHJlYWRTZXRTaG91
bGRZaWVsZCgpIHsgd2ViVGhyZWFkU2hvdWxkWWllbGQgPSB0cnVlOyB9CiAKIFdFQkNPUkVfRVhQ
T1JUIENGUnVuTG9vcFJlZiBXZWJUaHJlYWRSdW5Mb29wKHZvaWQpOwotTlNSdW5Mb29wKiBXZWJU
aHJlYWROU1J1bkxvb3Aodm9pZCk7CitXRUJDT1JFX0VYUE9SVCBOU1J1bkxvb3AqIFdlYlRocmVh
ZE5TUnVuTG9vcCh2b2lkKTsKIFdlYlRocmVhZENvbnRleHQgKldlYlRocmVhZEN1cnJlbnRDb250
ZXh0KHZvaWQpOwogYm9vbCBXZWJUaHJlYWRDb250ZXh0SXNDdXJyZW50KHZvaWQpOwogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNv
dXJjZUhhbmRsZU1hYy5tbQkocmV2aXNpb24gMTgxMzQ1KQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0JKHdvcmtpbmcgY29weSkKQEAg
LTMxNiw4ICszMTYsNiBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybVNldERlZmVyc0xv
CiAgICAgICAgIHdrU2V0TlNVUkxDb25uZWN0aW9uRGVmZXJzQ2FsbGJhY2tzKGQtPm1fY29ubmVj
dGlvbi5nZXQoKSwgZGVmZXJzKTsKIH0KIAotI2lmIFBMQVRGT1JNKE1BQykKLQogdm9pZCBSZXNv
dXJjZUhhbmRsZTo6c2NoZWR1bGUoU2NoZWR1bGVQYWlyJiBwYWlyKQogewogICAgIE5TUnVuTG9v
cCAqcnVuTG9vcCA9IHBhaXIubnNSdW5Mb29wKCk7CkBAIC0zMzYsOCArMzM0LDYgQEAgdm9pZCBS
ZXNvdXJjZUhhbmRsZTo6dW5zY2hlZHVsZShTY2hlZHVsZQogICAgICAgICBbZC0+bV9jb25uZWN0
aW9uLmdldCgpIHVuc2NoZWR1bGVGcm9tUnVuTG9vcDpydW5Mb29wIGZvck1vZGU6KE5TU3RyaW5n
ICopcGFpci5tb2RlKCldOwogfQogCi0jZW5kaWYKLQogaWQgUmVzb3VyY2VIYW5kbGU6Om1ha2VE
ZWxlZ2F0ZShib29sIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlKQogewogICAgIEFTU0VSVCgh
ZC0+bV9kZWxlZ2F0ZSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAxODEzNDUpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAx
NS0wMy0xMCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CisKKyAgICAgICAgU3Rv
cCB1c2luZyBVU0UoQ0ZORVRXT1JLKSBwYXRoIG9uIGlPUworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyNTQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvRG93bmxvYWRzL2lvcy9Eb3dubG9h
ZElPUy5tbToKKyAgICAgICAgKFdlYktpdDo6c2V0VXBEb3dubG9hZENsaWVudCk6CisgICAgICAg
IChXZWJLaXQ6OkRvd25sb2FkOjpzdGFydFdpdGhIYW5kbGUpOgorICAgICAgICAqIFNoYXJlZC9E
b3dubG9hZHMvbWFjL0Rvd25sb2FkTWFjLm1tOgorICAgICAgICAoLVtXS0Rvd25sb2FkQXNEZWxl
Z2F0ZSBkb3dubG9hZDpzaG91bGREZWNvZGVTb3VyY2VEYXRhT2ZNSU1FVHlwZTpdKToKKwogMjAx
NS0wMy0xMCAgVGltb3RoeSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgRml4IHRoZSBidWlsZApJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL0Rvd25sb2Fk
cy9pb3MvRG93bmxvYWRJT1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVk
L0Rvd25sb2Fkcy9pb3MvRG93bmxvYWRJT1MubW0JKHJldmlzaW9uIDE4MTM0NSkKKysrIFNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9Eb3dubG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkRvd25s
b2FkLmgiCiAKLSNpZiBQTEFURk9STShJT1MpCisjaWYgVVNFKENGTkVUV09SSykKIAogI2ltcG9y
dCAiRGF0YVJlZmVyZW5jZS5oIgogI2ltcG9ydCA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgpA
QCAtMzYsMTUgKzM2LDEyIEBACiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1wb3J0IDx3
dGYvUnVuTG9vcC5oPgogCi0jaWYgVVNFKENGTkVUV09SSykKICNpbXBvcnQgPENGTmV0d29yay9D
RlVSTERvd25sb2FkLmg+Ci0jZW5kaWYKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5h
bWVzcGFjZSBXZWJLaXQgewogCi0jaWYgVVNFKENGTkVUV09SSykKIC8vIEZJWE1FOiBJZiBwb3Nz
aWJsZSwgd2Ugc2hvdWxkIGNvbnNpZGVyIG1vdmluZyBzb21lIGNhbGxiYWNrcyBvZmYgdGhlIG1h
aW4gdGhyZWFkIG9yIGF0IGxlYXN0CiAvLyBtYWtpbmcgdGhlbSBhc3luY2hvbm91cyBjYWxscy4K
IHN0YXRpYyB2b2lkIGRpc3BhdGNoT25NYWluVGhyZWFkKHZvaWQoXmJsb2NrKSgpKQpAQCAtMTI1
LDcgKzEyMiw2IEBAIHN0YXRpYyB2b2lkIHNldFVwRG93bmxvYWRDbGllbnQoQ0ZVUkxEb3cKICAg
ICAgICAgfSk7CiAgICAgfTsKIH0KLSNlbmRpZiAvLyBVU0UoQ0ZORVRXT1JLKQogCiB2b2lkIERv
d25sb2FkOjpzdGFydCgpCiB7CkBAIC0xMzksMTYgKzEzNSwxMiBAQCB2b2lkIERvd25sb2FkOjpy
ZXN1bWUoY29uc3QgSVBDOjpEYXRhUmVmCiAKIHZvaWQgRG93bmxvYWQ6OnN0YXJ0V2l0aEhhbmRs
ZShSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25z
ZSkKIHsKLSNpZiBVU0UoQ0ZORVRXT1JLKQogICAgIENGVVJMRG93bmxvYWRDbGllbnQgY2xpZW50
OwogICAgIHNldFVwRG93bmxvYWRDbGllbnQoY2xpZW50LCAqdGhpcyk7CiAjcHJhZ21hIGNsYW5n
IGRpYWdub3N0aWMgcHVzaAogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XZGVw
cmVjYXRlZC1kZWNsYXJhdGlvbnMiCiAgICAgbV9kb3dubG9hZCA9IGFkb3B0Q0YoQ0ZVUkxEb3du
bG9hZENyZWF0ZUFuZFN0YXJ0V2l0aExvYWRpbmdDb25uZWN0aW9uKE5VTEwsIGhhbmRsZS0+cmVs
ZWFzZUNvbm5lY3Rpb25Gb3JEb3dubG9hZCgpLmdldCgpLCBtX3JlcXVlc3QuY2ZVUkxSZXF1ZXN0
KFVwZGF0ZUhUVFBCb2R5KSwgcmVzcG9uc2UuY2ZVUkxSZXNwb25zZSgpLCAmY2xpZW50KSk7CiAj
cHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCi0jZWxzZQotICAgIG5vdEltcGxlbWVudGVkKCk7
Ci0jZW5kaWYKIH0KIAogdm9pZCBEb3dubG9hZDo6Y2FuY2VsKCkKQEAgLTE5OCw0ICsxOTAsNCBA
QCB2b2lkIERvd25sb2FkOjpyZWNlaXZlZENoYWxsZW5nZVJlamVjdGlvCiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdAogCi0jZW5kaWYgLy8gUExBVEZPUk0oSU9TKQorI2VuZGlmCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvRG93bmxvYWRzL21hYy9Eb3dubG9hZE1hYy5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRG93bmxvYWRzL21hYy9Eb3dubG9hZE1hYy5tbQko
cmV2aXNpb24gMTgxMzQ1KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL0Rvd25sb2Fkcy9tYWMv
RG93bmxvYWRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTI2LDggKzI2LDYgQEAKICNpbXBvcnQg
ImNvbmZpZy5oIgogI2ltcG9ydCAiRG93bmxvYWQuaCIKIAotI2lmIFBMQVRGT1JNKE1BQykKLQog
I2ltcG9ydCA8V2ViQ29yZS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9BdXRoZW50aWNhdGlvbk1hYy5oPgogI2ltcG9ydCA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRl
ZC5oPgpAQCAtMzcsNiArMzUsMjQgQEAKICNpbXBvcnQgIkRhdGFSZWZlcmVuY2UuaCIKICNpbXBv
cnQgIldlYlBhZ2UuaCIKIAorI2lmIFBMQVRGT1JNKElPUykKKworQHByb3RvY29sIE5TVVJMRG93
bmxvYWREZWxlZ2F0ZSA8TlNPYmplY3Q+CitAb3B0aW9uYWwKK0BlbmQKKworQGludGVyZmFjZSBO
U1VSTERvd25sb2FkIDogTlNPYmplY3QKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aFJlcXVlc3Q6
KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgZGVsZWdhdGU6KGlkIDxOU1VSTERvd25sb2FkRGVsZWdh
dGU+KWRlbGVnYXRlOworLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoUmVzdW1lRGF0YTooTlNEYXRh
ICopcmVzdW1lRGF0IGRlbGVnYXRlOihpZDxOU1VSTERvd25sb2FkRGVsZWdhdGU+KWRlbGVnYXRl
IHBhdGg6KE5TU3RyaW5nICopcGF0aDsKKy0gKHZvaWQpc2V0RGVzdGluYXRpb246KE5TU3RyaW5n
ICopcGF0aCBhbGxvd092ZXJ3cml0ZTooQk9PTClhbGxvd092ZXJ3cml0ZTsKKy0gKHZvaWQpY2Fu
Y2VsOworQHByb3BlcnR5IChyZWFkb25seSwgY29weSkgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0Owor
QHByb3BlcnR5IEJPT0wgZGVsZXRlc0ZpbGVVcG9uRmFpbHVyZTsKK0Bwcm9wZXJ0eSAocmVhZG9u
bHksIGNvcHkpIE5TRGF0YSAqcmVzdW1lRGF0YTsKK0BlbmQKKworI2VuZGlmCisKIEBpbnRlcmZh
Y2UgTlNVUkxEb3dubG9hZCAoV2ViTlNVUkxEb3dubG9hZERldGFpbHMpCiArKGlkKV9kb3dubG9h
ZFdpdGhMb2FkaW5nQ29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbgogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QK
QEAgLTI1Niw3ICsyNzIsNyBAQCAtIChCT09MKWRvd25sb2FkOihOU1VSTERvd25sb2FkICopZG93
bmxvCiAgICAgICAgICAgICByZXR1cm5WYWx1ZSA9IFlFUzsKICAgICB9KTsKIAotICAgIHJldHVy
biByZXR1cm5WYWx1ZTs7CisgICAgcmV0dXJuIHJldHVyblZhbHVlOwogfQogCiAtICh2b2lkKWRv
d25sb2FkOihOU1VSTERvd25sb2FkICopZG93bmxvYWQgZGVjaWRlRGVzdGluYXRpb25XaXRoU3Vn
Z2VzdGVkRmlsZW5hbWU6KE5TU3RyaW5nICopZmlsZW5hbWUKQEAgLTMwMiw1ICszMTgsMyBAQCAt
ICh2b2lkKWRvd25sb2FkOihOU1VSTERvd25sb2FkICopZG93bmxvCiB9CiAKIEBlbmQKLQotI2Vu
ZGlmIC8vIFBMQVRGT1JNKE1BQykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MTM0
NSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE2IEBACisyMDE1LTAzLTEwICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4K
KworICAgICAgICBTdG9wIHVzaW5nIFVTRShDRk5FVFdPUkspIHBhdGggb24gaU9TCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI1NDAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1pc2MvV2ViS2l0VmVy
c2lvbkNoZWNrcy5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1b
V2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKToK
KyAgICAgICAgKC1bV2ViVmlldyB1bnNjaGVkdWxlRnJvbVJ1bkxvb3A6Zm9yTW9kZTpdKToKKyAg
ICAgICAgKiBXZWJWaWV3L1dlYlZpZXdQcml2YXRlLmg6CisKIDIwMTUtMDMtMTAgIFRpbW90aHkg
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgYnVp
bGQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0VmVyc2lvbkNoZWNrcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0VmVyc2lvbkNoZWNrcy5o
CShyZXZpc2lvbiAxODEzNDUpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdFZlcnNp
b25DaGVja3MuaAkod29ya2luZyBjb3B5KQpAQCAtNzEsNiArNzEsNyBAQAogI2RlZmluZSBXRUJL
SVRfRklSU1RfVkVSU0lPTl9XSVRIX0NTU19BVFRSSUJVVEVfU0VUVEVSU19JR05PUklOR19QUklP
UklUWSAyMjM5IC8vIGlPUyA2LjAKICNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9Z
T1VUVUJFX0VNQkVEX0lGUkFNRV9UUkFOU0ZPUk0gMjIzOSAvLyBpT1MgNi4wCiAjZGVmaW5lIFdF
QktJVF9GSVJTVF9WRVJTSU9OX1dJVEhPVVRfTEVHQUNZX0JBQ0tHUk9VTkRTSVpFX1NIT1JUSEFO
RF9CRUhBVklPUiAyNjY1IC8vIGlPUyA3LjAKKyNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05f
V0lUSF9MT0FESU5HX0RVUklOR19DT01NT05fUlVOTE9PUF9NT0RFUyAyNjY1IC8vIGlPUyA3LjAK
ICNlbmRpZiAvLyBQTEFURk9STShJT1MpCiAKICNpZmRlZiBfX2NwbHVzcGx1cwpJbmRleDogU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24gMTgxMzQ1KQorKysgU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMDExLDE0
ICsxMDExLDE2IEBAIC0gKHZvaWQpX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmEKIAog
ICAgIFtXZWJGcmFtZSBfY3JlYXRlTWFpbkZyYW1lV2l0aFBhZ2U6X3ByaXZhdGUtPnBhZ2UgZnJh
bWVOYW1lOmZyYW1lTmFtZSBmcmFtZVZpZXc6ZnJhbWVWaWV3XTsKIAotI2lmICFQTEFURk9STShJ
T1MpCisjaWYgUExBVEZPUk0oSU9TKQorICAgIE5TUnVuTG9vcCAqcnVuTG9vcCA9IFdlYlRocmVh
ZE5TUnVuTG9vcCgpOworI2Vsc2UKICAgICBOU1J1bkxvb3AgKnJ1bkxvb3AgPSBbTlNSdW5Mb29w
IG1haW5SdW5Mb29wXTsKKyNlbmRpZgogCiAgICAgaWYgKFdlYktpdExpbmtlZE9uT3JBZnRlcihX
RUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX0xPQURJTkdfRFVSSU5HX0NPTU1PTl9SVU5MT09QX01P
REVTKSkKICAgICAgICAgW3NlbGYgc2NoZWR1bGVJblJ1bkxvb3A6cnVuTG9vcCBmb3JNb2RlOihO
U1N0cmluZyAqKWtDRlJ1bkxvb3BDb21tb25Nb2Rlc107CiAgICAgZWxzZQogICAgICAgICBbc2Vs
ZiBzY2hlZHVsZUluUnVuTG9vcDpydW5Mb29wIGZvck1vZGU6TlNEZWZhdWx0UnVuTG9vcE1vZGVd
OwotI2VuZGlmCiAKICAgICBbc2VsZiBfYWRkVG9BbGxXZWJWaWV3c1NldF07CiAgICAgCkBAIC02
NTg1LDcgKzY1ODcsNiBAQCAtIChCT09MKXZhbGlkYXRlVXNlckludGVyZmFjZUl0ZW06KGlkIDxO
CiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJWaWV3IChXZWJQZW5kaW5nUHVibGljKQogCi0jaWYgIVBM
QVRGT1JNKElPUykKIC0gKHZvaWQpc2NoZWR1bGVJblJ1bkxvb3A6KE5TUnVuTG9vcCAqKXJ1bkxv
b3AgZm9yTW9kZTooTlNTdHJpbmcgKiltb2RlCiB7CiAjaWYgVVNFKENGTkVUV09SSykKQEAgLTY2
MDcsNyArNjYwOCw2IEBAIC0gKHZvaWQpdW5zY2hlZHVsZUZyb21SdW5Mb29wOihOU1J1bkxvb3AK
ICAgICBpZiAocnVuTG9vcCAmJiBtb2RlKQogICAgICAgICBjb3JlKHNlbGYpLT5yZW1vdmVTY2hl
ZHVsZVBhaXIoU2NoZWR1bGVQYWlyOjpjcmVhdGUoc2NoZWR1bGVQYWlyUnVuTG9vcCwgKENGU3Ry
aW5nUmVmKW1vZGUpKTsKIH0KLSNlbmRpZgogCiBzdGF0aWMgQk9PTCBmaW5kU3RyaW5nKE5TVmll
dyA8V2ViRG9jdW1lbnRTZWFyY2hpbmc+ICpzZWFyY2hWaWV3LCBOU1N0cmluZyAqc3RyaW5nLCBX
ZWJGaW5kT3B0aW9ucyBvcHRpb25zKQogewpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3UHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViVmlld1ByaXZhdGUuaAkocmV2aXNpb24gMTgxMzQ1KQorKysgU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xOTgsMTAgKzE5
OCw4IEBAIEBpbnRlcmZhY2UgV2ViVmlldyAoV2ViVmlld0VkaXRpbmdBY3Rpb24KIAogQGludGVy
ZmFjZSBXZWJWaWV3IChXZWJQZW5kaW5nUHVibGljKQogCi0jaWYgIVRBUkdFVF9PU19JUEhPTkUK
IC0gKHZvaWQpc2NoZWR1bGVJblJ1bkxvb3A6KE5TUnVuTG9vcCAqKXJ1bkxvb3AgZm9yTW9kZToo
TlNTdHJpbmcgKiltb2RlOwogLSAodm9pZCl1bnNjaGVkdWxlRnJvbVJ1bkxvb3A6KE5TUnVuTG9v
cCAqKXJ1bkxvb3AgZm9yTW9kZTooTlNTdHJpbmcgKiltb2RlOwotI2VuZGlmCiAKIC0gKEJPT0wp
ZmluZFN0cmluZzooTlNTdHJpbmcgKilzdHJpbmcgb3B0aW9uczooV2ViRmluZE9wdGlvbnMpb3B0
aW9uczsKIC0gKERPTVJhbmdlICopRE9NUmFuZ2VPZlN0cmluZzooTlNTdHJpbmcgKilzdHJpbmcg
cmVsYXRpdmVUbzooRE9NUmFuZ2UgKilwcmV2aW91c1JhbmdlIG9wdGlvbnM6KFdlYkZpbmRPcHRp
b25zKW9wdGlvbnM7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268009</attachid>
            <date>2015-12-30 11:15:23 -0800</date>
            <delta_ts>2015-12-30 15:00:05 -0800</delta_ts>
            <desc>Rebaseline Antti&apos;s 2015-03-10 patch and merge various fixes from Bug 137936</desc>
            <filename>bug-142540-20151230111448.patch</filename>
            <type>text/plain</type>
            <size>31003</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0NDIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDIwMGQzNTRhMzc2Zjc3NjRjNzJlOTll
MTY0MWUzY2I3MGNhNzg1MjAuLjIwNWFjMjVjNjlhMDg5MDEwNTNlYjA3ZTU4MDJmMjZkMDI0YWM4
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMTItMzAgIERhdmlkIEtpbHplciAgPGRka2ls
emVyQGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIHVzaW5nIFVTRShDRk5FVFdPUkspIHBhdGgg
b24gaU9TCisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8xNDI1NDA+CisKKyAgICAgICAg
T3JpZ2luYWwgcGF0Y2ggYnkgQW50dGkgS29pdmlzdG8gPGFudHRpQGFwcGxlLmNvbT4gb24gMjAx
NS0wMy0xMAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHd0Zi9QbGF0Zm9ybS5oOiBUdXJuIG9mZiBVU0UoQ0ZORVRXT1JLKSBmb3IgUExBVEZPUk0oSU9T
KS4KKyAgICAgICAgKiB3dGYvU2NoZWR1bGVQYWlyLmg6IFVwZGF0ZSBtYWNyb3MgdG8gbWF0Y2gg
V2ViQ29yZS4KKwogMjAxNS0xMi0yMiAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgog
CiAgICAgICAgIEZUTCBCMyBzaG91bGQgYmUgYWJsZSB0byBydW4gcmljaGFyZHMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCA1OGM1Zjg2ZDA2YTRiM2JmMjE3ZjlkNjdiNTYyNWRlNDE2ZjllZTFjLi5hMjQ1Nzk5MTMz
NWQxMWI2MzE1NTQ0NWIzNGRkOGFkNTU3MWQ3MjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzUg
QEAKKzIwMTUtMTItMzAgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBTdG9wIHVzaW5nIFVTRShDRk5FVFdPUkspIHBhdGggb24gaU9TCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI1NDAKKworICAgICAgICBPcmln
aW5hbCBwYXRjaCBieSBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPiBvbiAyMDE1LTAz
LTEwCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuaWZ5
IE9TIFggYW5kIGlPUyBjb2RlIHBhdGhzLgorCisgICAgICAgIFRoaXMgcGF0Y2gganVzdCBzd2l0
Y2hlcyB0aGUgcGF0aHMuIEl0IGRvZXNuJ3QgeWV0IGRlbGV0ZSBhbnkKKyAgICAgICAgdW5uZWNl
c3NhcnkgY29kZS4KKworICAgICAgICBDaGFuZ2VzIGNvdmVyZWQgYnkgbW9zdCBleGlzdGluZyB0
ZXN0cy4KKworICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5oOgorICAgICAgICAqIGxv
YWRlci9SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVy
Lmg6CisgICAgICAgICogbG9hZGVyL21hYy9Eb2N1bWVudExvYWRlck1hYy5jcHA6CisgICAgICAg
IC0gVXBkYXRlIGZvciBpT1MgdG8gdXNlIE5TVVJMQ29ubmVjdGlvbiBsb2FkZXIuCisKKyAgICAg
ICAgKiBwYWdlL21hYy9QYWdlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6cGxhdGZv
cm1Jbml0aWFsaXplKTogQWx3YXlzIHVzZSB0aGUgY29ycmVjdAorICAgICAgICBydW5sb29wIG9u
IGlPUyByZWdhcmRsZXNzIG9mIHdoaWNoIHRocmVhZCB0aGlzIHdhcyBjYWxsZWQgb24uCisgICAg
ICAgIChXZWJDb3JlOjpQYWdlOjphZGRTY2hlZHVsZVBhaXIpOiBVcGRhdGUgZm9yIGlPUyB0byB1
c2UKKyAgICAgICAgTlNVUkxDb25uZWN0aW9uIGxvYWRlci4KKyAgICAgICAgKFdlYkNvcmU6OlBh
Z2U6OnJlbW92ZVNjaGVkdWxlUGFpcik6IERpdHRvLgorCisgICAgICAgICogcGxhdGZvcm0vaW9z
L3dhay9XZWJDb3JlVGhyZWFkLmg6CisgICAgICAgIChXZWJUaHJlYWRSdW5Mb29wKTogTm8gbG9u
Z2VyIG5lZWRzIHRvIGJlIGV4cG9ydGVkLgorICAgICAgICAoV2ViVGhyZWFkTlNSdW5Mb29wKTog
RXhwb3J0IGZvciBXZWJLaXRMZWdhY3kuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlSGFuZGxlSW50ZXJuYWwuaDogRml4IGhlYWRlciBvcmRlci4KKyAgICAgICAgQWRkIFdl
YkNvcmVSZXNvdXJjZUxvYWRlckRlbGVnYXRlIHByb3RvY29sIHRvIG1fZGVsZWdhdGUuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xvb2suaDogQWRkCisgICAgICAgIFdl
YkNvcmVSZXNvdXJjZUxvYWRlckRlbGVnYXRlIHByb3RvY29sIHRvIG1fZGVsZWdhdGUuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xvb2subW06IEZpeCBoZWFkZXIgb3Jk
ZXIuCisgICAgICAgIChXZWJRdWlja0xvb2tIYW5kbGVBc0RlbGVnYXRlKTogTWFrZSBkZWxlZ2F0
ZSBvYmplY3RzIGltcGxlbWVudAorICAgICAgICBXZWJDb3JlUmVzb3VyY2VMb2FkZXJEZWxlZ2F0
ZSBwcm90b2NvbC4gIFRoaXMgdW5pZmllcyB0aGUKKyAgICAgICAgLWNsZWFySGFuZGxlIGFuZCAt
ZGV0YWNoSGFuZGxlIG1ldGhvZHMgdGhhdCB3ZXJlIHVzZWQgb24gaU9TIGFuZAorICAgICAgICBP
UyBYLCByZXNwZWN0aXZlbHkuCisgICAgICAgICgtW1dlYlF1aWNrTG9va0hhbmRsZUFzRGVsZWdh
dGUgY2xlYXJIYW5kbGVdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV2ViUXVpY2tMb29rSGFuZGxl
QXNEZWxlZ2F0ZSBkZXRhY2hIYW5kbGVdKTogUmVuYW1lZCBmcm9tCisgICAgICAgIC1jbGVhckhh
bmRsZS4KKyAgICAgICAgKFdlYlJlc291cmNlTG9hZGVyUXVpY2tMb29rRGVsZWdhdGUpOiBNYWtl
IGRlbGVnYXRlIG9iamVjdHMKKyAgICAgICAgaW1wbGVtZW50IFdlYkNvcmVSZXNvdXJjZUxvYWRl
ckRlbGVnYXRlIHByb3RvY29sLgorICAgICAgICAoLVtXZWJSZXNvdXJjZUxvYWRlclF1aWNrTG9v
a0RlbGVnYXRlIGNsZWFySGFuZGxlXSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dlYlJlc291cmNl
TG9hZGVyUXVpY2tMb29rRGVsZWdhdGUgZGV0YWNoSGFuZGxlXSk6IFJlbmFtZWQgZnJvbQorICAg
ICAgICAtY2xlYXJIYW5kbGUuCisgICAgICAgIChXZWJDb3JlOjpRdWlja0xvb2tIYW5kbGU6On5R
dWlja0xvb2tIYW5kbGUpOiBDYWxsCisgICAgICAgIC1kZXRhY2hIYW5kbGUgaW5zdGVhZCBvZiAt
Y2xlYXJIYW5kbGUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhh
bmRsZU1hYy5tbToKKyAgICAgICAgLSBVcGRhdGUgZm9yIGlPUyB0byB1c2UgTlNVUkxDb25uZWN0
aW9uIGxvYWRlci4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNv
dXJjZUhhbmRsZUFzRGVsZWdhdGUuaDoKKyAgICAgICAgKFdlYkNvcmVSZXNvdXJjZUxvYWRlckRl
bGVnYXRlKTogRGVmaW5lIG5ldyBwcm90b2NvbC4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUubW06CisgICAgICAgICgtW1dl
YkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUgZGV0YWNoSGFuZGxlXSk6IEdyYXR1aXRvdXMK
KyAgICAgICAgbnVsbHB0ciBmaXguCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9X
ZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUuaDoKKyAgICAgICAg
KFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSk6IEltcGxlbWVu
dAorICAgICAgICBXZWJDb3JlUmVzb3VyY2VMb2FkZXJEZWxlZ2F0ZSBwcm90b2NvbC4KKworICAg
ICAgICAqIHBsYXRmb3JtL3NwaS9jb2NvYS9OU1VSTERvd25sb2FkU1BJLmg6IERlY2xhcmUgbW9y
ZQorICAgICAgICBOU1VSRG93bmxvYWQgU1BJIHRvIGNsZWFuIHVwIG90aGVyIHNvdXJjZSBmaWxl
cyBhbmQgbWFrZQorICAgICAgICBzb3VyY2UgY29tcGlsZSBvbiBpT1Mgd2l0aCBOU1VSTENvbm5l
Y3Rpb24gY29kZSBwYXRoLgorCiAyMDE1LTEyLTI1ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgU3VicGl4ZWwgcmVuZGVyaW5nOiBBZGQgc3VicGl4ZWwgc3VwcG9y
dCBmb3Igb3V0bGluZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA5OTcxNDViNmFkZTUyOTU4YmViZWYy
NWQzY2I4NDc1NTkyMWRjOWZlLi43N2I2MTMyNmYzOTE4OWFiYTNiZGY0YmVjZmZlNzA1MTNlNmEw
NTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTUtMTItMzAgIERhdmlk
IEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIHVzaW5nIFVTRShD
Rk5FVFdPUkspIHBhdGggb24gaU9TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDI1NDAKKworICAgICAgICBPcmlnaW5hbCBwYXRjaCBieSBBbnR0aSBL
b2l2aXN0byA8YW50dGlAYXBwbGUuY29tPiBvbiAyMDE1LTAzLTEwCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTWlzYy9XZWJEb3dubG9hZC5oOiBBZGQg
aGVhZGVyIGd1YXJkIHRvIG1ha2UKKyAgICAgICAgTlNVUkxEb3dubG9hZFNQSS5oIHdvcmsgd2hl
biBwcmUtZGVjbGFyaW5nIE5TVVJMRG93bmxvYWQgb2JqZWN0LgorICAgICAgICAqIE1pc2MvV2Vi
S2l0VmVyc2lvbkNoZWNrcy5oOiBEZWZpbmUKKyAgICAgICAgV0VCS0lUX0ZJUlNUX1ZFUlNJT05f
V0lUSF9MT0FESU5HX0RVUklOR19DT01NT05fUlVOTE9PUF9NT0RFUworICAgICAgICBmb3IgaU9T
LgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29t
bW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKTogVXNlCisgICAgICAg
IHRoZSBjb3JyZWN0IHJ1bmxvb3Agb24gaU9TLgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlld1By
aXZhdGUuaDoKKyAgICAgICAgKC1bV2ViVmlldyhXZWJQZW5kaW5nUHVibGljKSBzY2hlZHVsZUlu
UnVuTG9vcDpmb3JNb2RlOl0pOgorICAgICAgICAoLVtXZWJWaWV3KFdlYlBlbmRpbmdQdWJsaWMp
IHVuc2NoZWR1bGVGcm9tUnVuTG9vcDpmb3JNb2RlOl0pOgorICAgICAgICAtIFRoZXNlIGFyZSBh
dmFpbGFibGUgb24gaU9TIG5vdy4KKwogMjAxNS0xMi0yMiAgQW5keSBFc3RlcyAgPGFlc3Rlc0Bh
cHBsZS5jb20+CiAKICAgICAgICAgW0NGXSBSZXBsYWNlIENGTmV0d29yay1yZWxhdGVkIFdlYktp
dFN5c3RlbUludGVyZmFjZSBjYWxscyB3aXRoIFNQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDEwYTJiMjkzMzlk
ODU0NDFjODk0NWJlZjEyNmZlODhhZjQ3MDZjMDguLmQxYzA3NmYxODExNzUzYjQ0NDBiMzE3Mzgz
YjZlNTQxZjQ1MDk3N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxNS0xMi0zMCAg
RGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgorCisgICAgICAgIFN0b3AgdXNpbmcg
VVNFKENGTkVUV09SSykgcGF0aCBvbiBpT1MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE0MjU0MAorCisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IEFu
dHRpIEtvaXZpc3RvIDxhbnR0aUBhcHBsZS5jb20+IG9uIDIwMTUtMDMtMTAKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Eb3du
bG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1tOiBUaGlzIGlzIG5vdyB0aGUKKyAgICAgICAgVVNFKENG
TkVUV09SSykgJiYgIVVTRShORVRXT1JLX1NFU1NJT04pIGNvZGUgcGF0aC4KKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvbWFjL0Rvd25sb2FkTWFjLm1tOiBUaGlzIGlzIG5vdyB0
aGUKKyAgICAgICAgIVVTRShDRk5FVFdPUkspICYmICFVU0UoTkVUV09SS19TRVNTSU9OKSBjb2Rl
IHBhdGguICBNYWtlIHVzZSBvZgorICAgICAgICBOU1VSTERvd25sb2FkU1BJLmguCisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrUHJvY2Vzczo6aW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKTogVXBkYXRlIGZvcgorICAg
ICAgICBpT1MgdG8gdXNlIE5TVVJMQ29ubmVjdGlvbiBsb2FkZXIuCisKIDIwMTUtMTItMjUgIERh
dmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXNvdXJjZUVycm9y
IHNob3VsZCBzdG9yZSBmYWlsaW5nVVJMIGFzIFVSTCBpbnN0ZWFkIG9mIFN0cmluZyB0byBhdm9p
ZCByZXBhcnNpbmcgYW5kIHRvIGFkZHJlc3MgRklYTUUgY29tbWVudHMgaW4gUmVzb3VyY2VFcnJv
ckNGLmNwcCBhbmQgUmVzb3VyY2VFcnJvck1hYy5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKaW5kZXggYjdlZDVhODhl
MTgzZTVhOWFjNjEwNDIwYWIzODZiYjkxYzJhMzk4Mi4uNmE0OWJhN2VmMWFiM2ViY2ViMWY0YWE4
YzA1N2NlOWRkNGMwZjMxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBAIC01NDUsOSArNTQ1LDYgQEAKICNpZiBQ
TEFURk9STShJT1MpCiAKICNkZWZpbmUgSEFWRV9SRUFETElORSAxCi0jaWYgVVNFKEFQUExFX0lO
VEVSTkFMX1NESykKLSNkZWZpbmUgVVNFX0NGTkVUV09SSyAxCi0jZW5kaWYKICNkZWZpbmUgVVNF
X1VJS0lUX0VESVRJTkcgMQogI2RlZmluZSBVU0VfV0VCX1RIUkVBRCAxCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL1NjaGVkdWxlUGFpci5oIGIvU291cmNlL1dURi93dGYvU2NoZWR1bGVQ
YWlyLmgKaW5kZXggNjAzOWQ5YTM3OGYyN2JjMzJkZDc0ZTI5MDBiNzliNzU1YTIzZDQzNy4uYTU0
MzZkNTI0MmFiNTI0OTAyYTNiMjlmNTk4YjI0YTE4MzliNTMxNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvU2NoZWR1bGVQYWlyLmgKKysrIGIvU291cmNlL1dURi93dGYvU2NoZWR1bGVQYWly
LmgKQEAgLTM1LDcgKzM1LDcgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLSNpZiBVU0UoRk9VTkRBVElPTikKKyNp
ZiBVU0UoQ09DT0EpICYmICFVU0UoQ0ZORVRXT1JLKQogT0JKQ19DTEFTUyBOU1J1bkxvb3A7CiAj
ZW5kaWYKIApAQCAtNDUsNyArNDUsNyBAQCBjbGFzcyBTY2hlZHVsZVBhaXIgOiBwdWJsaWMgVGhy
ZWFkU2FmZVJlZkNvdW50ZWQ8U2NoZWR1bGVQYWlyPiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJl
ZjxTY2hlZHVsZVBhaXI+IGNyZWF0ZShDRlJ1bkxvb3BSZWYgcnVuTG9vcCwgQ0ZTdHJpbmdSZWYg
bW9kZSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY2hlZHVsZVBhaXIocnVuTG9vcCwgbW9kZSkp
OyB9CiAKLSNpZiBVU0UoRk9VTkRBVElPTikgJiYgIVVTRShDRk5FVFdPUkspCisjaWYgVVNFKENP
Q09BKSAmJiAhVVNFKENGTkVUV09SSykKICAgICBzdGF0aWMgUmVmPFNjaGVkdWxlUGFpcj4gY3Jl
YXRlKE5TUnVuTG9vcCogcnVuTG9vcCwgQ0ZTdHJpbmdSZWYgbW9kZSkgeyByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBTY2hlZHVsZVBhaXIocnVuTG9vcCwgbW9kZSkpOyB9CiAgICAgTlNSdW5Mb29wKiBu
c1J1bkxvb3AoKSBjb25zdCB7IHJldHVybiBtX25zUnVuTG9vcC5nZXQoKTsgfQogI2VuZGlmCkBA
IC02Myw3ICs2Myw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBtX21vZGUgPSBhZG9wdENGKENG
U3RyaW5nQ3JlYXRlQ29weSgwLCBtb2RlKSk7CiAgICAgfQogCi0jaWYgVVNFKEZPVU5EQVRJT04p
ICYmICFVU0UoQ0ZORVRXT1JLKQorI2lmIFVTRShDT0NPQSkgJiYgIVVTRShDRk5FVFdPUkspCiAg
ICAgV1RGX0VYUE9SVF9QUklWQVRFIFNjaGVkdWxlUGFpcihOU1J1bkxvb3AqLCBDRlN0cmluZ1Jl
Zik7CiAgICAgUmV0YWluUHRyPE5TUnVuTG9vcCo+IG1fbnNSdW5Mb29wOwogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCmluZGV4IDU1MTAzOTFiZDMzZDNhMzY2NzE1
NmU4NDVmYTMxMzExYzNmNmY5ZjMuLmU1YmRhY2UxNzdhZTA1Zjk4MGNiMjY4YzVlNTg1YmJlODgy
YmQyYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCkBAIC01Niw2ICs1
NiwxMCBAQAogI2luY2x1ZGUgIlF1aWNrTG9vay5oIgogI2VuZGlmCiAKKyNpZiBQTEFURk9STShD
T0NPQSkgJiYgIVVTRShDRk5FVFdPUkspCisjaW5jbHVkZSA8d3RmL1NjaGVkdWxlUGFpci5oPgor
I2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEFwcGxpY2F0aW9uQ2Fj
aGVIb3N0OwpAQCAtMTQ0LDcgKzE0OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRUaXRsZShjb25zdCBTdHJpbmdXaXRoRGlyZWN0aW9uJik7
CiAgICAgICAgIGNvbnN0IFN0cmluZyYgb3ZlcnJpZGVFbmNvZGluZygpIGNvbnN0IHsgcmV0dXJu
IG1fb3ZlcnJpZGVFbmNvZGluZzsgfQogCi0jaWYgUExBVEZPUk0oTUFDKQorI2lmIFBMQVRGT1JN
KENPQ09BKSAmJiAhVVNFKENGTkVUV09SSykKICAgICAgICAgdm9pZCBzY2hlZHVsZShTY2hlZHVs
ZVBhaXImKTsKICAgICAgICAgdm9pZCB1bnNjaGVkdWxlKFNjaGVkdWxlUGFpciYpOwogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCAxYTk3M2IwZDUy
M2I4ZTFmMzJmMjVhODA4OWM4Mjk4NTc0NTBlM2VjLi5kNmU1YjYxMWI1YTk1YzllNjFkZWZhNmRj
NmE2NDdmMmNjZWRkMWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3Vy
Y2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5j
cHAKQEAgLTcyNCw3ICs3MjQsNyBAQCB2b2lkIFJlc291cmNlTG9hZGVyOjpyZWNlaXZlZENhbmNl
bGxhdGlvbihjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpCiAgICAgY2FuY2VsKCk7CiB9
CiAKLSNpZiBQTEFURk9STShNQUMpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmICFVU0UoQ0ZORVRX
T1JLKQogCiB2b2lkIFJlc291cmNlTG9hZGVyOjpzY2hlZHVsZShTY2hlZHVsZVBhaXImIHBhaXIp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCmluZGV4IDAyN2FjMDhmMjMy
MzFkNDA3ODdkMTMwMjU2MjYzMzJiOTI2ZjQwZmEuLjE4OWIzYmM4YTgxYTBlZDUwY2Y2YjU4YjIz
ZjQ2YzQwYjQ3ZGRlZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJj
ZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCkBA
IC0xNDAsNyArMTQwLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCB3aWxsU3dpdGNoVG9TdWJzdGl0
dXRlUmVzb3VyY2UoKTsKIAotI2lmIFBMQVRGT1JNKE1BQykKKyNpZiBQTEFURk9STShDT0NPQSkg
JiYgIVVTRShDRk5FVFdPUkspCiAgICAgdm9pZCBzY2hlZHVsZShXVEY6OlNjaGVkdWxlUGFpciYp
OwogICAgIHZvaWQgdW5zY2hlZHVsZShXVEY6OlNjaGVkdWxlUGFpciYpOwogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvbWFjL0RvY3VtZW50TG9hZGVyTWFjLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9tYWMvRG9jdW1lbnRMb2FkZXJNYWMuY3BwCmluZGV4IDdl
NzRmMjBmOTcyYjA3OGZlODYyYjU4MWMyODliZWVlNWQwYTEyYzguLjU4ZDUwZTY5OGE5MWZiNTlj
OTA2ZWJiNmQzN2IwMWZlMTM3N2I2NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9tYWMvRG9jdW1lbnRMb2FkZXJNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9t
YWMvRG9jdW1lbnRMb2FkZXJNYWMuY3BwCkBAIC0zMyw3ICszMyw3IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotI2lmIFBMQVRGT1JNKE1BQykKKyNpZiAhVVNFKENGTkVUV09SSykKIAogc3Rh
dGljIHZvaWQgc2NoZWR1bGVBbGwoY29uc3QgUmVzb3VyY2VMb2FkZXJNYXAmIGxvYWRlcnMsIFNj
aGVkdWxlUGFpciYgcGFpcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFj
L1BhZ2VNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9QYWdlTWFjLm1tCmluZGV4IDUy
NTEwOGZjYTVlZThhODQzMTRhNmQxMDVhZjRhNmQxMzU0MjRlN2YuLmRiMjAwOTBhN2Y4MzJmMGU2
NjFhMjY1MTA3NDA2MWNlZWRlNzRlMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
bWFjL1BhZ2VNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvUGFnZU1hYy5tbQpA
QCAtMzQsMTIgKzM0LDIwIEBACiAjaW1wb3J0ICJGcmFtZVRyZWUuaCIKICNpbXBvcnQgIk1haW5G
cmFtZS5oIgogCisjaWYgUExBVEZPUk0oSU9TKQorI2ltcG9ydCAiV2ViQ29yZVRocmVhZC5oIgor
I2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdm9pZCBQYWdlOjpwbGF0Zm9ybUluaXRp
YWxpemUoKQogeworI2lmIFBMQVRGT1JNKElPUykKICNpZiBVU0UoQ0ZORVRXT1JLKQotICAgIGFk
ZFNjaGVkdWxlUGFpcihTY2hlZHVsZVBhaXI6OmNyZWF0ZShbW05TUnVuTG9vcCBjdXJyZW50UnVu
TG9vcF0gZ2V0Q0ZSdW5Mb29wXSwga0NGUnVuTG9vcENvbW1vbk1vZGVzKSk7CisgICAgYWRkU2No
ZWR1bGVQYWlyKFNjaGVkdWxlUGFpcjo6Y3JlYXRlKFdlYlRocmVhZFJ1bkxvb3AoKSwga0NGUnVu
TG9vcENvbW1vbk1vZGVzKSk7CisjZWxzZQorICAgIGFkZFNjaGVkdWxlUGFpcihTY2hlZHVsZVBh
aXI6OmNyZWF0ZShXZWJUaHJlYWROU1J1bkxvb3AoKSwga0NGUnVuTG9vcENvbW1vbk1vZGVzKSk7
CisjZW5kaWYgLy8gVVNFKENGTkVUV09SSykKICNlbHNlCiAgICAgYWRkU2NoZWR1bGVQYWlyKFNj
aGVkdWxlUGFpcjo6Y3JlYXRlKFtOU1J1bkxvb3AgY3VycmVudFJ1bkxvb3BdLCBrQ0ZSdW5Mb29w
Q29tbW9uTW9kZXMpKTsKICNlbmRpZgpAQCAtNTEsNyArNTksNyBAQCB2b2lkIFBhZ2U6OmFkZFNj
aGVkdWxlUGFpcihSZWY8U2NoZWR1bGVQYWlyPiYmIHBhaXIpCiAgICAgICAgIG1fc2NoZWR1bGVk
UnVuTG9vcFBhaXJzID0gc3RkOjptYWtlX3VuaXF1ZTxTY2hlZHVsZVBhaXJIYXNoU2V0PigpOwog
ICAgIG1fc2NoZWR1bGVkUnVuTG9vcFBhaXJzLT5hZGQocGFpci5wdHIoKSk7CiAKLSNpZiAhUExB
VEZPUk0oSU9TKQorI2lmICFVU0UoQ0ZORVRXT1JLKQogICAgIGZvciAoRnJhbWUqIGZyYW1lID0g
bV9tYWluRnJhbWUuZ2V0KCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCkudHJhdmVyc2VO
ZXh0KCkpIHsKICAgICAgICAgaWYgKERvY3VtZW50TG9hZGVyKiBkb2N1bWVudExvYWRlciA9IGZy
YW1lLT5sb2FkZXIoKS5kb2N1bWVudExvYWRlcigpKQogICAgICAgICAgICAgZG9jdW1lbnRMb2Fk
ZXItPnNjaGVkdWxlKHBhaXIpOwpAQCAtNzEsNyArNzksNyBAQCB2b2lkIFBhZ2U6OnJlbW92ZVNj
aGVkdWxlUGFpcihSZWY8U2NoZWR1bGVQYWlyPiYmIHBhaXIpCiAKICAgICBtX3NjaGVkdWxlZFJ1
bkxvb3BQYWlycy0+cmVtb3ZlKHBhaXIucHRyKCkpOwogCi0jaWYgIVBMQVRGT1JNKElPUykKKyNp
ZiAhVVNFKENGTkVUV09SSykKICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9IG1fbWFpbkZyYW1lLmdl
dCgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLnRyYXZlcnNlTmV4dCgpKSB7CiAgICAg
ICAgIGlmIChEb2N1bWVudExvYWRlciogZG9jdW1lbnRMb2FkZXIgPSBmcmFtZS0+bG9hZGVyKCku
ZG9jdW1lbnRMb2FkZXIoKSkKICAgICAgICAgICAgIGRvY3VtZW50TG9hZGVyLT51bnNjaGVkdWxl
KHBhaXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XZWJD
b3JlVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJl
YWQuaAppbmRleCBlZmI4ZDdhNDg2MGQwMDNmZjNkN2EwZTNhMWFhZDM3MjJkN2ZjOGVmLi42N2Fh
YTI4MDgxYmM0ZTFlMjllNzdlYzAyOGJkOWZiZWUxN2FkNGVmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQuaApAQCAtODAsOCArODAsOCBAQCBX
RUJDT1JFX0VYUE9SVCB2b2lkIFdlYlRocmVhZFVubG9ja0d1YXJkRm9yTWFpbCgpOwogc3RhdGlj
IGlubGluZSBib29sIFdlYlRocmVhZFNob3VsZFlpZWxkKHZvaWQpIHsgcmV0dXJuIHdlYlRocmVh
ZFNob3VsZFlpZWxkOyB9CiBzdGF0aWMgaW5saW5lIHZvaWQgV2ViVGhyZWFkU2V0U2hvdWxkWWll
bGQoKSB7IHdlYlRocmVhZFNob3VsZFlpZWxkID0gdHJ1ZTsgfQogCi1XRUJDT1JFX0VYUE9SVCBD
RlJ1bkxvb3BSZWYgV2ViVGhyZWFkUnVuTG9vcCh2b2lkKTsKLU5TUnVuTG9vcCogV2ViVGhyZWFk
TlNSdW5Mb29wKHZvaWQpOworQ0ZSdW5Mb29wUmVmIFdlYlRocmVhZFJ1bkxvb3Aodm9pZCk7CitX
RUJDT1JFX0VYUE9SVCBOU1J1bkxvb3AqIFdlYlRocmVhZE5TUnVuTG9vcCh2b2lkKTsKIFdlYlRo
cmVhZENvbnRleHQgKldlYlRocmVhZEN1cnJlbnRDb250ZXh0KHZvaWQpOwogYm9vbCBXZWJUaHJl
YWRDb250ZXh0SXNDdXJyZW50KHZvaWQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCmluZGV4IDYxMjNmMTRh
Y2EyNDg0YmU0MmE2ZGYxMDBhZjNhYWMzMTliZDJkOWYuLjQ2MmVmYWZhYWQ0MzZmOGU5ZjFmNWUw
YTI3N2JjYzY4YmEwYmYyMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCkBAIC0yNiwxMiArMjYsMTMgQEAK
ICNpZm5kZWYgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbF9oCiAjZGVmaW5lIFJlc291cmNlSGFuZGxl
SW50ZXJuYWxfaAogCisjaW5jbHVkZSAiQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaCIKICNpbmNs
dWRlICJOZXR3b3JraW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAj
aW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVl
c3QuaCIKLSNpbmNsdWRlICJBdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oIgogI2luY2x1ZGUgIlRp
bWVyLmgiCisjaW5jbHVkZSAiV2ViQ29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZS5oIgogCiAj
aWYgVVNFKENGTkVUV09SSykKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlv
bkRlbGVnYXRlLmgiCkBAIC0xMzgsNyArMTM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2Vu
ZGlmCiAjaWYgUExBVEZPUk0oQ09DT0EpICYmICFVU0UoQ0ZORVRXT1JLKQogICAgICAgICBSZXRh
aW5QdHI8TlNVUkxDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247Ci0gICAgICAgIFJldGFpblB0cjxp
ZD4gbV9kZWxlZ2F0ZTsKKyAgICAgICAgUmV0YWluUHRyPGlkIDxXZWJDb3JlUmVzb3VyY2VMb2Fk
ZXJEZWxlZ2F0ZT4+IG1fZGVsZWdhdGU7CiAjZW5kaWYKICNpZiBQTEFURk9STShDT0NPQSkKICAg
ICAgICAgYm9vbCBtX3N0YXJ0V2hlblNjaGVkdWxlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvaW9zL1F1aWNrTG9vay5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9pb3MvUXVpY2tMb29rLmgKaW5kZXggNDQ4MjRkYTAyNThkY2MxNzRiZGU5
YmU3NTc2YTVmY2YyMTZjMDU5Ni4uMGFlNThlMWIwNDM2ODk4M2EzY2RjMWZmMTdkZTcxMThmOWQ4
MTI0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9pb3MvUXVp
Y2tMb29rLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9pb3MvUXVpY2tM
b29rLmgKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2ltcG9ydCAiUXVpY2tMb29rSGFuZGxlQ2xpZW50
LmgiCiAjaW1wb3J0ICJSZXNvdXJjZVJlcXVlc3QuaCIKKyNpbXBvcnQgIldlYkNvcmVSZXNvdXJj
ZUhhbmRsZUFzRGVsZWdhdGUuaCIKICNpbXBvcnQgPG9iamMvb2JqYy1ydW50aW1lLmg+CiAjaW1w
b3J0IDx3dGYvUmVmUHRyLmg+CiAKQEAgLTExMiw3ICsxMTMsNyBAQCBwcml2YXRlOgogCiAgICAg
UmV0YWluUHRyPE5TVVJMPiBtX2ZpcnN0UmVxdWVzdFVSTDsKICAgICBSZXRhaW5QdHI8UUxQcmV2
aWV3Q29udmVydGVyPiBtX2NvbnZlcnRlcjsKLSAgICBSZXRhaW5QdHI8aWQ+IG1fZGVsZWdhdGU7
CisgICAgUmV0YWluUHRyPGlkIDxXZWJDb3JlUmVzb3VyY2VMb2FkZXJEZWxlZ2F0ZT4+IG1fZGVs
ZWdhdGU7CiAgICAgYm9vbCBtX2ZpbmlzaGVkTG9hZGluZ0RhdGFJbnRvQ29udmVydGVyOwogICAg
IFJldGFpblB0cjxOU0ZpbGVIYW5kbGUgKj4gbV9xdWlja2xvb2tGaWxlSGFuZGxlOwogICAgIFJl
dGFpblB0cjxOU1VSTFJlc3BvbnNlPiBtX25zUmVzcG9uc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xvb2subW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xvb2subW0KaW5kZXggOTZmNTBkZjA3NDAxODQ2
NDBhOGYzZWE2MDQyNDU5MmY2YTVhOTZhMC4uOGIwNjEyMDNlNzg4YTI1MmE0OWJlNDI0NTVmNGRk
MmVhZjhlMWZjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9p
b3MvUXVpY2tMb29rLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvaW9z
L1F1aWNrTG9vay5tbQpAQCAtMzIsNyArMzIsNiBAQAogI2ltcG9ydCAiRmlsZVN5c3RlbUlPUy5o
IgogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiTlNGaWxlTWFuYWdlclNQSS5oIgotI2lt
cG9ydCAiUXVpY2tMb29rU29mdExpbmsuaCIKICNpbXBvcnQgIlJlc291cmNlRXJyb3IuaCIKICNp
bXBvcnQgIlJlc291cmNlSGFuZGxlLmgiCiAjaW1wb3J0ICJSZXNvdXJjZUxvYWRlci5oIgpAQCAt
NDYsNiArNDUsOCBAQAogI2ltcG9ydCA8d3RmL1ZlY3Rvci5oPgogI2ltcG9ydCA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CiAKKyNpbXBvcnQgIlF1aWNrTG9va1NvZnRMaW5rLmgiCisKIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogCiBOU1NldCAqV2ViQ29yZTo6UUxQcmV2aWV3R2V0U3VwcG9ydGVk
TUlNRVR5cGVzU2V0KCkKQEAgLTE5MywxMiArMTk0LDExIEBAIGNvbnN0IGNoYXIqIFdlYkNvcmU6
OlFMUHJldmlld1Byb3RvY29sKCkKIC8vIFRoaXMgd29ya3MgZmluZSB3aGVuIHVzaW5nIE5TIEFQ
SXMsIGJ1dCB3aGVuIHVzaW5nIENGTmV0d29yaywgd2UgZG9uJ3QgaGF2ZSBhIE5TVVJMQ29ubmVj
dGlvbkRlbGVnYXRlLgogLy8gU28gd2UgY3JlYXRlIFdlYlF1aWNrTG9va0hhbmRsZUFzRGVsZWdh
dGUgYXMgYW4gaW50ZXJtZWRpYXRlIGRlbGVnYXRlIG9iamVjdCBhbmQgcGFzcyBpdCB0bwogLy8g
UUxQcmV2aWV3Q29udmVydGVyLiBUaGUgcHJveHkgZGVsZWdhdGUgdGhlbiBmb3J3YXJkcyB0aGUg
bWVzc2FnZXMgb24gdG8gdGhlIENGTmV0d29yayBjb2RlLgotQGludGVyZmFjZSBXZWJRdWlja0xv
b2tIYW5kbGVBc0RlbGVnYXRlIDogTlNPYmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlPiB7
CitAaW50ZXJmYWNlIFdlYlF1aWNrTG9va0hhbmRsZUFzRGVsZWdhdGUgOiBOU09iamVjdCA8TlNV
UkxDb25uZWN0aW9uRGVsZWdhdGUsIFdlYkNvcmVSZXNvdXJjZUxvYWRlckRlbGVnYXRlPiB7CiAg
ICAgUmVmUHRyPFN5bmNocm9ub3VzUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0
ZT4gbV9jb25uZWN0aW9uRGVsZWdhdGU7CiB9CiAKIC0gKGlkKWluaXRXaXRoQ29ubmVjdGlvbkRl
bGVnYXRlOihTeW5jaHJvbm91c1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGUq
KWNvbm5lY3Rpb25EZWxlZ2F0ZTsKLS0gKHZvaWQpY2xlYXJIYW5kbGU7CiBAZW5kCiAKIEBpbXBs
ZW1lbnRhdGlvbiBXZWJRdWlja0xvb2tIYW5kbGVBc0RlbGVnYXRlCkBAIC0yNTIsMTQgKzI1Miwx
NCBAQCAtICh2b2lkKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gZGlk
RmFpbFdpdGhFcnJvcjooTlNFcnJvciAqKWVycgogICAgIG1fY29ubmVjdGlvbkRlbGVnYXRlLT5k
aWRGYWlsKHJlaW50ZXJwcmV0X2Nhc3Q8Q0ZFcnJvclJlZj4oZXJyb3IpKTsKIH0KIAotLSAodm9p
ZCljbGVhckhhbmRsZQorLSAodm9pZClkZXRhY2hIYW5kbGUKIHsKICAgICBtX2Nvbm5lY3Rpb25E
ZWxlZ2F0ZSA9IG51bGxwdHI7CiB9CiBAZW5kCiAjZW5kaWYKIAotQGludGVyZmFjZSBXZWJSZXNv
dXJjZUxvYWRlclF1aWNrTG9va0RlbGVnYXRlIDogTlNPYmplY3QgPE5TVVJMQ29ubmVjdGlvbkRl
bGVnYXRlPiB7CitAaW50ZXJmYWNlIFdlYlJlc291cmNlTG9hZGVyUXVpY2tMb29rRGVsZWdhdGUg
OiBOU09iamVjdCA8TlNVUkxDb25uZWN0aW9uRGVsZWdhdGUsIFdlYkNvcmVSZXNvdXJjZUxvYWRl
ckRlbGVnYXRlPiB7CiAgICAgUmVmUHRyPFJlc291cmNlTG9hZGVyPiBfcmVzb3VyY2VMb2FkZXI7
CiAgICAgQk9PTCBfaGFzU2VudERpZFJlY2VpdmVSZXNwb25zZTsKICAgICBCT09MIF9oYXNGYWls
ZWQ7CkBAIC0zNTAsNyArMzUwLDcgQEAgLSAodm9pZCljb25uZWN0aW9uOihOU1VSTENvbm5lY3Rp
b24gKiljb25uZWN0aW9uIGRpZEZhaWxXaXRoRXJyb3I6KE5TRXJyb3IgKillcnIKICAgICBfcmVz
b3VyY2VMb2FkZXItPmRpZEZhaWwoUmVzb3VyY2VFcnJvcihlcnJvcikpOwogfQogCi0tICh2b2lk
KWNsZWFySGFuZGxlCistICh2b2lkKWRldGFjaEhhbmRsZQogewogICAgIF9yZXNvdXJjZUxvYWRl
ciA9IG51bGxwdHI7CiAgICAgX3F1aWNrTG9va0hhbmRsZSA9IG51bGxwdHI7CkBAIC00OTEsNyAr
NDkxLDcgQEAgUXVpY2tMb29rSGFuZGxlOjp+UXVpY2tMb29rSGFuZGxlKCkKICAgICBMT0coTmV0
d29yaywgIlF1aWNrTG9va0hhbmRsZTo6flF1aWNrTG9va0hhbmRsZSgpIik7CiAgICAgbV9jb252
ZXJ0ZXIgPSBudWxscHRyOwogCi0gICAgW21fZGVsZWdhdGUgY2xlYXJIYW5kbGVdOworICAgIFtt
X2RlbGVnYXRlIGRldGFjaEhhbmRsZV07CiB9CiAKIFN0cmluZyBRdWlja0xvb2tIYW5kbGU6OnBy
ZXZpZXdGaWxlTmFtZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCmluZGV4IDdjOTdiMmFhZTBmZDI4
ODFlY2Y4YmM1YTNlNzk5ZDRkNWEwOWJlMWUuLmUyNWZjNzQxYWFiMTkzYTk5NDg1MWJjNmVkMjQ3
NTRmNjI3NGFlNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
bWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCkBAIC0zMTQsNyArMzE0LDcgQEAgdm9pZCBS
ZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1TZXREZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJzKQogICAg
ICAgICBbZC0+bV9jb25uZWN0aW9uIHNldERlZmVyc0NhbGxiYWNrczpkZWZlcnNdOwogfQogCi0j
aWYgUExBVEZPUk0oTUFDKQorI2lmICFVU0UoQ0ZORVRXT1JLKQogCiB2b2lkIFJlc291cmNlSGFu
ZGxlOjpzY2hlZHVsZShTY2hlZHVsZVBhaXImIHBhaXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVn
YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3Vy
Y2VIYW5kbGVBc0RlbGVnYXRlLmgKaW5kZXggNGY0MTU1ZWFmZDk0NWIxYjg2MmQyOWNlODk2ZGNh
ZGNkYTFjNDI2Ni4uYWE3ZTFjYjRhNGRjMmU1NjJhODZiMTM3MjkwYTE2MDk3YTc4ZTk0YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291
cmNlSGFuZGxlQXNEZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUuaApAQCAtMjYsMTcgKzI2LDIw
IEBACiAjaWZuZGVmIFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGVfaAogI2RlZmluZSBX
ZWJDb3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlX2gKIAotI2lmICFVU0UoQ0ZORVRXT1JLKQot
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSZXNvdXJjZUhhbmRsZTsKIH0KIAotQGludGVy
ZmFjZSBXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlIDogTlNPYmplY3QgPE5TVVJMQ29u
bmVjdGlvbkRlbGVnYXRlPiB7CitAcHJvdG9jb2wgV2ViQ29yZVJlc291cmNlTG9hZGVyRGVsZWdh
dGUKKy0gKHZvaWQpZGV0YWNoSGFuZGxlOworQGVuZAorCisjaWYgIVVTRShDRk5FVFdPUkspCisK
K0BpbnRlcmZhY2UgV2ViQ29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZSA6IE5TT2JqZWN0IDxO
U1VSTENvbm5lY3Rpb25EZWxlZ2F0ZSwgV2ViQ29yZVJlc291cmNlTG9hZGVyRGVsZWdhdGU+IHsK
ICAgICBXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSogbV9oYW5kbGU7CiB9CiAtIChpZClpbml0V2l0
aEhhbmRsZTooV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUqKWhhbmRsZTsKLS0gKHZvaWQpZGV0YWNo
SGFuZGxlOwogQGVuZAogCiAjZW5kaWYgLy8gIVVTRShDRk5FVFdPUkspCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVB
c0RlbGVnYXRlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29y
ZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZS5tbQppbmRleCBlMTdjYjlkMjBlZDdkYmQ1MTc5M2Mz
NjRlYjMyYzE1ODk1ZWJhNTNhLi5kYzNiZDhhYjVkY2E5NmU3NTMzYmI4MDg3OGIzMzUyNzQxOGU0
M2ZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJD
b3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUubW0KQEAgLTU0
LDcgKzU0LDcgQEAgLSAoaWQpaW5pdFdpdGhIYW5kbGU6KFJlc291cmNlSGFuZGxlKiloYW5kbGUK
IAogLSAodm9pZClkZXRhY2hIYW5kbGUKIHsKLSAgICBtX2hhbmRsZSA9IDA7CisgICAgbV9oYW5k
bGUgPSBudWxscHRyOwogfQogCiAtIChOU1VSTFJlcXVlc3QgKiljb25uZWN0aW9uOihOU1VSTENv
bm5lY3Rpb24gKiljb25uZWN0aW9uIHdpbGxTZW5kUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopbmV3
UmVxdWVzdCByZWRpcmVjdFJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICopcmVkaXJlY3RSZXNwb25z
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29y
ZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1
ZXVlRGVsZWdhdGUuaAppbmRleCBlNzQwYWE1OWJlZDYzYmFiOTA3NmYwNzkzYWIzZDAzZGUwMDJi
MDUxLi5iYWJkYWQyYzQ0NTI0YjgyZWQ5NzA2MGQ5ZGE4NzM2ODY2OGRlZDMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5k
bGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdh
dGUuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgIVVTRShDRk5FVFdPUkspCiAKKyNpbmNsdWRl
ICJXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlLmgiCiAjaW5jbHVkZSA8ZGlzcGF0Y2gv
ZGlzcGF0Y2guaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKQEAgLTM1LDcgKzM2LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUmVzb3VyY2VIYW5kbGU7CiB9CiAKLUBpbnRl
cmZhY2UgV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIDogTlNP
YmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlPiB7CitAaW50ZXJmYWNlIFdlYkNvcmVSZXNv
dXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSA6IE5TT2JqZWN0IDxOU1VSTENvbm5l
Y3Rpb25EZWxlZ2F0ZSwgV2ViQ29yZVJlc291cmNlTG9hZGVyRGVsZWdhdGU+IHsKICAgICBXZWJD
b3JlOjpSZXNvdXJjZUhhbmRsZSogbV9oYW5kbGU7CiAKICAgICAvLyBTeW5jaHJvbm91cyBkZWxl
Z2F0ZXMgb24gb3BlcmF0aW9uIHF1ZXVlIHdhaXQgdW50aWwgbWFpbiB0aHJlYWQgc2VuZHMgYW4g
YXN5bmNocm9ub3VzIHJlc3BvbnNlLgpAQCAtNDYsNyArNDcsNiBAQCBjbGFzcyBSZXNvdXJjZUhh
bmRsZTsKIH0KIAogLSAoaWQpaW5pdFdpdGhIYW5kbGU6KFdlYkNvcmU6OlJlc291cmNlSGFuZGxl
KiloYW5kbGU7Ci0tICh2b2lkKWRldGFjaEhhbmRsZTsKIC0gKHZvaWQpY29udGludWVXaWxsU2Vu
ZFJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKW5ld1JlcXVlc3Q7CiAtICh2b2lkKWNvbnRpbnVlRGlk
UmVjZWl2ZVJlc3BvbnNlOwogI2lmIFVTRShQUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJBQ0sp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvTlNVUkxEb3du
bG9hZFNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL05TVVJMRG93bmxv
YWRTUEkuaAppbmRleCAzZjNhM2JjYjhlYzY0OGQ0YWU1YTcwMTc1YTc1NjUxN2Y4NWRkMGQ1Li4z
MGMyOGU3MzI5OGIyNzNiODQxZWE4MTQ5YWQyMmMxNjMzYTdhYzU3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvTlNVUkxEb3dubG9hZFNQSS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9OU1VSTERvd25sb2FkU1BJLmgKQEAgLTI5
LDYgKzI5LDE0IEBACiAKICNpbXBvcnQgPEZvdW5kYXRpb24vTlNVUkxEb3dubG9hZC5oPgogCisj
aWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPEZvdW5kYXRpb24vTlNVUkxEb3du
bG9hZFByaXZhdGUuaD4KKyNlbHNlCitAaW50ZXJmYWNlIE5TVVJMRG93bmxvYWQgKCkKKysoaWQp
X2Rvd25sb2FkV2l0aExvYWRpbmdDb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0
aW9uIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgcmVzcG9uc2U6KE5TVVJMUmVzcG9u
c2UgKilyZXNwb25zZSBkZWxlZ2F0ZTooaWQpZGVsZWdhdGUgcHJveHk6KGlkKXByb3h5OworQGVu
ZAorI2VuZGlmCisKICNlbHNlCiAKIEBjbGFzcyBOU1N0cmluZzsKQEAgLTU2LDggKzY0LDIyIEBA
CiAtICh2b2lkKWRvd25sb2FkOihOU1VSTERvd25sb2FkICopZG93bmxvYWQgZGlkRmFpbFdpdGhF
cnJvcjooTlNFcnJvciAqKWVycm9yOwogQGVuZAogCisjaWZuZGVmIFdlYkRvd25sb2FkX2gKKy8q
IEFsc28gZGVmaW5lZCBpbiA8V2ViS2l0L1dlYkRvd25sb2FkLmg+LiAqLworQGludGVyZmFjZSBO
U1VSTERvd25sb2FkIDogTlNPYmplY3QKK0BlbmQKKyNlbmRpZgorCiBAaW50ZXJmYWNlIE5TVVJM
RG93bmxvYWQgKCkKIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aFJlcXVlc3Q6KE5TVVJMUmVxdWVz
dCAqKXJlcXVlc3QgZGVsZWdhdGU6KGlkIDxOU1VSTERvd25sb2FkRGVsZWdhdGU+KWRlbGVnYXRl
OworLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoUmVzdW1lRGF0YTooTlNEYXRhICopcmVzdW1lRGF0
YSBkZWxlZ2F0ZTooaWQgPE5TVVJMRG93bmxvYWREZWxlZ2F0ZT4pZGVsZWdhdGUgcGF0aDooTlNT
dHJpbmcgKilwYXRoOworLSAodm9pZCljYW5jZWw7CistICh2b2lkKXNldERlc3RpbmF0aW9uOihO
U1N0cmluZyAqKXBhdGggYWxsb3dPdmVyd3JpdGU6KEJPT0wpYWxsb3dPdmVyd3JpdGU7CitAcHJv
cGVydHkgKHJlYWRvbmx5LCBjb3B5KSBOU1VSTFJlcXVlc3QgKnJlcXVlc3Q7CitAcHJvcGVydHkg
KHJlYWRvbmx5LCBjb3B5KSBOU0RhdGEgKnJlc3VtZURhdGE7CitAcHJvcGVydHkgQk9PTCBkZWxl
dGVzRmlsZVVwb25GYWlsdXJlOworCisrKGlkKV9kb3dubG9hZFdpdGhMb2FkaW5nQ29ubmVjdGlv
bjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKily
ZXF1ZXN0IHJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICopcmVzcG9uc2UgZGVsZWdhdGU6KGlkKWRl
bGVnYXRlIHByb3h5OihpZClwcm94eTsKIEBlbmQKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9NaXNjL1dlYkRvd25sb2FkLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9NaXNj
L1dlYkRvd25sb2FkLmgKaW5kZXggZTI0MmU2ZGI5Yzk3Zjg4ZGJhOGIxZTBhZmVhYTg3NGFjNTFm
YjU0OS4uY2FhNTU3MGE1NjBlMzNmMWZiOWY4OWFiYjg4NWMyZDEzNTM4Mjg0OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJEb3dubG9hZC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvbWFjL01pc2MvV2ViRG93bmxvYWQuaApAQCAtMjYsNiArMjYsOSBAQAogICogVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
ICAqLwogCisjaWZuZGVmIFdlYkRvd25sb2FkX2gKKyNkZWZpbmUgV2ViRG93bmxvYWRfaAorCiAj
aWYgIVRBUkdFVF9PU19JUEhPTkUgfHwgKGRlZmluZWQgVVNFX0FQUExFX0lOVEVSTkFMX1NESyAm
JiBVU0VfQVBQTEVfSU5URVJOQUxfU0RLKQogI2ltcG9ydCA8Rm91bmRhdGlvbi9OU1VSTERvd25s
b2FkLmg+CiAjZWxzZQpAQCAtNzgsMyArODEsNSBAQAogLSAoTlNXaW5kb3cgKilkb3dubG9hZFdp
bmRvd0ZvckF1dGhlbnRpY2F0aW9uU2hlZXQ6KFdlYkRvd25sb2FkICopZG93bmxvYWQ7CiAKIEBl
bmQKKworI2VuZGlmIC8qIFdlYkRvd25sb2FkX2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL01pc2MvV2ViS2l0VmVyc2lvbkNoZWNrcy5oIGIvU291cmNlL1dlYktpdC9tYWMvTWlz
Yy9XZWJLaXRWZXJzaW9uQ2hlY2tzLmgKaW5kZXggYzgxMTIwMTI1ZDRkZmI2OTMxYWZlZDQxZWQx
MDAxOWJmMDdiZmRmNC4uYjUzMzM1NGMzNzEyYmYwNjc5ZjM5ODYzYmFlYjVlMTJlM2RiMzc0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXRWZXJzaW9uQ2hlY2tzLmgK
KysrIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXRWZXJzaW9uQ2hlY2tzLmgKQEAgLTcy
LDYgKzcyLDcgQEAKICNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9DU1NfQVRUUklC
VVRFX1NFVFRFUlNfSUdOT1JJTkdfUFJJT1JJVFkgMjIzOSAvLyBpT1MgNi4wCiAjZGVmaW5lIFdF
QktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfWU9VVFVCRV9FTUJFRF9JRlJBTUVfVFJBTlNGT1JNIDIy
MzkgLy8gaU9TIDYuMAogI2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIT1VUX0xFR0FD
WV9CQUNLR1JPVU5EU0laRV9TSE9SVEhBTkRfQkVIQVZJT1IgMjY2NSAvLyBpT1MgNy4wCisjZGVm
aW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfTE9BRElOR19EVVJJTkdfQ09NTU9OX1JVTkxP
T1BfTU9ERVMgMjY2NSAvLyBpT1MgNy4wCiAjZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJ
VEhfSU5TRUNVUkVfQ09OVEVOVF9CTE9DS0lORyAzNDU0CiAjZW5kaWYgLy8gUExBVEZPUk0oSU9T
KQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggMGU5Y2QzMWEzNjIyMzM2
YWY0YmZiMGU3YzczMjIwNThkYjYyZTg4Yy4uOWE5MmE4ODRjOTc2ZWQ0MTk3MDAxMWMzMzFkNzkx
OTRjOTVjMzEyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMTAyNiwx
NCArMTAyNiwxNiBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6
KE5TU3RyaW5nICopZnJhbWVOYW1lIGdyb3VwTmFtZTooTlNTdAogCiAgICAgW1dlYkZyYW1lIF9j
cmVhdGVNYWluRnJhbWVXaXRoUGFnZTpfcHJpdmF0ZS0+cGFnZSBmcmFtZU5hbWU6ZnJhbWVOYW1l
IGZyYW1lVmlldzpmcmFtZVZpZXddOwogCi0jaWYgIVBMQVRGT1JNKElPUykKKyNpZiBQTEFURk9S
TShJT1MpCisgICAgTlNSdW5Mb29wICpydW5Mb29wID0gV2ViVGhyZWFkTlNSdW5Mb29wKCk7Cisj
ZWxzZQogICAgIE5TUnVuTG9vcCAqcnVuTG9vcCA9IFtOU1J1bkxvb3AgbWFpblJ1bkxvb3BdOwor
I2VuZGlmCiAKICAgICBpZiAoV2ViS2l0TGlua2VkT25PckFmdGVyKFdFQktJVF9GSVJTVF9WRVJT
SU9OX1dJVEhfTE9BRElOR19EVVJJTkdfQ09NTU9OX1JVTkxPT1BfTU9ERVMpKQogICAgICAgICBb
c2VsZiBzY2hlZHVsZUluUnVuTG9vcDpydW5Mb29wIGZvck1vZGU6KE5TU3RyaW5nICopa0NGUnVu
TG9vcENvbW1vbk1vZGVzXTsKICAgICBlbHNlCiAgICAgICAgIFtzZWxmIHNjaGVkdWxlSW5SdW5M
b29wOnJ1bkxvb3AgZm9yTW9kZTpOU0RlZmF1bHRSdW5Mb29wTW9kZV07Ci0jZW5kaWYKIAogICAg
IFtzZWxmIF9hZGRUb0FsbFdlYlZpZXdzU2V0XTsKICAgICAKQEAgLTY2MTgsNyArNjYyMCw2IEBA
IEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdlYlZpZXcgKFdlYlBlbmRpbmdQdWJsaWMpCiAKLSNp
ZiAhUExBVEZPUk0oSU9TKQogLSAodm9pZClzY2hlZHVsZUluUnVuTG9vcDooTlNSdW5Mb29wICop
cnVuTG9vcCBmb3JNb2RlOihOU1N0cmluZyAqKW1vZGUKIHsKICNpZiBVU0UoQ0ZORVRXT1JLKQpA
QCAtNjY0MCw3ICs2NjQxLDYgQEAgLSAodm9pZCl1bnNjaGVkdWxlRnJvbVJ1bkxvb3A6KE5TUnVu
TG9vcCAqKXJ1bkxvb3AgZm9yTW9kZTooTlNTdHJpbmcgKiltb2RlCiAgICAgaWYgKHJ1bkxvb3Ag
JiYgbW9kZSkKICAgICAgICAgY29yZShzZWxmKS0+cmVtb3ZlU2NoZWR1bGVQYWlyKFNjaGVkdWxl
UGFpcjo6Y3JlYXRlKHNjaGVkdWxlUGFpclJ1bkxvb3AsIChDRlN0cmluZ1JlZiltb2RlKSk7CiB9
Ci0jZW5kaWYKIAogc3RhdGljIEJPT0wgZmluZFN0cmluZyhOU1ZpZXcgPFdlYkRvY3VtZW50U2Vh
cmNoaW5nPiAqc2VhcmNoVmlldywgTlNTdHJpbmcgKnN0cmluZywgV2ViRmluZE9wdGlvbnMgb3B0
aW9ucykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld1By
aXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld1ByaXZhdGUuaAppbmRl
eCA3OTZjMGY0MmE3Njk5ZjE4NmYwZTRjMDM3ZDExNDY3YzQ2YjEwMjk0Li5mNDMwNDk5NjQ1ZDdm
OTUwMDdjMWNiYTBlOWNmYWMwMTk4Y2YzYzA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3UHJpdmF0ZS5oCkBAIC0xOTgsMTAgKzE5OCw4IEBAIHR5cGVkZWYgZW51bSB7CiAK
IEBpbnRlcmZhY2UgV2ViVmlldyAoV2ViUGVuZGluZ1B1YmxpYykKIAotI2lmICFUQVJHRVRfT1Nf
SVBIT05FCiAtICh2b2lkKXNjaGVkdWxlSW5SdW5Mb29wOihOU1J1bkxvb3AgKilydW5Mb29wIGZv
ck1vZGU6KE5TU3RyaW5nICopbW9kZTsKIC0gKHZvaWQpdW5zY2hlZHVsZUZyb21SdW5Mb29wOihO
U1J1bkxvb3AgKilydW5Mb29wIGZvck1vZGU6KE5TU3RyaW5nICopbW9kZTsKLSNlbmRpZgogCiAt
IChCT09MKWZpbmRTdHJpbmc6KE5TU3RyaW5nICopc3RyaW5nIG9wdGlvbnM6KFdlYkZpbmRPcHRp
b25zKW9wdGlvbnM7CiAtIChET01SYW5nZSAqKURPTVJhbmdlT2ZTdHJpbmc6KE5TU3RyaW5nICop
c3RyaW5nIHJlbGF0aXZlVG86KERPTVJhbmdlICopcHJldmlvdXNSYW5nZSBvcHRpb25zOihXZWJG
aW5kT3B0aW9ucylvcHRpb25zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvRG93bmxvYWRzL2lvcy9Eb3dubG9hZElPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL0Rvd25sb2Fkcy9pb3MvRG93bmxvYWRJT1MubW0KaW5kZXggZDBlODBlNjIwMzg0
YzE3ODAxNzAxMzg2MWY3NTIwOGU3NWI1Y2MwOS4uMTAzYTg5NjE1ZWFhZWFlZGIyZjBmZDIzYTUz
YzU3ZTE5NjUxZmJjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
RG93bmxvYWRzL2lvcy9Eb3dubG9hZElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9Eb3dubG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1tCkBAIC0yNiw5ICsyNiwxMCBAQAog
I2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJEb3dubG9hZC5oIgogCi0jaWYgUExBVEZPUk0o
SU9TKSAmJiAhVVNFKE5FVFdPUktfU0VTU0lPTikKKyNpZiBVU0UoQ0ZORVRXT1JLKSAmJiAhVVNF
KE5FVFdPUktfU0VTU0lPTikKIAogI2ltcG9ydCAiRGF0YVJlZmVyZW5jZS5oIgorI2ltcG9ydCA8
Q0ZOZXR3b3JrL0NGVVJMRG93bmxvYWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvTm90SW1wbGVtZW50
ZWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9SZXNvdXJjZUhhbmRsZS5oPgpAQCAtMzYsMTUgKzM3LDEwIEBACiAjaW1wb3J0IDx3dGYvUmV0
YWluUHRyLmg+CiAjaW1wb3J0IDx3dGYvUnVuTG9vcC5oPgogCi0jaWYgVVNFKENGTkVUV09SSykK
LSNpbXBvcnQgPENGTmV0d29yay9DRlVSTERvd25sb2FkLmg+Ci0jZW5kaWYKLQogdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi0jaWYgVVNFKENGTkVUV09S
SykKIC8vIEZJWE1FOiBJZiBwb3NzaWJsZSwgd2Ugc2hvdWxkIGNvbnNpZGVyIG1vdmluZyBzb21l
IGNhbGxiYWNrcyBvZmYgdGhlIG1haW4gdGhyZWFkIG9yIGF0IGxlYXN0CiAvLyBtYWtpbmcgdGhl
bSBhc3luY2hvbm91cyBjYWxscy4KIHN0YXRpYyB2b2lkIGRpc3BhdGNoT25NYWluVGhyZWFkKHZv
aWQoXmJsb2NrKSgpKQpAQCAtMTI1LDcgKzEyMSw2IEBAIHN0YXRpYyB2b2lkIHNldFVwRG93bmxv
YWRDbGllbnQoQ0ZVUkxEb3dubG9hZENsaWVudCYgY2xpZW50LCBEb3dubG9hZCYgZG93bmxvYWQp
CiAgICAgICAgIH0pOwogICAgIH07CiB9Ci0jZW5kaWYgLy8gVVNFKENGTkVUV09SSykKIAogdm9p
ZCBEb3dubG9hZDo6c3RhcnQoKQogewpAQCAtMTM5LDE2ICsxMzQsMTIgQEAgdm9pZCBEb3dubG9h
ZDo6cmVzdW1lKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYsIGNvbnN0IFN0cmluZyYsIGNvbnN0
IFNhbmRib3hFeHQKIAogdm9pZCBEb3dubG9hZDo6c3RhcnRXaXRoSGFuZGxlKFJlc291cmNlSGFu
ZGxlKiBoYW5kbGUsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewotI2lmIFVT
RShDRk5FVFdPUkspCiAgICAgQ0ZVUkxEb3dubG9hZENsaWVudCBjbGllbnQ7CiAgICAgc2V0VXBE
b3dubG9hZENsaWVudChjbGllbnQsICp0aGlzKTsKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBw
dXNoCiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdkZXByZWNhdGVkLWRlY2xh
cmF0aW9ucyIKICAgICBtX2Rvd25sb2FkID0gYWRvcHRDRihDRlVSTERvd25sb2FkQ3JlYXRlQW5k
U3RhcnRXaXRoTG9hZGluZ0Nvbm5lY3Rpb24oTlVMTCwgaGFuZGxlLT5yZWxlYXNlQ29ubmVjdGlv
bkZvckRvd25sb2FkKCkuZ2V0KCksIG1fcmVxdWVzdC5jZlVSTFJlcXVlc3QoVXBkYXRlSFRUUEJv
ZHkpLCByZXNwb25zZS5jZlVSTFJlc3BvbnNlKCksICZjbGllbnQpKTsKICNwcmFnbWEgY2xhbmcg
ZGlhZ25vc3RpYyBwb3AKLSNlbHNlCi0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSNlbmRpZgogfQog
CiB2b2lkIERvd25sb2FkOjpjYW5jZWwoKQpAQCAtMTkzLDQgKzE4NCw0IEBAIHZvaWQgRG93bmxv
YWQ6OnJlY2VpdmVkQ2hhbGxlbmdlUmVqZWN0aW9uKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5kaWYgLy8gUExBVEZP
Uk0oSU9TKQorI2VuZGlmIC8vIFVTRShDRk5FVFdPUkspICYmICFVU0UoTkVUV09SS19TRVNTSU9O
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL21h
Yy9Eb3dubG9hZE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fk
cy9tYWMvRG93bmxvYWRNYWMubW0KaW5kZXggOWM3ZDk1MzM4NWVmNjNhNjZkZjc1NjI3MThlYzhh
NzZkN2RmYjk2NS4uMzRjYmE5NGVmMTk4NjQ0MGNkOGM3MzE0MmM2MzUzMWFmNGMyYmNjYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL21hYy9Eb3du
bG9hZE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMv
bWFjL0Rvd25sb2FkTWFjLm1tCkBAIC0yNiwxMCArMjYsMTEgQEAKICNpbXBvcnQgImNvbmZpZy5o
IgogI2ltcG9ydCAiRG93bmxvYWQuaCIKIAotI2lmIFBMQVRGT1JNKE1BQykgJiYgIVVTRShORVRX
T1JLX1NFU1NJT04pCisjaWYgIVVTRShDRk5FVFdPUkspICYmICFVU0UoTkVUV09SS19TRVNTSU9O
KQogCiAjaW1wb3J0IDxXZWJDb3JlL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL0F1dGhlbnRpY2F0aW9uTWFjLmg+CisjaW1wb3J0IDxXZWJDb3JlL05TVVJMRG93
bmxvYWRTUEkuaD4KICNpbXBvcnQgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbXBvcnQg
PFdlYkNvcmUvUmVzb3VyY2VIYW5kbGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VIYW5k
bGVDbGllbnQuaD4KQEAgLTM3LDE0ICszOCw2IEBACiAjaW1wb3J0ICJEYXRhUmVmZXJlbmNlLmgi
CiAjaW1wb3J0ICJXZWJQYWdlLmgiCiAKLUBpbnRlcmZhY2UgTlNVUkxEb3dubG9hZCAoV2ViTlNV
UkxEb3dubG9hZERldGFpbHMpCi0rKGlkKV9kb3dubG9hZFdpdGhMb2FkaW5nQ29ubmVjdGlvbjoo
TlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbgotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICopcgotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZGVsZWdhdGU6KGlkKWRlbGVnYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
cm94eTooaWQpcHJveHk7Ci1AZW5kCi0KIEBpbnRlcmZhY2UgV0tEb3dubG9hZEFzRGVsZWdhdGUg
OiBOU09iamVjdCA8TlNVUkxEb3dubG9hZERlbGVnYXRlPiB7CiAgICAgV2ViS2l0OjpEb3dubG9h
ZCogX2Rvd25sb2FkOwogfQpAQCAtMzA4LDQgKzMwMSw0IEBAIC0gKHZvaWQpZG93bmxvYWQ6KE5T
VVJMRG93bmxvYWQgKilkb3dubG9hZCBkaWRGYWlsV2l0aEVycm9yOihOU0Vycm9yICopZXJyb3IK
IAogQGVuZAogCi0jZW5kaWYgLy8gUExBVEZPUk0oTUFDKSAmJiAhVVNFKE5FVFdPUktfU0VTU0lP
TikKKyNlbmRpZiAvLyAhVVNFKENGTkVUV09SSykgJiYgIVVTRShORVRXT1JLX1NFU1NJT04pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKaW5k
ZXggNjk2ODAxNTlmY2QwMTU2YmFjZDBjZjQ5MWUzMTM4NmUzYWVhMmRjZS4uYTE0NjRiOTlkOTJm
MjlmMmZhYjY5NDIzYzlkMDg1NzY4MDZiM2UwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAtMTk4LDcgKzE5OCw3IEBAIHZvaWQg
TmV0d29ya1Byb2Nlc3M6OmluaXRpYWxpemVOZXR3b3JrUHJvY2Vzcyhjb25zdCBOZXR3b3JrUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1lCiAKICAgICBzZXRDYW5IYW5kbGVIVFRQU1NlcnZlclRydXN0RXZh
bHVhdGlvbihwYXJhbWV0ZXJzLmNhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uKTsK
IAotI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKENGTkVUV09SSykKKyNpZiBQTEFURk9STShDT0NP
QSkgfHwgVVNFKENGTkVUV09SSykKICAgICBTZXNzaW9uVHJhY2tlcjo6c2V0SWRlbnRpZmllckJh
c2UocGFyYW1ldGVycy51aVByb2Nlc3NCdW5kbGVJZGVudGlmaWVyKTsKICNlbmRpZgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268013</attachid>
            <date>2015-12-30 15:00:10 -0800</date>
            <delta_ts>2015-12-30 15:29:36 -0800</delta_ts>
            <desc>Fix all the build failures v1</desc>
            <filename>bug-142540-20151230145935.patch</filename>
            <type>text/plain</type>
            <size>31166</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0NDIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDIwMGQzNTRhMzc2Zjc3NjRjNzJlOTll
MTY0MWUzY2I3MGNhNzg1MjAuLjIwNWFjMjVjNjlhMDg5MDEwNTNlYjA3ZTU4MDJmMjZkMDI0YWM4
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMTItMzAgIERhdmlkIEtpbHplciAgPGRka2ls
emVyQGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIHVzaW5nIFVTRShDRk5FVFdPUkspIHBhdGgg
b24gaU9TCisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8xNDI1NDA+CisKKyAgICAgICAg
T3JpZ2luYWwgcGF0Y2ggYnkgQW50dGkgS29pdmlzdG8gPGFudHRpQGFwcGxlLmNvbT4gb24gMjAx
NS0wMy0xMAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHd0Zi9QbGF0Zm9ybS5oOiBUdXJuIG9mZiBVU0UoQ0ZORVRXT1JLKSBmb3IgUExBVEZPUk0oSU9T
KS4KKyAgICAgICAgKiB3dGYvU2NoZWR1bGVQYWlyLmg6IFVwZGF0ZSBtYWNyb3MgdG8gbWF0Y2gg
V2ViQ29yZS4KKwogMjAxNS0xMi0yMiAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgog
CiAgICAgICAgIEZUTCBCMyBzaG91bGQgYmUgYWJsZSB0byBydW4gcmljaGFyZHMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCA1OGM1Zjg2ZDA2YTRiM2JmMjE3ZjlkNjdiNTYyNWRlNDE2ZjllZTFjLi5hMjQ1Nzk5MTMz
NWQxMWI2MzE1NTQ0NWIzNGRkOGFkNTU3MWQ3MjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzUg
QEAKKzIwMTUtMTItMzAgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBTdG9wIHVzaW5nIFVTRShDRk5FVFdPUkspIHBhdGggb24gaU9TCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI1NDAKKworICAgICAgICBPcmln
aW5hbCBwYXRjaCBieSBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPiBvbiAyMDE1LTAz
LTEwCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuaWZ5
IE9TIFggYW5kIGlPUyBjb2RlIHBhdGhzLgorCisgICAgICAgIFRoaXMgcGF0Y2gganVzdCBzd2l0
Y2hlcyB0aGUgcGF0aHMuIEl0IGRvZXNuJ3QgeWV0IGRlbGV0ZSBhbnkKKyAgICAgICAgdW5uZWNl
c3NhcnkgY29kZS4KKworICAgICAgICBDaGFuZ2VzIGNvdmVyZWQgYnkgbW9zdCBleGlzdGluZyB0
ZXN0cy4KKworICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5oOgorICAgICAgICAqIGxv
YWRlci9SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVy
Lmg6CisgICAgICAgICogbG9hZGVyL21hYy9Eb2N1bWVudExvYWRlck1hYy5jcHA6CisgICAgICAg
IC0gVXBkYXRlIGZvciBpT1MgdG8gdXNlIE5TVVJMQ29ubmVjdGlvbiBsb2FkZXIuCisKKyAgICAg
ICAgKiBwYWdlL21hYy9QYWdlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6cGxhdGZv
cm1Jbml0aWFsaXplKTogQWx3YXlzIHVzZSB0aGUgY29ycmVjdAorICAgICAgICBydW5sb29wIG9u
IGlPUyByZWdhcmRsZXNzIG9mIHdoaWNoIHRocmVhZCB0aGlzIHdhcyBjYWxsZWQgb24uCisgICAg
ICAgIChXZWJDb3JlOjpQYWdlOjphZGRTY2hlZHVsZVBhaXIpOiBVcGRhdGUgZm9yIGlPUyB0byB1
c2UKKyAgICAgICAgTlNVUkxDb25uZWN0aW9uIGxvYWRlci4KKyAgICAgICAgKFdlYkNvcmU6OlBh
Z2U6OnJlbW92ZVNjaGVkdWxlUGFpcik6IERpdHRvLgorCisgICAgICAgICogcGxhdGZvcm0vaW9z
L3dhay9XZWJDb3JlVGhyZWFkLmg6CisgICAgICAgIChXZWJUaHJlYWRSdW5Mb29wKTogTm8gbG9u
Z2VyIG5lZWRzIHRvIGJlIGV4cG9ydGVkLgorICAgICAgICAoV2ViVGhyZWFkTlNSdW5Mb29wKTog
RXhwb3J0IGZvciBXZWJLaXRMZWdhY3kuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlSGFuZGxlSW50ZXJuYWwuaDogRml4IGhlYWRlciBvcmRlci4KKyAgICAgICAgQWRkIFdl
YkNvcmVSZXNvdXJjZUxvYWRlckRlbGVnYXRlIHByb3RvY29sIHRvIG1fZGVsZWdhdGUuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xvb2suaDogQWRkCisgICAgICAgIFdl
YkNvcmVSZXNvdXJjZUxvYWRlckRlbGVnYXRlIHByb3RvY29sIHRvIG1fZGVsZWdhdGUuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xvb2subW06IEZpeCBoZWFkZXIgb3Jk
ZXIuCisgICAgICAgIChXZWJRdWlja0xvb2tIYW5kbGVBc0RlbGVnYXRlKTogTWFrZSBkZWxlZ2F0
ZSBvYmplY3RzIGltcGxlbWVudAorICAgICAgICBXZWJDb3JlUmVzb3VyY2VMb2FkZXJEZWxlZ2F0
ZSBwcm90b2NvbC4gIFRoaXMgdW5pZmllcyB0aGUKKyAgICAgICAgLWNsZWFySGFuZGxlIGFuZCAt
ZGV0YWNoSGFuZGxlIG1ldGhvZHMgdGhhdCB3ZXJlIHVzZWQgb24gaU9TIGFuZAorICAgICAgICBP
UyBYLCByZXNwZWN0aXZlbHkuCisgICAgICAgICgtW1dlYlF1aWNrTG9va0hhbmRsZUFzRGVsZWdh
dGUgY2xlYXJIYW5kbGVdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV2ViUXVpY2tMb29rSGFuZGxl
QXNEZWxlZ2F0ZSBkZXRhY2hIYW5kbGVdKTogUmVuYW1lZCBmcm9tCisgICAgICAgIC1jbGVhckhh
bmRsZS4KKyAgICAgICAgKFdlYlJlc291cmNlTG9hZGVyUXVpY2tMb29rRGVsZWdhdGUpOiBNYWtl
IGRlbGVnYXRlIG9iamVjdHMKKyAgICAgICAgaW1wbGVtZW50IFdlYkNvcmVSZXNvdXJjZUxvYWRl
ckRlbGVnYXRlIHByb3RvY29sLgorICAgICAgICAoLVtXZWJSZXNvdXJjZUxvYWRlclF1aWNrTG9v
a0RlbGVnYXRlIGNsZWFySGFuZGxlXSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dlYlJlc291cmNl
TG9hZGVyUXVpY2tMb29rRGVsZWdhdGUgZGV0YWNoSGFuZGxlXSk6IFJlbmFtZWQgZnJvbQorICAg
ICAgICAtY2xlYXJIYW5kbGUuCisgICAgICAgIChXZWJDb3JlOjpRdWlja0xvb2tIYW5kbGU6On5R
dWlja0xvb2tIYW5kbGUpOiBDYWxsCisgICAgICAgIC1kZXRhY2hIYW5kbGUgaW5zdGVhZCBvZiAt
Y2xlYXJIYW5kbGUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhh
bmRsZU1hYy5tbToKKyAgICAgICAgLSBVcGRhdGUgZm9yIGlPUyB0byB1c2UgTlNVUkxDb25uZWN0
aW9uIGxvYWRlci4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNv
dXJjZUhhbmRsZUFzRGVsZWdhdGUuaDoKKyAgICAgICAgKFdlYkNvcmVSZXNvdXJjZUxvYWRlckRl
bGVnYXRlKTogRGVmaW5lIG5ldyBwcm90b2NvbC4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUubW06CisgICAgICAgICgtW1dl
YkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUgZGV0YWNoSGFuZGxlXSk6IEdyYXR1aXRvdXMK
KyAgICAgICAgbnVsbHB0ciBmaXguCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9X
ZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUuaDoKKyAgICAgICAg
KFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSk6IEltcGxlbWVu
dAorICAgICAgICBXZWJDb3JlUmVzb3VyY2VMb2FkZXJEZWxlZ2F0ZSBwcm90b2NvbC4KKworICAg
ICAgICAqIHBsYXRmb3JtL3NwaS9jb2NvYS9OU1VSTERvd25sb2FkU1BJLmg6IERlY2xhcmUgbW9y
ZQorICAgICAgICBOU1VSRG93bmxvYWQgU1BJIHRvIGNsZWFuIHVwIG90aGVyIHNvdXJjZSBmaWxl
cyBhbmQgbWFrZQorICAgICAgICBzb3VyY2UgY29tcGlsZSBvbiBpT1Mgd2l0aCBOU1VSTENvbm5l
Y3Rpb24gY29kZSBwYXRoLgorCiAyMDE1LTEyLTI1ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgU3VicGl4ZWwgcmVuZGVyaW5nOiBBZGQgc3VicGl4ZWwgc3VwcG9y
dCBmb3Igb3V0bGluZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA5OTcxNDViNmFkZTUyOTU4YmViZWYy
NWQzY2I4NDc1NTkyMWRjOWZlLi43N2I2MTMyNmYzOTE4OWFiYTNiZGY0YmVjZmZlNzA1MTNlNmEw
NTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTUtMTItMzAgIERhdmlk
IEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIHVzaW5nIFVTRShD
Rk5FVFdPUkspIHBhdGggb24gaU9TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDI1NDAKKworICAgICAgICBPcmlnaW5hbCBwYXRjaCBieSBBbnR0aSBL
b2l2aXN0byA8YW50dGlAYXBwbGUuY29tPiBvbiAyMDE1LTAzLTEwCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTWlzYy9XZWJEb3dubG9hZC5oOiBBZGQg
aGVhZGVyIGd1YXJkIHRvIG1ha2UKKyAgICAgICAgTlNVUkxEb3dubG9hZFNQSS5oIHdvcmsgd2hl
biBwcmUtZGVjbGFyaW5nIE5TVVJMRG93bmxvYWQgb2JqZWN0LgorICAgICAgICAqIE1pc2MvV2Vi
S2l0VmVyc2lvbkNoZWNrcy5oOiBEZWZpbmUKKyAgICAgICAgV0VCS0lUX0ZJUlNUX1ZFUlNJT05f
V0lUSF9MT0FESU5HX0RVUklOR19DT01NT05fUlVOTE9PUF9NT0RFUworICAgICAgICBmb3IgaU9T
LgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29t
bW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKTogVXNlCisgICAgICAg
IHRoZSBjb3JyZWN0IHJ1bmxvb3Agb24gaU9TLgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlld1By
aXZhdGUuaDoKKyAgICAgICAgKC1bV2ViVmlldyhXZWJQZW5kaW5nUHVibGljKSBzY2hlZHVsZUlu
UnVuTG9vcDpmb3JNb2RlOl0pOgorICAgICAgICAoLVtXZWJWaWV3KFdlYlBlbmRpbmdQdWJsaWMp
IHVuc2NoZWR1bGVGcm9tUnVuTG9vcDpmb3JNb2RlOl0pOgorICAgICAgICAtIFRoZXNlIGFyZSBh
dmFpbGFibGUgb24gaU9TIG5vdy4KKwogMjAxNS0xMi0yMiAgQW5keSBFc3RlcyAgPGFlc3Rlc0Bh
cHBsZS5jb20+CiAKICAgICAgICAgW0NGXSBSZXBsYWNlIENGTmV0d29yay1yZWxhdGVkIFdlYktp
dFN5c3RlbUludGVyZmFjZSBjYWxscyB3aXRoIFNQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDEwYTJiMjkzMzlk
ODU0NDFjODk0NWJlZjEyNmZlODhhZjQ3MDZjMDguLmQxYzA3NmYxODExNzUzYjQ0NDBiMzE3Mzgz
YjZlNTQxZjQ1MDk3N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxNS0xMi0zMCAg
RGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgorCisgICAgICAgIFN0b3AgdXNpbmcg
VVNFKENGTkVUV09SSykgcGF0aCBvbiBpT1MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE0MjU0MAorCisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IEFu
dHRpIEtvaXZpc3RvIDxhbnR0aUBhcHBsZS5jb20+IG9uIDIwMTUtMDMtMTAKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Eb3du
bG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1tOiBUaGlzIGlzIG5vdyB0aGUKKyAgICAgICAgVVNFKENG
TkVUV09SSykgJiYgIVVTRShORVRXT1JLX1NFU1NJT04pIGNvZGUgcGF0aC4KKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvbWFjL0Rvd25sb2FkTWFjLm1tOiBUaGlzIGlzIG5vdyB0
aGUKKyAgICAgICAgIVVTRShDRk5FVFdPUkspICYmICFVU0UoTkVUV09SS19TRVNTSU9OKSBjb2Rl
IHBhdGguICBNYWtlIHVzZSBvZgorICAgICAgICBOU1VSTERvd25sb2FkU1BJLmguCisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrUHJvY2Vzczo6aW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKTogVXBkYXRlIGZvcgorICAg
ICAgICBpT1MgdG8gdXNlIE5TVVJMQ29ubmVjdGlvbiBsb2FkZXIuCisKIDIwMTUtMTItMjUgIERh
dmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXNvdXJjZUVycm9y
IHNob3VsZCBzdG9yZSBmYWlsaW5nVVJMIGFzIFVSTCBpbnN0ZWFkIG9mIFN0cmluZyB0byBhdm9p
ZCByZXBhcnNpbmcgYW5kIHRvIGFkZHJlc3MgRklYTUUgY29tbWVudHMgaW4gUmVzb3VyY2VFcnJv
ckNGLmNwcCBhbmQgUmVzb3VyY2VFcnJvck1hYy5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKaW5kZXggYjdlZDVhODhl
MTgzZTVhOWFjNjEwNDIwYWIzODZiYjkxYzJhMzk4Mi4uNmE0OWJhN2VmMWFiM2ViY2ViMWY0YWE4
YzA1N2NlOWRkNGMwZjMxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBAIC01NDUsOSArNTQ1LDYgQEAKICNpZiBQ
TEFURk9STShJT1MpCiAKICNkZWZpbmUgSEFWRV9SRUFETElORSAxCi0jaWYgVVNFKEFQUExFX0lO
VEVSTkFMX1NESykKLSNkZWZpbmUgVVNFX0NGTkVUV09SSyAxCi0jZW5kaWYKICNkZWZpbmUgVVNF
X1VJS0lUX0VESVRJTkcgMQogI2RlZmluZSBVU0VfV0VCX1RIUkVBRCAxCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL1NjaGVkdWxlUGFpci5oIGIvU291cmNlL1dURi93dGYvU2NoZWR1bGVQ
YWlyLmgKaW5kZXggNjAzOWQ5YTM3OGYyN2JjMzJkZDc0ZTI5MDBiNzliNzU1YTIzZDQzNy4uMzZm
YTY0N2I0YTE4YjRmN2M2MGFiMDk0NjJhMTdjYjNhYTE1OGY5YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvU2NoZWR1bGVQYWlyLmgKKysrIGIvU291cmNlL1dURi93dGYvU2NoZWR1bGVQYWly
LmgKQEAgLTM1LDcgKzM1LDcgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLSNpZiBVU0UoRk9VTkRBVElPTikKKyNp
ZiBQTEFURk9STShDT0NPQSkgJiYgIVVTRShDRk5FVFdPUkspCiBPQkpDX0NMQVNTIE5TUnVuTG9v
cDsKICNlbmRpZgogCkBAIC00NSw3ICs0NSw3IEBAIGNsYXNzIFNjaGVkdWxlUGFpciA6IHB1Ymxp
YyBUaHJlYWRTYWZlUmVmQ291bnRlZDxTY2hlZHVsZVBhaXI+IHsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUmVmPFNjaGVkdWxlUGFpcj4gY3JlYXRlKENGUnVuTG9vcFJlZiBydW5Mb29wLCBDRlN0cmlu
Z1JlZiBtb2RlKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFNjaGVkdWxlUGFpcihydW5Mb29wLCBt
b2RlKSk7IH0KIAotI2lmIFVTRShGT1VOREFUSU9OKSAmJiAhVVNFKENGTkVUV09SSykKKyNpZiBQ
TEFURk9STShDT0NPQSkgJiYgIVVTRShDRk5FVFdPUkspCiAgICAgc3RhdGljIFJlZjxTY2hlZHVs
ZVBhaXI+IGNyZWF0ZShOU1J1bkxvb3AqIHJ1bkxvb3AsIENGU3RyaW5nUmVmIG1vZGUpIHsgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgU2NoZWR1bGVQYWlyKHJ1bkxvb3AsIG1vZGUpKTsgfQogICAgIE5T
UnVuTG9vcCogbnNSdW5Mb29wKCkgY29uc3QgeyByZXR1cm4gbV9uc1J1bkxvb3AuZ2V0KCk7IH0K
ICNlbmRpZgpAQCAtNjMsNyArNjMsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgbV9tb2RlID0g
YWRvcHRDRihDRlN0cmluZ0NyZWF0ZUNvcHkoMCwgbW9kZSkpOwogICAgIH0KIAotI2lmIFVTRShG
T1VOREFUSU9OKSAmJiAhVVNFKENGTkVUV09SSykKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVVT
RShDRk5FVFdPUkspCiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIFNjaGVkdWxlUGFpcihOU1J1bkxv
b3AqLCBDRlN0cmluZ1JlZik7CiAgICAgUmV0YWluUHRyPE5TUnVuTG9vcCo+IG1fbnNSdW5Mb29w
OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2Fk
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCmluZGV4IDU1MTAz
OTFiZDMzZDNhMzY2NzE1NmU4NDVmYTMxMzExYzNmNmY5ZjMuLmU1YmRhY2UxNzdhZTA1Zjk4MGNi
MjY4YzVlNTg1YmJlODgyYmQyYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRl
ci5oCkBAIC01Niw2ICs1NiwxMCBAQAogI2luY2x1ZGUgIlF1aWNrTG9vay5oIgogI2VuZGlmCiAK
KyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVVTRShDRk5FVFdPUkspCisjaW5jbHVkZSA8d3RmL1Nj
aGVkdWxlUGFpci5oPgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNz
IEFwcGxpY2F0aW9uQ2FjaGVIb3N0OwpAQCAtMTQ0LDcgKzE0OCw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRUaXRsZShjb25zdCBTdHJpbmdX
aXRoRGlyZWN0aW9uJik7CiAgICAgICAgIGNvbnN0IFN0cmluZyYgb3ZlcnJpZGVFbmNvZGluZygp
IGNvbnN0IHsgcmV0dXJuIG1fb3ZlcnJpZGVFbmNvZGluZzsgfQogCi0jaWYgUExBVEZPUk0oTUFD
KQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhVVNFKENGTkVUV09SSykKICAgICAgICAgdm9pZCBz
Y2hlZHVsZShTY2hlZHVsZVBhaXImKTsKICAgICAgICAgdm9pZCB1bnNjaGVkdWxlKFNjaGVkdWxl
UGFpciYpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3Vy
Y2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcApp
bmRleCAxYTk3M2IwZDUyM2I4ZTFmMzJmMjVhODA4OWM4Mjk4NTc0NTBlM2VjLi5kNmU1YjYxMWI1
YTk1YzllNjFkZWZhNmRjNmE2NDdmMmNjZWRkMWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZUxvYWRlci5jcHAKQEAgLTcyNCw3ICs3MjQsNyBAQCB2b2lkIFJlc291cmNlTG9hZGVy
OjpyZWNlaXZlZENhbmNlbGxhdGlvbihjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpCiAg
ICAgY2FuY2VsKCk7CiB9CiAKLSNpZiBQTEFURk9STShNQUMpCisjaWYgUExBVEZPUk0oQ09DT0Ep
ICYmICFVU0UoQ0ZORVRXT1JLKQogCiB2b2lkIFJlc291cmNlTG9hZGVyOjpzY2hlZHVsZShTY2hl
ZHVsZVBhaXImIHBhaXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVz
b3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCmlu
ZGV4IDAyN2FjMDhmMjMyMzFkNDA3ODdkMTMwMjU2MjYzMzJiOTI2ZjQwZmEuLjE4OWIzYmM4YTgx
YTBlZDUwY2Y2YjU4YjIzZjQ2YzQwYjQ3ZGRlZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZUxvYWRlci5oCkBAIC0xNDAsNyArMTQwLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCB3aWxs
U3dpdGNoVG9TdWJzdGl0dXRlUmVzb3VyY2UoKTsKIAotI2lmIFBMQVRGT1JNKE1BQykKKyNpZiBQ
TEFURk9STShDT0NPQSkgJiYgIVVTRShDRk5FVFdPUkspCiAgICAgdm9pZCBzY2hlZHVsZShXVEY6
OlNjaGVkdWxlUGFpciYpOwogICAgIHZvaWQgdW5zY2hlZHVsZShXVEY6OlNjaGVkdWxlUGFpciYp
OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvbWFjL0RvY3VtZW50
TG9hZGVyTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9tYWMvRG9jdW1lbnRMb2FkZXJN
YWMuY3BwCmluZGV4IDdlNzRmMjBmOTcyYjA3OGZlODYyYjU4MWMyODliZWVlNWQwYTEyYzguLjU4
ZDUwZTY5OGE5MWZiNTljOTA2ZWJiNmQzN2IwMWZlMTM3N2I2NWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9tYWMvRG9jdW1lbnRMb2FkZXJNYWMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9tYWMvRG9jdW1lbnRMb2FkZXJNYWMuY3BwCkBAIC0zMyw3ICszMyw3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotI2lmIFBMQVRGT1JNKE1BQykKKyNpZiAhVVNFKENG
TkVUV09SSykKIAogc3RhdGljIHZvaWQgc2NoZWR1bGVBbGwoY29uc3QgUmVzb3VyY2VMb2FkZXJN
YXAmIGxvYWRlcnMsIFNjaGVkdWxlUGFpciYgcGFpcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL1BhZ2VNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9QYWdl
TWFjLm1tCmluZGV4IDUyNTEwOGZjYTVlZThhODQzMTRhNmQxMDVhZjRhNmQxMzU0MjRlN2YuLmRi
MjAwOTBhN2Y4MzJmMGU2NjFhMjY1MTA3NDA2MWNlZWRlNzRlMTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvbWFjL1BhZ2VNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9t
YWMvUGFnZU1hYy5tbQpAQCAtMzQsMTIgKzM0LDIwIEBACiAjaW1wb3J0ICJGcmFtZVRyZWUuaCIK
ICNpbXBvcnQgIk1haW5GcmFtZS5oIgogCisjaWYgUExBVEZPUk0oSU9TKQorI2ltcG9ydCAiV2Vi
Q29yZVRocmVhZC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdm9pZCBQYWdl
OjpwbGF0Zm9ybUluaXRpYWxpemUoKQogeworI2lmIFBMQVRGT1JNKElPUykKICNpZiBVU0UoQ0ZO
RVRXT1JLKQotICAgIGFkZFNjaGVkdWxlUGFpcihTY2hlZHVsZVBhaXI6OmNyZWF0ZShbW05TUnVu
TG9vcCBjdXJyZW50UnVuTG9vcF0gZ2V0Q0ZSdW5Mb29wXSwga0NGUnVuTG9vcENvbW1vbk1vZGVz
KSk7CisgICAgYWRkU2NoZWR1bGVQYWlyKFNjaGVkdWxlUGFpcjo6Y3JlYXRlKFdlYlRocmVhZFJ1
bkxvb3AoKSwga0NGUnVuTG9vcENvbW1vbk1vZGVzKSk7CisjZWxzZQorICAgIGFkZFNjaGVkdWxl
UGFpcihTY2hlZHVsZVBhaXI6OmNyZWF0ZShXZWJUaHJlYWROU1J1bkxvb3AoKSwga0NGUnVuTG9v
cENvbW1vbk1vZGVzKSk7CisjZW5kaWYgLy8gVVNFKENGTkVUV09SSykKICNlbHNlCiAgICAgYWRk
U2NoZWR1bGVQYWlyKFNjaGVkdWxlUGFpcjo6Y3JlYXRlKFtOU1J1bkxvb3AgY3VycmVudFJ1bkxv
b3BdLCBrQ0ZSdW5Mb29wQ29tbW9uTW9kZXMpKTsKICNlbmRpZgpAQCAtNTEsNyArNTksNyBAQCB2
b2lkIFBhZ2U6OmFkZFNjaGVkdWxlUGFpcihSZWY8U2NoZWR1bGVQYWlyPiYmIHBhaXIpCiAgICAg
ICAgIG1fc2NoZWR1bGVkUnVuTG9vcFBhaXJzID0gc3RkOjptYWtlX3VuaXF1ZTxTY2hlZHVsZVBh
aXJIYXNoU2V0PigpOwogICAgIG1fc2NoZWR1bGVkUnVuTG9vcFBhaXJzLT5hZGQocGFpci5wdHIo
KSk7CiAKLSNpZiAhUExBVEZPUk0oSU9TKQorI2lmICFVU0UoQ0ZORVRXT1JLKQogICAgIGZvciAo
RnJhbWUqIGZyYW1lID0gbV9tYWluRnJhbWUuZ2V0KCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50
cmVlKCkudHJhdmVyc2VOZXh0KCkpIHsKICAgICAgICAgaWYgKERvY3VtZW50TG9hZGVyKiBkb2N1
bWVudExvYWRlciA9IGZyYW1lLT5sb2FkZXIoKS5kb2N1bWVudExvYWRlcigpKQogICAgICAgICAg
ICAgZG9jdW1lbnRMb2FkZXItPnNjaGVkdWxlKHBhaXIpOwpAQCAtNzEsNyArNzksNyBAQCB2b2lk
IFBhZ2U6OnJlbW92ZVNjaGVkdWxlUGFpcihSZWY8U2NoZWR1bGVQYWlyPiYmIHBhaXIpCiAKICAg
ICBtX3NjaGVkdWxlZFJ1bkxvb3BQYWlycy0+cmVtb3ZlKHBhaXIucHRyKCkpOwogCi0jaWYgIVBM
QVRGT1JNKElPUykKKyNpZiAhVVNFKENGTkVUV09SSykKICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9
IG1fbWFpbkZyYW1lLmdldCgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLnRyYXZlcnNl
TmV4dCgpKSB7CiAgICAgICAgIGlmIChEb2N1bWVudExvYWRlciogZG9jdW1lbnRMb2FkZXIgPSBm
cmFtZS0+bG9hZGVyKCkuZG9jdW1lbnRMb2FkZXIoKSkKICAgICAgICAgICAgIGRvY3VtZW50TG9h
ZGVyLT51bnNjaGVkdWxlKHBhaXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
d2FrL1dlYkNvcmVUaHJlYWQuaAppbmRleCBlZmI4ZDdhNDg2MGQwMDNmZjNkN2EwZTNhMWFhZDM3
MjJkN2ZjOGVmLi42N2FhYTI4MDgxYmM0ZTFlMjllNzdlYzAyOGJkOWZiZWUxN2FkNGVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQuaApAQCAt
ODAsOCArODAsOCBAQCBXRUJDT1JFX0VYUE9SVCB2b2lkIFdlYlRocmVhZFVubG9ja0d1YXJkRm9y
TWFpbCgpOwogc3RhdGljIGlubGluZSBib29sIFdlYlRocmVhZFNob3VsZFlpZWxkKHZvaWQpIHsg
cmV0dXJuIHdlYlRocmVhZFNob3VsZFlpZWxkOyB9CiBzdGF0aWMgaW5saW5lIHZvaWQgV2ViVGhy
ZWFkU2V0U2hvdWxkWWllbGQoKSB7IHdlYlRocmVhZFNob3VsZFlpZWxkID0gdHJ1ZTsgfQogCi1X
RUJDT1JFX0VYUE9SVCBDRlJ1bkxvb3BSZWYgV2ViVGhyZWFkUnVuTG9vcCh2b2lkKTsKLU5TUnVu
TG9vcCogV2ViVGhyZWFkTlNSdW5Mb29wKHZvaWQpOworQ0ZSdW5Mb29wUmVmIFdlYlRocmVhZFJ1
bkxvb3Aodm9pZCk7CitXRUJDT1JFX0VYUE9SVCBOU1J1bkxvb3AqIFdlYlRocmVhZE5TUnVuTG9v
cCh2b2lkKTsKIFdlYlRocmVhZENvbnRleHQgKldlYlRocmVhZEN1cnJlbnRDb250ZXh0KHZvaWQp
OwogYm9vbCBXZWJUaHJlYWRDb250ZXh0SXNDdXJyZW50KHZvaWQpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5o
CmluZGV4IDYxMjNmMTRhY2EyNDg0YmU0MmE2ZGYxMDBhZjNhYWMzMTliZDJkOWYuLmI0NGYxZmQ2
NDJkZDc1ZDBjZjQ4YzZkZThiMWU3NzNjMWU5MjEwZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCkBAIC0y
NiwxMSArMjYsMTEgQEAKICNpZm5kZWYgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbF9oCiAjZGVmaW5l
IFJlc291cmNlSGFuZGxlSW50ZXJuYWxfaAogCisjaW5jbHVkZSAiQXV0aGVudGljYXRpb25DaGFs
bGVuZ2UuaCIKICNpbmNsdWRlICJOZXR3b3JraW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIlJlc291
cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRl
ICJSZXNvdXJjZVJlcXVlc3QuaCIKLSNpbmNsdWRlICJBdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5o
IgogI2luY2x1ZGUgIlRpbWVyLmgiCiAKICNpZiBVU0UoQ0ZORVRXT1JLKQpAQCAtMzgsNiArMzgs
MTAgQEAKICNpbmNsdWRlIDxDRk5ldHdvcmsvQ0ZVUkxDb25uZWN0aW9uUHJpdi5oPgogI2VuZGlm
CiAKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVVTRShDRk5FVFdPUkspCisjaW5jbHVkZSAiV2Vi
Q29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZS5oIgorI2VuZGlmCisKICNpZiBVU0UoQ1VSTCkg
JiYgUExBVEZPUk0oV0lOKQogI2luY2x1ZGUgPHdpbnNvY2syLmg+CiAjaW5jbHVkZSA8d2luZG93
cy5oPgpAQCAtMTM4LDcgKzE0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbmRpZgogI2lm
IFBMQVRGT1JNKENPQ09BKSAmJiAhVVNFKENGTkVUV09SSykKICAgICAgICAgUmV0YWluUHRyPE5T
VVJMQ29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOwotICAgICAgICBSZXRhaW5QdHI8aWQ+IG1fZGVs
ZWdhdGU7CisgICAgICAgIFJldGFpblB0cjxpZCA8V2ViQ29yZVJlc291cmNlTG9hZGVyRGVsZWdh
dGU+PiBtX2RlbGVnYXRlOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgICAgIGJv
b2wgbV9zdGFydFdoZW5TY2hlZHVsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xvb2suaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvaW9zL1F1aWNrTG9vay5oCmluZGV4IDQ0ODI0ZGEwMjU4ZGNjMTc0YmRlOWJlNzU3NmE1
ZmNmMjE2YzA1OTYuLjBhZTU4ZTFiMDQzNjg5ODNhM2NkYzFmZjE3ZGU3MTE4ZjlkODEyNDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvaW9zL1F1aWNrTG9vay5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvaW9zL1F1aWNrTG9vay5oCkBA
IC0zMCw2ICszMCw3IEBACiAKICNpbXBvcnQgIlF1aWNrTG9va0hhbmRsZUNsaWVudC5oIgogI2lt
cG9ydCAiUmVzb3VyY2VSZXF1ZXN0LmgiCisjaW1wb3J0ICJXZWJDb3JlUmVzb3VyY2VIYW5kbGVB
c0RlbGVnYXRlLmgiCiAjaW1wb3J0IDxvYmpjL29iamMtcnVudGltZS5oPgogI2ltcG9ydCA8d3Rm
L1JlZlB0ci5oPgogCkBAIC0xMTIsNyArMTEzLDcgQEAgcHJpdmF0ZToKIAogICAgIFJldGFpblB0
cjxOU1VSTD4gbV9maXJzdFJlcXVlc3RVUkw7CiAgICAgUmV0YWluUHRyPFFMUHJldmlld0NvbnZl
cnRlcj4gbV9jb252ZXJ0ZXI7Ci0gICAgUmV0YWluUHRyPGlkPiBtX2RlbGVnYXRlOworICAgIFJl
dGFpblB0cjxpZCA8V2ViQ29yZVJlc291cmNlTG9hZGVyRGVsZWdhdGU+PiBtX2RlbGVnYXRlOwog
ICAgIGJvb2wgbV9maW5pc2hlZExvYWRpbmdEYXRhSW50b0NvbnZlcnRlcjsKICAgICBSZXRhaW5Q
dHI8TlNGaWxlSGFuZGxlICo+IG1fcXVpY2tsb29rRmlsZUhhbmRsZTsKICAgICBSZXRhaW5QdHI8
TlNVUkxSZXNwb25zZT4gbV9uc1Jlc3BvbnNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9pb3MvUXVpY2tMb29rLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9pb3MvUXVpY2tMb29rLm1tCmluZGV4IDk2ZjUwZGYwNzQwMTg0NjQwYThmM2Vh
NjA0MjQ1OTJmNmE1YTk2YTAuLjhiMDYxMjAzZTc4OGEyNTJhNDliZTQyNDU1ZjRkZDJlYWY4ZTFm
YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvaW9zL1F1aWNr
TG9vay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xv
b2subW0KQEAgLTMyLDcgKzMyLDYgQEAKICNpbXBvcnQgIkZpbGVTeXN0ZW1JT1MuaCIKICNpbXBv
cnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIk5TRmlsZU1hbmFnZXJTUEkuaCIKLSNpbXBvcnQgIlF1
aWNrTG9va1NvZnRMaW5rLmgiCiAjaW1wb3J0ICJSZXNvdXJjZUVycm9yLmgiCiAjaW1wb3J0ICJS
ZXNvdXJjZUhhbmRsZS5oIgogI2ltcG9ydCAiUmVzb3VyY2VMb2FkZXIuaCIKQEAgLTQ2LDYgKzQ1
LDggQEAKICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCisjaW1wb3J0ICJRdWlja0xvb2tTb2Z0TGluay5oIgorCiB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIAogTlNTZXQgKldlYkNvcmU6OlFMUHJldmlld0dldFN1cHBvcnRlZE1JTUVUeXBl
c1NldCgpCkBAIC0xOTMsMTIgKzE5NCwxMSBAQCBjb25zdCBjaGFyKiBXZWJDb3JlOjpRTFByZXZp
ZXdQcm90b2NvbCgpCiAvLyBUaGlzIHdvcmtzIGZpbmUgd2hlbiB1c2luZyBOUyBBUElzLCBidXQg
d2hlbiB1c2luZyBDRk5ldHdvcmssIHdlIGRvbid0IGhhdmUgYSBOU1VSTENvbm5lY3Rpb25EZWxl
Z2F0ZS4KIC8vIFNvIHdlIGNyZWF0ZSBXZWJRdWlja0xvb2tIYW5kbGVBc0RlbGVnYXRlIGFzIGFu
IGludGVybWVkaWF0ZSBkZWxlZ2F0ZSBvYmplY3QgYW5kIHBhc3MgaXQgdG8KIC8vIFFMUHJldmll
d0NvbnZlcnRlci4gVGhlIHByb3h5IGRlbGVnYXRlIHRoZW4gZm9yd2FyZHMgdGhlIG1lc3NhZ2Vz
IG9uIHRvIHRoZSBDRk5ldHdvcmsgY29kZS4KLUBpbnRlcmZhY2UgV2ViUXVpY2tMb29rSGFuZGxl
QXNEZWxlZ2F0ZSA6IE5TT2JqZWN0IDxOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZT4geworQGludGVy
ZmFjZSBXZWJRdWlja0xvb2tIYW5kbGVBc0RlbGVnYXRlIDogTlNPYmplY3QgPE5TVVJMQ29ubmVj
dGlvbkRlbGVnYXRlLCBXZWJDb3JlUmVzb3VyY2VMb2FkZXJEZWxlZ2F0ZT4gewogICAgIFJlZlB0
cjxTeW5jaHJvbm91c1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGU+IG1fY29u
bmVjdGlvbkRlbGVnYXRlOwogfQogCiAtIChpZClpbml0V2l0aENvbm5lY3Rpb25EZWxlZ2F0ZToo
U3luY2hyb25vdXNSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlKiljb25uZWN0
aW9uRGVsZWdhdGU7Ci0tICh2b2lkKWNsZWFySGFuZGxlOwogQGVuZAogCiBAaW1wbGVtZW50YXRp
b24gV2ViUXVpY2tMb29rSGFuZGxlQXNEZWxlZ2F0ZQpAQCAtMjUyLDE0ICsyNTIsMTQgQEAgLSAo
dm9pZCljb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIGRpZEZhaWxXaXRo
RXJyb3I6KE5TRXJyb3IgKillcnIKICAgICBtX2Nvbm5lY3Rpb25EZWxlZ2F0ZS0+ZGlkRmFpbChy
ZWludGVycHJldF9jYXN0PENGRXJyb3JSZWY+KGVycm9yKSk7CiB9CiAKLS0gKHZvaWQpY2xlYXJI
YW5kbGUKKy0gKHZvaWQpZGV0YWNoSGFuZGxlCiB7CiAgICAgbV9jb25uZWN0aW9uRGVsZWdhdGUg
PSBudWxscHRyOwogfQogQGVuZAogI2VuZGlmCiAKLUBpbnRlcmZhY2UgV2ViUmVzb3VyY2VMb2Fk
ZXJRdWlja0xvb2tEZWxlZ2F0ZSA6IE5TT2JqZWN0IDxOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZT4g
eworQGludGVyZmFjZSBXZWJSZXNvdXJjZUxvYWRlclF1aWNrTG9va0RlbGVnYXRlIDogTlNPYmpl
Y3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlLCBXZWJDb3JlUmVzb3VyY2VMb2FkZXJEZWxlZ2F0
ZT4gewogICAgIFJlZlB0cjxSZXNvdXJjZUxvYWRlcj4gX3Jlc291cmNlTG9hZGVyOwogICAgIEJP
T0wgX2hhc1NlbnREaWRSZWNlaXZlUmVzcG9uc2U7CiAgICAgQk9PTCBfaGFzRmFpbGVkOwpAQCAt
MzUwLDcgKzM1MCw3IEBAIC0gKHZvaWQpY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29u
bmVjdGlvbiBkaWRGYWlsV2l0aEVycm9yOihOU0Vycm9yICopZXJyCiAgICAgX3Jlc291cmNlTG9h
ZGVyLT5kaWRGYWlsKFJlc291cmNlRXJyb3IoZXJyb3IpKTsKIH0KIAotLSAodm9pZCljbGVhckhh
bmRsZQorLSAodm9pZClkZXRhY2hIYW5kbGUKIHsKICAgICBfcmVzb3VyY2VMb2FkZXIgPSBudWxs
cHRyOwogICAgIF9xdWlja0xvb2tIYW5kbGUgPSBudWxscHRyOwpAQCAtNDkxLDcgKzQ5MSw3IEBA
IFF1aWNrTG9va0hhbmRsZTo6flF1aWNrTG9va0hhbmRsZSgpCiAgICAgTE9HKE5ldHdvcmssICJR
dWlja0xvb2tIYW5kbGU6On5RdWlja0xvb2tIYW5kbGUoKSIpOwogICAgIG1fY29udmVydGVyID0g
bnVsbHB0cjsKIAotICAgIFttX2RlbGVnYXRlIGNsZWFySGFuZGxlXTsKKyAgICBbbV9kZWxlZ2F0
ZSBkZXRhY2hIYW5kbGVdOwogfQogCiBTdHJpbmcgUXVpY2tMb29rSGFuZGxlOjpwcmV2aWV3Rmls
ZU5hbWUoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbQppbmRleCA3Yzk3YjJhYWUwZmQyODgxZWNmOGJj
NWEzZTc5OWQ0ZDVhMDliZTFlLi5lMjVmYzc0MWFhYjE5M2E5OTQ4NTFiYzZlZDI0NzU0ZjYyNzRh
ZTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNv
dXJjZUhhbmRsZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21h
Yy9SZXNvdXJjZUhhbmRsZU1hYy5tbQpAQCAtMzE0LDcgKzMxNCw3IEBAIHZvaWQgUmVzb3VyY2VI
YW5kbGU6OnBsYXRmb3JtU2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVycykKICAgICAgICAgW2Qt
Pm1fY29ubmVjdGlvbiBzZXREZWZlcnNDYWxsYmFja3M6ZGVmZXJzXTsKIH0KIAotI2lmIFBMQVRG
T1JNKE1BQykKKyNpZiAhVVNFKENGTkVUV09SSykKIAogdm9pZCBSZXNvdXJjZUhhbmRsZTo6c2No
ZWR1bGUoU2NoZWR1bGVQYWlyJiBwYWlyKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxl
QXNEZWxlZ2F0ZS5oCmluZGV4IDRmNDE1NWVhZmQ5NDViMWI4NjJkMjljZTg5NmRjYWRjZGExYzQy
NjYuLmFhN2UxY2I0YTRkYzJlNTYyYTg2YjEzNzI5MGExNjA5N2E3OGU5NGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRs
ZUFzRGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9X
ZWJDb3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlLmgKQEAgLTI2LDE3ICsyNiwyMCBAQAogI2lm
bmRlZiBXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlX2gKICNkZWZpbmUgV2ViQ29yZVJl
c291cmNlSGFuZGxlQXNEZWxlZ2F0ZV9oCiAKLSNpZiAhVVNFKENGTkVUV09SSykKLQogbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgUmVzb3VyY2VIYW5kbGU7CiB9CiAKLUBpbnRlcmZhY2UgV2Vi
Q29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZSA6IE5TT2JqZWN0IDxOU1VSTENvbm5lY3Rpb25E
ZWxlZ2F0ZT4geworQHByb3RvY29sIFdlYkNvcmVSZXNvdXJjZUxvYWRlckRlbGVnYXRlCistICh2
b2lkKWRldGFjaEhhbmRsZTsKK0BlbmQKKworI2lmICFVU0UoQ0ZORVRXT1JLKQorCitAaW50ZXJm
YWNlIFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUgOiBOU09iamVjdCA8TlNVUkxDb25u
ZWN0aW9uRGVsZWdhdGUsIFdlYkNvcmVSZXNvdXJjZUxvYWRlckRlbGVnYXRlPiB7CiAgICAgV2Vi
Q29yZTo6UmVzb3VyY2VIYW5kbGUqIG1faGFuZGxlOwogfQogLSAoaWQpaW5pdFdpdGhIYW5kbGU6
KFdlYkNvcmU6OlJlc291cmNlSGFuZGxlKiloYW5kbGU7Ci0tICh2b2lkKWRldGFjaEhhbmRsZTsK
IEBlbmQKIAogI2VuZGlmIC8vICFVU0UoQ0ZORVRXT1JLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0
ZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJj
ZUhhbmRsZUFzRGVsZWdhdGUubW0KaW5kZXggZTE3Y2I5ZDIwZWQ3ZGJkNTE3OTNjMzY0ZWIzMmMx
NTg5NWViYTUzYS4uZGMzYmQ4YWI1ZGNhOTZlNzUzM2JiODA4NzhiMzM1Mjc0MThlNDNmYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291
cmNlSGFuZGxlQXNEZWxlZ2F0ZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlLm1tCkBAIC01NCw3ICs1NCw3
IEBAIC0gKGlkKWluaXRXaXRoSGFuZGxlOihSZXNvdXJjZUhhbmRsZSopaGFuZGxlCiAKIC0gKHZv
aWQpZGV0YWNoSGFuZGxlCiB7Ci0gICAgbV9oYW5kbGUgPSAwOworICAgIG1faGFuZGxlID0gbnVs
bHB0cjsKIH0KIAogLSAoTlNVUkxSZXF1ZXN0ICopY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9u
ICopY29ubmVjdGlvbiB3aWxsU2VuZFJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKW5ld1JlcXVlc3Qg
cmVkaXJlY3RSZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJlZGlyZWN0UmVzcG9uc2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJj
ZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVn
YXRlLmgKaW5kZXggZTc0MGFhNTliZWQ2M2JhYjkwNzZmMDc5M2FiM2QwM2RlMDAyYjA1MS4uYmFi
ZGFkMmM0NDUyNGI4MmVkOTcwNjBkOWRhODczNjg2NjhkZWQzMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVy
YXRpb25RdWV1ZURlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLmgKQEAg
LTI4LDYgKzI4LDcgQEAKIAogI2lmICFVU0UoQ0ZORVRXT1JLKQogCisjaW5jbHVkZSAiV2ViQ29y
ZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZS5oIgogI2luY2x1ZGUgPGRpc3BhdGNoL2Rpc3BhdGNo
Lmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCkBAIC0zNSw3ICszNiw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJlc291cmNlSGFuZGxlOwogfQogCi1AaW50ZXJmYWNlIFdl
YkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSA6IE5TT2JqZWN0IDxO
U1VSTENvbm5lY3Rpb25EZWxlZ2F0ZT4geworQGludGVyZmFjZSBXZWJDb3JlUmVzb3VyY2VIYW5k
bGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgOiBOU09iamVjdCA8TlNVUkxDb25uZWN0aW9uRGVs
ZWdhdGUsIFdlYkNvcmVSZXNvdXJjZUxvYWRlckRlbGVnYXRlPiB7CiAgICAgV2ViQ29yZTo6UmVz
b3VyY2VIYW5kbGUqIG1faGFuZGxlOwogCiAgICAgLy8gU3luY2hyb25vdXMgZGVsZWdhdGVzIG9u
IG9wZXJhdGlvbiBxdWV1ZSB3YWl0IHVudGlsIG1haW4gdGhyZWFkIHNlbmRzIGFuIGFzeW5jaHJv
bm91cyByZXNwb25zZS4KQEAgLTQ2LDcgKzQ3LDYgQEAgY2xhc3MgUmVzb3VyY2VIYW5kbGU7CiB9
CiAKIC0gKGlkKWluaXRXaXRoSGFuZGxlOihXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSopaGFuZGxl
OwotLSAodm9pZClkZXRhY2hIYW5kbGU7CiAtICh2b2lkKWNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0
OihOU1VSTFJlcXVlc3QgKiluZXdSZXF1ZXN0OwogLSAodm9pZCljb250aW51ZURpZFJlY2VpdmVS
ZXNwb25zZTsKICNpZiBVU0UoUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNLKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL05TVVJMRG93bmxvYWRTUEku
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9OU1VSTERvd25sb2FkU1BJLmgK
aW5kZXggM2YzYTNiY2I4ZWM2NDhkNGFlNWE3MDE3NWE3NTY1MTdmODVkZDBkNS4uMzBjMjhlNzMy
OThiMjczYjg0MWVhODE0OWFkMjJjMTYzM2E3YWM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vc3BpL2NvY29hL05TVVJMRG93bmxvYWRTUEkuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvTlNVUkxEb3dubG9hZFNQSS5oCkBAIC0yOSw2ICsyOSwx
NCBAQAogCiAjaW1wb3J0IDxGb3VuZGF0aW9uL05TVVJMRG93bmxvYWQuaD4KIAorI2lmIFVTRShB
UFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxGb3VuZGF0aW9uL05TVVJMRG93bmxvYWRQcml2
YXRlLmg+CisjZWxzZQorQGludGVyZmFjZSBOU1VSTERvd25sb2FkICgpCisrKGlkKV9kb3dubG9h
ZFdpdGhMb2FkaW5nQ29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiByZXF1
ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IHJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICopcmVz
cG9uc2UgZGVsZWdhdGU6KGlkKWRlbGVnYXRlIHByb3h5OihpZClwcm94eTsKK0BlbmQKKyNlbmRp
ZgorCiAjZWxzZQogCiBAY2xhc3MgTlNTdHJpbmc7CkBAIC01Niw4ICs2NCwyMiBAQAogLSAodm9p
ZClkb3dubG9hZDooTlNVUkxEb3dubG9hZCAqKWRvd25sb2FkIGRpZEZhaWxXaXRoRXJyb3I6KE5T
RXJyb3IgKillcnJvcjsKIEBlbmQKIAorI2lmbmRlZiBXZWJEb3dubG9hZF9oCisvKiBBbHNvIGRl
ZmluZWQgaW4gPFdlYktpdC9XZWJEb3dubG9hZC5oPi4gKi8KK0BpbnRlcmZhY2UgTlNVUkxEb3du
bG9hZCA6IE5TT2JqZWN0CitAZW5kCisjZW5kaWYKKwogQGludGVyZmFjZSBOU1VSTERvd25sb2Fk
ICgpCiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1
ZXN0IGRlbGVnYXRlOihpZCA8TlNVUkxEb3dubG9hZERlbGVnYXRlPilkZWxlZ2F0ZTsKKy0gKGlu
c3RhbmNldHlwZSlpbml0V2l0aFJlc3VtZURhdGE6KE5TRGF0YSAqKXJlc3VtZURhdGEgZGVsZWdh
dGU6KGlkIDxOU1VSTERvd25sb2FkRGVsZWdhdGU+KWRlbGVnYXRlIHBhdGg6KE5TU3RyaW5nICop
cGF0aDsKKy0gKHZvaWQpY2FuY2VsOworLSAodm9pZClzZXREZXN0aW5hdGlvbjooTlNTdHJpbmcg
KilwYXRoIGFsbG93T3ZlcndyaXRlOihCT09MKWFsbG93T3ZlcndyaXRlOworQHByb3BlcnR5IChy
ZWFkb25seSwgY29weSkgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0OworQHByb3BlcnR5IChyZWFkb25s
eSwgY29weSkgTlNEYXRhICpyZXN1bWVEYXRhOworQHByb3BlcnR5IEJPT0wgZGVsZXRlc0ZpbGVV
cG9uRmFpbHVyZTsKKworKyhpZClfZG93bmxvYWRXaXRoTG9hZGluZ0Nvbm5lY3Rpb246KE5TVVJM
Q29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCBy
ZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJlc3BvbnNlIGRlbGVnYXRlOihpZClkZWxlZ2F0ZSBw
cm94eTooaWQpcHJveHk7CiBAZW5kCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvTWlzYy9XZWJEb3dubG9hZC5oIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJEb3du
bG9hZC5oCmluZGV4IGUyNDJlNmRiOWM5N2Y4OGRiYThiMWUwYWZlYWE4NzRhYzUxZmI1NDkuLmNh
YTU1NzBhNTYwZTMzZjFmYjlmODlhYmI4ODVjMmQxMzUzODI4NDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL01pc2MvV2ViRG93bmxvYWQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9N
aXNjL1dlYkRvd25sb2FkLmgKQEAgLTI2LDYgKzI2LDkgQEAKICAqIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAor
I2lmbmRlZiBXZWJEb3dubG9hZF9oCisjZGVmaW5lIFdlYkRvd25sb2FkX2gKKwogI2lmICFUQVJH
RVRfT1NfSVBIT05FIHx8IChkZWZpbmVkIFVTRV9BUFBMRV9JTlRFUk5BTF9TREsgJiYgVVNFX0FQ
UExFX0lOVEVSTkFMX1NESykKICNpbXBvcnQgPEZvdW5kYXRpb24vTlNVUkxEb3dubG9hZC5oPgog
I2Vsc2UKQEAgLTc4LDMgKzgxLDUgQEAKIC0gKE5TV2luZG93ICopZG93bmxvYWRXaW5kb3dGb3JB
dXRoZW50aWNhdGlvblNoZWV0OihXZWJEb3dubG9hZCAqKWRvd25sb2FkOwogCiBAZW5kCisKKyNl
bmRpZiAvKiBXZWJEb3dubG9hZF9oICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9N
aXNjL1dlYktpdFZlcnNpb25DaGVja3MuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0
VmVyc2lvbkNoZWNrcy5oCmluZGV4IGM4MTEyMDEyNWQ0ZGZiNjkzMWFmZWQ0MWVkMTAwMTliZjA3
YmZkZjQuLmI1MzMzNTRjMzcxMmJmMDY3OWYzOTg2M2JhZWI1ZTEyZTNkYjM3NGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0VmVyc2lvbkNoZWNrcy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0VmVyc2lvbkNoZWNrcy5oCkBAIC03Miw2ICs3Miw3
IEBACiAjZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfQ1NTX0FUVFJJQlVURV9TRVRU
RVJTX0lHTk9SSU5HX1BSSU9SSVRZIDIyMzkgLy8gaU9TIDYuMAogI2RlZmluZSBXRUJLSVRfRklS
U1RfVkVSU0lPTl9XSVRIX1lPVVRVQkVfRU1CRURfSUZSQU1FX1RSQU5TRk9STSAyMjM5IC8vIGlP
UyA2LjAKICNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSE9VVF9MRUdBQ1lfQkFDS0dS
T1VORFNJWkVfU0hPUlRIQU5EX0JFSEFWSU9SIDI2NjUgLy8gaU9TIDcuMAorI2RlZmluZSBXRUJL
SVRfRklSU1RfVkVSU0lPTl9XSVRIX0xPQURJTkdfRFVSSU5HX0NPTU1PTl9SVU5MT09QX01PREVT
IDI2NjUgLy8gaU9TIDcuMAogI2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX0lOU0VD
VVJFX0NPTlRFTlRfQkxPQ0tJTkcgMzQ1NAogI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDBlOWNkMzFhMzYyMjMzNmFmNGJmYjBl
N2M3MzIyMDU4ZGI2MmU4OGMuLjlhOTJhODg0Yzk3NmVkNDE5NzAwMTFjMzMxZDc5MTk0Yzk1YzMx
MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTEwMjYsMTQgKzEwMjYs
MTYgQEAgLSAodm9pZClfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOihOU1N0cmlu
ZyAqKWZyYW1lTmFtZSBncm91cE5hbWU6KE5TU3QKIAogICAgIFtXZWJGcmFtZSBfY3JlYXRlTWFp
bkZyYW1lV2l0aFBhZ2U6X3ByaXZhdGUtPnBhZ2UgZnJhbWVOYW1lOmZyYW1lTmFtZSBmcmFtZVZp
ZXc6ZnJhbWVWaWV3XTsKIAotI2lmICFQTEFURk9STShJT1MpCisjaWYgUExBVEZPUk0oSU9TKQor
ICAgIE5TUnVuTG9vcCAqcnVuTG9vcCA9IFdlYlRocmVhZE5TUnVuTG9vcCgpOworI2Vsc2UKICAg
ICBOU1J1bkxvb3AgKnJ1bkxvb3AgPSBbTlNSdW5Mb29wIG1haW5SdW5Mb29wXTsKKyNlbmRpZgog
CiAgICAgaWYgKFdlYktpdExpbmtlZE9uT3JBZnRlcihXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRI
X0xPQURJTkdfRFVSSU5HX0NPTU1PTl9SVU5MT09QX01PREVTKSkKICAgICAgICAgW3NlbGYgc2No
ZWR1bGVJblJ1bkxvb3A6cnVuTG9vcCBmb3JNb2RlOihOU1N0cmluZyAqKWtDRlJ1bkxvb3BDb21t
b25Nb2Rlc107CiAgICAgZWxzZQogICAgICAgICBbc2VsZiBzY2hlZHVsZUluUnVuTG9vcDpydW5M
b29wIGZvck1vZGU6TlNEZWZhdWx0UnVuTG9vcE1vZGVdOwotI2VuZGlmCiAKICAgICBbc2VsZiBf
YWRkVG9BbGxXZWJWaWV3c1NldF07CiAgICAgCkBAIC02NjE4LDcgKzY2MjAsNiBAQCBAZW5kCiAK
IEBpbXBsZW1lbnRhdGlvbiBXZWJWaWV3IChXZWJQZW5kaW5nUHVibGljKQogCi0jaWYgIVBMQVRG
T1JNKElPUykKIC0gKHZvaWQpc2NoZWR1bGVJblJ1bkxvb3A6KE5TUnVuTG9vcCAqKXJ1bkxvb3Ag
Zm9yTW9kZTooTlNTdHJpbmcgKiltb2RlCiB7CiAjaWYgVVNFKENGTkVUV09SSykKQEAgLTY2NDAs
NyArNjY0MSw2IEBAIC0gKHZvaWQpdW5zY2hlZHVsZUZyb21SdW5Mb29wOihOU1J1bkxvb3AgKily
dW5Mb29wIGZvck1vZGU6KE5TU3RyaW5nICopbW9kZQogICAgIGlmIChydW5Mb29wICYmIG1vZGUp
CiAgICAgICAgIGNvcmUoc2VsZiktPnJlbW92ZVNjaGVkdWxlUGFpcihTY2hlZHVsZVBhaXI6OmNy
ZWF0ZShzY2hlZHVsZVBhaXJSdW5Mb29wLCAoQ0ZTdHJpbmdSZWYpbW9kZSkpOwogfQotI2VuZGlm
CiAKIHN0YXRpYyBCT09MIGZpbmRTdHJpbmcoTlNWaWV3IDxXZWJEb2N1bWVudFNlYXJjaGluZz4g
KnNlYXJjaFZpZXcsIE5TU3RyaW5nICpzdHJpbmcsIFdlYkZpbmRPcHRpb25zIG9wdGlvbnMpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgKaW5kZXggNzk2YzBm
NDJhNzY5OWYxODZmMGU0YzAzN2QxMTQ2N2M0NmIxMDI5NC4uZjQzMDQ5OTY0NWQ3Zjk1MDA3YzFj
YmEwZTljZmFjMDE5OGNmM2MwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmll
d1ByaXZhdGUuaApAQCAtMTk4LDEwICsxOTgsOCBAQCB0eXBlZGVmIGVudW0gewogCiBAaW50ZXJm
YWNlIFdlYlZpZXcgKFdlYlBlbmRpbmdQdWJsaWMpCiAKLSNpZiAhVEFSR0VUX09TX0lQSE9ORQog
LSAodm9pZClzY2hlZHVsZUluUnVuTG9vcDooTlNSdW5Mb29wICopcnVuTG9vcCBmb3JNb2RlOihO
U1N0cmluZyAqKW1vZGU7CiAtICh2b2lkKXVuc2NoZWR1bGVGcm9tUnVuTG9vcDooTlNSdW5Mb29w
ICopcnVuTG9vcCBmb3JNb2RlOihOU1N0cmluZyAqKW1vZGU7Ci0jZW5kaWYKIAogLSAoQk9PTClm
aW5kU3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyBvcHRpb25zOihXZWJGaW5kT3B0aW9ucylvcHRp
b25zOwogLSAoRE9NUmFuZ2UgKilET01SYW5nZU9mU3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyBy
ZWxhdGl2ZVRvOihET01SYW5nZSAqKXByZXZpb3VzUmFuZ2Ugb3B0aW9uczooV2ViRmluZE9wdGlv
bnMpb3B0aW9uczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rv
d25sb2Fkcy9pb3MvRG93bmxvYWRJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9Eb3dubG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1tCmluZGV4IGQwZTgwZTYyMDM4NGMxNzgwMTcw
MTM4NjFmNzUyMDhlNzViNWNjMDkuLjEwM2E4OTYxNWVhYWVhZWRiMmYwZmQyM2E1M2M1N2UxOTY1
MWZiYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fk
cy9pb3MvRG93bmxvYWRJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
RG93bmxvYWRzL2lvcy9Eb3dubG9hZElPUy5tbQpAQCAtMjYsOSArMjYsMTAgQEAKICNpbXBvcnQg
ImNvbmZpZy5oIgogI2ltcG9ydCAiRG93bmxvYWQuaCIKIAotI2lmIFBMQVRGT1JNKElPUykgJiYg
IVVTRShORVRXT1JLX1NFU1NJT04pCisjaWYgVVNFKENGTkVUV09SSykgJiYgIVVTRShORVRXT1JL
X1NFU1NJT04pCiAKICNpbXBvcnQgIkRhdGFSZWZlcmVuY2UuaCIKKyNpbXBvcnQgPENGTmV0d29y
ay9DRlVSTERvd25sb2FkLmg+CiAjaW1wb3J0IDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3Vy
Y2VIYW5kbGUuaD4KQEAgLTM2LDE1ICszNywxMCBAQAogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5o
PgogI2ltcG9ydCA8d3RmL1J1bkxvb3AuaD4KIAotI2lmIFVTRShDRk5FVFdPUkspCi0jaW1wb3J0
IDxDRk5ldHdvcmsvQ0ZVUkxEb3dubG9hZC5oPgotI2VuZGlmCi0KIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotI2lmIFVTRShDRk5FVFdPUkspCiAvLyBG
SVhNRTogSWYgcG9zc2libGUsIHdlIHNob3VsZCBjb25zaWRlciBtb3Zpbmcgc29tZSBjYWxsYmFj
a3Mgb2ZmIHRoZSBtYWluIHRocmVhZCBvciBhdCBsZWFzdAogLy8gbWFraW5nIHRoZW0gYXN5bmNo
b25vdXMgY2FsbHMuCiBzdGF0aWMgdm9pZCBkaXNwYXRjaE9uTWFpblRocmVhZCh2b2lkKF5ibG9j
aykoKSkKQEAgLTEyNSw3ICsxMjEsNiBAQCBzdGF0aWMgdm9pZCBzZXRVcERvd25sb2FkQ2xpZW50
KENGVVJMRG93bmxvYWRDbGllbnQmIGNsaWVudCwgRG93bmxvYWQmIGRvd25sb2FkKQogICAgICAg
ICB9KTsKICAgICB9OwogfQotI2VuZGlmIC8vIFVTRShDRk5FVFdPUkspCiAKIHZvaWQgRG93bmxv
YWQ6OnN0YXJ0KCkKIHsKQEAgLTEzOSwxNiArMTM0LDEyIEBAIHZvaWQgRG93bmxvYWQ6OnJlc3Vt
ZShjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTYW5kYm94
RXh0CiAKIHZvaWQgRG93bmxvYWQ6OnN0YXJ0V2l0aEhhbmRsZShSZXNvdXJjZUhhbmRsZSogaGFu
ZGxlLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKIHsKLSNpZiBVU0UoQ0ZORVRX
T1JLKQogICAgIENGVVJMRG93bmxvYWRDbGllbnQgY2xpZW50OwogICAgIHNldFVwRG93bmxvYWRD
bGllbnQoY2xpZW50LCAqdGhpcyk7CiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAogI3By
YWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMi
CiAgICAgbV9kb3dubG9hZCA9IGFkb3B0Q0YoQ0ZVUkxEb3dubG9hZENyZWF0ZUFuZFN0YXJ0V2l0
aExvYWRpbmdDb25uZWN0aW9uKE5VTEwsIGhhbmRsZS0+cmVsZWFzZUNvbm5lY3Rpb25Gb3JEb3du
bG9hZCgpLmdldCgpLCBtX3JlcXVlc3QuY2ZVUkxSZXF1ZXN0KFVwZGF0ZUhUVFBCb2R5KSwgcmVz
cG9uc2UuY2ZVUkxSZXNwb25zZSgpLCAmY2xpZW50KSk7CiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0
aWMgcG9wCi0jZWxzZQotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0jZW5kaWYKIH0KIAogdm9pZCBE
b3dubG9hZDo6Y2FuY2VsKCkKQEAgLTE5Myw0ICsxODQsNCBAQCB2b2lkIERvd25sb2FkOjpyZWNl
aXZlZENoYWxsZW5nZVJlamVjdGlvbihjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIFBMQVRGT1JNKElPUykK
KyNlbmRpZiAvLyBVU0UoQ0ZORVRXT1JLKSAmJiAhVVNFKE5FVFdPUktfU0VTU0lPTikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9tYWMvRG93bmxv
YWRNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvbWFjL0Rv
d25sb2FkTWFjLm1tCmluZGV4IDljN2Q5NTMzODVlZjYzYTY2ZGY3NTYyNzE4ZWM4YTc2ZDdkZmI5
NjUuLjM0Y2JhOTRlZjE5ODY0NDBjZDhjNzMxNDJjNjM1MzFhZjRjMmJjY2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9tYWMvRG93bmxvYWRNYWMu
bW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL21hYy9Eb3du
bG9hZE1hYy5tbQpAQCAtMjYsMTAgKzI2LDExIEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBv
cnQgIkRvd25sb2FkLmgiCiAKLSNpZiBQTEFURk9STShNQUMpICYmICFVU0UoTkVUV09SS19TRVNT
SU9OKQorI2lmICFVU0UoQ0ZORVRXT1JLKSAmJiAhVVNFKE5FVFdPUktfU0VTU0lPTikKIAogI2lt
cG9ydCA8V2ViQ29yZS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9BdXRoZW50aWNhdGlvbk1hYy5oPgorI2ltcG9ydCA8V2ViQ29yZS9OU1VSTERvd25sb2FkU1BJ
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L1Jlc291cmNlSGFuZGxlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlSGFuZGxlQ2xpZW50
Lmg+CkBAIC0zNywxNCArMzgsNiBAQAogI2ltcG9ydCAiRGF0YVJlZmVyZW5jZS5oIgogI2ltcG9y
dCAiV2ViUGFnZS5oIgogCi1AaW50ZXJmYWNlIE5TVVJMRG93bmxvYWQgKFdlYk5TVVJMRG93bmxv
YWREZXRhaWxzKQotKyhpZClfZG93bmxvYWRXaXRoTG9hZGluZ0Nvbm5lY3Rpb246KE5TVVJMQ29u
bmVjdGlvbiAqKWNvbm5lY3Rpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0
OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICByZXNw
b25zZTooTlNVUkxSZXNwb25zZSAqKXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGVn
YXRlOihpZClkZWxlZ2F0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJveHk6KGlk
KXByb3h5OwotQGVuZAotCiBAaW50ZXJmYWNlIFdLRG93bmxvYWRBc0RlbGVnYXRlIDogTlNPYmpl
Y3QgPE5TVVJMRG93bmxvYWREZWxlZ2F0ZT4gewogICAgIFdlYktpdDo6RG93bmxvYWQqIF9kb3du
bG9hZDsKIH0KQEAgLTMwOCw0ICszMDEsNCBAQCAtICh2b2lkKWRvd25sb2FkOihOU1VSTERvd25s
b2FkICopZG93bmxvYWQgZGlkRmFpbFdpdGhFcnJvcjooTlNFcnJvciAqKWVycm9yCiAKIEBlbmQK
IAotI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykgJiYgIVVTRShORVRXT1JLX1NFU1NJT04pCisjZW5k
aWYgLy8gIVVTRShDRk5FVFdPUkspICYmICFVU0UoTkVUV09SS19TRVNTSU9OKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4IDY5Njgw
MTU5ZmNkMDE1NmJhY2QwY2Y0OTFlMzEzODZlM2FlYTJkY2UuLmExNDY0Yjk5ZDkyZjI5ZjJmYWI2
OTQyM2M5ZDA4NTc2ODA2YjNlMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKQEAgLTE5OCw3ICsxOTgsNyBAQCB2b2lkIE5ldHdvcmtQ
cm9jZXNzOjppbml0aWFsaXplTmV0d29ya1Byb2Nlc3MoY29uc3QgTmV0d29ya1Byb2Nlc3NDcmVh
dGlvblBhcmFtZQogCiAgICAgc2V0Q2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb24o
cGFyYW1ldGVycy5jYW5IYW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbik7CiAKLSNpZiBQ
TEFURk9STShNQUMpIHx8IFVTRShDRk5FVFdPUkspCisjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFVT
RShDRk5FVFdPUkspCiAgICAgU2Vzc2lvblRyYWNrZXI6OnNldElkZW50aWZpZXJCYXNlKHBhcmFt
ZXRlcnMudWlQcm9jZXNzQnVuZGxlSWRlbnRpZmllcik7CiAjZW5kaWYKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268015</attachid>
            <date>2015-12-30 15:29:40 -0800</date>
            <delta_ts>2015-12-30 15:52:40 -0800</delta_ts>
            <desc>Fix all the build failures v2</desc>
            <filename>bug-142540-20151230152906.patch</filename>
            <type>text/plain</type>
            <size>31250</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0NDIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDIwMGQzNTRhMzc2Zjc3NjRjNzJlOTll
MTY0MWUzY2I3MGNhNzg1MjAuLjIwNWFjMjVjNjlhMDg5MDEwNTNlYjA3ZTU4MDJmMjZkMDI0YWM4
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMTItMzAgIERhdmlkIEtpbHplciAgPGRka2ls
emVyQGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIHVzaW5nIFVTRShDRk5FVFdPUkspIHBhdGgg
b24gaU9TCisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8xNDI1NDA+CisKKyAgICAgICAg
T3JpZ2luYWwgcGF0Y2ggYnkgQW50dGkgS29pdmlzdG8gPGFudHRpQGFwcGxlLmNvbT4gb24gMjAx
NS0wMy0xMAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHd0Zi9QbGF0Zm9ybS5oOiBUdXJuIG9mZiBVU0UoQ0ZORVRXT1JLKSBmb3IgUExBVEZPUk0oSU9T
KS4KKyAgICAgICAgKiB3dGYvU2NoZWR1bGVQYWlyLmg6IFVwZGF0ZSBtYWNyb3MgdG8gbWF0Y2gg
V2ViQ29yZS4KKwogMjAxNS0xMi0yMiAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgog
CiAgICAgICAgIEZUTCBCMyBzaG91bGQgYmUgYWJsZSB0byBydW4gcmljaGFyZHMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCA1OGM1Zjg2ZDA2YTRiM2JmMjE3ZjlkNjdiNTYyNWRlNDE2ZjllZTFjLi5hMjQ1Nzk5MTMz
NWQxMWI2MzE1NTQ0NWIzNGRkOGFkNTU3MWQ3MjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzUg
QEAKKzIwMTUtMTItMzAgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBTdG9wIHVzaW5nIFVTRShDRk5FVFdPUkspIHBhdGggb24gaU9TCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI1NDAKKworICAgICAgICBPcmln
aW5hbCBwYXRjaCBieSBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPiBvbiAyMDE1LTAz
LTEwCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuaWZ5
IE9TIFggYW5kIGlPUyBjb2RlIHBhdGhzLgorCisgICAgICAgIFRoaXMgcGF0Y2gganVzdCBzd2l0
Y2hlcyB0aGUgcGF0aHMuIEl0IGRvZXNuJ3QgeWV0IGRlbGV0ZSBhbnkKKyAgICAgICAgdW5uZWNl
c3NhcnkgY29kZS4KKworICAgICAgICBDaGFuZ2VzIGNvdmVyZWQgYnkgbW9zdCBleGlzdGluZyB0
ZXN0cy4KKworICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5oOgorICAgICAgICAqIGxv
YWRlci9SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVy
Lmg6CisgICAgICAgICogbG9hZGVyL21hYy9Eb2N1bWVudExvYWRlck1hYy5jcHA6CisgICAgICAg
IC0gVXBkYXRlIGZvciBpT1MgdG8gdXNlIE5TVVJMQ29ubmVjdGlvbiBsb2FkZXIuCisKKyAgICAg
ICAgKiBwYWdlL21hYy9QYWdlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6cGxhdGZv
cm1Jbml0aWFsaXplKTogQWx3YXlzIHVzZSB0aGUgY29ycmVjdAorICAgICAgICBydW5sb29wIG9u
IGlPUyByZWdhcmRsZXNzIG9mIHdoaWNoIHRocmVhZCB0aGlzIHdhcyBjYWxsZWQgb24uCisgICAg
ICAgIChXZWJDb3JlOjpQYWdlOjphZGRTY2hlZHVsZVBhaXIpOiBVcGRhdGUgZm9yIGlPUyB0byB1
c2UKKyAgICAgICAgTlNVUkxDb25uZWN0aW9uIGxvYWRlci4KKyAgICAgICAgKFdlYkNvcmU6OlBh
Z2U6OnJlbW92ZVNjaGVkdWxlUGFpcik6IERpdHRvLgorCisgICAgICAgICogcGxhdGZvcm0vaW9z
L3dhay9XZWJDb3JlVGhyZWFkLmg6CisgICAgICAgIChXZWJUaHJlYWRSdW5Mb29wKTogTm8gbG9u
Z2VyIG5lZWRzIHRvIGJlIGV4cG9ydGVkLgorICAgICAgICAoV2ViVGhyZWFkTlNSdW5Mb29wKTog
RXhwb3J0IGZvciBXZWJLaXRMZWdhY3kuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlSGFuZGxlSW50ZXJuYWwuaDogRml4IGhlYWRlciBvcmRlci4KKyAgICAgICAgQWRkIFdl
YkNvcmVSZXNvdXJjZUxvYWRlckRlbGVnYXRlIHByb3RvY29sIHRvIG1fZGVsZWdhdGUuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xvb2suaDogQWRkCisgICAgICAgIFdl
YkNvcmVSZXNvdXJjZUxvYWRlckRlbGVnYXRlIHByb3RvY29sIHRvIG1fZGVsZWdhdGUuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xvb2subW06IEZpeCBoZWFkZXIgb3Jk
ZXIuCisgICAgICAgIChXZWJRdWlja0xvb2tIYW5kbGVBc0RlbGVnYXRlKTogTWFrZSBkZWxlZ2F0
ZSBvYmplY3RzIGltcGxlbWVudAorICAgICAgICBXZWJDb3JlUmVzb3VyY2VMb2FkZXJEZWxlZ2F0
ZSBwcm90b2NvbC4gIFRoaXMgdW5pZmllcyB0aGUKKyAgICAgICAgLWNsZWFySGFuZGxlIGFuZCAt
ZGV0YWNoSGFuZGxlIG1ldGhvZHMgdGhhdCB3ZXJlIHVzZWQgb24gaU9TIGFuZAorICAgICAgICBP
UyBYLCByZXNwZWN0aXZlbHkuCisgICAgICAgICgtW1dlYlF1aWNrTG9va0hhbmRsZUFzRGVsZWdh
dGUgY2xlYXJIYW5kbGVdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV2ViUXVpY2tMb29rSGFuZGxl
QXNEZWxlZ2F0ZSBkZXRhY2hIYW5kbGVdKTogUmVuYW1lZCBmcm9tCisgICAgICAgIC1jbGVhckhh
bmRsZS4KKyAgICAgICAgKFdlYlJlc291cmNlTG9hZGVyUXVpY2tMb29rRGVsZWdhdGUpOiBNYWtl
IGRlbGVnYXRlIG9iamVjdHMKKyAgICAgICAgaW1wbGVtZW50IFdlYkNvcmVSZXNvdXJjZUxvYWRl
ckRlbGVnYXRlIHByb3RvY29sLgorICAgICAgICAoLVtXZWJSZXNvdXJjZUxvYWRlclF1aWNrTG9v
a0RlbGVnYXRlIGNsZWFySGFuZGxlXSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dlYlJlc291cmNl
TG9hZGVyUXVpY2tMb29rRGVsZWdhdGUgZGV0YWNoSGFuZGxlXSk6IFJlbmFtZWQgZnJvbQorICAg
ICAgICAtY2xlYXJIYW5kbGUuCisgICAgICAgIChXZWJDb3JlOjpRdWlja0xvb2tIYW5kbGU6On5R
dWlja0xvb2tIYW5kbGUpOiBDYWxsCisgICAgICAgIC1kZXRhY2hIYW5kbGUgaW5zdGVhZCBvZiAt
Y2xlYXJIYW5kbGUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhh
bmRsZU1hYy5tbToKKyAgICAgICAgLSBVcGRhdGUgZm9yIGlPUyB0byB1c2UgTlNVUkxDb25uZWN0
aW9uIGxvYWRlci4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNv
dXJjZUhhbmRsZUFzRGVsZWdhdGUuaDoKKyAgICAgICAgKFdlYkNvcmVSZXNvdXJjZUxvYWRlckRl
bGVnYXRlKTogRGVmaW5lIG5ldyBwcm90b2NvbC4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUubW06CisgICAgICAgICgtW1dl
YkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUgZGV0YWNoSGFuZGxlXSk6IEdyYXR1aXRvdXMK
KyAgICAgICAgbnVsbHB0ciBmaXguCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9X
ZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUuaDoKKyAgICAgICAg
KFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSk6IEltcGxlbWVu
dAorICAgICAgICBXZWJDb3JlUmVzb3VyY2VMb2FkZXJEZWxlZ2F0ZSBwcm90b2NvbC4KKworICAg
ICAgICAqIHBsYXRmb3JtL3NwaS9jb2NvYS9OU1VSTERvd25sb2FkU1BJLmg6IERlY2xhcmUgbW9y
ZQorICAgICAgICBOU1VSRG93bmxvYWQgU1BJIHRvIGNsZWFuIHVwIG90aGVyIHNvdXJjZSBmaWxl
cyBhbmQgbWFrZQorICAgICAgICBzb3VyY2UgY29tcGlsZSBvbiBpT1Mgd2l0aCBOU1VSTENvbm5l
Y3Rpb24gY29kZSBwYXRoLgorCiAyMDE1LTEyLTI1ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgU3VicGl4ZWwgcmVuZGVyaW5nOiBBZGQgc3VicGl4ZWwgc3VwcG9y
dCBmb3Igb3V0bGluZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA5OTcxNDViNmFkZTUyOTU4YmViZWYy
NWQzY2I4NDc1NTkyMWRjOWZlLi43N2I2MTMyNmYzOTE4OWFiYTNiZGY0YmVjZmZlNzA1MTNlNmEw
NTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTUtMTItMzAgIERhdmlk
IEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIHVzaW5nIFVTRShD
Rk5FVFdPUkspIHBhdGggb24gaU9TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDI1NDAKKworICAgICAgICBPcmlnaW5hbCBwYXRjaCBieSBBbnR0aSBL
b2l2aXN0byA8YW50dGlAYXBwbGUuY29tPiBvbiAyMDE1LTAzLTEwCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTWlzYy9XZWJEb3dubG9hZC5oOiBBZGQg
aGVhZGVyIGd1YXJkIHRvIG1ha2UKKyAgICAgICAgTlNVUkxEb3dubG9hZFNQSS5oIHdvcmsgd2hl
biBwcmUtZGVjbGFyaW5nIE5TVVJMRG93bmxvYWQgb2JqZWN0LgorICAgICAgICAqIE1pc2MvV2Vi
S2l0VmVyc2lvbkNoZWNrcy5oOiBEZWZpbmUKKyAgICAgICAgV0VCS0lUX0ZJUlNUX1ZFUlNJT05f
V0lUSF9MT0FESU5HX0RVUklOR19DT01NT05fUlVOTE9PUF9NT0RFUworICAgICAgICBmb3IgaU9T
LgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29t
bW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKTogVXNlCisgICAgICAg
IHRoZSBjb3JyZWN0IHJ1bmxvb3Agb24gaU9TLgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlld1By
aXZhdGUuaDoKKyAgICAgICAgKC1bV2ViVmlldyhXZWJQZW5kaW5nUHVibGljKSBzY2hlZHVsZUlu
UnVuTG9vcDpmb3JNb2RlOl0pOgorICAgICAgICAoLVtXZWJWaWV3KFdlYlBlbmRpbmdQdWJsaWMp
IHVuc2NoZWR1bGVGcm9tUnVuTG9vcDpmb3JNb2RlOl0pOgorICAgICAgICAtIFRoZXNlIGFyZSBh
dmFpbGFibGUgb24gaU9TIG5vdy4KKwogMjAxNS0xMi0yMiAgQW5keSBFc3RlcyAgPGFlc3Rlc0Bh
cHBsZS5jb20+CiAKICAgICAgICAgW0NGXSBSZXBsYWNlIENGTmV0d29yay1yZWxhdGVkIFdlYktp
dFN5c3RlbUludGVyZmFjZSBjYWxscyB3aXRoIFNQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDEwYTJiMjkzMzlk
ODU0NDFjODk0NWJlZjEyNmZlODhhZjQ3MDZjMDguLmQxYzA3NmYxODExNzUzYjQ0NDBiMzE3Mzgz
YjZlNTQxZjQ1MDk3N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxNS0xMi0zMCAg
RGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgorCisgICAgICAgIFN0b3AgdXNpbmcg
VVNFKENGTkVUV09SSykgcGF0aCBvbiBpT1MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE0MjU0MAorCisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IEFu
dHRpIEtvaXZpc3RvIDxhbnR0aUBhcHBsZS5jb20+IG9uIDIwMTUtMDMtMTAKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Eb3du
bG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1tOiBUaGlzIGlzIG5vdyB0aGUKKyAgICAgICAgVVNFKENG
TkVUV09SSykgJiYgIVVTRShORVRXT1JLX1NFU1NJT04pIGNvZGUgcGF0aC4KKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvbWFjL0Rvd25sb2FkTWFjLm1tOiBUaGlzIGlzIG5vdyB0
aGUKKyAgICAgICAgIVVTRShDRk5FVFdPUkspICYmICFVU0UoTkVUV09SS19TRVNTSU9OKSBjb2Rl
IHBhdGguICBNYWtlIHVzZSBvZgorICAgICAgICBOU1VSTERvd25sb2FkU1BJLmguCisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrUHJvY2Vzczo6aW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKTogVXBkYXRlIGZvcgorICAg
ICAgICBpT1MgdG8gdXNlIE5TVVJMQ29ubmVjdGlvbiBsb2FkZXIuCisKIDIwMTUtMTItMjUgIERh
dmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXNvdXJjZUVycm9y
IHNob3VsZCBzdG9yZSBmYWlsaW5nVVJMIGFzIFVSTCBpbnN0ZWFkIG9mIFN0cmluZyB0byBhdm9p
ZCByZXBhcnNpbmcgYW5kIHRvIGFkZHJlc3MgRklYTUUgY29tbWVudHMgaW4gUmVzb3VyY2VFcnJv
ckNGLmNwcCBhbmQgUmVzb3VyY2VFcnJvck1hYy5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKaW5kZXggYjdlZDVhODhl
MTgzZTVhOWFjNjEwNDIwYWIzODZiYjkxYzJhMzk4Mi4uNmE0OWJhN2VmMWFiM2ViY2ViMWY0YWE4
YzA1N2NlOWRkNGMwZjMxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBAIC01NDUsOSArNTQ1LDYgQEAKICNpZiBQ
TEFURk9STShJT1MpCiAKICNkZWZpbmUgSEFWRV9SRUFETElORSAxCi0jaWYgVVNFKEFQUExFX0lO
VEVSTkFMX1NESykKLSNkZWZpbmUgVVNFX0NGTkVUV09SSyAxCi0jZW5kaWYKICNkZWZpbmUgVVNF
X1VJS0lUX0VESVRJTkcgMQogI2RlZmluZSBVU0VfV0VCX1RIUkVBRCAxCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL1NjaGVkdWxlUGFpci5oIGIvU291cmNlL1dURi93dGYvU2NoZWR1bGVQ
YWlyLmgKaW5kZXggNjAzOWQ5YTM3OGYyN2JjMzJkZDc0ZTI5MDBiNzliNzU1YTIzZDQzNy4uMzZm
YTY0N2I0YTE4YjRmN2M2MGFiMDk0NjJhMTdjYjNhYTE1OGY5YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvU2NoZWR1bGVQYWlyLmgKKysrIGIvU291cmNlL1dURi93dGYvU2NoZWR1bGVQYWly
LmgKQEAgLTM1LDcgKzM1LDcgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLSNpZiBVU0UoRk9VTkRBVElPTikKKyNp
ZiBQTEFURk9STShDT0NPQSkgJiYgIVVTRShDRk5FVFdPUkspCiBPQkpDX0NMQVNTIE5TUnVuTG9v
cDsKICNlbmRpZgogCkBAIC00NSw3ICs0NSw3IEBAIGNsYXNzIFNjaGVkdWxlUGFpciA6IHB1Ymxp
YyBUaHJlYWRTYWZlUmVmQ291bnRlZDxTY2hlZHVsZVBhaXI+IHsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUmVmPFNjaGVkdWxlUGFpcj4gY3JlYXRlKENGUnVuTG9vcFJlZiBydW5Mb29wLCBDRlN0cmlu
Z1JlZiBtb2RlKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFNjaGVkdWxlUGFpcihydW5Mb29wLCBt
b2RlKSk7IH0KIAotI2lmIFVTRShGT1VOREFUSU9OKSAmJiAhVVNFKENGTkVUV09SSykKKyNpZiBQ
TEFURk9STShDT0NPQSkgJiYgIVVTRShDRk5FVFdPUkspCiAgICAgc3RhdGljIFJlZjxTY2hlZHVs
ZVBhaXI+IGNyZWF0ZShOU1J1bkxvb3AqIHJ1bkxvb3AsIENGU3RyaW5nUmVmIG1vZGUpIHsgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgU2NoZWR1bGVQYWlyKHJ1bkxvb3AsIG1vZGUpKTsgfQogICAgIE5T
UnVuTG9vcCogbnNSdW5Mb29wKCkgY29uc3QgeyByZXR1cm4gbV9uc1J1bkxvb3AuZ2V0KCk7IH0K
ICNlbmRpZgpAQCAtNjMsNyArNjMsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgbV9tb2RlID0g
YWRvcHRDRihDRlN0cmluZ0NyZWF0ZUNvcHkoMCwgbW9kZSkpOwogICAgIH0KIAotI2lmIFVTRShG
T1VOREFUSU9OKSAmJiAhVVNFKENGTkVUV09SSykKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVVT
RShDRk5FVFdPUkspCiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIFNjaGVkdWxlUGFpcihOU1J1bkxv
b3AqLCBDRlN0cmluZ1JlZik7CiAgICAgUmV0YWluUHRyPE5TUnVuTG9vcCo+IG1fbnNSdW5Mb29w
OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2Fk
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCmluZGV4IDU1MTAz
OTFiZDMzZDNhMzY2NzE1NmU4NDVmYTMxMzExYzNmNmY5ZjMuLmU1YmRhY2UxNzdhZTA1Zjk4MGNi
MjY4YzVlNTg1YmJlODgyYmQyYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRl
ci5oCkBAIC01Niw2ICs1NiwxMCBAQAogI2luY2x1ZGUgIlF1aWNrTG9vay5oIgogI2VuZGlmCiAK
KyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVVTRShDRk5FVFdPUkspCisjaW5jbHVkZSA8d3RmL1Nj
aGVkdWxlUGFpci5oPgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNz
IEFwcGxpY2F0aW9uQ2FjaGVIb3N0OwpAQCAtMTQ0LDcgKzE0OCw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRUaXRsZShjb25zdCBTdHJpbmdX
aXRoRGlyZWN0aW9uJik7CiAgICAgICAgIGNvbnN0IFN0cmluZyYgb3ZlcnJpZGVFbmNvZGluZygp
IGNvbnN0IHsgcmV0dXJuIG1fb3ZlcnJpZGVFbmNvZGluZzsgfQogCi0jaWYgUExBVEZPUk0oTUFD
KQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhVVNFKENGTkVUV09SSykKICAgICAgICAgdm9pZCBz
Y2hlZHVsZShTY2hlZHVsZVBhaXImKTsKICAgICAgICAgdm9pZCB1bnNjaGVkdWxlKFNjaGVkdWxl
UGFpciYpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3Vy
Y2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcApp
bmRleCAxYTk3M2IwZDUyM2I4ZTFmMzJmMjVhODA4OWM4Mjk4NTc0NTBlM2VjLi5kNmU1YjYxMWI1
YTk1YzllNjFkZWZhNmRjNmE2NDdmMmNjZWRkMWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZUxvYWRlci5jcHAKQEAgLTcyNCw3ICs3MjQsNyBAQCB2b2lkIFJlc291cmNlTG9hZGVy
OjpyZWNlaXZlZENhbmNlbGxhdGlvbihjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpCiAg
ICAgY2FuY2VsKCk7CiB9CiAKLSNpZiBQTEFURk9STShNQUMpCisjaWYgUExBVEZPUk0oQ09DT0Ep
ICYmICFVU0UoQ0ZORVRXT1JLKQogCiB2b2lkIFJlc291cmNlTG9hZGVyOjpzY2hlZHVsZShTY2hl
ZHVsZVBhaXImIHBhaXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVz
b3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCmlu
ZGV4IDAyN2FjMDhmMjMyMzFkNDA3ODdkMTMwMjU2MjYzMzJiOTI2ZjQwZmEuLjE4OWIzYmM4YTgx
YTBlZDUwY2Y2YjU4YjIzZjQ2YzQwYjQ3ZGRlZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZUxvYWRlci5oCkBAIC0xNDAsNyArMTQwLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCB3aWxs
U3dpdGNoVG9TdWJzdGl0dXRlUmVzb3VyY2UoKTsKIAotI2lmIFBMQVRGT1JNKE1BQykKKyNpZiBQ
TEFURk9STShDT0NPQSkgJiYgIVVTRShDRk5FVFdPUkspCiAgICAgdm9pZCBzY2hlZHVsZShXVEY6
OlNjaGVkdWxlUGFpciYpOwogICAgIHZvaWQgdW5zY2hlZHVsZShXVEY6OlNjaGVkdWxlUGFpciYp
OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvbWFjL0RvY3VtZW50
TG9hZGVyTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9tYWMvRG9jdW1lbnRMb2FkZXJN
YWMuY3BwCmluZGV4IDdlNzRmMjBmOTcyYjA3OGZlODYyYjU4MWMyODliZWVlNWQwYTEyYzguLjU4
ZDUwZTY5OGE5MWZiNTljOTA2ZWJiNmQzN2IwMWZlMTM3N2I2NWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9tYWMvRG9jdW1lbnRMb2FkZXJNYWMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9tYWMvRG9jdW1lbnRMb2FkZXJNYWMuY3BwCkBAIC0zMyw3ICszMyw3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotI2lmIFBMQVRGT1JNKE1BQykKKyNpZiAhVVNFKENG
TkVUV09SSykKIAogc3RhdGljIHZvaWQgc2NoZWR1bGVBbGwoY29uc3QgUmVzb3VyY2VMb2FkZXJN
YXAmIGxvYWRlcnMsIFNjaGVkdWxlUGFpciYgcGFpcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL1BhZ2VNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9QYWdl
TWFjLm1tCmluZGV4IDUyNTEwOGZjYTVlZThhODQzMTRhNmQxMDVhZjRhNmQxMzU0MjRlN2YuLmRi
MjAwOTBhN2Y4MzJmMGU2NjFhMjY1MTA3NDA2MWNlZWRlNzRlMTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvbWFjL1BhZ2VNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9t
YWMvUGFnZU1hYy5tbQpAQCAtMzQsMTIgKzM0LDIwIEBACiAjaW1wb3J0ICJGcmFtZVRyZWUuaCIK
ICNpbXBvcnQgIk1haW5GcmFtZS5oIgogCisjaWYgUExBVEZPUk0oSU9TKQorI2ltcG9ydCAiV2Vi
Q29yZVRocmVhZC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdm9pZCBQYWdl
OjpwbGF0Zm9ybUluaXRpYWxpemUoKQogeworI2lmIFBMQVRGT1JNKElPUykKICNpZiBVU0UoQ0ZO
RVRXT1JLKQotICAgIGFkZFNjaGVkdWxlUGFpcihTY2hlZHVsZVBhaXI6OmNyZWF0ZShbW05TUnVu
TG9vcCBjdXJyZW50UnVuTG9vcF0gZ2V0Q0ZSdW5Mb29wXSwga0NGUnVuTG9vcENvbW1vbk1vZGVz
KSk7CisgICAgYWRkU2NoZWR1bGVQYWlyKFNjaGVkdWxlUGFpcjo6Y3JlYXRlKFdlYlRocmVhZFJ1
bkxvb3AoKSwga0NGUnVuTG9vcENvbW1vbk1vZGVzKSk7CisjZWxzZQorICAgIGFkZFNjaGVkdWxl
UGFpcihTY2hlZHVsZVBhaXI6OmNyZWF0ZShXZWJUaHJlYWROU1J1bkxvb3AoKSwga0NGUnVuTG9v
cENvbW1vbk1vZGVzKSk7CisjZW5kaWYgLy8gVVNFKENGTkVUV09SSykKICNlbHNlCiAgICAgYWRk
U2NoZWR1bGVQYWlyKFNjaGVkdWxlUGFpcjo6Y3JlYXRlKFtOU1J1bkxvb3AgY3VycmVudFJ1bkxv
b3BdLCBrQ0ZSdW5Mb29wQ29tbW9uTW9kZXMpKTsKICNlbmRpZgpAQCAtNTEsNyArNTksNyBAQCB2
b2lkIFBhZ2U6OmFkZFNjaGVkdWxlUGFpcihSZWY8U2NoZWR1bGVQYWlyPiYmIHBhaXIpCiAgICAg
ICAgIG1fc2NoZWR1bGVkUnVuTG9vcFBhaXJzID0gc3RkOjptYWtlX3VuaXF1ZTxTY2hlZHVsZVBh
aXJIYXNoU2V0PigpOwogICAgIG1fc2NoZWR1bGVkUnVuTG9vcFBhaXJzLT5hZGQocGFpci5wdHIo
KSk7CiAKLSNpZiAhUExBVEZPUk0oSU9TKQorI2lmICFVU0UoQ0ZORVRXT1JLKQogICAgIGZvciAo
RnJhbWUqIGZyYW1lID0gbV9tYWluRnJhbWUuZ2V0KCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50
cmVlKCkudHJhdmVyc2VOZXh0KCkpIHsKICAgICAgICAgaWYgKERvY3VtZW50TG9hZGVyKiBkb2N1
bWVudExvYWRlciA9IGZyYW1lLT5sb2FkZXIoKS5kb2N1bWVudExvYWRlcigpKQogICAgICAgICAg
ICAgZG9jdW1lbnRMb2FkZXItPnNjaGVkdWxlKHBhaXIpOwpAQCAtNzEsNyArNzksNyBAQCB2b2lk
IFBhZ2U6OnJlbW92ZVNjaGVkdWxlUGFpcihSZWY8U2NoZWR1bGVQYWlyPiYmIHBhaXIpCiAKICAg
ICBtX3NjaGVkdWxlZFJ1bkxvb3BQYWlycy0+cmVtb3ZlKHBhaXIucHRyKCkpOwogCi0jaWYgIVBM
QVRGT1JNKElPUykKKyNpZiAhVVNFKENGTkVUV09SSykKICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9
IG1fbWFpbkZyYW1lLmdldCgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLnRyYXZlcnNl
TmV4dCgpKSB7CiAgICAgICAgIGlmIChEb2N1bWVudExvYWRlciogZG9jdW1lbnRMb2FkZXIgPSBm
cmFtZS0+bG9hZGVyKCkuZG9jdW1lbnRMb2FkZXIoKSkKICAgICAgICAgICAgIGRvY3VtZW50TG9h
ZGVyLT51bnNjaGVkdWxlKHBhaXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
d2FrL1dlYkNvcmVUaHJlYWQuaAppbmRleCBlZmI4ZDdhNDg2MGQwMDNmZjNkN2EwZTNhMWFhZDM3
MjJkN2ZjOGVmLi42N2FhYTI4MDgxYmM0ZTFlMjllNzdlYzAyOGJkOWZiZWUxN2FkNGVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQuaApAQCAt
ODAsOCArODAsOCBAQCBXRUJDT1JFX0VYUE9SVCB2b2lkIFdlYlRocmVhZFVubG9ja0d1YXJkRm9y
TWFpbCgpOwogc3RhdGljIGlubGluZSBib29sIFdlYlRocmVhZFNob3VsZFlpZWxkKHZvaWQpIHsg
cmV0dXJuIHdlYlRocmVhZFNob3VsZFlpZWxkOyB9CiBzdGF0aWMgaW5saW5lIHZvaWQgV2ViVGhy
ZWFkU2V0U2hvdWxkWWllbGQoKSB7IHdlYlRocmVhZFNob3VsZFlpZWxkID0gdHJ1ZTsgfQogCi1X
RUJDT1JFX0VYUE9SVCBDRlJ1bkxvb3BSZWYgV2ViVGhyZWFkUnVuTG9vcCh2b2lkKTsKLU5TUnVu
TG9vcCogV2ViVGhyZWFkTlNSdW5Mb29wKHZvaWQpOworQ0ZSdW5Mb29wUmVmIFdlYlRocmVhZFJ1
bkxvb3Aodm9pZCk7CitXRUJDT1JFX0VYUE9SVCBOU1J1bkxvb3AqIFdlYlRocmVhZE5TUnVuTG9v
cCh2b2lkKTsKIFdlYlRocmVhZENvbnRleHQgKldlYlRocmVhZEN1cnJlbnRDb250ZXh0KHZvaWQp
OwogYm9vbCBXZWJUaHJlYWRDb250ZXh0SXNDdXJyZW50KHZvaWQpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5o
CmluZGV4IDYxMjNmMTRhY2EyNDg0YmU0MmE2ZGYxMDBhZjNhYWMzMTliZDJkOWYuLmI0NGYxZmQ2
NDJkZDc1ZDBjZjQ4YzZkZThiMWU3NzNjMWU5MjEwZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCkBAIC0y
NiwxMSArMjYsMTEgQEAKICNpZm5kZWYgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbF9oCiAjZGVmaW5l
IFJlc291cmNlSGFuZGxlSW50ZXJuYWxfaAogCisjaW5jbHVkZSAiQXV0aGVudGljYXRpb25DaGFs
bGVuZ2UuaCIKICNpbmNsdWRlICJOZXR3b3JraW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIlJlc291
cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRl
ICJSZXNvdXJjZVJlcXVlc3QuaCIKLSNpbmNsdWRlICJBdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5o
IgogI2luY2x1ZGUgIlRpbWVyLmgiCiAKICNpZiBVU0UoQ0ZORVRXT1JLKQpAQCAtMzgsNiArMzgs
MTAgQEAKICNpbmNsdWRlIDxDRk5ldHdvcmsvQ0ZVUkxDb25uZWN0aW9uUHJpdi5oPgogI2VuZGlm
CiAKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVVTRShDRk5FVFdPUkspCisjaW5jbHVkZSAiV2Vi
Q29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZS5oIgorI2VuZGlmCisKICNpZiBVU0UoQ1VSTCkg
JiYgUExBVEZPUk0oV0lOKQogI2luY2x1ZGUgPHdpbnNvY2syLmg+CiAjaW5jbHVkZSA8d2luZG93
cy5oPgpAQCAtMTM4LDcgKzE0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbmRpZgogI2lm
IFBMQVRGT1JNKENPQ09BKSAmJiAhVVNFKENGTkVUV09SSykKICAgICAgICAgUmV0YWluUHRyPE5T
VVJMQ29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOwotICAgICAgICBSZXRhaW5QdHI8aWQ+IG1fZGVs
ZWdhdGU7CisgICAgICAgIFJldGFpblB0cjxpZCA8V2ViQ29yZVJlc291cmNlTG9hZGVyRGVsZWdh
dGU+PiBtX2RlbGVnYXRlOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgICAgIGJv
b2wgbV9zdGFydFdoZW5TY2hlZHVsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xvb2suaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvaW9zL1F1aWNrTG9vay5oCmluZGV4IDQ0ODI0ZGEwMjU4ZGNjMTc0YmRlOWJlNzU3NmE1
ZmNmMjE2YzA1OTYuLjBhZTU4ZTFiMDQzNjg5ODNhM2NkYzFmZjE3ZGU3MTE4ZjlkODEyNDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvaW9zL1F1aWNrTG9vay5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvaW9zL1F1aWNrTG9vay5oCkBA
IC0zMCw2ICszMCw3IEBACiAKICNpbXBvcnQgIlF1aWNrTG9va0hhbmRsZUNsaWVudC5oIgogI2lt
cG9ydCAiUmVzb3VyY2VSZXF1ZXN0LmgiCisjaW1wb3J0ICJXZWJDb3JlUmVzb3VyY2VIYW5kbGVB
c0RlbGVnYXRlLmgiCiAjaW1wb3J0IDxvYmpjL29iamMtcnVudGltZS5oPgogI2ltcG9ydCA8d3Rm
L1JlZlB0ci5oPgogCkBAIC0xMTIsNyArMTEzLDcgQEAgcHJpdmF0ZToKIAogICAgIFJldGFpblB0
cjxOU1VSTD4gbV9maXJzdFJlcXVlc3RVUkw7CiAgICAgUmV0YWluUHRyPFFMUHJldmlld0NvbnZl
cnRlcj4gbV9jb252ZXJ0ZXI7Ci0gICAgUmV0YWluUHRyPGlkPiBtX2RlbGVnYXRlOworICAgIFJl
dGFpblB0cjxpZCA8V2ViQ29yZVJlc291cmNlTG9hZGVyRGVsZWdhdGU+PiBtX2RlbGVnYXRlOwog
ICAgIGJvb2wgbV9maW5pc2hlZExvYWRpbmdEYXRhSW50b0NvbnZlcnRlcjsKICAgICBSZXRhaW5Q
dHI8TlNGaWxlSGFuZGxlICo+IG1fcXVpY2tsb29rRmlsZUhhbmRsZTsKICAgICBSZXRhaW5QdHI8
TlNVUkxSZXNwb25zZT4gbV9uc1Jlc3BvbnNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9pb3MvUXVpY2tMb29rLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9pb3MvUXVpY2tMb29rLm1tCmluZGV4IDk2ZjUwZGYwNzQwMTg0NjQwYThmM2Vh
NjA0MjQ1OTJmNmE1YTk2YTAuLjhiMDYxMjAzZTc4OGEyNTJhNDliZTQyNDU1ZjRkZDJlYWY4ZTFm
YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvaW9zL1F1aWNr
TG9vay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xv
b2subW0KQEAgLTMyLDcgKzMyLDYgQEAKICNpbXBvcnQgIkZpbGVTeXN0ZW1JT1MuaCIKICNpbXBv
cnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIk5TRmlsZU1hbmFnZXJTUEkuaCIKLSNpbXBvcnQgIlF1
aWNrTG9va1NvZnRMaW5rLmgiCiAjaW1wb3J0ICJSZXNvdXJjZUVycm9yLmgiCiAjaW1wb3J0ICJS
ZXNvdXJjZUhhbmRsZS5oIgogI2ltcG9ydCAiUmVzb3VyY2VMb2FkZXIuaCIKQEAgLTQ2LDYgKzQ1
LDggQEAKICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCisjaW1wb3J0ICJRdWlja0xvb2tTb2Z0TGluay5oIgorCiB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIAogTlNTZXQgKldlYkNvcmU6OlFMUHJldmlld0dldFN1cHBvcnRlZE1JTUVUeXBl
c1NldCgpCkBAIC0xOTMsMTIgKzE5NCwxMSBAQCBjb25zdCBjaGFyKiBXZWJDb3JlOjpRTFByZXZp
ZXdQcm90b2NvbCgpCiAvLyBUaGlzIHdvcmtzIGZpbmUgd2hlbiB1c2luZyBOUyBBUElzLCBidXQg
d2hlbiB1c2luZyBDRk5ldHdvcmssIHdlIGRvbid0IGhhdmUgYSBOU1VSTENvbm5lY3Rpb25EZWxl
Z2F0ZS4KIC8vIFNvIHdlIGNyZWF0ZSBXZWJRdWlja0xvb2tIYW5kbGVBc0RlbGVnYXRlIGFzIGFu
IGludGVybWVkaWF0ZSBkZWxlZ2F0ZSBvYmplY3QgYW5kIHBhc3MgaXQgdG8KIC8vIFFMUHJldmll
d0NvbnZlcnRlci4gVGhlIHByb3h5IGRlbGVnYXRlIHRoZW4gZm9yd2FyZHMgdGhlIG1lc3NhZ2Vz
IG9uIHRvIHRoZSBDRk5ldHdvcmsgY29kZS4KLUBpbnRlcmZhY2UgV2ViUXVpY2tMb29rSGFuZGxl
QXNEZWxlZ2F0ZSA6IE5TT2JqZWN0IDxOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZT4geworQGludGVy
ZmFjZSBXZWJRdWlja0xvb2tIYW5kbGVBc0RlbGVnYXRlIDogTlNPYmplY3QgPE5TVVJMQ29ubmVj
dGlvbkRlbGVnYXRlLCBXZWJDb3JlUmVzb3VyY2VMb2FkZXJEZWxlZ2F0ZT4gewogICAgIFJlZlB0
cjxTeW5jaHJvbm91c1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGU+IG1fY29u
bmVjdGlvbkRlbGVnYXRlOwogfQogCiAtIChpZClpbml0V2l0aENvbm5lY3Rpb25EZWxlZ2F0ZToo
U3luY2hyb25vdXNSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlKiljb25uZWN0
aW9uRGVsZWdhdGU7Ci0tICh2b2lkKWNsZWFySGFuZGxlOwogQGVuZAogCiBAaW1wbGVtZW50YXRp
b24gV2ViUXVpY2tMb29rSGFuZGxlQXNEZWxlZ2F0ZQpAQCAtMjUyLDE0ICsyNTIsMTQgQEAgLSAo
dm9pZCljb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIGRpZEZhaWxXaXRo
RXJyb3I6KE5TRXJyb3IgKillcnIKICAgICBtX2Nvbm5lY3Rpb25EZWxlZ2F0ZS0+ZGlkRmFpbChy
ZWludGVycHJldF9jYXN0PENGRXJyb3JSZWY+KGVycm9yKSk7CiB9CiAKLS0gKHZvaWQpY2xlYXJI
YW5kbGUKKy0gKHZvaWQpZGV0YWNoSGFuZGxlCiB7CiAgICAgbV9jb25uZWN0aW9uRGVsZWdhdGUg
PSBudWxscHRyOwogfQogQGVuZAogI2VuZGlmCiAKLUBpbnRlcmZhY2UgV2ViUmVzb3VyY2VMb2Fk
ZXJRdWlja0xvb2tEZWxlZ2F0ZSA6IE5TT2JqZWN0IDxOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZT4g
eworQGludGVyZmFjZSBXZWJSZXNvdXJjZUxvYWRlclF1aWNrTG9va0RlbGVnYXRlIDogTlNPYmpl
Y3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlLCBXZWJDb3JlUmVzb3VyY2VMb2FkZXJEZWxlZ2F0
ZT4gewogICAgIFJlZlB0cjxSZXNvdXJjZUxvYWRlcj4gX3Jlc291cmNlTG9hZGVyOwogICAgIEJP
T0wgX2hhc1NlbnREaWRSZWNlaXZlUmVzcG9uc2U7CiAgICAgQk9PTCBfaGFzRmFpbGVkOwpAQCAt
MzUwLDcgKzM1MCw3IEBAIC0gKHZvaWQpY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29u
bmVjdGlvbiBkaWRGYWlsV2l0aEVycm9yOihOU0Vycm9yICopZXJyCiAgICAgX3Jlc291cmNlTG9h
ZGVyLT5kaWRGYWlsKFJlc291cmNlRXJyb3IoZXJyb3IpKTsKIH0KIAotLSAodm9pZCljbGVhckhh
bmRsZQorLSAodm9pZClkZXRhY2hIYW5kbGUKIHsKICAgICBfcmVzb3VyY2VMb2FkZXIgPSBudWxs
cHRyOwogICAgIF9xdWlja0xvb2tIYW5kbGUgPSBudWxscHRyOwpAQCAtNDkxLDcgKzQ5MSw3IEBA
IFF1aWNrTG9va0hhbmRsZTo6flF1aWNrTG9va0hhbmRsZSgpCiAgICAgTE9HKE5ldHdvcmssICJR
dWlja0xvb2tIYW5kbGU6On5RdWlja0xvb2tIYW5kbGUoKSIpOwogICAgIG1fY29udmVydGVyID0g
bnVsbHB0cjsKIAotICAgIFttX2RlbGVnYXRlIGNsZWFySGFuZGxlXTsKKyAgICBbbV9kZWxlZ2F0
ZSBkZXRhY2hIYW5kbGVdOwogfQogCiBTdHJpbmcgUXVpY2tMb29rSGFuZGxlOjpwcmV2aWV3Rmls
ZU5hbWUoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbQppbmRleCA3Yzk3YjJhYWUwZmQyODgxZWNmOGJj
NWEzZTc5OWQ0ZDVhMDliZTFlLi5lMjVmYzc0MWFhYjE5M2E5OTQ4NTFiYzZlZDI0NzU0ZjYyNzRh
ZTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNv
dXJjZUhhbmRsZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21h
Yy9SZXNvdXJjZUhhbmRsZU1hYy5tbQpAQCAtMzE0LDcgKzMxNCw3IEBAIHZvaWQgUmVzb3VyY2VI
YW5kbGU6OnBsYXRmb3JtU2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVycykKICAgICAgICAgW2Qt
Pm1fY29ubmVjdGlvbiBzZXREZWZlcnNDYWxsYmFja3M6ZGVmZXJzXTsKIH0KIAotI2lmIFBMQVRG
T1JNKE1BQykKKyNpZiAhVVNFKENGTkVUV09SSykKIAogdm9pZCBSZXNvdXJjZUhhbmRsZTo6c2No
ZWR1bGUoU2NoZWR1bGVQYWlyJiBwYWlyKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxl
QXNEZWxlZ2F0ZS5oCmluZGV4IDRmNDE1NWVhZmQ5NDViMWI4NjJkMjljZTg5NmRjYWRjZGExYzQy
NjYuLjRlYjFkNDNjZWI4NmQyZGVjYWQ1ZGI2YWYwNzA3ODNmYmJjNjFjZTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRs
ZUFzRGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9X
ZWJDb3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlLmgKQEAgLTI2LDE4ICsyNiwyNCBAQAogI2lm
bmRlZiBXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlX2gKICNkZWZpbmUgV2ViQ29yZVJl
c291cmNlSGFuZGxlQXNEZWxlZ2F0ZV9oCiAKLSNpZiAhVVNFKENGTkVUV09SSykKLQogbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgUmVzb3VyY2VIYW5kbGU7CiB9CiAKLUBpbnRlcmZhY2UgV2Vi
Q29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZSA6IE5TT2JqZWN0IDxOU1VSTENvbm5lY3Rpb25E
ZWxlZ2F0ZT4geworI2lmZGVmIF9fT0JKQ19fCisKK0Bwcm90b2NvbCBXZWJDb3JlUmVzb3VyY2VM
b2FkZXJEZWxlZ2F0ZQorLSAodm9pZClkZXRhY2hIYW5kbGU7CitAZW5kCisKKyNpZiAhVVNFKENG
TkVUV09SSykKKworQGludGVyZmFjZSBXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlIDog
TlNPYmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlLCBXZWJDb3JlUmVzb3VyY2VMb2FkZXJE
ZWxlZ2F0ZT4gewogICAgIFdlYkNvcmU6OlJlc291cmNlSGFuZGxlKiBtX2hhbmRsZTsKIH0KIC0g
KGlkKWluaXRXaXRoSGFuZGxlOihXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSopaGFuZGxlOwotLSAo
dm9pZClkZXRhY2hIYW5kbGU7CiBAZW5kCiAKICNlbmRpZiAvLyAhVVNFKENGTkVUV09SSykKKyNl
bmRpZiAvLyBfX09CSkNfXwogI2VuZGlmIC8vIFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdh
dGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2Vi
Q29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUubW0KaW5kZXggZTE3
Y2I5ZDIwZWQ3ZGJkNTE3OTNjMzY0ZWIzMmMxNTg5NWViYTUzYS4uZGMzYmQ4YWI1ZGNhOTZlNzUz
M2JiODA4NzhiMzM1Mjc0MThlNDNmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZS5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVB
c0RlbGVnYXRlLm1tCkBAIC01NCw3ICs1NCw3IEBAIC0gKGlkKWluaXRXaXRoSGFuZGxlOihSZXNv
dXJjZUhhbmRsZSopaGFuZGxlCiAKIC0gKHZvaWQpZGV0YWNoSGFuZGxlCiB7Ci0gICAgbV9oYW5k
bGUgPSAwOworICAgIG1faGFuZGxlID0gbnVsbHB0cjsKIH0KIAogLSAoTlNVUkxSZXF1ZXN0ICop
Y29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiB3aWxsU2VuZFJlcXVlc3Q6
KE5TVVJMUmVxdWVzdCAqKW5ld1JlcXVlc3QgcmVkaXJlY3RSZXNwb25zZTooTlNVUkxSZXNwb25z
ZSAqKXJlZGlyZWN0UmVzcG9uc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNl
SGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLmgKaW5kZXggZTc0MGFhNTliZWQ2M2JhYjkw
NzZmMDc5M2FiM2QwM2RlMDAyYjA1MS4uYmFiZGFkMmM0NDUyNGI4MmVkOTcwNjBkOWRhODczNjg2
NjhkZWQzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMv
V2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNP
cGVyYXRpb25RdWV1ZURlbGVnYXRlLmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmICFVU0UoQ0ZO
RVRXT1JLKQogCisjaW5jbHVkZSAiV2ViQ29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZS5oIgog
I2luY2x1ZGUgPGRpc3BhdGNoL2Rpc3BhdGNoLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5o
PgogCkBAIC0zNSw3ICszNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJlc291cmNl
SGFuZGxlOwogfQogCi1AaW50ZXJmYWNlIFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9u
UXVldWVEZWxlZ2F0ZSA6IE5TT2JqZWN0IDxOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZT4geworQGlu
dGVyZmFjZSBXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgOiBO
U09iamVjdCA8TlNVUkxDb25uZWN0aW9uRGVsZWdhdGUsIFdlYkNvcmVSZXNvdXJjZUxvYWRlckRl
bGVnYXRlPiB7CiAgICAgV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUqIG1faGFuZGxlOwogCiAgICAg
Ly8gU3luY2hyb25vdXMgZGVsZWdhdGVzIG9uIG9wZXJhdGlvbiBxdWV1ZSB3YWl0IHVudGlsIG1h
aW4gdGhyZWFkIHNlbmRzIGFuIGFzeW5jaHJvbm91cyByZXNwb25zZS4KQEAgLTQ2LDcgKzQ3LDYg
QEAgY2xhc3MgUmVzb3VyY2VIYW5kbGU7CiB9CiAKIC0gKGlkKWluaXRXaXRoSGFuZGxlOihXZWJD
b3JlOjpSZXNvdXJjZUhhbmRsZSopaGFuZGxlOwotLSAodm9pZClkZXRhY2hIYW5kbGU7CiAtICh2
b2lkKWNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKiluZXdSZXF1ZXN0Owog
LSAodm9pZCljb250aW51ZURpZFJlY2VpdmVSZXNwb25zZTsKICNpZiBVU0UoUFJPVEVDVElPTl9T
UEFDRV9BVVRIX0NBTExCQUNLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
c3BpL2NvY29hL05TVVJMRG93bmxvYWRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nw
aS9jb2NvYS9OU1VSTERvd25sb2FkU1BJLmgKaW5kZXggM2YzYTNiY2I4ZWM2NDhkNGFlNWE3MDE3
NWE3NTY1MTdmODVkZDBkNS4uMzBjMjhlNzMyOThiMjczYjg0MWVhODE0OWFkMjJjMTYzM2E3YWM1
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL05TVVJMRG93
bmxvYWRTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvTlNVUkxE
b3dubG9hZFNQSS5oCkBAIC0yOSw2ICsyOSwxNCBAQAogCiAjaW1wb3J0IDxGb3VuZGF0aW9uL05T
VVJMRG93bmxvYWQuaD4KIAorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxG
b3VuZGF0aW9uL05TVVJMRG93bmxvYWRQcml2YXRlLmg+CisjZWxzZQorQGludGVyZmFjZSBOU1VS
TERvd25sb2FkICgpCisrKGlkKV9kb3dubG9hZFdpdGhMb2FkaW5nQ29ubmVjdGlvbjooTlNVUkxD
b25uZWN0aW9uICopY29ubmVjdGlvbiByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IHJl
c3BvbnNlOihOU1VSTFJlc3BvbnNlICopcmVzcG9uc2UgZGVsZWdhdGU6KGlkKWRlbGVnYXRlIHBy
b3h5OihpZClwcm94eTsKK0BlbmQKKyNlbmRpZgorCiAjZWxzZQogCiBAY2xhc3MgTlNTdHJpbmc7
CkBAIC01Niw4ICs2NCwyMiBAQAogLSAodm9pZClkb3dubG9hZDooTlNVUkxEb3dubG9hZCAqKWRv
d25sb2FkIGRpZEZhaWxXaXRoRXJyb3I6KE5TRXJyb3IgKillcnJvcjsKIEBlbmQKIAorI2lmbmRl
ZiBXZWJEb3dubG9hZF9oCisvKiBBbHNvIGRlZmluZWQgaW4gPFdlYktpdC9XZWJEb3dubG9hZC5o
Pi4gKi8KK0BpbnRlcmZhY2UgTlNVUkxEb3dubG9hZCA6IE5TT2JqZWN0CitAZW5kCisjZW5kaWYK
KwogQGludGVyZmFjZSBOU1VSTERvd25sb2FkICgpCiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhS
ZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IGRlbGVnYXRlOihpZCA8TlNVUkxEb3dubG9h
ZERlbGVnYXRlPilkZWxlZ2F0ZTsKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aFJlc3VtZURhdGE6
KE5TRGF0YSAqKXJlc3VtZURhdGEgZGVsZWdhdGU6KGlkIDxOU1VSTERvd25sb2FkRGVsZWdhdGU+
KWRlbGVnYXRlIHBhdGg6KE5TU3RyaW5nICopcGF0aDsKKy0gKHZvaWQpY2FuY2VsOworLSAodm9p
ZClzZXREZXN0aW5hdGlvbjooTlNTdHJpbmcgKilwYXRoIGFsbG93T3ZlcndyaXRlOihCT09MKWFs
bG93T3ZlcndyaXRlOworQHByb3BlcnR5IChyZWFkb25seSwgY29weSkgTlNVUkxSZXF1ZXN0ICpy
ZXF1ZXN0OworQHByb3BlcnR5IChyZWFkb25seSwgY29weSkgTlNEYXRhICpyZXN1bWVEYXRhOwor
QHByb3BlcnR5IEJPT0wgZGVsZXRlc0ZpbGVVcG9uRmFpbHVyZTsKKworKyhpZClfZG93bmxvYWRX
aXRoTG9hZGluZ0Nvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gcmVxdWVz
dDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCByZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJlc3Bv
bnNlIGRlbGVnYXRlOihpZClkZWxlZ2F0ZSBwcm94eTooaWQpcHJveHk7CiBAZW5kCiAKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJEb3dubG9hZC5oIGIvU291
cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJEb3dubG9hZC5oCmluZGV4IGUyNDJlNmRiOWM5N2Y4OGRi
YThiMWUwYWZlYWE4NzRhYzUxZmI1NDkuLmNhYTU1NzBhNTYwZTMzZjFmYjlmODlhYmI4ODVjMmQx
MzUzODI4NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViRG93bmxvYWQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYkRvd25sb2FkLmgKQEAgLTI2LDYgKzI2
LDkgQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAorI2lmbmRlZiBXZWJEb3dubG9hZF9oCisjZGVmaW5l
IFdlYkRvd25sb2FkX2gKKwogI2lmICFUQVJHRVRfT1NfSVBIT05FIHx8IChkZWZpbmVkIFVTRV9B
UFBMRV9JTlRFUk5BTF9TREsgJiYgVVNFX0FQUExFX0lOVEVSTkFMX1NESykKICNpbXBvcnQgPEZv
dW5kYXRpb24vTlNVUkxEb3dubG9hZC5oPgogI2Vsc2UKQEAgLTc4LDMgKzgxLDUgQEAKIC0gKE5T
V2luZG93ICopZG93bmxvYWRXaW5kb3dGb3JBdXRoZW50aWNhdGlvblNoZWV0OihXZWJEb3dubG9h
ZCAqKWRvd25sb2FkOwogCiBAZW5kCisKKyNlbmRpZiAvKiBXZWJEb3dubG9hZF9oICovCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdFZlcnNpb25DaGVja3MuaCBiL1Nv
dXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0VmVyc2lvbkNoZWNrcy5oCmluZGV4IGM4MTEyMDEy
NWQ0ZGZiNjkzMWFmZWQ0MWVkMTAwMTliZjA3YmZkZjQuLmI1MzMzNTRjMzcxMmJmMDY3OWYzOTg2
M2JhZWI1ZTEyZTNkYjM3NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2Vi
S2l0VmVyc2lvbkNoZWNrcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0VmVy
c2lvbkNoZWNrcy5oCkBAIC03Miw2ICs3Miw3IEBACiAjZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJT
SU9OX1dJVEhfQ1NTX0FUVFJJQlVURV9TRVRURVJTX0lHTk9SSU5HX1BSSU9SSVRZIDIyMzkgLy8g
aU9TIDYuMAogI2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX1lPVVRVQkVfRU1CRURf
SUZSQU1FX1RSQU5TRk9STSAyMjM5IC8vIGlPUyA2LjAKICNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZF
UlNJT05fV0lUSE9VVF9MRUdBQ1lfQkFDS0dST1VORFNJWkVfU0hPUlRIQU5EX0JFSEFWSU9SIDI2
NjUgLy8gaU9TIDcuMAorI2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX0xPQURJTkdf
RFVSSU5HX0NPTU1PTl9SVU5MT09QX01PREVTIDI2NjUgLy8gaU9TIDcuMAogI2RlZmluZSBXRUJL
SVRfRklSU1RfVkVSU0lPTl9XSVRIX0lOU0VDVVJFX0NPTlRFTlRfQkxPQ0tJTkcgMzQ1NAogI2Vu
ZGlmIC8vIFBMQVRGT1JNKElPUykKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmlu
ZGV4IDBlOWNkMzFhMzYyMjMzNmFmNGJmYjBlN2M3MzIyMDU4ZGI2MmU4OGMuLjlhOTJhODg0Yzk3
NmVkNDE5NzAwMTFjMzMxZDc5MTk0Yzk1YzMxMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0KQEAgLTEwMjYsMTQgKzEwMjYsMTYgQEAgLSAodm9pZClfY29tbW9uSW5pdGlhbGl6
YXRpb25XaXRoRnJhbWVOYW1lOihOU1N0cmluZyAqKWZyYW1lTmFtZSBncm91cE5hbWU6KE5TU3QK
IAogICAgIFtXZWJGcmFtZSBfY3JlYXRlTWFpbkZyYW1lV2l0aFBhZ2U6X3ByaXZhdGUtPnBhZ2Ug
ZnJhbWVOYW1lOmZyYW1lTmFtZSBmcmFtZVZpZXc6ZnJhbWVWaWV3XTsKIAotI2lmICFQTEFURk9S
TShJT1MpCisjaWYgUExBVEZPUk0oSU9TKQorICAgIE5TUnVuTG9vcCAqcnVuTG9vcCA9IFdlYlRo
cmVhZE5TUnVuTG9vcCgpOworI2Vsc2UKICAgICBOU1J1bkxvb3AgKnJ1bkxvb3AgPSBbTlNSdW5M
b29wIG1haW5SdW5Mb29wXTsKKyNlbmRpZgogCiAgICAgaWYgKFdlYktpdExpbmtlZE9uT3JBZnRl
cihXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX0xPQURJTkdfRFVSSU5HX0NPTU1PTl9SVU5MT09Q
X01PREVTKSkKICAgICAgICAgW3NlbGYgc2NoZWR1bGVJblJ1bkxvb3A6cnVuTG9vcCBmb3JNb2Rl
OihOU1N0cmluZyAqKWtDRlJ1bkxvb3BDb21tb25Nb2Rlc107CiAgICAgZWxzZQogICAgICAgICBb
c2VsZiBzY2hlZHVsZUluUnVuTG9vcDpydW5Mb29wIGZvck1vZGU6TlNEZWZhdWx0UnVuTG9vcE1v
ZGVdOwotI2VuZGlmCiAKICAgICBbc2VsZiBfYWRkVG9BbGxXZWJWaWV3c1NldF07CiAgICAgCkBA
IC02NjE4LDcgKzY2MjAsNiBAQCBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJWaWV3IChXZWJQ
ZW5kaW5nUHVibGljKQogCi0jaWYgIVBMQVRGT1JNKElPUykKIC0gKHZvaWQpc2NoZWR1bGVJblJ1
bkxvb3A6KE5TUnVuTG9vcCAqKXJ1bkxvb3AgZm9yTW9kZTooTlNTdHJpbmcgKiltb2RlCiB7CiAj
aWYgVVNFKENGTkVUV09SSykKQEAgLTY2NDAsNyArNjY0MSw2IEBAIC0gKHZvaWQpdW5zY2hlZHVs
ZUZyb21SdW5Mb29wOihOU1J1bkxvb3AgKilydW5Mb29wIGZvck1vZGU6KE5TU3RyaW5nICopbW9k
ZQogICAgIGlmIChydW5Mb29wICYmIG1vZGUpCiAgICAgICAgIGNvcmUoc2VsZiktPnJlbW92ZVNj
aGVkdWxlUGFpcihTY2hlZHVsZVBhaXI6OmNyZWF0ZShzY2hlZHVsZVBhaXJSdW5Mb29wLCAoQ0ZT
dHJpbmdSZWYpbW9kZSkpOwogfQotI2VuZGlmCiAKIHN0YXRpYyBCT09MIGZpbmRTdHJpbmcoTlNW
aWV3IDxXZWJEb2N1bWVudFNlYXJjaGluZz4gKnNlYXJjaFZpZXcsIE5TU3RyaW5nICpzdHJpbmcs
IFdlYkZpbmRPcHRpb25zIG9wdGlvbnMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlZpZXdQcml2YXRlLmgKaW5kZXggNzk2YzBmNDJhNzY5OWYxODZmMGU0YzAzN2QxMTQ2N2M0NmIx
MDI5NC4uZjQzMDQ5OTY0NWQ3Zjk1MDA3YzFjYmEwZTljZmFjMDE5OGNmM2MwOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld1ByaXZhdGUuaApAQCAtMTk4LDEwICsxOTgsOCBA
QCB0eXBlZGVmIGVudW0gewogCiBAaW50ZXJmYWNlIFdlYlZpZXcgKFdlYlBlbmRpbmdQdWJsaWMp
CiAKLSNpZiAhVEFSR0VUX09TX0lQSE9ORQogLSAodm9pZClzY2hlZHVsZUluUnVuTG9vcDooTlNS
dW5Mb29wICopcnVuTG9vcCBmb3JNb2RlOihOU1N0cmluZyAqKW1vZGU7CiAtICh2b2lkKXVuc2No
ZWR1bGVGcm9tUnVuTG9vcDooTlNSdW5Mb29wICopcnVuTG9vcCBmb3JNb2RlOihOU1N0cmluZyAq
KW1vZGU7Ci0jZW5kaWYKIAogLSAoQk9PTClmaW5kU3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyBv
cHRpb25zOihXZWJGaW5kT3B0aW9ucylvcHRpb25zOwogLSAoRE9NUmFuZ2UgKilET01SYW5nZU9m
U3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyByZWxhdGl2ZVRvOihET01SYW5nZSAqKXByZXZpb3Vz
UmFuZ2Ugb3B0aW9uczooV2ViRmluZE9wdGlvbnMpb3B0aW9uczsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9pb3MvRG93bmxvYWRJT1MubW0gYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1t
CmluZGV4IGQwZTgwZTYyMDM4NGMxNzgwMTcwMTM4NjFmNzUyMDhlNzViNWNjMDkuLjEwM2E4OTYx
NWVhYWVhZWRiMmYwZmQyM2E1M2M1N2UxOTY1MWZiYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9pb3MvRG93bmxvYWRJT1MubW0KKysrIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL2lvcy9Eb3dubG9hZElPUy5tbQpA
QCAtMjYsOSArMjYsMTAgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiRG93bmxvYWQu
aCIKIAotI2lmIFBMQVRGT1JNKElPUykgJiYgIVVTRShORVRXT1JLX1NFU1NJT04pCisjaWYgVVNF
KENGTkVUV09SSykgJiYgIVVTRShORVRXT1JLX1NFU1NJT04pCiAKICNpbXBvcnQgIkRhdGFSZWZl
cmVuY2UuaCIKKyNpbXBvcnQgPENGTmV0d29yay9DRlVSTERvd25sb2FkLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlRXJyb3Iu
aD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VIYW5kbGUuaD4KQEAgLTM2LDE1ICszNywxMCBA
QAogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogI2ltcG9ydCA8d3RmL1J1bkxvb3AuaD4KIAot
I2lmIFVTRShDRk5FVFdPUkspCi0jaW1wb3J0IDxDRk5ldHdvcmsvQ0ZVUkxEb3dubG9hZC5oPgot
I2VuZGlmCi0KIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
IAotI2lmIFVTRShDRk5FVFdPUkspCiAvLyBGSVhNRTogSWYgcG9zc2libGUsIHdlIHNob3VsZCBj
b25zaWRlciBtb3Zpbmcgc29tZSBjYWxsYmFja3Mgb2ZmIHRoZSBtYWluIHRocmVhZCBvciBhdCBs
ZWFzdAogLy8gbWFraW5nIHRoZW0gYXN5bmNob25vdXMgY2FsbHMuCiBzdGF0aWMgdm9pZCBkaXNw
YXRjaE9uTWFpblRocmVhZCh2b2lkKF5ibG9jaykoKSkKQEAgLTEyNSw3ICsxMjEsNiBAQCBzdGF0
aWMgdm9pZCBzZXRVcERvd25sb2FkQ2xpZW50KENGVVJMRG93bmxvYWRDbGllbnQmIGNsaWVudCwg
RG93bmxvYWQmIGRvd25sb2FkKQogICAgICAgICB9KTsKICAgICB9OwogfQotI2VuZGlmIC8vIFVT
RShDRk5FVFdPUkspCiAKIHZvaWQgRG93bmxvYWQ6OnN0YXJ0KCkKIHsKQEAgLTEzOSwxNiArMTM0
LDEyIEBAIHZvaWQgRG93bmxvYWQ6OnJlc3VtZShjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmLCBj
b25zdCBTdHJpbmcmLCBjb25zdCBTYW5kYm94RXh0CiAKIHZvaWQgRG93bmxvYWQ6OnN0YXJ0V2l0
aEhhbmRsZShSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBy
ZXNwb25zZSkKIHsKLSNpZiBVU0UoQ0ZORVRXT1JLKQogICAgIENGVVJMRG93bmxvYWRDbGllbnQg
Y2xpZW50OwogICAgIHNldFVwRG93bmxvYWRDbGllbnQoY2xpZW50LCAqdGhpcyk7CiAjcHJhZ21h
IGNsYW5nIGRpYWdub3N0aWMgcHVzaAogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQg
Ii1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiCiAgICAgbV9kb3dubG9hZCA9IGFkb3B0Q0YoQ0ZV
UkxEb3dubG9hZENyZWF0ZUFuZFN0YXJ0V2l0aExvYWRpbmdDb25uZWN0aW9uKE5VTEwsIGhhbmRs
ZS0+cmVsZWFzZUNvbm5lY3Rpb25Gb3JEb3dubG9hZCgpLmdldCgpLCBtX3JlcXVlc3QuY2ZVUkxS
ZXF1ZXN0KFVwZGF0ZUhUVFBCb2R5KSwgcmVzcG9uc2UuY2ZVUkxSZXNwb25zZSgpLCAmY2xpZW50
KSk7CiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCi0jZWxzZQotICAgIG5vdEltcGxlbWVu
dGVkKCk7Ci0jZW5kaWYKIH0KIAogdm9pZCBEb3dubG9hZDo6Y2FuY2VsKCkKQEAgLTE5Myw0ICsx
ODQsNCBAQCB2b2lkIERvd25sb2FkOjpyZWNlaXZlZENoYWxsZW5nZVJlamVjdGlvbihjb25zdCBX
ZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
IAotI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKKyNlbmRpZiAvLyBVU0UoQ0ZORVRXT1JLKSAmJiAh
VVNFKE5FVFdPUktfU0VTU0lPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL0Rvd25sb2Fkcy9tYWMvRG93bmxvYWRNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9Eb3dubG9hZHMvbWFjL0Rvd25sb2FkTWFjLm1tCmluZGV4IDljN2Q5NTMzODVl
ZjYzYTY2ZGY3NTYyNzE4ZWM4YTc2ZDdkZmI5NjUuLjM0Y2JhOTRlZjE5ODY0NDBjZDhjNzMxNDJj
NjM1MzFhZjRjMmJjY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L0Rvd25sb2Fkcy9tYWMvRG93bmxvYWRNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvRG93bmxvYWRzL21hYy9Eb3dubG9hZE1hYy5tbQpAQCAtMjYsMTAgKzI2LDExIEBA
CiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkRvd25sb2FkLmgiCiAKLSNpZiBQTEFURk9S
TShNQUMpICYmICFVU0UoTkVUV09SS19TRVNTSU9OKQorI2lmICFVU0UoQ0ZORVRXT1JLKSAmJiAh
VVNFKE5FVFdPUktfU0VTU0lPTikKIAogI2ltcG9ydCA8V2ViQ29yZS9BdXRoZW50aWNhdGlvbkNo
YWxsZW5nZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9BdXRoZW50aWNhdGlvbk1hYy5oPgorI2ltcG9y
dCA8V2ViQ29yZS9OU1VSTERvd25sb2FkU1BJLmg+CiAjaW1wb3J0IDxXZWJDb3JlL05vdEltcGxl
bWVudGVkLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlSGFuZGxlLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL1Jlc291cmNlSGFuZGxlQ2xpZW50Lmg+CkBAIC0zNywxNCArMzgsNiBAQAogI2ltcG9y
dCAiRGF0YVJlZmVyZW5jZS5oIgogI2ltcG9ydCAiV2ViUGFnZS5oIgogCi1AaW50ZXJmYWNlIE5T
VVJMRG93bmxvYWQgKFdlYk5TVVJMRG93bmxvYWREZXRhaWxzKQotKyhpZClfZG93bmxvYWRXaXRo
TG9hZGluZ0Nvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24KLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXIKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRlbGVnYXRlOihpZClkZWxlZ2F0ZQotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHJveHk6KGlkKXByb3h5OwotQGVuZAotCiBAaW50ZXJmYWNlIFdL
RG93bmxvYWRBc0RlbGVnYXRlIDogTlNPYmplY3QgPE5TVVJMRG93bmxvYWREZWxlZ2F0ZT4gewog
ICAgIFdlYktpdDo6RG93bmxvYWQqIF9kb3dubG9hZDsKIH0KQEAgLTMwOCw0ICszMDEsNCBAQCAt
ICh2b2lkKWRvd25sb2FkOihOU1VSTERvd25sb2FkICopZG93bmxvYWQgZGlkRmFpbFdpdGhFcnJv
cjooTlNFcnJvciAqKWVycm9yCiAKIEBlbmQKIAotI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykgJiYg
IVVTRShORVRXT1JLX1NFU1NJT04pCisjZW5kaWYgLy8gIVVTRShDRk5FVFdPUkspICYmICFVU0Uo
TkVUV09SS19TRVNTSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MuY3BwCmluZGV4IDY5NjgwMTU5ZmNkMDE1NmJhY2QwY2Y0OTFlMzEzODZlM2Fl
YTJkY2UuLmExNDY0Yjk5ZDkyZjI5ZjJmYWI2OTQyM2M5ZDA4NTc2ODA2YjNlMDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKQEAgLTE5
OCw3ICsxOTgsNyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjppbml0aWFsaXplTmV0d29ya1Byb2Nl
c3MoY29uc3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZQogCiAgICAgc2V0Q2FuSGFuZGxl
SFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb24ocGFyYW1ldGVycy5jYW5IYW5kbGVIVFRQU1NlcnZl
clRydXN0RXZhbHVhdGlvbik7CiAKLSNpZiBQTEFURk9STShNQUMpIHx8IFVTRShDRk5FVFdPUksp
CisjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFVTRShDRk5FVFdPUkspCiAgICAgU2Vzc2lvblRyYWNr
ZXI6OnNldElkZW50aWZpZXJCYXNlKHBhcmFtZXRlcnMudWlQcm9jZXNzQnVuZGxlSWRlbnRpZmll
cik7CiAjZW5kaWYKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268020</attachid>
            <date>2015-12-30 15:52:44 -0800</date>
            <delta_ts>2015-12-30 17:47:46 -0800</delta_ts>
            <desc>Fix all the build failures v3</desc>
            <filename>bug-142540-20151230155209.patch</filename>
            <type>text/plain</type>
            <size>31252</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0NDIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDIwMGQzNTRhMzc2Zjc3NjRjNzJlOTll
MTY0MWUzY2I3MGNhNzg1MjAuLjIwNWFjMjVjNjlhMDg5MDEwNTNlYjA3ZTU4MDJmMjZkMDI0YWM4
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMTItMzAgIERhdmlkIEtpbHplciAgPGRka2ls
emVyQGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIHVzaW5nIFVTRShDRk5FVFdPUkspIHBhdGgg
b24gaU9TCisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8xNDI1NDA+CisKKyAgICAgICAg
T3JpZ2luYWwgcGF0Y2ggYnkgQW50dGkgS29pdmlzdG8gPGFudHRpQGFwcGxlLmNvbT4gb24gMjAx
NS0wMy0xMAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHd0Zi9QbGF0Zm9ybS5oOiBUdXJuIG9mZiBVU0UoQ0ZORVRXT1JLKSBmb3IgUExBVEZPUk0oSU9T
KS4KKyAgICAgICAgKiB3dGYvU2NoZWR1bGVQYWlyLmg6IFVwZGF0ZSBtYWNyb3MgdG8gbWF0Y2gg
V2ViQ29yZS4KKwogMjAxNS0xMi0yMiAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgog
CiAgICAgICAgIEZUTCBCMyBzaG91bGQgYmUgYWJsZSB0byBydW4gcmljaGFyZHMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCA1OGM1Zjg2ZDA2YTRiM2JmMjE3ZjlkNjdiNTYyNWRlNDE2ZjllZTFjLi5hMjQ1Nzk5MTMz
NWQxMWI2MzE1NTQ0NWIzNGRkOGFkNTU3MWQ3MjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzUg
QEAKKzIwMTUtMTItMzAgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBTdG9wIHVzaW5nIFVTRShDRk5FVFdPUkspIHBhdGggb24gaU9TCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI1NDAKKworICAgICAgICBPcmln
aW5hbCBwYXRjaCBieSBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPiBvbiAyMDE1LTAz
LTEwCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuaWZ5
IE9TIFggYW5kIGlPUyBjb2RlIHBhdGhzLgorCisgICAgICAgIFRoaXMgcGF0Y2gganVzdCBzd2l0
Y2hlcyB0aGUgcGF0aHMuIEl0IGRvZXNuJ3QgeWV0IGRlbGV0ZSBhbnkKKyAgICAgICAgdW5uZWNl
c3NhcnkgY29kZS4KKworICAgICAgICBDaGFuZ2VzIGNvdmVyZWQgYnkgbW9zdCBleGlzdGluZyB0
ZXN0cy4KKworICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5oOgorICAgICAgICAqIGxv
YWRlci9SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVy
Lmg6CisgICAgICAgICogbG9hZGVyL21hYy9Eb2N1bWVudExvYWRlck1hYy5jcHA6CisgICAgICAg
IC0gVXBkYXRlIGZvciBpT1MgdG8gdXNlIE5TVVJMQ29ubmVjdGlvbiBsb2FkZXIuCisKKyAgICAg
ICAgKiBwYWdlL21hYy9QYWdlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6cGxhdGZv
cm1Jbml0aWFsaXplKTogQWx3YXlzIHVzZSB0aGUgY29ycmVjdAorICAgICAgICBydW5sb29wIG9u
IGlPUyByZWdhcmRsZXNzIG9mIHdoaWNoIHRocmVhZCB0aGlzIHdhcyBjYWxsZWQgb24uCisgICAg
ICAgIChXZWJDb3JlOjpQYWdlOjphZGRTY2hlZHVsZVBhaXIpOiBVcGRhdGUgZm9yIGlPUyB0byB1
c2UKKyAgICAgICAgTlNVUkxDb25uZWN0aW9uIGxvYWRlci4KKyAgICAgICAgKFdlYkNvcmU6OlBh
Z2U6OnJlbW92ZVNjaGVkdWxlUGFpcik6IERpdHRvLgorCisgICAgICAgICogcGxhdGZvcm0vaW9z
L3dhay9XZWJDb3JlVGhyZWFkLmg6CisgICAgICAgIChXZWJUaHJlYWRSdW5Mb29wKTogTm8gbG9u
Z2VyIG5lZWRzIHRvIGJlIGV4cG9ydGVkLgorICAgICAgICAoV2ViVGhyZWFkTlNSdW5Mb29wKTog
RXhwb3J0IGZvciBXZWJLaXRMZWdhY3kuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlSGFuZGxlSW50ZXJuYWwuaDogRml4IGhlYWRlciBvcmRlci4KKyAgICAgICAgQWRkIFdl
YkNvcmVSZXNvdXJjZUxvYWRlckRlbGVnYXRlIHByb3RvY29sIHRvIG1fZGVsZWdhdGUuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xvb2suaDogQWRkCisgICAgICAgIFdl
YkNvcmVSZXNvdXJjZUxvYWRlckRlbGVnYXRlIHByb3RvY29sIHRvIG1fZGVsZWdhdGUuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xvb2subW06IEZpeCBoZWFkZXIgb3Jk
ZXIuCisgICAgICAgIChXZWJRdWlja0xvb2tIYW5kbGVBc0RlbGVnYXRlKTogTWFrZSBkZWxlZ2F0
ZSBvYmplY3RzIGltcGxlbWVudAorICAgICAgICBXZWJDb3JlUmVzb3VyY2VMb2FkZXJEZWxlZ2F0
ZSBwcm90b2NvbC4gIFRoaXMgdW5pZmllcyB0aGUKKyAgICAgICAgLWNsZWFySGFuZGxlIGFuZCAt
ZGV0YWNoSGFuZGxlIG1ldGhvZHMgdGhhdCB3ZXJlIHVzZWQgb24gaU9TIGFuZAorICAgICAgICBP
UyBYLCByZXNwZWN0aXZlbHkuCisgICAgICAgICgtW1dlYlF1aWNrTG9va0hhbmRsZUFzRGVsZWdh
dGUgY2xlYXJIYW5kbGVdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV2ViUXVpY2tMb29rSGFuZGxl
QXNEZWxlZ2F0ZSBkZXRhY2hIYW5kbGVdKTogUmVuYW1lZCBmcm9tCisgICAgICAgIC1jbGVhckhh
bmRsZS4KKyAgICAgICAgKFdlYlJlc291cmNlTG9hZGVyUXVpY2tMb29rRGVsZWdhdGUpOiBNYWtl
IGRlbGVnYXRlIG9iamVjdHMKKyAgICAgICAgaW1wbGVtZW50IFdlYkNvcmVSZXNvdXJjZUxvYWRl
ckRlbGVnYXRlIHByb3RvY29sLgorICAgICAgICAoLVtXZWJSZXNvdXJjZUxvYWRlclF1aWNrTG9v
a0RlbGVnYXRlIGNsZWFySGFuZGxlXSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dlYlJlc291cmNl
TG9hZGVyUXVpY2tMb29rRGVsZWdhdGUgZGV0YWNoSGFuZGxlXSk6IFJlbmFtZWQgZnJvbQorICAg
ICAgICAtY2xlYXJIYW5kbGUuCisgICAgICAgIChXZWJDb3JlOjpRdWlja0xvb2tIYW5kbGU6On5R
dWlja0xvb2tIYW5kbGUpOiBDYWxsCisgICAgICAgIC1kZXRhY2hIYW5kbGUgaW5zdGVhZCBvZiAt
Y2xlYXJIYW5kbGUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhh
bmRsZU1hYy5tbToKKyAgICAgICAgLSBVcGRhdGUgZm9yIGlPUyB0byB1c2UgTlNVUkxDb25uZWN0
aW9uIGxvYWRlci4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNv
dXJjZUhhbmRsZUFzRGVsZWdhdGUuaDoKKyAgICAgICAgKFdlYkNvcmVSZXNvdXJjZUxvYWRlckRl
bGVnYXRlKTogRGVmaW5lIG5ldyBwcm90b2NvbC4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUubW06CisgICAgICAgICgtW1dl
YkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUgZGV0YWNoSGFuZGxlXSk6IEdyYXR1aXRvdXMK
KyAgICAgICAgbnVsbHB0ciBmaXguCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9X
ZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUuaDoKKyAgICAgICAg
KFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSk6IEltcGxlbWVu
dAorICAgICAgICBXZWJDb3JlUmVzb3VyY2VMb2FkZXJEZWxlZ2F0ZSBwcm90b2NvbC4KKworICAg
ICAgICAqIHBsYXRmb3JtL3NwaS9jb2NvYS9OU1VSTERvd25sb2FkU1BJLmg6IERlY2xhcmUgbW9y
ZQorICAgICAgICBOU1VSRG93bmxvYWQgU1BJIHRvIGNsZWFuIHVwIG90aGVyIHNvdXJjZSBmaWxl
cyBhbmQgbWFrZQorICAgICAgICBzb3VyY2UgY29tcGlsZSBvbiBpT1Mgd2l0aCBOU1VSTENvbm5l
Y3Rpb24gY29kZSBwYXRoLgorCiAyMDE1LTEyLTI1ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgU3VicGl4ZWwgcmVuZGVyaW5nOiBBZGQgc3VicGl4ZWwgc3VwcG9y
dCBmb3Igb3V0bGluZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA5OTcxNDViNmFkZTUyOTU4YmViZWYy
NWQzY2I4NDc1NTkyMWRjOWZlLi43N2I2MTMyNmYzOTE4OWFiYTNiZGY0YmVjZmZlNzA1MTNlNmEw
NTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTUtMTItMzAgIERhdmlk
IEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIHVzaW5nIFVTRShD
Rk5FVFdPUkspIHBhdGggb24gaU9TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDI1NDAKKworICAgICAgICBPcmlnaW5hbCBwYXRjaCBieSBBbnR0aSBL
b2l2aXN0byA8YW50dGlAYXBwbGUuY29tPiBvbiAyMDE1LTAzLTEwCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTWlzYy9XZWJEb3dubG9hZC5oOiBBZGQg
aGVhZGVyIGd1YXJkIHRvIG1ha2UKKyAgICAgICAgTlNVUkxEb3dubG9hZFNQSS5oIHdvcmsgd2hl
biBwcmUtZGVjbGFyaW5nIE5TVVJMRG93bmxvYWQgb2JqZWN0LgorICAgICAgICAqIE1pc2MvV2Vi
S2l0VmVyc2lvbkNoZWNrcy5oOiBEZWZpbmUKKyAgICAgICAgV0VCS0lUX0ZJUlNUX1ZFUlNJT05f
V0lUSF9MT0FESU5HX0RVUklOR19DT01NT05fUlVOTE9PUF9NT0RFUworICAgICAgICBmb3IgaU9T
LgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29t
bW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKTogVXNlCisgICAgICAg
IHRoZSBjb3JyZWN0IHJ1bmxvb3Agb24gaU9TLgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlld1By
aXZhdGUuaDoKKyAgICAgICAgKC1bV2ViVmlldyhXZWJQZW5kaW5nUHVibGljKSBzY2hlZHVsZUlu
UnVuTG9vcDpmb3JNb2RlOl0pOgorICAgICAgICAoLVtXZWJWaWV3KFdlYlBlbmRpbmdQdWJsaWMp
IHVuc2NoZWR1bGVGcm9tUnVuTG9vcDpmb3JNb2RlOl0pOgorICAgICAgICAtIFRoZXNlIGFyZSBh
dmFpbGFibGUgb24gaU9TIG5vdy4KKwogMjAxNS0xMi0yMiAgQW5keSBFc3RlcyAgPGFlc3Rlc0Bh
cHBsZS5jb20+CiAKICAgICAgICAgW0NGXSBSZXBsYWNlIENGTmV0d29yay1yZWxhdGVkIFdlYktp
dFN5c3RlbUludGVyZmFjZSBjYWxscyB3aXRoIFNQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDEwYTJiMjkzMzlk
ODU0NDFjODk0NWJlZjEyNmZlODhhZjQ3MDZjMDguLmQxYzA3NmYxODExNzUzYjQ0NDBiMzE3Mzgz
YjZlNTQxZjQ1MDk3N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxNS0xMi0zMCAg
RGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgorCisgICAgICAgIFN0b3AgdXNpbmcg
VVNFKENGTkVUV09SSykgcGF0aCBvbiBpT1MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE0MjU0MAorCisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IEFu
dHRpIEtvaXZpc3RvIDxhbnR0aUBhcHBsZS5jb20+IG9uIDIwMTUtMDMtMTAKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Eb3du
bG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1tOiBUaGlzIGlzIG5vdyB0aGUKKyAgICAgICAgVVNFKENG
TkVUV09SSykgJiYgIVVTRShORVRXT1JLX1NFU1NJT04pIGNvZGUgcGF0aC4KKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvbWFjL0Rvd25sb2FkTWFjLm1tOiBUaGlzIGlzIG5vdyB0
aGUKKyAgICAgICAgIVVTRShDRk5FVFdPUkspICYmICFVU0UoTkVUV09SS19TRVNTSU9OKSBjb2Rl
IHBhdGguICBNYWtlIHVzZSBvZgorICAgICAgICBOU1VSTERvd25sb2FkU1BJLmguCisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrUHJvY2Vzczo6aW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKTogVXBkYXRlIGZvcgorICAg
ICAgICBpT1MgdG8gdXNlIE5TVVJMQ29ubmVjdGlvbiBsb2FkZXIuCisKIDIwMTUtMTItMjUgIERh
dmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXNvdXJjZUVycm9y
IHNob3VsZCBzdG9yZSBmYWlsaW5nVVJMIGFzIFVSTCBpbnN0ZWFkIG9mIFN0cmluZyB0byBhdm9p
ZCByZXBhcnNpbmcgYW5kIHRvIGFkZHJlc3MgRklYTUUgY29tbWVudHMgaW4gUmVzb3VyY2VFcnJv
ckNGLmNwcCBhbmQgUmVzb3VyY2VFcnJvck1hYy5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKaW5kZXggYjdlZDVhODhl
MTgzZTVhOWFjNjEwNDIwYWIzODZiYjkxYzJhMzk4Mi4uNmE0OWJhN2VmMWFiM2ViY2ViMWY0YWE4
YzA1N2NlOWRkNGMwZjMxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBAIC01NDUsOSArNTQ1LDYgQEAKICNpZiBQ
TEFURk9STShJT1MpCiAKICNkZWZpbmUgSEFWRV9SRUFETElORSAxCi0jaWYgVVNFKEFQUExFX0lO
VEVSTkFMX1NESykKLSNkZWZpbmUgVVNFX0NGTkVUV09SSyAxCi0jZW5kaWYKICNkZWZpbmUgVVNF
X1VJS0lUX0VESVRJTkcgMQogI2RlZmluZSBVU0VfV0VCX1RIUkVBRCAxCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL1NjaGVkdWxlUGFpci5oIGIvU291cmNlL1dURi93dGYvU2NoZWR1bGVQ
YWlyLmgKaW5kZXggNjAzOWQ5YTM3OGYyN2JjMzJkZDc0ZTI5MDBiNzliNzU1YTIzZDQzNy4uMzZm
YTY0N2I0YTE4YjRmN2M2MGFiMDk0NjJhMTdjYjNhYTE1OGY5YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvU2NoZWR1bGVQYWlyLmgKKysrIGIvU291cmNlL1dURi93dGYvU2NoZWR1bGVQYWly
LmgKQEAgLTM1LDcgKzM1LDcgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLSNpZiBVU0UoRk9VTkRBVElPTikKKyNp
ZiBQTEFURk9STShDT0NPQSkgJiYgIVVTRShDRk5FVFdPUkspCiBPQkpDX0NMQVNTIE5TUnVuTG9v
cDsKICNlbmRpZgogCkBAIC00NSw3ICs0NSw3IEBAIGNsYXNzIFNjaGVkdWxlUGFpciA6IHB1Ymxp
YyBUaHJlYWRTYWZlUmVmQ291bnRlZDxTY2hlZHVsZVBhaXI+IHsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUmVmPFNjaGVkdWxlUGFpcj4gY3JlYXRlKENGUnVuTG9vcFJlZiBydW5Mb29wLCBDRlN0cmlu
Z1JlZiBtb2RlKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFNjaGVkdWxlUGFpcihydW5Mb29wLCBt
b2RlKSk7IH0KIAotI2lmIFVTRShGT1VOREFUSU9OKSAmJiAhVVNFKENGTkVUV09SSykKKyNpZiBQ
TEFURk9STShDT0NPQSkgJiYgIVVTRShDRk5FVFdPUkspCiAgICAgc3RhdGljIFJlZjxTY2hlZHVs
ZVBhaXI+IGNyZWF0ZShOU1J1bkxvb3AqIHJ1bkxvb3AsIENGU3RyaW5nUmVmIG1vZGUpIHsgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgU2NoZWR1bGVQYWlyKHJ1bkxvb3AsIG1vZGUpKTsgfQogICAgIE5T
UnVuTG9vcCogbnNSdW5Mb29wKCkgY29uc3QgeyByZXR1cm4gbV9uc1J1bkxvb3AuZ2V0KCk7IH0K
ICNlbmRpZgpAQCAtNjMsNyArNjMsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgbV9tb2RlID0g
YWRvcHRDRihDRlN0cmluZ0NyZWF0ZUNvcHkoMCwgbW9kZSkpOwogICAgIH0KIAotI2lmIFVTRShG
T1VOREFUSU9OKSAmJiAhVVNFKENGTkVUV09SSykKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVVT
RShDRk5FVFdPUkspCiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIFNjaGVkdWxlUGFpcihOU1J1bkxv
b3AqLCBDRlN0cmluZ1JlZik7CiAgICAgUmV0YWluUHRyPE5TUnVuTG9vcCo+IG1fbnNSdW5Mb29w
OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2Fk
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCmluZGV4IDU1MTAz
OTFiZDMzZDNhMzY2NzE1NmU4NDVmYTMxMzExYzNmNmY5ZjMuLmU1YmRhY2UxNzdhZTA1Zjk4MGNi
MjY4YzVlNTg1YmJlODgyYmQyYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRl
ci5oCkBAIC01Niw2ICs1NiwxMCBAQAogI2luY2x1ZGUgIlF1aWNrTG9vay5oIgogI2VuZGlmCiAK
KyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVVTRShDRk5FVFdPUkspCisjaW5jbHVkZSA8d3RmL1Nj
aGVkdWxlUGFpci5oPgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNz
IEFwcGxpY2F0aW9uQ2FjaGVIb3N0OwpAQCAtMTQ0LDcgKzE0OCw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRUaXRsZShjb25zdCBTdHJpbmdX
aXRoRGlyZWN0aW9uJik7CiAgICAgICAgIGNvbnN0IFN0cmluZyYgb3ZlcnJpZGVFbmNvZGluZygp
IGNvbnN0IHsgcmV0dXJuIG1fb3ZlcnJpZGVFbmNvZGluZzsgfQogCi0jaWYgUExBVEZPUk0oTUFD
KQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhVVNFKENGTkVUV09SSykKICAgICAgICAgdm9pZCBz
Y2hlZHVsZShTY2hlZHVsZVBhaXImKTsKICAgICAgICAgdm9pZCB1bnNjaGVkdWxlKFNjaGVkdWxl
UGFpciYpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3Vy
Y2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcApp
bmRleCAxYTk3M2IwZDUyM2I4ZTFmMzJmMjVhODA4OWM4Mjk4NTc0NTBlM2VjLi5kNmU1YjYxMWI1
YTk1YzllNjFkZWZhNmRjNmE2NDdmMmNjZWRkMWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZUxvYWRlci5jcHAKQEAgLTcyNCw3ICs3MjQsNyBAQCB2b2lkIFJlc291cmNlTG9hZGVy
OjpyZWNlaXZlZENhbmNlbGxhdGlvbihjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpCiAg
ICAgY2FuY2VsKCk7CiB9CiAKLSNpZiBQTEFURk9STShNQUMpCisjaWYgUExBVEZPUk0oQ09DT0Ep
ICYmICFVU0UoQ0ZORVRXT1JLKQogCiB2b2lkIFJlc291cmNlTG9hZGVyOjpzY2hlZHVsZShTY2hl
ZHVsZVBhaXImIHBhaXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVz
b3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCmlu
ZGV4IDAyN2FjMDhmMjMyMzFkNDA3ODdkMTMwMjU2MjYzMzJiOTI2ZjQwZmEuLjE4OWIzYmM4YTgx
YTBlZDUwY2Y2YjU4YjIzZjQ2YzQwYjQ3ZGRlZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZUxvYWRlci5oCkBAIC0xNDAsNyArMTQwLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCB3aWxs
U3dpdGNoVG9TdWJzdGl0dXRlUmVzb3VyY2UoKTsKIAotI2lmIFBMQVRGT1JNKE1BQykKKyNpZiBQ
TEFURk9STShDT0NPQSkgJiYgIVVTRShDRk5FVFdPUkspCiAgICAgdm9pZCBzY2hlZHVsZShXVEY6
OlNjaGVkdWxlUGFpciYpOwogICAgIHZvaWQgdW5zY2hlZHVsZShXVEY6OlNjaGVkdWxlUGFpciYp
OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvbWFjL0RvY3VtZW50
TG9hZGVyTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9tYWMvRG9jdW1lbnRMb2FkZXJN
YWMuY3BwCmluZGV4IDdlNzRmMjBmOTcyYjA3OGZlODYyYjU4MWMyODliZWVlNWQwYTEyYzguLjU4
ZDUwZTY5OGE5MWZiNTljOTA2ZWJiNmQzN2IwMWZlMTM3N2I2NWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9tYWMvRG9jdW1lbnRMb2FkZXJNYWMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9tYWMvRG9jdW1lbnRMb2FkZXJNYWMuY3BwCkBAIC0zMyw3ICszMyw3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotI2lmIFBMQVRGT1JNKE1BQykKKyNpZiAhVVNFKENG
TkVUV09SSykKIAogc3RhdGljIHZvaWQgc2NoZWR1bGVBbGwoY29uc3QgUmVzb3VyY2VMb2FkZXJN
YXAmIGxvYWRlcnMsIFNjaGVkdWxlUGFpciYgcGFpcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL1BhZ2VNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9QYWdl
TWFjLm1tCmluZGV4IDUyNTEwOGZjYTVlZThhODQzMTRhNmQxMDVhZjRhNmQxMzU0MjRlN2YuLmRi
MjAwOTBhN2Y4MzJmMGU2NjFhMjY1MTA3NDA2MWNlZWRlNzRlMTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvbWFjL1BhZ2VNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9t
YWMvUGFnZU1hYy5tbQpAQCAtMzQsMTIgKzM0LDIwIEBACiAjaW1wb3J0ICJGcmFtZVRyZWUuaCIK
ICNpbXBvcnQgIk1haW5GcmFtZS5oIgogCisjaWYgUExBVEZPUk0oSU9TKQorI2ltcG9ydCAiV2Vi
Q29yZVRocmVhZC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdm9pZCBQYWdl
OjpwbGF0Zm9ybUluaXRpYWxpemUoKQogeworI2lmIFBMQVRGT1JNKElPUykKICNpZiBVU0UoQ0ZO
RVRXT1JLKQotICAgIGFkZFNjaGVkdWxlUGFpcihTY2hlZHVsZVBhaXI6OmNyZWF0ZShbW05TUnVu
TG9vcCBjdXJyZW50UnVuTG9vcF0gZ2V0Q0ZSdW5Mb29wXSwga0NGUnVuTG9vcENvbW1vbk1vZGVz
KSk7CisgICAgYWRkU2NoZWR1bGVQYWlyKFNjaGVkdWxlUGFpcjo6Y3JlYXRlKFdlYlRocmVhZFJ1
bkxvb3AoKSwga0NGUnVuTG9vcENvbW1vbk1vZGVzKSk7CisjZWxzZQorICAgIGFkZFNjaGVkdWxl
UGFpcihTY2hlZHVsZVBhaXI6OmNyZWF0ZShXZWJUaHJlYWROU1J1bkxvb3AoKSwga0NGUnVuTG9v
cENvbW1vbk1vZGVzKSk7CisjZW5kaWYgLy8gVVNFKENGTkVUV09SSykKICNlbHNlCiAgICAgYWRk
U2NoZWR1bGVQYWlyKFNjaGVkdWxlUGFpcjo6Y3JlYXRlKFtOU1J1bkxvb3AgY3VycmVudFJ1bkxv
b3BdLCBrQ0ZSdW5Mb29wQ29tbW9uTW9kZXMpKTsKICNlbmRpZgpAQCAtNTEsNyArNTksNyBAQCB2
b2lkIFBhZ2U6OmFkZFNjaGVkdWxlUGFpcihSZWY8U2NoZWR1bGVQYWlyPiYmIHBhaXIpCiAgICAg
ICAgIG1fc2NoZWR1bGVkUnVuTG9vcFBhaXJzID0gc3RkOjptYWtlX3VuaXF1ZTxTY2hlZHVsZVBh
aXJIYXNoU2V0PigpOwogICAgIG1fc2NoZWR1bGVkUnVuTG9vcFBhaXJzLT5hZGQocGFpci5wdHIo
KSk7CiAKLSNpZiAhUExBVEZPUk0oSU9TKQorI2lmICFVU0UoQ0ZORVRXT1JLKQogICAgIGZvciAo
RnJhbWUqIGZyYW1lID0gbV9tYWluRnJhbWUuZ2V0KCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50
cmVlKCkudHJhdmVyc2VOZXh0KCkpIHsKICAgICAgICAgaWYgKERvY3VtZW50TG9hZGVyKiBkb2N1
bWVudExvYWRlciA9IGZyYW1lLT5sb2FkZXIoKS5kb2N1bWVudExvYWRlcigpKQogICAgICAgICAg
ICAgZG9jdW1lbnRMb2FkZXItPnNjaGVkdWxlKHBhaXIpOwpAQCAtNzEsNyArNzksNyBAQCB2b2lk
IFBhZ2U6OnJlbW92ZVNjaGVkdWxlUGFpcihSZWY8U2NoZWR1bGVQYWlyPiYmIHBhaXIpCiAKICAg
ICBtX3NjaGVkdWxlZFJ1bkxvb3BQYWlycy0+cmVtb3ZlKHBhaXIucHRyKCkpOwogCi0jaWYgIVBM
QVRGT1JNKElPUykKKyNpZiAhVVNFKENGTkVUV09SSykKICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9
IG1fbWFpbkZyYW1lLmdldCgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLnRyYXZlcnNl
TmV4dCgpKSB7CiAgICAgICAgIGlmIChEb2N1bWVudExvYWRlciogZG9jdW1lbnRMb2FkZXIgPSBm
cmFtZS0+bG9hZGVyKCkuZG9jdW1lbnRMb2FkZXIoKSkKICAgICAgICAgICAgIGRvY3VtZW50TG9h
ZGVyLT51bnNjaGVkdWxlKHBhaXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
d2FrL1dlYkNvcmVUaHJlYWQuaAppbmRleCBlZmI4ZDdhNDg2MGQwMDNmZjNkN2EwZTNhMWFhZDM3
MjJkN2ZjOGVmLi42N2FhYTI4MDgxYmM0ZTFlMjllNzdlYzAyOGJkOWZiZWUxN2FkNGVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQuaApAQCAt
ODAsOCArODAsOCBAQCBXRUJDT1JFX0VYUE9SVCB2b2lkIFdlYlRocmVhZFVubG9ja0d1YXJkRm9y
TWFpbCgpOwogc3RhdGljIGlubGluZSBib29sIFdlYlRocmVhZFNob3VsZFlpZWxkKHZvaWQpIHsg
cmV0dXJuIHdlYlRocmVhZFNob3VsZFlpZWxkOyB9CiBzdGF0aWMgaW5saW5lIHZvaWQgV2ViVGhy
ZWFkU2V0U2hvdWxkWWllbGQoKSB7IHdlYlRocmVhZFNob3VsZFlpZWxkID0gdHJ1ZTsgfQogCi1X
RUJDT1JFX0VYUE9SVCBDRlJ1bkxvb3BSZWYgV2ViVGhyZWFkUnVuTG9vcCh2b2lkKTsKLU5TUnVu
TG9vcCogV2ViVGhyZWFkTlNSdW5Mb29wKHZvaWQpOworQ0ZSdW5Mb29wUmVmIFdlYlRocmVhZFJ1
bkxvb3Aodm9pZCk7CitXRUJDT1JFX0VYUE9SVCBOU1J1bkxvb3AqIFdlYlRocmVhZE5TUnVuTG9v
cCh2b2lkKTsKIFdlYlRocmVhZENvbnRleHQgKldlYlRocmVhZEN1cnJlbnRDb250ZXh0KHZvaWQp
OwogYm9vbCBXZWJUaHJlYWRDb250ZXh0SXNDdXJyZW50KHZvaWQpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5o
CmluZGV4IDYxMjNmMTRhY2EyNDg0YmU0MmE2ZGYxMDBhZjNhYWMzMTliZDJkOWYuLjgzOTU4YWVk
Nzg1Yzg0MDFmZTUyMmQxYjQ0MGJjZjBiY2RiZThkMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCkBAIC0y
NiwxMSArMjYsMTEgQEAKICNpZm5kZWYgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbF9oCiAjZGVmaW5l
IFJlc291cmNlSGFuZGxlSW50ZXJuYWxfaAogCisjaW5jbHVkZSAiQXV0aGVudGljYXRpb25DaGFs
bGVuZ2UuaCIKICNpbmNsdWRlICJOZXR3b3JraW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIlJlc291
cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRl
ICJSZXNvdXJjZVJlcXVlc3QuaCIKLSNpbmNsdWRlICJBdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5o
IgogI2luY2x1ZGUgIlRpbWVyLmgiCiAKICNpZiBVU0UoQ0ZORVRXT1JLKQpAQCAtMzgsNiArMzgs
MTAgQEAKICNpbmNsdWRlIDxDRk5ldHdvcmsvQ0ZVUkxDb25uZWN0aW9uUHJpdi5oPgogI2VuZGlm
CiAKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVVTRShDRk5FVFdPUkspCisjaW5jbHVkZSAiV2Vi
Q29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZS5oIgorI2VuZGlmCisKICNpZiBVU0UoQ1VSTCkg
JiYgUExBVEZPUk0oV0lOKQogI2luY2x1ZGUgPHdpbnNvY2syLmg+CiAjaW5jbHVkZSA8d2luZG93
cy5oPgpAQCAtMTM4LDcgKzE0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbmRpZgogI2lm
IFBMQVRGT1JNKENPQ09BKSAmJiAhVVNFKENGTkVUV09SSykKICAgICAgICAgUmV0YWluUHRyPE5T
VVJMQ29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOwotICAgICAgICBSZXRhaW5QdHI8aWQ+IG1fZGVs
ZWdhdGU7CisgICAgICAgIFJldGFpblB0cjxpZCA8V2ViQ29yZVJlc291cmNlTG9hZGVyRGVsZWdh
dGU+ID4gbV9kZWxlZ2F0ZTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgICAgICBi
b29sIG1fc3RhcnRXaGVuU2NoZWR1bGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9pb3MvUXVpY2tMb29rLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2lvcy9RdWlja0xvb2suaAppbmRleCA0NDgyNGRhMDI1OGRjYzE3NGJkZTliZTc1NzZh
NWZjZjIxNmMwNTk2Li4xMmRiN2U0YmEwNTRmMTY4MmU0YmZiNzQ0Y2ZlNzQwOTJjZTdmYzk3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xvb2su
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xvb2suaApA
QCAtMzAsNiArMzAsNyBAQAogCiAjaW1wb3J0ICJRdWlja0xvb2tIYW5kbGVDbGllbnQuaCIKICNp
bXBvcnQgIlJlc291cmNlUmVxdWVzdC5oIgorI2ltcG9ydCAiV2ViQ29yZVJlc291cmNlSGFuZGxl
QXNEZWxlZ2F0ZS5oIgogI2ltcG9ydCA8b2JqYy9vYmpjLXJ1bnRpbWUuaD4KICNpbXBvcnQgPHd0
Zi9SZWZQdHIuaD4KIApAQCAtMTEyLDcgKzExMyw3IEBAIHByaXZhdGU6CiAKICAgICBSZXRhaW5Q
dHI8TlNVUkw+IG1fZmlyc3RSZXF1ZXN0VVJMOwogICAgIFJldGFpblB0cjxRTFByZXZpZXdDb252
ZXJ0ZXI+IG1fY29udmVydGVyOwotICAgIFJldGFpblB0cjxpZD4gbV9kZWxlZ2F0ZTsKKyAgICBS
ZXRhaW5QdHI8aWQgPFdlYkNvcmVSZXNvdXJjZUxvYWRlckRlbGVnYXRlPiA+IG1fZGVsZWdhdGU7
CiAgICAgYm9vbCBtX2ZpbmlzaGVkTG9hZGluZ0RhdGFJbnRvQ29udmVydGVyOwogICAgIFJldGFp
blB0cjxOU0ZpbGVIYW5kbGUgKj4gbV9xdWlja2xvb2tGaWxlSGFuZGxlOwogICAgIFJldGFpblB0
cjxOU1VSTFJlc3BvbnNlPiBtX25zUmVzcG9uc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xvb2subW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xvb2subW0KaW5kZXggOTZmNTBkZjA3NDAxODQ2NDBhOGYz
ZWE2MDQyNDU5MmY2YTVhOTZhMC4uOGIwNjEyMDNlNzg4YTI1MmE0OWJlNDI0NTVmNGRkMmVhZjhl
MWZjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9pb3MvUXVp
Y2tMb29rLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvaW9zL1F1aWNr
TG9vay5tbQpAQCAtMzIsNyArMzIsNiBAQAogI2ltcG9ydCAiRmlsZVN5c3RlbUlPUy5oIgogI2lt
cG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiTlNGaWxlTWFuYWdlclNQSS5oIgotI2ltcG9ydCAi
UXVpY2tMb29rU29mdExpbmsuaCIKICNpbXBvcnQgIlJlc291cmNlRXJyb3IuaCIKICNpbXBvcnQg
IlJlc291cmNlSGFuZGxlLmgiCiAjaW1wb3J0ICJSZXNvdXJjZUxvYWRlci5oIgpAQCAtNDYsNiAr
NDUsOCBAQAogI2ltcG9ydCA8d3RmL1ZlY3Rvci5oPgogI2ltcG9ydCA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CiAKKyNpbXBvcnQgIlF1aWNrTG9va1NvZnRMaW5rLmgiCisKIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogCiBOU1NldCAqV2ViQ29yZTo6UUxQcmV2aWV3R2V0U3VwcG9ydGVkTUlNRVR5
cGVzU2V0KCkKQEAgLTE5MywxMiArMTk0LDExIEBAIGNvbnN0IGNoYXIqIFdlYkNvcmU6OlFMUHJl
dmlld1Byb3RvY29sKCkKIC8vIFRoaXMgd29ya3MgZmluZSB3aGVuIHVzaW5nIE5TIEFQSXMsIGJ1
dCB3aGVuIHVzaW5nIENGTmV0d29yaywgd2UgZG9uJ3QgaGF2ZSBhIE5TVVJMQ29ubmVjdGlvbkRl
bGVnYXRlLgogLy8gU28gd2UgY3JlYXRlIFdlYlF1aWNrTG9va0hhbmRsZUFzRGVsZWdhdGUgYXMg
YW4gaW50ZXJtZWRpYXRlIGRlbGVnYXRlIG9iamVjdCBhbmQgcGFzcyBpdCB0bwogLy8gUUxQcmV2
aWV3Q29udmVydGVyLiBUaGUgcHJveHkgZGVsZWdhdGUgdGhlbiBmb3J3YXJkcyB0aGUgbWVzc2Fn
ZXMgb24gdG8gdGhlIENGTmV0d29yayBjb2RlLgotQGludGVyZmFjZSBXZWJRdWlja0xvb2tIYW5k
bGVBc0RlbGVnYXRlIDogTlNPYmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlPiB7CitAaW50
ZXJmYWNlIFdlYlF1aWNrTG9va0hhbmRsZUFzRGVsZWdhdGUgOiBOU09iamVjdCA8TlNVUkxDb25u
ZWN0aW9uRGVsZWdhdGUsIFdlYkNvcmVSZXNvdXJjZUxvYWRlckRlbGVnYXRlPiB7CiAgICAgUmVm
UHRyPFN5bmNocm9ub3VzUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZT4gbV9j
b25uZWN0aW9uRGVsZWdhdGU7CiB9CiAKIC0gKGlkKWluaXRXaXRoQ29ubmVjdGlvbkRlbGVnYXRl
OihTeW5jaHJvbm91c1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGUqKWNvbm5l
Y3Rpb25EZWxlZ2F0ZTsKLS0gKHZvaWQpY2xlYXJIYW5kbGU7CiBAZW5kCiAKIEBpbXBsZW1lbnRh
dGlvbiBXZWJRdWlja0xvb2tIYW5kbGVBc0RlbGVnYXRlCkBAIC0yNTIsMTQgKzI1MiwxNCBAQCAt
ICh2b2lkKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gZGlkRmFpbFdp
dGhFcnJvcjooTlNFcnJvciAqKWVycgogICAgIG1fY29ubmVjdGlvbkRlbGVnYXRlLT5kaWRGYWls
KHJlaW50ZXJwcmV0X2Nhc3Q8Q0ZFcnJvclJlZj4oZXJyb3IpKTsKIH0KIAotLSAodm9pZCljbGVh
ckhhbmRsZQorLSAodm9pZClkZXRhY2hIYW5kbGUKIHsKICAgICBtX2Nvbm5lY3Rpb25EZWxlZ2F0
ZSA9IG51bGxwdHI7CiB9CiBAZW5kCiAjZW5kaWYKIAotQGludGVyZmFjZSBXZWJSZXNvdXJjZUxv
YWRlclF1aWNrTG9va0RlbGVnYXRlIDogTlNPYmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRl
PiB7CitAaW50ZXJmYWNlIFdlYlJlc291cmNlTG9hZGVyUXVpY2tMb29rRGVsZWdhdGUgOiBOU09i
amVjdCA8TlNVUkxDb25uZWN0aW9uRGVsZWdhdGUsIFdlYkNvcmVSZXNvdXJjZUxvYWRlckRlbGVn
YXRlPiB7CiAgICAgUmVmUHRyPFJlc291cmNlTG9hZGVyPiBfcmVzb3VyY2VMb2FkZXI7CiAgICAg
Qk9PTCBfaGFzU2VudERpZFJlY2VpdmVSZXNwb25zZTsKICAgICBCT09MIF9oYXNGYWlsZWQ7CkBA
IC0zNTAsNyArMzUwLDcgQEAgLSAodm9pZCljb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKilj
b25uZWN0aW9uIGRpZEZhaWxXaXRoRXJyb3I6KE5TRXJyb3IgKillcnIKICAgICBfcmVzb3VyY2VM
b2FkZXItPmRpZEZhaWwoUmVzb3VyY2VFcnJvcihlcnJvcikpOwogfQogCi0tICh2b2lkKWNsZWFy
SGFuZGxlCistICh2b2lkKWRldGFjaEhhbmRsZQogewogICAgIF9yZXNvdXJjZUxvYWRlciA9IG51
bGxwdHI7CiAgICAgX3F1aWNrTG9va0hhbmRsZSA9IG51bGxwdHI7CkBAIC00OTEsNyArNDkxLDcg
QEAgUXVpY2tMb29rSGFuZGxlOjp+UXVpY2tMb29rSGFuZGxlKCkKICAgICBMT0coTmV0d29yaywg
IlF1aWNrTG9va0hhbmRsZTo6flF1aWNrTG9va0hhbmRsZSgpIik7CiAgICAgbV9jb252ZXJ0ZXIg
PSBudWxscHRyOwogCi0gICAgW21fZGVsZWdhdGUgY2xlYXJIYW5kbGVdOworICAgIFttX2RlbGVn
YXRlIGRldGFjaEhhbmRsZV07CiB9CiAKIFN0cmluZyBRdWlja0xvb2tIYW5kbGU6OnByZXZpZXdG
aWxlTmFtZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCmluZGV4IDdjOTdiMmFhZTBmZDI4ODFlY2Y4
YmM1YTNlNzk5ZDRkNWEwOWJlMWUuLmUyNWZjNzQxYWFiMTkzYTk5NDg1MWJjNmVkMjQ3NTRmNjI3
NGFlNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jl
c291cmNlSGFuZGxlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
bWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCkBAIC0zMTQsNyArMzE0LDcgQEAgdm9pZCBSZXNvdXJj
ZUhhbmRsZTo6cGxhdGZvcm1TZXREZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJzKQogICAgICAgICBb
ZC0+bV9jb25uZWN0aW9uIHNldERlZmVyc0NhbGxiYWNrczpkZWZlcnNdOwogfQogCi0jaWYgUExB
VEZPUk0oTUFDKQorI2lmICFVU0UoQ0ZORVRXT1JLKQogCiB2b2lkIFJlc291cmNlSGFuZGxlOjpz
Y2hlZHVsZShTY2hlZHVsZVBhaXImIHBhaXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5k
bGVBc0RlbGVnYXRlLmgKaW5kZXggNGY0MTU1ZWFmZDk0NWIxYjg2MmQyOWNlODk2ZGNhZGNkYTFj
NDI2Ni4uNGViMWQ0M2NlYjg2ZDJkZWNhZDVkYjZhZjA3MDc4M2ZiYmM2MWNlMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFu
ZGxlQXNEZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFj
L1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUuaApAQCAtMjYsMTggKzI2LDI0IEBACiAj
aWZuZGVmIFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGVfaAogI2RlZmluZSBXZWJDb3Jl
UmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlX2gKIAotI2lmICFVU0UoQ0ZORVRXT1JLKQotCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSZXNvdXJjZUhhbmRsZTsKIH0KIAotQGludGVyZmFjZSBX
ZWJDb3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlIDogTlNPYmplY3QgPE5TVVJMQ29ubmVjdGlv
bkRlbGVnYXRlPiB7CisjaWZkZWYgX19PQkpDX18KKworQHByb3RvY29sIFdlYkNvcmVSZXNvdXJj
ZUxvYWRlckRlbGVnYXRlCistICh2b2lkKWRldGFjaEhhbmRsZTsKK0BlbmQKKworI2lmICFVU0Uo
Q0ZORVRXT1JLKQorCitAaW50ZXJmYWNlIFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUg
OiBOU09iamVjdCA8TlNVUkxDb25uZWN0aW9uRGVsZWdhdGUsIFdlYkNvcmVSZXNvdXJjZUxvYWRl
ckRlbGVnYXRlPiB7CiAgICAgV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUqIG1faGFuZGxlOwogfQog
LSAoaWQpaW5pdFdpdGhIYW5kbGU6KFdlYkNvcmU6OlJlc291cmNlSGFuZGxlKiloYW5kbGU7Ci0t
ICh2b2lkKWRldGFjaEhhbmRsZTsKIEBlbmQKIAogI2VuZGlmIC8vICFVU0UoQ0ZORVRXT1JLKQor
I2VuZGlmIC8vIF9fT0JKQ19fCiAjZW5kaWYgLy8gV2ViQ29yZVJlc291cmNlSGFuZGxlQXNEZWxl
Z2F0ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9X
ZWJDb3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZS5tbQppbmRleCBl
MTdjYjlkMjBlZDdkYmQ1MTc5M2MzNjRlYjMyYzE1ODk1ZWJhNTNhLi5kYzNiZDhhYjVkY2E5NmU3
NTMzYmI4MDg3OGIzMzUyNzQxOGU0M2ZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRs
ZUFzRGVsZWdhdGUubW0KQEAgLTU0LDcgKzU0LDcgQEAgLSAoaWQpaW5pdFdpdGhIYW5kbGU6KFJl
c291cmNlSGFuZGxlKiloYW5kbGUKIAogLSAodm9pZClkZXRhY2hIYW5kbGUKIHsKLSAgICBtX2hh
bmRsZSA9IDA7CisgICAgbV9oYW5kbGUgPSBudWxscHRyOwogfQogCiAtIChOU1VSTFJlcXVlc3Qg
Kiljb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIHdpbGxTZW5kUmVxdWVz
dDooTlNVUkxSZXF1ZXN0ICopbmV3UmVxdWVzdCByZWRpcmVjdFJlc3BvbnNlOihOU1VSTFJlc3Bv
bnNlICopcmVkaXJlY3RSZXNwb25zZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVn
YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3Vy
Y2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUuaAppbmRleCBlNzQwYWE1OWJlZDYzYmFi
OTA3NmYwNzkzYWIzZDAzZGUwMDJiMDUxLi5iYWJkYWQyYzQ0NTI0YjgyZWQ5NzA2MGQ5ZGE4NzM2
ODY2OGRlZDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21h
Yy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVB
c09wZXJhdGlvblF1ZXVlRGVsZWdhdGUuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgIVVTRShD
Rk5FVFdPUkspCiAKKyNpbmNsdWRlICJXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlLmgi
CiAjaW5jbHVkZSA8ZGlzcGF0Y2gvZGlzcGF0Y2guaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CiAKQEAgLTM1LDcgKzM2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUmVzb3Vy
Y2VIYW5kbGU7CiB9CiAKLUBpbnRlcmZhY2UgV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRp
b25RdWV1ZURlbGVnYXRlIDogTlNPYmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlPiB7CitA
aW50ZXJmYWNlIFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSA6
IE5TT2JqZWN0IDxOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZSwgV2ViQ29yZVJlc291cmNlTG9hZGVy
RGVsZWdhdGU+IHsKICAgICBXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSogbV9oYW5kbGU7CiAKICAg
ICAvLyBTeW5jaHJvbm91cyBkZWxlZ2F0ZXMgb24gb3BlcmF0aW9uIHF1ZXVlIHdhaXQgdW50aWwg
bWFpbiB0aHJlYWQgc2VuZHMgYW4gYXN5bmNocm9ub3VzIHJlc3BvbnNlLgpAQCAtNDYsNyArNDcs
NiBAQCBjbGFzcyBSZXNvdXJjZUhhbmRsZTsKIH0KIAogLSAoaWQpaW5pdFdpdGhIYW5kbGU6KFdl
YkNvcmU6OlJlc291cmNlSGFuZGxlKiloYW5kbGU7Ci0tICh2b2lkKWRldGFjaEhhbmRsZTsKIC0g
KHZvaWQpY29udGludWVXaWxsU2VuZFJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKW5ld1JlcXVlc3Q7
CiAtICh2b2lkKWNvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlOwogI2lmIFVTRShQUk9URUNUSU9O
X1NQQUNFX0FVVEhfQ0FMTEJBQ0spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9zcGkvY29jb2EvTlNVUkxEb3dubG9hZFNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
c3BpL2NvY29hL05TVVJMRG93bmxvYWRTUEkuaAppbmRleCAzZjNhM2JjYjhlYzY0OGQ0YWU1YTcw
MTc1YTc1NjUxN2Y4NWRkMGQ1Li4zMGMyOGU3MzI5OGIyNzNiODQxZWE4MTQ5YWQyMmMxNjMzYTdh
YzU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvTlNVUkxE
b3dubG9hZFNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9OU1VS
TERvd25sb2FkU1BJLmgKQEAgLTI5LDYgKzI5LDE0IEBACiAKICNpbXBvcnQgPEZvdW5kYXRpb24v
TlNVUkxEb3dubG9hZC5oPgogCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQg
PEZvdW5kYXRpb24vTlNVUkxEb3dubG9hZFByaXZhdGUuaD4KKyNlbHNlCitAaW50ZXJmYWNlIE5T
VVJMRG93bmxvYWQgKCkKKysoaWQpX2Rvd25sb2FkV2l0aExvYWRpbmdDb25uZWN0aW9uOihOU1VS
TENvbm5lY3Rpb24gKiljb25uZWN0aW9uIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Qg
cmVzcG9uc2U6KE5TVVJMUmVzcG9uc2UgKilyZXNwb25zZSBkZWxlZ2F0ZTooaWQpZGVsZWdhdGUg
cHJveHk6KGlkKXByb3h5OworQGVuZAorI2VuZGlmCisKICNlbHNlCiAKIEBjbGFzcyBOU1N0cmlu
ZzsKQEAgLTU2LDggKzY0LDIyIEBACiAtICh2b2lkKWRvd25sb2FkOihOU1VSTERvd25sb2FkICop
ZG93bmxvYWQgZGlkRmFpbFdpdGhFcnJvcjooTlNFcnJvciAqKWVycm9yOwogQGVuZAogCisjaWZu
ZGVmIFdlYkRvd25sb2FkX2gKKy8qIEFsc28gZGVmaW5lZCBpbiA8V2ViS2l0L1dlYkRvd25sb2Fk
Lmg+LiAqLworQGludGVyZmFjZSBOU1VSTERvd25sb2FkIDogTlNPYmplY3QKK0BlbmQKKyNlbmRp
ZgorCiBAaW50ZXJmYWNlIE5TVVJMRG93bmxvYWQgKCkKIC0gKGluc3RhbmNldHlwZSlpbml0V2l0
aFJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgZGVsZWdhdGU6KGlkIDxOU1VSTERvd25s
b2FkRGVsZWdhdGU+KWRlbGVnYXRlOworLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoUmVzdW1lRGF0
YTooTlNEYXRhICopcmVzdW1lRGF0YSBkZWxlZ2F0ZTooaWQgPE5TVVJMRG93bmxvYWREZWxlZ2F0
ZT4pZGVsZWdhdGUgcGF0aDooTlNTdHJpbmcgKilwYXRoOworLSAodm9pZCljYW5jZWw7CistICh2
b2lkKXNldERlc3RpbmF0aW9uOihOU1N0cmluZyAqKXBhdGggYWxsb3dPdmVyd3JpdGU6KEJPT0wp
YWxsb3dPdmVyd3JpdGU7CitAcHJvcGVydHkgKHJlYWRvbmx5LCBjb3B5KSBOU1VSTFJlcXVlc3Qg
KnJlcXVlc3Q7CitAcHJvcGVydHkgKHJlYWRvbmx5LCBjb3B5KSBOU0RhdGEgKnJlc3VtZURhdGE7
CitAcHJvcGVydHkgQk9PTCBkZWxldGVzRmlsZVVwb25GYWlsdXJlOworCisrKGlkKV9kb3dubG9h
ZFdpdGhMb2FkaW5nQ29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiByZXF1
ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IHJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICopcmVz
cG9uc2UgZGVsZWdhdGU6KGlkKWRlbGVnYXRlIHByb3h5OihpZClwcm94eTsKIEBlbmQKIAogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYkRvd25sb2FkLmggYi9T
b3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYkRvd25sb2FkLmgKaW5kZXggZTI0MmU2ZGI5Yzk3Zjg4
ZGJhOGIxZTBhZmVhYTg3NGFjNTFmYjU0OS4uY2FhNTU3MGE1NjBlMzNmMWZiOWY4OWFiYjg4NWMy
ZDEzNTM4Mjg0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJEb3dubG9h
ZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViRG93bmxvYWQuaApAQCAtMjYsNiAr
MjYsOSBAQAogICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCisjaWZuZGVmIFdlYkRvd25sb2FkX2gKKyNkZWZp
bmUgV2ViRG93bmxvYWRfaAorCiAjaWYgIVRBUkdFVF9PU19JUEhPTkUgfHwgKGRlZmluZWQgVVNF
X0FQUExFX0lOVEVSTkFMX1NESyAmJiBVU0VfQVBQTEVfSU5URVJOQUxfU0RLKQogI2ltcG9ydCA8
Rm91bmRhdGlvbi9OU1VSTERvd25sb2FkLmg+CiAjZWxzZQpAQCAtNzgsMyArODEsNSBAQAogLSAo
TlNXaW5kb3cgKilkb3dubG9hZFdpbmRvd0ZvckF1dGhlbnRpY2F0aW9uU2hlZXQ6KFdlYkRvd25s
b2FkICopZG93bmxvYWQ7CiAKIEBlbmQKKworI2VuZGlmIC8qIFdlYkRvd25sb2FkX2ggKi8KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0VmVyc2lvbkNoZWNrcy5oIGIv
U291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXRWZXJzaW9uQ2hlY2tzLmgKaW5kZXggYzgxMTIw
MTI1ZDRkZmI2OTMxYWZlZDQxZWQxMDAxOWJmMDdiZmRmNC4uYjUzMzM1NGMzNzEyYmYwNjc5ZjM5
ODYzYmFlYjVlMTJlM2RiMzc0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvTWlzYy9X
ZWJLaXRWZXJzaW9uQ2hlY2tzLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXRW
ZXJzaW9uQ2hlY2tzLmgKQEAgLTcyLDYgKzcyLDcgQEAKICNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZF
UlNJT05fV0lUSF9DU1NfQVRUUklCVVRFX1NFVFRFUlNfSUdOT1JJTkdfUFJJT1JJVFkgMjIzOSAv
LyBpT1MgNi4wCiAjZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfWU9VVFVCRV9FTUJF
RF9JRlJBTUVfVFJBTlNGT1JNIDIyMzkgLy8gaU9TIDYuMAogI2RlZmluZSBXRUJLSVRfRklSU1Rf
VkVSU0lPTl9XSVRIT1VUX0xFR0FDWV9CQUNLR1JPVU5EU0laRV9TSE9SVEhBTkRfQkVIQVZJT1Ig
MjY2NSAvLyBpT1MgNy4wCisjZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfTE9BRElO
R19EVVJJTkdfQ09NTU9OX1JVTkxPT1BfTU9ERVMgMjY2NSAvLyBpT1MgNy4wCiAjZGVmaW5lIFdF
QktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfSU5TRUNVUkVfQ09OVEVOVF9CTE9DS0lORyAzNDU0CiAj
ZW5kaWYgLy8gUExBVEZPUk0oSU9TKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0K
aW5kZXggMGU5Y2QzMWEzNjIyMzM2YWY0YmZiMGU3YzczMjIwNThkYjYyZTg4Yy4uOWE5MmE4ODRj
OTc2ZWQ0MTk3MDAxMWMzMzFkNzkxOTRjOTVjMzEyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQpAQCAtMTAyNiwxNCArMTAyNiwxNiBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFs
aXphdGlvbldpdGhGcmFtZU5hbWU6KE5TU3RyaW5nICopZnJhbWVOYW1lIGdyb3VwTmFtZTooTlNT
dAogCiAgICAgW1dlYkZyYW1lIF9jcmVhdGVNYWluRnJhbWVXaXRoUGFnZTpfcHJpdmF0ZS0+cGFn
ZSBmcmFtZU5hbWU6ZnJhbWVOYW1lIGZyYW1lVmlldzpmcmFtZVZpZXddOwogCi0jaWYgIVBMQVRG
T1JNKElPUykKKyNpZiBQTEFURk9STShJT1MpCisgICAgTlNSdW5Mb29wICpydW5Mb29wID0gV2Vi
VGhyZWFkTlNSdW5Mb29wKCk7CisjZWxzZQogICAgIE5TUnVuTG9vcCAqcnVuTG9vcCA9IFtOU1J1
bkxvb3AgbWFpblJ1bkxvb3BdOworI2VuZGlmCiAKICAgICBpZiAoV2ViS2l0TGlua2VkT25PckFm
dGVyKFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfTE9BRElOR19EVVJJTkdfQ09NTU9OX1JVTkxP
T1BfTU9ERVMpKQogICAgICAgICBbc2VsZiBzY2hlZHVsZUluUnVuTG9vcDpydW5Mb29wIGZvck1v
ZGU6KE5TU3RyaW5nICopa0NGUnVuTG9vcENvbW1vbk1vZGVzXTsKICAgICBlbHNlCiAgICAgICAg
IFtzZWxmIHNjaGVkdWxlSW5SdW5Mb29wOnJ1bkxvb3AgZm9yTW9kZTpOU0RlZmF1bHRSdW5Mb29w
TW9kZV07Ci0jZW5kaWYKIAogICAgIFtzZWxmIF9hZGRUb0FsbFdlYlZpZXdzU2V0XTsKICAgICAK
QEAgLTY2MTgsNyArNjYyMCw2IEBAIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdlYlZpZXcgKFdl
YlBlbmRpbmdQdWJsaWMpCiAKLSNpZiAhUExBVEZPUk0oSU9TKQogLSAodm9pZClzY2hlZHVsZUlu
UnVuTG9vcDooTlNSdW5Mb29wICopcnVuTG9vcCBmb3JNb2RlOihOU1N0cmluZyAqKW1vZGUKIHsK
ICNpZiBVU0UoQ0ZORVRXT1JLKQpAQCAtNjY0MCw3ICs2NjQxLDYgQEAgLSAodm9pZCl1bnNjaGVk
dWxlRnJvbVJ1bkxvb3A6KE5TUnVuTG9vcCAqKXJ1bkxvb3AgZm9yTW9kZTooTlNTdHJpbmcgKilt
b2RlCiAgICAgaWYgKHJ1bkxvb3AgJiYgbW9kZSkKICAgICAgICAgY29yZShzZWxmKS0+cmVtb3Zl
U2NoZWR1bGVQYWlyKFNjaGVkdWxlUGFpcjo6Y3JlYXRlKHNjaGVkdWxlUGFpclJ1bkxvb3AsIChD
RlN0cmluZ1JlZiltb2RlKSk7CiB9Ci0jZW5kaWYKIAogc3RhdGljIEJPT0wgZmluZFN0cmluZyhO
U1ZpZXcgPFdlYkRvY3VtZW50U2VhcmNoaW5nPiAqc2VhcmNoVmlldywgTlNTdHJpbmcgKnN0cmlu
ZywgV2ViRmluZE9wdGlvbnMgb3B0aW9ucykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViVmlld1ByaXZhdGUuaAppbmRleCA3OTZjMGY0MmE3Njk5ZjE4NmYwZTRjMDM3ZDExNDY3YzQ2
YjEwMjk0Li5mNDMwNDk5NjQ1ZDdmOTUwMDdjMWNiYTBlOWNmYWMwMTk4Y2YzYzA5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oCkBAIC0xOTgsMTAgKzE5OCw4
IEBAIHR5cGVkZWYgZW51bSB7CiAKIEBpbnRlcmZhY2UgV2ViVmlldyAoV2ViUGVuZGluZ1B1Ymxp
YykKIAotI2lmICFUQVJHRVRfT1NfSVBIT05FCiAtICh2b2lkKXNjaGVkdWxlSW5SdW5Mb29wOihO
U1J1bkxvb3AgKilydW5Mb29wIGZvck1vZGU6KE5TU3RyaW5nICopbW9kZTsKIC0gKHZvaWQpdW5z
Y2hlZHVsZUZyb21SdW5Mb29wOihOU1J1bkxvb3AgKilydW5Mb29wIGZvck1vZGU6KE5TU3RyaW5n
ICopbW9kZTsKLSNlbmRpZgogCiAtIChCT09MKWZpbmRTdHJpbmc6KE5TU3RyaW5nICopc3RyaW5n
IG9wdGlvbnM6KFdlYkZpbmRPcHRpb25zKW9wdGlvbnM7CiAtIChET01SYW5nZSAqKURPTVJhbmdl
T2ZTdHJpbmc6KE5TU3RyaW5nICopc3RyaW5nIHJlbGF0aXZlVG86KERPTVJhbmdlICopcHJldmlv
dXNSYW5nZSBvcHRpb25zOihXZWJGaW5kT3B0aW9ucylvcHRpb25zOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL2lvcy9Eb3dubG9hZElPUy5tbSBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9pb3MvRG93bmxvYWRJT1Mu
bW0KaW5kZXggZDBlODBlNjIwMzg0YzE3ODAxNzAxMzg2MWY3NTIwOGU3NWI1Y2MwOS4uMTAzYTg5
NjE1ZWFhZWFlZGIyZjBmZDIzYTUzYzU3ZTE5NjUxZmJjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL2lvcy9Eb3dubG9hZElPUy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1t
CkBAIC0yNiw5ICsyNiwxMCBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJEb3dubG9h
ZC5oIgogCi0jaWYgUExBVEZPUk0oSU9TKSAmJiAhVVNFKE5FVFdPUktfU0VTU0lPTikKKyNpZiBV
U0UoQ0ZORVRXT1JLKSAmJiAhVVNFKE5FVFdPUktfU0VTU0lPTikKIAogI2ltcG9ydCAiRGF0YVJl
ZmVyZW5jZS5oIgorI2ltcG9ydCA8Q0ZOZXR3b3JrL0NGVVJMRG93bmxvYWQuaD4KICNpbXBvcnQg
PFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VFcnJv
ci5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZUhhbmRsZS5oPgpAQCAtMzYsMTUgKzM3LDEw
IEBACiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1wb3J0IDx3dGYvUnVuTG9vcC5oPgog
Ci0jaWYgVVNFKENGTkVUV09SSykKLSNpbXBvcnQgPENGTmV0d29yay9DRlVSTERvd25sb2FkLmg+
Ci0jZW5kaWYKLQogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCi0jaWYgVVNFKENGTkVUV09SSykKIC8vIEZJWE1FOiBJZiBwb3NzaWJsZSwgd2Ugc2hvdWxk
IGNvbnNpZGVyIG1vdmluZyBzb21lIGNhbGxiYWNrcyBvZmYgdGhlIG1haW4gdGhyZWFkIG9yIGF0
IGxlYXN0CiAvLyBtYWtpbmcgdGhlbSBhc3luY2hvbm91cyBjYWxscy4KIHN0YXRpYyB2b2lkIGRp
c3BhdGNoT25NYWluVGhyZWFkKHZvaWQoXmJsb2NrKSgpKQpAQCAtMTI1LDcgKzEyMSw2IEBAIHN0
YXRpYyB2b2lkIHNldFVwRG93bmxvYWRDbGllbnQoQ0ZVUkxEb3dubG9hZENsaWVudCYgY2xpZW50
LCBEb3dubG9hZCYgZG93bmxvYWQpCiAgICAgICAgIH0pOwogICAgIH07CiB9Ci0jZW5kaWYgLy8g
VVNFKENGTkVUV09SSykKIAogdm9pZCBEb3dubG9hZDo6c3RhcnQoKQogewpAQCAtMTM5LDE2ICsx
MzQsMTIgQEAgdm9pZCBEb3dubG9hZDo6cmVzdW1lKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYs
IGNvbnN0IFN0cmluZyYsIGNvbnN0IFNhbmRib3hFeHQKIAogdm9pZCBEb3dubG9hZDo6c3RhcnRX
aXRoSGFuZGxlKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
IHJlc3BvbnNlKQogewotI2lmIFVTRShDRk5FVFdPUkspCiAgICAgQ0ZVUkxEb3dubG9hZENsaWVu
dCBjbGllbnQ7CiAgICAgc2V0VXBEb3dubG9hZENsaWVudChjbGllbnQsICp0aGlzKTsKICNwcmFn
bWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3Jl
ZCAiLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIKICAgICBtX2Rvd25sb2FkID0gYWRvcHRDRihD
RlVSTERvd25sb2FkQ3JlYXRlQW5kU3RhcnRXaXRoTG9hZGluZ0Nvbm5lY3Rpb24oTlVMTCwgaGFu
ZGxlLT5yZWxlYXNlQ29ubmVjdGlvbkZvckRvd25sb2FkKCkuZ2V0KCksIG1fcmVxdWVzdC5jZlVS
TFJlcXVlc3QoVXBkYXRlSFRUUEJvZHkpLCByZXNwb25zZS5jZlVSTFJlc3BvbnNlKCksICZjbGll
bnQpKTsKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKLSNlbHNlCi0gICAgbm90SW1wbGVt
ZW50ZWQoKTsKLSNlbmRpZgogfQogCiB2b2lkIERvd25sb2FkOjpjYW5jZWwoKQpAQCAtMTkzLDQg
KzE4NCw0IEBAIHZvaWQgRG93bmxvYWQ6OnJlY2VpdmVkQ2hhbGxlbmdlUmVqZWN0aW9uKGNvbnN0
IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAogCi0jZW5kaWYgLy8gUExBVEZPUk0oSU9TKQorI2VuZGlmIC8vIFVTRShDRk5FVFdPUkspICYm
ICFVU0UoTkVUV09SS19TRVNTSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvRG93bmxvYWRzL21hYy9Eb3dubG9hZE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9tYWMvRG93bmxvYWRNYWMubW0KaW5kZXggOWM3ZDk1MzM4
NWVmNjNhNjZkZjc1NjI3MThlYzhhNzZkN2RmYjk2NS4uMzRjYmE5NGVmMTk4NjQ0MGNkOGM3MzE0
MmM2MzUzMWFmNGMyYmNjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvRG93bmxvYWRzL21hYy9Eb3dubG9hZE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9Eb3dubG9hZHMvbWFjL0Rvd25sb2FkTWFjLm1tCkBAIC0yNiwxMCArMjYsMTEg
QEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiRG93bmxvYWQuaCIKIAotI2lmIFBMQVRG
T1JNKE1BQykgJiYgIVVTRShORVRXT1JLX1NFU1NJT04pCisjaWYgIVVTRShDRk5FVFdPUkspICYm
ICFVU0UoTkVUV09SS19TRVNTSU9OKQogCiAjaW1wb3J0IDxXZWJDb3JlL0F1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0F1dGhlbnRpY2F0aW9uTWFjLmg+CisjaW1w
b3J0IDxXZWJDb3JlL05TVVJMRG93bmxvYWRTUEkuaD4KICNpbXBvcnQgPFdlYkNvcmUvTm90SW1w
bGVtZW50ZWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VIYW5kbGUuaD4KICNpbXBvcnQg
PFdlYkNvcmUvUmVzb3VyY2VIYW5kbGVDbGllbnQuaD4KQEAgLTM3LDE0ICszOCw2IEBACiAjaW1w
b3J0ICJEYXRhUmVmZXJlbmNlLmgiCiAjaW1wb3J0ICJXZWJQYWdlLmgiCiAKLUBpbnRlcmZhY2Ug
TlNVUkxEb3dubG9hZCAoV2ViTlNVUkxEb3dubG9hZERldGFpbHMpCi0rKGlkKV9kb3dubG9hZFdp
dGhMb2FkaW5nQ29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbgotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICopcgotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZGVsZWdhdGU6KGlkKWRlbGVnYXRlCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwcm94eTooaWQpcHJveHk7Ci1AZW5kCi0KIEBpbnRlcmZhY2Ug
V0tEb3dubG9hZEFzRGVsZWdhdGUgOiBOU09iamVjdCA8TlNVUkxEb3dubG9hZERlbGVnYXRlPiB7
CiAgICAgV2ViS2l0OjpEb3dubG9hZCogX2Rvd25sb2FkOwogfQpAQCAtMzA4LDQgKzMwMSw0IEBA
IC0gKHZvaWQpZG93bmxvYWQ6KE5TVVJMRG93bmxvYWQgKilkb3dubG9hZCBkaWRGYWlsV2l0aEVy
cm9yOihOU0Vycm9yICopZXJyb3IKIAogQGVuZAogCi0jZW5kaWYgLy8gUExBVEZPUk0oTUFDKSAm
JiAhVVNFKE5FVFdPUktfU0VTU0lPTikKKyNlbmRpZiAvLyAhVVNFKENGTkVUV09SSykgJiYgIVVT
RShORVRXT1JLX1NFU1NJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5jcHAKaW5kZXggNjk2ODAxNTlmY2QwMTU2YmFjZDBjZjQ5MWUzMTM4NmUz
YWVhMmRjZS4uYTE0NjRiOTlkOTJmMjlmMmZhYjY5NDIzYzlkMDg1NzY4MDZiM2UwMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAt
MTk4LDcgKzE5OCw3IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmluaXRpYWxpemVOZXR3b3JrUHJv
Y2Vzcyhjb25zdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1lCiAKICAgICBzZXRDYW5IYW5k
bGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbihwYXJhbWV0ZXJzLmNhbkhhbmRsZUhUVFBTU2Vy
dmVyVHJ1c3RFdmFsdWF0aW9uKTsKIAotI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKENGTkVUV09S
SykKKyNpZiBQTEFURk9STShDT0NPQSkgfHwgVVNFKENGTkVUV09SSykKICAgICBTZXNzaW9uVHJh
Y2tlcjo6c2V0SWRlbnRpZmllckJhc2UocGFyYW1ldGVycy51aVByb2Nlc3NCdW5kbGVJZGVudGlm
aWVyKTsKICNlbmRpZgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268021</attachid>
            <date>2015-12-30 17:47:51 -0800</date>
            <delta_ts>2015-12-30 20:36:36 -0800</delta_ts>
            <desc>Patch v4</desc>
            <filename>bug-142540-20151230174716.patch</filename>
            <type>text/plain</type>
            <size>29068</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0NDIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDIwMGQzNTRhMzc2Zjc3NjRjNzJlOTll
MTY0MWUzY2I3MGNhNzg1MjAuLjIwNWFjMjVjNjlhMDg5MDEwNTNlYjA3ZTU4MDJmMjZkMDI0YWM4
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMTItMzAgIERhdmlkIEtpbHplciAgPGRka2ls
emVyQGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIHVzaW5nIFVTRShDRk5FVFdPUkspIHBhdGgg
b24gaU9TCisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8xNDI1NDA+CisKKyAgICAgICAg
T3JpZ2luYWwgcGF0Y2ggYnkgQW50dGkgS29pdmlzdG8gPGFudHRpQGFwcGxlLmNvbT4gb24gMjAx
NS0wMy0xMAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHd0Zi9QbGF0Zm9ybS5oOiBUdXJuIG9mZiBVU0UoQ0ZORVRXT1JLKSBmb3IgUExBVEZPUk0oSU9T
KS4KKyAgICAgICAgKiB3dGYvU2NoZWR1bGVQYWlyLmg6IFVwZGF0ZSBtYWNyb3MgdG8gbWF0Y2gg
V2ViQ29yZS4KKwogMjAxNS0xMi0yMiAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgog
CiAgICAgICAgIEZUTCBCMyBzaG91bGQgYmUgYWJsZSB0byBydW4gcmljaGFyZHMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCA1OGM1Zjg2ZDA2YTRiM2JmMjE3ZjlkNjdiNTYyNWRlNDE2ZjllZTFjLi40NTI3MmM5NDQ2
OTUxZDM3NTlhOGI3NjE0NDI5NmQ1ZmZhYzUwNzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjkg
QEAKKzIwMTUtMTItMzAgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBTdG9wIHVzaW5nIFVTRShDRk5FVFdPUkspIHBhdGggb24gaU9TCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI1NDAKKworICAgICAgICBPcmln
aW5hbCBwYXRjaCBieSBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPiBvbiAyMDE1LTAz
LTEwCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuaWZ5
IE9TIFggYW5kIGlPUyBjb2RlIHBhdGhzLgorCisgICAgICAgIFRoaXMgcGF0Y2gganVzdCBzd2l0
Y2hlcyB0aGUgcGF0aHMuIEl0IGRvZXNuJ3QgeWV0IGRlbGV0ZSBhbnkKKyAgICAgICAgdW5uZWNl
c3NhcnkgY29kZS4KKworICAgICAgICBDaGFuZ2VzIGNvdmVyZWQgYnkgbW9zdCBleGlzdGluZyB0
ZXN0cy4KKworICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5oOgorICAgICAgICAqIGxv
YWRlci9SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVy
Lmg6CisgICAgICAgICogbG9hZGVyL21hYy9Eb2N1bWVudExvYWRlck1hYy5jcHA6CisgICAgICAg
IC0gVXBkYXRlIGZvciBpT1MgdG8gdXNlIE5TVVJMQ29ubmVjdGlvbiBsb2FkZXIuCisKKyAgICAg
ICAgKiBwYWdlL21hYy9QYWdlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6cGxhdGZv
cm1Jbml0aWFsaXplKTogQWx3YXlzIHVzZSB0aGUgY29ycmVjdAorICAgICAgICBydW5sb29wIG9u
IGlPUyByZWdhcmRsZXNzIG9mIHdoaWNoIHRocmVhZCB0aGlzIHdhcyBjYWxsZWQgb24uCisgICAg
ICAgIChXZWJDb3JlOjpQYWdlOjphZGRTY2hlZHVsZVBhaXIpOiBVcGRhdGUgZm9yIGlPUyB0byB1
c2UKKyAgICAgICAgTlNVUkxDb25uZWN0aW9uIGxvYWRlci4KKyAgICAgICAgKFdlYkNvcmU6OlBh
Z2U6OnJlbW92ZVNjaGVkdWxlUGFpcik6IERpdHRvLgorCisgICAgICAgICogcGxhdGZvcm0vaW9z
L3dhay9XZWJDb3JlVGhyZWFkLmg6CisgICAgICAgIChXZWJUaHJlYWRSdW5Mb29wKTogTm8gbG9u
Z2VyIG5lZWRzIHRvIGJlIGV4cG9ydGVkLgorICAgICAgICAoV2ViVGhyZWFkTlNSdW5Mb29wKTog
RXhwb3J0IGZvciBXZWJLaXRMZWdhY3kuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2lv
cy9RdWlja0xvb2subW06IEZpeCBoZWFkZXIgb3JkZXIuCisgICAgICAgIChXZWJRdWlja0xvb2tI
YW5kbGVBc0RlbGVnYXRlKTogTWFrZSBkZWxlZ2F0ZSBvYmplY3RzIGltcGxlbWVudAorICAgICAg
ICBXZWJDb3JlUmVzb3VyY2VMb2FkZXJEZWxlZ2F0ZSBwcm90b2NvbC4gIFRoaXMgdW5pZmllcyB0
aGUKKyAgICAgICAgLWNsZWFySGFuZGxlIGFuZCAtZGV0YWNoSGFuZGxlIG1ldGhvZHMgdGhhdCB3
ZXJlIHVzZWQgb24gaU9TIGFuZAorICAgICAgICBPUyBYLCByZXNwZWN0aXZlbHkuCisgICAgICAg
ICgtW1dlYlF1aWNrTG9va0hhbmRsZUFzRGVsZWdhdGUgY2xlYXJIYW5kbGVdKTogRGVsZXRlZC4K
KyAgICAgICAgKC1bV2ViUXVpY2tMb29rSGFuZGxlQXNEZWxlZ2F0ZSBkZXRhY2hIYW5kbGVdKTog
UmVuYW1lZCBmcm9tCisgICAgICAgIC1jbGVhckhhbmRsZS4KKyAgICAgICAgKFdlYlJlc291cmNl
TG9hZGVyUXVpY2tMb29rRGVsZWdhdGUpOiBNYWtlIGRlbGVnYXRlIG9iamVjdHMKKyAgICAgICAg
aW1wbGVtZW50IFdlYkNvcmVSZXNvdXJjZUxvYWRlckRlbGVnYXRlIHByb3RvY29sLgorICAgICAg
ICAoLVtXZWJSZXNvdXJjZUxvYWRlclF1aWNrTG9va0RlbGVnYXRlIGNsZWFySGFuZGxlXSk6IERl
bGV0ZWQuCisgICAgICAgICgtW1dlYlJlc291cmNlTG9hZGVyUXVpY2tMb29rRGVsZWdhdGUgZGV0
YWNoSGFuZGxlXSk6IFJlbmFtZWQgZnJvbQorICAgICAgICAtY2xlYXJIYW5kbGUuCisgICAgICAg
IChXZWJDb3JlOjpRdWlja0xvb2tIYW5kbGU6On5RdWlja0xvb2tIYW5kbGUpOiBDYWxsCisgICAg
ICAgIC1kZXRhY2hIYW5kbGUgaW5zdGVhZCBvZiAtY2xlYXJIYW5kbGUuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbToKKyAgICAgICAgLSBVcGRh
dGUgZm9yIGlPUyB0byB1c2UgTlNVUkxDb25uZWN0aW9uIGxvYWRlci4KKworICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUuaDoKKyAg
ICAgICAgKFdlYkNvcmVSZXNvdXJjZUxvYWRlckRlbGVnYXRlKTogRGVmaW5lIG5ldyBwcm90b2Nv
bC4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRs
ZUFzRGVsZWdhdGUubW06CisgICAgICAgICgtW1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdh
dGUgZGV0YWNoSGFuZGxlXSk6IEdyYXR1aXRvdXMKKyAgICAgICAgbnVsbHB0ciBmaXguCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJh
dGlvblF1ZXVlRGVsZWdhdGUuaDoKKyAgICAgICAgKFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3Bl
cmF0aW9uUXVldWVEZWxlZ2F0ZSk6IEltcGxlbWVudAorICAgICAgICBXZWJDb3JlUmVzb3VyY2VM
b2FkZXJEZWxlZ2F0ZSBwcm90b2NvbC4KKworICAgICAgICAqIHBsYXRmb3JtL3NwaS9jb2NvYS9O
U1VSTERvd25sb2FkU1BJLmg6IERlY2xhcmUgbW9yZQorICAgICAgICBOU1VSRG93bmxvYWQgU1BJ
IHRvIGNsZWFuIHVwIG90aGVyIHNvdXJjZSBmaWxlcyBhbmQgbWFrZQorICAgICAgICBzb3VyY2Ug
Y29tcGlsZSBvbiBpT1Mgd2l0aCBOU1VSTENvbm5lY3Rpb24gY29kZSBwYXRoLgorCiAyMDE1LTEy
LTI1ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgU3VicGl4ZWwg
cmVuZGVyaW5nOiBBZGQgc3VicGl4ZWwgc3VwcG9ydCBmb3Igb3V0bGluZS4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwppbmRleCA5OTcxNDViNmFkZTUyOTU4YmViZWYyNWQzY2I4NDc1NTkyMWRjOWZlLi43N2I2MTMy
NmYzOTE4OWFiYTNiZGY0YmVjZmZlNzA1MTNlNmEwNTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjQgQEAKKzIwMTUtMTItMzAgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNv
bT4KKworICAgICAgICBTdG9wIHVzaW5nIFVTRShDRk5FVFdPUkspIHBhdGggb24gaU9TCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI1NDAKKworICAg
ICAgICBPcmlnaW5hbCBwYXRjaCBieSBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPiBv
biAyMDE1LTAzLTEwCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogTWlzYy9XZWJEb3dubG9hZC5oOiBBZGQgaGVhZGVyIGd1YXJkIHRvIG1ha2UKKyAgICAg
ICAgTlNVUkxEb3dubG9hZFNQSS5oIHdvcmsgd2hlbiBwcmUtZGVjbGFyaW5nIE5TVVJMRG93bmxv
YWQgb2JqZWN0LgorICAgICAgICAqIE1pc2MvV2ViS2l0VmVyc2lvbkNoZWNrcy5oOiBEZWZpbmUK
KyAgICAgICAgV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9MT0FESU5HX0RVUklOR19DT01NT05f
UlVOTE9PUF9NT0RFUworICAgICAgICBmb3IgaU9TLgorICAgICAgICAqIFdlYlZpZXcvV2ViVmll
dy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVO
YW1lOmdyb3VwTmFtZTpdKTogVXNlCisgICAgICAgIHRoZSBjb3JyZWN0IHJ1bmxvb3Agb24gaU9T
LgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlld1ByaXZhdGUuaDoKKyAgICAgICAgKC1bV2ViVmll
dyhXZWJQZW5kaW5nUHVibGljKSBzY2hlZHVsZUluUnVuTG9vcDpmb3JNb2RlOl0pOgorICAgICAg
ICAoLVtXZWJWaWV3KFdlYlBlbmRpbmdQdWJsaWMpIHVuc2NoZWR1bGVGcm9tUnVuTG9vcDpmb3JN
b2RlOl0pOgorICAgICAgICAtIFRoZXNlIGFyZSBhdmFpbGFibGUgb24gaU9TIG5vdy4KKwogMjAx
NS0xMi0yMiAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAgICAgW0NGXSBS
ZXBsYWNlIENGTmV0d29yay1yZWxhdGVkIFdlYktpdFN5c3RlbUludGVyZmFjZSBjYWxscyB3aXRo
IFNQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IDEwYTJiMjkzMzlkODU0NDFjODk0NWJlZjEyNmZlODhhZjQ3MDZj
MDguLmQxYzA3NmYxODExNzUzYjQ0NDBiMzE3MzgzYjZlNTQxZjQ1MDk3N2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMCBAQAorMjAxNS0xMi0zMCAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBw
bGUuY29tPgorCisgICAgICAgIFN0b3AgdXNpbmcgVVNFKENGTkVUV09SSykgcGF0aCBvbiBpT1MK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MjU0MAor
CisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IEFudHRpIEtvaXZpc3RvIDxhbnR0aUBhcHBsZS5j
b20+IG9uIDIwMTUtMDMtMTAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1tOiBU
aGlzIGlzIG5vdyB0aGUKKyAgICAgICAgVVNFKENGTkVUV09SSykgJiYgIVVTRShORVRXT1JLX1NF
U1NJT04pIGNvZGUgcGF0aC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvbWFj
L0Rvd25sb2FkTWFjLm1tOiBUaGlzIGlzIG5vdyB0aGUKKyAgICAgICAgIVVTRShDRk5FVFdPUksp
ICYmICFVU0UoTkVUV09SS19TRVNTSU9OKSBjb2RlIHBhdGguICBNYWtlIHVzZSBvZgorICAgICAg
ICBOU1VSTERvd25sb2FkU1BJLmguCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6aW5pdGlhbGl6ZU5l
dHdvcmtQcm9jZXNzKTogVXBkYXRlIGZvcgorICAgICAgICBpT1MgdG8gdXNlIE5TVVJMQ29ubmVj
dGlvbiBsb2FkZXIuCisKIDIwMTUtMTItMjUgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZXNvdXJjZUVycm9yIHNob3VsZCBzdG9yZSBmYWlsaW5nVVJMIGFz
IFVSTCBpbnN0ZWFkIG9mIFN0cmluZyB0byBhdm9pZCByZXBhcnNpbmcgYW5kIHRvIGFkZHJlc3Mg
RklYTUUgY29tbWVudHMgaW4gUmVzb3VyY2VFcnJvckNGLmNwcCBhbmQgUmVzb3VyY2VFcnJvck1h
Yy5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtLmgKaW5kZXggYjdlZDVhODhlMTgzZTVhOWFjNjEwNDIwYWIzODZiYjkxYzJh
Mzk4Mi4uNmE0OWJhN2VmMWFiM2ViY2ViMWY0YWE4YzA1N2NlOWRkNGMwZjMxYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bS5oCkBAIC01NDUsOSArNTQ1LDYgQEAKICNpZiBQTEFURk9STShJT1MpCiAKICNkZWZpbmUgSEFW
RV9SRUFETElORSAxCi0jaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKLSNkZWZpbmUgVVNFX0NG
TkVUV09SSyAxCi0jZW5kaWYKICNkZWZpbmUgVVNFX1VJS0lUX0VESVRJTkcgMQogI2RlZmluZSBV
U0VfV0VCX1RIUkVBRCAxCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1NjaGVkdWxlUGFp
ci5oIGIvU291cmNlL1dURi93dGYvU2NoZWR1bGVQYWlyLmgKaW5kZXggNjAzOWQ5YTM3OGYyN2Jj
MzJkZDc0ZTI5MDBiNzliNzU1YTIzZDQzNy4uMzZmYTY0N2I0YTE4YjRmN2M2MGFiMDk0NjJhMTdj
YjNhYTE1OGY5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvU2NoZWR1bGVQYWlyLmgKKysr
IGIvU291cmNlL1dURi93dGYvU2NoZWR1bGVQYWlyLmgKQEAgLTM1LDcgKzM1LDcgQEAKICNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CiAKLSNpZiBVU0UoRk9VTkRBVElPTikKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVVTRShD
Rk5FVFdPUkspCiBPQkpDX0NMQVNTIE5TUnVuTG9vcDsKICNlbmRpZgogCkBAIC00NSw3ICs0NSw3
IEBAIGNsYXNzIFNjaGVkdWxlUGFpciA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxTY2hl
ZHVsZVBhaXI+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNjaGVkdWxlUGFpcj4gY3JlYXRl
KENGUnVuTG9vcFJlZiBydW5Mb29wLCBDRlN0cmluZ1JlZiBtb2RlKSB7IHJldHVybiBhZG9wdFJl
ZigqbmV3IFNjaGVkdWxlUGFpcihydW5Mb29wLCBtb2RlKSk7IH0KIAotI2lmIFVTRShGT1VOREFU
SU9OKSAmJiAhVVNFKENGTkVUV09SSykKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVVTRShDRk5F
VFdPUkspCiAgICAgc3RhdGljIFJlZjxTY2hlZHVsZVBhaXI+IGNyZWF0ZShOU1J1bkxvb3AqIHJ1
bkxvb3AsIENGU3RyaW5nUmVmIG1vZGUpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2NoZWR1bGVQ
YWlyKHJ1bkxvb3AsIG1vZGUpKTsgfQogICAgIE5TUnVuTG9vcCogbnNSdW5Mb29wKCkgY29uc3Qg
eyByZXR1cm4gbV9uc1J1bkxvb3AuZ2V0KCk7IH0KICNlbmRpZgpAQCAtNjMsNyArNjMsNyBAQCBw
cml2YXRlOgogICAgICAgICAgICAgbV9tb2RlID0gYWRvcHRDRihDRlN0cmluZ0NyZWF0ZUNvcHko
MCwgbW9kZSkpOwogICAgIH0KIAotI2lmIFVTRShGT1VOREFUSU9OKSAmJiAhVVNFKENGTkVUV09S
SykKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVVTRShDRk5FVFdPUkspCiAgICAgV1RGX0VYUE9S
VF9QUklWQVRFIFNjaGVkdWxlUGFpcihOU1J1bkxvb3AqLCBDRlN0cmluZ1JlZik7CiAgICAgUmV0
YWluUHRyPE5TUnVuTG9vcCo+IG1fbnNSdW5Mb29wOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudExvYWRlci5oCmluZGV4IDU1MTAzOTFiZDMzZDNhMzY2NzE1NmU4NDVmYTMxMzEx
YzNmNmY5ZjMuLmU1YmRhY2UxNzdhZTA1Zjk4MGNiMjY4YzVlNTg1YmJlODgyYmQyYWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCkBAIC01Niw2ICs1NiwxMCBAQAogI2lu
Y2x1ZGUgIlF1aWNrTG9vay5oIgogI2VuZGlmCiAKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVVT
RShDRk5FVFdPUkspCisjaW5jbHVkZSA8d3RmL1NjaGVkdWxlUGFpci5oPgorI2VuZGlmCisKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVIb3N0OwpAQCAt
MTQ0LDcgKzE0OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBzZXRUaXRsZShjb25zdCBTdHJpbmdXaXRoRGlyZWN0aW9uJik7CiAgICAgICAgIGNv
bnN0IFN0cmluZyYgb3ZlcnJpZGVFbmNvZGluZygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcnJpZGVF
bmNvZGluZzsgfQogCi0jaWYgUExBVEZPUk0oTUFDKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAh
VVNFKENGTkVUV09SSykKICAgICAgICAgdm9pZCBzY2hlZHVsZShTY2hlZHVsZVBhaXImKTsKICAg
ICAgICAgdm9pZCB1bnNjaGVkdWxlKFNjaGVkdWxlUGFpciYpOwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCAxYTk3M2IwZDUyM2I4ZTFmMzJmMjVh
ODA4OWM4Mjk4NTc0NTBlM2VjLi5kNmU1YjYxMWI1YTk1YzllNjFkZWZhNmRjNmE2NDdmMmNjZWRk
MWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKQEAgLTcyNCw3
ICs3MjQsNyBAQCB2b2lkIFJlc291cmNlTG9hZGVyOjpyZWNlaXZlZENhbmNlbGxhdGlvbihjb25z
dCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpCiAgICAgY2FuY2VsKCk7CiB9CiAKLSNpZiBQTEFU
Rk9STShNQUMpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmICFVU0UoQ0ZORVRXT1JLKQogCiB2b2lk
IFJlc291cmNlTG9hZGVyOjpzY2hlZHVsZShTY2hlZHVsZVBhaXImIHBhaXIpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCmluZGV4IDAyN2FjMDhmMjMyMzFkNDA3ODdkMTMw
MjU2MjYzMzJiOTI2ZjQwZmEuLjE4OWIzYmM4YTgxYTBlZDUwY2Y2YjU4YjIzZjQ2YzQwYjQ3ZGRl
ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCkBAIC0xNDAsNyArMTQw
LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCB3aWxsU3dpdGNoVG9TdWJzdGl0dXRlUmVzb3VyY2Uo
KTsKIAotI2lmIFBMQVRGT1JNKE1BQykKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVVTRShDRk5F
VFdPUkspCiAgICAgdm9pZCBzY2hlZHVsZShXVEY6OlNjaGVkdWxlUGFpciYpOwogICAgIHZvaWQg
dW5zY2hlZHVsZShXVEY6OlNjaGVkdWxlUGFpciYpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvbWFjL0RvY3VtZW50TG9hZGVyTWFjLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9tYWMvRG9jdW1lbnRMb2FkZXJNYWMuY3BwCmluZGV4IDdlNzRmMjBmOTcyYjA3
OGZlODYyYjU4MWMyODliZWVlNWQwYTEyYzguLjU4ZDUwZTY5OGE5MWZiNTljOTA2ZWJiNmQzN2Iw
MWZlMTM3N2I2NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9tYWMvRG9jdW1l
bnRMb2FkZXJNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9tYWMvRG9jdW1lbnRM
b2FkZXJNYWMuY3BwCkBAIC0zMyw3ICszMyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
I2lmIFBMQVRGT1JNKE1BQykKKyNpZiAhVVNFKENGTkVUV09SSykKIAogc3RhdGljIHZvaWQgc2No
ZWR1bGVBbGwoY29uc3QgUmVzb3VyY2VMb2FkZXJNYXAmIGxvYWRlcnMsIFNjaGVkdWxlUGFpciYg
cGFpcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1BhZ2VNYWMubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9QYWdlTWFjLm1tCmluZGV4IDUyNTEwOGZjYTVlZThh
ODQzMTRhNmQxMDVhZjRhNmQxMzU0MjRlN2YuLmRiMjAwOTBhN2Y4MzJmMGU2NjFhMjY1MTA3NDA2
MWNlZWRlNzRlMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1BhZ2VNYWMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvUGFnZU1hYy5tbQpAQCAtMzQsMTIgKzM0
LDIwIEBACiAjaW1wb3J0ICJGcmFtZVRyZWUuaCIKICNpbXBvcnQgIk1haW5GcmFtZS5oIgogCisj
aWYgUExBVEZPUk0oSU9TKQorI2ltcG9ydCAiV2ViQ29yZVRocmVhZC5oIgorI2VuZGlmCisKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogdm9pZCBQYWdlOjpwbGF0Zm9ybUluaXRpYWxpemUoKQogewor
I2lmIFBMQVRGT1JNKElPUykKICNpZiBVU0UoQ0ZORVRXT1JLKQotICAgIGFkZFNjaGVkdWxlUGFp
cihTY2hlZHVsZVBhaXI6OmNyZWF0ZShbW05TUnVuTG9vcCBjdXJyZW50UnVuTG9vcF0gZ2V0Q0ZS
dW5Mb29wXSwga0NGUnVuTG9vcENvbW1vbk1vZGVzKSk7CisgICAgYWRkU2NoZWR1bGVQYWlyKFNj
aGVkdWxlUGFpcjo6Y3JlYXRlKFdlYlRocmVhZFJ1bkxvb3AoKSwga0NGUnVuTG9vcENvbW1vbk1v
ZGVzKSk7CisjZWxzZQorICAgIGFkZFNjaGVkdWxlUGFpcihTY2hlZHVsZVBhaXI6OmNyZWF0ZShX
ZWJUaHJlYWROU1J1bkxvb3AoKSwga0NGUnVuTG9vcENvbW1vbk1vZGVzKSk7CisjZW5kaWYgLy8g
VVNFKENGTkVUV09SSykKICNlbHNlCiAgICAgYWRkU2NoZWR1bGVQYWlyKFNjaGVkdWxlUGFpcjo6
Y3JlYXRlKFtOU1J1bkxvb3AgY3VycmVudFJ1bkxvb3BdLCBrQ0ZSdW5Mb29wQ29tbW9uTW9kZXMp
KTsKICNlbmRpZgpAQCAtNTEsNyArNTksNyBAQCB2b2lkIFBhZ2U6OmFkZFNjaGVkdWxlUGFpcihS
ZWY8U2NoZWR1bGVQYWlyPiYmIHBhaXIpCiAgICAgICAgIG1fc2NoZWR1bGVkUnVuTG9vcFBhaXJz
ID0gc3RkOjptYWtlX3VuaXF1ZTxTY2hlZHVsZVBhaXJIYXNoU2V0PigpOwogICAgIG1fc2NoZWR1
bGVkUnVuTG9vcFBhaXJzLT5hZGQocGFpci5wdHIoKSk7CiAKLSNpZiAhUExBVEZPUk0oSU9TKQor
I2lmICFVU0UoQ0ZORVRXT1JLKQogICAgIGZvciAoRnJhbWUqIGZyYW1lID0gbV9tYWluRnJhbWUu
Z2V0KCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCkudHJhdmVyc2VOZXh0KCkpIHsKICAg
ICAgICAgaWYgKERvY3VtZW50TG9hZGVyKiBkb2N1bWVudExvYWRlciA9IGZyYW1lLT5sb2FkZXIo
KS5kb2N1bWVudExvYWRlcigpKQogICAgICAgICAgICAgZG9jdW1lbnRMb2FkZXItPnNjaGVkdWxl
KHBhaXIpOwpAQCAtNzEsNyArNzksNyBAQCB2b2lkIFBhZ2U6OnJlbW92ZVNjaGVkdWxlUGFpcihS
ZWY8U2NoZWR1bGVQYWlyPiYmIHBhaXIpCiAKICAgICBtX3NjaGVkdWxlZFJ1bkxvb3BQYWlycy0+
cmVtb3ZlKHBhaXIucHRyKCkpOwogCi0jaWYgIVBMQVRGT1JNKElPUykKKyNpZiAhVVNFKENGTkVU
V09SSykKICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9IG1fbWFpbkZyYW1lLmdldCgpOyBmcmFtZTsg
ZnJhbWUgPSBmcmFtZS0+dHJlZSgpLnRyYXZlcnNlTmV4dCgpKSB7CiAgICAgICAgIGlmIChEb2N1
bWVudExvYWRlciogZG9jdW1lbnRMb2FkZXIgPSBmcmFtZS0+bG9hZGVyKCkuZG9jdW1lbnRMb2Fk
ZXIoKSkKICAgICAgICAgICAgIGRvY3VtZW50TG9hZGVyLT51bnNjaGVkdWxlKHBhaXIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQuaAppbmRleCBl
ZmI4ZDdhNDg2MGQwMDNmZjNkN2EwZTNhMWFhZDM3MjJkN2ZjOGVmLi42N2FhYTI4MDgxYmM0ZTFl
MjllNzdlYzAyOGJkOWZiZWUxN2FkNGVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQuaApAQCAtODAsOCArODAsOCBAQCBXRUJDT1JFX0VYUE9S
VCB2b2lkIFdlYlRocmVhZFVubG9ja0d1YXJkRm9yTWFpbCgpOwogc3RhdGljIGlubGluZSBib29s
IFdlYlRocmVhZFNob3VsZFlpZWxkKHZvaWQpIHsgcmV0dXJuIHdlYlRocmVhZFNob3VsZFlpZWxk
OyB9CiBzdGF0aWMgaW5saW5lIHZvaWQgV2ViVGhyZWFkU2V0U2hvdWxkWWllbGQoKSB7IHdlYlRo
cmVhZFNob3VsZFlpZWxkID0gdHJ1ZTsgfQogCi1XRUJDT1JFX0VYUE9SVCBDRlJ1bkxvb3BSZWYg
V2ViVGhyZWFkUnVuTG9vcCh2b2lkKTsKLU5TUnVuTG9vcCogV2ViVGhyZWFkTlNSdW5Mb29wKHZv
aWQpOworQ0ZSdW5Mb29wUmVmIFdlYlRocmVhZFJ1bkxvb3Aodm9pZCk7CitXRUJDT1JFX0VYUE9S
VCBOU1J1bkxvb3AqIFdlYlRocmVhZE5TUnVuTG9vcCh2b2lkKTsKIFdlYlRocmVhZENvbnRleHQg
KldlYlRocmVhZEN1cnJlbnRDb250ZXh0KHZvaWQpOwogYm9vbCBXZWJUaHJlYWRDb250ZXh0SXND
dXJyZW50KHZvaWQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2lvcy9RdWlja0xvb2subW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2lv
cy9RdWlja0xvb2subW0KaW5kZXggOTZmNTBkZjA3NDAxODQ2NDBhOGYzZWE2MDQyNDU5MmY2YTVh
OTZhMC4uMmRlMTc3M2RkNDYwYTBkNDJjODdlOWE1NmUzNjY2ZGQ3Y2JmYWIzMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9pb3MvUXVpY2tMb29rLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvaW9zL1F1aWNrTG9vay5tbQpAQCAtMzIs
MTIgKzMyLDEyIEBACiAjaW1wb3J0ICJGaWxlU3lzdGVtSU9TLmgiCiAjaW1wb3J0ICJMb2dnaW5n
LmgiCiAjaW1wb3J0ICJOU0ZpbGVNYW5hZ2VyU1BJLmgiCi0jaW1wb3J0ICJRdWlja0xvb2tTb2Z0
TGluay5oIgogI2ltcG9ydCAiUmVzb3VyY2VFcnJvci5oIgogI2ltcG9ydCAiUmVzb3VyY2VIYW5k
bGUuaCIKICNpbXBvcnQgIlJlc291cmNlTG9hZGVyLmgiCiAjaW1wb3J0ICJSdW50aW1lQXBwbGlj
YXRpb25DaGVja3NJT1MuaCIKICNpbXBvcnQgIlN5bmNocm9ub3VzUmVzb3VyY2VIYW5kbGVDRlVS
TENvbm5lY3Rpb25EZWxlZ2F0ZS5oIgorI2ltcG9ydCAiV2ViQ29yZVJlc291cmNlSGFuZGxlQXNE
ZWxlZ2F0ZS5oIgogI2ltcG9ydCAiV2ViQ29yZVVSTFJlc3BvbnNlSU9TLmgiCiAjaW1wb3J0IDxG
b3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpA
QCAtNDYsNiArNDYsOCBAQAogI2ltcG9ydCA8d3RmL1ZlY3Rvci5oPgogI2ltcG9ydCA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAKKyNpbXBvcnQgIlF1aWNrTG9va1NvZnRMaW5rLmgiCisKIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogCiBOU1NldCAqV2ViQ29yZTo6UUxQcmV2aWV3R2V0U3VwcG9y
dGVkTUlNRVR5cGVzU2V0KCkKQEAgLTE5MywxMiArMTk1LDExIEBAIGNvbnN0IGNoYXIqIFdlYkNv
cmU6OlFMUHJldmlld1Byb3RvY29sKCkKIC8vIFRoaXMgd29ya3MgZmluZSB3aGVuIHVzaW5nIE5T
IEFQSXMsIGJ1dCB3aGVuIHVzaW5nIENGTmV0d29yaywgd2UgZG9uJ3QgaGF2ZSBhIE5TVVJMQ29u
bmVjdGlvbkRlbGVnYXRlLgogLy8gU28gd2UgY3JlYXRlIFdlYlF1aWNrTG9va0hhbmRsZUFzRGVs
ZWdhdGUgYXMgYW4gaW50ZXJtZWRpYXRlIGRlbGVnYXRlIG9iamVjdCBhbmQgcGFzcyBpdCB0bwog
Ly8gUUxQcmV2aWV3Q29udmVydGVyLiBUaGUgcHJveHkgZGVsZWdhdGUgdGhlbiBmb3J3YXJkcyB0
aGUgbWVzc2FnZXMgb24gdG8gdGhlIENGTmV0d29yayBjb2RlLgotQGludGVyZmFjZSBXZWJRdWlj
a0xvb2tIYW5kbGVBc0RlbGVnYXRlIDogTlNPYmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRl
PiB7CitAaW50ZXJmYWNlIFdlYlF1aWNrTG9va0hhbmRsZUFzRGVsZWdhdGUgOiBOU09iamVjdCA8
TlNVUkxDb25uZWN0aW9uRGVsZWdhdGUsIFdlYkNvcmVSZXNvdXJjZUxvYWRlckRlbGVnYXRlPiB7
CiAgICAgUmVmUHRyPFN5bmNocm9ub3VzUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxl
Z2F0ZT4gbV9jb25uZWN0aW9uRGVsZWdhdGU7CiB9CiAKIC0gKGlkKWluaXRXaXRoQ29ubmVjdGlv
bkRlbGVnYXRlOihTeW5jaHJvbm91c1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdh
dGUqKWNvbm5lY3Rpb25EZWxlZ2F0ZTsKLS0gKHZvaWQpY2xlYXJIYW5kbGU7CiBAZW5kCiAKIEBp
bXBsZW1lbnRhdGlvbiBXZWJRdWlja0xvb2tIYW5kbGVBc0RlbGVnYXRlCkBAIC0yNTIsMTQgKzI1
MywxNCBAQCAtICh2b2lkKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24g
ZGlkRmFpbFdpdGhFcnJvcjooTlNFcnJvciAqKWVycgogICAgIG1fY29ubmVjdGlvbkRlbGVnYXRl
LT5kaWRGYWlsKHJlaW50ZXJwcmV0X2Nhc3Q8Q0ZFcnJvclJlZj4oZXJyb3IpKTsKIH0KIAotLSAo
dm9pZCljbGVhckhhbmRsZQorLSAodm9pZClkZXRhY2hIYW5kbGUKIHsKICAgICBtX2Nvbm5lY3Rp
b25EZWxlZ2F0ZSA9IG51bGxwdHI7CiB9CiBAZW5kCiAjZW5kaWYKIAotQGludGVyZmFjZSBXZWJS
ZXNvdXJjZUxvYWRlclF1aWNrTG9va0RlbGVnYXRlIDogTlNPYmplY3QgPE5TVVJMQ29ubmVjdGlv
bkRlbGVnYXRlPiB7CitAaW50ZXJmYWNlIFdlYlJlc291cmNlTG9hZGVyUXVpY2tMb29rRGVsZWdh
dGUgOiBOU09iamVjdCA8TlNVUkxDb25uZWN0aW9uRGVsZWdhdGUsIFdlYkNvcmVSZXNvdXJjZUxv
YWRlckRlbGVnYXRlPiB7CiAgICAgUmVmUHRyPFJlc291cmNlTG9hZGVyPiBfcmVzb3VyY2VMb2Fk
ZXI7CiAgICAgQk9PTCBfaGFzU2VudERpZFJlY2VpdmVSZXNwb25zZTsKICAgICBCT09MIF9oYXNG
YWlsZWQ7CkBAIC0zNTAsNyArMzUxLDcgQEAgLSAodm9pZCljb25uZWN0aW9uOihOU1VSTENvbm5l
Y3Rpb24gKiljb25uZWN0aW9uIGRpZEZhaWxXaXRoRXJyb3I6KE5TRXJyb3IgKillcnIKICAgICBf
cmVzb3VyY2VMb2FkZXItPmRpZEZhaWwoUmVzb3VyY2VFcnJvcihlcnJvcikpOwogfQogCi0tICh2
b2lkKWNsZWFySGFuZGxlCistICh2b2lkKWRldGFjaEhhbmRsZQogewogICAgIF9yZXNvdXJjZUxv
YWRlciA9IG51bGxwdHI7CiAgICAgX3F1aWNrTG9va0hhbmRsZSA9IG51bGxwdHI7CkBAIC00OTEs
NyArNDkyLDcgQEAgUXVpY2tMb29rSGFuZGxlOjp+UXVpY2tMb29rSGFuZGxlKCkKICAgICBMT0co
TmV0d29yaywgIlF1aWNrTG9va0hhbmRsZTo6flF1aWNrTG9va0hhbmRsZSgpIik7CiAgICAgbV9j
b252ZXJ0ZXIgPSBudWxscHRyOwogCi0gICAgW21fZGVsZWdhdGUgY2xlYXJIYW5kbGVdOworICAg
IFttX2RlbGVnYXRlIGRldGFjaEhhbmRsZV07CiB9CiAKIFN0cmluZyBRdWlja0xvb2tIYW5kbGU6
OnByZXZpZXdGaWxlTmFtZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCmluZGV4IDdjOTdiMmFhZTBm
ZDI4ODFlY2Y4YmM1YTNlNzk5ZDRkNWEwOWJlMWUuLmUyNWZjNzQxYWFiMTkzYTk5NDg1MWJjNmVk
MjQ3NTRmNjI3NGFlNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCkBAIC0zMTQsNyArMzE0LDcgQEAgdm9p
ZCBSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1TZXREZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJzKQog
ICAgICAgICBbZC0+bV9jb25uZWN0aW9uIHNldERlZmVyc0NhbGxiYWNrczpkZWZlcnNdOwogfQog
Ci0jaWYgUExBVEZPUk0oTUFDKQorI2lmICFVU0UoQ0ZORVRXT1JLKQogCiB2b2lkIFJlc291cmNl
SGFuZGxlOjpzY2hlZHVsZShTY2hlZHVsZVBhaXImIHBhaXIpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc0Rl
bGVnYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVz
b3VyY2VIYW5kbGVBc0RlbGVnYXRlLmgKaW5kZXggNGY0MTU1ZWFmZDk0NWIxYjg2MmQyOWNlODk2
ZGNhZGNkYTFjNDI2Ni4uYWE3ZTFjYjRhNGRjMmU1NjJhODZiMTM3MjkwYTE2MDk3YTc4ZTk0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJl
c291cmNlSGFuZGxlQXNEZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUuaApAQCAtMjYsMTcgKzI2
LDIwIEBACiAjaWZuZGVmIFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGVfaAogI2RlZmlu
ZSBXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlX2gKIAotI2lmICFVU0UoQ0ZORVRXT1JL
KQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSZXNvdXJjZUhhbmRsZTsKIH0KIAotQGlu
dGVyZmFjZSBXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlIDogTlNPYmplY3QgPE5TVVJM
Q29ubmVjdGlvbkRlbGVnYXRlPiB7CitAcHJvdG9jb2wgV2ViQ29yZVJlc291cmNlTG9hZGVyRGVs
ZWdhdGUKKy0gKHZvaWQpZGV0YWNoSGFuZGxlOworQGVuZAorCisjaWYgIVVTRShDRk5FVFdPUksp
CisKK0BpbnRlcmZhY2UgV2ViQ29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZSA6IE5TT2JqZWN0
IDxOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZSwgV2ViQ29yZVJlc291cmNlTG9hZGVyRGVsZWdhdGU+
IHsKICAgICBXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSogbV9oYW5kbGU7CiB9CiAtIChpZClpbml0
V2l0aEhhbmRsZTooV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUqKWhhbmRsZTsKLS0gKHZvaWQpZGV0
YWNoSGFuZGxlOwogQGVuZAogCiAjZW5kaWYgLy8gIVVTRShDRk5FVFdPUkspCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5k
bGVBc0RlbGVnYXRlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2Vi
Q29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZS5tbQppbmRleCBlMTdjYjlkMjBlZDdkYmQ1MTc5
M2MzNjRlYjMyYzE1ODk1ZWJhNTNhLi5kYzNiZDhhYjVkY2E5NmU3NTMzYmI4MDg3OGIzMzUyNzQx
OGU0M2ZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9X
ZWJDb3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUubW0KQEAg
LTU0LDcgKzU0LDcgQEAgLSAoaWQpaW5pdFdpdGhIYW5kbGU6KFJlc291cmNlSGFuZGxlKiloYW5k
bGUKIAogLSAodm9pZClkZXRhY2hIYW5kbGUKIHsKLSAgICBtX2hhbmRsZSA9IDA7CisgICAgbV9o
YW5kbGUgPSBudWxscHRyOwogfQogCiAtIChOU1VSTFJlcXVlc3QgKiljb25uZWN0aW9uOihOU1VS
TENvbm5lY3Rpb24gKiljb25uZWN0aW9uIHdpbGxTZW5kUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICop
bmV3UmVxdWVzdCByZWRpcmVjdFJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICopcmVkaXJlY3RSZXNw
b25zZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2Vi
Q29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlv
blF1ZXVlRGVsZWdhdGUuaAppbmRleCBlNzQwYWE1OWJlZDYzYmFiOTA3NmYwNzkzYWIzZDAzZGUw
MDJiMDUxLi5iYWJkYWQyYzQ0NTI0YjgyZWQ5NzA2MGQ5ZGE4NzM2ODY2OGRlZDMzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VI
YW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVs
ZWdhdGUuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgIVVTRShDRk5FVFdPUkspCiAKKyNpbmNs
dWRlICJXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlLmgiCiAjaW5jbHVkZSA8ZGlzcGF0
Y2gvZGlzcGF0Y2guaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKQEAgLTM1LDcgKzM2
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUmVzb3VyY2VIYW5kbGU7CiB9CiAKLUBp
bnRlcmZhY2UgV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIDog
TlNPYmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlPiB7CitAaW50ZXJmYWNlIFdlYkNvcmVS
ZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSA6IE5TT2JqZWN0IDxOU1VSTENv
bm5lY3Rpb25EZWxlZ2F0ZSwgV2ViQ29yZVJlc291cmNlTG9hZGVyRGVsZWdhdGU+IHsKICAgICBX
ZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSogbV9oYW5kbGU7CiAKICAgICAvLyBTeW5jaHJvbm91cyBk
ZWxlZ2F0ZXMgb24gb3BlcmF0aW9uIHF1ZXVlIHdhaXQgdW50aWwgbWFpbiB0aHJlYWQgc2VuZHMg
YW4gYXN5bmNocm9ub3VzIHJlc3BvbnNlLgpAQCAtNDYsNyArNDcsNiBAQCBjbGFzcyBSZXNvdXJj
ZUhhbmRsZTsKIH0KIAogLSAoaWQpaW5pdFdpdGhIYW5kbGU6KFdlYkNvcmU6OlJlc291cmNlSGFu
ZGxlKiloYW5kbGU7Ci0tICh2b2lkKWRldGFjaEhhbmRsZTsKIC0gKHZvaWQpY29udGludWVXaWxs
U2VuZFJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKW5ld1JlcXVlc3Q7CiAtICh2b2lkKWNvbnRpbnVl
RGlkUmVjZWl2ZVJlc3BvbnNlOwogI2lmIFVTRShQUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJB
Q0spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvTlNVUkxE
b3dubG9hZFNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL05TVVJMRG93
bmxvYWRTUEkuaAppbmRleCAzZjNhM2JjYjhlYzY0OGQ0YWU1YTcwMTc1YTc1NjUxN2Y4NWRkMGQ1
Li4zMGMyOGU3MzI5OGIyNzNiODQxZWE4MTQ5YWQyMmMxNjMzYTdhYzU3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvTlNVUkxEb3dubG9hZFNQSS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9OU1VSTERvd25sb2FkU1BJLmgKQEAg
LTI5LDYgKzI5LDE0IEBACiAKICNpbXBvcnQgPEZvdW5kYXRpb24vTlNVUkxEb3dubG9hZC5oPgog
CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPEZvdW5kYXRpb24vTlNVUkxE
b3dubG9hZFByaXZhdGUuaD4KKyNlbHNlCitAaW50ZXJmYWNlIE5TVVJMRG93bmxvYWQgKCkKKyso
aWQpX2Rvd25sb2FkV2l0aExvYWRpbmdDb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25u
ZWN0aW9uIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgcmVzcG9uc2U6KE5TVVJMUmVz
cG9uc2UgKilyZXNwb25zZSBkZWxlZ2F0ZTooaWQpZGVsZWdhdGUgcHJveHk6KGlkKXByb3h5Owor
QGVuZAorI2VuZGlmCisKICNlbHNlCiAKIEBjbGFzcyBOU1N0cmluZzsKQEAgLTU2LDggKzY0LDIy
IEBACiAtICh2b2lkKWRvd25sb2FkOihOU1VSTERvd25sb2FkICopZG93bmxvYWQgZGlkRmFpbFdp
dGhFcnJvcjooTlNFcnJvciAqKWVycm9yOwogQGVuZAogCisjaWZuZGVmIFdlYkRvd25sb2FkX2gK
Ky8qIEFsc28gZGVmaW5lZCBpbiA8V2ViS2l0L1dlYkRvd25sb2FkLmg+LiAqLworQGludGVyZmFj
ZSBOU1VSTERvd25sb2FkIDogTlNPYmplY3QKK0BlbmQKKyNlbmRpZgorCiBAaW50ZXJmYWNlIE5T
VVJMRG93bmxvYWQgKCkKIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aFJlcXVlc3Q6KE5TVVJMUmVx
dWVzdCAqKXJlcXVlc3QgZGVsZWdhdGU6KGlkIDxOU1VSTERvd25sb2FkRGVsZWdhdGU+KWRlbGVn
YXRlOworLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoUmVzdW1lRGF0YTooTlNEYXRhICopcmVzdW1l
RGF0YSBkZWxlZ2F0ZTooaWQgPE5TVVJMRG93bmxvYWREZWxlZ2F0ZT4pZGVsZWdhdGUgcGF0aDoo
TlNTdHJpbmcgKilwYXRoOworLSAodm9pZCljYW5jZWw7CistICh2b2lkKXNldERlc3RpbmF0aW9u
OihOU1N0cmluZyAqKXBhdGggYWxsb3dPdmVyd3JpdGU6KEJPT0wpYWxsb3dPdmVyd3JpdGU7CitA
cHJvcGVydHkgKHJlYWRvbmx5LCBjb3B5KSBOU1VSTFJlcXVlc3QgKnJlcXVlc3Q7CitAcHJvcGVy
dHkgKHJlYWRvbmx5LCBjb3B5KSBOU0RhdGEgKnJlc3VtZURhdGE7CitAcHJvcGVydHkgQk9PTCBk
ZWxldGVzRmlsZVVwb25GYWlsdXJlOworCisrKGlkKV9kb3dubG9hZFdpdGhMb2FkaW5nQ29ubmVj
dGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiByZXF1ZXN0OihOU1VSTFJlcXVlc3Qg
KilyZXF1ZXN0IHJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICopcmVzcG9uc2UgZGVsZWdhdGU6KGlk
KWRlbGVnYXRlIHByb3h5OihpZClwcm94eTsKIEBlbmQKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYkRvd25sb2FkLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9N
aXNjL1dlYkRvd25sb2FkLmgKaW5kZXggZTI0MmU2ZGI5Yzk3Zjg4ZGJhOGIxZTBhZmVhYTg3NGFj
NTFmYjU0OS4uY2FhNTU3MGE1NjBlMzNmMWZiOWY4OWFiYjg4NWMyZDEzNTM4Mjg0OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJEb3dubG9hZC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL01pc2MvV2ViRG93bmxvYWQuaApAQCAtMjYsNiArMjYsOSBAQAogICogVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KICAqLwogCisjaWZuZGVmIFdlYkRvd25sb2FkX2gKKyNkZWZpbmUgV2ViRG93bmxvYWRfaAor
CiAjaWYgIVRBUkdFVF9PU19JUEhPTkUgfHwgKGRlZmluZWQgVVNFX0FQUExFX0lOVEVSTkFMX1NE
SyAmJiBVU0VfQVBQTEVfSU5URVJOQUxfU0RLKQogI2ltcG9ydCA8Rm91bmRhdGlvbi9OU1VSTERv
d25sb2FkLmg+CiAjZWxzZQpAQCAtNzgsMyArODEsNSBAQAogLSAoTlNXaW5kb3cgKilkb3dubG9h
ZFdpbmRvd0ZvckF1dGhlbnRpY2F0aW9uU2hlZXQ6KFdlYkRvd25sb2FkICopZG93bmxvYWQ7CiAK
IEBlbmQKKworI2VuZGlmIC8qIFdlYkRvd25sb2FkX2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvbWFjL01pc2MvV2ViS2l0VmVyc2lvbkNoZWNrcy5oIGIvU291cmNlL1dlYktpdC9tYWMv
TWlzYy9XZWJLaXRWZXJzaW9uQ2hlY2tzLmgKaW5kZXggYzgxMTIwMTI1ZDRkZmI2OTMxYWZlZDQx
ZWQxMDAxOWJmMDdiZmRmNC4uYjUzMzM1NGMzNzEyYmYwNjc5ZjM5ODYzYmFlYjVlMTJlM2RiMzc0
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXRWZXJzaW9uQ2hlY2tz
LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXRWZXJzaW9uQ2hlY2tzLmgKQEAg
LTcyLDYgKzcyLDcgQEAKICNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9DU1NfQVRU
UklCVVRFX1NFVFRFUlNfSUdOT1JJTkdfUFJJT1JJVFkgMjIzOSAvLyBpT1MgNi4wCiAjZGVmaW5l
IFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfWU9VVFVCRV9FTUJFRF9JRlJBTUVfVFJBTlNGT1JN
IDIyMzkgLy8gaU9TIDYuMAogI2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIT1VUX0xF
R0FDWV9CQUNLR1JPVU5EU0laRV9TSE9SVEhBTkRfQkVIQVZJT1IgMjY2NSAvLyBpT1MgNy4wCisj
ZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfTE9BRElOR19EVVJJTkdfQ09NTU9OX1JV
TkxPT1BfTU9ERVMgMjY2NSAvLyBpT1MgNy4wCiAjZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9O
X1dJVEhfSU5TRUNVUkVfQ09OVEVOVF9CTE9DS0lORyAzNDU0CiAjZW5kaWYgLy8gUExBVEZPUk0o
SU9TKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0g
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggMGU5Y2QzMWEzNjIy
MzM2YWY0YmZiMGU3YzczMjIwNThkYjYyZTg4Yy4uOWE5MmE4ODRjOTc2ZWQ0MTk3MDAxMWMzMzFk
NzkxOTRjOTVjMzEyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMTAy
NiwxNCArMTAyNiwxNiBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5h
bWU6KE5TU3RyaW5nICopZnJhbWVOYW1lIGdyb3VwTmFtZTooTlNTdAogCiAgICAgW1dlYkZyYW1l
IF9jcmVhdGVNYWluRnJhbWVXaXRoUGFnZTpfcHJpdmF0ZS0+cGFnZSBmcmFtZU5hbWU6ZnJhbWVO
YW1lIGZyYW1lVmlldzpmcmFtZVZpZXddOwogCi0jaWYgIVBMQVRGT1JNKElPUykKKyNpZiBQTEFU
Rk9STShJT1MpCisgICAgTlNSdW5Mb29wICpydW5Mb29wID0gV2ViVGhyZWFkTlNSdW5Mb29wKCk7
CisjZWxzZQogICAgIE5TUnVuTG9vcCAqcnVuTG9vcCA9IFtOU1J1bkxvb3AgbWFpblJ1bkxvb3Bd
OworI2VuZGlmCiAKICAgICBpZiAoV2ViS2l0TGlua2VkT25PckFmdGVyKFdFQktJVF9GSVJTVF9W
RVJTSU9OX1dJVEhfTE9BRElOR19EVVJJTkdfQ09NTU9OX1JVTkxPT1BfTU9ERVMpKQogICAgICAg
ICBbc2VsZiBzY2hlZHVsZUluUnVuTG9vcDpydW5Mb29wIGZvck1vZGU6KE5TU3RyaW5nICopa0NG
UnVuTG9vcENvbW1vbk1vZGVzXTsKICAgICBlbHNlCiAgICAgICAgIFtzZWxmIHNjaGVkdWxlSW5S
dW5Mb29wOnJ1bkxvb3AgZm9yTW9kZTpOU0RlZmF1bHRSdW5Mb29wTW9kZV07Ci0jZW5kaWYKIAog
ICAgIFtzZWxmIF9hZGRUb0FsbFdlYlZpZXdzU2V0XTsKICAgICAKQEAgLTY2MTgsNyArNjYyMCw2
IEBAIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdlYlZpZXcgKFdlYlBlbmRpbmdQdWJsaWMpCiAK
LSNpZiAhUExBVEZPUk0oSU9TKQogLSAodm9pZClzY2hlZHVsZUluUnVuTG9vcDooTlNSdW5Mb29w
ICopcnVuTG9vcCBmb3JNb2RlOihOU1N0cmluZyAqKW1vZGUKIHsKICNpZiBVU0UoQ0ZORVRXT1JL
KQpAQCAtNjY0MCw3ICs2NjQxLDYgQEAgLSAodm9pZCl1bnNjaGVkdWxlRnJvbVJ1bkxvb3A6KE5T
UnVuTG9vcCAqKXJ1bkxvb3AgZm9yTW9kZTooTlNTdHJpbmcgKiltb2RlCiAgICAgaWYgKHJ1bkxv
b3AgJiYgbW9kZSkKICAgICAgICAgY29yZShzZWxmKS0+cmVtb3ZlU2NoZWR1bGVQYWlyKFNjaGVk
dWxlUGFpcjo6Y3JlYXRlKHNjaGVkdWxlUGFpclJ1bkxvb3AsIChDRlN0cmluZ1JlZiltb2RlKSk7
CiB9Ci0jZW5kaWYKIAogc3RhdGljIEJPT0wgZmluZFN0cmluZyhOU1ZpZXcgPFdlYkRvY3VtZW50
U2VhcmNoaW5nPiAqc2VhcmNoVmlldywgTlNTdHJpbmcgKnN0cmluZywgV2ViRmluZE9wdGlvbnMg
b3B0aW9ucykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmll
d1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld1ByaXZhdGUuaApp
bmRleCA3OTZjMGY0MmE3Njk5ZjE4NmYwZTRjMDM3ZDExNDY3YzQ2YjEwMjk0Li5mNDMwNDk5NjQ1
ZDdmOTUwMDdjMWNiYTBlOWNmYWMwMTk4Y2YzYzA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJWaWV3UHJpdmF0ZS5oCkBAIC0xOTgsMTAgKzE5OCw4IEBAIHR5cGVkZWYgZW51bSB7
CiAKIEBpbnRlcmZhY2UgV2ViVmlldyAoV2ViUGVuZGluZ1B1YmxpYykKIAotI2lmICFUQVJHRVRf
T1NfSVBIT05FCiAtICh2b2lkKXNjaGVkdWxlSW5SdW5Mb29wOihOU1J1bkxvb3AgKilydW5Mb29w
IGZvck1vZGU6KE5TU3RyaW5nICopbW9kZTsKIC0gKHZvaWQpdW5zY2hlZHVsZUZyb21SdW5Mb29w
OihOU1J1bkxvb3AgKilydW5Mb29wIGZvck1vZGU6KE5TU3RyaW5nICopbW9kZTsKLSNlbmRpZgog
CiAtIChCT09MKWZpbmRTdHJpbmc6KE5TU3RyaW5nICopc3RyaW5nIG9wdGlvbnM6KFdlYkZpbmRP
cHRpb25zKW9wdGlvbnM7CiAtIChET01SYW5nZSAqKURPTVJhbmdlT2ZTdHJpbmc6KE5TU3RyaW5n
ICopc3RyaW5nIHJlbGF0aXZlVG86KERPTVJhbmdlICopcHJldmlvdXNSYW5nZSBvcHRpb25zOihX
ZWJGaW5kT3B0aW9ucylvcHRpb25zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvRG93bmxvYWRzL2lvcy9Eb3dubG9hZElPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9pb3MvRG93bmxvYWRJT1MubW0KaW5kZXggZDBlODBlNjIw
Mzg0YzE3ODAxNzAxMzg2MWY3NTIwOGU3NWI1Y2MwOS4uMTAzYTg5NjE1ZWFhZWFlZGIyZjBmZDIz
YTUzYzU3ZTE5NjUxZmJjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvRG93bmxvYWRzL2lvcy9Eb3dubG9hZElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9Eb3dubG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1tCkBAIC0yNiw5ICsyNiwxMCBA
QAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJEb3dubG9hZC5oIgogCi0jaWYgUExBVEZP
Uk0oSU9TKSAmJiAhVVNFKE5FVFdPUktfU0VTU0lPTikKKyNpZiBVU0UoQ0ZORVRXT1JLKSAmJiAh
VVNFKE5FVFdPUktfU0VTU0lPTikKIAogI2ltcG9ydCAiRGF0YVJlZmVyZW5jZS5oIgorI2ltcG9y
dCA8Q0ZOZXR3b3JrL0NGVVJMRG93bmxvYWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvTm90SW1wbGVt
ZW50ZWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9SZXNvdXJjZUhhbmRsZS5oPgpAQCAtMzYsMTUgKzM3LDEwIEBACiAjaW1wb3J0IDx3dGYv
UmV0YWluUHRyLmg+CiAjaW1wb3J0IDx3dGYvUnVuTG9vcC5oPgogCi0jaWYgVVNFKENGTkVUV09S
SykKLSNpbXBvcnQgPENGTmV0d29yay9DRlVSTERvd25sb2FkLmg+Ci0jZW5kaWYKLQogdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi0jaWYgVVNFKENGTkVU
V09SSykKIC8vIEZJWE1FOiBJZiBwb3NzaWJsZSwgd2Ugc2hvdWxkIGNvbnNpZGVyIG1vdmluZyBz
b21lIGNhbGxiYWNrcyBvZmYgdGhlIG1haW4gdGhyZWFkIG9yIGF0IGxlYXN0CiAvLyBtYWtpbmcg
dGhlbSBhc3luY2hvbm91cyBjYWxscy4KIHN0YXRpYyB2b2lkIGRpc3BhdGNoT25NYWluVGhyZWFk
KHZvaWQoXmJsb2NrKSgpKQpAQCAtMTI1LDcgKzEyMSw2IEBAIHN0YXRpYyB2b2lkIHNldFVwRG93
bmxvYWRDbGllbnQoQ0ZVUkxEb3dubG9hZENsaWVudCYgY2xpZW50LCBEb3dubG9hZCYgZG93bmxv
YWQpCiAgICAgICAgIH0pOwogICAgIH07CiB9Ci0jZW5kaWYgLy8gVVNFKENGTkVUV09SSykKIAog
dm9pZCBEb3dubG9hZDo6c3RhcnQoKQogewpAQCAtMTM5LDE2ICsxMzQsMTIgQEAgdm9pZCBEb3du
bG9hZDo6cmVzdW1lKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYsIGNvbnN0IFN0cmluZyYsIGNv
bnN0IFNhbmRib3hFeHQKIAogdm9pZCBEb3dubG9hZDo6c3RhcnRXaXRoSGFuZGxlKFJlc291cmNl
SGFuZGxlKiBoYW5kbGUsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewotI2lm
IFVTRShDRk5FVFdPUkspCiAgICAgQ0ZVUkxEb3dubG9hZENsaWVudCBjbGllbnQ7CiAgICAgc2V0
VXBEb3dubG9hZENsaWVudChjbGllbnQsICp0aGlzKTsKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3Rp
YyBwdXNoCiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdkZXByZWNhdGVkLWRl
Y2xhcmF0aW9ucyIKICAgICBtX2Rvd25sb2FkID0gYWRvcHRDRihDRlVSTERvd25sb2FkQ3JlYXRl
QW5kU3RhcnRXaXRoTG9hZGluZ0Nvbm5lY3Rpb24oTlVMTCwgaGFuZGxlLT5yZWxlYXNlQ29ubmVj
dGlvbkZvckRvd25sb2FkKCkuZ2V0KCksIG1fcmVxdWVzdC5jZlVSTFJlcXVlc3QoVXBkYXRlSFRU
UEJvZHkpLCByZXNwb25zZS5jZlVSTFJlc3BvbnNlKCksICZjbGllbnQpKTsKICNwcmFnbWEgY2xh
bmcgZGlhZ25vc3RpYyBwb3AKLSNlbHNlCi0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSNlbmRpZgog
fQogCiB2b2lkIERvd25sb2FkOjpjYW5jZWwoKQpAQCAtMTkzLDQgKzE4NCw0IEBAIHZvaWQgRG93
bmxvYWQ6OnJlY2VpdmVkQ2hhbGxlbmdlUmVqZWN0aW9uKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5kaWYgLy8gUExB
VEZPUk0oSU9TKQorI2VuZGlmIC8vIFVTRShDRk5FVFdPUkspICYmICFVU0UoTkVUV09SS19TRVNT
SU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRz
L21hYy9Eb3dubG9hZE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rvd25s
b2Fkcy9tYWMvRG93bmxvYWRNYWMubW0KaW5kZXggOWM3ZDk1MzM4NWVmNjNhNjZkZjc1NjI3MThl
YzhhNzZkN2RmYjk2NS4uMzRjYmE5NGVmMTk4NjQ0MGNkOGM3MzE0MmM2MzUzMWFmNGMyYmNjYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL21hYy9E
b3dubG9hZE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9h
ZHMvbWFjL0Rvd25sb2FkTWFjLm1tCkBAIC0yNiwxMCArMjYsMTEgQEAKICNpbXBvcnQgImNvbmZp
Zy5oIgogI2ltcG9ydCAiRG93bmxvYWQuaCIKIAotI2lmIFBMQVRGT1JNKE1BQykgJiYgIVVTRShO
RVRXT1JLX1NFU1NJT04pCisjaWYgIVVTRShDRk5FVFdPUkspICYmICFVU0UoTkVUV09SS19TRVNT
SU9OKQogCiAjaW1wb3J0IDxXZWJDb3JlL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL0F1dGhlbnRpY2F0aW9uTWFjLmg+CisjaW1wb3J0IDxXZWJDb3JlL05TVVJM
RG93bmxvYWRTUEkuaD4KICNpbXBvcnQgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbXBv
cnQgPFdlYkNvcmUvUmVzb3VyY2VIYW5kbGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VI
YW5kbGVDbGllbnQuaD4KQEAgLTM3LDE0ICszOCw2IEBACiAjaW1wb3J0ICJEYXRhUmVmZXJlbmNl
LmgiCiAjaW1wb3J0ICJXZWJQYWdlLmgiCiAKLUBpbnRlcmZhY2UgTlNVUkxEb3dubG9hZCAoV2Vi
TlNVUkxEb3dubG9hZERldGFpbHMpCi0rKGlkKV9kb3dubG9hZFdpdGhMb2FkaW5nQ29ubmVjdGlv
bjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbgotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICopcgotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGVsZWdhdGU6KGlkKWRlbGVnYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwcm94eTooaWQpcHJveHk7Ci1AZW5kCi0KIEBpbnRlcmZhY2UgV0tEb3dubG9hZEFzRGVsZWdh
dGUgOiBOU09iamVjdCA8TlNVUkxEb3dubG9hZERlbGVnYXRlPiB7CiAgICAgV2ViS2l0OjpEb3du
bG9hZCogX2Rvd25sb2FkOwogfQpAQCAtMzA4LDQgKzMwMSw0IEBAIC0gKHZvaWQpZG93bmxvYWQ6
KE5TVVJMRG93bmxvYWQgKilkb3dubG9hZCBkaWRGYWlsV2l0aEVycm9yOihOU0Vycm9yICopZXJy
b3IKIAogQGVuZAogCi0jZW5kaWYgLy8gUExBVEZPUk0oTUFDKSAmJiAhVVNFKE5FVFdPUktfU0VT
U0lPTikKKyNlbmRpZiAvLyAhVVNFKENGTkVUV09SSykgJiYgIVVTRShORVRXT1JLX1NFU1NJT04p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAK
aW5kZXggNjk2ODAxNTlmY2QwMTU2YmFjZDBjZjQ5MWUzMTM4NmUzYWVhMmRjZS4uYTE0NjRiOTlk
OTJmMjlmMmZhYjY5NDIzYzlkMDg1NzY4MDZiM2UwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAtMTk4LDcgKzE5OCw3IEBAIHZv
aWQgTmV0d29ya1Byb2Nlc3M6OmluaXRpYWxpemVOZXR3b3JrUHJvY2Vzcyhjb25zdCBOZXR3b3Jr
UHJvY2Vzc0NyZWF0aW9uUGFyYW1lCiAKICAgICBzZXRDYW5IYW5kbGVIVFRQU1NlcnZlclRydXN0
RXZhbHVhdGlvbihwYXJhbWV0ZXJzLmNhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9u
KTsKIAotI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKENGTkVUV09SSykKKyNpZiBQTEFURk9STShD
T0NPQSkgfHwgVVNFKENGTkVUV09SSykKICAgICBTZXNzaW9uVHJhY2tlcjo6c2V0SWRlbnRpZmll
ckJhc2UocGFyYW1ldGVycy51aVByb2Nlc3NCdW5kbGVJZGVudGlmaWVyKTsKICNlbmRpZgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268024</attachid>
            <date>2015-12-30 20:36:42 -0800</date>
            <delta_ts>2016-01-13 16:54:11 -0800</delta_ts>
            <desc>Patch v5</desc>
            <filename>bug-142540-20151230203608.patch</filename>
            <type>text/plain</type>
            <size>30076</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0NDIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDIwMGQzNTRhMzc2Zjc3NjRjNzJlOTll
MTY0MWUzY2I3MGNhNzg1MjAuLjIwNWFjMjVjNjlhMDg5MDEwNTNlYjA3ZTU4MDJmMjZkMDI0YWM4
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMTItMzAgIERhdmlkIEtpbHplciAgPGRka2ls
emVyQGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIHVzaW5nIFVTRShDRk5FVFdPUkspIHBhdGgg
b24gaU9TCisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8xNDI1NDA+CisKKyAgICAgICAg
T3JpZ2luYWwgcGF0Y2ggYnkgQW50dGkgS29pdmlzdG8gPGFudHRpQGFwcGxlLmNvbT4gb24gMjAx
NS0wMy0xMAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHd0Zi9QbGF0Zm9ybS5oOiBUdXJuIG9mZiBVU0UoQ0ZORVRXT1JLKSBmb3IgUExBVEZPUk0oSU9T
KS4KKyAgICAgICAgKiB3dGYvU2NoZWR1bGVQYWlyLmg6IFVwZGF0ZSBtYWNyb3MgdG8gbWF0Y2gg
V2ViQ29yZS4KKwogMjAxNS0xMi0yMiAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgog
CiAgICAgICAgIEZUTCBCMyBzaG91bGQgYmUgYWJsZSB0byBydW4gcmljaGFyZHMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCA1OGM1Zjg2ZDA2YTRiM2JmMjE3ZjlkNjdiNTYyNWRlNDE2ZjllZTFjLi40NTI3MmM5NDQ2
OTUxZDM3NTlhOGI3NjE0NDI5NmQ1ZmZhYzUwNzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjkg
QEAKKzIwMTUtMTItMzAgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBTdG9wIHVzaW5nIFVTRShDRk5FVFdPUkspIHBhdGggb24gaU9TCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI1NDAKKworICAgICAgICBPcmln
aW5hbCBwYXRjaCBieSBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPiBvbiAyMDE1LTAz
LTEwCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuaWZ5
IE9TIFggYW5kIGlPUyBjb2RlIHBhdGhzLgorCisgICAgICAgIFRoaXMgcGF0Y2gganVzdCBzd2l0
Y2hlcyB0aGUgcGF0aHMuIEl0IGRvZXNuJ3QgeWV0IGRlbGV0ZSBhbnkKKyAgICAgICAgdW5uZWNl
c3NhcnkgY29kZS4KKworICAgICAgICBDaGFuZ2VzIGNvdmVyZWQgYnkgbW9zdCBleGlzdGluZyB0
ZXN0cy4KKworICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5oOgorICAgICAgICAqIGxv
YWRlci9SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVy
Lmg6CisgICAgICAgICogbG9hZGVyL21hYy9Eb2N1bWVudExvYWRlck1hYy5jcHA6CisgICAgICAg
IC0gVXBkYXRlIGZvciBpT1MgdG8gdXNlIE5TVVJMQ29ubmVjdGlvbiBsb2FkZXIuCisKKyAgICAg
ICAgKiBwYWdlL21hYy9QYWdlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6cGxhdGZv
cm1Jbml0aWFsaXplKTogQWx3YXlzIHVzZSB0aGUgY29ycmVjdAorICAgICAgICBydW5sb29wIG9u
IGlPUyByZWdhcmRsZXNzIG9mIHdoaWNoIHRocmVhZCB0aGlzIHdhcyBjYWxsZWQgb24uCisgICAg
ICAgIChXZWJDb3JlOjpQYWdlOjphZGRTY2hlZHVsZVBhaXIpOiBVcGRhdGUgZm9yIGlPUyB0byB1
c2UKKyAgICAgICAgTlNVUkxDb25uZWN0aW9uIGxvYWRlci4KKyAgICAgICAgKFdlYkNvcmU6OlBh
Z2U6OnJlbW92ZVNjaGVkdWxlUGFpcik6IERpdHRvLgorCisgICAgICAgICogcGxhdGZvcm0vaW9z
L3dhay9XZWJDb3JlVGhyZWFkLmg6CisgICAgICAgIChXZWJUaHJlYWRSdW5Mb29wKTogTm8gbG9u
Z2VyIG5lZWRzIHRvIGJlIGV4cG9ydGVkLgorICAgICAgICAoV2ViVGhyZWFkTlNSdW5Mb29wKTog
RXhwb3J0IGZvciBXZWJLaXRMZWdhY3kuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2lv
cy9RdWlja0xvb2subW06IEZpeCBoZWFkZXIgb3JkZXIuCisgICAgICAgIChXZWJRdWlja0xvb2tI
YW5kbGVBc0RlbGVnYXRlKTogTWFrZSBkZWxlZ2F0ZSBvYmplY3RzIGltcGxlbWVudAorICAgICAg
ICBXZWJDb3JlUmVzb3VyY2VMb2FkZXJEZWxlZ2F0ZSBwcm90b2NvbC4gIFRoaXMgdW5pZmllcyB0
aGUKKyAgICAgICAgLWNsZWFySGFuZGxlIGFuZCAtZGV0YWNoSGFuZGxlIG1ldGhvZHMgdGhhdCB3
ZXJlIHVzZWQgb24gaU9TIGFuZAorICAgICAgICBPUyBYLCByZXNwZWN0aXZlbHkuCisgICAgICAg
ICgtW1dlYlF1aWNrTG9va0hhbmRsZUFzRGVsZWdhdGUgY2xlYXJIYW5kbGVdKTogRGVsZXRlZC4K
KyAgICAgICAgKC1bV2ViUXVpY2tMb29rSGFuZGxlQXNEZWxlZ2F0ZSBkZXRhY2hIYW5kbGVdKTog
UmVuYW1lZCBmcm9tCisgICAgICAgIC1jbGVhckhhbmRsZS4KKyAgICAgICAgKFdlYlJlc291cmNl
TG9hZGVyUXVpY2tMb29rRGVsZWdhdGUpOiBNYWtlIGRlbGVnYXRlIG9iamVjdHMKKyAgICAgICAg
aW1wbGVtZW50IFdlYkNvcmVSZXNvdXJjZUxvYWRlckRlbGVnYXRlIHByb3RvY29sLgorICAgICAg
ICAoLVtXZWJSZXNvdXJjZUxvYWRlclF1aWNrTG9va0RlbGVnYXRlIGNsZWFySGFuZGxlXSk6IERl
bGV0ZWQuCisgICAgICAgICgtW1dlYlJlc291cmNlTG9hZGVyUXVpY2tMb29rRGVsZWdhdGUgZGV0
YWNoSGFuZGxlXSk6IFJlbmFtZWQgZnJvbQorICAgICAgICAtY2xlYXJIYW5kbGUuCisgICAgICAg
IChXZWJDb3JlOjpRdWlja0xvb2tIYW5kbGU6On5RdWlja0xvb2tIYW5kbGUpOiBDYWxsCisgICAg
ICAgIC1kZXRhY2hIYW5kbGUgaW5zdGVhZCBvZiAtY2xlYXJIYW5kbGUuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbToKKyAgICAgICAgLSBVcGRh
dGUgZm9yIGlPUyB0byB1c2UgTlNVUkxDb25uZWN0aW9uIGxvYWRlci4KKworICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUuaDoKKyAg
ICAgICAgKFdlYkNvcmVSZXNvdXJjZUxvYWRlckRlbGVnYXRlKTogRGVmaW5lIG5ldyBwcm90b2Nv
bC4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRs
ZUFzRGVsZWdhdGUubW06CisgICAgICAgICgtW1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdh
dGUgZGV0YWNoSGFuZGxlXSk6IEdyYXR1aXRvdXMKKyAgICAgICAgbnVsbHB0ciBmaXguCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJh
dGlvblF1ZXVlRGVsZWdhdGUuaDoKKyAgICAgICAgKFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3Bl
cmF0aW9uUXVldWVEZWxlZ2F0ZSk6IEltcGxlbWVudAorICAgICAgICBXZWJDb3JlUmVzb3VyY2VM
b2FkZXJEZWxlZ2F0ZSBwcm90b2NvbC4KKworICAgICAgICAqIHBsYXRmb3JtL3NwaS9jb2NvYS9O
U1VSTERvd25sb2FkU1BJLmg6IERlY2xhcmUgbW9yZQorICAgICAgICBOU1VSRG93bmxvYWQgU1BJ
IHRvIGNsZWFuIHVwIG90aGVyIHNvdXJjZSBmaWxlcyBhbmQgbWFrZQorICAgICAgICBzb3VyY2Ug
Y29tcGlsZSBvbiBpT1Mgd2l0aCBOU1VSTENvbm5lY3Rpb24gY29kZSBwYXRoLgorCiAyMDE1LTEy
LTI1ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgU3VicGl4ZWwg
cmVuZGVyaW5nOiBBZGQgc3VicGl4ZWwgc3VwcG9ydCBmb3Igb3V0bGluZS4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwppbmRleCA5OTcxNDViNmFkZTUyOTU4YmViZWYyNWQzY2I4NDc1NTkyMWRjOWZlLi43N2I2MTMy
NmYzOTE4OWFiYTNiZGY0YmVjZmZlNzA1MTNlNmEwNTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjQgQEAKKzIwMTUtMTItMzAgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNv
bT4KKworICAgICAgICBTdG9wIHVzaW5nIFVTRShDRk5FVFdPUkspIHBhdGggb24gaU9TCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI1NDAKKworICAg
ICAgICBPcmlnaW5hbCBwYXRjaCBieSBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPiBv
biAyMDE1LTAzLTEwCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogTWlzYy9XZWJEb3dubG9hZC5oOiBBZGQgaGVhZGVyIGd1YXJkIHRvIG1ha2UKKyAgICAg
ICAgTlNVUkxEb3dubG9hZFNQSS5oIHdvcmsgd2hlbiBwcmUtZGVjbGFyaW5nIE5TVVJMRG93bmxv
YWQgb2JqZWN0LgorICAgICAgICAqIE1pc2MvV2ViS2l0VmVyc2lvbkNoZWNrcy5oOiBEZWZpbmUK
KyAgICAgICAgV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9MT0FESU5HX0RVUklOR19DT01NT05f
UlVOTE9PUF9NT0RFUworICAgICAgICBmb3IgaU9TLgorICAgICAgICAqIFdlYlZpZXcvV2ViVmll
dy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVO
YW1lOmdyb3VwTmFtZTpdKTogVXNlCisgICAgICAgIHRoZSBjb3JyZWN0IHJ1bmxvb3Agb24gaU9T
LgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlld1ByaXZhdGUuaDoKKyAgICAgICAgKC1bV2ViVmll
dyhXZWJQZW5kaW5nUHVibGljKSBzY2hlZHVsZUluUnVuTG9vcDpmb3JNb2RlOl0pOgorICAgICAg
ICAoLVtXZWJWaWV3KFdlYlBlbmRpbmdQdWJsaWMpIHVuc2NoZWR1bGVGcm9tUnVuTG9vcDpmb3JN
b2RlOl0pOgorICAgICAgICAtIFRoZXNlIGFyZSBhdmFpbGFibGUgb24gaU9TIG5vdy4KKwogMjAx
NS0xMi0yMiAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAgICAgW0NGXSBS
ZXBsYWNlIENGTmV0d29yay1yZWxhdGVkIFdlYktpdFN5c3RlbUludGVyZmFjZSBjYWxscyB3aXRo
IFNQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IDEwYTJiMjkzMzlkODU0NDFjODk0NWJlZjEyNmZlODhhZjQ3MDZj
MDguLmY4OWM1ZTlkNWY0NTE4Y2JlYWQwZTc0ZDZmNjJkMDAwOWY3MDcxOTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMSBAQAorMjAxNS0xMi0zMCAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBw
bGUuY29tPgorCisgICAgICAgIFN0b3AgdXNpbmcgVVNFKENGTkVUV09SSykgcGF0aCBvbiBpT1MK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MjU0MAor
CisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IEFudHRpIEtvaXZpc3RvIDxhbnR0aUBhcHBsZS5j
b20+IG9uIDIwMTUtMDMtMTAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1tOiBU
aGlzIGlzIG5vdyB0aGUKKyAgICAgICAgVVNFKENGTkVUV09SSykgJiYgIVVTRShORVRXT1JLX1NF
U1NJT04pIGNvZGUgcGF0aC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvbWFj
L0Rvd25sb2FkTWFjLm1tOiBUaGlzIGlzIG5vdyB0aGUKKyAgICAgICAgIVVTRShDRk5FVFdPUksp
ICYmICFVU0UoTkVUV09SS19TRVNTSU9OKSBjb2RlIHBhdGguICBNYWtlIHVzZSBvZgorICAgICAg
ICBOU1VSTERvd25sb2FkU1BJLmguICBJZ25vcmUgYSBkZXByZWNhdGVkIGRlbGNhcmF0aW9uIHdh
cm5pbmcgbm93CisgICAgICAgIHRoYXQgd2UncmUgdXNpbmcgYWN0dWFsIGhlYWRlciBkZWNsYXJh
dGlvbnMgaW50ZXJuYWxseS4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjppbml0aWFsaXplTmV0d29y
a1Byb2Nlc3MpOiBVcGRhdGUgZm9yCisgICAgICAgIGlPUyB0byB1c2UgTlNVUkxDb25uZWN0aW9u
IGxvYWRlci4KKwogMjAxNS0xMi0yNSAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIFJlc291cmNlRXJyb3Igc2hvdWxkIHN0b3JlIGZhaWxpbmdVUkwgYXMgVVJM
IGluc3RlYWQgb2YgU3RyaW5nIHRvIGF2b2lkIHJlcGFyc2luZyBhbmQgdG8gYWRkcmVzcyBGSVhN
RSBjb21tZW50cyBpbiBSZXNvdXJjZUVycm9yQ0YuY3BwIGFuZCBSZXNvdXJjZUVycm9yTWFjLm1t
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaAppbmRleCBiN2VkNWE4OGUxODNlNWE5YWM2MTA0MjBhYjM4NmJiOTFjMmEzOTgy
Li42YTQ5YmE3ZWYxYWIzZWJjZWIxZjRhYThjMDU3Y2U5ZGQ0YzBmMzFiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
QEAgLTU0NSw5ICs1NDUsNiBAQAogI2lmIFBMQVRGT1JNKElPUykKIAogI2RlZmluZSBIQVZFX1JF
QURMSU5FIDEKLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2RlZmluZSBVU0VfQ0ZORVRX
T1JLIDEKLSNlbmRpZgogI2RlZmluZSBVU0VfVUlLSVRfRURJVElORyAxCiAjZGVmaW5lIFVTRV9X
RUJfVEhSRUFEIDEKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvU2NoZWR1bGVQYWlyLmgg
Yi9Tb3VyY2UvV1RGL3d0Zi9TY2hlZHVsZVBhaXIuaAppbmRleCA2MDM5ZDlhMzc4ZjI3YmMzMmRk
NzRlMjkwMGI3OWI3NTVhMjNkNDM3Li4zNmZhNjQ3YjRhMThiNGY3YzYwYWIwOTQ2MmExN2NiM2Fh
MTU4ZjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9TY2hlZHVsZVBhaXIuaAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9TY2hlZHVsZVBhaXIuaApAQCAtMzUsNyArMzUsNyBAQAogI2luY2x1ZGUg
PHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
IAotI2lmIFVTRShGT1VOREFUSU9OKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhVVNFKENGTkVU
V09SSykKIE9CSkNfQ0xBU1MgTlNSdW5Mb29wOwogI2VuZGlmCiAKQEAgLTQ1LDcgKzQ1LDcgQEAg
Y2xhc3MgU2NoZWR1bGVQYWlyIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFNjaGVkdWxl
UGFpcj4gewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U2NoZWR1bGVQYWlyPiBjcmVhdGUoQ0ZS
dW5Mb29wUmVmIHJ1bkxvb3AsIENGU3RyaW5nUmVmIG1vZGUpIHsgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgU2NoZWR1bGVQYWlyKHJ1bkxvb3AsIG1vZGUpKTsgfQogCi0jaWYgVVNFKEZPVU5EQVRJT04p
ICYmICFVU0UoQ0ZORVRXT1JLKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhVVNFKENGTkVUV09S
SykKICAgICBzdGF0aWMgUmVmPFNjaGVkdWxlUGFpcj4gY3JlYXRlKE5TUnVuTG9vcCogcnVuTG9v
cCwgQ0ZTdHJpbmdSZWYgbW9kZSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY2hlZHVsZVBhaXIo
cnVuTG9vcCwgbW9kZSkpOyB9CiAgICAgTlNSdW5Mb29wKiBuc1J1bkxvb3AoKSBjb25zdCB7IHJl
dHVybiBtX25zUnVuTG9vcC5nZXQoKTsgfQogI2VuZGlmCkBAIC02Myw3ICs2Myw3IEBAIHByaXZh
dGU6CiAgICAgICAgICAgICBtX21vZGUgPSBhZG9wdENGKENGU3RyaW5nQ3JlYXRlQ29weSgwLCBt
b2RlKSk7CiAgICAgfQogCi0jaWYgVVNFKEZPVU5EQVRJT04pICYmICFVU0UoQ0ZORVRXT1JLKQor
I2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhVVNFKENGTkVUV09SSykKICAgICBXVEZfRVhQT1JUX1BS
SVZBVEUgU2NoZWR1bGVQYWlyKE5TUnVuTG9vcCosIENGU3RyaW5nUmVmKTsKICAgICBSZXRhaW5Q
dHI8TlNSdW5Mb29wKj4gbV9uc1J1bkxvb3A7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50TG9hZGVyLmgKaW5kZXggNTUxMDM5MWJkMzNkM2EzNjY3MTU2ZTg0NWZhMzEzMTFjM2Y2
ZjlmMy4uZTViZGFjZTE3N2FlMDVmOTgwY2IyNjhjNWU1ODViYmU4ODJiZDJhYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKQEAgLTU2LDYgKzU2LDEwIEBACiAjaW5jbHVk
ZSAiUXVpY2tMb29rLmgiCiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhVVNFKENG
TkVUV09SSykKKyNpbmNsdWRlIDx3dGYvU2NoZWR1bGVQYWlyLmg+CisjZW5kaWYKKwogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgQXBwbGljYXRpb25DYWNoZUhvc3Q7CkBAIC0xNDQs
NyArMTQ4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIHNldFRpdGxlKGNvbnN0IFN0cmluZ1dpdGhEaXJlY3Rpb24mKTsKICAgICAgICAgY29uc3Qg
U3RyaW5nJiBvdmVycmlkZUVuY29kaW5nKCkgY29uc3QgeyByZXR1cm4gbV9vdmVycmlkZUVuY29k
aW5nOyB9CiAKLSNpZiBQTEFURk9STShNQUMpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmICFVU0Uo
Q0ZORVRXT1JLKQogICAgICAgICB2b2lkIHNjaGVkdWxlKFNjaGVkdWxlUGFpciYpOwogICAgICAg
ICB2b2lkIHVuc2NoZWR1bGUoU2NoZWR1bGVQYWlyJik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDFhOTczYjBkNTIzYjhlMWYzMmYyNWE4MDg5
YzgyOTg1NzQ1MGUzZWMuLmQ2ZTViNjExYjVhOTVjOWU2MWRlZmE2ZGM2YTY0N2YyY2NlZGQxY2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcApAQCAtNzI0LDcgKzcy
NCw3IEBAIHZvaWQgUmVzb3VyY2VMb2FkZXI6OnJlY2VpdmVkQ2FuY2VsbGF0aW9uKGNvbnN0IEF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJikKICAgICBjYW5jZWwoKTsKIH0KIAotI2lmIFBMQVRGT1JN
KE1BQykKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVVTRShDRk5FVFdPUkspCiAKIHZvaWQgUmVz
b3VyY2VMb2FkZXI6OnNjaGVkdWxlKFNjaGVkdWxlUGFpciYgcGFpcikKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1Jlc291cmNlTG9hZGVyLmgKaW5kZXggMDI3YWMwOGYyMzIzMWQ0MDc4N2QxMzAyNTYy
NjMzMmI5MjZmNDBmYS4uMTg5YjNiYzhhODFhMGVkNTBjZjZiNThiMjNmNDZjNDBiNDdkZGVlYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmgKQEAgLTE0MCw3ICsxNDAsNyBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIHdpbGxTd2l0Y2hUb1N1YnN0aXR1dGVSZXNvdXJjZSgpOwog
Ci0jaWYgUExBVEZPUk0oTUFDKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhVVNFKENGTkVUV09S
SykKICAgICB2b2lkIHNjaGVkdWxlKFdURjo6U2NoZWR1bGVQYWlyJik7CiAgICAgdm9pZCB1bnNj
aGVkdWxlKFdURjo6U2NoZWR1bGVQYWlyJik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9tYWMvRG9jdW1lbnRMb2FkZXJNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL21hYy9Eb2N1bWVudExvYWRlck1hYy5jcHAKaW5kZXggN2U3NGYyMGY5NzJiMDc4ZmU4
NjJiNTgxYzI4OWJlZWU1ZDBhMTJjOC4uNThkNTBlNjk4YTkxZmI1OWM5MDZlYmI2ZDM3YjAxZmUx
Mzc3YjY1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL21hYy9Eb2N1bWVudExv
YWRlck1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL21hYy9Eb2N1bWVudExvYWRl
ck1hYy5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0jaWYg
UExBVEZPUk0oTUFDKQorI2lmICFVU0UoQ0ZORVRXT1JLKQogCiBzdGF0aWMgdm9pZCBzY2hlZHVs
ZUFsbChjb25zdCBSZXNvdXJjZUxvYWRlck1hcCYgbG9hZGVycywgU2NoZWR1bGVQYWlyJiBwYWly
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvUGFnZU1hYy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1BhZ2VNYWMubW0KaW5kZXggNTI1MTA4ZmNhNWVlOGE4NDMx
NGE2ZDEwNWFmNGE2ZDEzNTQyNGU3Zi4uZGIyMDA5MGE3ZjgzMmYwZTY2MWEyNjUxMDc0MDYxY2Vl
ZGU3NGUxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvUGFnZU1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9QYWdlTWFjLm1tCkBAIC0zNCwxMiArMzQsMjAg
QEAKICNpbXBvcnQgIkZyYW1lVHJlZS5oIgogI2ltcG9ydCAiTWFpbkZyYW1lLmgiCiAKKyNpZiBQ
TEFURk9STShJT1MpCisjaW1wb3J0ICJXZWJDb3JlVGhyZWFkLmgiCisjZW5kaWYKKwogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiB2b2lkIFBhZ2U6OnBsYXRmb3JtSW5pdGlhbGl6ZSgpCiB7CisjaWYg
UExBVEZPUk0oSU9TKQogI2lmIFVTRShDRk5FVFdPUkspCi0gICAgYWRkU2NoZWR1bGVQYWlyKFNj
aGVkdWxlUGFpcjo6Y3JlYXRlKFtbTlNSdW5Mb29wIGN1cnJlbnRSdW5Mb29wXSBnZXRDRlJ1bkxv
b3BdLCBrQ0ZSdW5Mb29wQ29tbW9uTW9kZXMpKTsKKyAgICBhZGRTY2hlZHVsZVBhaXIoU2NoZWR1
bGVQYWlyOjpjcmVhdGUoV2ViVGhyZWFkUnVuTG9vcCgpLCBrQ0ZSdW5Mb29wQ29tbW9uTW9kZXMp
KTsKKyNlbHNlCisgICAgYWRkU2NoZWR1bGVQYWlyKFNjaGVkdWxlUGFpcjo6Y3JlYXRlKFdlYlRo
cmVhZE5TUnVuTG9vcCgpLCBrQ0ZSdW5Mb29wQ29tbW9uTW9kZXMpKTsKKyNlbmRpZiAvLyBVU0Uo
Q0ZORVRXT1JLKQogI2Vsc2UKICAgICBhZGRTY2hlZHVsZVBhaXIoU2NoZWR1bGVQYWlyOjpjcmVh
dGUoW05TUnVuTG9vcCBjdXJyZW50UnVuTG9vcF0sIGtDRlJ1bkxvb3BDb21tb25Nb2RlcykpOwog
I2VuZGlmCkBAIC01MSw3ICs1OSw3IEBAIHZvaWQgUGFnZTo6YWRkU2NoZWR1bGVQYWlyKFJlZjxT
Y2hlZHVsZVBhaXI+JiYgcGFpcikKICAgICAgICAgbV9zY2hlZHVsZWRSdW5Mb29wUGFpcnMgPSBz
dGQ6Om1ha2VfdW5pcXVlPFNjaGVkdWxlUGFpckhhc2hTZXQ+KCk7CiAgICAgbV9zY2hlZHVsZWRS
dW5Mb29wUGFpcnMtPmFkZChwYWlyLnB0cigpKTsKIAotI2lmICFQTEFURk9STShJT1MpCisjaWYg
IVVTRShDRk5FVFdPUkspCiAgICAgZm9yIChGcmFtZSogZnJhbWUgPSBtX21haW5GcmFtZS5nZXQo
KTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS50cmF2ZXJzZU5leHQoKSkgewogICAgICAg
ICBpZiAoRG9jdW1lbnRMb2FkZXIqIGRvY3VtZW50TG9hZGVyID0gZnJhbWUtPmxvYWRlcigpLmRv
Y3VtZW50TG9hZGVyKCkpCiAgICAgICAgICAgICBkb2N1bWVudExvYWRlci0+c2NoZWR1bGUocGFp
cik7CkBAIC03MSw3ICs3OSw3IEBAIHZvaWQgUGFnZTo6cmVtb3ZlU2NoZWR1bGVQYWlyKFJlZjxT
Y2hlZHVsZVBhaXI+JiYgcGFpcikKIAogICAgIG1fc2NoZWR1bGVkUnVuTG9vcFBhaXJzLT5yZW1v
dmUocGFpci5wdHIoKSk7CiAKLSNpZiAhUExBVEZPUk0oSU9TKQorI2lmICFVU0UoQ0ZORVRXT1JL
KQogICAgIGZvciAoRnJhbWUqIGZyYW1lID0gbV9tYWluRnJhbWUuZ2V0KCk7IGZyYW1lOyBmcmFt
ZSA9IGZyYW1lLT50cmVlKCkudHJhdmVyc2VOZXh0KCkpIHsKICAgICAgICAgaWYgKERvY3VtZW50
TG9hZGVyKiBkb2N1bWVudExvYWRlciA9IGZyYW1lLT5sb2FkZXIoKS5kb2N1bWVudExvYWRlcigp
KQogICAgICAgICAgICAgZG9jdW1lbnRMb2FkZXItPnVuc2NoZWR1bGUocGFpcik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2ViQ29yZVRocmVhZC5oCmluZGV4IGVmYjhk
N2E0ODYwZDAwM2ZmM2Q3YTBlM2ExYWFkMzcyMmQ3ZmM4ZWYuLjY3YWFhMjgwODFiYzRlMWUyOWU3
N2VjMDI4YmQ5ZmJlZTE3YWQ0ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy93YWsvV2ViQ29yZVRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy93YWsvV2ViQ29yZVRocmVhZC5oCkBAIC04MCw4ICs4MCw4IEBAIFdFQkNPUkVfRVhQT1JUIHZv
aWQgV2ViVGhyZWFkVW5sb2NrR3VhcmRGb3JNYWlsKCk7CiBzdGF0aWMgaW5saW5lIGJvb2wgV2Vi
VGhyZWFkU2hvdWxkWWllbGQodm9pZCkgeyByZXR1cm4gd2ViVGhyZWFkU2hvdWxkWWllbGQ7IH0K
IHN0YXRpYyBpbmxpbmUgdm9pZCBXZWJUaHJlYWRTZXRTaG91bGRZaWVsZCgpIHsgd2ViVGhyZWFk
U2hvdWxkWWllbGQgPSB0cnVlOyB9CiAKLVdFQkNPUkVfRVhQT1JUIENGUnVuTG9vcFJlZiBXZWJU
aHJlYWRSdW5Mb29wKHZvaWQpOwotTlNSdW5Mb29wKiBXZWJUaHJlYWROU1J1bkxvb3Aodm9pZCk7
CitDRlJ1bkxvb3BSZWYgV2ViVGhyZWFkUnVuTG9vcCh2b2lkKTsKK1dFQkNPUkVfRVhQT1JUIE5T
UnVuTG9vcCogV2ViVGhyZWFkTlNSdW5Mb29wKHZvaWQpOwogV2ViVGhyZWFkQ29udGV4dCAqV2Vi
VGhyZWFkQ3VycmVudENvbnRleHQodm9pZCk7CiBib29sIFdlYlRocmVhZENvbnRleHRJc0N1cnJl
bnQodm9pZCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
aW9zL1F1aWNrTG9vay5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvaW9zL1F1
aWNrTG9vay5tbQppbmRleCA5NmY1MGRmMDc0MDE4NDY0MGE4ZjNlYTYwNDI0NTkyZjZhNWE5NmEw
Li4yZGUxNzczZGQ0NjBhMGQ0MmM4N2U5YTU2ZTM2NjZkZDdjYmZhYjMzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xvb2subW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9pb3MvUXVpY2tMb29rLm1tCkBAIC0zMiwxMiAr
MzIsMTIgQEAKICNpbXBvcnQgIkZpbGVTeXN0ZW1JT1MuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIK
ICNpbXBvcnQgIk5TRmlsZU1hbmFnZXJTUEkuaCIKLSNpbXBvcnQgIlF1aWNrTG9va1NvZnRMaW5r
LmgiCiAjaW1wb3J0ICJSZXNvdXJjZUVycm9yLmgiCiAjaW1wb3J0ICJSZXNvdXJjZUhhbmRsZS5o
IgogI2ltcG9ydCAiUmVzb3VyY2VMb2FkZXIuaCIKICNpbXBvcnQgIlJ1bnRpbWVBcHBsaWNhdGlv
bkNoZWNrc0lPUy5oIgogI2ltcG9ydCAiU3luY2hyb25vdXNSZXNvdXJjZUhhbmRsZUNGVVJMQ29u
bmVjdGlvbkRlbGVnYXRlLmgiCisjaW1wb3J0ICJXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVn
YXRlLmgiCiAjaW1wb3J0ICJXZWJDb3JlVVJMUmVzcG9uc2VJT1MuaCIKICNpbXBvcnQgPEZvdW5k
YXRpb24vRm91bmRhdGlvbi5oPgogI2ltcG9ydCA8d3RmL05ldmVyRGVzdHJveWVkLmg+CkBAIC00
Niw2ICs0Niw4IEBACiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KIAorI2ltcG9ydCAiUXVpY2tMb29rU29mdExpbmsuaCIKKwogdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAKIE5TU2V0ICpXZWJDb3JlOjpRTFByZXZpZXdHZXRTdXBwb3J0ZWRN
SU1FVHlwZXNTZXQoKQpAQCAtMTkzLDEyICsxOTUsMTEgQEAgY29uc3QgY2hhciogV2ViQ29yZTo6
UUxQcmV2aWV3UHJvdG9jb2woKQogLy8gVGhpcyB3b3JrcyBmaW5lIHdoZW4gdXNpbmcgTlMgQVBJ
cywgYnV0IHdoZW4gdXNpbmcgQ0ZOZXR3b3JrLCB3ZSBkb24ndCBoYXZlIGEgTlNVUkxDb25uZWN0
aW9uRGVsZWdhdGUuCiAvLyBTbyB3ZSBjcmVhdGUgV2ViUXVpY2tMb29rSGFuZGxlQXNEZWxlZ2F0
ZSBhcyBhbiBpbnRlcm1lZGlhdGUgZGVsZWdhdGUgb2JqZWN0IGFuZCBwYXNzIGl0IHRvCiAvLyBR
TFByZXZpZXdDb252ZXJ0ZXIuIFRoZSBwcm94eSBkZWxlZ2F0ZSB0aGVuIGZvcndhcmRzIHRoZSBt
ZXNzYWdlcyBvbiB0byB0aGUgQ0ZOZXR3b3JrIGNvZGUuCi1AaW50ZXJmYWNlIFdlYlF1aWNrTG9v
a0hhbmRsZUFzRGVsZWdhdGUgOiBOU09iamVjdCA8TlNVUkxDb25uZWN0aW9uRGVsZWdhdGU+IHsK
K0BpbnRlcmZhY2UgV2ViUXVpY2tMb29rSGFuZGxlQXNEZWxlZ2F0ZSA6IE5TT2JqZWN0IDxOU1VS
TENvbm5lY3Rpb25EZWxlZ2F0ZSwgV2ViQ29yZVJlc291cmNlTG9hZGVyRGVsZWdhdGU+IHsKICAg
ICBSZWZQdHI8U3luY2hyb25vdXNSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRl
PiBtX2Nvbm5lY3Rpb25EZWxlZ2F0ZTsKIH0KIAogLSAoaWQpaW5pdFdpdGhDb25uZWN0aW9uRGVs
ZWdhdGU6KFN5bmNocm9ub3VzUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZSop
Y29ubmVjdGlvbkRlbGVnYXRlOwotLSAodm9pZCljbGVhckhhbmRsZTsKIEBlbmQKIAogQGltcGxl
bWVudGF0aW9uIFdlYlF1aWNrTG9va0hhbmRsZUFzRGVsZWdhdGUKQEAgLTI1MiwxNCArMjUzLDE0
IEBAIC0gKHZvaWQpY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiBkaWRG
YWlsV2l0aEVycm9yOihOU0Vycm9yICopZXJyCiAgICAgbV9jb25uZWN0aW9uRGVsZWdhdGUtPmRp
ZEZhaWwocmVpbnRlcnByZXRfY2FzdDxDRkVycm9yUmVmPihlcnJvcikpOwogfQogCi0tICh2b2lk
KWNsZWFySGFuZGxlCistICh2b2lkKWRldGFjaEhhbmRsZQogewogICAgIG1fY29ubmVjdGlvbkRl
bGVnYXRlID0gbnVsbHB0cjsKIH0KIEBlbmQKICNlbmRpZgogCi1AaW50ZXJmYWNlIFdlYlJlc291
cmNlTG9hZGVyUXVpY2tMb29rRGVsZWdhdGUgOiBOU09iamVjdCA8TlNVUkxDb25uZWN0aW9uRGVs
ZWdhdGU+IHsKK0BpbnRlcmZhY2UgV2ViUmVzb3VyY2VMb2FkZXJRdWlja0xvb2tEZWxlZ2F0ZSA6
IE5TT2JqZWN0IDxOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZSwgV2ViQ29yZVJlc291cmNlTG9hZGVy
RGVsZWdhdGU+IHsKICAgICBSZWZQdHI8UmVzb3VyY2VMb2FkZXI+IF9yZXNvdXJjZUxvYWRlcjsK
ICAgICBCT09MIF9oYXNTZW50RGlkUmVjZWl2ZVJlc3BvbnNlOwogICAgIEJPT0wgX2hhc0ZhaWxl
ZDsKQEAgLTM1MCw3ICszNTEsNyBAQCAtICh2b2lkKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlv
biAqKWNvbm5lY3Rpb24gZGlkRmFpbFdpdGhFcnJvcjooTlNFcnJvciAqKWVycgogICAgIF9yZXNv
dXJjZUxvYWRlci0+ZGlkRmFpbChSZXNvdXJjZUVycm9yKGVycm9yKSk7CiB9CiAKLS0gKHZvaWQp
Y2xlYXJIYW5kbGUKKy0gKHZvaWQpZGV0YWNoSGFuZGxlCiB7CiAgICAgX3Jlc291cmNlTG9hZGVy
ID0gbnVsbHB0cjsKICAgICBfcXVpY2tMb29rSGFuZGxlID0gbnVsbHB0cjsKQEAgLTQ5MSw3ICs0
OTIsNyBAQCBRdWlja0xvb2tIYW5kbGU6On5RdWlja0xvb2tIYW5kbGUoKQogICAgIExPRyhOZXR3
b3JrLCAiUXVpY2tMb29rSGFuZGxlOjp+UXVpY2tMb29rSGFuZGxlKCkiKTsKICAgICBtX2NvbnZl
cnRlciA9IG51bGxwdHI7CiAKLSAgICBbbV9kZWxlZ2F0ZSBjbGVhckhhbmRsZV07CisgICAgW21f
ZGVsZWdhdGUgZGV0YWNoSGFuZGxlXTsKIH0KIAogU3RyaW5nIFF1aWNrTG9va0hhbmRsZTo6cHJl
dmlld0ZpbGVOYW1lKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0KaW5kZXggN2M5N2IyYWFlMGZkMjg4
MWVjZjhiYzVhM2U3OTlkNGQ1YTA5YmUxZS4uZTI1ZmM3NDFhYWIxOTNhOTk0ODUxYmM2ZWQyNDc1
NGY2Mjc0YWU2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9t
YWMvUmVzb3VyY2VIYW5kbGVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0KQEAgLTMxNCw3ICszMTQsNyBAQCB2b2lkIFJl
c291cmNlSGFuZGxlOjpwbGF0Zm9ybVNldERlZmVyc0xvYWRpbmcoYm9vbCBkZWZlcnMpCiAgICAg
ICAgIFtkLT5tX2Nvbm5lY3Rpb24gc2V0RGVmZXJzQ2FsbGJhY2tzOmRlZmVyc107CiB9CiAKLSNp
ZiBQTEFURk9STShNQUMpCisjaWYgIVVTRShDRk5FVFdPUkspCiAKIHZvaWQgUmVzb3VyY2VIYW5k
bGU6OnNjaGVkdWxlKFNjaGVkdWxlUGFpciYgcGFpcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdh
dGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJj
ZUhhbmRsZUFzRGVsZWdhdGUuaAppbmRleCA0ZjQxNTVlYWZkOTQ1YjFiODYyZDI5Y2U4OTZkY2Fk
Y2RhMWM0MjY2Li5hYTdlMWNiNGE0ZGMyZTU2MmE4NmIxMzcyOTBhMTYwOTdhNzhlOTRiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3Vy
Y2VIYW5kbGVBc0RlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZS5oCkBAIC0yNiwxNyArMjYsMjAg
QEAKICNpZm5kZWYgV2ViQ29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZV9oCiAjZGVmaW5lIFdl
YkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGVfaAogCi0jaWYgIVVTRShDRk5FVFdPUkspCi0K
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJlc291cmNlSGFuZGxlOwogfQogCi1AaW50ZXJm
YWNlIFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUgOiBOU09iamVjdCA8TlNVUkxDb25u
ZWN0aW9uRGVsZWdhdGU+IHsKK0Bwcm90b2NvbCBXZWJDb3JlUmVzb3VyY2VMb2FkZXJEZWxlZ2F0
ZQorLSAodm9pZClkZXRhY2hIYW5kbGU7CitAZW5kCisKKyNpZiAhVVNFKENGTkVUV09SSykKKwor
QGludGVyZmFjZSBXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlIDogTlNPYmplY3QgPE5T
VVJMQ29ubmVjdGlvbkRlbGVnYXRlLCBXZWJDb3JlUmVzb3VyY2VMb2FkZXJEZWxlZ2F0ZT4gewog
ICAgIFdlYkNvcmU6OlJlc291cmNlSGFuZGxlKiBtX2hhbmRsZTsKIH0KIC0gKGlkKWluaXRXaXRo
SGFuZGxlOihXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSopaGFuZGxlOwotLSAodm9pZClkZXRhY2hI
YW5kbGU7CiBAZW5kCiAKICNlbmRpZiAvLyAhVVNFKENGTkVUV09SSykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFz
RGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3Jl
UmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlLm1tCmluZGV4IGUxN2NiOWQyMGVkN2RiZDUxNzkzYzM2
NGViMzJjMTU4OTVlYmE1M2EuLmRjM2JkOGFiNWRjYTk2ZTc1MzNiYjgwODc4YjMzNTI3NDE4ZTQz
ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNv
cmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZS5tbQpAQCAtNTQs
NyArNTQsNyBAQCAtIChpZClpbml0V2l0aEhhbmRsZTooUmVzb3VyY2VIYW5kbGUqKWhhbmRsZQog
CiAtICh2b2lkKWRldGFjaEhhbmRsZQogewotICAgIG1faGFuZGxlID0gMDsKKyAgICBtX2hhbmRs
ZSA9IG51bGxwdHI7CiB9CiAKIC0gKE5TVVJMUmVxdWVzdCAqKWNvbm5lY3Rpb246KE5TVVJMQ29u
bmVjdGlvbiAqKWNvbm5lY3Rpb24gd2lsbFNlbmRSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKiluZXdS
ZXF1ZXN0IHJlZGlyZWN0UmVzcG9uc2U6KE5TVVJMUmVzcG9uc2UgKilyZWRpcmVjdFJlc3BvbnNl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3Jl
UmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVl
dWVEZWxlZ2F0ZS5oCmluZGV4IGU3NDBhYTU5YmVkNjNiYWI5MDc2ZjA3OTNhYjNkMDNkZTAwMmIw
NTEuLmJhYmRhZDJjNDQ1MjRiODJlZDk3MDYwZDlkYTg3MzY4NjY4ZGVkMzMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRs
ZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0
ZS5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiAhVVNFKENGTkVUV09SSykKIAorI2luY2x1ZGUg
IldlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUuaCIKICNpbmNsdWRlIDxkaXNwYXRjaC9k
aXNwYXRjaC5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIApAQCAtMzUsNyArMzYsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSZXNvdXJjZUhhbmRsZTsKIH0KIAotQGludGVy
ZmFjZSBXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgOiBOU09i
amVjdCA8TlNVUkxDb25uZWN0aW9uRGVsZWdhdGU+IHsKK0BpbnRlcmZhY2UgV2ViQ29yZVJlc291
cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIDogTlNPYmplY3QgPE5TVVJMQ29ubmVj
dGlvbkRlbGVnYXRlLCBXZWJDb3JlUmVzb3VyY2VMb2FkZXJEZWxlZ2F0ZT4gewogICAgIFdlYkNv
cmU6OlJlc291cmNlSGFuZGxlKiBtX2hhbmRsZTsKIAogICAgIC8vIFN5bmNocm9ub3VzIGRlbGVn
YXRlcyBvbiBvcGVyYXRpb24gcXVldWUgd2FpdCB1bnRpbCBtYWluIHRocmVhZCBzZW5kcyBhbiBh
c3luY2hyb25vdXMgcmVzcG9uc2UuCkBAIC00Niw3ICs0Nyw2IEBAIGNsYXNzIFJlc291cmNlSGFu
ZGxlOwogfQogCiAtIChpZClpbml0V2l0aEhhbmRsZTooV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUq
KWhhbmRsZTsKLS0gKHZvaWQpZGV0YWNoSGFuZGxlOwogLSAodm9pZCljb250aW51ZVdpbGxTZW5k
UmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopbmV3UmVxdWVzdDsKIC0gKHZvaWQpY29udGludWVEaWRS
ZWNlaXZlUmVzcG9uc2U7CiAjaWYgVVNFKFBST1RFQ1RJT05fU1BBQ0VfQVVUSF9DQUxMQkFDSykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9OU1VSTERvd25s
b2FkU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvTlNVUkxEb3dubG9h
ZFNQSS5oCmluZGV4IDNmM2EzYmNiOGVjNjQ4ZDRhZTVhNzAxNzVhNzU2NTE3Zjg1ZGQwZDUuLjMw
YzI4ZTczMjk4YjI3M2I4NDFlYTgxNDlhZDIyYzE2MzNhN2FjNTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9OU1VSTERvd25sb2FkU1BJLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL05TVVJMRG93bmxvYWRTUEkuaApAQCAtMjks
NiArMjksMTQgQEAKIAogI2ltcG9ydCA8Rm91bmRhdGlvbi9OU1VSTERvd25sb2FkLmg+CiAKKyNp
ZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8Rm91bmRhdGlvbi9OU1VSTERvd25s
b2FkUHJpdmF0ZS5oPgorI2Vsc2UKK0BpbnRlcmZhY2UgTlNVUkxEb3dubG9hZCAoKQorKyhpZClf
ZG93bmxvYWRXaXRoTG9hZGluZ0Nvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rp
b24gcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCByZXNwb25zZTooTlNVUkxSZXNwb25z
ZSAqKXJlc3BvbnNlIGRlbGVnYXRlOihpZClkZWxlZ2F0ZSBwcm94eTooaWQpcHJveHk7CitAZW5k
CisjZW5kaWYKKwogI2Vsc2UKIAogQGNsYXNzIE5TU3RyaW5nOwpAQCAtNTYsOCArNjQsMjIgQEAK
IC0gKHZvaWQpZG93bmxvYWQ6KE5TVVJMRG93bmxvYWQgKilkb3dubG9hZCBkaWRGYWlsV2l0aEVy
cm9yOihOU0Vycm9yICopZXJyb3I7CiBAZW5kCiAKKyNpZm5kZWYgV2ViRG93bmxvYWRfaAorLyog
QWxzbyBkZWZpbmVkIGluIDxXZWJLaXQvV2ViRG93bmxvYWQuaD4uICovCitAaW50ZXJmYWNlIE5T
VVJMRG93bmxvYWQgOiBOU09iamVjdAorQGVuZAorI2VuZGlmCisKIEBpbnRlcmZhY2UgTlNVUkxE
b3dubG9hZCAoKQogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoUmVxdWVzdDooTlNVUkxSZXF1ZXN0
ICopcmVxdWVzdCBkZWxlZ2F0ZTooaWQgPE5TVVJMRG93bmxvYWREZWxlZ2F0ZT4pZGVsZWdhdGU7
CistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhSZXN1bWVEYXRhOihOU0RhdGEgKilyZXN1bWVEYXRh
IGRlbGVnYXRlOihpZCA8TlNVUkxEb3dubG9hZERlbGVnYXRlPilkZWxlZ2F0ZSBwYXRoOihOU1N0
cmluZyAqKXBhdGg7CistICh2b2lkKWNhbmNlbDsKKy0gKHZvaWQpc2V0RGVzdGluYXRpb246KE5T
U3RyaW5nICopcGF0aCBhbGxvd092ZXJ3cml0ZTooQk9PTClhbGxvd092ZXJ3cml0ZTsKK0Bwcm9w
ZXJ0eSAocmVhZG9ubHksIGNvcHkpIE5TVVJMUmVxdWVzdCAqcmVxdWVzdDsKK0Bwcm9wZXJ0eSAo
cmVhZG9ubHksIGNvcHkpIE5TRGF0YSAqcmVzdW1lRGF0YTsKK0Bwcm9wZXJ0eSBCT09MIGRlbGV0
ZXNGaWxlVXBvbkZhaWx1cmU7CisKKysoaWQpX2Rvd25sb2FkV2l0aExvYWRpbmdDb25uZWN0aW9u
OihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJl
cXVlc3QgcmVzcG9uc2U6KE5TVVJMUmVzcG9uc2UgKilyZXNwb25zZSBkZWxlZ2F0ZTooaWQpZGVs
ZWdhdGUgcHJveHk6KGlkKXByb3h5OwogQGVuZAogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvbWFjL01pc2MvV2ViRG93bmxvYWQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2Mv
V2ViRG93bmxvYWQuaAppbmRleCBlMjQyZTZkYjljOTdmODhkYmE4YjFlMGFmZWFhODc0YWM1MWZi
NTQ5Li5jYWE1NTcwYTU2MGUzM2YxZmI5Zjg5YWJiODg1YzJkMTM1MzgyODQ5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYkRvd25sb2FkLmgKKysrIGIvU291cmNlL1dlYktp
dC9tYWMvTWlzYy9XZWJEb3dubG9hZC5oCkBAIC0yNiw2ICsyNiw5IEBACiAgKiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
ICovCiAKKyNpZm5kZWYgV2ViRG93bmxvYWRfaAorI2RlZmluZSBXZWJEb3dubG9hZF9oCisKICNp
ZiAhVEFSR0VUX09TX0lQSE9ORSB8fCAoZGVmaW5lZCBVU0VfQVBQTEVfSU5URVJOQUxfU0RLICYm
IFVTRV9BUFBMRV9JTlRFUk5BTF9TREspCiAjaW1wb3J0IDxGb3VuZGF0aW9uL05TVVJMRG93bmxv
YWQuaD4KICNlbHNlCkBAIC03OCwzICs4MSw1IEBACiAtIChOU1dpbmRvdyAqKWRvd25sb2FkV2lu
ZG93Rm9yQXV0aGVudGljYXRpb25TaGVldDooV2ViRG93bmxvYWQgKilkb3dubG9hZDsKIAogQGVu
ZAorCisjZW5kaWYgLyogV2ViRG93bmxvYWRfaCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvTWlzYy9XZWJLaXRWZXJzaW9uQ2hlY2tzLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9NaXNj
L1dlYktpdFZlcnNpb25DaGVja3MuaAppbmRleCBjODExMjAxMjVkNGRmYjY5MzFhZmVkNDFlZDEw
MDE5YmYwN2JmZGY0Li5iNTMzMzU0YzM3MTJiZjA2NzlmMzk4NjNiYWViNWUxMmUzZGIzNzRiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdFZlcnNpb25DaGVja3MuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdFZlcnNpb25DaGVja3MuaApAQCAtNzIs
NiArNzIsNyBAQAogI2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX0NTU19BVFRSSUJV
VEVfU0VUVEVSU19JR05PUklOR19QUklPUklUWSAyMjM5IC8vIGlPUyA2LjAKICNkZWZpbmUgV0VC
S0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9ZT1VUVUJFX0VNQkVEX0lGUkFNRV9UUkFOU0ZPUk0gMjIz
OSAvLyBpT1MgNi4wCiAjZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhPVVRfTEVHQUNZ
X0JBQ0tHUk9VTkRTSVpFX1NIT1JUSEFORF9CRUhBVklPUiAyNjY1IC8vIGlPUyA3LjAKKyNkZWZp
bmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9MT0FESU5HX0RVUklOR19DT01NT05fUlVOTE9P
UF9NT0RFUyAyNjY1IC8vIGlPUyA3LjAKICNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lU
SF9JTlNFQ1VSRV9DT05URU5UX0JMT0NLSU5HIDM0NTQKICNlbmRpZiAvLyBQTEFURk9STShJT1Mp
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCAwZTljZDMxYTM2MjIzMzZh
ZjRiZmIwZTdjNzMyMjA1OGRiNjJlODhjLi45YTkyYTg4NGM5NzZlZDQxOTcwMDExYzMzMWQ3OTE5
NGM5NWMzMTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0xMDI2LDE0
ICsxMDI2LDE2IEBAIC0gKHZvaWQpX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZToo
TlNTdHJpbmcgKilmcmFtZU5hbWUgZ3JvdXBOYW1lOihOU1N0CiAKICAgICBbV2ViRnJhbWUgX2Ny
ZWF0ZU1haW5GcmFtZVdpdGhQYWdlOl9wcml2YXRlLT5wYWdlIGZyYW1lTmFtZTpmcmFtZU5hbWUg
ZnJhbWVWaWV3OmZyYW1lVmlld107CiAKLSNpZiAhUExBVEZPUk0oSU9TKQorI2lmIFBMQVRGT1JN
KElPUykKKyAgICBOU1J1bkxvb3AgKnJ1bkxvb3AgPSBXZWJUaHJlYWROU1J1bkxvb3AoKTsKKyNl
bHNlCiAgICAgTlNSdW5Mb29wICpydW5Mb29wID0gW05TUnVuTG9vcCBtYWluUnVuTG9vcF07Cisj
ZW5kaWYKIAogICAgIGlmIChXZWJLaXRMaW5rZWRPbk9yQWZ0ZXIoV0VCS0lUX0ZJUlNUX1ZFUlNJ
T05fV0lUSF9MT0FESU5HX0RVUklOR19DT01NT05fUlVOTE9PUF9NT0RFUykpCiAgICAgICAgIFtz
ZWxmIHNjaGVkdWxlSW5SdW5Mb29wOnJ1bkxvb3AgZm9yTW9kZTooTlNTdHJpbmcgKilrQ0ZSdW5M
b29wQ29tbW9uTW9kZXNdOwogICAgIGVsc2UKICAgICAgICAgW3NlbGYgc2NoZWR1bGVJblJ1bkxv
b3A6cnVuTG9vcCBmb3JNb2RlOk5TRGVmYXVsdFJ1bkxvb3BNb2RlXTsKLSNlbmRpZgogCiAgICAg
W3NlbGYgX2FkZFRvQWxsV2ViVmlld3NTZXRdOwogICAgIApAQCAtNjYxOCw3ICs2NjIwLDYgQEAg
QGVuZAogCiBAaW1wbGVtZW50YXRpb24gV2ViVmlldyAoV2ViUGVuZGluZ1B1YmxpYykKIAotI2lm
ICFQTEFURk9STShJT1MpCiAtICh2b2lkKXNjaGVkdWxlSW5SdW5Mb29wOihOU1J1bkxvb3AgKily
dW5Mb29wIGZvck1vZGU6KE5TU3RyaW5nICopbW9kZQogewogI2lmIFVTRShDRk5FVFdPUkspCkBA
IC02NjQwLDcgKzY2NDEsNiBAQCAtICh2b2lkKXVuc2NoZWR1bGVGcm9tUnVuTG9vcDooTlNSdW5M
b29wICopcnVuTG9vcCBmb3JNb2RlOihOU1N0cmluZyAqKW1vZGUKICAgICBpZiAocnVuTG9vcCAm
JiBtb2RlKQogICAgICAgICBjb3JlKHNlbGYpLT5yZW1vdmVTY2hlZHVsZVBhaXIoU2NoZWR1bGVQ
YWlyOjpjcmVhdGUoc2NoZWR1bGVQYWlyUnVuTG9vcCwgKENGU3RyaW5nUmVmKW1vZGUpKTsKIH0K
LSNlbmRpZgogCiBzdGF0aWMgQk9PTCBmaW5kU3RyaW5nKE5TVmlldyA8V2ViRG9jdW1lbnRTZWFy
Y2hpbmc+ICpzZWFyY2hWaWV3LCBOU1N0cmluZyAqc3RyaW5nLCBXZWJGaW5kT3B0aW9ucyBvcHRp
b25zKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3UHJp
dmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oCmluZGV4
IDc5NmMwZjQyYTc2OTlmMTg2ZjBlNGMwMzdkMTE0NjdjNDZiMTAyOTQuLmY0MzA0OTk2NDVkN2Y5
NTAwN2MxY2JhMGU5Y2ZhYzAxOThjZjNjMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVmlld1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlZpZXdQcml2YXRlLmgKQEAgLTE5OCwxMCArMTk4LDggQEAgdHlwZWRlZiBlbnVtIHsKIAog
QGludGVyZmFjZSBXZWJWaWV3IChXZWJQZW5kaW5nUHVibGljKQogCi0jaWYgIVRBUkdFVF9PU19J
UEhPTkUKIC0gKHZvaWQpc2NoZWR1bGVJblJ1bkxvb3A6KE5TUnVuTG9vcCAqKXJ1bkxvb3AgZm9y
TW9kZTooTlNTdHJpbmcgKiltb2RlOwogLSAodm9pZCl1bnNjaGVkdWxlRnJvbVJ1bkxvb3A6KE5T
UnVuTG9vcCAqKXJ1bkxvb3AgZm9yTW9kZTooTlNTdHJpbmcgKiltb2RlOwotI2VuZGlmCiAKIC0g
KEJPT0wpZmluZFN0cmluZzooTlNTdHJpbmcgKilzdHJpbmcgb3B0aW9uczooV2ViRmluZE9wdGlv
bnMpb3B0aW9uczsKIC0gKERPTVJhbmdlICopRE9NUmFuZ2VPZlN0cmluZzooTlNTdHJpbmcgKilz
dHJpbmcgcmVsYXRpdmVUbzooRE9NUmFuZ2UgKilwcmV2aW91c1JhbmdlIG9wdGlvbnM6KFdlYkZp
bmRPcHRpb25zKW9wdGlvbnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9Eb3dubG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1tIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvRG93bmxvYWRzL2lvcy9Eb3dubG9hZElPUy5tbQppbmRleCBkMGU4MGU2MjAzODRj
MTc4MDE3MDEzODYxZjc1MjA4ZTc1YjVjYzA5Li4xMDNhODk2MTVlYWFlYWVkYjJmMGZkMjNhNTNj
NTdlMTk2NTFmYmMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9E
b3dubG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL0Rvd25sb2Fkcy9pb3MvRG93bmxvYWRJT1MubW0KQEAgLTI2LDkgKzI2LDEwIEBACiAj
aW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkRvd25sb2FkLmgiCiAKLSNpZiBQTEFURk9STShJ
T1MpICYmICFVU0UoTkVUV09SS19TRVNTSU9OKQorI2lmIFVTRShDRk5FVFdPUkspICYmICFVU0Uo
TkVUV09SS19TRVNTSU9OKQogCiAjaW1wb3J0ICJEYXRhUmVmZXJlbmNlLmgiCisjaW1wb3J0IDxD
Rk5ldHdvcmsvQ0ZVUkxEb3dubG9hZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRl
ZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L1Jlc291cmNlSGFuZGxlLmg+CkBAIC0zNiwxNSArMzcsMTAgQEAKICNpbXBvcnQgPHd0Zi9SZXRh
aW5QdHIuaD4KICNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CiAKLSNpZiBVU0UoQ0ZORVRXT1JLKQot
I2ltcG9ydCA8Q0ZOZXR3b3JrL0NGVVJMRG93bmxvYWQuaD4KLSNlbmRpZgotCiB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLSNpZiBVU0UoQ0ZORVRXT1JL
KQogLy8gRklYTUU6IElmIHBvc3NpYmxlLCB3ZSBzaG91bGQgY29uc2lkZXIgbW92aW5nIHNvbWUg
Y2FsbGJhY2tzIG9mZiB0aGUgbWFpbiB0aHJlYWQgb3IgYXQgbGVhc3QKIC8vIG1ha2luZyB0aGVt
IGFzeW5jaG9ub3VzIGNhbGxzLgogc3RhdGljIHZvaWQgZGlzcGF0Y2hPbk1haW5UaHJlYWQodm9p
ZCheYmxvY2spKCkpCkBAIC0xMjUsNyArMTIxLDYgQEAgc3RhdGljIHZvaWQgc2V0VXBEb3dubG9h
ZENsaWVudChDRlVSTERvd25sb2FkQ2xpZW50JiBjbGllbnQsIERvd25sb2FkJiBkb3dubG9hZCkK
ICAgICAgICAgfSk7CiAgICAgfTsKIH0KLSNlbmRpZiAvLyBVU0UoQ0ZORVRXT1JLKQogCiB2b2lk
IERvd25sb2FkOjpzdGFydCgpCiB7CkBAIC0xMzksMTYgKzEzNCwxMiBAQCB2b2lkIERvd25sb2Fk
OjpyZXN1bWUoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiwgY29uc3QgU3RyaW5nJiwgY29uc3Qg
U2FuZGJveEV4dAogCiB2b2lkIERvd25sb2FkOjpzdGFydFdpdGhIYW5kbGUoUmVzb3VyY2VIYW5k
bGUqIGhhbmRsZSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7Ci0jaWYgVVNF
KENGTkVUV09SSykKICAgICBDRlVSTERvd25sb2FkQ2xpZW50IGNsaWVudDsKICAgICBzZXRVcERv
d25sb2FkQ2xpZW50KGNsaWVudCwgKnRoaXMpOwogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1
c2gKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV2RlcHJlY2F0ZWQtZGVjbGFy
YXRpb25zIgogICAgIG1fZG93bmxvYWQgPSBhZG9wdENGKENGVVJMRG93bmxvYWRDcmVhdGVBbmRT
dGFydFdpdGhMb2FkaW5nQ29ubmVjdGlvbihOVUxMLCBoYW5kbGUtPnJlbGVhc2VDb25uZWN0aW9u
Rm9yRG93bmxvYWQoKS5nZXQoKSwgbV9yZXF1ZXN0LmNmVVJMUmVxdWVzdChVcGRhdGVIVFRQQm9k
eSksIHJlc3BvbnNlLmNmVVJMUmVzcG9uc2UoKSwgJmNsaWVudCkpOwogI3ByYWdtYSBjbGFuZyBk
aWFnbm9zdGljIHBvcAotI2Vsc2UKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotI2VuZGlmCiB9CiAK
IHZvaWQgRG93bmxvYWQ6OmNhbmNlbCgpCkBAIC0xOTMsNCArMTg0LDQgQEAgdm9pZCBEb3dubG9h
ZDo6cmVjZWl2ZWRDaGFsbGVuZ2VSZWplY3Rpb24oY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRp
b25DaGFsbGVuZ2UKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBQTEFURk9S
TShJT1MpCisjZW5kaWYgLy8gVVNFKENGTkVUV09SSykgJiYgIVVTRShORVRXT1JLX1NFU1NJT04p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvbWFj
L0Rvd25sb2FkTWFjLm1tIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRz
L21hYy9Eb3dubG9hZE1hYy5tbQppbmRleCA5YzdkOTUzMzg1ZWY2M2E2NmRmNzU2MjcxOGVjOGE3
NmQ3ZGZiOTY1Li4xMjMxYjQyNTE3ZDk0YmE0YzY0NDljNWJmMTM2MDM3YWE0MTI4NDFjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvbWFjL0Rvd25s
b2FkTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9t
YWMvRG93bmxvYWRNYWMubW0KQEAgLTI2LDEwICsyNiwxMSBAQAogI2ltcG9ydCAiY29uZmlnLmgi
CiAjaW1wb3J0ICJEb3dubG9hZC5oIgogCi0jaWYgUExBVEZPUk0oTUFDKSAmJiAhVVNFKE5FVFdP
UktfU0VTU0lPTikKKyNpZiAhVVNFKENGTkVUV09SSykgJiYgIVVTRShORVRXT1JLX1NFU1NJT04p
CiAKICNpbXBvcnQgPFdlYkNvcmUvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaD4KICNpbXBvcnQg
PFdlYkNvcmUvQXV0aGVudGljYXRpb25NYWMuaD4KKyNpbXBvcnQgPFdlYkNvcmUvTlNVUkxEb3du
bG9hZFNQSS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2ltcG9ydCA8
V2ViQ29yZS9SZXNvdXJjZUhhbmRsZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZUhhbmRs
ZUNsaWVudC5oPgpAQCAtMzcsMTQgKzM4LDYgQEAKICNpbXBvcnQgIkRhdGFSZWZlcmVuY2UuaCIK
ICNpbXBvcnQgIldlYlBhZ2UuaCIKIAotQGludGVyZmFjZSBOU1VSTERvd25sb2FkIChXZWJOU1VS
TERvd25sb2FkRGV0YWlscykKLSsoaWQpX2Rvd25sb2FkV2l0aExvYWRpbmdDb25uZWN0aW9uOihO
U1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
cmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcmVzcG9uc2U6KE5TVVJMUmVzcG9uc2UgKilyCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICBkZWxlZ2F0ZTooaWQpZGVsZWdhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBy
b3h5OihpZClwcm94eTsKLUBlbmQKLQogQGludGVyZmFjZSBXS0Rvd25sb2FkQXNEZWxlZ2F0ZSA6
IE5TT2JqZWN0IDxOU1VSTERvd25sb2FkRGVsZWdhdGU+IHsKICAgICBXZWJLaXQ6OkRvd25sb2Fk
KiBfZG93bmxvYWQ7CiB9CkBAIC03NywxMSArNzAsMTQgQEAgdm9pZCBEb3dubG9hZDo6c3RhcnRX
aXRoSGFuZGxlKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
IHIKICAgICBBU1NFUlQoIW1fZGVsZWdhdGUpOwogCiAgICAgbV9kZWxlZ2F0ZSA9IGFkb3B0TlMo
W1tXS0Rvd25sb2FkQXNEZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhEb3dubG9hZDp0aGlzXSk7Cisj
cHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGln
bm9yZWQgIi1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiCiAgICAgbV9uc1VSTERvd25sb2FkID0g
W05TVVJMRG93bmxvYWQgX2Rvd25sb2FkV2l0aExvYWRpbmdDb25uZWN0aW9uOmhhbmRsZS0+Y29u
bmVjdGlvbigpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICByZXF1ZXN0Om1fcmVxdWVzdC5uc1VSTFJlcXVlc3QoVXBkYXRlSFRUUEJv
ZHkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJlc3BvbnNlOnJlc3BvbnNlLm5zVVJMUmVzcG9uc2UoKQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZWdhdGU6bV9k
ZWxlZ2F0ZS5nZXQoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHJveHk6bmlsXTsKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3Rp
YyBwb3AKIAogICAgIC8vIEZJWE1FOiBBbGxvdyB0aGlzIHRvIGJlIGNoYW5nZWQgYnkgdGhlIGNs
aWVudC4KICAgICBbbV9uc1VSTERvd25sb2FkIHNldERlbGV0ZXNGaWxlVXBvbkZhaWx1cmU6Tk9d
OwpAQCAtMzA4LDQgKzMwNCw0IEBAIC0gKHZvaWQpZG93bmxvYWQ6KE5TVVJMRG93bmxvYWQgKilk
b3dubG9hZCBkaWRGYWlsV2l0aEVycm9yOihOU0Vycm9yICopZXJyb3IKIAogQGVuZAogCi0jZW5k
aWYgLy8gUExBVEZPUk0oTUFDKSAmJiAhVVNFKE5FVFdPUktfU0VTU0lPTikKKyNlbmRpZiAvLyAh
VVNFKENGTkVUV09SSykgJiYgIVVTRShORVRXT1JLX1NFU1NJT04pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKaW5kZXggNjk2ODAxNTlmY2Qw
MTU2YmFjZDBjZjQ5MWUzMTM4NmUzYWVhMmRjZS4uYTE0NjRiOTlkOTJmMjlmMmZhYjY5NDIzYzlk
MDg1NzY4MDZiM2UwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLmNwcApAQCAtMTk4LDcgKzE5OCw3IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6
OmluaXRpYWxpemVOZXR3b3JrUHJvY2Vzcyhjb25zdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFy
YW1lCiAKICAgICBzZXRDYW5IYW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbihwYXJhbWV0
ZXJzLmNhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uKTsKIAotI2lmIFBMQVRGT1JN
KE1BQykgfHwgVVNFKENGTkVUV09SSykKKyNpZiBQTEFURk9STShDT0NPQSkgfHwgVVNFKENGTkVU
V09SSykKICAgICBTZXNzaW9uVHJhY2tlcjo6c2V0SWRlbnRpZmllckJhc2UocGFyYW1ldGVycy51
aVByb2Nlc3NCdW5kbGVJZGVudGlmaWVyKTsKICNlbmRpZgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268918</attachid>
            <date>2016-01-13 16:54:16 -0800</date>
            <delta_ts>2016-01-14 04:05:12 -0800</delta_ts>
            <desc>Part 2/2: Stop using USE(CFNETWORK) on iOS</desc>
            <filename>bug-142540-20160113165346.patch</filename>
            <type>text/plain</type>
            <size>1085</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0NzA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDhhYTY1ZjY2ODk3NDNlOGMzMDEyYjA1
MmNjMDRiODViMTdhOGJmYmMuLjY2MmVmOTM5ZjRlZDQwNDVjOTNlZmE3NjY2ODZhMTI4YmE2OThm
YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTYtMDEtMTMgIERhdmlkIEtpbHplciAgPGRka2ls
emVyQGFwcGxlLmNvbT4KKworICAgICAgICBQYXJ0IDIvMjogU3RvcCB1c2luZyBVU0UoQ0ZORVRX
T1JLKSBwYXRoIG9uIGlPUworICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTQyNTQwPgor
CisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IEFudHRpIEtvaXZpc3RvIDxhbnR0aUBhcHBsZS5j
b20+IG9uIDIwMTUtMDMtMTAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDogVHVybiBvZmYgVVNFKENGTkVUV09SSykgZm9yIFBM
QVRGT1JNKElPUykuCisKIDIwMTYtMDEtMDYgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFw
cGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBzbWFydCBibG9jayBwb2ludGVyCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApp
bmRleCA2MmIyNTBjNzQ3ZGNiOWRlMmU4NmU2OWM0MGM3NTE0MzVmYjk3ZTNkLi5hNTlhZjI3Mzk1
ZTk3YWM0MTgxOTIyZTRmM2VlZGZmZWU1NDcyZDFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKQEAgLTU0NSw5ICs1
NDUsNiBAQAogI2lmIFBMQVRGT1JNKElPUykKIAogI2RlZmluZSBIQVZFX1JFQURMSU5FIDEKLSNp
ZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2RlZmluZSBVU0VfQ0ZORVRXT1JLIDEKLSNlbmRp
ZgogI2RlZmluZSBVU0VfVUlLSVRfRURJVElORyAxCiAjZGVmaW5lIFVTRV9XRUJfVEhSRUFEIDEK
IAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>