<?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>180737</bug_id>
          
          <creation_ts>2017-12-12 20:58:42 -0800</creation_ts>
          <short_desc>[Payment Request] Remove ApplePayPaymentMethodUpdateEvent and use PaymentDetailsModifiers instead</short_desc>
          <delta_ts>2017-12-13 10:02:34 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1381040</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-12-12 20:58:42 -0800</bug_when>
    <thetext>[PaymentRequest] Remove ApplePayPaymentMethodUpdateEvent and use PaymentDetailsModifiers instead</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381041</commentid>
    <comment_count>1</comment_count>
      <attachid>329198</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-12-12 20:59:57 -0800</bug_when>
    <thetext>Created attachment 329198
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381042</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-12 21:00:11 -0800</bug_when>
    <thetext>&lt;rdar://problem/36013152&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381046</commentid>
    <comment_count>3</comment_count>
      <attachid>329200</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-12-12 21:19:36 -0800</bug_when>
    <thetext>Created attachment 329200
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381119</commentid>
    <comment_count>4</comment_count>
      <attachid>329221</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-12-13 08:55:19 -0800</bug_when>
    <thetext>Created attachment 329221
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381159</commentid>
    <comment_count>5</comment_count>
      <attachid>329221</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-13 10:02:32 -0800</bug_when>
    <thetext>Comment on attachment 329221
Patch

Clearing flags on attachment: 329221

Committed r225849: &lt;https://trac.webkit.org/changeset/225849&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381160</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-13 10:02:34 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329198</attachid>
            <date>2017-12-12 20:59:57 -0800</date>
            <delta_ts>2017-12-12 21:19:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180737-20171212205956.patch</filename>
            <type>text/plain</type>
            <size>66713</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1ODAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDYyZGViNmQxMmZkYjZm
YTYxNTU1YjVlNTUwMWY0MDRhZjUyZThhMC4uNGJmY2EzOTY4MjJjOTAwOWM1MGYzYWFkMTQyYWM1
ZDcwYzYyYmVkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE3LTEyLTEyICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBS
ZW1vdmUgQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQgYW5kIHVzZSBQYXltZW50RGV0
YWlsc01vZGlmaWVycyBpbnN0ZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xODA3MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVBheW1l
bnREZXRhaWxzTW9kaWZpZXIuaHR0cHMuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMu
bWFrZToKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5TGluZUl0ZW0uaWRsOgor
ICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kLmg6CisgICAg
ICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2QuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kVHlwZS5oOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxl
UGF5UGF5bWVudE1ldGhvZFVwZGF0ZUV2ZW50LmlkbC4KKyAgICAgICAgKiBNb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudE1ldGhv
ZFVwZGF0ZUV2ZW50LmlkbC4KKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1l
bnRNZXRob2RDb2NvYS5tbToKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1
ZXN0L0FwcGxlUGF5TW9kaWZpZXIuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVu
dC5pZGwuCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBh
eU1vZGlmaWVyLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuaWRsLgor
ICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50
SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpz
aG93KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmNvbXB1dGVU
b3RhbEFuZExpbmVJdGVtcyk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRIYW5k
bGVyOjpkZXRhaWxzVXBkYXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRI
YW5kbGVyOjpzaGlwcGluZ0FkZHJlc3NVcGRhdGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxl
UGF5UGF5bWVudEhhbmRsZXI6OnNoaXBwaW5nT3B0aW9uVXBkYXRlZCk6CisgICAgICAgIChXZWJD
b3JlOjpBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpwYXltZW50TWV0aG9kVXBkYXRlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpkaWRTZWxlY3RQYXltZW50TWV0
aG9kKToKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5
UGF5bWVudEhhbmRsZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1
ZXN0L0FwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZUV2ZW50LmNwcDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBNb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudE1ldGhv
ZFVwZGF0ZUV2ZW50Lmg6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9wYXltZW50cmVxdWVz
dC9QYXltZW50UmVxdWVzdC5oOgorICAgICAgICAqIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5
bWVudFJlcXVlc3QuaWRsOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5oOgorICAgICAgICAqIGRvbS9FdmVudE5h
bWVzLmluOgorICAgICAgICAqIHRlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpjb252ZXJ0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tQYXltZW50
Q29vcmRpbmF0b3I6OnVwZGF0ZVRvdGFsQW5kTGluZUl0ZW1zKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1vY2tQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24p
OgorICAgICAgICAoV2ViQ29yZTo6TW9ja1BheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVTaGlw
cGluZ0NvbnRhY3RTZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1BheW1lbnRDb29y
ZGluYXRvcjo6Y29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKToKKyAgICAgICAgKiB0ZXN0
aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiB0ZXN0aW5nL01vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuaWRsOgorCiAyMDE3LTEyLTEyICBKZXIgTm9ibGUgIDxqZXIubm9ibGVA
YXBwbGUuY29tPgogCiAgICAgICAgIFtFTUVdIFN1cHBvcnQgcmVwb3J0aW5nIGFuZCByZXN0b3Jp
bmcgcGVyc2lzdGVudCB1c2FnZSBkYXRhLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5k
ZXggMGYyOTYxZjM0ZGQ0YzhlZDI2MGFlOGM1YWMwNjQ2MDgxMzhmNTgxMi4uMDFlOGU2M2VmYzE5
NGE2MDkwY2EzYjgzODA4MmVhZWE1NWZkZmE4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCkBAIC05Nyw2ICs5Nyw3IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50Q29udGFjdC5pZGwgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2QuaWRsIFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kU2VsZWN0ZWRF
dmVudC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1l
bnRNZXRob2RUeXBlLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
UGF5bWVudE1ldGhvZFVwZGF0ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheVBheW1lbnRQYXNzLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaWRsIFwKQEAgLTEwOSw3ICsxMTAsNyBAQCBKU19C
SU5ESU5HX0lETFMgPSBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hp
cHBpbmdNZXRob2RVcGRhdGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVu
dC5pZGwgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9B
cHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVudC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UmVxdWVz
dC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9iZWFjb24vTmF2aWdhdG9yQmVhY29uLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5pZGwgXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJ
dGVtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRl
bS5pZGwKaW5kZXggMmM1ODAzN2VjMzFmMDNiMWJmMmE1NTk3OTlhNzFhMjRkNTE5MjQ0MC4uZGE1
ZjJlZWEyZTJhZDM1MGU2NzI3ZWI1ZjZkZTc1MmM5NzhhOGNlZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJdGVtLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5TGluZUl0ZW0uaWRsCkBAIC0zMiw2
ICszMiw4IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1BUFBMRV9QQVksCisgICAgRXhwb3J0TWFj
cm89V0VCQ09SRV9FWFBPUlQsCisgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCiBdIGRpY3Rpb25h
cnkgQXBwbGVQYXlMaW5lSXRlbSB7CiAgICAgQXBwbGVQYXlMaW5lSXRlbVR5cGUgdHlwZSA9ICJm
aW5hbCI7CiAgICAgRE9NU3RyaW5nIGxhYmVsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2QuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kLmgKaW5kZXggN2JmOTE3Yzkz
Yjk1NjJmYzgxNGNhOTU5NzNmNzdjNDBiNjU3OGZjNy4uMzA5NTg0NTBmMzllNTViODU5Y2ZhY2Ey
ZTcwNzI3YTM1NjE2Y2FiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZC5oCkBAIC0zMiw3ICszMiw3IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotZW51bSBjbGFzcyBBcHBsZVBheVBheW1lbnRNZXRob2RUeXBl
IHsgRGViaXQsIENyZWRpdCwgUHJlcGFpZCwgU3RvcmUgfTsKK2VudW0gY2xhc3MgQXBwbGVQYXlQ
YXltZW50TWV0aG9kVHlwZTsKIAogc3RydWN0IEFwcGxlUGF5UGF5bWVudE1ldGhvZCB7ICAgIAog
ICAgIHVzaW5nIFR5cGUgPSBBcHBsZVBheVBheW1lbnRNZXRob2RUeXBlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2QuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2Qu
aWRsCmluZGV4IGUwOTA5NDBiNGI0MWZlZGMwZTU2OWFjY2M1OWMxZDllMzM4MjBmNTcuLjZkNTQ0
MmQzMjE3YTBjMTdlM2E0ZDk0YTQ5ZTg5ZTY5ZWJjNzYxNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZC5pZGwK
QEAgLTIzLDE1ICsyMyw2IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAg
Ki8KIAotWwotICAgIENvbmRpdGlvbmFsPUFQUExFX1BBWSwKLV0gZW51bSBBcHBsZVBheVBheW1l
bnRNZXRob2RUeXBlIHsgCi0gICAgImRlYml0IiwgCi0gICAgImNyZWRpdCIsCi0gICAgInByZXBh
aWQiLAotICAgICJzdG9yZSIgCi19OwotCiBbCiAgICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZLAog
ICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JULApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RUeXBlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iZmMyNDZlYjQwODEzNzdmZWRjOGVhNjEzYzc3YTEwN2VhYmJjYjM1Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1l
bnRNZXRob2RUeXBlLmgKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaWYgRU5BQkxFKEFQUExFX1BBWSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVt
IGNsYXNzIEFwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUgeworICAgIERlYml0LAorICAgIENyZWRp
dCwKKyAgICBQcmVwYWlkLAorICAgIFN0b3JlLAorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kVHlwZS5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUuaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmZiYjViZTk1NjlhZDc3Mzg4Y2RiYzZkZmVlMWVmZDUxZDUxNGEwYWQKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
UGF5bWVudE1ldGhvZFR5cGUuaWRsCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisg
ICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZLAorXSBlbnVtIEFwcGxlUGF5UGF5bWVudE1ldGhvZFR5
cGUgeworICAgICJkZWJpdCIsCisgICAgImNyZWRpdCIsCisgICAgInByZXBhaWQiLAorICAgICJz
dG9yZSIKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2Nv
Y29hL1BheW1lbnRNZXRob2RDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvY29jb2EvUGF5bWVudE1ldGhvZENvY29hLm1tCmluZGV4IGFkMDg1OWVhNGU3YzIyMjRlM2Rl
MWUzZWJjOTdlYTMzZTYyNThmNDEuLjZhZTY4Y2RmODMyNmJhMDU2MzgwMjY4NDJlOWVhZjI0YWYw
ZGRmMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29jb2Ev
UGF5bWVudE1ldGhvZENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvY29jb2EvUGF5bWVudE1ldGhvZENvY29hLm1tCkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgRU5B
QkxFKEFQUExFX1BBWSkKIAogI2ltcG9ydCAiQXBwbGVQYXlQYXltZW50TWV0aG9kLmgiCisjaW1w
b3J0ICJBcHBsZVBheVBheW1lbnRNZXRob2RUeXBlLmgiCiAjaW1wb3J0IDxwYWwvc3BpL2NvY29h
L1Bhc3NLaXRTUEkuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxl
UGF5TW9kaWZpZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZGZhNzdlMGU3N2M1ODFiOGI1NmUwMmQzMWE2ZjQw
YzE1YmZmMjY4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLmgKQEAgLTAsMCArMSw0MCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEFQUExFX1BBWSkgJiYgRU5B
QkxFKFBBWU1FTlRfUkVRVUVTVCkKKworI2luY2x1ZGUgIkFwcGxlUGF5UGF5bWVudE1ldGhvZFR5
cGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgQXBwbGVQYXlNb2RpZmllciB7
CisgICAgQXBwbGVQYXlQYXltZW50TWV0aG9kVHlwZSBwYXltZW50TWV0aG9kVHlwZTsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVkpICYm
IEVOQUJMRShQQVlNRU5UX1JFUVVFU1QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXIuaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVy
LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wNjc4OTQyMzFhZWJjZTgxNTkwYmYwZmVhZTA3NGYyNzg4ZDNjODIy
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXlt
ZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLmlkbApAQCAtMCwwICsxLDMwIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworWworICAgIENvbmRpdGlvbmFsPUFQUExFX1BBWSZQQVlNRU5UX1JFUVVFU1QsCitdIGRp
Y3Rpb25hcnkgQXBwbGVQYXlNb2RpZmllciB7CisgICAgcmVxdWlyZWQgQXBwbGVQYXlQYXltZW50
TWV0aG9kVHlwZSBwYXltZW50TWV0aG9kVHlwZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRs
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9B
cHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcAppbmRleCAxNTQ0Mjk4M2ZhZTFjNGU5ZTFjYzExYzI2
NTI3MjA2ZWIxYjRhMjM0Li4yOTI1MDhjOTkxYTM4MTQ3NTY4N2JjMzhhZDk0MTZkM2VkMWFkYTll
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1
ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAKQEAg
LTMxLDggKzMxLDggQEAKICNpbmNsdWRlICJBcHBsZVBheUNvbnRhY3RGaWVsZC5oIgogI2luY2x1
ZGUgIkFwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5LmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlNZXJj
aGFudFZhbGlkYXRpb25FdmVudC5oIgorI2luY2x1ZGUgIkFwcGxlUGF5TW9kaWZpZXIuaCIKICNp
bmNsdWRlICJBcHBsZVBheVBheW1lbnQuaCIKLSNpbmNsdWRlICJBcHBsZVBheVBheW1lbnRNZXRo
b2RVcGRhdGVFdmVudC5oIgogI2luY2x1ZGUgIkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0
LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCkBAIC0x
OTAsMjAgKzE5MCw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6
OnNob3coKQogICAgIGF1dG8gY29udmVydGVkTGluZUl0ZW1zID0gY29udmVydEFuZFZhbGlkYXRl
KG1fcGF5bWVudFJlcXVlc3QtPnBheW1lbnREZXRhaWxzKCkuZGlzcGxheUl0ZW1zLCBleHBlY3Rl
ZEN1cnJlbmN5KTsKICAgICBpZiAoY29udmVydGVkTGluZUl0ZW1zLmhhc0V4Y2VwdGlvbigpKQog
ICAgICAgICByZXR1cm4gY29udmVydGVkTGluZUl0ZW1zLnJlbGVhc2VFeGNlcHRpb24oKTsKLQot
ICAgIGF1dG8gbGluZUl0ZW1zID0gY29udmVydGVkTGluZUl0ZW1zLnJlbGVhc2VSZXR1cm5WYWx1
ZSgpOwotICAgIGZvciAoYXV0byYgbW9kaWZpZXIgOiBtX3BheW1lbnRSZXF1ZXN0LT5wYXltZW50
RGV0YWlscygpLm1vZGlmaWVycykgewotICAgICAgICBhdXRvIGNvbnZlcnRlZElkZW50aWZpZXIg
PSBjb252ZXJ0QW5kVmFsaWRhdGVQYXltZW50TWV0aG9kSWRlbnRpZmllcihtb2RpZmllci5zdXBw
b3J0ZWRNZXRob2RzKTsKLSAgICAgICAgaWYgKCFjb252ZXJ0ZWRJZGVudGlmaWVyIHx8ICFoYW5k
bGVzSWRlbnRpZmllcigqY29udmVydGVkSWRlbnRpZmllcikpCi0gICAgICAgICAgICBjb250aW51
ZTsKLQotICAgICAgICBhdXRvIGFkZGl0aW9uYWxEaXNwbGF5SXRlbXMgPSBjb252ZXJ0QW5kVmFs
aWRhdGUobW9kaWZpZXIuYWRkaXRpb25hbERpc3BsYXlJdGVtcywgZXhwZWN0ZWRDdXJyZW5jeSk7
Ci0gICAgICAgIGlmIChhZGRpdGlvbmFsRGlzcGxheUl0ZW1zLmhhc0V4Y2VwdGlvbigpKQotICAg
ICAgICAgICAgcmV0dXJuIGFkZGl0aW9uYWxEaXNwbGF5SXRlbXMucmVsZWFzZUV4Y2VwdGlvbigp
OwotCi0gICAgICAgIGxpbmVJdGVtcy5hcHBlbmRWZWN0b3IoYWRkaXRpb25hbERpc3BsYXlJdGVt
cy5yZWxlYXNlUmV0dXJuVmFsdWUoKSk7Ci0gICAgfQotICAgIHJlcXVlc3Quc2V0TGluZUl0ZW1z
KGxpbmVJdGVtcyk7CisgICAgcmVxdWVzdC5zZXRMaW5lSXRlbXMoY29udmVydGVkTGluZUl0ZW1z
LnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsKIAogICAgIHJlcXVlc3Quc2V0UmVxdWlyZWRTaGlwcGlu
Z0NvbnRhY3RGaWVsZHMoY29udmVydChtX3BheW1lbnRSZXF1ZXN0LT5wYXltZW50T3B0aW9ucygp
KSk7CiAgICAgaWYgKG1fcGF5bWVudFJlcXVlc3QtPnBheW1lbnRPcHRpb25zKCkucmVxdWVzdFNo
aXBwaW5nKQpAQCAtMjU1LDE4ICsyNDIsNjcgQEAgdm9pZCBBcHBsZVBheVBheW1lbnRIYW5kbGVy
OjpjYW5NYWtlUGF5bWVudChGdW5jdGlvbjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW4KICAg
ICBwYXltZW50Q29vcmRpbmF0b3IoKS5jYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChtX2Fw
cGxlUGF5UmVxdWVzdC0+bWVyY2hhbnRJZGVudGlmaWVyLCBkb2N1bWVudCgpLmRvbWFpbigpLCBX
VEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKLXN0YXRpYyBFeGNlcHRpb25PcjxBcHBs
ZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXM+IGNvbnZlcnRBbmRW
YWxpZGF0ZShjb25zdCBQYXltZW50RGV0YWlsc0luaXQmIGRldGFpbHMpCitFeGNlcHRpb25PcjxB
cHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXM+IEFwcGxlUGF5
UGF5bWVudEhhbmRsZXI6OmNvbXB1dGVUb3RhbEFuZExpbmVJdGVtcygpCiB7CisgICAgYXV0byYg
ZGV0YWlscyA9IG1fcGF5bWVudFJlcXVlc3QtPnBheW1lbnREZXRhaWxzKCk7CiAgICAgU3RyaW5n
IGN1cnJlbmN5ID0gZGV0YWlscy50b3RhbC5hbW91bnQuY3VycmVuY3k7Ci0gICAgYXV0byB0b3Rh
bCA9IGNvbnZlcnRBbmRWYWxpZGF0ZShkZXRhaWxzLnRvdGFsLCBjdXJyZW5jeSk7Ci0gICAgaWYg
KHRvdGFsLmhhc0V4Y2VwdGlvbigpKQotICAgICAgICByZXR1cm4gdG90YWwucmVsZWFzZUV4Y2Vw
dGlvbigpOwogCi0gICAgYXV0byBsaW5lSXRlbXMgPSBjb252ZXJ0QW5kVmFsaWRhdGUoZGV0YWls
cy5kaXNwbGF5SXRlbXMsIGN1cnJlbmN5KTsKLSAgICBpZiAobGluZUl0ZW1zLmhhc0V4Y2VwdGlv
bigpKQotICAgICAgICByZXR1cm4gbGluZUl0ZW1zLnJlbGVhc2VFeGNlcHRpb24oKTsKKyAgICBh
dXRvIGNvbnZlcnRlZFRvdGFsID0gY29udmVydEFuZFZhbGlkYXRlKGRldGFpbHMudG90YWwsIGN1
cnJlbmN5KTsKKyAgICBpZiAoY29udmVydGVkVG90YWwuaGFzRXhjZXB0aW9uKCkpCisgICAgICAg
IHJldHVybiBjb252ZXJ0ZWRUb3RhbC5yZWxlYXNlRXhjZXB0aW9uKCk7CisgICAgYXV0byB0b3Rh
bCA9IGNvbnZlcnRlZFRvdGFsLnJlbGVhc2VSZXR1cm5WYWx1ZSgpOworCisgICAgYXV0byBjb252
ZXJ0ZWRMaW5lSXRlbXMgPSBjb252ZXJ0QW5kVmFsaWRhdGUoZGV0YWlscy5kaXNwbGF5SXRlbXMs
IGN1cnJlbmN5KTsKKyAgICBpZiAoY29udmVydGVkTGluZUl0ZW1zLmhhc0V4Y2VwdGlvbigpKQor
ICAgICAgICByZXR1cm4gY29udmVydGVkTGluZUl0ZW1zLnJlbGVhc2VFeGNlcHRpb24oKTsKKyAg
ICBhdXRvIGxpbmVJdGVtcyA9IGNvbnZlcnRlZExpbmVJdGVtcy5yZWxlYXNlUmV0dXJuVmFsdWUo
KTsKKworICAgIGlmICghbV9zZWxlY3RlZFBheW1lbnRNZXRob2RUeXBlKQorICAgICAgICByZXR1
cm4gQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OlRvdGFsQW5kTGluZUl0ZW1zIHsgV1RG
TW92ZSh0b3RhbCksIFdURk1vdmUobGluZUl0ZW1zKSB9OwogCi0gICAgcmV0dXJuIEFwcGxlUGF5
U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcyB7IHRvdGFsLnJlbGVhc2VS
ZXR1cm5WYWx1ZSgpLCBsaW5lSXRlbXMucmVsZWFzZVJldHVyblZhbHVlKCkgfTsKKyAgICBhdXRv
JiBtb2RpZmllcnMgPSBkZXRhaWxzLm1vZGlmaWVyczsKKyAgICBhdXRvJiBzZXJpYWxpemVkTW9k
aWZpZXJEYXRhID0gbV9wYXltZW50UmVxdWVzdC0+c2VyaWFsaXplZE1vZGlmaWVyRGF0YSgpOwor
ICAgIEFTU0VSVChtb2RpZmllcnMuc2l6ZSgpID09IHNlcmlhbGl6ZWRNb2RpZmllckRhdGEuc2l6
ZSgpKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1vZGlmaWVycy5zaXplKCk7ICsraSkg
eworICAgICAgICBhdXRvIGNvbnZlcnRlZElkZW50aWZpZXIgPSBjb252ZXJ0QW5kVmFsaWRhdGVQ
YXltZW50TWV0aG9kSWRlbnRpZmllcihtb2RpZmllcnNbaV0uc3VwcG9ydGVkTWV0aG9kcyk7Cisg
ICAgICAgIGlmICghY29udmVydGVkSWRlbnRpZmllciB8fCAhaGFuZGxlc0lkZW50aWZpZXIoKmNv
bnZlcnRlZElkZW50aWZpZXIpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgaWYg
KHNlcmlhbGl6ZWRNb2RpZmllckRhdGFbaV0uaXNFbXB0eSgpKQorICAgICAgICAgICAgY29udGlu
dWU7CisKKyAgICAgICAgYXV0byYgZXhlY1N0YXRlID0gKmRvY3VtZW50KCkuZXhlY1N0YXRlKCk7
CisgICAgICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKGV4ZWNTdGF0ZS52bSgp
KTsKKyAgICAgICAgSlNDOjpKU1ZhbHVlIGRhdGE7CisgICAgICAgIHsKKyAgICAgICAgICAgIGF1
dG8gbG9jayA9IEpTQzo6SlNMb2NrSG9sZGVyIHsgJmV4ZWNTdGF0ZSB9OworICAgICAgICAgICAg
ZGF0YSA9IEpTT05QYXJzZSgmZXhlY1N0YXRlLCBzZXJpYWxpemVkTW9kaWZpZXJEYXRhW2ldKTsK
KyAgICAgICAgICAgIGlmIChzY29wZS5leGNlcHRpb24oKSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgRXhpc3RpbmdFeGNlcHRpb25FcnJvciB9OworICAgICAgICB9CisKKyAg
ICAgICAgYXV0byBhcHBsZVBheU1vZGlmaWVyID0gY29udmVydERpY3Rpb25hcnk8QXBwbGVQYXlN
b2RpZmllcj4oZXhlY1N0YXRlLCBXVEZNb3ZlKGRhdGEpKTsKKyAgICAgICAgaWYgKHNjb3BlLmV4
Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEV4aXN0aW5nRXhjZXB0
aW9uRXJyb3IgfTsKKworICAgICAgICBpZiAoYXBwbGVQYXlNb2RpZmllci5wYXltZW50TWV0aG9k
VHlwZSAhPSAqbV9zZWxlY3RlZFBheW1lbnRNZXRob2RUeXBlKQorICAgICAgICAgICAgY29udGlu
dWU7CisKKyAgICAgICAgaWYgKG1vZGlmaWVyc1tpXS50b3RhbCkgeworICAgICAgICAgICAgYXV0
byB0b3RhbE92ZXJyaWRlID0gY29udmVydEFuZFZhbGlkYXRlKCptb2RpZmllcnNbaV0udG90YWws
IGN1cnJlbmN5KTsKKyAgICAgICAgICAgIGlmICh0b3RhbE92ZXJyaWRlLmhhc0V4Y2VwdGlvbigp
KQorICAgICAgICAgICAgICAgIHJldHVybiB0b3RhbE92ZXJyaWRlLnJlbGVhc2VFeGNlcHRpb24o
KTsKKyAgICAgICAgICAgIHRvdGFsID0gdG90YWxPdmVycmlkZS5yZWxlYXNlUmV0dXJuVmFsdWUo
KTsKKyAgICAgICAgfQorCisgICAgICAgIGF1dG8gYWRkaXRpb25hbERpc3BsYXlJdGVtcyA9IGNv
bnZlcnRBbmRWYWxpZGF0ZShtb2RpZmllcnNbaV0uYWRkaXRpb25hbERpc3BsYXlJdGVtcywgY3Vy
cmVuY3kpOworICAgICAgICBpZiAoYWRkaXRpb25hbERpc3BsYXlJdGVtcy5oYXNFeGNlcHRpb24o
KSkKKyAgICAgICAgICAgIHJldHVybiBhZGRpdGlvbmFsRGlzcGxheUl0ZW1zLnJlbGVhc2VFeGNl
cHRpb24oKTsKKyAgICAgICAgbGluZUl0ZW1zLmFwcGVuZFZlY3RvcihhZGRpdGlvbmFsRGlzcGxh
eUl0ZW1zLnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisg
ICAgcmV0dXJuIEFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVt
cyB7IFdURk1vdmUodG90YWwpLCBXVEZNb3ZlKGxpbmVJdGVtcykgfTsKIH0KIAogRXhjZXB0aW9u
T3I8dm9pZD4gQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6ZGV0YWlsc1VwZGF0ZWQoY29uc3QgQXRv
bWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IFN0cmluZyYgZXJyb3IpCkBAIC0yNzcsOSArMzEz
LDYgQEAgRXhjZXB0aW9uT3I8dm9pZD4gQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6ZGV0YWlsc1Vw
ZGF0ZWQoY29uc3QgQXRvbWljU3RyaW5nJiBldmUKICAgICBpZiAoZXZlbnRUeXBlID09IGV2ZW50
TmFtZXMoKS5zaGlwcGluZ29wdGlvbmNoYW5nZUV2ZW50KQogICAgICAgICByZXR1cm4gc2hpcHBp
bmdPcHRpb25VcGRhdGVkKCk7CiAKLSAgICBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5h
cHBsZXBheXBheW1lbnRtZXRob2RjaGFuZ2VkRXZlbnQpCi0gICAgICAgIHJldHVybiBwYXltZW50
TWV0aG9kVXBkYXRlZCgpOwotCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJu
IHsgfTsKIH0KQEAgLTI5NSw3ICszMjgsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBBcHBsZVBheVBh
eW1lbnRIYW5kbGVyOjpzaGlwcGluZ0FkZHJlc3NVcGRhdGVkKGNvbnN0IFN0cmluZyYgZQogICAg
ICAgICB1cGRhdGUuZXJyb3JzLmFwcGVuZChXVEZNb3ZlKHBheW1lbnRFcnJvcikpOwogICAgIH0K
IAotICAgIGF1dG8gbmV3VG90YWxBbmRMaW5lSXRlbXMgPSBjb252ZXJ0QW5kVmFsaWRhdGUobV9w
YXltZW50UmVxdWVzdC0+cGF5bWVudERldGFpbHMoKSk7CisgICAgYXV0byBuZXdUb3RhbEFuZExp
bmVJdGVtcyA9IGNvbXB1dGVUb3RhbEFuZExpbmVJdGVtcygpOwogICAgIGlmIChuZXdUb3RhbEFu
ZExpbmVJdGVtcy5oYXNFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIG5ld1RvdGFsQW5kTGlu
ZUl0ZW1zLnJlbGVhc2VFeGNlcHRpb24oKTsKICAgICB1cGRhdGUubmV3VG90YWxBbmRMaW5lSXRl
bXMgPSBuZXdUb3RhbEFuZExpbmVJdGVtcy5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKQEAgLTMwOCw3
ICszNDEsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpzaGlw
cGluZ09wdGlvblVwZGF0ZWQoKQogewogICAgIFNoaXBwaW5nTWV0aG9kVXBkYXRlIHVwZGF0ZTsK
IAotICAgIGF1dG8gbmV3VG90YWxBbmRMaW5lSXRlbXMgPSBjb252ZXJ0QW5kVmFsaWRhdGUobV9w
YXltZW50UmVxdWVzdC0+cGF5bWVudERldGFpbHMoKSk7CisgICAgYXV0byBuZXdUb3RhbEFuZExp
bmVJdGVtcyA9IGNvbXB1dGVUb3RhbEFuZExpbmVJdGVtcygpOwogICAgIGlmIChuZXdUb3RhbEFu
ZExpbmVJdGVtcy5oYXNFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIG5ld1RvdGFsQW5kTGlu
ZUl0ZW1zLnJlbGVhc2VFeGNlcHRpb24oKTsKICAgICB1cGRhdGUubmV3VG90YWxBbmRMaW5lSXRl
bXMgPSBuZXdUb3RhbEFuZExpbmVJdGVtcy5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKQEAgLTMyMSw3
ICszNTQsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpwYXlt
ZW50TWV0aG9kVXBkYXRlZCgpCiB7CiAgICAgUGF5bWVudE1ldGhvZFVwZGF0ZSB1cGRhdGU7CiAK
LSAgICBhdXRvIG5ld1RvdGFsQW5kTGluZUl0ZW1zID0gY29udmVydEFuZFZhbGlkYXRlKG1fcGF5
bWVudFJlcXVlc3QtPnBheW1lbnREZXRhaWxzKCkpOworICAgIGF1dG8gbmV3VG90YWxBbmRMaW5l
SXRlbXMgPSBjb21wdXRlVG90YWxBbmRMaW5lSXRlbXMoKTsKICAgICBpZiAobmV3VG90YWxBbmRM
aW5lSXRlbXMuaGFzRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBuZXdUb3RhbEFuZExpbmVJ
dGVtcy5yZWxlYXNlRXhjZXB0aW9uKCk7CiAgICAgdXBkYXRlLm5ld1RvdGFsQW5kTGluZUl0ZW1z
ID0gbmV3VG90YWxBbmRMaW5lSXRlbXMucmVsZWFzZVJldHVyblZhbHVlKCk7CkBAIC0zODUsOCAr
NDE4LDggQEAgdm9pZCBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpkaWRTZWxlY3RTaGlwcGluZ0Nv
bnRhY3QoY29uc3QgUGF5bWVudENvbnRhY3QmIHNoaXAKIAogdm9pZCBBcHBsZVBheVBheW1lbnRI
YW5kbGVyOjpkaWRTZWxlY3RQYXltZW50TWV0aG9kKGNvbnN0IFBheW1lbnRNZXRob2QmIHBheW1l
bnRNZXRob2QpCiB7Ci0gICAgYXV0byBldmVudCA9IEFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0
ZUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmFwcGxlcGF5cGF5bWVudG1ldGhvZGNoYW5nZWRF
dmVudCwgcGF5bWVudE1ldGhvZC50b0FwcGxlUGF5UGF5bWVudE1ldGhvZCgpLCBtX3BheW1lbnRS
ZXF1ZXN0LmdldCgpKTsKLSAgICBtX3BheW1lbnRSZXF1ZXN0LT5kaXNwYXRjaEV2ZW50KGV2ZW50
LmdldCgpKTsKKyAgICBtX3NlbGVjdGVkUGF5bWVudE1ldGhvZFR5cGUgPSBwYXltZW50TWV0aG9k
LnRvQXBwbGVQYXlQYXltZW50TWV0aG9kKCkudHlwZTsKKyAgICBwYXltZW50TWV0aG9kVXBkYXRl
ZCgpOwogfQogCiB2b2lkIEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmRpZENhbmNlbFBheW1lbnRT
ZXNzaW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5
bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmgKaW5k
ZXggODEyOWNiYTM5MGExZGEzY2Y1NDg5ZTkzMzQ1ZTQ3ZmRhYzYyNTdmMC4uYzcyYTlkNTlhNjc1
MmJkNzBlZDJmZWJkNjk1OGY0ZGFlMDQxN2UzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBs
ZVBheVBheW1lbnRIYW5kbGVyLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShBUFBM
RV9QQVkpICYmIEVOQUJMRShQQVlNRU5UX1JFUVVFU1QpCiAKKyNpbmNsdWRlICJBcHBsZVBheVBh
eW1lbnRNZXRob2RUeXBlLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlSZXF1ZXN0LmgiCiAjaW5jbHVk
ZSAiQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJQYXltZW50SGFuZGxl
ci5oIgpAQCAtNTEsNiArNTIsOCBAQCBwcml2YXRlOgogICAgIERvY3VtZW50JiBkb2N1bWVudCgp
OwogICAgIFBheW1lbnRDb29yZGluYXRvciYgcGF5bWVudENvb3JkaW5hdG9yKCk7CiAKKyAgICBF
eGNlcHRpb25PcjxBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRl
bXM+IGNvbXB1dGVUb3RhbEFuZExpbmVJdGVtcygpOworCiAgICAgRXhjZXB0aW9uT3I8dm9pZD4g
c2hpcHBpbmdBZGRyZXNzVXBkYXRlZChjb25zdCBTdHJpbmcmIGVycm9yKTsKICAgICBFeGNlcHRp
b25Pcjx2b2lkPiBzaGlwcGluZ09wdGlvblVwZGF0ZWQoKTsKICAgICBFeGNlcHRpb25Pcjx2b2lk
PiBwYXltZW50TWV0aG9kVXBkYXRlZCgpOwpAQCAtNzQsNiArNzcsNyBAQCBwcml2YXRlOgogICAg
IFBheW1lbnRSZXF1ZXN0OjpNZXRob2RJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKICAgICBSZWY8
UGF5bWVudFJlcXVlc3Q+IG1fcGF5bWVudFJlcXVlc3Q7CiAgICAgc3RkOjpvcHRpb25hbDxBcHBs
ZVBheVJlcXVlc3Q+IG1fYXBwbGVQYXlSZXF1ZXN0OworICAgIHN0ZDo6b3B0aW9uYWw8QXBwbGVQ
YXlQYXltZW50TWV0aG9kVHlwZT4gbV9zZWxlY3RlZFBheW1lbnRNZXRob2RUeXBlOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0Fw
cGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZUV2ZW50LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYzg2NjBkYzQxZjU0NjQ0ZTFhZjIzMTU0M2E1YzExZTJkYjIwMTdiOS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0
ZUV2ZW50LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
aW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRl
RXZlbnQuaCIKLQotI2lmIEVOQUJMRShBUFBMRV9QQVkpICYmIEVOQUJMRShQQVlNRU5UX1JFUVVF
U1QpCi0KLSNpbmNsdWRlICJQYXltZW50UmVxdWVzdC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLUFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZUV2ZW50OjpBcHBsZVBheVBheW1lbnRNZXRo
b2RVcGRhdGVFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IEFwcGxlUGF5UGF5
bWVudE1ldGhvZCYgcGF5bWVudE1ldGhvZCwgUGF5bWVudFJlcXVlc3QmIHBheW1lbnRSZXF1ZXN0
KQotICAgIDogUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudCB7IHR5cGUsIHBheW1lbnRSZXF1ZXN0
IH0KLSAgICAsIG1fcGF5bWVudE1ldGhvZCB7IHBheW1lbnRNZXRob2QgfQotewotfQotCi1FdmVu
dEludGVyZmFjZSBBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVudDo6ZXZlbnRJbnRlcmZh
Y2UoKSBjb25zdAotewotICAgIHJldHVybiBBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVu
dEludGVyZmFjZVR5cGU7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8v
IEVOQUJMRShBUFBMRV9QQVkpICYmIEVOQUJMRShQQVlNRU5UX1JFUVVFU1QpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5
UGF5bWVudE1ldGhvZFVwZGF0ZUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZUV2ZW50LmgKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjMDZmYWU3ZWE3ZjRiODI4OWNlZjRiMDRhNjE0
MWI0MTNhNTMwMjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBh
eVBheW1lbnRNZXRob2RVcGRhdGVFdmVudC5oCisrKyAvZGV2L251bGwKQEAgLTEsNTUgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKEFQUExFX1BBWSkgJiYg
RU5BQkxFKFBBWU1FTlRfUkVRVUVTVCkKLQotI2luY2x1ZGUgIkFwcGxlUGF5UGF5bWVudE1ldGhv
ZC5oIgotI2luY2x1ZGUgIlBheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuaCIKLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi1jbGFzcyBBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVudCBmaW5h
bCA6IHB1YmxpYyBQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50IHsKLXB1YmxpYzoKLSAgICB0ZW1w
bGF0ZSA8dHlwZW5hbWUuLi4gQXJncz4gc3RhdGljIFJlZjxBcHBsZVBheVBheW1lbnRNZXRob2RV
cGRhdGVFdmVudD4gY3JlYXRlKEFyZ3MmJi4uLiBhcmdzKQotICAgIHsKLSAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQoc3RkOjpmb3J3
YXJkPEFyZ3M+KGFyZ3MpLi4uKSk7Ci0gICAgfQotCi0gICAgY29uc3QgQXBwbGVQYXlQYXltZW50
TWV0aG9kJiBwYXltZW50TWV0aG9kKCkgY29uc3QgeyByZXR1cm4gbV9wYXltZW50TWV0aG9kOyB9
Ci0KLXByaXZhdGU6Ci0gICAgQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQoY29uc3Qg
QXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBBcHBsZVBheVBheW1lbnRNZXRob2QmLCBQYXltZW50
UmVxdWVzdCYpOwotCi0gICAgLy8gRXZlbnQKLSAgICBFdmVudEludGVyZmFjZSBldmVudEludGVy
ZmFjZSgpIGNvbnN0IGZpbmFsOwotCi0gICAgY29uc3QgQXBwbGVQYXlQYXltZW50TWV0aG9kIG1f
cGF5bWVudE1ldGhvZDsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8v
IEVOQUJMRShBUFBMRV9QQVkpICYmIEVOQUJMRShQQVlNRU5UX1JFUVVFU1QpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5
UGF5bWVudE1ldGhvZFVwZGF0ZUV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuaWRs
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMWFkZmMxYjkyMmE1YTE1Y2NjMjE4MTRl
N2JlOWJhNjljMTk4YmM2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBw
bGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzEg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
LSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0g
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25kaXRpb25hbD1BUFBMRV9QQVkmUEFZTUVO
VF9SRVFVRVNULAotICAgIE5vSW50ZXJmYWNlT2JqZWN0LAotXSBpbnRlcmZhY2UgQXBwbGVQYXlQ
YXltZW50TWV0aG9kVXBkYXRlRXZlbnQgOiBQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50IHsKLSAg
ICBbQ2FjaGVkQXR0cmlidXRlXSByZWFkb25seSBhdHRyaWJ1dGUgQXBwbGVQYXlQYXltZW50TWV0
aG9kIHBheW1lbnRNZXRob2Q7Ci19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oCmluZGV4IDVlZmYzMGFhYzFkNDViZTcy
MGRmYTc3ZWNlMDAzOWI4OTdjNTRiYmMuLjVjZDc4YmY4ZGU3NGZjYTg5ZGVjOWU1ODc4NTYyOTY1
ODVjZGY1MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVl
c3QvUGF5bWVudFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmgKQEAgLTc1LDYgKzc1LDcgQEAgcHVibGljOgogCiAgICAg
Y29uc3QgUGF5bWVudE9wdGlvbnMmIHBheW1lbnRPcHRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9v
cHRpb25zOyB9CiAgICAgY29uc3QgUGF5bWVudERldGFpbHNJbml0JiBwYXltZW50RGV0YWlscygp
IGNvbnN0IHsgcmV0dXJuIG1fZGV0YWlsczsgfQorICAgIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBz
ZXJpYWxpemVkTW9kaWZpZXJEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9zZXJpYWxpemVkTW9kaWZp
ZXJEYXRhOyB9CiAKICAgICB2b2lkIHNoaXBwaW5nQWRkcmVzc0NoYW5nZWQoUmVmPFBheW1lbnRB
ZGRyZXNzPiYmKTsKICAgICB2b2lkIHNoaXBwaW5nT3B0aW9uQ2hhbmdlZChjb25zdCBTdHJpbmcm
IHNoaXBwaW5nT3B0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5
bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
YXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5pZGwKaW5kZXggNzMyYTc0MzI5ZGUzOTY4NDlj
YWVhMzZlYzk5Yjc2Yzk1NzUxMWM5NS4uN2ZhMzk5YTg3YWYzNzZkZmQ1Njg0NzY2ZDVjNzJlOTFi
MmUzMzFlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVz
dC9QYXltZW50UmVxdWVzdC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50
cmVxdWVzdC9QYXltZW50UmVxdWVzdC5pZGwKQEAgLTQ1LDUgKzQ1LDQgQEAKICAgICBhdHRyaWJ1
dGUgRXZlbnRIYW5kbGVyIG9uc2hpcHBpbmdvcHRpb25jaGFuZ2U7CiAKICAgICBbQ29uZGl0aW9u
YWw9QVBQTEVfUEFZXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uYXBwbGVwYXl2YWxpZGF0ZW1l
cmNoYW50OwotICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVldIGF0dHJpYnV0ZSBFdmVudEhhbmRs
ZXIgb25hcHBsZXBheXBheW1lbnRtZXRob2RjaGFuZ2VkOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmOGRlZGM0NDhmNDE5
ZWU5MzliZGRjZmJkYTZlY2E3NWI2NDAxNTdlLi41NDZkNmRkM2NkNzY4MjI4NThlYjFhMzQ0MGU4
ZTI2OThiZTBkYjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC0yNzY1LDEwICsyNzY1LDYgQEAKIAkJQTFCRjZCODMxQUE5NkM3
RDAwQUY0QThBIC8qIE1vY2tDb250ZW50RmlsdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUJGNkI4MTFBQTk2QzdEMDBBRjRBOEEgLyogTW9ja0Nv
bnRlbnRGaWx0ZXIuaCAqLzsgfTsKIAkJQTFDMTUwN0ExRTNGMkIzRTAwMzJDOThDIC8qIFByZXZp
ZXdDb252ZXJ0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEExQzE1MDc4MUUzRjJCM0UwMDMyQzk4QyAvKiBQcmV2aWV3Q29udmVydGVyLmggKi87IH07
CiAJCUExQzJDNTc2MUZBMjg1MTYwMEJBNDZGQSAvKiBQYXltZW50U2Vzc2lvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUMyQzU3NTFGQTI4NTE2
MDBCQTQ2RkEgLyogUGF5bWVudFNlc3Npb24uY3BwICovOyB9OwotCQlBMUNCRUY1MzFGOUVFRTc1
MDAyOERFN0MgLyogQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQ0JFRjUwMUY5RUVFNzUwMDI4
REU3QyAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVudC5oICovOyB9OwotCQlBMUNC
RUY1NDFGOUVFRTc1MDAyOERFN0MgLyogQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFDQkVG
NTExRjlFRUU3NTAwMjhERTdDIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZUV2ZW50LmNw
cCAqLzsgfTsKLQkJQTFDQkVGNjExRjlGMDkwNDAwMjhERTdDIC8qIEpTQXBwbGVQYXlQYXltZW50
TWV0aG9kVXBkYXRlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTFDQkVGNUYxRjlGMDkwMjAwMjhERTdDIC8qIEpTQXBwbGVQYXlQYXltZW50
TWV0aG9kVXBkYXRlRXZlbnQuY3BwICovOyB9OwotCQlBMUNCRUY2MjFGOUYwOTA0MDAyOERFN0Mg
LyogSlNBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFDQkVGNjAxRjlGMDkwMjAwMjhERTdDIC8q
IEpTQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuaCAqLzsgfTsKIAkJQTFDQkVGNjQx
RjlGMTEyOTAwMjhERTdDIC8qIE1vY2tQYXltZW50TWV0aG9kLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUNCRUY2MzFGOUYxMTI5MDAyOERFN0MgLyog
TW9ja1BheW1lbnRNZXRob2QuaCAqLzsgfTsKIAkJQTFDQzU2NjcxRjQ2MTQ3QTAwQTQ1NTVCIC8q
IEpTUGF5bWVudEFkZHJlc3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEExQ0M1NjY1MUY0NjE0NjgwMEE0NTU1QiAvKiBKU1BheW1lbnRBZGRyZXNzLmgg
Ki87IH07CiAJCUExQ0M1NjY5MUY0NjE0ODAwMEE0NTU1QiAvKiBKU1BheW1lbnRDb21wbGV0ZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFDQzU2NEUx
RjQ2MTQ1MjAwQTQ1NTVCIC8qIEpTUGF5bWVudENvbXBsZXRlLmggKi87IH07CkBAIC0yODAxLDYg
KzI3OTcsMTIgQEAKIAkJQTFGNjAwNTYxRjQ3NjUwNTAwNzdFODNGIC8qIEpTUGF5bWVudFJlcXVl
c3RVcGRhdGVFdmVudEluaXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEExRjYwMDUwMUY0NzY0RkUwMDc3RTgzRiAvKiBKU1BheW1lbnRSZXF1ZXN0VXBk
YXRlRXZlbnRJbml0LmggKi87IH07CiAJCUExRjYwMDU4MUY0NzY1MDUwMDc3RTgzRiAvKiBKU1Bh
eW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEExRjYwMDUyMUY0NzY1MDEwMDc3RTgzRiAvKiBKU1BheW1lbnRSZXF1
ZXN0VXBkYXRlRXZlbnQuaCAqLzsgfTsKIAkJQTFGNjAwNUExRjQ3NjUwNTAwNzdFODNGIC8qIEpT
UGF5bWVudERldGFpbHNVcGRhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEExRjYwMDU0MUY0NzY1MDQwMDc3RTgzRiAvKiBKU1BheW1lbnREZXRhaWxz
VXBkYXRlLmggKi87IH07CisJCUExRjZDRkZGMUZFMDk2MjEwMDE4MDc4QyAvKiBBcHBsZVBheU1v
ZGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
MUY2Q0ZGQzFGRTA5NjIxMDAxODA3OEMgLyogQXBwbGVQYXlNb2RpZmllci5oICovOyB9OworCQlB
MUY2RDAwNjFGRTA5NkY2MDAxODA3OEMgLyogQXBwbGVQYXlQYXltZW50TWV0aG9kVHlwZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFGNkQwMDMxRkUw
OTZGNjAwMTgwNzhDIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUuaCAqLzsgfTsKKwkJQTFG
NkQwMEYxRkUwOTk5NDAwMTgwNzhDIC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kVHlwZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFGNkQwMEUxRkUw
OTk2NDAwMTgwNzhDIC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kVHlwZS5oICovOyB9OworCQlB
MUY2RDAxMDFGRTA5OTk2MDAxODA3OEMgLyogSlNBcHBsZVBheVBheW1lbnRNZXRob2RUeXBlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExRjZEMDBE
MUZFMDk5NjQwMDE4MDc4QyAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUuY3BwICovOyB9
OworCQlBMUY2RDAxMTFGRTA5OUIyMDAxODA3OEMgLyogSlNBcHBsZVBheU1vZGlmaWVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExRjZEMDBBMUZF
MDk5MjEwMDE4MDc4QyAvKiBKU0FwcGxlUGF5TW9kaWZpZXIuY3BwICovOyB9OworCQlBMUY2RDAx
MjFGRTA5OUI0MDAxODA3OEMgLyogSlNBcHBsZVBheU1vZGlmaWVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUY2RDAwQzFGRTA5OTIyMDAxODA3OEMg
LyogSlNBcHBsZVBheU1vZGlmaWVyLmggKi87IH07CiAJCUExRjc2QjEzMUY0NEMyNDUwMDE0QzMx
OCAvKiBQYXltZW50UmVxdWVzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTFGNzZCMTAxRjQ0QzI0NTAwMTRDMzE4IC8qIFBheW1lbnRSZXF1ZXN0Lmgg
Ki87IH07CiAJCUExRjc2QjE5MUY0NEMzOTAwMDE0QzMxOCAvKiBQYXltZW50TWV0aG9kRGF0YS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFGNzZCMTYx
RjQ0QzM5MDAwMTRDMzE4IC8qIFBheW1lbnRNZXRob2REYXRhLmggKi87IH07CiAJCUExRjc2QjFG
MUY0NEMzRkUwMDE0QzMxOCAvKiBQYXltZW50RGV0YWlsc0Jhc2UuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExRjc2QjFDMUY0NEMzRkUwMDE0QzMxOCAv
KiBQYXltZW50RGV0YWlsc0Jhc2UuaCAqLzsgfTsKQEAgLTEwNTg0LDExICsxMDU4Niw2IEBACiAJ
CUExQzE1MDc4MUUzRjJCM0UwMDMyQzk4QyAvKiBQcmV2aWV3Q29udmVydGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByZXZpZXdDb252ZXJ0ZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQTFDMkM1NzUxRkEyODUxNjAwQkE0NkZBIC8qIFBheW1lbnRTZXNz
aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBheW1lbnRTZXNzaW9uLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFDN0ZBQTExMzNBNUQzNTAwRDY3MzJEIC8qIEpTWFBhdGhS
ZXN1bHRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNY
UGF0aFJlc3VsdEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUExQ0JF
RjUwMUY5RUVFNzUwMDI4REU3QyAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlBMUNCRUY1MTFGOUVFRTc1MDAyOERFN0MgLyogQXBw
bGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXBw
bGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQlBMUNCRUY1MjFGOUVFRTc1MDAyOERFN0MgLyogQXBwbGVQYXlQYXltZW50TWV0aG9k
VXBkYXRlRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IEFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZUV2ZW50Lmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQTFDQkVGNUYxRjlGMDkwMjAwMjhERTdD
IC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUExQ0JFRjYwMUY5RjA5MDIwMDI4
REU3QyAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZUV2ZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFDQkVGNjMxRjlGMTEyOTAwMjhERTdD
IC8qIE1vY2tQYXltZW50TWV0aG9kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vY2tQYXltZW50TWV0aG9k
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExQ0MxMTYyMUU0OTNEMDEwMEVGQTY5
QyAvKiBGaWxlU3lzdGVtTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gRmlsZVN5c3RlbU1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFD
QzU2NEMxRjQ2MTQ1MDAwQTQ1NTVCIC8qIEpTUGF5bWVudE1ldGhvZERhdGEuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQYXltZW50TWV0aG9kRGF0YS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTA2NjIsNiArMTA2NTksMTQgQEAKIAkJQTFGNjAwNTIxRjQ3
NjUwMTAwNzdFODNGIC8qIEpTUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFGNjAwNTMxRjQ3NjUwMjAwNzdFODNGIC8qIEpT
UGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudEluaXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50SW5pdC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExRjYwMDU0MUY0NzY1MDQwMDc3RTgzRiAvKiBKU1Bh
eW1lbnREZXRhaWxzVXBkYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
UGF5bWVudERldGFpbHNVcGRhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTFG
NkNGRkMxRkUwOTYyMTAwMTgwNzhDIC8qIEFwcGxlUGF5TW9kaWZpZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQXBwbGVQYXlNb2RpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMUY2
Q0ZGRTFGRTA5NjIxMDAxODA3OEMgLyogQXBwbGVQYXlNb2RpZmllci5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQXBwbGVQ
YXlNb2RpZmllci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExRjZEMDAzMUZF
MDk2RjYwMDE4MDc4QyAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RUeXBlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEFwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTFGNkQwMDUxRkUwOTZGNjAwMTgwNzhDIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZFR5
cGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IEFwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlBMUY2RDAwQTFGRTA5OTIxMDAxODA3OEMgLyogSlNBcHBsZVBheU1v
ZGlmaWVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXBwbGVQ
YXlNb2RpZmllci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExRjZEMDBDMUZF
MDk5MjIwMDE4MDc4QyAvKiBKU0FwcGxlUGF5TW9kaWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNBcHBsZVBheU1vZGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUExRjZEMDBEMUZFMDk5NjQwMDE4MDc4QyAvKiBKU0FwcGxlUGF5UGF5bWVudE1l
dGhvZFR5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcHBs
ZVBheVBheW1lbnRNZXRob2RUeXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QTFGNkQwMEUxRkUwOTk2NDAwMTgwNzhDIC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kVHlwZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0FwcGxlUGF5UGF5bWVudE1ldGhv
ZFR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFGNzZCMTAxRjQ0QzI0NTAw
MTRDMzE4IC8qIFBheW1lbnRSZXF1ZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBheW1lbnRSZXF1ZXN0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExRjc2QjExMUY0NEMyNDUwMDE0QzMx
OCAvKiBQYXltZW50UmVxdWVzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYXltZW50UmVxdWVz
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExRjc2QjEyMUY0NEMyNDUwMDE0
QzMxOCAvKiBQYXltZW50UmVxdWVzdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGF5bWVudFJlcXVlc3QuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTUzODMsNiArMTUzODgsOCBAQAogCQkJCTFBOEE2
NDQwMUQxOUZDRkIwMEQwRTAwRiAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50
LmNwcCAqLywKIAkJCQkxQThBNjQ0MjFEMTlGQ0ZCMDBEMEUwMEYgLyogQXBwbGVQYXlQYXltZW50
TWV0aG9kU2VsZWN0ZWRFdmVudC5oICovLAogCQkJCTFBOEE2NDQzMUQxOUZDRkIwMEQwRTAwRiAv
KiBBcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50LmlkbCAqLywKKwkJCQlBMUY2RDAw
MzFGRTA5NkY2MDAxODA3OEMgLyogQXBwbGVQYXlQYXltZW50TWV0aG9kVHlwZS5oICovLAorCQkJ
CUExRjZEMDA1MUZFMDk2RjYwMDE4MDc4QyAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RUeXBlLmlk
bCAqLywKIAkJCQkxQURGREZEQTFFNzFEOERGMDA4RjVEMzQgLyogQXBwbGVQYXlQYXltZW50TWV0
aG9kVXBkYXRlLmggKi8sCiAJCQkJMUFERkRGREIxRTcxRDhERjAwOEY1RDM0IC8qIEFwcGxlUGF5
UGF5bWVudE1ldGhvZFVwZGF0ZS5pZGwgKi8sCiAJCQkJN0M2NTIyRjIxRTAwQTUxNzAwNjc3RjIy
IC8qIEFwcGxlUGF5UGF5bWVudFBhc3MuaCAqLywKQEAgLTE1NTM5LDYgKzE1NTQ2LDggQEAKIAkJ
CQlBMURGNUE4QTFGN0VDMDAwMDA1OEE0NzcgLyogSlNBcHBsZVBheU1lcmNoYW50Q2FwYWJpbGl0
eS5oICovLAogCQkJCUExRjkyOTZEMUY4RDlGNUEwMDUyM0FGMyAvKiBKU0FwcGxlUGF5TWVyY2hh
bnRWYWxpZGF0aW9uRXZlbnQuY3BwICovLAogCQkJCUExRjkyOTZFMUY4RDlGNUIwMDUyM0FGMyAv
KiBKU0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaCAqLywKKwkJCQlBMUY2RDAwQTFG
RTA5OTIxMDAxODA3OEMgLyogSlNBcHBsZVBheU1vZGlmaWVyLmNwcCAqLywKKwkJCQlBMUY2RDAw
QzFGRTA5OTIyMDAxODA3OEMgLyogSlNBcHBsZVBheU1vZGlmaWVyLmggKi8sCiAJCQkJN0M2NTIz
MUQxRTAxOEI1QTAwNjc3RjIyIC8qIEpTQXBwbGVQYXlQYXltZW50LmNwcCAqLywKIAkJCQk3QzY1
MjMwQTFFMDBEQkI0MDA2NzdGMjIgLyogSlNBcHBsZVBheVBheW1lbnQuaCAqLywKIAkJCQkxQURG
REZFMzFFNzFEQ0EwMDA4RjVEMzQgLyogSlNBcHBsZVBheVBheW1lbnRBdXRob3JpemF0aW9uUmVz
dWx0LmNwcCAqLywKQEAgLTE1NTUxLDEwICsxNTU2MCwxMCBAQAogCQkJCTdDNjUyMzBFMUUwMERC
QjQwMDY3N0YyMiAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZC5oICovLAogCQkJCTFBRTk2QTdD
MUQxQTBBODAwMEI4Njc2OCAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQu
Y3BwICovLAogCQkJCTFBRTk2QTdEMUQxQTBBODAwMEI4Njc2OCAvKiBKU0FwcGxlUGF5UGF5bWVu
dE1ldGhvZFNlbGVjdGVkRXZlbnQuaCAqLywKKwkJCQlBMUY2RDAwRDFGRTA5OTY0MDAxODA3OEMg
LyogSlNBcHBsZVBheVBheW1lbnRNZXRob2RUeXBlLmNwcCAqLywKKwkJCQlBMUY2RDAwRTFGRTA5
OTY0MDAxODA3OEMgLyogSlNBcHBsZVBheVBheW1lbnRNZXRob2RUeXBlLmggKi8sCiAJCQkJMUFE
RkRGRTUxRTcxRENBMDAwOEY1RDM0IC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlLmNw
cCAqLywKIAkJCQkxQURGREZFNjFFNzFEQ0EwMDA4RjVEMzQgLyogSlNBcHBsZVBheVBheW1lbnRN
ZXRob2RVcGRhdGUuaCAqLywKLQkJCQlBMUNCRUY1RjFGOUYwOTAyMDAyOERFN0MgLyogSlNBcHBs
ZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVudC5jcHAgKi8sCi0JCQkJQTFDQkVGNjAxRjlGMDkw
MjAwMjhERTdDIC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuaCAqLywKIAkJ
CQk3QzY1MjMwRjFFMDBEQkI0MDA2NzdGMjIgLyogSlNBcHBsZVBheVBheW1lbnRQYXNzLmNwcCAq
LywKIAkJCQk3QzY1MjMxMDFFMDBEQkI0MDA2NzdGMjIgLyogSlNBcHBsZVBheVBheW1lbnRQYXNz
LmggKi8sCiAJCQkJN0M2NTc5RUIxRTAwODU2NjAwRTNBMjdBIC8qIEpTQXBwbGVQYXlQYXltZW50
UmVxdWVzdC5jcHAgKi8sCkBAIC0yMDQ4MywxMSArMjA0OTIsMTAgQEAKIAkJCQlBMUY5Mjk2NzFG
OEQ5Q0RCMDA1MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5jcHAgKi8s
CiAJCQkJQTFGOTI5NjYxRjhEOUNEQjAwNTIzQUYzIC8qIEFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0
aW9uRXZlbnQuaCAqLywKIAkJCQlBMUY5Mjk2ODFGOEQ5Q0RCMDA1MjNBRjMgLyogQXBwbGVQYXlN
ZXJjaGFudFZhbGlkYXRpb25FdmVudC5pZGwgKi8sCisJCQkJQTFGNkNGRkMxRkUwOTYyMTAwMTgw
NzhDIC8qIEFwcGxlUGF5TW9kaWZpZXIuaCAqLywKKwkJCQlBMUY2Q0ZGRTFGRTA5NjIxMDAxODA3
OEMgLyogQXBwbGVQYXlNb2RpZmllci5pZGwgKi8sCiAJCQkJQTFERjVBQTExRjdFRTExMzAwNThB
NDc3IC8qIEFwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwICovLAogCQkJCUExREY1QUEwMUY3RUUx
MTMwMDU4QTQ3NyAvKiBBcHBsZVBheVBheW1lbnRIYW5kbGVyLmggKi8sCi0JCQkJQTFDQkVGNTEx
RjlFRUU3NTAwMjhERTdDIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZUV2ZW50LmNwcCAq
LywKLQkJCQlBMUNCRUY1MDFGOUVFRTc1MDAyOERFN0MgLyogQXBwbGVQYXlQYXltZW50TWV0aG9k
VXBkYXRlRXZlbnQuaCAqLywKLQkJCQlBMUNCRUY1MjFGOUVFRTc1MDAyOERFN0MgLyogQXBwbGVQ
YXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuaWRsICovLAogCQkJCUExREY1QTdDMUY3RUJEMEIw
MDU4QTQ3NyAvKiBBcHBsZVBheVJlcXVlc3QuaCAqLywKIAkJCQlBMURGNUE3RTFGN0VCRDBCMDA1
OEE0NzcgLyogQXBwbGVQYXlSZXF1ZXN0LmlkbCAqLywKIAkJCSk7CkBAIC0yNjEwMCwxMyArMjYx
MDgsMTQgQEAKIAkJCQk3QzY1NzlFMzFFMDA4MjcwMDBFM0EyN0EgLyogQXBwbGVQYXlMaW5lSXRl
bS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFERjVBODYxRjdFQkRGMjAwNThBNDc3IC8qIEFwcGxl
UGF5TWVyY2hhbnRDYXBhYmlsaXR5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMUY5Mjk2OTFGOEQ5
Q0RCMDA1MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQTFGNkNGRkYxRkUwOTYyMTAwMTgwNzhDIC8qIEFwcGxlUGF5TW9kaWZpZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjUyMzAxMUUwMEQwMzQwMDY3N0YyMiAvKiBBcHBsZVBh
eVBheW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOEE2NDUyMUQxOUZDRkIwMEQwRTAwRiAv
KiBBcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdD
NjUyMkZCMUUwMEM5MDkwMDY3N0YyMiAvKiBBcHBsZVBheVBheW1lbnRDb250YWN0LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBMURGNUFBMjFGN0VFMTEzMDA1OEE0NzcgLyogQXBwbGVQYXlQYXltZW50
SGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTIyRUYxRTAwQTRDNzAwNjc3RjIyIC8q
IEFwcGxlUGF5UGF5bWVudE1ldGhvZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE4QTY0NTYxRDE5
RkNGQzAwRDBFMDBGIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuaCBpbiBI
ZWFkZXJzICovLAotCQkJCUExQ0JFRjUzMUY5RUVFNzUwMDI4REU3QyAvKiBBcHBsZVBheVBheW1l
bnRNZXRob2RVcGRhdGVFdmVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTFGNkQwMDYxRkUwOTZG
NjAwMTgwNzhDIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTdDNjUyMkY1MUUwMEE1MTcwMDY3N0YyMiAvKiBBcHBsZVBheVBheW1lbnRQYXNzLmggaW4g
SGVhZGVycyAqLywKIAkJCQk3QzY1NzlFMDFFMDA3OUY5MDBFM0EyN0EgLyogQXBwbGVQYXlQYXlt
ZW50UmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFERjVBN0YxRjdFQkQwQjAwNThBNDc3
IC8qIEFwcGxlUGF5UmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzM3OCwxMiArMjczODcs
MTMgQEAKIAkJCQk3QzY1NzlGMDFFMDA4NTY2MDBFM0EyN0EgLyogSlNBcHBsZVBheUxpbmVJdGVt
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMURGNUE4RTFGN0VDMDAyMDA1OEE0NzcgLyogSlNBcHBs
ZVBheU1lcmNoYW50Q2FwYWJpbGl0eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFGOTI5NzAxRjhE
OUY1QjAwNTIzQUYzIC8qIEpTQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQTFGNkQwMTIxRkUwOTlCNDAwMTgwNzhDIC8qIEpTQXBwbGVQYXlNb2Rp
Zmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTIzMTQxRTAwREJCNDAwNjc3RjIyIC8qIEpT
QXBwbGVQYXlQYXltZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUU5NkE4QjFEMUEwREREMDBC
ODY3NjggLyogSlNBcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTdDNjUyMzE2MUUwMERCQjUwMDY3N0YyMiAvKiBKU0FwcGxlUGF5UGF5bWVudENvbnRh
Y3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjUyMzE4MUUwMERCQjUwMDY3N0YyMiAvKiBKU0Fw
cGxlUGF5UGF5bWVudE1ldGhvZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFOTZBOEQxRDFBMERE
RDAwQjg2NzY4IC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kU2VsZWN0ZWRFdmVudC5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJQTFDQkVGNjIxRjlGMDkwNDAwMjhERTdDIC8qIEpTQXBwbGVQYXlQYXlt
ZW50TWV0aG9kVXBkYXRlRXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUExRjZEMDBGMUZFMDk5
OTQwMDE4MDc4QyAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTdDNjUyMzFBMUUwMERCQjUwMDY3N0YyMiAvKiBKU0FwcGxlUGF5UGF5bWVudFBhc3Mu
aCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjU3OUYyMUUwMDg1NjYwMEUzQTI3QSAvKiBKU0FwcGxl
UGF5UGF5bWVudFJlcXVlc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUExREY1QThGMUY3RUMwMDIw
MDU4QTQ3NyAvKiBKU0FwcGxlUGF5UmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDMxMCw3
ICszMDMyMCw2IEBACiAJCQkJMzFBNzk1QzgxODg4QkNCNTAwMzgyRjkwIC8qIEFOR0xFSW5zdGFu
Y2VkQXJyYXlzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5MDcwN0U2MTIxOUMwNDMwMEQ5MEU1
MSAvKiBBTkdMRVdlYktpdEJyaWRnZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMUY5Mjk2QTFG
OEQ5Q0RCMDA1MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5jcHAgaW4g
U291cmNlcyAqLywKLQkJCQlBMUNCRUY1NDFGOUVFRTc1MDAyOERFN0MgLyogQXBwbGVQYXlQYXlt
ZW50TWV0aG9kVXBkYXRlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0QwRUVFMEUxNDc0
M0YzOTAwM0VBRkEyIC8qIEF1ZGlvRGVzdGluYXRpb25JT1MuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQ0Q1NTk2OTExNDc1QjY3ODAwMUQwQkQwIC8qIEF1ZGlvRmlsZVJlYWRlcklPUy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlDREE3OTgyNzE3MEEyNzkxMDBENDVDNTUgLyogQXVkaW9TZXNzaW9u
SU9TLm1tIGluIFNvdXJjZXMgKi8sCkBAIC0zMDM3NSw3ICszMDM4NCw4IEBACiAJCQkJQ0QwNjNG
ODIxRTIzRkE4OTAwODEyQkUzIC8qIEluaXREYXRhUmVnaXN0cnkuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNkE3Mjc5OEMxRjE2QzI5QzAwM0YzOUI4IC8qIEluc3BlY3RvclNoYWRlclByb2dyYW0u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTFGOTI5NkYxRjhEOUY1QjAwNTIzQUYzIC8qIEpTQXBw
bGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlBMUNC
RUY2MTFGOUYwOTA0MDAyOERFN0MgLyogSlNBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVu
dC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBMUY2RDAxMTFGRTA5OUIyMDAxODA3OEMgLyogSlNB
cHBsZVBheU1vZGlmaWVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUExRjZEMDEwMUZFMDk5OTYw
MDE4MDc4QyAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNTM4RUM5M0UxRjk5QkY1QTAwNEQyMkE4IC8qIEpTUXVpY2tUaW1lUGx1Z2luUmVwbGFj
ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM1QzQ3NzAwOUFDNEQ3MzAwQTZBQUI0IC8q
IEtleUV2ZW50TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RBOThFMEIxNjAzQ0Q2MDAwRkVB
M0IxIC8qIExlZ2FjeUNETS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudE5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5o
CmluZGV4IDlmYjA0NWRlMTQ2ZWZjMWVkOTljODQ4NWU0NWY5MTkyMWU1MTIxN2QuLjlmNDk1NzA0
ODFiMTkxYWVlNjlkZDk0MGQ3ZThkODIzMTAzODM1NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMu
aApAQCAtNTMsNyArNTMsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oYW5pbWF0
aW9uZW5kKSBcCiAgICAgbWFjcm8oYW5pbWF0aW9uaXRlcmF0aW9uKSBcCiAgICAgbWFjcm8oYW5p
bWF0aW9uc3RhcnQpIFwKLSAgICBtYWNybyhhcHBsZXBheXBheW1lbnRtZXRob2RjaGFuZ2VkKSBc
CiAgICAgbWFjcm8oYXBwbGVwYXl2YWxpZGF0ZW1lcmNoYW50KSBcCiAgICAgbWFjcm8oYXVkaW9l
bmQpIFwKICAgICBtYWNybyhhdWRpb3Byb2Nlc3MpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudE5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4K
aW5kZXggMTg4OTA2OTFjZGIyY2EyYzRjNmMxZTYyN2RjNjkzNDFmYjc2NzZmZi4uMjBiNWExMzQ5
NjRkYWQ2ODczMDY5MThjYmUzZDczZDY5YmZmNWQyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMu
aW4KQEAgLTQyLDcgKzQyLDYgQEAgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50CiBBcHBsZVBh
eU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50IGNvbmRpdGlvbmFsPUFQUExFX1BBWQogQXBwbGVQYXlQ
YXltZW50QXV0aG9yaXplZEV2ZW50IGNvbmRpdGlvbmFsPUFQUExFX1BBWQogQXBwbGVQYXlQYXlt
ZW50TWV0aG9kU2VsZWN0ZWRFdmVudCBjb25kaXRpb25hbD1BUFBMRV9QQVkKLUFwcGxlUGF5UGF5
bWVudE1ldGhvZFVwZGF0ZUV2ZW50IGNvbmRpdGlvbmFsPUFQUExFX1BBWQogQXBwbGVQYXlTaGlw
cGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50IGNvbmRpdGlvbmFsPUFQUExFX1BBWQogQXBwbGVQYXlT
aGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQgY29uZGl0aW9uYWw9QVBQTEVfUEFZCiBBcHBsZVBh
eVZhbGlkYXRlTWVyY2hhbnRFdmVudCBjb25kaXRpb25hbD1BUFBMRV9QQVkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwCmluZGV4IDdlNjc1
YzkzOGZlY2RkZTkxZDk5YWYxNWYyOGFmNmFiZmJlMDJiZjUuLmEyMWNiMWY4NTU5NDBiYzU4YTY2
MTMxZTFmMzljNTMzNDI4MjBmNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
TW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9N
b2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcApAQCAtMTA1LDYgKzEwNSw0MSBAQCB2b2lkIE1vY2tQ
YXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKGNvbnN0IFBheW1l
bnRNZXJjaGFudFNlcwogICAgIH0pOwogfQogCitzdGF0aWMgQXBwbGVQYXlMaW5lSXRlbSBjb252
ZXJ0KGNvbnN0IEFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpMaW5lSXRlbSYgbGluZUl0
ZW0pCit7CisgICAgQXBwbGVQYXlMaW5lSXRlbSByZXN1bHQ7CisgICAgcmVzdWx0LnR5cGUgPSBs
aW5lSXRlbS50eXBlOworICAgIHJlc3VsdC5sYWJlbCA9IGxpbmVJdGVtLmxhYmVsOworICAgIHJl
c3VsdC5hbW91bnQgPSBsaW5lSXRlbS5hbW91bnQ7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwor
dm9pZCBNb2NrUGF5bWVudENvb3JkaW5hdG9yOjp1cGRhdGVUb3RhbEFuZExpbmVJdGVtcyhjb25z
dCBBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXMmIHRvdGFs
QW5kTGluZUl0ZW1zKQoreworICAgIG1fdG90YWwgPSBjb252ZXJ0KHRvdGFsQW5kTGluZUl0ZW1z
LnRvdGFsKTsKKyAgICBtX2xpbmVJdGVtcy5jbGVhcigpOworICAgIGZvciAoYXV0byYgbGluZUl0
ZW0gOiB0b3RhbEFuZExpbmVJdGVtcy5saW5lSXRlbXMpCisgICAgICAgIG1fbGluZUl0ZW1zLmFw
cGVuZChjb252ZXJ0KGxpbmVJdGVtKSk7Cit9CisKK3ZvaWQgTW9ja1BheW1lbnRDb29yZGluYXRv
cjo6Y29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFNoaXBwaW5n
TWV0aG9kVXBkYXRlPiYmIHNoaXBwaW5nTWV0aG9kVXBkYXRlKQoreworICAgIGlmIChzaGlwcGlu
Z01ldGhvZFVwZGF0ZSkKKyAgICAgICAgdXBkYXRlVG90YWxBbmRMaW5lSXRlbXMoc2hpcHBpbmdN
ZXRob2RVcGRhdGUtPm5ld1RvdGFsQW5kTGluZUl0ZW1zKTsKK30KKwordm9pZCBNb2NrUGF5bWVu
dENvb3JkaW5hdG9yOjpjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihzdGQ6Om9wdGlv
bmFsPFNoaXBwaW5nQ29udGFjdFVwZGF0ZT4mJiBzaGlwcGluZ0NvbnRhY3RVcGRhdGUpCit7Cisg
ICAgaWYgKHNoaXBwaW5nQ29udGFjdFVwZGF0ZSkKKyAgICAgICAgdXBkYXRlVG90YWxBbmRMaW5l
SXRlbXMoc2hpcHBpbmdDb250YWN0VXBkYXRlLT5uZXdUb3RhbEFuZExpbmVJdGVtcyk7Cit9Cisg
ICAgCit2b2lkIE1vY2tQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlUGF5bWVudE1ldGhvZFNl
bGVjdGlvbihzdGQ6Om9wdGlvbmFsPFBheW1lbnRNZXRob2RVcGRhdGU+JiYgcGF5bWVudE1ldGhv
ZFVwZGF0ZSkKK3sKKyAgICBpZiAocGF5bWVudE1ldGhvZFVwZGF0ZSkKKyAgICAgICAgdXBkYXRl
VG90YWxBbmRMaW5lSXRlbXMocGF5bWVudE1ldGhvZFVwZGF0ZS0+bmV3VG90YWxBbmRMaW5lSXRl
bXMpOworfQorCiB2b2lkIE1vY2tQYXltZW50Q29vcmRpbmF0b3I6OmNoYW5nZVNoaXBwaW5nT3B0
aW9uKFN0cmluZyYmIHNoaXBwaW5nT3B0aW9uKQogewogICAgIGRpc3BhdGNoSWZTaG93aW5nKFtt
YWluRnJhbWUgPSBtYWtlUmVmKG1fbWFpbkZyYW1lKSwgc2hpcHBpbmdPcHRpb24gPSBXVEZNb3Zl
KHNoaXBwaW5nT3B0aW9uKV0oKSBtdXRhYmxlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmgKaW5kZXggYmJmYjM5ODlmODU4YmQzYTJmOTdiNGQy
YjBlMzg3YzYzZGY0MWYyZC4uMzIxNDYzMTllMjI2ZDVhMjI3ZTMyZmFmZTkzNGY1MjJjNTZjYjFh
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5h
dG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9y
LmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAKKyNpbmNsdWRl
ICJBcHBsZVBheUxpbmVJdGVtLmgiCiAjaW5jbHVkZSAiTW9ja1BheW1lbnRBZGRyZXNzLmgiCiAj
aW5jbHVkZSAiUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgiCiAKQEAgLTQ1LDYgKzQ2LDkgQEAg
cHVibGljOgogICAgIHZvaWQgYWNjZXB0UGF5bWVudCgpOwogICAgIHZvaWQgY2FuY2VsUGF5bWVu
dCgpOwogCisgICAgY29uc3QgQXBwbGVQYXlMaW5lSXRlbSYgdG90YWwoKSBjb25zdCB7IHJldHVy
biBtX3RvdGFsOyB9CisgICAgY29uc3QgVmVjdG9yPEFwcGxlUGF5TGluZUl0ZW0+JiBsaW5lSXRl
bXMoKSBjb25zdCB7IHJldHVybiBtX2xpbmVJdGVtczsgfQorCiAgICAgdm9pZCByZWYoKSBjb25z
dCB7IH0KICAgICB2b2lkIGRlcmVmKCkgY29uc3QgeyB9CiAKQEAgLTU1LDE2ICs1OSwyMCBAQCBw
cml2YXRlOgogICAgIHZvaWQgb3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmLCBjb25zdCBT
dHJpbmcmLCBXVEY6OkZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYpOwogICAgIGJvb2wgc2hvd1BheW1l
bnRVSShjb25zdCBVUkwmLCBjb25zdCBWZWN0b3I8VVJMPiYsIGNvbnN0IEFwcGxlUGF5U2Vzc2lv
blBheW1lbnRSZXF1ZXN0JikgZmluYWw7CiAgICAgdm9pZCBjb21wbGV0ZU1lcmNoYW50VmFsaWRh
dGlvbihjb25zdCBQYXltZW50TWVyY2hhbnRTZXNzaW9uJikgZmluYWw7Ci0gICAgdm9pZCBjb21w
bGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8U2hpcHBpbmdNZXRob2RV
cGRhdGU+JiYpIGZpbmFsIHsgfQotICAgIHZvaWQgY29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxl
Y3Rpb24oc3RkOjpvcHRpb25hbDxTaGlwcGluZ0NvbnRhY3RVcGRhdGU+JiYpIGZpbmFsIHsgfQot
ICAgIHZvaWQgY29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8UGF5
bWVudE1ldGhvZFVwZGF0ZT4mJikgZmluYWwgeyB9CisgICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5n
TWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8U2hpcHBpbmdNZXRob2RVcGRhdGU+JiYpIGZp
bmFsOworICAgIHZvaWQgY29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24oc3RkOjpvcHRp
b25hbDxTaGlwcGluZ0NvbnRhY3RVcGRhdGU+JiYpIGZpbmFsOworICAgIHZvaWQgY29tcGxldGVQ
YXltZW50TWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8UGF5bWVudE1ldGhvZFVwZGF0ZT4m
JikgZmluYWw7CiAgICAgdm9pZCBjb21wbGV0ZVBheW1lbnRTZXNzaW9uKHN0ZDo6b3B0aW9uYWw8
UGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQ+JiYpIGZpbmFsOwogICAgIHZvaWQgYWJvcnRQYXlt
ZW50U2Vzc2lvbigpIGZpbmFsOwogICAgIHZvaWQgY2FuY2VsUGF5bWVudFNlc3Npb24oKSBmaW5h
bDsKICAgICB2b2lkIHBheW1lbnRDb29yZGluYXRvckRlc3Ryb3llZCgpIGZpbmFsOwogCisgICAg
dm9pZCB1cGRhdGVUb3RhbEFuZExpbmVJdGVtcyhjb25zdCBBcHBsZVBheVNlc3Npb25QYXltZW50
UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXMmKTsKKwogICAgIE1haW5GcmFtZSYgbV9tYWluRnJh
bWU7CiAgICAgTW9ja1BheW1lbnRBZGRyZXNzIG1fc2hpcHBpbmdBZGRyZXNzOworICAgIEFwcGxl
UGF5TGluZUl0ZW0gbV90b3RhbDsKKyAgICBWZWN0b3I8QXBwbGVQYXlMaW5lSXRlbT4gbV9saW5l
SXRlbXM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbAppbmRleCA5OWViZjgyYzRmMmM2
YWU2M2U1YTVkNzE2YjdiMTYwYTJmNmMwYzExLi4yMzE0ZWVkYjJhZWJjYjYyYzUxYWQyYjJlYzJj
NTdiOWFjNDMwYWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1l
bnRDb29yZGluYXRvci5pZGwKQEAgLTMyLDQgKzMyLDcgQEAKICAgICB2b2lkIGNoYW5nZVBheW1l
bnRNZXRob2QoQXBwbGVQYXlQYXltZW50TWV0aG9kIHBheW1lbnRNZXRob2QpOwogICAgIHZvaWQg
YWNjZXB0UGF5bWVudCgpOwogICAgIHZvaWQgY2FuY2VsUGF5bWVudCgpOworCisgICAgcmVhZG9u
bHkgYXR0cmlidXRlIEFwcGxlUGF5TGluZUl0ZW0gdG90YWw7CisgICAgcmVhZG9ubHkgYXR0cmli
dXRlIHNlcXVlbmNlPEFwcGxlUGF5TGluZUl0ZW0+IGxpbmVJdGVtczsKIH07CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDlj
Zjg0MTgyMGM3YjdmYTk5NGNiNzEzMDUzYThlODYyOWQ0MGJjOS4uMzE1ZWUwZGJmNjhhMTVjODcz
MzY0MzY0ZDc5N2NmZjM3Mjg4YjZlMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTEyLTEy
ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1
ZXN0XSBSZW1vdmUgQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQgYW5kIHVzZSBQYXlt
ZW50RGV0YWlsc01vZGlmaWVycyBpbnN0ZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xODA3MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UGF5
bWVudERldGFpbHNNb2RpZmllci5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudERldGFpbHNNb2RpZmllci5o
dHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBs
ZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVudC5odHRwcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9k
VXBkYXRlRXZlbnQuaHR0cHMuaHRtbDogUmVtb3ZlZC4KKwogMjAxNy0xMi0xMiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTmF2aWdhdGlvbiByZXF1ZXN0cyBz
aG91bGQgdXNlIG5hdmlnYXRlIGZldGNoIG1vZGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudERldGFpbHNNb2RpZmllci5odHRw
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBs
ZVBheVBheW1lbnREZXRhaWxzTW9kaWZpZXIuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljc5NmM0NjAzNzgxMDUwMjNmNDVhOTYzNzkxOGQ4ZjUwZDEwZmFhMjUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRE
ZXRhaWxzTW9kaWZpZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjYgQEAKK1Rlc3Qg
UGF5bWVudERldGFpbHNNb2RpZmllciB3aXRoIEFwcGxlIFBheS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1Rlc3RpbmcgUGF5bWVudERldGFpbHNNb2RpZmllciBhZnRlciBzZWxl
Y3RpbmcgYSAnY3JlZGl0JyBwYXltZW50IG1ldGhvZCB0eXBlLgorUEFTUyBpbnRlcm5hbHMubW9j
a1BheW1lbnRDb29yZGluYXRvci50b3RhbC5sYWJlbCBpcyAnQ3JlZGl0IHRvdGFsIG92ZXJyaWRl
JworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci50b3RhbC5hbW91bnQgaXMg
JzE1LjAwJworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5saW5lSXRlbXNb
MF0ubGFiZWwgaXMgJ0NyZWRpdCBzdXJjaGFyZ2UnCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVu
dENvb3JkaW5hdG9yLmxpbmVJdGVtc1swXS5hbW91bnQgaXMgJzUuMDAnCisKK1Rlc3RpbmcgUGF5
bWVudERldGFpbHNNb2RpZmllciBhZnRlciBzZWxlY3RpbmcgYSAnZGViaXQnIHBheW1lbnQgbWV0
aG9kIHR5cGUuCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnRvdGFsLmxh
YmVsIGlzICdEZWJpdCB0b3RhbCBvdmVycmlkZScKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50
Q29vcmRpbmF0b3IudG90YWwuYW1vdW50IGlzICcxMy4wMCcKK1BBU1MgaW50ZXJuYWxzLm1vY2tQ
YXltZW50Q29vcmRpbmF0b3IubGluZUl0ZW1zWzBdLmxhYmVsIGlzICdEZWJpdCBzdXJjaGFyZ2Un
CitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmxpbmVJdGVtc1swXS5hbW91
bnQgaXMgJzMuMDAnCisKK1Rlc3RpbmcgUGF5bWVudERldGFpbHNNb2RpZmllciBhZnRlciBzZWxl
Y3RpbmcgYW4gdW5tb2RpZmllZCBwYXltZW50IG1ldGhvZCB0eXBlLgorUEFTUyBpbnRlcm5hbHMu
bW9ja1BheW1lbnRDb29yZGluYXRvci50b3RhbC5sYWJlbCBpcyAnVG90YWwnCitQQVNTIGludGVy
bmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnRvdGFsLmFtb3VudCBpcyAnMTAuMDAnCitQQVNT
IGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmxpbmVJdGVtc1swXSBpcyB1bmRlZmlu
ZWQuCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBh
eVBheW1lbnREZXRhaWxzTW9kaWZpZXIuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudERldGFpbHNNb2RpZmllci5odHRwcy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjc3YTdkYmFlM2MwZTZmMjcwNzYxY2MyYTc3ZWJiNmZjNWQzMjRmY2QKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBs
ZVBheVBheW1lbnREZXRhaWxzTW9kaWZpZXIuaHR0cHMuaHRtbApAQCAtMCwwICsxLDE2OSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvcGF5bWVudC1yZXF1ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdD4KKworZGVzY3JpcHRpb24oIlRlc3QgUGF5bWVudERldGFpbHNNb2Rp
ZmllciB3aXRoIEFwcGxlIFBheS4iKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CitmdW5jdGlvbiB2YWxpZFBheW1lbnRNZXRob2QoKSB7CisgICAgcmV0dXJuIHsKKyAgICAgICAg
c3VwcG9ydGVkTWV0aG9kczogJ2h0dHBzOi8vYXBwbGUuY29tL2FwcGxlLXBheScsCisgICAgICAg
IGRhdGE6IHsKKyAgICAgICAgICAgIHZlcnNpb246IDIsCisgICAgICAgICAgICBtZXJjaGFudElk
ZW50aWZpZXI6ICcnLAorICAgICAgICAgICAgY291bnRyeUNvZGU6ICdVUycsCisgICAgICAgICAg
ICBzdXBwb3J0ZWROZXR3b3JrczogWyd2aXNhJywgJ21hc3RlckNhcmQnXSwKKyAgICAgICAgICAg
IG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbJ3N1cHBvcnRzM0RTJ10sCisgICAgICAgIH0sCisgICAg
fQorfQorCitmdW5jdGlvbiB2YWxpZFBheW1lbnREZXRhaWxzKCkgeworICAgIHJldHVybiB7Cisg
ICAgICAgIHRvdGFsOiB7CisgICAgICAgICAgICBsYWJlbDogJ1RvdGFsJywKKyAgICAgICAgICAg
IGFtb3VudDogeworICAgICAgICAgICAgICAgIGN1cnJlbmN5OiAnVVNEJywKKyAgICAgICAgICAg
ICAgICB2YWx1ZTogJzEwLjAwJywKKyAgICAgICAgICAgIH0sCisgICAgICAgIH0sCisgICAgICAg
IG1vZGlmaWVyczogW3sKKyAgICAgICAgICAgIHN1cHBvcnRlZE1ldGhvZHM6ICdodHRwczovL2Fw
cGxlLmNvbS9hcHBsZS1wYXknLAorICAgICAgICAgICAgdG90YWw6IHsKKyAgICAgICAgICAgICAg
ICBsYWJlbDogJ0NyZWRpdCB0b3RhbCBvdmVycmlkZScsCisgICAgICAgICAgICAgICAgYW1vdW50
OiB7CisgICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5OiAnVVNEJywKKyAgICAgICAgICAgICAg
ICAgICAgdmFsdWU6ICcxNS4wMCcsCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIH0s
CisgICAgICAgICAgICBhZGRpdGlvbmFsRGlzcGxheUl0ZW1zOiBbeworICAgICAgICAgICAgICAg
IGxhYmVsOiAnQ3JlZGl0IHN1cmNoYXJnZScsCisgICAgICAgICAgICAgICAgYW1vdW50OiB7Cisg
ICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5OiAnVVNEJywKKyAgICAgICAgICAgICAgICAgICAg
dmFsdWU6ICc1LjAwJywKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgfV0sCisgICAg
ICAgICAgICBkYXRhOiB7CisgICAgICAgICAgICAgICAgcGF5bWVudE1ldGhvZFR5cGU6ICdjcmVk
aXQnLAorICAgICAgICAgICAgfSwKKyAgICAgICAgfSwgeworICAgICAgICAgICAgc3VwcG9ydGVk
TWV0aG9kczogJ2h0dHBzOi8vYXBwbGUuY29tL2FwcGxlLXBheScsCisgICAgICAgICAgICB0b3Rh
bDogeworICAgICAgICAgICAgICAgIGxhYmVsOiAnRHVwbGljYXRlIGNyZWRpdCB0b3RhbCBvdmVy
cmlkZScsCisgICAgICAgICAgICAgICAgYW1vdW50OiB7CisgICAgICAgICAgICAgICAgICAgIGN1
cnJlbmN5OiAnVVNEJywKKyAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICcxNy4wMCcsCisgICAg
ICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBhZGRpdGlvbmFsRGlz
cGxheUl0ZW1zOiBbeworICAgICAgICAgICAgICAgIGxhYmVsOiAnRHVwbGljYXRlIGNyZWRpdCBz
dXJjaGFyZ2UnLAorICAgICAgICAgICAgICAgIGFtb3VudDogeworICAgICAgICAgICAgICAgICAg
ICBjdXJyZW5jeTogJ1VTRCcsCisgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnNy4wMCcsCisg
ICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIH1dLAorICAgICAgICAgICAgZGF0YTogewor
ICAgICAgICAgICAgICAgIHBheW1lbnRNZXRob2RUeXBlOiAnY3JlZGl0JywKKyAgICAgICAgICAg
IH0sCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgIHN1cHBvcnRlZE1ldGhvZHM6ICdodHRwczov
L2FwcGxlLmNvbS9hcHBsZS1wYXknLAorICAgICAgICAgICAgdG90YWw6IHsKKyAgICAgICAgICAg
ICAgICBsYWJlbDogJ0RlYml0IHRvdGFsIG92ZXJyaWRlJywKKyAgICAgICAgICAgICAgICBhbW91
bnQ6IHsKKyAgICAgICAgICAgICAgICAgICAgY3VycmVuY3k6ICdVU0QnLAorICAgICAgICAgICAg
ICAgICAgICB2YWx1ZTogJzEzLjAwJywKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgIGFkZGl0aW9uYWxEaXNwbGF5SXRlbXM6IFt7CisgICAgICAgICAgICAg
ICAgbGFiZWw6ICdEZWJpdCBzdXJjaGFyZ2UnLAorICAgICAgICAgICAgICAgIGFtb3VudDogewor
ICAgICAgICAgICAgICAgICAgICBjdXJyZW5jeTogJ1VTRCcsCisgICAgICAgICAgICAgICAgICAg
IHZhbHVlOiAnMy4wMCcsCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIH1dLAorICAg
ICAgICAgICAgZGF0YTogeworICAgICAgICAgICAgICAgIHBheW1lbnRNZXRob2RUeXBlOiAnZGVi
aXQnLAorICAgICAgICAgICAgfSwKKyAgICAgICAgfV0sCisgICAgfQorfQorCithc3luYyBmdW5j
dGlvbiBydW5UZXN0cygpIHsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0
KSA9PiB7CisgICAgICAgIGRlYnVnKCJUZXN0aW5nIFBheW1lbnREZXRhaWxzTW9kaWZpZXIgYWZ0
ZXIgc2VsZWN0aW5nIGEgJ2NyZWRpdCcgcGF5bWVudCBtZXRob2QgdHlwZS4iKTsKKworICAgICAg
ICB2YXIgcGF5bWVudFJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3ZhbGlkUGF5bWVudE1l
dGhvZCgpXSwgdmFsaWRQYXltZW50RGV0YWlscygpKTsKKworICAgICAgICBhY3RpdmF0ZVRoZW4o
KCkgPT4geworICAgICAgICAgICAgcGF5bWVudFJlcXVlc3Quc2hvdygpLnRoZW4oKHJlc3BvbnNl
KSA9PiB7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENv
b3JkaW5hdG9yLnRvdGFsLmxhYmVsIiwgIidDcmVkaXQgdG90YWwgb3ZlcnJpZGUnIik7CisgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnRv
dGFsLmFtb3VudCIsICInMTUuMDAnIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImludGVy
bmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmxpbmVJdGVtc1swXS5sYWJlbCIsICInQ3JlZGl0
IHN1cmNoYXJnZSciKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQ
YXltZW50Q29vcmRpbmF0b3IubGluZUl0ZW1zWzBdLmFtb3VudCIsICInNS4wMCciKTsKKyAgICAg
ICAgICAgICAgICByZXNwb25zZS5jb21wbGV0ZSgic3VjY2VzcyIpOworICAgICAgICAgICAgICAg
IHJlc29sdmUoKTsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICBpbnRlcm5hbHMubW9j
a1BheW1lbnRDb29yZGluYXRvci5jaGFuZ2VQYXltZW50TWV0aG9kKHsgdHlwZTogJ2NyZWRpdCcg
fSk7CisgICAgICAgICAgICBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5hY2NlcHRQ
YXltZW50KCk7CisgICAgICAgIH0pOworICAgIH0pOworICAgIGRlYnVnKCIiKTsKKyAgICAKKyAg
ICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgIGRlYnVn
KCJUZXN0aW5nIFBheW1lbnREZXRhaWxzTW9kaWZpZXIgYWZ0ZXIgc2VsZWN0aW5nIGEgJ2RlYml0
JyBwYXltZW50IG1ldGhvZCB0eXBlLiIpOworCisgICAgICAgIHZhciBwYXltZW50UmVxdWVzdCA9
IG5ldyBQYXltZW50UmVxdWVzdChbdmFsaWRQYXltZW50TWV0aG9kKCldLCB2YWxpZFBheW1lbnRE
ZXRhaWxzKCkpOworCisgICAgICAgIGFjdGl2YXRlVGhlbigoKSA9PiB7CisgICAgICAgICAgICBw
YXltZW50UmVxdWVzdC5zaG93KCkudGhlbigocmVzcG9uc2UpID0+IHsKKyAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IudG90YWwubGFiZWwi
LCAiJ0RlYml0IHRvdGFsIG92ZXJyaWRlJyIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci50b3RhbC5hbW91bnQiLCAiJzEzLjAwJyIp
OworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGlu
YXRvci5saW5lSXRlbXNbMF0ubGFiZWwiLCAiJ0RlYml0IHN1cmNoYXJnZSciKTsKKyAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IubGluZUl0
ZW1zWzBdLmFtb3VudCIsICInMy4wMCciKTsKKyAgICAgICAgICAgICAgICByZXNwb25zZS5jb21w
bGV0ZSgic3VjY2VzcyIpOworICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAg
IH0pOworCisgICAgICAgICAgICBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5jaGFu
Z2VQYXltZW50TWV0aG9kKHsgdHlwZTogJ2RlYml0JyB9KTsKKyAgICAgICAgICAgIGludGVybmFs
cy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmFjY2VwdFBheW1lbnQoKTsKKyAgICAgICAgfSk7Cisg
ICAgfSk7CisgICAgZGVidWcoIiIpOworCisgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUs
IHJlamVjdCkgPT4geworICAgICAgICBkZWJ1ZygiVGVzdGluZyBQYXltZW50RGV0YWlsc01vZGlm
aWVyIGFmdGVyIHNlbGVjdGluZyBhbiB1bm1vZGlmaWVkIHBheW1lbnQgbWV0aG9kIHR5cGUuIik7
CisKKyAgICAgICAgdmFyIHBheW1lbnRSZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFt2YWxp
ZFBheW1lbnRNZXRob2QoKV0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7CisKKyAgICAgICAgYWN0
aXZhdGVUaGVuKCgpID0+IHsKKyAgICAgICAgICAgIHBheW1lbnRSZXF1ZXN0LnNob3coKS50aGVu
KChyZXNwb25zZSkgPT4geworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9j
a1BheW1lbnRDb29yZGluYXRvci50b3RhbC5sYWJlbCIsICInVG90YWwnIik7CisgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnRvdGFsLmFt
b3VudCIsICInMTAuMDAnIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmVVbmRlZmluZWQoImlu
dGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmxpbmVJdGVtc1swXSIpOworICAgICAgICAg
ICAgICAgIHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7CisgICAgICAgICAgICAgICAgcmVz
b2x2ZSgpOworICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIGludGVybmFscy5tb2NrUGF5
bWVudENvb3JkaW5hdG9yLmNoYW5nZVBheW1lbnRNZXRob2QoeyB0eXBlOiAncHJlcGFpZCcgfSk7
CisgICAgICAgICAgICBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5hY2NlcHRQYXlt
ZW50KCk7CisgICAgICAgIH0pOworICAgIH0pOworICAgIGRlYnVnKCIiKTsKKworICAgIGZpbmlz
aEpTVGVzdCgpOworfQorCitydW5UZXN0cygpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlQYXlt
ZW50TWV0aG9kVXBkYXRlRXZlbnQuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuaHR0
cHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MDdiMThjNDU3
ODFhM2JkMzVhYmU1MzZlNmVkN2Q3MjE0NDlkM2ZlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5
L0FwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZUV2ZW50Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLVRlc3QgdGhlIGFwcGxlcGF5cGF5bWVudG1ldGhv
ZGNoYW5nZWQgZXZlbnQuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1UZXN0aW5n
IEFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQKLQotUEFTUyBldmVudC5wYXltZW50TWV0
aG9kLmRpc3BsYXlOYW1lIGlzIGV4cGVjdGVkUGF5bWVudE1ldGhvZC5kaXNwbGF5TmFtZQotUEFT
UyBldmVudC5wYXltZW50TWV0aG9kLm5ldHdvcmsgaXMgZXhwZWN0ZWRQYXltZW50TWV0aG9kLm5l
dHdvcmsKLVBBU1MgZXZlbnQucGF5bWVudE1ldGhvZC50eXBlIGlzIGV4cGVjdGVkUGF5bWVudE1l
dGhvZC50eXBlCi1QQVNTIGV2ZW50LnBheW1lbnRNZXRob2QucGF5bWVudFBhc3MucHJpbWFyeUFj
Y291bnRJZGVudGlmaWVyIGlzIGV4cGVjdGVkUGF5bWVudE1ldGhvZC5wYXltZW50UGFzcy5wcmlt
YXJ5QWNjb3VudElkZW50aWZpZXIKLVBBU1MgZXZlbnQucGF5bWVudE1ldGhvZC5wYXltZW50UGFz
cy5wcmltYXJ5QWNjb3VudE51bWJlclN1ZmZpeCBpcyBleHBlY3RlZFBheW1lbnRNZXRob2QucGF5
bWVudFBhc3MucHJpbWFyeUFjY291bnROdW1iZXJTdWZmaXgKLVBBU1MgZXZlbnQucGF5bWVudE1l
dGhvZC5wYXltZW50UGFzcy5kZXZpY2VBY2NvdW50SWRlbnRpZmllciBpcyBleHBlY3RlZFBheW1l
bnRNZXRob2QucGF5bWVudFBhc3MuZGV2aWNlQWNjb3VudElkZW50aWZpZXIKLVBBU1MgZXZlbnQu
cGF5bWVudE1ldGhvZC5wYXltZW50UGFzcy5kZXZpY2VBY2NvdW50TnVtYmVyU3VmZml4IGlzIGV4
cGVjdGVkUGF5bWVudE1ldGhvZC5wYXltZW50UGFzcy5kZXZpY2VBY2NvdW50TnVtYmVyU3VmZml4
Ci1QQVNTIGV2ZW50LnBheW1lbnRNZXRob2QucGF5bWVudFBhc3MuYWN0aXZhdGlvblN0YXRlIGlz
IGV4cGVjdGVkUGF5bWVudE1ldGhvZC5wYXltZW50UGFzcy5hY3RpdmF0aW9uU3RhdGUKLVBBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRo
b2RVcGRhdGVFdmVudC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBw
bGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuaHR0cHMuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjQ2NGI5OWRiMjRkNjgzOGY1ZTBjZmE3ZDVlZDNhYzc1
MDA5YzM2NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RV
cGRhdGVFdmVudC5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsODQgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgY2hhcnNldD0idXRmLTgiPgotPHNj
cmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvcGF5bWVudC1yZXF1ZXN0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5PgotPHNjcmlwdD4KLQotZGVzY3JpcHRpb24oIlRlc3QgdGhlIGFwcGxlcGF5cGF5bWVudG1l
dGhvZGNoYW5nZWQgZXZlbnQuIik7Ci0KLXdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQot
ZnVuY3Rpb24gdmFsaWRQYXltZW50TWV0aG9kKCkgewotICAgIHJldHVybiB7Ci0gICAgICAgIHN1
cHBvcnRlZE1ldGhvZHM6ICdodHRwczovL2FwcGxlLmNvbS9hcHBsZS1wYXknLAotICAgICAgICBk
YXRhOiB7Ci0gICAgICAgICAgICB2ZXJzaW9uOiAyLAotICAgICAgICAgICAgbWVyY2hhbnRJZGVu
dGlmaWVyOiAnJywKLSAgICAgICAgICAgIGNvdW50cnlDb2RlOiAnVVMnLAotICAgICAgICAgICAg
c3VwcG9ydGVkTmV0d29ya3M6IFsndmlzYScsICdtYXN0ZXJDYXJkJ10sCi0gICAgICAgICAgICBt
ZXJjaGFudENhcGFiaWxpdGllczogWydzdXBwb3J0czNEUyddLAotICAgICAgICB9LAotICAgIH0K
LX0KLQotZnVuY3Rpb24gdmFsaWRQYXltZW50RGV0YWlscygpIHsKLSAgICByZXR1cm4gewotICAg
ICAgICB0b3RhbDogeyBsYWJlbDogJ1lvdXIgbGFiZWwnLCBhbW91bnQ6IHsgY3VycmVuY3k6ICdV
U0QnLCB2YWx1ZTogJzEwLjAwJyB9IH0sCi0gICAgfQotfQotCi1hc3luYyBmdW5jdGlvbiBnbygp
IHsKLSAgICBkZWJ1ZygiVGVzdGluZyBBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Iik7
Ci0gICAgZGVidWcoIiIpOwotCi0gICAgZXhwZWN0ZWRQYXltZW50TWV0aG9kID0gewotICAgICAg
ICBkaXNwbGF5TmFtZTogJ3Rlc3QnLAotICAgICAgICBuZXR3b3JrOiAndGVzdCcsCi0gICAgICAg
IHR5cGU6ICdwcmVwYWlkJywKLSAgICAgICAgcGF5bWVudFBhc3M6IHsKLSAgICAgICAgICAgIHBy
aW1hcnlBY2NvdW50SWRlbnRpZmllcjogJ3Rlc3QnLAotICAgICAgICAgICAgcHJpbWFyeUFjY291
bnROdW1iZXJTdWZmaXg6ICd0ZXN0JywKLSAgICAgICAgICAgIGRldmljZUFjY291bnRJZGVudGlm
aWVyOiAndGVzdCcsCi0gICAgICAgICAgICBkZXZpY2VBY2NvdW50TnVtYmVyU3VmZml4OiAndGVz
dCcsCi0gICAgICAgICAgICBhY3RpdmF0aW9uU3RhdGU6ICdyZXF1aXJlc0FjdGl2YXRpb24nLAot
ICAgICAgICB9LAotICAgIH07Ci0KLSAgICB2YXIgcGF5bWVudFJlcXVlc3QgPSBuZXcgUGF5bWVu
dFJlcXVlc3QoW3ZhbGlkUGF5bWVudE1ldGhvZCgpXSwgdmFsaWRQYXltZW50RGV0YWlscygpKTsK
LSAgICBwYXltZW50UmVxdWVzdC5vbmFwcGxlcGF5cGF5bWVudG1ldGhvZGNoYW5nZWQgPSAoZXZl
bnQpID0+IHsKLSAgICAgICAgc2hvdWxkQmUoImV2ZW50LnBheW1lbnRNZXRob2QuZGlzcGxheU5h
bWUiLCAiZXhwZWN0ZWRQYXltZW50TWV0aG9kLmRpc3BsYXlOYW1lIik7Ci0gICAgICAgIHNob3Vs
ZEJlKCJldmVudC5wYXltZW50TWV0aG9kLm5ldHdvcmsiLCAiZXhwZWN0ZWRQYXltZW50TWV0aG9k
Lm5ldHdvcmsiKTsKLSAgICAgICAgc2hvdWxkQmUoImV2ZW50LnBheW1lbnRNZXRob2QudHlwZSIs
ICJleHBlY3RlZFBheW1lbnRNZXRob2QudHlwZSIpOwotICAgICAgICBzaG91bGRCZSgiZXZlbnQu
cGF5bWVudE1ldGhvZC5wYXltZW50UGFzcy5wcmltYXJ5QWNjb3VudElkZW50aWZpZXIiLCAiZXhw
ZWN0ZWRQYXltZW50TWV0aG9kLnBheW1lbnRQYXNzLnByaW1hcnlBY2NvdW50SWRlbnRpZmllciIp
OwotICAgICAgICBzaG91bGRCZSgiZXZlbnQucGF5bWVudE1ldGhvZC5wYXltZW50UGFzcy5wcmlt
YXJ5QWNjb3VudE51bWJlclN1ZmZpeCIsICJleHBlY3RlZFBheW1lbnRNZXRob2QucGF5bWVudFBh
c3MucHJpbWFyeUFjY291bnROdW1iZXJTdWZmaXgiKTsKLSAgICAgICAgc2hvdWxkQmUoImV2ZW50
LnBheW1lbnRNZXRob2QucGF5bWVudFBhc3MuZGV2aWNlQWNjb3VudElkZW50aWZpZXIiLCAiZXhw
ZWN0ZWRQYXltZW50TWV0aG9kLnBheW1lbnRQYXNzLmRldmljZUFjY291bnRJZGVudGlmaWVyIik7
Ci0gICAgICAgIHNob3VsZEJlKCJldmVudC5wYXltZW50TWV0aG9kLnBheW1lbnRQYXNzLmRldmlj
ZUFjY291bnROdW1iZXJTdWZmaXgiLCAiZXhwZWN0ZWRQYXltZW50TWV0aG9kLnBheW1lbnRQYXNz
LmRldmljZUFjY291bnROdW1iZXJTdWZmaXgiKTsKLSAgICAgICAgc2hvdWxkQmUoImV2ZW50LnBh
eW1lbnRNZXRob2QucGF5bWVudFBhc3MuYWN0aXZhdGlvblN0YXRlIiwgImV4cGVjdGVkUGF5bWVu
dE1ldGhvZC5wYXltZW50UGFzcy5hY3RpdmF0aW9uU3RhdGUiKTsKLQotICAgICAgICBkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yKCJidXR0b24iKS5yZW1vdmUoKTsKLSAgICAgICAgZmluaXNoSlNUZXN0
KCk7Ci0gICAgfTsKLQotICAgIGFjdGl2YXRlVGhlbigoKSA9PiB7Ci0gICAgICAgIHBheW1lbnRS
ZXF1ZXN0LnNob3coKTsKLSAgICAgICAgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iu
Y2hhbmdlUGF5bWVudE1ldGhvZChleHBlY3RlZFBheW1lbnRNZXRob2QpOwotICAgIH0pOwotfQot
Ci13aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIGJ1dHRvbiA9IGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiIpOwotICAgIGxldCB4ID0gYnV0dG9uLm9mZnNldExlZnQg
KyAyOwotICAgIGxldCB5ID0gYnV0dG9uLm9mZnNldFRvcCArIDI7Ci0gICAgVUlIZWxwZXIuYWN0
aXZhdGVBdCh4LCB5KTsKLX0KLQotPC9zY3JpcHQ+Ci08YnV0dG9uIG9uY2xpY2s9J2dvKCknPkdv
PC9idXR0b24+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgotPC9ib2R5PgotPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329200</attachid>
            <date>2017-12-12 21:19:36 -0800</date>
            <delta_ts>2017-12-13 08:55:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180737-20171212211935.patch</filename>
            <type>text/plain</type>
            <size>15060</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1ODAzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDljZjg0MTgyMGM3YjdmYTk5NGNi
NzEzMDUzYThlODYyOWQ0MGJjOS4uMzE1ZWUwZGJmNjhhMTVjODczMzY0MzY0ZDc5N2NmZjM3Mjg4
YjZlMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTEyLTEyICBBbmR5IEVzdGVzICA8YWVz
dGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBSZW1vdmUgQXBwbGVQ
YXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQgYW5kIHVzZSBQYXltZW50RGV0YWlsc01vZGlmaWVy
cyBpbnN0ZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODA3MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudERldGFpbHNNb2RpZmll
ci5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3NsL2Fw
cGxlcGF5L0FwcGxlUGF5UGF5bWVudERldGFpbHNNb2RpZmllci5odHRwcy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RV
cGRhdGVFdmVudC5odHRwcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuaHR0cHMu
aHRtbDogUmVtb3ZlZC4KKwogMjAxNy0xMi0xMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CiAKICAgICAgICAgTmF2aWdhdGlvbiByZXF1ZXN0cyBzaG91bGQgdXNlIG5hdmlnYXRl
IGZldGNoIG1vZGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxl
cGF5L0FwcGxlUGF5UGF5bWVudERldGFpbHNNb2RpZmllci5odHRwcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVBheW1lbnREZXRhaWxz
TW9kaWZpZXIuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk5N2EwOTMxNDM5ZTdkMjc0
MTdiNWRjOTQ1Y2I1YzliNDVhYTY4ODgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVBheW1lbnREZXRhaWxzTW9kaWZpZXIuaHR0
cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzQgQEAKK1Rlc3QgUGF5bWVudERldGFpbHNNb2Rp
ZmllciB3aXRoIEFwcGxlIFBheS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1Rl
c3RpbmcgUGF5bWVudERldGFpbHNNb2RpZmllciBhZnRlciBzZWxlY3RpbmcgYSAnY3JlZGl0JyBw
YXltZW50IG1ldGhvZCB0eXBlLgorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRv
ci50b3RhbC5sYWJlbCBpcyAnQ3JlZGl0IHRvdGFsIG92ZXJyaWRlJworUEFTUyBpbnRlcm5hbHMu
bW9ja1BheW1lbnRDb29yZGluYXRvci50b3RhbC5hbW91bnQgaXMgJzE1LjAwJworUEFTUyBpbnRl
cm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5saW5lSXRlbXMubGVuZ3RoIGlzIDIKK1BBU1Mg
aW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IubGluZUl0ZW1zWzBdLmxhYmVsIGlzICdJ
dGVtJworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5saW5lSXRlbXNbMF0u
YW1vdW50IGlzICcxMC4wMCcKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iu
bGluZUl0ZW1zWzFdLmxhYmVsIGlzICdDcmVkaXQgc3VyY2hhcmdlJworUEFTUyBpbnRlcm5hbHMu
bW9ja1BheW1lbnRDb29yZGluYXRvci5saW5lSXRlbXNbMV0uYW1vdW50IGlzICc1LjAwJworCitU
ZXN0aW5nIFBheW1lbnREZXRhaWxzTW9kaWZpZXIgYWZ0ZXIgc2VsZWN0aW5nIGEgJ2RlYml0JyBw
YXltZW50IG1ldGhvZCB0eXBlLgorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRv
ci50b3RhbC5sYWJlbCBpcyAnRGViaXQgdG90YWwgb3ZlcnJpZGUnCitQQVNTIGludGVybmFscy5t
b2NrUGF5bWVudENvb3JkaW5hdG9yLnRvdGFsLmFtb3VudCBpcyAnMTMuMDAnCitQQVNTIGludGVy
bmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmxpbmVJdGVtcy5sZW5ndGggaXMgMgorUEFTUyBp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5saW5lSXRlbXNbMF0ubGFiZWwgaXMgJ0l0
ZW0nCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmxpbmVJdGVtc1swXS5h
bW91bnQgaXMgJzEwLjAwJworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5s
aW5lSXRlbXNbMV0ubGFiZWwgaXMgJ0RlYml0IHN1cmNoYXJnZScKK1BBU1MgaW50ZXJuYWxzLm1v
Y2tQYXltZW50Q29vcmRpbmF0b3IubGluZUl0ZW1zWzFdLmFtb3VudCBpcyAnMy4wMCcKKworVGVz
dGluZyBQYXltZW50RGV0YWlsc01vZGlmaWVyIGFmdGVyIHNlbGVjdGluZyBhbiB1bm1vZGlmaWVk
IHBheW1lbnQgbWV0aG9kIHR5cGUuCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5h
dG9yLnRvdGFsLmxhYmVsIGlzICdUb3RhbCcKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29v
cmRpbmF0b3IudG90YWwuYW1vdW50IGlzICcxMC4wMCcKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXlt
ZW50Q29vcmRpbmF0b3IubGluZUl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGludGVybmFscy5tb2Nr
UGF5bWVudENvb3JkaW5hdG9yLmxpbmVJdGVtc1swXS5sYWJlbCBpcyAnSXRlbScKK1BBU1MgaW50
ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IubGluZUl0ZW1zWzBdLmFtb3VudCBpcyAnMTAu
MDAnCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBh
eVBheW1lbnREZXRhaWxzTW9kaWZpZXIuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudERldGFpbHNNb2RpZmllci5odHRwcy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjZhMjIwNjU0NjQ5ZDkxOTI2ODZiYzdkMGUyNzI2MDVlMzgzZjE4YTUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBs
ZVBheVBheW1lbnREZXRhaWxzTW9kaWZpZXIuaHR0cHMuaHRtbApAQCAtMCwwICsxLDE4NCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvcGF5bWVudC1yZXF1ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdD4KKworZGVzY3JpcHRpb24oIlRlc3QgUGF5bWVudERldGFpbHNNb2Rp
ZmllciB3aXRoIEFwcGxlIFBheS4iKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CitmdW5jdGlvbiB2YWxpZFBheW1lbnRNZXRob2QoKSB7CisgICAgcmV0dXJuIHsKKyAgICAgICAg
c3VwcG9ydGVkTWV0aG9kczogJ2h0dHBzOi8vYXBwbGUuY29tL2FwcGxlLXBheScsCisgICAgICAg
IGRhdGE6IHsKKyAgICAgICAgICAgIHZlcnNpb246IDIsCisgICAgICAgICAgICBtZXJjaGFudElk
ZW50aWZpZXI6ICcnLAorICAgICAgICAgICAgY291bnRyeUNvZGU6ICdVUycsCisgICAgICAgICAg
ICBzdXBwb3J0ZWROZXR3b3JrczogWyd2aXNhJywgJ21hc3RlckNhcmQnXSwKKyAgICAgICAgICAg
IG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbJ3N1cHBvcnRzM0RTJ10sCisgICAgICAgIH0sCisgICAg
fQorfQorCitmdW5jdGlvbiB2YWxpZFBheW1lbnREZXRhaWxzKCkgeworICAgIHJldHVybiB7Cisg
ICAgICAgIHRvdGFsOiB7CisgICAgICAgICAgICBsYWJlbDogJ1RvdGFsJywKKyAgICAgICAgICAg
IGFtb3VudDogeworICAgICAgICAgICAgICAgIGN1cnJlbmN5OiAnVVNEJywKKyAgICAgICAgICAg
ICAgICB2YWx1ZTogJzEwLjAwJywKKyAgICAgICAgICAgIH0sCisgICAgICAgIH0sCisgICAgICAg
IGRpc3BsYXlJdGVtczogW3sKKyAgICAgICAgICAgIGxhYmVsOiAnSXRlbScsCisgICAgICAgICAg
ICBhbW91bnQ6IHsKKyAgICAgICAgICAgICAgICBjdXJyZW5jeTogJ1VTRCcsCisgICAgICAgICAg
ICAgICAgdmFsdWU6ICcxMC4wMCcsCisgICAgICAgICAgICB9LAorICAgICAgICB9XSwKKyAgICAg
ICAgbW9kaWZpZXJzOiBbeworICAgICAgICAgICAgc3VwcG9ydGVkTWV0aG9kczogJ2h0dHBzOi8v
YXBwbGUuY29tL2FwcGxlLXBheScsCisgICAgICAgICAgICB0b3RhbDogeworICAgICAgICAgICAg
ICAgIGxhYmVsOiAnQ3JlZGl0IHRvdGFsIG92ZXJyaWRlJywKKyAgICAgICAgICAgICAgICBhbW91
bnQ6IHsKKyAgICAgICAgICAgICAgICAgICAgY3VycmVuY3k6ICdVU0QnLAorICAgICAgICAgICAg
ICAgICAgICB2YWx1ZTogJzE1LjAwJywKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgIGFkZGl0aW9uYWxEaXNwbGF5SXRlbXM6IFt7CisgICAgICAgICAgICAg
ICAgbGFiZWw6ICdDcmVkaXQgc3VyY2hhcmdlJywKKyAgICAgICAgICAgICAgICBhbW91bnQ6IHsK
KyAgICAgICAgICAgICAgICAgICAgY3VycmVuY3k6ICdVU0QnLAorICAgICAgICAgICAgICAgICAg
ICB2YWx1ZTogJzUuMDAnLAorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICB9XSwKKyAg
ICAgICAgICAgIGRhdGE6IHsKKyAgICAgICAgICAgICAgICBwYXltZW50TWV0aG9kVHlwZTogJ2Ny
ZWRpdCcsCisgICAgICAgICAgICB9LAorICAgICAgICB9LCB7CisgICAgICAgICAgICBzdXBwb3J0
ZWRNZXRob2RzOiAnaHR0cHM6Ly9hcHBsZS5jb20vYXBwbGUtcGF5JywKKyAgICAgICAgICAgIHRv
dGFsOiB7CisgICAgICAgICAgICAgICAgbGFiZWw6ICdEdXBsaWNhdGUgY3JlZGl0IHRvdGFsIG92
ZXJyaWRlJywKKyAgICAgICAgICAgICAgICBhbW91bnQ6IHsKKyAgICAgICAgICAgICAgICAgICAg
Y3VycmVuY3k6ICdVU0QnLAorICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJzE3LjAwJywKKyAg
ICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIGFkZGl0aW9uYWxE
aXNwbGF5SXRlbXM6IFt7CisgICAgICAgICAgICAgICAgbGFiZWw6ICdEdXBsaWNhdGUgY3JlZGl0
IHN1cmNoYXJnZScsCisgICAgICAgICAgICAgICAgYW1vdW50OiB7CisgICAgICAgICAgICAgICAg
ICAgIGN1cnJlbmN5OiAnVVNEJywKKyAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICc3LjAwJywK
KyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgfV0sCisgICAgICAgICAgICBkYXRhOiB7
CisgICAgICAgICAgICAgICAgcGF5bWVudE1ldGhvZFR5cGU6ICdjcmVkaXQnLAorICAgICAgICAg
ICAgfSwKKyAgICAgICAgfSwgeworICAgICAgICAgICAgc3VwcG9ydGVkTWV0aG9kczogJ2h0dHBz
Oi8vYXBwbGUuY29tL2FwcGxlLXBheScsCisgICAgICAgICAgICB0b3RhbDogeworICAgICAgICAg
ICAgICAgIGxhYmVsOiAnRGViaXQgdG90YWwgb3ZlcnJpZGUnLAorICAgICAgICAgICAgICAgIGFt
b3VudDogeworICAgICAgICAgICAgICAgICAgICBjdXJyZW5jeTogJ1VTRCcsCisgICAgICAgICAg
ICAgICAgICAgIHZhbHVlOiAnMTMuMDAnLAorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAg
ICB9LAorICAgICAgICAgICAgYWRkaXRpb25hbERpc3BsYXlJdGVtczogW3sKKyAgICAgICAgICAg
ICAgICBsYWJlbDogJ0RlYml0IHN1cmNoYXJnZScsCisgICAgICAgICAgICAgICAgYW1vdW50OiB7
CisgICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5OiAnVVNEJywKKyAgICAgICAgICAgICAgICAg
ICAgdmFsdWU6ICczLjAwJywKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgfV0sCisg
ICAgICAgICAgICBkYXRhOiB7CisgICAgICAgICAgICAgICAgcGF5bWVudE1ldGhvZFR5cGU6ICdk
ZWJpdCcsCisgICAgICAgICAgICB9LAorICAgICAgICB9XSwKKyAgICB9Cit9CisKK2FzeW5jIGZ1
bmN0aW9uIHJ1blRlc3RzKCkgeworICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWpl
Y3QpID0+IHsKKyAgICAgICAgZGVidWcoIlRlc3RpbmcgUGF5bWVudERldGFpbHNNb2RpZmllciBh
ZnRlciBzZWxlY3RpbmcgYSAnY3JlZGl0JyBwYXltZW50IG1ldGhvZCB0eXBlLiIpOworCisgICAg
ICAgIHZhciBwYXltZW50UmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbdmFsaWRQYXltZW50
TWV0aG9kKCldLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOworCisgICAgICAgIGFjdGl2YXRlVGhl
bigoKSA9PiB7CisgICAgICAgICAgICBwYXltZW50UmVxdWVzdC5zaG93KCkudGhlbigocmVzcG9u
c2UpID0+IHsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50
Q29vcmRpbmF0b3IudG90YWwubGFiZWwiLCAiJ0NyZWRpdCB0b3RhbCBvdmVycmlkZSciKTsKKyAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iu
dG90YWwuYW1vdW50IiwgIicxNS4wMCciKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiaW50
ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IubGluZUl0ZW1zLmxlbmd0aCIsICIyIik7Cisg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9y
LmxpbmVJdGVtc1swXS5sYWJlbCIsICInSXRlbSciKTsKKyAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IubGluZUl0ZW1zWzBdLmFtb3VudCIs
ICInMTAuMDAnIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5
bWVudENvb3JkaW5hdG9yLmxpbmVJdGVtc1sxXS5sYWJlbCIsICInQ3JlZGl0IHN1cmNoYXJnZSci
KTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRp
bmF0b3IubGluZUl0ZW1zWzFdLmFtb3VudCIsICInNS4wMCciKTsKKyAgICAgICAgICAgICAgICBy
ZXNwb25zZS5jb21wbGV0ZSgic3VjY2VzcyIpOworICAgICAgICAgICAgICAgIHJlc29sdmUoKTsK
KyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29y
ZGluYXRvci5jaGFuZ2VQYXltZW50TWV0aG9kKHsgdHlwZTogJ2NyZWRpdCcgfSk7CisgICAgICAg
ICAgICBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5hY2NlcHRQYXltZW50KCk7Cisg
ICAgICAgIH0pOworICAgIH0pOworICAgIGRlYnVnKCIiKTsKKyAgICAKKyAgICBhd2FpdCBuZXcg
UHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgIGRlYnVnKCJUZXN0aW5nIFBh
eW1lbnREZXRhaWxzTW9kaWZpZXIgYWZ0ZXIgc2VsZWN0aW5nIGEgJ2RlYml0JyBwYXltZW50IG1l
dGhvZCB0eXBlLiIpOworCisgICAgICAgIHZhciBwYXltZW50UmVxdWVzdCA9IG5ldyBQYXltZW50
UmVxdWVzdChbdmFsaWRQYXltZW50TWV0aG9kKCldLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOwor
CisgICAgICAgIGFjdGl2YXRlVGhlbigoKSA9PiB7CisgICAgICAgICAgICBwYXltZW50UmVxdWVz
dC5zaG93KCkudGhlbigocmVzcG9uc2UpID0+IHsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IudG90YWwubGFiZWwiLCAiJ0RlYml0IHRv
dGFsIG92ZXJyaWRlJyIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9j
a1BheW1lbnRDb29yZGluYXRvci50b3RhbC5hbW91bnQiLCAiJzEzLjAwJyIpOworICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5saW5lSXRl
bXMubGVuZ3RoIiwgIjIiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1v
Y2tQYXltZW50Q29vcmRpbmF0b3IubGluZUl0ZW1zWzBdLmxhYmVsIiwgIidJdGVtJyIpOworICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5s
aW5lSXRlbXNbMF0uYW1vdW50IiwgIicxMC4wMCciKTsKKyAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IubGluZUl0ZW1zWzFdLmxhYmVsIiwg
IidEZWJpdCBzdXJjaGFyZ2UnIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFs
cy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmxpbmVJdGVtc1sxXS5hbW91bnQiLCAiJzMuMDAnIik7
CisgICAgICAgICAgICAgICAgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nlc3MiKTsKKyAgICAgICAg
ICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgaW50ZXJu
YWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuY2hhbmdlUGF5bWVudE1ldGhvZCh7IHR5cGU6ICdk
ZWJpdCcgfSk7CisgICAgICAgICAgICBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5h
Y2NlcHRQYXltZW50KCk7CisgICAgICAgIH0pOworICAgIH0pOworICAgIGRlYnVnKCIiKTsKKwor
ICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgZGVi
dWcoIlRlc3RpbmcgUGF5bWVudERldGFpbHNNb2RpZmllciBhZnRlciBzZWxlY3RpbmcgYW4gdW5t
b2RpZmllZCBwYXltZW50IG1ldGhvZCB0eXBlLiIpOworCisgICAgICAgIHZhciBwYXltZW50UmVx
dWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbdmFsaWRQYXltZW50TWV0aG9kKCldLCB2YWxpZFBh
eW1lbnREZXRhaWxzKCkpOworCisgICAgICAgIGFjdGl2YXRlVGhlbigoKSA9PiB7CisgICAgICAg
ICAgICBwYXltZW50UmVxdWVzdC5zaG93KCkudGhlbigocmVzcG9uc2UpID0+IHsKKyAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IudG90YWwu
bGFiZWwiLCAiJ1RvdGFsJyIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMu
bW9ja1BheW1lbnRDb29yZGluYXRvci50b3RhbC5hbW91bnQiLCAiJzEwLjAwJyIpOworICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5saW5l
SXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxz
Lm1vY2tQYXltZW50Q29vcmRpbmF0b3IubGluZUl0ZW1zWzBdLmxhYmVsIiwgIidJdGVtJyIpOwor
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRv
ci5saW5lSXRlbXNbMF0uYW1vdW50IiwgIicxMC4wMCciKTsKKyAgICAgICAgICAgICAgICByZXNw
b25zZS5jb21wbGV0ZSgic3VjY2VzcyIpOworICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAg
ICAgICAgICAgIH0pOworCisgICAgICAgICAgICBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGlu
YXRvci5jaGFuZ2VQYXltZW50TWV0aG9kKHsgdHlwZTogJ3ByZXBhaWQnIH0pOworICAgICAgICAg
ICAgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuYWNjZXB0UGF5bWVudCgpOworICAg
ICAgICB9KTsKKyAgICB9KTsKKyAgICBkZWJ1ZygiIik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsK
K30KKworcnVuVGVzdHMoKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFVw
ZGF0ZUV2ZW50Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3Ns
L2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZUV2ZW50Lmh0dHBzLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODA3YjE4YzQ1NzgxYTNiZDM1YWJl
NTM2ZTZlZDdkNzIxNDQ5ZDNmZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVBh
eW1lbnRNZXRob2RVcGRhdGVFdmVudC5odHRwcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwxOSArMCwwIEBACi1UZXN0IHRoZSBhcHBsZXBheXBheW1lbnRtZXRob2RjaGFuZ2VkIGV2
ZW50LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotVGVzdGluZyBBcHBsZVBheU1l
cmNoYW50VmFsaWRhdGlvbkV2ZW50Ci0KLVBBU1MgZXZlbnQucGF5bWVudE1ldGhvZC5kaXNwbGF5
TmFtZSBpcyBleHBlY3RlZFBheW1lbnRNZXRob2QuZGlzcGxheU5hbWUKLVBBU1MgZXZlbnQucGF5
bWVudE1ldGhvZC5uZXR3b3JrIGlzIGV4cGVjdGVkUGF5bWVudE1ldGhvZC5uZXR3b3JrCi1QQVNT
IGV2ZW50LnBheW1lbnRNZXRob2QudHlwZSBpcyBleHBlY3RlZFBheW1lbnRNZXRob2QudHlwZQot
UEFTUyBldmVudC5wYXltZW50TWV0aG9kLnBheW1lbnRQYXNzLnByaW1hcnlBY2NvdW50SWRlbnRp
ZmllciBpcyBleHBlY3RlZFBheW1lbnRNZXRob2QucGF5bWVudFBhc3MucHJpbWFyeUFjY291bnRJ
ZGVudGlmaWVyCi1QQVNTIGV2ZW50LnBheW1lbnRNZXRob2QucGF5bWVudFBhc3MucHJpbWFyeUFj
Y291bnROdW1iZXJTdWZmaXggaXMgZXhwZWN0ZWRQYXltZW50TWV0aG9kLnBheW1lbnRQYXNzLnBy
aW1hcnlBY2NvdW50TnVtYmVyU3VmZml4Ci1QQVNTIGV2ZW50LnBheW1lbnRNZXRob2QucGF5bWVu
dFBhc3MuZGV2aWNlQWNjb3VudElkZW50aWZpZXIgaXMgZXhwZWN0ZWRQYXltZW50TWV0aG9kLnBh
eW1lbnRQYXNzLmRldmljZUFjY291bnRJZGVudGlmaWVyCi1QQVNTIGV2ZW50LnBheW1lbnRNZXRo
b2QucGF5bWVudFBhc3MuZGV2aWNlQWNjb3VudE51bWJlclN1ZmZpeCBpcyBleHBlY3RlZFBheW1l
bnRNZXRob2QucGF5bWVudFBhc3MuZGV2aWNlQWNjb3VudE51bWJlclN1ZmZpeAotUEFTUyBldmVu
dC5wYXltZW50TWV0aG9kLnBheW1lbnRQYXNzLmFjdGl2YXRpb25TdGF0ZSBpcyBleHBlY3RlZFBh
eW1lbnRNZXRob2QucGF5bWVudFBhc3MuYWN0aXZhdGlvblN0YXRlCi1QQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZl
bnQuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxl
UGF5UGF5bWVudE1ldGhvZFVwZGF0ZUV2ZW50Lmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDY0NjRiOTlkYjI0ZDY4MzhmNWUwY2ZhN2Q1ZWQzYWM3NTAwOWMzNjUuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQu
aHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDg0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTxzY3JpcHQgc3JjPSIv
anMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3BheW1lbnQtcmVxdWVzdC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3Jp
cHQ+Ci0KLWRlc2NyaXB0aW9uKCJUZXN0IHRoZSBhcHBsZXBheXBheW1lbnRtZXRob2RjaGFuZ2Vk
IGV2ZW50LiIpOwotCi13aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLWZ1bmN0aW9uIHZh
bGlkUGF5bWVudE1ldGhvZCgpIHsKLSAgICByZXR1cm4gewotICAgICAgICBzdXBwb3J0ZWRNZXRo
b2RzOiAnaHR0cHM6Ly9hcHBsZS5jb20vYXBwbGUtcGF5JywKLSAgICAgICAgZGF0YTogewotICAg
ICAgICAgICAgdmVyc2lvbjogMiwKLSAgICAgICAgICAgIG1lcmNoYW50SWRlbnRpZmllcjogJycs
Ci0gICAgICAgICAgICBjb3VudHJ5Q29kZTogJ1VTJywKLSAgICAgICAgICAgIHN1cHBvcnRlZE5l
dHdvcmtzOiBbJ3Zpc2EnLCAnbWFzdGVyQ2FyZCddLAotICAgICAgICAgICAgbWVyY2hhbnRDYXBh
YmlsaXRpZXM6IFsnc3VwcG9ydHMzRFMnXSwKLSAgICAgICAgfSwKLSAgICB9Ci19Ci0KLWZ1bmN0
aW9uIHZhbGlkUGF5bWVudERldGFpbHMoKSB7Ci0gICAgcmV0dXJuIHsKLSAgICAgICAgdG90YWw6
IHsgbGFiZWw6ICdZb3VyIGxhYmVsJywgYW1vdW50OiB7IGN1cnJlbmN5OiAnVVNEJywgdmFsdWU6
ICcxMC4wMCcgfSB9LAotICAgIH0KLX0KLQotYXN5bmMgZnVuY3Rpb24gZ28oKSB7Ci0gICAgZGVi
dWcoIlRlc3RpbmcgQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudCIpOwotICAgIGRlYnVn
KCIiKTsKLQotICAgIGV4cGVjdGVkUGF5bWVudE1ldGhvZCA9IHsKLSAgICAgICAgZGlzcGxheU5h
bWU6ICd0ZXN0JywKLSAgICAgICAgbmV0d29yazogJ3Rlc3QnLAotICAgICAgICB0eXBlOiAncHJl
cGFpZCcsCi0gICAgICAgIHBheW1lbnRQYXNzOiB7Ci0gICAgICAgICAgICBwcmltYXJ5QWNjb3Vu
dElkZW50aWZpZXI6ICd0ZXN0JywKLSAgICAgICAgICAgIHByaW1hcnlBY2NvdW50TnVtYmVyU3Vm
Zml4OiAndGVzdCcsCi0gICAgICAgICAgICBkZXZpY2VBY2NvdW50SWRlbnRpZmllcjogJ3Rlc3Qn
LAotICAgICAgICAgICAgZGV2aWNlQWNjb3VudE51bWJlclN1ZmZpeDogJ3Rlc3QnLAotICAgICAg
ICAgICAgYWN0aXZhdGlvblN0YXRlOiAncmVxdWlyZXNBY3RpdmF0aW9uJywKLSAgICAgICAgfSwK
LSAgICB9OwotCi0gICAgdmFyIHBheW1lbnRSZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFt2
YWxpZFBheW1lbnRNZXRob2QoKV0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7Ci0gICAgcGF5bWVu
dFJlcXVlc3Qub25hcHBsZXBheXBheW1lbnRtZXRob2RjaGFuZ2VkID0gKGV2ZW50KSA9PiB7Ci0g
ICAgICAgIHNob3VsZEJlKCJldmVudC5wYXltZW50TWV0aG9kLmRpc3BsYXlOYW1lIiwgImV4cGVj
dGVkUGF5bWVudE1ldGhvZC5kaXNwbGF5TmFtZSIpOwotICAgICAgICBzaG91bGRCZSgiZXZlbnQu
cGF5bWVudE1ldGhvZC5uZXR3b3JrIiwgImV4cGVjdGVkUGF5bWVudE1ldGhvZC5uZXR3b3JrIik7
Ci0gICAgICAgIHNob3VsZEJlKCJldmVudC5wYXltZW50TWV0aG9kLnR5cGUiLCAiZXhwZWN0ZWRQ
YXltZW50TWV0aG9kLnR5cGUiKTsKLSAgICAgICAgc2hvdWxkQmUoImV2ZW50LnBheW1lbnRNZXRo
b2QucGF5bWVudFBhc3MucHJpbWFyeUFjY291bnRJZGVudGlmaWVyIiwgImV4cGVjdGVkUGF5bWVu
dE1ldGhvZC5wYXltZW50UGFzcy5wcmltYXJ5QWNjb3VudElkZW50aWZpZXIiKTsKLSAgICAgICAg
c2hvdWxkQmUoImV2ZW50LnBheW1lbnRNZXRob2QucGF5bWVudFBhc3MucHJpbWFyeUFjY291bnRO
dW1iZXJTdWZmaXgiLCAiZXhwZWN0ZWRQYXltZW50TWV0aG9kLnBheW1lbnRQYXNzLnByaW1hcnlB
Y2NvdW50TnVtYmVyU3VmZml4Iik7Ci0gICAgICAgIHNob3VsZEJlKCJldmVudC5wYXltZW50TWV0
aG9kLnBheW1lbnRQYXNzLmRldmljZUFjY291bnRJZGVudGlmaWVyIiwgImV4cGVjdGVkUGF5bWVu
dE1ldGhvZC5wYXltZW50UGFzcy5kZXZpY2VBY2NvdW50SWRlbnRpZmllciIpOwotICAgICAgICBz
aG91bGRCZSgiZXZlbnQucGF5bWVudE1ldGhvZC5wYXltZW50UGFzcy5kZXZpY2VBY2NvdW50TnVt
YmVyU3VmZml4IiwgImV4cGVjdGVkUGF5bWVudE1ldGhvZC5wYXltZW50UGFzcy5kZXZpY2VBY2Nv
dW50TnVtYmVyU3VmZml4Iik7Ci0gICAgICAgIHNob3VsZEJlKCJldmVudC5wYXltZW50TWV0aG9k
LnBheW1lbnRQYXNzLmFjdGl2YXRpb25TdGF0ZSIsICJleHBlY3RlZFBheW1lbnRNZXRob2QucGF5
bWVudFBhc3MuYWN0aXZhdGlvblN0YXRlIik7Ci0KLSAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcigiYnV0dG9uIikucmVtb3ZlKCk7Ci0gICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgIH07
Ci0KLSAgICBhY3RpdmF0ZVRoZW4oKCkgPT4gewotICAgICAgICBwYXltZW50UmVxdWVzdC5zaG93
KCk7Ci0gICAgICAgIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmNoYW5nZVBheW1l
bnRNZXRob2QoZXhwZWN0ZWRQYXltZW50TWV0aG9kKTsKLSAgICB9KTsKLX0KLQotd2luZG93Lm9u
bG9hZCA9IGZ1bmN0aW9uKCkgewotICAgIHZhciBidXR0b24gPSBkb2N1bWVudC5xdWVyeVNlbGVj
dG9yKCJidXR0b24iKTsKLSAgICBsZXQgeCA9IGJ1dHRvbi5vZmZzZXRMZWZ0ICsgMjsKLSAgICBs
ZXQgeSA9IGJ1dHRvbi5vZmZzZXRUb3AgKyAyOwotICAgIFVJSGVscGVyLmFjdGl2YXRlQXQoeCwg
eSk7Ci19Ci0KLTwvc2NyaXB0PgotPGJ1dHRvbiBvbmNsaWNrPSdnbygpJz5HbzwvYnV0dG9uPgot
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329221</attachid>
            <date>2017-12-13 08:55:19 -0800</date>
            <delta_ts>2017-12-13 10:02:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180737-20171213085518.patch</filename>
            <type>text/plain</type>
            <size>68129</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1ODAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDYyZGViNmQxMmZkYjZm
YTYxNTU1YjVlNTUwMWY0MDRhZjUyZThhMC4uMzQ4YTJmNDBhY2MwN2M0MTY1MTJhMzRlNWQ3OTUy
ODJkYWZmNmE4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE3LTEyLTEyICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBS
ZW1vdmUgQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQgYW5kIHVzZSBQYXltZW50RGV0
YWlsc01vZGlmaWVycyBpbnN0ZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xODA3MzcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM2MDEzMTUyPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluc3RlYWQg
b2YgZmlyaW5nIGEgbm9uLXN0YW5kYXJkICJhcHBsZXBheXBheW1lbnRtZXRob2R1cGRhdGUiIGV2
ZW50IHdoZW4gdGhlIHBheW1lbnQgbWV0aG9kCisgICAgICAgIGNoYW5nZXMsIHVzZSB0aGUgUGF5
bWVudERldGFpbHNNb2RpZmllciBtZWNoYW5pc20gdG8gYWxsb3cgdGhlIG1lcmNoYW50IHRvIHNw
ZWNpZnkgb3ZlcnJpZGUKKyAgICAgICAgdG90YWxzIGFuZCBhZGRpdGlvbmFsIGRpc3BsYXkgaXRl
bXMgcGVyIHBheW1lbnQgbWV0aG9kIHR5cGUuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9z
c2wvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50RGV0YWlsc01vZGlmaWVyLmh0dHBzLmh0bWwKKwor
ICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheUxpbmVJdGVtLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5UGF5bWVudE1ldGhvZC5oOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQ
YXltZW50TWV0aG9kLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5
bWVudE1ldGhvZFR5cGUuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVBheW1lbnRNZXRob2RUeXBlLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9hcHBs
ZXBheS9jb2NvYS9QYXltZW50TWV0aG9kQ29jb2EubW06CisgICAgICAgICogTW9kdWxlcy9hcHBs
ZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLmg6IEFkZGVkLgorICAgICAgICAq
IE1vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci5pZGw6IEFk
ZGVkLgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQ
YXltZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRIYW5k
bGVyOjpzaG93KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmNv
bXB1dGVUb3RhbEFuZExpbmVJdGVtcyk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVBheW1l
bnRIYW5kbGVyOjpkZXRhaWxzVXBkYXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVBh
eW1lbnRIYW5kbGVyOjpzaGlwcGluZ0FkZHJlc3NVcGRhdGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OkFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OnNoaXBwaW5nT3B0aW9uVXBkYXRlZCk6CisgICAgICAg
IChXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpwYXltZW50TWV0aG9kVXBkYXRlZCk6
CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpkaWRTZWxlY3RQYXlt
ZW50TWV0aG9kKToKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0Fw
cGxlUGF5UGF5bWVudEhhbmRsZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3BheW1l
bnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZUV2ZW50LmNwcDogUmVtb3ZlZC4K
KyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVu
dE1ldGhvZFVwZGF0ZUV2ZW50Lmg6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9wYXltZW50
cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oOgorICAgICAgICAqIE1vZHVsZXMvcGF5bWVudHJlcXVl
c3QvUGF5bWVudFJlcXVlc3QuaWRsOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5oOgorICAgICAgICAqIGRvbS9F
dmVudE5hbWVzLmluOgorICAgICAgICAqIHRlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tQ
YXltZW50Q29vcmRpbmF0b3I6OnVwZGF0ZVRvdGFsQW5kTGluZUl0ZW1zKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1vY2tQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxl
Y3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1BheW1lbnRDb29yZGluYXRvcjo6Y29tcGxl
dGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1BheW1l
bnRDb29yZGluYXRvcjo6Y29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKToKKyAgICAgICAg
KiB0ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiB0ZXN0aW5nL01v
Y2tQYXltZW50Q29vcmRpbmF0b3IuaWRsOgorCiAyMDE3LTEyLTEyICBKZXIgTm9ibGUgIDxqZXIu
bm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtFTUVdIFN1cHBvcnQgcmVwb3J0aW5nIGFuZCBy
ZXN0b3JpbmcgcGVyc2lzdGVudCB1c2FnZSBkYXRhLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKaW5kZXggMGYyOTYxZjM0ZGQ0YzhlZDI2MGFlOGM1YWMwNjQ2MDgxMzhmNTgxMi4uMDFlOGU2
M2VmYzE5NGE2MDkwY2EzYjgzODA4MmVhZWE1NWZkZmE4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlCkBAIC05Nyw2ICs5Nyw3IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50Q29udGFjdC5pZGwgXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2QuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kU2Vs
ZWN0ZWRFdmVudC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVBheW1lbnRNZXRob2RUeXBlLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVBheW1lbnRQYXNzLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaWRsIFwKQEAgLTEwOSw3ICsxMTAsNyBA
QCBKU19CSU5ESU5HX0lETFMgPSBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5U2hpcHBpbmdNZXRob2RVcGRhdGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRp
b25FdmVudC5pZGwgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVx
dWVzdC9BcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVudC5pZGwgXAorICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5
UmVxdWVzdC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9iZWFjb24vTmF2aWdhdG9yQmVh
Y29uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5p
ZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eUxpbmVJdGVtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlM
aW5lSXRlbS5pZGwKaW5kZXggMmM1ODAzN2VjMzFmMDNiMWJmMmE1NTk3OTlhNzFhMjRkNTE5MjQ0
MC4uZGE1ZjJlZWEyZTJhZDM1MGU2NzI3ZWI1ZjZkZTc1MmM5NzhhOGNlZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJdGVtLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5TGluZUl0ZW0uaWRsCkBA
IC0zMiw2ICszMiw4IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1BUFBMRV9QQVksCisgICAgRXhw
b3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCisgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCiBdIGRp
Y3Rpb25hcnkgQXBwbGVQYXlMaW5lSXRlbSB7CiAgICAgQXBwbGVQYXlMaW5lSXRlbVR5cGUgdHlw
ZSA9ICJmaW5hbCI7CiAgICAgRE9NU3RyaW5nIGxhYmVsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2QuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kLmgKaW5kZXggN2Jm
OTE3YzkzYjk1NjJmYzgxNGNhOTU5NzNmNzdjNDBiNjU3OGZjNy4uMzA5NTg0NTBmMzllNTViODU5
Y2ZhY2EyZTcwNzI3YTM1NjE2Y2FiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZC5oCkBAIC0zMiw3ICszMiw3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotZW51bSBjbGFzcyBBcHBsZVBheVBheW1lbnRNZXRo
b2RUeXBlIHsgRGViaXQsIENyZWRpdCwgUHJlcGFpZCwgU3RvcmUgfTsKK2VudW0gY2xhc3MgQXBw
bGVQYXlQYXltZW50TWV0aG9kVHlwZTsKIAogc3RydWN0IEFwcGxlUGF5UGF5bWVudE1ldGhvZCB7
ICAgIAogICAgIHVzaW5nIFR5cGUgPSBBcHBsZVBheVBheW1lbnRNZXRob2RUeXBlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRo
b2QuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRN
ZXRob2QuaWRsCmluZGV4IGUwOTA5NDBiNGI0MWZlZGMwZTU2OWFjY2M1OWMxZDllMzM4MjBmNTcu
LjZkNTQ0MmQzMjE3YTBjMTdlM2E0ZDk0YTQ5ZTg5ZTY5ZWJjNzYxNDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhv
ZC5pZGwKQEAgLTIzLDE1ICsyMyw2IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCiAgKi8KIAotWwotICAgIENvbmRpdGlvbmFsPUFQUExFX1BBWSwKLV0gZW51bSBBcHBsZVBh
eVBheW1lbnRNZXRob2RUeXBlIHsgCi0gICAgImRlYml0IiwgCi0gICAgImNyZWRpdCIsCi0gICAg
InByZXBhaWQiLAotICAgICJzdG9yZSIgCi19OwotCiBbCiAgICAgQ29uZGl0aW9uYWw9QVBQTEVf
UEFZLAogICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JULApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RUeXBlLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iZmMyNDZlYjQwODEzNzdmZWRjOGVhNjEzYzc3YTEwN2VhYmJjYjM1Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVBheW1lbnRNZXRob2RUeXBlLmgKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaWYgRU5BQkxFKEFQUExFX1BBWSkKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitlbnVtIGNsYXNzIEFwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUgeworICAgIERlYml0LAorICAg
IENyZWRpdCwKKyAgICBQcmVwYWlkLAorICAgIFN0b3JlLAorfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kVHlwZS5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFR5
cGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmZiYjViZTk1NjlhZDc3Mzg4Y2RiYzZkZmVlMWVmZDUxZDUxNGEw
YWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5UGF5bWVudE1ldGhvZFR5cGUuaWRsCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CitbCisgICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZLAorXSBlbnVtIEFwcGxlUGF5UGF5bWVudE1l
dGhvZFR5cGUgeworICAgICJkZWJpdCIsCisgICAgImNyZWRpdCIsCisgICAgInByZXBhaWQiLAor
ICAgICJzdG9yZSIKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L2NvY29hL1BheW1lbnRNZXRob2RDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvY29jb2EvUGF5bWVudE1ldGhvZENvY29hLm1tCmluZGV4IGFkMDg1OWVhNGU3YzIy
MjRlM2RlMWUzZWJjOTdlYTMzZTYyNThmNDEuLjZhZTY4Y2RmODMyNmJhMDU2MzgwMjY4NDJlOWVh
ZjI0YWYwZGRmMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
Y29jb2EvUGF5bWVudE1ldGhvZENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvY29jb2EvUGF5bWVudE1ldGhvZENvY29hLm1tCkBAIC0yOSw2ICsyOSw3IEBACiAj
aWYgRU5BQkxFKEFQUExFX1BBWSkKIAogI2ltcG9ydCAiQXBwbGVQYXlQYXltZW50TWV0aG9kLmgi
CisjaW1wb3J0ICJBcHBsZVBheVBheW1lbnRNZXRob2RUeXBlLmgiCiAjaW1wb3J0IDxwYWwvc3Bp
L2NvY29hL1Bhc3NLaXRTUEkuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1v
ZGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0
L0FwcGxlUGF5TW9kaWZpZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZGZhNzdlMGU3N2M1ODFiOGI1NmUwMmQz
MWE2ZjQwYzE1YmZmMjY4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLmgKQEAgLTAsMCArMSw0
MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEFQUExFX1BBWSkg
JiYgRU5BQkxFKFBBWU1FTlRfUkVRVUVTVCkKKworI2luY2x1ZGUgIkFwcGxlUGF5UGF5bWVudE1l
dGhvZFR5cGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgQXBwbGVQYXlNb2Rp
ZmllciB7CisgICAgQXBwbGVQYXlQYXltZW50TWV0aG9kVHlwZSBwYXltZW50TWV0aG9kVHlwZTsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9Q
QVkpICYmIEVOQUJMRShQQVlNRU5UX1JFUVVFU1QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXIuaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1v
ZGlmaWVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNjc4OTQyMzFhZWJjZTgxNTkwYmYwZmVhZTA3NGYyNzg4
ZDNjODIyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLmlkbApAQCAtMCwwICsxLDMwIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPUFQUExFX1BBWSZQQVlNRU5UX1JFUVVFU1Qs
CitdIGRpY3Rpb25hcnkgQXBwbGVQYXlNb2RpZmllciB7CisgICAgcmVxdWlyZWQgQXBwbGVQYXlQ
YXltZW50TWV0aG9kVHlwZSBwYXltZW50TWV0aG9kVHlwZTsKK307CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVu
dEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVx
dWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcAppbmRleCAxNTQ0Mjk4M2ZhZTFjNGU5ZTFj
YzExYzI2NTI3MjA2ZWIxYjRhMjM0Li4yOTI1MDhjOTkxYTM4MTQ3NTY4N2JjMzhhZDk0MTZkM2Vk
MWFkYTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1l
bnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5j
cHAKQEAgLTMxLDggKzMxLDggQEAKICNpbmNsdWRlICJBcHBsZVBheUNvbnRhY3RGaWVsZC5oIgog
I2luY2x1ZGUgIkFwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5LmgiCiAjaW5jbHVkZSAiQXBwbGVQ
YXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oIgorI2luY2x1ZGUgIkFwcGxlUGF5TW9kaWZpZXIu
aCIKICNpbmNsdWRlICJBcHBsZVBheVBheW1lbnQuaCIKLSNpbmNsdWRlICJBcHBsZVBheVBheW1l
bnRNZXRob2RVcGRhdGVFdmVudC5oIgogI2luY2x1ZGUgIkFwcGxlUGF5U2Vzc2lvblBheW1lbnRS
ZXF1ZXN0LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgi
CkBAIC0xOTAsMjAgKzE5MCw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEFwcGxlUGF5UGF5bWVudEhh
bmRsZXI6OnNob3coKQogICAgIGF1dG8gY29udmVydGVkTGluZUl0ZW1zID0gY29udmVydEFuZFZh
bGlkYXRlKG1fcGF5bWVudFJlcXVlc3QtPnBheW1lbnREZXRhaWxzKCkuZGlzcGxheUl0ZW1zLCBl
eHBlY3RlZEN1cnJlbmN5KTsKICAgICBpZiAoY29udmVydGVkTGluZUl0ZW1zLmhhc0V4Y2VwdGlv
bigpKQogICAgICAgICByZXR1cm4gY29udmVydGVkTGluZUl0ZW1zLnJlbGVhc2VFeGNlcHRpb24o
KTsKLQotICAgIGF1dG8gbGluZUl0ZW1zID0gY29udmVydGVkTGluZUl0ZW1zLnJlbGVhc2VSZXR1
cm5WYWx1ZSgpOwotICAgIGZvciAoYXV0byYgbW9kaWZpZXIgOiBtX3BheW1lbnRSZXF1ZXN0LT5w
YXltZW50RGV0YWlscygpLm1vZGlmaWVycykgewotICAgICAgICBhdXRvIGNvbnZlcnRlZElkZW50
aWZpZXIgPSBjb252ZXJ0QW5kVmFsaWRhdGVQYXltZW50TWV0aG9kSWRlbnRpZmllcihtb2RpZmll
ci5zdXBwb3J0ZWRNZXRob2RzKTsKLSAgICAgICAgaWYgKCFjb252ZXJ0ZWRJZGVudGlmaWVyIHx8
ICFoYW5kbGVzSWRlbnRpZmllcigqY29udmVydGVkSWRlbnRpZmllcikpCi0gICAgICAgICAgICBj
b250aW51ZTsKLQotICAgICAgICBhdXRvIGFkZGl0aW9uYWxEaXNwbGF5SXRlbXMgPSBjb252ZXJ0
QW5kVmFsaWRhdGUobW9kaWZpZXIuYWRkaXRpb25hbERpc3BsYXlJdGVtcywgZXhwZWN0ZWRDdXJy
ZW5jeSk7Ci0gICAgICAgIGlmIChhZGRpdGlvbmFsRGlzcGxheUl0ZW1zLmhhc0V4Y2VwdGlvbigp
KQotICAgICAgICAgICAgcmV0dXJuIGFkZGl0aW9uYWxEaXNwbGF5SXRlbXMucmVsZWFzZUV4Y2Vw
dGlvbigpOwotCi0gICAgICAgIGxpbmVJdGVtcy5hcHBlbmRWZWN0b3IoYWRkaXRpb25hbERpc3Bs
YXlJdGVtcy5yZWxlYXNlUmV0dXJuVmFsdWUoKSk7Ci0gICAgfQotICAgIHJlcXVlc3Quc2V0TGlu
ZUl0ZW1zKGxpbmVJdGVtcyk7CisgICAgcmVxdWVzdC5zZXRMaW5lSXRlbXMoY29udmVydGVkTGlu
ZUl0ZW1zLnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsKIAogICAgIHJlcXVlc3Quc2V0UmVxdWlyZWRT
aGlwcGluZ0NvbnRhY3RGaWVsZHMoY29udmVydChtX3BheW1lbnRSZXF1ZXN0LT5wYXltZW50T3B0
aW9ucygpKSk7CiAgICAgaWYgKG1fcGF5bWVudFJlcXVlc3QtPnBheW1lbnRPcHRpb25zKCkucmVx
dWVzdFNoaXBwaW5nKQpAQCAtMjU1LDE4ICsyNDIsNjcgQEAgdm9pZCBBcHBsZVBheVBheW1lbnRI
YW5kbGVyOjpjYW5NYWtlUGF5bWVudChGdW5jdGlvbjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25I
YW4KICAgICBwYXltZW50Q29vcmRpbmF0b3IoKS5jYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2Fy
ZChtX2FwcGxlUGF5UmVxdWVzdC0+bWVyY2hhbnRJZGVudGlmaWVyLCBkb2N1bWVudCgpLmRvbWFp
bigpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKLXN0YXRpYyBFeGNlcHRpb25P
cjxBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXM+IGNvbnZl
cnRBbmRWYWxpZGF0ZShjb25zdCBQYXltZW50RGV0YWlsc0luaXQmIGRldGFpbHMpCitFeGNlcHRp
b25PcjxBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXM+IEFw
cGxlUGF5UGF5bWVudEhhbmRsZXI6OmNvbXB1dGVUb3RhbEFuZExpbmVJdGVtcygpCiB7CisgICAg
YXV0byYgZGV0YWlscyA9IG1fcGF5bWVudFJlcXVlc3QtPnBheW1lbnREZXRhaWxzKCk7CiAgICAg
U3RyaW5nIGN1cnJlbmN5ID0gZGV0YWlscy50b3RhbC5hbW91bnQuY3VycmVuY3k7Ci0gICAgYXV0
byB0b3RhbCA9IGNvbnZlcnRBbmRWYWxpZGF0ZShkZXRhaWxzLnRvdGFsLCBjdXJyZW5jeSk7Ci0g
ICAgaWYgKHRvdGFsLmhhc0V4Y2VwdGlvbigpKQotICAgICAgICByZXR1cm4gdG90YWwucmVsZWFz
ZUV4Y2VwdGlvbigpOwogCi0gICAgYXV0byBsaW5lSXRlbXMgPSBjb252ZXJ0QW5kVmFsaWRhdGUo
ZGV0YWlscy5kaXNwbGF5SXRlbXMsIGN1cnJlbmN5KTsKLSAgICBpZiAobGluZUl0ZW1zLmhhc0V4
Y2VwdGlvbigpKQotICAgICAgICByZXR1cm4gbGluZUl0ZW1zLnJlbGVhc2VFeGNlcHRpb24oKTsK
KyAgICBhdXRvIGNvbnZlcnRlZFRvdGFsID0gY29udmVydEFuZFZhbGlkYXRlKGRldGFpbHMudG90
YWwsIGN1cnJlbmN5KTsKKyAgICBpZiAoY29udmVydGVkVG90YWwuaGFzRXhjZXB0aW9uKCkpCisg
ICAgICAgIHJldHVybiBjb252ZXJ0ZWRUb3RhbC5yZWxlYXNlRXhjZXB0aW9uKCk7CisgICAgYXV0
byB0b3RhbCA9IGNvbnZlcnRlZFRvdGFsLnJlbGVhc2VSZXR1cm5WYWx1ZSgpOworCisgICAgYXV0
byBjb252ZXJ0ZWRMaW5lSXRlbXMgPSBjb252ZXJ0QW5kVmFsaWRhdGUoZGV0YWlscy5kaXNwbGF5
SXRlbXMsIGN1cnJlbmN5KTsKKyAgICBpZiAoY29udmVydGVkTGluZUl0ZW1zLmhhc0V4Y2VwdGlv
bigpKQorICAgICAgICByZXR1cm4gY29udmVydGVkTGluZUl0ZW1zLnJlbGVhc2VFeGNlcHRpb24o
KTsKKyAgICBhdXRvIGxpbmVJdGVtcyA9IGNvbnZlcnRlZExpbmVJdGVtcy5yZWxlYXNlUmV0dXJu
VmFsdWUoKTsKKworICAgIGlmICghbV9zZWxlY3RlZFBheW1lbnRNZXRob2RUeXBlKQorICAgICAg
ICByZXR1cm4gQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OlRvdGFsQW5kTGluZUl0ZW1z
IHsgV1RGTW92ZSh0b3RhbCksIFdURk1vdmUobGluZUl0ZW1zKSB9OwogCi0gICAgcmV0dXJuIEFw
cGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcyB7IHRvdGFsLnJl
bGVhc2VSZXR1cm5WYWx1ZSgpLCBsaW5lSXRlbXMucmVsZWFzZVJldHVyblZhbHVlKCkgfTsKKyAg
ICBhdXRvJiBtb2RpZmllcnMgPSBkZXRhaWxzLm1vZGlmaWVyczsKKyAgICBhdXRvJiBzZXJpYWxp
emVkTW9kaWZpZXJEYXRhID0gbV9wYXltZW50UmVxdWVzdC0+c2VyaWFsaXplZE1vZGlmaWVyRGF0
YSgpOworICAgIEFTU0VSVChtb2RpZmllcnMuc2l6ZSgpID09IHNlcmlhbGl6ZWRNb2RpZmllckRh
dGEuc2l6ZSgpKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1vZGlmaWVycy5zaXplKCk7
ICsraSkgeworICAgICAgICBhdXRvIGNvbnZlcnRlZElkZW50aWZpZXIgPSBjb252ZXJ0QW5kVmFs
aWRhdGVQYXltZW50TWV0aG9kSWRlbnRpZmllcihtb2RpZmllcnNbaV0uc3VwcG9ydGVkTWV0aG9k
cyk7CisgICAgICAgIGlmICghY29udmVydGVkSWRlbnRpZmllciB8fCAhaGFuZGxlc0lkZW50aWZp
ZXIoKmNvbnZlcnRlZElkZW50aWZpZXIpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAg
ICAgaWYgKHNlcmlhbGl6ZWRNb2RpZmllckRhdGFbaV0uaXNFbXB0eSgpKQorICAgICAgICAgICAg
Y29udGludWU7CisKKyAgICAgICAgYXV0byYgZXhlY1N0YXRlID0gKmRvY3VtZW50KCkuZXhlY1N0
YXRlKCk7CisgICAgICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKGV4ZWNTdGF0
ZS52bSgpKTsKKyAgICAgICAgSlNDOjpKU1ZhbHVlIGRhdGE7CisgICAgICAgIHsKKyAgICAgICAg
ICAgIGF1dG8gbG9jayA9IEpTQzo6SlNMb2NrSG9sZGVyIHsgJmV4ZWNTdGF0ZSB9OworICAgICAg
ICAgICAgZGF0YSA9IEpTT05QYXJzZSgmZXhlY1N0YXRlLCBzZXJpYWxpemVkTW9kaWZpZXJEYXRh
W2ldKTsKKyAgICAgICAgICAgIGlmIChzY29wZS5leGNlcHRpb24oKSkKKyAgICAgICAgICAgICAg
ICByZXR1cm4gRXhjZXB0aW9uIHsgRXhpc3RpbmdFeGNlcHRpb25FcnJvciB9OworICAgICAgICB9
CisKKyAgICAgICAgYXV0byBhcHBsZVBheU1vZGlmaWVyID0gY29udmVydERpY3Rpb25hcnk8QXBw
bGVQYXlNb2RpZmllcj4oZXhlY1N0YXRlLCBXVEZNb3ZlKGRhdGEpKTsKKyAgICAgICAgaWYgKHNj
b3BlLmV4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEV4aXN0aW5n
RXhjZXB0aW9uRXJyb3IgfTsKKworICAgICAgICBpZiAoYXBwbGVQYXlNb2RpZmllci5wYXltZW50
TWV0aG9kVHlwZSAhPSAqbV9zZWxlY3RlZFBheW1lbnRNZXRob2RUeXBlKQorICAgICAgICAgICAg
Y29udGludWU7CisKKyAgICAgICAgaWYgKG1vZGlmaWVyc1tpXS50b3RhbCkgeworICAgICAgICAg
ICAgYXV0byB0b3RhbE92ZXJyaWRlID0gY29udmVydEFuZFZhbGlkYXRlKCptb2RpZmllcnNbaV0u
dG90YWwsIGN1cnJlbmN5KTsKKyAgICAgICAgICAgIGlmICh0b3RhbE92ZXJyaWRlLmhhc0V4Y2Vw
dGlvbigpKQorICAgICAgICAgICAgICAgIHJldHVybiB0b3RhbE92ZXJyaWRlLnJlbGVhc2VFeGNl
cHRpb24oKTsKKyAgICAgICAgICAgIHRvdGFsID0gdG90YWxPdmVycmlkZS5yZWxlYXNlUmV0dXJu
VmFsdWUoKTsKKyAgICAgICAgfQorCisgICAgICAgIGF1dG8gYWRkaXRpb25hbERpc3BsYXlJdGVt
cyA9IGNvbnZlcnRBbmRWYWxpZGF0ZShtb2RpZmllcnNbaV0uYWRkaXRpb25hbERpc3BsYXlJdGVt
cywgY3VycmVuY3kpOworICAgICAgICBpZiAoYWRkaXRpb25hbERpc3BsYXlJdGVtcy5oYXNFeGNl
cHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiBhZGRpdGlvbmFsRGlzcGxheUl0ZW1zLnJlbGVh
c2VFeGNlcHRpb24oKTsKKyAgICAgICAgbGluZUl0ZW1zLmFwcGVuZFZlY3RvcihhZGRpdGlvbmFs
RGlzcGxheUl0ZW1zLnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsKKyAgICAgICAgYnJlYWs7CisgICAg
fQorCisgICAgcmV0dXJuIEFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExp
bmVJdGVtcyB7IFdURk1vdmUodG90YWwpLCBXVEZNb3ZlKGxpbmVJdGVtcykgfTsKIH0KIAogRXhj
ZXB0aW9uT3I8dm9pZD4gQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6ZGV0YWlsc1VwZGF0ZWQoY29u
c3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IFN0cmluZyYgZXJyb3IpCkBAIC0yNzcs
OSArMzEzLDYgQEAgRXhjZXB0aW9uT3I8dm9pZD4gQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6ZGV0
YWlsc1VwZGF0ZWQoY29uc3QgQXRvbWljU3RyaW5nJiBldmUKICAgICBpZiAoZXZlbnRUeXBlID09
IGV2ZW50TmFtZXMoKS5zaGlwcGluZ29wdGlvbmNoYW5nZUV2ZW50KQogICAgICAgICByZXR1cm4g
c2hpcHBpbmdPcHRpb25VcGRhdGVkKCk7CiAKLSAgICBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFt
ZXMoKS5hcHBsZXBheXBheW1lbnRtZXRob2RjaGFuZ2VkRXZlbnQpCi0gICAgICAgIHJldHVybiBw
YXltZW50TWV0aG9kVXBkYXRlZCgpOwotCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAg
cmV0dXJuIHsgfTsKIH0KQEAgLTI5NSw3ICszMjgsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBBcHBs
ZVBheVBheW1lbnRIYW5kbGVyOjpzaGlwcGluZ0FkZHJlc3NVcGRhdGVkKGNvbnN0IFN0cmluZyYg
ZQogICAgICAgICB1cGRhdGUuZXJyb3JzLmFwcGVuZChXVEZNb3ZlKHBheW1lbnRFcnJvcikpOwog
ICAgIH0KIAotICAgIGF1dG8gbmV3VG90YWxBbmRMaW5lSXRlbXMgPSBjb252ZXJ0QW5kVmFsaWRh
dGUobV9wYXltZW50UmVxdWVzdC0+cGF5bWVudERldGFpbHMoKSk7CisgICAgYXV0byBuZXdUb3Rh
bEFuZExpbmVJdGVtcyA9IGNvbXB1dGVUb3RhbEFuZExpbmVJdGVtcygpOwogICAgIGlmIChuZXdU
b3RhbEFuZExpbmVJdGVtcy5oYXNFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIG5ld1RvdGFs
QW5kTGluZUl0ZW1zLnJlbGVhc2VFeGNlcHRpb24oKTsKICAgICB1cGRhdGUubmV3VG90YWxBbmRM
aW5lSXRlbXMgPSBuZXdUb3RhbEFuZExpbmVJdGVtcy5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKQEAg
LTMwOCw3ICszNDEsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBBcHBsZVBheVBheW1lbnRIYW5kbGVy
OjpzaGlwcGluZ09wdGlvblVwZGF0ZWQoKQogewogICAgIFNoaXBwaW5nTWV0aG9kVXBkYXRlIHVw
ZGF0ZTsKIAotICAgIGF1dG8gbmV3VG90YWxBbmRMaW5lSXRlbXMgPSBjb252ZXJ0QW5kVmFsaWRh
dGUobV9wYXltZW50UmVxdWVzdC0+cGF5bWVudERldGFpbHMoKSk7CisgICAgYXV0byBuZXdUb3Rh
bEFuZExpbmVJdGVtcyA9IGNvbXB1dGVUb3RhbEFuZExpbmVJdGVtcygpOwogICAgIGlmIChuZXdU
b3RhbEFuZExpbmVJdGVtcy5oYXNFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIG5ld1RvdGFs
QW5kTGluZUl0ZW1zLnJlbGVhc2VFeGNlcHRpb24oKTsKICAgICB1cGRhdGUubmV3VG90YWxBbmRM
aW5lSXRlbXMgPSBuZXdUb3RhbEFuZExpbmVJdGVtcy5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKQEAg
LTMyMSw3ICszNTQsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBBcHBsZVBheVBheW1lbnRIYW5kbGVy
OjpwYXltZW50TWV0aG9kVXBkYXRlZCgpCiB7CiAgICAgUGF5bWVudE1ldGhvZFVwZGF0ZSB1cGRh
dGU7CiAKLSAgICBhdXRvIG5ld1RvdGFsQW5kTGluZUl0ZW1zID0gY29udmVydEFuZFZhbGlkYXRl
KG1fcGF5bWVudFJlcXVlc3QtPnBheW1lbnREZXRhaWxzKCkpOworICAgIGF1dG8gbmV3VG90YWxB
bmRMaW5lSXRlbXMgPSBjb21wdXRlVG90YWxBbmRMaW5lSXRlbXMoKTsKICAgICBpZiAobmV3VG90
YWxBbmRMaW5lSXRlbXMuaGFzRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBuZXdUb3RhbEFu
ZExpbmVJdGVtcy5yZWxlYXNlRXhjZXB0aW9uKCk7CiAgICAgdXBkYXRlLm5ld1RvdGFsQW5kTGlu
ZUl0ZW1zID0gbmV3VG90YWxBbmRMaW5lSXRlbXMucmVsZWFzZVJldHVyblZhbHVlKCk7CkBAIC0z
ODUsOCArNDE4LDggQEAgdm9pZCBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpkaWRTZWxlY3RTaGlw
cGluZ0NvbnRhY3QoY29uc3QgUGF5bWVudENvbnRhY3QmIHNoaXAKIAogdm9pZCBBcHBsZVBheVBh
eW1lbnRIYW5kbGVyOjpkaWRTZWxlY3RQYXltZW50TWV0aG9kKGNvbnN0IFBheW1lbnRNZXRob2Qm
IHBheW1lbnRNZXRob2QpCiB7Ci0gICAgYXV0byBldmVudCA9IEFwcGxlUGF5UGF5bWVudE1ldGhv
ZFVwZGF0ZUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmFwcGxlcGF5cGF5bWVudG1ldGhvZGNo
YW5nZWRFdmVudCwgcGF5bWVudE1ldGhvZC50b0FwcGxlUGF5UGF5bWVudE1ldGhvZCgpLCBtX3Bh
eW1lbnRSZXF1ZXN0LmdldCgpKTsKLSAgICBtX3BheW1lbnRSZXF1ZXN0LT5kaXNwYXRjaEV2ZW50
KGV2ZW50LmdldCgpKTsKKyAgICBtX3NlbGVjdGVkUGF5bWVudE1ldGhvZFR5cGUgPSBwYXltZW50
TWV0aG9kLnRvQXBwbGVQYXlQYXltZW50TWV0aG9kKCkudHlwZTsKKyAgICBwYXltZW50TWV0aG9k
VXBkYXRlZCgpOwogfQogCiB2b2lkIEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmRpZENhbmNlbFBh
eW1lbnRTZXNzaW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVy
LmgKaW5kZXggODEyOWNiYTM5MGExZGEzY2Y1NDg5ZTkzMzQ1ZTQ3ZmRhYzYyNTdmMC4uYzcyYTlk
NTlhNjc1MmJkNzBlZDJmZWJkNjk1OGY0ZGFlMDQxN2UzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5k
bGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVz
dC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJM
RShBUFBMRV9QQVkpICYmIEVOQUJMRShQQVlNRU5UX1JFUVVFU1QpCiAKKyNpbmNsdWRlICJBcHBs
ZVBheVBheW1lbnRNZXRob2RUeXBlLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlSZXF1ZXN0LmgiCiAj
aW5jbHVkZSAiQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJQYXltZW50
SGFuZGxlci5oIgpAQCAtNTEsNiArNTIsOCBAQCBwcml2YXRlOgogICAgIERvY3VtZW50JiBkb2N1
bWVudCgpOwogICAgIFBheW1lbnRDb29yZGluYXRvciYgcGF5bWVudENvb3JkaW5hdG9yKCk7CiAK
KyAgICBFeGNlcHRpb25PcjxBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6VG90YWxBbmRM
aW5lSXRlbXM+IGNvbXB1dGVUb3RhbEFuZExpbmVJdGVtcygpOworCiAgICAgRXhjZXB0aW9uT3I8
dm9pZD4gc2hpcHBpbmdBZGRyZXNzVXBkYXRlZChjb25zdCBTdHJpbmcmIGVycm9yKTsKICAgICBF
eGNlcHRpb25Pcjx2b2lkPiBzaGlwcGluZ09wdGlvblVwZGF0ZWQoKTsKICAgICBFeGNlcHRpb25P
cjx2b2lkPiBwYXltZW50TWV0aG9kVXBkYXRlZCgpOwpAQCAtNzQsNiArNzcsNyBAQCBwcml2YXRl
OgogICAgIFBheW1lbnRSZXF1ZXN0OjpNZXRob2RJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKICAg
ICBSZWY8UGF5bWVudFJlcXVlc3Q+IG1fcGF5bWVudFJlcXVlc3Q7CiAgICAgc3RkOjpvcHRpb25h
bDxBcHBsZVBheVJlcXVlc3Q+IG1fYXBwbGVQYXlSZXF1ZXN0OworICAgIHN0ZDo6b3B0aW9uYWw8
QXBwbGVQYXlQYXltZW50TWV0aG9kVHlwZT4gbV9zZWxlY3RlZFBheW1lbnRNZXRob2RUeXBlOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRNZXRob2RVcGRh
dGVFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1
ZXN0L0FwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZUV2ZW50LmNwcApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYzg2NjBkYzQxZjU0NjQ0ZTFhZjIzMTU0M2E1YzExZTJkYjIwMTdiOS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudE1ldGhv
ZFVwZGF0ZUV2ZW50LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgot
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
LSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50TWV0aG9k
VXBkYXRlRXZlbnQuaCIKLQotI2lmIEVOQUJMRShBUFBMRV9QQVkpICYmIEVOQUJMRShQQVlNRU5U
X1JFUVVFU1QpCi0KLSNpbmNsdWRlICJQYXltZW50UmVxdWVzdC5oIgotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0KLUFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZUV2ZW50OjpBcHBsZVBheVBheW1l
bnRNZXRob2RVcGRhdGVFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IEFwcGxl
UGF5UGF5bWVudE1ldGhvZCYgcGF5bWVudE1ldGhvZCwgUGF5bWVudFJlcXVlc3QmIHBheW1lbnRS
ZXF1ZXN0KQotICAgIDogUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudCB7IHR5cGUsIHBheW1lbnRS
ZXF1ZXN0IH0KLSAgICAsIG1fcGF5bWVudE1ldGhvZCB7IHBheW1lbnRNZXRob2QgfQotewotfQot
Ci1FdmVudEludGVyZmFjZSBBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVudDo6ZXZlbnRJ
bnRlcmZhY2UoKSBjb25zdAotewotICAgIHJldHVybiBBcHBsZVBheVBheW1lbnRNZXRob2RVcGRh
dGVFdmVudEludGVyZmFjZVR5cGU7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2Vu
ZGlmIC8vIEVOQUJMRShBUFBMRV9QQVkpICYmIEVOQUJMRShQQVlNRU5UX1JFUVVFU1QpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0Fw
cGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZUV2ZW50
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjMDZmYWU3ZWE3ZjRiODI4OWNlZjRi
MDRhNjE0MWI0MTNhNTMwMjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9B
cHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVudC5oCisrKyAvZGV2L251bGwKQEAgLTEsNTUg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
LSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0g
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKEFQUExFX1BB
WSkgJiYgRU5BQkxFKFBBWU1FTlRfUkVRVUVTVCkKLQotI2luY2x1ZGUgIkFwcGxlUGF5UGF5bWVu
dE1ldGhvZC5oIgotI2luY2x1ZGUgIlBheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuaCIKLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVu
dCBmaW5hbCA6IHB1YmxpYyBQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50IHsKLXB1YmxpYzoKLSAg
ICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gQXJncz4gc3RhdGljIFJlZjxBcHBsZVBheVBheW1lbnRN
ZXRob2RVcGRhdGVFdmVudD4gY3JlYXRlKEFyZ3MmJi4uLiBhcmdzKQotICAgIHsKLSAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQoc3Rk
Ojpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKSk7Ci0gICAgfQotCi0gICAgY29uc3QgQXBwbGVQYXlQ
YXltZW50TWV0aG9kJiBwYXltZW50TWV0aG9kKCkgY29uc3QgeyByZXR1cm4gbV9wYXltZW50TWV0
aG9kOyB9Ci0KLXByaXZhdGU6Ci0gICAgQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQo
Y29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBBcHBsZVBheVBheW1lbnRNZXRob2QmLCBQ
YXltZW50UmVxdWVzdCYpOwotCi0gICAgLy8gRXZlbnQKLSAgICBFdmVudEludGVyZmFjZSBldmVu
dEludGVyZmFjZSgpIGNvbnN0IGZpbmFsOwotCi0gICAgY29uc3QgQXBwbGVQYXlQYXltZW50TWV0
aG9kIG1fcGF5bWVudE1ldGhvZDsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2Vu
ZGlmIC8vIEVOQUJMRShBUFBMRV9QQVkpICYmIEVOQUJMRShQQVlNRU5UX1JFUVVFU1QpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0Fw
cGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZUV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZl
bnQuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMWFkZmMxYjkyMmE1YTE1Y2Nj
MjE4MTRlN2JlOWJhNjljMTk4YmM2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVl
c3QvQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuaWRsCisrKyAvZGV2L251bGwKQEAg
LTEsMzEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25kaXRpb25hbD1BUFBMRV9QQVkm
UEFZTUVOVF9SRVFVRVNULAotICAgIE5vSW50ZXJmYWNlT2JqZWN0LAotXSBpbnRlcmZhY2UgQXBw
bGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQgOiBQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50
IHsKLSAgICBbQ2FjaGVkQXR0cmlidXRlXSByZWFkb25seSBhdHRyaWJ1dGUgQXBwbGVQYXlQYXlt
ZW50TWV0aG9kIHBheW1lbnRNZXRob2Q7Ci19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oCmluZGV4IDVlZmYzMGFhYzFk
NDViZTcyMGRmYTc3ZWNlMDAzOWI4OTdjNTRiYmMuLjVjZDc4YmY4ZGU3NGZjYTg5ZGVjOWU1ODc4
NTYyOTY1ODVjZGY1MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVu
dHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bh
eW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmgKQEAgLTc1LDYgKzc1LDcgQEAgcHVibGljOgog
CiAgICAgY29uc3QgUGF5bWVudE9wdGlvbnMmIHBheW1lbnRPcHRpb25zKCkgY29uc3QgeyByZXR1
cm4gbV9vcHRpb25zOyB9CiAgICAgY29uc3QgUGF5bWVudERldGFpbHNJbml0JiBwYXltZW50RGV0
YWlscygpIGNvbnN0IHsgcmV0dXJuIG1fZGV0YWlsczsgfQorICAgIGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBzZXJpYWxpemVkTW9kaWZpZXJEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9zZXJpYWxpemVk
TW9kaWZpZXJEYXRhOyB9CiAKICAgICB2b2lkIHNoaXBwaW5nQWRkcmVzc0NoYW5nZWQoUmVmPFBh
eW1lbnRBZGRyZXNzPiYmKTsKICAgICB2b2lkIHNoaXBwaW5nT3B0aW9uQ2hhbmdlZChjb25zdCBT
dHJpbmcmIHNoaXBwaW5nT3B0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5pZGwKaW5kZXggNzMyYTc0MzI5ZGUz
OTY4NDljYWVhMzZlYzk5Yjc2Yzk1NzUxMWM5NS4uN2ZhMzk5YTg3YWYzNzZkZmQ1Njg0NzY2ZDVj
NzJlOTFiMmUzMzFlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50
cmVxdWVzdC9QYXltZW50UmVxdWVzdC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
YXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5pZGwKQEAgLTQ1LDUgKzQ1LDQgQEAKICAgICBh
dHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uc2hpcHBpbmdvcHRpb25jaGFuZ2U7CiAKICAgICBbQ29u
ZGl0aW9uYWw9QVBQTEVfUEFZXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uYXBwbGVwYXl2YWxp
ZGF0ZW1lcmNoYW50OwotICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVldIGF0dHJpYnV0ZSBFdmVu
dEhhbmRsZXIgb25hcHBsZXBheXBheW1lbnRtZXRob2RjaGFuZ2VkOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmOGRlZGM0
NDhmNDE5ZWU5MzliZGRjZmJkYTZlY2E3NWI2NDAxNTdlLi41NDZkNmRkM2NkNzY4MjI4NThlYjFh
MzQ0MGU4ZTI2OThiZTBkYjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNzY1LDEwICsyNzY1LDYgQEAKIAkJQTFCRjZCODMx
QUE5NkM3RDAwQUY0QThBIC8qIE1vY2tDb250ZW50RmlsdGVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUJGNkI4MTFBQTk2QzdEMDBBRjRBOEEgLyog
TW9ja0NvbnRlbnRGaWx0ZXIuaCAqLzsgfTsKIAkJQTFDMTUwN0ExRTNGMkIzRTAwMzJDOThDIC8q
IFByZXZpZXdDb252ZXJ0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEExQzE1MDc4MUUzRjJCM0UwMDMyQzk4QyAvKiBQcmV2aWV3Q29udmVydGVyLmgg
Ki87IH07CiAJCUExQzJDNTc2MUZBMjg1MTYwMEJBNDZGQSAvKiBQYXltZW50U2Vzc2lvbi5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUMyQzU3NTFG
QTI4NTE2MDBCQTQ2RkEgLyogUGF5bWVudFNlc3Npb24uY3BwICovOyB9OwotCQlBMUNCRUY1MzFG
OUVFRTc1MDAyOERFN0MgLyogQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQ0JFRjUwMUY5RUVF
NzUwMDI4REU3QyAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVudC5oICovOyB9Owot
CQlBMUNCRUY1NDFGOUVFRTc1MDAyOERFN0MgLyogQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRl
RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTFDQkVGNTExRjlFRUU3NTAwMjhERTdDIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZUV2
ZW50LmNwcCAqLzsgfTsKLQkJQTFDQkVGNjExRjlGMDkwNDAwMjhERTdDIC8qIEpTQXBwbGVQYXlQ
YXltZW50TWV0aG9kVXBkYXRlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTFDQkVGNUYxRjlGMDkwMjAwMjhERTdDIC8qIEpTQXBwbGVQYXlQ
YXltZW50TWV0aG9kVXBkYXRlRXZlbnQuY3BwICovOyB9OwotCQlBMUNCRUY2MjFGOUYwOTA0MDAy
OERFN0MgLyogSlNBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFDQkVGNjAxRjlGMDkwMjAwMjhE
RTdDIC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuaCAqLzsgfTsKIAkJQTFD
QkVGNjQxRjlGMTEyOTAwMjhERTdDIC8qIE1vY2tQYXltZW50TWV0aG9kLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUNCRUY2MzFGOUYxMTI5MDAyOERF
N0MgLyogTW9ja1BheW1lbnRNZXRob2QuaCAqLzsgfTsKIAkJQTFDQzU2NjcxRjQ2MTQ3QTAwQTQ1
NTVCIC8qIEpTUGF5bWVudEFkZHJlc3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEExQ0M1NjY1MUY0NjE0NjgwMEE0NTU1QiAvKiBKU1BheW1lbnRBZGRy
ZXNzLmggKi87IH07CiAJCUExQ0M1NjY5MUY0NjE0ODAwMEE0NTU1QiAvKiBKU1BheW1lbnRDb21w
bGV0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFD
QzU2NEUxRjQ2MTQ1MjAwQTQ1NTVCIC8qIEpTUGF5bWVudENvbXBsZXRlLmggKi87IH07CkBAIC0y
ODAxLDYgKzI3OTcsMTIgQEAKIAkJQTFGNjAwNTYxRjQ3NjUwNTAwNzdFODNGIC8qIEpTUGF5bWVu
dFJlcXVlc3RVcGRhdGVFdmVudEluaXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEExRjYwMDUwMUY0NzY0RkUwMDc3RTgzRiAvKiBKU1BheW1lbnRSZXF1
ZXN0VXBkYXRlRXZlbnRJbml0LmggKi87IH07CiAJCUExRjYwMDU4MUY0NzY1MDUwMDc3RTgzRiAv
KiBKU1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExRjYwMDUyMUY0NzY1MDEwMDc3RTgzRiAvKiBKU1BheW1l
bnRSZXF1ZXN0VXBkYXRlRXZlbnQuaCAqLzsgfTsKIAkJQTFGNjAwNUExRjQ3NjUwNTAwNzdFODNG
IC8qIEpTUGF5bWVudERldGFpbHNVcGRhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEExRjYwMDU0MUY0NzY1MDQwMDc3RTgzRiAvKiBKU1BheW1lbnRE
ZXRhaWxzVXBkYXRlLmggKi87IH07CisJCUExRjZDRkZGMUZFMDk2MjEwMDE4MDc4QyAvKiBBcHBs
ZVBheU1vZGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBMUY2Q0ZGQzFGRTA5NjIxMDAxODA3OEMgLyogQXBwbGVQYXlNb2RpZmllci5oICovOyB9
OworCQlBMUY2RDAwNjFGRTA5NkY2MDAxODA3OEMgLyogQXBwbGVQYXlQYXltZW50TWV0aG9kVHlw
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFGNkQw
MDMxRkUwOTZGNjAwMTgwNzhDIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUuaCAqLzsgfTsK
KwkJQTFGNkQwMEYxRkUwOTk5NDAwMTgwNzhDIC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kVHlw
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFGNkQw
MEUxRkUwOTk2NDAwMTgwNzhDIC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kVHlwZS5oICovOyB9
OworCQlBMUY2RDAxMDFGRTA5OTk2MDAxODA3OEMgLyogSlNBcHBsZVBheVBheW1lbnRNZXRob2RU
eXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEx
RjZEMDBEMUZFMDk5NjQwMDE4MDc4QyAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUuY3Bw
ICovOyB9OworCQlBMUY2RDAxMTFGRTA5OUIyMDAxODA3OEMgLyogSlNBcHBsZVBheU1vZGlmaWVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExRjZE
MDBBMUZFMDk5MjEwMDE4MDc4QyAvKiBKU0FwcGxlUGF5TW9kaWZpZXIuY3BwICovOyB9OworCQlB
MUY2RDAxMjFGRTA5OUI0MDAxODA3OEMgLyogSlNBcHBsZVBheU1vZGlmaWVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUY2RDAwQzFGRTA5OTIyMDAx
ODA3OEMgLyogSlNBcHBsZVBheU1vZGlmaWVyLmggKi87IH07CiAJCUExRjc2QjEzMUY0NEMyNDUw
MDE0QzMxOCAvKiBQYXltZW50UmVxdWVzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTFGNzZCMTAxRjQ0QzI0NTAwMTRDMzE4IC8qIFBheW1lbnRSZXF1
ZXN0LmggKi87IH07CiAJCUExRjc2QjE5MUY0NEMzOTAwMDE0QzMxOCAvKiBQYXltZW50TWV0aG9k
RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFG
NzZCMTYxRjQ0QzM5MDAwMTRDMzE4IC8qIFBheW1lbnRNZXRob2REYXRhLmggKi87IH07CiAJCUEx
Rjc2QjFGMUY0NEMzRkUwMDE0QzMxOCAvKiBQYXltZW50RGV0YWlsc0Jhc2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExRjc2QjFDMUY0NEMzRkUwMDE0
QzMxOCAvKiBQYXltZW50RGV0YWlsc0Jhc2UuaCAqLzsgfTsKQEAgLTEwNTg0LDExICsxMDU4Niw2
IEBACiAJCUExQzE1MDc4MUUzRjJCM0UwMDMyQzk4QyAvKiBQcmV2aWV3Q29udmVydGVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByZXZpZXdDb252ZXJ0ZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFDMkM1NzUxRkEyODUxNjAwQkE0NkZBIC8qIFBheW1l
bnRTZXNzaW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBheW1lbnRTZXNzaW9uLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFDN0ZBQTExMzNBNUQzNTAwRDY3MzJEIC8qIEpT
WFBhdGhSZXN1bHRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNYUGF0aFJlc3VsdEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CUExQ0JFRjUwMUY5RUVFNzUwMDI4REU3QyAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVF
dmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlBMUNCRUY1MTFGOUVFRTc1MDAyOERFN0Mg
LyogQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQlBMUNCRUY1MjFGOUVFRTc1MDAyOERFN0MgLyogQXBwbGVQYXlQYXltZW50
TWV0aG9kVXBkYXRlRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZUV2
ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQTFDQkVGNUYxRjlGMDkwMjAw
MjhERTdDIC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcHBsZVBheVBheW1lbnRNZXRob2RVcGRh
dGVFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUExQ0JFRjYwMUY5RjA5
MDIwMDI4REU3QyAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZUV2ZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRl
RXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFDQkVGNjMxRjlGMTEyOTAw
MjhERTdDIC8qIE1vY2tQYXltZW50TWV0aG9kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vY2tQYXltZW50
TWV0aG9kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExQ0MxMTYyMUU0OTNEMDEw
MEVGQTY5QyAvKiBGaWxlU3lzdGVtTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gRmlsZVN5c3RlbU1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQTFDQzU2NEMxRjQ2MTQ1MDAwQTQ1NTVCIC8qIEpTUGF5bWVudE1ldGhvZERhdGEuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQYXltZW50TWV0aG9kRGF0YS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTA2NjIsNiArMTA2NTksMTQgQEAKIAkJQTFGNjAw
NTIxRjQ3NjUwMTAwNzdFODNGIC8qIEpTUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFGNjAwNTMxRjQ3NjUwMjAwNzdFODNG
IC8qIEpTUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudEluaXQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50SW5pdC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExRjYwMDU0MUY0NzY1MDQwMDc3RTgzRiAv
KiBKU1BheW1lbnREZXRhaWxzVXBkYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTUGF5bWVudERldGFpbHNVcGRhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQTFGNkNGRkMxRkUwOTYyMTAwMTgwNzhDIC8qIEFwcGxlUGF5TW9kaWZpZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQXBwbGVQYXlNb2RpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBMUY2Q0ZGRTFGRTA5NjIxMDAxODA3OEMgLyogQXBwbGVQYXlNb2RpZmllci5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
QXBwbGVQYXlNb2RpZmllci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExRjZE
MDAzMUZFMDk2RjYwMDE4MDc4QyAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RUeXBlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEFwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTFGNkQwMDUxRkUwOTZGNjAwMTgwNzhDIC8qIEFwcGxlUGF5UGF5bWVudE1l
dGhvZFR5cGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IEFwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBMUY2RDAwQTFGRTA5OTIxMDAxODA3OEMgLyogSlNBcHBs
ZVBheU1vZGlmaWVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
QXBwbGVQYXlNb2RpZmllci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExRjZE
MDBDMUZFMDk5MjIwMDE4MDc4QyAvKiBKU0FwcGxlUGF5TW9kaWZpZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcHBsZVBheU1vZGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUExRjZEMDBEMUZFMDk5NjQwMDE4MDc4QyAvKiBKU0FwcGxlUGF5UGF5
bWVudE1ldGhvZFR5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNBcHBsZVBheVBheW1lbnRNZXRob2RUeXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTFGNkQwMEUxRkUwOTk2NDAwMTgwNzhDIC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9k
VHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0FwcGxlUGF5UGF5bWVu
dE1ldGhvZFR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFGNzZCMTAxRjQ0
QzI0NTAwMTRDMzE4IC8qIFBheW1lbnRSZXF1ZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBheW1lbnRS
ZXF1ZXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExRjc2QjExMUY0NEMyNDUw
MDE0QzMxOCAvKiBQYXltZW50UmVxdWVzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYXltZW50
UmVxdWVzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExRjc2QjEyMUY0NEMy
NDUwMDE0QzMxOCAvKiBQYXltZW50UmVxdWVzdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGF5bWVudFJlcXVlc3QuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTUzODMsNiArMTUzODgsOCBAQAogCQkJ
CTFBOEE2NDQwMUQxOUZDRkIwMEQwRTAwRiAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3Rl
ZEV2ZW50LmNwcCAqLywKIAkJCQkxQThBNjQ0MjFEMTlGQ0ZCMDBEMEUwMEYgLyogQXBwbGVQYXlQ
YXltZW50TWV0aG9kU2VsZWN0ZWRFdmVudC5oICovLAogCQkJCTFBOEE2NDQzMUQxOUZDRkIwMEQw
RTAwRiAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50LmlkbCAqLywKKwkJCQlB
MUY2RDAwMzFGRTA5NkY2MDAxODA3OEMgLyogQXBwbGVQYXlQYXltZW50TWV0aG9kVHlwZS5oICov
LAorCQkJCUExRjZEMDA1MUZFMDk2RjYwMDE4MDc4QyAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RU
eXBlLmlkbCAqLywKIAkJCQkxQURGREZEQTFFNzFEOERGMDA4RjVEMzQgLyogQXBwbGVQYXlQYXlt
ZW50TWV0aG9kVXBkYXRlLmggKi8sCiAJCQkJMUFERkRGREIxRTcxRDhERjAwOEY1RDM0IC8qIEFw
cGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZS5pZGwgKi8sCiAJCQkJN0M2NTIyRjIxRTAwQTUxNzAw
Njc3RjIyIC8qIEFwcGxlUGF5UGF5bWVudFBhc3MuaCAqLywKQEAgLTE1NTM5LDYgKzE1NTQ2LDgg
QEAKIAkJCQlBMURGNUE4QTFGN0VDMDAwMDA1OEE0NzcgLyogSlNBcHBsZVBheU1lcmNoYW50Q2Fw
YWJpbGl0eS5oICovLAogCQkJCUExRjkyOTZEMUY4RDlGNUEwMDUyM0FGMyAvKiBKU0FwcGxlUGF5
TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwICovLAogCQkJCUExRjkyOTZFMUY4RDlGNUIwMDUy
M0FGMyAvKiBKU0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaCAqLywKKwkJCQlBMUY2
RDAwQTFGRTA5OTIxMDAxODA3OEMgLyogSlNBcHBsZVBheU1vZGlmaWVyLmNwcCAqLywKKwkJCQlB
MUY2RDAwQzFGRTA5OTIyMDAxODA3OEMgLyogSlNBcHBsZVBheU1vZGlmaWVyLmggKi8sCiAJCQkJ
N0M2NTIzMUQxRTAxOEI1QTAwNjc3RjIyIC8qIEpTQXBwbGVQYXlQYXltZW50LmNwcCAqLywKIAkJ
CQk3QzY1MjMwQTFFMDBEQkI0MDA2NzdGMjIgLyogSlNBcHBsZVBheVBheW1lbnQuaCAqLywKIAkJ
CQkxQURGREZFMzFFNzFEQ0EwMDA4RjVEMzQgLyogSlNBcHBsZVBheVBheW1lbnRBdXRob3JpemF0
aW9uUmVzdWx0LmNwcCAqLywKQEAgLTE1NTUxLDEwICsxNTU2MCwxMCBAQAogCQkJCTdDNjUyMzBF
MUUwMERCQjQwMDY3N0YyMiAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZC5oICovLAogCQkJCTFB
RTk2QTdDMUQxQTBBODAwMEI4Njc2OCAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVk
RXZlbnQuY3BwICovLAogCQkJCTFBRTk2QTdEMUQxQTBBODAwMEI4Njc2OCAvKiBKU0FwcGxlUGF5
UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuaCAqLywKKwkJCQlBMUY2RDAwRDFGRTA5OTY0MDAx
ODA3OEMgLyogSlNBcHBsZVBheVBheW1lbnRNZXRob2RUeXBlLmNwcCAqLywKKwkJCQlBMUY2RDAw
RTFGRTA5OTY0MDAxODA3OEMgLyogSlNBcHBsZVBheVBheW1lbnRNZXRob2RUeXBlLmggKi8sCiAJ
CQkJMUFERkRGRTUxRTcxRENBMDAwOEY1RDM0IC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kVXBk
YXRlLmNwcCAqLywKIAkJCQkxQURGREZFNjFFNzFEQ0EwMDA4RjVEMzQgLyogSlNBcHBsZVBheVBh
eW1lbnRNZXRob2RVcGRhdGUuaCAqLywKLQkJCQlBMUNCRUY1RjFGOUYwOTAyMDAyOERFN0MgLyog
SlNBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVudC5jcHAgKi8sCi0JCQkJQTFDQkVGNjAx
RjlGMDkwMjAwMjhERTdDIC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuaCAq
LywKIAkJCQk3QzY1MjMwRjFFMDBEQkI0MDA2NzdGMjIgLyogSlNBcHBsZVBheVBheW1lbnRQYXNz
LmNwcCAqLywKIAkJCQk3QzY1MjMxMDFFMDBEQkI0MDA2NzdGMjIgLyogSlNBcHBsZVBheVBheW1l
bnRQYXNzLmggKi8sCiAJCQkJN0M2NTc5RUIxRTAwODU2NjAwRTNBMjdBIC8qIEpTQXBwbGVQYXlQ
YXltZW50UmVxdWVzdC5jcHAgKi8sCkBAIC0yMDQ4MywxMSArMjA0OTIsMTAgQEAKIAkJCQlBMUY5
Mjk2NzFGOEQ5Q0RCMDA1MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5j
cHAgKi8sCiAJCQkJQTFGOTI5NjYxRjhEOUNEQjAwNTIzQUYzIC8qIEFwcGxlUGF5TWVyY2hhbnRW
YWxpZGF0aW9uRXZlbnQuaCAqLywKIAkJCQlBMUY5Mjk2ODFGOEQ5Q0RCMDA1MjNBRjMgLyogQXBw
bGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5pZGwgKi8sCisJCQkJQTFGNkNGRkMxRkUwOTYy
MTAwMTgwNzhDIC8qIEFwcGxlUGF5TW9kaWZpZXIuaCAqLywKKwkJCQlBMUY2Q0ZGRTFGRTA5NjIx
MDAxODA3OEMgLyogQXBwbGVQYXlNb2RpZmllci5pZGwgKi8sCiAJCQkJQTFERjVBQTExRjdFRTEx
MzAwNThBNDc3IC8qIEFwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwICovLAogCQkJCUExREY1QUEw
MUY3RUUxMTMwMDU4QTQ3NyAvKiBBcHBsZVBheVBheW1lbnRIYW5kbGVyLmggKi8sCi0JCQkJQTFD
QkVGNTExRjlFRUU3NTAwMjhERTdDIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZUV2ZW50
LmNwcCAqLywKLQkJCQlBMUNCRUY1MDFGOUVFRTc1MDAyOERFN0MgLyogQXBwbGVQYXlQYXltZW50
TWV0aG9kVXBkYXRlRXZlbnQuaCAqLywKLQkJCQlBMUNCRUY1MjFGOUVFRTc1MDAyOERFN0MgLyog
QXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuaWRsICovLAogCQkJCUExREY1QTdDMUY3
RUJEMEIwMDU4QTQ3NyAvKiBBcHBsZVBheVJlcXVlc3QuaCAqLywKIAkJCQlBMURGNUE3RTFGN0VC
RDBCMDA1OEE0NzcgLyogQXBwbGVQYXlSZXF1ZXN0LmlkbCAqLywKIAkJCSk7CkBAIC0yNjEwMCwx
MyArMjYxMDgsMTQgQEAKIAkJCQk3QzY1NzlFMzFFMDA4MjcwMDBFM0EyN0EgLyogQXBwbGVQYXlM
aW5lSXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFERjVBODYxRjdFQkRGMjAwNThBNDc3IC8q
IEFwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMUY5Mjk2
OTFGOEQ5Q0RCMDA1MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQTFGNkNGRkYxRkUwOTYyMTAwMTgwNzhDIC8qIEFwcGxlUGF5TW9k
aWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjUyMzAxMUUwMEQwMzQwMDY3N0YyMiAvKiBB
cHBsZVBheVBheW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOEE2NDUyMUQxOUZDRkIwMEQw
RTAwRiAvKiBBcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTdDNjUyMkZCMUUwMEM5MDkwMDY3N0YyMiAvKiBBcHBsZVBheVBheW1lbnRDb250YWN0Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBMURGNUFBMjFGN0VFMTEzMDA1OEE0NzcgLyogQXBwbGVQYXlQ
YXltZW50SGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTIyRUYxRTAwQTRDNzAwNjc3
RjIyIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE4QTY0
NTYxRDE5RkNGQzAwRDBFMDBGIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQu
aCBpbiBIZWFkZXJzICovLAotCQkJCUExQ0JFRjUzMUY5RUVFNzUwMDI4REU3QyAvKiBBcHBsZVBh
eVBheW1lbnRNZXRob2RVcGRhdGVFdmVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTFGNkQwMDYx
RkUwOTZGNjAwMTgwNzhDIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTdDNjUyMkY1MUUwMEE1MTcwMDY3N0YyMiAvKiBBcHBsZVBheVBheW1lbnRQYXNz
LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzY1NzlFMDFFMDA3OUY5MDBFM0EyN0EgLyogQXBwbGVQ
YXlQYXltZW50UmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFERjVBN0YxRjdFQkQwQjAw
NThBNDc3IC8qIEFwcGxlUGF5UmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzM3OCwxMiAr
MjczODcsMTMgQEAKIAkJCQk3QzY1NzlGMDFFMDA4NTY2MDBFM0EyN0EgLyogSlNBcHBsZVBheUxp
bmVJdGVtLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMURGNUE4RTFGN0VDMDAyMDA1OEE0NzcgLyog
SlNBcHBsZVBheU1lcmNoYW50Q2FwYWJpbGl0eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFGOTI5
NzAxRjhEOUY1QjAwNTIzQUYzIC8qIEpTQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQTFGNkQwMTIxRkUwOTlCNDAwMTgwNzhDIC8qIEpTQXBwbGVQ
YXlNb2RpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTIzMTQxRTAwREJCNDAwNjc3RjIy
IC8qIEpTQXBwbGVQYXlQYXltZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUU5NkE4QjFEMUEw
REREMDBCODY3NjggLyogSlNBcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTdDNjUyMzE2MUUwMERCQjUwMDY3N0YyMiAvKiBKU0FwcGxlUGF5UGF5bWVu
dENvbnRhY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjUyMzE4MUUwMERCQjUwMDY3N0YyMiAv
KiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFOTZBOEQx
RDFBMERERDAwQjg2NzY4IC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kU2VsZWN0ZWRFdmVudC5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJQTFDQkVGNjIxRjlGMDkwNDAwMjhERTdDIC8qIEpTQXBwbGVQ
YXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUExRjZEMDBG
MUZFMDk5OTQwMDE4MDc4QyAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTdDNjUyMzFBMUUwMERCQjUwMDY3N0YyMiAvKiBKU0FwcGxlUGF5UGF5bWVu
dFBhc3MuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjU3OUYyMUUwMDg1NjYwMEUzQTI3QSAvKiBK
U0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUExREY1QThGMUY3
RUMwMDIwMDU4QTQ3NyAvKiBKU0FwcGxlUGF5UmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCkBAIC0z
MDMxMCw3ICszMDMyMCw2IEBACiAJCQkJMzFBNzk1QzgxODg4QkNCNTAwMzgyRjkwIC8qIEFOR0xF
SW5zdGFuY2VkQXJyYXlzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5MDcwN0U2MTIxOUMwNDMw
MEQ5MEU1MSAvKiBBTkdMRVdlYktpdEJyaWRnZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMUY5
Mjk2QTFGOEQ5Q0RCMDA1MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5j
cHAgaW4gU291cmNlcyAqLywKLQkJCQlBMUNCRUY1NDFGOUVFRTc1MDAyOERFN0MgLyogQXBwbGVQ
YXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0QwRUVF
MEUxNDc0M0YzOTAwM0VBRkEyIC8qIEF1ZGlvRGVzdGluYXRpb25JT1MuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQ0Q1NTk2OTExNDc1QjY3ODAwMUQwQkQwIC8qIEF1ZGlvRmlsZVJlYWRlcklPUy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlDREE3OTgyNzE3MEEyNzkxMDBENDVDNTUgLyogQXVkaW9T
ZXNzaW9uSU9TLm1tIGluIFNvdXJjZXMgKi8sCkBAIC0zMDM3NSw3ICszMDM4NCw4IEBACiAJCQkJ
Q0QwNjNGODIxRTIzRkE4OTAwODEyQkUzIC8qIEluaXREYXRhUmVnaXN0cnkuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNkE3Mjc5OEMxRjE2QzI5QzAwM0YzOUI4IC8qIEluc3BlY3RvclNoYWRlclBy
b2dyYW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTFGOTI5NkYxRjhEOUY1QjAwNTIzQUYzIC8q
IEpTQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJ
CQlBMUNCRUY2MTFGOUYwOTA0MDAyOERFN0MgLyogSlNBcHBsZVBheVBheW1lbnRNZXRob2RVcGRh
dGVFdmVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBMUY2RDAxMTFGRTA5OUIyMDAxODA3OEMg
LyogSlNBcHBsZVBheU1vZGlmaWVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUExRjZEMDEwMUZF
MDk5OTYwMDE4MDc4QyAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTM4RUM5M0UxRjk5QkY1QTAwNEQyMkE4IC8qIEpTUXVpY2tUaW1lUGx1Z2lu
UmVwbGFjZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM1QzQ3NzAwOUFDNEQ3MzAwQTZB
QUI0IC8qIEtleUV2ZW50TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RBOThFMEIxNjAzQ0Q2
MDAwRkVBM0IxIC8qIExlZ2FjeUNETS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRO
YW1lcy5oCmluZGV4IDlmYjA0NWRlMTQ2ZWZjMWVkOTljODQ4NWU0NWY5MTkyMWU1MTIxN2QuLjlm
NDk1NzA0ODFiMTkxYWVlNjlkZDk0MGQ3ZThkODIzMTAzODM1NzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
TmFtZXMuaApAQCAtNTMsNyArNTMsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8o
YW5pbWF0aW9uZW5kKSBcCiAgICAgbWFjcm8oYW5pbWF0aW9uaXRlcmF0aW9uKSBcCiAgICAgbWFj
cm8oYW5pbWF0aW9uc3RhcnQpIFwKLSAgICBtYWNybyhhcHBsZXBheXBheW1lbnRtZXRob2RjaGFu
Z2VkKSBcCiAgICAgbWFjcm8oYXBwbGVwYXl2YWxpZGF0ZW1lcmNoYW50KSBcCiAgICAgbWFjcm8o
YXVkaW9lbmQpIFwKICAgICBtYWNybyhhdWRpb3Byb2Nlc3MpIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaW4KaW5kZXggMTg4OTA2OTFjZGIyY2EyYzRjNmMxZTYyN2RjNjkzNDFmYjc2NzZmZi4uMjBi
NWExMzQ5NjRkYWQ2ODczMDY5MThjYmUzZDczZDY5YmZmNWQyOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
TmFtZXMuaW4KQEAgLTQyLDcgKzQyLDYgQEAgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50CiBB
cHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50IGNvbmRpdGlvbmFsPUFQUExFX1BBWQogQXBw
bGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50IGNvbmRpdGlvbmFsPUFQUExFX1BBWQogQXBwbGVQ
YXlQYXltZW50TWV0aG9kU2VsZWN0ZWRFdmVudCBjb25kaXRpb25hbD1BUFBMRV9QQVkKLUFwcGxl
UGF5UGF5bWVudE1ldGhvZFVwZGF0ZUV2ZW50IGNvbmRpdGlvbmFsPUFQUExFX1BBWQogQXBwbGVQ
YXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50IGNvbmRpdGlvbmFsPUFQUExFX1BBWQogQXBw
bGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQgY29uZGl0aW9uYWw9QVBQTEVfUEFZCiBB
cHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudCBjb25kaXRpb25hbD1BUFBMRV9QQVkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwCmluZGV4
IDdlNjc1YzkzOGZlY2RkZTkxZDk5YWYxNWYyOGFmNmFiZmJlMDJiZjUuLmEyMWNiMWY4NTU5NDBi
YzU4YTY2MTMxZTFmMzljNTMzNDI4MjBmNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcApAQCAtMTA1LDYgKzEwNSw0MSBAQCB2b2lk
IE1vY2tQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKGNvbnN0
IFBheW1lbnRNZXJjaGFudFNlcwogICAgIH0pOwogfQogCitzdGF0aWMgQXBwbGVQYXlMaW5lSXRl
bSBjb252ZXJ0KGNvbnN0IEFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpMaW5lSXRlbSYg
bGluZUl0ZW0pCit7CisgICAgQXBwbGVQYXlMaW5lSXRlbSByZXN1bHQ7CisgICAgcmVzdWx0LnR5
cGUgPSBsaW5lSXRlbS50eXBlOworICAgIHJlc3VsdC5sYWJlbCA9IGxpbmVJdGVtLmxhYmVsOwor
ICAgIHJlc3VsdC5hbW91bnQgPSBsaW5lSXRlbS5hbW91bnQ7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KKwordm9pZCBNb2NrUGF5bWVudENvb3JkaW5hdG9yOjp1cGRhdGVUb3RhbEFuZExpbmVJdGVt
cyhjb25zdCBBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXMm
IHRvdGFsQW5kTGluZUl0ZW1zKQoreworICAgIG1fdG90YWwgPSBjb252ZXJ0KHRvdGFsQW5kTGlu
ZUl0ZW1zLnRvdGFsKTsKKyAgICBtX2xpbmVJdGVtcy5jbGVhcigpOworICAgIGZvciAoYXV0byYg
bGluZUl0ZW0gOiB0b3RhbEFuZExpbmVJdGVtcy5saW5lSXRlbXMpCisgICAgICAgIG1fbGluZUl0
ZW1zLmFwcGVuZChjb252ZXJ0KGxpbmVJdGVtKSk7Cit9CisKK3ZvaWQgTW9ja1BheW1lbnRDb29y
ZGluYXRvcjo6Y29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFNo
aXBwaW5nTWV0aG9kVXBkYXRlPiYmIHNoaXBwaW5nTWV0aG9kVXBkYXRlKQoreworICAgIGlmIChz
aGlwcGluZ01ldGhvZFVwZGF0ZSkKKyAgICAgICAgdXBkYXRlVG90YWxBbmRMaW5lSXRlbXMoc2hp
cHBpbmdNZXRob2RVcGRhdGUtPm5ld1RvdGFsQW5kTGluZUl0ZW1zKTsKK30KKwordm9pZCBNb2Nr
UGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihzdGQ6
Om9wdGlvbmFsPFNoaXBwaW5nQ29udGFjdFVwZGF0ZT4mJiBzaGlwcGluZ0NvbnRhY3RVcGRhdGUp
Cit7CisgICAgaWYgKHNoaXBwaW5nQ29udGFjdFVwZGF0ZSkKKyAgICAgICAgdXBkYXRlVG90YWxB
bmRMaW5lSXRlbXMoc2hpcHBpbmdDb250YWN0VXBkYXRlLT5uZXdUb3RhbEFuZExpbmVJdGVtcyk7
Cit9CisgICAgCit2b2lkIE1vY2tQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlUGF5bWVudE1l
dGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFBheW1lbnRNZXRob2RVcGRhdGU+JiYgcGF5bWVu
dE1ldGhvZFVwZGF0ZSkKK3sKKyAgICBpZiAocGF5bWVudE1ldGhvZFVwZGF0ZSkKKyAgICAgICAg
dXBkYXRlVG90YWxBbmRMaW5lSXRlbXMocGF5bWVudE1ldGhvZFVwZGF0ZS0+bmV3VG90YWxBbmRM
aW5lSXRlbXMpOworfQorCiB2b2lkIE1vY2tQYXltZW50Q29vcmRpbmF0b3I6OmNoYW5nZVNoaXBw
aW5nT3B0aW9uKFN0cmluZyYmIHNoaXBwaW5nT3B0aW9uKQogewogICAgIGRpc3BhdGNoSWZTaG93
aW5nKFttYWluRnJhbWUgPSBtYWtlUmVmKG1fbWFpbkZyYW1lKSwgc2hpcHBpbmdPcHRpb24gPSBX
VEZNb3ZlKHNoaXBwaW5nT3B0aW9uKV0oKSBtdXRhYmxlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmgKaW5kZXggYmJmYjM5ODlmODU4YmQzYTJm
OTdiNGQyYjBlMzg3YzYzZGY0MWYyZC4uMzIxNDYzMTllMjI2ZDVhMjI3ZTMyZmFmZTkzNGY1MjJj
NTZjYjFhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENv
b3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3Jk
aW5hdG9yLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAKKyNp
bmNsdWRlICJBcHBsZVBheUxpbmVJdGVtLmgiCiAjaW5jbHVkZSAiTW9ja1BheW1lbnRBZGRyZXNz
LmgiCiAjaW5jbHVkZSAiUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgiCiAKQEAgLTQ1LDYgKzQ2
LDkgQEAgcHVibGljOgogICAgIHZvaWQgYWNjZXB0UGF5bWVudCgpOwogICAgIHZvaWQgY2FuY2Vs
UGF5bWVudCgpOwogCisgICAgY29uc3QgQXBwbGVQYXlMaW5lSXRlbSYgdG90YWwoKSBjb25zdCB7
IHJldHVybiBtX3RvdGFsOyB9CisgICAgY29uc3QgVmVjdG9yPEFwcGxlUGF5TGluZUl0ZW0+JiBs
aW5lSXRlbXMoKSBjb25zdCB7IHJldHVybiBtX2xpbmVJdGVtczsgfQorCiAgICAgdm9pZCByZWYo
KSBjb25zdCB7IH0KICAgICB2b2lkIGRlcmVmKCkgY29uc3QgeyB9CiAKQEAgLTU1LDE2ICs1OSwy
MCBAQCBwcml2YXRlOgogICAgIHZvaWQgb3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmLCBj
b25zdCBTdHJpbmcmLCBXVEY6OkZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYpOwogICAgIGJvb2wgc2hv
d1BheW1lbnRVSShjb25zdCBVUkwmLCBjb25zdCBWZWN0b3I8VVJMPiYsIGNvbnN0IEFwcGxlUGF5
U2Vzc2lvblBheW1lbnRSZXF1ZXN0JikgZmluYWw7CiAgICAgdm9pZCBjb21wbGV0ZU1lcmNoYW50
VmFsaWRhdGlvbihjb25zdCBQYXltZW50TWVyY2hhbnRTZXNzaW9uJikgZmluYWw7Ci0gICAgdm9p
ZCBjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8U2hpcHBpbmdN
ZXRob2RVcGRhdGU+JiYpIGZpbmFsIHsgfQotICAgIHZvaWQgY29tcGxldGVTaGlwcGluZ0NvbnRh
Y3RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxTaGlwcGluZ0NvbnRhY3RVcGRhdGU+JiYpIGZpbmFs
IHsgfQotICAgIHZvaWQgY29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9u
YWw8UGF5bWVudE1ldGhvZFVwZGF0ZT4mJikgZmluYWwgeyB9CisgICAgdm9pZCBjb21wbGV0ZVNo
aXBwaW5nTWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8U2hpcHBpbmdNZXRob2RVcGRhdGU+
JiYpIGZpbmFsOworICAgIHZvaWQgY29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24oc3Rk
OjpvcHRpb25hbDxTaGlwcGluZ0NvbnRhY3RVcGRhdGU+JiYpIGZpbmFsOworICAgIHZvaWQgY29t
cGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8UGF5bWVudE1ldGhvZFVw
ZGF0ZT4mJikgZmluYWw7CiAgICAgdm9pZCBjb21wbGV0ZVBheW1lbnRTZXNzaW9uKHN0ZDo6b3B0
aW9uYWw8UGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQ+JiYpIGZpbmFsOwogICAgIHZvaWQgYWJv
cnRQYXltZW50U2Vzc2lvbigpIGZpbmFsOwogICAgIHZvaWQgY2FuY2VsUGF5bWVudFNlc3Npb24o
KSBmaW5hbDsKICAgICB2b2lkIHBheW1lbnRDb29yZGluYXRvckRlc3Ryb3llZCgpIGZpbmFsOwog
CisgICAgdm9pZCB1cGRhdGVUb3RhbEFuZExpbmVJdGVtcyhjb25zdCBBcHBsZVBheVNlc3Npb25Q
YXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXMmKTsKKwogICAgIE1haW5GcmFtZSYgbV9t
YWluRnJhbWU7CiAgICAgTW9ja1BheW1lbnRBZGRyZXNzIG1fc2hpcHBpbmdBZGRyZXNzOworICAg
IEFwcGxlUGF5TGluZUl0ZW0gbV90b3RhbDsKKyAgICBWZWN0b3I8QXBwbGVQYXlMaW5lSXRlbT4g
bV9saW5lSXRlbXM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbAppbmRleCA5OWViZjgy
YzRmMmM2YWU2M2U1YTVkNzE2YjdiMTYwYTJmNmMwYzExLi4yMzE0ZWVkYjJhZWJjYjYyYzUxYWQy
YjJlYzJjNTdiOWFjNDMwYWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01v
Y2tQYXltZW50Q29vcmRpbmF0b3IuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9j
a1BheW1lbnRDb29yZGluYXRvci5pZGwKQEAgLTMyLDQgKzMyLDcgQEAKICAgICB2b2lkIGNoYW5n
ZVBheW1lbnRNZXRob2QoQXBwbGVQYXlQYXltZW50TWV0aG9kIHBheW1lbnRNZXRob2QpOwogICAg
IHZvaWQgYWNjZXB0UGF5bWVudCgpOwogICAgIHZvaWQgY2FuY2VsUGF5bWVudCgpOworCisgICAg
cmVhZG9ubHkgYXR0cmlidXRlIEFwcGxlUGF5TGluZUl0ZW0gdG90YWw7CisgICAgcmVhZG9ubHkg
YXR0cmlidXRlIHNlcXVlbmNlPEFwcGxlUGF5TGluZUl0ZW0+IGxpbmVJdGVtczsKIH07CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggNDljZjg0MTgyMGM3YjdmYTk5NGNiNzEzMDUzYThlODYyOWQ0MGJjOS4uNTU1MGNhNDcxODA0
NTEyMDAzNDUxNjE0OTkyNmQzZjVmNWJmN2M0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3
LTEyLTEyICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5bWVu
dCBSZXF1ZXN0XSBSZW1vdmUgQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQgYW5kIHVz
ZSBQYXltZW50RGV0YWlsc01vZGlmaWVycyBpbnN0ZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODA3MzcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzM2MDEzMTUyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50RGV0YWlsc01vZGlm
aWVyLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zc2wv
YXBwbGVwYXkvQXBwbGVQYXlQYXltZW50RGV0YWlsc01vZGlmaWVyLmh0dHBzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhv
ZFVwZGF0ZUV2ZW50Lmh0dHBzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVudC5odHRw
cy5odG1sOiBSZW1vdmVkLgorCiAyMDE3LTEyLTEyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KIAogICAgICAgICBOYXZpZ2F0aW9uIHJlcXVlc3RzIHNob3VsZCB1c2UgbmF2aWdh
dGUgZmV0Y2ggbW9kZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBw
bGVwYXkvQXBwbGVQYXlQYXltZW50RGV0YWlsc01vZGlmaWVyLmh0dHBzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudERldGFp
bHNNb2RpZmllci5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTk3YTA5MzE0MzllN2Qy
NzQxN2I1ZGM5NDVjYjVjOWI0NWFhNjg4OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudERldGFpbHNNb2RpZmllci5o
dHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNCBAQAorVGVzdCBQYXltZW50RGV0YWlsc01v
ZGlmaWVyIHdpdGggQXBwbGUgUGF5LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
VGVzdGluZyBQYXltZW50RGV0YWlsc01vZGlmaWVyIGFmdGVyIHNlbGVjdGluZyBhICdjcmVkaXQn
IHBheW1lbnQgbWV0aG9kIHR5cGUuCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5h
dG9yLnRvdGFsLmxhYmVsIGlzICdDcmVkaXQgdG90YWwgb3ZlcnJpZGUnCitQQVNTIGludGVybmFs
cy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnRvdGFsLmFtb3VudCBpcyAnMTUuMDAnCitQQVNTIGlu
dGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmxpbmVJdGVtcy5sZW5ndGggaXMgMgorUEFT
UyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5saW5lSXRlbXNbMF0ubGFiZWwgaXMg
J0l0ZW0nCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmxpbmVJdGVtc1sw
XS5hbW91bnQgaXMgJzEwLjAwJworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRv
ci5saW5lSXRlbXNbMV0ubGFiZWwgaXMgJ0NyZWRpdCBzdXJjaGFyZ2UnCitQQVNTIGludGVybmFs
cy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmxpbmVJdGVtc1sxXS5hbW91bnQgaXMgJzUuMDAnCisK
K1Rlc3RpbmcgUGF5bWVudERldGFpbHNNb2RpZmllciBhZnRlciBzZWxlY3RpbmcgYSAnZGViaXQn
IHBheW1lbnQgbWV0aG9kIHR5cGUuCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5h
dG9yLnRvdGFsLmxhYmVsIGlzICdEZWJpdCB0b3RhbCBvdmVycmlkZScKK1BBU1MgaW50ZXJuYWxz
Lm1vY2tQYXltZW50Q29vcmRpbmF0b3IudG90YWwuYW1vdW50IGlzICcxMy4wMCcKK1BBU1MgaW50
ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IubGluZUl0ZW1zLmxlbmd0aCBpcyAyCitQQVNT
IGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmxpbmVJdGVtc1swXS5sYWJlbCBpcyAn
SXRlbScKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IubGluZUl0ZW1zWzBd
LmFtb3VudCBpcyAnMTAuMDAnCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9y
LmxpbmVJdGVtc1sxXS5sYWJlbCBpcyAnRGViaXQgc3VyY2hhcmdlJworUEFTUyBpbnRlcm5hbHMu
bW9ja1BheW1lbnRDb29yZGluYXRvci5saW5lSXRlbXNbMV0uYW1vdW50IGlzICczLjAwJworCitU
ZXN0aW5nIFBheW1lbnREZXRhaWxzTW9kaWZpZXIgYWZ0ZXIgc2VsZWN0aW5nIGFuIHVubW9kaWZp
ZWQgcGF5bWVudCBtZXRob2QgdHlwZS4KK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRp
bmF0b3IudG90YWwubGFiZWwgaXMgJ1RvdGFsJworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRD
b29yZGluYXRvci50b3RhbC5hbW91bnQgaXMgJzEwLjAwJworUEFTUyBpbnRlcm5hbHMubW9ja1Bh
eW1lbnRDb29yZGluYXRvci5saW5lSXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaW50ZXJuYWxzLm1v
Y2tQYXltZW50Q29vcmRpbmF0b3IubGluZUl0ZW1zWzBdLmxhYmVsIGlzICdJdGVtJworUEFTUyBp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5saW5lSXRlbXNbMF0uYW1vdW50IGlzICcx
MC4wMCcKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxl
UGF5UGF5bWVudERldGFpbHNNb2RpZmllci5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50RGV0YWlsc01vZGlmaWVyLmh0dHBzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNmEyMjA2NTQ2NDlkOTE5MjY4NmJjN2QwZTI3MjYwNWUzODNmMThhNQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0Fw
cGxlUGF5UGF5bWVudERldGFpbHNNb2RpZmllci5odHRwcy5odG1sCkBAIC0wLDAgKzEsMTg0IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy9wYXltZW50LXJlcXVlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGVzdCBQYXltZW50RGV0YWlsc01v
ZGlmaWVyIHdpdGggQXBwbGUgUGF5LiIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7
CisKK2Z1bmN0aW9uIHZhbGlkUGF5bWVudE1ldGhvZCgpIHsKKyAgICByZXR1cm4geworICAgICAg
ICBzdXBwb3J0ZWRNZXRob2RzOiAnaHR0cHM6Ly9hcHBsZS5jb20vYXBwbGUtcGF5JywKKyAgICAg
ICAgZGF0YTogeworICAgICAgICAgICAgdmVyc2lvbjogMiwKKyAgICAgICAgICAgIG1lcmNoYW50
SWRlbnRpZmllcjogJycsCisgICAgICAgICAgICBjb3VudHJ5Q29kZTogJ1VTJywKKyAgICAgICAg
ICAgIHN1cHBvcnRlZE5ldHdvcmtzOiBbJ3Zpc2EnLCAnbWFzdGVyQ2FyZCddLAorICAgICAgICAg
ICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6IFsnc3VwcG9ydHMzRFMnXSwKKyAgICAgICAgfSwKKyAg
ICB9Cit9CisKK2Z1bmN0aW9uIHZhbGlkUGF5bWVudERldGFpbHMoKSB7CisgICAgcmV0dXJuIHsK
KyAgICAgICAgdG90YWw6IHsKKyAgICAgICAgICAgIGxhYmVsOiAnVG90YWwnLAorICAgICAgICAg
ICAgYW1vdW50OiB7CisgICAgICAgICAgICAgICAgY3VycmVuY3k6ICdVU0QnLAorICAgICAgICAg
ICAgICAgIHZhbHVlOiAnMTAuMDAnLAorICAgICAgICAgICAgfSwKKyAgICAgICAgfSwKKyAgICAg
ICAgZGlzcGxheUl0ZW1zOiBbeworICAgICAgICAgICAgbGFiZWw6ICdJdGVtJywKKyAgICAgICAg
ICAgIGFtb3VudDogeworICAgICAgICAgICAgICAgIGN1cnJlbmN5OiAnVVNEJywKKyAgICAgICAg
ICAgICAgICB2YWx1ZTogJzEwLjAwJywKKyAgICAgICAgICAgIH0sCisgICAgICAgIH1dLAorICAg
ICAgICBtb2RpZmllcnM6IFt7CisgICAgICAgICAgICBzdXBwb3J0ZWRNZXRob2RzOiAnaHR0cHM6
Ly9hcHBsZS5jb20vYXBwbGUtcGF5JywKKyAgICAgICAgICAgIHRvdGFsOiB7CisgICAgICAgICAg
ICAgICAgbGFiZWw6ICdDcmVkaXQgdG90YWwgb3ZlcnJpZGUnLAorICAgICAgICAgICAgICAgIGFt
b3VudDogeworICAgICAgICAgICAgICAgICAgICBjdXJyZW5jeTogJ1VTRCcsCisgICAgICAgICAg
ICAgICAgICAgIHZhbHVlOiAnMTUuMDAnLAorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAg
ICB9LAorICAgICAgICAgICAgYWRkaXRpb25hbERpc3BsYXlJdGVtczogW3sKKyAgICAgICAgICAg
ICAgICBsYWJlbDogJ0NyZWRpdCBzdXJjaGFyZ2UnLAorICAgICAgICAgICAgICAgIGFtb3VudDog
eworICAgICAgICAgICAgICAgICAgICBjdXJyZW5jeTogJ1VTRCcsCisgICAgICAgICAgICAgICAg
ICAgIHZhbHVlOiAnNS4wMCcsCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIH1dLAor
ICAgICAgICAgICAgZGF0YTogeworICAgICAgICAgICAgICAgIHBheW1lbnRNZXRob2RUeXBlOiAn
Y3JlZGl0JywKKyAgICAgICAgICAgIH0sCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgIHN1cHBv
cnRlZE1ldGhvZHM6ICdodHRwczovL2FwcGxlLmNvbS9hcHBsZS1wYXknLAorICAgICAgICAgICAg
dG90YWw6IHsKKyAgICAgICAgICAgICAgICBsYWJlbDogJ0R1cGxpY2F0ZSBjcmVkaXQgdG90YWwg
b3ZlcnJpZGUnLAorICAgICAgICAgICAgICAgIGFtb3VudDogeworICAgICAgICAgICAgICAgICAg
ICBjdXJyZW5jeTogJ1VTRCcsCisgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnMTcuMDAnLAor
ICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgYWRkaXRpb25h
bERpc3BsYXlJdGVtczogW3sKKyAgICAgICAgICAgICAgICBsYWJlbDogJ0R1cGxpY2F0ZSBjcmVk
aXQgc3VyY2hhcmdlJywKKyAgICAgICAgICAgICAgICBhbW91bnQ6IHsKKyAgICAgICAgICAgICAg
ICAgICAgY3VycmVuY3k6ICdVU0QnLAorICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJzcuMDAn
LAorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICB9XSwKKyAgICAgICAgICAgIGRhdGE6
IHsKKyAgICAgICAgICAgICAgICBwYXltZW50TWV0aG9kVHlwZTogJ2NyZWRpdCcsCisgICAgICAg
ICAgICB9LAorICAgICAgICB9LCB7CisgICAgICAgICAgICBzdXBwb3J0ZWRNZXRob2RzOiAnaHR0
cHM6Ly9hcHBsZS5jb20vYXBwbGUtcGF5JywKKyAgICAgICAgICAgIHRvdGFsOiB7CisgICAgICAg
ICAgICAgICAgbGFiZWw6ICdEZWJpdCB0b3RhbCBvdmVycmlkZScsCisgICAgICAgICAgICAgICAg
YW1vdW50OiB7CisgICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5OiAnVVNEJywKKyAgICAgICAg
ICAgICAgICAgICAgdmFsdWU6ICcxMy4wMCcsCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgIH0sCisgICAgICAgICAgICBhZGRpdGlvbmFsRGlzcGxheUl0ZW1zOiBbeworICAgICAgICAg
ICAgICAgIGxhYmVsOiAnRGViaXQgc3VyY2hhcmdlJywKKyAgICAgICAgICAgICAgICBhbW91bnQ6
IHsKKyAgICAgICAgICAgICAgICAgICAgY3VycmVuY3k6ICdVU0QnLAorICAgICAgICAgICAgICAg
ICAgICB2YWx1ZTogJzMuMDAnLAorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICB9XSwK
KyAgICAgICAgICAgIGRhdGE6IHsKKyAgICAgICAgICAgICAgICBwYXltZW50TWV0aG9kVHlwZTog
J2RlYml0JywKKyAgICAgICAgICAgIH0sCisgICAgICAgIH1dLAorICAgIH0KK30KKworYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdHMoKSB7CisgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJl
amVjdCkgPT4geworICAgICAgICBkZWJ1ZygiVGVzdGluZyBQYXltZW50RGV0YWlsc01vZGlmaWVy
IGFmdGVyIHNlbGVjdGluZyBhICdjcmVkaXQnIHBheW1lbnQgbWV0aG9kIHR5cGUuIik7CisKKyAg
ICAgICAgdmFyIHBheW1lbnRSZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFt2YWxpZFBheW1l
bnRNZXRob2QoKV0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7CisKKyAgICAgICAgYWN0aXZhdGVU
aGVuKCgpID0+IHsKKyAgICAgICAgICAgIHBheW1lbnRSZXF1ZXN0LnNob3coKS50aGVuKChyZXNw
b25zZSkgPT4geworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1l
bnRDb29yZGluYXRvci50b3RhbC5sYWJlbCIsICInQ3JlZGl0IHRvdGFsIG92ZXJyaWRlJyIpOwor
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRv
ci50b3RhbC5hbW91bnQiLCAiJzE1LjAwJyIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5saW5lSXRlbXMubGVuZ3RoIiwgIjIiKTsK
KyAgICAgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0
b3IubGluZUl0ZW1zWzBdLmxhYmVsIiwgIidJdGVtJyIpOworICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5saW5lSXRlbXNbMF0uYW1vdW50
IiwgIicxMC4wMCciKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQ
YXltZW50Q29vcmRpbmF0b3IubGluZUl0ZW1zWzFdLmxhYmVsIiwgIidDcmVkaXQgc3VyY2hhcmdl
JyIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29y
ZGluYXRvci5saW5lSXRlbXNbMV0uYW1vdW50IiwgIic1LjAwJyIpOworICAgICAgICAgICAgICAg
IHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7CisgICAgICAgICAgICAgICAgcmVzb2x2ZSgp
OworICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIGludGVybmFscy5tb2NrUGF5bWVudENv
b3JkaW5hdG9yLmNoYW5nZVBheW1lbnRNZXRob2QoeyB0eXBlOiAnY3JlZGl0JyB9KTsKKyAgICAg
ICAgICAgIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmFjY2VwdFBheW1lbnQoKTsK
KyAgICAgICAgfSk7CisgICAgfSk7CisgICAgZGVidWcoIiIpOworICAgIAorICAgIGF3YWl0IG5l
dyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgZGVidWcoIlRlc3Rpbmcg
UGF5bWVudERldGFpbHNNb2RpZmllciBhZnRlciBzZWxlY3RpbmcgYSAnZGViaXQnIHBheW1lbnQg
bWV0aG9kIHR5cGUuIik7CisKKyAgICAgICAgdmFyIHBheW1lbnRSZXF1ZXN0ID0gbmV3IFBheW1l
bnRSZXF1ZXN0KFt2YWxpZFBheW1lbnRNZXRob2QoKV0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7
CisKKyAgICAgICAgYWN0aXZhdGVUaGVuKCgpID0+IHsKKyAgICAgICAgICAgIHBheW1lbnRSZXF1
ZXN0LnNob3coKS50aGVuKChyZXNwb25zZSkgPT4geworICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci50b3RhbC5sYWJlbCIsICInRGViaXQg
dG90YWwgb3ZlcnJpZGUnIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5t
b2NrUGF5bWVudENvb3JkaW5hdG9yLnRvdGFsLmFtb3VudCIsICInMTMuMDAnIik7CisgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmxpbmVJ
dGVtcy5sZW5ndGgiLCAiMiIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMu
bW9ja1BheW1lbnRDb29yZGluYXRvci5saW5lSXRlbXNbMF0ubGFiZWwiLCAiJ0l0ZW0nIik7Cisg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9y
LmxpbmVJdGVtc1swXS5hbW91bnQiLCAiJzEwLjAwJyIpOworICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5saW5lSXRlbXNbMV0ubGFiZWwi
LCAiJ0RlYml0IHN1cmNoYXJnZSciKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJu
YWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IubGluZUl0ZW1zWzFdLmFtb3VudCIsICInMy4wMCci
KTsKKyAgICAgICAgICAgICAgICByZXNwb25zZS5jb21wbGV0ZSgic3VjY2VzcyIpOworICAgICAg
ICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICBpbnRl
cm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5jaGFuZ2VQYXltZW50TWV0aG9kKHsgdHlwZTog
J2RlYml0JyB9KTsKKyAgICAgICAgICAgIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9y
LmFjY2VwdFBheW1lbnQoKTsKKyAgICAgICAgfSk7CisgICAgfSk7CisgICAgZGVidWcoIiIpOwor
CisgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICBk
ZWJ1ZygiVGVzdGluZyBQYXltZW50RGV0YWlsc01vZGlmaWVyIGFmdGVyIHNlbGVjdGluZyBhbiB1
bm1vZGlmaWVkIHBheW1lbnQgbWV0aG9kIHR5cGUuIik7CisKKyAgICAgICAgdmFyIHBheW1lbnRS
ZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFt2YWxpZFBheW1lbnRNZXRob2QoKV0sIHZhbGlk
UGF5bWVudERldGFpbHMoKSk7CisKKyAgICAgICAgYWN0aXZhdGVUaGVuKCgpID0+IHsKKyAgICAg
ICAgICAgIHBheW1lbnRSZXF1ZXN0LnNob3coKS50aGVuKChyZXNwb25zZSkgPT4geworICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci50b3Rh
bC5sYWJlbCIsICInVG90YWwnIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFs
cy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnRvdGFsLmFtb3VudCIsICInMTAuMDAnIik7CisgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmxp
bmVJdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5h
bHMubW9ja1BheW1lbnRDb29yZGluYXRvci5saW5lSXRlbXNbMF0ubGFiZWwiLCAiJ0l0ZW0nIik7
CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5h
dG9yLmxpbmVJdGVtc1swXS5hbW91bnQiLCAiJzEwLjAwJyIpOworICAgICAgICAgICAgICAgIHJl
c3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7CisgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwor
ICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIGludGVybmFscy5tb2NrUGF5bWVudENvb3Jk
aW5hdG9yLmNoYW5nZVBheW1lbnRNZXRob2QoeyB0eXBlOiAncHJlcGFpZCcgfSk7CisgICAgICAg
ICAgICBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5hY2NlcHRQYXltZW50KCk7Cisg
ICAgICAgIH0pOworICAgIH0pOworICAgIGRlYnVnKCIiKTsKKworICAgIGZpbmlzaEpTVGVzdCgp
OworfQorCitydW5UZXN0cygpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9k
VXBkYXRlRXZlbnQuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
c2wvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuaHR0cHMtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MDdiMThjNDU3ODFhM2JkMzVh
YmU1MzZlNmVkN2Q3MjE0NDlkM2ZlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5
UGF5bWVudE1ldGhvZFVwZGF0ZUV2ZW50Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDE5ICswLDAgQEAKLVRlc3QgdGhlIGFwcGxlcGF5cGF5bWVudG1ldGhvZGNoYW5nZWQg
ZXZlbnQuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1UZXN0aW5nIEFwcGxlUGF5
TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQKLQotUEFTUyBldmVudC5wYXltZW50TWV0aG9kLmRpc3Bs
YXlOYW1lIGlzIGV4cGVjdGVkUGF5bWVudE1ldGhvZC5kaXNwbGF5TmFtZQotUEFTUyBldmVudC5w
YXltZW50TWV0aG9kLm5ldHdvcmsgaXMgZXhwZWN0ZWRQYXltZW50TWV0aG9kLm5ldHdvcmsKLVBB
U1MgZXZlbnQucGF5bWVudE1ldGhvZC50eXBlIGlzIGV4cGVjdGVkUGF5bWVudE1ldGhvZC50eXBl
Ci1QQVNTIGV2ZW50LnBheW1lbnRNZXRob2QucGF5bWVudFBhc3MucHJpbWFyeUFjY291bnRJZGVu
dGlmaWVyIGlzIGV4cGVjdGVkUGF5bWVudE1ldGhvZC5wYXltZW50UGFzcy5wcmltYXJ5QWNjb3Vu
dElkZW50aWZpZXIKLVBBU1MgZXZlbnQucGF5bWVudE1ldGhvZC5wYXltZW50UGFzcy5wcmltYXJ5
QWNjb3VudE51bWJlclN1ZmZpeCBpcyBleHBlY3RlZFBheW1lbnRNZXRob2QucGF5bWVudFBhc3Mu
cHJpbWFyeUFjY291bnROdW1iZXJTdWZmaXgKLVBBU1MgZXZlbnQucGF5bWVudE1ldGhvZC5wYXlt
ZW50UGFzcy5kZXZpY2VBY2NvdW50SWRlbnRpZmllciBpcyBleHBlY3RlZFBheW1lbnRNZXRob2Qu
cGF5bWVudFBhc3MuZGV2aWNlQWNjb3VudElkZW50aWZpZXIKLVBBU1MgZXZlbnQucGF5bWVudE1l
dGhvZC5wYXltZW50UGFzcy5kZXZpY2VBY2NvdW50TnVtYmVyU3VmZml4IGlzIGV4cGVjdGVkUGF5
bWVudE1ldGhvZC5wYXltZW50UGFzcy5kZXZpY2VBY2NvdW50TnVtYmVyU3VmZml4Ci1QQVNTIGV2
ZW50LnBheW1lbnRNZXRob2QucGF5bWVudFBhc3MuYWN0aXZhdGlvblN0YXRlIGlzIGV4cGVjdGVk
UGF5bWVudE1ldGhvZC5wYXltZW50UGFzcy5hY3RpdmF0aW9uU3RhdGUKLVBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVF
dmVudC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBw
bGVQYXlQYXltZW50TWV0aG9kVXBkYXRlRXZlbnQuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNjQ2NGI5OWRiMjRkNjgzOGY1ZTBjZmE3ZDVlZDNhYzc1MDA5YzM2NS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVu
dC5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsODQgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgY2hhcnNldD0idXRmLTgiPgotPHNjcmlwdCBzcmM9
Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvcGF5bWVudC1yZXF1ZXN0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNj
cmlwdD4KLQotZGVzY3JpcHRpb24oIlRlc3QgdGhlIGFwcGxlcGF5cGF5bWVudG1ldGhvZGNoYW5n
ZWQgZXZlbnQuIik7Ci0KLXdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotZnVuY3Rpb24g
dmFsaWRQYXltZW50TWV0aG9kKCkgewotICAgIHJldHVybiB7Ci0gICAgICAgIHN1cHBvcnRlZE1l
dGhvZHM6ICdodHRwczovL2FwcGxlLmNvbS9hcHBsZS1wYXknLAotICAgICAgICBkYXRhOiB7Ci0g
ICAgICAgICAgICB2ZXJzaW9uOiAyLAotICAgICAgICAgICAgbWVyY2hhbnRJZGVudGlmaWVyOiAn
JywKLSAgICAgICAgICAgIGNvdW50cnlDb2RlOiAnVVMnLAotICAgICAgICAgICAgc3VwcG9ydGVk
TmV0d29ya3M6IFsndmlzYScsICdtYXN0ZXJDYXJkJ10sCi0gICAgICAgICAgICBtZXJjaGFudENh
cGFiaWxpdGllczogWydzdXBwb3J0czNEUyddLAotICAgICAgICB9LAotICAgIH0KLX0KLQotZnVu
Y3Rpb24gdmFsaWRQYXltZW50RGV0YWlscygpIHsKLSAgICByZXR1cm4gewotICAgICAgICB0b3Rh
bDogeyBsYWJlbDogJ1lvdXIgbGFiZWwnLCBhbW91bnQ6IHsgY3VycmVuY3k6ICdVU0QnLCB2YWx1
ZTogJzEwLjAwJyB9IH0sCi0gICAgfQotfQotCi1hc3luYyBmdW5jdGlvbiBnbygpIHsKLSAgICBk
ZWJ1ZygiVGVzdGluZyBBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Iik7Ci0gICAgZGVi
dWcoIiIpOwotCi0gICAgZXhwZWN0ZWRQYXltZW50TWV0aG9kID0gewotICAgICAgICBkaXNwbGF5
TmFtZTogJ3Rlc3QnLAotICAgICAgICBuZXR3b3JrOiAndGVzdCcsCi0gICAgICAgIHR5cGU6ICdw
cmVwYWlkJywKLSAgICAgICAgcGF5bWVudFBhc3M6IHsKLSAgICAgICAgICAgIHByaW1hcnlBY2Nv
dW50SWRlbnRpZmllcjogJ3Rlc3QnLAotICAgICAgICAgICAgcHJpbWFyeUFjY291bnROdW1iZXJT
dWZmaXg6ICd0ZXN0JywKLSAgICAgICAgICAgIGRldmljZUFjY291bnRJZGVudGlmaWVyOiAndGVz
dCcsCi0gICAgICAgICAgICBkZXZpY2VBY2NvdW50TnVtYmVyU3VmZml4OiAndGVzdCcsCi0gICAg
ICAgICAgICBhY3RpdmF0aW9uU3RhdGU6ICdyZXF1aXJlc0FjdGl2YXRpb24nLAotICAgICAgICB9
LAotICAgIH07Ci0KLSAgICB2YXIgcGF5bWVudFJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3Qo
W3ZhbGlkUGF5bWVudE1ldGhvZCgpXSwgdmFsaWRQYXltZW50RGV0YWlscygpKTsKLSAgICBwYXlt
ZW50UmVxdWVzdC5vbmFwcGxlcGF5cGF5bWVudG1ldGhvZGNoYW5nZWQgPSAoZXZlbnQpID0+IHsK
LSAgICAgICAgc2hvdWxkQmUoImV2ZW50LnBheW1lbnRNZXRob2QuZGlzcGxheU5hbWUiLCAiZXhw
ZWN0ZWRQYXltZW50TWV0aG9kLmRpc3BsYXlOYW1lIik7Ci0gICAgICAgIHNob3VsZEJlKCJldmVu
dC5wYXltZW50TWV0aG9kLm5ldHdvcmsiLCAiZXhwZWN0ZWRQYXltZW50TWV0aG9kLm5ldHdvcmsi
KTsKLSAgICAgICAgc2hvdWxkQmUoImV2ZW50LnBheW1lbnRNZXRob2QudHlwZSIsICJleHBlY3Rl
ZFBheW1lbnRNZXRob2QudHlwZSIpOwotICAgICAgICBzaG91bGRCZSgiZXZlbnQucGF5bWVudE1l
dGhvZC5wYXltZW50UGFzcy5wcmltYXJ5QWNjb3VudElkZW50aWZpZXIiLCAiZXhwZWN0ZWRQYXlt
ZW50TWV0aG9kLnBheW1lbnRQYXNzLnByaW1hcnlBY2NvdW50SWRlbnRpZmllciIpOwotICAgICAg
ICBzaG91bGRCZSgiZXZlbnQucGF5bWVudE1ldGhvZC5wYXltZW50UGFzcy5wcmltYXJ5QWNjb3Vu
dE51bWJlclN1ZmZpeCIsICJleHBlY3RlZFBheW1lbnRNZXRob2QucGF5bWVudFBhc3MucHJpbWFy
eUFjY291bnROdW1iZXJTdWZmaXgiKTsKLSAgICAgICAgc2hvdWxkQmUoImV2ZW50LnBheW1lbnRN
ZXRob2QucGF5bWVudFBhc3MuZGV2aWNlQWNjb3VudElkZW50aWZpZXIiLCAiZXhwZWN0ZWRQYXlt
ZW50TWV0aG9kLnBheW1lbnRQYXNzLmRldmljZUFjY291bnRJZGVudGlmaWVyIik7Ci0gICAgICAg
IHNob3VsZEJlKCJldmVudC5wYXltZW50TWV0aG9kLnBheW1lbnRQYXNzLmRldmljZUFjY291bnRO
dW1iZXJTdWZmaXgiLCAiZXhwZWN0ZWRQYXltZW50TWV0aG9kLnBheW1lbnRQYXNzLmRldmljZUFj
Y291bnROdW1iZXJTdWZmaXgiKTsKLSAgICAgICAgc2hvdWxkQmUoImV2ZW50LnBheW1lbnRNZXRo
b2QucGF5bWVudFBhc3MuYWN0aXZhdGlvblN0YXRlIiwgImV4cGVjdGVkUGF5bWVudE1ldGhvZC5w
YXltZW50UGFzcy5hY3RpdmF0aW9uU3RhdGUiKTsKLQotICAgICAgICBkb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCJidXR0b24iKS5yZW1vdmUoKTsKLSAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAg
fTsKLQotICAgIGFjdGl2YXRlVGhlbigoKSA9PiB7Ci0gICAgICAgIHBheW1lbnRSZXF1ZXN0LnNo
b3coKTsKLSAgICAgICAgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuY2hhbmdlUGF5
bWVudE1ldGhvZChleHBlY3RlZFBheW1lbnRNZXRob2QpOwotICAgIH0pOwotfQotCi13aW5kb3cu
b25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIGJ1dHRvbiA9IGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoImJ1dHRvbiIpOwotICAgIGxldCB4ID0gYnV0dG9uLm9mZnNldExlZnQgKyAyOwotICAg
IGxldCB5ID0gYnV0dG9uLm9mZnNldFRvcCArIDI7Ci0gICAgVUlIZWxwZXIuYWN0aXZhdGVBdCh4
LCB5KTsKLX0KLQotPC9zY3JpcHQ+Ci08YnV0dG9uIG9uY2xpY2s9J2dvKCknPkdvPC9idXR0b24+
Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>