<?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>210687</bug_id>
          
          <creation_ts>2020-04-18 05:52:01 -0700</creation_ts>
          <short_desc>[JSC] Replace DFG NewPromise with NewInternalFieldObject</short_desc>
          <delta_ts>2020-04-18 14:15:16 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1642966</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-04-18 05:52:01 -0700</bug_when>
    <thetext>[JSC] Replace DFG NewPromise with NewInternalFieldObject</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642967</commentid>
    <comment_count>1</comment_count>
      <attachid>396842</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-04-18 05:53:37 -0700</bug_when>
    <thetext>Created attachment 396842
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642970</commentid>
    <comment_count>2</comment_count>
      <attachid>396844</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-04-18 06:13:49 -0700</bug_when>
    <thetext>Created attachment 396844
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642984</commentid>
    <comment_count>3</comment_count>
      <attachid>396848</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-04-18 07:53:41 -0700</bug_when>
    <thetext>Created attachment 396848
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643049</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-04-18 14:14:10 -0700</bug_when>
    <thetext>Committed r260321: &lt;https://trac.webkit.org/changeset/260321&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643050</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-18 14:15:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/61983233&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396842</attachid>
            <date>2020-04-18 05:53:37 -0700</date>
            <delta_ts>2020-04-18 06:13:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210687-20200418055336.patch</filename>
            <type>text/plain</type>
            <size>35336</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwMzAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
ZWI1ZGNhMDU0MzhlMjhiMmJmNWE3YzJiZGFjYjlhMjI3MGU4NGM2Li42MmU0ZmI5NmNkZDBiZGYy
Y2ZjYjRhZDU2Y2QyZGE2NWE2M2E3OGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3NSBAQAorMjAyMC0wNC0xOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlcGxhY2UgREZHIE5ld1Byb21pc2Ugd2l0aCBOZXdJbnRlcm5h
bEZpZWxkT2JqZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTA2ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGUgZmVhdHVyZSBvZiBERkc6Ok5ld1Byb21pc2UgY2FuIGJlIGltcGxlbWVudGVkIGNv
bXBsZXRlbHkgd2l0aCBERkc6Ok5ld0ludGVybmFsRmllbGRPYmplY3QuIFRoaXMgcmVkdWNlcyBj
b2RlIGR1cGxpY2F0aW9uLCBhbmQgZnVydGhlcm1vcmUsCisgICAgICAgIHRoaXMgb2ZmZXJzIE9i
amVjdCBBbGxvY2F0aW9uIFNpbmtpbmcgc3VwcG9ydCBmb3IgZnJlZS4gVGhpcyBwYXRjaCByZXBs
YWNlcyBERkc6Ok5ld1Byb21pc2Ugd2l0aCBERkc6Ok5ld0ludGVybmFsRmllbGRPYmplY3QgYW5k
IHJlbW92ZSBERkc6Ok5ld1Byb21pc2UKKyAgICAgICAgY29tcGxldGVseS4KKworICAgICAgICAq
IGRmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpERkc6
OkFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyk6
CisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0Nsb2JiZXJp
emUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpjbG9iYmVyaXplKToKKyAgICAgICAgKiBkZmcvREZH
Q2xvYmJlcnNFeGl0U3RhdGUuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmNsb2JiZXJzRXhpdFN0
YXRlKToKKyAgICAgICAgKiBkZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwOgorICAgICAg
ICAoSlNDOjpERkc6OkNvbnN0YW50Rm9sZGluZ1BoYXNlOjpmb2xkQ29uc3RhbnRzKToKKyAgICAg
ICAgKiBkZmcvREZHRG9lc0dDLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpkb2VzR0MpOgorICAg
ICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBo
YXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRmZy9ERkdOb2RlLmg6CisgICAgICAgIChKU0M6
OkRGRzo6Tm9kZTo6Y29udmVydFRvTmV3SW50ZXJuYWxGaWVsZE9iamVjdCk6CisgICAgICAgIChK
U0M6OkRGRzo6Tm9kZTo6Y29udmVydFRvTmV3SW50ZXJuYWxGaWVsZE9iamVjdFdpdGhJbmxpbmVG
aWVsZHMpOgorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6Omhhc0lzSW50ZXJuYWxQcm9taXNlKToK
KyAgICAgICAgKEpTQzo6REZHOjpOb2RlOjpoYXNTdHJ1Y3R1cmUpOgorICAgICAgICAoSlNDOjpE
Rkc6Ok5vZGU6OmNvbnZlcnRUb05ld1Byb21pc2UpOiBEZWxldGVkLgorICAgICAgICAqIGRmZy9E
RkdOb2RlVHlwZS5oOgorICAgICAgICAqIGRmZy9ERkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1Bo
YXNlLmNwcDoKKyAgICAgICAgKiBkZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3Bw
OgorICAgICAgICAqIGRmZy9ERkdTYWZlVG9FeGVjdXRlLmg6CisgICAgICAgIChKU0M6OkRGRzo6
c2FmZVRvRXhlY3V0ZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAg
ICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU5ld0ludGVybmFsRmllbGRP
YmplY3QpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlTmV3UHJv
bWlzZSk6IERlbGV0ZWQuCisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6CisgICAg
ICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6
OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVK
SVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgor
ICAgICAgICAqIGRmZy9ERkdTdG9yZUJhcnJpZXJJbnNlcnRpb25QaGFzZS5jcHA6CisgICAgICAg
ICogZnRsL0ZUTENhcGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6Y2FuQ29tcGls
ZSk6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9CMy5jcHA6CisgICAgICAgIChKU0M6OkZU
TDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVOb2RlKToKKyAgICAgICAgKEpTQzo6RlRMOjpE
Rkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZU5ld0ludGVybmFsRmllbGRPYmplY3QpOgorICAgICAg
ICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlTWF0ZXJpYWxpemVOZXdJbnRl
cm5hbEZpZWxkT2JqZWN0KToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6
Y29tcGlsZU5ld1Byb21pc2UpOiBEZWxldGVkLgorICAgICAgICAqIGZ0bC9GVExPcGVyYXRpb25z
LmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpvcGVyYXRpb25Qb3B1bGF0ZU9iamVjdEluT1NSKToK
KyAgICAgICAgKEpTQzo6RlRMOjpvcGVyYXRpb25NYXRlcmlhbGl6ZU9iamVjdEluT1NSKToKKyAg
ICAgICAgKiBydW50aW1lL0pTSW50ZXJuYWxQcm9taXNlLmNwcDoKKyAgICAgICAgKEpTQzo6SlNJ
bnRlcm5hbFByb21pc2U6OmNyZWF0ZVdpdGhJbml0aWFsVmFsdWVzKToKKyAgICAgICAgKiBydW50
aW1lL0pTSW50ZXJuYWxQcm9taXNlLmg6CisgICAgICAgICogcnVudGltZS9KU1Byb21pc2UuY3Bw
OgorICAgICAgICAoSlNDOjpKU1Byb21pc2U6OmNyZWF0ZVdpdGhJbml0aWFsVmFsdWVzKToKKyAg
ICAgICAgKEpTQzo6SlNQcm9taXNlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OkpT
UHJvbWlzZTo6c3RhdHVzIGNvbnN0KToKKyAgICAgICAgKEpTQzo6SlNQcm9taXNlOjpyZXN1bHQg
Y29uc3QpOgorICAgICAgICAoSlNDOjpKU1Byb21pc2U6OmZsYWdzIGNvbnN0KToKKyAgICAgICAg
KEpTQzo6SlNQcm9taXNlOjpyZXNvbHZlKToKKyAgICAgICAgKEpTQzo6SlNQcm9taXNlOjpyZWpl
Y3QpOgorICAgICAgICAoSlNDOjpKU1Byb21pc2U6OnJlamVjdEFzSGFuZGxlZCk6CisgICAgICAg
ICogcnVudGltZS9KU1Byb21pc2UuaDoKKyAgICAgICAgKEpTQzo6SlNQcm9taXNlOjppbml0aWFs
VmFsdWVzKToKKyAgICAgICAgKEpTQzo6SlNQcm9taXNlOjppbnRlcm5hbEZpZWxkIGNvbnN0KToK
KyAgICAgICAgKEpTQzo6SlNQcm9taXNlOjppbnRlcm5hbEZpZWxkKToKKwogMjAyMC0wNC0xNyAg
Q29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgcmV2ZXJ0aW5nIHIyNjAyNzkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXggN2UyNjM4MGM2
MDU2NWJiODAyOWJjMDgxMTM1OTFiMGUxYzNlYjI2Yy4uNjFmMDkwYWQ3MWYxOGM0N2U3M2FlZWE4
YzZlYWQxMWI4M2NlNWE0OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtMjg1OCw3ICsyODU4LDYg
QEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVm
ZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAg
Y2FzZSBOZXdQcm9taXNlOgogICAgIGNhc2UgTmV3R2VuZXJhdG9yOgogICAgIGNhc2UgTmV3QXN5
bmNHZW5lcmF0b3I6ICAgIAogICAgIGNhc2UgTmV3SW50ZXJuYWxGaWVsZE9iamVjdDoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXggZmVh
MjhiYzQ2ZTQyNTllYmI2Nzc0OGQ5MTM0MTQ4NWI3OTkwMGIyNS4uMTcyOGMyYmZkYjAzNzBhMGRh
MzNiMmZkZDU4NmQ0NDQzZjAzYjRlZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKQEAgLTUyNDAsNyArNTI0MCw4IEBAIHZvaWQgQnl0ZUNv
ZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgICAgIGlmIChwcm9taXNlQ29uc3RydWN0b3IpIHsKICAgICAgICAgICAgICAg
ICAgICAgYWRkVG9HcmFwaChQaGFudG9tLCBjYWxsZWUpOwotICAgICAgICAgICAgICAgICAgICBz
ZXQoVmlydHVhbFJlZ2lzdGVyKGJ5dGVjb2RlLm1fZHN0KSwgYWRkVG9HcmFwaChOZXdQcm9taXNl
LCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVjdHVyZShieXRlY29kZS5tX2lzSW50ZXJuYWxQ
cm9taXNlID8gZ2xvYmFsT2JqZWN0LT5pbnRlcm5hbFByb21pc2VTdHJ1Y3R1cmUoKSA6IGdsb2Jh
bE9iamVjdC0+cHJvbWlzZVN0cnVjdHVyZSgpKSksIE9wSW5mbyhieXRlY29kZS5tX2lzSW50ZXJu
YWxQcm9taXNlKSkpOworICAgICAgICAgICAgICAgICAgICBOb2RlKiBwcm9taXNlID0gYWRkVG9H
cmFwaChOZXdJbnRlcm5hbEZpZWxkT2JqZWN0LCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVj
dHVyZShieXRlY29kZS5tX2lzSW50ZXJuYWxQcm9taXNlID8gZ2xvYmFsT2JqZWN0LT5pbnRlcm5h
bFByb21pc2VTdHJ1Y3R1cmUoKSA6IGdsb2JhbE9iamVjdC0+cHJvbWlzZVN0cnVjdHVyZSgpKSkp
OworICAgICAgICAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGJ5dGVjb2RlLm1fZHN0
KSwgcHJvbWlzZSk7CiAgICAgICAgICAgICAgICAgICAgIGFscmVhZHlFbWl0dGVkID0gdHJ1ZTsK
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CkBAIC01MjczLDcgKzUyNzQsOCBAQCB2
b2lkIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHko
cmFyZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpKTsKIAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGJ5dGVjb2RlLm1fZHN0
KSwgYWRkVG9HcmFwaChOZXdQcm9taXNlLCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVjdHVy
ZShzdHJ1Y3R1cmUpKSwgT3BJbmZvKGJ5dGVjb2RlLm1faXNJbnRlcm5hbFByb21pc2UpKSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vZGUqIHByb21pc2UgPSBhZGRUb0dyYXBo
KE5ld0ludGVybmFsRmllbGRPYmplY3QsIE9wSW5mbyhtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJl
KHN0cnVjdHVyZSkpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0KFZpcnR1
YWxSZWdpc3RlcihieXRlY29kZS5tX2RzdCksIHByb21pc2UpOwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyBUaGUgY2FsbGVlIGlzIHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2lu
dC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChQaGFudG9tLCBj
YWxsZWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHJlYWR5RW1pdHRlZCA9
IHRydWU7CkBAIC01MzA4LDcgKzUzMTAsOCBAQCB2b2lkIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJs
b2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICBjYXNlIG9wX25ld19wcm9taXNlOiB7CiAgICAg
ICAgICAgICBhdXRvIGJ5dGVjb2RlID0gY3VycmVudEluc3RydWN0aW9uLT5hczxPcE5ld1Byb21p
c2U+KCk7CiAgICAgICAgICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gbV9ncmFw
aC5nbG9iYWxPYmplY3RGb3IoY3VycmVudE5vZGVPcmlnaW4oKS5zZW1hbnRpYyk7Ci0gICAgICAg
ICAgICBzZXQoYnl0ZWNvZGUubV9kc3QsIGFkZFRvR3JhcGgoTmV3UHJvbWlzZSwgT3BJbmZvKG1f
Z3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoYnl0ZWNvZGUubV9pc0ludGVybmFsUHJvbWlzZSA/IGds
b2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkgOiBnbG9iYWxPYmplY3QtPnBy
b21pc2VTdHJ1Y3R1cmUoKSkpLCBPcEluZm8oYnl0ZWNvZGUubV9pc0ludGVybmFsUHJvbWlzZSkp
KTsKKyAgICAgICAgICAgIE5vZGUqIHByb21pc2UgPSBhZGRUb0dyYXBoKE5ld0ludGVybmFsRmll
bGRPYmplY3QsIE9wSW5mbyhtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKGJ5dGVjb2RlLm1faXNJ
bnRlcm5hbFByb21pc2UgPyBnbG9iYWxPYmplY3QtPmludGVybmFsUHJvbWlzZVN0cnVjdHVyZSgp
IDogZ2xvYmFsT2JqZWN0LT5wcm9taXNlU3RydWN0dXJlKCkpKSk7CisgICAgICAgICAgICBzZXQo
Ynl0ZWNvZGUubV9kc3QsIHByb21pc2UpOwogICAgICAgICAgICAgTkVYVF9PUENPREUob3BfbmV3
X3Byb21pc2UpOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQ2xvYmJlcml6ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9i
YmVyaXplLmgKaW5kZXggYzcxNGYxNTIwNDM4MWJhMmY0MmU3NmQ1OGZhZjhjYTc2ODhkZWY2OS4u
M2EwZmNmYzkxMWE2YzMyNzU2MTE3MzIxODAxZjUxYzRkNWFkODg4NyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKQEAgLTE2MDIsNyArMTYwMiw2IEBAIHZvaWQg
Y2xvYmJlcml6ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJlYWRGdW5jdG9yJiBy
ZWFkLCBjb25zdCBXcml0ZUZ1CiAgICAgfQogCiAgICAgY2FzZSBOZXdPYmplY3Q6Ci0gICAgY2Fz
ZSBOZXdQcm9taXNlOgogICAgIGNhc2UgTmV3R2VuZXJhdG9yOgogICAgIGNhc2UgTmV3QXN5bmNH
ZW5lcmF0b3I6CiAgICAgY2FzZSBOZXdJbnRlcm5hbEZpZWxkT2JqZWN0OgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyc0V4aXRTdGF0ZS5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJzRXhpdFN0YXRlLmNwcAppbmRleCBkZjUy
NDY3MWExMWZhMjhlMjNiNDhlMDg4MWVkMDZmMjBiZjJjZWU0Li5kNzdjN2FmOGU1MmZkOTI2YzYz
YzlhMDYxNjc4NDI0MjZkOWNmYjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Nsb2JiZXJzRXhpdFN0YXRlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Nsb2JiZXJzRXhpdFN0YXRlLmNwcApAQCAtNTcsNyArNTcsNiBAQCBib29sIGNsb2Ji
ZXJzRXhpdFN0YXRlKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIEFycmF5aWZ5
VG9TdHJ1Y3R1cmU6CiAgICAgY2FzZSBBcnJheWlmeToKICAgICBjYXNlIE5ld09iamVjdDoKLSAg
ICBjYXNlIE5ld1Byb21pc2U6CiAgICAgY2FzZSBOZXdHZW5lcmF0b3I6CiAgICAgY2FzZSBOZXdB
c3luY0dlbmVyYXRvcjoKICAgICBjYXNlIE5ld0ludGVybmFsRmllbGRPYmplY3Q6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3Bw
CmluZGV4IGUwYzk1ODZmMjBkNGQ1ZDExODg3MmI5YTAzMzljODcwNGIwMmRjMWIuLmYyNzBlOTQy
NDI5OGFmYTNmZWJjNDQyNWUzNDBlYTViNmZjODZlMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwCkBAIC04MzEsNyAr
ODMxLDcgQEAgY2xhc3MgQ29uc3RhbnRGb2xkaW5nUGhhc2UgOiBwdWJsaWMgUGhhc2UgewogICAg
ICAgICAgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBtX2dyYXBoLmdsb2Jh
bE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpOwogICAgICAgICAgICAgICAgIGlmIChK
U1ZhbHVlIGJhc2UgPSBtX3N0YXRlLmZvck5vZGUobm9kZS0+Y2hpbGQxKCkpLm1fdmFsdWUpIHsK
ICAgICAgICAgICAgICAgICAgICAgaWYgKGJhc2UgPT0gKG5vZGUtPmlzSW50ZXJuYWxQcm9taXNl
KCkgPyBnbG9iYWxPYmplY3QtPmludGVybmFsUHJvbWlzZUNvbnN0cnVjdG9yKCkgOiBnbG9iYWxP
YmplY3QtPnByb21pc2VDb25zdHJ1Y3RvcigpKSkgewotICAgICAgICAgICAgICAgICAgICAgICAg
bm9kZS0+Y29udmVydFRvTmV3UHJvbWlzZShtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKG5vZGUt
PmlzSW50ZXJuYWxQcm9taXNlKCkgPyBnbG9iYWxPYmplY3QtPmludGVybmFsUHJvbWlzZVN0cnVj
dHVyZSgpIDogZ2xvYmFsT2JqZWN0LT5wcm9taXNlU3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb05ld0ludGVybmFsRmllbGRPYmplY3QobV9ncmFw
aC5yZWdpc3RlclN0cnVjdHVyZShub2RlLT5pc0ludGVybmFsUHJvbWlzZSgpID8gZ2xvYmFsT2Jq
ZWN0LT5pbnRlcm5hbFByb21pc2VTdHJ1Y3R1cmUoKSA6IGdsb2JhbE9iamVjdC0+cHJvbWlzZVN0
cnVjdHVyZSgpKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKICAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICB9CkBAIC04
NDUsNyArODQ1LDcgQEAgY2xhc3MgQ29uc3RhbnRGb2xkaW5nUGhhc2UgOiBwdWJsaWMgUGhhc2Ug
ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgcmFyZURhdGEtPmFsbG9j
YXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpLmlzU3RpbGxWYWxpZCgpKSB7CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLndhdGNocG9pbnRzKCkuYWRk
TGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQoKSk7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5jb252ZXJ0VG9OZXdQcm9taXNl
KG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJlKSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBub2RlLT5jb252ZXJ0VG9OZXdJbnRlcm5hbEZpZWxkT2JqZWN0
KG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJlKSk7CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
CkBAIC04NzEsNyArODcxLDcgQEAgY2xhc3MgQ29uc3RhbnRGb2xkaW5nUGhhc2UgOiBwdWJsaWMg
UGhhc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHJhcmVE
YXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQoKS5pc1N0aWxsVmFsaWQoKSkgewog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGguZnJlZXplKHJh
cmVEYXRhKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBo
LndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNo
cG9pbnRTZXQoKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9k
ZS0+Y29udmVydFRvTmV3SW50ZXJuYWxGaWVsZE9iamVjdChuZXdPcCwgbV9ncmFwaC5yZWdpc3Rl
clN0cnVjdHVyZShzdHJ1Y3R1cmUpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBub2RlLT5jb252ZXJ0VG9OZXdJbnRlcm5hbEZpZWxkT2JqZWN0V2l0aElubGluZUZp
ZWxkcyhuZXdPcCwgbV9ncmFwaC5yZWdpc3RlclN0cnVjdHVyZShzdHJ1Y3R1cmUpKTsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0RvZXNHQy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNH
Qy5jcHAKaW5kZXggNjQ0ZWZlMmQ1ZDAwOWI3N2FmNDk1NTRiYWI5Y2Y4ZTdhYTViMDdmZC4uOWJi
NmEyMjZhYTY1Zjc3MWI2ZmRmOTk5MGY2YjMyMGI4MzA5MzFhZiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHRG9lc0dDLmNwcApAQCAtMzUzLDcgKzM1Myw2IEBAIGJvb2wgZG9lc0dDKEdy
YXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIEFycmF5aWZ5OgogICAgIGNhc2UgQXJy
YXlpZnlUb1N0cnVjdHVyZToKICAgICBjYXNlIE5ld09iamVjdDoKLSAgICBjYXNlIE5ld1Byb21p
c2U6CiAgICAgY2FzZSBOZXdHZW5lcmF0b3I6CiAgICAgY2FzZSBOZXdBc3luY0dlbmVyYXRvcjoK
ICAgICBjYXNlIE5ld0FycmF5OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdGaXh1cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQ
aGFzZS5jcHAKaW5kZXggOGQ3ZGUyNzFkYjA5OTYxNGI1YmM1YTk4N2NhY2IyZDhlOGVmODY3MC4u
NTI3N2UzZWQ3N2FkNDAzNDk2OWY2NjY0NDcwYTk0N2VjOWZkYjQzNCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0yNTMzLDcgKzI1MzMsNiBAQCBj
bGFzcyBGaXh1cFBoYXNlIDogcHVibGljIFBoYXNlIHsKICAgICAgICAgY2FzZSBWYXJhcmdzTGVu
Z3RoOgogICAgICAgICBjYXNlIFByb2ZpbGVDb250cm9sRmxvdzoKICAgICAgICAgY2FzZSBOZXdP
YmplY3Q6Ci0gICAgICAgIGNhc2UgTmV3UHJvbWlzZToKICAgICAgICAgY2FzZSBOZXdHZW5lcmF0
b3I6CiAgICAgICAgIGNhc2UgTmV3QXN5bmNHZW5lcmF0b3I6CiAgICAgICAgIGNhc2UgTmV3SW50
ZXJuYWxGaWVsZE9iamVjdDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHTm9kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKaW5kZXggZTU2
YzVmZmMxZGMzMzllNzc4ODY0YTcwNDE4NTEyMjlhOTBmNzM1OC4uMTJkOTgwMzFlYjAwNWFmOTRj
NjliNjc0YmY1NDQ3YjQ0OWUyYjNiNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdOb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgK
QEAgLTc4NCwxNyArNzg0LDE2IEBAIHN0cnVjdCBOb2RlIHsKICAgICAgICAgbV9vcEluZm8yID0g
T3BJbmZvV3JhcHBlcigpOwogICAgIH0KIAotICAgIHZvaWQgY29udmVydFRvTmV3UHJvbWlzZShS
ZWdpc3RlcmVkU3RydWN0dXJlIHN0cnVjdHVyZSkKKyAgICB2b2lkIGNvbnZlcnRUb05ld0ludGVy
bmFsRmllbGRPYmplY3QoUmVnaXN0ZXJlZFN0cnVjdHVyZSBzdHJ1Y3R1cmUpCiAgICAgewogICAg
ICAgICBBU1NFUlQobV9vcCA9PSBDcmVhdGVQcm9taXNlKTsKLSAgICAgICAgYm9vbCBpbnRlcm5h
bCA9IGlzSW50ZXJuYWxQcm9taXNlKCk7Ci0gICAgICAgIHNldE9wQW5kRGVmYXVsdEZsYWdzKE5l
d1Byb21pc2UpOworICAgICAgICBzZXRPcEFuZERlZmF1bHRGbGFncyhOZXdJbnRlcm5hbEZpZWxk
T2JqZWN0KTsKICAgICAgICAgY2hpbGRyZW4ucmVzZXQoKTsKICAgICAgICAgbV9vcEluZm8gPSBz
dHJ1Y3R1cmU7Ci0gICAgICAgIG1fb3BJbmZvMiA9IGludGVybmFsOworICAgICAgICBtX29wSW5m
bzIgPSBPcEluZm9XcmFwcGVyKCk7CiAgICAgfQogCi0gICAgdm9pZCBjb252ZXJ0VG9OZXdJbnRl
cm5hbEZpZWxkT2JqZWN0KE5vZGVUeXBlIG5ld09wLCBSZWdpc3RlcmVkU3RydWN0dXJlIHN0cnVj
dHVyZSkKKyAgICB2b2lkIGNvbnZlcnRUb05ld0ludGVybmFsRmllbGRPYmplY3RXaXRoSW5saW5l
RmllbGRzKE5vZGVUeXBlIG5ld09wLCBSZWdpc3RlcmVkU3RydWN0dXJlIHN0cnVjdHVyZSkKICAg
ICB7CiAgICAgICAgIEFTU0VSVChtX29wID09IENyZWF0ZUFzeW5jR2VuZXJhdG9yIHx8IG1fb3Ag
PT0gQ3JlYXRlR2VuZXJhdG9yKTsKICAgICAgICAgc2V0T3BBbmREZWZhdWx0RmxhZ3MobmV3T3Ap
OwpAQCAtMTMxMiw3ICsxMzExLDcgQEAgc3RydWN0IE5vZGUgewogCiAgICAgYm9vbCBoYXNJc0lu
dGVybmFsUHJvbWlzZSgpCiAgICAgewotICAgICAgICByZXR1cm4gb3AoKSA9PSBDcmVhdGVQcm9t
aXNlIHx8IG9wKCkgPT0gTmV3UHJvbWlzZTsKKyAgICAgICAgcmV0dXJuIG9wKCkgPT0gQ3JlYXRl
UHJvbWlzZTsKICAgICB9CiAKICAgICBib29sIGlzSW50ZXJuYWxQcm9taXNlKCkKQEAgLTE5ODEs
NyArMTk4MCw2IEBAIHN0cnVjdCBOb2RlIHsKICAgICAgICAgY2FzZSBBcnJheWlmeVRvU3RydWN0
dXJlOgogICAgICAgICBjYXNlIE1hdGVyaWFsaXplTmV3SW50ZXJuYWxGaWVsZE9iamVjdDoKICAg
ICAgICAgY2FzZSBOZXdPYmplY3Q6Ci0gICAgICAgIGNhc2UgTmV3UHJvbWlzZToKICAgICAgICAg
Y2FzZSBOZXdHZW5lcmF0b3I6CiAgICAgICAgIGNhc2UgTmV3QXN5bmNHZW5lcmF0b3I6CiAgICAg
ICAgIGNhc2UgTmV3SW50ZXJuYWxGaWVsZE9iamVjdDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHTm9kZVR5cGUuaAppbmRleCA5M2QxN2JlMzM5NmQyZGQ1MDgxN2E0ZWY2MTNkOTBiZmRhNDVi
Mzc2Li44MGM4YTI1NzgzOTM4MWViMTcyYmUxMTEyMjcxNmRkMjI1ZWYzYzY1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCkBAIC0zNTIsNyArMzUyLDYgQEAgbmFtZXNw
YWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogICAgIFwKICAgICAvKiBBbGxvY2F0aW9ucy4gKi9c
CiAgICAgbWFjcm8oTmV3T2JqZWN0LCBOb2RlUmVzdWx0SlMpIFwKLSAgICBtYWNybyhOZXdQcm9t
aXNlLCBOb2RlUmVzdWx0SlMpIFwKICAgICBtYWNybyhOZXdHZW5lcmF0b3IsIE5vZGVSZXN1bHRK
UykgXAogICAgIG1hY3JvKE5ld0FzeW5jR2VuZXJhdG9yLCBOb2RlUmVzdWx0SlMpIFwKICAgICBt
YWNybyhOZXdBcnJheSwgTm9kZVJlc3VsdEpTIHwgTm9kZUhhc1ZhckFyZ3MpIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQ
aGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09iamVjdEFsbG9jYXRpb25T
aW5raW5nUGhhc2UuY3BwCmluZGV4IGZlZTUwMGVhMmE5OGFkNTdmOWQ3ZmYwNmIwYjczNzg2NGRi
YzNiYmEuLjA5YWFmYjNjY2JlN2QxOWMwYTFhMDQ1N2JiNjVkMzYwZjUzYjg5M2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQ
aGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPYmplY3RBbGxvY2F0
aW9uU2lua2luZ1BoYXNlLmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIkRGR1ZhbGlk
YXRlLmgiCiAjaW5jbHVkZSAiSlNBcnJheUl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5l
cy5oIgorI2luY2x1ZGUgIkpTSW50ZXJuYWxQcm9taXNlLmgiCiAjaW5jbHVkZSAiSlNNYXBJdGVy
YXRvci5oIgogI2luY2x1ZGUgIkpTU2V0SXRlcmF0b3IuaCIKICNpbmNsdWRlIDx3dGYvU3RkTGlz
dC5oPgpAQCAtOTc0LDYgKzk3NSwxNCBAQCBjbGFzcyBPYmplY3RBbGxvY2F0aW9uU2lua2luZ1Bo
YXNlIDogcHVibGljIFBoYXNlIHsKICAgICAgICAgICAgIGNhc2UgSlNTZXRJdGVyYXRvclR5cGU6
CiAgICAgICAgICAgICAgICAgdGFyZ2V0ID0gaGFuZGxlSW50ZXJuYWxGaWVsZENsYXNzPEpTU2V0
SXRlcmF0b3I+KG5vZGUsIHdyaXRlcyk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICBjYXNlIEpTUHJvbWlzZVR5cGU6CisgICAgICAgICAgICAgICAgaWYgKG5vZGUtPnN0cnVj
dHVyZSgpLT5jbGFzc0luZm8oKSA9PSBKU0ludGVybmFsUHJvbWlzZTo6aW5mbygpKQorICAgICAg
ICAgICAgICAgICAgICB0YXJnZXQgPSBoYW5kbGVJbnRlcm5hbEZpZWxkQ2xhc3M8SlNJbnRlcm5h
bFByb21pc2U+KG5vZGUsIHdyaXRlcyk7CisgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAg
ICAgICAgICAgICAgIEFTU0VSVChub2RlLT5zdHJ1Y3R1cmUoKS0+Y2xhc3NJbmZvKCkgPT0gSlNQ
cm9taXNlOjppbmZvKCkpOworICAgICAgICAgICAgICAgICAgICB0YXJnZXQgPSBoYW5kbGVJbnRl
cm5hbEZpZWxkQ2xhc3M8SlNQcm9taXNlPihub2RlLCB3cml0ZXMpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAg
ICAgICAgICAgREZHX0NSQVNIKG1fZ3JhcGgsIG5vZGUsICJCYWQgc3RydWN0dXJlIik7CiAgICAg
ICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRp
Y3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
UHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCmluZGV4IGZlNDljMzEzMDM2OTFiNmJmMjRj
YTllYWI4NTJhZTEzOGJlNjZmMTIuLjA3ZmI4ZDdkMWM5YjYzZWZiNDE0Y2Y3NmMwY2YxNWI0N2Zj
MzIwYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlv
blByb3BhZ2F0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
UHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCkBAIC0xMDUzLDcgKzEwNTMsNiBAQCBjbGFz
cyBQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZSA6IHB1YmxpYyBQaGFzZSB7CiAgICAgICAgIH0K
IAogICAgICAgICBjYXNlIENyZWF0ZVByb21pc2U6Ci0gICAgICAgIGNhc2UgTmV3UHJvbWlzZToK
ICAgICAgICAgICAgIHNldFByZWRpY3Rpb24oU3BlY1Byb21pc2VPYmplY3QpOwogICAgICAgICAg
ICAgYnJlYWs7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2Fm
ZVRvRXhlY3V0ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRl
LmgKaW5kZXggOGVjZDM1MzFmYzMwZTI1YzA2ZWFhODg2MmJmM2ZiMzM4NWRjZGM2OS4uOTkzNjI5
NjYyNmM0M2Y5NmIxOWE1Yzk2ZTk4NWNiNzA1OThmZTU0YiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKQEAgLTU0Miw3ICs1NDIsNiBAQCBib29sIHNh
ZmVUb0V4ZWN1dGUoQWJzdHJhY3RTdGF0ZVR5cGUmIHN0YXRlLCBHcmFwaCYgZ3JhcGgsIE5vZGUq
IG5vZGUsIGJvb2wgaWdubwogICAgIGNhc2UgQ2FsbEZvcndhcmRWYXJhcmdzOgogICAgIGNhc2Ug
Q29uc3RydWN0Rm9yd2FyZFZhcmFyZ3M6CiAgICAgY2FzZSBOZXdPYmplY3Q6Ci0gICAgY2FzZSBO
ZXdQcm9taXNlOgogICAgIGNhc2UgTmV3R2VuZXJhdG9yOgogICAgIGNhc2UgTmV3QXN5bmNHZW5l
cmF0b3I6CiAgICAgY2FzZSBOZXdBcnJheToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggNjE4ZDk5ODhiMGUyOWI1ZTc0ODk4NDU5Mzc3
OGE1MmVlN2VjZDcxMC4uMDZkYTFhNjNjMTc4NWY3MTE1OGM0MmIyYTgzZGI3Njk4MWY4NmNiNCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAK
QEAgLTEyOTQ4LDMzICsxMjk0OCw2IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVOZXdP
YmplY3QoTm9kZSogbm9kZSkKICAgICBjZWxsUmVzdWx0KHJlc3VsdEdQUiwgbm9kZSk7CiB9CiAK
LXZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVOZXdQcm9taXNlKE5vZGUqIG5vZGUpCi17Ci0g
ICAgR1BSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzKTsKLSAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDEo
dGhpcyk7Ci0gICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gyKHRoaXMpOwotCi0gICAgR1BSUmVnIHJl
c3VsdEdQUiA9IHJlc3VsdC5ncHIoKTsKLSAgICBHUFJSZWcgc2NyYXRjaDFHUFIgPSBzY3JhdGNo
MS5ncHIoKTsKLSAgICBHUFJSZWcgc2NyYXRjaDJHUFIgPSBzY3JhdGNoMi5ncHIoKTsKLQotICAg
IE1hY3JvQXNzZW1ibGVyOjpKdW1wTGlzdCBzbG93Q2FzZXM7Ci0KLSAgICBGcm96ZW5WYWx1ZSog
c3RydWN0dXJlID0gbV9ncmFwaC5mcmVlemVTdHJvbmcobm9kZS0+c3RydWN0dXJlKCkuZ2V0KCkp
OwotICAgIGF1dG8gYnV0dGVyZmx5ID0gVHJ1c3RlZEltbVB0cihudWxscHRyKTsKLSAgICBpZiAo
bm9kZS0+aXNJbnRlcm5hbFByb21pc2UoKSkKLSAgICAgICAgZW1pdEFsbG9jYXRlSlNPYmplY3RX
aXRoS25vd25TaXplPEpTSW50ZXJuYWxQcm9taXNlPihyZXN1bHRHUFIsIFRydXN0ZWRJbW1QdHIo
c3RydWN0dXJlKSwgYnV0dGVyZmx5LCBzY3JhdGNoMUdQUiwgc2NyYXRjaDJHUFIsIHNsb3dDYXNl
cywgc2l6ZW9mKEpTSW50ZXJuYWxQcm9taXNlKSk7Ci0gICAgZWxzZQotICAgICAgICBlbWl0QWxs
b2NhdGVKU09iamVjdFdpdGhLbm93blNpemU8SlNQcm9taXNlPihyZXN1bHRHUFIsIFRydXN0ZWRJ
bW1QdHIoc3RydWN0dXJlKSwgYnV0dGVyZmx5LCBzY3JhdGNoMUdQUiwgc2NyYXRjaDJHUFIsIHNs
b3dDYXNlcywgc2l6ZW9mKEpTUHJvbWlzZSkpOwotICAgIG1faml0LnN0b3JlVHJ1c3RlZFZhbHVl
KGpzTnVtYmVyKHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU1Byb21pc2U6OlN0YXR1czo6UGVuZGlu
ZykpLCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MocmVzdWx0R1BSLCBKU0ludGVybmFsRmllbGRPYmpl
Y3RJbXBsPD46Om9mZnNldE9mSW50ZXJuYWxGaWVsZChzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNQ
cm9taXNlOjpGaWVsZDo6RmxhZ3MpKSkpOwotICAgIG1faml0LnN0b3JlVHJ1c3RlZFZhbHVlKGpz
VW5kZWZpbmVkKCksIENDYWxsSGVscGVyczo6QWRkcmVzcyhyZXN1bHRHUFIsIEpTSW50ZXJuYWxG
aWVsZE9iamVjdEltcGw8Pjo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxkKHN0YXRpY19jYXN0PHVuc2ln
bmVkPihKU1Byb21pc2U6OkZpZWxkOjpSZWFjdGlvbnNPclJlc3VsdCkpKSk7Ci0gICAgbV9qaXQu
bXV0YXRvckZlbmNlKG1faml0LnZtKCkpOwotCi0gICAgYWRkU2xvd1BhdGhHZW5lcmF0b3Ioc2xv
d1BhdGhDYWxsKHNsb3dDYXNlcywgdGhpcywgbm9kZS0+aXNJbnRlcm5hbFByb21pc2UoKSA/IG9w
ZXJhdGlvbk5ld0ludGVybmFsUHJvbWlzZSA6IG9wZXJhdGlvbk5ld1Byb21pc2UsIHJlc3VsdEdQ
UiwgVHJ1c3RlZEltbVB0cigmdm0oKSksIFRydXN0ZWRJbW1QdHIoc3RydWN0dXJlKSkpOwotCi0g
ICAgY2VsbFJlc3VsdChyZXN1bHRHUFIsIG5vZGUpOwotfQotCiB0ZW1wbGF0ZTx0eXBlbmFtZSBK
U0NsYXNzLCB0eXBlbmFtZSBPcGVyYXRpb24+CiB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
TmV3SW50ZXJuYWxGaWVsZE9iamVjdEltcGwoTm9kZSogbm9kZSwgT3BlcmF0aW9uIG9wZXJhdGlv
bikKIHsKQEAgLTEzMDI0LDYgKzEyOTk3LDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVOZXdJbnRlcm5hbEZpZWxkT2JqZWN0KE5vZGUqIG5vZGUpCiAgICAgY2FzZSBKU1NldEl0ZXJh
dG9yVHlwZToKICAgICAgICAgY29tcGlsZU5ld0ludGVybmFsRmllbGRPYmplY3RJbXBsPEpTU2V0
SXRlcmF0b3I+KG5vZGUsIG9wZXJhdGlvbk5ld1NldEl0ZXJhdG9yKTsKICAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBKU1Byb21pc2VUeXBlOiB7CisgICAgICAgIGlmIChub2RlLT5zdHJ1Y3R1cmUo
KS0+Y2xhc3NJbmZvKCkgPT0gSlNJbnRlcm5hbFByb21pc2U6OmluZm8oKSkKKyAgICAgICAgICAg
IGNvbXBpbGVOZXdJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDxKU0ludGVybmFsUHJvbWlzZT4obm9k
ZSwgb3BlcmF0aW9uTmV3SW50ZXJuYWxQcm9taXNlKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAg
ICAgICBBU1NFUlQobm9kZS0+c3RydWN0dXJlKCktPmNsYXNzSW5mbygpID09IEpTUHJvbWlzZTo6
aW5mbygpKTsKKyAgICAgICAgICAgIGNvbXBpbGVOZXdJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDxK
U1Byb21pc2U+KG5vZGUsIG9wZXJhdGlvbk5ld1Byb21pc2UpOworICAgICAgICB9CisgICAgICAg
IGJyZWFrOworICAgIH0KICAgICBkZWZhdWx0OgogICAgICAgICBERkdfQ1JBU0gobV9ncmFwaCwg
bm9kZSwgIkJhZCBzdHJ1Y3R1cmUiKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKaW5kZXggZjc1MzU4OTQ1ZWFiYTBmYmM0NTE5ZWYwZDky
MmFiMjdiZGRkOTU5Mi4uZDYzYWIyZWQ2ZTQzMDdmZTdlYmU2NjVlOTc2ZDFkOWI5ODI5NjY5OSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaApAQCAt
MTQ1OSw3ICsxNDU5LDYgQEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAgIHZvaWQgY29tcGls
ZUNyZWF0ZUdlbmVyYXRvcihOb2RlKik7CiAgICAgdm9pZCBjb21waWxlQ3JlYXRlQXN5bmNHZW5l
cmF0b3IoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZU5ld09iamVjdChOb2RlKik7Ci0gICAgdm9p
ZCBjb21waWxlTmV3UHJvbWlzZShOb2RlKik7CiAgICAgdm9pZCBjb21waWxlTmV3R2VuZXJhdG9y
KE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVOZXdBc3luY0dlbmVyYXRvcihOb2RlKik7CiAgICAg
dm9pZCBjb21waWxlTmV3SW50ZXJuYWxGaWVsZE9iamVjdChOb2RlKik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAppbmRleCA2
MjVjYTBlYTZkNzI0NGZmOGM3MjQzNjkwZWQ5NTgwYTQyNzE1NWE2Li42NjExYmM5NmQyMDMzYzI4
YTc3YzQwZDZkZDgwMzhiMzVhZjg3NzA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKQEAgLTMyNDYsMTEgKzMyNDYsNiBA
QCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGJyZWFr
OwogICAgIH0KIAotICAgIGNhc2UgTmV3UHJvbWlzZTogewotICAgICAgICBjb21waWxlTmV3UHJv
bWlzZShub2RlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCiAgICAgY2FzZSBOZXdHZW5lcmF0
b3I6IHsKICAgICAgICAgY29tcGlsZU5ld0dlbmVyYXRvcihub2RlKTsKICAgICAgICAgYnJlYWs7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
NjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNw
cAppbmRleCAxZTYwMmE3NTgxMjQ5MWU5YTRlMjg3NWM2MDg4ZTZhOGIwNDY5OTc2Li43MDBhNWY1
Njc2NjQ0YWZkYzM1ODhmMjc4MWM0ZDFmMTczMzgwNzMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKQEAgLTM1NzUsMTEgKzM1NzUs
NiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGJy
ZWFrOwogICAgIH0KIAotICAgIGNhc2UgTmV3UHJvbWlzZTogewotICAgICAgICBjb21waWxlTmV3
UHJvbWlzZShub2RlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCiAgICAgY2FzZSBOZXdHZW5l
cmF0b3I6IHsKICAgICAgICAgY29tcGlsZU5ld0dlbmVyYXRvcihub2RlKTsKICAgICAgICAgYnJl
YWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0b3JlQmFycmll
ckluc2VydGlvblBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RvcmVC
YXJyaWVySW5zZXJ0aW9uUGhhc2UuY3BwCmluZGV4IDliOWViMzdhMDNmYTdiMDk0MmQzY2ZhZDY2
MjM0MDVkZDhjNzg0YzguLjA3MTUzYjhlNDcxMmY2ODI5YjZlYmM2MzIxNzQ2NmY4M2Q0NmMxYzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RvcmVCYXJyaWVySW5z
ZXJ0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RvcmVC
YXJyaWVySW5zZXJ0aW9uUGhhc2UuY3BwCkBAIC0zMzIsNyArMzMyLDYgQEAgY2xhc3MgU3RvcmVC
YXJyaWVySW5zZXJ0aW9uUGhhc2UgOiBwdWJsaWMgUGhhc2UgewogICAgICAgICAgICAgCiAgICAg
ICAgICAgICBzd2l0Y2ggKG1fbm9kZS0+b3AoKSkgewogICAgICAgICAgICAgY2FzZSBOZXdPYmpl
Y3Q6Ci0gICAgICAgICAgICBjYXNlIE5ld1Byb21pc2U6CiAgICAgICAgICAgICBjYXNlIE5ld0dl
bmVyYXRvcjoKICAgICAgICAgICAgIGNhc2UgTmV3QXN5bmNHZW5lcmF0b3I6CiAgICAgICAgICAg
ICBjYXNlIE5ld0FycmF5OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmls
aXRpZXMuY3BwCmluZGV4IDQ4OWIwNmQ1OGViYWY4ZmQyNjYzYmJmNzE0YTA0YTY3NmE4NDk1NzIu
LjI2M2NlZDcyYzM4NjgwZWYwYzljMDJiYzMzYTVlYWU2NjU3ZWRhN2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKQEAgLTc0LDcgKzc0LDYgQEAg
aW5saW5lIENhcGFiaWxpdHlMZXZlbCBjYW5Db21waWxlKE5vZGUqIG5vZGUpCiAgICAgY2FzZSBQ
dXRTdHJ1Y3R1cmU6CiAgICAgY2FzZSBHZXRCdXR0ZXJmbHk6CiAgICAgY2FzZSBOZXdPYmplY3Q6
Ci0gICAgY2FzZSBOZXdQcm9taXNlOgogICAgIGNhc2UgTmV3R2VuZXJhdG9yOgogICAgIGNhc2Ug
TmV3QXN5bmNHZW5lcmF0b3I6CiAgICAgY2FzZSBOZXdTdHJpbmdPYmplY3Q6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKaW5kZXggOThkMmEwZWFlYTI1
OWFlZDA3MzkwYzg5NTY3MWZmYjg3Nzk3MDY4Ny4uNWMwNjYwZDRhMzgxZTYyYWVmYzk4Y2UwYjVj
ODk3NDM2YzkxYmNlMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
b3dlckRGR1RvQjMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJE
RkdUb0IzLmNwcApAQCAtODQsNiArODQsNyBAQAogI2luY2x1ZGUgIkpTR2VuZXJhdG9yLmgiCiAj
aW5jbHVkZSAiSlNHZW5lcmF0b3JGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTSW1tdXRhYmxlQnV0
dGVyZmx5LmgiCisjaW5jbHVkZSAiSlNJbnRlcm5hbFByb21pc2UuaCIKICNpbmNsdWRlICJKU0xl
eGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkpTTWFwLmgiCiAjaW5jbHVkZSAiSlNNYXBJ
dGVyYXRvci5oIgpAQCAtMTA2NSw5ICsxMDY2LDYgQEAgY2xhc3MgTG93ZXJERkdUb0IzIHsKICAg
ICAgICAgY2FzZSBOZXdPYmplY3Q6CiAgICAgICAgICAgICBjb21waWxlTmV3T2JqZWN0KCk7CiAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBOZXdQcm9taXNlOgotICAgICAgICAgICAg
Y29tcGlsZU5ld1Byb21pc2UoKTsKLSAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIE5l
d0dlbmVyYXRvcjoKICAgICAgICAgICAgIGNvbXBpbGVOZXdHZW5lcmF0b3IoKTsKICAgICAgICAg
ICAgIGJyZWFrOwpAQCAtNjM1MCwzMiArNjM0OCw2IEBAIGNsYXNzIExvd2VyREZHVG9CMyB7CiAg
ICAgICAgIG11dGF0b3JGZW5jZSgpOwogICAgIH0KIAotICAgIHZvaWQgY29tcGlsZU5ld1Byb21p
c2UoKQotICAgIHsKLSAgICAgICAgTEJhc2ljQmxvY2sgc2xvd0Nhc2UgPSBtX291dC5uZXdCbG9j
aygpOwotICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygp
OwotCi0gICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuaW5zZXJ0TmV3QmxvY2tz
QmVmb3JlKHNsb3dDYXNlKTsKLQotICAgICAgICBMVmFsdWUgcHJvbWlzZTsKLSAgICAgICAgaWYg
KG1fbm9kZS0+aXNJbnRlcm5hbFByb21pc2UoKSkKLSAgICAgICAgICAgIHByb21pc2UgPSBhbGxv
Y2F0ZU9iamVjdDxKU0ludGVybmFsUHJvbWlzZT4obV9ub2RlLT5zdHJ1Y3R1cmUoKSwgbV9vdXQu
aW50UHRyWmVybywgc2xvd0Nhc2UpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBwcm9taXNl
ID0gYWxsb2NhdGVPYmplY3Q8SlNQcm9taXNlPihtX25vZGUtPnN0cnVjdHVyZSgpLCBtX291dC5p
bnRQdHJaZXJvLCBzbG93Q2FzZSk7Ci0gICAgICAgIG1fb3V0LnN0b3JlNjQobV9vdXQuY29uc3RJ
bnQ2NChKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTUHJv
bWlzZTo6U3RhdHVzOjpQZW5kaW5nKSkpKSwgcHJvbWlzZSwgbV9oZWFwcy5KU0ludGVybmFsRmll
bGRPYmplY3RJbXBsX2ludGVybmFsRmllbGRzW3N0YXRpY19jYXN0PHVuc2lnbmVkPihKU1Byb21p
c2U6OkZpZWxkOjpGbGFncyldKTsKLSAgICAgICAgbV9vdXQuc3RvcmU2NChtX291dC5jb25zdElu
dDY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSksIHByb21pc2UsIG1faGVhcHMuSlNJ
bnRlcm5hbEZpZWxkT2JqZWN0SW1wbF9pbnRlcm5hbEZpZWxkc1tzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oSlNQcm9taXNlOjpGaWVsZDo6UmVhY3Rpb25zT3JSZXN1bHQpXSk7Ci0gICAgICAgIG11dGF0
b3JGZW5jZSgpOwotICAgICAgICBWYWx1ZUZyb21CbG9jayBmYXN0UmVzdWx0ID0gbV9vdXQuYW5j
aG9yKHByb21pc2UpOwotICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7Ci0KLSAgICAg
ICAgbV9vdXQuYXBwZW5kVG8oc2xvd0Nhc2UsIGNvbnRpbnVhdGlvbik7Ci0gICAgICAgIFZhbHVl
RnJvbUJsb2NrIHNsb3dSZXN1bHQgPSBtX291dC5hbmNob3Iodm1DYWxsKHBvaW50ZXJUeXBlKCks
IG1fbm9kZS0+aXNJbnRlcm5hbFByb21pc2UoKSA/IG9wZXJhdGlvbk5ld0ludGVybmFsUHJvbWlz
ZSA6IG9wZXJhdGlvbk5ld1Byb21pc2UsIG1fdm1WYWx1ZSwgZnJvemVuUG9pbnRlcihtX2dyYXBo
LmZyZWV6ZVN0cm9uZyhtX25vZGUtPnN0cnVjdHVyZSgpLmdldCgpKSkpKTsKLSAgICAgICAgbV9v
dXQuanVtcChjb250aW51YXRpb24pOwotCi0gICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbnRpbnVh
dGlvbiwgbGFzdE5leHQpOwotICAgICAgICBzZXRKU1ZhbHVlKG1fb3V0LnBoaShwb2ludGVyVHlw
ZSgpLCBmYXN0UmVzdWx0LCBzbG93UmVzdWx0KSk7Ci0gICAgfQotCiAgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgSlNDbGFzcywgdHlwZW5hbWUgT3BlcmF0aW9uPgogICAgIHZvaWQgY29tcGlsZU5ld0lu
dGVybmFsRmllbGRPYmplY3RJbXBsKE9wZXJhdGlvbiBvcGVyYXRpb24pCiAgICAgewpAQCAtNjQy
Myw2ICs2Mzk1LDE0IEBAIGNsYXNzIExvd2VyREZHVG9CMyB7CiAgICAgICAgIGNhc2UgSlNTZXRJ
dGVyYXRvclR5cGU6CiAgICAgICAgICAgICBjb21waWxlTmV3SW50ZXJuYWxGaWVsZE9iamVjdElt
cGw8SlNTZXRJdGVyYXRvcj4ob3BlcmF0aW9uTmV3U2V0SXRlcmF0b3IpOwogICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIGNhc2UgSlNQcm9taXNlVHlwZToKKyAgICAgICAgICAgIGlmIChtX25v
ZGUtPnN0cnVjdHVyZSgpLT5jbGFzc0luZm8oKSA9PSBKU0ludGVybmFsUHJvbWlzZTo6aW5mbygp
KQorICAgICAgICAgICAgICAgIGNvbXBpbGVOZXdJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDxKU0lu
dGVybmFsUHJvbWlzZT4ob3BlcmF0aW9uTmV3SW50ZXJuYWxQcm9taXNlKTsKKyAgICAgICAgICAg
IGVsc2UgeworICAgICAgICAgICAgICAgIEFTU0VSVChtX25vZGUtPnN0cnVjdHVyZSgpLT5jbGFz
c0luZm8oKSA9PSBKU1Byb21pc2U6OmluZm8oKSk7CisgICAgICAgICAgICAgICAgY29tcGlsZU5l
d0ludGVybmFsRmllbGRPYmplY3RJbXBsPEpTUHJvbWlzZT4ob3BlcmF0aW9uTmV3UHJvbWlzZSk7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAg
ICAgICAgICAgIERGR19DUkFTSChtX2dyYXBoLCBtX25vZGUsICJCYWQgc3RydWN0dXJlIik7CiAg
ICAgICAgIH0KQEAgLTEyNDY5LDYgKzEyNDQ5LDE0IEBAIGNsYXNzIExvd2VyREZHVG9CMyB7CiAg
ICAgICAgIGNhc2UgSlNTZXRJdGVyYXRvclR5cGU6CiAgICAgICAgICAgICBjb21waWxlTWF0ZXJp
YWxpemVOZXdJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDxKU1NldEl0ZXJhdG9yPihvcGVyYXRpb25O
ZXdTZXRJdGVyYXRvcik7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBKU1Byb21p
c2VUeXBlOgorICAgICAgICAgICAgaWYgKG1fbm9kZS0+c3RydWN0dXJlKCktPmNsYXNzSW5mbygp
ID09IEpTSW50ZXJuYWxQcm9taXNlOjppbmZvKCkpCisgICAgICAgICAgICAgICAgY29tcGlsZU1h
dGVyaWFsaXplTmV3SW50ZXJuYWxGaWVsZE9iamVjdEltcGw8SlNJbnRlcm5hbFByb21pc2U+KG9w
ZXJhdGlvbk5ld0ludGVybmFsUHJvbWlzZSk7CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAg
ICAgICAgICBBU1NFUlQobV9ub2RlLT5zdHJ1Y3R1cmUoKS0+Y2xhc3NJbmZvKCkgPT0gSlNQcm9t
aXNlOjppbmZvKCkpOworICAgICAgICAgICAgICAgIGNvbXBpbGVNYXRlcmlhbGl6ZU5ld0ludGVy
bmFsRmllbGRPYmplY3RJbXBsPEpTUHJvbWlzZT4ob3BlcmF0aW9uTmV3UHJvbWlzZSk7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAg
ICAgIERGR19DUkFTSChtX2dyYXBoLCBtX25vZGUsICJCYWQgc3RydWN0dXJlIik7CiAgICAgICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9wZXJhdGlvbnMuY3BwCmluZGV4IDE3
M2ZiMmIyYzMyMjY4MjIzMjNiOTAzMzc2MjliNjkxNDJlN2FlODQuLjFhZTQ5MzJjMTM3N2YzMGI0
NDUxNjAxOTVlNDllZjU3MWYxZTc4ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExPcGVyYXRpb25zLmNwcApAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIkpTQ0lubGluZXMu
aCIKICNpbmNsdWRlICJKU0dlbmVyYXRvckZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNJbW11dGFi
bGVCdXR0ZXJmbHkuaCIKKyNpbmNsdWRlICJKU0ludGVybmFsUHJvbWlzZS5oIgogI2luY2x1ZGUg
IkpTTGV4aWNhbEVudmlyb25tZW50LmgiCiAjaW5jbHVkZSAiSlNNYXBJdGVyYXRvci5oIgogI2lu
Y2x1ZGUgIkpTU2V0SXRlcmF0b3IuaCIKQEAgLTE0NCw2ICsxNDUsMTQgQEAgZXh0ZXJuICJDIiB2
b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUG9wdWxhdGVPYmplY3RJbk9TUihKU0dsb2JhbE9i
amVjdCogZ2xvYmEKICAgICAgICAgY2FzZSBKU1NldEl0ZXJhdG9yVHlwZToKICAgICAgICAgICAg
IG1hdGVyaWFsaXplKGpzQ2FzdDxKU1NldEl0ZXJhdG9yKj4odGFyZ2V0KSk7CiAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgY2FzZSBKU1Byb21pc2VUeXBlOgorICAgICAgICAgICAgaWYgKHRh
cmdldC0+Y2xhc3NJbmZvKHZtKSA9PSBKU0ludGVybmFsUHJvbWlzZTo6aW5mbygpKQorICAgICAg
ICAgICAgICAgIG1hdGVyaWFsaXplKGpzQ2FzdDxKU0ludGVybmFsUHJvbWlzZSo+KHRhcmdldCkp
OworICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKG5vZGUtPmNsYXNz
SW5mbyh2bSkgPT0gSlNQcm9taXNlOjppbmZvKCkpOworICAgICAgICAgICAgICAgIG1hdGVyaWFs
aXplKGpzQ2FzdDxKU1Byb21pc2UqPih0YXJnZXQpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMzQ0LDYgKzM1MywxNyBAQCBl
eHRlcm4gIkMiIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25NYXRlcmlhbGl6ZU9iamVj
dEluT1NSKEpTR2xvYmFsT2JqZWN0KgogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQobWF0ZXJp
YWxpemF0aW9uLT5wcm9wZXJ0aWVzKCkuc2l6ZSgpIC0gMSA9PSBKU1NldEl0ZXJhdG9yOjpudW1i
ZXJPZkludGVybmFsRmllbGRzKTsKICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAg
IH0KKyAgICAgICAgY2FzZSBKU1Byb21pc2VUeXBlOiB7CisgICAgICAgICAgICBpZiAoc3RydWN0
dXJlLT5jbGFzc0luZm8oKSA9PSBKU0ludGVybmFsUHJvbWlzZTo6aW5mbygpKSB7CisgICAgICAg
ICAgICAgICAgSlNJbnRlcm5hbFByb21pc2UqIHJlc3VsdCA9IEpTSW50ZXJuYWxQcm9taXNlOjpj
cmVhdGVXaXRoSW5pdGlhbFZhbHVlcyh2bSwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgICAgICBS
RUxFQVNFX0FTU0VSVChtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKS5zaXplKCkgLSAxID09
IEpTSW50ZXJuYWxQcm9taXNlOjpudW1iZXJPZkludGVybmFsRmllbGRzKTsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICAgICAgfQorICAgICAgICAgICAgQVNTRVJUKHN0
cnV0dXJlLT5jbGFzc0luZm8oKSA9PSBKU1Byb21pc2U6OmluZm8oKSk7CisgICAgICAgICAgICBK
U1Byb21pc2UqIHJlc3VsdCA9IEpTUHJvbWlzZTo6Y3JlYXRlV2l0aEluaXRpYWxWYWx1ZXModm0s
IHN0cnVjdHVyZSk7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChtYXRlcmlhbGl6YXRpb24t
PnByb3BlcnRpZXMoKS5zaXplKCkgLSAxID09IEpTUHJvbWlzZTo6bnVtYmVyT2ZJbnRlcm5hbEZp
ZWxkcyk7CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICB9CiAgICAgICAgIGRl
ZmF1bHQ6CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0ludGVybmFsUHJvbWlzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0ludGVybmFsUHJvbWlzZS5jcHAKaW5kZXggZjhhZGJlOTgwYTJmZDU0OWZjNGUxYjVj
ODY3YjM3NTg0ZDA1NDAxNi4uZTFmMGFiNTQ2NDJmNWEwNWI5MDY3Yjg5MzE3YmU1NjQ4NGRjZTM5
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNJbnRlcm5hbFBy
b21pc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTSW50ZXJuYWxQ
cm9taXNlLmNwcApAQCAtNDAsNiArNDAsMTEgQEAgSlNJbnRlcm5hbFByb21pc2UqIEpTSW50ZXJu
YWxQcm9taXNlOjpjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICByZXR1
cm4gcHJvbWlzZTsKIH0KIAorSlNJbnRlcm5hbFByb21pc2UqIEpTSW50ZXJuYWxQcm9taXNlOjpj
cmVhdGVXaXRoSW5pdGlhbFZhbHVlcyhWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQorewor
ICAgIHJldHVybiBjcmVhdGUodm0sIHN0cnVjdHVyZSk7Cit9CisKIFN0cnVjdHVyZSogSlNJbnRl
cm5hbFByb21pc2U6OmNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIEpTVmFsdWUgcHJvdG90eXBlKQogewogICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNy
ZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEpTUHJvbWlzZVR5cGUs
IFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTSW50ZXJuYWxQcm9taXNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0ludGVybmFsUHJvbWlzZS5oCmluZGV4IDhlN2RmNWUwYjMzOWExZmFjNDg1NGM5
N2QxNTE0MjY2MGQ4MDc4NDUuLmQ3MGZkMzM4Mjg1YTk0NGFkYzJhMjYwNmNlZTk0MGFkY2ZkMWFk
ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTSW50ZXJuYWxQ
cm9taXNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNJbnRlcm5hbFBy
b21pc2UuaApAQCAtNDQsNiArNDQsNyBAQCBjbGFzcyBKU0ludGVybmFsUHJvbWlzZSBmaW5hbCA6
IHB1YmxpYyBKU1Byb21pc2UgewogICAgIHR5cGVkZWYgSlNQcm9taXNlIEJhc2U7CiAKICAgICBK
U19FWFBPUlRfUFJJVkFURSBzdGF0aWMgSlNJbnRlcm5hbFByb21pc2UqIGNyZWF0ZShWTSYsIFN0
cnVjdHVyZSopOworICAgIHN0YXRpYyBKU0ludGVybmFsUHJvbWlzZSogY3JlYXRlV2l0aEluaXRp
YWxWYWx1ZXMoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVT
dHJ1Y3R1cmUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUpOwogCiAgICAgREVDTEFSRV9F
WFBPUlRfSU5GTzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
UHJvbWlzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21pc2UuY3Bw
CmluZGV4IGZlNTMwOTU1YjBiOTNmZmUxYTg5ZWNkOThmNGI0ZTJiNGI3YzQ1NGEuLjA5YzM2ZTVk
ZTI5NzBiYTA3NzEwODJhNjExZDRjNzE3ZWE4ZTM2NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNQcm9taXNlLmNwcApAQCAtNDUsNiArNDUsMTEgQEAgSlNQcm9taXNlKiBK
U1Byb21pc2U6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIHJldHVy
biBwcm9taXNlOwogfQogCitKU1Byb21pc2UqIEpTUHJvbWlzZTo6Y3JlYXRlV2l0aEluaXRpYWxW
YWx1ZXMoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK3sKKyAgICByZXR1cm4gY3JlYXRl
KHZtLCBzdHJ1Y3R1cmUpOworfQorCiBTdHJ1Y3R1cmUqIEpTUHJvbWlzZTo6Y3JlYXRlU3RydWN0
dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5
cGUpCiB7CiAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHBy
b3RvdHlwZSwgVHlwZUluZm8oSlNQcm9taXNlVHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkp
OwpAQCAtNTgsOCArNjMsOSBAQCBKU1Byb21pc2U6OkpTUHJvbWlzZShWTSYgdm0sIFN0cnVjdHVy
ZSogc3RydWN0dXJlKQogdm9pZCBKU1Byb21pc2U6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKIHsK
ICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7Ci0gICAgaW50ZXJuYWxGaWVsZChzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oRmllbGQ6OkZsYWdzKSkuc2V0KHZtLCB0aGlzLCBqc051bWJlcihzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oU3RhdHVzOjpQZW5kaW5nKSkpOwotICAgIGludGVybmFsRmllbGQo
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEZpZWxkOjpSZWFjdGlvbnNPclJlc3VsdCkpLnNldCh2bSwg
dGhpcywganNVbmRlZmluZWQoKSk7CisgICAgYXV0byB2YWx1ZXMgPSBpbml0aWFsVmFsdWVzKCk7
CisgICAgZm9yICh1bnNpZ25lZCBpbmRleCA9IDA7IGluZGV4IDwgdmFsdWVzLnNpemUoKTsgKytp
bmRleCkKKyAgICAgICAgQmFzZTo6aW50ZXJuYWxGaWVsZChpbmRleCkuc2V0KHZtLCB0aGlzLCB2
YWx1ZXNbaW5kZXhdKTsKIH0KIAogdm9pZCBKU1Byb21pc2U6OnZpc2l0Q2hpbGRyZW4oSlNDZWxs
KiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKQEAgLTcxLDcgKzc3LDcgQEAgdm9pZCBKU1By
b21pc2U6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikK
IAogYXV0byBKU1Byb21pc2U6OnN0YXR1cyhWTSYpIGNvbnN0IC0+IFN0YXR1cwogewotICAgIEpT
VmFsdWUgdmFsdWUgPSBpbnRlcm5hbEZpZWxkKHN0YXRpY19jYXN0PHVuc2lnbmVkPihGaWVsZDo6
RmxhZ3MpKS5nZXQoKTsKKyAgICBKU1ZhbHVlIHZhbHVlID0gaW50ZXJuYWxGaWVsZChGaWVsZDo6
RmxhZ3MpLmdldCgpOwogICAgIHVpbnQzMl90IGZsYWdzID0gdmFsdWUuYXNVSW50MzJBc0FueUlu
dCgpOwogICAgIHJldHVybiBzdGF0aWNfY2FzdDxTdGF0dXM+KGZsYWdzICYgc3RhdGVNYXNrKTsK
IH0KQEAgLTgxLDEyICs4NywxMiBAQCBKU1ZhbHVlIEpTUHJvbWlzZTo6cmVzdWx0KFZNJiB2bSkg
Y29uc3QKICAgICBTdGF0dXMgc3RhdHVzID0gdGhpcy0+c3RhdHVzKHZtKTsKICAgICBpZiAoc3Rh
dHVzID09IFN0YXR1czo6UGVuZGluZykKICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci0g
ICAgcmV0dXJuIGludGVybmFsRmllbGQoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEZpZWxkOjpSZWFj
dGlvbnNPclJlc3VsdCkpLmdldCgpOworICAgIHJldHVybiBpbnRlcm5hbEZpZWxkKEZpZWxkOjpS
ZWFjdGlvbnNPclJlc3VsdCkuZ2V0KCk7CiB9CiAKIHVpbnQzMl90IEpTUHJvbWlzZTo6ZmxhZ3Mo
KSBjb25zdAogewotICAgIEpTVmFsdWUgdmFsdWUgPSBpbnRlcm5hbEZpZWxkKHN0YXRpY19jYXN0
PHVuc2lnbmVkPihGaWVsZDo6RmxhZ3MpKS5nZXQoKTsKKyAgICBKU1ZhbHVlIHZhbHVlID0gaW50
ZXJuYWxGaWVsZChGaWVsZDo6RmxhZ3MpLmdldCgpOwogICAgIHJldHVybiB2YWx1ZS5hc1VJbnQz
MkFzQW55SW50KCk7CiB9CiAKQEAgLTE2MCw3ICsxNjYsNyBAQCB2b2lkIEpTUHJvbWlzZTo6cmVz
b2x2ZShKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNWYWx1ZSB2YWx1ZSkK
ICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgdWludDMyX3Qg
ZmxhZ3MgPSB0aGlzLT5mbGFncygpOwogICAgIGlmICghKGZsYWdzICYgaXNGaXJzdFJlc29sdmlu
Z0Z1bmN0aW9uQ2FsbGVkRmxhZykpIHsKLSAgICAgICAgaW50ZXJuYWxGaWVsZChzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oRmllbGQ6OkZsYWdzKSkuc2V0KHZtLCB0aGlzLCBqc051bWJlcihmbGFncyB8
IGlzRmlyc3RSZXNvbHZpbmdGdW5jdGlvbkNhbGxlZEZsYWcpKTsKKyAgICAgICAgaW50ZXJuYWxG
aWVsZChGaWVsZDo6RmxhZ3MpLnNldCh2bSwgdGhpcywganNOdW1iZXIoZmxhZ3MgfCBpc0ZpcnN0
UmVzb2x2aW5nRnVuY3Rpb25DYWxsZWRGbGFnKSk7CiAgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3Qodm0pOwogICAgICAgICBjYWxsRnVuY3Rp
b24obGV4aWNhbEdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5yZXNvbHZlUHJvbWlzZUZ1bmN0
aW9uKCksIHRoaXMsIHZhbHVlKTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
dm9pZCgpKTsKQEAgLTE3NCw3ICsxODAsNyBAQCB2b2lkIEpTUHJvbWlzZTo6cmVqZWN0KEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQogICAgIGF1dG8g
c2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICB1aW50MzJfdCBmbGFncyA9IHRo
aXMtPmZsYWdzKCk7CiAgICAgaWYgKCEoZmxhZ3MgJiBpc0ZpcnN0UmVzb2x2aW5nRnVuY3Rpb25D
YWxsZWRGbGFnKSkgewotICAgICAgICBpbnRlcm5hbEZpZWxkKHN0YXRpY19jYXN0PHVuc2lnbmVk
PihGaWVsZDo6RmxhZ3MpKS5zZXQodm0sIHRoaXMsIGpzTnVtYmVyKGZsYWdzIHwgaXNGaXJzdFJl
c29sdmluZ0Z1bmN0aW9uQ2FsbGVkRmxhZykpOworICAgICAgICBpbnRlcm5hbEZpZWxkKEZpZWxk
OjpGbGFncykuc2V0KHZtLCB0aGlzLCBqc051bWJlcihmbGFncyB8IGlzRmlyc3RSZXNvbHZpbmdG
dW5jdGlvbkNhbGxlZEZsYWcpKTsKICAgICAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCA9IHRoaXMtPmdsb2JhbE9iamVjdCh2bSk7CiAgICAgICAgIGNhbGxGdW5jdGlvbihsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnJlamVjdFByb21pc2VGdW5jdGlvbigpLCB0aGlz
LCB2YWx1ZSk7CiAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CkBA
IC0xODgsNyArMTk0LDcgQEAgdm9pZCBKU1Byb21pc2U6OnJlamVjdEFzSGFuZGxlZChKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNWYWx1ZSB2YWwKICAgICBWTSYgdm0gPSBs
ZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgpOwogICAgIHVpbnQzMl90IGZsYWdzID0gdGhpcy0+Zmxh
Z3MoKTsKICAgICBpZiAoIShmbGFncyAmIGlzRmlyc3RSZXNvbHZpbmdGdW5jdGlvbkNhbGxlZEZs
YWcpKQotICAgICAgICBpbnRlcm5hbEZpZWxkKHN0YXRpY19jYXN0PHVuc2lnbmVkPihGaWVsZDo6
RmxhZ3MpKS5zZXQodm0sIHRoaXMsIGpzTnVtYmVyKGZsYWdzIHwgaXNIYW5kbGVkRmxhZykpOwor
ICAgICAgICBpbnRlcm5hbEZpZWxkKEZpZWxkOjpGbGFncykuc2V0KHZtLCB0aGlzLCBqc051bWJl
cihmbGFncyB8IGlzSGFuZGxlZEZsYWcpKTsKICAgICByZWplY3QobGV4aWNhbEdsb2JhbE9iamVj
dCwgdmFsdWUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1Byb21pc2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZS5o
CmluZGV4IGQzYjBhZjgwNDliZmVmYmZkZWIwNDIyNTJhYWM2NTc3YWNkYWFiMDYuLjMzNjNhMGQz
NDJhNDFhMjdlYWM1MjlmMzEyY2Q0NDJjMjE5ZWRhZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTUHJvbWlzZS5oCkBAIC00MSw2ICs0MSw3IEBAIGNsYXNzIEpTUHJvbWlzZSA6
IHB1YmxpYyBKU0ludGVybmFsRmllbGRPYmplY3RJbXBsPDI+IHsKICAgICB9CiAKICAgICBKU19F
WFBPUlRfUFJJVkFURSBzdGF0aWMgSlNQcm9taXNlKiBjcmVhdGUoVk0mLCBTdHJ1Y3R1cmUqKTsK
KyAgICBzdGF0aWMgSlNQcm9taXNlKiBjcmVhdGVXaXRoSW5pdGlhbFZhbHVlcyhWTSYsIFN0cnVj
dHVyZSopOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYsIEpTR2xv
YmFsT2JqZWN0KiwgSlNWYWx1ZSk7CiAKICAgICBERUNMQVJFX0VYUE9SVF9JTkZPOwpAQCAtNjAs
NiArNjEsMTcgQEAgY2xhc3MgSlNQcm9taXNlIDogcHVibGljIEpTSW50ZXJuYWxGaWVsZE9iamVj
dEltcGw8Mj4gewogICAgIH07CiAgICAgc3RhdGljX2Fzc2VydChudW1iZXJPZkludGVybmFsRmll
bGRzID09IDIpOwogCisgICAgc3RhdGljIHN0ZDo6YXJyYXk8SlNWYWx1ZSwgbnVtYmVyT2ZJbnRl
cm5hbEZpZWxkcz4gaW5pdGlhbFZhbHVlcygpCisgICAgeworICAgICAgICByZXR1cm4geyB7Cisg
ICAgICAgICAgICBqc051bWJlcihzdGF0aWNfY2FzdDx1bnNpZ25lZD4oU3RhdHVzOjpQZW5kaW5n
KSksCisgICAgICAgICAgICBqc1VuZGVmaW5lZCgpLAorICAgICAgICB9IH07CisgICAgfQorCisg
ICAgY29uc3QgV3JpdGVCYXJyaWVyPFVua25vd24+JiBpbnRlcm5hbEZpZWxkKEZpZWxkIGZpZWxk
KSBjb25zdCB7IHJldHVybiBCYXNlOjppbnRlcm5hbEZpZWxkKHN0YXRpY19jYXN0PHVpbnQzMl90
PihmaWVsZCkpOyB9CisgICAgV3JpdGVCYXJyaWVyPFVua25vd24+JiBpbnRlcm5hbEZpZWxkKEZp
ZWxkIGZpZWxkKSB7IHJldHVybiBCYXNlOjppbnRlcm5hbEZpZWxkKHN0YXRpY19jYXN0PHVpbnQz
Ml90PihmaWVsZCkpOyB9CisKICAgICBKU19FWFBPUlRfUFJJVkFURSBTdGF0dXMgc3RhdHVzKFZN
JikgY29uc3Q7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNWYWx1ZSByZXN1bHQoVk0mKSBjb25z
dDsKICAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIGlzSGFuZGxlZChWTSYpIGNvbnN0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396844</attachid>
            <date>2020-04-18 06:13:49 -0700</date>
            <delta_ts>2020-04-18 07:53:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210687-20200418061348.patch</filename>
            <type>text/plain</type>
            <size>35338</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwMzAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
ZWI1ZGNhMDU0MzhlMjhiMmJmNWE3YzJiZGFjYjlhMjI3MGU4NGM2Li42MmU0ZmI5NmNkZDBiZGYy
Y2ZjYjRhZDU2Y2QyZGE2NWE2M2E3OGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3NSBAQAorMjAyMC0wNC0xOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlcGxhY2UgREZHIE5ld1Byb21pc2Ugd2l0aCBOZXdJbnRlcm5h
bEZpZWxkT2JqZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTA2ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGUgZmVhdHVyZSBvZiBERkc6Ok5ld1Byb21pc2UgY2FuIGJlIGltcGxlbWVudGVkIGNv
bXBsZXRlbHkgd2l0aCBERkc6Ok5ld0ludGVybmFsRmllbGRPYmplY3QuIFRoaXMgcmVkdWNlcyBj
b2RlIGR1cGxpY2F0aW9uLCBhbmQgZnVydGhlcm1vcmUsCisgICAgICAgIHRoaXMgb2ZmZXJzIE9i
amVjdCBBbGxvY2F0aW9uIFNpbmtpbmcgc3VwcG9ydCBmb3IgZnJlZS4gVGhpcyBwYXRjaCByZXBs
YWNlcyBERkc6Ok5ld1Byb21pc2Ugd2l0aCBERkc6Ok5ld0ludGVybmFsRmllbGRPYmplY3QgYW5k
IHJlbW92ZSBERkc6Ok5ld1Byb21pc2UKKyAgICAgICAgY29tcGxldGVseS4KKworICAgICAgICAq
IGRmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpERkc6
OkFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyk6
CisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0Nsb2JiZXJp
emUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpjbG9iYmVyaXplKToKKyAgICAgICAgKiBkZmcvREZH
Q2xvYmJlcnNFeGl0U3RhdGUuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmNsb2JiZXJzRXhpdFN0
YXRlKToKKyAgICAgICAgKiBkZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwOgorICAgICAg
ICAoSlNDOjpERkc6OkNvbnN0YW50Rm9sZGluZ1BoYXNlOjpmb2xkQ29uc3RhbnRzKToKKyAgICAg
ICAgKiBkZmcvREZHRG9lc0dDLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpkb2VzR0MpOgorICAg
ICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBo
YXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRmZy9ERkdOb2RlLmg6CisgICAgICAgIChKU0M6
OkRGRzo6Tm9kZTo6Y29udmVydFRvTmV3SW50ZXJuYWxGaWVsZE9iamVjdCk6CisgICAgICAgIChK
U0M6OkRGRzo6Tm9kZTo6Y29udmVydFRvTmV3SW50ZXJuYWxGaWVsZE9iamVjdFdpdGhJbmxpbmVG
aWVsZHMpOgorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6Omhhc0lzSW50ZXJuYWxQcm9taXNlKToK
KyAgICAgICAgKEpTQzo6REZHOjpOb2RlOjpoYXNTdHJ1Y3R1cmUpOgorICAgICAgICAoSlNDOjpE
Rkc6Ok5vZGU6OmNvbnZlcnRUb05ld1Byb21pc2UpOiBEZWxldGVkLgorICAgICAgICAqIGRmZy9E
RkdOb2RlVHlwZS5oOgorICAgICAgICAqIGRmZy9ERkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1Bo
YXNlLmNwcDoKKyAgICAgICAgKiBkZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3Bw
OgorICAgICAgICAqIGRmZy9ERkdTYWZlVG9FeGVjdXRlLmg6CisgICAgICAgIChKU0M6OkRGRzo6
c2FmZVRvRXhlY3V0ZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAg
ICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU5ld0ludGVybmFsRmllbGRP
YmplY3QpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlTmV3UHJv
bWlzZSk6IERlbGV0ZWQuCisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6CisgICAg
ICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6
OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVK
SVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgor
ICAgICAgICAqIGRmZy9ERkdTdG9yZUJhcnJpZXJJbnNlcnRpb25QaGFzZS5jcHA6CisgICAgICAg
ICogZnRsL0ZUTENhcGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6Y2FuQ29tcGls
ZSk6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9CMy5jcHA6CisgICAgICAgIChKU0M6OkZU
TDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVOb2RlKToKKyAgICAgICAgKEpTQzo6RlRMOjpE
Rkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZU5ld0ludGVybmFsRmllbGRPYmplY3QpOgorICAgICAg
ICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlTWF0ZXJpYWxpemVOZXdJbnRl
cm5hbEZpZWxkT2JqZWN0KToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6
Y29tcGlsZU5ld1Byb21pc2UpOiBEZWxldGVkLgorICAgICAgICAqIGZ0bC9GVExPcGVyYXRpb25z
LmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpvcGVyYXRpb25Qb3B1bGF0ZU9iamVjdEluT1NSKToK
KyAgICAgICAgKEpTQzo6RlRMOjpvcGVyYXRpb25NYXRlcmlhbGl6ZU9iamVjdEluT1NSKToKKyAg
ICAgICAgKiBydW50aW1lL0pTSW50ZXJuYWxQcm9taXNlLmNwcDoKKyAgICAgICAgKEpTQzo6SlNJ
bnRlcm5hbFByb21pc2U6OmNyZWF0ZVdpdGhJbml0aWFsVmFsdWVzKToKKyAgICAgICAgKiBydW50
aW1lL0pTSW50ZXJuYWxQcm9taXNlLmg6CisgICAgICAgICogcnVudGltZS9KU1Byb21pc2UuY3Bw
OgorICAgICAgICAoSlNDOjpKU1Byb21pc2U6OmNyZWF0ZVdpdGhJbml0aWFsVmFsdWVzKToKKyAg
ICAgICAgKEpTQzo6SlNQcm9taXNlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OkpT
UHJvbWlzZTo6c3RhdHVzIGNvbnN0KToKKyAgICAgICAgKEpTQzo6SlNQcm9taXNlOjpyZXN1bHQg
Y29uc3QpOgorICAgICAgICAoSlNDOjpKU1Byb21pc2U6OmZsYWdzIGNvbnN0KToKKyAgICAgICAg
KEpTQzo6SlNQcm9taXNlOjpyZXNvbHZlKToKKyAgICAgICAgKEpTQzo6SlNQcm9taXNlOjpyZWpl
Y3QpOgorICAgICAgICAoSlNDOjpKU1Byb21pc2U6OnJlamVjdEFzSGFuZGxlZCk6CisgICAgICAg
ICogcnVudGltZS9KU1Byb21pc2UuaDoKKyAgICAgICAgKEpTQzo6SlNQcm9taXNlOjppbml0aWFs
VmFsdWVzKToKKyAgICAgICAgKEpTQzo6SlNQcm9taXNlOjppbnRlcm5hbEZpZWxkIGNvbnN0KToK
KyAgICAgICAgKEpTQzo6SlNQcm9taXNlOjppbnRlcm5hbEZpZWxkKToKKwogMjAyMC0wNC0xNyAg
Q29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgcmV2ZXJ0aW5nIHIyNjAyNzkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXggN2UyNjM4MGM2
MDU2NWJiODAyOWJjMDgxMTM1OTFiMGUxYzNlYjI2Yy4uNjFmMDkwYWQ3MWYxOGM0N2U3M2FlZWE4
YzZlYWQxMWI4M2NlNWE0OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtMjg1OCw3ICsyODU4LDYg
QEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVm
ZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAg
Y2FzZSBOZXdQcm9taXNlOgogICAgIGNhc2UgTmV3R2VuZXJhdG9yOgogICAgIGNhc2UgTmV3QXN5
bmNHZW5lcmF0b3I6ICAgIAogICAgIGNhc2UgTmV3SW50ZXJuYWxGaWVsZE9iamVjdDoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXggZmVh
MjhiYzQ2ZTQyNTllYmI2Nzc0OGQ5MTM0MTQ4NWI3OTkwMGIyNS4uMTcyOGMyYmZkYjAzNzBhMGRh
MzNiMmZkZDU4NmQ0NDQzZjAzYjRlZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKQEAgLTUyNDAsNyArNTI0MCw4IEBAIHZvaWQgQnl0ZUNv
ZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgICAgIGlmIChwcm9taXNlQ29uc3RydWN0b3IpIHsKICAgICAgICAgICAgICAg
ICAgICAgYWRkVG9HcmFwaChQaGFudG9tLCBjYWxsZWUpOwotICAgICAgICAgICAgICAgICAgICBz
ZXQoVmlydHVhbFJlZ2lzdGVyKGJ5dGVjb2RlLm1fZHN0KSwgYWRkVG9HcmFwaChOZXdQcm9taXNl
LCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVjdHVyZShieXRlY29kZS5tX2lzSW50ZXJuYWxQ
cm9taXNlID8gZ2xvYmFsT2JqZWN0LT5pbnRlcm5hbFByb21pc2VTdHJ1Y3R1cmUoKSA6IGdsb2Jh
bE9iamVjdC0+cHJvbWlzZVN0cnVjdHVyZSgpKSksIE9wSW5mbyhieXRlY29kZS5tX2lzSW50ZXJu
YWxQcm9taXNlKSkpOworICAgICAgICAgICAgICAgICAgICBOb2RlKiBwcm9taXNlID0gYWRkVG9H
cmFwaChOZXdJbnRlcm5hbEZpZWxkT2JqZWN0LCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVj
dHVyZShieXRlY29kZS5tX2lzSW50ZXJuYWxQcm9taXNlID8gZ2xvYmFsT2JqZWN0LT5pbnRlcm5h
bFByb21pc2VTdHJ1Y3R1cmUoKSA6IGdsb2JhbE9iamVjdC0+cHJvbWlzZVN0cnVjdHVyZSgpKSkp
OworICAgICAgICAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGJ5dGVjb2RlLm1fZHN0
KSwgcHJvbWlzZSk7CiAgICAgICAgICAgICAgICAgICAgIGFscmVhZHlFbWl0dGVkID0gdHJ1ZTsK
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CkBAIC01MjczLDcgKzUyNzQsOCBAQCB2
b2lkIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHko
cmFyZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpKTsKIAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGJ5dGVjb2RlLm1fZHN0
KSwgYWRkVG9HcmFwaChOZXdQcm9taXNlLCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVjdHVy
ZShzdHJ1Y3R1cmUpKSwgT3BJbmZvKGJ5dGVjb2RlLm1faXNJbnRlcm5hbFByb21pc2UpKSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vZGUqIHByb21pc2UgPSBhZGRUb0dyYXBo
KE5ld0ludGVybmFsRmllbGRPYmplY3QsIE9wSW5mbyhtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJl
KHN0cnVjdHVyZSkpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0KFZpcnR1
YWxSZWdpc3RlcihieXRlY29kZS5tX2RzdCksIHByb21pc2UpOwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyBUaGUgY2FsbGVlIGlzIHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2lu
dC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChQaGFudG9tLCBj
YWxsZWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHJlYWR5RW1pdHRlZCA9
IHRydWU7CkBAIC01MzA4LDcgKzUzMTAsOCBAQCB2b2lkIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJs
b2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICBjYXNlIG9wX25ld19wcm9taXNlOiB7CiAgICAg
ICAgICAgICBhdXRvIGJ5dGVjb2RlID0gY3VycmVudEluc3RydWN0aW9uLT5hczxPcE5ld1Byb21p
c2U+KCk7CiAgICAgICAgICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gbV9ncmFw
aC5nbG9iYWxPYmplY3RGb3IoY3VycmVudE5vZGVPcmlnaW4oKS5zZW1hbnRpYyk7Ci0gICAgICAg
ICAgICBzZXQoYnl0ZWNvZGUubV9kc3QsIGFkZFRvR3JhcGgoTmV3UHJvbWlzZSwgT3BJbmZvKG1f
Z3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoYnl0ZWNvZGUubV9pc0ludGVybmFsUHJvbWlzZSA/IGds
b2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkgOiBnbG9iYWxPYmplY3QtPnBy
b21pc2VTdHJ1Y3R1cmUoKSkpLCBPcEluZm8oYnl0ZWNvZGUubV9pc0ludGVybmFsUHJvbWlzZSkp
KTsKKyAgICAgICAgICAgIE5vZGUqIHByb21pc2UgPSBhZGRUb0dyYXBoKE5ld0ludGVybmFsRmll
bGRPYmplY3QsIE9wSW5mbyhtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKGJ5dGVjb2RlLm1faXNJ
bnRlcm5hbFByb21pc2UgPyBnbG9iYWxPYmplY3QtPmludGVybmFsUHJvbWlzZVN0cnVjdHVyZSgp
IDogZ2xvYmFsT2JqZWN0LT5wcm9taXNlU3RydWN0dXJlKCkpKSk7CisgICAgICAgICAgICBzZXQo
Ynl0ZWNvZGUubV9kc3QsIHByb21pc2UpOwogICAgICAgICAgICAgTkVYVF9PUENPREUob3BfbmV3
X3Byb21pc2UpOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQ2xvYmJlcml6ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9i
YmVyaXplLmgKaW5kZXggYzcxNGYxNTIwNDM4MWJhMmY0MmU3NmQ1OGZhZjhjYTc2ODhkZWY2OS4u
M2EwZmNmYzkxMWE2YzMyNzU2MTE3MzIxODAxZjUxYzRkNWFkODg4NyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKQEAgLTE2MDIsNyArMTYwMiw2IEBAIHZvaWQg
Y2xvYmJlcml6ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJlYWRGdW5jdG9yJiBy
ZWFkLCBjb25zdCBXcml0ZUZ1CiAgICAgfQogCiAgICAgY2FzZSBOZXdPYmplY3Q6Ci0gICAgY2Fz
ZSBOZXdQcm9taXNlOgogICAgIGNhc2UgTmV3R2VuZXJhdG9yOgogICAgIGNhc2UgTmV3QXN5bmNH
ZW5lcmF0b3I6CiAgICAgY2FzZSBOZXdJbnRlcm5hbEZpZWxkT2JqZWN0OgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyc0V4aXRTdGF0ZS5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJzRXhpdFN0YXRlLmNwcAppbmRleCBkZjUy
NDY3MWExMWZhMjhlMjNiNDhlMDg4MWVkMDZmMjBiZjJjZWU0Li5kNzdjN2FmOGU1MmZkOTI2YzYz
YzlhMDYxNjc4NDI0MjZkOWNmYjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Nsb2JiZXJzRXhpdFN0YXRlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Nsb2JiZXJzRXhpdFN0YXRlLmNwcApAQCAtNTcsNyArNTcsNiBAQCBib29sIGNsb2Ji
ZXJzRXhpdFN0YXRlKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIEFycmF5aWZ5
VG9TdHJ1Y3R1cmU6CiAgICAgY2FzZSBBcnJheWlmeToKICAgICBjYXNlIE5ld09iamVjdDoKLSAg
ICBjYXNlIE5ld1Byb21pc2U6CiAgICAgY2FzZSBOZXdHZW5lcmF0b3I6CiAgICAgY2FzZSBOZXdB
c3luY0dlbmVyYXRvcjoKICAgICBjYXNlIE5ld0ludGVybmFsRmllbGRPYmplY3Q6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3Bw
CmluZGV4IGUwYzk1ODZmMjBkNGQ1ZDExODg3MmI5YTAzMzljODcwNGIwMmRjMWIuLmYyNzBlOTQy
NDI5OGFmYTNmZWJjNDQyNWUzNDBlYTViNmZjODZlMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwCkBAIC04MzEsNyAr
ODMxLDcgQEAgY2xhc3MgQ29uc3RhbnRGb2xkaW5nUGhhc2UgOiBwdWJsaWMgUGhhc2UgewogICAg
ICAgICAgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBtX2dyYXBoLmdsb2Jh
bE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpOwogICAgICAgICAgICAgICAgIGlmIChK
U1ZhbHVlIGJhc2UgPSBtX3N0YXRlLmZvck5vZGUobm9kZS0+Y2hpbGQxKCkpLm1fdmFsdWUpIHsK
ICAgICAgICAgICAgICAgICAgICAgaWYgKGJhc2UgPT0gKG5vZGUtPmlzSW50ZXJuYWxQcm9taXNl
KCkgPyBnbG9iYWxPYmplY3QtPmludGVybmFsUHJvbWlzZUNvbnN0cnVjdG9yKCkgOiBnbG9iYWxP
YmplY3QtPnByb21pc2VDb25zdHJ1Y3RvcigpKSkgewotICAgICAgICAgICAgICAgICAgICAgICAg
bm9kZS0+Y29udmVydFRvTmV3UHJvbWlzZShtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKG5vZGUt
PmlzSW50ZXJuYWxQcm9taXNlKCkgPyBnbG9iYWxPYmplY3QtPmludGVybmFsUHJvbWlzZVN0cnVj
dHVyZSgpIDogZ2xvYmFsT2JqZWN0LT5wcm9taXNlU3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb05ld0ludGVybmFsRmllbGRPYmplY3QobV9ncmFw
aC5yZWdpc3RlclN0cnVjdHVyZShub2RlLT5pc0ludGVybmFsUHJvbWlzZSgpID8gZ2xvYmFsT2Jq
ZWN0LT5pbnRlcm5hbFByb21pc2VTdHJ1Y3R1cmUoKSA6IGdsb2JhbE9iamVjdC0+cHJvbWlzZVN0
cnVjdHVyZSgpKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKICAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICB9CkBAIC04
NDUsNyArODQ1LDcgQEAgY2xhc3MgQ29uc3RhbnRGb2xkaW5nUGhhc2UgOiBwdWJsaWMgUGhhc2Ug
ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgcmFyZURhdGEtPmFsbG9j
YXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpLmlzU3RpbGxWYWxpZCgpKSB7CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLndhdGNocG9pbnRzKCkuYWRk
TGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQoKSk7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5jb252ZXJ0VG9OZXdQcm9taXNl
KG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJlKSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBub2RlLT5jb252ZXJ0VG9OZXdJbnRlcm5hbEZpZWxkT2JqZWN0
KG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJlKSk7CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
CkBAIC04NzEsNyArODcxLDcgQEAgY2xhc3MgQ29uc3RhbnRGb2xkaW5nUGhhc2UgOiBwdWJsaWMg
UGhhc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHJhcmVE
YXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQoKS5pc1N0aWxsVmFsaWQoKSkgewog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGguZnJlZXplKHJh
cmVEYXRhKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBo
LndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNo
cG9pbnRTZXQoKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9k
ZS0+Y29udmVydFRvTmV3SW50ZXJuYWxGaWVsZE9iamVjdChuZXdPcCwgbV9ncmFwaC5yZWdpc3Rl
clN0cnVjdHVyZShzdHJ1Y3R1cmUpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBub2RlLT5jb252ZXJ0VG9OZXdJbnRlcm5hbEZpZWxkT2JqZWN0V2l0aElubGluZUZp
ZWxkcyhuZXdPcCwgbV9ncmFwaC5yZWdpc3RlclN0cnVjdHVyZShzdHJ1Y3R1cmUpKTsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0RvZXNHQy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNH
Qy5jcHAKaW5kZXggNjQ0ZWZlMmQ1ZDAwOWI3N2FmNDk1NTRiYWI5Y2Y4ZTdhYTViMDdmZC4uOWJi
NmEyMjZhYTY1Zjc3MWI2ZmRmOTk5MGY2YjMyMGI4MzA5MzFhZiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHRG9lc0dDLmNwcApAQCAtMzUzLDcgKzM1Myw2IEBAIGJvb2wgZG9lc0dDKEdy
YXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIEFycmF5aWZ5OgogICAgIGNhc2UgQXJy
YXlpZnlUb1N0cnVjdHVyZToKICAgICBjYXNlIE5ld09iamVjdDoKLSAgICBjYXNlIE5ld1Byb21p
c2U6CiAgICAgY2FzZSBOZXdHZW5lcmF0b3I6CiAgICAgY2FzZSBOZXdBc3luY0dlbmVyYXRvcjoK
ICAgICBjYXNlIE5ld0FycmF5OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdGaXh1cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQ
aGFzZS5jcHAKaW5kZXggOGQ3ZGUyNzFkYjA5OTYxNGI1YmM1YTk4N2NhY2IyZDhlOGVmODY3MC4u
NTI3N2UzZWQ3N2FkNDAzNDk2OWY2NjY0NDcwYTk0N2VjOWZkYjQzNCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0yNTMzLDcgKzI1MzMsNiBAQCBj
bGFzcyBGaXh1cFBoYXNlIDogcHVibGljIFBoYXNlIHsKICAgICAgICAgY2FzZSBWYXJhcmdzTGVu
Z3RoOgogICAgICAgICBjYXNlIFByb2ZpbGVDb250cm9sRmxvdzoKICAgICAgICAgY2FzZSBOZXdP
YmplY3Q6Ci0gICAgICAgIGNhc2UgTmV3UHJvbWlzZToKICAgICAgICAgY2FzZSBOZXdHZW5lcmF0
b3I6CiAgICAgICAgIGNhc2UgTmV3QXN5bmNHZW5lcmF0b3I6CiAgICAgICAgIGNhc2UgTmV3SW50
ZXJuYWxGaWVsZE9iamVjdDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHTm9kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKaW5kZXggZTU2
YzVmZmMxZGMzMzllNzc4ODY0YTcwNDE4NTEyMjlhOTBmNzM1OC4uMTJkOTgwMzFlYjAwNWFmOTRj
NjliNjc0YmY1NDQ3YjQ0OWUyYjNiNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdOb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgK
QEAgLTc4NCwxNyArNzg0LDE2IEBAIHN0cnVjdCBOb2RlIHsKICAgICAgICAgbV9vcEluZm8yID0g
T3BJbmZvV3JhcHBlcigpOwogICAgIH0KIAotICAgIHZvaWQgY29udmVydFRvTmV3UHJvbWlzZShS
ZWdpc3RlcmVkU3RydWN0dXJlIHN0cnVjdHVyZSkKKyAgICB2b2lkIGNvbnZlcnRUb05ld0ludGVy
bmFsRmllbGRPYmplY3QoUmVnaXN0ZXJlZFN0cnVjdHVyZSBzdHJ1Y3R1cmUpCiAgICAgewogICAg
ICAgICBBU1NFUlQobV9vcCA9PSBDcmVhdGVQcm9taXNlKTsKLSAgICAgICAgYm9vbCBpbnRlcm5h
bCA9IGlzSW50ZXJuYWxQcm9taXNlKCk7Ci0gICAgICAgIHNldE9wQW5kRGVmYXVsdEZsYWdzKE5l
d1Byb21pc2UpOworICAgICAgICBzZXRPcEFuZERlZmF1bHRGbGFncyhOZXdJbnRlcm5hbEZpZWxk
T2JqZWN0KTsKICAgICAgICAgY2hpbGRyZW4ucmVzZXQoKTsKICAgICAgICAgbV9vcEluZm8gPSBz
dHJ1Y3R1cmU7Ci0gICAgICAgIG1fb3BJbmZvMiA9IGludGVybmFsOworICAgICAgICBtX29wSW5m
bzIgPSBPcEluZm9XcmFwcGVyKCk7CiAgICAgfQogCi0gICAgdm9pZCBjb252ZXJ0VG9OZXdJbnRl
cm5hbEZpZWxkT2JqZWN0KE5vZGVUeXBlIG5ld09wLCBSZWdpc3RlcmVkU3RydWN0dXJlIHN0cnVj
dHVyZSkKKyAgICB2b2lkIGNvbnZlcnRUb05ld0ludGVybmFsRmllbGRPYmplY3RXaXRoSW5saW5l
RmllbGRzKE5vZGVUeXBlIG5ld09wLCBSZWdpc3RlcmVkU3RydWN0dXJlIHN0cnVjdHVyZSkKICAg
ICB7CiAgICAgICAgIEFTU0VSVChtX29wID09IENyZWF0ZUFzeW5jR2VuZXJhdG9yIHx8IG1fb3Ag
PT0gQ3JlYXRlR2VuZXJhdG9yKTsKICAgICAgICAgc2V0T3BBbmREZWZhdWx0RmxhZ3MobmV3T3Ap
OwpAQCAtMTMxMiw3ICsxMzExLDcgQEAgc3RydWN0IE5vZGUgewogCiAgICAgYm9vbCBoYXNJc0lu
dGVybmFsUHJvbWlzZSgpCiAgICAgewotICAgICAgICByZXR1cm4gb3AoKSA9PSBDcmVhdGVQcm9t
aXNlIHx8IG9wKCkgPT0gTmV3UHJvbWlzZTsKKyAgICAgICAgcmV0dXJuIG9wKCkgPT0gQ3JlYXRl
UHJvbWlzZTsKICAgICB9CiAKICAgICBib29sIGlzSW50ZXJuYWxQcm9taXNlKCkKQEAgLTE5ODEs
NyArMTk4MCw2IEBAIHN0cnVjdCBOb2RlIHsKICAgICAgICAgY2FzZSBBcnJheWlmeVRvU3RydWN0
dXJlOgogICAgICAgICBjYXNlIE1hdGVyaWFsaXplTmV3SW50ZXJuYWxGaWVsZE9iamVjdDoKICAg
ICAgICAgY2FzZSBOZXdPYmplY3Q6Ci0gICAgICAgIGNhc2UgTmV3UHJvbWlzZToKICAgICAgICAg
Y2FzZSBOZXdHZW5lcmF0b3I6CiAgICAgICAgIGNhc2UgTmV3QXN5bmNHZW5lcmF0b3I6CiAgICAg
ICAgIGNhc2UgTmV3SW50ZXJuYWxGaWVsZE9iamVjdDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHTm9kZVR5cGUuaAppbmRleCA5M2QxN2JlMzM5NmQyZGQ1MDgxN2E0ZWY2MTNkOTBiZmRhNDVi
Mzc2Li44MGM4YTI1NzgzOTM4MWViMTcyYmUxMTEyMjcxNmRkMjI1ZWYzYzY1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCkBAIC0zNTIsNyArMzUyLDYgQEAgbmFtZXNw
YWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogICAgIFwKICAgICAvKiBBbGxvY2F0aW9ucy4gKi9c
CiAgICAgbWFjcm8oTmV3T2JqZWN0LCBOb2RlUmVzdWx0SlMpIFwKLSAgICBtYWNybyhOZXdQcm9t
aXNlLCBOb2RlUmVzdWx0SlMpIFwKICAgICBtYWNybyhOZXdHZW5lcmF0b3IsIE5vZGVSZXN1bHRK
UykgXAogICAgIG1hY3JvKE5ld0FzeW5jR2VuZXJhdG9yLCBOb2RlUmVzdWx0SlMpIFwKICAgICBt
YWNybyhOZXdBcnJheSwgTm9kZVJlc3VsdEpTIHwgTm9kZUhhc1ZhckFyZ3MpIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQ
aGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09iamVjdEFsbG9jYXRpb25T
aW5raW5nUGhhc2UuY3BwCmluZGV4IGZlZTUwMGVhMmE5OGFkNTdmOWQ3ZmYwNmIwYjczNzg2NGRi
YzNiYmEuLjA5YWFmYjNjY2JlN2QxOWMwYTFhMDQ1N2JiNjVkMzYwZjUzYjg5M2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQ
aGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPYmplY3RBbGxvY2F0
aW9uU2lua2luZ1BoYXNlLmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIkRGR1ZhbGlk
YXRlLmgiCiAjaW5jbHVkZSAiSlNBcnJheUl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5l
cy5oIgorI2luY2x1ZGUgIkpTSW50ZXJuYWxQcm9taXNlLmgiCiAjaW5jbHVkZSAiSlNNYXBJdGVy
YXRvci5oIgogI2luY2x1ZGUgIkpTU2V0SXRlcmF0b3IuaCIKICNpbmNsdWRlIDx3dGYvU3RkTGlz
dC5oPgpAQCAtOTc0LDYgKzk3NSwxNCBAQCBjbGFzcyBPYmplY3RBbGxvY2F0aW9uU2lua2luZ1Bo
YXNlIDogcHVibGljIFBoYXNlIHsKICAgICAgICAgICAgIGNhc2UgSlNTZXRJdGVyYXRvclR5cGU6
CiAgICAgICAgICAgICAgICAgdGFyZ2V0ID0gaGFuZGxlSW50ZXJuYWxGaWVsZENsYXNzPEpTU2V0
SXRlcmF0b3I+KG5vZGUsIHdyaXRlcyk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICBjYXNlIEpTUHJvbWlzZVR5cGU6CisgICAgICAgICAgICAgICAgaWYgKG5vZGUtPnN0cnVj
dHVyZSgpLT5jbGFzc0luZm8oKSA9PSBKU0ludGVybmFsUHJvbWlzZTo6aW5mbygpKQorICAgICAg
ICAgICAgICAgICAgICB0YXJnZXQgPSBoYW5kbGVJbnRlcm5hbEZpZWxkQ2xhc3M8SlNJbnRlcm5h
bFByb21pc2U+KG5vZGUsIHdyaXRlcyk7CisgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAg
ICAgICAgICAgICAgIEFTU0VSVChub2RlLT5zdHJ1Y3R1cmUoKS0+Y2xhc3NJbmZvKCkgPT0gSlNQ
cm9taXNlOjppbmZvKCkpOworICAgICAgICAgICAgICAgICAgICB0YXJnZXQgPSBoYW5kbGVJbnRl
cm5hbEZpZWxkQ2xhc3M8SlNQcm9taXNlPihub2RlLCB3cml0ZXMpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAg
ICAgICAgICAgREZHX0NSQVNIKG1fZ3JhcGgsIG5vZGUsICJCYWQgc3RydWN0dXJlIik7CiAgICAg
ICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRp
Y3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
UHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCmluZGV4IGZlNDljMzEzMDM2OTFiNmJmMjRj
YTllYWI4NTJhZTEzOGJlNjZmMTIuLjA3ZmI4ZDdkMWM5YjYzZWZiNDE0Y2Y3NmMwY2YxNWI0N2Zj
MzIwYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlv
blByb3BhZ2F0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
UHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCkBAIC0xMDUzLDcgKzEwNTMsNiBAQCBjbGFz
cyBQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZSA6IHB1YmxpYyBQaGFzZSB7CiAgICAgICAgIH0K
IAogICAgICAgICBjYXNlIENyZWF0ZVByb21pc2U6Ci0gICAgICAgIGNhc2UgTmV3UHJvbWlzZToK
ICAgICAgICAgICAgIHNldFByZWRpY3Rpb24oU3BlY1Byb21pc2VPYmplY3QpOwogICAgICAgICAg
ICAgYnJlYWs7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2Fm
ZVRvRXhlY3V0ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRl
LmgKaW5kZXggOGVjZDM1MzFmYzMwZTI1YzA2ZWFhODg2MmJmM2ZiMzM4NWRjZGM2OS4uOTkzNjI5
NjYyNmM0M2Y5NmIxOWE1Yzk2ZTk4NWNiNzA1OThmZTU0YiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKQEAgLTU0Miw3ICs1NDIsNiBAQCBib29sIHNh
ZmVUb0V4ZWN1dGUoQWJzdHJhY3RTdGF0ZVR5cGUmIHN0YXRlLCBHcmFwaCYgZ3JhcGgsIE5vZGUq
IG5vZGUsIGJvb2wgaWdubwogICAgIGNhc2UgQ2FsbEZvcndhcmRWYXJhcmdzOgogICAgIGNhc2Ug
Q29uc3RydWN0Rm9yd2FyZFZhcmFyZ3M6CiAgICAgY2FzZSBOZXdPYmplY3Q6Ci0gICAgY2FzZSBO
ZXdQcm9taXNlOgogICAgIGNhc2UgTmV3R2VuZXJhdG9yOgogICAgIGNhc2UgTmV3QXN5bmNHZW5l
cmF0b3I6CiAgICAgY2FzZSBOZXdBcnJheToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggNjE4ZDk5ODhiMGUyOWI1ZTc0ODk4NDU5Mzc3
OGE1MmVlN2VjZDcxMC4uMDZkYTFhNjNjMTc4NWY3MTE1OGM0MmIyYTgzZGI3Njk4MWY4NmNiNCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAK
QEAgLTEyOTQ4LDMzICsxMjk0OCw2IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVOZXdP
YmplY3QoTm9kZSogbm9kZSkKICAgICBjZWxsUmVzdWx0KHJlc3VsdEdQUiwgbm9kZSk7CiB9CiAK
LXZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVOZXdQcm9taXNlKE5vZGUqIG5vZGUpCi17Ci0g
ICAgR1BSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzKTsKLSAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDEo
dGhpcyk7Ci0gICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gyKHRoaXMpOwotCi0gICAgR1BSUmVnIHJl
c3VsdEdQUiA9IHJlc3VsdC5ncHIoKTsKLSAgICBHUFJSZWcgc2NyYXRjaDFHUFIgPSBzY3JhdGNo
MS5ncHIoKTsKLSAgICBHUFJSZWcgc2NyYXRjaDJHUFIgPSBzY3JhdGNoMi5ncHIoKTsKLQotICAg
IE1hY3JvQXNzZW1ibGVyOjpKdW1wTGlzdCBzbG93Q2FzZXM7Ci0KLSAgICBGcm96ZW5WYWx1ZSog
c3RydWN0dXJlID0gbV9ncmFwaC5mcmVlemVTdHJvbmcobm9kZS0+c3RydWN0dXJlKCkuZ2V0KCkp
OwotICAgIGF1dG8gYnV0dGVyZmx5ID0gVHJ1c3RlZEltbVB0cihudWxscHRyKTsKLSAgICBpZiAo
bm9kZS0+aXNJbnRlcm5hbFByb21pc2UoKSkKLSAgICAgICAgZW1pdEFsbG9jYXRlSlNPYmplY3RX
aXRoS25vd25TaXplPEpTSW50ZXJuYWxQcm9taXNlPihyZXN1bHRHUFIsIFRydXN0ZWRJbW1QdHIo
c3RydWN0dXJlKSwgYnV0dGVyZmx5LCBzY3JhdGNoMUdQUiwgc2NyYXRjaDJHUFIsIHNsb3dDYXNl
cywgc2l6ZW9mKEpTSW50ZXJuYWxQcm9taXNlKSk7Ci0gICAgZWxzZQotICAgICAgICBlbWl0QWxs
b2NhdGVKU09iamVjdFdpdGhLbm93blNpemU8SlNQcm9taXNlPihyZXN1bHRHUFIsIFRydXN0ZWRJ
bW1QdHIoc3RydWN0dXJlKSwgYnV0dGVyZmx5LCBzY3JhdGNoMUdQUiwgc2NyYXRjaDJHUFIsIHNs
b3dDYXNlcywgc2l6ZW9mKEpTUHJvbWlzZSkpOwotICAgIG1faml0LnN0b3JlVHJ1c3RlZFZhbHVl
KGpzTnVtYmVyKHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU1Byb21pc2U6OlN0YXR1czo6UGVuZGlu
ZykpLCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MocmVzdWx0R1BSLCBKU0ludGVybmFsRmllbGRPYmpl
Y3RJbXBsPD46Om9mZnNldE9mSW50ZXJuYWxGaWVsZChzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNQ
cm9taXNlOjpGaWVsZDo6RmxhZ3MpKSkpOwotICAgIG1faml0LnN0b3JlVHJ1c3RlZFZhbHVlKGpz
VW5kZWZpbmVkKCksIENDYWxsSGVscGVyczo6QWRkcmVzcyhyZXN1bHRHUFIsIEpTSW50ZXJuYWxG
aWVsZE9iamVjdEltcGw8Pjo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxkKHN0YXRpY19jYXN0PHVuc2ln
bmVkPihKU1Byb21pc2U6OkZpZWxkOjpSZWFjdGlvbnNPclJlc3VsdCkpKSk7Ci0gICAgbV9qaXQu
bXV0YXRvckZlbmNlKG1faml0LnZtKCkpOwotCi0gICAgYWRkU2xvd1BhdGhHZW5lcmF0b3Ioc2xv
d1BhdGhDYWxsKHNsb3dDYXNlcywgdGhpcywgbm9kZS0+aXNJbnRlcm5hbFByb21pc2UoKSA/IG9w
ZXJhdGlvbk5ld0ludGVybmFsUHJvbWlzZSA6IG9wZXJhdGlvbk5ld1Byb21pc2UsIHJlc3VsdEdQ
UiwgVHJ1c3RlZEltbVB0cigmdm0oKSksIFRydXN0ZWRJbW1QdHIoc3RydWN0dXJlKSkpOwotCi0g
ICAgY2VsbFJlc3VsdChyZXN1bHRHUFIsIG5vZGUpOwotfQotCiB0ZW1wbGF0ZTx0eXBlbmFtZSBK
U0NsYXNzLCB0eXBlbmFtZSBPcGVyYXRpb24+CiB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
TmV3SW50ZXJuYWxGaWVsZE9iamVjdEltcGwoTm9kZSogbm9kZSwgT3BlcmF0aW9uIG9wZXJhdGlv
bikKIHsKQEAgLTEzMDI0LDYgKzEyOTk3LDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVOZXdJbnRlcm5hbEZpZWxkT2JqZWN0KE5vZGUqIG5vZGUpCiAgICAgY2FzZSBKU1NldEl0ZXJh
dG9yVHlwZToKICAgICAgICAgY29tcGlsZU5ld0ludGVybmFsRmllbGRPYmplY3RJbXBsPEpTU2V0
SXRlcmF0b3I+KG5vZGUsIG9wZXJhdGlvbk5ld1NldEl0ZXJhdG9yKTsKICAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBKU1Byb21pc2VUeXBlOiB7CisgICAgICAgIGlmIChub2RlLT5zdHJ1Y3R1cmUo
KS0+Y2xhc3NJbmZvKCkgPT0gSlNJbnRlcm5hbFByb21pc2U6OmluZm8oKSkKKyAgICAgICAgICAg
IGNvbXBpbGVOZXdJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDxKU0ludGVybmFsUHJvbWlzZT4obm9k
ZSwgb3BlcmF0aW9uTmV3SW50ZXJuYWxQcm9taXNlKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAg
ICAgICBBU1NFUlQobm9kZS0+c3RydWN0dXJlKCktPmNsYXNzSW5mbygpID09IEpTUHJvbWlzZTo6
aW5mbygpKTsKKyAgICAgICAgICAgIGNvbXBpbGVOZXdJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDxK
U1Byb21pc2U+KG5vZGUsIG9wZXJhdGlvbk5ld1Byb21pc2UpOworICAgICAgICB9CisgICAgICAg
IGJyZWFrOworICAgIH0KICAgICBkZWZhdWx0OgogICAgICAgICBERkdfQ1JBU0gobV9ncmFwaCwg
bm9kZSwgIkJhZCBzdHJ1Y3R1cmUiKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKaW5kZXggZjc1MzU4OTQ1ZWFiYTBmYmM0NTE5ZWYwZDky
MmFiMjdiZGRkOTU5Mi4uZDYzYWIyZWQ2ZTQzMDdmZTdlYmU2NjVlOTc2ZDFkOWI5ODI5NjY5OSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaApAQCAt
MTQ1OSw3ICsxNDU5LDYgQEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAgIHZvaWQgY29tcGls
ZUNyZWF0ZUdlbmVyYXRvcihOb2RlKik7CiAgICAgdm9pZCBjb21waWxlQ3JlYXRlQXN5bmNHZW5l
cmF0b3IoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZU5ld09iamVjdChOb2RlKik7Ci0gICAgdm9p
ZCBjb21waWxlTmV3UHJvbWlzZShOb2RlKik7CiAgICAgdm9pZCBjb21waWxlTmV3R2VuZXJhdG9y
KE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVOZXdBc3luY0dlbmVyYXRvcihOb2RlKik7CiAgICAg
dm9pZCBjb21waWxlTmV3SW50ZXJuYWxGaWVsZE9iamVjdChOb2RlKik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAppbmRleCA2
MjVjYTBlYTZkNzI0NGZmOGM3MjQzNjkwZWQ5NTgwYTQyNzE1NWE2Li42NjExYmM5NmQyMDMzYzI4
YTc3YzQwZDZkZDgwMzhiMzVhZjg3NzA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKQEAgLTMyNDYsMTEgKzMyNDYsNiBA
QCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGJyZWFr
OwogICAgIH0KIAotICAgIGNhc2UgTmV3UHJvbWlzZTogewotICAgICAgICBjb21waWxlTmV3UHJv
bWlzZShub2RlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCiAgICAgY2FzZSBOZXdHZW5lcmF0
b3I6IHsKICAgICAgICAgY29tcGlsZU5ld0dlbmVyYXRvcihub2RlKTsKICAgICAgICAgYnJlYWs7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
NjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNw
cAppbmRleCAxZTYwMmE3NTgxMjQ5MWU5YTRlMjg3NWM2MDg4ZTZhOGIwNDY5OTc2Li43MDBhNWY1
Njc2NjQ0YWZkYzM1ODhmMjc4MWM0ZDFmMTczMzgwNzMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKQEAgLTM1NzUsMTEgKzM1NzUs
NiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGJy
ZWFrOwogICAgIH0KIAotICAgIGNhc2UgTmV3UHJvbWlzZTogewotICAgICAgICBjb21waWxlTmV3
UHJvbWlzZShub2RlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCiAgICAgY2FzZSBOZXdHZW5l
cmF0b3I6IHsKICAgICAgICAgY29tcGlsZU5ld0dlbmVyYXRvcihub2RlKTsKICAgICAgICAgYnJl
YWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0b3JlQmFycmll
ckluc2VydGlvblBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RvcmVC
YXJyaWVySW5zZXJ0aW9uUGhhc2UuY3BwCmluZGV4IDliOWViMzdhMDNmYTdiMDk0MmQzY2ZhZDY2
MjM0MDVkZDhjNzg0YzguLjA3MTUzYjhlNDcxMmY2ODI5YjZlYmM2MzIxNzQ2NmY4M2Q0NmMxYzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RvcmVCYXJyaWVySW5z
ZXJ0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RvcmVC
YXJyaWVySW5zZXJ0aW9uUGhhc2UuY3BwCkBAIC0zMzIsNyArMzMyLDYgQEAgY2xhc3MgU3RvcmVC
YXJyaWVySW5zZXJ0aW9uUGhhc2UgOiBwdWJsaWMgUGhhc2UgewogICAgICAgICAgICAgCiAgICAg
ICAgICAgICBzd2l0Y2ggKG1fbm9kZS0+b3AoKSkgewogICAgICAgICAgICAgY2FzZSBOZXdPYmpl
Y3Q6Ci0gICAgICAgICAgICBjYXNlIE5ld1Byb21pc2U6CiAgICAgICAgICAgICBjYXNlIE5ld0dl
bmVyYXRvcjoKICAgICAgICAgICAgIGNhc2UgTmV3QXN5bmNHZW5lcmF0b3I6CiAgICAgICAgICAg
ICBjYXNlIE5ld0FycmF5OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmls
aXRpZXMuY3BwCmluZGV4IDQ4OWIwNmQ1OGViYWY4ZmQyNjYzYmJmNzE0YTA0YTY3NmE4NDk1NzIu
LjI2M2NlZDcyYzM4NjgwZWYwYzljMDJiYzMzYTVlYWU2NjU3ZWRhN2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKQEAgLTc0LDcgKzc0LDYgQEAg
aW5saW5lIENhcGFiaWxpdHlMZXZlbCBjYW5Db21waWxlKE5vZGUqIG5vZGUpCiAgICAgY2FzZSBQ
dXRTdHJ1Y3R1cmU6CiAgICAgY2FzZSBHZXRCdXR0ZXJmbHk6CiAgICAgY2FzZSBOZXdPYmplY3Q6
Ci0gICAgY2FzZSBOZXdQcm9taXNlOgogICAgIGNhc2UgTmV3R2VuZXJhdG9yOgogICAgIGNhc2Ug
TmV3QXN5bmNHZW5lcmF0b3I6CiAgICAgY2FzZSBOZXdTdHJpbmdPYmplY3Q6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKaW5kZXggOThkMmEwZWFlYTI1
OWFlZDA3MzkwYzg5NTY3MWZmYjg3Nzk3MDY4Ny4uNWMwNjYwZDRhMzgxZTYyYWVmYzk4Y2UwYjVj
ODk3NDM2YzkxYmNlMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
b3dlckRGR1RvQjMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJE
RkdUb0IzLmNwcApAQCAtODQsNiArODQsNyBAQAogI2luY2x1ZGUgIkpTR2VuZXJhdG9yLmgiCiAj
aW5jbHVkZSAiSlNHZW5lcmF0b3JGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTSW1tdXRhYmxlQnV0
dGVyZmx5LmgiCisjaW5jbHVkZSAiSlNJbnRlcm5hbFByb21pc2UuaCIKICNpbmNsdWRlICJKU0xl
eGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkpTTWFwLmgiCiAjaW5jbHVkZSAiSlNNYXBJ
dGVyYXRvci5oIgpAQCAtMTA2NSw5ICsxMDY2LDYgQEAgY2xhc3MgTG93ZXJERkdUb0IzIHsKICAg
ICAgICAgY2FzZSBOZXdPYmplY3Q6CiAgICAgICAgICAgICBjb21waWxlTmV3T2JqZWN0KCk7CiAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBOZXdQcm9taXNlOgotICAgICAgICAgICAg
Y29tcGlsZU5ld1Byb21pc2UoKTsKLSAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIE5l
d0dlbmVyYXRvcjoKICAgICAgICAgICAgIGNvbXBpbGVOZXdHZW5lcmF0b3IoKTsKICAgICAgICAg
ICAgIGJyZWFrOwpAQCAtNjM1MCwzMiArNjM0OCw2IEBAIGNsYXNzIExvd2VyREZHVG9CMyB7CiAg
ICAgICAgIG11dGF0b3JGZW5jZSgpOwogICAgIH0KIAotICAgIHZvaWQgY29tcGlsZU5ld1Byb21p
c2UoKQotICAgIHsKLSAgICAgICAgTEJhc2ljQmxvY2sgc2xvd0Nhc2UgPSBtX291dC5uZXdCbG9j
aygpOwotICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygp
OwotCi0gICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuaW5zZXJ0TmV3QmxvY2tz
QmVmb3JlKHNsb3dDYXNlKTsKLQotICAgICAgICBMVmFsdWUgcHJvbWlzZTsKLSAgICAgICAgaWYg
KG1fbm9kZS0+aXNJbnRlcm5hbFByb21pc2UoKSkKLSAgICAgICAgICAgIHByb21pc2UgPSBhbGxv
Y2F0ZU9iamVjdDxKU0ludGVybmFsUHJvbWlzZT4obV9ub2RlLT5zdHJ1Y3R1cmUoKSwgbV9vdXQu
aW50UHRyWmVybywgc2xvd0Nhc2UpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBwcm9taXNl
ID0gYWxsb2NhdGVPYmplY3Q8SlNQcm9taXNlPihtX25vZGUtPnN0cnVjdHVyZSgpLCBtX291dC5p
bnRQdHJaZXJvLCBzbG93Q2FzZSk7Ci0gICAgICAgIG1fb3V0LnN0b3JlNjQobV9vdXQuY29uc3RJ
bnQ2NChKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTUHJv
bWlzZTo6U3RhdHVzOjpQZW5kaW5nKSkpKSwgcHJvbWlzZSwgbV9oZWFwcy5KU0ludGVybmFsRmll
bGRPYmplY3RJbXBsX2ludGVybmFsRmllbGRzW3N0YXRpY19jYXN0PHVuc2lnbmVkPihKU1Byb21p
c2U6OkZpZWxkOjpGbGFncyldKTsKLSAgICAgICAgbV9vdXQuc3RvcmU2NChtX291dC5jb25zdElu
dDY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSksIHByb21pc2UsIG1faGVhcHMuSlNJ
bnRlcm5hbEZpZWxkT2JqZWN0SW1wbF9pbnRlcm5hbEZpZWxkc1tzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oSlNQcm9taXNlOjpGaWVsZDo6UmVhY3Rpb25zT3JSZXN1bHQpXSk7Ci0gICAgICAgIG11dGF0
b3JGZW5jZSgpOwotICAgICAgICBWYWx1ZUZyb21CbG9jayBmYXN0UmVzdWx0ID0gbV9vdXQuYW5j
aG9yKHByb21pc2UpOwotICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7Ci0KLSAgICAg
ICAgbV9vdXQuYXBwZW5kVG8oc2xvd0Nhc2UsIGNvbnRpbnVhdGlvbik7Ci0gICAgICAgIFZhbHVl
RnJvbUJsb2NrIHNsb3dSZXN1bHQgPSBtX291dC5hbmNob3Iodm1DYWxsKHBvaW50ZXJUeXBlKCks
IG1fbm9kZS0+aXNJbnRlcm5hbFByb21pc2UoKSA/IG9wZXJhdGlvbk5ld0ludGVybmFsUHJvbWlz
ZSA6IG9wZXJhdGlvbk5ld1Byb21pc2UsIG1fdm1WYWx1ZSwgZnJvemVuUG9pbnRlcihtX2dyYXBo
LmZyZWV6ZVN0cm9uZyhtX25vZGUtPnN0cnVjdHVyZSgpLmdldCgpKSkpKTsKLSAgICAgICAgbV9v
dXQuanVtcChjb250aW51YXRpb24pOwotCi0gICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbnRpbnVh
dGlvbiwgbGFzdE5leHQpOwotICAgICAgICBzZXRKU1ZhbHVlKG1fb3V0LnBoaShwb2ludGVyVHlw
ZSgpLCBmYXN0UmVzdWx0LCBzbG93UmVzdWx0KSk7Ci0gICAgfQotCiAgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgSlNDbGFzcywgdHlwZW5hbWUgT3BlcmF0aW9uPgogICAgIHZvaWQgY29tcGlsZU5ld0lu
dGVybmFsRmllbGRPYmplY3RJbXBsKE9wZXJhdGlvbiBvcGVyYXRpb24pCiAgICAgewpAQCAtNjQy
Myw2ICs2Mzk1LDE0IEBAIGNsYXNzIExvd2VyREZHVG9CMyB7CiAgICAgICAgIGNhc2UgSlNTZXRJ
dGVyYXRvclR5cGU6CiAgICAgICAgICAgICBjb21waWxlTmV3SW50ZXJuYWxGaWVsZE9iamVjdElt
cGw8SlNTZXRJdGVyYXRvcj4ob3BlcmF0aW9uTmV3U2V0SXRlcmF0b3IpOwogICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIGNhc2UgSlNQcm9taXNlVHlwZToKKyAgICAgICAgICAgIGlmIChtX25v
ZGUtPnN0cnVjdHVyZSgpLT5jbGFzc0luZm8oKSA9PSBKU0ludGVybmFsUHJvbWlzZTo6aW5mbygp
KQorICAgICAgICAgICAgICAgIGNvbXBpbGVOZXdJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDxKU0lu
dGVybmFsUHJvbWlzZT4ob3BlcmF0aW9uTmV3SW50ZXJuYWxQcm9taXNlKTsKKyAgICAgICAgICAg
IGVsc2UgeworICAgICAgICAgICAgICAgIEFTU0VSVChtX25vZGUtPnN0cnVjdHVyZSgpLT5jbGFz
c0luZm8oKSA9PSBKU1Byb21pc2U6OmluZm8oKSk7CisgICAgICAgICAgICAgICAgY29tcGlsZU5l
d0ludGVybmFsRmllbGRPYmplY3RJbXBsPEpTUHJvbWlzZT4ob3BlcmF0aW9uTmV3UHJvbWlzZSk7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAg
ICAgICAgICAgIERGR19DUkFTSChtX2dyYXBoLCBtX25vZGUsICJCYWQgc3RydWN0dXJlIik7CiAg
ICAgICAgIH0KQEAgLTEyNDY5LDYgKzEyNDQ5LDE0IEBAIGNsYXNzIExvd2VyREZHVG9CMyB7CiAg
ICAgICAgIGNhc2UgSlNTZXRJdGVyYXRvclR5cGU6CiAgICAgICAgICAgICBjb21waWxlTWF0ZXJp
YWxpemVOZXdJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDxKU1NldEl0ZXJhdG9yPihvcGVyYXRpb25O
ZXdTZXRJdGVyYXRvcik7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBKU1Byb21p
c2VUeXBlOgorICAgICAgICAgICAgaWYgKG1fbm9kZS0+c3RydWN0dXJlKCktPmNsYXNzSW5mbygp
ID09IEpTSW50ZXJuYWxQcm9taXNlOjppbmZvKCkpCisgICAgICAgICAgICAgICAgY29tcGlsZU1h
dGVyaWFsaXplTmV3SW50ZXJuYWxGaWVsZE9iamVjdEltcGw8SlNJbnRlcm5hbFByb21pc2U+KG9w
ZXJhdGlvbk5ld0ludGVybmFsUHJvbWlzZSk7CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAg
ICAgICAgICBBU1NFUlQobV9ub2RlLT5zdHJ1Y3R1cmUoKS0+Y2xhc3NJbmZvKCkgPT0gSlNQcm9t
aXNlOjppbmZvKCkpOworICAgICAgICAgICAgICAgIGNvbXBpbGVNYXRlcmlhbGl6ZU5ld0ludGVy
bmFsRmllbGRPYmplY3RJbXBsPEpTUHJvbWlzZT4ob3BlcmF0aW9uTmV3UHJvbWlzZSk7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAg
ICAgIERGR19DUkFTSChtX2dyYXBoLCBtX25vZGUsICJCYWQgc3RydWN0dXJlIik7CiAgICAgICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9wZXJhdGlvbnMuY3BwCmluZGV4IDE3
M2ZiMmIyYzMyMjY4MjIzMjNiOTAzMzc2MjliNjkxNDJlN2FlODQuLjBmNjNkZDY0ODRiNjU2Njk1
YzNiOWRjMTIyMmNjNDkyYjdlZjg1ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExPcGVyYXRpb25zLmNwcApAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIkpTQ0lubGluZXMu
aCIKICNpbmNsdWRlICJKU0dlbmVyYXRvckZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNJbW11dGFi
bGVCdXR0ZXJmbHkuaCIKKyNpbmNsdWRlICJKU0ludGVybmFsUHJvbWlzZS5oIgogI2luY2x1ZGUg
IkpTTGV4aWNhbEVudmlyb25tZW50LmgiCiAjaW5jbHVkZSAiSlNNYXBJdGVyYXRvci5oIgogI2lu
Y2x1ZGUgIkpTU2V0SXRlcmF0b3IuaCIKQEAgLTE0NCw2ICsxNDUsMTQgQEAgZXh0ZXJuICJDIiB2
b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUG9wdWxhdGVPYmplY3RJbk9TUihKU0dsb2JhbE9i
amVjdCogZ2xvYmEKICAgICAgICAgY2FzZSBKU1NldEl0ZXJhdG9yVHlwZToKICAgICAgICAgICAg
IG1hdGVyaWFsaXplKGpzQ2FzdDxKU1NldEl0ZXJhdG9yKj4odGFyZ2V0KSk7CiAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgY2FzZSBKU1Byb21pc2VUeXBlOgorICAgICAgICAgICAgaWYgKHRh
cmdldC0+Y2xhc3NJbmZvKHZtKSA9PSBKU0ludGVybmFsUHJvbWlzZTo6aW5mbygpKQorICAgICAg
ICAgICAgICAgIG1hdGVyaWFsaXplKGpzQ2FzdDxKU0ludGVybmFsUHJvbWlzZSo+KHRhcmdldCkp
OworICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKHRhcmdldC0+Y2xh
c3NJbmZvKHZtKSA9PSBKU1Byb21pc2U6OmluZm8oKSk7CisgICAgICAgICAgICAgICAgbWF0ZXJp
YWxpemUoanNDYXN0PEpTUHJvbWlzZSo+KHRhcmdldCkpOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VS
VF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0zNDQsNiArMzUzLDE3IEBA
IGV4dGVybiAiQyIgSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk1hdGVyaWFsaXplT2Jq
ZWN0SW5PU1IoSlNHbG9iYWxPYmplY3QqCiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChtYXRl
cmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKS5zaXplKCkgLSAxID09IEpTU2V0SXRlcmF0b3I6Om51
bWJlck9mSW50ZXJuYWxGaWVsZHMpOwogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAg
ICAgfQorICAgICAgICBjYXNlIEpTUHJvbWlzZVR5cGU6IHsKKyAgICAgICAgICAgIGlmIChzdHJ1
Y3R1cmUtPmNsYXNzSW5mbygpID09IEpTSW50ZXJuYWxQcm9taXNlOjppbmZvKCkpIHsKKyAgICAg
ICAgICAgICAgICBKU0ludGVybmFsUHJvbWlzZSogcmVzdWx0ID0gSlNJbnRlcm5hbFByb21pc2U6
OmNyZWF0ZVdpdGhJbml0aWFsVmFsdWVzKHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgICAg
IFJFTEVBU0VfQVNTRVJUKG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpLnNpemUoKSAtIDEg
PT0gSlNJbnRlcm5hbFByb21pc2U6Om51bWJlck9mSW50ZXJuYWxGaWVsZHMpOworICAgICAgICAg
ICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBBU1NFUlQo
c3RydXR1cmUtPmNsYXNzSW5mbygpID09IEpTUHJvbWlzZTo6aW5mbygpKTsKKyAgICAgICAgICAg
IEpTUHJvbWlzZSogcmVzdWx0ID0gSlNQcm9taXNlOjpjcmVhdGVXaXRoSW5pdGlhbFZhbHVlcyh2
bSwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG1hdGVyaWFsaXphdGlv
bi0+cHJvcGVydGllcygpLnNpemUoKSAtIDEgPT0gSlNQcm9taXNlOjpudW1iZXJPZkludGVybmFs
RmllbGRzKTsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KICAgICAgICAg
ZGVmYXVsdDoKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAg
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTSW50ZXJuYWxQcm9taXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTSW50ZXJuYWxQcm9taXNlLmNwcAppbmRleCBmOGFkYmU5ODBhMmZkNTQ5ZmM0ZTFi
NWM4NjdiMzc1ODRkMDU0MDE2Li5lMWYwYWI1NDY0MmY1YTA1YjkwNjdiODkzMTdiZTU2NDg0ZGNl
MzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ludGVybmFs
UHJvbWlzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNJbnRlcm5h
bFByb21pc2UuY3BwCkBAIC00MCw2ICs0MCwxMSBAQCBKU0ludGVybmFsUHJvbWlzZSogSlNJbnRl
cm5hbFByb21pc2U6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIHJl
dHVybiBwcm9taXNlOwogfQogCitKU0ludGVybmFsUHJvbWlzZSogSlNJbnRlcm5hbFByb21pc2U6
OmNyZWF0ZVdpdGhJbml0aWFsVmFsdWVzKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCit7
CisgICAgcmV0dXJuIGNyZWF0ZSh2bSwgc3RydWN0dXJlKTsKK30KKwogU3RydWN0dXJlKiBKU0lu
dGVybmFsUHJvbWlzZTo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCiB7CiAgICAgcmV0dXJuIFN0cnVjdHVyZTo6
Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSlNQcm9taXNlVHlw
ZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNJbnRlcm5hbFByb21pc2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTSW50ZXJuYWxQcm9taXNlLmgKaW5kZXggOGU3ZGY1ZTBiMzM5YTFmYWM0ODU0
Yzk3ZDE1MTQyNjYwZDgwNzg0NS4uZDcwZmQzMzgyODVhOTQ0YWRjMmEyNjA2Y2VlOTQwYWRjZmQx
YWRkYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNJbnRlcm5h
bFByb21pc2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ludGVybmFs
UHJvbWlzZS5oCkBAIC00NCw2ICs0NCw3IEBAIGNsYXNzIEpTSW50ZXJuYWxQcm9taXNlIGZpbmFs
IDogcHVibGljIEpTUHJvbWlzZSB7CiAgICAgdHlwZWRlZiBKU1Byb21pc2UgQmFzZTsKIAogICAg
IEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBKU0ludGVybmFsUHJvbWlzZSogY3JlYXRlKFZNJiwg
U3RydWN0dXJlKik7CisgICAgc3RhdGljIEpTSW50ZXJuYWxQcm9taXNlKiBjcmVhdGVXaXRoSW5p
dGlhbFZhbHVlcyhWTSYsIFN0cnVjdHVyZSopOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0
ZVN0cnVjdHVyZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7CiAKICAgICBERUNMQVJF
X0VYUE9SVF9JTkZPOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNQcm9taXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZS5j
cHAKaW5kZXggZmU1MzA5NTViMGI5M2ZmZTFhODllY2Q5OGY0YjRlMmI0YjdjNDU0YS4uMDljMzZl
NWRlMjk3MGJhMDc3MTA4MmE2MTFkNGM3MTdlYThlMzY1NSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1Byb21pc2UuY3BwCkBAIC00NSw2ICs0NSwxMSBAQCBKU1Byb21pc2Uq
IEpTUHJvbWlzZTo6Y3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgcmV0
dXJuIHByb21pc2U7CiB9CiAKK0pTUHJvbWlzZSogSlNQcm9taXNlOjpjcmVhdGVXaXRoSW5pdGlh
bFZhbHVlcyhWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQoreworICAgIHJldHVybiBjcmVh
dGUodm0sIHN0cnVjdHVyZSk7Cit9CisKIFN0cnVjdHVyZSogSlNQcm9taXNlOjpjcmVhdGVTdHJ1
Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3Rv
dHlwZSkKIHsKICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwg
cHJvdG90eXBlLCBUeXBlSW5mbyhKU1Byb21pc2VUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8o
KSk7CkBAIC01OCw4ICs2Myw5IEBAIEpTUHJvbWlzZTo6SlNQcm9taXNlKFZNJiB2bSwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUpCiB2b2lkIEpTUHJvbWlzZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQog
ewogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKLSAgICBpbnRlcm5hbEZpZWxkKHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihGaWVsZDo6RmxhZ3MpKS5zZXQodm0sIHRoaXMsIGpzTnVtYmVyKHN0
YXRpY19jYXN0PHVuc2lnbmVkPihTdGF0dXM6OlBlbmRpbmcpKSk7Ci0gICAgaW50ZXJuYWxGaWVs
ZChzdGF0aWNfY2FzdDx1bnNpZ25lZD4oRmllbGQ6OlJlYWN0aW9uc09yUmVzdWx0KSkuc2V0KHZt
LCB0aGlzLCBqc1VuZGVmaW5lZCgpKTsKKyAgICBhdXRvIHZhbHVlcyA9IGluaXRpYWxWYWx1ZXMo
KTsKKyAgICBmb3IgKHVuc2lnbmVkIGluZGV4ID0gMDsgaW5kZXggPCB2YWx1ZXMuc2l6ZSgpOyAr
K2luZGV4KQorICAgICAgICBCYXNlOjppbnRlcm5hbEZpZWxkKGluZGV4KS5zZXQodm0sIHRoaXMs
IHZhbHVlc1tpbmRleF0pOwogfQogCiB2b2lkIEpTUHJvbWlzZTo6dmlzaXRDaGlsZHJlbihKU0Nl
bGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQpAQCAtNzEsNyArNzcsNyBAQCB2b2lkIEpT
UHJvbWlzZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9y
KQogCiBhdXRvIEpTUHJvbWlzZTo6c3RhdHVzKFZNJikgY29uc3QgLT4gU3RhdHVzCiB7Ci0gICAg
SlNWYWx1ZSB2YWx1ZSA9IGludGVybmFsRmllbGQoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEZpZWxk
OjpGbGFncykpLmdldCgpOworICAgIEpTVmFsdWUgdmFsdWUgPSBpbnRlcm5hbEZpZWxkKEZpZWxk
OjpGbGFncykuZ2V0KCk7CiAgICAgdWludDMyX3QgZmxhZ3MgPSB2YWx1ZS5hc1VJbnQzMkFzQW55
SW50KCk7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFN0YXR1cz4oZmxhZ3MgJiBzdGF0ZU1hc2sp
OwogfQpAQCAtODEsMTIgKzg3LDEyIEBAIEpTVmFsdWUgSlNQcm9taXNlOjpyZXN1bHQoVk0mIHZt
KSBjb25zdAogICAgIFN0YXR1cyBzdGF0dXMgPSB0aGlzLT5zdGF0dXModm0pOwogICAgIGlmIChz
dGF0dXMgPT0gU3RhdHVzOjpQZW5kaW5nKQogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsK
LSAgICByZXR1cm4gaW50ZXJuYWxGaWVsZChzdGF0aWNfY2FzdDx1bnNpZ25lZD4oRmllbGQ6OlJl
YWN0aW9uc09yUmVzdWx0KSkuZ2V0KCk7CisgICAgcmV0dXJuIGludGVybmFsRmllbGQoRmllbGQ6
OlJlYWN0aW9uc09yUmVzdWx0KS5nZXQoKTsKIH0KIAogdWludDMyX3QgSlNQcm9taXNlOjpmbGFn
cygpIGNvbnN0CiB7Ci0gICAgSlNWYWx1ZSB2YWx1ZSA9IGludGVybmFsRmllbGQoc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KEZpZWxkOjpGbGFncykpLmdldCgpOworICAgIEpTVmFsdWUgdmFsdWUgPSBp
bnRlcm5hbEZpZWxkKEZpZWxkOjpGbGFncykuZ2V0KCk7CiAgICAgcmV0dXJuIHZhbHVlLmFzVUlu
dDMyQXNBbnlJbnQoKTsKIH0KIApAQCAtMTYwLDcgKzE2Niw3IEBAIHZvaWQgSlNQcm9taXNlOjpy
ZXNvbHZlKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHZhbHVl
KQogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICB1aW50MzJf
dCBmbGFncyA9IHRoaXMtPmZsYWdzKCk7CiAgICAgaWYgKCEoZmxhZ3MgJiBpc0ZpcnN0UmVzb2x2
aW5nRnVuY3Rpb25DYWxsZWRGbGFnKSkgewotICAgICAgICBpbnRlcm5hbEZpZWxkKHN0YXRpY19j
YXN0PHVuc2lnbmVkPihGaWVsZDo6RmxhZ3MpKS5zZXQodm0sIHRoaXMsIGpzTnVtYmVyKGZsYWdz
IHwgaXNGaXJzdFJlc29sdmluZ0Z1bmN0aW9uQ2FsbGVkRmxhZykpOworICAgICAgICBpbnRlcm5h
bEZpZWxkKEZpZWxkOjpGbGFncykuc2V0KHZtLCB0aGlzLCBqc051bWJlcihmbGFncyB8IGlzRmly
c3RSZXNvbHZpbmdGdW5jdGlvbkNhbGxlZEZsYWcpKTsKICAgICAgICAgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCh2bSk7CiAgICAgICAgIGNhbGxGdW5j
dGlvbihsZXhpY2FsR2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnJlc29sdmVQcm9taXNlRnVu
Y3Rpb24oKSwgdGhpcywgdmFsdWUpOwogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3Bl
LCB2b2lkKCkpOwpAQCAtMTc0LDcgKzE4MCw3IEBAIHZvaWQgSlNQcm9taXNlOjpyZWplY3QoSlNH
bG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVmFsdWUgdmFsdWUpCiAgICAgYXV0
byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgIHVpbnQzMl90IGZsYWdzID0g
dGhpcy0+ZmxhZ3MoKTsKICAgICBpZiAoIShmbGFncyAmIGlzRmlyc3RSZXNvbHZpbmdGdW5jdGlv
bkNhbGxlZEZsYWcpKSB7Ci0gICAgICAgIGludGVybmFsRmllbGQoc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KEZpZWxkOjpGbGFncykpLnNldCh2bSwgdGhpcywganNOdW1iZXIoZmxhZ3MgfCBpc0ZpcnN0
UmVzb2x2aW5nRnVuY3Rpb25DYWxsZWRGbGFnKSk7CisgICAgICAgIGludGVybmFsRmllbGQoRmll
bGQ6OkZsYWdzKS5zZXQodm0sIHRoaXMsIGpzTnVtYmVyKGZsYWdzIHwgaXNGaXJzdFJlc29sdmlu
Z0Z1bmN0aW9uQ2FsbGVkRmxhZykpOwogICAgICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KHZtKTsKICAgICAgICAgY2FsbEZ1bmN0aW9uKGxleGlj
YWxHbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+cmVqZWN0UHJvbWlzZUZ1bmN0aW9uKCksIHRo
aXMsIHZhbHVlKTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsK
QEAgLTE4OCw3ICsxOTQsNyBAQCB2b2lkIEpTUHJvbWlzZTo6cmVqZWN0QXNIYW5kbGVkKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHZhbAogICAgIFZNJiB2bSA9
IGxleGljYWxHbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgdWludDMyX3QgZmxhZ3MgPSB0aGlzLT5m
bGFncygpOwogICAgIGlmICghKGZsYWdzICYgaXNGaXJzdFJlc29sdmluZ0Z1bmN0aW9uQ2FsbGVk
RmxhZykpCi0gICAgICAgIGludGVybmFsRmllbGQoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEZpZWxk
OjpGbGFncykpLnNldCh2bSwgdGhpcywganNOdW1iZXIoZmxhZ3MgfCBpc0hhbmRsZWRGbGFnKSk7
CisgICAgICAgIGludGVybmFsRmllbGQoRmllbGQ6OkZsYWdzKS5zZXQodm0sIHRoaXMsIGpzTnVt
YmVyKGZsYWdzIHwgaXNIYW5kbGVkRmxhZykpOwogICAgIHJlamVjdChsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCB2YWx1ZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTUHJvbWlzZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNl
LmgKaW5kZXggZDNiMGFmODA0OWJmZWZiZmRlYjA0MjI1MmFhYzY1NzdhY2RhYWIwNi4uMzM2M2Ew
ZDM0MmE0MWEyN2VhYzUyOWYzMTJjZDQ0MmMyMTllZGFmOCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNQcm9taXNlLmgKQEAgLTQxLDYgKzQxLDcgQEAgY2xhc3MgSlNQcm9taXNl
IDogcHVibGljIEpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGw8Mj4gewogICAgIH0KIAogICAgIEpT
X0VYUE9SVF9QUklWQVRFIHN0YXRpYyBKU1Byb21pc2UqIGNyZWF0ZShWTSYsIFN0cnVjdHVyZSop
OworICAgIHN0YXRpYyBKU1Byb21pc2UqIGNyZWF0ZVdpdGhJbml0aWFsVmFsdWVzKFZNJiwgU3Ry
dWN0dXJlKik7CiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiwgSlNH
bG9iYWxPYmplY3QqLCBKU1ZhbHVlKTsKIAogICAgIERFQ0xBUkVfRVhQT1JUX0lORk87CkBAIC02
MCw2ICs2MSwxNyBAQCBjbGFzcyBKU1Byb21pc2UgOiBwdWJsaWMgSlNJbnRlcm5hbEZpZWxkT2Jq
ZWN0SW1wbDwyPiB7CiAgICAgfTsKICAgICBzdGF0aWNfYXNzZXJ0KG51bWJlck9mSW50ZXJuYWxG
aWVsZHMgPT0gMik7CiAKKyAgICBzdGF0aWMgc3RkOjphcnJheTxKU1ZhbHVlLCBudW1iZXJPZklu
dGVybmFsRmllbGRzPiBpbml0aWFsVmFsdWVzKCkKKyAgICB7CisgICAgICAgIHJldHVybiB7IHsK
KyAgICAgICAgICAgIGpzTnVtYmVyKHN0YXRpY19jYXN0PHVuc2lnbmVkPihTdGF0dXM6OlBlbmRp
bmcpKSwKKyAgICAgICAgICAgIGpzVW5kZWZpbmVkKCksCisgICAgICAgIH0gfTsKKyAgICB9CisK
KyAgICBjb25zdCBXcml0ZUJhcnJpZXI8VW5rbm93bj4mIGludGVybmFsRmllbGQoRmllbGQgZmll
bGQpIGNvbnN0IHsgcmV0dXJuIEJhc2U6OmludGVybmFsRmllbGQoc3RhdGljX2Nhc3Q8dWludDMy
X3Q+KGZpZWxkKSk7IH0KKyAgICBXcml0ZUJhcnJpZXI8VW5rbm93bj4mIGludGVybmFsRmllbGQo
RmllbGQgZmllbGQpIHsgcmV0dXJuIEJhc2U6OmludGVybmFsRmllbGQoc3RhdGljX2Nhc3Q8dWlu
dDMyX3Q+KGZpZWxkKSk7IH0KKwogICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0YXR1cyBzdGF0dXMo
Vk0mKSBjb25zdDsKICAgICBKU19FWFBPUlRfUFJJVkFURSBKU1ZhbHVlIHJlc3VsdChWTSYpIGNv
bnN0OwogICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgaXNIYW5kbGVkKFZNJikgY29uc3Q7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396848</attachid>
            <date>2020-04-18 07:53:41 -0700</date>
            <delta_ts>2020-04-18 13:23:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210687-20200418075341.patch</filename>
            <type>text/plain</type>
            <size>35339</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwMzAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
ZWI1ZGNhMDU0MzhlMjhiMmJmNWE3YzJiZGFjYjlhMjI3MGU4NGM2Li42MmU0ZmI5NmNkZDBiZGYy
Y2ZjYjRhZDU2Y2QyZGE2NWE2M2E3OGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3NSBAQAorMjAyMC0wNC0xOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlcGxhY2UgREZHIE5ld1Byb21pc2Ugd2l0aCBOZXdJbnRlcm5h
bEZpZWxkT2JqZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTA2ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGUgZmVhdHVyZSBvZiBERkc6Ok5ld1Byb21pc2UgY2FuIGJlIGltcGxlbWVudGVkIGNv
bXBsZXRlbHkgd2l0aCBERkc6Ok5ld0ludGVybmFsRmllbGRPYmplY3QuIFRoaXMgcmVkdWNlcyBj
b2RlIGR1cGxpY2F0aW9uLCBhbmQgZnVydGhlcm1vcmUsCisgICAgICAgIHRoaXMgb2ZmZXJzIE9i
amVjdCBBbGxvY2F0aW9uIFNpbmtpbmcgc3VwcG9ydCBmb3IgZnJlZS4gVGhpcyBwYXRjaCByZXBs
YWNlcyBERkc6Ok5ld1Byb21pc2Ugd2l0aCBERkc6Ok5ld0ludGVybmFsRmllbGRPYmplY3QgYW5k
IHJlbW92ZSBERkc6Ok5ld1Byb21pc2UKKyAgICAgICAgY29tcGxldGVseS4KKworICAgICAgICAq
IGRmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpERkc6
OkFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyk6
CisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0Nsb2JiZXJp
emUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpjbG9iYmVyaXplKToKKyAgICAgICAgKiBkZmcvREZH
Q2xvYmJlcnNFeGl0U3RhdGUuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmNsb2JiZXJzRXhpdFN0
YXRlKToKKyAgICAgICAgKiBkZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwOgorICAgICAg
ICAoSlNDOjpERkc6OkNvbnN0YW50Rm9sZGluZ1BoYXNlOjpmb2xkQ29uc3RhbnRzKToKKyAgICAg
ICAgKiBkZmcvREZHRG9lc0dDLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpkb2VzR0MpOgorICAg
ICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBo
YXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRmZy9ERkdOb2RlLmg6CisgICAgICAgIChKU0M6
OkRGRzo6Tm9kZTo6Y29udmVydFRvTmV3SW50ZXJuYWxGaWVsZE9iamVjdCk6CisgICAgICAgIChK
U0M6OkRGRzo6Tm9kZTo6Y29udmVydFRvTmV3SW50ZXJuYWxGaWVsZE9iamVjdFdpdGhJbmxpbmVG
aWVsZHMpOgorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6Omhhc0lzSW50ZXJuYWxQcm9taXNlKToK
KyAgICAgICAgKEpTQzo6REZHOjpOb2RlOjpoYXNTdHJ1Y3R1cmUpOgorICAgICAgICAoSlNDOjpE
Rkc6Ok5vZGU6OmNvbnZlcnRUb05ld1Byb21pc2UpOiBEZWxldGVkLgorICAgICAgICAqIGRmZy9E
RkdOb2RlVHlwZS5oOgorICAgICAgICAqIGRmZy9ERkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1Bo
YXNlLmNwcDoKKyAgICAgICAgKiBkZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3Bw
OgorICAgICAgICAqIGRmZy9ERkdTYWZlVG9FeGVjdXRlLmg6CisgICAgICAgIChKU0M6OkRGRzo6
c2FmZVRvRXhlY3V0ZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAg
ICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU5ld0ludGVybmFsRmllbGRP
YmplY3QpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlTmV3UHJv
bWlzZSk6IERlbGV0ZWQuCisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6CisgICAg
ICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6
OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVK
SVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgor
ICAgICAgICAqIGRmZy9ERkdTdG9yZUJhcnJpZXJJbnNlcnRpb25QaGFzZS5jcHA6CisgICAgICAg
ICogZnRsL0ZUTENhcGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6Y2FuQ29tcGls
ZSk6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9CMy5jcHA6CisgICAgICAgIChKU0M6OkZU
TDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVOb2RlKToKKyAgICAgICAgKEpTQzo6RlRMOjpE
Rkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZU5ld0ludGVybmFsRmllbGRPYmplY3QpOgorICAgICAg
ICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlTWF0ZXJpYWxpemVOZXdJbnRl
cm5hbEZpZWxkT2JqZWN0KToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6
Y29tcGlsZU5ld1Byb21pc2UpOiBEZWxldGVkLgorICAgICAgICAqIGZ0bC9GVExPcGVyYXRpb25z
LmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpvcGVyYXRpb25Qb3B1bGF0ZU9iamVjdEluT1NSKToK
KyAgICAgICAgKEpTQzo6RlRMOjpvcGVyYXRpb25NYXRlcmlhbGl6ZU9iamVjdEluT1NSKToKKyAg
ICAgICAgKiBydW50aW1lL0pTSW50ZXJuYWxQcm9taXNlLmNwcDoKKyAgICAgICAgKEpTQzo6SlNJ
bnRlcm5hbFByb21pc2U6OmNyZWF0ZVdpdGhJbml0aWFsVmFsdWVzKToKKyAgICAgICAgKiBydW50
aW1lL0pTSW50ZXJuYWxQcm9taXNlLmg6CisgICAgICAgICogcnVudGltZS9KU1Byb21pc2UuY3Bw
OgorICAgICAgICAoSlNDOjpKU1Byb21pc2U6OmNyZWF0ZVdpdGhJbml0aWFsVmFsdWVzKToKKyAg
ICAgICAgKEpTQzo6SlNQcm9taXNlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OkpT
UHJvbWlzZTo6c3RhdHVzIGNvbnN0KToKKyAgICAgICAgKEpTQzo6SlNQcm9taXNlOjpyZXN1bHQg
Y29uc3QpOgorICAgICAgICAoSlNDOjpKU1Byb21pc2U6OmZsYWdzIGNvbnN0KToKKyAgICAgICAg
KEpTQzo6SlNQcm9taXNlOjpyZXNvbHZlKToKKyAgICAgICAgKEpTQzo6SlNQcm9taXNlOjpyZWpl
Y3QpOgorICAgICAgICAoSlNDOjpKU1Byb21pc2U6OnJlamVjdEFzSGFuZGxlZCk6CisgICAgICAg
ICogcnVudGltZS9KU1Byb21pc2UuaDoKKyAgICAgICAgKEpTQzo6SlNQcm9taXNlOjppbml0aWFs
VmFsdWVzKToKKyAgICAgICAgKEpTQzo6SlNQcm9taXNlOjppbnRlcm5hbEZpZWxkIGNvbnN0KToK
KyAgICAgICAgKEpTQzo6SlNQcm9taXNlOjppbnRlcm5hbEZpZWxkKToKKwogMjAyMC0wNC0xNyAg
Q29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgcmV2ZXJ0aW5nIHIyNjAyNzkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXggN2UyNjM4MGM2
MDU2NWJiODAyOWJjMDgxMTM1OTFiMGUxYzNlYjI2Yy4uNjFmMDkwYWQ3MWYxOGM0N2U3M2FlZWE4
YzZlYWQxMWI4M2NlNWE0OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtMjg1OCw3ICsyODU4LDYg
QEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVm
ZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAg
Y2FzZSBOZXdQcm9taXNlOgogICAgIGNhc2UgTmV3R2VuZXJhdG9yOgogICAgIGNhc2UgTmV3QXN5
bmNHZW5lcmF0b3I6ICAgIAogICAgIGNhc2UgTmV3SW50ZXJuYWxGaWVsZE9iamVjdDoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXggZmVh
MjhiYzQ2ZTQyNTllYmI2Nzc0OGQ5MTM0MTQ4NWI3OTkwMGIyNS4uMTcyOGMyYmZkYjAzNzBhMGRh
MzNiMmZkZDU4NmQ0NDQzZjAzYjRlZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKQEAgLTUyNDAsNyArNTI0MCw4IEBAIHZvaWQgQnl0ZUNv
ZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgICAgIGlmIChwcm9taXNlQ29uc3RydWN0b3IpIHsKICAgICAgICAgICAgICAg
ICAgICAgYWRkVG9HcmFwaChQaGFudG9tLCBjYWxsZWUpOwotICAgICAgICAgICAgICAgICAgICBz
ZXQoVmlydHVhbFJlZ2lzdGVyKGJ5dGVjb2RlLm1fZHN0KSwgYWRkVG9HcmFwaChOZXdQcm9taXNl
LCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVjdHVyZShieXRlY29kZS5tX2lzSW50ZXJuYWxQ
cm9taXNlID8gZ2xvYmFsT2JqZWN0LT5pbnRlcm5hbFByb21pc2VTdHJ1Y3R1cmUoKSA6IGdsb2Jh
bE9iamVjdC0+cHJvbWlzZVN0cnVjdHVyZSgpKSksIE9wSW5mbyhieXRlY29kZS5tX2lzSW50ZXJu
YWxQcm9taXNlKSkpOworICAgICAgICAgICAgICAgICAgICBOb2RlKiBwcm9taXNlID0gYWRkVG9H
cmFwaChOZXdJbnRlcm5hbEZpZWxkT2JqZWN0LCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVj
dHVyZShieXRlY29kZS5tX2lzSW50ZXJuYWxQcm9taXNlID8gZ2xvYmFsT2JqZWN0LT5pbnRlcm5h
bFByb21pc2VTdHJ1Y3R1cmUoKSA6IGdsb2JhbE9iamVjdC0+cHJvbWlzZVN0cnVjdHVyZSgpKSkp
OworICAgICAgICAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGJ5dGVjb2RlLm1fZHN0
KSwgcHJvbWlzZSk7CiAgICAgICAgICAgICAgICAgICAgIGFscmVhZHlFbWl0dGVkID0gdHJ1ZTsK
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CkBAIC01MjczLDcgKzUyNzQsOCBAQCB2
b2lkIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHko
cmFyZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpKTsKIAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGJ5dGVjb2RlLm1fZHN0
KSwgYWRkVG9HcmFwaChOZXdQcm9taXNlLCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVjdHVy
ZShzdHJ1Y3R1cmUpKSwgT3BJbmZvKGJ5dGVjb2RlLm1faXNJbnRlcm5hbFByb21pc2UpKSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vZGUqIHByb21pc2UgPSBhZGRUb0dyYXBo
KE5ld0ludGVybmFsRmllbGRPYmplY3QsIE9wSW5mbyhtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJl
KHN0cnVjdHVyZSkpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0KFZpcnR1
YWxSZWdpc3RlcihieXRlY29kZS5tX2RzdCksIHByb21pc2UpOwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyBUaGUgY2FsbGVlIGlzIHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2lu
dC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChQaGFudG9tLCBj
YWxsZWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHJlYWR5RW1pdHRlZCA9
IHRydWU7CkBAIC01MzA4LDcgKzUzMTAsOCBAQCB2b2lkIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJs
b2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICBjYXNlIG9wX25ld19wcm9taXNlOiB7CiAgICAg
ICAgICAgICBhdXRvIGJ5dGVjb2RlID0gY3VycmVudEluc3RydWN0aW9uLT5hczxPcE5ld1Byb21p
c2U+KCk7CiAgICAgICAgICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gbV9ncmFw
aC5nbG9iYWxPYmplY3RGb3IoY3VycmVudE5vZGVPcmlnaW4oKS5zZW1hbnRpYyk7Ci0gICAgICAg
ICAgICBzZXQoYnl0ZWNvZGUubV9kc3QsIGFkZFRvR3JhcGgoTmV3UHJvbWlzZSwgT3BJbmZvKG1f
Z3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoYnl0ZWNvZGUubV9pc0ludGVybmFsUHJvbWlzZSA/IGds
b2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkgOiBnbG9iYWxPYmplY3QtPnBy
b21pc2VTdHJ1Y3R1cmUoKSkpLCBPcEluZm8oYnl0ZWNvZGUubV9pc0ludGVybmFsUHJvbWlzZSkp
KTsKKyAgICAgICAgICAgIE5vZGUqIHByb21pc2UgPSBhZGRUb0dyYXBoKE5ld0ludGVybmFsRmll
bGRPYmplY3QsIE9wSW5mbyhtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKGJ5dGVjb2RlLm1faXNJ
bnRlcm5hbFByb21pc2UgPyBnbG9iYWxPYmplY3QtPmludGVybmFsUHJvbWlzZVN0cnVjdHVyZSgp
IDogZ2xvYmFsT2JqZWN0LT5wcm9taXNlU3RydWN0dXJlKCkpKSk7CisgICAgICAgICAgICBzZXQo
Ynl0ZWNvZGUubV9kc3QsIHByb21pc2UpOwogICAgICAgICAgICAgTkVYVF9PUENPREUob3BfbmV3
X3Byb21pc2UpOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQ2xvYmJlcml6ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9i
YmVyaXplLmgKaW5kZXggYzcxNGYxNTIwNDM4MWJhMmY0MmU3NmQ1OGZhZjhjYTc2ODhkZWY2OS4u
M2EwZmNmYzkxMWE2YzMyNzU2MTE3MzIxODAxZjUxYzRkNWFkODg4NyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKQEAgLTE2MDIsNyArMTYwMiw2IEBAIHZvaWQg
Y2xvYmJlcml6ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJlYWRGdW5jdG9yJiBy
ZWFkLCBjb25zdCBXcml0ZUZ1CiAgICAgfQogCiAgICAgY2FzZSBOZXdPYmplY3Q6Ci0gICAgY2Fz
ZSBOZXdQcm9taXNlOgogICAgIGNhc2UgTmV3R2VuZXJhdG9yOgogICAgIGNhc2UgTmV3QXN5bmNH
ZW5lcmF0b3I6CiAgICAgY2FzZSBOZXdJbnRlcm5hbEZpZWxkT2JqZWN0OgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyc0V4aXRTdGF0ZS5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJzRXhpdFN0YXRlLmNwcAppbmRleCBkZjUy
NDY3MWExMWZhMjhlMjNiNDhlMDg4MWVkMDZmMjBiZjJjZWU0Li5kNzdjN2FmOGU1MmZkOTI2YzYz
YzlhMDYxNjc4NDI0MjZkOWNmYjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Nsb2JiZXJzRXhpdFN0YXRlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Nsb2JiZXJzRXhpdFN0YXRlLmNwcApAQCAtNTcsNyArNTcsNiBAQCBib29sIGNsb2Ji
ZXJzRXhpdFN0YXRlKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIEFycmF5aWZ5
VG9TdHJ1Y3R1cmU6CiAgICAgY2FzZSBBcnJheWlmeToKICAgICBjYXNlIE5ld09iamVjdDoKLSAg
ICBjYXNlIE5ld1Byb21pc2U6CiAgICAgY2FzZSBOZXdHZW5lcmF0b3I6CiAgICAgY2FzZSBOZXdB
c3luY0dlbmVyYXRvcjoKICAgICBjYXNlIE5ld0ludGVybmFsRmllbGRPYmplY3Q6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3Bw
CmluZGV4IGUwYzk1ODZmMjBkNGQ1ZDExODg3MmI5YTAzMzljODcwNGIwMmRjMWIuLmYyNzBlOTQy
NDI5OGFmYTNmZWJjNDQyNWUzNDBlYTViNmZjODZlMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwCkBAIC04MzEsNyAr
ODMxLDcgQEAgY2xhc3MgQ29uc3RhbnRGb2xkaW5nUGhhc2UgOiBwdWJsaWMgUGhhc2UgewogICAg
ICAgICAgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBtX2dyYXBoLmdsb2Jh
bE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpOwogICAgICAgICAgICAgICAgIGlmIChK
U1ZhbHVlIGJhc2UgPSBtX3N0YXRlLmZvck5vZGUobm9kZS0+Y2hpbGQxKCkpLm1fdmFsdWUpIHsK
ICAgICAgICAgICAgICAgICAgICAgaWYgKGJhc2UgPT0gKG5vZGUtPmlzSW50ZXJuYWxQcm9taXNl
KCkgPyBnbG9iYWxPYmplY3QtPmludGVybmFsUHJvbWlzZUNvbnN0cnVjdG9yKCkgOiBnbG9iYWxP
YmplY3QtPnByb21pc2VDb25zdHJ1Y3RvcigpKSkgewotICAgICAgICAgICAgICAgICAgICAgICAg
bm9kZS0+Y29udmVydFRvTmV3UHJvbWlzZShtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKG5vZGUt
PmlzSW50ZXJuYWxQcm9taXNlKCkgPyBnbG9iYWxPYmplY3QtPmludGVybmFsUHJvbWlzZVN0cnVj
dHVyZSgpIDogZ2xvYmFsT2JqZWN0LT5wcm9taXNlU3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb05ld0ludGVybmFsRmllbGRPYmplY3QobV9ncmFw
aC5yZWdpc3RlclN0cnVjdHVyZShub2RlLT5pc0ludGVybmFsUHJvbWlzZSgpID8gZ2xvYmFsT2Jq
ZWN0LT5pbnRlcm5hbFByb21pc2VTdHJ1Y3R1cmUoKSA6IGdsb2JhbE9iamVjdC0+cHJvbWlzZVN0
cnVjdHVyZSgpKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKICAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICB9CkBAIC04
NDUsNyArODQ1LDcgQEAgY2xhc3MgQ29uc3RhbnRGb2xkaW5nUGhhc2UgOiBwdWJsaWMgUGhhc2Ug
ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgcmFyZURhdGEtPmFsbG9j
YXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpLmlzU3RpbGxWYWxpZCgpKSB7CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLndhdGNocG9pbnRzKCkuYWRk
TGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQoKSk7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5jb252ZXJ0VG9OZXdQcm9taXNl
KG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJlKSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBub2RlLT5jb252ZXJ0VG9OZXdJbnRlcm5hbEZpZWxkT2JqZWN0
KG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJlKSk7CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
CkBAIC04NzEsNyArODcxLDcgQEAgY2xhc3MgQ29uc3RhbnRGb2xkaW5nUGhhc2UgOiBwdWJsaWMg
UGhhc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHJhcmVE
YXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQoKS5pc1N0aWxsVmFsaWQoKSkgewog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGguZnJlZXplKHJh
cmVEYXRhKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBo
LndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNo
cG9pbnRTZXQoKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9k
ZS0+Y29udmVydFRvTmV3SW50ZXJuYWxGaWVsZE9iamVjdChuZXdPcCwgbV9ncmFwaC5yZWdpc3Rl
clN0cnVjdHVyZShzdHJ1Y3R1cmUpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBub2RlLT5jb252ZXJ0VG9OZXdJbnRlcm5hbEZpZWxkT2JqZWN0V2l0aElubGluZUZp
ZWxkcyhuZXdPcCwgbV9ncmFwaC5yZWdpc3RlclN0cnVjdHVyZShzdHJ1Y3R1cmUpKTsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0RvZXNHQy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNH
Qy5jcHAKaW5kZXggNjQ0ZWZlMmQ1ZDAwOWI3N2FmNDk1NTRiYWI5Y2Y4ZTdhYTViMDdmZC4uOWJi
NmEyMjZhYTY1Zjc3MWI2ZmRmOTk5MGY2YjMyMGI4MzA5MzFhZiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHRG9lc0dDLmNwcApAQCAtMzUzLDcgKzM1Myw2IEBAIGJvb2wgZG9lc0dDKEdy
YXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIEFycmF5aWZ5OgogICAgIGNhc2UgQXJy
YXlpZnlUb1N0cnVjdHVyZToKICAgICBjYXNlIE5ld09iamVjdDoKLSAgICBjYXNlIE5ld1Byb21p
c2U6CiAgICAgY2FzZSBOZXdHZW5lcmF0b3I6CiAgICAgY2FzZSBOZXdBc3luY0dlbmVyYXRvcjoK
ICAgICBjYXNlIE5ld0FycmF5OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdGaXh1cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQ
aGFzZS5jcHAKaW5kZXggOGQ3ZGUyNzFkYjA5OTYxNGI1YmM1YTk4N2NhY2IyZDhlOGVmODY3MC4u
NTI3N2UzZWQ3N2FkNDAzNDk2OWY2NjY0NDcwYTk0N2VjOWZkYjQzNCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0yNTMzLDcgKzI1MzMsNiBAQCBj
bGFzcyBGaXh1cFBoYXNlIDogcHVibGljIFBoYXNlIHsKICAgICAgICAgY2FzZSBWYXJhcmdzTGVu
Z3RoOgogICAgICAgICBjYXNlIFByb2ZpbGVDb250cm9sRmxvdzoKICAgICAgICAgY2FzZSBOZXdP
YmplY3Q6Ci0gICAgICAgIGNhc2UgTmV3UHJvbWlzZToKICAgICAgICAgY2FzZSBOZXdHZW5lcmF0
b3I6CiAgICAgICAgIGNhc2UgTmV3QXN5bmNHZW5lcmF0b3I6CiAgICAgICAgIGNhc2UgTmV3SW50
ZXJuYWxGaWVsZE9iamVjdDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHTm9kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKaW5kZXggZTU2
YzVmZmMxZGMzMzllNzc4ODY0YTcwNDE4NTEyMjlhOTBmNzM1OC4uMTJkOTgwMzFlYjAwNWFmOTRj
NjliNjc0YmY1NDQ3YjQ0OWUyYjNiNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdOb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgK
QEAgLTc4NCwxNyArNzg0LDE2IEBAIHN0cnVjdCBOb2RlIHsKICAgICAgICAgbV9vcEluZm8yID0g
T3BJbmZvV3JhcHBlcigpOwogICAgIH0KIAotICAgIHZvaWQgY29udmVydFRvTmV3UHJvbWlzZShS
ZWdpc3RlcmVkU3RydWN0dXJlIHN0cnVjdHVyZSkKKyAgICB2b2lkIGNvbnZlcnRUb05ld0ludGVy
bmFsRmllbGRPYmplY3QoUmVnaXN0ZXJlZFN0cnVjdHVyZSBzdHJ1Y3R1cmUpCiAgICAgewogICAg
ICAgICBBU1NFUlQobV9vcCA9PSBDcmVhdGVQcm9taXNlKTsKLSAgICAgICAgYm9vbCBpbnRlcm5h
bCA9IGlzSW50ZXJuYWxQcm9taXNlKCk7Ci0gICAgICAgIHNldE9wQW5kRGVmYXVsdEZsYWdzKE5l
d1Byb21pc2UpOworICAgICAgICBzZXRPcEFuZERlZmF1bHRGbGFncyhOZXdJbnRlcm5hbEZpZWxk
T2JqZWN0KTsKICAgICAgICAgY2hpbGRyZW4ucmVzZXQoKTsKICAgICAgICAgbV9vcEluZm8gPSBz
dHJ1Y3R1cmU7Ci0gICAgICAgIG1fb3BJbmZvMiA9IGludGVybmFsOworICAgICAgICBtX29wSW5m
bzIgPSBPcEluZm9XcmFwcGVyKCk7CiAgICAgfQogCi0gICAgdm9pZCBjb252ZXJ0VG9OZXdJbnRl
cm5hbEZpZWxkT2JqZWN0KE5vZGVUeXBlIG5ld09wLCBSZWdpc3RlcmVkU3RydWN0dXJlIHN0cnVj
dHVyZSkKKyAgICB2b2lkIGNvbnZlcnRUb05ld0ludGVybmFsRmllbGRPYmplY3RXaXRoSW5saW5l
RmllbGRzKE5vZGVUeXBlIG5ld09wLCBSZWdpc3RlcmVkU3RydWN0dXJlIHN0cnVjdHVyZSkKICAg
ICB7CiAgICAgICAgIEFTU0VSVChtX29wID09IENyZWF0ZUFzeW5jR2VuZXJhdG9yIHx8IG1fb3Ag
PT0gQ3JlYXRlR2VuZXJhdG9yKTsKICAgICAgICAgc2V0T3BBbmREZWZhdWx0RmxhZ3MobmV3T3Ap
OwpAQCAtMTMxMiw3ICsxMzExLDcgQEAgc3RydWN0IE5vZGUgewogCiAgICAgYm9vbCBoYXNJc0lu
dGVybmFsUHJvbWlzZSgpCiAgICAgewotICAgICAgICByZXR1cm4gb3AoKSA9PSBDcmVhdGVQcm9t
aXNlIHx8IG9wKCkgPT0gTmV3UHJvbWlzZTsKKyAgICAgICAgcmV0dXJuIG9wKCkgPT0gQ3JlYXRl
UHJvbWlzZTsKICAgICB9CiAKICAgICBib29sIGlzSW50ZXJuYWxQcm9taXNlKCkKQEAgLTE5ODEs
NyArMTk4MCw2IEBAIHN0cnVjdCBOb2RlIHsKICAgICAgICAgY2FzZSBBcnJheWlmeVRvU3RydWN0
dXJlOgogICAgICAgICBjYXNlIE1hdGVyaWFsaXplTmV3SW50ZXJuYWxGaWVsZE9iamVjdDoKICAg
ICAgICAgY2FzZSBOZXdPYmplY3Q6Ci0gICAgICAgIGNhc2UgTmV3UHJvbWlzZToKICAgICAgICAg
Y2FzZSBOZXdHZW5lcmF0b3I6CiAgICAgICAgIGNhc2UgTmV3QXN5bmNHZW5lcmF0b3I6CiAgICAg
ICAgIGNhc2UgTmV3SW50ZXJuYWxGaWVsZE9iamVjdDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHTm9kZVR5cGUuaAppbmRleCA5M2QxN2JlMzM5NmQyZGQ1MDgxN2E0ZWY2MTNkOTBiZmRhNDVi
Mzc2Li44MGM4YTI1NzgzOTM4MWViMTcyYmUxMTEyMjcxNmRkMjI1ZWYzYzY1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCkBAIC0zNTIsNyArMzUyLDYgQEAgbmFtZXNw
YWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogICAgIFwKICAgICAvKiBBbGxvY2F0aW9ucy4gKi9c
CiAgICAgbWFjcm8oTmV3T2JqZWN0LCBOb2RlUmVzdWx0SlMpIFwKLSAgICBtYWNybyhOZXdQcm9t
aXNlLCBOb2RlUmVzdWx0SlMpIFwKICAgICBtYWNybyhOZXdHZW5lcmF0b3IsIE5vZGVSZXN1bHRK
UykgXAogICAgIG1hY3JvKE5ld0FzeW5jR2VuZXJhdG9yLCBOb2RlUmVzdWx0SlMpIFwKICAgICBt
YWNybyhOZXdBcnJheSwgTm9kZVJlc3VsdEpTIHwgTm9kZUhhc1ZhckFyZ3MpIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQ
aGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09iamVjdEFsbG9jYXRpb25T
aW5raW5nUGhhc2UuY3BwCmluZGV4IGZlZTUwMGVhMmE5OGFkNTdmOWQ3ZmYwNmIwYjczNzg2NGRi
YzNiYmEuLjA5YWFmYjNjY2JlN2QxOWMwYTFhMDQ1N2JiNjVkMzYwZjUzYjg5M2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQ
aGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPYmplY3RBbGxvY2F0
aW9uU2lua2luZ1BoYXNlLmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIkRGR1ZhbGlk
YXRlLmgiCiAjaW5jbHVkZSAiSlNBcnJheUl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5l
cy5oIgorI2luY2x1ZGUgIkpTSW50ZXJuYWxQcm9taXNlLmgiCiAjaW5jbHVkZSAiSlNNYXBJdGVy
YXRvci5oIgogI2luY2x1ZGUgIkpTU2V0SXRlcmF0b3IuaCIKICNpbmNsdWRlIDx3dGYvU3RkTGlz
dC5oPgpAQCAtOTc0LDYgKzk3NSwxNCBAQCBjbGFzcyBPYmplY3RBbGxvY2F0aW9uU2lua2luZ1Bo
YXNlIDogcHVibGljIFBoYXNlIHsKICAgICAgICAgICAgIGNhc2UgSlNTZXRJdGVyYXRvclR5cGU6
CiAgICAgICAgICAgICAgICAgdGFyZ2V0ID0gaGFuZGxlSW50ZXJuYWxGaWVsZENsYXNzPEpTU2V0
SXRlcmF0b3I+KG5vZGUsIHdyaXRlcyk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICBjYXNlIEpTUHJvbWlzZVR5cGU6CisgICAgICAgICAgICAgICAgaWYgKG5vZGUtPnN0cnVj
dHVyZSgpLT5jbGFzc0luZm8oKSA9PSBKU0ludGVybmFsUHJvbWlzZTo6aW5mbygpKQorICAgICAg
ICAgICAgICAgICAgICB0YXJnZXQgPSBoYW5kbGVJbnRlcm5hbEZpZWxkQ2xhc3M8SlNJbnRlcm5h
bFByb21pc2U+KG5vZGUsIHdyaXRlcyk7CisgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAg
ICAgICAgICAgICAgIEFTU0VSVChub2RlLT5zdHJ1Y3R1cmUoKS0+Y2xhc3NJbmZvKCkgPT0gSlNQ
cm9taXNlOjppbmZvKCkpOworICAgICAgICAgICAgICAgICAgICB0YXJnZXQgPSBoYW5kbGVJbnRl
cm5hbEZpZWxkQ2xhc3M8SlNQcm9taXNlPihub2RlLCB3cml0ZXMpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAg
ICAgICAgICAgREZHX0NSQVNIKG1fZ3JhcGgsIG5vZGUsICJCYWQgc3RydWN0dXJlIik7CiAgICAg
ICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRp
Y3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
UHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCmluZGV4IGZlNDljMzEzMDM2OTFiNmJmMjRj
YTllYWI4NTJhZTEzOGJlNjZmMTIuLjA3ZmI4ZDdkMWM5YjYzZWZiNDE0Y2Y3NmMwY2YxNWI0N2Zj
MzIwYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlv
blByb3BhZ2F0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
UHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCkBAIC0xMDUzLDcgKzEwNTMsNiBAQCBjbGFz
cyBQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZSA6IHB1YmxpYyBQaGFzZSB7CiAgICAgICAgIH0K
IAogICAgICAgICBjYXNlIENyZWF0ZVByb21pc2U6Ci0gICAgICAgIGNhc2UgTmV3UHJvbWlzZToK
ICAgICAgICAgICAgIHNldFByZWRpY3Rpb24oU3BlY1Byb21pc2VPYmplY3QpOwogICAgICAgICAg
ICAgYnJlYWs7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2Fm
ZVRvRXhlY3V0ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRl
LmgKaW5kZXggOGVjZDM1MzFmYzMwZTI1YzA2ZWFhODg2MmJmM2ZiMzM4NWRjZGM2OS4uOTkzNjI5
NjYyNmM0M2Y5NmIxOWE1Yzk2ZTk4NWNiNzA1OThmZTU0YiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKQEAgLTU0Miw3ICs1NDIsNiBAQCBib29sIHNh
ZmVUb0V4ZWN1dGUoQWJzdHJhY3RTdGF0ZVR5cGUmIHN0YXRlLCBHcmFwaCYgZ3JhcGgsIE5vZGUq
IG5vZGUsIGJvb2wgaWdubwogICAgIGNhc2UgQ2FsbEZvcndhcmRWYXJhcmdzOgogICAgIGNhc2Ug
Q29uc3RydWN0Rm9yd2FyZFZhcmFyZ3M6CiAgICAgY2FzZSBOZXdPYmplY3Q6Ci0gICAgY2FzZSBO
ZXdQcm9taXNlOgogICAgIGNhc2UgTmV3R2VuZXJhdG9yOgogICAgIGNhc2UgTmV3QXN5bmNHZW5l
cmF0b3I6CiAgICAgY2FzZSBOZXdBcnJheToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggNjE4ZDk5ODhiMGUyOWI1ZTc0ODk4NDU5Mzc3
OGE1MmVlN2VjZDcxMC4uMDZkYTFhNjNjMTc4NWY3MTE1OGM0MmIyYTgzZGI3Njk4MWY4NmNiNCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAK
QEAgLTEyOTQ4LDMzICsxMjk0OCw2IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVOZXdP
YmplY3QoTm9kZSogbm9kZSkKICAgICBjZWxsUmVzdWx0KHJlc3VsdEdQUiwgbm9kZSk7CiB9CiAK
LXZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVOZXdQcm9taXNlKE5vZGUqIG5vZGUpCi17Ci0g
ICAgR1BSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzKTsKLSAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDEo
dGhpcyk7Ci0gICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gyKHRoaXMpOwotCi0gICAgR1BSUmVnIHJl
c3VsdEdQUiA9IHJlc3VsdC5ncHIoKTsKLSAgICBHUFJSZWcgc2NyYXRjaDFHUFIgPSBzY3JhdGNo
MS5ncHIoKTsKLSAgICBHUFJSZWcgc2NyYXRjaDJHUFIgPSBzY3JhdGNoMi5ncHIoKTsKLQotICAg
IE1hY3JvQXNzZW1ibGVyOjpKdW1wTGlzdCBzbG93Q2FzZXM7Ci0KLSAgICBGcm96ZW5WYWx1ZSog
c3RydWN0dXJlID0gbV9ncmFwaC5mcmVlemVTdHJvbmcobm9kZS0+c3RydWN0dXJlKCkuZ2V0KCkp
OwotICAgIGF1dG8gYnV0dGVyZmx5ID0gVHJ1c3RlZEltbVB0cihudWxscHRyKTsKLSAgICBpZiAo
bm9kZS0+aXNJbnRlcm5hbFByb21pc2UoKSkKLSAgICAgICAgZW1pdEFsbG9jYXRlSlNPYmplY3RX
aXRoS25vd25TaXplPEpTSW50ZXJuYWxQcm9taXNlPihyZXN1bHRHUFIsIFRydXN0ZWRJbW1QdHIo
c3RydWN0dXJlKSwgYnV0dGVyZmx5LCBzY3JhdGNoMUdQUiwgc2NyYXRjaDJHUFIsIHNsb3dDYXNl
cywgc2l6ZW9mKEpTSW50ZXJuYWxQcm9taXNlKSk7Ci0gICAgZWxzZQotICAgICAgICBlbWl0QWxs
b2NhdGVKU09iamVjdFdpdGhLbm93blNpemU8SlNQcm9taXNlPihyZXN1bHRHUFIsIFRydXN0ZWRJ
bW1QdHIoc3RydWN0dXJlKSwgYnV0dGVyZmx5LCBzY3JhdGNoMUdQUiwgc2NyYXRjaDJHUFIsIHNs
b3dDYXNlcywgc2l6ZW9mKEpTUHJvbWlzZSkpOwotICAgIG1faml0LnN0b3JlVHJ1c3RlZFZhbHVl
KGpzTnVtYmVyKHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU1Byb21pc2U6OlN0YXR1czo6UGVuZGlu
ZykpLCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MocmVzdWx0R1BSLCBKU0ludGVybmFsRmllbGRPYmpl
Y3RJbXBsPD46Om9mZnNldE9mSW50ZXJuYWxGaWVsZChzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNQ
cm9taXNlOjpGaWVsZDo6RmxhZ3MpKSkpOwotICAgIG1faml0LnN0b3JlVHJ1c3RlZFZhbHVlKGpz
VW5kZWZpbmVkKCksIENDYWxsSGVscGVyczo6QWRkcmVzcyhyZXN1bHRHUFIsIEpTSW50ZXJuYWxG
aWVsZE9iamVjdEltcGw8Pjo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxkKHN0YXRpY19jYXN0PHVuc2ln
bmVkPihKU1Byb21pc2U6OkZpZWxkOjpSZWFjdGlvbnNPclJlc3VsdCkpKSk7Ci0gICAgbV9qaXQu
bXV0YXRvckZlbmNlKG1faml0LnZtKCkpOwotCi0gICAgYWRkU2xvd1BhdGhHZW5lcmF0b3Ioc2xv
d1BhdGhDYWxsKHNsb3dDYXNlcywgdGhpcywgbm9kZS0+aXNJbnRlcm5hbFByb21pc2UoKSA/IG9w
ZXJhdGlvbk5ld0ludGVybmFsUHJvbWlzZSA6IG9wZXJhdGlvbk5ld1Byb21pc2UsIHJlc3VsdEdQ
UiwgVHJ1c3RlZEltbVB0cigmdm0oKSksIFRydXN0ZWRJbW1QdHIoc3RydWN0dXJlKSkpOwotCi0g
ICAgY2VsbFJlc3VsdChyZXN1bHRHUFIsIG5vZGUpOwotfQotCiB0ZW1wbGF0ZTx0eXBlbmFtZSBK
U0NsYXNzLCB0eXBlbmFtZSBPcGVyYXRpb24+CiB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
TmV3SW50ZXJuYWxGaWVsZE9iamVjdEltcGwoTm9kZSogbm9kZSwgT3BlcmF0aW9uIG9wZXJhdGlv
bikKIHsKQEAgLTEzMDI0LDYgKzEyOTk3LDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVOZXdJbnRlcm5hbEZpZWxkT2JqZWN0KE5vZGUqIG5vZGUpCiAgICAgY2FzZSBKU1NldEl0ZXJh
dG9yVHlwZToKICAgICAgICAgY29tcGlsZU5ld0ludGVybmFsRmllbGRPYmplY3RJbXBsPEpTU2V0
SXRlcmF0b3I+KG5vZGUsIG9wZXJhdGlvbk5ld1NldEl0ZXJhdG9yKTsKICAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBKU1Byb21pc2VUeXBlOiB7CisgICAgICAgIGlmIChub2RlLT5zdHJ1Y3R1cmUo
KS0+Y2xhc3NJbmZvKCkgPT0gSlNJbnRlcm5hbFByb21pc2U6OmluZm8oKSkKKyAgICAgICAgICAg
IGNvbXBpbGVOZXdJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDxKU0ludGVybmFsUHJvbWlzZT4obm9k
ZSwgb3BlcmF0aW9uTmV3SW50ZXJuYWxQcm9taXNlKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAg
ICAgICBBU1NFUlQobm9kZS0+c3RydWN0dXJlKCktPmNsYXNzSW5mbygpID09IEpTUHJvbWlzZTo6
aW5mbygpKTsKKyAgICAgICAgICAgIGNvbXBpbGVOZXdJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDxK
U1Byb21pc2U+KG5vZGUsIG9wZXJhdGlvbk5ld1Byb21pc2UpOworICAgICAgICB9CisgICAgICAg
IGJyZWFrOworICAgIH0KICAgICBkZWZhdWx0OgogICAgICAgICBERkdfQ1JBU0gobV9ncmFwaCwg
bm9kZSwgIkJhZCBzdHJ1Y3R1cmUiKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKaW5kZXggZjc1MzU4OTQ1ZWFiYTBmYmM0NTE5ZWYwZDky
MmFiMjdiZGRkOTU5Mi4uZDYzYWIyZWQ2ZTQzMDdmZTdlYmU2NjVlOTc2ZDFkOWI5ODI5NjY5OSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaApAQCAt
MTQ1OSw3ICsxNDU5LDYgQEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAgIHZvaWQgY29tcGls
ZUNyZWF0ZUdlbmVyYXRvcihOb2RlKik7CiAgICAgdm9pZCBjb21waWxlQ3JlYXRlQXN5bmNHZW5l
cmF0b3IoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZU5ld09iamVjdChOb2RlKik7Ci0gICAgdm9p
ZCBjb21waWxlTmV3UHJvbWlzZShOb2RlKik7CiAgICAgdm9pZCBjb21waWxlTmV3R2VuZXJhdG9y
KE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVOZXdBc3luY0dlbmVyYXRvcihOb2RlKik7CiAgICAg
dm9pZCBjb21waWxlTmV3SW50ZXJuYWxGaWVsZE9iamVjdChOb2RlKik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAppbmRleCA2
MjVjYTBlYTZkNzI0NGZmOGM3MjQzNjkwZWQ5NTgwYTQyNzE1NWE2Li42NjExYmM5NmQyMDMzYzI4
YTc3YzQwZDZkZDgwMzhiMzVhZjg3NzA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKQEAgLTMyNDYsMTEgKzMyNDYsNiBA
QCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGJyZWFr
OwogICAgIH0KIAotICAgIGNhc2UgTmV3UHJvbWlzZTogewotICAgICAgICBjb21waWxlTmV3UHJv
bWlzZShub2RlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCiAgICAgY2FzZSBOZXdHZW5lcmF0
b3I6IHsKICAgICAgICAgY29tcGlsZU5ld0dlbmVyYXRvcihub2RlKTsKICAgICAgICAgYnJlYWs7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
NjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNw
cAppbmRleCAxZTYwMmE3NTgxMjQ5MWU5YTRlMjg3NWM2MDg4ZTZhOGIwNDY5OTc2Li43MDBhNWY1
Njc2NjQ0YWZkYzM1ODhmMjc4MWM0ZDFmMTczMzgwNzMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKQEAgLTM1NzUsMTEgKzM1NzUs
NiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGJy
ZWFrOwogICAgIH0KIAotICAgIGNhc2UgTmV3UHJvbWlzZTogewotICAgICAgICBjb21waWxlTmV3
UHJvbWlzZShub2RlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCiAgICAgY2FzZSBOZXdHZW5l
cmF0b3I6IHsKICAgICAgICAgY29tcGlsZU5ld0dlbmVyYXRvcihub2RlKTsKICAgICAgICAgYnJl
YWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0b3JlQmFycmll
ckluc2VydGlvblBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RvcmVC
YXJyaWVySW5zZXJ0aW9uUGhhc2UuY3BwCmluZGV4IDliOWViMzdhMDNmYTdiMDk0MmQzY2ZhZDY2
MjM0MDVkZDhjNzg0YzguLjA3MTUzYjhlNDcxMmY2ODI5YjZlYmM2MzIxNzQ2NmY4M2Q0NmMxYzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RvcmVCYXJyaWVySW5z
ZXJ0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RvcmVC
YXJyaWVySW5zZXJ0aW9uUGhhc2UuY3BwCkBAIC0zMzIsNyArMzMyLDYgQEAgY2xhc3MgU3RvcmVC
YXJyaWVySW5zZXJ0aW9uUGhhc2UgOiBwdWJsaWMgUGhhc2UgewogICAgICAgICAgICAgCiAgICAg
ICAgICAgICBzd2l0Y2ggKG1fbm9kZS0+b3AoKSkgewogICAgICAgICAgICAgY2FzZSBOZXdPYmpl
Y3Q6Ci0gICAgICAgICAgICBjYXNlIE5ld1Byb21pc2U6CiAgICAgICAgICAgICBjYXNlIE5ld0dl
bmVyYXRvcjoKICAgICAgICAgICAgIGNhc2UgTmV3QXN5bmNHZW5lcmF0b3I6CiAgICAgICAgICAg
ICBjYXNlIE5ld0FycmF5OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmls
aXRpZXMuY3BwCmluZGV4IDQ4OWIwNmQ1OGViYWY4ZmQyNjYzYmJmNzE0YTA0YTY3NmE4NDk1NzIu
LjI2M2NlZDcyYzM4NjgwZWYwYzljMDJiYzMzYTVlYWU2NjU3ZWRhN2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKQEAgLTc0LDcgKzc0LDYgQEAg
aW5saW5lIENhcGFiaWxpdHlMZXZlbCBjYW5Db21waWxlKE5vZGUqIG5vZGUpCiAgICAgY2FzZSBQ
dXRTdHJ1Y3R1cmU6CiAgICAgY2FzZSBHZXRCdXR0ZXJmbHk6CiAgICAgY2FzZSBOZXdPYmplY3Q6
Ci0gICAgY2FzZSBOZXdQcm9taXNlOgogICAgIGNhc2UgTmV3R2VuZXJhdG9yOgogICAgIGNhc2Ug
TmV3QXN5bmNHZW5lcmF0b3I6CiAgICAgY2FzZSBOZXdTdHJpbmdPYmplY3Q6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKaW5kZXggOThkMmEwZWFlYTI1
OWFlZDA3MzkwYzg5NTY3MWZmYjg3Nzk3MDY4Ny4uNWMwNjYwZDRhMzgxZTYyYWVmYzk4Y2UwYjVj
ODk3NDM2YzkxYmNlMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
b3dlckRGR1RvQjMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJE
RkdUb0IzLmNwcApAQCAtODQsNiArODQsNyBAQAogI2luY2x1ZGUgIkpTR2VuZXJhdG9yLmgiCiAj
aW5jbHVkZSAiSlNHZW5lcmF0b3JGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTSW1tdXRhYmxlQnV0
dGVyZmx5LmgiCisjaW5jbHVkZSAiSlNJbnRlcm5hbFByb21pc2UuaCIKICNpbmNsdWRlICJKU0xl
eGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkpTTWFwLmgiCiAjaW5jbHVkZSAiSlNNYXBJ
dGVyYXRvci5oIgpAQCAtMTA2NSw5ICsxMDY2LDYgQEAgY2xhc3MgTG93ZXJERkdUb0IzIHsKICAg
ICAgICAgY2FzZSBOZXdPYmplY3Q6CiAgICAgICAgICAgICBjb21waWxlTmV3T2JqZWN0KCk7CiAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBOZXdQcm9taXNlOgotICAgICAgICAgICAg
Y29tcGlsZU5ld1Byb21pc2UoKTsKLSAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIE5l
d0dlbmVyYXRvcjoKICAgICAgICAgICAgIGNvbXBpbGVOZXdHZW5lcmF0b3IoKTsKICAgICAgICAg
ICAgIGJyZWFrOwpAQCAtNjM1MCwzMiArNjM0OCw2IEBAIGNsYXNzIExvd2VyREZHVG9CMyB7CiAg
ICAgICAgIG11dGF0b3JGZW5jZSgpOwogICAgIH0KIAotICAgIHZvaWQgY29tcGlsZU5ld1Byb21p
c2UoKQotICAgIHsKLSAgICAgICAgTEJhc2ljQmxvY2sgc2xvd0Nhc2UgPSBtX291dC5uZXdCbG9j
aygpOwotICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygp
OwotCi0gICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuaW5zZXJ0TmV3QmxvY2tz
QmVmb3JlKHNsb3dDYXNlKTsKLQotICAgICAgICBMVmFsdWUgcHJvbWlzZTsKLSAgICAgICAgaWYg
KG1fbm9kZS0+aXNJbnRlcm5hbFByb21pc2UoKSkKLSAgICAgICAgICAgIHByb21pc2UgPSBhbGxv
Y2F0ZU9iamVjdDxKU0ludGVybmFsUHJvbWlzZT4obV9ub2RlLT5zdHJ1Y3R1cmUoKSwgbV9vdXQu
aW50UHRyWmVybywgc2xvd0Nhc2UpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBwcm9taXNl
ID0gYWxsb2NhdGVPYmplY3Q8SlNQcm9taXNlPihtX25vZGUtPnN0cnVjdHVyZSgpLCBtX291dC5p
bnRQdHJaZXJvLCBzbG93Q2FzZSk7Ci0gICAgICAgIG1fb3V0LnN0b3JlNjQobV9vdXQuY29uc3RJ
bnQ2NChKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTUHJv
bWlzZTo6U3RhdHVzOjpQZW5kaW5nKSkpKSwgcHJvbWlzZSwgbV9oZWFwcy5KU0ludGVybmFsRmll
bGRPYmplY3RJbXBsX2ludGVybmFsRmllbGRzW3N0YXRpY19jYXN0PHVuc2lnbmVkPihKU1Byb21p
c2U6OkZpZWxkOjpGbGFncyldKTsKLSAgICAgICAgbV9vdXQuc3RvcmU2NChtX291dC5jb25zdElu
dDY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSksIHByb21pc2UsIG1faGVhcHMuSlNJ
bnRlcm5hbEZpZWxkT2JqZWN0SW1wbF9pbnRlcm5hbEZpZWxkc1tzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oSlNQcm9taXNlOjpGaWVsZDo6UmVhY3Rpb25zT3JSZXN1bHQpXSk7Ci0gICAgICAgIG11dGF0
b3JGZW5jZSgpOwotICAgICAgICBWYWx1ZUZyb21CbG9jayBmYXN0UmVzdWx0ID0gbV9vdXQuYW5j
aG9yKHByb21pc2UpOwotICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7Ci0KLSAgICAg
ICAgbV9vdXQuYXBwZW5kVG8oc2xvd0Nhc2UsIGNvbnRpbnVhdGlvbik7Ci0gICAgICAgIFZhbHVl
RnJvbUJsb2NrIHNsb3dSZXN1bHQgPSBtX291dC5hbmNob3Iodm1DYWxsKHBvaW50ZXJUeXBlKCks
IG1fbm9kZS0+aXNJbnRlcm5hbFByb21pc2UoKSA/IG9wZXJhdGlvbk5ld0ludGVybmFsUHJvbWlz
ZSA6IG9wZXJhdGlvbk5ld1Byb21pc2UsIG1fdm1WYWx1ZSwgZnJvemVuUG9pbnRlcihtX2dyYXBo
LmZyZWV6ZVN0cm9uZyhtX25vZGUtPnN0cnVjdHVyZSgpLmdldCgpKSkpKTsKLSAgICAgICAgbV9v
dXQuanVtcChjb250aW51YXRpb24pOwotCi0gICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbnRpbnVh
dGlvbiwgbGFzdE5leHQpOwotICAgICAgICBzZXRKU1ZhbHVlKG1fb3V0LnBoaShwb2ludGVyVHlw
ZSgpLCBmYXN0UmVzdWx0LCBzbG93UmVzdWx0KSk7Ci0gICAgfQotCiAgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgSlNDbGFzcywgdHlwZW5hbWUgT3BlcmF0aW9uPgogICAgIHZvaWQgY29tcGlsZU5ld0lu
dGVybmFsRmllbGRPYmplY3RJbXBsKE9wZXJhdGlvbiBvcGVyYXRpb24pCiAgICAgewpAQCAtNjQy
Myw2ICs2Mzk1LDE0IEBAIGNsYXNzIExvd2VyREZHVG9CMyB7CiAgICAgICAgIGNhc2UgSlNTZXRJ
dGVyYXRvclR5cGU6CiAgICAgICAgICAgICBjb21waWxlTmV3SW50ZXJuYWxGaWVsZE9iamVjdElt
cGw8SlNTZXRJdGVyYXRvcj4ob3BlcmF0aW9uTmV3U2V0SXRlcmF0b3IpOwogICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIGNhc2UgSlNQcm9taXNlVHlwZToKKyAgICAgICAgICAgIGlmIChtX25v
ZGUtPnN0cnVjdHVyZSgpLT5jbGFzc0luZm8oKSA9PSBKU0ludGVybmFsUHJvbWlzZTo6aW5mbygp
KQorICAgICAgICAgICAgICAgIGNvbXBpbGVOZXdJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDxKU0lu
dGVybmFsUHJvbWlzZT4ob3BlcmF0aW9uTmV3SW50ZXJuYWxQcm9taXNlKTsKKyAgICAgICAgICAg
IGVsc2UgeworICAgICAgICAgICAgICAgIEFTU0VSVChtX25vZGUtPnN0cnVjdHVyZSgpLT5jbGFz
c0luZm8oKSA9PSBKU1Byb21pc2U6OmluZm8oKSk7CisgICAgICAgICAgICAgICAgY29tcGlsZU5l
d0ludGVybmFsRmllbGRPYmplY3RJbXBsPEpTUHJvbWlzZT4ob3BlcmF0aW9uTmV3UHJvbWlzZSk7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAg
ICAgICAgICAgIERGR19DUkFTSChtX2dyYXBoLCBtX25vZGUsICJCYWQgc3RydWN0dXJlIik7CiAg
ICAgICAgIH0KQEAgLTEyNDY5LDYgKzEyNDQ5LDE0IEBAIGNsYXNzIExvd2VyREZHVG9CMyB7CiAg
ICAgICAgIGNhc2UgSlNTZXRJdGVyYXRvclR5cGU6CiAgICAgICAgICAgICBjb21waWxlTWF0ZXJp
YWxpemVOZXdJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDxKU1NldEl0ZXJhdG9yPihvcGVyYXRpb25O
ZXdTZXRJdGVyYXRvcik7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBKU1Byb21p
c2VUeXBlOgorICAgICAgICAgICAgaWYgKG1fbm9kZS0+c3RydWN0dXJlKCktPmNsYXNzSW5mbygp
ID09IEpTSW50ZXJuYWxQcm9taXNlOjppbmZvKCkpCisgICAgICAgICAgICAgICAgY29tcGlsZU1h
dGVyaWFsaXplTmV3SW50ZXJuYWxGaWVsZE9iamVjdEltcGw8SlNJbnRlcm5hbFByb21pc2U+KG9w
ZXJhdGlvbk5ld0ludGVybmFsUHJvbWlzZSk7CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAg
ICAgICAgICBBU1NFUlQobV9ub2RlLT5zdHJ1Y3R1cmUoKS0+Y2xhc3NJbmZvKCkgPT0gSlNQcm9t
aXNlOjppbmZvKCkpOworICAgICAgICAgICAgICAgIGNvbXBpbGVNYXRlcmlhbGl6ZU5ld0ludGVy
bmFsRmllbGRPYmplY3RJbXBsPEpTUHJvbWlzZT4ob3BlcmF0aW9uTmV3UHJvbWlzZSk7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAg
ICAgIERGR19DUkFTSChtX2dyYXBoLCBtX25vZGUsICJCYWQgc3RydWN0dXJlIik7CiAgICAgICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9wZXJhdGlvbnMuY3BwCmluZGV4IDE3
M2ZiMmIyYzMyMjY4MjIzMjNiOTAzMzc2MjliNjkxNDJlN2FlODQuLmIzMzkzNzllNjZiNzYwYzQw
N2ViNDg0N2Y3MTZhZmYzZmQ3MjA3YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExPcGVyYXRpb25zLmNwcApAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIkpTQ0lubGluZXMu
aCIKICNpbmNsdWRlICJKU0dlbmVyYXRvckZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNJbW11dGFi
bGVCdXR0ZXJmbHkuaCIKKyNpbmNsdWRlICJKU0ludGVybmFsUHJvbWlzZS5oIgogI2luY2x1ZGUg
IkpTTGV4aWNhbEVudmlyb25tZW50LmgiCiAjaW5jbHVkZSAiSlNNYXBJdGVyYXRvci5oIgogI2lu
Y2x1ZGUgIkpTU2V0SXRlcmF0b3IuaCIKQEAgLTE0NCw2ICsxNDUsMTQgQEAgZXh0ZXJuICJDIiB2
b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUG9wdWxhdGVPYmplY3RJbk9TUihKU0dsb2JhbE9i
amVjdCogZ2xvYmEKICAgICAgICAgY2FzZSBKU1NldEl0ZXJhdG9yVHlwZToKICAgICAgICAgICAg
IG1hdGVyaWFsaXplKGpzQ2FzdDxKU1NldEl0ZXJhdG9yKj4odGFyZ2V0KSk7CiAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgY2FzZSBKU1Byb21pc2VUeXBlOgorICAgICAgICAgICAgaWYgKHRh
cmdldC0+Y2xhc3NJbmZvKHZtKSA9PSBKU0ludGVybmFsUHJvbWlzZTo6aW5mbygpKQorICAgICAg
ICAgICAgICAgIG1hdGVyaWFsaXplKGpzQ2FzdDxKU0ludGVybmFsUHJvbWlzZSo+KHRhcmdldCkp
OworICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKHRhcmdldC0+Y2xh
c3NJbmZvKHZtKSA9PSBKU1Byb21pc2U6OmluZm8oKSk7CisgICAgICAgICAgICAgICAgbWF0ZXJp
YWxpemUoanNDYXN0PEpTUHJvbWlzZSo+KHRhcmdldCkpOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VS
VF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0zNDQsNiArMzUzLDE3IEBA
IGV4dGVybiAiQyIgSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk1hdGVyaWFsaXplT2Jq
ZWN0SW5PU1IoSlNHbG9iYWxPYmplY3QqCiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChtYXRl
cmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKS5zaXplKCkgLSAxID09IEpTU2V0SXRlcmF0b3I6Om51
bWJlck9mSW50ZXJuYWxGaWVsZHMpOwogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAg
ICAgfQorICAgICAgICBjYXNlIEpTUHJvbWlzZVR5cGU6IHsKKyAgICAgICAgICAgIGlmIChzdHJ1
Y3R1cmUtPmNsYXNzSW5mbygpID09IEpTSW50ZXJuYWxQcm9taXNlOjppbmZvKCkpIHsKKyAgICAg
ICAgICAgICAgICBKU0ludGVybmFsUHJvbWlzZSogcmVzdWx0ID0gSlNJbnRlcm5hbFByb21pc2U6
OmNyZWF0ZVdpdGhJbml0aWFsVmFsdWVzKHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgICAg
IFJFTEVBU0VfQVNTRVJUKG1hdGVyaWFsaXphdGlvbi0+cHJvcGVydGllcygpLnNpemUoKSAtIDEg
PT0gSlNJbnRlcm5hbFByb21pc2U6Om51bWJlck9mSW50ZXJuYWxGaWVsZHMpOworICAgICAgICAg
ICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBBU1NFUlQo
c3RydWN0dXJlLT5jbGFzc0luZm8oKSA9PSBKU1Byb21pc2U6OmluZm8oKSk7CisgICAgICAgICAg
ICBKU1Byb21pc2UqIHJlc3VsdCA9IEpTUHJvbWlzZTo6Y3JlYXRlV2l0aEluaXRpYWxWYWx1ZXMo
dm0sIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChtYXRlcmlhbGl6YXRp
b24tPnByb3BlcnRpZXMoKS5zaXplKCkgLSAxID09IEpTUHJvbWlzZTo6bnVtYmVyT2ZJbnRlcm5h
bEZpZWxkcyk7CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICB9CiAgICAgICAg
IGRlZmF1bHQ6CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAg
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0ludGVybmFsUHJvbWlzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0ludGVybmFsUHJvbWlzZS5jcHAKaW5kZXggZjhhZGJlOTgwYTJmZDU0OWZjNGUx
YjVjODY3YjM3NTg0ZDA1NDAxNi4uZTFmMGFiNTQ2NDJmNWEwNWI5MDY3Yjg5MzE3YmU1NjQ4NGRj
ZTM5MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNJbnRlcm5h
bFByb21pc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTSW50ZXJu
YWxQcm9taXNlLmNwcApAQCAtNDAsNiArNDAsMTEgQEAgSlNJbnRlcm5hbFByb21pc2UqIEpTSW50
ZXJuYWxQcm9taXNlOjpjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICBy
ZXR1cm4gcHJvbWlzZTsKIH0KIAorSlNJbnRlcm5hbFByb21pc2UqIEpTSW50ZXJuYWxQcm9taXNl
OjpjcmVhdGVXaXRoSW5pdGlhbFZhbHVlcyhWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQor
eworICAgIHJldHVybiBjcmVhdGUodm0sIHN0cnVjdHVyZSk7Cit9CisKIFN0cnVjdHVyZSogSlNJ
bnRlcm5hbFByb21pc2U6OmNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG90eXBlKQogewogICAgIHJldHVybiBTdHJ1Y3R1cmU6
OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEpTUHJvbWlzZVR5
cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTSW50ZXJuYWxQcm9taXNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0ludGVybmFsUHJvbWlzZS5oCmluZGV4IDhlN2RmNWUwYjMzOWExZmFjNDg1
NGM5N2QxNTE0MjY2MGQ4MDc4NDUuLmQ3MGZkMzM4Mjg1YTk0NGFkYzJhMjYwNmNlZTk0MGFkY2Zk
MWFkZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTSW50ZXJu
YWxQcm9taXNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNJbnRlcm5h
bFByb21pc2UuaApAQCAtNDQsNiArNDQsNyBAQCBjbGFzcyBKU0ludGVybmFsUHJvbWlzZSBmaW5h
bCA6IHB1YmxpYyBKU1Byb21pc2UgewogICAgIHR5cGVkZWYgSlNQcm9taXNlIEJhc2U7CiAKICAg
ICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgSlNJbnRlcm5hbFByb21pc2UqIGNyZWF0ZShWTSYs
IFN0cnVjdHVyZSopOworICAgIHN0YXRpYyBKU0ludGVybmFsUHJvbWlzZSogY3JlYXRlV2l0aElu
aXRpYWxWYWx1ZXMoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVh
dGVTdHJ1Y3R1cmUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUpOwogCiAgICAgREVDTEFS
RV9FWFBPUlRfSU5GTzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTUHJvbWlzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21pc2Uu
Y3BwCmluZGV4IGZlNTMwOTU1YjBiOTNmZmUxYTg5ZWNkOThmNGI0ZTJiNGI3YzQ1NGEuLjA5YzM2
ZTVkZTI5NzBiYTA3NzEwODJhNjExZDRjNzE3ZWE4ZTM2NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlLmNwcApAQCAtNDUsNiArNDUsMTEgQEAgSlNQcm9taXNl
KiBKU1Byb21pc2U6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIHJl
dHVybiBwcm9taXNlOwogfQogCitKU1Byb21pc2UqIEpTUHJvbWlzZTo6Y3JlYXRlV2l0aEluaXRp
YWxWYWx1ZXMoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK3sKKyAgICByZXR1cm4gY3Jl
YXRlKHZtLCBzdHJ1Y3R1cmUpOworfQorCiBTdHJ1Y3R1cmUqIEpTUHJvbWlzZTo6Y3JlYXRlU3Ry
dWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90
b3R5cGUpCiB7CiAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3Qs
IHByb3RvdHlwZSwgVHlwZUluZm8oSlNQcm9taXNlVHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZv
KCkpOwpAQCAtNTgsOCArNjMsOSBAQCBKU1Byb21pc2U6OkpTUHJvbWlzZShWTSYgdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlKQogdm9pZCBKU1Byb21pc2U6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkK
IHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7Ci0gICAgaW50ZXJuYWxGaWVsZChzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oRmllbGQ6OkZsYWdzKSkuc2V0KHZtLCB0aGlzLCBqc051bWJlcihz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oU3RhdHVzOjpQZW5kaW5nKSkpOwotICAgIGludGVybmFsRmll
bGQoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEZpZWxkOjpSZWFjdGlvbnNPclJlc3VsdCkpLnNldCh2
bSwgdGhpcywganNVbmRlZmluZWQoKSk7CisgICAgYXV0byB2YWx1ZXMgPSBpbml0aWFsVmFsdWVz
KCk7CisgICAgZm9yICh1bnNpZ25lZCBpbmRleCA9IDA7IGluZGV4IDwgdmFsdWVzLnNpemUoKTsg
KytpbmRleCkKKyAgICAgICAgQmFzZTo6aW50ZXJuYWxGaWVsZChpbmRleCkuc2V0KHZtLCB0aGlz
LCB2YWx1ZXNbaW5kZXhdKTsKIH0KIAogdm9pZCBKU1Byb21pc2U6OnZpc2l0Q2hpbGRyZW4oSlND
ZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKQEAgLTcxLDcgKzc3LDcgQEAgdm9pZCBK
U1Byb21pc2U6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRv
cikKIAogYXV0byBKU1Byb21pc2U6OnN0YXR1cyhWTSYpIGNvbnN0IC0+IFN0YXR1cwogewotICAg
IEpTVmFsdWUgdmFsdWUgPSBpbnRlcm5hbEZpZWxkKHN0YXRpY19jYXN0PHVuc2lnbmVkPihGaWVs
ZDo6RmxhZ3MpKS5nZXQoKTsKKyAgICBKU1ZhbHVlIHZhbHVlID0gaW50ZXJuYWxGaWVsZChGaWVs
ZDo6RmxhZ3MpLmdldCgpOwogICAgIHVpbnQzMl90IGZsYWdzID0gdmFsdWUuYXNVSW50MzJBc0Fu
eUludCgpOwogICAgIHJldHVybiBzdGF0aWNfY2FzdDxTdGF0dXM+KGZsYWdzICYgc3RhdGVNYXNr
KTsKIH0KQEAgLTgxLDEyICs4NywxMiBAQCBKU1ZhbHVlIEpTUHJvbWlzZTo6cmVzdWx0KFZNJiB2
bSkgY29uc3QKICAgICBTdGF0dXMgc3RhdHVzID0gdGhpcy0+c3RhdHVzKHZtKTsKICAgICBpZiAo
c3RhdHVzID09IFN0YXR1czo6UGVuZGluZykKICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7
Ci0gICAgcmV0dXJuIGludGVybmFsRmllbGQoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEZpZWxkOjpS
ZWFjdGlvbnNPclJlc3VsdCkpLmdldCgpOworICAgIHJldHVybiBpbnRlcm5hbEZpZWxkKEZpZWxk
OjpSZWFjdGlvbnNPclJlc3VsdCkuZ2V0KCk7CiB9CiAKIHVpbnQzMl90IEpTUHJvbWlzZTo6Zmxh
Z3MoKSBjb25zdAogewotICAgIEpTVmFsdWUgdmFsdWUgPSBpbnRlcm5hbEZpZWxkKHN0YXRpY19j
YXN0PHVuc2lnbmVkPihGaWVsZDo6RmxhZ3MpKS5nZXQoKTsKKyAgICBKU1ZhbHVlIHZhbHVlID0g
aW50ZXJuYWxGaWVsZChGaWVsZDo6RmxhZ3MpLmdldCgpOwogICAgIHJldHVybiB2YWx1ZS5hc1VJ
bnQzMkFzQW55SW50KCk7CiB9CiAKQEAgLTE2MCw3ICsxNjYsNyBAQCB2b2lkIEpTUHJvbWlzZTo6
cmVzb2x2ZShKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNWYWx1ZSB2YWx1
ZSkKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgdWludDMy
X3QgZmxhZ3MgPSB0aGlzLT5mbGFncygpOwogICAgIGlmICghKGZsYWdzICYgaXNGaXJzdFJlc29s
dmluZ0Z1bmN0aW9uQ2FsbGVkRmxhZykpIHsKLSAgICAgICAgaW50ZXJuYWxGaWVsZChzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oRmllbGQ6OkZsYWdzKSkuc2V0KHZtLCB0aGlzLCBqc051bWJlcihmbGFn
cyB8IGlzRmlyc3RSZXNvbHZpbmdGdW5jdGlvbkNhbGxlZEZsYWcpKTsKKyAgICAgICAgaW50ZXJu
YWxGaWVsZChGaWVsZDo6RmxhZ3MpLnNldCh2bSwgdGhpcywganNOdW1iZXIoZmxhZ3MgfCBpc0Zp
cnN0UmVzb2x2aW5nRnVuY3Rpb25DYWxsZWRGbGFnKSk7CiAgICAgICAgIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3Qodm0pOwogICAgICAgICBjYWxsRnVu
Y3Rpb24obGV4aWNhbEdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5yZXNvbHZlUHJvbWlzZUZ1
bmN0aW9uKCksIHRoaXMsIHZhbHVlKTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29w
ZSwgdm9pZCgpKTsKQEAgLTE3NCw3ICsxODAsNyBAQCB2b2lkIEpTUHJvbWlzZTo6cmVqZWN0KEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQogICAgIGF1
dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICB1aW50MzJfdCBmbGFncyA9
IHRoaXMtPmZsYWdzKCk7CiAgICAgaWYgKCEoZmxhZ3MgJiBpc0ZpcnN0UmVzb2x2aW5nRnVuY3Rp
b25DYWxsZWRGbGFnKSkgewotICAgICAgICBpbnRlcm5hbEZpZWxkKHN0YXRpY19jYXN0PHVuc2ln
bmVkPihGaWVsZDo6RmxhZ3MpKS5zZXQodm0sIHRoaXMsIGpzTnVtYmVyKGZsYWdzIHwgaXNGaXJz
dFJlc29sdmluZ0Z1bmN0aW9uQ2FsbGVkRmxhZykpOworICAgICAgICBpbnRlcm5hbEZpZWxkKEZp
ZWxkOjpGbGFncykuc2V0KHZtLCB0aGlzLCBqc051bWJlcihmbGFncyB8IGlzRmlyc3RSZXNvbHZp
bmdGdW5jdGlvbkNhbGxlZEZsYWcpKTsKICAgICAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCh2bSk7CiAgICAgICAgIGNhbGxGdW5jdGlvbihsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnJlamVjdFByb21pc2VGdW5jdGlvbigpLCB0
aGlzLCB2YWx1ZSk7CiAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7
CkBAIC0xODgsNyArMTk0LDcgQEAgdm9pZCBKU1Byb21pc2U6OnJlamVjdEFzSGFuZGxlZChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNWYWx1ZSB2YWwKICAgICBWTSYgdm0g
PSBsZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgpOwogICAgIHVpbnQzMl90IGZsYWdzID0gdGhpcy0+
ZmxhZ3MoKTsKICAgICBpZiAoIShmbGFncyAmIGlzRmlyc3RSZXNvbHZpbmdGdW5jdGlvbkNhbGxl
ZEZsYWcpKQotICAgICAgICBpbnRlcm5hbEZpZWxkKHN0YXRpY19jYXN0PHVuc2lnbmVkPihGaWVs
ZDo6RmxhZ3MpKS5zZXQodm0sIHRoaXMsIGpzTnVtYmVyKGZsYWdzIHwgaXNIYW5kbGVkRmxhZykp
OworICAgICAgICBpbnRlcm5hbEZpZWxkKEZpZWxkOjpGbGFncykuc2V0KHZtLCB0aGlzLCBqc051
bWJlcihmbGFncyB8IGlzSGFuZGxlZEZsYWcpKTsKICAgICByZWplY3QobGV4aWNhbEdsb2JhbE9i
amVjdCwgdmFsdWUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1Byb21pc2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlz
ZS5oCmluZGV4IGQzYjBhZjgwNDliZmVmYmZkZWIwNDIyNTJhYWM2NTc3YWNkYWFiMDYuLjMzNjNh
MGQzNDJhNDFhMjdlYWM1MjlmMzEyY2Q0NDJjMjE5ZWRhZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTUHJvbWlzZS5oCkBAIC00MSw2ICs0MSw3IEBAIGNsYXNzIEpTUHJvbWlz
ZSA6IHB1YmxpYyBKU0ludGVybmFsRmllbGRPYmplY3RJbXBsPDI+IHsKICAgICB9CiAKICAgICBK
U19FWFBPUlRfUFJJVkFURSBzdGF0aWMgSlNQcm9taXNlKiBjcmVhdGUoVk0mLCBTdHJ1Y3R1cmUq
KTsKKyAgICBzdGF0aWMgSlNQcm9taXNlKiBjcmVhdGVXaXRoSW5pdGlhbFZhbHVlcyhWTSYsIFN0
cnVjdHVyZSopOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYsIEpT
R2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7CiAKICAgICBERUNMQVJFX0VYUE9SVF9JTkZPOwpAQCAt
NjAsNiArNjEsMTcgQEAgY2xhc3MgSlNQcm9taXNlIDogcHVibGljIEpTSW50ZXJuYWxGaWVsZE9i
amVjdEltcGw8Mj4gewogICAgIH07CiAgICAgc3RhdGljX2Fzc2VydChudW1iZXJPZkludGVybmFs
RmllbGRzID09IDIpOwogCisgICAgc3RhdGljIHN0ZDo6YXJyYXk8SlNWYWx1ZSwgbnVtYmVyT2ZJ
bnRlcm5hbEZpZWxkcz4gaW5pdGlhbFZhbHVlcygpCisgICAgeworICAgICAgICByZXR1cm4geyB7
CisgICAgICAgICAgICBqc051bWJlcihzdGF0aWNfY2FzdDx1bnNpZ25lZD4oU3RhdHVzOjpQZW5k
aW5nKSksCisgICAgICAgICAgICBqc1VuZGVmaW5lZCgpLAorICAgICAgICB9IH07CisgICAgfQor
CisgICAgY29uc3QgV3JpdGVCYXJyaWVyPFVua25vd24+JiBpbnRlcm5hbEZpZWxkKEZpZWxkIGZp
ZWxkKSBjb25zdCB7IHJldHVybiBCYXNlOjppbnRlcm5hbEZpZWxkKHN0YXRpY19jYXN0PHVpbnQz
Ml90PihmaWVsZCkpOyB9CisgICAgV3JpdGVCYXJyaWVyPFVua25vd24+JiBpbnRlcm5hbEZpZWxk
KEZpZWxkIGZpZWxkKSB7IHJldHVybiBCYXNlOjppbnRlcm5hbEZpZWxkKHN0YXRpY19jYXN0PHVp
bnQzMl90PihmaWVsZCkpOyB9CisKICAgICBKU19FWFBPUlRfUFJJVkFURSBTdGF0dXMgc3RhdHVz
KFZNJikgY29uc3Q7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNWYWx1ZSByZXN1bHQoVk0mKSBj
b25zdDsKICAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIGlzSGFuZGxlZChWTSYpIGNvbnN0Owo=
</data>
<flag name="review"
          id="412282"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>