<?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>175920</bug_id>
          
          <creation_ts>2017-08-23 19:19:57 -0700</creation_ts>
          <short_desc>Reduce Gigacage sizes</short_desc>
          <delta_ts>2017-08-24 11:01:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>bmalloc</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dbates</cc>
    
    <cc>ggaren</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>kling</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rniwa</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1341934</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-08-23 19:19:57 -0700</bug_when>
    <thetext>Reducing Gigacage sizes saves memory on some devices.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341938</commentid>
    <comment_count>1</comment_count>
      <attachid>318957</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-08-23 19:29:18 -0700</bug_when>
    <thetext>Created attachment 318957
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341940</commentid>
    <comment_count>2</comment_count>
      <attachid>318959</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-08-23 19:36:15 -0700</bug_when>
    <thetext>Created attachment 318959
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341944</commentid>
    <comment_count>3</comment_count>
      <attachid>318959</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-08-23 19:42:53 -0700</bug_when>
    <thetext>Comment on attachment 318959
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341963</commentid>
    <comment_count>4</comment_count>
      <attachid>318966</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-08-23 21:25:45 -0700</bug_when>
    <thetext>Created attachment 318966
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341964</commentid>
    <comment_count>5</comment_count>
      <attachid>318966</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-08-23 21:29:42 -0700</bug_when>
    <thetext>Comment on attachment 318966
the patch

Already reviewed by Mark.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1342092</commentid>
    <comment_count>6</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-08-24 11:00:36 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/221148/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1342094</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-08-24 11:01:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/34062092&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318957</attachid>
            <date>2017-08-23 19:29:18 -0700</date>
            <delta_ts>2017-08-23 19:36:15 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>14977</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjIxMDg3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBA
CisyMDE3LTA4LTIzICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
UmVkdWNlIEdpZ2FjYWdlIHNpemVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzU5MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUZWFjaCBhbGwgb2YgdGhlIGNvZGUgZ2VuZXJhdG9ycyB0byB1c2UgdGhl
IHJpZ2h0IGdpZ2FjYWdlIG1hc2tzLgorCisgICAgICAgIEFsc28gdGVhY2ggV2FzbSB0aGF0IGl0
IGhhcyBtdWNoIGxlc3MgbWVtb3J5IGZvciBzaWduYWxpbmcgbWVtb3JpZXMuIFdpdGggMzJHQiwg
d2UgaGF2ZSByb29tIGZvciA3IHNpZ25hbGluZyBtZW1vcmllcy4gQnV0IGlmCisgICAgICAgIHdl
IGFjdHVhbGx5IGRpZCB0aGF0LCB0aGVuIHdlJ2QgaGF2ZSBubyBtZW1vcnkgbGVmdCBmb3IgYW55
dGhpbmcgZWxzZS4gU28sIHRoaXMgY2FwcyB1cyBhdCA0IHNpZ25hbGluZyBtZW1vcmllcy4KKwor
ICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvQjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRG
Rzo6TG93ZXJERkdUb0IzOjpjYWdlZCk6CisgICAgICAgICogaml0L0Fzc2VtYmx5SGVscGVycy5o
OgorICAgICAgICAoSlNDOjpBc3NlbWJseUhlbHBlcnM6OmNhZ2UpOgorICAgICAgICAoSlNDOjpB
c3NlbWJseUhlbHBlcnM6OmNhZ2VDb25kaXRpb25hbGx5KToKKyAgICAgICAgKiBsbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOgorICAgICAgICAqIHJ1bnRpbWUvT3B0aW9ucy5oOgorCiAy
MDE3LTA4LTIzICBSb2JpbiBNb3Jpc3NldCAgPHJtb3Jpc3NldEBhcHBsZS5jb20+CiAKICAgICAg
ICAgTWFrZSBHZXREeW5hbWljVmFyIHByb3BhZ2F0ZSBoZWFwIHByZWRpY3Rpb25zIGluc3RlYWQg
b2Ygc2F5aW5nIEhlYXBUb3AKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93
ZXJERkdUb0IzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TExvd2VyREZHVG9CMy5jcHAJKHJldmlzaW9uIDIyMTA4NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE2NTAsNyAr
MTE2NTAsNyBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBMVmFsdWUg
YmFzZVB0ciA9IG1fb3V0LmNvbnN0SW50UHRyKEdpZ2FjYWdlOjpiYXNlUHRyKGtpbmQpKTsKLSAg
ICAgICAgTFZhbHVlIG1hc2sgPSBtX291dC5jb25zdEludFB0cihHSUdBQ0FHRV9NQVNLKTsKKyAg
ICAgICAgTFZhbHVlIG1hc2sgPSBtX291dC5jb25zdEludFB0cihHaWdhY2FnZTo6bWFzayhraW5k
KSk7CiAgICAgICAgIAogICAgICAgICBMVmFsdWUgbWFza2VkID0gbV9vdXQuYml0QW5kKHB0ciwg
bWFzayk7CiAgICAgICAgIExWYWx1ZSByZXN1bHQgPSBtX291dC5hZGQobWFza2VkLCBiYXNlUHRy
KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuaAko
cmV2aXNpb24gMjIxMDg3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhl
bHBlcnMuaAkod29ya2luZyBjb3B5KQpAQCAtMTMxNyw3ICsxMzE3LDcgQEAgcHVibGljOgogICAg
ICAgICBpZiAoIUdpZ2FjYWdlOjpzaG91bGRCZUVuYWJsZWQoKSkKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgCi0gICAgICAgIGFuZFB0cihUcnVzdGVkSW1tUHRyKHN0YXRpY19jYXN0PHNp
emVfdD4oR0lHQUNBR0VfTUFTSykpLCBzdG9yYWdlKTsKKyAgICAgICAgYW5kUHRyKFRydXN0ZWRJ
bW1QdHIoR2lnYWNhZ2U6Om1hc2soa2luZCkpLCBzdG9yYWdlKTsKICAgICAgICAgYWRkUHRyKFRy
dXN0ZWRJbW1QdHIoR2lnYWNhZ2U6OmJhc2VQdHIoa2luZCkpLCBzdG9yYWdlKTsKICNlbHNlCiAg
ICAgICAgIFVOVVNFRF9QQVJBTShraW5kKTsKQEAgLTEzMzYsNyArMTMzNiw3IEBAIHB1YmxpYzoK
ICAgICAgICAgCiAgICAgICAgIGxvYWRQdHIoJkdpZ2FjYWdlOjpiYXNlUHRyKGtpbmQpLCBzY3Jh
dGNoKTsKICAgICAgICAgSnVtcCBkb25lID0gYnJhbmNoVGVzdFB0cihaZXJvLCBzY3JhdGNoKTsK
LSAgICAgICAgYW5kUHRyKFRydXN0ZWRJbW1QdHIoc3RhdGljX2Nhc3Q8c2l6ZV90PihHSUdBQ0FH
RV9NQVNLKSksIHN0b3JhZ2UpOworICAgICAgICBhbmRQdHIoVHJ1c3RlZEltbVB0cihHaWdhY2Fn
ZTo6bWFzayhraW5kKSksIHN0b3JhZ2UpOwogICAgICAgICBhZGRQdHIoc2NyYXRjaCwgc3RvcmFn
ZSk7CiAgICAgICAgIGRvbmUubGluayh0aGlzKTsKICNlbHNlCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbQkocmV2
aXNpb24gMjIxMDg3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc20JKHdvcmtpbmcgY29weSkKQEAgLTM3NiwxMiArMzc2LDEyIEBAIG1hY3Jv
IGNoZWNrU3dpdGNoVG9KSVRGb3JMb29wKCkKICAgICAgICAgZW5kKQogZW5kCiAKLW1hY3JvIGxv
YWRDYWdlZChiYXNlUHRyLCBzb3VyY2UsIGRlc3QsIHNjcmF0Y2gpCittYWNybyBsb2FkQ2FnZWQo
YmFzZVB0ciwgbWFzaywgc291cmNlLCBkZXN0LCBzY3JhdGNoKQogICAgIGxvYWRwIHNvdXJjZSwg
ZGVzdAogICAgIGlmIEdJR0FDQUdFX0VOQUJMRUQgYW5kIG5vdCBDX0xPT1AKICAgICAgICAgbG9h
ZHAgYmFzZVB0ciwgc2NyYXRjaAogICAgICAgICBidHB6IHNjcmF0Y2gsIC5kb25lCi0gICAgICAg
IGFuZHAgY29uc3RleHByIEdJR0FDQUdFX01BU0ssIGRlc3QKKyAgICAgICAgYW5kcCBtYXNrLCBk
ZXN0CiAgICAgICAgIGFkZHAgc2NyYXRjaCwgZGVzdAogICAgIC5kb25lOgogICAgIGVuZApAQCAt
MTIwOSw3ICsxMjA5LDcgQEAgX2xsaW50X29wX2lzX29iamVjdDoKIAogbWFjcm8gbG9hZFByb3Bl
cnR5QXRWYXJpYWJsZU9mZnNldChwcm9wZXJ0eU9mZnNldEFzSW50LCBvYmplY3RBbmRTdG9yYWdl
LCB2YWx1ZSkKICAgICBiaWx0IHByb3BlcnR5T2Zmc2V0QXNJbnQsIGZpcnN0T3V0T2ZMaW5lT2Zm
c2V0LCAuaXNJbmxpbmUKLSAgICBsb2FkQ2FnZWQoX2dfanNWYWx1ZUdpZ2FjYWdlQmFzZVB0ciwg
SlNPYmplY3Q6Om1fYnV0dGVyZmx5W29iamVjdEFuZFN0b3JhZ2VdLCBvYmplY3RBbmRTdG9yYWdl
LCB2YWx1ZSkKKyAgICBsb2FkQ2FnZWQoX2dfanNWYWx1ZUdpZ2FjYWdlQmFzZVB0ciwgY29uc3Rl
eHByIEpTVkFMVUVfR0lHQUNBR0VfTUFTSywgSlNPYmplY3Q6Om1fYnV0dGVyZmx5W29iamVjdEFu
ZFN0b3JhZ2VdLCBvYmplY3RBbmRTdG9yYWdlLCB2YWx1ZSkKICAgICBuZWdpIHByb3BlcnR5T2Zm
c2V0QXNJbnQKICAgICBzeGkycSBwcm9wZXJ0eU9mZnNldEFzSW50LCBwcm9wZXJ0eU9mZnNldEFz
SW50CiAgICAgam1wIC5yZWFkeQpAQCAtMTIyMiw3ICsxMjIyLDcgQEAgZW5kCiAKIG1hY3JvIHN0
b3JlUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0KHByb3BlcnR5T2Zmc2V0QXNJbnQsIG9iamVjdEFu
ZFN0b3JhZ2UsIHZhbHVlLCBzY3JhdGNoKQogICAgIGJpbHQgcHJvcGVydHlPZmZzZXRBc0ludCwg
Zmlyc3RPdXRPZkxpbmVPZmZzZXQsIC5pc0lubGluZQotICAgIGxvYWRDYWdlZChfZ19qc1ZhbHVl
R2lnYWNhZ2VCYXNlUHRyLCBKU09iamVjdDo6bV9idXR0ZXJmbHlbb2JqZWN0QW5kU3RvcmFnZV0s
IG9iamVjdEFuZFN0b3JhZ2UsIHNjcmF0Y2gpCisgICAgbG9hZENhZ2VkKF9nX2pzVmFsdWVHaWdh
Y2FnZUJhc2VQdHIsIGNvbnN0ZXhwciBKU1ZBTFVFX0dJR0FDQUdFX01BU0ssIEpTT2JqZWN0Ojpt
X2J1dHRlcmZseVtvYmplY3RBbmRTdG9yYWdlXSwgb2JqZWN0QW5kU3RvcmFnZSwgc2NyYXRjaCkK
ICAgICBuZWdpIHByb3BlcnR5T2Zmc2V0QXNJbnQKICAgICBzeGkycSBwcm9wZXJ0eU9mZnNldEFz
SW50LCBwcm9wZXJ0eU9mZnNldEFzSW50CiAgICAgam1wIC5yZWFkeQpAQCAtMTI5OCw3ICsxMjk4
LDcgQEAgX2xsaW50X29wX2dldF9hcnJheV9sZW5ndGg6CiAgICAgYnRpeiB0MiwgSXNBcnJheSwg
Lm9wR2V0QXJyYXlMZW5ndGhTbG93CiAgICAgYnRpeiB0MiwgSW5kZXhpbmdTaGFwZU1hc2ssIC5v
cEdldEFycmF5TGVuZ3RoU2xvdwogICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MSkKLSAg
ICBsb2FkQ2FnZWQoX2dfanNWYWx1ZUdpZ2FjYWdlQmFzZVB0ciwgSlNPYmplY3Q6Om1fYnV0dGVy
Zmx5W3QzXSwgdDAsIHQyKQorICAgIGxvYWRDYWdlZChfZ19qc1ZhbHVlR2lnYWNhZ2VCYXNlUHRy
LCBjb25zdGV4cHIgSlNWQUxVRV9HSUdBQ0FHRV9NQVNLLCBKU09iamVjdDo6bV9idXR0ZXJmbHlb
dDNdLCB0MCwgdDIpCiAgICAgbG9hZGkgLXNpemVvZiBJbmRleGluZ0hlYWRlciArIEluZGV4aW5n
SGVhZGVyOjp1Lmxlbmd0aHMucHVibGljTGVuZ3RoW3QwXSwgdDAKICAgICBiaWx0IHQwLCAwLCAu
b3BHZXRBcnJheUxlbmd0aFNsb3cKICAgICBvcnEgdGFnVHlwZU51bWJlciwgdDAKQEAgLTE0ODEs
NyArMTQ4MSw3IEBAIF9sbGludF9vcF9nZXRfYnlfdmFsOgogICAgIGxvYWRpc0Zyb21JbnN0cnVj
dGlvbigzLCB0MykKICAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzIodDMsIHQxLCAub3BH
ZXRCeVZhbFNsb3cpCiAgICAgc3hpMnEgdDEsIHQxCi0gICAgbG9hZENhZ2VkKF9nX2pzVmFsdWVH
aWdhY2FnZUJhc2VQdHIsIEpTT2JqZWN0OjptX2J1dHRlcmZseVt0MF0sIHQzLCB0NSkKKyAgICBs
b2FkQ2FnZWQoX2dfanNWYWx1ZUdpZ2FjYWdlQmFzZVB0ciwgY29uc3RleHByIEpTVkFMVUVfR0lH
QUNBR0VfTUFTSywgSlNPYmplY3Q6Om1fYnV0dGVyZmx5W3QwXSwgdDMsIHQ1KQogICAgIGFuZGkg
SW5kZXhpbmdTaGFwZU1hc2ssIHQyCiAgICAgYmllcSB0MiwgSW50MzJTaGFwZSwgLm9wR2V0QnlW
YWxJc0NvbnRpZ3VvdXMKICAgICBiaW5lcSB0MiwgQ29udGlndW91c1NoYXBlLCAub3BHZXRCeVZh
bE5vdENvbnRpZ3VvdXMKQEAgLTE1MjgsNyArMTUyOCw3IEBAIF9sbGludF9vcF9nZXRfYnlfdmFs
OgogICAgIGJpYSB0MiwgTGFzdEFycmF5VHlwZSAtIEZpcnN0QXJyYXlUeXBlLCAub3BHZXRCeVZh
bFNsb3cKICAgICAKICAgICAjIFN3ZWV0LCBub3cgd2Uga25vdyB0aGF0IHdlIGhhdmUgYSB0eXBl
ZCBhcnJheS4gRG8gc29tZSBiYXNpYyB0aGluZ3Mgbm93LgotICAgIGxvYWRDYWdlZChfZ19wcmlt
aXRpdmVHaWdhY2FnZUJhc2VQdHIsIEpTQXJyYXlCdWZmZXJWaWV3OjptX3ZlY3Rvclt0MF0sIHQz
LCB0NSkKKyAgICBsb2FkQ2FnZWQoX2dfcHJpbWl0aXZlR2lnYWNhZ2VCYXNlUHRyLCBjb25zdGV4
cHIgUFJJTUlUSVZFX0dJR0FDQUdFX01BU0ssIEpTQXJyYXlCdWZmZXJWaWV3OjptX3ZlY3Rvclt0
MF0sIHQzLCB0NSkKICAgICBiaWFlcSB0MSwgSlNBcnJheUJ1ZmZlclZpZXc6Om1fbGVuZ3RoW3Qw
XSwgLm9wR2V0QnlWYWxTbG93CiAgICAgCiAgICAgIyBOb3cgYmlzZWN0IHRocm91Z2ggdGhlIHZh
cmlvdXMgdHlwZXMuIE5vdGUgdGhhdCB3ZSBjYW4gdHJlYXQgVWludDhBcnJheVR5cGUgYW5kCkBA
IC0xNjE5LDcgKzE2MTksNyBAQCBtYWNybyBwdXRCeVZhbChzbG93UGF0aCkKICAgICBsb2FkaXNG
cm9tSW5zdHJ1Y3Rpb24oMiwgdDApCiAgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyKHQw
LCB0MywgLm9wUHV0QnlWYWxTbG93KQogICAgIHN4aTJxIHQzLCB0MwotICAgIGxvYWRDYWdlZChf
Z19qc1ZhbHVlR2lnYWNhZ2VCYXNlUHRyLCBKU09iamVjdDo6bV9idXR0ZXJmbHlbdDFdLCB0MCwg
dDUpCisgICAgbG9hZENhZ2VkKF9nX2pzVmFsdWVHaWdhY2FnZUJhc2VQdHIsIGNvbnN0ZXhwciBK
U1ZBTFVFX0dJR0FDQUdFX01BU0ssIEpTT2JqZWN0OjptX2J1dHRlcmZseVt0MV0sIHQwLCB0NSkK
ICAgICBhbmRpIEluZGV4aW5nU2hhcGVNYXNrLCB0MgogICAgIGJpbmVxIHQyLCBJbnQzMlNoYXBl
LCAub3BQdXRCeVZhbE5vdEludDMyCiAgICAgY29udGlndW91c1B1dEJ5VmFsKApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAkocmV2aXNpb24gMjIxMDg3KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBA
IC00NjUsNyArNDY1LDcgQEAgdHlwZWRlZiBjb25zdCBjaGFyKiBvcHRpb25TdHJpbmc7CiAgICAg
dihib29sLCBsb2dXZWJBc3NlbWJseU1lbW9yeSwgZmFsc2UsIE5vcm1hbCwgbnVsbHB0cikgXAog
ICAgIHYodW5zaWduZWQsIHdlYkFzc2VtYmx5RmFzdE1lbW9yeVJlZHpvbmVQYWdlcywgMTI4LCBO
b3JtYWwsICJXZWJBc3NlbWJseSBmYXN0IG1lbW9yaWVzIHVzZSA0R2lCIHZpcnR1YWwgYWxsb2Nh
dGlvbnMsIHBsdXMgYSByZWR6b25lIChjb3VudGVkIGFzIG11bHRpcGxlIG9mIDY0S2lCIFdlYkFz
c2VtYmx5IHBhZ2VzKSBhdCB0aGUgZW5kIHRvIGNhdGNoIHJlZytpbW0gYWNjZXNzZXMgd2hpY2gg
ZXhjZWVkIDMyLWJpdCwgYW55dGhpbmcgYmV5b25kIHRoZSByZWR6b25lIGlzIGV4cGxpY2l0bHkg
Ym91bmRzLWNoZWNrZWQiKSBcCiAgICAgdihib29sLCBjcmFzaElmV2ViQXNzZW1ibHlDYW50RmFz
dE1lbW9yeSwgZmFsc2UsIE5vcm1hbCwgIklmIHRydWUsIHdlIHdpbGwgY3Jhc2ggaWYgd2UgY2Fu
J3Qgb2J0YWluIGZhc3QgbWVtb3J5IGZvciB3YXNtLiIpIFwKLSAgICB2KHVuc2lnbmVkLCBtYXhO
dW1XZWJBc3NlbWJseUZhc3RNZW1vcmllcywgMTAsIE5vcm1hbCwgbnVsbHB0cikgXAorICAgIHYo
dW5zaWduZWQsIG1heE51bVdlYkFzc2VtYmx5RmFzdE1lbW9yaWVzLCA0LCBOb3JtYWwsIG51bGxw
dHIpIFwKICAgICB2KGJvb2wsIHVzZVdlYkFzc2VtYmx5RmFzdFRMUywgdHJ1ZSwgTm9ybWFsLCAi
SWYgdHJ1ZSwgd2Ugd2lsbCB0cnkgdG8gdXNlIGZhc3QgdGhyZWFkLWxvY2FsIHN0b3JhZ2UgaWYg
YXZhaWxhYmxlIG9uIHRoZSBjdXJyZW50IHBsYXRmb3JtLiIpIFwKICAgICB2KGJvb2wsIHVzZUZh
c3RUTFNGb3JXYXNtQ29udGV4dCwgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSAoYW5kIGZhc3QgVExT
IGlzIGVuYWJsZWQpLCB3ZSB3aWxsIHN0b3JlIGNvbnRleHQgaW4gZmFzdCBUTFMuIElmIGZhbHNl
LCB3ZSB3aWxsIHBpbiBpdCB0byBhIHJlZ2lzdGVyLiIpIFwKICAgICB2KGJvb2wsIHVzZUNhbGxJ
Q3NGb3JXZWJBc3NlbWJseVRvSlNDYWxscywgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2ls
bCB1c2UgQ2FsbExpbmtJbmZvIHRvIGlubGluZSBjYWNoZSBXYXNtIHRvIEpTIGNhbGxzLiIpIFwK
SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMjEwODcpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE3LTA4LTIzICBGaWxpcCBQaXpsbyAgPGZwaXps
b0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVkdWNlIEdpZ2FjYWdlIHNpemVzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU5MjAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQcm92aWRlIGZpbGxlciBBUEkg
Zm9yIHRoZSBuby1ibWFsbG9jL25vLUdpZ2FjYWdlIGNhc2UuCisKKyAgICAgICAgKiB3dGYvR2ln
YWNhZ2UuaDoKKyAgICAgICAgKEdpZ2FjYWdlOjptYXNrKToKKwogMjAxNy0wOC0yMyAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NhY2hlIEFQSV0gRW5hYmxl
IHBlcnNpc3RlbnQgY29kZXIgdG8gZW5jb2RlIEZldGNoT3B0aW9ucwpJbmRleDogU291cmNlL1dU
Ri93dGYvR2lnYWNhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9HaWdhY2FnZS5o
CShyZXZpc2lvbiAyMjEwODcpCisrKyBTb3VyY2UvV1RGL3d0Zi9HaWdhY2FnZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yOCw3ICsyOCw2IEBACiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KIAog
I2lmIGRlZmluZWQoVVNFX1NZU1RFTV9NQUxMT0MpICYmIFVTRV9TWVNURU1fTUFMTE9DCi0jZGVm
aW5lIEdJR0FDQUdFX01BU0sgMAogI2RlZmluZSBHSUdBQ0FHRV9FTkFCTEVEIDAKIAogZXh0ZXJu
ICJDIiB7CkBAIC03Miw2ICs3MSw4IEBAIEFMV0FZU19JTkxJTkUgdm9pZComIGJhc2VQdHIoS2lu
ZCkKICAgICByZXR1cm4gZ19naWdhY2FnZUJhc2VQdHI7CiB9CiAKK0FMV0FZU19JTkxJTkUgc2l6
ZV90IG1hc2soS2luZCkgeyByZXR1cm4gMDsgfQorCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogaW5s
aW5lIFQqIGNhZ2VkKEtpbmQsIFQqIHB0cikgeyByZXR1cm4gcHRyOyB9CiAKSW5kZXg6IFNvdXJj
ZS9ibWFsbG9jL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDIyMTEyNykKKysrIFNvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDE3LTA4LTIzICBGaWxpcCBQaXpsbyAgPGZwaXps
b0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVkdWNlIEdpZ2FjYWdlIHNpemVzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU5MjAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGludHJvZHVjZXMgdGhl
IGFiaWxpdHkgdG8gaGF2ZSBkaWZmZXJlbnQgZ2lnYWNhZ2Ugc2l6ZXMgZm9yIGRpZmZlcmVudCBn
aWdhY2FnZXMsIGFuZCB1c2VzIGl0IHRvIHJlZHVjZSB0aGUgc2l6ZSBvZiBib3RoCisgICAgICAg
IGdpZ2FjYWdlcywgYnV0IHRvIGRpZmZlcmVudCBleHRlbnRzOiBQcmltaXRpdmUgZ2V0cyAzMkdC
IHdpdGggYSAxNkdCIHJ1bndheSBhbmQgSlNWYWx1ZSBnZXRzIDE2R0IuCisKKyAgICAgICAgVGhp
cyBpcyBhIH4xMCUgbWVtYnVzdGVyIHByb2dyZXNzaW9uIG9uIG15IE1hYyBQcm8uCisKKyAgICAg
ICAgKiBibWFsbG9jL0dpZ2FjYWdlLmNwcDoKKyAgICAgICAgKEdpZ2FjYWdlOjplbnN1cmVHaWdh
Y2FnZSk6CisgICAgICAgICogYm1hbGxvYy9HaWdhY2FnZS5oOgorICAgICAgICAoR2lnYWNhZ2U6
OnNpemUpOgorICAgICAgICAoR2lnYWNhZ2U6OmFsaWdubWVudCk6CisgICAgICAgIChHaWdhY2Fn
ZTo6bWFzayk6CisgICAgICAgIChHaWdhY2FnZTo6cnVud2F5KToKKyAgICAgICAgKEdpZ2FjYWdl
Ojp0b3RhbFNpemUpOgorICAgICAgICAoR2lnYWNhZ2U6OmNhZ2VkKToKKyAgICAgICAgKiBibWFs
bG9jL0hlYXAuY3BwOgorICAgICAgICAoYm1hbGxvYzo6SGVhcDo6SGVhcCk6CisgICAgICAgIChi
bWFsbG9jOjpIZWFwOjpnaWdhY2FnZVNpemUpOgorICAgICAgICAqIGJtYWxsb2MvSGVhcC5oOgor
CiAyMDE3LTA4LTA4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAg
QmFzZWxpbmUgSklUIHNob3VsZCBkbyBjYWdpbmcKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvR2lnYWNhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvR2ln
YWNhZ2UuY3BwCShyZXZpc2lvbiAyMjEwODcpCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0dp
Z2FjYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzYsMTMgKzc2LDEzIEBAIHZvaWQgZW5zdXJl
R2lnYWNhZ2UoKQogICAgICAgICAgICAgICAgIFsmXSAoS2luZCBraW5kKSB7CiAgICAgICAgICAg
ICAgICAgICAgIC8vIEZJWE1FOiBSYW5kb21pemUgd2hlcmUgdGhpcyBnb2VzLgogICAgICAgICAg
ICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1
MjQ1Ci0gICAgICAgICAgICAgICAgICAgIGJhc2VQdHIoa2luZCkgPSB0cnlWTUFsbG9jYXRlKEdJ
R0FDQUdFX1NJWkUsIEdJR0FDQUdFX1NJWkUgKyBHSUdBQ0FHRV9SVU5XQVkpOworICAgICAgICAg
ICAgICAgICAgICBiYXNlUHRyKGtpbmQpID0gdHJ5Vk1BbGxvY2F0ZShhbGlnbm1lbnQoa2luZCks
IHRvdGFsU2l6ZShraW5kKSk7CiAgICAgICAgICAgICAgICAgICAgIGlmICghYmFzZVB0cihraW5k
KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJGQVRBTDogQ291
bGQgbm90IGFsbG9jYXRlICVzIGdpZ2FjYWdlLlxuIiwgbmFtZShraW5kKSk7CiAgICAgICAgICAg
ICAgICAgICAgICAgICBCQ1JBU0goKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgdm1EZWFsbG9jYXRlUGh5c2ljYWxQYWdl
cyhiYXNlUHRyKGtpbmQpLCBHSUdBQ0FHRV9TSVpFICsgR0lHQUNBR0VfUlVOV0FZKTsKKyAgICAg
ICAgICAgICAgICAgICAgdm1EZWFsbG9jYXRlUGh5c2ljYWxQYWdlcyhiYXNlUHRyKGtpbmQpLCB0
b3RhbFNpemUoa2luZCkpOwogICAgICAgICAgICAgICAgIH0pOwogICAgICAgICB9KTsKICNlbmRp
ZiAvLyBHSUdBQ0FHRV9FTkFCTEVECkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0dpZ2Fj
YWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvYm1hbGxvYy9HaWdhY2FnZS5oCShy
ZXZpc2lvbiAyMjEwODcpCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0dpZ2FjYWdlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTMxLDEzICszMSwyMSBAQAogI2luY2x1ZGUgIkJQbGF0Zm9ybS5oIgog
I2luY2x1ZGUgPGludHR5cGVzLmg+CiAKLS8vIFRoZSBHaWdhY2FnZSBpcyA2NEdCLgotI2RlZmlu
ZSBHSUdBQ0FHRV9NQVNLIDB4ZmZmZmZmZmZmbGx1Ci0jZGVmaW5lIEdJR0FDQUdFX1NJWkUgKEdJ
R0FDQUdFX01BU0sgKyAxKQorI2RlZmluZSBQUklNSVRJVkVfR0lHQUNBR0VfU0laRSAweDgwMDAw
MDAwMGxsdQorI2RlZmluZSBKU1ZBTFVFX0dJR0FDQUdFX1NJWkUgMHg0MDAwMDAwMDBsbHUKKwor
I2RlZmluZSBHSUdBQ0FHRV9TSVpFX1RPX01BU0soc2l6ZSkgKChzaXplKSAtIDEpCisKKyNkZWZp
bmUgUFJJTUlUSVZFX0dJR0FDQUdFX01BU0sgR0lHQUNBR0VfU0laRV9UT19NQVNLKFBSSU1JVElW
RV9HSUdBQ0FHRV9TSVpFKQorI2RlZmluZSBKU1ZBTFVFX0dJR0FDQUdFX01BU0sgR0lHQUNBR0Vf
U0laRV9UT19NQVNLKEpTVkFMVUVfR0lHQUNBR0VfU0laRSkKIAogLy8gRklYTUU6IENvbnNpZGVy
IG1ha2luZyB0aGlzIDMyR0IsIGluIGNhc2UgdW5zaWduZWQgMzItYml0IGluZGljZXMgZmluZCB0
aGVpciB3YXkgaW50byBpbmRleGVkIGFjY2Vzc2VzLgogLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3NTA2MgotI2RlZmluZSBHSUdBQ0FHRV9SVU5XQVkgKDE2bGx1
ICogMTAyNCAqIDEwMjQgKiAxMDI0KQorI2RlZmluZSBQUklNSVRJVkVfR0lHQUNBR0VfUlVOV0FZ
ICgxNmxsdSAqIDEwMjQgKiAxMDI0ICogMTAyNCkKKworLy8gRklYTUU6IFJlY29uc2lkZXIgdGhp
cy4KKy8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU5MjEKKyNk
ZWZpbmUgSlNWQUxVRV9HSUdBQ0FHRV9SVU5XQVkgMAogCiAjaWYgQk9TKERBUldJTikgJiYgQkNQ
VShYODZfNjQpCiAjZGVmaW5lIEdJR0FDQUdFX0VOQUJMRUQgMQpAQCAtOTMsNiArMTAxLDQ1IEBA
IEJJTkxJTkUgdm9pZComIGJhc2VQdHIoS2luZCBraW5kKQogICAgIHJldHVybiBnX3ByaW1pdGl2
ZUdpZ2FjYWdlQmFzZVB0cjsKIH0KIAorQklOTElORSBzaXplX3Qgc2l6ZShLaW5kIGtpbmQpCit7
CisgICAgc3dpdGNoIChraW5kKSB7CisgICAgY2FzZSBQcmltaXRpdmU6CisgICAgICAgIHJldHVy
biBQUklNSVRJVkVfR0lHQUNBR0VfU0laRTsKKyAgICBjYXNlIEpTVmFsdWU6CisgICAgICAgIHJl
dHVybiBKU1ZBTFVFX0dJR0FDQUdFX1NJWkU7CisgICAgfQorICAgIEJDUkFTSCgpOworICAgIHJl
dHVybiAwOworfQorCitCSU5MSU5FIHNpemVfdCBhbGlnbm1lbnQoS2luZCBraW5kKQoreworICAg
IHJldHVybiBzaXplKGtpbmQpOworfQorCitCSU5MSU5FIHNpemVfdCBtYXNrKEtpbmQga2luZCkK
K3sKKyAgICByZXR1cm4gR0lHQUNBR0VfU0laRV9UT19NQVNLKHNpemUoa2luZCkpOworfQorCitC
SU5MSU5FIHNpemVfdCBydW53YXkoS2luZCBraW5kKQoreworICAgIHN3aXRjaCAoa2luZCkgewor
ICAgIGNhc2UgUHJpbWl0aXZlOgorICAgICAgICByZXR1cm4gUFJJTUlUSVZFX0dJR0FDQUdFX1JV
TldBWTsKKyAgICBjYXNlIEpTVmFsdWU6CisgICAgICAgIHJldHVybiBKU1ZBTFVFX0dJR0FDQUdF
X1JVTldBWTsKKyAgICB9CisgICAgQkNSQVNIKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK0JJTkxJ
TkUgc2l6ZV90IHRvdGFsU2l6ZShLaW5kIGtpbmQpCit7CisgICAgcmV0dXJuIHNpemUoa2luZCkg
KyBydW53YXkoa2luZCk7Cit9CisKIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmM+CiB2b2lkIGZvckVh
Y2hLaW5kKGNvbnN0IEZ1bmMmIGZ1bmMpCiB7CkBAIC0xMDksNyArMTU2LDcgQEAgQklOTElORSBU
KiBjYWdlZChLaW5kIGtpbmQsIFQqIHB0cikKICAgICAgICAgcmV0dXJuIHB0cjsKICAgICByZXR1
cm4gcmVpbnRlcnByZXRfY2FzdDxUKj4oCiAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0
cl90PihnaWdhY2FnZUJhc2VQdHIpICsgKAotICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDx1
aW50cHRyX3Q+KHB0cikgJiBzdGF0aWNfY2FzdDx1aW50cHRyX3Q+KEdJR0FDQUdFX01BU0spKSk7
CisgICAgICAgICAgICByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ocHRyKSAmIG1hc2soa2lu
ZCkpKTsKIH0KIAogQklOTElORSBib29sIGlzQ2FnZWQoS2luZCBraW5kLCBjb25zdCB2b2lkKiBw
dHIpCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0hlYXAuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSGVhcC5jcHAJKHJldmlzaW9uIDIyMTA4NykKKysrIFNv
dXJjZS9ibWFsbG9jL2JtYWxsb2MvSGVhcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYwLDcgKzYw
LDcgQEAgSGVhcDo6SGVhcChIZWFwS2luZCBraW5kLCBzdGQ6OmxvY2tfZ3VhcgogI2lmIEdJR0FD
QUdFX0VOQUJMRUQKICAgICAgICAgaWYgKHVzaW5nR2lnYWNhZ2UoKSkgewogICAgICAgICAgICAg
UkVMRUFTRV9CQVNTRVJUKGdpZ2FjYWdlQmFzZVB0cigpKTsKLSAgICAgICAgICAgIG1fbGFyZ2VG
cmVlLmFkZChMYXJnZVJhbmdlKGdpZ2FjYWdlQmFzZVB0cigpLCBHSUdBQ0FHRV9TSVpFLCAwKSk7
CisgICAgICAgICAgICBtX2xhcmdlRnJlZS5hZGQoTGFyZ2VSYW5nZShnaWdhY2FnZUJhc2VQdHIo
KSwgZ2lnYWNhZ2VTaXplKCksIDApKTsKICAgICAgICAgfQogI2VuZGlmCiAgICAgfQpAQCAtNzgs
NiArNzgsMTEgQEAgdm9pZCogSGVhcDo6Z2lnYWNhZ2VCYXNlUHRyKCkKICAgICByZXR1cm4gR2ln
YWNhZ2U6OmJhc2VQdHIoZ2lnYWNhZ2VLaW5kKG1fa2luZCkpOwogfQogCitzaXplX3QgSGVhcDo6
Z2lnYWNhZ2VTaXplKCkKK3sKKyAgICByZXR1cm4gR2lnYWNhZ2U6OnNpemUoZ2lnYWNhZ2VLaW5k
KG1fa2luZCkpOworfQorCiB2b2lkIEhlYXA6OmluaXRpYWxpemVMaW5lTWV0YWRhdGEoKQogewog
ICAgIHNpemVfdCBzaXplQ2xhc3NDb3VudCA9IGJtYWxsb2M6OnNpemVDbGFzcyhzbWFsbExpbmVT
aXplKTsKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSGVhcC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSGVhcC5oCShyZXZpc2lvbiAyMjEwODcpCisrKyBTb3Vy
Y2UvYm1hbGxvYy9ibWFsbG9jL0hlYXAuaAkod29ya2luZyBjb3B5KQpAQCAtOTAsNiArOTAsNyBA
QCBwcml2YXRlOgogICAgIAogICAgIGJvb2wgdXNpbmdHaWdhY2FnZSgpOwogICAgIHZvaWQqIGdp
Z2FjYWdlQmFzZVB0cigpOyAvLyBNYXkgY3Jhc2ggaWYgIXVzaW5nR2lnYWNhZ2UoKS4KKyAgICBz
aXplX3QgZ2lnYWNhZ2VTaXplKCk7CiAgICAgCiAgICAgdm9pZCBpbml0aWFsaXplTGluZU1ldGFk
YXRhKCk7CiAgICAgdm9pZCBpbml0aWFsaXplUGFnZU1ldGFkYXRhKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318959</attachid>
            <date>2017-08-23 19:36:15 -0700</date>
            <delta_ts>2017-08-23 21:25:45 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>15041</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjIxMDg3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBA
CisyMDE3LTA4LTIzICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
UmVkdWNlIEdpZ2FjYWdlIHNpemVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzU5MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUZWFjaCBhbGwgb2YgdGhlIGNvZGUgZ2VuZXJhdG9ycyB0byB1c2UgdGhl
IHJpZ2h0IGdpZ2FjYWdlIG1hc2tzLgorCisgICAgICAgIEFsc28gdGVhY2ggV2FzbSB0aGF0IGl0
IGhhcyBtdWNoIGxlc3MgbWVtb3J5IGZvciBzaWduYWxpbmcgbWVtb3JpZXMuIFdpdGggMzJHQiwg
d2UgaGF2ZSByb29tIGZvciA3IHNpZ25hbGluZyBtZW1vcmllcy4gQnV0IGlmCisgICAgICAgIHdl
IGFjdHVhbGx5IGRpZCB0aGF0LCB0aGVuIHdlJ2QgaGF2ZSBubyBtZW1vcnkgbGVmdCBmb3IgYW55
dGhpbmcgZWxzZS4gU28sIHRoaXMgY2FwcyB1cyBhdCA0IHNpZ25hbGluZyBtZW1vcmllcy4KKwor
ICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvQjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRG
Rzo6TG93ZXJERkdUb0IzOjpjYWdlZCk6CisgICAgICAgICogaml0L0Fzc2VtYmx5SGVscGVycy5o
OgorICAgICAgICAoSlNDOjpBc3NlbWJseUhlbHBlcnM6OmNhZ2UpOgorICAgICAgICAoSlNDOjpB
c3NlbWJseUhlbHBlcnM6OmNhZ2VDb25kaXRpb25hbGx5KToKKyAgICAgICAgKiBsbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOgorICAgICAgICAqIHJ1bnRpbWUvT3B0aW9ucy5oOgorCiAy
MDE3LTA4LTIzICBSb2JpbiBNb3Jpc3NldCAgPHJtb3Jpc3NldEBhcHBsZS5jb20+CiAKICAgICAg
ICAgTWFrZSBHZXREeW5hbWljVmFyIHByb3BhZ2F0ZSBoZWFwIHByZWRpY3Rpb25zIGluc3RlYWQg
b2Ygc2F5aW5nIEhlYXBUb3AKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93
ZXJERkdUb0IzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TExvd2VyREZHVG9CMy5jcHAJKHJldmlzaW9uIDIyMTA4NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE2NTAsNyAr
MTE2NTAsNyBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBMVmFsdWUg
YmFzZVB0ciA9IG1fb3V0LmNvbnN0SW50UHRyKEdpZ2FjYWdlOjpiYXNlUHRyKGtpbmQpKTsKLSAg
ICAgICAgTFZhbHVlIG1hc2sgPSBtX291dC5jb25zdEludFB0cihHSUdBQ0FHRV9NQVNLKTsKKyAg
ICAgICAgTFZhbHVlIG1hc2sgPSBtX291dC5jb25zdEludFB0cihHaWdhY2FnZTo6bWFzayhraW5k
KSk7CiAgICAgICAgIAogICAgICAgICBMVmFsdWUgbWFza2VkID0gbV9vdXQuYml0QW5kKHB0ciwg
bWFzayk7CiAgICAgICAgIExWYWx1ZSByZXN1bHQgPSBtX291dC5hZGQobWFza2VkLCBiYXNlUHRy
KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuaAko
cmV2aXNpb24gMjIxMDg3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhl
bHBlcnMuaAkod29ya2luZyBjb3B5KQpAQCAtMTMxNyw3ICsxMzE3LDcgQEAgcHVibGljOgogICAg
ICAgICBpZiAoIUdpZ2FjYWdlOjpzaG91bGRCZUVuYWJsZWQoKSkKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgCi0gICAgICAgIGFuZFB0cihUcnVzdGVkSW1tUHRyKHN0YXRpY19jYXN0PHNp
emVfdD4oR0lHQUNBR0VfTUFTSykpLCBzdG9yYWdlKTsKKyAgICAgICAgYW5kUHRyKFRydXN0ZWRJ
bW1QdHIoR2lnYWNhZ2U6Om1hc2soa2luZCkpLCBzdG9yYWdlKTsKICAgICAgICAgYWRkUHRyKFRy
dXN0ZWRJbW1QdHIoR2lnYWNhZ2U6OmJhc2VQdHIoa2luZCkpLCBzdG9yYWdlKTsKICNlbHNlCiAg
ICAgICAgIFVOVVNFRF9QQVJBTShraW5kKTsKQEAgLTEzMzYsNyArMTMzNiw3IEBAIHB1YmxpYzoK
ICAgICAgICAgCiAgICAgICAgIGxvYWRQdHIoJkdpZ2FjYWdlOjpiYXNlUHRyKGtpbmQpLCBzY3Jh
dGNoKTsKICAgICAgICAgSnVtcCBkb25lID0gYnJhbmNoVGVzdFB0cihaZXJvLCBzY3JhdGNoKTsK
LSAgICAgICAgYW5kUHRyKFRydXN0ZWRJbW1QdHIoc3RhdGljX2Nhc3Q8c2l6ZV90PihHSUdBQ0FH
RV9NQVNLKSksIHN0b3JhZ2UpOworICAgICAgICBhbmRQdHIoVHJ1c3RlZEltbVB0cihHaWdhY2Fn
ZTo6bWFzayhraW5kKSksIHN0b3JhZ2UpOwogICAgICAgICBhZGRQdHIoc2NyYXRjaCwgc3RvcmFn
ZSk7CiAgICAgICAgIGRvbmUubGluayh0aGlzKTsKICNlbHNlCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbQkocmV2
aXNpb24gMjIxMDg3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc20JKHdvcmtpbmcgY29weSkKQEAgLTM3NiwxMiArMzc2LDEyIEBAIG1hY3Jv
IGNoZWNrU3dpdGNoVG9KSVRGb3JMb29wKCkKICAgICAgICAgZW5kKQogZW5kCiAKLW1hY3JvIGxv
YWRDYWdlZChiYXNlUHRyLCBzb3VyY2UsIGRlc3QsIHNjcmF0Y2gpCittYWNybyBsb2FkQ2FnZWQo
YmFzZVB0ciwgbWFzaywgc291cmNlLCBkZXN0LCBzY3JhdGNoKQogICAgIGxvYWRwIHNvdXJjZSwg
ZGVzdAogICAgIGlmIEdJR0FDQUdFX0VOQUJMRUQgYW5kIG5vdCBDX0xPT1AKICAgICAgICAgbG9h
ZHAgYmFzZVB0ciwgc2NyYXRjaAogICAgICAgICBidHB6IHNjcmF0Y2gsIC5kb25lCi0gICAgICAg
IGFuZHAgY29uc3RleHByIEdJR0FDQUdFX01BU0ssIGRlc3QKKyAgICAgICAgYW5kcCBtYXNrLCBk
ZXN0CiAgICAgICAgIGFkZHAgc2NyYXRjaCwgZGVzdAogICAgIC5kb25lOgogICAgIGVuZApAQCAt
MTIwOSw3ICsxMjA5LDcgQEAgX2xsaW50X29wX2lzX29iamVjdDoKIAogbWFjcm8gbG9hZFByb3Bl
cnR5QXRWYXJpYWJsZU9mZnNldChwcm9wZXJ0eU9mZnNldEFzSW50LCBvYmplY3RBbmRTdG9yYWdl
LCB2YWx1ZSkKICAgICBiaWx0IHByb3BlcnR5T2Zmc2V0QXNJbnQsIGZpcnN0T3V0T2ZMaW5lT2Zm
c2V0LCAuaXNJbmxpbmUKLSAgICBsb2FkQ2FnZWQoX2dfanNWYWx1ZUdpZ2FjYWdlQmFzZVB0ciwg
SlNPYmplY3Q6Om1fYnV0dGVyZmx5W29iamVjdEFuZFN0b3JhZ2VdLCBvYmplY3RBbmRTdG9yYWdl
LCB2YWx1ZSkKKyAgICBsb2FkQ2FnZWQoX2dfanNWYWx1ZUdpZ2FjYWdlQmFzZVB0ciwgY29uc3Rl
eHByIEpTVkFMVUVfR0lHQUNBR0VfTUFTSywgSlNPYmplY3Q6Om1fYnV0dGVyZmx5W29iamVjdEFu
ZFN0b3JhZ2VdLCBvYmplY3RBbmRTdG9yYWdlLCB2YWx1ZSkKICAgICBuZWdpIHByb3BlcnR5T2Zm
c2V0QXNJbnQKICAgICBzeGkycSBwcm9wZXJ0eU9mZnNldEFzSW50LCBwcm9wZXJ0eU9mZnNldEFz
SW50CiAgICAgam1wIC5yZWFkeQpAQCAtMTIyMiw3ICsxMjIyLDcgQEAgZW5kCiAKIG1hY3JvIHN0
b3JlUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0KHByb3BlcnR5T2Zmc2V0QXNJbnQsIG9iamVjdEFu
ZFN0b3JhZ2UsIHZhbHVlLCBzY3JhdGNoKQogICAgIGJpbHQgcHJvcGVydHlPZmZzZXRBc0ludCwg
Zmlyc3RPdXRPZkxpbmVPZmZzZXQsIC5pc0lubGluZQotICAgIGxvYWRDYWdlZChfZ19qc1ZhbHVl
R2lnYWNhZ2VCYXNlUHRyLCBKU09iamVjdDo6bV9idXR0ZXJmbHlbb2JqZWN0QW5kU3RvcmFnZV0s
IG9iamVjdEFuZFN0b3JhZ2UsIHNjcmF0Y2gpCisgICAgbG9hZENhZ2VkKF9nX2pzVmFsdWVHaWdh
Y2FnZUJhc2VQdHIsIGNvbnN0ZXhwciBKU1ZBTFVFX0dJR0FDQUdFX01BU0ssIEpTT2JqZWN0Ojpt
X2J1dHRlcmZseVtvYmplY3RBbmRTdG9yYWdlXSwgb2JqZWN0QW5kU3RvcmFnZSwgc2NyYXRjaCkK
ICAgICBuZWdpIHByb3BlcnR5T2Zmc2V0QXNJbnQKICAgICBzeGkycSBwcm9wZXJ0eU9mZnNldEFz
SW50LCBwcm9wZXJ0eU9mZnNldEFzSW50CiAgICAgam1wIC5yZWFkeQpAQCAtMTI5OCw3ICsxMjk4
LDcgQEAgX2xsaW50X29wX2dldF9hcnJheV9sZW5ndGg6CiAgICAgYnRpeiB0MiwgSXNBcnJheSwg
Lm9wR2V0QXJyYXlMZW5ndGhTbG93CiAgICAgYnRpeiB0MiwgSW5kZXhpbmdTaGFwZU1hc2ssIC5v
cEdldEFycmF5TGVuZ3RoU2xvdwogICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MSkKLSAg
ICBsb2FkQ2FnZWQoX2dfanNWYWx1ZUdpZ2FjYWdlQmFzZVB0ciwgSlNPYmplY3Q6Om1fYnV0dGVy
Zmx5W3QzXSwgdDAsIHQyKQorICAgIGxvYWRDYWdlZChfZ19qc1ZhbHVlR2lnYWNhZ2VCYXNlUHRy
LCBjb25zdGV4cHIgSlNWQUxVRV9HSUdBQ0FHRV9NQVNLLCBKU09iamVjdDo6bV9idXR0ZXJmbHlb
dDNdLCB0MCwgdDIpCiAgICAgbG9hZGkgLXNpemVvZiBJbmRleGluZ0hlYWRlciArIEluZGV4aW5n
SGVhZGVyOjp1Lmxlbmd0aHMucHVibGljTGVuZ3RoW3QwXSwgdDAKICAgICBiaWx0IHQwLCAwLCAu
b3BHZXRBcnJheUxlbmd0aFNsb3cKICAgICBvcnEgdGFnVHlwZU51bWJlciwgdDAKQEAgLTE0ODEs
NyArMTQ4MSw3IEBAIF9sbGludF9vcF9nZXRfYnlfdmFsOgogICAgIGxvYWRpc0Zyb21JbnN0cnVj
dGlvbigzLCB0MykKICAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzIodDMsIHQxLCAub3BH
ZXRCeVZhbFNsb3cpCiAgICAgc3hpMnEgdDEsIHQxCi0gICAgbG9hZENhZ2VkKF9nX2pzVmFsdWVH
aWdhY2FnZUJhc2VQdHIsIEpTT2JqZWN0OjptX2J1dHRlcmZseVt0MF0sIHQzLCB0NSkKKyAgICBs
b2FkQ2FnZWQoX2dfanNWYWx1ZUdpZ2FjYWdlQmFzZVB0ciwgY29uc3RleHByIEpTVkFMVUVfR0lH
QUNBR0VfTUFTSywgSlNPYmplY3Q6Om1fYnV0dGVyZmx5W3QwXSwgdDMsIHQ1KQogICAgIGFuZGkg
SW5kZXhpbmdTaGFwZU1hc2ssIHQyCiAgICAgYmllcSB0MiwgSW50MzJTaGFwZSwgLm9wR2V0QnlW
YWxJc0NvbnRpZ3VvdXMKICAgICBiaW5lcSB0MiwgQ29udGlndW91c1NoYXBlLCAub3BHZXRCeVZh
bE5vdENvbnRpZ3VvdXMKQEAgLTE1MjgsNyArMTUyOCw3IEBAIF9sbGludF9vcF9nZXRfYnlfdmFs
OgogICAgIGJpYSB0MiwgTGFzdEFycmF5VHlwZSAtIEZpcnN0QXJyYXlUeXBlLCAub3BHZXRCeVZh
bFNsb3cKICAgICAKICAgICAjIFN3ZWV0LCBub3cgd2Uga25vdyB0aGF0IHdlIGhhdmUgYSB0eXBl
ZCBhcnJheS4gRG8gc29tZSBiYXNpYyB0aGluZ3Mgbm93LgotICAgIGxvYWRDYWdlZChfZ19wcmlt
aXRpdmVHaWdhY2FnZUJhc2VQdHIsIEpTQXJyYXlCdWZmZXJWaWV3OjptX3ZlY3Rvclt0MF0sIHQz
LCB0NSkKKyAgICBsb2FkQ2FnZWQoX2dfcHJpbWl0aXZlR2lnYWNhZ2VCYXNlUHRyLCBjb25zdGV4
cHIgUFJJTUlUSVZFX0dJR0FDQUdFX01BU0ssIEpTQXJyYXlCdWZmZXJWaWV3OjptX3ZlY3Rvclt0
MF0sIHQzLCB0NSkKICAgICBiaWFlcSB0MSwgSlNBcnJheUJ1ZmZlclZpZXc6Om1fbGVuZ3RoW3Qw
XSwgLm9wR2V0QnlWYWxTbG93CiAgICAgCiAgICAgIyBOb3cgYmlzZWN0IHRocm91Z2ggdGhlIHZh
cmlvdXMgdHlwZXMuIE5vdGUgdGhhdCB3ZSBjYW4gdHJlYXQgVWludDhBcnJheVR5cGUgYW5kCkBA
IC0xNjE5LDcgKzE2MTksNyBAQCBtYWNybyBwdXRCeVZhbChzbG93UGF0aCkKICAgICBsb2FkaXNG
cm9tSW5zdHJ1Y3Rpb24oMiwgdDApCiAgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyKHQw
LCB0MywgLm9wUHV0QnlWYWxTbG93KQogICAgIHN4aTJxIHQzLCB0MwotICAgIGxvYWRDYWdlZChf
Z19qc1ZhbHVlR2lnYWNhZ2VCYXNlUHRyLCBKU09iamVjdDo6bV9idXR0ZXJmbHlbdDFdLCB0MCwg
dDUpCisgICAgbG9hZENhZ2VkKF9nX2pzVmFsdWVHaWdhY2FnZUJhc2VQdHIsIGNvbnN0ZXhwciBK
U1ZBTFVFX0dJR0FDQUdFX01BU0ssIEpTT2JqZWN0OjptX2J1dHRlcmZseVt0MV0sIHQwLCB0NSkK
ICAgICBhbmRpIEluZGV4aW5nU2hhcGVNYXNrLCB0MgogICAgIGJpbmVxIHQyLCBJbnQzMlNoYXBl
LCAub3BQdXRCeVZhbE5vdEludDMyCiAgICAgY29udGlndW91c1B1dEJ5VmFsKApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAkocmV2aXNpb24gMjIxMDg3KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBA
IC00NjUsNyArNDY1LDcgQEAgdHlwZWRlZiBjb25zdCBjaGFyKiBvcHRpb25TdHJpbmc7CiAgICAg
dihib29sLCBsb2dXZWJBc3NlbWJseU1lbW9yeSwgZmFsc2UsIE5vcm1hbCwgbnVsbHB0cikgXAog
ICAgIHYodW5zaWduZWQsIHdlYkFzc2VtYmx5RmFzdE1lbW9yeVJlZHpvbmVQYWdlcywgMTI4LCBO
b3JtYWwsICJXZWJBc3NlbWJseSBmYXN0IG1lbW9yaWVzIHVzZSA0R2lCIHZpcnR1YWwgYWxsb2Nh
dGlvbnMsIHBsdXMgYSByZWR6b25lIChjb3VudGVkIGFzIG11bHRpcGxlIG9mIDY0S2lCIFdlYkFz
c2VtYmx5IHBhZ2VzKSBhdCB0aGUgZW5kIHRvIGNhdGNoIHJlZytpbW0gYWNjZXNzZXMgd2hpY2gg
ZXhjZWVkIDMyLWJpdCwgYW55dGhpbmcgYmV5b25kIHRoZSByZWR6b25lIGlzIGV4cGxpY2l0bHkg
Ym91bmRzLWNoZWNrZWQiKSBcCiAgICAgdihib29sLCBjcmFzaElmV2ViQXNzZW1ibHlDYW50RmFz
dE1lbW9yeSwgZmFsc2UsIE5vcm1hbCwgIklmIHRydWUsIHdlIHdpbGwgY3Jhc2ggaWYgd2UgY2Fu
J3Qgb2J0YWluIGZhc3QgbWVtb3J5IGZvciB3YXNtLiIpIFwKLSAgICB2KHVuc2lnbmVkLCBtYXhO
dW1XZWJBc3NlbWJseUZhc3RNZW1vcmllcywgMTAsIE5vcm1hbCwgbnVsbHB0cikgXAorICAgIHYo
dW5zaWduZWQsIG1heE51bVdlYkFzc2VtYmx5RmFzdE1lbW9yaWVzLCA0LCBOb3JtYWwsIG51bGxw
dHIpIFwKICAgICB2KGJvb2wsIHVzZVdlYkFzc2VtYmx5RmFzdFRMUywgdHJ1ZSwgTm9ybWFsLCAi
SWYgdHJ1ZSwgd2Ugd2lsbCB0cnkgdG8gdXNlIGZhc3QgdGhyZWFkLWxvY2FsIHN0b3JhZ2UgaWYg
YXZhaWxhYmxlIG9uIHRoZSBjdXJyZW50IHBsYXRmb3JtLiIpIFwKICAgICB2KGJvb2wsIHVzZUZh
c3RUTFNGb3JXYXNtQ29udGV4dCwgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSAoYW5kIGZhc3QgVExT
IGlzIGVuYWJsZWQpLCB3ZSB3aWxsIHN0b3JlIGNvbnRleHQgaW4gZmFzdCBUTFMuIElmIGZhbHNl
LCB3ZSB3aWxsIHBpbiBpdCB0byBhIHJlZ2lzdGVyLiIpIFwKICAgICB2KGJvb2wsIHVzZUNhbGxJ
Q3NGb3JXZWJBc3NlbWJseVRvSlNDYWxscywgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2ls
bCB1c2UgQ2FsbExpbmtJbmZvIHRvIGlubGluZSBjYWNoZSBXYXNtIHRvIEpTIGNhbGxzLiIpIFwK
SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMjEwODcpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE3LTA4LTIzICBGaWxpcCBQaXpsbyAgPGZwaXps
b0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVkdWNlIEdpZ2FjYWdlIHNpemVzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU5MjAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQcm92aWRlIGZpbGxlciBBUEkg
Zm9yIHRoZSBuby1ibWFsbG9jL25vLUdpZ2FjYWdlIGNhc2UuCisKKyAgICAgICAgKiB3dGYvR2ln
YWNhZ2UuaDoKKyAgICAgICAgKEdpZ2FjYWdlOjptYXNrKToKKwogMjAxNy0wOC0yMyAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NhY2hlIEFQSV0gRW5hYmxl
IHBlcnNpc3RlbnQgY29kZXIgdG8gZW5jb2RlIEZldGNoT3B0aW9ucwpJbmRleDogU291cmNlL1dU
Ri93dGYvR2lnYWNhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9HaWdhY2FnZS5o
CShyZXZpc2lvbiAyMjEwODcpCisrKyBTb3VyY2UvV1RGL3d0Zi9HaWdhY2FnZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yOCw3ICsyOCw2IEBACiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KIAog
I2lmIGRlZmluZWQoVVNFX1NZU1RFTV9NQUxMT0MpICYmIFVTRV9TWVNURU1fTUFMTE9DCi0jZGVm
aW5lIEdJR0FDQUdFX01BU0sgMAogI2RlZmluZSBHSUdBQ0FHRV9FTkFCTEVEIDAKIAogZXh0ZXJu
ICJDIiB7CkBAIC03Miw2ICs3MSw4IEBAIEFMV0FZU19JTkxJTkUgdm9pZComIGJhc2VQdHIoS2lu
ZCkKICAgICByZXR1cm4gZ19naWdhY2FnZUJhc2VQdHI7CiB9CiAKK0FMV0FZU19JTkxJTkUgc2l6
ZV90IG1hc2soS2luZCkgeyByZXR1cm4gMDsgfQorCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogaW5s
aW5lIFQqIGNhZ2VkKEtpbmQsIFQqIHB0cikgeyByZXR1cm4gcHRyOyB9CiAKSW5kZXg6IFNvdXJj
ZS9ibWFsbG9jL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDIyMTEyNykKKysrIFNvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDE3LTA4LTIzICBGaWxpcCBQaXpsbyAgPGZwaXps
b0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVkdWNlIEdpZ2FjYWdlIHNpemVzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU5MjAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGludHJvZHVjZXMgdGhl
IGFiaWxpdHkgdG8gaGF2ZSBkaWZmZXJlbnQgZ2lnYWNhZ2Ugc2l6ZXMgZm9yIGRpZmZlcmVudCBn
aWdhY2FnZXMsIGFuZCB1c2VzIGl0IHRvIHJlZHVjZSB0aGUgc2l6ZSBvZiBib3RoCisgICAgICAg
IGdpZ2FjYWdlcywgYnV0IHRvIGRpZmZlcmVudCBleHRlbnRzOiBQcmltaXRpdmUgZ2V0cyAzMkdC
IHdpdGggYSAxNkdCIHJ1bndheSBhbmQgSlNWYWx1ZSBnZXRzIDE2R0IuCisKKyAgICAgICAgVGhp
cyBpcyBhIH4xMCUgbWVtYnVzdGVyIHByb2dyZXNzaW9uIG9uIG15IE1hYyBQcm8uCisKKyAgICAg
ICAgKiBibWFsbG9jL0dpZ2FjYWdlLmNwcDoKKyAgICAgICAgKEdpZ2FjYWdlOjplbnN1cmVHaWdh
Y2FnZSk6CisgICAgICAgICogYm1hbGxvYy9HaWdhY2FnZS5oOgorICAgICAgICAoR2lnYWNhZ2U6
OnNpemUpOgorICAgICAgICAoR2lnYWNhZ2U6OmFsaWdubWVudCk6CisgICAgICAgIChHaWdhY2Fn
ZTo6bWFzayk6CisgICAgICAgIChHaWdhY2FnZTo6cnVud2F5KToKKyAgICAgICAgKEdpZ2FjYWdl
Ojp0b3RhbFNpemUpOgorICAgICAgICAoR2lnYWNhZ2U6OmNhZ2VkKToKKyAgICAgICAgKiBibWFs
bG9jL0hlYXAuY3BwOgorICAgICAgICAoYm1hbGxvYzo6SGVhcDo6SGVhcCk6CisgICAgICAgIChi
bWFsbG9jOjpIZWFwOjpnaWdhY2FnZVNpemUpOgorICAgICAgICAqIGJtYWxsb2MvSGVhcC5oOgor
CiAyMDE3LTA4LTA4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAg
QmFzZWxpbmUgSklUIHNob3VsZCBkbyBjYWdpbmcKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvR2lnYWNhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvR2ln
YWNhZ2UuY3BwCShyZXZpc2lvbiAyMjEwODcpCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0dp
Z2FjYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzYsMTMgKzc2LDEzIEBAIHZvaWQgZW5zdXJl
R2lnYWNhZ2UoKQogICAgICAgICAgICAgICAgIFsmXSAoS2luZCBraW5kKSB7CiAgICAgICAgICAg
ICAgICAgICAgIC8vIEZJWE1FOiBSYW5kb21pemUgd2hlcmUgdGhpcyBnb2VzLgogICAgICAgICAg
ICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1
MjQ1Ci0gICAgICAgICAgICAgICAgICAgIGJhc2VQdHIoa2luZCkgPSB0cnlWTUFsbG9jYXRlKEdJ
R0FDQUdFX1NJWkUsIEdJR0FDQUdFX1NJWkUgKyBHSUdBQ0FHRV9SVU5XQVkpOworICAgICAgICAg
ICAgICAgICAgICBiYXNlUHRyKGtpbmQpID0gdHJ5Vk1BbGxvY2F0ZShhbGlnbm1lbnQoa2luZCks
IHRvdGFsU2l6ZShraW5kKSk7CiAgICAgICAgICAgICAgICAgICAgIGlmICghYmFzZVB0cihraW5k
KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJGQVRBTDogQ291
bGQgbm90IGFsbG9jYXRlICVzIGdpZ2FjYWdlLlxuIiwgbmFtZShraW5kKSk7CiAgICAgICAgICAg
ICAgICAgICAgICAgICBCQ1JBU0goKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgdm1EZWFsbG9jYXRlUGh5c2ljYWxQYWdl
cyhiYXNlUHRyKGtpbmQpLCBHSUdBQ0FHRV9TSVpFICsgR0lHQUNBR0VfUlVOV0FZKTsKKyAgICAg
ICAgICAgICAgICAgICAgdm1EZWFsbG9jYXRlUGh5c2ljYWxQYWdlcyhiYXNlUHRyKGtpbmQpLCB0
b3RhbFNpemUoa2luZCkpOwogICAgICAgICAgICAgICAgIH0pOwogICAgICAgICB9KTsKICNlbmRp
ZiAvLyBHSUdBQ0FHRV9FTkFCTEVECkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0dpZ2Fj
YWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvYm1hbGxvYy9HaWdhY2FnZS5oCShy
ZXZpc2lvbiAyMjEwODcpCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0dpZ2FjYWdlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTI5LDE1ICsyOSwyNCBAQAogI2luY2x1ZGUgIkJFeHBvcnQuaCIKICNp
bmNsdWRlICJCSW5saW5lLmgiCiAjaW5jbHVkZSAiQlBsYXRmb3JtLmgiCisjaW5jbHVkZSA8Y3N0
ZGRlZj4KICNpbmNsdWRlIDxpbnR0eXBlcy5oPgogCi0vLyBUaGUgR2lnYWNhZ2UgaXMgNjRHQi4K
LSNkZWZpbmUgR0lHQUNBR0VfTUFTSyAweGZmZmZmZmZmZmxsdQotI2RlZmluZSBHSUdBQ0FHRV9T
SVpFIChHSUdBQ0FHRV9NQVNLICsgMSkKKyNkZWZpbmUgUFJJTUlUSVZFX0dJR0FDQUdFX1NJWkUg
MHg4MDAwMDAwMDBsbHUKKyNkZWZpbmUgSlNWQUxVRV9HSUdBQ0FHRV9TSVpFIDB4NDAwMDAwMDAw
bGx1CisKKyNkZWZpbmUgR0lHQUNBR0VfU0laRV9UT19NQVNLKHNpemUpICgoc2l6ZSkgLSAxKQor
CisjZGVmaW5lIFBSSU1JVElWRV9HSUdBQ0FHRV9NQVNLIEdJR0FDQUdFX1NJWkVfVE9fTUFTSyhQ
UklNSVRJVkVfR0lHQUNBR0VfU0laRSkKKyNkZWZpbmUgSlNWQUxVRV9HSUdBQ0FHRV9NQVNLIEdJ
R0FDQUdFX1NJWkVfVE9fTUFTSyhKU1ZBTFVFX0dJR0FDQUdFX1NJWkUpCiAKIC8vIEZJWE1FOiBD
b25zaWRlciBtYWtpbmcgdGhpcyAzMkdCLCBpbiBjYXNlIHVuc2lnbmVkIDMyLWJpdCBpbmRpY2Vz
IGZpbmQgdGhlaXIgd2F5IGludG8gaW5kZXhlZCBhY2Nlc3Nlcy4KIC8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzUwNjIKLSNkZWZpbmUgR0lHQUNBR0VfUlVOV0FZ
ICgxNmxsdSAqIDEwMjQgKiAxMDI0ICogMTAyNCkKKyNkZWZpbmUgUFJJTUlUSVZFX0dJR0FDQUdF
X1JVTldBWSAoMTZsbHUgKiAxMDI0ICogMTAyNCAqIDEwMjQpCisKKy8vIEZJWE1FOiBSZWNvbnNp
ZGVyIHRoaXMuCisvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1
OTIxCisjZGVmaW5lIEpTVkFMVUVfR0lHQUNBR0VfUlVOV0FZIDAKIAogI2lmIEJPUyhEQVJXSU4p
ICYmIEJDUFUoWDg2XzY0KQogI2RlZmluZSBHSUdBQ0FHRV9FTkFCTEVEIDEKQEAgLTkzLDYgKzEw
Miw0NSBAQCBCSU5MSU5FIHZvaWQqJiBiYXNlUHRyKEtpbmQga2luZCkKICAgICByZXR1cm4gZ19w
cmltaXRpdmVHaWdhY2FnZUJhc2VQdHI7CiB9CiAKK0JJTkxJTkUgc2l6ZV90IHNpemUoS2luZCBr
aW5kKQoreworICAgIHN3aXRjaCAoa2luZCkgeworICAgIGNhc2UgUHJpbWl0aXZlOgorICAgICAg
ICByZXR1cm4gUFJJTUlUSVZFX0dJR0FDQUdFX1NJWkU7CisgICAgY2FzZSBKU1ZhbHVlOgorICAg
ICAgICByZXR1cm4gSlNWQUxVRV9HSUdBQ0FHRV9TSVpFOworICAgIH0KKyAgICBCQ1JBU0goKTsK
KyAgICByZXR1cm4gMDsKK30KKworQklOTElORSBzaXplX3QgYWxpZ25tZW50KEtpbmQga2luZCkK
K3sKKyAgICByZXR1cm4gc2l6ZShraW5kKTsKK30KKworQklOTElORSBzaXplX3QgbWFzayhLaW5k
IGtpbmQpCit7CisgICAgcmV0dXJuIEdJR0FDQUdFX1NJWkVfVE9fTUFTSyhzaXplKGtpbmQpKTsK
K30KKworQklOTElORSBzaXplX3QgcnVud2F5KEtpbmQga2luZCkKK3sKKyAgICBzd2l0Y2ggKGtp
bmQpIHsKKyAgICBjYXNlIFByaW1pdGl2ZToKKyAgICAgICAgcmV0dXJuIFBSSU1JVElWRV9HSUdB
Q0FHRV9SVU5XQVk7CisgICAgY2FzZSBKU1ZhbHVlOgorICAgICAgICByZXR1cm4gSlNWQUxVRV9H
SUdBQ0FHRV9SVU5XQVk7CisgICAgfQorICAgIEJDUkFTSCgpOworICAgIHJldHVybiAwOworfQor
CitCSU5MSU5FIHNpemVfdCB0b3RhbFNpemUoS2luZCBraW5kKQoreworICAgIHJldHVybiBzaXpl
KGtpbmQpICsgcnVud2F5KGtpbmQpOworfQorCiB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jPgogdm9p
ZCBmb3JFYWNoS2luZChjb25zdCBGdW5jJiBmdW5jKQogewpAQCAtMTA5LDcgKzE1Nyw3IEBAIEJJ
TkxJTkUgVCogY2FnZWQoS2luZCBraW5kLCBUKiBwdHIpCiAgICAgICAgIHJldHVybiBwdHI7CiAg
ICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8VCo+KAogICAgICAgICByZWludGVycHJldF9jYXN0
PHVpbnRwdHJfdD4oZ2lnYWNhZ2VCYXNlUHRyKSArICgKLSAgICAgICAgICAgIHJlaW50ZXJwcmV0
X2Nhc3Q8dWludHB0cl90PihwdHIpICYgc3RhdGljX2Nhc3Q8dWludHB0cl90PihHSUdBQ0FHRV9N
QVNLKSkpOworICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KHB0cikgJiBt
YXNrKGtpbmQpKSk7CiB9CiAKIEJJTkxJTkUgYm9vbCBpc0NhZ2VkKEtpbmQga2luZCwgY29uc3Qg
dm9pZCogcHRyKQpJbmRleDogU291cmNlL2JtYWxsb2MvYm1hbGxvYy9IZWFwLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0hlYXAuY3BwCShyZXZpc2lvbiAyMjEwODcp
CisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0hlYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02
MCw3ICs2MCw3IEBAIEhlYXA6OkhlYXAoSGVhcEtpbmQga2luZCwgc3RkOjpsb2NrX2d1YXIKICNp
ZiBHSUdBQ0FHRV9FTkFCTEVECiAgICAgICAgIGlmICh1c2luZ0dpZ2FjYWdlKCkpIHsKICAgICAg
ICAgICAgIFJFTEVBU0VfQkFTU0VSVChnaWdhY2FnZUJhc2VQdHIoKSk7Ci0gICAgICAgICAgICBt
X2xhcmdlRnJlZS5hZGQoTGFyZ2VSYW5nZShnaWdhY2FnZUJhc2VQdHIoKSwgR0lHQUNBR0VfU0la
RSwgMCkpOworICAgICAgICAgICAgbV9sYXJnZUZyZWUuYWRkKExhcmdlUmFuZ2UoZ2lnYWNhZ2VC
YXNlUHRyKCksIGdpZ2FjYWdlU2l6ZSgpLCAwKSk7CiAgICAgICAgIH0KICNlbmRpZgogICAgIH0K
QEAgLTc4LDYgKzc4LDExIEBAIHZvaWQqIEhlYXA6OmdpZ2FjYWdlQmFzZVB0cigpCiAgICAgcmV0
dXJuIEdpZ2FjYWdlOjpiYXNlUHRyKGdpZ2FjYWdlS2luZChtX2tpbmQpKTsKIH0KIAorc2l6ZV90
IEhlYXA6OmdpZ2FjYWdlU2l6ZSgpCit7CisgICAgcmV0dXJuIEdpZ2FjYWdlOjpzaXplKGdpZ2Fj
YWdlS2luZChtX2tpbmQpKTsKK30KKwogdm9pZCBIZWFwOjppbml0aWFsaXplTGluZU1ldGFkYXRh
KCkKIHsKICAgICBzaXplX3Qgc2l6ZUNsYXNzQ291bnQgPSBibWFsbG9jOjpzaXplQ2xhc3Moc21h
bGxMaW5lU2l6ZSk7CkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0hlYXAuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0hlYXAuaAkocmV2aXNpb24gMjIxMDg3KQor
KysgU291cmNlL2JtYWxsb2MvYm1hbGxvYy9IZWFwLmgJKHdvcmtpbmcgY29weSkKQEAgLTkwLDYg
KzkwLDcgQEAgcHJpdmF0ZToKICAgICAKICAgICBib29sIHVzaW5nR2lnYWNhZ2UoKTsKICAgICB2
b2lkKiBnaWdhY2FnZUJhc2VQdHIoKTsgLy8gTWF5IGNyYXNoIGlmICF1c2luZ0dpZ2FjYWdlKCku
CisgICAgc2l6ZV90IGdpZ2FjYWdlU2l6ZSgpOwogICAgIAogICAgIHZvaWQgaW5pdGlhbGl6ZUxp
bmVNZXRhZGF0YSgpOwogICAgIHZvaWQgaW5pdGlhbGl6ZVBhZ2VNZXRhZGF0YSgpOwo=
</data>
<flag name="review"
          id="339321"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318966</attachid>
            <date>2017-08-23 21:25:45 -0700</date>
            <delta_ts>2017-08-23 21:29:42 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>15107</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjIxMDg3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBA
CisyMDE3LTA4LTIzICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
UmVkdWNlIEdpZ2FjYWdlIHNpemVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzU5MjAKKworICAgICAgICBSZXZpZXdlZCBieSBNYXJrIExhbS4KKwor
ICAgICAgICBUZWFjaCBhbGwgb2YgdGhlIGNvZGUgZ2VuZXJhdG9ycyB0byB1c2UgdGhlIHJpZ2h0
IGdpZ2FjYWdlIG1hc2tzLgorCisgICAgICAgIEFsc28gdGVhY2ggV2FzbSB0aGF0IGl0IGhhcyBt
dWNoIGxlc3MgbWVtb3J5IGZvciBzaWduYWxpbmcgbWVtb3JpZXMuIFdpdGggMzJHQiwgd2UgaGF2
ZSByb29tIGZvciA3IHNpZ25hbGluZyBtZW1vcmllcy4gQnV0IGlmCisgICAgICAgIHdlIGFjdHVh
bGx5IGRpZCB0aGF0LCB0aGVuIHdlJ2QgaGF2ZSBubyBtZW1vcnkgbGVmdCBmb3IgYW55dGhpbmcg
ZWxzZS4gU28sIHRoaXMgY2FwcyB1cyBhdCA0IHNpZ25hbGluZyBtZW1vcmllcy4KKworICAgICAg
ICAqIGZ0bC9GVExMb3dlckRGR1RvQjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93
ZXJERkdUb0IzOjpjYWdlZCk6CisgICAgICAgICogaml0L0Fzc2VtYmx5SGVscGVycy5oOgorICAg
ICAgICAoSlNDOjpBc3NlbWJseUhlbHBlcnM6OmNhZ2UpOgorICAgICAgICAoSlNDOjpBc3NlbWJs
eUhlbHBlcnM6OmNhZ2VDb25kaXRpb25hbGx5KToKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOgorICAgICAgICAqIHJ1bnRpbWUvT3B0aW9ucy5oOgorCiAyMDE3LTA4
LTIzICBSb2JpbiBNb3Jpc3NldCAgPHJtb3Jpc3NldEBhcHBsZS5jb20+CiAKICAgICAgICAgTWFr
ZSBHZXREeW5hbWljVmFyIHByb3BhZ2F0ZSBoZWFwIHByZWRpY3Rpb25zIGluc3RlYWQgb2Ygc2F5
aW5nIEhlYXBUb3AKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdU
b0IzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2Vy
REZHVG9CMy5jcHAJKHJldmlzaW9uIDIyMTA4NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMTG93ZXJERkdUb0IzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE2NTAsNyArMTE2NTAs
NyBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBMVmFsdWUgYmFzZVB0
ciA9IG1fb3V0LmNvbnN0SW50UHRyKEdpZ2FjYWdlOjpiYXNlUHRyKGtpbmQpKTsKLSAgICAgICAg
TFZhbHVlIG1hc2sgPSBtX291dC5jb25zdEludFB0cihHSUdBQ0FHRV9NQVNLKTsKKyAgICAgICAg
TFZhbHVlIG1hc2sgPSBtX291dC5jb25zdEludFB0cihHaWdhY2FnZTo6bWFzayhraW5kKSk7CiAg
ICAgICAgIAogICAgICAgICBMVmFsdWUgbWFza2VkID0gbV9vdXQuYml0QW5kKHB0ciwgbWFzayk7
CiAgICAgICAgIExWYWx1ZSByZXN1bHQgPSBtX291dC5hZGQobWFza2VkLCBiYXNlUHRyKTsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuaAkocmV2aXNp
b24gMjIxMDg3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMu
aAkod29ya2luZyBjb3B5KQpAQCAtMTMxNyw3ICsxMzE3LDcgQEAgcHVibGljOgogICAgICAgICBp
ZiAoIUdpZ2FjYWdlOjpzaG91bGRCZUVuYWJsZWQoKSkKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgCi0gICAgICAgIGFuZFB0cihUcnVzdGVkSW1tUHRyKHN0YXRpY19jYXN0PHNpemVfdD4o
R0lHQUNBR0VfTUFTSykpLCBzdG9yYWdlKTsKKyAgICAgICAgYW5kUHRyKFRydXN0ZWRJbW1QdHIo
R2lnYWNhZ2U6Om1hc2soa2luZCkpLCBzdG9yYWdlKTsKICAgICAgICAgYWRkUHRyKFRydXN0ZWRJ
bW1QdHIoR2lnYWNhZ2U6OmJhc2VQdHIoa2luZCkpLCBzdG9yYWdlKTsKICNlbHNlCiAgICAgICAg
IFVOVVNFRF9QQVJBTShraW5kKTsKQEAgLTEzMzYsNyArMTMzNiw3IEBAIHB1YmxpYzoKICAgICAg
ICAgCiAgICAgICAgIGxvYWRQdHIoJkdpZ2FjYWdlOjpiYXNlUHRyKGtpbmQpLCBzY3JhdGNoKTsK
ICAgICAgICAgSnVtcCBkb25lID0gYnJhbmNoVGVzdFB0cihaZXJvLCBzY3JhdGNoKTsKLSAgICAg
ICAgYW5kUHRyKFRydXN0ZWRJbW1QdHIoc3RhdGljX2Nhc3Q8c2l6ZV90PihHSUdBQ0FHRV9NQVNL
KSksIHN0b3JhZ2UpOworICAgICAgICBhbmRQdHIoVHJ1c3RlZEltbVB0cihHaWdhY2FnZTo6bWFz
ayhraW5kKSksIHN0b3JhZ2UpOwogICAgICAgICBhZGRQdHIoc2NyYXRjaCwgc3RvcmFnZSk7CiAg
ICAgICAgIGRvbmUubGluayh0aGlzKTsKICNlbHNlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbQkocmV2aXNpb24g
MjIxMDg3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc20JKHdvcmtpbmcgY29weSkKQEAgLTM3NiwxMiArMzc2LDEyIEBAIG1hY3JvIGNoZWNr
U3dpdGNoVG9KSVRGb3JMb29wKCkKICAgICAgICAgZW5kKQogZW5kCiAKLW1hY3JvIGxvYWRDYWdl
ZChiYXNlUHRyLCBzb3VyY2UsIGRlc3QsIHNjcmF0Y2gpCittYWNybyBsb2FkQ2FnZWQoYmFzZVB0
ciwgbWFzaywgc291cmNlLCBkZXN0LCBzY3JhdGNoKQogICAgIGxvYWRwIHNvdXJjZSwgZGVzdAog
ICAgIGlmIEdJR0FDQUdFX0VOQUJMRUQgYW5kIG5vdCBDX0xPT1AKICAgICAgICAgbG9hZHAgYmFz
ZVB0ciwgc2NyYXRjaAogICAgICAgICBidHB6IHNjcmF0Y2gsIC5kb25lCi0gICAgICAgIGFuZHAg
Y29uc3RleHByIEdJR0FDQUdFX01BU0ssIGRlc3QKKyAgICAgICAgYW5kcCBtYXNrLCBkZXN0CiAg
ICAgICAgIGFkZHAgc2NyYXRjaCwgZGVzdAogICAgIC5kb25lOgogICAgIGVuZApAQCAtMTIwOSw3
ICsxMjA5LDcgQEAgX2xsaW50X29wX2lzX29iamVjdDoKIAogbWFjcm8gbG9hZFByb3BlcnR5QXRW
YXJpYWJsZU9mZnNldChwcm9wZXJ0eU9mZnNldEFzSW50LCBvYmplY3RBbmRTdG9yYWdlLCB2YWx1
ZSkKICAgICBiaWx0IHByb3BlcnR5T2Zmc2V0QXNJbnQsIGZpcnN0T3V0T2ZMaW5lT2Zmc2V0LCAu
aXNJbmxpbmUKLSAgICBsb2FkQ2FnZWQoX2dfanNWYWx1ZUdpZ2FjYWdlQmFzZVB0ciwgSlNPYmpl
Y3Q6Om1fYnV0dGVyZmx5W29iamVjdEFuZFN0b3JhZ2VdLCBvYmplY3RBbmRTdG9yYWdlLCB2YWx1
ZSkKKyAgICBsb2FkQ2FnZWQoX2dfanNWYWx1ZUdpZ2FjYWdlQmFzZVB0ciwgY29uc3RleHByIEpT
VkFMVUVfR0lHQUNBR0VfTUFTSywgSlNPYmplY3Q6Om1fYnV0dGVyZmx5W29iamVjdEFuZFN0b3Jh
Z2VdLCBvYmplY3RBbmRTdG9yYWdlLCB2YWx1ZSkKICAgICBuZWdpIHByb3BlcnR5T2Zmc2V0QXNJ
bnQKICAgICBzeGkycSBwcm9wZXJ0eU9mZnNldEFzSW50LCBwcm9wZXJ0eU9mZnNldEFzSW50CiAg
ICAgam1wIC5yZWFkeQpAQCAtMTIyMiw3ICsxMjIyLDcgQEAgZW5kCiAKIG1hY3JvIHN0b3JlUHJv
cGVydHlBdFZhcmlhYmxlT2Zmc2V0KHByb3BlcnR5T2Zmc2V0QXNJbnQsIG9iamVjdEFuZFN0b3Jh
Z2UsIHZhbHVlLCBzY3JhdGNoKQogICAgIGJpbHQgcHJvcGVydHlPZmZzZXRBc0ludCwgZmlyc3RP
dXRPZkxpbmVPZmZzZXQsIC5pc0lubGluZQotICAgIGxvYWRDYWdlZChfZ19qc1ZhbHVlR2lnYWNh
Z2VCYXNlUHRyLCBKU09iamVjdDo6bV9idXR0ZXJmbHlbb2JqZWN0QW5kU3RvcmFnZV0sIG9iamVj
dEFuZFN0b3JhZ2UsIHNjcmF0Y2gpCisgICAgbG9hZENhZ2VkKF9nX2pzVmFsdWVHaWdhY2FnZUJh
c2VQdHIsIGNvbnN0ZXhwciBKU1ZBTFVFX0dJR0FDQUdFX01BU0ssIEpTT2JqZWN0OjptX2J1dHRl
cmZseVtvYmplY3RBbmRTdG9yYWdlXSwgb2JqZWN0QW5kU3RvcmFnZSwgc2NyYXRjaCkKICAgICBu
ZWdpIHByb3BlcnR5T2Zmc2V0QXNJbnQKICAgICBzeGkycSBwcm9wZXJ0eU9mZnNldEFzSW50LCBw
cm9wZXJ0eU9mZnNldEFzSW50CiAgICAgam1wIC5yZWFkeQpAQCAtMTI5OCw3ICsxMjk4LDcgQEAg
X2xsaW50X29wX2dldF9hcnJheV9sZW5ndGg6CiAgICAgYnRpeiB0MiwgSXNBcnJheSwgLm9wR2V0
QXJyYXlMZW5ndGhTbG93CiAgICAgYnRpeiB0MiwgSW5kZXhpbmdTaGFwZU1hc2ssIC5vcEdldEFy
cmF5TGVuZ3RoU2xvdwogICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MSkKLSAgICBsb2Fk
Q2FnZWQoX2dfanNWYWx1ZUdpZ2FjYWdlQmFzZVB0ciwgSlNPYmplY3Q6Om1fYnV0dGVyZmx5W3Qz
XSwgdDAsIHQyKQorICAgIGxvYWRDYWdlZChfZ19qc1ZhbHVlR2lnYWNhZ2VCYXNlUHRyLCBjb25z
dGV4cHIgSlNWQUxVRV9HSUdBQ0FHRV9NQVNLLCBKU09iamVjdDo6bV9idXR0ZXJmbHlbdDNdLCB0
MCwgdDIpCiAgICAgbG9hZGkgLXNpemVvZiBJbmRleGluZ0hlYWRlciArIEluZGV4aW5nSGVhZGVy
Ojp1Lmxlbmd0aHMucHVibGljTGVuZ3RoW3QwXSwgdDAKICAgICBiaWx0IHQwLCAwLCAub3BHZXRB
cnJheUxlbmd0aFNsb3cKICAgICBvcnEgdGFnVHlwZU51bWJlciwgdDAKQEAgLTE0ODEsNyArMTQ4
MSw3IEBAIF9sbGludF9vcF9nZXRfYnlfdmFsOgogICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigz
LCB0MykKICAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzIodDMsIHQxLCAub3BHZXRCeVZh
bFNsb3cpCiAgICAgc3hpMnEgdDEsIHQxCi0gICAgbG9hZENhZ2VkKF9nX2pzVmFsdWVHaWdhY2Fn
ZUJhc2VQdHIsIEpTT2JqZWN0OjptX2J1dHRlcmZseVt0MF0sIHQzLCB0NSkKKyAgICBsb2FkQ2Fn
ZWQoX2dfanNWYWx1ZUdpZ2FjYWdlQmFzZVB0ciwgY29uc3RleHByIEpTVkFMVUVfR0lHQUNBR0Vf
TUFTSywgSlNPYmplY3Q6Om1fYnV0dGVyZmx5W3QwXSwgdDMsIHQ1KQogICAgIGFuZGkgSW5kZXhp
bmdTaGFwZU1hc2ssIHQyCiAgICAgYmllcSB0MiwgSW50MzJTaGFwZSwgLm9wR2V0QnlWYWxJc0Nv
bnRpZ3VvdXMKICAgICBiaW5lcSB0MiwgQ29udGlndW91c1NoYXBlLCAub3BHZXRCeVZhbE5vdENv
bnRpZ3VvdXMKQEAgLTE1MjgsNyArMTUyOCw3IEBAIF9sbGludF9vcF9nZXRfYnlfdmFsOgogICAg
IGJpYSB0MiwgTGFzdEFycmF5VHlwZSAtIEZpcnN0QXJyYXlUeXBlLCAub3BHZXRCeVZhbFNsb3cK
ICAgICAKICAgICAjIFN3ZWV0LCBub3cgd2Uga25vdyB0aGF0IHdlIGhhdmUgYSB0eXBlZCBhcnJh
eS4gRG8gc29tZSBiYXNpYyB0aGluZ3Mgbm93LgotICAgIGxvYWRDYWdlZChfZ19wcmltaXRpdmVH
aWdhY2FnZUJhc2VQdHIsIEpTQXJyYXlCdWZmZXJWaWV3OjptX3ZlY3Rvclt0MF0sIHQzLCB0NSkK
KyAgICBsb2FkQ2FnZWQoX2dfcHJpbWl0aXZlR2lnYWNhZ2VCYXNlUHRyLCBjb25zdGV4cHIgUFJJ
TUlUSVZFX0dJR0FDQUdFX01BU0ssIEpTQXJyYXlCdWZmZXJWaWV3OjptX3ZlY3Rvclt0MF0sIHQz
LCB0NSkKICAgICBiaWFlcSB0MSwgSlNBcnJheUJ1ZmZlclZpZXc6Om1fbGVuZ3RoW3QwXSwgLm9w
R2V0QnlWYWxTbG93CiAgICAgCiAgICAgIyBOb3cgYmlzZWN0IHRocm91Z2ggdGhlIHZhcmlvdXMg
dHlwZXMuIE5vdGUgdGhhdCB3ZSBjYW4gdHJlYXQgVWludDhBcnJheVR5cGUgYW5kCkBAIC0xNjE5
LDcgKzE2MTksNyBAQCBtYWNybyBwdXRCeVZhbChzbG93UGF0aCkKICAgICBsb2FkaXNGcm9tSW5z
dHJ1Y3Rpb24oMiwgdDApCiAgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyKHQwLCB0Mywg
Lm9wUHV0QnlWYWxTbG93KQogICAgIHN4aTJxIHQzLCB0MwotICAgIGxvYWRDYWdlZChfZ19qc1Zh
bHVlR2lnYWNhZ2VCYXNlUHRyLCBKU09iamVjdDo6bV9idXR0ZXJmbHlbdDFdLCB0MCwgdDUpCisg
ICAgbG9hZENhZ2VkKF9nX2pzVmFsdWVHaWdhY2FnZUJhc2VQdHIsIGNvbnN0ZXhwciBKU1ZBTFVF
X0dJR0FDQUdFX01BU0ssIEpTT2JqZWN0OjptX2J1dHRlcmZseVt0MV0sIHQwLCB0NSkKICAgICBh
bmRpIEluZGV4aW5nU2hhcGVNYXNrLCB0MgogICAgIGJpbmVxIHQyLCBJbnQzMlNoYXBlLCAub3BQ
dXRCeVZhbE5vdEludDMyCiAgICAgY29udGlndW91c1B1dEJ5VmFsKApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAkocmV2aXNpb24gMjIxMDg3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC00NjUs
NyArNDY1LDcgQEAgdHlwZWRlZiBjb25zdCBjaGFyKiBvcHRpb25TdHJpbmc7CiAgICAgdihib29s
LCBsb2dXZWJBc3NlbWJseU1lbW9yeSwgZmFsc2UsIE5vcm1hbCwgbnVsbHB0cikgXAogICAgIHYo
dW5zaWduZWQsIHdlYkFzc2VtYmx5RmFzdE1lbW9yeVJlZHpvbmVQYWdlcywgMTI4LCBOb3JtYWws
ICJXZWJBc3NlbWJseSBmYXN0IG1lbW9yaWVzIHVzZSA0R2lCIHZpcnR1YWwgYWxsb2NhdGlvbnMs
IHBsdXMgYSByZWR6b25lIChjb3VudGVkIGFzIG11bHRpcGxlIG9mIDY0S2lCIFdlYkFzc2VtYmx5
IHBhZ2VzKSBhdCB0aGUgZW5kIHRvIGNhdGNoIHJlZytpbW0gYWNjZXNzZXMgd2hpY2ggZXhjZWVk
IDMyLWJpdCwgYW55dGhpbmcgYmV5b25kIHRoZSByZWR6b25lIGlzIGV4cGxpY2l0bHkgYm91bmRz
LWNoZWNrZWQiKSBcCiAgICAgdihib29sLCBjcmFzaElmV2ViQXNzZW1ibHlDYW50RmFzdE1lbW9y
eSwgZmFsc2UsIE5vcm1hbCwgIklmIHRydWUsIHdlIHdpbGwgY3Jhc2ggaWYgd2UgY2FuJ3Qgb2J0
YWluIGZhc3QgbWVtb3J5IGZvciB3YXNtLiIpIFwKLSAgICB2KHVuc2lnbmVkLCBtYXhOdW1XZWJB
c3NlbWJseUZhc3RNZW1vcmllcywgMTAsIE5vcm1hbCwgbnVsbHB0cikgXAorICAgIHYodW5zaWdu
ZWQsIG1heE51bVdlYkFzc2VtYmx5RmFzdE1lbW9yaWVzLCA0LCBOb3JtYWwsIG51bGxwdHIpIFwK
ICAgICB2KGJvb2wsIHVzZVdlYkFzc2VtYmx5RmFzdFRMUywgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1
ZSwgd2Ugd2lsbCB0cnkgdG8gdXNlIGZhc3QgdGhyZWFkLWxvY2FsIHN0b3JhZ2UgaWYgYXZhaWxh
YmxlIG9uIHRoZSBjdXJyZW50IHBsYXRmb3JtLiIpIFwKICAgICB2KGJvb2wsIHVzZUZhc3RUTFNG
b3JXYXNtQ29udGV4dCwgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSAoYW5kIGZhc3QgVExTIGlzIGVu
YWJsZWQpLCB3ZSB3aWxsIHN0b3JlIGNvbnRleHQgaW4gZmFzdCBUTFMuIElmIGZhbHNlLCB3ZSB3
aWxsIHBpbiBpdCB0byBhIHJlZ2lzdGVyLiIpIFwKICAgICB2KGJvb2wsIHVzZUNhbGxJQ3NGb3JX
ZWJBc3NlbWJseVRvSlNDYWxscywgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCB1c2Ug
Q2FsbExpbmtJbmZvIHRvIGlubGluZSBjYWNoZSBXYXNtIHRvIEpTIGNhbGxzLiIpIFwKSW5kZXg6
IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMjEwODcpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE1IEBACisyMDE3LTA4LTIzICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBs
ZS5jb20+CisKKyAgICAgICAgUmVkdWNlIEdpZ2FjYWdlIHNpemVzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU5MjAKKworICAgICAgICBSZXZpZXdl
ZCBieSBNYXJrIExhbS4KKworICAgICAgICBQcm92aWRlIGZpbGxlciBBUEkgZm9yIHRoZSBuby1i
bWFsbG9jL25vLUdpZ2FjYWdlIGNhc2UuCisKKyAgICAgICAgKiB3dGYvR2lnYWNhZ2UuaDoKKyAg
ICAgICAgKEdpZ2FjYWdlOjptYXNrKToKKwogMjAxNy0wOC0yMyAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NhY2hlIEFQSV0gRW5hYmxlIHBlcnNpc3RlbnQg
Y29kZXIgdG8gZW5jb2RlIEZldGNoT3B0aW9ucwpJbmRleDogU291cmNlL1dURi93dGYvR2lnYWNh
Z2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9HaWdhY2FnZS5oCShyZXZpc2lvbiAy
MjEwODcpCisrKyBTb3VyY2UvV1RGL3d0Zi9HaWdhY2FnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
OCw3ICsyOCw2IEBACiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KIAogI2lmIGRlZmluZWQo
VVNFX1NZU1RFTV9NQUxMT0MpICYmIFVTRV9TWVNURU1fTUFMTE9DCi0jZGVmaW5lIEdJR0FDQUdF
X01BU0sgMAogI2RlZmluZSBHSUdBQ0FHRV9FTkFCTEVEIDAKIAogZXh0ZXJuICJDIiB7CkBAIC03
Miw2ICs3MSw4IEBAIEFMV0FZU19JTkxJTkUgdm9pZComIGJhc2VQdHIoS2luZCkKICAgICByZXR1
cm4gZ19naWdhY2FnZUJhc2VQdHI7CiB9CiAKK0FMV0FZU19JTkxJTkUgc2l6ZV90IG1hc2soS2lu
ZCkgeyByZXR1cm4gMDsgfQorCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogaW5saW5lIFQqIGNhZ2Vk
KEtpbmQsIFQqIHB0cikgeyByZXR1cm4gcHRyOyB9CiAKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDIyMTEyNykKKysrIFNvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDI5IEBACisyMDE3LTA4LTIzICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+
CisKKyAgICAgICAgUmVkdWNlIEdpZ2FjYWdlIHNpemVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU5MjAKKworICAgICAgICBSZXZpZXdlZCBieSBN
YXJrIExhbS4KKworICAgICAgICBUaGlzIGludHJvZHVjZXMgdGhlIGFiaWxpdHkgdG8gaGF2ZSBk
aWZmZXJlbnQgZ2lnYWNhZ2Ugc2l6ZXMgZm9yIGRpZmZlcmVudCBnaWdhY2FnZXMsIGFuZCB1c2Vz
IGl0IHRvIHJlZHVjZSB0aGUgc2l6ZSBvZiBib3RoCisgICAgICAgIGdpZ2FjYWdlcywgYnV0IHRv
IGRpZmZlcmVudCBleHRlbnRzOiBQcmltaXRpdmUgZ2V0cyAzMkdCIHdpdGggYSAxNkdCIHJ1bndh
eSBhbmQgSlNWYWx1ZSBnZXRzIDE2R0IuCisKKyAgICAgICAgVGhpcyBpcyBhIH4xMCUgbWVtYnVz
dGVyIHByb2dyZXNzaW9uIG9uIG15IE1hYyBQcm8uCisKKyAgICAgICAgKiBibWFsbG9jL0dpZ2Fj
YWdlLmNwcDoKKyAgICAgICAgKEdpZ2FjYWdlOjplbnN1cmVHaWdhY2FnZSk6CisgICAgICAgICog
Ym1hbGxvYy9HaWdhY2FnZS5oOgorICAgICAgICAoR2lnYWNhZ2U6OnNpemUpOgorICAgICAgICAo
R2lnYWNhZ2U6OmFsaWdubWVudCk6CisgICAgICAgIChHaWdhY2FnZTo6bWFzayk6CisgICAgICAg
IChHaWdhY2FnZTo6cnVud2F5KToKKyAgICAgICAgKEdpZ2FjYWdlOjp0b3RhbFNpemUpOgorICAg
ICAgICAoR2lnYWNhZ2U6OmNhZ2VkKToKKyAgICAgICAgKiBibWFsbG9jL0hlYXAuY3BwOgorICAg
ICAgICAoYm1hbGxvYzo6SGVhcDo6SGVhcCk6CisgICAgICAgIChibWFsbG9jOjpIZWFwOjpnaWdh
Y2FnZVNpemUpOgorICAgICAgICAqIGJtYWxsb2MvSGVhcC5oOgorCiAyMDE3LTA4LTA4ICBGaWxp
cCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgQmFzZWxpbmUgSklUIHNob3Vs
ZCBkbyBjYWdpbmcKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvR2lnYWNhZ2UuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvR2lnYWNhZ2UuY3BwCShyZXZpc2lv
biAyMjEwODcpCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0dpZ2FjYWdlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNzYsMTMgKzc2LDEzIEBAIHZvaWQgZW5zdXJlR2lnYWNhZ2UoKQogICAgICAg
ICAgICAgICAgIFsmXSAoS2luZCBraW5kKSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1F
OiBSYW5kb21pemUgd2hlcmUgdGhpcyBnb2VzLgogICAgICAgICAgICAgICAgICAgICAvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1MjQ1Ci0gICAgICAgICAgICAg
ICAgICAgIGJhc2VQdHIoa2luZCkgPSB0cnlWTUFsbG9jYXRlKEdJR0FDQUdFX1NJWkUsIEdJR0FD
QUdFX1NJWkUgKyBHSUdBQ0FHRV9SVU5XQVkpOworICAgICAgICAgICAgICAgICAgICBiYXNlUHRy
KGtpbmQpID0gdHJ5Vk1BbGxvY2F0ZShhbGlnbm1lbnQoa2luZCksIHRvdGFsU2l6ZShraW5kKSk7
CiAgICAgICAgICAgICAgICAgICAgIGlmICghYmFzZVB0cihraW5kKSkgewogICAgICAgICAgICAg
ICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJGQVRBTDogQ291bGQgbm90IGFsbG9jYXRlICVz
IGdpZ2FjYWdlLlxuIiwgbmFtZShraW5kKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBCQ1JB
U0goKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAKLSAgICAg
ICAgICAgICAgICAgICAgdm1EZWFsbG9jYXRlUGh5c2ljYWxQYWdlcyhiYXNlUHRyKGtpbmQpLCBH
SUdBQ0FHRV9TSVpFICsgR0lHQUNBR0VfUlVOV0FZKTsKKyAgICAgICAgICAgICAgICAgICAgdm1E
ZWFsbG9jYXRlUGh5c2ljYWxQYWdlcyhiYXNlUHRyKGtpbmQpLCB0b3RhbFNpemUoa2luZCkpOwog
ICAgICAgICAgICAgICAgIH0pOwogICAgICAgICB9KTsKICNlbmRpZiAvLyBHSUdBQ0FHRV9FTkFC
TEVECkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0dpZ2FjYWdlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL2JtYWxsb2MvYm1hbGxvYy9HaWdhY2FnZS5oCShyZXZpc2lvbiAyMjEwODcpCisr
KyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0dpZ2FjYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5
LDE1ICsyOSwyNCBAQAogI2luY2x1ZGUgIkJFeHBvcnQuaCIKICNpbmNsdWRlICJCSW5saW5lLmgi
CiAjaW5jbHVkZSAiQlBsYXRmb3JtLmgiCisjaW5jbHVkZSA8Y3N0ZGRlZj4KICNpbmNsdWRlIDxp
bnR0eXBlcy5oPgogCi0vLyBUaGUgR2lnYWNhZ2UgaXMgNjRHQi4KLSNkZWZpbmUgR0lHQUNBR0Vf
TUFTSyAweGZmZmZmZmZmZmxsdQotI2RlZmluZSBHSUdBQ0FHRV9TSVpFIChHSUdBQ0FHRV9NQVNL
ICsgMSkKKyNkZWZpbmUgUFJJTUlUSVZFX0dJR0FDQUdFX1NJWkUgMHg4MDAwMDAwMDBsbHUKKyNk
ZWZpbmUgSlNWQUxVRV9HSUdBQ0FHRV9TSVpFIDB4NDAwMDAwMDAwbGx1CisKKyNkZWZpbmUgR0lH
QUNBR0VfU0laRV9UT19NQVNLKHNpemUpICgoc2l6ZSkgLSAxKQorCisjZGVmaW5lIFBSSU1JVElW
RV9HSUdBQ0FHRV9NQVNLIEdJR0FDQUdFX1NJWkVfVE9fTUFTSyhQUklNSVRJVkVfR0lHQUNBR0Vf
U0laRSkKKyNkZWZpbmUgSlNWQUxVRV9HSUdBQ0FHRV9NQVNLIEdJR0FDQUdFX1NJWkVfVE9fTUFT
SyhKU1ZBTFVFX0dJR0FDQUdFX1NJWkUpCiAKIC8vIEZJWE1FOiBDb25zaWRlciBtYWtpbmcgdGhp
cyAzMkdCLCBpbiBjYXNlIHVuc2lnbmVkIDMyLWJpdCBpbmRpY2VzIGZpbmQgdGhlaXIgd2F5IGlu
dG8gaW5kZXhlZCBhY2Nlc3Nlcy4KIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzUwNjIKLSNkZWZpbmUgR0lHQUNBR0VfUlVOV0FZICgxNmxsdSAqIDEwMjQgKiAx
MDI0ICogMTAyNCkKKyNkZWZpbmUgUFJJTUlUSVZFX0dJR0FDQUdFX1JVTldBWSAoMTZsbHUgKiAx
MDI0ICogMTAyNCAqIDEwMjQpCisKKy8vIEZJWE1FOiBSZWNvbnNpZGVyIHRoaXMuCisvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1OTIxCisjZGVmaW5lIEpTVkFM
VUVfR0lHQUNBR0VfUlVOV0FZIDAKIAogI2lmIEJPUyhEQVJXSU4pICYmIEJDUFUoWDg2XzY0KQog
I2RlZmluZSBHSUdBQ0FHRV9FTkFCTEVEIDEKQEAgLTkzLDYgKzEwMiw0NSBAQCBCSU5MSU5FIHZv
aWQqJiBiYXNlUHRyKEtpbmQga2luZCkKICAgICByZXR1cm4gZ19wcmltaXRpdmVHaWdhY2FnZUJh
c2VQdHI7CiB9CiAKK0JJTkxJTkUgc2l6ZV90IHNpemUoS2luZCBraW5kKQoreworICAgIHN3aXRj
aCAoa2luZCkgeworICAgIGNhc2UgUHJpbWl0aXZlOgorICAgICAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8c2l6ZV90PihQUklNSVRJVkVfR0lHQUNBR0VfU0laRSk7CisgICAgY2FzZSBKU1ZhbHVlOgor
ICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8c2l6ZV90PihKU1ZBTFVFX0dJR0FDQUdFX1NJWkUp
OworICAgIH0KKyAgICBCQ1JBU0goKTsKKyAgICByZXR1cm4gMDsKK30KKworQklOTElORSBzaXpl
X3QgYWxpZ25tZW50KEtpbmQga2luZCkKK3sKKyAgICByZXR1cm4gc2l6ZShraW5kKTsKK30KKwor
QklOTElORSBzaXplX3QgbWFzayhLaW5kIGtpbmQpCit7CisgICAgcmV0dXJuIEdJR0FDQUdFX1NJ
WkVfVE9fTUFTSyhzaXplKGtpbmQpKTsKK30KKworQklOTElORSBzaXplX3QgcnVud2F5KEtpbmQg
a2luZCkKK3sKKyAgICBzd2l0Y2ggKGtpbmQpIHsKKyAgICBjYXNlIFByaW1pdGl2ZToKKyAgICAg
ICAgcmV0dXJuIHN0YXRpY19jYXN0PHNpemVfdD4oUFJJTUlUSVZFX0dJR0FDQUdFX1JVTldBWSk7
CisgICAgY2FzZSBKU1ZhbHVlOgorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8c2l6ZV90PihK
U1ZBTFVFX0dJR0FDQUdFX1JVTldBWSk7CisgICAgfQorICAgIEJDUkFTSCgpOworICAgIHJldHVy
biAwOworfQorCitCSU5MSU5FIHNpemVfdCB0b3RhbFNpemUoS2luZCBraW5kKQoreworICAgIHJl
dHVybiBzaXplKGtpbmQpICsgcnVud2F5KGtpbmQpOworfQorCiB0ZW1wbGF0ZTx0eXBlbmFtZSBG
dW5jPgogdm9pZCBmb3JFYWNoS2luZChjb25zdCBGdW5jJiBmdW5jKQogewpAQCAtMTA5LDcgKzE1
Nyw3IEBAIEJJTkxJTkUgVCogY2FnZWQoS2luZCBraW5kLCBUKiBwdHIpCiAgICAgICAgIHJldHVy
biBwdHI7CiAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8VCo+KAogICAgICAgICByZWludGVy
cHJldF9jYXN0PHVpbnRwdHJfdD4oZ2lnYWNhZ2VCYXNlUHRyKSArICgKLSAgICAgICAgICAgIHJl
aW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihwdHIpICYgc3RhdGljX2Nhc3Q8dWludHB0cl90PihH
SUdBQ0FHRV9NQVNLKSkpOworICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+
KHB0cikgJiBtYXNrKGtpbmQpKSk7CiB9CiAKIEJJTkxJTkUgYm9vbCBpc0NhZ2VkKEtpbmQga2lu
ZCwgY29uc3Qgdm9pZCogcHRyKQpJbmRleDogU291cmNlL2JtYWxsb2MvYm1hbGxvYy9IZWFwLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0hlYXAuY3BwCShyZXZpc2lv
biAyMjEwODcpCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0hlYXAuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC02MCw3ICs2MCw3IEBAIEhlYXA6OkhlYXAoSGVhcEtpbmQga2luZCwgc3RkOjpsb2Nr
X2d1YXIKICNpZiBHSUdBQ0FHRV9FTkFCTEVECiAgICAgICAgIGlmICh1c2luZ0dpZ2FjYWdlKCkp
IHsKICAgICAgICAgICAgIFJFTEVBU0VfQkFTU0VSVChnaWdhY2FnZUJhc2VQdHIoKSk7Ci0gICAg
ICAgICAgICBtX2xhcmdlRnJlZS5hZGQoTGFyZ2VSYW5nZShnaWdhY2FnZUJhc2VQdHIoKSwgR0lH
QUNBR0VfU0laRSwgMCkpOworICAgICAgICAgICAgbV9sYXJnZUZyZWUuYWRkKExhcmdlUmFuZ2Uo
Z2lnYWNhZ2VCYXNlUHRyKCksIGdpZ2FjYWdlU2l6ZSgpLCAwKSk7CiAgICAgICAgIH0KICNlbmRp
ZgogICAgIH0KQEAgLTc4LDYgKzc4LDExIEBAIHZvaWQqIEhlYXA6OmdpZ2FjYWdlQmFzZVB0cigp
CiAgICAgcmV0dXJuIEdpZ2FjYWdlOjpiYXNlUHRyKGdpZ2FjYWdlS2luZChtX2tpbmQpKTsKIH0K
IAorc2l6ZV90IEhlYXA6OmdpZ2FjYWdlU2l6ZSgpCit7CisgICAgcmV0dXJuIEdpZ2FjYWdlOjpz
aXplKGdpZ2FjYWdlS2luZChtX2tpbmQpKTsKK30KKwogdm9pZCBIZWFwOjppbml0aWFsaXplTGlu
ZU1ldGFkYXRhKCkKIHsKICAgICBzaXplX3Qgc2l6ZUNsYXNzQ291bnQgPSBibWFsbG9jOjpzaXpl
Q2xhc3Moc21hbGxMaW5lU2l6ZSk7CkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0hlYXAu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0hlYXAuaAkocmV2aXNpb24g
MjIxMDg3KQorKysgU291cmNlL2JtYWxsb2MvYm1hbGxvYy9IZWFwLmgJKHdvcmtpbmcgY29weSkK
QEAgLTkwLDYgKzkwLDcgQEAgcHJpdmF0ZToKICAgICAKICAgICBib29sIHVzaW5nR2lnYWNhZ2Uo
KTsKICAgICB2b2lkKiBnaWdhY2FnZUJhc2VQdHIoKTsgLy8gTWF5IGNyYXNoIGlmICF1c2luZ0dp
Z2FjYWdlKCkuCisgICAgc2l6ZV90IGdpZ2FjYWdlU2l6ZSgpOwogICAgIAogICAgIHZvaWQgaW5p
dGlhbGl6ZUxpbmVNZXRhZGF0YSgpOwogICAgIHZvaWQgaW5pdGlhbGl6ZVBhZ2VNZXRhZGF0YSgp
Owo=
</data>
<flag name="review"
          id="339328"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
      

    </bug>

</bugzilla>